ffDiaporama/0000777000175000001440000000000012277064424013214 5ustar dominiqueusersffDiaporama/readme.txt0000777000175000001440000002476212275647364015240 0ustar dominiqueusers************************************************** * FFDIAPORAMA 2.1 - trunk * * readme.txt on 24/11/2013 ************************************************** ffDiaporama is a tools to make diaporama as video ffDiaporama is a Free Software (Open Source) and is distributed under the GNU General Public License (GPL) version 2 See authors.txt for more copyright and credits information Index: 1-General purposes about building ffDiaporama for Linux 2-General purposes about libav and ffmpeg 3-Build ffDiaporama for Ubuntu/LinuxMint (Ubuntu based version) 4-Build ffDiaporama for openSUSE 5-Build ffDiaporama for Fedora 6-Build ffDiaporama for Windows General purposes about building ffDiaporama for Linux ----------------------------------------------------- In general: Once a system has Qt 5, it was this version of Qt that is preferred. If a system has ffmpeg, ffmpeg is preferred to libav. If a system has only libav 0.8.x, then the libtag library must also be installed. Notes: In previous ffDiaporama versions the QImageBlitz library was used. This library is provided by most Linux distributions in Qt 4 release only. So, in this ffDiaporama version, a Qt 4/Qt 5 version of QImageBlitz was built and integrated directly into the code. Then, this dependence is no longer necessary. The PREFIX variable used in the following command can take three different values​​: /usr to make the application compatible with installation in /usr/bin for the binary and /usr/share/ffDiaporama for data /opt to make the application compatible with installation in /opt/bin for the binary and /opt/share/ffDiaporama for data /usr/local to make the application compatible with installation in /usr/local/bin for the binary and /usr/local/share/ffDiaporama for data General purposes about libav and ffmpeg --------------------------------------- The following table list versions of libav supported with ffDiaporama LIBAV LIBAVUTIL LIBAVCODEC LIBAVFORMAT LIBAVDEVICE LIBAVFILTER LIBSWSCALE LIBAVRESAMPLE 0.8.x 51.22.1 53.35.0 53.21.1 53.2.0 2.15.0 2.1.0 - 9.x 52.3.0 54.35.0 54.20.3 53.2.0 3.3.0 2.1.1 1.0.1 Note: support of version 9.x is actually partial The following table list versions of ffmpeg supported with ffDiaporama FFMPEG LIBAVUTIL LIBAVCODEC LIBAVFORMAT LIBAVDEVICE LIBAVFILTER LIBSWSCALE LIBSWRESAMPLE 1.2.3 52,18,100 54,92,100 54,63,104 54,3,103 3,42,103 2,2,100 0,17,102 2.0.1 52,38,100 55,18,102 55,12,100 55,3,100 3,79,101 2,3,100 0,17,102 2.1 52.48.100 55.39.100 55.19.104 55.5.100 3.90.100 2.5.101 0.17.104 Build ffDiaporama for Ubuntu/LinuxMint (Ubuntu based version) ------------------------------------------------------------- Version 12.04 and 12.10 (Qt 4.8.1/Libav 0.8.9 on 15/11/2013) Installation prerequisites: sudo apt-get install build-essential sudo apt-get install qt4-qmake libqt4-dev libqt4-sql-sqlite sudo apt-get install libavutil-dev libavformat-dev libavcodec-dev libavdevice-dev libavfilter-dev libswscale-dev sudo apt-get install libsdl-image1.2-dev libsdl-mixer1.2-dev libexiv2-dev libtag1-dev Compilation: qmake-qt4 ffDiaporama.pro /PREFIX=/usr make Installation: sudo make install Version 13.04 (Qt 5.01/Libav 0.8.9) and Version 13.10 (Qt 5.02/Libav 0.8.9) Installation prerequisites: sudo apt-get install build-essential sudo apt-get install qt5-qmake qt5-default qttools5-dev qttools5-dev-tools libqt5svg5-dev libqt5help5 libqt5sql5-sqlite qt5-image-formats-plugins sudo apt-get install libavutil-dev libavformat-dev libavcodec-dev libavdevice-dev libavfilter-dev libswscale-dev sudo apt-get install libsdl-image1.2-dev libsdl-mixer1.2-dev libexiv2-dev libtag1-dev Compilation: qmake ffDiaporama.pro /PREFIX=/usr make Installation: sudo make install Version 14.04 (Qt 5.02/Libav 9.10) Installation prerequisites: sudo apt-get install build-essential sudo apt-get install qt5-qmake qt5-default qttools5-dev qttools5-dev-tools libqt5svg5-dev libqt5help5 libqt5sql5-sqlite qt5-image-formats-plugins sudo apt-get install libavutil-dev libavformat-dev libavcodec-dev libavdevice-dev libavfilter-dev libswscale-dev libavresample-dev sudo apt-get install libsdl-image1.2-dev libsdl-mixer1.2-dev libexiv2-dev Compilation: qmake ffDiaporama.pro /PREFIX=/usr make Installation: sudo make install NOTE: For users who want to use an up to date ffmpeg version instead of outdated libav 0.8, on Ubuntu 13.04/13.10, it is possible to use the Sam Rog PPA. To do this: -Install prerequisites as describe above -Add this ppa: https://launchpad.net/~samrog131/+archive/ppa -Add this complementaries prerequisites sudo apt-get install ffmpeg-real libavcodec-ffmpeg-dev libavdevice-ffmpeg-dev libavfilter-ffmpeg-dev libavformat-ffmpeg-dev \ libavutil-ffmpeg-dev libpostproc-ffmpeg-dev libswresample-ffmpeg-dev libswscale-ffmpeg-dev -For Compilation and Installation use instructions as describe above WARNING: Actual ffmpeg version proposed on the samrog ppa is the 2.1.0 This version is unstable and may cause infinite loop reading some videos Build ffDiaporama for openSUSE ------------------------------ Version openSUSE 12.3 (Qt 4.8.4/ffmpeg 2.1) Installation prerequisites: sudo zypper in make gcc build kernel-desktop-devel sudo zypper in libSDL-1_2-0 libSDL_mixer-1_2-0 libSDL_mixer-devel sudo zypper in ffmpeg libffmpeg-devel libSDL-devel sudo zypper in exiv2 libexiv2-devel sudo zypper in libqt4 libqt4-devel Compilation: qmake ffDiaporama.pro /PREFIX=/usr make Installation: sudo make install Version openSUSE 13.1 (Qt 5.1.1/ffmpeg 2.1) Installation prerequisites: sudo zypper in make gcc build kernel-desktop-devel sudo zypper in libSDL-1_2-0 libSDL_mixer-1_2-0 libSDL_mixer-devel sudo zypper in ffmpeg libffmpeg-devel libSDL-devel sudo zypper in exiv2 libexiv2-devel sudo zypper in libqt5-qtbase libQt5Gui5 libQt5Widgets5 libQt5Svg5 libQt5Sql5 libqt5-sql-sqlite libqt5-qtimageformats sudo zypper in libqt5-qtbase-devel libqt5-qttools libqt5-qttools-devel Compilation: qmake-qt5 ffDiaporama.pro /PREFIX=/usr make Installation: sudo make install Build ffDiaporama for Fedora ---------------------------- Fedora 19 (Qt 5.1.1/ffmpeg 1.2.4) and Fedora 20 (Qt 5.2.0/ffmpeg 2.1.1) Installation prerequisites: sudo yum groupinstall development-tools sudo yum install gcc-c++ sudo yum install qt5-qtbase-devel qt5-qttools-devel qt5-qtsvg-devel qt5-qtbase qt5-qttools qt5-qtsvg qt5-qtimageformats sudo yum install ffmpeg ffmpeg-devel sudo yum install SDL SDL-devel SDL_mixer-devel SDL_mixer sudo yum install exiv2 exiv2-devel Compilation: qmake-qt5 ffDiaporama.pro /PREFIX=/usr make Installation: sudo make install Build ffDiaporama for Windows ----------------------------- Prerequisites: Visual studio express: Visual studio express 2012 from Microsoft (http://download.microsoft.com/download/1/F/5/1F519CC5-0B90-4EA3-8159-33BFB97EF4D9/VS2012_WDX_ENU.iso) Microsoft SDK: Microsoft Software Development kit (SDK Windows for Windows 8) from Microsoft (http://msdn.microsoft.com/fr-fr/library/windows/desktop/hh852363.aspx) QT: 32 bits version: Qt 5.1.1 for Windows 32-bit (VS 2012 without OpenGL) from Digia (http://download.qt-project.org/official_releases/qt/5.1/5.1.1/qt-windows-opensource-5.1.1-msvc2012-x86-offline.exe) 64 bits version: Qt 5.1.1 for Windows 64-bit (VS 2012 without OpenGL) from Digia (http://download.qt-project.org/official_releases/qt/5.1/5.1.1/qt-windows-opensource-5.1.1-msvc2012-x86_64-offline.exe) ffmpeg: 32 bits version (2.1): ffmpeg win32 shared from zeranoe web site (http://ffmpeg.zeranoe.com/builds/win32/shared/ffmpeg-2.1-win32-shared.7z) ffmpeg win32 dev from zeranoe web site (http://ffmpeg.zeranoe.com/builds/win32/dev/ffmpeg-2.1-win32-dev.7z) 64 bits version (2.1): ffmpeg win64 shared from zeranoe web site (http://ffmpeg.zeranoe.com/builds/win64/shared/ffmpeg-2.1-win64-shared.7z) ffmpeg win64 dev from zeranoe web site (http://ffmpeg.zeranoe.com/builds/win64/dev/ffmpeg-2.1-win64-dev.7z) Exiv2: Exiv2 v0.23 Source from exiv2.org web site (http://www.exiv2.org/exiv2-0.23.tar.gz) SDL: 32 bits version: SDL-1.2.15-win32.zip from libsdl.org (http://www.libsdl.org/release/SDL-1.2.15-win32.zip) 64 bits version: SDL-1.2.15-win32-x64.zip from libsdl.org (http://www.libsdl.org/release/SDL-1.2.15-win32-x64.zip) msinttypes: msinttypes-r26.zip from google code (http://code.google.com/p/msinttypes/downloads/list) Preparation: create a win_src folder at the same level as ffDiaporama folder like this: ffDiaporama files and folder included in ffDiaporama .tar.gz file win_src exiv2-0.23 files and folder included in exiv2-0.23.tar.gz ffmpeg-2.1-win32-dev or ffmpeg-2.1-win64-dev files and folders included in ffmpeg dev file ffmpeg-2.1-win32-shared or ffmpeg-2.1-win64-shared files and folders included in ffmpeg shared file msinttypes files included in msinttypes-r26.zip SDL-1.2.15 files and folder included in SDL zip file lib x86 files included in SDL 32 bits zip file x64 files included in SDL 32 bits zip file Edit ffDiaporama.pro file to update path to the differents external libraries Build ffDiaporama for Windows Use QT creator to compil ffDiaporama ffDiaporama/licences.txt0000777000175000001440000004541412275647363015564 0ustar dominiqueusers GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. ffDiaporama/licence.rtf0000777000175000001440000026246712275647344015365 0ustar dominiqueusers{\rtf1\ansi\deff0\adeflang1025 {\fonttbl{\f0\froman\fprq2\fcharset128 Times New Roman;}{\f1\froman\fprq2\fcharset128 Times New Roman;}{\f2\fswiss\fprq2\fcharset128 Arial;}{\f3\fmodern\fprq1\fcharset128 DejaVu Sans Mono;}{\f4\fnil\fprq2\fcharset128 DejaVu Sans;}} {\colortbl;\red0\green0\blue0;\red128\green128\blue128;} {\stylesheet{\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af4\afs24\lang1081\ltrch\dbch\af4\langfe2052\hich\f0\fs24\lang2060\loch\f0\fs24\lang2060\snext1 Normal;} {\s2\sb240\sa120\keepn\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\afs28\lang1081\ltrch\dbch\langfe2052\hich\f2\fs28\lang2060\loch\f2\fs28\lang2060\sbasedon1\snext3 Heading;} {\s3\sa120\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af4\afs24\lang1081\ltrch\dbch\af4\langfe2052\hich\f0\fs24\lang2060\loch\f0\fs24\lang2060\sbasedon1\snext3 Body Text;} {\s4\sa120\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af4\afs24\lang1081\ltrch\dbch\af4\langfe2052\hich\f0\fs24\lang2060\loch\f0\fs24\lang2060\sbasedon3\snext4 List;} {\s5\sb120\sa120\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af4\afs24\lang1081\ai\ltrch\dbch\af4\langfe2052\hich\f0\fs24\lang2060\i\loch\f0\fs24\lang2060\i\sbasedon1\snext5 caption;} {\s6\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af4\afs24\lang1081\ltrch\dbch\af4\langfe2052\hich\f0\fs24\lang2060\loch\f0\fs24\lang2060\sbasedon1\snext6 Index;} {\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060\sbasedon1\snext7 Preformatted Text;} } {\info{\creatim\yr0\mo0\dy0\hr0\min0}{\revtim\yr0\mo0\dy0\hr0\min0}{\printim\yr0\mo0\dy0\hr0\min0}{\comment StarWriter}{\vern3200}}\deftab709 {\*\pgdsctbl {\pgdsc0\pgdscuse195\pgwsxn12240\pghsxn15840\marglsxn1134\margrsxn1134\margtsxn1134\margbsxn1134\pgdscnxt0 Standard;}} \paperh15840\paperw12240\margl1134\margr1134\margt1134\margb1134\sectd\sbknone\pgwsxn12240\pghsxn15840\marglsxn1134\margrsxn1134\margtsxn1134\margbsxn1134\ftnbj\ftnstart1\ftnrstcont\ftnnar\aenddoc\aftnrstcont\aftnstart1\aftnnrlc \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 \tab \tab GNU GENERAL PUBLIC LICENSE} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 \tab \tab Version 2, June 1991} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 Copyright (C) 1989, 1991 Free Software Foundation, Inc.,} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 Everyone is permitted to copy and distribute verbatim copies} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 of this license document, but changing it is not allowed.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 \tab \tab \tab Preamble} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 The licenses for most software are designed to take away your} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 freedom to share and change it. By contrast, the GNU General Public} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 License is intended to guarantee your freedom to share and change free} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 software--to make sure the software is free for all its users. This} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 General Public License applies to most of the Free Software} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 Foundation's software and to any other program whose authors commit to} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 using it. (Some other Free Software Foundation software is covered by} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 the GNU Lesser General Public License instead.) You can apply it to} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 your programs, too.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 When we speak of free software, we are referring to freedom, not} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 price. Our General Public Licenses are designed to make sure that you} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 have the freedom to distribute copies of free software (and charge for} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 this service if you wish), that you receive source code or can get it} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 if you want it, that you can change the software or use pieces of it} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 in new free programs; and that you know you can do these things.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 To protect your rights, we need to make restrictions that forbid} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 anyone to deny you these rights or to ask you to surrender the rights.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 These restrictions translate to certain responsibilities for you if you} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 distribute copies of the software, or if you modify it.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 For example, if you distribute copies of such a program, whether} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 gratis or for a fee, you must give the recipients all the rights that} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 you have. You must make sure that they, too, receive or can get the} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 source code. And you must show them these terms so they know their} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 rights.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 We protect your rights with two steps: (1) copyright the software, and} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 (2) offer you this license which gives you legal permission to copy,} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 distribute and/or modify the software.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 Also, for each author's protection and ours, we want to make certain} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 that everyone understands that there is no warranty for this free} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 software. If the software is modified by someone else and passed on, we} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 want its recipients to know that what they have is not the original, so} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 that any problems introduced by others will not reflect on the original} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 authors' reputations.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 Finally, any free program is threatened constantly by software} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 patents. We wish to avoid the danger that redistributors of a free} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 program will individually obtain patent licenses, in effect making the} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 program proprietary. To prevent this, we have made it clear that any} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 patent must be licensed for everyone's free use or not licensed at all.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 The precise terms and conditions for copying, distribution and} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 modification follow.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 \tab \tab GNU GENERAL PUBLIC LICENSE} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 0. This License applies to any program or other work which contains} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 a notice placed by the copyright holder saying it may be distributed} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 under the terms of this General Public License. The "Program", below,} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 refers to any such program or work, and a "work based on the Program"} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 means either the Program or any derivative work under copyright law:} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 that is to say, a work containing the Program or a portion of it,} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 either verbatim or with modifications and/or translated into another} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 language. (Hereinafter, translation is included without limitation in} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 the term "modification".) Each licensee is addressed as "you".} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 Activities other than copying, distribution and modification are not} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 covered by this License; they are outside its scope. The act of} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 running the Program is not restricted, and the output from the Program} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 is covered only if its contents constitute a work based on the} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 Program (independent of having been made by running the Program).} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 Whether that is true depends on what the Program does.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 1. You may copy and distribute verbatim copies of the Program's} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 source code as you receive it, in any medium, provided that you} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 conspicuously and appropriately publish on each copy an appropriate} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 copyright notice and disclaimer of warranty; keep intact all the} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 notices that refer to this License and to the absence of any warranty;} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 and give any other recipients of the Program a copy of this License} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 along with the Program.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 You may charge a fee for the physical act of transferring a copy, and} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 you may at your option offer warranty protection in exchange for a fee.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 2. You may modify your copy or copies of the Program or any portion} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 of it, thus forming a work based on the Program, and copy and} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 distribute such modifications or work under the terms of Section 1} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 above, provided that you also meet all of these conditions:} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 a) You must cause the modified files to carry prominent notices} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 stating that you changed the files and the date of any change.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 b) You must cause any work that you distribute or publish, that in} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 whole or in part contains or is derived from the Program or any} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 part thereof, to be licensed as a whole at no charge to all third} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 parties under the terms of this License.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 c) If the modified program normally reads commands interactively} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 when run, you must cause it, when started running for such} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 interactive use in the most ordinary way, to print or display an} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 announcement including an appropriate copyright notice and a} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 notice that there is no warranty (or else, saying that you provide} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 a warranty) and that users may redistribute the program under} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 these conditions, and telling the user how to view a copy of this} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 License. (Exception: if the Program itself is interactive but} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 does not normally print such an announcement, your work based on} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 the Program is not required to print an announcement.)} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 These requirements apply to the modified work as a whole. If} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 identifiable sections of that work are not derived from the Program,} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 and can be reasonably considered independent and separate works in} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 themselves, then this License, and its terms, do not apply to those} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 sections when you distribute them as separate works. But when you} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 distribute the same sections as part of a whole which is a work based} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 on the Program, the distribution of the whole must be on the terms of} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 this License, whose permissions for other licensees extend to the} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 entire whole, and thus to each and every part regardless of who wrote it.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 Thus, it is not the intent of this section to claim rights or contest} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 your rights to work written entirely by you; rather, the intent is to} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 exercise the right to control the distribution of derivative or} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 collective works based on the Program.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 In addition, mere aggregation of another work not based on the Program} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 with the Program (or with a work based on the Program) on a volume of} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 a storage or distribution medium does not bring the other work under} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 the scope of this License.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 3. You may copy and distribute the Program (or a work based on it,} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 under Section 2) in object code or executable form under the terms of} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 Sections 1 and 2 above provided that you also do one of the following:} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 a) Accompany it with the complete corresponding machine-readable} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 source code, which must be distributed under the terms of Sections} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 1 and 2 above on a medium customarily used for software interchange; or,} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 b) Accompany it with a written offer, valid for at least three} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 years, to give any third party, for a charge no more than your} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 cost of physically performing source distribution, a complete} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 machine-readable copy of the corresponding source code, to be} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 distributed under the terms of Sections 1 and 2 above on a medium} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 customarily used for software interchange; or,} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 c) Accompany it with the information you received as to the offer} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 to distribute corresponding source code. (This alternative is} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 allowed only for noncommercial distribution and only if you} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 received the program in object code or executable form with such} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 an offer, in accord with Subsection b above.)} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 The source code for a work means the preferred form of the work for} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 making modifications to it. For an executable work, complete source} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 code means all the source code for all modules it contains, plus any} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 associated interface definition files, plus the scripts used to} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 control compilation and installation of the executable. However, as a} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 special exception, the source code distributed need not include} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 anything that is normally distributed (in either source or binary} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 form) with the major components (compiler, kernel, and so on) of the} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 operating system on which the executable runs, unless that component} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 itself accompanies the executable.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 If distribution of executable or object code is made by offering} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 access to copy from a designated place, then offering equivalent} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 access to copy the source code from the same place counts as} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 distribution of the source code, even though third parties are not} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 compelled to copy the source along with the object code.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 4. You may not copy, modify, sublicense, or distribute the Program} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 except as expressly provided under this License. Any attempt} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 otherwise to copy, modify, sublicense or distribute the Program is} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 void, and will automatically terminate your rights under this License.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 However, parties who have received copies, or rights, from you under} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 this License will not have their licenses terminated so long as such} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 parties remain in full compliance.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 5. You are not required to accept this License, since you have not} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 signed it. However, nothing else grants you permission to modify or} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 distribute the Program or its derivative works. These actions are} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 prohibited by law if you do not accept this License. Therefore, by} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 modifying or distributing the Program (or any work based on the} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 Program), you indicate your acceptance of this License to do so, and} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 all its terms and conditions for copying, distributing or modifying} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 the Program or works based on it.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 6. Each time you redistribute the Program (or any work based on the} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 Program), the recipient automatically receives a license from the} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 original licensor to copy, distribute or modify the Program subject to} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 these terms and conditions. You may not impose any further} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 restrictions on the recipients' exercise of the rights granted herein.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 You are not responsible for enforcing compliance by third parties to} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 this License.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 7. If, as a consequence of a court judgment or allegation of patent} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 infringement or for any other reason (not limited to patent issues),} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 conditions are imposed on you (whether by court order, agreement or} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 otherwise) that contradict the conditions of this License, they do not} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 excuse you from the conditions of this License. If you cannot} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 distribute so as to satisfy simultaneously your obligations under this} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 License and any other pertinent obligations, then as a consequence you} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 may not distribute the Program at all. For example, if a patent} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 license would not permit royalty-free redistribution of the Program by} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 all those who receive copies directly or indirectly through you, then} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 the only way you could satisfy both it and this License would be to} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 refrain entirely from distribution of the Program.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 If any portion of this section is held invalid or unenforceable under} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 any particular circumstance, the balance of the section is intended to} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 apply and the section as a whole is intended to apply in other} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 circumstances.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 It is not the purpose of this section to induce you to infringe any} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 patents or other property right claims or to contest validity of any} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 such claims; this section has the sole purpose of protecting the} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 integrity of the free software distribution system, which is} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 implemented by public license practices. Many people have made} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 generous contributions to the wide range of software distributed} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 through that system in reliance on consistent application of that} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 system; it is up to the author/donor to decide if he or she is willing} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 to distribute software through any other system and a licensee cannot} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 impose that choice.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 This section is intended to make thoroughly clear what is believed to} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 be a consequence of the rest of this License.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 8. If the distribution and/or use of the Program is restricted in} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 certain countries either by patents or by copyrighted interfaces, the} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 original copyright holder who places the Program under this License} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 may add an explicit geographical distribution limitation excluding} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 those countries, so that distribution is permitted only in or among} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 countries not thus excluded. In such case, this License incorporates} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 the limitation as if written in the body of this License.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 9. The Free Software Foundation may publish revised and/or new versions} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 of the General Public License from time to time. Such new versions will} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 be similar in spirit to the present version, but may differ in detail to} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 address new problems or concerns.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 Each version is given a distinguishing version number. If the Program} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 specifies a version number of this License which applies to it and "any} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 later version", you have the option of following the terms and conditions} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 either of that version or of any later version published by the Free} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 Software Foundation. If the Program does not specify a version number of} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 this License, you may choose any version ever published by the Free Software} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 Foundation.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 10. If you wish to incorporate parts of the Program into other free} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 programs whose distribution conditions are different, write to the author} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 to ask for permission. For software which is copyrighted by the Free} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 Software Foundation, write to the Free Software Foundation; we sometimes} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 make exceptions for this. Our decision will be guided by the two goals} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 of preserving the free status of all derivatives of our free software and} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 of promoting the sharing and reuse of software generally.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 \tab \tab \tab NO WARRANTY} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 REPAIR OR CORRECTION.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 POSSIBILITY OF SUCH DAMAGES.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 \tab \tab END OF TERMS AND CONDITIONS} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 \tab How to Apply These Terms to Your New Programs} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 If you develop a new program, and you want it to be of the greatest} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 possible use to the public, the best way to achieve this is to make it} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 free software which everyone can redistribute and change under these terms.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 To do so, attach the following notices to the program. It is safest} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 to attach them to the start of each source file to most effectively} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 convey the exclusion of warranty; and each file should have at least} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 the "copyright" line and a pointer to where the full notice is found.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 } \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 Copyright (C) } \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 This program is free software; you can redistribute it and/or modify} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 it under the terms of the GNU General Public License as published by} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 the Free Software Foundation; either version 2 of the License, or} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 (at your option) any later version.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 This program is distributed in the hope that it will be useful,} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 but WITHOUT ANY WARRANTY; without even the implied warranty of} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 GNU General Public License for more details.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 You should have received a copy of the GNU General Public License along} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 with this program; if not, write to the Free Software Foundation, Inc.,} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 Also add information on how to contact you by electronic and paper mail.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 If the program is interactive, make it output a short notice like this} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 when it starts in an interactive mode:} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 Gnomovision version 69, Copyright (C) year name of author} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 This is free software, and you are welcome to redistribute it} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 under certain conditions; type `show c' for details.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 The hypothetical commands `show w' and `show c' should show the appropriate} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 parts of the General Public License. Of course, the commands you use may} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 be called something other than `show w' and `show c'; they could even be} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 mouse-clicks or menu items--whatever suits your program.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 You should also get your employer (if you work as a programmer) or your} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 school, if any, to sign a "copyright disclaimer" for the program, if} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 necessary. Here is a sample; alter the names:} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 Yoyodyne, Inc., hereby disclaims all copyright interest in the program} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 `Gnomovision' (which makes passes at compilers) written by James Hacker.} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 , 1 April 1989} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 Ty Coon, President of Vice} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 This General Public License does not permit incorporating your program into} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 proprietary programs. If your program is a subroutine library, you may} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 consider it more useful to permit linking proprietary applications with the} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 library. If this is what you want to do, use the GNU Lesser General} \par \pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs20\lang1081\ltrch\dbch\af3\langfe2052\hich\f3\fs20\lang2060\loch\f3\fs20\lang2060 {\rtlch \ltrch\loch\f3\fs20\lang2060\i0\b0 Public License instead of this License.} \par }ffDiaporama/ffdiaporama.png0000777000175000001440000000560012275647344016205 0ustar dominiqueusersPNG  IHDR szz pHYs.#.#x?v cHRMz%u0`:o_F IDATxt[]Yk~33cǎ[4D\HVQE AxI*"<!Aj!EIJĹ؍cg친9r^{xZa˷[W_/c Buw@H)<ϵR*Y9oϜ9<+W68v!rr=8'0 4LzȤMعF&MV)8~>k<R ՒӟHsL |?.pߟ'LOeT <կXghLQ ?GL6$b@H@8vB#<8c|K?9<g?{$ǨtBgc4!RF)?(Z 2K:Ò9V |DbabκixE|˲nt?~&F!qa#L"}]@%wn/ v͢2U K@ݵX혩 ꅐc0P*61=RgX:D?.jNbz0"E3R*0Rn0ZS$8bXobimrm;JIRy~3dҧVV>/<|O_%j{u8~f9=.9FwlN\iSvlKv. ˋ+b]2L KKhGhu@Hpc:JsU>ǗX~`X" (;Hy=sm<'_ MK`4:SV>V\aYjѦX=X$Qcҏm8?P*8Θ>dq~bbr +ӿyT0 ^t q?#1Q)ܲ8S8/OȽ?~?WL XZsߩx%^IK}ZK:$/MpřUC8mjBqj1P4KG(rq*Gc<'O{g ^ԩS8t=[1AN=Cɏyn棝w&P7xo.^)"3zmpIvw;ĝ Bv J c >~l#r>s_;Hqϵ׷h|*I=A Rȕ<nqxs E,Y4"9"6o=zap8' ՘G)t; ĦH0㈭tڻ4M-/pkAH/1c*nRDYr}bG;\C*MD1xPA])B &J)zo *(KLOϐ Il6 BBHmI5bjnb-G4 JɠF' g`&b|@`p0@뜙Y*q)odٺLy=DX'uV2j_#Klv8vk̭>ydb<1(WP(ؼWvv?q/NĄ! Y}@wq#pv A^B1=}n{SOT+`JfIRິZ-~?o0'l-R"p\<υ1,8ql)s`po7lAuZSܵzZ—4|h4q~ _OȻtmS,/bs/L'b4j߱׮mٯ{jz&`2Iyc0h4ZqHС%2s{1f%/(zn`=OOJmWfkhݝ5sʛzM0x< Cywfv%u /̳p`Z"3- wSOmڈزuscruJL̙ ´w~ٽcsovc$1Ln\1믽T~zJӱe L)^>|D" "\'_Sjs[;;ʥ:ǶAt(Ub%r0Aay<\8R\buth"2m+x7IS`tQ٥rQ#t 2reqFx%$a NN j5V޳:33W#%Bkomm9hر,+-;t7,+Z #%2S){TtD 눒o6"()px'R84])'r!cٖB$/n}Ӳ JliLD^3ͲqD V)٩S Ԡ)H#kN_2 `Av00 $I)ڵ^ǡ*S(ܪIENDB`ffDiaporama/ffDiaporama.xml0000777000175000001440000005064712275647364016176 0ustar dominiqueusers 1 ffDiaporama/ffDiaporama.url0000777000175000001440000000007012275647364016161 0ustar dominiqueusers[InternetShortcut] URL=http://ffdiaporama.tuxfamily.org ffDiaporama/ffDiaporama.pro0000777000175000001440000001006312275647364016162 0ustar dominiqueusers# ====================================================================== # This file is part of ffDiaporama # ffDiaporama is a tools to make diaporama as video # Copyright (C) 2011-2014 Dominique Levray # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # ====================================================================== #------------------------------------------------------------- # SYNTAXE IS : # QMAKE PREFIX=xxx ffDiaporama.pro # xxx could be /usr, /usr/local or /opt #-------------------------------------------------------------- isEmpty(PREFIX) { PREFIX = /usr } # this file is to be used by qmake for Windows & Linux TEMPLATE = subdirs # ffDiaporama_lib (c++ classes and functions that are rarely modified) SUBDIRS += src/ffDiaporama_lib TARGET += ffDiaporama_lib # ffDiaporama main application SUBDIRS += src/ffDiaporama TARGET += ffDiaporama # Translation files TRANSLATIONS += locale/ffDiaporama_fr.ts \ locale/ffDiaporama_it.ts \ locale/ffDiaporama_de.ts \ locale/ffDiaporama_nl.ts \ locale/ffDiaporama_es.ts \ locale/ffDiaporama_pt.ts \ locale/ffDiaporama_ru.ts \ locale/ffDiaporama_el.ts \ locale/ffDiaporama_cz.ts \ locale/ffDiaporama_zh_tw.ts OTHER_FILES += $$TRANSLATIONS \ TODO-LIST.txt \ # Developpement file WIKI/src_en/wiki_en.qhp \ WIKI/src_en/wiki_en.qhcp \ WIKI/src_en/main.html \ WIKI/src_en/0010.html \ WIKI/src_en/0011.html \ WIKI/src_en/0012.html \ WIKI/src_en/0013.html \ WIKI/src_en/0014.html \ WIKI/src_en/0015.html \ WIKI/src_en/0016.html \ WIKI/src_en/0020.html \ WIKI/src_en/0021.html \ WIKI/src_en/0022.html \ WIKI/src_en/0023.html \ WIKI/src_en/0024.html \ WIKI/src_en/0030.html \ WIKI/src_en/0031.html \ WIKI/src_en/0032.html \ WIKI/src_en/0033.html \ WIKI/src_en/0034.html \ WIKI/src_en/0035.html \ WIKI/src_en/0036.html \ WIKI/src_en/0037.html \ WIKI/src_en/0038.html \ WIKI/src_en/0039.html \ WIKI/src_en/003A.html \ WIKI/src_en/0040.html \ WIKI/src_en/0041.html \ WIKI/src_en/0042.html \ WIKI/src_en/0043.html \ WIKI/src_en/0044.html \ WIKI/src_en/0045.html \ WIKI/src_en/0101.html \ WIKI/src_en/0102.html \ WIKI/src_en/0103.html \ WIKI/src_en/0104.html \ WIKI/src_en/0105.html \ WIKI/src_en/0106.html \ WIKI/src_en/0107.html \ WIKI/src_en/0108.html \ WIKI/src_en/0109.html \ WIKI/src_en/0110.html \ WIKI/src_en/0111.html \ WIKI/src_en/0112.html \ WIKI/src_en/0113.html \ WIKI/src_en/0114.html \ WIKI/src_en/0115.html \ WIKI/src_en/0116.html \ WIKI/src_en/0117.html \ WIKI/src_en/0118.html \ WIKI/src_en/0119.html \ WIKI/src_en/0120.html \ WIKI/src_en/0121.html \ WIKI/src_en/0122.html \ WIKI/src_en/0123.html \ WIKI/UpdateTSFiles.bash \ WIKI/UpdateQMFiles.bash \ WIKI/readme.txt \ WIKI/UpdateTSFiles.cmd \ WIKI/UpdateQMFiles.cmd \ WIKI/PREPLANGUAGE.cmd \ WIKI/wiki.css \ WIKI/WIKI.txt \ WIKI/wikifake_de.ts \ WIKI/wikifake_el.ts \ WIKI/wikifake_es.ts \ WIKI/wikifake_fr.ts \ WIKI/wikifake_it.ts \ WIKI/wikifake_pt.ts \ WIKI/wikifake_ru.ts #-------------------------------------------------------------- # INSTALLATION #-------------------------------------------------------------- message("Install to : $$PREFIX") ffDiaporama/ffDiaporama.desktop0000777000175000001440000000166712275647222017036 0ustar dominiqueusers[Desktop Entry] Version=1.0 Name=Movie creator ffDiaporama Name[fr]=Créateur de film ffDiaporama Name[it]=Movie creator ffDiaporama Name[es]=Creador de películas ffDiaporama Name[el]=Δημιουργός ταινιών ffDiaporama GenericName=Movie creator GenericName[fr]=Créateur de film GenericName[it]=Creatore di pellicole cinematografiche GenericName[es]=Creador de películas GenericName[el]=Δημιουργός ταινιών Comment=Movie creator from photos and video clips Comment[fr]=Créateur de film depuis des photos et des clips vidéo Comment[it]=Creatore di pellicole cinematografiche da foto e filmati video Comment[es]=Creador de películas a partir de fotos y clips de vídeo Comment[el]=Δημιουργός ταινιών από φωτογραφίες και βίντεο κλιπ Icon=ffdiaporama Terminal=false Type=Application Exec=ffDiaporama %F MimeType=application/ffDiaporama; Categories=GTK;GNOME;Qt;KDE;AudioVideo; ffDiaporama/ffDiaporama-mime.xml0000777000175000001440000000111412275647344017102 0ustar dominiqueusers ffDiaporama file ffDiaporama thumbnail model file ffDiaporama title model file ffDiaporama/changelog-fr.txt0000777000175000001440000004403712275647364016334 0ustar dominiqueusers************************************************** * FFDIAPORAMA 2.1 - trunk (Version Française) ************************************************** [Commit: 09/02/2014] - ffDiaporama 2.1 stable 20140209 Correction de bug : -Retire un avertissement de compilation dans cLocation.cpp -Retire plusieurs avertissements de compilation dans cBrushDefinition.cpp -Corrige une boucle infini qui bloquait parfois la génération -------------------------------------------------------------------------------- [Commit: 06/02/2014] - ffDiaporama 2.1 devel 20140206 Correction de bug : -Elargie le panneau de droite de la boite d'edition des diapositives pour que tout s'affiche dans certaines langues dont les mots sont longs -Corrige un problème de prise en compte des pauses dans les musiques lors de l'encodage -------------------------------------------------------------------------------- [Commit: 03/02/2014] - ffDiaporama 2.1 devel 20140203 Correction de bug : -Corrige un problème de traduction pour l'intitulé de la variable %STA% -Corrige un bug aléatoire dans la boite d'option qui pouvait provoquer des crash -Corrige un bug d'affichage dans la boite "Vérifier la configuration" sur la disponibilité de la fonction preview image dans exiv2 -Corrige un bug de synchronisation audio/vidéo lors des encodages en NTSC -------------------------------------------------------------------------------- [Commit: 21/01/2014] - ffDiaporama 2.1 devel 20140121 Correction de bug : -Corrige le positionnement du lecteur de prévisualisation lors des modifications de taille de la fenêtre principale -Corrige un crash lors des copies de bloc de type GMap dans la boite d'édition des diapositives -Corrige un bug de calcul de la fin des musiques lors de l'encodage -------------------------------------------------------------------------------- [Commit: 17/01/2014] Correction de bug : -Corrige un problème d'activation non demandé du proxy Nouveautés : -Grosse réorganisation du code afin de pouvoir découper l'application en plusieurs paquets -Paquets ffDiaporama_RSC contenant les ressources -Paquets ffDiaporama contenant l'application -Création d'une librairie pour le moment statique et intégrée au paquet ffDiaporama -------------------------------------------------------------------------------- [Commit: 14/01/2014] - ffDiaporama 2.1 devel 20140111 Correction de bug : -Corrige une fuite de mémoire qui intervenait lors de l'utilisation d'image de la librairie -Corrige un problème d'application du volume sur les musiques lors des transitions -Force l'utilisation de l'UTF-8 pour lire le journal des changements dans la boite de dialog a propos de -Corrige le positionnement du lecteur de prévisualisation au démarrage de l'application -------------------------------------------------------------------------------- [Commit: 12/01/2014] Correction de bug : -Corrige la boite de sélection des transitions : quand la boite est réduite ou élargie, augmente ou réduit le nombre de colonne -Corrige un bug dans le rechargement des fichiers projets qui générait un recalcul des vignettes des diapositives Nouveautés : -Modifie la boite de dialogue de paramétrage de la piste musical : -Affiche la jaquette de la musique si elle existe -Ajoute une case à cocher dans la table des morceaux pour autoriser au non le référencement de ce titre dans les génériques (variables %STM%) -Autorise le paramétrage des options de volume et de pause même si la diapositive définie une nouvelle liste de lecture -Modifie l'affichage de la piste musical sur la barre de temps -Ajoute l'affichage de la jaquette du morceau -Réduit la police de caractère pour l'affichage de l'artiste et du titre du morceau -Modifie le Drag & Drop de la barre de temps -Permet le déplacement d'une définition de playlist musical d'une diapo vers une autre -Permet le déplacement d'une définition de fond d'écran d'une diapo vers une autre -------------------------------------------------------------------------------- [Commit: 10/01/2014] - ffDiaporama 2.1 devel 20140111 Correction de bug : -Corrige un gros bug lors de la relecture des projets [regression 20140103] -Corrige l'erreur d'affichage du VBR pour les autres codec que le h264 dans la boite de génération des videos -------------------------------------------------------------------------------- [Commit: 10/01/2014] - ffDiaporama 2.1 devel 20140110 Correction de bug : -Corrige la non relecture des options de volumes et de désentrelacement des vidéos dans les fichiers projet [regression 20131221] -Ne génère plus les cartes 2 fois à la fermeture de la boite d'edition des diapositives automatiques -Regénère la carte si le modèle de diapo automatique change le modèle de carte -Ne regénère plus la carte lors de la transformation en diapo standard -Ajoute un timeout de 30 secondes pour ne pas rester bloquer pendant 10 minutes quand l'accès aux réseaux n'est pas possible au lancement de l'application -Fixe une boucle infinie qui arrive parfois durant la lecture des vidéos Nouveautés : -Supprime le contour des textes et passe le zoomlevel par défaut à 14 dans les 2 nouveaux modèles de titre (avec carte GMaps) -Ajoute une option pour passer l'encodage h264 en mode variable afin de réduire la taille des vidéos et d'éviter les saccadements dans les effets ken burns -Cette option est activée par défaut dès que la durée des vidéos représente moins de 50% du projet (au dela cela peut augmenter la taille de la vidéo générée) -Dans les projets contenant beaucoup de photo, la réduction du fichier peut atteindre 80% -Ajoute une centaine de nouveaux modèles d'équipement (Téléphones et tablettes) -------------------------------------------------------------------------------- [Commit: 06/01/2014] Nouveautés : -Programme certaines LUMA plutôt que d'utiliser des fichiers pour améliorer leur qualité -Traite les 24 transitions LUMA-BAR -Traite les 24 premières transitions LUMA-CLOCK -Retire les fichiers LUMA inutilisés (réduit la taille des paquets) -------------------------------------------------------------------------------- [Commit: 03/01/2014] - ffDiaporama 2.1 devel 20140103 Correction de bug : -Corrige un plantage lors de la fermeture de la boite d'edition image/video/gmap lorsque des localisations ont été ajoutées -Corrige l'affichage des dates de création et de modification des fichiers dans l'explorateur multimédia (Sous windows, la date de modification peut être invalide) Nouveautés : -Augmente légèrement l'opacité des marqueurs masqués (ils étaient vraiment trop peu visible) -Met le champ Nom en 1er dans la boite de dialogue d'édition des localisations (plus logique) -Accélère les sélections/déselections de fichiers dans l'explorateur multimédia -N'affiche plus les durées à 0 dans l'explorateur multimédia en mode détail -Modifie le comportement du refresh dans l'explorateur multimédia : force une mise à complète des fichiers -Ajoute un onglet Changelog (avec le contenu du fichier changelog) et un onglet Traduction (avec l'état des traductions) dans la boite A propos de -Ne duplique plus les cartes GMap lors des copier/coller tant que les localisations n'ont pas été changées (pour réduire la taille des fichiers .ffd) -------------------------------------------------------------------------------- [Commit: 27/12/2013] - ffDiaporama 2.1 devel 20131227 Correction de bug : -Corrige un gros bug dans le rechargement des projets contenant des ressources -Corrige un crash lors de copier/couper/coller de carte GMpas dans la boite d'édition des slides -Améliore la synchronisation audio/vidéo lors des encodages en NTSC Nouveautés : -Redesign la boite des propriétés du projet pour supprimer les onglets et ajouter la localisation de l'évenement -Ajoute la possibilité de modifier la localisation de l'évenement dans la boite d'édition des chapitres et dans la partie chapitre de la boite d'édition des slides automatiques -Transforme le champs "Supplanter la date" de la boite d'édition des slides automatiques en multi-lignes -Ajoute des variables de texte %PLN% et %PLA% correspondant aux nom et adresse de la localisation de l'évenement du projet -Ajoute des variables de texte %CLN% et %CLA% correspondant aux nom et adresse de la localisation de l'évenement du chapitre en cours -Ajoute le champs "Album du projet par defaut" et la sélection des "unités de distance" à utiliser dans la boite de configuration de l'application -Modifie le bouton "Ajouter une localisation" de l'onglet GMap de la boite d'edition image/video/gmap pour utiliser les localisations du projet ou du chapitre ou de sélectionner directement un favoris -Ajoute une option "Ajouter une carte" dans le sous menu qui apparait lorsqu'on click sur Ajouter un titre dans la fenêtre principal -Ajoute des modèles de Titre fixe et animé contenant une carte GMap basée sur la localisation du projet -Ajoute des options dans la boite de configuration pour déclarer un proxy pour accéder à internet -Supprime les unités de CD-ROM vide de la liste des unités gérées dans le navigateur multimédia [Windows] -------------------------------------------------------------------------------- [Commit: 21/12/2013] - ffDiaporama 2.1 devel 20131221 Correction de bug : -Corrige le problème de lenteur dans l'affichage des marqueurs sur les cartes GMaps lors des animations -Corrige l'affichage de la carte dans l'onglet GMaps : s'assure que la carte n'est jamais tronquée et que l'affichage est centré -Corrige le problème de qualité des cartes GMaps quand elles sont en haute résolution -Corrige l'activation/désactivation des actions de collage dans la boite d'édition des slides [regression 17/12/2013] -Corrige l'application des modifications des propriétés modifiées dans la boite d'edition des images/vidéo/GMap vers les plans suivants dans la boite d'édition des slides (n'applique que la modification en cours et non plus l'ensemble des propriétés) Nouveautés : -Ne duplique plus systématiquement les ressources à l'ouverture de la boite de dialog d'édition image/video/gmap quand il s'agit d'objet gmap (accélère l'ouverture de la boite) -Remplace l'affichage en double buffer des marqueurs des objets gmap par un affichage en simple buffer pour la preview (plus rapide) -Ajoute un bouton "Exporter la carte" dans la boite de dialog d'édition image/video/gmap quand il s'agit d'objet gmap -Remplace le format d'export par défaut de jpg à png pour toutes les captures (image de l'éditeur video, image de la prévisualisation et carte dans l'onglet GMaps) -Ajoute des formats de carte GMaps très haute résolution : 720px9-16:9 (3840x2160) et 1080px9-16:9 (5760x3240) -Supprime les unités de disques amovible vide de la liste des unités gérées dans le navigateur multimédia [Windows] -------------------------------------------------------------------------------- [Commit: 20/12/2013] Correction de bug : -Corrige le bug de non remplacement de l'icône lors de la sélection d'un favoris dans la boite de sélection des positions GPS -Rend actif la touche F1 dans toute les boites de dialog -Corrige l'UNDO dans la boite d'édition des slides (repositionne sur le plan actif et remet les sélections) -Corrige l'application des modifications des propriétés vers les plans suivants dans la boite d'édition des slides (n'applique que la modification en cours et non plus l'ensemble des propriétés) Nouveautés : -Change le cadrage par défaut pour l'icône des positions GPS lors de la sélection d'une image dans la boite de sélection des positions GPS -Remplace le verrouillage des propriétés d'un bloc, dans la boite d'édition des slides, par une nouvelle propriété : hériter les modifications faites dans les plans précédents -Ajoute une case à cocher dans la boite d'édition des slides pour activer ou désactiver cette propriété -Lors de la désactivation de cette propriété, propose de reprendre (et d'appliquer aux plans suivants) les propriétés de ce bloc du plan précédent -------------------------------------------------------------------------------- [Commit: 17/12/2013] Correction de bug : -Corrige le forçage de la langue anglaise avec le paramètre -lang=en (regression 20131215) -Corrige un bug lors de l'application de l'UNDO dans la boite d'édition des slides : Des propriétés sont appliquées aux plans suivants alors que le slide entier est restauré -Corrige un bug lors de l'application des propriétés d'un bloc aux plans suivant (regression 20131215) -Corrige un bug de lecture des caractères accentués lors du chargement de projet sous Windows (regression 20131215) -------------------------------------------------------------------------------- [Commit: 16/12/2013] Correction de bug : -Corrige un bug dans la gestion des ressources mise en cache (Lulo) -Corrige un bug lors de la mise à jours de la table de localisation dans la base de données utilisateur (database version 5 vers 6) Nouveautés : -Mets en cache les icônes des marqueurs pour accélérer les générations et rafraichissements des cartes GMaps -Ajoute l'affichage des marqueurs des cartes GMaps dans l'onglet image de la boite d'édition des images/video/gmap -------------------------------------------------------------------------------- [Commit: 15/12/2013] Correction de bug : -Corrige un bug sur les favoris dans la boite de sélection de localisation GPS -Corrige un bug sur le vérouillage des propriétés d'un block dans la boite d'édition des slides: Certaines propriétés n'étaient pas répercutées dans les plans non vérouillés (voir: http://ffdiaporama.tuxfamily.org/Forum/viewtopic.php?id=644) -Corrige le bug d'inactivité du bouton Annuler de la boite de génération des cartes GMap -Corrige le plantage lors des reprises de génération des cartes GMap -Corrige un bug lors de la génération des cartes GMap (si la précédente carte n'était pas totalement générée, il tentait de finir la génération au lieu de démarrer la nouvelle) Nouveautés : -Ajoute un champ Friendly address dans la boite de sélection des localisations GPS et dans la table des localisations favorites -Redesign l'onglet d'édition des cartes GMap dans la boite d'édition des images/vidéos/carte GMap -La suppression d'une localisation de regénère plus de carte dans l'onglet d'édition des cartes GMap -Commence la prise en charge des marqueurs des cartes GMap -------------------------------------------------------------------------------- [Commit: 13/12/2013] - ffDiaporama 2.1 devel 20131212 Correction de bug : -Corrige le bug sur les images dans la génération du WIKI -Corrige un bug dans la génération du WIKI en n'ajoutant plus de surlignage sur les titres non traduit des pages Nouveautés : -Modifie le format des fichiers .ffd pour pouvoir y intégrer des ressources -Modifie l'inscription des vignettes des diapositives dans le fichier .ffd pour qu'elles soient stockées sous forme de ressource et non plus dans la diapositive -Ajout des nouveaux types d'objets : Image from clipboard et Google Maps map -Ajout d'un bouton "Ajouter spécial" dans la boite d'édition des diapositives pour insérer les nouveaux types d'objets -Ajout d'un nouvel onglet Google Maps Map dans la boite d'édition et de recadrage des images/vidéo/map -Modification du fonctionnement du copier/coller dans la boite d'édition des diapositives pour autoriser le collage d'image sous forme d'un nouvelle objet "Image from clipboard" -Modification du fonctionnement du copier/coller dans la fenêtre principale pour autoriser le collage d'image sous forme d'un nouvelle slide contenant un objet "Image from clipboard" -Création d'une boite de dialogue de sélection/modification d'une localisation (GPS) via utilisation de Google Maps et ajoute une nouvelle entrée dans le Wiki pour cette boite -Ajout de nouvelles entrées dans le WIKI pour décrire les types d'objets utilisables avec ffDiaporama (les pages sont à compléter !) -------------------------------------------------------------------------------- [Commit: 05/12/2013] - ffDiaporama 2.0.1 stable Correction de bug : -Corrige un crash dans la boite d'edition des diapositives -Corrige les UNDO dans la boite d'edition des diapositives (conserve la sélection) -Corrige l'application des styles de forme dans la boite d'edition des diapositives -------------------------------------------------------------------------------- [Commit: 01/12/2013] Correction de bug : -Corrige le filtre de format de fichier proposé pour sélectionner une autre image lors d'un fichier image manquant pendant le chargement d'un projet [regression 20131130] -Améliore la détection d'une autre instance de ffdiaporama et ré-autorise le lancement si la dernière instance s'est crashée -Remplace du codes spécifique QT5 dans la devel.20131130 par un code compatible QT4/QT5 [regression 20131130] -------------------------------------------------------------------------------- [Commit: ] Correction de bug : Nouveautés : -------------------------------------------------------------------------------- ffDiaporama/changelog-en.txt0000777000175000001440000003677612275647364016342 0ustar dominiqueusers************************************************** * FFDIAPORAMA 2.1 - trunk - (English version) ************************************************** [Commit: 09/02/2014] - ffDiaporama 2.1 stable 20140209 Bug fixes: -Remove a compilation warning in cLocation.cpp -Remove some compilation warnings in cBrushDefinition.cpp -Fixed an infinite loop that sometimes blocks the rendering -------------------------------------------------------------------------------- [Commit: 06/02/2014] - ffDiaporama 2.1 devel 20140206 Bug fixes: -Enlarged right panel of the Edit slide dialog to ensure all statements are displayed even if some words are very long (case on some languages) -Fixed a problem with breaks in the music when encoding -------------------------------------------------------------------------------- [Commit: 03/02/2014] - ffDiaporama 2.1 devel 20140203 Bug fixes: -Fixed a problem with the translation of the title variable %STA% -Fixed a random bug in the option dialog that could cause crash -Fixed a display bug in the "Check configuration" dialog on the availability of the preview image function for exiv2 -Fixed a bug of audio/video synchronization when encoding using NTSC standard -------------------------------------------------------------------------------- [Commit: 21/01/2014] - ffDiaporama 2.1 devel 20140121 Bug fixes: -Fixed positioning of the preview player when resizing main window -Fixed a crash when pasting GMap block in Edit slide dialog -Fixed a bug in computing end of music when rendering -------------------------------------------------------------------------------- [Commit: 17/01/2014] Bug fixes: -Fixed and error of unwanted activation of proxy New features: -Big code reorganization in order to cut the application into multiple packages -Packages ffDiaporama_RSC containing resources -Packages ffDiaporama containing the application -Creation of a library (static at this time) integrated into the ffDiaporama package -------------------------------------------------------------------------------- [Commit: 14/01/2014] - ffDiaporama 2.1 devel 20140114 Bug fixes: -Fixed a memory leak that occurred when using image from library -Fixed a problem of application of volume on the music track during transitions -Force the use of UTF-8 to read changelog in about dialog -Fixed positioning of the preview player at application start -------------------------------------------------------------------------------- [Commit: 12/01/2014] Bug fixes: -Fixed the Transition dialog: when the box is reduced or enlarged, increases or decreases the number of column -Fixed a bug in reloading project files which cause recomputation of slides's thumbnails New features: -Changes the music track dialog -Displays the cover of the music if it exists -Put a check box in the music table to allow non referencing this title in generic (%STM% variable) -Allows setting options for volume and pause even if the slide defined a new playlist -Changes the display of the music track on the timeline -Adds the display of song cover (if exist) -Reduces the font to display the artist and song title -Change Drag & Drop in timeline -Allows move of music playlist definition from a slide to another -Allows move of background definition from a slide to another -------------------------------------------------------------------------------- [Commit: 10/01/2014] - ffDiaporama 2.1 devel 20140111 Bug fixes: -Fixes a critical bug reading projects [regression 20140103] -Fixes incorrect display of VBR for other codec than h264 in render dialog -------------------------------------------------------------------------------- [Commit: 10/01/2014] Bug fixes: -Fixes not read of volumes and deinterleaving option of videos in project files [regression 20131221] -No longer generates map 2 times when closing automatic edit slide dialog -Generate map again if the model is changed when using amap from an automatic slide -No longer regenerates the map when converting an automatic slide to a standard slide -Adds a timeout of 30 seconds to not get stuck for 10 minutes when network access is not possible at application start -Fixes an infinite loop which sometimes happens during video reading New features: -Removes the text outline and changes the default zoom level to 14 in the 2 new titles models (those with map GMaps) -Adds an option to activate variable bitrate mode when encoding using h264 codec in order to reduce video size and avoid saccadements in ken burns effects -This option is enabled by default when the video length is less than 50% of the project length (beyond this can increase the size of the generated video) -In projects containing many photo, it can reduce the file up to 80% -Adds a hundred new models of equipment (smartphones and tablets) -------------------------------------------------------------------------------- [Commit: 06/01/2014] New features: -Compute some LUMA rather than using files to improve their quality -Treat the 24 LUMA-BAR transitions -Treat the first 24 LUMA-CLOCK transitions -Removes unused LUMA files (reduces installation packets size) -------------------------------------------------------------------------------- [Commit: 03/01/2014] - ffDiaporama 2.1 devel 20140103 Bug fixes: -Fixed a crash when closing the edit image/video/gmap when locations were added -Fixed the display of dates of creation and modification of files in the media browser (Under Windows, the modification date may be invalid) New features: -Increases slightly opacity of masked markers (they were really too few visible) -Move the Name field at first position in the edit locations dialog (more logical) -Accelerates selections/unselection of files in multimedia browser -No longer displays duration equals to 0 in the multimedia browser -Changes the behavior of the multimedia browser refresh: Force complete update of files -Adds a Changelog tab (with the content of Changelog file) and a Translation tab (with the translation status) in the About dialog -No longer duplicate GMap map during paste as location have not been changed (to reduce size of .ffd file) -------------------------------------------------------------------------------- [Commit: 27/12/2013] - ffDiaporama 2.1 devel 20131227 Bug fixes: -Fixed a big bug in reloading projects with resources -Fixed a crash when copy/cut/ paste GMpas map in the edit slides dialogs -Improves audio/video sync when encoding NTSC New features: -Redesign Project properties dialog to remove the tabs and to add the location of the event -Adds the ability to override the location of the event in the edit chapters dialog and the in the chapter zone of the edit automatic slides dialog -Turns the field "Override the date" of the edit automatic slides in multi-lines -Adds text variables PLN%% and%% PLA corresponding to the name and address of the location of the project's event -Adds text variables CLN%% and%% CLA corresponding to the name and address of the location of the current chapter's event -Adds fields "Default project album" and "select distance unit to be used" in the application configuration dialog box -Changes the button "Add Location" of the tab GMap of the edit image/video/gmap dialog to allow use of the project's or chapter's location or to directly select a favorite -Adds an option "Add a map" in the sub menu that appears when you click Add a title in the main window -Adds Title models fixed and animated containing a GMap map based on the project's location -Adds options in the configuration dialog to declare a proxy for internet access -Remove empty CD-ROM drives from the list of drives managed by the multimedia browser [Windows] -------------------------------------------------------------------------------- [Commit: 21/12/2013] - ffDiaporama 2.1 devel 20131221 Bug fixes: -Fixed the problem of slow display of the markers on the GMaps map during animations -Fixed the map display in the GMaps tab: Ensure that the map is never truncated and the display is centered -Fixed the problem of quality of the GMaps map when they are in high resolution -Fixed the activation/deactivation of paster actions in the edit slides dialog [regression 12.17.2013] -Fixed applying changes of altered properties in the edit image/video/GMap dialog to the following shots in the edit slides dialog (only applies the changed properties and not all properties) New features: -No longer duplicate resources when opening Edit image/video/gmap dialog when it comes gmap object (accelerates the opening of the box) -Replaces the dual display buffer for GMap markers objects with a simple buffer display for preview (faster) -Adds "Export Map" button in the Edit image/video/gmap dialog -Replaces the default export as jpg format with png format for all captures (image from video editor, image from preview and map from GMaps tab) -Adds very high resolution map image formats: 720px9-16:9 (3840x2160) and 1080px9-16:9 (5760x3240) -Remove empty removable drives from the list of drives managed by the multimedia browser [Windows] -------------------------------------------------------------------------------- [Commit: 20/12/2013] Bug fixes: -Fixed the bug of not replacing the icon when selecting a favorite in the selection box of GPS positions -Active F1 key to open help in any dialog boxes -Corrects UNDO in the edit slides dialog (repositions the active shot and selections) -Fixed change of properties to the following shots in the edit slides dialog (only applies the current change and not all properties) New features: -Change the default framming for the icon of the GPS positions when selecting an image in the selection GPS position dialog -Replaces locking of properties of a block in the edit slides dialog with a new property: inherit changes made in previous shot -Adds a checkbox in the edit slides dialog to enable or disable this property -When you disable this property offers to apply (and apply to the following shot) the properties of this block from the previous shot -------------------------------------------------------------------------------- [Commit: 17/12/2013] Bug fixes: -Corrects forcing the English language with the -lang=en startup parameter (regression 20131215) -Fixed a bug in the application of UNDO in the edit slide dialog: Some properties are applied to the following shots while the entire slide is restored -Fixed a bug in the application of some bloc properties to the following shots (20131215 regression) -Fixed a bug reading accented characters when loading project under Windows (regression 20131215) New features: -Change the application of animation block properties "Appear" and "Disappear" : These properties are no longer applied to the following shots -------------------------------------------------------------------------------- [Commit: 16/12/2013] Bug fixes: -Fixed a bug in the management of cached resources (Lulo) -Fixed a bug in the updates of the location table in the user database (database Version 5 to 6) -Fixed marker's positions in the maps >720p (scaling) for previewing and for GMap tab of the edit image/video/gmap dialog New features: -Cache icons markers to accelerate the generation and the update of GMaps map -Adds display of GMaps markers in the Image tab of the edit image/video/gmap dialog -------------------------------------------------------------------------------- [Commit: 15/12/2013] Bug fixes: -Fixed a bug on the favorites in the selection GPS localization dialog -Fixed a bug on the LOCK properties of a block in the edit slide dialog: Some properties were not reflected in following shots (see: http://ffdiaporama.tuxfamily.org/Forum/viewtopic.php?id=644) -Fixed the bug of Cancel button not actif int the GMap generation map dialog -Fixed a crash during the continue GMap generation map -Fixed a bug when generating GMap maps (if the previous card was not fully generated, it tried to contunue previous generation instead of starting new) New features: -Adds a Friendly address name field in the select GPS location dialog and in the favorite locations table -Redesign GMap tab in the image/video/gmap edit dialog -Deleting a location no longer regenerates map in the GMap tab of the image/video/gmap edit dialog -Start GMap markers managment (for the moment all options are not yet supported and there are position errors on map>720p) -------------------------------------------------------------------------------- [Commit: 13/12/2013] - ffDiaporama 2.1 devel 20131212 Bug fixes: -Fixed the bug on the images in the generation of WIKI -Fixed bug regarding titles of untranslated pages in the generation of WIKI (highlight them instead of hide them) New features: -Change the format of .ffd file order to integrate resources -Changes the registration of slides's thumbnails in the .ffd file so they are stored as a resource and not in the slide -Adding new types of objects: Image from clipboard and Google Maps map -Added "Add Special" button in the edit slide dialog box to insert new object types -Added a new tab "Google Maps Map" in the "edit and crop images/video/map" dialog box -Changed the operation for copy/paste in the edit slides dialog box to allow paste of image as a new object "Image from clipboard" -Changed the operation for copy/paste in the main window to allow paste of image as a new slide containing an object "Image from clipboard" -Created a new dialog box for select/change a GPS location using Google Maps and adds a new entry in the Wiki for this dialog box -Added new entries in the WIKI to describe the types of objects used with ffDiaporama (the pages have to be completed!) -------------------------------------------------------------------------------- [Commit: 05/12/2013] - ffDiaporama 2.0.1 stable Bug fixes: -Fixed a crash in edit slide dialog -Fixed UNDO in the slide edit dialog (keep selection) -Fixed the application of shape styles in slide edit dialog -------------------------------------------------------------------------------- [Commit: 01/12/2013] Bug fixes: -Fixed the proposed filter for file format to select another image when an image file is missing during the loading of a project [regression 20131130] -Improves the detection of another instance of ffdiaporama and re-authorizes the launch if the last instance has crashed -Replace QT5 specific codes in devel.20131130 with QT4/QT5 compatible codes [regression 20131130] -------------------------------------------------------------------------------- [Commit: ] Bug fixes: New features: -------------------------------------------------------------------------------- ffDiaporama/authors.txt0000777000175000001440000000316112275647363015455 0ustar dominiqueusers(C) 2011-2014 Dominique LEVRAY ffDiaporama use these third party libraries : QT fmt_filters QImageBlitz libav ffmpeg Windows ffmpeg binaries libexiv2 taglib libsdl Logo & icons: Zouly Pepe Baeza Crystal Project Nuvola OpenClipArts Translation: Czech: Bagicz Dutch: J.G. Visser English: Dominique LEVRAY French: Dominique LEVRAY German: Thomas Böhmwalder + Armin Ipfelkofer Greec: Dimitrios Glentadakis Italian: Lino Fantasia Portuguese: José Venãncio Santos Russian: Vasily Polyakov + Mikhail Dureev Spanish: Pepe Baeza Taiwanese: kentxchang ffDiaporama/Devices.xml0000777000175000001440000010054512275647222015331 0ustar dominiqueusers ffDiaporama/BUILDVERSION.txt0000777000175000001440000000002512275647222015663 0ustar dominiqueusersVersion 2.1 20140209 ffDiaporama/src/0000777000175000001440000000000012275647332014006 5ustar dominiqueusersffDiaporama/src/ffDiaporama_lib/0000777000175000001440000000000012275647222017043 5ustar dominiqueusersffDiaporama/src/ffDiaporama_lib/readme.txt0000777000175000001440000000074712275647222021054 0ustar dominiqueusers************************************************** * FFDIAPORAMA 2.1 - trunk * * readme.txt on 17/01/2014 ************************************************** ffDiaporama is a tools to make diaporama as video ffDiaporama is a Free Software (Open Source) and is distributed under the GNU General Public License (GPL) version 2 See authors.txt for more copyright and credits information ffDiaporama_lib is a subproject defined to contain c++ classes and functions that are rarely modified ffDiaporama/src/ffDiaporama_lib/ffDiaporama_lib.pro0000777000175000001440000000550112275647222022630 0ustar dominiqueusers# ====================================================================== # This file is part of ffDiaporama # ffDiaporama is a tools to make diaporama as video # Copyright (C) 2011-2014 Dominique Levray # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # ====================================================================== isEmpty(PREFIX) { PREFIX = /usr } CONFIG += qt thread QT += core gui svg sql xml greaterThan(QT_MAJOR_VERSION,4) { # QT5 version QT += widgets concurrent help } else { # QT4 version CONFIG += help } QMAKE_STRIP = echo APPFOLDER = ffDiaporama TARGET = ffDiaporama_lib TEMPLATE = lib CONFIG += staticlib OTHER_FILES += readme.txt SOURCES += BasicDefines.cpp \ cBackgroundComboBox.cpp \ cBaseAppConfig.cpp \ cBaseBrushDefinition.cpp \ cBrushComboBox.cpp \ cColorComboBox.cpp \ cCustomIcon.cpp \ cDatabase.cpp \ cGrdOrientationComboBox.cpp \ cLuLoImageCache.cpp \ cSaveWindowPosition.cpp \ cSpeedWave.cpp \ cSpeedWaveComboBox.cpp \ cTexteFrameComboBox.cpp \ cTextFrame.cpp \ ImageFilters.cpp \ QCustomComboBox.cpp \ QCustomHorizSplitter.cpp \ Shape.cpp HEADERS += BasicDefines.h \ cBackgroundComboBox.h \ cBaseAppConfig.h \ cBaseBrushDefinition.h \ cBrushComboBox.h \ cColorComboBox.h \ cCustomIcon.h \ cDatabase.h \ cGrdOrientationComboBox.h \ cLuLoImageCache.h \ cSaveWindowPosition.h \ cSpeedWave.h \ cSpeedWaveComboBox.h \ cTexteFrameComboBox.h \ cTextFrame.h \ ImageFilters.h \ QCustomComboBox.h \ QCustomHorizSplitter.h \ Shape.h #-------------------------------------------------------------- # INSTALLATION #-------------------------------------------------------------- unix:!symbian { TARGET.path = $$PREFIX/lib #TARGET.files = $$TARGET INSTALLS += TARGET } ffDiaporama/src/ffDiaporama_lib/cTexteFrameComboBox.h0000777000175000001440000000627012275647222023064 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef CCTEXTEFRAMECOMBOBOX_H #define CCTEXTEFRAMECOMBOBOX_H #include #include #include #include #include #include #include #include "cTextFrame.h" //****************************************************************************************************************** // Custom QAbstractItemDelegate for Brush ComboBox //****************************************************************************************************************** class cCTexteFrameComboBox; class cCTexteFrameComboBoxItem : public QStyledItemDelegate { Q_OBJECT public: cCTexteFrameComboBox *ComboBox; explicit cCTexteFrameComboBoxItem(QObject *parent=0); virtual void paint(QPainter *painter,const QStyleOptionViewItem &option,const QModelIndex &index) const; virtual QSize sizeHint(const QStyleOptionViewItem &option,const QModelIndex &index) const; }; class cCTexteFrameComboBox : public QComboBox { Q_OBJECT public: int CurrentSel; bool STOPMAJ; cCTexteFrameComboBoxItem ItemDelegate; explicit cCTexteFrameComboBox(QWidget *parent = 0); void PrepareTable(); void SetCurrentTextFrame(QString TextFrameName); QString GetCurrentTextFrame(); void MakeIcons(); protected: virtual void hidePopup(); virtual void keyReleaseEvent(QKeyEvent *event); signals: void itemSelectionHaveChanged(); public slots: void s_ItemSelectionChanged(); }; class cPopupTexteFrame : public QDialog { Q_OBJECT public: cCTexteFrameComboBoxItem ItemDelegate; QTableWidget *Table; int CurrentSel; explicit cPopupTexteFrame(QWidget *parent = 0); void DoInitPopup(QPoint Pos); QString GetCurrentTextFrame(); public slots: void s_ItemSelectionChanged(); }; #endif // CCTEXTEFRAMECOMBOBOX_H ffDiaporama/src/ffDiaporama_lib/cTexteFrameComboBox.cpp0000777000175000001440000002577212275647222023427 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "cTexteFrameComboBox.h" #include #include #include #define ICONSIZE 64 #define NBRCOLUMN 8 //======================================================================================================================== cCTexteFrameComboBoxItem::cCTexteFrameComboBoxItem(QObject *parent):QStyledItemDelegate(parent) { ComboBox=NULL; } //======================================================================================================================== void cCTexteFrameComboBoxItem::paint(QPainter *painter,const QStyleOptionViewItem &option,const QModelIndex &index) const { int CurIndex=index.row()*NBRCOLUMN+index.column(); if ((CurIndex>=0)&&(CurIndexdrawImage(option.rect.left()+(option.rect.width()-TextFrameList.List[CurIndex].Icon.width())/2, option.rect.top()+(option.rect.height()-TextFrameList.List[CurIndex].Icon.height())/2, TextFrameList.List[CurIndex].Icon); } else { painter->fillRect(option.rect,Qt::white); } if ((ComboBox!=NULL)&&(ComboBox->CurrentSel==index.row()*((QTableWidget *)ComboBox->view())->columnCount()+index.column())) { painter->setPen(QPen(Qt::red)); painter->setBrush(QBrush(Qt::NoBrush)); painter->drawRect(option.rect.x()+3,option.rect.y()+3,option.rect.width()-6-1,option.rect.height()-6-1); } if (option.state & QStyle::State_Selected) { painter->setPen(QPen(Qt::blue)); painter->setBrush(QBrush(Qt::NoBrush)); painter->drawRect(option.rect.x(),option.rect.y(),option.rect.width()-1,option.rect.height()-1); painter->drawRect(option.rect.x()+1,option.rect.y()+1,option.rect.width()-1-2,option.rect.height()-1-2); painter->setPen(QPen(Qt::black)); painter->drawRect(option.rect.x()+2,option.rect.y()+2,option.rect.width()-1-4,option.rect.height()-1-4); } } //======================================================================================================================== QSize cCTexteFrameComboBoxItem::sizeHint(const QStyleOptionViewItem &/*option*/,const QModelIndex &/*index*/) const { return QSize(ICONSIZE,ICONSIZE); } //****************************************************************************************************************** // Custom Background ComboBox //****************************************************************************************************************** cCTexteFrameComboBox::cCTexteFrameComboBox(QWidget *parent):QComboBox(parent) { CurrentSel =-1; STOPMAJ =false; QTableWidget *Table =new QTableWidget(); Table->setEditTriggers(QAbstractItemView::NoEditTriggers); Table->setSelectionMode(QAbstractItemView::SingleSelection); Table->horizontalHeader()->hide(); Table->verticalHeader()->hide(); for (int i=0;iinsertColumn(0); Table->setColumnWidth(0,ICONSIZE); } setModel(Table->model()); setView(Table); ItemDelegate.ComboBox=this; setItemDelegate(&ItemDelegate); this->view()->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); this->view()->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); connect(Table,SIGNAL(itemSelectionChanged()),this,SLOT(s_ItemSelectionChanged())); } //======================================================================================================================== void cCTexteFrameComboBox::PrepareTable() { int ScrollBarWidth=((QTableWidget *)view())->verticalScrollBar()->width(); this->view()->setFixedWidth(ICONSIZE*NBRCOLUMN+ScrollBarWidth); setIconSize(QSize(ICONSIZE,ICONSIZE)); setFixedHeight(ICONSIZE+4); for (int i=0;isetColumnWidth(i,ICONSIZE); int CurIndex =((QTableWidget *)view())->currentRow()*NBRCOLUMN+((QTableWidget *)view())->currentColumn(); while (count()>0) removeItem(count()-1); int NbrItem=TextFrameList.List.count(); int NbrRow=NbrItem/NBRCOLUMN; if (NbrRow*NBRCOLUMNinsertRow(Table->rowCount()); ((QTableWidget *)view())->setRowHeight(((QTableWidget *)view())->rowCount()-1,ICONSIZE); } ((QTableWidget *)view())->setCurrentCell(CurIndex/NBRCOLUMN,CurIndex-(CurIndex/NBRCOLUMN)*NBRCOLUMN); setCurrentIndex(CurIndex/NBRCOLUMN); } //======================================================================================================================== void cCTexteFrameComboBox::hidePopup() { QComboBox::hidePopup(); emit itemSelectionHaveChanged(); MakeIcons(); CurrentSel=((QTableWidget *)view())->currentRow()*NBRCOLUMN+((QTableWidget *)view())->currentColumn(); if (CurrentSel>=TextFrameList.List.count()) CurrentSel=TextFrameList.List.count()-1; } //======================================================================================================================== void cCTexteFrameComboBox::keyReleaseEvent(QKeyEvent *event) { int CurIndex=((QTableWidget *)view())->currentRow()*NBRCOLUMN+((QTableWidget *)view())->currentColumn(); int aCurIndex=CurIndex; if ((event->key()==Qt::Key_Right)||(event->key()==Qt::Key_Down)) { if (CurIndexkey()==Qt::Key_Left)||(event->key()==Qt::Key_Up)) { if (CurIndex>0) CurIndex--; } else QComboBox::keyReleaseEvent(event); if (aCurIndex!=CurIndex) { STOPMAJ=true; ((QTableWidget *)view())->setCurrentCell(CurIndex/NBRCOLUMN,CurIndex-(CurIndex/NBRCOLUMN)*NBRCOLUMN); setCurrentIndex(CurIndex/NBRCOLUMN); MakeIcons(); STOPMAJ=false; emit itemSelectionHaveChanged(); } } //======================================================================================================================== void cCTexteFrameComboBox::MakeIcons() { int CurrentRow=currentIndex(); if (CurrentRow<0) return; int CurrentCol=((QTableWidget *)view())->currentColumn(); if (CurrentCol<0) CurrentCol=0; int CurIndex=CurrentRow*NBRCOLUMN+CurrentCol; if (CurIndexcurrentRow()); MakeIcons(); emit currentIndexChanged(((QTableWidget *)view())->currentRow()*NBRCOLUMN+((QTableWidget *)view())->currentColumn()); STOPMAJ=false; } //======================================================================================================================== void cCTexteFrameComboBox::SetCurrentTextFrame(QString BackgroundName) { if (STOPMAJ) return; CurrentSel=TextFrameList.SearchImage(BackgroundName); ((QTableWidget *)view())->setCurrentCell(CurrentSel/NBRCOLUMN,CurrentSel-(CurrentSel/NBRCOLUMN)*NBRCOLUMN); setCurrentIndex(CurrentSel/NBRCOLUMN); MakeIcons(); } //======================================================================================================================== QString cCTexteFrameComboBox::GetCurrentTextFrame() { CurrentSel=((QTableWidget *)view())->currentRow()*NBRCOLUMN+((QTableWidget *)view())->currentColumn(); if (CurrentSel>=TextFrameList.List.count()) CurrentSel=TextFrameList.List.count()-1; return TextFrameList.List[CurrentSel].RessourceName; } //************************************************************************************************************************ // cPopupTexteFrame //************************************************************************************************************************ cPopupTexteFrame::cPopupTexteFrame(QWidget *parent):QDialog(parent,Qt::FramelessWindowHint|Qt::Popup/*Qt::Tool|Qt::Window|Qt::FramelessWindowHint*/) { Table=NULL; CurrentSel=-1; } //======================================================================================================================== void cPopupTexteFrame::DoInitPopup(QPoint Pos) { setFocusPolicy(Qt::StrongFocus); move(Pos); Table=new QTableWidget(this); Table->setItemDelegate(&ItemDelegate); Table->horizontalHeader()->hide(); Table->verticalHeader()->hide(); Table->setEditTriggers(QAbstractItemView::NoEditTriggers); Table->setSelectionMode(QAbstractItemView::SingleSelection); Table->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); Table->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); Table->setFocus(); for (int i=0;iinsertColumn(0); Table->setColumnWidth(0,ICONSIZE); } int NbrItem=TextFrameList.List.count(); int NbrRow=NbrItem/NBRCOLUMN; if (NbrRow*NBRCOLUMNinsertRow(Table->rowCount()); Table->setRowHeight(Table->rowCount()-1,ICONSIZE); } int ScrollBarWidth=Table->verticalScrollBar()->width(); Table->setFixedWidth(ICONSIZE*NBRCOLUMN+ScrollBarWidth); Table->setFixedHeight(ICONSIZE*4); // 4 lines setFixedHeight(Table->height()); setFixedWidth(Table->width()); connect(Table,SIGNAL(itemSelectionChanged()),this,SLOT(s_ItemSelectionChanged())); } //======================================================================================================================== void cPopupTexteFrame::s_ItemSelectionChanged() { CurrentSel=Table->currentRow()*NBRCOLUMN+Table->currentColumn(); if (CurrentSel>=TextFrameList.List.count()) CurrentSel=-1; close(); } //======================================================================================================================== QString cPopupTexteFrame::GetCurrentTextFrame() { if ((CurrentSel<0)||(CurrentSel>=TextFrameList.List.count())) return ""; else return TextFrameList.List[CurrentSel].RessourceName; } ffDiaporama/src/ffDiaporama_lib/cTextFrame.h0000777000175000001440000000371212275647222021264 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef CTEXTFRAME_H #define CTEXTFRAME_H #include #include #include class cTextFrameObject { public: QString RessourceName; double TMx,TMy,TMw,TMh; // Text margins QImage Icon; bool Isvalide; QColor BckColor; // Background color to use in text editor QString TextStyle; // Default text style cTextFrameObject(QString RessourceName,double TMx,double TMy,double TMw,double TMh,QColor BckColor,QString TextStyle); }; class cTextFrameList { public: QList List; // list of brush cTextFrameList(); void DoPreploadList(); int SearchImage(QString NameToFind); }; extern cTextFrameList TextFrameList; #endif // CTEXTFRAME_H ffDiaporama/src/ffDiaporama_lib/cTextFrame.cpp0000777000175000001440000002534612275647222021626 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "cTextFrame.h" #include cTextFrameList TextFrameList; #define ICONSIZE 48 #define MEDIUMBLACK QString("FontSize:14###HAlign:1###VAlign:1###StyleText:0###FontColor:#000000###FontShadowColor:#f2f2f2###Bold:0###Italic:1###Underline:0###FontName:Sans Serif") //==================================================================================================================== cTextFrameObject::cTextFrameObject(QString RessourceName,double TMx,double TMy,double TMw,double TMh,QColor BckColor,QString TextStyle) { this->RessourceName =RessourceName; this->TMx =TMx; this->TMy =TMy; this->TMw =TMw; this->TMh =TMh; this->BckColor =BckColor; this->TextStyle =TextStyle; Isvalide =false; QSvgRenderer SVGImg(RessourceName); if (SVGImg.isValid()) { Icon=QImage(ICONSIZE,ICONSIZE,QImage::Format_ARGB32_Premultiplied); QPainter Painter; Painter.begin(&Icon); Painter.setCompositionMode(QPainter::CompositionMode_Source); Painter.fillRect(QRect(0,0,ICONSIZE,ICONSIZE),Qt::transparent); Painter.setCompositionMode(QPainter::CompositionMode_SourceOver); SVGImg.render(&Painter,QRectF(0,0,ICONSIZE,ICONSIZE)); Painter.end(); Isvalide=true; } } //==================================================================================================================== cTextFrameList::cTextFrameList() { } //==================================================================================================================== int cTextFrameList::SearchImage(QString NameToFind) { int Ret=-1; int j=0; while ((j This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef CCSPEEDWAVECOMBOBOX_H #define CCSPEEDWAVECOMBOBOX_H #include "QCustomComboBox.h" #include "cSpeedWave.h" class cCSpeedWaveComboBox : public QCustomComboBox { Q_OBJECT public: explicit cCSpeedWaveComboBox(QWidget *parent = 0); virtual void AddProjectDefault(int DefaultSpeedWave); virtual void SetCurrentValue(int Value); virtual int GetCurrentValue(); signals: public slots: }; #endif // CCSPEEDWAVECOMBOBOX_H ffDiaporama/src/ffDiaporama_lib/cSpeedWaveComboBox.cpp0000777000175000001440000000430612275647222023234 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "cSpeedWaveComboBox.h" //==================================================================================================================== cCSpeedWaveComboBox::cCSpeedWaveComboBox(QWidget *parent):QCustomComboBox(parent) { for (int i=0;icount();i++) if (itemData(i).toInt()==Value) setCurrentIndex(i); } //==================================================================================================================== int cCSpeedWaveComboBox::GetCurrentValue() { int Current=currentIndex(); if ((Current<0)||(Current>count())) return -1; else return itemData(Current).toInt(); } ffDiaporama/src/ffDiaporama_lib/cSpeedWave.h0000777000175000001440000000276312275647222021255 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef _SPEEDWAVE_H #define _SPEEDWAVE_H #define SPEEDWAVE_DISABLE -2 #define SPEEDWAVE_PROJECTDEFAULT -1 #include "BasicDefines.h" enum SPEEDWAVE_TYPE { SPEEDWAVE_LINEAR, SPEEDWAVE_SINQUARTER, SPEEDWAVE_SINQUARTERx4, SPEEDWAVE_POW2, SPEEDWAVE_SQRT, SPEEDWAVE_TYPE_NBR // Last of the list }; double ComputePCT(int SpeedWave,double CurrentPCT); QString GetSpeedWaveName(int SpeedWave); #endif // _SPEEDWAVE_H ffDiaporama/src/ffDiaporama_lib/cSpeedWave.cpp0000777000175000001440000000563412275647222021610 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "cSpeedWave.h" #define PI2 (3.14159265/2) double ComputePCT(int SpeedWave,double CurrentPCT) { switch (SpeedWave) { case SPEEDWAVE_LINEAR : return CurrentPCT; break; case SPEEDWAVE_SINQUARTER : return sin(PI2*CurrentPCT); break; case SPEEDWAVE_SINQUARTERx4 : return pow(sin(PI2*CurrentPCT),2)/pow(sin(PI2),2); break; case SPEEDWAVE_POW2 : return pow(CurrentPCT,2); break; case SPEEDWAVE_SQRT : return sqrt(CurrentPCT); break; case SPEEDWAVE_PROJECTDEFAULT : default : std::cout << QString("Unrecognise SpeedWave in _SpeedWave::ComputePCT").toLocal8Bit().constData() << std::flush; exit(1); } } QString GetSpeedWaveName(int SpeedWave) { switch (SpeedWave) { case SPEEDWAVE_PROJECTDEFAULT : return QApplication::translate("Speed wave","Project default (%1)"); break; case SPEEDWAVE_LINEAR : return QApplication::translate("Speed wave","Constant speed"); break; case SPEEDWAVE_SINQUARTER : return QApplication::translate("Speed wave","Fast then slow"); break; case SPEEDWAVE_SINQUARTERx4 : return QApplication::translate("Speed wave","Slow then fast"); break; case SPEEDWAVE_POW2 : return QApplication::translate("Speed wave","Faster and faster"); break; case SPEEDWAVE_SQRT : return QApplication::translate("Speed wave","Slower and slower"); break; default : std::cout << QString("Unrecognise SpeedWave in _SpeedWave::GetSpeedWaveName").toLocal8Bit().constData() << std::flush; exit(1); } } ffDiaporama/src/ffDiaporama_lib/cSaveWindowPosition.h0000777000175000001440000000644012275647222023201 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef CSAVEWINDOWPOSITION_H #define CSAVEWINDOWPOSITION_H //============================================ // Class to handle window size & position //============================================ // Basic inclusions (common to all files) #include "BasicDefines.h" // Include some additional standard class #include #include #include #include enum Type_WindowState { TypeWindowState_undefined, TypeWindowState_simple, TypeWindowState_withsplitterpos }; //==================================================================================================================== class cSaveWindowPosition { public: QString WindowName; // Name of the Window bool *RestoreWindow; // Link to RestoreWindow boolean variable bool IsMainWindow; // true if window is a QDockWidget QString WindowGeo; // Array for saveGeometry (All windows) QString MainWinSS; // Array for saveState (QMainWindow only) bool IsInit; // True if data are ready bool IsMaximized; // True if window is mainwindow and was maximized cSaveWindowPosition(QString WindowName,bool &RestoreWindow,bool IsMainWindow); virtual ~cSaveWindowPosition() {} virtual void ApplyToWindow(QWidget *Window); virtual void SaveWindowState(QWidget *Window); virtual void SaveToXML(QDomElement &domDocument); virtual void OverloadedSaveToXML(QDomElement &domDocument); virtual void LoadFromXML(QDomElement domDocument); virtual void OverloadedLoadFromXML(QDomElement domDocument); }; //==================================================================================================================== class cSaveWinWithSplitterPos : public cSaveWindowPosition { public: QString SplitterTop; explicit cSaveWinWithSplitterPos(QString WindowName,bool &RestoreWindow,bool IsMainWindow); virtual ~cSaveWinWithSplitterPos() {} virtual void ApplyToWindow(QWidget *Window,QSplitter *Top); virtual void SaveWindowState(QWidget *Window,QSplitter *Top); virtual void OverloadedSaveToXML(QDomElement &domDocument); virtual void OverloadedLoadFromXML(QDomElement domDocument); }; #endif // CSAVEWINDOWPOSITION_H ffDiaporama/src/ffDiaporama_lib/cSaveWindowPosition.cpp0000777000175000001440000001235712275647222023540 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ // Include some common various class #include "cSaveWindowPosition.h" // Include some additional standard class #include //==================================================================================================================== cSaveWindowPosition::cSaveWindowPosition(QString TheWindowName,bool &TheRestoreWindow,bool TheIsMainWindow) { RestoreWindow =&TheRestoreWindow; WindowName =TheWindowName; IsMainWindow =TheIsMainWindow; WindowGeo =""; MainWinSS =""; IsInit =false; IsMaximized =false; } //*********************************************** void cSaveWindowPosition::ApplyToWindow(QWidget *Window) { if ((Window==NULL)||(*RestoreWindow==false)||(!IsInit)) return; // Restore window size and position if (WindowGeo!="") { QByteArray WinBA=QByteArray::fromHex(WindowGeo.toUtf8()); Window->restoreGeometry(WinBA); /*if (IsMainWindow) { QByteArray MainWinBA=QByteArray::fromHex(MainWinSS.toUtf8()); ((QMainWindow *)Window)->restoreState(MainWinBA); }*/ } } //*********************************************** void cSaveWindowPosition::SaveWindowState(QWidget *Window) { if ((Window==NULL)||(*RestoreWindow==false)) return; // Save window size & position (if needed) if (IsMainWindow) { QByteArray MainWinBA=QByteArray(((QMainWindow *)Window)->saveState()); MainWinSS=QString(MainWinBA.toHex()); } QByteArray WinBA=QByteArray(Window->saveGeometry()); WindowGeo=QString(WinBA.toHex()); IsInit=true; } //*********************************************** void cSaveWindowPosition::SaveToXML(QDomElement &domDocument) { QDomDocument DomDocument; QDomElement Element=DomDocument.createElement(WindowName); Element.setAttribute("saveGeometry",WindowGeo); if (IsMainWindow) { Element.setAttribute("saveState",MainWinSS); Element.setAttribute("IsMaximized",IsMaximized?"1":"0"); } OverloadedSaveToXML(Element); domDocument.appendChild(Element); } //*********************************************** void cSaveWindowPosition::OverloadedSaveToXML(QDomElement &) { } //*********************************************** void cSaveWindowPosition::LoadFromXML(QDomElement domDocument) { if ((domDocument.elementsByTagName(WindowName).length()>0)&&(domDocument.elementsByTagName(WindowName).item(0).isElement()==true)) { QDomElement Element=domDocument.elementsByTagName(WindowName).item(0).toElement(); if (Element.hasAttribute("saveGeometry")) WindowGeo=Element.attribute("saveGeometry"); if (IsMainWindow &&(Element.hasAttribute("saveState"))) MainWinSS=Element.attribute("saveState"); if (IsMainWindow &&(Element.hasAttribute("IsMaximized"))) IsMaximized=Element.attribute("IsMaximized")=="1"; OverloadedLoadFromXML(Element); IsInit=true; } } //*********************************************** void cSaveWindowPosition::OverloadedLoadFromXML(QDomElement) { } //==================================================================================================================== cSaveWinWithSplitterPos::cSaveWinWithSplitterPos(QString WindowName,bool &RestoreWindow,bool IsMainWindow):cSaveWindowPosition(WindowName,RestoreWindow,IsMainWindow) { SplitterTop=""; } //*********************************************** void cSaveWinWithSplitterPos::ApplyToWindow(QWidget *Window,QSplitter *Top) { cSaveWindowPosition::ApplyToWindow(Window); if (SplitterTop!="") Top->restoreState(QByteArray::fromHex(SplitterTop.toUtf8())); } //*********************************************** void cSaveWinWithSplitterPos::SaveWindowState(QWidget *Window,QSplitter *Top) { cSaveWindowPosition::SaveWindowState(Window); SplitterTop=QString(QByteArray(Top->saveState()).toHex()); } //*********************************************** void cSaveWinWithSplitterPos::OverloadedSaveToXML(QDomElement &Element) { Element.setAttribute("SplitterTop",SplitterTop); } //*********************************************** void cSaveWinWithSplitterPos::OverloadedLoadFromXML(QDomElement Element) { if (Element.hasAttribute("SplitterTop")) SplitterTop=Element.attribute("SplitterTop"); } ffDiaporama/src/ffDiaporama_lib/cLuLoImageCache.h0000777000175000001440000000676012275647222022135 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef _cLuLoImageCACHE_H #define _cLuLoImageCACHE_H #include //=================================================== class cLuLoImageCache; class cLuLoImageCacheObject { public: qlonglong RessourceKey; qlonglong FileKey; // index of the file in the home user database QDateTime ModifDateTime; bool Smoothing; // Smoothing QImage *CachePreviewImage; // Cache image (Preview mode) QImage *CacheRenderImage; // Cache image (Full image mode) QString FilterString; // Filter string [For LULOOBJECT_IMAGE] int ImageOrientation; // Image orientation (EXIF) [For LULOOBJECT_IMAGE] int64_t Position; // Position in video [For LULOOBJECT_VIDEO] cLuLoImageCache *LuLoImageCache; // Link to parent LuLoImageCache collection qlonglong ByteCount; // Constructor for image file cLuLoImageCacheObject(qlonglong RessourceKey,qlonglong FileKey,QDateTime ModifDateTime,int ImageOrientation,QString FilterString,bool Smoothing,cLuLoImageCache *Parent); ~cLuLoImageCacheObject(); QImage *ValidateCachePreviewImage(); QImage ValidateCacheRenderImageNC(qlonglong RessourceKey); // ValidateCacheRenderImage without copy image QImage *ValidateCacheRenderImage(); }; //=================================================== class cLuLoImageCache { public: QList List; // Fifo list int64_t MaxValue; // Max memory used cFilesTable *FilesTable; cSlideThumbsTable *ThumbsTable; cLuLoImageCache(); ~cLuLoImageCache(); void clear(); cLuLoImageCacheObject *FindObject(qlonglong RessourceKey,qlonglong FileKey,QDateTime ModifDateTime,int ImageOrientation,bool Smoothing,bool SetAtTop); void FreeMemoryToMaxValue(cLuLoImageCacheObject *DontFree); int64_t MemoryUsed(); void RemoveImageObject(qlonglong RessourceKey,qlonglong FileKey); // Special case for slide dialog : Remove all object of this key }; #endif // _cLuLoImageCACHE_H ffDiaporama/src/ffDiaporama_lib/cLuLoImageCache.cpp0000777000175000001440000004234212275647222022464 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ // Include some common various class #include "cBaseAppConfig.h" // Include some additional standard class #include #include QMutex MemoryMutex; //********************************************************************************************************************************************* // Base object for image cache manipulation //********************************************************************************************************************************************* // Constructor for image file cLuLoImageCacheObject::cLuLoImageCacheObject(qlonglong TheRessourceKey,qlonglong TheFileKey,QDateTime TheModifDateTime,int TheImageOrientation,QString TheFilterString,bool TheSmoothing,cLuLoImageCache *Parent) { RessourceKey =TheRessourceKey; FileKey =TheFileKey; // Full filename ModifDateTime =TheModifDateTime; FilterString =TheFilterString; Smoothing =TheSmoothing; CacheRenderImage =NULL; CachePreviewImage =NULL; ImageOrientation =TheImageOrientation; // Image orientation (EXIF) LuLoImageCache =Parent; Position =0; ByteCount =0; } //=============================================================================== cLuLoImageCacheObject::~cLuLoImageCacheObject() { if (CachePreviewImage!=NULL) { if (CachePreviewImage!=CacheRenderImage) delete CachePreviewImage; CachePreviewImage=NULL; } if (CacheRenderImage!=NULL) { delete CacheRenderImage; CacheRenderImage=NULL; } } //=============================================================================== QImage cLuLoImageCacheObject::ValidateCacheRenderImageNC(qlonglong RessourceKey) { LuLoImageCache->FreeMemoryToMaxValue(this); MemoryMutex.lock(); if (CacheRenderImage==NULL) { if (RessourceKey!=-1) { QImage Image; ToLog(LOGMSG_INFORMATION,QApplication::translate("MainWindow","Loading file from ressource")); LuLoImageCache->ThumbsTable->GetThumbs(&RessourceKey,&Image); CacheRenderImage=new QImage(Image); if ((CacheRenderImage)&&(CacheRenderImage->isNull())) { ToLog(LOGMSG_CRITICAL,QApplication::translate("MainWindow","Error loading ressource")); delete CacheRenderImage; CacheRenderImage=NULL; } } else { QString FileName=LuLoImageCache->FilesTable->GetFileName(FileKey); // Load image from disk ToLog(LOGMSG_INFORMATION,QApplication::translate("MainWindow","Loading file :")+QFileInfo(FileName).fileName()); QImageReader Img(FileName); CacheRenderImage=new QImage(Img.read()); if ((CacheRenderImage)&&(CacheRenderImage->isNull())) { ToLog(LOGMSG_CRITICAL,QApplication::translate("MainWindow","Error loading file :")+FileName); delete CacheRenderImage; CacheRenderImage=NULL; } } if (!CacheRenderImage) ToLog(LOGMSG_CRITICAL,QApplication::translate("MainWindow","Error allocating memory for render image")); // If image is ok then apply exif orientation (if needed) if (CacheRenderImage) { if (ImageOrientation==8) { // Rotating image anti-clockwise by 90 degrees...' QMatrix matrix; matrix.rotate(-90); QImage *NewImage=new QImage(CacheRenderImage->transformed(matrix,Smoothing?Qt::SmoothTransformation:Qt::FastTransformation)); if (NewImage) { if (NewImage->isNull()) delete NewImage; else { delete CacheRenderImage; CacheRenderImage=NewImage; } } } else if (ImageOrientation==3) { // Rotating image clockwise by 180 degrees...' QMatrix matrix; matrix.rotate(180); QImage *NewImage=new QImage(CacheRenderImage->transformed(matrix,Smoothing?Qt::SmoothTransformation:Qt::FastTransformation)); if (NewImage) { if (NewImage->isNull()) delete NewImage; else { delete CacheRenderImage; CacheRenderImage=NewImage; } } } else if (ImageOrientation==6) { // Rotating image clockwise by 90 degrees...' QMatrix matrix; matrix.rotate(90); QImage *NewImage=new QImage(CacheRenderImage->transformed(matrix,Smoothing?Qt::SmoothTransformation:Qt::FastTransformation)); if (NewImage) { if (NewImage->isNull()) delete NewImage; else { delete CacheRenderImage; CacheRenderImage=NewImage; } } } } // If error if ((CacheRenderImage)&&(CacheRenderImage->isNull())) { delete CacheRenderImage; CacheRenderImage=NULL; } } if (CacheRenderImage==NULL) ToLog(LOGMSG_CRITICAL,"Error in cLuLoImageCacheObject::ValidateCacheRenderImage() : return NULL"); ByteCount=((CacheRenderImage)?CacheRenderImage->byteCount():0)+(((CachePreviewImage)&&(CachePreviewImage!=CacheRenderImage))?CachePreviewImage->byteCount():0); MemoryMutex.unlock(); return (CacheRenderImage?*CacheRenderImage:QImage()); } QImage *cLuLoImageCacheObject::ValidateCacheRenderImage() { QImage Img=ValidateCacheRenderImageNC(RessourceKey); return (!Img.isNull())?new QImage(Img.copy()):NULL; } //=============================================================================== QImage *cLuLoImageCacheObject::ValidateCachePreviewImage() { LuLoImageCache->FreeMemoryToMaxValue(this); MemoryMutex.lock(); if (CachePreviewImage==NULL) { // ValidateCacheRenderImage(); // if CacheRenderImage exist then copy it if ((CacheRenderImage)&&(!CacheRenderImage->isNull())) { if (CacheRenderImage->height()<=PREVIEWMAXHEIGHT) CachePreviewImage=CacheRenderImage; else CachePreviewImage=new QImage(CacheRenderImage->scaledToHeight(PREVIEWMAXHEIGHT,Smoothing?Qt::SmoothTransformation:Qt::FastTransformation)); } else { if (RessourceKey!=-1) { QImage Image; ToLog(LOGMSG_INFORMATION,QApplication::translate("MainWindow","Loading file from ressource")); LuLoImageCache->ThumbsTable->GetThumbs(&RessourceKey,&Image); // then copy it at correct size into CachePreviewImage if (Image.height()<=PREVIEWMAXHEIGHT) CachePreviewImage=new QImage(Image); else CachePreviewImage=new QImage(Image.scaledToHeight(PREVIEWMAXHEIGHT,Smoothing?Qt::SmoothTransformation:Qt::FastTransformation)); } else { QString FileName=LuLoImageCache->FilesTable->GetFileName(FileKey); ToLog(LOGMSG_INFORMATION,QApplication::translate("MainWindow","Loading file :")+QFileInfo(FileName).fileName()); // if no CacheRenderImage then load image directly at correct size QImageReader Img(FileName); if (Img.canRead()) { QSize Size =Img.size(); if (((ImageOrientation==8)||(ImageOrientation==6))&&(Size.width()>PREVIEWMAXHEIGHT)) { Size.setHeight((qreal(Size.height())/qreal(Size.width()))*PREVIEWMAXHEIGHT); Size.setWidth(PREVIEWMAXHEIGHT); Img.setScaledSize(Size); } else if ((ImageOrientation!=8)&&(ImageOrientation!=6)&&(Size.height()>PREVIEWMAXHEIGHT)) { Size.setWidth((qreal(Size.width())/qreal(Size.height()))*PREVIEWMAXHEIGHT); Size.setHeight(PREVIEWMAXHEIGHT); Img.setScaledSize(Size); } CachePreviewImage=new QImage(Img.read()); } if ((CachePreviewImage)&&(CachePreviewImage->isNull())) { ToLog(LOGMSG_CRITICAL,QApplication::translate("MainWindow","Error loading file :")+FileName); delete CachePreviewImage; CachePreviewImage=NULL; } if (CachePreviewImage) { if (ImageOrientation==8) { // Rotating image anti-clockwise by 90 degrees...' QMatrix matrix; matrix.rotate(-90); QImage *NewImage=new QImage(CachePreviewImage->transformed(matrix,Smoothing?Qt::SmoothTransformation:Qt::FastTransformation)); if (NewImage) { if (NewImage->isNull()) delete NewImage; else { delete CachePreviewImage; CachePreviewImage=NewImage; } } } else if (ImageOrientation==3) { // Rotating image clockwise by 180 degrees...' QMatrix matrix; matrix.rotate(180); QImage *NewImage=new QImage(CachePreviewImage->transformed(matrix,Smoothing?Qt::SmoothTransformation:Qt::FastTransformation)); if (NewImage) { if (NewImage->isNull()) delete NewImage; else { delete CachePreviewImage; CachePreviewImage=NewImage; } } } else if (ImageOrientation==6) { // Rotating image clockwise by 90 degrees...' QMatrix matrix; matrix.rotate(90); QImage *NewImage=new QImage(CachePreviewImage->transformed(matrix,Smoothing?Qt::SmoothTransformation:Qt::FastTransformation)); if (NewImage) { if (NewImage->isNull()) delete NewImage; else { delete CachePreviewImage; CachePreviewImage=NewImage; } } } } } } // If error if ((CachePreviewImage)&&(CachePreviewImage->isNull())) { delete CachePreviewImage; CachePreviewImage=NULL; } } if (CachePreviewImage==NULL) ToLog(LOGMSG_CRITICAL,"Error in cLuLoImageCacheObject::CachePreviewImage() : return NULL"); ByteCount=((CacheRenderImage)?CacheRenderImage->byteCount():0)+(((CachePreviewImage)&&(CachePreviewImage!=CacheRenderImage))?CachePreviewImage->byteCount():0); QImage *Ret=(CachePreviewImage)?new QImage(CachePreviewImage->copy()):NULL; MemoryMutex.unlock(); return Ret; } //********************************************************************************************************************************************* // List object for image cache manipulation //********************************************************************************************************************************************* cLuLoImageCache::cLuLoImageCache() { MaxValue =1024*1024*1024; FilesTable =NULL; ThumbsTable=NULL; } //=============================================================================== cLuLoImageCache::~cLuLoImageCache() { clear(); } //=============================================================================== void cLuLoImageCache::clear() { while (List.count()>0) delete List.takeLast(); } //=============================================================================== // Find object corresponding to FileName - if object not found then create one //=============================================================================== // Image version cLuLoImageCacheObject *cLuLoImageCache::FindObject(qlonglong RessourceKey,qlonglong FileKey,QDateTime ModifDateTime,int ImageOrientation,bool Smoothing,bool SetAtTop) { int i=0; MemoryMutex.lock(); if (RessourceKey!=-1) { while ((iRessourceKey!=RessourceKey)||(List[i]->Smoothing!=Smoothing))) i++; if ((iRessourceKey==RessourceKey)&&(List[i]->Smoothing==Smoothing)) { // if wanted and image found then set it to the top of the list if ((SetAtTop)&&(i>0)) { // If item is not the first cLuLoImageCacheObject *Object=List.takeAt(i); // Detach item from the list List.prepend(Object); // Re-attach item at first position i=0; } } else { // Image not found then create it at top of the list List.prepend(new cLuLoImageCacheObject(RessourceKey,-1,ModifDateTime,ImageOrientation,"",Smoothing,this)); // Append a new object at first position i=0; } } else { while ((iFileKey!=FileKey)||(List[i]->Smoothing!=Smoothing))) i++; if ((iFileKey==FileKey)&&(List[i]->ModifDateTime==ModifDateTime)&&(List[i]->Smoothing==Smoothing)) { // if wanted and image found then set it to the top of the list if ((SetAtTop)&&(i>0)) { // If item is not the first cLuLoImageCacheObject *Object=List.takeAt(i); // Detach item from the list List.prepend(Object); // Re-attach item at first position i=0; } } else { // Image not found then create it at top of the list List.prepend(new cLuLoImageCacheObject(-1,FileKey,ModifDateTime,ImageOrientation,"",Smoothing,this)); // Append a new object at first position i=0; } } MemoryMutex.unlock(); return List[i]; // return first object } //=============================================================================== // Special case for Image object : Remove all image object of this key void cLuLoImageCache::RemoveImageObject(qlonglong RessourceKey,qlonglong FileKey) { MemoryMutex.lock(); int i=List.count()-1; while (i>=0) { if ((RessourceKey!=-1)&&(List[i]->RessourceKey==RessourceKey)) delete List.takeAt(i); if ((RessourceKey==-1)&&(List[i]->FileKey==FileKey)) delete List.takeAt(i); i--; } MemoryMutex.unlock(); } //=============================================================================== int64_t cLuLoImageCache::MemoryUsed() { int64_t MemUsed=0; for (int i=0;iByteCount; return MemUsed; } //=============================================================================== void cLuLoImageCache::FreeMemoryToMaxValue(cLuLoImageCacheObject *DontFree) { if (DontFree) { // Ensure DontFree object is at top of list int i=0; while ((iMaxMemory) { QString DisplayLog=QString("Free memory for max value (%1 Mb) : Before=%2 cached objects for %3 Mb").arg(MaxMemory/(1024*1024)).arg(List.count()).arg(MaxMemory/(1024*1024)); while (((Memory=MemoryUsed())>MaxMemory)&&(List.count()>1)) delete List.takeLast(); // Never delete first object ToLog(LOGMSG_INFORMATION,DisplayLog+QString(" - After=%1 cached objects for %2 Mb").arg(List.count()).arg(Memory/(1024*1024))); } // 2st step : ensure we are able to allocate a 128 Mb block void *block=NULL; while ((block==NULL)&&(List.count()>1)) { block=malloc(128*1024*1024); if ((block==NULL)&&(List.count()>1)) { // Never delete first object delete List.takeLast(); ToLog(LOGMSG_INFORMATION,QString("Free memory to ensure enough space to work - After=%1 cached objects for %2 Mb").arg(List.count()).arg(Memory/(1024*1024))); } } if (block) free(block); MemoryMutex.unlock(); } ffDiaporama/src/ffDiaporama_lib/cGrdOrientationComboBox.h0000777000175000001440000000531712275647222023751 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef CCGRDORIENTATIONCOMBOBOX_H #define CCGRDORIENTATIONCOMBOBOX_H #include "cBaseBrushDefinition.h" #include #include //****************************************************************************************************************** // Custom QAbstractItemDelegate for Brush ComboBox //****************************************************************************************************************** class cCGrdOrientationComboBox; class cCGrdOrientationComboBoxItem : public QStyledItemDelegate { Q_OBJECT public: cCGrdOrientationComboBox *ComboBox; explicit cCGrdOrientationComboBoxItem(QObject *parent=0); virtual void paint(QPainter *painter,const QStyleOptionViewItem &option,const QModelIndex &index) const; virtual QSize sizeHint(const QStyleOptionViewItem &option,const QModelIndex &index) const; }; //****************************************************************************************************************** // Custom Brush ComboBox //****************************************************************************************************************** class cCGrdOrientationComboBox : public QComboBox { Q_OBJECT public: bool STOPMAJ; cBaseBrushDefinition *Brush; cCGrdOrientationComboBoxItem ItemDelegate; explicit cCGrdOrientationComboBox(QWidget *parent = 0); void MakeIcons(); void SetCurrentBrush(cBaseBrushDefinition *Brush); cBaseBrushDefinition *GetCurrentBrush(); protected: signals: public slots: void s_ItemSelectionChanged(); }; #endif // CCGRDORIENTATIONCOMBOBOX_H ffDiaporama/src/ffDiaporama_lib/cGrdOrientationComboBox.cpp0000777000175000001440000003116412275647222024303 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "cGrdOrientationComboBox.h" #include #include #include #define MAXGRADIENTORIENTATION 9 //****************************************************************************************************************** // Custom Gradient Orientation ComboBox ITEM //****************************************************************************************************************** cCGrdOrientationComboBoxItem::cCGrdOrientationComboBoxItem(QObject *parent):QStyledItemDelegate(parent) { } //======================================================================================================================== void cCGrdOrientationComboBoxItem::paint(QPainter *painter,const QStyleOptionViewItem &option,const QModelIndex &index) const { if ((!ComboBox)||(!ComboBox->Brush)) return; int ColorNum=index.row()*3+index.column(); if ((ColorNum>=0)&&(ColorNumoption.rect.height()?option.rect.width():option.rect.height(),QPointF(option.rect.x()+option.rect.width()/2,option.rect.y()+option.rect.height()/2)); break; // Radial case GRADIENTORIENTATION_RIGHT: Gradient=QLinearGradient(QPointF(option.rect.x()+option.rect.width(),option.rect.y()+option.rect.height()/2),QPointF(option.rect.x(),option.rect.y()+option.rect.height()/2)); break; // Right case GRADIENTORIENTATION_BOTTOMLEFT: Gradient=QLinearGradient(QPointF(option.rect.x(),option.rect.y()+option.rect.height()),QPointF(option.rect.x()+option.rect.width(),option.rect.y())); break; // bt-Left case GRADIENTORIENTATION_BOTTOM: Gradient=QLinearGradient(QPointF(option.rect.x()+option.rect.width()/2,option.rect.y()+option.rect.height()),QPointF(option.rect.x()+option.rect.width()/2,option.rect.y())); break; // bottom case GRADIENTORIENTATION_BOTTOMRIGHT: Gradient=QLinearGradient(QPointF(option.rect.x()+option.rect.width(),option.rect.y()+option.rect.height()),QPointF(option.rect.x(),option.rect.y())); break; // bt-right } Gradient.setColorAt(0,QColor(ComboBox->Brush->ColorD)); Gradient.setColorAt(1,QColor(ComboBox->Brush->ColorF)); if (ComboBox->Brush->BrushType==BRUSHTYPE_GRADIENT3) Gradient.setColorAt(ComboBox->Brush->Intermediate,QColor(ComboBox->Brush->ColorIntermed)); painter->setBrush(Gradient); painter->drawRect(option.rect); } else { painter->fillRect(option.rect,Qt::white); } if (option.state & QStyle::State_Selected) { painter->setPen(QPen(Qt::blue)); painter->setBrush(QBrush(Qt::NoBrush)); painter->drawRect(option.rect.x(),option.rect.y(),option.rect.width()-1,option.rect.height()-1); painter->drawRect(option.rect.x()+1,option.rect.y()+1,option.rect.width()-1-2,option.rect.height()-1-2); painter->setPen(QPen(Qt::black)); painter->drawRect(option.rect.x()+2,option.rect.y()+2,option.rect.width()-1-4,option.rect.height()-1-4); } } //======================================================================================================================== QSize cCGrdOrientationComboBoxItem::sizeHint(const QStyleOptionViewItem &/*option*/,const QModelIndex &/*index*/) const { return QSize(32,32); } //****************************************************************************************************************** // Custom Gradient Orientation ComboBox //****************************************************************************************************************** cCGrdOrientationComboBox::cCGrdOrientationComboBox(QWidget *parent):QComboBox(parent) { STOPMAJ=false; Brush=NULL; QTableWidget *Table=new QTableWidget(); Table->horizontalHeader()->hide(); Table->verticalHeader()->hide(); Table->insertColumn(Table->columnCount()); Table->setColumnWidth(Table->columnCount()-1,32); Table->insertColumn(Table->columnCount()); Table->setColumnWidth(Table->columnCount()-1,32); Table->insertColumn(Table->columnCount()); Table->setColumnWidth(Table->columnCount()-1,32); setModel(Table->model()); setView(Table); int i=0; while (i=Table->rowCount()) { addItem(""); //automaticaly do a Table->insertRow(Table->rowCount()); Table->setRowHeight(Table->rowCount()-1,32); } i++; } ItemDelegate.ComboBox=this; setItemDelegate(&ItemDelegate); MakeIcons(); this->view()->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); this->view()->setFixedSize(3*32,3*32); connect(Table,SIGNAL(itemSelectionChanged()),this,SLOT(s_ItemSelectionChanged())); } //======================================================================================================================== void cCGrdOrientationComboBox::SetCurrentBrush(cBaseBrushDefinition *TheBrush) { if (STOPMAJ) return; Brush=TheBrush; setCurrentIndex(Brush->GradientOrientation/3); ((QTableWidget *)view())->setCurrentCell(Brush->GradientOrientation/3,Brush->GradientOrientation-(Brush->GradientOrientation/3)*3); MakeIcons(); } //======================================================================================================================== cBaseBrushDefinition *cCGrdOrientationComboBox::GetCurrentBrush() { if (Brush) { Brush->GradientOrientation=currentIndex()*3+((QTableWidget *)view())->currentColumn(); MakeIcons(); } return Brush; } //======================================================================================================================== void cCGrdOrientationComboBox::MakeIcons() { if (!Brush) return; int CurrentRow=currentIndex(); if (CurrentRow<0) return; int CurrentCol=((QTableWidget *)view())->currentColumn(); if (CurrentCol<0) CurrentCol=0; int ColorNum=CurrentRow*3+CurrentCol; //setIconSize(QSize(width()-16,16)); setIconSize(QSize(24,12)); QPixmap Image(iconSize()); QPainter Painter; Painter.begin(&Image); if ((ColorNum>=0)&&(ColorNumRect.height()?Rect.width():Rect.height(),QPointF(Rect.x()+Rect.width()/2,Rect.y()+Rect.height()/2)); break; // Radial case GRADIENTORIENTATION_RIGHT: Gradient=QLinearGradient(QPointF(Rect.x()+Rect.width(),Rect.y()+Rect.height()/2),QPointF(Rect.x(),Rect.y()+Rect.height()/2)); break; // Right case GRADIENTORIENTATION_BOTTOMLEFT: Gradient=QLinearGradient(QPointF(Rect.x(),Rect.y()+Rect.height()),QPointF(Rect.x()+Rect.width(),Rect.y())); break; // bt-Left case GRADIENTORIENTATION_BOTTOM: Gradient=QLinearGradient(QPointF(Rect.x()+Rect.width()/2,Rect.y()+Rect.height()),QPointF(Rect.x()+Rect.width()/2,Rect.y())); break; // bottom case GRADIENTORIENTATION_BOTTOMRIGHT: Gradient=QLinearGradient(QPointF(Rect.x()+Rect.width(),Rect.y()+Rect.height()),QPointF(Rect.x(),Rect.y())); break; // bt-right } Gradient.setColorAt(0,QColor(Brush->ColorD)); Gradient.setColorAt(1,QColor(Brush->ColorF)); if (Brush->BrushType==BRUSHTYPE_GRADIENT3) Gradient.setColorAt(Brush->Intermediate,QColor(Brush->ColorIntermed)); Painter.setBrush(Gradient); Painter.drawRect(Rect); } else { Painter.setBrush(QBrush(Qt::white)); Painter.drawRect(QRectF(0,0,iconSize().width(),iconSize().height())); } Painter.end(); setItemIcon(CurrentRow,QIcon(Image)); } //======================================================================================================================== void cCGrdOrientationComboBox::s_ItemSelectionChanged() { STOPMAJ=true; setCurrentIndex(((QTableWidget *)view())->currentRow()); MakeIcons(); emit currentIndexChanged(((QTableWidget *)view())->currentRow()*3+((QTableWidget *)view())->currentColumn()); STOPMAJ=false; } ffDiaporama/src/ffDiaporama_lib/cDatabase.h0000777000175000001440000002065512275647222021076 0ustar dominiqueusers/*====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2013 Dominique Levray This program is free software;you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation;either version 2 of the License,or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program;if not,write to the Free Software Foundation,Inc., 51 Franklin Street,Fifth Floor,Boston,MA 02110-1301 USA. ======================================================================*/ #ifndef CDATABASE_H #define CDATABASE_H // Include some additional standard class #ifdef Q_OS_WIN #include #include #include #else #include #include #include #endif //***************************************************************************** // Enum of all table type //***************************************************************************** enum eTypeTable { TypeTable_Undefined, TypeTable_SettingsTable, TypeTable_FolderTable, TypeTable_FileTable, TypeTable_SlideThumbsTable, TypeTable_LocationTable }; //***************************************************************************** // Utility function //***************************************************************************** void DisplayLastSQLError(QSqlQuery *Query); //***************************************************************************** // cDatabase : encapsulate a SQLite3 database //***************************************************************************** class cDatabaseTable; class cDatabase { public: QSqlDatabase db; QString dbPath; QList Tables; cBaseAppConfig *ApplicationConfig; cDatabase(QString DBFNAME); virtual ~cDatabase(); bool OpenDB(); bool CloseDB(); bool ResetDB(); bool CheckDatabaseVersion(); bool ValidateTables(); QSqlError LastError(); cDatabaseTable *GetTable(eTypeTable TableType); }; //********************************************************************************************** // cDatabaseTable : encapsulate a table // this class must not been used directly but must be use as ancestor by all table class //********************************************************************************************** class cDatabaseTable { public: cDatabase *Database; QString TableName; QString IndexKeyName; QString CreateTableQuery; QStringList CreateIndexQuery; eTypeTable TypeTable; qlonglong NextIndex; explicit cDatabaseTable(cDatabase *Database); virtual ~cDatabaseTable(); virtual bool CreateTable(); virtual bool ValidateTable(); virtual bool DoUpgradeTableVersion(qlonglong CurrentVersion); }; //********************************************************************************************** // cSettingsTable : encapsulate the settings table //********************************************************************************************** class cSettingsTable : public cDatabaseTable { public: explicit cSettingsTable(cDatabase *Database); virtual bool CreateTable(); virtual qlonglong GetIntValue(QString SettingName,qlonglong DefaultValue); virtual bool SetIntValue(QString SettingName,qlonglong Value); virtual QString GetTextValue(QString SettingName,QString DefaultValue); virtual bool SetTextValue(QString SettingName,QString Value); virtual bool GetIntAndTextValue(QString SettingName,qlonglong *IntValue,QString *TextValue); virtual bool SetIntAndTextValue(QString SettingName,qlonglong IntValue,QString TextValue); }; //********************************************************************************************** // cFolderTable : encapsulate folders in the table //********************************************************************************************** class cFolderTable : public cDatabaseTable { public: explicit cFolderTable(cDatabase *Database); virtual bool DoUpgradeTableVersion(qlonglong CurrentVersion); qlonglong GetFolderKey(QString FolderPath); QString GetFolderPath(qlonglong FolderKey); void UpdateFolderTimestamp(QDir Folder,qlonglong FolderKey); bool CheckFolderTimestamp(QDir Folder,qlonglong FolderKey); }; //********************************************************************************************** // cFilesTable : encapsulate media files in the table //********************************************************************************************** class cFilesTable : public cDatabaseTable { public: explicit cFilesTable(cDatabase *Database); virtual bool DoUpgradeTableVersion(qlonglong CurrentVersion); qlonglong GetFileKey(qlonglong FolderKey,QString ShortName,int MediaFileType,bool ForceRefresh=false); QString GetShortName(qlonglong FileKey); QString GetFileName(qlonglong FileKey); void UpdateTableForFolder(qlonglong FolderKey,bool ForceRefresh); int CleanTableForFolder(qlonglong FolderKey); virtual bool SetBasicProperties(qlonglong FileKey,QString Properties); virtual bool GetBasicProperties(qlonglong FileKey,QString *Properties,QString FileName,int64_t *FileSize,QDateTime *CreatDateTime,QDateTime *ModifDateTime); virtual bool SetExtendedProperties(qlonglong FileKey,QStringList *PropertiesList); virtual bool GetExtendedProperties(qlonglong FileKey,QStringList *PropertiesList); virtual bool SetThumbs(qlonglong FileKey,QImage *Icon16,QImage *Icon100); virtual bool GetThumbs(qlonglong FileKey,QImage *Icon16,QImage *Icon100); }; //********************************************************************************************** // cSlideThumbsTable : encapsulate thumbnails in the table //********************************************************************************************** class cSlideThumbsTable : public cDatabaseTable { public: struct TRResKeyItem { // struct use to translate key item when adding a project to a project qlonglong OrigKey; qlonglong NewKey; }; explicit cSlideThumbsTable(cDatabase *Database); virtual bool ClearTable(); virtual bool SetThumbs(qlonglong *ThumbnailKey,QImage Thumbs); virtual TRResKeyItem AppendThumbs(qlonglong OrigKey,QImage Thumbs); virtual bool GetThumbs(qlonglong *ThumbnailKey,QImage *Thumbs); virtual bool ClearThumbs(qlonglong ThumbnailKey); virtual bool RemoveThumbs(qlonglong ThumbnailKey); }; //********************************************************************************************** // cLocationTable : encapsulate locations in the table //********************************************************************************************** class cLocationTable : public cDatabaseTable { public: explicit cLocationTable(cDatabase *Database); virtual bool DoUpgradeTableVersion(qlonglong CurrentVersion); virtual qlonglong AppendLocation(QString Name,QString Address,QString FAddress,double Latitude,double Longitude,int Zoomlevel,QString Icon,QImage Thumbnail); virtual qlonglong UpdateLocation(qlonglong Key,QString Name,QString Address,QString FAddress,double Latitude,double Longitude,int Zoomlevel,QString Icon,QImage Thumbnail); }; #endif // CDATABASE_H ffDiaporama/src/ffDiaporama_lib/cDatabase.cpp0000777000175000001440000013771412275647222021436 0ustar dominiqueusers/*====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2013 Dominique Levray This program is free software;you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation;either version 2 of the License,or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program;if not,write to the Free Software Foundation,Inc., 51 Franklin Street,Fifth Floor,Boston,MA 02110-1301 USA. ======================================================================*/ #include "cBaseAppConfig.h" #define DATABASEVERSION 6 // Current database version void DisplayLastSQLError(QSqlQuery *Query) { ToLog(LOGMSG_CRITICAL,Query->lastQuery()); ToLog(LOGMSG_CRITICAL,QString("Error %1:%2").arg(Query->lastError().number()).arg(Query->lastError().text())); } //************************************************************************************************************************** // cDatabase : encapsulate a SQLite3 database //************************************************************************************************************************** cDatabase::cDatabase(QString DBFNAME) { dbPath=DBFNAME; ApplicationConfig=NULL; } //===================================================================================================== cDatabase::~cDatabase() { while (!Tables.isEmpty()) delete Tables.takeLast(); CloseDB(); } //===================================================================================================== bool cDatabase::OpenDB() { // Find QSLite driver db = QSqlDatabase::addDatabase("QSQLITE"); QDir ApplicationFolder(QFileInfo(dbPath).absolutePath()); if (!ApplicationFolder.exists()) ApplicationFolder.mkpath(ApplicationFolder.path()); db.setDatabaseName(dbPath); // Open databasee if (!db.open()) return false; // Disable journalisation to speed query QSqlQuery Query(db); if (!Query.exec("PRAGMA journal_mode=OFF")) { DisplayLastSQLError(&Query); return false; } return true; } //===================================================================================================== // Close database bool cDatabase::CloseDB() { if (db.isOpen()) db.close(); return true; } //===================================================================================================== // Reset database and recreate it bool cDatabase::ResetDB() { bool Ret=CloseDB(); if (QFileInfo(dbPath).exists()) Ret=Ret && QFile::remove(dbPath); Ret=Ret && OpenDB(); if (db.isOpen()) foreach (cDatabaseTable *Table,Tables) Ret=Ret && Table->CreateTable(); return db.isOpen(); } //===================================================================================================== // Return table object corresponding to TableName cDatabaseTable *cDatabase::GetTable(eTypeTable TableType) { foreach (cDatabaseTable *Table,Tables) if (Table->TypeTable==TableType) return Table; return NULL; } //===================================================================================================== // Get database version from setting table and upgrade database if needed bool cDatabase::CheckDatabaseVersion() { cSettingsTable *SettingsTable=(cSettingsTable *)GetTable(TypeTable_SettingsTable); bool Ret=SettingsTable!=NULL; if (Ret) { qlonglong DatabaseVersion=SettingsTable->GetIntValue("Version",0); if (DatabaseVersionDoUpgradeTableVersion(DatabaseVersion); SettingsTable->SetIntValue("Version",DATABASEVERSION); } } return Ret; } //===================================================================================================== // Validate each table one by one bool cDatabase::ValidateTables() { bool Ret=db.isOpen(); foreach (cDatabaseTable *Table,Tables) Ret=Ret && Table->ValidateTable(); return Ret; } //===================================================================================================== QSqlError cDatabase::LastError() { return db.lastError(); } //************************************************************************************************************************** // cDatabaseTable : encapsulate a table // this class must not been used directly but must be use as ancestor by all table class //************************************************************************************************************************** cDatabaseTable::cDatabaseTable(cDatabase *Database) { this->Database =Database; NextIndex =0; TypeTable =TypeTable_Undefined; } //===================================================================================================== cDatabaseTable::~cDatabaseTable() { } //===================================================================================================== bool cDatabaseTable::ValidateTable() { QSqlQuery Query(Database->db); if (Query.exec(QString("SELECT MAX(%1) FROM %2").arg(IndexKeyName).arg(TableName))) { bool Ret=true; while (Query.next()) { QVariant Value=Query.value(0); if (!Value.isNull()) NextIndex=Value.toLongLong(&Ret); } if (!Ret) DisplayLastSQLError(&Query); return Ret; } else { if (Query.lastError().number()==1) return CreateTable(); else { DisplayLastSQLError(&Query); return false; } } } //===================================================================================================== bool cDatabaseTable::CreateTable() { if (!CreateTableQuery.isEmpty()) { QSqlQuery Query(Database->db); bool Ret=Query.exec(CreateTableQuery); if (!Ret) DisplayLastSQLError(&Query); foreach (QString IndexQuery,CreateIndexQuery) Ret=Ret && Query.exec(IndexQuery); if (!Ret) DisplayLastSQLError(&Query); return Ret; } else return false; } //===================================================================================================== bool cDatabaseTable::DoUpgradeTableVersion(qlonglong) { return true; } //************************************************************************************************************************** // cSettingsTable : encapsulate the settings table //************************************************************************************************************************** cSettingsTable::cSettingsTable(cDatabase *Database):cDatabaseTable(Database) { TypeTable =TypeTable_SettingsTable; TableName ="Settings"; IndexKeyName ="Key"; CreateTableQuery="create table Settings ("\ "Key bigint primary key,"\ "Name varchar(100),"\ "IntValue bigint,"\ "TextValue text" ")"; CreateIndexQuery.append("CREATE INDEX idx_Settings_Key ON Settings (Key)"); CreateIndexQuery.append("CREATE INDEX idx_Settings_Name ON Settings (Name)"); } //===================================================================================================== bool cSettingsTable::CreateTable() { return (cDatabaseTable::CreateTable())&&(SetIntValue("Version",DATABASEVERSION)); } //===================================================================================================== qlonglong cSettingsTable::GetIntValue(QString SettingName,qlonglong DefaultValue) { QSqlQuery Query(Database->db); qlonglong RetValue=DefaultValue; Query.prepare(QString("SELECT IntValue FROM %1 WHERE Name=:Name").arg(TableName)); Query.bindValue(":Name",SettingName,QSql::In); if (!Query.exec()) DisplayLastSQLError(&Query); else while (Query.next()) { QVariant Value=Query.value(0); if (!Value.isNull()) { bool Ret=false; RetValue=Value.toLongLong(&Ret); if (!Ret) RetValue=DefaultValue; } } return RetValue; } //===================================================================================================== bool cSettingsTable::SetIntValue(QString SettingName,qlonglong Value) { QSqlQuery Query(Database->db); bool Ret=true; Query.prepare(QString("UPDATE %1 set IntValue=:IntValue WHERE Name=:Name").arg(TableName)); Query.bindValue(":IntValue",Value, QSql::In); Query.bindValue(":Name", SettingName,QSql::In); if ((!Query.exec())||(Query.numRowsAffected()==0)) { Query.prepare(QString("INSERT INTO %1 (Key,Name,IntValue) VALUES (:Key,:Name,:IntValue)").arg(TableName)); Query.bindValue(":Key", ++NextIndex,QSql::In); Query.bindValue(":IntValue",Value, QSql::In); Query.bindValue(":Name", SettingName,QSql::In); Ret=Query.exec(); if (!Ret) DisplayLastSQLError(&Query); } return Ret; } //===================================================================================================== QString cSettingsTable::GetTextValue(QString SettingName,QString DefaultValue) { QSqlQuery Query(Database->db); QString RetValue=DefaultValue; Query.prepare(QString("SELECT TextValue FROM %1 WHERE Name=:Name").arg(TableName)); Query.bindValue(":Name",SettingName,QSql::In); if (!Query.exec()) DisplayLastSQLError(&Query); else while (Query.next()) { QVariant Value=Query.value(0); if (!Value.isNull()) RetValue=Value.toString(); } return RetValue; } //===================================================================================================== bool cSettingsTable::SetTextValue(QString SettingName,QString Value) { QSqlQuery Query(Database->db); bool Ret=true; Query.prepare(QString("UPDATE %1 set TextValue=:TextValue WHERE Name=:Name").arg(TableName)); Query.bindValue(":TextValue",Value, QSql::In); Query.bindValue(":Name", SettingName,QSql::In); if ((!Query.exec())||(Query.numRowsAffected()==0)) { Query.prepare(QString("INSERT INTO %1 (Key,Name,TextValue) VALUES (:Key,:Name,:TextValue)").arg(TableName)); Query.bindValue(":Key", ++NextIndex,QSql::In); Query.bindValue(":TextValue",Value, QSql::In); Query.bindValue(":Name", SettingName,QSql::In); Ret=Query.exec(); if (!Ret) DisplayLastSQLError(&Query); } return Ret; } //===================================================================================================== bool cSettingsTable::GetIntAndTextValue(QString SettingName,qlonglong *IntValue,QString *TextValue) { QSqlQuery Query(Database->db); bool Ret=false; Query.prepare(QString("SELECT IntValue,TextValue FROM %1 WHERE Name=:Name").arg(TableName)); Query.bindValue(":Name",SettingName,QSql::In); if (!Query.exec()) DisplayLastSQLError(&Query); else while (Query.next()) { Ret=true; if (Query.value(0).isNull()) Ret=false; else *IntValue =Query.value(0).toLongLong(&Ret); if (Query.value(1).isNull()) Ret=false; else *TextValue=Query.value(1).toString(); } return Ret; } //===================================================================================================== bool cSettingsTable::SetIntAndTextValue(QString SettingName,qlonglong IntValue,QString TextValue) { bool Ret=true; QSqlQuery Query(Database->db); Query.prepare(QString("UPDATE %1 set TextValue=:TextValue,IntValue=:IntValue WHERE Name=:Name").arg(TableName)); Query.bindValue(":TextValue",TextValue, QSql::In); Query.bindValue(":IntValue", IntValue, QSql::In); Query.bindValue(":Name", SettingName,QSql::In); if ((!Query.exec())||(Query.numRowsAffected()==0)) { Query.prepare(QString("INSERT INTO %1 (Key,Name,IntValue,TextValue) VALUES (:Key,:Name,:IntValue,:TextValue)").arg(TableName)); Query.bindValue(":Key", ++NextIndex,QSql::In); Query.bindValue(":TextValue",TextValue, QSql::In); Query.bindValue(":IntValue", IntValue, QSql::In); Query.bindValue(":Name", SettingName,QSql::In); Ret=Query.exec(); if (!Ret) DisplayLastSQLError(&Query); } return Ret; } //********************************************************************************************** // cFolderTable : encapsulate folders in the table //********************************************************************************************** cFolderTable::cFolderTable(cDatabase *Database):cDatabaseTable(Database) { TypeTable =TypeTable_FolderTable; TableName ="Folders"; IndexKeyName ="Key"; CreateTableQuery="create table Folders ("\ "Key bigint primary key,"\ "Name varchar(512),"\ "ParentKey bigint,"\ "Timestamp bigint" ")"; CreateIndexQuery.append("CREATE INDEX idx_Folders_Key ON Folders (Key)"); CreateIndexQuery.append("CREATE INDEX idx_Folders_Name ON Folders (ParentKey,Name)"); } //===================================================================================================== bool cFolderTable::DoUpgradeTableVersion(qlonglong OldVersion) { QSqlQuery Query(Database->db); bool Ret=true; if (OldVersion==3) Ret=Query.exec("DROP TABLE Folders"); if (!Ret) DisplayLastSQLError(&Query); return Ret; } //===================================================================================================== // Get the key associated to a folder path // If folder not found in the database, then create it and all his parents qlonglong cFolderTable::GetFolderKey(QString FolderPath) { if ((FolderPath==".")||(FolderPath=="..")) return -1; FolderPath=QDir::toNativeSeparators(QDir(FolderPath).absolutePath()); #ifdef Q_OS_WIN // On windows, network share start with \\, so keep this information in a boolean and remove this "\" bool IsNetworkShare=FolderPath.startsWith("\\\\"); if (IsNetworkShare) FolderPath=FolderPath.mid(QString("\\\\").length()); #endif QStringList FolderList=FolderPath.split(QDir::separator()); #ifdef Q_OS_WIN // On windows, add previously \\ removed before to create the list if ((IsNetworkShare)&&(FolderList.count()>0)) FolderList[0]="\\\\"+FolderList[0]; #endif if (FolderList.last().isEmpty()) FolderList.removeLast(); qlonglong Key=-1; QString ParentPath; if (FolderList.count()>1) for (int i=0;i1)?GetFolderKey(ParentPath):-1; if (FolderList.count()>0) { QSqlQuery Query(Database->db); bool Ret=false; Query.prepare(QString("SELECT Key FROM %1 WHERE ParentKey=:ParentKey AND Name=:Name").arg(TableName)); Query.bindValue(":ParentKey",ParentKey, QSql::In); Query.bindValue(":Name", FolderList.last(), QSql::In); if (!Query.exec()) DisplayLastSQLError(&Query); else while (Query.next()) if (!Query.value(0).isNull()) { Ret=true; Key=Query.value(0).toLongLong(&Ret); } if (!Ret) { // Path not found : then add it to the table without timestamp Query.prepare(QString("INSERT INTO %1 (Key,Name,ParentKey) VALUES (:Key,:Name,:ParentKey)").arg(TableName)); Query.bindValue(":Key", ++NextIndex,QSql::In); Query.bindValue(":Name", FolderList.last(), QSql::In); Query.bindValue(":ParentKey",ParentKey, QSql::In); Ret=Query.exec(); if (!Ret) DisplayLastSQLError(&Query); else Key=NextIndex; } } return Key; } //===================================================================================================== // Check if folder timestamp is the same bool cFolderTable::CheckFolderTimestamp(QDir Folder,qlonglong FolderKey) { qlonglong TimeStamp=0; QSqlQuery Query(Database->db); Query.prepare(QString("SELECT Timestamp FROM %1 WHERE Key=:Key").arg(TableName)); Query.bindValue(":Key",FolderKey,QSql::In); if (!Query.exec()) DisplayLastSQLError(&Query); else while (Query.next()) { bool Ret; TimeStamp=Query.value(0).toLongLong(&Ret); if (!Ret) TimeStamp=0; } return TimeStamp==QFileInfo(Folder.absolutePath()).lastModified().toMSecsSinceEpoch(); } //===================================================================================================== // Update folder timestamp void cFolderTable::UpdateFolderTimestamp(QDir Folder,qlonglong FolderKey) { QSqlQuery Query(Database->db); Query.prepare(QString("UPDATE %1 SET Timestamp=:Timestamp WHERE Key=:Key").arg(TableName)); Query.bindValue(":Timestamp",QFileInfo(Folder.absolutePath()).lastModified().toMSecsSinceEpoch(),QSql::In); Query.bindValue(":Key",FolderKey,QSql::In); if (!Query.exec()) DisplayLastSQLError(&Query); } //===================================================================================================== // Get the path associated to a folder key // path are always ended with a QDir::separator() QString cFolderTable::GetFolderPath(qlonglong FolderKey) { QSqlQuery Query(Database->db); QString Path; qlonglong ParentKey=-1; Query.prepare(QString("SELECT ParentKey,Name FROM %1 WHERE Key=:Key").arg(TableName)); Query.bindValue(":Key",FolderKey,QSql::In); if (!Query.exec()) DisplayLastSQLError(&Query); else while (Query.next()) { if (!Query.value(0).isNull()) { bool Ret; ParentKey=Query.value(0).toLongLong(&Ret); if (!Ret) ParentKey=-1; } Path=Query.value(1).toString(); } if (!Path.endsWith(QDir::separator())) Path=Path+QDir::separator(); if (ParentKey!=-1) Path=GetFolderPath(ParentKey)+Path; return Path; } //********************************************************************************************** // cFilesTable : encapsulate media files in the table //********************************************************************************************** cFilesTable::cFilesTable(cDatabase *Database):cDatabaseTable(Database) { TypeTable =TypeTable_FileTable; TableName ="MediaFiles"; IndexKeyName ="Key"; CreateTableQuery="create table MediaFiles ("\ "Key bigint primary key,"\ "ShortName varchar(256),"\ "FolderKey bigint,"\ "Timestamp bigint,"\ "IsHidden int,"\ "IsDir int,"\ "CreatDateTime text,"\ "ModifDateTime text,"\ "FileSize bigint,"\ "MediaFileType int,"\ "BasicProperties text,"\ "ExtendedProperties text,"\ "Thumbnail16 binary,"\ "Thumbnail100 binary"\ ")"; CreateIndexQuery.append("CREATE INDEX idx_MediaFiles_Key ON MediaFiles (Key)"); CreateIndexQuery.append("CREATE INDEX idx_MediaFiles_FolderKey ON MediaFiles (FolderKey,ShortName)"); } //===================================================================================================== // Get the key associated to a file // If file not found in the database, then create it qlonglong cFilesTable::GetFileKey(qlonglong FolderKey,QString ShortName,int MediaFileType,bool ForceRefresh) { QSqlQuery Query(Database->db); bool Ret=false; qlonglong FileKey=-1; Query.prepare(QString("SELECT Key FROM %1 WHERE FolderKey=:FolderKey AND ShortName=:ShortName").arg(TableName)); Query.bindValue(":FolderKey",FolderKey,QSql::In); Query.bindValue(":ShortName",ShortName,QSql::In); if (!Query.exec()) DisplayLastSQLError(&Query); else while (Query.next()) if (!Query.value(0).isNull()) { Ret=true; FileKey=Query.value(0).toLongLong(&Ret); if (ForceRefresh) { QString FullPath=((cFolderTable *)Database->GetTable(TypeTable_FolderTable))->GetFolderPath(FolderKey)+ShortName; QFileInfo FileInfo(FullPath); Query.prepare(QString("UPDATE %1 SET Timestamp=:Timestamp,CreatDateTime=:CreatDateTime,ModifDateTime=:ModifDateTime,FileSize=:FileSize,MediaFileType=:MediaFileType,"\ "BasicProperties=NULL,ExtendedProperties=NULL,Thumbnail16=NULL,Thumbnail100=NULL WHERE Key=:Key").arg(TableName)); Query.bindValue(":Key", FileKey, QSql::In); Query.bindValue(":Timestamp", FileInfo.lastModified().toMSecsSinceEpoch(), QSql::In); Query.bindValue(":CreatDateTime",FileInfo.lastModified(), QSql::In); Query.bindValue(":ModifDateTime",FileInfo.created(), QSql::In); Query.bindValue(":FileSize", FileInfo.size(), QSql::In); Query.bindValue(":MediaFileType",MediaFileType, QSql::In); if (!Query.exec()) DisplayLastSQLError(&Query); } } if (!Ret) { // File not found : then add it to the table QString FullPath=((cFolderTable *)Database->GetTable(TypeTable_FolderTable))->GetFolderPath(FolderKey)+ShortName; QFileInfo FileInfo(FullPath); Query.prepare(QString("INSERT INTO %1 (Key,ShortName,FolderKey,Timestamp,IsHidden,IsDir,CreatDateTime,ModifDateTime,FileSize,MediaFileType) "\ "VALUES (:Key,:ShortName,:FolderKey,:Timestamp,:IsHidden,:IsDir,:CreatDateTime,:ModifDateTime,:FileSize,:MediaFileType)").arg(TableName)); Query.bindValue(":Key", ++NextIndex, QSql::In); Query.bindValue(":ShortName", ShortName, QSql::In); Query.bindValue(":FolderKey", FolderKey, QSql::In); Query.bindValue(":Timestamp", FileInfo.lastModified().toMSecsSinceEpoch(), QSql::In); Query.bindValue(":IsHidden", FileInfo.isHidden()||FileInfo.fileName().startsWith(".")?1:0, QSql::In); Query.bindValue(":IsDir", FileInfo.isDir()?1:0, QSql::In); Query.bindValue(":CreatDateTime",FileInfo.lastModified(), QSql::In); Query.bindValue(":ModifDateTime",FileInfo.created(), QSql::In); Query.bindValue(":FileSize", FileInfo.size(), QSql::In); Query.bindValue(":MediaFileType",MediaFileType, QSql::In); Ret=Query.exec(); if (!Ret) DisplayLastSQLError(&Query); else FileKey=NextIndex; } return FileKey; } //===================================================================================================== // Get the path associated to a folder key // path are always ended with a QDir::separator() QString cFilesTable::GetShortName(qlonglong FileKey) { QSqlQuery Query(Database->db); QString ShortName; Query.prepare(QString("SELECT ShortName FROM %1 WHERE Key=:Key").arg(TableName)); Query.bindValue(":Key",FileKey,QSql::In); if (!Query.exec()) DisplayLastSQLError(&Query); else while (Query.next()) ShortName=Query.value(0).toString(); return ShortName; } //===================================================================================================== // Get the path associated to a folder key // path are always ended with a QDir::separator() QString cFilesTable::GetFileName(qlonglong FileKey) { QSqlQuery Query(Database->db); QString FolderPath; QString ShortName; qlonglong FolderKey=-1; Query.prepare(QString("SELECT FolderKey,ShortName FROM %1 WHERE Key=:Key").arg(TableName)); Query.bindValue(":Key",FileKey,QSql::In); if (!Query.exec()) DisplayLastSQLError(&Query); else while (Query.next()) { if (!Query.value(0).isNull()) { bool Ret=true; FolderKey=Query.value(0).toLongLong(&Ret); if (Ret) FolderPath=((cFolderTable *)Database->GetTable(TypeTable_FolderTable))->GetFolderPath(FolderKey); } ShortName=Query.value(1).toString(); } return FolderPath+ShortName; } //===================================================================================================== // scan all files for a given folderkey and: // - delete files no longer exist // - set data field to null for modified files (different timestamp) int cFilesTable::CleanTableForFolder(qlonglong FolderKey) { int NbrModif=0,Count=0; QSqlQuery Query(Database->db); QSqlQuery Query2(Database->db); QString FolderPath=((cFolderTable *)Database->GetTable(TypeTable_FolderTable))->GetFolderPath(FolderKey); Query.prepare(QString("SELECT Key,ShortName,Timestamp FROM %1 WHERE FolderKey=:FolderKey").arg(TableName)); Query.bindValue(":FolderKey",FolderKey,QSql::In); if (!Query.exec()) DisplayLastSQLError(&Query); else while (Query.next()) { qlonglong FileKey=-1; QString ShortName; qlonglong Timestamp=-1; bool Ret=false; if (!Query.value(0).isNull()) { Ret=true; FileKey=Query.value(0).toLongLong(&Ret); } if (Ret) ShortName=Query.value(1).toString(); if (Ret) { if (!Query.value(2).isNull()) { Ret=true; Timestamp=Query.value(2).toLongLong(&Ret); } else NbrModif++; } if (Ret) { QFileInfo FileInfo(FolderPath+ShortName); if (!FileInfo.exists()) { Query2.prepare((QString("DELETE FROM %1 WHERE Key=:Key").arg(TableName))); Query2.bindValue(":Key",FileKey,QSql::In); if (!Query2.exec()) DisplayLastSQLError(&Query2); NbrModif++; } else { qlonglong NewTimestamp=FileInfo.lastModified().toMSecsSinceEpoch(); if (NewTimestamp!=Timestamp) { Query2.prepare((QString("UPDATE %1 SET Thumbnail16=NULL,Thumbnail100=NULL,BasicProperties=NULL,ExtendedProperties=NULL,Timestamp=:Timestamp,"\ "CreatDateTime=:CreatDateTime,ModifDateTime=:ModifDateTime,FileSize=:FileSize WHERE Key=:Key").arg(TableName))); Query2.bindValue(":Key", FileKey, QSql::In); Query2.bindValue(":Timestamp", NewTimestamp, QSql::In); Query2.bindValue(":CreatDateTime",FileInfo.lastModified().toString(Qt::ISODate),QSql::In); Query2.bindValue(":ModifDateTime",FileInfo.created().toString(Qt::ISODate), QSql::In); Query2.bindValue(":FileSize", FileInfo.size(), QSql::In); if (!Query2.exec()) DisplayLastSQLError(&Query2); NbrModif++; } } } Count++; } if (Count==0) NbrModif++; return NbrModif; } //===================================================================================================== // scan all files for a given folderkey and add new one to the table void cFilesTable::UpdateTableForFolder(qlonglong FolderKey,bool ForceRefresh) { QString FolderPath=((cFolderTable *)Database->GetTable(TypeTable_FolderTable))->GetFolderPath(FolderKey); QDir Folder(FolderPath); bool NeedRefresh=(CleanTableForFolder(FolderKey)>0) || (!((cFolderTable *)Database->GetTable(TypeTable_FolderTable))->CheckFolderTimestamp(Folder,FolderKey)); if (NeedRefresh || ForceRefresh) { QFileInfoList Files=Folder.entryInfoList(QDir::Dirs|QDir::AllDirs|QDir::Files|QDir::Hidden); foreach(QFileInfo File,Files) { QString ShortName=File.fileName(); if ((ShortName!=".")&&(ShortName!="..")) { int ObjectType=OBJECTTYPE_UNMANAGED; if (Database->ApplicationConfig->AllowImageExtension.contains(File.suffix().toLower())) { ObjectType=OBJECTTYPE_IMAGEFILE; // Special case for folder Thumbnails if (File.fileName()=="folder.jpg") { ObjectType=OBJECTTYPE_THUMBNAIL; } else if ((File.fileName().toLower().endsWith("-poster.jpg"))||(File.fileName().toLower().endsWith("-poster.png"))) { // Special case for video xbmc poster Thumbnails // Search if a video with same name exist QString ToSearch=File.fileName().left(File.fileName().toLower().indexOf("-poster.")); for (int i=0;iApplicationConfig->AllowVideoExtension.contains(((QFileInfo)Files[i]).suffix().toLower()))&&(((QFileInfo)Files[i]).completeBaseName()==ToSearch)) ObjectType=OBJECTTYPE_THUMBNAIL; } else if (File.suffix().toLower()=="jpg") { // Special case for video Thumbnails // Search if a video with same name exist for (int i=0;iApplicationConfig->AllowVideoExtension.contains(((QFileInfo)Files[i]).suffix().toLower()))&& (((QFileInfo)Files[i]).completeBaseName()==File.completeBaseName())) ObjectType=OBJECTTYPE_THUMBNAIL; } } else if (Database->ApplicationConfig->AllowImageVectorExtension.contains(File.suffix().toLower())) ObjectType=OBJECTTYPE_IMAGEVECTOR; else if (Database->ApplicationConfig->AllowVideoExtension.contains(File.suffix().toLower())) ObjectType=OBJECTTYPE_VIDEOFILE; else if (Database->ApplicationConfig->AllowMusicExtension.contains(File.suffix().toLower())) ObjectType=OBJECTTYPE_MUSICFILE; else if (File.suffix().toLower()=="ffd") ObjectType=OBJECTTYPE_FFDFILE; else if (File.isDir()) ObjectType=OBJECTTYPE_FOLDER; GetFileKey(FolderKey,File.fileName(),ObjectType,ForceRefresh); } } ((cFolderTable *)Database->GetTable(TypeTable_FolderTable))->UpdateFolderTimestamp(Folder,FolderKey); } } //===================================================================================================== // Write basic properties to the database bool cFilesTable::SetBasicProperties(qlonglong FileKey,QString Properties) { QSqlQuery Query(Database->db); Query.prepare((QString("UPDATE %1 SET BasicProperties=:BasicProperties WHERE Key=:Key").arg(TableName))); Query.bindValue(":Key", FileKey, QSql::In); Query.bindValue(":BasicProperties",Properties,QSql::In); if (!Query.exec()) { DisplayLastSQLError(&Query); return false; } return true; } //===================================================================================================== // Read basic properties from the database bool cFilesTable::GetBasicProperties(qlonglong FileKey,QString *Properties,QString FileName,int64_t *FileSize,QDateTime *CreatDateTime,QDateTime *ModifDateTime) { QSqlQuery Query(Database->db); Query.prepare((QString("SELECT BasicProperties,Timestamp,FileSize,CreatDateTime,ModifDateTime FROM %1 WHERE Key=:Key").arg(TableName))); Query.bindValue(":Key",FileKey,QSql::In); if (!Query.exec()) DisplayLastSQLError(&Query); else while (Query.next()) { bool Ret=true; qlonglong Timestamp=0; if (!Query.value(0).isNull()) *Properties =Query.value(0).toString(); else Ret=false; if ((Ret)&&(!Query.value(4).isNull())) *ModifDateTime=QDateTime().fromString(Query.value(4).toString(),Qt::ISODate); else Ret=false; if ((Ret)&&(!Query.value(3).isNull())) *CreatDateTime=QDateTime().fromString(Query.value(3).toString(),Qt::ISODate); else Ret=false; if ((Ret)&&(!Query.value(2).isNull())) *FileSize =Query.value(2).toLongLong(&Ret); else Ret=false; if ((Ret)&&(!Query.value(1).isNull())) Timestamp =Query.value(1).toLongLong(&Ret); else Ret=false; Ret=Ret && (Timestamp==QFileInfo(FileName).lastModified().toMSecsSinceEpoch()); if (*ModifDateTime<*CreatDateTime) *ModifDateTime=*CreatDateTime; return Ret; } return false; } //===================================================================================================== // Write extended properties to the database bool cFilesTable::SetExtendedProperties(qlonglong FileKey,QStringList *PropertiesList) { QDomDocument domDocument; QDomElement root=domDocument.createElement("ExtendedProperties"); domDocument.appendChild(root); for (int i=0;icount();i++) { QStringList Values=PropertiesList->at(i).split("##"); QDomElement Element=domDocument.createElement(QString("Item-%1").arg(i)); Element.setAttribute("Name", Values[0]); Element.setAttribute("Value",Values[1]); root.appendChild(Element); } QSqlQuery Query(Database->db); Query.prepare((QString("UPDATE %1 SET ExtendedProperties=:ExtendedProperties WHERE Key=:Key").arg(TableName))); Query.bindValue(":Key", FileKey, QSql::In); Query.bindValue(":ExtendedProperties",domDocument.toString(),QSql::In); if (!Query.exec()) { DisplayLastSQLError(&Query); return false; } return true; } //===================================================================================================== // Read extended properties from the database bool cFilesTable::GetExtendedProperties(qlonglong FileKey,QStringList *PropertiesList) { QSqlQuery Query(Database->db); Query.prepare((QString("SELECT ExtendedProperties FROM %1 WHERE Key=:Key").arg(TableName))); Query.bindValue(":Key",FileKey,QSql::In); if (!Query.exec()) { DisplayLastSQLError(&Query); return false; } while (Query.next()) { QDomDocument domDocument; QString errorStr; int errorLine,errorColumn; QString Value=Query.value(0).toString(); if ((domDocument.setContent(Value,true,&errorStr,&errorLine,&errorColumn))&& (domDocument.elementsByTagName("ExtendedProperties").length()>0)&& (domDocument.elementsByTagName("ExtendedProperties").item(0).isElement()==true)) { QDomElement root=domDocument.elementsByTagName("ExtendedProperties").item(0).toElement(); int i=0; while ((root.elementsByTagName(QString("Item-%1").arg(i)).length()>0)&&(root.elementsByTagName(QString("Item-%1").arg(i)).item(0).isElement()==true)) { QDomElement Element=root.elementsByTagName(QString("Item-%1").arg(i)).item(0).toElement(); PropertiesList->append(Element.attribute("Name")+"##"+Element.attribute("Value")); i++; } } return true; } return false; } //===================================================================================================== // Write thumbnails to the database bool cFilesTable::SetThumbs(qlonglong FileKey,QImage *Icon16,QImage *Icon100) { QSqlQuery Query(Database->db); Query.prepare((QString("UPDATE %1 SET Thumbnail16=:Thumbnail16,Thumbnail100=:Thumbnail100 WHERE Key=:Key").arg(TableName))); Query.bindValue(":Key",FileKey,QSql::In); if (!Icon16->isNull()) { QByteArray Data; QBuffer BufData(&Data); BufData.open(QIODevice::WriteOnly); Icon16->save(&BufData,"PNG"); Query.bindValue(":Thumbnail16",Data,QSql::In|QSql::Binary); } else Query.bindValue(":Thumbnail16",QVariant(QVariant::ByteArray),QSql::In|QSql::Binary); if (!Icon100->isNull()) { QByteArray Data; QBuffer BufData(&Data); BufData.open(QIODevice::WriteOnly); Icon100->save(&BufData,"PNG"); Query.bindValue(":Thumbnail100",Data,QSql::In|QSql::Binary); } else Query.bindValue(":Thumbnail100",QVariant(QVariant::ByteArray),QSql::In|QSql::Binary); if (!Query.exec()) { DisplayLastSQLError(&Query); return false; } return true; } //===================================================================================================== // Read thumbnails properties from the database bool cFilesTable::GetThumbs(qlonglong FileKey,QImage *Icon16,QImage *Icon100) { QSqlQuery Query(Database->db); Query.prepare((QString("SELECT Thumbnail16,Thumbnail100 FROM %1 WHERE Key=:Key").arg(TableName))); Query.bindValue(":Key",FileKey,QSql::In); if (!Query.exec()) { DisplayLastSQLError(&Query); return false; } QByteArray Data; while (Query.next()) { if (!Query.value(0).isNull()) { Data=Query.value(0).toByteArray(); Icon16->loadFromData(Data); } if (!Query.value(1).isNull()) { Data=Query.value(1).toByteArray(); Icon100->loadFromData(Data); } } return (!Icon16->isNull())&&(!Icon100->isNull()); } //===================================================================================================== bool cFilesTable::DoUpgradeTableVersion(qlonglong OldVersion) { QSqlQuery Query(Database->db); bool Ret=true; if (OldVersion==1) Ret=Query.exec("DROP TABLE MediaFiles"); else if (OldVersion==2) Ret=Query.exec("DELETE FROM MediaFiles"); else if (OldVersion==3) Ret=Query.exec("DELETE FROM MediaFiles"); if (!Ret) DisplayLastSQLError(&Query); return Ret; } //********************************************************************************************** // cFolderTable : encapsulate folders in the table //********************************************************************************************** cSlideThumbsTable::cSlideThumbsTable(cDatabase *Database):cDatabaseTable(Database) { TypeTable =TypeTable_SlideThumbsTable; TableName ="SlideThumbs"; IndexKeyName ="Key"; CreateTableQuery="create table SlideThumbs ("\ "Key bigint primary key,"\ "Thumbnail binary"\ ")"; CreateIndexQuery.append("CREATE INDEX idx_SlideThumbs_Key ON SlideThumbs (Key)"); } //===================================================================================================== // Reset the table : delete all items bool cSlideThumbsTable::ClearTable() { QSqlQuery Query(Database->db); if (!Query.exec(QString("DELETE FROM %1").arg(TableName))) { DisplayLastSQLError(&Query); return false; } NextIndex=0; return true; } //===================================================================================================== // Write thumbnails to the database bool cSlideThumbsTable::SetThumbs(qlonglong *ThumbnailKey,QImage Thumbs) { QSqlQuery Query(Database->db); if (*ThumbnailKey==-1) { Query.prepare(QString("INSERT INTO %1 (Key,Thumbnail) VALUES (:Key,:Thumbnail)").arg(TableName)); Query.bindValue(":Key",++NextIndex,QSql::In); if (!Thumbs.isNull()) { QByteArray Data; QBuffer BufData(&Data); BufData.open(QIODevice::WriteOnly); Thumbs.save(&BufData,"PNG"); Query.bindValue(":Thumbnail",Data,QSql::In|QSql::Binary); } else Query.bindValue(":Thumbnail",QVariant(QVariant::ByteArray),QSql::In|QSql::Binary); bool Ret=Query.exec(); if (!Ret) { DisplayLastSQLError(&Query); return false; } else *ThumbnailKey=NextIndex; } else { Query.prepare((QString("UPDATE %1 SET Thumbnail=:Thumbnail WHERE Key=:Key").arg(TableName))); Query.bindValue(":Key",*ThumbnailKey,QSql::In); if (!Thumbs.isNull()) { QByteArray Data; QBuffer BufData(&Data); BufData.open(QIODevice::WriteOnly); Thumbs.save(&BufData,"PNG"); Query.bindValue(":Thumbnail",Data,QSql::In|QSql::Binary); } else Query.bindValue(":Thumbnail",QVariant(QVariant::ByteArray),QSql::In|QSql::Binary); if (!Query.exec()) { DisplayLastSQLError(&Query); return false; } } return true; } //===================================================================================================== // Write a thumbnails to the database and return a TRResKeyItem cSlideThumbsTable::TRResKeyItem cSlideThumbsTable::AppendThumbs(qlonglong OrigKey,QImage Thumbs) { cSlideThumbsTable::TRResKeyItem Item; Item.OrigKey=OrigKey; Item.NewKey =-1; if (!SetThumbs(&Item.NewKey,Thumbs)) Item.NewKey =-1; return Item; } //===================================================================================================== // Read thumbnails properties from the database bool cSlideThumbsTable::GetThumbs(qlonglong *ThumbnailKey,QImage *Thumbs) { QSqlQuery Query(Database->db); if (*ThumbnailKey==-1) { Query.prepare(QString("INSERT INTO %1 (Key) VALUES (:Key)").arg(TableName)); Query.bindValue(":Key",++NextIndex,QSql::In); bool Ret=Query.exec(); if (!Ret) { DisplayLastSQLError(&Query); return false; } else *ThumbnailKey=NextIndex; } else { Query.prepare((QString("SELECT Thumbnail FROM %1 WHERE Key=:Key").arg(TableName))); Query.bindValue(":Key",*ThumbnailKey,QSql::In); if (!Query.exec()) { DisplayLastSQLError(&Query); return false; } QByteArray Data; while (Query.next()) { if (!Query.value(0).isNull()) { Data=Query.value(0).toByteArray(); Thumbs->loadFromData(Data); } } } return (!Thumbs->isNull()); } //===================================================================================================== // Reset thumbnails properties from the database bool cSlideThumbsTable::ClearThumbs(qlonglong ThumbnailKey) { if (ThumbnailKey==-1) return true; QSqlQuery Query(Database->db); Query.prepare((QString("UPDATE %1 SET Thumbnail=NULL WHERE Key=:Key").arg(TableName))); Query.bindValue(":Key",ThumbnailKey,QSql::In); if (!Query.exec()) { DisplayLastSQLError(&Query); return false; } return true; } //===================================================================================================== // Remove thumbnails properties from the database bool cSlideThumbsTable::RemoveThumbs(qlonglong ThumbnailKey) { if (ThumbnailKey==-1) return true; QSqlQuery Query(Database->db); Query.prepare((QString("DELETE FROM %1 WHERE Key=:Key").arg(TableName))); Query.bindValue(":Key",ThumbnailKey,QSql::In); if (!Query.exec()) { DisplayLastSQLError(&Query); return false; } return true; } //********************************************************************************************** // cFolderTable : encapsulate folders in the table //********************************************************************************************** cLocationTable::cLocationTable(cDatabase *Database):cDatabaseTable(Database) { TypeTable =TypeTable_LocationTable; TableName ="Location"; IndexKeyName ="Key"; CreateTableQuery="create table Location ("\ "Key bigint primary key,"\ "Name text,"\ "Address text,"\ "Latitude real,"\ "Longitude real,"\ "Zoomlevel int,"\ "Icon text,"\ "Thumbnail binary,"\ "FAddress text" ")"; CreateIndexQuery.append("CREATE INDEX idx_Location_Key ON Location (Key)"); } //===================================================================================================== bool cLocationTable::DoUpgradeTableVersion(qlonglong OldVersion) { QSqlQuery Query(Database->db); bool Ret=true; if (OldVersion<=4) { Ret=Query.exec("DROP TABLE Location"); if ((!Ret)&&(Query.lastError().number()==1)) Ret=true; } else if (OldVersion==5) { Ret=Query.exec("ALTER TABLE Location ADD COLUMN FAddress text"); if ((!Ret)&&(Query.lastError().number()==1)) Ret=true; } if (!Ret) DisplayLastSQLError(&Query); return Ret; } //===================================================================================================== qlonglong cLocationTable::AppendLocation(QString Name,QString Address,QString FAddress,double Latitude,double Longitude,int Zoomlevel,QString Icon,QImage Thumbnail) { QSqlQuery Query(Database->db); Query.prepare(QString("INSERT INTO %1 (Key,Name,Address,FAddress,Latitude,Longitude,Zoomlevel,Icon,Thumbnail) VALUES (:Key,:Name,:Address,:FAddress,:Latitude,:Longitude,:Zoomlevel,:Icon,:Thumbnail)").arg(TableName)); Query.bindValue(":Key", ++NextIndex,QSql::In); Query.bindValue(":Name", Name,QSql::In); Query.bindValue(":Address", Address,QSql::In); Query.bindValue(":FAddress", FAddress,QSql::In); Query.bindValue(":Latitude", Latitude,QSql::In); Query.bindValue(":Longitude", Longitude,QSql::In); Query.bindValue(":Zoomlevel", Zoomlevel,QSql::In); Query.bindValue(":Icon", Icon,QSql::In); QByteArray Data; QBuffer BufData(&Data); BufData.open(QIODevice::WriteOnly); Thumbnail.save(&BufData,"PNG"); Query.bindValue(":Thumbnail", Data,QSql::In); bool Ret=Query.exec(); if (!Ret) { DisplayLastSQLError(&Query); return -1; } else return NextIndex; } //===================================================================================================== qlonglong cLocationTable::UpdateLocation(qlonglong Key,QString Name,QString Address,QString FAddress,double Latitude,double Longitude,int Zoomlevel,QString Icon,QImage Thumbnail) { QSqlQuery Query(Database->db); Query.prepare(QString("UPDATE %1 SET Name=:Name,Address=:Address,FAddress=:FAddress,Latitude=:Latitude,Longitude=:Longitude,Zoomlevel=:Zoomlevel,Icon=:Icon,Thumbnail=:Thumbnail WHERE Key=:Key").arg(TableName)); Query.bindValue(":Key", Key,QSql::In); Query.bindValue(":Name", Name,QSql::In); Query.bindValue(":Address", Address,QSql::In); Query.bindValue(":FAddress", FAddress,QSql::In); Query.bindValue(":Latitude", Latitude,QSql::In); Query.bindValue(":Longitude", Longitude,QSql::In); Query.bindValue(":Zoomlevel", Zoomlevel,QSql::In); Query.bindValue(":Icon", Icon,QSql::In); QByteArray Data; QBuffer BufData(&Data); BufData.open(QIODevice::WriteOnly); Thumbnail.save(&BufData,"PNG"); Query.bindValue(":Thumbnail", Data,QSql::In); bool Ret=Query.exec(); if (!Ret) { DisplayLastSQLError(&Query); return -1; } else return NextIndex; } ffDiaporama/src/ffDiaporama_lib/cCustomIcon.h0000777000175000001440000000367712275647222021462 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef CCUSTOMICON_H #define CCUSTOMICON_H // Basic inclusions (common to all files) #include "BasicDefines.h" #include #include class cCustomIcon { public: QImage Icon16,Icon100; // Icons enum IconSize {ICON16,ICON100}; cCustomIcon(); virtual void LoadIcons(cCustomIcon *CustomIcon); virtual void LoadIcons(QString FileName); virtual void LoadIcons(QImage *Image); virtual void LoadIcons(QIcon Icon); virtual void LoadIconsFromIMG(QString FileName); virtual void LoadIconsFromLinux(QString LinuxPath,QString FileName); virtual QImage *GetIcon(IconSize Size); virtual QIcon GetIcon(); }; #ifdef Q_OS_WIN QImage qt_fromWinHBITMAP(HDC hdc, HBITMAP bitmap, int w, int h); QPixmap convertHIconToPixmap( const HICON icon); QIcon GetIconForFileOrDir(QString FileName,int IconIndex); #endif #endif // CCUSTOMICON_H ffDiaporama/src/ffDiaporama_lib/cCustomIcon.cpp0000777000175000001440000003240712275647222022006 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "cCustomIcon.h" //***************************************************************************************************************************************** #ifdef Q_OS_WIN #include #include #include #ifndef SHGFI_ADDOVERLAYS #define SHGFI_ADDOVERLAYS 0x000000020 #endif // qt_fromWinHBITMAP From Qmmander Filemanager / Copyright (C) Alex Skoruppa 2009 (See:http://qmmander.googlecode.com/svn-history/r93/trunk/winfileinfo.cpp) QImage qt_fromWinHBITMAP(HDC hdc, HBITMAP bitmap, int w, int h) { BITMAPINFO bmi; memset(&bmi, 0, sizeof(bmi)); bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER); bmi.bmiHeader.biWidth = w; bmi.bmiHeader.biHeight = -h; bmi.bmiHeader.biPlanes = 1; bmi.bmiHeader.biBitCount = 32; bmi.bmiHeader.biCompression = BI_RGB; bmi.bmiHeader.biSizeImage = w * h * 4; QImage image(w, h, QImage::Format_ARGB32_Premultiplied); if (image.isNull()) return image; // Get bitmap bits uchar *data = (uchar *)malloc(bmi.bmiHeader.biSizeImage); if (GetDIBits(hdc, bitmap, 0, h, data, &bmi, DIB_RGB_COLORS)) { // Create image and copy data into image. for (int y=0; y(image.scanLine(y)); for (int x = 0; x < w ; x++) { if (qAlpha(scanLine[x]) != 0) { foundAlpha = true; break; } } } if (!foundAlpha) { //If no alpha was found, we use the mask to set alpha values DrawIconEx( hdc, 0, 0, icon, w, h, 0, 0, DI_MASK); QImage mask = qt_fromWinHBITMAP(hdc, winBitmap, w, h); for (int y = 0 ; y < h ; y++){ QRgb *scanlineImage = reinterpret_cast(image.scanLine(y)); QRgb *scanlineMask = mask.isNull() ? 0 : reinterpret_cast(mask.scanLine(y)); for (int x = 0; x < w ; x++){ if (scanlineMask && qRed(scanlineMask[x]) != 0) scanlineImage[x] = 0; //mask out this pixel else scanlineImage[x] |= 0xff000000; // set the alpha channel to 255 } } } //dispose resources created by iconinfo call DeleteObject(iconinfo.hbmMask); DeleteObject(iconinfo.hbmColor); SelectObject(hdc, oldhdc); //restore state DeleteObject(winBitmap); DeleteDC(hdc); return QPixmap::fromImage(image); } //==================================================================================================================== // GetIconForFileOrDir adapted by domledom From Qmmander Filemanager / Copyright (C) Alex Skoruppa 2009 (See:http://qmmander.googlecode.com/svn-history/r93/trunk/winfileinfo.cpp) QIcon GetIconForFileOrDir(QString FileName,int IconIndex) { QIcon RetIcon; WCHAR WinFileName[256+1]; QPixmap pixmap; MultiByteToWideChar(CP_ACP,0,FileName.toLocal8Bit(),-1,WinFileName,256+1); if (IconIndex!=0) { HICON Icon; if (ExtractIconEx(WinFileName,IconIndex,&Icon,NULL,1)>0) { pixmap=convertHIconToPixmap(Icon); DeleteObject(Icon); if (!pixmap.isNull()) RetIcon.addPixmap(pixmap); return RetIcon; } else if (ExtractIconEx(WinFileName,IconIndex,NULL,&Icon,1)>0) { pixmap=convertHIconToPixmap(Icon); DeleteObject(Icon); if (!pixmap.isNull()) RetIcon.addPixmap(pixmap); return RetIcon; } } SHFILEINFO info; QString key; QString fileExtension=QFileInfo(FileName).suffix().toUpper(); fileExtension.prepend(QLatin1String(".")); if (QFileInfo(FileName).isFile() && !QFileInfo(FileName).isExecutable() && !QFileInfo(FileName).isSymLink()) key=QLatin1String("qt_")+fileExtension; if (!key.isEmpty()) QPixmapCache::find(key, pixmap); if (!pixmap.isNull()) { RetIcon.addPixmap(pixmap); if (QPixmapCache::find(key+QLatin1Char('l'),pixmap)) RetIcon.addPixmap(pixmap); return RetIcon; } //Get the small icon if (SHGetFileInfo(WinFileName,0,&info,sizeof(SHFILEINFO),SHGFI_ICON|SHGFI_SMALLICON|SHGFI_SYSICONINDEX|SHGFI_ADDOVERLAYS)) { if (QFileInfo(FileName).isDir() && !QDir(FileName).isRoot()) { //using the unique icon index provided by windows save us from duplicate keys key = QString::fromLatin1("qt_dir_%1").arg(info.iIcon); QPixmapCache::find(key,pixmap); if (!pixmap.isNull()) { RetIcon.addPixmap(pixmap); if (QPixmapCache::find(key + QLatin1Char('l'), pixmap)) RetIcon.addPixmap(pixmap); DestroyIcon(info.hIcon); return RetIcon; } } if (pixmap.isNull()) { pixmap = convertHIconToPixmap(info.hIcon); if (!pixmap.isNull()) { RetIcon.addPixmap(pixmap); if (!key.isEmpty()) QPixmapCache::insert(key,pixmap); } else { ToLog(LOGMSG_WARNING,"QCustomFolderTree::getWinIcon() no small icon found"); } } DestroyIcon(info.hIcon); } //Get the big icon if (SHGetFileInfo(WinFileName,0,&info,sizeof(SHFILEINFO),SHGFI_ICON|SHGFI_LARGEICON|SHGFI_SYSICONINDEX|SHGFI_ADDOVERLAYS)) { if (QFileInfo(FileName).isDir() && !QFileInfo(FileName).isRoot()) { //using the unique icon index provided by windows save us from duplicate keys key=QString::fromLatin1("qt_dir_%1").arg(info.iIcon); } pixmap=convertHIconToPixmap(info.hIcon); if (!pixmap.isNull()) { RetIcon.addPixmap(pixmap); if (!key.isEmpty()) QPixmapCache::insert(key+QLatin1Char('l'),pixmap); } else { ToLog(LOGMSG_WARNING,"QCustomFolderTree::getWinIcon() no large icon found"); } DestroyIcon(info.hIcon); } if (RetIcon.isNull()) ToLog(LOGMSG_CRITICAL,QString("Loading icon nbr %1 From %2 Error").arg(IconIndex).arg(FileName)); return RetIcon; } #endif //***************************************************************************************************************************************** cCustomIcon::cCustomIcon() { } void cCustomIcon::LoadIcons(QString FileName) { QImage Icon(FileName); if (Icon.isNull()) ToLog(LOGMSG_CRITICAL,QString("Loading %1 Error").arg(FileName)); else { if (Icon.width()>Icon.height()) { Icon16 =Icon.scaledToWidth(16,Qt::SmoothTransformation); Icon100=Icon.scaledToWidth(100,Qt::SmoothTransformation); } else { Icon16 =Icon.scaledToHeight(16,Qt::SmoothTransformation); Icon100=Icon.scaledToHeight(100,Qt::SmoothTransformation); } } } //==================================================================================================================== void cCustomIcon::LoadIcons(cCustomIcon *CustomIcon) { Icon16 =CustomIcon->Icon16.copy(); Icon100=CustomIcon->Icon100.copy(); } //==================================================================================================================== void cCustomIcon::LoadIconsFromIMG(QString FileName) { Icon16.load (":/img/MediaIcons/16x16/"+FileName); if (Icon16.isNull()) ToLog(LOGMSG_CRITICAL,QString("Loading img/MediaIcons/16x16/%1 Error").arg(FileName)); Icon100.load(":/img/MediaIcons/100x100/"+FileName); if (Icon100.isNull()) ToLog(LOGMSG_CRITICAL,QString("Loading img/MediaIcons/100x100/%1 Error").arg(FileName)); } //==================================================================================================================== void cCustomIcon::LoadIconsFromLinux(QString LinuxPath,QString FileName) { Icon16.load(LinuxPath+"16x16/"+FileName); if (Icon16.isNull()) ToLog(LOGMSG_CRITICAL,QString("Loading %116x16/%2 Error").arg(LinuxPath).arg(FileName)); Icon100=QImage(LinuxPath+"128x128/"+FileName); if (Icon100.isNull()) ToLog(LOGMSG_CRITICAL,QString("Loading %1128x128/%2 Error").arg(LinuxPath).arg(FileName)); if (!Icon100.isNull()) Icon100=Icon100.scaledToHeight(100,Qt::SmoothTransformation); } //==================================================================================================================== void cCustomIcon::LoadIcons(QImage *Image) { if (Image->width()>Image->height()) { Icon16 =Image->scaledToWidth(16,Qt::SmoothTransformation); Icon100=Image->scaledToWidth(100,Qt::SmoothTransformation); } else { Icon16 =Image->scaledToHeight(16,Qt::SmoothTransformation); Icon100=Image->scaledToHeight(100,Qt::SmoothTransformation); } } //==================================================================================================================== void cCustomIcon::LoadIcons(QIcon Icon) { Icon16 =Icon.pixmap(16,16).toImage(); Icon100=Icon.pixmap(100,100).toImage(); //if ((Icon100.height()<100)&&(Icon100.width()<100)) { if (((Icon100.height()<100)&&(Icon100.width()<100))||(Icon100.height()>100)||(Icon100.width()>100)) { if (Icon100.height()>Icon100.width()) Icon100=Icon100.scaledToHeight(100,Qt::SmoothTransformation); else Icon100=Icon100.scaledToWidth(100,Qt::SmoothTransformation); } } //==================================================================================================================== QIcon cCustomIcon::GetIcon() { QIcon Ret=QIcon(QPixmap().fromImage(Icon16)); Ret.addPixmap(QPixmap().fromImage(Icon100)); return Ret; } //==================================================================================================================== QImage *cCustomIcon::GetIcon(IconSize Size) { switch (Size) { case ICON16: return &Icon16; case ICON100: return &Icon100; default: return &Icon16; } } ffDiaporama/src/ffDiaporama_lib/cColorComboBox.h0000777000175000001440000000567512275647222022106 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef CCCOLORCOMBOBOX_H #define CCCOLORCOMBOBOX_H #include "BasicDefines.h" #include #include //****************************************************************************************************************** // Custom QAbstractItemDelegate for Color ComboBox //****************************************************************************************************************** class cCColorComboBox; class cCColorComboBoxItem : public QStyledItemDelegate { Q_OBJECT public: cCColorComboBox *ComboBox; explicit cCColorComboBoxItem(QObject *parent=0); virtual void paint(QPainter *painter,const QStyleOptionViewItem &option,const QModelIndex &index) const; virtual QSize sizeHint(const QStyleOptionViewItem &option,const QModelIndex &index) const; }; //****************************************************************************************************************** // Custom Color ComboBox //****************************************************************************************************************** class cCColorComboBox : public QComboBox { Q_OBJECT public: QString *CurrentColor; QString SavedCustomColor; bool StandardColor; bool STOPMAJ; bool IsPopupOpen; cCColorComboBoxItem ItemDelegate; explicit cCColorComboBox(QWidget *parent = 0); void MakeIcons(); void SetCurrentColor(QString *Color); QString GetCurrentColor(); protected: virtual void hidePopup() { IsPopupOpen=false; QComboBox::hidePopup(); emit PopupClosed(0); } virtual void showPopup() { IsPopupOpen=true; QComboBox::showPopup(); } signals: void PopupClosed(int); public slots: void s_ItemSelectionChanged(); void s_ItemPressed(int Row,int Col); }; #endif // CCCOLORCOMBOBOX_H ffDiaporama/src/ffDiaporama_lib/cColorComboBox.cpp0000777000175000001440000002406012275647222022426 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "cColorComboBox.h" #include #include #include #include //****************************************************************************************************************** // Custom Color ComboBox ITEM //****************************************************************************************************************** #define MAXCOLORREF 99 QString ColorRef[MAXCOLORREF]={ "#f2f2f2","#d8d8d8","#bfbfbf","#a5a5a5","#7f7f7f", // LIGHT-GRAY "#595959","#3f3f3f","#262626","#0c0c0c","#000000", // DARK-GRAY "#dae1eb","#b5c4d7","#91a7c3","#3c526f","#28374a", // BLUE-GRAY "#c8eefc","#91defa","#5acef8","#0578a2","#03506c", // BLUE-1 "#e0e6f5","#c1ceeb","#a2b5e2","#365bb0","#243c75", // BLUE-2 "#e8eeee","#d1dede","#b9cdce","#61888a","#405b5c", // BLUE-3 "#e5ecd8","#cbd9b2","#b2c78c","#5c7237","#3d4c25", // GREEN-1 "#e8efe8","#d2dfd1","#bbcfba","#648c60","#425d40", // GREEN-2 "#e1dca5","#d0c974","#a29a36","#514d1b","#201e0a", // GREEN-3 "#f5f2d8","#ece5b2","#e2d88c","#a39428","#6d621a", // GREEN-4 "#f2eee8","#e6ded1","#dacdba","#a38557","#6d593a", // MARROON-1 "#f6e6d5","#eeceaa","#e6b681","#a2641f","#6c4315", // MARROON-2 "#f2e0c6","#e6c28d","#daa454","#664515","#442e0e", // MARROON-3 "#fff7c1","#fff084","#ffe947","#998700","#665a00", // YELLOW-1 "#fde1d1","#fcc3a3","#fba576","#c94b05","#863203", // ORANGE "#fbc7bc","#f78f7a","#f35838","#711806","#4b1004", // RED-1 "#e5e1f4","#cbc3e9","#b1a6de","#533da9","#372970", // VIOLET-1 "#ece4f1","#dac9e3","#c7aed6","#7d4d99","#533366", // VIOLET-2 "#000000","#ff0000","#00ff00","#0000ff","#ffffff", // Full-colors "#ffff00","#ff00ff","#00ffff","#3a3a3a" }; //======================================================================================================================== cCColorComboBoxItem::cCColorComboBoxItem(QObject *parent):QStyledItemDelegate(parent) { } //======================================================================================================================== void cCColorComboBoxItem::paint(QPainter *painter,const QStyleOptionViewItem &option,const QModelIndex &index) const { int ColorNum=index.row()*5+index.column(); if (ColorNumsetPen(Qt::NoPen); painter->setBrush(QBrush(QColor(ColorRef[ColorNum]))); painter->drawRect(option.rect); } else { if (ColorNum==MAXCOLORREF) { painter->fillRect(option.rect,QColor(ComboBox->SavedCustomColor)); QImage Img(":/img/colorize.png"); painter->drawImage(QRectF(option.rect.x()+(option.rect.width()-16)/2,option.rect.y()+(option.rect.height()-16)/2,16,16),Img); } else { painter->fillRect(option.rect,Qt::white); } } if (option.state & QStyle::State_Selected) { painter->setPen(QPen(Qt::blue)); painter->setBrush(QBrush(Qt::NoBrush)); painter->drawRect(option.rect.x(),option.rect.y(),option.rect.width()-1,option.rect.height()-1); painter->drawRect(option.rect.x()+1,option.rect.y()+1,option.rect.width()-1-2,option.rect.height()-1-2); painter->setPen(QPen(Qt::black)); painter->drawRect(option.rect.x()+2,option.rect.y()+2,option.rect.width()-1-4,option.rect.height()-1-4); } } //======================================================================================================================== QSize cCColorComboBoxItem::sizeHint(const QStyleOptionViewItem &/*option*/,const QModelIndex &/*index*/) const { return QSize(24,24); } //****************************************************************************************************************** // Custom Color ComboBox //****************************************************************************************************************** cCColorComboBox::cCColorComboBox(QWidget *parent):QComboBox(parent) { STOPMAJ =false; IsPopupOpen =false; CurrentColor=NULL; QTableWidget *Table=new QTableWidget(); Table->horizontalHeader()->hide(); Table->verticalHeader()->hide(); Table->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); Table->insertColumn(Table->columnCount()); Table->setColumnWidth(Table->columnCount()-1,24); Table->insertColumn(Table->columnCount()); Table->setColumnWidth(Table->columnCount()-1,24); Table->insertColumn(Table->columnCount()); Table->setColumnWidth(Table->columnCount()-1,24); Table->insertColumn(Table->columnCount()); Table->setColumnWidth(Table->columnCount()-1,24); Table->insertColumn(Table->columnCount()); Table->setColumnWidth(Table->columnCount()-1,24); setModel(Table->model()); setView(Table); int i=0; while (i<=MAXCOLORREF) { if ((i/5)>=Table->rowCount()) { addItem(""); // automaticaly do a Table->insertRow(Table->rowCount()); Table->setRowHeight(Table->rowCount()-1,24); } i++; } ItemDelegate.ComboBox=this; setItemDelegate(&ItemDelegate); MakeIcons(); this->view()->setFixedWidth(5*24+18); this->view()->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); connect(Table,SIGNAL(itemSelectionChanged()),this,SLOT(s_ItemSelectionChanged())); connect(Table,SIGNAL(cellPressed(int,int)),this,SLOT(s_ItemPressed(int,int))); } //======================================================================================================================== void cCColorComboBox::SetCurrentColor(QString *Color) { CurrentColor=Color; if (!Color) return; int i=0; while ((i=0)&&(isetCurrentCell(Row,5); setCurrentIndex(Row); } else { //SavedCustomColor=ColorRef[i]/*"#fefefe"*/; ((QTableWidget *)view())->setCurrentCell(Row,Col); setCurrentIndex(Row); } MakeIcons(); } //======================================================================================================================== QString cCColorComboBox::GetCurrentColor() { if (!CurrentColor) return SavedCustomColor; int i=((QTableWidget *)view())->currentRow()*5+((QTableWidget *)view())->currentColumn(); StandardColor=((i>=0)&&(i=0)&&(icurrentRow(); if (CurrentRow<0) CurrentRow=0; int CurrentCol=((QTableWidget *)view())->currentColumn(); if (CurrentCol<0) CurrentCol=0; ColorNum=CurrentRow*5+CurrentCol; } //setIconSize(QSize(width()-16,16)); setIconSize(QSize(24,12)); QPixmap Image(iconSize()); QPainter Painter; Painter.begin(&Image); if (ColorNumcurrentRow()); MakeIcons(); emit currentIndexChanged(((QTableWidget *)view())->currentRow()*5+((QTableWidget *)view())->currentColumn()); STOPMAJ=false; } //======================================================================================================================== void cCColorComboBox::s_ItemPressed(int,int) { int CurrentRow=((QTableWidget *)view())->currentRow(); if (CurrentRow<0) CurrentRow=0; int CurrentCol=((QTableWidget *)view())->currentColumn(); if (CurrentCol<0) CurrentCol=0; int ColorNum=CurrentRow*5+CurrentCol; if (ColorNum>=MAXCOLORREF) { // Open box to select custom color QColor color=QColorDialog::getColor(SavedCustomColor); if (color.isValid()) { STOPMAJ=true; SavedCustomColor=color.name(); MakeIcons(); emit currentIndexChanged(((QTableWidget *)view())->currentRow()*5+((QTableWidget *)view())->currentColumn()); STOPMAJ=false; } } } ffDiaporama/src/ffDiaporama_lib/cBrushComboBox.h0000777000175000001440000000513012275647222022075 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef CCBRUSHCOMBOBOX_H #define CCBRUSHCOMBOBOX_H #include "cBaseBrushDefinition.h" #include #include #include //****************************************************************************************************************** // Custom QAbstractItemDelegate for Brush ComboBox //****************************************************************************************************************** class cCBrushComboBox; class cCBrushComboBoxItem : public QStyledItemDelegate { Q_OBJECT public: cCBrushComboBox *ComboBox; explicit cCBrushComboBoxItem(QObject *parent=0); virtual void paint(QPainter *painter,const QStyleOptionViewItem &option,const QModelIndex &index) const; virtual QSize sizeHint(const QStyleOptionViewItem &option,const QModelIndex &index) const; }; //****************************************************************************************************************** // Custom Brush ComboBox //****************************************************************************************************************** class cCBrushComboBox : public QComboBox { Q_OBJECT public: bool STOPMAJ; cBaseBrushDefinition *Brush; cCBrushComboBoxItem ItemDelegate; explicit cCBrushComboBox(QWidget *parent = 0); void MakeIcons(); void SetCurrentBrush(cBaseBrushDefinition *Brush); cBaseBrushDefinition *GetCurrentBrush(); protected: signals: public slots: void s_ItemSelectionChanged(); }; #endif // CCBRUSHCOMBOBOX_H ffDiaporama/src/ffDiaporama_lib/cBrushComboBox.cpp0000777000175000001440000001574512275647222022445 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "cBrushComboBox.h" #include #include #define MAXBRUSHPATTERN 12 //****************************************************************************************************************** // Custom Brush ComboBox ITEM //****************************************************************************************************************** cCBrushComboBoxItem::cCBrushComboBoxItem(QObject *parent):QStyledItemDelegate(parent) { } //======================================================================================================================== void cCBrushComboBoxItem::paint(QPainter *painter,const QStyleOptionViewItem &option,const QModelIndex &index) const { if ((!ComboBox)||(!ComboBox->Brush)) return; int ColorNum=index.row()*4+index.column(); if (ColorNumBrush->ColorD; Brush.BrushType =BRUSHTYPE_PATTERN; Brush.PatternType=ColorNum; painter->fillRect(option.rect,Brush.ColorD.toLower()!="#ffffff"?Qt::white:Qt::black); QBrush *BR=Brush.GetBrush(option.rect); if (BR) { painter->setBrush(*BR); delete BR; } painter->drawRect(option.rect); } else { painter->fillRect(option.rect,Qt::white); } if (option.state & QStyle::State_Selected) { painter->setPen(QPen(Qt::blue)); painter->setBrush(QBrush(Qt::NoBrush)); painter->drawRect(option.rect.x(),option.rect.y(),option.rect.width()-1,option.rect.height()-1); painter->drawRect(option.rect.x()+1,option.rect.y()+1,option.rect.width()-1-2,option.rect.height()-1-2); painter->setPen(QPen(Qt::black)); painter->drawRect(option.rect.x()+2,option.rect.y()+2,option.rect.width()-1-4,option.rect.height()-1-4); } } //======================================================================================================================== QSize cCBrushComboBoxItem::sizeHint(const QStyleOptionViewItem &/*option*/,const QModelIndex &/*index*/) const { return QSize(32,32); } //****************************************************************************************************************** // Custom Brush ComboBox //****************************************************************************************************************** cCBrushComboBox::cCBrushComboBox(QWidget *parent):QComboBox(parent) { STOPMAJ=false; Brush=NULL; QTableWidget *Table=new QTableWidget(); Table->horizontalHeader()->hide(); Table->verticalHeader()->hide(); Table->insertColumn(Table->columnCount()); Table->setColumnWidth(Table->columnCount()-1,32); Table->insertColumn(Table->columnCount()); Table->setColumnWidth(Table->columnCount()-1,32); Table->insertColumn(Table->columnCount()); Table->setColumnWidth(Table->columnCount()-1,32); Table->insertColumn(Table->columnCount()); Table->setColumnWidth(Table->columnCount()-1,32); setModel(Table->model()); setView(Table); int i=0; while (i=Table->rowCount()) { addItem(""); //automaticaly do a Table->insertRow(Table->rowCount()); Table->setRowHeight(Table->rowCount()-1,32); } i++; } ItemDelegate.ComboBox=this; setItemDelegate(&ItemDelegate); MakeIcons(); this->view()->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); this->view()->setFixedSize(4*32,3*32); connect(Table,SIGNAL(itemSelectionChanged()),this,SLOT(s_ItemSelectionChanged())); } //======================================================================================================================== void cCBrushComboBox::SetCurrentBrush(cBaseBrushDefinition *TheBrush) { if (STOPMAJ) return; Brush=TheBrush; ((QTableWidget *)view())->setCurrentCell(Brush->PatternType/4,Brush->PatternType-(Brush->PatternType/4)*4); setCurrentIndex(Brush->PatternType/4); MakeIcons(); } //======================================================================================================================== cBaseBrushDefinition *cCBrushComboBox::GetCurrentBrush() { Brush->BrushType =BRUSHTYPE_PATTERN; Brush->PatternType=currentIndex()*4+((QTableWidget *)view())->currentColumn(); MakeIcons(); return Brush; } //======================================================================================================================== void cCBrushComboBox::MakeIcons() { if (!Brush) return; int CurrentRow=currentIndex(); if (CurrentRow<0) return; int CurrentCol=((QTableWidget *)view())->currentColumn(); if (CurrentCol<0) CurrentCol=0; int ColorNum=CurrentRow*4+CurrentCol; //setIconSize(QSize(width()-16,16)); setIconSize(QSize(32,12)); QPixmap Image(iconSize()); QPainter Painter; Painter.begin(&Image); if (ColorNumColorD; TheBrush.BrushType =BRUSHTYPE_PATTERN; TheBrush.PatternType=ColorNum; Painter.fillRect(QRectF(0,0,iconSize().width(),iconSize().height()),TheBrush.ColorD.toLower()!="#ffffff"?Qt::white:Qt::black); QBrush *BR=TheBrush.GetBrush(QRectF(0,0,iconSize().width(),iconSize().height())); if (BR) { Painter.setBrush(*BR); delete BR; } Painter.drawRect(QRectF(0,0,iconSize().width(),iconSize().height())); } else { Painter.setBrush(QBrush(Qt::white)); Painter.drawRect(QRectF(0,0,iconSize().width(),iconSize().height())); } Painter.end(); setItemIcon(CurrentRow,QIcon(Image)); } //======================================================================================================================== void cCBrushComboBox::s_ItemSelectionChanged() { STOPMAJ=true; setCurrentIndex(((QTableWidget *)view())->currentRow()); MakeIcons(); emit currentIndexChanged(((QTableWidget *)view())->currentRow()*4+((QTableWidget *)view())->currentColumn()); STOPMAJ=false; } ffDiaporama/src/ffDiaporama_lib/cBaseBrushDefinition.h0000777000175000001440000001137412275647222023257 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef CBASEBRUSHDEFINITION_H #define CBASEBRUSHDEFINITION_H #include "BasicDefines.h" #include "cBaseAppConfig.h" #include //============================================ // Brush type definition #define BRUSHTYPE_NOBRUSH 0 #define BRUSHTYPE_SOLID 1 #define BRUSHTYPE_PATTERN 2 #define BRUSHTYPE_GRADIENT2 3 #define BRUSHTYPE_GRADIENT3 4 #define BRUSHTYPE_IMAGELIBRARY 5 #define BRUSHTYPE_IMAGEDISK 6 // Brush Gradient orientation #define GRADIENTORIENTATION_UPLEFT 0 #define GRADIENTORIENTATION_UP 1 #define GRADIENTORIENTATION_UPRIGHT 2 #define GRADIENTORIENTATION_LEFT 3 #define GRADIENTORIENTATION_RADIAL 4 #define GRADIENTORIENTATION_RIGHT 5 #define GRADIENTORIENTATION_BOTTOMLEFT 6 #define GRADIENTORIENTATION_BOTTOM 7 #define GRADIENTORIENTATION_BOTTOMRIGHT 8 //============================================ extern QBrush Transparent; // Transparent brush QBrush *GetGradientBrush(QRectF Rect,int BrushType,int GradientOrientation,QString ColorD,QString ColorF,QString ColorIntermed,double Intermediate); //********************************************************************************************************************************************* // Base object for background library object //********************************************************************************************************************************************* class cBackgroundObject { public: bool IsValide; qlonglong FileKey; QDateTime ModifDateTime; cBaseAppConfig *ApplicationConfig; QString Name; cBackgroundObject(QString FileName,cBaseAppConfig *ApplicationConfig); QImage* GetBackgroundImage(); QImage GetBackgroundThumb(int Geometry); private: int CurrentGeometry; QImage Thumbnail[3]; }; //********************************************************************************************************************************************* // Global class containing background library //********************************************************************************************************************************************* class cBackgroundList { public: QList List; // list of brush cBackgroundList(); void ScanDisk(QString Path,cBaseAppConfig *ApplicationConfig); int SearchImage(QString NameToFind); }; extern cBackgroundList BackgroundList; //============================================ class cBaseBrushDefinition { public: int BrushType; // 0=no brush, 1=Solid, 2=Pattern, 3=Gradient 2 colors, 4=Gradient 3 colors int PatternType; // Type of pattern when BrushType is Pattern (Qt::BrushStyle standard) int GradientOrientation; // 0=Radial, 1->4=Linear from a corner, 5->9=Linear from a border QString ColorD; // First Color QString ColorF; // Last Color QString ColorIntermed; // Intermediate Color double Intermediate; // Intermediate position of 2nd color (in %) for gradient 3 colors QString BrushImage; // Image name if image from library explicit cBaseBrushDefinition(); virtual ~cBaseBrushDefinition(); virtual void InitDefaultValues(); virtual QBrush *GetBrush(QRectF Rect); QBrush *GetLibraryBrush(QRectF Rect); }; #endif // CBASEBRUSHDEFINITION_H ffDiaporama/src/ffDiaporama_lib/cBaseBrushDefinition.cpp0000777000175000001440000003112512275647222023606 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "cBaseBrushDefinition.h" QBrush Transparent; // Transparent brush //********************************************************************************************************************************************* // Utility function to create a gradient brush //********************************************************************************************************************************************* QBrush *GetGradientBrush(QRectF Rect,int BrushType,int GradientOrientation,QString ColorD,QString ColorF,QString ColorIntermed,double Intermediate) { QGradient Gradient; switch (GradientOrientation) { case GRADIENTORIENTATION_UPLEFT: Gradient=QLinearGradient(QPointF(Rect.x(),Rect.y()),QPointF(Rect.x()+Rect.width(),Rect.y()+Rect.height())); break; // Up-Left case GRADIENTORIENTATION_UP: Gradient=QLinearGradient(QPointF(Rect.x()+Rect.width()/2,Rect.y()),QPointF(Rect.x()+Rect.width()/2,Rect.y()+Rect.height())); break; // Up case GRADIENTORIENTATION_UPRIGHT: Gradient=QLinearGradient(QPointF(Rect.x()+Rect.width(),Rect.y()),QPointF(Rect.x(),Rect.y()+Rect.height())); break; // Up-right case GRADIENTORIENTATION_LEFT: Gradient=QLinearGradient(QPointF(Rect.x(),Rect.y()+Rect.height()/2),QPointF(Rect.x()+Rect.width(),Rect.y()+Rect.height()/2)); break; // Left case GRADIENTORIENTATION_RADIAL: Gradient=QRadialGradient(QPointF(Rect.x()+Rect.width()/2,Rect.y()+Rect.height()/2),Rect.width()>Rect.height()?Rect.width():Rect.height(),QPointF(Rect.x()+Rect.width()/2,Rect.y()+Rect.height()/2)); break; // Radial case GRADIENTORIENTATION_RIGHT: Gradient=QLinearGradient(QPointF(Rect.x()+Rect.width(),Rect.y()+Rect.height()/2),QPointF(Rect.x(),Rect.y()+Rect.height()/2)); break; // Right case GRADIENTORIENTATION_BOTTOMLEFT: Gradient=QLinearGradient(QPointF(Rect.x(),Rect.y()+Rect.height()),QPointF(Rect.x()+Rect.width(),Rect.y())); break; // bt-Left case GRADIENTORIENTATION_BOTTOM: Gradient=QLinearGradient(QPointF(Rect.x()+Rect.width()/2,Rect.y()+Rect.height()),QPointF(Rect.x()+Rect.width()/2,Rect.y())); break; // bottom case GRADIENTORIENTATION_BOTTOMRIGHT: Gradient=QLinearGradient(QPointF(Rect.x()+Rect.width(),Rect.y()+Rect.height()),QPointF(Rect.x(),Rect.y())); break; // bt-right } Gradient.setColorAt(0,QColor(ColorD)); Gradient.setColorAt(1,QColor(ColorF)); if (BrushType==BRUSHTYPE_GRADIENT3) Gradient.setColorAt(Intermediate,QColor(ColorIntermed)); return new QBrush(Gradient); } //********************************************************************************************************************************************* // Base object for composition definition //********************************************************************************************************************************************* cBackgroundObject::cBackgroundObject(QString FileName,cBaseAppConfig *AppConfig) { ApplicationConfig =AppConfig; qlonglong FolderKey =ApplicationConfig->FoldersTable->GetFolderKey(QFileInfo(FileName).absolutePath()); IsValide =false; ModifDateTime =QFileInfo(FileName).created(); Name =QFileInfo(FileName).baseName(); FileKey =ApplicationConfig->FilesTable->GetFileKey(FolderKey,QFileInfo(FileName).fileName(),OBJECTTYPE_IMAGEFILE); QString FName=QFileInfo(FileName).absoluteFilePath(); FName=FName.left(FName.lastIndexOf(".")); Thumbnail[GEOMETRY_4_3].load(FName+".ic1","PNG"); if (!Thumbnail[GEOMETRY_4_3].isNull()) { Thumbnail[GEOMETRY_16_9].load(FName+".ic2","PNG"); Thumbnail[GEOMETRY_40_17].load(FName+".ic3","PNG"); } else { // Load file QImage Image(FileName); IsValide=!Image.isNull(); // Make Icon QImage Img56 =Image.scaledToHeight(56); QImage Img132=Image.scaledToWidth(132); Thumbnail[GEOMETRY_4_3] =Img56.copy((Img56.width()-75)/2 ,0,75 ,56); Thumbnail[GEOMETRY_16_9] =Img56; Thumbnail[GEOMETRY_40_17]=Img132.copy(0,(Img132.height()-56)/2,132,56); // Save Icon //Thumbnail[GEOMETRY_4_3].save(FName+".ic1","PNG"); //Thumbnail[GEOMETRY_16_9].save(FName+".ic2","PNG"); //Thumbnail[GEOMETRY_40_17].save(FName+".ic3","PNG"); } } QImage* cBackgroundObject::GetBackgroundImage() { cLuLoImageCacheObject *ImageObject=ApplicationConfig->ImagesCache.FindObject(-1,FileKey,ModifDateTime,1,ApplicationConfig->Smoothing,true); if (ImageObject==NULL) { ToLog(LOGMSG_CRITICAL,"Error in cBackgroundObject::GetBackgroundImage : FindObject return NULL for background image loading !"); } else { QImage *LN_Image=ImageObject->ValidateCacheRenderImage(); // Get a link to render image in LuLoImageCache collection if ((LN_Image==NULL)||(LN_Image->isNull())) { ToLog(LOGMSG_CRITICAL,"Error in cBackgroundObject::GetBackgroundImage : ValidateCacheRenderImage return NULL for background image loading !"); } else { return LN_Image; } } return NULL; } QImage cBackgroundObject::GetBackgroundThumb(int Geometry) { switch (Geometry) { case GEOMETRY_4_3 : return Thumbnail[GEOMETRY_4_3]; case GEOMETRY_40_17 : return Thumbnail[GEOMETRY_40_17]; default : return Thumbnail[GEOMETRY_16_9]; } } //********************************************************************************************************************************************* // Global class containing background library //********************************************************************************************************************************************* cBackgroundList::cBackgroundList() { } //==================================================================================================================== void cBackgroundList::ScanDisk(QString Path,cBaseAppConfig *ApplicationConfig) { QDir Folder(Path); QFileInfoList Files=Folder.entryInfoList();; for (int i=0;i=0)&&(BackgroundImageNumberheight())/double(Bckg->width()); double RatioRect =double(Rect.height()+1)/double(Rect.width()+1); if (RatioRect>=RatioBck) { QImage Background=Bckg->scaledToHeight(Rect.height()+1,Qt::SmoothTransformation); delete Bckg; return new QBrush(Background.copy((Background.width()-(Rect.width()+1))/2,0,Rect.width()+1,Background.height())); } else { QImage Background=Bckg->scaledToWidth(Rect.width()+1,Qt::SmoothTransformation); delete Bckg; return new QBrush(Background.copy(0,(Background.height()-(Rect.height()+1))/2,Background.width(),Rect.height()+1)); } delete Bckg; } else return new QBrush(Qt::NoBrush); } else return new QBrush(Qt::NoBrush); } ffDiaporama/src/ffDiaporama_lib/cBaseAppConfig.h0000777000175000001440000000541112275647222022024 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef CBASEAPPCONFIG_H #define CBASEAPPCONFIG_H class cBaseAppConfig; #include "BasicDefines.h" #include "cDatabase.h" #include "cLuLoImageCache.h" #include "cCustomIcon.h" class cBaseAppConfig : public QObject { Q_OBJECT public: bool Smoothing; // True do smoothing in preview // Image cache cLuLoImageCache ImagesCache; // cLuLoImageCache List Object int64_t MemCacheMaxValue; // Maximum value for image cache // Database cDatabase *Database; cSettingsTable *SettingsTable; // Settings table on the database cFolderTable *FoldersTable; // Folders table on the database cFilesTable *FilesTable; // Files table on the database cSlideThumbsTable *SlideThumbsTable; // Slide thumbnails table on the database cLocationTable *LocationTable; // Locations table on the database QStringList AllowVideoExtension; // List of all file extension allowed for video QStringList AllowImageExtension; // List of all file extension allowed for image QStringList AllowImageVectorExtension; // List of all file extension allowed for image QStringList AllowMusicExtension; // List of all file extension allowed for music explicit cBaseAppConfig(QObject *TheTopLevelWindow); ~cBaseAppConfig(); }; #endif // CBASEAPPCONFIG_H ffDiaporama/src/ffDiaporama_lib/cBaseAppConfig.cpp0000777000175000001440000000277112275647222022365 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "cBaseAppConfig.h" cBaseAppConfig::cBaseAppConfig(QObject *TheTopLevelWindow):QObject(TheTopLevelWindow) { MemCacheMaxValue=512*1024*1024; // 512 Mb for image cache Smoothing =true; // True do smoothing in preview Database =NULL; SettingsTable =NULL; FoldersTable =NULL; FilesTable =NULL; SlideThumbsTable=NULL; LocationTable =NULL; } cBaseAppConfig::~cBaseAppConfig() { if (Database) delete Database; } ffDiaporama/src/ffDiaporama_lib/cBackgroundComboBox.h0000777000175000001440000000535112275647222023076 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef CBACKGROUNDCOMBOBOX_H #define CBACKGROUNDCOMBOBOX_H #include "cBaseBrushDefinition.h" #include #include #include //****************************************************************************************************************** // Custom QAbstractItemDelegate for Brush ComboBox //****************************************************************************************************************** class cBackgroundComboBox; class cCBackgroundComboBoxItem : public QStyledItemDelegate { Q_OBJECT public: cBackgroundComboBox *ComboBox; explicit cCBackgroundComboBoxItem(QObject *parent=0); virtual void paint(QPainter *painter,const QStyleOptionViewItem &option,const QModelIndex &index) const; virtual QSize sizeHint(const QStyleOptionViewItem &option,const QModelIndex &index) const; }; class cBackgroundComboBox : public QComboBox { Q_OBJECT public: cBackgroundList *BackgroundTable; int CurrentSel; ffd_GEOMETRY Geometry; bool STOPMAJ; int ImageWidth; cCBackgroundComboBoxItem ItemDelegate; explicit cBackgroundComboBox(QWidget *parent = 0); void PrepareTable(ffd_GEOMETRY ProjectGeometry,cBackgroundList *Table); void SetCurrentBackground(QString BackgroundName); QString GetCurrentBackground(); void MakeIcons(); protected: virtual void hidePopup(); virtual void keyReleaseEvent(QKeyEvent *event); signals: void itemSelectionHaveChanged(); public slots: void s_ItemSelectionChanged(); }; #endif // CBACKGROUNDCOMBOBOX_H ffDiaporama/src/ffDiaporama_lib/cBackgroundComboBox.cpp0000777000175000001440000002134012275647222023425 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "cBackgroundComboBox.h" #include #include #include #define IMAGEHEIGHT 56 #define NBRCOLUMN 4 cCBackgroundComboBoxItem::cCBackgroundComboBoxItem(QObject *parent):QStyledItemDelegate(parent) { } //======================================================================================================================== void cCBackgroundComboBoxItem::paint(QPainter *painter,const QStyleOptionViewItem &option,const QModelIndex &index) const { int CurIndex=index.row()*NBRCOLUMN+index.column(); if ((CurIndex>=0)&&(CurIndexBackgroundTable->List.count())) { painter->drawImage(option.rect.left(),option.rect.top(),ComboBox->BackgroundTable->List[CurIndex].GetBackgroundThumb(ComboBox->Geometry)); } else { painter->fillRect(option.rect,Qt::white); } if (ComboBox->CurrentSel==index.row()*((QTableWidget *)ComboBox->view())->columnCount()+index.column()) { painter->setPen(QPen(Qt::red)); painter->setBrush(QBrush(Qt::NoBrush)); painter->drawRect(option.rect.x()+3,option.rect.y()+3,option.rect.width()-6-1,option.rect.height()-6-1); } if (option.state & QStyle::State_Selected) { painter->setPen(QPen(Qt::blue)); painter->setBrush(QBrush(Qt::NoBrush)); painter->drawRect(option.rect.x(),option.rect.y(),option.rect.width()-1,option.rect.height()-1); painter->drawRect(option.rect.x()+1,option.rect.y()+1,option.rect.width()-1-2,option.rect.height()-1-2); painter->setPen(QPen(Qt::black)); painter->drawRect(option.rect.x()+2,option.rect.y()+2,option.rect.width()-1-4,option.rect.height()-1-4); } } //======================================================================================================================== QSize cCBackgroundComboBoxItem::sizeHint(const QStyleOptionViewItem &/*option*/,const QModelIndex &/*index*/) const { return QSize(ComboBox->ImageWidth,IMAGEHEIGHT); } //****************************************************************************************************************** // Custom Background ComboBox //****************************************************************************************************************** cBackgroundComboBox::cBackgroundComboBox(QWidget *parent):QComboBox(parent) { BackgroundTable =NULL; CurrentSel =-1; STOPMAJ =false; ImageWidth =100; Geometry =GEOMETRY_16_9; QTableWidget *Table=new QTableWidget(); Table->horizontalHeader()->hide(); Table->verticalHeader()->hide(); for (int i=0;iinsertColumn(0); Table->setColumnWidth(0,ImageWidth); } setModel(Table->model()); setView(Table); ItemDelegate.ComboBox=this; setItemDelegate(&ItemDelegate); this->view()->setFixedWidth(ImageWidth*NBRCOLUMN+18); this->view()->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); setIconSize(QSize(ImageWidth,IMAGEHEIGHT)); setFixedSize(QSize(ImageWidth+18,IMAGEHEIGHT+4)); connect(Table,SIGNAL(itemSelectionChanged()),this,SLOT(s_ItemSelectionChanged())); } //======================================================================================================================== void cBackgroundComboBox::PrepareTable(ffd_GEOMETRY ProjectGeometry,cBackgroundList *Table) { BackgroundTable=Table; Geometry =ProjectGeometry; switch (Geometry) { case GEOMETRY_4_3 : ImageWidth=75; break; case GEOMETRY_40_17 : ImageWidth=132; break; default : ImageWidth=100; break; } this->view()->setFixedWidth(ImageWidth*NBRCOLUMN+18); setIconSize(QSize(ImageWidth,IMAGEHEIGHT)); setFixedSize(QSize(ImageWidth+18,IMAGEHEIGHT+4)); for (int i=0;isetColumnWidth(i,ImageWidth); int CurIndex =((QTableWidget *)view())->currentRow()*NBRCOLUMN+((QTableWidget *)view())->currentColumn(); while (count()>0) removeItem(count()-1); int NbrItem=BackgroundTable->List.count(); int NbrRow=NbrItem/NBRCOLUMN; if (NbrRow*NBRCOLUMNList[i*NBRCOLUMN].GetBackgroundThumb(Geometry))),""); //automaticaly do a Table->insertRow(Table->rowCount()); ((QTableWidget *)view())->setRowHeight(((QTableWidget *)view())->rowCount()-1,IMAGEHEIGHT); } ((QTableWidget *)view())->setCurrentCell(CurIndex/NBRCOLUMN,CurIndex-(CurIndex/NBRCOLUMN)*NBRCOLUMN); setCurrentIndex(CurIndex/NBRCOLUMN); } //======================================================================================================================== void cBackgroundComboBox::hidePopup() { QComboBox::hidePopup(); emit itemSelectionHaveChanged(); MakeIcons(); CurrentSel=((QTableWidget *)view())->currentRow()*NBRCOLUMN+((QTableWidget *)view())->currentColumn(); if (CurrentSel>=BackgroundTable->List.count()) CurrentSel=BackgroundTable->List.count()-1; } //======================================================================================================================== void cBackgroundComboBox::keyReleaseEvent(QKeyEvent *event) { int CurIndex=((QTableWidget *)view())->currentRow()*NBRCOLUMN+((QTableWidget *)view())->currentColumn(); int aCurIndex=CurIndex; if ((event->key()==Qt::Key_Right)||(event->key()==Qt::Key_Down)) { if (CurIndexList.count()-1) CurIndex++; } else if ((event->key()==Qt::Key_Left)||(event->key()==Qt::Key_Up)) { if (CurIndex>0) CurIndex--; } else QComboBox::keyReleaseEvent(event); if (aCurIndex!=CurIndex) { STOPMAJ=true; ((QTableWidget *)view())->setCurrentCell(CurIndex/NBRCOLUMN,CurIndex-(CurIndex/NBRCOLUMN)*NBRCOLUMN); setCurrentIndex(CurIndex/NBRCOLUMN); MakeIcons(); STOPMAJ=false; emit itemSelectionHaveChanged(); } } //======================================================================================================================== void cBackgroundComboBox::MakeIcons() { if (!BackgroundTable) return; int CurrentRow=currentIndex(); if (CurrentRow<0) return; int CurrentCol=((QTableWidget *)view())->currentColumn(); if (CurrentCol<0) CurrentCol=0; int CurIndex=CurrentRow*NBRCOLUMN+CurrentCol; if (CurIndexList.count()) setItemIcon(CurrentRow,QIcon(QPixmap().fromImage(BackgroundTable->List[CurIndex].GetBackgroundThumb(Geometry)))); } //======================================================================================================================== void cBackgroundComboBox::s_ItemSelectionChanged() { STOPMAJ=true; setCurrentIndex(((QTableWidget *)view())->currentRow()); MakeIcons(); emit currentIndexChanged(((QTableWidget *)view())->currentRow()*NBRCOLUMN+((QTableWidget *)view())->currentColumn()); STOPMAJ=false; } //======================================================================================================================== void cBackgroundComboBox::SetCurrentBackground(QString BackgroundName) { if (STOPMAJ) return; CurrentSel=BackgroundTable->SearchImage(BackgroundName); ((QTableWidget *)view())->setCurrentCell(CurrentSel/NBRCOLUMN,CurrentSel-(CurrentSel/NBRCOLUMN)*NBRCOLUMN); setCurrentIndex(CurrentSel/NBRCOLUMN); MakeIcons(); } //======================================================================================================================== QString cBackgroundComboBox::GetCurrentBackground() { CurrentSel=((QTableWidget *)view())->currentRow()*NBRCOLUMN+((QTableWidget *)view())->currentColumn(); if (CurrentSel>=BackgroundTable->List.count()) CurrentSel=BackgroundTable->List.count()-1; return BackgroundTable->List[CurrentSel].Name; } ffDiaporama/src/ffDiaporama_lib/Shape.h0000777000175000001440000001445112275647222020264 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef _SHAPE_H #define _SHAPE_H #include "BasicDefines.h" #include //============================================ // Shape definitions //============================================ enum SHAPEFORM_ID { SHAPEFORM_NOSHAPE, SHAPEFORM_RECTANGLE, SHAPEFORM_ROUNDRECT, SHAPEFORM_BUBBLE, SHAPEFORM_ELLIPSE, SHAPEFORM_TRIANGLEUP, SHAPEFORM_TRIANGLERIGHT, SHAPEFORM_TRIANGLEDOWN, SHAPEFORM_TRIANGLELEFT, SHAPEFORM_RHOMBUS, SHAPEFORM_PENTAGON, SHAPEFORM_HEXAGON, SHAPEFORM_OCTOGON, SHAPEFORM_SIMPLEARROWUP, SHAPEFORM_SIMPLEARROWRIGHT, SHAPEFORM_SIMPLEARROWDOWN, SHAPEFORM_SIMPLEARROWLEFT, SHAPEFORM_HEART, SHAPEFORM_PUZZLEUL, SHAPEFORM_PUZZLEUC, SHAPEFORM_PUZZLEUR, SHAPEFORM_DOUBLEARROWVERT, SHAPEFORM_DOUBLEARROWHORIZ, SHAPEFORM_DOUBLEARROWDIAG1, SHAPEFORM_DOUBLEARROWDIAG2, SHAPEFORM_SPADE, SHAPEFORM_PUZZLEML, SHAPEFORM_PUZZLEMC, SHAPEFORM_PUZZLEMR, SHAPEFORM_RIGHTTRIANGLEUL, SHAPEFORM_RIGHTTRIANGLEUR, SHAPEFORM_RIGHTTRIANGLEDL, SHAPEFORM_RIGHTTRIANGLEDR, SHAPEFORM_CLUB, SHAPEFORM_PUZZLEDL, SHAPEFORM_PUZZLEDC, SHAPEFORM_PUZZLEDR, SHAPEFORM_STRIANGLEUP, SHAPEFORM_STRIANGLERIGHT, SHAPEFORM_STRIANGLEDOWN, SHAPEFORM_STRIANGLELEFT, SHAPEFORM_PUSHEDUP, SHAPEFORM_SHARPDOWN, SHAPEFORM_STAR4, SHAPEFORM_STAR5, SHAPEFORM_DTRIANGLEUP, SHAPEFORM_DTRIANGLERIGHT, SHAPEFORM_DTRIANGLEDOWN, SHAPEFORM_DTRIANGLELEFT, SHAPEFORM_DCHEVRONUP, SHAPEFORM_SCHEVRONDOWN, SHAPEFORM_STAR6, SHAPEFORM_STAR8, SHAPEFORM_PUSHEDLEFT, SHAPEFORM_DCHEVRONLEFT, SHAPEFORM_SCHEVRONLEFT, SHAPEFORM_SHARPLEFT, SHAPEFORM_SCHEVRONUP, SHAPEFORM_DCHEVRONDOWN, SHAPEFORM_GEAR6, SHAPEFORM_GEAR8, SHAPEFORM_SHARPRIGHT, SHAPEFORM_SCHEVRONRIGHT, SHAPEFORM_DCHEVRONRIGHT, SHAPEFORM_PUSHEDRIGHT, SHAPEFORM_SHARPUP, SHAPEFORM_PUSHEDDOWN, SHAPEFORM_GEAR10, SHAPEFORM_GEAR12, SHAPEFORM_BINOCULARSV, SHAPEFORM_TRINOCULARSV, SHAPEFORM_TRAPEZOIDOWNRIGHT,SHAPEFORM_TRAPEZOIDUP, SHAPEFORM_TRAPEZOIDOWNLEFT, SHAPEFORM_TRAPEZOIDRIGHTDOWN, SHAPEFORM_TRAPEZOIDLEFTDOWN,SHAPEFORM_KEYHOLE, SHAPEFORM_BINOCULARSH, SHAPEFORM_TRINOCULARSH, SHAPEFORM_TRAPEZOIDUPRIGHT, SHAPEFORM_TRAPEZOIDOWN, SHAPEFORM_TRAPEZOIDUPLEFT, SHAPEFORM_TRAPEZOIDLEFT, SHAPEFORM_TRAPEZOIDRIGHT, SHAPEFORM_PLUS, SHAPEFORM_FOUROCULARS, SHAPEFORM_PARALLELOLEFT, SHAPEFORM_PARALLELORIGHT, SHAPEFORM_PARALLELOUP, SHAPEFORM_PARALLELODOWN, SHAPEFORM_TRAPEZOIDRIGHTUP, SHAPEFORM_TRAPEZOIDLEFTUP, SHAPEFORM_HOURGLASS, NBR_SHAPEFORM // Last of the list ! }; class cShapeFormDefinition { public: bool Enable; QString Name; QList AdditonnalRulerX; // Additionnal rulers QList AdditonnalRulerY; // Additionnal rulers double TMx,TMy,TMw,TMh; // Default shape text margins cShapeFormDefinition() {} cShapeFormDefinition(bool Enable,QList AdditonnalRulerX,QList AdditonnalRulerY,double TMx,double TMy,double TMw,double TMh,QString Name); }; extern QList ShapeFormDefinition; void ShapeFormDefinitionInit(); // Utility function to init shape collection and translate shape names //============================================ // Shape computations //============================================ // Utilities functions to compute a polygon for a given form QList ComputePolygon(int BackgroundForm,qreal left,qreal top,qreal width,qreal height); QRectF PolygonToRectF(QList Polygon); // Utilities functions to compute shape QList ComputePolygonRect(QRectF Rect); QList ComputePolygonRoundRect(QRectF Rect,qreal RayX,qreal RayY); QList ComputePolygonEllipse(QRectF Rect); QList ComputeHeart(QRectF Rect); QList ComputeSpade(QRectF Rect); QList ComputeClub(QRectF Rect); QList ComputePolygonR(double width,double height,double CenterX,double CenterY,int MaxPoint,double StartAngle); QList ComputeSingleChevron(QRectF Rect,int Angle,int Options); QList ComputeDoubleChevron(QRectF Rect,int Angle); QList ComputeSingleTriangle(QRectF Rect,int Angle); QList ComputeDoubleTriangle(QRectF Rect,int Angle); QList ComputeSimpleArrow(QRectF Rect,int Angle); QList ComputeDoubleArrow(QRectF Rect,int Angle); QList ComputeStar(QRectF Rect,int Pointed); QList ComputeGear(QRectF Rect,int tooth); QList ComputeRightTriangle(QRectF Rect,int Angle); QList ComputePuzzle(QRectF Rect,int Forme); QList ComputeOculars(QRectF Rect,int OcularsNbr,int Options); QList ComputeTrapezoid(QRectF Rect,int Options,int SubOptions); QList ComputeParallelo(QRectF Rect,int Options); QList ComputeKeyHole(QRectF Rect,int Options); QList ComputePlus(QRectF Rect,int Options); QList ComputeHourglass(QRectF Rect,int Options); #endif // _SHAPE_H ffDiaporama/src/ffDiaporama_lib/Shape.cpp0000777000175000001440000026775012275647222020633 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "Shape.h" #include #include #define PI 3.14159265 #define COSSIN45 0.707106781 #define COS30 0.866 #define SIN30 0.5 #define SIN60 0.866 #define COS60 0.5 #define OPTION_UP 0x01 #define OPTION_DOWN 0x02 #define OPTION_RIGHT 0x04 #define OPTION_LEFT 0x08 #define OPTION_ALL 0x0F //==================================================================================================================== QList ShapeFormDefinition; cShapeFormDefinition::cShapeFormDefinition(bool Enable,QList AdditonnalRulerX,QList AdditonnalRulerY,double TMx,double TMy,double TMw,double TMh,QString Name) { this->Enable=Enable; this->Name =Name; this->TMx =TMx; this->TMy =TMy; this->TMw =TMw; this->TMh =TMh; for (int i=0;iAdditonnalRulerX.append(AdditonnalRulerX.at(i)); for (int i=0;iAdditonnalRulerY.append(AdditonnalRulerY.at(i)); } // Utility function to init shape collection and translate shape names void ShapeFormDefinitionInit() { double d25CosSin45=0.25*(1+COSSIN45)/2; double d75CosSin45=1-d25CosSin45; double d50CosSin45=1-d25CosSin45-d25CosSin45; double dhCosSin45 =(1-COSSIN45)/2; ShapeFormDefinition.append(cShapeFormDefinition(false,QList(), QList(), 0, 0, 1, 1, QApplication::translate("Shape forms","No shape"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0, 0, 1, 1, QApplication::translate("Shape forms","Rectangle"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0.025, 0.025, 0.95, 0.95, QApplication::translate("Shape forms","Rounded rectangle"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0.05, 0.05, 0.9, 0.9, QApplication::translate("Shape forms","Bubble"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), dhCosSin45, dhCosSin45, 1-2*dhCosSin45, 1-2*dhCosSin45, QApplication::translate("Shape forms","Ellipse"))); ShapeFormDefinition.append(cShapeFormDefinition(false,QList(), QList(), 0, 0, 1, 1, QApplication::translate("Shape forms","Old Triangle up version"))); ShapeFormDefinition.append(cShapeFormDefinition(false,QList(), QList(), 0, 0, 1, 1, QApplication::translate("Shape forms","Old Triangle right version"))); ShapeFormDefinition.append(cShapeFormDefinition(false,QList(), QList(), 0, 0, 1, 1, QApplication::translate("Shape forms","Old Triangle down version"))); ShapeFormDefinition.append(cShapeFormDefinition(false,QList(), QList(), 0, 0, 1, 1, QApplication::translate("Shape forms","Old Triangle left version"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0.25, 0.25, 0.5, 0.5, QApplication::translate("Shape forms","Rhombus"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0.2, 0.2, 0.55, 0.7, QApplication::translate("Shape forms","Pentagon"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0.25, 0, 0.5, 0.85, QApplication::translate("Shape forms","Hexagon"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0.15, 0.15, 0.7, 0.7, QApplication::translate("Shape forms","Octogon"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0.34, 0.125, 0.32, 0.875, QApplication::translate("Shape forms","Simple arrow up"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0, 0.34, 0.875, 0.32, QApplication::translate("Shape forms","Simple arrow right"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0.34, 0, 0.32, 0.875, QApplication::translate("Shape forms","Simple arrow down"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0.125, 0.34, 0.875, 0.32, QApplication::translate("Shape forms","Simple arrow left"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0.1, 0.1, 0.8, 0.5, QApplication::translate("Shape forms","Heart"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList()<()<()<()<()<()<(), QList(), 0.34, 0.125, 0.32, 0.75, QApplication::translate("Shape forms","Double vertical arrows"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0.125, 0.34, 0.75, 0.32, QApplication::translate("Shape forms","Double horizontal arrows"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0, 0, 1, 1, QApplication::translate("Shape forms","Double diagonal arrows 1"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0, 0, 1, 1, QApplication::translate("Shape forms","Double diagonal arrows 2"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0.15, 0.325, 0.675, 0.5, QApplication::translate("Shape forms","Spade"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList()<()<()<()<()<()<(), QList(), 0, 0, 0.5, 0.5, QApplication::translate("Shape forms","Right triangle Up-Left"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0.5, 0, 0.5, 0.5, QApplication::translate("Shape forms","Right triangle Up-Right"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0, 0.5, 0.5, 0.5, QApplication::translate("Shape forms","Right triangle Down-Left"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0.5, 0.5, 0.5, 0.5, QApplication::translate("Shape forms","Right triangle Down-Right"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0.25, 0.25, 0.5, 0.5, QApplication::translate("Shape forms","Club"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList()<()<()<()<()<()<(), QList(), 0.25, 0.5, 0.5, 0.5, QApplication::translate("Shape forms","Single triangle up"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0, 0.25, 0.5, 0.5, QApplication::translate("Shape forms","Single triangle right"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0.25, 0, 0.5, 0.5, QApplication::translate("Shape forms","Single triangle down"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0.5, 0.25, 0.5, 0.5, QApplication::translate("Shape forms","Single triangle left"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList()<<0.8, 0, 0, 1, 0.8, QApplication::translate("Shape forms","Pushed up"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList()<<0.8, 0, 0, 1, 0.8, QApplication::translate("Shape forms","Sharp down"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0.3, 0.3, 0.4, 0.4, QApplication::translate("Shape forms","Four-pointed stars"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0.25, 0.35, 0.5, 0.5, QApplication::translate("Shape forms","Five-pointed stars"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0, 0, 1, 1, QApplication::translate("Shape forms","Double triangle up"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0, 0, 1, 1, QApplication::translate("Shape forms","Double triangle right"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0, 0, 1, 1, QApplication::translate("Shape forms","Double triangle down"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0, 0, 1, 1, QApplication::translate("Shape forms","Double triangle left"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList()<<0.2<<0.8, 0, 0.2, 1, 0.6, QApplication::translate("Shape forms","Double chevron up"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList()<<0.2<<0.8, 0, 0.2, 1, 0.6, QApplication::translate("Shape forms","Single chevron down"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0.2, 0.3, 0.6, 0.4, QApplication::translate("Shape forms","Six-pointed stars"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0.25, 0.25, 0.5, 0.5, QApplication::translate("Shape forms","Height-pointed stars"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList()<<0.8, QList(), 0, 0, 0.8, 1, QApplication::translate("Shape forms","Pushed left"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList()<<0.2<<0.8, QList(), 0.2, 0, 0.6, 1, QApplication::translate("Shape forms","Double chevron left"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList()<<0.2<<0.8, QList(), 0.2, 0, 0.6, 1, QApplication::translate("Shape forms","Single chevron left"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList()<<0.2, QList(), 0.2, 0, 0.8, 1, QApplication::translate("Shape forms","Sharp left"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList()<<0.2<<0.8, 0, 0.2, 1, 0.6, QApplication::translate("Shape forms","Single chevron up"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList()<<0.2<<0.8, 0, 0.2, 1, 0.6, QApplication::translate("Shape forms","Double chevron down"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0.1, 0.2, 0.8, 0.6, QApplication::translate("Shape forms","Six tooth gear"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0.15, 0.15, 0.7, 0.7, QApplication::translate("Shape forms","Eight tooth gear"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList()<<0.8, QList(), 0, 0, 0.8, 1, QApplication::translate("Shape forms","Sharp right"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList()<<0.2<<0.8, QList(), 0.2, 0, 0.6, 1, QApplication::translate("Shape forms","Single chevron right"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList()<<0.2<<0.8, QList(), 0.2, 0, 0.6, 1, QApplication::translate("Shape forms","Double chevron right"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList()<<0.2, QList(), 0.2, 0, 0.8, 1, QApplication::translate("Shape forms","Pushed right"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList()<<0.2, 0, 0.2, 1, 0.8, QApplication::translate("Shape forms","Sharp up"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList()<<0.2, 0, 0.2, 1, 0.8, QApplication::translate("Shape forms","Pushed down"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0.175, 0.125, 0.65, 0.75, QApplication::translate("Shape forms","Ten tooth gear"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0.1, 0.225, 0.8, 0.55, QApplication::translate("Shape forms","Twelve tooth gear"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0.04, 0.26, 0.92, 0.48, QApplication::translate("Shape forms","Vertical Binoculars"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0.03, 0.26, 0.94, 0.48, QApplication::translate("Shape forms","Vertical Trinoculars"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList()<<0.75, QList(), 0, 0, 0.75, 1, QApplication::translate("Shape forms","Trapezoid Down-Right"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList()<<0.25<<0.75, QList(), 0.25, 0, 0.5, 1, QApplication::translate("Shape forms","Trapezoid Up"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList()<<0.25, QList(), 0.25, 0, 0.75, 1, QApplication::translate("Shape forms","Trapezoid Down-Left"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList()<<0.75, 0, 0, 1, 0.75, QApplication::translate("Shape forms","Trapezoid Right-Down"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList()<<0.75, 0, 0, 1, 0.75, QApplication::translate("Shape forms","Trapezoid Left-Down"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0.25, 0.05, 0.5, 0.95, QApplication::translate("Shape forms","Keyhole"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0.26, 0.04, 0.48, 0.92, QApplication::translate("Shape forms","Horizontal Binoculars"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0.26, 0.03, 0.48, 0.94, QApplication::translate("Shape forms","Horizontal Trinoculars"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList()<<0.75, QList(), 0, 0, 0.75, 1, QApplication::translate("Shape forms","Trapezoid Up-Right"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList()<<0.25<<0.75, QList(), 0.25, 0, 0.5, 1, QApplication::translate("Shape forms","Trapezoid Down"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList()<<0.25, QList(), 0.25, 0, 0.75, 1, QApplication::translate("Shape forms","Trapezoid Up-Left"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList()<<0.25<<0.75, 0, 0.25, 1, 0.5, QApplication::translate("Shape forms","Trapezoid Left"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList()<<0.25<<0.75, 0, 0.25, 1, 0.5, QApplication::translate("Shape forms","Trapezoid Right"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList()<<0.25<<0.75, QList()<<0.25<<0.75, 0, 0.25, 1, 0.5, QApplication::translate("Shape forms","Plus"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0.09, 0.09, 0.82, 0.82, QApplication::translate("Shape forms","Four oculars"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList()<<0.25<<0.75, QList(), 0.25, 0, 0.5, 1, QApplication::translate("Shape forms","Parallelogram Left"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList()<<0.25<<0.75, QList(), 0.25, 0, 0.5, 1, QApplication::translate("Shape forms","Parallelogram Right"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList()<<0.25<<0.75, 0, 0.25, 1, 0.5, QApplication::translate("Shape forms","Parallelogram Up"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList()<<0.25<<0.75, 0, 0.25, 1, 0.5, QApplication::translate("Shape forms","Parallelogram Down"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList()<<0.25, 0, 0.25, 1, 0.75, QApplication::translate("Shape forms","Trapezoid Right-Up"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList()<<0.25, 0, 0.25, 1, 0.75, QApplication::translate("Shape forms","Trapezoid Left-Up"))); ShapeFormDefinition.append(cShapeFormDefinition(true, QList(), QList(), 0, 0, 1, 1, QApplication::translate("Shape forms","Hourglass"))); } //==================================================================================================================== // Utilities functions to compute shape //==================================================================================================================== QList ComputePolygonRect(QRectF Rect) { QList List; QPainterPath Path; Path.moveTo(Rect.left(),Rect.top()); Path.lineTo(Rect.right(),Rect.top()); Path.lineTo(Rect.right(),Rect.bottom()); Path.lineTo(Rect.left(),Rect.bottom()); Path.lineTo(Rect.left(),Rect.top()); List.append(Path.toFillPolygon(QTransform())); return List; } //==================================================================================================================== QList ComputePolygonRoundRect(QRectF Rect,qreal RayX,qreal RayY) { QList List; QPainterPath Path; //Path.addRoundedRect(Rect.left(),Rect.top(),Rect.width(),Rect.height(),RayX,RayY); Path.moveTo(Rect.left()+RayX,Rect.top()); Path.lineTo(Rect.right()-RayX,Rect.top()); Path.cubicTo(QPointF(Rect.right()-RayX,Rect.top()),QPointF(Rect.right(),Rect.top()),QPointF(Rect.right(),Rect.top()+RayX)); Path.lineTo(Rect.right(),Rect.bottom()-RayY); Path.cubicTo(QPointF(Rect.right(),Rect.bottom()),QPointF(Rect.right()-RayX,Rect.bottom()),QPointF(Rect.right()-RayX,Rect.bottom())); Path.lineTo(Rect.left()+RayX,Rect.bottom()); Path.cubicTo(QPointF(Rect.left(),Rect.bottom()),QPointF(Rect.left(),Rect.bottom()-RayY),QPointF(Rect.left(),Rect.bottom()-RayY)); Path.lineTo(Rect.left(),Rect.top()+RayY); Path.cubicTo(QPointF(Rect.left(),Rect.top()),QPointF(Rect.left()+RayX,Rect.top()),QPointF(Rect.left()+RayX,Rect.top())); //Path.arcTo(QRectF(Rect.left(),Rect.top(),RayX*2,RayY*2),180,-90); List.append(Path.toFillPolygon(QTransform())); return List; } //==================================================================================================================== QList ComputePolygonEllipse(QRectF Rect) { QList List; QPainterPath Path; Path.moveTo(Rect.right(),Rect.center().y()); Path.arcTo(Rect,0, 90); Path.arcTo(Rect,90, 90); Path.arcTo(Rect,180,90); Path.arcTo(Rect,270,90); //Path.addEllipse(Rect); List.append(Path.toFillPolygon(QTransform())); return List; } //==================================================================================================================== QList ComputeHeart(QRectF Rect) { QList List; QPainterPath Path; qreal WRect=(Rect.width()/2)*(2/(1+COSSIN45)),HRect=2*Rect.height()/3; qreal WRectH=WRect/2,HRectH=HRect/2; QRectF SubRect1=QRectF(Rect.left(), Rect.top(), WRect,HRect); QRectF SubRect2=QRectF(Rect.right()-SubRect1.width(), Rect.top(), WRect,HRect); Path.moveTo(SubRect1.left()+WRectH+COSSIN45*WRectH,SubRect1.top()+HRectH-COSSIN45*HRectH); Path.arcTo(SubRect1,45,180); Path.lineTo(QPointF(Rect.center().x(),Rect.bottom())); Path.lineTo(SubRect2.left()+WRectH+COSSIN45*WRectH,SubRect2.top()+HRectH+COSSIN45*HRectH); Path.arcTo(SubRect2,-45,180); List.append(Path.toFillPolygon(QTransform())); return List; } //==================================================================================================================== QList ComputeSpade(QRectF Rect) { QList List; QPainterPath Path; qreal WRect=(Rect.width()/2)*(2/(1+COSSIN45)),HRect=(2*Rect.height()/3)-(Rect.height()*0.1); qreal WRectH=WRect/2,HRectH=HRect/2; QRectF SubRect1=QRectF(Rect.left(), Rect.bottom()-HRect-(Rect.height()*0.1), WRect,HRect); QRectF SubRect2=QRectF(Rect.right()-SubRect1.width(), SubRect1.top(), WRect,HRect); QRectF SubRect3=QRectF(Rect.left(), Rect.bottom()-(Rect.height()*0.4), Rect.width()/2,Rect.height()*0.4); QRectF SubRect4=QRectF(SubRect3.right(), SubRect3.top(), SubRect3.width(),SubRect3.height()); Path.moveTo(SubRect1.left()+WRectH+COSSIN45*WRectH,SubRect1.top()+HRectH+COSSIN45*HRectH); Path.arcTo(SubRect1,-45,-180); Path.lineTo(QPointF(Rect.center().x(),Rect.top())); Path.lineTo(SubRect2.left()+WRectH+COSSIN45*WRectH,SubRect2.top()+HRectH-COSSIN45*HRectH); Path.arcTo(SubRect2,45,-180); Path.arcTo(SubRect3,0,-90); Path.lineTo(SubRect4.center().x(),SubRect4.bottom()); Path.arcTo(SubRect4,-90,-90); List.append(Path.toFillPolygon(QTransform())); return List; } //==================================================================================================================== QList ComputeClub(QRectF Rect) { QList List; QPainterPath Path; qreal WRect=Rect.width()/2; qreal HRect=Rect.height()/2; qreal HRectH=HRect/2; QRectF SubRect0=QRectF(Rect.center().x()-WRect/2, Rect.top(), WRect,HRect); QRectF SubRect1=QRectF(Rect.left(), SubRect0.bottom()-(SubRect0.height()/2)*(1-COSSIN45), WRect,HRect); QRectF SubRect2=QRectF(Rect.right()-SubRect1.width(), SubRect1.top(), WRect,HRect); QRectF SubRect3=QRectF(Rect.left(), SubRect1.top(), Rect.width()/2,Rect.bottom()-SubRect1.top()); QRectF SubRect4=QRectF(SubRect3.right(), SubRect3.top(), SubRect3.width(),SubRect3.height()); Path.moveTo(SubRect1.right(),SubRect1.top()+HRectH); Path.arcTo(SubRect1,0,-270); Path.arcTo(SubRect0,225,-270); Path.arcTo(SubRect2,90,-270); Path.arcTo(SubRect3,0,-90); Path.lineTo(SubRect4.center().x(),SubRect4.bottom()); Path.arcTo(SubRect4,-90,-90); List.append(Path.toFillPolygon(QTransform())); return List; } //==================================================================================================================== QList ComputePolygonR(double width,double height,double CenterX,double CenterY,int MaxPoint,double StartAngle) { QList List; QPolygonF Polygon; qreal vcos,vsin,Angle; int i; Angle=StartAngle; for (i=0;i=360) Angle=-Angle+360; } List.append(Polygon); return List; } //==================================================================================================================== QList ComputeSingleChevron(QRectF Rect,int Angle,int Options) { QList List; QPainterPath Path; switch (Angle) { case 0 : if ((Options&OPTION_UP)==OPTION_UP) { Path.moveTo(QPointF(0,Rect.height()*0.2)+QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(Rect.width()/2,0)+QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(Rect.width(),Rect.height()*0.2)+QPointF(Rect.left(),Rect.top())); } else { Path.moveTo(QPointF(0,0)+QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(Rect.width(),0)+QPointF(Rect.left(),Rect.top())); } Path.lineTo(QPointF(Rect.width(),Rect.height())+QPointF(Rect.left(),Rect.top())); if ((Options&OPTION_DOWN)==OPTION_DOWN) Path.lineTo(QPointF(Rect.width()/2,Rect.height()*0.8)+QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(0,Rect.height())+QPointF(Rect.left(),Rect.top())); if ((Options&OPTION_UP)==OPTION_UP) Path.lineTo(QPointF(0,Rect.height()*0.2)+QPointF(Rect.left(),Rect.top())); else Path.lineTo(QPointF(0,Rect.height())+QPointF(Rect.left(),Rect.top())); break; case 180 : if ((Options&OPTION_DOWN)==OPTION_DOWN) { Path.moveTo(QPointF(0,Rect.height()*0.8)+QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(Rect.width()/2,Rect.height())+QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(Rect.width(),Rect.height()*0.8)+QPointF(Rect.left(),Rect.top())); } else { Path.moveTo(QPointF(0,Rect.height())+QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(Rect.width(),Rect.height())+QPointF(Rect.left(),Rect.top())); } Path.lineTo(QPointF(Rect.width(),0)+QPointF(Rect.left(),Rect.top())); if ((Options&OPTION_UP)==OPTION_UP) Path.lineTo(QPointF(Rect.width()/2,Rect.height()*0.2)+QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(0,0)+QPointF(Rect.left(),Rect.top())); if ((Options&OPTION_DOWN)==OPTION_DOWN) Path.lineTo(QPointF(0,Rect.height()*0.8)+QPointF(Rect.left(),Rect.top())); else Path.lineTo(QPointF(0,Rect.height())+QPointF(Rect.left(),Rect.top())); break; case 90 : if ((Options&OPTION_LEFT)==OPTION_LEFT) { Path.moveTo(QPointF(Rect.width()*0.2,0)+QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(0,Rect.height()/2)+QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(Rect.width()*0.2,Rect.height())+QPointF(Rect.left(),Rect.top())); } else { Path.moveTo(QPointF(0,0)+QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(0,Rect.height())+QPointF(Rect.left(),Rect.top())); } Path.lineTo(QPointF(Rect.width(),Rect.height())+QPointF(Rect.left(),Rect.top())); if ((Options&OPTION_RIGHT)==OPTION_RIGHT) Path.lineTo(QPointF(Rect.width()*0.8,Rect.height()/2)+QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(Rect.width(),0)+QPointF(Rect.left(),Rect.top())); if ((Options&OPTION_LEFT)==OPTION_LEFT) Path.lineTo(QPointF(Rect.width()*0.2,0)+QPointF(Rect.left(),Rect.top())); else Path.lineTo(QPointF(0,0)+QPointF(Rect.left(),Rect.top())); break; case -90 : if ((Options&OPTION_RIGHT)==OPTION_RIGHT) { Path.moveTo(QPointF(Rect.width()*0.8,0)+QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(Rect.width(),Rect.height()/2)+QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(Rect.width()*0.8,Rect.height())+QPointF(Rect.left(),Rect.top())); } else { Path.moveTo(QPointF(Rect.width(),0)+QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(Rect.width(),Rect.height())+QPointF(Rect.left(),Rect.top())); } Path.lineTo(QPointF(0,Rect.height())+QPointF(Rect.left(),Rect.top())); if ((Options&OPTION_LEFT)==OPTION_LEFT) Path.lineTo(QPointF(Rect.width()*0.2,Rect.height()/2)+QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(0,0)+QPointF(Rect.left(),Rect.top())); if ((Options&OPTION_RIGHT)==OPTION_RIGHT) Path.lineTo(QPointF(Rect.width()*0.8,0)+QPointF(Rect.left(),Rect.top())); else Path.lineTo(QPointF(Rect.width(),0)+QPointF(Rect.left(),Rect.top())); break; } List.append(Path.toFillPolygon(QTransform())); return List; } //==================================================================================================================== QList ComputeDoubleChevron(QRectF Rect,int Angle) { QList List; QPainterPath Path1,Path2; switch (Angle) { case 0 : Path1.moveTo(QPointF(Rect.width()/2,0) +QPointF(Rect.left(),Rect.top())); Path1.lineTo(QPointF(Rect.width(), Rect.height()*0.2) +QPointF(Rect.left(),Rect.top())); Path1.lineTo(QPointF(Rect.width(), Rect.height()*0.55) +QPointF(Rect.left(),Rect.top())); Path1.lineTo(QPointF(Rect.width()/2,Rect.height()*0.35) +QPointF(Rect.left(),Rect.top())); Path1.lineTo(QPointF(0, Rect.height()*0.55) +QPointF(Rect.left(),Rect.top())); Path1.lineTo(QPointF(0, Rect.height()*0.2) +QPointF(Rect.left(),Rect.top())); Path1.lineTo(QPointF(Rect.width()/2,0) +QPointF(Rect.left(),Rect.top())); Path2.moveTo(QPointF(Rect.width()/2,Rect.height()*0.45) +QPointF(Rect.left(),Rect.top())); Path2.lineTo(QPointF(Rect.width(), Rect.height()*0.65) +QPointF(Rect.left(),Rect.top())); Path2.lineTo(QPointF(Rect.width(), Rect.height()) +QPointF(Rect.left(),Rect.top())); Path2.lineTo(QPointF(Rect.width()/2,Rect.height()*0.8) +QPointF(Rect.left(),Rect.top())); Path2.lineTo(QPointF(0, Rect.height()) +QPointF(Rect.left(),Rect.top())); Path2.lineTo(QPointF(0, Rect.height()*0.65) +QPointF(Rect.left(),Rect.top())); Path2.lineTo(QPointF(Rect.width()/2,Rect.height()*0.45) +QPointF(Rect.left(),Rect.top())); break; case 180 : Path2.moveTo(QPointF(Rect.width()/2,Rect.height()) +QPointF(Rect.left(),Rect.top())); Path2.lineTo(QPointF(Rect.width(), Rect.height()*0.8) +QPointF(Rect.left(),Rect.top())); Path2.lineTo(QPointF(Rect.width(), Rect.height()*0.45) +QPointF(Rect.left(),Rect.top())); Path2.lineTo(QPointF(Rect.width()/2,Rect.height()*0.65) +QPointF(Rect.left(),Rect.top())); Path2.lineTo(QPointF(0, Rect.height()*0.45) +QPointF(Rect.left(),Rect.top())); Path2.lineTo(QPointF(0, Rect.height()*0.8) +QPointF(Rect.left(),Rect.top())); Path2.lineTo(QPointF(Rect.width()/2,Rect.height()) +QPointF(Rect.left(),Rect.top())); Path1.moveTo(QPointF(Rect.width()/2,Rect.height()*0.55) +QPointF(Rect.left(),Rect.top())); Path1.lineTo(QPointF(Rect.width(), Rect.height()*0.35) +QPointF(Rect.left(),Rect.top())); Path1.lineTo(QPointF(Rect.width(), 0) +QPointF(Rect.left(),Rect.top())); Path1.lineTo(QPointF(Rect.width()/2,Rect.height()*0.2) +QPointF(Rect.left(),Rect.top())); Path1.lineTo(QPointF(0, 0) +QPointF(Rect.left(),Rect.top())); Path1.lineTo(QPointF(0, Rect.height()*0.35) +QPointF(Rect.left(),Rect.top())); Path1.lineTo(QPointF(Rect.width()/2,Rect.height()*0.55) +QPointF(Rect.left(),Rect.top())); break; case 90 : Path1.moveTo(QPointF(0, Rect.height()/2)+QPointF(Rect.left(),Rect.top())); Path1.lineTo(QPointF(Rect.width()*0.2, Rect.height()) +QPointF(Rect.left(),Rect.top())); Path1.lineTo(QPointF(Rect.width()*0.55, Rect.height()) +QPointF(Rect.left(),Rect.top())); Path1.lineTo(QPointF(Rect.width()*0.35, Rect.height()/2)+QPointF(Rect.left(),Rect.top())); Path1.lineTo(QPointF(Rect.width()*0.55, 0) +QPointF(Rect.left(),Rect.top())); Path1.lineTo(QPointF(Rect.width()*0.2, 0) +QPointF(Rect.left(),Rect.top())); Path1.lineTo(QPointF(0, Rect.height()/2)+QPointF(Rect.left(),Rect.top())); Path2.moveTo(QPointF(Rect.width()*0.45, Rect.height()/2)+QPointF(Rect.left(),Rect.top())); Path2.lineTo(QPointF(Rect.width()*0.65, Rect.height()) +QPointF(Rect.left(),Rect.top())); Path2.lineTo(QPointF(Rect.width(), Rect.height()) +QPointF(Rect.left(),Rect.top())); Path2.lineTo(QPointF(Rect.width()*0.8, Rect.height()/2)+QPointF(Rect.left(),Rect.top())); Path2.lineTo(QPointF(Rect.width(), 0) +QPointF(Rect.left(),Rect.top())); Path2.lineTo(QPointF(Rect.width()*0.65, 0) +QPointF(Rect.left(),Rect.top())); Path2.lineTo(QPointF(Rect.width()*0.45, Rect.height()/2)+QPointF(Rect.left(),Rect.top())); break; case -90 : Path1.moveTo(QPointF(Rect.width()*0.55, Rect.height()/2)+QPointF(Rect.left(),Rect.top())); Path1.lineTo(QPointF(Rect.width()*0.35, Rect.height()) +QPointF(Rect.left(),Rect.top())); Path1.lineTo(QPointF(0, Rect.height()) +QPointF(Rect.left(),Rect.top())); Path1.lineTo(QPointF(Rect.width()*0.2, Rect.height()/2)+QPointF(Rect.left(),Rect.top())); Path1.lineTo(QPointF(0, 0) +QPointF(Rect.left(),Rect.top())); Path1.lineTo(QPointF(Rect.width()*0.35, 0) +QPointF(Rect.left(),Rect.top())); Path1.lineTo(QPointF(Rect.width()*0.55, Rect.height()/2)+QPointF(Rect.left(),Rect.top())); Path2.moveTo(QPointF(Rect.width(), Rect.height()/2)+QPointF(Rect.left(),Rect.top())); Path2.lineTo(QPointF(Rect.width()*0.8, Rect.height()) +QPointF(Rect.left(),Rect.top())); Path2.lineTo(QPointF(Rect.width()*0.45, Rect.height()) +QPointF(Rect.left(),Rect.top())); Path2.lineTo(QPointF(Rect.width()*0.65, Rect.height()/2)+QPointF(Rect.left(),Rect.top())); Path2.lineTo(QPointF(Rect.width()*0.45, 0) +QPointF(Rect.left(),Rect.top())); Path2.lineTo(QPointF(Rect.width()*0.8, 0) +QPointF(Rect.left(),Rect.top())); Path2.lineTo(QPointF(Rect.width(), Rect.height()/2)+QPointF(Rect.left(),Rect.top())); break; } List.append(Path1.toFillPolygon(QTransform())); List.append(Path2.toFillPolygon(QTransform())); return List; } //==================================================================================================================== QList ComputeSingleTriangle(QRectF Rect,int Angle) { QList List; QPainterPath Path; qreal RWA=Rect.width()/2; qreal RHA=Rect.height()/2; switch (Angle) { case 0 : Path.moveTo(QPointF(RWA, 0) +QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(Rect.width(), Rect.height()) +QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(0, Rect.height()) +QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(RWA, 0) +QPointF(Rect.left(),Rect.top())); break; case 180 : Path.moveTo(QPointF(RWA, Rect.height()) +QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(Rect.width(), 0) +QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(0, 0) +QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(RWA, Rect.height()) +QPointF(Rect.left(),Rect.top())); break; case 90 : Path.moveTo(QPointF(0, RHA) +QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(Rect.width(), Rect.height()) +QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(Rect.width(), 0) +QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(0, RHA) +QPointF(Rect.left(),Rect.top())); break; case -90 : Path.moveTo(QPointF(Rect.width(), RHA) +QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(0, Rect.height()) +QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(0, 0) +QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(Rect.width(), RHA) +QPointF(Rect.left(),Rect.top())); break; } List.append(Path.toFillPolygon(QTransform())); return List; } //==================================================================================================================== QList ComputeDoubleTriangle(QRectF Rect,int Angle) { QList List; QPainterPath Path1,Path2; qreal RWA=Rect.width()/2; qreal RHA=Rect.height()/2; switch (Angle) { case 0 : Path1.moveTo(QPointF(RWA, 0) +QPointF(Rect.left(),Rect.top())); Path1.lineTo(QPointF(Rect.width(), RHA) +QPointF(Rect.left(),Rect.top())); Path1.lineTo(QPointF(0, RHA) +QPointF(Rect.left(),Rect.top())); Path1.lineTo(QPointF(RWA, 0) +QPointF(Rect.left(),Rect.top())); Path2.moveTo(QPointF(RWA, 0) +QPointF(Rect.left(),Rect.top()+RHA)); Path2.lineTo(QPointF(Rect.width(), RHA) +QPointF(Rect.left(),Rect.top()+RHA)); Path2.lineTo(QPointF(0, RHA) +QPointF(Rect.left(),Rect.top()+RHA)); Path2.lineTo(QPointF(RWA, 0) +QPointF(Rect.left(),Rect.top()+RHA)); break; case 180 : Path1.moveTo(QPointF(RWA, RHA) +QPointF(Rect.left(),Rect.top())); Path1.lineTo(QPointF(Rect.width(), 0) +QPointF(Rect.left(),Rect.top())); Path1.lineTo(QPointF(0, 0) +QPointF(Rect.left(),Rect.top())); Path1.lineTo(QPointF(RWA, RHA) +QPointF(Rect.left(),Rect.top())); Path2.moveTo(QPointF(RWA, RHA) +QPointF(Rect.left(),Rect.top()+RHA)); Path2.lineTo(QPointF(Rect.width(), 0) +QPointF(Rect.left(),Rect.top()+RHA)); Path2.lineTo(QPointF(0, 0) +QPointF(Rect.left(),Rect.top()+RHA)); Path2.lineTo(QPointF(RWA, RHA) +QPointF(Rect.left(),Rect.top()+RHA)); break; case 90 : Path1.moveTo(QPointF(0, RHA) +QPointF(Rect.left(),Rect.top())); Path1.lineTo(QPointF(RWA, Rect.height()) +QPointF(Rect.left(),Rect.top())); Path1.lineTo(QPointF(RWA, 0) +QPointF(Rect.left(),Rect.top())); Path1.lineTo(QPointF(0, RHA) +QPointF(Rect.left(),Rect.top())); Path2.moveTo(QPointF(0, RHA) +QPointF(Rect.left()+RWA,Rect.top())); Path2.lineTo(QPointF(RWA, Rect.height()) +QPointF(Rect.left()+RWA,Rect.top())); Path2.lineTo(QPointF(RWA, 0) +QPointF(Rect.left()+RWA,Rect.top())); Path2.lineTo(QPointF(0, RHA) +QPointF(Rect.left()+RWA,Rect.top())); break; case -90 : Path1.moveTo(QPointF(RWA, RHA) +QPointF(Rect.left(),Rect.top())); Path1.lineTo(QPointF(0, Rect.height()) +QPointF(Rect.left(),Rect.top())); Path1.lineTo(QPointF(0, 0) +QPointF(Rect.left(),Rect.top())); Path1.lineTo(QPointF(RWA, RHA) +QPointF(Rect.left(),Rect.top())); Path2.moveTo(QPointF(RWA, RHA) +QPointF(Rect.left()+RWA,Rect.top())); Path2.lineTo(QPointF(0, Rect.height()) +QPointF(Rect.left()+RWA,Rect.top())); Path2.lineTo(QPointF(0, 0) +QPointF(Rect.left()+RWA,Rect.top())); Path2.lineTo(QPointF(RWA, RHA) +QPointF(Rect.left()+RWA,Rect.top())); break; } List.append(Path1.toFillPolygon(QTransform())); List.append(Path2.toFillPolygon(QTransform())); return List; } //==================================================================================================================== QList ComputeSimpleArrow(QRectF Rect,int Angle) { QList List; QPainterPath Path; qreal RWA=Rect.width()/2 ,RWB=Rect.width()/3; qreal RHA=Rect.height()/2,RHB=Rect.height()/3; switch (Angle) { case 0 : Path.moveTo(QPointF(RWA, 0) +QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(Rect.width(), RHB) +QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(2*RWB, RHB) +QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(2*RWB, Rect.height()) +QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(RWB, Rect.height()) +QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(RWB, RHB) +QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(0, RHB) +QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(RWA, 0) +QPointF(Rect.left(),Rect.top())); break; case 180 : Path.moveTo(QPointF(RWA, RHB) +QPointF(Rect.left(),Rect.bottom()-RHB)); Path.lineTo(QPointF(Rect.width(), 0) +QPointF(Rect.left(),Rect.bottom()-RHB)); Path.lineTo(QPointF(Rect.width()-RWB, 0) +QPointF(Rect.left(),Rect.bottom()-RHB)); Path.lineTo(QPointF(Rect.width()-RWB, 0) +QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(RWB, 0) +QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(RWB, 0) +QPointF(Rect.left(),Rect.bottom()-RHB)); Path.lineTo(QPointF(0, 0) +QPointF(Rect.left(),Rect.bottom()-RHB)); Path.lineTo(QPointF(RWA, RHB) +QPointF(Rect.left(),Rect.bottom()-RHB)); break; case 90 : Path.moveTo(QPointF(0, RHA) +QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(RWB, Rect.height()) +QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(RWB, 2*RHB) +QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(Rect.width(), 2*RHB) +QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(Rect.width(), RHB) +QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(RWB, RHB) +QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(RWB, 0) +QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(0, RHA) +QPointF(Rect.left(),Rect.top())); break; case -90 : Path.moveTo(QPointF(RWB, RHA) +QPointF(Rect.right()-RWB,Rect.top())); Path.lineTo(QPointF(0, Rect.height()) +QPointF(Rect.right()-RWB,Rect.top())); Path.lineTo(QPointF(0, 2*RHB) +QPointF(Rect.right()-RWB,Rect.top())); Path.lineTo(QPointF(0, 2*RHB) +QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(0, RHB) +QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(0, RHB) +QPointF(Rect.right()-RWB,Rect.top())); Path.lineTo(QPointF(0, 0) +QPointF(Rect.right()-RWB,Rect.top())); Path.lineTo(QPointF(RWB, RHA) +QPointF(Rect.right()-RWB,Rect.top())); break; } List.append(Path.toFillPolygon(QTransform())); return List; } //==================================================================================================================== QList ComputeDoubleArrow(QRectF Rect,int Angle) { QList List; QPointF Table[11]; QPainterPath Path; qreal Ray=(sqrt(qreal(Rect.width())*qreal(Rect.width())+qreal(Rect.height())*qreal(Rect.height())))/2; qreal RB=2*Ray/3; switch (Angle) { case 0: Table[0] =QPointF(Ray, 0); Table[1] =QPointF(2*Ray, RB); Table[2] =QPointF(2*RB, RB); Table[3] =QPointF(2*RB, 2*RB); Table[4] =QPointF(2*Ray, 2*RB); Table[5] =QPointF(Ray, 2*Ray); Table[6] =QPointF(0, 2*RB); Table[7] =QPointF(RB, 2*RB); Table[8] =QPointF(RB, RB); Table[9] =QPointF(0, RB); Table[10]=QPointF(Ray, 0); break; case 90: Table[0] =QPointF(0, Ray); Table[1] =QPointF(RB, 2*Ray); Table[2] =QPointF(RB, 2*RB); Table[3] =QPointF(2*RB, 2*RB); Table[4] =QPointF(2*RB, 2*Ray); Table[5] =QPointF(2*Ray, Ray); Table[6] =QPointF(2*RB, 0); Table[7] =QPointF(2*RB, RB); Table[8] =QPointF(RB, RB); Table[9] =QPointF(RB, 0); Table[10]=QPointF(0, Ray); break; case 45: Table[0] =QPointF(2*Ray, 0); Table[1] =QPointF(2*Ray, Ray); Table[2] =QPointF(Ray+RB, RB); Table[3] =QPointF(RB, Ray+RB); Table[4] =QPointF(Ray, 2*Ray); Table[5] =QPointF(0, 2*Ray); Table[6] =QPointF(0, Ray); Table[7] =QPointF(RB/2, Ray+RB/2); Table[8] =QPointF(Ray+RB/2, RB/2); Table[9] =QPointF(Ray, 0); Table[10]=QPointF(2*Ray, 0); break; case -45: Table[0] =QPointF(0, 0); Table[1] =QPointF(Ray, 0); Table[2] =QPointF(RB, RB/2); Table[3] =QPointF(Ray+RB, Ray+RB/2); Table[4] =QPointF(2*Ray, Ray); Table[5] =QPointF(2*Ray, 2*Ray); Table[6] =QPointF(Ray, 2*Ray); Table[7] =QPointF(Ray+RB/2, Ray+RB); Table[8] =QPointF(RB/2, RB); Table[9] =QPointF(0, Ray); Table[10]=QPointF(0, 0); break; } //Scale qreal x1=Table[0].x(); qreal y1=Table[0].y(); qreal x2=Table[0].x(); qreal y2=Table[0].y(); for (int i=1;i<11;i++) { if (Table[i].x()x2) x2=Table[i].x(); if (Table[i].y()>y2) y2=Table[i].y(); } qreal ScaleX=Rect.width()/(x2-x1); qreal ScaleY=Rect.height()/(y2-y1); Path.moveTo(QPointF(Table[0].x()*ScaleX,Table[0].y()*ScaleY)+QPointF(Rect.left(),Rect.top())); for (int i=1;i<11;i++) Path.lineTo(QPointF(Table[i].x()*ScaleX,Table[i].y()*ScaleY)+QPointF(Rect.left(),Rect.top())); List.append(Path.toFillPolygon(QTransform())); return List; } //==================================================================================================================== QList ComputeStar(QRectF Rect,int Pointed) { QList List; QPointF Table[100]; QPainterPath Path; qreal Segment=(180/Pointed),CurAngle=-90; qreal Ray1=(sqrt(qreal(Rect.width())*qreal(Rect.width())+qreal(Rect.height())*qreal(Rect.height())))/2; qreal Ray2=Ray1/2; //Compute star for (int i=0;i<=Pointed;i++) { Table[i*2]=QPointF(cos(CurAngle*PI/180)*Ray1+Ray1,sin(CurAngle*PI/180)*Ray1+Ray1); CurAngle=CurAngle+Segment; Table[i*2+1]=QPointF(cos(CurAngle*PI/180)*Ray2+Ray1,sin(CurAngle*PI/180)*Ray2+Ray1); CurAngle=CurAngle+Segment; } //Scale qreal x1=Table[0].x(); qreal y1=Table[0].y(); qreal x2=Table[0].x(); qreal y2=Table[0].y(); for (int i=1;i<=Pointed*2;i++) { if (Table[i].x()x2) x2=Table[i].x(); if (Table[i].y()>y2) y2=Table[i].y(); } qreal ScaleX=Rect.width()/(x2-x1); qreal ScaleY=Rect.height()/(y2-y1); Path.moveTo(QPointF(Table[0].x()*ScaleX,Table[0].y()*ScaleY)+QPointF(Rect.left(),Rect.top())); for (int i=1;i ComputeGear(QRectF Rect,int tooth) { QList List; QPointF Table[100]; QPainterPath Path; qreal Segment=(180/tooth),CurAngle=90; qreal PartSegment=Segment/10; qreal Ray1=(sqrt(qreal(Rect.width())*qreal(Rect.width())+qreal(Rect.height())*qreal(Rect.height())))/2; qreal Ray2=Ray1*0.8; //Compute gear for (int i=0;i<=tooth;i++) { Table[i*4]=QPointF(cos(CurAngle*PI/180)*Ray1+Ray1,sin(CurAngle*PI/180)*Ray1+Ray1); CurAngle=CurAngle+PartSegment; Table[i*4+1]=QPointF(cos(CurAngle*PI/180)*Ray1+Ray1,sin(CurAngle*PI/180)*Ray1+Ray1); CurAngle=CurAngle+Segment-PartSegment; Table[i*4+2]=QPointF(cos(CurAngle*PI/180)*Ray2+Ray1,sin(CurAngle*PI/180)*Ray2+Ray1); CurAngle=CurAngle+PartSegment; Table[i*4+3]=QPointF(cos(CurAngle*PI/180)*Ray2+Ray1,sin(CurAngle*PI/180)*Ray2+Ray1); CurAngle=CurAngle+Segment-PartSegment; } //Scale qreal x1=Table[0].x(); qreal y1=Table[0].y(); qreal x2=Table[0].x(); qreal y2=Table[0].y(); for (int i=1;i<=tooth*4;i++) { if (Table[i].x()x2) x2=Table[i].x(); if (Table[i].y()>y2) y2=Table[i].y(); } qreal ScaleX=Rect.width()/(x2-x1); qreal ScaleY=Rect.height()/(y2-y1); Path.moveTo(QPointF(Table[0].x()*ScaleX,Table[0].y()*ScaleY)+QPointF(Rect.left(),Rect.top())); for (int i=1;i ComputeRightTriangle(QRectF Rect,int Angle) { QList List; QPainterPath Path; switch (Angle) { case 0: Path.moveTo(QPointF(Rect.left(),Rect.bottom())); Path.lineTo(QPointF(Rect.right(),Rect.top())); Path.lineTo(QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(Rect.left(),Rect.bottom())); break; case 1: Path.moveTo(QPointF(Rect.right(),Rect.bottom())); Path.lineTo(QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(Rect.right(),Rect.top())); Path.lineTo(QPointF(Rect.right(),Rect.bottom())); break; case 2 : Path.moveTo(QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(Rect.right(),Rect.bottom())); Path.lineTo(QPointF(Rect.left(),Rect.bottom())); Path.lineTo(QPointF(Rect.left(),Rect.top())); break; case 3 : Path.moveTo(QPointF(Rect.right(),Rect.top())); Path.lineTo(QPointF(Rect.left(),Rect.bottom())); Path.lineTo(QPointF(Rect.right(),Rect.bottom())); Path.lineTo(QPointF(Rect.right(),Rect.top())); break; } List.append(Path.toFillPolygon(QTransform())); return List; } //==================================================================================================================== QList ComputePuzzle(QRectF Rect,int Forme) { QList List; QPainterPath Path; qreal QuarterW=Rect.width()/4, COSSINW=COSSIN45*(QuarterW/2),COSSINiW=(1-COSSIN45)*(QuarterW/2); qreal QuarterH=Rect.height()/4,COSSINH=COSSIN45*(QuarterH/2),COSSINiH=(1-COSSIN45)*(QuarterH/2); qreal RullerX =Rect.left()+(Rect.width()-(QuarterW/2)-COSSINW)/2; qreal RullerY =Rect.top()+(Rect.height()-(QuarterH/2)-COSSINH)/2; /*QRectF NewRect=QRectF(Rect.left(),Rect.top(), (Forme&OPTION_RIGHT)==OPTION_RIGHT?Rect.width()-QuarterW+COSSINiW:Rect.width(), (Forme&OPTION_DOWN) ==OPTION_DOWN?Rect.height()-(QuarterH/2)-COSSINH:Rect.height());*/ QRectF NewRect=QRectF(Rect.left(),Rect.top(),Rect.width()-QuarterW+COSSINiW,Rect.height()-(QuarterH/2)-COSSINH); QRectF RectUp =QRectF(RullerX-QuarterW/2, NewRect.top()-COSSINiH, QuarterW,QuarterH); QRectF RectDown =QRectF(RullerX-QuarterW/2, NewRect.bottom()-COSSINiH, QuarterW,QuarterH); QRectF RectLeft =QRectF(NewRect.left()-COSSINiW, RullerY-QuarterH/2, QuarterW,QuarterH); QRectF RectRight=QRectF(NewRect.right()-COSSINiW, RullerY-QuarterH/2, QuarterW,QuarterH); // Up Path.moveTo(QPointF(NewRect.left(),NewRect.top())); if ((Forme&OPTION_UP)==OPTION_UP) { Path.lineTo(QPointF(RectUp.left()-COSSINiW,NewRect.top())); Path.arcTo(RectUp,90+45,90+90+90); } Path.lineTo(QPointF(NewRect.right(),NewRect.top())); // Right if ((Forme&OPTION_RIGHT)==OPTION_RIGHT) { Path.lineTo(QPointF(RectRight.left()+COSSINiW,RullerY-COSSINH)); Path.arcTo(RectRight,90+45,-90-90-90); } Path.lineTo(QPointF(NewRect.right(),NewRect.bottom())); // Down if ((Forme&OPTION_DOWN)==OPTION_DOWN) { Path.lineTo(QPointF(RectDown.right()-COSSINiW,NewRect.bottom())); Path.arcTo(RectDown,45,-90-90-90); } Path.lineTo(QPointF(NewRect.left(),NewRect.bottom())); // Left if ((Forme&OPTION_LEFT)==OPTION_LEFT) { Path.lineTo(QPointF(NewRect.left(),RectLeft.bottom()-COSSINiH)); Path.arcTo(RectLeft,90+90+45,90+90+90); } Path.lineTo(QPointF(NewRect.left(),NewRect.top())); List.append(Path.toFillPolygon(QTransform())); return List; } //==================================================================================================================== QList ComputeOculars(QRectF Rect,int OcularsNbr,int Options) { QList List; QPainterPath Path; QRectF DemiRect; if (OcularsNbr==2) { if (Options==OPTION_UP) { DemiRect=QRectF(Rect.left(),Rect.top(),(Rect.width()/4)*(2+(1-COS30)),Rect.height()); Path.moveTo(DemiRect.center().x()+COS30*DemiRect.width()/2,DemiRect.center().y()-SIN30*DemiRect.height()/2); Path.arcTo(DemiRect, 30,300); DemiRect=QRectF(Rect.left()+Rect.width()/2-(1-COS30)*(Rect.width()/4),Rect.top(),DemiRect.width(),DemiRect.height()); Path.arcTo(DemiRect,210,300); } else { DemiRect=QRectF(Rect.left(),Rect.top(),Rect.width(),(Rect.height()/4)*(2+(1-SIN60))); Path.moveTo(DemiRect.center().x()-COS60*DemiRect.width()/2,DemiRect.center().y()+SIN60*DemiRect.height()/2); Path.arcTo(DemiRect,240,-300); DemiRect=QRectF(Rect.left(),Rect.top()+Rect.height()/2-(1-SIN60)*(Rect.height()/4),DemiRect.width(),DemiRect.height()); Path.arcTo(DemiRect, 60,-300); } } else if (OcularsNbr==3) { if (Options==OPTION_UP) { DemiRect=QRectF(Rect.left(),Rect.top(),(Rect.width()/6)*(2+1-COS30+(1-COS30)/3),Rect.height()); Path.moveTo(DemiRect.center().x()+COS30*DemiRect.width()/2,DemiRect.center().y()-SIN30*DemiRect.height()/2); Path.arcTo(DemiRect, 30,300); DemiRect=QRectF(Rect.center().x()-DemiRect.width()/2,Rect.top(),DemiRect.width(),DemiRect.height()); Path.arcTo(DemiRect,210,120); DemiRect=QRectF(Rect.right()-DemiRect.width(),Rect.top(),DemiRect.width(),DemiRect.height()); Path.arcTo(DemiRect,210,300); DemiRect=QRectF(Rect.center().x()-DemiRect.width()/2,Rect.top(),DemiRect.width(),DemiRect.height()); Path.arcTo(DemiRect, 30,120); } else { DemiRect=QRectF(Rect.left(),Rect.top(),Rect.width(),(Rect.height()/6)*(2+1-SIN60+(1-SIN60)/3)); Path.moveTo(DemiRect.center().x()-COS60*DemiRect.width()/2,DemiRect.center().y()+SIN60*DemiRect.height()/2); Path.arcTo(DemiRect,240,-300); DemiRect=QRectF(Rect.left(),Rect.center().y()-DemiRect.height()/2,DemiRect.width(),DemiRect.height()); Path.arcTo(DemiRect, 60,-120); DemiRect=QRectF(Rect.left(),Rect.bottom()-DemiRect.height(),DemiRect.width(),DemiRect.height()); Path.arcTo(DemiRect, 60,-300); DemiRect=QRectF(Rect.left(),Rect.center().y()-DemiRect.height()/2,DemiRect.width(),DemiRect.height()); Path.arcTo(DemiRect,240,-120); } } else if (OcularsNbr==4) { DemiRect=QRectF(Rect.left(),Rect.top(),(Rect.width()/4)*(2+(1-COSSIN45)),(Rect.height()/4)*(2+(1-COSSIN45))); Path.moveTo(DemiRect.center().x()-COSSIN45*DemiRect.width()/2,DemiRect.center().y()+COSSIN45*DemiRect.height()/2); Path.arcTo(DemiRect,225,-180); DemiRect=QRectF(Rect.left()+Rect.width()/2-(1-COSSIN45)*(Rect.width()/4),Rect.top(),DemiRect.width(),DemiRect.height()); Path.arcTo(DemiRect,135,-180); DemiRect=QRectF(DemiRect.left(),Rect.top()+Rect.height()/2-(1-COSSIN45)*(Rect.height()/4),DemiRect.width(),DemiRect.height()); Path.arcTo(DemiRect, 45,-180); DemiRect=QRectF(Rect.left(),DemiRect.top(),DemiRect.width(),DemiRect.height()); Path.arcTo(DemiRect,-45,-180); } List.append(Path.toFillPolygon(QTransform())); return List; } //==================================================================================================================== QList ComputeTrapezoid(QRectF Rect,int Options,int SubOptions) { QList List; QPainterPath Path; qreal QuarterX=Rect.width()/4; qreal QuarterY=Rect.height()/4; switch (Options) { case OPTION_UP: Path.moveTo(QPointF(Rect.left(),Rect.bottom())); if ((SubOptions&OPTION_LEFT)!=0) Path.lineTo(QPointF(Rect.left()+QuarterX,Rect.top())); else Path.lineTo(QPointF(Rect.left(),Rect.top())); if ((SubOptions&OPTION_RIGHT)!=0) Path.lineTo(QPointF(Rect.right()-QuarterX,Rect.top())); else Path.lineTo(QPointF(Rect.right(),Rect.top())); Path.lineTo(QPointF(Rect.right(),Rect.bottom())); Path.lineTo(QPointF(Rect.left(),Rect.bottom())); break; case OPTION_DOWN: Path.moveTo(QPointF(Rect.left(),Rect.top())); if ((SubOptions&OPTION_LEFT)!=0) Path.lineTo(QPointF(Rect.left()+QuarterX,Rect.bottom())); else Path.lineTo(QPointF(Rect.left(),Rect.bottom())); if ((SubOptions&OPTION_RIGHT)!=0) Path.lineTo(QPointF(Rect.right()-QuarterX,Rect.bottom())); else Path.lineTo(QPointF(Rect.right(),Rect.bottom())); Path.lineTo(QPointF(Rect.right(),Rect.top())); Path.lineTo(QPointF(Rect.left(),Rect.top())); break; case OPTION_LEFT : Path.moveTo(QPointF(Rect.right(),Rect.bottom())); if ((SubOptions&OPTION_DOWN)!=0) Path.lineTo(QPointF(Rect.left(),Rect.bottom()-QuarterY)); else Path.lineTo(QPointF(Rect.left(),Rect.bottom())); if ((SubOptions&OPTION_UP)!=0) Path.lineTo(QPointF(Rect.left(),Rect.top()+QuarterY)); else Path.lineTo(QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(Rect.right(),Rect.top())); Path.lineTo(QPointF(Rect.right(),Rect.bottom())); break; case OPTION_RIGHT : Path.moveTo(QPointF(Rect.left(),Rect.bottom())); if ((SubOptions&OPTION_DOWN)!=0) Path.lineTo(QPointF(Rect.right(),Rect.bottom()-QuarterY)); else Path.lineTo(QPointF(Rect.right(),Rect.bottom())); if ((SubOptions&OPTION_UP)!=0) Path.lineTo(QPointF(Rect.right(),Rect.top()+QuarterY)); else Path.lineTo(QPointF(Rect.right(),Rect.top())); Path.lineTo(QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(Rect.left(),Rect.bottom())); break; } List.append(Path.toFillPolygon(QTransform())); return List; } //==================================================================================================================== QList ComputeParallelo(QRectF Rect,int Options) { QList List; QPainterPath Path; qreal QuarterX=Rect.width()/4; qreal QuarterY=Rect.height()/4; switch (Options) { case OPTION_LEFT: Path.moveTo(QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(Rect.right()-QuarterX,Rect.top())); Path.lineTo(QPointF(Rect.right(),Rect.bottom())); Path.lineTo(QPointF(Rect.left()+QuarterX,Rect.bottom())); Path.lineTo(QPointF(Rect.left(),Rect.top())); break; case OPTION_RIGHT: Path.moveTo(QPointF(Rect.left()+QuarterX,Rect.top())); Path.lineTo(QPointF(Rect.right(),Rect.top())); Path.lineTo(QPointF(Rect.right()-QuarterX,Rect.bottom())); Path.lineTo(QPointF(Rect.left(),Rect.bottom())); Path.lineTo(QPointF(Rect.left()+QuarterX,Rect.top())); break; case OPTION_UP: Path.moveTo(QPointF(Rect.left(),Rect.top()+QuarterY)); Path.lineTo(QPointF(Rect.right(),Rect.top())); Path.lineTo(QPointF(Rect.right(),Rect.bottom()-QuarterY)); Path.lineTo(QPointF(Rect.left(),Rect.bottom())); Path.lineTo(QPointF(Rect.left(),Rect.top()+QuarterY)); break; case OPTION_DOWN: Path.moveTo(QPointF(Rect.left(),Rect.top())); Path.lineTo(QPointF(Rect.right(),Rect.top()+QuarterY)); Path.lineTo(QPointF(Rect.right(),Rect.bottom())); Path.lineTo(QPointF(Rect.left(),Rect.bottom()-QuarterY)); Path.lineTo(QPointF(Rect.left(),Rect.top())); break; } List.append(Path.toFillPolygon(QTransform())); return List; } //==================================================================================================================== QList ComputeKeyHole(QRectF Rect) { QList List; QPainterPath Path; QRectF DemiRect; DemiRect=QRectF(Rect.left(),Rect.top(),Rect.width(),(Rect.height()/4)*(2+(1-SIN60))); Path.moveTo(DemiRect.center().x()-COS60*DemiRect.width()/2,DemiRect.center().y()+SIN60*DemiRect.height()/2); Path.arcTo(DemiRect,240,-300); Path.lineTo(QPointF(Rect.right()-Rect.width()*0.1,Rect.bottom())); Path.lineTo(QPointF(Rect.left()+Rect.width()*0.1,Rect.bottom())); Path.lineTo(DemiRect.center().x()-COS60*DemiRect.width()/2,DemiRect.center().y()+SIN60*DemiRect.height()/2); List.append(Path.toFillPolygon(QTransform())); return List; } //==================================================================================================================== QList ComputePlus(QRectF Rect) { qreal QuarterX=Rect.width()/4; qreal QuarterY=Rect.height()/4; QList List; QPainterPath Path; Path.moveTo(QPointF(Rect.left()+QuarterX,Rect.top())); Path.lineTo(QPointF(Rect.right()-QuarterX,Rect.top())); Path.lineTo(QPointF(Rect.right()-QuarterX,Rect.top()+QuarterY)); Path.lineTo(QPointF(Rect.right(),Rect.top()+QuarterY)); Path.lineTo(QPointF(Rect.right(),Rect.bottom()-QuarterY)); Path.lineTo(QPointF(Rect.right()-QuarterX,Rect.bottom()-QuarterY)); Path.lineTo(QPointF(Rect.right()-QuarterX,Rect.bottom())); Path.lineTo(QPointF(Rect.left()+QuarterX,Rect.bottom())); Path.lineTo(QPointF(Rect.left()+QuarterX,Rect.bottom()-QuarterY)); Path.lineTo(QPointF(Rect.left(),Rect.bottom()-QuarterY)); Path.lineTo(QPointF(Rect.left(),Rect.top()+QuarterY)); Path.lineTo(QPointF(Rect.left()+QuarterX,Rect.top()+QuarterY)); Path.lineTo(QPointF(Rect.left()+QuarterX,Rect.top())); List.append(Path.toFillPolygon(QTransform())); return List; } //==================================================================================================================== #define COS80 0.173648178 #define SIN80 0.984807753 QList ComputeHourglass(QRectF Rect) { QList List; QPainterPath Path; QRectF DemiRect; DemiRect=QRectF(Rect.left(),Rect.top()-Rect.height()/2,Rect.width(),Rect.height()); Path.moveTo(DemiRect.center().x()-COS80*DemiRect.width()/2,DemiRect.center().y()+SIN80*DemiRect.height()/2); Path.arcTo(DemiRect,260,-80); Path.lineTo(Rect.right(),Rect.top()); Path.arcTo(DemiRect,0,-80); DemiRect=QRectF(Rect.left(),Rect.bottom()-Rect.height()/2,Rect.width(),Rect.height()); Path.arcTo(DemiRect,80,-80); Path.lineTo(Rect.left(),Rect.bottom()); Path.arcTo(DemiRect,180,-80); List.append(Path.toFillPolygon(QTransform())); return List; } //==================================================================================================================== // Utilities functions to compute a polygon for a given form QList ComputePolygon(int BackgroundForm,qreal left,qreal top,qreal width,qreal height) { qreal CenterX=left+width/2; qreal CenterY=top+height/2; qreal RayX =0; qreal RayY =0; switch (BackgroundForm) { case SHAPEFORM_ROUNDRECT : // Round rect RayX=width/10; if (RayX>16) RayX=16; else if (RayX<2) RayX=2; RayY=height/10; if (RayY>16) RayY=16; else if (RayY<2) RayY=2; return ComputePolygonRoundRect(QRectF(left,top,width,height),RayX,RayY); break; case SHAPEFORM_BUBBLE : // Bubble RayX=2*width/10; if (RayX<4) RayX=4; RayY=2*height/10; if (RayY<4) RayY=4; return ComputePolygonRoundRect(QRectF(left,top,width,height),RayX,RayY); break; case SHAPEFORM_ELLIPSE : return ComputePolygonEllipse(QRectF(left,top,width,height)); break; // Ellipse case SHAPEFORM_TRIANGLEUP : return ComputePolygonR(width,height,CenterX,CenterY,3,90); break; // Triangle Up case SHAPEFORM_TRIANGLERIGHT : return ComputePolygonR(width,height,CenterX,CenterY,3,0); break; // Triangle Right case SHAPEFORM_TRIANGLEDOWN : return ComputePolygonR(width,height,CenterX,CenterY,3,-90); break; // Triangle Down case SHAPEFORM_TRIANGLELEFT : return ComputePolygonR(width,height,CenterX,CenterY,3,-180); break; // Triangle left case SHAPEFORM_RIGHTTRIANGLEUL : return ComputeRightTriangle(QRectF(left,top,width,height),0); break; // Right triangle Up-Left case SHAPEFORM_RIGHTTRIANGLEUR : return ComputeRightTriangle(QRectF(left,top,width,height),1); break; // Right triangle Up-Right case SHAPEFORM_RIGHTTRIANGLEDL : return ComputeRightTriangle(QRectF(left,top,width,height),2); break; // Right triangle Down-Left case SHAPEFORM_RIGHTTRIANGLEDR : return ComputeRightTriangle(QRectF(left,top,width,height),3); break; // Right triangle Down-Right case SHAPEFORM_RHOMBUS : return ComputePolygonR(width,height,CenterX,CenterY,4,0); break; // Losange case SHAPEFORM_PENTAGON : return ComputePolygonR(width,height,CenterX,CenterY,5,90-(double(360)/5)); break; // Pentagone case SHAPEFORM_HEXAGON : return ComputePolygonR(width,height,CenterX,CenterY,6,-(double(360)/6)); break; // Hexagone case SHAPEFORM_OCTOGON : return ComputePolygonR(width,height,CenterX,CenterY,8,-(double(360)/8)); break; // Octogone case SHAPEFORM_SIMPLEARROWUP : return ComputeSimpleArrow(QRectF(left,top,width,height),0); break; // Simple arrow top case SHAPEFORM_SIMPLEARROWRIGHT : return ComputeSimpleArrow(QRectF(left,top,width,height),-90); break; // Simple arrow right case SHAPEFORM_SIMPLEARROWDOWN : return ComputeSimpleArrow(QRectF(left,top,width,height),180); break; // Simple arrow down case SHAPEFORM_SIMPLEARROWLEFT : return ComputeSimpleArrow(QRectF(left,top,width,height),90); break; // Simple arrow left case SHAPEFORM_DOUBLEARROWVERT : return ComputeDoubleArrow(QRectF(left,top,width,height),0); break; // Double vert arrows case SHAPEFORM_DOUBLEARROWHORIZ : return ComputeDoubleArrow(QRectF(left,top,width,height),90); break; // Double horiz arrows case SHAPEFORM_DOUBLEARROWDIAG1 : return ComputeDoubleArrow(QRectF(left,top,width,height),-45); break; // Double diag arrows 1 case SHAPEFORM_DOUBLEARROWDIAG2 : return ComputeDoubleArrow(QRectF(left,top,width,height),45); break; // Double diag arrows 2 case SHAPEFORM_STRIANGLEUP : return ComputeSingleTriangle(QRectF(left,top,width,height),0); break; // Single triangle top case SHAPEFORM_STRIANGLERIGHT : return ComputeSingleTriangle(QRectF(left,top,width,height),-90); break; // Single triangle right case SHAPEFORM_STRIANGLEDOWN : return ComputeSingleTriangle(QRectF(left,top,width,height),180); break; // Single triangle down case SHAPEFORM_STRIANGLELEFT : return ComputeSingleTriangle(QRectF(left,top,width,height),90); break; // Single triangle left case SHAPEFORM_DTRIANGLEUP : return ComputeDoubleTriangle(QRectF(left,top,width,height),0); break; // Double chevron top case SHAPEFORM_DTRIANGLERIGHT : return ComputeDoubleTriangle(QRectF(left,top,width,height),-90); break; // Double chevron right case SHAPEFORM_DTRIANGLEDOWN : return ComputeDoubleTriangle(QRectF(left,top,width,height),180); break; // Double chevron down case SHAPEFORM_DTRIANGLELEFT : return ComputeDoubleTriangle(QRectF(left,top,width,height),90); break; // Double chevron left case SHAPEFORM_SCHEVRONUP : return ComputeSingleChevron(QRectF(left,top,width,height),0,OPTION_UP|OPTION_DOWN); break; // Single chevron up case SHAPEFORM_SCHEVRONRIGHT : return ComputeSingleChevron(QRectF(left,top,width,height),-90,OPTION_LEFT|OPTION_RIGHT); break; // Single chevron right case SHAPEFORM_SCHEVRONDOWN : return ComputeSingleChevron(QRectF(left,top,width,height),180,OPTION_UP|OPTION_DOWN); break; // Single chevron down case SHAPEFORM_SCHEVRONLEFT : return ComputeSingleChevron(QRectF(left,top,width,height),90,OPTION_LEFT|OPTION_RIGHT); break; // Single chevron left case SHAPEFORM_PUSHEDUP : return ComputeSingleChevron(QRectF(left,top,width,height),0,OPTION_DOWN); break; // Pushed up case SHAPEFORM_PUSHEDRIGHT : return ComputeSingleChevron(QRectF(left,top,width,height),-90,OPTION_LEFT); break; // Pushed right case SHAPEFORM_PUSHEDDOWN : return ComputeSingleChevron(QRectF(left,top,width,height),180,OPTION_UP); break; // Pushed down case SHAPEFORM_PUSHEDLEFT : return ComputeSingleChevron(QRectF(left,top,width,height),90,OPTION_RIGHT); break; // Pushed left case SHAPEFORM_SHARPUP : return ComputeSingleChevron(QRectF(left,top,width,height),0,OPTION_UP); break; // Sharp up case SHAPEFORM_SHARPRIGHT : return ComputeSingleChevron(QRectF(left,top,width,height),-90,OPTION_RIGHT); break; // Sharp right case SHAPEFORM_SHARPDOWN : return ComputeSingleChevron(QRectF(left,top,width,height),180,OPTION_DOWN); break; // Sharp down case SHAPEFORM_SHARPLEFT : return ComputeSingleChevron(QRectF(left,top,width,height),90,OPTION_LEFT); break; // Sharp left case SHAPEFORM_DCHEVRONUP : return ComputeDoubleChevron(QRectF(left,top,width,height),0); break; // Double chevron up case SHAPEFORM_DCHEVRONRIGHT : return ComputeDoubleChevron(QRectF(left,top,width,height),-90); break; // Double chevron right case SHAPEFORM_DCHEVRONDOWN : return ComputeDoubleChevron(QRectF(left,top,width,height),180); break; // Double chevron down case SHAPEFORM_DCHEVRONLEFT : return ComputeDoubleChevron(QRectF(left,top,width,height),90); break; // Double chevron left case SHAPEFORM_STAR4 : return ComputeStar(QRectF(left,top,width,height),4); break; // Star 4 case SHAPEFORM_STAR5 : return ComputeStar(QRectF(left,top,width,height),5); break; // Star 5 case SHAPEFORM_STAR6 : return ComputeStar(QRectF(left,top,width,height),6); break; // Star 6 case SHAPEFORM_STAR8 : return ComputeStar(QRectF(left,top,width,height),8); break; // Star 8 case SHAPEFORM_GEAR6 : return ComputeGear(QRectF(left,top,width,height),6); break; // Gear 6 case SHAPEFORM_GEAR8 : return ComputeGear(QRectF(left,top,width,height),8); break; // Gear 8 case SHAPEFORM_GEAR10 : return ComputeGear(QRectF(left,top,width,height),10); break; // Gear 10 case SHAPEFORM_GEAR12 : return ComputeGear(QRectF(left,top,width,height),12); break; // Gear 12 case SHAPEFORM_HEART : return ComputeHeart(QRectF(left,top,width,height)); break; // Heart case SHAPEFORM_SPADE : return ComputeSpade(QRectF(left,top,width,height)); break; // Spade case SHAPEFORM_CLUB : return ComputeClub(QRectF(left,top,width,height)); break; // Club case SHAPEFORM_PUZZLEUL : return ComputePuzzle(QRectF(left,top,width,height),OPTION_RIGHT|OPTION_DOWN); break; // Puzzle Up-Left case SHAPEFORM_PUZZLEUC : return ComputePuzzle(QRectF(left,top,width,height),OPTION_LEFT|OPTION_RIGHT|OPTION_DOWN); break; // Puzzle Up-Center case SHAPEFORM_PUZZLEUR : return ComputePuzzle(QRectF(left,top,width,height),OPTION_LEFT|OPTION_DOWN); break; // Puzzle Up-Right case SHAPEFORM_PUZZLEML : return ComputePuzzle(QRectF(left,top,width,height),OPTION_UP|OPTION_RIGHT|OPTION_DOWN); break; // Puzzle Middle-Left case SHAPEFORM_PUZZLEMC : return ComputePuzzle(QRectF(left,top,width,height),OPTION_UP|OPTION_LEFT|OPTION_RIGHT|OPTION_DOWN); break; // Puzzle Middle-Center case SHAPEFORM_PUZZLEMR : return ComputePuzzle(QRectF(left,top,width,height),OPTION_UP|OPTION_LEFT|OPTION_DOWN); break; // Puzzle Middle-Right case SHAPEFORM_PUZZLEDL : return ComputePuzzle(QRectF(left,top,width,height),OPTION_UP|OPTION_RIGHT); break; // Puzzle Down-Left case SHAPEFORM_PUZZLEDC : return ComputePuzzle(QRectF(left,top,width,height),OPTION_UP|OPTION_LEFT|OPTION_RIGHT); break; // Puzzle Down-Center case SHAPEFORM_PUZZLEDR : return ComputePuzzle(QRectF(left,top,width,height),OPTION_UP|OPTION_LEFT); break; // Puzzle Down-Right case SHAPEFORM_BINOCULARSV : return ComputeOculars(QRectF(left,top,width,height),2,OPTION_UP); break; // Binoculars vertical case SHAPEFORM_TRINOCULARSV : return ComputeOculars(QRectF(left,top,width,height),3,OPTION_UP); break; // Trinoculars vertical case SHAPEFORM_BINOCULARSH : return ComputeOculars(QRectF(left,top,width,height),2,OPTION_LEFT); break; // Binoculars horizontal case SHAPEFORM_TRINOCULARSH : return ComputeOculars(QRectF(left,top,width,height),3,OPTION_LEFT); break; // Trinoculars horizontal case SHAPEFORM_FOUROCULARS : return ComputeOculars(QRectF(left,top,width,height),4,OPTION_UP); break; // Four oculars case SHAPEFORM_TRAPEZOIDUPLEFT : return ComputeTrapezoid(QRectF(left,top,width,height),OPTION_UP,OPTION_LEFT); break; // Trapezoid Up-Left case SHAPEFORM_TRAPEZOIDUP : return ComputeTrapezoid(QRectF(left,top,width,height),OPTION_UP,OPTION_LEFT|OPTION_RIGHT); break; // Trapezoid Up case SHAPEFORM_TRAPEZOIDUPRIGHT : return ComputeTrapezoid(QRectF(left,top,width,height),OPTION_UP,OPTION_RIGHT); break; // Trapezoid Up-Right case SHAPEFORM_TRAPEZOIDOWNLEFT : return ComputeTrapezoid(QRectF(left,top,width,height),OPTION_DOWN,OPTION_LEFT); break; // Trapezoid Down-Left case SHAPEFORM_TRAPEZOIDOWN : return ComputeTrapezoid(QRectF(left,top,width,height),OPTION_DOWN,OPTION_LEFT|OPTION_RIGHT); break; // Trapezoid Down case SHAPEFORM_TRAPEZOIDOWNRIGHT: return ComputeTrapezoid(QRectF(left,top,width,height),OPTION_DOWN,OPTION_RIGHT); break; // Trapezoid Down-Right case SHAPEFORM_TRAPEZOIDLEFTUP : return ComputeTrapezoid(QRectF(left,top,width,height),OPTION_LEFT,OPTION_UP); break; // Trapezoid Left-Up case SHAPEFORM_TRAPEZOIDLEFT : return ComputeTrapezoid(QRectF(left,top,width,height),OPTION_LEFT,OPTION_UP|OPTION_DOWN); break; // Trapezoid Left case SHAPEFORM_TRAPEZOIDLEFTDOWN: return ComputeTrapezoid(QRectF(left,top,width,height),OPTION_LEFT,OPTION_DOWN); break; // Trapezoid Left-Down case SHAPEFORM_TRAPEZOIDRIGHTUP : return ComputeTrapezoid(QRectF(left,top,width,height),OPTION_RIGHT,OPTION_UP); break; // Trapezoid Right-Up case SHAPEFORM_TRAPEZOIDRIGHT : return ComputeTrapezoid(QRectF(left,top,width,height),OPTION_RIGHT,OPTION_UP|OPTION_DOWN); break; // Trapezoid Right case SHAPEFORM_TRAPEZOIDRIGHTDOWN:return ComputeTrapezoid(QRectF(left,top,width,height),OPTION_RIGHT,OPTION_DOWN); break; // Trapezoid Right-Down case SHAPEFORM_PARALLELOLEFT : return ComputeParallelo(QRectF(left,top,width,height),OPTION_LEFT); break; // Parallelogram Left case SHAPEFORM_PARALLELORIGHT : return ComputeParallelo(QRectF(left,top,width,height),OPTION_RIGHT); break; // Parallelogram Right case SHAPEFORM_PARALLELOUP : return ComputeParallelo(QRectF(left,top,width,height),OPTION_UP); break; // Parallelogram Up case SHAPEFORM_PARALLELODOWN : return ComputeParallelo(QRectF(left,top,width,height),OPTION_DOWN); break; // Parallelogram Down case SHAPEFORM_KEYHOLE : return ComputeKeyHole(QRectF(left,top,width,height)); break; // KeyHole case SHAPEFORM_PLUS : return ComputePlus(QRectF(left,top,width,height)); break; // Plus case SHAPEFORM_HOURGLASS : return ComputeHourglass(QRectF(left,top,width,height)); break; // Hourglass default : return ComputePolygonRect(QRectF(left,top,width,height)); break; // No shape or rectangle or unknown shape } } //==================================================================================================================== QRectF PolygonToRectF(QList Polygon) { qreal x1=0,x2=0,y1=0,y2=0; if ((Polygon.count()==0)||(Polygon.at(0).toList().count()==0)) return QRectF(); for (int j=0;j List=Polygon.at(j).toList(); if (j==0) { x1=List[0].x(); x2=List[0].x(); y1=List[0].y(); y2=List[0].y(); } for (int i=0;ix2) x2=List[i].x(); if (List[i].y()y2) y2=List[i].y(); } } return QRectF(x1,y1,x2-x1,y2-y1); } ffDiaporama/src/ffDiaporama_lib/QCustomHorizSplitter.h0000777000175000001440000000314512275647222023360 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef QCUSTOMHORIZSPLITTER_H #define QCUSTOMHORIZSPLITTER_H // This class handle a standard horizontal QSplitter with 2 children. Only second child is expanding when splitter is resizing // Include some additional standard class #include #include class QCustomHorizSplitter : public QSplitter { Q_OBJECT public: bool IsFirstInitDone; explicit QCustomHorizSplitter(QWidget *parent = 0); virtual void resizeEvent(QResizeEvent *); virtual void showEvent(QShowEvent *event); signals: public slots: }; #endif // QCUSTOMHORIZSPLITTER_H ffDiaporama/src/ffDiaporama_lib/QCustomHorizSplitter.cpp0000777000175000001440000000327212275647222023714 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ // This class handle a standard horizontal QSplitter with 2 children. Only second child is expanding when splitter is resizing #include "QCustomHorizSplitter.h" #include #include QCustomHorizSplitter::QCustomHorizSplitter(QWidget *parent):QSplitter(parent) { IsFirstInitDone=false; } void QCustomHorizSplitter::resizeEvent(QResizeEvent *event) { if (!IsFirstInitDone) QSplitter::resizeEvent(event); else { QList List=sizes(); List[1]+=(event->size().width()-event->oldSize().width()); setSizes(List); } } void QCustomHorizSplitter::showEvent(QShowEvent *event) { QSplitter::showEvent(event); IsFirstInitDone=true; } ffDiaporama/src/ffDiaporama_lib/QCustomComboBox.h0000777000175000001440000000250112275647222022241 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef _QCUSTOMCOMBOBOX_H #define _QCUSTOMCOMBOBOX_H #include "BasicDefines.h" #include class QCustomComboBox : public QComboBox { Q_OBJECT public: explicit QCustomComboBox(QWidget *parent=0); virtual void showPopup(); signals: public slots: }; #endif // _QCUSTOMCOMBOBOX_H ffDiaporama/src/ffDiaporama_lib/QCustomComboBox.cpp0000777000175000001440000000264312275647222022603 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "QCustomComboBox.h" #include QCustomComboBox::QCustomComboBox(QWidget *parent):QComboBox(parent) { view()->setTextElideMode(Qt::ElideNone); } //==================================================================================================================== void QCustomComboBox::showPopup() { view()->setFixedWidth(this->width()*2); QComboBox::showPopup(); } ffDiaporama/src/ffDiaporama_lib/ImageFilters.h0000777000175000001440000000413412275647222021574 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef _IMAGEFILTERS_H #define _IMAGEFILTERS_H #include "BasicDefines.h" // Adapt From fmt_filters void FltBrightness(QImage &Img,int32_t bn); void FltContrast(QImage &Img,int32_t contrast); void FltGamma(QImage &Img,double L); void FltColorize(QImage &Img,int32_t red,int32_t green,int32_t blue); // Adapt From QImageBlitz void FltGrayscale(QImage &Img); void FltAutoContrast(QImage &Img); void FltBlur(QImage &Img,int radius); void FltSharpen(QImage &Img,int radius); void FltEdge(QImage &Img); void FltCharcoal(QImage &Img); void FltDespeckle(QImage &Img); void FltAntialias(QImage &Img); void FltGaussianBlur(QImage &Img,float radius,float sigma); void FltGaussianSharpen(QImage &Img,float radius,float sigma); void FltEqualize(QImage &Img); void FltEmboss(QImage &Img, float radius, float sigma); void FltOilPaint(QImage &Img, float radius=0.0); void FltDesaturate(QImage &Img, float desat); void FltSwirl(QImage &Img, float degrees); void FltImplode(QImage &Img, float amount); #endif // _IMAGEFILTERS_H ffDiaporama/src/ffDiaporama_lib/ImageFilters.cpp0000777000175000001440000015543012275647222022135 0ustar dominiqueusers/*====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2013 Dominique Levray This program is free software;you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation;either version 2 of the License,or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program;if not,write to the Free Software Foundation,Inc., 51 Franklin Street,Fifth Floor,Boston,MA 02110-1301 USA. ======================================================================*/ #include "ImageFilters.h" #include struct rgba { rgba(int r1,int g1,int b1,int a1):r(r1),g(g1),b(b1),a(a1) {} rgba():r(0),g(0),b(0),a(0) {} unsigned char r; unsigned char g; unsigned char b; unsigned char a; }; #define M_SQ2PI 2.50662827463100024161235523934010416269302368164062 #define M_EPSILON 1.0e-6 // Accumulates the results of applying x and y Sobel masks #define SOBEL(xm,ym,pixel) \ xR+=qRed((pixel))*(xm);\ xG+=qGreen((pixel))*(xm);\ xB+=qBlue((pixel))*(xm);\ yR+=qRed((pixel))*(ym);\ yG+=qGreen((pixel))*(ym);\ yB+=qBlue((pixel))*(ym); #define CONVOLVE_ACC(weight,pixel) \ r+=((weight))*(qRed((pixel)));\ g+=((weight))*(qGreen((pixel)));\ b+=((weight))*(qBlue((pixel))); typedef struct { u_int32_t red,green,blue,alpha; } IntegerPixel; typedef struct { u_int16_t red,green,blue,alpha; } ShortPixel; typedef struct { // Yes,a normal pixel can be used instead but this is easier to read and no shifts to get components. u_int8_t red,green,blue,alpha; } CharPixel; typedef struct { float red,green,blue,alpha; } FloatPixel; typedef struct { u_int32_t red,green,blue,alpha; } HistogramListItem; QRgb ConvertFromPremult(QRgb p) { int alpha=qAlpha(p); return (!alpha?0:qRgba(255*qRed(p)/alpha,255*qGreen(p)/alpha,255*qBlue(p)/alpha,alpha)); } QRgb ConvertToPremult(QRgb p) { unsigned int a=p>>24; unsigned int t=(p&0xff00ff)*a; t=(t+((t>>8)&0xff00ff)+0x800080)>>8; t&=0xff00ff; p =((p>>8) & 0xff)*a; p =(p+((p>>8) & 0xff)+0x80); p&=0xff00; p|=t|(a<<24); return(p); } int defaultConvolveMatrixSize(float radius,float sigma) { int i,matrix_size; float normalize,value; float sigma2 = sigma*sigma*2.0; float sigmaSQ2PI = M_SQ2PI*sigma; int max = 65535; if (radius>0.0) return((int)(2.0*std::ceil(radius)+1.0)); matrix_size = 5; do { normalize = 0.0; for (i=(-matrix_size/2);i <= (matrix_size/2);++i) normalize += std::exp(-((float) i*i)/sigma2) / sigmaSQ2PI; i = matrix_size/2; value = std::exp(-((float) i*i)/sigma2) / sigmaSQ2PI / normalize; matrix_size += 2; } while ((int)(max*value) > 0); matrix_size-=4; return(matrix_size); } QRgb interpolate255(QRgb x, unsigned int a,QRgb y, unsigned int b) { unsigned int t = (x & 0xff00ff) * a + (y & 0xff00ff) * b; t = (t + ((t >> 8) & 0xff00ff) + 0x800080) >> 8; t &= 0xff00ff; x = ((x >> 8) & 0xff00ff) * a + ((y >> 8) & 0xff00ff) * b; x = (x + ((x >> 8) & 0xff00ff) + 0x800080); x &= 0xff00ff00; x |= t; return(x); } //********************************************************************************************************************** // Adapt From fmt_filters void FltBrightness(QImage &Img,int32_t bn) { u_int8_t *bits; int32_t val; for (int y=0;y255?255:val); bits++; } bits++; } } } //********************************************************************************************************************** // Adapt From fmt_filters void FltContrast(QImage &Img,int32_t contrast) { if(contrast<-255) contrast=-255; if(contrast>255) contrast=255; rgba *bits; int32_t Ra=0,Ga=0,Ba=0,Rn,Gn,Bn; // calculate the average values for RED,GREEN and BLUE color components for (int32_t y=0;yr; Ga+=bits->g; Ba+=bits->b; bits++; } } int32_t S=Img.width()*Img.height(); u_int8_t Ravg=Ra/S; u_int8_t Gavg=Ga/S; u_int8_t Bavg=Ba/S; // Now change contrast with the terms of alghoritm: // if contrast>0: I=(I-Avg)*256 / (256-contrast)+Avg // if contrast<0: I=(I-Avg)*(256+contrast) / 256+Avg // // where // I-current color component value // Avg-average value of this component (Ravg,Gavg or Bavg) for (int32_t y=0;y0)?((bits->r-Ravg)*256/(256-contrast)+Ravg):((bits->r-Ravg)*(256+contrast)/256+Ravg); Gn=(contrast>0)?((bits->g-Gavg)*256/(256-contrast)+Gavg):((bits->g-Gavg)*(256+contrast)/256+Gavg); Bn=(contrast>0)?((bits->b-Bavg)*256/(256-contrast)+Bavg):((bits->b-Bavg)*(256+contrast)/256+Bavg); bits->r=Rn<0?0:(Rn>255?255:Rn); bits->g=Gn<0?0:(Gn>255?255:Gn); bits->b=Bn<0?0:(Bn>255?255:Bn); bits++; } } } //********************************************************************************************************************** // Adapt From fmt_filters void FltGamma(QImage &Img,double L) { if (L==0||L<0) L=0.01; rgba *_rgba; u_int8_t R,G,B; u_int8_t GT[256]; GT[0]=0; // fill the array with gamma koefficients for (int32_t x=1;x<256;++x) GT[x]=(u_int8_t)floor(255*pow((double)x/255.0,1.0/L)); // now change gamma for (int32_t y=0;y void FltColorize(QImage &Img,int32_t red,int32_t green,int32_t blue) { u_int8_t *bits; int32_t val; int32_t V[3]={red,green,blue}; // add value to each component value,and check if the result is out of bounds for (int32_t y=0;y255)*(bits+v)=255; else if (val<0)*(bits+v)=0; else*(bits+v)=val; } bits+=4; } } } //********************************************************************************************************************** // Adapt From QImageBlitz void FltGrayscale(QImage &Img) { if(Img.format()!=QImage::Format_ARGB32) Img=Img.convertToFormat(QImage::Format_ARGB32); int y; int w=Img.width(); int h=Img.height(); QImage buffer(w,h,QImage::Format_Indexed8); QVector cTable(256); unsigned int *src=cTable.data(); unsigned char *end,*dest; unsigned int pixel; for (y=0;y<256;y++)*src++=qRgb(y,y,y); buffer.setColorTable(cTable); src=(unsigned int*)Img.scanLine(0); for (y=0;y void FltAutoContrast(QImage &Img) { IntegerPixel intensity; HistogramListItem *histogram; CharPixel *normalize_map; ShortPixel high,low; uint threshold_intensity; int i,count; QRgb pixel,*dest; unsigned char r,g,b; count=Img.width()*Img.height(); histogram =new HistogramListItem[256]; normalize_map=new CharPixel[256]; // form histogram memset(histogram,0,256*sizeof(HistogramListItem)); dest=(QRgb*)Img.bits(); for (i=0;ithreshold_intensity) break; } memset(&intensity,0,sizeof(IntegerPixel)); for (high.red=255;high.red>0;--high.red) { intensity.red+=histogram[high.red].red; if(intensity.red>threshold_intensity) break; } memset(&intensity,0,sizeof(IntegerPixel)); for (low.green=low.red;low.greenthreshold_intensity) break; } memset(&intensity,0,sizeof(IntegerPixel)); for (high.green=high.red;high.green !=low.red;--high.green) { intensity.green+=histogram[high.green].green; if(intensity.green>threshold_intensity) break; } memset(&intensity,0,sizeof(IntegerPixel)); for (low.blue=low.green;low.bluethreshold_intensity) break; } memset(&intensity,0,sizeof(IntegerPixel)); for (high.blue=high.green;high.blue !=low.green;--high.blue) { intensity.blue+=histogram[high.blue].blue; if(intensity.blue>threshold_intensity) break; } delete[] histogram; // stretch the histogram to create the normalized image mapping. for (i=0;i<256;i++) { if(ihigh.red) normalize_map[i].red=255; else if (low.red !=high.red) normalize_map[i].red=(255*(i-low.red))/(high.red-low.red); } if (ihigh.green) normalize_map[i].green=255; else if(low.green !=high.green) normalize_map[i].green=(255*(i-low.green))/(high.green-low.green); } if (ihigh.blue) normalize_map[i].blue=255; else if(low.blue !=high.blue) normalize_map[i].blue=(255*(i-low.blue))/(high.blue-low.blue); } } // write dest=(QRgb*)Img.bits(); for (i=0;i void FltBlur(QImage &Img,int radius) { QRgb *p1,*p2; int x,y,w,h,mx,my,mw,mh,mt,xx,yy; int a,r,g,b; int *as,*rs,*gs,*bs; if (radius<1 || Img.isNull() || Img.width()<(radius<<1)) return; w=Img.width(); h=Img.height(); QImage buffer(w,h,Img.hasAlphaChannel()?QImage::Format_ARGB32:QImage::Format_RGB32); as=new int[w]; rs=new int[w]; gs=new int[w]; bs=new int[w]; for (y=0;yh) mh=h-my; p1=(QRgb*)buffer.scanLine(y); memset(as,0,w*sizeof(int)); memset(rs,0,w*sizeof(int)); memset(gs,0,w*sizeof(int)); memset(bs,0,w*sizeof(int)); QRgb pixel; for (yy=0;yyw) mw=w-mx; mt=mw*mh; for (xx=mx;xx<(mw+mx);xx++) { a+=as[xx]; r+=rs[xx]; g+=gs[xx]; b+=bs[xx]; } a=a/mt; r=r/mt; g=g/mt; b=b/mt; *p1++=qRgba(r,g,b,a); } } delete[] as; delete[] rs; delete[] gs; delete[] bs; Img=buffer.convertToFormat(QImage::Format_ARGB32_Premultiplied); } //********************************************************************************************************************** // Adapt From QImageBlitz void FltSharpen(QImage &Img,int radius) { if (Img.isNull() || radius<1) return; if(Img.format()!=QImage::Format_ARGB32) Img=Img.convertToFormat(QImage::Format_ARGB32); QImage buffer(Img.width(),Img.height(),Img.format()); int a,r,g,b,x,y; int w=Img.width(); int h=Img.height(); QRgb *src,*dest; memcpy(buffer.scanLine(0),Img.scanLine(0),Img.bytesPerLine()); for (y=1;y>16)); r=((r|((r&256)-((r&256)>>8)))); g=(g&((~g)>>16)); g=((g|((g&256)-((g&256)>>8)))); b=(b&((~b)>>16)); b=((b|((b&256)-((b&256)>>8)))); a=(a&((~a)>>16)); a=((a|((a&256)-((a&256)>>8)))); *dest=qRgba(r,g,b,a); ++src; ++dest; } *dest++=*src++; } memcpy(buffer.scanLine(h-1),Img.scanLine(h-1),Img.bytesPerLine()); Img=buffer.convertToFormat(QImage::Format_ARGB32_Premultiplied); } //********************************************************************************************************************** // Adapt From QImageBlitz void FltEdge(QImage &Img) { int x,y,w=Img.width(),h=Img.height(); if (w<3 || h<3) return; if(Img.format()!=QImage::Format_ARGB32) Img=Img.convertToFormat(QImage::Format_ARGB32); QImage buffer(w,h,QImage::Format_RGB32); QRgb *dest; QRgb *s,*scanblock[3]; int xR,xG,xB,yR,yG,yB; for (y=0;y void FltCharcoal(QImage &Img) { FltEdge(Img); FltBlur(Img,1); FltAutoContrast(Img); Img.invertPixels(); FltGrayscale(Img); } //********************************************************************************************************************** // Adapt From QImageBlitz void PrivateHull(int x_offset,int y_offset,int w,int h,unsigned char *f,unsigned char *g,int polarity) { int x,y,v; unsigned char *p,*q,*r,*s; p=f+(w+2); q=g+(w+2); r=p+(y_offset*(w+2)+x_offset); for (y=0;y0) { for (x=w;x>0;--x,++p,++q,++r) { v=(*p); if ((int)*r>=(v+2)) v+=1; *q=(unsigned char)v; } } else { for (x=w;x>0;--x,++p,++q,++r) { v=(*p); if ((int)*r<=(v-2)) v-=1; *q=(unsigned char)v; } } } p=f+(w+2); q=g+(w+2); r=q+(y_offset*(w+2)+x_offset); s=q-(y_offset*(w+2)+x_offset); for (y=0;y0) { for (x=w;x>0;--x,++p,++q,++r,++s) { v=(*q); if (((int)*s>=(v+2))&&((int)*r>v)) v+=1; *p=(unsigned char)v; } } else { for (x=w;x>0;--x,++p,++q,++r,++s) { v=(int)(*q); if (((int)*s<=(v-2))&&((int)*r:/ (mosfet) // Red (void)memset(pixels,0,length); j=w+2; for (y=0;y=0;--x,++src,++j) pixels[j]=qRed(*src); } (void)memset(buffer,0,length); for (i=0;i<4;++i) { PrivateHull(X[i],Y[i],w,h,pixels,buffer,1); PrivateHull(-X[i],-Y[i],w,h,pixels,buffer,1); PrivateHull(-X[i],-Y[i],w,h,pixels,buffer,-1); PrivateHull(X[i],Y[i],w,h,pixels,buffer,-1); } j=w+2; for (y=0;y=0;--x,++dest,++j)*dest=qRgba(pixels[j],qGreen(*dest),qBlue(*dest),qAlpha(*dest)); } // Green (void)memset(pixels,0,length); j=w+2; for (y=0;y=0;--x,++src,++j) pixels[j]=qGreen(*src); } (void)memset(buffer,0,length); for (i=0;i<4;++i) { PrivateHull(X[i],Y[i],w,h,pixels,buffer,1); PrivateHull(-X[i],-Y[i],w,h,pixels,buffer,1); PrivateHull(-X[i],-Y[i],w,h,pixels,buffer,-1); PrivateHull(X[i],Y[i],w,h,pixels,buffer,-1); } j=w+2; for (y=0;y=0;--x,++dest,++j)*dest=qRgba(qRed(*dest),pixels[j],qBlue(*dest),qAlpha(*dest)); } // Blue (void)memset(pixels,0,length); j=w+2; for (y=0;y=0;--x,++src,++j) pixels[j]=qBlue(*src); } (void)memset(buffer,0,length); for (i=0;i<4;++i) { PrivateHull(X[i],Y[i],w,h,pixels,buffer,1); PrivateHull(-X[i],-Y[i],w,h,pixels,buffer,1); PrivateHull(-X[i],-Y[i],w,h,pixels,buffer,-1); PrivateHull(X[i],Y[i],w,h,pixels,buffer,-1); } j=w+2; for (y=0;y=0;--x,++dest,++j)*dest=qRgba(qRed(*dest),qGreen(*dest),pixels[j],qAlpha(*dest)); } delete[] pixels; delete[] buffer; Img=Img.convertToFormat(QImage::Format_ARGB32_Premultiplied); } //********************************************************************************************************************** // Adapt From QImageBlitz QImage convolveInteger(QImage &Img,int matrix_size,int *matrix,int divisor) { int i,x,y,w,h,matrix_x,matrix_y,*m; int edge = matrix_size/2; QRgb *dest,*src,*s,**scanblock; w = Img.width(); h = Img.height(); if(w<3 || h<3) return(Img); QImage buffer(w,h,Img.format()); scanblock = new QRgb* [matrix_size]; int r,g,b; for (y=0;y < h;++y) { src = (QRgb *)Img.scanLine(y); dest = (QRgb *)buffer.scanLine(y); // Read in scanlines to pixel neighborhood. If the scanline is outside the image use the top or bottom edge. for (x=y-edge,i=0;x <= y+edge;++i,++x) scanblock[i] = (QRgb *)Img.scanLine((x < 0) ? 0 : (x > h-1) ? h-1 : x); // Now we are about to start processing scanlines. First handle the part where the pixel neighborhood extends off the left edge. for (x=0;x-edge<0;++x) { r = g = b = 0; m = matrix; for (matrix_y=0;matrix_y float *GetBlurKernel(int &kernel_width,float sigma) { #define KernelRank 3 float alpha,normalize,*kernel=NULL; int bias; long i; if (sigma==0.0) return(kernel); if (kernel_width==0) kernel_width=3; kernel=new float[kernel_width+1]; memset(kernel,0,(kernel_width+1)*sizeof(float)); bias = KernelRank*kernel_width/2; for (i=(-bias);i<=bias;++i) { alpha = exp(-((float) i*i)/(2.0*KernelRank*KernelRank*sigma*sigma)); kernel[(i+bias)/KernelRank] += alpha/(M_SQ2PI*sigma); } normalize=0; for (i=0;icolumns) { for (dest=destination,x=0;x= (x-kern_width/2)) && (i <= (x+kern_width/2))) { aggregate.red +=(*k)*qRed(*src); aggregate.green+=(*k)*qGreen(*src); aggregate.blue +=(*k)*qBlue(*src); aggregate.alpha+=(*k)*qAlpha(*src); } if (((i+kern_width/2-x)>=0) && ((i+kern_width/2-x)0) { kern_width = (int)(2*ceil(radius)+1); k = GetBlurKernel(kern_width,sigma); } else { float *last_kernel = NULL; kern_width = 3; k = GetBlurKernel(kern_width,sigma); while ((long)(255*k[0])>0) { if (last_kernel!=NULL) delete[] last_kernel; last_kernel = k; kern_width += 2; k = GetBlurKernel(kern_width,sigma); } if(last_kernel!=NULL) { delete[] k; kern_width -= 2; k = last_kernel; } } // radius is too small! if (kern_width<3) return; // allocate destination image w = Img.width(); h = Img.height(); QImage buffer(w,h,Img.format()); // blur image rows for (y=0;y < h;++y) BlurScanLine(k,kern_width,(QRgb *)Img.scanLine(y),(QRgb *)buffer.scanLine(y),Img.width(),1); // blur image columns src=(QRgb *)buffer.scanLine(0); for (x=0;x < w;++x) BlurScanLine(k,kern_width,src+x,src+x,Img.height(),Img.width()); // finish up delete[] k; Img=buffer.convertToFormat(QImage::Format_ARGB32_Premultiplied);; } //********************************************************************************************************************** // Adapt From QImageBlitz QImage convolve(QImage &Img,int matrix_size,float *matrix) { int i,x,y,w,h,matrix_x,matrix_y; int edge = matrix_size/2; QRgb *dest,*src,*s,**scanblock; float *m,*normalize_matrix,normalize; // kernel width must be an odd number! if (!(matrix_size % 2)) return(Img); w = Img.width(); h = Img.height(); if (w < 3 || h < 3) return(Img); QImage buffer(w,h,Img.format()); scanblock = new QRgb* [matrix_size]; normalize_matrix = new float[matrix_size*matrix_size]; // create normalized matrix normalize = 0.0; for (i=0;ih-1)?h-1:x); // Now we are about to start processing scanlines. First handle the part where the pixel neighborhood extends off the left edge. for (x=0;x-edge<0;++x) { r=g=b=0.0; m=normalize_matrix; for (matrix_y=0;matrix_y 255.0 ? 255.0 : r+0.5; g = g < 0.0 ? 0.0 : g > 255.0 ? 255.0 : g+0.5; b = b < 0.0 ? 0.0 : b > 255.0 ? 255.0 : b+0.5; *dest++ = qRgba((unsigned char)r,(unsigned char)g,(unsigned char)b,qAlpha(*src++)); } // Okay,now process the middle part where the entire neighborhood is on the image. for (;x+edge 255.0 ? 255.0 : r+0.5; g = g < 0.0 ? 0.0 : g > 255.0 ? 255.0 : g+0.5; b = b < 0.0 ? 0.0 : b > 255.0 ? 255.0 : b+0.5; *dest++ = qRgba((unsigned char)r,(unsigned char)g,(unsigned char)b,qAlpha(*src++)); } // Finally process the right part where the neighborhood extends off the right edge of the image for (;x < w;++x) { r = g = b = 0.0; m = normalize_matrix; for (matrix_y = 0;matrix_y < matrix_size;++matrix_y) { s = scanblock[matrix_y]; s += x-edge; matrix_x = -edge; while (x+matrix_x < w) { CONVOLVE_ACC(*m,*s); ++matrix_x,++m,++s; } --s; while (matrix_x <= edge) { CONVOLVE_ACC(*m,*s); ++matrix_x,++m; } } r = r < 0.0 ? 0.0 : r > 255.0 ? 255.0 : r+0.5; g = g < 0.0 ? 0.0 : g > 255.0 ? 255.0 : g+0.5; b = b < 0.0 ? 0.0 : b > 255.0 ? 255.0 : b+0.5; *dest++ = qRgba((unsigned char)r,(unsigned char)g,(unsigned char)b,qAlpha(*src++)); } } delete[] scanblock; delete[] normalize_matrix; return(buffer); } void FltGaussianSharpen(QImage &Img,float radius,float sigma) { // Zero sigma is invalid! if(sigma == 0.0) return; int matrix_size = defaultConvolveMatrixSize(radius,sigma); int len = matrix_size*matrix_size; float alpha,*matrix = new float[len]; float sigma2 = sigma*sigma*2.0; float sigmaPI2 = 2.0*M_PI*sigma*sigma; int half = matrix_size/2; int x,y,i=0,j=half; float normalize=0.0; for (y=(-half);y <= half;++y,--j) for (x=(-half);x <= half;++x,++i) { alpha = std::exp(-((float)x*x+y*y)/sigma2); matrix[i] = alpha/sigmaPI2; normalize += matrix[i]; } matrix[i/2]=(-2.0)*normalize; if (Img.format()!=QImage::Format_ARGB32) Img=Img.convertToFormat(QImage::Format_ARGB32); QImage buffer(convolve(Img,matrix_size,matrix)); delete[] matrix; Img=buffer.convertToFormat(QImage::Format_ARGB32_Premultiplied);; } //********************************************************************************************************************** // Adapt From QImageBlitz void FltEqualize(QImage &Img) { HistogramListItem *histogram; IntegerPixel *map; IntegerPixel intensity, high, low; CharPixel *equalize_map; int i, count; QRgb pixel, *dest; unsigned char r, g, b; if (Img.format()!=QImage::Format_ARGB32) Img=Img.convertToFormat(QImage::Format_ARGB32); count =Img.width()*Img.height(); map =new IntegerPixel[256]; histogram =new HistogramListItem[256]; equalize_map=new CharPixel[256]; // form histogram memset(histogram, 0, 256*sizeof(HistogramListItem)); dest = (QRgb *)Img.bits(); if(Img.format() == QImage::Format_ARGB32_Premultiplied){ for(i=0; i < count; ++i, ++dest){ pixel = ConvertFromPremult(*dest); histogram[qRed(pixel)].red++; histogram[qGreen(pixel)].green++; histogram[qBlue(pixel)].blue++; histogram[qAlpha(pixel)].alpha++; } } else { for(i=0; i < count; ++i){ pixel = *dest++; histogram[qRed(pixel)].red++; histogram[qGreen(pixel)].green++; histogram[qBlue(pixel)].blue++; histogram[qAlpha(pixel)].alpha++; } } // integrate the histogram to get the equalization map memset(&intensity, 0, sizeof(IntegerPixel)); for(i=0; i < 256; ++i){ intensity.red += histogram[i].red; intensity.green += histogram[i].green; intensity.blue += histogram[i].blue; map[i] = intensity; } low =map[0]; high=map[255]; memset(equalize_map, 0, 256*sizeof(CharPixel)); for(i=0; i < 256; ++i){ if(high.red != low.red) equalize_map[i].red=(unsigned char)((255*(map[i].red-low.red))/(high.red-low.red)); if(high.green != low.green) equalize_map[i].green=(unsigned char)((255*(map[i].green-low.green))/(high.green-low.green)); if(high.blue != low.blue) equalize_map[i].blue=(unsigned char)((255*(map[i].blue-low.blue))/(high.blue-low.blue)); } // stretch the histogram and write dest = (QRgb *)Img.bits(); if(Img.format() == QImage::Format_ARGB32_Premultiplied){ for(i=0; i < count; ++i, ++dest){ pixel = ConvertFromPremult(*dest); r = (low.red != high.red) ? equalize_map[qRed(pixel)].red :qRed(pixel); g = (low.green != high.green) ? equalize_map[qGreen(pixel)].green :qGreen(pixel); b = (low.blue != high.blue) ? equalize_map[qBlue(pixel)].blue :qBlue(pixel); *dest = ConvertToPremult(qRgba(r, g, b, qAlpha(pixel))); } } else { for(i=0; i < count; ++i){ pixel = *dest; r = (low.red != high.red) ? equalize_map[qRed(pixel)].red:qRed(pixel); g = (low.green != high.green) ? equalize_map[qGreen(pixel)].green:qGreen(pixel); b = (low.blue != high.blue) ? equalize_map[qBlue(pixel)].blue:qBlue(pixel); *dest++ = qRgba(r, g, b, qAlpha(pixel)); } } delete[] histogram; delete[] map; delete[] equalize_map; Img=Img.convertToFormat(QImage::Format_ARGB32_Premultiplied);; } //********************************************************************************************************************** // Adapt From QImageBlitz void FltEmboss(QImage &Img, float radius, float sigma) { // Zero sigma is invalid! if(sigma == 0.0) return; int matrix_size = defaultConvolveMatrixSize(radius, sigma); int len = matrix_size*matrix_size; float alpha, *matrix = new float[len]; float sigma2 = sigma*sigma*2.0; float sigmaPI2 = 2.0*M_PI*sigma*sigma; int half = matrix_size/2; int x, y, i=0, j=half; for(y=(-half); y <= half; ++y, --j){ for(x=(-half); x <= half; ++x, ++i){ alpha = std::exp(-((float)x*x+y*y)/sigma2); matrix[i]=((x < 0) || (y < 0) ? -8.0 : 8.0)*alpha/sigmaPI2; if(x == j) matrix[i]=0.0; } } if (Img.format()!=QImage::Format_ARGB32) Img=Img.convertToFormat(QImage::Format_ARGB32); QImage buffer(convolve(Img,matrix_size,matrix)); delete[] matrix; FltEqualize(buffer); Img=buffer.convertToFormat(QImage::Format_ARGB32_Premultiplied);; } //********************************************************************************************************************** // Adapt From QImageBlitz void FltOilPaint(QImage &Img, float radius) { int matrix_size = defaultConvolveMatrixSize(radius, 0.5); int i, x, y, w, h, matrix_x, matrix_y; int edge = matrix_size/2; unsigned int max, value; QRgb *dest,*s,**scanblock; w = Img.width(); h = Img.height(); if(w < 3 || h < 3) return; if (Img.format()!=QImage::Format_ARGB32) Img=Img.convertToFormat(QImage::Format_ARGB32); QImage buffer(w, h, Img.format()); scanblock = new QRgb* [matrix_size]; unsigned int *histogram = new unsigned int[256]; for(y=0; y < h; ++y){ dest = (QRgb *)buffer.scanLine(y); // Read in scanlines to pixel neighborhood. If the scanline is outside the image use the top or bottom edge. for(x=y-edge, i=0; x <= y+edge; ++i, ++x) scanblock[i] = (QRgb *)Img.scanLine((x < 0) ? 0 : (x > h-1) ? h-1 : x); // Now we are about to start processing scanlines. First handle the part where the pixel neighborhood extends off the left edge. for(x=0; x-edge < 0 ; ++x){ (void)memset(histogram, 0, 256*sizeof(unsigned int)); max = 0; for(matrix_y = 0; matrix_y < matrix_size; ++matrix_y){ s = scanblock[matrix_y]; matrix_x = -edge; while(x+matrix_x < 0){ value = qGray(*s); histogram[value]++; if(histogram[value] > max){ max = histogram[value]; *dest = *s; } ++matrix_x; } while(matrix_x <= edge){ value = qGray(*s); histogram[value]++; if(histogram[value] > max){ max = histogram[value]; *dest = *s; } ++matrix_x; ++s; } } ++dest; } // Okay, now process the middle part where the entire neighborhood is on the image. for(; x+edge < w; ++x){ (void)memset(histogram, 0, 256*sizeof(unsigned int)); max = 0; for(matrix_y = 0; matrix_y < matrix_size; ++matrix_y){ s = scanblock[matrix_y] + (x-edge); for(matrix_x = -edge; matrix_x <= edge; ++matrix_x, ++s){ value = qGray(*s); histogram[value]++; if(histogram[value] > max){ max = histogram[value]; *dest = *s; } } } ++dest; } // Finally process the right part where the neighborhood extends off the right edge of the image for(; x < w; ++x){ (void)memset(histogram, 0, 256*sizeof(unsigned int)); max = 0; for(matrix_y = 0; matrix_y < matrix_size; ++matrix_y){ s = scanblock[matrix_y]; s += x-edge; matrix_x = -edge; while(x+matrix_x < w){ value = qGray(*s); histogram[value]++; if(histogram[value] > max){ max = histogram[value]; *dest = *s; } ++matrix_x, ++s; } --s; while(matrix_x <= edge){ value = qGray(*s); histogram[value]++; if(histogram[value] > max){ max = histogram[value]; *dest = *s; } ++matrix_x; } } ++dest; } } delete[] histogram; delete[] scanblock; Img=buffer.convertToFormat(QImage::Format_ARGB32_Premultiplied);; } //********************************************************************************************************************** // Adapt From QImageBlitz class HSV { public: HSV(){;} void convertRGB2HSV(unsigned int rgb); void convertRGB2HSV(int red, int green, int blue); void convertHSV2RGB(int hue, int saturation, int value); void convertHSV2RGB(); inline void setHSV(int hue, int saturation, int value) {h = hue; s = saturation; v = value;} inline void setHue(int hue) {h = hue;} inline void setSaturation(int saturation) {s = saturation;} inline void setValue(int value) {v = value;} inline int hue() {return(h);} inline int saturation() {return(s);} inline int value() {return(v);} inline void setRGB(int red, int green, int blue) {r = red; g = green; b=blue;} inline void setRed(int red) {r = red;} inline void setGreen(int green) {g = green;} inline void setBlue(int blue) {b = blue;} inline int red() {return(r);} inline int green() {return(g);} inline int blue() {return(b);} private: int h, s, v; int r, g, b; int max, whatmax, min, delta; unsigned int f, p, q, t; }; void HSV::convertRGB2HSV(unsigned int pixel) { convertRGB2HSV(qRed(pixel), qGreen(pixel), qBlue(pixel)); } void HSV::convertRGB2HSV(int red, int green, int blue) { r = red; g = green; b = blue; h = 0; max = r; // maximum RGB component whatmax = 0; // r=>0, g=>1, b=>2 if(g > max) { max = g; whatmax = 1; } if(b > max) { max = b; whatmax = 2; } min = r; // find minimum value if(g < min) min = g; if(b < min) min = b; delta = max-min; v = max; // calc value s = max ? (510*delta+max)/(2*max) : 0; if (s==0) h=-1; else switch (whatmax) { // undefined hue case 0: h=(g>=b)? (120*(g-b)+delta)/(2*delta):300+(120*(g-b+delta)+delta)/(2*delta); break; // red is max component case 1: h=(b> r)?120+(120*(b-r)+delta)/(2*delta):60 +(120*(b-r+delta)+delta)/(2*delta); break; // green is max component case 2: h=(r> g)?240+(120*(r-g)+delta)/(2*delta):180+(120*(r-g+delta)+delta)/(2*delta); break; // blue is max component } } void HSV::convertHSV2RGB(int hue, int saturation, int value) { h = hue; s = saturation; v = value; convertHSV2RGB(); } void HSV::convertHSV2RGB() { if(h < -1 || s > 255 || v > 255) return; r = g = b = v; if(s > 0 && h != -1){ if(h >= 360) h %= 360; f = h%60; h /= 60; p = (2*v*(255-s)+255)/510; if(h&1){ q = (2*v*(15300-s*f)+15300)/30600; switch( h ) { case 1: r=q; g=v, b=p; break; case 3: r=p; g=q, b=v; break; case 5: r=v; g=p, b=q; break; } } else { t = (2*v*(15300-(s*(60-f)))+15300)/30600; switch( h ) { case 0: r=v; g=t, b=p; break; case 2: r=p; g=v, b=t; break; case 4: r=t; g=p, b=v; break; } } } } void FltDesaturate(QImage &Img, float desat) { desat = qBound(0.0f, desat, 1.0f); unsigned int *data, *end; HSV hsv; data = (unsigned int *)Img.scanLine(0); end = data + (Img.width()*Img.height()); while(data != end) { hsv.convertRGB2HSV(ConvertFromPremult(*data)); hsv.setSaturation((int)(hsv.saturation() * (1.0 - desat))); hsv.convertHSV2RGB(); *data = ConvertToPremult(qRgba(hsv.red(), hsv.green(),hsv.blue(), qAlpha(*data))); ++data; } } //********************************************************************************************************************** // Adapt From QImageBlitz class Interpolate { public: Interpolate(QImage *image, unsigned int background) { Img = image; ptr = Img->bits(); colorTable = Img->colorTable(); w=Img->width(); h=Img->height(); bg=background; truecolor = Img->depth() > 8; } unsigned int interpolate(float x_offset, float y_offset); unsigned int interpolateBackground(float x_offset, float y_offset); private: int w, h; unsigned int p, q, r, s, bg; unsigned char *ptr; QVector colorTable; bool truecolor; QImage *Img; }; unsigned int Interpolate::interpolate(float x_offset,float y_offset) { int x = qBound(0, (int)x_offset, w-2); int y = qBound(0, (int)y_offset, h-2); if (truecolor) { p = *(((QRgb *)ptr)+(y*w)+x); q = *(((QRgb *)ptr)+(y*w)+x+1); r = *(((QRgb *)ptr)+((y+1)*w)+x); s = *(((QRgb *)ptr)+((y+1)*w)+x+1); } else { p = colorTable[*(ptr+(y*w)+x)]; q = colorTable[*(ptr+(y*w)+x+1)]; r = colorTable[*(ptr+((y+1)*w)+x)]; s = colorTable[*(ptr+((y+1)*w)+x+1)]; } x_offset -= std::floor(x_offset); y_offset -= std::floor(y_offset); unsigned int alpha = (unsigned int)(255*x_offset); unsigned int beta = (unsigned int)(255*y_offset); p = interpolate255(p, 255-alpha, q, alpha); r = interpolate255(r, 255-alpha, s, alpha); return(interpolate255(p, 255-beta, r, beta)); } unsigned int Interpolate::interpolateBackground(float x_offset,float y_offset) { int x = (int)x_offset; int y = (int)y_offset; p = q = r = s = bg; if(truecolor){ if(y >= 0 && y < h && x >= 0 && x < w){ p = *(((QRgb *)ptr)+(y*w)+x); if(y+1 < h) r = *(((QRgb *)ptr)+((y+1)*w)+x); if(x+1 < w){ q = *(((QRgb *)ptr)+(y*w)+x+1); if(y+1 < h) q = *(((QRgb *)ptr)+((y+1)*w)+x+1); } } } else { if(y >= 0 && y < h && x >= 0 && x < w){ p = colorTable[*(ptr+(y*w)+x)]; if(y+1 < h) r = colorTable[*(ptr+((y+1)*w)+x)]; if(x+1 < w){ q = colorTable[*(ptr+(y*w)+x+1)]; if(y+1 < h) s = colorTable[*(ptr+((y+1)*w)+x+1)]; } } } x_offset -= std::floor(x_offset); y_offset -= std::floor(y_offset); unsigned int alpha = (unsigned int)(255*x_offset); unsigned int beta = (unsigned int)(255*y_offset); p = interpolate255(p, 255-alpha, q, alpha); r = interpolate255(r, 255-alpha, s, alpha); return(interpolate255(p, 255-beta, r, beta)); } void FltSwirl(QImage &Img, float degrees) { float sine, cosine, distance, radius, factor; float x_center, x_distance, x_scale; float y_center, y_distance, y_scale; int x, y, w, h; QRgb *dest; w = Img.width(); h = Img.height(); if (Img.format()!=QImage::Format_ARGB32) Img=Img.convertToFormat(QImage::Format_ARGB32); QImage buffer(w, h,QImage::Format_RGB32); x_center = w/2.0; y_center = h/2.0; radius = qMax(x_center, y_center); x_scale = y_scale = 1.0; if (w > h) y_scale = (float)(w/h); else if (w < h) x_scale = (float)(h/w); degrees = (M_PI*degrees)/180.0; Interpolate interpolate(&Img, 0); QRgb *src; for (y=0; y < h; ++y) { src = (QRgb *)Img.scanLine(y); dest = (QRgb *)buffer.scanLine(y); y_distance = y_scale*(y-y_center); for (x=0; x < w; ++x) { x_distance = x_scale*(x-x_center); distance = x_distance*x_distance + y_distance*y_distance; if (distance >= (radius*radius)) *dest = src[x]; else { factor = 1.0-std::sqrt(distance)/radius; sine = std::sin(degrees*factor*factor); cosine = std::cos(degrees*factor*factor); *dest = interpolate.interpolate((cosine*x_distance-sine*y_distance)/x_scale+x_center,(sine*x_distance+cosine*y_distance)/y_scale+y_center); } ++dest; } } Img=buffer.convertToFormat(QImage::Format_ARGB32_Premultiplied);; } //********************************************************************************************************************** // Adapt From QImageBlitz void FltImplode(QImage &Img, float amount) { float distance, radius, factor; float x_center, x_distance, x_scale; float y_center, y_distance, y_scale; int x, y, w, h; QRgb *dest; w = Img.width(); h = Img.height(); if (Img.format()!=QImage::Format_ARGB32) Img=Img.convertToFormat(QImage::Format_ARGB32); QImage buffer(w, h,QImage::Format_RGB32); x_scale = y_scale = 1.0; x_center = 0.5*w; y_center = 0.5*h; radius = x_center; if (w > h) y_scale = (float)(w/h); else if (w < h) { x_scale = (float)(h/w); radius = y_center; } Interpolate interpolate(&Img, 0); QRgb *src; for (y=0; y < h; ++y) { src = (QRgb *)Img.scanLine(y); dest = (QRgb *)buffer.scanLine(y); y_distance = y_scale*(y-y_center); for (x=0; x < w; ++x) { x_distance = x_scale*(x-x_center); distance = x_distance*x_distance + y_distance*y_distance; if (distance >= (radius*radius)) *dest = src[x]; else { factor = 1.0; if (distance > 0.0) factor = std::pow(std::sin(((float)M_PI)*std::sqrt(distance)/radius/2), -amount); *dest = interpolate.interpolate(factor*x_distance/x_scale+x_center,factor*y_distance/y_scale+y_center); } ++dest; } } Img=buffer.convertToFormat(QImage::Format_ARGB32_Premultiplied);; } ffDiaporama/src/ffDiaporama_lib/BasicDefines.h0000777000175000001440000001351012275647222021536 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== THIS FILE MUST ABSOLUTELY BE REFERENCED AT FIRST IN ALL .h FILES OF THE PROJECT ====================================================================== */ #ifndef _BASICDEFINES_H #define _BASICDEFINES_H // Remove unwanted warnings when using MSVC #ifndef _DEPRECATION_DISABLE /* One time only */ #define _DEPRECATION_DISABLE /* Disable deprecation true */ #if (_MSC_VER >= 1400) /* Check version */ #pragma warning(disable: 4996) /* Disable deprecation */ #pragma warning(disable: 4005) /* Disable warning on macro redefinition */ #endif /* #if defined(NMEA_WIN) && (_MSC_VER >= 1400) */ #endif /* #ifndef _DEPRECATION_DISABLE */ //============================================ // Activate standard stdint macro //============================================ #ifdef _STDINT_H #undef _STDINT_H // Remove previous inclusion (if exist) #endif #define __STDC_CONSTANT_MACROS // Activate macro for stdint #include // Include stdint with macro activated #include #include //============================================ // Specific for MSVC //============================================ #ifdef _MSC_VER #define snprintf _snprintf_s #define AVRCAST // MSC doesn't allow CAST in struct constant definition #else #define AVRCAST (AVRational) // mingw need CAST in struct constant definition #include #endif //============================================ // Specific for SOLARIS //============================================ #ifdef Q_OS_SOLARIS #define u_int64_t uint64_t #define u_int32_t uint32_t #define u_int16_t uint16_t #define u_int8_t uint8_t #endif //============================================ // Minimum QT inclusions needed by all files //============================================ #include #include #include #include #include #include #include #if QT_VERSION >= 0x050000 #include #endif //==================================================================== // For windows, windows.h and winbase.h must be included after QtCore //==================================================================== #ifdef Q_OS_WIN #include #include // These type are undefined under Windows typedef unsigned char u_int8_t; typedef unsigned short u_int16_t; typedef unsigned u_int32_t; typedef unsigned long long u_int64_t; #endif //==================================================================== // Math //==================================================================== #include #define _USE_MATH_DEFINES // for msvc #ifndef M_PI // Some cmath doesn't define it,try from the older source #include "math.h" #endif //==================================================================== // Internal log defines and functions //==================================================================== // Log level for message #define LOGMSG_DEBUGTRACE 1 #define LOGMSG_INFORMATION 2 #define LOGMSG_WARNING 3 #define LOGMSG_CRITICAL 4 const QEvent::Type BaseAppEvent = (QEvent::Type)2000; // The custom event will be send to EventReceiver (if EventReceiver not null) #define EVENT_GeneralLogChanged 1 // General internal event code to display log message extern int LogMsgLevel; // Level from wich debug message was print to stdout extern QStringList EventList; // Internal event queue extern QObject *EventReceiver; // Windows wich receive event void PostEvent(int EventType,QString EventParam=""); void ToLog(int MessageType,QString Message,QString Source="internal",bool AddBreak=true); //==================================================================== // Standard project geometry definition //==================================================================== enum ffd_GEOMETRY { GEOMETRY_4_3, GEOMETRY_16_9, GEOMETRY_40_17, GEOMETRY_THUMBNAIL, GEOMETRY_SQUARE, GEOMETRY_NONE }; //============================================ // Media object types //============================================ enum OBJECTTYPE { OBJECTTYPE_UNMANAGED, OBJECTTYPE_MANAGED, OBJECTTYPE_FOLDER, OBJECTTYPE_FFDFILE, OBJECTTYPE_IMAGEFILE, OBJECTTYPE_VIDEOFILE, OBJECTTYPE_MUSICFILE, OBJECTTYPE_THUMBNAIL, OBJECTTYPE_IMAGEVECTOR, OBJECTTYPE_IMAGECLIPBOARD, OBJECTTYPE_GMAPSMAP }; #define PREVIEWMAXHEIGHT 720 // Max height for preview image #endif // _BASICDEFINES_H ffDiaporama/src/ffDiaporama_lib/BasicDefines.cpp0000777000175000001440000001155012275647222022073 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "BasicDefines.h" //====================================================================== // Internal log defines and functions //====================================================================== int LogMsgLevel=LOGMSG_INFORMATION; // Level from wich debug message was print to stdout QStringList EventList; // Internal event queue QObject *EventReceiver=NULL; // Windows wich receive event //==================================================================================================================== void PostEvent(int EventType,QString EventParam) { EventList.append(QString("%1###;###%2").arg(EventType).arg(EventParam)); if (EventReceiver!=NULL) QApplication::postEvent(EventReceiver,new QEvent(BaseAppEvent)); } //==================================================================================================================== bool PreviousBreak=true; QMutex LogMutex; #ifdef Q_OS_WIN std::string toAscii(QString tab) { char buffer[2048]; CharToOemA(tab.toLocal8Bit().constData(), buffer); std::string str(buffer); return str; } #endif void ToLog(int MessageType,QString Message,QString Source,bool AddBreak) { LogMutex.lock(); if ((MessageType>=LogMsgLevel)&&(PreviousBreak)) { QString DateTime=QTime::currentTime().toString("hh:mm:ss.zzz"); #ifdef Q_OS_WIN if (Message.endsWith("\n")) Message=Message.left(Message.length()-QString("\n").length()); if (Message.endsWith(char(10))) Message=Message.left(Message.length()-QString(char(10)).length()); if (Message.endsWith(char(13))) Message=Message.left(Message.length()-QString(char(13)).length()); if (Message.endsWith(char(10))) Message=Message.left(Message.length()-QString(char(10)).length()); #endif QString MSG=""; if ((Message!="LIBAV: No accelerated colorspace conversion found from yuv422p to rgb24.")&& (Message!="LIBAV: Increasing reorder buffer to 1")&& (!Message.startsWith("LIBAV: Reference"))&& (!Message.startsWith("LIBAV: error while decoding MB"))&& (!Message.startsWith("LIBAV: left block unavailable for requested"))&& (!Message.startsWith("LIBAV: max_analyze_duration reached"))&& (!(Message.startsWith("LIBAV: mode:") && Message.contains("parity:") && (Message.contains("auto_enable:")||Message.contains("deint:"))))&& (!(Message.startsWith("LIBAV: w:") && Message.contains("h:") && Message.contains("pixfmt:"))) ) { switch (MessageType) { case LOGMSG_DEBUGTRACE: MSG=QString("["+DateTime+":DEBUG]\t" +Message+(AddBreak?"\n":"")); break; case LOGMSG_INFORMATION: MSG=QString("["+DateTime+":INFO]\t" +Message+(AddBreak?"\n":"")); break; case LOGMSG_WARNING: MSG=QString("["+DateTime+":WARNING]\t" +Message+(AddBreak?"\n":"")); break; case LOGMSG_CRITICAL: MSG=QString("["+DateTime+":ERROR]\t" +Message+(AddBreak?"\n":"")); break; } } if (!MSG.isEmpty()) { if ((MessageType!=LOGMSG_DEBUGTRACE)&&(EventReceiver!=NULL)) PostEvent(EVENT_GeneralLogChanged,QString("%1###:###%2###:###%3").arg((int)MessageType).arg(Message).arg(Source)); #ifdef Q_OS_WIN std::cout << toAscii(MSG) << std::flush; if (MSG.endsWith("\n")) MSG=MSG.left(MSG.indexOf("\n")); #else std::cout << MSG.toLocal8Bit().constData() << std::flush; #endif } PreviousBreak=((AddBreak)||(Message.endsWith("\n"))); } else if (MessageType>=LogMsgLevel) { #ifdef Q_OS_WIN std::cout << toAscii(Message) << std::flush; #else std::cout << Message.toLocal8Bit().constData() << std::flush; #endif } LogMutex.unlock(); } ffDiaporama/src/ffDiaporamaStart/0000777000175000001440000000000012277074734017237 5ustar dominiqueusersffDiaporama/src/ffDiaporamaStart/main.cpp0000777000175000001440000000416012277074403020664 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2013 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #pragma comment(linker, "/SUBSYSTEM:windows /ENTRY:wmainCRTStartup") #include #include #include #include #include #include #include #include #include //***************************************************************************************************************** int wmain(int argc, wchar_t* argv[]) { WCHAR wFile[2048],wParam[2048],wFolder[2048]; // Software to start swprintf(wFile,2048,L"%S","ffDiaporama.exe"); // compute current folder wcscpy_s(wFolder,2048,argv[0]); if (wcsrchr(wFolder,'\\')) *wcsrchr(wFolder,'\\')=0; if (wcslen(wFolder)==0) { _wgetcwd(wFolder,2048); if (wcsrchr(wFolder,'\\')) *wcsrchr(wFolder,'\\')=0; } // Get parameters wParam[0]=0; for (int i=1;i=!:;**%$/BE/FN2JU,CJ!7?.3 %- 9T?AAyWWW`a`ccbaba_`_GGFaM A6-)"qxrDfoAdoFgsEeq;Ze7R_2LU+BH #58$%'-9 G U` o~ !!&&'rjdZ N A5-&zgFgt 1Ud 2PZ!;T^"4LU$*:?*),5%*,Szzznf  Z K=4)wm !#{$Rmv$[qz%Rfo&.FM)*//OWZ`n b RC !#9"%&-"h##$%'())o{})*A>- 7 v h YI =%%*1՛՚ққћΜ͜ɝȝĞÞfed^^^oooA`V!=3qpp?72JEC[VWFrz%R]vttG@?VV\ehnmswb`O??\PQmllzweeiTFHbMMtefsaWPtxeq^h_VXmcevxCRL 1*%957MG?>**)cg...sgkqVbfswtkseyr4TSQfe@ZU!.(]d`@@Aved|]ZhciÌyJe`8IBʞVqp5<2/;55:59 84"     -)$yxzvyȩx_q[/LEnZҒ}vi/MGõ*:5, $ 2%"   $ 4^@(me}x|ÕlTlVqbr\y`Rg_L`\ݹ[wokhi  !   '" 676wo| yddIeKhPr^M`PE\P:I>tdRKJ>qvKKKHIHmavdx w^_=aAdErdI7eR$?0IH:@ZNOO/QE/b>ʥ }M2X9d@sP qMW*[,U*,8!G/)=?*QU()8%a8Dzy]GP-X3_8kHpH\a/*`::V..!*%$QX8c5 ^CU-[2a6mEoF\(9\2K+7"I/*K(b/f0`. *))d@\.^1a3mAkAT 2[-X0B]/[f8`-](_(b*ΠxtkSPQa6a.b/c2k>nGR$pV)mW*U'U(Z,[-e4h6a3c8d8e8]8yV:XB/@0%4)!{yμa4c5b7c7nEýþĿ??ffDiaporama/src/ffDiaporamaStart/ffDiaporamaStart.sln0000777000175000001440000000162612277055700023204 0ustar dominiqueusers Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Express 2012 for Windows Desktop Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ffDiaporamaStart", "ffDiaporamaStart.vcxproj", "{4C2B0CCB-B5C2-4A31-BCA8-F6798C4378E4}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Release|x64 = Release|x64 Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {4C2B0CCB-B5C2-4A31-BCA8-F6798C4378E4}.Release|x64.ActiveCfg = Release|x64 {4C2B0CCB-B5C2-4A31-BCA8-F6798C4378E4}.Release|x64.Build.0 = Release|x64 {4C2B0CCB-B5C2-4A31-BCA8-F6798C4378E4}.Release|x86.ActiveCfg = Release|Win32 {4C2B0CCB-B5C2-4A31-BCA8-F6798C4378E4}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal ffDiaporama/src/ffDiaporamaStart/ffDiaporamaStart.rc0000777000175000001440000000161412266677122023017 0ustar dominiqueusers#include IDI_CON1 ICON DISCARDABLE "ffdiaporamaStart.ico" VS_VERSION_INFO VERSIONINFO FILEVERSION 1,3,0,0 PRODUCTVERSION 1,3,0,0 FILEFLAGSMASK 0 FILEFLAGS 0 FILEOS VOS__WINDOWS32 FILETYPE VFT_APP FILESUBTYPE 0 { BLOCK "StringFileInfo" { BLOCK "040904E4" { // 0409 for english 0x409 and 04E4 for 1252 code page VALUE "CompanyName", "." VALUE "LegalCopyright", "(c) 2011-2013 Dominique LEVRAY" VALUE "FileDescription", "ffdiaporamaStart" VALUE "FileVersion", "1.3" VALUE "InternalName", "ffdiaporamaStart" VALUE "OriginalFilename", "ffdiaporamaStart.exe" VALUE "ProductName", "ffdiaporamaStart" VALUE "ProductVersion", "1.3" } } BLOCK "VarFileInfo" { VALUE "Translation", 0x409, 1252, 0x40C, 1252 } } ffDiaporama/src/ffDiaporama/0000777000175000001440000000000012277056661016220 5ustar dominiqueusersffDiaporama/src/ffDiaporama/main.cpp0000777000175000001440000001663712275647232017666 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ // Somethings needed by libav #ifdef _STDINT_H #undef _STDINT_H // Remove previous inclusion (if exist) #endif #define __STDC_CONSTANT_MACROS // Activate macro for stdint #include // Include stdint with macro activated #include #include "MainWindow/mainwindow.h" #include #include #include //==================================================================================================================== bool CheckFolder(QString FileToTest,QString PathToTest) { QString Path=QDir(PathToTest).absolutePath(); if (!Path.endsWith(QDir::separator())) Path=Path+QDir::separator(); bool IsFound=QFileInfo(Path+FileToTest).exists(); if (IsFound) { QDir::setCurrent(Path); ToLog(LOGMSG_INFORMATION,QString("Application found in directory %1").arg(QDir::toNativeSeparators(Path)+FileToTest)); } else { ToLog(LOGMSG_INFORMATION,QString("Application not found in directory %1").arg(QDir::toNativeSeparators(Path)+FileToTest)); } return IsFound; } //************************************************** // First thing to do : ensure correct current path // At program startup : CurrentPath is set to data folder (we search GlobalConfig file) that could be : // in current path // or in ../ApplicationGroupName // or in ../ApplicationName // or in $$PREFIX/share/ApplicationGroupName // or in $$PREFIX/share/ApplicationName //************************************************** bool SetWorkingPath(char * const argv[],QString ApplicationName) { QString StartupDir=QFileInfo(argv[0]).absolutePath(); ToLog(LOGMSG_INFORMATION,"StartupDir "+QDir::toNativeSeparators(StartupDir)); QDir::setCurrent(StartupDir); QString FileToTest="BUILDVERSION.txt"; #ifdef Q_OS_WIN QString ShareDir=".."; #else QString ShareDir=QString(SHARE_DIR)+QDir().separator()+QString("share"); #endif if (!CheckFolder(FileToTest,QDir::currentPath()) &&(!CheckFolder(FileToTest,QString("..")+QDir().separator()+QString("..")+QDir().separator()+QString("..")+QDir().separator()+QString("..")+QDir().separator()+ApplicationName)) &&(!CheckFolder(FileToTest,QString("..")+QDir().separator()+QString("..")+QDir().separator()+QString("..")+QDir().separator()+ApplicationName)) #if defined(Q_OS_LINUX) || defined(Q_OS_SOLARIS) &&(!CheckFolder(FileToTest,"/opt/share/"+ApplicationName)) &&(!CheckFolder(FileToTest,"/usr/share/"+ApplicationName)) #endif ) { ToLog(LOGMSG_INFORMATION,QString("Critical error : Impossible to find application directory")); exit(1); } ToLog(LOGMSG_INFORMATION,"Set working path to "+QDir::toNativeSeparators(QDir::currentPath())); return true; } //==================================================================================================================== int main(int argc, char* argv[]) { ToLog(LOGMSG_INFORMATION,QString("QT Version:%1").arg(qVersion())); // Change startup directory to the one containing BUILDVERSION.txt SetWorkingPath(argv,APPLICATION_NAME); // Read build version to set global variable CurrentAppName and CurrentAppVersion QFile file("BUILDVERSION.txt"); if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) exit(1); CurrentAppName=QString(file.readLine()); CurrentAppName.replace("Version ",""); if (CurrentAppName.endsWith("\n")) CurrentAppName=CurrentAppName.left(CurrentAppName.length()-QString("\n").length()); while (CurrentAppName.endsWith(" ")) CurrentAppName=CurrentAppName.left(CurrentAppName.length()-1); if (CurrentAppName.lastIndexOf(" ")) { CurrentAppVersion=CurrentAppName.mid(CurrentAppName.lastIndexOf(" ")+1); CurrentAppName =CurrentAppName.left(CurrentAppName.lastIndexOf(" ")); CurrentAppName.replace("_"," "); CurrentAppName.replace("-"," "); } file.close(); // Init application ToLog(LOGMSG_INFORMATION,QString("Start %1 %2 (%3) ...").arg(APPLICATION_NAME).arg(CurrentAppName).arg(CurrentAppVersion)); int zero=1; char *WM_NAME[]={(char *)APPLICATION_NAME}; #if defined(Q_OS_LINUX) || defined(Q_OS_SOLARIS) #if QT_VERSION >= 0x050000 #else if (SearchRasterMode()) QApplication::setGraphicsSystem("raster"); #endif QApplication app(zero,WM_NAME); #elif defined(Q_OS_WIN) #if QT_VERSION >= 0x050000 QApplication app(zero,WM_NAME); #else // Check Windows version and : // If Windows/XP then it's OK // And attach stdio to console if application was started from a console SetLFHeap(); QThread::currentThread()->setPriority(QThread::HighestPriority); QApplication::setStyle("Cleanlooks"); QApplication app(zero,WM_NAME); #endif #endif app.setApplicationName(APPLICATION_NAME+QString(" ")+CurrentAppVersion); // Parse parameters to find ForceLanguage and AutoLoad ToLog(LOGMSG_INFORMATION,"Parse command line ..."); QString AutoLoad=""; QString ForceLanguage=""; int FuturLogMsgLevel=LogMsgLevel; for (int i=1;i=!:;**%$/BE/FN2JU,CJ!7?.3 %- 9T?AAyWWW`a`ccbaba_`_GGFaM A6-)"qxrDfoAdoFgsEeq;Ze7R_2LU+BH #58$%'-9 G U` o~ !!&&'rjdZ N A5-&zgFgt 1Ud 2PZ!;T^"4LU$*:?*),5%*,Szzznf  Z K=4)wm !#{$Rmv$[qz%Rfo&.FM)*//OWZ`n b RC !#9"%&-"h##$%'())o{})*A>- 7 v h YI =%%*1՛՚ққћΜ͜ɝȝĞÞfed^^^oooA`V!=3qpp?72JEC[VWFrz%R]vttG@?VV\ehnmswb`O??\PQmllzweeiTFHbMMtefsaWPtxeq^h_VXmcevxCRL 1*%957MG?>**)cg...sgkqVbfswtkseyr4TSQfe@ZU!.(]d`@@Aved|]ZhciÌyJe`8IBʞVqp5<2/;55:59 84"     -)$yxzvyȩx_q[/LEnZҒ}vi/MGõ*:5, $ 2%"   $ 4^@(me}x|ÕlTlVqbr\y`Rg_L`\ݹ[wokhi  !   '" 676wo| yddIeKhPr^M`PE\P:I>tdRKJ>qvKKKHIHmavdx w^_=aAdErdI7eR$?0IH:@ZNOO/QE/b>ʥ }M2X9d@sP qMW*[,U*,8!G/)=?*QU()8%a8Dzy]GP-X3_8kHpH\a/*`::V..!*%$QX8c5 ^CU-[2a6mEoF\(9\2K+7"I/*K(b/f0`. *))d@\.^1a3mAkAT 2[-X0B]/[f8`-](_(b*ΠxtkSPQa6a.b/c2k>nGR$pV)mW*U'U(Z,[-e4h6a3c8d8e8]8yV:XB/@0%4)!{yμa4c5b7c7nEýþĿ??ffDiaporama/src/ffDiaporama/ffDiaporama.rc0000777000175000001440000000162012277107143020751 0ustar dominiqueusers#include IDI_CON1 ICON DISCARDABLE "ffdiaporama.ico" VS_VERSION_INFO VERSIONINFO FILEVERSION 2,1,14,0209 PRODUCTVERSION 2,1,14,0209 FILEFLAGSMASK 0 FILEFLAGS 0 FILEOS VOS__WINDOWS32 FILETYPE VFT_APP FILESUBTYPE 0 { BLOCK "StringFileInfo" { BLOCK "040904E4" { // 0409 for english 0x409 and 04E4 for 1252 code page VALUE "CompanyName", "." VALUE "LegalCopyright", "(c) 2011-2014 Dominique LEVRAY" VALUE "FileDescription", "ffDiaporama " VALUE "FileVersion", "2.1.2014.0209" VALUE "InternalName", "ffDiaporama" VALUE "OriginalFilename", "ffDiaporama.exe" VALUE "ProductName", "ffDiaporama" VALUE "ProductVersion", "2.1.2014.0209" } } BLOCK "VarFileInfo" { VALUE "Translation", 0x409, 1252, 0x40C, 1252 } } ffDiaporama/src/ffDiaporama/ffDiaporama.pro0000777000175000001440000005477712266677123021202 0ustar dominiqueusers# ====================================================================== # This file is part of ffDiaporama # ffDiaporama is a tools to make diaporama as video # Copyright (C) 2011-2014 Dominique Levray # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # ====================================================================== isEmpty(PREFIX) { PREFIX = /usr } CONFIG += qt thread greaterThan(QT_MAJOR_VERSION,4) { # QT5 version QT += widgets concurrent help } else { # QT4 version CONFIG += help } QT += core gui xml network svg sql QMAKE_STRIP = echo APPFOLDER = ffDiaporama TARGET = ffDiaporama TEMPLATE = app #-------------------------------------------------------------- # Add link to ffDiaporama_lib #-------------------------------------------------------------- INCLUDEPATH += ../ffDiaporama_lib LIBS += -lffDiaporama_lib #-------------------------------------------------------------- # DEFINES $$DESTDIR DIRECTORIES, COMMON INCLUDES AND COMMON LIBS #-------------------------------------------------------------- DEFINES +=SHARE_DIR=\\\"$$PREFIX\\\" unix { LIBS += -L../ffDiaporama_lib CFLAGS += -W"Missing debug information for" contains(DEFINES,Q_OS_SOLARIS) { HARDWARE_PLATFORM = $$system(uname -m) contains(HARDWARE_PLATFORM,x86_64) { DEFINES+=Q_OS_SOLARIS64 message("Solaris x86_64 build") } else { DEFINES+=Q_OS_SOLARIS32 message("Solaris x86 build") } message("Use ffmpeg in /opt/gnu/include") INCLUDEPATH += /opt/gnu/include DEFINES += USELIBSWRESAMPLE LIBS += -lswresample } else { HARDWARE_PLATFORM = $$system(uname -m) contains(HARDWARE_PLATFORM,x86_64) { DEFINES+=Q_OS_LINUX64 message("Linux x86_64 build") } else { DEFINES+=Q_OS_LINUX32 message("Linux x86 build") } exists(/opt/ffmpeg/include/libswresample/swresample.h) { #------ conditionnaly includes from Sam Rog packages for Ubuntu message("Use SAM ROG Packages from /opt/ffmpeg") INCLUDEPATH += /opt/ffmpeg/include/ LIBS += -L"/opt/ffmpeg/lib" DEFINES += USELIBSWRESAMPLE LIBS += -lswresample #------ conditionnaly include libswresample } else:exists(/usr/include/ffmpeg/libswresample/swresample.h) { #------ Specific for Fedora message("Use ffmpeg in /usr/include/ffmpeg") DEFINES += USELIBSWRESAMPLE INCLUDEPATH += /usr/include/ffmpeg/ LIBS += -lswresample #------ conditionnaly include libswresample } else:exists(/usr/include/libswresample/swresample.h) { #------ Specific for openSUSE message("Use ffmpeg in /usr/include") INCLUDEPATH += /usr/include/ DEFINES += USELIBSWRESAMPLE LIBS += -lswresample #------ conditionnaly include libswresample } else:exists(/usr/include/libavresample/avresample.h) { message("Use libav 9 in /usr/include") DEFINES += USELIBAVRESAMPLE LIBS += -lavresample #------ conditionnaly include libavresample INCLUDEPATH += /usr/include/ } else { message("Use libav 0.8+taglib in /usr/include") LIBS += -ltag #------ TAGlib is used only with LIBAV 8 DEFINES += USETAGLIB DEFINES += HAVE_CONFIG_H #------ specific for TAGLib DEFINES += TAGLIB_STATIC #------ specific for TAGLib INCLUDEPATH += /usr/include/ } } LIBS += -lexiv2 #------ Exiv2 OTHER_FILES += ffDiaporama.rc \ ffdiaporama.ico \ # icon file to be install on windows system ffDiaporama.url # URL file to be install on windows system } else:win32 { contains(QMAKE_HOST.arch,x86_64) { DEFINES+=Q_OS_WIN64 message("x86_64 build") INCLUDEPATH += "../../../win_src/ffmpeg-2.1-win64-dev/include" LIBS += -L"../../../win_src/ffmpeg-2.1-win64-dev/lib" LIBS += -L"../../../win_src/SDL-1.2.15/lib/x64" CONFIG(debug, debug|release) { LIBS += -L"F:\Dev\ffdiaporama\trunk\Win64Debug\src\ffDiaporama_lib\debug" } else { LIBS += -L"F:\Dev\ffdiaporama\trunk\Win64Release\src\ffDiaporama_lib\release" } } else { DEFINES+=Q_OS_WIN32 message("x86 build") INCLUDEPATH += "../../../win_src/ffmpeg-2.1-win32-dev/include" LIBS += -L"../../../win_src/ffmpeg-2.1-win32-dev/lib" LIBS += -L"../../../win_src/SDL-1.2.15/lib/x86" CONFIG(debug, debug|release) { LIBS += -L"F:\Dev\ffdiaporama\trunk\Win32Debug\src\ffDiaporama_lib\debug" } else { LIBS += -L"F:\Dev\ffdiaporama\trunk\Win32Release\src\ffDiaporama_lib\release" } } CONFIG += sql #------ I don't know why, but windows version need sql module in config directive DEFINES += USELIBSWRESAMPLE INCLUDEPATH += . #------ I don't know why, but windows need this ! INCLUDEPATH += ../exiv2 INCLUDEPATH += "../../../win_src/exiv2-0.23/msvc64/include" INCLUDEPATH += "../../../win_src/SDL-1.2.15/include" INCLUDEPATH += "../../../win_src/msinttypes" LIBS += -lgdi32 -lkernel32 -luser32 -lshell32 -ladvapi32 #------ Windows GDI libs link LIBS += -lswresample #------ conditionnaly include libswresample SOURCES += \ ../../../win_src/exiv2-0.23/src/xmpsidecar.cpp \ ../../../win_src/exiv2-0.23/src/xmp.cpp \ ../../../win_src/exiv2-0.23/src/version.cpp \ ../../../win_src/exiv2-0.23/src/value.cpp \ ../../../win_src/exiv2-0.23/src/utils.cpp \ ../../../win_src/exiv2-0.23/src/types.cpp \ ../../../win_src/exiv2-0.23/src/tiffvisitor.cpp \ ../../../win_src/exiv2-0.23/src/tiffimage.cpp \ ../../../win_src/exiv2-0.23/src/tiffcomposite.cpp \ ../../../win_src/exiv2-0.23/src/tgaimage.cpp \ ../../../win_src/exiv2-0.23/src/tags.cpp \ ../../../win_src/exiv2-0.23/src/sonymn.cpp \ ../../../win_src/exiv2-0.23/src/sigmamn.cpp \ ../../../win_src/exiv2-0.23/src/samsungmn.cpp \ ../../../win_src/exiv2-0.23/src/rw2image.cpp \ ../../../win_src/exiv2-0.23/src/rafimage.cpp \ ../../../win_src/exiv2-0.23/src/psdimage.cpp \ ../../../win_src/exiv2-0.23/src/properties.cpp \ ../../../win_src/exiv2-0.23/src/preview.cpp \ ../../../win_src/exiv2-0.23/src/pngimage.cpp \ ../../../win_src/exiv2-0.23/src/pngchunk.cpp \ ../../../win_src/exiv2-0.23/src/pgfimage.cpp \ ../../../win_src/exiv2-0.23/src/pentaxmn.cpp \ ../../../win_src/exiv2-0.23/src/panasonicmn.cpp \ ../../../win_src/exiv2-0.23/src/orfimage.cpp \ ../../../win_src/exiv2-0.23/src/olympusmn.cpp \ ../../../win_src/exiv2-0.23/src/nikonmn.cpp \ ../../../win_src/exiv2-0.23/src/mrwimage.cpp \ ../../../win_src/exiv2-0.23/src/minoltamn.cpp \ ../../../win_src/exiv2-0.23/src/metadatum.cpp \ ../../../win_src/exiv2-0.23/src/makernote.cpp \ ../../../win_src/exiv2-0.23/src/localtime.c \ ../../../win_src/exiv2-0.23/src/jpgimage.cpp \ ../../../win_src/exiv2-0.23/src/jp2image.cpp \ ../../../win_src/exiv2-0.23/src/iptc.cpp \ ../../../win_src/exiv2-0.23/src/image.cpp \ ../../../win_src/exiv2-0.23/src/gifimage.cpp \ ../../../win_src/exiv2-0.23/src/getopt_win32.c \ ../../../win_src/exiv2-0.23/src/futils.cpp \ ../../../win_src/exiv2-0.23/src/fujimn.cpp \ ../../../win_src/exiv2-0.23/src/exif.cpp \ ../../../win_src/exiv2-0.23/src/error.cpp \ ../../../win_src/exiv2-0.23/src/epsimage.cpp \ ../../../win_src/exiv2-0.23/src/easyaccess.cpp \ ../../../win_src/exiv2-0.23/src/datasets.cpp \ ../../../win_src/exiv2-0.23/src/crwimage.cpp \ ../../../win_src/exiv2-0.23/src/cr2image.cpp \ ../../../win_src/exiv2-0.23/src/convert.cpp \ ../../../win_src/exiv2-0.23/src/canonmn.cpp \ ../../../win_src/exiv2-0.23/src/bmpimage.cpp \ ../../../win_src/exiv2-0.23/src/basicio.cpp HEADERS += \ ../../../win_src/exiv2-0.23/src/xmpsidecar.hpp \ ../../../win_src/exiv2-0.23/src/xmp.hpp \ ../../../win_src/exiv2-0.23/src/version.hpp \ ../../../win_src/exiv2-0.23/src/value.hpp \ ../../../win_src/exiv2-0.23/src/utils.hpp \ ../../../win_src/exiv2-0.23/src/tzfile.h \ ../../../win_src/exiv2-0.23/src/types.hpp \ ../../../win_src/exiv2-0.23/src/timegm.h \ ../../../win_src/exiv2-0.23/src/tiffvisitor_int.hpp \ ../../../win_src/exiv2-0.23/src/tiffimage_int.hpp \ ../../../win_src/exiv2-0.23/src/tiffimage.hpp \ ../../../win_src/exiv2-0.23/src/tifffwd_int.hpp \ ../../../win_src/exiv2-0.23/src/tiffcomposite_int.hpp \ ../../../win_src/exiv2-0.23/src/tgaimage.hpp \ ../../../win_src/exiv2-0.23/src/tags_int.hpp \ ../../../win_src/exiv2-0.23/src/tags.hpp \ ../../../win_src/exiv2-0.23/src/sonymn_int.hpp \ ../../../win_src/exiv2-0.23/src/sigmamn_int.hpp \ ../../../win_src/exiv2-0.23/src/samsungmn_int.hpp \ ../../../win_src/exiv2-0.23/src/rw2image_int.hpp \ ../../../win_src/exiv2-0.23/src/rw2image.hpp \ ../../../win_src/exiv2-0.23/src/rcsid_int.hpp \ ../../../win_src/exiv2-0.23/src/rafimage.hpp \ ../../../win_src/exiv2-0.23/src/psdimage.hpp \ ../../../win_src/exiv2-0.23/src/properties.hpp \ ../../../win_src/exiv2-0.23/src/private.h \ ../../../win_src/exiv2-0.23/src/preview.hpp \ ../../../win_src/exiv2-0.23/src/pngimage.hpp \ ../../../win_src/exiv2-0.23/src/pngchunk_int.hpp \ ../../../win_src/exiv2-0.23/src/pgfimage.hpp \ ../../../win_src/exiv2-0.23/src/pentaxmn_int.hpp \ ../../../win_src/exiv2-0.23/src/panasonicmn_int.hpp \ ../../../win_src/exiv2-0.23/src/orfimage_int.hpp \ ../../../win_src/exiv2-0.23/src/orfimage.hpp \ ../../../win_src/exiv2-0.23/src/olympusmn_int.hpp \ ../../../win_src/exiv2-0.23/src/nikonmn_int.hpp \ ../../../win_src/exiv2-0.23/src/mrwimage.hpp \ ../../../win_src/exiv2-0.23/src/minoltamn_int.hpp \ ../../../win_src/exiv2-0.23/src/metadatum.hpp \ ../../../win_src/exiv2-0.23/src/metacopy.hpp \ ../../../win_src/exiv2-0.23/src/makernote_int.hpp \ ../../../win_src/exiv2-0.23/src/jpgimage.hpp \ ../../../win_src/exiv2-0.23/src/jp2image.hpp \ ../../../win_src/exiv2-0.23/src/iptc.hpp \ ../../../win_src/exiv2-0.23/src/image.hpp \ ../../../win_src/exiv2-0.23/src/i18n.h \ ../../../win_src/exiv2-0.23/src/gifimage.hpp \ ../../../win_src/exiv2-0.23/src/getopt_win32.h \ ../../../win_src/exiv2-0.23/src/futils.hpp \ ../../../win_src/exiv2-0.23/src/fujimn_int.hpp \ ../../../win_src/exiv2-0.23/src/exiv2app.hpp \ ../../../win_src/exiv2-0.23/src/exiv2.hpp \ ../../../win_src/exiv2-0.23/src/exif.hpp \ ../../../win_src/exiv2-0.23/src/error.hpp \ ../../../win_src/exiv2-0.23/src/epsimage.hpp \ ../../../win_src/exiv2-0.23/src/easyaccess.hpp \ ../../../win_src/exiv2-0.23/src/datasets.hpp \ ../../../win_src/exiv2-0.23/src/crwimage_int.hpp \ ../../../win_src/exiv2-0.23/src/crwimage.hpp \ ../../../win_src/exiv2-0.23/src/cr2image_int.hpp \ ../../../win_src/exiv2-0.23/src/cr2image.hpp \ ../../../win_src/exiv2-0.23/src/convert.hpp \ ../../../win_src/exiv2-0.23/src/canonmn_int.hpp \ ../../../win_src/exiv2-0.23/src/bmpimage.hpp \ ../../../win_src/exiv2-0.23/src/basicio.hpp \ ../exiv2/exv_msvc.h RC_FILE += ffDiaporama.rc OTHER_FILES += ffdiaporama.ico \ # icon file to be install on windows system ffDiaporama.url # URL file to be install on windows system } #---- Libs for windows and linux LIBS += -lSDL #------ SDL LIBS += -lavformat -lavcodec -lavutil -lswscale -lavfilter #------ libav #-------------------------------------------------------------- # PROJECT FILES #-------------------------------------------------------------- # Ressource files RESOURCES += RSCffDiaporama.qrc # Source files SOURCES += MainWindow/cCustomSlideTable.cpp \ MainWindow/mainwindow.cpp \ DlgRenderVideo/DlgRenderVideo.cpp \ DlgManageStyle/DlgManageStyle.cpp \ DlgAbout/DlgAbout.cpp \ DlgTransition/DlgTransitionProperties.cpp \ DlgMusic/DlgMusicProperties.cpp \ DlgBackground/DlgBackgroundProperties.cpp \ DlgAppSettings/DlgManageDevices/DlgManageDevices.cpp \ DlgAppSettings/DlgApplicationSettings.cpp \ DlgGMapsLocation/DlgGMapsLocation.cpp \ DlgGMapsLocation/DlgGMapsGeneration.cpp \ DlgImage/wgt_QGMapsMap/wgt_QGMapsMap.cpp \ DlgImage/wgt_QGMapsMap/cCustomLocationTable.cpp \ DlgImage/wgt_QEditImage/cImgInteractiveZone.cpp \ DlgImage/wgt_QEditImage/wgt_QEditImage.cpp \ DlgImage/wgt_QEditVideo/wgt_QEditVideo.cpp \ DlgImage/DlgImageCorrection.cpp \ DlgSlide/cCustomBlockTable.cpp \ DlgSlide/DlgSlideProperties.cpp \ DlgSlide/cInteractiveZone.cpp \ DlgSlide/cCustomShotTable.cpp \ DlgSlide/DlgRuler/DlgRulerDef.cpp \ DlgSlide/cShotComposer.cpp \ DlgSlide/DlgSlideDuration.cpp \ DlgSlide/DlgImageComposer.cpp \ DlgText/cCustomTextEdit.cpp \ DlgText/DlgTextEdit.cpp \ DlgCheckConfig/DlgCheckConfig.cpp \ DlgInfoFile/DlgInfoFile.cpp \ DlgffDPjrProperties/DlgffDPjrProperties.cpp \ DlgManageFavorite/DlgManageFavorite.cpp \ DlgWorkingTask/DlgWorkingTask.cpp \ DlgTransition/DlgTransitionDuration.cpp \ DlgFileExplorer/DlgFileExplorer.cpp \ DlgChapter/DlgChapter.cpp \ DlgAutoTitleSlide/cCustomTitleModelTable.cpp \ DlgAutoTitleSlide/DlgAutoTitleSlide.cpp \ DlgExportProject/DlgExportProject.cpp \ HelpPopup/HelpPopup.cpp \ HelpPopup/HelpBrowser.cpp \ engine/_GlobalDefines.cpp \ engine/cApplicationConfig.cpp \ engine/cDeviceModelDef.cpp \ engine/cSoundBlockList.cpp \ engine/cBaseMediaFile.cpp \ engine/_SDL_Support.cpp \ engine/cBrushDefinition.cpp \ engine/cDriveList.cpp \ engine/_Transition.cpp \ engine/_EncodeVideo.cpp \ engine/_StyleDefinitions.cpp \ engine/_Diaporama.cpp \ engine/_Variables.cpp \ engine/_Model.cpp \ engine/cLocation.cpp \ CustomCtrl/_QCustomDialog.cpp \ CustomCtrl/cCFramingComboBox.cpp \ CustomCtrl/cCShapeComboBox.cpp \ CustomCtrl/cThumbnailComboBox.cpp \ wgt_QMultimediaBrowser/QCustomFolderTable.cpp \ wgt_QMultimediaBrowser/QCustomFolderTree.cpp \ wgt_QMultimediaBrowser/wgt_QMultimediaBrowser.cpp \ wgt_QVideoPlayer/QCustomRuler.cpp \ wgt_QVideoPlayer/wgt_QVideoPlayer.cpp \ HelpPopup/HelpContent.cpp \ main.cpp # Header files HEADERS += MainWindow/cCustomSlideTable.h \ MainWindow/mainwindow.h \ DlgRenderVideo/DlgRenderVideo.h \ DlgManageStyle/DlgManageStyle.h \ DlgAbout/DlgAbout.h \ DlgTransition/DlgTransitionProperties.h \ DlgMusic/DlgMusicProperties.h \ DlgBackground/DlgBackgroundProperties.h \ DlgAppSettings/DlgManageDevices/DlgManageDevices.h \ DlgAppSettings/DlgApplicationSettings.h \ DlgGMapsLocation/DlgGMapsLocation.h \ DlgGMapsLocation/DlgGMapsGeneration.h \ DlgImage/wgt_QGMapsMap/wgt_QGMapsMap.h \ DlgImage/wgt_QGMapsMap/cCustomLocationTable.h \ DlgImage/wgt_QEditImage/cImgInteractiveZone.h \ DlgImage/wgt_QEditImage/wgt_QEditImage.h \ DlgImage/wgt_QEditVideo/wgt_QEditVideo.h \ DlgImage/DlgImageCorrection.h \ DlgSlide/DlgSlideProperties.h \ DlgSlide/cCustomBlockTable.h \ DlgSlide/cInteractiveZone.h \ DlgSlide/cCustomShotTable.h \ DlgSlide/DlgRuler/DlgRulerDef.h \ DlgSlide/cShotComposer.h \ DlgSlide/DlgSlideDuration.h \ DlgSlide/DlgImageComposer.h \ DlgText/cCustomTextEdit.h \ DlgText/DlgTextEdit.h \ DlgCheckConfig/DlgCheckConfig.h \ DlgInfoFile/DlgInfoFile.h \ DlgffDPjrProperties/DlgffDPjrProperties.h \ DlgManageFavorite/DlgManageFavorite.h \ DlgWorkingTask/DlgWorkingTask.h \ DlgTransition/DlgTransitionDuration.h \ DlgFileExplorer/DlgFileExplorer.h \ DlgChapter/DlgChapter.h \ DlgAutoTitleSlide/cCustomTitleModelTable.h \ DlgAutoTitleSlide/DlgAutoTitleSlide.h \ DlgExportProject/DlgExportProject.h \ HelpPopup/HelpPopup.h \ HelpPopup/HelpBrowser.h \ engine/cApplicationConfig.h \ engine/cDeviceModelDef.h \ engine/_GlobalDefines.h \ engine/cSoundBlockList.h \ engine/cBaseMediaFile.h \ engine/_SDL_Support.h \ engine/cBrushDefinition.h \ engine/cDriveList.h \ engine/_Transition.h \ engine/_EncodeVideo.h \ engine/_StyleDefinitions.h \ engine/_Diaporama.h \ engine/_Variables.h \ engine/_Model.h \ engine/cLocation.h \ CustomCtrl/_QCustomDialog.h \ CustomCtrl/cCFramingComboBox.h \ CustomCtrl/cCShapeComboBox.h \ CustomCtrl/cThumbnailComboBox.h \ wgt_QMultimediaBrowser/QCustomFolderTable.h \ wgt_QMultimediaBrowser/QCustomFolderTree.h \ wgt_QMultimediaBrowser/wgt_QMultimediaBrowser.h \ wgt_QVideoPlayer/QCustomRuler.h \ wgt_QVideoPlayer/wgt_QVideoPlayer.h \ HelpPopup/HelpContent.h # Forms files FORMS += MainWindow/mainwindow.ui \ DlgRenderVideo/DlgRenderVideo.ui \ DlgManageStyle/DlgManageStyle.ui \ DlgAbout/DlgAbout.ui \ DlgTransition/DlgTransitionProperties.ui \ DlgMusic/DlgMusicProperties.ui \ DlgBackground/DlgBackgroundProperties.ui \ DlgAppSettings/DlgManageDevices/DlgManageDevices.ui \ DlgAppSettings/DlgApplicationSettings.ui \ DlgGMapsLocation/DlgGMapsLocation.ui \ DlgGMapsLocation/DlgGMapsGeneration.ui \ DlgImage/wgt_QGMapsMap/wgt_QGMapsMap.ui \ DlgImage/wgt_QEditImage/wgt_QEditImageimage.ui \ DlgImage/wgt_QEditVideo/wgt_QEditVideo.ui \ DlgImage/DlgImageCorrection.ui \ DlgSlide/DlgSlideProperties.ui \ DlgSlide/DlgRuler/DlgRulerDef.ui \ DlgSlide/DlgImageComposer.ui \ DlgText/DlgTextEdit.ui \ DlgCheckConfig/DlgCheckConfig.ui \ DlgInfoFile/DlgInfoFile.ui \ DlgffDPjrProperties/DlgffDPjrProperties.ui \ DlgManageFavorite/DlgManageFavorite.ui \ DlgWorkingTask/DlgWorkingTask.ui \ DlgTransition/DlgTransitionDuration.ui \ DlgSlide/DlgSlideDuration.ui \ DlgFileExplorer/DlgFileExplorer.ui \ DlgChapter/DlgChapter.ui \ DlgAutoTitleSlide/DlgAutoTitleSlide.ui \ DlgExportProject/DlgExportProject.ui \ wgt_QMultimediaBrowser/wgt_QMultimediaBrowser.ui \ wgt_QVideoPlayer/wgt_QVideoPlayer.ui \ HelpPopup/HelpPopup.ui #-------------------------------------------------------------- # INSTALLATION #-------------------------------------------------------------- TARGET.path = $$PREFIX/bin TARGET.files = $$TARGET INSTALLS += TARGET Licences.path = $$PREFIX/share/$$APPFOLDER Licences.files = ../../authors.txt \ ../../licences.txt \ ../../licence.rtf INSTALLS += Licences XMLConfig.path = $$PREFIX/share/$$APPFOLDER XMLConfig.files = ../../Devices.xml \ ../../ffDiaporama.xml INSTALLS += XMLConfig General.path = $$PREFIX/share/$$APPFOLDER General.files = ../../changelog-en.txt \ ../../changelog-fr.txt \ ../../BUILDVERSION.txt \ ../../readme.txt INSTALLS += General ico.path = $$PREFIX/share/icons/hicolor/32x32/apps ico.files = ../../ffdiaporama.png INSTALLS += ico desktop.path = $$PREFIX/share/applications desktop.files = ../../ffDiaporama.desktop INSTALLS += desktop mimefile.path = $$PREFIX/share/mime/packages mimefile.files = ../../ffDiaporama-mime.xml INSTALLS += mimefile translation.path = $$PREFIX/share/$$APPFOLDER/locale translation.files = ../../locale/wiki_en.* INSTALLS += translation ffDiaporama/src/ffDiaporama/ffDiaporama.demo.rc0000777000175000001440000000177412275647323021715 0ustar dominiqueusers#include IDI_CON1 ICON DISCARDABLE "ffdiaporama.ico" VS_VERSION_INFO VERSIONINFO FILEVERSION ,,, PRODUCTVERSION ,,, FILEFLAGSMASK 0 FILEFLAGS 0 FILEOS VOS__WINDOWS32 FILETYPE VFT_APP FILESUBTYPE 0 { BLOCK "StringFileInfo" { BLOCK "040904E4" { // 0409 for english 0x409 and 04E4 for 1252 code page VALUE "CompanyName", "." VALUE "LegalCopyright", "(c) 2011-2014 Dominique LEVRAY" VALUE "FileDescription", "ffDiaporama " VALUE "FileVersion", "..." VALUE "InternalName", "ffDiaporama" VALUE "OriginalFilename", "ffDiaporama.exe" VALUE "ProductName", "ffDiaporama" VALUE "ProductVersion", "..." } } BLOCK "VarFileInfo" { VALUE "Translation", 0x409, 1252, 0x40C, 1252 } } ffDiaporama/src/ffDiaporama/RSCffDiaporama.qrc0000777000175000001440000004161712275647232021522 0ustar dominiqueusers img/Action_Open.png img/action_cancel.png img/Action_Info.png img/action_ok.png img/Action_Wizard.png img/add_image.png img/add_project.png img/add_text.png img/AdjustH.png img/AdjustW.png img/AdjustWH.png img/Alignment.png img/arrow_down.png img/arrow_left.png img/arrow_right.png img/arrow_up.png img/Blue.png img/Chapter.png img/color.png img/color_fill.png img/colorize.png img/config.png img/contents.png img/db.png img/db_add.png img/db_menu.png img/db_remove.png img/db_status.png img/db_update.png img/DISPLAY_DATA.png img/DISPLAY_JUKEBOX.png img/DISPLAY_WEB.png img/Distance.png img/edit.png img/editcopy.png img/editcut.png img/EditImage.png img/EditMovie.png img/editpaste.png img/EditText.png img/exit.png img/fifteenpieces.png img/file_temporary.png img/fileclose.png img/filenew.png img/fileopen.png img/filerecent.png img/filesave.png img/filesaveas.png img/FolderOpen.png img/font.png img/Geometry.png img/Geometry_ImageLock.png img/Geometry_Lock.png img/Geometry_ProjectLock.png img/Geometry_Unlock.png img/Green.png img/help.png img/Internet.png img/journal.png img/kmultiple.png img/logo.xpm img/logo_big.png img/object_image.png img/object_imageHide.png img/object_movie.png img/object_movieHide.png img/object_sound.png img/object_text.png img/object_textHide.png img/pattern_fill.png img/player_end.png img/player_fwd.png img/player_pause.png img/player_play.png img/player_rew.png img/player_stop.png img/PosEnd.png img/PosSize_Height.png img/PosSize_Width.png img/PosSize_X.png img/PosSize_Y.png img/PosStart.png img/PrjProperties.png img/Radius.png img/random.png img/Red.png img/Refresh.png img/render.png img/RotateX.png img/RotateY.png img/RotateZ.png img/rotationd.png img/rotationg.png img/ruler_ko.png img/ruler_ok.png img/Shadow.png img/Smartphone.png img/sound_KO.png img/splash.png img/TextStyle.png img/TimelineBlocks.png img/TimelineShots.png img/Transform.png img/transparent.png img/trash.png img/tv.png img/undo.png img/Visible_KO.png img/Visible_OK.png img/zoom.png img/zoomdown.png img/zoomup.png img/MediaIcons/16x16/audio.png img/MediaIcons/16x16/cdrom.png img/MediaIcons/16x16/delayed.png img/MediaIcons/16x16/directory.png img/MediaIcons/16x16/ffDiaporama.png img/MediaIcons/16x16/file.png img/MediaIcons/16x16/folder_home.png img/MediaIcons/16x16/hdd.png img/MediaIcons/16x16/hdd-lan.png img/MediaIcons/16x16/image.png img/MediaIcons/16x16/Thumbnails.png img/MediaIcons/16x16/usb.png img/MediaIcons/16x16/video.png img/MediaIcons/48x48/audio.png img/MediaIcons/48x48/cdrom.png img/MediaIcons/48x48/delayed.png img/MediaIcons/48x48/directory.png img/MediaIcons/48x48/ffDiaporama.png img/MediaIcons/48x48/file.png img/MediaIcons/48x48/folder_home.png img/MediaIcons/48x48/hdd.png img/MediaIcons/48x48/hdd-lan.png img/MediaIcons/48x48/image.png img/MediaIcons/48x48/Thumbnails.png img/MediaIcons/48x48/usb.png img/MediaIcons/48x48/video.png img/MediaIcons/100x100/audio.png img/MediaIcons/100x100/cdrom.png img/MediaIcons/100x100/delayed.png img/MediaIcons/100x100/directory.png img/MediaIcons/100x100/ffDiaporama.png img/MediaIcons/100x100/file.png img/MediaIcons/100x100/folder_home.png img/MediaIcons/100x100/hdd.png img/MediaIcons/100x100/hdd-lan.png img/MediaIcons/100x100/image.png img/MediaIcons/100x100/Thumbnails.png img/MediaIcons/100x100/usb.png img/MediaIcons/100x100/video.png img/Transitions/tr-00-00.png img/Transitions/tr-00-01.png img/Transitions/tr-00-02.png img/Transitions/tr-00-03.png img/Transitions/tr-01-00.png img/Transitions/tr-01-01.png img/Transitions/tr-01-02.png img/Transitions/tr-01-03.png img/Transitions/tr-01-04.png img/Transitions/tr-01-05.png img/Transitions/tr-01-06.png img/Transitions/tr-01-07.png img/Transitions/tr-01-08.png img/Transitions/tr-01-09.png img/Transitions/tr-01-10.png img/Transitions/tr-01-11.png img/Transitions/tr-01-12.png img/Transitions/tr-01-13.png img/Transitions/tr-01-14.png img/Transitions/tr-01-15.png img/Transitions/tr-01-16.png img/Transitions/tr-01-17.png img/Transitions/tr-02-00.png img/Transitions/tr-02-01.png img/Transitions/tr-02-02.png img/Transitions/tr-02-03.png img/Transitions/tr-02-04.png img/Transitions/tr-02-05.png img/Transitions/tr-02-06.png img/Transitions/tr-02-07.png img/Transitions/tr-02-08.png img/Transitions/tr-02-09.png img/Transitions/tr-02-10.png img/Transitions/tr-02-11.png img/Transitions/tr-02-12.png img/Transitions/tr-02-13.png img/Transitions/tr-02-14.png img/Transitions/tr-02-15.png img/Transitions/tr-03-00.png img/Transitions/tr-03-01.png img/Transitions/tr-03-02.png img/Transitions/tr-03-03.png img/Transitions/tr-03-04.png img/Transitions/tr-03-05.png img/Transitions/tr-03-06.png img/Transitions/tr-03-07.png img/Transitions/tr-03-08.png img/Transitions/tr-03-09.png img/Transitions/tr-03-10.png img/Transitions/tr-03-11.png img/Transitions/tr-03-12.png img/Transitions/tr-03-13.png img/Transitions/tr-03-14.png img/Transitions/tr-03-15.png img/Transitions/tr-icon-error.png img/Transitions/tr-10-00.png img/Transitions/tr-10-01.png img/Transitions/tr-10-02.png img/Transitions/tr-10-03.png img/VideoMask_120x180.png img/VideoMask_150x200.png img/VideoMask_162x216.png img/FolderMask_200.png img/AddFolder.png img/ConvertImg.png img/ConvertAudio.png img/ConvertVideo.png img/SmallGreen.png img/SmallRed.png img/SmallYellow.png img/Lossless.png img/Text/text_align_center.png img/Text/text_align_justif.png img/Text/text_align_left.png img/Text/text_align_right.png img/Text/text_align_vbottom.png img/Text/text_align_vcenter.png img/Text/text_align_vup.png img/Text/text_bold.png img/Text/text_italic.png img/Text/text_underline.png img/Text/text_indent_in.png img/Text/text_indent_out.png img/Text/text_list.png img/Text/text_list_nbr.png img/Text/text_sub.png img/Text/text_super.png img/ScrollX.png img/ScrollY.png img/MediaIcons/48x48/Text.png img/undo24.png img/Lock24.png img/Camera.png img/favorite.png img/favorite_add.png img/favorite_manage.png img/favorite_menu.png img/action_edit.png img/config_menu.png img/Image_File.png img/Video_File.png img/Filter/Blur.png img/Filter/Brightness.png img/Filter/Contrast.png img/Filter/Gamma.png img/Filter/Antialias.png img/Filter/Charcoal.png img/Filter/Despeckle.png img/Filter/Edge.png img/Filter/Emboss.png img/Filter/Equalize.png img/Filter/Grayscale.png img/Filter/Negative.png img/Filter/Oilpaint.png img/Filter/Desaturate.png img/Filter/Implode.png img/Filter/Swirl.png img/Filter/Wave.png img/Arrange/aobottom.png img/Arrange/aocenterh.png img/Arrange/aocenterv.png img/Arrange/aoleft.png img/Arrange/aoright.png img/Arrange/aotop.png img/Arrange/arrange.png img/Arrange/aodistH.png img/Arrange/aodistV.png img/ffdiaporama.png img/Text/outline.png img/Text/Shadow bottom left.png img/Text/Shadow bottom right.png img/Text/Shadow upper left.png img/Text/Shadow upper right.png img/Text/normal.png img/Transitions/tr-02-16.png img/Transitions/tr-02-17.png img/Transitions/tr-02-18.png img/Transitions/tr-02-19.png img/Transitions/tr-02-20.png img/Transitions/tr-02-21.png img/Transitions/tr-00-04.png img/Yellow.png img/TextFrame/010.svg img/TextFrame/011.svg img/TextFrame/012.svg img/TextFrame/020.svg img/TextFrame/020b.svg img/TextFrame/020c.svg img/TextFrame/021.svg img/TextFrame/022.svg img/TextFrame/022b.svg img/TextFrame/022c.svg img/TextFrame/023.svg img/TextFrame/023b.svg img/TextFrame/023c.svg img/TextFrame/030.svg img/TextFrame/030b.svg img/TextFrame/030c.svg img/TextFrame/031.svg img/TextFrame/032.svg img/TextFrame/032b.svg img/TextFrame/032c.svg img/TextFrame/040.svg img/TextFrame/040b.svg img/TextFrame/041.svg img/TextFrame/042.svg img/TextFrame/043.svg img/TextFrame/043b.svg img/TextFrame/050.svg img/TextFrame/050b.svg img/TextFrame/050c.svg img/TextFrame/050d.svg img/TextFrame/051.svg img/TextFrame/052.svg img/TextFrame/052b.svg img/TextFrame/052c.svg img/TextFrame/052d.svg img/TextFrame/060.svg img/TextFrame/061.svg img/TextFrame/062.svg img/TextFrame/063.svg img/TextFrame/070.svg img/TextFrame/070b.svg img/TextFrame/071.svg img/TextFrame/072.svg img/TextFrame/073.svg img/TextFrame/073b.svg img/TextFrame/100.svg img/TextFrame/100c.svg img/TextFrame/101.svg img/TextFrame/102.svg img/TextFrame/103.svg img/TextFrame/104.svg img/TextFrame/105.svg img/TextFrame/108.svg img/TextFrame/109.svg img/TextFrame/110.svg img/TextFrame/111.svg img/TextFrame/112.svg img/add_cliparttext.png img/TextFrame/114.svg img/TextFrame/117.svg img/TextFrame/118.svg img/TextFrame/119.svg img/TextFrame/120.svg img/TextFrame/121.svg img/TextFrame/122.svg img/TextFrame/116.svg img/TextFrame/123.svg img/TextFrame/115.svg img/MediaIcons/16x16/clipart.png img/MediaIcons/48x48/clipart.png img/MediaIcons/100x100/clipart.png img/Chapter_big.png img/AutoTS.png img/db_menu_big.png img/medal.png img/fileexport.png img/SaveAsMenu.png img/ccbysa.png img/Opensource.png img/forum.png img/SortByDate.png img/SortByName.png img/SortByNumber.png img/gmap.png img/gmap_add.png img/MediaIcons/16x16/gmaps.png img/MediaIcons/48x48/gmaps.png img/MediaIcons/100x100/gmaps.png img/EditGMaps.png img/inheritance_down_lock.png img/inheritance_down_unlock.png img/Visible_MASK.png img/defaultmap.png ffDiaporama/src/ffDiaporama/wgt_QVideoPlayer/0000777000175000001440000000000012275647316021446 5ustar dominiqueusersffDiaporama/src/ffDiaporama/wgt_QVideoPlayer/wgt_QVideoPlayer.ui0000777000175000001440000002427412275647316025246 0ustar dominiqueusers wgt_QVideoPlayer 0 0 575 360 Sans Serif 8 0 0 0 0 0 0 0 false 0 0 0 0 0 0 0 Click to start play, click again to pause the movie QToolButton { /* all types of tool button */ background: black; border-top: 1px solid #202020; border-bottom: 0px; border-left: 0px; border-right: 0px; border-radius: 0px; background-color: black; } QToolButton[popupMode="1"] { /* only for MenuButtonPopup */ padding-right: 10px; /* make way for the popup button */ } QToolButton:pressed { background-color: black; } ... :/img/player_play.png:/img/player_play.png 24 24 0 0 0 32 16777215 32 The progress bar allows you to set the video display to a specific position. Remark : The length of the ruler is increased in proportion to the duration of the video. The blue part represents the part of the video which is selected (which will be used in the assembly). Qt::Horizontal 0 0 0 0 0 0 0 -1 background: black; subcontrol-origin: padding; subcontrol-position: top right; padding: 0px; spacing: 2px; border-top: 1px solid #202020; border-bottom: 0px; border-left: 0px; border-right: 0px; color: white; font-size: 10px; QFrame::NoFrame QFrame::Sunken 0 00:00:00 Qt::AlignCenter 0 0 0 6 16777215 6 Sans Serif 1 QProgressBar:horizontal { border: 0px; border-radius: 0px; background: black; padding-top: 1px; padding-bottom: 2px; padding-left: 1px; padding-right: 1px; } QProgressBar::chunk:horizontal { background: red; } 5 0 false 0 0 -1 background: black; subcontrol-origin: padding; subcontrol-position: top right; padding: 0px; spacing: 2px; border-top: 0px; border-bottom: 0px; border-left: 0px; border-right: 0px; color: white; font-size: 10px; QFrame::Sunken 0 00:00:00 Qt::AlignCenter 0 0 Save this image of the movie QToolButton { /* all types of tool button */ background: black; border-top: 1px solid #202020; border-bottom: 0px; border-left: 0px; border-right: 0px; border-radius: 0px; background-color: black; } QToolButton[popupMode="1"] { /* only for MenuButtonPopup */ padding-right: 10px; /* make way for the popup button */ } QToolButton:pressed { background-color: black; } ... :/img/Camera.png:/img/Camera.png 24 24 QMovieLabel QLabel
wgt_QVideoPlayer/wgt_QVideoPlayer.h
QCustomRuler QSlider
wgt_QVideoPlayer/QCustomRuler.h
ffDiaporama/src/ffDiaporama/wgt_QVideoPlayer/wgt_QVideoPlayer.h0000777000175000001440000001552412275647316025056 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef WGT_QVIDEOPLAYER_H #define WGT_QVIDEOPLAYER_H // Basic inclusions (common to all files) #include "engine/_GlobalDefines.h" #include "engine/_Diaporama.h" #include namespace Ui { class wgt_QVideoPlayer; } class cImageList { public: QList List; // List of rendere image cDiaporama *Diaporama; // Link to the current Diaporama cImageList(); ~cImageList(); void ClearList(); // Clear the list (make delete of each image) cDiaporamaObjectInfo *DetachFirstImage(); // Detach the first image of the list (do not make delete) cDiaporamaObjectInfo *GetFirstImage(); // Retreve a link to the first frame in the list cDiaporamaObjectInfo *GetLastImage(); // Retreve a link to the last frame in the list void AppendImage(cDiaporamaObjectInfo *Frame); // Append an image to the end of the list }; class QMovieLabel : public QLabel { Q_OBJECT public: QImage CurrentImage; explicit QMovieLabel(QWidget *parent=0); ~QMovieLabel(); void SetImage(QImage Image); void SetImage(QImage *Image); protected: virtual void resizeEvent(QResizeEvent *); virtual void paintEvent(QPaintEvent *event); virtual void mouseDoubleClickEvent(QMouseEvent *e); virtual void mouseReleaseEvent(QMouseEvent *e); signals: void DoubleClick(); void RightClickEvent(QMouseEvent *); }; class wgt_QVideoPlayer : public QWidget { Q_OBJECT public: QTime PreviousTimerEvent; int TimerDelta; bool *FLAGSTOPITEMSELECTION; // Flag to stop Item Selection process in the timeline bool Deinterlace; // Add a YADIF filter to deinterlace video (on/off) cVideoFile *FileInfo; // Link to the file wrapper object when DlgVideoDialogBox cDiaporama *Diaporama; // Link to the Diaporama hierarchy when preview cApplicationConfig *ApplicationConfig; int ActualPosition; // Current position (in msec) QTime tDuration; // Duration of the video double WantedFPS; cImageList ImageList; // Collection of bufered image cSoundBlockList Music; // Sound to play (in direct player mode) bool IsValide; // if true then object if fuly initialise bool IsInit; // if true then player was first started bool ResetPositionWanted; QTime StartPos; // Start position QTime EndPos; // End position QIcon IconPlay; // Icon : "images/player_play.png" QIcon IconPause; // Icon : "images/player_pause.png" bool DisplayMSec; // if True, display millisecondes instead of secondes bool PlayerPlayMode; // Is MPlayer currently play mode bool PlayerPauseMode; // Is MPlayer currently plause mode QTimer Timer; QDateTime PreviousTimerTick; int TimerValue; bool IsSliderProcess; // true is slider is currently moving by user bool PreviousPause; // Flag to keep pause state before slider process QTime LastTimeCheck; // time save for plaing diaporama bool TimerTick; // To use timer 1 time for 2 call QMutex PlayerMutex; QList PreparedTransitBrushList; QList PreparedBrushList; // Thread controls QFutureWatcher ThreadPrepareVideo; QFutureWatcher ThreadPrepareImage; QFutureWatcher ThreadAssembly; explicit wgt_QVideoPlayer(QWidget *parent = 0); ~wgt_QVideoPlayer(); bool StartPlay(cVideoFile *FileInfo,double WantedFPS); // Start player in DlgVideoDialogBox mode bool InitDiaporamaPlay(cDiaporama *Diaporama); // Start player in preview mode void StartThreadAssembly(double PCT,cDiaporamaObjectInfo *Info,int W,int H,bool SoundWanted); void SetStartEndPos(int StartPos,int Duration,int PreviousStartPos,int PrevisousEndPos,int NextStartPos,int NextEndPos); void SeekPlayer(int Value); QTime GetCurrentPos(); QTime GetActualDuration(); void SetActualDuration(int Duration); void SetPlayerToPause(); void SetPlayerToPlay(); void SetBackgroundColor(QColor Background); int GetButtonBarHeight(); protected: virtual void closeEvent(QCloseEvent *); virtual void showEvent(QShowEvent *); private slots: void s_DoubleClick(); void s_RightClickEvent(QMouseEvent *); void s_TimerEvent(); void s_VideoPlayerPlayPauseBT(); void s_SliderPressed(); void s_SliderReleased(); void s_SliderMoved(int Value); void s_SaveImage(); void s_PositionChangeByUser(); private: void EnableWidget(bool State); void PrepareImage(bool SoundWanted,bool AddStartPos,cDiaporamaObjectInfo *Frame,int W,int H); void PrepareVideoFrame(cDiaporamaObjectInfo *NewFrame,int Position); Ui::wgt_QVideoPlayer *ui; signals: void DoubleClick(); void RightClickEvent(QMouseEvent *); void SaveImageEvent(); }; #endif // WGT_QVIDEOPLAYER_H ffDiaporama/src/ffDiaporama/wgt_QVideoPlayer/wgt_QVideoPlayer.cpp0000777000175000001440000011217212275647316025406 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "wgt_QVideoPlayer.h" #include "MainWindow/mainwindow.h" #include "ui_wgt_QVideoPlayer.h" #define ICON_PLAYERPLAY ":/img/player_play.png" // FileName of play icon #define ICON_PLAYERPAUSE ":/img/player_pause.png" // FileName of pause icon #define BUFFERING_NBR_FRAME 10 // Number of frame wanted in the playing buffer //********************************************************************************************************************************************* // Base object for Movie frame //********************************************************************************************************************************************* QMovieLabel::QMovieLabel(QWidget *parent):QLabel(parent) { } QMovieLabel::~QMovieLabel() { } void QMovieLabel::mouseDoubleClickEvent(QMouseEvent *) { emit DoubleClick(); } void QMovieLabel::mouseReleaseEvent(QMouseEvent *event) { if (event->button()==Qt::RightButton) emit RightClickEvent(event); else QLabel::mouseReleaseEvent(event); } void QMovieLabel::SetImage(QImage Image) { CurrentImage=Image; repaint(); } void QMovieLabel::SetImage(QImage *Image) { CurrentImage=Image->copy(); repaint(); } void QMovieLabel::resizeEvent(QResizeEvent *Ev) { QLabel::resizeEvent(Ev); repaint(); } void QMovieLabel::paintEvent(QPaintEvent *) { if (CurrentImage.isNull()) return; QPainter Painter(this); qreal Ratio=qreal(CurrentImage.width())/qreal(CurrentImage.height()); int MaxW=this->width(); int MaxH=qreal(MaxW)/Ratio; if (MaxH>this->height()) { MaxH=this->height(); MaxW=qreal(MaxH*Ratio); } if (CurrentImage.width()!=MaxW) { QImage CI=CurrentImage.scaledToWidth(MaxW); int LeftBar =(this->width()-CI.width())/2; int RightBar =this->width()-CI.width()-LeftBar; int TopBar =(this->height()-CI.height())/2; int BottomBar=this->height()-CI.height()-TopBar; Painter.drawImage(LeftBar,TopBar,CI); if (LeftBar) { Painter.fillRect(QRectF(0,0,LeftBar,this->height()),Qt::black); Painter.fillRect(QRectF(this->width()-RightBar,0,RightBar,this->height()),Qt::black); } if (TopBar) { Painter.fillRect(QRectF(LeftBar,0,CI.width(),TopBar),Qt::black); Painter.fillRect(QRectF(LeftBar,this->height()-BottomBar,CI.width(),BottomBar),Qt::black); } } else { int LeftBar =(this->width()-CurrentImage.width())/2; int RightBar =this->width()-CurrentImage.width()-LeftBar; int TopBar =(this->height()-CurrentImage.height())/2; int BottomBar=this->height()-CurrentImage.height()-TopBar; Painter.drawImage(LeftBar,TopBar,CurrentImage); if (LeftBar) { Painter.fillRect(QRectF(0,0,LeftBar,this->height()),Qt::black); Painter.fillRect(QRectF(this->width()-RightBar,0,RightBar,this->height()),Qt::black); } if (TopBar) { Painter.fillRect(QRectF(LeftBar,0,CurrentImage.width(),TopBar),Qt::black); Painter.fillRect(QRectF(LeftBar,this->height()-BottomBar,CurrentImage.width(),BottomBar),Qt::black); } } } //********************************************************************************************************************************************* // Base object for image manipulation //********************************************************************************************************************************************* cImageList::cImageList() { } //==================================================================================================================== cImageList::~cImageList() { ClearList(); } //==================================================================================================================== // Clear the list (make av_free of each packet) //==================================================================================================================== void cImageList::ClearList() { while (List.count()>0) { cDiaporamaObjectInfo *Frame=DetachFirstImage(); if (Frame) delete(Frame); } } //==================================================================================================================== // Detach the first image of the list (do not make delete) //==================================================================================================================== cDiaporamaObjectInfo *cImageList::DetachFirstImage() { if (List.count()>0) return (cDiaporamaObjectInfo *)List.takeFirst(); else return NULL; } //==================================================================================================================== // Retreve a link to the first frame in the list //==================================================================================================================== cDiaporamaObjectInfo *cImageList::GetFirstImage() { if (List.count()>0) return (cDiaporamaObjectInfo *)List[0]; else return NULL; } //==================================================================================================================== // Retreve a link to the last frame in the list //==================================================================================================================== cDiaporamaObjectInfo *cImageList::GetLastImage() { if (List.count()>0) return (cDiaporamaObjectInfo *)List[List.count()-1]; else return NULL; } //==================================================================================================================== // Append a packet to the end of the list //==================================================================================================================== void cImageList::AppendImage(cDiaporamaObjectInfo *Frame) { List.append(Frame); } //==================================================================================================================== wgt_QVideoPlayer::wgt_QVideoPlayer(QWidget *parent) : QWidget(parent),ui(new Ui::wgt_QVideoPlayer) { ui->setupUi(this); FLAGSTOPITEMSELECTION = NULL; FileInfo = NULL; Diaporama = NULL; WantedFPS = 12.5; IsValide = false; IsInit = false; DisplayMSec = true; // add msec to display IconPause = QIcon(ICON_PLAYERPLAY); // QApplication::style()->standardIcon(QStyle::SP_MediaPlay) IconPlay = QIcon(ICON_PLAYERPAUSE); // QApplication::style()->standardIcon(QStyle::SP_MediaPause) PlayerPlayMode = false; // Is player currently play mode PlayerPauseMode = false; // Is player currently plause mode IsSliderProcess = false; ActualPosition = -1; tDuration = QTime(0,0,0,0); ResetPositionWanted = false; Deinterlace = false; this->FileInfo = FileInfo; Music.SetFPS(MixedMusic.WantedDuration,MixedMusic.Channels,MixedMusic.SamplingRate,MixedMusic.SampleFormat); ui->CustomRuler->ActiveSlider(0); ui->CustomRuler->setSingleStep(25); ui->MovieFrame->setText(""); ui->MovieFrame->setAttribute(Qt::WA_OpaquePaintEvent); connect(&Timer,SIGNAL(timeout()),this,SLOT(s_TimerEvent())); connect(ui->VideoPlayerPlayPauseBT,SIGNAL(clicked()),this,SLOT(s_VideoPlayerPlayPauseBT())); connect(ui->MovieFrame,SIGNAL(DoubleClick()),this,SLOT(s_DoubleClick())); connect(ui->MovieFrame,SIGNAL(RightClickEvent(QMouseEvent *)),this,SLOT(s_RightClickEvent(QMouseEvent *))); // Slider control connect(ui->CustomRuler,SIGNAL(sliderPressed()),this,SLOT(s_SliderPressed())); connect(ui->CustomRuler,SIGNAL(sliderReleased()),this,SLOT(s_SliderReleased())); connect(ui->CustomRuler,SIGNAL(valueChanged(int)),this,SLOT(s_SliderMoved(int))); connect(ui->CustomRuler,SIGNAL(PositionChangeByUser()),this,SLOT(s_PositionChangeByUser())); connect(ui->VideoPlayerSaveImageBT,SIGNAL(pressed()),this,SLOT(s_SaveImage())); } //============================================================================================ wgt_QVideoPlayer::~wgt_QVideoPlayer() { SetPlayerToPause(); // Ensure player is correctly stoped delete ui; } //============================================================================================ void wgt_QVideoPlayer::closeEvent(QCloseEvent *) { SetPlayerToPause(); } //==================================================================================================================== void wgt_QVideoPlayer::showEvent(QShowEvent *) { if ((!IsInit)&&(Diaporama==NULL)) { SetPlayerToPlay(); IsInit=true; } } //============================================================================================ void wgt_QVideoPlayer::s_SaveImage() { emit SaveImageEvent(); } //============================================================================================ void wgt_QVideoPlayer::s_DoubleClick() { emit DoubleClick(); } //============================================================================================ void wgt_QVideoPlayer::s_RightClickEvent(QMouseEvent *event) { emit RightClickEvent(event); } //============================================================================================ int wgt_QVideoPlayer::GetButtonBarHeight() { return ui->VideoPlayerPlayPauseBT->height(); } //============================================================================================ void wgt_QVideoPlayer::SetBackgroundColor(QColor Background) { QString Sheet=QString("background-color: rgb(%1,%2,%3);").arg(Background.red(),10).arg(Background.green(),10).arg(Background.blue(),10); } //============================================================================================ void wgt_QVideoPlayer::EnableWidget(bool State) { if (ui->CustomRuler!=NULL) ui->CustomRuler->setEnabled(State); } //============================================================================================ // Init a diaporama show //============================================================================================ bool wgt_QVideoPlayer::InitDiaporamaPlay(cDiaporama *Diaporama) { if (Diaporama==NULL) return false; ApplicationConfig =Diaporama->ApplicationConfig; this->Diaporama =Diaporama; WantedFPS =Diaporama->ApplicationConfig->PreviewFPS; ImageList.Diaporama =Diaporama; QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); ui->CustomRuler->ActiveSlider(Diaporama->GetDuration()); PlayerPlayMode = true; PlayerPauseMode = true; ui->VideoPlayerPlayPauseBT->setIcon(IconPause); QApplication::restoreOverrideCursor(); return true; } //============================================================================================ // Init a video show //============================================================================================ bool wgt_QVideoPlayer::StartPlay(cVideoFile *theFileInfo,double theWantedFPS) { if (theFileInfo==NULL) return false; FileInfo =theFileInfo; WantedFPS=theWantedFPS; IsValide=true; SDLFlushBuffers(); QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); SetActualDuration(QTime(0,0,0,0).msecsTo(FileInfo->Duration)); resizeEvent(NULL); PlayerPlayMode = true; PlayerPauseMode = true; ui->VideoPlayerPlayPauseBT->setIcon(IconPause); QApplication::restoreOverrideCursor(); return true; } //============================================================================================ // Pause -> play //============================================================================================ void wgt_QVideoPlayer::SetPlayerToPlay() { if (!(PlayerPlayMode && PlayerPauseMode)) return; PlayerPlayMode = true; PlayerPauseMode = false; ui->VideoPlayerPlayPauseBT->setIcon(IconPlay); SDLFlushBuffers(); // Start timer TimerTick =true; PreviousTimerEvent =QTime(); TimerDelta =0; Timer.start(int(double(1000)/WantedFPS)/2); // Start Timer } //============================================================================================ // Play -> pause //============================================================================================ void wgt_QVideoPlayer::SetPlayerToPause() { if (!(PlayerPlayMode && !PlayerPauseMode)) return; Timer.stop(); // Stop Timer if (ThreadPrepareVideo.isRunning()) ThreadPrepareVideo.waitForFinished(); if (ThreadPrepareImage.isRunning()) ThreadPrepareImage.waitForFinished(); if (ThreadAssembly.isRunning()) ThreadAssembly.waitForFinished(); PlayerMutex.lock(); if (SDL_GetAudioStatus()==SDL_AUDIO_PLAYING) SDL_PauseAudio(1); MixedMusic.ClearList(); // Free sound buffers Music.ClearList(); // Free sound buffers ImageList.ClearList(); // Free ImageList PlayerPlayMode = true; PlayerPauseMode = true; ui->VideoPlayerPlayPauseBT->setIcon(IconPause); ui->BufferState->setValue(0); SDLFlushBuffers(); PlayerMutex.unlock(); } //============================================================================================ // Click on the play/pause button //============================================================================================ void wgt_QVideoPlayer::s_VideoPlayerPlayPauseBT() { if ((!PlayerPlayMode)||((PlayerPlayMode && PlayerPauseMode))) SetPlayerToPlay(); // Stop/Pause -> play else if (PlayerPlayMode && !PlayerPauseMode) SetPlayerToPause(); // Pause -> play } //============================================================================================ // Click on the handle of the slider //============================================================================================ void wgt_QVideoPlayer::s_SliderPressed() { PreviousPause = PlayerPauseMode; // Save pause state IsSliderProcess = true; SetPlayerToPause(); } //============================================================================================ // En slider process //============================================================================================ void wgt_QVideoPlayer::s_SliderReleased() { IsSliderProcess = false; s_SliderMoved(ActualPosition); // Restore saved pause state if (!PreviousPause) SetPlayerToPlay(); } //============================================================================================ // Slider is moving by user // Slider is moving by timer // Slider is moving by seek function //============================================================================================ void wgt_QVideoPlayer::s_SliderMoved(int Value) { if (((MainWindow *)ApplicationConfig->TopLevelWindow)->InPlayerUpdate) return; ((MainWindow *)ApplicationConfig->TopLevelWindow)->InPlayerUpdate=true; if (ResetPositionWanted) SetPlayerToPause(); // Update display in controls ui->CustomRuler->setValue(Value); ActualPosition=Value; ui->Position->setText(GetCurrentPos().toString(DisplayMSec?"hh:mm:ss.zzz":"hh:mm:ss")); ui->Duration->setText(tDuration.toString(DisplayMSec?"hh:mm:ss.zzz":"hh:mm:ss")); //*********************************************************************** // If playing //*********************************************************************** if (PlayerPlayMode && !PlayerPauseMode) { if (((FileInfo)&&(ActualPosition>=QTime(0,0,0,0).msecsTo(tDuration)))||((Diaporama)&&(Value>=Diaporama->GetDuration()))) { SetPlayerToPause(); // Stop if it's the end } else if (ImageList.List.count()>1) { // Process // Retrieve frame information cDiaporamaObjectInfo *Frame=ImageList.DetachFirstImage(); // Display frame if (!Frame->RenderedImage.isNull()) ui->MovieFrame->SetImage(Frame->RenderedImage.scaledToHeight(ui->MovieFrame->height())); // If Diaporama mode and needed, set Diaporama to another object if (Diaporama) { if (Diaporama->CurrentCol!=Frame->CurrentObject_Number) { Diaporama->CurrentCol=Frame->CurrentObject_Number; ((MainWindow *)ApplicationConfig->TopLevelWindow)->SetTimelineCurrentCell(Frame->CurrentObject_Number); // Update slider mark if (Diaporama->List.count()>0) SetStartEndPos( Diaporama->GetObjectStartPosition(Diaporama->CurrentCol), // Current slide Diaporama->List[Diaporama->CurrentCol]->GetDuration(), (Diaporama->CurrentCol>0)?Diaporama->GetObjectStartPosition(Diaporama->CurrentCol-1):((Diaporama->CurrentCol==0)?0:-1), // Previous slide (Diaporama->CurrentCol>0)?Diaporama->List[Diaporama->CurrentCol-1]->GetDuration():((Diaporama->CurrentCol==0)?Diaporama->GetTransitionDuration(Diaporama->CurrentCol):0), Diaporama->CurrentCol<(Diaporama->List.count()-1)?Diaporama->GetObjectStartPosition(Diaporama->CurrentCol+1):-1, // Next slide Diaporama->CurrentCol<(Diaporama->List.count()-1)?Diaporama->List[Diaporama->CurrentCol+1]->GetDuration():0); else SetStartEndPos(0,0,-1,0,-1,0); } Diaporama->CurrentPosition=Value; } // Start sound (if not previously started) if ((PlayerPlayMode) && (!PlayerPauseMode) && (SDL_GetAudioStatus()!=SDL_AUDIO_PLAYING)) SDL_PauseAudio(0); // Free frame delete Frame; } //*********************************************************************** // If moving by user //*********************************************************************** } else { QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); if (FileInfo) { QImage *VideoImage=FileInfo->ImageAt(true,ActualPosition,NULL,Deinterlace,1,false,false); if (VideoImage) { // Display frame ui->MovieFrame->SetImage(VideoImage->scaledToHeight(ui->MovieFrame->height())); delete VideoImage; } } else if (Diaporama) { if (ThreadPrepareVideo.isRunning()) ThreadPrepareVideo.waitForFinished(); if (ThreadPrepareImage.isRunning()) ThreadPrepareImage.waitForFinished(); if (ThreadAssembly.isRunning()) ThreadAssembly.waitForFinished(); // Create a frame from actual position cDiaporamaObjectInfo *Frame=new cDiaporamaObjectInfo(NULL,ActualPosition,Diaporama,double(1000)/WantedFPS,false); qreal Ratio=qreal(ui->MovieFrame->width())/qreal(ui->MovieFrame->height()); int H=ui->MovieFrame->height(); int W=int(H*Ratio); if ((Frame->IsTransition)&&(Frame->TransitObject)) Diaporama->CreateObjectContextList(Frame,W,H,false,true,true,PreparedTransitBrushList,Diaporama); Diaporama->CreateObjectContextList(Frame,W,H,true,true,true,PreparedBrushList,Diaporama); PrepareImage(false,true,Frame,W,H); // This will add frame to the ImageList if (ThreadAssembly.isRunning()) ThreadAssembly.waitForFinished(); Frame=ImageList.DetachFirstImage(); // Then detach frame from the ImageList // Display frame ui->MovieFrame->SetImage(Frame->RenderedImage.scaledToHeight(ui->MovieFrame->height())); // If needed, set Diaporama to another object if ((Diaporama->CurrentCol!=Frame->CurrentObject_Number)&&((!Frame->IsTransition)||(Diaporama->CurrentCol!=Frame->TransitObject_Number))) { if (FLAGSTOPITEMSELECTION!=NULL) *FLAGSTOPITEMSELECTION=true; // Ensure mainwindow no modify player widget position Diaporama->CurrentCol=Frame->CurrentObject_Number; ((MainWindow *)ApplicationConfig->TopLevelWindow)->SetTimelineCurrentCell(Frame->CurrentObject_Number); if (FLAGSTOPITEMSELECTION!=NULL) *FLAGSTOPITEMSELECTION=false; // Update slider mark if (Diaporama->List.count()>0) SetStartEndPos( Diaporama->GetObjectStartPosition(Diaporama->CurrentCol), // Current slide Diaporama->List[Diaporama->CurrentCol]->GetDuration(), (Diaporama->CurrentCol>0)?Diaporama->GetObjectStartPosition(Diaporama->CurrentCol-1):((Diaporama->CurrentCol==0)?0:-1), // Previous slide (Diaporama->CurrentCol>0)?Diaporama->List[Diaporama->CurrentCol-1]->GetDuration():((Diaporama->CurrentCol==0)?Diaporama->GetTransitionDuration(Diaporama->CurrentCol):0), Diaporama->CurrentCol<(Diaporama->List.count()-1)?Diaporama->GetObjectStartPosition(Diaporama->CurrentCol+1):-1, // Next slide Diaporama->CurrentCol<(Diaporama->List.count()-1)?Diaporama->List[Diaporama->CurrentCol+1]->GetDuration():0); } Diaporama->CurrentPosition=Value; // Free frame delete Frame; } QApplication::restoreOverrideCursor(); } ((MainWindow *)ApplicationConfig->TopLevelWindow)->InPlayerUpdate=false; } //============================================================================================ // Timer event //============================================================================================ void wgt_QVideoPlayer::s_TimerEvent() { if (IsSliderProcess) return; // No re-entrance if (!(PlayerPlayMode && !PlayerPauseMode)) return; // Only if play mode TimerTick=!TimerTick; #ifdef Q_OS_WIN // Trylock is always true on Windows instead of unix/linux system if (TimerTick) { #else if (!PlayerMutex.tryLock()) { if (!TimerTick) return; else { #endif // specific case for windows because never a timer event can happens if a previous timer event was not ended // so next trylock is always true int Elapsed=0,Wanted=int(double(1000)/WantedFPS); if (!PreviousTimerEvent.isValid()) PreviousTimerEvent.start(); else Elapsed=PreviousTimerEvent.restart(); if (Elapsed>Wanted) { TimerDelta+=Elapsed-Wanted; if (TimerDelta>=Wanted) { ToLog(LOGMSG_DEBUGTRACE,"FPS preview is too high: One image lost"); if (ImageList.List.count()>0) { delete ImageList.DetachFirstImage(); // Remove first image if we loose one tick } else { // Increase next position to one frame if (FileInfo) ActualPosition+=Wanted; else Diaporama->CurrentPosition+=Wanted; } TimerDelta-=Wanted; } } } #ifdef Q_OS_WIN PlayerMutex.lock(); #else return;} #endif if (ThreadPrepareVideo.isRunning()) ThreadPrepareVideo.waitForFinished(); if (ThreadPrepareImage.isRunning()) ThreadPrepareImage.waitForFinished(); if (ThreadAssembly.isRunning()) ThreadAssembly.waitForFinished(); int64_t LastPosition=0,NextPosition=0; if (ResetPositionWanted) { Mutex.lock(); MixedMusic.ClearList(); // Free sound buffers Music.ClearList(); // Free sound buffers ImageList.ClearList(); // Free ImageList ResetPositionWanted=false; Mutex.unlock(); } if (ThreadAssembly.isRunning()) ThreadAssembly.waitForFinished(); // If no image in the list then create the first if (ImageList.List.count()==0) { if (FileInfo) LastPosition=ActualPosition; else LastPosition=Diaporama->CurrentPosition; NextPosition=LastPosition+int(double(1000)/WantedFPS); // If no image in the list then prepare a first frame if (FileInfo) { cDiaporamaObjectInfo *NewFrame=new cDiaporamaObjectInfo(NULL,NextPosition,NULL,double(1000)/WantedFPS,true); NewFrame->CurrentObject_StartTime =0; PrepareVideoFrame(NewFrame,NewFrame->CurrentObject_InObjectTime); } else { cDiaporamaObjectInfo *Frame=new cDiaporamaObjectInfo(NULL,NextPosition,Diaporama,double(1000)/WantedFPS,true); // Ensure MusicTracks are ready if ((Frame->CurrentObject)&&(Frame->CurrentObject_MusicTrack==NULL)) { Frame->CurrentObject_MusicTrack=new cSDLSoundBlockList(); Frame->CurrentObject_MusicTrack->SetFPS(double(1000)/double(WantedFPS),2,Diaporama->ApplicationConfig->PreviewSamplingRate,AV_SAMPLE_FMT_S16); } if ((Frame->TransitObject)&&(Frame->TransitObject_MusicTrack==NULL)&&(Frame->TransitObject_MusicObject!=NULL)&&(Frame->TransitObject_MusicObject!=Frame->CurrentObject_MusicObject)) { Frame->TransitObject_MusicTrack=new cSDLSoundBlockList(); Frame->TransitObject_MusicTrack->SetFPS(double(1000)/double(WantedFPS),2,Diaporama->ApplicationConfig->PreviewSamplingRate,AV_SAMPLE_FMT_S16); } // Ensure SoundTracks are ready if ((Frame->CurrentObject)&&(Frame->CurrentObject_SoundTrackMontage==NULL)) { Frame->CurrentObject_SoundTrackMontage=new cSDLSoundBlockList(); Frame->CurrentObject_SoundTrackMontage->SetFPS(double(1000)/double(WantedFPS),2,Diaporama->ApplicationConfig->PreviewSamplingRate,AV_SAMPLE_FMT_S16); } if ((Frame->TransitObject)&&(Frame->TransitObject_SoundTrackMontage==NULL)) { Frame->TransitObject_SoundTrackMontage=new cSDLSoundBlockList(); Frame->TransitObject_SoundTrackMontage->SetFPS(double(1000)/double(WantedFPS),2,Diaporama->ApplicationConfig->PreviewSamplingRate,AV_SAMPLE_FMT_S16); } // Ensure background, image and soundtrack is ready qreal Ratio=qreal(ui->MovieFrame->width())/qreal(ui->MovieFrame->height()); int H=ui->MovieFrame->height(); int W=int(H*Ratio); if ((Frame->IsTransition)&&(Frame->TransitObject)) Diaporama->CreateObjectContextList(Frame,W,H,false,true,true,PreparedTransitBrushList,Diaporama); Diaporama->CreateObjectContextList(Frame,W,H,true,true,true,PreparedBrushList,Diaporama); PrepareImage(true,true,Frame,W,H); if (ThreadAssembly.isRunning()) ThreadAssembly.waitForFinished(); } } cDiaporamaObjectInfo *PreviousFrame=ImageList.GetLastImage(); if (FileInfo) LastPosition=PreviousFrame->CurrentObject_InObjectTime; else if (Diaporama) LastPosition=PreviousFrame->CurrentObject_StartTime+PreviousFrame->CurrentObject_InObjectTime; NextPosition=LastPosition+int(double(1000)/WantedFPS); // Add image to the list if it's not full if ((FileInfo)&&(ImageList.List.count()CurrentObject_StartTime =0; ThreadPrepareVideo.setFuture(QtConcurrent::run(this,&wgt_QVideoPlayer::PrepareVideoFrame,NewFrame,NewFrame->CurrentObject_InObjectTime)); } else if (((Diaporama)&&(ImageList.List.count()CurrentObject)&&(Frame->CurrentObject_MusicTrack==NULL)) { Frame->CurrentObject_MusicTrack=new cSDLSoundBlockList(); Frame->CurrentObject_MusicTrack->SetFPS(double(1000)/double(WantedFPS),2,Diaporama->ApplicationConfig->PreviewSamplingRate,AV_SAMPLE_FMT_S16); } if ((Frame->TransitObject)&&(Frame->TransitObject_MusicTrack==NULL)&&(Frame->TransitObject_MusicObject!=NULL)&&(Frame->TransitObject_MusicObject!=Frame->CurrentObject_MusicObject)) { Frame->TransitObject_MusicTrack=new cSDLSoundBlockList(); Frame->TransitObject_MusicTrack->SetFPS(double(1000)/double(WantedFPS),2,Diaporama->ApplicationConfig->PreviewSamplingRate,AV_SAMPLE_FMT_S16); } // Ensure SoundTracks are ready if ((Frame->CurrentObject)&&(Frame->CurrentObject_SoundTrackMontage==NULL)) { Frame->CurrentObject_SoundTrackMontage=new cSDLSoundBlockList(); Frame->CurrentObject_SoundTrackMontage->SetFPS(double(1000)/double(WantedFPS),2,Diaporama->ApplicationConfig->PreviewSamplingRate,AV_SAMPLE_FMT_S16); } if ((Frame->TransitObject)&&(Frame->TransitObject_SoundTrackMontage==NULL)) { Frame->TransitObject_SoundTrackMontage=new cSDLSoundBlockList(); Frame->TransitObject_SoundTrackMontage->SetFPS(double(1000)/double(WantedFPS),2,Diaporama->ApplicationConfig->PreviewSamplingRate,AV_SAMPLE_FMT_S16); } // Ensure background, image and soundtrack is ready qreal Ratio=qreal(ui->MovieFrame->width())/qreal(ui->MovieFrame->height()); int H=ui->MovieFrame->height(); int W=int(H*Ratio); if ((Frame->IsTransition)&&(Frame->TransitObject)) Diaporama->CreateObjectContextList(Frame,W,H,false,true,true,PreparedTransitBrushList,Diaporama); Diaporama->CreateObjectContextList(Frame,W,H,true,true,true,PreparedBrushList,Diaporama); ThreadPrepareImage.setFuture(QtConcurrent::run(this,&wgt_QVideoPlayer::PrepareImage,true,true,Frame,W,H)); } PlayerMutex.unlock(); // if TimerTick update the preview if ((TimerTick)&&(ui->CustomRuler!=NULL)) s_SliderMoved(ImageList.GetFirstImage()->CurrentObject_StartTime+ImageList.GetFirstImage()->CurrentObject_InObjectTime); ui->BufferState->setValue(ImageList.List.count()); if (ImageList.List.count()<2) ui->BufferState->setStyleSheet("QProgressBar:horizontal {\nborder: 0px;\nborder-radius: 0px;\nbackground: black;\npadding-top: 1px;\npadding-bottom: 2px;\npadding-left: 1px;\npadding-right: 1px;\n}\nQProgressBar::chunk:horizontal {\nbackground: red;\n}"); else if (ImageList.List.count()<4) ui->BufferState->setStyleSheet("QProgressBar:horizontal {\nborder: 0px;\nborder-radius: 0px;\nbackground: black;\npadding-top: 1px;\npadding-bottom: 2px;\npadding-left: 1px;\npadding-right: 1px;\n}\nQProgressBar::chunk:horizontal {\nbackground: yellow;\n}"); else if (ImageList.List.count()<=BUFFERING_NBR_FRAME) ui->BufferState->setStyleSheet("QProgressBar:horizontal {\nborder: 0px;\nborder-radius: 0px;\nbackground: black;\npadding-top: 1px;\npadding-bottom: 2px;\npadding-left: 1px;\npadding-right: 1px;\n}\nQProgressBar::chunk:horizontal {\nbackground: green;\n}"); } //============================================================================================ // Function use directly or with thread to prepare an image number Column at given position //============================================================================================ void wgt_QVideoPlayer::PrepareImage(bool SoundWanted,bool AddStartPos,cDiaporamaObjectInfo *Frame,int W,int H) { Diaporama->LoadSources(Frame,W,H,true,AddStartPos,PreparedTransitBrushList,PreparedBrushList); // Do Assembly ThreadAssembly.setFuture(QtConcurrent::run(this,&wgt_QVideoPlayer::StartThreadAssembly,ComputePCT(Frame->CurrentObject?Frame->CurrentObject->GetSpeedWave():0,Frame->TransitionPCTDone),Frame,W,H,SoundWanted)); } void wgt_QVideoPlayer::StartThreadAssembly(double PCT,cDiaporamaObjectInfo *Frame,int W,int H,bool SoundWanted) { Diaporama->DoAssembly(PCT,Frame,W,H); Mutex.lock(); // Append mixed musique to the queue if ((SoundWanted)&&(Frame->CurrentObject)) for (int j=0;jCurrentObject_MusicTrack->NbrPacketForFPS;j++) { int16_t *Music=Frame->CurrentObject_MusicTrack->DetachFirstPacket(); int16_t *Sound=(Frame->CurrentObject_SoundTrackMontage!=NULL)?Frame->CurrentObject_SoundTrackMontage->DetachFirstPacket():NULL; MixedMusic.MixAppendPacket(Frame->CurrentObject_StartTime+Frame->CurrentObject_InObjectTime,Music,Sound); } // Append this image to the queue ImageList.AppendImage(Frame); Mutex.unlock(); } void wgt_QVideoPlayer::PrepareVideoFrame(cDiaporamaObjectInfo *NewFrame,int Position) { QImage *Temp=FileInfo->ImageAt(true,Position,&Music,Deinterlace,1,false,true); if (Temp) { NewFrame->RenderedImage=QImage(Temp->scaledToHeight(ui->MovieFrame->height())); delete Temp; for (int j=0;jRenderedImage.isNull()) ImageList.AppendImage(NewFrame); else delete NewFrame; } //============================================================================================ // Define zone selection on the ruller //============================================================================================ void wgt_QVideoPlayer::SetStartEndPos(int StartPos,int Duration,int PreviousStartPos,int PrevisousDuration,int NextStartPos,int NextDuration) { ui->CustomRuler->StartPos =StartPos; ui->CustomRuler->EndPos =StartPos+Duration; ui->CustomRuler->PreviousStartPos =PreviousStartPos; ui->CustomRuler->PrevisousEndPos =PreviousStartPos+PrevisousDuration; ui->CustomRuler->NextStartPos =NextStartPos; ui->CustomRuler->NextEndPos =NextStartPos+NextDuration; ui->CustomRuler->repaint(); } //============================================================================================ // Seek slider public function //============================================================================================ void wgt_QVideoPlayer::SeekPlayer(int Value) { QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); ActualPosition=-1; s_SliderMoved(Value); QApplication::restoreOverrideCursor(); } //============================================================================================ // return current position in QTime format //============================================================================================ QTime wgt_QVideoPlayer::GetCurrentPos() { if (ActualPosition!=-1) { int TimeMSec =ActualPosition-(ActualPosition/1000)*1000; int TimeSec =int(ActualPosition/1000); int TimeHour =TimeSec/(60*60); int TimeMinute =(TimeSec%(60*60))/60; QTime tPosition; tPosition.setHMS(TimeHour,TimeMinute,TimeSec%60,TimeMSec); return tPosition; } else return QTime(0,0,0,0); } //============================================================================================ // return current duration in QTime format //============================================================================================ QTime wgt_QVideoPlayer::GetActualDuration() { return tDuration; } //============================================================================================ // define duration (in msec) //============================================================================================ void wgt_QVideoPlayer::SetActualDuration(int Duration) { if (ui->CustomRuler!=NULL) { ui->CustomRuler->setMaximum(Duration-1); //ui->CustomRuler->repaint(); } ui->CustomRuler->TotalDuration=Duration; //ui->CustomRuler->repaint(); int TimeMSec =(Duration %1000); int TimeSec =int(Duration/1000); int TimeHour =TimeSec/(60*60); int TimeMinute =(TimeSec%(60*60))/60; tDuration.setHMS(TimeHour,TimeMinute,TimeSec%60,TimeMSec); ui->Position->setText(GetCurrentPos().toString(DisplayMSec?"hh:mm:ss.zzz":"hh:mm:ss")); ui->Duration->setText(tDuration.toString(DisplayMSec?"hh:mm:ss.zzz":"hh:mm:ss")); } //============================================================================================ void wgt_QVideoPlayer::s_PositionChangeByUser() { ResetPositionWanted=true; } ffDiaporama/src/ffDiaporama/wgt_QVideoPlayer/QCustomRuler.h0000777000175000001440000000414112275647316024227 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef QCustomRuler_H #define QCustomRuler_H // Basic inclusions (common to all files) #include "engine/_GlobalDefines.h" #include #include #include #include #include class QCustomRuler : public QSlider { Q_OBJECT public: int TotalDuration; // Total duration in MSec of the movie int StartPos; // Start position of the marked zone int EndPos; // End position of the marked zone int PreviousStartPos; // Start position of the previous slide int PrevisousEndPos; // End position of the previous slide int NextStartPos; // Start position of the next slide int NextEndPos; // End position of the next slide explicit QCustomRuler(QWidget *parent = 0); void ActiveSlider(int TotalDuration); protected: virtual void resizeEvent(QResizeEvent *); virtual void paintEvent (QPaintEvent *); virtual void mousePressEvent(QMouseEvent *); signals: void PositionChangeByUser(); public slots: }; #endif // QCustomRuler_H ffDiaporama/src/ffDiaporama/wgt_QVideoPlayer/QCustomRuler.cpp0000777000175000001440000002500312275647316024562 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "QCustomRuler.h" #include #include //====================================== // Specific defines for this dialog box //====================================== #define TAQUET_SIZE 9 // TAQUET_SIZE is QSlider::handle:horizontal (width+margin)/2 #define CompletTickH1 3 // Y start position of the complete tick line #define CompletTickH2 15 // Y end position of the complete tick line #define IntermediateTickH1 7 // Y start position of the intermediate tick line #define IntermediateTickH2 15 // Y end position of the intermediate tick line #define ThumbWidth 14 // Width of the thumb #define ThumbHeight 20 // Height of the thumb #define ThumbYPos 16 // Y midle position of the thumb //==================================================================================================================== QCustomRuler::QCustomRuler(QWidget *parent):QSlider(parent) { StartPos=0; EndPos =0; //setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Fixed); //setFixedHeight(32); } //==================================================================================================================== void QCustomRuler::ActiveSlider(int TotalDuration) { this->TotalDuration=TotalDuration; } //==================================================================================================================== void QCustomRuler::resizeEvent(QResizeEvent *) { // if (Slider!=NULL) Slider->setMinimumWidth(this->width()); } //==================================================================================================================== void QCustomRuler::mousePressEvent(QMouseEvent *ev) { if (ev->button()==Qt::LeftButton) { emit PositionChangeByUser(); int x1 =int(double(this->width()-TAQUET_SIZE*2)*(double(value())/double(maximum())))+TAQUET_SIZE; if ((ev->x()>=x1-ThumbWidth/2)&&(ev->x()<=x1+ThumbWidth/2)) QSlider::mousePressEvent(ev); // It's on the thumb else if ((ev->x()>=TAQUET_SIZE-ThumbWidth/2)&&(ev->x()<=this->width()-TAQUET_SIZE+ThumbWidth/2)) // Set new value setValue(int(double((ev->x()-TAQUET_SIZE)/double(this->width()-TAQUET_SIZE*2))*double(maximum()))); } } //==================================================================================================================== void QCustomRuler::paintEvent(QPaintEvent *) { QPainter Painter(this); QFont font= QApplication::font(); Painter.setFont(font); #ifdef Q_OS_WIN font.setPointSizeF(double(90)/ScaleFontAdjust); // Scale font #else font.setPointSizeF((double(110)/ScaleFontAdjust)*ScreenFontAdjust);// Scale font #endif Painter.setFont(font); // Prepare QPainter and calc positions double Width = double(this->width()); double Height = double(this->height()); int WidthTick = Painter.fontMetrics().width("00:00"); //******************************************************** // Draw slider background //******************************************************** Painter.fillRect(QRect(0,0,Width,Height),QColor(Qt::black)); Painter.setPen(QColor(0x20,0x20,0x20)); Painter.drawLine(0,0,Width,0); Painter.setPen(Qt::white); Painter.translate(0,(Height-32)/2); Height=32; if ((TotalDuration!=0)&&(StartPosWidthTick) { Ech ="S" ; // Use sec as echelle SizeTick=(Width-TAQUET_SIZE*2)/Duration; } else if ((Duration<600)&&((Width-TAQUET_SIZE*2)/(Duration/10))>WidthTick) { Ech="10S"; // Use 10 sec as echelle SizeTick=(Width-TAQUET_SIZE*2)/(Duration/10); } else if ((Duration<6000)&&(((Width-TAQUET_SIZE*2)/(Duration/60))>WidthTick)) { Ech="M"; // Use minute as echelle SizeTick=(Width-TAQUET_SIZE*2)/(Duration/60); } else if ((Duration<360000)&&(((Width-TAQUET_SIZE*2)/(Duration/600))>WidthTick)) { Ech="10M"; // Use 10 minute as echelle SizeTick=(Width-TAQUET_SIZE*2)/(Duration/600); } else { Ech="H"; // Use hour as echelle SizeTick=(Width-TAQUET_SIZE*2)/(Duration/3600); } short int TimeSec = 0; short int TimeMin = 0; short int TimeHour = 0; short int Cur = 0; QString Text; while ((TAQUET_SIZE*2+Cur*SizeTick+(WidthTick/2))59) { TimeSec-=60; TimeMin+=1; } if (TimeMin>59) { TimeMin-=60; TimeHour+=1; } // Go to next tick Cur=Cur+1; } //******************************************************** // Draw slider //******************************************************** Painter.setPen(QColor(0x20,0x20,0x20)); Painter.setBrush(QBrush(QColor(0xA0,0xA0,0xA0))); Painter.drawRect(TAQUET_SIZE-1,15,Width-TAQUET_SIZE*2+2,5); //******************************************************** // Draw thumb //******************************************************** int x1 =int(double(Width-TAQUET_SIZE*2)*(double(value())/double(maximum())))+TAQUET_SIZE; QPointF Table[10]; double vcos,vsin,Angle; int i; Angle=90; for (i=0;i<3;i++) { vcos=cos(Angle*3.14159265/180)*(ThumbWidth/2); vsin=sin(Angle*3.14159265/180)*(ThumbHeight/2); Table[i]=QPointF(x1+vcos,ThumbYPos-vsin); Angle=Angle+(double(360)/3); if (Angle>=360) Angle=-Angle+360; } Painter.setBrush(QBrush(QColor(0xCC,0xCC,0xCC))); Painter.drawPolygon(Table,3); Painter.setPen(QColor(0x70,0x70,0x70)); Painter.drawLine(x1,7,x1,16); } ffDiaporama/src/ffDiaporama/wgt_QMultimediaBrowser/0000777000175000001440000000000012275647231022655 5ustar dominiqueusersffDiaporama/src/ffDiaporama/wgt_QMultimediaBrowser/wgt_QMultimediaBrowser.ui0000777000175000001440000007653612275647231027700 0ustar dominiqueusers wgt_QMultimediaBrowser 0 0 822 403 Form 4 4 4 4 4 0 0 0 24 16777215 24 0 0 0 0 0 0 0 5 0 5 16777215 24 24 24 24 Refresh folder table QToolButton { border: 1px solid #8f8f91; border-radius: 2px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #f6f7fa, stop: 1 #dadbde); } QToolButton:pressed { background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #dadbde, stop: 1 #f6f7fa); } ... :/img/Refresh.png:/img/Refresh.png true 0 0 5 0 5 16777215 24 24 24 24 Use Detail view in browser QToolButton { border: 1px solid #8f8f91; border-radius: 2px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #f6f7fa, stop: 1 #dadbde); } QToolButton:pressed { background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #dadbde, stop: 1 #f6f7fa); } ... :/img/DISPLAY_WEB.png:/img/DISPLAY_WEB.png 24 24 24 24 Use Icon view in browser QToolButton { border: 1px solid #8f8f91; border-radius: 2px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #f6f7fa, stop: 1 #dadbde); } QToolButton:pressed { background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #dadbde, stop: 1 #f6f7fa); } ... :/img/DISPLAY_JUKEBOX.png:/img/DISPLAY_JUKEBOX.png 24 24 24 24 Use or manage favorite path QToolButton { border: 1px solid #8f8f91; border-radius: 2px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #f6f7fa, stop: 1 #dadbde); } QToolButton:pressed { background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #dadbde, stop: 1 #f6f7fa); } ... :/img/favorite_menu.png:/img/favorite_menu.png 24 24 24 24 Change to previous folder QToolButton { border: 1px solid #8f8f91; border-radius: 2px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #f6f7fa, stop: 1 #dadbde); } QToolButton:pressed { background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #dadbde, stop: 1 #f6f7fa); } ... :/img/arrow_left.png:/img/arrow_left.png 24 24 24 24 Change to upper folder QToolButton { border: 1px solid #8f8f91; border-radius: 2px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #f6f7fa, stop: 1 #dadbde); } QToolButton:pressed { background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #dadbde, stop: 1 #f6f7fa); } ... :/img/arrow_up.png:/img/arrow_up.png 24 24 24 24 Adjust display mode and file filtering QToolButton { border: 1px solid #8f8f91; border-radius: 2px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #f6f7fa, stop: 1 #dadbde); } QToolButton:pressed { background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #dadbde, stop: 1 #f6f7fa); } ... :/img/config_menu.png:/img/config_menu.png 0 0 16 16 16 16 Icon 0 0 5 0 5 16777215 0 0 QFrame::NoFrame Qt::Horizontal 8 0 0 Qt::ScrollBarAlwaysOn Qt::ScrollBarAlwaysOn QAbstractItemView::NoEditTriggers false QAbstractItemView::SelectItems Qt::ElideNone QAbstractItemView::ScrollPerPixel 15 true true false true false 1 0 0 2 0 0 0 0 QAbstractItemView::NoEditTriggers false true QAbstractItemView::NoDragDrop 16 16 false false 0 0 0 0 0 0 0 16777215 16 QLabel { font-size: 11px; } QFrame::Panel QFrame::Raised FileInfo1a 0 0 16777215 16 QLabel { font-size: 11px; } QFrame::Panel QFrame::Raised FileInfo2a 0 0 16777215 16 QLabel { font-size: 11px; } QFrame::Panel QFrame::Raised FileInfo3a 0 0 48 48 48 48 File Information 0 0 232 16 232 16 QProgressBar { font-size: 11px; } 24 Qt::AlignCenter %p% 0 0 16 16 16 16 :/img/MediaIcons/16x16/file.png 0 0 100 16 100 16 QLabel { font-size: 11px; } QFrame::Panel QFrame::Raised FolderSize 0 0 100 16 100 16 QLabel { font-size: 11px; } QFrame::Panel QFrame::Raised NbrFiles 0 0 16 16 16 16 :/img/MediaIcons/16x16/directory.png 0 0 100 16 100 16 QLabel { font-size: 11px; } QFrame::Panel QFrame::Raised NbrFolders 0 0 100 16 100 16 QLabel { font-size: 11px; } QFrame::Panel QFrame::Raised FolderDuration 0 0 16 16 16 16 :/img/MediaIcons/16x16/hdd.png 0 0 16 16 16 16 :/img/MediaIcons/16x16/delayed.png QCustomFolderTree QTreeWidget
wgt_QMultimediaBrowser/QCustomFolderTree.h
QCustomHorizSplitter QSplitter
../ffDiaporama_lib/QCustomHorizSplitter.h
1
QCustomFolderTable QTableWidget
wgt_QMultimediaBrowser/QCustomFolderTable.h
ffDiaporama/src/ffDiaporama/wgt_QMultimediaBrowser/wgt_QMultimediaBrowser.h0000777000175000001440000000767512275647231027510 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef WGT_QMULTIMEDIABROWSER_H #define WGT_QMULTIMEDIABROWSER_H // Basic inclusions (common to all files) #include "engine/_GlobalDefines.h" #include "engine/cApplicationConfig.h" #include "engine/cDriveList.h" #include "QCustomFolderTable.h" #include "QCustomFolderTree.h" #include "DlgWorkingTask/DlgWorkingTask.h" namespace Ui { class wgt_QMultimediaBrowser; } class wgt_QMultimediaBrowser : public QWidget { Q_OBJECT public: cApplicationConfig *ApplicationConfig; DlgWorkingTask *DlgWorkingTaskDialog; bool CancelAction; int CurrentDriveCheck; explicit wgt_QMultimediaBrowser(QWidget *parent = 0); ~wgt_QMultimediaBrowser(); void DoInitWidget(BROWSER_TYPE_ID BrowserType,bool AllowMultipleSelection,bool AllowDragDrop,bool AllowAddToProject,cApplicationConfig *ApplicationConfig); void DoInitDialog(); void RefreshControls(bool EmitToParent=true); int GetSortOrder(); QStringList GetCurrentSelectedFiles(); void GetCurrentSelectedMediaFile(QList *SelMediaList); cBaseMediaFile *GetCurrentMediaFile(); QSplitter *GetSplitter(); void EnsureThreadIsStopped(); public slots: void OpenFolder(); void RefreshAll(); void RefreshHere(); private slots: void SetToPrevious(); void SetToUpper(); void ChangeToIconView(); void ChangeToDetailView(); void SettingsMenu(); void FavoriteMenu(); void AddToFavorite(); void ManageFavorite(); void FolderTreeItemChanged(QTreeWidgetItem *current,QTreeWidgetItem *); void RefreshDriveList(); void RefreshDrive(); void DoubleClicked() { OpenFolder(); } void DoBrowserRefreshFolderInfo(); void DoBrowserRefreshSelectedFileInfo(); void RemoveFolder(); void RemoveFile(); void RenameFolder(); void RenameFile(); void OpenFile() { emit DoOpenFile(); } void AddFiles() { emit DoAddFiles(); } void s_Action_DoRemoveFile(); bool InRemoveFolder(QString FolderPath); signals: void DoRefreshControls(); void DoOpenFile(); void DoAddFiles(); private: Ui::wgt_QMultimediaBrowser *ui; QStringList FileList; }; #endif // WGT_QMULTIMEDIABROWSER_H ffDiaporama/src/ffDiaporama/wgt_QMultimediaBrowser/wgt_QMultimediaBrowser.cpp0000777000175000001440000011300512275647230030023 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "wgt_QMultimediaBrowser.h" #include "ui_wgt_QMultimediaBrowser.h" #include "DlgInfoFile/DlgInfoFile.h" #include "DlgManageFavorite/DlgManageFavorite.h" //==================================================================================================================== wgt_QMultimediaBrowser::wgt_QMultimediaBrowser(QWidget *parent):QWidget(parent),ui(new Ui::wgt_QMultimediaBrowser) { ui->setupUi(this); // No other initialisation here : all must be done by a call to DoInitWidget } //==================================================================================================================== wgt_QMultimediaBrowser::~wgt_QMultimediaBrowser() { EnsureThreadIsStopped(); delete ui; } //==================================================================================================================== // Initialisation part done during constructor void wgt_QMultimediaBrowser::DoInitWidget(BROWSER_TYPE_ID BrowserType,bool AllowMultipleSelection,bool AllowDragDrop,bool AllowAddToProject,cApplicationConfig *ApplicationConfig) { this->ApplicationConfig=ApplicationConfig; DlgWorkingTaskDialog =NULL; CancelAction =false; CurrentDriveCheck =0; ui->RefreshBt->setIcon(QApplication::style()->standardIcon(QStyle::SP_BrowserReload)); ui->UpFolderBt->setIcon(QApplication::style()->standardIcon(QStyle::SP_FileDialogToParent)); ui->PreviousFolderBt->setIcon(QApplication::style()->standardIcon(QStyle::SP_ArrowBack)); ui->FolderTree->ApplicationConfig =ApplicationConfig; ui->FolderTree->FolderTable =ui->FolderTable; ui->FolderTree->IsRemoveAllowed =(BrowserType==BROWSER_TYPE_MainWindow); ui->FolderTree->IsRenameAllowed =(BrowserType==BROWSER_TYPE_MainWindow); ui->FolderTree->IsCreateFolderAllowed =(BrowserType==BROWSER_TYPE_MainWindow); ui->FolderTree->InitDrives(); ui->FolderTable->InitSettings(ApplicationConfig,BrowserType); ui->FolderTable->IsAddToProjectAllowed =AllowAddToProject; ui->FolderTable->IsRemoveAllowed =(BrowserType==BROWSER_TYPE_MainWindow); ui->FolderTable->IsRenameAllowed =(BrowserType==BROWSER_TYPE_MainWindow); ui->FolderTable->setDragDropMode(AllowDragDrop?QAbstractItemView::DragOnly:QAbstractItemView::NoDragDrop); ui->FolderTable->setSelectionMode(AllowMultipleSelection?QAbstractItemView::ExtendedSelection:QAbstractItemView::SingleSelection); } //==================================================================================================================== // Initialisation part done during init dialog of parent void wgt_QMultimediaBrowser::DoInitDialog() { // Button bar events connect(ui->PreviousFolderBt,SIGNAL(released()),this,SLOT(SetToPrevious())); connect(ui->UpFolderBt,SIGNAL(released()),this,SLOT(SetToUpper())); connect(ui->IconViewBT,SIGNAL(pressed()),this,SLOT(ChangeToIconView())); connect(ui->DetailViewBT,SIGNAL(pressed()),this,SLOT(ChangeToDetailView())); connect(ui->ActionModeBt,SIGNAL(pressed()),this,SLOT(SettingsMenu())); connect(ui->RefreshBt,SIGNAL(released()),this,SLOT(RefreshAll())); connect(ui->FavoriteBt,SIGNAL(pressed()),this,SLOT(FavoriteMenu())); // tree events connect(ui->FolderTree,SIGNAL(currentItemChanged(QTreeWidgetItem *,QTreeWidgetItem *)),this,SLOT(FolderTreeItemChanged(QTreeWidgetItem *,QTreeWidgetItem *))); connect(ui->FolderTree,SIGNAL(ActionRefreshAll()),this,SLOT(RefreshAll())); connect(ui->FolderTree,SIGNAL(ActionRefreshHere()),this,SLOT(RefreshHere())); connect(ui->FolderTree,SIGNAL(ActionRemoveFolder()),this,SLOT(RemoveFolder())); connect(ui->FolderTree,SIGNAL(ActionRenameFolder()),this,SLOT(RenameFolder())); // table events connect(ui->FolderTable,SIGNAL(itemSelectionChanged()),this,SLOT(DoBrowserRefreshSelectedFileInfo())); connect(ui->FolderTable,SIGNAL(RefreshFolderInfo()),this,SLOT(DoBrowserRefreshFolderInfo())); connect(ui->FolderTable,SIGNAL(DoubleClickEvent()),this,SLOT(DoubleClicked())); connect(ui->FolderTable,SIGNAL(Refresh()),this,SLOT(RefreshAll())); connect(ui->FolderTable,SIGNAL(RemoveFiles()),this,SLOT(RemoveFile())); connect(ui->FolderTable,SIGNAL(InsertFiles()),this,SLOT(AddFiles())); connect(ui->FolderTable,SIGNAL(OpenFile()),this,SLOT(OpenFile())); connect(ui->FolderTable,SIGNAL(RenameFiles()),this,SLOT(RenameFile())); // Set initial path ui->FolderTree->SetSelectItemByPath(ui->FolderTree->RealPathToTreePath(ui->FolderTable->CurrentPath)); RefreshControls(); } //==================================================================================================================== int wgt_QMultimediaBrowser::GetSortOrder() { return ui->FolderTable->SortFile; } QStringList wgt_QMultimediaBrowser::GetCurrentSelectedFiles() { return ui->FolderTable->GetCurrentSelectedFiles(); } void wgt_QMultimediaBrowser::GetCurrentSelectedMediaFile(QList *SelMediaList) { ui->FolderTable->GetCurrentSelectedMediaFile(SelMediaList); } cBaseMediaFile *wgt_QMultimediaBrowser::GetCurrentMediaFile() { return ui->FolderTable->GetCurrentMediaFile(); } QSplitter *wgt_QMultimediaBrowser::GetSplitter() { return ui->BrowserWidget; } void wgt_QMultimediaBrowser::EnsureThreadIsStopped() { ui->FolderTable->EnsureThreadIsStopped(); } //==================================================================================================================== void wgt_QMultimediaBrowser::RefreshControls(bool EmitToParent) { if (ui->FolderTable->CurrentMode==DISPLAY_ICON100) { ui->IconViewBT->setDown(true); ui->IconViewBT->setEnabled(false); ui->DetailViewBT->setDown(false); ui->DetailViewBT->setEnabled(true); } else if (ui->FolderTable->CurrentMode==DISPLAY_DATA) { ui->IconViewBT->setDown(false); ui->IconViewBT->setEnabled(true); ui->DetailViewBT->setDown(true); ui->DetailViewBT->setEnabled(false); } ui->PreviousFolderBt->setEnabled(ui->FolderTable->CanBrowseToPreviousPath()); ui->UpFolderBt->setEnabled(ui->FolderTable->CanBrowseToUpperPath()); if (EmitToParent) emit DoRefreshControls(); } //==================================================================================================================== void wgt_QMultimediaBrowser::FolderTreeItemChanged(QTreeWidgetItem *current,QTreeWidgetItem *) { ui->FolderTable->CurrentPath=ui->FolderTree->GetFolderPath(current,false); ui->FolderTree->RefreshItemByPath(ui->FolderTree->GetFolderPath(current,true),false); ui->CurrentPathED->setText(ui->FolderTable->CurrentPath); ui->FolderIcon->setPixmap(ApplicationConfig->DriveList->GetFolderIcon(ui->FolderTable->CurrentPath).pixmap(16,16)); QString Path=ui->FolderTable->CurrentPath; #ifdef Q_OS_WIN Path.replace("%HOMEDRIVE%%HOMEPATH%",ApplicationConfig->DriveList->List[0].Path,Qt::CaseInsensitive); Path.replace("%USERPROFILE%",ApplicationConfig->DriveList->List[0].Path,Qt::CaseInsensitive); Path=QDir::toNativeSeparators(Path); if (QDir(Path).canonicalPath()!="") Path=QDir(Path).canonicalPath(); // Resolved eventual .lnk files #endif ui->FolderTable->FillListFolder(Path); DoBrowserRefreshFolderInfo(); } //==================================================================================================================== void wgt_QMultimediaBrowser::DoBrowserRefreshFolderInfo() { ApplicationConfig->DriveList->UpdateDriveList(); // To update free space on drive cDriveDesc *HDD=ui->FolderTree->SearchRealDrive(ui->FolderTable->CurrentPath); if (HDD) { // If scan in progress if (ui->FolderTable->ScanMediaListProgress) { ui->FolderPgr->setMaximum(0); ui->FolderPgr->setValue(0); ui->FolderPgr->setFormat("%P%"); ui->FolderPgr->setAlignment(Qt::AlignHCenter); ui->FolderDuration->setText("--:--:--.---"); // If scan is finished } else { // Ensure Used and Size fit in an _int32 value for QProgressBar int64_t Used=HDD->Used,Size=HDD->Size; while (Used>1024*1024) { Used=Used/1024; Size=Size/1024; } ui->FolderPgr->setMaximum(Size); ui->FolderPgr->setValue(Used); ui->FolderPgr->setFormat(GetTextSize(HDD->Used)+"/"+GetTextSize(HDD->Size)); ui->FolderPgr->setAlignment(Qt::AlignHCenter); int64_t duration=ui->FolderTable->CurrentShowDuration; int msec =duration % 1000; duration=duration/1000; int sec =duration % 60; duration=duration/60; int mn =duration % 60; duration=duration/60; int hours=duration % 24; int days =duration / 24; if (days>0) ui->FolderDuration->setText(QString("%1.%2:%3:%4.%5").arg(ito2a(days)).arg(ito2a(hours)).arg(ito2a(mn)).arg(ito2a(sec)).arg(ito3a(msec))); else ui->FolderDuration->setText(QString("%1:%2:%3.%4").arg(ito2a(hours)).arg(ito2a(mn)).arg(ito2a(sec)).arg(ito3a(msec))); } ui->NbrFiles->setText(QString("%1").arg(ui->FolderTable->CurrentShowFilesNumber)); ui->NbrFolders->setText(QString("%1").arg(ui->FolderTable->CurrentShowFolderNumber)); ui->FolderSize->setText(QString("%1").arg(GetTextSize(ui->FolderTable->CurrentShowFolderSize))); } else { ui->FolderPgr->setMaximum(0); ui->FolderPgr->setValue(0); ui->FolderPgr->setFormat("%P%"); ui->FolderPgr->setAlignment(Qt::AlignHCenter); ui->NbrFiles->setText(""); ui->NbrFolders->setText(""); ui->FolderSize->setText(""); ui->FolderDuration->setText(""); } DoBrowserRefreshSelectedFileInfo(); } //==================================================================================================================== void wgt_QMultimediaBrowser::DoBrowserRefreshSelectedFileInfo() { if (ui->FolderTable->InSelChange) return; QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); QList MediaList; ui->FolderTable->GetCurrentSelectedMediaFile(&MediaList); if (MediaList.count()==0) { // No selection ui->FileIcon->setPixmap(QPixmap()); ui->FileInfo1a->setText(""); ui->FileInfo2a->setText(""); ui->FileInfo3a->setText(""); } else if (MediaList.count()==1) { // One file selection cBaseMediaFile *MediaObject=MediaList[0]; QStringList TempExtProperties; ApplicationConfig->FilesTable->GetExtendedProperties(MediaObject->FileKey,&TempExtProperties); ui->FileIcon->setPixmap(QPixmap().fromImage(MediaObject->GetIcon(cCustomIcon::ICON100,true).scaledToHeight(48,Qt::SmoothTransformation))); QString FStr=MediaObject->GetFileSizeStr(); if (FStr!="") ui->FileInfo1a->setText(QString("%1 (%2)").arg(MediaObject->ShortName()).arg(FStr)); else ui->FileInfo1a->setText(MediaObject->ShortName()); if (QTime(0,0,0,0).msecsTo(MediaObject->Duration)>0) ui->FileInfo2a->setText(QString("%1-%2").arg(MediaObject->GetTechInfo(&TempExtProperties)).arg(MediaObject->Duration.toString("HH:mm:ss.zzz"))); else ui->FileInfo2a->setText(MediaObject->GetTechInfo(&TempExtProperties)); ui->FileInfo3a->setText(MediaObject->GetTAGInfo(&TempExtProperties)); } else if (MediaList.count()>1) { // Multi file select // Do qualification of files bool IsFind; QStringList FileExtensions; QList ObjectTypes; int64_t TotalDuration=0; int64_t TotalSize =0; for (int i=0;iFileName()).completeSuffix(); IsFind=false; for (int j=0;jObjectType==ObjectTypes[j]) IsFind=true; if (!IsFind) ObjectTypes.append(MediaList[i]->ObjectType); IsFind=false; for (int j=0;jObjectType==OBJECTTYPE_MUSICFILE)||(MediaList[i]->ObjectType==OBJECTTYPE_VIDEOFILE)||(MediaList[i]->ObjectType==OBJECTTYPE_FFDFILE)) TotalDuration=TotalDuration+QTime(0,0,0,0).msecsTo(MediaList[i]->Duration); TotalSize=TotalSize+MediaList[i]->FileSize; } if (TotalDuration!=0) { int msec =TotalDuration % 1000; TotalDuration=TotalDuration/1000; int sec =TotalDuration % 60; TotalDuration=TotalDuration/60; int mn =TotalDuration % 60; TotalDuration=TotalDuration/60; int hours=TotalDuration % 24; int days =TotalDuration / 24; if (days>0) ui->FileInfo2a->setText(QApplication::translate("MainWindow","Total duration:")+QString("%1.%2:%3:%4.%5").arg(ito2a(days)).arg(ito2a(hours)).arg(ito2a(mn)).arg(ito2a(sec)).arg(ito3a(msec))); else ui->FileInfo2a->setText(QApplication::translate("MainWindow","Total duration:")+QString("%1:%2:%3.%4").arg(ito2a(hours)).arg(ito2a(mn)).arg(ito2a(sec)).arg(ito3a(msec))); } else ui->FileInfo2a->setText(""); if (TotalSize!=0) ui->FileInfo3a->setText(QApplication::translate("MainWindow","Total size:%1").arg(GetTextSize(TotalSize))); else ui->FileInfo3a->setText(""); if (ObjectTypes.count()==1) { switch (ObjectTypes[0]) { case OBJECTTYPE_MUSICFILE : ui->FileIcon->setPixmap(QPixmap().fromImage(ApplicationConfig->DefaultMUSICIcon.Icon100.scaledToHeight(48,Qt::SmoothTransformation))); ui->FileInfo1a->setText(QApplication::translate("MainWindow","%1 audio files").arg(MediaList.count())); break; case OBJECTTYPE_VIDEOFILE : ui->FileIcon->setPixmap(QPixmap().fromImage(ApplicationConfig->DefaultVIDEOIcon.Icon100.scaledToHeight(48,Qt::SmoothTransformation))); ui->FileInfo1a->setText(QApplication::translate("MainWindow","%1 video files").arg(MediaList.count())); break; case OBJECTTYPE_IMAGEFILE : ui->FileIcon->setPixmap(QPixmap().fromImage(ApplicationConfig->DefaultIMAGEIcon.Icon100.scaledToHeight(48,Qt::SmoothTransformation))); ui->FileInfo1a->setText(QApplication::translate("MainWindow","%1 image files").arg(MediaList.count())); break; case OBJECTTYPE_IMAGEVECTOR : ui->FileIcon->setPixmap(QPixmap().fromImage(ApplicationConfig->DefaultIMAGEIcon.Icon100.scaledToHeight(48,Qt::SmoothTransformation))); ui->FileInfo1a->setText(QApplication::translate("MainWindow","%1 image vector files").arg(MediaList.count())); break; case OBJECTTYPE_FFDFILE : ui->FileIcon->setPixmap(QPixmap().fromImage(ApplicationConfig->DefaultFFDIcon.Icon100.scaledToHeight(48,Qt::SmoothTransformation))); ui->FileInfo1a->setText(QApplication::translate("MainWindow","%1 ffDiaporama project files").arg(MediaList.count())); break; case OBJECTTYPE_FOLDER : ui->FileIcon->setPixmap(QPixmap().fromImage(ApplicationConfig->DefaultFOLDERIcon.Icon100.scaledToHeight(48,Qt::SmoothTransformation))); ui->FileInfo1a->setText(QApplication::translate("MainWindow","%1 folders").arg(MediaList.count())); break; default: ui->FileIcon->setPixmap(QPixmap()); ui->FileInfo1a->setText(QApplication::translate("MainWindow","%1 files").arg(MediaList.count())); ui->FileInfo2a->setText(QApplication::translate("MainWindow","Multiple file types")); break; } } else { ui->FileIcon->setPixmap(QPixmap()); ui->FileInfo1a->setText(QApplication::translate("MainWindow","%1 files").arg(MediaList.count())); ui->FileInfo2a->setText(QApplication::translate("MainWindow","Multiple file types")); } } while (!MediaList.isEmpty()) delete MediaList.takeLast(); RefreshControls(); QApplication::restoreOverrideCursor(); } //==================================================================================================================== void wgt_QMultimediaBrowser::SetToPrevious() { QString Path=ui->FolderTable->BrowseToPreviousPath(); if (Path!="") ui->FolderTree->SetSelectItemByPath(Path); } //==================================================================================================================== void wgt_QMultimediaBrowser::SetToUpper() { QString Path=ui->FolderTable->BrowseToUpperPath(); if (Path!="") ui->FolderTree->SetSelectItemByPath(Path); } //==================================================================================================================== void wgt_QMultimediaBrowser::RefreshAll() { CurrentDriveCheck=0; CancelAction =false; if (DlgWorkingTaskDialog) { DlgWorkingTaskDialog->close(); delete DlgWorkingTaskDialog; DlgWorkingTaskDialog=NULL; } DlgWorkingTaskDialog=new DlgWorkingTask(QApplication::translate("MainWindow","Refresh All"),&CancelAction,ApplicationConfig,this); DlgWorkingTaskDialog->InitDialog(); DlgWorkingTaskDialog->SetMaxValue(ApplicationConfig->DriveList->List.count()+2,0); DlgWorkingTaskDialog->DisplayText(QApplication::translate("MainWindow","update drive list")); QTimer::singleShot(LATENCY,this,SLOT(RefreshDriveList())); DlgWorkingTaskDialog->exec(); } //==================================================================================================================== void wgt_QMultimediaBrowser::RefreshDriveList() { // Refresh drive list ui->FolderTree->RefreshDriveList(); DlgWorkingTaskDialog->SetMaxValue(ApplicationConfig->DriveList->List.count()+2,0); DlgWorkingTaskDialog->DisplayText(QApplication::translate("MainWindow","update drive (%1)").arg(ApplicationConfig->DriveList->List[CurrentDriveCheck].Label)); DlgWorkingTaskDialog->DisplayProgress(1+ApplicationConfig->DriveList->List.count()-CurrentDriveCheck); QTimer::singleShot(LATENCY,this,SLOT(RefreshDrive())); } //==================================================================================================================== void wgt_QMultimediaBrowser::RefreshDrive() { if (CurrentDriveCheckDriveList->List.count()) ui->FolderTree->RefreshItemByPath(ApplicationConfig->DriveList->List[CurrentDriveCheck].Label,true); CurrentDriveCheck++; if ((!CancelAction)&&(CurrentDriveCheckDriveList->List.count())) { DlgWorkingTaskDialog->DisplayText(QApplication::translate("MainWindow","update drive (%1)").arg(ApplicationConfig->DriveList->List[CurrentDriveCheck].Label)); DlgWorkingTaskDialog->DisplayProgress(1+ApplicationConfig->DriveList->List.count()-CurrentDriveCheck); QTimer::singleShot(LATENCY,this,SLOT(RefreshDrive())); } else { DlgWorkingTaskDialog->DisplayText(QApplication::translate("MainWindow","update current folder")); DlgWorkingTaskDialog->DisplayProgress(DlgWorkingTaskDialog->MaxValue); QTimer::singleShot(LATENCY,this,SLOT(RefreshHere())); } } //==================================================================================================================== void wgt_QMultimediaBrowser::RefreshHere() { // Force a new scan of folder qlonglong FolderKey=ApplicationConfig->FoldersTable->GetFolderKey(ui->FolderTable->CurrentPath); ApplicationConfig->FilesTable->UpdateTableForFolder(FolderKey,true); // Refresh display FolderTreeItemChanged(ui->FolderTree->currentItem(),NULL); if (DlgWorkingTaskDialog) { DlgWorkingTaskDialog->close(); delete DlgWorkingTaskDialog; DlgWorkingTaskDialog=NULL; } } //==================================================================================================================== void wgt_QMultimediaBrowser::OpenFolder() { cBaseMediaFile *Media=ui->FolderTable->GetCurrentMediaFile(); if (Media) { if (Media->ObjectType==OBJECTTYPE_FOLDER) { QString Path=ui->FolderTree->GetCurrentFolderPath(); if (!Path.endsWith(QDir::separator())) Path=Path+QDir::separator(); Path=Path+Media->ShortName(); ui->FolderTree->SetSelectItemByPath(Path); } else if (ui->FolderTable->BrowserType==BROWSER_TYPE_MainWindow) emit DoOpenFile(); else emit DoAddFiles(); delete Media; } } //==================================================================================================================== #define FAVACTIONTYPE_ACTIONTYPE 0xF000 #define FAVACTIONTYPE_ADD 0x1000 #define FAVACTIONTYPE_MANAGE 0x2000 #define FAVACTIONTYPE_SELECT 0x4000 void wgt_QMultimediaBrowser::FavoriteMenu() { QMenu *ContextMenu=new QMenu(this); QStringList BrowserFavorites=ApplicationConfig->LoadBrowserFavoritesFromDabase(); ContextMenu->addAction(CreateMenuAction(QIcon(":/img/favorite_add.png"),QApplication::translate("MainWindow","Add to favorite"),FAVACTIONTYPE_ADD,false,false,this)); if (BrowserFavorites.count()>0) { ContextMenu->addSeparator(); for (int i=0;iaddAction(CreateMenuAction(QIcon(":/img/favorite.png"),QString("%1 [%2]").arg(Texts[0]).arg(Texts[1]),FAVACTIONTYPE_SELECT,true,Texts[1]==ui->FolderTable->CurrentPath,this)); } } ContextMenu->addSeparator(); ContextMenu->addAction(CreateMenuAction(QIcon(":/img/favorite_manage.png"),QApplication::translate("MainWindow","Manage favorites"),FAVACTIONTYPE_MANAGE,false,false,this)); QAction *Action=ContextMenu->exec(QCursor::pos()); if (Action) { int ActionType=Action->data().toInt() & FAVACTIONTYPE_ACTIONTYPE; if (ActionType==FAVACTIONTYPE_ADD) AddToFavorite(); else if (ActionType==FAVACTIONTYPE_MANAGE) ManageFavorite(); else if (Action->text()!="") { QStringList Texts=Action->text().split(" ["); ui->FolderTree->SetSelectItemByPath(Texts[1].left(Texts[1].length()-1)); } } ui->FavoriteBt->setDown(false); } //==================================================================================================================== void wgt_QMultimediaBrowser::AddToFavorite() { bool Ok,Continue=true; QString Text=ui->FolderTable->CurrentPath; QStringList BrowserFavorites=ApplicationConfig->LoadBrowserFavoritesFromDabase(); while (Text.indexOf(QDir::separator())!=-1) Text=Text.mid(Text.indexOf(QDir::separator())+1); while (Continue) { Continue=false; Text=CustomInputDialog(this,QApplication::translate("MainWindow","Add to favorite"),QApplication::translate("MainWindow","Favorite name:"),QLineEdit::Normal,Text,&Ok); if (Ok && !Text.isEmpty()) { int i=0; while ((iFolderTable->CurrentPath; else Continue=true; } else { int i=0; while ((iFolderTable->CurrentPath))) i++; if ((iFolderTable->CurrentPath))) { if (CustomMessageBox(this,QMessageBox::Question,QApplication::translate("MainWindow","Add to favorite"), QApplication::translate("MainWindow","A favorite with for this path already exists.\nDo you want to overwrite it?"), QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::Yes) BrowserFavorites[i]=Text+"###"+ui->FolderTable->CurrentPath; else Continue=true; } else { BrowserFavorites.append(Text+"###"+ui->FolderTable->CurrentPath); } } } } BrowserFavorites.sort(); ApplicationConfig->SaveBrowserFavoritesToDabase(BrowserFavorites); } //==================================================================================================================== void wgt_QMultimediaBrowser::ManageFavorite() { QStringList BrowserFavorites=ApplicationConfig->LoadBrowserFavoritesFromDabase(); DlgManageFavorite Dlg(&BrowserFavorites,ApplicationConfig,this); Dlg.InitDialog(); if (Dlg.exec()==0) ApplicationConfig->SaveBrowserFavoritesToDabase(BrowserFavorites); } //==================================================================================================================== void wgt_QMultimediaBrowser::ChangeToIconView() { ui->FolderTable->CurrentMode=DISPLAY_ICON100; ui->FolderTable->SetMode(); FolderTreeItemChanged(ui->FolderTree->currentItem(),NULL); } //==================================================================================================================== void wgt_QMultimediaBrowser::ChangeToDetailView() { ui->FolderTable->CurrentMode=DISPLAY_DATA; ui->FolderTable->SetMode(); FolderTreeItemChanged(ui->FolderTree->currentItem(),NULL); } //==================================================================================================================== void wgt_QMultimediaBrowser::SettingsMenu() { // Create menu QMenu *ContextMenu=ui->FolderTable->PrepSettingsMenuMenu(this); // Exec menu QAction *Action=ContextMenu->exec(QCursor::pos()); if (Action) { int ActionType=Action->data().toInt() & ACTIONTYPE_ACTIONTYPE; int SubAction =Action->data().toInt() & (~ACTIONTYPE_ACTIONTYPE); if (ActionType==ACTIONTYPE_FILTERMODE) { if (ui->FolderTable->CurrentFilter!=SubAction) { ui->FolderTable->CurrentFilter=SubAction; ui->FolderTable->SetMode(); FolderTreeItemChanged(ui->FolderTree->currentItem(),NULL); } } else if (ActionType==ACTIONTYPE_ONOFFOPTIONS) { if ((SubAction==ONOFFOPTIONS_SHOWHIDDEN)||(SubAction==ONOFFOPTIONS_HIDEHIDDEN)) { ui->FolderTable->ShowHiddenFilesAndDir=(SubAction==ONOFFOPTIONS_SHOWHIDDEN); RefreshAll(); } else if ((SubAction==ONOFFOPTIONS_SHOWFILENAME)||(SubAction==ONOFFOPTIONS_HIDEFILENAME)) { ui->FolderTable->DisplayFileName=(SubAction==ONOFFOPTIONS_SHOWFILENAME); RefreshAll(); } else if (SubAction==ONOFFOPTIONS_SHOWFOLDERFIRST) { ui->FolderTable->ShowFoldersFirst=!ui->FolderTable->ShowFoldersFirst; RefreshHere(); } } else if (ActionType==ACTIONTYPE_SORTORDER) { ui->FolderTable->SortFile=SubAction; RefreshHere(); } } // set up button ui->ActionModeBt->setDown(false); } //==================================================================================================================== bool wgt_QMultimediaBrowser::InRemoveFolder(QString FolderPath) { QDir Folder(FolderPath); QFileInfoList Dirs=Folder.entryInfoList(QDir::Dirs|QDir::AllDirs|QDir::Hidden); foreach(QFileInfo Dir,Dirs) if ((Dir.isDir())&&(Dir.absoluteFilePath()!=FolderPath)&&(Dir.fileName()!=".")&&(Dir.fileName()!="..")) if (!InRemoveFolder(Dir.absoluteFilePath())) return false; QFileInfoList Files=Folder.entryInfoList(QDir::Dirs|QDir::AllEntries|QDir::Hidden); foreach(QFileInfo File,Files) if (!File.isDir()) if (!QFile(File.absoluteFilePath()).remove()) { ToLog(LOGMSG_CRITICAL,QApplication::translate("MainWindow","Impossible to remove file %1 - error %2:%3").arg(File.fileName()).arg(errno).arg(QString().fromLocal8Bit(strerror(errno)))); return false; } if (!QDir().rmdir(FolderPath)) { ToLog(LOGMSG_CRITICAL,QApplication::translate("MainWindow","Impossible to remove folder %1 - error %2:%3").arg(FolderPath).arg(errno).arg(QString().fromLocal8Bit(strerror(errno)))); return false; } else { ToLog(LOGMSG_INFORMATION,QApplication::translate("MainWindow","Successfully deleted folder (and all its content) %1").arg(FolderPath)); return true; } } //==================================================================================================================== void wgt_QMultimediaBrowser::RemoveFolder() { QString FolderPath=ui->FolderTree->GetFolderPath(ui->FolderTree->currentItem(),false); #if defined(Q_OS_LINUX) || defined(Q_OS_SOLARIS) if (FolderPath.startsWith("~")) FolderPath=QDir::homePath()+FolderPath.mid(1); #else if (FolderPath.startsWith(PersonalFolder)) FolderPath=QDir::homePath()+FolderPath.mid(PersonalFolder.length()); FolderPath=QDir::toNativeSeparators(FolderPath); #endif QString NewFolderPath=ui->FolderTree->GetFolderPath(ui->FolderTree->currentItem(),true); if (NewFolderPath.lastIndexOf(QDir::separator())!=-1) NewFolderPath=NewFolderPath.left(NewFolderPath.lastIndexOf(QDir::separator())); if (CustomMessageBox(this,QMessageBox::Question,APPLICATION_NAME,QApplication::translate("MainWindow","Are you sure to remove this folder ?\n(Warning: Content will not be moved to trash)")+"\n"+FolderPath,QMessageBox::Yes|QMessageBox::No)==QMessageBox::Yes) { InRemoveFolder(FolderPath); ui->FolderTree->SetSelectItemByPath(NewFolderPath); } } //==================================================================================================================== void wgt_QMultimediaBrowser::RenameFolder() { bool Ok; bool PersoF=false; QString FolderPath=ui->FolderTree->GetFolderPath(ui->FolderTree->currentItem(),false); #if defined(Q_OS_LINUX) || defined(Q_OS_SOLARIS) if (FolderPath.startsWith("~")) { FolderPath=QDir::homePath()+FolderPath.mid(1); PersoF=true; } #else if (FolderPath.startsWith(PersonalFolder)) { FolderPath=QDir::homePath()+FolderPath.mid(PersonalFolder.length()); FolderPath=QDir::toNativeSeparators(FolderPath); PersoF=true; } #endif QString SrcFolder =FolderPath; QString SubFolderName=FolderPath; if (SubFolderName.endsWith(QDir::separator())) SubFolderName=SubFolderName.lastIndexOf(SubFolderName.length()-1); if (SubFolderName.indexOf(QDir::separator())!=-1) { FolderPath=FolderPath.left(FolderPath.lastIndexOf(QDir::separator())); SubFolderName=SubFolderName.mid(SubFolderName.lastIndexOf(QDir::separator())+1); SubFolderName=CustomInputDialog(this,QApplication::translate("MainWindow","Rename folder"),QApplication::translate("MainWindow","Folder:"),QLineEdit::Normal,SubFolderName,&Ok); if (Ok && !SubFolderName.isEmpty()) { if (!QDir().rename(SrcFolder,FolderPath+QDir::separator()+SubFolderName)) CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("MainWindow","Rename folder"),QApplication::translate("MainWindow","Impossible to rename folder!"),QMessageBox::Ok); else { if (PersoF) { #if defined(Q_OS_LINUX) || defined(Q_OS_SOLARIS) FolderPath.replace(QDir::homePath(),"~"); #else FolderPath.replace(QDir::toNativeSeparators(QDir::homePath()),PersonalFolder); #endif } ui->FolderTree->RefreshItemByPath(ui->FolderTree->GetFolderPath(ui->FolderTree->currentItem()->parent(),true),false); ui->FolderTree->SetSelectItemByPath(FolderPath+QDir::separator()+SubFolderName); } } } } //==================================================================================================================== void wgt_QMultimediaBrowser::RemoveFile() { QList MediaList; ui->FolderTable->GetCurrentSelectedMediaFile(&MediaList); if (MediaList.count()>0) { while (FileList.count()>0) FileList.removeLast(); for (int i=0;iFileName()); QString FName=MediaList[i]->FileName(); QString FileExtension=QFileInfo(MediaList[i]->FileName()).completeSuffix(); if (!FileExtension.isEmpty()) FName.replace("."+FileExtension,""); if (QFileInfo(FName+".jpg").exists()) FileList.append(FName+".jpg"); if (QFileInfo(FName+"-poster.jpg").exists()) FileList.append(FName+"-poster.jpg"); if (QFileInfo(FName+".nfo").exists()) FileList.append(FName+".nfo"); } DlgWorkingTaskDialog=new DlgWorkingTask(QApplication::translate("MainWindow","Remove files"),&CancelAction,ApplicationConfig,this); DlgWorkingTaskDialog->InitDialog(); DlgWorkingTaskDialog->SetMaxValue(FileList.count(),0); QTimer::singleShot(LATENCY,this,SLOT(s_Action_DoRemoveFile())); DlgWorkingTaskDialog->exec(); while (!MediaList.isEmpty()) delete MediaList.takeLast(); } } void wgt_QMultimediaBrowser::s_Action_DoRemoveFile() { if ((FileList.count()==0)||(CancelAction)) { if (DlgWorkingTaskDialog) { DlgWorkingTaskDialog->close(); delete DlgWorkingTaskDialog; DlgWorkingTaskDialog=NULL; RefreshHere(); } FileList.clear(); return; } if (DlgWorkingTaskDialog) { DlgWorkingTaskDialog->DisplayText(QApplication::translate("MainWindow","Remove file :")+QFileInfo(FileList[0]).fileName()); DlgWorkingTaskDialog->DisplayProgress(DlgWorkingTaskDialog->MaxValue-FileList.count()); } QString FileToRemove=FileList.takeFirst(); if (CustomMessageBox(this,QMessageBox::Question,APPLICATION_NAME,QApplication::translate("MainWindow","Are you sure to delete this file or folder ?\n(Warning: Content will not be moved to trash)")+"\n"+FileToRemove,QMessageBox::Yes|QMessageBox::No)==QMessageBox::Yes) { if (QFileInfo(FileToRemove).isDir()) { if (!QDir().rmdir(FileToRemove)) CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("MainWindow","Remove folder"),QApplication::translate("MainWindow","Impossible to delete folder!\nAre you sure it is empty?"),QMessageBox::Ok); } else { if (!QFile(FileToRemove).remove()) CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("MainWindow","Remove file"),QApplication::translate("MainWindow","Impossible to delete file!"),QMessageBox::Ok); } } QTimer::singleShot(LATENCY,this,SLOT(s_Action_DoRemoveFile())); } //==================================================================================================================== void wgt_QMultimediaBrowser::RenameFile() { cBaseMediaFile *Media=ui->FolderTable->GetCurrentMediaFile(); if (Media) { bool Ok=true; QString NewName=Media->ShortName(); NewName=CustomInputDialog(this,QApplication::translate("MainWindow","Rename file"),QApplication::translate("MainWindow","New name:"),QLineEdit::Normal,NewName,&Ok); if (Ok && !NewName.isEmpty()) { NewName=QDir::toNativeSeparators(QFileInfo(Media->FileName()).absolutePath()+QDir::separator()+NewName); if (!QDir().rename(Media->FileName(),NewName)) CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("MainWindow","Rename file"),QApplication::translate("MainWindow","Impossible to rename file!"),QMessageBox::Ok); else { if (QFileInfo(NewName).isDir()) ui->FolderTree->RefreshItemByPath(ui->FolderTree->GetFolderPath(ui->FolderTree->currentItem(),true),false); RefreshHere(); } } delete Media; } } ffDiaporama/src/ffDiaporama/wgt_QMultimediaBrowser/QCustomFolderTree.h0000777000175000001440000000543412275647231026406 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef QCUSTOMFOLDERTREE_H #define QCUSTOMFOLDERTREE_H // Basic inclusions (common to all files) #include "CustomCtrl/_QCustomDialog.h" // Include some common various class #include "engine/cDriveList.h" #include "QCustomFolderTable.h" class QCustomFolderTree : public QTreeWidget { Q_OBJECT public: cApplicationConfig *ApplicationConfig; QCustomFolderTable *FolderTable; explicit QCustomFolderTree(QWidget *parent=0); bool IsRemoveAllowed; bool IsRenameAllowed; bool IsCreateFolderAllowed; // Public utility functions virtual void InitDrives(); virtual QString GetFolderPath(const QTreeWidgetItem *current,bool TreeMode); virtual QString GetCurrentFolderPath(); virtual void SetSelectItemByPath(QString Path); virtual void RefreshItemByPath(QString Path,bool RefreshAll,int Level=0); virtual QString RealPathToTreePath(QString Path); virtual cDriveDesc *SearchRealDrive(QString Path); virtual void RefreshDriveList(); private slots: void s_itemExpanded(QTreeWidgetItem *item); void s_ContextMenu(const QPoint Point); protected: virtual void keyReleaseEvent(QKeyEvent *event); private: QTreeWidgetItem *CreateItem(QString Text,QString FilePath,QIcon Icon); bool IsFolderHaveChild(QString Folder); bool IsReadOnlyDrive(QString Folder); void DeleteChildItem(QTreeWidgetItem *Item); signals: void ActionRemoveFolder(); void ActionRenameFolder(); void ActionRefreshAll(); void ActionRefreshHere(); }; #endif // QCUSTOMFOLDERTREE_H ffDiaporama/src/ffDiaporama/wgt_QMultimediaBrowser/QCustomFolderTree.cpp0000777000175000001440000010110612275647231026732 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "QCustomFolderTree.h" #include #include #include #include #include #include #include #ifdef Q_OS_WIN #include #include #include #endif #define TAG "" //==================================================================================================================== QCustomFolderTree::QCustomFolderTree(QWidget *parent):QTreeWidget(parent) { ApplicationConfig =NULL; FolderTable =NULL; IsRemoveAllowed =false; IsRenameAllowed =false; IsCreateFolderAllowed =false; setContextMenuPolicy(Qt::CustomContextMenu); connect(this,SIGNAL(itemExpanded(QTreeWidgetItem *)),this,SLOT(s_itemExpanded(QTreeWidgetItem *))); connect(this,SIGNAL(customContextMenuRequested(const QPoint)),this,SLOT(s_ContextMenu(const QPoint))); } //==================================================================================================================== void QCustomFolderTree::InitDrives() { foreach(cDriveDesc HDD,ApplicationConfig->DriveList->List) #if defined(Q_OS_LINUX) || defined(Q_OS_SOLARIS) if (HDD.Path.startsWith("/media/") ||(HDD.Path=="/") ||(HDD.Label==PersonalFolder) ||(HDD.Label==QApplication::translate("QCustomFolderTree","Clipart")) ||(HDD.Path.startsWith("/mnt/")&&FolderTable->ShowMntDrive) ) #endif addTopLevelItem(CreateItem(HDD.Label,HDD.Path,QIcon(QPixmap().fromImage(HDD.IconDrive)))); } //==================================================================================================================== void QCustomFolderTree::keyReleaseEvent(QKeyEvent *event) { if (event->matches(QKeySequence::Delete)) { if (IsRemoveAllowed) emit ActionRemoveFolder(); } else if (event->key()==Qt::Key_F5) emit ActionRefreshAll(); else QTreeWidget::keyReleaseEvent(event); } //==================================================================================================================== void QCustomFolderTree::s_ContextMenu(const QPoint) { QMenu *ContextMenu=new QMenu(this); ContextMenu->addAction(CreateMenuAction(QApplication::style()->standardIcon(QStyle::SP_BrowserReload), QApplication::translate("QCustomFolderTree","Refresh all"),1,false,false,this)); //":/img/Refresh.png" ContextMenu->addAction(CreateMenuAction(QApplication::style()->standardIcon(QStyle::SP_BrowserReload), QApplication::translate("QCustomFolderTree","Refresh from here"),2,false,false,this)); //":/img/Refresh.png" if (IsCreateFolderAllowed) ContextMenu->addAction(CreateMenuAction(QApplication::style()->standardIcon(QStyle::SP_FileDialogNewFolder),QApplication::translate("QCustomFolderTree","Create new subfolder"),3,false,false,this)); if (IsRemoveAllowed) ContextMenu->addAction(CreateMenuAction(QApplication::style()->standardIcon(QStyle::SP_TrashIcon), QApplication::translate("QCustomFolderTree","Remove folder"),4,false,false,this)); //":/img/trash.png" if (IsRenameAllowed) ContextMenu->addAction(CreateMenuAction(QIcon(":/img/action_edit.png"), QApplication::translate("QCustomFolderTree","Rename folder"),5,false,false,this)); QAction *Action=ContextMenu->exec(QCursor::pos()); if (Action) { int ActionType=Action->data().toInt(); QString SubFolderName=""; QString FolderName=""; QString FolderPath=""; bool Ok; switch (ActionType) { case 1 : emit ActionRefreshAll(); break; // Refresh all case 2 : emit ActionRefreshHere(); break; // Refresh from here case 4 : emit ActionRemoveFolder(); break; // Remove folder case 5 : emit ActionRenameFolder(); break; // Rename folder case 3 : FolderPath=GetFolderPath(currentItem(),false); SubFolderName=CustomInputDialog(this,QApplication::translate("QCustomFolderTree","Create folder"),QApplication::translate("QCustomFolderTree","Folder:"),QLineEdit::Normal,"",&Ok); if (Ok && !SubFolderName.isEmpty()) { if (!FolderPath.endsWith(QDir::separator())) FolderName=FolderPath+QDir::separator()+SubFolderName; else FolderName=FolderPath+SubFolderName; #if defined(Q_OS_LINUX) || defined(Q_OS_SOLARIS) if (FolderName.startsWith("~")) FolderName=QDir::homePath()+FolderName.mid(1); #else if (FolderName.startsWith(PersonalFolder)) FolderName=QDir::homePath()+FolderName.mid(PersonalFolder.length()); FolderName=QDir::toNativeSeparators(FolderName); #endif if (QDir().mkdir(FolderName)) RefreshItemByPath(GetFolderPath(currentItem(),true),false); else { QString ErrorMsg=QString(QApplication::translate("QCustomFolderTree","Error %1:")).arg(errno)+QString().fromLocal8Bit(strerror(errno)); CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("QCustomFolderTree","Create folder"), QApplication::translate("QCustomFolderTree","Impossible to create folder !")+"\n\n"+ErrorMsg,QMessageBox::Ok,QMessageBox::Ok); } FolderPath=GetFolderPath(currentItem(),true); if (!FolderPath.endsWith(QDir::separator())) FolderName=FolderPath+QDir::separator()+SubFolderName; else FolderName=FolderPath+SubFolderName; SetSelectItemByPath(FolderName); } break; // Create new subfolder } } // delete menu while (ContextMenu->actions().count()) delete ContextMenu->actions().takeLast(); delete ContextMenu; } //==================================================================================================================== // Private utility function to be use to know if a folder have child (depends on ShowHidden property) // FilePath : Path to check bool QCustomFolderTree::IsFolderHaveChild(QString FilePath) { if (FilePath.startsWith(QApplication::translate("QCustomFolderTree","Clipart"))) FilePath=ClipArtFolder+FilePath.mid(QApplication::translate("QCustomFolderTree","Clipart").length()); #if defined(Q_OS_LINUX) || defined(Q_OS_SOLARIS) if (FilePath.startsWith("~")) FilePath=QDir::homePath()+FilePath.mid(1); #else if (FilePath.startsWith(PersonalFolder)) FilePath=QDir::homePath()+FilePath.mid(PersonalFolder.length()); FilePath=QDir::toNativeSeparators(FilePath); #endif QFileInfoList List=QDir(FilePath).entryInfoList(QDir::Dirs|QDir::NoDotAndDotDot|(FolderTable->ShowHiddenFilesAndDir?QDir::Hidden:QDir::Dirs)); int i=0; while (iShowHiddenFilesAndDir)||(!List[i].fileName().startsWith("."))) i++; else List.removeAt(i); return List.count()>0; } //==================================================================================================================== // Private utility function to be use to know if drive's folder is readonly (CD/DVD ROM) // FilePath : Path to check bool QCustomFolderTree::IsReadOnlyDrive(QString Folder) { bool IsReadOnly=false; for (int i=0;iDriveList->List.count();i++) if (Folder.startsWith(ApplicationConfig->DriveList->List[i].Path)) { IsReadOnly=ApplicationConfig->DriveList->List[i].IsReadOnly; break; } return IsReadOnly; } //==================================================================================================================== // Private utility function to create a new QTreeWidgetItem // Text : Text to be shown // Icon : Icon for the Item // FilePath : Path to get Icon QTreeWidgetItem *QCustomFolderTree::CreateItem(QString Text,QString FilePath,QIcon Icon) { QTreeWidgetItem *Current=new QTreeWidgetItem(); Current->setText(0,Text); Current->setIcon(0,Icon); if (IsFolderHaveChild(FilePath)) { QTreeWidgetItem *SubItem=new QTreeWidgetItem(); SubItem->setText(0,TAG); // add a tag to sub item Current->addChild(SubItem); } return Current; } //==================================================================================================================== // Public utility function to get Path from an Item // Item : Item to get Path from // TreeMode : if true, don't make alias interpretation QString QCustomFolderTree::GetFolderPath(const QTreeWidgetItem *Item,bool TreeMode) { if (!Item) return ""; QString FilePath; // Parse Item to Compose path while (Item!=NULL) { // if root item if (!Item->parent()) { QString RootStr=Item->text(0); // For windows we display drive like D:\[Label], then cut after [ if exist if (Item->text(0).indexOf("[")!=-1) RootStr=Item->text(0).left(Item->text(0).indexOf("[")); if (!TreeMode) { // Search if text is a registered alias, then replace text with path for (int i=0;iDriveList->List.count();i++) if (ApplicationConfig->DriveList->List[i].Label==RootStr) { if ((RootStr!=PersonalFolder)&&(RootStr!=QApplication::translate("QCustomFolderTree","Clipart"))) RootStr=ApplicationConfig->DriveList->List[i].Path; #if defined(Q_OS_LINUX) || defined(Q_OS_SOLARIS) else if (RootStr==PersonalFolder) RootStr="~"; #endif else if (RootStr==QApplication::translate("QCustomFolderTree","Clipart")) RootStr=QApplication::translate("QCustomFolderTree","Clipart"); } } if (!RootStr.endsWith(QDir::separator())) RootStr=RootStr+QDir::separator(); FilePath=RootStr+FilePath; Item=NULL; } else { FilePath=Item->text(0)+((Item->text(0)!=QDir().separator())&&(FilePath!=QString(""))?QString(QDir().separator()):QString(""))+FilePath; Item=Item->parent(); } } return FilePath; } //==================================================================================================================== // Public utility function to get Path from from the current selected Item QString QCustomFolderTree::GetCurrentFolderPath() { return GetFolderPath(currentItem(),false); } //==================================================================================================================== // we use this signal function instead of overloaded itemExpanded function because we need to modify item and // overloaded function use const ! void QCustomFolderTree::s_itemExpanded(QTreeWidgetItem *item) { QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); // Expand node if necessary if ((item->childCount()==1)&&(item->child(0)->text(0)==TAG)) { setUpdatesEnabled(false); QTreeWidgetItem *CurItem=item; QString Folder=GetFolderPath(CurItem,false); QFileInfoList Directorys; int i,k; if (Folder.startsWith(QApplication::translate("QCustomFolderTree","Clipart"))) Folder=ClipArtFolder+Folder.mid(QApplication::translate("QCustomFolderTree","Clipart").length()); #if defined(Q_OS_LINUX) || defined(Q_OS_SOLARIS) if (Folder.startsWith("~")) Folder=QDir::homePath()+Folder.mid(1); #else if (Folder.startsWith(PersonalFolder)) Folder=QDir::homePath()+Folder.mid(PersonalFolder.length()); Folder=QDir::toNativeSeparators(Folder); #endif // remove tag to sub item QTreeWidgetItem *SubItem=CurItem->child(0); CurItem->removeChild(SubItem); delete SubItem; #ifdef Q_OS_WIN bool IsPersonalFolder=Folder.startsWith(PersonalFolder); if (IsPersonalFolder) Folder=QDir::homePath()+Folder.mid(PersonalFolder.length()); Folder=QDir::toNativeSeparators(Folder); #endif Directorys=QDir(Folder).entryInfoList(QDir::Dirs|QDir::NoDotAndDotDot|(FolderTable->ShowHiddenFilesAndDir?QDir::Hidden:QDir::Dirs)); i=0; while (iShowHiddenFilesAndDir)||(!Directorys[i].fileName().startsWith("."))) i++; else Directorys.removeAt(i); for (k=0;kaddChild(CreateItem(Directorys[k].fileName(),PersonalFolder+QDir::separator()+Directorys[k].fileName(),ApplicationConfig->DriveList->GetFolderIcon(Directorys[k].absoluteFilePath()))); else #endif CurItem->addChild(CreateItem(Directorys[k].fileName(),Directorys[k].absoluteFilePath(),ApplicationConfig->DriveList->GetFolderIcon(Directorys[k].absoluteFilePath()))); } // Unselect previous selected item and then select new one QList List =selectedItems(); bool IsFind=false; for (i=0;isetSelected(false); if (!IsFind) setCurrentItem(CurItem); setUpdatesEnabled(true); } QApplication::restoreOverrideCursor(); } //==================================================================================================================== cDriveDesc *QCustomFolderTree::SearchRealDrive(QString Path) { #if defined(Q_OS_LINUX) || defined(Q_OS_SOLARIS) if (Path.startsWith("~")) Path=QDir::homePath()+Path.mid(1); #else if (Path.startsWith(PersonalFolder)) Path=QDir::homePath()+Path.mid(PersonalFolder.length()); Path=QDir::toNativeSeparators(Path); #endif if (Path.endsWith(QDir::separator())) Path=Path=Path.left(Path.length()-1); // Remove endest separator if (QDir(Path).canonicalPath()!="") Path=QDir(Path).canonicalPath(); // Convert path to physical path Path=QDir::toNativeSeparators(Path); if (!Path.endsWith(QDir::separator())) Path=Path+QDir::separator(); // Add separator to find drive in our list for (int i=0;iDriveList->List.count();i++) if ((ApplicationConfig->DriveList->List[i].Path!=QString("/"))&&(Path.startsWith(ApplicationConfig->DriveList->List[i].Path))) return &ApplicationConfig->DriveList->List[i]; for (int i=0;iDriveList->List.count();i++) if (ApplicationConfig->DriveList->List[i].Path==QString("/")) return &ApplicationConfig->DriveList->List[i]; return NULL; } //==================================================================================================================== QString QCustomFolderTree::RealPathToTreePath(QString Path) { for (int i=0;iDriveList->List.count();i++) if ((ApplicationConfig->DriveList->List[i].Path!=QString("/"))&&(Path.startsWith(ApplicationConfig->DriveList->List[i].Path))) { if (!ApplicationConfig->DriveList->List[i].Path.endsWith(QDir::separator())) Path=ApplicationConfig->DriveList->List[i].Label+Path.mid(ApplicationConfig->DriveList->List[i].Path.length()); else Path=ApplicationConfig->DriveList->List[i].Label+Path.mid(ApplicationConfig->DriveList->List[i].Path.length()-1); break; } return Path; } //==================================================================================================================== QString RemoveLabel(QString Path) { #ifdef Q_OS_WIN if (Path.indexOf("[")>0) Path=Path.left(Path.indexOf("[")); #endif return Path; } void QCustomFolderTree::SetSelectItemByPath(QString Path) { QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); setUpdatesEnabled(false); QFileInfoList Directorys; int i,j,k,NbrChild; QStringList Folders; QString CurrentFolder; QTreeWidgetItem *Current=NULL; //if (Path.startsWith(QApplication::translate("QCustomFolderTree","Clipart"))) Path=ClipArtFolder+Path.mid(QApplication::translate("QCustomFolderTree","Clipart").length()); #if defined(Q_OS_LINUX) || defined(Q_OS_SOLARIS) if (Path.startsWith("~")) Path=PersonalFolder+Path.mid(1); #else Path=QDir::toNativeSeparators(Path); // Remove labels int StartLabel=Path.indexOf("["); int EndLabel =(StartLabel>0?Path.indexOf("]\\"):0); if (EndLabel>0) EndLabel+=2; if ((StartLabel>0)&&(EndLabel>StartLabel)) { QString OldPath=Path; Path=OldPath.left(StartLabel)+OldPath.right(OldPath.length()-EndLabel); } #endif // Create a list with each part of the wanted Path while (Path.contains(QDir::separator())) { Folders.append(Path.mid(0,Path.indexOf(QDir::separator()))); Path=Path.mid(Path.indexOf(QDir::separator())+QString(QDir::separator()).length()); } Folders.append(Path); #if defined(Q_OS_LINUX) || defined(Q_OS_SOLARIS) if ((Folders.count()>=1)&&(Folders[0]=="")) Folders[0]=QApplication::translate("QCustomFolderTree","System files"); #endif // find node in the tree and expand it if it was not previously expanded i=0; Current=topLevelItem(0); while ((Current!=NULL)&&(i=0)&&(RemoveLabel(topLevelItem(j)->text(0))!=Folders[i])&&(RemoveLabel(topLevelItem(j)->text(0))!=Folders[i]+QDir::separator())) j--; if ((j>=0)&&((RemoveLabel(topLevelItem(j)->text(0))==Folders[i])||(RemoveLabel(topLevelItem(j)->text(0))==Folders[i]+QDir::separator()))) Current=topLevelItem(j); else Current=NULL; } else { j=0; // Search in current item child list while ((jchildCount())&&(Current->child(j)->text(0).compare(Folders[i])!=0)&&(Current->child(j)->text(0)!=Folders[i]+QDir::separator())) j++; if ((jchildCount())&&((Current->child(j)->text(0)==Folders[i])||(Current->child(j)->text(0).compare(Folders[i]+QDir::separator())==0))) Current=Current->child(j); else Current=NULL; } if (Current) { CurrentFolder =GetFolderPath(Current,false); NbrChild =Current->childCount(); if ((NbrChild==1)&&(Current->child(0)->text(0)==TAG)) { // If not initialize // remove tag to sub item QTreeWidgetItem *SubItem=Current->child(0); Current->removeChild(SubItem); delete SubItem; QString RealPath=CurrentFolder; if (RealPath.startsWith(QApplication::translate("QCustomFolderTree","Clipart"))) RealPath=ClipArtFolder+RealPath.mid(QApplication::translate("QCustomFolderTree","Clipart").length()); #if defined(Q_OS_LINUX) || defined(Q_OS_SOLARIS) if (RealPath.startsWith("~")) RealPath=QDir::homePath()+RealPath.mid(1); #else if (RealPath.startsWith(PersonalFolder)) RealPath=QDir::homePath()+RealPath.mid(PersonalFolder.length()); RealPath=QDir::toNativeSeparators(RealPath); #endif Directorys=QDir(RealPath).entryInfoList(QDir::Dirs|QDir::NoDotAndDotDot|(FolderTable->ShowHiddenFilesAndDir?QDir::Hidden:QDir::Dirs)); int z=0; while (zShowHiddenFilesAndDir)||(!Directorys[z].fileName().startsWith("."))) z++; else Directorys.removeAt(z); for (k=0;kaddChild(CreateItem(Directorys[k].fileName(),Directorys[k].absoluteFilePath(),ApplicationConfig->DriveList->GetFolderIcon(Directorys[k].absoluteFilePath()))); } Current->setExpanded(true); } else Current=NULL; // Error ???? i++; } // Unselect previous selected item and then select new one if (Current) { QList List=selectedItems(); bool IsFind=false; for (i=0;isetSelected(false); if (!IsFind) setCurrentItem(Current); } resizeColumnToContents(0); setUpdatesEnabled(true); QApplication::restoreOverrideCursor(); } //==================================================================================================================== class cTreeItemDescriptor { public: QTreeWidgetItem *Item; bool IsFound; cTreeItemDescriptor(QTreeWidgetItem *TheItem) { Item=TheItem; IsFound=false; } }; #ifdef Q_OS_WIN QString CleanTextPath(QString Source) { if (Source.contains("[")) Source=Source.left(Source.indexOf("[")); return Source; } #endif void QCustomFolderTree::RefreshItemByPath(QString Path,bool RefreshAll,int Level) { Path=QDir::toNativeSeparators(Path); QString RealPath=Path; int i,j; // Construct RealPath for (i=0;iDriveList->List.count();i++) if (RealPath.startsWith(ApplicationConfig->DriveList->List[i].Label)) { QString PartPath=RealPath.mid(ApplicationConfig->DriveList->List[i].Label.length()); while (PartPath.startsWith(QDir::separator())) PartPath=PartPath.mid(1); while (PartPath.endsWith(QDir::separator())) PartPath=PartPath.left(PartPath.length()-1); RealPath=ApplicationConfig->DriveList->List[i].Path; if (!RealPath.endsWith(QDir::separator())) RealPath=RealPath+QDir::separator(); RealPath=RealPath+PartPath; break; } if ((Level==0)&&(IsReadOnlyDrive(RealPath))) return; QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); QString PartPath=Path; QStringList Folders; QTreeWidgetItem *Current=NULL; QTreeWidgetItem *SubItem=NULL; // Adjust Path #if defined(Q_OS_LINUX) || defined(Q_OS_SOLARIS) Path.replace("~",PersonalFolder); #endif if (Path.startsWith(QApplication::translate("QCustomFolderTree","Clipart"))) Path=ClipArtFolder+Path.mid(QApplication::translate("QCustomFolderTree","Clipart").length()); // Create a list with each part of the wanted Path while (PartPath.contains(QDir::separator())) { Folders.append(PartPath.mid(0,PartPath.indexOf(QDir::separator()))); PartPath=PartPath.mid(PartPath.indexOf(QDir::separator())+QString(QDir::separator()).length()); } if (PartPath!="") Folders.append(PartPath); // Now we can search corresponding item in the tree i=0; #ifdef Q_OS_WIN while ((Folders.count()>0)&&(itopLevelItemCount())&&(CleanTextPath(topLevelItem(i)->text(0))!=Folders[0])&&(CleanTextPath(topLevelItem(i)->text(0))!=Folders[0]+QDir::separator())) i++; if ((Folders.count()>0)&&(itopLevelItemCount())&&((CleanTextPath(topLevelItem(i)->text(0))==Folders[0])||(CleanTextPath(topLevelItem(i)->text(0))==Folders[0]+QDir::separator()))) { #else while ((Folders.count()>0)&&(itopLevelItemCount())&&(topLevelItem(i)->text(0)!=Folders[0])&&(topLevelItem(i)->text(0)!=Folders[0]+QDir::separator())) i++; if ((Folders.count()>0)&&(itopLevelItemCount())&&((topLevelItem(i)->text(0)==Folders[0])||(topLevelItem(i)->text(0)==Folders[0]+QDir::separator()))) { #endif // We have found the toplevel, now down the tree Current=topLevelItem(i); j=1; while ((Current)&&(jchildCount())&&(Current->child(i)->text(0)!=Folders[j])&&(Current->child(i)->text(0)!=Folders[j]+QDir::separator())) i++; if ((ichildCount())&&((Current->child(i)->text(0)==Folders[j])||(Current->child(i)->text(0)==Folders[j]+QDir::separator()))) { Current=Current->child(i); j++; } else Current=NULL; } } // Don't check directory if unexpanded TAG is set ! if ((Current)&&(Current->childCount()==1)&&(Current->child(0)->text(0)==TAG)) Current=NULL; // if item found if (Current) { if (Level==0) setUpdatesEnabled(false); // Set icon for this current item Current->setIcon(0,ApplicationConfig->DriveList->GetFolderIcon(RealPath)); // Check if havechild status have change if (IsFolderHaveChild(RealPath)) { // if folder now have child if (Current->childCount()==0) { QTreeWidgetItem *SubItem=new QTreeWidgetItem(); SubItem->setText(0,TAG); // add a tag to sub item Current->addChild(SubItem); } } else { // if folder no longer have child while (Current->childCount()>0) { SubItem=Current->child(0); DeleteChildItem(SubItem); Current->removeChild(SubItem); delete SubItem; } } // Construct a list with actual known folders QList CurrentList; for (i=0;ichildCount();i++) CurrentList.append(cTreeItemDescriptor(Current->child(i))); // Construct a second list for real folders QFileInfoList Directorys=QDir(RealPath).entryInfoList(QDir::Dirs|QDir::NoDotAndDotDot|(FolderTable->ShowHiddenFilesAndDir?QDir::Hidden:QDir::Dirs)); int z=0; while (zShowHiddenFilesAndDir)||(!Directorys[z].fileName().startsWith("."))) z++; else Directorys.removeAt(z); QStringList FolderToAdd; bool isFound; for (i=0;itext(0)) { CurrentList[j].IsFound=true; isFound=true; break; } // if folder not found add it to to FolderToAdd List if (!isFound) FolderToAdd.append(Directorys[i].fileName()); } // Now we have 2 lists to work with for (i=0;itext(0); if (RefreshAll) RefreshItemByPath(ChildPath,RefreshAll,Level+1); } else { // remove existing folder which no longer exist SubItem=CurrentList[i].Item; DeleteChildItem(SubItem); Current->removeChild(SubItem); delete SubItem; } } // add new folder QString ChildPath=QDir().absoluteFilePath(RealPath); if (!ChildPath.endsWith(QDir::separator())) ChildPath=ChildPath+QDir::separator(); for (i=0;ichildCount())&&(FolderToAdd[i]>=Current->child(ItemBefore)->text(0))) ItemBefore++; Current->insertChild(ItemBefore,CreateItem(FolderToAdd[i],ChildPath+FolderToAdd[i],ApplicationConfig->DriveList->GetFolderIcon(ChildPath+FolderToAdd[i]))); } if (Level==0) setUpdatesEnabled(true); } QApplication::restoreOverrideCursor(); } //==================================================================================================================== void QCustomFolderTree::DeleteChildItem(QTreeWidgetItem *Item) { while (Item->childCount()!=0) { QTreeWidgetItem *SubItem=Item->child(0); DeleteChildItem(SubItem); Item->removeChild(SubItem); delete SubItem; } } //==================================================================================================================== void QCustomFolderTree::RefreshDriveList() { QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); ApplicationConfig->DriveList->UpdateDriveList(); int i=0; while (iDriveList->List.count()) { if (ApplicationConfig->DriveList->List[i].Label==QApplication::translate("QCustomFolderTree","Clipart")) ApplicationConfig->DriveList->List[i].Flag=1; if (ApplicationConfig->DriveList->List[i].Flag==0) { // Drive no longer exist int j=0; while ((jtext(0)!=ApplicationConfig->DriveList->List[i].Label)) j++; if ((jtext(0)==ApplicationConfig->DriveList->List[i].Label)) { // We have found the item in the tree QTreeWidgetItem *Item=takeTopLevelItem(j); DeleteChildItem(Item); // Delete item in tree delete Item; } ApplicationConfig->DriveList->List.removeAt(i); // Delete from drive list } else if (ApplicationConfig->DriveList->List[i].Flag==1) { // Drive previously exist #if defined(Q_OS_LINUX) || defined(Q_OS_SOLARIS) if (ApplicationConfig->DriveList->List[i].Path.startsWith("/media/") ||(ApplicationConfig->DriveList->List[i].Path=="/") ||(ApplicationConfig->DriveList->List[i].Label==PersonalFolder) ||(ApplicationConfig->DriveList->List[i].Label==QApplication::translate("QCustomFolderTree","Clipart")) ||(ApplicationConfig->DriveList->List[i].Path.startsWith("/mnt/")) ) { #endif int j=0; while ((jtext(0)!=ApplicationConfig->DriveList->List[i].Label)) j++; if ((jtext(0)==ApplicationConfig->DriveList->List[i].Label)) { // if drive is not a /mnt/ drive and if we not continu to display them, then delete it if ((ApplicationConfig->DriveList->List[i].Path.startsWith("/mnt/"))&& (!FolderTable->ShowMntDrive)&& (ApplicationConfig->DriveList->List[i].Label!=QApplication::translate("QCustomFolderTree","Clipart"))) { QTreeWidgetItem *Item=takeTopLevelItem(j); DeleteChildItem(Item); // Delete item in tree delete Item; } } else { // ShowMntDrive have changed, we have to create it if ((!ApplicationConfig->DriveList->List[i].Path.startsWith("/mnt/"))||(FolderTable->ShowMntDrive)) addTopLevelItem(CreateItem(ApplicationConfig->DriveList->List[i].Label,ApplicationConfig->DriveList->List[i].Path,QIcon(QPixmap().fromImage(ApplicationConfig->DriveList->List[i].IconDrive)))); } #if defined(Q_OS_LINUX) || defined(Q_OS_SOLARIS) } #endif i++; } else { // It's a new drive if ((!ApplicationConfig->DriveList->List[i].Path.startsWith("/mnt/"))||(FolderTable->ShowMntDrive)) addTopLevelItem(CreateItem(ApplicationConfig->DriveList->List[i].Label,ApplicationConfig->DriveList->List[i].Path,QIcon(QPixmap().fromImage(ApplicationConfig->DriveList->List[i].IconDrive)))); i++; } } QApplication::restoreOverrideCursor(); } ffDiaporama/src/ffDiaporama/wgt_QMultimediaBrowser/QCustomFolderTable.h0000777000175000001440000001651212275647231026535 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef QCUSTOMFOLDERTABLE_H #define QCUSTOMFOLDERTABLE_H // Basic inclusions (common to all files) #include "CustomCtrl/_QCustomDialog.h" // Include some additional standard class #include // Include some common various class #include "engine/cApplicationConfig.h" #include "engine/cBaseMediaFile.h" //************************************************************* // Define action types for Settings menu #define ACTIONTYPE_ACTIONTYPE 0x0f00 #define ACTIONTYPE_DISPLAYMODE 0x0100 #define ACTIONTYPE_FILTERMODE 0x0200 #define ACTIONTYPE_ONOFFOPTIONS 0x0400 #define ACTIONTYPE_SORTORDER 0x0800 #define ONOFFOPTIONS_SHOWHIDDEN 1 #define ONOFFOPTIONS_HIDEHIDDEN 2 #define ONOFFOPTIONS_HIDEFILENAME 3 #define ONOFFOPTIONS_SHOWFILENAME 4 #define ONOFFOPTIONS_SHOWFOLDERFIRST 5 //************************************************************* class MediaFileItem { public: cApplicationConfig *ApplicationConfig; qlonglong FileKey; qlonglong FolderKey; QStringList TextToDisplay; int ColImageType; OBJECTTYPE ObjectType; bool IsInformationValide; QImage *DefaultTypeIcon16,*DefaultTypeIcon100; QString ShortName; QTime Duration; QDateTime Modified; explicit MediaFileItem(cBaseMediaFile *MediaFileObject); ~MediaFileItem() {} QString GetTextForColumn(int Col); cBaseMediaFile *CreateBaseMediaFile() const; QImage GetIcon(cCustomIcon::IconSize Size,bool useDelayed); }; //************************************************************* class QCustomFolderTable : public QTableWidget { Q_OBJECT public: QStringList BrowsePathList; QList MediaList; cApplicationConfig *ApplicationConfig; // Settings BROWSER_TYPE_ID BrowserType; QString BROWSERString; QString CurrentPath; QString DefaultPath; int SortFile; // Sort order for file insertion and file display in browser bool ShowFoldersFirst; // If true, display folders at first in table list bool ShowHiddenFilesAndDir; // If true, hidden files will be show bool ShowMntDrive; // If true, show drives under /mnt/ [Linux only] int AllowedFilter; int CurrentFilter; // Currently selected filter int CurrentMode; // Currently selected display mode bool DisplayFileName; // If true Display File Name in icon views bool IsAddToProjectAllowed; bool IsRemoveAllowed; bool IsRenameAllowed; bool InSelChange; // Actual values int CurrentShowFolderNumber; int CurrentTotalFilesNumber; int CurrentShowFilesNumber; int CurrentDisplayItem; int64_t CurrentShowFolderSize; int64_t CurrentTotalFolderSize; int64_t CurrentShowDuration; int ColImageType; // Thread controls QFutureWatcher ScanMediaList; bool StopScanMediaList; bool StopAllEvent; bool ScanMediaListProgress; bool InScanMediaFunction; QAbstractItemModel *DefaultModel; QAbstractItemDelegate *DefaultDelegate,*IconDelegate; explicit QCustomFolderTable(QWidget *parent = 0); ~QCustomFolderTable(); virtual void InitSettings(cApplicationConfig *ApplicationConfig,BROWSER_TYPE_ID BrowserType); virtual void SaveSettings(); virtual void EnsureThreadIsStopped(); virtual void resizeEvent(QResizeEvent *); virtual void mouseDoubleClickEvent(QMouseEvent *); virtual void mouseReleaseEvent(QMouseEvent *); virtual void mousePressEvent(QMouseEvent *event); virtual void selectAll(); virtual void SetMode(); virtual void FillListFolder(QString Path); virtual void AppendMediaToTable(cBaseMediaFile *MediaObject); virtual QString GetTextForColumn(int Col,cBaseMediaFile *MediaObject,QStringList *ExtendedProperties); virtual int GetAlignmentForColumn(int Col); virtual cBaseMediaFile *GetCurrentMediaFile(); virtual void GetCurrentSelectedMediaFile(QList *SelMediaList) const; virtual QStringList GetCurrentSelectedFiles(); virtual bool CanBrowseToPreviousPath(); virtual QString BrowseToPreviousPath(); virtual bool CanBrowseToUpperPath(); virtual QString BrowseToUpperPath(); virtual QMenu *PrepSettingsMenuMenu(QWidget *Parent); protected: virtual QMimeData *mimeData(const QList ) const; virtual void keyReleaseEvent(QKeyEvent *event); signals: void DoubleClickEvent(); void RefreshFolderInfo(); void NeedResizeColumns(); void RemoveFiles(); void InsertFiles(); void OpenFile(); void RenameFiles(); void Refresh(); public slots: void DoResizeColumns(); void s_ContextMenu(const QPoint Point); void s_Browser_Properties(); private: void DoScanMediaList(); int GetWidthForIcon(); int GetHeightForIcon(); QTableWidgetItem *CreateItem(QString ItemText,int Alignment,QBrush Background); }; #endif // QCUSTOMFOLDERTABLE_H ffDiaporama/src/ffDiaporama/wgt_QMultimediaBrowser/QCustomFolderTable.cpp0000777000175000001440000022722312275647230027072 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ // Basic inclusions (common to all files) #include "CustomCtrl/_QCustomDialog.h" #include #include #include #include #include #include #include #include "QCustomFolderTable.h" #include "ImageFilters.h" #include #define FILETABLESTATE_FILETOCHEK 1 #define FileToCheckIcon ":/img/player_time.png" #define CELLBORDER 8 int DISPLAYFILENAMEHEIGHT =20; // Will be compute because it's not the same for all operating system //******************************************************************************************************** // MediaFileItem //******************************************************************************************************** MediaFileItem::MediaFileItem(cBaseMediaFile *MediaFileObject) { ApplicationConfig =MediaFileObject->ApplicationConfig; FileKey =MediaFileObject->FileKey; FolderKey =MediaFileObject->FolderKey; ObjectType =MediaFileObject->ObjectType; IsInformationValide =MediaFileObject->IsInformationValide; DefaultTypeIcon16 =MediaFileObject->GetDefaultTypeIcon(cCustomIcon::ICON16); DefaultTypeIcon100 =MediaFileObject->GetDefaultTypeIcon(cCustomIcon::ICON100); ShortName =MediaFileObject->ShortName(); Duration =MediaFileObject->Duration; Modified =MediaFileObject->ModifDateTime; } QString MediaFileItem::GetTextForColumn(int Col) { if (ColObjectType=ObjectType; MediaObject->FolderKey =FolderKey; MediaObject->FileKey =FileKey; MediaObject->GetInformationFromFile(MediaObject->FileName(),NULL,NULL,FolderKey); } return MediaObject; } //==================================================================================================================== QImage MediaFileItem::GetIcon(cCustomIcon::IconSize Size,bool useDelayed) { QImage Icon16,Icon100; ApplicationConfig->FilesTable->GetThumbs(FileKey,&Icon16,&Icon100); if (Size==cCustomIcon::ICON16) { if (Icon16.isNull()) { if (ObjectType==OBJECTTYPE_UNMANAGED) Icon16=ApplicationConfig->DefaultFILEIcon.Icon16.copy(); else if (useDelayed) Icon16=ApplicationConfig->DefaultDelayedIcon.GetIcon(cCustomIcon::ICON16)->copy(); else Icon16=DefaultTypeIcon16->copy(); } return Icon16; } else { if (Icon100.isNull()) { if (ObjectType==OBJECTTYPE_UNMANAGED) Icon100=ApplicationConfig->DefaultFILEIcon.Icon100.copy(); else if (useDelayed) Icon100=ApplicationConfig->DefaultDelayedIcon.GetIcon(cCustomIcon::ICON100)->copy(); else Icon100=DefaultTypeIcon100->copy(); } return Icon100; } } //******************************************************************************************************** // QCustomFolderTable //******************************************************************************************************** class QCustomStyledItemDelegate : public QStyledItemDelegate { //Q_OBJECT public: QCustomFolderTable *ParentTable; explicit QCustomStyledItemDelegate(QObject *parent); virtual void paint(QPainter *painter,const QStyleOptionViewItem &option,const QModelIndex &index) const; }; //======================================================================================================================== QCustomStyledItemDelegate::QCustomStyledItemDelegate(QObject *parent):QStyledItemDelegate(parent) { ParentTable=(QCustomFolderTable *)parent; } //======================================================================================================================== void QCustomStyledItemDelegate::paint(QPainter *Painter,const QStyleOptionViewItem &option,const QModelIndex &index) const { if (((ParentTable->CurrentMode==DISPLAY_DATA)&&(index.row()>=ParentTable->MediaList.count()))|| ((ParentTable->CurrentMode!=DISPLAY_DATA)&&(index.row()*ParentTable->columnCount()+index.column()>=ParentTable->MediaList.count()))) { // index is out of range Painter->fillRect(option.rect,Qt::white); } else { int ItemIndex=(ParentTable->CurrentMode==DISPLAY_DATA?index.row():index.row()*ParentTable->columnCount()+index.column()); if (ItemIndex>=ParentTable->MediaList.count()) return; bool ThreadToPause=false; if (ParentTable->ScanMediaList.isRunning()) { ThreadToPause=true; ParentTable->ScanMediaList.pause(); } if (ParentTable->CurrentMode==DISPLAY_DATA) { QString TextToDisplay =ParentTable->MediaList[ItemIndex].GetTextForColumn(index.column()); QImage ImageToDisplay =(index.column()==0)?ParentTable->MediaList[ItemIndex].GetIcon(cCustomIcon::ICON16,true): (index.column()==ParentTable->ColImageType)?ParentTable->MediaList[ItemIndex].DefaultTypeIcon16->copy(): QImage(); Qt::Alignment Alignment =((Qt::Alignment)(ParentTable->horizontalHeaderItem(index.column())?ParentTable->horizontalHeaderItem(index.column())->textAlignment():Qt::AlignHCenter))|Qt::AlignVCenter; int DecalX =(!ImageToDisplay.isNull()?18:0); int addY =(option.rect.height()-16)/2; QColor Background =((index.row() & 0x01)==0x01)?Qt::white:QColor(0xE0,0xE0,0xE0); QFont font; QTextOption OptionText; QPen Pen; // Setup default brush Painter->setBrush(Background); // Setup default pen Pen.setColor(Qt::black); Pen.setWidth(1); Pen.setStyle(Qt::SolidLine); Painter->setPen(Pen); // Setup font and text options font=QFont("Sans serif",9,QFont::Normal,QFont::StyleNormal); font.setBold(ParentTable->MediaList[ItemIndex].ObjectType==OBJECTTYPE_FOLDER); font.setUnderline(false); Painter->setFont(font); OptionText=QTextOption(Alignment); // Setup alignement OptionText.setWrapMode(QTextOption::NoWrap); // Setup word wrap text option // Drawing Painter->fillRect(option.rect,Background); if (!ImageToDisplay.isNull()) Painter->drawImage(QRectF(option.rect.x()+1,option.rect.y()+addY,16,16),ImageToDisplay); Painter->drawText(QRectF(option.rect.x()+2+DecalX,option.rect.y()+1,option.rect.width()-4-DecalX,option.rect.height()-2),TextToDisplay,OptionText); } else { QImage Icon=ParentTable->MediaList[ItemIndex].GetIcon(cCustomIcon::ICON100,true); int addX=0; int addY=0; QFont font; QTextOption OptionText; QPen Pen; // Draw Icon if (!Icon.isNull()) { addX=(option.rect.width()-Icon.width())/2; if (ParentTable->DisplayFileName) addY=(option.rect.height()-Icon.height()-DISPLAYFILENAMEHEIGHT)/3; else addY=(option.rect.height()-Icon.height())/2; Painter->drawImage(QRectF(option.rect.x()+1+addX,option.rect.y()+1+addY,Icon.width(),Icon.height()),Icon); } // Setup default brush Painter->setBrush(Qt::NoBrush); // Setup default pen Pen.setColor(Qt::black); Pen.setWidth(1); Pen.setStyle(Qt::SolidLine); Painter->setPen(Pen); // Draw file name if needed if (ParentTable->DisplayFileName) { // Setup default font font=QFont("Sans serif",8,QFont::Normal,QFont::StyleNormal); font.setUnderline(false); Painter->setFont(font); #ifdef Q_OS_WIN font.setPointSizeF(double(120)/double(Painter->fontMetrics().boundingRect("0").height())); // Scale font #else font.setPointSizeF((double(100)/double(Painter->fontMetrics().boundingRect("0").height()))*ScreenFontAdjust); // Scale font #endif Painter->setFont(font); OptionText=QTextOption(Qt::AlignHCenter|Qt::AlignTop); // Setup alignement OptionText.setWrapMode(QTextOption::WrapAtWordBoundaryOrAnywhere); // Setup word wrap text option Painter->drawText(QRectF(option.rect.x()+1,option.rect.y()+option.rect.height()-1-DISPLAYFILENAMEHEIGHT,option.rect.width()-2,DISPLAYFILENAMEHEIGHT), ParentTable->MediaList[ItemIndex].ShortName,OptionText); } } // Selection mode (Note: MouseOver is removed because it works correctly only on KDE !) if (option.state & QStyle::State_Selected) { Painter->setPen(QPen(Qt::NoPen)); Painter->setBrush(QBrush(Qt::blue)); Painter->setOpacity(0.25); Painter->drawRect(option.rect.x(),option.rect.y(),option.rect.width(),option.rect.height()); Painter->setOpacity(1); } if (ThreadToPause) ParentTable->ScanMediaList.resume(); } } //******************************************************************************************************** // QCustomFolderTable //******************************************************************************************************** QCustomFolderTable::QCustomFolderTable(QWidget *parent):QTableWidget(parent) { DefaultModel =model(); // Save default QAbstractItemModel DefaultDelegate =itemDelegate(); // Save default QAbstractItemDelegate IconDelegate =(QAbstractItemDelegate *)new QCustomStyledItemDelegate(this); ApplicationConfig =NULL; StopAllEvent =false; InSelChange =false; CurrentShowFolderNumber =0; CurrentShowFilesNumber =0; CurrentShowFolderNumber =0; CurrentTotalFilesNumber =0; CurrentShowFolderSize =0; CurrentTotalFolderSize =0; CurrentDisplayItem =0; CurrentShowDuration =0; StopScanMediaList =false; ScanMediaListProgress =false; InScanMediaFunction =false; setContextMenuPolicy(Qt::CustomContextMenu); connect(this,SIGNAL(NeedResizeColumns()),this,SLOT(DoResizeColumns())); connect(this,SIGNAL(customContextMenuRequested(const QPoint)),this,SLOT(s_ContextMenu(const QPoint))); } //==================================================================================================================== QCustomFolderTable::~QCustomFolderTable() { // Ensure scan thread is stoped StopAllEvent=true; EnsureThreadIsStopped(); // Clear MediaList while (!MediaList.isEmpty()) MediaList.removeLast(); } //==================================================================================================================== void QCustomFolderTable::InitSettings(cApplicationConfig *ApplicationConfig,BROWSER_TYPE_ID BrowserType) { this->ApplicationConfig =ApplicationConfig; this->BrowserType =BrowserType; BROWSERString =BrowserTypeDef[BrowserType].BROWSERString; DefaultPath =*BrowserTypeDef[BrowserType].DefaultPath; AllowedFilter =BrowserTypeDef[BrowserType].AllowedFilter|FILTERALLOW_OBJECTTYPE_FOLDER; SortFile =ApplicationConfig->SettingsTable->GetIntValue(QString("%1_SortFile") .arg(BROWSERString),BrowserTypeDef[BrowserType].SortFile); ShowFoldersFirst =ApplicationConfig->SettingsTable->GetIntValue(QString("%1_ShowFoldersFirst") .arg(BROWSERString),BrowserTypeDef[BrowserType].ShowFoldersFirst)==1; ShowHiddenFilesAndDir =ApplicationConfig->SettingsTable->GetIntValue(QString("%1_ShowHiddenFilesAndDir").arg(BROWSERString),BrowserTypeDef[BrowserType].ShowHiddenFilesAndDir)==1; ShowMntDrive =ApplicationConfig->SettingsTable->GetIntValue(QString("%1_ShowMntDrive") .arg(BROWSERString),BrowserTypeDef[BrowserType].ShowMntDrive)==1; DisplayFileName =ApplicationConfig->SettingsTable->GetIntValue(QString("%1_DisplayFileName") .arg(BROWSERString),BrowserTypeDef[BrowserType].DisplayFileName)==1; CurrentFilter =ApplicationConfig->SettingsTable->GetIntValue(QString("%1_CurrentFilter") .arg(BROWSERString),BrowserTypeDef[BrowserType].CurrentFilter); CurrentMode =ApplicationConfig->SettingsTable->GetIntValue(QString("%1_CurrentMode") .arg(BROWSERString),BrowserTypeDef[BrowserType].CurrentMode); CurrentPath =ApplicationConfig->RememberLastDirectories?QDir::toNativeSeparators(ApplicationConfig->SettingsTable->GetTextValue(QString("%1_path").arg(BROWSERString),DefaultPath)):DefaultPath; SetMode(); } //==================================================================================================================== void QCustomFolderTable::SaveSettings() { ApplicationConfig->SettingsTable->SetIntValue(QString("%1_SortFile") .arg(BROWSERString),SortFile); ApplicationConfig->SettingsTable->SetIntValue(QString("%1_ShowFoldersFirst") .arg(BROWSERString),ShowFoldersFirst?1:0); ApplicationConfig->SettingsTable->SetIntValue(QString("%1_ShowHiddenFilesAndDir").arg(BROWSERString),ShowHiddenFilesAndDir?1:0); ApplicationConfig->SettingsTable->SetIntValue(QString("%1_ShowMntDrive") .arg(BROWSERString),ShowMntDrive?1:0); ApplicationConfig->SettingsTable->SetIntValue(QString("%1_DisplayFileName") .arg(BROWSERString),DisplayFileName?1:0); ApplicationConfig->SettingsTable->SetIntValue(QString("%1_CurrentFilter") .arg(BROWSERString),CurrentFilter); ApplicationConfig->SettingsTable->SetIntValue(QString("%1_CurrentMode") .arg(BROWSERString),CurrentMode); if (ApplicationConfig->RememberLastDirectories) ApplicationConfig->SettingsTable->SetTextValue(QString("%1_path").arg(BROWSERString),QDir::toNativeSeparators(CurrentPath)); } //==================================================================================================================== QMimeData *QCustomFolderTable::mimeData(const QList ) const { QMimeData *mimeData=new QMimeData; QList UrlList; QList SelMediaList; GetCurrentSelectedMediaFile(&SelMediaList); for (int i=0;iFileName()))); mimeData->setUrls(UrlList); while (!SelMediaList.isEmpty()) delete SelMediaList.takeLast(); return mimeData; } //==================================================================================================================== void QCustomFolderTable::selectAll() { InSelChange=true; QTableWidget::selectAll(); InSelChange=false; emit RefreshFolderInfo(); } //==================================================================================================================== void QCustomFolderTable::keyReleaseEvent(QKeyEvent *event) { if ((selectionModel()->selectedIndexes().count()>0)&&(!event->isAutoRepeat())) { if (event->matches(QKeySequence::Delete)) emit RemoveFiles(); else if (event->key()==Qt::Key_Insert) emit InsertFiles(); else if (event->key()==Qt::Key_F5) emit Refresh(); else if (event->key()==Qt::Key_F2) emit RenameFiles(); else QTableWidget::keyReleaseEvent(event); } else QTableWidget::keyReleaseEvent(event); } //==================================================================================================================== QString QCustomFolderTable::GetTextForColumn(int Col,cBaseMediaFile *MediaObject,QStringList *ExtendedProperties) { if ((StopAllEvent)||(Col>=columnCount())) return ""; QString TextToDisplay=""; QString ColName =(horizontalHeaderItem(Col)!=NULL)?horizontalHeaderItem(Col)->text():""; if (ColName==QApplication::translate("QCustomFolderTable","File","Column header")) TextToDisplay=MediaObject->ShortName(); else if (ColName==QApplication::translate("QCustomFolderTable","File Type","Column header")) TextToDisplay=MediaObject->GetFileTypeStr(); else if (ColName==QApplication::translate("QCustomFolderTable","File Size","Column header")) TextToDisplay=MediaObject->GetFileSizeStr(); else if (ColName==QApplication::translate("QCustomFolderTable","File Date","Column header")) TextToDisplay=MediaObject->GetFileDateTimeStr(); else if (ColName==QApplication::translate("QCustomFolderTable","Duration","Column header")) TextToDisplay=MediaObject->Duration!=QTime(0,0,0,0)?MediaObject->Duration.toString("HH:mm:ss.zzz"):""; else if (ColName==QApplication::translate("QCustomFolderTable","Image Size","Column header")) TextToDisplay=MediaObject->GetImageSizeStr(cBaseMediaFile::SIZEONLY); else if (ColName==QApplication::translate("QCustomFolderTable","Image Format","Column header")) TextToDisplay=MediaObject->GetImageSizeStr(cBaseMediaFile::FMTONLY); else if (ColName==QApplication::translate("QCustomFolderTable","Image Geometry","Column header")) TextToDisplay=MediaObject->GetImageSizeStr(cBaseMediaFile::GEOONLY); else if (ColName==QApplication::translate("QCustomFolderTable","Video Codec","Column header")) TextToDisplay=GetCumulInfoStr(ExtendedProperties,"Video","Codec"); else if (ColName==QApplication::translate("QCustomFolderTable","Frame Rate","Column header")) TextToDisplay=GetCumulInfoStr(ExtendedProperties,"Video","Frame rate"); else if (ColName==QApplication::translate("QCustomFolderTable","Video Bitrate","Column header")) TextToDisplay=GetCumulInfoStr(ExtendedProperties,"Video","Bitrate"); else if (ColName==QApplication::translate("QCustomFolderTable","Audio Language","Column header")) TextToDisplay=GetCumulInfoStr(ExtendedProperties,"Audio","language"); else if (ColName==QApplication::translate("QCustomFolderTable","Audio Codec","Column header")) TextToDisplay=GetCumulInfoStr(ExtendedProperties,"Audio","Codec"); else if (ColName==QApplication::translate("QCustomFolderTable","Audio Channels","Column header")) TextToDisplay=GetCumulInfoStr(ExtendedProperties,"Audio","Channels"); else if (ColName==QApplication::translate("QCustomFolderTable","Audio Bitrate","Column header")) TextToDisplay=GetCumulInfoStr(ExtendedProperties,"Audio","Bitrate"); else if (ColName==QApplication::translate("QCustomFolderTable","Audio Frequency","Column header")) TextToDisplay=GetCumulInfoStr(ExtendedProperties,"Audio","Frequency"); else if (ColName==QApplication::translate("QCustomFolderTable","Title","Column header")) TextToDisplay=MediaObject->ObjectType!=OBJECTTYPE_FFDFILE?GetInformationValue("title",ExtendedProperties):((cffDProjectFile *)MediaObject)->Title; else if (ColName==QApplication::translate("QCustomFolderTable","Artist","Column header")) TextToDisplay=MediaObject->ObjectType!=OBJECTTYPE_FFDFILE?GetInformationValue("artist",ExtendedProperties):((cffDProjectFile *)MediaObject)->Author; else if (ColName==QApplication::translate("QCustomFolderTable","Author","Column header")) TextToDisplay=MediaObject->ObjectType!=OBJECTTYPE_FFDFILE?GetInformationValue("artist",ExtendedProperties):((cffDProjectFile *)MediaObject)->Author; else if (ColName==QApplication::translate("QCustomFolderTable","Album","Column header")) TextToDisplay=MediaObject->ObjectType!=OBJECTTYPE_FFDFILE?GetInformationValue("album",ExtendedProperties):((cffDProjectFile *)MediaObject)->Album; else if (ColName==QApplication::translate("QCustomFolderTable","Year","Column header")) TextToDisplay=MediaObject->ObjectType!=OBJECTTYPE_FFDFILE?GetInformationValue("date",ExtendedProperties):((cffDProjectFile *)MediaObject)->EventDate.toString(ApplicationConfig->ShortDateFormat); else if (ColName==QApplication::translate("QCustomFolderTable","Track","Column header")) TextToDisplay=GetInformationValue("track",ExtendedProperties); else if (ColName==QApplication::translate("QCustomFolderTable","Genre","Column header")) TextToDisplay=GetInformationValue("genre",ExtendedProperties); else if (ColName==QApplication::translate("QCustomFolderTable","Comment","Column header")) TextToDisplay=MediaObject->ObjectType!=OBJECTTYPE_FFDFILE?GetInformationValue("comment",ExtendedProperties):((cffDProjectFile *)MediaObject)->Comment; else if (ColName==QApplication::translate("QCustomFolderTable","Composer","Column header")) TextToDisplay=MediaObject->ObjectType!=OBJECTTYPE_FFDFILE?GetInformationValue("composer",ExtendedProperties):((cffDProjectFile *)MediaObject)->Composer; else if (ColName==QApplication::translate("QCustomFolderTable","Encoder","Column header")) TextToDisplay=GetInformationValue("encoder",ExtendedProperties); else if (ColName==QApplication::translate("QCustomFolderTable","Chapters","Column header")) { int NbrChapter=0; if (MediaObject->ObjectType==OBJECTTYPE_VIDEOFILE) NbrChapter=((cVideoFile *)MediaObject)->NbrChapters; if (MediaObject->ObjectType==OBJECTTYPE_FFDFILE) NbrChapter=((cffDProjectFile *)MediaObject)->NbrChapters; TextToDisplay=(NbrChapter>0?QString("%1").arg(NbrChapter):""); } return TextToDisplay; } //==================================================================================================================== int QCustomFolderTable::GetAlignmentForColumn(int Col) { if ((StopAllEvent)||(Col>=columnCount())) return Qt::AlignLeft; int Alignment=Qt::AlignLeft; QString ColName =(horizontalHeaderItem(Col)!=NULL)?horizontalHeaderItem(Col)->text():""; if (ColName==QApplication::translate("QCustomFolderTable","File","Column header")) Alignment=Qt::AlignLeft; else if (ColName==QApplication::translate("QCustomFolderTable","File Type","Column header")) Alignment=Qt::AlignLeft; else if (ColName==QApplication::translate("QCustomFolderTable","File Size","Column header")) Alignment=Qt::AlignRight; else if (ColName==QApplication::translate("QCustomFolderTable","File Date","Column header")) Alignment=Qt::AlignLeft; else if (ColName==QApplication::translate("QCustomFolderTable","Duration","Column header")) Alignment=Qt::AlignRight; else if (ColName==QApplication::translate("QCustomFolderTable","Image Size","Column header")) Alignment=Qt::AlignHCenter; else if (ColName==QApplication::translate("QCustomFolderTable","Image Format","Column header")) Alignment=Qt::AlignHCenter; else if (ColName==QApplication::translate("QCustomFolderTable","Chapters","Column header")) Alignment=Qt::AlignHCenter; else if (ColName==QApplication::translate("QCustomFolderTable","Image Geometry","Column header")) Alignment=Qt::AlignHCenter; else if (ColName==QApplication::translate("QCustomFolderTable","Video Codec","Column header")) Alignment=Qt::AlignHCenter; else if (ColName==QApplication::translate("QCustomFolderTable","Frame Rate","Column header")) Alignment=Qt::AlignHCenter; else if (ColName==QApplication::translate("QCustomFolderTable","Video Bitrate","Column header")) Alignment=Qt::AlignHCenter; else if (ColName==QApplication::translate("QCustomFolderTable","Audio Language","Column header")) Alignment=Qt::AlignHCenter; else if (ColName==QApplication::translate("QCustomFolderTable","Audio Codec","Column header")) Alignment=Qt::AlignHCenter; else if (ColName==QApplication::translate("QCustomFolderTable","Audio Channels","Column header")) Alignment=Qt::AlignHCenter; else if (ColName==QApplication::translate("QCustomFolderTable","Audio Bitrate","Column header")) Alignment=Qt::AlignHCenter; else if (ColName==QApplication::translate("QCustomFolderTable","Audio Frequency","Column header")) Alignment=Qt::AlignHCenter; else if (ColName==QApplication::translate("QCustomFolderTable","Title","Column header")) Alignment=Qt::AlignLeft; else if (ColName==QApplication::translate("QCustomFolderTable","Artist","Column header")) Alignment=Qt::AlignLeft; else if (ColName==QApplication::translate("QCustomFolderTable","Album","Column header")) Alignment=Qt::AlignLeft; else if (ColName==QApplication::translate("QCustomFolderTable","Year","Column header")) Alignment=Qt::AlignHCenter; else if (ColName==QApplication::translate("QCustomFolderTable","Track","Column header")) Alignment=Qt::AlignHCenter; else if (ColName==QApplication::translate("QCustomFolderTable","Genre","Column header")) Alignment=Qt::AlignLeft; else if (ColName==QApplication::translate("QCustomFolderTable","Comment","Column header")) Alignment=Qt::AlignLeft; else if (ColName==QApplication::translate("QCustomFolderTable","Composer","Column header")) Alignment=Qt::AlignLeft; else if (ColName==QApplication::translate("QCustomFolderTable","Encoder","Column header")) Alignment=Qt::AlignLeft; return Alignment; } //==================================================================================================================== void QCustomFolderTable::EnsureThreadIsStopped() { // Ensure scan thread is stoped if (ScanMediaList.isRunning()) { StopScanMediaList=true; ScanMediaList.waitForFinished(); // flush event queue" //while (QApplication::hasPendingEvents()) QApplication::processEvents(); StopScanMediaList=false; } } //==================================================================================================================== int QCustomFolderTable::GetWidthForIcon() { int SizeColumn; if (CurrentMode==DISPLAY_ICON100) { SizeColumn=100+CELLBORDER; } else { if (CurrentFilter==OBJECTTYPE_VIDEOFILE) SizeColumn=Video_ThumbWidth+CELLBORDER; else if (CurrentFilter==OBJECTTYPE_IMAGEFILE) SizeColumn=Image_ThumbWidth+CELLBORDER; else if (CurrentFilter==OBJECTTYPE_IMAGEVECTOR) SizeColumn=Image_ThumbWidth+CELLBORDER; else { SizeColumn=Image_ThumbWidth; if (SizeColumnwidth()/ColumnWidth); if (NewColumnCount<=0) NewColumnCount=1; int NewRowCount =CurrentDisplayItem/NewColumnCount; if (NewRowCount*NewColumnCountDISPLAY_ICON100) CurrentMode=DISPLAY_ICON100; if (CurrentMode==DISPLAY_ICON100) { // Compute DISPLAYFILENAMEHEIGHT QImage Img(100,100,QImage::Format_ARGB32); QPainter Painter; Painter.begin(&Img); QFont font("Sans serif",8,QFont::Normal,QFont::StyleNormal); Painter.setFont(font); #ifdef Q_OS_WIN font.setPointSizeF(double(120)/ScaleFontAdjust); // Scale font #else font.setPointSizeF((double(100)/ScaleFontAdjust)*ScreenFontAdjust);// Scale font #endif Painter.setFont(font); DISPLAYFILENAMEHEIGHT=Painter.fontMetrics().boundingRect("0").height()*2; // 2 lines for bigest mode Painter.end(); } // Reset content setRowCount(0); setColumnCount(0); // Define columns QString ColumnDef=""; setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding); setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); setWordWrap(false); // Ensure no word wrap setTextElideMode(Qt::ElideNone); // Ensure no line ellipsis (...) horizontalHeader()->setSortIndicatorShown(false); horizontalHeader()->setCascadingSectionResizes(false); horizontalHeader()->setDefaultAlignment(Qt::AlignLeft); verticalHeader()->setStretchLastSection(false); verticalHeader()->setSortIndicatorShown(false); verticalHeader()->hide(); #if QT_VERSION >= 0x050000 horizontalHeader()->setSectionsClickable(false); horizontalHeader()->setSectionsMovable(false); horizontalHeader()->setSectionResizeMode(QHeaderView::Fixed); //Fixed because ResizeToContents will be done after table filling verticalHeader()->setSectionResizeMode(QHeaderView::Fixed); // Fixed because ResizeToContents will be done after table filling #else horizontalHeader()->setClickable(false); horizontalHeader()->setMovable(false); horizontalHeader()->setResizeMode(QHeaderView::Fixed); //Fixed because ResizeToContents will be done after table filling verticalHeader()->setResizeMode(QHeaderView::Fixed); // Fixed because ResizeToContents will be done after table filling #endif setItemDelegate(IconDelegate); switch (CurrentMode) { case DISPLAY_ICON100 : setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); setSelectionBehavior(QAbstractItemView::SelectItems); horizontalHeader()->hide(); horizontalHeader()->setStretchLastSection(false); setShowGrid(false); ColImageType=-1; break; case DISPLAY_DATA : setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded); setSelectionBehavior(QAbstractItemView::SelectRows); horizontalHeader()->show(); horizontalHeader()->setStretchLastSection(false); setShowGrid(false); switch (CurrentFilter) { //case OBJECTTYPE_FOLDER : //case OBJECTTYPE_THUMBNAIL : case OBJECTTYPE_UNMANAGED : case OBJECTTYPE_MANAGED : ColImageType=1; ColumnDef = QApplication::translate("QCustomFolderTable","File","Column header")+";"+ QApplication::translate("QCustomFolderTable","File Type","Column header")+";"+ QApplication::translate("QCustomFolderTable","File Size","Column header")+";"+ QApplication::translate("QCustomFolderTable","File Date","Column header")+";"+ QApplication::translate("QCustomFolderTable","Duration","Column header")+";"+ QApplication::translate("QCustomFolderTable","Chapters","Column header")+";"+ QApplication::translate("QCustomFolderTable","Image Size","Column header")+";"+ QApplication::translate("QCustomFolderTable","Image Format","Column header")+";"+ QApplication::translate("QCustomFolderTable","Image Geometry","Column header")+";"+ QApplication::translate("QCustomFolderTable","Video Codec","Column header")+";"+ QApplication::translate("QCustomFolderTable","Frame Rate","Column header")+";"+ QApplication::translate("QCustomFolderTable","Video Bitrate","Column header")+";"+ QApplication::translate("QCustomFolderTable","Audio Language","Column header")+";"+ QApplication::translate("QCustomFolderTable","Audio Codec","Column header")+";"+ QApplication::translate("QCustomFolderTable","Audio Channels","Column header")+";"+ QApplication::translate("QCustomFolderTable","Audio Bitrate","Column header")+";"+ QApplication::translate("QCustomFolderTable","Audio Frequency","Column header")+";"+ QApplication::translate("QCustomFolderTable","Title","Column header")+";"+ QApplication::translate("QCustomFolderTable","Artist","Column header")+";"+ QApplication::translate("QCustomFolderTable","Album","Column header")+";"+ QApplication::translate("QCustomFolderTable","Year","Column header")+";"+ QApplication::translate("QCustomFolderTable","Track","Column header")+";"+ QApplication::translate("QCustomFolderTable","Genre","Column header")+";"+ QApplication::translate("QCustomFolderTable","Comment","Column header")+";"+ QApplication::translate("QCustomFolderTable","Composer","Column header")+";"+ QApplication::translate("QCustomFolderTable","Encoder","Column header"); break; case OBJECTTYPE_FFDFILE : ColImageType=-1; ColumnDef= QApplication::translate("QCustomFolderTable","File","Column header")+";"+ QApplication::translate("QCustomFolderTable","File Size","Column header")+";"+ QApplication::translate("QCustomFolderTable","File Date","Column header")+";"+ QApplication::translate("QCustomFolderTable","Duration","Column header")+";"+ QApplication::translate("QCustomFolderTable","Title","Column header")+";"+ QApplication::translate("QCustomFolderTable","Author","Column header")+";"+ QApplication::translate("QCustomFolderTable","Album","Column header")+";"+ QApplication::translate("QCustomFolderTable","Year","Column header")+";"+ QApplication::translate("QCustomFolderTable","Composer","Column header"); break; case OBJECTTYPE_IMAGEVECTOR : case OBJECTTYPE_IMAGEFILE : ColImageType=-1; ColumnDef= QApplication::translate("QCustomFolderTable","File","Column header")+";"+ QApplication::translate("QCustomFolderTable","File Size","Column header")+";"+ QApplication::translate("QCustomFolderTable","File Date","Column header")+";"+ QApplication::translate("QCustomFolderTable","Image Size","Column header")+";"+ QApplication::translate("QCustomFolderTable","Image Format","Column header")+";"+ QApplication::translate("QCustomFolderTable","Image Geometry","Column header"); break; case OBJECTTYPE_VIDEOFILE : ColImageType=-1; ColumnDef= QApplication::translate("QCustomFolderTable","File","Column header")+";"+ QApplication::translate("QCustomFolderTable","File Size","Column header")+";"+ QApplication::translate("QCustomFolderTable","File Date","Column header")+";"+ QApplication::translate("QCustomFolderTable","Duration","Column header")+";"+ QApplication::translate("QCustomFolderTable","Chapters","Column header")+";"+ QApplication::translate("QCustomFolderTable","Image Size","Column header")+";"+ QApplication::translate("QCustomFolderTable","Image Format","Column header")+";"+ QApplication::translate("QCustomFolderTable","Image Geometry","Column header")+";"+ QApplication::translate("QCustomFolderTable","Video Codec","Column header")+";"+ QApplication::translate("QCustomFolderTable","Frame Rate","Column header")+";"+ QApplication::translate("QCustomFolderTable","Video Bitrate","Column header")+";"+ QApplication::translate("QCustomFolderTable","Audio Language","Column header")+";"+ QApplication::translate("QCustomFolderTable","Audio Codec","Column header")+";"+ QApplication::translate("QCustomFolderTable","Audio Channels","Column header")+";"+ QApplication::translate("QCustomFolderTable","Audio Bitrate","Column header")+";"+ QApplication::translate("QCustomFolderTable","Audio Frequency","Column header")+";"+ QApplication::translate("QCustomFolderTable","Title","Column header")+";"+ QApplication::translate("QCustomFolderTable","Artist","Column header")+";"+ QApplication::translate("QCustomFolderTable","Album","Column header")+";"+ QApplication::translate("QCustomFolderTable","Year","Column header")+";"+ QApplication::translate("QCustomFolderTable","Track","Column header")+";"+ QApplication::translate("QCustomFolderTable","Genre","Column header")+";"+ QApplication::translate("QCustomFolderTable","Comment","Column header")+";"+ QApplication::translate("QCustomFolderTable","Composer","Column header")+";"+ QApplication::translate("QCustomFolderTable","Encoder","Column header"); break; case OBJECTTYPE_MUSICFILE : ColImageType=-1; ColumnDef= QApplication::translate("QCustomFolderTable","File","Column header")+";"+ QApplication::translate("QCustomFolderTable","File Size","Column header")+";"+ QApplication::translate("QCustomFolderTable","File Date","Column header")+";"+ QApplication::translate("QCustomFolderTable","Duration","Column header")+";"+ QApplication::translate("QCustomFolderTable","Audio Codec","Column header")+";"+ QApplication::translate("QCustomFolderTable","Audio Channels","Column header")+";"+ QApplication::translate("QCustomFolderTable","Audio Bitrate","Column header")+";"+ QApplication::translate("QCustomFolderTable","Audio Frequency","Column header")+";"+ QApplication::translate("QCustomFolderTable","Title","Column header")+";"+ QApplication::translate("QCustomFolderTable","Artist","Column header")+";"+ QApplication::translate("QCustomFolderTable","Album","Column header")+";"+ QApplication::translate("QCustomFolderTable","Year","Column header")+";"+ QApplication::translate("QCustomFolderTable","Track","Column header")+";"+ QApplication::translate("QCustomFolderTable","Genre","Column header"); break; } setColumnCount(ColumnDef.split(";").count()); setHorizontalHeaderLabels(ColumnDef.split(";")); for (int Col=0;ColsetTextAlignment(GetAlignmentForColumn(Col)); // Size to the right break; } } //==================================================================================================================== QTableWidgetItem *QCustomFolderTable::CreateItem(QString ItemText,int Alignment,QBrush Background) { QTableWidgetItem *Item=new QTableWidgetItem(ItemText); Item->setTextAlignment(Alignment); Item->setBackground(Background); return Item; } //==================================================================================================================== void QCustomFolderTable::mouseDoubleClickEvent(QMouseEvent *) { emit DoubleClickEvent(); } //==================================================================================================================== void QCustomFolderTable::mouseReleaseEvent(QMouseEvent *event) { if ((columnCount()==0)||(rowCount()==0)) { QTableWidget::mouseReleaseEvent(event); return; } InSelChange=true; if ((CurrentMode==DISPLAY_ICON100)&&(event->button()==Qt::LeftButton)&&(event->modifiers()!=Qt::ShiftModifier)&&(event->modifiers()!=Qt::ControlModifier)) { // Get item number under mouse int ThumbWidth =columnWidth(0); int ThumbHeight =rowHeight(0); int row =(event->pos().y()+verticalOffset())/ThumbHeight; int col =(event->pos().x()+horizontalOffset())/ThumbWidth; // Clear selection selectionModel()->clear(); // then add item to selection selectionModel()->select(model()->index(row,col,QModelIndex()),QItemSelectionModel::Select); setCurrentCell(row,col,QItemSelectionModel::Select|QItemSelectionModel::Current); } else QTableWidget::mouseReleaseEvent(event); InSelChange=false; emit RefreshFolderInfo(); } //==================================================================================================================== void QCustomFolderTable::mousePressEvent(QMouseEvent *event) { InSelChange=true; if ((CurrentMode!=DISPLAY_ICON100)||(event->button()!=Qt::LeftButton)) { QTableWidget::mousePressEvent(event); } else if ((rowCount()>0)&&(columnCount()>0)) { // Get item number under mouse int ThumbWidth =columnWidth(0); int ThumbHeight =rowHeight(0); int row =(event->pos().y()+verticalOffset())/ThumbHeight; int col =(event->pos().x()+horizontalOffset())/ThumbWidth; int Current =currentRow()*columnCount()+currentColumn(); int Selected =row*columnCount()+col; if (event->modifiers()==Qt::ShiftModifier) { // Shift : Add all items from current to item if (Currentselect(model()->index(i/columnCount(),i-(i/columnCount())*columnCount(),QModelIndex()),QItemSelectionModel::Select); else for (int i=Current-1;i>=Selected;i--) selectionModel()->select(model()->index(i/columnCount(),i-(i/columnCount())*columnCount(),QModelIndex()),QItemSelectionModel::Select); } else if (event->modifiers()==Qt::ControlModifier) { // Control : toggle selection for item (if is not current item) selectionModel()->select(model()->index(row,col,QModelIndex()),QItemSelectionModel::Toggle); } else { QTableWidget::mousePressEvent(event); } } InSelChange=false; } //==================================================================================================================== bool bShowFoldersFirst=true; bool ByNumber(const MediaFileItem &Item1,const MediaFileItem &Item2) { int NmA=(((bShowFoldersFirst)&&(Item1.ObjectType==OBJECTTYPE_FOLDER))?0:1); int NmB=(((bShowFoldersFirst)&&(Item2.ObjectType==OBJECTTYPE_FOLDER))?0:1); if (NmANmB) return false; bool ok1,ok2; QString NameA=Item1.ShortName; if (NameA.contains(".")) NameA=NameA.left(NameA.lastIndexOf(".")); int NumA=NameA.length()-1; while ((NumA>0)&&(((NameA[NumA]>='0')&&(NameA[NumA]<='9'))||((NameA[NumA]>='A')&&(NameA[NumA]<='F'))||((NameA[NumA]>='a')&&(NameA[NumA]<='f')))) NumA--; if (NumA>=0) { NameA=NameA.mid(NumA+1); NumA=NameA.toInt(&ok1,16); } QString NameB=Item2.ShortName; if (NameB.contains(".")) NameB=NameB.left(NameB.lastIndexOf(".")); int NumB=NameB.length()-1; while ((NumB>0)&&(((NameB[NumB]>='0')&&(NameB[NumB]<='9'))||((NameB[NumB]>='A')&&(NameB[NumB]<='F'))||((NameB[NumB]>='a')&&(NameB[NumB]<='f')))) NumB--; if (NumB>=0) { NameB=NameB.mid(NumB+1); NumB=NameB.toInt(&ok2,16); } if (ok1 && ok2) return NumANmB) return false; return Item1.ShortNameNmB) return false; if (Item1.Modified==Item2.Modified) return Item1.ShortName20) BrowsePathList.removeFirst(); // Not more than 20 path in the history ! // clear actual MediaList while (!MediaList.isEmpty()) MediaList.removeLast(); // Scan files and add them to table qlonglong FolderKey=ApplicationConfig->FoldersTable->GetFolderKey(Path); ApplicationConfig->FilesTable->UpdateTableForFolder(FolderKey,false); // request database for files to display QSqlQuery Query(ApplicationConfig->Database->db); QString QueryString("SELECT Key,MediaFileType FROM MediaFiles WHERE FolderKey=:FolderKey"); // Construct where clause depending on current filter switch (CurrentFilter) { case OBJECTTYPE_IMAGEVECTOR: case OBJECTTYPE_IMAGEFILE: case OBJECTTYPE_VIDEOFILE: case OBJECTTYPE_MUSICFILE: case OBJECTTYPE_FFDFILE: QueryString=QueryString+QString(" AND (MediaFileType=%1 OR MediaFileType=%2)").arg(CurrentFilter).arg(OBJECTTYPE_FOLDER);; break; case OBJECTTYPE_MANAGED: QueryString=QueryString+QString(" AND MediaFileType<>%1 AND MediaFileType<>%2").arg(OBJECTTYPE_UNMANAGED).arg(OBJECTTYPE_THUMBNAIL); break; } if (!ShowHiddenFilesAndDir) QueryString=QueryString+" AND IsHidden=0"; // Create column (if needed) if (CurrentMode==DISPLAY_ICON100) { int SizeColumn=GetWidthForIcon(); if (viewport()->width()/SizeColumn==0) setColumnCount(1); else setColumnCount(viewport()->width()/SizeColumn); for (int i=0;i0) MediaObject=new cFolder(ApplicationConfig); break; case OBJECTTYPE_UNMANAGED: MediaObject=new cUnmanagedFile(ApplicationConfig); break; case OBJECTTYPE_FFDFILE : if ((AllowedFilter&FILTERALLOW_OBJECTTYPE_FFDFILE)>0) MediaObject=new cffDProjectFile(ApplicationConfig); break; case OBJECTTYPE_IMAGEFILE: if ((AllowedFilter&FILTERALLOW_OBJECTTYPE_IMAGEFILE)>0) MediaObject=new cImageFile(ApplicationConfig); break; case OBJECTTYPE_IMAGEVECTOR: if ((AllowedFilter&FILTERALLOW_OBJECTTYPE_IMAGEVECTOR)>0) MediaObject=new cImageFile(ApplicationConfig); break; case OBJECTTYPE_VIDEOFILE: if ((AllowedFilter&FILTERALLOW_OBJECTTYPE_VIDEOFILE)>0) MediaObject=new cVideoFile(ApplicationConfig); break; case OBJECTTYPE_MUSICFILE: if ((AllowedFilter&FILTERALLOW_OBJECTTYPE_MUSICFILE)>0) MediaObject=new cMusicObject(ApplicationConfig); break; case OBJECTTYPE_THUMBNAIL: if ((AllowedFilter&FILTERALLOW_OBJECTTYPE_THUMBNAIL)>0) MediaObject=new cImageFile(ApplicationConfig); break; // to avoid warning case OBJECTTYPE_IMAGECLIPBOARD: case OBJECTTYPE_MANAGED: case OBJECTTYPE_GMAPSMAP: break; } if (MediaObject) { MediaObject->ObjectType=ObjectType; MediaObject->FolderKey =FolderKey; MediaObject->FileKey =FileKey; MediaObject->GetInformationFromFile(MediaObject->FileName(),NULL,NULL,FolderKey); AppendMediaToTable(MediaObject); // Append Media to table MediaList.append(MediaFileItem(MediaObject)); if (CurrentMode==DISPLAY_DATA) { QStringList ExtendedProperties; ApplicationConfig->FilesTable->GetExtendedProperties(MediaObject->FileKey,&ExtendedProperties); for (int Col=0;ColShortName()); } } delete MediaObject; } } // Sort files in the fileList bShowFoldersFirst=ShowFoldersFirst; if (SortFile==SORTORDER_BYNUMBER) qSort(MediaList.begin(),MediaList.end(),ByNumber); else if (SortFile==SORTORDER_BYNAME) qSort(MediaList.begin(),MediaList.end(),ByName); else if (SortFile==SORTORDER_BYDATE) qSort(MediaList.begin(),MediaList.end(),ByDate); //********************************************************** // Update display DoResizeColumns(); if (updatesEnabled()) setUpdatesEnabled(false); setUpdatesEnabled(true); // Start thread to scan files ScanMediaList.setFuture(QtConcurrent::run(this,&QCustomFolderTable::DoScanMediaList)); QApplication::restoreOverrideCursor(); SaveSettings(); } //==================================================================================================================== bool QCustomFolderTable::CanBrowseToPreviousPath() { return (BrowsePathList.count()>1); } //==================================================================================================================== QString QCustomFolderTable::BrowseToPreviousPath() { if (BrowsePathList.count()>1) { QString Path=BrowsePathList.takeLast(); // Actual folder Path=BrowsePathList.takeLast(); // Previous folder return Path; } else return ""; } //==================================================================================================================== bool QCustomFolderTable::CanBrowseToUpperPath() { if (BrowsePathList.count()>0) { QString Path=QDir::toNativeSeparators(BrowsePathList[BrowsePathList.count()-1]); // Actual folder if (Path.endsWith(QDir::separator())) Path=Path.left(Path.length()-1); #ifdef Q_OS_WIN if ((Path.length()==2)&&(Path.at(1)==':')) return false; // if it's a drive ! #endif QStringList PathList=Path.split(QDir::separator()); return PathList.count()>0; } else return false; } //==================================================================================================================== QString QCustomFolderTable::BrowseToUpperPath() { QString Path=""; if (BrowsePathList.count()>0) { Path=QDir::toNativeSeparators(BrowsePathList[BrowsePathList.count()-1]); // Actual folder if (Path.endsWith(QDir::separator())) Path=Path.left(Path.length()-1); #ifdef Q_OS_WIN if ((Path.length()==2)&&(Path.at(1)==':')) return ""; // if it's a drive ! #endif QStringList PathList=Path.split(QDir::separator()); #ifdef Q_OS_WIN Path=""; #else if ((PathList.count()>0)&&(PathList[0]=="")) Path="/"; else Path=""; #endif for (int i=0;i SelMediaList; GetCurrentSelectedMediaFile(&SelMediaList); QStringList Files; for (int i=0;iFileName()); while (!SelMediaList.isEmpty()) delete SelMediaList.takeLast(); return Files; } //==================================================================================================================== void QCustomFolderTable::GetCurrentSelectedMediaFile(QList *SelMediaList) const { QModelIndexList SelList=selectionModel()->selectedIndexes(); QList List; for (int i=0;iappend(Media); } } //==================================================================================================================== cBaseMediaFile *QCustomFolderTable::GetCurrentMediaFile() { cBaseMediaFile *MediaObject=NULL; if (currentRow()>=0) { int Index; if (CurrentMode==DISPLAY_DATA) Index=currentRow(); else Index=currentRow()*columnCount()+currentColumn(); if (IndexsectionSizeHint(i); QImage Image(100,100,QImage::Format_ARGB32_Premultiplied); QPainter Painter; Painter.begin(&Image); for (int ItemIndex=0;ItemIndexcopy(): QImage(); int DecalX =(!ImageToDisplay.isNull()?18:0); QFont font("Sans serif",9,QFont::Normal,QFont::StyleNormal); font.setBold(MediaList[ItemIndex].ObjectType==OBJECTTYPE_FOLDER); font.setUnderline(false); Painter.setFont(font); QFontMetrics fm =Painter.fontMetrics(); int Size=fm.width(TextToDisplay)+4+DecalX; if (ColSize[Col]500) ColSize[Col]=500; if (columnWidth(Col)!=ColSize[Col]) setColumnWidth(Col,ColSize[Col]); } } this->viewport()->update(); emit RefreshFolderInfo(); } } //==================================================================================================================== void QCustomFolderTable::AppendMediaToTable(cBaseMediaFile *MediaObject) { int Row=rowCount(); int Col=0; if (MediaObject->ObjectType==OBJECTTYPE_FOLDER) { // Specific for folder : don't wait thread but call GetFullInformationFromFile now MediaObject->GetFullInformationFromFile(); CurrentShowFolderNumber++; } else { CurrentShowFilesNumber++; CurrentShowFolderSize+=MediaObject->FileSize; } if (CurrentMode==DISPLAY_DATA) { insertRow(Row); #if QT_VERSION >= 0x050000 verticalHeader()->setSectionResizeMode(Row,QHeaderView::Fixed); #else verticalHeader()->setResizeMode(Row,QHeaderView::Fixed); #endif setRowHeight(Row,GetHeightForIcon()+2); } else { int NbrCol=columnCount(); // Check if we need to create a new line if (CurrentDisplayItem/NbrCol==rowCount()) { insertRow(Row); #if QT_VERSION >= 0x050000 verticalHeader()->setSectionResizeMode(Row,QHeaderView::Fixed); #else verticalHeader()->setResizeMode(Row,QHeaderView::Fixed); #endif setRowHeight(Row,GetHeightForIcon()); } else { Row--; } } update(model()->index(Row,Col)); CurrentDisplayItem++; } //==================================================================================================================== void QCustomFolderTable::DoScanMediaList() { if (InScanMediaFunction) return; InScanMediaFunction=true; CurrentShowDuration=0; for (int ItemIndex=0;(ItemIndexGetFullInformationFromFile(); // Get full information // Update display while (!MediaList[ItemIndex].TextToDisplay.isEmpty()) MediaList[ItemIndex].TextToDisplay.removeLast(); if (CurrentMode==DISPLAY_DATA) { QStringList ExtendedProperties; ApplicationConfig->FilesTable->GetExtendedProperties(MediaObject->FileKey,&ExtendedProperties); for (int Col=0;Colindex(ItemIndex,Col)); } else { MediaList[ItemIndex].TextToDisplay.append(MediaObject->ShortName()); int Row=ItemIndex/columnCount(); int Col=ItemIndex-Row*columnCount(); update(model()->index(Row,Col)); } delete MediaObject; } if ((MediaList[ItemIndex].ObjectType==OBJECTTYPE_MUSICFILE)||(MediaList[ItemIndex].ObjectType==OBJECTTYPE_VIDEOFILE)||(MediaList[ItemIndex].ObjectType==OBJECTTYPE_FFDFILE)) CurrentShowDuration=CurrentShowDuration+QTime(0,0,0,0).msecsTo(MediaList[ItemIndex].Duration); } // Clear ScanMediaListProgress flag to inform that scan is done ScanMediaListProgress=false; // Send message to ResizeColumns if (!StopAllEvent) emit NeedResizeColumns(); InScanMediaFunction=false; } //==================================================================================================================== QMenu *QCustomFolderTable::PrepSettingsMenuMenu(QWidget *Parent) { QMenu *ContextMenu=new QMenu(Parent); ContextMenu->addAction(CreateMenuAction(QIcon(":/img/SortByNumber.png"), QApplication::translate("MainWindow","Sort by number"), ACTIONTYPE_SORTORDER|SORTORDER_BYNUMBER, true,SortFile==SORTORDER_BYNUMBER, Parent)); ContextMenu->addAction(CreateMenuAction(QIcon(":/img/SortByName.png"), QApplication::translate("MainWindow","Sort by name"), ACTIONTYPE_SORTORDER|SORTORDER_BYNAME, true,SortFile==SORTORDER_BYNAME, Parent)); ContextMenu->addAction(CreateMenuAction(QIcon(":/img/SortByDate.png"), QApplication::translate("MainWindow","Sort by date"), ACTIONTYPE_SORTORDER|SORTORDER_BYDATE, true,SortFile==SORTORDER_BYDATE, Parent)); ContextMenu->addAction(CreateMenuAction(ApplicationConfig->DefaultFOLDERIcon.GetIcon(cCustomIcon::ICON16), QApplication::translate("MainWindow","Show folder first"), ACTIONTYPE_ONOFFOPTIONS|ONOFFOPTIONS_SHOWFOLDERFIRST, true,ShowFoldersFirst, Parent)); ContextMenu->addSeparator(); int ForceManaged=0; if ((AllowedFilter&FILTERALLOW_OBJECTTYPE_MANAGED)!=0) ForceManaged++; if ((AllowedFilter&FILTERALLOW_OBJECTTYPE_IMAGEFILE)!=0) ForceManaged++; if ((AllowedFilter&FILTERALLOW_OBJECTTYPE_IMAGEVECTOR)!=0) ForceManaged++; if ((AllowedFilter&FILTERALLOW_OBJECTTYPE_VIDEOFILE)!=0) ForceManaged++; if ((AllowedFilter&FILTERALLOW_OBJECTTYPE_UNMANAGED)!=0) ContextMenu->addAction(CreateMenuAction(ApplicationConfig->DefaultFILEIcon.GetIcon(cCustomIcon::ICON16), QApplication::translate("MainWindow","All files"), ACTIONTYPE_FILTERMODE|OBJECTTYPE_UNMANAGED, true,CurrentFilter==OBJECTTYPE_UNMANAGED, Parent)); if (ForceManaged>1) ContextMenu->addAction(CreateMenuAction(ApplicationConfig->DefaultFILEIcon.GetIcon(cCustomIcon::ICON16), QApplication::translate("MainWindow","Managed files"), ACTIONTYPE_FILTERMODE|OBJECTTYPE_MANAGED, true,CurrentFilter==OBJECTTYPE_MANAGED, Parent)); if ((AllowedFilter&FILTERALLOW_OBJECTTYPE_IMAGEFILE)!=0) ContextMenu->addAction(CreateMenuAction(ApplicationConfig->DefaultIMAGEIcon.GetIcon(cCustomIcon::ICON16), QApplication::translate("MainWindow","Image files"), ACTIONTYPE_FILTERMODE|OBJECTTYPE_IMAGEFILE, true,CurrentFilter==OBJECTTYPE_IMAGEFILE, Parent)); if ((AllowedFilter&FILTERALLOW_OBJECTTYPE_IMAGEVECTOR)!=0) ContextMenu->addAction(CreateMenuAction(ApplicationConfig->DefaultIMAGEIcon.GetIcon(cCustomIcon::ICON16), QApplication::translate("MainWindow","Image vector files"), ACTIONTYPE_FILTERMODE|OBJECTTYPE_IMAGEVECTOR, true,CurrentFilter==OBJECTTYPE_IMAGEVECTOR, Parent)); if ((AllowedFilter&FILTERALLOW_OBJECTTYPE_VIDEOFILE)!=0) ContextMenu->addAction(CreateMenuAction(ApplicationConfig->DefaultVIDEOIcon.GetIcon(cCustomIcon::ICON16), QApplication::translate("MainWindow","Video files"), ACTIONTYPE_FILTERMODE|OBJECTTYPE_VIDEOFILE, true,CurrentFilter==OBJECTTYPE_VIDEOFILE, Parent)); if ((AllowedFilter&FILTERALLOW_OBJECTTYPE_MUSICFILE)!=0) ContextMenu->addAction(CreateMenuAction(ApplicationConfig->DefaultMUSICIcon.GetIcon(cCustomIcon::ICON16), QApplication::translate("MainWindow","Music files"), ACTIONTYPE_FILTERMODE|OBJECTTYPE_MUSICFILE, true,CurrentFilter==OBJECTTYPE_MUSICFILE, Parent)); if ((AllowedFilter&FILTERALLOW_OBJECTTYPE_FFDFILE)!=0) ContextMenu->addAction(CreateMenuAction(ApplicationConfig->DefaultFFDIcon.GetIcon(cCustomIcon::ICON16), QApplication::translate("MainWindow","ffDiaporama project files"), ACTIONTYPE_FILTERMODE|OBJECTTYPE_FFDFILE, true,CurrentFilter==OBJECTTYPE_FFDFILE, Parent)); ContextMenu->addSeparator(); if (ShowHiddenFilesAndDir) ContextMenu->addAction(CreateMenuAction(QIcon(":/img/Visible_KO.png"), QApplication::translate("MainWindow","Hide hidden files and folders"), ACTIONTYPE_ONOFFOPTIONS|ONOFFOPTIONS_HIDEHIDDEN, true,false, Parent)); else ContextMenu->addAction(CreateMenuAction(QIcon(":/img/Visible_OK.png"), QApplication::translate("MainWindow","Show hidden files and folders"), ACTIONTYPE_ONOFFOPTIONS|ONOFFOPTIONS_SHOWHIDDEN, true,false, Parent)); if (CurrentMode==DISPLAY_ICON100) { if (DisplayFileName) ContextMenu->addAction(CreateMenuAction(QIcon(":/img/Visible_KO.png"), QApplication::translate("MainWindow","Hide files name"), ACTIONTYPE_ONOFFOPTIONS|ONOFFOPTIONS_HIDEFILENAME, true,false, Parent)); else ContextMenu->addAction(CreateMenuAction(QIcon(":/img/Visible_OK.png"), QApplication::translate("MainWindow","Show files name"), ACTIONTYPE_ONOFFOPTIONS|ONOFFOPTIONS_SHOWFILENAME, true,false, Parent)); } return ContextMenu; } //==================================================================================================================== enum ActionDataType { actionBrowserOpen, actionBrowserAddFiles, actionBrowserProperties, actionBrowserRenameFile, actionBrowserRemoveFile, actionBrowserUseAsPlaylist, actionBrowserOpenFolder }; void QCustomFolderTable::s_ContextMenu(const QPoint) { QList MediaList; GetCurrentSelectedMediaFile(&MediaList); if (MediaList.count()==0) return; bool Multiple=(MediaList.count()>1); bool IsFind; // Do qualification of files QStringList FileExtensions; QList ObjectTypes; for (int i=0;iFileName()).completeSuffix(); IsFind=false; for (int j=0;jObjectType==ObjectTypes[j]) IsFind=true; if (!IsFind) ObjectTypes.append(MediaList[i]->ObjectType); IsFind=false; for (int j=0;jaddAction(CreateMenuAction(QIcon(":/img/add_image.png"), QApplication::translate("MainWindow","Add files to project"), (int)actionBrowserAddFiles, false,false,this)); if (!IsAddToProjectAllowed && IsMedia) ContextMenu->addAction(CreateMenuAction(QIcon(":/img/add_image.png"), QApplication::translate("MainWindow","Select this file"), (int)actionBrowserAddFiles, false,false,this)); if (IsAddToProjectAllowed && IsMusic) ContextMenu->addAction(CreateMenuAction(QIcon(":/img/object_sound.png"), QApplication::translate("MainWindow","Use as new playlist"), (int)actionBrowserUseAsPlaylist,false,false,this)); if (!Multiple && !IsFolder) ContextMenu->addAction(CreateMenuAction(QIcon(":/img/Action_Open.png"), QApplication::translate("MainWindow","Open"), (int)actionBrowserOpen, false,false,this)); if (!Multiple && IsFolder) ContextMenu->addAction(CreateMenuAction(QIcon(":/img/Action_Open.png"), QApplication::translate("MainWindow","Open"), (int)actionBrowserOpenFolder, false,false,this)); if (!IsFolder && !Multiple) ContextMenu->addAction(CreateMenuAction(QIcon(":/img/Action_Info.png"), QApplication::translate("MainWindow","Properties"), (int)actionBrowserProperties, false,false,this)); if (IsRenameAllowed && IsFolder && !Multiple) ContextMenu->addAction(CreateMenuAction(QIcon(":/img/action_edit.png"), QApplication::translate("QCustomFolderTree","Rename folder"), (int)actionBrowserRenameFile, false,false,this)); if (IsRemoveAllowed && IsFolder) ContextMenu->addAction(CreateMenuAction(QApplication::style()->standardIcon(QStyle::SP_TrashIcon),QApplication::translate("QCustomFolderTree","Remove folder"), (int)actionBrowserRemoveFile, false,false,this)); //":/img/trash.png" if (IsRenameAllowed && !IsFolder && !Multiple) ContextMenu->addAction(CreateMenuAction(QIcon(":/img/action_edit.png"), QApplication::translate("MainWindow","Rename"), (int)actionBrowserRenameFile, false,false,this)); if (IsRemoveAllowed && !IsFolder) ContextMenu->addAction(CreateMenuAction(QApplication::style()->standardIcon(QStyle::SP_TrashIcon),QApplication::translate("MainWindow","Remove"), (int)actionBrowserRemoveFile, false,false,this)); //":/img/trash.png" QAction *Action=ContextMenu->exec(QCursor::pos()); if (Action) { int ActionType=Action->data().toInt(); switch (ActionType) { case actionBrowserOpen: emit OpenFile(); break; case actionBrowserOpenFolder: emit DoubleClickEvent(); break; case actionBrowserAddFiles: emit InsertFiles(); break; case actionBrowserProperties: QTimer::singleShot(LATENCY,this,SLOT(s_Browser_Properties())); break; case actionBrowserRenameFile: emit RenameFiles(); break; case actionBrowserRemoveFile: emit RemoveFiles(); break; case actionBrowserUseAsPlaylist: emit InsertFiles(); break; } } // delete menu while (ContextMenu->actions().count()) delete ContextMenu->actions().takeLast(); delete ContextMenu; while (!MediaList.isEmpty()) delete MediaList.takeLast(); } //==================================================================================================================== void QCustomFolderTable::s_Browser_Properties() { cBaseMediaFile *Media=GetCurrentMediaFile(); if (Media) { DlgInfoFile Dlg(Media,ApplicationConfig,this); Dlg.InitDialog(); Dlg.exec(); delete Media; } } ffDiaporama/src/ffDiaporama/img/0000777000175000001440000000000012275647314016773 5ustar dominiqueusersffDiaporama/src/ffDiaporama/img/zoomup.png0000777000175000001440000000132512275647257021044 0ustar dominiqueusersPNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<gIDAT8˥Kq zäqV(uD).Vۚ:nWS$#aKkz+mmL36v„"=>>}1: /8y>o??#TX|M-Rv,n1O1Eirf&F@lN.`9QXһ pg\{?~+E4  @[ˤ:!9%)ʅx.D F8]ND3deH']\ӍNtqP|PSt jʙЈ2A>"eƍ헮?F>3eh=,RA$!d8 «Y97'@77DQf5Ž֧@x&_mjn-̶/=e,ZbT\y—Gu+{!V%E[&ת+C0o2A Q{`:Nپ:ZpۅHy ;{`dSTyWF CT>;/좓IENDB`ffDiaporama/src/ffDiaporama/img/zoomdown.png0000777000175000001440000000130412275647262021360 0ustar dominiqueusersPNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<VIDAT8˥kRQ`A nozѨK?!eMmm9%Mٲñ&5d^lxusnSA/ ** խ(6ZDsŵ>9Gׁ 5lcf l"|n^'iṞ![>DQDί'r::;Hjle pg,.\ ZqBx5K$b+M,*$GmiQWI2V&ahQQU8Qt)!?D~s Ht+TZ4 Y h,Y9t)>;#(D{k |sG,â\6o7`֧GKD6,8|w#ûUK3A.߮X  4w6p^8{x}u6xYWí\O"bKe1!ޱc[ 'zf>]"-Sl܃<^ = ɲ 0ۍan2^=D6ܴ`cw)䫠iJ|rRIENDB`ffDiaporama/src/ffDiaporama/img/zoom.png0000777000175000001440000000203512275647256020475 0ustar dominiqueusersPNG  IHDRw=sRGBbKGD pHYs  tIME+ƺ?XIDATHǵKkG?3 DSј.ÍWP!nR]E6\t!Bަv%[ZWZCnϼ7Dދb̜{>s s&D2ͦ4MSLl, X[?RqBضM6e{{%L\inn~ǿ %onn>**ضa gcc cq9wLQ$p@ @}}=pB~Ogg'ʽTKK˯7/t]IQ)~?`~?^˅|s||,ONN4/$@wwwҶ jjja<. )%RDJ磭t:MXOVdT2 Gmm-B!>rhww7DUUS)x<B"bbWB0<#ssslll@ţ¶mb(+#ե޹\fgg4<-qBBRb* |{{.( "֟^=pqqq!H<{E_5tUd-EQLȽ%ɪNh4j5rX oR> jU<IENDB`ffDiaporama/src/ffDiaporama/img/undo24.png0000777000175000001440000000256312275647257020633 0ustar dominiqueusersPNG  IHDRw=:IDATHˏW[]]3qbma A@[0XH,A  ;d!@b (DEJLxf<ϪzârJG::Dz`jϧ'qf D0ss Or,"ks6_|:%74lE f{:μ%l.G Kn% #_MO ڰL@=pUTA^ױ%[ݭ?Λ[f56؝aA+WU}N˽ĥ%T2+NѺ V.M^x NJ=խ՗ٻnvm.#WۛBH`b_~+rivJx5Cf@LF&X,x*+"'K Lh.]SGVϿ1ʨ:U[kYL3iF1AJ RtN2Hᢥ4YYZdl3}s _t廤)Eg|5vQ!1q$b=T39i1&Lv& ~>Yj63Z_^\zZmK?ӏWXj/"]h3gȐ !Y3eCl ť ڬp rXk ~Lo_qڛE`ƉEDTZRF6x+%!XI1v_%^BwBB+h4FOޅv'836-_S̭ cÈFqGf6.N(NLS^- A8?Oj@vQ]$ `fbrNJX:6zjҩ+g9b?Ї-k"H&bJZ:QAD J sg16o6<695 џ~m~B{mª&UQa*]Pdӑlx|)})w4lg.]Re4oT%s$rܑ9Q)a6IgfɫIOG (ga7ZV%IџIQ]{sgƥ A-xG @sjUv/쀈IENDB`ffDiaporama/src/ffDiaporama/img/undo.png0000777000175000001440000000671412275647241020460 0ustar dominiqueusersPNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxLMoU1xƎcI0   B5?.@"lB|@]*D7B#qg{Y8r|9:f8B{]漫RzKD*p`G1AzME LgNs]WrC%UWu7hh5f>8"i5! k(6 31ć)pr>p_OTn\}Wz s`X yR [ ˃M-gӓj;('0"#'!&'dQJ}ӃZ0ZZWW.<ͭk}%Y~9zJI%`dZۿ_"sZ,Ӛ.%]JRY\jSkW bOr e_^+ :wY(o\oW0] ^xou{o&:1Ekkڣ۞ O<ƀsDdma9- 2yMG /<S) ȑDc BNLw,\.˭=߶e5]qʴArIJ =V KJIENDB`ffDiaporama/src/ffDiaporama/img/tv.png0000777000175000001440000000223612275647307020142 0ustar dominiqueusersPNG  IHDRw=eIDATHI3ozCBwLBD!BAğ@쐐. A8@hw-߭Λ"ye0R5W??xۣ#qr7#Pa9{6z7vz'i\|ѻsmgWWW\xNB.FΙRf{zGױ2/~w||d$$#$UN""_#~[?RJVwϏ38 ͐)Y(IP ;{5j|?<Dfy?I@K''!r#0;v}wĩqлѤҚ!ޱB@ 2YtR檄$j(wޙ̾6R"AV`TeFJHֆNYfFyn`ޝw !R"{0FmJm dJG;V P3(K&$UfPUHN^z_2wڸfFiJJ4]jJډd c$QuPfCoΐ3!Z In3s_;jt8"{=PmHI6UЮnBB,ͺ݄D'D HJH)/6=0Xu!/E3Rq@Uyސ(Cr렃ҠB:֝C~ <sN2aJJ ɂ "[j7:74)s?;(q/|{)'2#"dH)1#9` ,eqAD͆c/r a0fCJ‹/w RhhQJJϴhM򳫵߹~?y=11D%8!IH^2.n_tqr=ztɓ8m㓓v-lK)G)Qj=@*&ح붘dF~c.o5s>,]fƷcIENDB`ffDiaporama/src/ffDiaporama/img/trash.png0000777000175000001440000000203312275647314020623 0ustar dominiqueusersPNG  IHDRw=IDATHoEں8v,O؇HE D(8q@\DDKAbl1Nb{`zʫwd3],'y0ǎ,ZZ29y}=uwsٝ/ONw0Й+b۷`(*u1`k]ǥ[lmɓSݨr˫ 8H\fiyWN{=ċ/癜bo_;R A@+8}4.׏rF3A@?4 333͛\>5 !CF#i]{@AE֊BᡙIkQiy9 9@CAp6mh"ҌJ -(%"|@p!4@kkާwE$^VkRKBb@Pp1J2*AkڻEQDhCEmqudcPcpEDƴ7]2C)"޵ӻol00$hPExVJkxՃ]ٵK\sZҥBBHdS?r.Clm5`{݅}|DžT? \H_ߞ)ӏBHZKG93Bl6|h._n>i)IEX 8&.pQR ZkN:67k޹0Vc Ru6VrlX__ZwfkOT*:I7WVV~v\cB2Zc!bL?+ZֳU>8c."1f %~>lNIENDB`ffDiaporama/src/ffDiaporama/img/transparent.png0000777000175000001440000000027212275647256022053 0ustar dominiqueusersPNG  IHDRh6sRGB pHYs  tIME35crtEXtCommentCreated with GIMPW'IDAT(cLKKc31F5XpٳgGC~EUIENDB`ffDiaporama/src/ffDiaporama/img/tr-00-01_small.png0000777000175000001440000000176012275647241021757 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME &فftEXtCommentCreated with GIMPWXIDATHǵk]EksRDb-6Q`+y_ *}h Ao/jA/EDE(}(R0MCbhsԜgϞÉpr%ÆٳY7"*%Pvh/% ^Bto(-fsO toY/'b#Q;sde2iA,;'P 0QQX "[AìƝ}L/9eVBl"#Ya@Ņ VHUĂ H(gAZU\8ܧ}zy&j9R<:OHɽH gyx~t?op.$P&W " R.TSd ly|B" I>ةآ(G$@`UR,@".Y2GvX@`B, 8C L0ҿ_pH˕͗K3w!lBa)f "#HL 8?flŢko">!N_puk[Vh]3 Z zy8@P< %b0>3o~@zq@qanvRB1n#Dž)4\,XP"MyRD!ɕ2 w ONl~Xv@~- g42y@+͗\LD*A aD@ $<B AT:18 \p` Aa!:b""aH4 Q"rBj]H#-r9\@ 2G1Qu@Ơst4]k=Kut}c1fa\E`X&cX5V5cX7va$^lGXLXC%#W 1'"O%zxb:XF&!!%^'_H$ɒN !%2I IkHH-S>iL&m O:ňL $RJ5e?2BQͩ:ZImvP/S4u%͛Cˤ-Кigih/t ݃EЗkw Hb(k{/LӗT02goUX**|:V~TUsU?y TU^V}FUP թU6RwRPQ__c FHTc!2eXBrV,kMb[Lvv/{LSCsfffqƱ9ٜJ! {--?-jf~7zھbrup@,:m:u 6Qu>cy Gm7046l18c̐ckihhI'&g5x>fob4ekVyVV׬I\,mWlPW :˶vm))Sn1 9a%m;t;|rtuvlp4éĩWggs5KvSmnz˕ҵܭm=}M.]=AXq㝧/^v^Y^O&0m[{`:>=e>>z"=#~~~;yN`k5/ >B Yroc3g,Z0&L~oL̶Gli})*2.QStqt,֬Yg񏩌;jrvgjlRlc웸xEt$ =sl3Ttcܢ˞w|/%ҟ3bKGD pHYs  tIME ѱ IDATxُeٕ[ks##2+3kJVqZj C C = a=d`vwlvS"Y5{aL&K]̻@UEF8ܳ^[-yZZglݾ}=>>^݉Zzlll[+ZL_7U%ZZ*PEVwcVk*jֳU\Zg4*j3"jj=PV]ZzF ZZnjjֳ[njjJZZU ZZdZZ pVkVkjj2ZZ_RjֳWjj=XZg4\UZfxVk pu/VkV pVkXW jj=UxVkxj3jj=pUjֳ[ZV-WB|]sE,]<^Yh!B*'x1~a^?U43O~ |!g]>BH3?U6~^O i:=?O~Y?m__~wĠlgB{OY~sloVpUE]DqR36|?| hw?~_?Ozמ^{?O/<ڿܓ2;*pդ1Ag7{Jaș7yr3 Ч{gؤn90W,z~>i` ?ѓo?7Qʀ<<AWR'7|('%+YȵYs⏋+OՕײ`b-A2&hWiza~F,z֋j9-~i)ǬŗT4~={eǢ:B6ŢłP3C4!yz\މo?/)!-~">D{Nx=p+WX`T _^LJ'}*x޿7߿~#J8Ҷ)>I`q AM0ꔹ͐6K B!|I&ϠK !~&$l̜!tboZp&8 Y/˒0CNZ)܏ZR:jB T\Zu)L&AA@ ,ɬe  4foTE ֖k-J>ߦo 9[֐OMP13S>T,3{Ϲ f?gIxrm r°v@O@BD!-q#,1B3F`#9" "5O 3-~GfI{)f7nܛN5eT!~Osa6?.>(HmȒh MRPŖB\ 1:nX)Kf]9S2q]櫪 9f1,- j~ɹY) Ūt-4F !`B 3x"&) $/Y@S /uYq0ùX5R"* \w@-cJ P`mBuJQ @04B3QU{;w>p֑VţVa$iƍcV:m4fhov͂R&r%B=쬇lMjګWҋFB̧׋myZ~ԥ dڰXI t-XW撶dV]BthrLTZ:,b){2>`ɄH ~ZeaiO? A1O5T@fW" rG}[C+%oγuH=.~h@( B4T91H\t ^"ḫJs.J`G,2ACw1ʁg҈8 wGHX|jYlCSi|`2mh@"Č=!tRɖOgP LB ʚnxoz`)Nsz)#*B?Y'@]  ҝJ KPSپ:^ֈv6[kwYl\^0gc̯tFh-x9NPnHpòô˔D bk>`'2K1KϘ{1Ɍe ef Eƥ%%&}*ӆVu,EX,<قa3|V y{[jyY,is?sbi{,$3 a.9#6BH,>>)fCe:]ES3FTZR\Őʞ:Ĥu >M KIaxHe)«jn wL%]B5p*4xЈ}j0#2 ғY,+>>G'\UXǪאsG'է^`d3":P\:v0#4iùiY JzThh9XRB J&̨Ju_,%VVh+"@3C*XSMB ɬaфII18Y 2wVUZO-;>IRL%Xh~; E8T*xI`!vŌ` d|~B܋aWOW?3zA J@Z#غ۳k-S46Oˬ]^-f\;s{6]g7 TqG\+<" Ŭ1Nr&B#c$8˪)%(`1"q_0g+wsYrPV|@ث5DL,ǧʕft`49lb4uK-_w8\zO5Q s|"=~fo?,K[']8m8fSXgkfB#^s`?՗by)9NNX[6Jԃ!!f[XzIs'͔b1.XJ; )bG.cy5UFJ"wׄa'MbU$&d2VDP<?c8k1]FD 8 ̟1bMl}6uRHށl}ʈt~\}& j)b5N9:$0B%Ojļ#fL8.cTyº+?a3g~X3bsx/,s {\7\[Qv&]&u7mhJF&$bu9NO !7zXlb8;Y.3J01+4t ՃD4׬Q4Hv@^nX)=sc״=)ArFffy *CJץ~+kT2qK\mՆ~*($?ַ;#oB_Hi A\`)ć԰{7[G)/]&'v73F{ǎ M73í!΄K/<<0?/w:o-vS/Ѡ˜`aP'!ZhS *K_/3Rxt]ӑSh9z$ЧJ`Wdf7=EzIâi#CB*J[Z2MROԙ"̕DZ N  O71LD}qqi=)ӂkR$>Foq4+,6aKz"C ?+| }h[?1$dxm|iږmY,fA44MC۴4mK4\}FC7UbpY۹?p9~IY;ԃ̧3 .\c0pq;9ڇsZl Z#]6c7A%jS*̡VEf^$T ֓j^ w8yPJ^۴X 7ҧĀئ23b +%^ qL `'x0pH]g&؝(AdY#bx0FKp\`fT)HgQՓ!N֘3M:w>H~%OrnA=*¹ \kw?-$)AsϽ*d жm>g!Z(oއb|Z i9\QEHǡ42 x?p/62^ـ1{[טӊ`7G5u[z s ˅k'\޽LMپNp3`1pp!z ]`kbNS!zc񀽵o1k795>pm|˟fs47oNvoLCrx4NkFcє9ϣ{ ''zaKfk/U L⩘B[ġTC봵W{2󧗝0IngFzenKBtڰhRUR'X xex X ډkuLS )rALvݢA Y%"%K{"Fsͽz$1 "fk5ác0 B5Z+AjPs*5R?4xdG8 `jWlXz]+"{ok~6sf_QUO}ame}]ѺBUzTC֨"-n>20ڌ)_<崑%]~/=|ƠL^V3=x[44X@vN;u$_(ܧ9§a6v#Mnpγ9Rgp;ptB̦ {/LwٻzGٹ<a;&eLzs?`ɯЬ'u"ucJ,h,<f\ר*Җ #bD4%S6r088mh#G[4 A:8]H4Y'}cB8O&2:EzO'U˜*||o1,Ĩ"8+ 6{W>u&Gˆ#;'ع`s}1K'\=轖vֲƥ6XܸwFl8Fe u@5vlSMn7.pjV3m2K 5pZE> -{9TYiʒ6לMax9Wr,f yS24LBX镛=UE̦ro8.`H2o1:wr iMS@1+7\453Rؙ:YU}qe-V)b槙 ]]ʟ(ΞsE#?IqE1`IKZU$+3$p 0Sf%mg+:X*w,XHh=Fɔ[ ׮U7^7Dunt8l'PM){WQclnn!y҄f]v" }3.MR#Mw,)٤3Snr[Q:'ˆfL! 븆$CO>}׎)%J2Л!gY&}v ZlrX1 :WaIc.xߵ | XC BH벶%\)U?h#OܫǧdOP_(ɪ)>o 1P Q:o-RF$zOeG=kU_![=G|0? 7kU!onOo99/3[SGƒc^61vꘝ{)e c3;N+< ;\r_x4ʵ/뷄;8v,`+8CKqY,ds݆NdYƪݟ  E hsוMYQ 4DWnfuRudxuZgf C;8.b$`>3O9:Q.!Nb$,\4!I,x1 _Ldmpccџ >nBl>_QEd|*%5, ŕ7Uc& ѩB@lQs/}f7?Do>6:lK;bޤuo\.יJւv>~`]o=|dbaȸf:9w?e1`p<6 pG 5bZaD2Vj&y})ix(o7?8mqt: UGNg`.~{ "*qNDhkOҹ 9uIlEiWYX{zEks0H8Ma]\ i8RJ C);&SsBW i)I-ʦ);~&qEd= )%sG AJ*/ YU2͊A#ȣ̵Kn M_gcwܥK dzm?ťW"n`<8#׷YzR ΄ y֨cwZTճ_x19m#.~ONscn/ƍ,,&@xU]s sŭ$ Z= N4O\й\ڤIU1Z\\D5eѝES=^KE'bLl.H!XaKux!c[u幔 +MM{-cI;8 tMU"SckJtF̤Od3 %ЊEú*dT1!_8bRf9_-eifc!8D cʿe'!W/2ܿNph&S 8c>ip"I^x߸˸Xsg- w]?#$f!j4 [6{/|=="u[R|aq IDATn"e"T .DGj%c,7=7!e RLBB(;̒\&AK$HFc>Y(}5M#w;Aq 6ᐢ!.\D1SKѲ!a@Bri0b7 >fy\-ƧzQ`&QJ&eYIӚV4[ |PIΕ+FHXLk*ҋif+0ROyg 9z[&>ya{|o<~-kۄӖsģŜ͍uƗ60.|]Æݽ]j2k B8;g~ mXLv6bM=O0BMrmT|nCYƤCL:t3<:7✏+2t֖-swyQduZ Ds}d]gwi]kK{%/ v,JJӋd˒=TG񏈝݌ufu֡dV޷T!uԓ{襨UGs:%S#E喺E;DZJz#3Y`~n4Yp=Wo.Eȝ _f.^ZћIS \u+ н2'ʹͷ)|&ϩFZuJ{otGw3N̹x8`4r4 $0w i@+d:±Xr=y5^|K#'LX%Q!aP0(YQewQfDqDͤ18WtLX*#3c?}Y'URʐB)1 ,!u}ӈ)1a|HDrNsAJƙJ554 &LnP,#+ܦcǪFJ:il!iq.]{6H}63r7ŕًԑL!c_Jzma_z]:"XmN޻կm{q~Ff׮2n2}̥W_bchlr|4E6w9> 5և|qx#0qO3uhcccGրɄGoZ3/S@:}U|F{5Y IV&wdo=Ly.jğoB* sViDOC6<$th$džIqU=~vZ=<-vb%,pIIafmOߏ0>N/J@jXsrciԭ#G>qi^nO=罞h5ei6Gh:,wvK!e3 k{&8Z[\/+42gK>|/3֦fίf8Ns:9q=dQfKϱuAxz_[{&C1v_XgtM笍k1p鏭H2mfQP$Svh8m#ur-*+,WLpZ ☒UynX"4u4s]7Odgx_65 Hҫdf@+Z.32Qh! O#L|gU:Q; s|K(,Ҏ~eL`T?"Թx 8Hq@'`ۮe)CO*z29ǃd2amm`skcӼ|3d{k~>MB KIT+}˾|IΝ;^:cRdXR fp4^"`Y鬄D6b|9x `n|[%Afxf7iX2!+cΟ)Gwj͠j ~[75~ĸE㹺ldSu|Q*\{ݫ{85z}K Wr_λoqZ1tmN!ؼp-P9-eqf裃ҧD6b,Z.76^%U?*u1 ݠ&M}񲧣h&f -fd`%{YU %DnJaH$M 7, _O߶38 +WNjU1*{-T0Dj6>kˎ͘L&3КRҵm[9UU/b2q6zJh;Ue:p8O`d53˴AuY{vǗHeUl7O,Eo1:Ǻ +*Bj X߈r,kQm:S|29>Cl_E0fv71{1n2!k'3N[*7͙N6_eds?&s޺si{p Tk/w/}3 G.d,!y $Ff8QHN|=^M'z̓%fVYjQq4)*(ƭᒳt('rζ.A Eż t͏be@(|ubF!'}[~rk_NJNx*SWC$cٟv(ب9?mZ)}¶m/s%+U)Ϫ9#Jܾ}1D߅h9w^6azVDqEɚOSNࢨ2O0 $<TICGR4 ͛X(!DJi9Ǩ 08y453/l0}$|GA_ԋcwޝwuŤ >z8} 12=6ϱsK;U| (;_* vٽ(]pj R˒;迈 I#I\H3%Ga=_+ʺ΃=lY!n"+մf 2z3n{νWsŐF?7?Ԛڜ=GtdNr0PNp~;s׾1>ƣz90;pmɔw߸f8nbg7l2\c^<^ XX,c'QDד8u3 *򤴢"c2k$wMT(#+hkO5ЬNGx?kCcdI9D;bskeLwpFӅn.M>C q`|,U:uCi @ϤsY("Jx[8E2fQ;{Pu!yP7K~8 K&&4LT!"=dv!Jg; >O+f7ŃX&2d>1Xj5Q<%kC9SyD z%IəE>{s+|JT%⦕3j bT,LYDnܠؓqt 6#geDd~E7B$6,`aȰv;dr/hcJ8?:/r{xpp"m;`ƃۧU~[WwwR&ۻA`ŗXוL2,/ƐPM2-R@ )KqCzbA "tLOijfQ/,M#Y,'璜ymBmn)+6:q`VPq{!VS),iLm!ݝ=fyFss=Vb8IF! E̒[ G fZUC#ƈሺh[c<.⽊GјkFjPzY?҈*Pڬo51W cI,ĆD:Ml˽=M.!et>$2ETƀvד7@H8ySR7( ׾`4aּǣ{{3 F_wYܛ1?#v|3'ra.ow{ ٤)BHJYYzқ5҆0(3E]Lq:kԭDdO4l@(!i*U PJyC1=f)֑3y4Jtt(0ʳ ô5  F]XV$l(|+NF22[ #CruNKԓ2]PpRQ5uh|E v@ ƌ*x sOJ)|JSUTtØ%c OWvXY_ݟڟ*Yeŕҥ?+ dJ#D[篲u?_r/*׮lȝRkã#g1&4Pc9XI U }sLzlvR0W6>e٪xKMqyyXǜO^(0JT" @h{+ gkzIϊ`]]ˆC/S /ǡfiȒc:#6QxbNMMtiY@F $0TXT64Zc0tlnm*LSmg Qa 7@_'_`N˰+驳> ;JniN/-ɬ$ٓ3c 5qzzFHE E"\3`$]LT2@#v&M2T٩+h 1 _id /ly.WX80{U.i[1}{dEwo{Ow*1m{=gmF9hЙfb>߬K]/Xl$T%) <|X ]θ{Jd.3J;J1 ti|]Wt0KƵ-vy CGv.S΍\>dwˬn@Tit] `Š6¬{0p!>UX P|hz4¬9ṽ].dc\zaxF:yB{R Qb be2z {.U;>wXU4N}8㱄>v#hwE!oC1 pNLwbw0Piz(G'4w,&CM7jkC>ܽs/opٿpʣ txsl27Lv?ŗZy?,Co/lt/}y0/JNϫ)HxK2e36Rk Yo=.YauM0 m1 REr7?ġVTzUrVx@qbRLN*P}-7,+T7F\I*siNku,w&:P0ZE"'pe4FCaTg˞koG?d >d~zŗ>A3/p{o80ΩF5ݸy O#aZUtV{wi?O Z8J-nFogMϞ)_G/:o *=\1rDO RI&qTսrk|,= V'v"tPd6 IAcZj4#99eړ$,i,CZ,A{0@ Z!u=uUSHG5R׆lo  *ABChajfC g:gTfo ]7A>T-A$b)-8-ʠo"a>:ь(4ȣQDΖ䱀)c3rujOfx{') IDAT{ [W{Aу}ۼqhk iOEzn${[_ePbWJN&A{E zS5LJRK#/mRDA*mIlAWfEw9=tju]ldfcCRrjGɨDЏttb\4jn uBZ#p4 gOZNv¸V2pFP0*Q5Aͨaf\9F*55)`}OG=:4zᣢG>,u1z)CRP( 4z'f1|$#em&ykU08:F\"z٦# V>YD.]K@?)ʕdZeWc@""#m6f7ݤ )J3M 1 -,$HAfm FCH dlզ˛Jߵ-}&6@i{|v*m09mޠU Qwbid&j,sK1'p[T3:QJWa(+s n=OZ@Uxy$}NPnfX7c0&|Cdd{:i%S/4#iTN! Jd.Oyw U$#1~w*H2Zd#RAHS1SXdfJq`X?r-h{zdd"9r:RSz뵨.*qbH;T;-ܲWy#8vt(x?dl ) l㬐Ba{$Q?]ז8$s- :³V_Fi?CȖyN:'E j\%@R3*79n9RCzc"1֖37Y^5JUAg U f,E5lrdsdؙ ̴Y\7=LʔO,e暐 ѥD;+'p/ nSNgK|e! "`Bx%e@P,yʒKl P.['?kiPkL+q8ԥ37y* )fɌEٺIFf2LDqu!ɳB&IZX*I{2yɉdG9sNf~$f6/:!9[h&3=L~0J_rxfn/Y'H#+ ,(vpL%whAP,rowlF1H=q չ"g.h; x^oPn|z #9Td!wTlit3>( lv\'f1I1iS(d2l6m1~yEkK ~;<Zy99KӠN;_9ʙ)ENxtu֏<1iNƟM|ϳMWn6Qr Fpp/i~:.u޲I%2j͑Mf+X{&vb(SqN&00rԌo2iZRm&Ďѱn3@U>P7 1$L~a7(ٮUM\a).;^eUIwPGuOh-_5N[cEAHBѸG$רZ(upDedRdܻ#4=K,TW w~UytV..إP7p+W 'WF}7ziňޅ>do l2%k7=vp,K"&8IE83#g2'ᰓ/औX)2ݧJ9 Gez !Lİ TI>{wF'1V13__pDGI_܁p*'`t xBdz:K9+:Ymi!ԩx}\$gz3]v+p#Ar˝ݦ1D ϓ$t%gԦLP_zAU箰Z"Zc ( juQ2FQ"|\<7O=]4.O6:QCL}pyH'يiyT(Eɾu2_K q5K4bٿD4E#\ڸI8yX~os+D?3gF ts/^~=͗&_PUPڣR*Mn3& b#+ACGiRO6rs<˝ !~X%[GuR;^q?("$¼Np&Ur9GR~2WvY^CM%.ՔR\о@y G 2%zf9]/3Jz lQ!_fy\KjF KHi&_5զ)5 : sHNٳb6rXmɤ(a'c iqOv-(p0KɶO14$,`@hctfWI8̪Y%՚".)!8"f M)9ARof-qٻb&nQ3]q{ƒ9iBls'ri'd-,!4c<yքy)[qW2 `3ݵrYB9v/r&;J ,)%5ѣPg瘴oY2l["&u;+(b6XtLާ^[Vq="k +(o4O詔+מ؍FlYr+#ZJ iU`EǠ3䀣=g -on̨]{P`#Tڢ? nM>,RiJ0<5 O:%QʕRf9^uhDz1KMT&l19FUM/<8RsjlӜQD=}4gh)h#чӚC+rDxn9c*&T]x ={~Yӥ{R١/l9 /cF2x6sE'4_xp|spx*F35IqrJ< R=&{;M\0[Zh(b1%% ܔ9$n|aZ_as鴡P0>0A6iU="q`A]AO9u(hn!tɳDQAt \<?ʵeZ0/~-%\{b5?b Sig{O0/}C&/~ѧ]°݃w(ӱ)0W9f i đr34kz*N̂'Y[h2p-U%!.Typ#cxnut#jד\\YT4)qX4G0b= qHg\qOwh2֐!Ȕ Ғu?rSt1^c}';Thp[iԦS IӪZqł9T+ĩ* :a8p}ѵTdId:1X$J=TX)Tls]8Qƪb16=TFf;AOJe1P#Y89yb*%J&~1p=q-Gnx|H/m`IҔVg8RT_hЩ`4ܡX:Ɯ.mVqF57wysC;|GWÛl?Hv \^ɯHFؼJ,4n $ewڋE 6~0=(Q"9v>qθ8r<)^K9y a}Z唥Vf#$Ϯ4X4ʒR!Syx uH!9>AF6RgYɪ=eT'`%#IAg&#IG[H!!h'!O\rx鸒ĦzE4UA"{偪l$eH*)eDf'y[ݱDAIy&slgvnaSvJ&Jmcyr|{`G=m\Udq Jy݀3 ,5+7URsev9?B Hpn*4KI1NC~_wx_?iy2 gW8w}ڇ?%.TÏ (<~IMg_$nRDˇTty,z'z}~t~l8JBrk- ZNrZ$^=J\AFEAlt6+!f2,hyxQa\;W fh!!-&L84ݝv(tbtb"xp@Xdq\A4u'ZKl t A)U]#46$/@% M2PA/"M M- OC$1#9N}ʡf'OOd&;* epIBMQؔxLrx7ėϑ3:=Kڱ5f"X;ݙvUirRI6B)3d8!\IIkLa3 ɝYN}\FIOTHYCy_TX[m 1lh0 J@^,7p]~ nik( Y].At.r{!=+}Je *j[GFMϣV?srqVp#% nm&BhN'2Bfq؄Z)ltd}W打 I.k/>r]PK߾}܍LkD$(ҸE[p /hcp\GI(ے97I VKD䜜|D|jV495'BGxG1qH%Xh%)/Hz~|eq*ړ@T 82dH05g!A凋A|H 5bY_M IDAT{QЬ/ϕ9W+h_.|=|WRaMRC /q{2+:bgA3sD^up{^ -q-+e^z {`w^|`˭[O[(RtWH]K`StbM">X9Ï!>Ni,QjN{晨IpCo9VPu(Z= Bfa:!YId_Wx#Jnv- C0k6=OT׍T;#aHNdKG͒Eh HT,87MʮH|~2kuQgQ{Dϟ$OfY1qZ,&sk%J(>&yE),/;YfpFBŔ%-YZ_B40|u>=RR/SP`9c{ ϵeM Mf.V)ǂRKP*ukic1ZqH (q+z,/zinv=t SWD\=ߠ4QBiH&1#vnKR3 1fsGx j~k4 _ C-ոtEI&)p j AKhCXJ%'Kw8l ,*.Q"Pr(USe =aF=feXvT#DfY(j ݾF(Y64?=6}3t/S6_zrF+\)Y^s&q}+`ޛgq!).ۊ+Jlb3Ogx^cp:X`EXjX_+e#$ᔸ~! %H#^Q:j$dt7l8.sTmLͳ1eN+[k$@sD4\1{,(Fa&_R{N_[IiQpp-<|霈Sjk C'lr_.KYEe2vX9 r]Xzu[c>|.ҪI`)/D);dc6łK>peLUaC=INKeblY>w>zm7hxE~84R,qٯgyCi=(bo{@u}5?%b78MV%ZEH]1͚ X>Wp(lm/ΓD!Ҁ-R|BȷG,s t6~HV luٺۣ(sB>ޫ\lrꊽMRlQ6au)x19_AHV}{N!s&2I# CYE!aL$4)Cb; hbbCfֵ$I\v >"!CW(p 싈blÀ0B@m1ՊG?i+6EpO8=%IZ5p0@i9: rV/v\1sOA8~J[k-$#o $[HIb-WP#|xay S[ICLǺ4"})2 B&qUI bM4EUp988ꍰZP/k*UAH5;8Rc, <#ܔA7Ťj+" ~H8'b@bFTr@9)~űš_BA3PqpL !E3wUC0!X/'&Ďg V̨Cg3Fbp8#iHn4b45gø /3Rbfa%tHGɌ!f\7.ۙ^5%gcauN;:97,VxnJ$>'8.N<͛t9MV5Rq" ¡Tqi=~ԗh}Zs<8{|ĕUK1H% jIjQIUvi-;/?/OGOx* eS ,=Ӎܾyp`aB7h6b7Ao tH" )Q_&ì],PZAjasxr%TSQ?:^=sdiWV‚Q.608!(X} +"U&]smgqR @ aNyF/vJyKO "<\*-Ey:3JPUw8e*$gVruqw{?61Ns>BZ.trjEAvn~+W9 w)|y> XCZiRDs<K uο-6":[wxmyO%ǝ Jc2JG$N#m lnT]a}}!W׹wWy?/:/pş24 т`;$2`Vc6W.._p8n>7?#YZ|Y͇ͯi籢ANDc$ %![տLjR*)׏iHIWtah0LbT( a$8"ϲIp5&ALH*Hrt"aR)9v3|#i<Ę JbmOmD=&<쎥5& k8`g7Ԛ>'@8@SY@95c[=9, 8SȲI;A" fF(EVaGnCV, z=^V3d͔ 3^Z9avɀO.1N/Q6UVt)669!CXIA`uȠd8΋Wk~fbFj'i[=!ɶҟRy!fo<8Gx˜zx;|[,9J8IHƚa$b,pDG; 8\7n?貾>cA? 1nzHZ!=ވͽ{]>n [7#ZϽʯubo|s6E9IF} /耻~̷}&~-`W(ի~|qp!zg]W{<`}R=ӢZZd4}P.!DQ\ijx*/I&- \{ih07 `2pmq&B~Kx2ȰsA:Ajx ʐDݡ` +ԉz|X%! ^Q9 3ECMзlc$:%pL^SXY`Ȥ:>h $Ao\z'DZZSq@+z ?B  b (>'hc@<SgV81a(TMTktPJbQJNY>YEm;G|zi #?qhcd³/0|cb)Ҙw|ȫg,ww}/":o{1qIBMu=n+O/\bYz#6qFAHX^1X_M>U/rQL۷c="k| ݦ1׸Wwu^/Sa!>ǝwez!vv7֑BQWݠZ(-7y ET(Av{ BZi>BF_( bFÐ`H8"& Gz@zC`@AO G$­ t7gah{aCC K ,6|k8Qd *N5a-4Ṋڽ8(GRtQ$%Q}:24+YTet݃+ P&J@zeQXgS;̑9LqLh!y'aa0\six-1a̱[J4M@噿N]2 [ Y?o}"Z"&Q*H҈15m&QBf93VA:)lo3ӏ0 Σmr 1|pms$aQFeШ%lǷ>`sc5J,4\.^^e>^) W/,\YjT7 J,l&;Y3/;$ Ŵ[9%[6;͏H%,Kʍ?$*pϽGGtDCVg~, *FC5af'Fx*Ɉ8XCѓHh{ GCxD!hHqίHd%J9.PrfO6xp+u/?NX(%j5>+Vԙ%}zbIc1 TgX\&45hrdnI'd6;)>GS677޸'7Uɏ~oyxNp:}>ͺ~~$1n |蕏oytϼțo?,'==5n8[|Cby5 {{(KZibrA)%yw=xa8dAe !8)C 8bS'Gn<18[إ{r\'<"/1,N;|P[ =:ewy3P|,i D-)#\s[,q)>qJ>Dǻtcl%<8NDP6z2kNR7w^DTynͧ^0ق+[e[a=KZfG7o|UH"ҭlZOUU:GGL_d}JlS@w?&g<4>iRs|3_f-kS_ 'o-4 CҲa>)؞*zY2$ϽEg >p|to8]\;x?"y IDAT—Xw0g3zƻx/?5&ifIz_|-3^~9oXN**~ů{ݻ{ lmm#c^)l@x4 QѹpNKɜ՛bƎrQj8 DxD}ϋeK{unwqy\Zl=P^X2壬4iL+E6h\?:bRhA@Qjsy 9RD@8ڞaӗZs"2q̺0B(8^;x""qyf 磸B]Y_ߦ-Rxr/.%ل sx Us"Bd ԕdwg_~0rlY Kg=H!a54, _yt>5vwNY.Vgg2q̋,Wu NB'fx8o4mMKg 18jm8Gg8/sM1x镂aӆ^U?1^bwutcDi5x";<v{ºikMX7|+sޢiz)ͷ-6/0 xsPJ1+֔( &wSsUkKl;d'"E]@IQ "ǟmd4!14RBMCz_RAܡnv H:?MԵ*.۠V SAaˡ2)mys8w71g Bti"^DQI "iLO(#*G!V4ITpph-19zH5m nw3Wy Ǐi[6PIN[GW\5p脳OxOi@J@8ʊ_'?w%l;K%^]Ζ-m3[W/k~7 zo?Z:YaN!l(>x x?@JHyt9sV>L&X!:?9|Z>*RP/CLBc\,x,f_Zxg:Pd|6{,IMܹsU(UBu{AQJT $Hiie* ,\SCB><َ$YA`:]SŴ4TEÇ+YGQYRT^JK/'<7vc$L+M]sJ@ L/x$ -1*m߸.ք̞zIJcǷ &{eVdI<*HO,'%NJ$#iSIBg8Tak{xEÓ#EI 5>d٭)pmٛUs(}ÎTՌg׿E{޺֚~ X 8i+j]_|-?xD bJ &+e@+M "Hʱ5b |ɢG$MJB:vJ*P$&Q̧[|W)EAW*Q((1P)oXr5f9:vdF\I0̘Ϸ켛RZi$ؓ_< #x)u "#TQ{m@UQF0 ;1ZHI"5n,zcq;]%}UeǺ$gf2SVR{o]ngm.%I=^ѫ)*ڞ#+T;T"f6}X_~?q-J}K78%uX7Q g-Wv~>9Z\d %0!}jfgkF/rDNOO;ת+͕=Gl9;3Ɋeg`{[X4=/"(}@+{\A_4#ob+M%'u7+ApٯRQc1HvKɇ%zwwRP/\eR>̹C.xtIGHGpG1eţ5(/'ԠD͒JH>My|Q(&)sx ɑjL2CE6XxSLlmm‡mgP㢥m,iDD y:reyܺIeH|.`m PDPFB"Ąr6y]:hW}8TReÒ#aD|K 6;_`% -WR˱^%!J(FP)@:URLX6ލH 1,i)YkI(.eænʷh﨑,-)il(,zʧSl$Uao#W Dٛl_ök:FEv&LP ~7_hOٞMػrl,< 6[ySc*QnX!elg݂_㳿;`$C{zP }d%^,J&a$ƁS H]"4DhRZ#TA/yF'ryFȔ@g!W[h3“O(rwU)ni0:bAfT*$A&Ht8w!b79l>8Ց)wc.1PS|4-vuLT5x0ZhIi{Vaej4`kW0Q'XB$'N|[՗q i)x˖}U;5nypx71ן!׷v8qyUw^cm lPO|*{SUK\*XX*q`bYA45"Q]m!@QQX_9<{%H|@:bƶkD(JE!(E"L "!hk'lH4YPҜuٜPJB.PsرHٴdhRU b GR[r0RD:wlsuz"u)z~Cɤ.KjPc踒( La(˂GʼndN)ɍ&AJ/&Lr/v|l,)2q`GAѝh"*£#rcA;z'htwv'?":wx1Q^(ȁB%k)):f`-CKAAlg)Dއ%XٞVx wO)n˟IR9gg۱m_uTX(0)jȣ(UV2d%il5 8xuL* ׷ۑ?,ٟ)eER|a[l- VH80NV*L7T)B~0 .fퟲKJa#uB*35[LO`ߝeIsLQ dP%}W}k||bkv >[\//j-`guKMd@8Z=Dj}LW:%|tJt-sϵ]M=JE< dp>:EnhڎJ+bJLg3[¿w˽h!>DJok~k@`"\KC| sqB ^GJx0J'瞽O)wͷrVHUy4 1ڭ!dLv`#<q;g$nl1  ad_a_81]?F{-`|3dF{8"S!~*^VLvr\ƌ@"!DB8c O8Y4#舐98zOb04`J^Dz)33BSZXW>O3E@JC)$N{WԫLf6c6}U-R+\f"'h%Nq3|>VNyƢ0A%>Z6ڣS| }ǤҚWtQ À6 ZC(+OQC%mXiUPϵ2b׈ļrL*l<Ѵx Q"t^8MZs}EKX Y׳\,\!t2a>#${dKDt<_Qnc0 ?B]߫8Z,XWqdLz=*9J #Ɗf<-I5){Ǣ{8 %"f .QAF"Q^м8?WiC+s?*-əH Gs;/\#1c"1ddL#g)V:8ph5)*#B:wx #IHÐA)xD7P?I eextvɟg݃Sɂc:|yɜY}O{H.Ҝ|lCZ4!(ٞ#k֫oqƘ!=CVd,ƢѺz27=BQ&tMK˻kے!G vuBAB#f{^ &P$"J5kEQj!q\q>!xkw~gģ=!'Ҽ&ξ5K?I VCS_~^hbIk;n@5qehf Ϡ%S΃4(e@U(SFkQ2O2 e4&*ݸ*=d'kOdc<:%$06y{\=/OIRbVK/mWWgY4jE(s(pfLd` DԒiR{ k- G2jVl_zv-]bEfѱ8[ $Fd2a{k}^\)g#!k"1DtCp]^y<$]ps[?j?G5=T6ѯH>vnH $EAN3O(G,!RkH1ZaADJIBHRc#ذHG 6$F}A7|_&6DP")t`=O8!&uTI)\wY+`$GGZ?>g3!$bȩn23*X- !̘*")@Q$heA,eCL5{@e*B]tXS/sKIԄ* !#XdXUo97(R A :.TMk;lEe޳6FPV{ /\>nm]\6aG;EC&0%[ƱW&Zi6Liٚ ~F>:f] e"gvy&u@QvZ jոʎ+J)>xZpwStlݻ ٚ0O),`HH73:x##p"3Gn*L)i>Iy'N"CB\L!`6)BcmHr>D>]"{AF]{^\x"rx>RAU N/yjwƪr+0'}d IDATQ)! !*|e\DzXwfմ(zh-'t{=VX;0z c~@>JJ B!Bu|MrF4 if3|4:Rb>r؂B i =+7rmUrb uE52RD)"O+(B; 1cO:aCkvɣR`&h4.ᰃBF o9;[H^lA_=yޅI)68Y!! I•f>'Et}M8v)Bd|(QJS"T2wxa5bTHKI)"vUDZDɎ"Q)#q"B)I!KsR)K.rf4DӶ)`F+S2a: H@uD%[R4}HSгD# ^"LAIfkI"QG %q R{:zMOR/Cw|5>!.;ѹ.sǃ޺(DBq(M.#FM! |C":BB$GtHtC\ M^h!,|$kf=^o,h{{5q$5#:C Rf)ÌRnx؟ع%~L,."D%<.8‡8}n=o?0Hvuϭ[l sԁVԓ(z(3ۿR'%.)H 0hD$O,*00#2\n]K0$Z,_v,N 1wx׮^;\2τgVzl%z Tu"btG(DsVX.vFq$1'L 2% ̚c-Ai=i(3+$JGyEl!)M #c+!i,{.HKZ`D_ƀH#wݖ925>a]"p!Nf"\"*$(r**7]0hIaE 5 f[Th0F}^r4 aDNZѼ2-)5 x=g@;Չp Tᓥ*n-ۢO+s/R12mV݊c*rzFg=H?O<* O5R27ѝ_D0,1@*4R8$B(ΕTð,8:ĕ X3 %f-^¥;flEJ'-X*+B`UŽ`fWIt`>+ $ũ4kb*V1pK$vv=Gw<3{wHRbUtd}xϹ":Bߡe$f^3UؐDCJ94\/|n{x鹗LʡC%PtĻ@=z 6$!ȄX1yt̻>'PW"D 0D2g4q +Q2=Ǖ} f E/0,! ! rLBOpoԈrvWÀlNI=R)T36`H> a\+8'Ë0A3C*YFFK &!~xIUW 4iyUߒD* xȢ$@je/A8 "psw~Ӡ SlU׾~*ڏ;aq2К)rB7l=YnV-֚ɂk5(*C: 7#* v+ +zU"]:{D"R;ԓ+t7:~wR{UdŤ(.Z,=^%['e1 0$A$3@| 8 Qc<Ṍj0) ĄC\>&i7.-V+P$㌅9$a0AEjjVh<k&F;Td 9HFP貓7ILX9ҽ5.S>AG0[ף C>R ?<5cnsMET*<'M5 ^GCA*g*7 ڋHӂFy&O=$Ybd0WM(Oū=I0Vьv29zDӐ; ނq쑙Ji$i>iZ:N/a: <5o}qZ.FČDNdag%"O͍-]mqK!l $lOtX ݋N`Ht\YJs8унcKXn*kSWШАwĹs2=@Hht 6n8Rߨ[ZQ$hE&u !XNxZ_9Ǐ@:H&\ QVu%)mʍK9%S67'Ր˹ḧfE5lQ@4ʱW:dZe)T5;uVW/ƥ h^'| iQ`%C,!$F+br? 6X:2z?ftDR9BQŠbnyK+YU>,%TaElҞ˙Lhw#:}qhD؜#G%rh0Qy+g{@LXf1VQ lcpy(&*<.ABOrzRh?zP*ƍNB@!=j xCC<# 04@h-cp(i1T`F1J"C"`]B2+MĈ9!юLjԔX; JjWv~]T5a>8 c e8KaJ9_X4s a_Yt\2֠91ՠ}QmxˍpPCV%):MPN)pܼ]R88]C+,-)>\NҞ3./b,FN|rۛ=0T|G 8Ѣ=(vSíۗi;,w9t~Q>7i۴4f{{9 a\iEOQ80"|2 D#spjfol;4\q-p ԇ1MbZC :սph8ycEJgcu- !fwuO?6W~VJ{b k>OIrק5Iu#*¸y?eiJ $KfHX B)&h4ݝa9Uo4T5x؉r/⯾:TfGw7oEU&x92L&]$i"& wQ@`D y0T}(a^ru| 83FKZh4= eTJG53pS`[}\9w&_RvWMUI8dYS8-0◐(E*?g5.ޅk/a9X]6: E .$“JmcwV &N4Ng9=ڠx/AjN^tx>W>c:su:QQ86fgJK]ELa21O84a; RX:_V;"ۥ%+Yjpal; nuxqiHGn=+̘Gk[LYwLZpy^ʭM w{YޘnE30O՗(,^jʒ*)}"vã4* ӂ$V67.1IN 7k-fVֻc1:VV{A!݀  Ch6VYy`2H hbXpa5/$QQId{->VyiH/@+)}lceDO8Hqi)"@Ȅ2aAUJǗOj(={PئzJZw`u>qMm£*ke`6+%Ti%~ס*@-FB ^'qbGM/U ]o&q[d|-b bx?`E6{aţk^|clQF 30#dd-B*rF9 j%@*Ik.&dBF~/WuZhe+sy!G2IEIv,qdYNtfHOA'%W?VߠRaɓD-^Ԙa|{|옊woh703/~uNgschnZy >W'OݐLaV`4f0&s"*BTHC&EقvG+lKҩ@G.OG(=z;"EQ[GޠjC"cڏA&7uvS/":?Q.d׏-ytmIm0 H@-P:CuCE ּwpSl"JᔇTRX/@y!HOP`4%e@4P&*et"GFeFVOir:{ivm/]1sa@q"eҜrjWwM|iɐ?F!=ܸx(!3',&|U8IgU y0"UOॐ,^L^#p<+Rv@&+iaEBt6ZMj (b.h2;?='pyPq @[6.ɘ7&qZ7(rKT)T9vSPMI`p[|#uiz1 -;hاŗ.^eOL2԰خS3爪5ȼ.SO:&͹0HYӳKsl#_ ęr}{[0w,8Tq8'6"4H{P8C#jDg Qa•$o(&FC*:Yvnv1 Pu{ ~C" N2.5> ~?#vkjr>";VJyUE{W@; /nlnVY"O'q6=t2"O/D}PyI;;T_w w`|m tYmOP(ط%*Nü7 L0x#S' m[RPcx]$ɘB~RzhO51v(/W) t.i! nM .`o-4& IDATۻ*=h+e:A(K`r {!8)DvJ/ V $CgAߢhρ#U ΖR ,D~{C=e|}y81Цtːk,~*|>= f2l3{ 2"/S@:I8'3,-\j)ڍ?Tc&[fG5v _z䣭c36aX nˑĊQo0mPb? Fev62p I\J V,1Hȍosec/ݸA2Ҩ̶6'br-JJ(aK]sX#|]. VY3~xr c NN,>~ %oo~{/L?./C6,a^*K +%xG+./ 1$ȣ{U!m,L)nE .C=M>A/y,UT stHSuߑ=~'5 9]K^d?m?K:|'uxJ@a$xJ\ȌOx'tsHKj, *z["xppjR .J d` IeCz2-@J ˋ fxx􃴢s_bmŵ1e{O1F' -p'aa(A֐IFݝzP;T L sYn03fav%Nbz{kXsV Fne $Х:!0^,[1WWD^فdaT-qjt`FdxB .$Kx7*"A<6Q(Ql(MSr. H% e‚q|yJ)/4<`4!$hci;̔"D3^6/_8۸ ld8 YW@1*]XY?;W @~4CLCJusN  tn}cҁ,9!t)% + Kn#X! AY(N*;]wIm{}n^? J?5=&Iih+])pLbAyኩ7&'y/1D0?{q6GDu(rܤ_ xudrZL .E ӌv7n0Nr}34.`qv8AhT$V _HPܳ /<AN˫\3A3"w4HaJ4KX$/aQ؂:/=%+5& Z vviDXc 33du/C#ҽ=zsqZLSh e%Vd-Vjs=Nwx~~o$7$I^Cxԫ ߼ͣkIIIgzҝXڻqVEGC|}/~q 2&L0V JjT`rSJi#iUJdhNq'8GSה򀞝0{YzC JGe-A6J߀'!@8C8dTXA f,;: ߄| O iרˉIͲ[Cj'6߻SKUww{u匛SL FTjsBD+`":Q:ød/'A2;`TXaӬc4x.a@O"@(ҥpTNr!xy<)) Rcp!=Rd,ED\'_p)8g~gKK:̩xn i 6Uԑem_bp<ʼn%VWIRӒA#'-J~9Ɉ µ=F1vߢ]kP #t2a)2 AD!akT*-+sa4%)vxsG+OS'y:7V'T+^~骓&a䱵sأ_>Et8#<)\z`N̹8c:AV,HA T('!KN@g8sdbQ$ihA/0ˑ!YU4t[l Q132h8I9<3w6ȓhad5/~ݢ'|_ѐ B/M>0\_ZF`" 'ܹVSczV lǗ_U>9Au۫6BWy/Og~{DU'3t˜\\  PB$Ya&I'dYV.j +ˋba 8 KK+X]Ƶ:[F=Vdl x tZ&Is۟,pJ)i 븽nHtDSxu+`L ?8~]J;x{qMUݝˏ _1yRv(y7Ǜ&;G)V]NG "h&m>*p#Zmt"a+*+G;ϜЌw (pEFcN0Pկc Ivz;D5?C m#g~~|[pZo'92M>(`z=f|Y^z Rxh{d~RVIBY*QPH2?ע7HؼAďrPR }F&'$qDas~p-)\ [<yGᅦӭ&/_FMj"$ 㗞yW+97{81bKoԩ1xk=jqnMe7x| gV8s4;L8#|e!@zdip8^!nK$J#<>"Bks{Ao|Ru`&j/2S>'ľ-uɂrQewSfbBj; 033CH)RY(n7w8Zhw)hPҕ6'ݤJgݻ.*BA 6(!WEp@>N GNc%8W 4GTFclKw :yNBe^~_;s?SV^"In}!MHGX]<AHoo0cCi-qm 9~䃬o[gebw:C)JxPY9Eҩ1h \iiUF|2B(VHҔW^ĩ:W9ء +}"5 z 5?[lÇ$A_*?/Vn840>*ϐ &788['xN?ᾅ%C uy.W3(3a-Ɉg?v?Gܚ -[ݚGX'>{ۛU5~S?3vEm(ɈMo价bƲǟ7_C>y9‘{O3بst'iO u^~:YnY_D\?o*[|_VadFGdGC` %I=y~o"233?Σ>‘#G_X <nݺy9w܏=<(O8莬BIRB[aM<)!×?QIOEg6w7xW'ۘވӾ~'r";v4qm{j M nng0!B!석u8GI+4VɵfGBb'[8a1ORxw V{{\E/]#tg3x ]`|w~w8zh|%Χo^&|gye]\\>s=o'ޓ'!w,c`8am#RV#qDhmEi*A[4[0{I!BcHMn/ j<5;?9-w}/$R%]I*qC%rŻ>xW/cEa9IoucRkh`J7ZW,:2%UPсE6m$f q:)5O lvTNWd)`L-Ԁ?k0svB©qY5>/?WRq9Iz2Édc8Fd YTEz>zf5OFCa!j\p(n GXڪ{k̭j-WqAH>aVvY[Ĥ?V99L+r<,!T?}m&ּGm SO np)|̧~ܻ=czx?p_cwo7ř`c'uG|gY‰c1k?ڥw*v*!y|:y7pQ$y(~I5c/ OO{<o~> !vq=;@qN6S?k1SXu9E^"P,#/2<+<9XT)s\.{QfRcUhwpNAfm9Wzp,GY$/ "j0m˔" &\^uT:Mp\3<}"^g;!:]'K?S>~ù}Il _9?޾SO>Jl~K?*y]?șޘ?ƵK0S[`d׿1뛚_Y/>&Q xQ;Cޤ1?Ws: _Leqv$ǥсw֚ťE~7~[>,--Qwg{!]v}|{W_ CR/ۿX](H@M1HWoA^*ye]X-p./Ls8$h9*N"ZvYNq&c4$q 7W ,vvTY*Қ  >!A!~A@ERzr̽ieY{߳}=MRIb˲$ a` t ggcaiƆ dVi)Tzw>s۶茸^{s'PI".o}kxwolP tq vq<5T^&'tF +M"L=F CBe>FZ pd[0Y=,98~OX%ܕ .!,*7.Sml^T t"_G{{GX9 m ؤt.'cl]AaQ'l7p."(N|--)fo1nO%%on:Gvfnl#4KY,o\nUyevve xm*3\nh8{{מ$?⯟{#3ДbfkYW y=Nl{rD/QLs`UD yU?DlKvv|>O̱gC2."w6Vag΁)66&Yc|%|t-3a;N~~5O'4<{ ?|/Ocqۛ !X]]T*S(طwKPSG%]mFB;"DJuQJ D* PQЍđ&eJwA&dG=uB\}HÐL52FH%~GF ׇGp)Vu rF)1"i0biT\*45qYAz,JkaڄaA%a% a$d H"sXjv@yubE V[ -f&5 F5)C$G'A+a9g6yd^}s 3cvϣV ෮!B'(Ex>5컏Dg5:t:N[*"tf[Jh:@61R>\[4_:LeA;3^XXdg4bN/cXt.%ivLMŎ2lV_mNp;  >8tB~̇yϱ=<41McBx9rvp'Zsy~ϟ[y`?-C1;wc%~O>k|'xUZ\gQ kRpc'!箬n}n /c 0 #ҳnvMFoDJ0|2Ѥ`mm qT*JIkI!Fzmh12J t"Ӆ(l459H0"EmVORY˼u\(LCTs:Y֦(HU"$0(R7\D@: >!RhHM R q>)1 ENpjt6h NAGyS`C-{juU(B֜Bꊎ, *9ԓc|/ 묮S$N/Ynuu0 _Ų~f6C4 J$o 9HXAD(uUcN]\ïw|KHK )#RB2>ZaV!ulc$wrh_ 9{?'2Ȑ$aCq y;?A!ķ0յxXކc~MZzRovC= . |'~t耎ߛi90t.y.>AtL] XZL8:[& NgL"ΒVM"( !E0Xi]"GC+dgs`8RO`SlLa#8>6/-Bu.xԊYjq(eCqt'p5NqAdF͐O\ *2Q*~U/d"gPDf3^L5f*+ ;,Hمm-]cZ+oڥch.uǾ)[[Ԧg1E~l(ts0U>t?K[\z3`,Y~XƇ380ҍX*S BqѦS'b Jp6mn %66qda&l>%ee}[UcDQ,,,Pat;t#ce$viJS6T@' ,MC, ۲=Ѝ$2S.[&^ 米L4bE6_RK\ _t5"XX.BN# kZReb&3;-9N]4-D钙];]pܳu"TjSt wB@X!ETB-B+'[Tڳ##Ѝ&VF2V* K\=s]:k\/b4<*n+3t2ĭK! D]}({| * c1JeM<Le4ʕ1;H~D.!/s)F#wCwbzF8zPj Qwo]о on94CXݤ0 q=MhQ49Uڹyl)Nf>| H4]L]70M0EQ#yMV*]6,-ܾwb<EDEe&KsD KQLnb![WIDF95:(Ra\mB8-ή.*d|>CXC12$QhS,H,Ca!"ͥg)WN0K7!ktkk;D&1]S|y݃ih{qj ~c,ftڗYm6cLVw1mKOZ2117Nwk{"ō lw7yYt_;:?N`wsؼXF87]6-x߻ynĒSAA #ѽCmXT9=io9KڤALec' _fAriz_Y6|&ɷ~-V705L# $N_(!uZ:Q'4h0 /t;q.J}AgsH_K`/;B}彏>zp <=s'Yf1,#l{DHiv h.|$q@GVB>HI{rUN}k8!VV}!_(fc|E~1 ;,a#i "wPa9U&ʳ\tO>EP|+;[׈5Ʃw^Y9Oqڭ#ԃ''Ү7vs𕧟eaD evf,w-WǍE>kLEmh] { U~HtULP~7n,:8yxߋ0*ϝ9ӯ2VcG9q\XdsAtlhJ9NB} i>f5apZm8@R%cnrv=IN8hWFlA{UdܠJ,(g]EQLvOgH=¶a6scy"/,.^`Q(;h/'Xm^euf:xsku5h.\&ո2m}ay\ap\iwh90&?P$/`JߝZg/o\3.ar:Q vT)$HS;.]h&n||MA7> ӆ]M%ERm"c(KdRxTDD!0-8%lF7Ȝ:Lh@(%W08S;A'"ozq2U "59BQ"K)V|l'Q1o$븝=QK(kt˯bW9yJ(ФF'2<]&ͽ~K9PR:NkW2s&a*c{ *W ޢ'+Cd>8}!vaskSVk^cXHpz@wy|CՀ.Ч %S|MgZ;%b+)N>٧i:alX Im@} "|O|}Yln`w}*Ͽv{r}e%"[>g_0u IDAT4!Mֶ|UܶG" )V Oaj|*NA:u Q+ؓbZ&3s-JR}8R4͛0jR:iH0b C1 #Q\ f4b ,EL.j4}bg2iq.-e1LNN^j}i&WL2V Lw\"cGDSR qZf͊M>-\_RJ0FBx8K..= JǩcK-A ].4T;in,[;[dVW*#~@&-A0{% nM*aX$"}XdLB3DQX.# + mQ0#FXQ7LMq0Xل&՗s/ )}~&m2 *[AhW8w<ܓDlvZ*8D3̉5IVfY\Z#ckt- :Y8$n L/)%a"4 d,La9H3۶хX|S~&w >Ĩb/GSR2eZLB;7-;1W[4! X)FnZ@Rl?KHmt,q+G~ *)7e}:]er?4N7Jƪ^`B8r׮3oɕl.X4֗zfcbq4e*]%BO FfvYZí31azpAdf mS)dsȕwf4walBbFK2\^ӥvx:U>`3,:%OQҹz}cp⯞zf 8 Ï<~0M̢2C܆FsAbr3ob4:n70]WĔ*Sa鄬{>W.-ŖjD)* #8<d&rĚO<~1 W5uܮFF+0?W_z?Øҡnh<}+ll?7K"Zstbs!qf3Tm}8u/5YXU,E b!bJ<=$|ni]6!%*i'?M\ r=B'3iN$kHEY˶M!>xòjl~-L9n%:m%V!0t<55 f*R^jmxrM^nۜBSh iTÅH v`o44 1d7@$,[ ja`]%F6鑌N@Y)HRӹ76T*HuVQ,)M`Uf%Wqq+=_ڇnL s(ْxWfЋjq%ML-#"ӊѭ:'؜" ɢ$Ofrvݩ$,)Y^ORQ*H.y/XZCӸG~i%'Գvx DeVd{8wehŃDbBu o_f^JLe "y5y #V]:DN)^䳲|= JJ*sLB7PH<̌zυj.G!;O.ѥG+zL3g"Ο+א* %nXUcyמ_\nre{ab>)9vHm•n@7hB]Dx>PR& JcqngB0,2V c0_ # b~f;fo\JT̚yp( ci<u%@GP[D U* ]˅ujmZF6s۷) :Rɚ#wnc. Є iz[PrgN11lp Tꄣ^@E:P $翯:T *-Pҽpk0-4zHad" }~yCo,߸CwCPds}&-N|'_?crmT :,+Fw{'O_VtB۽..p}S MXIMcZF]b2LaR7@ @&RHb32Y&fw߇9ܓ|~oJ|O 7ǫJ 4ڭ.Gwy!j7_g ʛ_%llqxn^ PNrmIYiJ}UOؼDeb1ds/PЄō+7R8NK"E,e)QʈPdt 1q;†1My6z.fv=\lPc}M'?}ZM₂*|,Inb ? 1:NLy\JaD\EHICVR+TU 4-p!44KO= t Cj?NB#6)}f+UV: $c[4;u=\!Q( ,Q~ZtY~n#Gu7n035._\0DQD6uD6f077zInbbW(@Ղ1 f,#n=YhrûSEk`ڧ M]Kn*=GOuKW2IXy7.؏0hԷnjM2uu(6!p:ڭFi |#  ffnrt_?drv7qaZ6NO>gcl{7tdj:lllRЄI'2Q+{jhzR$pu]0q|LCP,T0h8lH{v0!$Cˢ'Ǧ$RӉz~P*C4G R\_({)r=\j%bqē#q#hZXL6ԵdIFGsj44kw0 m9N?iQRVi5\r ]78xR !vL"A/,zW׉B*xgQJ1;;$a0; 4ŭtB&C$rysm`0OglvǢ ~/F0tUimJt )V-Ak4MO,F8q]oipUPqI~>ce0L=[~>tu4X'iܯgW/z_}K>4ݠ)8{DB ˯/mrz_e8g8K\afzv7蘢g r‡?~ |+_go4z._yoX]YgGlln3R)y?㸔+)TŲd^:׮]Iqy~_xŅ+-ŏ!M0y.O>$= f{$щw~rWx:,\Ŀ?,/? sگ2{OQO~?$~Ԣ(bqqW4mf_xׯ%vUb0dԓ@Arܛ\|kz'165NM69r(ǎݙdhiԛ2L94MI.I&#$>(,bl|0 JU wR1Mc;08Ȥ9Nu\<O;R#*dG{7154!Hnh}k{1Jt_86֡[UsazzwWY{ _WyKAE7n~`]ܸzw=!>v}%#N/O)J߬NV} *Kx3<9tMK`^3H%QꦕO*_78uss4t:oB;#djz_yW_Eyi^c(;8NiO^x''>A>?)M~w={wO_v ƣ}Goŧ?}=K\rhݾkܸqtI -[]W._aqiyNύ%Nq96t#Hb u]<666Y c&sP7ZXbY&'& RW"b #Y>[-,"azaeeFN- wN)NPS3s,vf42b]r#t X[]6@Շ~ֆ̵_n"Ø}oHWp3/rH:Odm6Q"ݴN\{EN蓣o>(=q6@&:>?g<س9߽uzY4Ҍ@!aO2MIT8Ux'v+F$!@hF3ez~9}gwz$R$xZ]}{~<|NdaEZ&LZ>[&, Y_~EOOxp>}trm6wXsXI+\buu3 14-іB*~W~c G͛|gΒQR}S&_Ef}}K4r^Gqm4?C)MҥKK4[*Q,Hs5!!|}sy?'?G (n 4 /# sy'?f^Z8֘R_{m67p .r4RIwBJwN4_ B*gI}0}yǏ@+]bի+ /nwJ(brr.Qˬ@/?jZ%)biQT,(E58eZ]]ad 38TNUԗbʨ16Xgr߅RܘdW,,x?kӌ^oG|v]85+(Qrc0bw~$8~_g&k<ċWm#^pt/e^yc?Y@%--<s+0I4-^2[}f+FTN,ϙ_Hcx̧S@xqx,+ Ql/:nV] = bh[c~>A87K)DuK)*"#1:.\;.z) ZF82J)f~lStڒ3> ۝n4MzUO>|Ghw:255I..TD RFC Lfz a YLEl\"+u(J,' IDATiaGabZq‰=<-bXkN"csKr~VPVM($IlHZ!Eo?e4qDz!h4;I,K5rν|1[L&LLcAG8`3L|(xGrltLdVdYƵ/}s2;R2DkK1pyz\2=;ñSp #@i RpaͪR9?Bgo=G}Z,/a&&&8v,Nnj 8pqIDYh0u'6B sO r)R":Q D ut_)i^X>nC31ά#xT8U&g2ȝBR m`tFJ]fG{bKC=q̾C0h9~Uuhe!8R+Nx}'!Q%:>4'>N5I,޿CjsgH풓9J:/K8;MMuVunbյUƩ--u[17]n#"Ǟ#Ԍ|WRȲ< I2X}p쓘Z_޵}QmuxʎQU ERp)NZll3??ϑ#+K"(]=q;&&z\z"W^ennSO3;;G@!}H`kkv*[ȏ33́=Zi-dY^ALXI/(HmmPfXJyN=Gq="PTEh^u% 9$4wxuU- HkOg?>P5 D?VqV8 <#NOᱷg;>rv"LNqS~)tTg$ڥ>ez@鉷DxG*EojsO< vG|^oc BB+lm0g՛h Fͫ9x[8vTܔ*EO~m"e?L++ðLQĩso# ?Lwo\F>7MLknq2p !KKt]zwe9/ #$iġk41&wNzH~ۇOjƬ.-|w-woH8GXCg4[mYN#n1{Α$ W;ps?Ĥ=bJ:1=Gw,MQ,I9Ab<M20Fo-;]S!v::|;?fbbD F!B%i83^+"XYGY\ؙC*JcZy\lo0ZS td7'ͅKW_ZǑgLnhu_9w 2&>x5YE~#^̇};]͛7Y]]eyy#"zI>o!?8)MFo!%#&ȂGVa-NST(hZ_E(S\D[Q\ * 9pA.8EfEyЈߺ=Bآ@] W lϰpGO rc-t-ޯsrWֿm?B.DV4%71SvȟJT - Ő \V tQRaTlomo./Doz.h\/"*1W/]+x뾉S ] "i7S8H|m$qQЬ#:"h\(Nt'qU6֖G~8B_<8I4܍h8:&Y:W^"9p<"i9[d<ƕBm<&˂,Q:VILhDhQ ␓,Kj֡h D+P~-*"+GHҞ"БDG8đBGU&ޥ%~.b K^%,B6mnHx$n]^Ԭ1=KQz=/p/eiujVh{ZHl$?Ggx&Rk~8@Uv`껵",Gqe-~,UU}މ c}fT+ lCg޺OH"N9|2o#gH$N*6!vH(X _ȉ|{O>hCT;IE#nűyd)Z:VHd8bY䋦Z(N/[җkLNMDk ), *&r9.DƲx6FCb߾+w¾Iڸi Q*X[Z`fkmt4p֠t:L;pLT>|bk}Npi&gy;4m?<XÇ҆ 8]yO{%^Ydt?L4vn$~il%D2XT9r P`E>W5+/HOsEH*ܚ*Wi ٰXkʬbp󴫹F}1Vc\d1zȀR4HWMI> DF \†Sхb9Rd<;Ccf;-n\}FK$íMrF|@x\ QpgU&"f K:v/ P5t>Ků:En^ikJVZ5-#B?-b4MMwvq.V9$:,:h#gΓ$M.rNp]9t@ዛxJJC<VH'*KyΕW.0}&OQ:̟!*%D' L MJvMe-B'lq6:$a<L̢#e(ͰF=mO~o~Gy]NOM!gK$%6Zjrq%<v:&!iwy&g% ӳ</|\{yVYtc&Qﵢl`4N7WZ_F:be;;;~JF ؿ k|kl91fggtWif@{ R%aνnI R-XYdޙV[Q !u;{Ol)d^̵{]{::V`Cn,Qg vˇ )^PQN;ZTAV<σ(>ڍ RpTv!.qYË8$Rf( J5?-I6k++Omkeyiwd(! מlRkP$7IND)^~Kyɭ ƣ!na&/|=H"׿[y/?$GN"NH[&&7cAH >{g~kw83a+ ;tLNrS|>Ջ#]!,%N<'#Ou E k'cVҙ!&gqe'XaH 1Z \{эYѠwOpX:Rv"w_S&I VB9~wo\eߑ>6$&.?FJ)%"w89G~9^sl]RE1QܤݛdV78nN^CH<a`'`ld1pXh$wUp3.e\JeEMRvUbL[4.@Y. ݧP)N/N6Ԡ4Ƙ'q>'r[FYf/ϭZ)>ӿf oLR59&f tf-~h1o0,[le4r N>G6>ԣs˼[>LPp]iJ/ + 9*~dS;q\`8Ce(kKܻ}}sp <,ٕY8s)N9Nj~ۯʁG5HgMD8%0FqU8gG4M"))H#L>d4ءӝ R9fH#ir٢j"Ln\{|G4YY_Y:677hLNq5-ڭ靖~5ka-)WoXavDNA4-<.G!yP) rcJKZUp«g: WB ]w;Lj.Q(!<096X{jui_xEP,HMQxv-rޏ,cN g$[$L@֢˲emKW~8z9v$Ȼ8?)DZ!!R8bsm#IFcz)ffzy6h1y_2ƒ[GlI)^E̚ nYrv41UY 'XSG.?u쭃rUR@]{My7{r!PB cL6Ĺʲ4🊀uo+$8sr'O?  [>WۀdY0<s_5D*Bqrɷ{`瓿1ܸLIܺ~엱ovg4aHay7𻘚 $^Bx:(MW^ԣOt)"RLX^`g{Wv%b{c4R8:?RO>1XjhThR)RXc^)%`cm%F"nH-A$-&'z;p$Ydkט}`h"2"h7#zMA3$ڐȜX(R5ȺQ8s]M M<rQQXh?i(EH R!d5(sRԔ"{NԎ1vCA{a}8OMV3Cl_2f7I=l\Rn:_`gۿ{e-'Q;70ﰹrl #@X2ˋ ;,Y8ٽ5 ю^n5>'>__? }?O=S.Ud!˪amtΤ N=XՏ3[kQ1Z`c^wo]Бao3s1 8a ݂.a}uv2Q#gjs汧Yb1lmXpr4Ϲ^2F}PZ M#k,/ܡhx~y:A%$qBӡ\F" &: M7;t6q+-! iSM./]S(0#1EXertrE8TaP8()k>?;)5JH_WYA|MVB-K!6W}pE8zӯ;˳$woR+^䋟[G wW FHC ei~|FZMfވʇ zw~Ӈhhv:ۑoZ315G~=V=p(`Uv5Y:.]zw6˅pI͈O}wDP (*(Ȓɧ`:&6Taa Z.^/|G3IOLJ='Up.ڌgQi1 BmIoqaS|?@7I +8!w~o1cyr"a_Hἡ4M3_ʏ5֕$QpC'{J*R y:"Iw@B#5(Ƙ-,G%ɞY6!1.'4db- "r*RtS_`,@vM %' وH{'*BqQ>Η ) fTݔE}Gp#ezO(*"(U6/o!>ǕD)KWaqV}ܮ}:?ՏW+?[7?399E,//Н'~oWpN)ɳ-RF5z^p^m"Ep*MBb˛+ \YPq7H*^q?8O[gb\H?Y?G Zir 4inJkFҖ&ZȫCd 2p޸:KH.#!pAtB V*tn"RpY$B p:N얿{BTZPDIBk\ɛVY(`Z#]s8B<ؐ:e<^|`'x݉g?)]yI}?("OSVX]^dyiMΜ{Gw^C_-{ h=L>FK]HpasD.Vѹ Y~R)!\]KK2!C)`@wNm%~BCߡ )1 $Ry1܊`(:]4¡#,ӆk $ANBD(J]&/" t䐛'}S3$qDn$[8U" 8k‡D˩KW![!0NS0  eWP-eUXBXBZ `]QU5']Qr:BQ+M>s"--vLLNmX×шwXZ"m:O=u|7;qx:"vipDq4t֟ƀ.5?i \} \Ί d4-Y+–O#)-J ?F*Jt*SsHE1#V Ч&gQuA9`xP=R2"5rΛ;8g&:3)DMj1",ŊFҠ4BϺ596ψDhuQHQ>g 7I1,%"Ґ!hT&]/ fc偦8 |N)d[Y7TO3*ͯD&="]f֌~ kXoHxDLcff<ϙwycjfXp(=u!P$7%THDik ^GAEBA[hx0E8 Y㬖c[m\NjL.YuUQņkZ Ь"z]7 Gijʼn9E0!eIQRAD@R \\u$X_t}V,Slg0NcTƬ> U]|t.,j YsZ 39Bh),JJ(Ň$2(!~t_@0",J'hcf`RTxmoH 773V")ܟGcO0ՕE@Hk|Zo3om1:sO<-ѠϽs⋬.-pK<Ӭ6MZ[l^},i[שׂ/ őBqU s(U|'eEƕ:SF<R(p;VG4:>=,ncm&HDASVߒTHb8S6]GQD%a̱2gng,J8O&S׉岳XLؔ>26PY@ky#I Fx<Ƶ+l$ I8.'uL "K360 IՂ元8|b4˸Dk4< QRqQZvp:UFD@$y2MLL$I4Q䭵Lt w6IbM9C,e4x~1^>3XGhiHH=$^Hb(|&&J)&PI "-ANqIpLu$:R;mLQa!PBj4=[Yݕ*r!&L䊖ܽV!:WTaǯ h(eĮ,]foU*ÅQ35=Mբ2==C|zLLL4r_+8j6 xpn]h8bg{}܆B-qľlh \&3Ơ"9|( őr!cX&r9OJ3154YghaY|'!UKqyiwSgÕ/smz^h\XHVnLZkXGcvnBE DQ֪<`Jl68v$fC EFȡ71I!"2١ahiw^,?$S YYZ?O&1sLLY(B$*GJ?{YIoBއzrgT !Kk{Wp[g:B1vŚUrQUjrjי0A\_CU`jEj I FB'!W}Yd_1N6*vJV55 ^plm3;3WlRn(ڇ 5 Uqn&"1JWt4i4fy y|nё*[ؠuςK ȱB09='u:[t:ݪ˕u$=KgUl4Sӡ'%AG53ǣ2yftu;+oV5'r(b<ꣵ))VWdvnfU51FQ䃶h< ?XWn8&'Y\W>8MJGLOM VaB ύT xD5xyXɵDi"t4NĉVH;4'- ud=N'69
Ą_WE dM58 +\fqc_t-dE|Q 'Qj jWB5$PJ{sZJ">a;/wpvIΕn6C9Z"0k[c@ QT@XPE=Iպp#e >ubJ)(J"Q6]9F0k i1QЦcHzp43݅JL):$M%]q\-G(hl'`D0=7|2,+HKj͙('o1 i2 /P&Mo)Df'OdudMx0o U s@%ƺ20U}kh,Yb*Έ]am|]u pq!O;^Wu V<&›I'CUӈှqq&ȨfW?~.3gpE5jT H&~hy:GHKàR}˗/`9 Gg\#]`ů~_-\=cMm.Q)˄w.0 F)m#")?7 8C[mր\. t(ڔ Q Q2TA {@b$#d )azlצTF') 2T<ߢhdD x0ȺZSMs!܈$1a/jݥTnbP)K1XS |.)NPJ;}E q{pp:8x$SI OJ /'Կ$UNT lT#GLYKlrE*@* QHKP=` [~T Rav2'W(4̾4# b&V@|4 8EEiܿ$t/8 '}3|9fĦD͝ #&kJ.R{ޙ(dY)pss@ן~ƧO NV:nU]ONSt§ߴk{83`"' DC>KMɂ&RO~o\0SSgHHT.:7w8Ͽ)`}{*(kLjD?kz877wx '\.gk%SD쒺݀~OuKɚO*,2fE!bp=u !Z^"djAĄׁMMȾlXН|q.sx6,2 "Ri 'dqlor2~7&&%~8VJ?HLJ_>ƭyTl1Č.j D:Z't1b .޿lysRQ&fF#ܲ}_뒑Àۻ'UoF}iQz?iJ/FT7>0U01+.&4m>ɔuqmH#}4ibPi-t5b (Bpa?j`z Ҙ %M-f 'ݽ|H_nn~rI&nwB<,&4]MsY;L1À̄?`/X bzvZog0܋4CCЫii tقm<"C 1NYl5R1i9E9/:dA,|O,HMdʏӸATb( h`X=NI*sj4:UBtr$6:N"NQ ɦ .1& t}ٞI]0jFaMY'P>$]bS*э" itޢLMy$immGtmIDQwT"'N'<\S 0F YʶGٚ1&HOS%+H4*;;ETr%A%+窮<)1<-#xj~intXh^G06rJKk) V)kKSJZw!x~ۂEQ'9G Dh R4_ʥ5 YLD.Iwb1r*RȲЫJ*2dOdBPZxx|hj-=Cp`!, RU*H2fNfUHBBegFQzuo AL: D Vn餣IHVGY;E#i$IiJiՇJ+~; \_l78H&izk ٌmS;jk/< *Kh8cdvIeЭC!(4d𢚃U(P-.NΌ'2 +Y M$ ʗMLAZ7yu&pСCM`;?ԤRPyT@#ezeɫCh (#J6\UeRRZJ!`ͲJ#C̣f3k.O-FS=Kkq(fϮ%2`O9,4wAS;'*/dYC c ,UZ(>e!5)07[d)<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATx\S[L=t2jiBNGnme"OHbu>l MOLc$^lDG0a,mƍ"z@;hzcK8'眜pX"V_%I\./MӗZ.r\LJh :HG_ح @ pB"*++˼suWgŖo'[ťy?k_*fX-Xo+9ʫ?>^^_d2 "ւ"pb&p'[\|y6,hp#p-, @zz:ͰΎ~}JGckji/).>>dm?`jj k+!bNwކ*] 򊊊:'8W܋n`>`fCCHJ>/sx84k2nv8ͪ soT»g{=( Ϟaq |aTQVʕ@4!pLNb7Xbx g$ F"#Wڡfi80D"Sc7MQ P)B[=\R\y8D,]yxW{/&skWpm99^f4(OAkUԡ|֖rvj"%Znٶȱhk]T\ p )U pd Ρ2ϠVvьyn1!&b⣇KrJ5݉nzy1wkO&8]N7)vNKBu!$ ɤjJe͹SIv]CYe)I`2'/aLF$ᬤmil{У"ozN$#4"ĞG{eh9Ea^OЉkGC\1{`^_[˫x$lnTȬb;H'MR5N^_C8)qf?xӷWڞ3=<u)LJ%z.xnxigrEۗ>*vTjRpDDGWTBQqY6t2:@܄Tbm08yLZ9Wٳ& @nJT,3kP+)hO@EEr}g@& _B{: ՑM:55:1+dL5rĠV7w\ :Zov 2؋vxn xH @G,07nYjN7nw&ח:r_T8F]2*i-ojγ4ifV7 IENDB`ffDiaporama/src/ffDiaporama/img/ruler_ko.png0000777000175000001440000000307612275647301021330 0ustar dominiqueusersPNG  IHDRw=bKGD pHYsgRtIME&IDATHǭkl[9>$؎رQδi!)Ф^DĆ&ƇNhb`E"- DYHRh!ВigvnN|)QҫGzO+ön65W]g -޿g⍧Rg 'c0B3vNNˋgz`:ݶ}ݞ<ϧqC_6ƒgf)Zۺ܄%X`Nr&tAQ,K 6EfUiU-mI7O\\gEUoBQ'?ȧkCAJ)u4LJ{S]dzr魜$^mr3XaC So*Wyle)?~䶮-~FP qqPlFLIoD{3A}ö2FudaiBvt6U0Ǐa\ M`֧J$4bP$ J {3~-)qz^>;2EJ\돌y-qhX0mCyR TPGU[W"?ϔ~'hzOZmO-].X~,2K T`#,[aŇϧ) |'ӽzoZN-Cd, BTYRF ۏNLgzErpZU]U>f㐑a 4dE((pab*MjU/Nkqe_Wx: *I_! t64j#j 3Y\gdNW¾NU_`"s 7ZP@քU;P^ i"QLΔIw/$s.-Sv]Nm6r"LD׵Jy69T:I"\fNF!; h YQ(ʸ8[|$o,tngRQ87G  YMoabNoXzFI$e 4 /ka鿒"N#IfKʹhDn}Jvat&#V<ΦseU'!R,F,Tx$!:8"92q.Pؾ1`xQVnIGiN{u*ʚ54(}Pgik{_FG/}vyArnl\Dga|ޫ]Y[-.;L7LDoMZWuZz oxUlb1IENDB`ffDiaporama/src/ffDiaporama/img/rotationg.png0000777000175000001440000000114012275647262021510 0ustar dominiqueusersPNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<IDAT8˵ORq;Es~Vh7D i)%FW;y ֋lENɜ&UgWZAd:{>sΑd`˚囒}06HWz*``ܶ+z>"Y HE# ]|zE^`%bŢvq<ߎ!l;;qOud_W!D0_"-IJx - tn$%!?[ؕҲגm8UޜBHÝu{N*Aƍck쿞&rPPz>2I)3A.uFk4KܖA.qsjw߈`LwЃK$H wh5G0zg'hcA` 1?1mR"@Qɩ`h70ɒpGZupvUO$M c'qCGH L+@Tk?FEkҼ갺|IENDB`ffDiaporama/src/ffDiaporama/img/rotationd.png0000777000175000001440000000113212275647314021504 0ustar dominiqueusersPNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<IDAT8˵NZQy8DF NJ5XBр/DiEmAD0@Դ8Ҵ% Y@41_go,9'(ٹ-;5Cc-^؊֐X >څտN~1ՅW v\N)i7mp- $t+@UVlf0˼߂|@%#ZDD>U㮤##Lz(27ύ > YAW _yydzr7<B8WEeSO`J\''A9-K0BFg}5Հ# w !zBq7˅+đ6s۔CeTH`9ܷyhvע)DH&TiHH9KI$ mֵL\i9IENDB`ffDiaporama/src/ffDiaporama/img/render.png0000777000175000001440000000277712275647277021010 0ustar dominiqueusersPNG  IHDRw=IDATHU[lTU]1w*,4~DjPGALy}@`h)3 twLy;9c}>{Cx^44487l@>WZU\ H){Q큃X4&ɔf~ v9`ss;w~ XԺsE!BH~ys^Dze­K;::2HvBokx( ϟ?*.~՚N`p8x'D+LBB`&$;`a, a4MH ؖ 4]TU]iB`}R( (`r[Zk+?>󪪪*UT-˂h 4-] %0o\ܾ}>_.R̙(//0UfX]_^Q+++X4( 2t:- )%8 JHMx<Yie˖Öeykma5igp8<v|%0`>킔h>z_i~?^/~ 56~P"gr!{cJW<G08@ oBX!''uk?D"h, ۶A0pa`hh#rRܮX,aR[PJ&p8R$R2 ּr((|hҲx,(/Y:A\.F"nxllcР*(%S _P" #^(?xs~5<^U%% , c!cGOrO`ddh8l9*3DmCuTm#L |F)FGGi:ȴ3gφ^RL[G2}}!%/S)%4MGW?dBJ n1ŕz,YR%`AUU %ΜN<BȂ͛7w۷%DΟ6Mؓ6k\xa(//{g|[Z!kZkR\ @cSSӕ+WğҥM.xvo=qXft:.\dCaȳgJB qM댮0cGA2f_7 LR{/ X^rIENDB`ffDiaporama/src/ffDiaporama/img/random.png0000777000175000001440000000473712275647257021005 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD pHYs  tIME16)tEXtCommentCreated with GIMPW :IDATXŗKuTIݒmg`(vC1xc2C!}6I.0lsH gA-%C~WwuwW}eQhF.\>>8?{_21FŐ)BЖ$jdDA eXI}$h=#CD1N9Oqh "e0i>'%Yxݻ8bdZ$B*͉a (Q 5=!CPq]s;l[LŏkI]J P,/rSBEHl0IQ;;T^Td(gs%Nw[Yg'?!4LH&IVڥ@lg/^w~vba&թ0ha@\e$GK7_4^g1zv J#$ Bpѧi pk<'ܢ_LIB.2yHAǡKa>Ͳ y4̽Dmńto1^ψmv0)(-UpVêe/ᎎ_dN*PV%/ǀdINYq-3Av L  j1_DϜvxr'94R4^0(RM k]˒yΩ>^8;;˩v tV,<\K~M&=bPStyHS.Ps |07GPt9Fhnߣhd:Iڍ,ݦaA1Ӹz:Dǭ>AXDCt RB 3 E[$Kh@ji1uo^·FI^@KÏ~FH/Y9KւEt"(=T:2Gh8vkqE??4ap>ݵbAgސ95a"Jg HHQdc|99WB7nPQőf(2Ylvo9:)Eq/_&oDWB+P =dgS:wRQ+T"qݯε;WiCO3tpTy4tLĬUA.O<xaID!6LҹW7 4c=*K)#J[i) / NppCJ;$) @ hCB1]|ýL)O@';H1 h߄Ife"WrtxB @90y *f _]x ?'uJ> Iζ4.Ko_!ƈ$B~f3YNvkAɨ(FO tknh- QzaS~LBIL悐FqO~Sy}TAyJ D4x hBPI{E^W0k D!T`B}n6 @#7 v&xRl) V> r~pD yf =q|'<~u@Q#b{dz8Ezc:w)HXA- w3 >k"^/,"qE @*A[x?b>`=-ēj)a9:qG|XX1!Aa (Q_.$ PJh;ps _9>չ?$Z0 2o'虳Ơ$G\L/XBΥD ĈDM$8=:z.-Y_\b=\z+ 3:j D눩ƫH~WtIENDB`ffDiaporama/src/ffDiaporama/img/player_stop.png0000777000175000001440000000027012275647241022043 0ustar dominiqueusersPNG  IHDRasRGBbKGDWY^h pHYs tIME  J8IDAT8c`h.?> a"F#F 5]S?B.IENDB`ffDiaporama/src/ffDiaporama/img/player_rew.png0000777000175000001440000000717212275647256021671 0ustar dominiqueusersPNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxDMlSZ붾uC l- fW?A!zbO4LԃCֹ :v[__ھE;Ul%Rj9{k(S0 m}o}5BPA@j9ʡ^ٹ[Z@@JewO"1Ʒ]vƮտx$aUGNǯ]oS1+ - r[3PY.^% IGA[Q><@b7"%Dh'd~9c˅qF$J'|Iû X979|f)b: "cc [PMRCފeKm;^LQ.2f7Q0JUGXWhtJt+WQSh߮'d9$I.zۈWq;w 5+^0~'2(Zaю>o{Q0ս^.NSnUDEQbb~0{??{%" jՙbԭ_UٟWdƿNIENDB`ffDiaporama/src/ffDiaporama/img/player_play_small.png0000777000175000001440000000172412275647277023231 0ustar dominiqueusersPNG  IHDRabKGD pHYs  tIMEanaIDAT8mMhu33nv5ƶD#֏jkKcEՂ"B&HKTAAKKZ0zPZ/JSM&i4dggwv!m^x{%Ibی>>%ʷkf^7]:葞w%.Od+7e1b:-D|,:,D>P G8 Z;?~ -])3XRP]o}FHw70莶JNj E=7!UN~&@䏫l^PXeH,LAd5RPPBcOI{=ٳwo\IiA'vQ2kϿRsdN^#iFfAudY#XF{(.mnЗ7[8(u>ZɖNMHgdѼVu dR,Z*OZ 0*R/B@z$I"/\^ \ZLh-NsX+k*b]$Ii^3,YׄJ5܁ަxK2j!CjB]`9 x @s52*_|}1ny$<~4Ï  oj VByšogƇVlF`ū*- d#2*WwOt.x6']ځ6 FŶA}}=v-kwFw~jGwcuxTz[>|z?c'&|$RHgsSSGl%Ir51'\g]?Zvs)UIENDB`ffDiaporama/src/ffDiaporama/img/player_play.png0000777000175000001440000000274612275647255022042 0ustar dominiqueusersPNG  IHDRw=IDATHmTW{g̾uw]`JX(nijlbmR$EAԥ&~1XRI&HӴI,!Y2 };a.'y={3!6.׈~& w tJl+5|ko% Du_ؼH$cB,'dN{OɱAJynO<쿌(5VV*UVj(+uѳJm|o\5/;|;~5&Q6@)`A ̯ce|?~WT@:X:T̥CAD02݇~t@4m/??bibgWH&P|NBq$ g>(r_0ĆкBƻ$3;=\ʔ:C#|EQr9mUudRhl{͋粸vMH)i6l% 9_2$5f} $K^ȢeOt}05&4 )$B " B j S%zt+9{$kVov \0>&b8s9}EŪ~z}<}UC іʭ+@Oͯ+EMh[,ifJ9,e{Xj> RD,}WXXKx>z$ܥ CW5Jc E:1FjuAYB0MX³Kx^%K,n 󼫺@3%kx2eĨB"wOd\^6/+uY:f7` tTX)k={xdR)V@@E K %qYYξ5`@@z PŠVزc?ϼ\#zs~(h!:QsVdGG^i_Ѹ ] P il8бI-2 Zd f3-"ӓWH\:Wa: I@W| kus)4 t 0haL&M *N=?W~1|8/#`:9=ZA !^8_/ nH"~ď_@C{zV=8Nq Dd2I8FJ8LOO*PXkzM[fN_ 3ဠ԰,\nd\Hz\xWGy }^?f&VM TK*y`Yܙ?'Yn"ҳO}{I_W"AGB NC*W`l"u)uq l>ЭǢفµW*ۭlIENDB`ffDiaporama/src/ffDiaporama/img/player_pause_small.png0000777000175000001440000000171412275647257023376 0ustar dominiqueusersPNG  IHDRabKGD pHYs  tIME HYIDAT8mML[u^飅BR>€i]â&x͖mO^\"yǖR`J{}{'G4/GCNyD"RnnX㿞^ziCo__YV6,2+%e>5T=l&G>9wi7VIW%y(*+ǺC>8Ue>⟎oパ-0;T@![$VG{.osvl)=bKeNr3!*=\#ֹ6'Ighj 6:3qN<~1C_ KZЉ0FRP Yc{%[/<Úp{cK;[ѨQېR)JE);6ww)%m{j:{;{ToNpd *W@Hɐ+H(hʠv1A)}YڦbN [XM~&e#vW[.^k[PwUs* Bk@Ѽ(BVPi<[Kp8r^jd:9FrmE}'ߟJtǿZQ5En<:eǃLXdרr)"~Q]WG\`(CWG_:U-J9+J_A{@k 3DFGԧӭG>NF>8s;.wO[+JgY*[Ny'zoճ3SіV*Bv3go0.7uIENDB`ffDiaporama/src/ffDiaporama/img/player_pause.png0000777000175000001440000000277012275647307022205 0ustar dominiqueusersPNG  IHDRw=IDATHm\Uޙ3;]tnE[$m6~@bHP 4ИR V]P?ňC 4 6FbhL0!&Fj-v̝̾{y0ۭmIν99y<(zM]7nz0ᕫِ{%=T-_ھg玍kH(b,>66sR̍DsWqyˣo0&2^TD&"g>YLD^?)ډ5pS/=_ܖFjPJŕjN -EOfMuԡ~~rD0`%MZu%A.Mi}kBOٸ.E5\4pHu|zeeشs].|xo~RzY V_|/uu(XRWfH%\^dHéEFA+o@$[[}׾6guܩ,i(Op'ol:ۢ< ?`Hm,26;Eunbw...x.i B (M [xCjlT,17EZX{#OXq`ok #@UD5њ\.]ەJlvi~` DnJCH21d/dXiI2^e њB@ ]W)|DkP-BA"k7[vkVR~e1M4C|`VP_7Aã^B0x~Kٖ9Zc(DSZ #Q ^&-T$uĶ MPAJ  F{$hfN#&\uiS(APFtϡE>6<$vZͷ P[IU ѺhzFzҨd gچ# VběYc`/" {e}9oFiP:xȞ{svz F8bmcfn%Ţ1 F N;`ƚFk6lm_صm7p=☎PCe+"hz >4*ĻzL{lx@߮oko`a!B*&N0 XZZ"SVADg?Cog>>+<8;GscŠK,74Lj"\|Dr`[/]LNC#;_H؝iVڒ.E*RBݧ`,zZ^e]пGюׇnOI)L%䋌OegΝyy~ryW_ז=!uzPj3A|F\o/шIENDB`ffDiaporama/src/ffDiaporama/img/player_fwd.png0000777000175000001440000000717412275647314021651 0ustar dominiqueusersPNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxD[h[u.'Iڤ7zYڹծvkcÂd->'烾0|Qal+Zu)mmKdINN/xoP*h5 nmP06m'DKZBҳF1- Eq_ߑSP>'f:- k;G\#k1|Gl(:ַhfN⛟fH&Mj$v}4 "Zsު__ɎcV!/vX(8-+8BZ8H:+_̂K7Huwvf5~?Y],Z\ dۢ}{hjh"X\*m&ݙ*7+MAvFp? Ձ{:=Z7ZE9*|3S4o$$ H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATx4KLufv,tPC( !шiIMIfZ/=4ML؋MxhZ< .,2=uwaewI|)G[6BR(U=QdV[o>5*+RG/t=LߟqyL.N_*d9?|ԧJ: ,e3aYΞ:k`{+OI%MN>yHдjBhZ"ǢSd׷m Non*nX&cb] GF?t}n(躀BPXf *]F#9X W끽nI ߼/klN$wP\:qwv(+Ky.?Wp VDE(QkΞ_G69j7V)9._ 2l0_ĚPu?EkUIENDB`ffDiaporama/src/ffDiaporama/img/pattern_fill.png0000777000175000001440000000757312275647257022211 0ustar dominiqueusersPNG  IHDRĴl; OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME .4g-IDAT8˕]LU[ZM?llj@t#0YnpƘfwr fi8e&Ʃ|l -+m߾^ 3sr_y#(³fPܹ#>(Ãq49s`0l7k A+кYO@\E:fM>Iӝb|Av.-/<ۂnP(vKKH""MM8rxfs=8t]'Or%vԲ:wv<8{=jZUUUEgg'}}}RWWNE)wttv>R&B,*׮]C5ju>h2W&ar P]UM:&H$X,JlZEhhs㣟R˃ZVVVjx}>@!:%JQz3t wwuuڍfgy9 ? E0]nss?333 EQ٬ zT"`P~l7L& $e2jjjK2. ͆$X^^&!'IȲJ"ɠѨo9+FG&3\SN:jR]]MP$L JERdñ,;C>?NͅKxQTa0$ KEŢLfupH$Yueۮ߇ߦgf奥e(EՂ&%4;`~q|4M(淃Oݻ{[ʭ݌'bH*#( fBd3Y1&Y?pw^Pek x<67lӹdYϝ;T9 IENDB`ffDiaporama/src/ffDiaporama/img/object_textHide.png0000777000175000001440000000162212275647300022604 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME% 9IDATHǥnD:1iz=FP5gT H*4M8jv<.Yд2H{;7> l ײp0~>tcz_jpR W|*aH*"Ym|]BP-Jh4V`0R~y*qwvv,V#NOOǬcS`/2nyѐRJ X, J>90j\\\4ft:%ɬOonnަQ@۫+|0mw=Eqfv<Nsn(H$-e8/l61H)O>7^ahQJi-LRdd2fs {޷A @a ! ZXB/Rp8}<=})( 50 Z T|@!0RJ)1'LWot@a"ZD"p~}Qnp8Q?/ !'1ih b΅lRd.\ZEz/@k]Bc:"ZHZ?u33CZ- u]<xcccFGGZFѠn3;; pI,LOO8&"X[[cww(EdƘ&&&Rٹ "DIx\"2SV_XkY__wXk<ɝGyAz?u K+g"18-Z70dooJbϪDQD@UCkfH1檈BZ0$߁flvt: ³=FCQD]a-J |9#\rrYuApYD.I:^ޗ!Cee_鱫"2o" /@izUDYdzD`$u/,Ick\?έ#y-iTuX9 z{?em0c"P!0E֏@(]@;٫JLEXD=( NVd]oׁFSU΄=WC<UL#ތ^IENDB`ffDiaporama/src/ffDiaporama/img/object_sound.png0000777000175000001440000000314712275647262022171 0ustar dominiqueusersPNG  IHDRw=.IDATHoS?>'>Nl'FnTi/ƴ &mڥ۴M(-P`@D[krȊP dI_`Dp]gi떭Ç|+P,]K/m]-}}u]V?񐮟سgϦXp(46.:  x l޺Vǹu:X>")x,|G<'O`llEQ45m: .2y b=,5GcK_+ϑCNN܌u]ڢQ:SIC:=Fnj q0 b@Oo/[|ʽOn ~?:eyc*y}?{-0> l#h4wWx<;||YՕOoE=B-J.ƍ_C%uw| ,˦P(23=eY,^B[,OQU?Kޅt]kضMsEQq\!=>NVC4FLNN4Hufgg Jh Yò,~?_CQff(IP  :.ab$d ¼$IhZ-@UUUEE24ȲeY%&2L H`& !`|>ACGGz(CV$I=`tb EU-rHZs47Q:LE4D{&.U*t*( N֮[:iDxaFUdEaUP*||ڕOMɓoܾ?y9 J^ALf&zjuDQ`ǎﰴӧOضm={r<|s|q .H4Bz]*"/D|,P(̜;w~s#(2~7(jmۘiYXIHYf5mǎ{9˽JvrWF~z,)QVm>%iB!x^ ԩSG++WLoٲ|,ANʲ͛77L6?:s˲χ(..tʶT˭cR$ 5e2%RiK,ڲeD`SSq2SSS7?D"qǝ'0 !|><==xvvv8i$zRdEQ ?D"#D"Q2|_,}sssj\i* I(Jj6i  9pIENDB`ffDiaporama/src/ffDiaporama/img/object_movieHide.png0000777000175000001440000000320412275647301022736 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME%IDATH[l\gwn{cױdז@CRu4T*HUp RR" U. "'NI1bx޳{~HHHh4H3S'QWP`d@SV“{#ڵѱԧƗ9 l~޺ EOǻ|罨##O|IQWLyuR>o03kͿo/p]D>t3ނ|Ngvf )5,Z)ݲ%;DYRӸ Uɳ$-*Jd| 9 {{P]U55u}2̥DMAtթ燇 uRׇd7gl+:7Q</7oO7 ,!.Zq5֒_9y2elprDB;x}A&1=*X92 @y:ě"xSzq}Jli[KVb-Xʤ*h} 6spmXS UyYcU_g̏_} _<Y AI¨ t ɦP]S̖t s՟kVcfiZ6ʼnq99G#Ph-beng7!o@#1{oș].h.mQ 5Tz\eZr<}D`:{8s*,SA1,xJܲc~d_LV7ʞPװ}w|`>QB[si vكQ$:r>^bb6%S}˂S[[g/x[qekf&"7λdED)~uz)j|E):9U"!yB P%zty9hE >\cmlB"c׎N- |sZg&b( -So3<"K==ݳBUHb}0ZYu3RY4nHrBXC?@$N9(G 88Or%! mXMLwQ,yXYvѱI`+c P Vy_iXʅxIL]yXj0=t^ y} Ndokp{JDa>~@Yq\VT2},_9vВaҤtäΛ43}=1'Gzh0en#I39!FĀ1ch%\1M -ѧ_=!Kg):vOzpv`i9gϲ`y> %7o`|n ᅫPHblK&} _>E>v^6Ȋ.P0{/ ,"U`Yff2L +"P#@g<2jB2 S π IENDB`ffDiaporama/src/ffDiaporama/img/object_movie.png0000777000175000001440000000350112275647277022160 0ustar dominiqueusersPNG  IHDRw=IDATHoUsϹm] L$`RRi!PE4j>D-E6@ є6*CEԀPخOpνg}pdK[ei[YL0o`9 s|%;/q!@ be-b .I:˵䖳"Xlɲ3l݇qp\`.%p,8LnbU_ZtPgiD2ʢwͪUU5ۃc`k{;^>\D+>fSr/1p,x5{nC0]X+cc Qm ym}Սc$.x챉p)qp]UpjtN,ɢ_7#Pi{q$CA,*E4KHbWåݝ#C_42C {^?q96DªbBsS>3 Lo뀮{\0Oϙك'N()UΤ4gtx= }SL2mCP2 X^u lZ4n:F|cm.Oƾ=/vg3j޹=ؗЕїO߻p0@DLDg<+Rk6 Ʀ4ݍ=)P[&@NҲ'[2/plˏbPI 0  eDn`]Nf6MΏP_[#*+˄Lk1Bv(>mxGPh3\ܱ6ti] `jYj(B\m4mIEoBS9/<2,૬F\:@L|}oZ~䖤p_䦟ԯx, ;U7%fs7m` KBh@V>;#7Q"MI`t8za<EӂzEƲ5xU$8rەj**y?D%( U ܖ-w2ѹy뗷 >Ud ˜5<+jB*skJdDx/,Ǧs-08.pt r " $@D!M\U_-Bc S+6d "$(ITl^LgϮH\ -H)I~D6-%UѩݽݸvK"IgVe\ BEjj47NiP>oCCcQJ #SQ"{0MN(q(Xɪ7M,Ӊ׾IENDB`ffDiaporama/src/ffDiaporama/img/object_imageHide.png0000777000175000001440000000644712275647262022723 0ustar dominiqueusersPNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME$4 Y YIDAT8͒KTq?{Ό^gtPR$hcm 60EղjѪZQ !`RHrt|$83wBZp}=mǵc"1@s k*t9"\oaG)rMt#L#6(>BZq5K//ZkIcDdJeÚ:9],FRvyF]H%:8P("Ecu]S T.EY xn:Mcl" X2ROd|U3RU -a=c903}ʍXU, Jm4 s<1;oqx. .IX.M>W(듩+NL8Z 15 H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME *|1IDAT8͒=LSa}_mjlDML\CB ] q`pE:8q89dttC j({/~4aapѳ=uhy|,5a:/"_wa|f3ptëW\vi!ޙ< @*rMs~\c-*†-P`B"Fh,3h(%m!MƘn! ^6)M6Et@ z>Y/OQ<ҋ # [ѶgۿXbMP:0,յmOmⱱ:). {B&Alb xv,_2q28pG>ptE"U;6Zu{0XW48t"(e}}L 8kK7:lƮ+4/P(3J=Έ uA/Jc#Z俈?:p.@IENDB`ffDiaporama/src/ffDiaporama/img/medal.png0000777000175000001440000000226412275647262020574 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs-ItIME :*AIDATHՕ[lTU9sLLN̴ h ʥ!FM$1h b&5AVI_ hbШB(&}b#m-X40u{}FZq+k+kq;Rf H3~nM8pH.:G9wHM̦1KV֦Z jZk팆"!I) )IYɩx5KK՟^jsGBi9vf@Pm"9ab%JYc'LؖsVwFt]*z~ؖeE).,ϛ 7!*>I,f`ؙأƣw)W0t1~?GmvYElP(Y!U\+ԝHsS+j*,GJh{!]}'yf,E] 31SY ,łbEa4ƛ'h\ǍP]kuxÝy=wj33 a`Ljht;"xNx_k}P s6SR46blg>swqwʿYၬIENDB`ffDiaporama/src/ffDiaporama/img/logo_big.png0000777000175000001440000036734512275647300021302 0ustar dominiqueusersPNG  IHDR MiCCPPhotoshop ICC profilexڝSwX>eVBl"#Ya@Ņ VHUĂ H(gAZU\8ܧ}zy&j9R<:OHɽH gyx~t?op.$P&W " R.TSd ly|B" I>ةآ(G$@`UR,@".Y2GvX@`B, 8C L0ҿ_pH˕͗K3w!lBa)f "#HL 8?flŢko">!N_puk[Vh]3 Z zy8@P< %b0>3o~@zq@qanvRB1n#Dž)4\,XP"MyRD!ɕ2 w ONl~Xv@~- g42y@+͗\LD*A aD@ $<B AT:18 \p` Aa!:b""aH4 Q"rBj]H#-r9\@ 2G1Qu@Ơst4]k=Kut}c1fa\E`X&cX5V5cX7va$^lGXLXC%#W 1'"O%zxb:XF&!!%^'_H$ɒN !%2I IkHH-S>iL&m O:ňL $RJ5e?2BQͩ:ZImvP/S4u%͛Cˤ-Кigih/t ݃EЗkw Hb(k{/LӗT02goUX**|:V~TUsU?y TU^V}FUP թU6RwRPQ__c FHTc!2eXBrV,kMb[Lvv/{LSCsfffqƱ9ٜJ! {--?-jf~7zھbrup@,:m:u 6Qu>cy Gm7046l18c̐ckihhI'&g5x>fob4ekVyVV׬I\,mWlPW :˶vm))Sn1 9a%m;t;|rtuvlp4éĩWggs5KvSmnz˕ҵܭm=}M.]=AXq㝧/^v^Y^O&0m[{`:>=e>>z"=#~~~;yN`k5/ >B Yroc3g,Z0&L~oL̶Gli})*2.QStqt,֬Yg񏩌;jrvgjlRlc웸xEt$ =sl3Ttcܢ˞w|/%ҟ3bKGD pHYs  tIME /< IDATxydu;yzަ{a 4iP Shʖ͐pipPlHР) LB  1=+zz{߾VݛyGf޺{PIozne; ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` 7[2-=?~N ߙv'vp}ͮ|">0^ [q㿵&젼0|˛.sned}o0L}:ߖf"GD6"Boy߉YDxZm^fd<ߍv_o'wnH?UnKUU{:bYg|;FV!ԇa\/7i[|ʹf>@QVi*Ho%m3y­VňIo"TUE@Ql 6w3 }3"7A:G7۾o˛{_:B!FU1 B>[#`V7T-(uT{Q5&@fc1FcX)WEbŢ(9T}F#6z> Xxp=#}xȼcdjoՐ^gNfh|_^P5I=~|~и5UVJTxԎ:BPU!!Ԡg3*ihA0bPC9͹^A"*-C/bRCDX%u5Gcl__'y8S#/hYv@Ao0y3c0`-\8/7_mBXkM7ǦM 9y"RMP!H0">"-C\<cQ4R8Dp rFcbZq߄C2q3[码A8k! 6xk!T *8sE:3 AY`7%0 #e,͟A̟>xaBD`RVHVmx.: c-`ظjH>H6"50d4REDaJhkgMnڭ>'>mj$!zV\S9ǨCp64r,F1֥pWj/71|ʩ>pWUhD?1FJ{_[9n3֑6QHn`aI|{QE~dCRs@ia GUV}{J` '&^x-"!5-wX/C/ Z9=}CT2`kc1_-Җ:)PA5F*AB#R6(j3;2 1Ơ},b?(ʃOV>' gcc)a'( 8Zia CƖ0;b\;> ,?yas1k@,ad׊s.v5=Iu:Cf5PF$C8At>46BtM8l7"n : JxWŦ0ϟ1E} ToU7u)%r`DF+; Z|:btҽkY~]\[9Qϩ2w5ɳ޳.n[!V9YάSm#6DhH!J*+F3X4L>yRJW'oC}$3=__/VΫ{:7^=F x`p>[kqA59O9z<1PG Ak$m.U%>:x UP1)F@VRt$ !E`!4(U/MƔ({};)I+6 _GT,K0J|57hw6EXBYݽ<8~2<1V\}_s0[oeώ|k甝0+c rDF UړObW j C]Dl5P(RXJhY!S؀6SP7{r=p.%`"X:So{HB%LJ],ZZjaD1U#ۼ4.;"ߏ>IeؔZk됼Yhf}$< 4),WD#F JpP ȸ=&6ݿ)5&:Ě"7#PǛWRҫz}= ޴{>>UU-.Pk,8~fCwscp9^>}:7^Qvssly:w>pǺ򍙒I!+"P]6LUc&^I`vD Ϩ?OuL|UץӦg1ҮyCMg M ik6k4,jzHRySFz`fji|ߜ+buAg&ȧCh5M8)!PU*VS058Iw!(a^l_W)ٳgUe9VKR%nNCӑ럗e)';0ɂ'56oHfne|x?'N`+o"*_}oc5W qj$|iJ"^Uྃ_o#o3vAvo,Ke)eY߯__enT& +bI2+~M{4צ9}({{j[lE^~}mt1=_|—0fk;),Uڝw9M{{90,o:&R,]UZLYK7Ĝ҇hkFCc Q:L"Ŭb>PاҥXRy1T&6 @}.WubS4 yt׮HV|E0 mYݠ)QSS 1:so=ƙhlS۸5+"rHR=X\kh3XhY&oVN8G74 ȷ{F6TJyey2`dmhH #-4x ӜKy9^ ëXq/׿vK*5*kl:ƹ89^8t{'{l=W z#,>y3^A&&+\?wљ:]?8y)V(8(A,>juX ;chBBb<Ȕ|]v*}(q=4;Mn J74 9-MOz{[Ʋl/5K5Ӧç5>"1B$UBIudX*Qk"KVij15L*MULP 1hbK6kͽlor#:8zd|Aj' e@Mk!|/,'ZYŢ BPu e_v3nֲRX#TËTY[-?Ďg`{A^ba(7}znC,늟3יK7U>HaHX{U~`wܘЦ Cwz% HK5jwl + {A*P) 8 b[m -C EEiTJX$6eHtX5z {i5KJZܜՊev ڍ}.(0&E F0Z!VXc'*QLa1_RJEX3%Wn*JQ* VYu%+bT:@e43QJ7M^'5".mBd 60ye3DSuc!cAIUdC-{LN>n4hB5p9P$j S3aae3uz,7w'?S;xt]1ooq³;?WX[ƕ“|)n', ~W?m,ca: >Ʈָ1S/2ed.&ǟcx)Bk3=6R'&qS ?$NusT #k5S-uM;\LM2s@`ntL0_k!E s+ìc5/$&zZ/}D"f ( AimzMUzu$feVQIm~N90&b*UeQ/$ԸT^q2n+Ԗ܄TwX њ[`8/\ڰ kfĻx/2 .8<:سE^92v}9q轞OK/ct;'>ÇH=p)x` ֏ӹT\})Nof!.^x2Uwr䌲}inTٷYpa*P~K/wB 2&nBUԖPkx \6.kV*x*) DX\"9DފѐELRӲ߯qzݡjzp551ANAplR!!^)R&38!+TX[jS*YDI hJ4#!CzP+3ƌҖT2DpfKal46Ol?<{ef".RiwԾ9~4g.^$ϳ'Wo™:w|𳇩<]l`,.Wfo8ǽͮ\;y3_^䶇z\\x:W~brc/rT6>CeƱ~ "ITq}5'ֺڳM5k阺 (8pb[3K8 !Xw 6qlC/0x%%b i5[ !4t~3قZk-9ʖj<+Za5rdr٧Jۉ| k(L$U3 h/BlPևH0+E69b,g]=ZEK+jL*F# [|QEPXiYh IDATThMyVp}=pDq!cۥ4m[\FbC5{ l) 9\6_z=̇Vl{Vg~V6knHsklt/b,w>s}93᧎0>LIx0QYc|ͭͼ~,nݵv>ۅ]\qq?mg1p`xa33o9];dy kX mcm<5`1 7R#JaψiPW#f|Ԟj.)Ox 1UC6pՖKc&-chXʋx {A#*^ gC.բ%Y){E%PAhj I5|lؠ Gۺ=qD@4(؞KCqcQsw30FPɻwod:PWTb1fJTιa~i&w!/td[v0;'w0[%l9Msؽtj/31JX19;st>|p5V%Zm*_*mW$^{FL9~ȹ11 ɰDc uUN#fY3%K/v{eҿwQiGCTq!]y1Y_ #6PEWpFO $|WHH|hĻV")r2 u"񄤗^G1Bc4PWR)!h| eFM:#A&cpUoHyIZ*D‹l)ӈ D  J0mCY0F58޻ᕕgyK=w߽LR.o1>ϱeۯpM+G<YNϗ=sQ\:0QJ֠4/Zm ؍ܳ_}m[?xMi3 F9{a殬0,k~?~?:g6eƹras<(~:UP$05ؚs X2yݾ.>ndʐ$9VSc {fC40Ps /BE@a7{sRQ}P4dxj}h&c%>;R*C#J! DGy~O^GRd%ޖ:CzQL.1,ܒ6?8S oV[6@Tklă" $Ao Q-1&XPLRZtBj\Fpqf+o᭼vزaI쥇yG7{>p+g6u_2)N1S~ùB~j*㛆tUu3ZF.LGJ=3).|[wo+l5TkLə+,*m|%EqgsWWŏqn+t OhHZ!!cih\9L`.WeM褳~,6N $4~a\x՘4i2IjBP3Feǘ#cMy|0aB}Rdzo3gV!|q\ <>\&W*Cm~\qǟa; =1mzn`P_7lKk IB~qs}iTfebRj}X$cxj>XVfh0IJ|B߳Fa,:)(L\z4`m﫨"j6ZxOS >,k!EJOX}Zs4EA'CeT(D"bDF0!V 5T [CC.|*WCHl Kw 3W88=»0v䱗x2TYYXΑc<]\*^Cw}q kٹu;vacd"}<̕o'axݿ?ʎ=cڳ#71zҍy^8~ [G0 wLr6*Ia]WX! a$1C& fvkSjڒIg,U<Ʋ$fкobS.Ap^oUӚC0 e(' y }w0ZI+/$Rn&\%6@|6}NlldJjlV%V(rZ[*"Ю4DED$JJ!zK_% 8^hA$+0q0 XECARUy²[Glס)fѝع6^:ӛy{t*ӣ\%ڥ.p⥓L ĩ3_ "x,Gk ܶk/8G~C\q齓z+˴wibqZ֡ko2+'O\ئ ! B:@{XLBzR3ܤ-bӷɠʻ D~/\EE <$ӓ_͑_=Qm4%TI~%=[$h@xFbUCDbG&D4?7nkȊVud+ +\|IYha>`RSknfn*M4Ub4tA`5s̥?lZ8UT"xM՚AxGcl{0^r=c.if%UJطW6/$VVZ:3⌅I0gbHT)T-K*brHop7*v:жwٯZq՗/ܑ2KQly {V`b9I;s ;#ȣJ'yI"`N4{+qm6aJ"frmйbLNS X+Rt*.T{隒]Қ9GG|!$~kBbehY@GJ7}8S7DM_/G {\jo\6xH)a]K֝g*S=C #hsiVBB<<4DcAЂu@ XC0$UOW=뢔N:Ut) VFRgERJjJB*'U@[uLξ}#,.屻tO15v2O|x};u;Zp;98z Yh a2s2c/`*cWV>3-|721r_y?Q?EKQhOL4152dZVM ˲[+}JMefs"(G>0d-f +ȊThFj.΅Q2{-*h3Ae4߁) }"(|Fr7Dq@a^^Jf-eJu\ =9?8ׯ_[Ce(M YR$Qi쉖`5Le4 TMD& K!]M흴x;?S{{?Ak4ö8nb#\E8";u7`.0o'KÖ^9ˎч9'//ĩkXƖ ǮUT ˜vCk0c{V|럢{y&o=+LE6cMQp)BGm1I4 t Bb :\HGTQpba0lt_qdaz1@ S`䨘l/8%\q &/[ $E0XTGҹ޼Yoߔj^j~m޼oܑ9Эߍ\qU֬VGVI 8BPcqZ< N AF)RJ["+3^]ۀhCIXێ^-?.!X0G/|ђ:%F2cav&0K|M\ykw2d w=p/K\YsD|@xqS55Ax)OkaMjỖѩ 4#H+l/_qFmrpOeV9}u֯ҙdCG>Cvae8^ܕy2#3w, O:ãٱ=3.gD-YɬMUY$ _V"S@UyZ%p+CVimp |@khkh+ {3nD1y2$IF`|FzӦƞG!W$UNunh\Ъ2UI3\ڷӟC.]S {|_\ڏަ!e@[@4 /!x4H PƶT{v"T:}3e$u=M 3Z(W0 @PK C2Evm/8G8@g2tH>_}!>c|Gq_oقūh61c}2OVuq|LSzV:#i>CoʕJnߤj|ϲw1{*hi;ȸ]cױx^Z9sB==@$R'"ZiYBOܥ~Mƀk9>Rs%znLbM]) W ,1ASSTU%=brHuΥ1meǑ`k$e彚 MGgpk o XӇk+O:` ckk1/}FGG{TR#%*$ F^#`'8ŕ12?[U:L`ҧ=&ZBkE$Kf?=G,/ŋgƝ)'V?Js w/Wm<2kc;yv[Pw'?va\=3_8֟`+ ~Rb;1,2"/̶&m~.?[lK]s2a$u|04Oھ&Ji`fPFEܨx'hW;UjO>$玽̎fc U0(RXS_Hه4E꒘L*LĝOJ׵S3O?Q ܄00xgoE_EQ2acQOuEzQ$ٞP$Ρ!\Z[9y>]aQZ45rR8J>MK!3*՚1 jO2GZX3Q(S|Ԭ oRЬu@ГΚ!嗨h+P'4Ln6*,EOw'?΂#gzh+K7Ì-+\_ڂs<>"sKξ2ˉsa}L;gP2խUkS廹>fLf8RU|RKnlI:|.7E" >>u#<7 s7mZ߇8<=4^kgG-M(iCz|݉5R5VDj@Xr æy uQu6#ufJt踺ko}8LG:3sd7mO)%i"%Cj Bp^re6h #bX4'}9O+]k Ɍ. Z* %%P7EkMpt2<G8u\ebt/?l}Cq^..1~/v8w`m\|/}V 2ʹc/pr-oi^}髴W63}#,,ʒ9;hw)u#0|(BMMNa6ɤvJ^Viv{mi1sa\bh##[9=(CT\wlg`mͰi3"S U+2sdw-1;XX??`bX;˺Ĭ!V]_7Fꐰ<(ƚF*5!'tUUUuJsW|7ntQN}%y Wwyk4 AyyJu/'-fy ^gH74fjYJX%(iZ4 PQ7Vl})4):)E_r@D,ZE4}IEcEqx\1bSԝR +`T1.zk5?R6TBƂ&K,CG7ƶRXfzXX'rE+YojG6 n if|jڋi3/?p;';q?]l߳׏{'[_#;-5QЩ=ٗ 8ۙ` IDATԩȺa;б N3 a-\7*ֵMxRoqri.Ӷ0!IP%KS ֺ 7<=̊92dYCa C*<1|`cc?r?[ WǛo2<}a,%VuEI#jjX0/h_"WRX d&AKZ<\kV9nͳ8ߘl7Ot߾ޟ[ gro. =Do=12^H٩>#AJw"2Zv~iui%gGSJu|gBiUUe$ǘ.wiՉ2n?=ҧzAb c%CD)R HNJS¦(k9ghu*AGV7Zv."SnRvSY\k,[/Y  u su&iV$%58 3iG\?EeDҋ*RB.=D>/!ӰN+,BM1#>@^97x8\r SB)A|)-9 Bi3EulSQ˸EIbۛ!u֒XAVr:Otj vA HIN=n'`4d{JҨ/^hl@Ņ _F93=@uq3?Ɵ#w3xKk|9<78u/=]ҵ&(V&’2:6B,Z4E{)DžRl ݲ\mD)ԣ2]J$cǤ䭠`%otS`! O{mAAnjzB%t6#Rڹ s\{ނ 4}wP՛=@4@ VQx7e!׺~VE<ݵڻUgʬǨ h-:7 n# Z: lKJkgdDX r_@*D&M!ogz}N!oA)JϮU3QʟE&6iR ǖ_g"B.>NT~}jűۘoGjy/?S?A~g/lF|^f;ÙDܚ%H#b,~ Bl2B]e$9tLƋgda:N)L3t^J#\N?)IFH%*D}! RkD¿Bv1}9۶^S.سq>|ۣ,FOKs|/>rOw@1O/>EAUI\_Q\kh[pD%N1bOKAH"ވ=(޲,4dLWd?¸M^ZZ,IJ`ޤw6/Z8{62v>w c:Nc ҁh]y{giY aI:~7pKcfHb\HBAa[Al1k%!)P;MT-t@BJI)Xa(& ĴZ{4p煛b ڍb̷-3fpIos$"æu7v;\~8f%ߤfV(%ܻ6&,\JKK5'xݟ&cͱ2J)i^]i//py$nS% s3D"FjxO"{}X]%ogJ2VأjHkSnlhz'OQ k tZzD-^8Iٓ2!zy.Iu~pvӪ8;2m/ ^Q?rY{=M^|鯕WHBvɛL@=Z0tY+pK)퍯a}"A+TCydN616mJ$FI )ڦZ7S~aHcѱY*")2.)E- y3c Mw8A&)2 = $""8vI3Qc 9# Ν5*Vtz+g/UƇs+3^X!IJ%-B}bPgS$-uO T4EZ҉sJGSg‘Z&@ ِdL;VleRnh 4PPI*}TrS-ywV}2Mvt==3U@6KTۅ5^m 6 {PX 2Aa -3yt|%{{i@ w7|? 3 z"\kRP)Z T.Ph+ H G8B9h㢐BZfS2#ٷqI1&r!A+XMlS4@ WJ!! E6A*$ߝVܷa^߂`yBhh_klƱFY%^~%بpu9_XǴ" ><;EͥyJ9wAU0~0&&-jK" rR;qF0ѼmW qe{8NiGi?~,Hӧ&Ws]XMq6!Hgӓ6MSVGCz%c-$G[gbN 7n! i5K'100 ,{)K"z}Ӟ-?$د^s *i҅ޅf dhs&ԸL6oa7ʴLҤi©4E_GҴB'ɉ)bBQ vUم?>tT6"ef~1TڌD->e֢iX_ftVZK-ff1v-\- X]Y 4i\I%ā"CSvt"z+̍PJAd[Pi23NF#F5uMyz"E2re#n2 , :#< sIj֯{B?@d0RG1$yJ$17G'I%>ZhpZC!P>ե3ZA "S~p(ORK%;ѣ{^ LiaIFYKQSbӄEn9IL %gF:B hB!n9xaCeB5`'h`(,\^feaJ 239yŹETbJLl"D" E#/[?<X[!/]c<& h˜.H6g_^b=3^:+ɅHiXmJI/r !8CV&Dz}@WxY)-˜/#6&L\\!{c&eXKT"T?G(U 9Z$P(9QP%E_gOhkԆri;pר$cBWQF̝]#Hmcpw`Yʹ ~M`MxIa'>vf?V%}5`L'ҶӢIV Ul\rteHKJ0A$I֢?$Kk*U)iI. l|GM ×Mي*뱺R]a i6:!i=x?[<ŤߣY VfGCKrg=Lrg~Ȣ}zIN^dd f~c)U/!s3s k䟲q+W8xO k) j]m`/y\yafoG-QKm:"l>]OA$Ylf߾׬wp>%YZfbN_ٿeSh^ z4[d2{LUH8p̱p͍)TWB7[gG९;b&ʺ̇)Թzfrm܆thړk HfY^DO>G /HrsWvс%YglEWV#X^`'됡8kudk,$B#ʵ}$Ut[D ' {cEXr߂$I;G sm%VgEc=6''uɾ}+g-J4d&Bz@c߶7]KX{W#zz< k@6no$:}`#=TRJD*ƺ4ӡ9(Rs26E hǯ#3R*wHI7BiAD[XmQ"8`HNKGdҷ'++18~ЗK9IA)_&-io3}^9MZsrn l"s<_c烟䪤5ţG$-&& z`;T LE%WgKkX#kJe e~m $hg P6ZkHm 2AgF&ڌmk`e {orâ"։Mֽg h48<>[U|cntqz&K"rsԗ\:hW>xFm$y B R1(Kþ yCAƦmuhJ0LlBԤmR;+-)Tڛ,=s鼙6MM i3$̸Iz;u^e7)>[gypD^OfQBKr2F(Ȅ[/7MvF$ΏZi:)?bP';o(t:lp#Slcў"{<XK /}J&Xs' ET0X0c[ >b>ӧcg>2DZS1I5ڤI yEVNޏ}+Xر&.\ce&`dbԮmb)d27m;ebfJS5OI\ a^"ezP#?%Ƚ-*#Yo~9th>9JN?+_&_hүH􇷣?{`C~ Wwe n/Á;ΐ+>3//!"(I EH`(7 uIW\ 6׋z.5uެ|tZM&)S┳Eaf?Q zg˄Ba ^+#*$19Y㵳r,[k<ڒӃԓi ںbiJ G (HXZɭnb^˟[mklg3ua2H Ibi[3{]en~w}STÜ;chD~ᛴI{NTlCL1m/r79pN,;FE5jO_>eFTa}<{5ZkjȷA8ʄPhI0!M7i?iLR.=Oh-q߃G8uw/6wh ٺl,!DgH!?N^T1&'S;\SyS:R׉e@xkf(JKDp .Н8?\ZQ%J?3ˑGpo}G"ArՔ72R.-5ܿ{ ?r;Xl:f|o2q5Ny:iy+ JAXR>Ϸq̫J֧mo]Ҍs-`3|C7/Q#J0/1V:_~*Pn!ؤyG:{Ŗ iZrBw3 }m M3\d)t"9e[~=fz&T66 KWغgkkY\Ж2{yj)\x/q,ܳ}<)FJ WOäEKӀpXQnո&aD,3gY1G[K_>@fY=S÷klw{T~ J71DhaQ>عZ3?7O¾"w`jp 8mCԶY֓6/-v 6?HCE˖T.9TMIPhtƫIzļ5Ƈ֛F:ŪcѡTg R$Q !aPr-㴓J75~M1PTT'j3P M LE Kڎm 4 d !Yg I؁I^r7k9D /|9r}4fWG P/&GI'_ɩ'KuH)NRR)na`p{&Gk0@z+XjGxRɿ>K1ȶ#ۙ[^aE'_s{v*L_kG8ϩ稔߃uQ5ؐ2+DwN 5}WAg') Dy*9$v IuT T i2RSK96MVZ KjBl҆mKpnqrB:OʒO7ZIx`~WzxE/aV F4J*QoX ?'7 iu6e#|類wʬ׆~1:!:ٲYhH6UnCh?ȑI&s\e`Xy?1-8]oE0?{/?K{4,/ctm[,MFa)Vߣvm9lM}F8pW_8.Usw/h$%׾HM9K3Q}[֟%nḏ_E$k1/]/?Ɂ16!;"g/>KXR{Ԙ[;H>1ow/f+ː%WB'EX6m׭ENj}ĦU _]` Lޑ"{wU( 0iVBW.R)9)0Y\ܕEN_YcfYڈht@ra*GI|%cse <wLݴt(yS<}"+֩XRmVf:E-*<tZoJ\nK~|$u} 4ZCeqZr2+ukIM܍&?R$c79NLGc7- 2 nvP?bN}'mʑ^`H8:@5o3;]gTeNyҥ5W_kPњ|"u>bKrz]J7du&!mk :z-B ؽ6RJ5TCf곟tw抯<X}-Eհs5V#L-}<B3Y_aԖCDpwʉLQޖqf`Dc-7ǽO.$2,MCnpd8$n4\Mт3&}w+C>M,Z!iM~+&Řyv~Gą*SP@E˘+ L!۶0k iZ[A-TC|ĭEE7F a`{ kK:B}] b4expVkgk|7R?J:q<43;ub|i&k_}JD\'5\biqEtpl1ܢEBmͧ>XjJήy#]/q(YȰXycMcb=Eϓn$<~cEǀiq{e2K-$FX"@%qa0_mZ6$%E!BWaX)BX^RDXC@XeڌSiD=ŞG2Ms -q&r3q/q~z!̏#UR6DB$vB܁^`a o>RnS:ӴrtV#GkY*8xʩrAuj 3С:t;> HB7,玝f`Or-ŔR>ss,^cbd'3Uv]1*aŰk|7W98_=Ɖ疱MK4#I(`qؿvaA@IƇdj{#?=wľe/OhR̅NYRZEK! R.*CX(ڈ(R))WbBF5A2'iD5G' $ql1Wat`Xv&RQ Urȕˊٶ3Po/B@SQ ֔] XİE 9.,4#Ty|.]WC 颪9)<nlMSlm;0(؃pƽyN\ILaA*퐎)H r]K9Fi:I:VJ=Q6tN$Փͽwo察"_o1rwkm&P˗ɍ yDRMFw2(#*#CQ!-.L[ %sq@TY[O23=Zel\dK߯RطիOR ֫癛]+7(׸{yϫ\``[ga=c|}+'6C}9:ke6r8 /'9KM|%%%( 4ڄJţOqZB&g7Bꔹ+KY!5AI:^$MpyZ ?{ȋ:X7vZLl=Z#{j͚SHiM^lĂCBΛ,FmAF`^)PIXE!ΰ&/H) ʋ*xULlp2JC*tV!,tn`Aa8N5o5C-x)L"7ޡcmH Cc%.·λ7 ~5Ugmxx5^|\YoYkə>v_}-'YN]AJ IDATT.k-~)KIl%1 /}=Z %=Wmpa]rzEVoÌ[P8VR+vBQ$ υyh3qN=ΩCGy/G#:/:mS1mp *?멏hJZl^O-/l'~1}~49h0UN>9ny ~q2ᎳsmWTZLGfX>m΄|\v6!K͈ ;I!w];xb}8|w/cMLLmefǞIʥ!n=#8yt8}jgwחca6]ઉ[{[&o}6=ӸnE6t~yw/|:L*Qee~UA9;/^H6!'86Bc0R*CCf"C6e5q?BDnBIX$52^`i_Au< S$g ^ĦZctŸǑkx# A~V'Ow_7DqFspaCdQs[b6{Jmp4aBf輀PDW܎[*|K;"5rm73xų JG.F.ast=[[xM[=j\Î-3|9uGZzMJjJ27FQ▫feqM;9WHIn暫ľd# Ge=7\㝼p l%MK?ӉZaJIQ?1J@gh ~JeyŵͶ"ڔg@#5 ld=XL^\ h `-FyiW6ȳ Ok^Egb%h.tGaz{T&o<@A6_\?qs^,Kg@ ׍0$+i0.mr R3ZejdOw?)+L3R]QԐs$y$,qq܈/?Dj W>gjKXϝV_k'WY]1NI☍Vȑ㫔k{ڢsI>p[-/5FwitQ3qABsiX2x=<'f|Je sɿ".1NZ`%Qm,she'>WϾKvUxw+M+ N4e9(\D1_< ɓj5\r:GɰFáQ4aܣd)iclN>Y&Õ0kȬ!"voZ ],rIS앱)Xiw"ݜ8_f2>d_ ~.A$霠>NJcΡgzխeٵt!F7 }!֍Dq7p L(qWsVЅА(j9 " b9ZXV+f)$ P朝F&h\3=缸iu\u\;v)wBjy1*d h^|ÇF >gOԱofM゚ !ןC'xOα&$.ŭm;ϓ//q>qN>ɧ]7r;~]6[O~|!sqspwpSD8su7132Eux3k˴ ;·}w%_nnWc$f5R +v3,&JC Jg$\0KvqHs\jeE5p);09VU1xœ~9y֣鲼ޥƴMVVVX^p*YȲaէDbݥpN4QnxdaF&9IfVva!lLd~F [⍿?m%2Ne%dnV3e:%o2=bȱ 87Է5׾H23/;~]lJFDdn~+:wA&zZp{L%{V- /⹛YZX!O<ָw;N~'?2Qmk;LN9NKlf>D7 IŒ|Ie|I畩׫IL *aZĽ(R.zqFP*f]~F:'@fya88tp/nRE s(:_NӔ/7oZJg؁:B*Ͷ)X2 r:UK+h @c!P0Dk/Y?6en&N]$9t">RbYt/b)`v0rMq Ҡj00vX+sGy%h8{h=Dm, y*gn4KpxDu^<:4LKeF P w-<8c*8%(UJn,Gg^"(q_dNv/tBMji$e9'rŦ*,b){yk$9j1Xbc7=fv0:R+o|?D*g|O[}FG!W\,D2Y|sk>fŽ_{}1t $7 ;ؼCb mؙo"\ҝ>z76O?Ȧ}7gӦZ*S_!U`-zw\.no93TGtY@]HLN 3:[~7Y\I:6ɕE'W_Zw/Ix9­W_N-nwhTk#\gN W7tl(*6q*WISV6]MR"X$]"ffR%e;o,֣AݤY#t{օCeΗ o@t1 U8++J`JOXIfFUbq_ET:K}oΓslsź2UI[^X8TIm.Qưdg}~ck2,y2qD\ Gnʖ]'> ot-Yv_{:6|ټHuV "0eoijqמ[#_![ ﻓo~IaJM¢>Jr;[Xe9A@fK䱳Ԇ`q@z__>aR)*nYxO_χoP|6~J)qkj\^zO}1O⢰"Eq2׼RDP哴ϴ6*Y\㹽ᇶM*BK0MsnRxfOIztSn.a&n}oܿc+I. ~P%!QN:ξb׮7f@nriI@ =Óx_wC|o?շ]Oc˱G=V8׉I~A { +:0LFucPeOTJUyاY<@k%rvN?̓? _wKj[9jϞ'oCB[V/unZZZ" bfuK;k|A*Xtn#,-aG88@ Uo/$ oϠ[xi R"3}.5KBH. fp }j #y9C+V#g{26B:2@ہMR(cC),^VŠq29~kI}m=q0I(c)9懮g=FQ%=J%Q? 99Muze)2&VN/>Mdn"j2Qӏ^%$_{as,=ª./~zp:]]GTxxJkuqY9ҡTȶ <.Yfhw+ICgCqq;%WscUڭmS&KS!b KRoV2~7?}w?1Y=.RzNmv3W^?.g݄%D+k!=\{PPJ=?"q8_H#qSrB+srSre)ei"iϫ.Z|GG *q'v2Ra0CV8SJaq\yt {4!Z=q2f9v 1f\G>{ m z~~diK91\AƓ Yl2iأ[&fbd++'-MN:LR)V\N^;9 O;?d1A1xoKt1G46I*KQK˸Ak QY_@^ LR:>IPyN"ᬎ8׉1VmULg[E3+/6GVh=@::LK#۸b&_/efNӗ[|-ަfq9qIZ\R<0㐧%G"yU3p*im~0v(% uƐk'bƜx"(H1XĮX IDAT9۬5v{P9&+`>1/<\q U< 98$ ̠iIW(2A#1jG$8}9lF{1TiCЖ 8sX³ܷ;ʿBaJHܰAۑSM)+>yBfDi7opՖuSRi3uUlD ~Tb9<ؓQɩmבALWiVl垷4w]S yDiA"HGh:y'C)Ee򄹑qУ݋I L2^CSb cJAZKQ*I)adumڭ;UF)NR. y~+b`HkpukHjR9s梇 28Vl."43ԖfTD QeHJ$J-'W./i89)2BZ.#Jr4 `@Q$΅B;:z CF G?W[0BdEA#bA 1ծ'|aDQZl&sCSQ $qFmN?\NMa'IJ%dG?Gcӛv%Ju::d8Yq%Gс=ב9UJG>NI!#<#d^V$d7q]N3w8NthgpFgxn =.5ˉSxIu}u0ZLj(7j8f{k$F:dZ$Q(DO$dc]j"RqvpK=k6XXo"v_(b<:%ynHkB[yZ, Q =S]~/ZN>MeuZkβv+{qCCfo4&F1ilv ]jXWRAfmF6J E!3(2H"F*p|?/-6E|#=5X3([.(LIV>ky (_vB3kVxuLXzl|/;v:~x|%_% =062-e>kYơ+Q_5$JlŸa13muI.(O>CuZ׿~e~)`dx{̌'lI;_826 s*#1qow Eeqqrm-Pk86#ЙKE܁TNd2'%#$mR8$C F FWi,$qD/pCYs󈪂~2Ij+&by5-6Tj5|?={|Ͻ;e^69KELjmmIrf^Acr\tP[{-$:H%U:G*P hD%<Ɋ^zV"3 [x0/a*HIM_H~K4P6HC8V/6)k{9mW51wʨ_', sW:#Kf\>rԇH7c+Gnk+|_SSa&nd Q9<"nq]ளT㛀e26Z!.1DUR&h˔_N6IqC34A:I?J@&EKK-CjUNT)K8J#:HW)U4Z\ic"Y_Ŭh[lr(h48{Rw}{~O/`pM%c$'۔DܫrE6+{0pi),Z35~%rGZ%׭+)ǤȊV[9SXS~^^!k*.yL8 R>΀)(KQʠddG QOE {7f \v C\ѧZ .%y,VZ/&A}W>lяsb{fryo0e'{MS+n!nU֓<1Ʊg$ꮓ&1ʩV+:JM9(.3u4 KO_Tyԡ :>H0B8̱^@+r&g\:ʥ.B6ȌG܏q+2JCC̯c!Nz!7P2ViHilwTicr(JcB *^NW/3ԨgaDDN#Z腮β @J"Ig 53*u|Z*A"+NyN7>gvT9J߽ `xIq&ǘBmdϳSxMN52 Tsr[ l>i 5 -)\oAP9(}D#3sq !tȬ*z8b;&p XTkl, 3k*a=25C}MmͤdC iJ+bS6׽nfzƝ_˗xϗz=HRCP '0iJ^A9 V+1i[lReшq|N;gLVgIDb4%1e5{G,T^dj@0qlR K꒤,iˤIJ6glܣVJA`mTkjÒՕ Ҩ+&j#%QvU8F8@:vLX$c[u>j^:>Z pl ɵ!3)a!qqUN?'7:E8aDdJHߣq9r,w溂8LMMO~V~޵U8u",4##'qdc,D68t*U'T;=Z#lD=͢s[ncA)(cВMkW*Z#PEG cH5VJ)0"/NF dE R"b ڂ x륯:-J!x2ǯ:la&0 InN!-j31ituHʯabGwT0 q(S8,N1*=o+qjg/E:^׏˧(<"a2 gT)C&pd-(9k zN;VKYZ_bzf^o>ʇnͧ?Q׾y]?eW eRcus3#rV$/7X^YzdRFg(BfѹʼnOi3LLzDHvF@, 䔏^JBg،:qkSA L$0#J|q L4a.}AZsBzfNyN-hQW쩐utiNc%.=\ayt*GWR~=@1(#iXDxt?|Ϗ_&G*C>F(Ł5ؿs IV [P惚_ `3O&RRM30=#~_%(Gc2  堂/`5J<sw=%wr%c5^HbO#-L-3<dKJF+cx%Aa3,YQ&PQ =՘bFJsu 0~Cfcmyg>w佗H5[lyȰlu&Fm4:M?Zn` (AnnZHP+bIc,QH|y c^")ʃ8g~kIӚ>{|Kͷ+̧5O?}`{1YY! oQ|:fB.Ƈ92B/^̧ [_b=ZZ%<bULI=z#/T _~zqOwFxgs׽rc%(ՠ¶ !Øeٲz.A_6_TXΟ~oY9uٛR:WHiښ8vt[;1m\tV}AL1FـH >q`8r3tA+DW A5oS/C/]\ɯ/&&(qCDSp, :^4 ׺8%)fzxW?b ah+Oo ¤ٹlr_oOжF:ʦfqrȝ;0Bk.8/hQ:DL& U+|ˠhmZ !o*E͝-m 8XX$ F1HsR6,+b<{j;AcM 7,J.Z{^)HAzZ>qKW_ckt<΁-Fcq:Rr9btXʁqVe.Z/3˝&`8 D=fc䪥Jp0TB*0@IѐIJW8f\9? h謿чdیtz(dqpH'|/}DWHvv6բ VnFL&D,y:UkZuH#e#~ǹ͛OkxbckA!Y6W7ޛEW yR }/ۭKY=FT'6@;<`VȺ)l7Nih FG,t@N kVSV{ )r< s)*XYdCDF)Q,j. \7i[St?uoZo 3| TSϳs\~E~Bޓu; iA"`cIjR)ꓻH{,?-5J t(Zc,. E i,TsWW84@`!kʢXg1%)wJ-Xc0,vDsy1U B4 &p|<q tdbT"]9JC^))ZjgGXuK4q~ϲ8ؿ{7qH'x+yGw.p3OxPay5c*nLXke Nj4QK1 G2b΃5~u1,@'kjUR-OqMW}SCzKG^6Dq֊K~|g_:goNP:ɴJ?c\b>`׹vYDȲ…l'%ݨB棖Y(ٚU #O A#[xQF.$! SCa $wSt g-bvQhqjM5__nݺSQŨ8ڑz䌫Mߡplx>Wq<|K2ۤN;Bbcss|UaцYpSߞR~_wj>r]"[NI/۞ vLQؙHw-hф~ۂdExqV9ӏKZ“vRNR댣g{3E70 =QpxLy؀S8"g`p4>9g\ /t U3akl`<$#Z$ Ɩh |Zs}6i߳xմυVX,,G6 [8U1m٧%wn~scjB-8G~Y4GHH%CcWmH$\gv;5ZԂzNؿ{L-S4szpm^)W24+W AkǵI)ǣD8Z[SUb֒{x 7A3;FLݲ.3%G¤ϢƘd}AXms=q¦O88I+Z6bw)kz.lC4+[ Tm] 㠮 ]Fx}ßg2ĻSx'$%˹/2e(hM%cN%ZOk_,u٠G1O*¨DIЁ`~<'$q!"3zj wKKuX'/ p_4\Ԟk& ĭ4)mgNZ() A@t9.ic?C{'Hz'? gV{cf?@ I[xP=ơ$bd7lY RÌDDRR/JN$ed~BuCF %TMu)tc~灳q&&fL;EC%:Z=A>#8i ǒ2—!BB66-e 䭡W,8.h ;E谆K %cz6=8ͥ<0|AD789>N{ӊnT93k!Em&=!eR_xi@9  *%XUUm)݉l_?cY4Bp± ˌ?X6Cyal2z+pg RwZGk 8בT/MeXJ&9% oZͩ&'E (#լmTM։ۊ^ "oLsa2y;GE u,E <uK?jXƓaC Vp2Bĝ;<kA{},'ZiD$TG:iRRVHTcE(-1I0׋h [cH\||\+x\neiGO,Q'd?zzw.wq9ܽ{4ם;wp%ls֤GyC <qd+ZY$T0>u=$ ϧ& "l(EP4\YG_>@}. >N- A :x1B[n2/bzeCv%zNpxt||w\ ,{yt:! {ibu-ApBoS63T魄tucWH4%;'h.%.8P(&yM^5SK8%iZ*9Ɉ}d[cM#y \.%r)6r',Ak)-mUՂ%x>J5:g˘^ƸB4( ([Ӓ(xꘙ,E#,Jxqdk&b$š+3I.?s3G?+Trg: dΡT0mTB.XbQU|[Nf1Rڊ)p})֦N:W,BNJuU:b̜JD[ɃC._BV9&?V}b1/( w3<%{sǕ}ǴFqyÂȤJAĠ*5pO[~y1! ݚw1ã[Mղ[K|0uhY&)¬&Hh42~CY uFx&gHLJ!xU Y"Q:mD$&QT*—SP(J#G ӼA'Ԁ ,4h8+5A*%UK)64MxrF t p ôG:̩ u K.3m_~;ݻw⩔yڂ,rI)$G]򢢗Tc ڿHYv/I sWr\92g^,([ˢp7],9Qzn޶*|qvg/cW֖ ihJ`mDђhTpAaejdņ*hGwܛ|WnN&Jm؈ ޾yJy%v#rErC}WH62"ŅnQ*X2)9[frNf,j#f9~~f. ۩]jm*hB9E:F%?}RyI0L"`hXҕaqϨ.vPِT(p#T#%z{H+%Rй/ׄZT} gru-yBϯlånD܋(f ʑ1а@23-$ "=q #-NFtI"Q{IJ~[I]5$DT6GT]F3ߡ0jA+i_5 ys9e :]&* aqWăԫֆK?[d'TaqV`A:]4H*c(WKp d .{Pa!}fD cdŵcT3bv!<U_gH )sJ"~ /MBDArAMDž}qB_0\0eg6s1tbp 6ĭ6ᤵʸ2X+;%ڒ(&1ߜ ¸-򄼘d<)kzYWop $YF;lpd}=fV Lc4S/,FHB H\>%򎞰M<}kNbU g"Sƻϳ扭>3Dm&& l'!?cOT1V)  1Z.% +M UqFkű/ BC, HVr2)"jP +J\QQPy(#Z|FNCBB7o|=50=:0:zY7NS3[PJ) |dX'Tz0[Lkс5KT8lFqpNNqWJxԹ4mh # M|a߂?!Xƨ0\ .?AwWy_ \Y^2،9 #"d/X_i c)ZѴQ80ZHnîGjxKe5'lgSpb .䭧2jm`“vz!+S{lv t7) VKS)C!SyO.wKAJ^aGc͜z/CizIR[CW&p͂6:cQͽ9io$98beBM4't:!lN͎YbZs2 ҈ajLy$-ac>Xf?gn1?ڡy݆iC%3!5:$m/cxP,0NBhZhT3C( O951tɟh֭[K[is OKoZA#d,Htk dgR7ҖQ"ǣEE՚GX#ר0Yu Ҙӡj-MYڒLTm\-y-=d'@ b; Y)>e=Rgd\4AK%VC\bt;/[e _ilNjbeHv" jXַ؝9V[;.f z+jv:+O 8nW %bZ- cj:YdaPWppttMȲONߖ_1x 0wD$hEPev4rmcB1\Q ;UE$uă͊%XEo%.HB\EuA@[DS6α f:QIތ 4"Qqtѿr=Wt[iV&s{kz޼gSع"iwtH1K4 Xi4bʅA)Y@[Hh)8]ѶKk T($Exce+I\z :ܺu?_H꼠.4i>{7tch &`.McfWѶYB.޴<|[ !B?ѩ;kkViI*xʻM8tfpbXgt7Lpueqvv HZn9D OO TOƯv^׮=;{; 5ʨpѬ8fXgŒZM`G O7 Ё'KchdOg(&Z $Rx7[mbueoAV0rְ+g8t5!* ,won )݁I RLJilL{o}'xd廯nrM|7{_ڷ$8lcon2iazPN >q6JmKfNgфgFǜـ~i;9ضa2]ƳE`\!8T>1 ۛS[ߺ_={W-#?݅|xmPrx8>\m>}_'W93Wx9y|?(O7ػ Ő_"U VOb#3_Akh(JVmΟ_$K"&,~("Ӛv6„1ke%tiL'ON:I=_# _| -D$$f|pTM?>V|v>3G?fP4 &cu F"F4GݘBHNA: S&am{H>\ jI#W6鋔` c ^s$,1_ ~yc$5Ƴt|d`^d?Eɨ͏ޔQp-7hMJj R[T% ~iMf 8\L<ү]k|x%3Ls/09s}z/ CH:<;s^Wv7W?4~ 1!Z/?V~_=~ؖ6Ÿf# vTnAiDd1UL:)Yya$GGwXT95"2i9$/ݩ_):Z x?GGKM?,?@<@=r߀j w?O{x_wG ηx^uQ?a9Xh+4(J+ݩB h#VSv4kCG?фz)3{V9}U0Lzt>EVBG% d2fr,n]1A1&غ۾ՋaŚl_f<9ftg[ݥ*KҸG#(>o7vu{q>xb,i7 ZK&i i^Q? ɔjYHjW<4!w<s/<,/O?u9äX}sjLsv#NK T 3DIt[>@ Zckv& կ\7j}YՋ9KvUx`m@TU IDATLOx|{o3#"wHĔaF]U9VC5Sz]&2.-ʔ,>3$tX:7yg |eTN*ˢaZbcOrvrXXxJ̽w\u;7ʡs7hdI(RM eJ[9<۔oY35l9ȖlIV,DQ"  9W[73T ޛ?|^U]]9go_;byi2v q./Hg oC'>7s)nsgݬRlBO$E@}h9&{;sG4oeq;ti/} j/物y+j 툖fbr-9 mK2XJ,Kd"PP&mq{\#$(2"oY]Z`dlBزlm/rmn+++f"Bw?գp{l.OМe-j85d^hL#6݌|Ћcuu PXBT4 $b8r Wqm*Nj8'`@+rzv-D'%TN,@"դU׉Q]iY3)006Jcu–a A:*Mb!\T(BlH'!kz>_E $NC4Ml# mFuYbum;mZHYvV#"}"T%.P֘.y]6Os buw?%صyOEFAf4١u{i| _//r78E%,vZ.e6ks>u+?xYaSFLKyBʕ/`o0:WɌv]&'xy޻|#P)25}jbY+Dst3cэ v"1qHILVcb34bܠj躁x(P,]g Jã']ٲe:IO{$qmP f!0y2cQ:k~CˡWCW!H}8+}VuLBbCAÐPSIg˄3<$B!{*1qG H0{V#ՊHg59=UFDbN"&]XbdH`xhM%0$9s/@sڄm"!R B<~}Eg [9.jBP(ei]DA$J鸨BJJ"`6o"B`Cwxs8$mmB4[2VDqBtUVt_'g)W Xa9R!(Z)DUr] 4Q4ڳ>6m~ 3ψmO4G߀˄/XzQhy񯿎}d4ysHvuHr _xfNYf0H܉it] _*M; d+xUn,+[XI-Q(Hi⸒a1v۶ \R"H1FQZyDJ)Qh7^;ǰf}?~ּ Kg!'O k@3@_@> >De/!rC0pXi$Z$)XH?D D~OqT]!mihF,%`+F C} 1n|6 S*hD1hKsn.T6j8NМ&Y2Pt!]d*f!>b߽$`*i֩n=:!:(aJ!uVQBh1N:ªŨAr-Ʒ0X{!'S`Qc$euai5Q nSL$L5a\m U`uK0. :3l)a6z|zc{ β&,bG:NHsdNi&e[%nQTrM#G/ZǏ|lTRs^u?1NuJtD wjF'qB';ʗ}|Ls߂W"˲QF2iM0 Bj&tH#nR/!it7N  ɚVHzk+=f8A>O\9w9^@# FECq 2t7br#z#ү#aaD",A.2ho^+4Nx]tBl LLW _^#qCI_J#I0-dtz' zLEnv6J:Awym$:Lnedt>eT[R\NlɀY'Pb| j QAT^W#yv-˯J,6T 7aTtba 榨:>Qvi6i4,-p\V;MZmNuHjk)\s$SX͈ÍYUAkD:M$4: t0c_~ @2dKVO׎nFўe0D5N0Yh |aD8݄ Qm8->I %D!(@j$4"DgQqEpxhXKOH#tlKiAEfAOa,#&DtfXZ;Fxz8 =uV򗿈*\}?Ͼ#$8f`0 )"\AӺO.2 f^ASlVg;LFFηJ+GYmxBĬW`zᷪD. wv%QkP-FW<ۡv0En'I2xw{c VhhQBxh}Oq uQg}¢GRDI Cwq݁=8*U -~M)ߏjnN"|KGU$;/GXB*+E*rFLiDx:F3! &7^nLO~8zbNG?ՌȦutPQsR6k:V?OP[9eBfzVN<׸ٶzZd!q _{:EȦV]d2;tZK' 2[ՉS6|^CF iՓ% 8pB 0-tC'ʌ^׫$ Qc(m7Ci ?KEhF &g SP }'p#Ay/@_`Ϭy©6y|lR%~UE` %'e4UHjDAFG P/Cɗx| zyId@';@:InL.GJH#H? kJtE_57Gl zEe]~^ @ r:a6[DjoUĖA5C7rvy}dYxS3+?ES+7Љ4UBlvP$\ ^m ?JqZ>%M×Z]ðMy/E &$%nX,~&" Teښpw)suFc{6n,iХO8eC+u|?(mnӥ'[+G1R&ӨqLRu)NvHDS^@T  1W[v!:NBUapW&BHu9{v@|6Hg06ݖFJɡ-t'f{kw}U_nC1i{]) h*OzYf.M# $?6BvUqMHm 6Yiw )+'5ƣjU1GWa׎ )@Ihk"Ha0g !1q*n1B7at 7B~#(JOC(*<򥹲n?T*]!{ ddD=u3ID)Z2r'`n VJcs2JPpϪ"0mDcʴ)fra-6 mk/|槧aqDQ!#5iMDUQ}RYC.^&'GS2:e~aq[8dhHe^>wsM`g k]h@4֛+d)M*9 khNN!?D.mVM% CMf= v 7 rW WΒR-<Et:fue%:3P&sd=b{Ѿh3|GDN22iPLbA"i6lͳجs閫*q I`k鈄 l<#O3lVquk9[;ŗ?̳etnRF kl#v#ȧsH hx<͐VnRUTF>@0 ^ y q$vmt<&8($A ګʙhN]_"t礼VK-V'DQrM]4Z.NIk}@7 x#̙h`S@)vܵ*:6b@!R1Vh""m[W~nZ WY\d' 26+muF)27H,--%4 d-jk)%CC,1i߾9}Gg9Pַf}#yr9Qy8q ՅWBmK.2؈ 39쁟 #%M^Ƕ-ӤdXiV)M4&%Mu2}\ksMcX%m5*SoDh$ z8MWg)Gw$qrיY mf( 蒟}sS}R]mwG{rN6_.R|ͭW][n{}џ>py?qpcdd'wЭ,1MtCj#Qʈ0f0;7_շo~,^4$ɋɿ5P E@^6d俼HbiS c}MMV 1-8UaxNs=D\4MD ZZ]cѬQ6D(3 IP u;Fx节 U7XK*dgv*Vo36ňScf vyգr݁yJe>%ih8uE,9k7(ܼ>|;E`lx' NL8,|߃'bEFdM@RtM]G6fvZFCM]4@s)% N}8),ԣIglG=kF_a+rj[y!-JTwnbʗyܪCyl*iTyv^vU/2]MeD4̦-}x=smͬ}g{ ]➿ܲIR-;}&E"TNcm/s(ػw/O>$@al߶q x/ĶLVU,IJ-,zj\QГUo\2 $hZj6ҋ ^EI@rpVU f&5ͶIUC8`xiK[L NB :$GՠyI^6) ~0H8%2W`o} p Da}R1kzu7S=Gun]WE 0PRl3O`dh-Jw]c6ӡݩs?Qk:պ0Q a,'3/dmd=Dvi4]9֗)~fcbr'={ǩ(quH#;نN–a7m}C,='( ӷ2CO7t[,eaz׋ g,/@[u1>L3Myx^m(DmRuoY."y-[`nfR8UpڽٻsCc"6Qt!4gH]%&i..24-wpZmWHVy]a撨&" ?v ɯo\X<8&c,=~O>$ccc}(]S/j??qYl6#BGAdaugcH{L˼8|_/„I\x@Q]0 (1'E}B̝C,D/l|f$8L UC(FbPRYdA <EEҘAWu!a?6] 5O3TJW\u9'QrA+RsrC4^Cm:k -_eL6gN=O LBݦ2Duζi:j"B6;HեĊȨI L_- ܖOKZCD(xųx?F I*l뜚9Ϧ"L,4쿒ZK*jN?N8Llij/M,S Okor% o~ .ۢEtodKGyw&?i=F0ӈV aE-RJ|AKny(zuRl` zo}Ѿc:j4;oxṳJ" C$vJEJE^M=pM̄Wr~y|dpNH6]8lK~n8(p oBu`#Ӈ؛'[y4ne橳D/Opn$gk8Z{rk#;yw4=,<}Wlghx*qªhew:~O˯DHL>vN8^B+5ֻW?Oqwb6q:z)&Ϟ6G>Nj d]of~~~MpÍDQr*0M.VUz R$ٟٵaKچ)/y]{5Mӄ/DͧcrqD3pɂTg2eFF`q~'$$u0"( =4MǴӗA~%`kn&ػJ¥Gh-?ї%;:!*ZEwpΓ[el0^E6lWC5.ّ1:fjGDl1Ѣ*" lt)Cg(p\Fk"Lb!"!A- K~8Y`LJ_FQ*6&0ͱl5IZIΑsIdDo<0WW C8e%ֹ)F^o|f7Y*qxj/tÇenaiq&Ft獤v^ÙK[Ιcǝ;4p3fV9{NgG}7ќ:ίwrqvw..Ɯ82g}|Yg0{ynםu|qQRvˮG~t^KkB [֋-wu'1M$Ie3zKx(7(^ ^뮻9~?ħ>>7x E*v RoYiz ?4!t)S2/1 Ԇ7ޗݰ7?IQ$3eB3/fM֋Y҅7МF 5E =KM٬E,<ֺ WIg&^'`a cu:4VjeH9)dK c;&鬉mz~}9uA{2O^MPu]hlAF/N! &*Mqr 0~ B&kLmaݓ|o5fQ:珞ۀمu] F:{KW0[8n?\W>6}vy,bag>K?˹{sc{-YL_a*>:~f'|Ӌ[v^>a6J 'i4سbxiap뭷|"J~|#!^+46)#cc-կfq399oot_I.HVHdBQs$*l미THb5W_kaF_0!|v]׍;3͗u:Smw18[k }RBYFK +*} XJDMQ#IL$e 8s0 %LJ.V>}0ى C1tբ:M`( T׫LjUS8$~=F8+,Meeh.9;dZBL))+SݍZ E`LU4"Q|RPFTbqi]"QoD6x0n}uatdOS*8I/lXf~yH]c"4[C[yWy\{M4"8rAn9p!>a{1{v៞&1;3[nEwZgYݲ̠B*kX][~'y,qh}KLdx-gYq{o>dR"6 VɉɄUUR084w qqt$!W,Po?̡ ?wX;d(s4 s 0Ԥ  4B,iFKc%%nXUQ[UU~= 7_K:3H٤ek㺝b4ѭr͘#T|~vٳJܻJڿ?\|>4ql/z4u;▻vLUi&&6_g)2NtF ma̶]c2Bn_p% t7ٰ6Z5?OQ )ٵ::uUaPƈh9dD6֠ CJvl McTTHK+dOVi-ZY=N0PNU]?淀CS)c; +׏Tl* rk#߁D@׍A63R觜SQFUuԔAD#L,$L]V]B>ziF'T|%mz[6 qD!s:2Yb BF1Z|"E34f9~$eM#lWk&Qrfztru˶7(ˤLe͘"`]<}UXtlTᩅE=콣$:Ͻχ7VfFmՍ%BŒeeg={Xsva0a+$@"-WuwyEfdx?" }qxס{UO}pk xǃȁq(`Oބ={CG8pamTFnng0 4N$D/{ =[C,1=aꡢ-.p A Ht:t[8q!p,jslB_- (LAJsc3JGK&xyH@γ֬2+5R"ŜS/sgsln`U%xVr9e39:~Idf#3Ы]$}q*?]"{$/XSStvd0{ⶃ`e8ۻ5^|9~CA[=\e"7')NRZs]C|#w/<`.8d8p g{8ݔKo<sst:w޸{wmd}/uBpپ/#\]}_ףso B Cf~{nݦa}'nSѥ$ѩ7-4|7{.5Bܰj44Iߎy.z"ϓ@XPqh4Ndkk뗰I,evKIli˧ՏNgkX#iS!>qm<"sS$eO_?3wp)LE׏X)oЍw!k2MgYݫT*A@add-pq0殕]ï(\w:a a\C͈O]&;0RX{ ⛭-VDߌESg.b"o3؟YǘX˴h0ez[F Š̈)_aD a(_`blQrY@Ҥ)fIׄb2V DZD蕉\8>CKa@ @RiJF3N!,v"OY;E,ð28aD7\(p)o&6DӀytrmS,^>K6c9D.6?}f JE@ [K$Slf!j+t͗)lDШWgFm[ PH'p ͭruw{N"A>1u*uOq9wzzhV4y/| cX{ KKg.>CVG)|Cv a N<ˉ[}Bb=ëgN MNg#+k>zF/ެH3d4:FטyG]_R `ssT*EDQ_9n86B/Ngu)%^Q_/ؠT*!|õ^[1e ta8DŒxđd||MMOހFs,?ߍ,_h} Nݱ/uDA|KORހ&jIܠ֟k6ӌ*0 } ·a{h'm`%ʢөi/0\841l+Ci> MOBQ4Qqnkn@vH DXq+o|z^tW(?EHv2zn'oe79ڠhfٍ yti*0qQqjL.cGeꁤ[ׁfU0=JÑ# ./`8/-}ـ=44gK39*d6G)Wb{ϢBmސlYHӡѬ366އ AL4 vvvm0 es4JM&]O)ER t$aT~_z=fNm !$ ØXuīny*6 Mבz2Ga(0-]ꖁRH#R ~?+RJ絴uQ- kz_Xk)R0??{g'ic'@ƘAܭvt0E4F} L6RՑBCBc a4p{- AW7SN"D_=I RK&Igdrd+\޼`'m[Y0XHB15<ԑ{,M1T}h=F{ddYi 9xnX )Ҏ)5/|#Էtv*=6W\ zǻ`o翊:r i@I*$",0 ^K-Aa\SDaǏY]Y!JS(迂0_3 [[ ?ı$ibpx]& TZuCZHy{]dRj ^ 3Vq!LWv)ЅK)zիUz%A pBҀR >LGuL#* t4M4!z )J+h@a&qϤP HԐ(BjA࢛iL'n:?tD6ђIsϏ=혖jmMPXJ-~ w=&6 uL`mm_1q臡M7C)|2|(VT*;8n /lz]8eQ[7BH֖,T:.kMo^$n~Ȅ-FSZ cBI)H)d b%iG +PR)%H!PRD+8Fı( )_ D(RJDaJaHJ # s/~`%ry|6h4H+4jMiJFm\'w'p=GjZ i=P~"/i f^ԭ{FBb0 4xQS=hR~eMn?t~X#I*EbBSQ?nM6Aq ͍$4*XݥgnҌ=/-wsv;m.3-NynwH7͜_drA`֋$ldq+29y]{~'YX0!u*J:_{o(_~0[\7iG;6jχX{M)T QJ R HM*BJJek\<{qcz89B=ƃH[q]Rb"܁äRdO%Ϳ{==O=MƱ,?t#tI~>)F%1&ۜҪF<~Ez~тuW?A# h?y`L2 گM7b'E]lOf}m^GPuk A)%Ο勨(n'۩ec;BH.grj <մ}p=ēO>O%qO>\ebb0vW'B ,ƬX3pᄅnHoop `\"mYҊ",!1tS aD!XB[)($Q}"ILBAR@D EERADR(8&"ŤdHƪN$UB)I)\O}S^OiN.Awřx_ɥVDL*G&%t=JEĪGMnpd]D3< + @R=^t[$V1`h)!dѴ *o|K~|a?"p1b[B^]|6FՅ) &:ݐ@*&~(GS-<GtLy#Q^JQq]LLGgdzi#_ ^hw=Gܥ ^:J7 _km]2s'xG_]܊cy c|K_(rOG)C?yɡyN{awgXowOe 5JSNȣοOw\\bs'$i깘ඛnXݟwoxL&YYY&LAΞ>ٳYZ\dzv!a06> =uػvy.q(׾Tz 6#5FoahfTA%ت5(Ĥbj}女$cƏ`G|\+̓ vt^1n\6/8{zD6pka MRmrZODI*]D244yƦfYC>wg9vY]WNV76Iڃl֯ܭҒd#iB;O1=K 8qzIek^hwF1.`&۫(46J1=4hi60ܻAƁq4.3Iv;LMMS,.?-+ˤәkMȄum@yivKy!pL(1t񉉷lЀa M(CǗ@ӄxRgiI:FǰiD[ESD0DSiJM4tM4@4LCktMԤu)EMRQBԐJAM*$U)**Ů*'?Go A&Sq4M_m)bL$K44 5 =&I*':,|Pt7Qk/d Tbd6bI $^~5(qmZ!_hmץ\'k쮿 l384mN FqcLK_e,ҳ,,hXYCw篾yۻBZucAv˻@..퀝 F3k4~Z P(1Z:% EUT31~4He$@B6^Dnd 6.\o؝232F0EH?/+B/=ѱ!o'l8NAQk/8weO&A2\Hއ:Ixn3ϒ,Qٍ^YÏ34DEx8zCvCZch]`8:q6O= n;.̷=ϟk!F|xyO,q.~6]Ff&tۄn‡)$cn5Un~&r]  a||!24nh:N^uM5c!D",ۤ{]-;!HY"#[[ "N±c!)LBh1(i AA^6|?ԅBᶔ]za]DbB(&b.JH)z!)Dq҄ CiN,Rٍ/B%#M,F?7u0s'O78pmTje`d8O'aS0=QK ޥRfcE޶ !I #4ˣ*I^ :x;FJ!Gs)^c|?Nm!]eM^7ȥD eDk;D$FC4Jx ._!Wefat;B \ED䫏;g'sK=O neHL Ü"@dskC&!w2~ϣ\ǽG7K kY"o'RdƋXi{/)fЭ6a0D(;Uw""[Q"g/n0>lk )=_~6c6ҭ}?&=bfpa,|;܉;NxLO`xH#~Ubg_l4#ZI\˦'E]ksz;︍o>d@S>D^{W+uyra=4˯^/>qX^vIriE$\҅ q:[;-v=D~DHmIS:K4-r)+_ۢj\9xKuk5Orjz>%`{Ai,C*,]Y$P,n?%Iervݷ*S H)n\z~7`_ׄ`act;2-^@D!&aE(0W}|ZRhOh!M#H"M/Tovlw# H6BVdL!;j՘dnpòpH26̨ ʷ+8A7Hm_hg5BpCԶ;?P]m5GjA, v0^":7US‹oB"8D(jz MDaX #?종K8b6{{;u} =̎H&`%R ^/ o[R瞻o*>S;ˀm_[67jYH|aEמϞ_᳿/HgbyWk.8o*t@4B亄btzMLNK&mBa^vJ䉣t*e,{*_Ӥ3yNQ^ ;QrD2H;IWEOhM207JmwC*Ud{n.V !o_CRJLӼ6⚦57N\gmFRAzm 1(T(dHFRaMR %  u}( 9KH#EŴF K'8x>l64X~gc܍O١2IX?Wεg;ɉFWC jp0ΰJf躻L|JvY9s=*f9{8~Ě9Hx.U&&M[ XF]9CnAt] M հ-_C D.N zҢSclD2& ) Mp /SGvRK[X1,w3sl-ympQ ۻ4hgs»n$.*H^ؓR^(TױpMj4k:s3h RʗRN'6$J*"7&]Z\R*c -m]]Nf.l*m.q$IA~ w` gtAzf`CsO|mt/Q=>Y+{ 7-rA %z@qv}N6[Z]ty݆#xmfE)?0,R職qyVZxmV}a 1n;U$ DfLa C]#e@D*D 2ft V(iI| 5sqr87R[u9/z>n{Lʡ6"V6wyw˙AVN¿?Kq579~ "vHXQtj je"jD"Apq671>QfbdFᵺdJloPRIv+BBL,zM\&N2}\06:ǠfqF hQ!뺘GdB6cV*QD&0J&ׂDض}CDͶ$ee8ˁ|G1LZ'} *uݐL/ta$:؆Fy#TٜT˦)?@QWQ^ci8=Ih]F~{^g*$ :x]ooo}Vkz3o@+ 9sn!eR9k4.H:x"z afJvvi4]`P2X2<:(wj[;dgO>w܋8LDDncM<8x}OލDb=C3hDQ8nbyB?BJHI(D)/02:AvH2&}}z6M4x)`y~"tMlf;1 H dlU5#cӫ#G;36F_ .I00IcĶ0 tvnVy7L^i !ئj}ZJnOjFfggI&qSV]gWla"kx,^zsoןvB(_p"B_#JШi a`&cH OEJ6Jmf ŦQ!錃+"(nNidB?MDŽ"p;|ϻV{Av]\~|+fi^t) qˌ ugKZ]AF=@qtfY&f%fRd zn²,'H5;l_Z% LD,A2y=q]F3V3E"LlɅ zx#׾+jK?VM'5UN4 .^āPJ1;;4^?a@Q5b]ׯW]7+ WLPX2F׵7+j"O*DRNgVRz ϓot1R($ҩUaN~t*DRzBU4NvhL% bԙǢ {G[o=|:j^[ " Cs/|O?_H:Ԃ:^}SBMw )phmN^~ŵW\`DyL0 0M6봃& 0:FȖ:)-a`dq]҅aNA;K[/A.<QE&?RCj B"B7u쫲 -EUF7L 4 ]zZ?ɥԠkĜ8C Iq9HTv(W%-sWOf%^@ 5ō::[ZA֮2fvpmuk4DRY:=%^"@q=\>Gi)/o\"0I8m8MۭG!-ݘdԱ4\V(ת] 'E!3?go%Q~oD3k}@HB,cb<ˆ1<cofg!@m lRcO^q*0 ۾ J? 8﹩pāĜ N(\L-Leh*p<깬؊oܹD f pA Qо򾨑ZAlX⺷/֖^vرsno_~ۛ &ZQ ah Ck :+}(c)8ʆ$+d'WkZ`#:.(@$l`@0I r$D@ava\ ,BRV:mB@ tlp*D2PVAuND@D)DHSIX)\Q@ sV a $a C6j+0Q$ `PBh$4` 6h":Hu" cCeNh5kkYl:x`ÐJAJ&^z3@ݑqt%pZDXZ\H;Fz+M7ᒈYdlz _J@hhÊbEϾZ04ǮeYTU<||Q딥!IB A*mHlp!lo^ƻzG7j*m7`lJvfumz{{'A.lί==PZ)[uel}ݳ'E.~~öm;eP' f B)y dt$"LMMFmel_~%vlVqzJ<A"MRElۈB>'=a$O/_G>Iq||/2k},(Zo?zzp 7As i^GF\<$ƾ^^Fazzba.?A5%h<ع}l9~5ub#Febcesӟ^S<6lٻMf' bP4Z{i%ى߽8Ǝ]{f̕\.. "Is&_8n|חe[.rד)<4~owmlݺ-›~g}\wݵ?륔ضc'y]ux'y5Eݚnmqغqn#K}Y=0s:۲u֭_Iѝd:E\yEbQ./qr';8 +}}-?}q!z.7.gyŕ^=}.mej14~frwI.kEGpfEǟb5{1{$xbU{ }QPbaժM{j|^_q]w-b GBկƶo{_qJC_O:fƦMwJ`A[/ g <#˿NEx[rM}- ?;:nwZĉx?2nmL??Lcyy'uk>9avvSS8;~ʔ DoZHeall eV;OJǤp;a@uU8%a$ @D ^?RƵϾ˺@wb3 @³2Pe²Hҍ^Am_q׼> avv{yڵkǏ;@$j++O:)"I>. ?uI  ĉBJtM|e9$֯9oc-+qNϮmS'/@'_AUxJ4w]>6I yW61 !(ֈb|AOծж\$nu{ӕgu3^/}Օo:a(i,!#4ځysAy\Í>I#; B*CJRNf&>&J%v*l" $$,),K'Ж;=uBHaRJ)$ [ -l%^7vlAU̚o7`QBGl;N[ k+;Rq[ךWNJ;Va)98oYL |t]}i;CMǫC//k:]鹥:?I/3(Lhت?o~'*KJ2طnefrTH$< $u)y"(ʶ-7#c0_bIϗsp.v\%N,;C'+`9Yc^Y8I4 kn9|GN<8dAs5c?|%<3xkn\ tT!\HR>ǟЫGnMB)gdAEt7F@뻖k&%ɱ;QĀI` "Bī -jAk:hN66G+ܮ.Q5SI[( )HGi@ZN-(5/<[_ZlYqϰRpAHRr$-C$(򙫯l(Pɷ,a Afƅ\ҢYHM\i4۲saM@4Z5A%d+<' Ht؈Ȗ ρHȡ͛$Jpf6 a X|$R/HjR"a13@lsUoiM*S@`0Tݕ/` %D83m ]v> VI)EN( ״ $@X!׷5R_Tk$AJJ J\"f:ncfFk;PIָy(q^s:UqV!e $2 "0""I\.(NDٶ粕$r-n5[\(. u\<ƞq)l߾]7݄^Z8p㠯|k'^-8z/Sa3gNcƍ, l}jG ؒtؖe$N ؑJ1z0YGc8NU0L0ZHbA02uj,Di.@/ UE9f.e- 9S;\_ t3T6QIb~y`i;m<ǑiLteER3|O߿ח޼3(rƓTrma+HSԌl-[9kM-VI )(|6OVF32 :8Q©5R(k6!El&QEdYH:dI$t;LWW\vs 'NcfNL{lafP6#)@#R:{UP*Ƴ,lXCf&!edqf܁8 r\I'1,禧 Zrw ^y1BIEdB&d{ 0EaADL V8"QɗZF#AR@`)0#y)V 8vOm -&"@/̴bVϝC ZϐAe[-٢[sԟ|r1"# ضm$zFH"\{isO PqF4M_"qAO0t]Jc84Gca"C,L1 =_uGg`=`CGƠPe:~%ډQzrLM*m{6BlK1:BAvC Pd$(jTέB$rN M!Ȗ,v!BJ3Ӗm$;p-J$JW{J J~) zZXwjKdnl,<)3O<纞%I _7EQkJ\Ay?!I 0H!fFZ|'Y$,iX* `օBE!-˥L6GSb#\ zp h*U*;fgG[(TJ#mJ:X׭*@NK\8 w3IJ,%,Y-743"$H*0@KDR4 v rPo;/-"f)q! ͭqJ9jY3pSO&kCle+nEP %)cڮrS ڭV?bO\Qe/hJ0 !Z&^xYm۶#ϟ\syi|_zMT*Lg'N҄=xbkk?M9!;؀%,۸ !Rh4N , \džNbhCplߖHt`͒J R A69 E'ǀ i ]Hַ kn[ 0"2t ؾscaȘSb(0;0;;YaKu|U&&œG0ؕW*EGrt˥Fn&3<[l-;=O}$ 1hx +2h6aأs;4l&KB)Cdu=qL18AȸB_|̆4e[$YGDQhuGu5& KBEqJQRJXh6]=8m/Ii9lڴ_m6l߾CCQT`+#J; fi<8x >ߏt3GX r۲3G añ( 4 $8dv•xEmfxِJ3.&OӕOվz$SÚ\φ0 g Dpmih./vx;B˲ Ԉ|Vv*d)+ Υ,{uKS`dՇVSEcZWԙ㩁DFiO%*b,+%A8*uBT`绑U~ 'o㹜xxcǮ{g CZ>kxJԒIĭmىF]s ,W[tn&IA14p3sSٵ]uoSgXN$D p /5ݓqB d0d{2 û/ d\pUƉSsj|HUtP _*`X/L5[ё^XV8^"]Fҍ:|hnrbP6%aP@AqBz^g u;xn$,Iqw]?0; RL 2vT e)`2iܪuBYȵZ-3io߾ #.>_ΞtuSk_nnT.UW ͞;:Pjq qN@D\ח/Ce`hᾂ85,$A=.CB+H؍#S@IrG~n[?t`O&!̖A`R`#mf۶r|+ :JwI@du L#D NuH85c[: bH G*HV6I̮evJQ IDATTX>UL4cژUU1N٫)}G.cPZqjv#ٲUOrOqѱڒ.ƎPl I:52y Se\j̬YZZ,_;nMm!Ѩ50Z#ӥ!%~8y*ӡ7;uuˍv-8`ALʈnhO]JQc LaﮛYdCPeGgWfD%" -# nױkK|lҾz(DHPڳ"lucwIzOJIRP|?K6H)\H&Hr\y' ^o?7-H* ٺmaav;I),X !,vgcl IԆ("-QjA/>bYֵZٷn8IYݦ.> <mذaBkZ0 _!wS)K)@~`8诿s$m\D䊎a@!,Ipxhb(3G??֩8vs=9YM(b MS亣1>vgO},cF{"80Q@`++YC*I/UC,CX&$ %LZ~&Nb]@ ~v٭掣Jqš}h.!cpI =Dӧ$J|x)Skѿ]734~\ުM1 K(B(x LV4ؿUJlQ4|2SgOZYP*u\Pʬ7QEeHY?#IC-8n[/ !a3j# Mr(?wmp%4DGB9]O3j \:2"݃qt nņ,=L$(rڍE4k+r̋%q2S(YIvD9!aS),aB:J9N IKp?( Hg\VVE5y%qLn.@7*IE"C@@D}Aw؈\ۧ K~P_^RF qɧկ ꯼z!D' \WrtI9x~R_NAk *W1e$R~gv#$3L&`Ƕ߳P:6 #,BBo @ե%^\XX$eL["- VB`)F޵X Cl;mb|6NDeBR-m@% gaE-bAr~W3"j3׫lUNj НHOq cRyEkVX+`=n0:EGj=so3S$q q gO-$C#w*8ƙS3c +"hB]y8<Ö[PNi TN^{WمٙW_`a^1$ Ve3)@e\+1f].t1$>ؽDr)"nњХray6+Q@Dͣz-sceO0u7]kv{&J} &R=Fz([GpMOO I!YUW~$DK{tceerƆ N(Ncc M4Z3D(J(r_8L7RR7g򅩵Taa|Led}zua_F}nbLYԪU2agJǻͿ}[7 )c.'

eX: X+P5r5檇ţO?]Te  ! bĮq]AWdظizC|0]_ 9vﭯ;ڮ%Rp#_PN\ARs+c̈°j]~ۏH8".Y*gs%㜗^\\1iHeuU2O3 ( [wrim9Mb{? bzf^d)byU ~e7qÆHEnI3,yb[/]˾``erX eKybh- 1&E$H蘢 \W_IM7 H1S\vaZ FfXh9^0jƊ`2b"4Z-$ea *+rMnEU$`ff^5ZZ}|{z\ B5kd\w.qrYbu/1gPtWŃFny/|4޹k7͗]}Gl/E)!!Y-^ӇN Ϯ{AK$Q,ICqu$aȞgc6''5.$W8XX\QDھ}Jfnn K3oDW8,kS;;/=鶫$sIS&澹I )N=UDO#/d1%UI0ϿJ]cnQgE|mql$톌T6;KS1HR$"Mb7k 'n9RР Z G_Dœ<&U0Z+];[kmv\o 'NCl^^Oӿ Q:{/~+_XZZyfu_ 8jV=%'KD=Ɵ$ }~呲$ H 3K$XHT@>8A;5PM:IwHh `gg$""HD1lߎBÀaM=a\UR5X>aY}>mK6\?C"4p`e,穓ujDf}EQ//%,^gs$V=cCne( qAsz *niU$1vOLO&ش*>yj6+E׾}gHSx:51~Cde)kNhŀg]$,PˬnwZ[t1,R cC B(17,`nf*Z%WU7]3Z4`hp3#xʆ I`<=mo݃4O" \7kv>K%;x艇hY+l㯏]P-%R-3{wVt8ٕj*1F&l&&َ cҩPEd#8Gs݊A[GI)SmI79+—X7B>G^|# B N!0=ۼ>fFtb߀8Luo;}:xo nG[sa+ W"?{jɯ|O41JV-%2ĩF탘QKZ0I) ƶ$l! lXMiIFh|QVUbF!XD+ϵdUD-if8̰p(Mvd;TJZ技NwsgvkKma eEELMM"H<ın4z/i *l0;U%LF{5s(Z!f0CRqq {/.ALpeΎu{І3lφTKYqR 3\)W֪@`&KIf!oܮ7|9?{ *9 $i_ˀ緡]^ǣFQmMҶFbR8OVSi**]WL{{q7^Yۊ$d5LBJJU7K<ֽ Df$`C \8cf#&x jCKAI % dK'+<|Û4:w0V.v7-X4^:zċUrf#N CNz0终a؝ aDiޙk.;sLDm`` [1E7+/ÿ059()mg# _*Ec~j 咣q3T۷\G*;)#m5 6лgQxm|EA=H0S]6^:,u[k╬M ]]ώ'6©%t8qYo [D}G_.__]NP^B%o#* A!LjX6l4Up8Cs3C=bar٠D>qmWN4FvV:LYM)g#[x v}$kM.uwQCH%P[;;A H`эhՕ ( o[Qv?ŭf`iVv|^s%pF 79^_qVϐ6F֌" eK^6l uh۰ΨK+صҘ7UWdM̌wc )9[_:hG8[AP,~ J.JX-•@GޒfmKj*[{4 ?w*Qn(sRE,aMq0'CcfzYhVW;#V:T,Z bhg>>+}DAkAjPʾvixM? AakI{֕hብ %ͦC*y0uz0aSN_1UaW!M,,+Zmc5zݔ.媈`n{}x͕ݼ}vqhyM@JËk}!A>37?|ӋJ.# NXXm01p,LsJ'Ũǂm)Ch֊aDG .`.\R:MnaL#vuT)YNU*$YkDN_kG(V ӈLr˰JtHJ͒i5 +%/"T eIF@]`ֈ&~CϽk:I#d1]]2==!(2Bp'+Xg\ rUWuu7* ,c0qx3fll0N81c B9|oswu媓~ 0xkz]=~߳Z_7kUw??ovo770t b_9+;[dnx P19q5WG{U!'&cWM;zjD1>3RgPA5*yZ ;G^~OBUx:03#!*OzZ842E|9W̡XZGj3:5igry봅릶Ƨ7z3!!NqlY !\R(c 5Q#3;anAPXvOgX_@*~ (f'&%%eMA6 aDD,lC{431.|~Z1:cὅBɤB0ISHifA Ew9q^w׋5%*]l>* "!;uڽx%kՙMNgP tCfmFRex37[?4R]3.;~$itGیl\:%z˨GqѯIQUheX7OG˯??( >?_yknκE!mR9^90-N; '+[AkXf-t7ـBZ|B^34˚ks *M"i/aH 0v8BօfZ! RCx6 iL"!)cf-L)3;M{zt:mbQVe W_. @f&qhm\<^-u߮G(\J0\, R'4>`p1e@z1dg ̈́!zJ$1w~5Dv"Coy7O3ny{vG9"adf&f<BmnN)}Af[PZHtnd~=.*B!f[[ۖd^6st.W%vh* zMu"(k`)lr!]F,ut L x};ΞNKgg3ic7sqm!Vs'& ,l盶`H8d|PT;VW~wjR{c3 _GtUHԎ`Egv^?r 6xskS$Io)>p6gl Ln]rY5VQ? D)bx/;T|E$=7͝8tK[+fW@B#mqgܫ~n^َrHCX! JC_kjY5 ̯2, 'ɠ~!E69 L"R~h19tWVUu,0(3 0 JCbC`e|b:+x~z||v>$ @ C9`ׄk R&"YQ@[aB_c /ǛO#{G^叼_x-f[~|Oˇr~z=׾?5l^~[ \v;ԫD7喯ڞ^Y8W=|(;Q[($>v9{^>ո) ~xkY5rŃZ9?x3/ixį9z sْh~ɭ_OQ~䉳SR di1 a޻<^;Ea~=}ߟ711LҎ)BFDc?o|+'+#DIG-^:u+ܫאMwujsw_|`񳟛=s#nǿ}~VczFƳgSO>2)|swɧLo}wãc/ٚ>{ygx;d`|\ga62XդkoR({*tVxr4z ƦYʼ OI $bMm ҽ!MGaCuB@gvT܆euNb Eh=H~3D9oZ )D6c`h'L >6@N ">X-8e#k9qEx'xh \-!qi blCV=$/cr`ok"#@I ]kgq!)ت^BΠ/rudR-%+E7@uoTFJky^d<[C(v!= mX_L!A*3ؐ:[kh6ppP4G聆Kb? #= : TN]O1U٨#_XCPYpP % 2VڄH弃v [phM-p2B7 Fh# ʹA<~CLjAda~4fw"A/0pl-wv!\qXD%<|"L8I^Z&Գ3t|nVz7B۠ev$-4jR) R/.ameᤁlڄ`R*֛MԶVPʔPv- ֘0pЏynw #FBH)Q[S EXhˮdBHn*ÆhyسkgQ& B fp'p- zABH0T`C)YX VlW,:6N.Ξ])y^0l{i(I@BvT'SEj(g_Mc4c~|oXs0`jz'Jx=.o5k߿bm?#8z`WwyH9?vK|6xÏ,zwUϻvi&я9t VVA ǩȥ +OxxCw \~M~;gQ5p5&0e鬏c^3Ps0;7 Var\BL Ǯ] 8{!' PpYҒT2wv?:3Pl`us/Ν[j~ ajΓY ҩ=X=~s +O>ʞ.%1=vbd.{=qтc43:M%R˜"@q6'aQLr d#liά)<82vX3)4mXPqzCqkO0$__=@a t0:Xr2AGEdPh=sfzjR8N&Hb)Iin  5Cz[Q+8!`bF4 Z35d[B_I!Ě5(`Pkgx]y<]H#W" ҹi4z~[7dGU׋~1Vn*yn^{  0PŅn:aIh4j`5`rrXЭȍ"h$ȩu$$J1_9n -m K* ȎD3+k9tzm@2Ɇ;͜ ~Wss})'8 DȆrUZ\$1M۫vʕX5pt8WcC y<=zf7s=;nmb~ /ߏ(H>WluaiR"tspK!'e.5뛼g|n ctI-su ;e!BO pў} lBQ,qh Fv1%Hy2 H]I~513d)ŬYJRRZ4Xk! dAn-Җei0)0cZmsza,a$g~S'NDirLDZRҬ5o'1Xkżg"`Ě5 Vq0,@"%e\fL z]O|o,;>On.˶fDQ`]ݺkL[?-VOqqP( tjR vsah@bO4";N#FFma`ddn ܌ǟXh!ka8alןj$7pžN%VWqhvO _h cL^sKв7Epa`b&26<'Q- co'IlaCLel!Om=mđ /q,^>| u+ 6Npv->pֻq<6yHēO9n&+!iaU (7(VLNz` m,)I@V N)u+ KjlģXmð a0tZjl Qy4:+"_!inpr(2p GOBaZen|qiנ/l0 r'A9NyFh(M$AʶݩL 0jX,13#Lkk裏C ) v(ml5>BS0Ɵ{#h:>rٿRmFx6l/0{>= _}iBuP00S {Nઋyu w?q+n߃+c~,[uT*SbmqdȬDae\|rl6Ϡ@n^'Fs~ZdP@}mk𕯁v}dReNRq2U IDATc6'_YJCShtBfS7\Ba8'XYdC7~5 .da4^egAyϭ ?)}X4@emNa.} ʷ0jdHka/-+~؅a2icN]2vE9ם">90025\u##9V 5DtjȱY)AL:0=N=I[^2|jf ZOaRT)Q@Yأ8i&<k|Ü(b~(+js{ mF?48g9|`z/ryXٲB:Rٌ  l Ծ&f2v.ff )w&@h4[(A}dG†Jm.f\@ՂmYp\l?ݱ#G^SJa9@J @<HusPH ah(C-ᱱCzC )X+ 72C'OaouhN#Y r],8~Α+;>zbruoGn(Iܽ@nԉ+/|\wM1H{꣘U`p_taHbB8֏f / }vMfH8495tѴ[ 6VjjX*+Į+bo2Μ?gϝZ !HokrhEyKi{RXZ܀04:_=iLշ%Ӕс=c|OԖWyjjz~B 0A5EB„Fɚ&v>&Oۏ/Xw}}}Nes9zɏ9wv_l' p|VF4PBy5SBZ)w.vjݵx hrz'Czx{v8$HRX/zϜ2a$ķzێ7Φ2m=:<x"P*ԮөLH F.aP# s 1V/6 [+Ȓ$АΎ t>XKspNL_k 9*<Im?/\(H%W%WNtPm3`ðB\O;ewFzz כm7/ŌSdJo}Gf.o-U#O=^v80|BB6{v:6ti.wIڵ ozًj:!t'zכ6{`R[dy>N]5{fM)H$% Ipnrnz͍`E{$fhN)Q.xMscyqYNfN4:bDc>qzNo:+t:a$ 5'&zV׶f b!+( `ôؐHGQq8It,@N,BV 0&IL۴@4 l5R GI$8 `K!Parck+zNJlnG{?}o:M!ČZoll8{^ׇkuU F^nEЊYJ Q"#;ގ]`bx:vwF3Ѐ$T#h~F,M|;&uț#v3Ȇ&X^Zg/pɣ\uλ,2"ø dJ&qAeWugӛ1J5K$#Al Mc7AGnƴm0`@HЀ*RcVfeUN\۞`H||3i"~C fv7?f75(z4M ̄O~MP.C՚3`ExKsj)>$~o-x'd Gy7=ll_xܸ) =sMg(/9nP^B$=C>rpwx+V{DDbo!*<1}'mv=AjG?7>0][9OhW_2h1(鱻v7qg7lי1^HEn>Wv-odF;* :XOkK+fٷr'tc-I){s@H< Οqhpxߍy\|.㑇lfUf@M{BVC_zjߌ˭5[V쐄0B5Q,u<*"Q0/s/౯]T-){J]%bvWPsW)~%O~r߯>hѾmuOc-[݉qPpOʹJ(?J؛ ny滒ݏ? >۰rX:w%oOAJ޹垘PE(]0H4xm{bB) V62b>y|ᇱ83tAbso?+[ܛqSao9Zw1=x8rg _r\F^>˘{El]٣~)P : rX둥k`8h!ikl_BjIlV׏Wůѣ(Kx"iv>~{%C/J~\c>lӧv: lUyin<O|X ~ Dv-s'`\^/C)& 5: b?r{sc0zb89ŭ'໿oܭGgO弿v ;l^2w† C Z $#0`L&qBapt Xtq@:zwvzxq,֠jRc"eqc;^ ZGgg/^{ѯh~}ld %|4$%  R\TD3h3߃g?!0}8>EQ5tZ8ȽmXۦ4:ƣU 6ηމ>6/ vy0[OObn.Ƶ18Эp n|mo=e;[v*ߞerޞ8}|*k5yO6^~AVWʪ[*,2$hV(w t6D@>MMdOS[T%"z3^oWU8*BkJ(X?<#O' _F qDiJo 0nwj3 "VRʢXٴϯ2N43?L-@N@ `(d3xv%HI%f:>B0&AW<6c8pCJ &r2Aʲ3=MG Zb2Cӄ d k̚B01 !xﰱ9&Ei8v^kMp[Apeɕ%L0M/@Lݽ,tEV psf{gp2e D5!VQYs=_HP8(% 0f "dXT $ 3* [}Q\ ABI7' *4Uit ,CF^r8 ,?:;|D=76]+Er+ +3xiwΠOxMp(KTeG"ԡ$mYXC!,.ͭ]4M4gz~c8@* 5wK>|T._~[s5JhDi_<(¼N.ZV֖pnOt@:gD{m/-hgJ A0I`sc F^O]ơSm8`Y4kPG/_ۏ0#}_?2jg?~l;T;Nb:d©3BRxKB|} ߙdxq]A~odu/n9mo6Zt!)spm4E>鯭VAbFbِׯ'\AUQ"Ig\H+e՝m\[_e`f-ݖG?Pj _H$&sx$Vz*Y xB*JkUm:pΔUҔN ca)qlrr᠄ ,$zdbHEfNssߔT0ᑗaD:i m\ BЈ@PׁY @ߴ-BوM7_߬}$XOƚDfCR=k [Z= W4Y{s ^zxq v_x0 B)0Ƹ_ՒE)zڞ"솨'=)9\ƒ_&L1ww+Z!OC+KoLIPcDn$И3~g?1+˜P;+ƒ: !&Ny`քRْ=J^xEgJN釾-\wQb;Y_M'ti^8sO~Uh6 #-#n7iI.ny:9&07!pֲZQ5 =ёǍ 8\Ju1rQ9jBqek{`Z9LY{[H`4NJyh!٢,kǘ$zP1Êb**,Pn@1j%!JKgI {1|2Q *(PQ@Da= bj !Z"A f=|7 QK(), " @x~cc8n !nsu3:A&u>k!j`e_x<}V{c'x<]x}߃>eĽyisuB?K(5+jmb)aG%hMqw %v#ƒ4|H?#?kG{~QC@a('(!{B$]uo_;y0aq?E@&hco'nM4 _‘(}dMOSwoo|(|/g?^ŧ|Y&yjZcUby#\ 5d՛ tAD 3G ;c>"cx;}x׷MPz_n{M v7C'Dr#ߩu1|rQ*B2m?śkML^(+c;sxjt%qV@1LaLpK(!Q%w""`gT(*8[ NKL'9tR8D[YHl@GH|8iDUjڃ] !ܬ<,,a ,(-PCj[M^ &7Bl yvg]MQt#,tzS}E+%3;_`xkޓ]N3,.mo>GKӌqbe :d4ZtiW§Q܀xӫN1Z%Q$NqCx_>OaI<eޣ~IݿRcP?sXx1p;uBЌק!6/tdQm S0 !nb5ۡV+{m _=^D '?2>TVo'ynWiO.w߃? @;/9tn=Fhd 2" 7ߺTuLwi:P%/GyCŦӪg.^t֤l^:cım+pރDFP\Ia6^FQȄ{U=H{4ɹ(NOn-F;~TMÖ̀ `%I@0h6b$'lHѨd!P<,,yXp{3D;t0KMNJ`⪬je^Z{.@PJ4g(RIHx];˳?=% ?UU"]e3¡5A-ﺟQ~hC/zFieV"z1ȉ[5q׿{Fsqǂkͦ[>ZEyEﰞ ޱعE1[܆F}$ p|#KL5n끼‘Cll7IlcAAQ@ zcTΠ^oh (mj PqҿE|y=e"XL>o.wM^j8w]eYsjn$,yis9ʦtkw)J_ aKcEe4 UzƲK9eR!% !i>FYdy%@ tM[$<|YɃAD |( ZvU^-4<< BAd)3PA zb2" W`o5a1ICpZ(hFf%pR`(Ay.UY/_9%0^R2kT(3Z 0y”U!"BHlfY@DFNrTT NJ"$u,& [Z<3B8Ȳ,$]c.b  B@MN-D-rQYOG(-"V!! P%jCAk'Q9@*rP6 <9T&rq,IQB3PxF4cOʲ Dn^iM/~ߋ^>Z,7[8w%(y͚8iw5DE80؇?ҥ~g9~8x<^ą-_ 5qvsmN^Q컋'ʻ~;9p1I~nF!3Hupa3W:m(Fir5?p䰭":!p@50^YlG%,yP4BF*m58b ܍# !Ҍ4Map9, eaZU߁2:cJa;HY#$b/fs5[JMp? v'~%+I5(wM0&{DFsKDQU>  P k8Tدw4PPqX*NjF\(7šG;,>2qҡfN󝈅֖t Eno_LB9dJc)Ǐj?q0R'Ƙ?WhB:쮯mq{7P`Lpjiz} $BR1՛Qi0adEP)p5@1LG ~[h(j-f}@hVTÈ%b2搰VpJT &D2acIñ :s6++ 12$+ 67d1IˊkG;t*L@D`XSf$|-3vF)k@vFp*ED&Zs1e"[҃@Dp0570MPc`=!Jdi$Ig':lZuƁn0Q˲b牅V 8(0Waa^U Z1S"x5ر+ow2M6aTөc'>}of7ʁJA>Y\p.dlOwh HI.NNϯH+q%PABXW%X9(A2&޼2G4„81}\ORK-,83\Nshq-YXo9HWEH5yԓVy^2-6ĵ&!_yS5);xjg_]c]TKta?^'g$*7BCYmm"&cA(g\~uQ&ݬDŽF6#JP%%EIʠjpiK(gQj8XTAh5䅅SL DY + fmXW7BHE Fz=0܌U(H0;L & P!0E TPAҤ /R@.jvrUYa 硷٤fuӧ bx!kLYQ͕j@P;w;=cin(./Xg&O.iW|9dIJCK ј^ BD1Lӡ;O&a_?e[:pt1ƨ"OCpuD'cFʌ{ p:N4ރK&b<Qu*(Ev^/vM722a>'o}9\6Dmn?y|Cvh('s`o7D pa}GS_'3tkřr ["$0,85_G06@'FҭQӁ [F='&I̲\Dfv(DBU aa>BX0.2H^Y!5- cد@FP@$ZV(/`c’ <]~SCUWI@T D'sQ!$ȇd -k a<-y1AY*0+HrH"SsLַk`G: tX^U⎆*jH0\UreiaxUK`* 7P P ٌBlµV'O/󅧮#Uu< 34L0ݕBy `M9;},CgG*oRJ@/:r]{ҫ|ǻӿ>DB#/r˘L 6PTLYra+ڞ'F[ whR,%]os^|N8y,\Q4+19J>Bv|8JS9=iWPc~׬Z =ޝ?!jdsozn 'j>+WDuھ{o R=`-&йĉV8č$N?J-n;w?o$Jo1Up(`>._qjz} J5˫[4)%9W=͍Wa&"hsA)G4J`0vHB -Tc<ك SBj9rV55a=DDuz/>bg#l 0)71wxqTg=7FN:D݀0b,tbHaxhc<3eeIDAT(iw?EYDEj٘QL^% ">rUi{Hkup!M䶄R ͭvRayyedv{EQB 4\k hC,{KP  `4~3?s\'MdrSɳg/& K],_wnv-ġ:e:O !GU9l^A.X3l8' ȒdR%[~ r-7CPDPr0S8%-]CO>uQjHJSUuo6._۾9H/_S,v/`zEQ=oWW7hm=W; *@b^;B$TUtVM5}ľoyϬXӺL7E>_|,:װA4.W f|JYc>~:d߾E|zp!iբ*\u \gM} &Wx}{}={{"%֒c*qe-Aj /"0i!|tg/g3?YD@ Ԋh;ߦU%(ʺAf[.C n܄psX 4,s ]҂5V߉%ې83x>WH( *Ұ3.\! Yn4X/\xᐹ1/ahժ$b V荺CKE548E1G(BA?N:,A9X&0*IENDB`ffDiaporama/src/ffDiaporama/img/logo.xpm0000777000175000001440000003026412275647255020475 0ustar dominiqueusers/* XPM */ static char * logo_xpm[] = { "32 32 640 2", " c None", ". c #C0C0C0", "+ c #BFBFBF", "@ c #BEBEBE", "# c #C1C1C1", "$ c #C3C3C3", "% c #C4C4C4", "& c #BCBCBC", "* c #BBBBBB", "= c #476E94", "- c #245283", "; c #295670", "> c #2A576D", ", c #275585", "' c #285591", ") c #2C5A96", "! c #2D5B94", "~ c #3465A1", "{ c #3668A6", "] c #33619E", "^ c #3863A3", "/ c #3864A2", "( c #3865A0", "_ c #385D8E", ": c #3A5679", "< c #2F4258", "[ c #253040", "} c #1F2934", "| c #181D21", "1 c #16181B", "2 c #0E0F11", "3 c #797B7F", "4 c #AEBCCE", "5 c #34619C", "6 c #35639D", "7 c #37629C", "8 c #37639C", "9 c #456EA2", "0 c #416B9D", "a c #205495", "b c #2D5B32", "c c #30581F", "d c #2F5D42", "e c #38665B", "f c #2D608B", "g c #285DAB", "h c #285FAB", "i c #2A62AC", "j c #78A0CE", "k c #6B747F", "l c #0E1115", "m c #131416", "n c #111112", "o c #0F0F0F", "p c #0E0E0E", "q c #050505", "r c #515053", "s c #E9E9F0", "t c #36619A", "u c #2E61A3", "v c #2F62A7", "w c #3263A9", "x c #3E6BAC", "y c #466FA7", "z c #285C80", "A c #325C39", "B c #2B4B1B", "C c #223711", "D c #2F4915", "E c #284B2A", "F c #2F628C", "G c #3066AC", "H c #2E60AD", "I c #E4EDF4", "J c #818181", "K c #080808", "L c #101010", "M c #0D0D0D", "N c #000000", "O c #29292A", "P c #F3F0F8", "Q c #406490", "R c #2E5C9B", "S c #315EA0", "T c #3361A5", "U c #416DA9", "V c #4870B0", "W c #2F615C", "X c #3A602A", "Y c #2E563A", "Z c #212E18", "` c #1B2A16", " . c #172511", ".. c #172416", "+. c #385851", "@. c #3563B0", "#. c #D1DCEA", "$. c #A2A1A3", "%. c #0B0B0B", "&. c #010101", "*. c #1B1B1B", "=. c #EAE9EE", "-. c #435E82", ";. c #2D5590", ">. c #325B9A", ",. c #3661A2", "'. c #456DAC", "). c #BABABA", "!. c #4A70B1", "~. c #2B5A83", "{. c #254B45", "]. c #284839", "^. c #253D1B", "/. c #283E1E", "(. c #131E11", "_. c #151E1B", ":. c #253829", "<. c #386185", "[. c #B2C7E1", "}. c #B6B5B9", "|. c #0F0E0E", "1. c #101011", "2. c #020202", "3. c #000001", "4. c #E5E4EA", "5. c #475D79", "6. c #2D5085", "7. c #335894", "8. c #385F9E", "9. c #486BA8", "0. c #4D71AE", "a. c #2A57AC", "b. c #2C5BAE", "c. c #2A5592", "d. c #1F382C", "e. c #2F4721", "f. c #182914", "g. c #2A3F3D", "h. c #3C5551", "i. c #345780", "j. c #9DB3D4", "k. c #C3C0C5", "l. c #111111", "m. c #0E0D0C", "n. c #101318", "o. c #0F1011", "p. c #10161E", "q. c #040506", "r. c #00050C", "s. c #000002", "t. c #080707", "u. c #D8D9DC", "v. c #68768B", "w. c #304E80", "x. c #375791", "y. c #3D609E", "z. c #4C6FAB", "A. c #B9B9B9", "B. c #4F73AE", "C. c #2F5BA8", "D. c #2F5CA9", "E. c #3761B1", "F. c #3B5876", "G. c #274030", "H. c #2A4C48", "I. c #2F3E2E", "J. c #2F4551", "K. c #3E62A3", "L. c #8CA5CA", "M. c #CCC9CE", "N. c #141414", "O. c #101012", "P. c #0F1010", "Q. c #111010", "R. c #060607", "S. c #BEBFC0", "T. c #848B9A", "U. c #324D7D", "V. c #39588F", "W. c #40649E", "X. c #5073A8", "Y. c #5676B1", "Z. c #375DA9", "`. c #375EAC", " + c #3F6097", ".+ c #3B577B", "++ c #2B4248", "@+ c #213329", "#+ c #192621", "$+ c #122016", "%+ c #355170", "&+ c #8A9CC5", "*+ c #DDDCE1", "=+ c #1E1E1F", "-+ c #0C0C0C", ";+ c #0F0F0E", ">+ c #919294", ",+ c #B0B5BB", "'+ c #34507B", ")+ c #3B5C8C", "!+ c #45689E", "~+ c #5678AB", "{+ c #B6B6B6", "]+ c #5E77B1", "^+ c #3D5FA9", "/+ c #4161AC", "(+ c #4564B2", "_+ c #496472", ":+ c #526537", "<+ c #303F24", "[+ c #3A4849", "}+ c #4E5A40", "|+ c #3C4F4F", "1+ c #778BB6", "2+ c #E6E5EC", "3+ c #2D2D2E", "4+ c #0A0A0A", "5+ c #020201", "6+ c #656666", "7+ c #CCD0D1", "8+ c #3B557C", "9+ c #4C6691", "0+ c #4E6DA2", "a+ c #5776AB", "b+ c #6479B5", "c+ c #4964AD", "d+ c #4B65B2", "e+ c #5068B7", "f+ c #5E7292", "g+ c #50604D", "h+ c #505C45", "i+ c #3E493A", "j+ c #526474", "k+ c #3E4A4B", "l+ c #768471", "m+ c #F4F3F9", "n+ c #4B4B4B", "o+ c #070706", "p+ c #000102", "q+ c #000103", "r+ c #484948", "s+ c #DADDDD", "t+ c #616D8A", "u+ c #64769A", "v+ c #788BB2", "w+ c #8297BB", "x+ c #8895C3", "y+ c #546CB7", "z+ c #566CAB", "A+ c #627187", "B+ c #5C72C1", "C+ c #6079BB", "D+ c #5F6752", "E+ c #5C604C", "F+ c #8B9AB9", "G+ c #ABB9DD", "H+ c #6F775B", "I+ c #EEEDF4", "J+ c #69686B", "K+ c #080706", "L+ c #0E0C0B", "M+ c #010A18", "N+ c #000C21", "O+ c #010C1E", "P+ c #010C20", "Q+ c #000E27", "R+ c #000C22", "S+ c #363736", "T+ c #DDE0DE", "U+ c #6F778E", "V+ c #7C88A1", "W+ c #A1A7BC", "X+ c #9AA2BE", "Y+ c #B5B5B5", "Z+ c #A1A9C8", "`+ c #5F78C0", " @ c #5B719E", ".@ c #454C2F", "+@ c #5A6E9A", "@@ c #7D92D2", "#@ c #697680", "$@ c #474D2F", "%@ c #8C9298", "&@ c #AEB5C3", "*@ c #353A2A", "=@ c #DADCDA", "-@ c #80817F", ";@ c #09192C", ">@ c #080E16", ",@ c #000C24", "'@ c #001332", ")@ c #010E25", "!@ c #000D22", "~@ c #000A1B", "{@ c #000A1C", "]@ c #000D24", "^@ c #001134", "/@ c #28405E", "(@ c #DDDAD5", "_@ c #656D87", ":@ c #787D9B", "<@ c #7C87AC", "[@ c #8891B5", "}@ c #B3B3B3", "|@ c #8B9CBF", "1@ c #6981BE", "2@ c #798CC3", "3@ c #60654A", "4@ c #424938", "5@ c #949ECA", "6@ c #A0A2B9", "7@ c #707156", "8@ c #323C35", "9@ c #353B2F", "0@ c #353A35", "a@ c #D8DCDE", "b@ c #9A9EA1", "c@ c #0A1E39", "d@ c #021838", "e@ c #001334", "f@ c #000510", "g@ c #000209", "h@ c #00040B", "i@ c #000308", "j@ c #24292D", "k@ c #787988", "l@ c #767A96", "m@ c #7983A8", "n@ c #9198B6", "o@ c #B1B1B1", "p@ c #8C90A6", "q@ c #6B74A2", "r@ c #6573AB", "s@ c #72799B", "t@ c #535434", "u@ c #656651", "v@ c #979B89", "w@ c #555A40", "x@ c #1D2116", "y@ c #282E1B", "z@ c #60645D", "A@ c #D8DADC", "B@ c #C9CCCC", "C@ c #111213", "D@ c #020302", "E@ c #414040", "F@ c #646576", "G@ c #5A5D7C", "H@ c #63688E", "I@ c #7F809E", "J@ c #AEAEAE", "K@ c #838392", "L@ c #60668F", "M@ c #6B7096", "N@ c #817A96", "O@ c #817982", "P@ c #656134", "Q@ c #A9A687", "R@ c #5A5B3B", "S@ c #1A1F12", "T@ c #504A40", "U@ c #83707D", "V@ c #A2A3AE", "W@ c #E4E6E5", "X@ c #3E3F3E", "Y@ c #292A2A", "Z@ c #929292", "`@ c #9D6763", " # c #B5A3A2", ".# c #A0A1A1", "+# c #2E2E2E", "@# c #9D9DA1", "## c #C5C7CA", "$# c #6B6773", "%# c #625671", "&# c #736683", "*# c #877790", "=# c #ACACAC", "-# c #858585", ";# c #5F6569", "># c #5B6477", ",# c #82838C", "'# c #8F878B", ")# c #B0A8A0", "!# c #D0CCB0", "~# c #505132", "{# c #202516", "]# c #63554D", "^# c #A98881", "/# c #89858F", "(# c #D6D9D8", "_# c #C3C5C4", ":# c #1E1E1E", "<# c #6C6C6C", "[# c #F9F9FB", "}# c #F3F0F0", "|# c #984540", "1# c #CCB7B5", "2# c #FFFFFF", "3# c #EDEDED", "4# c #B0B0B1", "5# c #BBBBC1", "6# c #B3B5BA", "7# c #6F6B72", "8# c #695869", "9# c #716279", "0# c #80718A", "a# c #6F7054", "b# c #3A4227", "c# c #1E291E", "d# c #4A513A", "e# c #777754", "f# c #C7BFA6", "g# c #9C9C7D", "h# c #2E3018", "i# c #1D2419", "j# c #6B5E38", "k# c #85713F", "l# c #8E8363", "m# c #D0D2D1", "n# c #D2D5D5", "o# c #C9C9CC", "p# c #D2D2D4", "q# c #D1D1D2", "r# c #CCCDCD", "s# c #BCC7C8", "t# c #C1C4C4", "u# c #CCCCCD", "v# c #DDDDDE", "w# c #C7C7CA", "x# c #B2B3B9", "y# c #706D72", "z# c #675E68", "A# c #6B5D73", "B# c #897985", "C# c #ABABAB", "D# c #4C5243", "E# c #2A3120", "F# c #353925", "G# c #474D37", "H# c #50553C", "I# c #5E6140", "J# c #54573B", "K# c #58583F", "L# c #717052", "M# c #786E43", "N# c #58522A", "O# c #696449", "P# c #C5C7C8", "Q# c #BFC0C3", "R# c #BCBCBF", "S# c #B9BABC", "T# c #B3B5B7", "U# c #B0B0B2", "V# c #B7B7B9", "W# c #B7B7B7", "X# c #AEAEB1", "Y# c #B2B3B6", "Z# c #9A9A9B", "`# c #A2A2A5", " $ c #BBBCC0", ".$ c #767679", "+$ c #6C6364", "@$ c #666170", "#$ c #827A87", "$$ c #A9A9A9", "%$ c #A09D88", "&$ c #919173", "*$ c #888761", "=$ c #858057", "-$ c #787450", ";$ c #8B8565", ">$ c #C0B58B", ",$ c #CAB987", "'$ c #D1BB88", ")$ c #BEA871", "!$ c #AC985E", "~$ c #A39768", "{$ c #B9BABF", "]$ c #B0B1B5", "^$ c #97989B", "/$ c #838385", "($ c #949597", "_$ c #D8D8D9", ":$ c #D9D9D9", "<$ c #97989A", "[$ c #8C8C8F", "}$ c #A2A3A6", "|$ c #B3B3B7", "1$ c #838488", "2$ c #58565F", "3$ c #65636D", "4$ c #787680", "5$ c #A8A8A8", "6$ c #D8CEAD", "7$ c #F0E9CA", "8$ c #DCD4B6", "9$ c #B7AC80", "0$ c #C4B584", "a$ c #D4BF8B", "b$ c #C8B582", "c$ c #BEAC7A", "d$ c #BBA777", "e$ c #A99A65", "f$ c #A59665", "g$ c #978F69", "h$ c #A0A1A5", "i$ c #989A9C", "j$ c #8F9092", "k$ c #A1A2A5", "l$ c #A3A5A7", "m$ c #A3A3A6", "n$ c #9EA0A2", "o$ c #ACADB0", "p$ c #A6A7A9", "q$ c #95969A", "r$ c #484654", "s$ c #4D4D62", "t$ c #666574", "u$ c #A6A6A6", "v$ c #E9E6DA", "w$ c #EEECCC", "x$ c #F0EDDD", "y$ c #E5DEC8", "z$ c #E9E4D0", "A$ c #E0DAC0", "B$ c #BCAE81", "C$ c #B6A16D", "D$ c #B2A273", "E$ c #B6A677", "F$ c #A69262", "G$ c #958860", "H$ c #B2B2B6", "I$ c #A6A7AB", "J$ c #A7A8AB", "K$ c #9C9DA0", "L$ c #A5A6A8", "M$ c #929295", "N$ c #909092", "O$ c #A5A5A8", "P$ c #3F3F4F", "Q$ c #51505C", "R$ c #6C6C6D", "S$ c #A7A7A7", "T$ c #D2CDB5", "U$ c #BEB289", "V$ c #DEDAC1", "W$ c #E8E4D1", "X$ c #E6E6E1", "Y$ c #F5F5F5", "Z$ c #E0DDCE", "`$ c #D2C8AD", " % c #CEC1A0", ".% c #B6AB8C", "+% c #7A7246", "@% c #5D5225", "#% c #ADADAB", "$% c #ADAEB2", "%% c #9A9B9D", "&% c #8B8B8F", "*% c #BABBBE", "=% c #96989B", "-% c #838485", ";% c #747476", ">% c #3F4047", ",% c #5C5656", "'% c #6E6865", ")% c #A3A3A3", "!% c #BFBFAB", "~% c #A3A68F", "{% c #BFBCAC", "]% c #BEBCAB", "^% c #B2B5AC", "/% c #C5C5BB", "(% c #C8C5B6", "_% c #DDDAD8", ":% c #CAC5BC", "<% c #B5B6A7", "[% c #566041", "}% c #333D21", "|% c #94958E", "1% c #B3B5BB", "2% c #A8A9AD", "3% c #707071", "4% c #929496", "5% c #A1A1A3", "6% c #ABABAD", "7% c #CDCED1", "8% c #828284", "9% c #32373F", "0% c #43454A", "a% c #57565B", "b% c #A5A5A5", "c% c #D5D5D5", "d% c #D2D2D2", "e% c #D1D1D1", "f% c #CECECE", "g% c #CDCDCD", "h% c #C9C9C9", "i% c #C8C8C8", "j% c #B5B5B7", "k% c #BBBCC1", "l% c #B1B2B5", "m% c #B5B6B9", "n% c #9A9A9C", "o% c #A2A3A5", "p% c #C7C8CC", "q% c #D6D8D9", "r% c #646566", "s% c #5E5E5E", "t% c #6F6F6F", "u% c #8A8A8A", "v% c #B1B2B3", "w% c #C5C7C9", "x% c #C7C8CA", "y% c #A5A5A7", "z% c #ABACB0", "A% c #D1D2D4", "B% c #DDE0E0", "C% c #A2A2A3", "D% c #A5A6A7", "E% c #D2D4D6", "F% c #CED0D4", "G% c #D2D5D6", "H% c #D5D8D8", "I% c #D9DCDA", "J% c #B0B2B1", "K% c #7A7A7A", "L% c #D1D4D2", "M% c #D2D6D4", "N% c #919292", "O% c #161516", "P% c #212120", "Q% c #272626", "R% c #575757", "S% c #606160", "T% c #626363", "U% c #616261", "V% c #5F605F", "W% c #464747", " . + + + + + + . @ @ + . . # # # $ $ % # & & * * * * * * * * ", " = - ; > , ' ) ! ~ { ] ^ / ( _ : < [ } | 1 2 3 4 5 6 7 8 9 * ", " 0 a b c d e f g h i j k l m n o p p p p o q r s t u v w x * ", " y z A B C D E F G H I J K p p p o o o L M N O P Q R S T U & ", " V W X Y Z ` ...+.@.#.$.%.p o o o o L p &.N *.=.-.;.>.,.'.). ", " !.~.{.].^./.(._.:.<.[.}.p p |.o o 1.o 2.3.N 1.4.5.6.7.8.9.). ", " 0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.|.p.q.N r.s.t.u.v.w.x.y.z.A. ", " B.C.D.E.F.G.H.I.J.K.L.M.N.M O.P.Q.R.N N N N &.S.T.U.V.W.X.A. ", " Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+L %.N N N N N N >+,+'+)+!+~+{+ ", " ]+^+/+(+_+:+<+[+}+|+1+2+3+4+o L 5+N N N N N N 6+7+8+9+0+a+{+ ", " b+c+d+e+f+g+h+i+j+k+l+m+n+K L o+N N N p+q+N N r+s+t+u+v+w+{+ ", " x+y+z+A+B+C+D+E+F+G+H+I+J+K+L+M+N+O+P+Q+R+N N S+T+U+V+W+X+Y+ ", " Z+`+ @.@+@@@#@$@%@&@*@=@-@;@>@,@'@)@!@~@{@]@^@/@(@_@:@<@[@}@ ", " |@1@2@3@4@5@6@7@8@9@0@a@b@c@d@e@!@~@f@g@h@h@i@j@=@k@l@m@n@o@ ", " p@q@r@s@t@u@v@w@x@y@z@A@B@C@N N N N D@5+N N N E@A@F@G@H@I@J@ ", " K@L@M@N@O@P@Q@R@S@T@U@V@W@X@N N Y@Z@`@ #.#+#q @###$#%#&#*#=# ", " -#;#>#,#'#)#!#~#{#]#^#/#(#_#:#<#[#}#|#1#2#3#4#5#6#7#8#9#0#=# ", " a#b#c#d#e#f#g#h#i#j#k#l#m#n#o#p#q#r#s#t#u#o#v#w#x#y#z#A#B#C# ", " D#E#F#G#H#I#J#K#L#M#N#O#P#Q#R#S#T#U#V#W#X#Y#Z#`# $.$+$@$#$$$ ", " %$&$*$=$-$;$>$,$'$)$!$~${$]$^$/$($T#_$:$V#<$[$}$|$1$2$3$4$5$ ", " 6$7$8$9$0$a$b$c$d$e$f$g$6#h$i$($j$k$l$m$n$k$o$p$o$q$r$s$t$u$ ", " v$w$x$y$z$A$B$C$D$E$F$G$H$I$}$J$p$K$L$L$K$j$M$N$p$O$P$Q$R$S$ ", " T$U$V$W$X$Y$Z$`$ %.%+%@%#%$%}$%%&%^$Y#*%n$=%-%;%*%I$>%,%'%)% ", " !%~%{%]%^%/%(%_%:%<%[%}%|%1%2%3%i$p$p$4%5%2%l$6%7%8%9%0%a%b% ", " c%c%d%d%e%f%g%h%i%% $ ).j%k% $l%l%m$m%n%o%N$m$p%q%r%s%t%-#u% ", " v%w%x%Q#y%%%z%o%Y#A%B%C% ", " D%E%F%G%A%7%H%I%T+J%*. ", " K%P#m#m#L%M%L%N%O% ", " P%Q% ", " R%S%T%U%V%W% ", " ", " "}; ffDiaporama/src/ffDiaporama/img/logo.png0000777000175000001440000000446712275647301020453 0ustar dominiqueusersPNG  IHDR szzbKGD pHYs  tIME hIDATXՖ[]Uk>\i3LK˔jTbb$iL$`4&%A/<`"|A*H` "PJT Lι̙s^ˇ)#xO앵w_}>1AB^_ !BJ$ J)>i̯uHH0 䑖Cp€k *9CةUD/\p!@ w0 %xﰒ:&G%%iO?/!%IN* }Nw| ɫ60.*pQBU̒va$ ڨGcS#@Jz&cz8DK&)Rx;UVLRąOeQ_߆eY{thV B+ja."H}FAZ%j>|89gNaV 酐ct:ݮR1 @:X"$oCo&R%\Z Llchnb_QgskF8rH*ONdI/iw[L6 ۶}ǎ"O (oǬnB&yXA@)%~"֎:&"<Ї4 Rh,l;٨kY --f- fYf +GсTd1`L"}unĉi.34NplH9I\" eRھB_N1m7v>G}e70m6oyt2c#4HIcSdm8Z 2e[bgDB!kh> $Ku>7wB>pǞ"{'m 4Isk)\iGvꃌo?>mH1eFNJ*CC#] :gh4Xɗ\vn*1%F9i3w!t[FZCaŋ1j+ #ʓD29pK ]w@G+iy! qzIc%X6r; ;q:?Sݿ Ws?,M[!z..S]%w8pu5WۋyQ`8iIK2TAkIu=RϖVTRO(D޼q^najjz{'_ǏGo>KJ KQwIkŲ1o",{W1Yw3՘k.̱u| }{RtЗS.sS)* /EA si8yhc I6qJ% `JRaa~ѨשTٱsbsQأT*1888y(I<`)^<]ߧT][+x9t/x_}WۑD 錋mKl'oC_Y<:Q 1^'{kqkr#GtMxHiaFkzW+_KY!z;IENDB`ffDiaporama/src/ffDiaporama/img/kmultiple.png0000777000175000001440000000666712275647257021537 0ustar dominiqueusersPNG  IHDRw= pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڤUMO@}NZޑ8?GqoRq|#RB(}'ƁHid%yV"qeesa10unTy_dLlmm]MNNrx"xApQ011{S,.,wogg__[[E1ƃ$7555bQ%LY{a*́mt<QIvJ;x=dC;h̷-p8@p5}FS6iȩ@V;Nozff3f{r f~y ,,!+YDACR eY}(ʾw@Dʣ(`ݣR@  6& (=n6 }l9d_P#clll$Š@e(Yaj8?B(O0E^L VW?!61nnnpռ*nq܊_t:|!wfzHqzR&Zu]oowVN|߷ϫUhHSD̓>Y|>__m4v}-ЏM&IENDB`ffDiaporama/src/ffDiaporama/img/journal.png0000777000175000001440000000560512275647301021160 0ustar dominiqueusersPNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGDC pHYs  ~tIME->7IDAT8퓽Q][k[y^D<Pid#{! 83'ߙɘ$BdT^rvvoAeTsY2@,0KI QqHx =$bp#e4J<]%Q;fvo}IENDB`ffDiaporama/src/ffDiaporama/img/inheritance_down_unlock.png0000777000175000001440000000222112275647270024375 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME 6 [͌IDATHǕoTUk}ҡR I* >Bb˫_OňJ4 FD[oQL[9콗 V2g}k#߻H#N+9n]SL#̇ ̤bb$g18)$xL!D%*‚* ^1^-0>*aIZѨ"ؼCo7|2%]RUy6,gGBz{W5+vb+ynJ[h6,]V\' y@}ESφWA0et&;vᝍͫh!R: gKȣ>(;ish־ď*sF.##1 PM&Jl)[3{ ^?ԧ! l~gvȠưGDzaFoZO#mO0Pyt}=Tqn}?9\od8/bj˩&YH1+FlTA'jLj @Dl"E|Bvɕ#~w笡9jU5נ>؞U *Nl?E=eU.2s;%TF<,iMhNdhзmJV^WNTS:qliYYSo̎e.;L*1Bz/?qڇgDUf t'p3l$Pb,P|GhťQΧrAckW = "NC>@p3 @d~CTOK+- .4'gOA`g |{\hj p{Վw#`]aŒ6_tsTE@ǖɪJ*61 `E0y~?:tj-SJO/fǮuRսZ B/ * ˅[FR#㱝jgΧWϿ/Dd ]jclSR/ W{wW5ov|0I#f85ydCL!?`AߧIENDB`ffDiaporama/src/ffDiaporama/img/inheritance_down_lock.png0000777000175000001440000000216712275647314024042 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME 9IDATH[lTU3眹0e:LW@B[J*8iEUcP@A!⃉@L$@AA -Zzaҹ3shFB؏k׆n=ڤ凪습En_)2~gPby˴Ɯr>zG@2i%%r0gqH;5 U'EB }igвOa[FN!,K`SCD+חdS+[Le3[0]3L2N soHx:a;t_k`_74Z>cFo[0/|ެм%O$ %eo:}&'J4E Oj:6vzSIp";Edb]]75;0Ny%n=d`9EliU)"V4^w M*#5 P\*r\윎 Kp5Rt`o4d;-iI%i;mSfqm ^8{*k<~XOuOЅ˧7A k`lq"">_,cobv._5A5(dD,Y?F躪{u˯)ZSuZV=aZ@0,t٣}-!ݫ8K{7q㶄W|$[baچ״ 󅚣z8H0(na3A1NTT"ni㖛=aնl humx^Y@b*IƑ#tWqhC$RlB,; QZ_yv.UȔ - ?Y*y}fAɖNle67O @|^5?OF$?HiԖJB g'-='W$@@F,vU.)Ǫ& w>n_@MSy#O?MLUql44w'7ݟyo<k;> OIENDB`ffDiaporama/src/ffDiaporama/img/help.png0000777000175000001440000000302012275647257020435 0ustar dominiqueusersPNG  IHDRw=IDATH{lSUǿ]趖MC:mVe1FNbFsQJEDiQ kn 6Qv[nznoA@}w|uL uE }DD{z9 zҘQ<慳fVyRH ok=g,lF(!ߔ6mXkmqjķԻt)&%CUTחpZu"2;^޺qI:c d40 .KֈXj[W͸u^9wݼ#U3I0>*(("|tn=@ݓx"UMl}N?gFiƽѴ{8:vq7o7pM~tCSK YtgqatMCcagRe((?oE^<\'T2@al4{z@a 6ݷb+0F8Dqz#`1":鎃a4Y,"BS" k/wkx\] Ї i ssUՖ4Cv)Znk6T{,"{  * ,b1PDy"Gwؐ3Qu uHM L$xI\Cz9ejwWy@(NqpahKxD; .C~^n ( $+ԙ 'Y@JJ$/7:FNujuCebF28pZ Ÿ.=e+/-T D8X:JlDr[*(rӪKe/4N$~B(21W`l ,*ą"Ξ ^^,Tʋ9M[pb:< Qb`Q)gc"写ϴ,f%/XsvU/{9{OxF,`p45HÃ"%t^]k uQ2LaY6}h2,`fXe,Ϣ0+whH[.NV1.Í1]A@CKxM[IMkSs?~`T9` xe<>L}3 lGV h(xaghgd%5v]R#_O$K=GC{rxN b Asc [vitǫy|]j宆 ۂcS&\'IJYIENDB`ffDiaporama/src/ffDiaporama/img/gmap_add.png0000777000175000001440000000324712275647240021244 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME +: 4IDATHuoge{f2$/)g8Im,'രr|v3 KSGk RP( $"OHɲ SGFãA eZ+d8!2+{DKpI}J&1=OuREМ,R{Cu\,##{^F7*hsfױI/)S0TN"?ѓZ9R r(L0JG)yll-rev5AΌ}jrt0c6F#!>fs!eJbMr *2 '/8=U*aʡ)?0ݹPgk#4l4ZGb Q({2vw;R lȱL s;W:@)x>:3\)S s0ZQ 2^Oޖ9R4#*](koM·w(r csT[dasYHl^ff˻wlD3,cc/3P*"^09[ZEfw?WޤPڠ ghx~xri֟gF9<6$EV3֠g{oU.%" -Vwx泜9n.A)aIi݄a_:}W95HE޿{fo_+#"8ݟ} k%p)l9񝳿+|/~E]{c*Gs9JzRXLpI埙W':`,4uIENDB`ffDiaporama/src/ffDiaporama/img/gmap.png0000777000175000001440000000273512275647300020432 0ustar dominiqueusersPNG  IHDRo pHYs  tIME  #O41|IDAT8=KoYSꛯ#ac!240 $4Â#! H؂ Q2d8'nw{uUzR=z~hO28C@D@@L\tEWc+un0dD$y/LNl0HĤ@T;'_~C[ /K;Y1|(W.t]\ؒwV^i"#&3M2^P1l_+zӨL%N|2 16]63UPat:կIT&*]yW" mScs Jkm2 YEnA,WZ$~%""bPτ+IU2Vc ZO@_\/Nh`-YbʕQ7f?*YRN Y>ܽYOAD1 g_Wڕ()w?}Lެ+i0E3Ik{'ËRJa*f ;tTfG3~f5{Bo+8msf^J`ht6΍;Sú=?za1o?0$"cLw=ɈUJrI~m[w~iO~w~%z""QJ@؃`b&"U sj'-'*tIENDB`ffDiaporama/src/ffDiaporama/img/forum.png0000777000175000001440000000203712275647307020640 0ustar dominiqueusersPNG  IHDR bKGD pHYs  tIME +J(IDAT8͓]lSuƟ9sڞ~Ӯk0brЄ bf q1J4b%#I;1u]ڱ ''yrCTOJ _J:]He.M!Tr'}a_o6djZ#pq ɣDriN}|CڞcYEZ R9 ]#'DVxHp? 9/6:thq(f>\Pm>D"u` Sd72{GGޮg850p3 ab̻-O*p}/.)I_=}sM~?Tam`{]dN^RJޏ 6WyhmP Y)0quR"!clI7o9<W@~gp &Y`Ѭ(ϰ,ZY+'v5m c1h2D;m 4j F;ܡq<cvvdLǏ)L=OUln,v ߻n LZ3QQAG[{ɓO \ADz"ebX$/DyqJ >;v"8s恿_W}Q,>>}VI7n|xރ~|t4tNܭ8Bnl?^>A;UcVj _]T~"ok7YqP9sf*eQFѷ,̤ ٹ(ѤYasZ5grxUP3|D~8C|k\y0PrFx0*"ªH}*B5tEiEOD`Edk'Xl-$|.~Q`? WWW/.677H]充 J4]3@Ǜ7(zSUSVk-U5c~Gyz 1:*A|yC-xl4pt97G$oE"PNS28c U`ʘ2D1kC@6Eba`U~|OvrD3ph΄jL&"PDsg*rp~ni4I`i?rBtyC٤ 4y=n4V8bV7[B& %`h͝,:8'RP{$^`KcU2OƘSBr19cP*^+ Ext~~|׫}an B /=2IENDB`ffDiaporama/src/ffDiaporama/img/filesaveas.png0000777000175000001440000000236012275647255021633 0ustar dominiqueusersPNG  IHDRw=IDATHO]U}Ki/[-UJԑ)5?9hu`H8G^6O s^{98R=:YZۨ*==K۶Nc (XX|c̊U ?T6Oyͳo_];T.[(YǞ}Ǚ B(Eb!F%#FT 7n - XC@Y#Ab((=P@A d ( D@DHӔrqIA@/$GBOs m<Ŭ(hD} kuN|>͛{A$! a-ATԚ@! !xf$ ׹$"aɠ @@+sM9{vZc]eJQ((`ڕ0li;s淬!:mm*gŅim`2uB>91(kJzՎ; (kj4H\oC 4Ǿdn|+ilvT9G-.FIX,C{|i8~ًP(8kEC$M\.sv9hJ[ҋyak>Di1Y s2(J(*gR}{xrijSCΝgGJ*`Y T %<믽_8qff.R,QX^^&M14 #"{bs9}کSJeHxISo94ͦ?bc_Jō ֛LNLp1:;;iii{%O%$!MS4%I"fݵJ֮CLNNǘRhD $IB ϒ(99>>p}Tj59Z6''P|.O>[wcX|zYbT5}{}Z'|Zvt[R9[m:c5&kLj&gϞ+fWNTUUM<LMo_1 cLS@pMUmc_/X[c^ܾKQ S: wp]!i2)6߸@pIENDB`ffDiaporama/src/ffDiaporama/img/filesave.png0000777000175000001440000000171212275647260021303 0ustar dominiqueusersPNG  IHDRw=IDATHˋUqB"@ >0Wwʽ wnD\ хd#$Wɀ&F2t=yNDnzݯ9{Y==r)ec<9}˭ȉ?>qcGyzƥK/G67`dRK-M5)Tc_NAQ#HyDf- D@)ned̰E 7_dAL  H8=j)/S5PEH3bk@7l@Dj@R/2ww6Ͽ WO2T{|ч4_˥b0od{3m!RB$ ḳ{r9j693;,2 Z\@07hPZhL0-P`;׸rU6&*6']!ң䜹~:_~-hJ5,ՀAiyDKM|2ɧUmY=uj${*BhQAUDhF "Գ--3Wk0/p)nG0ͨz0`PJ M,TΙ(׾-D tR mRJ!"ږѶ"Wf+w_ "E̓)mҶ*RP-AXģ=ϹGߪt/\xkx4f<lF G g666L6GmۜN|䩜DzȐT"ǼwVEfvik_v9#)LEd l h#xTU=028$ԀȂhbbraF6.Lpąk!j& FшBK@ko̽縘~/'s{s3FU?׉ |n 1וۍg YWnm)tٖ߱={kw{(Φնj)s0x7"c{|w[{,9NJ0\4R(uVamcgqvqYWcCpjSH:eE:Q+:oqQET"41#M:>Q4[%XZ"^R SHDJ*q,.n^D*6* V6U)/YDv :WwnR%*H]kk[,9g@ * 5L*%N74a R,H&BWj(rtr9nA,B30 c4̓64&[9dZ'$Y%e7:yk8puQ5-wq8:}+ ui'ufrt21c*||ϣ#o KPQS[_/tss<ٷ%4Vo" &y Ҟ܉ < g I]'nEʙ#kRQxc [ nP=e?#"0LH3+sQEtȺ,0.iC :ݽM~gWs<C&l@8\j~riEmYR-Is}3N}e|׹t|켿p7} W.*9Rn߾1:OPR[I~^9kraSt?*T_JPB@ XIAEЧS&mbc;a:7.؜}k}ŽgW&i:Fsv*(>$}c֭dH+|(DQtP(-so.xܫ+dHcGem@fgg&4riH!j.DP?'i`=@KP@"bnfJ֨xmB xi} XhjuëEQ@UAw/^x9InSof}eSyV *}$:R*E@P.GFF"}ie)Bumz5O 6J9 OkҩScJi*I(BEbXLmE`of{t{yZf8BG@M̊s qoFdJh u/,rTz ij~]s 8tn\^ݒw4( |}OJUsyfο=wss ܽ4~s҉jO. Z$]^+W~trr??IENDB`ffDiaporama/src/ffDiaporama/img/filenew.png0000777000175000001440000000053312275647270021137 0ustar dominiqueusersPNG  IHDRw="IDATHA0 DǦH\ˆ=ʆojϞؤR/QX+eY`gffcD4a۶zPU`*RJPU*q|YCc|s=G @Dι[.̥aqfvsP>5,[tL._/R1ndlK(ǣb GĚ>gSZP:f^9W˴J-Qn=-QMˀZmB /*!zذÇ;RsɯU4S?IENDB`ffDiaporama/src/ffDiaporama/img/fileexport.png0000777000175000001440000000267612275647307021702 0ustar dominiqueusersPNG  IHDRw=IDATH[pgaɁUb#ˆ  F#3\0w EZ(;)1 RbEvHhKMN^yoךw}bٲ7I|3]nhÆG8KI{{KWJW}2NO)7\{̯'t){%:O\m5Lh_T (N]<EF{.֢R¶,@{c N @`k->XPJcEXc,8 v.``%Iy;RcXkf1ĊD ~*#dPJq}$ź"25UAXs8~Z5LUhjj_d޿*kXR(J!R*TƅGPZ#c$e )7 a$|c͚Nrb,s$I8wb44D 02vFF0rJݫTyjĵ Z24I' }==#"29?njƆ.G'~_JtUR&R2I'a/~S*or.^mۨjLOOӱAj@02vKH_=zcẤщړRnLTDV0xAnO Hw޹CL,[bihhhٱZ??|S2ɧRYnqLoll/ \dE{;!1cô-YR{jww.`pH غeL f|rrwu>ԙG?vMM-}}{U7 B1OezbyԷZ(;SU%#VtR.Q*/_EIENDB`ffDiaporama/src/ffDiaporama/img/fileclose.png0000777000175000001440000000720212275647257021460 0ustar dominiqueusersPNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATx4[h[ewnɭ=INڠIVtV\k+st֮"XPQT7߄ CPX 7C\Qk:[R99ߏϿC(Pٽ(M1 a1t:8@ 9[woVK"JB]>ņ8ɠeZ} FKgDBkחwGO|x۶ c puNN_~Ź'`Ox8 fkR5NyM|bz'fbG15ykSKK%/El:1cyBCoPg.ixg,_x#܍AEtţJ۠'a>RJąn%rv^d#>%9*&((.}ZbH];͎f# -Zn s+kn<xER= /j \O6w0J):I%Ǩk>^xjn_ⳕ@V"….h``rYժ,Xvg{!ؖcUыTք,!J2DQNsQњͨ4g]YaSJT(FtF"$PS(J~!OtAC7ѕzWK.b1weUz;xY)\BdFUC6+twZͨH+]fh&d9aF@!% wh4`b\Y0Dl-'xQ@ IF@6RoQ݄$,kʑȫZC$UfkG7aIENDB`ffDiaporama/src/ffDiaporama/img/file_temporary.png0000777000175000001440000000205412275647255022532 0ustar dominiqueusersPNG  IHDRw=IDATHoLU?j7H)I<`nNm_Caa!fhS1r:簄 5=36:ʎv0v2pmtvvRSSDsl71"IJKK ˟Eѣ]]M^^RJ$r?~z~xDwj~tcv6a£tttаغi+===ϛ R|ϗ.|e%[ 5Zn)$uPJc $cƐ?>F!.)!\L,X ׮yFz.R] 48 E\)/@# feSz/\䵍{"U+8 aI~!_f!mdD7%,n a eHXYz=]VXƝ$V>ND JJ;VU\Mbc+J,ǓܙDzbFS"AYY:Y 8R0'[&q H._ .*֮I%=|^,)ܼ h+Ь`b.Ϯ&_$),|>龘/cs[twtI9l[p, H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڤϋU?YAC"ūE[<`HAAAν=_[j{gj̫Fէ+_~t(˲(GQ{Oá5ig_C@zw;wNuW^[^]%F3MaFTm#N+RV3>ϯxWpBD‘6돛;ǎl0wfMɳO?si{;`TyR&*jUQs Z|P Dڎ{<7HP5)gq9c\LÖYTn"Uݰ?7.LQ,Rd&Pj}JҲ1'eדL1#&1,:̃uoޙsG;f6ߧO[*@(]7xIY=3u=]9f6'83qwg:dKom:#*MvdA;s{/p^e2dZ\xu]wd xBK>Pԡb2zHx kBdϟjj.jJT(hGA{S3vvs;sEX%ݸk.!z :8a@GtRhhY}Dl@拤JjV{k<R ՒӟHsL |?.pߟ'LOeT <կXghLQ ?GL6$b@H@8vB#<8c|K?9<g?{$ǨtBgc4!RF)?(Z 2K:Ò9V |DbabκixE|˲nt?~&F!qa#L"}]@%wn/ v͢2U K@ݵX혩 ꅐc0P*61=RgX:D?.jNbz0"E3R*0Rn0ZS$8bXobimrm;JIRy~3dҧVV>/<|O_%j{u8~f9=.9FwlN\iSvlKv. ˋ+b]2L KKhGhu@Hpc:JsU>ǗX~`X" (;Hy=sm<'_ MK`4:SV>V\aYjѦX=X$Qcҏm8?P*8Θ>dq~bbr +ӿyT0 ^t q?#1Q)ܲ8S8/OȽ?~?WL XZsߩx%^IK}ZK:$/MpřUC8mjBqj1P4KG(rq*Gc<'O{g ^ԩS8t=[1AN=Cɏyn棝w&P7xo.^)"3zmpIvw;ĝ Bv J c >~l#r>s_;Hqϵ׷h|*I=A Rȕ<nqxs E,Y4"9"6o=zap8' ՘G)t; ĦH0㈭tڻ4M-/pkAH/1c*nRDYr}bG;\C*MD1xPA])B &J)zo *(KLOϐ Il6 BBHmI5bjnb-G4 JɠF' g`&b|@`p0@뜙Y*q)odٺLy=DX'uV2j_#Klv8vk̭>ydb<1(WP(ؼWvv?q/NĄ! Y}@wq#pv A^B1=}n{SOT+`JfIRິZ-~?o0'l-R"p\<υ1,8ql)s`po7lAuZSܵzZ—4|h4q~ _OȻtmS,/bs/L'b4j߱׮mٯ{jz&`2Iyc0h4ZqHС%2s{1f%/(zn`=OOJmWfkhݝ5sʛzM0x< Cywfv%u /̳p`Z"3- wSOmڈزuscruJL̙ ´w~ٽcsovc$1Ln\1믽T~zJӱe L)^>|D" "\'_Sjs[;;ʥ:ǶAt(Ub%r0Aay<\8R\buth"2m+x7IS`tQ٥rQ#t 2reqFx%$a NN j5V޳:33W#%Bkomm9hر,+-;t7,+Z #%2S){TtD 눒o6"()px'R84])'r!cٖB$/n}Ӳ JliLD^3ͲqD V)٩S Ԡ)H#kN_2 `Av00 $I)ڵ^ǡ*S(ܪIENDB`ffDiaporama/src/ffDiaporama/img/favorite_menu.png0000777000175000001440000000651512275647241022355 0ustar dominiqueusersPNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIMEWюIDAT8˕OHTQ7ofSGLLK B3^ nkdI;-**4WAV-, A(JQI I0K 'QgFg͛y3^PI{9DUi1Jppfkn8o9n3ZJkdǥbQѶ'nNt'A9=""RV{!kpPB2)E̕QE9`@sUW|!cYjNg 2!\Ixq,TmC5HD`@L  7-yYQt[jUe@__eP["FFͷwH89lAJ{PXVAW{HmnG&-׻f\DK ~V,G 胈sqkӑM͇D6rPpA3 h08~ޒ;Vb`aICY؀.n@ikOӕeY9@k5g6 {FELvsYQEЂi2//Ψ)Oc7&% 䠢(ȲLE")@f<̤A_Ӯ=@jQ2@3ubk'y@}uIENDB`ffDiaporama/src/ffDiaporama/img/favorite_manage.png0000777000175000001440000000664212275647300022636 0ustar dominiqueusersPNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME/*IDAT8˕]HT w&IfƦܘt6 >H{zb-vYb6H, ǂLÏ)uqt;ssd 9j{~='g߷8Vٛcyb[UmkT,/uЙWį *?flo"sc~)~'[$k_^G}+G²BgJ>d$AB|F>ź7J׊:0<68LYS!5(͝w % ۂ"F]ꌟhc8␌CZ%U:ioCWJn)^bs/t+H2h&2,wv& ]m^>d d0D H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME/3ڷ*zIDAT8˕]Ha|72Z"Z ¨ @΋.*"¬.*ꪛ* KT$,3ŨpNݦmۅ(*-9?s37kň.KhsGp]yb.FFu\i:En>'>h8Qu6=1vpPt,7\HN"%I+ͳUVJ$90A˗ax+Q}ZGPptoaơ2PAT@JACCX g^?1*mʌFB~)Pt m"O&g*b-/rtz7'vQD œ FÛ@/+F$Qtw~VkL{ @81Ok_-+wtp־vWlVA@N|_jb /زV(`f4@(v+>2+)VWXYд"H oULn`MEsq{6Kђ@'%Ä8O!:Z{}STx#GP FޖnyNZ{D2t.3l/VsnFIENDB`ffDiaporama/src/ffDiaporama/img/favorite.png0000777000175000001440000000663712275647300021332 0ustar dominiqueusersPNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڌ[h\U}.9s2m&3& U4Cjmˠް4mE>j }QA R!4ڛоLIDmSM&dsC4a^ouT3 >}3p4>[,οx~T'>LO4+]*ֽz6x^-CD֯vd"dfly]Sk> o}UC;;}vcQG^>-/{Ol5uӪ-humө 򭟢S_(l"?9)7 ?۹bSXT*Yׁ2@thճx]`l:L#D <\RRjbCjfZX.ޝ:|O[nп.H8)q3|8|oYDkG x7=ұ^T br"Mx[;HǪ%o BƁdڗbq~-Wkw [?Rk拐)dkC.-5KcZݑsٶwwF[)Vzi_;{F*VLΎ&һ.? {A祏sS9'G(_ D?g&u) SWgW~2yX5nPbUMs']?Uo;H,J^]-FIENDB`ffDiaporama/src/ffDiaporama/img/exit.png0000777000175000001440000000750712275647256020473 0ustar dominiqueusersPNG  IHDRĴl; pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FbIDATxڤMlTU3SJA,DS] LH`EbX Ą(& bI I@ɂ%-RKi鴝vf|.LiJ==7y~?‹~.Ο_<pJ1foo߹%]SSbLr6W`̈9՜8+o߱C&FFU1Xc0!,qUaYw G묿󸈤\Ȼ_)a91-]0Ƙs\_cgXcxYTBaT%CjZZZ[kldMTJU[pc8F*1Z,"`-QP"2<8 av0@&7ozF*(B ({U{Б͒1%kX57#P σ*fE‰ K[ұa&T5c*4\C /_B'Os9:;IyN"A.,YB<`4 ɬ\I/0D}L{;7n?|O8:>D#Iմ-GH΃]AUT~tdž!ikI-]-z{)ߺIjzszY-ǓMT%YgIi&?yl ("|ɻw۲8|' !DE?N = @}hڴ#G"Fs9L`9k+RmmhDMF墋'Q^'xq#˗۶|*p3J_Ej=x|ӞҞ󈵸J짟P1R55;j'!`WWzKo'lY0n-_͍ ^P<%.F. ,UG4>Jbg2D$ Z?G=y&IENDB`ffDiaporama/src/ffDiaporama/img/editpaste.png0000777000175000001440000000206112275647255021471 0ustar dominiqueusersPNG  IHDRw=IDATH_U?~3;;鶊V+ٚ!$%ҵ ,—|))!PHA^k;i஻;=0z0/s=shvN~jɓ'֘j@KZ=;^hu̬i 7U7J>|!~is۽s9Bۂ^+zbAnnV7g~wd[+Wa_`)ڷbLavTp8v~gfp G|p 6L &y/NTpγT|;!VQ$uZԌ"UpR]u[XE%,QŐܮ@bD ۯsdLE$kDAD1#S0ƠN!1 1xhkk, 9ɼnTSTQS<J5/^YrߞKS'^zyTbԸs8v3t8.rdyѹfO'& < #i'G71pfdaxLٵ,#wGI\4jj~Jb1pq~oBny.=>`X abn!c%CH $NJz^q3OQnzDLa_3L2NQdBU6di-Ͷ_#Pchh<`.q"uUpu6C; ^Z*חK; 1BpvujX.W 7b8ST[|[|]>Ģo02sLyL bȬ*3dzx` hzި -,a2( z35*5ͦHbZC՗H*Luo53-Ws]OڍuTk[u ~4*4ҁ&W󅙫}a9S^^^57(IR~`ppu:!o+XSSsR++-!! ]S,m| PWWך0PEE3(0:: }} 9-B3,@O瓩ee !Ii>98wPS_Bp)kEvVUzh01MMEAV_RJ?\&ie ȫM7ߊY.hLҨZR[Ar} {*a`cL8Ueeeև^Ai)T٭99EnW,!$V mPjbE]U*YsVI3!nf P=waH՞fCA^e1G9-˰Bh>k%; i[DA<Yz|C!Fį,BVM+!q>==pKެ(J^A_f(pb4Fxw$|D1.KRxsff t㸡֮4 `*ҭ$cSZ1V1cB1n(`5pIENDB`ffDiaporama/src/ffDiaporama/img/editcopy.png0000777000175000001440000000142012275647257021327 0ustar dominiqueusersPNG  IHDRw=IDATHUMO@}NZޑ8?Gqo^8^Ďm) I&k{Hk9YyofQ"qeesa" c alnn~ oޛYT-7b?zs:( BOў7h{'OZIBQgGĵ& Ib-2@-jfA(MUpHeG/q:͸r2B;%Ⓧb|PnO=Լ X";(拐Zƈy`^9wSEcAz/aze> B2LbP$m0W 5-Tk׈е+w$s*{7 +Ŵv\-j݂@"Y @H2w֥7 T.r@5 `=u#_DsT#IENDB`ffDiaporama/src/ffDiaporama/img/defaultmap.png0000777000175000001440000002553012275647300021626 0ustar dominiqueusersPNG  IHDRZ?]RbKGD pHYs  tIME etEXtCommentCreated with GIMPW IDATxw|Uܕ{or3o;q)jbZjժ:PZ'8Q{dܑ=G+ H|}3>*LO `O'zG=? @$&ItDٽ#7+;%XCV'K\"UL~<.%fY)LG@I"I@xDBDBr)2I)Y/r|f(AU 7$'^BIS9qe$UrN(\ L%Lf&W*rMlm\$KHRNj&Phr?KV!I*$R ±t B:|k6lFT,zjvQι(p_ݬ0j>-Zb~I]M&C%l :̄HwI͜o8,# Y_۱9`dR ·_{Ts. P%41ݿKol^(d(Y~LPSP3(؝xn[ f#S&b̨&I>,}yI}>D #/&a&,)TLP2`|~|=˱mPl. A$T%"B O:Gn ID!>7ͮԭ@V0..º-c,λ#X7+n B// |lz- Ah7% O3Y]{R~(?ߧW-ӧG'T&4JZTXU"nI GVO@U"TG^R!Mz)\a*<nf{ghAFFB%i(kfT+ղRn[f0iQ,WVHzıqLgJ_ Tg|q~5;/|ꎿ/0zr)L-!-1-ϩ|tH*y;I=;Ik( 2,zK%:XU*`gJ\:,~* }D&JlLfQO`(n9^>b÷gP|0GoϢq9~? vW--?­o1Rp<*3:ӀyrS݃˩<xϼ]dd9@ D e͟+XvM&9<1U^TjNIFo`#XzJJ9}vs|j,2zn)E0k7󟾂K2Jzg9Q$tNXdx=:YSW䀖#ͩl_v%]@h]h?d1(/9ڿ_)W8v{m+?lJeٹs.b"J C K_G#gC(2DbsgWW(p?oY>UM7nį 2CQ | _SIEɔ7#oY7`8%ZƁ(nbPf(j0Zvp,eHbJ68,0?Tϧ|V׷oν|@on;T΅ί{O]$SAE&&^_M#$2ۊsI/?!y*evD\e$9`gm&λ0 =΢VM MHew*S8 NVY?ND}<~؇X52y( NĹpma*KkÿWU09F!vSJPH'0y|!uRO<4CMuQpXCdk8" I2jfNшb Nvc\d 4Zi_sp\0JFV:O_*Djbo\ɾ$<dȀ,ُ{#*9/($FΪWƶ+ŌFҷqΟ?h$, xE3sWA) 8YSzlnAA2,PJTaLZ`@IJ]$?JQ I2WL8"Ǹػ>Nd2lφ!PTlg-%D'_Ʋ^SJ> I| ~c3Ӯ+km$̘Loc%(5Ǣ {}&ѫ=SNݮsi:Csw("B@@@ J{v4Φ!|lQ+āLPLHQu߆c,5TS.+8X/;Se .#%Y͋O;~Nv9( Ԯ' m]&K60tN痊#̹ANIQ^X'v@'V19AV'a)7bMK!h񨀱SkFٰUm]zn/MDru>Ɋ jOg8~YI-Zs(#/?:1s^@tњ/i6q~L"7rH,z[Ń)1!)Fͨ38q2TGmp F3)XQoFO~|x`鶽8kx̽=#xIG낰D  㤱Graab5H&df`8A;͉$T IFY<#hxU6r iKiu 7>u5,)+\,duI"i;;}8u5!$s9D)G=xqq4aVx]BN:Ϩ.L$>ɏ1(3݄=LJ,~ٖ'rㆼf}7o;uC+|~">&xR;A5كmkCAx`Qq$x05|6#4 n`7O]OɚvL>eOGϐ#bUӜl8!:U "PrXߩ*/QP^rrhG |g`[{:p#RЄz~ob0 SjHݺ!iS 0W;;},~g㰚^~jx` E|LZmP5s^l[=!Y8 OaiS“/z~} .jY!H 1{9TY@l,\n Oj9ƽvf[̶n/ 1Ma~$AFae AFG `aB\Ԃz#{Jܝ̲.1FW? :G֐mK |}8b۴ǵؒdL΍HdUiWX~o(#S c)Y e 2&1hb53hwPKLtSk$QGXaCjSDD⧳x^z`e "7'V܂3Մ=&hZBǹ0zE/cv#K)#Qjz 9VKE&/V-e4VJﶶ PQHYMYQvOS}\=co`$%ݥ\8@P]em~4EDdn;)~Nphp|'ChIk9oY-mt7RSDy)~ǦwE"KŘ!>ӍF7QQ[uPi$2s+7L:{os.}BVl9,5'ba:_~Q'gt#^ f-Ż[V 8VCNrD_L/AxsNGF^xF=C]mH#/@>/d3UM1|8o2SYn䪫w * ex&vȏ-K>϶/{^- %:q 朑0LpavJA3?3%]w{&& ᰵaM YbHtTEi8DEuL-E05̒϶gE^ ĵ Odg^^J$褱-nO2Oax9+/1\M|똎TdK~ EjQ㶫0ɼŁ|`O;07EZ4O߉n|ZX]#({!|'[[Sħ5Ei믺 VQBߎs[#І7s'>,<3/4׫O_qj/BT;MbN,5ek`qQKNeި:tPD9 x)md'ʀEi^]JQon73wV[I+B˯gE6E B8Om]Y7;.'g&-&5w(VͦFu+,:mef"kc뢽[tڝZO~1[-}d?Sfo㢛wm >Nh]Qv䅛Y QzɌCw}^F6a˄f @aM6uK9uS|dp-9$ <68(Tmjyi>m+iC=34m*곰FuOmU^/p '^ tͦSw#Z B8V/Өa;e+uzR{W kbG6NݒF{h[:Dj-_<Ǟ9Wd / 7hql(L8WsT.YkOSSS>j@&؈§u5{ܟ] $*=mZ̅s&ow(-Owp:|qČ DI aKhU eՇ઴⨬:3 Q i0IC6RN~{I2(Bٴ.=EI7cM3n0"[Cė!Z@xOo\sE sV$lވ.¸nY #λINDFE6׷o ^Gl7*dIDOs;'('p^jj9*Z⑍"R|sUFFhw$QPK |Z]w`mӋܿ*2߯ }mZ6{IL#M6ޛ9InO!+\R*PvXFT(m݅"g1%3W9.NUUwϻՁQ,|k%M0:kگ?~Lv/d󗣹zמMx0,PZ#Wo'Co?HXI\>.w <j* 'K3Y}2ee>R '5hSvge_v IDATWo+g<^^ZŠct7SǠENuIKM֚ե:xcXUYm7DV7DZ$6.+=K=G#&%'5DxgDmM(˗fGH;"q86k@,yksDBr'eWЧoϽlͧ\{O=1I>ʻ`-5d?)WkZ+$ظ^ ~i ;eڏ)5ָ@@d2Eߗ] )$eh֛Zzlnrh[ ZB#\vOY$Ƹ7)O Rhmqy%^: Rmۙ^)0>6 CfFd(594ׇt(XC$sF c'I]]qڃ0qTVE`ّo&FkG5R7HK>@0 *7Ü%|LdG P[MӪFو_pц(fr-Lqbգ1/ cw,~eT3R'YHnWӍ-F֐3B A顮$?͸Ga.V?WxZ{Bt~4ԞT>_|9%gOc\^}lYrJf?Cr|Č m]Ǧui\AԍM6?Va.>N>|RPJGPl3bj>4ַ(=f+u7e]E*ưo WqvqA/{&Q#ߴ5k[9H~k w<|Afz~|縟y#⦡pO>ۋ!~e'<2FQBNe]z*[j5@ C)p6#/z$Hrk z[_ړg V桯0.MdUeϘZ/O\yPR#R$NfG$ B#g^B>g#+$ ~ü?w{>lNK. ;| fo|rYS5oy<}fXĬvAه.ʬ?<Ko$&Q껕0I@~(o&Һ$[p>ȒA'~l{ /ྗWrT{2 Hz.R4Q_-%$N/GwY>QTT$P>-ggz,3Moc{_$,c,zdFW7o)ho7䥹N+cΧQ JL{ \Oͤq?9;1eHͦ}r+(9aΈ#+15M㭿^>C Y4-{D 8ZϽ-_tN֖!#AkX[2uP*]Ѥ?x@m nR{0PfS\r#XF> DG5Z:W :sh,e?=j:b5NqE [qa5w`j#.3 DZK#%x_'y5۹ 2bL^My稩QLWlو}'!"Tߘv|~QwJF[M dӾ >?{ׅ!I"֜Lt30;sG.oI1#=*9BE~sGX}]QL`N}=;w#9>|z乳 SܴȾ{z, jWUsOsg7z^Uvczz,7>ޔx:e~4ZyNm|OoR/ Ι{'z=쉞`O'zt@HIENDB`ffDiaporama/src/ffDiaporama/img/db_update.png0000777000175000001440000000677012275647263021450 0ustar dominiqueusersPNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxDMh\eL&4if H;jqQ V;ѕ;-J$BђI6N27:s3M̽}q+tct:D$GTdJ^}px]U֭ٹVVW]Tk:9ZmZZ:;7mׅUyTY\\zr}@w&:z`ʝwRёkKkz@DPTIqytt ѓ{o `DvU*\!j6´ H) ưzWs4[MƞSp Z8[wt;HZ-)$Í2fC79slEMOOǟ/~X{(J4#|G&M_n8RǏCN `#Ʉo̽'"n ƙ:IENDB`ffDiaporama/src/ffDiaporama/img/db_status.png0000777000175000001440000000704112275647300021471 0ustar dominiqueusersPNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F=;wXDADP =z2x =J4 c "[7뭩2X1FB)"wH64-}Ae}v6l`Fk2Ԗ ^H4'8a6ʥbZ1QZsxsjMRmX,`Zyx΢/ҒjDPTk*Eչx"I,A^h(j@s*%\^hM:-;Z[[Ё!Dz]F T_z֨`އ(K\ |FNI|syR/ٹ٫/<}Bs:;;)<]WHG3D˂{}gZ*8vщOy8-fLϣW[sV@ݍFY&1] ~;TM&!e^|_v}CIENDB`ffDiaporama/src/ffDiaporama/img/db_remove.png0000777000175000001440000000675012275647301021452 0ustar dominiqueusersPNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxDOo[Ul'c;6R.B@H6J%, ]u@| v-R!'IB$s޽wX$1͙37^Zlψi-[g>O'XQ_[[GDIQ^Z0 Z~Fsg .촚OMYkiF=J4 c JǛK}NM~hcJ)(@9RbBmnn\:t.Wj>aFk28 APBDΞdqZ1QZ= 9$ T*x/Xb9u=zhch7#F#IRHj Camx!{mQ8Հ`XN`R:0ĽCzOe}ug^(4Ξ!,~= KĽCFGGr2;Q-t:nW̼R?VсXah$ٗfjMwk_ wՊyjuz=~ 毰6x酅~FQ}Z- ޢEgwث9z{{?t>3QësUQY˾2~Xi6>8]y˅BaY!ch:Z(ST!MꟻJD1`*˲ӷ.]#mZ{"Ҍ$C?}7ū t*IENDB`ffDiaporama/src/ffDiaporama/img/db_menu_big.png0000777000175000001440000000324512275647257021750 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME22IDATH}oT3ٳ׬?m JM&@"%Fr U޴RorҪzQ5iIbH (%䃀 f׻f93@p#^=9;3LLlk6Ohm6Aۖ!J >q 맾LCk>}B)R8>ODQ,zFkMRP(ho}eLM#̯yym?Hg hX(F"m@yMRhG{ n+Zc0`A !A(R,.p}|<׿e{իժh5 !bTX^46$p,fl߶c{oow0X]+)J4MTISxMMS)l*J-R4 Ѡju\7DP~gtԩwmL;pRFJ)m`!@Z`0Wc0Ơ 7D(J5J)H["D i |5â0h`1(h4 `d粳hòllBJR 6ڠFk>hΒK U=R4TF<<(ZC>ָ b+HT.kr]\7 8A@'$  pB.@`0뺴<ւc[ظiHdŲEJyŋlb:}lv5] B@ ?kg=˲R{T_L>+.ꍦ~okNʕwR7q"-$V XךMrŽb}|_X;w=ٱ1Zl߶-C;wj\]3'9·f9w}?{aʵ*udfۇ00\3/\e+LvPٷ~+d2fff(. `Eܶd*f2Y^H;@-Ƒرc,]v1qku][&y{db-73SVZ!r~4/EK .[/] nx'pEZ n(&{3.Z@@0P(zrR*l@ Dn"=oIv. [^- @\.:ɭ_:u=]-VT cFlIENDB`ffDiaporama/src/ffDiaporama/img/db_menu.png0000777000175000001440000000664412275647314021127 0ustar dominiqueusersPNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME .!HIDAT8uo[U?l'cǩ6DHBG*Pu`P`$V`(ATB:~.qÐ|?G"4k^ p9MӇEDgi:f]=uJ)ln""arZ2].0 QJ "Xkw:*cci}cCk-[qx t|֊K7>;VZ1jϞP (d>~xz!}z2Fk6(J"r؋$N'cL15J#&z=rIqZ8[wm |!ϡpi::3C&7A(mPz?v̝:p֫Cd [6hњrYb.{wi$e9RrAljk}2Gk#.SSSd2pVхG̿nӕ'PJ&:ЌDgֳ:mJƛo| _~5 ͥKj1O-A#"*x'g-߬^!7c4DQD8"Hm}}g񾠏~5f=DQD^?y#I,o\jv\.7fJBчY̍cڒ23Lr^kYLzIENDB`ffDiaporama/src/ffDiaporama/img/db_add.png0000777000175000001440000000676212275647300020707 0ustar dominiqueusersPNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F IDATxLoTe}wL;fڦe,ADB]9@;IXqFw.R ihhRmCcK;mѡ{b>9GTU\w9H$ZJ2l;Q]yO{DTٹwW*++l65"X8(4]]]ө;3Uۨ*27W..T O1,Z@+Å2'dDZAD@QmojEbxU׫^-1ck0";r@XuJUMX#"xZC:b84gH>ߙc-;9:.P7w ٳ'KQg_> cӎ㍟xcxll8v +ϣt$rJɤ1ՠFdpT*kˇ^TRBX$Ǘ?m>gHڢS(t[[[Sc=zOR 0~ޡng3{>xBu%zuzkߜ9q8gN& #_"BbZqHl0 r dllvkUR).ݸRz?"-=  ţ+~6f>'ι'__:svH_?'8L~8ɡ0G|5w)"GFF>+ [F+C8d]JUdkq0)"";l.y q)ʅW/m&ݝq׾+:| mIENDB`ffDiaporama/src/ffDiaporama/img/db.png0000777000175000001440000000674112275647301020075 0ustar dominiqueusersPNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxLMoU{$mR.@T"A,P$ĂBIJ ]bV"X!QI˪hhv3;9y_} "NU8~BDt6ݎdæӧNrB&"r:j7&e>J)Dk-}N{e{.I=sY3ck-;A8 pdxwZ!_z N+_~6X0FS DP[[lxz/NV=bFk29 B*8!7>-ac 0FF);R'4%}rIAXk֒)6uåm G F*qDZ%=6(}` M`"NyiFkea0H)&О!0|M\Z# 5N :]e<էIFpbH&᧟7hmnn4(hoɍ" ZeDQtm [[O>~eyy#uP[^}Axa48Bnkv07ϵ[/rp/P*8:je}nnnX,^Z@Wgd 0$ڒ2 2Ll0IENDB`ffDiaporama/src/ffDiaporama/img/contents.png0000777000175000001440000000177012275647260021346 0ustar dominiqueusersPNG  IHDRw=IDATHMLG]7"NHPH6PJ ( N8cOHzT*s*jHD8r &;?=`\GzȡHew{ov2.x_tzF3zA1ɹ'O|F0.H䯭RWT~L[[ӧݢZr#䓮ÇY;112T#jA`*)fye,bh* jA7&ϛ/lF[!V'gϸtc=vΞ=H)QJJX[ֆP!ioD"1 S֍M$r\X4B6#Ls9w puM3@X 7꯵FJE*d:Z! 濵DFCP8\}D"A64Xl6Kjl/ ,8n%2 wڂ3gΠFKt=ܞm &t͞| xl6؇cJM]TXXXn67)RJ%YZkfnE}l=kM:~_<`zzȉGxa㣱TF888hHkMWW(H_Vjma6X,hTwvvNGGxLPJK`xdd2P.rLR~E7HD9avTXXu]؎mA eU)_+pAxy ka2Km@aZK)TJ {mŋoM4e'IENDB`ffDiaporama/src/ffDiaporama/img/config_menu.png0000777000175000001440000000134412275647260021777 0ustar dominiqueusersPNG  IHDRabKGD pHYs  tIME :t'qIDAT8cL`ڿo>3%3wE ˠHK?yΝ;300cr…'O?k3*"BBܹk 9X }ӗϟ//-yP[]CW~._doػw+/^y6ȍWmZ.&V.Uϝʕk2s`ݳKCBqoشy^هDX0\tcWUM <*/,^e ^yۻ8eeHwɋT3./0߄ DPKbighi;{h)n!Mn|'9׬A]e $]ZuϽ5h4&%j׈>V@(itm((Z8wVX8C`E.%kxje//ϟ7v|NHdl 77gL2HO-cKJfܩKO;X"mii)5?PcgfFnvd #΄Q7l)驧Syw&.Y6 MHKK#щ ω1 7<3{>߮>IUUTVp_(D" ,'f͙CM{Uv2]|~O/IN8fst; ɓuFy^Aa^ )cR˛(n2r0,8njk;',hg9BF"-[J!^oʢExl=^vyֿkc+{uw~ xXgT]t?\*.1&"k[ -)i])Lp-b u}:vTn7uYHF#gao_ P`5:{Re\ :D[Ӿ3̅خ,NHO\jSgDo`OI_u"X(~<=lC:%3yq6n{'tW%%y7۷c.*bQE,?rdN[睍Y|XwӔԟ>0rr*YU[QREٙwI@[hl1i~zhe9[8 TeessnFPUӭc<׍yLD}mI OG(Dr^nԕ47q+ h]Hδ'S'dZRHL_{ u>6-qIO(DCi) :&IWK$_];*96}k.0~2!^{A,v vFϟ ]vK*eg ]iik1My$ͽ꘸XOyK\ 1w Hna!ః;MJ~) H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FC4%LEZ1;yj!xvXJL5GŸpe7UN愷]o_\|b~$?Njct>}i) (՟~G ,cL־x#R5pPwCK&CΩcPiޑ\qJ^פ֟?sЅۼ ?73&^c^t \ H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڌkLW,PZ0K/D` [ n-t37lED̶aN>,~ZT,ٌɾ(Bb1`X#R b[!OrrN#(³f)`ŧEsTWWVWWiZV50OQm6ۧQ.Ԝ4f^P$A"Q@>Q'!;p?V5PYYXVpF,C˓+++'ڢ$I60\=|؋qpmIKMMY(++K:~PL}}=nN"F Ż)xFuuuo^eYz){%v"''梍"BMs?n^mIJNl= KkfOc8Nv;MM~=wϔ, /KNFmbU pq:L&iiA GJ`[BgP"pd->@!$$l, JgUTT d_b,c||\\4;D.\DL}r,xnIn$^_}Yj:`G!ɜL{uZZfVԡjSh±feb0Ģի&u5 hTƒ?--q $$atxѱq 2ccDhw=(ݳјh*ijr#!f3IIIn֭/**QFE/;Ts ^'*Vcl|XD|>?w\.Z:@JJhTTn`Xz7-G[]]$IFXMFhmi&..nLfGtʕsTќp8p{<&n&nZ`dŋ^I6])mll].׎bтleeewO @d:u6]9} q.$ӟ3xIENDB`ffDiaporama/src/ffDiaporama/img/color.png0000777000175000001440000000277012275647255020634 0ustar dominiqueusersPNG  IHDRw=IDATH}luǿ m]ncvRGwqj'zo]? "2vGnnҿpF԰?֌v3E0:-ZLOwonEFpu >}%҃R?l}sdL4 Lqx2@1 ҭ"\s+ O-vDQւ|`{Sfen9pu?{8((VVZmx(ׅ6.PgT5* g]Xy~S*y݉2\}א\-/o4_BZnj 8#TZ/cq1\Q1M\M]tRjv`P1@JQX!+P(NO_8/w Ìa:IVeBSUPBA0@i붥~WnWW|Rm0b(g0T:vTSS~HДnDW D# ۀ0T}0&Rw^SO=REDe6I}i6&-ؚJ(\sO}o*9O4jnN^軬`:fetC54*z=_ i" <E:ZsxtYi -"47be`phq5׼+_DlIENDB`ffDiaporama/src/ffDiaporama/img/ccbysa.png0000777000175000001440000000124012275647256020752 0ustar dominiqueusersPNG  IHDRPgAMAOX2tEXtSoftwareAdobe ImageReadyqe<2IDATxb`a?R|aٴYbϮ3(//zԩVq q W^V㇏ܷxe”xqvmff6 ‚¡X<| aaa\`pܼqsڍ@O<|<}/]d={VYYi@ō]\\]5 EK?0Тpaϟ>d@[dgg'П޽{@;S50c@q4$led._IAAA`=90JJJ@񴴴PXuϟ?Y{ùh EKan -o@cR,@?+**f͚89'ĪMV{ 9 m!!!$9sFQYK_XQauI)mx }]ϟ>>m111ren:a`hb)޾}R H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FkIDATxڤۋMq?k޳9GSͳq)I)"%S1_^2a6ًY}ߒKEI,QTs^kwozėvÒEd%fJGC=۷{~@q0,G?!R 6ʝkkOZLxUVHEyJ<% غ~wmŽm1 գj@.*#s s̴tHAY.rqM8cI2 o6."rS @kxL0Kl{d7v~sJBخ!_#ĬCsŞ4LEvh[ xeU/aMBre,ISM1ڕPYjHg t{i ._O!xusKIi*$RʾV(;Pw:lP3V fNt?=A  2@& AB7Τd2+LS! GO#Hunl8bҢ~'aנEebv#Wym︎!Vg Mǘ{Žh4 ;͓S~ZSF1ֈuއji:Z{yd5s ]0AU۔3D03NenҠ Y:nuÜ-ٸ sBK `yh} N0qJQ' 1%NOb1<&i+L(7F/0\f =0M c— ^ `TCTеV+OZ'ԠC9CeRBQIENDB`ffDiaporama/src/ffDiaporama/img/arrow_left.png0000777000175000001440000000203712275647300021645 0ustar dominiqueusersPNG  IHDRw=IDATHnUUksZn[ҖHMCB@L$A1)#'N/0 (> &j$hik8gwpν-F}_Cv2dGuALM14A R?!x|pgD8j ܝ#4Ƃ7;Dיԯ> SsOVXHF:^떫zՓr&!nRwp$ڴ6 ҏѸ_9/{k"G;M?=7]Z\XI|\d`?͝\kOl$'{/K[Z~v0*ZO*($*ecmJD}hÂz%dBLĠ"8OJ$)>Ï `!0#(L@aT;^ [m-Ml)<^ڙO٧]k orӝMc`~{۟k<3ijj*xb,qLCNf#E3ĦXVb(Nì>aJ9EsnMB H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F"IDATxڔKTa{SC%Sr ڴhSPQA)h"[ ShA(b:8w>- Ph9爪r>_,KjSH:[tÿ>3 f4jՊ6Xc.ibP[n6|'LŪRCø':hLTPkqgա|c@,hIoUIO",$hkظ\x٦Z|=FԹiW_0"!j`RҕiQUsҩWkY ٭&ީ$ ]vk;Eae1FGG|>ib p`š!O8f``00qPx<4MRlR \ :iLMM177: P>,"Nvmaaa4Mn˲dY^^Ʋ,4MxppQ4oX$ϓdyqKX'NQYUU, Wul&Y4 ۶D" ^gBЩJidY_}e˲rwP< 9׋eYiV}jeo[B?zE\.S*.5s\s`p}އ{qܷO.ʫ?^6[zln|mB4W+mw"0H;?Z:>x @JU@6~W ?-d;Ds[aA@]^{+"fv߉7d1+4+cKB aNkB<}w_b[hE9,bR$\ x?M#-eqwnnhbG6p<(Ufѡ4&kw !5ѣ꧱P]ڐB6XT h@DGp%t]R~*- t]hC{4'9yLN^I{"@lӗZ!˱o)&{ 8o]uݗL&ud2y5 zt IENDB`ffDiaporama/src/ffDiaporama/img/add_project.png0000777000175000001440000000140612275647262021765 0ustar dominiqueusersPNG  IHDRw=sRGBbKGD pHYs  tIME1 `IDATHǵKUAǿsW̲ !p$ZE,[ bwF /}^L^ǁsΜϜs{zzpny0;6H)B8ѣ5Fc DT9X"R D"mb! !N8CU1z)`Yv1}Zf)mXe#R8)]Z M)}46&#@7OjFW*"˵]\<ՊާJT۞\wRtSm;u OE`#mnVW'秐=5.ljz\ w1272/}t&WWxe-wq:`'l|+|><opjq7) [+)dԶe4 njA6P80?~G@:,h[-Ha+؞ɧg_}<P1 J)}%3.+t^=x{ג0==+}{v׀fZx&'&8@*0ǽyg_PJԩf:+nJ$NM;L#  Era1qIENDB`ffDiaporama/src/ffDiaporama/img/add_image.png0000777000175000001440000000332612275647307021404 0ustar dominiqueusersPNG  IHDRw=sRGBbKGD pHYs  tIMEhWVIDATHǭ[]w>{KΙ32k&I'IlƶcR!*"}ŀłRZ*Z(b%j23$Lf&99sCڊ"z[|o-XPc#'&&ӟ6 !D<=4;96:F=@l{e! 17?W8 LȁloWzbpojzݏLN]ddb^,m7ԫ2͖ dg'|+_s u[XՓV&i6mj&-o<K ,%iEܖEHF0k>gWg~"Յ:g}KBȂ,I(a!@H BHRԄ{{}Om[%;3 )@  ! !R RJ 56tON%:;vtKql2ŽRȇ*@H@8@J%{BG U`P&˗*yrݐtU!B 7(L -BJEȑG#zz.ܾwFrvnѝr6H%Q0UIu.JH)PR!$d PοW;:u,vݵR_xZ(A!t9s^\ 0;(=o?S?}=S'$`q~n? M4lXD6^| 팑˫x%tƕK\7y}ɑÇ,k||G;{+O|C# --`@i"J6sOpgyD/8GzČ$lR$5@<q /hIdz=ERo@J`G^b6V%<3q 22w:SX,v"I-yC!X*Di9v=:#$DaЬ_;'L `uBeMIuOcG=74<|j s7(jEjXI"ƒ!NDb !aTl2E!FFR>|5^D:T{rl"9z>r0LxK\FHA@ڤڪ,h*u>u(޷`YJ~A'Lc݅|};?yFe 06ahC: \5}ã aKfɻEyB"f:cVQj5!Z+Vx!O S.չ~*B(lV07r^L IaQmayM]7B m?F "?8Mȭo"ssk4^˻Ṳ~nSO81hi4C x^!0dy;()8[vxKOo2CGG_~/~4 J6m6A!N`Jyw,S3x˶D?]fԹ<ĉ(~~ƫyƗп,R1k.PxօW {;w8IENDB`ffDiaporama/src/ffDiaporama/img/add_cliparttext.png0000777000175000001440000000202212275647277022663 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs B(xtIME  .2X"IDATHUMHcW=y1%IMc03+kZn"ųAH@#E,DP$PI@ L_b̏~]tH5tS(={=6oA"x_8Z*++˲"d6MW=5L$}F/yv8vvvn4ĩa`` [eFFFN]..kwg) ^ ?ܜs#NX%B`/GGGQ__.Ȳ\vok3 RT{Ael@HTƃU|SaT1ؖAՖ> !`v_R>\^^|(njnn&I`0EY}.#1&ZMl$I K\0,[˲X,z/--X,T( Φ˕xHӑ($"tedmh  &mmm4UTT70suprrj5KyPSSe;v~?SbmWU忉Op1Y/ &f*ԒLG{`C!Փ?%:~4ހ^-! G#hlD}Q.KեզŤ'YqWS=tHYs䲭= :B#$&8pL8 ?,QOѪsg/=poL;A.KJ4Ovj/1b tMIK[ؑbx Wj"o!M`2t\}̩\?P<OJqv=vYobf$RWqjyxQ2{K§Y_+5K RwH9]doi:R6dI?IENDB`ffDiaporama/src/ffDiaporama/img/action_edit.png0000777000175000001440000000202112275647263021764 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME*5ŦIDATHǭoLeǿw,58Eh`L|e sb^bo|᢯d7- f&&JK+ vfJV6zߵ]P]r'yy# S+ONSsI3MZ^8O~Y X RBU8b2#rֱF>u@xC;::n!q1ܙ' Xr E4r ORϿta =,2<$k>ZK}iNϐl6 Y+$I&}~kA, 쭥HR=r AS b YQAҲ~JSE =HΕE%TY;Y5sϬE,"" 1arheSإ)1z,&o?ȥPW'P1n`Na2x%1é4ڷiz컵kz'jgj[Wѳ޻g#|¯ tnyi} mM=\iI04~#A#̞@ %ibۺGY,RUU %/!of͇WEmش,VJt ?L˲_˧qW^gI@pHK"H96ҕC:8CCxv(U7낦ҚFȵO1]Q§s,Fś{akw<4Jn<,Rm.rPJG#n(3Y8NI;gׄœ//g(|NLZuy}ʆW?} H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 1 JIDATHǕ_LT9sf`A`Eg+6j41&H6‹^46zEslLĘX7mTdX-?F@fa`f9s^,v}s> 8qmF-,tv!]t)7xurdRʷeRJ'`, BWO[Ku}򈔲&4e+,{!GRʇ`0T@ P HJ8WzB|Bl`#0<חwW&P?\C!E!uMn9^UUn ! k}0ߟPuvv,@1;~ŋ3(XŮ\tvvJ)K)877qpM88ve`LJy' ~RnR@Vxtڵ!s)㕹\C' μfQccWUտ55/--jeOŢ#of;2;߮ohpRD~{7O*O18y$tNONNzMܟZ\(S/X92ۤ'E\]CP:NHxMN&I!D(EmOQBﴍG1 SAsR)ع!߆lM\FTJR 0P^^qZPCpk3E136*S"6POb8={n24&''JKK㚦%@ 04M69\H,8r ̏ P.] m}+s @:.:a&''K+u`` [UUܙپ[,^ȑUx7R}u6=XFɞ #'6 H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME *>d@IDATHǽO[ǿ{6<1!clL UQThED΢nˢXYD.RU.J !H˯}=.TɨJ~7,9?ߗ{qӲ ! !Żw?|Y]]a BD!! @ tlf4 ! L9٪$ !l)d2pAq |fR<3ZXX'tz  BEyt:҂;B[mbx*jmllpbNj;wTU&''Iӑ;ڽ{ꪪd2zBMH$b|܃_ !!,//a!/F)(>z7o$m l6}tt:,\*J<>5mTRqvZn7CV}YD򋋑TJfGmaaT!BZ5!p\ U>[]&o702C#" %geYVw7yG2<(]|YB p2ƠjUU;XlYVʴW<__twQ+KScN;4;;۸~aqq1v@ Nj]^^v躾ѵ]tf~~<~S P?G [p&+Ws`8h&M$#ZmK1~kL}y?$hS !0q ߥ;gf'OST4!f:D"csɤw~ q/~?`[CS,Ư;@'p%UͦAI䤉D󥥥ᥥkΩ4[ 2^ BNMS€`~!x]+BGB2R88y lu7 (kFp+,pnC&.$rl'''@ UŐEUUxv[uLR.z'<LN`^Y`kCmGh4 ˲Fm۾ZT۷oDjn,s~#װaH0Bi []$M6lA 2\.4ҒNիWv;td((ITr:C1hӰ ۸~9,fs`04HdRJyeq]|hݒ\Մ0ML 0&)jD,01Ei(J`Z<>ʅ VlL;  Ce1qc6jrr3-*! xO>F~hbfz,Ro T͎hܲ,^[GGGV~{{;gFǍ2IӴ<9ν=lllǍJRu8Q֭[:<OZj=S3˙g?iHrJ6IENDB`ffDiaporama/src/ffDiaporama/img/Visible_KO.png0000777000175000001440000001047012275647256021501 0ustar dominiqueusersPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 0:=vjIDATHǽolSoP'Ɛ 8FT* JuedѦIӤMX5+&`-Ѝ%$FHĉcv\۹w}弟=Gy1ݻ7/JuF B>z᣽ݤj @1 |avC2u%0$`B|-3$ إz;`^mpAqYqs8(ꁧɺ' TWWN!!~/%%IR. !>J`+QӴFG/\Fg6oLбcǒmmm庮;Ѭ/8O>=AuuTWWbx^en;}`wwΝ;~7o[O?Yk===$]lYN[ccco v6gd2bcUUioP߲=AZQΝ]\A~~u!Z[[Kf-L/o_=V!8{eH5 ~7@Ӵ`Xdma}9wtD.).>x>bݻwTU||+q H-)Sx)Q(0ʌ[<7^}k'' bXly Zil1&s8Ba;Ah!Ϊ*e1%qMZwwhnnn V].5558Nv;-[ ^6@$ڲ̬h6ݺuҮ]"%Z8n߿?$N};)/FH-R (.su/`bbb,8h4B8 Er_ijjzt:QEQtvv  /$SwMFcF___~:. 麞鼼aXD"Qv)Ft(0B8-l:o|!^fe9*UVV~ ˲f͚5\Dm#32GXgF^b65E4~zOeeeǏHwQKJJeff*~Cєe>9X \Z׮"4&TȲc:asLytt0LFf$lL$FGIamE9qRd~TX@}g$) %) H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 4 oIDATHǍylUΔQ(DE"Q ѪD\\ DWBSWт(P@W_)ケǝ5dfΛ{o#V4^mzBڌe7^Á$ŅԾ4O WꪥK MϠjT+iIGkdOlcn^?@`{#pT)2Ǎ#1(" PAAՃ Κ¥7&"A1#  4$9m*9OċO$D!BOa 2OU 0w$uGqϜϛiZc ՠf Vaٹ%TU[_&P~F)!QD'߲yA:",]9u9[>@;!PT2WL TF~tVUDU%?4mmcLA||M8(NK+"`BEm &-kwƥnRP:uR1{W]MlY2Ш/ `| kA]rM$R (!;ğ᪃R1@AJ<{p?DAC8gi&C"@Bψ_!""L!]Eϒ$wDreÞ yH ]DAPD1xW9-sFЖ4vd&(ye91 @*_oiCU.7p= 흍4(((]6IENDB`ffDiaporama/src/ffDiaporama/img/VideoMask_162x216.png0000777000175000001440000000653512275647257022416 0ustar dominiqueusersPNG  IHDRhK8bKGD pHYs  tIMEltEXtCommentCreated with GIMPW IDATxo33kgĻ#CAAVHd7( *j47A? CPq4EIPK)TMHER \ .*hH]'xٵ{^[ݵw4{yiN{@`}1s5=WE߁-:nbQ;kersIb!qZkl\\֬Qvii}80A]mFq>VUUIR<2Ba ض0 zri&Lӄyyu/J+X^jQ۶?z@I'm_ 4mʕ+/X8G.]:EQQWU5N[aYV].z{{8'SSS*w*<֭[sƍV7~:Իqm۶ ~w|Ċګ s]>/_b^!o\. @#TUtag8~ojj*Ͷm6433X.^r)Uqe2@@D"/q^m{c\m{0Μ9#$ѣhooq_93Uo.۶v]4O2M>mUqίtWxEp'Jȑ#oNW{OCNsŷw_U6I`)hH\cl*;UQVɾxGQZ~ȅo$b܈BP.Kɳ\:C3Y'DM:fm34goHS}ߪ?`.Z.uݻ266Vs눊4kSNLLL$w)ru)-[|'Kc$:زe˃|@z)s޽RU0P}Ը4$R vLT*lilv²'O<|>=N9XoT*=<ƍ QE3 Tj { Db@ӴgKU¶fkq6 fggVUd2V*jٙ23R S,]UOO233cMӞI$鹹r%;TU}X,^;vYsLE"^PxHUɤQnU#/ iC`aXQ2u}?}P(m~T*MKp_?'D"b#:W}LqG\׽}| uD.\؛H$ RDEQF3fcahi@`}1s5=WE߁-:nbQ;s B+]1k QmV na8 *MnXӴnM6y(k4p9 d˥jir.Ԙ+VE$ A`A [{u~EQY`mmmJ6m۟^|8|!DOOO ˲9?JRb+WDZ\(JD"d>GTq>|MQoo\X,F(@uttt]]]E%ǙL&:777R(]%(:;;nY։bJpEPT*̤H.:;;Ek~/oppp`nnB`TG yA,HB.?,?pNJګ ʹkX,Ȓkzz??gggy0 ۸q'''utt|hY>`)t`~~\.e t) ϟqimrܱt:iId2\m5??6ϿqΟ?/Ճ(gk_+`Hj߾}oRj?,dwzs/_ݻ366vS٩JUE<(ln@7DV6("]VPnӋ!X\LQ+nķsT+͢cu=4}AZxxmM0::*MGY|-WIZZ"̓O>TETG*HR=#ルӧOOj||*ƶeY{|߯kM4pǎݮ]R4ѣGN5M{ڲG T*{bΝkKougbQQXa]a^Y'N<6 iwpt0A4:wϞ=t/Jn0~aƝ2Md2yضiU.~nnA41L*3bqeY۶0m`͞WBܹs#e0ͳiyq>|,ljWU5>{쨮a ,!j̅0 ees),lTu @pܹgU1Wh :s Mثo6 gclJyUue%o06 cPӴ۶aTO.Mӄi*M$!rIK0l6{Vy00p8?K8眆illpǏS^8rXRnP0VVVKc_jBasssFq4Mrrwi~ 8p`ŋuEQ>6MS)eٶeYVUays:u5˲ڶ-\OR6,DQkYs޽ ˲>u wk/AD?!6'K;]E":볲 wT!dW|#ItF/<2JoT-J6zQHA)lѴܭ b? >^rS_Ӄ > D}PϱXl|a9vʱc{ćAm-C&W>vb̔ߟIRsssoWi$[Ƙ+d2_XX.w-^*]Vh7Hu6:TyOoYp;c)h4OëW>ñA19X| @,Xb @, Xb  X@,b  @,Xb @, Xb  X@,b  @,Xb @, Xb  X@,b  @,Xb @, Xb @, Xb  X@,b  @,Xb @, Xb  X@,b  @,Xb @, Xb  X@,s IDvjr@>?[c@ c*XצoQPӴ))^դ~D4McDTjKRJ{scP($"MѾuL-"R֍\O1Fxt]_NRO=4m4L474ٶ-x|0e'O-..eyy9ύ܌HӴjzwqqecǎ-[&+T: fTضK{]۾Z*۶]Y,I)7<< 6(Wm۶zQ/J7lȈ144T'R57ٯ<U%M{N8V:J7*7>|E7ЦTP1}X:1 ( V*R|9b )dAzMEo3vZ).:,!496Z }(D4 8my{˜rGX?233ڷoTѣ'|\vP8H$BL&.,,4pMRh6>sV1FDB=x`kll?ley0S{;=݂)HFѢA.\>zt$9ѳX߫;?w"Jyz~VscA]i6t:ٳP8n3Vc3aP(d2WfftCUQh"@1#֦f8dWUl6{Vɻc3p8a*krr}!D2u<6U,9#m&sΜ\&"M`"PHpXvhZr 0K?+[Wyu诘5 .&7PqLj(̢R_R/eYZ)UsJ)y8Ο]~nY˲F,˺R5ǓRR__۶}+Nӫq36M󭥥%Z33Soo/vvvFw5 XuJ)7xP>J?|$/utt|877wCNRo-//֚kYk8_)si4?וRuf:+ҹ\]]]wFJ$rQJȷɓk'ϗI.q| }!FD+_KDhrrPŏ[ǃ>]y-zBl5Xy" !_7v# !_KyD01ӽTV6G4 ԯJ|/gM։/y&NjrkƸKdҲmM|D,<d7h7bX֚}U|](d/ `R BCJ1)^>]"a40 RJeցc,yQSQp1KtꍫK4ta+YJ/:s|v+_^XszMSKFj{  @0`C0`  @0` @0`!@0`` @0 @0` @0`C0J @0 @0` @0``  @0` @0`C0`  @0 @0`!@0`tuH96mSԒ+%߅_!_ MuȫCŬadV&"RRjrr9* 3H)iW&a 3 RYu 9"0R[VQBw^rO=+>LkT͛1 öm1Qc̲E](j RollѶy0<ž3??Ϯ뺵33뮮7fffng^\\l- .மTGGǍ{}݌P~L&Y^^6Z˶'|玌,۶BK`v]q:]>&|D"f?QJl\(L&K4Qo``࿙LBr0}6Rl6x<~]Wdssg>O]{hBk "=TxBAu]y-zC' 8OD!Ʈoɻ})rh/^|'^F@PљhywȆ Qe&&^aO7"Xt lpGDdMNNjzzndt"jvA:<={vI)3CD"qĉAUD⪔2@Փ'O *ŋ{uf{LD[__?X_7or:D"I)w޴ҌFdr;e_7gggZ?k\qAg7M"nT>p^i|5W*hWz꒼:G|N0,_%au9 ދknaua[{)jf ^d& }IENDB`ffDiaporama/src/ffDiaporama/img/Transform.png0000777000175000001440000000264112275647257021470 0ustar dominiqueusersPNG  IHDRw=hIDATHYlTU眻;]fDvFlQ(/_Ԁ&Dc1%. &q&*4H`ki;[9>(BQ_R }ǟxw,IT^| AZ brVg6MMrE׸\" EQFٔ9HQض}{q WW,xȿ>7lX@B)\B )!iuKP =၁WEؾSExMEEGB" C%KfB3t  B*SgX!)%9> { whttH ]@!@.YpѿGpαrJ~ 4]b#NZ}cfz9:C1T QEI7chj^MU108LSSaqfQ*W?+.8~8x|  [w`:Vi´,H)Q,+Z:te$MxoxWzPŋ)A(k ÿV+KoKa:;;YLss."a-B1J)b:bk0M ۇP~t!wrZ;'R4chm@2@ PJaZ&\7wў={^~^{.RJ$@J@{{&E {7R^pv{_Dw.UV#ASs kxxc.|7GPk[HI-[|H$nbp##BۋP155L ,Da ,8iju]CB,B<ibL R9HXؿVL۶h7rcWR<999}Ӎ7y'$q7㚮隢( TR yAh4\.?*cIENDB`ffDiaporama/src/ffDiaporama/img/TimelineShots.png0000777000175000001440000000303012275647257022275 0ustar dominiqueusersPNG  IHDRw=IDATHklٛ]&@H )R.UDP#zKT %R j4 IF\ZR¥u b\`].;3;gfNٺKIgEJr (@8 8u[V 044ȍl)%ukk#>`C~@? 3[!NH$6l[ꋛ +ik#EAhhh`hh .ŽNfΚ!PWB{ﺛ*gz.ǫ~C --OQ/h455|v:&)n|z3P0(+VSq{4䉓xUv[x<'}Iq/Ⴧ6LER !-ac| o|GɍR[ l @Ӭ UQU6/rj86x\?zΛG6ќNq9.>n;%QA3鄂O$X,JjNᶦ2@˩@}#j*3Ї5!~կ} g=>\P(@1@kx=tMKW(͜_"c4|_ٵ>ݽ=/IqQ| `h =#dӕCf3i(UXz7/W>B**| Xr,D G"dC~ Hߚ162L._ L aRR\p,S}1@X"Q(XqѱNM|/p!2Ka -,aa AQs-ȪYD撻ѱu JǾgּ{7Μ1 ./{J!jjBX"uY|2RI۲_ouzii];WxMc|tpK- ֆ%nm<1:6jNHO411띝;~:_|GOʒKihlի8)-0arCǎ MkEQnޛ /_v۷d{{D2td[Jcc\2TKK)FfD(6 ܱ`ZdQ}}}iL&iyMlxroBKRӛ.\M^ɖr3Xr[ULW8,ZV_ovIENDB`ffDiaporama/src/ffDiaporama/img/TimelineBlocks.png0000777000175000001440000000167712275647256022430 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME 'wLIDATHǽKh\e߽߼'EhccQBDD Th|l4]I|4RD;E)B uJ0"$L43y;3ozs~?.偶D~S%dns|qfS~4}w}g[-^[)9֩ό? .XF 8U0@ъjUx?"54a(W)E)1LNR.`PB&M0籮b o-[8a:oCH Jy/ޏuܒBѱJt+vvA~K9 @k%2t7q:(I9IYʎa [bPExˇׂKgj<(;ch V&&/'@^?Ƕϐ.\M%2 @c qRɕ|V Y+ɹɹrX֜Z `drPJv=?\+JdNpi<]?5B$}tCIENDB`ffDiaporama/src/ffDiaporama/img/TextStyle.png0000777000175000001440000000711612275647306021457 0ustar dominiqueusersPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME IDATHUKKkW#ۊʭ#!:PAA"PJ;upN:@\(\[JmX[j)Z 1BR8v';bQk'tgoo}km{F5Ƙo~J4巜Ͽ899ѧD=!"۞Dd262|h\.W7Y88H&ciqtt$Php ukBmuuؘyTUqmmn/ }&B +9iauz<+TUt^Ӵׇf\.)"<~CXZZnoo/$PD|>Oay<4榪zPRdƧTyM[[[F"V, !8888x~ڦi~1Ƃ RA!O`4M} t:m @yee{,.r_#j2 ;|LDzJRQUUW%; +~٭ dj_Bs"B.Ӄ`ZvΛוRohh|ND ?dh4J ujaa8fP ڝq, mR)[ m׳ɲ-Y]?^ŞkpΝT*ۑֵ^d~nnn溮a]Q+pն R???81ltt4dm>Sd<;;$Fs˲NH=*-YHMZu)[+ qnN3IENDB`ffDiaporama/src/ffDiaporama/img/SortByNumber.png0000777000175000001440000000131512275647256022104 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME "##ZIDATH핱kTAwI BiM * )R6EH (B gu6? (5ф"xݱxw]49}7;3_ gqc   4`6lUs˅+wؿq{ē$} 15Xcpr8{\§/ #5Qo$iYixn_l5qb W/aKC:IR։q!"8,\BE]Dlll^ ˱s j5'{1c!X,R*X^^:$SSSO>$֣jBF-5#Ն)T*"w2Ri 7 0(=MOOEz[DzVn 7#fF* w@$dA50U;1˯n{փf~tLJ29)9Wk4T1*ks}z ?a)u\w|3QByc2|N 9`Gɉ^!Ĩճ2i$TϿ7)KVjPU666qg01( 6l6d~~TH߬sOj%7PUO*\^40FtuwDN^̎"Ȉ(rLp_ ȱ;a"wp#&>:W|HVtXZ#`;t:xJtS'80ǃPd4_twRJA}L&j*rH DU.fխ5 3^eQAE%8E,pL t{&{󇏟IɲCM4M>UsJY).9jV'5mciل`IENDB`ffDiaporama/src/ffDiaporama/img/SortByDate.png0000777000175000001440000000222412275647314021524 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME %h?!IDATHKlTU{iy:PQڂ yih hbh"Q]AEuC --a(Ԛ`ǹ縘TZcyrsw}!~h4|. *ʧ!ٳ4\s*n&oRp1siZ~#grRo]ܪ9?شmum; fͬ@cNΜw7nbG@vxy@▵Ćd4Юb h#hTǎS<[q4!D& @:֭L,۸u(~C"d`"~5F Bϖ>r ^4_&O %LP #e t\šH;_cAD Bd GIdVQAلItD舴:N@gwDڙ(rv5>;}^JK'S6%V>h+F^!͖m(RJ8}3@AulfTUL ;"Xy(+/I`uYhTVNK a2SHjͥ_شhg[3M1P^^Ngל>{3O]%͒H/Yjjjjx!0`EkdcKtww~z{p wRYYJ(D|:.f K,8.A@o:.zd Z)Nrh׾Zؼl6Pk wsG<=uMr&N?o-hYfVIENDB`ffDiaporama/src/ffDiaporama/img/Smartphone.png0000777000175000001440000000235112275647307021627 0ustar dominiqueusersPNG  IHDRw=IDATHˏWU=3vzq "0 a$A2dMda/@YdbCvf,[i;~tWwݺ=@1@U1T#M=)+ /^{|ۯ0༣<rΜ>ʨ8O(;fuwرc; ~SO9u4;gytG~:{vb]๣Gٸw߯ivUH{Pk)۔s_a'*-B gWÇD#K. i)2aܴ(a0o~:ʡ/zok).JFfի}Vi>dp.p=WSoIENDB`ffDiaporama/src/ffDiaporama/img/SmallGreen.png0000777000175000001440000000061012275647257021540 0ustar dominiqueusersPNG  IHDR Vu\sRGBbKGD pHYs  tIME#ܱStEXtCommentCreated with GIMPWIDAT(ϕ1nPDڮl7%C *? }p|1gSXRV3Y UEDsx>c?Xƚ|Bز>՘ 5OWAU.y بK;B +^o jb y$!YӞ[KC+D񸻻xrIbIENDB`ffDiaporama/src/ffDiaporama/img/Shadow.png0000777000175000001440000000260112275647314020730 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME 8GIDATHǥV]hWdLĺ&EDD E JۇR[,,Am)i$!lK`4fwM'Lf̽uRy=;!v[$BP$ v !֦aBw7[2ᓧNzo```G4Rr\޺ukqnnJ:^z%#G\partt8!a0 8?sǏ󅅅_^VrWg~<11,˾bq9B@9c޿C6-OOOJ~~!'>l6cpCBGT$A$Ȳ 0pر/|߿w^I就EA$A$4 d2ܼy1pAA^ǹs~WF#)@,{,Ba L&@)8jBZ Bp8u[`Y7*f`-x,+ ~:9GWW666`۶[]oooG @*J@^FTU}?a681H&( ζ뭳&!3UUeY~{{{`/k4xJ2SJBH(|F?4Ϳ溮ZVZ__뗅ƮI^?xosj5W(~+?2BJOi#heyB[,kݲ.y70IENDB`ffDiaporama/src/ffDiaporama/img/ScrollY.png0000777000175000001440000000062412275647263021100 0ustar dominiqueusersPNG  IHDRw=bKGD pHYsodtIME  B!IDATH͔JP( R[Zpt"͹MRp)dp@fq8ơ)Aȷ|BL u]|h?,vjL؋aq i&2Q\zT5oY"Zora|r} 5j4N;,ͺx|~+\SΝvy[nWk?4?4jl =3 ]5׃N8za 'IфPZ^IIENDB`ffDiaporama/src/ffDiaporama/img/ScrollX.png0000777000175000001440000000063412275647314021075 0ustar dominiqueusersPNG  IHDRw=bKGD pHYsodtIME )IDATH=j@lF\ p Q+1 *KA[]jCHBMl".B~4)6H6)gm:TL9,HhV+7Bi]DXY6490!f3ʲʲ:G HJIRJ"'~1`\i F@IG\/n19iZ{]a@EE`5XY6 Psdm=G]kSxC2ɧ3vV?9}xNJdKaj1_xF  IENDB`ffDiaporama/src/ffDiaporama/img/SaveAsMenu.png0000777000175000001440000000242612275647301021513 0ustar dominiqueusersPNG  IHDRw=bKGDC pHYs  tIME4 4TwIDATHǝoUU{rE"%6"bK}%jtk`2фCcX` TZnIBK_MsspnBd׷[Q֧ٓK׮yjݵ+A* ӷnhnn)8WWo] ڲ5,IͿHiæ- .@yL L B ("X@x/@!!bG5e@=o"y8( HC] n\r"ťl؁j s$Zcff'Osf=}û Z% b=sQڸ48=6>[G9@BADpBl!ZnO$*y퍷%V&ҹE-ADj2l:2({{|$ӷ}UK^9Ԓ\_R֬]:=9Bssj~ZA&nFߠq2$޹sRӓә.JZjzJdZ} Ѿ9;wpmd2>qTH$Ɏ)c!PjA).69D>tvlkg###8~d0 |Tq804Ej4o|O/w.{am8FΜ9×_͹9"لA.ek&vH|CGڵQ^yE*֚Uz)6IЬ[@lyw0OM,!xRlg-ZƤ`)_?QJZK[jc8IsZB  f߾= ^ȑ>x ZD8Tfzx }}ZV<uCB HyGEDQ\c0pҭ{ 2`hp%uK ק7nؠv Tt:U[|^Gڲi換K[6cMkBp}6JkTb%W?ũSH D޿˖f]]/\@?{FivϿ,@t3#G)^XTx{z hy*wP@8U0ZR|BͶf6h9?OeV7_q}Q`YKKH<[g@,@Ldry,za᫘* D%B~Max^-Xz1JxQ`WLץK 0"Bگ5q+5>8 n"GXWqZ%\\?c!Zz^0y Wٲx[|߳SUA{ձ1ܻw m`PJ;KdmP[پ}Q28ղ8'O޾hFg4B/FÀjSwFבW"zf1Y1\K{7@Od|}źgYYALμI8Z3JA9^O%p]|ۦdۈRUp Q:56\.'S)y'IENDB`ffDiaporama/src/ffDiaporama/img/RotateY.png0000777000175000001440000000113612275647256021101 0ustar dominiqueusersPNG  IHDRw=bKGD pHYsodtIME IxtIDATHǵAKQ49 *P,l< `7?A"A=yDsm=='- ^K٘{=4̛R)yjy#J%,Fl6u  Odo7G>:B*pHONЙ bLw}F&ރ)jp]osx__m 9&[߮WYhC.;E.;5ѧI>OBm)=tEiZZºhe?HUX3 aA 鵧>L$tzȀJ K٤%"IENDB`ffDiaporama/src/ffDiaporama/img/Refresh.png0000777000175000001440000000724212275647301021103 0ustar dominiqueusersPNG  IHDRĴl; OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIMEFiIDAT8˵OlEƿy3:vݤud$—[H4BK UHE*rR N#D O zM"8Q,T*mi+GwkwC(ny};Oy)pA886؟wrFq(iځuuY:^w]w @0 |+fff lKid#@ŋʶ8i"u)JX5MJr'n_z٫R7ϣ9:jj"*q6+J޿˂ X pҲ׻ϿFR|1V-wMA?uS"*&l{} @'677ϵ'8% AZ8vX&{8[_RʕE066X, J/_ТRPlhZ0 ? Ji)nApzoG"0,"%R&Yw?rxڶa) cv(@Dj\$Np1&+NaznBjjU 4ͬD49qe:y8Nsޭxgggih $>8O M5UYIENDB`ffDiaporama/src/ffDiaporama/img/Radius.png0000777000175000001440000000072712275647314020741 0ustar dominiqueusersPNG  IHDRw= pHYs  tIME (/D MtEXtCommentCreated with GIMPWQIDATHՖ@kH.%-|()V),R"-6Y7?=p | ̹3Lo"H""[DT YxtހEOqQiZuu]kYFQ c2h+@0Ԣ(QEa:Ȫ́yo܀y` h8ve`heO,s} vfwZg+n ]W< #PU>it/To^#p5Sk[kv㸓`$dd=hA| @\^CƲ:CIENDB`ffDiaporama/src/ffDiaporama/img/PrjProperties.png0000777000175000001440000000641712275647256022331 0ustar dominiqueusersPNG  IHDRw= pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F*IDATxڬn0V6@8OPV!ud )s.(Zt4"{I@(p$iz;\sHߗ{<Yw~ \9{]Lᜣ( xJ Qa:o%X 5I;lá2~! U% 91#$IoմgAÚF#elwKE^ͽ$e+UB@$h=@5Ћ-1:|8?n4h [[}JXCъOӣohucu2`M~ $D}AA96LSDq&ϿR]#6"̢`79H"rhGt>\|]0cPNSUk-y˭'/h6C'|css}-0Q𥓽Q56,=r [ \_]-% 6NA jes75KhIENDB`ffDiaporama/src/ffDiaporama/img/PosStart.png0000777000175000001440000000031212275647257021265 0ustar dominiqueusersPNG  IHDRasRGBbKGD pHYs..FtIME $>JIDAT8c`0brZkBQ0j,s|'h !c'Di 0 HBRR'IF[bLno+*hq{9g=:IENDB`ffDiaporama/src/ffDiaporama/img/PosSize_X.png0000777000175000001440000000043012275647300021357 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME2+tEXtCommentCreated with GIMPWIDATHձ @F 64P,JrL 0Kx&* wk"`MViBci,$H0C<7I;N異~~¾;p#pHZqnϺ%- V+#IENDB`ffDiaporama/src/ffDiaporama/img/PosSize_Width.png0000777000175000001440000000050012275647300022225 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME&`tEXtCommentCreated with GIMPWIDATH핱 DL@钒cx# p hݽF8I?C: BHRKdVU.kq_~SY {ά|)AׁsF.=)Qh('A }W1$Ax|7i$^/v a3*,:*Z[,\;EdIENDB`ffDiaporama/src/ffDiaporama/img/PosSize_Height.png0000777000175000001440000000052212275647257022375 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME  GgtEXtCommentCreated with GIMPWIDATHU1 (y%ϰ7YВrXKY \a ;  s :PUQ&tA`q α9åk8}DZ%8ߣˁ`"<Իv???'qPX|y2u~zcD- 8[\!IENDB`ffDiaporama/src/ffDiaporama/img/PosEnd.png0000777000175000001440000000033212275647307020674 0ustar dominiqueusersPNG  IHDRasRGBbKGD pHYs..FtIME "#bZIDAT8c`0 h9K}Ꙩ#+W+d````p1=, @WT[{aԀ` )I&. *)KqIENDB`ffDiaporama/src/ffDiaporama/img/Opensource.png0000777000175000001440000000333612275647314021633 0ustar dominiqueusersPNG  IHDR& ~d bKGD pHYsodtIME t45kIDATXõX]l[g~ǩ&iuqUqM?C0UBӰMCii7H;Ґ`$v:6 R.FK`Ij$M8c;^.xbu{gsޟy2 D^T/-JD4Myrh8 94 1iV)ăZv #nBUջBBwV"&2 5B&0+еSw̷d"F,mb ev!]{^^D 2iςuCmۮ 2ˁmLY}VTluWۣr l۞aRn_Gf$LPJ/Cv~f| M ?>('"n*@!S~#0B0p;u>MY/;`-ھ{G?9P5p@KO;*˥CF0PH/ñF."Z G Vbd,@-P(7j6S$=@/63݈ 8(4T0 enepWoŠ{̦3Vz6 wJ\_ɥ|q2:T]yo NrZt- 7J]!W 95==7o=٫ u7wgck8c[]Tjk7dʊ\=!SֽS֯8|8P9"QOn!wv `3 ?tqB%y f^ͯ;J^nܕ\նZ);n77#A^DD!idW4 ԯ=䝊E&`;G]p.WMT1BCеA)Y Ȕ[19jm+ ͹GNA˻h3G15f|^P viZΗrB"|ϡ0 >`b㡡C=G͊-hV╵kyWq |1 2oWjOt3#| oLBx5B2ioJl^4rS˸>bU~YWs[8 z`- lά4:ߔw ]:HDbtوȒL![ł]:P…LY_oL&ȌK xksv̝ɀ4dǮ;3ybw}OGvd@8\^| ܙ P!ˌM@BѮ}Ka ʋohd0tj E9.K0`Z,ה6ǫ$cַKk#g2uAm+0>,d:5Yɗrg>U8+S֣X=?3NF++v͙s;2i'.<W֮( _bsvٱ/p Ng0Y$0a1z!S &Fdc89-+LZoMdS>uQR+nrU<"Bt$1۬$GPӗ-~w;%L6kv;ʉIENDB`ffDiaporama/src/ffDiaporama/img/Lossless.png0000777000175000001440000000060412275647241021312 0ustar dominiqueusersPNG  IHDRw=sRGBbKGD pHYs  tIME [tEXtCommentCreated with GIMPWIDATHUA0 s*^xUo4$i6M'4%3/zȏb&V!fnV>NJ*UeS똃xmQ_%D֭{Kkx=/lxʻ,)h?EP\.S.@ eD `>KBl~%Q6rq"/؎Z"D#FhMFa8 lE짒U-x,v]SJI("@2B "8#cٴi{}y}TIENDB`ffDiaporama/src/ffDiaporama/img/Internet.png0000777000175000001440000000310712275647270021276 0ustar dominiqueusersPNG  IHDRw=IDATHeklof/.k|0m_(. RF*jB#@5!@B88JJ J@15$zsc]ᕎfy3 "ᘣMPr-O;S`j5ŬRT|w{[߫r;iG/x<{<#DUר=l~&?/-P뿚j:i)(ò.7/X+c<hȆV;37VzqVn2W]K ;. "[#f5>ЭczzB@ TE'Ӟ$t F Ƃ8&H*8IENDB`ffDiaporama/src/ffDiaporama/img/Image_File.png0000777000175000001440000000720412275647255021474 0ustar dominiqueusersPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 4õ:IDATHϏU?Uv! f w%HBcHƄOML7ɓG/&F$\G4ȮeXaggz3 \E\^=3<Ӛ7p{8Z)BD]tcG _U5Zy瘞+~ A?t~bv䣝Jy毝T6L$#ñRlk%$Bb+ cֆ}Fz뫀 a" leB́J͂~߫FI|HX?1%ӧOyaߡ"+~{נ?JY>q쮼$xfvyoEcOG`͖e{'ʈu;;IENDB`ffDiaporama/src/ffDiaporama/img/Green.png0000777000175000001440000000064412275647240020546 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME 3/}zƸtEXtCommentCreated with GIMPW IDATH-PX֬4B4R!QQ*&_AJGH-|_H%4+H/1AjR!9N]*7 H"bZ`y'1 h e%vz=:zUm~ Z|ho!!€V veƘ&A[Ȕ2HGJ2mXPtu4-t֚ǎj M!K҂DV# A4Q22X,[A 7\^8F"gr6t|WhC!W--0ؕ'o zؙ2ԷсNRzzx_Pvk7fdtCm:3g. PP4߲nۃ89*<[ X8w|{<5!x<زeV ^.+RDQ(\D*Rp:^6FcIe; v*+_(q= i ,ƭV\*: T^[o%8zfm{Ь7Э߽Ov2ƋG033C?b@>uRLftm/rqؼ׭ҙ&&s}!;oOOh4,ᑄu("ci g/։kϑJ}wg?`dY{Qʢg 6mBkͦ= dI7iM+Ǚ_Vbƭ^B^-߱\9;'OsגdjmlhO&[rɧ}&b.}0-vSPYfp͍ϟ5&9o|J䁄_YE^2)^p5V1a3.n$E'ba.PqG-k7 Ҿ|yo31-~jQ1J]v˖mN<剛N來29?sR6+ޜ,TW'*,~dz[>f8r>N./+wƮ^~!u٬㢸0-87Ff7^͜3ŵ~}=96UÝ83o7>nqu[;tqq梸pP%aj7g+恡{vܑjxB(3`2t Ksu,K_,+Z^ +cN'c:DJF#HӔx-Ou_S+W mذe)D n1u O[YWRJtwgZ+ΤҾ!kɩsIiej.Kl֊ Zᶚ8GuX*U*n5ulhoIENDB`ffDiaporama/src/ffDiaporama/img/Geometry_Lock.png0000777000175000001440000000143612275647256022260 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME 7 G*rIDATHU]HSa~al;;ڦGfsE ] !(Q.v;)Ќ ~̛ %".2b*nja -vs6ξJŸ.|{{A0<@+ɤGrYJb1^ᇭ[9S^M qTcAu}s>Jbf+E&Y'x(B1}:S&+83W#lk;!TQNdD",eB 8r9:;;qMIVa~>Å޷z:fZLDkM\}|G;Ϙy6n|2W0UnbFj6;P!p(%(.qX[C+N5`#<£b+%ɖ!ij>s|)`(]6ͼɺ ֎pl9Lofe |h.ܖ!R +y(tn.Ҋzd3>x&n+xal%oqye{_wY'z{{y- ~`/[#&;rl\x˫? /[<-Z+aZ6 &3s(;2j„VhIENDB`ffDiaporama/src/ffDiaporama/img/Geometry.png0000777000175000001440000000071712275647300021277 0ustar dominiqueusersPNG  IHDRw=bKGDC pHYs  tIME  $tEXtCommentCreated with GIMPW7IDATHݕ@)L  vvro\3 :Z4X0W(;\q,,3۶l.\h! L4י_{=>jk=5h)8Gp1fqPee(0@:g~_<1C  1oO^a2f3ph4ɟne"ݮ$A8Ba|l5n\"P*ꦑ)zVYDN'Ip<0 `sz|6x~NhIENDB`ffDiaporama/src/ffDiaporama/img/FolderOpen.png0000777000175000001440000000044012275647240021535 0ustar dominiqueusersPNG  IHDRasRGBbKGDOP"< pHYs  tIME  :ǫdtEXtCommentCreated with GIMPW{IDAT8 D2lBrBB X/z*'d3df cVՓGd:o[U"ۨ^dP}Tc:<#|?A u].ofc RA$s}o!E:IENDB`ffDiaporama/src/ffDiaporama/img/FolderMask_200.png0000777000175000001440000002044412275647307022122 0ustar dominiqueusersPNG  IHDRXbKGD pHYs  tIME") IDATx}ɒ,Gv9cM^M )B&d&fZZ;-RЂ qA62ӎb4,dֲ)݀0PUeF"&9ބǬ|uBP( BP>,X8ˣ/Mҳso Dl^?!l}!2x?km=.h^G^#~->߿WI\=P~-{ 4%>Y` p5 B])^`˶JE@^'` ["-q;o>{B|0Sq07 L=6O~Y_#J٤FE/{ Q{ R0Wˍ<>:mw_3\=^N @`S#sYB⅙;T7E ϑ5Ddؑ5yG,/?/6c89Bohr ۇY䀅KavחG kt<f+iAC(ABrDeۧzE 8#@7FjH& cX" bs z-s`x~or 0 NK0 D+.lz/sO4yc!θ!U`O=" 6ɩ}r5 a@&~Z8b˘͂E2/i~R%k'GL6IU ulۇgGh5NO@XGp<.ooH~6͐P4]@y)JdBteb[ǫD/fe:X 24 =W+޽p?{ݧg` A$q~ e-870lNv51pw]--ROQ[xpAO?_~>GVᛪZ }]`ס21$"p;ѓ%NZ"BnZG<9^3o[/6ÃΛ Yդ 'o?_S\RyAbnr7d vq ,9Oﬥ DCSRYMHE^4vL~._~W' ՛!RI˓yђOS1"0+k I®bnVbk./Ƹh&fg>`%+&"|{m޿ه:K\^%r) z a= >#MY/ƛ[<6IsR A682k?LSb[A*7ֿ{?\$'`q2z0˵V4F1'H2t1W˘:uGITGzI~]c}x"csK.Uҭb5JRF|} _ZԆ>!K`Y?kI.J9 i"!֧K,6 4rg -llR8cK-iAl8M.kYtӰÅ]wE= z G1Dr\mzX(}vigEDYoVswrtʹ {I $Xb u C|73%=%GK.\s U^ύWX7XX\3~BZ$&m׍u!b2W-b/_O"BPۧjdd@XvI@h`u="#n<!As 2Yj |S\ƖNnq1U.+"1ǏN!tS.^'!XwLh.RW3Q|}jE Rea N H!)C\,i x'HDbј(oxg y &Rhz/`ySXӴzgd`g{H걿X)9^Xd8A.)>O.X A|~?EAϗ RYu4 ld`lvm^wPdX99?a ZH*HI.21wE;Xs,ҽF@t VOjRzy A`WR5JDz< Wf u);)}jRmt 3?6" 92!yyOH ڵAz)F˵O#uGM0b`\$;utSHŃ i2{2ƋC''z35n5F_8 u~KﰻN&(НGOɬN7~LpX-  -[@KAjQDKx+$܆ߠ+;ݒ+HBb*;OMAbSnt۴Vuf5H1Ac}r?fxA3"'<oۮם4Q(fOdBbAڮH}Q(Oa㦮ٜ~+ӓD1$#|R6w)Cb}6P̅ d6Kt0-H| I69)HQ雓ӲXYM>n{o(H%$b !٦T13IWa 5Q̋ R )љ @RO.bF" ѿ+U>/"I OB Y) kADDg " )JRjҜ ( <h]lm& >W@;*fDLA|ڵx a Ҵ"2D1~0ۂ(-& LJsO$it cZ%i%yI.VIED$)pfI}DqT,R .jz_ Yb 8rIZIxDڮ9ڨt:9{^2ڑFuLI%c^kH6/[]i[{+#Y![6)ĭt#a#`bUyo\+pG,Ù4o ݃v%)om&:$gc`c,lMʤ>)ѽ T(f8@t8W3JqljlOuy\-K:VDUͧ:v),fC:"a} ><^aOEb[?Qr'5y{_PtM4,wCp3fu]βrK})7=>ŷv3og\lN#7[YRWEʶUn|eOW^ hCľ)o¢_Ƥk#dT!|B>=Go /\l:=V RUnA ,ON؜0^ <%HMb\Z囘^js~e 5 c ްo16HVWI(0+9u ƺݫ =k0UyWE?tTz]@W^WٸXla-M(+Oc^~Y2I&YyZy ,-`ⶉH^LU*FY6i kKyEU˷*uB-oWHPQDEʢM?R/ePIEu+SN(f izpC18GIA+4ͫ@-=A7mZXP@@ZxV7RnQ$Q&z˙du mHZ9Irt<0ߖE* f '7Б$"htD$w3r ȍkUA3eit"R(AFz4ZM*fb&}` `bUJui^Ō`YI.VX1ۇ+s|i7Ab,V1כQ ² 4a\"E;ӢDb617P v $] e&RLt|@Aw6a DSH})bki5#2Rk'p$`QCtŜ!AGLI@D1G yhESlȐhN]3b~൚W13">1qQJ(CAցx]Q"Œ2eLA4Q9)&AC17LV.IWSAB ?=j^%b`QP!7QiDITE>T;7ܠԤPퟣ%I,Ou&1b1 7q#RkŜBk9WXջ[q;_ 7[QH4?Je5t)3hVNd +])}oz#1aҺmSJ%$A )kĨ,>Cb(& eho ~8C2Rà/5KrܱP:y#ӿ%AUif )Dp5/Š=.O"9rP {Eu,LPLv4G\Tx̴C V Hj  '=])@2xL{dU`]ph{=";J Lþ );e*HqEUGki_*'4,A K.: bN ;JT`)^eݤ;cZu)R~\M}gug(~wGfXX`2t0hW'eL|R’߹Ҍ@Pk[(r{=v|{:SOX%HaƢ0&0O:B\ؖ8(c TVJ/K[I*RSXSR3UM@K7 GD)7Ɣ*W/-<[1ù f Xٷdl;2zue띃zɅ] mY7肩VdZH$CB {Sԓ|՜={_%U&To2v $Pj:b`LWIjsDѳˬzdć+q?M(In*f4.NW|ӃhAғ#Y XG rV][NDGŜ]B9h&YM Ũӱbg 1QRUv4^Q^P+HoCK"UcJ9.g{,e<؀ɀaUeGtr#:-GW2M~Vb"i"f0d@F ӛx(^D&$!,H&]46sHd9܊;hf>4=A0~޼u wAFCf˚NK;fATR(3*5yՋWWo:24c;K7zw ꡸q$(9w mRKK1h P,`[;*BˑC],XS{b!@QP(SbY%BcCI;nցA y>J38,Cqȡռ E5YA E`PcŝQ(tD Pr }Y,ytŝ" KNަPF?z]' ZkwE "ۣ,QQ6r5mݏr0;•Dռ@ IP9Hϕ){ "$R"[{ B"1 %PQ)LVX$!yX$ z C "*b-%˘Y QI#ם$zRӼyJ'D1{7rM's'"ZjM}b]ؒYE? "{Gui^GH6AbUYN'>H:P>tB ž hIDAT-~ gW"k d"ԃW{ _ |/?3v~}ws>?W'ݿO:S>]"V,-q) ۢP(&![IENDB`ffDiaporama/src/ffDiaporama/img/EditText.png0000777000175000001440000000206612275647313021241 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME \IDATHǭML\Uͤ@fHZDJ1 A` Pv°(mW.6ƈmFǀ6af|cipʇ'9ys~n޹ٛ>Rʶ橬Ȉ B*($kXsuWQQib~(1@qxTJ=n\PS:mNiM`p^Tչ <@￵r" !<@?pϦmmmr#e`Dr gFvw;;˳ G__@~(B\GrE(.7h%jkk"NY0z_IENDB`ffDiaporama/src/ffDiaporama/img/EditMovie.png0000777000175000001440000000324012275647263021373 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME 6,/]-IDATHkPTsݳeMEPDA!ZbSi3m1mLǤL;4#2$7R# r)pq`ޯs0%f&{|_!,=JT <( (@B$85m582Y;w|.6pEQ F:0ݰ,DBJЯ0sn`42m-hh `{X,vyf?-$_|C?2I֒|l.Y!ש(vS&g?L_R=x6eur1밠&UJqcai(n~y;lv r]']U`vžGIBτ—xkXNeeiQ拧!w3crJ<70X:!2Lz fWBL$]0JZ6!J$XBck ަ3psym{)GV>G<@? > oz+7^;|b#$H"x4= ®o_~LDAD磢zf:QgVd:㫴=o%E: Y_ X:R78kqc|R4pߚ3X2 AߊMA cJk_II ΅V=Â6l.ބ:TWn>Z=!;n TxqN%N֖UKTbG?5@}eaƞm }0UMd 3$< 'L@Vn G9kwo"^""toCd^Z45=p_H貨ddC# J@R2FNȰ&P(&s_@9l)z%X H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 0QOhIDATHoLU?<}>.`ԋJ ekj-67ڲzњV2fEٜ8+f/h҈"L( \+\yӋ+ ֦]W9hll콓⁜;<mgg/PD.  )T)BhR3G/6Q ' E2@J H!4)-gaLB3$qAzU*W̉$P(%R)J4bbaY 皋H%Pn5D4T )@+%#YJ@J}J: t \Kwb%tLᢄFIf^EDoLUkeu ӵ/;(Qp'kAMMf0>}P$55AU.vM_-PjnM{ ̠kemǽE͇i ēOpK@@_)y6fI6G8O ˀAbSvNݞOS?&|>q;JyyVqjUUU /xɷj~]Oe$Yan"IENDB`ffDiaporama/src/ffDiaporama/img/EditGMaps.png0000777000175000001440000000340012275647257021324 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME "|nIDATHu[o\W={1;N☤iRIRHi1jIUMR EH AETq$$TB*mZT$j$PUIcrt{\'!>͌3{^%\>H5yf7&m ZirpPhV(@)@K{ 7k%93kalQ1\4" kEXFHsXop$ThIrtۓW94!IMҐh܍XFh:=cf}1[HѓN֮f 9no\"xnum j\Y|Y,D 4MoLdq*k[<8H6׀Y F_c-Z*EJ׋^ @̉әRp BjP?Wъ+79(gh-+ԕ ځ5`("& ﮏ*9NUP,zkA7,mp zHDdj(UXrX`k`/ c cd,oHiLyo'& 2+-ܘ\f-b4&#!ֆX 16H ?,F0F }uZDaHP{qfr̈́Jds&Qlk'[#"$" A !R%X2$܇%5eavk;~* ""rZRݴgvS3U $@%5*{y3_ܩ`m40s X􇸘cr7.=LCc/ J|[dMB^ztdm:Lsj⮇" VP:X΃%FPx;|hjZbgZQr\V|F__v2gQrU]fjs㈬2Kepq!) NL1|mP.=s/&و6׿O2{fg-"Zu|L SL/vvtBwkj8Z&hz ̩c{j[m ȹWhO8B 8soO R 5uuc,szث_eO@ ϲXc_:m cu ZK ;=W "c(GǶS,9y$=C?y.܌SZ6x=+¿Bd,Se*JhQJfqO|IENDB`ffDiaporama/src/ffDiaporama/img/Distance.png0000777000175000001440000000171012275647270021236 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME 1h+UIDATH핱K+Y3Ơ XDU  X(V"vBD,ӼBB6vYR]AcɬI&f2sgg<} 0;ss^o@Tj?45ybtt4;77 H$I]_ɲeY\%uW(4BtޙeYeYnjV5M5MӽpWWW( wwwE,ƒ$1/ɲ$IDQBm 3Rqz{{uFѕk2DQPױm;+h6xB@<gzzڏiJ%lFQ8DQ6]M6MuiZh9D1EAUU^^^0 ۶?T8Cksxt]zNR\.Ni6\^^299I,hP*xzzT*Q.jAVCu] %j4T**777`YۄaVVVH$y<( 躎8q4M* 2gggdY*leH&i666HRhP!e}4MTUUTUrjvwwY[[##[[[T*QUcea6f]?kkgfff۶@e8Ÿp||,$O2d}} xxLL&db!D6 4M#355եw댌;5,,,t%B۲yn)^Hէ۟+jTU= .W_B-~N+V0 IENDB`ffDiaporama/src/ffDiaporama/img/DISPLAY_WEB.png0000777000175000001440000000144312275647277021320 0ustar dominiqueusersPNG  IHDRw=IDATHoU?޳cJIJUҪrC(rÙw↸ 'AJ4m7"7q}3qFvV}}}bfcϿ4i4T50b8NQ*13(Pxzjn)YY$"YT,E%|w9B\򣧼wmV7Piso˲ȻFIJcܸ6ۋ  ÀnҥwƸ^l؏(2o  1cu}WB|='[{N/}RR9 pP~˔g7TUEP*z20뼳bbĖs\~(K#%GKsj޵jm(""XH/F!0 , g_|~i_13u}̲_}f>LLI/`mTIENDB`ffDiaporama/src/ffDiaporama/img/DISPLAY_JUKEBOX.png0000777000175000001440000000162112275647257022006 0ustar dominiqueusersPNG  IHDRw=XIDATHoE?#8*R  8) $"JpwD qNHJƠ4B:8qT vk㰎I*HyyovpM_`?/KA'={+t#PJթ^+Ѥ D Y;ċj'Kcv@ACGAGVi8ZD >ma!L.{"/Q>!tPJElvÓz71~nF取Ito3R(sF/բX畽 LBO"4IQ׉K=]'7(ujL: L ,jlll -gDzmqq7^xoSJiuuW3\.ϾEN1=HtE,KIfߙX"Sc4;Jr81 ] ;m7WVXI؉{O SS$LOH$ r|WT8P-U{JBVw!9vzVXt͙S*AKgx 1W.FަB*D6F33314IR;r8d2NQjji0XquI[5ƨrW{1x/#=6I&PJai% !Dmi" e;W>nzwED!tӷ;W0Xc\:o31Ǝ\A]o*WvTSIENDB`ffDiaporama/src/ffDiaporama/img/DISPLAY_DATA.png0000777000175000001440000000135112275647257021410 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME kKvIDATHjAE)"^|w{ L I0! bW3af3Y^_UWwUO-՛;;8S X!`B2f!sE﭂sJml 3Qy[v>0aK>鴹sf``,}issqTPT+i,lyk}}jm1"o` fEf+`*px\A$|vF}hui&''3azjz}2߅~8n=ВX|ե7:W@TQ02SFQut>L 0*aze9}7B H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME%#{GJIDATH}{lef3mC K[n",FR/(^Ͳ@61k`]pFcnT$@P j (ePzv:Muti}dGH;SW=_Ԅcǹ8ٙ&&(%d%g?^eM3X>X &>VM<㥦cF^uu-D^ȧO\CͿvEț3AclAX畓mިkլ4oz &xO{:=wTqt <>.9l>J/e +nK} NaGٝwqtpbJ&fy_~Mse>l86xbLt†8}1JKؽjMS;On=N^E@/xAyPUplcMn2${cؠJU Q@ Ơ"_RP'~ .ȸ1e!pL.y',D(Pq Qt,uypq/2r/B"@FƸ4ZWׯ<Ϗ0BXYv_')Sd1 #F[|oVz9UP:bGAn ¢ƒ=@u܀:xWr7}$$v2I_<δӘ=N9Mπ#ʱ1_:\NEikov&O 4}r ` }lnu hXXA5~]WG+S+]wb'bʤ|&c\ L|+czˈϮ[Ϻ?WDf RXXHV0`(g⟝.0P "4utֹn^?_)e4?xBC46~֭[ 2ډ1w@,V.奋g!9r=e($D]7MS 8⸮x_my<<}pAܘH_oX@Fƨx߀/dc g[@8;_חAgg'm&WVUU.㆗)O:"  ߐ_sFͭj m d'p%NHuP|Ri#jk/ H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME1i0IDAT8˭oTEƟwΜ9_%B0@4.XL3k21A c \@$X"KKnv?vi{Ιy8-x 73߼ϛ̼xxIzi n<["V5[Rru}L@L H ӇNg$v\!` Xг  ""A .$t;s 'vw<"m+" m(6v ZA$DP&Ғ#' A$uAgVВm)=WNf  f&0ACHØ 'l򽎑(s,va8(WEGvfBKRPӝ8ytA'-pz~tQ/՗#-)wn5_̭Qk5[[ԀAB'+sՅjȺionn~0 Q*&&ƉhwOBP,%4J rܸ8Xj}#7* qrlRjvvАdם؀zw~|8)8r+WFGG??{6c˲| Vz{~p9̮EFTͭ?aΟԟ |>KRgAcXڶ簾ggMyPo:gNVέo9tb3{w)_@tѸrF(v 4 VzIicfJ ##GM>xP. w`hdzkb_? w I{A `#e[6؁Ո"W[O7jήZ9el.nc]Z]$MƵ̺X@ ^3sRJG))R&vF:&2D㭯_J4 !H3FF;Wr9NvfDZڧ4|jp$ >G{WJ麮--a aIVAq(x.l6/]t&wNP]/Q,^±1)%?6fE1 JR|>&DM;lIENDB`ffDiaporama/src/ffDiaporama/img/ConvertAudio.png0000777000175000001440000000225112275647257022114 0ustar dominiqueusersPNG  IHDRw=sRGBbKGD pHYs B(xtIME$1)IDATHՖ[L\Esr.PXX텖;"PFHĤƤ6Vc4Ӈj"/Hh5Vk)Z¶],]9gf|&VƘ8<"em[.>ƎS֬[)e5]Ԣt[]]'gBۇ";(N6=oM#vS8E`M$3xiS M IbfYD"mb-m h"f, jz@)3S=H$ZTś(dE>ѧ֝3:*XY-'q޶c?4I* wezz{XCǗ>/LEb~IšFUщ*~čPR\ |@wԕpLfPcjG1|P݀(QV T҃gHKa;:ƿk#ZLCÞ:8]N|>(N.LzhOb~W[>pVrW9ae-ϯ.̑ɡ#zd$=}0tJչ xebd FYd*H^^T-,4MC. Y-}-<'+Ӥ\ $JO&> @da4fn!IZHCn !u?x]Q#ϤԥKRP zof]4p Ƅ4Қ?rm"ӗzZHoAO|",X;X| HEE" Atr?00F 7s G^Q@cCMMM577~O&IENDB`ffDiaporama/src/ffDiaporama/img/Chapter_big.png0000777000175000001440000001025212275647314021713 0ustar dominiqueusersPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  @AtIME9$jڂIDATHUˋ\SU{ M^cIH"F ٙA y^?R "Ƞ,R< "(R<=GO?n}T,% ;SuΕwߥy">i󛛿US.bL` rBעpe4w?Ĺ/|c?׼xLKKQ4xTʀ!Lk6V`͕IL{\qի3~7ڄzh ᰆ=ѣkS^DFBu,vyw7EB,Ѣ@MoSh|9x.ysQJt:>uʹ,:3Zsz& H1󀪒 Ķۂ $U,t {BtDDōD++;I!*`P[[)"Gj?zc9۽Y[}VVMQCƐ!dde`0bB`d8u>ݻyE"}T"(42hiOp(bZu:$_|ē'm-l^Ɵo v2`!z=c315]z`բw6r,K{R1; ea8Dj5i~ -iJiJ9k5J&!`B`ݙTA IkGT*ΜᗧO3ǘ) _߾?.,C8td""TU51^GwzEz^y8|0:Dp 0ekŪ9R8ytJƑ#?{Et{j!6Ԝ#6Ƽt"TlcU?3;Cm"޿ΝE:2ZDT"oߠfR[|`i s&%!U Ρq1$d[[w~tJ苈0s֞[KKiK[K@J=`EȀy3:3EyϞfw^p!}wEo̯MDXVE?b#58@ d"7_q*jKFO?ϟoކ1sƹA$Tѱ@;"-o̵R_~D$x"睧bicNZ+F$q^HT#Oܷyt8^IENDB`ffDiaporama/src/ffDiaporama/img/Chapter.png0000777000175000001440000000664012275647256021105 0ustar dominiqueusersPNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  @AtIME#<IDAT8EMhTW̛y'1HpaZR)EB tEIp.\+ n ".\,TP](nҴAbәL{|p\оsؽǏJ&sH\=ͮ;ĻwW_WP=ZT3=LʕǿL=Y_GAE {=lL%_3?x o-..WWANc&'1,a|吩) ؽ%[\*[.|U_qσaiAI;-߽*ks~/0(nk6V8YKZ*B*EMMUUV#*h s"̈8rTbmk}o|*KClj8GUz/^6Eڷn!SSU 1Z'LE2=uj0,l]F9NRsJQl"yǏ͛Pu:stRvC CJQQs߿//4T9R 9Wg GƘqLߦIENDB`ffDiaporama/src/ffDiaporama/img/Camera.png0000777000175000001440000000265312275647314020702 0ustar dominiqueusersPNG  IHDRw=bKGD#Iw{ pHYs  tIME[8IDATHǕileYNKWn"dB Qck@R A&&,D%@55PbPFE.r{};?Z "M&9w93B4v[$'BQO)VLUYYyS6ϫ\N- +ۉ$ñ=ۺx/,7Yְa!B50t PmΰX7֍o ?Wx(CR-C3g<6^TF\9u6s?cƻiѵYΩ-FT~iT -'ɸn%hjGutC8)_޴cԸH:os,|.b /( Gpb6AB^ŝL^<Oɷ?\-Y^]S6wkNS^#%Sh..EVŢ C S &|Xgˉ:O\X{dShyn Q~A{_>^+Q R$KXG.~m筨&>2bIENDB`ffDiaporama/src/ffDiaporama/img/Blue.png0000777000175000001440000000075212275647257020405 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME 3&~tEXtCommentCreated with GIMPWRIDATH=0ߘpp!)\(M&ǘ.3t 79B0q$\ L@lbȴ̧7= `Y0sֶZ `q\xbsz[ Ԅ`RoJ"ʏjF'|Qq30sfi(q \JG7/2H35ޚ9IENDB`ffDiaporama/src/ffDiaporama/img/AutoTS.png0000777000175000001440000000307412275647277020677 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME* o#IDATHǵ]lW^7؊ڡ븢MAPRjR}(VJ*偖"|<B#"HT %DmnVҚ׽"mHCӹWG9uOyOC};vl?%G80{''xG}ullϏRyg=>$*%eY%*Q#G wo{~Zns_OL' /qBaڶ 3A J$L6#@?u:>:Y>1jRn9 CABp.|Cgg&D4׮"Ctwu>A)q8אָϞ; 3v^!(Pwl9<σl78nܸ`磴ZDDJZHPސ;Z\-Jvufݿ 4sXX\$IhJ$>`P1=DSSjxY^)^C\A39xKXZZpyu$A4P 8u"n0ta@BPjǗW yb\[لߜ>8NN|3(ƍ TF`&LS$)W+G7 ySg:i宮$:::7u!c$$ RD5 9\M1g?ǽ!~4غV:!x*}'n}(]uC;q&BA(n`\u'T\p{졇 ۷c0a B@Z˅<~꫘':8q~7E&ShjN@U#p.^9s~ K$m|4oFQDc18}sJes=:(EmPվiXæg,UF8|mO aFoIZ-e<N{%Flق( .$dm$=h4P0Z{EPUEae2.$[JB(PdK%6L>= whB@QHr š[ceRȊCס*<KpɓΝ=rM`ja²,7yӭ;صk@̈;t<B$D[Bݘ:qX iQ,/.\ ػwI,222Ҹю=j8Γ/^o4:17$!F)1chO9ئtbСCuK'_TJ$w .rR&s[ J5U>oZWԈzngW1=Q#jDeR* !8c,}o4a.oO t]RIENDB`ffDiaporama/src/ffDiaporama/img/Alignment.png0000777000175000001440000000250512275647255021430 0ustar dominiqueusersPNG  IHDR BbKGD pHYs  tIME +utEXtCommentCreated with GIMPWIDATHǵOTW;o>v€MVD҆0% FcLtQUM4n wn솽.Pi56.`2f1o޻ j$ws{H@)(z qW'{? ?+J[+:%&LR$OE7|ay hٳgHc b&ERR)ǡR.d2ɟsI^x۶)9Zk1oeG`Ym#aB"mS.!Ç.e.B eEs$Zk,B)EZEp]qPJaYR) J)JRJkN) An-Ֆn>mW[k*kH)Zn 6NO?QLG풖0E1LOOSر5wknbdd& R`YdZseRCCC6qҥtuu嘜dhhl6ŋ\zuY\r% [\8mۦ ۶QJI,DX(oqL&Ñ#GyM=blll9יLL&8??薌n>OFα- nUuux)z77ҲоNn޼+RpqZYާ9t> (9ȭ:5gΜ޽{b1fffx%!p]rL6u]1.a61556FNk8K[[ǎc߾}qOKK b``t:ͩSZsq,d2Ҭb>m $N>Vؽ{7ܹbtyybq*j6^*l:Su,As#8j j5JKXJD " +cIENDB`ffDiaporama/src/ffDiaporama/img/AdjustWH.png0000777000175000001440000000246412275647256021210 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD pHYs  tIME 6b+tEXtCommentCreated with GIMPWIDATXWYlTU{m8!P$Ұe}mF D &b01$HHx񁄚hdi1DIQmtss|!VPp}:Fq%UXKJ)]k 3bzA/?X U/WPozVJ@1""bT3J1o-T0^G);ԃ8R$M 5K+gePo+i-#d4tAmG{3;]@֮lh=.3MCg(c ֈDdӤTrFԀ{Rvlc- US( u+@uSV( z~H+Qki(p.{ T8p9O?u1wVRzlϧPn@[f.]<xޒ?]I+yL(-'R0/4?{έ<{фnض#V~# k Bp'*$W~ٱJ܏".'`@X\s:6a?T. 錽qnzc<5h~ݚW?ݝʇ?SПR=_:'sZ/\J6ҩ/ >E<,Xt8AznxՂOɹ Vѩ̤g( RΙBDYD^çS͞~u--dmQqKpQp]()GC`UG_}%LӔ?^gң=f ojrNR]ځկ᳇SXnUHp,Tq.gIt\X4Fu$'NG(D|IENDB`ffDiaporama/src/ffDiaporama/img/AdjustW.png0000777000175000001440000000074412275647300021065 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD pHYs  tIME (tEXtCommentCreated with GIMPW?IDATX픽N0FVuA@(TL,!L,5<20EC # ]R7IS+Bgl_k;])/8bRXU̙w+ diTFAHTVYRk@ň}ےsŁ XΣ{<T8+ j/}<KY&>{WdOIꦊ.L e~t@<'!T3Q4Y $@2` \"* c@'G83'_Z8Y  p HP݃&U[ <=<8!hK9ED, )zf4'Dhcԓ.?(@b|qM y[@:x$* &s#I}JjGUD0X=&{pSy$cc/%F#&F 6ȥ)Zv:t:3Uxb?gsf7oe}AλkAwmCkwC=y :p`%󼍶]B$RU5(JQ6)!OsοBtٻ7vM=wFfMsS}KC+m|~eA(KH"!!"P5 - JKӽ\U}CC/-^|rvv@.8P4ApB0RHVA3t @ww7Tbuc#67KJ-10PH }d>" fUK*SS]A_-ߙ?JՌbU8At}.8TEA2ˊ!30 1gvtPxhjfyM^Ր C?ظuuuطTl#1PJ1 ֕\ׁa/?p6?>ֹBD:sK1)UUa,]x *BA(iBµG>Ν`ؐIÊ@B+0ϣO{ ۶[l_}@K:cEm$\'Ɩ/R&?#²,0BBH\8ls( !]( @7 Xh4 ]D`t]s!bZj5&J W % C US՚dMu cA;by U\"{M& ͅBPJ* ${D(֮mLo_Y̙3:;;.\+ UeW}\M@{??!kDžT*n߾}kX(A]y$$*6mMO8m6-[4.xD.gg8=cb"lvlsY[v*Jf{zzNOkkkDb23==}o8 #QЍeɥɳ*K#^ޗ~_E__QMtMQRH)<}w'd25k/ `2eIENDB`ffDiaporama/src/ffDiaporama/img/Action_Open.png0000777000175000001440000000265712275647277021724 0ustar dominiqueusersPNG  IHDRw=vIDATHylEǿowﷻݮMi]ZZk&4j 1&h4*J<EMԠb&V} "j0 *¶{]_2df33o2`f&M=oŪ64]n@Q SP@H29;0x܂FnkWy g>(tf!y>AVfk,Tft2pcchubR6 ;S JKzjcjɬ`<h FwVѲpSsgoQYܴIn~_$i׼xˆ ,YZF܋?{ EC {sԬqM˗6 p׌Xx{56qHB| -[U((/S Z4.5%DqՏjtR/E6c{,fU+=1hHu[Gc@>HXiTͻk3n>A@ O[r@!d2YSձ_^Z 7{Ƈ|Cit掮,~H,DGݱ$|(,>VO)MAH@ڞn"1@=ʺ"[ηō- $UHsDV!X4ǣ;{݃#즳~y[t==z̜"Qv^6[%gR+lv555S-;۶@׭߳k?Xׅ~yU;ϱp߳KmiVOjBz#n<"eHDw=g dO$P$XI4 դp1 (RBJO:e90V!-=CxLdX"/TFMx&TROkxCѽdNfrօDTQ(} 0'-Fwr4`&tU_5gP ?lHW CnF0s6Ҫ^6Z<>ڋ,W04p_I2s\'㩗AWYq]@ٹ":1BDsUOtu+.bx(]kZy73M]-ɶKP B% _}fzQ*XP<\p.7\fN 8" 5lj|C4HzIp]ȍ`u~?<^pDRʴ˞o@ 6cǻw|o_x !p4wԊڙ, 0Ud]->~O;i,Up\ H '҃=9 O>lIENDB`ffDiaporama/src/ffDiaporama/img/Action_Info.png0000777000175000001440000000266112275647307021703 0ustar dominiqueusersPNG  IHDRw=xIDATH[l\GsΞݍ׎;qRۍrqBhZTj^HP1< /)^Px EUQ(JQZPDE $q؉/usKMN['3o'8}_hlTB%=~߾}VzKxkAyЙ{JK,+K)t@yb"Ȭp&`!'VR\l@`S#p)E?k}'nRƸy4a!G> p]!W7EX8<*ZBw+A &8 -0I%S4iG,x>dsBo[dxư'oHY#O (0 ZVn}k_ԀI!nA SkQ)b3e:,r@_\@4$m: iD H( k? i3ܱ!C#zFp"ZļXƶS,L;㣜s\<{ ŵO^ @+Boo/y0Y6 %o=m.Np^fxEl.s '_<(FP=_z=##caSoacpOSVm(Fu `;7#6")+E+EҸECxFvnZ|禨V jB3}GlWPfupZ#~k4J9$!!P+*J_;'?~_ajnE\,G8=] %9YQ:<+Z3M j麷)Wm~;vla&_f4YW2+(@nc<e%>/Ғ;60$};=՟ soO_άħJ[Gnhcc^j3ᐽbvY KdMU|ߧn U4U*Ic;NئfTIENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-10-02.png0000777000175000001440000000151412275647310023100 0ustar dominiqueusersPNG  IHDR szzbKGD pHYs  tIME39ftEXtCommentCreated with GIMPWIDATX͗Oa?mjZ2<ڦFTqp0 . CM aف.R7cpVBI[8)*Rgs~. VYɥx=w#=x>FA@%`O@m[R0֖x1<}uoczcdc-Sno0AAÏ:퍍[ԍkoY + '"GG+8˔*5xX W [)M#GG쯫~ n§ؚLaInU+5?XM}ࠠ0ƛ]N vpansq\zW5>)@ TW1Y __sa !~vK*` o糒آ3R' οͤ%UW[ ҊJN:&CF;VfA$#蹷MZQZUk~s{ Lh*v'(NRy^os Ws?@ S*@Zg..5{M(D*Q10G gI>oW6@L/-pp>a| Uej|Ղ f0y$T6 /O$&I$'1Ȩ(24 }o~"`i@9GG_.L QG95r ty&ƎNιN,@eIZ@#Q:0ݳ.Fas oݜg~Zݛ𖆭lOq7M+OmeBl =M=h#2-"v+vv z0T50T5г8vv:Nl#PT X`%bP򕒮i >k;ߪ2l ѷMc 󣪌W7oV<"DѕHƈ,N.7=j"~.&o]ǭIIZ#$5b,!hMIH%S(&'wO^Xi 4$ŴkU\Q Lh`vgjG׎ iq?x e-S ݣ>[IENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-10-00.png0000777000175000001440000000160512275647310023077 0ustar dominiqueusersPNG  IHDR szzbKGD pHYs  tIME2/&ltEXtCommentCreated with GIMPWIDATXW=l@:1$QHeD4AA (*uΔS+ Js•(e!?N RI4a5! 'yw~߽{w()λv"L t)фo߽c|#;)ʀ;49tkC(z\i;<8EIC`[2MnSZDvAOdSTuL4eE)+99$ ņm% TU6hjYk| gU-c\Z M]/QV =A^*1Baw]y\kI-DYP(#2eIAqbl֠M|lCIdH$v3ŃGJ!o֪hje"F&z@m&$qz{ &{Ȥaz͒^RTB?:J5ғLo>' *IENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-03-14.png0000777000175000001440000000120312275647307023106 0ustar dominiqueusersPNG  IHDR szzbKGD pHYs  tIME .QtEXtCommentCreated with GIMPWIDATX=Q3s3~m媅.( 6He@EqN- "fw3ɝ{,Bę̘5njf==s9W0Z< 3ibu+xŧBLU^kj 뙢Y-h7[c+OBۏQmiw0$T\ P %p"w"Nf^p;~Jly[;ƅq? 0@$(G]rW]`ibBxD}mVSķû\ܦ.w~]qrJo+ٝ6l2bUKg`qgVHM|(/q?@P۪H$~?GfH"P-~Nɪ$t1?7f_"[@"aP>^D-\.D| l, H\5SIENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-03-13.png0000777000175000001440000000127312275647307023114 0ustar dominiqueusersPNG  IHDR szzbKGD pHYs  tIME 9ƽtEXtCommentCreated with GIMPW#IDATXKkQLIi.uUܤU .ЍJRqQ\D̢XFKncsd.DžB;.I2933Ho\]Ѩ!*?~m"ƍ$@o,_l,p:_g+Ȯn%B@&w7sOx+0_/@m6+{W0a\mˆŔ$oN@X)6 9bPmlaofCy=Փ~m inWnk `A+b'6܏ }ςFȶ(Ko6e^4:3- )$ P !^mǣ9MNtzكI>=ډYJ8Sߘ)&zgD6!W@Lwne]C As6$'m,}x.p2\H}υ ]Jk{/b˃V5%IENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-03-12.png0000777000175000001440000000125712275647307023115 0ustar dominiqueusersPNG  IHDR szzbKGD pHYs  tIME 74IFtEXtCommentCreated with GIMPWIDATXݗoPٍK(&Mi! dS#BbABLWS:G 5 bCHUKې؉? `[,t=c?("a5d旒[>y%tO+!2CZ6ƱkkH|@ I(!sV9:wYr [ EtZ_HT)#L})PdΉIʱH:v0*`"GCh(fZ̥ܤ!uԋ'0(?@SjBQ! XR'n"<~ͥQWHy<(~<K#HTdق#(<\u/$Mf ~΂\Jާ- ӣs˷،O )1!v{ A߂\eUcLj1W~%gćORI.k>ŝe߻G=>S%ZRD?AӼR 7ؚ|VտisW"WtBCIENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-03-11.png0000777000175000001440000000266512275647307023120 0ustar dominiqueusersPNG  IHDR szzbKGD pHYs  tIMEĢtEXtCommentCreated with GIMPWIDATXýYlTUs{gtN[RXe !DC"11`4B0D|BLL411LxAc7 h= *i}nLJ N1'̝9#P5}fM羊UvݬDZB-]u<7M J>&ъ7iÆ0ۇ6@w]_-nXC+ -)@cB`E< n#1,W5BIS)KY zSQ+PDųkΊ㑒><^.U0@9 aWy^]U|[HɈcD5skDJy.;PpEۆ:z}Z`d9E#x]5^ .*]q@,qX;'kcdH31ڱqLv^&z ͙vDL)׼Cv3i>9H7iKМ+ejN/'r CD@Zy/Wp?dJi\EB]tb&z(iHҹ;f15vUOvE+OݳgL~{|;=JO,Nqg97 ^L4o:-1bУ#c= Y- ͍Y)7%u{ߎڸГ/x "j6-u@5~`GKq ֺFQܜma%zpr w X7bjU&xu _:oP7:Iܕe?@"% UDnfe8$ju#/ZUVS߂9p&";5EUO'u03R}A7lz6<%myѣN\HQl%=#0$$JU=EJ R▲e] 1s4w iadDF`&`xNjkCo 'r䠹) Q5 CzwBfX*N.C"h׳ alZ{M<3}moJqWI6~4B_ݸ$ G#IENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-03-10.png0000777000175000001440000000265312275647307023114 0ustar dominiqueusersPNG  IHDR szzbKGD pHYs  tIME /tEXtCommentCreated with GIMPWIDATXýYlTU.sgt Zh@Jbx  FM\/>i рFqRіtvZtJ'7;C-*TMptLkn]]Vu3Ұ/<%@x]Z3 \!58B)%Hl!u؜chq< Hc'jW)I!"$4 %OŮҵ< 9U#d43ԙyɚVLE-D "u,vxvgQ:eG )<(RIU{hR{<é8ؔ!jh?$+I*\UұHiAEbBV* }|r}f9q^6&cT[1t)ّbBr"°Qtv/p`Ws!;O[!% =>fx"GC1۫r%Pt,{Ǯk*8|Q??5qV*yV6^a]:#a5烵6b<|3 (pxFδ7سnMo9<=ˁT:a%ҪN/`z wgC6hym'Bzlᓦv"/f@VTZfhj@ >{NEZU3|U{ ͋W:giän,KQ9[4=G *ˮqϗ ʯPO k^߄3szO_AJ4h1%kT\歄zJ"T!x??4  o?VY$kvj̅Sz~M-n`MkbW3IENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-03-09.png0000777000175000001440000000306112275647311023111 0ustar dominiqueusersPNG  IHDR szzbKGD pHYs  tIME+<tEXtCommentCreated with GIMPWIDATXåKl\WcflҺie"D+`Ŋ%f uW!udžJV  BiS5jIc}scdҞ=/7\^,<|9oGRy]&PB轎R-֊z@K @HYv1糖OKaI]x ϽB~?|!`8X|C>{"қB80I8,ww2 қ&+7M\%Avj;ڪ򃝛(!eq`b,!I-?;18@>o`}c4JϹ՝.Ѐ9B 473SdfE_zb a!lSZGE`WQ4t<x=Qy>go_)R|G_AX6 51 - ,wd34 = Ӻ7jTrXh  xor]7z¹Ħ?{9;S2q3wg~e4Ɂ&\DhpIh> (WB1롣:l/ Enfqkt-.2vD5PJo9\\`P1^"oy5"M?ѭp<6%$Z8ٳ9t(1 bFJ̅m]@H OZŽyթu釾p ꬶkrO)ʮS2-ozt5좤}=cT x.~`z2h\xVBS }*N&'Rgv㻤Q* _?Лz;[7p n7ȩ_H b!y{fsems\*߁UMb1.-ŋ*dO}]P;sp= @:њOi~8e7&6(A@$7pAUT}?la?ʲz()QJ|V^˗2sygJyX,o/@Ḟ-jvGhNT)?/ 4yyF'' A&l?zT)^e.:iҦl^OQy*y-k,|)פu?++Fp&Baquiv ;/_BۿSgn fp6qmZ&:&>>JRcic52Z[Nj~Q} L#t>bX[>0 oɾ<4b41!hczʀ1o>3`Bmnna*'D`<"hFԞ iLK!zTS 6vIENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-03-08.png0000777000175000001440000000304112275647311023106 0ustar dominiqueusersPNG  IHDR szzbKGD pHYs  tIME19tEXtCommentCreated with GIMPWIDATXåKl\?qqEM*B*PlXTRvl@B(UhYTE+6D$ Accܹs.3s/՟{|Y*C-]wĨD *^j+U wlqbl?/bgϰ%~E9&I:IR$)d4˭?q%,!$}3Kc0II#t/?F3]pYe! 89[1}0H7OL:o<00(`fؿ@5tF:ro@ӍmnzX ?zn^~'טzgx{w i }A Cs]˴?U4V4\ޛecYX b]Z9~gfi8aɎ#BDhshԯ =|9b :+HG'mt. W ӸZt]Xŝ[xIKĕO0>pibv]ac0 D2[\KD] *A(R v@wZ>o__۷;ܡi#1Hc"`?4)pwnpitPŐj8o˧r}&T/xy ݓp}!rhg~ߜ;+~L_$gpgA5v6jKcQŔuP=~n<鎬=Ʀ"v$o6N[mKh~ QԨ#GW~{Cg]@)ZPʮ#68ܳ?T_߿zݺkJs/#O8EM[/)F4mW1c4Ņk,ujL?4zթլoAZ"UHv7HO?.TZX]/()}yVs&|F`74[ jQ! ,ٓ{B&ڸrg#Q)D!F; 3 &fF5QyKN_4dDcZ ]m* |xIENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-03-07.png0000777000175000001440000000145012275647311023107 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD pHYs  tIME , tEXtCommentCreated with GIMPWIDATXV1o@^bjHZQ$&g ډ.l-3] NSVZ&JTBB-Pɪ!81Dw}-޽{wᄐ{dcfhdv*dIbLئ3bM*q{LmNLqq>02fl {33ay0Ȃe $J7+X݁0e%(!xd o8(s  '!0x3\_wh rݡ5s'j=x\xq w)sߙ׭a{u ۫[ք=;{x%Zl:m^mk?ZfTuï*&IENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-03-06.png0000777000175000001440000000146412275647311023113 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD pHYs  tIME *):%LtEXtCommentCreated with GIMPWIDATXW=oA}9cɗ)%KP ("M ߐ&I*lr+db#H'H9ΰ)=-(#yocg G*TSEez2m/"0:} I?K2#!΢ۍe'~m:1*sF!#.7"HKWc`Dխ-6! v0quƖɏ/}=[O R5es9rbIgs9Dfv!7pp"q:yesE׾pCBv=ktYXM0&sS 넭3l^y9><$ߝ49nBC$hD $~nG Cf`cwm% B7a;v]bƫ-L`vuK'ʾr_ÌE;T~0w\: g| մc.ۭSf|v?Ƶl'29F2:'I(4]xX$4ԒPn yלdBsyՖɏH zuZE[o H{D!D }1FS9 cPHTHAr/KB9f2ȢԎWL6D>RIENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-03-05.png0000777000175000001440000000155412275647311023112 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD pHYs  tIME &2OtEXtCommentCreated with GIMPWIDATXKA?dTbVZ E m4([Q{ ri_`B)\(%Aha(ژLawf'{&z-)DuAv)iD!UWZb.=t)-84ı0pOB T26()s }fd:G[- `LptnɋB! H ֏b7 M᎘  HIx#!5+G;|xH.;!-6g2],'eXUVvq֪QI$S.z00tiU $S ~F_ *Iل2A /Z5U#kU%רAXB0lʱ?U~Ǻ$|nEKgBU%ّ~WOB9pʘD7KS] X$~1Ɨo#7v'2VU|"D~ICZа(w'Νy |v򫃪V) / vRNLz^8؝GO]Owg_c~a`C!s~KCip"A[pv~0zֻ+u JHp a1\kMk7( MIENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-03-04.png0000777000175000001440000000156012275647311023106 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD pHYs  tIME % rtEXtCommentCreated with GIMPWIDATXVk@Ζlv1K<@M@E0-K[vb:xr= !Pׅx*q3Xd(tO?NnɁN:{߻/(un0D bRPBql Hp 3_&"~L%aM#Ifr`<3|!TH"L.UeD:k%R@heļ8~~h!=&-h!Nkxz%0K\7%KU6cdh1RKΗ[Pvy. H׆fڤh*v {( hc4d&yEc:8(>71J+`Ih*MEV࠶aeK;3B I=T*ӿ`!g!|Eߥ/P5fESͺyq}rUZsot)!/Z@|Zf0ܙE=^$ O=B\2c{X}HR| Z–'B} 48"/W&/VqC*RrЩ\2s(=|+z?U64tG5!w?\l\X׼~&pyfQuO~H0)%p^v`1vIENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-03-03.png0000777000175000001440000000100212275647311023074 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD pHYs  tIME' ltEXtCommentCreated with GIMPW]IDATXVN0\)TFL Wct` "$fVAx :QbRZO-wwస([ ΏlAK,S$J.SLfr$P=W;)+똞o86zEQ 1zں]`mȴiד-?oKz%OAϹ.0~i88~= =a›=pΥdJs3F~ٛ9:_Lx0q1lm% =neEغji&zw.a)MUʿT i&-1/ư2:oԄ2Uu ko&&AIENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-03-02.png0000777000175000001440000000062412275647311023104 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD pHYs  tIME&![RtEXtCommentCreated with GIMPWIDATXcd``0Dr% zdC_z30Q: `b`08ƙ ha1fQ@d,&8 G@*`1{L3,< ?ԎQ_:!Gj$:8b JN ) WYhZEC}79 06=0kA:dï2dC "5XIQOv;C=?x:*IENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-03-01.png0000777000175000001440000000065512275647311023107 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD pHYs  tIME%1mVtEXtCommentCreated with GIMPWIDATXcd``0=l~.e)$K L  F0`a```x{`&\@!j+w^+uFrh- \ ?\6}Q-ͣ O3geD`ϓ'002bZ9 쐎hH102>cmj3\RKr tN 1Tb64$pLLL=7P NA *T6H.D/tF HyRI ӣIENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-03-00.png0000777000175000001440000000072212275647311023101 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD pHYs  tIME%tEXtCommentCreated with GIMPW-IDATX햱N0?GXUf ,xRLL ]:uJ' &ҨĶr(P1R}}bI_2"@ :`<_M>k[|Yj/@(%PGs*2tI|}I(}0gJJvZuBQyUF)4l<灬mxr hA_l.nOо Xc?>z]J%A n$H X>hHb U[rOIENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-02-21.png0000777000175000001440000000134212275647311023102 0ustar dominiqueusersPNG  IHDR szzbKGD pHYs  tIME  t"tEXtCommentCreated with GIMPWJIDATXõW=n0q"C >FQ4E\ @' E@Arf!"@6\UA!MQOYodQHtc0|>|܏ S'X+qm>KK{aT_$GZw\妅s_ƺ@e|\FxFKCM#ܐ#qr}u#&6# Gޑ8rbH14\;iUIK|+)ꦔ,' y wzΡ$XN}|I,w7 lֿ?yгf~F;Ad l\~}k-C}[8Z 8 n ꁮ; qt!E8<k/{ mkc65 Y ԅgN|  A5ńc٠8=lJ]Tȷw]` xX )VT6%CfF#ńO-v<^h$ݘ[-!$V4 q:˿͵Y>K+JXPi*gy! t%a;1B.Ͽ5[wzd}+-a-IENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-02-20.png0000777000175000001440000000133012275647311023076 0ustar dominiqueusersPNG  IHDR szzbKGD pHYs  tIME  ! ˢ%tEXtCommentCreated with GIMPW@IDATXõWN0=vB:!J2e6V>!S;Vtb!1AUE%5CIbN4.r} PW\׈ n)gh]?DOC7 Pgu1rS݉k4Cg}0M.&& i2Ip~ d+"%KRN5!^!i!fԑI$f DĜlpR%X{q%;+.T _E\U6?Am۶]i@m ieG1$$ mT|9Wb7lHYgwW],^>7ihe_Wg $_y|٩ \_o&T6:odD_ Fn ġYD5H%:tv&$;ӣ89hY9>acȎ ٲe Wtm#MIOZ5}KN y~hj^7cѕ~L*5CRU>Jb6 uC`1FA hãn 07ԤdM/^͖!IENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-02-19.png0000777000175000001440000000075612275647310023120 0ustar dominiqueusersPNG  IHDR szzbKGD pHYs  tIME  ;<tEXtCommentCreated with GIMPWVIDATXWN0EݺKIg^)SJ@g }.ق $3@d9lSHl$9???m캟@4e~"vIi?<\2P IB(AB":*I(NUO4eԈ> u j |HD~\!EX_F$ӽQXXVv lzGB.!T&#[*Udn4ea5a_{[ULC>6t~Pm7=cNH39^ɪt;Y߰;:OP[ituKdWjחIENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-02-18.png0000777000175000001440000000100412275647310023102 0ustar dominiqueusersPNG  IHDR szzbKGD pHYs  tIME  $;tEXtCommentCreated with GIMPWlIDATXV9R@ZH\~3(刈H !<(Q䜄0"bDU{uwf@ yi]s fc ˼"Md?%'fV֭qLN5֋Qn&\;Oe081 |:px'E N2\%'Ⱥ!k=?v^jLtǿ*) Nu$>7*PdY*DD&|[HK3M$wN`tD\Bڄu/Pٖ7M8ݢRv忻bגlE@{`*+ͫ=T#IȆԀIENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-02-17.png0000777000175000001440000000100412275647310023101 0ustar dominiqueusersPNG  IHDR szzbKGD pHYs  tIME  ;tEXtCommentCreated with GIMPWlIDATXVn0N]Wȃ$s^R'OLx֖SlHi#wH`RU}#Dmo8Et8ݵJSc"S#Wkoo<[ܽe]_or$O;.8Ar2"wU>O }'D绮!|p.eDg/<1A?6`?k Ɗs\hGXM#քMM 5%, D%;:/>U1kro)n[c6fKV\h ,2 *ųӕ7>GAo>w2/JЋIENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-02-16.png0000777000175000001440000000076412275647310023114 0ustar dominiqueusersPNG  IHDR szzbKGD pHYs  tIME ¦tEXtCommentCreated with GIMPW\IDATXcd`a~1cd``SI/=c\R@YL  F0`A(w^"b+3 q\o`C@Qyr ! JBeCTtd;+u9 rS#ұyFV/qkdda!p~7:RM!)cP@_DUC\xh(4Xh2|`3O&#ufx'QQ_CJ41BWB 8+#d7##+_ !)M,lZR XRKthvn!5$@Yh|P=0/`d``?eCrIENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-02-15.png0000777000175000001440000000066312275647310023111 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD pHYs  tIME ) ftEXtCommentCreated with GIMPWIDATXcd``0Ds@,sa,$;/mr K$9fQ@#XH=Yy(8ȍlHv@.ab+Kt{XcGbJMCZ\X\8I`dfϟ!/dfFF!B4s)idArZH=tX9B!lHjK\KQL `omHL ;C!r T6jIENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-02-14.png0000777000175000001440000000072712275647310023111 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD pHYs  tIME *k>mtEXtCommentCreated with GIMPW2IDATXV=@},趵1T<^`"A<Gò$WB2!, קlw&`;3SNK q*EX dI]yA D[޿p4*ocR #-jHȴ9' R򄎿 χ xP6to'Y1[b" N9=]RB&4>(k@KBe5;PB>PU0[WsMAT%!ZLeCCn qAȴ:g#M嵙%C]I:ByoO'V(YJ'cIx#\ށ\tB. r -"aQpqd;[IENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-02-09.png0000777000175000001440000000064112275647307023116 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD pHYs  tIME # -}tEXtCommentCreated with GIMPWIDATXcd``0D,_z34m% L  F0`'y =$YL>ψtr\@2vCC:!rـ^ jFFHH|D !@ȇjpmDn )pM2)K 0(M7_C=@VZDö6drzY>u@wBYhIENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-02-08.png0000777000175000001440000000066612275647307023124 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD pHYs  tIME $ ltEXtCommentCreated with GIMPWIDATXcd``0=l~.e)$K L  F08L8&(w^PDC0@n(4I8bp悷f2X\;p~dBF >Xr=B@! u|N(QEFU;fat/g302>c(at:&/L _4`'6P*##)!AiLV9ዌj;1njzbD) I0tH-q:h f5@w -X ~ExIENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-02-07.png0000777000175000001440000000070112275647307023111 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD pHYs  tIME 7|tEXtCommentCreated with GIMPWIDATXcd``0=y@,aX ~\PC#>`g/+#`=0aԋlX'[02B (#de~>Y+%x3000tрE3rH|( /22 _e(g! ?2RMF9 kCj~a<ö=@ y2 ~_RK(fy`w0i >Xԣ\YΒsPL"EIENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-02-06.png0000777000175000001440000000073312275647307023115 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD pHYs  tIME 646dtEXtCommentCreated with GIMPW6IDATX1@EL4FA0&V XAS]Nچ1_lemmHe+S븽؅IW"P&.ɆH @U,(8j6|ETߑxYwSX }_;IENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-02-05.png0000777000175000001440000000070712275647307023115 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD pHYs  tIME 6 &@tEXtCommentCreated with GIMPW"IDATXcd``@)*y(, 1dYsI-nQ#.}OV6&BZ?Bg ~CKu:_###J?Ԓ ~!+O(IбD'(4MsŵHZ2p3sg`d$'z&'qз$ _~eb`g"?#c-գq|aFJ VWIENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-02-04.png0000777000175000001440000000071512275647307023113 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD pHYs  tIME 5JCtEXtCommentCreated with GIMPW(IDATXW;@}$hg^{+*+/@- 6VTiY ົ,lLd!ozfp>hW[ hqHiOJ #'{D-+Cxԑ2VGxOfzRPWiڦtʦ s-eț|wz;jPJwwѯ]VA rJn"aEx/G"@1qOX:>UX#E/vQ zJ|7 \8$SXwqx$; ov0IENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-02-03.png0000777000175000001440000000076612275647307023120 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD pHYs  tIME$9.tEXtCommentCreated with GIMPWQIDATX햻J@ DArKecg`"(,Xij)bao mDPdEBV2$cm|sDa8+g(44= tWmhH!RB"~okpYXAȔ&6jv9ǁnUSei )e6EsK9fV[ \)̴gxU=w\wU%0X7sU@i&Az}l(VLU[5Rg% 8$( K(|-I%P5e%,v+?RE\`!IENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-02-02.png0000777000175000001440000000070412275647307023107 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD pHYs  tIME vtEXtCommentCreated with GIMPWIDATXcd``0Dr% [G/=#b-;@I!B UT J0`LJD&Q@Ja2Pr ͆ 0{L3Vɷf  _ddpvH)sIh\/쐎ĈFC_|#OQ] Z  %JB[}%l(.E IAcq-Nq6p6Crj$ZNv6kư!E FFH)E19#=fTFOIENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-02-01.png0000777000175000001440000000064312275647307023110 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD pHYs  tIME4L tEXtCommentCreated with GIMPWIDATXcd``0=$M?2hRl L  F0`!U3x+w^"ڬ=C, 9Q@[3$ ?r?iïA+ҩZTk9QѠz~ J[3,u>8sHJ-IENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-02-00.png0000777000175000001440000000071012275647307023102 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD pHYs  tIME /HtEXtCommentCreated with GIMPW#IDATXcd``0Db\g`i&I% L  F0`a```P"x\o`C@$ Hu3sr=N`Y. ?|6&zE`d``7NMĦ/=Yr6W*Q\RZ*u##vqadd@Y-$|A ;CYpER> a9!L`dd`ô``ifo4H]!Yl(NrL0 h]Cf" X@MpY4,u:bR_IENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-01-17.png0000777000175000001440000000111012275647311023077 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD pHYs  tIME1_tEXtCommentCreated with GIMPWIDATXW;r0\CSq*70Rb \!4r* 祀g$!!O $E&1^Xe.!)9x4"M[ {=`r/b,@2"m`p&#:`-=V~) lBt|\^Qx*hUD 3(Yt|ή9}dLq8Wxz9zwnk30Lf]lp%hK Q{PMf}ӾIضTd1l|\FD5^~@DUqvݑEFMk-snm]չ43sV_Xu7bනj&̾?+CIENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-01-16.png0000777000175000001440000000117312275647311023107 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD pHYs  tIME'#OrtEXtCommentCreated with GIMPWIDATXW1R@}!F K CUtt΀ 6VTPq fZ &d $7>aTnwB0x]Y$)|$ve?`Fu~b 1Z&uX2#2ĚP"ՃoσTLr[Q#gRb>t0{.N( Ŷ$rYUbub%/F8 )\yDLϲrUIM.N_V$w[ѧL(F(US5o­4a''4Us@FH8NZ;8kl~jP9 fJT\p3J`LgķL7> :nqXV*ݜufl|`j`yhM %uh(IIdNiFyIENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-01-15.png0000777000175000001440000000131712275647311023106 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD pHYs  tIME !9C8tEXtCommentCreated with GIMPW*IDATXW=K@~mBPł(duj7gտЪछFTX2iuiu T)!4 %Ku>ׅ _7&qf~ L!f0a< $ -בZ`e|(>3Z`fR|!4Yd2J*" I?YO$H5aS*(Y2lU+ÇX, UvV> 6{!|{1ۊU@} K~fegQi{[jCy|el/=\9c7왱,lg6$/7Z]@[/YZOO jEYֿY="z1} "{exG4%WzWz!@.~koRvp5 AjuCaHUYMJ~>"2S ]tiCM%vMݻ{i᳚<\@rE{ @a~{q]of~QÄ~-smF:#Y[X^JX-5LĠDk @%"ZS+8r ܗ' >1:\`eMb"D5$Х?с$ a1:5̄Q>b& X,DcqŁпJJL%epbAMЮlBwư_&`|mT!NM}DecvA`pY]erxܞZ7]-iAq IENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-01-13.png0000777000175000001440000000132012275647311023076 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD pHYs  tIME tEXtCommentCreated with GIMPW+IDATXWJQΌ*B@AΓ+o+ a+E0A&zZ s9QE?b̜;߆أ }k|qVx6i;BvGRÞ6߄|vYb<-1}Ld,QcN ޛE'rfTgJ 7:FʺaGdxFYIJ:*)n?PuY@XH;Dٿzf= #Ld@̣kzcs ;$0&CTxzfJ:Nf:r Q+h+hq^߹kVDu`9lr<|2HkIENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-01-12.png0000777000175000001440000000124512275647311023103 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD pHYs  tIMEɄtEXtCommentCreated with GIMPWIDATXWJA=nܕD+tR(DV $"J F-Lt׸ kfg.{Ξ{av ` $p'KIwCU ` }'zq? -4Ŵe7zܛC [ea/1r7'H 6`x:=}TL.0&^sc% mք.z*h%Ԇ 4ڊJQ֝25l) $^v">vHBQ]Zo%QQ/"X0DV\Jʳ2U,5m,0I@T1cqiyDW`|{;\xP5x_5\,&¶ "jz;M1aVv7cC1m[+?,lV܆=r &7dqj!z?ϲ]IENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-01-11.png0000777000175000001440000000146712275647311023110 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD pHYs  tIME %7)ЎtEXtCommentCreated with GIMPWIDATXWOoAeG 5D#)HMx{ Ջ݋LLi\lM lb#Hʎ .R%μv ǢrF2 rv+^,:;:-@CIЫkWT贰szPRh()]\Dfz St>b5 wni߆al_IZ0}Kf{#Tb7;m+&3 c w7/ vX9Ν _c0EDf'BWȕ ׾+劖W"""f:J"J"u0ȢS*}%i#3ܰj!9p4ZC@Ղ0XT>Cm`3dn̟ds o)DsأqSS1]]ȃ?dҸID kZWEa8Vۖft[Jf3>D9be0$ Yd+o7ebe\Z2gdl0dYmQIENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-01-10.png0000777000175000001440000000114012275647310023072 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD pHYs  tIMEDbtEXtCommentCreated with GIMPWIDATXW;n@}Xb# J3pBRXP \ m 4R6AS$K 쮝ɲdy=3d/jN_#7:w7m.lZK1g\>ex:箌 E`;|{y'r>\JMsHlt r_UThNMC5@D{qko:D"WɾR2,(o4 ^H;PDcWّϞ~a@ngEw4@lb;%p:͢ŧ NC;{_fcBg!҃( kb)M(:)0Q;섍totf֠IENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-01-09.png0000777000175000001440000000141612275647310023110 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD pHYs  tIME , tEXtCommentCreated with GIMPWiIDATXWO@}+.EBk)a=՜!zGp7ߦ_A)KZ [Xl]C03${{ @qXF~4! D//PoLH!ޜ}DӞZ F4gn[h% ]'y HoskE"@3F3sL'AӞA-_miϘ2T;c %E4uy22JC(_E Pw $GS mA M&ä}䟁9XUwoةӒwnP@_+g|v4~y Jc"k,Xd Bo9]rʢkgaSP ,Bh$MPR@)0,*qf/S%@ 0-C} ӥ"Y!U~_͑-kx6sܟݨYas:w)(#;:w׈&no'QF gx !#wr@drB$~ɷj?IDn{[] wd2uIENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-01-08.png0000777000175000001440000000111612275647310023104 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD pHYs  tIME 3cktEXtCommentCreated with GIMPWIDATXW;N@g,%-P&g I*$.r3Pʶr""8ěcw[)ޙgqHoY} V_>*wR]y1l^C'Q= !aE`1Uc,t6W-6():Ihri+ ́gYq3\$,#A'<_?s@ RoS5xUvoiF*u`Ċ\0 PԬU"yY=xا?r;ne"R{K@[zΔc,@\ "8;# G WGÁ7BtL¨ ٍ"~gXXaC;T7Jaa,tTZi(v#c.O2O"͚QfaȨIENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-01-07.png0000777000175000001440000000125212275647310023104 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD pHYs  tIME ultEXtCommentCreated with GIMPWIDATX햿k@?R햂m4쥆AK]ZJ%;-N]l2$ESc! I|-YDg}?޻'Y`VtݭO S=,Cl|V{<;8X^6XP. ڛ e\O&VA0s{L-TMQ!rTP>ў,kTMYU\X>e-3jz@Hڞ$>6l5' ŋrފµaZ,4Ve+.siE .\ b}`;KpcOΏxSN0Q^ۻ<: vq`/ CQ@|g0p z`e{~L ^|T{G?NCP2 ARe!hxo\?h~Z;3 {@6!p[Y[1aÊ@1aSglU3eri⪵@fbgǻ>Z@IENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-01-05.png0000777000175000001440000000140212275647310023077 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD pHYs  tIME |tEXtCommentCreated with GIMPW]IDATXWn@5,HɅTK9Pġ~>ws;N<D 6 =ZEB2 3[x#YZyfwv- O84PnÅ=g Y I*=D[;ѮJOOlŬQ8>9V)<@ qlhQD8~ wf2 $ɦnW?D @@D@@uHu/t"~p&<0vdYX==8IFB׈01?e9-EP^ ͟r| V5"il~;]f\%n<0o]:Q|fa8IENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-01-03.png0000777000175000001440000000132212275647307023104 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD pHYs  tIME stEXtCommentCreated with GIMPW-IDATXŗ?n0gKZ:] $.@{>^{^uhʟ)F`MH̐R!U%[ Gp# Eڠ5JQ4FR𮧒S9|IhaK4tx%dgz R6߱~IENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-01-00.png0000777000175000001440000000114312275647307023102 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD pHYs  tIME9&e@tEXtCommentCreated with GIMPWIDATXW1n@u@F%)ME7D\!  4 ,d9cÇϰ%K>kvg@F l׿ x0a1fyˇpe@c>`*R&QWWF@Tub5K^ez렞ۮ"To.OyH #Z;NB" ?MǁzZU wAw4.{[V+2beAI`>% YD$*qBUlX9'<;SNg5}O[U#B"sUh9xw4e"{wn #x]@?gE("OH Z\,8S d=}TQ[ʑHOdO> \,gT]p:~aAReF}h])8 F2a-IENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-00-04.png0000777000175000001440000000247012275647311023104 0ustar dominiqueusersPNG  IHDR  pHYs  tIME  *4tנctEXtCommentCreated with GIMPWIDATHUV@o1s ,sn+T9c-*f$H m%Ctitq-܋kq-T2|9 L7&l@6|>2f<`(usy]\*fFDA d /#t;FU\k㺢VTEdL &=pc˒fЃ'ag Xks}8*EPvaqo7vmkFA#{\]dεV֊e/<,J`  ݮDD!*SZUw e-)-Z[#n Jgn"I#UY+תZ.M|fYm1jWeKЀeFY Dpdfj]Oq-kfE0 $<` H&33"Wq7q˷U &'n~ M<|3n"ȈX\ ^d$Q&d6M0\"",3 ,z)]d} # =L3%{y˱ /Ai/+7ǿ4'|vpqލPEv ~Cɠ^6;. E_6 8/xCiD6!i+vo?R]޻&ϿvX͇ۡDA-R㻫.QiwwkoS]qf w|v^h':U507̃.ld"B{IENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-00-03.png0000777000175000001440000000030412275647311023075 0ustar dominiqueusersPNG  IHDR szzbKGD pHYs  tIME '/OtEXtCommentCreated with GIMPW,IDATXA0~ Sm>!?@]$IENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-00-02.png0000777000175000001440000000123512275647310023077 0ustar dominiqueusersPNG  IHDR szzbKGD pHYs  tIME Z tEXtCommentCreated with GIMPWIDATXcd``0#5q@,1{>Q XIcMg72h8\cu0U:T>آ:Eg"-TuT rR=գOq\hE%_?QOHcrc?Qٍ |!a#~:[[/vݐ`yDOV+OO&%Aε;Eغ b/j3d>gJk1fmŐkz1010rp0XaR`ʍX[‚آ 14\bp/Wb`C^"pd# sry`aF)Z we`]9nQB->NjSHѐg$431;v͙IDE#ZuL>*.Y7 ;&%a _1iM4 hDŽq餸IENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-00-01.png0000777000175000001440000000075012275647310023077 0ustar dominiqueusersPNG  IHDR szzbKGD pHYs  tIME .tEXtCommentCreated with GIMPWPIDATXcd``0#5q@,1{>Q XIcMg72h8\cu0U:T>آ:Eg"-TuT rR=գOq\hE%_?QOHcrc?Qٍ |!q_Fp)ı$> )0c|-/WDŽ{=0~-alQ6@Bj# sgzՆ֐,Dr">?:&{Va!41E?fϧm]0ʁw@w?0uo/IENDB`ffDiaporama/src/ffDiaporama/img/Transitions/tr-00-00.png0000777000175000001440000000070112275647310023072 0ustar dominiqueusersPNG  IHDR szzsRGBbKGD\Ztb! pHYs  tIME5 tEXtCommentCreated with GIMPWIDATX׹ 0?lLh*(.R*rH r/,!H1xqd ZdW4@)=h4m5@ >\qD\_b o!p# )  lí'Ap% pp w˲t˲`Gp/]!sbp>h5󌺮O΅`AQJ]({hwQwDO$ M%Mz.?c(=a7_=PIENDB`ffDiaporama/src/ffDiaporama/img/Transitions/readme.txt0000777000175000001440000000006012275647311023302 0ustar dominiqueusersThis folder contains icon files for transitions ffDiaporama/src/ffDiaporama/img/TextFrame/0000777000175000001440000000000012275647245020675 5ustar dominiqueusersffDiaporama/src/ffDiaporama/img/TextFrame/readme.txt0000777000175000001440000000027412275647245022701 0ustar dominiqueusersThis folder contains svg files to clip-art text All the files are from openclipart (http://openclipart.org/) and are in the public domain. Most have been reworked to work with ffDiaporama ffDiaporama/src/ffDiaporama/img/TextFrame/123.svg0000777000175000001440000006373412275647244021742 0ustar dominiqueusers symbol Open Clip Art Library fabien@omic.ch fabien@omic.ch image/svg+xml en ffDiaporama/src/ffDiaporama/img/TextFrame/122.svg0000777000175000001440000006061312275647244021732 0ustar dominiqueusers image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/121.svg0000777000175000001440000003425712275647244021736 0ustar dominiqueusers ffDiaporama/src/ffDiaporama/img/TextFrame/120.svg0000777000175000001440000001122112275647244021717 0ustar dominiqueusers Page icon symbol signs_and_symbols Philosophil Philosophil Philosophil image/svg+xml en ffDiaporama/src/ffDiaporama/img/TextFrame/119.svg0000777000175000001440000001211712275647243021733 0ustar dominiqueusers Carta office studio Open Clip Art Library Architetto Francesco Rollandin Architetto Francesco Rollandin image/svg+xml en ffDiaporama/src/ffDiaporama/img/TextFrame/118.svg0000777000175000001440000011212112275647243021726 0ustar dominiqueusers image/svg+xml Portable Projection Screen 2008-12-26 AJ Ashton projection screen portable presentation tripod ffDiaporama/src/ffDiaporama/img/TextFrame/117.svg0000777000175000001440000007001512275647243021732 0ustar dominiqueusers image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/116.svg0000777000175000001440000006264312275647243021741 0ustar dominiqueusers manuscriot symbol Open Clip Art Library fudriot@omic.ch fudriot@omic.ch image/svg+xml en ffDiaporama/src/ffDiaporama/img/TextFrame/115.svg0000777000175000001440000012146512275647243021736 0ustar dominiqueusers image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/114.svg0000777000175000001440000011762312275647243021736 0ustar dominiqueusers Parchment Background Parchment Background border background parchment Open Clip Art Project Gerald G. Public Domain 2006/09/25 image/svg+xml http://purl.org/dc/dcmitype/StillImage ffDiaporama/src/ffDiaporama/img/TextFrame/112.svg0000777000175000001440000003746412275647243021740 0ustar dominiqueusers image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/111.svg0000777000175000001440000011063012275647243021722 0ustar dominiqueusers image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/110.svg0000777000175000001440000004116712275647242021730 0ustar dominiqueusers image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/109.svg0000777000175000001440000002462512275647242021740 0ustar dominiqueusers image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/108.svg0000777000175000001440000002256212275647242021735 0ustar dominiqueusers image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/105.svg0000777000175000001440000001666712275647242021743 0ustar dominiqueusers image/svg+xml bulle gauche callouts cartoon avril 2006 Lalanne Laurent ffDiaporama/src/ffDiaporama/img/TextFrame/104.svg0000777000175000001440000001357712275647242021737 0ustar dominiqueusers image/svg+xml callouts cartoon bulle droite avril 2006 Lalanne Laurent ffDiaporama/src/ffDiaporama/img/TextFrame/103.svg0000777000175000001440000001506312275647242021726 0ustar dominiqueusers image/svg+xml callouts cartoon bulle gauche montre haut avril 2006 Lalanne Laurent ffDiaporama/src/ffDiaporama/img/TextFrame/102.svg0000777000175000001440000001540712275647241021726 0ustar dominiqueusers image/svg+xml bulle droite montre haut avril 2006 Lalanne Laurent callouts cartoon ffDiaporama/src/ffDiaporama/img/TextFrame/101.svg0000777000175000001440000001505612275647241021725 0ustar dominiqueusers image/svg+xml bulle gauche montre bas avril 2006 Lalanne Laurent callouts cartoon ffDiaporama/src/ffDiaporama/img/TextFrame/100c.svg0000777000175000001440000002233212275647241022062 0ustar dominiqueusers image/svg+xml Lalanne Laurent Bulle gauche callouts cartoon ffDiaporama/src/ffDiaporama/img/TextFrame/100.svg0000777000175000001440000001545312275647241021725 0ustar dominiqueusers image/svg+xml bulle droite montre bas avril 2006 Lalanne Laurent callouts cartoon ffDiaporama/src/ffDiaporama/img/TextFrame/073b.svg0000777000175000001440000002045312275647244022077 0ustar dominiqueusers image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/073.svg0000777000175000001440000001240612275647243021733 0ustar dominiqueusers Clipart by Nicu Buculei - segmented Nicu Buculei image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/072.svg0000777000175000001440000001243212275647243021731 0ustar dominiqueusers Clipart by Nicu Buculei - segmented Nicu Buculei image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/071.svg0000777000175000001440000001243412275647243021732 0ustar dominiqueusers Clipart by Nicu Buculei - segmented Nicu Buculei image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/070b.svg0000777000175000001440000002044712275647245022100 0ustar dominiqueusers image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/070.svg0000777000175000001440000001244212275647243021730 0ustar dominiqueusers Clipart by Nicu Buculei - segmented Nicu Buculei image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/063.svg0000777000175000001440000000746712275647242021744 0ustar dominiqueusers Clipart by Nicu Buculei - segmented Nicu Buculei image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/062.svg0000777000175000001440000000715112275647242021731 0ustar dominiqueusers Clipart by Nicu Buculei - segmented Nicu Buculei image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/061.svg0000777000175000001440000000724112275647242021730 0ustar dominiqueusers Clipart by Nicu Buculei - segmented Nicu Buculei image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/060.svg0000777000175000001440000000747712275647242021742 0ustar dominiqueusers Clipart by Nicu Buculei - segmented Nicu Buculei image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/052d.svg0000777000175000001440000000557612275647243022106 0ustar dominiqueusers image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/052c.svg0000777000175000001440000000752012275647243022074 0ustar dominiqueusers image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/052b.svg0000777000175000001440000000532612275647243022075 0ustar dominiqueusers image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/052.svg0000777000175000001440000000736612275647244021742 0ustar dominiqueusers Clipart by Nicu Buculei - segmented Nicu Buculei image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/051.svg0000777000175000001440000000760112275647244021731 0ustar dominiqueusers Clipart by Nicu Buculei - segmented Nicu Buculei image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/050d.svg0000777000175000001440000000550012275647245022071 0ustar dominiqueusers image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/050c.svg0000777000175000001440000000753012275647245022075 0ustar dominiqueusers image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/050b.svg0000777000175000001440000000536512275647245022100 0ustar dominiqueusers image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/050.svg0000777000175000001440000000707012275647244021730 0ustar dominiqueusers Clipart by Nicu Buculei - segmented Nicu Buculei image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/043b.svg0000777000175000001440000000632412275647242022073 0ustar dominiqueusers image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/043.svg0000777000175000001440000000711612275647244021733 0ustar dominiqueusers Clipart by Nicu Buculei - segmented Nicu Buculei image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/042.svg0000777000175000001440000000420512275647244021726 0ustar dominiqueusers image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/041.svg0000777000175000001440000000733012275647244021727 0ustar dominiqueusers Clipart by Nicu Buculei - segmented Nicu Buculei image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/040b.svg0000777000175000001440000000562712275647243022076 0ustar dominiqueusers image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/040.svg0000777000175000001440000000711512275647244021727 0ustar dominiqueusers Clipart by Nicu Buculei - segmented Nicu Buculei image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/032c.svg0000777000175000001440000000674612275647243022103 0ustar dominiqueusers image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/032b.svg0000777000175000001440000000515112275647243022067 0ustar dominiqueusers image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/032.svg0000777000175000001440000000630712275647243021731 0ustar dominiqueusers Clipart by Nicu Buculei - segmented Nicu Buculei image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/031.svg0000777000175000001440000000606412275647243021730 0ustar dominiqueusers Clipart by Nicu Buculei - segmented Nicu Buculei image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/030c.svg0000777000175000001440000000675212275647244022077 0ustar dominiqueusers image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/030b.svg0000777000175000001440000000507712275647244022075 0ustar dominiqueusers image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/030.svg0000777000175000001440000000630412275647243021724 0ustar dominiqueusers Clipart by Nicu Buculei - segmented Nicu Buculei image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/023c.svg0000777000175000001440000001125112275647242022065 0ustar dominiqueusers image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/023b.svg0000777000175000001440000000626412275647242022074 0ustar dominiqueusers image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/023.svg0000777000175000001440000001147312275647242021730 0ustar dominiqueusers Clipart by Nicu Buculei - segmented Nicu Buculei image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/022c.svg0000777000175000001440000005121112275647245022067 0ustar dominiqueusers image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/022b.svg0000777000175000001440000003615312275647244022075 0ustar dominiqueusers image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/022.svg0000777000175000001440000001076612275647241021732 0ustar dominiqueusers Clipart by Nicu Buculei - segmented Nicu Buculei image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/021.svg0000777000175000001440000001151012275647241021715 0ustar dominiqueusers Clipart by Nicu Buculei - segmented Nicu Buculei image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/020c.svg0000777000175000001440000000664512275647243022076 0ustar dominiqueusers image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/020b.svg0000777000175000001440000001003712275647243022063 0ustar dominiqueusers image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/020.svg0000777000175000001440000001215012275647241021715 0ustar dominiqueusers Clipart by Nicu Buculei - segmented Nicu Buculei image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/012.svg0000777000175000001440000001012412275647244021720 0ustar dominiqueusers Clipart by Nicu Buculei - segmented Nicu Buculei image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/011.svg0000777000175000001440000001012412275647244021717 0ustar dominiqueusers Clipart by Nicu Buculei - segmented Nicu Buculei image/svg+xml ffDiaporama/src/ffDiaporama/img/TextFrame/010.svg0000777000175000001440000001012512275647244021717 0ustar dominiqueusers Clipart by Nicu Buculei - segmented Nicu Buculei image/svg+xml ffDiaporama/src/ffDiaporama/img/Text/0000777000175000001440000000000012275647260017717 5ustar dominiqueusersffDiaporama/src/ffDiaporama/img/Text/text_underline.png0000777000175000001440000000042112275647260023456 0ustar dominiqueusersPNG  IHDR7gAMA7tEXtSoftwareAdobe ImageReadyqe<IDAT(cπ2<}~/q}4#cXQ??` rg )pT?IH 1DDRc ׏MyC 2|E H U/? "nyIENDB`ffDiaporama/src/ffDiaporama/img/Text/text_super.png0000777000175000001440000000620412275647260022634 0ustar dominiqueusersPNG  IHDRa pHYs  ~ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڌ1kPv2l{+d0TZkPZ1S KE@hLJc lYjIvLnyO{DUy,jv^O﫼;1?h4*JIpu ?Pn(J!័ʯسCooZP8eάe8^.]V/>&d8R{w %IENDB`ffDiaporama/src/ffDiaporama/img/Text/text_sub.png0000777000175000001440000000607712275647260022277 0ustar dominiqueusersPNG  IHDRa pHYs  ~ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FZIDATxڌJ@YzR H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxԑ 0CQ)I')t*HJ@rK_3@9*$4ρ)@ђX%-Mn~@gwr, t-Hy K(@W9j8'qeQ꿢IENDB`ffDiaporama/src/ffDiaporama/img/Text/text_list.png0000777000175000001440000000551512275647260022455 0ustar dominiqueusersPNG  IHDRa pHYs  ~ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FhIDATxA @ +׾#Dѓ{-!`W@0IZ=J)ar[K77KLa8ZDO@?`FAp~2IENDB`ffDiaporama/src/ffDiaporama/img/Text/text_italic.png0000777000175000001440000000033712275647260022744 0ustar dominiqueusersPNG  IHDR7gAMA7tEXtSoftwareAdobe ImageReadyqe<qIDAT(cπ2P[AvCꇄ4!A&NJ AQmN^m>F (x`_+3qI$78.0! `;cIENDB`ffDiaporama/src/ffDiaporama/img/Text/text_indent_out.png0000777000175000001440000000543712275647260023655 0ustar dominiqueusersPNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME !#8oQIDAT8c`1Ok ).@3#-S;  !""aŊ 06 @ň \^4`g&r 䱄#IENDB`ffDiaporama/src/ffDiaporama/img/Text/text_indent_in.png0000777000175000001440000000544012275647260023446 0ustar dominiqueusersPNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME !'1RIDAT8c`1Ok ).@7#/S+  !"".b Mr`K;@0g&Y 1GIENDB`ffDiaporama/src/ffDiaporama/img/Text/text_bold.png0000777000175000001440000000046012275647260022414 0ustar dominiqueusersPNG  IHDR7gAMA7tEXtSoftwareAdobe ImageReadyqe<IDAT(cπ2PKAyBS',aBq} V^1֧O+CAz}h_n-c(H|ߧX|Q ,a2yy4 /@SVjh l=']=K Tz\JZz_IENDB`ffDiaporama/src/ffDiaporama/img/Text/text_align_vup.png0000777000175000001440000000033412275647260023460 0ustar dominiqueusersPNG  IHDRasRGBbKGD pHYs  tIME *:OtEXtCommentCreated with GIMPW7IDAT8c`hOA88;wtEXtCommentCreated with GIMPWGIDAT8c`TC I#h4̈:I4QOq 2 HvJ*$;5 w+ݥ PcIENDB`ffDiaporama/src/ffDiaporama/img/Text/text_align_vbottom.png0000777000175000001440000000033312275647260024337 0ustar dominiqueusersPNG  IHDRasRGBbKGD pHYs  tIME , ʁtEXtCommentCreated with GIMPW6IDAT8c` b`?rBcQG1@7?z~ ҆IENDB`ffDiaporama/src/ffDiaporama/img/Text/text_align_right.png0000777000175000001440000000032112275647260023757 0ustar dominiqueusersPNG  IHDR7gAMA7tEXtSoftwareAdobe ImageReadyqe<cIDAT(cπ01PD /0Ű?1&@@P0xhR#یHt^yω6?ݿ3n1`dHLdqIENDB`ffDiaporama/src/ffDiaporama/img/Text/text_align_left.png0000777000175000001440000000032112275647260023574 0ustar dominiqueusersPNG  IHDR7gAMA7tEXtSoftwareAdobe ImageReadyqe<cIDAT(cπ01PD /0Ű?1&Ű8R#یvC_hzo4`>Ll@FL.UIENDB`ffDiaporama/src/ffDiaporama/img/Text/text_align_justif.png0000777000175000001440000000035212275647260024152 0ustar dominiqueusersPNG  IHDR7sRGBbKGD̿ pHYs  tIME'mnIDAT(ϥ 0 /h1gf`'v`֠@#LįD>,;26x<EQEFb&A=3Src*ɡ1y!sô_XO +K7sIENDB`ffDiaporama/src/ffDiaporama/img/Text/text_align_center.png0000777000175000001440000000035212275647260024126 0ustar dominiqueusersPNG  IHDR7gAMA7tEXtSoftwareAdobe ImageReadyqe<|IDAT(cπ01PD /0Ű?1&00d 9Ǧd3!?x7ghV#P70ClU/?l #ű V,ѕIENDB`ffDiaporama/src/ffDiaporama/img/Text/outline.png0000777000175000001440000000033512275647260022110 0ustar dominiqueusersPNG  IHDRabKGD pHYs  tIME xtEXtCommentCreated with GIMPWEIDAT8c`R`sNGwNGCVB[ x@5 0&U;@)IENDB`ffDiaporama/src/ffDiaporama/img/Text/normal.png0000777000175000001440000000030512275647260021716 0ustar dominiqueusersPNG  IHDRabKGD pHYs  tIME ;xtEXtCommentCreated with GIMPW-IDAT8c`*KY#I63R/0 )IENDB`ffDiaporama/src/ffDiaporama/img/Text/Shadow upper right.png0000777000175000001440000000031212275647260024063 0ustar dominiqueusersPNG  IHDRabKGD pHYs  tIME gtEXtCommentCreated with GIMPW2IDAT8c`ba5ΩUzIr"02QF *\Y-IENDB`ffDiaporama/src/ffDiaporama/img/Text/Shadow upper left.png0000777000175000001440000000031712275647260023705 0ustar dominiqueusersPNG  IHDRabKGD pHYs  tIME 1tEXtCommentCreated with GIMPW7IDAT8c`Rc3Ω0 c````4 F   *o@sIENDB`ffDiaporama/src/ffDiaporama/img/Text/Shadow bottom right.png0000777000175000001440000000032312275647260024236 0ustar dominiqueusersPNG  IHDRabKGD pHYs  tIME S%tEXtCommentCreated with GIMPW;IDAT8c`*KY#g``5  ϵLT041H%t?HIENDB`ffDiaporama/src/ffDiaporama/img/Text/Shadow bottom left.png0000777000175000001440000000032412275647260024054 0ustar dominiqueusersPNG  IHDRabKGD pHYs  tIME  9tEXtCommentCreated with GIMPW20000QPb $%LIENDB`ffDiaporama/src/ffDiaporama/img/MediaIcons/0000777000175000001440000000000012275647267021015 5ustar dominiqueusersffDiaporama/src/ffDiaporama/img/MediaIcons/readme.txt0000777000175000001440000000010712275647267023014 0ustar dominiqueusersThis folder contains icon files representing devices and media objects ffDiaporama/src/ffDiaporama/img/MediaIcons/48x48/0000777000175000001440000000000012275647264021611 5ustar dominiqueusersffDiaporama/src/ffDiaporama/img/MediaIcons/48x48/video.png0000777000175000001440000001265212275647264023436 0ustar dominiqueusersPNG  IHDR00W OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME7* d IDATh޵ZiTνvϾ0fBR*.QP%K$ĊK%P!hc\шK DL(0.K4*aÌ0tOOo{-zA_իz{;;9v2sm!F>9P,=%8a(jHHq9Wh-0t8n%@+8ZR ܕUC3qT/itOWۀXqH\ J2ژ"K\ V-Cs '_k|JG [״iZk8gZ^x'qC#b+F4'Pkx ~&)@W?0M buH б|Wq_riڃ-iJb;Zg/hĻ} &)f8 ]̄)Ã;#`@D/e )sFXj/>[04"cwΩF f"Dp ?9ocu#i~jp=,R|b\/4? 7@%!0Iypwڵı%fp) 9p9VX ⾤KDZ/ ;-V ^T e ٜ(U5wuRP}f84VL59ёq#S56s 9rF\X) 8 `b&E );M%¦ 3 P I,;z)0QN5"R vi\X@R)Q @7' R@73H)E@4 rR#N-"KӶ>s$@d#SIb$ iZtJ0d|Z+M1(fJ:QN|BLAwbpv56VH A&b# a)&˹XQ.UKg`Ѭb|n>:D%zRIp)P. $y@#xyE#b!j^C3xI% ?urw@D0eȪUl[ { Xd,=HN xS* ?~qn 6 \| @TgS$ER$lS<͏ c˩xxW#Nပt"rp@(idaLUIeX0;*Sj{H/̱8$:P"RՅVVV4ŗ@u7&'4| jSz(ʢauid-RPʥT@= F `>3޹ :g)j$ps }w`IId mMU,))4JS&+yq @c!(=>>1;p!(exG ? =|c2q6'A|ib{F|{AꁌSf`b y6sS HjdzU Rvu?K[yQ3+f"a i$OONSLR<+Ynj9+ Q  '{$u_')Pk 2)w4$q1b=IK҄ SDdфk H'1m K[P 'er+4fn7=LE_e[_To /jʫ9bjii-[ڊ xY̐3?ʃJ` rorIENDB`ffDiaporama/src/ffDiaporama/img/MediaIcons/48x48/usb.png0000777000175000001440000000366012275647264023120 0ustar dominiqueusersPNG  IHDR00WbKGD pHYs B(xtIME 5^=IDAThkL[Ɵs}|p %!4N,YM4lSfJv'U+U7M#͖6iQ2e ]`,iB(7C @.1`lcc`s*5YjOes$I$I$I/ Uع$F]AA'x=='7Vt=Hok=Zmi*]$(Hii(Lϸpygzzҫ 0LdGGtH${:+pvN`>zCԚU(HxiٌV*Rb5׮e>iӦ5kC2 !He둿qZQkR@= g)CIͺu5kNRAي5Ų7ɓ@@xEfG^% Ta!N))!+KXVrtw9 p_j{^_z`۶B$9q7UwA/]e>;shz`6}K)_bO }w%]ZJp`bb6(ղI4z+Ĩ]ZL.+z։! |`hUUD/opB cv~ٹKFt28~]{.D|^s5IEc&(=z cccZxbؾ(Y"1.m۳ULL 鮮߾' 8.-݊ X֎qXVX,V%밳0dg} <3aG ФJIC*#VvrĢߝLH8xM:R_2k[eefb\X}+Z4$)c W!S/tG狰[XeC{>d-CHcY:Ҍ  JV CiŠ%#7:Xֺpr-ti}P( 7W`v6e4ڰ(Y9y6S;9exWb1K--:|**bff C144P( J d]=(.14 GҁƆaܜޏ"ͯi]IrPT8̢gΜI>>w/|>/sSH5fC!5lᇦwDmFMS0`tԂ E A #a_G8n76Ў+`77N/#}#_sT݂S켯]+)(Q[{\8gm6O]$½l{DB{d_Uzؑ_%&I$I$I7S _3IENDB`ffDiaporama/src/ffDiaporama/img/MediaIcons/48x48/image.png0000777000175000001440000001361312275647264023410 0ustar dominiqueusersPNG  IHDR00W OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME-X IDAThY%GV'".Uuku/U.wyk= !Y>O|$ 4#xb`c{Ҷ{1MoKuwuo-3#ܬKl!*gG&<ƃ`2ۍ_znT6Y{l;v{gy7>lCiP0V2RUB{~p~! =Qp&[BPQJS&u!(>H~!{֨&SvO%B*5 8%IX+hF<̥lC_1&%uNIiɭ|DPD( X`FB怒aEQ1 `DJd!@ IQA3DrgE*SXHnAv-Q%C4EAPE1A+/΁X̱=ٖZFȚ2hJ )ο5" ѐ٩YX !A+p ]p)6[ 7DJ Vk,FPD dQ*yDA5F^ ѹ9e spA(r<@Ĕa0 b lNɋV s9ʯby".*52\wPiTD1ƌ>3 LBF"yG1r]TWLQNR3W c!l,(*XP5a<*ew^^RF$$*$\N"X^svZ`n.^Ȕ y1W!%Q_]dJ2/Q9UDOBA9bY5Z6s3crdE5+qf))Njř!h(x93]fgDz)XFD ehP 4)*VJ$%EC3EƽYb ԜŔjtZmEd,7~(QY"#%%_ Bˆ1}bk$h^7_Ɵ@dĒj@dZ?TC3qfj 3lLYD9sș jNEط1sc-v6yoԢlCdQd%r9"GZam>b/$UQdJU`V哲e ϽKk+l`v"7N}M4h ڦ##Hi%SƂYH:y );:~Kzz bcØ4x fvFR4H!dpɘ')~{\:ˉun. j .ྃ(`,;3?^sĉO鷿˞@ x!\gAAԀ;X>w˧>l 1Y&:{9 iB`"8lTO_g| {=5FVxyfklqǜ.q/|#/>OHVA'??d:ކtȬW^xI72>n9~<$c +T"j*@Քt8v@Pa,2"i EܾŅlM.䯸Nu?_Ë|;~fc [} 9X͓S34'3KMgs&>੥GمLFJfWutO#N5W"ؿ|g/ӏ<x/3)"i7un?_qp8t 1Z xv1b"e]3vń]#1Gh<ҋ=SZ^~g/ez4MNjx)6}VֶFZ=?/po^ɩv#kuw8nvWYUv6M+Z;$){dslmY&h` KK+qe:I;0وP~E{ lCqB?;³.gf5 nq2[X۠ݻY_^,jbRܞN'e_gcmXcv=iNM:5+ڏ=\SSK4>'^`{5e>=D4rZW>~+oF',31k|]: 'O\pf{?AŦ|y?7fp<'/`iaV7پ }p71gf=G_yp2o[,.@s3լqeNF!O-#1F{9~lbhG_՛Ns ΜӏSgx_o?j;LM:9 [|Olqa\G2,ϕǓb f?<)o16 MB26U!&S.qg:5LY88V ͳ mZ1 s]nr`fkwyx[=.ܾΗ#k/qE\r+w_=}_<ڌ1Fs xFUEN:ͺ ChYַaSiF>Snn/h{>P SA %UVX9nT>:1H!Uv^i9Zglյau82`)ب Cֺ 3$e!n{BъhxzZDn 54 MàW0& B-Q FYf'n ),̳һ0efj\]ЙG|/00ʴ3t;RQ:MCBWlOw}j2@LuIdXYrǁ *-=QPS: @ GF q s5FJ{M9f ݔvӘo!0 .R`HJ\)fzkLa58*itB\@kš+[5<ĪX̋0hLG)C5 AR`I!L&vvBkJP,I, UH ;^ uRZ罧/{WPe2?1r$ )RrsHTYcqT@UvSMEZSyZԆq׬y=?\z%T\k^w^)o1$Iڟ}΃ƃ`rJFH^beIENDB`ffDiaporama/src/ffDiaporama/img/MediaIcons/48x48/hdd.png0000777000175000001440000000312412275647263023060 0ustar dominiqueusersPNG  IHDR00WbKGD pHYs B(xtIME /j!IDAThYoE~ٵ]i%mr?p9 '8sTn=UjEH6Ujc;Ixg%>ڞoy6 mhg#nEzoK)ؿ L),.N|V,ei~Ν]7]4-躎A ?6| JB?~W_OQUq/ߺu/ El$`V!h!o>ߚPr磝N8i7n&Ɍm'Bm@)X0~cHyЗRal,8''&.vIk\kiu ÂG x)[+Iض HePe4+q@= QdK42ẜp# .B(0 1q20:˹D`crPJc,8:4uPJ..]z?m Ak~k:~>@.煉lۉ $~sX%|,n]OpD朓S}(E {a9c"D>F xɏ@JB"yI:KGyi lT:GwJ  dx,NxXr(ݤҩ5HNnA)e qRx_bQ4#9!UZIK%&.lۙ0M37671Jq R HIBBA4vAK!o 4wضR镕{`LpBe@J hPJBȏe[㴯C)z]#_JMS*FF2fǖ|ۓRt9hÁ#{F~$?b r=yqf}3Lj)vh!;FI{$6i/=7wvk,3ͪUx=6?g_mr&'gέ}GIj5e!bc4n̞Qԩ\ERAT'`rr6RBR]@P^)%#(J @Tv@JP>E&1VbVA4u躎z!XXXG (%oF|%A)H&ja@!LvwwQ( h!cZ]^&E c Y|o|ba Z}NNMGxaSB`_)e(㔼~7R[Õ0wbibooC))zHo!6 i: r\8G333R\.?|.(PJT*T*a}} T6++w/k9 ۷~p7_w}ZniO'}Rb !dɓ?]՗*`ͮ 3 mhL&OIENDB`ffDiaporama/src/ffDiaporama/img/MediaIcons/48x48/hdd-lan.png0000777000175000001440000000371412275647264023636 0ustar dominiqueusersPNG  IHDR00WbKGD pHYs B(xtIME <YIDAThYKlfvr_dR8R`9R$ BZH P}-IҴ0Z$(Km"@_ȡiNAԒv,YP$J!%Kr9R|KQU;ٙ&N(5A_F1ƙ H=8sf(j\B!DjiMHzR)7~Wt"5;쳳A6ƿbQJ3'T00jRZ~V~{'RUf?c RLOݭggq.NBbjY])d96g *3A2iR I000YV@7q0+,I"D2 / Ug1VyJ*c EQH 4*D•YI[opuv[aejD"(926z4PB IY7fEXu\]7LL 3?Bp@>xKO4Skpw|U5 @8\8PHeo8cZF@&v6  s:f%؄h3oK̵H(4ԧhXm VK==P]BxOC@uRs7nk=΍ވ4BA]7HcpyQ+B56( 5*ADh J ÀGT8aQڠi/J9B6iH[ IOMo\wSu HR 0 m!|<CհقU] srz_zߝrsllظsgE"8{F'$J4,˭g\.=>v-)DxK︓W{Q188bb4aYVCa0 |T*3c <=]a6.f4؟ Ԇv( }+w׎R ͢y:W 7y^@4ET*sF"8HR(H$.$Fǫ+o"Ws P(`}}@@ lvϙfA[?Mn&za+kXt,^\rկ'VDn\^wՙߌg wdĉ߰,kk IR*n؜<8[X9;{/]/,>7 |jjVHAtjvdg/0 ?ӧq·Giz1Vp?Ox/hj~gŋ*ӴkW~AJCx@% _#/K[/nx@(J9z~{P P˶t 5y2`-mW.sȷhyq!~83o=\FPpXZZy:~:~=Z| _Q+Of2skFP[۶4 .oH$?5az:'>IIENDB`ffDiaporama/src/ffDiaporama/img/MediaIcons/48x48/gmaps.png0000777000175000001440000001163712275647264023441 0ustar dominiqueusersPNG  IHDR00WbKGD pHYs  tIME  1-DtEXtCommentCreated with GIMPWIDAThޥۏduks^]}鹐C*3Ð#nV$h#<9 ?8C7;yʣ<yp$@q $K-I$^>陾WW9gOWzKuTsY{o132y1Ƿ+7Q CD@H8fVKg>L9z$ ҮaAbkbKw<@ý_0dH}8|m&\2,j2W?`zlDLAq DPTJ8}F{/>dB|dҪ@~4;ImaiҾ yPυ ]=#fh=@Iz^d`{w9o'&9mz!-&N$o]8:GnE5#J;$8GBs\`ܣ)aR3[7/U0'y2})N>pfxk}]yX?ϟޭLC)<2/(`Bj)pmεhA铷)E.-3W#ƛ+k:4,Rbx <>8opjLgΰ\Âۯ t`xiy#M#&זk`Zy)77ekzIy*g8xaw&h;Jso|N/,S.GaNlqO^YYJO'6YE1b{~[?k6^|Bs뼴. hQ)< F(刦^ce 1i,%n*}_cPA۫_SR) FL<+sO$ZՃM4aҜû#0q)O e]\8=SdJgopVa{v''bT44Y<9ЧzqL23d\Y&MEU:,̌ 397y&o߸!S^Đ ­PTscokʝvpfrg# R,~C,x<ɣT?9F9Ǚe1\UM+igOyK"FtZ&r'^J5Q\.YPPT#fq6g:2{BL^& C3ASUL#f Nh:Z۠rpޱx̃;TSypV'Tudi?Aq"lٝ>iA2H<Q38(T.QU#Ȱ̷t9Ϝ<1`1RSd h*16Q\mrY@"%TR0:JhGjFp!ſh@ʒ ܿaA fYK4Mh6jJZhIM20ag9A_ʐXʁDawIHNFUUCHHWqe$Y9$& ˘h3M:ʉPC5u,B!WH-D,*Yó7'zGYKӀubmQr&*xa\g MPi*V;%]7YȹERRuzά7̐(sS .cA^qbT@Lseg ,h]\K qMY82j'<92:A䍣!>6i@!BDJ|Yiht 3J@y%( UJܪblQ[Kn3U,?Hr31AhEʲH2vpGU2XZgei,Df͔nc. )mJ S%h$hE@QMyn\ 2T뚡YZ\]9Gf 9<۾GCqG2osjeH- v.E XiwH*Z5h|߱vU..}_>eDd3b{C2 jjז٠O_&c!G {faСj_O+)zKdYP*/.ߺOByH2qo#L[NfkDZJoMma9 B괐EhgA oӉ;Fp1讲gGfR1% ֚=ӌ1IGfB.fnV)ayli4r,_*w\* i=7hIsmyV%]drڱl;)XBv?Y*NP !L 5-[#JbPB݁n?�:0/?[|gv {<T(*LfF?A^h.փ}~-(89J*d&:2tY攨5?C5DpgC'c\ O?hc)P2AmʙNZibHw7vf+'!~w[uab>8ԢY41z͂ ۜ[d?BDQ?!CPDL&M3noál2b$o6Ȁ>_YZh%eΔp7X_^?ux;y#Ǒ"3x-#*S1ۜ[ܩm0|=')E#s'N./ qxx|pe[_۠e %YF_M ?9^Ln=R9]EU;._:<? $&x.t|ueDD|v[lnVEL秭(# (/:!C(&iuJؼ7iD*#7,իqC2ћw?|?/,٫5魙*k!5YJVwLr(ձH;+2{1v\8 sm.tUIENDB`ffDiaporama/src/ffDiaporama/img/MediaIcons/48x48/folder_home.png0000777000175000001440000001034112275647264024604 0ustar dominiqueusersPNG  IHDR00WbKGD pHYs  tIME-~*GFyC:kݱu H;\ޱw/"ωX.30*N͋Μ8V:bcU}L]]]̙3ĉrl|dǖ^{bM2:bۿo[oU  4 躎LNN]r$g2QDÿx_}nn`]BNmۙ+~M+^ܿ;~b1n&Ɓq6O޻A1111iXUaRJO.;oNJԊ_zcig-j?P'IҫnVWϏGP>?Wn۶EaYi( bY>mW2JM׃olbᢺgP]I$>#gY֭/Djr`0i NLd!HӬ[V(:u- z};q }[};B\': #õ }h8rͪh:,8I8d7Ω#.PT"]+ϗ׶ij]/њ57=뒉NZY8DX,,{z^|^Y_W+|ϫDJf׬cŒ,lZO*u%c#lܴ|Jr[~!p:ukɾ5?}!љw] 1kL$~yΩ6翈h%]٤4MCQiTǎqKFK4JTUr9|/@:3׾dNhWm|Xdb6:i{c%"=ui,[5g0_B]],K>r*5%EvDZۙH&ʾV쎷\c;t{[67}j2`6ϴH)/zlU2P( c'=Q6:/t `ZX;r~f& B)9㠪#0qQ\_-qt[w3otR!,+@00L4Uk>] &a6ҲJ>CF _]|w-Hkkۜ>2I*B0t0R9_>R"ʼ/]uf!Pq8vsd.7*4"c˩ s^H n:kfaa00M )UE<,˪H뺄B!0#Y 4eaѣ,@۶}4pmS(xuuM֝;O״#GP0_>3OQu0$122£~~1<ȱcP)%p9}dE$m.M 0 ロBy'؇nȓwIu$ ;ܹ(RZh%RJ"ccc:`:3M]}t0fEqCCCD" 4+5)%9Q( H}YLezhYYR[[JфaTUEUU0eRljAZZVR^8&' xi躁Dj|P8L0$RV(MӈF<ϣ҈.J4/1a TH,ƍR255iZ q]]+Sih^0 EE"uM0 ]+=[lA4&&&Bcc#ssG˜͒?yYDʭ̙ضC*=HӥEUH~P@iN/ݯ'ODUUFFFbjjsB䨯'mcYVE1|#xAL&.uua(ˉ ¤ım֬YCww7Grmj 9u+yH{Ş GZQJ9ȲYQ67Tlcz2\rJ)]yAhfi/ RO ,[Balqe `.iL& o280%K*u/WD3`ɂdZ9Og˼l0>e*2)2\E뚊4M$ E845oW2\Vnd\ڦVxG}_!`l||_ҰPE]yEg <}UϢ S@QbdUlڴ<EQ! W(BCcbbڢHya _B@A ilڼaVO'8Nʜ/p1s]lǩ}P(D[J  Ԗ/>s;җRJsSoS&LCCe ^Rt/Ԅ(*SNEcccQ4Cos0w 4a(.oO ʓUE~(ln ^)ϫUxWt/,ՅD ~E`+bπ[$_>c6gbQZ8QcAxR}{W|71;MUuLg~df՟fh"l݋VRRJ(8E'UC0B9^|Qv`=Ƈq={ZɋpP_*sn۵wzLTMU8q$gɴsyիQmV&\\l6iH)IJc;躆xC}tsV(d]|`-|~l?O?{{1ng$ͳde/2b|삍Zxς 0M|!_@f:SLxq=<vBrFjPȻ:R,X:ѳv!jj͟{Т*7߶vi/H٬LlBXN  Uq@ݐ޽{+LuYtݐB(bnC>F@%7j ˷2<0A*MDxI욫?E{hL:/<' rW_`n6 Y,o=nQzW/.οw!q=Wp4 }ϭ(Vj9F]ĭ"{YMMmR9,#cЧw^c٪h(jFnγ='s׷h;3 B[@ٱo}_B($Y$ RzzW¼]CCZO:#B~j$?b$[mWMO媼 H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME'BIDAThZˍ1 mFn!]$%9W#+)%d=XTveA5 0F/Dq ӆa u`/ry$O -#""xvu<w:zzZ/a9 DEDq\~_D4H=cqkCcG 2.gd4^18:Sm(yثHB/%H)P @NAj@H锂ݽ֏xb$BB`rNrNX&{S,p:@X)҇rg8Jdu}˜ifm$@6G /KT=9yPrթ:KЩt^گPN[U(7SKT(Dy7Ucpy ֖"cF1BSˍTSB!ʃ5t$vl \ρBsIu"(4AT-)o\M<{`U)OiZSQ`UJRt) *k餲"kP|ۗTĒVJAt)-R/j"QD"I2<A't9q]@فos~ p8oƘO9..*wɕ938/*eGiOԐ}fIENDB`ffDiaporama/src/ffDiaporama/img/MediaIcons/48x48/ffDiaporama.png0000777000175000001440000001312212275647264024532 0ustar dominiqueusersPNG  IHDR00WbKGD pHYs.#.#x?vtIME GIDAThޕ[du>K{g9*Ғ`$F LK %8'?rÉ22lCbd˒MF4(zfz/u;׽W91ySuZZ%_3U@8]*@ * "Agqb " "DAUߨo /xZAJku'?ɯ;X7`T!ԵAQ4bcTEX0.KS7c]"ET4TPOEB/F`/ 4EdM&Xq _ymYՙ%b\튟:۶ -p\>XKv'AYH1$Ešdtb|H Հb:#|1(FTU+szO͵Woj{Eb[o,6 U;2D'>Suӈ7 |,TU_ ȏuͥK?`2n92`7ADW$P3kJhQNMybrS1*~QӺ~:A>+ݔ\\EY"T}lt @d+hsDYu׈:K'чO>KK8q{9ˎ .A wfǷktRs ե.NpVRQ7Jh !hNlCo@sPxV滜"Nm.K ˬ} 6*n 9}F,mR@S@4|cUTV+%q\j12g44ŮcZ qb~8b?; 8C>work&*S<>~e Tc&ۀI; s'3$eC93fѤpoFsӦ b a '/ ڽ qL}.›mxlAEԇi{L#l.q7 z8,J^xI 5kA%`4(iE2{5 KX 9&f:8;./!2!uB7Pr@qtoWgʲ@4"M"Yy} y5B}~p=GX}N'`&}VOQEݻo2ށڣz jB]@=[YOP5+eY?&J*|Yf11N=jM#4aL /SMbC/<N--1|𽿤{NO0~Le[Np\ +"ᘅ~=eW 2 ,Zw2"8X_aca(WDOßϿPgϞC77k`kk7xo~v} ARhSzmW;h#S55P@vk3g>ɹGP) ~`qh݌V`g.^/O~_xVŧ?i{9~izykmO3y뭷xxy> 꺙ЛIqTMx43=Ǘ_{Is0bgRb~gθu;w9?t:hHբ( bʲd4MADD#R{%IcSh0xUtF}k8KT,ηiAG,{8E+til(&[ FSr@UxiOQXc.qSUeY$ u\Du: C^{5Ο@DŽdYJMRj{?_e@"Rc x\Up8 GØՅ(!m(sg{8Y\\*+& 'Oda5(z*p7ȲeU+q$I8n2wl7$iJan߻ uN;Kd)|1f\רup2hAUNsB1יG/O`!#S (^;;ǚcum =|Jf8j8T#K˱XZ;GGt,'M2D$08aMUx0k͈) y>`xJgcF^ݝݙ=(t:ln>D$jk-:@@c%~Fg,i8"iϳ!"%tc3L#|h:C̨ι9*M]<*4(C`2 Ti$lCDQ3l`xt0[baKP"nn{$EGwՄs'6;<8h{xZ%I>(t:`պgV2G5$`|E^Df܅1Q嚪``Lhd"Pu{h(oҔS&Ҍ9pyg[ ICUUYYi x`ww$IF}g77Ik-*i.iYUڑlup2iKS*2Τﯣ.K@ kS=6O?A^重1I8o?Uf8gq.!"nsT"7 }>g66HC=Iv1ư}ލkW4ZUt2nh۷o;~|on׈ږH6_&h$wmig-)F7H ۻ'_B8gt{\Ǵ c-vJ^~%>ϒ_Ɵ׾od""Ⱥ`mdh-g\tkݧ~l{O]+ߢ1ߟ,K I<\8 vvvw~7믒%^FlL(v iQ(kXY3t=BruY19:d|x-&py'ON̽zs3i kgwկ~_x֍!҈ͭu\kBк9>4N$i'-&DT#HdRR^șž"'AbgiBi,JIQã&ʧe%IkyiaᑋG?3m>p[ފQz?+u*j5Rhl%,9i--t29h**H;['>iU#&t:m~Fh$qMʗUY\Y 1XMX,~ .DYWxC6FBb^Mbt<$UDfi"3dI[:]u5up8BjE2]:<Ŗiap9M8lIv?THnzt]`b0Qh銫e=XۆzGd BuL8QI'f?%*Pxs>M1 3UdddL y'+Y\,*NR˟@RjB7#v㍜;w~ٽk7qqq()#%#-DiL:j2z86y='OxJ)%4G vB` x <)-كAJ).@LdرbV;Hn;jǏO>d o.0 !WJ\l;}XJx[h 0=wow 8W)P $tzox222U6ݧ(dIq?UJ L-wMJJ ݼ`3H4M/_xWϪB`;99L9]%l|o#%INNFq&B4c>unMCL$"Bmmlڸo羕+ɛe(%*R: %JJiM8f%̙w+o:jm蝢.pbr5MLui4y#x')i4ha,Zp{;Eo㹦JO>TU[w~իJ2,PR{>l,{(?5m[R_WB؈T [:WG:*%iB@\Orƌ˩QX}CC5;rm;֭}#O*ԉK)TW8\㚮/l5gMٶri7B!vLJj*iyX&Fv$J*Tض;zÈM3fʮ10MӴn޽@۲F*% ?Czz:up*)i[$$&uۯPUY x>97A!4(uRr4#iwrv$!MAvի+A8R8)pLF0m:h4eY-AۦwR>4IHGCLj@,?!z2¡v}aĉ Ե+6&mF)))ϝ՗_!֎rZ$&&P04-P;-".5>|)b|2@ir,!W041 PC!.a ?{"ʔi71z8qeaFUF C.u{|o~ʏrBx<z˥#NJAC:(.L_o娴~̼BtIKK ,߼L\ &M?ǗG4 @)I! c<8t]Gc6u^FDq$|qn ˰ÉF#DxPS"0L‘vL2hF[k躎iQ̊;) L86o\P:F%% W>믿dBDlӦ94!pBv{:N#699áwRh4Pv)v?u9VװdCcfgY{TZB{=<ܻ]Х]LM& lh^9XveݲLB6 LdP9y -W^}뢠ihur>Bwdd &3+$@(ԆeX ˂h4 P8&'74*>?MQQ3nAرpݗTīxbÛ{PT ;Ϳ'9}i&cơ XTy {vԼ6ng +?(p:Ǐ#RKñX|9iG蕘HZj*soH8l 1w X&(Md藖νgzMg[w}iՆhe;ԓkhikKt-ӷ_…]--XhX)П}de b|2?ah]Adr=J) 0e54\~.gGmvG雚J{$¸ ]ߗW2XvY3av\_䁕0M 4m۪)O.6Pý+e 24ՅM޵g6d%l2VV1idG&*4io</=g$AĉܣKǙ>_Hf3~}7p˭s`;wTp'bD{~/wtPe(5}fֈ.MԐCŬ[bng6PKfVƌKOMu5c'7}Wlb_I h_cG`>4 4}޿io!Ϋ}H >Q)ylF)/-vl9¨1fWq1^#x|^.Zߣ蝍߰G ~seeX~#Ӂd  5g)gN R6a+*8SQI @:.h#jX/ޏC*Ǩ:^u Ӵ"]bYv%p84U@>  {%J?;?/pm$T f4hn vضi84Mp 9|Ȗz *z zA~f?7Hpi=;sx1c="L`07TAa:^W_Cnqbn@#Uq@{LIICz% ꝔثG)HN0H4\l? b@KL U-b)⋁Fq'&nnM5MJJ)RV I{L"11ڨJc>ޝ`ݤ3JRbjuv*]a_(U^VMœ6 ?IENDB`ffDiaporama/src/ffDiaporama/img/MediaIcons/48x48/clipart.png0000777000175000001440000000341112275647263023756 0ustar dominiqueusersPNG  IHDR00WbKGD pHYs0%tIME :4gIDATh՘[lWgdz];v'q[icQe BP("A[JP(Bc@(jŎD;z8^b{osY ry~93*}}}MMM6EQ+gϞ*!e${hmmvv[ott@ ]!R 7@eYDQnkll|jxxx"㸦i8N," 199I*"SWW'FGG+t]?[jΪ. Ӊ!H&~bx+WTYRC1MӒ`i&t!a:~Y è-&֠a'vYQU5x.]iL&5 jnx4} ð:|ƔYD-?.]-̎hT/^|hUu\# &5yU<۶5D'{ 1 3!'"]UnLmMuWRpN`NIHn2ԥ w3Ǫh[|i8Q*Dγj*mky -"U ۏ`$v8薻j y 33y5A.'8q/sl uķQ`l:@|keXjwxii]Z,QYCuTJp~ ᾖoEƦJ7A_ ?)TAQXN8coC3zۺKQ7zj˨ IENDB`ffDiaporama/src/ffDiaporama/img/MediaIcons/48x48/cdrom.png0000777000175000001440000001145612275647263023434 0ustar dominiqueusersPNG  IHDR00WbKGD pHYs  tIME 6ٛIDATh޽}]}?y9}$^$$Hj/ ;3Tēx$iu=m48ui&ȱc($ <,]VݻsqEe;93{+|M7Ç?wxft4AD9g%M03=펽J~?K>gqV|͞V_/lZFi"bi!KLeqjK/}{ }<<}3|__Cy;!TB!IJ Ъ%>1=`m+{7^s͆Ys"ֈ6H1BkJDҚ$1mbIp~ٳg`޽ݻ_˭7jVK?c|NDAF$Aj5$IPJ!JP1cZgzj?~~ nذ+bR }x+?*cNDЪ#DIFJ!JW h%iUV_9r+@6>>΍7xE|y/9_ܿZh@g [ FF)҂R5$D%JVBk-W|w~h<#,|?!d~}+~hHhDD ((+ :Hg 5T')Ib:aUdH$B1*dbb?~{t͌3ٳG_׿辯UE""'=PB (%hcmPF!IK%#${xGGFFX\\ry?+-Eqx@ V&@9("JZ+Tq/Bc~xPϟ/2"g>[pFCG'vxT;s(P"UY W1Ƹk׮<۷{@ұ/4|{6Np{1b"SB"iFQzeFINhTwrycO>wuo=EɁ)mz~ EjU.QA*(UĤ CXaj]]$IIӪ+Uw~C{QJ, ~駟.ҝSޜ>&˲WZZ6} O "{<'{mmz;ӟ,!)45(Q&)} v'N[1ݻw_,˲155*Ih4ڍF&&&s36lIc;#H@d;!l6p- @-44QUV - ](-o5keY& }ÓYZ밴1;_fdZ;;88s.Tj!TaC9؎Gwz?yy#8` IHɲ@Az7Nyצk#P__l'y>]Ŭs.D)dTJO/,4%vVX)[ZyQ]zr:TTCW=^S1djc[xʞYuhZ̙3c(bkZe\>00kCqm=s8gqz;Wy]otmX֭[G|)(U_*֨"Iz]j$ r¹x Ie@QC-[;w\^ezϟ?@cjnff&BxQZGYvwVQX[J0BwOOw QWSJ0 c~7o… -,,tuuQD, .h4(KKQ8kcmI!b}cݺX[f1A)UQ]0U6J$Pw" _Rsv{`Q !,qU!}"+#@v-TR*1tRQ. !#i'9t#eֲu֭['"@tY\+8_BA b t(m0=3">ZMhF,N<9 x=tlܸ[M=fijS+Oq~lzaKGi-X[-B3[ꂃc1zD) uYu%vVkq>phszzOkZi>ɓ}@ʷ_z'CY/ UsO~_̞=sz2I3Đ)Y)iֺ2Li`Izn344P9{lsNYj'N i"/\k2mfN/EJґgqZ ێ"wyIoǎ{;ox&Ij tZeM&,d٤_|qn8rJʲԧNjcL齗(z^eYE8ܬ̮svXhx_Vb@CI@ZooIyV#1IT:V)V ءK.V+,ffھ}ۡZfRK,Th !70[E^\.Voj\.xGU}+&BLdqax`llѣG^{߿%Q3Y/TbhMoOcG~7ֲŮFlU7V1_h6#;$u\ip^]0Ҋq޲ܷoÇî7zޡD,lD& l4ZK-֮.v~۾n"cnlfg-(I:wx15x&Z:̴?#c;v0=5ZT:KF$addj:$*ꍬ^2"ں5X;`Zh{q:F-AabC- 58դ9֕EE+/3e2//~q? "˓+vgd0==Y ZE-) xkYDaǂR/bV5)cJ^>uz|?@oY;c?]t+Ξh0Y@ERMBc/wBE-\(G-ʝov ['sE|@2=乳E$:9Xҁ)soYJ1$Y bXE!c-tҊ!kKk7Wif9aΝ;+H5vEYREYWJ6ZXqk{u8碨(lh[:nڱc.o;L,EQ$u,*g.btعѯ?$zz'׾ׯ_kL}*L *ZyNQes "w68\t`\2@+/='448McVh-Kɓo9W<#@g+U ׭_U5险̅`{s%I}|v)3IENDB`ffDiaporama/src/ffDiaporama/img/MediaIcons/48x48/audio.png0000777000175000001440000000415712275647263023431 0ustar dominiqueusersPNG  IHDR00WbKGD pHYs B(xtIME*CEIDAThY]lWν3;]{m?qI_)I[% )QʥH@ jx>TB*/'D%P%T<O (Zі($mI?]ܹv֞nlFkD4;w3=9=޳v7o5lxdeİ5+sm/~Q~qHуfkt{;¨<< ൏o !X3dt<ez;^_gỲi7Δ˷.ڕpN`9"y $Ga|Ol+d[P9p "(# 2i\H0J`xd5|gTغvlnٵ%O[Z!ʶ;26F2P"-Tll`}#@}o߉6oʢ=q\G@ #D@(XfhÈM1+pAd]BC[Оs H+ GX|5JrJl'D1p$XFlJפQ12+1[A-bc05TxI)P 5fK!";_[,deZ+ -DKF"\BA0UpubL%ai2lH\gxsu IY#I^ 4nW"\2㎪Iygؚ2۫\>J@'[CF`lڏ2a!7\dؚ]kemA͗Wn4jiT4xHo Uh03%4{{"nLզyNIh#P߷tmS1Yu!l5~pеs X[w LBn@Z7+dO87p@([C" <3Ll  "Qc5%(YtxDP%(UP541 "GD'$:p.L)¿fZ7<2zTީw`ˈJE%L*j ?4Fz\=?;$d?k"ӧd$gVt2zi 2# [ N&lC+??3b֬mjx67;ULJ"@^k׫n??P/:.aXfDI}Ǐ4Ue~5qu<6TPP˸7WV [y!9?K$H8@w-vX\)O~?%雗ק/hK&&/喇?Wvk)::'YT ݈҄l*ػQ'4 Nc=2Ӣlb|.t1BUe"PC^415ȟ69~7/hM0 ,ߺs'aooogZv޿?$t=UUU.%T^gɾWOvvv7FZݱ]]]E :]?Ç6𹹹  ,Q9 @      &~~}+++---6!!!%  + %   BBB9  *   +++!!!K  ! $   B $  椤TTT '   +  ߯3$% IEk AA@ 444$:   4#(J$ D:K ʹ (()SST,"""2  2 7.';48 20A%!Fſɽ,,.  RRR ` '+T(2U۞$!AFG^7(& $ 0vvvfff*ccc .*;&!) KKE``` H  !N) #  \\] RRQ  B   K9?  /'&    (()&&&5000  229)  !"$  /-)     Ѵ ,&  ' @3!037    ssr᷷(&%! N>7 A9" @A>NC7_UU>1/  !!!VVV@  /*'"! #=51# ""319RRT    333221ҳ.000'"!      8 )   ۲%!N?9    "Xn  ( F@, -'8 ?$$$  "50  GGG -"""&      556**+*Plll]]]666     ; """D   111 $$$ Pqqq∈```666aaa777>CCC [  ooo766zzz曛,,,  vvv###굵޲úϼIII{{{---ɻddd TTTiD[[[t###3...6sn+?W)OOO3S 䑑2:߾UUU'''> ZZZ-7@@@B0!! ! 111D )$ D;IDAT'   %[ IENDB`ffDiaporama/src/ffDiaporama/img/MediaIcons/48x48/Text.png0000777000175000001440000000476712275647264023264 0ustar dominiqueusersPNG  IHDR00WbKGD pHYs  tIMEC"%K IDAThYml[~s?82RF׵+01A%TTƇL6؏ߤhV1 FE(#mU ])@&%M7׾sc;v NtZ;w ZjY%ZmsS#k֬qM?Syi۶m[^9sf<|R.g}H&"*s!H!P8~z`` 祔 鲪PyZ @!qe0H_w~x1`RJ!`&E"\__Nj}̗雦 K]]]t!Ŀwؑ&VIe/i)KbQ҅4Mx<.(zzzxWi !KòD"!HBft]7 ^9z#HYNDBФnݺFyc "(066qLLL`rr\t]@ol۶AزeKsp !tZUߡe6V^iRsREB!-ɼiӦ 7nr@B!V̹!rUU~a܂iT#q@7c100F[[퉥, YfESנxzt } .VMC!g 'q(C#!BTGF&*;MvFݓg(ϼyM@]Ieevpŋ$lm:Rq(h|lnWiY񋟮 $ 0ssRShK`@Exqٹ kn^pG;]Ҿ'04į?N5aJ.Ma`af& *|Дc 3hĉѝ#C㭽G/*B $bT B̙soI庰P ԭRJj1Ur0 ˲08ġc?l~Ezt !0 aߪ@lRm1" ߶ƭ Ӳ#TB3=8sv@$F`ֽ2׃$֭DwW&4 PR0I^,GK4ϣ tE\m.r9ss9?yxjѶkxs nWأ?{+F_Cdp*(ѷ=bmMM_(c#t1d]ցD< djqGH'yA_Ag,LfSEW4ޮex @鴦"aŊc@%$ 6Mwߺ+t̨(/Bzbw֢d⋞/Wui5"ZpVk4LRd298vXv```+"ݥD]M%tOgwjW5n R)u޽(5^W~Fzz]kl*=7oތmt|y n w%?j1IENDB`ffDiaporama/src/ffDiaporama/img/MediaIcons/16x16/0000777000175000001440000000000012275647265021600 5ustar dominiqueusersffDiaporama/src/ffDiaporama/img/MediaIcons/16x16/video.png0000777000175000001440000000640112275647265023420 0ustar dominiqueusersPNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME7O·3IDAT8mMHTQ!@2 ڵi*@j!f}m+*"1Mm2 Zb&)J3i{Z7ogsιWD]hpU1AoFG)Ş3xwuY(iiLO:%uM^lNj_Td{JthLf:ac"@Oo68LƦ'iiH3$r7)zF~dsZ&~?BT_47;E*Po"^U5fo`)ѱՈ!Pb.S,Px}`U&@kPXWP:q֬:^^fw%m t-8Ie%Z/PJC odu :(Ǻ|di'ܸ5;?Pޢ{ E?-pt1)DA K\OOyy+?  EYV$ b",KIᔝL Y) ^@%&H^(XP5IENDB`ffDiaporama/src/ffDiaporama/img/MediaIcons/16x16/usb.png0000777000175000001440000000101012275647265023072 0ustar dominiqueusersPNG  IHDRabKGD pHYs B(xtIME ̵IDAT8c`66 _YwXimԭѕOIOa"͛Kq&lhh1X5w̜\2 bB  =cxk.HHh7nO_xDn|Ơ!3s6ܓ{= 22Z}5s&fvvF6{wo1]ỹϞ %cc 0aPec`bad];vrƂNdKYX[k,< 7/38rأ7m{e~ɉq2ܹs]/3ܸ/CW,;G0tv *-{ |X,}?щ$)i.C hGN\sIENDB`ffDiaporama/src/ffDiaporama/img/MediaIcons/16x16/image.png0000777000175000001440000000073212275647265023375 0ustar dominiqueusersPNG  IHDRaIDAT8œKTa}߹׹~>G!uj1 m"j)Uv½BhQhbI]^ 'I4'ݷ@וٝ<爵ZjL:ɂxt充L0>ÍiBEOX+(J++[x (Z VH8?@CSx>JČ ‘Muh||{RS@Qg7UIENDB`ffDiaporama/src/ffDiaporama/img/MediaIcons/16x16/hdd.png0000777000175000001440000000104512275647265023050 0ustar dominiqueusersPNG  IHDRabKGD pHYs B(xtIME 2 `aPGDBϜb<}Orw~;hf#M Q+Am.'_`goVwў<4G~,hFȥj)J(euuG ѐ1"ە7xcc6,Ŷƀ6u*MU} b\+!(> 5[>>|DO0N 93or.Xp?b'r@ogQ\<3$IENDB`ffDiaporama/src/ffDiaporama/img/MediaIcons/16x16/folder_home.png0000777000175000001440000000155512275647265024602 0ustar dominiqueusersPNG  IHDRa4IDAT8uKle͍tzo2AF&EEBh[Z QD bD QLDqf01a1E2mNgLۙCgyf *6>c5W&#"hh-|<NB)4 ,XF{?yoG|ycK'4KnnA>c;sy$d/n^"L 8$ b4Gb6Y=iXU_Sstndi) "x@ @47=I\6::6C Ξt4]]ݬ4sgK ---DVG9y'*ʃooZ^50e۴y (*0}e"8ŧ`ͧ6m8;g.eI$7HR$g3,s;8l+?~z] $E`6E+|\tÇqVd\G.[-aݬm\=u`MVJdHd&wpc2l'v\FD*f4-U91)7E#i ~ʥ]bJC& 8 xboTf,y0 #i!dP$&㥏v2}\aIENDB`ffDiaporama/src/ffDiaporama/img/MediaIcons/16x16/file.png0000777000175000001440000000563712275647264023242 0ustar dominiqueusersPNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڔ 6}qDMH=w_be<<13ຮ/ED{Y;S +p1FRuRż1ϜsI)UAZf`P LZ=  LŐ*dfކ8%`s~ $6Y4]} w׸X}4'IENDB`ffDiaporama/src/ffDiaporama/img/MediaIcons/16x16/ffDiaporama.png0000777000175000001440000000174512275647265024531 0ustar dominiqueusersPNG  IHDRabKGD pHYs.#.#x?vtIME'@yrIDAT85IlTe}o,.LӖE  1/h*L&&ƻ^?.-Ua&'9sbo/2A!B*R׾/aho$. 9$H$)Yx36:JGMn;j5Wt@jjL"T,N B`it-kj.=ffKcZ`ʱo~%],CyҲ}qꕈisCїbbE|q{A)q픅<2C&Gi:'#p6xt`74AOA䃕4jm|ui۟σ{$q+<3ʹa#Tw~dy gQՙqw&|++w^\n^Cu0ٙBtsGi ~.iܣeNB>GBIE^C ˴hhzbTtHBnWfgN16 [7HP(`&!iE-Iw?.}\)]2 h{{KaH'MLNw/dV!>6?rxJ4[]ttrmcS{jko^f@@K~ubO,eOIP6( T@t;,Tz9U*g3ݝBl-+0Hz.Ͷ,+jȄe?oVYB l66TВ$IENDB`ffDiaporama/src/ffDiaporama/img/MediaIcons/16x16/directory.png0000777000175000001440000000074012275647265024316 0ustar dominiqueusersPNG  IHDRabKGD pHYs  tIME_=mIDAT8˝RjUA9{3>D+ |M>Fm-S b`-X`˻{&Žyŋ=.3̜=P޿3= h Sы;I|yxwX@UH`+ _?y:q.[u   8=g薙WpY>Yj(W@58dKA ($ W7h~>![kܮmjXmܢڝaJ:E' S9#JLs$I1&Ɛ^&iCw@ey?#-z8P'02eL,239JO?(qx7 UIENDB`ffDiaporama/src/ffDiaporama/img/MediaIcons/16x16/delayed.png0000777000175000001440000000710012275647265023716 0ustar dominiqueusersPNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F[IDATxTKLug`UZ JTДFS#zAc|%MLFZ4R.iuyÖ\hlWvޝ{2~1n/Nd2qpݛng @paKCDx0 Ӳ^<#088o}X[]~R8ޚ$[Zxׂ*.?^wblVc1ΒH&Yf2O##|GE` ;<Ĩ9(3xim\Xw2w=U?LL< UG_b:9hV&irlS ZI0ض^,8J Uز,d0X%+EBD7(D##I%]*Z܎p]4VWd#-T'9 [VmY9 #oSUU0 )AIndO>iZ*Y͍jkb#_A*P2Y fUtS˃iZ[^T&HHXo'DB@K:*+8@3q.!x2jln>߈#t7)Z 33I.vv's#a[(ی'ͱZdRj 23$Z|)lig{T*K(lllv{=ʮD[yeo)R)3RF,ڗ |'/v{2o=fj`ڽx޿8(֫g<+=}%AY@/? { 9|AM @G}tuu}>r.~WnJq+ ^wMӴXb* q.E>11AFFFp8i]B 54 nPa/Athr<y"X+ޘۂ(aYe"* GfѶ-o+i36C3L[kP\V}Fc}tZCמ t9m /7mEDXO6m2 }ځSFQ(H̞QYգpؑJ)>l²kϺzher|Hwꇹd*fVj H鋒gkh>X'Tǘfv})".sڮ_ 0p帔(זUos  @`@ֳ5 1IENDB`ffDiaporama/src/ffDiaporama/img/MediaIcons/16x16/Thumbnails.png0000777000175000001440000000230012275647265024412 0ustar dominiqueusersPNG  IHDRasRGBbKGD pHYs  tIME 4!QtEXtCommentCreated with GIMPWIDAT8XXX'=/  B ?EEE$:A% "}UVV#z>% >5%oop!FFF  &>|  .  , < ɽ0-#B )¾ lmx;6(((& 68X  Տ%4.2; AA?Y ;5+  d[a<73!%ѧaaa5  97 ¯#" }$32;%EÈ///+ֱ"""! (((뚚)))4TIENDB`ffDiaporama/src/ffDiaporama/img/MediaIcons/100x100/0000777000175000001440000000000012275647267021726 5ustar dominiqueusersffDiaporama/src/ffDiaporama/img/MediaIcons/100x100/video.png0000777000175000001440000002357712275647266023562 0ustar dominiqueusersPNG  IHDRddpT OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME78,IDATx]yT՝}MC, MQITF ь1q4hܣQqFJԸ}DEQDw^k޻oګi2uN*~oxPJ9L8' ai R{} *!: ZX= Q䙊2^)`L%\!3 4lpc-|P߂OPTUc43sܞȄ_J*#0g\@'0/n^]Tv|jl_0|_>5D ,RPBgD \ZdzV3H= 4ҬA&i8*8kLL0@pt,x:H36V|]<.=Um9Dl$M[bO6Ee*:(MplPe)q޻. dsIx,E -<}?@ŀT,Н'X*\Zɝ_]h:kQDQ\'x/M"cp0s 0!0or =ϥ#}S>Gnz&ǐ5s?J cqPgŪgRP1B0ƺW.ˌ(H:q!_2^؜T29HpF>-d)WQy.L5c_6#fz"Bϒ<|o^Ms=ېgd%fݤZ`;wdxv:>7n( "!LN+O~™zD[!_ vki4ؔ$,|CbM*> S4֢>}KŖb?I-7(k^'.(J۫`@- Xyu8換Q)J\2a˗-[:h QOASk )! ";N8 dIT%Pt.pQSeL l`lP,H O܈^ #7`WJ <18YK=?"03t>,P@UX+XJisrSyQ52a8_sˣm3NݿCo& 04Ag_/oI# |a҃&~EQ}$V-«sL-t.U^>a&ιr@Q-1eV&Ow .అ!br x=ǁQqhus#aD #߳\3\1(X bXubm;AJXv8eɥfuiF^_6o"n2(n Kal^|{9۽i<Dk5gs8wK+, g09KĔdG+q-02f?/Պ)» a\٠p3P_@suxyĢ7;fy^"xq#b(ܳtf O3/JK/ۯü?Ap9AY +OEgg;XɮC܊k΄)q Ftby0YS:Džs'થCi(!%E02yŽXӛAkBSKflIs:tr).PiqewcuOm,t@gLŪg] r۞$ϥW g0V03#p=>/>]v%h[,)#T1g[q5w➋͚{*01G_3()sVwlw_v:6ke)8zlX~'H(~{r:]݀P3>)QٍI\䫈7t"3=9Eӱ['8@.)XEDlCh =/@WZvQt^܆!@WZ;L@ 25jcbTE  6w_muw. wǤd0$LnK'+', wGW f񎽑­2̿k-^)A(`1f: Epwl SU3 *-HC(#mY!-nGMӗw BS @ܬ(7`ӣ7 s3.]ߘXۗŢ+nc3H8.VQjn =??S[4|Ku2;(cm+MiBu0e`\AIsR Л6[^Fbrؙf90 EpKq!`\5 «bj\<`7O..# >Ij٪ ٨Bxe}y?{ oIzO23:XW̑biJκcF}78}M/ıZVf/mw Ik X !&(<;YO#Quzj茩~Stv{O+(y }f <;"Q]cz?qݿvE(+KϫJR(Z T ,›\V(Q59ğ/za_3Eb$-.8Mšwqoж P&=IRkV}~>/Ҩp0Re,2;J d.POr/y&ߕ?+Ul[eg<'R\)n*RIބxf4A/'ԟ)o=c8]ū^y*feUPJ3[RT0X!Kv1v4kśC?ϸ@L88b&eS O~`{s)c~x:igf<ʽ/_f i@ aܨ Z%Fv{o3qx;:0zF7&*qJ%܆65ІbKJa)xb}41 5N8ng X,qXAcQ]iTmFb{iMxۤӖ6d-`x&[Ԃem wv(1pF ] ۾tT6 7q,@1e`s󳑸 ئe΃ i(M͖!\8wޣ751}D (N0lSԉc-6ڹ6A-؏9")xatcU%&Ag5yXbzpm__0Kîc@b筠⼸ɍ%‱:YqAy [:2=0z}fIXϙnmHWY]+Iќ`~֝bsBG:1\G45Vw(e 'aIo#/ox'd#o512 jh+iAhىs!#YT|rdDެ(^ , N,1ODdN|CRf Rys i2a$>xֲRv^3zm ݀n[Q)(s=%{N qu#xĊo[ڀhLgE3l \`̑'Z{eO+8mC4cJQP,ٿQ"_n{R'>PFBƐ2 c%zd-FZ}UxXf 51Dn aɗIHzR+(޴{AF8mՀrtc[=*i)^^JRUk z]"6ŷ3ޮ Y&AT!_I7 XEo!AV4B4KEx\uZ[Um9ր8ɴ zW$_;Rj@ /"Puc({&6\<2SJY ]C8~0 V=F>(>uu%.3^Єr2Z.i%Nq~BJTYtdULeheFM}`lJP@KEՀRCD_/(57畳)FUfV+xm,7P4Pޕ 8YU)dS*byI閠e#e0u&>٪#RSnu=IHz{߶˺ lA*~Y 7!['f-0F_ۄ PUD-%1x%v`K4"K\*B)e ThUtW Ȗ.8Q5]SH6XW`ཿ9j.˓x~(U3L&gV̔$HjHZ(Si>·Q>+pqѯjrc'! ! 7i$ EsJM$^|ƧN63s>mڴ|du}[zH"cBRFw[`Q8 0BH^SH&Dn lKH1U*@=c1f*1iӖ&)1Qt ٕҹ Ja4(`UDyQ0IENDB`ffDiaporama/src/ffDiaporama/img/MediaIcons/100x100/usb.png0000777000175000001440000001236312275647267023235 0ustar dominiqueusersPNG  IHDRddpTbKGD pHYs B(xtIME !LIDATxyxU}RlT6H"wqhū=ӣ㝹6w˴8W{Fl:N ڎ.-  {ȾԾRU9C" ~s*RT~ww9 ȹƻ*R/RI)AٔRi=-iӦ:L!s2?5*A4J)AU(lTR4mۖ4| .\|cfJݤnL7.W,,VarrN' G8rcGRڱk wZsrX)nSJlNJKQ_͎1tu04+&8u<!7wXKSGpRJ| WbS61hA:M(w ΡL4 D;Dĩ 2mmD2fǣl/n_ESJnjssKDeťrhzh% pe]BE啟Agn5p9o}46i-((X05.GId= tf$:L(x\';g gu֠ #D|hs6L^rKBR-^Y\<z5*qeb& EZE%ב]1l6#D;~Q 7oiaƗl{etb(Ng7JI,:J4bY=7CPJa|KK H)]d;2ƌdgz{:ǃB!X(+̤ڗ_ZaQ*RbE+dϐR> `W_ݮ[g` @8&>!"f쏸6}t mUi}-S9deRP vF'DBbbl9,SϙG؛:Y( m/mTE#d& m]]+ŕ"=("D$nLW">FZHdr'RHϴ[oV)?zEmdeyz qX씈Ó@,VJc9#qa0R,{cHZI>ys-[!_A屍w5^X '& *"B25gdt];mx]R @n1e9ֆ(忢Ã!'AǏ??eAe:2kj.| )SdeEbD"!"B)2]7(8X/N4͂fK\4558Q_<9QJÈ1}۶GDY7:]yziy fvP_D,Zȵ U)U;!7Or0>`0?0Vf̺D z,$L  X5):pصU~i k_k;pήHl߾'"_^J/f JK'iP[G,9#a>|>> .5{/z-qQZIQiH$c+u哓]CW{B)_5o˖]X?tptRGJ)Skp'r I$q׹th8mHR#J_o?Bq eNaewUd9gbdҺPJMBt'z.TW<:x 6jj.4\i;IHCDa>`;=a;ȁD0]|} 4MIIi&%c2͵&oy͌)d*ck:Q{֭[q>i¡T*jbw8d$(sX,pJ`d?m'lח e$'Eh8PVSOw^߀a$۲屟!ndqaeR CmGP#xˤRadO%7 }`4PT\MQI9+Tʠ=LWg~LJ2):XŹ d+^Ps+ w"HZSw[w<Kfk맂tvJmgPBCR轁Ӧc;q[CIE4L-bT@>Js+QQ299-+şoU|\0!B0nعFHmBtK(3uIY(P r[ȇ+2Ͽ--kyۓ'(J;7nOjv!ײtPD"~4aQRߟ j).vQ`E/)B(|ck_mbRX45H){ܰ>Id\Š ,Z$QJ̌RUmdecFrm58Q9G4(xK;|Eܙ|tvd x.ڼ>.{:&כՙ29 ?'Щ;-@FZ 8bqF/./"a&w_ȱ(%}B{zyWY߾lR{J1GEccsԱ)4sjHdD!C \TiRJ/<߃㢢ۆp{$;yGkF]*FrPlXWIYljgcϾڪi/x'A^PKR0hl,"DJu=~WV+*+5f̪jVsuya<54YCM Lq:>߬] @}G,~ )?5bd/70/J)֯_̙4 )qBM{ 3sY5ˉ WX%p-\$]9v| m;IIR~[o=Y!osJRvwowm@!ӦsQ7PUg<4MPPX> z0Z˱6~vLWI}9Bk;O#(ro~sg7/>BQQ7|3[l!LbXOJE窫xֽu*7v\dRᰋsn7uw֣QQG"gϾ=|GGSΟ\y,(uڲ y7i)a NW%\:ѣM:'hk'?l5}5 e_M09ڲM$no7!>'zqN^}u=7tՐ3ت)9#{3|dȤQ9gV}Aj.g1?pd?6O֬y(yY nX45mgڴ)\'%x '޽^xS )PZA?{vxiq] cx=3R^6 JW7ҟ(P+n})>H{シq^JEikh* NJ഼ػ JQQ1RbX-=X).=#[xgymu3YOju짽c#x7JEr#m9f4K'VkyXv3s>-W(RQ_߀bEJqZoo *c#L^u)Jf+x>%ө!  I7~m"aT;ٗA<+DMaT*0 aHλz~YYtZq7fRW_zJ^YpTNj@x@hT)z߭^t#qQJ-n*+wvK}{"`O0lx<:}سWW͑C1 < ݥh("CqR)Œ^Z.RF-;YVLjMB70{!DNصH&!Z[ b1ɪLGH%;{)4F P 8N4v8$%?yrjҥK%1kq_njr] 77--:Ԃ-(^TJ9-Tnw%Ł@ UDxJPJ>_ }rR3W(^O`Ì%rP[QR\?X(VFk D+HZsK6coP aRsL Zط)UX||)':V #^)?5|A9 ŋ%,YȺu{xfiTJ>i꟞~^h7I)_ X >d_p{pe),///Rl"ݧgMKj͙+} #x,_iBȿjOŋ;\4#abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb>ޑ IENDB`ffDiaporama/src/ffDiaporama/img/MediaIcons/100x100/image.png0000777000175000001440000003606712275647266023534 0ustar dominiqueusersPNG  IHDRddpT OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME1ho IDATxi%y{޷s}{g ;9#.q'-ƒ GTX# 88@v8_lLj e!ڒQ4gh8!g}{OV:=ݜ!d&ܹ=ԩ.qyZΟw"gVc;ԧ(¬8~yEyY&^,j{O=r\{΍]q@ʼr~Z7+!MR};=ϺvZoK12Mr7Lk?S=şU8t.erkT~.u""(rw,P VMnlea"*g!3GIXRL5[NU[ŭuqM`]lb@%P8Hq}%R2 KbʝgT]2EAW!U*"֣EQņ REUn[rC1 )-Ae5XՈi+eF9+U k /U Qqi9rږBoE[Kbb<<\akdflf%^l{&%, օٵfK?Ƈ|,ͪ'5Qa>KEUT-XBX#&>Y@]A~r(j5mYt+J8D٪+U ̘nt('PFMOx4f+g/5LҋU]WsZ2JmU/xRN<٢X<Io/3JcZfmİ*PPfyRmŮv9Y#$ 6+<">L#T9K}Bn;aǥݭsdy)kִlSp.m+:Ԡ3d%B(``!軜zGNC]6cn9yԵhg-,$ccvoDI,*38h4Y=G4̈́:aH4M"HrMxk]>c|]i;5cכ*fM%]2ߝ^?[f z O|[?⫯2ƚ1 IX9zƩeZX C]E:ʶPe3F3V9]ӽǸE*Xz/ER'(j &pb;i`v3I266?mLv8˼|R- @@[:7-; .Bs#xG4 0 l5f?3I{O/I'%:򕭉$yةj7cr)jVc/εO*VB ni?/!lDIi)1+M>QRdi59(!l4\yUpCI`%;da4C~x d4.=Ճ<;{,tfGY)'?]K.[D8+3[w.+2բ0f0RiJg<98‡ =,c8!v87f{o]p^zӈ`ƭn q\ܱ\$kPBp#޹7ѓ6mnEz#l,&IG?i6h45\%w۽ϿpC>mIht؉+R]/ޛٍ /]BF};>ƘXxe{j$;=^N3x=N2: -o `*&,?K+?зyO?7t;Q4[}7gߺbs7tl̹Q,&-t_#! #J=m@b I;k6ŦQxƗY?Ӝ^~f k3ځes-ǖOb]ON44p7Y~}s:6jHe=a9I y{p۽}E:4Y^[q9'!阓 ,ZIn~,InaG'v٘ y&Nvht ۗI,8z'@wC1:2vʊܠPds]ebI^_k,'sPy }Μa0Nr#!=*Orm!GxJqף:'}v"KSo1I+?>0A YINܺç]b|JkCzx`Hwvt3فf,^ciѣmroXBegHlk=YR5!JK5}[:%^!D.g%qďy>qT=b-8a693`cqr%L^>hz4+9{ϰ~dv wea! $t>iFLʅ֗PI6$$8d,Cϓo]KT*kfm[#|Vgmy[kcǘlslŅK{o,3Ni44#,u?x9 IX0$Gtn,5-OX[`:DǑV^x䒓O3PGܠ=~dbimly)Qm\> {#Pd{iTp(LV$Yh#O@o?p6Cck 8tXPJnTG0Rk2ڻBէQa@+Lr85y"/l_aF+@B6 1ŅIɍkrj}D\MN3Q4!( Gځa8fuqK!!<6xFt68Htgw/tΥWhVE3đ }ܐD)K Әf4OSJhE;2Ҏoi,]:n&+ sYõ"y5*1U7z ѢC~ge9^{QLn< #ISD&b W qұ6 G9xHeu#cnKzO4 86*$5DQ(CVocGӋiB\M,k{zxm/9֚K8絸Q6W0 (峹f06G}ޗ,-<4h/"&^#LIF EVwNBW_=؀hrdqezj/~j)PG90M<z,fIf悇6=&9 ˚0F{>ՐK=dayiz.m ?}}&SMZK]lsdG? llqGc$QztW6X ;ۇdMM3ًhw|;}AWsmv'4r<#lx 1;-p8 :8D2+xMG{bx|,{m)ld,6[dFH}l~DhIV/(yǏ?g\}پ_{ v]IDATpE # v_/O:+4|~B>~?,s0M2y |ed(|/:n3/~>vnr vg8WҗPmŝNYpEV>WI M.!b!l3xZqe0!\ּEFH8y.}0`H$b8H8:$D VOk_*[/#?f8C>|K\htzee>}̧3[YstVy{Oݿ7yS9ۻ mu D|/ W.3/?~s|sg>nO<,ɓ,^!趠/ZPME0ӖVFԶw+ϒK4?b%?#Q2'o]j|sx ;#^{ޟqx+}̲ޡ{UW|t_m>|׽>}+oySGyS?Y9pb{ןj_>zp!I9-v5| _汇^?_w1 Ikŝw?gҐ7v (gw?yi6^;Os]}u~wSwݎ{,54wuI6o=_⃼&w|_`:0Ly|wZwu'/rtMz7|#b?0 G1O6N_˿?;+c>󅯰UzNL}_s\rvS%} 2'/ ݕ6|yx271n0hsK/3[y|?ngx^~#+<~wi-h7<˼983W<{ .rx`4;+&z2V S(#/rqgn;7c:2<ʀ~7W~vw |.l$,uSNҹzQq1e0-7Gϟ'9Q5L+c;w.cGocuL|&(&]#nMC)(a!dkQ}q~˿_潧>HpA⩧^nsx7md9Z SqS2A,, B,w{8NDv鮭uBhFA= XYh9q:%RRPi!`Yh7)ǎԚco'wOw/.VDϻ |')Ŗ/pQ yз,b7쳗'?xvCLcK2X5x[ NeRZ퀮$6LB oy%`Hyb!OyqFSK$<'B3+ ݝ%0 ܒ"Q~hC{xDBZfK~hn1Ft-:2'"υg *24QNY ۚdh6FK&iHI5{wZ54XHa2UŖe(LC8F1v4P,W>$fiJ+} iԚBtfcI0aӀ6bSҎQQ _`a$Gb`fJ&fQ@(0 -DJ`d&Aa3E+V,o K[aⵠcgֲl\>HO,YfmHF\~De 0v)ZމD!6 ?7$#ŭn2ߧؔ輥A;Ɋ|,X/yqg(>(Mv?eY ? vaGsA%ǰ>"xapZ&:Ѷih?-OB6ȬeԷ4F0N A(M^͈RXZH|hǃQ gXN!Z[I+\ 3~0WrTˊE4$`mȲXAQd9?0HzOщbZS|sK*X–pȧFڋh{Edq)i_ 0 Vh}&;>^D !mқb & =e5`,AT{pt_N٠Tn& ÑMeچG?3paʕFa% Aգ8ezhȧ>y SA.BK[:xC V`XHfECyKPE3~߲34 tFXFeRʰ3ZlTV4r=<#r&a*0fC(ϽGݕ mE:h#vXo)9oGh>M_Xnw)m4bv FKh-胄,V}oLvܲeIi{ON&Iiry7<(C˝GZt\"Ӕhd=`D{ږp4y^y#c#L;,X2ac]c֎* dɐe^Il.CibKQ\l XXF;‚'ڠ<<'Pp!l]\UܾsvXn喽!;7ʕ`Ϸ9=-4C9G6-(ChJD0oO:Q\coxih~o|:q;a]5g?c3JT!%I8|?VB}I|EN3 6zP%+|^I(t:"m+! Ri߷)t%Ir/X~{Z>o2$nm:d ɖ7FgM:?sڙ14%rt!ɚVW^yE!gk+?:?I1c^D1R DguE 6B@D(Z"K;Zkfx{_6ë%gVD-=Bces%79ov0VZց#Y}}mkIoo866 *U]A j֒xpZ3ڇęLfWBhz5$}N렻uHjeuTcEZFAdRY4z59Oށ# 2K0righ4=? @ |VEi'uA`0[dYlaI-O&Dua(xTV%Z%Yꬤzz>/CUU~ PDhBiM{$ڦ<͍(!C$߄J&A"]O#]8"IBdvlI%\(Y'J bڮwyq"L8nBD.ɒJd#ɤ" Z#X "֯%ODIfվ2H.9b1D" AGGN)"41c-$WO$$ H&yGw"vkS;MOn&DI-Cl6S10~$$!vU7P7(YJ*٬,.'P{B3kLNK5hkK*_pIϤI]W=XsMDiIH$<3ZjI8 Hd}HhMɡV 'G:-tL @H$t64LKt_R ,bcD &JDIe[6dgvHn)!DwVAZلЯ{:yr" OtJ'DUUQ}:rkF8r\d=Dq^s?ΐ\׵ccߚ-c>&l9ڸNs_cO%?/-Qh7X_/ccL^T6M$IcO5= 7=̱8w?Z ei>16mo]͎adQ̡[ö\K8$t=" Ї~]$DLFdR̦ t UThZK84!֤:Acc{y[B"޽{ZH8=^G&fJX.ݮ5>FfB'""pv MJ鶎ȱ!v֬ 4k|'sP,F hFۅQkȬq2“bt[@ -ƾB5aFDQRIaV 4w!d_ i0 4M!!a&LӄaMdRb-stGJXrjHw،JH}&LV\޼4f`Xɚ}H7N]d<7ilEWCN>]OuUU1;;9;"ۇgbuux?8>3|G>sx{;Vmr:%Y==cV.f݄l6y9ri"ˡ\.ctt #"Nh===ꫯ088XX,bcc3J&uN !?³It7Q]7#7{Y}aJ%YD\i,+ٴXa0 K;Clu77noVd,J&]Nݲ0[CN6!wE~lB OriHHc l]:َ1Q5sH߶˷j6<"1~Na/T QTO0t+$̲ajh~SO07&1 fU  jr9aN( `R#@Qu=z+ccc &Jԋ-WVVP(KKbj`7w.]>j D"ԥ%ͶE 0Mr|)/}EFhB$)vX\͛/_ *Jͷy47~_b '*)|rC%._++`Ϝy.{b#>ߟ8E]`cpw݅ l~rv{{%z^H!tՏ/ 5sXE$ȢWP\ vx76Hڣ`Ak98888888888888888888888$ RV IENDB`ffDiaporama/src/ffDiaporama/img/MediaIcons/100x100/hdd-lan.png0000777000175000001440000001045212275647267023750 0ustar dominiqueusersPNG  IHDRddpTbKGD pHYs B(xtIME s;IDATx[lu](R)R$%cCu4H1>@ ڇ}p۴(P0Z?nN N mȊkK[%"imv}vwv)JTvsO<O<UgOjKc`f~ggǀe9~'@"sxQ_P(O?Ե =(B=ki~[w*h_*)?P(~9S9~q)i!Hqd2j v3BTO;wy~־SΟʕ~3M X^J^…>uTߖŚ($G>@&AӴ"ϧ#ﲲ(zPMNL? n8 Z P!АRsӘ^Nލk-3DE]S@"A,oGkn; ,!q&{# "@BVLPmKkd "-GD? /}kBiDѶV=$E'nEجZ=هAPb\V(O. rYD1Ei9MS IS?wONQpk1|<亄m PS8oUX?>bD(w9n Xޮdic{}s&[,F"A`+d23mDQlBo-OʁE7~#tUvJ' OF ^niΤ]oDhUuaP(26] !+5B(-Չ9 ,%NpTTӇU|L,!9e說8 ud-wru&te.((<䪄3 vɽ] i)K{UM-iȴ aQ~0sid+Eg.Yt"h4TmujB*vɓ''Z]VPH߬d[t՘XB*kحɪVO|qyZ|aGJ܇ܴdTn3Pdܓɸ]B[ޮdҥ!b$N vd_=U-D"QTUCUӽG@J=B^ݬd'%(VsCa.zGG. ݬ65\*lRj˦Iժ`Yv a/ZbL4.#}reY[6xvEa> Pfxn*->!"j(}euΞ]`iih4aP 첾ՓI!Ą(<`Џ'%0>I.:B155^7I&cwn BXo߄aJBLL>  yaϞ]a b[`!̂ ۧ۲&27cǞSA% {CPe*wdl P*  yC(֍<@ T愀)O}J$" (j΃7 B9!=)BMX;CQ;aiR(4MR/ F_!f#=jK.*A)k@|/3ima( \믿G$:Y9SF\fiiRiB!2 033 h˗?| t usix`(|5Lxtr3(#XrOT*UugM d EA2٦]&zlٟP gkY(ms>K'6)[H3 b]K WV#Zf(rm14dÃZњ|~\pzzt:?8r/"KKK~;<*?0lg}4+ 8qĝH\\ܽuJ힤(S$0˶G2$jbh2==]MY_իWQeGVQuͮ )Mo%@677Y__`0H:c͚w%zu3UY^^_z}O:1^Y8ӟឹ% Wʚ˲vy3-d+|;TSZsUH$j' R iX:N J7c{.e 1ABX=BUHl`>-D,I \Rr_vQ(D"B!TUemm G$A0M]Y__' [__GӴ[1*\8M H+{D/sdYBZm, 5|n{cc oLM]i|o{%0 r+++S5 bfa1:X,r%/v)O_W^^x (:F6s 0w*'nCx+9s 4 ?3 7Pv c}/]_D8`b"K 5G)p"n ,KKcb_b~?`hS[`Ϳ O:u ~_Ց4Mi%!(JGGٽ;aH R= 966V\q*_PY,rϿ{'?y*1pؔR@ܽ3<<{{(ʬlK,,aeeW^yorw޾$%`XN&UjuGΡCwp}!/Y\i^GUU\M:t ju,xxIs~  <|b:5a䓝u~;"/iB¢XG~eG} !ėΓv,| Fye/fKO)rE1P8=s)[77eI)@`ꮻʑ&o@S+D9[nXNaLYÃ,Pvmၛ"?8^Ufn3,ȯ9sFu"jxeOV볳rw%U ƿf/mg󤂢@HDDwby,@[^84Iwwe7hmZv9A+̝FeZ (m2I(Ȅ` -AI3I%hw '8fF+I|8V=Kgjq7]?an (hE*^jA%6B6p%P<:fCT̙\`h 0CC(g,2њϫSB}-v[DH U:Ah+۠^MBJI!;5(\̙''bҳ 15A!V p--͎H( T+7-Br,+KX4^edH 吵-1.ó1ިeb<$y 爦QG]$R`ta=]e8ĝ(>!4 ;{nmäB1a f8X'n7}Y!HI;rs ^0@D I Ð!k/]%eĨ C~Uӗww򣟾O5I N܎,+WXLsBsg0u6S4u&a/l:ThKt*ϟ9&[tee|/~F, W H3fyxgcc J`jڡGuEf?ltk?CXgZbٔT&$ˍξxmUYPyw|^#}8ЈS<=Ϟ(R~J.P7g}0$L Q굯uS*}KOuxגufodssmȜyB`\piz ya$1RQabDIY]V_@IINR^.ABN;I3 48& Stk+J )'@0vXƈAA MsAF.WoUPjmx/68M5ZwDFZ%YdTMԳȨl"f}J=GvNW{l,J1j8Ip7Y> V!MH+ lrĔ`n3jz7rsbT9eg/:#1.ur$b.~|xosO.,A:"sMw6!1:фcy'8ˣGx53>dYqψqg⒒J2%]~02aNzWG&($U2Z$0w2vMFb\_ ƵKus w<{7xܯ0ԅwrX(\Sïs+<^W˗ZI,Bx^|{XhPJ-SmB2)nϪ wPP(RֈBV`~uǵO$Ds9f']?q2^ s$?{կ{bR9r" HgY6WOu6O zt7C:[^ :TL w!|=ygqحaGA*p`vyN4bD5Mb{"\Op8hrL8ɭ_trQst iBR v:1A.F`[@Y.C1<9ɘI|_sǽ*A}H)\#^MB}f BIPO,lbXAfnJ& 3V<1urv+FK~j~OMb{(m[r[eUt,[A+TdIpE)~@PDkS Ha{!ʵ?% aCU̲O&PqiΏ>5H^TCL#"H m~m-uU7x]qvL*̦ "FA!!Hr/Cc4RDqAFbR<,%9ZES{ G ;^P̔$TloeoH$%q_KUN\&Pߊ;O]|+jaRM Nr8wIy_5@ &pWy-%֖yAS,Kq܊7<m%^֋o0ԣx 4|͊!;[謬RxΫ-ꥈ-3ff$Ny4,bT oel0pMCzb^ʧ6!q׷X~@az^b?ko-ŷO~ռH Zy;n)#@Kb`譼#-4Y_I0spi^ͯLXo9*bkHόrf#,V`ik'@*T𬓌fh&hn>lW_Ȩ\n0;:e^wؖY$pnv[{wepʸeH̙G#8j퉰 <` Ȑ_,R욵% 0jyl/f caT/1 KH*O*ZUٖY!sQBYpLD?:$e$k3ea]΁k(ڸuq-Ys 9WGAݿ@) Ϻb39Sc*-Foisf>!y2,bY )گFEv 9~ WFex4{C4-Ό 9' 3Mm,6xݩjaw2YmDo.ɱk}q7#3Mjv Dg /-O6 KiQhH2@ӬE=u0 )Қ ?l'a^h]&ZB{fK_oq=2"2SD&핲jHДf.%Rbe.KH Ej$wb2?S'ДY=YhPZƢhyns:Y>Rۙm/.5tm?0.wakz?R'=0n?<3&%3s,>I5e`i'TЅp>Tjׇ9ug@pz1^.թ+lƹ"b W?l   }u4MЙUtcxe&_YИAhpOFH -Vϛy_2/o=X3Yރ3omxDEq,6s=+/Xc09sjC,'ʼnW!CbՇ VxyVQPq7?9B'"fdPwV`WCɘ#2Y`;X-ʠ=AuDm n ~7Y;X21Ozt,:8)s*A)1;bw\(GAS/3XlKR[4YIyEV2T MS=E%5"PbC*ZRΙkA/~K3%j[/}%`"!GeΌ*nl)FY^n9{ZV7E3C&ǥ\gu{"Y,GYДdKQ}i,5P˺/}3e׍gi̵* F_K&eN9yAUqqLvIG-؉czd ) jj("b0,ubrxGO(˃bh+%sH-I%BJ9YB52ڇcזAƴ̫;QH6!kk˜>sG~@]yE3MVfDR)*U6Kp<p;,P؋nvRcdkZ{<˪ }Tp=p 4cgz0HZ:vPF'dy4ؓ$*KLvϟfW*܏ *:0at-7XYYL& v$JE9ɿ/ 6&+_nٱJ/Iuh=XQ]ē'B6cEa]h\`tT('bFX%b^;`1LWVIH/R8\pdFĨ9}8KApAy(#T4'3eqDs2bBvoV'1?e4>4} P>~IvB[ʁz8uǂ3FY{iD%R Hf?#;\TW͌9~8'd692: @$x &o~2IO&JkS(yhoQ;@LLPO*p%J,{w^;W~ʘJ3w2LٓdskzAN$Bˠu'r}"$i8jD2C+$HKU9Ɯ>`P5je? >hYOW??![PF]DwR":s!1 ZMcNsg&>Vu%(TlZk/G?猖  %Z\`m4!Mp~DpM~&gӤ D0X\1GrW% <21ه"jM;G+_0>Fmϝjabsb~6o7xg!Ӵ8UEhO.O"d4]c;ʉ5!D%cYH5h IDAT3FnBc<7_=ש;XH$Q$$T ɄAZbc|g>yGҊhe1Ż|_?c|6AYEwAyJ^#R}Fш;ˈ !(ulWZx} c,E>m3E| 6?I. q'CY&}IyAbY|?Y8M;U@ׁ5}ߚG%ѐ6Cſ=d0Q^ \X09^-dA{GY[Y{R3Rkv ,JE8)Thq%pD_Yf2\Dvлd XZߡ;.%e} "u)ɚA2Rf8%1l $OȰ᏾Hw!6D:V5S؝g^`Cf]S^/yGtE*ܾ1ƻ;/b T@7:bvVhO[fU)2Ƣe`G9#*8uyϩl y2 #|'u}$a0AOw~Xκgd0'.^x5VrcLSGW3s[ d\#[TN=u%к 4C;pU)r}0Ww[?c},gVeuu5FT+<9{[wcpC< |cB(BB-LxeCK D49X;wx]*]p ȬPL<ıN,coVkk Cz^?ЙUS4UuxjKˬcB̕S])2^vuFC_`X/r}:*GY] {<*+ǎQA(>4W8SP{'z]9uivAME+j::[GL5K=xJ89%x%6!UjKNCw"DnȬJťUǹ.}+N#$SIt$':׆C$v U!?<~H5 o]Ăgof_-T9u1gLċD >`To?#.tQXd7mJYe?H΢ /\x7SVvj?]8ԽYuos nY?%<͛~E;H.< $o;UJ;K>t2~Z~6[}M` F|JAq) 6apQ˜CgE4tr{swT{ͷO^P4K cnJZ֏OX_OLwܼܿOJ5 "0ixJ|vˇ% :-)hB,sELP|l>d?5#~$ mg.p)_죒z)/(@M+MVvX̭:Sv^y1qb,qqfIR1 s| wu3^|}ᾃ{ňq!\3EO-_x?g< ,]>U2pL}̄ E@J0d;s?]Y.3{aySv.-Nij+\zjdc7Ib(QUPađ}^p1RUp<,}=FOv?MW8``;ttK%m -Q39EOE_s甘w~5W01mhٸ6bwvypwJj F@AR-qG9&i^hf uu|IoHL[Ǜ'|!M/G3, W rG!KP47Qdp?*=VT ڐ}R͊DQC]r!g nGn^{{Xg> :}} .}0ALzףB̕ \:) luI k Ƨyvt)-D7+0laLY"K|oV$σj^5caH Bh쬟>e1Oaa7~\çt3"PڸzM>l I9L--q ,,\`ݧwT٬eE6BM.[2{̈́{Np2[Tzؔ:fPH^mV2THBזIfgWאe4N X݀ m62REmrVXIE-~a'Ќֳc@_p5V}'/~l`6yH5#y]cPo`6"w6/էhdSrK6MYu66QTYl !HTHقY,5M'Ϯ1Z;d:Jv ]-ASW}8"?0aygTёQ^Shnt!l2%&eiӌFkܺՔ7껏TʳL"4['y6 }|؛ܐfHkT"Txqy҆>*[*nw6*AF$":JFCAVcJ=0^K<'4}n0oG^{c<փuDShhed&ybko`dA&)0bY/3ȤyA:!E]*h,ɳ )ɍ@mJi@Q~mC\Vd*FnC\y}|X'# H 1X,1Y<;݀ւ5,R4Smm[I$ɐE^%v kv4 .3TNΪ[ . 6YYKh\ 43E="Rex:E@F%F +,,FTi騺8la(oi0GI3?7!-Dr- , ][~)7;k>7Y^A%S<}!Z@f!s|})8т 'F؅vwg^EJ2 knx--FPt4.rj2VN֩d0,0cDT[HG:yu0HWnw:MInRZK9id#&:1p˔:ϙ9w6C'$6. }+ S:#{ʡd^]s6[wQH' o!,VpaI9,'#"T)Zз桯$I2Zl\f*Kprfʄ Ij޹~?D!Д2@^B-F1I!KO'ɷXgdaEh(ڙw=BWIBMVwﲳ _ytS,ǘ NA$!"'7wsj֩]G!I ұγAYu{<AuoF0*iKi8Xh8A`{馊P̉EFk=.\x3o0H Z+̟Ϩ@P<)7T?e']EZE%p6([0ZVwVkU$7}qiܦ)Mݻ4;@^u]z+KYtH{ s~˗DYsI4×GJ$-AΈw믰_ԑ*n}i 1E6B,HJ mwWD9|'.]Bg5@?+ Drl{Rr[;w*EUpwm~7n{deHeݞڦG9[$!VZ>;Z{."NK՗eD/#"-ӬBh1@ݝR h QKi~sRWO6չC>\#u F|4PIЕSrlTͥ, 4$Y8r>=<$7b3  54ϢtͽM4U^0Z4bWGw2H5np,%>N\a+p`TrhK2m~|W,M2d ?zEϊ^!̚!_f;n"5\,b2s hi$*Jpopurje-*b Nk{b3]EvvR@-_͏2S* R: G+׋|K%L( A .1P ;D]䥗i*ML?S|`u[{KBw0M|foNs99сF,E^JSs>SB4DwYLyd~l-ĦMWX tn5+/C7\luRNeE"ci/pDI%J QcR&˿H[ +|/"H1W,cC0wޝ|( MyHNj\7YzGMl WFGXIjkt6Ol};ٽW$"~.0^B*07cuxI><k]*FْWˉi"v s4*(jǐXZH5Q[RՠVU/ph6k/u}"\Ds;O@ avZ4fRjsO"dKw|?>e5ܧS^1CB\@[׾W ?@7]o $Z><!\,Sʓ9mx.цEZ;?}O͵xi&m]rrD,ǩio^{gx;62\TCb` /?Mj*P|k8;IiÀα_:0ȕIڷ"G(SE5[/ @?3]#z^"38Y{TMRοz9&Z?xdGҗU"❝n؟GqA6V D5"+813O<'#KP.gyxra_*F,|Ta%R\zWo< Ѷ%z]&s&AhD|o~6Gh8#+~&2 i@T̍횬>Β]\+Q?S.jӪ}oJ #X OW:|,? o_F"WAQtEi~#3 : Kt1o3!T:?|Y4mG bD7-m; w0-Re") ɜ!-g"yb9mJg͈-_L*׊J5GxbI1ѦȾN9 U@@FkQ[Vjh"y" ,{g}df1MSmkCEC)b>)  XE),D-FkI23ÇϽ7M99ZkﵿEsxC]v˜}.ЛwB"HM-uEYy_\vJnxRk"J"wv6 l*a:hL v!R,&VbN--7'DmĈ1P y7!j5sgz^9v(sF_zEaȍyrcX¥nKI9~gX:S<'M;::>:EH8bA㨊Ԉ)cwDߝMf Q [=;mo|O&rh?}SedY0jnS4tf)Ou%^>^ %MPcbA5bHM(Vn~{w3^ 9-P4j<\$6?ⶰQqH ^QX,^G6W[(1ӝ:ɷ#z-t Y'%H-2P}S|3:lySa`Է} -o0TC?neBKvd/O٢- knEX iT|.EsG!Eۤ)DS5>{<{$(C =Ɓ|;rgpm1Hr/i=4Ab`uJ̃&d܍M+_)޿q )Nk#yWod2#k7pf 3XKkd:)A_10t1Ao=:*OSv6K1bH) fd%R.MgKޕM~j>wJS5O=R(\.;vȚ} ln M~Q.\9J,.@ֻiPi&_SFM)ML5w'YZư7;Ws6 )-V[:4zh)F:-k`gLe}IENDB`ffDiaporama/src/ffDiaporama/img/MediaIcons/100x100/folder_home.png0000777000175000001440000003022512275647266024723 0ustar dominiqueusersPNG  IHDRddpTbKGD pHYs  tIME } IDATx}y\yᄑ^Mݒ Bk@fۜqf'lsLNMQ[$$hm꽺kޝ?^WZ@hU["mֈDya}e{_* >wzYM>ٚIv/_AXxC{j6bÀ}}}@s@A+FFF022pOv4ik_V^L6 J)VXښ}CAtŏz9 no?HOU ؍K֒|+Xj&'&L$ bJ464`0IfdZObU:M]:1r,iגO- [0:r۾TGg~C"F=tFC3(#r˖.CWBI봉 莦4O% `.loz5MP-[ȃ>E]1@E<B!H&Xp!:[1xOZhd:r`` i5]J@aEWӷ|4;M#V3ٶu y衇3LO8< ˂X,CwO:qQL&uڈi^'uurh*_F'su̟qh/lE`jr d$" di==891 $Fbuޱ>m ;a.\^=:呤!㚫pE?,x˲` !\6DerCwi) @FFF0:r}4EP&Zru@uu5&!r <p4hokC4#$h0]K t}'LJ~bM_wgW#~ [n?|SPUu,˖/aA0mm---m<@pypcxۺW>3lo]l{1HҨF{V\@g'."LMM!ˁJ"NòlضhjjK8$Qʕ+ vuu970yF,eڸs<d&L&мkcxMok>QV_ ¦֫4*v:XݍD,YՌrSrQػw/t]/IpZCGͥL$cM ;ɣQ?B;.J_Ɓv`'aؔ]54񗜭IYZ{}hjnF2+ް%UU$IxɧP5Yt_,`bb GގA50ePkt.naYH!֥P-5u|j*PZSUh47af&Fh[nn|cl@{r'54'>;CuK<H`YVE0͖Lyisu+`LEpzW-Bs{| "44ց|FrR'ؾI\}=Kᓤ9/ M7P|Ϡ׷vѿ=oc/!e"%t ¸λ J"2L/FO5Sޡ(*ygR <,B9V`ai2mX۲j:4Uapu5|PJyG_>8Q}o?1 Y107.=w`l o:{U Фt0; R |E *9zxɏXGAAE%G` Тtu-zjy2Pʚ&P tBy pۑ-8gj3<<ýi;WOW)mP$byAsK#D| t-5пK1|E z:Rir~d>( MU*Gwz;S3tpl7Pض Uv:`V<dcRdRnA'v2* mO`cN*I.X7p=9iŸ}>0ݳY<<۔BUUVCH$IFDWݱsSrje?lvOt,";wM֮[l& ]*6!?NnV@,5Ec(&mxLt-}qtDϳ)),mȏOhQKw z;|)h nfc9|7ڰL eM,,o&,D$_=^x Qȑi|[7^t+氳|lC[}$:{zɸ^G{V"w/z/G<`laCЩ1 a ![:r? yq,V^ !g0KPu/9Z/ѐ.!L5kR}L=8v(06|cݺ yYrz>"!T-Jwo?8~d˧)fp`ѐN4s-a K0bS mԴlP܄`?ه|{˲7#Gsbh(In#m!jEt,(!y+EUJ+HeKaM>;gt%0Dt `'7Cr`YfX~߷U-mk.:xzK.䓿6}\&|^P(ŨítwwR`ll$*q(W6jjjL;= @=v-N¥  y1  JIA&)*( 6oތ (&nb%f4 IJ 0v7ީz ,ꚭ@0siQ+8nlQJQ[?(RlVU=zz LX04 ~3466A jG:} <+yNAyd"5k" ^% y,[00==;v`x^}UR)Ȳ EQ`Y:G}UUAA32-ˆX 04t˓$`Y YI=Ö֢(Btg~r Q#eAQ?~Xur8װ,EPis^PV(@amvA% a(B{q%I/Esj&&'' 4W2G>n2?KބIK sf!a@4?~>igT[Deۨ `ZE*,BnbswI].(BbI7";Rx71mz`ΌiDIiPUݐ@eM;=]( !xjShSEd̂+Xte ̉\q5Xy(wddH+Dɼ0ν9"I~Pj[TbgVA0 ڶ Q@`555Eǂ|g*ka9'I|gcg9IQep^НnNQ[[D";dj9*bN)4Dt<',,K_@ f@)ŦMrʒ]{TUEC}# mۆa`Y&1}$A%P8 Ş+ XxAMR{LÃ>IJ^(TWp8 6!(܏eY*2ߥ cʼnWtaJ=ߏ~K,)a@U5աw L͢F$Dnp'IyI< \TStvZ7V*D\ L.eSmIrsT(f%ӑdE8-TѼBpN{]haPXK4ȥPsRd 7"' t6(˔YMuY3Xjl9\}5% a8ncc#L7U c5M%c%Z*T;uPB0zkK͛75²,h,gt- xNjŮuz ;Ɲc_Clm,$:#@O)q vAOi>Bh/ a@gǔQP0q:Bmԏ> à `jj :$b<_Cc]#ZCF.@Rm(3i3 xߏVظ1&ZBUM4׀ӫuVberd.mS @)XiieX(Dzt=oc94 @,ñGQEW=">ñ=hfd&N$aƓ:sӏL atrJNmR( rNÒno=bBhOC 3>!M MӐfa۳Q a߰JFOŗpq' ` gypD#@FY2A9J)b|| &02:d4lFy,@FT09@EAJv$UǑ :>`R"`0R{P @)uPIR Dxػ]t-hZe٘/ȠeG>qfz06"D0hXaf >YCjaZ`Zc\f.647#Sq(shli+@?G8^U:<( M8f@msZB'!".]uuuszfk:AbJVC=:Л)D,: lFƾ#X2 d>t>$CBX{qa@"IDAT>zL+n@o6`lClessIlaXh'ڀi`N0Rd9@uo'PV { !8>4798P̀9h !`yj`X T16vEͯw2kP @ezt*{ʶw yNRH '=3𼥵 i򴢆 24Y ĮLR !^T"m u>A)5h7wytᬊB}Miy l&?_3ܚy܋1Ne29(R~J)jv݀iE>_;k{gд).h|aG}}=6mtެ9_A%ys!s+\vP TUU˼;u5Ğ><}JfNᝰM;M ,#t,: gunܝm°t(3ճd "R:9uX9 @[@ P? BoeKP0gV'倈bi[,C8z1ohzI0]C~=BNI)%!A 9:|'&CS-,XЌ#o"#MK"WR (\1WH4zf LJ:J,1<P@N:tYHLJ¯c$hƼz.yǫ2rOP ÃaCSQB|t.X 9Ep.esao[v%3p*ΉcEd"{w "  Dcp$.ZH'|ߌU) $B`q rzxoo7X* gUϫet5eNMuڡq˝ebE(2FYѓs $ +cTQԄHD`8ߝD!(dYmRT~qp=hpf՛˛_ߑH/樚705 z:㍗A9Ȳ=sI‚A$uwqlj7 K{Z[aD_ޅ,4ZT^5SaQr*z(:6-T^tD' 2؉(MN!@I8浣 Ass-Fgh.ghڗP,A,X4VIJ$`k9a:R Gر?c18 A`q" UYK鍲@}u2{PLeYeAmDg '++T!a㩁#P#!Xkbxp-Ah :.ǻoob|,q5n-X,[wrer:qLb&OqM|,,jML$Th*}1 ff`YÇ& k2T3#c@IW9{6 u:Z"$.Jm,2%LAΦe,ЛCB')4J%@󰨉aL0t0 ˠx]o`F6i4IpV_,K0~< Vl2CP}m5'9z\u7MO*fN ͂ek~Pej'ͭ!`8S19ġ=T EVN# )7?܎sw#D bps e! DI*:d"h*2,A5f=0aMב`9#YC14hXԀz>T"> w31݋ϏLv[{. <xu ia4̀W` ƅħ$]qODs[ ,j{e;f"΢Ύ^,k5MDGG,RlQK^rpgYoKu$Wqb)Dsm `Y\xo(,O9k.k}a#t E8V!Į?oe[z/w7?rr@AHe?dwL %9i#|r<}P6V]ӂ|>ѐVAOo'TP@F̌05R0;.{E*zYFtMe[Q In%a+WՈc :GuӴiE$T({{{4Yyoar&wŲmN#90Ahcp V߅cPp=#HALW`S)gCV֣֏ww!G|&ȰSd*KdժU?R`?OL 2ױxE3T]E6Ak5 Z !'puPP{fp'T2LPk-L$PC}G4:d_Dc*| Y˷4&XC&8vd iMD$AǓZġ EC6  m1 EQ044%@U4hA0M z+9L$qޖ0tK7hꨁױ|(&#QU D Xd*^^VV/I ށGvmZzh$3 rtjv:9uM L_4f~Xr*xѩ N&c<>X׊j-aR=?4G&[=sԲ-j/[h: #ݍ\~;Wk:ւoǴU|m})M69>mB)-l3/y?>UU׋ sGL O|ܢ^5\Bl:uB9hYt)I~}ٚdf5YMα; =m ?>W3UUV zEW2< 2LH‚#GѽBò*q!'j4d& Rʸ x_7nٿs__RbsgF|iZ r3}w` k_ܺ71ryUڙ_305Wًq(S6Ur}+^|#-+9 \||>>5??JP.IENDB`ffDiaporama/src/ffDiaporama/img/MediaIcons/100x100/file.png0000777000175000001440000001176212275647266023364 0ustar dominiqueusersPNG  IHDRddpT OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME  $IDATxMnGMqV> 9MuNEA#xM$ kE0FSUUOt Ah8?SիaJ=øvi?~|񘟟ï>}Zqjqwo޼yg86zrr<Ͽ)msKCyEEGjPw^?9sxe(鄥Q2fw5XJ#kfiEfH!TGH($F2KW-͇u-E d)눼kN7+fRYäp٩-fbwĪ]}%3H$uȣKkJ(2[!9{k"UJHkR31㱔o+BT!qJ,5Gfx8${-*GBLQ"fk3*Lsڵ̂KjnG!& u&{0J4K%Ff]t]\-ؒNjs%wr Lh7V%F4Jmt҇'d] `P_4G14 >cI^筨iugMQXCQ"($f֌yמzV4QjJhkUbyilC85Š2rQHՂ]$M`D۷V$J%ʇh#O#Bb)яgj!ZҩPEbfٚ1[֧tzg[R*=d12F+SO2ϖ&C) nErT8 Eb<6ۋQ̓f c= #BgOvN̛nGTb+B%)N7Uk0k4$l:s^*3%չSG-Qoa䁎ؒY-Ƴ|Zwi|wJŵJV*XKV{h"nKm(L\QnJ, aC->nf He*J=ViK6Rni # !."rb}[zoo'ʱoh{J,hQ{Չ({:bI!vFo-IHm*^$bO$Xc-5kP2{(ZBbk)eXS(FS Q-תL> xC+H/ ȡQr< 75z,Ƨx2kUb4Xx)bfxX&Ԋ֚o &S 1QH|wZGm1_Q*1y2[9lz 1v";АCܸ9Y׊,8tZsRRC0L*۴|W%f2k AyDFKiEk6]QHe%V@\V\<*PYnHkgyq9k}sN9e@^J4=}i.)Ӂmb5 ?y|9?X 9rv_\Z:SϜR'wJ[.}0. TMiJ_|q7_)ar\SJu{^LK`EIENDB`ffDiaporama/src/ffDiaporama/img/MediaIcons/100x100/ffDiaporama.png0000777000175000001440000005556712275647267024672 0ustar dominiqueusersPNG  IHDRddpT MiCCPPhotoshop ICC profilexڝSwX>eVBl"#Ya@Ņ VHUĂ H(gAZU\8ܧ}zy&j9R<:OHɽH gyx~t?op.$P&W " R.TSd ly|B" I>ةآ(G$@`UR,@".Y2GvX@`B, 8C L0ҿ_pH˕͗K3w!lBa)f "#HL 8?flŢko">!N_puk[Vh]3 Z zy8@P< %b0>3o~@zq@qanvRB1n#Dž)4\,XP"MyRD!ɕ2 w ONl~Xv@~- g42y@+͗\LD*A aD@ $<B AT:18 \p` Aa!:b""aH4 Q"rBj]H#-r9\@ 2G1Qu@Ơst4]k=Kut}c1fa\E`X&cX5V5cX7va$^lGXLXC%#W 1'"O%zxb:XF&!!%^'_H$ɒN !%2I IkHH-S>iL&m O:ňL $RJ5e?2BQͩ:ZImvP/S4u%͛Cˤ-Кigih/t ݃EЗkw Hb(k{/LӗT02goUX**|:V~TUsU?y TU^V}FUP թU6RwRPQ__c FHTc!2eXBrV,kMb[Lvv/{LSCsfffqƱ9ٜJ! {--?-jf~7zھbrup@,:m:u 6Qu>cy Gm7046l18c̐ckihhI'&g5x>fob4ekVyVV׬I\,mWlPW :˶vm))Sn1 9a%m;t;|rtuvlp4éĩWggs5KvSmnz˕ҵܭm=}M.]=AXq㝧/^v^Y^O&0m[{`:>=e>>z"=#~~~;yN`k5/ >B Yroc3g,Z0&L~oL̶Gli})*2.QStqt,֬Yg񏩌;jrvgjlRlc웸xEt$ =sl3Ttcܢ˞w|/%ҟ3bKGD pHYs  tIME IDATxĽidur\jߺzAl$Hp'Eh!QXGɲ4aaO(Ž2#j<0GDCR"ER bht7z}ͪ=z?YUyQ˻ܳw?50B(01!RJ1c@ @ 1(#B g$Jwhi!L}B )@ğ4a@K #%$R- BJc@z(%{NQdxz[ ~ ( ߃a +^mH^K &l0 0 @'w'L &~hؿپ0BIb9 &^7$Y1ZX؂yRE1$?_6=2y}A/)~'cZ^H +V%:9qH "Bk%B"7&@Z`idh#D HJ!F68LOyH=3mWxA"^6%U,hHw"cmo&ޘޡA?#}͈N  +go1oK֕|yQ|[BJ> b+ Bkhrx!ڠdmV>2z@dQ(i5HEA\a"17)$F@X;%`Z$ K C,iRMPI4oO"3dqBJN!D~(#HD{K)69 ȿ~i!^-BOD6gzMl #+Yd ʳXkDw1U&Kعν,R("AhlY|Ln\ *Ѣ뙹Y4!"H d*i7jj|K?㾻ICK_Zk`^D #swi,i$z%6o _aXr>@9Wp{aWiV23T;)w!0H CbaǶ8RH*dS}NzkVr˱ҽ _hp;4: :MZ[^mIrj&\.^zKYhёcUx6ZX}݈aL%@f0XҋR m";arNF𨍽wh` h62Uڙ G5@HJHgq:ֱHLFH4C $Jc39B찍-&-67Wj1P00s r>oucq:BkB654;~dLNAPX m9t%*Ǧi,b"RE6fǤ~im JCUnץb fx/Q8Ǯ?ŵrd#oװA: 1v^;/_RB]t&;ؾmh{f$fa0֜?"Qe 8:ƣz'7a?j9) FH4 #`q05@hH+M_byEuO/F~j{xveOTHiu8z2gqMƱA1KzUvϢ_E4{^8؏lz&PEoZxN~}[ﳶ@Ŷ߆w 5a!U?BIK8 TJ!@)u(3!ܽE:EN0~BvTK,=f0wP 8?AҥM*)K%&K GEd= aR=8И>]F (rn@Q?\>O8(1KK`kpX #bc9/'ǖ(8 N*Cf)78ZKq27ʠd ~}j.v`slP7( HU k,b[heVCGBt:`[4Ŭmj>CCC} ɧBF! "NB~#4F%0 8l: l,*Lyj+-(d5g)A%XMqw6 }-((f![t%femJJ4#+f!8~|m9l6V{~csgo9 l eb0IZd'QE&0!HlLM|.nʑfnãYz\eG{ף⎳4:+x;Y IOhJ`xe$HE0ZMC$  Ry qDuĉ Lkk،m{-4"J,$6>gDp> G}s!^lQdRb9ւ#,Dt#f'騐|rgK ˆS'{ua&5 ܋Q=Z޾!n(?2a7wX"15!Ġ^40H)b g`Q7861R2u& %=Tǡ٬okڸm8ŚDl5i]ڛ姫xiBH!ǒ.^;6רn.y-Ğ8~pC j0^zW41SWFDJ&h_NT0(?DzFn \a p8~͕6֯-8rrbq:cp,dH\27W6)TL]}]'`kԽ vB6 F`Y0~$n_r J$wQs!D&A%:FyՃ:qbQFȔm^+p[g g+JYD JJl{2\}ɰS1beo6{%|NߙIa9wxR`YD nڛ7pOa<>P`4 Q8)L1=I*,Dj0 R_:bO .q عmMCnv6QY ٙ9fcU2%.<*h_<+k{!g\M*喻N0v5N{%fg#1ɹ31,mvVlll׻K^'J%ư aaLkRiAd)ä3#_B;NC M!h"TyV NS \@>gr.SQr< ңY4m s5-\IcrVυ#c14Nepݙ|a|, :$HAuqP8BHCJ"B !3 N߳f9r6G ltFXN)Z Bj /]*q,%՚-96qSs+Ib:N&u=3A館v]l[c+ހO0J2NX7o|oAen >z}Pua7ȾQ:|@;;7/TV7Hg0?Goo+=7\A 0\*P". ![JS,LaWu@- C5_-d|lnaLN+h_q'VV~B 4fӊ&dh>,eDb&LD9;q|Vv`Lkm[$ ]!Gڪp 31Rd@7x%Q)5.de gС_#0l;(ea ޴Va|s%a1No(7 'c@/O`IцHT%xH@B8@bOpIt'm1211 :s,/ 6#7ۆ=|g?gO2x8o4C 4v;hܮq-|T$aeRV1yܹ[$1POl@BkZo]W l_|pϔH; M\6ƠIqq$2:.esfE4i<"V&)-fY\=u4cvt9ye <brˉ6m\mt3,r0A<\[[,DJ>RX6&ƵH%VRMX,8T!$(@|RJ.{?R7].L bMeL׸S):`LtYs"Ck8:4Asj) ZZZHX-(a*>܇#`4+.;)ѤXB`k9=>WN3: 2,,F&W| %H`iѐ+RY_"a<՗(߁io^`h8-sHC1r{]\/ ŠRȃ49P> Fu!1QH4%&bkY-4 ؓ Rnny^-,Jq2O>m3&QЪUl\FUv3w2/8(gƔ志vA@Vaa׮]}} R6#v"(Ib6&N2T£u-H#NaY1vw{fu;pm<"r B:?;o;dz I:T*}>DJZ\"Il)G^Ơ[^?@?SɵqbITܬTL4{r,2mta, *r}ȫ\[܆)vMݬ=E3r0?A A͉:W5. aph333ߗ1P+%,#!y7!H),;!Y[q߆Mbtőq{ S -$,IZ#Pgk?At$hZe{ Vl\&N/V8y O~St)@Nw͌|uu{!RJ~ECdc #Y&BJ${ Vd%$F Ch418N:d0002mtŧ.'7 2Vm"?Dj;֫Jg<,k/=Nk8lW/p4u òMvvv;{ BB_!~ C1FD8TB#F!鳳UJ DaP$N_3 %v>Hӷ9f) JP|Hrdt;{llt-{}l!x}v;C:66mo)m?2~PBsu#XJH$#4vqR$H~B3{(vì,O̒-qz ū/^bsg sYfg ]2BC6N9O=x^Ȥ57x( СdccmPPgv:[.{׾x]LNMrˑ _~tX,-1(c X&m!}2J%H4DX:e' |}LUh# ;]As [%)e'H9<-@k1>G*!Mẇ!0 )ojnsc[wx{Gwz 3rbCڜѪ7)e)e%^$!-+ z8Jbc$?J.i@IW(`ij!\=G.6#ů2/x?`wX6Q)XT LjlpE ˆJ~acc 1x 3c~qC)S mS?\DsqϿy2o*0ƠBt\L'yI)/!d&-VH+-e@iP2N=Ƴ-Hc믨_XA.HĴ>&AqBb;HwYykrH;KUN@a(=`q} wv:$N}du]xބ'1hJyVo`{agJCsF_[|q>R%F"0Ig3:|&Bx;5#j0-R 1> ҲIIQIj5t(HJxLV2 Y?u'[: Erx?]owET)Si=ʕr̛UpN>EEqKʼn`ҟ14x_ O6Rd6]@@9qZ S; "F2#Cn$Q10~Zcc>D1q`4R"L$$@>$i7b5$Lkt?fiE_zIKN̎ XU熸ǹ AgM NQ30cPT!6 ؾU(֊c=ū[-[HEt\RFo1-Fh".{Tc+dlSNmsw3=jF8# t { ~OD"No-1V6n,QY•웂Pk>SpK_E 0ܼ<į?_~#^%*^c? wC8HkO"j˘`oU_Bl~=8Ȥܻ#䋏ԓ~ORkIsRX$Y&ٯ#+!9^ E{7wOˏrp? IDAT 8eMiv \n۾HJ(h0r6ns+P [1zSbuUxAMߏ:#r`iX..&lS[!hFep|+;Rgrt3-ٞ,#lu@ZTkbTȟ3+7x|/>ߣ\E!ȇʗ1n_Uccc;wk{14LKR[X.CiQʥɅOcYJxXII7J|IFb^Uo $BFZfsdU) m8Um-Ǐn4Aȫ7iJX,#2GYD&qO,n5f?JeVqRr8>O?ޑ(WdYִmUe/"n%e{-ap> ÚCY,[&%JĦ,^N:}zA8IH,A$Y]pև(45oVkzǡ c4./< Nߐ`{͡O)2]9a!Μ;n{/gx衇,vK5TZ?y>J.3}kvJ\~aNh#bv4O1x ~}(e|:m ~Q2zCt"A Tl+cоy֤ MFp11uR&ˀ*C4CB/jV*ǟF汲YEF"nAǬx3e%@0IoB֡a!EtaPmIEasəi*1&8ΓT7‹5+E$:DZ2>|=w8[ /x_|'!?~y+Y1a?,,,ggdY? 5Q(qE^]^ե2Xbr\QԸ5r +v[ ;-RN{cL]dxK4DxPRe -9&|^,<2g0P+ Ň)C?ST2x]^K$?g 0~~5BxO{4:\qu9p.=zhme=/֙bqc^\ac5kxr֧8+ -u/ZOьo!V 0 @( i,?b)/p;np)}JQVֶ܀#{y[belj2O@Q#>v~;{F`JH6ﺟ?W ;'ޔZK/Vjc^C](;R"ګ̽Crtbmlj KʸA*hmg O~3|##(^D4hh%aJ%2&ⵌy (e9~mng#?0Q)tg6&. H }|K_ܹsorO,)ٹz>w+<޷dcfH)ͭG}\ݭ&Q8w82sxppl;05aUU6wqtU`} tC>Qd Q!4HlG'hߦjyK MMA&|._xsuM:ea/`>4333\vcǎiX8c|c|pWp˜;wLaRS7@ C2nt ~Sw~m4\@$Dטc6˗>MI/PO-S1c7R"M !5Fb6 rtZ+mFGFnFy+5I%vs e<;W0#I`++ (¶mBnK>_ t˲B)֚ZFR#swvvon`4a`*ƏW^B;(呣dғ2t+=TRt¨?]X}*Kq)s/h㵶ڪ#TN;ƍmF 1)22P0Z i, ʥGM"Md=.ǎNh6_R## C*AiZmbVǎFeh vVH= &^*0x&c34V*{5L(ߞ=XܬXkS %2b uF6ȓ޵q} 2x\k/~ybhu .]ffRh4X[[RT.#$ iC_җ8qT{]gDZ~I`_C5~]?N2Zȑ6Vhώ/m R$ %v#$ a2gQHؗ]D)v=R:#_= B#6I _FS a4fld{ VT<"/.$xo_Vp)yΝgѣ-M&a\E`ٮݒ>vJinO|tSLHc\nຊz[=3(Fj\/BJI_:jkCKkyt0o?z,Si "F$c[t2.))MhZ]5B*H |/Bن %kyT:7#xn'u{wrwߑaco)'KQz5Fd2FNS( 88 _^\Oq EGEvC$I\34;,V;[v{zZh4eku` N/rr,H$rns$!$˖%٣ fgzn6;Y{շsrQl9#NQd}==C)${x2'5+D6A2".S:/-Ȭ+ k(@x)GyN2y/ݿ"Ms(b6!],pΏy')v"6e}!I kB:cyIg4*QB59"hqCy0O$|z|-&g>ИnK;*z`[&S I Mr&sBJ3v % 3<Ob tԤEt,q x)CQeIe4,O W%Jw$ 0ƠO[7oB=sYk~KgxVVIRd>8Ck-BF1Q$ѽ4W* 7f%".-Nx* /4(%X D:| YY2| ?GrT1/@jŴ(;oҸϿBmt,a`$x:0,Z 4RHx6++c2卍=8-(E{QvNu$T[$Y)$(%ɳ9$3iZ(j(ָp,kc1Kٍ_x#x"4S|///_%AW9XiK2dRzBO!OynO+Xh3x|B`:ͭ[7)3O]C;l CYjQyy01M-y(J( Qd [9AiA7EQP|$_HfC:kXmvp:RnCTZT!UHeDQ4zr S[Oq|toE_vB^ܽwC,h4|Bi|Kθj-pt:Jc|pO>;NTs qI&|t}'SzᣌAxV3p A]R@K8$Zbcf"MоBxShT>!0˟GEdc0BOŠAjo"E- \PPurʽ=~4-~sxNSg8b\ ը@Oń7|CsYg>rn?hoFk>qҸϸG6a"}K{/ƃc}uqe bC2G l,=HstIC- y~Y5y.1ZxB^`c]@YNGePJz94eB p.'+,|>j#b9#h.}#-a8,?վRZ\#ў}V}RJ6S9YA KGѨh?7knaDՀb`Bb|SAiј2/I@ U18GbbRmX; @\&u?t;Ͼʧ_|s+zcv,9HmK\ZHIglnnq< X9סɋYR-v1 )^Qz =d֠`\(E|;x H]QwQxJ&9IQX@$, o֗^{=Ē& V J%UY 7p%^zU6.oίyoq_Q:.-G1sP,%9I\{%ysހ mM4HמD{KӥxY6`: gSx.IzRLc1Իw_9v'.ld rαs;wI P# + fYNn,)>4"0Y ֲx/d ̼={ni"jJk3Jhxnydڐ1 BߡT i U=('KvbRixBK_s/\L *"tCjGVg<;T-$_/l41֜|t`.8K{*/Y_DqRb-iaI||-h&FQ8 ᬃ,-qYk|+|!Ӹ`}Yi~ivORiq/fVT|pG*y`AN:M8I~L݆$:ЊوHERAa-(6ק$`w8Bzm*/K$3W:2wyߐZZuF)FjV95"RC VXRАɫ=6B"}L{G[ԕ"Ñd2xs8YȆ3/yT#ͱ+AY! {1B08*y4_|.˔=|$ RO&JX) |M)=*,C"C:L;>am!zFqN386os4ud7^ŋm|?+HӄGw]vy%ei1^uY:N(Z *UEV g<+Oek __snW^kx@<pFКOZhm@$-blqPjJ^ ʧ_}zq9J ۈҠ<)(0DZC5MMو4G5R "pɈ;2: ))dUOR]Ye29R&nJ?ȋ S`H%t\^hF |]&6~`N:N{x~ț֭%|)\vнzw |7t1#Jruߧ`0{\{gy1}LѪ"/%n-"w?: -X]V%8EVY_Õ9k 8b% R%LFS* *PO%xdhIh4>)"&N1<dj5$ ,1yӛ.J#GhwSbVPZ,ژ8upŕsx~-g4Z]{C>x~E%TH*PR4*>U~ Y[LXYd:>D#_VGK^Yxడ4G})/yRB79zȭn{E~x =S Rm-ݿ!4)gIENDB`ffDiaporama/src/ffDiaporama/img/MediaIcons/100x100/directory.png0000777000175000001440000000607212275647266024447 0ustar dominiqueusersPNG  IHDRddpTbKGD pHYs  tIME1p IDATx]KeGιy$'1!d#"EA .Jt+RE)% >@C$&I2U:ۏtT =y_}r-cp?3.Y}I 4"[ ߭ϧǖsW^zo^ߋG,_/3NJ}0pKo{CH@`(ٽI?0p>qW{`Hr xBǒ; ?L~jf @:{OAfP؝_P 7=Ҏ} T Asb >m \*f"N `y81cs]B9<'Km w>f͎2V(bwyQmo@jpAw?I)\9[^p7T%v ކ}xN=Ws>`qt ._|~>]Y݂^X2sOݷ+>b!X+).ʝ˝K9'}w|_='_WX`n1:ߴ,0MLX F CgPQTZ;~i`zp&*|8;==̮ 'dB8‹zg(+UIbi0n C,p r^e$5 2?w2\Y"!yZ'O;=K{,vfXҼɸu?l(Ъ믔Nj:&¯ls쌽~_֎ ,r9YU5e`x;5*!^l6=L='b"LMMaގ#s;FnP%儷bkP"%naͼGYSvy!H$P6ޛPP!if4qUk@,)!/ 0 K:5SD4eJQjSsS CBR Vy81kMUsHj&lBOm.L^fI=Ay_K̳u<T7ꐅZ9wVfTЖNiS`R!cF4ualR"!;<JJm3|Hwh>FoG>X>-s2Еʩ4rtlR KoQزv?\gMﴍduJBtÜZ-j4¤&,iPwh՚ mfd\]!aĜ^/.!f)O3Eaaȭ g5 9z 5$}'>=~}hK۶M6}MA84cbHecoB8ѐZĆW =(vY k['F%'Nb7̏=V9--rYrLzfZ7Uv8؜`2e gN=ɐ\\h.hti[e ;[l֧}X(Ơ+J&e-`;X0`yO)""xyJ}MZK⩂҉skSYTlx'qLC ka ,NCd[J/:rҤn i ph(XLhiۧ- 9ΆVY:keȎVY C_Of>=Ä C 185 f0:c}š͇lod"B(C`ܬ^VD:Ne1Y!VYuFe-z%I]_l/+̅\ִ AFߒoKMUn瞬[kc=`Sl<Ϲ,nY ::%3ݒ7uxT4ݍ `QnKNy̙< **(}T\w1Ew]u D׌]sFLD  !M>3'uz8}8$ ޾N[w;T B PJyRBhl-RijW R*蠔j'tSJuʀ!D.̜ 4 !JB`Rj%NFKJi? )Wq0\)(B(o !D\)UlB| |(0)eRJ*Re?R6]#}>RGR=[K J)TJMkFb iJ3iD:Wf k-{RTA?C"!?\ɲX[hVUj EIi yE"ԫݺw2[Ri6@Ye٤iZdmz\1%R`mƲ,*O=k6sfd͚[&+Dt ѹkW>̠!C(,, lp !. !TWq2 \ ]GTUVtR>1|)_ϛ+ ! y}hF=jk%RIRdX,N,H4#Lt}4w:xzA~A< :`I!DRʮ0!J)%`6WTT)Sx7XjцBu֔RTTD8'χaM뺎mY|T~ ¹aLD4mf*ECCUl޲M O]1bB4Uqbab qJ! wL~IjxӥK d"A 1 plǦLW^%&//B,ñm$J)B;bA"gÆ |wTVUb(.(˯ƛo"''%}=j`} ȼ*.>uȈ{miUUU3Itԙ{&ދJѣCg ÇӽG 4MH># Bӈ bc8*-%HT28OO#H`Yizޣ'ΰѡ3Xn:̔gk>>LRSw<B BەR f[oW^Ne]-vϠ sHb$qN>M!J~$3AvmI&bTбs't {7tlB ~*csگOH \yմ-/1%@^^C28K76Uneԅ8}<>EbhhhGF2˹uw~;zLnnTGM.]F<g\PJҭGG2o̞10>HP t`y_2-:`xh=TAMG' 9ȣwmtm߁sfso[%QJzE[}*Y"*˔fs01?~דH8sٜXͧ>U+ڶoO27O?#/Ϝsx'4wU762顇Yf-0檫bBu0V`͚2È5ƈF~( ƐGYO> uZ !RdM2SRn!h!D"W_g@~,[:)Nk.|p˗,a`Iz ڴmKσzW_JmM5`Պ  tt]ChG:$ JVאH0<4C!4ݷGw,S{ ҥ3'x۴囅 ߷/oE0Z)uRJ%/~pguJ{y'}];+!ֽmJ&umy2y2>>el 2[n;lfYr%^D:Aɴ S֪+/Gh7osUW!0M@0iZ?n7'Bw: B\K 0~Q5 r-͐ٳ'f2E8wH }KϿq'@6my_4ן&i*ۚ{Xo U:nh}+DJpzs?3ebdm9!|ӟbЛ&;J?Gh{7RJh]tqs"G 8BlۦA=|' 8bBH:dZczFvKx(zR75?H2HqĀ#C~ w.UxA)bK졉) !niɴ}re,AG 3eRRZ}<ij❷!kPx^N:3fPWWI=ىD#EaQ>t_CcC#rV}8gzVUY/f#<&=y?^t'RJ#R쉉: e+V0h 5 <(ZnMMAO+b#gRJ%z}mXBT۝' 4M0M84g PX_x!=z܆mx=^x^6nȜ/ 7sfӣG@qǔRGjdwpPJMBU} 8EKӿ!tڕiriRSUϧyPOVX"H/p1D*⮉R_WF #e͵L2M:vğ|5PV륋}!̜3px;XFm"ޥOXd1ѾCGbe7sJ&Y0g5ȟ|bڴ-]kȖ~S 2~֭Yviߡ#۱hbwi[Vȕ?{3W޽;m#b"SGL;3,2ӟ:M àw FkCٸqݺw*C .hiE?N)jWKەv/'!D$;!'L=zcwgvmy?c 6>k ̂@kg(0{lLˤoøH$bw2M&NHEEE\Z) iGiK{* !LBdyX[ڔxcއ.B<^mKesd@)ٷ#8f3{y}4Gҹ3m[h MEΔR+/m-[ճ|gxGذO8& Q&! ),2uu\q%|>~BTJhhh ~}֙ox_rR_))-iI_Lڙv?|2?wRU[Kv|=oG S7瞋eYSUYR&4}RDꨫG<$õ,[%~KώwHWvC.f_:xЯ?TҲR.Jz"?#O> 4c-_.8!#8CqI1yqWbǙ=c&pm3,?H۶M4z 4=VϵJe$4(ww? ۦ߇acEVJ6nXϸ wswnr'3KS?JoqqOr0ax\ugpnbݟ;#!t5 IoPHpyzMAYYDCaА!ؖͲKPMHP.Ij*18}hW_~k/}H"$''̨F3c5)-+ï֛l޼E!\Z&eWi% H!G`uM9R GcXA$/p(hCÆ̰Ù; &z5 .RDPi^^gMY9:3C'PxwO>hqm!qн:ܴ+P8l#A"#OJ iZDy3{,֭YC('u2>:}JHpD*u&ls0vRƒmxlq@}}sO7G,pN.UUULCΙٶdf##Zw%dn!kJ `iiD#t_Υp^,Ml% rC!m82PeBXj5/#Nja茛p^q9)p d84*ǡmk;u!ioK~A/cժMñ,P#sm:d}Y#{ !´EAo3c*E~^^z `K8COcW_'0{!R64XVUȿd߲nR山r+3gL!CH$aB)RMؖK7teZi8|5/$ 8D?'>!/?&4>0E.ҍ,fRjio86yyy^/myPB+eZ(DQ~bG ]#ePAh:uu,?!L1lX)@RJ%VNZM61֯.> CϢ󩫭si)3ضAI#h) -C )m^`sF6oH$/]ӰR)}(gTSNJ"0Xθ3#¶,JKw'躆i~6o͛hզ -\#2Gj];ږm(F Ȋ0I4 ;p/mۑH&ѴtӁ:R VdӴ _9Vt!y9DAtʏ# rյmLxMI$ә,_-\˼+Y~=mzLqlP`G:~w7q溋6y-ӤvfSkޮ4/"4]3 ׭_IήBe]Hsrx;ˍW]Y瞓eS֪oAm,F $kC)׈->Q_,"Ŷ4k{e8cH;qcRQW,(6l4pZnCσz{+4M7afmvoFf QԎ@ۢ&e6a"J{Y&Tj‘g@ÔbLҲ2L&ɋ5Yt햀&®9~Y%厴྇رB!"9n4fWkK4(mdi77@`8L2gլ\:tN} J$L<2Cs&c;ipvmIvR;AMhH݊,@0@NN@']ДPBτR^4ee ju N`܄nj.(((,ıll5PdskLJmH$I$2xhh-%TAH$(--%HnWaU_mn#`ٛjMeehlA!Zƛof:#WGJ)qUu<z #]i*a'̽> ˈb~^o:3R W*-:iS%eMǐ]$SJ3,[]ExҲ2mg_$wԥPjs9mvxĶPtԅ1{;[lm*3Q`"S+I&M C@k;1{,.h4^/Dwzj*i@q)7;Zfe6'v ۛ(,*ecEMyy/i'GhmێT2W%][‘\ZiFS9|ؘ]ZY"_f۶i6ۚE^u낯.c=0ӴWl/Laԏ8I$<r~CJI0?ḣ8G k:={¶-mڶkj-Y*!ݺ@ rao_@0ȠL?p GIɨ'k$gR dPC!Z_Ǧʭ@]rjݧ/1`[߶6szfD+Y(U5\ӯ?ǃTb0g{4M)NB%H0<^뇝 mGKlZs9ӕұSұtlcc[&:u]vēI"y>n=ƉϚ֐rL˙ϻG4|)aSBL^pvlV-_i'Yp,K$/x2IvmةeK˔TٴޥR9oȄlGb;RَIJ9amӹkjsC嗼۔j_gw 'kqx*IDATP|<1if̘Gk|n-\w)];tIJl>}#ih;FL8QT\DNݺoK8r`UW_gsUW_޶lQnq$ioh`ժU7v,O=z ۴hRMM F61 ֬'Lᚫ󓛗Kuu5yݗܼiWYt{}W`|5S:Nt!FPPXГOa[`Ffgk:nnt]Q ロmW'On$%]&Iŝ<{%&NwRjv~OfիV; ptJ(/a}8z`֮YҞ)aZ1c#t3[6oN8hߡ#؋x OM_\u;.w :C>т?aTJ ]1^ZL%Yv ~˲8^0ꭕ?/}>#/8mwFȊ7Z,?P`IJmϵ b?>}Ko1j4.~;gohđNvqjlǹ!GE؎tHg{~ZrrnU˭IV,]PJu9s~16mҹSx-%Iۤ Ò )--az$s\%X}#/͔)MKBdpq#yR7_ϛuW^Ŗ͛u[oQTX̴?۱ לQ7ޟ9wyt (Mׅkx Ӷ(..SNa֬Ylڸb4M`^kx?/cO8 M>Mװ7AYns߷g&Ikt.Nz_]'PVTW7B\qռ4FYl9;wbޜBl޲<[MogLt)q/;ݏ̜1=޳{p۲\4M0 J_PFoHę\hۮ<(o69aN>8Drs Y\ٛe{:uxSEFɚ!QZRB6ҹ3Z²-֭YIB6hTS?c[*w&? }_EO? ]ӝ-[\#s;X?G1 ,\CK%ۖ"K!c>RI}%HE$6MnsH>rܯ&2O>~"\rsrͣ8J8p(0fhuYHŅEͣVkۖVZrb1FcjB |R̚E֭qpO+\ph{ _̚λpgܹtٓ?|X?f|9j ŋa&+/'kDJŋkgfcF&=:hC#=agC7'kW+.}ƞ4$#>eahJV5?[oIO?HC4  |24!466֫Q]UMaa!=zGq>X x]p ^b/XAcs ๧y}qfϚŚukygtѝIMbhJqj\Ӧ.WJ5Rw<H]3yHnx-4֭_8=zPS[˲eˉ56 q;k6Xa· 2}xb]ГO/duXYM|TU7=m-q2[n;׎Ò%y|^?TMnR!RdjO6]H a("Z7AW[9(kZ ~>G $ }`s /PW[K6zqӴe@(m7l歩S/(h}=jxiR]] F2DG|gGnGPzvoܴi>,JҹѽE9@!PWzǏ/ԱcGm)Uqq1n[>y}xF8o> +/Jȏ-+AoK/3E)"lLˤںZ<~?=zd ?lcS# 7ܶlz8rM?Lxin&]Gmդ~Q@!!$E. .PоݠC1`UXX$4M7Y=}$  4X,Ƭ3Y8֮ekNeZ)+NYg|2-[J(n^PPXHΝiס=a}Chgᛯ&",AN"~o1'^uY_C eR~ZIqIy.]k۶w֭r1cy#Axx2A*Ĵ,< 777 rlIGIbuCb0$I?7ʭ[Yt?ׯq0 #!;] #߰~?Zu;@ HuA9@9<|}@Yi}}Z$_RZVʙgr1 #H$H&$ 8DX1e!nb;-q8k֬e5$S)j,39i9K)4Mʪʭ.xw͙LZջ+K*$D:A;m9w>@[箃;u8PQеkWaի_R)H$b D/#O'hFihh H&܊Dz}k#9!zхD'HU+@)DuƍVlܸ0uővTmp lP2"?D7ysDoziQaQHp&|u+4< ]mKVRH!0m1͔.ZnCeezVwY} -ᾚY`,0 Ap1fܑ ' ̹Z3~zٮ[`Z)Ӷ[I7-LwI6[YV3TV9o␖@̀i9 <-eGWC,jvȱ]YXYeZ\RY`d>{7Govi"lDK8tHe֫@(@0Ӛ5#z6zh{YwK8~o~_D)PYGd)UZ^>g4[*;,![P θF4#RZ&Z%;ܼ5;Y2WD3P# ;}U;?e֓}&IENDB`ffDiaporama/src/ffDiaporama/img/MediaIcons/100x100/clipart.png0000777000175000001440000001052312275647266024075 0ustar dominiqueusersPNG  IHDRddpTbKGD pHYs9tIME 8!IDATxyp}?ﵷ:}H6W؃1ÉCBҦN`(0ɴI@'! 4PҚ$%ņ4)H{+^veyf5>~=@Uppv\uozZKKַzkC4}X<8_\rt[[[ H{!N# @uA]׋'L&C.Wuѻuuu$IXhݤR)t]4Mt] + aCҫ@Ʈ?___O}}=>d2iD3gٳg ;خE/T1h%(^'sayϜs\.GPD",[krÇ0 @*h\+'Żw+h>VSMiZM?ͣH$B{{;uuu,]ͮ]C0y ZMu|xfBeyǎ#͋gw/X6D={6 ItwwH$*yx Mpf3`' d-[}NC<*XlhSѡ.@턙c+@\a@ˮ] \2W:|-}{W2$LH$HRR)$IjPc)`s3o /La@+0:;瞫M̙cDJ,x4ypD<i/F;T` h-cݻolmoo/Ɔt,P/@ʗ ;rE0$9Z DyL:8lYfo,%`m-`-]`{I9 ,9Fޥz"$d ]] }~>~/ݶhOEH3BšpGhr~+̑J&5E,Yx<ݞ@`mz_kaz*+j*c݋G/e s=L@A9lc~}hee pHMlcH[^kN@*#[\x46ԖMLrٰ‘ Dc[2ND}M\4sHEc;( A0?f c9j> 9&U=5}牢B[qQ qG*4Ћ` 8x$?]At"׊@~1 8Na;\7Dm*>R钡j(Low .S m ? \\04?G{"GwIw0~b>~̫i '6 wReCbBII %\H( `TRp!FCrTU_"{ٸ oIJ0EuRi AĆ!R+貹d7a2$Ts ud01i 4o;UFxEH>$Q; :@H'0ܑ/?/e.I "g`{d2FPIi_* @cb @f2m A9Lg%VvB[ \_My >x4BĊ(J⍦E/}z[%#2sH¯6bl`ʗ_ 'mcrenPc'zC:'WSDn@L]- |φu3N֛IuVh+r@>Erԕ ևa]U ?tG#xiܯЧ`:aAnrupeʅu3@*<B)^Q-{)vS2&aW!T WTQ!֍Q D^<^GD wHΰ )5a8Nb275PU-7LP=uI{e (oD._ 3wކ1(s\[~.fN!]U8&ٖJR[X߶y0UT2x$RlSD^j7;;?ʋ)d%y-n:c;e?Dk71@"ÃvU,se0H8Wi#LqM: 6(+rg"OI%ڲY [LM*SaNnuZQUyKsQW}  #_ `nn}& J8#:۲v2gx*LP[4 @FG 9\a:FcBx}#OF't2OfJK[V"m) d)j໣>t1*=2ƶ?v |p{f0-k'UI6cڲA:\sSy7W{#VT Ԋ/TXsh%`d+`{{3ȧAã(0QB;41_-;@ɶ*b4ׄ9kJmY{U(=XW t* 20DQ1UE`^f& XV7xswwPbXjy@*ڲ0tFus8۲¶O1C4a@Vir(sm`X"µ*KL*yT[vӇFb ҄Y4j8&mٌq33Ld9{wV80̭qSs*_TCw@ Qf%ƀ B>7@M-m&x/dnڲ2|#EW!e@R<(n?EskMA߈rő+W:0~ ո;dˆ}   ?wG{݁^K\"y˵e=C!"]7 3}AA@W3˲ȶk!{\3y埼f$Ƥrm٢935!K6A]>$9xטhw)H#eD[6` ׸;6YRP~, c&iiGBP10w3x?&뎧!VrH J~,,rp40y~݊#qvaǁ=dYm{pu-futT|B]2k֞.ʑMDIiܖTԆe!+^z`:ت@8w%?@ƛyeCܾ6f嵡pGuLwϼ#C^yI./C &XXnC.Zc/Ǚ!,IQrYTͱ,~!qw$ppQ {\.?Xn?Z>jyT()~-ŗݲ\d.J UWe}OUaLCDQ\ S ([U DdIrZu7o" Um,_gR%^|:͓N;郖 :]o$ꚿ4+Iu)_`>_}u|Q*s7:P4IENDB`ffDiaporama/src/ffDiaporama/img/MediaIcons/100x100/cdrom.png0000777000175000001440000003533212275647266023550 0ustar dominiqueusersPNG  IHDRddpTbKGD pHYs  tIME 6, IDATxkt]q&pAH%JdlGQ$Ŗ8ɴ%q'OfY=+;qzL֊LܳVtNJ姬MY)"o>ٻj~Ͻ%KD'Z@߮* ^b+s@@T,QQ6MPz`ii_y/o|-k YU 2!"(ӕ񹹹g/سga; p̙󥯯/ݺuȆ ;K/i륗UQ V@-"5H+Q$,dff:tɓy衇c}mbbb*M6ɓVIo\bǍ#֩DkXkhPoeb* Q":~+EAiuIHT$)@Ró'NO?𩱱/w\v٥wڵcR"(gB@Yh h "H"4AC @Y" AUJy<@alIHXY<'8w}W4`xx?\~=z>g;Go՚E`QP, f "pDG 4@,!ēwk񃴆c e(k $qaܹO<>ܹC?Q.kzzpoo{}ŕ[.Ċ"wXyp'EP}P A ;99uEM+okC;ܞ(&htc,DDz{Kow5Ƀxއ-07? wy)N9K  wA P~T)o=;.(qEAkX"EI&(qi @]w;&''>rHOƯׯ߾׽ިaffVHGD.^l;-9o%:SÿOu;+O[)jA\b{>$Vصku}}}77ǎؽ{kSk3.4G/-7]695!fZir!L|păA-@m`P|0&kSޚV9CS"J=D  Eٴiӆ7ٳߎcǎreaffo|mw|`ٳ R 7R*UDvwO)Վ)>׊\p؈"@=8 s;v(dddk7/>z׻pȑ/ _v9z)Gȯwmum5>;~NҔt\˜ۂxK 鵷rc=t<܁}Wڱ/h@оh.)9) ʟPSq!!ڵk׻={ q @Ζ@#O*ɢuxLDࢀ?u JKūʜ>},gӿ[~g'&`!ҞOS4.(ˣAR狧∀%>HFϐ(.VR%P|T>\Hm_%" .--s={ Yz@FGavvwuoScUqBJPAo,ҷ <(1"ɳkH?".Xcތl Eܡ3lWRvY`q\* U7}ߌ~rǏ? M^\F)gTPC|г^0V"I*~S8FE@DrH, aD">3i|pﰺK^A{~u򶷽 ǎwY")@9_mNW"@#(ڇr>UUQ(Pc(7|A2wtqzD[i3ٸq@RIx_ ǎګXNhq~v 8ΓpWEx]vy$R zW[E$PQwI9gڿ^}o.KYk "`f* wCǏ,/K^N ?'ۯqv|J$  < \򭄺ځXB BL)J@*=}IHLN@w! qY)t'ijXX5k/C>߽+mrjH|A֠L1X\Jґv &oMPpĈaZ ڈh@Rɋb]ΝWorW_wQ `-XX11bb@bj(Ba&b0)3JFnAwh<[;sE$J@@qEi颁{=Vc5-lݶMr-fы\æM[׵ \ !k&~XHl! \Q 14 Cj?6 gf(2Z*Ʃ%e8Q(RVk׮ ZU*qTqCD "BDtlV&, do}[o>keee4j/w?G\qŕ5db9@vPV.ėmwҍ4ǰC`] ML33cioZ~ŮZ1Jo8w\oxmOOϪ7 ] M,3sn .jmt>{wG_?Ry=]Z8|.8pXuKǢ 9pTA[H@+ Y(劇 .Y;{PKgzݡ͛,V*N:jGϏ ",nZtԩ/䒘]}A:lj6! ©'ر&^6˺}߼yznVBZit\<Bv~ ۢ%. -a ^݃0b}'^s>׬wʡuB7^4"ZRJeI###g8xܹJ)z- 8Ŝa[Y'{r|rCsssI=-M$`-K\P"0X7 w 1={|ؔJG%)ZWap ȌuWG,. _w;AM]J UXoEXlL:N N :1æ).ٰ #""]/-L{yBD"_zR*SSSDZEDgY,..v?3$FFFNq3W*޽|^]קe`sS:w.A+Bf\V^3߿q$z~!^l:@"fKW*jbHq QG-B j֢o`}0 D@{>qj+3s#,˒obX}(Xk(J+k׮8~5kLFQ4 rX7|zp7_^,-% !S$T#ֈ+y0[};j/uU*o/u-oV7[-(AĮ_#-4#ĉɼC' DX7bV}},..MMMtww߸qBdăpA^H$"ܕW^y#'Nh4gd̬Kv}g,+~ Ǧ+?n ,ضuۍp/_}pwo4K]iHPJ%J " D#c깹vڍbo+O}Z(Rk׎,1s䟳t ϓ#իW{駷Ϫ(XĶoD`a ؁aΝXYb%\ve( ݗ9y(hqSHbA+D@:Cis( 6d΀9x~W\Qz7555r%Ȋ лhwB$F"VFFF<;R+DaÆSZApT AEUw.cٕ߅a-f+m VZ  )JkJ]:nVZ\ qD"g=q$c@Gma\څF&p׾>v,]cɑm۶ 9N,+eYiXkK""|R"n]]]urrjrtk}.Yf  ZxeYƀfX8kaҌ(Ƶ^{=|L;FjժQR>jT\ }W+wa=4445??eY!r(bQ|ea*`ոI+qnZ32fUXdl]nk6y1@*ry=X $?u~OWtTk I$ DKC+ QD jű/[c7(Vb$뙙Z;w|fyy˱cq#c6ح[>xԩO-,,)uP\H^o¥X@mڴifjjj9<3o`l]p[`2c Rk`2,Ycel # k"R )~A@jsa. bg?"mI(б ($1P,E(ctMH__cj [Z.دDccck׮p ܦ]va۶mx'qUWj̲DDܑKER*ZPWn6Oe"0J~c3df1&a0x, ĊsgR־ CCCk{zz\9'j*oPjר\C' B΍jޞ9D$\h6T*:L$"LD}7pK^}oZYY9??_"PQJ8++`hs?7փYa Haq%fI[THl% I/?DG4ZiN#XT6ĒsirիW:ij8-YUJr{˭7;v }{cGKgi %?8FvW@uqddEf,0Yƽ cdaau5M2!Nb;TJfb[BQ ^r{Lj6׬10rǑm-]]M1I1"J;{>GF}殻~l-cik-k;PJW~eyԨ7Z\*6qq5mz+1*o ,!: =UWǡR:vx ztXUPB"\! yQq[w*Ykh)EhR).}\vJ8eZYfH"&sV,5 am-L̰&.9&]q}mdfa%S{]E{Vs K~PB͖UGPqgƘ t>YVz%4~^Ff&?sHW 3gYRe"˜J؀}bh!F@ +E'K@Y^ze-%|;]ci0sD'eyS|O$fܞs+f֝7lRaT*m(Zw㵹҈Ӕtiih .~cuI>X[o]=òV\n 9x%Z4)0 p>bF`eA,rsގBlP(ݑLk[o}3/'>NY`Z IX l.+_X.4EZ43HSFcSV`\?bs 8$&''SHıV=V5lig8,맼rʙ|ہM'u2rZZAooO^^e86˥PT*۾{w^|;wo)<\W @fm*+l QfJi0-f*RX1옕eBask1.7QPh4 MSN‚+UGF^e=A)đ+6#(BK_gjk E+>V=== ?QRy-7qԩ Ǐ_x8tWZ- I4Ml6JR3'.HS! 2#ZVK,u3>pYc`}vbK3lA hԱV[IDAT< l3|* wʹuJqݰLXkđ֑/Q[Qaȳ>KDSFU.kV+MSārTbgx| XZZ*8qb~ORY *Jy3nXߗ2H3dVZ,e).x:lCđooZdi&RW[g:;N9rd|m M,=cR@ÇWOMMr-G+T=udsiMeԪPX2|7oǘL@2 mY4[4¤&uk]i%3ֱ3_~'"i4طo߾AHcƍ4;;l]GI; v[T= y_8ݞCW-eK֯;96zkmHb樷wy֭Ɔ?>DDƻ)R*k4R˻w>$"PJegT.k\ʨQ-jA(E >W5eif|y%1 L,APBX(iy?0HLn;qz8r`(\W~H2QuJ#ćyn Z򺧧~W?C]599KD8!f/ߺu_?$InaJ)<޼j˚ jjR V)7AavZpu,cd KŹy6Ǯ9SgΜ:s̳4P(7<<ۿ:h4%'C<<(Tr_j1o($+gueڸV[nxRf@FGGOT9nlllZ.WպR*Zs(4+KKK]VZ~~ص9(,ڙ}ƛڡdD9%+%z A.n]y;́o[- (ijO0[TP~P{nP?|q;GQD 4u!yuΒ{If( hSìH[#n_T6 bؼm4R1MӮP&"IĮ_~qhhh\)eDDHtE*=w\Gwk_@#59/Yy ⃓>$3Z,`~n!jy @6oLv[}wܱʝ=9(/竍QYK,EXDDed[-Yfu%^(o}VU+^Nlddd!ĂH !"wQz`OJƈ@RT/|`rB  La+خp~H' @E&aQ [>*а21!R{J=W3+++,l6WڷlhqeR:پ_E(( )5^ 6MJ0\P~ ïrCvRοo o%[ ;)e?7u ~i@!)Y33cfS~3ZkoK))RAR+8FRF gEuH$HYso_v^yEeFIXRYscZk%+ Wm7A,)8$ $)D%YKn$C6i؋ᄭ/ *`f ez}̹1kI/'MiXu7k¤V<3wֺrm(QHbPc6ֹ(za [9 FVJ> asPZ-G|$i+ڗeɓ'ng(-tGgyeHRY9w!w7ܴs o!H fig@ƊmK 򌗓2;fŅre*=wcg?`.bZ2@(bQ6nm@]'^+ G" ۞n2ƃa0l ظ[W|IS&6ož+C=vXX+]es?ԯ4K4%af$IV$Id|||+^{O $DZYcbAdf[2m/CRN;dۖb``]>P.-$.:RTo?s̉Ǐ/i۶m/+cY  (_a|4W_'C q4^"+m0,lXZ ϧ\F?9J0VP,Lwb\YY7^1 ~^1/bў9sfߞ={۶mu۶max($ :%; FG؎ulgS&s ݟ0È OէB-mFtf\T+D Ҹ=}3q(]VH[T*z׮][` JC|Ϛ Y2(LlLg0g?rrN}A;劉᭧#dھ!>btuUhlm᾿}rl5[&K X,e8zرgoصkWEk-"B&S}*$pƗ>@d>#gR.n as܆ Rg춣ݦ %/Ӌ(zp1wB,^:pɱIl6mgc3XEQ4MX,1fGٳg/ٺu떁c-q^2Aն|*?t`0dp\ΞϬ]Eb;~~([b Y+2o|sseepRHirW d$ 3zꩧjo/Zi*Xo=1b2sk.,KooqqĚ ["f༔B!Auѩs}i'bjƌHgL1H$@ɓ|o?3jut۶md,#m\~wKb ?gCCk3=fUu]ePCK ؗ9tעH/jV%&f\4@:Bj}od^z[*i E5ܕڹB6'6XmKٍIŏ"{ڛ bj5s!9 T*2?}?w^_9EQ-ˌlEkk YV8NRx+Zj[THk 2Cy*veX2*Bg]ٝ[O׹ܲlpcfI!!fsNͽqCBt#M[B5v"tEl6c]bq[򖟿kn߽.~eqJM4|aa1?Hm^c0d@+)8u7Y ,{IRH f58sswV Bjd]or(O(f.ZkW ߴk׮zo݃,5Ro)5Y.0~הu-oaUhRɀf ɜ2E2'`JNbʔ™;z;Gɩo/..(E5tKkA EQ_ȋS(4ٽ{/r-^}5C b!.g~k)aB- A" d,ߝY.6SS߿{2@=I#@+s"oV  /"VJ)"ZXSTv\wvʡk*]]]r|qn)6eb LBj!]\Kk+Ӌ婙;sC\9<DUʂf*ctZKʲ, } W*Ih7)H^"rf3,,Z-jss&&+E+p=$ql:Z"lAOfVV 甖t@6I52MhHN8tvp v?@_D&\R`!6s< FcqǓ@n%`?FRȥM' HIxƣvp4I1pFדtޱJc'|@ t! n 1_ 'O'H#q{zxv43$ۏ®|] D k=A= דp\E ^7uqm{@9b~HNcF皁dnX3'Л1a1H"H  OHByIH?#)Lwh@&O~ D? ,'%D]=iOa0@&3::gR7tQʟ 'IB@w'ۋH: 0ܛDw.;F10 J`FR4`z 8ТΛFtb 6 69T)/5 ̸v85r'N=@4!ha0Y]Ol{(\. +a֣9gBYt7pµu([V.22;KviF$g3 k3]nR|׾9̹(\}R޲ xBHxPR@C}{SKbѾa#= +ۓbvFcW}le@|]T۞@m^;I{?dw;jvNETkbpSVq z;1{ ƶ{[KmQ"rH[ŹcrH[BJ/Yuemݺ]Z$ڻ1T;H_\) l6<0H$6@@1^p ,[4;-} <pQ\m! Җc$ů/,QeL3L"AO ٔCov\UE)/ZTeHA"WGrAƶ>+H7Na"{$Ňk0=H<`/LJG:2p},_iUn.YʵX[s}> )˞]6n6>J$?ŸՓtLatc'\ڈB?OZv ` HH~IHBWB`>Fw o/@|SS. L8t}u%fbĩU,eM8e-7ȏ/0ke(XJr^績*DQ12@&lN^?pHpI)7FWFW gpp4n~ZdUWA8^B v<33 'OIkUf !ݿ'ї5a  Z _BezFY88]iu'`h65zd=w* L8S~kƦ߇|`:5P/v@Ȱl_S_YHlyyU+ ɓGIxHkһ4}(dr[8C<"ɬ} Z&sIyԞnuese:Gu2:󫮀I2d˳~~k.@&O Iא);ԇ\$}0Anv/Ѫe85peyLRG:*tmק+Qz~ْe ]x5Z+'6 o')> @Kdз d//q!&*Y%V]&J8(VxW=ca8CBHB²}a3R?idL*v#RoA8ܒ}ʿy)Ɔ[H@vx#6qx,TB8R ^(刺D)l{Z07X_ke]ΕK`\uX~/5([[5X~0ϝ_ܕ&C ĉSAd{t C{&N0 !(&)~2@VFJxUǧ;d +qs­d\8q5]7g]?AZ'x>Y . ޅ˚(V|+ zf$xS_T]vE$Ȋ* ~ /Z8Ug TWng7<\$P=ΚUGt z%!唗s[Aѡ)ԤY㙮Cdyyjz2RXH>`x8(ҵ8o/0Vƨk\ fp&9q!?LJܲUd(GtZ⪅߅|#糅ko QaGu05f>-.,=ZR^]i@-qJJTy ^OC`T0d=~#gQ mbV ,̢r; ϳKr/֭lY yJg1@){m=f~C@&TF_03}ϨU|?t}cuH_3?^'Syp/,^`=HMl PX,Jx8(EX ^,R"7DF @:@vg"=0!ƴLxLHLt\kϞjn.AպIһe.|}\ʟNlpk%ϚKrxM>C z ] (]F*70p}Sٵ{3gfSTϔ\ymwPP`H+ÚPa<&ԥBkD H<9$% NGG҃M$2#z2;ȸ` "DTp+ҳk]ke9p~Ul/,Qz4/0X#wD Pt+B_a w8Uf|7ÉEK`, hQ0ށX7D\1l?*3 6C\4*/p؋A Z EK Ijh5(jѢ)Nוҕ5(k5j" sBge `QV~C67 Gˀ)nE"Bk@ Z[ FjkA9j Xc<|<\!߬ڠ&FZh>j r_`2p@;wɣ 8TlW@*+60fN~Fx}` 'PuX:ֱuc;grշ7IENDB`ffDiaporama/src/ffDiaporama/img/MediaIcons/100x100/Thumbnails.png0000777000175000001440000011661112275647266024552 0ustar dominiqueusersPNG  IHDRddpTsRGBbKGD pHYs  tIME 2 -tEXtCommentCreated with GIMPW IDATxr] U͓;uuu" ǝE^lll@ Pf,,txxx^e>ƪɩDDDDѠJ/U ŭ444' ,E222[^^^?2 bĶ& aaaJ %9» d:└J|||n": H '俿GGG]* ryyy8 ???.D___ya{@/:g{{{oomRޤccc???oooaFFF """)p IDAT  ^<<<  򙚛q %%% tB "00// %%%2332ȵ AAA333?$nmm])))vvv9PPP GGIWXZRfffa֛###mmm )*-ÑX    ,!߈UUU   C  䵵| 7#8.ę$$$P &ٺ   %=333O  )21͍%- 3S\&&&O  %' E  qrsWUS  $21(  ???srq; r uuu  ;;(&ڤ  ʵ55  D   $```⣣G  C H3%7& $+ 0 @.  9995 ',#U XF<9     ### &12{ 6     G444w  :"KƩ "5    *%)80+#* 1 G IDAT###0 #BJ, *3fߦj 4 W TF-gQ3!F1 ( ]***i &75P;?*  !F    0## ) "   H     #:11)"  'cY #('! ```221>Q444   > D?)#'G"($!/ C/ '  #&>B D9P "4 ut{445(()FLKL#KLMNqaaa$$$   ',;@l>/ &G;J  78L / JD3 GGGgggg kCCCYYY   ?2C :1/_W'P ,tANc*4N@`VLe '!0ھ%9/2K   ?}}}000|" :8l%J?Geʽw;,7  $1) "0YTCi"+  % "')*#H 0:Ҁ 5!tBFX"$7;"/4S   """lk)  񣣣"666H 3BJ͠6 E, 2 hzw X))*  '  Ât:% ?߷{lh TPlދmg  *)+    `***t '! &h'{   %$()5  % -..   '''75-lЊ wr{ z LG /   +[ZY !I/HE###%%% 41& 4.("  +  =/ή  C<-#  J+ ++,   Ɓ } //% &"!841 SC>/* %*( kO9  47 ^abHHH%JM# n POC!m/ IDATh\`0+ ?0)8(" 8+$G8=baamml;@UUV  vut*;2D7:($!  " !+(/L90 @AA)di )<<= FIII:::TUG;@??95D>9=:01,+.6.(     1*,! =3= $ 607% -./     KKK!@?=  ",###!        0 )  64<'&&     $$$ ===,    "#9 %  B51 FAG &'% ``` " *># O:3O=;LC8*!$###   0E***     #   3   (%#dPJ   *++ .&  薗c\\\  7  $ ǥ  fVS &&'"  mllݠp #)*- 1# *66<E  #   012!!!*+,  3*뺻 FFF  !(& 228/2K   ~{~" :<<(! !W    '    JJO""# &洴,%%%      67= )J\000)))     !(   [[[wf m777      occcgeee:!   *:  񪪪 l  Tttt 555zzzṹGGGIII===RRR !!!JJJGGGJJJyyy(;;;ZZZ;;; yFFFUUUOOO www2KKK 222 ( ~NNN 666*KIDAT444v===jI?EQWJ*2Orrrttt%%%"""lllAAAlOOO333Z@JDDD,,,r?#+++VVV¨OOOFFFx^FFFzڭ X8;^d4"CmvI! www:^^^UUUviiilNRiii~L.4Xb24]~i> :UYD%[KKKUUU<ddd߲YDDDUUU{www'''/-"-"%  04```<}}}TqqqXXXN$$$,!."*##   (RRRC/ ,$ '#  ,$ #!    UOûFIENDB`ffDiaporama/src/ffDiaporama/img/Filter/0000777000175000001440000000000012275647302020215 5ustar dominiqueusersffDiaporama/src/ffDiaporama/img/Filter/Wave.png0000777000175000001440000000314012275647301021625 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME  -׳tIDATHǵYl\ww}qfg۩Rb;%Jd좐" EPE$,VfqaeEPE@ 00L]gn736v illTYe?>+!tP! ++x`j3Ndr:"3VJXVʊvW̔~V{:ELTؼpwj4d2)>ҰDBκLRȡtwwhkkv ӊ BA^9:Co^λ*ýˍߞcW9ח^aE jQP].76K ^O W8,_Y;է &PWv}mtt=BUEHtಪ*np2 ۗ<iwlƇd_#c$Q(ƒD"CQ3˩UfIӤiʼ~YEfSx`,Gس={i0l𥷨oMx<"΍E`BP((  T! ;k\GRfzr G# qP'mf&> b4MTU%j>a&U}( Ci꣢[ik_.DF^RF pC#L\N2`'W-<6 ]|L@G[aۙ`~~Sei*ct)[7XVuZ,,,L&@ AEQB^o3g0x؍4)8j<'"%^zVVI&\XF6?:iȧ'ﮬ,mx=(62Qlnn~ӾbtN~`L@S nfA!_s \CݰIENDB`ffDiaporama/src/ffDiaporama/img/Filter/Swirl.png0000777000175000001440000000263112275647301022027 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME  1z&IDATHՖYh\ewܙ;wܙ2IS.%$P}qCPAŇ""jZ}J(.]UkƤdLf ) R!o.ibwlwwwHsp6xa 8L~.rnڥsi 746|zDB5-fw!\)@C£8{SS.koÔ860Rz3{Xwe;sY& qT?H83>M /V |T 2CY $bly}McMC?H%p|-B,xxN@Xũz(iIJPr< ?f5ΫY$ q# QB! kj1u[_oG|Ir>b>wPea-*5vƲ13Q15DKDvCy'8tg#n Y UsIĉ8i粕d2.Ic{yǹ9<2?_s/䒿_H :;H$ljWX\j91YxMʶ8y{˳_"d~?@ϗXf`6 vw)NAvOvne3KP)]ap^}mkגɌP,B` RhB.6 ]cY1b1 0PUqg NC{n7φ3HP2pwwwڬUP pX:IENDB`ffDiaporama/src/ffDiaporama/img/Filter/Oilpaint.png0000777000175000001440000000211012275647302022477 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME  (;IDATH[h\UΙdI24bo!6-iL%K xHAP"HEPA4mZcmNImFJRI4LM'\lmE|bֿ /$55%1s[[)@ky b8)H*Y@`"j@@E0"Xjaɥc <ͺ`ꭏ727X"!AB܌xǙmL&:j[Ds3jYV$33F0A TYIH:p[>]d%@\$?A{SddS0KI /Nb<cSC,{m0_ǙB]e}_Yȳp``ϑ4/ƞg+i8NU{ oVh5Q 5?:L n{tzv=~<"NDdeMX_,:EQH[+sf`6eWCǎu'@HWP{nktT Ze[`yjk}rl!T,`)PF%u'OW姏&8;7M&`36c?%&6sQ7OSDf&ٽ*Ƨg\ޕ pÅ;B aۢ~[6+l{-[,MGiԕ''X h] 5)q.B,csQ.|?IS<Уt_fV&z)*^mg& 9aRy]37Ki8Hlpba_ n# yPa`AKlV"{۫@/O:i7;T*QoyEXza=5sg! ܿZߓFfO751(!F zT7hl#x%HGQD}]^G7k1AJrA.ëKsLGZ)2\>^'` ǁl•kwhni5ꄩ> >Q_?6vciA~!Oo *{x퀓GWuh(~?KLfpVĭ{4/.s RSy!f$ȉ,8_ebCZ6x,><K^#Wc,=Vw\:SRP=h6Y8P )GRLOγ|n3,<DQ.z8'-gyu:U8st ο?RŖ +4IENDB`ffDiaporama/src/ffDiaporama/img/Filter/Grayscale.png0000777000175000001440000000175012275647302022643 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME FuIDATHO\esp/ô vH@E„FM[X4]ǒDuC$qS&bMbbLh%TJ̘dܹ302DX4qٜy=Rd8ed29i$ϟڢ N\krS3'}{ )KcL+IajDQ1Xjac? NN2՟ 4*`-pUEDZMvQD FK-l7:mX,@a%elD1DT,ThZwŰm("(" C+++uX\\K6燔޴20 NQ'k>r^CN$8Ӷ1rapp<ywWҹRvp<˲PU a>sssA(YXgq~x+S~/W߳l3K(}U677) A@u0$PT}0=aQ[?orE Y/L; ja|ddbHѠd2$k,[&3]]]r9jdD"A >J5J^7xo~koK3ʽҗZ;,vwwަhEQk]gc `Y{>x'0=:2x< F0 [vpÑ?OmjM=IENDB`ffDiaporama/src/ffDiaporama/img/Filter/Gamma.png0000777000175000001440000000044312275647302021751 0ustar dominiqueusersPNG  IHDRobKGD pHYs  tIME 34TtEXtCommentCreated with GIMPWIDAT8˭ .(9NQv<0)46{ZFq&J/ls<ׂ>S,:(t8EYBVE ۪Op͎(_BqZCx5ZQJIENDB`ffDiaporama/src/ffDiaporama/img/Filter/Equalize.png0000777000175000001440000000167312275647302022514 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME (HIDATHKh\UsfyLm&41j[Abѝ7Ƃ6"(F]Y|` Xh%U#%AmZ"XZkk1I{c=.&92WMqsj-&@__- .ѵA-ϳwΙ佳!8x@I\wϦĐsy4 6EY؏6*R"B R[.-a"m#)JIlD ! L?*1UDDV)rPKHV3!$Ro!W*A7\0]!X==@S) @"%-"4r-{q7BRWz_t#w]9|T%--+E13< 96Oia9g\I |wM\[_AiaY:1ihTگs?y1'n#B|{1uJ4ͶlHkֳ!BɗC?@$s j)MmM9+?uͺSs<ω:yd f=*ƽ'&-GN@7?PFִ1qcd߅rȱ<# ýCgnBf} ?ïNҙ 8rccw/˿RQqλIENDB`ffDiaporama/src/ffDiaporama/img/Filter/Emboss.png0000777000175000001440000000176312275647302022165 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME 69IDATHKlU~|ϡfK21Pd&dƋ<pL ơvI^'yк.V)bۅ _۽x) 4&褊T58|+n!=@4ÁWޢ=Ea?_I@FzI`0p3 "5ݼo6fg2>7dZr䮰3cHf.KNZ@ϰέ-nyh}a7Zk>I Azl^e= 뛙IGZڏ Ӫ&,@yE21O;Uڏş':vӦ}4*!fyx~oZ-EPFۑN. rIs6;Mav_!)bbCHYcb'JOӰqӔ&h'}\KE}u8 3靰wafLpT4]ew) oHBK'/ϯ jqw!LE u1XȅsG3*M;ef;8:9^IENDB`ffDiaporama/src/ffDiaporama/img/Filter/Despeckle.png0000777000175000001440000000214512275647301022626 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME  fIDATHmLerzH]Sˌ#[yMܹwM`Y吖j[gNIf UɼXﮠD+'ZyTCJc*v3t ##4ȕSrd6ފ$XH'zrQckm*I.cyda2cVѳå}sEAI7 FFyhǢhyC^ɣؗ4o'g ^/ o¹a2r]$2`_ F'cCryOIv3]_~c^^}EQV>f;'.K)ƍhȪYcX!'2?Iw6FƴKXB.o!>4 _)#7ωmt"OTPS5CIFYSfރ.01H$",)+[\ gjjdH0ɜr$4  3GR g"H"x|P"9̵&ֵQ@՟]"bI`fIENDB`ffDiaporama/src/ffDiaporama/img/Filter/Desaturate.png0000777000175000001440000000101112275647301023017 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME 9,tEXtCommentCreated with GIMPWqIDATH핽jP#M At(.FEMEܼބd9h3.PQ$BS83Ԥn~ܔ"@kݐRIwJ)W1ZZ@0 ,,6 >ϞU8 w=^@x ذ8QwZF&s`C'\~!nZSΛlM\?H)wZF<)cc/U!oc4OY|N&[y?uؖ*myE:@)N -D) B̗k; Ƭ_L+$l(-0#80 T%BR3qJcV!iyQܔ'ݟz#(IENDB`ffDiaporama/src/ffDiaporama/img/Filter/Contrast.png0000777000175000001440000000052412275647301022523 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME 4<tEXtCommentCreated with GIMPWIDATHA E-ݴ3 4K~0~r f֚&f^L"R Q""Yd ץLUkX0>W `rsR6@ZиeΜo6Ni׈V#Qq3{OV g^^.Sn^g6Dy]IENDB`ffDiaporama/src/ffDiaporama/img/Filter/Charcoal.png0000777000175000001440000000177112275647302022450 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME {,IDATHMlTUfZj @ ejAL43JmR7ƕ7D.ݻBÂ&5*6ą h̀LiK!x3:)+↓Mxla2==m%fs$L05è*'i"ZQT,.Z~(ֹ DDZ^aZW}B  *8ĢaD1qy E#mbV "Xupcz΃<6/"5." X*"UiHo1)UTU>v X1XqP+ FS@8J3l3ߟak;{u j*# ]j@z^1= JC?">͵kn?/\v?GB~\?Y]ZgQЄLV,'.u-111Ars7~P@X#|Iⷜ;wZOGDۢAÇ) aHP`qq@!Jx}׻Y/p(!j8 8|bH" ɐH$H =9DJ9oGp9 ~v{߾}3|RD& uX,ə~+ͦ kǩs<_w3^SՀH$8Z }d2y 0m? ;8wKlLqp,L]Y HRd2(###`!QT[P.9~c.hn;=+M &ϭ:16jѾ8Zq`5jXu(lr;cn<^cIENDB`ffDiaporama/src/ffDiaporama/img/Filter/Brightness.png0000777000175000001440000000110612275647302023034 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME 4 [tEXtCommentCreated with GIMPWIDATHǵ1k@iXiB&-&`* ]D t%_& I$!/^P-ERN?=ݽ"rDlN܊5.񵐈X5Zϧ-pJJ)u2R? yp8<~,KfyGJ\$"'I(*Ea$1"r,Kc,"w{1vaV Ð83[aEN%m]s:O.AK+p7Mc\4{s(s'\dYv[UUȲp9 ڻrv ;cHkWuނ2U VE*]_p24 yv:r\G,*T+Qd(˪An- %SEĢbP \K`pO"%QRu@]"D2 B&C9Q|!k-Al5XUꑕn$ATD X21H*#lQ|P*ׂ%NmN"{&|_(C ܭP 0C'YB_ W$Y4^w~֤h"?z1xepx.:1.,3~]ݘ$SohK绫/ nLq dJ.7 80$i'QoҨЙCc>&Zm툫WƹW%>9.qζ5شs|= j,Мϩy~~{dix9&J JRcker{ؒzt=]8OލƼZ =O:܃ $&Q |Vdzw7x21˶89~o>]h,Tk;/Q,6 x$܏32+RKpsA>`;Ǜpp [^it䏵rU;Wb&(]Q,>MS m;Qw/Bȫi9%aƎ}`@j(g L_>666vyÇ3NEg(V{17i= IENDB`ffDiaporama/src/ffDiaporama/img/Filter/Antialias.png0000777000175000001440000000203712275647302022635 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME &=#:IDATH[h\U\93ܓ1m.5ViJS3NR(yCEC/J)HTTВNmjjbMӴc55צs|7 ܋ ٩&+b)@ ذ΍ZǶm4B6رK}3<\X 4ll@!аQu׈D"z]; %RHMJLZ)[\i boKB! 'f] @ Mj8L;Z;L< 鿽$DRP+^ӁSBAR۶5;D"LbPHL3#R A emMi9(?e~j~PTH!vf|^7DSU{zz:rz(*0YI6GB`x`x`ҝ%i)0u'---$ (熻gwAZIAJN`7g/7L}Eݴ5B*16rK~_z:O_G0f.#&䴛L@6Gkkkz[ָ\&?ύI>|iKQla9LS󮲻p8̓餪( U͙[.iNS_nj+qzyX H{p;ovu5xyuœ\i i:Np6N9EU$OPXRNL@,+ ]5Ldz"9ߚarnE◯;{uZB+̣83WȆ_2###)AG ãu rOyp恐P =&?o@om15!nIENDB`ffDiaporama/src/ffDiaporama/img/Arrange/0000777000175000001440000000000012275647271020354 5ustar dominiqueusersffDiaporama/src/ffDiaporama/img/Arrange/arrange.png0000777000175000001440000000060312275647270022502 0ustar dominiqueusersPNG  IHDRw=bKGD pHYs  tIME  IDATHc`[lb Zq9SC|!͑J|`7qiO>``0(O: In wHV\$ _ F`uj4áq'@"; _CvBqἀYixOjf$hlǿ`ό-A! psl$9VpHر+e"uTઔ_q+bHUK\{10R' .mp!dMIENDB`ffDiaporama/src/ffDiaporama/img/Arrange/aotop.png0000777000175000001440000000074512275647270022214 0ustar dominiqueusersPNG  IHDRabKGD pHYs  tIMEBYrIDAT8œ?/ 9իowB֖C:ϵ1@ @p~ܬ}r#vv|=A-8  Ȳq6(@=VLv UdKBĂBFY[HS0hZDd{QH!p͉ <[0I5=hBj~c -)3gon5<9m߇B4EE}ɻ8~i]>hwSg BD?+GM u-HlIENDB`ffDiaporama/src/ffDiaporama/img/Arrange/aoright.png0000777000175000001440000000107612275647270022525 0ustar dominiqueusersPNG  IHDRabKGD pHYs  tIME/6@IDAT8ˍ=kQ33;!"р2+ X)b'X6J*/)VJ*(ggv\Y' 9p9{{ιxtM|H.L{V @+i\^Y Р:?7o_t VZ8$@*||^} /H^B@|`K2< A&:V!,'mזpۧ=̅2@ukfZ)ז8}7vk쌄}Dkp]պ%΃^]=Jh An&Ͱ6~6AKue+E^He#'gSxP&^;11_!&ip)YpBڠqЅ"L*D d/N9?`\k /KiAph䇣jZD߂53W v(4E$2lK_m\ %6_z0)P~I$$#Z(A 0$` ^>;iN\:[YAIENDB`ffDiaporama/src/ffDiaporama/img/Arrange/aodistH.png0000777000175000001440000000100312275647271022452 0ustar dominiqueusersPNG  IHDRabKGD pHYs  tIME 9IDAT8˥OQrؚ̙ؐ 񫠁 v&„@V?Drx`w -;X3Nf޼f@jK/jKvV/7h`ulwr+≠~UvF铷Oʹtb'G8!N$puƳNAw{>P>eԃ H.W'1S@zv%RnTpa|Za}|&^W4 0v ^7A©$>n2- (o].2]> ›M &Ru6h`~)$n}10v妯]cAa<˷k[`@jtKivD+yn6.)g%EK@aӛk+_j_%d3UE<t9cJG-Bv*/@tʧ|,ܨW@毧{ /uFIENDB`ffDiaporama/src/ffDiaporama/img/Arrange/aocenterh.png0000777000175000001440000000120412275647270023031 0ustar dominiqueusersPNG  IHDRabKGD pHYs  tIME~IDAT8˥kQ?om5X[(VMX00|g|]Oܭ܄mU HoOyōA&\;6-gR^k_^:&v[*4ca5F"Rsd;M< M+HZZvuH .4YجWFz< d0@*5GSpّܸɍ67_\<3$FIENDB`ffDiaporama/src/ffDiaporama/img/Arrange/aobottom.png0000777000175000001440000000076112275647270022714 0ustar dominiqueusersPNG  IHDRabKGD pHYs  tIMEG~IDAT8ŒJ\Qs 417J+ȶ"yh`؉jN_AI'>"Śf׽G=MvV41_|>^ͽ!A긕d<R=BVF#Ёx)a^rdtm_8)4A #QO& |hөNжڷ_{@Z@% Ih_[}O:YWzJ5k݌ `6Hle^u氠IENDB`ffDiaporama/src/ffDiaporama/engine/0000777000175000001440000000000012275647325017466 5ustar dominiqueusersffDiaporama/src/ffDiaporama/engine/cSoundBlockList.h0000777000175000001440000001136012275647324022704 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef CSOUNDBLOCKLIST_H #define CSOUNDBLOCKLIST_H // Basic inclusions (common to all files) #include "_GlobalDefines.h" // Include some additional standard class #include #include "cDeviceModelDef.h" // Contains libav include #define MAXSOUNDPACKETSIZE 3840 // Base object for sound manipulation class cSoundBlockList { public: bool Adjusted; int SoundPacketSize; // Size of a packet (depending on FPS) int NbrPacketForFPS; // Number of packet for FPS int64_t CurrentTempSize; // Amount of data in the TempData buffer int64_t CurrentPosition; int Channels; // Number of channels int64_t SamplingRate; // Sampling rate (frequency) int64_t SampleBytes; // Size of a sample (16 bits=2 bytes) enum AVSampleFormat SampleFormat; // Sample format double WantedDuration; // Duration wanted depending on FPS double dDuration; // Duration of a packet (in msec) double FPS; QMutex Mutex; cSoundBlockList(); virtual ~cSoundBlockList(); virtual void ClearList(); // Clear the list (make av_free of each packet) virtual int16_t *DetachFirstPacket(); // Detach the first packet of the list (do not make av_free) virtual void AppendNullSoundPacket(int64_t Position); // Append a packet of null sound to the end of the list virtual void PrependNullSoundPacket(int64_t Position); // Append a packet of null sound to the begining of the list virtual void MixAppendPacket(int64_t Position,int16_t *PacketA,int16_t *PacketB); // Append a packet to the end of the list by mixing 2 packet virtual void AppendData(int64_t Position,int16_t *Data,int64_t DataLen); // Append data to the list creating packet as necessary and filling TempData virtual void SetFPS(double WantedDuration,int Channels,int64_t SamplingRate,enum AVSampleFormat SampleFormat); // Prepare and calculate values for a frame rate virtual void SetFrameSize(int FrameSize,int Channels,int64_t SamplingRate,enum AVSampleFormat SampleFormat); // Prepare and calculate values for a frame size virtual void ApplyVolume(int PacketNumber,double VolumeFactor); // Adjust volume virtual void AppendPacket(int64_t Position,int16_t *PacketToAdd); // Append a packet to the end of the list virtual void PrependPacket(int64_t Position,int16_t *PacketToAdd); // Append a packet to the begining of the list virtual void AdjustSoundPosition(int64_t SoundPosition,int64_t VideoPosition); // Synchronise sound and video by adding null sound to catch VideoPosition virtual int ListCount(); virtual int16_t *GetAt(int index); virtual void SetAt(int index,int16_t *Packet); private: QList List; // List of sound packet QList ListVolume; u_int8_t *TempData; // Buffer for stocking temporary data (when decoding data are less than a packet) }; #endif // CSOUNDBLOCKLIST_H ffDiaporama/src/ffDiaporama/engine/cSoundBlockList.cpp0000777000175000001440000003310312275647323023235 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "cSoundBlockList.h" //********************************************************************************************************************************************* // Base object for sound manipulation //********************************************************************************************************************************************* cSoundBlockList::cSoundBlockList() { CurrentTempSize =0; // Amount of data in the TempData buffer CurrentPosition =-1; SoundPacketSize =MAXSOUNDPACKETSIZE; // Size of a packet (depending on FPS) TempData =(u_int8_t *)av_malloc(SoundPacketSize+8); // Buffer for stocking temporary data (when decoding data are less than a packet) Channels =2; // Number of channels SamplingRate =48000; // Sampling rate (frequency) SampleBytes =2; // 16 bits : Size of a sample dDuration =double(SoundPacketSize)/double(Channels*SampleBytes*SamplingRate); // Duration of a packet NbrPacketForFPS =1; // Number of packet for FPS Adjusted =false; } //==================================================================================================================== cSoundBlockList::~cSoundBlockList() { ClearList(); if (TempData) { av_free(TempData); TempData=NULL; } } //==================================================================================================================== // Return number of paquet in private list //==================================================================================================================== int cSoundBlockList::ListCount() { return List.count(); } //==================================================================================================================== // Prepare and calculate values for a frame rate //==================================================================================================================== void cSoundBlockList::SetFPS(double TheWantedDuration,int TheChannels,int64_t TheSamplingRate,enum AVSampleFormat TheSampleFormat) { // Adjust value for 6 FPS (because rounded value make seek of audio files) if ((TheWantedDuration>166)&&(TheWantedDuration<167)) TheWantedDuration=166; ClearList(); SamplingRate =TheSamplingRate; SampleFormat =TheSampleFormat; Channels =TheChannels; WantedDuration =TheWantedDuration; NbrPacketForFPS=1; dDuration =double(WantedDuration)/1000; SoundPacketSize=int(dDuration*double(SamplingRate))*SampleBytes*Channels; while (SoundPacketSize>MAXSOUNDPACKETSIZE) { SoundPacketSize =SoundPacketSize/2; dDuration =dDuration/2; NbrPacketForFPS*=2; } if (TempData) { av_free(TempData); TempData=NULL; } TempData=(u_int8_t *)av_malloc(SoundPacketSize+8); } //==================================================================================================================== // Prepare and calculate values for a frame size //==================================================================================================================== void cSoundBlockList::SetFrameSize(int FrameSize,int TheChannels,int64_t TheSamplingRate,enum AVSampleFormat TheSampleFormat) { ClearList(); SamplingRate =TheSamplingRate; SampleFormat =TheSampleFormat; SoundPacketSize=FrameSize; Channels =TheChannels; NbrPacketForFPS=1; dDuration =double(SoundPacketSize)/(double(SamplingRate)*double(SampleBytes)*double(Channels)); WantedDuration =dDuration*1000; if (TempData) { av_free(TempData); TempData=NULL; } TempData=(u_int8_t *)av_malloc(SoundPacketSize+8); } //==================================================================================================================== // Clear the list (make av_free of each packet) //==================================================================================================================== void cSoundBlockList::ClearList() { while (List.count()>0) { int16_t *Packet=DetachFirstPacket(); if (Packet) av_free(Packet); } CurrentTempSize=0; CurrentPosition=-1; } //==================================================================================================================== // Special functions use with cDiaporama::LoadSources int16_t *cSoundBlockList::GetAt(int index) { return List[index]; } void cSoundBlockList::SetAt(int index,int16_t *Packet) { List[index]=Packet; } //==================================================================================================================== // Detach the first packet of the list (do not make av_free) //==================================================================================================================== int16_t *cSoundBlockList::DetachFirstPacket() { Mutex.lock(); int16_t *Ret=NULL; if (List.count()>0) { Ret=(int16_t *)List.takeFirst(); ListVolume.removeFirst(); CurrentPosition+=(double(SoundPacketSize)/(SampleBytes*Channels*SamplingRate))*AV_TIME_BASE; } Mutex.unlock(); return Ret; } //==================================================================================================================== // Append a packet to the end of the list //==================================================================================================================== void cSoundBlockList::AppendPacket(int64_t Position,int16_t *PacketToAdd) { Mutex.lock(); if (CurrentPosition==-1) CurrentPosition=Position; List.append(PacketToAdd); ListVolume.append(false); Mutex.unlock(); } //==================================================================================================================== // Append a packet to the begining of the list //==================================================================================================================== void cSoundBlockList::PrependPacket(int64_t Position,int16_t *PacketToAdd) { Mutex.lock(); if (CurrentPosition==-1) CurrentPosition=Position; List.prepend(PacketToAdd); ListVolume.prepend(false); Mutex.unlock(); } //==================================================================================================================== // Append a packet of null sound to the end of the list //==================================================================================================================== void cSoundBlockList::AppendNullSoundPacket(int64_t Position) { AppendPacket(Position,NULL); } void cSoundBlockList::PrependNullSoundPacket(int64_t Position) { PrependPacket(Position,NULL); } //==================================================================================================================== // Synchronise sound and video by adding null sound to catch VideoPosition //==================================================================================================================== void cSoundBlockList::AdjustSoundPosition(int64_t SoundPosition,int64_t VideoPosition) { if ((CurrentTempSize+SoundPacketSize*List.count())==0) { if (SoundPosition>VideoPosition) { int64_t Delay=int64_t((qreal(SoundPosition-VideoPosition)/1000000)*SamplingRate)*SampleBytes*Channels; u_int8_t *NullData=(u_int8_t *)av_malloc(Delay+8); memset(NullData,0,Delay); AppendData(VideoPosition,(int16_t *)NullData,Delay); av_free(NullData); } } else if (CurrentPosition>VideoPosition) { u_int8_t *OldPacket=(u_int8_t *)av_malloc(List.count()*SoundPacketSize+CurrentTempSize+8); u_int8_t *CurOldPacket=OldPacket; int64_t CurSize=0; int64_t OldPosition=CurrentPosition; while (!List.isEmpty()) { u_int8_t *Packet=(u_int8_t *)List.takeFirst(); ListVolume.removeFirst(); memcpy(CurOldPacket,Packet,SoundPacketSize); av_free(Packet); CurOldPacket+=SoundPacketSize; CurSize+=SoundPacketSize; } if (CurrentTempSize) { memcpy(CurOldPacket,TempData,CurrentTempSize); CurSize+=CurrentTempSize; CurrentTempSize=0; } CurrentPosition=-1; AdjustSoundPosition(OldPosition,VideoPosition); AppendData(SoundPosition,(int16_t *)OldPacket,CurSize); av_free(OldPacket); } Adjusted=true; } //==================================================================================================================== // Append data to the list creating packet as necessary and filling TempData //==================================================================================================================== void cSoundBlockList::AppendData(int64_t Position,int16_t *Data,int64_t DataLen) { u_int8_t *CurData=(u_int8_t *)Data; // Cut data to Packet while ((DataLen+CurrentTempSize>=SoundPacketSize)) { #if defined(LIBAV) && (LIBAVVERSIONINT<=8) u_int8_t *Packet=(u_int8_t *)av_malloc(SoundPacketSize+8); #else u_int8_t *Packet=NULL; int out_linesize=0; av_samples_alloc(&Packet,&out_linesize,Channels,SoundPacketSize+8,SampleFormat,1); #endif if (Packet) { if (CurrentTempSize>0) { // Use previously data store in TempData int DataToUse=SoundPacketSize-CurrentTempSize; memcpy(Packet,TempData,CurrentTempSize); memcpy(Packet+CurrentTempSize,CurData,DataToUse); DataLen -=DataToUse; CurData +=DataToUse; CurrentTempSize=0; } else { // Construct a full packet memcpy(Packet,CurData,SoundPacketSize); DataLen-=SoundPacketSize; CurData+=SoundPacketSize; } AppendPacket(Position,(int16_t *)Packet); Position+=(double(SoundPacketSize/2*Channels)/double(SamplingRate))*AV_TIME_BASE; } } if (DataLen>0) { // Store a partial packet in temp buffer // Store data left to TempData memcpy(TempData+CurrentTempSize,CurData,DataLen); CurrentTempSize+=DataLen; } } //==================================================================================================================== // Append a packet to the end of the list by mixing 2 packet // Note : the 2 packet are free during process //==================================================================================================================== void cSoundBlockList::MixAppendPacket(int64_t Position,int16_t *PacketA,int16_t *PacketB) { int32_t mix; if ((PacketA==NULL)&&(PacketB==NULL)) AppendNullSoundPacket(Position); else if ((PacketA!=NULL)&&(PacketB==NULL)) AppendPacket(Position,PacketA); else if ((PacketA==NULL)&&(PacketB!=NULL)) AppendPacket(Position,PacketB); else { // Mix the 2 sources buffer using the first buffer as destination int16_t *Buf1=PacketA; int16_t *Buf2=PacketB; for (int j=0;j32767) mix=32767; else if (mix<-32768) mix=-32768; // Adjust if necessary (16 bits) *(Buf1++)=int16_t(mix); } av_free(PacketB); // Free the second buffer AppendPacket(Position,PacketA); } } //==================================================================================================================== // Change volume of a packet //==================================================================================================================== void cSoundBlockList::ApplyVolume(int PacketNumber,double VolumeFactor) { if (PacketNumber>=List.count()) return; if (ListVolume[PacketNumber]) return; ListVolume[PacketNumber]=true; int16_t *Buf1=List[PacketNumber]; if (Buf1==NULL) return; double mix; for (int j=0;j32767) mix=32767; else if (mix<-32768) mix=-32768; //Adjust if necessary (16 bits) *(Buf1++)=int16_t(mix); } } ffDiaporama/src/ffDiaporama/engine/cLocation.h0000777000175000001440000001013312275647324021552 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef CLOCATION_H #define CLOCATION_H // Basic inclusions (common to all files) #include "_GlobalDefines.h" #include "cBrushDefinition.h" class cLocation { public: enum LOCATIONTYPE {FREE,PROJECT,CHAPTER} LocationType; // Indicate if this location is a link to another location qlonglong FavKey; // Database key of favorite definition for this location (or -1 if it's not a favorite) QString Name; // Friendly name QString Address; // Address as text QString FriendlyAddress; // Friendly address double GPS_cx,GPS_cy; // GPS position (longitude/latitude) int ZoomLevel; // Preferred Map ZoomLevel qlonglong ThumbnailResKey; // Key of a 64x64 image as thumb cBrushDefinition *Icon; // cBrushDefinition to create thumb QSize MarkerSize; // keep size enum MARKERCOMPO {ICONNAMEADDR,ICONNAME,ICON,NAME,NAMEADDR,ADDR} MarkerCompo; // Marker composition enum MARKERPOINT {MARKERPOINTPOINT,MARKERPOINTCIRCLE,MARKERPOINTRECT} MarkerPointForm; // GPS Position form enum MARKERFORM {MARKERFORMRECT,MARKERFORMBUBLE} MarkerForm; // Marker form cBrushDefinition::sMarker::MARKERSIZE Size; // Size of the marker and the GPS Position enum MARKERDISTANCE {MARKERDISTNEAR,MARKERDISTNORMAL,MARKERDISTFAR} Distance; // Distance between the localization on the map and the marker explicit cLocation(cApplicationConfig *ApplicationConfig); virtual ~cLocation(); virtual void CopyFromLocation(cLocation *Src); virtual void SaveToXML(QDomElement *ParentElement,QString ElementName,QString PathForRelativPath,bool ForceAbsolutPath,cReplaceObjectList *ReplaceList,QList *ResKeyList,bool IsModel); virtual bool LoadFromXML(QDomElement *ParentElement,QString ElementName,QString PathForRelativPath,QStringList *AliasList,bool *ModifyFlag,QList *ResKeyList,bool DuplicateRes); virtual QImage GetThumb(int IconSize); virtual void AddToFavorite(); virtual void UpdateFavorite(); virtual void RemoveFavorite(); virtual bool LoadFromFavorite(qlonglong Key); virtual bool SearchInFavorite(); signals: public slots: }; #endif // CLOCATION_H ffDiaporama/src/ffDiaporama/engine/cLocation.cpp0000777000175000001440000003320012275647324022105 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "cLocation.h" #define DEFAULT_LineColor "#000000" #define DEFAULT_MarkerPointForm cLocation::MARKERPOINTPOINT #define DEFAULT_MarkerForm cLocation::MARKERFORMRECT #define DEFAULT_MarkerCompo cLocation::ICONNAMEADDR #define DEFAULT_Size cBrushDefinition::sMarker::MEDIUM #define DEFAULT_Position cLocation::TOP #define DEFAULT_Distance cLocation::MARKERDISTNORMAL cLocation::cLocation(cApplicationConfig *ApplicationConfig) { LocationType =FREE; FavKey =-1; ThumbnailResKey =-1; GPS_cx =0; GPS_cy =0; ZoomLevel =13; MarkerPointForm =DEFAULT_MarkerPointForm; MarkerForm =DEFAULT_MarkerForm; MarkerCompo =DEFAULT_MarkerCompo; Size =DEFAULT_Size; Distance =DEFAULT_Distance; Icon =new cBrushDefinition(NULL,ApplicationConfig); } cLocation::~cLocation() { delete Icon; Icon=NULL; } //======================================================================================================================== void cLocation::CopyFromLocation(cLocation *Src) { LocationType =Src->LocationType; FavKey =Src->FavKey; Name =Src->Name; Address =Src->Address; FriendlyAddress =Src->FriendlyAddress; GPS_cx =Src->GPS_cx; GPS_cy =Src->GPS_cy; ZoomLevel =Src->ZoomLevel; ThumbnailResKey =-1; MarkerSize =Src->MarkerSize; MarkerCompo =Src->MarkerCompo; MarkerPointForm =Src->MarkerPointForm; MarkerForm =Src->MarkerForm; Size =Src->Size; Distance =Src->Distance; Icon->CopyFromBrushDefinition(Src->Icon); } //======================================================================================================================== void cLocation::SaveToXML(QDomElement *ParentElement,QString,QString PathForRelativPath,bool ForceAbsolutPath,cReplaceObjectList *ReplaceList,QList *ResKeyList,bool IsModel) { ParentElement->setAttribute("LocationType",LocationType); if ((!IsModel)||(IsModel && (LocationType==FREE))) { ParentElement->setAttribute("Name",Name); ParentElement->setAttribute("FAddress",FriendlyAddress); ParentElement->setAttribute("GPS_cx",GPS_cx); ParentElement->setAttribute("GPS_cy",GPS_cy); } if (LocationType==FREE) { ParentElement->setAttribute("Address",Address); ParentElement->setAttribute("ZoomLevel",ZoomLevel); Icon->SaveToXML(ParentElement,"Icon",PathForRelativPath,ForceAbsolutPath,ReplaceList,ResKeyList,false); if (ResKeyList) ResKeyList->append(ThumbnailResKey); ParentElement->setAttribute("ThumbResKey",ThumbnailResKey); } ParentElement->setAttribute("MarkerW",MarkerSize.width()); ParentElement->setAttribute("MarkerH",MarkerSize.height()); if (Size!=DEFAULT_Size) ParentElement->setAttribute("Size",int(Size)); if (Distance!=DEFAULT_Distance) ParentElement->setAttribute("Distance",int(Distance)); if (MarkerPointForm!=DEFAULT_MarkerPointForm) ParentElement->setAttribute("MarkerPointForm",int(MarkerPointForm)); if (MarkerCompo!=DEFAULT_MarkerCompo) ParentElement->setAttribute("MarkerCompo",int(MarkerCompo)); if (MarkerForm!=DEFAULT_MarkerForm) ParentElement->setAttribute("MarkerForm",int(MarkerForm)); } //======================================================================================================================== bool cLocation::LoadFromXML(QDomElement *ParentElement,QString,QString PathForRelativPath,QStringList *AliasList,bool *ModifyFlag,QList *ResKeyList,bool DuplicateRes) { bool IsOk=true; if (ParentElement->hasAttribute("LocationType")) LocationType=(LOCATIONTYPE)ParentElement->attribute("LocationType").toInt(); if (ParentElement->hasAttribute("Name")) Name =ParentElement->attribute("Name"); if (ParentElement->hasAttribute("FAddress")) FriendlyAddress =ParentElement->attribute("FAddress"); if (ParentElement->hasAttribute("GPS_cx")) GPS_cx =GetDoubleValue(*ParentElement,"GPS_cx"); if (ParentElement->hasAttribute("GPS_cy")) GPS_cy =GetDoubleValue(*ParentElement,"GPS_cy"); if (LocationType==FREE) { if (ParentElement->hasAttribute("Address")) Address =ParentElement->attribute("Address"); if (ParentElement->hasAttribute("ZoomLevel")) ZoomLevel =ParentElement->attribute("ZoomLevel").toInt(); if (ParentElement->hasAttribute("ThumbResKey")) ThumbnailResKey =ParentElement->attribute("ThumbResKey").toLongLong(); IsOk=Icon->LoadFromXML(ParentElement,"Icon",PathForRelativPath,AliasList,ModifyFlag,ResKeyList,DuplicateRes); if ((IsOk)&&(ThumbnailResKey==-1)) { QImage ThumbImage; if (Icon->MediaObject) { ThumbImage=Icon->GetImageDiskBrush(QRect(0,0,64,64),true,0,NULL,1,NULL); Icon->ApplicationConfig->SlideThumbsTable->SetThumbs(&ThumbnailResKey,ThumbImage); } else { ThumbImage=QImage(64,64,QImage::Format_ARGB32_Premultiplied); ThumbImage.fill(Qt::white); } } else { // Translate ThumbnailResKey is needed if (ResKeyList) for (int ResNum=0;ResNumcount();ResNum++) if (ThumbnailResKey==ResKeyList->at(ResNum).OrigKey) { ThumbnailResKey=ResKeyList->at(ResNum).NewKey; break; } // Duplicate ressource if needed if (DuplicateRes) { QImage ThumbImage; Icon->ApplicationConfig->SlideThumbsTable->GetThumbs(&ThumbnailResKey,&ThumbImage); ThumbnailResKey=-1; Icon->ApplicationConfig->SlideThumbsTable->SetThumbs(&ThumbnailResKey,ThumbImage); } } if (FavKey==-1) SearchInFavorite(); if ((FriendlyAddress.isEmpty())&&(!Address.isEmpty())) FriendlyAddress=Address; } if (ParentElement->hasAttribute("MarkerW")) MarkerSize.setWidth(ParentElement->attribute("MarkerW").toInt()); if (ParentElement->hasAttribute("MarkerH")) MarkerSize.setHeight(ParentElement->attribute("MarkerH").toInt()); if (ParentElement->hasAttribute("Size")) Size =(cBrushDefinition::sMarker::MARKERSIZE)ParentElement->attribute("Size").toInt(); if (ParentElement->hasAttribute("Distance")) Distance =(MARKERDISTANCE)ParentElement->attribute("Distance").toInt(); if (ParentElement->hasAttribute("MarkerPointForm")) MarkerPointForm =(MARKERPOINT)ParentElement->attribute("MarkerPointForm").toInt(); if (ParentElement->hasAttribute("MarkerCompo")) MarkerCompo =(MARKERCOMPO)ParentElement->attribute("MarkerCompo").toInt(); if (ParentElement->hasAttribute("MarkerForm")) MarkerForm =(MARKERFORM)ParentElement->attribute("MarkerForm").toInt(); return IsOk; } //======================================================================================================================== void cLocation::AddToFavorite() { QImage Image; if (Icon->MediaObject) Icon->GetImageDiskBrush(QRect(0,0,64,64),true,0,NULL,1,NULL); else { Image=QImage(64,64,QImage::Format_ARGB32_Premultiplied); Image.fill(Qt::white); } QDomDocument domDocument; QDomElement root=domDocument.createElement("Icon"); domDocument.appendChild(root); Icon->SaveToXML(&root,"Icon","",true,NULL,NULL,false); FavKey=Icon->ApplicationConfig->LocationTable->AppendLocation(Name,Address,FriendlyAddress,GPS_cy,GPS_cx,ZoomLevel,domDocument.toString(),Image); } //======================================================================================================================== void cLocation::UpdateFavorite() { QImage Image; if (Icon->MediaObject) Icon->GetImageDiskBrush(QRect(0,0,64,64),true,0,NULL,1,NULL); else { Image=QImage(64,64,QImage::Format_ARGB32_Premultiplied); Image.fill(Qt::white); } QDomDocument domDocument; QDomElement root=domDocument.createElement("Icon"); domDocument.appendChild(root); Icon->SaveToXML(&root,"Icon","",true,NULL,NULL,false); Icon->ApplicationConfig->LocationTable->UpdateLocation(FavKey,Name,Address,FriendlyAddress,GPS_cy,GPS_cx,ZoomLevel,domDocument.toString(),Image); } //======================================================================================================================== void cLocation::RemoveFavorite() { if (FavKey==-1) return; QSqlQuery Query(Icon->ApplicationConfig->Database->db); Query.prepare(QString("DELETE FROM Location WHERE Key=:Key")); Query.bindValue(":Key",FavKey,QSql::In); if (!Query.exec()) DisplayLastSQLError(&Query); } //===================================================================================================== bool cLocation::LoadFromFavorite(qlonglong Key) { QSqlQuery Query(Icon->ApplicationConfig->Database->db); Query.prepare(QString("SELECT Name,Address,FAddress,Latitude,Longitude,Zoomlevel,Icon,Thumbnail FROM Location WHERE Key=:Key")); Query.bindValue(":Key",Key,QSql::In); if (!Query.exec()) { DisplayLastSQLError(&Query); return false; } while (Query.next()) { FavKey =Key; Name =Query.value(0).toString(); Address =Query.value(1).toString(); FriendlyAddress =Query.value(2).toString(); GPS_cy =Query.value(3).toDouble(); GPS_cx =Query.value(4).toDouble(); ZoomLevel =Query.value(5).toInt(); QString sIcon =Query.value(6).toString(); QByteArray Data =Query.value(7).toByteArray(); QImage Thumb; if (!Data.isEmpty()) Thumb.loadFromData(Data); QDomDocument domDocument; QString errorStr; int errorLine,errorColumn; if (domDocument.setContent(sIcon,true,&errorStr,&errorLine,&errorColumn)) { if ((domDocument.elementsByTagName("Icon").length()>0)&&(domDocument.elementsByTagName("Icon").item(0).isElement()==true)) { QDomElement Element=domDocument.elementsByTagName("Icon").item(0).toElement(); Icon->LoadFromXML(&Element,"Icon","",NULL,NULL,NULL,true); QImage ThumbImage; if (Thumb.isNull()) { ThumbImage=Icon->GetImageDiskBrush(QRect(0,0,64,64),false,0,NULL,1,NULL); if (Icon->MediaObject) Icon->GetImageDiskBrush(QRect(0,0,64,64),true,0,NULL,1,NULL); else { ThumbImage=QImage(64,64,QImage::Format_ARGB32_Premultiplied); ThumbImage.fill(Qt::white); } } else ThumbImage=Thumb; Icon->ApplicationConfig->ImagesCache.RemoveImageObject(ThumbnailResKey,-1); Icon->ApplicationConfig->SlideThumbsTable->SetThumbs(&ThumbnailResKey,ThumbImage); return true; } } } return false; } //===================================================================================================== bool cLocation::SearchInFavorite() { bool IsOk=false; QSqlQuery Query(Icon->ApplicationConfig->Database->db); Query.prepare(QString("SELECT Key FROM Location WHERE Latitude=:Latitude AND Longitude=:Longitude")); Query.bindValue(":Latitude", GPS_cy,QSql::In); Query.bindValue(":Longitude",GPS_cx,QSql::In); if (!Query.exec()) { DisplayLastSQLError(&Query); return false; } while (Query.next()) { FavKey=Query.value(0).toLongLong(); IsOk=true; } return IsOk; } //===================================================================================================== QImage cLocation::GetThumb(int IconSize) { QImage Thumb; if (Icon->MediaObject) { cLuLoImageCacheObject *ImageObject=Icon->ApplicationConfig->ImagesCache.FindObject(ThumbnailResKey,-1,QDateTime(),0,true,true); if (ImageObject) Thumb=ImageObject->ValidateCacheRenderImageNC(ThumbnailResKey); if (Thumb.isNull()) { Thumb=Icon->GetImageDiskBrush(QRect(0,0,64,64),false,0,NULL,1,NULL); if (!Thumb.isNull()) { Icon->ApplicationConfig->SlideThumbsTable->SetThumbs(&ThumbnailResKey,Thumb); if (ImageObject) ImageObject->CacheRenderImage=new QImage(Thumb.copy()); } } } else { Thumb=QImage(64,64,QImage::Format_ARGB32_Premultiplied); Thumb.fill(Qt::white); } if ((!Thumb.isNull())&&(Thumb.width()!=IconSize)) Thumb=Thumb.scaledToWidth(IconSize); return Thumb; } ffDiaporama/src/ffDiaporama/engine/cDriveList.h0000777000175000001440000000611412275647324021713 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef cDriveList_H #define cDriveList_H // Basic inclusions (common to all files) #include "_GlobalDefines.h" // Include some additional standard class #include #include #include // this class will be define later class cApplicationConfig; // class to handle one drive class cDriveDesc { public: QString Path; QString Label; int64_t Size; int64_t Used; int64_t Avail; QImage IconDrive; QString Device; // Linux only : associated device path (/dev/...) bool IsReadOnly; int Flag; // Use by cDriveList::UpdateDriveList = 0=No longer exist, 1=Already, 2=New drive cDriveDesc(QString Path,QString Alias,cApplicationConfig *ApplicationConfig); }; // class to handle drive list class cDriveList { public: QList List; // Table of alias for drives cApplicationConfig *ApplicationConfig; cDriveList(cApplicationConfig *ApplicationConfig); virtual ~cDriveList() {} virtual void UpdateDriveList(); virtual QIcon GetFolderIcon(QString FilePath); private: bool SearchDrive(QString Path); }; extern QString PersonalFolder; // Personnal home folder extern QString DefaultMediaPath; // default folder for image/video extern QString DefaultMusicPath; // default folder for music extern QString DefaultProjectPath; // default folder for project extern QString DefaultExportPath; // default folder for project export extern QString DefaultRenderVideoPath; // default folder for render video extern QString DefaultRenderAudioPath; // default folder for render audio extern QString DefaultCaptureImage; // default folder for captured image extern QString DefaultBrowserPath; // default folder for integrated browser extern QString DefaultPositionIconPath; // default folder for icon of GPS location extern QString ClipArtFolder,CAF; extern QString ModelFolder,MFD; #endif // cDriveList_H ffDiaporama/src/ffDiaporama/engine/cDriveList.cpp0000777000175000001440000006375712275647324022266 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "cDriveList.h" #include "cApplicationConfig.h" #include #include #include #include #include #ifdef Q_OS_WIN #include #include #include #endif QString PersonalFolder =""; QString DefaultMediaPath =""; // default folder for image/video QString DefaultMusicPath =""; // default folder for music QString DefaultProjectPath =""; // default folder for project QString DefaultExportPath =""; // default folder for project export QString DefaultRenderVideoPath =""; // default folder for render video QString DefaultRenderAudioPath =""; // default folder for render audio QString DefaultCaptureImage =""; // default folder for captured image QString DefaultBrowserPath =""; // default folder for integrated browser QString DefaultPositionIconPath =""; // default folder for integrated browser QString ClipArtFolder =""; QString ModelFolder =""; QString CAF =""; QString MFD =""; //******************************************************************************************************************************************************* #ifdef Q_OS_WIN bool IsDriveAvailable(QString Path) { Path.replace("/","\\"); WCHAR Drive[256+1]; WCHAR VolumeName[256+1]; WCHAR SysName[256+1]; DWORD SerialNumber; DWORD MaxComponent; DWORD FileSysFlag; QString PhysicalPath=Path; if ((PhysicalPath[1]==':')&&(PhysicalPath[2]=='\\')) PhysicalPath=PhysicalPath.left(3); MultiByteToWideChar(CP_ACP,0,PhysicalPath.toLocal8Bit(),-1,Drive,256+1); if (((GetDriveType(Drive)==DRIVE_REMOVABLE)||(GetDriveType(Drive)==DRIVE_CDROM))&& (!GetVolumeInformation(Drive,VolumeName,sizeof(WCHAR)*(256+1),&SerialNumber,&MaxComponent,&FileSysFlag,SysName,sizeof(WCHAR)*(256+1)))) return false; return true; } #endif cDriveDesc::cDriveDesc(QString ThePath,QString Alias,cApplicationConfig *ApplicationConfig) { Flag =2; // New DriveDesc Label =""; Size =0; Used =0; Avail =0; IsReadOnly =false; if (ThePath=="") { Path =""; Device =Alias; Alias =""; } else { Path =ThePath; Device =""; Label =Alias; } if (Alias==PersonalFolder) IconDrive=ApplicationConfig->DefaultUSERIcon.GetIcon(cCustomIcon::ICON16)->copy(); if (Label==QApplication::translate("QCustomFolderTree","Clipart")) { Path=ClipArtFolder; if (!Path.endsWith(QDir::separator())) Path=Path+QDir::separator(); IconDrive=ApplicationConfig->DefaultClipartIcon.GetIcon(cCustomIcon::ICON16)->copy(); } // Adjust path depending on Operating System #ifdef Q_OS_WIN Path.replace("/","\\"); WCHAR Drive[256+1]; WCHAR VolumeName[256+1]; WCHAR SysName[256+1]; DWORD SerialNumber; DWORD MaxComponent; DWORD FileSysFlag; QString PhysicalPath=Path; if ((PhysicalPath[1]==':')&&(PhysicalPath[2]=='\\')) PhysicalPath=PhysicalPath.left(3); MultiByteToWideChar(CP_ACP,0,PhysicalPath.toLocal8Bit(),-1,Drive,256+1); switch (GetDriveType(Drive)) { case DRIVE_CDROM : IconDrive=ApplicationConfig->DefaultCDROMIcon.GetIcon(cCustomIcon::ICON16)->copy(); IsReadOnly=true; break; case DRIVE_REMOTE : IconDrive=ApplicationConfig->DefaultREMOTEIcon.GetIcon(cCustomIcon::ICON16)->copy(); break; case DRIVE_REMOVABLE : IconDrive=ApplicationConfig->DefaultREMOTEIcon.GetIcon(cCustomIcon::ICON16)->copy(); break; default : if (IconDrive.isNull()) IconDrive=ApplicationConfig->DefaultHDDIcon.GetIcon(cCustomIcon::ICON16)->copy(); break; } if (GetVolumeInformation(Drive,VolumeName,sizeof(WCHAR)*(256+1),&SerialNumber,&MaxComponent,&FileSysFlag,SysName,sizeof(WCHAR)*(256+1))) { if (Label=="") { Label=Path; if (QString().fromWCharArray(VolumeName)!="") Label=Label+"["+QString().fromWCharArray(VolumeName)+"]"; } _ULARGE_INTEGER Available,FullSize,TotalNumberOfFreeBytes; if (GetDiskFreeSpaceEx(Drive,&Available,&FullSize,&TotalNumberOfFreeBytes)) { Avail =Available.QuadPart; Size =FullSize.QuadPart; Used =Size-TotalNumberOfFreeBytes.QuadPart; } } else { // Must be a CD/DVD ROM drive without disk if ((Label!=PersonalFolder)&&(Label!=QApplication::translate("QCustomFolderTree","Clipart"))) Label=Path+"["+QApplication::translate("QCustomFolderTree","Empty drive...")+"]"; } #elif defined(Q_OS_LINUX) || defined(Q_OS_SOLARIS) bool IsOk=true; QProcess Process; Process.setProcessChannelMode(QProcess::MergedChannels); if (Path=="") Process.start("df "+Device); else Process.start("df "+Path); // use df to get information on drive (size/used/avail) and ensure drive is mounted if (!Process.waitForStarted()) { ToLog(LOGMSG_CRITICAL,"Impossible to execute df"); IsOk=false; } else if (!Process.waitForFinished()) { Process.kill(); ToLog(LOGMSG_CRITICAL,"Error during mount df"); IsOk=false; } if (IsOk && (Process.exitStatus()<0)) { ToLog(LOGMSG_CRITICAL,"mount return df"); IsOk=false; } if (!IsOk) { Process.terminate(); Process.close(); } else { QString Part=QString().fromLocal8Bit(Process.readAllStandardOutput()); Process.terminate(); Process.close(); // First line is the header => then pass it : Part=Part.mid(Part.indexOf("\n")+QString("\n").length()); // Second line contains information we whant like Device | Size | Used | Avail | Mount path // If Mount path = asked path then drive is mounted ! if (Part.indexOf(" ")!=-1) { Device=Part.left(Part.indexOf(" ")); Part =Part.mid(Part.indexOf(" ")).trimmed(); // Next is size if (Part.indexOf(" ")!=-1) { Size=Part.left(Part.indexOf(" ")).toLongLong(); Part=Part.mid(Part.indexOf(" ")).trimmed(); // Next is used if (Part.indexOf(" ")!=-1) { Used=Part.left(Part.indexOf(" ")).toLongLong(); Part=Part.mid(Part.indexOf(" ")).trimmed(); // Next is avail Avail=Part.left(Part.indexOf(" ")).toLongLong(); Part=Part.mid(Part.indexOf(" ")).trimmed(); // Next is Pct Use // and finaly : the mounted path if (Path=="") Path =Part.mid(Part.indexOf(" ")).trimmed(); } } } } // Get drive type if ((Path!="")&&(Device!="")) { if (Path=="/") { IconDrive =QApplication::style()->standardIcon(QStyle::SP_ComputerIcon).pixmap(16,16).toImage(); } else if (Device.startsWith("/dev/sr") || Device.startsWith("/dev/scd")) { IconDrive =ApplicationConfig->DefaultCDROMIcon.GetIcon(cCustomIcon::ICON16)->copy(); IsReadOnly =true; } else { // use dmesg to get drive type QProcess Process; bool IsOk=true; Process.setProcessChannelMode(QProcess::MergedChannels); Process.start("dmesg"); if (!Process.waitForStarted()) { ToLog(LOGMSG_CRITICAL,"Impossible to execute dmesg"); IsOk=false; } if (IsOk && !Process.waitForFinished()) { Process.kill(); ToLog(LOGMSG_CRITICAL,"Error during mount dmesg"); IsOk=false; } if (IsOk && (Process.exitStatus()<0)) { ToLog(LOGMSG_CRITICAL,"mount return dmesg"); IsOk=false; } if (!IsOk) { Process.terminate(); Process.close(); } else { QString DmesgInfo=QString().fromLocal8Bit(Process.readAllStandardOutput()); Process.terminate(); Process.close(); // line we search is like "[dev without number] Attached" QString ToFind=Device.mid(QString("/dev/").length()); if (!ToFind.isEmpty()) { if ((ToFind[ToFind.length()-1]>='0')&&(ToFind[ToFind.length()-1]<='9')) ToFind=ToFind.left(ToFind.length()-1); ToFind="["+ToFind+"] Attached"; // Parse all line in Dmesg to try find line containing "[dev without number] Attached" QString DriveTypeStr; QString DmesgLine; while (DmesgInfo!="") { if (DmesgInfo.indexOf("\n")!=-1) { DmesgLine=DmesgInfo.left(DmesgInfo.indexOf("\n")); DmesgInfo=DmesgInfo.mid(DmesgInfo.indexOf("\n")+QString("\n").length()); } else { DmesgLine=DmesgInfo; DmesgInfo=""; } if (DmesgLine.indexOf(ToFind)!=-1) DriveTypeStr=DmesgLine.mid(DmesgLine.indexOf(ToFind)+ToFind.length()+1); } if (DriveTypeStr=="SCSI removable disk") IconDrive=ApplicationConfig->DefaultHDDIcon.GetIcon(cCustomIcon::ICON16)->copy(); } } } if (!Path.endsWith(QDir::separator())) Path=Path+QDir::separator(); if (IconDrive.isNull()) IconDrive=ApplicationConfig->DefaultHDDIcon.GetIcon(cCustomIcon::ICON16)->copy(); } Path.replace("\\","/"); if (Alias!="") Label=Alias; else if ((Path.length()>2)&&(Path.mid(1).indexOf("/")!=-1)) { Label=Path; if (Label.endsWith("/")) Label=Label.left(Label.length()-QString("/").length()); // On some linux, removeable media are mounted in /media// instead of /media/ while (Label.indexOf("/")!=-1) Label=Label.mid(Label.indexOf("/")+QString("/").length()); } #endif // Check if there is an autorun.inf, a desktop.ini or folder.jpg if (Path!="") { QFileInfoList Directorys=QDir(Path).entryInfoList(QDir::Files|QDir::Hidden); for (int j=0;j=char(32))||(AllInfo[j]==9))) j++; if (j=3)&&(Path.at(1)==":")&&(Path.at(2)=="\\")&&(Path.at(0)>='C')&&(Path.at(0)<='Z'))|| // If it's a drive (Path.startsWith("\\\\")) // or it's a network path )&&(!SearchDrive(Path)) // and it's not yet included )) if (IsDriveAvailable(Path)) List.append(cDriveDesc(Path,"",ApplicationConfig)); } #elif defined(Q_OS_LINUX) || defined(Q_OS_SOLARIS) if (!SearchDrive("/")) List.append(cDriveDesc("/",QApplication::translate("QCustomFolderTree","System files"),ApplicationConfig)); // list mounted drives using mount command QProcess Process; bool IsOk=true; Process.setProcessChannelMode(QProcess::MergedChannels); Process.start("mount"); if (!Process.waitForStarted()) { ToLog(LOGMSG_CRITICAL,"Impossible to execute mount"); IsOk=false; } if (IsOk && !Process.waitForFinished()) { Process.kill(); ToLog(LOGMSG_CRITICAL,"Error during mount process"); IsOk=false; } if (IsOk && (Process.exitStatus()<0)) { ToLog(LOGMSG_CRITICAL,"mount return error"); IsOk=false; } if (!IsOk) { Process.terminate(); Process.close(); } else { QString Info=QString().fromLocal8Bit(Process.readAllStandardOutput()); Process.terminate(); Process.close(); QString InfoLine; while (Info!="") { if (Info.indexOf("\n")!=-1) { InfoLine=Info.left(Info.indexOf("\n")); Info =Info.mid(Info.indexOf("\n")+1); } else { InfoLine=Info; Info =""; } if (InfoLine.indexOf(" ")!=-1) { QString Device=InfoLine.left(InfoLine.indexOf(" ")); if (Device.startsWith("/dev/")) { cDriveDesc ToAppend("",Device,ApplicationConfig); if (ToAppend.Path!="/") if (!SearchDrive(ToAppend.Path)) List.append(ToAppend); } } } } #endif } //==================================================================================================================== // Private utility function to get Icon corresponding to a FilePath // FilePath : Path to get Icon QIcon cDriveList::GetFolderIcon(QString FilePath) { if (!FilePath.endsWith(QDir::separator())) FilePath=FilePath+QDir::separator(); #if defined(Q_OS_LINUX) || defined(Q_OS_SOLARIS) if (FilePath.startsWith("~")) FilePath=QDir::homePath()+FilePath.mid(1); #else if (FilePath.startsWith(PersonalFolder)) FilePath=QDir::homePath()+FilePath.mid(PersonalFolder.length()); FilePath=QDir::toNativeSeparators(FilePath); #endif QIcon RetIcon; // Search if it's a root item int i=0; while ((i=char(32))||(AllInfo[j]==9))) j++; if (jDefaultFOLDERIcon.GetIcon(); else return RetIcon; } ffDiaporama/src/ffDiaporama/engine/cDeviceModelDef.h0000777000175000001440000005212112275647324022604 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef CDEVICEMODELDEF_H #define CDEVICEMODELDEF_H // Basic inclusions (common to all files) #include "_GlobalDefines.h" // Include some additional standard class #include #include #include #include // Include some common various class //#include "cApplicationConfig.h" //**************************************************************************************************************************************************************** // LIBAV inclusion //**************************************************************************************************************************************************************** extern "C" { #ifndef INT64_C #define INT64_C(c) (c ## LL) #define UINT64_C(c) (c ## ULL) #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include "libavfilter/avfilter.h" #include "libavfilter/avfiltergraph.h" #if (LIBAVUTIL_VERSION_MICRO<100)&&(LIBAVCODEC_VERSION_MICRO<100)&&(LIBAVFORMAT_VERSION_MICRO<100)&&(LIBAVDEVICE_VERSION_MICRO<100)&&(LIBAVFILTER_VERSION_MICRO<100)&&(LIBSWSCALE_VERSION_MICRO<100) #define LIBAV #if ((LIBAVUTIL_VERSION_INT>=AV_VERSION_INT(52,3,0))&&(LIBAVCODEC_VERSION_INT>=AV_VERSION_INT(54,35,0))&&(LIBAVFORMAT_VERSION_INT>=AV_VERSION_INT(54,20,0))&&(LIBAVDEVICE_VERSION_INT>=AV_VERSION_INT(53,2,0))&&(LIBAVFILTER_VERSION_INT>=AV_VERSION_INT(3,3,0))&&(LIBSWSCALE_VERSION_INT>=AV_VERSION_INT(2,1,1))) #define LIBAVVERSION "Libav 9.x" #define LIBAVVERSIONINT 9 #include "libavresample/avresample.h" #define RESAMPLE_MAX_CHANNELS AVRESAMPLE_MAX_CHANNELS #include "libavfilter/buffersink.h" #include "libavfilter/buffersrc.h" #elif ((LIBAVUTIL_VERSION_INT>=AV_VERSION_INT(51,22,1))&&(LIBAVCODEC_VERSION_INT>=AV_VERSION_INT(53,35,0))&&(LIBAVFORMAT_VERSION_INT>=AV_VERSION_INT(53,21,1))&&(LIBAVDEVICE_VERSION_INT>=AV_VERSION_INT(53,2,0))&&(LIBAVFILTER_VERSION_INT>=AV_VERSION_INT(2,15,0))&&(LIBSWSCALE_VERSION_INT>=AV_VERSION_INT(2,1,0))) #define LIBAVVERSION "Libav 0.8.x" #define LIBAVVERSIONINT 8 #define AVCodecID CodecID #include "libavfilter/buffersrc.h" #include "libavfilter/vsrc_buffer.h" #else // unsupported version #endif #elif (LIBAVUTIL_VERSION_MICRO>=100)&&(LIBAVCODEC_VERSION_MICRO>=100)&&(LIBAVFORMAT_VERSION_MICRO>=100)&&(LIBAVDEVICE_VERSION_MICRO>=100)&&(LIBAVFILTER_VERSION_MICRO>=100)&&(LIBSWSCALE_VERSION_MICRO>=100) #define FFMPEG #include "libswresample/swresample.h" #define RESAMPLE_MAX_CHANNELS SWR_CH_MAX #include "libavfilter/avcodec.h" #include "libavfilter/buffersink.h" #include "libavfilter/buffersrc.h" #if ((LIBAVUTIL_VERSION_INT>=AV_VERSION_INT(52,48,100))&&(LIBAVCODEC_VERSION_INT>=AV_VERSION_INT(55,39,100))&&(LIBAVFORMAT_VERSION_INT>=AV_VERSION_INT(55,19,104))&&(LIBAVDEVICE_VERSION_INT>=AV_VERSION_INT(55,5,100))&&(LIBAVFILTER_VERSION_INT>=AV_VERSION_INT(3,90,100))&&(LIBSWSCALE_VERSION_INT>=AV_VERSION_INT(2,5,101))&&(LIBSWRESAMPLE_VERSION_INT>=AV_VERSION_INT(0,17,104))) #define FFMPEGVERSIONINT 210 #define FFMPEGVERSION "FFmpeg 2.1 or higher" #elif ((LIBAVUTIL_VERSION_INT>=AV_VERSION_INT(52,38,100))&&(LIBAVCODEC_VERSION_INT>=AV_VERSION_INT(55,18,102))&&(LIBAVFORMAT_VERSION_INT>=AV_VERSION_INT(55,12,100))&&(LIBAVDEVICE_VERSION_INT>=AV_VERSION_INT(55,3,100))&&(LIBAVFILTER_VERSION_INT>=AV_VERSION_INT(3,79,101))&&(LIBSWSCALE_VERSION_INT>=AV_VERSION_INT(2,3,100))&&(LIBSWRESAMPLE_VERSION_INT>=AV_VERSION_INT(0,17,102))) #define FFMPEGVERSIONINT 201 #define FFMPEGVERSION "FFmpeg 2.0.1 or higher" #elif ((LIBAVUTIL_VERSION_INT>=AV_VERSION_INT(52,18,100))&&(LIBAVCODEC_VERSION_INT>=AV_VERSION_INT(54,92,100))&&(LIBAVFORMAT_VERSION_INT>=AV_VERSION_INT(54,63,104))&&(LIBAVDEVICE_VERSION_INT>=AV_VERSION_INT(54,3,103))&&(LIBAVFILTER_VERSION_INT>=AV_VERSION_INT(3,42,103))&&(LIBSWSCALE_VERSION_INT>=AV_VERSION_INT(2,2,100))&&(LIBSWRESAMPLE_VERSION_INT>=AV_VERSION_INT(0,17,102))) #define FFMPEGVERSIONINT 123 #define FFMPEGVERSION "FFmpeg 1.2.3 or higher" #elif ((LIBAVUTIL_VERSION_INT>=AV_VERSION_INT(52,13,100))&&(LIBAVCODEC_VERSION_INT>=AV_VERSION_INT(54,86,100))&&(LIBAVFORMAT_VERSION_INT>=AV_VERSION_INT(54,59,106))&&(LIBAVDEVICE_VERSION_INT>=AV_VERSION_INT(54,3,102))&&(LIBAVFILTER_VERSION_INT>=AV_VERSION_INT(3,32,100))&&(LIBSWSCALE_VERSION_INT>=AV_VERSION_INT(2,1,103))&&(LIBSWRESAMPLE_VERSION_INT>=AV_VERSION_INT(0,17,102))) #define FFMPEGVERSIONINT 115 #define FFMPEGVERSION "FFmpeg 1.1.5 or higher" #else // unsupported version #endif #endif } #ifndef AVCODEC_MAX_AUDIO_FRAME_SIZE #define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000 #endif #if !defined(FF_API_CODEC_ID) #define AV_CODEC_ID_NONE CODEC_ID_NONE #define AV_CODEC_ID_MJPEG CODEC_ID_MJPEG #define AV_CODEC_ID_MPEG2VIDEO CODEC_ID_MPEG2VIDEO #define AV_CODEC_ID_MPEG4 CODEC_ID_MPEG4 #define AV_CODEC_ID_H264 CODEC_ID_H264 #define AV_CODEC_ID_VP8 CODEC_ID_VP8 #define AV_CODEC_ID_FLV1 CODEC_ID_FLV1 #define AV_CODEC_ID_THEORA CODEC_ID_THEORA #define AV_CODEC_ID_WMV1 CODEC_ID_WMV1 #define AV_CODEC_ID_WMV2 CODEC_ID_WMV2 #define AV_CODEC_ID_WMV3 CODEC_ID_WMV3 #define AV_CODEC_ID_PCM_S16LE CODEC_ID_PCM_S16LE #define AV_CODEC_ID_MP3 CODEC_ID_MP3 #define AV_CODEC_ID_AAC CODEC_ID_AAC #define AV_CODEC_ID_AC3 CODEC_ID_AC3 #define AV_CODEC_ID_VORBIS CODEC_ID_VORBIS #define AV_CODEC_ID_MP2 CODEC_ID_MP2 #define AV_CODEC_ID_AMR_WB CODEC_ID_AMR_WB #define AV_CODEC_ID_AMR_NB CODEC_ID_AMR_NB #define AV_CODEC_ID_FLAC CODEC_ID_FLAC #define AV_CODEC_ID_WMAV1 CODEC_ID_WMAV1 #define AV_CODEC_ID_WMAV2 CODEC_ID_WMAV2 #endif #if !defined(avcodec_free_frame) #define avcodec_free_frame av_freep #endif // Remove error with MSVC and AV_TIME_BASE_Q #ifdef _MSC_VER #undef AV_TIME_BASE_Q extern AVRational AV_TIME_BASE_Q; #endif //**************************************************************************************************************************************************************** #define CONFIGFILENAME "Devices" #define CONFIGDOCNAME "DEVICES" #define CONFIGROOTNAME "Configuration" // Export mode definition #define EXPORTMODE_ADVANCED 0 #define ICON_ADVANCED ":/img/render.png" #define MODE_SMARTPHONE 1 #define ICON_SMARTPHONE ":/img/Smartphone.png" #define MODE_MULTIMEDIASYS 2 #define ICON_MULTIMEDIASYS ":/img/tv.png" #define MODE_FORTHEWEB 3 #define ICON_FORTHEWEB ":/img/Internet.png" #define MODE_LOSSLESS 4 #define ICON_LOSSLESS ":/img/Lossless.png" #define MODE_SOUNDTRACK 5 #define ICON_SOUNDTRACK ":/img/object_sound.png" //============================================ // Standard definition #define STANDARD_PAL 0 #define STANDARD_NTSC 1 // Image size definition #define NBR_SIZEDEF 11 #define SIZE_QVGA 0 #define SIZE_HVGA 1 #define SIZE_VGA 2 #define SIZE_DVD 3 #define SIZE_WVGA 4 #define SIZE_XGA 5 #define SIZE_720P 6 #define SIZE_1080p 7 #define SIZE_RIM240 8 //============================================ // Image format definition //============================================ struct sIMAGEDEF { int Width; // Width int Height; // Height int PARNUM; // Pixel aspect ratio (num) int PARDEN; // Pixel aspect ratio (den) double dFPS; // Frame per second char FPS[20]; // Frame per second AVRational AVFPS; char Name[100]; // Display name int Extend; // Padding for cinema mode with DVD }; extern sIMAGEDEF DefImageFormat [2][3][NBR_SIZEDEF]; // Image format definition extern QString IMAGEDEFGENNAME[2][NBR_SIZEDEF]; // Image format generic name extern int ORDERIMAGENAME[2][NBR_SIZEDEF]; // Display order of image size //============================================ // Video codec definitions //============================================ #define VCODEC_MJPEG 0 // Motion JPEG #define VCODECST_MJPEG "MJPEG" // String Motion JPEG #define VCODEC_MPEG 1 // MPEG-2 video #define VCODECST_MPEG "MPEG" // String MPEG-2 video #define VCODEC_MPEG4 2 // DivX/XVid/MPEG-4 #define VCODECST_MPEG4 "MPEG4" // String DivX/XVid/MPEG-4 #define VCODEC_H264HQ 3 // H.264 AVC/MPEG-4 AVC + VPRE libx264-hq.ffpreset #define VCODECST_H264HQ "H264HQ" // String H.264 AVC/MPEG-4 AVC + VPRE libx264-hq.ffpreset #define VCODEC_H264PQ 4 // H.264 AVC/MPEG-4 AVC + VPRE libx264-hq.ffpreset ******** #define VCODECST_H264PQ "H264PQ" // String H.264 AVC/MPEG-4 AVC + VPRE libx264-hq.ffpreset ******** #define VCODEC_VP8 5 // WebM-VP8 #define VCODECST_VP8 "VP8" // String WebM-VP8 #define VCODEC_H263 6 // Flash Video / Sorenson H.263 #define VCODECST_H263 "H263" // String Flash Video / Sorenson H.263 #define VCODEC_THEORA 7 // Theora #define VCODECST_THEORA "THEORA" // String Theora #define VCODEC_X264LL 8 // x264 lossless + VPRE libx264-lossless.ffpreset ******** #define VCODECST_X264LL "X264LL" // String x264 lossless ******** #define VCODEC_WMV1 9 // Windows Media Video 7 #define VCODECST_WMV1 "WMV1" // String Windows Media Video 7 #define VCODEC_WMV2 10 // Windows Media Video 8 #define VCODECST_WMV2 "WMV2" // String Windows Media Video 8 #define VCODEC_WMV3 11 // Windows Media Video 9 #define VCODECST_WMV3 "WMV3" // String Windows Media Video 9 struct sVideoCodecDef { bool IsFind,IsRead; // true if codec is supported for write,read by installed version of libav int Codec_id; // libav codec id int FFD_VCODEC; // ffDiaporama video codec id char FFD_VCODECST[10]; // ffDiaporama video codec id string char ShortName[50]; // short name of the codec (copy of the libav value) char LongName[200]; // long name of the codec (define by this application) char PossibleBitrate[200]; // list of possible compression bit rate (define by this application) char DefaultBitrate[2][NBR_SIZEDEF][10]; // prefered compression bit rate for each possible size }; #define NBR_VIDEOCODECDEF 12 extern struct sVideoCodecDef VIDEOCODECDEF[NBR_VIDEOCODECDEF]; //============================================ // Audio codec definitions //============================================ struct sAudioCodecDef { bool IsFind,IsRead; // true if codec is supported for write,read by installed version of libav int Codec_id; // libav codec id char ShortName[50]; // short name of the codec (copy of the libav value) char LongName[200]; // long name of the codec (define by this application) char PossibleBitrate2CH[200]; // list of possible compression bit rate in stereo mode (define by this application) bool Possibly6CH; // true if this codec support 5.1/6 chanels mode char PossibleBitrate6CH[200]; // list of possible compression bit rate in 5.1/6 chanels mode (define by this application) char Default[10]; // prefered compression bit rate char PossibleFrequency[200]; // list of possible audio frequency int PreferedAudioContainer; // If use alone : preferred AFORMAT_ID }; #define NBR_AUDIOCODECDEF 11 extern struct sAudioCodecDef AUDIOCODECDEF[NBR_AUDIOCODECDEF]; //============================================ // Format container definitions //============================================ enum VFORMAT_ID { VFORMAT_3GP, VFORMAT_AVI, VFORMAT_MKV, VFORMAT_MJPEG, VFORMAT_MP4, VFORMAT_MPEG, VFORMAT_WEBM, VFORMAT_OLDFLV, VFORMAT_FLV, VFORMAT_OGV, VFORMAT_WMV, VFORMAT_NBR }; struct sFormatDef { bool IsFind,IsRead; // true if format container is supported for write,read by installed version of libav char ShortName[50]; // short name of the format container (copy of the libav value) char FileExtension[10]; // prefered file extension for the format container (define by this application) char LongName[200]; // long name of the codec (define by this application) char PossibleVideoCodec[200]; // list of possible video codec for this format container (using VCODECST String define) char PossibleAudioCodec[200]; // list of possible audio codec for this format container (define by this application) char PossibleFrequency[200]; // list of possible audio frequency char DefaultAudioFreq[10]; // prefered audio frequency }; extern struct sFormatDef FORMATDEF[VFORMAT_NBR]; enum AFORMAT_ID { AFORMAT_3GP, AFORMAT_AC3, AFORMAT_AAC, AFORMAT_FLAC, AFORMAT_MP4, AFORMAT_MP2, AFORMAT_MP3, AFORMAT_OGG, AFORMAT_WAV, NBR_AFORMAT // Last of the list ! }; extern struct sFormatDef AUDIOFORMATDEF[NBR_AFORMAT]; //============================================ // Device model class definition //============================================ class cDeviceModelDef { public: bool FromGlobalConf; // true if device model is defined in global config file bool FromUserConf; // true if device model is defined in user config file bool IsFind; // true if device model format is supported by installed version of Libav int DeviceIndex; // Device number index key QString DeviceName; // long name for the device model int DeviceType; // device type int DeviceSubtype; // device Subtype int Standard; // standard : PAL/NTSC int FileFormat; // sFormatDef number int ImageSize; // DefImageFormat number int VideoCodec; // sVideoCodecDef number int VideoBitrate; // Bitrate number in sVideoCodecDef int AudioCodec; // sAudioCodecDef number int AudioBitrate; // Bitrate number in sAudioCodecDef // Save value to be able to reset to default QString BckDeviceName; // long name for the device model int BckDeviceType; // device type int BckDeviceSubtype; // device Subtype int BckStandard; // standard : PAL/NTSC int BckFileFormat; // sFormatDef number int BckImageSize; // DefImageFormat number int BckVideoCodec; // sVideoCodecDef number int BckVideoBitrate; // Bitrate number in sVideoCodecDef int BckAudioCodec; // sAudioCodecDef number int BckAudioBitrate; // Bitrate number in sAudioCodecDef cDeviceModelDef(bool IsGlobalConf,int IndexKey); virtual ~cDeviceModelDef(); virtual void SaveToXML(QDomElement &domDocument,QString ElementName); virtual bool LoadFromXML(QDomElement domDocument,QString ElementName,bool IsUserConfigFile); }; //============================================ // Device model list definition //============================================ class cDeviceModelList { public: QList RenderDeviceModel; // List of known rendering device model QStringList TranslatedRenderType; // Translated render device type QStringList TranslatedRenderSubtype[4]; // Translated render device subtype cDeviceModelList(); virtual ~cDeviceModelList(); virtual bool LoadConfigurationFile(QString ConfigFileName,LoadConfigFileType TypeConfigFile); virtual bool SaveConfigurationFile(QString ConfigFileName); virtual bool LoadFromXML(QDomElement domDocument,LoadConfigFileType TypeConfigFile); virtual void TranslatRenderType(); virtual bool InitLibav(); }; //============================================ // Allowed file extensions for reading //============================================ extern QString AllowVideoExtensions; // List of all file extension allowed for video extern QString AllowImageExtensions; // List of all file extension allowed for image extern QString AllowImageVectorExtensions; // List of all file extension allowed for image vector extern QString AllowMusicExtensions; // List of all file extension allowed for musique //============================================ // Various //============================================ extern QMutex Mutex; // Mutex used to control multithreaded operations for LIBAV extern int LastLibAvMessageLevel; // Last level of message received from LIBAV QString GetAvErrorMessage(int ErrorCode); #endif // CDEVICEMODELDEF_H ffDiaporama/src/ffDiaporama/engine/cDeviceModelDef.cpp0000777000175000001440000016333312275647323023146 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ // Include some common various class #include "cDeviceModelDef.h" // Remove error with MSVC and AV_TIME_BASE_Q #ifdef _MSC_VER AVRational AV_TIME_BASE_Q={1, AV_TIME_BASE}; #endif int AVLOGLEVEL=AV_LOG_ERROR; // Default loglevel for libav QMutex Mutex; /**************************************************************************** Definition of image format supported by the application ****************************************************************************/ sIMAGEDEF DefImageFormat [2][3][NBR_SIZEDEF] = { { // STANDARD_PAL { // GEOMETRY_4_3 {320, 240, 4,3, 25, "25", AVRCAST{1,25}, "QVGA - 320x240 - 25 FPS", 0}, {426, 320, 4,3, 25, "25", AVRCAST{1,25}, "HVGA - 426x320 - 25 FPS", 0}, {640, 480, 4,3, 25, "25", AVRCAST{1,25}, "VGA - 640x480 - 25 FPS", 0}, {720, 576, 4,3, 25, "25", AVRCAST{1,25}, "SD/DVD - 720x576 - 25 FPS", 0}, // SIZE_DVD - No extend ! special case {640, 480, 4,3, 25, "25", AVRCAST{1,25}, "WVGA - 640x480 - 25 FPS", 0}, {1024,768, 4,3, 25, "25", AVRCAST{1,25}, "XGA - 1024x768 - 25 FPS", 0}, {960, 720, 4,3, 25, "25", AVRCAST{1,25}, "720p - 960x720 - 25 FPS", 0}, {1440,1080,4,3, 25, "25", AVRCAST{1,25}, "1080p - 1440x1080 - 25 FPS", 0}, {240, 180, 4,3, 24, "24", AVRCAST{1,24}, "RIM 240 - 240x180 - 24 FPS", 0}, {720, 576, 4,3, 30000L/1001L, "30000/1001",AVRCAST{1001,30000}, "SD/DVD - 720x576 - 29.97 FPS (PAL-M)", 0}, // SIZE_DVD - No extend ! special case for PAL-M {0, 0, 4,3, 0, "0", AVRCAST{1,25}, "free", 0} // free - not used },{ // GEOMETRY_16_9 {320, 180, 4,3, 25, "25", AVRCAST{1,25}, "QVGA - 320x180 - 25 FPS", 30}, {480, 270, 16,9, 25, "25", AVRCAST{1,25}, "HVGA - 480x270 - 25 FPS", 0}, {640, 360, 16,9, 25, "25", AVRCAST{1,25}, "VGA - 640x360 - 25 FPS", 0}, {720, 576, 16,9, 25, "25", AVRCAST{1,25}, "SD/DVD - 720x576 WIDE - 25 FPS", 0}, // SIZE_DVD - No extend ! special case {800, 450, 16,9, 25, "25", AVRCAST{1,25}, "WVGA - 800x450 - 25 FPS", 0}, {1024,576, 16,9, 25, "25", AVRCAST{1,25}, "XGA - 1024x576 - 25 FPS", 0}, {1280,720, 16,9, 25, "25", AVRCAST{1,25}, "720p - 1280x720 - 25 FPS", 0}, {1920,1080,16,9, 25, "25", AVRCAST{1,25}, "1080p - 1920x1080 - 25 FPS", 0}, {240, 136, 4,3, 24, "24", AVRCAST{1,24}, "RIM 240 - 240x136 - 24 FPS", 22}, {720, 576, 16,9, 30000L/1001L, "30000/1001",AVRCAST{1001,30000}, "SD/DVD - 720x576 WIDE - 29.97 FPS (PAL-M)",0}, // SIZE_DVD - No extend ! special case for PAL-M {0, 0, 19,9, 0, "0", AVRCAST{1,25}, "free", 0} // free - not used },{ // GEOMETRY_40_17 {320, 136, 4,3, 25, "25", AVRCAST{1,25}, "QVGA - 320x136+PAD - 25 FPS", 52}, {480, 204, 40,17, 25, "25", AVRCAST{1,25}, "HVGA - 480x204 - 25 FPS", 0}, {640, 272, 40,17, 25, "25", AVRCAST{1,25}, "VGA - 640x272 - 25 FPS", 0}, {720, 436, 40,17, 25, "25", AVRCAST{1,25}, "SD/DVD - 720x436 WIDE - 25 FPS", 0}, // SIZE_DVD - No extend ! special case {800, 340, 40,17, 25, "25", AVRCAST{1,25}, "WVGA - 800x340 - 25 FPS", 0}, {1024,436, 40,17, 25, "25", AVRCAST{1,25}, "XGA - 1024x436 - 25 FPS", 0}, {1280,544, 40,17, 25, "25", AVRCAST{1,25}, "720p - 1280x544 - 25 FPS", 0}, {1920,816, 40,17, 25, "25", AVRCAST{1,25}, "1080p - 1920x816 - 25 FPS", 0}, {240, 102, 4,3, 24, "24", AVRCAST{1,24}, "RIM 240 - 240x136+PAD - 24 FPS", 39}, {720, 436, 40,17, 30000L/1001L, "30000/1001",AVRCAST{1001,30000}, "SD/DVD - 720x436 WIDE - 29.97 FPS (PAL-M)",0}, // SIZE_DVD - No extend ! special case for PAL-M {0, 0, 40,17, 0, "0", AVRCAST{1,25}, "free", 0} // free - not used }},{// STANDARD_NTSC { // GEOMETRY_4_3 {320, 240, 4,3, 30000L/1001L,"30000/1001",AVRCAST{1001,30000}, "QVGA - 320x240 - 29.97 FPS", 0}, {426, 320, 4,3, 30000L/1001L,"30000/1001",AVRCAST{1001,30000}, "HVGA - 426x320 - 29.97 FPS", 0}, {640, 480, 4,3, 30000L/1001L,"30000/1001",AVRCAST{1001,30000}, "VGA - 640x480 - 29.97 FPS", 0}, {720, 480, 4,3, 30000L/1001L,"30000/1001",AVRCAST{1001,30000}, "SD/DVD - 720x480 - 29.97 FPS", 0}, // SIZE_DVD - No extend ! special case {640, 480, 4,3, 30000L/1001L,"30000/1001",AVRCAST{1001,30000}, "WVGA - 640x480 - 29.97 FPS", 0}, {1024,768, 4,3, 30000L/1001L,"30000/1001",AVRCAST{1001,30000}, "XGA - 1024x768 - 29.97 FPS", 0}, {960, 720, 4,3, 24000L/1001L,"24000/1001",AVRCAST{1001,24000}, "720p - 960x720 - 23.976 FPS", 0}, {1440,1080,4,3, 24000L/1001L,"24000/1001",AVRCAST{1001,24000}, "1080p - 1440x1080 - 23.976 FPS", 0}, {240, 180, 4,3, 24, "24", AVRCAST{1,24}, "RIM 240 - 240x180 - 24 FPS", 0}, {960, 720, 4,3, 30000L/1001L,"30000/1001",AVRCAST{1001,30000}, "720p - 960x720 - 29.97 FPS", 0}, {1440,1080,4,3, 30000L/1001L,"30000/1001",AVRCAST{1001,30000}, "1080p - 1440x1080 - 29.97 FPS", 0} },{ // GEOMETRY_16_9 {320, 180, 4,3, 30000L/1001L,"30000/1001",AVRCAST{1001,30000}, "QVGA - 320x180+PAD - 29.97 FPS", 30}, {480, 270, 16,9, 30000L/1001L,"30000/1001",AVRCAST{1001,30000}, "HVGA - 480x270 - 29.97 FPS", 0}, {640, 360, 16,9, 30000L/1001L,"30000/1001",AVRCAST{1001,30000}, "VGA - 640x272 - 29.97 FPS", 0}, {720, 480, 16,9, 30000L/1001L,"30000/1001",AVRCAST{1001,30000}, "SD/DVD - 720x480 WIDE - 29.97 FPS", 0}, // SIZE_DVD - No extend ! special case {800, 450, 16,9, 30000L/1001L,"30000/1001",AVRCAST{1001,30000}, "WVGA - 800x450 - 29.97 FPS", 0}, {1024,576, 16,9, 30000L/1001L,"30000/1001",AVRCAST{1001,30000}, "XGA - 1024x576 - 29.97 FPS", 0}, {1280,720, 16,9, 24000L/1001L,"24000/1001",AVRCAST{1001,24000}, "720p - 1280x720 - 23.976 FPS", 0}, {1920,1080,16,9, 24000L/1001L,"24000/1001",AVRCAST{1001,24000}, "1080p - 1920x1080 - 23.976 FPS", 0}, {240, 136, 4,3, 24, "24", AVRCAST{1,24}, "RIM 240 - 240x136 - 24 FPS", 22}, {1280,720, 16,9, 30000L/1001L,"30000/1001",AVRCAST{1001,30000}, "720p - 1280x720 - 29.97 FPS", 0}, {1920,1080,16,9, 30000L/1001L,"30000/1001",AVRCAST{1001,30000}, "1080p - 1920x1080 - 29.97 FPS", 0} },{ // GEOMETRY_40_17 {320, 136,4,3, 30000L/1001L,"30000/1001",AVRCAST{1001,30000}, "QVGA - 320x136+PAD - 29.97 FPS", 52}, {480, 204,40,17, 30000L/1001L,"30000/1001",AVRCAST{1001,30000}, "HVGA - 480x204 - 29.97 FPS", 0}, {640, 272,40,17, 30000L/1001L,"30000/1001",AVRCAST{1001,30000}, "VGA - 640x272 - 29.97 FPS", 0}, {720, 362,40,17, 30000L/1001L,"30000/1001",AVRCAST{1001,30000}, "SD/DVD - 720x362 WIDE - 29.97 FPS", 0}, // SIZE_DVD - No extend ! special case {800, 340,40,17, 30000L/1001L,"30000/1001",AVRCAST{1001,30000}, "WVGA - 800x340 - 29.97 FPS", 0}, {1024,436,40,17, 30000L/1001L,"30000/1001",AVRCAST{1001,30000}, "XGA - 1024x436 - 29.97 FPS", 0}, {1280,544,40,17, 24000L/1001L,"24000/1001",AVRCAST{1001,24000}, "720p - 1280x544 - 23.976 FPS", 0}, {1920,816,40,17, 24000L/1001L,"24000/1001",AVRCAST{1001,24000}, "1080p - 1920x816 - 23.976 FPS", 0}, {240, 102,4,3, 24, "24", AVRCAST{1,24}, "RIM 240 - 240x136+PAD - 24 FPS", 39}, {1280,544,40,17, 30000L/1001L,"30000/1001",AVRCAST{1001,30000}, "720p - 1280x544 - 29.97 FPS", 0}, {1920,816,40,17, 30000L/1001L,"30000/1001",AVRCAST{1001,30000}, "1080p - 1920x816 - 29.97 FPS", 0} }} }; QString IMAGEDEFGENNAME[2][NBR_SIZEDEF]={ { // PAL "QVGA (25 FPS-4:3=320x240-16:9=320x180-40:17=320x136)", // SIZE_QVGA "HVGA (25 FPS-4:3=426x320-16:9=480x270-40:17=480x204)", // SIZE_HVGA "VGA (25 FPS-4:3=640x480-16:9=460x360-40:17=640x272)", // SIZE_VGA "SD/DVD (25 FPS-4:3=720x576-16:9=720x576W-40:17=720x576WP)", // SIZE_DVD "WVGA (25 FPS-4:3=640x480-16:9=800x450-40:17=800x340)", // SIZE_WVGA "XGA (25 FPS-4:3=1024x768-16:9=1024x576-40:17=1024x436)", // SIZE_XGA "720p (25 FPS-4:3=960x720-16:9=1280x720-40:17=1280x544)", // SIZE_720P "1080p (25 FPS-4:3=1440x1080-16:9=1920x1080-40:17=1920x816)", // SIZE_1080p "RIM 240 (24 FPS-4:3=240x180-16:9=240x135-40:17=240x135P)", // SIZE_RIM240 "SD/DVD (29.97 FPS-4:3=720x576-16:9=720x576W-40:17=720x576WP)", // SIZE_DVD (PAL-M) "free-not used" // - },{ // NTSC "QVGA (29.97 FPS-4:3=320x240-16:9=320x180-40:17=320x136)", // SIZE_QVGA "HVGA (29.97 FPS-4:3=426x320-16:9=480x270-40:17=480x204)", // SIZE_HVGA "VGA (29.97 FPS-4:3=640x480-16:9=460x360-40:17=640x272)", // SIZE_VGA "SD/DVD (29.97 FPS-4:3=720x480-16:9=720x480W-40:17=720x480WP)", // SIZE_DVD "WVGA (29.97 FPS-4:3=640x480-16:9=800x450-40:17=800x340)", // SIZE_WVGA "XGA (29.97 FPS-4:3=1024x768-16:9=1024x576-40:17=1024x436)", // SIZE_XGA "720p (23.976 FPS-4:3=960x720-16:9=1280x720-40:17=1280x544)", // SIZE_720P "1080p (23.976 FPS-4:3=1440x1080-16:9=1920x1080-40:17=1920x816)", // SIZE_1080p "RIM 240 (24 FPS-4:3=240x180-16:9=240x135-40:17=240x135P)", // SIZE_RIM240 "720p (29.97 FPS-4:3=960x720-16:9=1280x720-40:17=1280x544)", // SIZE_720P-29.97 "1080p (29.97 FPS-4:3=1440x1080-16:9=1920x1080-40:17=1920x816)" // SIZE_1080p-29.97 } }; int ORDERIMAGENAME[2][NBR_SIZEDEF]={ {2,3,4,6,5,8,9,10,1,7,0}, // PAL {2,3,4,6,5,7,8,10,1,9,11} // NTSC }; /**************************************************************************** Definition of audio/video codec and file format supported by the application ****************************************************************************/ struct sVideoCodecDef VIDEOCODECDEF[NBR_VIDEOCODECDEF]={ { false,false,AV_CODEC_ID_MJPEG,VCODEC_MJPEG,VCODECST_MJPEG, // IsFind,Codec_id,FFD_VCODEC,FFD_VCODECST "mjpeg","Motion JPEG", // ShortName[50], LongName[200] "", // PossibleBitrate {{""},{""}} // DefaultBitrate[2][NBR_SIZEDEF] },{ false,false,AV_CODEC_ID_MPEG2VIDEO,VCODEC_MPEG,VCODECST_MPEG, // IsFind,Codec_id,FFD_VCODEC,FFD_VCODECST "mpeg2video","MPEG-2 video", // ShortName[50], LongName[200] "2000k#3000k#4000k#6000k#8000k#10000k#12000k#15000k#20000k#400k", // PossibleBitrate {{ // DefaultBitrate[2][NBR_SIZEDEF] - PAL "1000k", // QVGA-320x240 "2000k", // HVGA-480x320 "3000k", // VGA-640x480 "6000k", // DVD-720x576 "6000k", // WVGA-800x480 "10000k", // XGA-1024x768 "12000k", // 720p "20000k", // 1080p "400k", // RIM 240 "6000k", // DVD-720x576 - PAL-M "", // free },{ // DefaultBitrate[2][NBR_SIZEDEF] - NTSC "1000k", // QVGA-320x240 "2000k", // HVGA-480x320 "3000k", // VGA-640x480 "6000k", // DVD-720x576 "6000k", // WVGA-800x480 "10000k", // XGA-1024x768 "12000k", // 720p-23.98 "20000k", // 1080p-23.98 "400k", // RIM 240 "12000k", // 720p-29.97 "20000k" // 1080p-29.97 }} },{ false,false,AV_CODEC_ID_MPEG4,VCODEC_MPEG4,VCODECST_MPEG4, // IsFind,Codec_id,FFD_VCODEC,FFD_VCODECST "mpeg4","DivX/XVid/MPEG-4", // ShortName[50], LongName[200] "500k#1000k#1200k#1500k#2000k#2500k#3000k#4000k#5000k#6000k#8000k#400k#4500k", // PossibleBitrate {{ // DefaultBitrate[2][NBR_SIZEDEF] - PAL "500k", // QVGA-320x240 "1000k", // HVGA-480x320 "2000k", // VGA-640x480 "3000k", // DVD-720x576 "4000k", // WVGA-800x480 "5000k", // XGA-1024x768 "6000k", // 720p "8000k", // 1080p "400k", // RIM 240 "3000k", // DVD-720x576 - PAL-M "", // free },{ // DefaultBitrate[2][NBR_SIZEDEF] - NTSC "500k", // QVGA-320x240 "1000k", // HVGA-480x320 "2000k", // VGA-640x480 "3000k", // DVD-720x576 "4000k", // WVGA-800x480 "5000k", // XGA-1024x768 "6000k", // 720p-23.98 "8000k", // 1080p-23.98 "400k", // RIM 240 "6000k", // 720p-29.97 "8000k" // 1080p-29.97 }} },{ false,false,AV_CODEC_ID_H264,VCODEC_H264HQ,VCODECST_H264HQ, // IsFind,Codec_id,FFD_VCODEC,FFD_VCODECST "libx264","High Quality H.264 AVC/MPEG-4 AVC", // ShortName[50], LongName[200] "500k#1000k#1200k#1500k#2000k#2500k#3000k#4000k#5000k#6000k#8000k#10000k#12000k#400k#3500k", // PossibleBitrate {{ // DefaultBitrate[2][NBR_SIZEDEF] - PAL "500k", // QVGA-320x240 "1000k", // HVGA-480x320 "1500k", // VGA-640x480 "2500k", // DVD-720x576 "3000k", // WVGA-800x480 "4000k", // XGA-1024x768 "5000k", // 720p "8000k", // 1080p "400k", // RIM 240 "2500k", // DVD-720x576-PAL-M "", // free },{ // DefaultBitrate[2][NBR_SIZEDEF] - NTSC "500k", // QVGA-320x240 "1000k", // HVGA-480x320 "1500k", // VGA-640x480 "2500k", // DVD-720x576 "3000k", // WVGA-800x480 "4000k", // XGA-1024x768 "5000k", // 720p-23.98 "8000k", // 1080p-23.98 "400k", // RIM 240 "5000k", // 720p-29.97 "8000k", // 1080p-29.97 }} },{ false,false,AV_CODEC_ID_H264,VCODEC_H264PQ,VCODECST_H264PQ, // IsFind,Codec_id,FFD_VCODEC,FFD_VCODECST "libx264","Phone Quality H.264 AVC/MPEG-4 AVC", // ShortName[50], LongName[200] "500k#1000k#1200k#1500k#2000k#2500k#3000k#4000k#5000k#6000k#8000k#10000k#400k#3500k", // PossibleBitrate {{ // DefaultBitrate[2][NBR_SIZEDEF] - PAL "500k", // QVGA-320x240 "1200k", // HVGA-480x320 "1500k", // VGA-640x480 "2500k", // DVD-720x576 "3000k", // WVGA-800x480 "4000k", // XGA-1024x768 "5000k", // 720p "8000k", // 1080p "400k", // RIM 240 "2500k", // DVD-720x576-PAL-M "" // free },{ // DefaultBitrate[2][NBR_SIZEDEF] - NTSC "500k", // QVGA-320x240 "1200k", // HVGA-480x320 "1500k", // VGA-640x480 "2500k", // DVD-720x576 "3000k", // WVGA-800x480 "4000k", // XGA-1024x768 "5000k", // 720p-23.98 "8000k", // 1080p-23.98 "400k", // RIM 240 "5000k", // 720p-29.97 "8000k" // 1080p-29.97 }} },{ false,false,AV_CODEC_ID_VP8,VCODEC_VP8,VCODECST_VP8, // IsFind,Codec_id,FFD_VCODEC,FFD_VCODECST "libvpx","WebM-VP8", // ShortName[50], LongName[200] "500k#1000k#1200k#1500k#2000k#2500k#3000k#4000k#5000k#6000k#8000k#400k#3500k", // PossibleBitrate {{ // DefaultBitrate[2][NBR_SIZEDEF] - PAL "500k", // QVGA-320x240 "1000k", // HVGA-480x320 "1500k", // VGA-640x480 "2500k", // DVD-720x576 "3000k", // WVGA-800x480 "4000k", // XGA-1024x768 "5000k", // 720p "8000k", // 1080p "400k", // RIM 240 "2500k", // DVD-720x576-PAL-M "" // free },{ // DefaultBitrate[2][NBR_SIZEDEF] - NTSC "500k", // QVGA-320x240 "1000k", // HVGA-480x320 "1500k", // VGA-640x480 "2500k", // DVD-720x576 "3000k", // WVGA-800x480 "4000k", // XGA-1024x768 "5000k", // 720p-23.98 "8000k", // 1080p-23.98 "400k", // RIM 240 "5000k", // 720p-29.97 "8000k" // 1080p-29.97 }} },{ false,false,AV_CODEC_ID_FLV1,VCODEC_H263,VCODECST_H263, // IsFind,Codec_id,FFD_VCODEC,FFD_VCODECST "flv","Flash Video / Sorenson H.263", // ShortName[50], LongName[200] "500k#1000k#1200k#1500k#2000k#2500k#3000k#4000k#5000k#6000k#8000k#400k#3500k", // PossibleBitrate {{ // DefaultBitrate[2][NBR_SIZEDEF] - PAL "500k", // QVGA-320x240 "1000k", // HVGA-480x320 "1500k", // VGA-640x480 "2500k", // DVD-720x576 "3000k", // WVGA-800x480 "4000k", // XGA-1024x768 "5000k", // 720p "8000k", // 1080p "400k", // RIM 240 "2500k", // DVD-720x576-PAL-M "", // free },{ // DefaultBitrate[2][NBR_SIZEDEF] - NTSC "500k", // QVGA-320x240 "1000k", // HVGA-480x320 "1500k", // VGA-640x480 "2500k", // DVD-720x576 "3000k", // WVGA-800x480 "4000k", // XGA-1024x768 "5000k", // 720p-23.98 "8000k", // 1080p-23.98 "400k", // RIM 240 "5000k", // 720p-29.97 "8000k" // 1080p-29.97 }} },{ false,false,AV_CODEC_ID_THEORA,VCODEC_THEORA,VCODECST_THEORA, // IsFind,Codec_id,FFD_VCODEC,FFD_VCODECST "libtheora","Theora VP3", // ShortName[50], LongName[200] "500k#1000k#1200k#1500k#2000k#2500k#3000k#4000k#5000k#6000k#8000k#400k#3500k", // PossibleBitrate {{ // DefaultBitrate[2][NBR_SIZEDEF] - PAL "500k", // QVGA-320x240 "1000k", // HVGA-480x320 "1500k", // VGA-640x480 "2500k", // DVD-720x576 "3000k", // WVGA-800x480 "4000k", // XGA-1024x768 "5000k", // 720p "8000k", // 1080p "400k", // RIM 240 "2500k", // DVD-720x576-PAL-M "" // free },{ // DefaultBitrate[2][NBR_SIZEDEF] - NTSC "500k", // QVGA-320x240 "1000k", // HVGA-480x320 "1500k", // VGA-640x480 "2500k", // DVD-720x576 "3000k", // WVGA-800x480 "4000k", // XGA-1024x768 "5000k", // 720p-23.98 "8000k", // 1080p-23.98 "400k", // RIM 240 "5000k", // 720p-29.97 "8000k" // 1080p-29.97 }} },{ false,false,AV_CODEC_ID_H264,VCODEC_X264LL,VCODECST_X264LL, // IsFind,Codec_id,FFD_VCODEC,FFD_VCODECST "libx264","x264 lossless", // ShortName[50], LongName[200] "", // PossibleBitrate {{""},{""}} // DefaultBitrate[2][NBR_SIZEDEF] },{ false,false,AV_CODEC_ID_WMV1,VCODEC_WMV1,VCODECST_WMV1, // IsFind,Codec_id,FFD_VCODEC,FFD_VCODECST "wmv1","Windows Media Video 7", // ShortName[50], LongName[200] "", // PossibleBitrate {{""},{""}} // DefaultBitrate[2][NBR_SIZEDEF] },{ false,false,AV_CODEC_ID_WMV2,VCODEC_WMV2,VCODECST_WMV2, // IsFind,Codec_id,FFD_VCODEC,FFD_VCODECST "wmv2","Windows Media Video 8", // ShortName[50], LongName[200] "", // PossibleBitrate {{""},{""}} // DefaultBitrate[2][NBR_SIZEDEF] },{ false,false,AV_CODEC_ID_WMV3,VCODEC_WMV3,VCODECST_WMV3, // IsFind,Codec_id,FFD_VCODEC,FFD_VCODECST "wmv3","Windows Media Video 9", // ShortName[50], LongName[200] "", // PossibleBitrate {{""},{""}} // DefaultBitrate[2][NBR_SIZEDEF] } }; struct sAudioCodecDef AUDIOCODECDEF[NBR_AUDIOCODECDEF]={ {false,false, AV_CODEC_ID_PCM_S16LE,"pcm_s16le", "WAV (PCM signed 16-bit little-endian)","", false,"", "", "8000#11025#12000#16000#22050#24000#32000#44100#48000",AFORMAT_WAV}, {false,false, AV_CODEC_ID_MP3, "libmp3lame", "MP3 (MPEG-1/2 Audio Layer III)", "8k#16k#24k#32k#40k#48k#56k#64k#80k#96k#112k#128k#144k#160k#192k#224k#256k#320k", false,"", "160k", "8000#11025#12000#16000#22050#24000#32000#44100#48000",AFORMAT_MP3}, {false,false, AV_CODEC_ID_AAC, "aac", "AAC-LC (Advanced Audio Codec)", "64k#80k#96k#112k#128k#144k#160k#192k#224k#256k#320k#384k", true,"224k#256k#320k#384k#448k#500k#512k#576k#640k","160k", "8000#11025#12000#16000#22050#24000#32000#44100#48000",AFORMAT_AAC}, {false,false, AV_CODEC_ID_AC3, "ac3", "AC-3 (Dolby Digital)", "64k#80k#96k#112k#128k#144k#160k#192k#224k#256k#320k#384k", true,"224k#256k#320k#384k#448k#500k#512k#576k#640k","160k", "32000#44100#48000",AFORMAT_AC3}, {false,false, AV_CODEC_ID_VORBIS, "vorbis", "OGG (Vorbis)", "64k#96k#128k#192k#256k#500k", false,"", "128k", "8000#11025#12000#16000#22050#24000#32000#44100#48000",AFORMAT_OGG}, {false,false, AV_CODEC_ID_MP2, "mp2", "MP2 (MPEG-1 Audio Layer II)", "64k#96k#128k#192k#256k#500k", false,"", "128k", "16000#22050#24000#32000#44100#48000",AFORMAT_MP2}, {false,false, AV_CODEC_ID_AMR_WB, "libvo_amrwbenc", "Adaptive Multi-Rate (AMR) Wide-Band", "6.60k#8.85k#12.65k#14.25k#15.85k#18.25k#19.85k#23.05k#23.85k", false,"", "8.85k","16000",AFORMAT_3GP}, {false,false, AV_CODEC_ID_FLAC, "flac", "FLAC (Free Lossless Audio Codec)", "", false,"", "", "8000#11025#12000#16000#22050#24000#32000#44100#48000",AFORMAT_FLAC}, {false,false, AV_CODEC_ID_AMR_NB, "libopencore_amrnb", "Adaptive Multi-Rate (AMR) NB", "4.75k#5.15k#5.90k#6.70k#7.40k#7.95k#10.20k#12.20k", false,"", "6.70k","8000",AFORMAT_3GP}, {false,false, AV_CODEC_ID_WMAV1, "wmav1", "Windows Media Audio 1", "", false,"", "", "8000#11025#12000#16000#22050#24000#32000#44100#48000",-1}, {false,false, AV_CODEC_ID_WMAV2, "wmav2", "Windows Media Audio 2", "", false,"", "", "8000#11025#12000#16000#22050#24000#32000#44100#48000",-1} }; struct sFormatDef FORMATDEF[VFORMAT_NBR]={ {false,false, "3gp", "3gp", "3GP file format", "MPEG4#H264PQ", "libvo_amrwbenc#libopencore_amrnb", "8000#16000", "8000"}, {false,false, "avi", "avi", "AVI file format", "MPEG4#H264HQ#H264PQ", "pcm_s16le#libmp3lame#ac3", "8000#11025#12000#16000#22050#24000#32000#44100#48000", "48000"}, {false,false, "matroska", "mkv", "MKV Matroska file format", "H264HQ#H264PQ", "pcm_s16le#libmp3lame#libfaac#aac#libvo_aacenc#ac3#libvorbis#vorbis", "8000#11025#12000#16000#22050#24000#32000#44100#48000", "48000"}, {false,false, "mjpeg", "avi", "MJPEG video", "MJPEG", "pcm_s16le", "8000#11025#12000#16000#22050#24000#32000#44100#48000", "48000"}, {false,false, "mp4", "mp4", "MP4 file format", "MPEG4#H264HQ#H264PQ", "libmp3lame#libfaac#aac#libvo_aacenc", "8000#11025#12000#16000#22050#24000#32000#44100#48000", "48000"}, {false,false, "mpegts", "mpg", "MPEG file format", "MPEG", "mp2#ac3", "8000#11025#12000#16000#22050#24000#32000#44100#48000", "48000"}, {false,false, "webm", "webm", "WEBM file format", "VP8", "libvorbis#vorbis", "8000#11025#12000#16000#22050#24000#32000#44100#48000", "48000"}, {false,false, "flv", "flv", "FLV Flash file format 2005", "H263", "libmp3lame", "44100", "44100"}, {false,false, "flv", "flv", "FLV Flash file format 2008", "H264HQ#H264PQ", "libfaac#aac#libvo_aacenc", "44100", "44100"}, {false,false, "ogg", "ogv", "OGV Ogg/Theroa file format", "THEORA#LIBTHEORA", "libvorbis#vorbis", "8000#11025#12000#16000#22050#24000#32000#44100#48000", "48000"}, {false,false, "asf", "wmv", "ASF/Window Media Video format","", "", "", ""} }; struct sFormatDef AUDIOFORMATDEF[NBR_AFORMAT]={ {false,false, "3gp", "3ga", "3GP format", "", "libvo_amrwbenc#libopencore_amrnb", "8000#16000","8000"}, {false,false, "ac3", "ac3", "AC-3 (Dolby Digital)", "", "ac3", "8000#11025#12000#16000#22050#24000#32000#44100#48000","48000"}, {false,false, "adts", "aac", "ADTS AAC (Advanced Audio Coding)", "", "libfaac#aac#libvo_aacenc", "8000#11025#12000#16000#22050#24000#32000#44100#48000","48000"}, {false,false, "flac", "flac","FLAC", "", "flac", "8000#11025#12000#16000#22050#24000#32000#44100#48000","44100"}, {false,false, "mp4", "m4a", "M4A QuickTime/MOV", "", "libfaac#aac#libvo_aacenc#libmp3lame", "8000#11025#12000#16000#22050#24000#32000#44100#48000","44100"}, {false,false, "mp2", "mp2", "MP2 (MPEG audio layer 2)", "", "mp2", "8000#11025#12000#16000#22050#24000#32000#44100#48000","48000"}, {false,false, "mp3", "mp3", "MP3 (MPEG audio layer 3)", "", "libmp3lame", "8000#11025#12000#16000#22050#24000#32000#44100#48000","44100"}, {false,false, "ogg", "ogg", "OGG", "", "libvorbis#vorbis", "8000#11025#12000#16000#22050#24000#32000#44100#48000","44100"}, {false,false, "wav", "wav", "WAV / WAVE (Waveform Audio)", "", "pcm_s16le", "8000#11025#12000#16000#22050#24000#32000#44100#48000","44100"} }; // List of all file extension allowed for video QString AllowVideoExtensions="avi#mov#mpg#mpeg#m4v#mkv#mp4#flv#3gp#ogv#webm#dv#wmv#mts#m2ts#mod"; // List of all file extension allowed for image QString AllowImageExtensions="bmp#gif#jpg#jpeg#png#pbm#pgm#ppm#tiff#tif#xbm#xpm"; // List of all file extension allowed for image vector QString AllowImageVectorExtensions="svg"; // List of all file extension allowed for musique QString AllowMusicExtensions="wav#aac#adts#ac3#mp2#mp3#m4a#m4b#m4p#3g2#3ga#3gp#ogg#oga#spx#wma#flac"; //==================================================================================================================== QString Previous; int LastLibAvMessageLevel=0; void LibAVLogCallback(void * /*ptr*/, int level, const char *fmt, va_list vargs) { // if (level>AVLOGLEVEL) return; // Crash if this is send ! if (QString(fmt)==QString("rate control settings\n %*s%u\n %*s%u\n %*s%u\n %*s%u\n %*s%d\n %*s%p(%zu)\n %*s%u\n")) return; char Buf[16384*10]; int MessageLevel=0; vsprintf(Buf,fmt,vargs); while ((strlen(Buf)>0)&&(Buf[strlen(Buf)-1]==32)) Buf[strlen(Buf)-1]=0; if (strlen(Buf)>0) { char End=Buf[strlen(Buf)-1]; QString DisplayMsg; if ((End==10)||(End==13)) { while ((strlen(Buf)>0)&&((Buf[strlen(Buf)-1]==10)||(Buf[strlen(Buf)-1]==13))) Buf[strlen(Buf)-1]=0; DisplayMsg=QString("LIBAV: ")+Previous+QString(Buf); Previous =""; if (level>=AV_LOG_DEBUG) MessageLevel=LOGMSG_DEBUGTRACE; else if (level>=AV_LOG_INFO) MessageLevel=LOGMSG_INFORMATION; else if (level>=AV_LOG_WARNING) MessageLevel=LOGMSG_WARNING; else MessageLevel=LOGMSG_CRITICAL; ToLog(MessageLevel,DisplayMsg,"internal",true); if (LastLibAvMessageLevel=0) return ""; char Buf[2048]; if (av_strerror(ErrorCode,Buf,2048)==0) return QString("AV Error %1:%2").arg(ErrorCode).arg(QString().fromLocal8Bit(Buf)); else return QString("No error message for %1").arg(ErrorCode); } //==================================================================================================================== // Device model class definition //==================================================================================================================== cDeviceModelDef::cDeviceModelDef(bool IsGlobalConf,int IndexKey) { FromGlobalConf =IsGlobalConf; // true if device model is defined in global config file FromUserConf =!IsGlobalConf; // true if device model is defined in user config file IsFind =false; // true if device model format is supported by installed version of libav DeviceIndex =IndexKey; // Device number index key DeviceName =""; // long name for the device model DeviceType =0; // device type DeviceSubtype =0; FileFormat =0; // sFormatDef number VideoCodec =0; // sVideoCodecDef number AudioCodec =0; // sAudioCodecDef number AudioBitrate =0; // Bitrate number in sAudioCodecDef ImageSize =0; // DefImageFormat number VideoBitrate =0; // Bitrate number in sVideoCodecDef Standard =0; } cDeviceModelDef::~cDeviceModelDef() { } //==================================================================================================================== void cDeviceModelDef::SaveToXML(QDomElement &domDocument,QString ElementName) { QDomDocument DomDocument; QDomElement Element=DomDocument.createElement(ElementName); Element.setAttribute("DeviceIndex",DeviceIndex); Element.setAttribute("DeviceName",DeviceName); Element.setAttribute("DeviceType",DeviceType); Element.setAttribute("DeviceSubtype",DeviceSubtype); Element.setAttribute("FileFormat",FileFormat); Element.setAttribute("VideoCodec",VideoCodec); Element.setAttribute("AudioCodec",AudioCodec); Element.setAttribute("AudioBitrate",AudioBitrate); Element.setAttribute("Standard",Standard); Element.setAttribute("ImageSize",ImageSize); Element.setAttribute("VideoBitrate",VideoBitrate); domDocument.appendChild(Element); } //==================================================================================================================== bool cDeviceModelDef::LoadFromXML(QDomElement domDocument,QString ElementName,bool IsUserConfigFile) { if ((domDocument.elementsByTagName(ElementName).length()>0)&&(domDocument.elementsByTagName(ElementName).item(0).isElement()==true)) { QDomElement Element=domDocument.elementsByTagName(ElementName).item(0).toElement(); if (IsUserConfigFile) FromUserConf=true; DeviceName =Element.attribute("DeviceName"); DeviceType =Element.attribute("DeviceType").toInt(); DeviceSubtype =Element.attribute("DeviceSubtype").toInt(); FileFormat =Element.attribute("FileFormat").toInt(); VideoCodec =Element.attribute("VideoCodec").toInt(); AudioCodec =Element.attribute("AudioCodec").toInt(); Standard =Element.attribute("Standard").toInt(); ImageSize =Element.attribute("ImageSize").toInt(); VideoBitrate =Element.attribute("VideoBitrate").toInt(); // Special case for audio bitrate wich can be exprim as double value QString BitRate =Element.attribute("AudioBitrate"); if (BitRate.endsWith("k")) { if (BitRate.contains(".")) { BitRate=BitRate.left(BitRate.length()-1); double Value=BitRate.toDouble()*1000; BitRate=QString("%1").arg(int(Value)); } else BitRate=BitRate.left(BitRate.length()-1)+"000"; } AudioBitrate=BitRate.toInt(); if (FromUserConf==false) { BckDeviceName =DeviceName; // long name for the device model BckDeviceType =DeviceType; // device type BckDeviceSubtype=DeviceSubtype; // device Subtype BckStandard =Standard; // standard : PAL/NTSC BckFileFormat =FileFormat; // sFormatDef number BckImageSize =ImageSize; // DefImageFormat number BckVideoCodec =VideoCodec; // sVideoCodecDef number BckVideoBitrate =VideoBitrate; // Bitrate number in sVideoCodecDef BckAudioCodec =AudioCodec; // sAudioCodecDef number BckAudioBitrate =AudioBitrate; // Bitrate number in sAudioCodecDef } return true; } else return false; } //==================================================================================================================== // Device model list definition //==================================================================================================================== cDeviceModelList::cDeviceModelList() { } //==================================================================================================================== cDeviceModelList::~cDeviceModelList() { while (!RenderDeviceModel.isEmpty()) delete RenderDeviceModel.takeLast(); } //==================================================================================================================== bool cDeviceModelList::LoadConfigurationFile(QString ConfigFileName,LoadConfigFileType TypeConfigFile) { // Compute FileName QString FileName=QFileInfo(ConfigFileName).absolutePath(); if (!FileName.endsWith(QDir::separator())) FileName=FileName+QDir::separator(); FileName=FileName+CONFIGFILENAME+"."+QFileInfo(ConfigFileName).suffix(); ToLog(LOGMSG_INFORMATION,QApplication::translate("MainWindow","Read configuration file")+" "+QDir::toNativeSeparators(FileName)); QFile file(FileName); QDomDocument domDocument; QDomElement root; QString errorStr; int errorLine,errorColumn; bool IsOk=true; if (!file.open(QFile::ReadOnly | QFile::Text)) { ToLog(LOGMSG_WARNING,QApplication::translate("MainWindow","Error reading configuration file","Error message")+" "+QDir::toNativeSeparators(FileName)); IsOk=false; } if (IsOk && (!domDocument.setContent(&file,true,&errorStr,&errorLine,&errorColumn))) { ToLog(LOGMSG_CRITICAL,QApplication::translate("MainWindow","Error reading content of configuration file","Error message")+" "+QDir::toNativeSeparators(FileName)); IsOk=false; } if (IsOk) { root = domDocument.documentElement(); if (root.tagName()!=CONFIGROOTNAME) { ToLog(LOGMSG_CRITICAL,QApplication::translate("MainWindow","The file is not a valid configuration file","Error message")+" "+QDir::toNativeSeparators(FileName)); IsOk=false; } } if (LoadFromXML(root,TypeConfigFile)) { if (TypeConfigFile==USERCONFIGFILE) TranslatRenderType(); return true; } return false; } //==================================================================================================================== bool cDeviceModelList::SaveConfigurationFile(QString ConfigFileName) { // Compute FileName QString FileName=QFileInfo(ConfigFileName).absolutePath(); if (!FileName.endsWith(QDir::separator())) FileName=FileName+QDir::separator(); FileName=FileName+CONFIGFILENAME+"."+QFileInfo(ConfigFileName).suffix(); // Save all option to the configuration file QFile file(FileName); QDomDocument domDocument(CONFIGDOCNAME); QDomElement root; // Ensure destination exist QFileInfo ConfPath(FileName); QDir ConfDir; ConfDir.mkdir(ConfPath.path()); // Create xml document and root root=domDocument.createElement(CONFIGROOTNAME); domDocument.appendChild(root); // Save RenderDeviceModel collection int j=0; QDomElement Element=domDocument.createElement("RenderingDeviceModel"); for (int i=0;iFromUserConf) { RenderDeviceModel[i]->SaveToXML(Element,QString("Device_"+QString("%1").arg(j))); j++; } if (j>0) root.appendChild(Element); // Write file to disk if (!file.open(QFile::WriteOnly | QFile::Text)) { ToLog(LOGMSG_INFORMATION,QApplication::translate("MainWindow","Error creating configuration file","Error message")+" "+FileName); return false; } QTextStream out(&file); out.setCodec("UTF-8"); domDocument.save(out,4); file.close(); return true; } //==================================================================================================================== bool cDeviceModelList::LoadFromXML(QDomElement domDocument,LoadConfigFileType TypeConfigFile) { if ((domDocument.elementsByTagName("RenderingDeviceModel").length()>0)&&(domDocument.elementsByTagName("RenderingDeviceModel").item(0).isElement()==true)) { QDomElement Element=domDocument.elementsByTagName("RenderingDeviceModel").item(0).toElement(); int i=0; while ((Element.elementsByTagName("Device_"+QString("%1").arg(i)).length()>0)&&(domDocument.elementsByTagName("Device_"+QString("%1").arg(i)).item(0).isElement()==true)) { if (TypeConfigFile==GLOBALCONFIGFILE) { // Reading from global config file : append device RenderDeviceModel.append(new cDeviceModelDef(TypeConfigFile==GLOBALCONFIGFILE,i)); RenderDeviceModel[i]->LoadFromXML(Element,QString("Device_"+QString("%1").arg(i)),false); } else { // Reading from user config file : search if device already exist, then load it else append a new one QString ElementName=QString("Device_"+QString("%1").arg(i)); if ((domDocument.elementsByTagName(ElementName).length()>0)&&(domDocument.elementsByTagName(ElementName).item(0).isElement()==true)) { QDomElement TheElement=domDocument.elementsByTagName(ElementName).item(0).toElement(); int IndexKey=TheElement.attribute("DeviceIndex").toInt(); int j=0; while ((jDeviceIndex!=IndexKey)) j++; if (jLoadFromXML(Element,QString("Device_"+QString("%1").arg(i)),true); else { j=RenderDeviceModel.count(); RenderDeviceModel.append(new cDeviceModelDef(false,IndexKey)); RenderDeviceModel[j]->LoadFromXML(Element,QString("Device_"+QString("%1").arg(i)),true); } } } i++; } } return true; } //==================================================================================================================== void cDeviceModelList::TranslatRenderType() { TranslatedRenderType.append(QApplication::translate("cDeviceModelList","Advanced","Device database type")); // EXPORTMODE_ADVANCED TranslatedRenderType.append(QApplication::translate("cDeviceModelList","Smartphone","Device database type")); // MODE_SMARTPHONE TranslatedRenderType.append(QApplication::translate("cDeviceModelList","Multimedia system","Device database type")); // MODE_MULTIMEDIASYS TranslatedRenderType.append(QApplication::translate("cDeviceModelList","For the WEB","Device database type")); // MODE_FORTHEWEB TranslatedRenderType.append(QApplication::translate("cDeviceModelList","Lossless","Device database type")); // MODE_LOSSLESS TranslatedRenderSubtype[MODE_SMARTPHONE].append(QApplication::translate("cDeviceModelList","Smartphone","Device database type")); TranslatedRenderSubtype[MODE_SMARTPHONE].append(QApplication::translate("cDeviceModelList","Portable Player","Device database type")); TranslatedRenderSubtype[MODE_SMARTPHONE].append(QApplication::translate("cDeviceModelList","Netbook/NetPC","Device database type")); TranslatedRenderSubtype[MODE_SMARTPHONE].append(QApplication::translate("cDeviceModelList","Handheld game console","Device database type")); TranslatedRenderSubtype[MODE_SMARTPHONE].append(QApplication::translate("cDeviceModelList","Tablet computer","Device database type")); TranslatedRenderSubtype[MODE_MULTIMEDIASYS].append(QApplication::translate("cDeviceModelList","Multimedia hard drive and gateway","Device database type")); TranslatedRenderSubtype[MODE_MULTIMEDIASYS].append(QApplication::translate("cDeviceModelList","Player","Device database type")); TranslatedRenderSubtype[MODE_MULTIMEDIASYS].append(QApplication::translate("cDeviceModelList","ADSL Box","Device database type")); TranslatedRenderSubtype[MODE_MULTIMEDIASYS].append(QApplication::translate("cDeviceModelList","Game console","Device database type")); TranslatedRenderSubtype[MODE_FORTHEWEB].append(QApplication::translate("cDeviceModelList","SWF Flash Player","Device database type")); TranslatedRenderSubtype[MODE_FORTHEWEB].append(QApplication::translate("cDeviceModelList","Video-sharing and social WebSite","Device database type")); TranslatedRenderSubtype[MODE_FORTHEWEB].append(QApplication::translate("cDeviceModelList","HTML 5","Device database type")); } //==================================================================================================================== bool cDeviceModelList::InitLibav() { // Next step : start libav ToLog(LOGMSG_INFORMATION,QApplication::translate("MainWindow","Starting libav...")); avfilter_register_all(); avcodec_register_all(); av_register_all(); avformat_network_init(); av_log_set_callback(LibAVLogCallback); switch (LogMsgLevel) { case LOGMSG_DEBUGTRACE : AVLOGLEVEL=AV_LOG_DEBUG; break; case LOGMSG_INFORMATION : AVLOGLEVEL=AV_LOG_VERBOSE; break; case LOGMSG_WARNING : AVLOGLEVEL=AV_LOG_WARNING; break; case LOGMSG_CRITICAL : default : AVLOGLEVEL=AV_LOG_ERROR; break; } //av_log_set_level(AVLOGLEVEL); av_log_set_level(AV_LOG_DEBUG); // Check codec to know if they was finded AVCodec *p=NULL; while ((p=av_codec_next(p))) { if ( #if defined(LIBAV) && (LIBAVVERSIONINT<=8) (p->encode!=NULL)||(p->encode2!=NULL) #else (p->encode2!=NULL) #endif ) { if (p->type==AVMEDIA_TYPE_AUDIO) { for (int i=0;iid==AUDIOCODECDEF[i].Codec_id)&&(!AUDIOCODECDEF[i].IsFind)) { AUDIOCODECDEF[i].IsFind=true; //strcpy(AUDIOCODECDEF[i].ShortName,p->name); } // special case for vorbis codec : if libvorbis is found, prefer it to default internal vorbis encoder if (QString(p->name)==QString("libvorbis")) strcpy(AUDIOCODECDEF[4].ShortName,p->name); // special case for aac codec : if libfaac is found, prefer it to default internal aac encoder if (QString(p->name)==QString("libfaac")) strcpy(AUDIOCODECDEF[2].ShortName,p->name); // special case for aac codec : if libvo_aacenc is found, prefer it to default internal aac encoder if (QString(p->name)==QString("libvo_aacenc")) strcpy(AUDIOCODECDEF[2].ShortName,p->name); } if (p->type==AVMEDIA_TYPE_VIDEO) { for (int i=0;iid==VIDEOCODECDEF[i].Codec_id)&&(!VIDEOCODECDEF[i].IsFind)) { VIDEOCODECDEF[i].IsFind=true; strcpy(VIDEOCODECDEF[i].ShortName,p->name); } // special case for mpeg4 codec : if libxvid is found, prefer it to default mpeg4 internal encoder if (QString(p->name)==QString("libxvid")) strcpy(VIDEOCODECDEF[2].ShortName,p->name); } } if (p->decode!=NULL) { if (p->type==AVMEDIA_TYPE_AUDIO) { for (int i=0;iid==AUDIOCODECDEF[i].Codec_id)&&(!AUDIOCODECDEF[i].IsRead)) { AUDIOCODECDEF[i].IsRead=true; //strcpy(AUDIOCODECDEF[i].ShortName,p->name); } // special case for vorbis codec : if libvorbis is found, prefer it to default internal vorbis encoder if (QString(p->name)==QString("libvorbis")) strcpy(AUDIOCODECDEF[4].ShortName,p->name); // special case for aac codec : if libfaac is found, prefer it to default internal aac encoder if (QString(p->name)==QString("libfaac")) strcpy(AUDIOCODECDEF[2].ShortName,p->name); // special case for aac codec : if libvo_aacenc is found, prefer it to default internal aac encoder if (QString(p->name)==QString("libvo_aacenc")) strcpy(AUDIOCODECDEF[2].ShortName,p->name); } if (p->type==AVMEDIA_TYPE_VIDEO) { for (int i=0;iid==VIDEOCODECDEF[i].Codec_id)&&(!VIDEOCODECDEF[i].IsRead)) { VIDEOCODECDEF[i].IsRead=true; strcpy(VIDEOCODECDEF[i].ShortName,p->name); } // special case for mpeg4 codec : if libxvid is found, prefer it to default mpeg4 internal encoder if (QString(p->name)==QString("libxvid")) strcpy(VIDEOCODECDEF[2].ShortName,p->name); } } } // Check format to know if they was finded AVOutputFormat *ofmt=NULL; while ((ofmt=av_oformat_next(ofmt))) { for (int i=0;iname,FORMATDEF[i].ShortName)==0) { QString AllowedCodec=FORMATDEF[i].PossibleVideoCodec; QString Codec=""; int Index=0; bool IsFindVideoCodec=false; bool IsFindAudioCodec=false; while (AllowedCodec.length()>0) { Index=AllowedCodec.indexOf("#"); if (Index>0) { Codec=AllowedCodec.left(Index); AllowedCodec=AllowedCodec.right(AllowedCodec.length()-Index-1); } else { Codec=AllowedCodec; AllowedCodec=""; } // Now find index of this codec in the VIDEOCODECDEF Index=0; while ((Index0) { Index=AllowedCodec.indexOf("#"); if (Index>0) { Codec=AllowedCodec.left(Index); AllowedCodec=AllowedCodec.right(AllowedCodec.length()-Index-1); } else { Codec=AllowedCodec; AllowedCodec=""; } // Now find index of this codec in the AUDIOCODECDEF Index=0; while ((Indexname,AUDIOFORMATDEF[i].ShortName)==0) { QString AllowedCodec=AUDIOFORMATDEF[i].PossibleAudioCodec; QString Codec=""; int Index=0; bool IsFindAudioCodec=false; while (AllowedCodec.length()>0) { Index=AllowedCodec.indexOf("#"); if (Index>0) { Codec=AllowedCodec.left(Index); AllowedCodec=AllowedCodec.right(AllowedCodec.length()-Index-1); } else { Codec=AllowedCodec; AllowedCodec=""; } // Now find index of this codec in the AUDIOCODECDEF Index=0; while ((Index This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef CBRUSHDEFINITION_H #define CBRUSHDEFINITION_H // Basic inclusions (common to all files) #include "_GlobalDefines.h" // Include some additional standard class #include #include #include #include #include #include // Include some common various class #include "cBaseBrushDefinition.h" #include "cSpeedWave.h" #include "Shape.h" #include "cBaseMediaFile.h" #include "cSoundBlockList.h" //============================================ // Auto Framing //============================================ class cAutoFramingDef { public: QString ToolTip; int GeometryType; bool IsInternal; cAutoFramingDef() {} cAutoFramingDef(QString ToolTip,bool IsInternal,int GeometryType); }; extern cAutoFramingDef AUTOFRAMINGDEF[NBR_AUTOFRAMING]; void AutoFramingDefInit(); //********************************************************************************************************************************************* // Base object for brush object //********************************************************************************************************************************************* class cBrushDefinition:public cBaseBrushDefinition { public: // Link to global objects cApplicationConfig *ApplicationConfig; QObject *CompositionObject; // Link to parent (cCompositionObject) // Basic settings int TypeComposition; // Type of composition object (COMPOSITIONTYPE_BACKGROUND, COMPOSITIONTYPE_OBJECT, COMPOSITIONTYPE_SHOT) int ImageSpeedWave; // Speed wave for this object during annimations // Embedded media object cBaseMediaFile *MediaObject; // Embeded Media Object bool DeleteMediaObject; // Image correction part double X; // X position (in %) relative to up/left corner double Y; // Y position (in %) relative to up/left corner double ZoomFactor; // Zoom factor (in %) double ImageRotation; // Image rotation (in °) int Brightness; // Brightness adjustment int Contrast; // Contrast adjustment double Gamma; // Gamma adjustment int Red; // Red adjustment int Green; // Green adjustment int Blue; // Blue adjustment bool LockGeometry; // True if geometry is locked double AspectRatio; // Aspect Ratio of image bool FullFilling; // Background image disk only : If true aspect ratio is not keep and image is deformed to fill the frame double GaussBlurSharpenSigma,BlurSharpenRadius; // Blur/Sharpen parameters int TypeBlurSharpen,QuickBlurSharpenSigma; double Desat,Swirl,Implode; // Filter parameters int OnOffFilter; // On-Off filter = combination of Despeckle, Equalize, Gray and Negative; // Video specific part double SoundVolume; // Volume of soundtrack bool Deinterlace; // Add a YADIF filter to deinterlace video (on/off) // Google maps specific part struct sMarker { QString MarkerColor; QString TextColor; QString LineColor; enum MARKERVISIBILITY {MARKERHIDE,MARKERSHADE,MARKERSHOW,MARKERTABLE} Visibility; enum MARKERSIZE {SMALL,MEDIUM,LARGE,VERYLARGE}; }; QList Markers; explicit cBrushDefinition(QObject *CompositionObject,cApplicationConfig *TheApplicationConfig); ~cBrushDefinition(); virtual void InitDefaultValues(); void *GetDiaporamaObject(); void *GetDiaporama(); void CopyFromBrushDefinition(cBrushDefinition *BrushToCopy); void AddShotPartToXML(QDomElement *Element); void SaveToXML(QDomElement *ParentElement,QString ElementName,QString PathForRelativPath,bool ForceAbsolutPath,cReplaceObjectList *ReplaceList,QList *ResKeyList,bool IsModel); bool LoadFromXML(QDomElement *ParentElement,QString ElementName,QString PathForRelativPath,QStringList *AliasList,bool *ModifyFlag,QList *ResKeyList,bool DuplicateRes); virtual QBrush *GetBrush(QRectF Rect,bool PreviewMode,int Position,cSoundBlockList *SoundTrackMontage,double PctDone,cBrushDefinition *PreviousBrush); int GetImageType(); // Image correction part QImage ApplyFilter(QImage Image); QImage ApplyFilters(QImage NewRenderImage,double TheBrightness,double TheContrast,double TheGamma,double TheRed,double TheGreen,double TheBlue,double TheDesat,bool ProgressifOnOffFilter,cBrushDefinition *PreviousBrush,double PctDone); // Utility functions used to draw thumbnails of image QImage *ImageToWorkspace(QImage *SrcImage,int WantedSize,qreal &maxw,qreal &maxh,qreal &minw,qreal &minh,qreal &x1,qreal &x2,qreal &x3,qreal &x4,qreal &y1,qreal &y2,qreal &y3,qreal &y4); void ApplyMaskToImageToWorkspace(QImage *SrcImage,QRectF CurSelRect,int BackgroundForm,int AutoFramingStyle=-1); void ApplyMaskToImageToWorkspace(QImage *SrcImage,int AutoFramingStyle,int BackgroundForm,int WantedSize,qreal maxw,qreal maxh,qreal minw,qreal minh,qreal X,qreal Y,qreal ZoomFactor,qreal AspectRatio,qreal ProjectGeometry); // Utility functions used to define default framing int GetCurrentFramingStyle(qreal ProjectGeometry); bool CalcWorkspace(qreal &dmax,qreal &maxw,qreal &maxh,qreal &minw,qreal &minh,qreal &x1,qreal &x2,qreal &x3,qreal &x4,qreal &y1,qreal &y2,qreal &y3,qreal &y4); void ApplyAutoFraming(int AutoAdjust,qreal ProjectGeometry); void s_AdjustWTop(qreal ProjectGeometry); void s_AdjustWMidle(qreal ProjectGeometry); void s_AdjustWBottom(qreal ProjectGeometry); void s_AdjustHLeft(qreal ProjectGeometry); void s_AdjustHMidle(qreal ProjectGeometry); void s_AdjustHRight(qreal ProjectGeometry); void s_AdjustWH(); void s_AdjustMinWTop(qreal ProjectGeometry); void s_AdjustMinWMidle(qreal ProjectGeometry); void s_AdjustMinWBottom(qreal ProjectGeometry); void s_AdjustMinHLeft(qreal ProjectGeometry); void s_AdjustMinHMidle(qreal ProjectGeometry); void s_AdjustMinHRight(qreal ProjectGeometry); void s_AdjustMinWH(); QImage GetImageDiskBrush(QRectF Rect,bool PreviewMode,int64_t Position,cSoundBlockList *SoundTrackMontage,double PctDone,cBrushDefinition *PreviousBrush); int GetHeightForWidth(int WantedWith,QRectF Rect); int GetWidthForHeight(int WantedHeight,QRectF Rect); void GetRealLocation(void **Location,void **RealLocation); void DrawMarker(QPainter *Painter,QPoint Position,int MarkerNum,sMarker::MARKERVISIBILITY Visibility,QSize MarkerSize,cBrushDefinition::sMarker::MARKERSIZE Size,bool DisplayType=false); void ComputeMarkerSize(void *Location,QSize MapImageSize); void AddMarkerToImage(QImage *DestImage); }; #endif // CBRUSHDEFINITION_H ffDiaporama/src/ffDiaporama/engine/cBrushDefinition.cpp0000777000175000001440000027422412275647323023445 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "cBrushDefinition.h" #include #include #include "ImageFilters.h" #include "_Variables.h" #define DEFAULT_IMAGEROTATION 0 #define DEFAULT_BRIGHTNESS 0 #define DEFAULT_CONTRAST 0 #define DEFAULT_GAMMA 1 #define DEFAULT_RED 0 #define DEFAULT_GREEN 0 #define DEFAULT_BLUE 0 #define DEFAULT_LOCKGEOMETRY false #define DEFAULT_ASPECTRATIO 1 #define DEFAULT_FULLFILLING false #define DEFAULT_TYPEBLURSHARPEN 0 #define DEFAULT_GBSSIGMA 0 #define DEFAULT_GBSRADIUS 5 #define DEFAULT_QBSSIGMA 0 #define DEFAULT_DESAT 0 #define DEFAULT_SWIRL 0 #define DEFAULT_IMPLODE 0 #define DEFAULT_ONOFFFILTER 0 //============================================ // Global static //============================================ cBackgroundList BackgroundList; #define PI 3.14159265 //********************************************************************************************************************************************* cAutoFramingDef AUTOFRAMINGDEF[NBR_AUTOFRAMING]; cAutoFramingDef::cAutoFramingDef(QString ToolTip,bool IsInternal,int GeometryType) { this->ToolTip =ToolTip; this->GeometryType =GeometryType; this->IsInternal =IsInternal; } void AutoFramingDefInit() { for (int i=0;i0)) FltGaussianSharpen(NewRenderImage,BlurSharpenRadius,GaussBlurSharpenSigma); if ((TypeBlurSharpen==0)&&(QuickBlurSharpenSigma<0)) FltBlur(NewRenderImage,-QuickBlurSharpenSigma); if ((TypeBlurSharpen==0)&&(QuickBlurSharpenSigma>0)) FltSharpen(NewRenderImage,QuickBlurSharpenSigma); if ((OnOffFilter & FilterDespeckle)!=0) FltDespeckle(NewRenderImage); if ((OnOffFilter & FilterEqualize)!=0) FltEqualize(NewRenderImage); if ((OnOffFilter & FilterGray)!=0) FltGrayscale(NewRenderImage); if ((OnOffFilter & FilterNegative)!=0) NewRenderImage.invertPixels(QImage::InvertRgb); if ((OnOffFilter & FilterEmboss)!=0) FltEmboss(NewRenderImage,0,1); if ((OnOffFilter & FilterEdge)!=0) FltEdge(NewRenderImage); if ((OnOffFilter & FilterAntialias)!=0) FltAntialias(NewRenderImage); if ((OnOffFilter & FilterNormalize)!=0) FltAutoContrast(NewRenderImage); if ((OnOffFilter & FilterCharcoal)!=0) FltCharcoal(NewRenderImage); if ((OnOffFilter & FilterOil)!=0) FltOilPaint(NewRenderImage); if (ProgressifOnOffFilter) { // Apply previous filter to copied image if ((PreviousBrush->TypeBlurSharpen==1)&&(PreviousBrush->GaussBlurSharpenSigma<0)) FltGaussianBlur(PreviousImage,PreviousBrush->BlurSharpenRadius,-PreviousBrush->GaussBlurSharpenSigma); if ((PreviousBrush->TypeBlurSharpen==1)&&(PreviousBrush->GaussBlurSharpenSigma>0)) FltGaussianSharpen(PreviousImage,PreviousBrush->BlurSharpenRadius,PreviousBrush->GaussBlurSharpenSigma); if ((PreviousBrush->TypeBlurSharpen==0)&&(PreviousBrush->QuickBlurSharpenSigma<0)) FltBlur(PreviousImage,-PreviousBrush->QuickBlurSharpenSigma); if ((PreviousBrush->TypeBlurSharpen==0)&&(PreviousBrush->QuickBlurSharpenSigma>0)) FltSharpen(PreviousImage,PreviousBrush->QuickBlurSharpenSigma); if ((PreviousBrush->OnOffFilter & FilterDespeckle)!=0) FltDespeckle(PreviousImage); if ((PreviousBrush->OnOffFilter & FilterEqualize)!=0) FltEqualize(PreviousImage); if ((PreviousBrush->OnOffFilter & FilterGray)!=0) FltGrayscale(PreviousImage); if ((PreviousBrush->OnOffFilter & FilterNegative)!=0) PreviousImage.invertPixels(QImage::InvertRgb); if ((PreviousBrush->OnOffFilter & FilterEmboss)!=0) FltEmboss(PreviousImage,0,1); if ((PreviousBrush->OnOffFilter & FilterEdge)!=0) FltEdge(PreviousImage); if ((PreviousBrush->OnOffFilter & FilterAntialias)!=0) FltAntialias(PreviousImage); if ((PreviousBrush->OnOffFilter & FilterNormalize)!=0) FltAutoContrast(PreviousImage); if ((PreviousBrush->OnOffFilter & FilterCharcoal)!=0) FltCharcoal(PreviousImage); if ((PreviousBrush->OnOffFilter & FilterOil)!=0) FltOilPaint(PreviousImage); // Mix images QPainter P; P.begin(&PreviousImage); P.setOpacity(PctDone); P.drawImage(0,0,NewRenderImage); P.setOpacity(1); P.end(); NewRenderImage=PreviousImage; } } return NewRenderImage; } //==================================================================================================================== QImage cBrushDefinition::GetImageDiskBrush(QRectF Rect,bool PreviewMode,int64_t Position,cSoundBlockList *SoundTrackMontage,double PctDone,cBrushDefinition *PreviousBrush) { // If not an image or a video or filename is empty then return if ((!MediaObject)||((MediaObject->RessourceKey==-1)&&(MediaObject->FileKey==-1)&&(MediaObject->ObjectType!=OBJECTTYPE_GMAPSMAP))) { // Allow gmap object without image (default image will be computed in imageat function) QImage Ret(Rect.width(),Rect.height(),QImage::Format_ARGB32_Premultiplied); QPainter Painter; Painter.begin(&Ret); Painter.setCompositionMode(QPainter::CompositionMode_Source); Painter.fillRect(QRect(0,0,Rect.width(),Rect.height()),Qt::transparent); Painter.setCompositionMode(QPainter::CompositionMode_SourceOver); Painter.end(); return Ret; } // W and H = 0 when producing sound track in render process bool SoundOnly=((Rect.width()==0)&&(Rect.height()==0)); if (!SoundOnly) { QImage *RenderImage=NULL; if ((MediaObject)&&(MediaObject->ObjectType!=OBJECTTYPE_VIDEOFILE)) RenderImage=MediaObject->ImageAt(PreviewMode); else if (MediaObject) RenderImage=((cVideoFile *)MediaObject)->ImageAt(PreviewMode,Position,SoundTrackMontage,this->Deinterlace,this->SoundVolume,false,false); if ((RenderImage)&&(MediaObject)&&(MediaObject->ObjectType==OBJECTTYPE_GMAPSMAP)) AddMarkerToImage(RenderImage); // Compute filters values QImage Ret; double TheXFactor =X; double TheYFactor =Y; double TheZoomFactor =ZoomFactor; double TheRotateFactor =ImageRotation; double TheBrightness =Brightness; double TheContrast =((OnOffFilter & FilterNormalize)==0)?Contrast:0; double TheGamma =Gamma; double TheRed =Red; double TheGreen =Green; double TheBlue =Blue; double TheDesat =Desat; double TheSwirl =Swirl; double TheImplode =Implode; double TheAspectRatio =AspectRatio; int TheOnOffFilter =OnOffFilter; bool ProgressifOnOffFilter=false; // Adjust values depending on PctDone and previous Filter (if exist) if (PreviousBrush) { if (((PreviousBrush->OnOffFilter & FilterNormalize)==0)&&(PreviousBrush->Contrast!=TheContrast)) TheContrast =PreviousBrush->Contrast+(TheContrast-PreviousBrush->Contrast)*PctDone; if (PreviousBrush->X!=TheXFactor) TheXFactor =PreviousBrush->X+(TheXFactor-PreviousBrush->X)*PctDone; if (PreviousBrush->Y!=TheYFactor) TheYFactor =PreviousBrush->Y+(TheYFactor-PreviousBrush->Y)*PctDone; if (PreviousBrush->ZoomFactor!=TheZoomFactor) TheZoomFactor =PreviousBrush->ZoomFactor+(TheZoomFactor-PreviousBrush->ZoomFactor)*PctDone; if (PreviousBrush->ImageRotation!=TheRotateFactor) TheRotateFactor =PreviousBrush->ImageRotation+(TheRotateFactor-PreviousBrush->ImageRotation)*PctDone; if (PreviousBrush->Brightness!=TheBrightness) TheBrightness =PreviousBrush->Brightness+(TheBrightness-PreviousBrush->Brightness)*PctDone; if (PreviousBrush->Gamma!=TheGamma) TheGamma =PreviousBrush->Gamma+(TheGamma-PreviousBrush->Gamma)*PctDone; if (PreviousBrush->Red!=TheRed) TheRed =PreviousBrush->Red+(TheRed-PreviousBrush->Red)*PctDone; if (PreviousBrush->Green!=TheGreen) TheGreen =PreviousBrush->Green+(TheGreen-PreviousBrush->Green)*PctDone; if (PreviousBrush->Blue!=TheBlue) TheBlue =PreviousBrush->Blue+(TheBlue-PreviousBrush->Blue)*PctDone; if (PreviousBrush->Desat!=TheDesat) TheDesat =PreviousBrush->Desat+(TheDesat-PreviousBrush->Desat)*PctDone; if (PreviousBrush->Swirl!=TheSwirl) TheSwirl =PreviousBrush->Swirl+(TheSwirl-PreviousBrush->Swirl)*PctDone; if (PreviousBrush->Implode!=TheImplode) TheImplode =PreviousBrush->Implode+(TheImplode-PreviousBrush->Implode)*PctDone; //if (PreviousBrush->AspectRatio!=TheAspectRatio) TheAspectRatio =PreviousBrush->AspectRatio+(TheAspectRatio-PreviousBrush->AspectRatio)*PctDone; if ((PreviousBrush->OnOffFilter!=TheOnOffFilter)|| (PreviousBrush->GaussBlurSharpenSigma!=GaussBlurSharpenSigma)|| (PreviousBrush->QuickBlurSharpenSigma!=QuickBlurSharpenSigma)|| (PreviousBrush->BlurSharpenRadius!=BlurSharpenRadius)|| (PreviousBrush->TypeBlurSharpen!=TypeBlurSharpen) ) ProgressifOnOffFilter=true; } // Prepare image if (RenderImage) { if (FullFilling) { // Create brush image with distortion Ret=QImage(RenderImage->scaled(Rect.width(),Rect.height(),Qt::IgnoreAspectRatio,Qt::SmoothTransformation)); delete RenderImage; RenderImage=NULL; } else { // if it's a video and it's PreviewMode, then apply filter now before scale image if ((MediaObject)&&(MediaObject->ObjectType==OBJECTTYPE_VIDEOFILE)&&(PreviewMode)) { QImage TempNewRenderImage=RenderImage->convertToFormat(QImage::Format_ARGB32_Premultiplied); TempNewRenderImage=ApplyFilters(TempNewRenderImage,TheBrightness,TheContrast,TheGamma,TheRed,TheGreen,TheBlue,TheDesat,ProgressifOnOffFilter,PreviousBrush,PctDone); delete RenderImage; RenderImage=new QImage(TempNewRenderImage); } // Prepare values from sourceimage size qreal RealImageW=RenderImage->width(); qreal RealImageH=RenderImage->height(); qreal Hyp =floor(sqrt(RealImageW*RealImageW+RealImageH*RealImageH)); qreal HypPixel =Hyp*TheZoomFactor; // Expand canvas QImage NewRenderImage(Hyp,Hyp,QImage::Format_ARGB32_Premultiplied); QPainter Painter; Painter.begin(&NewRenderImage); Painter.setCompositionMode(QPainter::CompositionMode_Source); Painter.fillRect(QRect(0,0,NewRenderImage.width(),NewRenderImage.height()),Qt::transparent); Painter.setCompositionMode(QPainter::CompositionMode_SourceOver); Painter.drawImage(QPoint((Hyp-RealImageW)/2,(Hyp-RealImageH)/2),*RenderImage); Painter.end(); delete RenderImage; // Rotate image (if needed) if (TheRotateFactor!=0) { QTransform matrix; matrix.rotate(TheRotateFactor,Qt::ZAxis); int W=NewRenderImage.width(); int H=NewRenderImage.height(); NewRenderImage=NewRenderImage.transformed(matrix,ApplicationConfig->Smoothing?Qt::SmoothTransformation:Qt::FastTransformation); int ax=NewRenderImage.width()-W; int ay=NewRenderImage.height()-H; NewRenderImage=NewRenderImage.copy(ax/2,ay/2,NewRenderImage.width()-ax,NewRenderImage.height()-ay); } // Get part we need and scaled it to destination size TheAspectRatio=qreal(HypPixel*Rect.height())/qreal(Rect.width()); NewRenderImage=NewRenderImage.copy(Hyp*TheXFactor,Hyp*TheYFactor,HypPixel,/*HypPixel**/TheAspectRatio) .scaled(Rect.width(),/*Rect.width()*TheAspectRatio*/Rect.height(),Qt::IgnoreAspectRatio, ApplicationConfig->Smoothing?Qt::SmoothTransformation:Qt::FastTransformation); // Apply correction filters to DestImage (if it's a video and it's PreviewMode, then filter was apply before) if (!((MediaObject)&&(MediaObject->ObjectType==OBJECTTYPE_VIDEOFILE)&&(PreviewMode))) NewRenderImage=ApplyFilters(NewRenderImage,TheBrightness,TheContrast,TheGamma,TheRed,TheGreen,TheBlue,TheDesat,ProgressifOnOffFilter,PreviousBrush,PctDone); if (TheSwirl!=0) FltSwirl(NewRenderImage,-TheSwirl); if (TheImplode!=0) FltImplode(NewRenderImage,TheImplode); if ((!NewRenderImage.isNull())&&((NewRenderImage.width()!=Rect.width())||(NewRenderImage.height()!=Rect.height()))) Ret=NewRenderImage.scaled(Rect.width(),Rect.height(),Qt::IgnoreAspectRatio,Qt::SmoothTransformation); else Ret=NewRenderImage; } } return Ret; } else { // Force loading of sound of video if ((MediaObject)&&(MediaObject->ObjectType==OBJECTTYPE_VIDEOFILE)) { QImage *RenderImage=((cVideoFile *)MediaObject)->ImageAt(PreviewMode,Position,SoundTrackMontage,Deinterlace,SoundVolume,SoundOnly,false); if (RenderImage) delete RenderImage; } QImage Ret(Rect.width(),Rect.height(),QImage::Format_ARGB32_Premultiplied); QPainter Painter; Painter.begin(&Ret); Painter.setCompositionMode(QPainter::CompositionMode_Source); Painter.fillRect(QRect(0,0,Rect.width(),Rect.height()),Qt::transparent); Painter.setCompositionMode(QPainter::CompositionMode_SourceOver); Painter.end(); return Ret; } } //==================================================================================================================== // Note:This function is use only by cBrushDefinition ! QImage cBrushDefinition::ApplyFilter(QImage Image) { if (Image.isNull()) return Image; if (Brightness!=0) FltBrightness(Image,Brightness); if ((Contrast!=0)&&((OnOffFilter & FilterNormalize)==0)) FltContrast(Image,Contrast); if (Gamma!=1) FltGamma(Image,Gamma); if ((Red!=0)||(Green!=0)||(Blue!=0)) FltColorize(Image,Red,Green,Blue); if ((TypeBlurSharpen==0)&&(QuickBlurSharpenSigma<0)) FltBlur(Image,-QuickBlurSharpenSigma); if ((TypeBlurSharpen==0)&&(QuickBlurSharpenSigma>0)) FltSharpen(Image,QuickBlurSharpenSigma); if ((TypeBlurSharpen==1)&&(GaussBlurSharpenSigma<0)) FltGaussianBlur(Image,BlurSharpenRadius,-GaussBlurSharpenSigma); if ((TypeBlurSharpen==1)&&(GaussBlurSharpenSigma>0)) FltGaussianSharpen(Image,BlurSharpenRadius,GaussBlurSharpenSigma); if ((OnOffFilter & FilterDespeckle)!=0) FltDespeckle(Image); if ((OnOffFilter & FilterEqualize)!=0) FltEqualize(Image); if ((OnOffFilter & FilterGray)!=0) FltGrayscale(Image); if ((OnOffFilter & FilterNegative)!=0) Image.invertPixels(QImage::InvertRgb); if ((OnOffFilter & FilterEmboss)!=0) FltEmboss(Image,0,1); if ((OnOffFilter & FilterEdge)!=0) FltEdge(Image); if ((OnOffFilter & FilterAntialias)!=0) FltAntialias(Image); if ((OnOffFilter & FilterNormalize)!=0) FltAutoContrast(Image); if ((OnOffFilter & FilterCharcoal)!=0) FltCharcoal(Image); if ((OnOffFilter & FilterOil)!=0) FltOilPaint(Image); if (Desat!=0) FltDesaturate(Image,Desat); if (Swirl!=0) FltSwirl(Image,-Swirl); if (Implode!=0) FltImplode(Image,Implode); return Image; } //==================================================================================================================== // Return height for width depending on Rect geometry int cBrushDefinition::GetHeightForWidth(int WantedWith,QRectF Rect) { double Ratio=Rect.width()/Rect.height(); return int(double(double(WantedWith)/Ratio)); } //==================================================================================================================== // Return width for height depending on Rect geometry int cBrushDefinition::GetWidthForHeight(int WantedHeight,QRectF Rect) { double Ratio=Rect.height()/Rect.width(); return int(double(double(WantedHeight)/Ratio)); } //==================================================================================================================== // create a COMPOSITIONTYPE_SHOT brush as a copy of a given brush void cBrushDefinition::CopyFromBrushDefinition(cBrushDefinition *BrushToCopy) { TypeComposition =COMPOSITIONTYPE_SHOT; BrushType =BrushToCopy->BrushType; PatternType =BrushToCopy->PatternType; GradientOrientation =BrushToCopy->GradientOrientation; ColorD =BrushToCopy->ColorD; ColorF =BrushToCopy->ColorF; ColorIntermed =BrushToCopy->ColorIntermed; Intermediate =BrushToCopy->Intermediate; BrushImage =BrushToCopy->BrushImage; MediaObject =BrushToCopy->MediaObject; DeleteMediaObject =false; SoundVolume =BrushToCopy->SoundVolume; Deinterlace =BrushToCopy->Deinterlace; // Image correction part ImageRotation =BrushToCopy->ImageRotation; X =BrushToCopy->X; Y =BrushToCopy->Y; ZoomFactor =BrushToCopy->ZoomFactor; Brightness =BrushToCopy->Brightness; Contrast =BrushToCopy->Contrast; Gamma =BrushToCopy->Gamma; Red =BrushToCopy->Red; Green =BrushToCopy->Green; Blue =BrushToCopy->Blue; LockGeometry =BrushToCopy->LockGeometry; FullFilling =BrushToCopy->FullFilling; AspectRatio =BrushToCopy->AspectRatio; GaussBlurSharpenSigma =BrushToCopy->GaussBlurSharpenSigma; BlurSharpenRadius =BrushToCopy->BlurSharpenRadius; QuickBlurSharpenSigma =BrushToCopy->QuickBlurSharpenSigma; TypeBlurSharpen =BrushToCopy->TypeBlurSharpen; Desat =BrushToCopy->Desat; Swirl =BrushToCopy->Swirl; Implode =BrushToCopy->Implode; OnOffFilter =BrushToCopy->OnOffFilter; ImageSpeedWave =BrushToCopy->ImageSpeedWave; Markers =BrushToCopy->Markers; } //==================================================================================================================== void cBrushDefinition::AddShotPartToXML(QDomElement *Element) { if (!MediaObject) return; if (MediaObject->ObjectType==OBJECTTYPE_VIDEOFILE) { Element->setAttribute("SoundVolume",QString("%1").arg(SoundVolume,0,'f')); // Volume of soundtrack (for video only) Element->setAttribute("Deinterlace",Deinterlace?"1":0); // Add a YADIF filter to deinterlace video (on/off) (for video only) } else if (MediaObject->ObjectType==OBJECTTYPE_GMAPSMAP) { // Save marker settings QDomDocument DomDocument; for (int MarkerNum=0;MarkerNumappendChild(SubElement); } } } //==================================================================================================================== void cBrushDefinition::SaveToXML(QDomElement *ParentElement,QString ElementName,QString PathForRelativPath,bool ForceAbsolutPath,cReplaceObjectList *ReplaceList,QList *ResKeyList,bool IsModel) { QDomDocument DomDocument; QDomElement Element =DomDocument.createElement(ElementName); QString BrushFileName=(MediaObject?MediaObject->FileName():""); OBJECTTYPE ObjectType =(MediaObject?MediaObject->ObjectType:OBJECTTYPE_UNMANAGED); if ((!BrushFileName.isEmpty())&&(!BrushFileName.startsWith(":/img/"))) { if (QDir::toNativeSeparators(BrushFileName).startsWith(ClipArtFolder)) { BrushFileName="%CLIPARTFOLDER%"+QDir::toNativeSeparators(BrushFileName).mid(ClipArtFolder.length()); #ifdef Q_OS_WIN BrushFileName=BrushFileName.replace("\\","/"); // Force Linux mode separator #endif } else if (QDir::toNativeSeparators(BrushFileName).startsWith(ModelFolder)) { BrushFileName="%MODELFOLDER%" +QDir::toNativeSeparators(BrushFileName).mid(ModelFolder.length()); #ifdef Q_OS_WIN BrushFileName=BrushFileName.replace("\\","/"); // Force Linux mode separator #endif } else { if (ReplaceList) { BrushFileName=ReplaceList->GetDestinationFileName(BrushFileName); } else { if ((PathForRelativPath!="")&&(BrushFileName!="")) { if (ForceAbsolutPath) BrushFileName=QDir::cleanPath(QDir(QFileInfo(PathForRelativPath).absolutePath()).absoluteFilePath(BrushFileName)); else BrushFileName=QDir::cleanPath(QDir(QFileInfo(PathForRelativPath).absolutePath()).relativeFilePath(BrushFileName)); } } } } // Attribut of the object Element.setAttribute("ObjectType",ObjectType); Element.setAttribute("TypeComposition",TypeComposition); Element.setAttribute("BrushType",BrushType); // 0=No brush !, 1=Solid one color, 2=Pattern, 3=Gradient 2 colors, 4=Gradient 3 colors switch (BrushType) { case BRUSHTYPE_PATTERN : Element.setAttribute("PatternType",PatternType); // Type of pattern when BrushType is Pattern (Qt::BrushStyle standard) Element.setAttribute("ColorD",ColorD); // First Color break; case BRUSHTYPE_GRADIENT3 : Element.setAttribute("ColorIntermed",ColorIntermed); // Intermediate Color Element.setAttribute("Intermediate",Intermediate); // Intermediate position of 2nd color (in %) case BRUSHTYPE_GRADIENT2 : Element.setAttribute("ColorF",ColorF); // Last Color Element.setAttribute("GradientOrientation",GradientOrientation); // 0=Radial, 1=Up-Left, 2=Up, 3=Up-right, 4=Right, 5=bt-right, 6=bottom, 7=bt-Left, 8=Left case BRUSHTYPE_SOLID : Element.setAttribute("ColorD",ColorD); // First Color break; case BRUSHTYPE_IMAGELIBRARY : Element.setAttribute("BrushImage",BrushImage); // Image name if image from library break; case BRUSHTYPE_IMAGEDISK : if (MediaObject) switch (MediaObject->ObjectType) { case OBJECTTYPE_VIDEOFILE: if (TypeComposition!=COMPOSITIONTYPE_SHOT) { // Global definition only ! Element.setAttribute("BrushFileName",BrushFileName); // File name if image from disk Element.setAttribute("StartPos",((cVideoFile*)MediaObject)->StartPos.toString("HH:mm:ss.zzz")); // Start position (video only) Element.setAttribute("EndPos",((cVideoFile*)MediaObject)->EndPos.toString("HH:mm:ss.zzz")); // End position (video only) } else AddShotPartToXML(&Element); break; case OBJECTTYPE_IMAGEFILE: case OBJECTTYPE_IMAGEVECTOR: if (TypeComposition!=COMPOSITIONTYPE_SHOT) { // Global definition only ! Element.setAttribute("BrushFileName",BrushFileName); // File name if image from disk Element.setAttribute("ImageOrientation",((cImageFile*)MediaObject)->ImageOrientation); } break; case OBJECTTYPE_IMAGECLIPBOARD: if (TypeComposition!=COMPOSITIONTYPE_SHOT) MediaObject->SaveToXML(&Element,"",PathForRelativPath,ForceAbsolutPath,ReplaceList,ResKeyList,IsModel); break; case OBJECTTYPE_GMAPSMAP: if (TypeComposition!=COMPOSITIONTYPE_SHOT) MediaObject->SaveToXML(&Element,"",PathForRelativPath,ForceAbsolutPath,ReplaceList,ResKeyList,IsModel); else AddShotPartToXML(&Element); break; default: break; } break; } // Image correction part QDomElement CorrectElement=DomDocument.createElement("ImageCorrection"); CorrectElement.setAttribute("X", X); // X position (in %) relative to up/left corner CorrectElement.setAttribute("Y", Y); // Y position (in %) relative to up/left corner CorrectElement.setAttribute("ZoomFactor", ZoomFactor); // Zoom factor (in %) if (ImageRotation!=DEFAULT_IMAGEROTATION) CorrectElement.setAttribute("ImageRotation", ImageRotation); // Image rotation (in °) if (Brightness!=DEFAULT_BRIGHTNESS) CorrectElement.setAttribute("Brightness", Brightness); if (Contrast!=DEFAULT_CONTRAST) CorrectElement.setAttribute("Contrast", Contrast); if (Gamma!=DEFAULT_GAMMA) CorrectElement.setAttribute("Gamma", Gamma); if (Red!=DEFAULT_RED) CorrectElement.setAttribute("Red", Red); if (Green!=DEFAULT_GREEN) CorrectElement.setAttribute("Green", Green); if (Blue!=DEFAULT_BLUE) CorrectElement.setAttribute("Blue", Blue); if (LockGeometry!=DEFAULT_LOCKGEOMETRY) CorrectElement.setAttribute("LockGeometry", LockGeometry?1:0); if (AspectRatio!=DEFAULT_ASPECTRATIO) CorrectElement.setAttribute("AspectRatio", AspectRatio); if (FullFilling!=DEFAULT_FULLFILLING) CorrectElement.setAttribute("FullFilling", FullFilling?1:0); if (TypeBlurSharpen!=DEFAULT_TYPEBLURSHARPEN) CorrectElement.setAttribute("TypeBlurSharpen", TypeBlurSharpen); if (GaussBlurSharpenSigma!=DEFAULT_GBSSIGMA) CorrectElement.setAttribute("GaussBlurSharpenSigma",GaussBlurSharpenSigma); if (BlurSharpenRadius!=DEFAULT_GBSRADIUS) CorrectElement.setAttribute("BlurSharpenRadius", BlurSharpenRadius); if (QuickBlurSharpenSigma!=DEFAULT_QBSSIGMA) CorrectElement.setAttribute("QuickBlurSharpenSigma",QuickBlurSharpenSigma); if (Desat!=DEFAULT_DESAT) CorrectElement.setAttribute("Desat", Desat); if (Swirl!=DEFAULT_SWIRL) CorrectElement.setAttribute("Swirl", Swirl); if (Implode!=DEFAULT_IMPLODE) CorrectElement.setAttribute("Implode", Implode); if (OnOffFilter!=DEFAULT_ONOFFFILTER) CorrectElement.setAttribute("OnOffFilter", OnOffFilter); if (ImageSpeedWave!=SPEEDWAVE_PROJECTDEFAULT) CorrectElement.setAttribute("ImageSpeedWave", ImageSpeedWave); Element.appendChild(CorrectElement); ParentElement->appendChild(Element); } //==================================================================================================================== bool cBrushDefinition::LoadFromXML(QDomElement *ParentElement,QString ElementName,QString PathForRelativPath,QStringList *AliasList,bool *ModifyFlag,QList *ResKeyList,bool DuplicateRes) { QString Extension,BrushFileName; bool IsValide =false; OBJECTTYPE ObjectType=OBJECTTYPE_UNMANAGED; InitDefaultValues(); if (ModifyFlag) *ModifyFlag=false; if ((ParentElement->elementsByTagName(ElementName).length()>0)&&(ParentElement->elementsByTagName(ElementName).item(0).isElement()==true)) { QDomElement Element=ParentElement->elementsByTagName(ElementName).item(0).toElement(); // Attribut of the object if (Element.hasAttribute("ObjectType")) ObjectType=(OBJECTTYPE)Element.attribute("ObjectType").toInt(); TypeComposition =Element.attribute("TypeComposition").toInt(); BrushType =Element.attribute("BrushType").toInt(); // 0=No brush !, 1=Solid one color, 2=Pattern, 3=Gradient 2 colors, 4=Gradient 3 colors switch (BrushType) { case BRUSHTYPE_PATTERN : PatternType =Element.attribute("PatternType").toInt(); // Type of pattern when BrushType is Pattern (Qt::BrushStyle standard) ColorD =Element.attribute("ColorD"); // First Color break; case BRUSHTYPE_GRADIENT3 : ColorIntermed =Element.attribute("ColorIntermed"); // Intermediate Color Intermediate =GetDoubleValue(Element,"Intermediate"); // Intermediate position of 2nd color (in %) case BRUSHTYPE_GRADIENT2 : ColorF =Element.attribute("ColorF"); // Last Color GradientOrientation =Element.attribute("GradientOrientation").toInt(); // 0=Radial, 1=Up-Left, 2=Up, 3=Up-right, 4=Right, 5=bt-right, 6=bottom, 7=bt-Left, 8=Left case BRUSHTYPE_SOLID : ColorD=Element.attribute("ColorD"); // First Color break; case BRUSHTYPE_IMAGELIBRARY : BrushImage=Element.attribute("BrushImage"); // Image name if image from library break; case BRUSHTYPE_IMAGEDISK : if (TypeComposition!=COMPOSITIONTYPE_SHOT) { // File name if image from disk BrushFileName=HTMLConverter.ToPlainText(Element.attribute("BrushFileName")); if ((!BrushFileName.isEmpty())&&(!BrushFileName.startsWith(":/img/"))) { BrushFileName=BrushFileName.replace("<%CLIPARTFOLDER%>",CAF); BrushFileName=BrushFileName.replace("%CLIPARTFOLDER%",CAF); BrushFileName=BrushFileName.replace("<%MODELFOLDER%>",MFD); BrushFileName=BrushFileName.replace("%MODELFOLDER%",MFD); if ((PathForRelativPath!="")&&(BrushFileName!="")) BrushFileName=QDir::cleanPath(QDir(PathForRelativPath).absoluteFilePath(BrushFileName)); // Fixes a previous bug in relative path #ifndef Q_OS_WIN if (BrushFileName.startsWith("/..")) { if (BrushFileName.contains("/home/")) BrushFileName=BrushFileName.mid(BrushFileName.indexOf("/home/")); if (BrushFileName.contains("/mnt/")) BrushFileName=BrushFileName.mid(BrushFileName.indexOf("/mnt/")); } #endif Extension=QFileInfo(BrushFileName).suffix().toLower(); if (ObjectType==OBJECTTYPE_UNMANAGED) { if (ApplicationConfig->AllowVideoExtension.contains(Extension.toLower())) ObjectType=OBJECTTYPE_VIDEOFILE; else if (ApplicationConfig->AllowImageExtension.contains(Extension.toLower())) ObjectType=OBJECTTYPE_IMAGEFILE; else if (ApplicationConfig->AllowImageVectorExtension.contains(Extension.toLower())) ObjectType=OBJECTTYPE_IMAGEVECTOR; } } if (MediaObject) { delete MediaObject; MediaObject=NULL; } switch (ObjectType) { case OBJECTTYPE_IMAGEFILE: MediaObject=new cImageFile(ApplicationConfig); ((cImageFile *)MediaObject)->ImageOrientation=Element.attribute("ImageOrientation").toInt(); IsValide=MediaObject->GetInformationFromFile(BrushFileName,AliasList,ModifyFlag,-1) && MediaObject->GetFullInformationFromFile(); break; case OBJECTTYPE_IMAGEVECTOR: MediaObject=new cImageFile(ApplicationConfig); ((cImageFile *)MediaObject)->ImageOrientation=Element.attribute("ImageOrientation").toInt(); IsValide=MediaObject->GetInformationFromFile(BrushFileName,AliasList,ModifyFlag,-1) && MediaObject->GetFullInformationFromFile(); break; case OBJECTTYPE_IMAGECLIPBOARD: MediaObject=new cImageClipboard(ApplicationConfig); MediaObject->LoadFromXML(&Element,"",PathForRelativPath,AliasList,ModifyFlag,ResKeyList,DuplicateRes); IsValide=MediaObject->GetInformationFromFile("",NULL,NULL,-1); break; case OBJECTTYPE_VIDEOFILE: MediaObject=new cVideoFile(ApplicationConfig); IsValide=MediaObject->GetInformationFromFile(BrushFileName,AliasList,ModifyFlag,-1) && MediaObject->GetFullInformationFromFile(); if (IsValide) { ((cVideoFile*)MediaObject)->StartPos =QTime().fromString(Element.attribute("StartPos")); // Start position (video only) ((cVideoFile*)MediaObject)->EndPos =QTime().fromString(Element.attribute("EndPos")); // End position (video only) } break; case OBJECTTYPE_GMAPSMAP: MediaObject=new cGMapsMap(ApplicationConfig); MediaObject->LoadFromXML(&Element,"",PathForRelativPath,AliasList,ModifyFlag,ResKeyList,DuplicateRes); IsValide=MediaObject->GetInformationFromFile("",NULL,NULL,-1); break; case OBJECTTYPE_UNMANAGED: default: // For compatibility with version prior to 20131127 for (int i=0;iAllowImageExtension.count();i++) if (ApplicationConfig->AllowImageExtension[i]==Extension) { MediaObject=new cImageFile(ApplicationConfig); ((cImageFile *)MediaObject)->ImageOrientation=Element.attribute("ImageOrientation").toInt(); IsValide=MediaObject->GetInformationFromFile(BrushFileName,AliasList,ModifyFlag,-1) && MediaObject->GetFullInformationFromFile(); break; } if (MediaObject==NULL) for (int i=0;iAllowImageVectorExtension.count();i++) if (ApplicationConfig->AllowImageVectorExtension[i]==Extension) { MediaObject=new cImageFile(ApplicationConfig); ((cImageFile *)MediaObject)->ImageOrientation=Element.attribute("ImageOrientation").toInt(); IsValide=MediaObject->GetInformationFromFile(BrushFileName,AliasList,ModifyFlag,-1) && MediaObject->GetFullInformationFromFile(); break; } if (MediaObject==NULL) for (int i=0;iAllowVideoExtension.count();i++) if (ApplicationConfig->AllowVideoExtension[i]==Extension) { MediaObject=new cVideoFile(ApplicationConfig); IsValide=MediaObject->GetInformationFromFile(BrushFileName,AliasList,ModifyFlag,-1) && MediaObject->GetFullInformationFromFile(); break; } break; } if ((!IsValide)&&(MediaObject)) { delete MediaObject; MediaObject=NULL; } } if ((MediaObject)&&(TypeComposition==COMPOSITIONTYPE_SHOT)) { switch (MediaObject->ObjectType) { case OBJECTTYPE_VIDEOFILE: SoundVolume=GetDoubleValue(Element,"SoundVolume"); // Volume of soundtrack (for video only) Deinterlace=Element.attribute("Deinterlace")=="1"; // Add a YADIF filter to deinterlace video (on/off) (for video only) break; case OBJECTTYPE_IMAGEFILE: case OBJECTTYPE_IMAGEVECTOR: // Old Image transformation (for compatibility with version prio to 1.5) if ((Element.elementsByTagName("ImageTransformation").length()>0)&&(Element.elementsByTagName("ImageTransformation").item(0).isElement()==true)) { QDomElement SubElement=Element.elementsByTagName("ImageTransformation").item(0).toElement(); if (SubElement.hasAttribute("BlurSigma")) GaussBlurSharpenSigma=GetDoubleValue(SubElement,"BlurSigma"); if (SubElement.hasAttribute("BlurRadius")) BlurSharpenRadius =GetDoubleValue(SubElement,"BlurRadius"); if (SubElement.hasAttribute("OnOffFilter")) OnOffFilter =SubElement.attribute("OnOffFilter").toInt(); if (GaussBlurSharpenSigma!=0) TypeBlurSharpen =1; } break; default: break; } } if ((MediaObject)&&(MediaObject->ObjectType==OBJECTTYPE_GMAPSMAP)) { // Load marker settings int MarkerNum=0; Markers.clear(); while ((Element.elementsByTagName(QString("Marker_%1").arg(MarkerNum)).length()>0)&&(Element.elementsByTagName(QString("Marker_%1").arg(MarkerNum)).item(0).isElement()==true)) { QDomElement SubElement=Element.elementsByTagName(QString("Marker_%1").arg(MarkerNum)).item(0).toElement(); sMarker Marker; if (SubElement.hasAttribute("TextColor")) Marker.TextColor=SubElement.attribute("TextColor"); if (SubElement.hasAttribute("MarkerColor")) Marker.MarkerColor=SubElement.attribute("MarkerColor"); if (SubElement.hasAttribute("LineColor")) Marker.LineColor=SubElement.attribute("LineColor"); if (SubElement.hasAttribute("Visibility")) Marker.Visibility =(sMarker::MARKERVISIBILITY)SubElement.attribute("Visibility").toInt(); Markers.append(Marker); MarkerNum++; } } break; } // Image correction part if ((Element.elementsByTagName("ImageCorrection").length()>0)&&(Element.elementsByTagName("ImageCorrection").item(0).isElement()==true)) { QDomElement CorrectElement=Element.elementsByTagName("ImageCorrection").item(0).toElement(); if (CorrectElement.hasAttribute("X")) X =GetDoubleValue(CorrectElement,"X"); // X position (in %) relative to up/left corner if (CorrectElement.hasAttribute("Y")) Y =GetDoubleValue(CorrectElement,"Y"); // Y position (in %) relative to up/left corner if (CorrectElement.hasAttribute("ZoomFactor")) ZoomFactor =GetDoubleValue(CorrectElement,"ZoomFactor"); // Zoom factor (in %) if (CorrectElement.hasAttribute("ImageRotation")) ImageRotation =GetDoubleValue(CorrectElement,"ImageRotation"); // Image rotation (in °) if (CorrectElement.hasAttribute("Brightness")) Brightness =CorrectElement.attribute("Brightness").toInt(); if (CorrectElement.hasAttribute("Contrast")) Contrast =CorrectElement.attribute("Contrast").toInt(); if (CorrectElement.hasAttribute("Gamma")) Gamma =GetDoubleValue(CorrectElement,"Gamma"); if (CorrectElement.hasAttribute("Red")) Red =CorrectElement.attribute("Red").toInt(); if (CorrectElement.hasAttribute("Green")) Green =CorrectElement.attribute("Green").toInt(); if (CorrectElement.hasAttribute("Blue")) Blue =CorrectElement.attribute("Blue").toInt(); if (CorrectElement.hasAttribute("AspectRatio")) AspectRatio =GetDoubleValue(CorrectElement,"AspectRatio"); if (CorrectElement.hasAttribute("FullFilling")) FullFilling =CorrectElement.attribute("FullFilling").toInt()==1; if (CorrectElement.hasAttribute("TypeBlurSharpen")) TypeBlurSharpen =GetDoubleValue(CorrectElement,"TypeBlurSharpen"); if (CorrectElement.hasAttribute("GaussBlurSharpenSigma")) GaussBlurSharpenSigma =GetDoubleValue(CorrectElement,"GaussBlurSharpenSigma"); if (CorrectElement.hasAttribute("BlurSharpenRadius")) BlurSharpenRadius =GetDoubleValue(CorrectElement,"BlurSharpenRadius"); if (CorrectElement.hasAttribute("QuickBlurSharpenSigma")) QuickBlurSharpenSigma =CorrectElement.attribute("QuickBlurSharpenSigma").toInt(); if (CorrectElement.hasAttribute("Desat")) Desat =GetDoubleValue(CorrectElement,"Desat"); if (CorrectElement.hasAttribute("Swirl")) Swirl =GetDoubleValue(CorrectElement,"Swirl"); if (CorrectElement.hasAttribute("Implode")) Implode =GetDoubleValue(CorrectElement,"Implode"); if (CorrectElement.hasAttribute("OnOffFilter")) OnOffFilter =CorrectElement.attribute("OnOffFilter").toInt(); if (CorrectElement.hasAttribute("ImageSpeedWave")) ImageSpeedWave =CorrectElement.attribute("ImageSpeedWave").toInt(); // If old ImageGeometry value in project file then compute LockGeometry if (CorrectElement.hasAttribute("ImageGeometry")) LockGeometry=(CorrectElement.attribute("ImageGeometry").toInt()!=2); else if (CorrectElement.hasAttribute("LockGeometry")) LockGeometry=(CorrectElement.attribute("LockGeometry").toInt()==1); // Else load saved value } return (BrushType==BRUSHTYPE_IMAGEDISK)?(MediaObject!=NULL):true; } return false; } //==================================================================================================================== int cBrushDefinition::GetImageType() { int ImageType=IMAGETYPE_UNKNOWN; if ((MediaObject)&&(MediaObject->ObjectType==OBJECTTYPE_VIDEOFILE)) { ImageType=IMAGETYPE_VIDEOLANDSCAPE; if ((qreal(MediaObject->ImageWidth)/qreal(MediaObject->ImageHeight))<1) ImageType++; } else if (MediaObject) { if ((MediaObject->ImageWidth>1080)&&(MediaObject->ImageHeight>1080)) ImageType=IMAGETYPE_PHOTOLANDSCAPE; else ImageType=IMAGETYPE_CLIPARTLANDSCAPE; if ((qreal(MediaObject->ImageWidth)/qreal(MediaObject->ImageHeight))<1) ImageType++; } return ImageType; } //==================================================================================================================== void cBrushDefinition::ApplyMaskToImageToWorkspace(QImage *SrcImage,QRectF CurSelRect,int BackgroundForm,int AutoFramingStyle) { // Create shape mask int RowHeight=SrcImage->width(); QImage Image(RowHeight,RowHeight,QImage::Format_ARGB32_Premultiplied); QPainter PainterImg; PainterImg.begin(&Image); PainterImg.setPen(Qt::NoPen); PainterImg.fillRect(QRect(0,0,RowHeight,RowHeight),QBrush(0x555555)); PainterImg.setBrush(Qt::transparent); PainterImg.setCompositionMode(QPainter::CompositionMode_Source); QList List=ComputePolygon(BackgroundForm,CurSelRect.left(),CurSelRect.top(),CurSelRect.width(),CurSelRect.height()); for (int i=0;i=0)&&(AutoFramingStylewidth()-IconGeoImage.width()-2,SrcImage->height()-IconGeoImage.height()-2,IconGeoImage); P.end(); } } void cBrushDefinition::ApplyMaskToImageToWorkspace(QImage *SrcImage,int AutoFramingStyle,int BackgroundForm,int WantedSize,qreal maxw,qreal maxh,qreal minw,qreal minh,qreal X,qreal Y,qreal ZoomFactor,qreal AspectRatio,qreal ProjectGeometry) { QRectF CurSelRect; switch (AutoFramingStyle) { case AUTOFRAMING_CUSTOMUNLOCK : CurSelRect=QRectF(WantedSize*X,WantedSize*Y,WantedSize*ZoomFactor-1,WantedSize*ZoomFactor*AspectRatio-1); break; case AUTOFRAMING_CUSTOMLOCK : CurSelRect=QRectF(WantedSize*X,WantedSize*Y,WantedSize*ZoomFactor-1,WantedSize*ZoomFactor*AspectRatio-1); break; case AUTOFRAMING_CUSTOMIMGLOCK : CurSelRect=QRectF(WantedSize*X,WantedSize*Y,WantedSize*ZoomFactor-1,WantedSize*ZoomFactor*(maxh/maxw)-1); break; case AUTOFRAMING_CUSTOMPRJLOCK : CurSelRect=QRectF(WantedSize*X,WantedSize*Y,WantedSize*ZoomFactor-1,WantedSize*ZoomFactor*ProjectGeometry-1); break; case AUTOFRAMING_FULLMAX : CurSelRect=QRectF((WantedSize-maxw)/2,(WantedSize-maxh)/2,maxw-1,maxh-1); break; case AUTOFRAMING_FULLMIN : CurSelRect=QRectF((WantedSize-minw)/2,(WantedSize-minh)/2,minw-1,minh-1); break; case AUTOFRAMING_HEIGHTLEFTMAX : CurSelRect=QRectF((WantedSize-maxw)/2,(WantedSize-maxh)/2,maxh/ProjectGeometry-1,maxh-1); break; case AUTOFRAMING_HEIGHTLEFTMIN : CurSelRect=QRectF((WantedSize-minw)/2,(WantedSize-minh)/2,minh/ProjectGeometry-1,minh-1); break; case AUTOFRAMING_HEIGHTMIDLEMAX : CurSelRect=QRectF((WantedSize-(maxh/ProjectGeometry))/2,(WantedSize-maxh)/2,maxh/ProjectGeometry-1,maxh-1); break; case AUTOFRAMING_HEIGHTMIDLEMIN : CurSelRect=QRectF((WantedSize-(minh/ProjectGeometry))/2,(WantedSize-minh)/2,minh/ProjectGeometry-1,minh-1); break; case AUTOFRAMING_HEIGHTRIGHTMAX : CurSelRect=QRectF(WantedSize-(maxh/ProjectGeometry)-(WantedSize-maxw)/2,(WantedSize-maxh)/2,maxh/ProjectGeometry-1,maxh-1); break; case AUTOFRAMING_HEIGHTRIGHTMIN : CurSelRect=QRectF(WantedSize-(minh/ProjectGeometry)-(WantedSize-minw)/2,(WantedSize-minh)/2,minh/ProjectGeometry-1,minh-1); break; case AUTOFRAMING_WIDTHTOPMAX : CurSelRect=QRectF((WantedSize-maxw)/2,(WantedSize-maxh)/2,maxw-1,maxw*ProjectGeometry-1); break; case AUTOFRAMING_WIDTHTOPMIN : CurSelRect=QRectF((WantedSize-minw)/2,(WantedSize-minh)/2,minw-1,minw*ProjectGeometry-1); break; case AUTOFRAMING_WIDTHMIDLEMAX : CurSelRect=QRectF((WantedSize-maxw)/2,(WantedSize-(maxw*ProjectGeometry))/2,maxw-1,maxw*ProjectGeometry-1); break; case AUTOFRAMING_WIDTHMIDLEMIN : CurSelRect=QRectF((WantedSize-minw)/2,(WantedSize-(minw*ProjectGeometry))/2,minw-1,minw*ProjectGeometry-1); break; case AUTOFRAMING_WIDTHBOTTOMMAX : CurSelRect=QRectF((WantedSize-maxw)/2,WantedSize-(maxw*ProjectGeometry)-(WantedSize-maxh)/2,maxw-1,maxw*ProjectGeometry-1); break; case AUTOFRAMING_WIDTHBOTTOMMIN : CurSelRect=QRectF((WantedSize-minw)/2,WantedSize-(minw*ProjectGeometry)-(WantedSize-minh)/2,minw-1,minw*ProjectGeometry-1); break; default : return; } ApplyMaskToImageToWorkspace(SrcImage,CurSelRect,BackgroundForm,AutoFramingStyle); } int cBrushDefinition::GetCurrentFramingStyle(qreal ProjectGeometry) { qreal dmax,maxw,maxh,minw,minh,x1,x2,x3,x4,y1,y2,y3,y4; if (!CalcWorkspace(dmax,maxw,maxh,minw,minh,x1,x2,x3,x4,y1,y2,y3,y4)) return -1; int aX=X*dmax; int aY=Y*dmax; int aW=dmax*ZoomFactor; int aH=dmax*ZoomFactor*AspectRatio; if (!LockGeometry) return AUTOFRAMING_CUSTOMUNLOCK; if ((aX==int((dmax-maxw)/2)) &&(aY==int((dmax-maxh)/2)) &&(aW==int(maxw)) &&(aH==int(maxh))) return AUTOFRAMING_FULLMAX; else if ((aX==int((dmax-minw)/2)) &&(aY==int((dmax-minh)/2)) &&(aW==int(minw)) &&(aH==int(minh))) return AUTOFRAMING_FULLMIN; else if ((aX==int((dmax-maxw)/2)) &&(aY==int((dmax-maxh)/2)) &&(aW==int(maxh/ProjectGeometry))&&(aH==int(maxh))) return AUTOFRAMING_HEIGHTLEFTMAX; else if ((aX==int((dmax-minw)/2)) &&(aY==int((dmax-minh)/2)) &&(aW==int(minh/ProjectGeometry))&&(aH==int(minh))) return AUTOFRAMING_HEIGHTLEFTMIN; else if ((aX==int((dmax-(maxh/ProjectGeometry))/2)) &&(aY==int((dmax-maxh)/2)) &&(aW==int(maxh/ProjectGeometry))&&(aH==int(maxh))) return AUTOFRAMING_HEIGHTMIDLEMAX; else if ((aX==int((dmax-(minh/ProjectGeometry))/2)) &&(aY==int((dmax-minh)/2)) &&(aW==int(minh/ProjectGeometry))&&(aH==int(minh))) return AUTOFRAMING_HEIGHTMIDLEMIN; else if ((aX==int(dmax-(maxh/ProjectGeometry)-(dmax-maxw)/2))&&(aY==int((dmax-maxh)/2)) &&(aW==int(maxh/ProjectGeometry))&&(aH==int(maxh))) return AUTOFRAMING_HEIGHTRIGHTMAX; else if ((aX==int(dmax-(minh/ProjectGeometry)-(dmax-minw)/2))&&(aY==int((dmax-minh)/2)) &&(aW==int(minh/ProjectGeometry))&&(aH==int(minh))) return AUTOFRAMING_HEIGHTRIGHTMIN; else if ((aX==int((dmax-maxw)/2)) &&(aY==int((dmax-maxh)/2)) &&(aW==int(maxw)) &&(aH==int(maxw*ProjectGeometry))) return AUTOFRAMING_WIDTHTOPMAX; else if ((aX==int((dmax-minw)/2)) &&(aY==int((dmax-minh)/2)) &&(aW==int(minw)) &&(aH==int(minw*ProjectGeometry))) return AUTOFRAMING_WIDTHTOPMIN; else if ((aX==int((dmax-maxw)/2)) &&(aY==int((dmax-(maxw*ProjectGeometry))/2)) &&(aW==int(maxw)) &&(aH==int(maxw*ProjectGeometry))) return AUTOFRAMING_WIDTHMIDLEMAX; else if ((aX==int((dmax-minw)/2)) &&(aY==int((dmax-(minw*ProjectGeometry))/2)) &&(aW==int(minw)) &&(aH==int(minw*ProjectGeometry))) return AUTOFRAMING_WIDTHMIDLEMIN; else if ((aX==int((dmax-maxw)/2)) &&(aY==int(dmax-(maxw*ProjectGeometry)-(dmax-maxh)/2)) &&(aW==int(maxw)) &&(aH==int(maxw*ProjectGeometry))) return AUTOFRAMING_WIDTHBOTTOMMAX; else if ((aX==int((dmax-minw)/2)) &&(aY==int(dmax-(minw*ProjectGeometry)-(dmax-minh)/2)) &&(aW==int(minw)) &&(aH==int(minw*ProjectGeometry))) return AUTOFRAMING_WIDTHBOTTOMMIN; else if (AspectRatio==(maxh/maxw)) return AUTOFRAMING_CUSTOMIMGLOCK; else if (AspectRatio==ProjectGeometry) return AUTOFRAMING_CUSTOMPRJLOCK; else return AUTOFRAMING_CUSTOMLOCK; } //==================================================================================================================== QImage *cBrushDefinition::ImageToWorkspace(QImage *SrcImage,int WantedSize,qreal &maxw,qreal &maxh,qreal &minw,qreal &minh,qreal &x1,qreal &x2,qreal &x3,qreal &x4,qreal &y1,qreal &y2,qreal &y3,qreal &y4) { QImage *RetImage =NULL; QImage *SourceImage=NULL; qreal Hyp =sqrt(qreal(SrcImage->width())*qreal(SrcImage->width())+qreal(SrcImage->height())*qreal(SrcImage->height())); // Calc hypothenuse of the image to define full canvas qreal DstX,DstY,DstW,DstH; // calc rectangle before rotation qreal rx=qreal(SrcImage->width())*(WantedSize/Hyp)/2; qreal ry=qreal(SrcImage->height())*(WantedSize/Hyp)/2; //RotatePoint.X = ((Pt.X - Centre.X) * Cos(AngCrad) - (Pt.Y - Centre.Y) * Sin(AngCrad) + Centre.X) //RotatePoint.Y = ((Pt.X - Centre.X) * Sin(AngCrad) + (Pt.Y - Centre.Y) * Cos(AngCrad) + Centre.Y) qreal xtab[4],ytab[4]; xtab[0]=-rx*cos((ImageRotation)*PI/180)+ry*sin(ImageRotation*PI/180)+WantedSize/2; xtab[1]=+rx*cos((ImageRotation)*PI/180)+ry*sin(ImageRotation*PI/180)+WantedSize/2; xtab[2]=-rx*cos((ImageRotation)*PI/180)-ry*sin(ImageRotation*PI/180)+WantedSize/2; xtab[3]=+rx*cos((ImageRotation)*PI/180)-ry*sin(ImageRotation*PI/180)+WantedSize/2; ytab[0]=-rx*sin((ImageRotation)*PI/180)+ry*cos(ImageRotation*PI/180)+WantedSize/2; ytab[1]=+rx*sin((ImageRotation)*PI/180)+ry*cos(ImageRotation*PI/180)+WantedSize/2; ytab[2]=-rx*sin((ImageRotation)*PI/180)-ry*cos(ImageRotation*PI/180)+WantedSize/2; ytab[3]=+rx*sin((ImageRotation)*PI/180)-ry*cos(ImageRotation*PI/180)+WantedSize/2; // Sort xtab and ytab for (int i=0;i<4;i++) for (int j=0;j<3;j++) { if (xtab[j]>xtab[j+1]) { qreal a=xtab[j+1]; xtab[j+1]=xtab[j]; xtab[j]=a; } if (ytab[j]>ytab[j+1]) { qreal a=ytab[j+1]; ytab[j+1]=ytab[j]; ytab[j]=a; } } maxw=xtab[3]-xtab[0]; minw=xtab[2]-xtab[1]; maxh=ytab[3]-ytab[0]; minh=ytab[2]-ytab[1]; // Rotate image if needed and create a SourceImage if (ImageRotation!=0) { QTransform matrix; matrix.rotate(ImageRotation,Qt::ZAxis); SourceImage=new QImage(SrcImage->transformed(matrix,Qt::SmoothTransformation)); // If no rotation then SourceImage=SrcImage } else SourceImage=SrcImage; // Calc coordinates of the part in the source image qreal RealImageW=qreal(SourceImage->width()); // Get real image widht qreal RealImageH=qreal(SourceImage->height()); // Get real image height DstX=((Hyp-RealImageW)/2)*(WantedSize/Hyp); DstY=((Hyp-RealImageH)/2)*(WantedSize/Hyp); DstW=RealImageW*(WantedSize/Hyp); DstH=RealImageH*(WantedSize/Hyp); QImage ToUseImage=SourceImage->scaled(DstW,DstH); if (SourceImage!=SrcImage) delete SourceImage; if (ToUseImage.format()!=QImage::Format_ARGB32_Premultiplied) ToUseImage=ToUseImage.convertToFormat(QImage::Format_ARGB32_Premultiplied); ToUseImage=ApplyFilter(ToUseImage); RetImage=new QImage(WantedSize,WantedSize,QImage::Format_ARGB32_Premultiplied); QPainter P; P.begin(RetImage); P.fillRect(QRectF(0,0,WantedSize,WantedSize),Transparent); P.drawImage(QRectF(DstX,DstY,DstW,DstH),ToUseImage,QRectF(0,0,DstW,DstH)); P.end(); x1=xtab[0]; y1=ytab[0]; x2=xtab[1]; y2=ytab[1]; x3=xtab[2]; y3=ytab[2]; x4=xtab[3]; y4=ytab[3]; return RetImage; } //==================================================================================================================== bool cBrushDefinition::CalcWorkspace(qreal &dmax,qreal &maxw,qreal &maxh,qreal &minw,qreal &minh,qreal &x1,qreal &x2,qreal &x3,qreal &x4,qreal &y1,qreal &y2,qreal &y3,qreal &y4) { int ImgWidth =MediaObject?MediaObject->ImageWidth:0; int ImgHeight=MediaObject?MediaObject->ImageHeight:0; if ((MediaObject)&&(MediaObject->ObjectType==OBJECTTYPE_VIDEOFILE)&&(ImgWidth==1920)&&(ImgHeight=1088)&&(ApplicationConfig->Crop1088To1080)) ImgHeight=1080; if ((ImgWidth==0)||(ImgHeight==0)) return false; dmax=sqrt(qreal(ImgWidth)*qreal(ImgWidth)+qreal(ImgHeight)*qreal(ImgHeight)); // Calc hypothenuse of the image to define full canvas // calc rectangle before rotation qreal rx=qreal(ImgWidth)/2; qreal ry=qreal(ImgHeight)/2; qreal xtab[4],ytab[4]; xtab[0]=-rx*cos((ImageRotation)*PI/180)+ry*sin(ImageRotation*PI/180)+dmax/2; xtab[1]=+rx*cos((ImageRotation)*PI/180)+ry*sin(ImageRotation*PI/180)+dmax/2; xtab[2]=-rx*cos((ImageRotation)*PI/180)-ry*sin(ImageRotation*PI/180)+dmax/2; xtab[3]=+rx*cos((ImageRotation)*PI/180)-ry*sin(ImageRotation*PI/180)+dmax/2; ytab[0]=-rx*sin((ImageRotation)*PI/180)+ry*cos(ImageRotation*PI/180)+dmax/2; ytab[1]=+rx*sin((ImageRotation)*PI/180)+ry*cos(ImageRotation*PI/180)+dmax/2; ytab[2]=-rx*sin((ImageRotation)*PI/180)-ry*cos(ImageRotation*PI/180)+dmax/2; ytab[3]=+rx*sin((ImageRotation)*PI/180)-ry*cos(ImageRotation*PI/180)+dmax/2; // Sort xtab and ytab for (int i=0;i<4;i++) for (int j=0;j<3;j++) { if (xtab[j]>xtab[j+1]) { qreal a=xtab[j+1]; xtab[j+1]=xtab[j]; xtab[j]=a; } if (ytab[j]>ytab[j+1]) { qreal a=ytab[j+1]; ytab[j+1]=ytab[j]; ytab[j]=a; } } maxw=xtab[3]-xtab[0]; minw=xtab[2]-xtab[1]; maxh=ytab[3]-ytab[0]; minh=ytab[2]-ytab[1]; x1=xtab[0]; y1=ytab[0]; x2=xtab[1]; y2=ytab[1]; x3=xtab[2]; y3=ytab[2]; x4=xtab[3]; y4=ytab[3]; return true; } //==================================================================================================================== void cBrushDefinition::ApplyAutoFraming(int AutoAdjust,qreal ProjectGeometry) { switch (AutoAdjust) { case AUTOFRAMING_FULLMAX : s_AdjustWH(); break; case AUTOFRAMING_FULLMIN : s_AdjustMinWH(); break; case AUTOFRAMING_HEIGHTLEFTMAX : s_AdjustHLeft(ProjectGeometry); break; case AUTOFRAMING_HEIGHTLEFTMIN : s_AdjustMinHLeft(ProjectGeometry); break; case AUTOFRAMING_HEIGHTMIDLEMAX : s_AdjustHMidle(ProjectGeometry); break; case AUTOFRAMING_HEIGHTMIDLEMIN : s_AdjustMinHMidle(ProjectGeometry); break; case AUTOFRAMING_HEIGHTRIGHTMAX : s_AdjustHRight(ProjectGeometry); break; case AUTOFRAMING_HEIGHTRIGHTMIN : s_AdjustMinHRight(ProjectGeometry); break; case AUTOFRAMING_WIDTHTOPMAX : s_AdjustWTop(ProjectGeometry); break; case AUTOFRAMING_WIDTHTOPMIN : s_AdjustMinWTop(ProjectGeometry); break; case AUTOFRAMING_WIDTHMIDLEMAX : s_AdjustWMidle(ProjectGeometry); break; case AUTOFRAMING_WIDTHMIDLEMIN : s_AdjustMinWMidle(ProjectGeometry); break; case AUTOFRAMING_WIDTHBOTTOMMAX : s_AdjustWBottom(ProjectGeometry); break; case AUTOFRAMING_WIDTHBOTTOMMIN : s_AdjustMinWBottom(ProjectGeometry); break; } } void cBrushDefinition::s_AdjustWTop(qreal ProjectGeometry) { qreal dmax,maxw,maxh,minw,minh,x1,x2,x3,x4,y1,y2,y3,y4; if (!CalcWorkspace(dmax,maxw,maxh,minw,minh,x1,x2,x3,x4,y1,y2,y3,y4)) return; LockGeometry=true; AspectRatio =ProjectGeometry; qreal W=maxw; //qreal H=W*AspectRatio; X=((dmax-W)/2)/dmax; Y=((dmax-maxh)/2)/dmax; ZoomFactor=W/dmax; } void cBrushDefinition::s_AdjustMinWTop(qreal ProjectGeometry) { qreal dmax,maxw,maxh,minw,minh,x1,x2,x3,x4,y1,y2,y3,y4; if (!CalcWorkspace(dmax,maxw,maxh,minw,minh,x1,x2,x3,x4,y1,y2,y3,y4)) return; LockGeometry=true; AspectRatio =ProjectGeometry; qreal W=minw; //qreal H=W*AspectRatio; X=((dmax-W)/2)/dmax; Y=((dmax-minh)/2)/dmax; ZoomFactor=W/dmax; } void cBrushDefinition::s_AdjustWMidle(qreal ProjectGeometry) { qreal dmax,maxw,maxh,minw,minh,x1,x2,x3,x4,y1,y2,y3,y4; if (!CalcWorkspace(dmax,maxw,maxh,minw,minh,x1,x2,x3,x4,y1,y2,y3,y4)) return; LockGeometry=true; AspectRatio =ProjectGeometry; qreal W=maxw; qreal H=W*AspectRatio; X=((dmax-W)/2)/dmax; Y=((dmax-H)/2)/dmax; ZoomFactor=W/dmax; } void cBrushDefinition::s_AdjustMinWMidle(qreal ProjectGeometry) { qreal dmax,maxw,maxh,minw,minh,x1,x2,x3,x4,y1,y2,y3,y4; if (!CalcWorkspace(dmax,maxw,maxh,minw,minh,x1,x2,x3,x4,y1,y2,y3,y4)) return; LockGeometry=true; AspectRatio =ProjectGeometry; qreal W=minw; qreal H=W*AspectRatio; X=((dmax-W)/2)/dmax; Y=((dmax-H)/2)/dmax; ZoomFactor=W/dmax; } void cBrushDefinition::s_AdjustWBottom(qreal ProjectGeometry) { qreal dmax,maxw,maxh,minw,minh,x1,x2,x3,x4,y1,y2,y3,y4; if (!CalcWorkspace(dmax,maxw,maxh,minw,minh,x1,x2,x3,x4,y1,y2,y3,y4)) return; LockGeometry=true; AspectRatio =ProjectGeometry; qreal W=maxw; qreal H=W*AspectRatio; X=((dmax-W)/2)/dmax; Y=(dmax-H-(dmax-maxh)/2)/dmax; ZoomFactor=W/dmax; } void cBrushDefinition::s_AdjustMinWBottom(qreal ProjectGeometry) { qreal dmax,maxw,maxh,minw,minh,x1,x2,x3,x4,y1,y2,y3,y4; if (!CalcWorkspace(dmax,maxw,maxh,minw,minh,x1,x2,x3,x4,y1,y2,y3,y4)) return; LockGeometry=true; AspectRatio =ProjectGeometry; qreal W=minw; qreal H=W*AspectRatio; X=((dmax-W)/2)/dmax; Y=(dmax-H-(dmax-minh)/2)/dmax; ZoomFactor=W/dmax; } //==================================================================================================================== void cBrushDefinition::s_AdjustHLeft(qreal ProjectGeometry) { qreal dmax,maxw,maxh,minw,minh,x1,x2,x3,x4,y1,y2,y3,y4; if (!CalcWorkspace(dmax,maxw,maxh,minw,minh,x1,x2,x3,x4,y1,y2,y3,y4)) return; LockGeometry=true; AspectRatio =ProjectGeometry; qreal H=maxh; qreal W=H/AspectRatio; X=((dmax-maxw)/2)/dmax; Y=((dmax-H)/2)/dmax; ZoomFactor=W/dmax; } void cBrushDefinition::s_AdjustMinHLeft(qreal ProjectGeometry) { qreal dmax,maxw,maxh,minw,minh,x1,x2,x3,x4,y1,y2,y3,y4; if (!CalcWorkspace(dmax,maxw,maxh,minw,minh,x1,x2,x3,x4,y1,y2,y3,y4)) return; LockGeometry=true; AspectRatio =ProjectGeometry; qreal H=minh; qreal W=H/AspectRatio; X=((dmax-minw)/2)/dmax; Y=((dmax-H)/2)/dmax; ZoomFactor=W/dmax; } void cBrushDefinition::s_AdjustHMidle(qreal ProjectGeometry) { qreal dmax,maxw,maxh,minw,minh,x1,x2,x3,x4,y1,y2,y3,y4; if (!CalcWorkspace(dmax,maxw,maxh,minw,minh,x1,x2,x3,x4,y1,y2,y3,y4)) return; LockGeometry=true; AspectRatio =ProjectGeometry; qreal H=maxh; qreal W=H/AspectRatio; X=((dmax-W)/2)/dmax; Y=((dmax-H)/2)/dmax; ZoomFactor=W/dmax; } void cBrushDefinition::s_AdjustMinHMidle(qreal ProjectGeometry) { qreal dmax,maxw,maxh,minw,minh,x1,x2,x3,x4,y1,y2,y3,y4; if (!CalcWorkspace(dmax,maxw,maxh,minw,minh,x1,x2,x3,x4,y1,y2,y3,y4)) return; LockGeometry=true; AspectRatio =ProjectGeometry; qreal H=minh; qreal W=H/AspectRatio; X=((dmax-W)/2)/dmax; Y=((dmax-H)/2)/dmax; ZoomFactor=W/dmax; } void cBrushDefinition::s_AdjustHRight(qreal ProjectGeometry) { qreal dmax,maxw,maxh,minw,minh,x1,x2,x3,x4,y1,y2,y3,y4; if (!CalcWorkspace(dmax,maxw,maxh,minw,minh,x1,x2,x3,x4,y1,y2,y3,y4)) return; LockGeometry=true; AspectRatio =ProjectGeometry; qreal H=maxh; qreal W=H/AspectRatio; X=(dmax-W-(dmax-maxw)/2)/dmax; Y=((dmax-H)/2)/dmax; ZoomFactor=W/dmax; } void cBrushDefinition::s_AdjustMinHRight(qreal ProjectGeometry) { qreal dmax,maxw,maxh,minw,minh,x1,x2,x3,x4,y1,y2,y3,y4; if (!CalcWorkspace(dmax,maxw,maxh,minw,minh,x1,x2,x3,x4,y1,y2,y3,y4)) return; LockGeometry=true; AspectRatio =ProjectGeometry; qreal H=minh; qreal W=H/AspectRatio; X=(dmax-W-(dmax-minw)/2)/dmax; Y=((dmax-H)/2)/dmax; ZoomFactor=W/dmax; } //==================================================================================================================== void cBrushDefinition::s_AdjustWH() { qreal dmax,maxw,maxh,minw,minh,x1,x2,x3,x4,y1,y2,y3,y4; if (!CalcWorkspace(dmax,maxw,maxh,minw,minh,x1,x2,x3,x4,y1,y2,y3,y4)) return; LockGeometry=true; AspectRatio =maxh/maxw; qreal W=maxw; qreal H=W*AspectRatio; X=((dmax-W)/2)/dmax; Y=((dmax-H)/2)/dmax; ZoomFactor=W/dmax; } void cBrushDefinition::s_AdjustMinWH() { qreal dmax,maxw,maxh,minw,minh,x1,x2,x3,x4,y1,y2,y3,y4; if (!CalcWorkspace(dmax,maxw,maxh,minw,minh,x1,x2,x3,x4,y1,y2,y3,y4)) return; LockGeometry=true; AspectRatio =minh/minw; qreal W=minw; qreal H=W*AspectRatio; X=((dmax-W)/2)/dmax; Y=((dmax-H)/2)/dmax; ZoomFactor=W/dmax; } //==================================================================================================================== void *cBrushDefinition::GetDiaporamaObject() { QObject *Object=CompositionObject; while ((Object)&&(Object->objectName()!="cDiaporamaObject")) Object=Object->parent(); return Object; } void *cBrushDefinition::GetDiaporama() { cDiaporamaObject *Object=(cDiaporamaObject *)GetDiaporamaObject(); if (Object) return Object->Parent; else return NULL; } //==================================================================================================================== void cBrushDefinition::GetRealLocation(void **Location,void **RealLocation) { *RealLocation=*Location; if ((*Location)&&(((cLocation *)(*Location))->LocationType==cLocation::PROJECT)) { cDiaporama *Diaporama=(cDiaporama *)GetDiaporama(); if (Diaporama) *RealLocation=Diaporama->ProjectInfo->Location; } else if ((*Location)&&(((cLocation *)(*Location))->LocationType==cLocation::CHAPTER)) { cDiaporamaObject *DiaporamaObject=(cDiaporamaObject *)GetDiaporamaObject(); if (DiaporamaObject) { cDiaporamaObject *ChapterObject=DiaporamaObject->Parent->GetChapterDefObject(DiaporamaObject); if ((ChapterObject)&&(ChapterObject->ChapterLocation)) *RealLocation=ChapterObject->ChapterLocation; else if (DiaporamaObject) *RealLocation=DiaporamaObject->Parent->ProjectInfo->Location; } } } //==================================================================================================================== void cBrushDefinition::DrawMarker(QPainter *Painter,QPoint Position,int MarkerNum,sMarker::MARKERVISIBILITY Visibility,QSize MarkerSize,cBrushDefinition::sMarker::MARKERSIZE Size,bool DisplayType) { if ((MarkerNum<0)||(MarkerNum>=Markers.count())||(Visibility==sMarker::MARKERHIDE)||(!MediaObject)||(MediaObject->ObjectType!=OBJECTTYPE_GMAPSMAP)) return; cLocation *Location=((cLocation *)((cGMapsMap *)MediaObject)->List[MarkerNum]); cLocation *RealLoc =NULL; GetRealLocation((void **)&Location,(void **)&RealLoc); if (!Location) return; bool HaveIcon=(Visibility==sMarker::MARKERTABLE)||(Location->MarkerCompo==cLocation::ICONNAMEADDR)||(Location->MarkerCompo==cLocation::ICONNAME)||(Location->MarkerCompo==cLocation::ICON); bool HaveName=(Visibility==sMarker::MARKERTABLE)||(Location->MarkerCompo==cLocation::ICONNAMEADDR)||(Location->MarkerCompo==cLocation::ICONNAME)||(Location->MarkerCompo==cLocation::NAME)||(Location->MarkerCompo==cLocation::NAMEADDR); bool HaveAddr=(Visibility==sMarker::MARKERTABLE)||(Location->MarkerCompo==cLocation::ICONNAMEADDR)||(Location->MarkerCompo==cLocation::NAMEADDR)||(Location->MarkerCompo==cLocation::ADDR); cLocation::LOCATIONTYPE Type=(Location!=NULL?Location->LocationType:cLocation::FREE); QFont FontNormal,FontBold; QTextOption OptionText; int IconSize,Spacer,CornerSize; double FontSize; QString Name =RealLoc!=NULL?RealLoc->Name:QApplication::translate("cBrushDefinition","Error: Project's location no set"); QString Address=RealLoc!=NULL?RealLoc->FriendlyAddress:QApplication::translate("cBrushDefinition","Error: Project's location no set"); sMarker::MARKERSIZE sSize=(Visibility==sMarker::MARKERTABLE?sMarker::MEDIUM:Size); if ((DisplayType)&&(Type==cLocation::PROJECT)) { Name=QApplication::translate("cBrushDefinition","Project's location (%1)").arg(Name); Address=QApplication::translate("cBrushDefinition","Project's location (%1)").arg(Address); } else if ((DisplayType)&&(Type==cLocation::CHAPTER)) { Name =QApplication::translate("cBrushDefinition","Chapter's location (%1)").arg(Name); Address=QApplication::translate("cBrushDefinition","Chapter's location (%1)").arg(Address); } // Setup FontFactor switch (sSize) { case cBrushDefinition::sMarker::SMALL: IconSize=24; FontSize=90; Spacer=3; CornerSize=6; break; case cBrushDefinition::sMarker::MEDIUM: IconSize=32; FontSize=120; Spacer=3; CornerSize=8; break; case cBrushDefinition::sMarker::LARGE: IconSize=48; FontSize=180; Spacer=4; CornerSize=12; break; case cBrushDefinition::sMarker::VERYLARGE: IconSize=64; FontSize=240; Spacer=4; CornerSize=16; break; } if ((Visibility==sMarker::MARKERTABLE)||(Location->MarkerForm!=cLocation::MARKERFORMBUBLE)) CornerSize=0; // Draw icon if (HaveIcon) { QImage Icon =RealLoc!=NULL?RealLoc->GetThumb(IconSize):QImage(); if (!Icon.isNull()) Painter->drawImage(Position.x()+Spacer+CornerSize/2,Position.y()+Spacer+CornerSize/2,Icon); } else IconSize=0; int XText=Spacer*(HaveIcon?2:1)+IconSize+CornerSize/2; OptionText=QTextOption(Qt::AlignLeft|Qt::AlignVCenter); // Setup alignement OptionText.setWrapMode(QTextOption::NoWrap); // Setup word wrap text option Painter->setPen(QPen(QColor(Markers[MarkerNum].TextColor))); if (HaveAddr) { FontNormal=QFont("Sans serif",9,QFont::Normal,false); // Font size is adjusted after #ifdef Q_OS_WIN FontNormal.setPointSizeF(double(FontSize)/ScaleFontAdjust); // Scale font #else FontNormal.setPointSizeF((double(FontSize)/ScaleFontAdjust)*ScreenFontAdjust); // Scale font #endif Painter->setFont(FontNormal); Painter->drawText(QRect(Position.x()+XText,Position.y()+MarkerSize.height()-Spacer-CornerSize/2-QFontMetrics(FontNormal).height(), MarkerSize.width()-Spacer-XText,QFontMetrics(FontNormal).height()),Address,OptionText); } if (HaveName) { if (!HaveAddr && HaveIcon) FontSize=FontSize*2; FontBold =QFont("Sans serif",9,QFont::Bold, false); // Font size is adjusted after #ifdef Q_OS_WIN FontBold.setPointSizeF(double(FontSize*1.1)/ScaleFontAdjust); // Scale font #else FontBold.setPointSizeF((double(FontSize*1.1)/ScaleFontAdjust)*ScreenFontAdjust); // Scale font #endif Painter->setFont(FontBold); int H=(HaveIcon?(HaveAddr?IconSize/2:IconSize):QFontMetrics(FontBold).height()); Painter->drawText(QRect(Position.x()+XText,Position.y()+Spacer+CornerSize/2, MarkerSize.width()-Spacer-XText,H),Name,OptionText); } } //===================================================================================================== void cBrushDefinition::ComputeMarkerSize(void *Loc,QSize MapImageSize) { QFont FontNormal,FontBold; int IconSize,Spacer,NameWidth,AddressWidth,FullSpacer,H,CornerSize; double FontSize; cLocation *Location=(cLocation *)Loc; cLocation *RealLoc =NULL; GetRealLocation((void **)&Location,(void **)&RealLoc); if (!Location) return; bool HaveIcon=(Location->MarkerCompo==cLocation::ICONNAMEADDR)||(Location->MarkerCompo==cLocation::ICONNAME)||(Location->MarkerCompo==cLocation::ICON); bool HaveName=(Location->MarkerCompo==cLocation::ICONNAMEADDR)||(Location->MarkerCompo==cLocation::ICONNAME)||(Location->MarkerCompo==cLocation::NAME)||(Location->MarkerCompo==cLocation::NAMEADDR); bool HaveAddr=(Location->MarkerCompo==cLocation::ICONNAMEADDR)||(Location->MarkerCompo==cLocation::NAMEADDR)||(Location->MarkerCompo==cLocation::ADDR); QString Name =RealLoc!=NULL?RealLoc->Name:QApplication::translate("cBrushDefinition","Error: Project's location no set"); QString Address=RealLoc!=NULL?RealLoc->FriendlyAddress:QApplication::translate("cBrushDefinition","Error: Project's location no set"); // Setup FontFactor switch (Location->Size) { case cBrushDefinition::sMarker::SMALL: IconSize=24; FontSize=90; Spacer=3; CornerSize=6; break; case cBrushDefinition::sMarker::MEDIUM: IconSize=32; FontSize=120; Spacer=3; CornerSize=8; break; case cBrushDefinition::sMarker::LARGE: IconSize=48; FontSize=180; Spacer=4; CornerSize=12; break; case cBrushDefinition::sMarker::VERYLARGE: default: IconSize=64; FontSize=240; Spacer=4; CornerSize=16; break; } if (!HaveIcon) IconSize=0; if (Location->MarkerForm!=cLocation::MARKERFORMBUBLE) CornerSize=0; // Setup fonts if (HaveAddr) { FontNormal=QFont("Sans serif",9,QFont::Normal,false); // Font size is adjusted after #ifdef Q_OS_WIN FontNormal.setPointSizeF(double(FontSize)/ScaleFontAdjust); // Scale font #else FontNormal.setPointSizeF((double(FontSize)/ScaleFontAdjust)*ScreenFontAdjust); // Scale font #endif QFontMetrics fmn(FontNormal); AddressWidth=fmn.boundingRect(QRect(0,0,MapImageSize.width(),MapImageSize.height()),0,Address).width()*1.02; } else AddressWidth=0; if (HaveName) { if (!HaveAddr && HaveIcon) FontSize=FontSize*2; FontBold =QFont("Sans serif",9,QFont::Bold, false); // Font size is adjusted after #ifdef Q_OS_WIN FontBold.setPointSizeF(double(FontSize*1.1)/ScaleFontAdjust); // Scale font #else FontBold.setPointSizeF((double(FontSize*1.1)/ScaleFontAdjust)*ScreenFontAdjust); // Scale font #endif QFontMetrics fmb(FontBold); NameWidth=fmb.boundingRect(QRect(0,0,MapImageSize.width(),MapImageSize.height()),0,Name).width()*1.02; } else NameWidth=0; if (HaveIcon) H=IconSize+Spacer*2; else if (HaveName && HaveAddr) H=QFontMetrics(FontBold).height()+QFontMetrics(FontNormal).height()+Spacer*3; else if (HaveName) H=QFontMetrics(FontBold).height()+Spacer*2; else H=QFontMetrics(FontNormal).height()+Spacer*2; if (HaveIcon && (HaveName || HaveAddr)) FullSpacer=IconSize+Spacer*3; else FullSpacer=IconSize+Spacer*2; // Compute MarkerSize Location->MarkerSize.setWidth((NameWidth>AddressWidth?NameWidth:AddressWidth)+FullSpacer+CornerSize); //if (MarkerSize.width()>(MapImageSize.width()*0.6)) MarkerSize.setWidth(MapImageSize.width()*0.6); // Not more than 60% of the map width Location->MarkerSize.setHeight(H+CornerSize); } //==================================================================================================================== void cBrushDefinition::AddMarkerToImage(QImage *DestImage) { if ((!MediaObject)||(MediaObject->ObjectType!=OBJECTTYPE_GMAPSMAP)||(!DestImage)) return; cGMapsMap *CurrentMap=(cGMapsMap *)MediaObject; if (!CurrentMap->IsMapValide) return; QSize DestMapSize=CurrentMap->GetCurrentImageSize(); QPainter Painter; Painter.begin(DestImage); if (DestImage->size()!=DestMapSize) Painter.setWindow(0,0,DestMapSize.width(),DestMapSize.height()); for (int i=0;iList.count();i++) if (Markers[i].Visibility!=cBrushDefinition::sMarker::MARKERHIDE) { cLocation *Location=((cLocation *)CurrentMap->List[i]); cLocation *RealLoc =NULL; GetRealLocation((void **)&Location,(void **)&RealLoc); if ((Location)&&(RealLoc)) { QPoint MarkerPoint=CurrentMap->GetLocationPoint(i); QPoint MarkerPosition; QPoint MarkerStartLine; int GPSPointSize,CornerSize,PenSize; QPen Pen; QPainterPath MarkerPath,PointPath,LinePath; int MakerLineLen=1; // Compute distance switch (Location->Distance) { case cLocation::MARKERDISTNEAR: MakerLineLen=DestMapSize.height()/24; break; case cLocation::MARKERDISTNORMAL: MakerLineLen=DestMapSize.height()/17; break; case cLocation::MARKERDISTFAR: MakerLineLen=DestMapSize.height()/10; break; } // Compute sizes switch (Location->Size) { case cBrushDefinition::sMarker::SMALL: GPSPointSize=7; PenSize=1; CornerSize=6; break; case cBrushDefinition::sMarker::MEDIUM: GPSPointSize=10; PenSize=1; CornerSize=8; break; case cBrushDefinition::sMarker::LARGE: GPSPointSize=13; PenSize=2; CornerSize=12; break; case cBrushDefinition::sMarker::VERYLARGE: default: GPSPointSize=16; PenSize=2; CornerSize=16; break; } // Compute orientation of marker if (MarkerPoint.y()>Location->MarkerSize.height()+MakerLineLen) { MarkerPosition=QPoint(MarkerPoint.x()-(Location->MarkerSize.width()/2),MarkerPoint.y()-MakerLineLen-Location->MarkerSize.height()); MarkerStartLine.setY(MarkerPosition.y()+Location->MarkerSize.height()-1); } else { MarkerPosition=QPoint(MarkerPoint.x()-(Location->MarkerSize.width()/2),MarkerPoint.y()+MakerLineLen); MarkerStartLine.setY(MarkerPosition.y()+1); } if (MarkerPosition.x()<0) MarkerPosition.setX(0); if (MarkerPosition.x()+Location->MarkerSize.width()>DestMapSize.width()) MarkerPosition.setX(DestMapSize.width()-Location->MarkerSize.width()); MarkerStartLine.setX(MarkerPosition.x()+Location->MarkerSize.width()/2); // Prepare GPS point path switch (Location->MarkerPointForm) { case cLocation::MARKERPOINTPOINT: PointPath.moveTo(MarkerPoint); break; case cLocation::MARKERPOINTCIRCLE: PointPath.addEllipse(MarkerPoint,GPSPointSize/2,GPSPointSize/2); break; case cLocation::MARKERPOINTRECT: PointPath.addRect(MarkerPoint.x()-GPSPointSize/2,MarkerPoint.y()-GPSPointSize/2,GPSPointSize,GPSPointSize); break; } // Prepare line path and marker path int BubbleSize=GPSPointSize*2; if (BubbleSize>(Location->MarkerSize.width()/4)) BubbleSize=Location->MarkerSize.width()/4; switch (Location->MarkerForm) { case cLocation::MARKERFORMRECT: LinePath.moveTo(QPoint(MarkerPoint.x()-PenSize*2,MarkerPoint.y())); LinePath.lineTo(QPoint(MarkerStartLine.x()-PenSize*2,MarkerStartLine.y())); LinePath.lineTo(QPoint(MarkerStartLine.x()+PenSize*2,MarkerStartLine.y())); LinePath.lineTo(QPoint(MarkerPoint.x()+PenSize*2,MarkerPoint.y())); LinePath.lineTo(QPoint(MarkerPoint.x()-PenSize*2,MarkerPoint.y())); MarkerPath.addRect(MarkerPosition.x(),MarkerPosition.y(),Location->MarkerSize.width(),Location->MarkerSize.height()); break; case cLocation::MARKERFORMBUBLE: LinePath.moveTo(MarkerPoint); LinePath.lineTo(QPoint(MarkerStartLine.x()-BubbleSize,MarkerStartLine.y())); LinePath.lineTo(QPoint(MarkerStartLine.x()+BubbleSize,MarkerStartLine.y())); LinePath.lineTo(MarkerPoint); MarkerPath.addRoundedRect(MarkerPosition.x(),MarkerPosition.y(),Location->MarkerSize.width(),Location->MarkerSize.height(),CornerSize,CornerSize); break; } // Make union MarkerPath=MarkerPath.united(LinePath); MarkerPath=MarkerPath.united(PointPath); Painter.save(); Painter.setBrush(QBrush(QColor(Markers[i].MarkerColor),Qt::SolidPattern)); Pen.setColor(QColor(Markers[i].LineColor)); Pen.setStyle(Qt::SolidLine); Pen.setWidth(PenSize); Painter.setPen(Pen); if (Markers[i].Visibility==cBrushDefinition::sMarker::MARKERSHADE) Painter.setOpacity(0.5); Painter.drawPath(MarkerPath); PenSize*=2; Painter.setClipRect(MarkerPosition.x()+PenSize,MarkerPosition.y()+PenSize,Location->MarkerSize.width()-2*PenSize,Location->MarkerSize.height()-2*PenSize); DrawMarker(&Painter,MarkerPosition,i,Markers[i].Visibility,Location->MarkerSize,Location->Size); Painter.restore(); } } Painter.end(); } ffDiaporama/src/ffDiaporama/engine/cBaseMediaFile.h0000777000175000001440000007437212275647324022433 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef CBASEMEDIAFILE_H #define CBASEMEDIAFILE_H // Basic inclusions (common to all files) #include "_GlobalDefines.h" // Include some common various class #include "cApplicationConfig.h" // Include some additional standard class #include #include #include #include #if QT_VERSION >= 0x050000 #include #else #include #endif // Include some common various class #include "cDeviceModelDef.h" // Contains Libav include #include "cSoundBlockList.h" #include "cCustomIcon.h" extern bool Exiv2WithPreview; extern int Exiv2MajorVersion,Eviv2MinorVersion,Exiv2PatchVersion; #if defined(LIBAV) && (LIBAVVERSIONINT<=8) extern int TaglibMajorVersion,TaglibMinorVersion,TaglibPatchVersion; #endif // Utility defines and constant to manage angles const double dPI= 3.14159265358979323846; #define RADIANS(a) (a*dPI/180) #define DEGREES(a) (a*180/dPI) #define KMTOMILES(KM) ((KM*0.621371192)) // Utility defines and macro used to managed GPS and Google Pixel unit #define GPS2PIXEL_X(GPSX,ZOOMLEVEL,SCALE) ((256*(GPSX+180)/360)*(pow(2,ZOOMLEVEL))*SCALE) #define GPS2PIXEL_Y(GPSY,ZOOMLEVEL,SCALE) ((256/2-log(tan((dPI/4)+RADIANS(GPSY)/2))*(256/(2*dPI)))*(pow(2,ZOOMLEVEL))*SCALE) #define PIXEL2GPS_X(PIXELX,ZOOMLEVEL,SCALE) (((PIXELX)/(SCALE*(pow(2,ZOOMLEVEL))))*360/256-180) #define PIXEL2GPS_Y(PIXELY,ZOOMLEVEL,SCALE) (DEGREES((atan(exp((-((PIXELY)/(SCALE*(pow(2,ZOOMLEVEL))))+256/2)/(256/(2*dPI))))-(dPI/4))*2)) // Distance computation: See wikipedia at http://fr.wikipedia.org/wiki/Distance_du_grand_cercle #define DISTANCE(GPS0x,GPS0y,GPS1x,GPS1y) (2*6371*asin(sqrt(pow(sin((RADIANS(GPS1y)-RADIANS(GPS0y))/2),2)+cos(RADIANS(GPS0y))*cos(RADIANS(GPS1y))*pow(sin((RADIANS(GPS1x)-RADIANS(GPS0x))/2),2)))) //============================================ // Class for exporting project //============================================ class cReplaceObject { public: QString SourceFileName; QString DestFileName; cReplaceObject(QString SourceFileName,QString DestFileName) {this->SourceFileName=SourceFileName; this->DestFileName=DestFileName;} }; class cReplaceObjectList { public: QList List; cReplaceObjectList(); void SearchAppendObject(QString SourceFileName); QString GetDestinationFileName(QString SourceFileName); }; //**************************************************************************************************************************************************************** class cBaseMediaFile { public: enum ImageSizeFmt {FULLWEB,SIZEONLY,FMTONLY,GEOONLY}; cApplicationConfig *ApplicationConfig; OBJECTTYPE ObjectType; QString ObjectName; // ObjectName in XML .ffd file qlonglong FileKey; // Key index of this file in the Files table of the database qlonglong FolderKey; // Key index of the folder containing this file in the Folders table of the database qlonglong RessourceKey; // Key index of this ressource in the slidethumb table of the database QString CachedFileName; // To speed up browser int64_t FileSize; // filesize QDateTime CreatDateTime; // Original date/time QDateTime ModifDateTime; // Last modified date/time int ImageWidth; // Widht of normal image int ImageHeight; // Height of normal image int ImageOrientation; // EXIF ImageOrientation (or -1) int ObjectGeometry; // Image geometry of the embeded image or video double AspectRatio; // Aspect ratio QTime Duration; // Duration of the video bool IsValide; // if true if object if initialise bool IsInformationValide; // if true if ExtendedProperties if fuly initialise in the database cBaseMediaFile(cApplicationConfig *ApplicationConfig); virtual ~cBaseMediaFile(); virtual QString FileName(); virtual QString ShortName(); virtual QImage *ImageAt(bool /*PreviewMode*/) {return NULL;} virtual bool LoadBasicInformationFromDatabase(QDomElement *,QString,QString,QStringList *,bool *,QList *,bool) {return false;} virtual void SaveBasicInformationToDatabase(QDomElement *,QString,QString,bool,cReplaceObjectList *,QList *,bool) {} virtual bool LoadFromXML(QDomElement *,QString,QString,QStringList *,bool *,QList *,bool ) {return true;} virtual void SaveToXML(QDomElement *,QString,QString,bool,cReplaceObjectList *,QList *,bool) {} virtual void Reset(); virtual bool GetInformationFromFile(QString GivenFileName,QStringList *AliasList,bool *ModifyFlag,qlonglong FolderKey=-1); virtual bool CheckFormatValide(QWidget *) {return true;} virtual bool GetFullInformationFromFile(); virtual bool GetChildFullInformationFromFile(cCustomIcon *,QStringList *) {return true;} // return information from basic properties virtual QImage *GetDefaultTypeIcon(cCustomIcon::IconSize) {return NULL;} virtual QString GetFileDateTimeStr(bool Created=false); // Return file date/time as formated string virtual QString GetFileSizeStr(); // Return file size as formated string virtual QString GetImageSizeStr(ImageSizeFmt Fmt=FULLWEB); // Return image size as formated string virtual QString GetImageGeometryStr(); // Return image geometry as formated string virtual QString GetFileTypeStr() {return "";} // Return type of file // return information from extended properties virtual QStringList GetSummaryText(QStringList *ExtendedProperties); // return 3 lines to display Summary of media file in dialog box which need them virtual QString GetTechInfo(QStringList *) {return "";} // Return technical information as formated string virtual QString GetTAGInfo(QStringList *) {return "";} // Return TAG information as formated string // return icon virtual QImage GetIcon(cCustomIcon::IconSize Size,bool useDelayed); }; //********************************************************************************************************************************************* // Unmanaged file //********************************************************************************************************************************************* class cUnmanagedFile : public cBaseMediaFile { public: explicit cUnmanagedFile(cApplicationConfig *ApplicationConfig); virtual QString GetFileTypeStr(); virtual bool LoadBasicInformationFromDatabase(QDomElement *,QString,QString,QStringList *,bool *,QList *,bool) { return true;} virtual void SaveBasicInformationToDatabase(QDomElement *,QString,QString,bool,cReplaceObjectList *,QList *,bool) { /*Nothing to do*/} virtual QImage *GetDefaultTypeIcon(cCustomIcon::IconSize Size) { return ApplicationConfig->DefaultFILEIcon.GetIcon(Size); } virtual QString GetTechInfo(QStringList *) { return ""; } virtual QString GetTAGInfo(QStringList *) { return ""; } }; //********************************************************************************************************************************************* // Folder //********************************************************************************************************************************************* class cFolder : public cBaseMediaFile { public: explicit cFolder(cApplicationConfig *ApplicationConfig); virtual QString GetFileTypeStr(); virtual bool LoadBasicInformationFromDatabase(QDomElement *,QString,QString,QStringList *,bool *,QList *,bool) { return true;} virtual void SaveBasicInformationToDatabase(QDomElement *,QString,QString,bool,cReplaceObjectList *,QList *,bool) { /*Nothing to do*/} virtual bool GetChildFullInformationFromFile(cCustomIcon *Icon,QStringList *ExtendedProperties); virtual QImage *GetDefaultTypeIcon(cCustomIcon::IconSize Size) { return ApplicationConfig->DefaultFOLDERIcon.GetIcon(Size); } virtual QString GetTechInfo(QStringList *) { return ""; } virtual QString GetTAGInfo(QStringList *) { return ""; } }; //********************************************************************************************************************************************* // ffDiaporama project file //********************************************************************************************************************************************* class cffDProjectFile : public cBaseMediaFile { public: // TAG values QString Title; // 30 or 200 char depending on ID3V2 compatibility option QString Author; // 30 or 200 char depending on ID3V2 compatibility option QString Album; // 30 or 200 char depending on ID3V2 compatibility option QDate EventDate; bool OverrideDate; QString LongDate; // Project dates QString Comment; // Free text - free size QString Composer; // ffDiaporama version int NbrSlide; // (Number of slide in project) QString ffDRevision; // ffD Application version (in reverse date format) QString DefaultLanguage; // Default Language (ISO 639 language code) int NbrChapters; // Number of chapters in the file QStringList ChaptersProperties; // Properties of chapters void *Location; // a link to a cLocation object explicit cffDProjectFile(cApplicationConfig *ApplicationConfig); ~cffDProjectFile(); void InitDefaultValues(); virtual QString GetFileTypeStr(); virtual bool LoadBasicInformationFromDatabase(QDomElement *ParentElement,QString ElementName,QString PathForRelativPath,QStringList *AliasList,bool *ModifyFlag,QList *ResKeyList,bool DuplicateRes); virtual void SaveBasicInformationToDatabase(QDomElement *ParentElement,QString ElementName,QString PathForRelativPath,bool ForceAbsolutPath,cReplaceObjectList *ReplaceList,QList *ResKeyList,bool IsModel); virtual bool GetChildFullInformationFromFile(cCustomIcon *Icon,QStringList *ExtendedProperties); virtual QImage *GetDefaultTypeIcon(cCustomIcon::IconSize Size) { return ApplicationConfig->DefaultFFDIcon.GetIcon(Size); } virtual QString GetTechInfo(QStringList *ExtendedProperties); virtual QString GetTAGInfo(QStringList *ExtendedProperties); void SaveToXML(QDomElement *ParentElement,QString ElementName,QString PathForRelativPath,bool ForceAbsolutPath,cReplaceObjectList *ReplaceList,QList *ResKeyList,bool IsModel); bool LoadFromXML(QDomElement *ParentElement,QString ElementName,QString PathForRelativPath,QStringList *AliasList,bool *ModifyFlag,QList *ResKeyList,bool DuplicateRes); }; //********************************************************************************************************************************************* // Image file //********************************************************************************************************************************************* class cImageFile : public cBaseMediaFile { public: bool NoExifData; explicit cImageFile(cApplicationConfig *ApplicationConfig); ~cImageFile(); virtual bool CheckFormatValide(QWidget *Window); virtual bool GetInformationFromFile(QString GivenFileName,QStringList *AliasList,bool *ModifyFlag,qlonglong FolderKey); virtual QImage *ImageAt(bool PreviewMode); virtual QString GetFileTypeStr(); virtual bool LoadBasicInformationFromDatabase(QDomElement *ParentElement,QString ElementName,QString PathForRelativPath,QStringList *AliasList,bool *ModifyFlag,QList *ResKeyList,bool DuplicateRes); virtual void SaveBasicInformationToDatabase(QDomElement *ParentElement,QString ElementName,QString PathForRelativPath,bool ForceAbsolutPath,cReplaceObjectList *ReplaceList,QList *ResKeyList,bool IsModel); virtual bool GetChildFullInformationFromFile(cCustomIcon *Icon,QStringList *ExtendedProperties); virtual QImage *GetDefaultTypeIcon(cCustomIcon::IconSize Size) { return (ObjectType==OBJECTTYPE_THUMBNAIL?ApplicationConfig->DefaultThumbIcon:ApplicationConfig->DefaultIMAGEIcon).GetIcon(Size); } virtual QString GetTechInfo(QStringList *ExtendedProperties); virtual QString GetTAGInfo(QStringList *ExtendedProperties); }; //********************************************************************************************************************************************* // Google maps map //********************************************************************************************************************************************* class cImageClipboard : public cImageFile { public: explicit cImageClipboard(cApplicationConfig *ApplicationConfig); ~cImageClipboard(); virtual QString FileName() { return QString(":/img/%1").arg(RessourceKey); } virtual QString ShortName() { return QString(":/img/%1").arg(RessourceKey); } virtual QString GetFileTypeStr() { return QApplication::translate("cBaseMediaFile","Image from clipboard","File type"); } virtual QImage *GetDefaultTypeIcon(cCustomIcon::IconSize Size) { return ApplicationConfig->DefaultIMAGEIcon.GetIcon(Size); } virtual bool GetInformationFromFile(QString GivenFileName,QStringList *AliasList,bool *ModifyFlag,qlonglong FolderKey); virtual bool LoadBasicInformationFromDatabase(QDomElement *ParentElement,QString ElementName,QString PathForRelativPath,QStringList *AliasList,bool *ModifyFlag,QList *ResKeyList,bool DuplicateRes); virtual void SaveBasicInformationToDatabase(QDomElement *ParentElement,QString ElementName,QString PathForRelativPath,bool ForceAbsolutPath,cReplaceObjectList *ReplaceList,QList *ResKeyList,bool IsModel); virtual bool GetChildFullInformationFromFile(cCustomIcon *Icon,QStringList *ExtendedProperties); virtual QStringList GetSummaryText(QStringList *ExtendedProperties); // return 3 lines to display Summary of media file in dialog box which need them virtual bool LoadFromXML(QDomElement *ParentElement,QString ElementName,QString PathForRelativPath,QStringList *AliasList,bool *ModifyFlag,QList *ResKeyList,bool DuplicateRes); virtual void SaveToXML(QDomElement *ParentElement,QString ElementName,QString PathForRelativPath,bool ForceAbsolutPath,cReplaceObjectList *ReplaceList,QList *ResKeyList,bool IsModel); }; //********************************************************************************************************************************************* // Google maps map //********************************************************************************************************************************************* class cGMapsMap : public cImageClipboard { public: static const int SectionWith =640; // With of a section static const int SectionHeight =600; // Height of a section struct RequestSection { QRectF Rect; // Portion of the destination image where this section is QString GoogleRequest; // Google request to create this portion }; QList List; // List of location (should be QList but use void* because of .h chain) QList RequestList; // List of pending Google requests to be used to create the map (if the list is empty then the map is fully created) int ZoomLevel; // Google Zoom level of the actual map int Scale; // Google Scale level of the actual map double MapCx; // Center X position of the actual map in Google pixel unit double MapCy; // Center Y position of the actual map in Google pixel unit bool IsMapValide; // True if map was succesfully generated enum GMapsMapType { Roadmap, Satellite, Terrain, Hybrid, GMapsMapType_NBR } MapType; // Type of the map enum GMapsImageSize { Small, // 640x360 (half 720p) FS720P, // 1280x720 FS720X4, // 2560x1440 FS720X9, // 3840x2160 FS1080P, // 1920x1080 FS1080X4, // 3840x2160 FS1080X9, // 5760x3240 GMapsImageSize_NBR } ImageSize; // Image size of the map explicit cGMapsMap(cApplicationConfig *ApplicationConfig); ~cGMapsMap(); virtual void SaveToXML(QDomElement *ParentElement,QString ElementName,QString PathForRelativPath,bool ForceAbsolutPath,cReplaceObjectList *ReplaceList,QList *ResKeyList,bool IsModel); virtual QString GetFileTypeStr() { return QApplication::translate("cBaseMediaFile","Google Maps map","File type"); } virtual QImage *GetDefaultTypeIcon(cCustomIcon::IconSize Size) { return ApplicationConfig->DefaultGMapsIcon.GetIcon(Size); } virtual QImage *ImageAt(bool PreviewMode); virtual bool GetInformationFromFile(QString GivenFileName,QStringList *AliasList,bool *ModifyFlag,qlonglong FolderKey); virtual bool LoadBasicInformationFromDatabase(QDomElement *ParentElement,QString ElementName,QString PathForRelativPath,QStringList *AliasList,bool *ModifyFlag,QList *ResKeyList,bool DuplicateRes); virtual void SaveBasicInformationToDatabase(QDomElement *ParentElement,QString ElementName,QString PathForRelativPath,bool ForceAbsolutPath,cReplaceObjectList *ReplaceList,QList *ResKeyList,bool IsModel); virtual bool GetChildFullInformationFromFile(cCustomIcon *Icon,QStringList *ExtendedProperties); virtual QString GetTechInfo(QStringList *ExtendedProperties); virtual QString GetTAGInfo(QStringList *ExtendedProperties); virtual QStringList GetSummaryText(QStringList *ExtendedProperties); // return 3 lines to display Summary of media file in dialog box which need them virtual QStringList GetGoogleMapTypeNames(); virtual QStringList GetMapTypeNames(); virtual QStringList GetImageSizeNames(); virtual QStringList GetShortImageSizeNames(); virtual QString GetCurrentGoogleMapTypeName(); virtual QString GetCurrentMapTypeName(); virtual QString GetCurrentImageSizeName(bool Full=true); virtual QSize GetCurrentImageSize(); virtual QImage CreateDefaultImage(cDiaporama *Diaporama); // Create a new empty image (to be fill by requests to Google) virtual int ComputeNbrSection(int Size,int Divisor); // Compute number of sections needed to create map for current image size virtual void ComputeSectionList(); // Create sections to request to Google virtual QStringList GetMapSizesPerZoomLevel(); // Compute Map Size for each Google Maps zoomlevel virtual QPoint GetLocationPoint(int Index); private: virtual QRectF GetGPSRectF(); // Return rectangle needed to handle all locations in GPS unit virtual QRectF GetPixRectF(); // Return rectangle needed to handle all locations in Google pixel unit virtual int GetMinZoomLevelForSize(); // Return minimum zoom level depending on current image size }; //********************************************************************************************************************************************* // Video file //********************************************************************************************************************************************* extern int MAXCACHEIMAGE; class cImageInCache { public: int64_t Position; AVFrame *FiltFrame,*FrameBufferYUV; cImageInCache(int64_t Position,AVFrame *FiltFrame,AVFrame *FrameBufferYUV); ~cImageInCache(); }; class cVideoFile : public cBaseMediaFile { public: bool IsOpen; // True if Libav open on this file bool MusicOnly; // True if object is a music only file bool IsVorbis; // True if vorbis version must be use instead of MP3/WAV version bool IsMTS; // True if file is a MTS file QTime StartPos; // Start position QTime EndPos; // End position QString Container; // Container type (get from file extension) QString VideoCodecInfo; QString AudioCodecInfo; int NbrChapters; // Number of chapters in the file int64_t LibavStartTime; // copy of the start_time information from the libavfile int64_t LastAudioReadedPosition; // Use to keep the last readed position to determine if a seek is needed int64_t LastVideoReadedPosition; // Use to keep the last readed position to determine if a seek is needed // Video part int VideoStreamNumber; // Number of the video stream int VideoTrackNbr; // Number of video stream in file QImage LastImage; // Keep last image return QList CacheImage; // Audio part int AudioStreamNumber; // Number of the audio stream int AudioTrackNbr; // Number of audio stream in file explicit cVideoFile(cApplicationConfig *ApplicationConfig); ~cVideoFile(); virtual void Reset(OBJECTTYPE TheWantedObjectType); virtual QString GetFileTypeStr(); virtual bool LoadBasicInformationFromDatabase(QDomElement *ParentElement,QString ElementName,QString PathForRelativPath,QStringList *AliasList,bool *ModifyFlag,QList *ResKeyList,bool DuplicateRes); virtual void SaveBasicInformationToDatabase(QDomElement *ParentElement,QString ElementName,QString PathForRelativPath,bool ForceAbsolutPath,cReplaceObjectList *ReplaceList,QList *ResKeyList,bool IsModel); virtual bool CheckFormatValide(QWidget *); virtual bool GetChildFullInformationFromFile(cCustomIcon *Icon,QStringList *ExtendedProperties); virtual QImage *GetDefaultTypeIcon(cCustomIcon::IconSize Size); virtual QString GetTechInfo(QStringList *ExtendedProperties); virtual QString GetTAGInfo(QStringList *ExtendedProperties); virtual int getThreadFlags(AVCodecID ID); virtual bool OpenCodecAndFile(); virtual void CloseCodecAndFile(); virtual QImage *ImageAt(bool PreviewMode,int64_t Position,cSoundBlockList *SoundTrackMontage,bool Deinterlace,double Volume,bool ForceSoundOnly,bool DontUseEndPos); virtual QImage *ReadFrame(bool PreviewMode,int64_t Position,bool DontUseEndPos,bool Deinterlace,cSoundBlockList *SoundTrackBloc,double Volume,bool ForceSoundOnly); virtual QImage *ConvertYUVToRGB(bool PreviewMode,AVFrame *Frame); virtual bool SeekFile(AVStream *VideoStream,AVStream *AudioStream,int64_t Position); virtual void CloseResampler(); virtual void CheckResampler(int RSC_InChannels,int RSC_OutChannels,AVSampleFormat RSC_InSampleFmt,AVSampleFormat RSC_OutSampleFmt,int RSC_InSampleRate,int RSC_OutSampleRate #if (defined(LIBAV)&&(LIBAVVERSIONINT>=9)) || defined(FFMPEG) ,uint64_t RSC_InChannelLayout,uint64_t RSC_OutChannelLayout #endif ); virtual u_int8_t *Resample(AVFrame *Frame,int64_t *SizeDecoded,int DstSampleSize); //********************* // video filters part //********************* AVFilterGraph *VideoFilterGraph; AVFilterContext *VideoFilterIn; AVFilterContext *VideoFilterOut; virtual int VideoFilter_Open(); virtual void VideoFilter_Close(); #if defined(LIBAV) || (FFMPEGVERSIONINT<201) virtual int VideoFilter_Process(); #endif protected: AVFormatContext *LibavAudioFile,*LibavVideoFile; // LibAVFormat contexts AVCodec *VideoDecoderCodec; // Associated LibAVCodec for video stream AVCodec *AudioDecoderCodec; // Associated LibAVCodec for audio stream AVFrame *FrameBufferYUV; bool FrameBufferYUVReady; // true if FrameBufferYUV is ready to convert int64_t FrameBufferYUVPosition; // If FrameBufferYUV is ready to convert then keep FrameBufferYUV position // Audio resampling #if defined(LIBAV) && (LIBAVVERSIONINT<=8) ReSampleContext *RSC; #elif defined(LIBAV) && (LIBAVVERSIONINT<=9) AVAudioResampleContext *RSC; uint64_t RSC_InChannelLayout,RSC_OutChannelLayout; #elif defined(FFMPEG) SwrContext *RSC; uint64_t RSC_InChannelLayout,RSC_OutChannelLayout; #endif int RSC_InChannels,RSC_OutChannels; int RSC_InSampleRate,RSC_OutSampleRate; AVSampleFormat RSC_InSampleFmt,RSC_OutSampleFmt; }; //********************************************************************************************************************************************* // Music file //********************************************************************************************************************************************* class cMusicObject : public cVideoFile { public: double Volume; // Volume as % from 10% to 150% bool AllowCredit; // if true, this music will appear in credit title cMusicObject(cApplicationConfig *ApplicationConfig); virtual bool CheckFormatValide(QWidget *); void SaveToXML(QDomElement *ParentElement,QString ElementName,QString PathForRelativPath,bool ForceAbsolutPath,cReplaceObjectList *ReplaceList,QList *ResKeyList,bool IsModel); bool LoadFromXML(QDomElement *ParentElement,QString ElementName,QString PathForRelativPath,QStringList *AliasList,bool *ModifyFlag); }; #endif // CBASEMEDIAFILE_H ffDiaporama/src/ffDiaporama/engine/cBaseMediaFile.cpp0000777000175000001440000063742512275647324022772 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ // Include some common various class #include "cApplicationConfig.h" // Include some additional standard class #include "CustomCtrl/_QCustomDialog.h" #include #include // Include some additional standard class #include "cBaseMediaFile.h" #include "_Diaporama.h" #include "cLocation.h" //**************************************************************************************************************************************************************** // EXIV2 PART //**************************************************************************************************************************************************************** #include #if (EXIV2_MAJOR_VERSION>=0)||((EXIV2_MAJOR_VERSION==0)&&(EXIV2_MINOR_VERSION>20)) #include bool Exiv2WithPreview=true; #else bool Exiv2WithPreview=false; #include #endif int Exiv2MajorVersion=EXIV2_MAJOR_VERSION; int Eviv2MinorVersion=EXIV2_MINOR_VERSION; int Exiv2PatchVersion=EXIV2_PATCH_VERSION; #if defined(LIBAV) && (LIBAVVERSIONINT<=8) //**************************************************************************************************************************************************************** // TAGLIB PART only if LIBAV 8 after, thumbnails are reading using libav //**************************************************************************************************************************************************************** #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #if (TAGLIB_MAJOR_VERSION>=1) && (TAGLIB_MINOR_VERSION>=7) #define TAGLIBWITHFLAC #endif #ifdef TAGLIB_WITH_ASF #if (TAGLIB_WITH_ASF>=1) #define TAGLIBWITHASF #if (TAGLIB_MAJOR_VERSION>=1) && (TAGLIB_MINOR_VERSION>=7) #define TAGLIBWITHASFPICTURE #endif #endif #endif #ifdef TAGLIB_WITH_MP4 #if (TAGLIB_WITH_MP4>=1) #define TAGLIBWITHMP4 #endif #endif int TaglibMajorVersion=TAGLIB_MAJOR_VERSION; int TaglibMinorVersion=TAGLIB_MINOR_VERSION; int TaglibPatchVersion=TAGLIB_PATCH_VERSION; #endif //**************************************************************************************************************************************************************** #define FFD_APPLICATION_ROOTNAME "Project" // Name of root node in the project xml file #define MaxAudioLenDecoded AVCODEC_MAX_AUDIO_FRAME_SIZE*4 #ifndef INT64_MAX #define INT64_MAX 0x7fffffffffffffffLL #define INT64_MIN (-INT64_MAX - 1LL) #endif //#ifdef _MSC_VER // #undef AV_TIME_BASE_Q // AVRational AV_TIME_BASE_Q={1, AV_TIME_BASE}; //#endif #define VC_ERROR 0x00000001 #define VC_BUFFER 0x00000002 #define VC_PICTURE 0x00000004 #define VC_USERDATA 0x00000008 #define VC_FLUSHED 0x00000010 #define PIXFMT PIX_FMT_RGB24 #define QTPIXFMT QImage::Format_RGB888 AVFrame *ALLOCFRAME() { return avcodec_alloc_frame(); } void FREEFRAME(AVFrame **Buf){ avcodec_free_frame(Buf); *Buf=NULL; } //**************************************************************************************************************************************************************** // from Google music manager (see:http://code.google.com/p/gogglesmm/source/browse/src/gmutils.cpp?spec=svn6c3dbecbad40ee49736b9ff7fe3f1bfa6ca18c13&r=6c3dbecbad40ee49736b9ff7fe3f1bfa6ca18c13) bool gm_decode_base64(uchar *buffer,uint &len) { static const unsigned char base64[256]={ 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x3e,0x80,0x80,0x80,0x3f, 0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x80,0x80,0x80,0x80,0x80,0x80, 0x80,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e, 0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x80,0x80,0x80,0x80,0x80, 0x80,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28, 0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x80,0x80,0x80,0x80,0x80, 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80}; uint pos=0; uchar v; for (uint i=0,b=0;i>4); buffer[pos]=(v<<4); b++; break; case 2: buffer[pos++]|=(v>>2); buffer[pos]=(v<<6); b++; break; case 3: buffer[pos++]|=v; b=0; break; } } else { if (buffer[i]=='=' && b>1) { len=pos; return true; } else return false; } } len=pos; return true; } #ifdef USETAGLIB QImage *GetEmbededImage(QString FileName) { // Try to get embeded image QImage *Image=new QImage(); //*********** MP3 if ((Image->isNull())&&(QFileInfo(FileName).suffix().toLower()=="mp3")) { TagLib::MPEG::File MP3File(TagLib::FileName(FileName.toLocal8Bit())); if (MP3File.ID3v2Tag()) { TagLib::ID3v2::FrameList l=MP3File.ID3v2Tag()->frameListMap()["APIC"]; if (!l.isEmpty()) { TagLib::ID3v2::AttachedPictureFrame *pic=static_cast(l.front()); if (pic) Image->loadFromData((const uchar *)pic->picture().data(),pic->picture().size()); } } } //*********** FLAC #ifdef TAGLIBWITHFLAC if ((Image->isNull())&&(QFileInfo(FileName).suffix().toLower()=="flac")) { TagLib::FLAC::File FLACFile(TagLib::FileName(FileName.toLocal8Bit())); TagLib::List PictList=FLACFile.pictureList(); // Search PreferedPic : the one with the type lesser TagLib::FLAC::Picture *PreferedPic=NULL; if (!PictList.isEmpty()) for (uint i=0;itype()>Pic->type()))) PreferedPic=Pic; } if (PreferedPic) Image->loadFromData((const uchar *)PreferedPic->data().data(),PreferedPic->data().size()); } #endif //*********** OGG if ((Image->isNull())&&((QFileInfo(FileName).suffix().toLower()=="ogg")||(QFileInfo(FileName).suffix().toLower()=="oga"))) { TagLib::Vorbis::File OggFile(TagLib::FileName(FileName.toLocal8Bit())); if ((OggFile.tag())&&(OggFile.tag()->contains(TagLib::String("COVERART")))) { const TagLib::StringList &CoverList=OggFile.tag()->fieldListMap()["COVERART"]; for (TagLib::StringList::ConstIterator it=CoverList.begin();it!=CoverList.end();it++) { const TagLib::ByteVector &Vector=(*it).data(TagLib::String::UTF8); if ((Image->isNull())&&(Vector.size())) { uint len =Vector.size(); uchar *buffer=(uchar *)malloc(len); memcpy(buffer,Vector.data(),len); if (gm_decode_base64(buffer,len)) Image->loadFromData((const uchar *)buffer,len); free(buffer); } } } } //*********** MP4/M4A => don't work with M4V or MP4 video #ifdef TAGLIBWITHMP4 if ((Image->isNull())&&(/*(QFileInfo(FileName).suffix().toLower()=="mp4")||*/(QFileInfo(FileName).suffix().toLower()=="m4a")||(QFileInfo(FileName).suffix().toLower()=="m4v"))) { TagLib::MP4::File MP4File(TagLib::FileName(FileName.toLocal8Bit())); if ((MP4File.tag())&&(MP4File.tag()->itemListMap().contains("covr"))) { TagLib::MP4::CoverArtList coverArtList = MP4File.tag()->itemListMap()["covr"].toCoverArtList(); if (coverArtList.size()!= 0) { TagLib::MP4::CoverArt ca = coverArtList.front(); Image->loadFromData((const uchar *) ca.data().data(),ca.data().size()); } } } #endif //*********** ASF/WMA //////////////////// A FINIR ! ///////////// CA A PAS L'AIR DE MARCHER ! #ifdef TAGLIBWITHASF if ((Image->isNull())&&(QFileInfo(FileName).suffix().toLower()=="wma")) { TagLib::ASF::File ASFFile(TagLib::FileName(TagLib::FileName(FileName.toLocal8Bit()))); #ifdef TAGLIBWITHASFPICTURE if ((ASFFile.tag())&&(ASFFile.tag()->attributeListMap().contains("WM/Picture"))) { const TagLib::ASF::AttributeList &attrList=ASFFile.tag()->attributeListMap()["WM/Picture"]; if (!attrList.isEmpty()) { TagLib::ASF::Picture pic = attrList[0].toPicture(); if (pic.isValid()) Image->loadFromData((const uchar *)pic.picture().data(),pic.picture().size()); } } #endif } #endif //*********** if (!Image->isNull()) return Image; else { delete Image; return NULL; } } #endif //==================================================================================================================== cReplaceObjectList::cReplaceObjectList() { } void cReplaceObjectList::SearchAppendObject(QString SourceFileName) { int i=0; while ((iFoldersTable->GetFolderPath(FolderKey)+ApplicationConfig->FilesTable->GetShortName(FileKey); return CachedFileName; } //==================================================================================================================== QString cBaseMediaFile::ShortName() { if (CachedFileName.isEmpty()) CachedFileName=ApplicationConfig->FoldersTable->GetFolderPath(FolderKey)+ApplicationConfig->FilesTable->GetShortName(FileKey); return QFileInfo(CachedFileName).fileName(); } //==================================================================================================================== QImage cBaseMediaFile::GetIcon(cCustomIcon::IconSize Size,bool useDelayed) { QImage Icon16,Icon100; ApplicationConfig->FilesTable->GetThumbs(FileKey,&Icon16,&Icon100); if (Size==cCustomIcon::ICON16) { if (Icon16.isNull()) { if (useDelayed) Icon16=ApplicationConfig->DefaultDelayedIcon.GetIcon(cCustomIcon::ICON16)->copy(); else Icon16=GetDefaultTypeIcon(cCustomIcon::ICON16)->copy(); } return Icon16; } else { if (Icon100.isNull()) { if (useDelayed) Icon100=ApplicationConfig->DefaultDelayedIcon.GetIcon(cCustomIcon::ICON100)->copy(); else Icon100=GetDefaultTypeIcon(cCustomIcon::ICON100)->copy(); } return Icon100; } } //==================================================================================================================== bool cBaseMediaFile::GetFullInformationFromFile() { cCustomIcon Icon; QStringList ExtendedProperties; IsInformationValide=ApplicationConfig->FilesTable->GetExtendedProperties(FileKey,&ExtendedProperties)&&ApplicationConfig->FilesTable->GetThumbs(FileKey,&Icon.Icon16,&Icon.Icon100); if (!IsInformationValide) { IsInformationValide=GetChildFullInformationFromFile(&Icon,&ExtendedProperties); if (IsInformationValide) { QDomDocument domDocument; QDomElement root=domDocument.createElement("BasicProperties"); domDocument.appendChild(root); SaveBasicInformationToDatabase(&root,"","",false,NULL,NULL,false); IsInformationValide=ApplicationConfig->FilesTable->SetBasicProperties(FileKey,domDocument.toString())&& ApplicationConfig->FilesTable->SetExtendedProperties(FileKey,&ExtendedProperties)&& ApplicationConfig->FilesTable->SetThumbs(FileKey,&Icon.Icon16,&Icon.Icon100); } } return IsInformationValide; } //==================================================================================================================== bool cBaseMediaFile::GetInformationFromFile(QString FileName,QStringList *AliasList,bool *ModifyFlag,qlonglong GivenFolderKey) { if (ModifyFlag) *ModifyFlag=false; if ((!CachedFileName.isEmpty())&&(CachedFileName!=FileName)) CachedFileName=""; // Use aliaslist if ((AliasList)&&(!QFileInfo(FileName).exists())) { // First test : seach for a new path+filename for this filename int i; for (i=0;(icount())&&(!AliasList->at(i).startsWith(FileName));i++); if ((icount())&&(AliasList->at(i).startsWith(FileName))) { FileName=AliasList->at(i); if (FileName.indexOf("####")>0) FileName=FileName.mid(FileName.indexOf("####")+QString("####").length()); } else { // Second test : use each remplacement folder to try to find find i=0; QString NewFileName=QFileInfo(FileName).absoluteFilePath(); while ((icount())&&(!QFileInfo(NewFileName).exists())) { QString OldName=AliasList->at(i); QString NewName=OldName.mid(OldName.indexOf("####")+QString("####").length()); OldName=OldName.left(OldName.indexOf("####")); OldName=OldName.left(OldName.lastIndexOf(QDir::separator())); NewName=NewName.left(NewName.lastIndexOf(QDir::separator())); NewFileName=NewName+QDir::separator()+QFileInfo(FileName).fileName(); i++; } if (QFileInfo(NewFileName).exists()) { FileName=NewFileName; if (AliasList) AliasList->append(FileName+"####"+NewFileName); if (ModifyFlag) *ModifyFlag=true; } } } bool Continue=true; while ((Continue)&&(!QFileInfo(FileName).exists())) { QApplication::setOverrideCursor(QCursor(Qt::ArrowCursor)); if (CustomMessageBox(ApplicationConfig->TopLevelWindow,QMessageBox::Question,QApplication::translate("cBaseMediaFile","Open file"), QApplication::translate("cBaseMediaFile","Impossible to open file ")+FileName+"\n"+QApplication::translate("cBaseMediaFile","Do you want to select another file ?"), QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)!=QMessageBox::Yes) Continue=false; else { QString NewFileName=QFileDialog::getOpenFileName(ApplicationConfig->TopLevelWindow,QApplication::translate("cBaseMediaFile","Select another file for ")+QFileInfo(FileName).fileName(), ApplicationConfig->RememberLastDirectories?QDir::toNativeSeparators(ApplicationConfig->SettingsTable->GetTextValue(QString("%1_path").arg(BrowserTypeDef[ObjectType==OBJECTTYPE_IMAGEFILE?BROWSER_TYPE_IMAGEONLY:ObjectType==OBJECTTYPE_VIDEOFILE?BROWSER_TYPE_VIDEOONLY:BROWSER_TYPE_SOUNDONLY].BROWSERString),DefaultMediaPath)):DefaultMediaPath, ApplicationConfig->GetFilterForMediaFile(ObjectType==OBJECTTYPE_IMAGEFILE?IMAGEFILE: ObjectType==OBJECTTYPE_IMAGEVECTOR?IMAGEVECTORFILE: ObjectType==OBJECTTYPE_VIDEOFILE?VIDEOFILE: MUSICFILE)); if (NewFileName!="") { if (AliasList) AliasList->append(FileName+"####"+NewFileName); FileName=NewFileName; if (ApplicationConfig->RememberLastDirectories) ApplicationConfig->SettingsTable->SetTextValue(QString("%1_path").arg(BrowserTypeDef[ObjectType==OBJECTTYPE_IMAGEFILE?BROWSER_TYPE_IMAGEONLY:ObjectType==OBJECTTYPE_VIDEOFILE?BROWSER_TYPE_VIDEOONLY:BROWSER_TYPE_SOUNDONLY].BROWSERString),QFileInfo(FileName).absolutePath()); // Keep folder for next use if (ModifyFlag) *ModifyFlag=true; } else Continue=false; } QApplication::restoreOverrideCursor(); } if (!Continue) { ToLog(LOGMSG_CRITICAL,QApplication::translate("cBaseMediaFile","Impossible to open file %1").arg(FileName)); return false; } FileName =QFileInfo(FileName).absoluteFilePath(); if (FolderKey==-1) FolderKey=GivenFolderKey>=0?GivenFolderKey:ApplicationConfig->FoldersTable->GetFolderKey(QFileInfo(FileName).absolutePath()); if (FileKey==-1) FileKey =ApplicationConfig->FilesTable->GetFileKey(FolderKey,QFileInfo(FileName).fileName(),ObjectType); QString BasicInfo; if (ApplicationConfig->FilesTable->GetBasicProperties(FileKey,&BasicInfo,FileName,&FileSize,&CreatDateTime,&ModifDateTime)) { QDomDocument domDocument; QString errorStr; int errorLine,errorColumn; if ((domDocument.setContent(BasicInfo,true,&errorStr,&errorLine,&errorColumn))&& (domDocument.elementsByTagName("BasicProperties").length()>0)&& (domDocument.elementsByTagName("BasicProperties").item(0).isElement()==true) ) { QDomElement Element=domDocument.elementsByTagName("BasicProperties").item(0).toElement(); IsValide=LoadBasicInformationFromDatabase(&Element,"","",AliasList,ModifyFlag,NULL,false); return IsValide; } } FileSize =QFileInfo(FileName).size(); ModifDateTime=QFileInfo(FileName).lastModified(); CreatDateTime=QFileInfo(FileName).created(); IsValide=true; return true; } //==================================================================================================================== QString cBaseMediaFile::GetImageGeometryStr() { switch (ObjectGeometry) { case IMAGE_GEOMETRY_3_2 : return "3:2"; case IMAGE_GEOMETRY_2_3 : return "2:3"; case IMAGE_GEOMETRY_4_3 : return "4:3"; case IMAGE_GEOMETRY_3_4 : return "3:4"; case IMAGE_GEOMETRY_16_9 : return "16:9"; case IMAGE_GEOMETRY_9_16 : return "9:16"; case IMAGE_GEOMETRY_40_17 : return "40:17"; case IMAGE_GEOMETRY_17_40 : return "17:40"; default : return ""; //QApplication::translate("cBaseMediaFile","ns","Non standard image geometry"); } } //==================================================================================================================== QString cBaseMediaFile::GetFileSizeStr() { return GetTextSize(FileSize); } //==================================================================================================================== QString cBaseMediaFile::GetFileDateTimeStr(bool Created) { if (Created) return CreatDateTime.toString("dd/MM/yyyy hh:mm:ss"); else return ModifDateTime.toString("dd/MM/yyyy hh:mm:ss"); } //==================================================================================================================== QString cBaseMediaFile::GetImageSizeStr(ImageSizeFmt Fmt) { QString SizeInfo=""; QString FmtInfo =""; QString GeoInfo =""; if ((ImageWidth>0)&&(ImageHeight>0)) { // Compute MPix double MPix=double(double(ImageWidth)*double(ImageHeight))/double(1000000); SizeInfo=QString("%1x%2").arg(ImageWidth).arg(ImageHeight); // now search if size is referenced in DefImageFormat for (int i=0;i<2;i++) for (int j=0;j<3;j++) for (int k=0;k=1)) FmtInfo=QString("%1").arg(MPix,8,'f',1).trimmed()+QApplication::translate("cBaseMediaFile","MPix"); else switch (ImageHeight) { case 240: FmtInfo="QVGA"; break; case 320: FmtInfo="HVGA"; break; case 480: FmtInfo="WVGA"; break; case 576: FmtInfo="DVD"; break; case 600: FmtInfo="SVGA"; break; case 720: FmtInfo="720p"; break; case 768: FmtInfo="XGA"; break; case 1080: FmtInfo="1080p"; break; default: FmtInfo="ns"; break; } } GeoInfo=GetImageGeometryStr(); switch (Fmt) { case FULLWEB : return SizeInfo+((FmtInfo+GeoInfo)!=""?"("+FmtInfo+(FmtInfo!=""?"-":"")+GeoInfo+")":""); case SIZEONLY : return SizeInfo; case FMTONLY : return FmtInfo; case GEOONLY : return GeoInfo; default : return ""; } } //==================================================================================================================== // return 3 lines to display Summary of media file in dialog box which need them QStringList cBaseMediaFile::GetSummaryText(QStringList *ExtendedProperties) { QStringList SummaryText; SummaryText.append(ShortName()+"("+GetFileSizeStr()+")"); SummaryText.append(GetImageSizeStr(cBaseMediaFile::FULLWEB)); if (ObjectType==OBJECTTYPE_IMAGEFILE) { SummaryText.append(GetInformationValue("composer",ExtendedProperties)); if (GetInformationValue("Photo.ExposureTime", ExtendedProperties)!="") SummaryText[2]=SummaryText[2]+(SummaryText[2]!=""?"-":"")+GetInformationValue("Photo.ExposureTime", ExtendedProperties); if (GetInformationValue("Photo.ApertureValue", ExtendedProperties)!="") SummaryText[2]=SummaryText[2]+(SummaryText[2]!=""?"-":"")+GetInformationValue("Photo.ApertureValue", ExtendedProperties); if (GetInformationValue("Photo.ISOSpeedRatings",ExtendedProperties)!="") SummaryText[2]=SummaryText[2]+(SummaryText[2]!=""?"-":"")+GetInformationValue("Photo.ISOSpeedRatings",ExtendedProperties)+" ISO"; } else SummaryText.append(QApplication::translate("DlgSlideProperties","Duration:")+Duration.toString("HH:mm:ss.zzz")); return SummaryText; } //********************************************************************************************************************************************* // Unmanaged File //********************************************************************************************************************************************* cUnmanagedFile::cUnmanagedFile(cApplicationConfig *ApplicationConfig):cBaseMediaFile(ApplicationConfig) { ObjectType =OBJECTTYPE_UNMANAGED; IsInformationValide=true; } //==================================================================================================================== QString cUnmanagedFile::GetFileTypeStr() { return QApplication::translate("cBaseMediaFile","Unmanaged","File type"); } //********************************************************************************************************************************************* // Folder //********************************************************************************************************************************************* cFolder::cFolder(cApplicationConfig *ApplicationConfig):cBaseMediaFile(ApplicationConfig) { ObjectType =OBJECTTYPE_FOLDER; } //==================================================================================================================== bool cFolder::GetChildFullInformationFromFile(cCustomIcon *Icon,QStringList *) { QString AdjustedFileName=FileName(); if (!AdjustedFileName.endsWith(QDir::separator())) AdjustedFileName=AdjustedFileName+QDir::separator(); // Check if a folder.jpg file exist if ((Icon->Icon16.isNull())||(Icon->Icon100.isNull())) { QFileInfoList Directorys=QDir(FileName()).entryInfoList(QDir::Files); for (int j=0;jLoadIcons(&Final); } } // Check if there is an desktop.ini ==========> WINDOWS EXTENSION if ((Icon->Icon16.isNull())||(Icon->Icon100.isNull())) { QFileInfoList Directorys=QDir(FileName()).entryInfoList(QDir::Files|QDir::Hidden); for (int j=0;j=char(32))||(AllInfo[j]==9))) j++; if (jLoadIcons(IconFile); #ifdef Q_OS_WIN else Icon->LoadIcons(GetIconForFileOrDir(IconFile,IconIndex)); #endif } } // if no icon then load default for type if ((Icon->Icon16.isNull())||(Icon->Icon100.isNull())) Icon->LoadIcons(&ApplicationConfig->DefaultFOLDERIcon); return true; } //==================================================================================================================== QString cFolder::GetFileTypeStr() { return QApplication::translate("cBaseMediaFile","Folder","File type"); } //********************************************************************************************************************************************* // ffDiaporama project file //********************************************************************************************************************************************* cffDProjectFile::cffDProjectFile(cApplicationConfig *ApplicationConfig):cBaseMediaFile(ApplicationConfig) { ObjectType =OBJECTTYPE_FFDFILE; NbrSlide =0; NbrChapters =0; InitDefaultValues(); } cffDProjectFile::~cffDProjectFile() { if (Location) delete (cLocation *)Location; Location=NULL; } //==================================================================================================================== void cffDProjectFile::InitDefaultValues() { Title =QApplication::translate("cModelList","Project title");; Author =QApplication::translate("cModelList","Project author"); Album =QApplication::translate("cModelList","Project album"); OverrideDate =false; EventDate =QDate::currentDate(); LongDate =(OverrideDate?LongDate:FormatLongDate(EventDate)); Comment =QApplication::translate("cModelList","Project comment"); Composer =""; DefaultLanguage =ApplicationConfig->DefaultLanguage; ffDRevision =CurrentAppVersion; Location =NULL; } //==================================================================================================================== bool cffDProjectFile::LoadBasicInformationFromDatabase(QDomElement *ParentElement,QString ElementName,QString PathForRelativPath,QStringList *AliasList,bool *ModifyFlag,QList *ResKeyList,bool DuplicateRes) { return LoadFromXML(ParentElement,ElementName,PathForRelativPath,AliasList,ModifyFlag,ResKeyList,DuplicateRes); } //==================================================================================================================== void cffDProjectFile::SaveBasicInformationToDatabase(QDomElement *ParentElement,QString ElementName,QString PathForRelativPath,bool ForceAbsolutPath,cReplaceObjectList *ReplaceList,QList *ResKeyList,bool) { SaveToXML(ParentElement,ElementName,PathForRelativPath,ForceAbsolutPath,ReplaceList,ResKeyList,false); QDomDocument DomDocument; QDomElement Element=DomDocument.createElement("Project"); Element.setAttribute("ImageGeometry",ObjectGeometry==IMAGE_GEOMETRY_16_9?GEOMETRY_16_9:ObjectGeometry==IMAGE_GEOMETRY_40_17?GEOMETRY_40_17:GEOMETRY_4_3); Element.setAttribute("ObjectNumber",NbrSlide); ParentElement->appendChild(Element); } //==================================================================================================================== void cffDProjectFile::SaveToXML(QDomElement *ParentElement,QString,QString PathForRelativPath,bool ForceAbsolutPath,cReplaceObjectList *ReplaceList,QList *ResKeyList,bool IsModel) { QDomDocument DomDocument; QDomElement Element=DomDocument.createElement("ffDiaporamaProjectProperties"); Element.setAttribute("Title",Title); Element.setAttribute("Author",Author); Element.setAttribute("Album",Album); Element.setAttribute("LongDate",LongDate); Element.setAttribute("EventDate",EventDate.toString(Qt::ISODate)); Element.setAttribute("OverrideDate",OverrideDate?1:0); Element.setAttribute("Comment",Comment); Element.setAttribute("Composer",Composer); Element.setAttribute("Duration",qlonglong(QTime(0,0,0,0).msecsTo(Duration))); Element.setAttribute("ffDRevision",ffDRevision); Element.setAttribute("DefaultLanguage",DefaultLanguage); Element.setAttribute("ChaptersNumber",NbrChapters); for (int i=0;iSaveToXML(&SubElement,"",PathForRelativPath,ForceAbsolutPath,ReplaceList,ResKeyList,IsModel); Element.appendChild(SubElement); } ParentElement->appendChild(Element); } //==================================================================================================================== bool cffDProjectFile::LoadFromXML(QDomElement *ParentElement,QString,QString PathForRelativPath,QStringList *AliasList,bool *ModifyFlag,QList *ResKeyList,bool DuplicateRes) { InitDefaultValues(); bool IsOk=false; if ((ParentElement->elementsByTagName("ffDiaporamaProjectProperties").length()>0)&&(ParentElement->elementsByTagName("ffDiaporamaProjectProperties").item(0).isElement()==true)) { QDomElement Element=ParentElement->elementsByTagName("ffDiaporamaProjectProperties").item(0).toElement(); if (Element.hasAttribute("Title")) Title=Element.attribute("Title"); if (Element.hasAttribute("Author")) Author=Element.attribute("Author"); if (Element.hasAttribute("Album")) Album=Element.attribute("Album"); if (Element.hasAttribute("EventDate")) EventDate=EventDate.fromString(Element.attribute("EventDate"),Qt::ISODate); else if (Element.hasAttribute("Year")) EventDate.setDate(Element.attribute("Year").toInt(),1,1); if (Element.hasAttribute("OverrideDate")) OverrideDate=Element.attribute("OverrideDate")=="1"; if (!OverrideDate) LongDate=FormatLongDate(EventDate); else if (Element.hasAttribute("LongDate")) LongDate=Element.attribute("LongDate"); if (Element.hasAttribute("Comment")) Comment=Element.attribute("Comment"); if (Element.hasAttribute("ffDRevision")) ffDRevision=Element.attribute("ffDRevision"); if (Element.hasAttribute("Composer")) Composer=Element.attribute("Composer"); if (Element.hasAttribute("DefaultLanguage")) DefaultLanguage=Element.attribute("DefaultLanguage"); if (Element.hasAttribute("Duration")) Duration=QTime(0,0,0,0).addMSecs(Element.attribute("Duration").toLongLong()); if (Element.hasAttribute("ChaptersNumber")) { NbrChapters=Element.attribute("ChaptersNumber").toInt(); for (int i=0;ielementsByTagName("Chapter_"+ChapterNum).length()>0)&&(ParentElement->elementsByTagName("Chapter_"+ChapterNum).item(0).isElement()==true)) { QDomElement SubElement=ParentElement->elementsByTagName("Chapter_"+ChapterNum).item(0).toElement(); QString Start=""; QString End=""; QString Duration=""; QString Title=""; QString InSlide=""; if (SubElement.hasAttribute("Start")) Start=SubElement.attribute("Start"); if (SubElement.hasAttribute("End")) End=SubElement.attribute("End"); if (SubElement.hasAttribute("Duration")) Duration=SubElement.attribute("Duration"); if (SubElement.hasAttribute("title")) Title=SubElement.attribute("title"); if (SubElement.hasAttribute("InSlide")) InSlide=SubElement.attribute("InSlide"); ChaptersProperties.append("Chapter_"+ChapterNum+":Start" +QString("##")+Start); ChaptersProperties.append("Chapter_"+ChapterNum+":End" +QString("##")+End); ChaptersProperties.append("Chapter_"+ChapterNum+":Duration"+QString("##")+Duration); ChaptersProperties.append("Chapter_"+ChapterNum+":title" +QString("##")+Title); ChaptersProperties.append("Chapter_"+ChapterNum+":InSlide" +QString("##")+InSlide); } } } if ((Element.elementsByTagName("PrjLocation").length()>0)&&(Element.elementsByTagName("PrjLocation").item(0).isElement()==true)) { QDomElement SubElement=Element.elementsByTagName("PrjLocation").item(0).toElement(); if (Location) delete (cLocation *)Location; Location=new cLocation(ApplicationConfig); ((cLocation *)Location)->LoadFromXML(&SubElement,"",PathForRelativPath,AliasList,ModifyFlag,ResKeyList,DuplicateRes); } IsOk=true; } if ((ParentElement->elementsByTagName("Project").length()>0)&&(ParentElement->elementsByTagName("Project").item(0).isElement()==true)) { QDomElement Element=ParentElement->elementsByTagName("Project").item(0).toElement(); if (Element.hasAttribute("ImageGeometry")) { switch (Element.attribute("ImageGeometry").toInt()) { case GEOMETRY_16_9: ObjectGeometry=IMAGE_GEOMETRY_16_9; break; case GEOMETRY_40_17: ObjectGeometry=IMAGE_GEOMETRY_40_17; break; case GEOMETRY_4_3: default: ObjectGeometry=IMAGE_GEOMETRY_4_3; break; } } if (Element.hasAttribute("ObjectNumber")) NbrSlide=Element.attribute("ObjectNumber").toInt(); } return IsOk; } //==================================================================================================================== bool cffDProjectFile::GetChildFullInformationFromFile(cCustomIcon *Icon,QStringList *) { Icon->LoadIcons(&ApplicationConfig->DefaultFFDIcon); QFile file(FileName()); QDomDocument domDocument; QDomElement root; QString errorStr; int errorLine,errorColumn; if (file.open(QFile::ReadOnly | QFile::Text)) { QTextStream InStream(&file); QString ffDPart; bool EndffDPart=false; InStream.setCodec("UTF-8"); while (!InStream.atEnd()) { QString Line=InStream.readLine(); if (!EndffDPart) { ffDPart.append(Line); if (Line=="") EndffDPart=true; } } file.close(); // Now import ffDPart if (domDocument.setContent(ffDPart,true,&errorStr,&errorLine,&errorColumn)) { root = domDocument.documentElement(); // Load project properties if (root.tagName()==FFD_APPLICATION_ROOTNAME) LoadFromXML(&root,"",QFileInfo(file.fileName()).absolutePath(),NULL,NULL,NULL,false); } file.close(); } return true; } //==================================================================================================================== QString cffDProjectFile::GetTechInfo(QStringList *) { QString Info=""; if (Composer!="") Info=Info+(Info!=""?" - ":"")+Composer+" ("+ffDRevision+")"; if (GetImageSizeStr(cBaseMediaFile::GEOONLY)!="") Info=Info+(Info!=""?" - ":"")+GetImageSizeStr(cBaseMediaFile::GEOONLY); if (NbrSlide>0) Info=Info+(Info!=""?" - ":"")+QString("%1").arg(NbrSlide) +" "+QApplication::translate("cBaseMediaFile","Slides"); if (NbrChapters>0) Info=Info+(Info!=""?" - ":"")+QString("%1").arg(NbrChapters)+" "+QApplication::translate("cBaseMediaFile","Chapters"); return Info; } //==================================================================================================================== QString cffDProjectFile::GetTAGInfo(QStringList *) { QString Info=Title; if (LongDate!="") Info=Info+(Info!=""?" - ":"")+LongDate; else Info=Info+(Info!=""?" - ":"")+EventDate.toString(ApplicationConfig->ShortDateFormat); if (Album!="") Info=Info+(Info!=""?" - ":"")+Album; if (Author!="") Info=Info+(Info!=""?" - ":"")+Author; return Info; } //==================================================================================================================== QString cffDProjectFile::GetFileTypeStr() { return QApplication::translate("cBaseMediaFile","ffDiaporama","File type"); } //********************************************************************************************************************************************* // Image file //********************************************************************************************************************************************* cImageFile::cImageFile(cApplicationConfig *ApplicationConfig):cBaseMediaFile(ApplicationConfig) { ObjectType =OBJECTTYPE_IMAGEFILE; // coul be turn later to OBJECTTYPE_THUMBNAIL NoExifData =false; } //==================================================================================================================== cImageFile::~cImageFile() { } //==================================================================================================================== QString cImageFile::GetFileTypeStr() { if (ObjectType==OBJECTTYPE_IMAGEFILE) return QApplication::translate("cBaseMediaFile","Image","File type"); else if (ObjectType==OBJECTTYPE_IMAGEVECTOR) return QApplication::translate("cBaseMediaFile","Vector image","File type"); else return QApplication::translate("cBaseMediaFile","Thumbnail","File type"); } //==================================================================================================================== bool cImageFile::LoadBasicInformationFromDatabase(QDomElement *ParentElement,QString,QString,QStringList *,bool *,QList *,bool) { ImageWidth =ParentElement->attribute("ImageWidth").toInt(); ImageHeight =ParentElement->attribute("ImageHeight").toInt(); ImageOrientation=ParentElement->attribute("ImageOrientation").toInt(); ObjectGeometry =ParentElement->attribute("ObjectGeometry").toInt(); AspectRatio =GetDoubleValue(*ParentElement,"AspectRatio"); return true; } //==================================================================================================================== void cImageFile::SaveBasicInformationToDatabase(QDomElement *ParentElement,QString,QString,bool,cReplaceObjectList *,QList *,bool) { ParentElement->setAttribute("ImageWidth", ImageWidth); ParentElement->setAttribute("ImageHeight", ImageHeight); ParentElement->setAttribute("ImageOrientation", ImageOrientation); ParentElement->setAttribute("ObjectGeometry", ObjectGeometry); ParentElement->setAttribute("AspectRatio", QString("%1").arg(AspectRatio,0,'f')); } //==================================================================================================================== bool cImageFile::CheckFormatValide(QWidget *Window) { bool IsOk=GetFullInformationFromFile(); // Try to load an image to ensure all is ok if (IsOk) { QImage *Image=ImageAt(true); if (Image) { delete Image; } else { QString ErrorMessage=ErrorMessage+"\n"+QApplication::translate("MainWindow","Impossible to read an image from the file","Error message"); CustomMessageBox(Window,QMessageBox::Critical,QApplication::translate("MainWindow","Error","Error message"),ShortName()+"\n\n"+ErrorMessage,QMessageBox::Close); IsOk=false; } } return IsOk; } //==================================================================================================================== bool cImageFile::GetInformationFromFile(QString FileName,QStringList *AliasList,bool *ModifyFlag,qlonglong GivenFolderKey) { if (QFileInfo(FileName).suffix().toLower()=="svg") ObjectType=OBJECTTYPE_IMAGEVECTOR; return cBaseMediaFile::GetInformationFromFile(FileName,AliasList,ModifyFlag,GivenFolderKey); } //==================================================================================================================== bool cImageFile::GetChildFullInformationFromFile(cCustomIcon *Icon,QStringList *ExtendedProperties) { ImageOrientation =-1; bool ExifOk=false; if (ObjectType==OBJECTTYPE_IMAGEVECTOR) { // Vector image file QSvgRenderer SVGImg(FileName()); if (SVGImg.isValid()) { ImageOrientation=0; ImageWidth =SVGImg.viewBox().width(); ImageHeight =SVGImg.viewBox().height(); QPainter Painter; QImage Img; qreal RatioX=(ImageWidth>ImageHeight?1:qreal(ImageWidth)/qreal(ImageHeight)); qreal RatioY=(ImageWidthIcon16=QImage(16,16,QImage::Format_ARGB32_Premultiplied); Painter.begin(&Icon->Icon16); Painter.setCompositionMode(QPainter::CompositionMode_Source); Painter.fillRect(QRect(0,0,Icon->Icon16.width(),Icon->Icon16.height()),Qt::transparent); Painter.setCompositionMode(QPainter::CompositionMode_SourceOver); Painter.drawImage(QPoint((16-Img.width())/2,(16-Img.height())/2),Img); Painter.end(); // 100x100 icon Img=QImage(qreal(100)*RatioX,qreal(100)*RatioY,QImage::Format_ARGB32); Painter.begin(&Img); Painter.setCompositionMode(QPainter::CompositionMode_Source); Painter.fillRect(QRect(0,0,Img.width(),Img.height()),Qt::transparent); Painter.setCompositionMode(QPainter::CompositionMode_SourceOver); SVGImg.render(&Painter); Painter.end(); Icon->Icon100=QImage(100,100,QImage::Format_ARGB32_Premultiplied); Painter.begin(&Icon->Icon100); Painter.setCompositionMode(QPainter::CompositionMode_Source); Painter.fillRect(QRect(0,0,Icon->Icon100.width(),Icon->Icon100.height()),Qt::transparent); Painter.setCompositionMode(QPainter::CompositionMode_SourceOver); Painter.drawImage(QPoint((100-Img.width())/2,(100-Img.height())/2),Img); Painter.end(); ExtendedProperties->append(QString("Photo.PixelXDimension")+QString("##")+QString("%1").arg(ImageWidth)); ExtendedProperties->append(QString("Photo.PixelYDimension")+QString("##")+QString("%1").arg(ImageHeight)); } } else if (NoExifData) { } else if (!NoExifData) { // ****************************************************************************************************** // Try to load EXIF information using library exiv2 // ****************************************************************************************************** Exiv2::Image::AutoPtr ImageFile; try { #ifdef Q_OS_WIN ImageFile=Exiv2::ImageFactory::open(FileName().toLocal8Bit().data()); #else ImageFile=Exiv2::ImageFactory::open(FileName().toUtf8().data()); #endif ExifOk=true; } catch( Exiv2::Error& ) { //ToLog(LOGMSG_INFORMATION,QApplication::translate("cBaseMediaFile","Image don't have EXIF metadata %1").arg(FileName)); NoExifData=true; } if ((ExifOk)&&(ImageFile->good())) { ImageFile->readMetadata(); // Read data Exiv2::ExifData &exifData = ImageFile->exifData(); if (!exifData.empty()) { Exiv2::ExifData::const_iterator end = exifData.end(); for (Exiv2::ExifData::const_iterator CurrentData=exifData.begin();CurrentData!=end;++CurrentData) { if ((QString().fromStdString(CurrentData->key())=="Exif.Image.Orientation")&&(CurrentData->tag()==274)) ImageOrientation=QString().fromStdString(CurrentData->value().toString()).toInt(); if ((CurrentData->typeId()!=Exiv2::undefined)&& (!(((CurrentData->typeId()==Exiv2::unsignedByte)||(CurrentData->typeId()==Exiv2::signedByte))&&(CurrentData->size()>64)))) { QString Key =QString().fromStdString(CurrentData->key()); #ifdef Q_OS_WIN QString Value=QString().fromStdString(CurrentData->print(&exifData).c_str()); #else QString Value=QString().fromUtf8(CurrentData->print(&exifData).c_str()); #endif if (Key.startsWith("Exif.")) Key=Key.mid(QString("Exif.").length()); ExtendedProperties->append(Key+QString("##")+Value); } } } // Append ExtendedProperties if (GetInformationValue("Image.Artist",ExtendedProperties)!="") ExtendedProperties->append(QString("artist")+QString("##")+GetInformationValue("Image.Artist",ExtendedProperties)); if (GetInformationValue("Image.Model",ExtendedProperties)!="") { if (GetInformationValue("Image.Model",ExtendedProperties).contains(GetInformationValue("Image.Make",ExtendedProperties),Qt::CaseInsensitive)) ExtendedProperties->append(QString("composer")+QString("##")+GetInformationValue("Image.Model",ExtendedProperties)); else ExtendedProperties->append(QString("composer")+QString("##")+GetInformationValue("Image.Make",ExtendedProperties)+" "+GetInformationValue("Image.Model",ExtendedProperties)); } // Get size information ImageWidth =ImageFile->pixelWidth(); ImageHeight=ImageFile->pixelHeight(); //if (GetInformationValue("Photo.PixelXDimension")!="") ImageWidth =GetInformationValue("Photo.PixelXDimension").toInt(); // else if (GetInformationValue("Image.ImageWidth")!="") ImageWidth =GetInformationValue("Image.ImageWidth").toInt(); // TIFF Version //if (GetInformationValue("Photo.PixelYDimension")!="") ImageHeight=GetInformationValue("Photo.PixelYDimension").toInt(); // else if (GetInformationValue("Image.ImageLength")!="") ImageHeight=GetInformationValue("Image.ImageLength").toInt(); // TIFF Version // switch ImageWidth and ImageHeight if image was rotated if ((ImageOrientation==6)||(ImageOrientation==8)) { int IW=ImageWidth; ImageWidth=ImageHeight; ImageHeight=IW; } // Read preview image if ((Exiv2WithPreview)&&(Icon->Icon16.isNull() || Icon->Icon100.isNull())) { Exiv2::PreviewManager *Manager=new Exiv2::PreviewManager(*ImageFile); if (Manager) { Exiv2::PreviewPropertiesList Properties=Manager->getPreviewProperties(); if (!Properties.empty()) { Exiv2::PreviewImage Image=Manager->getPreviewImage(Properties[Properties.size()-1]); // Get the latest image (biggest) QImage *IconImage=new QImage(); if (IconImage->loadFromData(QByteArray((const char*)Image.pData(),Image.size()))) { if (ImageOrientation==8) { // Rotating image anti-clockwise by 90 degrees...' QMatrix matrix; matrix.rotate(-90); QImage *NewImage=new QImage(IconImage->transformed(matrix,Qt::SmoothTransformation)); delete IconImage; IconImage=NewImage; } else if (ImageOrientation==3) { // Rotating image clockwise by 180 degrees...' QMatrix matrix; matrix.rotate(180); QImage *NewImage=new QImage(IconImage->transformed(matrix,Qt::SmoothTransformation)); delete IconImage; IconImage=NewImage; } else if (ImageOrientation==6) { // Rotating image clockwise by 90 degrees...' QMatrix matrix; matrix.rotate(90); QImage *NewImage=new QImage(IconImage->transformed(matrix,Qt::SmoothTransformation)); delete IconImage; IconImage=NewImage; } // Sometimes, Icon have black bar : try to remove them if ((double(IconImage->width())/double(IconImage->height()))!=(double(ImageWidth)/double(ImageHeight))) { if (ImageWidth>ImageHeight) { int RealHeight=int((double(IconImage->width())*double(ImageHeight))/double(ImageWidth)); int Delta =IconImage->height()-RealHeight; QImage *NewImage=new QImage(IconImage->copy(0,Delta/2,IconImage->width(),IconImage->height()-Delta)); delete IconImage; IconImage=NewImage; // if preview Icon have a really small size, then don't use it if (IconImage->width()>=MinimumEXIFHeight) Icon->LoadIcons(IconImage); } else { int RealWidth=int((double(IconImage->height())*double(ImageWidth))/double(ImageHeight)); int Delta =IconImage->width()-RealWidth; QImage *NewImage=new QImage(IconImage->copy(Delta/2,0,IconImage->width()-Delta,IconImage->height())); delete IconImage; IconImage=NewImage; // if preview Icon have a really small size, then don't use it if (IconImage->height()>=MinimumEXIFHeight) Icon->LoadIcons(IconImage); } } } delete IconImage; } delete Manager; } } } //************************************************************************************ // If no exif preview image (of image too small) then load/create thumbnail //************************************************************************************ if (Icon->Icon16.isNull() || Icon->Icon100.isNull()) { cLuLoImageCacheObject *ImageObject=ApplicationConfig->ImagesCache.FindObject(RessourceKey,FileKey,ModifDateTime,ImageOrientation,ApplicationConfig->Smoothing,true); if (ImageObject==NULL) { ToLog(LOGMSG_CRITICAL,"Error in cImageFile::GetFullInformationFromFile : FindObject return NULL for thumbnail creation !"); } else { QImageReader ImgReader(FileName()); if (ImgReader.canRead()) { QSize Size=ImgReader.size(); if ((Size.width()>=100)||(Size.height()>=100)) { if ((qreal(Size.height())/qreal(Size.width()))*100<=100) { Size.setHeight((qreal(Size.height())/qreal(Size.width()))*100); Size.setWidth(100); } else { Size.setWidth((qreal(Size.width())/qreal(Size.height()))*100); Size.setHeight(100); } ImgReader.setScaledSize(Size); } QImage Image=ImgReader.read(); if (Image.isNull()) ToLog(LOGMSG_CRITICAL,"QImageReader.read return error in GetFullInformationFromFile"); else Icon->LoadIcons(&Image); } } } //************************************************************************************ // if no information about size then load image //************************************************************************************ if ((ImageWidth==0)||(ImageHeight==0)) { cLuLoImageCacheObject *ImageObject=ApplicationConfig->ImagesCache.FindObject(RessourceKey,FileKey,ModifDateTime,ImageOrientation,ApplicationConfig->Smoothing,true); if (ImageObject==NULL) { ToLog(LOGMSG_CRITICAL,"Error in cImageFile::GetFullInformationFromFile : FindObject return NULL for size computation !"); } else { QImageReader Img(FileName()); if (Img.canRead()) { QSize Size =Img.size(); ImageWidth =Size.width(); ImageHeight=Size.height(); ExtendedProperties->append(QString("Photo.PixelXDimension")+QString("##")+QString("%1").arg(ImageWidth)); ExtendedProperties->append(QString("Photo.PixelYDimension")+QString("##")+QString("%1").arg(ImageHeight)); } } } } //************************************************************************************ // End process by computing some values .... //************************************************************************************ // Sort ExtendedProperties ExtendedProperties->sort(); // Now we have image size then compute image geometry ObjectGeometry=IMAGE_GEOMETRY_UNKNOWN; double RatioHW=double(ImageWidth)/double(ImageHeight); if ((RatioHW>=1.45)&&(RatioHW<=1.55)) ObjectGeometry=IMAGE_GEOMETRY_3_2; else if ((RatioHW>=0.65)&&(RatioHW<=0.67)) ObjectGeometry=IMAGE_GEOMETRY_2_3; else if ((RatioHW>=1.32)&&(RatioHW<=1.34)) ObjectGeometry=IMAGE_GEOMETRY_4_3; else if ((RatioHW>=0.74)&&(RatioHW<=0.76)) ObjectGeometry=IMAGE_GEOMETRY_3_4; else if ((RatioHW>=1.77)&&(RatioHW<=1.79)) ObjectGeometry=IMAGE_GEOMETRY_16_9; else if ((RatioHW>=0.56)&&(RatioHW<=0.58)) ObjectGeometry=IMAGE_GEOMETRY_9_16; else if ((RatioHW>=2.34)&&(RatioHW<=2.36)) ObjectGeometry=IMAGE_GEOMETRY_40_17; else if ((RatioHW>=0.42)&&(RatioHW<=0.44)) ObjectGeometry=IMAGE_GEOMETRY_17_40; // if Icon16 stil null then load default icon if (Icon->Icon16.isNull() || Icon->Icon100.isNull()) Icon->LoadIcons(&ApplicationConfig->DefaultIMAGEIcon); return true; } //==================================================================================================================== QString cImageFile::GetTechInfo(QStringList *ExtendedProperties) { QString Info=GetImageSizeStr(FULLWEB); if (GetInformationValue("artist",ExtendedProperties)!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("artist",ExtendedProperties); if (GetInformationValue("composer",ExtendedProperties)!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("composer",ExtendedProperties); if (GetInformationValue("Image.Orientation",ExtendedProperties)!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("Image.Orientation",ExtendedProperties); return Info; } //==================================================================================================================== QString cImageFile::GetTAGInfo(QStringList *ExtendedProperties) { QString Info=GetInformationValue("Photo.ExposureTime",ExtendedProperties); if (GetInformationValue("Photo.ApertureValue",ExtendedProperties)!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("Photo.ApertureValue",ExtendedProperties); if (GetInformationValue("Photo.ISOSpeedRatings",ExtendedProperties)!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("Photo.ISOSpeedRatings",ExtendedProperties)+" ISO"; if (GetInformationValue("CanonCs.LensType",ExtendedProperties)!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("CanonCs.LensType",ExtendedProperties); // Canon version if (GetInformationValue("NikonLd3.LensIDNumber",ExtendedProperties)!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("NikonLd3.LensIDNumber",ExtendedProperties); // Nikon version if (GetInformationValue("Photo.Flash",ExtendedProperties)!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("Photo.Flash",ExtendedProperties); if (GetInformationValue("CanonCs.FlashMode",ExtendedProperties)!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("CanonCs.FlashMode",ExtendedProperties); // Canon version if (GetInformationValue("Nikon3.FlashMode",ExtendedProperties)!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("Nikon3.FlashMode",ExtendedProperties); // Nikon version return Info; } //==================================================================================================================== QImage *cImageFile::ImageAt(bool PreviewMode) { if (!IsValide) return NULL; //if (!IsInformationValide) GetFullInformationFromFile(); QImage *RetImage=NULL; if (ObjectType==OBJECTTYPE_IMAGEVECTOR) { // Vector image file QSvgRenderer SVGImg(FileName()); if (SVGImg.isValid()) { if ((ImageWidth==0)||(ImageHeight==0)) { ImageWidth =SVGImg.defaultSize().width(); ImageHeight=SVGImg.defaultSize().height(); } RetImage=new QImage(ImageWidth,ImageHeight,QImage::Format_ARGB32_Premultiplied); QPainter Painter; Painter.begin(RetImage); Painter.setCompositionMode(QPainter::CompositionMode_Source); Painter.fillRect(QRect(0,0,RetImage->width(),RetImage->height()),Qt::transparent); Painter.setCompositionMode(QPainter::CompositionMode_SourceOver); Painter.setClipping(true); Painter.setClipRect(QRect(0,0,RetImage->width(),RetImage->height())); SVGImg.render(&Painter,QRectF(0,0,RetImage->width(),RetImage->height())); Painter.end(); } } else { cLuLoImageCacheObject *ImageObject=ApplicationConfig->ImagesCache.FindObject(RessourceKey,FileKey,ModifDateTime,ImageOrientation,(!PreviewMode || ApplicationConfig->Smoothing),true); if (!ImageObject) { ToLog(LOGMSG_CRITICAL,"Error in cImageFile::ImageAt : FindObject return NULL !"); return NULL; // There is an error !!!!! } if (PreviewMode) RetImage=ImageObject->ValidateCachePreviewImage(); else RetImage=ImageObject->ValidateCacheRenderImage(); if (RetImage==NULL) ToLog(LOGMSG_CRITICAL,"Error in cImageFile::ImageAt : ValidateCacheImage return NULL !"); } // return wanted image return RetImage; } //********************************************************************************************************************************************* // Image from clipboard //********************************************************************************************************************************************* cImageClipboard::cImageClipboard(cApplicationConfig *ApplicationConfig):cImageFile(ApplicationConfig) { ObjectType =OBJECTTYPE_IMAGECLIPBOARD; ObjectName ="ImageClipboard"; NoExifData =true; ImageOrientation=0; } //==================================================================================================================== cImageClipboard::~cImageClipboard() { } //==================================================================================================================== bool cImageClipboard::LoadBasicInformationFromDatabase(QDomElement *ParentElement,QString,QString,QStringList *,bool *,QList *,bool) { ImageWidth =ParentElement->attribute("ImageWidth").toInt(); ImageHeight =ParentElement->attribute("ImageHeight").toInt(); ImageOrientation=ParentElement->attribute("ImageOrientation").toInt(); ObjectGeometry =ParentElement->attribute("ObjectGeometry").toInt(); AspectRatio =GetDoubleValue(*ParentElement,"AspectRatio"); CreatDateTime.fromString(ParentElement->attribute("CreatDateTime"),Qt::ISODate); return true; } //==================================================================================================================== void cImageClipboard::SaveBasicInformationToDatabase(QDomElement *ParentElement,QString,QString,bool,cReplaceObjectList *,QList *,bool) { ParentElement->setAttribute("ImageWidth", ImageWidth); ParentElement->setAttribute("ImageHeight", ImageHeight); ParentElement->setAttribute("ImageOrientation", ImageOrientation); ParentElement->setAttribute("ObjectGeometry", ObjectGeometry); ParentElement->setAttribute("AspectRatio", QString("%1").arg(AspectRatio,0,'f')); ParentElement->setAttribute("CreatDateTime", CreatDateTime.toString(Qt::ISODate)); } //==================================================================================================================== bool cImageClipboard::GetInformationFromFile(QString,QStringList *,bool *,qlonglong) { QImage ImageClipboard; ApplicationConfig->SlideThumbsTable->GetThumbs(&RessourceKey,&ImageClipboard); if (!ImageClipboard.isNull()) { ImageWidth=ImageClipboard.width(); ImageHeight=ImageClipboard.height(); ImageOrientation=0; AspectRatio=double(ImageHeight)/double(ImageWidth); // Now we have image size then compute image geometry ObjectGeometry=IMAGE_GEOMETRY_UNKNOWN; double RatioHW=double(ImageWidth)/double(ImageHeight); if ((RatioHW>=1.45)&&(RatioHW<=1.55)) ObjectGeometry=IMAGE_GEOMETRY_3_2; else if ((RatioHW>=0.65)&&(RatioHW<=0.67)) ObjectGeometry=IMAGE_GEOMETRY_2_3; else if ((RatioHW>=1.32)&&(RatioHW<=1.34)) ObjectGeometry=IMAGE_GEOMETRY_4_3; else if ((RatioHW>=0.74)&&(RatioHW<=0.76)) ObjectGeometry=IMAGE_GEOMETRY_3_4; else if ((RatioHW>=1.77)&&(RatioHW<=1.79)) ObjectGeometry=IMAGE_GEOMETRY_16_9; else if ((RatioHW>=0.56)&&(RatioHW<=0.58)) ObjectGeometry=IMAGE_GEOMETRY_9_16; else if ((RatioHW>=2.34)&&(RatioHW<=2.36)) ObjectGeometry=IMAGE_GEOMETRY_40_17; else if ((RatioHW>=0.42)&&(RatioHW<=0.44)) ObjectGeometry=IMAGE_GEOMETRY_17_40; IsValide=true; } else IsValide=false; return IsValide; } //==================================================================================================================== bool cImageClipboard::GetChildFullInformationFromFile(cCustomIcon *Icon,QStringList *ExtendedProperties) { if (Icon) { if (Icon->Icon16.isNull() || Icon->Icon100.isNull()) Icon->LoadIcons(&ApplicationConfig->DefaultIMAGEIcon); } if (ExtendedProperties) { ExtendedProperties->append(QString("Photo.PixelXDimension")+QString("##")+QString("%1").arg(ImageWidth)); ExtendedProperties->append(QString("Photo.PixelYDimension")+QString("##")+QString("%1").arg(ImageHeight)); } return true; } //==================================================================================================================== QStringList cImageClipboard::GetSummaryText(QStringList *) { QStringList SummaryText; SummaryText.append(GetFileTypeStr()); SummaryText.append(GetImageSizeStr(cBaseMediaFile::FULLWEB)); SummaryText.append(""); return SummaryText; } //==================================================================================================================== bool cImageClipboard::LoadFromXML(QDomElement *ParentElement,QString ElementName,QString PathForRelativPath,QStringList *AliasList,bool *ModifyFlag,QList *ResKeyList,bool DuplicateRes) { if ((DuplicateRes)&&(ObjectType==OBJECTTYPE_IMAGECLIPBOARD)) DuplicateRes=false; // Never duplicate an image clipboard (but allow it for child) if ((ParentElement->elementsByTagName(ObjectName).length()>0)&&(ParentElement->elementsByTagName(ObjectName).item(0).isElement()==true)) { QDomElement SubElement=ParentElement->elementsByTagName(ObjectName).item(0).toElement(); if (LoadBasicInformationFromDatabase(&SubElement,ElementName,PathForRelativPath,AliasList,ModifyFlag,ResKeyList,DuplicateRes)) { if (ResKeyList) { RessourceKey=SubElement.attribute("RessourceKey").toLongLong(); for (int ResNum=0;ResNumcount();ResNum++) if (RessourceKey==ResKeyList->at(ResNum).OrigKey) { RessourceKey=ResKeyList->at(ResNum).NewKey; break; } } else RessourceKey=SubElement.attribute("RessourceKey").toLongLong(); // if DuplicateRes (for exemple during a paste operation) if ((DuplicateRes)&&(RessourceKey!=-1)) { QImage Image; ApplicationConfig->SlideThumbsTable->GetThumbs(&RessourceKey,&Image); RessourceKey=-1; ApplicationConfig->SlideThumbsTable->SetThumbs(&RessourceKey,Image); } return true; } else return false; } else return false; } //==================================================================================================================== void cImageClipboard::SaveToXML(QDomElement *ParentElement,QString ElementName,QString PathForRelativPath,bool ForceAbsolutPath,cReplaceObjectList *ReplaceList,QList *ResKeyList,bool IsModel) { QDomDocument DomDocument; QDomElement SubElement=DomDocument.createElement(ObjectName); SaveBasicInformationToDatabase(&SubElement,ElementName,PathForRelativPath,ForceAbsolutPath,ReplaceList,ResKeyList,IsModel); SubElement.setAttribute("RessourceKey",RessourceKey); if (ResKeyList) { // Check if RessourceKey is already in the ResKeyList bool ToAppend=true; for (int i=0;icount();i++) if (ResKeyList->at(i)==RessourceKey) ToAppend=false; // If not found, then add it to the list if (ToAppend) ResKeyList->append(RessourceKey); } ParentElement->appendChild(SubElement); } //********************************************************************************************************************************************* // Google maps map //********************************************************************************************************************************************* cGMapsMap::cGMapsMap(cApplicationConfig *ApplicationConfig):cImageClipboard(ApplicationConfig) { ObjectType =OBJECTTYPE_GMAPSMAP; ObjectName ="GoogleMapsMap"; NoExifData =true; MapType =Hybrid; ImageSize =Small; ZoomLevel =13; Scale =1; IsMapValide =false; IsValide =true; } //==================================================================================================================== cGMapsMap::~cGMapsMap() { while (List.count()) delete (cLocation *)List.takeLast(); } //==================================================================================================================== void cGMapsMap::SaveToXML(QDomElement *ParentElement,QString ElementName,QString PathForRelativPath,bool ForceAbsolutPath,cReplaceObjectList *ReplaceList,QList *ResKeyList,bool IsModel) { QDomDocument DomDocument; QDomElement SubElement=DomDocument.createElement(ObjectName); bool HaveVarLoc=false; // if model, then check if map depends on projet or chapter location if (IsModel) for (int i=0;iLocationType!=cLocation::FREE) HaveVarLoc=true; SaveBasicInformationToDatabase(&SubElement,ElementName,PathForRelativPath,ForceAbsolutPath,ReplaceList,ResKeyList,IsModel); if ((!IsModel)||(IsModel && !HaveVarLoc)) { SubElement.setAttribute("RessourceKey",RessourceKey); if (ResKeyList) { // Check if RessourceKey is already in the ResKeyList bool ToAppend=true; for (int i=0;icount();i++) if (ResKeyList->at(i)==RessourceKey) ToAppend=false; // If not found, then add it to the list if (ToAppend) ResKeyList->append(RessourceKey); } } else SubElement.setAttribute("RessourceKey",-1); // Don't save ressource if model and map depends on projet or chapter location ParentElement->appendChild(SubElement); } //==================================================================================================================== bool cGMapsMap::LoadBasicInformationFromDatabase(QDomElement *ParentElement,QString ElementName,QString PathForRelativPath,QStringList *AliasList,bool *ModifyFlag,QList *ResKeyList,bool DuplicateRes) { int i; if (cImageClipboard::LoadBasicInformationFromDatabase(ParentElement,ElementName,PathForRelativPath,AliasList,ModifyFlag,ResKeyList,DuplicateRes)) { if (ParentElement->hasAttribute("MapType")) MapType =(GMapsMapType)ParentElement->attribute("MapType").toInt(); if (ParentElement->hasAttribute("ImageSize")) ImageSize =(GMapsImageSize)ParentElement->attribute("ImageSize").toInt(); if (ParentElement->hasAttribute("ZoomLevel")) ZoomLevel =ParentElement->attribute("ZoomLevel").toInt(); if (ParentElement->hasAttribute("Scale")) Scale =ParentElement->attribute("Scale").toInt(); if (ParentElement->hasAttribute("MapCx")) MapCx =GetDoubleValue(*ParentElement,"MapCx"); if (ParentElement->hasAttribute("MapCy")) MapCy =GetDoubleValue(*ParentElement,"MapCy"); if (ParentElement->hasAttribute("MapValide")) IsMapValide=ParentElement->attribute("MapValide")=="1"; // Loading of locations list while (List.count()) delete (cLocation *)List.takeLast(); i=0; while ((ParentElement->elementsByTagName(QString("Location_%1").arg(i)).length()>0)&&(ParentElement->elementsByTagName(QString("Location_%1").arg(i)).item(0).isElement()==true)) { QDomElement SubElement=ParentElement->elementsByTagName(QString("Location_%1").arg(i)).item(0).toElement(); cLocation *Location=new cLocation(ApplicationConfig); Location->LoadFromXML(&SubElement,"",PathForRelativPath,AliasList,ModifyFlag,ResKeyList,DuplicateRes); List.append(Location); i++; } // Loading of pending request sections list RequestList.clear(); i=0; while ((ParentElement->elementsByTagName(QString("PendingSection_%1").arg(i)).length()>0)&&(ParentElement->elementsByTagName(QString("PendingSection_%1").arg(i)).item(0).isElement()==true)) { QDomElement SubElement=ParentElement->elementsByTagName(QString("PendingSection_%1").arg(i)).item(0).toElement(); RequestSection Item; double X,Y; QString R; if (SubElement.hasAttribute("X")) X=GetDoubleValue(SubElement,"X"); if (SubElement.hasAttribute("Y")) Y=GetDoubleValue(SubElement,"Y"); if (SubElement.hasAttribute("R")) R=SubElement.attribute("R"); Item.Rect=QRectF(X,Y,SectionWith,SectionHeight); Item.GoogleRequest=R; RequestList.append(Item); i++; } return true; } else return false; } //==================================================================================================================== void cGMapsMap::SaveBasicInformationToDatabase(QDomElement *ParentElement,QString ElementName,QString PathForRelativPath,bool ForceAbsolutPath,cReplaceObjectList *ReplaceList,QList *ResKeyList,bool IsModel) { QDomDocument Document; cImageClipboard::SaveBasicInformationToDatabase(ParentElement,ElementName,PathForRelativPath,ForceAbsolutPath,ReplaceList,ResKeyList,IsModel); bool HaveVarLoc=false; // if model, then check if map depends on projet or chapter location if (IsModel) for (int i=0;iLocationType!=cLocation::FREE) HaveVarLoc=true; ParentElement->setAttribute("MapValide",(IsMapValide && !HaveVarLoc)?"1":"0"); ParentElement->setAttribute("MapType",MapType); ParentElement->setAttribute("ImageSize",ImageSize); ParentElement->setAttribute("ZoomLevel",ZoomLevel); ParentElement->setAttribute("Scale",Scale); ParentElement->setAttribute("MapCx",MapCx); ParentElement->setAttribute("MapCy",MapCy); // Saving of locations list for (int i=0;iSaveToXML(&SubElement,"",PathForRelativPath,ForceAbsolutPath,ReplaceList,ResKeyList,IsModel); ParentElement->appendChild(SubElement); } // Saving of pending request sections list for (int i=0;iappendChild(SubElement); } } //==================================================================================================================== bool cGMapsMap::GetInformationFromFile(QString,QStringList *,bool *,qlonglong) { QSize Size=GetCurrentImageSize(); ImageWidth=Size.width(); ImageHeight=Size.height(); ImageOrientation=0; AspectRatio=double(ImageHeight)/double(ImageWidth); ObjectGeometry=IMAGE_GEOMETRY_16_9; IsValide=true; return true; } //==================================================================================================================== bool cGMapsMap::GetChildFullInformationFromFile(cCustomIcon *Icon,QStringList *ExtendedProperties) { if ((cImageClipboard::GetChildFullInformationFromFile(Icon,ExtendedProperties))&&(ExtendedProperties)) { ExtendedProperties->append(QApplication::translate("cBaseMediaFile","Map type")+QString("##")+QString("%1").arg(GetCurrentMapTypeName())); ExtendedProperties->append(QApplication::translate("cBaseMediaFile","Image size")+QString("##")+QString("%1").arg(GetCurrentImageSizeName())); ExtendedProperties->append(QApplication::translate("cBaseMediaFile","Map zoom and size")+QString("##")+QString("%1").arg(GetMapSizesPerZoomLevel()[ZoomLevel])); ExtendedProperties->append(QApplication::translate("cBaseMediaFile","Map latitude")+QString("##")+QString("%1").arg(PIXEL2GPS_Y(MapCy,ZoomLevel,Scale))); ExtendedProperties->append(QApplication::translate("cBaseMediaFile","Map longitude")+QString("##")+QString("%1").arg(PIXEL2GPS_X(MapCx,ZoomLevel,Scale))); } return true; } //==================================================================================================================== QString cGMapsMap::GetTechInfo(QStringList *) { return QString(QApplication::translate("cBaseMediaFile","%1 location(s)")).arg(List.count()); } //==================================================================================================================== QString cGMapsMap::GetTAGInfo(QStringList *) { return QString("%1-%2").arg(GetCurrentMapTypeName()).arg(GetCurrentImageSizeName()); } //==================================================================================================================== QStringList cGMapsMap::GetSummaryText(QStringList *ExtendedProperties) { QStringList SummaryText; SummaryText.append(GetFileTypeStr()); SummaryText.append(GetTAGInfo(ExtendedProperties)); SummaryText.append(QApplication::translate("cBaseMediaFile","GPS Coordinates %1 / %2").arg(PIXEL2GPS_Y(MapCy,ZoomLevel,Scale)).arg(PIXEL2GPS_X(MapCx,ZoomLevel,Scale))); return SummaryText; } //==================================================================================================================== QImage *cGMapsMap::ImageAt(bool PreviewMode) { if (RessourceKey==-1) { QImage *Img=new QImage(":/img/defaultmap.png"); // If no ressource at this point then we are displaying a model ! QString Text=QApplication::translate("cBaseMediaFile","%1\nZoom %2").arg(GetCurrentImageSizeName(false)).arg(ZoomLevel); QPainter P; P.begin(Img); QFont font= QApplication::font(); font.setPixelSize(double(Img->height())/double(6)); P.setFont(font); P.setPen(QPen(Qt::black)); P.drawText(QRectF(0,0,Img->width()-2,Img->height()-2),Text,QTextOption(Qt::AlignHCenter|Qt::AlignVCenter)); P.drawText(QRectF(1,0,Img->width()-2,Img->height()-2),Text,QTextOption(Qt::AlignHCenter|Qt::AlignVCenter)); P.drawText(QRectF(2,0,Img->width()-2,Img->height()-2),Text,QTextOption(Qt::AlignHCenter|Qt::AlignVCenter)); P.drawText(QRectF(0,2,Img->width()-2,Img->height()-2),Text,QTextOption(Qt::AlignHCenter|Qt::AlignVCenter)); P.drawText(QRectF(1,2,Img->width()-2,Img->height()-2),Text,QTextOption(Qt::AlignHCenter|Qt::AlignVCenter)); P.drawText(QRectF(2,2,Img->width()-2,Img->height()-2),Text,QTextOption(Qt::AlignHCenter|Qt::AlignVCenter)); P.drawText(QRectF(0,1,Img->width()-2,Img->height()-2),Text,QTextOption(Qt::AlignHCenter|Qt::AlignVCenter)); P.drawText(QRectF(2,1,Img->width()-2,Img->height()-2),Text,QTextOption(Qt::AlignHCenter|Qt::AlignVCenter)); P.setPen(QPen(Qt::white)); P.drawText(QRectF(1,1,Img->width()-2,Img->height()-2),Text,QTextOption(Qt::AlignHCenter|Qt::AlignVCenter)); P.end(); return Img; } else if (IsMapValide) return cImageClipboard::ImageAt(PreviewMode); else return new QImage(CreateDefaultImage(NULL)); } //==================================================================================================================== QStringList cGMapsMap::GetGoogleMapTypeNames() { QStringList GoogleMapTypeName; GoogleMapTypeName.append("roadmap"); GoogleMapTypeName.append("satellite"); GoogleMapTypeName.append("terrain"); GoogleMapTypeName.append("hybrid"); return GoogleMapTypeName; } QStringList cGMapsMap::GetMapTypeNames() { QStringList List; List.append(QApplication::translate("cBaseMediaFile","Roadmap")); List.append(QApplication::translate("cBaseMediaFile","Satellite")); List.append(QApplication::translate("cBaseMediaFile","Terrain")); List.append(QApplication::translate("cBaseMediaFile","Hybrid")); return List; } QStringList cGMapsMap::GetShortImageSizeNames() { QStringList List; List.append(QApplication::translate("cBaseMediaFile","Small")); List.append("720p"); List.append("720px4"); List.append("720px9"); List.append("1080p"); List.append("1080px4"); List.append("1080px9"); return List; } QStringList cGMapsMap::GetImageSizeNames() { QStringList List; List.append(QApplication::translate("cBaseMediaFile","Small (640x360)")); List.append(QApplication::translate("cBaseMediaFile","720p-16:9 (1280x720)")); List.append(QApplication::translate("cBaseMediaFile","720px4-16:9 (2560x1440)")); List.append(QApplication::translate("cBaseMediaFile","720px9-16:9 (3840x2160)")); List.append(QApplication::translate("cBaseMediaFile","1080p-16:9 (1920x1080)")); List.append(QApplication::translate("cBaseMediaFile","1080px4-16:9 (3840x2160)")); List.append(QApplication::translate("cBaseMediaFile","1080px9-16:9 (5760x3240)")); return List; } QString cGMapsMap::GetCurrentMapTypeName() { return GetMapTypeNames().at(MapType); } QString cGMapsMap::GetCurrentGoogleMapTypeName() { return GetGoogleMapTypeNames().at(MapType); } QString cGMapsMap::GetCurrentImageSizeName(bool Full) { if (Full) return GetImageSizeNames().at(ImageSize); else return GetShortImageSizeNames().at(ImageSize); } QSize cGMapsMap::GetCurrentImageSize() { switch (ImageSize) { case GMapsImageSize_NBR: case Small: return QSize(640,360); case FS720P: return QSize(1280,720); case FS720X4: return QSize(2560,1440); case FS720X9: return QSize(3840,2160); case FS1080P: return QSize(1920,1080); case FS1080X4: return QSize(3840,2160); case FS1080X9: return QSize(5760,3240); } return QSize(600,600); } //==================================================================================================================== // return minimum zoom level depending on current image size int cGMapsMap::GetMinZoomLevelForSize() { switch (ImageSize) { case GMapsImageSize_NBR: case Small: return 2; case FS720P: return 3; case FS720X4: return 4; case FS720X9: return 5; case FS1080P: return 4; case FS1080X4: return 5; case FS1080X9: return 6; } return 5; } //==================================================================================================================== int cGMapsMap::ComputeNbrSection(int Size,int Divisor) { int Ret=Size/Divisor; if (Ret*DivisorGPS_cx; double GPS_x2=GPS_x1; double GPS_y1=((cLocation *)List.at(0))->GPS_cy; double GPS_y2=GPS_y1; for (int i=1;iGPS_cxGPS_cx; if (((cLocation *)List.at(i))->GPS_cx>GPS_x2) GPS_x2=((cLocation *)List.at(i))->GPS_cx; if (((cLocation *)List.at(i))->GPS_cyGPS_cy; if (((cLocation *)List.at(i))->GPS_cy>GPS_y2) GPS_y2=((cLocation *)List.at(i))->GPS_cy; } return QRectF(GPS_x1,GPS_y1,GPS_x2-GPS_x1,GPS_y2-GPS_y1); } QStringList cGMapsMap::GetMapSizesPerZoomLevel() { QStringList DistanceList; QSize MapS =GetCurrentImageSize(); QRectF Wanted =GetGPSRectF(); double WWidth =DISTANCE(Wanted.left(),Wanted.top(),Wanted.right(),Wanted.top()); double WHeight=DISTANCE(Wanted.left(),Wanted.top(),Wanted.left(), Wanted.bottom()); double W =MapS.width(); double H =MapS.height(); double GPS0x =0; double GPS0y =0; int Start =GetMinZoomLevelForSize(); for (int i=0;i=WWidth)&&(Height>=WHeight)))&&(Width>=0.4)&&(Height>=0.4)) { if (ApplicationConfig->DistanceUnit==cApplicationConfig::MILES) DistanceList.append(QString("Zoom %1: %2 miles x %3 miles").arg(i).arg(KMTOMILES(Width),0,'f',3).arg(KMTOMILES(Height),0,'f',3)); else DistanceList.append(QString("Zoom %1: %2 km x %3 km").arg(i).arg(Width,0,'f',3).arg(Height,0,'f',3)); } else DistanceList.append(QString()); } return DistanceList; } QRectF cGMapsMap::GetPixRectF() { QRectF GPSRect=GetGPSRectF(); QRectF PixRect; PixRect.setLeft (GPS2PIXEL_X(GPSRect.left(), ZoomLevel,Scale)); PixRect.setRight (GPS2PIXEL_X(GPSRect.right(), ZoomLevel,Scale)); PixRect.setTop (GPS2PIXEL_Y(GPSRect.top(), ZoomLevel,Scale)); PixRect.setBottom(GPS2PIXEL_Y(GPSRect.bottom(),ZoomLevel,Scale)); return PixRect; } void cGMapsMap::ComputeSectionList() { QSize IMSize =GetCurrentImageSize(); double Map_Cx =IMSize.width()/2; double Map_Cy =IMSize.height()/2; QRectF PixRect =GetPixRectF(); MapCx=PixRect.center().x(); MapCy=PixRect.center().y(); RequestList.clear(); RequestSection Item; for (int i=0;iList.count())) return Ret; Ret.setX(GPS2PIXEL_X(((cLocation *)List[Index])->GPS_cx,ZoomLevel,Scale)-MapCx+Map_Cx); Ret.setY(GPS2PIXEL_Y(((cLocation *)List[Index])->GPS_cy,ZoomLevel,Scale)-MapCy+Map_Cy); return Ret; } //==================================================================================================================== QImage cGMapsMap::CreateDefaultImage(cDiaporama *Diaporama) { // clear request list (delete any pending section) RequestList.clear(); // Create a new ressource key RessourceKey=-1; //ApplicationConfig->ImagesCache.RemoveImageObject(RessourceKey,FileKey); // remove object from Lulo if it exist // create new empty image QImage Image(GetCurrentImageSize(),QImage::Format_ARGB32_Premultiplied); ImageWidth =Image.width(); ImageHeight =Image.height(); Image.fill(Qt::white); // search if list contains Project's or Chapter's location bool HaveLinkLoc=false; for (int i=0;iLocationType!=cLocation::FREE) HaveLinkLoc=true; if ((HaveLinkLoc)&&((!Diaporama)||(Diaporama->ProjectInfo->Location==NULL))) { // add a message on the image if project location is empty QPainter Painter; Painter.begin(&Image); QFont font= QApplication::font(); font.setPixelSize(double(Image.height())/double(20)); Painter.setFont(font); if (!Diaporama) Painter.drawText(QRectF(0,0,Image.width(),Image.height()), Qt::AlignHCenter|Qt::AlignCenter|Qt::TextWordWrap, QApplication::translate("cBaseMediaFile","The map must be regenerated because the locations have changed or project's location no set")); else Painter.drawText(QRectF(0,0,Image.width(),Image.height()), Qt::AlignHCenter|Qt::AlignCenter|Qt::TextWordWrap, QApplication::translate("cBaseMediaFile","Project's location must be defined to produce this Google Maps map")); Painter.end(); } else if (List.isEmpty()) { // add a message on the image if location list is empty QPainter Painter; Painter.begin(&Image); QFont font= QApplication::font(); font.setPixelSize(double(Image.height())/double(20)); Painter.setFont(font); Painter.drawText(QRectF(0,0,Image.width(),Image.height()), Qt::AlignHCenter|Qt::AlignCenter|Qt::TextWordWrap, QApplication::translate("cBaseMediaFile","Select at least one location to produce Google Maps map")); Painter.end(); } // update ressource image in database ApplicationConfig->SlideThumbsTable->SetThumbs(&RessourceKey,Image); // return image return Image; } /************************************************************************************************************************************* CLASS cVideoFile *************************************************************************************************************************************/ cImageInCache::cImageInCache(int64_t Position,AVFrame *FiltFrame,AVFrame *FrameBufferYUV) { this->Position =Position; this->FiltFrame =FiltFrame; this->FrameBufferYUV=FrameBufferYUV; } cImageInCache::~cImageInCache() { #if defined(LIBAV) || (defined(FFMPEG)&&(FFMPEGVERSIONINT<201)) if (FrameBufferYUV->opaque) { avfilter_unref_buffer((AVFilterBufferRef *)FrameBufferYUV->opaque); FrameBufferYUV->opaque=NULL; } #elif defined(FFMPEG) && (FFMPEGVERSIONINT>=201) if (FiltFrame) { av_frame_unref(FiltFrame); av_frame_free(&FiltFrame); //av_frame_unref(FrameBufferYUV); } #endif FREEFRAME(&FrameBufferYUV); } cVideoFile::cVideoFile(cApplicationConfig *ApplicationConfig):cBaseMediaFile(ApplicationConfig) { Reset(OBJECTTYPE_VIDEOFILE); } void cVideoFile::Reset(OBJECTTYPE TheWantedObjectType) { cBaseMediaFile::Reset(); MusicOnly =(TheWantedObjectType==OBJECTTYPE_MUSICFILE); ObjectType =TheWantedObjectType; IsOpen =false; StartPos =QTime(0,0,0,0); // Start position EndPos =QTime(0,0,0,0); // End position LibavStartTime =0; // Video part IsMTS =false; LibavVideoFile =NULL; VideoDecoderCodec =NULL; VideoStreamNumber =0; FrameBufferYUV =NULL; FrameBufferYUVReady =false; FrameBufferYUVPosition =0; VideoCodecInfo =""; VideoTrackNbr =0; VideoStreamNumber =-1; NbrChapters =0; // Audio part LibavAudioFile =NULL; AudioDecoderCodec =NULL; LastAudioReadedPosition =-1; IsVorbis =false; AudioCodecInfo =""; AudioTrackNbr =0; AudioStreamNumber =-1; // Audio resampling RSC =NULL; RSC_InChannels =2; RSC_OutChannels =2; RSC_InSampleRate =48000; RSC_OutSampleRate =48000; #if (defined(LIBAV) && (LIBAVVERSIONINT>=9)) || defined(FFMPEG) RSC_InChannelLayout =av_get_default_channel_layout(2); RSC_OutChannelLayout =av_get_default_channel_layout(2); #endif RSC_InSampleFmt =AV_SAMPLE_FMT_S16; RSC_OutSampleFmt =AV_SAMPLE_FMT_S16; // Filter part VideoFilterGraph =NULL; VideoFilterIn =NULL; VideoFilterOut =NULL; } //==================================================================================================================== cVideoFile::~cVideoFile() { // Close LibAVFormat and LibAVCodec contexte for the file CloseCodecAndFile(); } //==================================================================================================================== bool cVideoFile::LoadBasicInformationFromDatabase(QDomElement *ParentElement,QString,QString,QStringList *,bool *,QList *,bool) { ImageWidth =ParentElement->attribute("ImageWidth").toInt(); ImageHeight =ParentElement->attribute("ImageHeight").toInt(); ImageOrientation =ParentElement->attribute("ImageOrientation").toInt(); ObjectGeometry =ParentElement->attribute("ObjectGeometry").toInt(); AspectRatio =GetDoubleValue(*ParentElement,"AspectRatio"); Duration =QTime(0,0,0,0).addMSecs(ParentElement->attribute("Duration").toLongLong()); NbrChapters =ParentElement->attribute("NbrChapters").toInt(); VideoStreamNumber=ParentElement->attribute("VideoStreamNumber").toInt(); VideoTrackNbr =ParentElement->attribute("VideoTrackNbr").toInt(); AudioStreamNumber=ParentElement->attribute("AudioStreamNumber").toInt(); AudioTrackNbr =ParentElement->attribute("AudioTrackNbr").toInt(); if (EndPos==QTime(0,0,0,0)) EndPos=Duration; return true; } //==================================================================================================================== void cVideoFile::SaveBasicInformationToDatabase(QDomElement *ParentElement,QString,QString,bool,cReplaceObjectList *,QList *,bool) { ParentElement->setAttribute("ImageWidth", ImageWidth); ParentElement->setAttribute("ImageHeight", ImageHeight); ParentElement->setAttribute("ImageOrientation", ImageOrientation); ParentElement->setAttribute("ObjectGeometry", ObjectGeometry); ParentElement->setAttribute("AspectRatio", QString("%1").arg(AspectRatio,0,'f')); ParentElement->setAttribute("Duration", QTime(0,0,0,0).msecsTo(Duration)); ParentElement->setAttribute("NbrChapters", NbrChapters); ParentElement->setAttribute("VideoStreamNumber", VideoStreamNumber); ParentElement->setAttribute("VideoTrackNbr", VideoTrackNbr); ParentElement->setAttribute("AudioStreamNumber", AudioStreamNumber); ParentElement->setAttribute("AudioTrackNbr", AudioTrackNbr); } //==================================================================================================================== // Overloaded function use to dertermine if format of media file is correct bool cVideoFile::CheckFormatValide(QWidget *Window) { bool IsOk=IsValide; // try to open file if (!OpenCodecAndFile()) { QString ErrorMessage =QApplication::translate("MainWindow","Format not supported","Error message"); CustomMessageBox(Window,QMessageBox::Critical,QApplication::translate("MainWindow","Error","Error message"),ShortName()+"\n\n"+ErrorMessage,QMessageBox::Close); IsOk=false; } // check if file have at least one sound track compatible if ((IsOk)&&(AudioStreamNumber!=-1)) { if (!((LibavAudioFile->streams[AudioStreamNumber]->codec->sample_fmt!=AV_SAMPLE_FMT_S16)||(LibavAudioFile->streams[AudioStreamNumber]->codec->sample_fmt!=AV_SAMPLE_FMT_U8))) { QString ErrorMessage="\n"+QApplication::translate("MainWindow","This application support only audio track with unsigned 8 bits or signed 16 bits sample format","Error message"); CustomMessageBox(Window,QMessageBox::Critical,QApplication::translate("MainWindow","Error","Error message"),ShortName()+"\n\n"+ErrorMessage,QMessageBox::Close); IsOk=false; } #if defined(LIBAV) && (LIBAVVERSIONINT<=8) // check if sound is mono or stereo (libav 8 version can not reduce 5.1 to stereo) if ((IsOk)&&(LibavAudioFile->streams[AudioStreamNumber]->codec->channels>2)) { QString ErrorMessage="\n"+QApplication::translate("MainWindow","This application support only mono or stereo audio track","Error message"); CustomMessageBox(Window,QMessageBox::Critical,QApplication::translate("MainWindow","Error","Error message"),ShortName()+"\n\n"+ErrorMessage,QMessageBox::Close); IsOk=false; } #endif } // Try to load an image to ensure all is ok if (IsOk) { QImage *Image=ImageAt(true,0,NULL,true,1,false,false); if (Image) { delete Image; } else { QString ErrorMessage="\n"+QApplication::translate("MainWindow","Impossible to read one image from the file","Error message"); CustomMessageBox(Window,QMessageBox::Critical,QApplication::translate("MainWindow","Error","Error message"),ShortName()+"\n\n"+ErrorMessage,QMessageBox::Close); IsOk=false; } } // close file if it was opened CloseCodecAndFile(); return IsOk; } //==================================================================================================================== // Overloaded function use to dertermine if media file correspond to WantedObjectType // WantedObjectType could be OBJECTTYPE_VIDEOFILE or OBJECTTYPE_MUSICFILE // if AudioOnly was set to true in constructor then ignore all video track and set WantedObjectType to OBJECTTYPE_MUSICFILE else set it to OBJECTTYPE_VIDEOFILE // return true if WantedObjectType=OBJECTTYPE_VIDEOFILE and at least one video track is present // return true if WantedObjectType=OBJECTTYPE_MUSICFILE and at least one audio track is present bool cVideoFile::GetChildFullInformationFromFile(cCustomIcon *Icon,QStringList *ExtendedProperties) { //Mutex.lock(); bool Continu=true; AVFormatContext *LibavFile=NULL; QString sFileName=FileName(); //********************************************************************************************************* // Open file and get a LibAVFormat context and an associated LibAVCodec decoder //********************************************************************************************************* char filename[512]; strcpy(filename,sFileName.toLocal8Bit()); if (avformat_open_input(&LibavFile,filename,NULL,NULL)!=0) { LibavFile=NULL; //Mutex.unlock(); return false; } ExtendedProperties->append(QString("Short Format##")+QString(LibavFile->iformat->name)); ExtendedProperties->append(QString("Long Format##")+QString(LibavFile->iformat->long_name)); LibavFile->flags|=AVFMT_FLAG_GENPTS; // Generate missing pts even if it requires parsing future NbrFrames. //********************************************************************************************************* // Search stream in file //********************************************************************************************************* if (avformat_find_stream_info(LibavFile,NULL)<0) { avformat_close_input(&LibavFile); LibavFile=NULL; Continu=false; } if (Continu) { //********************************************************************************************************* // Get metadata //********************************************************************************************************* AVDictionaryEntry *tag=NULL; while ((tag=av_dict_get(LibavFile->metadata,"",tag,AV_DICT_IGNORE_SUFFIX))) { QString Value=QString().fromUtf8(tag->value); #ifdef Q_OS_WIN Value.replace(char(13),"\n"); #endif if (Value.endsWith("\n")) Value=Value.left(Value.lastIndexOf("\n")); ExtendedProperties->append(QString().fromUtf8(tag->key).toLower()+QString("##")+Value); } //********************************************************************************************************* // Get chapters //********************************************************************************************************* NbrChapters=0; for (uint i=0;inb_chapters;i++) { AVChapter *ch=LibavFile->chapters[i]; QString ChapterNum=QString("%1").arg(NbrChapters); while (ChapterNum.length()<3) ChapterNum="0"+ChapterNum; int64_t Start=double(ch->start)*(double(av_q2d(ch->time_base))*1000); // Lib AV use 1/1 000 000 000 sec and we want msec ! int64_t End =double(ch->end)*(double(av_q2d(ch->time_base))*1000); // Lib AV use 1/1 000 000 000 sec and we want msec ! // Special case if it's first chapter and start!=0 => add a chapter 0 if ((NbrChapters==0)&&(LibavFile->chapters[i]->start>0)) { ExtendedProperties->append("Chapter_"+ChapterNum+":Start" +QString("##")+QTime(0,0,0,0).toString("hh:mm:ss.zzz")); ExtendedProperties->append("Chapter_"+ChapterNum+":End" +QString("##")+QTime(0,0,0,0).addMSecs(Start).toString("hh:mm:ss.zzz")); ExtendedProperties->append("Chapter_"+ChapterNum+":Duration"+QString("##")+QTime(0,0,0,0).addMSecs(Start).toString("hh:mm:ss.zzz")); if (GetInformationValue("title",ExtendedProperties)!="") ExtendedProperties->append("Chapter_"+ChapterNum+":title##"+GetInformationValue("title",ExtendedProperties)); else ExtendedProperties->append("Chapter_"+ChapterNum+":title##"+QFileInfo(sFileName).baseName()); NbrChapters++; ChapterNum=QString("%1").arg(NbrChapters); while (ChapterNum.length()<3) ChapterNum="0"+ChapterNum; } ExtendedProperties->append("Chapter_"+ChapterNum+":Start" +QString("##")+QTime(0,0,0,0).addMSecs(Start).toString("hh:mm:ss.zzz")); ExtendedProperties->append("Chapter_"+ChapterNum+":End" +QString("##")+QTime(0,0,0,0).addMSecs(End).toString("hh:mm:ss.zzz")); ExtendedProperties->append("Chapter_"+ChapterNum+":Duration"+QString("##")+QTime(0,0,0,0).addMSecs(End-Start).toString("hh:mm:ss.zzz")); // Chapter metadata while ((tag=av_dict_get(ch->metadata,"",tag,AV_DICT_IGNORE_SUFFIX))) ExtendedProperties->append("Chapter_"+ChapterNum+":"+QString().fromUtf8(tag->key).toLower()+QString("##")+QString().fromUtf8(tag->value)); NbrChapters++; } //********************************************************************************************************* // Get information about duration //********************************************************************************************************* int64_t ms=LibavFile->duration/1000-LibavStartTime; int ss=ms/1000; int mm=ss/60; int hh=mm/60; mm =mm-(hh*60); ss =ss-(ss/60)*60; ms =ms-(ms/1000)*1000; Duration=QTime(hh,mm,ss,ms); EndPos =Duration; //********************************************************************************************************* // Get information from track //********************************************************************************************************* for (int Track=0;Track<(int)LibavFile->nb_streams;Track++) { // Find codec AVCodec *Codec=avcodec_find_decoder(LibavFile->streams[Track]->codec->codec_id); //********************************************************************************************************* // Audio track //********************************************************************************************************* if (LibavFile->streams[Track]->codec->codec_type==AVMEDIA_TYPE_AUDIO) { // Keep this as default track if (AudioStreamNumber==-1) AudioStreamNumber=Track; // Compute TrackNum QString TrackNum=QString("%1").arg(AudioTrackNbr); while (TrackNum.length()<3) TrackNum="0"+TrackNum; TrackNum="Audio_"+TrackNum+":"; // General ExtendedProperties->append(TrackNum+QString("Track")+QString("##")+QString("%1").arg(Track)); if (Codec) ExtendedProperties->append(TrackNum+QString("Codec")+QString("##")+QString(Codec->name)); // Channels and Sample format QString SampleFMT=""; switch (LibavFile->streams[Track]->codec->sample_fmt) { case AV_SAMPLE_FMT_U8 : SampleFMT="-U8"; ExtendedProperties->append(TrackNum+QString("Sample format")+QString("##")+"unsigned 8 bits"); break; case AV_SAMPLE_FMT_S16 : SampleFMT="-S16"; ExtendedProperties->append(TrackNum+QString("Sample format")+QString("##")+"signed 16 bits"); break; case AV_SAMPLE_FMT_S32 : SampleFMT="-S32"; ExtendedProperties->append(TrackNum+QString("Sample format")+QString("##")+"signed 32 bits"); break; case AV_SAMPLE_FMT_FLT : SampleFMT="-FLT"; ExtendedProperties->append(TrackNum+QString("Sample format")+QString("##")+"float"); break; case AV_SAMPLE_FMT_DBL : SampleFMT="-DBL"; ExtendedProperties->append(TrackNum+QString("Sample format")+QString("##")+"double"); break; case AV_SAMPLE_FMT_U8P : SampleFMT="-U8P"; ExtendedProperties->append(TrackNum+QString("Sample format")+QString("##")+"unsigned 8 bits, planar"); break; case AV_SAMPLE_FMT_S16P: SampleFMT="-S16P"; ExtendedProperties->append(TrackNum+QString("Sample format")+QString("##")+"signed 16 bits, planar"); break; case AV_SAMPLE_FMT_S32P: SampleFMT="-S32P"; ExtendedProperties->append(TrackNum+QString("Sample format")+QString("##")+"signed 32 bits, planar"); break; case AV_SAMPLE_FMT_FLTP: SampleFMT="-FLTP"; ExtendedProperties->append(TrackNum+QString("Sample format")+QString("##")+"float, planar"); break; case AV_SAMPLE_FMT_DBLP: SampleFMT="-DBLP"; ExtendedProperties->append(TrackNum+QString("Sample format")+QString("##")+"double, planar"); break; default : SampleFMT="-?"; ExtendedProperties->append(TrackNum+QString("Sample format")+QString("##")+"Unknown"); break; } if (LibavFile->streams[Track]->codec->channels==1) ExtendedProperties->append(TrackNum+QString("Channels")+QString("##")+QApplication::translate("cBaseMediaFile","Mono","Audio channels mode")+SampleFMT); else if (LibavFile->streams[Track]->codec->channels==2) ExtendedProperties->append(TrackNum+QString("Channels")+QString("##")+QApplication::translate("cBaseMediaFile","Stereo","Audio channels mode")+SampleFMT); else ExtendedProperties->append(TrackNum+QString("Channels")+QString("##")+QString("%1").arg(LibavFile->streams[Track]->codec->channels)+SampleFMT); // Frequency if (int(LibavFile->streams[Track]->codec->sample_rate/1000)*1000>0) { if (int(LibavFile->streams[Track]->codec->sample_rate/1000)*1000==LibavFile->streams[Track]->codec->sample_rate) ExtendedProperties->append(TrackNum+QString("Frequency")+QString("##")+QString("%1").arg(int(LibavFile->streams[Track]->codec->sample_rate/1000))+"Khz"); else ExtendedProperties->append(TrackNum+QString("Frequency")+QString("##")+QString("%1").arg(double(LibavFile->streams[Track]->codec->sample_rate)/1000,8,'f',1).trimmed()+"Khz"); } // Bitrate if (int(LibavFile->streams[Track]->codec->bit_rate/1000)>0) ExtendedProperties->append(TrackNum+QString("Bitrate")+QString("##")+QString("%1").arg(int(LibavFile->streams[Track]->codec->bit_rate/1000))+"Kb/s"); // Stream metadata while ((tag=av_dict_get(LibavFile->streams[Track]->metadata,"",tag,AV_DICT_IGNORE_SUFFIX))) { // OGV container affect TAG to audio stream ! QString Key=QString().fromUtf8(tag->key).toLower(); if ((sFileName.toLower().endsWith(".ogv"))&&((Key=="title")||(Key=="artist")||(Key=="album")||(Key=="comment")||(Key=="date")||(Key=="composer")||(Key=="encoder"))) ExtendedProperties->append(Key+QString("##")+QString().fromUtf8(tag->value)); else ExtendedProperties->append(TrackNum+Key+QString("##")+QString().fromUtf8(tag->value)); } // Ensure language exist (Note : AVI and FLV container own language at container level instead of track level) if (GetInformationValue(TrackNum+"language",ExtendedProperties)=="") { QString Lng=GetInformationValue("language",ExtendedProperties); ExtendedProperties->append(TrackNum+QString("language##")+(Lng==""?"und":Lng)); } // Next AudioTrackNbr++; //********************************************************************************************************* // Video track //********************************************************************************************************* } else if (!MusicOnly && (LibavFile->streams[Track]->codec->codec_type==AVMEDIA_TYPE_VIDEO)) { // Compute TrackNum QString TrackNum=QString("%1").arg(VideoTrackNbr); while (TrackNum.length()<3) TrackNum="0"+TrackNum; TrackNum="Video_"+TrackNum+":"; // General ExtendedProperties->append(TrackNum+QString("Track")+QString("##")+QString("%1").arg(Track)); if (Codec) ExtendedProperties->append(TrackNum+QString("Codec")+QString("##")+QString(Codec->name)); // Bitrate if (LibavFile->streams[Track]->codec->bit_rate>0) ExtendedProperties->append(TrackNum+QString("Bitrate")+QString("##")+QString("%1").arg(int(LibavFile->streams[Track]->codec->bit_rate/1000))+"Kb/s"); // Frame rate if (int(double(LibavFile->streams[Track]->avg_frame_rate.num)/double(LibavFile->streams[Track]->avg_frame_rate.den))>0) { if (int(double(LibavFile->streams[Track]->avg_frame_rate.num)/double(LibavFile->streams[Track]->avg_frame_rate.den))==double(LibavFile->streams[Track]->avg_frame_rate.num)/double(LibavFile->streams[Track]->avg_frame_rate.den)) ExtendedProperties->append(TrackNum+QString("Frame rate")+QString("##")+QString("%1").arg(int(double(LibavFile->streams[Track]->avg_frame_rate.num)/double(LibavFile->streams[Track]->avg_frame_rate.den)))+" FPS"); else ExtendedProperties->append(TrackNum+QString("Frame rate")+QString("##")+QString("%1").arg(double(double(LibavFile->streams[Track]->avg_frame_rate.num)/double(LibavFile->streams[Track]->avg_frame_rate.den)),8,'f',3).trimmed()+" FPS"); } // Stream metadata while ((tag=av_dict_get(LibavFile->streams[Track]->metadata,"",tag,AV_DICT_IGNORE_SUFFIX))) ExtendedProperties->append(TrackNum+QString(tag->key)+QString("##")+QString().fromUtf8(tag->value)); // Ensure language exist (Note : AVI ‘AttachedPictureFrame’and FLV container own language at container level instead of track level) if (GetInformationValue(TrackNum+"language",ExtendedProperties)=="") { QString Lng=GetInformationValue("language",ExtendedProperties); ExtendedProperties->append(TrackNum+QString("language##")+(Lng==""?"und":Lng)); } // Keep this as default track if (VideoStreamNumber==-1) { QImage *Img=NULL; AVFrame *FrameBufYUV=NULL; // Search if a jukebox mode thumbnail (jpg file with same name as video) exist QFileInfo File(sFileName); QString JPegFile=File.absolutePath()+(File.absolutePath().endsWith(QDir::separator())?"":QString(QDir::separator()))+File.completeBaseName()+".jpg"; if (QFileInfo(JPegFile).exists()) Icon->LoadIcons(JPegFile); VideoStreamNumber=Track; IsMTS=(sFileName.toLower().endsWith(".mts",Qt::CaseInsensitive) || sFileName.toLower().endsWith(".m2ts",Qt::CaseInsensitive) || sFileName.toLower().endsWith(".mod",Qt::CaseInsensitive)); LibavFile->flags|=AVFMT_FLAG_GENPTS; // Generate missing pts even if it requires parsing future NbrFrames. LibavFile->streams[VideoStreamNumber]->discard=AVDISCARD_DEFAULT; // Setup STREAM options // Setup decoder options LibavFile->streams[VideoStreamNumber]->codec->debug_mv =0; // Debug level (0=nothing) LibavFile->streams[VideoStreamNumber]->codec->debug =0; // Debug level (0=nothing) LibavFile->streams[VideoStreamNumber]->codec->workaround_bugs =1; // Work around bugs in encoders which sometimes cannot be detected automatically : 1=autodetection LibavFile->streams[VideoStreamNumber]->codec->idct_algo =FF_IDCT_AUTO; // IDCT algorithm, 0=auto LibavFile->streams[VideoStreamNumber]->codec->skip_frame =AVDISCARD_DEFAULT; // ??????? LibavFile->streams[VideoStreamNumber]->codec->skip_idct =AVDISCARD_DEFAULT; // ??????? LibavFile->streams[VideoStreamNumber]->codec->skip_loop_filter =AVDISCARD_DEFAULT; // ??????? LibavFile->streams[VideoStreamNumber]->codec->error_concealment=3; LibavFile->streams[VideoStreamNumber]->codec->thread_count =getCpuCount(); LibavFile->streams[VideoStreamNumber]->codec->thread_type =getThreadFlags(LibavFile->streams[VideoStreamNumber]->codec->codec_id); // Hack to correct wrong frame rates that seem to be generated by some codecs if (LibavFile->streams[VideoStreamNumber]->codec->time_base.num>1000 && LibavFile->streams[VideoStreamNumber]->codec->time_base.den==1) LibavFile->streams[VideoStreamNumber]->codec->time_base.den=1000; if (avcodec_open2(LibavFile->streams[VideoStreamNumber]->codec,Codec,NULL)>=0) { // Get Aspect Ratio AspectRatio=double(LibavFile->streams[VideoStreamNumber]->codec->sample_aspect_ratio.num)/double(LibavFile->streams[VideoStreamNumber]->codec->sample_aspect_ratio.den); if (LibavFile->streams[VideoStreamNumber]->sample_aspect_ratio.num!=0) AspectRatio=double(LibavFile->streams[VideoStreamNumber]->sample_aspect_ratio.num)/double(LibavFile->streams[VideoStreamNumber]->sample_aspect_ratio.den); if (AspectRatio==0) AspectRatio=1; // Special case for DVD mode video without PAR if ((AspectRatio==1)&&(LibavFile->streams[VideoStreamNumber]->codec->coded_width==720)&&((LibavFile->streams[VideoStreamNumber]->codec->coded_height==576)||(LibavFile->streams[VideoStreamNumber]->codec->coded_height==480))) AspectRatio=double((LibavFile->streams[VideoStreamNumber]->codec->coded_height/3)*4)/720; // Try to load one image to be sure we can make something with this file // and use this first image as thumbnail (if no jukebox thumbnail) int64_t Position =0; double dEndFile =double(QTime(0,0,0,0).msecsTo(Duration))/1000; // End File Position in double format if (dEndFile!=0) { // Allocate structure for YUV image FrameBufYUV=ALLOCFRAME(); if (FrameBufYUV!=NULL) { AVStream *VideoStream =LibavFile->streams[VideoStreamNumber]; AVPacket *StreamPacket =NULL; bool Continue =true; bool IsVideoFind =false; double FrameTimeBase =av_q2d(VideoStream->time_base); double FramePosition =0; while (Continue) { StreamPacket=new AVPacket(); av_init_packet(StreamPacket); StreamPacket->flags|=AV_PKT_FLAG_KEY; // HACK for CorePNG to decode as normal PNG by default if (av_read_frame(LibavFile,StreamPacket)==0) { if (StreamPacket->stream_index==VideoStreamNumber) { int FrameDecoded=0; if (avcodec_decode_video2(VideoStream->codec,FrameBufYUV,&FrameDecoded,StreamPacket)<0) ToLog(LOGMSG_INFORMATION,"IN:cVideoFile::OpenCodecAndFile : avcodec_decode_video2 return an error"); if (FrameDecoded>0) { int64_t pts=AV_NOPTS_VALUE; if ((FrameBufYUV->pkt_dts==(int64_t)AV_NOPTS_VALUE)&&(FrameBufYUV->pkt_pts!=(int64_t)AV_NOPTS_VALUE)) pts=FrameBufYUV->pkt_pts; else pts=FrameBufYUV->pkt_dts; if (pts==(int64_t)AV_NOPTS_VALUE) pts=0; FramePosition =double(pts)*FrameTimeBase; Img =ConvertYUVToRGB(false,FrameBufYUV); // Create Img from YUV Buffer IsVideoFind =(Img!=NULL)&&(!Img->isNull()); ObjectGeometry =IMAGE_GEOMETRY_UNKNOWN; } } // Check if we need to continue loop Continue=(IsVideoFind==false)&&(FramePosition return black frame").arg(Position)); Img=new QImage(LibavFile->streams[VideoStreamNumber]->codec->width,LibavFile->streams[VideoStreamNumber]->codec->height,QImage::Format_ARGB32_Premultiplied); Img->fill(0); } FREEFRAME(&FrameBufYUV); } else ToLog(LOGMSG_CRITICAL,"Error in cVideoFile::OpenCodecAndFile : Impossible to allocate FrameBufYUV"); } else ToLog(LOGMSG_CRITICAL,"Error in cVideoFile::OpenCodecAndFile : dEndFile=0 ?????"); } if (Img) { // Get information about size image ImageWidth =Img->width(); ImageHeight=Img->height(); // Compute image geometry ObjectGeometry=IMAGE_GEOMETRY_UNKNOWN; double RatioHW=double(ImageWidth)/double(ImageHeight); if ((RatioHW>=1.45)&&(RatioHW<=1.55)) ObjectGeometry=IMAGE_GEOMETRY_3_2; else if ((RatioHW>=0.65)&&(RatioHW<=0.67)) ObjectGeometry=IMAGE_GEOMETRY_2_3; else if ((RatioHW>=1.32)&&(RatioHW<=1.34)) ObjectGeometry=IMAGE_GEOMETRY_4_3; else if ((RatioHW>=0.74)&&(RatioHW<=0.76)) ObjectGeometry=IMAGE_GEOMETRY_3_4; else if ((RatioHW>=1.77)&&(RatioHW<=1.79)) ObjectGeometry=IMAGE_GEOMETRY_16_9; else if ((RatioHW>=0.56)&&(RatioHW<=0.58)) ObjectGeometry=IMAGE_GEOMETRY_9_16; else if ((RatioHW>=2.34)&&(RatioHW<=2.36)) ObjectGeometry=IMAGE_GEOMETRY_40_17; else if ((RatioHW>=0.42)&&(RatioHW<=0.44)) ObjectGeometry=IMAGE_GEOMETRY_17_40; // Icon if (Icon->Icon16.isNull()) { QImage Final=(Video_ThumbWidth==162?ApplicationConfig->VideoMask_162:Video_ThumbWidth==150?ApplicationConfig->VideoMask_150:ApplicationConfig->VideoMask_120).copy(); QImage ImgF; if (Img->width()>Img->height()) ImgF=Img->scaledToWidth(Video_ThumbWidth-2,Qt::SmoothTransformation); else ImgF=Img->scaledToHeight(Video_ThumbHeight*0.7,Qt::SmoothTransformation); QPainter Painter; Painter.begin(&Final); Painter.drawImage(QRect((Final.width()-ImgF.width())/2,(Final.height()-ImgF.height())/2,ImgF.width(),ImgF.height()),ImgF); Painter.end(); Icon->LoadIcons(&Final); } delete Img; } } // Next VideoTrackNbr++; } // Close the video codec if (Codec!=NULL) { avcodec_close(LibavFile->streams[Track]->codec); Codec=NULL; } //********************************************************************************************************* // Thumbnails (since lavf 54.2.0 - avformat.h) //********************************************************************************************************* #ifndef USETAGLIB if (LibavFile->streams[Track]->disposition & AV_DISPOSITION_ATTACHED_PIC) { AVStream *ThumbStream=LibavFile->streams[Track]; AVPacket pkt =ThumbStream->attached_pic; int FrameDecoded=0; AVFrame *FrameYUV=ALLOCFRAME(); if (FrameYUV) { AVCodec *ThumbDecoderCodec=avcodec_find_decoder(ThumbStream->codec->codec_id); // Setup decoder options ThumbStream->codec->debug_mv =0; // Debug level (0=nothing) ThumbStream->codec->debug =0; // Debug level (0=nothing) ThumbStream->codec->workaround_bugs =1; // Work around bugs in encoders which sometimes cannot be detected automatically : 1=autodetection ThumbStream->codec->idct_algo =FF_IDCT_AUTO; // IDCT algorithm, 0=auto ThumbStream->codec->skip_frame =AVDISCARD_DEFAULT; // ??????? ThumbStream->codec->skip_idct =AVDISCARD_DEFAULT; // ??????? ThumbStream->codec->skip_loop_filter =AVDISCARD_DEFAULT; // ??????? ThumbStream->codec->error_concealment=3; ThumbStream->codec->thread_count =getCpuCount(); ThumbStream->codec->thread_type =getThreadFlags(ThumbStream->codec->codec_id); if (avcodec_open2(ThumbStream->codec,ThumbDecoderCodec,NULL)>=0) { if ((avcodec_decode_video2(ThumbStream->codec,FrameYUV,&FrameDecoded,&pkt)>=0)&&(FrameDecoded>0)) { int W=FrameYUV->width, RealW=(W/8)*8; if (RealWheight,RealH=(H/8)*8; if (RealHwidth,FrameYUV->height,(PixelFormat)FrameYUV->format,RealW,RealH,PIXFMT,SWS_FAST_BILINEAR,NULL,NULL,NULL); if (img_convert_ctx!=NULL) { int ret = sws_scale(img_convert_ctx,FrameYUV->data,FrameYUV->linesize,0,FrameYUV->height,FrameRGB->data,FrameRGB->linesize); if (ret>0) { // sws_scaler truncate the width of the images to a multiple of 8. So cut resulting image to comply a multiple of 8 Thumbnail=Thumbnail.copy(0,0,W,H); Icon->LoadIcons(&Thumbnail); } sws_freeContext(img_convert_ctx); } } if (FrameRGB) FREEFRAME(&FrameRGB); } avcodec_close(ThumbStream->codec); } } if (FrameYUV) FREEFRAME(&FrameYUV); } #endif } #ifdef USETAGLIB // If it's an audio file, try to get embeded image with taglib if ((Icon->Icon16.isNull() || Icon->Icon100.isNull())&&(ObjectType==OBJECTTYPE_MUSICFILE)) { QImage *Img=GetEmbededImage(sFileName); if (Img) { Icon->LoadIcons(Img); delete Img; } } #endif // if no icon then load default for type if (Icon->Icon16.isNull() || Icon->Icon100.isNull()) Icon->LoadIcons(ObjectType==OBJECTTYPE_VIDEOFILE?&ApplicationConfig->DefaultVIDEOIcon:&ApplicationConfig->DefaultMUSICIcon); } // Close the libav file if (LibavFile!=NULL) { avformat_close_input(&LibavFile); LibavFile=NULL; } //Mutex.unlock(); return Continu; } //==================================================================================================================== QString cVideoFile::GetFileTypeStr() { if (MusicOnly || (ObjectType==OBJECTTYPE_MUSICFILE)) return QApplication::translate("cBaseMediaFile","Music","File type"); else return QApplication::translate("cBaseMediaFile","Video","File type"); } //==================================================================================================================== QImage *cVideoFile::GetDefaultTypeIcon(cCustomIcon::IconSize Size) { if (MusicOnly || (ObjectType==OBJECTTYPE_MUSICFILE)) return ApplicationConfig->DefaultMUSICIcon.GetIcon(Size); else return ApplicationConfig->DefaultVIDEOIcon.GetIcon(Size); } //==================================================================================================================== QString cVideoFile::GetTechInfo(QStringList *ExtendedProperties) { QString Info=""; if (ObjectType==OBJECTTYPE_MUSICFILE) { Info=GetCumulInfoStr(ExtendedProperties,"Audio","Codec"); if (GetCumulInfoStr(ExtendedProperties,"Audio","Channels")!="") Info=Info+(Info!=""?"-":"")+GetCumulInfoStr(ExtendedProperties,"Audio","Channels"); if (GetCumulInfoStr(ExtendedProperties,"Audio","Bitrate")!="") Info=Info+(Info!=""?"-":"")+GetCumulInfoStr(ExtendedProperties,"Audio","Bitrate"); if (GetCumulInfoStr(ExtendedProperties,"Audio","Frequency")!="") Info=Info+(Info!=""?"-":"")+GetCumulInfoStr(ExtendedProperties,"Audio","Frequency"); } else { Info=GetImageSizeStr(); if (GetCumulInfoStr(ExtendedProperties,"Video","Codec")!="") Info=Info+(Info!=""?"-":"")+GetCumulInfoStr(ExtendedProperties,"Video","Codec"); if (GetCumulInfoStr(ExtendedProperties,"Video","Frame rate")!="") Info=Info+(Info!=""?"-":"")+GetCumulInfoStr(ExtendedProperties,"Video","Frame rate"); if (GetCumulInfoStr(ExtendedProperties,"Video","Bitrate")!="") Info=Info+(Info!=""?"-":"")+GetCumulInfoStr(ExtendedProperties,"Video","Bitrate"); int Num =0; QString TrackNum=""; QString Value =""; QString SubInfo =""; do { TrackNum=QString("%1").arg(Num); while (TrackNum.length()<3) TrackNum="0"+TrackNum; TrackNum="Audio_"+TrackNum+":"; Value=GetInformationValue(TrackNum+"language",ExtendedProperties); if (Value!="") { if (Num==0) Info=Info+"-"; else Info=Info+"/"; SubInfo=GetInformationValue(TrackNum+"Codec",ExtendedProperties); if (GetInformationValue(TrackNum+"Channels",ExtendedProperties)!="") SubInfo=SubInfo+(Info!=""?"-":"")+GetInformationValue(TrackNum+"Channels",ExtendedProperties); if (GetInformationValue(TrackNum+"Bitrate",ExtendedProperties)!="") SubInfo=SubInfo+(Info!=""?"-":"")+GetInformationValue(TrackNum+"Bitrate",ExtendedProperties); if (GetInformationValue(TrackNum+"Frequency",ExtendedProperties)!="") SubInfo=SubInfo+(Info!=""?"-":"")+GetInformationValue(TrackNum+"Frequency",ExtendedProperties); Info=Info+Value+"("+SubInfo+")"; } // Next Num++; } while (Value!=""); } return Info; } //==================================================================================================================== QString cVideoFile::GetTAGInfo(QStringList *ExtendedProperties) { QString Info=GetInformationValue("track",ExtendedProperties); if (GetInformationValue("title",ExtendedProperties)!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("title",ExtendedProperties); if (GetInformationValue("artist",ExtendedProperties)!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("artist",ExtendedProperties); if (GetInformationValue("album",ExtendedProperties)!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("album",ExtendedProperties); if (GetInformationValue("date",ExtendedProperties)!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("date",ExtendedProperties); if (GetInformationValue("genre",ExtendedProperties)!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("genre",ExtendedProperties); return Info; } //==================================================================================================================== // Close LibAVFormat and LibAVCodec contexte for the file //==================================================================================================================== void cVideoFile::CloseCodecAndFile() { //Mutex.lock(); while (CacheImage.count()>0) delete(CacheImage.takeLast()); // Close the resampling context CloseResampler(); // Close the filter context if (VideoFilterGraph) VideoFilter_Close(); // Close the video codec if (VideoDecoderCodec!=NULL) { avcodec_close(LibavVideoFile->streams[VideoStreamNumber]->codec); VideoDecoderCodec=NULL; } // Close the audio codec if (AudioDecoderCodec!=NULL) { avcodec_close(LibavAudioFile->streams[AudioStreamNumber]->codec); AudioDecoderCodec=NULL; } // Close the libav files if (LibavAudioFile!=NULL) { avformat_close_input(&LibavAudioFile); LibavAudioFile=NULL; } if (LibavVideoFile!=NULL) { avformat_close_input(&LibavVideoFile); LibavVideoFile=NULL; } if (FrameBufferYUV!=NULL) { #if defined(LIBAV) || (defined(FFMPEG)&&(FFMPEGVERSIONINT<201)) if (FrameBufferYUV->opaque) { avfilter_unref_buffer((AVFilterBufferRef *)FrameBufferYUV->opaque); FrameBufferYUV->opaque=NULL; } #endif FREEFRAME(&FrameBufferYUV); } FrameBufferYUVReady=false; IsOpen=false; //Mutex.unlock(); } //********************************************************************************************************************* void cVideoFile::CloseResampler() { if (RSC) { #if defined(LIBAV) && (LIBAVVERSIONINT<=8) audio_resample_close(RSC); #elif defined(LIBAV) && (LIBAVVERSIONINT<=9) avresample_close(RSC); avresample_free(&RSC); #elif defined(FFMPEG) swr_free(&RSC); #endif RSC=NULL; } } //********************************************************************************************************************* void cVideoFile::CheckResampler(int RSC_InChannels,int RSC_OutChannels,AVSampleFormat RSC_InSampleFmt,AVSampleFormat RSC_OutSampleFmt,int RSC_InSampleRate,int RSC_OutSampleRate #if (defined(LIBAV)&&(LIBAVVERSIONINT>=9)) || defined(FFMPEG) ,uint64_t RSC_InChannelLayout,uint64_t RSC_OutChannelLayout #endif ) { #if (defined(LIBAV) && (LIBAVVERSIONINT>=9)) || defined(FFMPEG) if (RSC_InChannelLayout==0) RSC_InChannelLayout =av_get_default_channel_layout(RSC_InChannels); if (RSC_OutChannelLayout==0) RSC_OutChannelLayout=av_get_default_channel_layout(RSC_OutChannels); #endif if ((RSC!=NULL)&& ( (RSC_InChannels!=this->RSC_InChannels) ||(RSC_OutChannels!=this->RSC_OutChannels) ||(RSC_InSampleFmt!=this->RSC_InSampleFmt) ||(RSC_OutSampleFmt!=this->RSC_OutSampleFmt) ||(RSC_InSampleRate!=this->RSC_InSampleRate)||(RSC_OutSampleRate!=this->RSC_OutSampleRate) #if (defined(LIBAV) && (LIBAVVERSIONINT>=9)) || defined(FFMPEG) ||(RSC_InChannelLayout!=this->RSC_InChannelLayout)||(RSC_OutChannelLayout!=this->RSC_OutChannelLayout) #endif )) CloseResampler(); if (!RSC) { this->RSC_InChannels =RSC_InChannels; this->RSC_OutChannels =RSC_OutChannels; this->RSC_InSampleFmt =RSC_InSampleFmt; this->RSC_OutSampleFmt =RSC_OutSampleFmt; this->RSC_InSampleRate =RSC_InSampleRate; this->RSC_OutSampleRate=RSC_OutSampleRate; #if defined(LIBAV) && (LIBAVVERSIONINT<=8) RSC=av_audio_resample_init( // Context for resampling audio data RSC_OutChannels,RSC_InChannels, // output_channels, input_channels RSC_OutSampleRate,RSC_InSampleRate, // output_rate, input_rate RSC_OutSampleFmt,RSC_InSampleFmt, // sample_fmt_out, sample_fmt_in 0, // filter_length 0, // log2_phase_count 1, // linear 0); // cutoff if (!RSC) ToLog(LOGMSG_CRITICAL,QString("CheckResampler: av_audio_resample_init failed")); #elif defined(LIBAV) && (LIBAVVERSIONINT<=9) this->RSC_InChannelLayout =RSC_InChannelLayout; this->RSC_OutChannelLayout=RSC_OutChannelLayout; RSC=avresample_alloc_context(); if (RSC) { av_opt_set_int(RSC,"in_channel_layout", RSC_InChannelLayout, 0); av_opt_set_int(RSC,"in_sample_rate", RSC_InSampleRate, 0); av_opt_set_int(RSC,"out_channel_layout", RSC_OutChannelLayout,0); av_opt_set_int(RSC,"out_sample_rate", RSC_OutSampleRate, 0); av_opt_set_int(RSC,"in_sample_fmt", RSC_InSampleFmt, 0); av_opt_set_int(RSC,"out_sample_fmt", RSC_OutSampleFmt, 0); if (avresample_open(RSC)<0) { ToLog(LOGMSG_CRITICAL,QString("CheckResampler: avresample_open failed")); avresample_free(&RSC); RSC=NULL; } } if (!RSC) ToLog(LOGMSG_CRITICAL,QString("CheckResampler: avresample_alloc_context failed")); #elif defined(FFMPEG) this->RSC_InChannelLayout =RSC_InChannelLayout; this->RSC_OutChannelLayout=RSC_OutChannelLayout; /*RSC=swr_alloc_set_opts(NULL,RSC_OutChannelLayout,RSC_OutSampleFmt,RSC_OutSampleRate, RSC_InChannelLayout, RSC_InSampleFmt, RSC_InSampleRate, 0, NULL);*/ RSC=swr_alloc(); av_opt_set_int(RSC,"in_channel_layout", RSC_InChannelLayout, 0); av_opt_set_int(RSC,"in_sample_rate", RSC_InSampleRate, 0); av_opt_set_int(RSC,"out_channel_layout", RSC_OutChannelLayout,0); av_opt_set_int(RSC,"out_sample_rate", RSC_OutSampleRate, 0); av_opt_set_int(RSC,"in_channel_count", RSC_InChannels, 0); av_opt_set_int(RSC,"out_channel_count", RSC_OutChannels, 0); av_opt_set_sample_fmt(RSC,"in_sample_fmt", RSC_InSampleFmt, 0); av_opt_set_sample_fmt(RSC,"out_sample_fmt", RSC_OutSampleFmt, 0); if ((RSC)&&(swr_init(RSC)<0)) { ToLog(LOGMSG_CRITICAL,QString("CheckResampler: swr_init failed")); swr_free(&RSC); RSC=NULL; } if (!RSC) ToLog(LOGMSG_CRITICAL,QString("CheckResampler: swr_alloc_set_opts failed")); #endif } } //********************************************************************************************************************* // VIDEO FILTER PART : This code was adapt from xbmc sources files //********************************************************************************************************************* int cVideoFile::VideoFilter_Open() { int result; if (VideoFilterGraph) VideoFilter_Close(); if (!(VideoFilterGraph=avfilter_graph_alloc())) { ToLog(LOGMSG_CRITICAL,QString("Error in cVideoFile::VideoFilter_Open : unable to alloc filter graph")); return -1; } VideoFilterGraph->scale_sws_opts = av_strdup("flags=4"); #if defined(LIBAV) && (LIBAVVERSIONINT<=8) QString args=QString("%1:%2:%3:%4:%5:%6:%7") .arg(LibavVideoFile->streams[VideoStreamNumber]->codec->width) .arg(LibavVideoFile->streams[VideoStreamNumber]->codec->height) .arg(LibavVideoFile->streams[VideoStreamNumber]->codec->pix_fmt) .arg(LibavVideoFile->streams[VideoStreamNumber]->codec->time_base.num) .arg(LibavVideoFile->streams[VideoStreamNumber]->codec->time_base.den) .arg(LibavVideoFile->streams[VideoStreamNumber]->codec->sample_aspect_ratio.num) .arg(LibavVideoFile->streams[VideoStreamNumber]->codec->sample_aspect_ratio.den); AVFilter *srcFilter=avfilter_get_by_name("buffer"); AVFilter *outFilter=avfilter_get_by_name("nullsink"); if ((result=avfilter_graph_create_filter(&VideoFilterIn,srcFilter,"src",args.toLocal8Bit().constData(),NULL,VideoFilterGraph))<0) { ToLog(LOGMSG_CRITICAL,QString("Error in cVideoFile::VideoFilter_Open : avfilter_graph_create_filter: src")); return result; } if ((result=avfilter_graph_create_filter(&VideoFilterOut,outFilter,"out",NULL,NULL,VideoFilterGraph))<0) { ToLog(LOGMSG_CRITICAL,QString("Error in cVideoFile::VideoFilter_Open : avfilter_graph_create_filter: out")); return result; } AVFilterInOut *outputs = (AVFilterInOut *)av_malloc(sizeof(AVFilterInOut)); AVFilterInOut *inputs = (AVFilterInOut *)av_malloc(sizeof(AVFilterInOut)); #elif defined(LIBAV) && (LIBAVVERSIONINT<=9) QString args=QString("%1:%2:%3:%4:%5:%6:%7") .arg(LibavVideoFile->streams[VideoStreamNumber]->codec->width) .arg(LibavVideoFile->streams[VideoStreamNumber]->codec->height) .arg(LibavVideoFile->streams[VideoStreamNumber]->codec->pix_fmt) .arg(LibavVideoFile->streams[VideoStreamNumber]->codec->time_base.num) .arg(LibavVideoFile->streams[VideoStreamNumber]->codec->time_base.den) .arg(LibavVideoFile->streams[VideoStreamNumber]->codec->sample_aspect_ratio.num) .arg(LibavVideoFile->streams[VideoStreamNumber]->codec->sample_aspect_ratio.den); AVFilter *srcFilter=avfilter_get_by_name("buffer"); AVFilter *outFilter=avfilter_get_by_name("buffersink"); if ((result=avfilter_graph_create_filter(&VideoFilterIn,srcFilter,"src",args.toLocal8Bit().constData(),NULL,VideoFilterGraph))<0) { ToLog(LOGMSG_CRITICAL,QString("Error in cVideoFile::VideoFilter_Open : avfilter_graph_create_filter: src")); return result; } std::vector m_formats; m_formats.push_back(PIX_FMT_YUVJ420P); m_formats.push_back(PIX_FMT_NONE); /* always add none to get a terminated list in Libav world */ if ((result=avfilter_graph_create_filter(&VideoFilterOut,outFilter,"out",NULL,NULL,VideoFilterGraph))<0) { ToLog(LOGMSG_CRITICAL,QString("Error in cVideoFile::VideoFilter_Open : avfilter_graph_create_filter: out")); return result; } AVFilterInOut *outputs=avfilter_inout_alloc(); AVFilterInOut *inputs =avfilter_inout_alloc(); #elif defined(FFMPEG) char args[512]; snprintf(args, sizeof(args),"video_size=%dx%d:pix_fmt=%d:time_base=%d/%d:pixel_aspect=%d/%d", LibavVideoFile->streams[VideoStreamNumber]->codec->width,LibavVideoFile->streams[VideoStreamNumber]->codec->height, LibavVideoFile->streams[VideoStreamNumber]->codec->pix_fmt, LibavVideoFile->streams[VideoStreamNumber]->codec->time_base.num,LibavVideoFile->streams[VideoStreamNumber]->codec->time_base.den, LibavVideoFile->streams[VideoStreamNumber]->codec->sample_aspect_ratio.num,LibavVideoFile->streams[VideoStreamNumber]->codec->sample_aspect_ratio.den ); AVFilter *srcFilter=avfilter_get_by_name("buffer"); AVFilter *outFilter=avfilter_get_by_name("buffersink"); if ((result=avfilter_graph_create_filter(&VideoFilterIn,srcFilter,"in",args,NULL,VideoFilterGraph))<0) { ToLog(LOGMSG_CRITICAL,QString("Error in cVideoFile::VideoFilter_Open : avfilter_graph_create_filter: src")); return result; } if ((result=avfilter_graph_create_filter(&VideoFilterOut,outFilter,"out",NULL,NULL,VideoFilterGraph))<0) { ToLog(LOGMSG_CRITICAL,QString("Error in cVideoFile::VideoFilter_Open : avfilter_graph_create_filter: out")); return result; } AVFilterInOut *outputs=avfilter_inout_alloc(); AVFilterInOut *inputs =avfilter_inout_alloc(); #endif outputs->name = av_strdup("in"); outputs->filter_ctx = VideoFilterIn; outputs->pad_idx = 0; outputs->next = NULL; inputs->name = av_strdup("out"); inputs->filter_ctx = VideoFilterOut; inputs->pad_idx = 0; inputs->next = NULL; #if defined(LIBAV) && (LIBAVVERSIONINT<=8) if ((result=avfilter_graph_parse(VideoFilterGraph,QString("yadif=1:-1").toLocal8Bit().constData(),inputs,outputs,NULL))<0) { #elif (defined(LIBAV) && (LIBAVVERSIONINT<=9)) if ((result=avfilter_graph_parse(VideoFilterGraph,QString("yadif=deint=interlaced:mode=send_frame:parity=auto").toLocal8Bit().constData(),inputs,outputs,NULL))<0) { #elif (defined(FFMPEG)&&(FFMPEGVERSIONINT<201)) if ((result=avfilter_graph_parse(VideoFilterGraph,QString("yadif=deint=interlaced:mode=send_frame:parity=auto").toLocal8Bit().constData(),&inputs,&outputs,NULL))<0) { #elif defined(FFMPEG)&&(FFMPEGVERSIONINT>=201) if ((result=avfilter_graph_parse_ptr(VideoFilterGraph,QString("yadif=deint=interlaced:mode=send_frame:parity=auto").toLocal8Bit().constData(),&inputs,&outputs,NULL))<0) { #endif ToLog(LOGMSG_CRITICAL,QString("Error in cVideoFile::VideoFilter_Open : avfilter_graph_parse")); return result; } if ((result=avfilter_graph_config(VideoFilterGraph,NULL))<0) { ToLog(LOGMSG_CRITICAL,QString("Error in cVideoFile::VideoFilter_Open : avfilter_graph_config")); return result; } return result; } //==================================================================================================================== void cVideoFile::VideoFilter_Close() { if (VideoFilterGraph) avfilter_graph_free(&VideoFilterGraph); VideoFilterGraph=NULL; VideoFilterIn =NULL; VideoFilterOut=NULL; } //==================================================================================================================== #if defined(LIBAV) || (FFMPEGVERSIONINT<201) int cVideoFile::VideoFilter_Process() { #if defined(LIBAV) && (LIBAVVERSIONINT<=8) // LIBAV 8 int Ret=av_vsrc_buffer_add_frame(VideoFilterIn,FrameBufferYUV,FrameBufferYUV->pts,LibavVideoFile->streams[VideoStreamNumber]->codec->sample_aspect_ratio); if (Ret<0) { ToLog(LOGMSG_CRITICAL,QString("Error in cVideoFile::VideoFilter_Process : av_vsrc_buffer_add_frame")); return VC_ERROR; } int NbrFrames; while ((NbrFrames=avfilter_poll_frame(VideoFilterOut->inputs[0]))>0) { if (VideoFilterOut->inputs[0]->cur_buf) { avfilter_unref_buffer(VideoFilterOut->inputs[0]->cur_buf); VideoFilterOut->inputs[0]->cur_buf = NULL; } if ((Ret=avfilter_request_frame(VideoFilterOut->inputs[0]))<0) { ToLog(LOGMSG_CRITICAL,QString("Error in cVideoFile::VideoFilter_Process : avfilter_request_frame : %1").arg(Ret)); return VC_ERROR; } FrameBufferYUV->repeat_pict = -(NbrFrames - 1); FrameBufferYUV->interlaced_frame = VideoFilterOut->inputs[0]->cur_buf->video->interlaced; FrameBufferYUV->top_field_first = VideoFilterOut->inputs[0]->cur_buf->video->top_field_first; } if (VideoFilterOut->inputs[0]->cur_buf) { if (FrameBufferYUV->opaque) avfilter_unref_buffer((AVFilterBufferRef *)FrameBufferYUV->opaque); FrameBufferYUV->opaque=(void *)avfilter_ref_buffer(VideoFilterOut->inputs[0]->cur_buf,AV_PERM_READ); } #elif defined(LIBAV) && (LIBAVVERSIONINT<=9) // LIBAV9 AVFilterBufferRef *m_pBufferRef=NULL; int Ret=av_buffersrc_write_frame(VideoFilterIn,FrameBufferYUV); if (Ret<0) { ToLog(LOGMSG_CRITICAL,QString("Error in cVideoFile::VideoFilter_Process : av_buffersrc_write_frame")); return VC_ERROR; } while ((Ret=av_buffersink_read(VideoFilterOut,&m_pBufferRef)) >= 0) { if (!m_pBufferRef) return VC_ERROR; // for first frame ther is no return FrameBufferYUV->interlaced_frame=m_pBufferRef->video->interlaced; FrameBufferYUV->top_field_first =m_pBufferRef->video->top_field_first; if (m_pBufferRef) { if (FrameBufferYUV->opaque) avfilter_unref_buffer((AVFilterBufferRef *)FrameBufferYUV->opaque); FrameBufferYUV->opaque=(void *)avfilter_ref_buffer(m_pBufferRef,AV_PERM_READ); avfilter_unref_buffer(m_pBufferRef); m_pBufferRef = NULL; } } #else // FFMPEG 1.2 int Ret=av_buffersrc_add_frame(VideoFilterIn,FrameBufferYUV,0); if (Ret<0) { ToLog(LOGMSG_CRITICAL,QString("Error in cVideoFile::VideoFilter_Process : av_buffersrc_add_frame")); return VC_ERROR; } int NbrFrames; if ((NbrFrames=av_buffersink_poll_frame(VideoFilterOut))<0) { ToLog(LOGMSG_CRITICAL,QString("Error in cVideoFile::VideoFilter_Process : av_buffersink_poll_frame")); return VC_ERROR; } while (NbrFrames>0) { AVFilterBufferRef *m_pBufferRef=NULL; Ret=av_buffersink_get_buffer_ref(VideoFilterOut,&m_pBufferRef,0); if (!m_pBufferRef) return VC_ERROR; // for first frame ther is no return FrameBufferYUV->repeat_pict =-(NbrFrames-1); FrameBufferYUV->interlaced_frame=m_pBufferRef->video->interlaced; FrameBufferYUV->top_field_first =m_pBufferRef->video->top_field_first; NbrFrames--; if (m_pBufferRef) { if (FrameBufferYUV->opaque) avfilter_unref_buffer((AVFilterBufferRef *)FrameBufferYUV->opaque); FrameBufferYUV->opaque=(void *)avfilter_ref_buffer(m_pBufferRef,AV_PERM_READ); avfilter_unref_buffer(m_pBufferRef); m_pBufferRef = NULL; } } #endif return VC_BUFFER; } #endif //==================================================================================================================== bool cVideoFile::SeekFile(AVStream *VideoStream,AVStream *AudioStream,int64_t Position) { bool ret=true; AVFormatContext *LibavFile =NULL; int StreamNumber=0; // Reset context variables and buffers if (AudioStream) { CloseResampler(); LibavFile=LibavAudioFile; StreamNumber=AudioStreamNumber; } else if (VideoStream) { if (VideoFilterGraph) VideoFilter_Close(); while (CacheImage.count()>0) delete(CacheImage.takeLast()); FrameBufferYUVReady =false; FrameBufferYUVPosition=0; LibavFile=LibavVideoFile; StreamNumber=VideoStreamNumber; } if ((LibavStartTime>0)&&(VideoStream)) Position-=LibavStartTime; if (Position<0) Position=0; // Flush LibAV buffers for (unsigned int i=0;inb_streams;i++) { AVCodecContext *codec_context = LibavFile->streams[i]->codec; if (codec_context && codec_context->codec) avcodec_flush_buffers(codec_context); } #if defined(LIBAV) && (LIBAVVERSIONINT<=8) int64_t seek_target=av_rescale_q(Position,AV_TIME_BASE_Q,LibavFile->streams[StreamNumber]->time_base); if (seek_target<0) seek_target=0; int errcode=0; if ((errcode=avformat_seek_file(LibavFile,StreamNumber,INT64_MIN,seek_target,INT64_MAX,AVSEEK_FLAG_BACKWARD))<0) { if (errcode==-1) { if ((errcode=avformat_seek_file(LibavFile,-1,INT64_MIN,Position,INT64_MAX,AVSEEK_FLAG_BACKWARD|AVSEEK_FLAG_ANY))<0) { ToLog(LOGMSG_CRITICAL,GetAvErrorMessage(errcode)); } } else { // Try in AVSEEK_FLAG_ANY mode if ((errcode=av_seek_frame(LibavFile,StreamNumber,seek_target,AVSEEK_FLAG_BACKWARD|AVSEEK_FLAG_ANY))<0) { ToLog(LOGMSG_CRITICAL,GetAvErrorMessage(errcode)); // Try with default stream if exist int DefaultStream=av_find_default_stream_index(LibavFile); if ((DefaultStream==StreamNumber)||(Position>0)||(DefaultStream<0)||((errcode=av_seek_frame(LibavFile,DefaultStream,0,AVSEEK_FLAG_BACKWARD|AVSEEK_FLAG_BYTE)<0))) { ToLog(LOGMSG_CRITICAL,GetAvErrorMessage(errcode)); ToLog(LOGMSG_CRITICAL,"Error in cVideoFile::ReadFrame : Seek error"); ret=false; } } } } #else int64_t seek_target=av_rescale_q(Position,AV_TIME_BASE_Q,LibavFile->streams[StreamNumber]->time_base); if (seek_target<0) seek_target=0; int errcode=0; if ((errcode=avformat_seek_file(LibavFile,StreamNumber,INT64_MIN,seek_target,INT64_MAX,AVSEEK_FLAG_BACKWARD))<0) { ToLog(LOGMSG_DEBUGTRACE,GetAvErrorMessage(errcode)); // Try in AVSEEK_FLAG_ANY mode if ((errcode=av_seek_frame(LibavFile,StreamNumber,seek_target,AVSEEK_FLAG_BACKWARD|AVSEEK_FLAG_ANY))<0) { ToLog(LOGMSG_DEBUGTRACE,GetAvErrorMessage(errcode)); // Try with default stream if exist int DefaultStream=av_find_default_stream_index(LibavFile); if ((DefaultStream==StreamNumber)||(Position>0)||(DefaultStream<0)||((errcode=av_seek_frame(LibavFile,DefaultStream,0,AVSEEK_FLAG_BACKWARD|AVSEEK_FLAG_BYTE)<0))) { ToLog(LOGMSG_DEBUGTRACE,GetAvErrorMessage(errcode)); ToLog(LOGMSG_CRITICAL,"Error in cVideoFile::ReadFrame : Seek error"); ret=false; } } } #endif return ret; } //==================================================================================================================== u_int8_t *cVideoFile::Resample(AVFrame *Frame,int64_t *SizeDecoded,int DstSampleSize) { u_int8_t *Data=NULL; #if defined(LIBAV) && (LIBAVVERSIONINT<=8) Data=(u_int8_t *)av_malloc(MaxAudioLenDecoded); if (Data) *SizeDecoded=audio_resample(RSC,(short int*)Data,(short int*)Frame->data[0],Frame->nb_samples)*DstSampleSize; #elif defined(LIBAV) && (LIBAVVERSIONINT<=9) u_int8_t *in_data[RESAMPLE_MAX_CHANNELS]={0}; int in_linesize=0; Data=Frame->data[0]; if (av_samples_fill_arrays(in_data,&in_linesize,(u_int8_t *)Frame->data[0],RSC_InChannels,Frame->nb_samples,RSC_InSampleFmt,1)<0) { ToLog(LOGMSG_CRITICAL,QString("failed in_data fill arrays")); } else { u_int8_t *out_data[RESAMPLE_MAX_CHANNELS]={0}; int out_linesize=0; int out_samples=avresample_available(RSC)+av_rescale_rnd(avresample_get_delay(RSC)+Frame->nb_samples,RSC_OutSampleRate,RSC_InSampleRate,AV_ROUND_UP); if (av_samples_alloc(&Data,&out_linesize,RSC_OutChannels,out_samples,RSC_OutSampleFmt,1)<0) { ToLog(LOGMSG_CRITICAL,QString("av_samples_alloc failed")); } else if (av_samples_fill_arrays(out_data,&out_linesize,Data,RSC_OutChannels,out_samples,RSC_OutSampleFmt,1)<0) { ToLog(LOGMSG_CRITICAL,QString("failed out_data fill arrays")); } else { *SizeDecoded=avresample_convert(RSC,out_data,out_linesize,out_samples,in_data,in_linesize,Frame->nb_samples)*DstSampleSize; } } #elif defined(FFMPEG) Data=(u_int8_t *)av_malloc(MaxAudioLenDecoded); u_int8_t *out[]={Data}; if (Data) *SizeDecoded=swr_convert(RSC,out,MaxAudioLenDecoded/DstSampleSize,(const u_int8_t **)Frame->data,Frame->nb_samples)*DstSampleSize; #endif return Data; } //==================================================================================================================== // Read a frame from current stream //==================================================================================================================== // maximum diff between asked image position and founded image position #define ALLOWEDDELTA 250000 // diff between asked image position and current image position before exit loop and return black frame #define MAXDELTA 2500000 // Remark: Position must use AV_TIMEBASE Unit QImage *cVideoFile::ReadFrame(bool PreviewMode,int64_t Position,bool DontUseEndPos,bool Deinterlace,cSoundBlockList *SoundTrackBloc,double Volume,bool ForceSoundOnly) { // Ensure file was previously open if ((!IsOpen)&&(!OpenCodecAndFile())) return NULL; // Ensure file have an end file Position double dEndFile=double(QTime(0,0,0,0).msecsTo(DontUseEndPos?Duration:EndPos))/1000; if (dEndFile==0) { ToLog(LOGMSG_CRITICAL,"Error in cVideoFile::ReadFrame : dEndFile=0 ?????"); return NULL; } if (Position<0) Position=0; AVStream *AudioStream =((AudioStreamNumber>=0)&&(SoundTrackBloc)?LibavAudioFile->streams[AudioStreamNumber]:NULL); AVStream *VideoStream =((!MusicOnly)&&(!ForceSoundOnly)&&(VideoStreamNumber>=0)?LibavVideoFile->streams[VideoStreamNumber]:NULL); if ((!AudioStream)&&(!VideoStream)) return NULL; Mutex.lock(); int64_t DstSampleSize=SoundTrackBloc?(SoundTrackBloc->SampleBytes*SoundTrackBloc->Channels):0; int64_t FPSSize =SoundTrackBloc?SoundTrackBloc->SoundPacketSize*SoundTrackBloc->NbrPacketForFPS:0; int64_t FPSDuration =FPSSize?(double(FPSSize)/(SoundTrackBloc->Channels*SoundTrackBloc->SampleBytes*SoundTrackBloc->SamplingRate))*AV_TIME_BASE:0; if (!FPSDuration) { if (PreviewMode) FPSDuration=double(AV_TIME_BASE)/((cApplicationConfig *)ApplicationConfig)->PreviewFPS; else if (VideoStream) FPSDuration=double(VideoStream->r_frame_rate.den*AV_TIME_BASE)/double(VideoStream->r_frame_rate.num); else FPSDuration=double(AV_TIME_BASE)/double(SoundTrackBloc->SamplingRate); } // If position >= end of file : disable audio double dPosition=double(Position)/AV_TIME_BASE; if ((dPosition>0)&&(dPosition>=dEndFile)) { AudioStream=NULL; // Disable audio // Check if last image is ready and correspond to end of file if ((!LastImage.isNull())&&(FrameBufferYUVReady)&&(FrameBufferYUVPosition>=dEndFile*AV_TIME_BASE-FPSDuration)) { Mutex.unlock(); return new QImage(LastImage.copy()); } // If not then change Position to end file - a FPS to prepare a last image Position=dEndFile*AV_TIME_BASE-FPSDuration; dPosition=double(Position)/AV_TIME_BASE; } //================================================ QImage *RetImage =NULL; AVPacket *StreamPacket =NULL; bool ContinueAudio =(AudioStream!=NULL); bool ContinueVideo =true; double FrameDuration =0; bool NeedResampling =false; int64_t AudioLenDecoded =0; double AudioFramePosition=dPosition; double VideoFramePosition=dPosition; bool ResamplingContinue=(Position!=0); if (AudioStream) { NeedResampling=((AudioStream->codec->sample_fmt!=AV_SAMPLE_FMT_S16)|| (AudioStream->codec->channels!=SoundTrackBloc->Channels)|| (AudioStream->codec->sample_rate!=SoundTrackBloc->SamplingRate)); // Calc if we need to seek to a position int64_t DiffTimePosition=-1000000; // Compute difftime between asked position and previous end decoded position if (SoundTrackBloc->CurrentPosition!=-1) DiffTimePosition=0; if ((Position==0)||(DiffTimePosition<0)||(DiffTimePosition>1500000)) {// Allow 1,5 sec diff (rounded double !) if (Position<0) Position=0; SoundTrackBloc->ClearList(); // Clear soundtrack list ResamplingContinue=false; LastAudioReadedPosition=0; SeekFile(NULL,AudioStream,Position); // Always seek one FPS before to ensure eventual filter have time to init AudioFramePosition=Position/AV_TIME_BASE; } // Prepare resampler if (NeedResampling) { if (!ResamplingContinue) CloseResampler(); CheckResampler(AudioStream->codec->channels,SoundTrackBloc->Channels, AudioStream->codec->sample_fmt,SoundTrackBloc->SampleFormat, AudioStream->codec->sample_rate,SoundTrackBloc->SamplingRate #if (defined(LIBAV)&&(LIBAVVERSIONINT>=9)) || defined(FFMPEG) ,AudioStream->codec->channel_layout ,av_get_default_channel_layout(SoundTrackBloc->Channels) #endif ); } // Check if we need to continue loop // Note: FPSDuration*(!VideoStream?2:1) is to enhance preview speed ContinueAudio=((AudioStream)&&(SoundTrackBloc)&& (!((LastAudioReadedPosition>=Position+FPSDuration*2)||(LastAudioReadedPosition>=int64_t(dEndFile*AV_TIME_BASE))))); } // Count number of image > position int Nbr=0; for (int CNbr=0;CNbrPosition>=Position)&&(CacheImage[CNbr]->Position-Position0; ContinueVideo=((VideoStream)&&(!IsVideoFind)); if (ContinueVideo) { int64_t DiffTimePosition=-1000000; // Compute difftime between asked position and previous end decoded position if (FrameBufferYUVReady) { DiffTimePosition=Position-FrameBufferYUVPosition; //if ((Position==0)||(DiffTimePosition<0)||(DiffTimePosition>1500000)) // ToLog(LOGMSG_INFORMATION,QString("VIDEO-SEEK %1 TO %2").arg(ShortName).arg(Position)); } // Calc if we need to seek to a position if ((Position==0)||(DiffTimePosition<0)||(DiffTimePosition>1500000)) {// Allow 1,5 sec diff (rounded double !) if (Position<0) Position=0; SeekFile(VideoStream,NULL,Position); // Always seek one FPS before to ensure eventual filter have time to init VideoFramePosition=Position/AV_TIME_BASE; } } //************************************************************************************************************************************* // Decoding process : Get StreamPacket until endposition is reach (if sound is wanted) or until image is ok (if image only is wanted) //************************************************************************************************************************************* // AUDIO PART // Retry counter (when len>0 and avcodec_decode_audio4 fail to retreave frame, we retry counter time before to discard the packet) int Counter=20; while (ContinueAudio) { StreamPacket=new AVPacket(); if (!StreamPacket) { ContinueAudio=false; } else { av_init_packet(StreamPacket); StreamPacket->flags|=AV_PKT_FLAG_KEY; // HACK for CorePNG to decode as normal PNG by default if (av_read_frame(LibavAudioFile,StreamPacket)<0) { // If error reading frame then we considere we have reach the end of file dEndFile=AudioFramePosition; if (dEndFile==double(QTime(0,0,0,0).msecsTo(EndPos))) EndPos=QTime(0,0,0).addMSecs(AudioFramePosition*1000); ContinueAudio=false; } else { int64_t FramePts=StreamPacket->pts!=(int64_t)AV_NOPTS_VALUE?StreamPacket->pts:-1; double TimeBase=double(LibavAudioFile->streams[StreamPacket->stream_index]->time_base.den)/double(LibavAudioFile->streams[StreamPacket->stream_index]->time_base.num); if (FramePts>=0) AudioFramePosition=(double(FramePts)/TimeBase); if ((StreamPacket->stream_index==AudioStreamNumber)&&(StreamPacket->size>0)) { AVPacket PacketTemp; av_init_packet(&PacketTemp); PacketTemp.data=StreamPacket->data; PacketTemp.size=StreamPacket->size; // NOTE: the audio packet can contain several NbrFrames while ((Counter>0)&&(ContinueAudio)&&(PacketTemp.size>0)) { AVFrame *Frame=ALLOCFRAME(); int got_frame; int Len=avcodec_decode_audio4(AudioStream->codec,Frame,&got_frame,&PacketTemp); if (Len<0) { // if error, we skip the frame and exit the while loop PacketTemp.size=0; } else if (got_frame>0) { int64_t SizeDecoded=0; u_int8_t *Data =NULL; if ((NeedResampling)&&(RSC!=NULL)) { Data=Resample(Frame,&SizeDecoded,DstSampleSize); } else { Data=Frame->data[0]; #if (defined(LIBAV)&&(LIBAVVERSIONINT<=8)) SizeDecoded=Frame->nb_samples*av_get_bytes_per_sample(AudioStream->codec->sample_fmt)*AudioStream->codec->channels; #elif (defined(LIBAV)&&(LIBAVVERSIONINT<=9)) SizeDecoded=av_samples_get_buffer_size(NULL,AudioStream->codec->channels,Frame->nb_samples,AudioStream->codec->sample_fmt,0); #elif defined(FFMPEG) SizeDecoded=Frame->nb_samples*av_get_bytes_per_sample(AudioStream->codec->sample_fmt)*AudioStream->codec->channels; #endif } ContinueAudio=(Data!=NULL); if (ContinueAudio) { // Adjust FrameDuration with real Nbr Sample FrameDuration=double(SizeDecoded)/(SoundTrackBloc->SamplingRate*DstSampleSize); // Adjust pts and inc FramePts int the case there is multiple blocks int64_t pts=int64_t((double(FramePts)/TimeBase)*AV_TIME_BASE); if (pts<0) pts=int64_t((double(Position+FPSDuration)/TimeBase)*AV_TIME_BASE); FramePts+=FrameDuration*AV_TIME_BASE; AudioFramePosition=qreal(pts)/1000000; // Adjust volume if master volume <>1 if (Volume!=1) { int16_t *Buf1=(int16_t*)Data; int32_t mix; for (int j=0;j32767) mix=32767; else if (mix<-32768) mix=-32768; *(Buf1++)=int16_t(mix); // Right channel : Adjust if necessary (16 bits) mix=int32_t(double(*(Buf1))*Volume); if (mix>32767) mix=32767; else if (mix<-32768) mix=-32768; *(Buf1++)=int16_t(mix); } } // Sync audio/video (if it was not done before) // if ((!CacheImage.isEmpty())&&(!SoundTrackBloc->Adjusted)) // SoundTrackBloc->AdjustSoundPosition(pts>0?pts:Position,CacheImage.first()->Position); // Append decoded data to SoundTrackBloc SoundTrackBloc->AppendData(/*Position*/pts,(int16_t*)Data,SizeDecoded); AudioLenDecoded +=SizeDecoded; PacketTemp.data +=Len; PacketTemp.size -=Len; AudioFramePosition =AudioFramePosition+FrameDuration; } LastAudioReadedPosition =int64_t(AudioFramePosition*AV_TIME_BASE); // Keep NextPacketPosition for determine next time if we need to seek if (Data!=Frame->data[0]) av_free(Data); } else { Counter--; if (Counter==0) { Len=0; ToLog(LOGMSG_CRITICAL,QString("Impossible to decode audio frame: Discard it")); } } FREEFRAME(&Frame); } } } // Check if we need to continue loop // Note: FPSDuration*(!VideoStream?2:1) is to enhance preview speed ContinueAudio=((ContinueAudio)&&(Counter>0)&&(AudioStream)&&(SoundTrackBloc)&& (!((LastAudioReadedPosition>=Position+FPSDuration*2)||(LastAudioReadedPosition>=int64_t(dEndFile*AV_TIME_BASE))))); } // Continue with a new one if (StreamPacket!=NULL) { av_free_packet(StreamPacket); // Free the StreamPacket that was allocated by previous call to av_read_frame delete StreamPacket; StreamPacket=NULL; } } // VIDEO PART if (VideoStream) { if (!ContinueVideo) { ToLog(LOGMSG_DEBUGTRACE,QString("Video image for position %1 => use image in cache").arg(Position)); } else { bool ByPassFirstImage=(Deinterlace)&&(CacheImage.count()==0); int MaxErrorCount =20; bool FreeFrames =false; while (ContinueVideo) { StreamPacket=new AVPacket(); if (!StreamPacket) { ContinueVideo=false; } else { av_init_packet(StreamPacket); StreamPacket->flags|=AV_PKT_FLAG_KEY; // HACK for CorePNG to decode as normal PNG by default int errcode=0; if ((errcode=av_read_frame(LibavVideoFile,StreamPacket))<0) { if (errcode==AVERROR_EOF) { // We have reach the end of file dEndFile=VideoFramePosition; if (dEndFile==double(QTime(0,0,0,0).msecsTo(EndPos))) EndPos=QTime(0,0,0).addMSecs(VideoFramePosition*1000); ContinueVideo=false; if ((!LastImage.isNull())&&(FrameBufferYUVReady)&&(FrameBufferYUVPosition>=(dEndFile-1.5)*AV_TIME_BASE)) { if (!RetImage) RetImage=new QImage(LastImage); IsVideoFind=true; ContinueVideo=false; } } else { ToLog(LOGMSG_CRITICAL,GetAvErrorMessage(errcode)); // If error reading frame if (MaxErrorCount>0) { // Files with stream could provoque this, so we ignore the first MaxErrorCount errors MaxErrorCount--; } else { if ((!LastImage.isNull())&&(FrameBufferYUVReady)&&(FrameBufferYUVPosition>=(dEndFile-1.5)*AV_TIME_BASE)) { if (!RetImage) RetImage=new QImage(LastImage); IsVideoFind=true; ContinueVideo=false; } else { ContinueVideo=SeekFile(VideoStream,NULL,Position-2*FPSDuration); } } } } else { int64_t FramePts=StreamPacket->pts!=(int64_t)AV_NOPTS_VALUE?StreamPacket->pts:-1; double TimeBase=double(LibavVideoFile->streams[StreamPacket->stream_index]->time_base.den)/double(LibavVideoFile->streams[StreamPacket->stream_index]->time_base.num); if (FramePts>=0) VideoFramePosition=(double(FramePts)/TimeBase); if (StreamPacket->stream_index==VideoStreamNumber) { // Allocate structures if (FrameBufferYUV==NULL) FrameBufferYUV=ALLOCFRAME(); if (FrameBufferYUV) { #if defined(LIBAV) || (defined(FFMPEG)&&(FFMPEGVERSIONINT<201)) if (FrameBufferYUV->opaque) { avfilter_unref_buffer((AVFilterBufferRef *)FrameBufferYUV->opaque); FrameBufferYUV->opaque=NULL; } #endif int FrameDecoded=0; LastLibAvMessageLevel=0; // Clear LastLibAvMessageLevel : some decoder dont return error but display errors messages ! int Error=avcodec_decode_video2(VideoStream->codec,FrameBufferYUV,&FrameDecoded,StreamPacket); if ((Error<0)||(LastLibAvMessageLevel==LOGMSG_CRITICAL)) { if (MaxErrorCount>0) { if (VideoFramePosition*10000001000000) SeekFile(VideoStream,NULL/*AudioStream*/,Position-1000000); // 1 sec before else SeekFile(VideoStream,NULL,0); } MaxErrorCount--; } else { ToLog(LOGMSG_CRITICAL,QString("IN:cVideoFile::ReadFrame - Error decoding packet: and no try left")); ContinueVideo=false; } } else if (FrameDecoded>0) { #if defined(FFMPEG)&&(FFMPEGVERSIONINT>=201) FrameBufferYUV->pkt_pts = av_frame_get_best_effort_timestamp(FrameBufferYUV); #endif // Video filter part if ((Deinterlace)&&(!VideoFilterGraph)) VideoFilter_Open(); else if ((!Deinterlace)&&(VideoFilterGraph)) VideoFilter_Close(); #if defined(LIBAV) || (defined(FFMPEG)&&(FFMPEGVERSIONINT<201)) if (VideoFilterGraph) VideoFilter_Process(); #elif defined(FFMPEG)&&(FFMPEGVERSIONINT>=201) AVFrame *FiltFrame=NULL; if (VideoFilterGraph) { // FFMPEG 2.0 // push the decoded frame into the filtergraph if (av_buffersrc_add_frame_flags(VideoFilterIn,FrameBufferYUV,AV_BUFFERSRC_FLAG_KEEP_REF)<0) { ToLog(LOGMSG_INFORMATION,"IN:cVideoFile::ReadFrame : Error while feeding the filtergraph"); } else { FiltFrame=av_frame_alloc(); // pull filtered frames from the filtergraph int ret=av_buffersink_get_frame(VideoFilterOut,FiltFrame); if ((ret<0)||(ret==AVERROR(EAGAIN))||(ret==AVERROR_EOF)) { ToLog(LOGMSG_INFORMATION,"IN:cVideoFile::ReadFrame : No image return by filter process"); av_frame_free(&FiltFrame); FiltFrame=NULL; } } } #endif if (ByPassFirstImage) { ByPassFirstImage=false; FreeFrames =true; } else { int64_t pts=FrameBufferYUV->pkt_pts; if (pts==(int64_t)AV_NOPTS_VALUE) { if (FrameBufferYUV->pkt_dts!=(int64_t)AV_NOPTS_VALUE) { pts=FrameBufferYUV->pkt_dts; ToLog(LOGMSG_DEBUGTRACE,QString("IN:cVideoFile::ReadFrame : No PTS so use DTS %1 for position %2").arg(pts).arg(Position)); } else { pts=0; ToLog(LOGMSG_DEBUGTRACE,QString("IN:cVideoFile::ReadFrame : No PTS and no DTS for position %1").arg(Position)); } } FrameBufferYUVReady =true; // Keep actual value for FrameBufferYUV FrameBufferYUVPosition=int64_t((double(pts)/TimeBase)*AV_TIME_BASE)-LibavStartTime; // Keep actual value for FrameBufferYUV // Append this frame cImageInCache *ObjImage= #if defined(LIBAV) || (defined(FFMPEG)&&(FFMPEGVERSIONINT<201)) new cImageInCache(FrameBufferYUVPosition,NULL,FrameBufferYUV); #else new cImageInCache(FrameBufferYUVPosition,FiltFrame,FrameBufferYUV); #endif FreeFrames=false; int ToIns=0; while ((ToInsPositionPosition)) ToIns++; if (ToInskey_frame).arg(FrameBufferYUV->pkt_pts).arg(FrameBufferYUV->coded_picture_number)); } else { CacheImage.append(ObjImage); ToLog(LOGMSG_DEBUGTRACE,QString("IN:cVideoFile::ReadFrame : Append image %1 for position %2 (FramePosition=%3) - Key:%4 PTS:%5 Num:%6").arg(FrameBufferYUVPosition).arg(Position).arg(VideoFramePosition).arg(FrameBufferYUV->key_frame).arg(FrameBufferYUV->pkt_pts).arg(FrameBufferYUV->coded_picture_number)); } // Count number of image > position int Nbr=0; for (int CNbr=0;CNbrPosition>=Position)&&(CacheImage[CNbr]->Position-Position0; } if (FreeFrames) { #if defined(LIBAV) || (defined(FFMPEG)&&(FFMPEGVERSIONINT<201)) if (FrameBufferYUV->opaque) { avfilter_unref_buffer((AVFilterBufferRef *)FrameBufferYUV->opaque); FrameBufferYUV->opaque=NULL; } #else if (FiltFrame) { av_frame_unref(FiltFrame); av_frame_free(&FiltFrame); av_frame_unref(FrameBufferYUV); } #endif FREEFRAME(&FrameBufferYUV); } else { FrameBufferYUV=NULL; #if defined(FFMPEG)&&(FFMPEGVERSIONINT>=201) FiltFrame =NULL; #endif } } } } } // Check if we need to continue loop // Note: FPSDuration*(!VideoStream?2:1) is to enhance preview speed ContinueVideo=ContinueVideo && ((VideoStream)&&(!IsVideoFind)&&((VideoFramePosition*10000000)) { // search nearest image (allowed up to MAXDELTA, after return black frame) int i=-1,Nearest=MAXDELTA; for (int jj=0;jjPosition>=Position)&&(CacheImage[jj]->Position-PositionPosition-PositionPosition-Position; } if ((i>=0)&&(iPosition>=Position)&&(CacheImage[i]->Position-Position<100000)*/) { RetImage=ConvertYUVToRGB(PreviewMode,CacheImage[i]->FiltFrame?CacheImage[i]->FiltFrame:CacheImage[i]->FrameBufferYUV); ToLog(LOGMSG_DEBUGTRACE,QString("Video image for position %1 => return image at %2").arg(Position).arg(CacheImage[i]->Position)); } else { ToLog(LOGMSG_CRITICAL,QString("No video image return for position %1 => return image at %2").arg(Position).arg(CacheImage[0]->Position)); RetImage=ConvertYUVToRGB(PreviewMode,CacheImage[0]->FiltFrame?CacheImage[0]->FiltFrame:CacheImage[0]->FrameBufferYUV); } } if (!RetImage) { ToLog(LOGMSG_CRITICAL,QString("No video image return for position %1 => return black frame").arg(Position)); RetImage =new QImage(LibavVideoFile->streams[VideoStreamNumber]->codec->width,LibavVideoFile->streams[VideoStreamNumber]->codec->height,QImage::Format_ARGB32_Premultiplied); RetImage->fill(0); } int i=0; while (iPositionwidth*AspectRatio; W-=(W%4); // W must be a multiple of 4 ???? int H=Frame->height; LastImage=QImage(W,H,QTPIXFMT); // Allocate structure for RGB image AVFrame *FrameBufferRGB=ALLOCFRAME(); if (FrameBufferRGB!=NULL) { avpicture_fill( (AVPicture *)FrameBufferRGB, // Buffer to prepare LastImage.bits(), // Buffer which will contain the image data PIXFMT, // The format in which the picture data is stored (see http://wiki.aasimon.org/doku.php?id=Libav:pixelformat) W, // The width of the image in pixels H // The height of the image in pixels ); // Get a converter from libswscale struct SwsContext *img_convert_ctx=sws_getContext( Frame->width, // Src width Frame->height, // Src height (PixelFormat)Frame->format, // Src Format W, // Destination width H, // Destination height PIXFMT, // Destination Format SWS_BICUBIC,NULL,NULL,NULL); // flags,src Filter,dst Filter,param if (img_convert_ctx!=NULL) { int ret; #if defined(LIBAV) || (defined(FFMPEG)&&(FFMPEGVERSIONINT<201)) if (Frame->opaque) { AVFilterBufferRef *Buf=(AVFilterBufferRef *)Frame->opaque; ret = sws_scale( img_convert_ctx, // libswscale converter Buf->data, // Source buffer Buf->linesize, // Source Stride ? 0, // Source SliceY:the position in the source image of the slice to process, that is the number (counted starting from zero) in the image of the first row of the slice Frame->height, // Source SliceH:the height of the source slice, that is the number of rows in the slice FrameBufferRGB->data, // Destination buffer FrameBufferRGB->linesize // Destination Stride ); } else #endif { ret = sws_scale( img_convert_ctx, // libswscale converter Frame->data, // Source buffer Frame->linesize, // Source Stride ? 0, // Source SliceY:the position in the source image of the slice to process, that is the number (counted starting from zero) in the image of the first row of the slice Frame->height, // Source SliceH:the height of the source slice, that is the number of rows in the slice FrameBufferRGB->data, // Destination buffer FrameBufferRGB->linesize // Destination Stride ); } if (ret>0) { // Auto crop image if 1088 format if ((ApplicationConfig->Crop1088To1080)&&(LastImage.height()==1088)&&(LastImage.width()==1920)) LastImage=LastImage.copy(0,4,1920,1080); // Reduce image size for preview mode if ((PreviewMode)&&(LastImage.height()>ApplicationConfig->MaxVideoPreviewHeight)) LastImage=LastImage.scaledToHeight(ApplicationConfig->MaxVideoPreviewHeight); } sws_freeContext(img_convert_ctx); } // free FrameBufferRGB because we don't need it in the future FREEFRAME(&FrameBufferRGB); } //return FinalImage; return new QImage(LastImage.copy()); } //==================================================================================================================== // Load a video frame // DontUseEndPos default=false QImage *cVideoFile::ImageAt(bool PreviewMode,int64_t Position,cSoundBlockList *SoundTrackBloc,bool Deinterlace, double Volume,bool ForceSoundOnly,bool DontUseEndPos) { if (!IsValide) return NULL; if (!IsOpen) OpenCodecAndFile(); if ((PreviewMode)&&(!SoundTrackBloc)) { // for speed improvment, try to find image in cache (only for interface) cLuLoImageCacheObject *ImageObject=ApplicationConfig->ImagesCache.FindObject(RessourceKey,FileKey,ModifDateTime,ImageOrientation,ApplicationConfig->Smoothing,true); if (!ImageObject) return ReadFrame(PreviewMode,Position*1000,DontUseEndPos,Deinterlace,SoundTrackBloc,Volume,ForceSoundOnly); if ((ImageObject->Position==Position)&&(ImageObject->CachePreviewImage)) return new QImage(ImageObject->CachePreviewImage->copy()); if (ImageObject->CachePreviewImage) { delete ImageObject->CachePreviewImage; ImageObject->CachePreviewImage=NULL; } ImageObject->Position=Position; ImageObject->CachePreviewImage=ReadFrame(PreviewMode,Position*1000,DontUseEndPos,Deinterlace,SoundTrackBloc,Volume,ForceSoundOnly); if (ImageObject->CachePreviewImage) return new QImage(ImageObject->CachePreviewImage->copy()); else return NULL; } else return ReadFrame(PreviewMode,Position*1000,DontUseEndPos,Deinterlace,SoundTrackBloc,Volume,ForceSoundOnly); } //==================================================================================================================== int cVideoFile::getThreadFlags(AVCodecID ID) { int Ret=0; switch (ID) { case CODEC_ID_PRORES: case CODEC_ID_MPEG1VIDEO: case CODEC_ID_DVVIDEO: case CODEC_ID_MPEG2VIDEO: Ret=FF_THREAD_SLICE; break; case CODEC_ID_H264 : Ret=FF_THREAD_FRAME|FF_THREAD_SLICE; break; default: Ret=FF_THREAD_FRAME; break; } return Ret; } //==================================================================================================================== bool cVideoFile::OpenCodecAndFile() { // Ensure file was previously checked if (!IsValide) return false; if (!IsInformationValide) GetFullInformationFromFile(); // Clean memory if a previous file was loaded CloseCodecAndFile(); //********************************** // Open audio stream //********************************** if (AudioStreamNumber!=-1) { // Open the file and get a LibAVFormat context and an associated LibAVCodec decoder if (avformat_open_input(&LibavAudioFile,FileName().toLocal8Bit(),NULL,NULL)!=0) return false; LibavAudioFile->flags|=AVFMT_FLAG_GENPTS; // Generate missing pts even if it requires parsing future NbrFrames. if (avformat_find_stream_info(LibavAudioFile,NULL)<0) { avformat_close_input(&LibavAudioFile); return false; } AVStream *AudioStream=LibavAudioFile->streams[AudioStreamNumber]; // Setup STREAM options AudioStream->discard=AVDISCARD_DEFAULT; // Find the decoder for the audio stream and open it AudioDecoderCodec=avcodec_find_decoder(AudioStream->codec->codec_id); // Setup decoder options AudioStream->codec->debug_mv =0; // Debug level (0=nothing) AudioStream->codec->debug =0; // Debug level (0=nothing) AudioStream->codec->workaround_bugs =1; // Work around bugs in encoders which sometimes cannot be detected automatically : 1=autodetection AudioStream->codec->idct_algo =FF_IDCT_AUTO; // IDCT algorithm, 0=auto AudioStream->codec->skip_frame =AVDISCARD_DEFAULT; // ??????? AudioStream->codec->skip_idct =AVDISCARD_DEFAULT; // ??????? AudioStream->codec->skip_loop_filter =AVDISCARD_DEFAULT; // ??????? AudioStream->codec->error_concealment=3; AudioStream->codec->thread_count =getCpuCount(); AudioStream->codec->thread_type =getThreadFlags(AudioStream->codec->codec_id); if ((AudioDecoderCodec==NULL)||(avcodec_open2(AudioStream->codec,AudioDecoderCodec,NULL)<0)) { //Mutex.unlock(); return false; } IsVorbis=(strcmp(AudioDecoderCodec->name,"vorbis")==0); } //********************************** // Open video stream //********************************** if ((VideoStreamNumber!=-1)&&(!MusicOnly)) { // Open the file and get a LibAVFormat context and an associated LibAVCodec decoder if (avformat_open_input(&LibavVideoFile,FileName().toLocal8Bit(),NULL,NULL)!=0) return false; LibavVideoFile->flags|=AVFMT_FLAG_GENPTS; // Generate missing pts even if it requires parsing future NbrFrames. if (avformat_find_stream_info(LibavVideoFile,NULL)<0) { avformat_close_input(&LibavVideoFile); return false; } AVStream *VideoStream=LibavVideoFile->streams[VideoStreamNumber]; // Setup STREAM options VideoStream->discard=AVDISCARD_DEFAULT; // Find the decoder for the video stream and open it VideoDecoderCodec=avcodec_find_decoder(VideoStream->codec->codec_id); // Setup decoder options VideoStream->codec->debug_mv =0; // Debug level (0=nothing) VideoStream->codec->debug =0; // Debug level (0=nothing) VideoStream->codec->workaround_bugs =1; // Work around bugs in encoders which sometimes cannot be detected automatically : 1=autodetection VideoStream->codec->idct_algo =FF_IDCT_AUTO; // IDCT algorithm, 0=auto VideoStream->codec->skip_frame =AVDISCARD_DEFAULT; // ??????? VideoStream->codec->skip_idct =AVDISCARD_DEFAULT; // ??????? VideoStream->codec->skip_loop_filter =AVDISCARD_DEFAULT; // ??????? VideoStream->codec->error_concealment=3; VideoStream->codec->thread_count =getCpuCount(); VideoStream->codec->thread_type =getThreadFlags(VideoStream->codec->codec_id); // Hack to correct wrong frame rates that seem to be generated by some codecs if (VideoStream->codec->time_base.num>1000 && VideoStream->codec->time_base.den==1) VideoStream->codec->time_base.den=1000; if ((VideoDecoderCodec==NULL)||(avcodec_open2(VideoStream->codec,VideoDecoderCodec,NULL)<0)) return false; LibavStartTime=LibavVideoFile->start_time; } IsOpen=true; return IsOpen; } //********************************************************************************************************************************************* // Base object for music definition //********************************************************************************************************************************************* cMusicObject::cMusicObject(cApplicationConfig *ApplicationConfig):cVideoFile(ApplicationConfig) { Volume =1.0; // Volume as % from 1% to 150% AllowCredit =true; // // if true, this music will appear in credit title Reset(OBJECTTYPE_MUSICFILE); } //==================================================================================================================== // Overloaded function use to dertermine if format of media file is correct bool cMusicObject::CheckFormatValide(QWidget *Window) { bool IsOk=IsValide; // try to open file if (!OpenCodecAndFile()) { QString ErrorMessage =QApplication::translate("MainWindow","Format not supported","Error message"); CustomMessageBox(Window,QMessageBox::Critical,QApplication::translate("MainWindow","Error","Error message"),ShortName()+"\n\n"+ErrorMessage,QMessageBox::Close); IsOk=false; } // check if file have at least one sound track compatible if ((IsOk)&&(AudioStreamNumber==-1)) { QString ErrorMessage=ErrorMessage+"\n"+QApplication::translate("MainWindow","No audio track found","Error message"); CustomMessageBox(Window,QMessageBox::Critical,QApplication::translate("MainWindow","Error","Error message"),ShortName()+"\n\n"+ErrorMessage,QMessageBox::Close); IsOk=false; } else { if (!((LibavAudioFile->streams[AudioStreamNumber]->codec->sample_fmt!=AV_SAMPLE_FMT_S16)||(LibavAudioFile->streams[AudioStreamNumber]->codec->sample_fmt!=AV_SAMPLE_FMT_U8))) { QString ErrorMessage=ErrorMessage+"\n"+QApplication::translate("MainWindow","This application support only audio track with unsigned 8 bits or signed 16 bits sample format","Error message"); CustomMessageBox(Window,QMessageBox::Critical,QApplication::translate("MainWindow","Error","Error message"),ShortName()+"\n\n"+ErrorMessage,QMessageBox::Close); IsOk=false; } #if defined(LIBAV) && (LIBAVVERSIONINT<=8) // check if sound is mono or stereo (libav 8 version can not reduce 5.1 to stereo) if ((IsOk)&&(LibavAudioFile->streams[AudioStreamNumber]->codec->channels>2)) { QString ErrorMessage=ErrorMessage+"\n"+QApplication::translate("MainWindow","This application support only mono or stereo audio track","Error message"); CustomMessageBox(Window,QMessageBox::Critical,QApplication::translate("MainWindow","Error","Error message"),ShortName()+"\n\n"+ErrorMessage,QMessageBox::Close); IsOk=false; } #endif } // close file if it was opened CloseCodecAndFile(); return IsOk; } //==================================================================================================================== void cMusicObject::SaveToXML(QDomElement *ParentElement,QString ElementName,QString PathForRelativPath,bool ForceAbsolutPath,cReplaceObjectList *ReplaceList,QList *,bool) { QDomDocument DomDocument; QDomElement Element=DomDocument.createElement(ElementName); QString TheFileName; if (ReplaceList) { TheFileName=ReplaceList->GetDestinationFileName(FileName()); } else if (PathForRelativPath!="") { if (ForceAbsolutPath) TheFileName=QDir(QFileInfo(PathForRelativPath).absolutePath()).absoluteFilePath(FileName()); else TheFileName=QDir(QFileInfo(PathForRelativPath).absolutePath()).relativeFilePath(FileName()); } else TheFileName=FileName(); Element.setAttribute("FilePath", TheFileName); Element.setAttribute("StartPos", StartPos.toString()); Element.setAttribute("EndPos", EndPos.toString()); Element.setAttribute("Volume", QString("%1").arg(Volume,0,'f')); Element.setAttribute("AllowCredit", AllowCredit?"1":"0"); ParentElement->appendChild(Element); } //==================================================================================================================== bool cMusicObject::LoadFromXML(QDomElement *ParentElement,QString ElementName,QString PathForRelativPath,QStringList *AliasList,bool *ModifyFlag) { if ((ParentElement->elementsByTagName(ElementName).length()>0)&&(ParentElement->elementsByTagName(ElementName).item(0).isElement()==true)) { QDomElement Element=ParentElement->elementsByTagName(ElementName).item(0).toElement(); QString FileName=Element.attribute("FilePath",""); if ((!QFileInfo(FileName).exists())&&(PathForRelativPath!="")) { FileName=QDir::cleanPath(QDir(PathForRelativPath).absoluteFilePath(FileName)); // Fixes a previous bug in relative path #ifndef Q_OS_WIN if (FileName.startsWith("/..")) { if (FileName.contains("/home/")) FileName=FileName.mid(FileName.indexOf("/home/")); if (FileName.contains("/mnt/")) FileName=FileName.mid(FileName.indexOf("/mnt/")); } #endif } if (GetInformationFromFile(FileName,AliasList,ModifyFlag)&&(CheckFormatValide(NULL))) { StartPos=QTime().fromString(Element.attribute("StartPos")); EndPos =QTime().fromString(Element.attribute("EndPos")); Volume =GetDoubleValue(Element,"Volume"); if (Element.hasAttribute("AllowCredit")) AllowCredit=Element.attribute("AllowCredit")=="1"; return true; } else return false; } else return false; } ffDiaporama/src/ffDiaporama/engine/cApplicationConfig.h0000777000175000001440000005664512275647323023414 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef cApplicationConfig_H #define cApplicationConfig_H // Basic inclusions (common to all files) #include "_GlobalDefines.h" #include "cBaseAppConfig.h" // Include some additional standard class #include #include #include #include #include #include #include #include #include // Include some common various class #include "cSaveWindowPosition.h" #include "cCustomIcon.h" #include "cDeviceModelDef.h" #include "cDriveList.h" #include "_StyleDefinitions.h" #include "cSpeedWave.h" #include "_Transition.h" #include "_Model.h" #if defined(Q_OS_LINUX) || defined(Q_OS_SOLARIS) bool SearchRasterMode(); #endif //============================================ // Define possible values for images geometry #define IMAGE_GEOMETRY_UNKNOWN 0 // undefined image geometry #define IMAGE_GEOMETRY_3_2 1 // Standard 3:2 landscape image #define IMAGE_GEOMETRY_2_3 2 // Standard 3:2 portrait image #define IMAGE_GEOMETRY_4_3 3 // Standard 4:3 landscape image #define IMAGE_GEOMETRY_3_4 4 // Standard 4:3 portrait image #define IMAGE_GEOMETRY_16_9 5 // Standard 16:9 landscape image #define IMAGE_GEOMETRY_9_16 6 // Standard 16:9 portrait image #define IMAGE_GEOMETRY_40_17 7 // Standard cinema landscape image #define IMAGE_GEOMETRY_17_40 8 // Standard cinema portrait image //============================================ // Media filtering constant #define FILTERALLOW_OBJECTTYPE_UNMANAGED 0x0001 #define FILTERALLOW_OBJECTTYPE_MANAGED 0x0002 #define FILTERALLOW_OBJECTTYPE_FOLDER 0x0004 #define FILTERALLOW_OBJECTTYPE_FFDFILE 0x0008 #define FILTERALLOW_OBJECTTYPE_IMAGEFILE 0x0010 #define FILTERALLOW_OBJECTTYPE_VIDEOFILE 0x0020 #define FILTERALLOW_OBJECTTYPE_MUSICFILE 0x0040 #define FILTERALLOW_OBJECTTYPE_IMAGEVECTOR 0x0080 #define FILTERALLOW_OBJECTTYPE_THUMBNAIL 0x0100 #define FILTERALLOW_OBJECTTYPE_MEDIAFILES FILTERALLOW_OBJECTTYPE_IMAGEFILE|FILTERALLOW_OBJECTTYPE_IMAGEVECTOR|FILTERALLOW_OBJECTTYPE_VIDEOFILE #define FILTERALLOW_OBJECTTYPE_ALL 0xffff // Multimedia file explorer allowed display mode #define DISPLAY_DATA 0 #define DISPLAY_ICON100 1 // Multimedia file explorer thumbs size #define Image_ThumbWidth 300 #define Image_ThumbHeight 200 #define Music_ThumbWidth 200 #define Music_ThumbHeight 200 #define Video_ThumbWidth 162 #define Video_ThumbHeight 216 // Minimum height of EXIF preview image for use it #define MinimumEXIFHeight 100 //============================================ // Mainwindow display mode #define DISPLAYWINDOWMODE_PLAYER 0 #define DISPLAYWINDOWMODE_PARTITION 1 #define DISPLAYWINDOWMODE_BROWSER 2 // Mainwindow display size of thumbnails in timeline #define TIMELINEMINHEIGH 144 // min heigh of montage track =(32+4)*4 #define TIMELINEMAXHEIGH 224 // max heigh of montage track (min height+4x20 pixels) //============================================ // Composition type definition #define COMPOSITIONTYPE_BACKGROUND 0 #define COMPOSITIONTYPE_OBJECT 1 #define COMPOSITIONTYPE_SHOT 2 //============================================ // Define possible values for images type #define IMAGETYPE_UNKNOWN 0 #define IMAGETYPE_PHOTOLANDSCAPE 1 #define IMAGETYPE_PHOTOPORTRAIT 2 #define IMAGETYPE_CLIPARTLANDSCAPE 3 // Cliparts are images less than 1920x1080 #define IMAGETYPE_CLIPARTPORTRAIT 4 #define IMAGETYPE_VIDEOLANDSCAPE 5 #define IMAGETYPE_VIDEOPORTRAIT 6 #define NBR_IMAGETYPE 7 //============================================ // Brush Auto Framing definition #define AUTOFRAMING_CUSTOMUNLOCK 0 #define AUTOFRAMING_CUSTOMLOCK 1 #define AUTOFRAMING_CUSTOMIMGLOCK 2 #define AUTOFRAMING_CUSTOMPRJLOCK 3 #define AUTOFRAMING_FULLMAX 4 #define AUTOFRAMING_FULLMIN 5 #define AUTOFRAMING_HEIGHTLEFTMAX 6 #define AUTOFRAMING_HEIGHTLEFTMIN 7 #define AUTOFRAMING_HEIGHTMIDLEMAX 8 #define AUTOFRAMING_HEIGHTMIDLEMIN 9 #define AUTOFRAMING_HEIGHTRIGHTMAX 10 #define AUTOFRAMING_HEIGHTRIGHTMIN 11 #define AUTOFRAMING_WIDTHTOPMAX 12 #define AUTOFRAMING_WIDTHTOPMIN 13 #define AUTOFRAMING_WIDTHMIDLEMAX 14 #define AUTOFRAMING_WIDTHMIDLEMIN 15 #define AUTOFRAMING_WIDTHBOTTOMMAX 16 #define AUTOFRAMING_WIDTHBOTTOMMIN 17 #define NBR_AUTOFRAMING 18 #define AUTOFRAMING_ICON_GEOMETRY_LOCKED ":/img/Geometry_Lock.png" #define AUTOFRAMING_ICON_GEOMETRY_UNLOCKED ":/img/Geometry_Unlock.png" #define AUTOFRAMING_ICON_GEOMETRY_PROJECT ":/img/Geometry_ProjectLock.png" #define AUTOFRAMING_ICON_GEOMETRY_IMAGE ":/img/Geometry_ImageLock.png" #define AUTOFRAMING_GEOMETRY_CUSTOM 0 #define AUTOFRAMING_GEOMETRY_PROJECT 1 #define AUTOFRAMING_GEOMETRY_IMAGE 2 //============================================ #define RULER_HORIZ_SCREENBORDER 0x0001 #define RULER_HORIZ_TVMARGIN 0x0002 #define RULER_HORIZ_SCREENCENTER 0x0004 #define RULER_HORIZ_UNSELECTED 0x0008 #define RULER_VERT_SCREENBORDER 0x0010 #define RULER_VERT_TVMARGIN 0x0020 #define RULER_VERT_SCREENCENTER 0x0040 #define RULER_VERT_UNSELECTED 0x0080 #define RULER_DEFAULT RULER_HORIZ_SCREENBORDER|RULER_HORIZ_TVMARGIN|RULER_HORIZ_SCREENCENTER|RULER_HORIZ_UNSELECTED|RULER_VERT_SCREENBORDER|RULER_VERT_TVMARGIN|RULER_VERT_SCREENCENTER|RULER_VERT_UNSELECTED #define RULER_THUMB_DEFAULT RULER_HORIZ_SCREENBORDER|RULER_HORIZ_SCREENCENTER|RULER_HORIZ_UNSELECTED|RULER_VERT_SCREENBORDER|RULER_VERT_SCREENCENTER|RULER_VERT_UNSELECTED //============================================ #define AUTOCOMPOSIZE_CUSTOM 0 #define AUTOCOMPOSIZE_REALSIZE 1 #define AUTOCOMPOSIZE_FULLSCREEN 2 #define AUTOCOMPOSIZE_TVMARGINS 3 #define AUTOCOMPOSIZE_TWOTHIRDSSCREEN 4 #define AUTOCOMPOSIZE_HALFSCREEN 5 #define AUTOCOMPOSIZE_THIRDSCREEN 6 #define AUTOCOMPOSIZE_QUARTERSCREEN 7 //============================================ // OnOffFilter mask definition //============================================ #define FilterEqualize 0x0001 #define FilterDespeckle 0x0002 #define FilterGray 0x0004 #define FilterNegative 0x0008 #define FilterEmboss 0x0010 #define FilterEdge 0x0020 #define FilterAntialias 0x0040 #define FilterNormalize 0x0080 #define FilterCharcoal 0x0100 #define FilterOil 0x0200 //============================================ // Last folder used and browser settings //============================================ enum BROWSER_TYPE_ID { BROWSER_TYPE_MainWindow, BROWSER_TYPE_IMAGEONLY, BROWSER_TYPE_IMAGEVECTOR, BROWSER_TYPE_VIDEOONLY, BROWSER_TYPE_SOUNDONLY, BROWSER_TYPE_MEDIAFILES, BROWSER_TYPE_PROJECT, BROWSER_TYPE_EXPORT, BROWSER_TYPE_RENDERVIDEO, BROWSER_TYPE_RENDERAUDIO, BROWSER_TYPE_CAPTUREIMAGE, BROWSER_TYPE_ICONLOCATION, BROWSER_TYPE_NBR }; struct sBrowserTypeDef { char BROWSERString[20]; QString *DefaultPath; // ptr to DefaultPath string int SortFile; // Sort order for file insertion and file display in browser bool ShowFoldersFirst; // If true, display folders at first in table list bool ShowHiddenFilesAndDir; // If true, hidden files will be show bool ShowMntDrive; // If true, show drives under /mnt/ [Linux only] int AllowedFilter; int CurrentFilter; // Currently selected filter int CurrentMode; // Currently selected display mode bool DisplayFileName; // If true Display File Name in icon views }; extern struct sBrowserTypeDef BrowserTypeDef[BROWSER_TYPE_NBR]; //============================================ // Sort order of files definition //============================================ enum SORTORDER_ID { SORTORDER_BYNUMBER, SORTORDER_BYNAME, SORTORDER_BYDATE }; //==================================================================================================================== struct sDefaultBlockCoord { int AutoCompo; int AutoFraming; }; //==================================================================================================================== // Utility class to download locale files //==================================================================================================================== #define DOWNLOADTIMEOUT 30000 class cApplicationConfig; class DownloadObject : public QObject { Q_OBJECT public: cApplicationConfig *ApplicationConfig; bool Status; QNetworkReply *GetNewtorkDataReply; QByteArray NetworkData; QString NetworkDataFileName; QNetworkAccessManager *NetworkManager; QEventLoop *loop; QTimer TimeOutTimer; explicit DownloadObject(QString FileName,QObject *parent); ~DownloadObject(); private slots: void httpGetDataFinished(); void httpGetDataReadyRead(); }; //==================================================================================================================== // Application config class //==================================================================================================================== class HelpPopup; class cApplicationConfig : public cBaseAppConfig { Q_OBJECT public: QMainWindow *TopLevelWindow; // Link to MainWindow of the application cDeviceModelList DeviceModelList; // List of known rendering device model cDriveList *DriveList; // Drive list for multimedia file explorer QString AllowedWEBLanguage; HelpPopup *PopupHelp; // Models cModelList *ThumbnailModels; int64_t ThumbnailModelsNextNumber; cModelList *PrjTitleModels[3][MODELTYPE_PROJECTTITLE_CATNUMBER]; int64_t PrjTitleModelsNextNumber[3]; cModelList *CptTitleModels[3][MODELTYPE_CHAPTERTITLE_CATNUMBER]; int64_t CptTitleModelsNextNumber[3]; cModelList *CreditTitleModels[3][MODELTYPE_CREDITTITLE_CATNUMBER]; int64_t CreditTitleModelsNextNumber[3]; // Preferences bool OpenWEBNewVersion; // Offer to open the download Web page when a new version is available bool RasterMode; // Enable or disable raster mode [Linux only] bool RestoreWindow; // If true, restore window state and position at startup bool RememberLastDirectories; // If true, Remember all directories for future use bool DisableTooltips; // If true, tooltips are disable in dialog boxes bool SDLAudioOldMode; // If true SDL audio use old mode sample instead byte bool AskUserToRemove; // If true, user must answer to a confirmation dialog box to remove slide bool PartitionMode; // If true, partition mode is on int WindowDisplayMode; bool WikiFollowInterface; // If true Wiki follow the interface bool UseNetworkProxy; // If true use a proxy to access to internet QString NetworkProxy; // Network proxy address int NetworkProxyPort; // Network proxy port QString NetworkProxyUser,NetworkProxyPWD; // Network proxy login/pwd // Editor options bool AppendObject; // If true, new object will be append at the end of the diaporama, if false, new object will be insert after current position int DisplayUnit; // Display coordinates unit int DefaultFraming; // 0=Width, 1=Height int TimelineHeight; // Height of the timeline int SlideRuler; // rulers for slide properties dialog box int ThumbRuler; // rulers for thumbnail tab in project properties dialog box bool FramingRuler; // ruler for framing/correction dialog box // Preview setting double PreviewFPS; // Preview FrameRate int64_t PreviewSamplingRate; // Sampling rate (frequency) for preview int MaxVideoPreviewHeight; // Other bool Crop1088To1080; // Automaticaly crop video from 1088 lines to 1080 (CANON) bool Deinterlace; // Automaticaly activate deinterlace filter when add new MTS videos bool CheckConfigAtStartup; // If true, check config at startup cStyleCollection StyleTextCollection; // List of known text style cStyleCollection StyleTextBackgroundCollection; // List of known background text style cStyleCollection StyleBlockShapeCollection; // List of known BlockShapestyle // Default new text block options QString DefaultBlock_Text_TextST; QString DefaultBlock_Text_BackGST; QString DefaultBlock_Text_ShapeST; int DefaultBlock_AutoSizePos; int DefaultBlock_AutoLocking; // Default new image block option (when slide creation) QString DefaultBlockSL_IMG_TextST; QString DefaultBlockSL_IMG_ShapeST; sDefaultBlockCoord DefaultBlockSL[NBR_IMAGETYPE]; // Default new image block option (when block add in slide dialog) QString DefaultBlockBA_IMG_TextST; QString DefaultBlockBA_IMG_ShapeST; sDefaultBlockCoord DefaultBlockBA[NBR_IMAGETYPE]; // Default project settings ffd_GEOMETRY ImageGeometry; // Project image geometry for image rendering int NoShotDuration; // Default duration for fixed image when is alone (no shot) int FixedDuration; // Default duration for fixed image QString DefaultAuthor; // Default Author name QString DefaultAlbum; // Default Album name int DefaultTitleFilling; // Default Title filling mode int DefaultTransitionSpeedWave; // Default Speed wave for transition int DefaultBlockAnimSpeedWave; // Default Speed wave for block animation int DefaultImageAnimSpeedWave; // Default Speed wave for image framing and correction animation bool ID3V2Comptatibility; QString DefaultThumbnailName; // Default Thumbnail QString ShortDateFormat; // Short date format to be used with variables enum DISTANCEUNIT {KILOMETERS,MILES} DistanceUnit; // Distance unit to be used with gmaps object // Default transition bool RandomTransition; // if true randomize a transition TRFAMILLY DefaultTransitionFamilly; // Transition familly int DefaultTransitionSubType; // Transition type in the familly int DefaultTransitionDuration; // Transition duration (in msec) // Default rendering options int DefaultNameProjectName; // Use project name as default name for rendering int DefaultFormat; // Default output format container QString DefaultVideoCodec; // Default video codec int DefaultVideoBitRate; // Default video bit rate QString DefaultAudioCodec; // Default audio codec int DefaultAudioBitRate; // Default audio bit rate int DefaultFreq; // Default frequency for audio int DefaultImageSize; // Default image size int DefaultStandard; // Default standard (PAL/NTSC) int DefaultSoundtrackFormat; // Default format container for export soundtrack QString DefaultSoundtrackAudioCodec; // Default audio codec for export soundtrack int DefaultSoundtrackBitRate; // Default audio bit rate for export soundtrack int DefaultSoundtrackFreq; // Default frequency for export soundtrack QString DefaultLanguage; // Default Language (ISO 639 language code) int DefaultSmartphoneType; // Default Smartphone Type int DefaultSmartphoneModel; // Default Smartphone Model int DefaultMultimediaType; // Default Multimedia Type int DefaultMultimediaModel; // Default Multimedia Model int DefaultForTheWEBType; // Default ForTheWEB Type int DefaultForTheWEBModel; // Default ForTheWEB Model int DefaultLossLess; // Default Lossless imagesize bool DefaultExportThumbnail; bool DefaultExportXBMCNfo; QStringList RecentFile; // Recent project files QString Plateforme; // Operating system in use QWidget *ParentWindow; // Link to the top window QString UserConfigPath; // Path and filename to user profil path QString UserConfigFile; // Path and filename to user configuration file QString GlobalConfigFile; // Path and filename to global configuration file (in binary directory) QString CurrentFolder; // Current Path QString CurrentLanguage; // Current Language translation QString ForceLanguage; // Empty or forced language QString StartingPath; QTranslator AppTranslator; // translator for the application QTranslator QTtranslator; // translator for QT default text // Default systems icons cCustomIcon DefaultCDROMIcon,DefaultHDDIcon,DefaultUSBIcon,DefaultREMOTEIcon; cCustomIcon DefaultUSERIcon,DefaultFOLDERIcon,DefaultClipartIcon; cCustomIcon DefaultFILEIcon,DefaultDelayedIcon; cCustomIcon DefaultIMAGEIcon,DefaultThumbIcon,DefaultGMapsIcon; cCustomIcon DefaultVIDEOIcon,DefaultMUSICIcon; cCustomIcon DefaultFFDIcon; QImage VideoMask_120,VideoMask_150,VideoMask_162; explicit cApplicationConfig(QMainWindow *TopLevelWindow,QString AllowedWEBLanguage); ~cApplicationConfig(); virtual bool DownloadFile(QString FileName); virtual QString GetFilterForMediaFile(FilterFile type); virtual void InitValues(); virtual bool InitConfigurationValues(QString ForceLanguage); virtual bool LoadConfigurationFile(LoadConfigFileType TypeConfigFile); virtual bool SaveConfigurationFile(); virtual QString GetValideWEBLanguage(QString Language); virtual void PreloadSystemIcons(); QNetworkAccessManager *GetNetworkAccessManager(QObject *parent); QStringList LoadBrowserFavoritesFromDabase(); void SaveBrowserFavoritesToDabase(QStringList BrowserFavorites); void DuplicateRessource(qlonglong *RessourceKey); // Duplicate an image in ressource and get a new RessourceKey }; #endif // cApplicationConfig_H ffDiaporama/src/ffDiaporama/engine/cApplicationConfig.cpp0000777000175000001440000023105112275647324023732 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ // Include some common various class #include "cApplicationConfig.h" #include "cDeviceModelDef.h" // Include some additional standard class #include #include #include #include #include #include #include #include #include #include "HelpPopup/HelpPopup.h" struct sBrowserTypeDef BrowserTypeDef[BROWSER_TYPE_NBR]={ // BROWSERString/DefaultPath/SortFile/ShowFoldersFirst/ShowHiddenFilesAndDir/ShowMntDrive/AllowedFilter/CurrentFilter/CurrentMode/DisplayFileName {"Browser", &DefaultBrowserPath, SORTORDER_BYNAME,1,0,0,FILTERALLOW_OBJECTTYPE_ALL, OBJECTTYPE_MANAGED, DISPLAY_ICON100,true} // BROWSER_TYPE_MainWindow ,{"ImageOnly", &DefaultMediaPath, SORTORDER_BYNAME,1,0,0,FILTERALLOW_OBJECTTYPE_IMAGEFILE, OBJECTTYPE_IMAGEFILE, DISPLAY_ICON100,true} // BROWSER_TYPE_IMAGEONLY ,{"ImageVectorOnly",&DefaultMediaPath, SORTORDER_BYNAME,1,0,0,FILTERALLOW_OBJECTTYPE_IMAGEVECTOR, OBJECTTYPE_IMAGEVECTOR, DISPLAY_ICON100,true} // BROWSER_TYPE_IMAGEVECTORONLY ,{"VideoOnly", &DefaultMediaPath, SORTORDER_BYNAME,1,0,0,FILTERALLOW_OBJECTTYPE_VIDEOFILE, OBJECTTYPE_VIDEOFILE, DISPLAY_ICON100,true} // BROWSER_TYPE_VIDEOONLY ,{"SoundOnly", &DefaultMusicPath, SORTORDER_BYNAME,1,0,0,FILTERALLOW_OBJECTTYPE_MUSICFILE, OBJECTTYPE_MUSICFILE, DISPLAY_ICON100,true} // BROWSER_TYPE_SOUNDONLY ,{"MediaFiles", &DefaultMediaPath, SORTORDER_BYNAME,1,0,0,FILTERALLOW_OBJECTTYPE_MEDIAFILES, OBJECTTYPE_MANAGED, DISPLAY_ICON100,true} // BROWSER_TYPE_MEDIAFILES ,{"Project", &DefaultProjectPath, SORTORDER_BYNAME,1,0,0,FILTERALLOW_OBJECTTYPE_FFDFILE, OBJECTTYPE_FFDFILE, DISPLAY_ICON100,true} // BROWSER_TYPE_PROJECT ,{"Export", &DefaultExportPath, SORTORDER_BYNAME,1,0,0,FILTERALLOW_OBJECTTYPE_FOLDER, OBJECTTYPE_FOLDER, DISPLAY_ICON100,true} // BROWSER_TYPE_EXPORT ,{"RenderVideo", &DefaultRenderVideoPath, SORTORDER_BYNAME,1,0,0,FILTERALLOW_OBJECTTYPE_VIDEOFILE, OBJECTTYPE_VIDEOFILE, DISPLAY_ICON100,true} // BROWSER_TYPE_RENDERVIDEO ,{"RenderAudio", &DefaultRenderAudioPath, SORTORDER_BYNAME,1,0,0,FILTERALLOW_OBJECTTYPE_MUSICFILE, OBJECTTYPE_MUSICFILE, DISPLAY_ICON100,true} // BROWSER_TYPE_RENDERAUDIO ,{"CaptureImage", &DefaultCaptureImage, SORTORDER_BYNAME,1,0,0,FILTERALLOW_OBJECTTYPE_IMAGEFILE, OBJECTTYPE_IMAGEFILE, DISPLAY_ICON100,true} // BROWSER_TYPE_CAPTUREIMAGE ,{"GPSIcon", &DefaultPositionIconPath, SORTORDER_BYNAME,1,0,0,FILTERALLOW_OBJECTTYPE_IMAGEFILE, OBJECTTYPE_IMAGEFILE, DISPLAY_ICON100,true} // BROWSER_TYPE_ICONLOCATION }; //***************************************************************************************************************************************** #if defined(Q_OS_LINUX) || defined(Q_OS_SOLARIS) bool SearchRasterMode() { QString UserConfigPath; // Path and filename to user profil path QString UserConfigFile; // Path and filename to user configuration file QString GlobalConfigFile; // Path and filename to global configuration file (in binary directory) bool RasterMode=true; UserConfigPath=QDir::homePath(); if (!UserConfigPath.endsWith(QDir::separator())) UserConfigPath=UserConfigPath+QDir::separator(); UserConfigPath = UserConfigPath+"."+QString(APPLICATION_NAME)+QDir::separator(); GlobalConfigFile=QFileInfo(QString(APPLICATION_NAME)+QString(CONFIGFILEEXT)).absoluteFilePath(); UserConfigFile =QFileInfo(UserConfigPath+QString(APPLICATION_NAME)+QString(CONFIGFILEEXT)).absoluteFilePath(); QFile file(GlobalConfigFile); QDomDocument domDocument; QDomElement root; QString errorStr; int errorLine,errorColumn; // Load Global preferences if (file.open(QFile::ReadOnly | QFile::Text)) { if (domDocument.setContent(&file,true,&errorStr,&errorLine,&errorColumn)) { root = domDocument.documentElement(); if ((root.tagName()==QString(CONFIGFILE_ROOTNAME))&&(root.elementsByTagName("GlobalPreferences").length()>0)&&(root.elementsByTagName("GlobalPreferences").item(0).isElement()==true)) { ToLog(LOGMSG_INFORMATION,QApplication::translate("MainWindow","Search Raster mode in configuration file")+GlobalConfigFile); QDomElement Element=root.elementsByTagName("GlobalPreferences").item(0).toElement(); if (Element.hasAttribute("RasterMode")) RasterMode=Element.attribute("RasterMode")=="1"; } } file.close(); } // Load user preferences file.setFileName(UserConfigFile); if (file.open(QFile::ReadOnly | QFile::Text)) { if (domDocument.setContent(&file,true,&errorStr,&errorLine,&errorColumn)) { root = domDocument.documentElement(); if ((root.tagName()==QString(CONFIGFILE_ROOTNAME))&&(root.elementsByTagName("GlobalPreferences").length()>0)&&(root.elementsByTagName("GlobalPreferences").item(0).isElement()==true)) { ToLog(LOGMSG_INFORMATION,QApplication::translate("MainWindow","Search Raster mode in configuration file")+GlobalConfigFile); QDomElement Element=root.elementsByTagName("GlobalPreferences").item(0).toElement(); if (Element.hasAttribute("RasterMode")) RasterMode=Element.attribute("RasterMode")=="1"; } } file.close(); } return RasterMode; } #endif //==================================================================================================================== DownloadObject::DownloadObject(QString FileName,QObject *parent):QObject(parent) { ApplicationConfig =(cApplicationConfig *)parent; Status =false; NetworkDataFileName =FileName; loop =NULL; NetworkManager =ApplicationConfig->GetNetworkAccessManager(this); GetNewtorkDataReply =NetworkManager->get(QNetworkRequest(QUrl(QString(LOCAL_WEBURL)+NetworkDataFileName))); int httpstatuscode =GetNewtorkDataReply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toUInt(); if (!httpstatuscode) { if (GetNewtorkDataReply->error()==QNetworkReply::NoError) { TimeOutTimer.setSingleShot(true); loop=new QEventLoop(this); connect(&TimeOutTimer, SIGNAL(timeout()), loop,SLOT(quit())); connect(GetNewtorkDataReply,SIGNAL(finished()), this,SLOT(httpGetDataFinished())); connect(GetNewtorkDataReply,SIGNAL(readyRead()),this,SLOT(httpGetDataReadyRead())); TimeOutTimer.start(DOWNLOADTIMEOUT); loop->exec(); if(TimeOutTimer.isActive()) { TimeOutTimer.stop(); if (Status) ToLog(LOGMSG_INFORMATION,QString("Downloading %1 from ffDiaporama Web Site ... done").arg(NetworkDataFileName)); else ToLog(LOGMSG_INFORMATION,QString("Downloading %1 from ffDiaporama Web Site ... error").arg(NetworkDataFileName)); } else { // timeout disconnect(GetNewtorkDataReply,SIGNAL(finished()),loop,SLOT(quit())); GetNewtorkDataReply->abort(); ToLog(LOGMSG_INFORMATION,QString("Downloading %1 from ffDiaporama Web Site ... timeout").arg(NetworkDataFileName)); } NetworkData.clear(); } } } DownloadObject::~DownloadObject() { if (loop) loop->deleteLater(); if (GetNewtorkDataReply) GetNewtorkDataReply->deleteLater(); if (NetworkManager) NetworkManager->deleteLater(); } void DownloadObject::httpGetDataFinished() { if (!GetNewtorkDataReply) return; if (!NetworkData.isEmpty()) { Status=(!NetworkData.contains(QString("404 - Not Found").toLocal8Bit())); if (Status) { QFile DataFile(ApplicationConfig->UserConfigPath+NetworkDataFileName); if (DataFile.open(QFile::WriteOnly)) { DataFile.write(NetworkData); DataFile.close(); } } } GetNewtorkDataReply->deleteLater(); GetNewtorkDataReply=NULL; loop->exit(); } void DownloadObject::httpGetDataReadyRead() { if (GetNewtorkDataReply) NetworkData.append(GetNewtorkDataReply->readAll()); } //********************************************************************************************************************** // cApplicationConfig //********************************************************************************************************************** cApplicationConfig::cApplicationConfig(QMainWindow *TheTopLevelWindow,QString TheAllowedWEBLanguage):cBaseAppConfig(TheTopLevelWindow) { #ifdef Q_OS_WIN // Options for windows only // registry value for specific Windows Folder QString WINDOWS_APPDATA; // specific Windows Folder : AppData QString WINDOWS_MUSIC; // specific Windows Folder : My Music QString WINDOWS_PICTURES; // specific Windows Folder : My Pictures QString WINDOWS_VIDEO; // specific Windows Folder : My Video QString WINDOWS_DOCUMENTS; // specific Windows Folder : Personal #endif UseNetworkProxy =false; PopupHelp =NULL; AllowedWEBLanguage =TheAllowedWEBLanguage; TopLevelWindow =TheTopLevelWindow; // Link to MainWindow of the application // Drivelist and models will be init by mainwindow init process DriveList =NULL; ThumbnailModels =NULL; ThumbnailModelsNextNumber =0; for (int geo=GEOMETRY_4_3;geo<=GEOMETRY_40_17;geo++) { PrjTitleModelsNextNumber[geo]=0; for (int Cat=0;CatForceLanguage =ForceLanguage; RestoreWindow =true; // if true then restore windows size and position DisableTooltips =false; #if defined(Q_OS_LINUX) || defined(Q_OS_SOLARIS) RasterMode =true; // Enable or disable raster mode [Linux only] CheckConfigAtStartup=true; OpenWEBNewVersion =false; #else CheckConfigAtStartup=false; OpenWEBNewVersion =true; #endif Crop1088To1080 =true; // Automaticaly crop video from 1088 lines to 1080 (CANON) Deinterlace =false; RememberLastDirectories =true; //********************************************************************* // Search plateforme and define specific value depending on plateforme //********************************************************************* #ifdef Q_OS_WIN switch (QSysInfo().WindowsVersion) { case 0x0010 : Plateforme="Windows NT"; break; case 0x0020 : Plateforme="Windows 2000"; break; case 0x0030 : Plateforme="Windows XP"; break; case 0x0040 : Plateforme="Windows Server 2003/2003 R2/Home Server/XP Professional x64"; break; case 0x0080 : Plateforme="Windows Vista/Windows Server 2008"; break; case 0x0090 : Plateforme="Windows 7/Windows Server 2008 R2"; break; case 0x00a0 : Plateforme="Windows 8"; break; default : Plateforme="Unknown version"; break; } #ifdef Q_OS_WIN64 Plateforme=Plateforme+" 64 bits"; #else Plateforme=Plateforme+" 32 bits"; #endif // Load registry value for specific Windows Folder QSettings Settings("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders",QSettings::NativeFormat); WINDOWS_APPDATA =Settings.value("AppData").toString(); WINDOWS_MUSIC =Settings.value("My Music").toString(); WINDOWS_PICTURES =Settings.value("My Pictures").toString(); WINDOWS_VIDEO =Settings.value("My Video").toString(); WINDOWS_DOCUMENTS=Settings.value("Personal").toString(); #elif defined(Q_OS_LINUX64) Plateforme="Unix/Linux 64 bits"; #elif defined(Q_OS_LINUX32) Plateforme="Unix/Linux 32 bits"; #elif defined(Q_OS_SOLARIS64) Plateforme="Solaris 64 bits"; #elif defined(Q_OS_SOLARIS32) Plateforme="Solaris 32 bits"; #endif //******************************************************* // Now we can construct Global and User ConfigFile value //******************************************************* #ifdef Q_OS_WIN UserConfigPath=WINDOWS_APPDATA; if (UserConfigPath[UserConfigPath.length()-1]!=QDir::separator()) UserConfigPath=UserConfigPath+QDir::separator(); UserConfigPath = UserConfigPath+QString(APPLICATION_NAME)+QDir::separator(); #else UserConfigPath=QDir::homePath(); if (UserConfigPath[UserConfigPath.length()-1]!=QDir::separator()) UserConfigPath=UserConfigPath+QDir::separator(); UserConfigPath = UserConfigPath+"."+QString(APPLICATION_NAME)+QDir::separator(); #endif GlobalConfigFile=QFileInfo(QString(APPLICATION_NAME)+QString(CONFIGFILEEXT)).absoluteFilePath(); UserConfigFile =QFileInfo(UserConfigPath+QString(APPLICATION_NAME)+QString(CONFIGFILEEXT)).absoluteFilePath(); //************************************ // set default values for path //************************************ #ifdef Q_OS_WIN DefaultMediaPath = WINDOWS_PICTURES; // Last folder use for image/video DefaultMusicPath = WINDOWS_MUSIC; // Last folder use for music DefaultProjectPath = WINDOWS_DOCUMENTS; // Last folder use for project DefaultExportPath = WINDOWS_DOCUMENTS; // Last folder use for project export DefaultRenderVideoPath = WINDOWS_VIDEO; // Last folder use for render video DefaultRenderAudioPath = WINDOWS_MUSIC; // Last folder use for render audio DefaultCaptureImage = WINDOWS_PICTURES; // Last folder use for captured image DefaultBrowserPath = WINDOWS_DOCUMENTS; DefaultPositionIconPath = WINDOWS_PICTURES; // Last folder use for icon of GPS location #else DefaultMediaPath = QDir::home().absolutePath(); // Last folder use for image/video DefaultMusicPath = QDir::home().absolutePath(); // Last folder use for music DefaultProjectPath = QDir::home().absolutePath(); // Last folder use for project DefaultExportPath = QDir::home().absolutePath(); // Last folder use for project DefaultRenderVideoPath = QDir::home().absolutePath(); // Last folder use for render video DefaultRenderAudioPath = QDir::home().absolutePath(); // Last folder use for render audio DefaultCaptureImage = QDir::home().absolutePath(); // Last folder use for captured image DefaultBrowserPath = "~"; // User home folder DefaultPositionIconPath = QDir::home().absolutePath(); // Last folder use for icon of GPS location #endif } //==================================================================================================================== cApplicationConfig::~cApplicationConfig() { delete PopupHelp; delete DriveList; delete ThumbnailModels; for (int geo=GEOMETRY_4_3;geo<=GEOMETRY_40_17;geo++) { for (int cat=0;cat=0x0090) { // At least Windows 7 DefaultUSERIcon.LoadIcons(GetIconForFileOrDir("%SystemRoot%\\system32\\imageres.dll",117)); DefaultCDROMIcon.LoadIcons(GetIconForFileOrDir("%SystemRoot%\\system32\\shell32.dll",11)); DefaultHDDIcon.LoadIcons(GetIconForFileOrDir("%SystemRoot%\\system32\\shell32.dll",8)); DefaultFOLDERIcon.LoadIcons(GetIconForFileOrDir("%SystemRoot%\\system32\\shell32.dll",3)); } #endif if (DefaultCDROMIcon.Icon16.isNull()) DefaultCDROMIcon.LoadIcons(QApplication::style()->standardIcon(QStyle::SP_DriveDVDIcon)); //.LoadIconsFromIMG( "cdrom.png"); if (DefaultHDDIcon.Icon16.isNull()) DefaultHDDIcon.LoadIcons(QApplication::style()->standardIcon(QStyle::SP_DriveHDIcon)); //.LoadIconsFromIMG( "hdd.png"); if (DefaultUSBIcon.Icon16.isNull()) DefaultUSBIcon.LoadIconsFromIMG( "usb.png"); if (DefaultREMOTEIcon.Icon16.isNull()) DefaultREMOTEIcon.LoadIcons(QApplication::style()->standardIcon(QStyle::SP_DriveNetIcon)); //.LoadIconsFromIMG( "hdd-lan.png"); if (DefaultFOLDERIcon.Icon16.isNull()) DefaultFOLDERIcon.LoadIcons(QApplication::style()->standardIcon(QStyle::SP_DirIcon)); //.LoadIconsFromIMG( "directory.png"); if (DefaultDelayedIcon.Icon16.isNull()) DefaultDelayedIcon.LoadIconsFromIMG("delayed.png"); if (DefaultFFDIcon.Icon16.isNull()) DefaultFFDIcon.LoadIconsFromIMG( "ffDiaporama.png"); if (DefaultThumbIcon.Icon16.isNull()) DefaultThumbIcon.LoadIconsFromIMG( "Thumbnails.png"); if (DefaultIMAGEIcon.Icon16.isNull()) DefaultIMAGEIcon.LoadIconsFromIMG( "image.png"); if (DefaultVIDEOIcon.Icon16.isNull()) DefaultVIDEOIcon.LoadIconsFromIMG( "video.png"); if (DefaultMUSICIcon.Icon16.isNull()) DefaultMUSICIcon.LoadIconsFromIMG( "audio.png"); if (DefaultClipartIcon.Icon16.isNull()) DefaultClipartIcon.LoadIconsFromIMG("clipart.png"); if (DefaultUSERIcon.Icon16.isNull()) DefaultUSERIcon.LoadIcons(QApplication::style()->standardIcon(QStyle::SP_DirHomeIcon)); //.LoadIconsFromIMG( "folder_home.png"); if (DefaultFILEIcon.Icon16.isNull()) DefaultFILEIcon.LoadIcons(QApplication::style()->standardIcon(QStyle::SP_FileIcon)); //.LoadIconsFromIMG( "file.png"); if (DefaultGMapsIcon.Icon16.isNull()) DefaultGMapsIcon.LoadIconsFromIMG("gmaps.png"); VideoMask_120=QImage(":/img/VideoMask_120x180.png"); VideoMask_150=QImage(":/img/VideoMask_150x200.png"); VideoMask_162=QImage(":/img/VideoMask_162x216.png"); } //==================================================================================================================== QString cApplicationConfig::GetFilterForMediaFile(FilterFile type) { // enum FilterFile {ALLFILE,IMAGEFILE,VIDEOFILE,MUSICFILE}; QString ReturnFile=""; if (type==ALLFILE) { ReturnFile=ReturnFile+QApplication::translate("MainWindow","All suported file ("); for (int i=0;i0?" *":"*.")+AllowImageExtension[i]; for (int i=0;i0?" *":"*.")+AllowImageVectorExtension[i]; for (int i=0;i0?" *":"*.")+AllowVideoExtension[i]; ReturnFile=ReturnFile+")"; } else if (type==IMAGEFILE) { if (ReturnFile!="") ReturnFile=ReturnFile+";;"; ReturnFile=ReturnFile+QApplication::translate("MainWindow","Image file ("); for (int i=0;i0?" *":"*.")+AllowImageExtension[i]; ReturnFile=ReturnFile+")"; } else if (type==IMAGEVECTORFILE) { if (ReturnFile!="") ReturnFile=ReturnFile+";;"; ReturnFile=ReturnFile+QApplication::translate("MainWindow","Image vector file ("); for (int i=0;i0?" *":"*.")+AllowImageVectorExtension[i]; ReturnFile=ReturnFile+")"; } else if (type==VIDEOFILE) { if (ReturnFile!="") ReturnFile=ReturnFile+";;"; ReturnFile=ReturnFile+QApplication::translate("MainWindow","Video file ("); for (int i=0;i0?" *":"*.")+AllowVideoExtension[i]; ReturnFile=ReturnFile+")"; } else if (type==MUSICFILE) { if (ReturnFile!="") ReturnFile=ReturnFile+";;"; ReturnFile=ReturnFile+QApplication::translate("MainWindow","Music file ("); for (int i=0;i0?" *":"*.")+AllowMusicExtension[i]; ReturnFile=ReturnFile+")"; } return ReturnFile; } //==================================================================================================================== bool cApplicationConfig::DownloadFile(QString FileName) { DownloadObject Download(FileName,this); return Download.Status; } //==================================================================================================================== bool cApplicationConfig::InitConfigurationValues(QString ForceLanguage) { //************************************ // Prepare lists of allowed extension //************************************ int c; AllowVideoExtension =AllowVideoExtensions.split("#"); c=AllowVideoExtension.count(); for (int i=0;i0)&&(root.elementsByTagName("GlobalPreferences").item(0).isElement()==true)) { QDomElement Element=root.elementsByTagName("GlobalPreferences").item(0).toElement(); if ((Element.hasAttribute("ForceLanguage"))&&(ForceLanguage=="")) ForceLanguage =Element.attribute("ForceLanguage"); if (Element.hasAttribute("UseNetworkProxy")) UseNetworkProxy =Element.attribute("UseNetworkProxy")=="1"; if (Element.hasAttribute("NetworkProxy")) NetworkProxy =Element.attribute("NetworkProxy"); if (Element.hasAttribute("NetworkProxyPort")) NetworkProxyPort=Element.attribute("NetworkProxyPort").toInt(); if (Element.hasAttribute("NetworkProxyUser")) NetworkProxyUser=Element.attribute("NetworkProxyUser"); if (Element.hasAttribute("NetworkProxyPWD")) NetworkProxyPWD =Element.attribute("NetworkProxyPWD"); } } } // Search system language QString CurrentSubLanguage; if (ForceLanguage!="") { CurrentSubLanguage=ForceLanguage.toLower(); CurrentLanguage =ForceLanguage.left(2).toLower(); } else { CurrentLanguage =QLocale::system().name().left(2).toLower(); CurrentSubLanguage=QLocale::system().name().toLower(); } //======================================== Download version files from internet QString ActualTRVersion ="00000000"; QString WebTRVersion ="00000000"; QString ActualWIKIVersion="00000000"; QString WebWIKIVersion ="00000000"; // try to download version from the web site if ((DownloadFile("LOCALEVERSION.TXT"))&&(QFileInfo(UserConfigPath+QString("LOCALEVERSION.TXT")).exists())) { QFile File(UserConfigPath+QString("LOCALEVERSION.TXT")); if (File.open(QFile::ReadOnly | QFile::Text)) { QTextStream InStream(&File); InStream.setCodec("UTF-8"); WebTRVersion=InStream.readLine(); File.close(); } // try to download version from the web site if ((DownloadFile("WIKIVERSION.TXT"))&&(QFileInfo(UserConfigPath+QString("WIKIVERSION.TXT")).exists())) { QFile File(UserConfigPath+QString("WIKIVERSION.TXT")); if (File.open(QFile::ReadOnly | QFile::Text)) { QTextStream InStream(&File); InStream.setCodec("UTF-8"); WebWIKIVersion=InStream.readLine(); File.close(); } } } if (CurrentLanguage!="en") { // try to download locales from the web site //======================================== INTERFACE // get actual version for this language if (QFileInfo(UserConfigPath+QString("%1_VERSION.TXT").arg(CurrentSubLanguage)).exists()) { QFile File(UserConfigPath+QString("%1_VERSION.TXT").arg(CurrentSubLanguage)); if (File.open(QFile::ReadOnly | QFile::Text)) { QTextStream InStream(&File); InStream.setCodec("UTF-8"); ActualTRVersion=InStream.readLine(); File.close(); } } else if (QFileInfo(UserConfigPath+QString("%1_VERSION.TXT").arg(CurrentLanguage)).exists()) { QFile File(UserConfigPath+QString("%1_VERSION.TXT").arg(CurrentLanguage)); if (File.open(QFile::ReadOnly | QFile::Text)) { QTextStream InStream(&File); InStream.setCodec("UTF-8"); ActualTRVersion=InStream.readLine(); File.close(); } } // if actual version is outdated or local file not exist in the home folder if ((ActualTRVersion0)&&(root.elementsByTagName("GlobalPreferences").item(0).isElement()==true)) { QDomElement Element=root.elementsByTagName("GlobalPreferences").item(0).toElement(); #if defined(Q_OS_LINUX) || defined(Q_OS_SOLARIS) if (Element.hasAttribute("RasterMode")) RasterMode =Element.attribute("RasterMode")=="1"; #endif if (Element.hasAttribute("OpenWEBNewVersion")) OpenWEBNewVersion =Element.attribute("OpenWEBNewVersion")=="1"; if (Element.hasAttribute("RestoreWindow")) RestoreWindow =Element.attribute("RestoreWindow")=="1"; if (Element.hasAttribute("RememberLastDirectories")) RememberLastDirectories =Element.attribute("RememberLastDirectories")=="1"; if (Element.hasAttribute("DisableTooltips")) DisableTooltips =Element.attribute("DisableTooltips")=="1"; if (Element.hasAttribute("Crop1088To1080")) Crop1088To1080 =Element.attribute("Crop1088To1080")!="0"; if (Element.hasAttribute("Deinterlace")) Deinterlace =Element.attribute("Deinterlace")!="0"; if (Element.hasAttribute("Smoothing")) Smoothing =Element.attribute("Smoothing")=="1"; if (Element.hasAttribute("CheckConfigAtStartup")) CheckConfigAtStartup =Element.attribute("CheckConfigAtStartup")=="1"; } if ((domDocument.elementsByTagName("CacheMemory").length()>0)&&(domDocument.elementsByTagName("CacheMemory").item(0).isElement()==true)) { QDomElement Element=domDocument.elementsByTagName("CacheMemory").item(0).toElement(); if (Element.hasAttribute("MemCacheMaxValue")) MemCacheMaxValue=int64_t(Element.attribute("MemCacheMaxValue").toInt())*int64_t(1024*1024); } if ((root.elementsByTagName("EditorOptions").length()>0)&&(root.elementsByTagName("EditorOptions").item(0).isElement()==true)) { QDomElement Element=root.elementsByTagName("EditorOptions").item(0).toElement(); if (Element.hasAttribute("MemCacheMaxValue")) MemCacheMaxValue =Element.attribute("MemCacheMaxValue").toLongLong(); #if (!defined(Q_OS_WIN64))&&(defined(Q_OS_WIN32) || defined(Q_OS_LINUX32) || defined(Q_OS_SOLARIS32)) if (MemCacheMaxValue>int64_t(512*1024*1024)) MemCacheMaxValue=int64_t(512*1024*1024); #endif if (Element.hasAttribute("SDLAudioOldMode")) SDLAudioOldMode =Element.attribute("SDLAudioOldMode")=="1"; if (Element.hasAttribute("AppendObject")) AppendObject =Element.attribute("AppendObject")=="1"; if (Element.hasAttribute("PartitionMode")) PartitionMode =Element.attribute("PartitionMode")=="1"; if (Element.hasAttribute("WindowDisplayMode")) WindowDisplayMode =Element.attribute("WindowDisplayMode").toInt(); if (Element.hasAttribute("DisplayUnit")) DisplayUnit =Element.attribute("DisplayUnit").toInt(); if (Element.hasAttribute("NewTimelineHeight")) TimelineHeight =Element.attribute("NewTimelineHeight").toInt(); if (TimelineHeightTIMELINEMAXHEIGH) TimelineHeight=TIMELINEMAXHEIGH; if (Element.hasAttribute("DefaultFraming")) DefaultFraming =Element.attribute("DefaultFraming").toInt(); if (Element.hasAttribute("PreviewFPS")) PreviewFPS =GetDoubleValue(Element,"PreviewFPS"); if (Element.hasAttribute("PreviewSamplingRate")) PreviewSamplingRate =Element.attribute("PreviewSamplingRate").toLong(); if (Element.hasAttribute("MaxVideoPreviewHeight")) MaxVideoPreviewHeight =Element.attribute("MaxVideoPreviewHeight").toInt(); if (Element.hasAttribute("RandomTransition")) RandomTransition =Element.attribute("RandomTransition")=="1"; if (Element.hasAttribute("DefaultTransitionFamilly")) DefaultTransitionFamilly =(TRFAMILLY)Element.attribute("DefaultTransitionFamilly").toInt(); if (Element.hasAttribute("DefaultTransitionSubType")) DefaultTransitionSubType =Element.attribute("DefaultTransitionSubType").toInt(); if (Element.hasAttribute("DefaultTransitionDuration")) DefaultTransitionDuration =Element.attribute("DefaultTransitionDuration").toInt(); if (Element.hasAttribute("AskUserToRemove")) AskUserToRemove =Element.attribute("AskUserToRemove")!="0"; if (Element.hasAttribute("WikiFollowInterface")) WikiFollowInterface =Element.attribute("WikiFollowInterface")!="0"; if (Element.hasAttribute("UseNetworkProxy")) UseNetworkProxy =Element.attribute("UseNetworkProxy")!="0"; if (Element.hasAttribute("NetworkProxy")) NetworkProxy =Element.attribute("NetworkProxy"); if (Element.hasAttribute("NetworkProxyPort")) NetworkProxyPort =Element.attribute("NetworkProxyPort").toInt(); if (Element.hasAttribute("NetworkProxyUser")) NetworkProxyUser =Element.attribute("NetworkProxyUser"); if (Element.hasAttribute("NetworkProxyPWD")) NetworkProxyPWD =Element.attribute("NetworkProxyPWD"); if ((Element.hasAttribute("SlideRuler"))&&(Element.attribute("SlideRuler")!="0")) SlideRuler=RULER_DEFAULT; if (Element.hasAttribute("DlgSlideRuler")) SlideRuler =Element.attribute("DlgSlideRuler").toInt(); if (Element.hasAttribute("ThumbRuler")) ThumbRuler =Element.attribute("ThumbRuler").toInt(); if (Element.hasAttribute("FramingRuler")) FramingRuler =Element.attribute("FramingRuler")!="0"; } // Compatibility with version prior to 20131129 if ((root.elementsByTagName("BrowserFavorites").length()>0)&&(root.elementsByTagName("BrowserFavorites").item(0).isElement()==true)) { QDomElement Element=root.elementsByTagName("BrowserFavorites").item(0).toElement(); int FavToLoad=0; QStringList BrowserFavorites; if (Element.hasAttribute("FavoritesNumber")) FavToLoad=Element.attribute("FavoritesNumber").toInt(); for (int i=0;i0)&&(root.elementsByTagName("ProjectDefault").item(0).isElement()==true)) { QDomElement Element=root.elementsByTagName("ProjectDefault").item(0).toElement(); if (Element.hasAttribute("ImageGeometry")) ImageGeometry =(ffd_GEOMETRY)Element.attribute("ImageGeometry").toInt(); if (Element.hasAttribute("NoShotDuration")) NoShotDuration =Element.attribute("NoShotDuration").toInt(); if (Element.hasAttribute("FixedDuration")) FixedDuration =Element.attribute("FixedDuration").toInt(); if (Element.hasAttribute("DefaultTitleFilling")) DefaultTitleFilling =Element.attribute("DefaultTitleFilling").toInt(); if (Element.hasAttribute("DefaultAuthor")) DefaultAuthor =Element.attribute("DefaultAuthor"); if (Element.hasAttribute("DefaultAlbum")) DefaultAlbum =Element.attribute("DefaultAlbum"); if (Element.hasAttribute("DefaultTransitionSpeedWave")) DefaultTransitionSpeedWave =Element.attribute("DefaultTransitionSpeedWave").toInt(); if (Element.hasAttribute("DefaultBlockAnimSpeedWave")) DefaultBlockAnimSpeedWave =Element.attribute("DefaultBlockAnimSpeedWave").toInt(); if (Element.hasAttribute("DefaultImageAnimSpeedWave")) DefaultImageAnimSpeedWave =Element.attribute("DefaultImageAnimSpeedWave").toInt(); if (Element.hasAttribute("ID3V2Comptatibility")) ID3V2Comptatibility =Element.attribute("ID3V2Comptatibility")!="0"; if (Element.hasAttribute("ShortDateFormat")) ShortDateFormat =Element.attribute("ShortDateFormat"); if (Element.hasAttribute("DistanceUnit")) DistanceUnit =(DISTANCEUNIT)Element.attribute("DistanceUnit").toInt(); // Compatibility with version prior to 1.5 if (Element.hasAttribute("SpeedWave")) { DefaultTransitionSpeedWave=Element.attribute("SpeedWave").toInt(); DefaultBlockAnimSpeedWave =Element.attribute("SpeedWave").toInt(); DefaultImageAnimSpeedWave =Element.attribute("SpeedWave").toInt(); UpgradeConf=true; } if ((Element.elementsByTagName("DefaultBlock_Text").length()>0)&&(Element.elementsByTagName("DefaultBlock_Text").item(0).isElement()==true)) { QDomElement SubElement=Element.elementsByTagName("DefaultBlock_Text").item(0).toElement(); if (SubElement.hasAttribute("TextST")) DefaultBlock_Text_TextST =SubElement.attribute("TextST"); if (SubElement.hasAttribute("BackGST")) DefaultBlock_Text_BackGST =SubElement.attribute("BackGST"); if (SubElement.hasAttribute("ShapeST")) DefaultBlock_Text_ShapeST =SubElement.attribute("ShapeST"); if (SubElement.hasAttribute("AutoSizePos")) DefaultBlock_AutoSizePos =SubElement.attribute("AutoSizePos").toInt(); if (SubElement.hasAttribute("AutoLocking")) DefaultBlock_AutoLocking =SubElement.attribute("AutoLocking").toInt(); } if ((Element.elementsByTagName("DefaultBlockSL_IMG").length()>0)&&(Element.elementsByTagName("DefaultBlockSL_IMG").item(0).isElement()==true)) { QDomElement SubElement=Element.elementsByTagName("DefaultBlockSL_IMG").item(0).toElement(); if (SubElement.hasAttribute("TextST")) DefaultBlockSL_IMG_TextST =SubElement.attribute("TextST"); if (SubElement.hasAttribute("ShapeST")) DefaultBlockSL_IMG_ShapeST =SubElement.attribute("ShapeST"); for (int i=1;i0)&&(SubElement.elementsByTagName(QString("IMG_GEO_%1").arg(i)).item(0).isElement()==true)) { QDomElement SubSubElement=SubElement.elementsByTagName(QString("IMG_GEO_%1").arg(i)).item(0).toElement(); if (SubSubElement.hasAttribute("AutoCompo")) DefaultBlockSL[i].AutoCompo =SubSubElement.attribute("AutoCompo").toInt(); if (SubSubElement.hasAttribute("AutoFraming")) DefaultBlockSL[i].AutoFraming=SubSubElement.attribute("AutoFraming").toInt(); } } if ((Element.elementsByTagName("DefaultBlockBA_IMG").length()>0)&&(Element.elementsByTagName("DefaultBlockBA_IMG").item(0).isElement()==true)) { QDomElement SubElement=Element.elementsByTagName("DefaultBlockBA_IMG").item(0).toElement(); if (SubElement.hasAttribute("TextST")) DefaultBlockBA_IMG_TextST =SubElement.attribute("TextST"); if (SubElement.hasAttribute("ShapeST")) DefaultBlockBA_IMG_ShapeST =SubElement.attribute("ShapeST"); for (int i=1;i0)&&(SubElement.elementsByTagName(QString("IMG_GEO_%1").arg(i)).item(0).isElement()==true)) { QDomElement SubSubElement=SubElement.elementsByTagName(QString("IMG_GEO_%1").arg(i)).item(0).toElement(); if (SubSubElement.hasAttribute("AutoCompo")) DefaultBlockBA[i].AutoCompo =SubSubElement.attribute("AutoCompo").toInt(); if (SubSubElement.hasAttribute("AutoFraming")) DefaultBlockBA[i].AutoFraming=SubSubElement.attribute("AutoFraming").toInt(); } } } if ((root.elementsByTagName("RenderDefault").length()>0)&&(root.elementsByTagName("RenderDefault").item(0).isElement()==true)) { QDomElement Element=root.elementsByTagName("RenderDefault").item(0).toElement(); if (Element.hasAttribute("DefaultNameProjectName")) DefaultNameProjectName =Element.attribute("DefaultNameProjectName")=="1"; if (Element.hasAttribute("Format")) DefaultFormat =Element.attribute("Format").toInt(); if (Element.hasAttribute("VideoCodec")) DefaultVideoCodec =Element.attribute("VideoCodec"); if (Element.hasAttribute("VideoBitRate")) DefaultVideoBitRate =Element.attribute("VideoBitRate").toInt(); if (Element.hasAttribute("AudioCodec")) DefaultAudioCodec =Element.attribute("AudioCodec"); if (Element.hasAttribute("AudioBitRate")) DefaultAudioBitRate =Element.attribute("AudioBitRate").toInt(); if (Element.hasAttribute("AudioFreq")) DefaultFreq =Element.attribute("AudioFreq").toInt(); if (Element.hasAttribute("ImageSize")) DefaultImageSize =Element.attribute("ImageSize").toInt(); if (Element.hasAttribute("Standard")) DefaultStandard =Element.attribute("Standard").toInt(); if (Element.hasAttribute("DefaultSoundtrackBitRate")) DefaultSoundtrackBitRate =Element.attribute("DefaultSoundtrackBitRate").toInt(); if (Element.hasAttribute("DefaultSoundtrackFreq")) DefaultSoundtrackFreq =Element.attribute("DefaultSoundtrackFreq").toInt(); if (Element.hasAttribute("DefaultSoundtrackFormat")) DefaultSoundtrackFormat =Element.attribute("DefaultSoundtrackFormat").toInt(); if (Element.hasAttribute("DefaultSoundtrackAudioCodec")) DefaultSoundtrackAudioCodec =Element.attribute("DefaultSoundtrackAudioCodec"); if (Element.hasAttribute("Language")) DefaultLanguage =Element.attribute("Language"); if (Element.hasAttribute("DefaultSmartphoneType")) DefaultSmartphoneType =Element.attribute("DefaultSmartphoneType").toInt(); if (Element.hasAttribute("DefaultSmartphoneModel")) DefaultSmartphoneModel =Element.attribute("DefaultSmartphoneModel").toInt(); if (Element.hasAttribute("DefaultMultimediaType")) DefaultMultimediaType =Element.attribute("DefaultMultimediaType").toInt(); if (Element.hasAttribute("DefaultMultimediaModel")) DefaultMultimediaModel =Element.attribute("DefaultMultimediaModel").toInt(); if (Element.hasAttribute("DefaultForTheWEBType")) DefaultForTheWEBType =Element.attribute("DefaultForTheWEBType").toInt(); if (Element.hasAttribute("DefaultForTheWEBModel")) DefaultForTheWEBModel =Element.attribute("DefaultForTheWEBModel").toInt(); if (Element.hasAttribute("DefaultLossLess")) DefaultLossLess =Element.attribute("DefaultLossLess").toInt(); if (Element.hasAttribute("DefaultExportThumbnail")) DefaultExportThumbnail =Element.attribute("DefaultExportThumbnail")=="1"; if (Element.hasAttribute("DefaultExportXBMCNfo")) DefaultExportXBMCNfo =Element.attribute("DefaultExportXBMCNfo")=="1"; } if ((root.elementsByTagName("Models").length()>0)&&(root.elementsByTagName("Models").item(0).isElement()==true)) { QDomElement Element=root.elementsByTagName("Models").item(0).toElement(); if (Element.hasAttribute("DefaultThumbnailName")) DefaultThumbnailName =Element.attribute("DefaultThumbnailName"); if (Element.hasAttribute("ThumbnailModelsIndex")) ThumbnailModelsNextNumber =Element.attribute("ThumbnailModelsIndex").toLongLong(); } if ((root.elementsByTagName("RecentFiles").length()>0)&&(root.elementsByTagName("RecentFiles").item(0).isElement()==true)) { QDomElement Element=root.elementsByTagName("RecentFiles").item(0).toElement(); int i=0; while ((Element.elementsByTagName("Recent-"+QString("%1").arg(i)).length()>0)&&(root.elementsByTagName("Recent-"+QString("%1").arg(i)).item(0).isElement()==true)) { QDomElement SubElement=root.elementsByTagName("Recent-"+QString("%1").arg(i)).item(0).toElement(); QString File=SubElement.attribute("File"); RecentFile.append(File); i++; } } // Load other collections StyleTextCollection.LoadFromXML(root,TypeConfigFile); StyleTextBackgroundCollection.LoadFromXML(root,TypeConfigFile); StyleBlockShapeCollection.LoadFromXML(root,TypeConfigFile); } if (!IsOk) { if (TypeConfigFile==USERCONFIGFILE) DeviceModelList.TranslatRenderType(); } else if (!DeviceModelList.LoadConfigurationFile(TypeConfigFile==USERCONFIGFILE?UserConfigFile:GlobalConfigFile,TypeConfigFile)) { if (TypeConfigFile==USERCONFIGFILE) DeviceModelList.TranslatRenderType(); IsOk=false; } if ((UpgradeConf)&&(TypeConfigFile==USERCONFIGFILE)) SaveConfigurationFile(); return IsOk; } //==================================================================================================================== bool cApplicationConfig::SaveConfigurationFile() { // Save all option to the configuration file QFile file(UserConfigFile); QDomDocument domDocument(QString(APPLICATION_NAME)); domDocument.appendChild(domDocument.createProcessingInstruction("xml", "version=\"1.0\" encoding=\"UTF-8\"")); QDomElement root; // Ensure destination exist QFileInfo ConfPath(UserConfigFile); QDir ConfDir; ConfDir.mkdir(ConfPath.path()); // Create xml document and root root=domDocument.createElement(QString(CONFIGFILE_ROOTNAME)); domDocument.appendChild(root); // Save preferences QDomElement Element,SubElement,SubSubElement; Element=domDocument.createElement("GlobalPreferences"); #if defined(Q_OS_LINUX) || defined(Q_OS_SOLARIS) Element.setAttribute("RasterMode", RasterMode?"1":"0"); #endif Element.setAttribute("OpenWEBNewVersion", OpenWEBNewVersion?"1":"0"); Element.setAttribute("RestoreWindow", RestoreWindow?"1":"0"); Element.setAttribute("RememberLastDirectories", RememberLastDirectories?"1":"0"); Element.setAttribute("DisableTooltips", DisableTooltips?"1":"0"); Element.setAttribute("ForceLanguage", ForceLanguage); Element.setAttribute("Crop1088To1080", Crop1088To1080?"1":"0"); Element.setAttribute("Deinterlace", Deinterlace?"1":"0"); Element.setAttribute("Smoothing", Smoothing?"1":0); Element.setAttribute("CheckConfigAtStartup", CheckConfigAtStartup?"1":"0"); root.appendChild(Element); Element=domDocument.createElement("CacheMemory"); Element.setAttribute("MemCacheMaxValue", qlonglong(MemCacheMaxValue/(1024*1024))); root.appendChild(Element); // Save preferences Element=domDocument.createElement("EditorOptions"); Element.setAttribute("SDLAudioOldMode", SDLAudioOldMode?"1":"0"); Element.setAttribute("AppendObject", AppendObject?"1":"0"); Element.setAttribute("DisplayUnit", DisplayUnit); Element.setAttribute("PartitionMode", PartitionMode?"1":"0"); Element.setAttribute("WindowDisplayMode", WindowDisplayMode); Element.setAttribute("NewTimelineHeight", TimelineHeight); Element.setAttribute("DefaultFraming", DefaultFraming); Element.setAttribute("PreviewFPS", (QString("%1").arg(PreviewFPS,0,'f'))); Element.setAttribute("PreviewSamplingRate", (QString("%1").arg(PreviewSamplingRate))); Element.setAttribute("MaxVideoPreviewHeight", MaxVideoPreviewHeight); Element.setAttribute("RandomTransition", RandomTransition?"1":"0"); Element.setAttribute("DefaultTransitionFamilly", DefaultTransitionFamilly); Element.setAttribute("DefaultTransitionSubType", DefaultTransitionSubType); Element.setAttribute("DefaultTransitionDuration", DefaultTransitionDuration); Element.setAttribute("AskUserToRemove", AskUserToRemove?"1":"0"); Element.setAttribute("WikiFollowInterface", WikiFollowInterface?"1":"0"); Element.setAttribute("UseNetworkProxy", UseNetworkProxy?"1":"0"); Element.setAttribute("NetworkProxy", NetworkProxy); Element.setAttribute("NetworkProxyPort", NetworkProxyPort); Element.setAttribute("NetworkProxyUser", NetworkProxyUser); Element.setAttribute("NetworkProxyPWD", NetworkProxyPWD); Element.setAttribute("DlgSlideRuler", SlideRuler); Element.setAttribute("ThumbRuler", ThumbRuler); Element.setAttribute("FramingRuler", FramingRuler?"1":"0"); root.appendChild(Element); Element=domDocument.createElement("ProjectDefault"); Element.setAttribute("ImageGeometry", ImageGeometry); Element.setAttribute("NoShotDuration", NoShotDuration); Element.setAttribute("FixedDuration", FixedDuration); Element.setAttribute("DefaultAuthor", DefaultAuthor); Element.setAttribute("DefaultAlbum", DefaultAlbum); Element.setAttribute("DefaultTitleFilling", DefaultTitleFilling); Element.setAttribute("DefaultTransitionSpeedWave", DefaultTransitionSpeedWave); Element.setAttribute("DefaultBlockAnimSpeedWave", DefaultBlockAnimSpeedWave); Element.setAttribute("DefaultImageAnimSpeedWave", DefaultImageAnimSpeedWave); Element.setAttribute("ID3V2Comptatibility", ID3V2Comptatibility?"1":"0"); Element.setAttribute("ShortDateFormat", ShortDateFormat); Element.setAttribute("DistanceUnit", DistanceUnit); SubElement=domDocument.createElement("DefaultBlock_Text"); SubElement.setAttribute("TextST", DefaultBlock_Text_TextST); SubElement.setAttribute("BackGST", DefaultBlock_Text_BackGST); SubElement.setAttribute("ShapeST", DefaultBlock_Text_ShapeST); SubElement.setAttribute("AutoSizePos", DefaultBlock_AutoSizePos); SubElement.setAttribute("AutoLocking", DefaultBlock_AutoLocking); Element.appendChild(SubElement); SubElement=domDocument.createElement("DefaultBlockSL_IMG"); SubElement.setAttribute("TextST", DefaultBlockSL_IMG_TextST); SubElement.setAttribute("ShapeST", DefaultBlockSL_IMG_ShapeST); for (int i=1;iGetIntAndTextValue("BrowserFavorites",&Nbr,&TextValue); QDomDocument DomDocument; QString errorStr; int errorLine,errorColumn; if ((DomDocument.setContent(TextValue,true,&errorStr,&errorLine,&errorColumn))&& (DomDocument.elementsByTagName("BrowserFavorites").length()>0)&& (DomDocument.elementsByTagName("BrowserFavorites").item(0).isElement()==true)) { QDomElement Element=DomDocument.elementsByTagName("BrowserFavorites").item(0).toElement(); for (int i=0;iSetIntAndTextValue("BrowserFavorites",BrowserFavorites.count(),DomDocument.toString()); } //==================================================================================================================== // Duplicate an image in ressource and get a new RessourceKey void cApplicationConfig::DuplicateRessource(qlonglong *RessourceKey) { QImage Image; SlideThumbsTable->GetThumbs(RessourceKey,&Image); cLuLoImageCacheObject *ImgCache=ImagesCache.FindObject(*RessourceKey,-1,QDateTime(),0,Smoothing,false); cLuLoImageCacheObject *NewImgCache=new cLuLoImageCacheObject(*RessourceKey,-1,QDateTime(),0,"",Smoothing,&ImagesCache); *RessourceKey=-1; SlideThumbsTable->SetThumbs(RessourceKey,Image); NewImgCache->RessourceKey=*RessourceKey; if (ImgCache->CachePreviewImage) NewImgCache->CachePreviewImage=new QImage(*ImgCache->CachePreviewImage); if (ImgCache->CacheRenderImage) NewImgCache->CacheRenderImage =new QImage(*ImgCache->CacheRenderImage); NewImgCache->ByteCount=ImgCache->ByteCount; ImagesCache.List.prepend(NewImgCache); } //==================================================================================================================== // return a QNetworkAccessManager object configured with proxy if needed QNetworkAccessManager *cApplicationConfig::GetNetworkAccessManager(QObject *parent) { QNetworkAccessManager *NAM=new QNetworkAccessManager(parent); if (UseNetworkProxy) { QNetworkProxy Proxy(QNetworkProxy::HttpProxy,NetworkProxy,NetworkProxyPort,NetworkProxyUser,NetworkProxyPWD); NAM->setProxy(Proxy); } return NAM; } ffDiaporama/src/ffDiaporama/engine/_Variables.h0000777000175000001440000000424412275647324021714 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef _VARIABLES_H #define _VARIABLES_H // Basic inclusions (common to all files) #include "_GlobalDefines.h" // Specific inclusions #include "_Diaporama.h" class cVariableItem { public: QString VarName; QString Value; cVariableItem(QString VarName); }; class cVariable { public: QList Variables; cVariable(); QString ResolveTextVariable(cDiaporamaObject *Object,QString SourceText); bool IsTextHaveVariables(QString SourceText); bool IsObjectHaveVariables(cDiaporamaObject *Object); QString PopupVariableMenu(QWidget *ParentWindow); }; //***************************************************** class cHTMLConversionItem { public: QString Normal; QString HTML; cHTMLConversionItem(QString Normal,QString HTML) {this->Normal=Normal; this->HTML=HTML;} }; class cHTMLConversion { public: QList List; cHTMLConversion(); QString ToHTML(QString Source); QString ToPlainText(QString Source); }; extern cVariable Variable; extern cHTMLConversion HTMLConverter; #endif // _VARIABLES_H ffDiaporama/src/ffDiaporama/engine/_Variables.cpp0000777000175000001440000006113612275647324022252 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ // Specific inclusions #include "_Variables.h" #include "cLocation.h" cHTMLConversion HTMLConverter; cVariable Variable; //========================================================================================================================================= cHTMLConversion::cHTMLConversion() { //List.append(cHTMLConversionItem("'","'")); List.append(cHTMLConversionItem("&","&")); List.append(cHTMLConversionItem("–","–")); List.append(cHTMLConversionItem("—","—")); List.append(cHTMLConversionItem("¡","¡")); List.append(cHTMLConversionItem("¿","¿")); List.append(cHTMLConversionItem("\"",""")); List.append(cHTMLConversionItem("÷","÷")); List.append(cHTMLConversionItem("“","“")); List.append(cHTMLConversionItem("”","”")); List.append(cHTMLConversionItem("‘","‘")); List.append(cHTMLConversionItem("’","’")); List.append(cHTMLConversionItem("«","«")); List.append(cHTMLConversionItem("»","»")); List.append(cHTMLConversionItem("©","©")); List.append(cHTMLConversionItem("™","™")); List.append(cHTMLConversionItem(">",">")); List.append(cHTMLConversionItem("<","<")); List.append(cHTMLConversionItem("µ","µ")); List.append(cHTMLConversionItem("·","·")); List.append(cHTMLConversionItem("¶","¶")); List.append(cHTMLConversionItem("±","±")); List.append(cHTMLConversionItem("€","€")); List.append(cHTMLConversionItem("£","£")); List.append(cHTMLConversionItem("¢","¢")); List.append(cHTMLConversionItem("¥","¥")); List.append(cHTMLConversionItem("®","®")); List.append(cHTMLConversionItem("§","§")); List.append(cHTMLConversionItem("á","á")); List.append(cHTMLConversionItem("Á","Á")); List.append(cHTMLConversionItem("à","à")); List.append(cHTMLConversionItem("À","À")); List.append(cHTMLConversionItem("â","â")); List.append(cHTMLConversionItem("Â","Â")); List.append(cHTMLConversionItem("å","å")); List.append(cHTMLConversionItem("Å","Å")); List.append(cHTMLConversionItem("ã","ã")); List.append(cHTMLConversionItem("Ã","Ã")); List.append(cHTMLConversionItem("ä","ä")); List.append(cHTMLConversionItem("Ä","Ä")); List.append(cHTMLConversionItem("æ","æ")); List.append(cHTMLConversionItem("Æ","Æ")); List.append(cHTMLConversionItem("ç","ç")); List.append(cHTMLConversionItem("Ç","Ç")); List.append(cHTMLConversionItem("é","é")); List.append(cHTMLConversionItem("É","É")); List.append(cHTMLConversionItem("è","è")); List.append(cHTMLConversionItem("È","È")); List.append(cHTMLConversionItem("ê","ê")); List.append(cHTMLConversionItem("Ê","Ê")); List.append(cHTMLConversionItem("ë","ë")); List.append(cHTMLConversionItem("Ë","Ë")); List.append(cHTMLConversionItem("í","í")); List.append(cHTMLConversionItem("Í","Í")); List.append(cHTMLConversionItem("ì","ì")); List.append(cHTMLConversionItem("Ì","Ì")); List.append(cHTMLConversionItem("î","î")); List.append(cHTMLConversionItem("Î","Î")); List.append(cHTMLConversionItem("ï","ï")); List.append(cHTMLConversionItem("Ï","Ï")); List.append(cHTMLConversionItem("ñ","ñ")); List.append(cHTMLConversionItem("Ñ","Ñ")); List.append(cHTMLConversionItem("ó","ó")); List.append(cHTMLConversionItem("Ó","Ó")); List.append(cHTMLConversionItem("ò","ò")); List.append(cHTMLConversionItem("Ò","Ò")); List.append(cHTMLConversionItem("ô","ô")); List.append(cHTMLConversionItem("Ô","Ô")); List.append(cHTMLConversionItem("ø","ø")); List.append(cHTMLConversionItem("Ø","Ø")); List.append(cHTMLConversionItem("õ","õ")); List.append(cHTMLConversionItem("Õ","Õ")); List.append(cHTMLConversionItem("ö","ö")); List.append(cHTMLConversionItem("Ö","Ö")); List.append(cHTMLConversionItem("ú","ú")); List.append(cHTMLConversionItem("Ú","Ú")); List.append(cHTMLConversionItem("ù","ù")); List.append(cHTMLConversionItem("Ù","Ù")); List.append(cHTMLConversionItem("û","û")); List.append(cHTMLConversionItem("Û","Û")); List.append(cHTMLConversionItem("ü","ü")); List.append(cHTMLConversionItem("Ü","Ü")); List.append(cHTMLConversionItem("ß","ß")); List.append(cHTMLConversionItem("ÿ","ÿ")); List.append(cHTMLConversionItem("´","´")); List.append(cHTMLConversionItem("`","`")); //List.append(cHTMLConversionItem(" "," ")); List.append(cHTMLConversionItem("\n","
")); List.append(cHTMLConversionItem("\t","    ")); } // ************************************************ QString cHTMLConversion::ToHTML(QString Source) { for (int i=0;iVarName=VarName; Value=""; } // ************************************************ cVariable::cVariable() { Variables.append(cVariableItem("STP")); Variables.append(cVariableItem("STM")); Variables.append(cVariableItem("STA")); Variables.append(cVariableItem("CPY")); Variables.append(cVariableItem("END")); Variables.append(cVariableItem("PTT")); Variables.append(cVariableItem("PAU")); Variables.append(cVariableItem("PAI")); Variables.append(cVariableItem("PAP")); Variables.append(cVariableItem("PAL")); Variables.append(cVariableItem("PLN")); Variables.append(cVariableItem("PLA")); Variables.append(cVariableItem("PCT")); Variables.append(cVariableItem("PDD")); Variables.append(cVariableItem("PSC")); Variables.append(cVariableItem("PLD")); Variables.append(cVariableItem("PSD")); Variables.append(cVariableItem("PYR")); Variables.append(cVariableItem("PMM")); Variables.append(cVariableItem("PMD")); Variables.append(cVariableItem("PDY")); Variables.append(cVariableItem("PDW")); Variables.append(cVariableItem("CSN")); Variables.append(cVariableItem("CSR")); Variables.append(cVariableItem("CCN")); Variables.append(cVariableItem("CCR")); Variables.append(cVariableItem("CCI")); Variables.append(cVariableItem("CCD")); Variables.append(cVariableItem("CCT")); Variables.append(cVariableItem("CLN")); Variables.append(cVariableItem("CLA")); Variables.append(cVariableItem("CLD")); Variables.append(cVariableItem("CSD")); Variables.append(cVariableItem("CYR")); Variables.append(cVariableItem("CMM")); Variables.append(cVariableItem("CMD")); Variables.append(cVariableItem("CDY")); Variables.append(cVariableItem("CDW")); Variables.append(cVariableItem("FFD")); Variables.append(cVariableItem("TLD")); Variables.append(cVariableItem("TSD")); Variables.append(cVariableItem("TYR")); Variables.append(cVariableItem("TMM")); Variables.append(cVariableItem("TMD")); Variables.append(cVariableItem("TDY")); Variables.append(cVariableItem("TDW")); } // ************************************************ // Text variables like %Txxx% // ************************************************ QString cVariable::ResolveTextVariable(cDiaporamaObject *Object,QString SourceText) { if (!Object) return SourceText; // VarName transformation cDiaporamaObject *CurrentChapter; int ChapterNumber=Object->ComputeChapterNumber(&CurrentChapter); QString ChapterNum=QString("%1").arg(ChapterNumber); while (ChapterNum.length()<3) ChapterNum="0"+ChapterNum; ChapterNum="Chapter_"+ChapterNum+":"; QString VarName; for (int i=0;iParent->ProjectInfo->Title; else if (Variables[i].VarName=="PAU") VarName=Object->Parent->ProjectInfo->Author; else if (Variables[i].VarName=="PAI") VarName=QApplication::translate("Variables","%1 presents").arg(Object->Parent->ProjectInfo->Author); else if (Variables[i].VarName=="PAP") VarName=QApplication::translate("Variables","A %1 production").arg(Object->Parent->ProjectInfo->Author); else if (Variables[i].VarName=="PLN") VarName=Object->Parent->ProjectInfo->Location?((cLocation *)Object->Parent->ProjectInfo->Location)->Name:QApplication::translate("Variables","Project's location not set (Name)"); else if (Variables[i].VarName=="PLA") VarName=Object->Parent->ProjectInfo->Location?((cLocation *)Object->Parent->ProjectInfo->Location)->FriendlyAddress:QApplication::translate("Variables","Project's location not set (Address)"); else if (Variables[i].VarName=="PCT") VarName=Object->Parent->ProjectInfo->Comment; else if (Variables[i].VarName=="PDD") { VarName=Object->Parent->ProjectInfo->Duration.toString("HH:mm:ss.zzz"); VarName=VarName.left(VarName.lastIndexOf(".")); } else if (Variables[i].VarName=="PSC") VarName=QString("%1").arg(Object->Parent->List.count()); // Project date values else if (Variables[i].VarName=="PLD") VarName=Object->Parent->ProjectInfo->LongDate; else if (Variables[i].VarName=="PSD") VarName=Object->Parent->ProjectInfo->EventDate.toString(Object->Parent->ApplicationConfig->ShortDateFormat); else if (Variables[i].VarName=="PYR") VarName=QString("%1").arg(Object->Parent->ProjectInfo->EventDate.year()); else if (Variables[i].VarName=="PMD") VarName=ito2a(Object->Parent->ProjectInfo->EventDate.month()); else if (Variables[i].VarName=="PDY") VarName=ito2a(Object->Parent->ProjectInfo->EventDate.day()); else if (Variables[i].VarName=="PMM") VarName=UpInitials(Object->Parent->ProjectInfo->EventDate.longMonthName(Object->Parent->ProjectInfo->EventDate.month())); else if (Variables[i].VarName=="PDW") VarName=UpInitials(Object->Parent->ProjectInfo->EventDate.longDayName(Object->Parent->ProjectInfo->EventDate.dayOfWeek())); // Current slide else if (Variables[i].VarName=="CSN") VarName=Object->GetDisplayName(); else if (Variables[i].VarName=="CSR") VarName=QString("%1").arg(Object->GetSlideNumber()+1); // Current chapter else if (Variables[i].VarName=="CCN") VarName=GetInformationValue(ChapterNum+"title",&Object->Parent->ProjectInfo->ChaptersProperties); else if (Variables[i].VarName=="CCR") VarName=QString("%1").arg(ChapterNumber); else if (Variables[i].VarName=="CCI") VarName=QApplication::translate("Variables","Chapter %1").arg(ChapterNumber); else if (Variables[i].VarName=="CCD") VarName=GetInformationValue(ChapterNum+"Duration",&Object->Parent->ProjectInfo->ChaptersProperties); else if (Variables[i].VarName=="CCT") VarName=QString("%1").arg(Object->Parent->ProjectInfo->NbrChapters); else if (Variables[i].VarName=="CLN") VarName=GetInformationValue(ChapterNum+"LocationName",&Object->Parent->ProjectInfo->ChaptersProperties); else if (Variables[i].VarName=="CLA") VarName=GetInformationValue(ChapterNum+"LocationAddress",&Object->Parent->ProjectInfo->ChaptersProperties); // Current chapter date values else if (Variables[i].VarName=="CSD") VarName=GetInformationValue(ChapterNum+"Date",&Object->Parent->ProjectInfo->ChaptersProperties); else if (Variables[i].VarName=="CLD") VarName=GetInformationValue(ChapterNum+"LongDate",&Object->Parent->ProjectInfo->ChaptersProperties); else if (Variables[i].VarName=="CYR") VarName=QString("%1").arg((CurrentChapter->OverrideProjectEventDate?CurrentChapter->ChapterEventDate:Object->Parent->ProjectInfo->EventDate).year()); else if (Variables[i].VarName=="CMD") VarName=ito2a((CurrentChapter->OverrideProjectEventDate?CurrentChapter->ChapterEventDate:Object->Parent->ProjectInfo->EventDate).month()); else if (Variables[i].VarName=="CDY") VarName=ito2a((CurrentChapter->OverrideProjectEventDate?CurrentChapter->ChapterEventDate:Object->Parent->ProjectInfo->EventDate).day()); else if (Variables[i].VarName=="CMM") VarName=UpInitials(QDate().longMonthName((CurrentChapter->OverrideProjectEventDate?CurrentChapter->ChapterEventDate:Object->Parent->ProjectInfo->EventDate).month())); else if (Variables[i].VarName=="CDW") VarName=UpInitials(QDate().longDayName((CurrentChapter->OverrideProjectEventDate?CurrentChapter->ChapterEventDate:Object->Parent->ProjectInfo->EventDate).dayOfWeek())); // Various values else if (Variables[i].VarName=="FFD") VarName=QString("%1 (%2)").arg(Object->Parent->ProjectInfo->Composer).arg(Object->Parent->ProjectInfo->ffDRevision); else if (Variables[i].VarName=="STP") VarName=Variables[i].Value; else if (Variables[i].VarName=="STM") VarName=Variables[i].Value; else if (Variables[i].VarName=="STA") VarName=QApplication::translate("Variables","Project done the %1:\n\t·with %2 (%3)\n\t·on a %4 (%5 Core/CPU) computer") .arg(QDate::currentDate().toString(Object->Parent->ApplicationConfig->ShortDateFormat)) .arg(Object->Parent->ProjectInfo->Composer).arg(Object->Parent->ProjectInfo->ffDRevision) .arg(Object->Parent->ApplicationConfig->Plateforme).arg(getCpuCount()); else if (Variables[i].VarName=="CPY") VarName=QString("©%1 - %2").arg(QDate::currentDate().year()).arg(Object->Parent->ProjectInfo->Author); else if (Variables[i].VarName=="END") VarName=QApplication::translate("Variables","The end"); // Today date values else if (Variables[i].VarName=="TLD") VarName=UpInitials(QDate::currentDate().toString(Qt::DefaultLocaleLongDate)); else if (Variables[i].VarName=="TSD") VarName=QDate::currentDate().toString(Object->Parent->ApplicationConfig->ShortDateFormat); else if (Variables[i].VarName=="TYR") VarName=QString("%1").arg(QDate::currentDate().year()); else if (Variables[i].VarName=="TMD") VarName=ito2a(QDate::currentDate().month()); else if (Variables[i].VarName=="TDY") VarName=ito2a(QDate::currentDate().day()); else if (Variables[i].VarName=="TMM") VarName=UpInitials(QDate::currentDate().longMonthName(QDate::currentDate().month())); else if (Variables[i].VarName=="TDW") VarName=UpInitials(QDate::currentDate().longDayName(QDate::currentDate().dayOfWeek())); else VarName=""; // Replace variable with varname converted to html if (!VarName.isEmpty()) SourceText.replace("%"+Variables[i].VarName+"%",HTMLConverter.ToHTML(VarName)); } return SourceText; } // ************************************************ bool cVariable::IsTextHaveVariables(QString SourceText) { if (SourceText.isEmpty()) return false; for (int i=0;iObjectComposition.List.count();i++) if (IsTextHaveVariables(Object->ObjectComposition.List[i]->Text)) return true; return false; } //************************************************ void AppendAction(QMenu *Menu,QWidget *ParentWindow,QString Title) { QAction *Action=new QAction(Title,ParentWindow); Action->setIconVisibleInMenu(true); Action->setFont(QFont("Sans Serif",9)); Action->setToolTip(QApplication::translate("Variables","Select this variable")); Menu->addAction(Action); } QString cVariable::PopupVariableMenu(QWidget *ParentWindow) { QMenu *ContextMenu =new QMenu(ParentWindow); ContextMenu->setFont(QFont("Sans Serif",9)); QMenu *PropertiesMenu =new QMenu(ParentWindow); PropertiesMenu->setFont(QFont("Sans Serif",9)); PropertiesMenu->setTitle(QApplication::translate("Variables","Project properties values")); QMenu *ProjectDateMenu=new QMenu(ParentWindow); ProjectDateMenu->setFont(QFont("Sans Serif",9)); ProjectDateMenu->setTitle(QApplication::translate("Variables","Project date values")); QMenu *SlideMenu =new QMenu(ParentWindow); SlideMenu->setFont(QFont("Sans Serif",9)); SlideMenu->setTitle(QApplication::translate("Variables","Current slide values")); QMenu *ChapterMenu =new QMenu(ParentWindow); ChapterMenu->setFont(QFont("Sans Serif",9)); ChapterMenu->setTitle(QApplication::translate("Variables","Chapters values")); QMenu *ChapterDateMenu=new QMenu(ParentWindow); ChapterDateMenu->setFont(QFont("Sans Serif",9)); ChapterDateMenu->setTitle(QApplication::translate("Variables","Current chapter date values")); QMenu *VariousMenu =new QMenu(ParentWindow); VariousMenu->setFont(QFont("Sans Serif",9)); VariousMenu->setTitle(QApplication::translate("Variables","Various values")); QMenu *TodayDateMenu =new QMenu(ParentWindow); TodayDateMenu->setFont(QFont("Sans Serif",9)); TodayDateMenu->setTitle(QApplication::translate("Variables","Today date values")); QString Var=""; AppendAction(PropertiesMenu,ParentWindow,QApplication::translate("Variables","Project title")+"\t%PTT%"); AppendAction(PropertiesMenu,ParentWindow,QApplication::translate("Variables","Project author")+"\t%PAU%"); AppendAction(PropertiesMenu,ParentWindow,QApplication::translate("Variables","Project author as ")+"\t%PAI%"); AppendAction(PropertiesMenu,ParentWindow,QApplication::translate("Variables","Project author as ")+"\t%PAP%"); AppendAction(PropertiesMenu,ParentWindow,QApplication::translate("Variables","Project album")+"\t%PAL%"); AppendAction(PropertiesMenu,ParentWindow,QApplication::translate("Variables","Project location name")+"\t%PLN%"); AppendAction(PropertiesMenu,ParentWindow,QApplication::translate("Variables","Project location address")+"\t%PLA%"); AppendAction(PropertiesMenu,ParentWindow,QApplication::translate("Variables","Project comment")+"\t%PCT%"); AppendAction(PropertiesMenu,ParentWindow,QApplication::translate("Variables","Project duration")+"\t%PDD%"); AppendAction(PropertiesMenu,ParentWindow,QApplication::translate("Variables","Project slide count")+"\t%PSC%"); AppendAction(ProjectDateMenu,ParentWindow,QApplication::translate("Variables","Long date")+"\t%PLD%"); AppendAction(ProjectDateMenu,ParentWindow,QApplication::translate("Variables","Short date")+"\t%PSD%"); AppendAction(ProjectDateMenu,ParentWindow,QApplication::translate("Variables","Year")+"\t%PYR%"); AppendAction(ProjectDateMenu,ParentWindow,QApplication::translate("Variables","Month")+"\t%PMM%"); AppendAction(ProjectDateMenu,ParentWindow,QApplication::translate("Variables","Month as number")+"\t%PMD%"); AppendAction(ProjectDateMenu,ParentWindow,QApplication::translate("Variables","Day")+"\t%PDY%"); AppendAction(ProjectDateMenu,ParentWindow,QApplication::translate("Variables","Day of week")+"\t%PDW%"); AppendAction(SlideMenu,ParentWindow,QApplication::translate("Variables","Current slide name")+"\t%CSN%"); AppendAction(SlideMenu,ParentWindow,QApplication::translate("Variables","Current slide number")+"\t%CSR%"); AppendAction(ChapterMenu,ParentWindow,QApplication::translate("Variables","Current chapter name")+"\t%CCN%"); AppendAction(ChapterMenu,ParentWindow,QApplication::translate("Variables","Current chapter number")+"\t%CCR%"); AppendAction(ChapterMenu,ParentWindow,QApplication::translate("Variables","Current chapter number as \"Chapter N°\"")+"\t%CCI%"); AppendAction(ChapterMenu,ParentWindow,QApplication::translate("Variables","Current chapter duration")+"\t%CCD%"); AppendAction(ChapterMenu,ParentWindow,QApplication::translate("Variables","Chapter count")+"\t%CCT%"); AppendAction(PropertiesMenu,ParentWindow,QApplication::translate("Variables","Current chapter location name")+"\t%CLN%"); AppendAction(PropertiesMenu,ParentWindow,QApplication::translate("Variables","Current chapter location address")+"\t%CLA%"); AppendAction(ChapterDateMenu,ParentWindow,QApplication::translate("Variables","Long date")+"\t%CLD%"); AppendAction(ChapterDateMenu,ParentWindow,QApplication::translate("Variables","Short date")+"\t%CSD%"); AppendAction(ChapterDateMenu,ParentWindow,QApplication::translate("Variables","Year")+"\t%CYR%"); AppendAction(ChapterDateMenu,ParentWindow,QApplication::translate("Variables","Month")+"\t%CMM%"); AppendAction(ChapterDateMenu,ParentWindow,QApplication::translate("Variables","Month as number")+"\t%CMD%"); AppendAction(ChapterDateMenu,ParentWindow,QApplication::translate("Variables","Day")+"\t%CDY%"); AppendAction(ChapterDateMenu,ParentWindow,QApplication::translate("Variables","Day of week")+"\t%CDW%"); AppendAction(VariousMenu,ParentWindow,QApplication::translate("Variables","ffDiaporama version")+"\t%FFD%"); AppendAction(VariousMenu,ParentWindow,QApplication::translate("Variables","Copyright")+"\t%CPY%"); AppendAction(VariousMenu,ParentWindow,QApplication::translate("Variables","The end")+"\t%END%"); AppendAction(VariousMenu,ParentWindow,QApplication::translate("Variables","Project made")+"\t%STA%"); AppendAction(VariousMenu,ParentWindow,QApplication::translate("Variables","Content")+"\t%STP%"); AppendAction(VariousMenu,ParentWindow,QApplication::translate("Variables","Musical content")+"\t%STM%"); AppendAction(TodayDateMenu,ParentWindow,QApplication::translate("Variables","Long date")+"\t%TLD%"); AppendAction(TodayDateMenu,ParentWindow,QApplication::translate("Variables","Short date")+"\t%TSD%"); AppendAction(TodayDateMenu,ParentWindow,QApplication::translate("Variables","Year")+"\t%TYR%"); AppendAction(TodayDateMenu,ParentWindow,QApplication::translate("Variables","Month")+"\t%TMM%"); AppendAction(TodayDateMenu,ParentWindow,QApplication::translate("Variables","Month as number")+"\t%TMD%"); AppendAction(TodayDateMenu,ParentWindow,QApplication::translate("Variables","Day")+"\t%TDY%"); AppendAction(TodayDateMenu,ParentWindow,QApplication::translate("Variables","Day of week")+"\t%TDW%"); ContextMenu->addMenu(PropertiesMenu); PropertiesMenu->addMenu(ProjectDateMenu); ContextMenu->addMenu(SlideMenu); ContextMenu->addMenu(ChapterMenu); ChapterMenu->addMenu(ChapterDateMenu); ContextMenu->addMenu(VariousMenu); VariousMenu->addMenu(TodayDateMenu); QAction *Ret=ContextMenu->exec(QCursor::pos()); if (Ret) { Var=Ret->text(); Var=Var.mid(Var.indexOf("%")); } delete ContextMenu; return Var; } ffDiaporama/src/ffDiaporama/engine/_Transition.h0000777000175000001440000001624712275647323022143 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef _TRANSITION_H #define _TRANSITION_H // Transition familly definition enum TRFAMILLY { TRANSITIONFAMILLY_BASE, TRANSITIONFAMILLY_ZOOMINOUT, TRANSITIONFAMILLY_SLIDE, TRANSITIONFAMILLY_PUSH, TRANSITIONFAMILLY_LUMA_BAR, TRANSITIONFAMILLY_LUMA_BOX, TRANSITIONFAMILLY_LUMA_CENTER, TRANSITIONFAMILLY_LUMA_CHECKER, TRANSITIONFAMILLY_LUMA_CLOCK, TRANSITIONFAMILLY_LUMA_SNAKE, TRANSITIONFAMILLY_DEFORM }; //============================================ // Transition subtype for LUMA_BAR transitions enum TRLUMABAR { Bar128, Bar146, Bar164, Bar182, Bar219, Bar237, Bar273, Bar291, BilinearA1,BilinearA4,BilinearA8,BilinearA9, BilinearB1,BilinearB4,BilinearB8,BilinearB9, StoreA446, StoreA846, StoreB482, StoreB882, ZBar01, ZBar02, ZBar03, ZBar04, TRANSITIONMAXSUBTYPE_LUMABAR }; // Transition subtype for TRANSITIONFAMILLY_LUMA_CLOCK transitions enum TRLUMACLOCK { ClockA1,ClockA2,ClockA3,ClockA4, ClockA6,ClockA7,ClockA8,ClockA9, ClockB1,ClockB2,ClockB3,ClockB4, ClockB6,ClockB7,ClockB8,ClockB9, ClockC1,ClockC2,ClockC3,ClockC4, ClockC6,ClockC7,ClockC8,ClockC9, //ClockD1,ClockD2, TRANSITIONMAXSUBTYPE_LUMACLOCK }; //============================================ // No luma transition : number of sub type #define TRANSITIONMAXSUBTYPE_BASE 5 #define TRANSITIONMAXSUBTYPE_ZOOMINOUT 18 #define TRANSITIONMAXSUBTYPE_SLIDE 22 #define TRANSITIONMAXSUBTYPE_PUSH 16 #define TRANSITIONMAXSUBTYPE_DEFORM 4 // static local values use to work with luma images #define LUMADLG_HEIGHT 80 extern int LUMADLG_WIDTH; //============================================ #include "_GlobalDefines.h" #include "cApplicationConfig.h" #include #include //********************************************************************************************************************************************* // Global class containing icons of transitions //********************************************************************************************************************************************* class cLumaObject; class cIconObject { public: QImage Icon; // The icon TRFAMILLY TransitionFamilly; // Transition familly int TransitionSubType; // Transition type in the familly cIconObject(TRFAMILLY TransitionFamilly,int TransitionSubType); cIconObject(TRFAMILLY TransitionFamilly,int TransitionSubType,cLumaObject *Luma); }; //********************************************************************************************************************************************* // Global class containing icons library //********************************************************************************************************************************************* class cIconList { public: QList List; // list of icons cIconList(); ~cIconList(); QImage *GetIcon(TRFAMILLY TransitionFamilly,int TransitionSubType); }; //********************************************************************************************************************************************* // Global class containing luma library //********************************************************************************************************************************************* class cLumaObject { public: QImage OriginalLuma; QImage DlgLumaImage; QString Name; int TransitionSubType; TRFAMILLY TransitionFamilly; cLumaObject(TRFAMILLY TrFamilly,int TrSubType,QString FileName); QImage GetLuma(int DestImageWith,int DestImageHeight); private: QImage GetLumaBar(int DestImageWith,int DestImageHeight); QImage GetLumaClock(int DestImageWith,int DestImageHeight); }; //***************************************************************** class cLumaList { public: int Geometry; QList List; // list of Luma cLumaList(); ~cLumaList(); void ScanDisk(QString Path,TRFAMILLY TransitionFamilly); void SetGeometry(ffd_GEOMETRY Geometry); }; // static global values extern cLumaList LumaList_Bar; extern cLumaList LumaList_Box; extern cLumaList LumaList_Center; extern cLumaList LumaList_Checker; extern cLumaList LumaList_Clock; extern cLumaList LumaList_Snake; extern cIconList IconList; int RegisterNoLumaTransition(); int RegisterLumaTransition(); //********************************************************************************************************************* void DoTransition(TRFAMILLY TransitionFamilly,int TransitionSubType,double PCT,QImage *ImageA,QImage *ImageB,QPainter *WorkingPainter,int DestImageWith,int DestImageHeight); void Transition_Basic( int TransitionSubType,double PCT,QImage *ImageA,QImage *ImageB,QPainter *WorkingPainter,int DestImageWith,int DestImageHeight); void Transition_Zoom( int TransitionSubType,double PCT,QImage *ImageA,QImage *ImageB,QPainter *WorkingPainter,int DestImageWith,int DestImageHeight); void Transition_Slide( int TransitionSubType,double PCT,QImage *ImageA,QImage *ImageB,QPainter *WorkingPainter,int DestImageWith,int DestImageHeight); void Transition_Push( int TransitionSubType,double PCT,QImage *ImageA,QImage *ImageB,QPainter *WorkingPainter,int DestImageWith,int DestImageHeight); void Transition_Deform(int TransitionSubType,double PCT,QImage *ImageA,QImage *ImageB,QPainter *WorkingPainter,int DestImageWith,int DestImageHeight); void Transition_Luma( QImage Luma, double PCT,QImage *ImageA,QImage *ImageB,QPainter *WorkingPainter,int DestImageWith,int DestImageHeight); #endif // _TRANSITION_H ffDiaporama/src/ffDiaporama/engine/_Transition.cpp0000777000175000001440000016470512275647324022502 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "_Transition.h" #include "cBrushDefinition.h" #include "ImageFilters.h" // static global values cLumaList LumaList_Bar; cLumaList LumaList_Box; cLumaList LumaList_Center; cLumaList LumaList_Checker; cLumaList LumaList_Clock; cLumaList LumaList_Snake; cIconList IconList; // static local values use to speed background image loading (cache) QImage *LastLoadedBackgroundImage =NULL; QString LastLoadedBackgroundImageName =""; // static local values use to work with luma images int LUMADLG_WIDTH=0; //********************************************************************************************************************************************* // Global class containing icons of transitions //********************************************************************************************************************************************* cIconObject::cIconObject(TRFAMILLY TheTransitionFamilly,int TheTransitionSubType) { TransitionFamilly=TheTransitionFamilly; TransitionSubType=TheTransitionSubType; QString Familly=QString("%1").arg(TransitionFamilly); if (Familly.length()<2) Familly="0"+Familly; QString SubType=QString("%1").arg(TransitionSubType); if (SubType.length()<2) SubType="0"+SubType; QString FileName=QString(":/img/Transitions")+QDir().separator()+QString("tr-")+Familly+QString("-")+SubType+QString(".png"); Icon=QImage(FileName); if (Icon.isNull()) { Icon=QImage(QString(":/img/Transitions")+QDir().separator()+QString("tr-icon-error.png")); ToLog(LOGMSG_WARNING,"Icon not found:"+QDir(FileName).absolutePath()); } } //==================================================================================================================== cIconObject::cIconObject(TRFAMILLY TheTransitionFamilly,int TheTransitionSubType,cLumaObject *Luma) { TransitionFamilly=TheTransitionFamilly; TransitionSubType=TheTransitionSubType; if (Luma->OriginalLuma.isNull()) Icon=Luma->GetLuma(32,32); else Icon=Luma->OriginalLuma.scaled(QSize(32,32),Qt::IgnoreAspectRatio/*,Qt::SmoothTransformation*/); } //********************************************************************************************************************************************* // Global class containing icons library //********************************************************************************************************************************************* cIconList::cIconList() { } //==================================================================================================================== cIconList::~cIconList() { List.clear(); } //==================================================================================================================== QImage *cIconList::GetIcon(TRFAMILLY TransitionFamilly,int TransitionSubType) { int i=0; while ((iList[j+1].Name) List.swap(j,j+1); } // Register icons for this list for (int i=0;iwidth()); double dh=double(OldImg->height()); double hyp=sqrt(dw*dw+dh*dh); QImage Img(hyp,hyp,QImage::Format_ARGB32_Premultiplied); QPainter Painter; Painter.begin(&Img); Painter.setRenderHints(QPainter::Antialiasing|QPainter::TextAntialiasing|QPainter::SmoothPixmapTransform|QPainter::HighQualityAntialiasing|QPainter::NonCosmeticDefaultPen); Painter.setCompositionMode(QPainter::CompositionMode_Source); Painter.fillRect(QRect(0,0,hyp,hyp),Qt::transparent); Painter.setCompositionMode(QPainter::CompositionMode_SourceOver); // All coordonates from center QTransform Matrix; Matrix.translate(hyp/2,hyp/2); if (TheRotateZAxis!=0) Matrix.rotate(TheRotateZAxis,Qt::ZAxis); // Standard axis if (TheRotateXAxis!=0) Matrix.rotate(TheRotateXAxis,Qt::XAxis); // Rotate from X axis if (TheRotateYAxis!=0) Matrix.rotate(TheRotateYAxis,Qt::YAxis); // Rotate from Y axis Painter.setWorldTransform(Matrix,false); Painter.drawImage(-(dw)/2,-(dh)/2,*OldImg); Painter.end(); return Img; } //============================================================================================ // Basic transition // 0 No transition // 1 Dissolve with gradual disappearance of the image A // 2 Dissolve with no modification of the image A // 3 Fade to black // 4 Fade with blur //============================================================================================ void Transition_Basic(int TransitionSubType,double PCT,QImage *ImageA,QImage *ImageB,QPainter *WorkingPainter,int,int) { QImage ImgA,ImgB; int DestImageWith =ImageA->width(); int DestImageHeight=ImageA->height(); int MaxRA,MaxRB; switch (TransitionSubType) { case 0: WorkingPainter->drawImage(0,0,*ImageB); break; case 1: // Dissolve with gradual disappearance of the image A WorkingPainter->setOpacity(1-PCT); WorkingPainter->drawImage(0,0,*ImageA); WorkingPainter->setOpacity(PCT); WorkingPainter->drawImage(0,0,*ImageB); WorkingPainter->setOpacity(1); break; case 2: // Dissolve with no modification of the image A //WorkingPainter->setOpacity(1-PCT); WorkingPainter->drawImage(0,0,*ImageA); WorkingPainter->setOpacity(PCT); WorkingPainter->drawImage(0,0,*ImageB); WorkingPainter->setOpacity(1); break; case 3: // Fade to black if (PCT<0.5) { WorkingPainter->setOpacity(1-PCT*2); WorkingPainter->drawImage(0,0,*ImageA); } else { WorkingPainter->setOpacity((PCT-0.5)*2); WorkingPainter->drawImage(0,0,*ImageB); } WorkingPainter->setOpacity(1); break; case 4 : // Blur if (PCT<0.5) { ImgA =ImageA->scaledToHeight(DestImageHeight/4); MaxRA=ImgA.width()/4; if (MaxRA>ImgA.height()/4) MaxRA=ImgA.height()/4; FltBlur(ImgA,int(PCT*MaxRA)); WorkingPainter->drawImage(QRect(0,0,DestImageWith,DestImageHeight),ImgA,QRect(0,0,ImgA.width(),ImgA.height())); if (PCT>0.4) { WorkingPainter->setOpacity((PCT-0.4)*5); ImgB =ImageB->scaledToHeight(DestImageHeight/4); MaxRB=ImgB.width()/4; if (MaxRB>ImgB.height()/4) MaxRB=ImgB.height()/4; FltBlur(ImgB,int((0.5-(PCT/2))*MaxRB)); WorkingPainter->drawImage(QRect(0,0,DestImageWith,DestImageHeight),ImgB,QRect(0,0,ImgB.width(),ImgB.height())); WorkingPainter->setOpacity(1); } } else { ImgB=ImageB->scaledToHeight(DestImageHeight/4); MaxRB=ImgB.width()/4; if (MaxRB>ImgB.height()/4) MaxRB=ImgB.height()/4; FltBlur(ImgB,int((0.5-(PCT/2))*MaxRB)); WorkingPainter->drawImage(QRect(0,0,DestImageWith,DestImageHeight),ImgB,QRect(0,0,ImgB.width(),ImgB.height())); if (PCT>0.6) WorkingPainter->setOpacity(1); } break; } } //============================================================================================ // Zoom transition // 0 ImageA is reduced to Border Left Center // 1 ImageB is enlarged from Border Left Center // 2 ImageA is reduced to Border Right Center // 3 ImageB is enlarged from Border Right Center // 4 ImageA is reduced to Border Top Center // 5 ImageB is enlarged from Border Top Center // 6 ImageA is reduced to Border Bottom Center // 7 ImageB is enlarged from Border Bottom Center // 8 ImageA is reduced to Upper Left Corner // 9 ImageB is enlarged from Upper Left Corner // 10 ImageA is reduced to Upper Right Corner // 11 ImageB is enlarged from Upper Right Corner // 12 ImageA is reduced to Bottom Left Corner // 13 ImageB is enlarged from Bottom Left Corner // 14 ImageA is reduced to Bottom Right Corner // 15 ImageB is enlarged from Bottom Right Corner // 16 ImageA is reduced to Center // 17 ImageB is enlarged from Center //============================================================================================ void Transition_Zoom(int TransitionSubType,double PCT,QImage *ImageA,QImage *ImageB,QPainter *WorkingPainter,int DestImageWith,int DestImageHeight) { bool Reverse=(TransitionSubType & 0x1)==1; QPoint box; int wt= int(double(DestImageWith)*(Reverse?(1-PCT):PCT)); int ht= int(double(DestImageHeight)*(Reverse?(1-PCT):PCT)); switch (TransitionSubType) { case 0 : case 1 : box=QPoint(0,(DestImageHeight-ht)/2); break; // Border Left Center case 2 : case 3 : box=QPoint(DestImageWith-wt,(DestImageHeight-ht)/2); break; // Border Right Center case 4 : case 5 : box=QPoint((DestImageWith-wt)/2,0); break; // Border Top Center case 6 : case 7 : box=QPoint((DestImageWith-wt)/2,DestImageHeight-ht); break; // Border Bottom Center case 8 : case 9 : box=QPoint(0,0); break; // Upper Left Corner case 10: case 11: box=QPoint(DestImageWith-wt,0); break; // Upper Right Corner case 12: case 13: box=QPoint(0,DestImageHeight-ht); break; // Bottom Left Corner case 14: case 15: box=QPoint(DestImageWith-wt,DestImageHeight-ht); break; // Bottom Right Corner case 16: case 17: box=QPoint((DestImageWith-wt)/2,(DestImageHeight-ht)/2); break; // Center } // Draw transformed image if (!Reverse) { // Old image will desapear progressively during the second half time of the transition if (PCT<0.5) WorkingPainter->drawImage(0,0,*ImageA); else { WorkingPainter->setOpacity(1-(PCT-0.5)*2); WorkingPainter->drawImage(0,0,*ImageA); WorkingPainter->setOpacity(1); } } else { // New image will apear immediatly during the old image is moving out WorkingPainter->drawImage(0,0,*ImageB); } WorkingPainter->drawImage(box,(Reverse?ImageA:ImageB)->scaled(QSize(wt,ht),Qt::IgnoreAspectRatio,Qt::SmoothTransformation)); } //============================================================================================ // Slide transition // 0 ImageB appear moving since left to right // 1 ImageB appear moving since right to left // 2 ImageB appear moving since up to down // 3 ImageB appear moving since down to up // 4 ImageB appear moving since the upper left corner // 5 ImageB appear moving since the upper right corner // 6 ImageB appear moving since the lower left corner // 7 ImageB appear moving since the lower right corner // 8 ImageA disappear moving from left to right // 9 ImageA disappear moving from right to left // 10 ImageA disappear moving from up to down // 11 ImageA disappear moving from down to up // 12 ImageA disappear moving from the upper left corner // 13 ImageA disappear moving from the upper right corner // 14 ImageA disappear moving from the lower left corner // 15 ImageA disappear moving from the lower right corner // 16 ImageB is cut into two and each part moves to the sides left and right // 17 ImageA is cut into two and each part moves from the sides left and right // 18 ImageB is cut into two and each part moves to the sides top and bottom // 19 ImageA is cut into two and each part moves from the sides top and bottom // 20 ImageB is cut into four and each part moves to the sides left and right and top and bottom // 21 ImageA is cut into four and each part moves from the sides left and right and top and bottom //============================================================================================ void Transition_Slide(int TransitionSubType,double PCT,QImage *ImageA,QImage *ImageB,QPainter *WorkingPainter,int DestImageWith,int DestImageHeight) { bool Reverse=((TransitionSubType<16) &&(TransitionSubType>=8))|| ((TransitionSubType>=16)&&((TransitionSubType & 0x1)>0)); if (Reverse) PCT=(1-PCT); QRect box1,box2,box3,box4,box5,box6,box7,box8; int BoxNum =(TransitionSubType<16)?1:(TransitionSubType<20)?2:3; int PCTW =int(PCT*double(DestImageWith)); int PCTH =int(PCT*double(DestImageHeight)); switch (TransitionSubType) { case 0 : case 8 : box1=QRect(DestImageWith-PCTW,0,PCTW,DestImageHeight); box2=QRect(0,0,PCTW,DestImageHeight); break; // Since left to right case 1 : case 9 : box1=QRect(0,0,PCTW,DestImageHeight); box2=QRect(DestImageWith-PCTW,0,PCTW,DestImageHeight); break; // Since right to left case 2 : case 10: box1=QRect(0,DestImageHeight-PCTH,DestImageWith,PCTH); box2=QRect(0,0,DestImageWith,PCTH); break; // Since up to down case 3 : case 11: box1=QRect(0,0,DestImageWith,PCTH); box2=QRect(0,DestImageHeight-PCTH,DestImageWith,PCTH); break; // Since down to up case 4 : case 12: box1=QRect(DestImageWith-PCTW,DestImageHeight-PCTH,PCTW,PCTH); box2=QRect(0,0,PCTW,PCTH); break; // Since the upper left corner case 5 : case 13: box1=QRect(0,DestImageHeight-PCTH,PCTW,PCTH); box2=QRect(DestImageWith-PCTW,0,PCTW,PCTH); break; // Since the upper right corner case 6 : case 14: box1=QRect(DestImageWith-PCTW,0,PCTW,PCTH); box2=QRect(0,DestImageHeight-PCTH,PCTW,PCTH); break; // Since the lower left corner case 7 : case 15: box1=QRect(0,0,PCTW,PCTH); box2=QRect(DestImageWith-PCTW,DestImageHeight-PCTH,PCTW,PCTH); break; // Since the lower right corner // Cut image and slide each part : 2 parts image case 16: case 17: PCTW=int(PCT*double(DestImageWith/2)); box1=QRect((DestImageWith/2)-PCTW,0,PCTW,DestImageHeight); box2=QRect(0,0,PCTW,DestImageHeight); // left part box3=QRect((DestImageWith/2),0,PCTW,DestImageHeight); box4=QRect(DestImageWith-PCTW,0,PCTW,DestImageHeight); // right part break; // Since left and right case 18: case 19: PCTH=int(PCT*double(DestImageHeight/2)); box1=QRect(0,(DestImageHeight/2)-PCTH,DestImageWith,PCTH); box2=QRect(0,0,DestImageWith,PCTH); // top part box3=QRect(0,(DestImageHeight/2),DestImageWith,PCTH); box4=QRect(0,DestImageHeight-PCTH,DestImageWith,PCTH); // bottom part break; // Since top and bottom // Cut image and slide each part : 4 parts image case 20: case 21: PCTW=int(PCT*double(DestImageWith/2)); PCTH=int(PCT*double(DestImageHeight/2)); box1=QRect((DestImageWith/2)-PCTW,(DestImageHeight/2)-PCTH,PCTW,PCTH); box2=QRect(0, 0,PCTW,PCTH); // left-top part box3=QRect((DestImageWith/2), (DestImageHeight/2)-PCTH,PCTW,PCTH); box4=QRect(DestImageWith-PCTW,0,PCTW,PCTH); // right part box5=QRect((DestImageWith/2)-PCTW,(DestImageHeight/2), PCTW,PCTH); box6=QRect(0, DestImageHeight-PCTH,PCTW,PCTH); // left-top part box7=QRect((DestImageWith/2), (DestImageHeight/2), PCTW,PCTH); box8=QRect(DestImageWith-PCTW,DestImageHeight-PCTH,PCTW,PCTH); // right part break; // Since top and bottom } // Draw transformed image if (!Reverse) { // Old image will desapear progressively during the second half time of the transition if (PCT<0.5) WorkingPainter->drawImage(0,0,*ImageA); else { WorkingPainter->setOpacity(1-(PCT-0.5)*2); WorkingPainter->drawImage(0,0,*ImageA); WorkingPainter->setOpacity(1); } } else { // New image will apear immediatly during the old image is moving out WorkingPainter->drawImage(0,0,*ImageB); } WorkingPainter->drawImage(box2,Reverse?*ImageA:*ImageB,box1); if (BoxNum>1) WorkingPainter->drawImage(box4,Reverse?*ImageA:*ImageB,box3); if (BoxNum>2) { WorkingPainter->drawImage(box6,Reverse?*ImageA:*ImageB,box5); WorkingPainter->drawImage(box8,Reverse?*ImageA:*ImageB,box7); } } //============================================================================================ // Push transition // 0 ImageB push ImageA Since left to right // 1 ImageB push ImageA Since right to left // 2 ImageB push ImageA Since up to down // 3 ImageB push ImageA Since down to up // 4 ImageB zoom in from border Left Center + ImageA zoom out to border Right Center // 5 ImageB zoom in from border Right Center + ImageA zoom out to border Left Center // 6 ImageB zoom in from border Top Center + ImageA zoom out to border bottom Center // 7 ImageB zoom in from border bottom Center + ImageA zoom out to border Top Center // 8 Rotating from y axis // 9 Rotating from y axis // 10 Rotating from x axis // 11 Rotating from x axis // 12 1/2 Rotating from y axis (flip) // 13 1/2 Rotating from y axis (flip) // 14 1/2 Rotating from x axis (flip) // 15 1/2 Rotating from x axis (flip) //============================================================================================ void Transition_Push(int TransitionSubType,double PCT,QImage *ImageA,QImage *ImageB,QPainter *WorkingPainter,int DestImageWith,int DestImageHeight) { QRect box1,box2; QRect box3,box4; QPoint box; int wt,ht; int PCTW=int(PCT*double(DestImageWith)); int PCTH=int(PCT*double(DestImageHeight)); int PCTWB=int((1-PCT)*double(DestImageWith)); int PCTHB=int((1-PCT)*double(DestImageHeight)); double Rotate,dw,dh; QImage Img; switch (TransitionSubType) { case 0 : // Since left to right box1=QRect(DestImageWith-PCTW,0,PCTW,DestImageHeight); box2=QRect(0,0,PCTW,DestImageHeight); box3=QRect(0,0,PCTWB,DestImageHeight); box4=QRect(DestImageWith-PCTWB,0,PCTWB,DestImageHeight); WorkingPainter->drawImage(box4,*ImageA,box3); WorkingPainter->drawImage(box2,*ImageB,box1); break; case 1 : // Since right to left box1=QRect(0,0,PCTW,DestImageHeight); box2=QRect(DestImageWith-PCTW,0,PCTW,DestImageHeight); box3=QRect(DestImageWith-PCTWB,0,PCTWB,DestImageHeight); box4=QRect(0,0,PCTWB,DestImageHeight); WorkingPainter->drawImage(box4,*ImageA,box3); WorkingPainter->drawImage(box2,*ImageB,box1); break; case 2 : // Since up to down box1=QRect(0,DestImageHeight-PCTH,DestImageWith,PCTH); box2=QRect(0,0,DestImageWith,PCTH); box3=QRect(0,0,DestImageWith,PCTHB); box4=QRect(0,DestImageHeight-PCTHB,DestImageWith,PCTHB); WorkingPainter->drawImage(box4,*ImageA,box3); WorkingPainter->drawImage(box2,*ImageB,box1); break; case 3 : // Since down to up box1=QRect(0,0,DestImageWith,PCTH); box2=QRect(0,DestImageHeight-PCTH,DestImageWith,PCTH); box3=QRect(0,DestImageHeight-PCTHB,DestImageWith,PCTHB); box4=QRect(0,0,DestImageWith,PCTHB); WorkingPainter->drawImage(box4,*ImageA,box3); WorkingPainter->drawImage(box2,*ImageB,box1); break; case 4 : // Enterring : zoom in from border Left Center - Previous image : zoom out to border Right Center wt=int(double(DestImageWith)*(1-PCT)); ht=int(double(DestImageHeight)*(1-PCT)); box=QPoint(DestImageWith-wt,(DestImageHeight-ht)/2); WorkingPainter->drawImage(box,ImageA->scaled(QSize(wt,ht),Qt::IgnoreAspectRatio,Qt::SmoothTransformation)); wt=int(double(DestImageWith)*PCT); ht=int(double(DestImageHeight)*PCT); box=QPoint(0,(DestImageHeight-ht)/2); WorkingPainter->drawImage(box,ImageB->scaled(QSize(wt,ht),Qt::IgnoreAspectRatio,Qt::SmoothTransformation)); break; case 5 : // Enterring : zoom in from border Right Center - Previous image : zoom out to border Left Center wt=int(double(DestImageWith)*(1-PCT)); ht=int(double(DestImageHeight)*(1-PCT)); box=QPoint(0,(DestImageHeight-ht)/2); WorkingPainter->drawImage(box,ImageA->scaled(QSize(wt,ht),Qt::IgnoreAspectRatio,Qt::SmoothTransformation)); wt=int(double(DestImageWith)*PCT); ht=int(double(DestImageHeight)*PCT); box=QPoint(DestImageWith-wt,(DestImageHeight-ht)/2); WorkingPainter->drawImage(box,ImageB->scaled(QSize(wt,ht),Qt::IgnoreAspectRatio,Qt::SmoothTransformation)); break; case 6 : // Enterring : zoom in from border Top Center - Previous image : zoom out to border bottom Center wt=int(double(DestImageWith)*(1-PCT)); ht=int(double(DestImageHeight)*(1-PCT)); box=QPoint((DestImageWith-wt)/2,DestImageHeight-ht); WorkingPainter->drawImage(box,ImageA->scaled(QSize(wt,ht),Qt::IgnoreAspectRatio,Qt::SmoothTransformation)); wt=int(double(DestImageWith)*PCT); ht=int(double(DestImageHeight)*PCT); box=QPoint((DestImageWith-wt)/2,0); WorkingPainter->drawImage(box,ImageB->scaled(QSize(wt,ht),Qt::IgnoreAspectRatio,Qt::SmoothTransformation)); break; case 7 : // Enterring : zoom in from border bottom Center - Previous image : zoom out to border Top Center wt=int(double(DestImageWith)*(1-PCT)); ht=int(double(DestImageHeight)*(1-PCT)); box=QPoint((DestImageWith-wt)/2,0); WorkingPainter->drawImage(box,ImageA->scaled(QSize(wt,ht),Qt::IgnoreAspectRatio,Qt::SmoothTransformation)); wt=int(double(DestImageWith)*PCT); ht=int(double(DestImageHeight)*PCT); box=QPoint((DestImageWith-wt)/2,DestImageHeight-ht); WorkingPainter->drawImage(box,ImageB->scaled(QSize(wt,ht),Qt::IgnoreAspectRatio,Qt::SmoothTransformation)); break; case 8 : // Rotating from y axis if (PCT<0.5) { Rotate=double(90)*(PCT*2); Img=RotateImage(0,Rotate,0,ImageA); } else { Rotate=double(-90)*((1-PCT)*2); Img=RotateImage(0,Rotate,0,ImageB); } dw=(double(DestImageWith)-double(Img.width()))/2; dh=(double(DestImageHeight)-double(Img.height()))/2; WorkingPainter->drawImage(QPointF(dw,dh),Img); break; case 9 : // Rotating from y axis if (PCT<0.5) { Rotate=double(-90)*(PCT*2); Img=RotateImage(0,Rotate,0,ImageA); } else { Rotate=double(90)*((1-PCT)*2); Img=RotateImage(0,Rotate,0,ImageB); } dw=(double(DestImageWith)-double(Img.width()))/2; dh=(double(DestImageHeight)-double(Img.height()))/2; WorkingPainter->drawImage(QPointF(dw,dh),Img); break; case 10 : // Rotating from x axis if (PCT<0.5) { Rotate=double(90)*(PCT*2); Img=RotateImage(Rotate,0,0,ImageA); } else { Rotate=double(-90)*((1-PCT)*2); Img=RotateImage(Rotate,0,0,ImageB); } dw=(double(DestImageWith)-double(Img.width()))/2; dh=(double(DestImageHeight)-double(Img.height()))/2; WorkingPainter->drawImage(QPointF(dw,dh),Img); break; case 11 : // Rotating from x axis if (PCT<0.5) { Rotate=double(-90)*(PCT*2); Img=RotateImage(Rotate,0,0,ImageA); } else { Rotate=double(90)*((1-PCT)*2); Img=RotateImage(Rotate,0,0,ImageB); } dw=(double(DestImageWith)-double(Img.width()))/2; dh=(double(DestImageHeight)-double(Img.height()))/2; WorkingPainter->drawImage(QPointF(dw,dh),Img); break; case 12 : // 1/2 Rotating from y axis (flip) dw=DestImageWith/2; WorkingPainter->drawImage(QRectF(0,0,dw,DestImageHeight),*ImageA,QRectF(0,0,dw,DestImageHeight)); WorkingPainter->drawImage(QRectF(dw,0,dw,DestImageHeight),*ImageB,QRectF(dw,0,dw,DestImageHeight)); if (PCT<0.5) { Rotate=double(90)*(PCT*2); Img=RotateImage(0,Rotate,0,ImageA); dw=(double(DestImageWith)-double(Img.width()))/2; dh=(double(DestImageHeight)-double(Img.height()))/2; WorkingPainter->drawImage(QRectF(DestImageWith/2,dh,Img.width()/2,Img.height()),Img,QRectF(Img.width()/2,0,Img.width()/2,Img.height())); } else { Rotate=double(-90)*((1-PCT)*2); Img=RotateImage(0,Rotate,0,ImageB); dw=(double(DestImageWith)-double(Img.width()))/2; dh=(double(DestImageHeight)-double(Img.height()))/2; WorkingPainter->drawImage(QRectF(dw,dh,Img.width()/2,Img.height()),Img,QRectF(0,0,Img.width()/2,Img.height())); } break; case 13 : // 1/2 Rotating from y axis (flip) dw=DestImageWith/2; WorkingPainter->drawImage(QRectF(0,0,dw,DestImageHeight),*ImageB,QRectF(0,0,dw,DestImageHeight)); WorkingPainter->drawImage(QRectF(dw,0,dw,DestImageHeight),*ImageA,QRectF(dw,0,dw,DestImageHeight)); if (PCT<0.5) { Rotate=double(-90)*(PCT*2); Img=RotateImage(0,Rotate,0,ImageA); dw=(double(DestImageWith)-double(Img.width()))/2; dh=(double(DestImageHeight)-double(Img.height()))/2; WorkingPainter->drawImage(QRectF(dw,dh,Img.width()/2,Img.height()),Img,QRectF(0,0,Img.width()/2,Img.height())); } else { Rotate=double(90)*((1-PCT)*2); Img=RotateImage(0,Rotate,0,ImageB); dw=(double(DestImageWith)-double(Img.width()))/2; dh=(double(DestImageHeight)-double(Img.height()))/2; WorkingPainter->drawImage(QRectF(DestImageWith/2,dh,Img.width()/2,Img.height()),Img,QRectF(Img.width()/2,0,Img.width()/2,Img.height())); } break; case 14 : // 1/2 Rotating from x axis (flip) dh=DestImageHeight/2; WorkingPainter->drawImage(QRectF(0,0,DestImageWith,dh),*ImageA,QRectF(0,0,DestImageWith,dh)); WorkingPainter->drawImage(QRectF(0,dh,DestImageWith,dh),*ImageB,QRectF(0,dh,DestImageWith,dh)); if (PCT<0.5) { Rotate=double(90)*(PCT*2); Img=RotateImage(Rotate,0,0,ImageA); dw=(double(DestImageWith)-double(Img.width()))/2; dh=(double(DestImageHeight)-double(Img.height()))/2; WorkingPainter->drawImage(QRectF(dw,DestImageHeight/2,Img.width(),Img.height()/2),Img,QRectF(0,Img.height()/2,Img.width(),Img.height()/2)); } else { Rotate=double(-90)*((1-PCT)*2); Img=RotateImage(Rotate,0,0,ImageB); dw=(double(DestImageWith)-double(Img.width()))/2; dh=(double(DestImageHeight)-double(Img.height()))/2; WorkingPainter->drawImage(QRectF(dw,dh,Img.width(),Img.height()/2),Img,QRectF(0,0,Img.width(),Img.height()/2)); } break; case 15 : // 1/2 Rotating from x axis (flip) dh=DestImageHeight/2; WorkingPainter->drawImage(QRectF(0,0,DestImageWith,dh),*ImageB,QRectF(0,0,DestImageWith,dh)); WorkingPainter->drawImage(QRectF(0,dh,DestImageWith,dh),*ImageA,QRectF(0,dh,DestImageWith,dh)); if (PCT<0.5) { Rotate=double(-90)*(PCT*2); Img=RotateImage(Rotate,0,0,ImageA); dw=(double(DestImageWith)-double(Img.width()))/2; dh=(double(DestImageHeight)-double(Img.height()))/2; WorkingPainter->drawImage(QRectF(dw,dh,Img.width(),Img.height()/2),Img,QRectF(0,0,Img.width(),Img.height()/2)); } else { Rotate=double(90)*((1-PCT)*2); Img=RotateImage(Rotate,0,0,ImageB); dw=(double(DestImageWith)-double(Img.width()))/2; dh=(double(DestImageHeight)-double(Img.height()))/2; WorkingPainter->drawImage(QRectF(dw,DestImageHeight/2,Img.width(),Img.height()/2),Img,QRectF(0,Img.height()/2,Img.width(),Img.height()/2)); } break; } } //============================================================================================ // Deform transition // 0 Reduces image A by enlarging the image B Since left to right // 1 Reduces image A by enlarging the image B Since right to left // 2 Reduces image A by enlarging the image B Since up to down // 3 Reduces image A by enlarging the image B Since down to up //============================================================================================ void Transition_Deform(int TransitionSubType,double PCT,QImage *ImageA,QImage *ImageB,QPainter *WorkingPainter,int DestImageWith,int DestImageHeight) { int PCTW=int(PCT*double(DestImageWith)); int PCTH=int(PCT*double(DestImageHeight)); int PCTWB=int((1-PCT)*double(DestImageWith)); int PCTHB=int((1-PCT)*double(DestImageHeight)); switch (TransitionSubType) { case 0 : // Since left to right WorkingPainter->drawImage(QRect(PCTW,0,DestImageWith-PCTW,DestImageHeight),*ImageA,QRect(0,0,DestImageWith,DestImageHeight)); WorkingPainter->drawImage(QRect(0,0,PCTW,DestImageHeight),*ImageB,QRect(0,0,DestImageWith,DestImageHeight)); break; case 1 : // Since right to left WorkingPainter->drawImage(QRect(0,0,PCTWB,DestImageHeight),*ImageA,QRect(0,0,DestImageWith,DestImageHeight)); WorkingPainter->drawImage(QRect(PCTWB,0,DestImageWith-PCTWB,DestImageHeight),*ImageB,QRect(0,0,DestImageWith,DestImageHeight)); break; case 2 : // Since up to down WorkingPainter->drawImage(QRect(0,PCTH,DestImageWith,DestImageHeight-PCTH),*ImageA,QRect(0,0,DestImageWith,DestImageHeight)); WorkingPainter->drawImage(QRect(0,0,DestImageWith,PCTH),*ImageB,QRect(0,0,DestImageWith,DestImageHeight)); break; case 3 : // Since down to up WorkingPainter->drawImage(QRect(0,0,DestImageWith,PCTHB),*ImageA,QRect(0,0,DestImageWith,DestImageHeight)); WorkingPainter->drawImage(QRect(0,PCTHB,DestImageWith,DestImageHeight-PCTHB),*ImageB,QRect(0,0,DestImageWith,DestImageHeight)); break; } } //============================================================================================ // Luma transition //============================================================================================ void Transition_Luma(QImage Luma,double PCT,QImage *ImageA,QImage *ImageB,QPainter *WorkingPainter,int DestImageWith,int DestImageHeight) { QImage Img =ImageB->copy(); // Apply PCTDone to luma mask u_int8_t limit =u_int8_t(PCT*double(0xff))+1; u_int32_t *LumaData=(u_int32_t *)Luma.bits(); u_int32_t *ImgData =(u_int32_t *)Img.bits(); u_int32_t *ImgData2=(u_int32_t *)ImageA->bits(); for (int i=0;ilimit) *ImgData=*ImgData2; ImgData++; ImgData2++; } // Draw transformed image WorkingPainter->drawImage(0,0,Img); } //============================================================================================ // Generic public function to do a transition //============================================================================================ void DoTransition(TRFAMILLY TransitionFamilly,int TransitionSubType,double PCT,QImage *ImageA,QImage *ImageB,QPainter *WorkingPainter,int DestImageWith,int DestImageHeight) { switch (TransitionFamilly) { case TRANSITIONFAMILLY_BASE : Transition_Basic( TransitionSubType,PCT,ImageA,ImageB,WorkingPainter,DestImageWith,DestImageHeight); break; case TRANSITIONFAMILLY_ZOOMINOUT : Transition_Zoom( TransitionSubType,PCT,ImageA,ImageB,WorkingPainter,DestImageWith,DestImageHeight); break; case TRANSITIONFAMILLY_PUSH : Transition_Push( TransitionSubType,PCT,ImageA,ImageB,WorkingPainter,DestImageWith,DestImageHeight); break; case TRANSITIONFAMILLY_SLIDE : Transition_Slide( TransitionSubType,PCT,ImageA,ImageB,WorkingPainter,DestImageWith,DestImageHeight); break; case TRANSITIONFAMILLY_DEFORM : Transition_Deform(TransitionSubType,PCT,ImageA,ImageB,WorkingPainter,DestImageWith,DestImageHeight); break; case TRANSITIONFAMILLY_LUMA_BAR : Transition_Luma(LumaList_Bar.List[TransitionSubType].GetLuma(ImageB->width(),ImageB->height()), PCT,ImageA,ImageB,WorkingPainter,DestImageWith,DestImageHeight); break; case TRANSITIONFAMILLY_LUMA_BOX : Transition_Luma(LumaList_Box.List[TransitionSubType].GetLuma(ImageB->width(),ImageB->height()), PCT,ImageA,ImageB,WorkingPainter,DestImageWith,DestImageHeight); break; case TRANSITIONFAMILLY_LUMA_CENTER : Transition_Luma(LumaList_Center.List[TransitionSubType].GetLuma(ImageB->width(),ImageB->height()), PCT,ImageA,ImageB,WorkingPainter,DestImageWith,DestImageHeight); break; case TRANSITIONFAMILLY_LUMA_CHECKER: Transition_Luma(LumaList_Checker.List[TransitionSubType].GetLuma(ImageB->width(),ImageB->height()),PCT,ImageA,ImageB,WorkingPainter,DestImageWith,DestImageHeight); break; case TRANSITIONFAMILLY_LUMA_CLOCK : Transition_Luma(LumaList_Clock.List[TransitionSubType].GetLuma(ImageB->width(),ImageB->height()), PCT,ImageA,ImageB,WorkingPainter,DestImageWith,DestImageHeight); break; case TRANSITIONFAMILLY_LUMA_SNAKE : Transition_Luma(LumaList_Snake.List[TransitionSubType].GetLuma(ImageB->width(),ImageB->height()), PCT,ImageA,ImageB,WorkingPainter,DestImageWith,DestImageHeight); break; } } ffDiaporama/src/ffDiaporama/engine/_StyleDefinitions.h0000777000175000001440000001237712275647323023305 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef _STYLEDEFINITIONS_H #define _STYLEDEFINITIONS_H // Basic inclusions (common to all files) #include "_GlobalDefines.h" //#include "cDeviceModelDef.h" // Include some additional standard class #include //============================================ // Define styles name used in xml file //============================================ #define STYLENAME_TEXTSTYLE "TextStyleCollection" #define STYLENAME_BACKGROUNDSTYLE "TextBackgroundStyleCollection" #define STYLENAME_COORDINATESTYLE "StyleCoordinateCollection" #define STYLENAME_BLOCKSHAPESTYLE "StyleBlockShapeCollection" // this class is define later class cApplicationConfig; //============================================ // Style collection item definition //============================================ class cStyleCollectionItem { public: bool FromGlobalConf; // true if device model is defined in global config file bool FromUserConf; // true if device model is defined in user config file bool IsFind; // true if device model format is supported by installed version of libav int StyleIndex; // Style number index key QString StyleName; // Long name for the style QString StyleDef; // Style definition // Save value to be able to reset to default QString BckStyleName; // Backup value for style name (use for reset to global conf) QString BckStyleDef; // Backup value for style definition (use for reset to global conf) cStyleCollectionItem(bool IsGlobalConf,int IndexKey,QString StyleName,QString StyleDef); cStyleCollectionItem(cStyleCollectionItem *Item); ~cStyleCollectionItem(); void SaveToXML(QDomElement &domDocument,QString ElementName); bool LoadFromXML(QDomElement domDocument,QString ElementName,bool IsUserConfigFile,bool MustCheck); QString GetFilteredPart(); }; //============================================ // Style collection definition //============================================ class cStyleCollection { public: QString CollectionName; // Collection name QList Collection; // Collection items bool GeometryFilter; // True if GeometryFilter is ON QString ActiveFilter; cStyleCollection *SourceCollection; // SourceCollection if collection is an undo object cStyleCollection(); ~cStyleCollection(); void SaveToXML(QDomElement &root); void LoadFromXML(QDomElement root,LoadConfigFileType TypeConfigFile); void SetProjectGeometryFilter(ffd_GEOMETRY Geometry); void SetImageGeometryFilter(ffd_GEOMETRY ProjectGeometry,int ImageGeometry); void SortList(); QString GetStyleName(QString StyleDef); QString GetStyleDef(QString StyleName); void FillCollectionCB(QComboBox *CB,QString ActualStyleName); QString PopupCollectionMenu(QWidget *ParentWindow,cApplicationConfig *BaseApplicationConfig,QString ActualStyleDef); void UpdateExistingStyle(QString StyleName,QString ActualStyleDef); void CreateNewStyle(QWidget *ParentWindow,QString ActualStyleDef); void ManageExistingStyle(QWidget *ParentWindow,cApplicationConfig *BaseApplicationConfig); void StringToStringList(QString String,QStringList &List); void StringDefToStringList(QString String,QStringList &List); void DoTranslateCollection(); QString DecodeString(QString String); QString EncodeString(QComboBox *CB,ffd_GEOMETRY ProjectGeometry,int ImageGeometry); cStyleCollection *PrepUndo(); void ApplyUndo(cStyleCollection *UndoCollection); }; #endif // _STYLEDEFINITIONS_H ffDiaporama/src/ffDiaporama/engine/_StyleDefinitions.cpp0000777000175000001440000005721012275647324023634 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include #include #include #include "DlgManageStyle/DlgManageStyle.h" #define ICON_FRAMING_CUSTOM ":/img/action_cancel.png" #define ICON_FRAMING_FULL ":/img/AdjustWH.png" #define ICON_FRAMING_WIDTH ":/img/AdjustW.png" #define ICON_FRAMING_HEIGHT ":/img/AdjustH.png" #define ICON_GLOBALCONF ":/img/db.png" #define ICON_USERCONF ":/img/db_update.png" bool toAssending(const cStyleCollectionItem &Item1 ,const cStyleCollectionItem &Item2) { return Item1.StyleName.toUpper()FromGlobalConf; FromUserConf =Item->FromUserConf; IsFind =Item->IsFind; StyleIndex =Item->StyleIndex; StyleName =Item->StyleName; StyleDef =Item->StyleDef; BckStyleName =Item->BckStyleName; BckStyleDef =Item->BckStyleDef; } //************************************************ cStyleCollectionItem::~cStyleCollectionItem() { } //************************************************ void cStyleCollectionItem::SaveToXML(QDomElement &domDocument,QString ElementName) { QDomDocument DomDocument; QDomElement Element=DomDocument.createElement(ElementName); Element.setAttribute("StyleIndex", StyleIndex); Element.setAttribute("StyleName", StyleName); Element.setAttribute("BckStyleName", BckStyleName); Element.setAttribute("StyleDefinition", StyleDef); domDocument.appendChild(Element); } //************************************************ bool cStyleCollectionItem::LoadFromXML(QDomElement domDocument,QString ElementName,bool IsUserConfigFile,bool MustCheck) { if ((domDocument.elementsByTagName(ElementName).length()>0)&&(domDocument.elementsByTagName(ElementName).item(0).isElement()==true)) { QDomElement Element=domDocument.elementsByTagName(ElementName).item(0).toElement(); // Ensure BckStyleName is corresponding. Elsewhere return false if ((MustCheck)&&(Element.hasAttribute("BckStyleName"))&&((Element.attribute("BckStyleName")=="")||(Element.attribute("BckStyleName")!=BckStyleName))) return false; if (IsUserConfigFile) FromUserConf=true; StyleName=Element.attribute("StyleName"); StyleDef =Element.attribute("StyleDefinition"); #ifdef Q_OS_WIN if (StyleDef.endsWith("###FontName:Serif")) StyleDef.replace("###FontName:Serif","###FontName:Times New Roman"); if (StyleDef.endsWith("###FontName:Sans Serif")) StyleDef.replace("###FontName:Sans Serif","###FontName:Arial"); #endif if (FromUserConf==false) { BckStyleName=StyleName; BckStyleDef =StyleDef; } return true; } else return false; } //************************************************ QString cStyleCollectionItem::GetFilteredPart() { QString FilterPart=""; QString Name=StyleName; for (int k=0;k<2;k++) { if (Name.startsWith("3:2-")) { Name=Name.mid(QString("3:2-").length()); FilterPart=FilterPart+"3:2-"; } else if (Name.startsWith("2:3-")) { Name=Name.mid(QString("2:3-").length()); FilterPart=FilterPart+"2:3-"; } else if (Name.startsWith("4:3-")) { Name=Name.mid(QString("4:3-").length()); FilterPart=FilterPart+"4:3-"; } else if (Name.startsWith("3:4-")) { Name=Name.mid(QString("3:4-").length()); FilterPart=FilterPart+"3:4-"; } else if (Name.startsWith("16:9-")) { Name=Name.mid(QString("16:9-").length()); FilterPart=FilterPart+"16:9-"; } else if (Name.startsWith("9:16-")) { Name=Name.mid(QString("9:16-").length()); FilterPart=FilterPart+"9:16-"; } else if (Name.startsWith("40:17-")) { Name=Name.mid(QString("40:17-").length()); FilterPart=FilterPart+"40:17-"; } else if (Name.startsWith("2.35:1-")) { Name=Name.mid(QString("2.35:1-").length()); FilterPart=FilterPart+"2.35:1-"; } else if (Name.startsWith("17:40-")) { Name=Name.mid(QString("17:40-").length()); FilterPart=FilterPart+"17:40-"; } } return FilterPart; } //==================================================================================================================== cStyleCollection::cStyleCollection() { GeometryFilter =false; SourceCollection=NULL; } //************************************************ cStyleCollection::~cStyleCollection() { } //************************************************ cStyleCollection *cStyleCollection::PrepUndo() { cStyleCollection *UndoCollection=new cStyleCollection(); UndoCollection->SourceCollection=this; UndoCollection->CollectionName =CollectionName; UndoCollection->GeometryFilter =GeometryFilter; UndoCollection->ActiveFilter =ActiveFilter; for (int i=0;iCollection.append(new cStyleCollectionItem(Collection[i])); return UndoCollection; } //************************************************ void cStyleCollection::ApplyUndo(cStyleCollection *UndoCollection) { Collection.clear(); for (int i=0;iCollection.count();i++) Collection.append(new cStyleCollectionItem(UndoCollection->Collection[i])); } //************************************************ void cStyleCollection::SortList() { qSort(Collection.begin(),Collection.end(),toAssending); } //************************************************ QString cStyleCollection::GetStyleName(QString StyleDef) { int i=0; if (GeometryFilter) while ((i0) root.appendChild(Element); } //************************************************ void cStyleCollection::LoadFromXML(QDomElement root,LoadConfigFileType TypeConfigFile) { if ((root.elementsByTagName(CollectionName).length()>0)&&(root.elementsByTagName(CollectionName).item(0).isElement()==true)) { QDomElement Element=root.elementsByTagName(CollectionName).item(0).toElement(); int i=0; while ((Element.elementsByTagName(CollectionName+QString("Item_%1").arg(i)).length()>0)&&(root.elementsByTagName(CollectionName+QString("Item_%1").arg(i)).item(0).isElement()==true)) { if (TypeConfigFile==GLOBALCONFIGFILE) { // Reading from global config file : append device Collection.append(cStyleCollectionItem(TypeConfigFile==GLOBALCONFIGFILE,i,"","")); Collection[i].LoadFromXML(Element,QString(CollectionName+QString("Item_%1").arg(i)),false,false); Collection[i].BckStyleName=Collection[i].StyleName; } else { // Reading from user config file : search if Style already exist, then load it else append a new one QString ElementName=QString(CollectionName+QString("Item_%1").arg(i)); if ((root.elementsByTagName(ElementName).length()>0)&&(root.elementsByTagName(ElementName).item(0).isElement()==true)) { QDomElement TheElement=root.elementsByTagName(ElementName).item(0).toElement(); int IndexKey=TheElement.attribute("StyleIndex").toInt(); int j=0; while ((jsetUpdatesEnabled(false); CB->clear(); for (int i=0;iaddItem(Collection[i].FromUserConf?QIcon(ICON_USERCONF):QIcon(ICON_GLOBALCONF),Collection[i].StyleName); if (ActualStyleName==Collection[i].StyleName) CB->setCurrentIndex(i); } //if (CB->view()->width()!=500) CB->view()->setFixedWidth(500); if (!CB->updatesEnabled()) CB->setUpdatesEnabled(true); } //************************************************ QString cStyleCollection::PopupCollectionMenu(QWidget *ParentWindow,cApplicationConfig *BaseApplicationConfig,QString ActualStyleDef) { QString Item=""; bool IsStyleFound =false; QMenu *ContextMenu =new QMenu(ParentWindow); QMenu *UpdateMenu =new QMenu(ParentWindow); QAction *ActionCreate=new QAction(QApplication::translate("DlgManageStyle","Create new style"),ParentWindow); ActionCreate->setFont(QFont("Sans Serif",9)); QAction *ActionManage=new QAction(QApplication::translate("DlgManageStyle","Manage existing style"),ParentWindow); ActionManage->setFont(QFont("Sans Serif",9)); ContextMenu->setFont(QFont("Sans Serif",9)); ActionCreate->setFont(QFont("Sans Serif",9)); ActionManage->setFont(QFont("Sans Serif",9)); UpdateMenu->setTitle(QApplication::translate("DlgManageStyle","Update existing style")); UpdateMenu->setFont(QFont("Sans Serif",9)); for (int i=0;isetIconVisibleInMenu(true); NormalAction->setFont(QFont("Sans Serif",9)); NormalAction->setToolTip(QApplication::translate("DlgManageStyle","Select this style")); if (Collection[i].StyleDef==ActualStyleDef) { NormalAction->setText("*"+NormalAction->text()); IsStyleFound=true; } ContextMenu->addAction(NormalAction); QAction *UpdateAction=new QAction(Collection[i].FromUserConf?QIcon(ICON_USERCONF):QIcon(ICON_GLOBALCONF),Item,ParentWindow); UpdateAction->setIconVisibleInMenu(true); UpdateAction->setFont(QFont("Sans Serif",9)); UpdateAction->setToolTip(QApplication::translate("DlgManageStyle","Update this style")); UpdateMenu->addAction(UpdateAction); } ContextMenu->addSeparator(); ContextMenu->addAction(ActionCreate); ContextMenu->addMenu(UpdateMenu); ContextMenu->addAction(ActionManage); if (IsStyleFound) { ActionCreate->setEnabled(false); UpdateMenu->setEnabled(false); } QAction *Ret=ContextMenu->exec(QCursor::pos()); Item=""; if (Ret!=NULL) { if (Ret==ActionCreate) CreateNewStyle(ParentWindow,ActualStyleDef); else if (Ret==ActionManage) ManageExistingStyle(ParentWindow,BaseApplicationConfig); else if (Ret->toolTip()==QApplication::translate("DlgManageStyle","Update this style")) UpdateExistingStyle((GeometryFilter?ActiveFilter:"")+Ret->text(),ActualStyleDef); else Item=/*(GeometryFilter?ActiveFilter:"")+*/Ret->text(); } delete ContextMenu; delete UpdateMenu; delete ActionCreate; delete ActionManage; return Item; } //************************************************ void cStyleCollection::UpdateExistingStyle(QString StyleName,QString ActualStyleDef) { int i=0; while ((iStyleIndex) StyleIndex=Collection[i].StyleIndex; StyleIndex++; Collection.append(cStyleCollectionItem(false,StyleIndex,Text,ActualStyleDef)); } } } SortList(); } //************************************************ void cStyleCollection::ManageExistingStyle(QWidget *ParentWindow,cApplicationConfig *BaseApplicationConfig) { DlgManageStyle Dlg(this,(cApplicationConfig *)BaseApplicationConfig,ParentWindow); Dlg.InitDialog(); Dlg.exec(); } //************************************************ void cStyleCollection::StringToStringList(QString Item,QStringList &List) { int i=0; while ((icurrentText(); SetImageGeometryFilter(ProjectGeometry,ImageGeometry); if (GeometryFilter) CurStyleName=ActiveFilter+CurStyleName; int i=0; while ((i This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef _SDL_SUPPORT_H #define _SDL_SUPPORT_H // Basic inclusions (common to all files) #include "_GlobalDefines.h" // SDL Library extern "C" { #ifdef _MSC_VER #include #else #include #endif } // Include some common various class #include "cSoundBlockList.h" // Functions to manage SDL library void SDLAudioCallback(void *,u_int8_t *stream,int len); void SDLFirstInit(double WantedDuration,bool SDLAncMode,int64_t SamplingRate); void SDLLastClose(); void SDLSetFPS(double WantedDuration,bool SDLAncMode,int64_t SamplingRate); void SDLFlushBuffers(); // SDL Version of the class cSDLSoundBlockList : public cSoundBlockList { public: explicit cSDLSoundBlockList(); virtual int16_t *DetachFirstPacket(); virtual void AppendPacket(int64_t Position,int16_t *PacketToAdd); }; // SDL global define values extern bool SDLIsAudioOpen; // true if SDL work at least one time extern SDL_AudioSpec AudioSpec; // SDL param bloc extern cSDLSoundBlockList MixedMusic; // Sound to play #endif // _SDL_SUPPORT_H ffDiaporama/src/ffDiaporama/engine/_SDL_Support.cpp0000777000175000001440000001723312275647324022517 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "_SDL_Support.h" #include "CustomCtrl/_QCustomDialog.h" //********************************************************************************************************************************************* // SDL global define values //********************************************************************************************************************************************* bool SDLIsAudioOpen=false; // true if SDL work at least one time SDL_AudioSpec AudioSpec; // SDL param bloc cSDLSoundBlockList MixedMusic; // Sound to play u_int8_t SDLBuf[MAXSOUNDPACKETSIZE*2]; int32_t SDLBufSize=0; //********************************************************************************************************************************************* // SDL Audio Call Back //********************************************************************************************************************************************* void SDLAudioCallback(void *,u_int8_t *stream,int len) { SDLIsAudioOpen=true; while (SDLBufSize=len) { memcpy(stream,SDLBuf,len); memcpy(SDLBuf,SDLBuf+len,SDLBufSize-len); SDLBufSize-=len; } } //********************************************************************************************************************************************* void SDLFlushBuffers() { SDLBufSize=0; } //********************************************************************************************************************************************* // SDL Init/Reinit function //********************************************************************************************************************************************* void SDLFirstInit(double WantedDuration,bool SDLAncMode,int64_t SamplingRate) { // Start SDL if (SDL_Init(SDL_INIT_AUDIO)) { CustomMessageBox(NULL,QMessageBox::Critical,QApplication::translate("MainWindow","Error during startup"), QApplication::translate("MainWindow","Error during initialisation of sound system. Check your configuration and try again"), QMessageBox::Close,QMessageBox::Close); ToLog(LOGMSG_CRITICAL,QString("SDLFirstInit=Could not initialize SDL :%1").arg(SDL_GetError())); //exit(1); // ExitApplicationWithFatalError } SDLSetFPS(WantedDuration,SDLAncMode,SamplingRate); } //********************************************************************************************************************************************* // SDL Close function //********************************************************************************************************************************************* void SDLLastClose() { if (SDLIsAudioOpen) { SDL_CloseAudio(); // Close audio SDLIsAudioOpen=false; SDL_Quit(); // Close library } } //********************************************************************************************************************************************* // SDLSetFPS function //********************************************************************************************************************************************* void SDLSetFPS(double WantedDuration,bool SDLAncMode,int64_t SamplingRate) { SDLFlushBuffers(); SDL_CloseAudio(); // Close audio // Init MixedMusic MixedMusic.ClearList(); // Free sound buffers MixedMusic.SetFPS(WantedDuration,2,SamplingRate,AV_SAMPLE_FMT_S16); // Init SDL SDL_AudioSpec Desired; Desired.channels=MixedMusic.Channels; // Number of chanels Desired.format =AUDIO_S16SYS; // Sound format (pcm16le) Desired.freq =MixedMusic.SamplingRate; // Frequency in Hz Desired.userdata=NULL; // userdata parameter : not used Desired.callback=SDLAudioCallback; // Link to callback function Desired.samples =MixedMusic.SoundPacketSize/MixedMusic.Channels; // In samples unit * chanels number for Linux version Desired.size =Desired.samples*2; Desired.padding =0; Desired.silence =0; if (!SDLAncMode) Desired.samples/=MixedMusic.SampleBytes; // New SDL use byte instead of sample AudioSpec=Desired; bool Error=false; if (SDL_OpenAudio(&Desired,&AudioSpec)<0) Error=true; if (Error) { CustomMessageBox(NULL,QMessageBox::Critical,QApplication::translate("MainWindow","Error during startup"), QApplication::translate("MainWindow","Error during initialisation of sound system. Check your configuration and try again"), QMessageBox::Close,QMessageBox::Close); ToLog(LOGMSG_CRITICAL,QString("SDLFirstInit=Error in SDL_OpenAudio:%1").arg(SDL_GetError())); //exit(1); // ExitApplicationWithFatalError } } //==================================================================================================================== // Construct block list -> SDL Version //==================================================================================================================== cSDLSoundBlockList::cSDLSoundBlockList():cSoundBlockList() { } //==================================================================================================================== // Detach the first packet of the list (do not make av_free) -> SDL Version //==================================================================================================================== int16_t *cSDLSoundBlockList::DetachFirstPacket() { SDL_LockAudio(); int16_t *Ret=cSoundBlockList::DetachFirstPacket(); SDL_UnlockAudio(); return Ret; } //==================================================================================================================== // Append a packet to the end of the list -> SDL Version //==================================================================================================================== void cSDLSoundBlockList::AppendPacket(int64_t Position,int16_t *PacketToAdd) { SDL_LockAudio(); cSoundBlockList::AppendPacket(Position,PacketToAdd); SDL_UnlockAudio(); } ffDiaporama/src/ffDiaporama/engine/_Model.h0000777000175000001440000000676412275647324021055 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef _MODEL_H #define _MODEL_H // Basic inclusions (common to all files) #include "engine/_GlobalDefines.h" #include "cBaseAppConfig.h" #include enum ffd_MODELTYPE { ffd_MODELTYPE_THUMBNAIL, ffd_MODELTYPE_PROJECTTITLE, ffd_MODELTYPE_CHAPTERTITLE, ffd_MODELTYPE_CREDITTITLE }; // Number of categorie by type #define MODELTYPE_PROJECTTITLE_CATNUMBER 3 #define MODELTYPE_CHAPTERTITLE_CATNUMBER 3 #define MODELTYPE_CREDITTITLE_CATNUMBER 2 class cApplicationConfig; class cDiaporama; class cDiaporamaObject; class cModelList; class cModelListItem : public QObject { Q_OBJECT public: cModelList *Parent; QDomDocument Model; QString Name; QString FileName; QSize ThumbnailSize; bool IsCustom; int64_t Duration; QList ResKeyList; // Ressource key mapping table explicit cModelListItem(cModelList *Parent,QString FileName,QSize ThumbnailSize); ~cModelListItem(); QDomDocument LoadModelFile(ffd_MODELTYPE TypeModel,QString ModelFileName); QImage PrepareImage(int64_t Position,cDiaporama *Diaporama,cDiaporamaObject *DiaporamaObjectToUse,QSize *ForcedThumbnailSize=NULL); }; class cModelList : public QObject { Q_OBJECT public: cApplicationConfig *ApplicationConfig; ffd_MODELTYPE ModelType; ffd_GEOMETRY ProjectGeometry; QString StandardModelPath; QString CustomModelPath; QString ModelSuffix; QList List; QSize ThumbnailSize; int64_t *NextNumber; int DigitCategorie; QString NameCategorie; explicit cModelList(cApplicationConfig *ApplicationConfig,ffd_MODELTYPE ModelType,int64_t *NextNumber,ffd_GEOMETRY ProjectGeometry,int DigitCategorie,QString NameCategorie); ~cModelList(); int SearchModel(QString ModelName); void FillModelType(ffd_MODELTYPE ModelType); cModelListItem *AppendCustomModel(); void RemoveCustomModel(); QDomDocument GetModelDocument(QString ModelName); }; #endif // _MODEL_H ffDiaporama/src/ffDiaporama/engine/_Model.cpp0000777000175000001440000005003712275647323021377 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ // Specific inclusions #include "CustomCtrl/_QCustomDialog.h" #include "_Model.h" #include "cApplicationConfig.h" #include "_Diaporama.h" #define ICON_CUSTOMIZEDSLIDE ":/img/action_edit.png" #define ICON_CUSTOMMODEL ":/img/color.png" //============================================================================================================================= cModelListItem::cModelListItem(cModelList *Parent,QString FileName,QSize ThumbnailSize):QObject(Parent) { this->Parent =Parent; this->FileName =FileName=="*"?"":FileName; this->ThumbnailSize =ThumbnailSize; Name =FileName=="*"?FileName:QFileInfo(FileName).baseName(); IsCustom =FileName=="*"?true:!FileName.startsWith(ModelFolder); if (FileName!="*") Model=LoadModelFile(Parent->ModelType,FileName); // Compute Duration if (Parent->ModelType==ffd_MODELTYPE_THUMBNAIL) { Duration=0; } else { cDiaporama *Diaporama=new cDiaporama(Parent->ApplicationConfig,false,this); Diaporama->List.append(new cDiaporamaObject(Diaporama)); Diaporama->List[0]->LoadModelFromXMLData(Parent->ModelType,Model,&ResKeyList,false); Duration=Diaporama->List[0]->GetDuration(); delete Diaporama; } } //============================================================================================================================= QImage cModelListItem::PrepareImage(int64_t Position,cDiaporama *DiaporamaToUse,cDiaporamaObject *DiaporamaObjectToUse,QSize *ForcedThumbnailSize) { QImage Thumb; cDiaporama *Diaporama =DiaporamaObjectToUse?DiaporamaObjectToUse->Parent:NULL; cDiaporamaObject *DiaporamaObject=DiaporamaObjectToUse; if (!Diaporama) { Diaporama=new cDiaporama(Parent->ApplicationConfig,false,this); if (!DiaporamaToUse) { Diaporama->ProjectInfo->Title =QApplication::translate("cModelList","Project title"); Diaporama->ProjectInfo->Album =QApplication::translate("cModelList","Project album"); Diaporama->ProjectInfo->Author =QApplication::translate("cModelList","Project author"); Diaporama->ProjectInfo->Comment=QApplication::translate("cModelList","Project comment"); } else { Diaporama->ProjectInfo->Title =DiaporamaToUse->ProjectInfo->Title; Diaporama->ProjectInfo->Album =DiaporamaToUse->ProjectInfo->Album; Diaporama->ProjectInfo->Author =DiaporamaToUse->ProjectInfo->Author; Diaporama->ProjectInfo->Comment =DiaporamaToUse->ProjectInfo->Comment; Diaporama->ProjectInfo->EventDate =DiaporamaToUse->ProjectInfo->EventDate; Diaporama->ProjectInfo->OverrideDate=DiaporamaToUse->ProjectInfo->OverrideDate; Diaporama->ProjectInfo->LongDate =DiaporamaToUse->ProjectInfo->LongDate; Diaporama->ProjectInfo->Duration =DiaporamaToUse->ProjectInfo->Duration; Diaporama->ProjectInfo->NbrSlide =DiaporamaToUse->ProjectInfo->NbrSlide; Diaporama->ProjectInfo->NbrChapters =DiaporamaToUse->ProjectInfo->NbrChapters; } } if (!DiaporamaObject) { Diaporama->List.append(new cDiaporamaObject(Diaporama)); if (Parent->ModelType==ffd_MODELTYPE_THUMBNAIL) { DiaporamaObject=Diaporama->ProjectThumbnail; if (Name!="*") DiaporamaObject->LoadModelFromXMLData(Parent->ModelType,Model,&ResKeyList,false); } else { DiaporamaObject=Diaporama->List[0]; DiaporamaObject->StartNewChapter =true; DiaporamaObject->ChapterName =QApplication::translate("cModelList","Chapter title"); DiaporamaObject->OverrideProjectEventDate=true; DiaporamaObject->ChapterEventDate =QDate::currentDate(); DiaporamaObject->OverrideChapterLongDate =true; DiaporamaObject->ChapterLongDate =FormatLongDate(Diaporama->List[0]->ChapterEventDate); DiaporamaObject->LoadModelFromXMLData(Parent->ModelType,Model,&ResKeyList,false); } } else { DiaporamaObject->ChapterName=QApplication::translate("cModelList","Chapter title"); if (Parent->ModelType==ffd_MODELTYPE_THUMBNAIL) { if (Name!="*") DiaporamaObject->LoadModelFromXMLData(Parent->ModelType,Model,&ResKeyList,false); } else { DiaporamaObject->SlideName=QString("<%AUTOTS_%1%>").arg(Name); DiaporamaObject->LoadModelFromXMLData(Parent->ModelType,Model,&ResKeyList,false); } } //**************** Compute CurShot cDiaporamaObjectInfo *Info =new cDiaporamaObjectInfo(); Info->CurrentObject =DiaporamaObject; Info->CurrentObject_InObjectTime=Position; // calculate wich sequence in the current object is int CurPos =0; while ((Info->CurrentObject_ShotSequenceNumberCurrentObject->List.count()-1)&&((CurPos+DiaporamaObject->List[Info->CurrentObject_ShotSequenceNumber]->StaticDuration)<=Position)) { CurPos=CurPos+DiaporamaObject->List[Info->CurrentObject_ShotSequenceNumber]->StaticDuration; Info->CurrentObject_ShotSequenceNumber++; } Info->CurrentObject_CurrentShot=DiaporamaObject->List[Info->CurrentObject_ShotSequenceNumber]; if (Info->CurrentObject_ShotSequenceNumberList.count()-1) Info->CurrentObject_ShotDuration=Info->CurrentObject_CurrentShot->StaticDuration; else Info->CurrentObject_ShotDuration=Info->CurrentObject_CurrentShot->Parent->GetDuration()-CurPos; // calculate CurrentObject_PCTDone Info->CurrentObject_PCTDone=(double(Position)-double(CurPos))/(double(Info->CurrentObject_ShotDuration)); //**************** Draw image Thumb=QImage(ForcedThumbnailSize?*ForcedThumbnailSize:ThumbnailSize,QImage::Format_ARGB32_Premultiplied); //ICI:************** Ajouter le chargement du fond !!!!!!! Thumb.fill(Qt::black); QPainter P; P.begin(&Thumb); P.setRenderHints(QPainter::Antialiasing|QPainter::TextAntialiasing|QPainter::SmoothPixmapTransform|QPainter::HighQualityAntialiasing|QPainter::NonCosmeticDefaultPen); P.setCompositionMode(QPainter::CompositionMode_SourceOver); QListPreparedBrushList; int ShotNumber =Info->CurrentObject_ShotSequenceNumber; cDiaporamaShot *PreviousShot=(ShotNumber>0?DiaporamaObject->List[ShotNumber-1]:NULL); // Construct collection for (int j=0;jCurrentObject_CurrentShot->ShotComposition.List.count();j++) PreparedBrushList.append(new cCompositionObjectContext(j,true,true,Info,Thumb.width(),Thumb.height()+1, Info->CurrentObject_CurrentShot,PreviousShot,NULL,0,0,this)); // Compute each item of the collection for (int aa=0;aaCompute(); // Draw collection for (int j=0;jCurrentObject_CurrentShot->ShotComposition.List.count();j++) { Info->CurrentObject_CurrentShot->ShotComposition.List[j]->DrawCompositionObject(DiaporamaObject,&P,double(Thumb.height())/double(1080), Thumb.width(), Thumb.height(), PreparedBrushList[j]->PreviewMode, PreparedBrushList[j]->VideoPosition+PreparedBrushList[j]->StartPosToAdd, PreparedBrushList[j]->SoundTrackMontage, PreparedBrushList[j]->BlockPctDone,PreparedBrushList[j]->ImagePctDone, PreparedBrushList[j]->PrevCompoObject,100, true,false,0,0,0,0,false,PreparedBrushList[j]); } PreparedBrushList.clear(); // Add custom model of customized icon if needed if (IsCustom && (!ForcedThumbnailSize)) { if (Name=="*") P.drawImage(Thumb.width()-26,Thumb.height()-26,QImage(ICON_CUSTOMIZEDSLIDE)); else P.drawImage(Thumb.width()-26,Thumb.height()-26,QImage(ICON_CUSTOMMODEL)); } P.end(); delete Info; //**************** Cleaning if (!DiaporamaObjectToUse) delete Diaporama; return Thumb; } //============================================================================================================================= cModelListItem::~cModelListItem() { } //============================================================================================================================= QDomDocument cModelListItem::LoadModelFile(ffd_MODELTYPE TypeModel,QString ModelFileName) { QFile file(ModelFileName); QString errorStr,ErrorMsg; int errorLine,errorColumn; QDomDocument domDocument; if (!file.open(QFile::ReadOnly | QFile::Text)) { switch (TypeModel) { case ffd_MODELTYPE_THUMBNAIL: ErrorMsg=QApplication::translate("cModelList","Error reading default thumbnail file","Error message"); break; case ffd_MODELTYPE_PROJECTTITLE: case ffd_MODELTYPE_CHAPTERTITLE: case ffd_MODELTYPE_CREDITTITLE: ErrorMsg=QApplication::translate("cModelList","Error reading title model file","Error message"); break; } ErrorMsg=ErrorMsg+"\n"+ModelFileName; CustomMessageBox(NULL,QMessageBox::Critical,QApplication::translate("cModelList","Error","Error message"),ErrorMsg,QMessageBox::Close); } else { QTextStream InStream(&file); QString ffDPart; QString OtherPart="\n"; bool EndffDPart=false; InStream.setCodec("UTF-8"); while (!InStream.atEnd()) { QString Line=InStream.readLine(); if (!EndffDPart) { ffDPart.append(Line); if (Line=="") EndffDPart=true; } else { OtherPart.append(Line); if (Line.endsWith("/>")) { QDomDocument ResDoc; if (ResDoc.setContent(OtherPart,true,&errorStr,&errorLine,&errorColumn)) { QDomElement ResElem=ResDoc.documentElement(); if (ResElem.tagName()=="Ressource") { int Width =ResElem.attribute("Width").toInt(); int Height =ResElem.attribute("Height").toInt(); qlonglong Key =ResElem.attribute("Key").toLongLong(); QImage Thumb(Width,Height,QImage::Format_ARGB32_Premultiplied); QByteArray Compressed =QByteArray::fromHex(ResElem.attribute("Image").toUtf8()); QByteArray Decompressed =qUncompress(Compressed); Thumb.loadFromData(Decompressed); ResKeyList.append(Parent->ApplicationConfig->SlideThumbsTable->AppendThumbs(Key,Thumb)); } } // Go to next ressource OtherPart="\n"; } } } file.close(); // Now import ffDPart if (!domDocument.setContent(ffDPart, true, &errorStr, &errorLine,&errorColumn)) { switch (TypeModel) { case ffd_MODELTYPE_THUMBNAIL: ErrorMsg=QApplication::translate("cModelList","Error reading content of default thumbnail file","Error message"); break; case ffd_MODELTYPE_PROJECTTITLE: case ffd_MODELTYPE_CHAPTERTITLE: case ffd_MODELTYPE_CREDITTITLE: ErrorMsg=QApplication::translate("cModelList","Error reading content of title model file","Error message"); break; } ErrorMsg=ErrorMsg+"\n"+ModelFileName; CustomMessageBox(NULL,QMessageBox::Critical,QApplication::translate("cModelList","Error","Error message"),ErrorMsg,QMessageBox::Close); } } return domDocument; } //============================================================================================================================= cModelList::cModelList(cApplicationConfig *ApplicationConfig,ffd_MODELTYPE ModelType,int64_t *NextNumber,ffd_GEOMETRY ProjectGeometry,int DigitCategorie,QString NameCategorie):QObject(ApplicationConfig) { this->ApplicationConfig =ApplicationConfig; this->NextNumber =NextNumber; this->ProjectGeometry =ProjectGeometry; this->DigitCategorie =DigitCategorie; this->NameCategorie =NameCategorie; FillModelType(ModelType); } //============================================================================================================================= cModelList::~cModelList() { } //============================================================================================================================= void cModelList::FillModelType(ffd_MODELTYPE ModelType) { int StartNumber,EndNumber; QString GeoFolder=ProjectGeometry==GEOMETRY_4_3?"/4_3":ProjectGeometry==GEOMETRY_16_9?"/16_9":ProjectGeometry==GEOMETRY_40_17?"/40_17":""; List.clear(); this->ModelType =ModelType; StandardModelPath=ModelFolder; if (!StandardModelPath.endsWith(QDir::separator())) StandardModelPath=StandardModelPath+QDir::separator(); CustomModelPath =ApplicationConfig->UserConfigPath; if (!CustomModelPath.endsWith(QDir::separator())) CustomModelPath=CustomModelPath+QDir::separator(); switch (ModelType) { case ffd_MODELTYPE_PROJECTTITLE: ToLog(LOGMSG_DEBUGTRACE,QApplication::translate("cModelList","Register Project title slide models (%1)...").arg(GeoFolder)); StandardModelPath=StandardModelPath+"Titles"; CustomModelPath =CustomModelPath+"Titles"; ModelSuffix ="tss"; StartNumber =QString(QString("1%1").arg(DigitCategorie)+"0000").toInt(); EndNumber =QString(QString("1%1").arg(DigitCategorie)+"9999").toInt(); break; case ffd_MODELTYPE_CHAPTERTITLE: ToLog(LOGMSG_DEBUGTRACE,QApplication::translate("cModelList","Register Chapter title slide models (%1)...").arg(GeoFolder)); StandardModelPath=StandardModelPath+"Titles"; CustomModelPath =CustomModelPath+"Titles"; ModelSuffix ="tss"; StartNumber =QString(QString("2%1").arg(DigitCategorie)+"0000").toInt(); EndNumber =QString(QString("2%1").arg(DigitCategorie)+"9999").toInt(); break; case ffd_MODELTYPE_CREDITTITLE: ToLog(LOGMSG_DEBUGTRACE,QApplication::translate("cModelList","Register Credit title slide models (%1)...").arg(GeoFolder)); StandardModelPath=StandardModelPath+"Titles"; CustomModelPath =CustomModelPath+"Titles"; ModelSuffix ="tss"; StartNumber =QString(QString("3%1").arg(DigitCategorie)+"0000").toInt(); EndNumber =QString(QString("3%1").arg(DigitCategorie)+"9999").toInt(); break; case ffd_MODELTYPE_THUMBNAIL: default: ToLog(LOGMSG_DEBUGTRACE,QApplication::translate("cModelList","Register thumbnail models...")); StandardModelPath=StandardModelPath+"Thumbnails"; CustomModelPath =CustomModelPath+"Thumbnails"; ModelSuffix ="thb"; ThumbnailSize =QSize(THUMB_THUMBWITH,THUMB_THUMBHEIGHT); StartNumber =100000; EndNumber =199999; break; } if (ModelType!=ffd_MODELTYPE_THUMBNAIL) switch (ProjectGeometry) { case GEOMETRY_4_3: ThumbnailSize=QSize(156,117); break; case GEOMETRY_40_17: ThumbnailSize=QSize(280,119); break; default: ThumbnailSize=QSize(208,117); break; } StandardModelPath=StandardModelPath+GeoFolder; CustomModelPath =CustomModelPath+GeoFolder; if (*NextNumber<(StartNumber/100000)*100000+90000) *NextNumber=(StartNumber/100000)*100000+90000; // Load standard model QDir Folder(StandardModelPath); QFileInfoList Files=Folder.entryInfoList(QDir::Dirs|QDir::AllDirs|QDir::Files|QDir::Hidden); int i=0; while (i=StartNumber)&&(iNumber<=EndNumber)) List.append(new cModelListItem(this,QDir::toNativeSeparators(Files[i].absoluteFilePath()),ThumbnailSize)); } // Load custom model Folder=QDir(CustomModelPath); if (!Folder.exists()) Folder.mkpath(Folder.absolutePath()); Files=Folder.entryInfoList(QDir::Dirs|QDir::AllDirs|QDir::Files|QDir::Hidden); i=0; while (i=StartNumber)&&(iNumber<=EndNumber)) { List.append(new cModelListItem(this,QDir::toNativeSeparators(Files[i].absoluteFilePath()),ThumbnailSize)); if (iNumber>*NextNumber) *NextNumber=iNumber; } } } //============================================================================================================================= int cModelList::SearchModel(QString ModelName) { int i=0; while ((iName!=ModelName)) i++; if ((iName==ModelName)) return i; else return 0; } //============================================================================================================================= QDomDocument cModelList::GetModelDocument(QString ModelName) { int i=0; while ((iName!=ModelName)) i++; if ((iName==ModelName)) return List[i]->Model; else return QDomDocument(); } //============================================================================================================================= cModelListItem *cModelList::AppendCustomModel() { RemoveCustomModel(); List.append(new cModelListItem(this,"*",ThumbnailSize)); return List[List.count()-1]; } //============================================================================================================================= void cModelList::RemoveCustomModel() { if ((List.count()>0)&&(List[List.count()-1]->Name=="*")) List.removeLast(); } ffDiaporama/src/ffDiaporama/engine/_GlobalDefines.h0000777000175000001440000001370012275647323022476 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef _GLOBALDEFINES_H #define _GLOBALDEFINES_H #include "BasicDefines.h" #include #if QT_VERSION < 0x050000 #ifdef Q_OS_WIN void SetLFHeap(); #endif #endif #ifdef Q_OS_WIN extern bool IsWindowsXP; // True if OS is Windows/XP #endif //==================================================================== // Note : Application version and revision are in BUILDVERSION.txt // Syntax for BUILDVERSION.txt is : #define APPLICATION_NAME "ffDiaporama" // File extension of configuration files #define CONFIGFILEEXT ".xml" // Name of root node in the config xml file #define CONFIGFILE_ROOTNAME "Configuration" // Name of root node in the project xml file #define APPLICATION_ROOTNAME "Project" // Name of root node in the title model xml files #define TITLEMODEL_ROOTNAME "Model" // Name of element in the title model xml files #define TITLEMODEL_ELEMENTNAME "TitleModel" // Name of root node in the thumbnail xml files #define THUMBMODEL_ROOTNAME "Thumbnail" // Name of element in the thumbnail xml files #define THUMBMODEL_ELEMENTNAME "ProjectThumbnail" // Application version : url to file on internet // devel version //#define BUILDVERSION_WEBURL "http://ffdiaporama.tuxfamily.org/Devel/BUILDVERSION.txt" //#define DOWNLOADPAGE "http://ffdiaporama.tuxfamily.org/?page_id=3635&lang=%1" //#define LOCAL_WEBURL "http://download.tuxfamily.org/ffdiaporama/Devel/" // stable version #define BUILDVERSION_WEBURL "http://ffdiaporama.tuxfamily.org/Stable/BUILDVERSION.txt" #define DOWNLOADPAGE "http://ffdiaporama.tuxfamily.org/?page_id=178&lang=%1" #define LOCAL_WEBURL "http://download.tuxfamily.org/ffdiaporama/Stable/" // Global values extern QString CurrentAppName; // Application name (including devel, beta, ...) extern QString CurrentAppVersion; // Application version read from BUILDVERSION.txt extern double ScreenFontAdjust; // System Font adjustement extern int SCALINGTEXTFACTOR; // 700 instead of 400 (ffD 1.0/1.1/1.2) to keep similar display from plaintext to richtext extern double ScaleFontAdjust; // URL to link to help page #define HELPFILE_CAT "http://ffdiaporama.tuxfamily.org/?cat=%1&lang=%2" #define ALLOWEDWEBLANGUAGE "en;fr;it;es;el;de;nl;pt;ru" //==================================================================== // Latency for QTimer::singleShot(LATENCY, ... actions #define LATENCY 5 //==================================================================== #define THUMBWITH 600 #define THUMBHEIGHT 800 #define THUMBGEOMETRY (double(THUMBWITH)/double(THUMBHEIGHT)) #define THUMB_THUMBWITH 600/10 #define THUMB_THUMBHEIGHT 800/10 //==================================================================== enum FilterFile {ALLFILE,IMAGEFILE,IMAGEVECTORFILE,VIDEOFILE,MUSICFILE}; enum LoadConfigFileType {USERCONFIGFILE,GLOBALCONFIGFILE}; //==================================================================== // Various functions //==================================================================== QString ito2a(int val); QString ito3a(int val); double GetDoubleValue(QDomElement CorrectElement,QString Name); // Load a double value from an XML element double GetDoubleValue(QString sValue); // Load a double value from a string QString UpInitials(QString Source); QString FormatLongDate(QDate EventDate); QString GetInformationValue(QString ValueToSearch,QStringList *InformationList); // Get a value from a list of value (value as store in pair name##value) QString GetCumulInfoStr(QStringList *InformationList,QString Key1,QString Key2); // Return a string concataining each value of a key containing key1 and key2 int getCpuCount(); // Retrieve number of processor QString GetTextSize(int64_t Size); // transform a size (_int64) in a string with apropriate unit (Gb/Tb...) QAction *CreateMenuAction(QImage *Icon,QString Text,int Data,bool Checkable,bool IsCheck,QWidget *Parent); QAction *CreateMenuAction(QIcon Icon,QString Text,int Data,bool Checkable,bool IsCheck,QWidget *Parent); //==================================================================== // VARIOUS //==================================================================== enum SELECTMODE {SELECTMODE_NONE, SELECTMODE_ONE, SELECTMODE_MULTIPLE}; #endif // _GLOBALDEFINES_H ffDiaporama/src/ffDiaporama/engine/_GlobalDefines.cpp0000777000175000001440000002643312275647325023042 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ // Basic inclusions (common to all files) #include #include "_GlobalDefines.h" QString CurrentAppName; // Application name (including devel, beta, ...) QString CurrentAppVersion; // Application version read from BUILDVERSION.txt double ScreenFontAdjust=1; // System Font adjustement double ScaleFontAdjust=0; int SCALINGTEXTFACTOR=700; // 700 instead of 400 (ffD 1.0/1.1/1.2) to keep similar display from plaintext to richtext #ifdef Q_OS_WIN bool IsWindowsXP=false; #include #include #include #if QT_VERSION<0x050000 // set low fragmentation heap to remove memory error // from http://social.msdn.microsoft.com/forums/en-US/vclanguage/thread/7eec66a1-07b5-47aa-816d-7c1d7f7be274 // NOTE: To enable the low-fragmentation heap when running under a debugger, set the _NO_DEBUG_HEAP environment variable to 1. void SetLFHeap() { // Re-attach stdio if application was started from a console BOOL (WINAPI *pAttachConsole)(DWORD dwProcessId); pAttachConsole = (BOOL (WINAPI*)(DWORD)) GetProcAddress(LoadLibraryA("kernel32.dll"), "AttachConsole"); if (pAttachConsole != NULL && pAttachConsole(((DWORD)-1))) { if (_fileno(stdout) < 0) freopen("CONOUT$","wb",stdout); if (_fileno(stderr) < 0) freopen("CONOUT$","wb",stderr); if (_fileno(stdin) < 0) freopen("CONIN$","rb",stdin); std::ios::sync_with_stdio(); // Fix C++ } // Check Windows System Version if (QSysInfo().WindowsVersion<0x0030) { // prior to Windows XP ToLog(LOGMSG_CRITICAL,"Sorry but this application can't work on this system"); exit(1); } else if (QSysInfo().WindowsVersion==0x0030) { // If Windows XP IsWindowsXP=true; // Why would we have have to code it the hard way, that is by pulling the function out of the kernel32.dll? // VS 6.0 doesn't have the API defined in its headers. // Missing enum borrowed from: C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Include\WinNT.h(8815) typedef enum _HEAP_INFORMATION_CLASS { HeapCompatibilityInformation } HEAP_INFORMATION_CLASS; // Function pointer prototype typedef BOOL (WINAPI *Function_HeapSetInformation) (HANDLE, HEAP_INFORMATION_CLASS, PVOID, SIZE_T); WCHAR WinFileName[256+1]; MultiByteToWideChar(CP_ACP,0,QString("kernel32.dll").toLocal8Bit(),-1,WinFileName,256+1); HMODULE hKernel32 = GetModuleHandle(WinFileName); if(hKernel32) { Function_HeapSetInformation heapSetInfo; ULONG heapFlags = 2; // LFH == 2 HANDLE hProcessHeap = GetProcessHeap(); heapSetInfo = (Function_HeapSetInformation)GetProcAddress(hKernel32, "HeapSetInformation"); if (heapSetInfo) { if(heapSetInfo(hProcessHeap, HeapCompatibilityInformation, &heapFlags, sizeof(ULONG))) { ToLog(LOGMSG_INFORMATION,"DLLMain's Request for Low Fragmentation Heap for the Process Heap Successful"); } else { ToLog(LOGMSG_WARNING,"DLLMain's Request for Low Fragmentation Heap for the Process Heap Unsuccessful. Will Run with the Standard Heap Allocators"); } #if _MSC_VER >= 1300 // no way to get the pointer to the CRT heap in VC 6.0 (_crtheap) if(heapSetInfo((HANDLE)_get_heap_handle(), HeapCompatibilityInformation, &heapFlags, sizeof(ULONG))) { ToLog(LOGMSG_INFORMATION,"DLLMain's Request for Low Fragmentation for the CRT Heap Successful"); } else { ToLog(LOGMSG_WARNING,"DLLMain's Request for Low Fragmentation for the CRT Heap Unsuccessful. Will Run with the Standard Heap Allocators"); } #endif } else { ToLog(LOGMSG_WARNING,"DllMain unable to GetProcAddress for HeapSetInformation"); } } else { ToLog(LOGMSG_WARNING,"DllMain unable to GetModuleHandle(kernel32.dll)"); } // Only try to set the heap once. If it fails, live with it. } // If > Windows/XP : nothing to do ! } #endif #endif //==================================================================================================================== double GetDoubleValue(QDomElement CorrectElement,QString Name) { QString sValue=CorrectElement.attribute(Name); bool IsOk=true; double dValue=sValue.toDouble(&IsOk); if (!IsOk) { for (int i=0;icount())&&(!InformationList->at(i).startsWith(ValueToSearch+"##"))) i++; if ((icount())&&(InformationList->at(i).startsWith(ValueToSearch))) { QStringList Values=InformationList->at(i).split("##"); if (Values.count()==2) return ((QString)Values[1]).trimmed(); } return ""; } //==================================================================================================================== QString GetCumulInfoStr(QStringList *InformationList,QString Key1,QString Key2) { int Num =0; QString TrackNum=""; QString Value =""; QString Info =""; do { TrackNum=QString("%1").arg(Num); while (TrackNum.length()<3) TrackNum="0"+TrackNum; TrackNum=Key1+"_"+TrackNum+":"; Value=GetInformationValue(TrackNum+Key2,InformationList); if (Value!="") Info=Info+((Num>0)?",":"")+Value; // Next Num++; } while (Value!=""); return Info; } //==================================================================================================================== QString ito2a(int val) { QString Ret=QString("%1").arg(val); while (Ret.length()<2) Ret="0"+Ret; return Ret; } QString ito3a(int val) { QString Ret=QString("%1").arg(val); while (Ret.length()<3) Ret="0"+Ret; return Ret; } //==================================================================================================================== QString GetTextSize(int64_t Size) { ToLog(LOGMSG_DEBUGTRACE,"IN:GetTextSize"); QString UnitStr=""; int Unit =0; while ((Size>1024*1024)&&(Unit<2)) { Unit++; Size=Size/1024; } switch (Unit) { case 0 : UnitStr=QApplication::translate("QCustomFolderTree","Kb","Unit Kb"); break; case 1 : UnitStr=QApplication::translate("QCustomFolderTree","Mb","Unit Mb"); break; case 2 : UnitStr=QApplication::translate("QCustomFolderTree","Gb","Unit Gb"); break; case 3 : UnitStr=QApplication::translate("QCustomFolderTree","Tb","Unit Tb"); break; } if (Size==0) return "0"; else if (double(Size)/double(1024)>0.1) return QString("%1").arg(double(Size)/double(1024),8,'f',1).trimmed()+" "+UnitStr; else return "<0.1"+UnitStr; } //==================================================================================================================== //functions used to retrieve number of processor //Thanks to : Stuart Nixon //See : http://lists.trolltech.com/qt-interest/2006-05/thread00922-0.html int getCpuCount() { ToLog(LOGMSG_DEBUGTRACE,"IN:getCpuCount"); int cpuCount=1; #ifdef Q_OS_WIN SYSTEM_INFO si; GetSystemInfo(&si); cpuCount = si.dwNumberOfProcessors; #elif defined(Q_OS_LINUX) || defined(Q_OS_SOLARIS) cpuCount = sysconf(_SC_NPROCESSORS_ONLN); #endif if(cpuCount<1) cpuCount=1; return cpuCount; } //==================================================================================================================== // UTILITY FUNCTIONS //==================================================================================================================== QAction *CreateMenuAction(QImage *Icon,QString Text,int Data,bool Checkable,bool IsCheck,QWidget *Parent) { QAction *Action; if (Icon) Action=new QAction(QIcon(QPixmap().fromImage(*Icon)),Text,Parent); else Action=new QAction(Text,Parent); Action->setIconVisibleInMenu(true); Action->setCheckable(Checkable); Action->setFont(QFont("Sans Serif",9)); if (Checkable) Action->setChecked(IsCheck); Action->setData(QVariant(Data)); return Action; } //==================================================================================================================== QAction *CreateMenuAction(QIcon Icon,QString Text,int Data,bool Checkable,bool IsCheck,QWidget *Parent) { QAction *Action; Action=new QAction(Icon,Text,Parent); Action->setIconVisibleInMenu(true); Action->setCheckable(Checkable); Action->setFont(QFont("Sans Serif",9)); if (Checkable) Action->setChecked(IsCheck); Action->setData(QVariant(Data)); return Action; } ffDiaporama/src/ffDiaporama/engine/_EncodeVideo.h0000777000175000001440000001331012275647324022162 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef _ENCODEVIDEO_H #define _ENCODEVIDEO_H // Basic inclusions (common to all files) #include "_GlobalDefines.h" // Specific inclusions #include "_Diaporama.h" #define SUPPORTED_COMBINATION 0 #define UNSUPPORTED_COMBINATION 1 #define INVALID_COMBINATION 2 #define VBRMINCOEF 0.5 #define VBRMAXCOEF 1.25 int CheckEncoderCapabilities(VFORMAT_ID FormatId,AVCodecID VideoCodec,AVCodecID AudioCodec); //************************************************ class cEncodeVideo{ public: cDiaporama *Diaporama; bool IsOpen,InterleaveFrame; // Container parameters & buffers QString OutputFileName; int FromSlide,ToSlide; int64_t NbrFrame; // Number of frame to generate AVFormatContext *Container; // Video parameters & buffers AVRational VideoFrameRate; int VideoBitrate; int VideoCodecSubId; sIMAGEDEF *ImageDef; qreal LastVideoPts; qreal IncreasingVideoPts; int64_t VideoFrameNbr; AVStream *VideoStream; qreal dFPS; int InternalWidth,InternalHeight,ExtendV; AVFrame *VideoFrame; struct SwsContext *VideoFrameConverter; // Converter from QImage to YUV image u_int8_t *VideoEncodeBuffer; // Buffer for encoded image int VideoEncodeBufferSize; // Buffer for encoded image int64_t VideoFrameBufSize; u_int8_t *VideoFrameBuf; // Audio parameters & buffers int AudioChannels; int AudioBitrate; int AudioSampleRate; int AudioCodecSubId; qreal LastAudioPts; qreal IncreasingAudioPts; int64_t AudioFrameNbr; AVStream *AudioStream; AVFrame *AudioFrame; u_int8_t *AudioResamplerBuffer; // Buffer for sampled audio int AudioResamplerBufferSize; #if defined(LIBAV) && (LIBAVVERSIONINT<=8) ReSampleContext *AudioResampler; // Audio resampler #elif defined(LIBAV) && (LIBAVVERSIONINT<=9) AVAudioResampleContext *AudioResampler; #elif defined(FFMPEG) SwrContext *AudioResampler; #endif // Progress display settings bool StopProcessWanted; // True if user click on cancel or close during encoding process QTime StartTime; // Time the process start QTime LastCheckTime; // Last time the loop start int64_t RenderedFrame; qreal Position; int Column,ColumnStart,AdjustedDuration; QList PreparedTransitBrushList; QList PreparedBrushList; QFutureWatcher ThreadAssembly; QFutureWatcher ThreadEncodeVideo; QFutureWatcher ThreadEncodeAudio; cEncodeVideo(); ~cEncodeVideo(); bool OpenEncoder(cDiaporama *Diaporama,QString OutputFileName,int FromSlide,int ToSlide, bool EncodeVideo,int VideoCodecSubId,bool VBR,sIMAGEDEF *ImageDef,int ImageWidth,int ImageHeight,int ExtendV,int InternalWidth,int InternalHeight,AVRational PixelAspectRatio,int VideoBitrate, bool EncodeAudio,int AudioCodecSubId,int AudioChannels,int AudioBitrate,int AudioSampleRate,QString Language); bool DoEncode(); void CloseEncoder(); private: int getThreadFlags(AVCodecID ID); bool AddStream(AVStream **Stream,AVCodec **codec,const char *CodecName,AVMediaType Type); bool OpenVideoStream(sVideoCodecDef *VideoCodecDef,int VideoCodecSubId,bool VBR,AVRational VideoFrameRate,int ImageWidth,int ImageHeight,AVRational PixelAspectRatio,int VideoBitrate); bool OpenAudioStream(sAudioCodecDef *AudioCodecDef,int &AudioChannels,int &AudioBitrate,int &AudioSampleRate,QString Language); bool PrepareTAG(QString Language); QString AdjustMETA(QString Text); void Assembly(cDiaporamaObjectInfo *Frame,cDiaporamaObjectInfo *PreviousFrame,cSoundBlockList *RenderMusic,cSoundBlockList *ToEncodeMusic,bool &Continue); void EncodeMusic(cDiaporamaObjectInfo *Frame,cSoundBlockList *RenderMusic,cSoundBlockList *ToEncodeMusic,bool &Continue); void EncodeVideo(QImage *ImageList,bool &Continue); }; #endif // _ENCODEVIDEO_H ffDiaporama/src/ffDiaporama/engine/_EncodeVideo.cpp0000777000175000001440000017712212275647324022531 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "_EncodeVideo.h" #define PIXFMT PIX_FMT_RGB24 #define QTPIXFMT QImage::Format_RGB888 //************************************************************************************************************************************************* int CheckEncoderCapabilities(VFORMAT_ID FormatId,AVCodecID VideoCodec,AVCodecID AudioCodec) { if (VideoCodec==AV_CODEC_ID_NONE) return SUPPORTED_COMBINATION; int Ret=INVALID_COMBINATION; switch (FormatId) { case VFORMAT_3GP: if (((VideoCodec==AV_CODEC_ID_MPEG4)||(VideoCodec==AV_CODEC_ID_H264))&&((AudioCodec==AV_CODEC_ID_AMR_NB)||(AudioCodec==AV_CODEC_ID_AMR_WB))) Ret=SUPPORTED_COMBINATION; break; case VFORMAT_MJPEG: if ((VideoCodec==AV_CODEC_ID_MJPEG)&&(AudioCodec==AV_CODEC_ID_PCM_S16LE)) Ret=SUPPORTED_COMBINATION; break; case VFORMAT_OGV: if ((VideoCodec==AV_CODEC_ID_THEORA)&&(AudioCodec==AV_CODEC_ID_VORBIS)) Ret=SUPPORTED_COMBINATION; break; case VFORMAT_WEBM: if ((VideoCodec==AV_CODEC_ID_VP8)&&(AudioCodec==AV_CODEC_ID_VORBIS)) Ret=SUPPORTED_COMBINATION; break; case VFORMAT_OLDFLV: if ((VideoCodec==AV_CODEC_ID_FLV1)&&(AudioCodec==AV_CODEC_ID_MP3)) Ret=SUPPORTED_COMBINATION; break; case VFORMAT_FLV: if ((VideoCodec==AV_CODEC_ID_H264)&&(AudioCodec==AV_CODEC_ID_AAC)) Ret=SUPPORTED_COMBINATION; break; case VFORMAT_MPEG: if ((VideoCodec==AV_CODEC_ID_MPEG2VIDEO)&&((AudioCodec==AV_CODEC_ID_AC3)||(AudioCodec==AV_CODEC_ID_MP2))) Ret=SUPPORTED_COMBINATION; break; case VFORMAT_AVI: if (((VideoCodec==AV_CODEC_ID_MPEG4)||(VideoCodec==AV_CODEC_ID_H264))&& ((AudioCodec==AV_CODEC_ID_AC3)||(AudioCodec==AV_CODEC_ID_MP3)||(AudioCodec==AV_CODEC_ID_PCM_S16LE))) Ret=SUPPORTED_COMBINATION; break; case VFORMAT_MP4: if (((VideoCodec==AV_CODEC_ID_MPEG4)||(VideoCodec==AV_CODEC_ID_H264))&&((AudioCodec==AV_CODEC_ID_MP3)||(AudioCodec==AV_CODEC_ID_AAC))) Ret=SUPPORTED_COMBINATION; break; case VFORMAT_MKV: Ret=SUPPORTED_COMBINATION; break; default: break; } return Ret; } //************************************************************************************************************************************************* cEncodeVideo::cEncodeVideo() { StopProcessWanted =false; Diaporama =NULL; Container =NULL; IsOpen =false; // Audio buffers AudioStream =NULL; AudioFrame =NULL; AudioResampler =NULL; AudioResamplerBuffer =NULL; //Video buffers VideoStream =NULL; VideoEncodeBuffer =NULL; VideoEncodeBufferSize =40*1024*1024; VideoFrameConverter =NULL; VideoFrame =NULL; InternalWidth =0; InternalHeight =0; ExtendV =0; VideoFrameBufSize =0; VideoFrameBuf =NULL; } //************************************************************************************************************************************************* cEncodeVideo::~cEncodeVideo() { CloseEncoder(); } //************************************************************************************************************************************************* void cEncodeVideo::CloseEncoder() { if (Container) { if (IsOpen) { if ((AudioStream)&&(AudioStream->codec->codec_id==AV_CODEC_ID_FLAC)) { AVPacket pkt; int got_packet; av_init_packet(&pkt); pkt.data=NULL; pkt.size=0; pkt.pts =AudioFrameNbr++; pkt.dts =AV_NOPTS_VALUE; avcodec_encode_audio2(AudioStream->codec,&pkt,NULL,&got_packet); avcodec_flush_buffers(AudioStream->codec); } av_write_trailer(Container); avio_close(Container->pb); } // Because of memory leak bug in libav/ffmpeg see: https://trac.ffmpeg.org/ticket/2937 for (unsigned int i=0;inb_streams;i++) { av_freep(&Container->streams[i]->index_entries); av_freep(&Container->streams[i]->probe_data.buf); av_dict_free(&Container->streams[i]->metadata); av_freep(&Container->streams[i]->codec->extradata); av_freep(&Container->streams[i]->codec->subtitle_header); av_freep(&Container->streams[i]->priv_data); if (Container->streams[i]->info) av_freep(&Container->streams[i]->info->duration_error); } //=== End of patch avformat_free_context(Container); Container=NULL; } VideoStream=NULL; AudioStream=NULL; // Audio buffers if (AudioFrame) av_freep(&AudioFrame); if (AudioResampler) { #if defined(LIBAV) && (LIBAVVERSIONINT<=8) audio_resample_close(AudioResampler); #elif defined(LIBAV) && (LIBAVVERSIONINT<=9) avresample_close(AudioResampler); avresample_free(&AudioResampler); #elif defined(FFMPEG) swr_free(&AudioResampler); #endif AudioResampler=NULL; } if (AudioResamplerBuffer) { av_free(AudioResamplerBuffer); AudioResamplerBuffer=NULL; } // Video buffers if (VideoEncodeBuffer) { av_free(VideoEncodeBuffer); VideoEncodeBuffer=NULL; } if (VideoFrameConverter) { sws_freeContext(VideoFrameConverter); VideoFrameConverter=NULL; } if (VideoFrame) { if ((VideoFrame->extended_data)&&(VideoFrame->extended_data!=VideoFrame->data)) av_freep(&VideoFrame->extended_data); if (VideoFrame->data[0]) av_freep(&VideoFrame->data[0]); av_freep(&VideoFrame); } } //************************************************************************************************************************************************* int cEncodeVideo::getThreadFlags(AVCodecID ID) { int Ret=0; switch (ID) { case CODEC_ID_PRORES: case CODEC_ID_MPEG1VIDEO: case CODEC_ID_DVVIDEO: case CODEC_ID_MPEG2VIDEO: Ret=FF_THREAD_SLICE; break; case CODEC_ID_H264 : Ret=FF_THREAD_FRAME|FF_THREAD_SLICE; break; default: Ret=FF_THREAD_FRAME; break; } return Ret; } //************************************************************************************************************************************************* bool cEncodeVideo::OpenEncoder(cDiaporama *Diaporama,QString OutputFileName,int FromSlide,int ToSlide, bool EncodeVideo,int VideoCodecSubId,bool VBR,sIMAGEDEF *ImageDef,int ImageWidth,int ImageHeight,int ExtendV,int InternalWidth,int InternalHeight,AVRational PixelAspectRatio,int VideoBitrate, bool EncodeAudio,int AudioCodecSubId,int AudioChannels,int AudioBitrate,int AudioSampleRate,QString Language) { sFormatDef *FormatDef =NULL; this->Diaporama =Diaporama; this->OutputFileName =OutputFileName; this->FromSlide =FromSlide; this->ToSlide =ToSlide; QString FMT =QFileInfo(OutputFileName).suffix(); //======================================= // Prepare container //======================================= // Search FMT from FROMATDEF int i=0; while ((i=VFORMAT_NBR) { int i=0; while ((i=NBR_AFORMAT) { ToLog(LOGMSG_CRITICAL,QString("EncodeVideo-OpenEncoder: Unknown format %1").arg(FMT)); return false; } else FormatDef=&AUDIOFORMATDEF[i]; } else FormatDef=&FORMATDEF[i]; // Alloc container Container=avformat_alloc_context(); if (!Container) { ToLog(LOGMSG_CRITICAL,"EncodeVideo-OpenEncoder: Unable to allocate AVFormatContext"); return false; } // Prepare container struct snprintf(Container->filename,sizeof(Container->filename),"%s",OutputFileName.toUtf8().constData()); Container->oformat=av_guess_format(QString(FormatDef->ShortName).toUtf8().constData(),NULL,NULL); if (!Container->oformat) { ToLog(LOGMSG_CRITICAL,QString("EncodeVideo-OpenEncoder: Unable to guess av_guess_format from container %1").arg(QString(FormatDef->ShortName))); return false; } if (Container->oformat->flags & AVFMT_NOFILE) { ToLog(LOGMSG_CRITICAL,QString("EncodeVideo-OpenEncoder: Container->oformat->flags==AVFMT_NOFILE")); return false; } //======================================= // Open video stream //======================================= if (EncodeVideo) { // Video parameters this->VideoBitrate =VideoBitrate; this->ImageDef =ImageDef; this->VideoFrameRate =ImageDef->AVFPS; this->VideoCodecSubId=VideoCodecSubId; this->InternalWidth =InternalWidth; this->InternalHeight =InternalHeight; this->ExtendV =ExtendV; // Add stream if (!OpenVideoStream(&VIDEOCODECDEF[VideoCodecSubId],VideoCodecSubId,VBR,VideoFrameRate,ImageWidth,ImageHeight+ExtendV,PixelAspectRatio,VideoBitrate)) return false; } else { // If sound only, ensure FrameRate have a value VideoFrameRate.num=1; VideoFrameRate.den=25; } //======================================= // Open Audio stream //======================================= if (EncodeAudio) { // Audio parameters this->AudioCodecSubId=AudioCodecSubId; // Add stream if (!OpenAudioStream(&AUDIOCODECDEF[AudioCodecSubId],AudioChannels,AudioBitrate,AudioSampleRate,Language)) return false; this->AudioChannels =AudioChannels; this->AudioBitrate =AudioBitrate; this->AudioSampleRate=AudioSampleRate; } //******************************************** // Open file and header //******************************************** if (!PrepareTAG(Language)) return false; if (avio_open(&Container->pb,Container->filename,AVIO_FLAG_WRITE)<0) { ToLog(LOGMSG_CRITICAL,"EncodeVideo-OpenEncoder: avio_open() failed"); return false; } int mux_preload=int(0.5*AV_TIME_BASE); int mux_max_delay=int(0.7*AV_TIME_BASE); int mux_rate=0; int packet_size=-1; if (QString(Container->oformat->name)==QString("mpegts")) { packet_size =188; mux_rate =int(VideoStream->codec->bit_rate*1.1); } else if (QString(Container->oformat->name)==QString("matroska")) { mux_rate =10080*1000; mux_preload =AV_TIME_BASE/10; // 100 ms preloading mux_max_delay=200*1000; // 500 ms } else if (QString(Container->oformat->name)==QString("webm")) { mux_rate =10080*1000; mux_preload =AV_TIME_BASE/10; // 100 ms preloading mux_max_delay=200*1000; // 500 ms } Container->flags |=AVFMT_FLAG_NONBLOCK; Container->max_delay=mux_max_delay; av_opt_set_int(Container,"preload",mux_preload,AV_OPT_SEARCH_CHILDREN); av_opt_set_int(Container,"muxrate",mux_rate,AV_OPT_SEARCH_CHILDREN); if (packet_size!=-1) Container->packet_size=packet_size; if (avformat_write_header(Container,NULL)<0) { ToLog(LOGMSG_CRITICAL,"EncodeVideo-OpenEncoder: avformat_write_header() failed"); return false; } //******************************************** // Log output format //******************************************** av_dump_format(Container,0,OutputFileName.toUtf8().constData(),1); IsOpen=true; //======================================= // Init counter //======================================= dFPS =qreal(VideoFrameRate.den)/qreal(VideoFrameRate.num); NbrFrame=int(qreal(Diaporama->GetPartialDuration(FromSlide,ToSlide))*dFPS/1000); // Number of frame to generate return true; } //************************************************************************************************************************************************* // Create a stream //************************************************************************************************************************************************* bool cEncodeVideo::AddStream(AVStream **Stream,AVCodec **codec,const char *CodecName,AVMediaType Type) { *codec=avcodec_find_encoder_by_name(CodecName); if (!(*codec)) { ToLog(LOGMSG_CRITICAL,QString("EncodeVideo-AddStream: Unable to find codec %1").arg(CodecName)); return false; } if ((*codec)->id==AV_CODEC_ID_NONE) { ToLog(LOGMSG_CRITICAL,QString("EncodeVideo-AddStream: codec->id==AV_CODEC_ID_NONE")); return false; } // Create stream *Stream=avformat_new_stream(Container,*codec); if (!(*Stream)) { ToLog(LOGMSG_CRITICAL,"EncodeVideo-AddStream: avformat_new_stream() failed"); return false; } (*Stream)->codec->codec_type=Type; (*Stream)->codec->codec_id =(*codec)->id; // Setup encoder context for stream if (avcodec_get_context_defaults3((*Stream)->codec,*codec)<0) { ToLog(LOGMSG_CRITICAL,"EncodeVideo-AddStream: avcodec_get_context_defaults3() failed"); return false; } if (Type==AVMEDIA_TYPE_VIDEO) Container->oformat->video_codec=(*codec)->id; else if (Type==AVMEDIA_TYPE_AUDIO) Container->oformat->audio_codec=(*codec)->id; (*Stream)->codec->codec_type=Type; // set again (*Stream)->codec->codec_id =(*codec)->id; // set again if ((Container->oformat->flags & AVFMT_GLOBALHEADER) ||(!strcmp(Container->oformat->name,"mp4")) //||(!strcmp(Container->oformat->name,"mov")) ||(!strcmp(Container->oformat->name,"mpegts")) ||(!strcmp(Container->oformat->name,"3gp")) ) (*Stream)->codec->flags|=CODEC_FLAG_GLOBAL_HEADER; int ThreadC =((getCpuCount()-1)>1)?(getCpuCount()-1):1; if (ThreadC>0) (*Stream)->codec->thread_count=ThreadC; (*Stream)->codec->thread_type=getThreadFlags((*codec)->id); return true; } //************************************************************************************************************************************************* // Create video streams //************************************************************************************************************************************************* bool cEncodeVideo::OpenVideoStream(sVideoCodecDef *VideoCodecDef,int VideoCodecSubId,bool VBR,AVRational VideoFrameRate, int ImageWidth,int ImageHeight,AVRational PixelAspectRatio,int VideoBitrate) { AVCodec *codec; if (!AddStream(&VideoStream,&codec,VideoCodecDef->ShortName,AVMEDIA_TYPE_VIDEO)) return false; AVDictionary *opts=NULL; int MinRate=-1; int MaxRate=-1; int BufSize=-1; int BFrames=-1; // Setup codec parameters VideoStream->codec->width =ImageWidth; VideoStream->codec->height =ImageHeight; VideoStream->codec->pix_fmt =PIX_FMT_YUV420P; VideoStream->codec->time_base =VideoFrameRate; VideoStream->codec->sample_aspect_ratio =PixelAspectRatio; VideoStream->sample_aspect_ratio =PixelAspectRatio; if ((codec->id!=AV_CODEC_ID_H264)||(!VBR)) { VideoStream->codec->bit_rate =VideoBitrate; av_dict_set(&opts,"b",QString("%1").arg(VideoBitrate).toUtf8(),0); } if (codec->id==AV_CODEC_ID_MPEG2VIDEO) { BFrames=2; #if defined(LIBAV) && (LIBAVVERSIONINT<=8) MinRate=VideoBitrate; MaxRate=VideoBitrate; BufSize=1000000; VideoStream->codec->flags |=CODEC_FLAG_CLOSED_GOP; VideoStream->codec->flags2 |=CODEC_FLAG2_STRICT_GOP; VideoStream->codec->scenechange_threshold =1000000000; VideoStream->codec->error_concealment |=FF_EC_DEBLOCK; #endif VideoStream->codec->gop_size =12; } else if (codec->id==AV_CODEC_ID_MJPEG) { //-qscale 2 -qmin 2 -qmax 2 VideoStream->codec->pix_fmt =PIX_FMT_YUVJ420P; VideoStream->codec->qmin =2; VideoStream->codec->qmax =2; VideoStream->codec->bit_rate_tolerance =(ImageWidth*ImageHeight*2*VideoFrameRate.den/VideoFrameRate.num)*2; } else if (codec->id==AV_CODEC_ID_VP8) { BFrames=3; VideoStream->codec->gop_size=120; av_dict_set(&opts,"g",QString("%1").arg(VideoStream->codec->gop_size).toUtf8(),0); VideoStream->codec->qmax =ImageHeight<=576?63:51; av_dict_set(&opts,"qmax",QString("%1").arg(VideoStream->codec->qmax).toUtf8(),0); VideoStream->codec->qmin =ImageHeight<=576?1:11; av_dict_set(&opts,"qmin",QString("%1").arg(VideoStream->codec->qmin).toUtf8(),0); VideoStream->codec->mb_lmin =VideoStream->codec->qmin*FF_QP2LAMBDA; VideoStream->codec->lmin =VideoStream->codec->qmin*FF_QP2LAMBDA; VideoStream->codec->mb_lmax =VideoStream->codec->qmax*FF_QP2LAMBDA; VideoStream->codec->lmax =VideoStream->codec->qmax*FF_QP2LAMBDA; if (ImageHeight<=720) av_dict_set(&opts,"profile","0",0); else av_dict_set(&opts,"profile","1",0); if (ImageHeight>576) av_dict_set(&opts,"slices","4",0); av_dict_set(&opts,"lag-in-frames","16",0); av_dict_set(&opts,"deadline","good",0); if (VideoStream->codec->thread_count>0) av_dict_set(&opts,"cpu-used",QString("%1").arg(VideoStream->codec->thread_count).toUtf8(),0); #if defined(LIBAV) && (LIBAVVERSIONINT<=8) MinRate=VideoBitrate; MaxRate=VideoBitrate; BufSize=VideoBitrate; #endif } else if (codec->id==AV_CODEC_ID_H264) { // -vcodec libx264 -vsync vfr -pix_fmt yuv420p -b:0 1500000 -minrate 1350000 -maxrate 1650000 -bufsize 3000000 // -preset veryfast -refs:0 3 -r 25 -sws_flags bicubic // Stream #0.0: Video: libx264, yuv420p, 640x360 [PAR 1:1 DAR 16:9], q=-1--1, 1500 kb/s, 1k tbn, 25 tbc // Stream #0.1: Audio: libfaac, 44100 Hz, stereo, 159 kb/s // cabac=1 ref=3 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=2 psy=1 psy_rd=1.00:0.00 mixed_ref=0 // me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 // threads=3 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 // b_pyramid=0 b_adapt=1 b_bias=0 direct=1 weightb=0 open_gop=1 weightp=1 keyint=250 keyint_min=25 // scenecut=40 intra_refresh=0 rc_lookahead=10 rc=abr mbtree=1 bitrate=1500 ratetol=1.0 qcomp=0.60 // qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=1650 vbv_bufsize=3000 nal_hrd=none ip_ratio=1.25 aq=1:1.00 // profile Main, level 3.0 av_dict_set(&opts,"preset","veryfast",0); VideoStream->codec->gop_size=250; av_dict_set(&opts,"g",QString("%1").arg(VideoStream->codec->gop_size).toUtf8(),0); VideoStream->codec->qmin =0; av_dict_set(&opts,"qmin",QString("%1").arg(VideoStream->codec->qmin).toUtf8(),0); VideoStream->codec->qmax =69; av_dict_set(&opts,"qmax",QString("%1").arg(VideoStream->codec->qmax).toUtf8(),0); if (VideoStream->codec->thread_count>0) av_dict_set(&opts,"threads",QString("%1").arg(VideoStream->codec->thread_count).toUtf8(),0); switch (VideoCodecSubId) { case VCODEC_H264HQ: // High Quality H.264 AVC/MPEG-4 AVC av_dict_set(&opts,"refs", "3", 0); av_dict_set(&opts,"vprofile","main", 0); // 2 versions to support differents libav/ffmpeg av_dict_set(&opts,"profile", "main", 0); av_dict_set(&opts,"tune", "zerolatency",0); BFrames=3; if (VBR) { MinRate=int(double(VideoBitrate)*VBRMINCOEF); MaxRate=int(double(VideoBitrate)*VBRMAXCOEF); BufSize=int(double(VideoBitrate)*4); } else { MinRate=int(double(VideoBitrate)*0.9); MaxRate=int(double(VideoBitrate)*1.1); BufSize=int(double(VideoBitrate)*2); } break; case VCODEC_H264PQ: // Phone Quality H.264 AVC/MPEG-4 AVC av_dict_set(&opts,"refs","3", 0); av_dict_set(&opts,"vprofile","baseline",0); av_dict_set(&opts,"profile", "baseline",0); // 2 versions to support differents libav/ffmpeg av_dict_set(&opts,"tune","fastdecode", 0); if (VBR) { MinRate=int(double(VideoBitrate)*VBRMINCOEF); MaxRate=int(double(VideoBitrate)*VBRMAXCOEF); BufSize=int(double(VideoBitrate)*4); } else { MinRate=int(double(VideoBitrate)*0.9); MaxRate=int(double(VideoBitrate)*1.1); BufSize=int(double(VideoBitrate)*2); } break; case VCODEC_X264LL: // x264 lossless av_dict_set(&opts,"refs","3",0); av_dict_set(&opts,"qp", "0",0); break; } } if (MinRate!=-1) { av_dict_set(&opts,"minrate",QString("%1").arg(MinRate).toUtf8(),0); av_dict_set(&opts,"maxrate",QString("%1").arg(MaxRate).toUtf8(),0); av_dict_set(&opts,"bufsize",QString("%1").arg(BufSize).toUtf8(),0); } if (BFrames!=-1) { VideoStream->codec->max_b_frames=BFrames; av_dict_set(&opts,"bf",QString("%1").arg(BFrames).toUtf8(),0); } VideoStream->codec->has_b_frames=(VideoStream->codec->max_b_frames>0)?1:0; // Open encoder int errcode=avcodec_open2(VideoStream->codec,codec,&opts); if (errcode<0) { char Buf[2048]; av_strerror(errcode,Buf,2048); ToLog(LOGMSG_CRITICAL,"EncodeVideo-OpenVideoStream: avcodec_open2() failed: "+QString(Buf)); return false; } // Create VideoFrameConverter VideoFrameConverter=sws_getContext( InternalWidth,VideoStream->codec->height,PIXFMT, // Src Widht,Height,Format VideoStream->codec->width,VideoStream->codec->height,VideoStream->codec->pix_fmt, // Destination Width,Height,Format SWS_BICUBIC, // flags NULL,NULL,NULL); // src Filter,dst Filter,param if (!VideoFrameConverter) { ToLog(LOGMSG_CRITICAL,"EncodeVideo-OpenVideoStream: sws_getContext() failed"); return false; } #if defined(LIBAV) && (LIBAVVERSIONINT<=8) // Create VideoEncodeBuffer VideoEncodeBuffer=(u_int8_t *)av_malloc(VideoEncodeBufferSize); if (!VideoEncodeBuffer) { ToLog(LOGMSG_CRITICAL,"EncodeVideo-OpenVideoStream: av_malloc() failed for VideoEncodeBuffer"); return false; } #endif // Create and prepare VideoFrame and VideoFrameBuf VideoFrame=avcodec_alloc_frame(); // Allocate structure for RGB image if (!VideoFrame) { ToLog(LOGMSG_CRITICAL,"EncodeVideo-OpenVideoStream: avcodec_alloc_frame() failed"); return false; } else { VideoFrameBufSize=avpicture_get_size(VideoStream->codec->pix_fmt,VideoStream->codec->width,VideoStream->codec->height); VideoFrameBuf =(u_int8_t *)av_malloc(VideoFrameBufSize); if ((!VideoFrameBufSize)||(!VideoFrameBuf)) { ToLog(LOGMSG_CRITICAL,"EncodeVideo-OpenVideoStream: av_malloc() failed for VideoFrameBuf"); return false; } } return true; } //************************************************************************************************************************************************* // Create audio streams //************************************************************************************************************************************************* bool cEncodeVideo::OpenAudioStream(sAudioCodecDef *AudioCodecDef,int &AudioChannels,int &AudioBitrate,int &AudioSampleRate,QString Language) { AVCodec *codec; if (!AddStream(&AudioStream,&codec,AudioCodecDef->ShortName,AVMEDIA_TYPE_AUDIO)) return false; AVDictionary *opts =NULL; // Setup codec parameters AudioStream->codec->sample_fmt =AV_SAMPLE_FMT_S16; AudioStream->codec->channels =AudioChannels; AudioStream->codec->sample_rate =AudioSampleRate; av_dict_set(&AudioStream->metadata,"language",Language.toUtf8().constData(),0); if (codec->id==AV_CODEC_ID_PCM_S16LE) { AudioBitrate=AudioSampleRate*16*AudioChannels; } else if (codec->id==AV_CODEC_ID_FLAC) { av_dict_set(&opts,"lpc_coeff_precision","15",0); av_dict_set(&opts,"lpc_type","2",0); av_dict_set(&opts,"lpc_passes","1",0); av_dict_set(&opts,"min_partition_order","0",0); av_dict_set(&opts,"max_partition_order","8",0); av_dict_set(&opts,"prediction_order_method","0",0); av_dict_set(&opts,"ch_mode","-1",0); } else if (codec->id==AV_CODEC_ID_AAC) { //VideoStream->codec->profile=FF_PROFILE_AAC_MAIN; if (QString(AUDIOCODECDEF[2].ShortName)=="aac") { AudioStream->codec->strict_std_compliance = FF_COMPLIANCE_EXPERIMENTAL; #if defined(FFMPEG) AudioStream->codec->sample_fmt =AV_SAMPLE_FMT_FLTP; #endif } } else if (codec->id==AV_CODEC_ID_MP2) { } else if (codec->id==AV_CODEC_ID_MP3) { #if (defined(LIBAV)&&(LIBAVVERSIONINT>=9))||defined(FFMPEG) AudioStream->codec->sample_fmt =AV_SAMPLE_FMT_S16P; #endif av_dict_set(&opts,"reservoir","1",0); } else if (codec->id==AV_CODEC_ID_VORBIS) { #if (defined(LIBAV)&&(LIBAVVERSIONINT>=9))||defined(FFMPEG) AudioStream->codec->sample_fmt =AV_SAMPLE_FMT_FLTP; #else //AudioStream->codec->sample_fmt =AV_SAMPLE_FMT_FLT; AudioStream->codec->sample_fmt =AV_SAMPLE_FMT_S16; #endif } else if (codec->id==AV_CODEC_ID_AC3) { #if (defined(LIBAV)&&(LIBAVVERSIONINT>=9))||defined(FFMPEG) AudioStream->codec->sample_fmt =AV_SAMPLE_FMT_FLTP; #else AudioStream->codec->sample_fmt =AV_SAMPLE_FMT_FLT; #endif } else if (codec->id==AV_CODEC_ID_AMR_NB) { AudioStream->codec->channels=1; AudioChannels=1; } else if (codec->id==AV_CODEC_ID_AMR_WB) { AudioStream->codec->channels=1; AudioChannels=1; } AudioStream->codec->bit_rate =AudioBitrate; av_dict_set(&opts,"ab",QString("%1").arg(AudioBitrate).toUtf8(),0); AudioStream->codec->channel_layout=(AudioStream->codec->channels==2?AV_CH_LAYOUT_STEREO:AV_CH_LAYOUT_MONO); int errcode=avcodec_open2(AudioStream->codec,codec,&opts); if (errcode<0) { char Buf[2048]; av_strerror(errcode,Buf,2048); ToLog(LOGMSG_CRITICAL,"EncodeVideo-OpenAudioStream: avcodec_open2() failed: "+QString(Buf)); return false; } AudioFrame=avcodec_alloc_frame(); if (AudioFrame==NULL) { ToLog(LOGMSG_CRITICAL,QString("EncodeVideo-OpenAudioStream:: avcodec_alloc_frame failed")); return false; } return true; } //************************************************************************************************************************************************* bool cEncodeVideo::PrepareTAG(QString Language) { // Set TAGS av_dict_set(&Container->metadata,"language",Language.toUtf8().constData(),0); av_dict_set(&Container->metadata,"title",AdjustMETA(Diaporama->ProjectInfo->Title==""?QFileInfo(OutputFileName).baseName():Diaporama->ProjectInfo->Title).toUtf8().constData(),0); av_dict_set(&Container->metadata,"artist",AdjustMETA(Diaporama->ProjectInfo->Author).toUtf8().constData(),0); av_dict_set(&Container->metadata,"album",AdjustMETA(Diaporama->ProjectInfo->Album).toUtf8().constData(),0); av_dict_set(&Container->metadata,"comment",AdjustMETA(Diaporama->ProjectInfo->Comment).toUtf8().constData(),0); av_dict_set(&Container->metadata,"date",QString("%1").arg(Diaporama->ProjectInfo->EventDate.year()).toUtf8().constData(),0); av_dict_set(&Container->metadata,"composer",QString(QString(APPLICATION_NAME)+QString(" ")+CurrentAppName).toUtf8().constData(),0); av_dict_set(&Container->metadata,"creation_time",QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss").toUtf8().constData(),0); // ISO 8601 format // Set Chapters (only if video stream) if (VideoStream) { for (int i=FromSlide;i<=ToSlide;i++) if ((i==FromSlide)||(Diaporama->List[i]->StartNewChapter)) { AVChapter *Chapter=(AVChapter *)av_mallocz(sizeof(AVChapter)); int64_t Start =Diaporama->GetObjectStartPosition(i)+(i>FromSlide?Diaporama->List[i]->GetTransitDuration():0)-Diaporama->GetObjectStartPosition(FromSlide); int64_t Duration=Diaporama->List[i]->GetDuration()-(i>FromSlide?Diaporama->List[i]->GetTransitDuration():0); int NextC =i+1; while ((NextCList[NextC]->StartNewChapter)) { Duration=Duration+Diaporama->List[NextC]->GetDuration(); NextC++; if (NextC<=ToSlide) Duration=Duration-Diaporama->List[NextC-1]->GetTransitDuration(); } int64_t End =Start+Duration; int64_t ts_off =av_rescale_q(Container->start_time,AV_TIME_BASE_Q,VideoStream->time_base); Chapter->id =Container->nb_chapters; Chapter->time_base=VideoStream->time_base; Chapter->start =av_rescale_q((Start-ts_off)*1000,AV_TIME_BASE_Q,VideoStream->time_base); Chapter->end =av_rescale_q((End-ts_off)*1000,AV_TIME_BASE_Q,VideoStream->time_base); QString CptName=Diaporama->List[i]->StartNewChapter?Diaporama->List[i]->ChapterName:Diaporama->ProjectInfo->Title; av_dict_set(&Chapter->metadata,"title",CptName.toUtf8(),0); Container->chapters=(AVChapter **)av_realloc(Container->chapters,sizeof(AVChapter)*(Container->nb_chapters+1)); Container->chapters[Container->nb_chapters]=Chapter; Container->nb_chapters++; } } return true; } //************************************************************************************************************************************************* QString cEncodeVideo::AdjustMETA(QString Text) { //Metadata keys or values containing special characters (’=’, ’;’, ’#’, ’\’ and a newline) must be escaped with a backslash ’\’. Text.replace("=","\\="); Text.replace(";","\\;"); Text.replace("#","\\#"); //Text.replace("\\","\\\\"); Text.replace("\n","\\\n"); #ifdef Q_OS_WIN return Text.toUtf8(); #else return Text; #endif } //************************************************************************************************************************************************* bool cEncodeVideo::DoEncode() { bool Continue=true; cSoundBlockList RenderMusic,ToEncodeMusic; cDiaporamaObjectInfo *PreviousFrame=NULL,*PreviousPreviousFrame=NULL; cDiaporamaObjectInfo *Frame =NULL; int FrameSize =0; QObject FakeParentObject(NULL); IncreasingVideoPts=qreal(1000)/dFPS; // Init RenderMusic and ToEncodeMusic if (AudioStream) { RenderMusic.SetFPS(IncreasingVideoPts,AudioChannels,AudioSampleRate,AV_SAMPLE_FMT_S16); FrameSize=AudioStream->codec->frame_size; if ((!FrameSize)&&(AudioStream->codec->codec_id==AV_CODEC_ID_PCM_S16LE)) FrameSize=1024; if ((FrameSize==0)&&(VideoStream)) FrameSize=(AudioStream->codec->sample_rate*AudioStream->time_base.num)/AudioStream->time_base.den; #if defined(LIBAV) && (LIBAVVERSIONINT<=8) // LIBAV 0.8 => ToEncodeMusic use AudioStream->codec->sample_fmt format int ComputedFrameSize=AudioStream->codec->channels*av_get_bytes_per_sample(AudioStream->codec->sample_fmt)*FrameSize; if (ComputedFrameSize==0) ComputedFrameSize=RenderMusic.SoundPacketSize; ToEncodeMusic.SetFrameSize(ComputedFrameSize,AudioStream->codec->channels,AudioSampleRate,AudioStream->codec->sample_fmt); #else // LIBAV 9 AND FFMPEG => ToEncodeMusic use AV_SAMPLE_FMT_S16 format int ComputedFrameSize=AudioChannels*av_get_bytes_per_sample(AV_SAMPLE_FMT_S16)*FrameSize; if (ComputedFrameSize==0) ComputedFrameSize=RenderMusic.SoundPacketSize; ToEncodeMusic.SetFrameSize(ComputedFrameSize,RenderMusic.Channels,AudioSampleRate,AV_SAMPLE_FMT_S16); #endif } AudioFrameNbr =0; VideoFrameNbr =0; LastAudioPts =0; LastVideoPts =0; IncreasingAudioPts =AudioStream?FrameSize*1000*AudioStream->codec->time_base.num/AudioStream->codec->time_base.den:0; StartTime =QTime::currentTime(); LastCheckTime =StartTime; // Display control : last time the loop start Position =Diaporama->GetObjectStartPosition(FromSlide); // Render current position ColumnStart =-1; // Render start position of current object Column =FromSlide-1; // Render current object RenderedFrame =0; // Init Resampler (if needed) if (AudioStream) { #if defined(LIBAV) && (LIBAVVERSIONINT<=8) if ((AudioStream->codec->sample_fmt!=RenderMusic.SampleFormat)||(AudioStream->codec->channels!=RenderMusic.Channels)||(AudioSampleRate!=RenderMusic.SamplingRate)) { if (!AudioResamplerBuffer) { AudioResamplerBufferSize=AVCODEC_MAX_AUDIO_FRAME_SIZE*ToEncodeMusic.Channels; AudioResamplerBuffer=(u_int8_t *)av_malloc(AudioResamplerBufferSize); if (!AudioResamplerBuffer) { ToLog(LOGMSG_CRITICAL,QString("EncodeMusic: AudioResamplerBuffer allocation failed")); Continue=false; } } if (!AudioResampler) AudioResampler=av_audio_resample_init( // Context for resampling audio data AudioStream->codec->channels,RenderMusic.Channels, // output_channels, input_channels AudioSampleRate,RenderMusic.SamplingRate, // output_rate, input_rate AudioStream->codec->sample_fmt,RenderMusic.SampleFormat, // sample_fmt_out, sample_fmt_in 0, // filter_length 0, // log2_phase_count 1, // linear 0); // cutoff if (!AudioResampler) { ToLog(LOGMSG_CRITICAL,QString("EncodeMusic: av_audio_resample_init failed")); Continue=false; } } #elif defined(LIBAV) && (LIBAVVERSIONINT<=9) if ((AudioStream->codec->sample_fmt!=ToEncodeMusic.SampleFormat)||(AudioStream->codec->channels!=ToEncodeMusic.Channels)||(AudioSampleRate!=ToEncodeMusic.SamplingRate)) { if (!AudioResamplerBuffer) { int out_linesize=0; if (av_samples_alloc(&AudioResamplerBuffer,&out_linesize,ToEncodeMusic.Channels,AVCODEC_MAX_AUDIO_FRAME_SIZE,ToEncodeMusic.SampleFormat,1)<0) { ToLog(LOGMSG_CRITICAL,QString("EncodeMusic: AudioResamplerBuffer allocation failed")); Continue=false; } else { AudioResamplerBufferSize=out_linesize*ToEncodeMusic.Channels; } } if (!AudioResampler) { AudioResampler=avresample_alloc_context(); if (AudioResampler) { av_opt_set_int(AudioResampler,"in_channel_layout", av_get_default_channel_layout(ToEncodeMusic.Channels),0); av_opt_set_int(AudioResampler,"in_sample_rate", ToEncodeMusic.SamplingRate,0); av_opt_set_int(AudioResampler,"out_channel_layout",AudioStream->codec->channel_layout,0); av_opt_set_int(AudioResampler,"out_sample_rate", AudioSampleRate,0); av_opt_set_int(AudioResampler,"in_sample_fmt", ToEncodeMusic.SampleFormat,0); av_opt_set_int(AudioResampler,"out_sample_fmt", AudioStream->codec->sample_fmt,0); if (avresample_open(AudioResampler)<0) { ToLog(LOGMSG_CRITICAL,QString("DoEncode: avresample_open failed")); Continue=false; } } else { ToLog(LOGMSG_CRITICAL,QString("Error allocating AVAudioResampleContext")); Continue=false; } } } #elif defined(FFMPEG) if ((AudioStream->codec->sample_fmt!=RenderMusic.SampleFormat)||(AudioStream->codec->channels!=RenderMusic.Channels)||(AudioSampleRate!=RenderMusic.SamplingRate)) { if (!AudioResampler) { AudioResampler=swr_alloc(); av_opt_set_int(AudioResampler,"in_channel_layout", av_get_default_channel_layout(ToEncodeMusic.Channels),0); av_opt_set_int(AudioResampler,"in_sample_rate", ToEncodeMusic.SamplingRate,0); av_opt_set_int(AudioResampler,"out_channel_layout", AudioStream->codec->channel_layout,0); av_opt_set_int(AudioResampler,"out_sample_rate", AudioStream->codec->sample_rate,0); av_opt_set_int(AudioResampler,"in_channel_count", ToEncodeMusic.Channels,0); av_opt_set_int(AudioResampler,"out_channel_count", AudioStream->codec->channels,0); av_opt_set_sample_fmt(AudioResampler,"out_sample_fmt", AudioStream->codec->sample_fmt,0); av_opt_set_sample_fmt(AudioResampler,"in_sample_fmt", ToEncodeMusic.SampleFormat,0); if (swr_init(AudioResampler)<0) { ToLog(LOGMSG_CRITICAL,QString("DoEncode: swr_alloc_set_opts failed")); Continue=false; } } } #endif } // Prepare a DefaultSourceImage to not create it for each frame QImage DefaultSourceImage; if ((InternalWidth!=0)&&(InternalHeight!=0)) { // create an empty transparent image DefaultSourceImage=QImage(InternalWidth,InternalHeight,QImage::Format_ARGB32_Premultiplied); QPainter PT; PT.begin(&DefaultSourceImage); PT.setCompositionMode(QPainter::CompositionMode_Source); PT.fillRect(QRect(0,0,InternalWidth,InternalHeight),Qt::transparent); PT.setCompositionMode(QPainter::CompositionMode_SourceOver); PT.end(); } else { // Create a very small image to have a ptr DefaultSourceImage=QImage(5,5,QImage::Format_ARGB32_Premultiplied); } // Define InterleaveFrame to not compute it for each frame #if defined(FFMPEG)&&(FFMPEGVERSIONINT>=201) InterleaveFrame=(strcmp(Container->oformat->name,"avi")!=0); #else InterleaveFrame=true; #endif #ifdef Q_OS_WIN QThread::currentThread()->setPriority(QThread::TimeCriticalPriority); #endif //QTime Time; //int Prepare=0,LoadSources=0,Assembly=0,Audio=0,Video=0; //Time.start(); for (RenderedFrame=0;Continue && (RenderedFrame=0)&&(ColumnList.count()))?Diaporama->List[Column]->GetDuration()-Diaporama->GetTransitionDuration(Column+1):0; if (AdjustedDuration<33) AdjustedDuration=33; // Not less than 1/30 sec if ((ColumnStart==-1)||(Column==-1)||((ColumnList.count())&&((ColumnStart+AdjustedDuration)<=Position))) { Column++; AdjustedDuration=((Column>=0)&&(ColumnList.count()))?Diaporama->List[Column]->GetDuration()-Diaporama->GetTransitionDuration(Column+1):0; if (AdjustedDuration<33) AdjustedDuration=33; // Not less than 1/30 sec ColumnStart=Diaporama->GetObjectStartPosition(Column); Diaporama->CloseUnusedLibAv(Column); if (LastCheckTime.msecsTo(QTime::currentTime())>=1000) { LastCheckTime=QTime::currentTime(); } } // Get current frame Frame=new cDiaporamaObjectInfo(PreviousFrame,Position,Diaporama,IncreasingVideoPts,AudioStream!=NULL); // Ensure MusicTracks are ready if ((AudioStream)&&(Frame->CurrentObject)&&(Frame->CurrentObject_MusicTrack==NULL)) { Frame->CurrentObject_MusicTrack=new cSoundBlockList(); Frame->CurrentObject_MusicTrack->SetFPS(IncreasingVideoPts,AudioChannels,AudioSampleRate,AV_SAMPLE_FMT_S16); } if ((AudioStream)&&(Frame->TransitObject)&&(Frame->TransitObject_MusicTrack==NULL)&&(Frame->TransitObject_MusicObject!=NULL)&&(Frame->TransitObject_MusicObject!=Frame->CurrentObject_MusicObject)) { Frame->TransitObject_MusicTrack=new cSoundBlockList(); Frame->TransitObject_MusicTrack->SetFPS(IncreasingVideoPts,AudioChannels,AudioSampleRate,AV_SAMPLE_FMT_S16); } // Ensure SoundTracks are ready if ((AudioStream)&&(Frame->CurrentObject)&&(Frame->CurrentObject_SoundTrackMontage==NULL)) { Frame->CurrentObject_SoundTrackMontage=new cSoundBlockList(); Frame->CurrentObject_SoundTrackMontage->SetFPS(IncreasingVideoPts,AudioChannels,AudioSampleRate,AV_SAMPLE_FMT_S16); } if ((AudioStream)&&(Frame->TransitObject)&&(Frame->TransitObject_SoundTrackMontage==NULL)) { Frame->TransitObject_SoundTrackMontage=new cSoundBlockList(); Frame->TransitObject_SoundTrackMontage->SetFPS(IncreasingVideoPts,AudioChannels,AudioSampleRate,AV_SAMPLE_FMT_S16); } //Prepare+=Time.elapsed(); Time.restart(); // Prepare frame (if W=H=0 then soundonly) if ((Frame->IsTransition)&&(Frame->TransitObject)) Diaporama->CreateObjectContextList(Frame,InternalWidth,InternalHeight,false,false,true,PreparedTransitBrushList,&FakeParentObject); Diaporama->CreateObjectContextList(Frame,InternalWidth,InternalHeight,true,false,true,PreparedBrushList,&FakeParentObject); Diaporama->LoadSources(Frame,InternalWidth,InternalHeight,false,true,PreparedTransitBrushList,PreparedBrushList); // Load background and image //LoadSources+=Time.elapsed(); Time.restart(); // Ensure previous Assembly was ended if (ThreadAssembly.isRunning()) ThreadAssembly.waitForFinished(); // Delete PreviousFrame used by assembly thread if (PreviousPreviousFrame) delete PreviousPreviousFrame; // Keep actual PreviousFrame for next time PreviousPreviousFrame=PreviousFrame; // If not static image then compute using threaded function if ((!PreviousFrame)||(PreviousFrame->RenderedImage.isNull())) ThreadAssembly.setFuture(QtConcurrent::run(this,&cEncodeVideo::Assembly,Frame,PreviousFrame,&RenderMusic,&ToEncodeMusic,Continue)); else Assembly(Frame,PreviousFrame,&RenderMusic,&ToEncodeMusic,Continue); //Assembly+=Time.elapsed(); Time.restart(); // Calculate next position if (Continue) { Position+=IncreasingVideoPts; PreviousFrame=Frame; Frame=NULL; } // Stop the process if error occur or user ask to stop Continue=Continue && !StopProcessWanted; } if (ThreadAssembly.isRunning()) ThreadAssembly.waitForFinished(); if (ThreadEncodeAudio.isRunning()) ThreadEncodeAudio.waitForFinished(); if (ThreadEncodeVideo.isRunning()) ThreadEncodeVideo.waitForFinished(); #ifdef Q_OS_WIN QThread::currentThread()->setPriority(QThread::HighestPriority); #endif Position=-1; ColumnStart=0; AdjustedDuration=0; // Cleaning if (PreviousPreviousFrame) delete PreviousPreviousFrame; if (PreviousFrame!=NULL) delete PreviousFrame; if (Frame!=NULL) delete Frame; CloseEncoder(); return Continue; } //************************************************************************************************************************************************* void cEncodeVideo::Assembly(cDiaporamaObjectInfo *Frame,cDiaporamaObjectInfo *PreviousFrame,cSoundBlockList *RenderMusic,cSoundBlockList *ToEncodeMusic,bool &Continue) { // Make final assembly Diaporama->DoAssembly(ComputePCT(Frame->CurrentObject?Frame->CurrentObject->GetSpeedWave():0,Frame->TransitionPCTDone),Frame,InternalWidth,InternalHeight,QTPIXFMT); // Ensure previous threaded encoding was ended before continuing if (ThreadEncodeAudio.isRunning()) ThreadEncodeAudio.waitForFinished(); if (ThreadEncodeVideo.isRunning()) ThreadEncodeVideo.waitForFinished(); // Write data to disk if ((Continue)&&(AudioStream)&&(AudioFrame)) ThreadEncodeAudio.setFuture(QtConcurrent::run(this,&cEncodeVideo::EncodeMusic,Frame,RenderMusic,ToEncodeMusic,Continue)); if ((Continue)&&(VideoStream)&&(VideoFrameConverter)&&(VideoFrame)) { QImage *Image=((PreviousFrame)&&(!PreviousFrame->IsTransition)&&(Frame->IsShotStatic)&&(!Frame->IsTransition))?NULL:&Frame->RenderedImage; ThreadEncodeVideo.setFuture(QtConcurrent::run(this,&cEncodeVideo::EncodeVideo,Image,Continue)); } } //************************************************************************************************************************************************* void cEncodeVideo::EncodeMusic(cDiaporamaObjectInfo *Frame,cSoundBlockList *RenderMusic,cSoundBlockList *ToEncodeMusic,bool &Continue) { // mix audio data int MaxJ=Frame->CurrentObject_MusicTrack->NbrPacketForFPS; if (MaxJ>Frame->CurrentObject_MusicTrack->ListCount()) MaxJ=Frame->CurrentObject_MusicTrack->ListCount(); for (int j=0;jMixAppendPacket(Frame->CurrentObject_StartTime+Frame->CurrentObject_InObjectTime, Frame->CurrentObject_MusicTrack->DetachFirstPacket(), Frame->CurrentObject_SoundTrackMontage->DetachFirstPacket()); // Transfert RenderMusic data to EncodeMusic data //while ((Continue)&&(RenderMusic->List.count()>0)) { int MaxPQ=RenderMusic->NbrPacketForFPS; if (MaxPQ>RenderMusic->ListCount()) MaxPQ=RenderMusic->ListCount(); for (int PQ=0;(Continue)&&(PQDetachFirstPacket(); if (PacketSound==NULL) { PacketSound=(u_int8_t *)av_malloc(RenderMusic->SoundPacketSize+4); memset(PacketSound,0,RenderMusic->SoundPacketSize); } #if defined(LIBAV) && (LIBAVVERSIONINT<=8) // LIBAV 0.8 => ToEncodeMusic must have exactly AudioStream->codec->frame_size data if ((AudioResampler!=NULL)&&(AudioResamplerBuffer!=NULL)) { int64_t DestNbrSamples=RenderMusic->SoundPacketSize/(RenderMusic->Channels*av_get_bytes_per_sample(RenderMusic->SampleFormat)); int64_t DestPacketSize=audio_resample(AudioResampler,(short int*)AudioResamplerBuffer,(short int*)PacketSound,DestNbrSamples)*AudioStream->codec->channels*av_get_bytes_per_sample(AudioStream->codec->sample_fmt); if (DestPacketSize<=0) { ToLog(LOGMSG_CRITICAL,QString("EncodeMusic: audio_resample failed")); Continue=false; } else ToEncodeMusic->AppendData(Frame->CurrentObject_StartTime+Frame->CurrentObject_InObjectTime,(int16_t *)AudioResamplerBuffer,DestPacketSize); } else ToEncodeMusic->AppendData(Frame->CurrentObject_StartTime+Frame->CurrentObject_InObjectTime,(int16_t *)PacketSound,RenderMusic->SoundPacketSize); #else // LIBAV 9 AND FFMPEG => ToEncodeMusic is converted during encoding process ToEncodeMusic->AppendData(Frame->CurrentObject_StartTime+Frame->CurrentObject_InObjectTime,(int16_t *)PacketSound,RenderMusic->SoundPacketSize); #endif av_free(PacketSound); } int errcode; int64_t DestNbrSamples=ToEncodeMusic->SoundPacketSize/(ToEncodeMusic->Channels*av_get_bytes_per_sample(ToEncodeMusic->SampleFormat)); int DestSampleSize=AudioStream->codec->channels*av_get_bytes_per_sample(AudioStream->codec->sample_fmt); u_int8_t *DestPacket =NULL; int16_t *PacketSound =NULL; int64_t DestPacketSize=DestNbrSamples*DestSampleSize; // Flush audio frame of ToEncodeMusic while ((Continue)&&(ToEncodeMusic->ListCount()>0)&&(!StopProcessWanted)) { PacketSound=ToEncodeMusic->DetachFirstPacket(); if (PacketSound==NULL) { ToLog(LOGMSG_CRITICAL,QString("EncodeMusic: PacketSound==NULL")); Continue=false; } else { #if defined(LIBAV) && (LIBAVVERSIONINT<=8) DestPacket=(u_int8_t *)PacketSound; #elif defined(LIBAV) && (LIBAVVERSIONINT<=9) // LIBAV 9 => Convert sample format (is needed) if ((AudioResampler!=NULL)&&(AudioResamplerBuffer!=NULL)) { DestPacket=AudioResamplerBuffer; u_int8_t *in_data[RESAMPLE_MAX_CHANNELS]={0},*out_data[RESAMPLE_MAX_CHANNELS]={0}; int in_linesize=0,out_linesize=0; int out_samples=avresample_available(AudioResampler)+av_rescale_rnd(avresample_get_delay(AudioResampler)+DestNbrSamples,AudioStream->codec->sample_rate,ToEncodeMusic->SamplingRate,AV_ROUND_UP); if (av_samples_fill_arrays(in_data,&in_linesize,(u_int8_t *)PacketSound,ToEncodeMusic->Channels,DestNbrSamples,ToEncodeMusic->SampleFormat,1)<0) { ToLog(LOGMSG_CRITICAL,QString("failed in_data fill arrays")); Continue=false; } else { if (av_samples_fill_arrays(out_data,&out_linesize,AudioResamplerBuffer,AudioStream->codec->channels,out_samples,AudioStream->codec->sample_fmt,1)<0) { ToLog(LOGMSG_CRITICAL,QString("failed out_data fill arrays")); Continue=false; } else { DestPacketSize=avresample_convert(AudioResampler,out_data,out_linesize,out_samples,in_data,in_linesize,DestNbrSamples)*DestSampleSize; if (DestPacketSize<=0) { ToLog(LOGMSG_CRITICAL,QString("Error in avresample_convert")); Continue=false; } } } DestPacket=out_data[0]; } else DestPacket=(u_int8_t *)PacketSound; #elif defined(FFMPEG) if (AudioResampler!=NULL) { int out_samples=av_rescale_rnd(swr_get_delay(AudioResampler,ToEncodeMusic->SamplingRate)+DestNbrSamples,AudioStream->codec->sample_rate,ToEncodeMusic->SamplingRate,AV_ROUND_UP); av_samples_alloc(&AudioResamplerBuffer,NULL,AudioStream->codec->channels,out_samples,AudioStream->codec->sample_fmt,0); if (!AudioResamplerBuffer) { ToLog(LOGMSG_CRITICAL,QString("EncodeMusic: AudioResamplerBuffer allocation failed")); Continue=false; } u_int8_t *in_data[RESAMPLE_MAX_CHANNELS]={0},*out_data[RESAMPLE_MAX_CHANNELS]={0}; int in_linesize=0,out_linesize=0; if (av_samples_fill_arrays(in_data,&in_linesize,(u_int8_t *)PacketSound,ToEncodeMusic->Channels,DestNbrSamples,ToEncodeMusic->SampleFormat,0)<0) { ToLog(LOGMSG_CRITICAL,QString("failed in_data fill arrays")); Continue=false; } else { if (av_samples_fill_arrays(out_data,&out_linesize,AudioResamplerBuffer,AudioStream->codec->channels,out_samples,AudioStream->codec->sample_fmt,0)<0) { ToLog(LOGMSG_CRITICAL,QString("failed out_data fill arrays")); Continue=false; } else { //DestPacketSize=swr_convert(AudioResampler,out_data,out_samples,(const u_int8_t **)&in_data,DestNbrSamples)*DestSampleSize; DestPacketSize=swr_convert(AudioResampler,out_data,out_samples,(const u_int8_t **)in_data,DestNbrSamples)*DestSampleSize; if (DestPacketSize<=0) { ToLog(LOGMSG_CRITICAL,QString("EncodeMusic: swr_convert failed")); Continue=false; } DestPacket=(u_int8_t *)out_data[0]; } } } else DestPacket=(u_int8_t *)PacketSound; #endif if (Continue) { // Init AudioFrame AVRational AVR; avcodec_get_frame_defaults(AudioFrame); AVR.num =1; AVR.den =AudioStream->codec->sample_rate; AudioFrame->nb_samples =DestPacketSize/DestSampleSize; AudioFrame->pts =av_rescale_q(AudioFrame->nb_samples*AudioFrameNbr,AVR,AudioStream->time_base); #if (defined(LIBAV) && (LIBAVVERSIONINT>=9)) || defined(FFMPEG) AudioFrame->format =AudioStream->codec->sample_fmt; AudioFrame->channel_layout =AudioStream->codec->channel_layout; #endif // fill buffer errcode=avcodec_fill_audio_frame(AudioFrame,AudioStream->codec->channels,AudioStream->codec->sample_fmt,(const u_int8_t*)DestPacket,DestPacketSize,1); if (errcode>=0) { // Init packet AVPacket pkt; av_init_packet(&pkt); pkt.size=0; pkt.data=NULL; int got_packet=0; errcode=avcodec_encode_audio2(AudioStream->codec,&pkt,AudioFrame,&got_packet); if (errcode<0) { char Buf[2048]; av_strerror(errcode,Buf,2048); ToLog(LOGMSG_CRITICAL,QString("EncodeMusic: avcodec_encode_audio2() failed: ")+QString(Buf)); Continue=false; } else if (got_packet) { pkt.flags|=AV_PKT_FLAG_KEY; if (AudioStream->codec->coded_frame && AudioStream->codec->coded_frame->pts!=(int64_t)AV_NOPTS_VALUE) pkt.pts=av_rescale_q(AudioStream->codec->coded_frame->pts,AudioStream->codec->time_base,AudioStream->time_base); // write the compressed frame in the media file pkt.stream_index=AudioStream->index; // Encode frame Mutex.lock(); if (InterleaveFrame) { errcode=av_interleaved_write_frame(Container,&pkt); } else { pkt.pts=AV_NOPTS_VALUE; pkt.dts=AV_NOPTS_VALUE; errcode=av_write_frame(Container,&pkt); } Mutex.unlock(); if (errcode!=0) { char Buf[2048]; av_strerror(errcode,Buf,2048); ToLog(LOGMSG_CRITICAL,QString("EncodeMusic: av_interleaved_write_frame failed: ")+QString(Buf)); Continue=false; } } LastAudioPts+=IncreasingAudioPts; AudioFrameNbr++; //ToLog(LOGMSG_INFORMATION,QString("Audio: Stream:%1 - Frame:%2 - PTS:%3").arg(AudioStream->index).arg(AudioFrameNbr).arg(LastAudioPts)); } else { char Buf[2048]; av_strerror(errcode,Buf,2048); ToLog(LOGMSG_CRITICAL,QString("EncodeMusic: avcodec_fill_audio_frame() failed: ")+QString(Buf)); Continue=false; } } if ((AudioFrame->extended_data)&&(AudioFrame->extended_data!=AudioFrame->data)) { av_free(AudioFrame->extended_data); AudioFrame->extended_data=NULL; } } av_free(PacketSound); #if defined(USELIBSWRESAMPLE) av_free(AudioResamplerBuffer); AudioResamplerBuffer=NULL; #endif } } //************************************************************************************************************************************************* void cEncodeVideo::EncodeVideo(QImage *SrcImage,bool &Continue) { QImage *Image=SrcImage; int errcode; if (Image) { avcodec_get_frame_defaults(VideoFrame); if (avpicture_fill( (AVPicture *)VideoFrame, // Frame to prepare VideoFrameBuf, // Buffer which will contain the image data VideoStream->codec->pix_fmt, // The format in which the picture data is stored VideoStream->codec->width, // The width of the image in pixels VideoStream->codec->height // The height of the image in pixels )!=VideoFrameBufSize) { ToLog(LOGMSG_CRITICAL,"EncodeVideo-EncodeVideo: avpicture_fill() failed for VideoFrameBuf"); return; } // Apply ExtendV if ((Continue)&&(!StopProcessWanted)&&(Image->height()!=VideoStream->codec->height)) { Image=new QImage(InternalWidth,VideoStream->codec->height,QTPIXFMT); QPainter P; P.begin(Image); P.fillRect(QRect(0,0,Image->width(),Image->height()),Qt::black); P.drawImage(0,(VideoStream->codec->height-SrcImage->height())/2,*SrcImage); P.end(); } // Now, convert image if ((Continue)&&(!StopProcessWanted)) { #ifdef USELIBSWRESAMPLE u_int8_t *data={(u_int8_t *)Image->bits()}; #else u_int8_t *data=(u_int8_t *)Image->bits(); #endif int LineSize=Image->bytesPerLine(); int Ret=sws_scale( VideoFrameConverter, // libswscale converter &data, // Source buffer &LineSize, // Source Stride ? 0, // Source SliceY:the position in the source image of the slice to process, that is the number (counted starting from zero) in the image of the first row of the slice Image->height(), // Source SliceH:the height of the source slice, that is the number of rows in the slice VideoFrame->data, // Destination buffer VideoFrame->linesize // Destination Stride ); if (Ret!=Image->height()) { ToLog(LOGMSG_CRITICAL,"EncodeVideo-ConvertRGBToYUV: sws_scale() failed"); Continue=false; } } } if ((VideoFrameNbr%VideoStream->codec->gop_size)==0) VideoFrame->pict_type=AV_PICTURE_TYPE_I; else VideoFrame->pict_type=(AVPictureType)0; VideoFrame->pts=VideoFrameNbr; if ((Continue)&&(!StopProcessWanted)) { AVPacket pkt; av_init_packet(&pkt); pkt.size=0; pkt.data=NULL; #if defined(LIBAV) && (LIBAVVERSIONINT<=8) int out_size=avcodec_encode_video(VideoStream->codec,VideoEncodeBuffer,VideoEncodeBufferSize,VideoFrame); if (out_size<0) { ToLog(LOGMSG_CRITICAL,QString("EncodeVideo: avcodec_encode_video failed")); Continue=false; } else if (out_size>0) { pkt.data=VideoEncodeBuffer; pkt.size=out_size; if (VideoStream->codec->coded_frame && VideoStream->codec->coded_frame->pts!=(int64_t)AV_NOPTS_VALUE) pkt.pts=av_rescale_q(VideoStream->codec->coded_frame->pts,VideoStream->codec->time_base,VideoStream->time_base); #else int got_packet=0; errcode=avcodec_encode_video2(VideoStream->codec,&pkt,VideoFrame,&got_packet); if (errcode!=0) { char Buf[2048]; av_strerror(errcode,Buf,2048); ToLog(LOGMSG_CRITICAL,QString("EncodeVideo: avcodec_encode_video2 failed")+QString(Buf)); Continue=false; } else if (got_packet) { if (pkt.dts!=(int64_t)AV_NOPTS_VALUE) pkt.dts=av_rescale_q(pkt.dts,VideoStream->codec->time_base,VideoStream->time_base); if (pkt.pts!=(int64_t)AV_NOPTS_VALUE) pkt.pts=av_rescale_q(pkt.pts,VideoStream->codec->time_base,VideoStream->time_base); #endif pkt.stream_index=VideoStream->index; if (VideoStream->codec->coded_frame && VideoStream->codec->coded_frame->key_frame) pkt.flags|=AV_PKT_FLAG_KEY; // Encode frame Mutex.lock(); if (InterleaveFrame) { errcode=av_interleaved_write_frame(Container,&pkt); } else { pkt.pts=AV_NOPTS_VALUE; pkt.dts=AV_NOPTS_VALUE; errcode=av_write_frame(Container,&pkt); } Mutex.unlock(); if (errcode!=0) { char Buf[2048]; av_strerror(errcode,Buf,2048); ToLog(LOGMSG_CRITICAL,QString("EncodeVideo: av_interleaved_write_frame failed: ")+QString(Buf)); Continue=false; } } LastVideoPts+=IncreasingVideoPts; VideoFrameNbr++; //ToLog(LOGMSG_INFORMATION,QString("Video: Stream:%1 - Frame:%2 - PTS:%3").arg(VideoStream->index).arg(VideoFrameNbr).arg(LastVideoPts)); if ((VideoFrame->extended_data)&&(VideoFrame->extended_data!=VideoFrame->data)) { av_free(VideoFrame->extended_data); VideoFrame->extended_data=NULL; } } if ((Image)&&(Image!=SrcImage)) delete Image; } ffDiaporama/src/ffDiaporama/engine/_Diaporama.h0000777000175000001440000007157612275647323021714 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef CDIAPORAMA_H #define CDIAPORAMA_H // Basic inclusions (common to all files) #include "_GlobalDefines.h" #include "_Transition.h" // Include some additional standard class #include "cApplicationConfig.h" #include "cBaseMediaFile.h" #include "cBrushDefinition.h" #include "cTextFrame.h" #include "_SDL_Support.h" // Specific inclusions class cCompositionList; class cCompositionObject; class cDiaporamaShot; class cDiaporamaObjectInfo; class cDiaporama; class cDiaporamaObject; // Shot type definition #define SHOTTYPE_STATIC 0 #define SHOTTYPE_MOBIL 1 #define SHOTTYPE_VIDEO 2 //============================================ // Block animations //============================================ #define BLOCKANIMTYPE_NONE 0 #define BLOCKANIMTYPE_MULTIPLETURN 1 #define BLOCKANIMTYPE_DISSOLVE 2 #define BLOCKANIMVALUE_APPEAR 0 #define BLOCKANIMVALUE_DISAPPEAR 1 #define BLOCKANIMVALUE_BLINK_SLOW 2 #define BLOCKANIMVALUE_BLINK_MEDIUM 3 #define BLOCKANIMVALUE_BLINK_FAST 4 #define BLOCKANIMVALUE_BLINK_VERYFAST 5 //============================================ // Text margins //============================================ #define TEXTMARGINS_FULLSHAPE 0 #define TEXTMARGINS_SHAPEDEFAULT 1 #define TEXTMARGINS_CUSTOM 2 //============================================ // Default values //============================================ #define DEFAULT_FONT_FAMILLY "Arial" #define DEFAULT_FONT_SIZE 12 #define DEFAULT_FONT_COLOR "#ffffaa" #define DEFAULT_FONT_SHADOWCOLOR "#333333" #define DEFAULT_FONT_ISBOLD false #define DEFAULT_FONT_ISITALIC false #define DEFAULT_FONT_ISUNDERLINE false #define DEFAULT_FONT_HALIGN 1 #define DEFAULT_FONT_VALIGN 1 #define DEFAULT_FONT_TEXTEFFECT 5 #define DEFAULT_SHAPE_OPACITY 0 #define DEFAULT_SHAPE_BORDERSIZE 0 #define DEFAULT_SHAPE_BORDERCOLOR "#333333" #define DEFAULT_SHAPE_SHADOWCOLOR "#000000" #define DEFAULT_SHAPE_INTERNALBORDERSIZE 6 #define DEFAULT_SHAPE_INTERNALBORDERCOLOR1 "#808080" #define DEFAULT_SHAPE_INTERNALBORDERCOLOR2 "#c0c0c0" #define DEFAULT_SHAPE_BRUSHCOLORD "#808080" //********************************************************************************************************************************************* // Base object for composition definition //********************************************************************************************************************************************* class cCompositionObjectContext : public QObject { Q_OBJECT public: bool NeedPreparedBrush; double width,height; bool PreviewMode; bool AddStartPos; int64_t VideoPosition,StartPosToAdd,ShotDuration; cSoundBlockList *SoundTrackMontage; double BlockPctDone,ImagePctDone; cCompositionObject *PrevCompoObject; bool UseBrushCache,Transfo,EnableAnimation; double NewX,NewY,NewW,NewH; double TheX,TheY,TheW,TheH; double TheRotateZAxis,TheRotateXAxis,TheRotateYAxis; double TheTxtZoomLevel,TheTxtScrollX,TheTxtScrollY; double X,Y,W,H; double DestOpacity; bool IsCurrentObject; QList PolygonList; QRectF ShapeRect; cDiaporamaShot *CurShot; cDiaporamaShot *PreviousShot; cDiaporamaObjectInfo *Info; int ObjectNumber; explicit cCompositionObjectContext(int ObjectNumber,bool PreviewMode,bool IsCurrentObject,cDiaporamaObjectInfo *Info,double width,double height, cDiaporamaShot *CurShot,cDiaporamaShot *PreviousShot,cSoundBlockList *SoundTrackMontage,bool AddStartPos, int64_t ShotDuration,QObject *Parent); void Compute(); }; //********************************** class cCompositionObject : public QObject { Q_OBJECT public: int TypeComposition; // Type of composition object (COMPOSITIONTYPE_BACKGROUND, COMPOSITIONTYPE_OBJECT, COMPOSITIONTYPE_SHOT) int IndexKey; bool IsVisible; // True if block is visible during this shot bool BlockInheritance; // If true and not first shot then use the same value as in precedent shot // Coordinates attributs of the object (Shot values) double x,y,w,h; // Position (x,y) and size (width,height) double RotateZAxis; // Rotation from Z axis double RotateXAxis; // Rotation from X axis double RotateYAxis; // Rotation from Y axis // Block Annimation int BlockSpeedWave; // Speed wave for block animation int BlockAnimType; // Type of block animation (#define BLOCKANIMTYPE_) int TurnZAxis; // BLOCKANIMTYPE_MULTIPLETURN : Number of turn from Z axis int TurnXAxis; // BLOCKANIMTYPE_MULTIPLETURN : Number of turn from X axis int TurnYAxis; // BLOCKANIMTYPE_MULTIPLETURN : Number of turn from Y axis int Dissolve; // BLOCKANIMTYPE_DISSOLVE : Dissolve value // Attribut of the text part (Global values) QString Text; // Text of the object QString TextClipArtName; // ClipArt name (if text clipart mode) QString FontName; // font name int FontSize; // font size QString FontColor; // font color QString FontShadowColor; // font shadow color bool IsBold; // true if bold mode bool IsItalic; // true if Italic mode bool IsUnderline; // true if Underline mode int HAlign; // Horizontal alignement : 0=left, 1=center, 2=right, 3=justif int VAlign; // Vertical alignement : 0=up, 1=center, 2=bottom int StyleText; // Style : 0=normal, 1=outerline, 2=shadow up-left, 3=shadow up-right, 4=shadow bt-left, 5=shadow bt-right int TxtZoomLevel; // Zoom Level for text int TxtScrollX; // Scrolling X for text int TxtScrollY; // Scrolling Y for text int TMType; // Text margins type (0=full shape, 1=shape default, 2=custom) double TMx,TMy,TMw,TMh; // Text margins // Attribut of the shap part (Global values) int BackgroundForm; // Type of the form : 0=None, 1=Rectangle, 2=RoundRect, 3=Buble, 4=Ellipse, 5=Triangle UP (Polygon) cBrushDefinition *BackgroundBrush; // Brush of the background of the form int PenSize; // Width of the border of the form int PenStyle; // Style of the pen border of the form QString PenColor; // Color of the border of the form int FormShadow; // 0=none, 1=shadow up-left, 2=shadow up-right, 3=shadow bt-left, 4=shadow bt-right int FormShadowDistance; // Distance from form to shadow QString FormShadowColor; // Color of the shadow of the form int Opacity; // Opacity of the form // Optimisation flags bool IsTextEmpty; bool IsFullScreen; cApplicationConfig *ApplicationConfig; explicit cCompositionObject(int TypeComposition,int IndexKey,cApplicationConfig *TheApplicationConfig,QObject *Parent); ~cCompositionObject(); void InitDefaultValues(); void CopyBlockProperties(cCompositionObject *SourceBlock,cCompositionObject *DestBlock); void CopyFromCompositionObject(cCompositionObject *CompositionObjectToCopy); void DrawCompositionObject(cDiaporamaObject *Object,QPainter *Painter,double ADJUST_RATIO,double width,double height,bool PreviewMode,int64_t Position, cSoundBlockList *SoundTrackMontage,double BlockPctDone,double ImagePctDone,cCompositionObject *PreviousCompositionObject, int64_t ShotDuration,bool EnableAnimation, bool Transfo=false,double NewX=0,double NewY=0,double NewW=0,double NewH=0, bool DisplayTextMargin=false,cCompositionObjectContext *PreparedBrush=NULL); void SaveToXML(QDomElement &domDocument,QString ElementName,QString PathForRelativPath,bool ForceAbsolutPath,bool CheckTypeComposition,cReplaceObjectList *ReplaceList,QList *ResKeyList,bool SaveBrush,bool IsModel); bool LoadFromXML(QDomElement domDocument,QString ElementName,QString PathForRelativPath,cCompositionList *ObjectComposition,QStringList *AliasList,bool CheckTypeComposition,QList *ResKeyList,bool DuplicateRes,bool RestoreBrush,cCompositionObject *GlobalBlock=NULL); QRectF GetTextMargin(QRectF Workspace,double ADJUST_RATIO); void ApplyTextMargin(int TMType); // Style managment functions int GetAutoCompoSize(int ffDProjectGeometry); void ApplyAutoCompoSize(int AutoCompoStyle,int ffDProjectGeometry,bool AllowMove=true); QString GetCoordinateStyle(); void ApplyCoordinateStyle(QString StyleDef); QString GetTextStyle(); void ApplyTextStyle(QString StyleDef); QString GetBackgroundStyle(); void ApplyBackgroundStyle(QString StyleDef); QString GetBlockShapeStyle(); void ApplyBlockShapeStyle(QString StyleDef); void ComputeOptimisationFlags(cCompositionObject *Previous); private: QRectF GetPrivateTextMargin(); }; //********************************************************************************************************************************************* // Global class containing composition list //********************************************************************************************************************************************* class cCompositionList : public QObject { Q_OBJECT public: int TypeComposition; // Type of composition list QList List; // list of cCompositionObject explicit cCompositionList(QObject *Parent); ~cCompositionList(); void SaveToXML(QDomElement &domDocument,QString ElementName,QString PathForRelativPath,bool ForceAbsolutPath,cReplaceObjectList *ReplaceList,QList *ResKeyList,bool IsModel); bool LoadFromXML(QDomElement domDocument,QString ElementName,QString PathForRelativPath,cCompositionList *ObjectComposition,QStringList *AliasList,cApplicationConfig *ApplicationConfig,QList *ResKeyList,bool DuplicateRes); }; //********************************************************************************************************************************************* // Base object for scene definition //********************************************************************************************************************************************* class cDiaporamaShot : public QObject { Q_OBJECT public: cDiaporamaObject *Parent; int64_t StaticDuration; // Duration (in msec) of the static part animation cCompositionList ShotComposition; // Shot Composition object list explicit cDiaporamaShot(cDiaporamaObject *Parent); ~cDiaporamaShot(); void SaveToXML(QDomElement &domDocument,QString ElementName,QString PathForRelativPath,bool ForceAbsolutPath,bool LimitedInfo,cReplaceObjectList *ReplaceList,QList *ResKeyList,bool IsModel); bool LoadFromXML(QDomElement domDocument,QString ElementName,QString PathForRelativPath,cCompositionList *ObjectComposition,QStringList *AliasList,QList *ResKeyList,bool DuplicateRes); }; //********************************************************************************************************************************************* // class containing one slide //********************************************************************************************************************************************* class cDiaporamaObject : public QObject { Q_OBJECT public: cDiaporama *Parent; // Link to global object QString SlideName; // Display name of the slide QList List; // list of scene definition // Cached data to improve interface speed int64_t CachedDuration; // Real duration of the slide int64_t CachedTransitDuration; // Real duration of the transition of slide int64_t CachedStartPosition; // Start position of the music int CachedMusicIndex; // Index of slide owner of the music int CachedBackgroundIndex; // Index of slide owner of the background bool CachedHaveFilter; // True if object in slide have at least one filter bool CachedHaveSound; // True if object in slide have sound double CachedSoundVolume; // Max volume in the slide // Chapter definition bool StartNewChapter; // if true then start a new chapter from this slide QString ChapterName; // Chapter name bool OverrideProjectEventDate; // if true then chapter date is different from project date QDate ChapterEventDate; // Chapter event date (if OverrideProjectEventDate is true) bool OverrideChapterLongDate; // if true then chapter long date is different from project long date QString ChapterLongDate; // Chapter long date (if OverrideChapterLongDate is true) void *ChapterLocation; // Chapter location (NULL if same as project) // Background definition bool BackgroundType; // Background type : false=same as precedent - true=new background definition cBrushDefinition *BackgroundBrush; // Background brush // Object definition cCompositionList ObjectComposition; // Composition object list int NextIndexKey; // Next index key (incremental value) // Music definition bool MusicType; // Music type : false=same as precedent - true=new playlist definition bool MusicPause; // true if music is pause during this object bool MusicReduceVolume; // true if volume if reduce by MusicReduceFactor double MusicReduceFactor; // factor for volume reduction if MusicReduceVolume is true // Transition TRFAMILLY TransitionFamilly; // Transition familly int TransitionSubType; // Transition type in the familly int64_t TransitionDuration; // Transition duration (in msec) int TransitionSpeedWave; // Transition SpeedWave qlonglong ThumbnailKey; // Thumbnail key in the database QList MusicList; // List of music definition explicit cDiaporamaObject(cDiaporama *Parent); ~cDiaporamaObject(); void InitDefaultValues(); QString GetDisplayName(); int64_t GetCumulTransitDuration(); int64_t GetDuration(); void DrawThumbnail(int ThumbWidth,int ThumbHeight,QPainter *Painter,int AddX,int AddY,int ShotNumber=0); // Draw Thumb @ position 0 void SaveToXML(QDomElement &domDocument,QString ElementName,QString PathForRelativPath,bool ForceAbsolutPath,cReplaceObjectList *ReplaceList,QList *ResKeyList,bool SaveThumbAllowed); bool LoadFromXML(QDomElement domDocument,QString ElementName,QString PathForRelativPath,QStringList *AliasList,QList *ResKeyList,bool DuplicateRes); int64_t GetTransitDuration(); int GetSpeedWave(); int ComputeChapterNumber(cDiaporamaObject **Object=NULL); int GetSlideNumber(); int GetAutoTSNumber(); // Models part void LoadModelFromXMLData(ffd_MODELTYPE TypeModel,QDomDocument domDocument,QList *ResKeyList,bool DuplicateRes); bool SaveModelFile(ffd_MODELTYPE TypeModel,QString ModelFileName); QString SaveAsNewCustomModelFile(ffd_MODELTYPE TypeModel); // Thread functions void ThreadedLoadThumb(QDomElement Element); }; //********************************************************************************************************************************************* // Technical class object for rendering //********************************************************************************************************************************************* class cDiaporamaObjectInfo { public: //=====> All objects QImage RenderedImage; // Final image rendered double FrameDuration; // Duration of a frame (in msec) bool IsShotStatic; bool IsTransitStatic; //=====> Current object int CurrentObject_Number; // Object number int64_t CurrentObject_StartTime; // Position (in msec) of the first frame relative to the diaporama int64_t CurrentObject_InObjectTime; // Position (in msec) in the object cDiaporamaObject *CurrentObject; // Link to the current object int CurrentObject_ShotSequenceNumber; // Number of the shot sequence in the current object cDiaporamaShot *CurrentObject_CurrentShot; // Link to the current shot in the current object int CurrentObject_CurrentShotType; // Type of the current shot : Static/Mobil/Video int64_t CurrentObject_ShotDuration; // Time the static shot end (if CurrentObject_CurrentShotType=SHOTTYPE_STATIC) double CurrentObject_PCTDone; // PCT achevement for static shot int CurrentObject_BackgroundIndex; // Object number containing current background definition QBrush *CurrentObject_BackgroundBrush; // Current background brush bool CurrentObject_FreeBackgroundBrush; // True if allow to delete CurrentObject_BackgroundBrush during destructor QImage CurrentObject_PreparedBackground; // Current image produce for background cSoundBlockList *CurrentObject_SoundTrackMontage; // Sound for playing sound from montage track bool CurrentObject_FreeSoundTrackMontage; // True if allow to delete CurrentObject_SoundTrackMontage during destructor QImage CurrentObject_PreparedImage; // Current image prepared cSoundBlockList *CurrentObject_MusicTrack; // Sound for playing music from music track bool CurrentObject_FreeMusicTrack; // True if allow to delete CurrentObject_MusicTrack during destructor cMusicObject *CurrentObject_MusicObject; // Ref to the current playing music //=====> Transitionnal object bool IsTransition; // True if transition in progress double TransitionPCTDone; // PCT achevement for transition TRFAMILLY TransitionFamilly; // Transition familly int TransitionSubType; // Transition type in the familly int64_t TransitionDuration; // Transition duration (in msec) int TransitObject_Number; // Object number int64_t TransitObject_StartTime; // Position (in msec) of the first frame relative to the diaporama int64_t TransitObject_InObjectTime; // Position (in msec) in the object cDiaporamaObject *TransitObject; // Link to the current object int TransitObject_ShotSequenceNumber; // Number of the shot sequence in the current object cDiaporamaShot *TransitObject_CurrentShot; // Link to the current shot in the current object int TransitObject_CurrentShotType; // Type of the current shot : Static/Mobil/Video int64_t TransitObject_ShotDuration; // Time the static shot end (if TransitObject_CurrentShotType=SHOTTYPE_STATIC) double TransitObject_PCTDone; // PCT achevement for static shot int TransitObject_BackgroundIndex; // Object number containing current background definition QBrush *TransitObject_BackgroundBrush; // Current background brush bool TransitObject_FreeBackgroundBrush; // True if allow to delete TransitObject_BackgroundBrush during destructor QImage TransitObject_PreparedBackground; // Current image produce for background cSoundBlockList *TransitObject_SoundTrackMontage; // Sound for playing sound from montage track bool TransitObject_FreeSoundTrackMontage; // True if allow to delete TransitObject_SoundTrackMontage during destructor QImage TransitObject_PreparedImage; // Current image prepared cSoundBlockList *TransitObject_MusicTrack; // Sound for playing music from music track bool TransitObject_FreeMusicTrack; // True if allow to delete TransitObject_MusicTrack during destructor cMusicObject *TransitObject_MusicObject; // Ref to the current playing music cDiaporamaObjectInfo(); cDiaporamaObjectInfo(cDiaporamaObjectInfo *PreviousFrame,int64_t TimePosition,cDiaporama *Diaporama,double FrameDuration,bool WantSound); ~cDiaporamaObjectInfo(); void Copy(cDiaporamaObjectInfo *PreviousFrame); bool ComputeIsShotStatic(cDiaporamaObject *Object,int ShotNumber); }; //********************************************************************************************************************************************* // Global class containing the project //********************************************************************************************************************************************* class cDiaporama :public QObject { Q_OBJECT public: cApplicationConfig *ApplicationConfig; cffDProjectFile *ProjectInfo; QString ThumbnailName; cDiaporamaObject *ProjectThumbnail; int CurrentCol; // Current position in the timeline (column) int64_t CurrentPosition; // Current position in the timeline (msec) int CurrentChapter; QString CurrentChapterName; bool IsModify; // true if project was modify QString ProjectFileName; // Path and name of current file project // Output rendering values ffd_GEOMETRY ImageGeometry; // Project image geometry for image rendering int InternalWidth; // Real width for image rendering int InternalHeight; // Real height for image rendering // Speed wave int TransitionSpeedWave; // Speed wave for transition int BlockAnimSpeedWave; // Speed wave for block animation int ImageAnimSpeedWave; // Speed wave for image framing and correction animation // slides objects QList List; // list of all media object explicit cDiaporama(cApplicationConfig *ApplicationConfig,bool LoadDefaultModel,QObject *Parent); ~cDiaporama(); int GetHeightForWidth(int WantedWith); int GetWidthForHeight(int WantedHeight); int GetObjectIndex(cDiaporamaObject *ObjectToFind); int64_t GetDuration(); int64_t GetPartialDuration(int from,int to); int64_t GetObjectStartPosition(int index); int64_t GetTransitionDuration(int index); void UpdateCachedInformation(); void PrepareBackground(int ObjectIndex,int Width,int Height,QPainter *Painter,int AddX,int AddY); cMusicObject *GetMusicObject(int ObjectIndex,int64_t &StartPosition,int *CountObject=NULL,int *IndexObject=NULL); void DefineSizeAndGeometry(ffd_GEOMETRY Geometry); // Init size and geometry bool SaveFile(QWidget *ParentWindow,cReplaceObjectList *ReplaceList=NULL,QString *ExportFileName=NULL); void UpdateInformation(); void UpdateChapterInformation(); void UpdateStatInformation(); cDiaporamaObject *GetChapterDefObject(cDiaporamaObject *Object); // Thread functions void PrepareMusicBloc(bool PreviewMode,int Column,int64_t Position,cSoundBlockList *MusicTrack); void LoadSources(cDiaporamaObjectInfo *Info,int W,int H,bool PreviewMode,bool AddStartPos,QList &PreparedTransitBrushList,QList &PreparedBrushList); void DoAssembly(double PCT,cDiaporamaObjectInfo *Info,int W,int H,QImage::Format QTFMT=QImage::Format_ARGB32_Premultiplied); // Memory void CloseUnusedLibAv(int CurrentCell); void CreateObjectContextList(cDiaporamaObjectInfo *Info,int W,int H,bool IsCurrentObject,bool PreviewMode,bool AddStartPos,QList &PreparedBrushList,QObject *Parent); void PrepareImage(cDiaporamaObjectInfo *Info,int W,int H,bool IsCurrentObject,bool AddStartPos,QList &PreparedBrushList); void UpdateGMapsObject(bool ProposeAll=false); }; #endif // CDIAPORAMA_H ffDiaporama/src/ffDiaporama/engine/_Diaporama.cpp0000777000175000001440000066016312275647324022244 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ // Specific inclusions #include "_Diaporama.h" #include "_Variables.h" #include "cLocation.h" #include "CustomCtrl/_QCustomDialog.h" #include "DlgGMapsLocation/DlgGMapsGeneration.h" #include "MainWindow/mainwindow.h" #include #include #include #include #include int64_t TotalLoadSources=0,TotalAssembly=0,TotalLoadSound=0; // Composition parameters #define DEFAULT_ROTATEZAXIS 0 #define DEFAULT_ROTATEXAXIS 0 #define DEFAULT_ROTATEYAXIS 0 #define DEFAULT_TXTZOOMLEVEL 100 #define DEFAULT_TXTSCROLLX 0 #define DEFAULT_TXTSCROLLY 0 #define DEFAULT_BLOCKANIMTYPE BLOCKANIMTYPE_NONE #define DEFAULT_TURNZAXIS 0 #define DEFAULT_TURNXAXIS 0 #define DEFAULT_TURNYAXIS 0 #define DEFAULT_DISSOLVE BLOCKANIMVALUE_APPEAR #define DEFAULT_BACKGROUNDFORM 1 #define DEFAULT_SHAPE_PENSTYLE Qt::SolidLine #define DEFAULT_SHAPE_SHADOW 0 #define DEFAULT_SHAPE_SHADOWDISTANCE 5 #define DEFAULT_TRANSITIONDURATION 1000 #define DEFAULT_MUSICTYPE false #define DEFAULT_MUSICPAUSE false #define DEFAULT_MUSICREDUCEVOLUME false #define DEFAULT_MUSICREDUCEFACTOR 0.2 #define DEFAULT_STARTNEWCHAPTER false #define DEFAULT_CHAPTEROVERRIDE false //==================================================================================================================== cCompositionObjectContext::cCompositionObjectContext(int ObjectNumber,bool PreviewMode,bool IsCurrentObject,cDiaporamaObjectInfo *Info,double width,double height, cDiaporamaShot *CurShot,cDiaporamaShot *PreviousShot,cSoundBlockList *SoundTrackMontage,bool AddStartPos, int64_t ShotDuration,QObject *Parent):QObject(Parent) { setObjectName("cCompositionObjectContext"); this->NeedPreparedBrush =false; this->PrevCompoObject =NULL; this->width =width; this->height =height; this->PreviewMode =PreviewMode; this->UseBrushCache =false; this->Transfo =false; this->EnableAnimation =true; this->NewX =0; this->NewY =0; this->NewW =0; this->NewH =0; this->ShotDuration =ShotDuration; this->IsCurrentObject =IsCurrentObject; this->CurShot =CurShot; this->PreviousShot =PreviousShot; this->Info =Info; this->ObjectNumber =ObjectNumber; this->SoundTrackMontage =SoundTrackMontage; this->AddStartPos =AddStartPos; } //==================================================================================================================== // Compute // BlockPctDone, ImagePctDone // VideoPosition, StartPosToAdd, PrevCompoObject //==================================================================================================================== void cCompositionObjectContext::Compute() { cDiaporamaObject *CurObject =IsCurrentObject?Info->CurrentObject:Info->TransitObject; int CurTimePosition =(IsCurrentObject?Info->CurrentObject_InObjectTime:Info->TransitObject_InObjectTime); int BlockSpeedWave =CurShot->ShotComposition.List[ObjectNumber]->BlockSpeedWave; int ImageSpeedWave =CurShot->ShotComposition.List[ObjectNumber]->BackgroundBrush->ImageSpeedWave; if (BlockSpeedWave==SPEEDWAVE_PROJECTDEFAULT) BlockSpeedWave=CurShot->Parent->Parent->BlockAnimSpeedWave; if (ImageSpeedWave==SPEEDWAVE_PROJECTDEFAULT) ImageSpeedWave=CurShot->Parent->Parent->ImageAnimSpeedWave; cCompositionObject *Object=CurShot->ShotComposition.List[ObjectNumber]; BlockPctDone=ComputePCT(BlockSpeedWave,IsCurrentObject?Info->CurrentObject_PCTDone:Info->TransitObject_PCTDone); ImagePctDone=ComputePCT(ImageSpeedWave,IsCurrentObject?Info->CurrentObject_PCTDone:Info->TransitObject_PCTDone); // Get PrevCompoObject to enable animation from previous shot if (PreviousShot) { int k=0; while (kShotComposition.List.count()) { if (PreviousShot->ShotComposition.List[k]->IndexKey==CurShot->ShotComposition.List[ObjectNumber]->IndexKey) { PrevCompoObject=PreviousShot->ShotComposition.List[k]; k=PreviousShot->ShotComposition.List.count(); } else k++; } } // Calc StartPosToAdd for video depending on AddStartPos cVideoFile *Video=((CurShot->ShotComposition.List[ObjectNumber]->BackgroundBrush->MediaObject)&&(CurShot->ShotComposition.List[ObjectNumber]->BackgroundBrush->MediaObject->ObjectType==OBJECTTYPE_VIDEOFILE))? (cVideoFile *)CurShot->ShotComposition.List[ObjectNumber]->BackgroundBrush->MediaObject:NULL; StartPosToAdd=((AddStartPos)&&(Video)?QTime(0,0,0,0).msecsTo(Video->StartPos):0); VideoPosition=0; if (Video) { // Calc VideoPosition depending on video set to pause (visible=off) in previous shot int ThePosition=0; int TheShot=0; while ((TheShotList.count())&&(ThePosition+CurObject->List[TheShot]->StaticDurationList[TheShot]->ShotComposition.List.count();w++) if (CurObject->List[TheShot]->ShotComposition.List[w]->IndexKey==CurShot->ShotComposition.List[ObjectNumber]->IndexKey) { if (CurObject->List[TheShot]->ShotComposition.List[w]->IsVisible) VideoPosition+=CurObject->List[TheShot]->StaticDuration; break; } ThePosition+=CurObject->List[TheShot]->StaticDuration; TheShot++; } VideoPosition+=(CurTimePosition-ThePosition); } else VideoPosition=CurTimePosition; // PreparedBrush->W and PreparedBrush->H = 0 when producing sound track in render process if ((!Object->IsVisible)||(width==0)||(height==0)||(Transfo && ((NewW==0)||(NewH==0)))||(!Transfo && ((Object->w==0)||(Object->h==0)))) return; // Define values depending on BlockPctDone and PrevCompoObject TheX =Transfo?NewX:Object->x; TheY =Transfo?NewY:Object->y; TheW =Transfo?NewW:Object->w; TheH =Transfo?NewH:Object->h; TheRotateZAxis =Object->RotateZAxis+(EnableAnimation && (Object->BlockAnimType==BLOCKANIMTYPE_MULTIPLETURN)?360*Object->TurnZAxis:0); TheRotateXAxis =Object->RotateXAxis+(EnableAnimation && (Object->BlockAnimType==BLOCKANIMTYPE_MULTIPLETURN)?360*Object->TurnXAxis:0); TheRotateYAxis =Object->RotateYAxis+(EnableAnimation && (Object->BlockAnimType==BLOCKANIMTYPE_MULTIPLETURN)?360*Object->TurnYAxis:0); TheTxtZoomLevel =Object->TxtZoomLevel; TheTxtScrollX =Object->TxtScrollX; TheTxtScrollY =Object->TxtScrollY; if (PrevCompoObject) { if (PrevCompoObject->x!=TheX) TheX =PrevCompoObject->x+(TheX-PrevCompoObject->x)*BlockPctDone; if (PrevCompoObject->y!=TheY) TheY =PrevCompoObject->y+(TheY-PrevCompoObject->y)*BlockPctDone; if (PrevCompoObject->w!=TheW) TheW =PrevCompoObject->w+(TheW-PrevCompoObject->w)*BlockPctDone; if (PrevCompoObject->h!=TheH) TheH =PrevCompoObject->h+(TheH-PrevCompoObject->h)*BlockPctDone; if (PrevCompoObject->RotateZAxis!=TheRotateZAxis) TheRotateZAxis =PrevCompoObject->RotateZAxis+(TheRotateZAxis-PrevCompoObject->RotateZAxis)*BlockPctDone; if (PrevCompoObject->RotateXAxis!=TheRotateXAxis) TheRotateXAxis =PrevCompoObject->RotateXAxis+(TheRotateXAxis-PrevCompoObject->RotateXAxis)*BlockPctDone; if (PrevCompoObject->RotateYAxis!=TheRotateYAxis) TheRotateYAxis =PrevCompoObject->RotateYAxis+(TheRotateYAxis-PrevCompoObject->RotateYAxis)*BlockPctDone; if (PrevCompoObject->TxtZoomLevel!=TheTxtZoomLevel) TheTxtZoomLevel =PrevCompoObject->TxtZoomLevel+(TheTxtZoomLevel-PrevCompoObject->TxtZoomLevel)*BlockPctDone; if (PrevCompoObject->TxtScrollX!=TheTxtScrollX) TheTxtScrollX =PrevCompoObject->TxtScrollX+(TheTxtScrollX-PrevCompoObject->TxtScrollX)*BlockPctDone; if (PrevCompoObject->TxtScrollY!=TheTxtScrollY) TheTxtScrollY =PrevCompoObject->TxtScrollY+(TheTxtScrollY-PrevCompoObject->TxtScrollY)*BlockPctDone; } else { if (EnableAnimation && (Object->BlockAnimType==BLOCKANIMTYPE_MULTIPLETURN)) { TheRotateZAxis=Object->RotateZAxis+360*Object->TurnZAxis*BlockPctDone; TheRotateXAxis=Object->RotateXAxis+360*Object->TurnXAxis*BlockPctDone; TheRotateYAxis=Object->RotateYAxis+360*Object->TurnYAxis*BlockPctDone; } } //********************************************************************************** X=TheX*width; Y=TheY*height; W=TheW*width; H=TheH*height; //********************************************************************************** if ((W>0)&&(H>0)) { //*********************************************************************************** // Compute shape //*********************************************************************************** X=floor(X); Y=floor(Y); W=floor(W/2)*2; H=floor(H/2)*2; //********************************************************************************** // Opacity and dissolve annimation //********************************************************************************** DestOpacity =(Object->Opacity==1?0.75:Object->Opacity==2?0.50:Object->Opacity==3?0.25:1); if (EnableAnimation) { if (Object->BlockAnimType==BLOCKANIMTYPE_DISSOLVE) { double BlinkNumber=0; switch (Object->Dissolve) { case BLOCKANIMVALUE_APPEAR : DestOpacity=DestOpacity*BlockPctDone; break; case BLOCKANIMVALUE_DISAPPEAR : DestOpacity=DestOpacity*(1-BlockPctDone); break; case BLOCKANIMVALUE_BLINK_SLOW : BlinkNumber=0.25; break; case BLOCKANIMVALUE_BLINK_MEDIUM : BlinkNumber=0.5; break; case BLOCKANIMVALUE_BLINK_FAST : BlinkNumber=1; break; case BLOCKANIMVALUE_BLINK_VERYFAST: BlinkNumber=2; break; } if (BlinkNumber!=0) { BlinkNumber=BlinkNumber*ShotDuration; if (int(BlinkNumber/1000)!=(BlinkNumber/1000)) BlinkNumber=int(BlinkNumber/1000)+1; else BlinkNumber=int(BlinkNumber/1000); // Adjust to upper 1000 double FullPct=BlockPctDone*BlinkNumber*100; FullPct=int(FullPct)-int(FullPct/100)*100; FullPct=(FullPct/100)*2; if (FullPct<1) DestOpacity=DestOpacity*(1-FullPct); else DestOpacity=DestOpacity*(FullPct-1); } } } //*********************************************************************************** // Compute shape //*********************************************************************************** PolygonList=ComputePolygon(Object->BackgroundForm,X,Y,W,H); ShapeRect =PolygonToRectF(PolygonList); //*********************************************************************************** // Prepare Transform Matrix //*********************************************************************************** if ((Object->TextClipArtName=="")&& (!((Object->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK)&&(Object->BackgroundBrush->MediaObject)&&(Object->BackgroundBrush->MediaObject->ObjectType==OBJECTTYPE_IMAGEVECTOR)))&& (((Object->BackgroundBrush->BrushType!=BRUSHTYPE_NOBRUSH)||(Object->PenSize!=0)))&& (Object->BackgroundBrush->BrushType!=BRUSHTYPE_NOBRUSH) ) NeedPreparedBrush=true; } } //********************************************************************************************************************************************* // Base object for composition definition //********************************************************************************************************************************************* cCompositionObject::cCompositionObject(int TheTypeComposition,int TheIndexKey,cApplicationConfig *TheApplicationConfig,QObject *Parent):QObject(Parent) { setObjectName("cCompositionObject"); // Attribut of the text object ApplicationConfig = TheApplicationConfig; TypeComposition = TheTypeComposition; IndexKey = TheIndexKey; BackgroundBrush = new cBrushDefinition(this,ApplicationConfig); // ERROR : BackgroundList is global ! InitDefaultValues(); } //********************************************************************************************************************************************* void cCompositionObject::InitDefaultValues() { IsVisible = true; BlockInheritance = false; IsFullScreen = false; x = 0.25; // Position (x,y) and size (width,height) y = 0.25; w = 0.5; h = 0.5; RotateZAxis = DEFAULT_ROTATEZAXIS; // Rotation from Z axis RotateXAxis = DEFAULT_ROTATEXAXIS; // Rotation from X axis RotateYAxis = DEFAULT_ROTATEYAXIS; // Rotation from Y axis // Text part IsTextEmpty = true; Text = ""; // Text of the object TextClipArtName = ""; // Clipart name (if clipart mode) FontName = DEFAULT_FONT_FAMILLY; // font name FontSize = DEFAULT_FONT_SIZE; // font size FontColor = DEFAULT_FONT_COLOR; // font color FontShadowColor = DEFAULT_FONT_SHADOWCOLOR; // font shadow color IsBold = DEFAULT_FONT_ISBOLD; // true if bold mode IsItalic = DEFAULT_FONT_ISITALIC; // true if Italic mode IsUnderline = DEFAULT_FONT_ISUNDERLINE; // true if Underline mode HAlign = DEFAULT_FONT_HALIGN; // Horizontal alignement : 0=left, 1=center, 2=right, 3=justif VAlign = DEFAULT_FONT_VALIGN; // Vertical alignement : 0=up, 1=center, 2=bottom StyleText = DEFAULT_FONT_TEXTEFFECT; // Style : 0=normal, 1=outerline, 2=shadow up-left, 3=shadow up-right, 4=shadow bt-left, 5=shadow bt-right TxtZoomLevel = DEFAULT_TXTZOOMLEVEL; // Zoom Level for text TxtScrollX = DEFAULT_TXTSCROLLX; // Scrolling X for text TxtScrollY = DEFAULT_TXTSCROLLY; // Scrolling Y for text TMType = TEXTMARGINS_SHAPEDEFAULT; // Shap part BackgroundForm = DEFAULT_BACKGROUNDFORM; // Type of the form : 0=None, 1=Rectangle, 2=Ellipse Opacity = DEFAULT_SHAPE_OPACITY; // Style of the background of the form PenSize = DEFAULT_SHAPE_BORDERSIZE; // Width of the border of the form PenStyle = DEFAULT_SHAPE_PENSTYLE; // Style of the pen border of the form PenColor = DEFAULT_SHAPE_BORDERCOLOR; // Color of the border of the form FormShadowColor = DEFAULT_SHAPE_SHADOWCOLOR; // Color of the shadow of the form FormShadow = DEFAULT_SHAPE_SHADOW; // 0=none, 1=shadow up-left, 2=shadow up-right, 3=shadow bt-left, 4=shadow bt-right FormShadowDistance = DEFAULT_SHAPE_SHADOWDISTANCE; // Distance from form to shadow BlockSpeedWave = SPEEDWAVE_PROJECTDEFAULT; // Block animation part BlockAnimType = DEFAULT_BLOCKANIMTYPE; TurnZAxis = DEFAULT_TURNZAXIS; // Number of turn from Z axis TurnXAxis = DEFAULT_TURNXAXIS; // Number of turn from X axis TurnYAxis = DEFAULT_TURNYAXIS; // Number of turn from Y axis Dissolve = DEFAULT_DISSOLVE; // BackgroundBrush is initilise by object constructor except TypeComposition and key BackgroundBrush->TypeComposition = TypeComposition; ApplyTextMargin(TEXTMARGINS_SHAPEDEFAULT); // Init TMx,TMy,TMw,TMh (Text margins) } //==================================================================================================================== cCompositionObject::~cCompositionObject() { if (BackgroundBrush) { delete BackgroundBrush; BackgroundBrush=NULL; } } //==================================================================================================================== void cCompositionObject::ApplyTextMargin(int TMType) { if ((this->TMType==TEXTMARGINS_CUSTOM)&&(TMType==TEXTMARGINS_CUSTOM)) return; // Don't overwrite custom settings this->TMType=TMType; QRectF Rect =GetPrivateTextMargin(); this->TMx =Rect.left(); this->TMy =Rect.top(); this->TMw =Rect.width(); this->TMh =Rect.height(); } //==================================================================================================================== QRectF cCompositionObject::GetPrivateTextMargin() { QRectF RectF; if (TMType==TEXTMARGINS_FULLSHAPE) { QRectF X100=RectF=PolygonToRectF(ComputePolygon(BackgroundForm,0,0,100,100)); RectF=QRectF(X100.left()/100,X100.top()/100,X100.width()/100,X100.height()/100); } else if (TMType==TEXTMARGINS_SHAPEDEFAULT) { if (TextClipArtName!="") { cTextFrameObject *TFO=&TextFrameList.List[TextFrameList.SearchImage(TextClipArtName)]; RectF=QRectF(TFO->TMx,TFO->TMy,TFO->TMw,TFO->TMh); } else { RectF=QRectF(ShapeFormDefinition[BackgroundForm].TMx,ShapeFormDefinition[BackgroundForm].TMy, ShapeFormDefinition[BackgroundForm].TMw,ShapeFormDefinition[BackgroundForm].TMh); } } else RectF=QRectF(TMx,TMy,TMw,TMh); return RectF; } //==================================================================================================================== QRectF cCompositionObject::GetTextMargin(QRectF Workspace,double ADJUST_RATIO) { // if type is ShapeDefault, then adjust with border size if ((TMType==TEXTMARGINS_FULLSHAPE)||(TMType==TEXTMARGINS_CUSTOM)) { return QRectF(TMx*w*Workspace.width(),TMy*h*Workspace.height(), TMw*w*Workspace.width(),TMh*h*Workspace.height()); } else { double FullMargin=double(PenSize)*ADJUST_RATIO/double(2); return QRectF(ShapeFormDefinition[BackgroundForm].TMx*w*Workspace.width()+FullMargin,ShapeFormDefinition[BackgroundForm].TMy*h*Workspace.height()+FullMargin, ShapeFormDefinition[BackgroundForm].TMw*w*Workspace.width()-FullMargin*2,ShapeFormDefinition[BackgroundForm].TMh*h*Workspace.height()-FullMargin*2); } } //==================================================================================================================== void cCompositionObject::SaveToXML(QDomElement &domDocument,QString ElementName,QString PathForRelativPath,bool ForceAbsolutPath,bool CheckTypeComposition,cReplaceObjectList *ReplaceList,QList *ResKeyList,bool SaveBrush,bool IsModel) { // Force a refresh of IsTextEmpty flag QTextDocument TextDocument; TextDocument.setHtml(Text); IsTextEmpty =TextDocument.isEmpty(); QDomDocument DomDocument; QDomElement Element=DomDocument.createElement(ElementName); Element.setAttribute("TypeComposition",TypeComposition); Element.setAttribute("IndexKey",IndexKey); Element.setAttribute("IsVisible",IsVisible?"1":"0"); Element.setAttribute("SameAsPrevShot",BlockInheritance?"1":"0"); // Attribut of the object Element.setAttribute("x",x); // Position x Element.setAttribute("y",y); // Position x Element.setAttribute("w",w); // size width Element.setAttribute("h",h); // size height if (RotateZAxis!=DEFAULT_ROTATEZAXIS) Element.setAttribute("RotateZAxis",RotateZAxis); // Rotation from Z axis if (RotateXAxis!=DEFAULT_ROTATEXAXIS) Element.setAttribute("RotateXAxis",RotateXAxis); // Rotation from X axis if (RotateYAxis!=DEFAULT_ROTATEYAXIS) Element.setAttribute("RotateYAxis",RotateYAxis); // Rotation from Y axis if (Opacity!=DEFAULT_SHAPE_OPACITY) Element.setAttribute("BackgroundTransparent",Opacity); // Opacity of the form if (BlockSpeedWave!=SPEEDWAVE_PROJECTDEFAULT) Element.setAttribute("BlockSpeedWave",BlockSpeedWave); // Block speed wave // Block animation if (BlockAnimType!=DEFAULT_BLOCKANIMTYPE) Element.setAttribute("BlockAnimType",BlockAnimType); // Block animation type if (TurnZAxis!=DEFAULT_TURNZAXIS) Element.setAttribute("TurnZAxis",TurnZAxis); // Number of turn from Z axis if (TurnXAxis!=DEFAULT_TURNXAXIS) Element.setAttribute("TurnXAxis",TurnXAxis); // Number of turn from X axis if (TurnYAxis!=DEFAULT_TURNYAXIS) Element.setAttribute("TurnYAxis",TurnYAxis); // Number of turn from Y axis if (Dissolve!=DEFAULT_DISSOLVE) Element.setAttribute("Dissolve",Dissolve); // Dissolve value // Text part if (!TextClipArtName.isEmpty()) Element.setAttribute("TextClipArtName",TextClipArtName); // ClipArt name (if text clipart mode) if ((!IsTextEmpty)&&((!CheckTypeComposition)||(TypeComposition!=COMPOSITIONTYPE_SHOT))) { Element.setAttribute("Text",Text); // Text of the object if (Text!="") { if (FontName!=DEFAULT_FONT_FAMILLY) Element.setAttribute("FontName",FontName); // font name if (FontSize!=DEFAULT_FONT_SIZE) Element.setAttribute("FontSize",FontSize); // font size if (FontColor!=DEFAULT_FONT_COLOR) Element.setAttribute("FontColor",FontColor); // font color if (FontShadowColor!=DEFAULT_FONT_SHADOWCOLOR) Element.setAttribute("FontShadowColor",FontShadowColor); // font shadow color if (IsBold!=DEFAULT_FONT_ISBOLD) Element.setAttribute("IsBold",IsBold?"1":"0"); // true if bold mode if (IsItalic!=DEFAULT_FONT_ISITALIC) Element.setAttribute("IsItalic",IsItalic?"1":"0"); // true if Italic mode if (IsUnderline!=DEFAULT_FONT_ISUNDERLINE) Element.setAttribute("IsUnderline",IsUnderline?"1":"0"); // true if Underline mode if (HAlign!=DEFAULT_FONT_HALIGN) Element.setAttribute("HAlign",HAlign); // Horizontal alignement : 0=left, 1=center, 2=right, 3=justif if (VAlign!=DEFAULT_FONT_VALIGN) Element.setAttribute("VAlign",VAlign); // Vertical alignement : 0=up, 1=center, 2=bottom if (StyleText!=DEFAULT_FONT_TEXTEFFECT) Element.setAttribute("StyleText",StyleText); // Style : 0=normal, 1=outerline, 2=shadow up-left, 3=shadow up-right, 4=shadow bt-left, 5=shadow bt-right } } // Shot part of text part if (TxtZoomLevel!=DEFAULT_TXTZOOMLEVEL) Element.setAttribute("TxtZoomLevel",TxtZoomLevel); // Zoom Level for text if (TxtScrollX!=DEFAULT_TXTSCROLLX) Element.setAttribute("TxtScrollX",TxtScrollX); // Scrolling X for text if (TxtScrollY!=DEFAULT_TXTSCROLLY) Element.setAttribute("TxtScrollY",TxtScrollY); // Scrolling Y for text // Text margins Element.setAttribute("TMType",TMType); // Text margins type if (TMType==TEXTMARGINS_CUSTOM) { Element.setAttribute("TMx",TMx); Element.setAttribute("TMy",TMy); Element.setAttribute("TMw",TMw); Element.setAttribute("TMh",TMh); } // Shap part if (BackgroundForm!=DEFAULT_BACKGROUNDFORM) Element.setAttribute("BackgroundForm",BackgroundForm); // Type of the form : 0=None, 1=Rectangle, 2=Ellipse if (PenSize!=DEFAULT_SHAPE_BORDERSIZE) Element.setAttribute("PenSize",PenSize); // Width of the border of the form if (PenStyle!=DEFAULT_SHAPE_PENSTYLE) Element.setAttribute("PenStyle",PenStyle); // Style of the pen border of the form if (PenColor!=DEFAULT_SHAPE_BORDERCOLOR) Element.setAttribute("PenColor",PenColor); // Color of the border of the form if (FormShadow!=DEFAULT_SHAPE_SHADOW) Element.setAttribute("FormShadow",FormShadow); // 0=none, 1=shadow up-left, 2=shadow up-right, 3=shadow bt-left, 4=shadow bt-right if (FormShadowDistance!=DEFAULT_SHAPE_SHADOWDISTANCE) Element.setAttribute("FormShadowDistance",FormShadowDistance); // Distance from form to shadow if (FormShadowColor!=DEFAULT_SHAPE_SHADOWCOLOR) Element.setAttribute("FormShadowColor",FormShadowColor); // Shadow color if (SaveBrush) BackgroundBrush->SaveToXML(&Element,"BackgroundBrush",PathForRelativPath,ForceAbsolutPath,ReplaceList,ResKeyList,IsModel); // Brush of the background of the form domDocument.appendChild(Element); } //==================================================================================================================== bool cCompositionObject::LoadFromXML(QDomElement domDocument,QString ElementName,QString PathForRelativPath,cCompositionList *ObjectComposition,QStringList *AliasList,bool CheckTypeComposition,QList *ResKeyList,bool DuplicateRes,bool RestoreBrush,cCompositionObject *GlobalBlock) { InitDefaultValues(); if ((domDocument.elementsByTagName(ElementName).length()>0)&&(domDocument.elementsByTagName(ElementName).item(0).isElement()==true)) { QDomElement Element=domDocument.elementsByTagName(ElementName).item(0).toElement(); bool IsOk=true; if (Element.hasAttribute("TypeComposition")) TypeComposition =Element.attribute("TypeComposition").toInt(); if (Element.hasAttribute("IsVisible")) IsVisible =Element.attribute("IsVisible")=="1"; if (Element.hasAttribute("SameAsPrevShot")) BlockInheritance=Element.attribute("SameAsPrevShot")=="1"; // Special case for paste operation (indexkey was changed) if (GlobalBlock) IndexKey=GlobalBlock->IndexKey; else if (Element.hasAttribute("IndexKey")) IndexKey=Element.attribute("IndexKey").toInt(); // Attribut of the object if (Element.hasAttribute("x")) x =GetDoubleValue(Element,"x"); // Position x if (Element.hasAttribute("y")) y =GetDoubleValue(Element,"y"); // Position x if (Element.hasAttribute("w")) w =GetDoubleValue(Element,"w"); // size width if (Element.hasAttribute("h")) h =GetDoubleValue(Element,"h"); // size height if (Element.hasAttribute("BackgroundTransparent")) Opacity =Element.attribute("BackgroundTransparent").toInt(); // Style Opacity of the background of the form if (Element.hasAttribute("RotateZAxis")) RotateZAxis =GetDoubleValue(Element,"RotateZAxis"); // Rotation from Z axis if (Element.hasAttribute("RotateXAxis")) RotateXAxis =GetDoubleValue(Element,"RotateXAxis"); // Rotation from X axis if (Element.hasAttribute("RotateYAxis")) RotateYAxis =GetDoubleValue(Element,"RotateYAxis"); // Rotation from Y axis if (Element.hasAttribute("BlockSpeedWave")) BlockSpeedWave =Element.attribute("BlockSpeedWave").toInt(); // Block speed wave if (Element.hasAttribute("BlockAnimType")) BlockAnimType =Element.attribute("BlockAnimType").toInt(); // Block animation type if (Element.hasAttribute("TurnZAxis")) TurnZAxis =Element.attribute("TurnZAxis").toInt(); // Number of turn from Z axis if (Element.hasAttribute("TurnXAxis")) TurnXAxis =Element.attribute("TurnXAxis").toInt(); // Number of turn from X axis if (Element.hasAttribute("TurnYAxis")) TurnYAxis =Element.attribute("TurnYAxis").toInt(); // Number of turn from Y axis if (Element.hasAttribute("Dissolve")) Dissolve =Element.attribute("Dissolve").toInt(); // Dissolve value // Text part if (Element.hasAttribute("TextClipArtName")) TextClipArtName =Element.attribute("TextClipArtName"); // ClipArt name (if text clipart mode) if ((Element.hasAttribute("Text"))&&((!CheckTypeComposition)||(TypeComposition!=COMPOSITIONTYPE_SHOT))) { Text=Element.attribute("Text"); // Text of the object IsTextEmpty=Text.isEmpty(); if ((!IsTextEmpty)&&(Text.startsWith(" force magins type to fullshape if (Element.hasAttribute("TxtZoomLevel")) TxtZoomLevel =Element.attribute("TxtZoomLevel").toInt(); // Zoom Level for text if (Element.hasAttribute("TxtScrollX")) TxtScrollX =Element.attribute("TxtScrollX").toInt(); // Scrolling X for text if (Element.hasAttribute("TxtScrollY")) TxtScrollY =Element.attribute("TxtScrollY").toInt(); // Scrolling Y for text if (Element.hasAttribute("TMType")) TMType =Element.attribute("TMType").toInt(); // Text margins type if (Element.hasAttribute("TMx")) TMx =GetDoubleValue(Element,"TMx"); // Text margins if (Element.hasAttribute("TMy")) TMy =GetDoubleValue(Element,"TMy"); // Text margins if (Element.hasAttribute("TMw")) TMw =GetDoubleValue(Element,"TMw"); // Text margins if (Element.hasAttribute("TMh")) TMh =GetDoubleValue(Element,"TMh"); // Text margins // Shap part if (Element.hasAttribute("BackgroundForm")) BackgroundForm =Element.attribute("BackgroundForm").toInt(); // Type of the form : 0=None, 1=Rectangle, 2=Ellipse if (Element.hasAttribute("PenSize")) PenSize =Element.attribute("PenSize").toInt(); // Width of the border of the form if (Element.hasAttribute("PenStyle")) PenStyle =Element.attribute("PenStyle").toInt(); // Style of the pen border of the form if (Element.hasAttribute("PenColor")) PenColor =Element.attribute("PenColor"); // Color of the border of the form if (Element.hasAttribute("FormShadowColor")) FormShadowColor =Element.attribute("FormShadowColor"); // Color of the shadow of the form if (Element.hasAttribute("FormShadow")) FormShadow =Element.attribute("FormShadow").toInt(); // 0=none, 1=shadow up-left, 2=shadow up-right, 3=shadow bt-left, 4=shadow bt-right if (Element.hasAttribute("FormShadowDistance")) FormShadowDistance =Element.attribute("FormShadowDistance").toInt(); // Distance from form to shadow if ((TypeComposition==COMPOSITIONTYPE_SHOT)&&(ObjectComposition!=NULL)) { // Construct link to object from DiaporamaObject->ObjectComposition for (int i=0;iList.count();i++) if (ObjectComposition->List[i]->IndexKey==IndexKey) { BackgroundBrush->MediaObject=ObjectComposition->List[i]->BackgroundBrush->MediaObject; BackgroundBrush->DeleteMediaObject=false; Text=ObjectComposition->List[i]->Text; if (Text!="") { FontName =ObjectComposition->List[i]->FontName; FontSize =ObjectComposition->List[i]->FontSize; FontColor =ObjectComposition->List[i]->FontColor; FontShadowColor =ObjectComposition->List[i]->FontShadowColor; IsBold =ObjectComposition->List[i]->IsBold; IsItalic =ObjectComposition->List[i]->IsItalic; IsUnderline =ObjectComposition->List[i]->IsUnderline; HAlign =ObjectComposition->List[i]->HAlign; VAlign =ObjectComposition->List[i]->VAlign; StyleText =ObjectComposition->List[i]->StyleText; } break; } } // Compatibility with old release : remove case BackgroundForm==0 if (BackgroundForm==0) { BackgroundForm =1; // Set to rectangle PenSize =0; // border=0 BackgroundBrush->BrushType=0; // brushtype=no brush } if (RestoreBrush) { bool ModifyFlag; IsOk=BackgroundBrush->LoadFromXML(&Element,"BackgroundBrush",PathForRelativPath,AliasList,&ModifyFlag,ResKeyList,DuplicateRes); // Brush of the background of the form if (ModifyFlag) ((MainWindow *)ApplicationConfig->TopLevelWindow)->SetModifyFlag(true); } // Ensure unvisible video have no sound ! if ((!IsVisible)&&(BackgroundBrush->MediaObject)&&(BackgroundBrush->MediaObject->ObjectType==OBJECTTYPE_VIDEOFILE)) BackgroundBrush->SoundVolume=0; return IsOk; } return false; } //==================================================================================================================== void cCompositionObject::ComputeOptimisationFlags(cCompositionObject *Previous) { QTextDocument TextDocument; TextDocument.setHtml(Text); IsTextEmpty =TextDocument.isEmpty(); IsFullScreen=(IsTextEmpty)&&(BackgroundBrush->MediaObject) &&(IsVisible)&&(BlockAnimType==0)&&(BackgroundForm==1)&&(PenSize==0)&&(Opacity==0)&&(RotateZAxis==0)&&(RotateXAxis==0)&&(RotateYAxis==0) &&(int(x*10000)==0)&&(int(y*10000)==0)&&(int(w*10000)==10000)&&(int(h*10000)==10000) &&((!Previous)||((x==Previous->x)&&(y==Previous->y)&&(w==Previous->w)&&(h==Previous->h) &&(RotateXAxis==Previous->RotateXAxis)&&(RotateYAxis==Previous->RotateYAxis)&&(RotateZAxis==Previous->RotateZAxis))); } //==================================================================================================================== int cCompositionObject::GetAutoCompoSize(int ffDProjectGeometry) { int ImageType =BackgroundBrush->GetImageType(); int AutoCompoStyle =AUTOCOMPOSIZE_CUSTOM; // Calc screen size qreal ScreenWidth =qreal(1920); qreal ScreenHeight =qreal(ffDProjectGeometry==GEOMETRY_4_3?1440:ffDProjectGeometry==GEOMETRY_16_9?1080:ffDProjectGeometry==GEOMETRY_40_17?816:1920); qreal ScreenGeometry =ScreenHeight/ScreenWidth; // Calc real image size (if it's and image) qreal RealImageWidth =qreal(BackgroundBrush->MediaObject?BackgroundBrush->MediaObject->ImageWidth:ScreenWidth); qreal RealImageHeight =qreal(BackgroundBrush->MediaObject?BackgroundBrush->MediaObject->ImageHeight:ScreenHeight); if ((BackgroundBrush->MediaObject)&&(BackgroundBrush->MediaObject->ObjectType==OBJECTTYPE_VIDEOFILE)&&(RealImageWidth==1920)&&(RealImageHeight=1088)&&(BackgroundBrush->ApplicationConfig->Crop1088To1080)) RealImageHeight=1080; // Calc brush size qreal CanvasSize =sqrt(RealImageWidth*RealImageWidth+RealImageHeight*RealImageHeight); // Calc hypothenuse of the image to define full canvas qreal ImageWidth =CanvasSize*BackgroundBrush->ZoomFactor; qreal ImageHeight =CanvasSize*BackgroundBrush->ZoomFactor*BackgroundBrush->AspectRatio; qreal ImageGeometry =ImageHeight/ImageWidth; // Calc destination size qreal DestWidth =ScreenWidth*w; qreal DestHeight =ScreenHeight*h; //qreal DestGeometry =DestHeight/DestWidth; if ((DestWidth==ImageWidth)&&(DestHeight==ImageHeight)) AutoCompoStyle=AUTOCOMPOSIZE_REALSIZE; else { // Make adjustement if it's not an image and geometry is locked if ((ImageType==IMAGETYPE_UNKNOWN)&&(BackgroundBrush->LockGeometry)) { if ((ImageHeight*(h/w))GetImageType(); // Calc screen size qreal ScreenWidth =qreal(ffDProjectGeometry==GEOMETRY_THUMBNAIL?600:1920); qreal ScreenHeight =qreal(ffDProjectGeometry==GEOMETRY_THUMBNAIL?800:ffDProjectGeometry==GEOMETRY_4_3?1440:ffDProjectGeometry==GEOMETRY_16_9?1080:ffDProjectGeometry==GEOMETRY_40_17?816:1920); //qreal ScreenGeometry =ScreenHeight/ScreenWidth; // Calc real image size (if it's and image) qreal RealImageWidth =qreal(BackgroundBrush->MediaObject?BackgroundBrush->MediaObject->ImageWidth:ScreenWidth); qreal RealImageHeight =qreal(BackgroundBrush->MediaObject?BackgroundBrush->MediaObject->ImageHeight:ScreenHeight); if ((BackgroundBrush->MediaObject)&&(BackgroundBrush->MediaObject->ObjectType==OBJECTTYPE_VIDEOFILE)&&(RealImageWidth==1920)&&(RealImageHeight=1088)&&(BackgroundBrush->ApplicationConfig->Crop1088To1080)) RealImageHeight=1080; // Calc brush size qreal CanvasSize =sqrt(RealImageWidth*RealImageWidth+RealImageHeight*RealImageHeight); // Calc hypothenuse of the image to define full canvas qreal ImageWidth =CanvasSize*BackgroundBrush->ZoomFactor; qreal ImageHeight =CanvasSize*BackgroundBrush->ZoomFactor*BackgroundBrush->AspectRatio; qreal ImageGeometry =ImageHeight/ImageWidth; // Calc destination size qreal DestWidth =ScreenWidth; qreal DestHeight=ScreenHeight; switch (AutoCompoStyle) { case AUTOCOMPOSIZE_CUSTOM : DestWidth=ScreenWidth*w; DestHeight=ScreenHeight*h; break; // Keep current value case AUTOCOMPOSIZE_REALSIZE : DestWidth=ImageWidth; DestHeight=ImageHeight; break; case AUTOCOMPOSIZE_FULLSCREEN : DestWidth=ScreenWidth; DestHeight=ScreenHeight; break; case AUTOCOMPOSIZE_TVMARGINS : DestWidth=ScreenWidth*0.9; DestHeight=ScreenHeight*0.9; break; // TV Margins is 5% each case AUTOCOMPOSIZE_TWOTHIRDSSCREEN : DestWidth=2*ScreenWidth/3; DestHeight=2*ScreenHeight/3; break; case AUTOCOMPOSIZE_HALFSCREEN : DestWidth=ScreenWidth/2; DestHeight=ScreenHeight/2; break; case AUTOCOMPOSIZE_THIRDSCREEN : DestWidth=ScreenWidth/3; DestHeight=ScreenHeight/3; break; case AUTOCOMPOSIZE_QUARTERSCREEN : DestWidth=ScreenWidth/4; DestHeight=ScreenHeight/4; break; } qreal DestGeometry=DestHeight/DestWidth; // Make adjustement if it's not an image and geometry is locked if ((ImageType==IMAGETYPE_UNKNOWN)&&(BackgroundBrush->LockGeometry)) { if ((ImageHeight*(h/w))BrushType)+ QString("###PatternType:%1").arg(BackgroundBrush->PatternType)+ QString("###GradientOrientation:%1").arg(BackgroundBrush->GradientOrientation)+ "###ColorD:"+BackgroundBrush->ColorD+ "###ColorF:"+BackgroundBrush->ColorF+ "###ColorIntermed:"+BackgroundBrush->ColorIntermed+ QString("###Intermediate:%1").arg(BackgroundBrush->Intermediate,0,'e')+ "###BrushImage:"+BackgroundBrush->BrushImage; } void cCompositionObject::ApplyBackgroundStyle(QString StyleDef) { QStringList List=StyleDef.split("###"); // Apply Style for (int i=0;iBrushType =List[i].mid(QString("BrushType:").length()).toInt(); else if (List[i].startsWith("PatternType:")) BackgroundBrush->PatternType =List[i].mid(QString("PatternType:").length()).toInt(); else if (List[i].startsWith("GradientOrientation:")) BackgroundBrush->GradientOrientation =List[i].mid(QString("GradientOrientation:").length()).toInt(); else if (List[i].startsWith("ColorD:")) BackgroundBrush->ColorD =List[i].mid(QString("ColorD:").length()); else if (List[i].startsWith("ColorF:")) BackgroundBrush->ColorF =List[i].mid(QString("ColorF:").length()); else if (List[i].startsWith("ColorIntermed:")) BackgroundBrush->ColorIntermed =List[i].mid(QString("ColorIntermed:").length()); else if (List[i].startsWith("Intermediate:")) BackgroundBrush->Intermediate =GetDoubleValue(List[i].mid(QString("Intermediate:").length())); else if (List[i].startsWith("BrushImage:")) BackgroundBrush->BrushImage =List[i].mid(QString("BrushImage:").length()); } } //==================================================================================================================== QString cCompositionObject::GetCoordinateStyle() { QString Style=QString("###X:%1").arg(x,0,'e')+ QString("###Y:%1").arg(y,0,'e')+ QString("###W:%1").arg(w,0,'e')+ QString("###H:%1").arg(h,0,'e')+ QString("###RotateZAxis:%1").arg(RotateZAxis,0,'e')+ QString("###RotateXAxis:%1").arg(RotateXAxis,0,'e')+ QString("###RotateYAxis:%1").arg(RotateYAxis,0,'e'); return Style; } void cCompositionObject::ApplyCoordinateStyle(QString StyleDef) { QStringList List=StyleDef.split("###"); bool RecalcAspectRatio=true; // Apply Style for (int i=0;iTopLevelWindow)->Diaporama->ImageGeometry==GEOMETRY_4_3) { DisplayW=1440; DisplayH=1080; } else if (((MainWindow *)ApplicationConfig->TopLevelWindow)->Diaporama->ImageGeometry==GEOMETRY_16_9) { DisplayW=1920; DisplayH=1080; } else if (((MainWindow *)ApplicationConfig->TopLevelWindow)->Diaporama->ImageGeometry==GEOMETRY_40_17) { DisplayW=1920; DisplayH=816; } BackgroundBrush->AspectRatio =(h*DisplayH)/(w*DisplayW); } } //==================================================================================================================== void cCompositionObject::CopyBlockProperties(cCompositionObject *SourceBlock,cCompositionObject *DestBlock) { if (SourceBlock==DestBlock) return; // Attribut of the text part DestBlock->Text =SourceBlock->Text; // Text of the object DestBlock->TextClipArtName =SourceBlock->TextClipArtName; // Text ClipArt of the object DestBlock->FontName =SourceBlock->FontName; // font name DestBlock->FontSize =SourceBlock->FontSize; // font size DestBlock->FontColor =SourceBlock->FontColor; // font color DestBlock->FontShadowColor =SourceBlock->FontShadowColor; // font shadow color DestBlock->IsBold =SourceBlock->IsBold; // true if bold mode DestBlock->IsItalic =SourceBlock->IsItalic; // true if Italic mode DestBlock->IsUnderline =SourceBlock->IsUnderline; // true if Underline mode DestBlock->HAlign =SourceBlock->HAlign; // Horizontal alignement : 0=left, 1=center, 2=right, 3=justif DestBlock->VAlign =SourceBlock->VAlign; // Vertical alignement : 0=up, 1=center, 2=bottom DestBlock->StyleText =SourceBlock->StyleText; // Style : 0=normal, 1=outerline, 2=shadow up-left, 3=shadow up-right, 4=shadow bt-left, 5=shadow bt-right DestBlock->TMType =SourceBlock->TMType; // Text margins type (0=full shape, 1=shape default, 2=custom) DestBlock->TMx =SourceBlock->TMx; // Text margins DestBlock->TMy =SourceBlock->TMy; // Text margins DestBlock->TMw =SourceBlock->TMw; // Text margins DestBlock->TMh =SourceBlock->TMh; // Text margins // Attribut of the shap part DestBlock->BackgroundForm =SourceBlock->BackgroundForm; // Type of the form : 0=None, 1=Rectangle, 2=RoundRect, 3=Buble, 4=Ellipse, 5=Triangle UP (Polygon) DestBlock->PenSize =SourceBlock->PenSize; // Width of the border of the form DestBlock->PenStyle =SourceBlock->PenStyle; // Style of the pen border of the form DestBlock->PenColor =SourceBlock->PenColor; // Color of the border of the form DestBlock->FormShadow =SourceBlock->FormShadow; // 0=none, 1=shadow up-left, 2=shadow up-right, 3=shadow bt-left, 4=shadow bt-right DestBlock->FormShadowDistance =SourceBlock->FormShadowDistance; // Distance from form to shadow DestBlock->FormShadowColor =SourceBlock->FormShadowColor; // 0=none, 1=shadow up-left, 2=shadow up-right, 3=shadow bt-left, 4=shadow bt-right DestBlock->Opacity =SourceBlock->Opacity; // Opacity of the form // Attribut of the BackgroundBrush of the shap part DestBlock->BackgroundBrush->BrushType =SourceBlock->BackgroundBrush->BrushType; DestBlock->BackgroundBrush->PatternType =SourceBlock->BackgroundBrush->PatternType; DestBlock->BackgroundBrush->GradientOrientation =SourceBlock->BackgroundBrush->GradientOrientation; DestBlock->BackgroundBrush->ColorD =SourceBlock->BackgroundBrush->ColorD; DestBlock->BackgroundBrush->ColorF =SourceBlock->BackgroundBrush->ColorF; DestBlock->BackgroundBrush->ColorIntermed =SourceBlock->BackgroundBrush->ColorIntermed; DestBlock->BackgroundBrush->Intermediate =SourceBlock->BackgroundBrush->Intermediate; DestBlock->BackgroundBrush->BrushImage =SourceBlock->BackgroundBrush->BrushImage; } //==================================================================================================================== void cCompositionObject::CopyFromCompositionObject(cCompositionObject *CompositionObjectToCopy) { IsVisible =CompositionObjectToCopy->IsVisible; x =CompositionObjectToCopy->x; y =CompositionObjectToCopy->y; w =CompositionObjectToCopy->w; h =CompositionObjectToCopy->h; RotateZAxis =CompositionObjectToCopy->RotateZAxis; RotateXAxis =CompositionObjectToCopy->RotateXAxis; RotateYAxis =CompositionObjectToCopy->RotateYAxis; BlockSpeedWave =CompositionObjectToCopy->BlockSpeedWave; if (!((CompositionObjectToCopy->BlockAnimType==BLOCKANIMTYPE_DISSOLVE)&&((CompositionObjectToCopy->Dissolve==BLOCKANIMVALUE_APPEAR)||(CompositionObjectToCopy->Dissolve==BLOCKANIMVALUE_DISAPPEAR)))) { BlockAnimType =CompositionObjectToCopy->BlockAnimType; Dissolve =CompositionObjectToCopy->Dissolve; } TurnZAxis =CompositionObjectToCopy->TurnZAxis; TurnXAxis =CompositionObjectToCopy->TurnXAxis; TurnYAxis =CompositionObjectToCopy->TurnYAxis; Opacity =CompositionObjectToCopy->Opacity; Text =CompositionObjectToCopy->Text; TextClipArtName =CompositionObjectToCopy->TextClipArtName; FontName =CompositionObjectToCopy->FontName; FontSize =CompositionObjectToCopy->FontSize; FontColor =CompositionObjectToCopy->FontColor; FontShadowColor =CompositionObjectToCopy->FontShadowColor; IsBold =CompositionObjectToCopy->IsBold; IsItalic =CompositionObjectToCopy->IsItalic; IsUnderline =CompositionObjectToCopy->IsUnderline; HAlign =CompositionObjectToCopy->HAlign; VAlign =CompositionObjectToCopy->VAlign; StyleText =CompositionObjectToCopy->StyleText; BackgroundForm =CompositionObjectToCopy->BackgroundForm; PenSize =CompositionObjectToCopy->PenSize; PenStyle =CompositionObjectToCopy->PenStyle; PenColor =CompositionObjectToCopy->PenColor; FormShadowColor =CompositionObjectToCopy->FormShadowColor; FormShadow =CompositionObjectToCopy->FormShadow; FormShadowDistance =CompositionObjectToCopy->FormShadowDistance; TxtZoomLevel =CompositionObjectToCopy->TxtZoomLevel; TxtScrollX =CompositionObjectToCopy->TxtScrollX; TxtScrollY =CompositionObjectToCopy->TxtScrollY; TMType =CompositionObjectToCopy->TMType; TMx =CompositionObjectToCopy->TMx; TMy =CompositionObjectToCopy->TMy; TMw =CompositionObjectToCopy->TMw; TMh =CompositionObjectToCopy->TMh; BackgroundBrush->CopyFromBrushDefinition(CompositionObjectToCopy->BackgroundBrush); } //==================================================================================================================== // ADJUST_RATIO=Adjustement ratio for pixel size (all size are given for full hd and adjust for real wanted size) void cCompositionObject::DrawCompositionObject(cDiaporamaObject *Object,QPainter *DestPainter,double ADJUST_RATIO,double width,double height,bool PreviewMode,int64_t Position, cSoundBlockList *SoundTrackMontage,double BlockPctDone,double ImagePctDone,cCompositionObject *PrevCompoObject, int64_t ShotDuration,bool EnableAnimation, bool Transfo,double NewX,double NewY,double NewW,double NewH,bool DisplayTextMargin,cCompositionObjectContext *PreparedBrush) { // W and H = 0 when producing sound track in render process if (!IsVisible) return; bool SoundOnly=(DestPainter==NULL)||(width==0)||(height==0)||(Transfo && ((NewW==0)||(NewH==0)))||(!Transfo && ((w==0)||(h==0))); if (SoundOnly) { // if SoundOnly then load Brush of type BRUSHTYPE_IMAGEDISK to SoundTrackMontage if ((BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK)&&(SoundTrackMontage!=NULL)) { QBrush *BR=BackgroundBrush->GetBrush(QRectF(0,0,0,0),PreviewMode,Position,SoundTrackMontage,ImagePctDone,NULL); if (BR) delete BR; } } else { QPainter::RenderHints hints=(!PreviewMode || (ApplicationConfig==NULL) || ApplicationConfig->Smoothing)? QPainter::Antialiasing|QPainter::TextAntialiasing|QPainter::SmoothPixmapTransform|QPainter::HighQualityAntialiasing|QPainter::NonCosmeticDefaultPen: QPainter::Antialiasing|QPainter::TextAntialiasing|QPainter::HighQualityAntialiasing|QPainter::NonCosmeticDefaultPen; if (IsFullScreen) { QImage Img=BackgroundBrush->GetImageDiskBrush(QRectF(0,0,w*width,h*height),PreviewMode,Position,SoundTrackMontage,ImagePctDone,PrevCompoObject?PrevCompoObject->BackgroundBrush:NULL); if (!Img.isNull()) DestPainter->drawImage(x*width,y*height,Img); } else { double TheX,TheY,TheW,TheH; double TheRotateZAxis,TheRotateXAxis,TheRotateYAxis; double TheTxtZoomLevel,TheTxtScrollX,TheTxtScrollY; double X,Y,W,H,DestOpacity; QList PolygonList; QRectF ShapeRect; if (PreparedBrush) { TheX =PreparedBrush->TheX; TheY =PreparedBrush->TheY; TheW =PreparedBrush->TheW; TheH =PreparedBrush->TheH; TheRotateZAxis =PreparedBrush->TheRotateZAxis; TheRotateXAxis =PreparedBrush->TheRotateXAxis; TheRotateYAxis =PreparedBrush->TheRotateYAxis; TheTxtZoomLevel =PreparedBrush->TheTxtZoomLevel; TheTxtScrollX =PreparedBrush->TheTxtScrollX; TheTxtScrollY =PreparedBrush->TheTxtScrollY; X =PreparedBrush->X; Y =PreparedBrush->Y; W =PreparedBrush->W; H =PreparedBrush->H; DestOpacity =PreparedBrush->DestOpacity; PolygonList =PreparedBrush->PolygonList; ShapeRect =PreparedBrush->ShapeRect; } else { // Define values depending on BlockPctDone and PrevCompoObject TheX =Transfo?NewX:x; TheY =Transfo?NewY:y; TheW =Transfo?NewW:w; TheH =Transfo?NewH:h; TheRotateZAxis =RotateZAxis+(EnableAnimation && (BlockAnimType==BLOCKANIMTYPE_MULTIPLETURN)?360*TurnZAxis:0); TheRotateXAxis =RotateXAxis+(EnableAnimation && (BlockAnimType==BLOCKANIMTYPE_MULTIPLETURN)?360*TurnXAxis:0); TheRotateYAxis =RotateYAxis+(EnableAnimation && (BlockAnimType==BLOCKANIMTYPE_MULTIPLETURN)?360*TurnYAxis:0); TheTxtZoomLevel =TxtZoomLevel; TheTxtScrollX =TxtScrollX; TheTxtScrollY =TxtScrollY; if (PrevCompoObject) { if (PrevCompoObject->x!=TheX) TheX =PrevCompoObject->x+(TheX-PrevCompoObject->x)*BlockPctDone; if (PrevCompoObject->y!=TheY) TheY =PrevCompoObject->y+(TheY-PrevCompoObject->y)*BlockPctDone; if (PrevCompoObject->w!=TheW) TheW =PrevCompoObject->w+(TheW-PrevCompoObject->w)*BlockPctDone; if (PrevCompoObject->h!=TheH) TheH =PrevCompoObject->h+(TheH-PrevCompoObject->h)*BlockPctDone; if (PrevCompoObject->RotateZAxis!=TheRotateZAxis) TheRotateZAxis =PrevCompoObject->RotateZAxis+(TheRotateZAxis-PrevCompoObject->RotateZAxis)*BlockPctDone; if (PrevCompoObject->RotateXAxis!=TheRotateXAxis) TheRotateXAxis =PrevCompoObject->RotateXAxis+(TheRotateXAxis-PrevCompoObject->RotateXAxis)*BlockPctDone; if (PrevCompoObject->RotateYAxis!=TheRotateYAxis) TheRotateYAxis =PrevCompoObject->RotateYAxis+(TheRotateYAxis-PrevCompoObject->RotateYAxis)*BlockPctDone; if (PrevCompoObject->TxtZoomLevel!=TheTxtZoomLevel) TheTxtZoomLevel =PrevCompoObject->TxtZoomLevel+(TheTxtZoomLevel-PrevCompoObject->TxtZoomLevel)*BlockPctDone; if (PrevCompoObject->TxtScrollX!=TheTxtScrollX) TheTxtScrollX =PrevCompoObject->TxtScrollX+(TheTxtScrollX-PrevCompoObject->TxtScrollX)*BlockPctDone; if (PrevCompoObject->TxtScrollY!=TheTxtScrollY) TheTxtScrollY =PrevCompoObject->TxtScrollY+(TheTxtScrollY-PrevCompoObject->TxtScrollY)*BlockPctDone; } else { if (EnableAnimation && (BlockAnimType==BLOCKANIMTYPE_MULTIPLETURN)) { TheRotateZAxis=RotateZAxis+360*TurnZAxis*BlockPctDone; TheRotateXAxis=RotateXAxis+360*TurnXAxis*BlockPctDone; TheRotateYAxis=RotateYAxis+360*TurnYAxis*BlockPctDone; } } //********************************************************************************** X =TheX*width; Y =TheY*height; W =TheW*width; H =TheH*height; DestOpacity =(Opacity==1?0.75:Opacity==2?0.50:Opacity==3?0.25:1); if ((W>0)&&(H>0)) { X=floor(X); Y=floor(Y); W=floor(W/2)*2; H=floor(H/2)*2; //********************************************************************************** // Opacity and dissolve annimation //********************************************************************************** if (EnableAnimation) { if (BlockAnimType==BLOCKANIMTYPE_DISSOLVE) { double BlinkNumber=0; switch (Dissolve) { case BLOCKANIMVALUE_APPEAR : DestOpacity=DestOpacity*BlockPctDone; break; case BLOCKANIMVALUE_DISAPPEAR : DestOpacity=DestOpacity*(1-BlockPctDone); break; case BLOCKANIMVALUE_BLINK_SLOW : BlinkNumber=0.25; break; case BLOCKANIMVALUE_BLINK_MEDIUM : BlinkNumber=0.5; break; case BLOCKANIMVALUE_BLINK_FAST : BlinkNumber=1; break; case BLOCKANIMVALUE_BLINK_VERYFAST: BlinkNumber=2; break; } if (BlinkNumber!=0) { BlinkNumber=BlinkNumber*ShotDuration; if (int(BlinkNumber/1000)!=(BlinkNumber/1000)) BlinkNumber=int(BlinkNumber/1000)+1; else BlinkNumber=int(BlinkNumber/1000); // Adjust to upper 1000 double FullPct=BlockPctDone*BlinkNumber*100; FullPct=int(FullPct)-int(FullPct/100)*100; FullPct=(FullPct/100)*2; if (FullPct<1) DestOpacity=DestOpacity*(1-FullPct); else DestOpacity=DestOpacity*(FullPct-1); } } } //*********************************************************************************** // Compute shape //*********************************************************************************** PolygonList=ComputePolygon(BackgroundForm,X,Y,W,H); ShapeRect =PolygonToRectF(PolygonList); } } if ((W>0)&&(H>0)) { DestPainter->save(); DestPainter->setOpacity(DestOpacity); DestPainter->setRenderHints(hints,true); DestPainter->setCompositionMode(QPainter::CompositionMode_SourceOver); QPainter *Painter=DestPainter; QImage ShadowImg; //*********************************************************************************** // If shadow, draw all on a buffered image instead of drawing directly to destination painter //*********************************************************************************** if (FormShadow) { ShadowImg=QImage(width,height,QImage::Format_ARGB32_Premultiplied); Painter=new QPainter(); Painter->begin(&ShadowImg); Painter->setRenderHints(hints,true); Painter->setCompositionMode(QPainter::CompositionMode_Source); Painter->fillRect(QRect(0,0,width,height),Qt::transparent); Painter->setCompositionMode(QPainter::CompositionMode_SourceOver); } //*********************************************************************************** // Prepare Transform Matrix //*********************************************************************************** QPointF CenterF(floor(ShapeRect.center().x()/2)*2,floor(ShapeRect.center().y()/2)*2); QTransform Matrix; Matrix.translate(CenterF.x(),CenterF.y()); // Translate to be sure we are on the center of the shape if (TheRotateZAxis!=0) Matrix.rotate(TheRotateZAxis,Qt::ZAxis); // Standard axis if (TheRotateXAxis!=0) Matrix.rotate(TheRotateXAxis,Qt::XAxis); // Rotate from X axis if (TheRotateYAxis!=0) Matrix.rotate(TheRotateYAxis,Qt::YAxis); // Rotate from Y axis Painter->setWorldTransform(Matrix,false); if (TextClipArtName!="") { QSvgRenderer SVGImg(TextClipArtName); if (!SVGImg.isValid()) { ToLog(LOGMSG_CRITICAL,QString("IN:cCompositionObject:DrawCompositionObject: Error loading ClipArt Image %1").arg(TextClipArtName)); } else { SVGImg.render(Painter,QRectF(-W/2,-H/2,W,H)); } } else if ((BackgroundBrush->BrushType!=BRUSHTYPE_NOBRUSH)||(PenSize!=0)) { for (int i=0;isetPen(Qt::NoPen); else { Pen.setColor(PenColor); Pen.setWidthF(double(PenSize)*ADJUST_RATIO); Pen.setStyle((Qt::PenStyle)PenStyle); Painter->setPen(Pen); } //*********************************************************************************** // Prepare brush //*********************************************************************************** if (BackgroundBrush->BrushType==BRUSHTYPE_NOBRUSH) Painter->setBrush(Qt::NoBrush); else { // Create brush with filter and Ken Burns effect ! QBrush *BR=BackgroundBrush->GetBrush(QRectF(0,0,W,H),PreviewMode,Position,SoundTrackMontage,ImagePctDone,PrevCompoObject?PrevCompoObject->BackgroundBrush:NULL); if (BR) { QTransform MatrixBR; // Avoid phantom lines for image brush if ((!BR->textureImage().isNull())&&((TheRotateZAxis!=0)||(TheRotateXAxis!=0)||(TheRotateYAxis!=0))) { QImage TempImage(W+4,H+4,QImage::Format_ARGB32_Premultiplied); QPainter TempPainter; TempPainter.begin(&TempImage); TempPainter.setRenderHints(hints,true); TempPainter.setCompositionMode(QPainter::CompositionMode_Source); TempPainter.fillRect(QRect(0,0,TempImage.width(),TempImage.height()),Qt::transparent); TempPainter.setCompositionMode(QPainter::CompositionMode_SourceOver); TempPainter.drawImage(2,2,BR->textureImage()); TempPainter.end(); delete BR; BR=new QBrush(TempImage); MatrixBR.translate(NewShapeRect.left()+(X-ShapeRect.left())-2,NewShapeRect.top()+(Y-ShapeRect.top())-2); } else { MatrixBR.translate(NewShapeRect.left()+(X-ShapeRect.left()),NewShapeRect.top()+(Y-ShapeRect.top())); } BR->setTransform(MatrixBR); // Apply transform matrix to the brush Painter->setBrush(*BR); delete BR; } else { ToLog(LOGMSG_CRITICAL,"Error in cCompositionObject::DrawCompositionObject Brush is NULL !"); Painter->setBrush(Qt::NoBrush); } } //*********************************************************************************** // Draw shape (with pen and brush and transform matrix) //*********************************************************************************** if (BackgroundBrush->BrushType==BRUSHTYPE_NOBRUSH) Painter->setCompositionMode(QPainter::CompositionMode_Source); for (int i=0;idrawPolygon(PolygonList.at(i)); if (BackgroundBrush->BrushType==BRUSHTYPE_NOBRUSH) Painter->setCompositionMode(QPainter::CompositionMode_SourceOver); } //********************************************************************************** // Text part //********************************************************************************** if ((TheTxtZoomLevel>0)&&(!IsTextEmpty)) { QTextDocument TextDocument; QString TheText=Variable.ResolveTextVariable(Object,Text); TextDocument.setHtml(TheText); double FullMargin=((TMType==TEXTMARGINS_FULLSHAPE)||(TMType==TEXTMARGINS_CUSTOM))?0:double(PenSize)*ADJUST_RATIO/double(2); QRectF TextMargin; double PointSize =((double(width)/double(SCALINGTEXTFACTOR))); if ((TMType==TEXTMARGINS_FULLSHAPE)||(TMType==TEXTMARGINS_CUSTOM)) TextMargin=QRectF(TMx*TheW*width,TMy*TheH*height,TMw*TheW*width,TMh*TheH*height); else if (TextClipArtName!="") { cTextFrameObject *TFO=&TextFrameList.List[TextFrameList.SearchImage(TextClipArtName)]; TextMargin=QRectF(TFO->TMx*TheW*width+FullMargin,TFO->TMy*TheH*height+FullMargin, TFO->TMw*TheW*width-FullMargin*2,TFO->TMh*TheH*height-FullMargin*2); } else { TextMargin=QRectF(ShapeFormDefinition[BackgroundForm].TMx*TheW*width+FullMargin,ShapeFormDefinition[BackgroundForm].TMy*TheH*height+FullMargin, ShapeFormDefinition[BackgroundForm].TMw*TheW*width-FullMargin*2,ShapeFormDefinition[BackgroundForm].TMh*TheH*height-FullMargin*2); } TextMargin.translate(-ShapeRect.width()/2,-ShapeRect.height()/2); if (DisplayTextMargin) { QPen PP(Qt::blue); PP.setStyle(Qt::DotLine); PP.setWidth(1); Painter->setPen(PP); Painter->setBrush(Qt::NoBrush); Painter->drawRect(TextMargin); } Painter->setClipRect(TextMargin); Painter->setClipping(true); // Not sure is needed ! TextDocument.setTextWidth(TextMargin.width()/PointSize); QRectF FmtBdRect(0,0, double(TextDocument.documentLayout()->documentSize().width())*(TheTxtZoomLevel/100)*PointSize, double(TextDocument.documentLayout()->documentSize().height())*(TheTxtZoomLevel/100)*PointSize); int MaxH =TextMargin.height()>FmtBdRect.height()?TextMargin.height():FmtBdRect.height(); double DecalX=(TheTxtScrollX/100)*TextMargin.width()+TextMargin.center().x()-TextMargin.width()/2+(TextMargin.width()-FmtBdRect.width())/2; double DecalY=(-TheTxtScrollY/100)*MaxH+TextMargin.center().y()-TextMargin.height()/2; if (VAlign==0) ; //Qt::AlignTop (Nothing to do) else if (VAlign==1) DecalY=DecalY+(TextMargin.height()-FmtBdRect.height())/2; //Qt::AlignVCenter else DecalY=DecalY+(TextMargin.height()-FmtBdRect.height()); //Qt::AlignBottom) QAbstractTextDocumentLayout::PaintContext Context; QTextCursor Cursor(&TextDocument); QTextCharFormat TCF; Cursor.select(QTextCursor::Document); if (StyleText==1) { // Add outerline for painting TCF.setTextOutline(QPen(QColor(FontShadowColor))); Cursor.mergeCharFormat(TCF); } else if (StyleText!=0) { // Paint shadow of the text TCF.setForeground(QBrush(QColor(FontShadowColor))); Cursor.mergeCharFormat(TCF); Painter->save(); switch (StyleText) { case 2: Painter->translate(DecalX-1,DecalY-1); break; //2=shadow up-left case 3: Painter->translate(DecalX+1,DecalY-1); break; //3=shadow up-right case 4: Painter->translate(DecalX-1,DecalY+1); break; //4=shadow bt-left case 5: Painter->translate(DecalX+1,DecalY+1); break; //5=shadow bt-right } Painter->scale((TheTxtZoomLevel/100)*PointSize,(TheTxtZoomLevel/100)*PointSize); TextDocument.documentLayout()->draw(Painter,Context); Painter->restore(); TextDocument.setHtml(TheText); // Restore Text Document } Painter->save(); Painter->translate(DecalX,DecalY); Painter->scale((TheTxtZoomLevel/100)*PointSize,(TheTxtZoomLevel/100)*PointSize); TextDocument.documentLayout()->draw(Painter,Context); Painter->restore(); } //********************************************************************************** // Block shadow part //********************************************************************************** // if shadow, draw buffered image to destination painter if (FormShadow) { Painter->end(); delete Painter; // 1st step : construct ImgShadow as a mask from ShadowImg QImage ImgShadow =ShadowImg.copy(); u_int8_t *Data =ImgShadow.bits(); QColor SColor =QColor(FormShadowColor); u_int8_t R =SColor.red(); u_int8_t G =SColor.green(); u_int8_t B =SColor.blue(); for (int i=0;i<(width-1)*(height-1);i++) { if (*(Data+3)!=0) { *Data++=B; *Data++=G; *Data++=R; if (*Data) *Data++=0xff; // force alpha chanel to 1 or 0 } else Data+=4; } // 2nd step : Draw images double Distance=double(FormShadowDistance)*ADJUST_RATIO; switch (FormShadow) { case 1 : DestPainter->setOpacity(0.75*DestOpacity); DestPainter->drawImage(-Distance,-Distance,ImgShadow); break; // shadow up-left case 2 : DestPainter->setOpacity(0.75*DestOpacity); DestPainter->drawImage(Distance,-Distance,ImgShadow); break; // shadow up-right case 3 : DestPainter->setOpacity(0.75*DestOpacity); DestPainter->drawImage(-Distance,Distance,ImgShadow); break; // shadow bt-left default : DestPainter->setOpacity(0.75*DestOpacity); DestPainter->drawImage(Distance,Distance,ImgShadow); break; // shadow bt-right } DestPainter->setOpacity(DestOpacity); DestPainter->drawImage(0,0,ShadowImg); } DestPainter->restore(); } } } } //********************************************************************************************************************************************* cCompositionList::cCompositionList(QObject *Parent):QObject(Parent) { setObjectName("cCompositionList"); TypeComposition=COMPOSITIONTYPE_BACKGROUND; } //==================================================================================================================== cCompositionList::~cCompositionList() { while (List.count()>0) delete List.takeLast(); } //==================================================================================================================== void cCompositionList::SaveToXML(QDomElement &domDocument,QString ElementName,QString PathForRelativPath,bool ForceAbsolutPath,cReplaceObjectList *ReplaceList,QList *ResKeyList,bool IsModel) { QDomDocument DomDocument; QDomElement Element=DomDocument.createElement(ElementName); // Save composition list Element.setAttribute("TypeComposition",TypeComposition); Element.setAttribute("CompositionNumber",List.count()); for (int i=0;iSaveToXML(Element,"Composition-"+QString("%1").arg(i),PathForRelativPath,ForceAbsolutPath,true,ReplaceList,ResKeyList,true,IsModel); domDocument.appendChild(Element); } //==================================================================================================================== bool cCompositionList::LoadFromXML(QDomElement domDocument,QString ElementName,QString PathForRelativPath,cCompositionList *ObjectComposition,QStringList *AliasList,cApplicationConfig *ApplicationConfig,QList *ResKeyList,bool DuplicateRes) { if ((domDocument.elementsByTagName(ElementName).length()>0)&&(domDocument.elementsByTagName(ElementName).item(0).isElement()==true)) { QDomElement Element=domDocument.elementsByTagName(ElementName).item(0).toElement(); bool IsOk=true; // Load composition list List.clear(); TypeComposition=Element.attribute("TypeComposition").toInt(); int CompositionNumber=Element.attribute("CompositionNumber").toInt(); for (int i=0;iTopLevelWindow)->ApplicationConfig,this); // IndexKey will be load from XML if (!CompositionObject->LoadFromXML(Element,"Composition-"+QString("%1").arg(i),PathForRelativPath,ObjectComposition,AliasList,true,ResKeyList,DuplicateRes,true)) { //IsOk=false; delete CompositionObject; } else { List.append(CompositionObject); } } return IsOk; } else return false; } //********************************************************************************************************************************************* // // Base class containing scene definition // //********************************************************************************************************************************************* cDiaporamaShot::cDiaporamaShot(cDiaporamaObject *DiaporamaObject):QObject(DiaporamaObject),ShotComposition(this) { setObjectName("cDiaporamaShot"); Parent = DiaporamaObject; StaticDuration = ((MainWindow *)Parent->Parent->ApplicationConfig->TopLevelWindow)->ApplicationConfig->FixedDuration; // Duration (in msec) of the static part animation ShotComposition.TypeComposition = COMPOSITIONTYPE_SHOT; } //==================================================================================================================== cDiaporamaShot::~cDiaporamaShot() { } //=============================================================== void cDiaporamaShot::SaveToXML(QDomElement &domDocument,QString ElementName,QString PathForRelativPath,bool ForceAbsolutPath,bool LimitedInfo,cReplaceObjectList *ReplaceList,QList *ResKeyList,bool IsModel) { QDomDocument DomDocument; QDomElement Element=DomDocument.createElement(ElementName); if (!LimitedInfo) Element.setAttribute("StaticDuration",qlonglong(StaticDuration)); // Duration (in msec) of the static part animation ShotComposition.SaveToXML(Element,"ShotComposition",PathForRelativPath,ForceAbsolutPath,ReplaceList,ResKeyList,IsModel); // Composition list for this object domDocument.appendChild(Element); } //=============================================================== bool cDiaporamaShot::LoadFromXML(QDomElement domDocument,QString ElementName,QString PathForRelativPath,cCompositionList *ObjectComposition,QStringList *AliasList,QList *ResKeyList,bool DuplicateRes) { if ((domDocument.elementsByTagName(ElementName).length()>0)&&(domDocument.elementsByTagName(ElementName).item(0).isElement()==true)) { QDomElement Element=domDocument.elementsByTagName(ElementName).item(0).toElement(); if (Element.hasAttribute("StaticDuration")) StaticDuration=Element.attribute("StaticDuration").toInt(); // Duration (in msec) of the static part animation // Composition list for this object ShotComposition.LoadFromXML(Element,"ShotComposition",PathForRelativPath,ObjectComposition,AliasList,Parent->Parent->ApplicationConfig,ResKeyList,DuplicateRes); return true; } return false; } //********************************************************************************************************************************************* // // Base object for all media type // //********************************************************************************************************************************************* cDiaporamaObject::cDiaporamaObject(cDiaporama *Diaporama):QObject(Diaporama),ObjectComposition(this) { setObjectName("cDiaporamaObject"); BackgroundBrush =new cBrushDefinition(NULL,Diaporama->ApplicationConfig); Parent =Diaporama; SlideName =QApplication::translate("MainWindow","Title","Default slide name when no file"); NextIndexKey =1; ThumbnailKey =-1; CachedDuration =0; CachedTransitDuration =0; CachedStartPosition =0; CachedMusicIndex =0; CachedBackgroundIndex =0; CachedHaveSound =0; CachedSoundVolume =0; CachedHaveFilter =false; InitDefaultValues(); // Add an empty scene List.append(new cDiaporamaShot(this)); } //==================================================================================================================== void cDiaporamaObject::InitDefaultValues() { // Set default/initial value StartNewChapter = DEFAULT_STARTNEWCHAPTER; // if true then start a new chapter from this slide ChapterName = QApplication::translate("cModelList","Chapter title"); OverrideProjectEventDate = DEFAULT_CHAPTEROVERRIDE; ChapterEventDate = Parent->ProjectInfo->EventDate; OverrideChapterLongDate = DEFAULT_CHAPTEROVERRIDE; ChapterLocation = NULL; ChapterLongDate = ""; BackgroundType = false; // Background type : false=same as precedent - true=new background definition BackgroundBrush->BrushType = BRUSHTYPE_SOLID; BackgroundBrush->ColorD = "#000000"; // Background color MusicType = DEFAULT_MUSICTYPE; // Music type : false=same as precedent - true=new playlist definition MusicPause = DEFAULT_MUSICPAUSE; // true if music is pause during this object MusicReduceVolume = DEFAULT_MUSICREDUCEVOLUME; // true if volume if reduce by MusicReduceFactor MusicReduceFactor = DEFAULT_MUSICREDUCEFACTOR; // factor for volume reduction if MusicReduceVolume is true TransitionFamilly = TRANSITIONFAMILLY_BASE; // Transition familly TransitionSubType = 0; // Transition type in the familly TransitionDuration = DEFAULT_TRANSITIONDURATION; // Transition duration (in msec) TransitionSpeedWave = SPEEDWAVE_PROJECTDEFAULT; ObjectComposition.TypeComposition = COMPOSITIONTYPE_OBJECT; } //==================================================================================================================== cDiaporamaObject::~cDiaporamaObject() { if (BackgroundBrush) { delete BackgroundBrush; BackgroundBrush=NULL; } if (ChapterLocation) { delete ((cLocation *)ChapterLocation); ChapterLocation=NULL; } while (List.count()>0) delete List.takeLast(); } //==================================================================================================================== QString cDiaporamaObject::GetDisplayName() { return SlideName; } //=============================================================== // Draw Thumb void cDiaporamaObject::DrawThumbnail(int ThumbWidth,int ThumbHeight,QPainter *Painter,int AddX,int AddY,int ShotNumber) { QImage Thumb; if (ShotNumber==0) Parent->ApplicationConfig->SlideThumbsTable->GetThumbs(&ThumbnailKey,&Thumb); if ((Thumb.isNull())||(Thumb.width()!=ThumbWidth)||(Thumb.height()!=ThumbHeight)) { Thumb=QImage(ThumbWidth,ThumbHeight,QImage::Format_ARGB32_Premultiplied); QPainter P; P.begin(&Thumb); P.fillRect(0,0,ThumbWidth,ThumbHeight,Transparent); if (List.count()>0) for (int j=0;jShotComposition.List.count();j++) { cVideoFile *Video=(List[ShotNumber]->ShotComposition.List[j]->BackgroundBrush->MediaObject)&&(List[ShotNumber]->ShotComposition.List[j]->BackgroundBrush->MediaObject->ObjectType==OBJECTTYPE_VIDEOFILE)? (cVideoFile *)List[ShotNumber]->ShotComposition.List[j]->BackgroundBrush->MediaObject:NULL; int StartPosToAdd=(Video)?QTime(0,0,0,0).msecsTo(Video->StartPos):0; if (ShotNumber!=0) { // Calc Start position of the video (depending on visible state) int IndexKeyToFind=List[ShotNumber]->ShotComposition.List[j]->IndexKey; for (int k=0;kShotComposition.List.count();l++) if (List[k]->ShotComposition.List[l]->IndexKey==IndexKeyToFind) { if (List[k]->ShotComposition.List[l]->IsVisible) StartPosToAdd+=List[k]->StaticDuration; l=List[k]->ShotComposition.List.count(); // Stop loop } } List[ShotNumber]->ShotComposition.List[j]->DrawCompositionObject(this,&P,double(ThumbHeight)/1080,ThumbWidth,ThumbHeight,true,StartPosToAdd,NULL,0,0,NULL,false,List[ShotNumber]->StaticDuration,false); } P.end(); if (ShotNumber==0) Parent->ApplicationConfig->SlideThumbsTable->SetThumbs(&ThumbnailKey,Thumb); } if (Painter) Painter->drawImage(AddX,AddY,Thumb); } //=============================================================== int cDiaporamaObject::GetSpeedWave() { if (TransitionSpeedWave==SPEEDWAVE_PROJECTDEFAULT) return Parent->TransitionSpeedWave; else return TransitionSpeedWave; } //=============================================================== int64_t cDiaporamaObject::GetTransitDuration() { if ((TransitionFamilly==0)&&(TransitionSubType==0)) return 0; else return TransitionDuration; } int64_t cDiaporamaObject::GetCumulTransitDuration() { // Adjust duration to ensure transition will be full ! int ObjectIndex =Parent->GetObjectIndex(this); int64_t TransitDuration=GetTransitDuration(); if (ObjectIndex<(Parent->List.count()-1)) TransitDuration+=Parent->List[ObjectIndex+1]->GetTransitDuration(); return TransitDuration; } //=============================================================== int64_t cDiaporamaObject::GetDuration() { int64_t Duration=0; for (int i=0;iStaticDuration; // Adjust duration to ensure transition will be full ! int64_t TransitDuration=GetCumulTransitDuration(); if (DurationBackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK)&&(ObjectComposition.List[Block]->BackgroundBrush->MediaObject)&&(ObjectComposition.List[Block]->BackgroundBrush->MediaObject->ObjectType==OBJECTTYPE_VIDEOFILE)) { int IndexKey =ObjectComposition.List[Block]->IndexKey; int64_t WantedDuration =((cVideoFile*)ObjectComposition.List[Block]->BackgroundBrush->MediaObject)->StartPos.msecsTo(((cVideoFile*)ObjectComposition.List[Block]->BackgroundBrush->MediaObject)->EndPos); int64_t CurrentDuration =0; for (int i=0;iShotComposition.List.count();j++) if (List[i]->ShotComposition.List[j]->IndexKey==IndexKey) { if (List[i]->ShotComposition.List[j]->IsVisible) { WantedDuration-=List[i]->StaticDuration; if (WantedDuration<0) WantedDuration=0; } } CurrentDuration+=List[i]->StaticDuration; } CurrentDuration+=WantedDuration; if (MaxMovieDurationList.count())&&(Parent->List[i]!=this);i++) if ((i==0)||(Parent->List[i]->StartNewChapter)) { if (Parent->List[i]->StartNewChapter) Number++; if ((Object)&&(iList.count())) *Object=Parent->List[i]; } if ((i==0)||((iList.count())&&(Parent->List[i]->StartNewChapter))) { if ((iList.count())&&(Parent->List[i]->StartNewChapter)) Number++; if ((Object)&&(iList.count())) *Object=Parent->List[i]; } return Number; } //=============================================================== int cDiaporamaObject::GetSlideNumber() { int Number=0; for (int i=0;(iList.count())&&(Parent->List[i]!=this);i++) Number++; return Number; } //=============================================================== int cDiaporamaObject::GetAutoTSNumber() { if ((SlideName.length()==QString("<%AUTOTS_000000%>").length())&&(SlideName.startsWith("<%AUTOTS_"))&&(SlideName.endsWith("%>"))) return SlideName.mid(QString("<%AUTOTS_").length(),QString("000000").length()).toInt(); else return -1; } //=============================================================== void cDiaporamaObject::LoadModelFromXMLData(ffd_MODELTYPE TypeModel,QDomDocument domDocument,QList *ResKeyList,bool DuplicateRes) { QString ErrorMsg; QDomElement ProjectDocument=domDocument.documentElement(); bool IsOk=false; switch (TypeModel) { case ffd_MODELTYPE_THUMBNAIL: IsOk=(ProjectDocument.tagName()==THUMBMODEL_ROOTNAME)&&(LoadFromXML(ProjectDocument,THUMBMODEL_ELEMENTNAME,"",NULL,ResKeyList,DuplicateRes)); ErrorMsg=QApplication::translate("MainWindow","The file is not a valid thumbnail file","Error message"); break; case ffd_MODELTYPE_PROJECTTITLE: case ffd_MODELTYPE_CHAPTERTITLE: case ffd_MODELTYPE_CREDITTITLE: IsOk=(ProjectDocument.tagName()==TITLEMODEL_ROOTNAME)&&(LoadFromXML(ProjectDocument,TITLEMODEL_ELEMENTNAME,"",NULL,ResKeyList,DuplicateRes)); ErrorMsg=QApplication::translate("MainWindow","The file is not a valid title model file","Error message"); break; } if (!IsOk) CustomMessageBox(NULL,QMessageBox::Critical,QApplication::translate("MainWindow","Error","Error message"),ErrorMsg,QMessageBox::Close); } //=============================================================== bool cDiaporamaObject::SaveModelFile(ffd_MODELTYPE TypeModel,QString ModelFileName) { QList ResKeyList; QFile file(ModelFileName); QDomDocument domDocument(APPLICATION_NAME); QDomElement root; QString RootName,ElementName; // Create xml document and root switch (TypeModel) { case ffd_MODELTYPE_THUMBNAIL: RootName=THUMBMODEL_ROOTNAME; ElementName=THUMBMODEL_ELEMENTNAME; break; case ffd_MODELTYPE_PROJECTTITLE: case ffd_MODELTYPE_CHAPTERTITLE: case ffd_MODELTYPE_CREDITTITLE: RootName=TITLEMODEL_ROOTNAME; ElementName=TITLEMODEL_ELEMENTNAME; break; } root=domDocument.createElement(RootName); domDocument.appendChild(root); SaveToXML(root,ElementName,ModelFileName,true,NULL,&ResKeyList,false); // Write file to disk if (!file.open(QFile::WriteOnly | QFile::Text)) { CustomMessageBox(NULL,QMessageBox::Critical,QApplication::translate("MainWindow","Error","Error message"),QApplication::translate("MainWindow","Error creating model file","Error message"),QMessageBox::Close); return false; } else { // Save file now QTextStream out(&file); out.setCodec("UTF-8"); domDocument.save(out,4); // Iterate for ressources for (int i=0;iApplicationConfig->SlideThumbsTable->GetThumbs(&Key,&Thumbnail); QDomElement Ressource=domDocument.createElement("Ressource"); QByteArray ba; QBuffer buf(&ba); Thumbnail.save(&buf,"PNG"); QByteArray Compressed=qCompress(ba,1); QByteArray Hexed =Compressed.toHex(); Ressource.setAttribute("Key",Key); Ressource.setAttribute("Width",Thumbnail.width()); Ressource.setAttribute("Height",Thumbnail.height()); Ressource.setAttribute("Image",QString(Hexed)); Ressource.save(out,0); } file.close(); return true; } } //=============================================================== QString cDiaporamaObject::SaveAsNewCustomModelFile(ffd_MODELTYPE TypeModel) { QString NewName,Text; cModelList *ModelList; switch (TypeModel) { case ffd_MODELTYPE_PROJECTTITLE: ModelList=Parent->ApplicationConfig->PrjTitleModels[Parent->ImageGeometry][MODELTYPE_PROJECTTITLE_CATNUMBER-1]; break; case ffd_MODELTYPE_CHAPTERTITLE: ModelList=Parent->ApplicationConfig->CptTitleModels[Parent->ImageGeometry][MODELTYPE_CHAPTERTITLE_CATNUMBER-1]; break; case ffd_MODELTYPE_CREDITTITLE: ModelList=Parent->ApplicationConfig->CreditTitleModels[Parent->ImageGeometry][MODELTYPE_CREDITTITLE_CATNUMBER-1]; break; case ffd_MODELTYPE_THUMBNAIL: default: ModelList=Parent->ApplicationConfig->ThumbnailModels; break; } NewName=ModelList->CustomModelPath; if (!NewName.endsWith(QDir::separator())) NewName=NewName+QDir::separator(); Text=QString("%1").arg(*ModelList->NextNumber); (*ModelList->NextNumber)++; NewName=NewName+Text+"."+ModelList->ModelSuffix; SaveModelFile(TypeModel,NewName); ModelList->FillModelType(TypeModel); if (TypeModel==ffd_MODELTYPE_THUMBNAIL) Parent->ThumbnailName=Text; return NewName; } //=============================================================== void cDiaporamaObject::SaveToXML(QDomElement &domDocument,QString ElementName,QString PathForRelativPath,bool ForceAbsolutPath,cReplaceObjectList *ReplaceList,QList *ResKeyList,bool SaveThumbAllowed) { QDomDocument DomDocument; QDomElement Element=DomDocument.createElement(ElementName); QDomElement SubElement; Element.setAttribute("NextIndexKey", NextIndexKey); if (ElementName==THUMBMODEL_ELEMENTNAME) { Element.setAttribute("ThumbnailName", Parent->ThumbnailName); } else if (ElementName==TITLEMODEL_ELEMENTNAME) { } else { // Slide properties Element.setAttribute("SlideName", SlideName); // Chapter properties if (StartNewChapter!=DEFAULT_STARTNEWCHAPTER) Element.setAttribute("StartNewChapter", StartNewChapter?"1":"0"); if (OverrideProjectEventDate!=DEFAULT_CHAPTEROVERRIDE) Element.setAttribute("OverrideProjectEventDate",OverrideProjectEventDate?"1":"0"); if (OverrideChapterLongDate!=DEFAULT_CHAPTEROVERRIDE) Element.setAttribute("OverrideChapterLongDate", OverrideChapterLongDate?"1":"0"); if (StartNewChapter && !ChapterName.isEmpty()) Element.setAttribute("ChapterName", ChapterName); if (OverrideChapterLongDate && !ChapterLongDate.isEmpty()) Element.setAttribute("ChapterLongDate", ChapterLongDate); if (OverrideProjectEventDate && (ChapterEventDate!=Parent->ProjectInfo->EventDate)) Element.setAttribute("ChapterEventDate", ChapterEventDate.toString(Qt::ISODate)); if (ChapterLocation) { QDomElement SubElement=DomDocument.createElement("ChapterLocation"); ((cLocation *)ChapterLocation)->SaveToXML(&SubElement,"",PathForRelativPath,ForceAbsolutPath,ReplaceList,ResKeyList,false); Element.appendChild(SubElement); } // Transition properties SubElement=DomDocument.createElement("Transition"); SubElement.setAttribute("TransitionFamilly",TransitionFamilly); // Transition familly SubElement.setAttribute("TransitionSubType",TransitionSubType); // Transition type in the familly if (TransitionDuration!=DEFAULT_TRANSITIONDURATION) SubElement.setAttribute("TransitionDuration",qlonglong(TransitionDuration)); // Transition duration (in msec) if (TransitionSpeedWave!=SPEEDWAVE_PROJECTDEFAULT) SubElement.setAttribute("TransitionSpeedWave",TransitionSpeedWave); // Transition speed wave Element.appendChild(SubElement); // Music properties if (MusicType!=DEFAULT_MUSICTYPE) Element.setAttribute("MusicType", MusicType?"1":"0"); // Music type : false=same as precedent - true=new playlist definition if (MusicPause!=DEFAULT_MUSICPAUSE) Element.setAttribute("MusicPause", MusicPause?"1":"0"); // true if music is pause during this object if (MusicReduceVolume!=DEFAULT_MUSICREDUCEVOLUME) Element.setAttribute("MusicReduceVolume", MusicReduceVolume?"1":"0"); // true if volume if reduce by MusicReduceFactor if (MusicReduceFactor!=DEFAULT_MUSICREDUCEFACTOR) Element.setAttribute("MusicReduceFactor",QString("%1").arg(MusicReduceFactor,0,'f')); // factor for volume reduction if MusicReduceVolume is true if (MusicList.count()>0) { Element.setAttribute("MusicNumber",MusicList.count()); // Number of file in the playlist for (int i=0;iappend(ThumbnailKey); } // Background properties SubElement=DomDocument.createElement("Background"); SubElement.setAttribute("BackgroundType",BackgroundType?"1":"0"); // Background type : false=same as precedent - true=new background definition BackgroundBrush->SaveToXML(&SubElement,"BackgroundBrush",PathForRelativPath,ForceAbsolutPath,ReplaceList,ResKeyList,false); // Background brush Element.appendChild(SubElement); } // Global blocks composition table ObjectComposition.SaveToXML(Element,"ObjectComposition",PathForRelativPath,ForceAbsolutPath,ReplaceList,ResKeyList,ElementName==TITLEMODEL_ELEMENTNAME); // ObjectComposition // Shots definitions Element.setAttribute("ShotNumber",List.count()); for (int i=0;iSaveToXML(Element,"Shot-"+QString("%1").arg(i),PathForRelativPath,ForceAbsolutPath,(ElementName==THUMBMODEL_ELEMENTNAME),ReplaceList,ResKeyList,ElementName==TITLEMODEL_ELEMENTNAME); domDocument.appendChild(Element); } //=============================================================== bool cDiaporamaObject::LoadFromXML(QDomElement domDocument,QString ElementName,QString PathForRelativPath,QStringList *AliasList,QList *ResKeyList,bool DuplicateRes) { if ((ElementName!=THUMBMODEL_ELEMENTNAME)&&(ElementName!=TITLEMODEL_ELEMENTNAME)) InitDefaultValues(); if ((domDocument.elementsByTagName(ElementName).length()>0)&&(domDocument.elementsByTagName(ElementName).item(0).isElement()==true)) { QDomElement Element=domDocument.elementsByTagName(ElementName).item(0).toElement(); bool IsOk=true; bool ModifyFlag=false; // Load shot list List.clear(); NextIndexKey=Element.attribute("NextIndexKey").toInt(); if (ElementName==THUMBMODEL_ELEMENTNAME) { if (Element.hasAttribute("ThumbnailName")) Parent->ThumbnailName=Element.attribute("ThumbnailName"); } else if (ElementName==TITLEMODEL_ELEMENTNAME) { } else { // Slide properties SlideName=Element.attribute("SlideName"); if (Element.hasAttribute("StartNewChapter")) StartNewChapter =Element.attribute("StartNewChapter")=="1"; if (Element.hasAttribute("OverrideProjectEventDate")) OverrideProjectEventDate=Element.attribute("OverrideProjectEventDate")=="1"; if (Element.hasAttribute("OverrideChapterLongDate")) OverrideChapterLongDate =Element.attribute("OverrideChapterLongDate")=="1"; if (Element.hasAttribute("ChapterName")) ChapterName =Element.attribute("ChapterName"); if (Element.hasAttribute("ChapterLongDate")) ChapterLongDate =Element.attribute("ChapterLongDate"); if (Element.hasAttribute("ChapterEventDate")) ChapterEventDate =ChapterEventDate.fromString(Element.attribute("ChapterEventDate"),Qt::ISODate); ChapterEventDate=OverrideProjectEventDate?ChapterEventDate:Parent->ProjectInfo->EventDate; ChapterLongDate =OverrideProjectEventDate?OverrideChapterLongDate?ChapterLongDate:FormatLongDate(ChapterEventDate):Parent->ProjectInfo->LongDate; if ((Element.elementsByTagName("ChapterLocation").length()>0)&&(Element.elementsByTagName("ChapterLocation").item(0).isElement()==true)) { QDomElement SubElement=Element.elementsByTagName("ChapterLocation").item(0).toElement(); if (ChapterLocation) delete (cLocation *)ChapterLocation; ChapterLocation=new cLocation(Parent->ApplicationConfig); ((cLocation *)ChapterLocation)->LoadFromXML(&SubElement,"",PathForRelativPath,AliasList,&ModifyFlag,ResKeyList,DuplicateRes); } // Compatibility with version prior to 1.7 if ((Parent->ProjectInfo->ffDRevision<"20130725")&&((StartNewChapter)||(GetSlideNumber()==0))) ChapterName=SlideName; // Transition properties if ((Element.elementsByTagName("Transition").length()>0)&&(Element.elementsByTagName("Transition").item(0).isElement()==true)) { QDomElement SubElement=Element.elementsByTagName("Transition").item(0).toElement(); TransitionFamilly =(TRFAMILLY)SubElement.attribute("TransitionFamilly").toInt(); // Transition familly TransitionSubType =SubElement.attribute("TransitionSubType").toInt(); // Transition type in the familly if (SubElement.hasAttribute("TransitionDuration")) TransitionDuration=SubElement.attribute("TransitionDuration").toInt(); // Transition duration (in msec) if (SubElement.hasAttribute("TransitionSpeedWave")) TransitionSpeedWave=SubElement.attribute("TransitionSpeedWave").toInt(); // Transition speed wave Element.appendChild(SubElement); } // Music properties MusicList.clear(); if (Element.hasAttribute("MusicType")) MusicType =Element.attribute("MusicType")=="1"; // Music type : false=same as precedent - true=new playlist definition if (Element.hasAttribute("MusicPause")) MusicPause =Element.attribute("MusicPause")=="1"; // true if music is pause during this object if (Element.hasAttribute("MusicReduceVolume")) MusicReduceVolume =Element.attribute("MusicReduceVolume")=="1"; // true if volume if reduce by MusicReduceFactor if (Element.hasAttribute("MusicReduceFactor")) MusicReduceFactor =GetDoubleValue(Element,"MusicReduceFactor"); // factor for volume reduction if MusicReduceVolume is true if (Element.hasAttribute("MusicNumber")) { int MusicNumber =Element.attribute("MusicNumber").toInt(); // Number of file in the playlist for (int i=0;iApplicationConfig->TopLevelWindow)->ApplicationConfig); if (!MusicObject->LoadFromXML(&Element,"Music-"+QString("%1").arg(i),PathForRelativPath,AliasList,&ModifyFlag)) IsOk=false; MusicList.append(*MusicObject); if (ModifyFlag) ((MainWindow *)Parent->ApplicationConfig->TopLevelWindow)->SetModifyFlag(true); } } // Compatibility with version prior to 2.1 if (Element.hasAttribute("Thumbnail")) { int ThumbWidth =Element.attribute("ThumbWidth").toInt(); int ThumbHeight =Element.attribute("ThumbHeight").toInt(); QImage Thumbnail(ThumbWidth,ThumbHeight,QImage::Format_ARGB32_Premultiplied); QByteArray Compressed =QByteArray::fromHex(Element.attribute("Thumbnail").toUtf8()); QByteArray Decompressed =qUncompress(Compressed); Thumbnail.loadFromData(Decompressed); Parent->ApplicationConfig->SlideThumbsTable->SetThumbs(&ThumbnailKey,Thumbnail); } if (Element.hasAttribute("ThumbRessource")) { if (ResKeyList) { int ResKey=Element.attribute("ThumbRessource").toLongLong(); for (int ResNum=0;ResNumcount();ResNum++) if (ResKey==ResKeyList->at(ResNum).OrigKey) { ResKey=ResKeyList->at(ResNum).NewKey; break; } ThumbnailKey=ResKey; } else ThumbnailKey=Element.attribute("ThumbRessource").toLongLong(); } // if DuplicateRes (for exemple during a paste operation) if ((DuplicateRes)&&(ThumbnailKey!=-1)) { QImage Thumbnail; Parent->ApplicationConfig->SlideThumbsTable->GetThumbs(&ThumbnailKey,&Thumbnail); ThumbnailKey=-1; Parent->ApplicationConfig->SlideThumbsTable->GetThumbs(&ThumbnailKey,&Thumbnail); } // Background properties if ((Element.elementsByTagName("Background").length()>0)&&(Element.elementsByTagName("Background").item(0).isElement()==true)) { if (BackgroundBrush->MediaObject) { if (BackgroundBrush->DeleteMediaObject) delete BackgroundBrush->MediaObject; BackgroundBrush->MediaObject=NULL; } QDomElement SubElement=Element.elementsByTagName("Background").item(0).toElement(); BackgroundType =SubElement.attribute("BackgroundType")=="1"; // Background type : false=same as precedent - true=new background definition bool ModifyFlag; if (!BackgroundBrush->LoadFromXML(&SubElement,"BackgroundBrush",PathForRelativPath,AliasList,&ModifyFlag,ResKeyList,DuplicateRes)) IsOk=false; if (IsOk && ModifyFlag) ((MainWindow *)Parent->ApplicationConfig->TopLevelWindow)->SetModifyFlag(true); if (ModifyFlag) ((MainWindow *)Parent->ApplicationConfig->TopLevelWindow)->SetModifyFlag(true); } } // Global blocks composition table IsOk=ObjectComposition.LoadFromXML(Element,"ObjectComposition",PathForRelativPath,NULL,AliasList,Parent->ApplicationConfig,ResKeyList,DuplicateRes); // ObjectComposition // Shots definitions int ShotNumber=Element.attribute("ShotNumber").toInt(); for (int i=0;iLoadFromXML(Element,"Shot-"+QString("%1").arg(i),PathForRelativPath,&ObjectComposition,AliasList,ResKeyList,DuplicateRes)) IsOk=false; List.append(imagesequence); } // fix locations definition in shots for version <2.1 20131214 QList FirstMarkers; for (int Obj=0;ObjBackgroundBrush->MediaObject)&&(ObjectComposition.List[Obj]->BackgroundBrush->MediaObject->ObjectType==OBJECTTYPE_GMAPSMAP)) { for (int Shot=0;ShotShotComposition.List.count();ShotObj++) if (ObjectComposition.List[Obj]->IndexKey==List[Shot]->ShotComposition.List[ShotObj]->IndexKey) { if (List[Shot]->ShotComposition.List[ShotObj]->BackgroundBrush->Markers.isEmpty()) { if (Shot==0) { for (int Marker=0;Marker<((cGMapsMap *)ObjectComposition.List[Obj]->BackgroundBrush->MediaObject)->List.count();Marker++) { cBrushDefinition::sMarker MarkerObj; MarkerObj.MarkerColor="#ffffff"; MarkerObj.TextColor="#000000"; MarkerObj.Visibility=cBrushDefinition::sMarker::MARKERSHOW; List[Shot]->ShotComposition.List[ShotObj]->BackgroundBrush->Markers.append(MarkerObj); } FirstMarkers=List[Shot]->ShotComposition.List[ShotObj]->BackgroundBrush->Markers; } else List[Shot]->ShotComposition.List[ShotObj]->BackgroundBrush->Markers=FirstMarkers; } } } // Bug fix for ffDRevision between 1.7b3 and 2.0b3 if ((ElementName!=TITLEMODEL_ELEMENTNAME)&&(Parent->ProjectInfo->ffDRevision>"20131016")&&(Parent->ProjectInfo->ffDRevision<"20131112")) { int AutoTSNumber=GetAutoTSNumber(); if (AutoTSNumber!=-1) { int ModelType =(AutoTSNumber/100000); int ModelSubType=(AutoTSNumber%100000)/10000; int ModelIndex =AutoTSNumber-ModelType*100000-ModelSubType*10000; cModelList *ModelList =(ModelType==ffd_MODELTYPE_PROJECTTITLE)?Parent->ApplicationConfig->PrjTitleModels[Parent->ImageGeometry][ModelSubType==9?MODELTYPE_PROJECTTITLE_CATNUMBER-1:ModelSubType]: (ModelType==ffd_MODELTYPE_CHAPTERTITLE)?Parent->ApplicationConfig->CptTitleModels[Parent->ImageGeometry][ModelSubType==9?MODELTYPE_CHAPTERTITLE_CATNUMBER-1:ModelSubType]: (ModelType==ffd_MODELTYPE_CREDITTITLE)?Parent->ApplicationConfig->CreditTitleModels[Parent->ImageGeometry][ModelSubType==9?MODELTYPE_CREDITTITLE_CATNUMBER-1:ModelSubType]: NULL; if ((ModelList)&&(ModelIndex>=0)&&(ModelIndexList.count())) LoadModelFromXMLData((ffd_MODELTYPE)ModelType,ModelList->List[ModelIndex]->Model,ResKeyList,true); // Always duplicate ressource } } // Refresh OptimisationFlags for (int Shot=0;ShotShotComposition.List.count();Block++) List[Shot]->ShotComposition.List[Block]->ComputeOptimisationFlags(Shot>0?List[Shot-1]->ShotComposition.List[Block]:NULL); //**** Compatibility with version prior to 1.5 for (int i=0;iBackgroundBrush->OnOffFilter!=0)||(ObjectComposition.List.at(i)->BackgroundBrush->GaussBlurSharpenSigma!=0)) { for (int j=0;jShotComposition.List.count();k++) if (List.at(j)->ShotComposition.List.at(k)->IndexKey==ObjectComposition.List.at(i)->IndexKey) { List.at(j)->ShotComposition.List.at(k)->BackgroundBrush->OnOffFilter=ObjectComposition.List.at(i)->BackgroundBrush->OnOffFilter; List.at(j)->ShotComposition.List.at(k)->BackgroundBrush->GaussBlurSharpenSigma =ObjectComposition.List.at(i)->BackgroundBrush->GaussBlurSharpenSigma; List.at(j)->ShotComposition.List.at(k)->BackgroundBrush->BlurSharpenRadius =ObjectComposition.List.at(i)->BackgroundBrush->BlurSharpenRadius; List.at(j)->ShotComposition.List.at(k)->BackgroundBrush->TypeBlurSharpen =ObjectComposition.List.at(i)->BackgroundBrush->TypeBlurSharpen; } ObjectComposition.List.at(i)->BackgroundBrush->OnOffFilter=0; ObjectComposition.List.at(i)->BackgroundBrush->GaussBlurSharpenSigma =0; ObjectComposition.List.at(i)->BackgroundBrush->BlurSharpenRadius =5; } } return IsOk; } else return false; } //********************************************************************************************************************************************* // // Global class containing media objects // //********************************************************************************************************************************************* cDiaporama::cDiaporama(cApplicationConfig *TheApplicationConfig,bool LoadDefaultModel,QObject *Parent):QObject(Parent) { setObjectName("cDiaporama"); ApplicationConfig = TheApplicationConfig; ProjectInfo = new cffDProjectFile(ApplicationConfig); ProjectThumbnail = new cDiaporamaObject(this); CurrentCol = -1; // Current selected item CurrentPosition = -1; // Current position (msec) CurrentChapter = -1; CurrentChapterName = QString(""); IsModify = false; // true if project was modify ProjectFileName = ""; // Path and name of current file project ProjectInfo->Composer = QString(APPLICATION_NAME)+QString(" ")+CurrentAppName; ProjectInfo->Author = ApplicationConfig->DefaultAuthor; ProjectInfo->Album = ApplicationConfig->DefaultAlbum; ProjectInfo->DefaultLanguage= ApplicationConfig->DefaultLanguage; TransitionSpeedWave = ApplicationConfig->DefaultTransitionSpeedWave; // Speed wave for transition BlockAnimSpeedWave = ApplicationConfig->DefaultBlockAnimSpeedWave; // Speed wave for block animation ImageAnimSpeedWave = ApplicationConfig->DefaultImageAnimSpeedWave; // Speed wave for image framing and correction animation // Set default value DefineSizeAndGeometry(ApplicationConfig->ImageGeometry); // Default to 16:9 if (LoadDefaultModel) { // Load default thumbnail ThumbnailName=ApplicationConfig->DefaultThumbnailName; int ModelIndex=ApplicationConfig->ThumbnailModels->SearchModel(ApplicationConfig->DefaultThumbnailName); if ((ModelIndex>0)&&(ModelIndexThumbnailModels->List.count())) ProjectThumbnail->LoadModelFromXMLData(ffd_MODELTYPE_THUMBNAIL,ApplicationConfig->ThumbnailModels->List[ModelIndex]->Model, &ApplicationConfig->ThumbnailModels->List[ModelIndex]->ResKeyList,true); // always duplicate ressource } } //==================================================================================================================== cDiaporama::~cDiaporama() { if (ProjectInfo) { delete ProjectInfo; ProjectInfo=NULL; } if (ProjectThumbnail) { delete ProjectThumbnail; ProjectThumbnail=NULL; } while (List.count()>0) delete List.takeLast(); } //==================================================================================================================== void cDiaporama::UpdateInformation() { UpdateChapterInformation(); UpdateStatInformation(); } void cDiaporama::UpdateChapterInformation() { // Remove all chapters information int i=0; while (iChaptersProperties.count()) { if (((QString)ProjectInfo->ChaptersProperties[i]).startsWith("Chapter_")) ProjectInfo->ChaptersProperties.removeAt(i); else i++; } ProjectInfo->NbrChapters=0; // Create new for (int i=0;iStartNewChapter)) { if (List[i]->StartNewChapter) ProjectInfo->NbrChapters++; QString ChapterNum=QString("%1").arg(ProjectInfo->NbrChapters); while (ChapterNum.length()<3) ChapterNum="0"+ChapterNum; int NextChapter=i+1; int64_t Start =GetObjectStartPosition(i)+(i>0?List[i]->GetTransitDuration():0)-GetObjectStartPosition(0); int64_t Duration=List[i]->GetDuration()-(i>0?List[i]->GetTransitDuration():0); if (NextChapterGetTransitDuration(); while ((NextChapterStartNewChapter)) { Duration=Duration+List[NextChapter]->GetDuration(); NextChapter++; if (NextChapterGetTransitDuration(); } ProjectInfo->ChaptersProperties.append("Chapter_"+ChapterNum+":InSlide" +QString("##")+QString("%1").arg(i+1)); ProjectInfo->ChaptersProperties.append("Chapter_"+ChapterNum+":Start" +QString("##")+QTime(0,0,0,0).addMSecs(Start).toString("hh:mm:ss.zzz")); ProjectInfo->ChaptersProperties.append("Chapter_"+ChapterNum+":End" +QString("##")+QTime(0,0,0,0).addMSecs(Start+Duration).toString("hh:mm:ss.zzz")); ProjectInfo->ChaptersProperties.append("Chapter_"+ChapterNum+":Duration"+QString("##")+QTime(0,0,0,0).addMSecs(Duration).toString("hh:mm:ss.zzz")); ProjectInfo->ChaptersProperties.append("Chapter_"+ChapterNum+":title" +QString("##")+(List[i]->StartNewChapter?List[i]->ChapterName:ProjectInfo->Title)); ProjectInfo->ChaptersProperties.append("Chapter_"+ChapterNum+":Date" +QString("##")+(List[i]->OverrideProjectEventDate?List[i]->ChapterEventDate:ProjectInfo->EventDate).toString(ApplicationConfig->ShortDateFormat)); ProjectInfo->ChaptersProperties.append("Chapter_"+ChapterNum+":LongDate"+QString("##")+(List[i]->OverrideProjectEventDate?List[i]->OverrideChapterLongDate?List[i]->ChapterLongDate:FormatLongDate(List[i]->ChapterEventDate):ProjectInfo->LongDate)); ProjectInfo->ChaptersProperties.append("Chapter_"+ChapterNum+":LocationName"+QString("##")+(List[i]->ChapterLocation?((cLocation *)List[i]->ChapterLocation)->Name:ProjectInfo->Location?((cLocation *)ProjectInfo->Location)->Name:QApplication::translate("Variables","Project's location not set (Name)"))); ProjectInfo->ChaptersProperties.append("Chapter_"+ChapterNum+":LocationAddress"+QString("##")+(List[i]->ChapterLocation?((cLocation *)List[i]->ChapterLocation)->FriendlyAddress:ProjectInfo->Location?((cLocation *)ProjectInfo->Location)->FriendlyAddress:QApplication::translate("Variables","Project's location not set (Address)"))); } } void cDiaporama::UpdateStatInformation() { QString Text; for (int var=0;varGetAutoTSNumber()==-1) { for (int j=0;jObjectComposition.List.count();j++) { if ((List[i]->ObjectComposition.List[j]->BackgroundBrush->MediaObject)&&(List[i]->ObjectComposition.List[j]->BackgroundBrush->MediaObject->ObjectType==OBJECTTYPE_VIDEOFILE)) { NbrVideo++; VideoDuration=VideoDuration.addMSecs(QTime(0,0,0,0).msecsTo(List[i]->ObjectComposition.List[j]->BackgroundBrush->MediaObject->Duration)); } else if ((List[i]->ObjectComposition.List[j]->BackgroundBrush->MediaObject)&&(List[i]->ObjectComposition.List[j]->BackgroundBrush->MediaObject->ObjectType==OBJECTTYPE_IMAGEVECTOR)) { NbrVectorImg++; } else if ((List[i]->ObjectComposition.List[j]->BackgroundBrush->MediaObject)&&(List[i]->ObjectComposition.List[j]->BackgroundBrush->MediaObject->ObjectType==OBJECTTYPE_IMAGEFILE)) { NbrImage++; //Composer.Add(List[i]->ObjectComposition.List[j]->BackgroundBrush->Image->GetInformationValue("composer")); } else NbrText++; } } else NbrAutoSlide++; } Text=QApplication::translate("Variables","Content:","Project statistics"); if (List.count()) Text=Text+(Text.isEmpty()?"·":"\n·")+QApplication::translate("Variables","%1 slides (%2)").arg(List.count()).arg(ProjectInfo->Duration.toString("hh:mm:ss.zzz")); if (ProjectInfo->NbrChapters) Text=Text+(Text.isEmpty()?"·":"\n·")+QApplication::translate("Variables","%1 chapters").arg(ProjectInfo->NbrChapters); if (NbrVideo) Text=Text+(Text.isEmpty()?"·":"\n·")+QApplication::translate("Variables","%1 videos (%2)").arg(NbrVideo).arg(VideoDuration.toString("hh:mm:ss.zzz")); if (NbrVectorImg) Text=Text+(Text.isEmpty()?"·":"\n·")+QApplication::translate("Variables","%3 vector images").arg(NbrVectorImg); if (NbrImage) Text=Text+(Text.isEmpty()?"·":"\n·")+QApplication::translate("Variables","%4 photos").arg(NbrImage); if (NbrText) Text=Text+(Text.isEmpty()?"·":"\n·")+QApplication::translate("Variables","%5 text blocks").arg(NbrText); if (NbrAutoSlide) Text=Text+(Text.isEmpty()?"·":"\n·")+QApplication::translate("Variables","%6 automatic slides").arg(NbrAutoSlide); //for (int j=0;j").arg(Composer.List[j].Composer).arg(Composer.List[j].Count); Variable.Variables[var].Value=HTMLConverter.ToPlainText(Text);; } else if (Variable.Variables[var].VarName=="STM") { // Parse all object to construct values QStringList MusicList; Text=QApplication::translate("Variables","Musical content:","Project statistics"); for (int i=0;iMusicType) for (int music=0;musicMusicList.count();music++) if (List[i]->MusicList[music].AllowCredit) { QStringList TempExtProperties; ApplicationConfig->FilesTable->GetExtendedProperties(List[i]->MusicList[music].FileKey,&TempExtProperties); QString TMusc =GetInformationValue("title",&TempExtProperties); QString Album =GetInformationValue("album",&TempExtProperties); QString Date =GetInformationValue("date",&TempExtProperties); QString Artist=GetInformationValue("artist",&TempExtProperties); QString SubText=(!TMusc.isEmpty()?TMusc:List[i]->MusicList[music].ShortName()); if (!Artist.isEmpty()) { if (!Date.isEmpty()) SubText=SubText+QApplication::translate("Variables"," - © %1 (%2)","Project statistics-Music").arg(Artist).arg(Date); else SubText=SubText+QApplication::translate("Variables"," - © %1", "Project statistics-Music").arg(Artist); } if (!Album.isEmpty()) SubText=SubText+QApplication::translate("Variables"," from «%1»", "Project statistics-Music").arg(Album); MusicList.append(SubText); } if (MusicList.count()>0) { for (int i=0;i1?"\n·":" ")+MusicList[i]; Variable.Variables[var].Value=HTMLConverter.ToPlainText(Text); } else Variable.Variables[var].Value=" ."; } } } //==================================================================================================================== cDiaporamaObject *cDiaporama::GetChapterDefObject(cDiaporamaObject *Object) { // Find current Object cDiaporamaObject *CurChapter=NULL; int ObjectNum=0; while ((ObjectNumStartNewChapter) CurChapter=List[ObjectNum]; ObjectNum++; } return CurChapter; } //==================================================================================================================== void cDiaporama::DefineSizeAndGeometry(ffd_GEOMETRY Geometry) { ImageGeometry =Geometry; InternalHeight =PREVIEWMAXHEIGHT; InternalWidth =GetWidthForHeight(InternalHeight); LumaList_Bar.SetGeometry(ImageGeometry); LumaList_Center.SetGeometry(ImageGeometry); LumaList_Checker.SetGeometry(ImageGeometry); LumaList_Clock.SetGeometry(ImageGeometry); LumaList_Box.SetGeometry(ImageGeometry); LumaList_Snake.SetGeometry(ImageGeometry); switch (Geometry) { case GEOMETRY_40_17: ProjectInfo->ObjectGeometry=IMAGE_GEOMETRY_40_17; break; case GEOMETRY_4_3: ProjectInfo->ObjectGeometry=IMAGE_GEOMETRY_4_3; break; default: ProjectInfo->ObjectGeometry=IMAGE_GEOMETRY_16_9; break; } } //======================================================= // Return height for width depending on project geometry //======================================================= int cDiaporama::GetHeightForWidth(int WantedWith) { switch (ImageGeometry) { case GEOMETRY_4_3: return int(double(3)*(double(WantedWith)/double(4))); break; case GEOMETRY_40_17: return int(double(17)*(double(WantedWith)/double(40))); break; default: return int(double(9)*(double(WantedWith)/double(16))); break; } return 0; } //======================================================= // Return width for height depending on project geometry //======================================================= int cDiaporama::GetWidthForHeight(int WantedHeight) { switch (ImageGeometry) { case GEOMETRY_4_3: return int(double(4)*(double(WantedHeight)/double(3))); break; case GEOMETRY_40_17: return int(double(40)*(double(WantedHeight)/double(17))); break; default: return int(double(16)*(double(WantedHeight)/double(9))); break; } return 0; } //==================================================================================================================== int64_t cDiaporama::GetTransitionDuration(int index) { int64_t Duration=0; if ((index>=0)&&(List.count()>0)&&((indexTransitionFamilly==0)&&(List[index]->TransitionSubType==0))))) Duration=List[index]->TransitionDuration; return Duration; } //==================================================================================================================== int64_t cDiaporama::GetDuration() { int64_t Duration=0; for (int i=0;iGetDuration()-GetTransitionDuration(i+1); Duration=Duration+(ObjDuration>=33?ObjDuration:33); } return Duration; } //==================================================================================================================== int64_t cDiaporama::GetPartialDuration(int from,int to) { if (from<0) from=0; if (from>=List.count()) from=List.count()-1; if (to<0) to=0; if (to>=List.count()) to=List.count()-1; int64_t Duration=0; for (int i=from;i<=to;i++) { int64_t ObjDuration=List[i]->GetDuration()-GetTransitionDuration(i+1); Duration=Duration+(ObjDuration>=33?ObjDuration:33); } return Duration; } //==================================================================================================================== int64_t cDiaporama::GetObjectStartPosition(int index) { int64_t Duration=0; if ((index>=List.count())&&(List.count()>0)) { index=List.count()-1; Duration=List[index]->GetDuration(); } for (int i=0;iGetDuration()-GetTransitionDuration(i+1); Duration=Duration+(ObjDuration>=33?ObjDuration:33); } return Duration; } //==================================================================================================================== int cDiaporama::GetObjectIndex(cDiaporamaObject *ObjectToFind) { int i=0; while ((isave(); Painter->translate(AddX,AddY); Painter->fillRect(QRect(0,0,Width,Height),QBrush(Qt::black)); if ((Index>=0)&&(IndexCachedBackgroundIndex]->BackgroundBrush->GetBrush(QRectF(0,0,Width,Height),true,0,NULL,1,NULL); Painter->fillRect(QRect(0,0,Width,Height),*BR); delete BR; } Painter->restore(); } //==================================================================================================================== void cDiaporama::UpdateCachedInformation() { int64_t StartPosition=0; int MusicIndex=0; int BackgroundIndex=0; for (int DiaporamaObjectNum=0;DiaporamaObjectNumBackgroundType) BackgroundIndex=DiaporamaObjectNum; // Owner and start position of the music if ((DiaporamaObjectNum==0)||(DiaporamaObject->MusicType)) { StartPosition=0; MusicIndex=DiaporamaObjectNum; } else if (!List[DiaporamaObjectNum-1]->MusicPause) { int64_t Duration=List[DiaporamaObjectNum-1]->GetDuration()-GetTransitionDuration(DiaporamaObjectNum); StartPosition+=((Duration)>=33?Duration:33); } // Parse ObjectComposition table to determine if slide have sound for (int ObjNum=0;ObjNumObjectComposition.List.count();ObjNum++) if ((DiaporamaObject->ObjectComposition.List[ObjNum]->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK) &&(DiaporamaObject->ObjectComposition.List[ObjNum]->BackgroundBrush->MediaObject) &&(DiaporamaObject->ObjectComposition.List[ObjNum]->BackgroundBrush->MediaObject->ObjectType==OBJECTTYPE_VIDEOFILE)) HaveSound=true; // Parse shots and objects in shot to determine if slide have filter and max SoundVolume for (int shot=0;shotList.count();shot++) for (int ObjNum=0;ObjNumList[shot]->ShotComposition.List.count();ObjNum++) { cCompositionObject *CompoObject=DiaporamaObject->List[shot]->ShotComposition.List[ObjNum]; if ((CompoObject->IsVisible)&&(CompoObject->BackgroundBrush)) if ((CompoObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK) &&(CompoObject->BackgroundBrush->MediaObject) &&(CompoObject->BackgroundBrush->MediaObject->ObjectType==OBJECTTYPE_VIDEOFILE) &&(CompoObject->BackgroundBrush->SoundVolume>SoundVolume)) SoundVolume=CompoObject->BackgroundBrush->SoundVolume; if ((CompoObject->BackgroundBrush->GaussBlurSharpenSigma!=0)||(CompoObject->BackgroundBrush->QuickBlurSharpenSigma!=0)|| (CompoObject->BackgroundBrush->Desat!=0)||(CompoObject->BackgroundBrush->Swirl!=0)||(CompoObject->BackgroundBrush->Implode!=0)|| (CompoObject->BackgroundBrush->OnOffFilter!=0) ) HaveFilter=true; } DiaporamaObject->CachedDuration =DiaporamaObject->GetDuration(); DiaporamaObject->CachedTransitDuration =DiaporamaObject->GetTransitDuration(); DiaporamaObject->CachedStartPosition =StartPosition; DiaporamaObject->CachedMusicIndex =MusicIndex; DiaporamaObject->CachedBackgroundIndex =BackgroundIndex; DiaporamaObject->CachedHaveSound =HaveSound; DiaporamaObject->CachedSoundVolume =SoundVolume; DiaporamaObject->CachedHaveFilter =HaveFilter; } } //==================================================================================================================== cMusicObject *cDiaporama::GetMusicObject(int ObjectIndex,int64_t &StartPosition,int *CountObject,int *IndexObject) { if (ObjectIndex>=List.count()) return NULL; StartPosition=List[ObjectIndex]->CachedStartPosition; int Index =List[ObjectIndex]->CachedMusicIndex; cMusicObject *Ret =NULL; // Now we have the object owner of the playlist (or 0). Then we can calculate wich music in the playlist is usable for this object int i=0; while ((iMusicList.count())&&(StartPosition>QTime(0,0,0,0).msecsTo(List[Index]->MusicList[i].Duration))) { StartPosition-=QTime(0,0,0,0).msecsTo(List[Index]->MusicList[i].Duration); i++; } if ((iMusicList.count())&&(StartPosition<=QTime(0,0,0,0).msecsTo(List[Index]->MusicList[i].Duration))) Ret=&List[Index]->MusicList[i]; // Keep owner of the playlist (if wanted) if (IndexObject) *IndexObject=Index; // Calc object number in the playlist (if wanted) if (CountObject) { *CountObject=0; while (Index>0) { Index--; if (List[Index]->MusicType) *CountObject+=1; } } return Ret; } //==================================================================================================================== bool cDiaporama::SaveFile(QWidget *ParentWindow,cReplaceObjectList *ReplaceList,QString *ExportFileName) { QFile file((ReplaceList!=NULL)&&(ExportFileName!=NULL)?*ExportFileName:ProjectFileName); QDomDocument domDocument(APPLICATION_NAME); QDomElement Element; QDomElement root; QList ResKeyList; UpdateChapterInformation(); if (!ReplaceList) { if ((ProjectInfo->Title=="")&&(ApplicationConfig->DefaultTitleFilling!=0)) { if (ApplicationConfig->DefaultTitleFilling==1) { // Fill with project name when project save (if not yet defined) ProjectInfo->Title=QFileInfo(ProjectFileName).completeBaseName(); } else if (ApplicationConfig->DefaultTitleFilling==2) { // Fill with project folder when project save (if not yet defined) ProjectInfo->Title=ProjectFileName; if (ProjectInfo->Title!="") { ProjectInfo->Title=QFileInfo(ProjectInfo->Title).absolutePath(); if (ProjectInfo->Title.endsWith(QDir::separator())) { ProjectInfo->Title=QFileInfo(ProjectFileName).baseName(); } else if (ProjectInfo->Title.lastIndexOf(QDir::separator())>0) ProjectInfo->Title=ProjectInfo->Title.mid(ProjectInfo->Title.lastIndexOf(QDir::separator())+1); } } if (ProjectInfo->Title.length()>30) ProjectInfo->Title=ProjectInfo->Title.left(30); } if (ProjectInfo->Author=="") ProjectInfo->Author=ApplicationConfig->DefaultAuthor; if (ProjectInfo->Album=="") ProjectInfo->Album =ApplicationConfig->DefaultAlbum; ProjectInfo->Composer=QString(APPLICATION_NAME)+QString(" ")+CurrentAppName; } ProjectInfo->ffDRevision=CurrentAppVersion; // Create xml document and root root=domDocument.createElement(APPLICATION_ROOTNAME); domDocument.appendChild(root); // Save project properties ProjectInfo->SaveToXML(&root,"",ProjectFileName,false,ReplaceList,&ResKeyList,false); ProjectThumbnail->SaveToXML(root,THUMBMODEL_ELEMENTNAME,ProjectFileName,false,ReplaceList,&ResKeyList,true); // Save basic information on project Element=domDocument.createElement("Project"); Element.setAttribute("ImageGeometry", ImageGeometry); // Save object list Element.setAttribute("ObjectNumber",List.count()); for (int i=0;iSaveToXML(root,"Object-"+(QString("%1").arg(i,10)).trimmed(),ProjectFileName,false,ReplaceList,&ResKeyList,true); root.appendChild(Element); // Write file to disk if (!file.open(QFile::WriteOnly | QFile::Text)) { if (ParentWindow!=NULL) CustomMessageBox(NULL,QMessageBox::Critical,QApplication::translate("MainWindow","Error","Error message"),QApplication::translate("MainWindow","Error creating data file","Error message"),QMessageBox::Close); else printf("%s\n",QApplication::translate("MainWindow","Error creating data file","Error message").toLocal8Bit().constData()); return false; } // Save ffDPart in file now QTextStream out(&file); out.setCodec("UTF-8"); domDocument.save(out,4); // Iterate for ressources for (int i=0;iSlideThumbsTable->GetThumbs(&Key,&Thumbnail); QDomElement Ressource=domDocument.createElement("Ressource"); QByteArray ba; QBuffer buf(&ba); Thumbnail.save(&buf,"PNG"); QByteArray Compressed=qCompress(ba,1); QByteArray Hexed =Compressed.toHex(); Ressource.setAttribute("Key",Key); Ressource.setAttribute("Width",Thumbnail.width()); Ressource.setAttribute("Height",Thumbnail.height()); Ressource.setAttribute("Image",QString(Hexed)); Ressource.save(out,0); } file.close(); return true; } //============================================================================================ // Function use directly or with thread to prepare an image number Column at given position // Note : Position is relative to the start of the Column object ! //============================================================================================ void cDiaporama::PrepareMusicBloc(bool PreviewMode,int Column,int64_t Position,cSoundBlockList *MusicTrack) { if (Column>=List.count()) { for (int j=0;jNbrPacketForFPS;j++) MusicTrack->AppendNullSoundPacket(Position); return; } int64_t StartPosition=0; cMusicObject *CurMusic=GetMusicObject(Column,StartPosition); // Get current music file from column and position if (CurMusic==NULL) { for (int j=0;jNbrPacketForFPS;j++) MusicTrack->AppendNullSoundPacket(Position); return; } bool IsCurrentTransitionIN =(Column>0)&&(PositionTransitionDuration); bool FadeEffect =(IsCurrentTransitionIN && ( (List[Column-1]->MusicReduceVolume!=List[Column]->MusicReduceVolume)|| (List[Column-1]->MusicPause!=List[Column]->MusicPause)|| ((List[Column-1]->MusicReduceVolume==List[Column]->MusicReduceVolume)&&(List[Column-1]->MusicReduceFactor!=List[Column]->MusicReduceFactor)) )); if (!List[Column]->MusicPause || (IsCurrentTransitionIN && !List[Column-1]->MusicPause)) { double Factor=CurMusic->Volume; // Master volume if (List[Column]->MusicReduceVolume || FadeEffect) { if (FadeEffect) { double PctDone =ComputePCT(SPEEDWAVE_SINQUARTER,double(Position)/double(List[Column]->TransitionDuration)); double AncReduce=List[Column-1]->MusicPause?0:List[Column-1]->MusicReduceVolume?List[Column-1]->MusicReduceFactor:1; double NewReduce=List[Column]->MusicPause?0:List[Column]->MusicReduceVolume?List[Column]->MusicReduceFactor:1; double ReduceFactor=AncReduce+(NewReduce-AncReduce)*PctDone; Factor=Factor*ReduceFactor; } else Factor=Factor*List[Column]->MusicReduceFactor; } // Get more music bloc at correct position (volume is always 100% @ this point !) CurMusic->ImageAt(PreviewMode,Position+StartPosition,MusicTrack,false,1,true,false); // Apply correct volume to block in queue if (Factor!=1.0) for (int i=0;iNbrPacketForFPS;i++) MusicTrack->ApplyVolume(i,Factor); } // Ensure we have enought data //while (MusicTrack->List.count()NbrPacketForFPS) MusicTrack->AppendNullSoundPacket(); } //============================================================================================ // Function use directly or with thread to prepare an image number Column at given position // Extend=amout of padding (top and bottom) for cinema mode with DVD // IsCurrentObject : If true : prepare CurrentObject - If false : prepare Transition Object //============================================================================================ void cDiaporama::CreateObjectContextList(cDiaporamaObjectInfo *Info,int W,int H,bool IsCurrentObject,bool PreviewMode,bool AddStartPos,QList &PreparedBrushList,QObject *Parent) { bool SoundOnly=((W==0)&&(H==0)); // W and H = 0 when producing sound track in render process PreparedBrushList.clear(); // return immediatly if we have image if (((!SoundOnly)&&(IsCurrentObject)&&(!Info->CurrentObject_PreparedImage.isNull())) || ((!SoundOnly)&&(!IsCurrentObject)&&(!Info->TransitObject_PreparedImage.isNull()))) return; int64_t Duration =IsCurrentObject?Info->CurrentObject_ShotDuration:Info->TransitObject_ShotDuration; cDiaporamaShot *CurShot =IsCurrentObject?Info->CurrentObject_CurrentShot:Info->TransitObject_CurrentShot; cSoundBlockList *SoundTrackMontage =(IsCurrentObject?Info->CurrentObject_SoundTrackMontage:Info->TransitObject_SoundTrackMontage); int ObjectNumber =IsCurrentObject?Info->CurrentObject_Number:Info->TransitObject_Number; int ShotNumber =IsCurrentObject?Info->CurrentObject_ShotSequenceNumber:Info->TransitObject_ShotSequenceNumber; cDiaporamaShot *PreviousShot =(ShotNumber>0?List[ObjectNumber]->List[ShotNumber-1]:NULL); if (!SoundOnly && (CurShot)) { // Construct collection for (int j=0;jShotComposition.List.count();j++) PreparedBrushList.append(new cCompositionObjectContext(j,PreviewMode,IsCurrentObject,Info,W,H,CurShot,PreviousShot,SoundTrackMontage,AddStartPos,Duration,Parent)); } } void cDiaporama::PrepareImage(cDiaporamaObjectInfo *Info,int W,int H,bool IsCurrentObject,bool AddStartPos,QList &PreparedBrushList) { bool SoundOnly=((W==0)&&(H==0)); // W and H = 0 when producing sound track in render process // return immediatly if we have image if (((!SoundOnly)&&(IsCurrentObject)&&(!Info->CurrentObject_PreparedImage.isNull())) || ((!SoundOnly)&&(!IsCurrentObject)&&(!Info->TransitObject_PreparedImage.isNull()))) return; int64_t Duration =IsCurrentObject?Info->CurrentObject_ShotDuration:Info->TransitObject_ShotDuration; cDiaporamaShot *CurShot =IsCurrentObject?Info->CurrentObject_CurrentShot:Info->TransitObject_CurrentShot; cDiaporamaObject *CurObject =IsCurrentObject?Info->CurrentObject:Info->TransitObject; int CurTimePosition =(IsCurrentObject?Info->CurrentObject_InObjectTime:Info->TransitObject_InObjectTime); cSoundBlockList *SoundTrackMontage =(IsCurrentObject?Info->CurrentObject_SoundTrackMontage:Info->TransitObject_SoundTrackMontage); if (SoundOnly) { // if sound only then parse all shot objects to create SoundTrackMontage for (int j=0;jShotComposition.List.count();j++) { if ((CurShot->ShotComposition.List[j]->BackgroundBrush->MediaObject) &&(CurShot->ShotComposition.List[j]->BackgroundBrush->MediaObject->ObjectType==OBJECTTYPE_VIDEOFILE) &&(CurShot->ShotComposition.List[j]->BackgroundBrush->SoundVolume!=0)) { // Calc StartPosToAdd depending on AddStartPos int64_t StartPosToAdd=(AddStartPos?QTime(0,0,0,0).msecsTo(((cVideoFile *)CurShot->ShotComposition.List[j]->BackgroundBrush->MediaObject)->StartPos):0); // Calc VideoPosition depending on video set to pause (visible=off) in previous shot int64_t VideoPosition=0; int64_t ThePosition=0; int TheShot=0; while ((TheShotList.count())&&(ThePosition+CurObject->List[TheShot]->StaticDurationList[TheShot]->ShotComposition.List.count();w++) if (CurObject->List[TheShot]->ShotComposition.List[w]->IndexKey==CurShot->ShotComposition.List[j]->IndexKey) { if (CurObject->List[TheShot]->ShotComposition.List[w]->IsVisible) VideoPosition+=CurObject->List[TheShot]->StaticDuration; break; } ThePosition+=CurObject->List[TheShot]->StaticDuration; TheShot++; } VideoPosition+=(CurTimePosition-ThePosition); CurShot->ShotComposition.List[j]->DrawCompositionObject(CurObject,NULL,double(H)/double(1080),0,0,true,VideoPosition+StartPosToAdd,SoundTrackMontage,1,1,NULL,false,CurShot->StaticDuration,true); } } } else { QImage Image(W,H,QImage::Format_ARGB32_Premultiplied); if (Image.isNull()) return; // Prepare a transparent image QPainter P; P.begin(&Image); P.setRenderHints(QPainter::Antialiasing|QPainter::TextAntialiasing|QPainter::SmoothPixmapTransform|QPainter::HighQualityAntialiasing|QPainter::NonCosmeticDefaultPen); P.setCompositionMode(QPainter::CompositionMode_Source); P.fillRect(0,0,W,H,Qt::transparent); P.setCompositionMode(QPainter::CompositionMode_SourceOver); if (CurShot) { // Compute each item of the collection for (int aa=0;aaCompute(); // Draw collection for (int j=0;jShotComposition.List.count();j++) { CurShot->ShotComposition.List[j]->DrawCompositionObject(CurObject,&P,double(H)/double(1080),W,H,PreparedBrushList[j]->PreviewMode,PreparedBrushList[j]->VideoPosition+PreparedBrushList[j]->StartPosToAdd, PreparedBrushList[j]->SoundTrackMontage, PreparedBrushList[j]->BlockPctDone,PreparedBrushList[j]->ImagePctDone, PreparedBrushList[j]->PrevCompoObject,Duration, true,false,0,0,0,0,false,PreparedBrushList[j]); } } P.end(); if (IsCurrentObject) Info->CurrentObject_PreparedImage=Image; else Info->TransitObject_PreparedImage=Image; } } //============================================================================================================================= // Function use directly or with thread to make assembly of background and images and make mix (sound & music) when transition //============================================================================================================================= void cDiaporama::DoAssembly(double PCT,cDiaporamaObjectInfo *Info,int W,int H,QImage::Format QTFMT) { if ((!Info->RenderedImage.isNull())||((W==0)&&(H==0))) return; // return immediatly if we already have image or if sound only QImage Image(W,H,QTFMT); QPainter P; P.begin(&Image); P.setRenderHints(QPainter::Antialiasing|QPainter::TextAntialiasing|QPainter::SmoothPixmapTransform|QPainter::HighQualityAntialiasing|QPainter::NonCosmeticDefaultPen); // Draw background if ((Info->IsTransition)&&((Info->CurrentObject_Number==0)||(Info->CurrentObject_BackgroundIndex!=Info->TransitObject_BackgroundIndex))) { double Opacity; if ((Info->TransitObject)&&(!Info->TransitObject_PreparedBackground.isNull())) P.drawImage(0,0,Info->TransitObject_PreparedBackground); if (!Info->CurrentObject_PreparedBackground.isNull()) { Opacity=ComputePCT(Info->CurrentObject->GetSpeedWave(),Info->TransitionPCTDone); if (Info->TransitObject) P.setOpacity(Opacity); P.drawImage(0,0,Info->CurrentObject_PreparedBackground); } P.setOpacity(1); } else { if (!Info->CurrentObject_PreparedBackground.isNull()) P.drawImage(0,0,Info->CurrentObject_PreparedBackground); else P.fillRect(QRect(0,0,W,H),Qt::black); } // Add prepared images and transition if ((Info->IsTransition)&&(!Info->CurrentObject_PreparedImage.isNull())) { if (Info->TransitObject_PreparedImage.isNull()) { Info->TransitObject_PreparedImage=QImage(Info->CurrentObject_PreparedImage.width(),Info->CurrentObject_PreparedImage.height(),QImage::Format_ARGB32_Premultiplied); Info->TransitObject_PreparedImage.fill(0); } DoTransition(Info->TransitionFamilly,Info->TransitionSubType,PCT,&Info->TransitObject_PreparedImage,&Info->CurrentObject_PreparedImage,&P,W,H); } else if (!Info->CurrentObject_PreparedImage.isNull()) P.drawImage(0,0,Info->CurrentObject_PreparedImage); P.end(); Info->RenderedImage=Image; } //============================================================================================ // Function use directly or with thread to load source image // Assume SourceImage is null // Produce sound only if W and H=0 //============================================================================================ void cDiaporama::LoadSources(cDiaporamaObjectInfo *Info,int W,int H,bool PreviewMode,bool AddStartPos,QList &PreparedTransitBrushList,QList &PreparedBrushList) { if (!Info->CurrentObject) return; QFutureWatcher ThreadPrepareCurrentMusicBloc; QFutureWatcher ThreadPrepareTransitMusicBloc; // W and H = 0 when producing sound track in render process bool SoundOnly=((W==0)&&(H==0)); //==============> Music track part if ((Info->CurrentObject)&&(Info->CurrentObject_MusicTrack)) ThreadPrepareCurrentMusicBloc.setFuture(QtConcurrent::run(this,&cDiaporama::PrepareMusicBloc,PreviewMode,Info->CurrentObject_Number,Info->CurrentObject_InObjectTime,Info->CurrentObject_MusicTrack)); if ((Info->TransitObject)&&(Info->TransitObject_MusicTrack)) ThreadPrepareTransitMusicBloc.setFuture(QtConcurrent::run(this,&cDiaporama::PrepareMusicBloc,PreviewMode,Info->TransitObject_Number,Info->TransitObject_InObjectTime,Info->TransitObject_MusicTrack)); //==============> Image part // Transition Object if a previous was not keep ! if (Info->IsTransition) { if (Info->TransitObject) { PrepareImage(Info,W,H,false,AddStartPos,PreparedTransitBrushList); } else if (Info->TransitObject_PreparedImage.isNull()) { Info->TransitObject_PreparedImage=QImage(W,H,QImage::Format_ARGB32_Premultiplied); QPainter P; P.begin(&Info->TransitObject_PreparedImage); P.setRenderHints(QPainter::Antialiasing|QPainter::TextAntialiasing|QPainter::SmoothPixmapTransform|QPainter::HighQualityAntialiasing|QPainter::NonCosmeticDefaultPen); P.fillRect(0,0,W,H,Qt::black);//Qt::transparent); P.end(); } } // Load Source image PrepareImage(Info,W,H,true,AddStartPos,PreparedBrushList); //==============> Background part if (!SoundOnly) { // Search background context for CurrentObject if a previous was not keep ! if (Info->CurrentObject_BackgroundBrush==NULL) { if ((Info->CurrentObject_BackgroundIndex>=List.count())||(List[Info->CurrentObject_BackgroundIndex]->BackgroundType==false)) Info->CurrentObject_BackgroundBrush=new QBrush(Qt::black); // If no background definition @ first object else Info->CurrentObject_BackgroundBrush=List[Info->CurrentObject_BackgroundIndex]->BackgroundBrush->GetBrush(QRectF(0,0,W,H),PreviewMode,0,NULL,1,NULL); Info->CurrentObject_PreparedBackground=QImage(W,H,QImage::Format_ARGB32_Premultiplied); QPainter P; P.begin(&Info->CurrentObject_PreparedBackground); if (Info->CurrentObject_BackgroundBrush) P.fillRect(QRect(0,0,W,H),*Info->CurrentObject_BackgroundBrush); else P.fillRect(QRect(0,0,W,H),QBrush(Qt::black)); P.end(); } // same job for Transition Object if a previous was not keep ! if ((Info->TransitObject)&&(Info->TransitObject_BackgroundBrush==NULL)) { if ((Info->TransitObject_BackgroundIndex>=List.count())||(List[Info->TransitObject_BackgroundIndex]->BackgroundType==false)) Info->TransitObject_BackgroundBrush=new QBrush(Qt::black); // If no background definition @ first object else Info->TransitObject_BackgroundBrush=List[Info->TransitObject_BackgroundIndex]->BackgroundBrush->GetBrush(QRectF(0,0,W,H),PreviewMode,0,NULL,1,NULL); Info->TransitObject_PreparedBackground=QImage(W,H,QImage::Format_ARGB32_Premultiplied); QPainter P; P.begin(&Info->TransitObject_PreparedBackground); if (Info->TransitObject_BackgroundBrush) P.fillRect(QRect(0,0,W,H),*Info->TransitObject_BackgroundBrush); else P.fillRect(QRect(0,0,W,H),QBrush(Qt::black)); P.end(); } } //==============> Mixing of music and soundtrack QTime b; b.start(); if ((Info->CurrentObject)&&(Info->CurrentObject_MusicTrack)&&(ThreadPrepareCurrentMusicBloc.isRunning())) ThreadPrepareCurrentMusicBloc.waitForFinished(); if ((Info->TransitObject)&&(Info->TransitObject_MusicTrack)&&(ThreadPrepareTransitMusicBloc.isRunning())) ThreadPrepareTransitMusicBloc.waitForFinished(); // Special case to clear music buffer if not transition and music of CurrentObject is in pause mode if ((!Info->IsTransition)&&(Info->CurrentObject)&&(Info->CurrentObject_MusicTrack)&&(Info->CurrentObject->MusicPause)&&(Info->CurrentObject_MusicTrack->ListCount()>0)) { for (int i=0;iCurrentObject_MusicTrack->NbrPacketForFPS;i++) Info->CurrentObject_MusicTrack->PrependNullSoundPacket(Info->CurrentObject_StartTime+Info->CurrentObject_InObjectTime); } // Soundtrack mix with fade in/fade out if ((Info->IsTransition)&&((Info->CurrentObject_SoundTrackMontage)||(Info->TransitObject_SoundTrackMontage))) { if (Info->CurrentObject_SoundTrackMontage==NULL) { // if we don't have a CurrentObject_SoundTrackMontage, we need to create it because it's the destination ! Info->CurrentObject_SoundTrackMontage=new cSDLSoundBlockList(); Info->CurrentObject_SoundTrackMontage->SetFPS(Info->FrameDuration,2,Info->TransitObject_SoundTrackMontage->SamplingRate,AV_SAMPLE_FMT_S16); } // Ensure this track have enough data while (Info->CurrentObject_SoundTrackMontage->ListCount()CurrentObject_SoundTrackMontage->NbrPacketForFPS) Info->CurrentObject_SoundTrackMontage->AppendNullSoundPacket(Info->CurrentObject_StartTime+Info->CurrentObject_InObjectTime); // Mix current and transit SoundTrackMontage (if needed) // @ the end: only current SoundTrackMontage exist ! Info->CurrentObject_SoundTrackMontage->Mutex.lock(); for (int i=0;iCurrentObject_SoundTrackMontage->NbrPacketForFPS;i++) { // Mix the 2 sources buffer using the first buffer as destination and remove one paquet from the TransitObject_SoundTrackMontage int16_t *Paquet=Info->TransitObject_SoundTrackMontage?Info->TransitObject_SoundTrackMontage->DetachFirstPacket():NULL; int32_t mix; int16_t *Buf1=iCurrentObject_SoundTrackMontage->ListCount()?Info->CurrentObject_SoundTrackMontage->GetAt(i):NULL; int Max=Info->CurrentObject_SoundTrackMontage->SoundPacketSize/(Info->CurrentObject_SoundTrackMontage->SampleBytes*Info->CurrentObject_SoundTrackMontage->Channels); double FadeAdjust =sin(1.5708*double(Info->CurrentObject_InObjectTime+(double(i)/double(Info->CurrentObject_SoundTrackMontage->NbrPacketForFPS))*double(Info->FrameDuration))/double(Info->TransitionDuration)); double FadeAdjust2 =1-FadeAdjust; int16_t *Buf2=(Paquet!=NULL)?Paquet:NULL; if ((Buf1!=NULL)&&(Buf2==NULL)) { // Apply Fade in to Buf1 for (int j=0;j32767) mix=32767; else if (mix<-32768) mix=-32768; *(Buf1++)=int16_t(mix); // Right channel : Adjust if necessary (16 bits) mix=int32_t(double(*(Buf1))*FadeAdjust); if (mix>32767) mix=32767; else if (mix<-32768) mix=-32768; *(Buf1++)=int16_t(mix); } } else if ((Buf1!=NULL)&&(Buf2!=NULL)) { // do mixing for (int j=0;j32767) mix=32767; else if (mix<-32768) mix=-32768; *(Buf1++)=int16_t(mix); // Right channel : Adjust if necessary (16 bits) mix=int32_t(double(*(Buf1))*FadeAdjust+double(*(Buf2++))*FadeAdjust2); if (mix>32767) mix=32767; else if (mix<-32768) mix=-32768; *(Buf1++)=int16_t(mix); } av_free(Paquet); } else if ((Buf1==NULL)&&(Buf2!=NULL)) { // swap buf1 and buf2 Info->CurrentObject_SoundTrackMontage->SetAt(i,Buf2); // Apply Fade out to Buf2 for (int j=0;j32767) mix=32767; else if (mix<-32768) mix=-32768; *(Buf2++)=int16_t(mix); // Right channel : Adjust if necessary (16 bits) mix=int32_t(double(*(Buf2))*FadeAdjust2); if (mix>32767) mix=32767; else if (mix<-32768) mix=-32768; *(Buf2++)=int16_t(mix); } } } Info->CurrentObject_SoundTrackMontage->Mutex.unlock(); } // Mix current and transit music // @ the end: only current music exist ! // add fade out of previous music track (if needed) // Mix the 2 sources buffer using the first buffer as destination and remove one paquet from the PreviousMusicTrack if ((Info->IsTransition)&&(Info->TransitObject_MusicTrack)&&(Info->TransitObject_MusicTrack->ListCount()>0)) { Info->CurrentObject_SoundTrackMontage->Mutex.lock(); for (int i=0;iCurrentObject_MusicTrack->NbrPacketForFPS;i++) { int16_t *Paquet=Info->TransitObject_MusicTrack->DetachFirstPacket(); // Ensure paquet exist, elsewhere create one and init it to 0 (silence) if (!Paquet) { Paquet=(int16_t *)av_malloc(Info->TransitObject_MusicTrack->SoundPacketSize+8); memset((u_int8_t *)Paquet,0,Info->TransitObject_MusicTrack->SoundPacketSize+8); } int32_t mix; int16_t *Buf1=(iCurrentObject_MusicTrack->ListCount())?Info->CurrentObject_MusicTrack->GetAt(i):NULL; int Max=Info->CurrentObject_MusicTrack->SoundPacketSize/(Info->CurrentObject_MusicTrack->SampleBytes*Info->CurrentObject_MusicTrack->Channels); double FadeAdjust =sin(1.5708*double(Info->CurrentObject_InObjectTime+(double(i)/double(Info->CurrentObject_MusicTrack->NbrPacketForFPS))*double(Info->FrameDuration))/double(Info->TransitionDuration)); double FadeAdjust2 =1-FadeAdjust; int16_t *Buf2=(Paquet!=NULL)?Paquet:NULL; if ((Buf1!=NULL)&&(Buf2==NULL)) { // Nothing to do ! } else if ((Buf1!=NULL)&&(Buf2!=NULL)) { for (int j=0;j32767) mix=32767; else if (mix<-32768) mix=-32768; *(Buf1++)=int16_t(mix); // Right channel : Adjust if necessary (16 bits) mix=int32_t(*(Buf1)+double(*(Buf2++))*FadeAdjust2); if (mix>32767) mix=32767; else if (mix<-32768) mix=-32768; *(Buf1++)=int16_t(mix); } if (Paquet) av_free(Paquet); } else if ((Buf1==NULL)&&(Buf2!=NULL)) { // swap buf1 and buf2 if (iCurrentObject_MusicTrack->ListCount()) Info->CurrentObject_MusicTrack->SetAt(i,Buf2); else Info->CurrentObject_MusicTrack->AppendPacket(-1,Buf2); // Apply Fade to Buf2 for (int j=0;j32767) mix=32767; else if (mix<-32768) mix=-32768; *(Buf2++)=int16_t(mix); // Right channel : Adjust if necessary (16 bits) mix=int32_t(double(*(Buf2))*FadeAdjust2); if (mix>32767) mix=32767; else if (mix<-32768) mix=-32768; *(Buf2++)=int16_t(mix); } } } Info->CurrentObject_SoundTrackMontage->Mutex.unlock(); } } //============================================================================================ void cDiaporama::CloseUnusedLibAv(int CurrentCell) { // Parse all unused slide to close unused libav buffer, codec, ... for (int i=0;iCurrentCell+1)) for (int j=0;jObjectComposition.List.count();j++) if ((List[i]->ObjectComposition.List[j]->BackgroundBrush->MediaObject)&&(List[i]->ObjectComposition.List[j]->BackgroundBrush->MediaObject->ObjectType==OBJECTTYPE_VIDEOFILE)) ((cVideoFile *)List[i]->ObjectComposition.List[j]->BackgroundBrush->MediaObject)->CloseCodecAndFile(); } //ApplicationConfig->ImagesCache.FreeMemoryToMaxValue(NULL); } //============================================================================================ void cDiaporama::UpdateGMapsObject(bool ProposeAll) { cLocation *PrjLocation=(cLocation *)ProjectInfo->Location; cLocation *ChpLocation=PrjLocation; for (int i=0;iStartNewChapter) { if (List[i]->ChapterLocation) ChpLocation=(cLocation *)List[i]->ChapterLocation; else ChpLocation=PrjLocation; } for (int j=0;jObjectComposition.List.count();j++) if ((List[i]->ObjectComposition.List[j]->BackgroundBrush->MediaObject)&&(List[i]->ObjectComposition.List[j]->BackgroundBrush->MediaObject->ObjectType==OBJECTTYPE_GMAPSMAP)) { cGMapsMap *CurrentMap=(cGMapsMap *)List[i]->ObjectComposition.List[j]->BackgroundBrush->MediaObject; bool Propose=false; bool FullRefresh=false; for (int loc=0;locList.count();loc++) { cLocation *Location=(cLocation *)CurrentMap->List[loc]; if (Location->LocationType==cLocation::PROJECT) { if ((ProposeAll)&&(!CurrentMap->IsMapValide)) { Propose=true; } else if ((PrjLocation)&&((Location->Name!=PrjLocation->Name)||(Location->FriendlyAddress!=PrjLocation->FriendlyAddress)||(Location->GPS_cx!=PrjLocation->GPS_cx)||(Location->GPS_cy!=PrjLocation->GPS_cy))) { if ((PrjLocation)&&((Location->GPS_cx!=PrjLocation->GPS_cx)||(Location->GPS_cy!=PrjLocation->GPS_cy))) { FullRefresh=true; CurrentMap->IsValide=false; } Propose=true; } } else if (Location->LocationType==cLocation::CHAPTER) { if ((ProposeAll)&&(!CurrentMap->IsMapValide)) { Propose=true; } else if ((ChpLocation)&&((Location->Name!=ChpLocation->Name)||(Location->FriendlyAddress!=ChpLocation->FriendlyAddress)||(Location->GPS_cx!=ChpLocation->GPS_cx)||(Location->GPS_cy!=ChpLocation->GPS_cy))) { if ((PrjLocation)&&((Location->GPS_cx!=ChpLocation->GPS_cx)||(Location->GPS_cy!=ChpLocation->GPS_cy))) { FullRefresh=true; CurrentMap->IsValide=false; } Propose=true; } } if (Propose) { cLocation *RealLoc=NULL; List[i]->ObjectComposition.List[j]->BackgroundBrush->GetRealLocation((void **)&Location,(void **)&RealLoc); Propose=(Location!=NULL)&&(RealLoc!=NULL); } } if (Propose) { qlonglong PrevRessourceKey=CurrentMap->RessourceKey; if ((FullRefresh)&&(CustomMessageBox(ApplicationConfig->TopLevelWindow,QMessageBox::Question,APPLICATION_NAME, QApplication::translate("DlgGMapsLocation","A map on slide %1 must be regenerated.\nDo you want to do it now?").arg(i+1), QMessageBox::Yes|QMessageBox::No,QMessageBox::Yes)==QMessageBox::Yes)) { DlgGMapsGeneration Dlg(List[i]->ObjectComposition.List[j]->BackgroundBrush,CurrentMap,false,ApplicationConfig,ApplicationConfig->TopLevelWindow); Dlg.InitDialog(); Dlg.exec(); } // Reset cache of map object ApplicationConfig->ImagesCache.RemoveImageObject(PrevRessourceKey,-1); // Reset thumbnail of slide ApplicationConfig->SlideThumbsTable->ClearThumbs(List[i]->ThumbnailKey); IsModify=true; } } } } //********************************************************************************************************************************************* // Class object for rendering //********************************************************************************************************************************************* cDiaporamaObjectInfo::cDiaporamaObjectInfo() { //==============> Pre-initialise all values IsShotStatic =false; IsTransitStatic =false; FrameDuration =0; // Current object CurrentObject_Number =0; // Object number CurrentObject_StartTime =0; // Position (in msec) of the first frame relative to the diaporama CurrentObject_InObjectTime =0; // Position (in msec) in the object CurrentObject =NULL; // Link to the current object CurrentObject_ShotSequenceNumber =0; // Number of the shot sequence in the current object CurrentObject_CurrentShot =NULL; // Link to the current shot in the current object CurrentObject_CurrentShotType =0; // Type of the current shot : Static/Mobil/Video CurrentObject_ShotDuration =0; // Time the static shot end (if CurrentObject_CurrentShotType=SHOTTYPE_STATIC) CurrentObject_PCTDone =0; // PCT achevement for static shot CurrentObject_BackgroundIndex =0; // Object number containing current background definition CurrentObject_BackgroundBrush =NULL; // Current background brush CurrentObject_FreeBackgroundBrush =true; // True if allow to delete CurrentObject_BackgroundBrush during destructor CurrentObject_SoundTrackMontage =NULL; // Sound for playing sound from montage track CurrentObject_FreeSoundTrackMontage =true; // True if allow to delete CurrentObject_SoundTrackMontage during destructor CurrentObject_MusicTrack =NULL; // Sound for playing music from music track CurrentObject_FreeMusicTrack =true; // True if allow to delete CurrentObject_MusicTrack during destructor CurrentObject_MusicObject =NULL; // Ref to the current playing music // Transitionnal object IsTransition =false; // True if transition in progress TransitionPCTDone =0; // PCT achevement for transition TransitObject_Number =0; // Object number TransitObject_StartTime =0; // Position (in msec) of the first frame relative to the diaporama TransitObject_InObjectTime =0; // Position (in msec) in the object TransitObject =NULL; // Link to the current object TransitObject_ShotSequenceNumber =0; // Number of the shot sequence in the current object TransitObject_CurrentShot =NULL; // Link to the current shot in the current object TransitObject_CurrentShotType =0; // Type of the current shot : Static/Mobil/Video TransitObject_ShotDuration =0; // Time the static shot end (if TransitObject_CurrentShotType=SHOTTYPE_STATIC) TransitObject_PCTDone =0; // PCT achevement for static shot TransitObject_BackgroundIndex =0; // Object number containing current background definition TransitObject_BackgroundBrush =NULL; // Current background brush TransitObject_FreeBackgroundBrush =true; // True if allow to delete TransitObject_BackgroundBrush during destructor TransitObject_SoundTrackMontage =NULL; // Sound for playing sound from montage track TransitObject_FreeSoundTrackMontage =true; // True if allow to delete TransitObject_SoundTrackMontage during destructor TransitObject_MusicTrack =NULL; // Sound for playing music from music track TransitObject_FreeMusicTrack =true; // True if allow to delete TransitObject_MusicTrack during destructor TransitObject_MusicObject =NULL; // Ref to the current playing music } cDiaporamaObjectInfo::cDiaporamaObjectInfo(cDiaporamaObjectInfo *PreviousFrame,int64_t TimePosition,cDiaporama *Diaporama,double TheFrameDuration,bool WantSound) { //==============> Pre-initialise all values IsShotStatic =false; IsTransitStatic =false; FrameDuration =TheFrameDuration; // Current object CurrentObject_Number =0; // Object number CurrentObject_StartTime =0; // Position (in msec) of the first frame relative to the diaporama CurrentObject_InObjectTime =0; // Position (in msec) in the object CurrentObject =NULL; // Link to the current object CurrentObject_ShotSequenceNumber =0; // Number of the shot sequence in the current object CurrentObject_CurrentShot =NULL; // Link to the current shot in the current object CurrentObject_CurrentShotType =0; // Type of the current shot : Static/Mobil/Video CurrentObject_ShotDuration =0; // Time the static shot end (if CurrentObject_CurrentShotType=SHOTTYPE_STATIC) CurrentObject_PCTDone =0; // PCT achevement for static shot CurrentObject_BackgroundIndex =0; // Object number containing current background definition CurrentObject_BackgroundBrush =NULL; // Current background brush CurrentObject_FreeBackgroundBrush =true; // True if allow to delete CurrentObject_BackgroundBrush during destructor CurrentObject_SoundTrackMontage =NULL; // Sound for playing sound from montage track CurrentObject_FreeSoundTrackMontage =true; // True if allow to delete CurrentObject_SoundTrackMontage during destructor CurrentObject_MusicTrack =NULL; // Sound for playing music from music track CurrentObject_FreeMusicTrack =true; // True if allow to delete CurrentObject_MusicTrack during destructor CurrentObject_MusicObject =NULL; // Ref to the current playing music // Transitionnal object IsTransition =false; // True if transition in progress TransitionPCTDone =0; // PCT achevement for transition TransitObject_Number =0; // Object number TransitObject_StartTime =0; // Position (in msec) of the first frame relative to the diaporama TransitObject_InObjectTime =0; // Position (in msec) in the object TransitObject =NULL; // Link to the current object TransitObject_ShotSequenceNumber =0; // Number of the shot sequence in the current object TransitObject_CurrentShot =NULL; // Link to the current shot in the current object TransitObject_CurrentShotType =0; // Type of the current shot : Static/Mobil/Video TransitObject_ShotDuration =0; // Time the static shot end (if TransitObject_CurrentShotType=SHOTTYPE_STATIC) TransitObject_PCTDone =0; // PCT achevement for static shot TransitObject_BackgroundIndex =0; // Object number containing current background definition TransitObject_BackgroundBrush =NULL; // Current background brush TransitObject_FreeBackgroundBrush =true; // True if allow to delete TransitObject_BackgroundBrush during destructor TransitObject_SoundTrackMontage =NULL; // Sound for playing sound from montage track TransitObject_FreeSoundTrackMontage =true; // True if allow to delete TransitObject_SoundTrackMontage during destructor TransitObject_MusicTrack =NULL; // Sound for playing music from music track TransitObject_FreeMusicTrack =true; // True if allow to delete TransitObject_MusicTrack during destructor TransitObject_MusicObject =NULL; // Ref to the current playing music if (!Diaporama) { CurrentObject_InObjectTime=TimePosition; TransitObject_InObjectTime=TimePosition; } else { //==============> Retrieve object information depending on position (in msec) // Search wich object for given time position int AdjustedDuration=(CurrentObject_NumberList.count())?Diaporama->List[CurrentObject_Number]->CachedDuration-Diaporama->GetTransitionDuration(CurrentObject_Number+1):0; if (AdjustedDuration<33) AdjustedDuration=33; // Not less than 1/30 sec while ((CurrentObject_NumberList.count())&& ((CurrentObject_StartTime+AdjustedDuration<=TimePosition))) { CurrentObject_StartTime=CurrentObject_StartTime+AdjustedDuration; CurrentObject_Number++; AdjustedDuration=(CurrentObject_NumberList.count())?Diaporama->List[CurrentObject_Number]->CachedDuration-Diaporama->GetTransitionDuration(CurrentObject_Number+1):0; if (AdjustedDuration<33) AdjustedDuration=33; // Not less than 1/30 sec } // Adjust CurrentObject_Number if (CurrentObject_Number>=Diaporama->List.count()) { if (Diaporama->List.count()>0) { // Force to last object CurrentObject_Number =Diaporama->List.count()-1; CurrentObject =Diaporama->List[CurrentObject_Number]; CurrentObject_StartTime =Diaporama->GetObjectStartPosition(CurrentObject_Number); } else { // Force to first or none object CurrentObject_Number =0; CurrentObject_StartTime=0; CurrentObject=NULL; } } else CurrentObject=Diaporama->List[CurrentObject_Number]; CurrentObject_InObjectTime=TimePosition-CurrentObject_StartTime; // Now calculate wich sequence in the current object is if (CurrentObject) { int CurPos =0; while ((CurrentObject_ShotSequenceNumberList.count()-1)&&((CurPos+CurrentObject->List[CurrentObject_ShotSequenceNumber]->StaticDuration)<=CurrentObject_InObjectTime)) { CurPos=CurPos+CurrentObject->List[CurrentObject_ShotSequenceNumber]->StaticDuration; CurrentObject_ShotSequenceNumber++; } CurrentObject_CurrentShot=CurrentObject->List[CurrentObject_ShotSequenceNumber]; if (CurrentObject_ShotSequenceNumberList.count()-1) CurrentObject_ShotDuration=CurrentObject_CurrentShot->StaticDuration; else CurrentObject_ShotDuration=CurrentObject_CurrentShot->Parent->CachedDuration-CurPos; // calculate CurrentObject_PCTDone CurrentObject_PCTDone=(double(CurrentObject_InObjectTime)-double(CurPos))/(double(CurrentObject_ShotDuration)); // Force all to SHOTTYPE_VIDEO CurrentObject_CurrentShotType=SHOTTYPE_VIDEO; } else { CurrentObject_ShotSequenceNumber=0; CurrentObject_CurrentShot =NULL; CurrentObject_CurrentShotType =SHOTTYPE_STATIC; } // Calculate wich BackgroundIndex to be use (Background type : false=same as precedent - true=new background definition) CurrentObject_BackgroundIndex=CurrentObject_Number; while ((CurrentObject_BackgroundIndex>0)&&(!Diaporama->List[CurrentObject_BackgroundIndex]->BackgroundType)) CurrentObject_BackgroundIndex--; // Define if for this position we have a transition with a previous object if ((CurrentObject!=NULL)&&((CurrentObject->TransitionFamilly!=0)||(CurrentObject->TransitionSubType!=0))&&(CurrentObject_InObjectTimeTransitionDuration)) { TransitionFamilly =CurrentObject->TransitionFamilly; // Transition familly TransitionSubType =CurrentObject->TransitionSubType; // Transition type in the familly TransitionDuration=CurrentObject->TransitionDuration; // Transition duration (in msec) IsTransition =true; TransitionPCTDone =double(CurrentObject_InObjectTime)/double(TransitionDuration); // If CurrentObject is not the first object if (CurrentObject_Number>0) { TransitObject_Number =CurrentObject_Number-1; TransitObject =Diaporama->List[TransitObject_Number]; TransitObject_StartTime =Diaporama->GetObjectStartPosition(TransitObject_Number); TransitObject_InObjectTime =TimePosition-TransitObject_StartTime; // Now calculate wich sequence in the Transition object is int CurPos =0; while ((TransitObject_ShotSequenceNumberList.count()-1)&&((CurPos+TransitObject->List[TransitObject_ShotSequenceNumber]->StaticDuration)<=TransitObject_InObjectTime)) { CurPos=CurPos+TransitObject->List[TransitObject_ShotSequenceNumber]->StaticDuration; TransitObject_ShotSequenceNumber++; } TransitObject_CurrentShot=TransitObject->List[TransitObject_ShotSequenceNumber]; if (TransitObject_ShotSequenceNumberList.count()-1) TransitObject_ShotDuration=TransitObject_CurrentShot->StaticDuration; else TransitObject_ShotDuration=TransitObject_CurrentShot->Parent->CachedDuration-CurPos; TransitObject_CurrentShotType=SHOTTYPE_VIDEO; // calculate TransitObject_PCTDone TransitObject_PCTDone=(double(TransitObject_InObjectTime)-double(CurPos))/(double(TransitObject_ShotDuration)); // Force all to SHOTTYPE_VIDEO // Calculate wich BackgroundIndex to be use for transition object (Background type : false=same as precedent - true=new background definition) TransitObject_BackgroundIndex=TransitObject_Number; while ((TransitObject_BackgroundIndex>0)&&(!Diaporama->List[TransitObject_BackgroundIndex]->BackgroundType)) TransitObject_BackgroundIndex--; } } // Search music objects int64_t StartPosition; if ((WantSound)&&(CurrentObject!=NULL)) CurrentObject_MusicObject=Diaporama->GetMusicObject(CurrentObject_Number,StartPosition); if ((WantSound)&&(TransitObject!=NULL)) TransitObject_MusicObject=Diaporama->GetMusicObject(TransitObject_Number,StartPosition); //==============> Try to re-use values from PreviousFrame if ((CurrentObject)&&(PreviousFrame)) { //************ Background if (PreviousFrame->CurrentObject_BackgroundIndex==CurrentObject_BackgroundIndex) { CurrentObject_BackgroundBrush=PreviousFrame->CurrentObject_BackgroundBrush; // Use the same background PreviousFrame->CurrentObject_FreeBackgroundBrush=false; // Set tag to not delete previous background CurrentObject_PreparedBackground=PreviousFrame->CurrentObject_PreparedBackground; } // Background of transition Object if (TransitObject) { if (PreviousFrame->CurrentObject_BackgroundIndex==TransitObject_BackgroundIndex) { TransitObject_BackgroundBrush=PreviousFrame->CurrentObject_BackgroundBrush; // Use the same background PreviousFrame->CurrentObject_FreeBackgroundBrush=false; // Set tag to not delete previous background TransitObject_PreparedBackground=PreviousFrame->CurrentObject_PreparedBackground; } else if (PreviousFrame->TransitObject_BackgroundIndex==TransitObject_BackgroundIndex) { TransitObject_BackgroundBrush=PreviousFrame->TransitObject_BackgroundBrush; // Use the same background PreviousFrame->TransitObject_FreeBackgroundBrush=false; // Set tag to not delete previous background TransitObject_PreparedBackground=PreviousFrame->TransitObject_PreparedBackground; } // Special case to disable free of background brush if transit object and current object use the same if (TransitObject_BackgroundBrush==CurrentObject_BackgroundBrush) { TransitObject_FreeBackgroundBrush=false; } } //************ SoundTrackMontage if ((WantSound)&&(PreviousFrame->CurrentObject_Number==CurrentObject_Number)) { CurrentObject_SoundTrackMontage=PreviousFrame->CurrentObject_SoundTrackMontage; // Use the same SoundTrackMontage PreviousFrame->CurrentObject_FreeSoundTrackMontage=false; // Set tag to not delete previous SoundTrackMontage } // SoundTrackMontage of transition Object if ((WantSound)&&(TransitObject)) { if ((PreviousFrame->CurrentObject_Number==TransitObject_Number)) { TransitObject_SoundTrackMontage=PreviousFrame->CurrentObject_SoundTrackMontage; // Use the same SoundTrackMontage PreviousFrame->CurrentObject_FreeSoundTrackMontage=false; // Set tag to not delete previous SoundTrackMontage } else if ((PreviousFrame->TransitObject_Number==TransitObject_Number)) { TransitObject_SoundTrackMontage=PreviousFrame->TransitObject_SoundTrackMontage; // Use the same SoundTrackMontage PreviousFrame->TransitObject_FreeSoundTrackMontage=false; // Set tag to not delete previous SoundTrackMontage } } //************ Music if ((WantSound)&&(PreviousFrame->CurrentObject_MusicObject==CurrentObject_MusicObject)) { CurrentObject_MusicTrack=PreviousFrame->CurrentObject_MusicTrack; // Use the same Music track PreviousFrame->CurrentObject_FreeMusicTrack=false; // Set tag to not delete previous SoundTrackMontage } // Music of transition Object if ((WantSound)&&(TransitObject)) { if ((PreviousFrame->CurrentObject_MusicObject==TransitObject_MusicObject)) { TransitObject_MusicTrack=PreviousFrame->CurrentObject_MusicTrack; // Use the same SoundTrackMontage PreviousFrame->CurrentObject_FreeMusicTrack=false; // Set tag to not delete previous SoundTrackMontage } else if ((PreviousFrame->TransitObject_MusicObject==TransitObject_MusicObject)) { TransitObject_MusicTrack=PreviousFrame->TransitObject_MusicTrack; // Use the same SoundTrackMontage PreviousFrame->TransitObject_FreeMusicTrack=false; // Set tag to not delete previous SoundTrackMontage } // Special case to disable TransitObject_MusicTrack if transit object and current object use the same if (CurrentObject_MusicObject==TransitObject_MusicObject) { TransitObject_FreeMusicTrack=false; TransitObject_MusicTrack=NULL; } } // Definitively check PreviousFrame to know if we realy need to free MusicObject if ((WantSound)&&(PreviousFrame->CurrentObject_FreeMusicTrack)&&((PreviousFrame->CurrentObject_MusicTrack==CurrentObject_MusicTrack)||(PreviousFrame->CurrentObject_MusicTrack==TransitObject_MusicTrack))) PreviousFrame->CurrentObject_FreeMusicTrack=false; if ((WantSound)&&(PreviousFrame->TransitObject_FreeMusicTrack)&&((PreviousFrame->TransitObject_MusicTrack==CurrentObject_MusicTrack)||(PreviousFrame->TransitObject_MusicTrack==TransitObject_MusicTrack)||(PreviousFrame->TransitObject_MusicTrack==PreviousFrame->CurrentObject_MusicTrack))) PreviousFrame->TransitObject_FreeMusicTrack=false; //************ PreparedImage & RenderedImage IsShotStatic=(PreviousFrame->CurrentObject_Number==CurrentObject_Number)&& (PreviousFrame->CurrentObject_CurrentShot==CurrentObject_CurrentShot)&& (ComputeIsShotStatic(CurrentObject,CurrentObject_ShotSequenceNumber)); if (IsShotStatic) {// Same shot CurrentObject_PreparedImage=PreviousFrame->CurrentObject_PreparedImage; // Use the same PreparedImage if ((!IsTransition)&&(!PreviousFrame->IsTransition)) RenderedImage=PreviousFrame->RenderedImage; // Use the same RenderedImage } // PreparedImage of transition Object if (TransitObject) { IsTransitStatic=ComputeIsShotStatic(TransitObject,TransitObject_ShotSequenceNumber); if ((PreviousFrame->CurrentObject_CurrentShot==TransitObject_CurrentShot)&&(IsTransitStatic)) { TransitObject_PreparedImage=PreviousFrame->CurrentObject_PreparedImage; // Use the same PreparedImage } else if ((PreviousFrame->TransitObject_CurrentShot==TransitObject_CurrentShot)&&(IsTransitStatic)) { TransitObject_PreparedImage=PreviousFrame->TransitObject_PreparedImage; // Use the same PreparedImage } } } } } // make a copy of PreviousFrame void cDiaporamaObjectInfo::Copy(cDiaporamaObjectInfo *PreviousFrame) { IsShotStatic =PreviousFrame->IsShotStatic; IsTransitStatic =PreviousFrame->IsTransitStatic; FrameDuration =PreviousFrame->FrameDuration; TransitionFamilly =PreviousFrame->TransitionFamilly; // Transition familly TransitionSubType =PreviousFrame->TransitionSubType; // Transition type in the familly TransitionDuration =PreviousFrame->TransitionDuration; // Transition duration (in msec) // Current object CurrentObject_Number =PreviousFrame->CurrentObject_Number; // Object number CurrentObject_StartTime =PreviousFrame->CurrentObject_StartTime; // Position (in msec) of the first frame relative to the diaporama CurrentObject_InObjectTime =PreviousFrame->CurrentObject_InObjectTime; // Position (in msec) in the object CurrentObject =PreviousFrame->CurrentObject; // Link to the current object CurrentObject_ShotSequenceNumber =PreviousFrame->CurrentObject_ShotSequenceNumber; // Number of the shot sequence in the current object CurrentObject_CurrentShot =PreviousFrame->CurrentObject_CurrentShot; // Link to the current shot in the current object CurrentObject_CurrentShotType =PreviousFrame->CurrentObject_CurrentShotType; // Type of the current shot : Static/Mobil/Video CurrentObject_ShotDuration =PreviousFrame->CurrentObject_ShotDuration; // Time the static shot end (if CurrentObject_CurrentShotType=SHOTTYPE_STATIC) CurrentObject_PCTDone =PreviousFrame->CurrentObject_PCTDone; CurrentObject_BackgroundIndex =PreviousFrame->CurrentObject_BackgroundIndex; // Object number containing current background definition CurrentObject_BackgroundBrush =PreviousFrame->CurrentObject_BackgroundBrush; // Current background brush CurrentObject_FreeBackgroundBrush =false; // True if allow to delete CurrentObject_BackgroundBrush during destructor CurrentObject_PreparedBackground =PreviousFrame->CurrentObject_PreparedBackground; // Current image produce for background CurrentObject_SoundTrackMontage =PreviousFrame->CurrentObject_SoundTrackMontage; // Sound for playing sound from montage track CurrentObject_FreeSoundTrackMontage =false; // True if allow to delete CurrentObject_SoundTrackMontage during destructor CurrentObject_PreparedImage =PreviousFrame->CurrentObject_PreparedImage; // Current image prepared CurrentObject_MusicTrack =PreviousFrame->CurrentObject_MusicTrack; // Sound for playing music from music track CurrentObject_FreeMusicTrack =false; // True if allow to delete CurrentObject_MusicTrack during destructor CurrentObject_MusicObject =PreviousFrame->CurrentObject_MusicObject; // Ref to the current playing music // Transitionnal object IsTransition =PreviousFrame->IsTransition; // True if transition in progress TransitionPCTDone =PreviousFrame->TransitionPCTDone; // PCT achevement for transition TransitObject_Number =PreviousFrame->TransitObject_Number; // Object number TransitObject_StartTime =PreviousFrame->TransitObject_StartTime; // Position (in msec) of the first frame relative to the diaporama TransitObject_InObjectTime =PreviousFrame->TransitObject_InObjectTime; // Position (in msec) in the object TransitObject =PreviousFrame->TransitObject; // Link to the current object TransitObject_ShotSequenceNumber =PreviousFrame->TransitObject_ShotSequenceNumber; // Number of the shot sequence in the current object TransitObject_CurrentShot =PreviousFrame->TransitObject_CurrentShot; // Link to the current shot in the current object TransitObject_CurrentShotType =PreviousFrame->TransitObject_CurrentShotType; // Type of the current shot : Static/Mobil/Video TransitObject_ShotDuration =PreviousFrame->TransitObject_ShotDuration; // Time the static shot end (if TransitObject_CurrentShotType=SHOTTYPE_STATIC) TransitObject_PCTDone =PreviousFrame->TransitObject_PCTDone; TransitObject_BackgroundIndex =PreviousFrame->TransitObject_BackgroundIndex; // Object number containing current background definition TransitObject_BackgroundBrush =PreviousFrame->TransitObject_BackgroundBrush; // Current background brush TransitObject_FreeBackgroundBrush =false; // True if allow to delete TransitObject_BackgroundBrush during destructor TransitObject_PreparedBackground =PreviousFrame->TransitObject_PreparedBackground; // Current image produce for background TransitObject_SoundTrackMontage =PreviousFrame->TransitObject_SoundTrackMontage; // Sound for playing sound from montage track TransitObject_FreeSoundTrackMontage =false; // True if allow to delete TransitObject_SoundTrackMontage during destructor TransitObject_PreparedImage =PreviousFrame->TransitObject_PreparedImage; // Current image prepared TransitObject_MusicTrack =PreviousFrame->TransitObject_MusicTrack; // Sound for playing music from music track TransitObject_FreeMusicTrack =false; // True if allow to delete TransitObject_MusicTrack during destructor TransitObject_MusicObject =PreviousFrame->TransitObject_MusicObject; // Ref to the current playing music } bool cDiaporamaObjectInfo::ComputeIsShotStatic(cDiaporamaObject *Object,int ShotNumber) { bool IsStatic=true; if (ShotNumber==0) { for (int i=0;iList[0]->ShotComposition.List.count();i++) if (((Object->List[ShotNumber]->ShotComposition.List[i]->BackgroundBrush->MediaObject)&&(Object->List[ShotNumber]->ShotComposition.List[i]->BackgroundBrush->MediaObject->ObjectType==OBJECTTYPE_VIDEOFILE))|| (Object->List[ShotNumber]->ShotComposition.List[i]->BlockAnimType!=0)) IsStatic=false; } else for (int i=0;iList[ShotNumber]->ShotComposition.List.count();i++) if (Object->List[ShotNumber]->ShotComposition.List[i]->IsVisible) { if ((Object->List[ShotNumber]->ShotComposition.List[i]->BackgroundBrush->MediaObject)&&(Object->List[ShotNumber]->ShotComposition.List[i]->BackgroundBrush->MediaObject->ObjectType==OBJECTTYPE_VIDEOFILE)) IsStatic=false; else { if ((Object->List[ShotNumber]->ShotComposition.List[i]->x !=Object->List[ShotNumber-1]->ShotComposition.List[i]->x)|| (Object->List[ShotNumber]->ShotComposition.List[i]->y !=Object->List[ShotNumber-1]->ShotComposition.List[i]->y)|| (Object->List[ShotNumber]->ShotComposition.List[i]->w !=Object->List[ShotNumber-1]->ShotComposition.List[i]->w)|| (Object->List[ShotNumber]->ShotComposition.List[i]->h !=Object->List[ShotNumber-1]->ShotComposition.List[i]->h)|| (Object->List[ShotNumber]->ShotComposition.List[i]->RotateXAxis !=Object->List[ShotNumber-1]->ShotComposition.List[i]->RotateXAxis)|| (Object->List[ShotNumber]->ShotComposition.List[i]->RotateYAxis !=Object->List[ShotNumber-1]->ShotComposition.List[i]->RotateYAxis)|| (Object->List[ShotNumber]->ShotComposition.List[i]->RotateZAxis !=Object->List[ShotNumber-1]->ShotComposition.List[i]->RotateZAxis)|| (Object->List[ShotNumber]->ShotComposition.List[i]->BlockAnimType !=0)|| (Object->List[ShotNumber]->ShotComposition.List[i]->TxtZoomLevel !=Object->List[ShotNumber-1]->ShotComposition.List[i]->TxtZoomLevel)|| (Object->List[ShotNumber]->ShotComposition.List[i]->TxtScrollX !=Object->List[ShotNumber-1]->ShotComposition.List[i]->TxtScrollX)|| (Object->List[ShotNumber]->ShotComposition.List[i]->TxtScrollY !=Object->List[ShotNumber-1]->ShotComposition.List[i]->TxtScrollY)|| (Object->List[ShotNumber]->ShotComposition.List[i]->BackgroundBrush->X !=Object->List[ShotNumber-1]->ShotComposition.List[i]->BackgroundBrush->X)|| (Object->List[ShotNumber]->ShotComposition.List[i]->BackgroundBrush->Y !=Object->List[ShotNumber-1]->ShotComposition.List[i]->BackgroundBrush->Y)|| (Object->List[ShotNumber]->ShotComposition.List[i]->BackgroundBrush->ZoomFactor !=Object->List[ShotNumber-1]->ShotComposition.List[i]->BackgroundBrush->ZoomFactor)|| (Object->List[ShotNumber]->ShotComposition.List[i]->BackgroundBrush->AspectRatio !=Object->List[ShotNumber-1]->ShotComposition.List[i]->BackgroundBrush->AspectRatio)|| (Object->List[ShotNumber]->ShotComposition.List[i]->BackgroundBrush->ImageRotation !=Object->List[ShotNumber-1]->ShotComposition.List[i]->BackgroundBrush->ImageRotation)|| (Object->List[ShotNumber]->ShotComposition.List[i]->BackgroundBrush->Blue !=Object->List[ShotNumber-1]->ShotComposition.List[i]->BackgroundBrush->Blue)|| (Object->List[ShotNumber]->ShotComposition.List[i]->BackgroundBrush->Red !=Object->List[ShotNumber-1]->ShotComposition.List[i]->BackgroundBrush->Red)|| (Object->List[ShotNumber]->ShotComposition.List[i]->BackgroundBrush->Green !=Object->List[ShotNumber-1]->ShotComposition.List[i]->BackgroundBrush->Green)|| (Object->List[ShotNumber]->ShotComposition.List[i]->BackgroundBrush->Brightness !=Object->List[ShotNumber-1]->ShotComposition.List[i]->BackgroundBrush->Brightness)|| (Object->List[ShotNumber]->ShotComposition.List[i]->BackgroundBrush->Contrast !=Object->List[ShotNumber-1]->ShotComposition.List[i]->BackgroundBrush->Contrast)|| (Object->List[ShotNumber]->ShotComposition.List[i]->BackgroundBrush->Gamma !=Object->List[ShotNumber-1]->ShotComposition.List[i]->BackgroundBrush->Gamma)|| (Object->List[ShotNumber]->ShotComposition.List[i]->BackgroundBrush->BlurSharpenRadius !=Object->List[ShotNumber-1]->ShotComposition.List[i]->BackgroundBrush->BlurSharpenRadius)|| (Object->List[ShotNumber]->ShotComposition.List[i]->BackgroundBrush->GaussBlurSharpenSigma !=Object->List[ShotNumber-1]->ShotComposition.List[i]->BackgroundBrush->GaussBlurSharpenSigma)|| (Object->List[ShotNumber]->ShotComposition.List[i]->BackgroundBrush->QuickBlurSharpenSigma !=Object->List[ShotNumber-1]->ShotComposition.List[i]->BackgroundBrush->QuickBlurSharpenSigma)|| (Object->List[ShotNumber]->ShotComposition.List[i]->BackgroundBrush->Desat !=Object->List[ShotNumber-1]->ShotComposition.List[i]->BackgroundBrush->Desat)|| (Object->List[ShotNumber]->ShotComposition.List[i]->BackgroundBrush->Swirl !=Object->List[ShotNumber-1]->ShotComposition.List[i]->BackgroundBrush->Swirl)|| (Object->List[ShotNumber]->ShotComposition.List[i]->BackgroundBrush->Implode !=Object->List[ShotNumber-1]->ShotComposition.List[i]->BackgroundBrush->Implode)|| (Object->List[ShotNumber]->ShotComposition.List[i]->BackgroundBrush->OnOffFilter !=Object->List[ShotNumber-1]->ShotComposition.List[i]->BackgroundBrush->OnOffFilter)) IsStatic=false; } } return IsStatic; } //============================================================================================ // Destructor //============================================================================================ cDiaporamaObjectInfo::~cDiaporamaObjectInfo() { // CurrentObject if ((CurrentObject_FreeBackgroundBrush)&&(CurrentObject_BackgroundBrush)) { delete CurrentObject_BackgroundBrush; CurrentObject_BackgroundBrush=NULL; } if ((CurrentObject_FreeSoundTrackMontage)&&(CurrentObject_SoundTrackMontage)) { delete CurrentObject_SoundTrackMontage; CurrentObject_SoundTrackMontage=NULL; } if ((CurrentObject_FreeMusicTrack)&&(CurrentObject_MusicTrack)) { delete CurrentObject_MusicTrack; CurrentObject_MusicTrack=NULL; } // Transition Object if ((TransitObject_FreeBackgroundBrush)&&(TransitObject_BackgroundBrush)) { delete TransitObject_BackgroundBrush; TransitObject_BackgroundBrush=NULL; } if ((TransitObject_FreeSoundTrackMontage)&&(TransitObject_SoundTrackMontage)) { delete TransitObject_SoundTrackMontage; TransitObject_SoundTrackMontage=NULL; } if ((TransitObject_FreeMusicTrack)&&(TransitObject_MusicTrack)) { delete TransitObject_MusicTrack; TransitObject_MusicTrack=NULL; } } ffDiaporama/src/ffDiaporama/MainWindow/0000777000175000001440000000000012275647330020271 5ustar dominiqueusersffDiaporama/src/ffDiaporama/MainWindow/mainwindow.ui0000777000175000001440000035725312275647326023033 0ustar dominiqueusers MainWindow 0 0 850 550 850 550 800 500 Sans Serif 9 MainWindow :/img/ffdiaporama.png:/img/ffdiaporama.png 9 0 0 0 0 0 0 0 0 0 0 0 0 Sans Serif 9 50 false QToolButton { background-color: transparent; border: none; font-size: 9px; } QToolButton:hover{ border: 2px solid #8f8f91; border-radius: 6px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #f6f7fa, stop: 1 #dadbde); } QToolButton:pressed { border: 2px solid #8f8f91; border-radius: 6px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #f6f7fa, stop: 1 #dadbde); } QTabWidget::Rounded 0 Sans Serif 8 File 2 0 0 0 0 0 0 64 58 16777215 56 -1 Create a new empty project (Ctrl+N) New project :/img/filenew.png:/img/filenew.png 24 24 Qt::ToolButtonTextUnderIcon 0 0 64 58 16777215 56 -1 Open a previously saved project (Ctrl+O) Open project :/img/fileopen.png:/img/fileopen.png 24 24 Qt::ToolButtonTextUnderIcon 0 0 64 58 16777215 56 -1 Open a recently used project file Open recent :/img/filerecent.png:/img/filerecent.png 24 24 Qt::ToolButtonTextUnderIcon 0 0 64 58 16777215 56 -1 Save current project (Ctrl+S) Save project :/img/filesave.png:/img/filesave.png 24 24 Qt::ToolButtonTextUnderIcon 0 0 64 58 16777215 56 -1 Save current project to a new project file Save project as :/img/SaveAsMenu.png:/img/SaveAsMenu.png 24 24 Qt::ToolButtonTextUnderIcon QFrame::Sunken Qt::Vertical 64 58 -1 Define project properties Project properties :/img/PrjProperties.png:/img/PrjProperties.png 24 24 Qt::ToolButtonTextUnderIcon 0 56 64 58 -1 Change application and project settings Settings :/img/config.png:/img/config.png 24 24 Qt::ToolButtonTextUnderIcon 0 56 64 58 -1 Exit application (Ctrl+W) Exit :/img/exit.png:/img/exit.png 24 24 Qt::ToolButtonTextUnderIcon Sans Serif 8 Project 2 0 0 0 0 0 0 64 58 16777215 56 -1 Add an empty slide Add title :/img/add_text.png:/img/add_text.png 24 24 Qt::ToolButtonTextUnderIcon 0 0 64 58 16777215 56 -1 Add image or video as slide (INS) Add files :/img/add_image.png:/img/add_image.png 24 24 Qt::ToolButtonTextUnderIcon 64 58 16777215 56 -1 Add a previously saved project at the end of this project Add project :/img/add_project.png:/img/add_project.png 24 24 Qt::ToolButtonTextUnderIcon Qt::Vertical 64 58 16777215 56 -1 Copy current slide to clipboard and remove it (Ctrl+X) Cut :/img/editcut.png:/img/editcut.png 24 24 Qt::ToolButtonTextUnderIcon 64 58 16777215 56 -1 Copy current slide to clipboard (Ctrl+C) Copy :/img/editcopy.png:/img/editcopy.png 24 24 Qt::ToolButtonTextUnderIcon 64 58 16777215 56 -1 Paste current slide from clipboard (Ctrl+V) Paste :/img/editpaste.png:/img/editpaste.png 24 24 Qt::ToolButtonTextUnderIcon Qt::Vertical 0 0 64 58 16777215 56 -1 Edit :/img/edit.png:/img/edit.png 24 24 Qt::ToolButtonTextUnderIcon 64 58 16777215 56 -1 Remove current slide (DEL) Remove :/img/trash.png:/img/trash.png 24 24 Qt::ToolButtonTextUnderIcon 0 56 64 58 -1 Exit application (Ctrl+W) Exit :/img/exit.png:/img/exit.png 24 24 Qt::ToolButtonTextUnderIcon Sans Serif 8 Render video 2 0 0 0 0 0 0 64 58 16777215 56 -1 Render project as a video using a predefined model Player and smartphone :/img/Smartphone.png:/img/Smartphone.png 24 24 Qt::ToolButtonTextUnderIcon 0 0 64 58 16777215 56 -1 Render project as a video using a predefined model Multimedia system :/img/tv.png:/img/tv.png 24 24 Qt::ToolButtonTextUnderIcon 64 58 16777215 56 -1 Render project as a video using a predefined model For the WEB :/img/Internet.png:/img/Internet.png 24 24 Qt::ToolButtonTextUnderIcon 64 58 16777215 56 -1 Render project as a lossless video Lossless :/img/Lossless.png:/img/Lossless.png 24 24 Qt::ToolButtonTextUnderIcon 0 0 64 58 16777215 56 -1 Render project as a video Advanced :/img/render.png:/img/render.png 24 24 Qt::ToolButtonTextUnderIcon 0 0 64 58 16777215 56 -1 Render sound trak of project Export Soundtrack :/img/object_sound.png:/img/object_sound.png 24 24 Qt::ToolButtonTextUnderIcon 0 56 64 58 -1 Exit application (Ctrl+W) Exit :/img/exit.png:/img/exit.png 24 24 Qt::ToolButtonTextUnderIcon Sans Serif 8 Help 2 0 0 0 0 0 0 64 58 16777215 56 -1 Display information about ffDiaporama About :/img/ffdiaporama.png:/img/ffdiaporama.png 24 24 Qt::ToolButtonTextUnderIcon 0 0 64 58 16777215 56 -1 Call ffDiaporama WIKI Support and help :/img/help.png:/img/help.png 24 24 Qt::ToolButtonTextUnderIcon 0 0 64 58 16777215 56 -1 Display blog/news page from internet WEB site What's new :/img/contents.png:/img/contents.png 24 24 Qt::ToolButtonTextUnderIcon 0 56 64 58 -1 Exit application (Ctrl+W) Exit :/img/exit.png:/img/exit.png 24 24 Qt::ToolButtonTextUnderIcon 8 QToolButton { background-color: transparent; border: none; font-size: 9px; } QToolButton:hover{ border: 2px solid #8f8f91; border-radius: 6px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #f6f7fa, stop: 1 #dadbde); } QToolButton:pressed { border: 2px solid #8f8f91; border-radius: 6px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #f6f7fa, stop: 1 #dadbde); } 0 0 0 0 0 0 0 0 0 0 0 0 64 58 16777215 56 -1 Create a new empty project (Ctrl+N) New project :/img/filenew.png:/img/filenew.png 24 24 Qt::ToolButtonTextUnderIcon 0 0 64 58 16777215 56 -1 Open a previously saved project (Ctrl+O) Open project :/img/fileopen.png:/img/fileopen.png 24 24 Qt::ToolButtonTextUnderIcon 0 0 64 58 16777215 56 -1 Open a recently used project file Open recent :/img/filerecent.png:/img/filerecent.png 24 24 Qt::ToolButtonTextUnderIcon 0 0 64 58 16777215 56 -1 Save current project (Ctrl+S) Save project :/img/filesave.png:/img/filesave.png 24 24 Qt::ToolButtonTextUnderIcon 0 0 64 58 16777215 56 -1 Save current project to a new project file Save project as :/img/SaveAsMenu.png:/img/SaveAsMenu.png 24 24 Qt::ToolButtonTextUnderIcon QFrame::Sunken Qt::Vertical 64 58 -1 Define project properties Project properties :/img/PrjProperties.png:/img/PrjProperties.png 24 24 Qt::ToolButtonTextUnderIcon 0 56 64 58 -1 Change application and project settings Settings :/img/config.png:/img/config.png 24 24 Qt::ToolButtonTextUnderIcon 0 56 64 58 -1 Exit application (Ctrl+W) Exit :/img/exit.png:/img/exit.png 24 24 Qt::ToolButtonTextUnderIcon Qt::Horizontal 40 20 Qt::Horizontal 0 0 64 58 16777215 56 -1 Add an empty slide Add title :/img/add_text.png:/img/add_text.png 24 24 Qt::ToolButtonTextUnderIcon 0 0 64 58 16777215 56 -1 Add image or video as slide (INS) Add files :/img/add_image.png:/img/add_image.png 24 24 Qt::ToolButtonTextUnderIcon 64 58 16777215 56 -1 Add a previously saved project at the end of this project Add project :/img/add_project.png:/img/add_project.png 24 24 Qt::ToolButtonTextUnderIcon QFrame::Sunken Qt::Vertical 64 58 16777215 56 -1 Copy current slide to clipboard and remove it (Ctrl+X) Cut :/img/editcut.png:/img/editcut.png 24 24 Qt::ToolButtonTextUnderIcon 64 58 16777215 56 -1 Copy current slide to clipboard (Ctrl+C) Copy :/img/editcopy.png:/img/editcopy.png 24 24 Qt::ToolButtonTextUnderIcon 64 58 16777215 56 -1 Paste current slide from clipboard (Ctrl+V) Paste :/img/editpaste.png:/img/editpaste.png 24 24 Qt::ToolButtonTextUnderIcon QFrame::Sunken Qt::Vertical 0 0 64 58 16777215 56 -1 Edit :/img/edit.png:/img/edit.png 24 24 Qt::ToolButtonTextUnderIcon 64 58 16777215 56 -1 Remove current slide (DEL) Remove :/img/trash.png:/img/trash.png 24 24 Qt::ToolButtonTextUnderIcon Qt::Horizontal 40 20 Qt::Horizontal 0 0 64 58 16777215 56 -1 Render project as a video using a predefined model Player and smartphone :/img/Smartphone.png:/img/Smartphone.png 24 24 Qt::ToolButtonTextUnderIcon 0 0 64 58 16777215 56 -1 Render project as a video using a predefined model Multimedia system :/img/tv.png:/img/tv.png 24 24 Qt::ToolButtonTextUnderIcon 64 58 16777215 56 -1 Render project as a video using a predefined model For the WEB :/img/Internet.png:/img/Internet.png 24 24 Qt::ToolButtonTextUnderIcon 64 58 16777215 56 -1 Render project as a lossless video Lossless :/img/Lossless.png:/img/Lossless.png 24 24 Qt::ToolButtonTextUnderIcon 0 0 64 58 16777215 56 -1 Render project as a video Advanced :/img/render.png:/img/render.png 24 24 Qt::ToolButtonTextUnderIcon 0 0 64 58 16777215 56 -1 Render sound trak of project Export Soundtrack :/img/object_sound.png:/img/object_sound.png 24 24 Qt::ToolButtonTextUnderIcon QFrame::Sunken Qt::Vertical 0 0 64 58 16777215 56 -1 Display information about ffDiaporama About :/img/ffdiaporama.png:/img/ffdiaporama.png 24 24 Qt::ToolButtonTextUnderIcon 0 0 64 58 16777215 56 -1 Call ffDiaporama WIKI Support and help :/img/help.png:/img/help.png 24 24 Qt::ToolButtonTextUnderIcon Qt::Horizontal 40 20 0 0 266 200 300 200 0 0 9 true QFrame::Box QFrame::Sunken 1 QAbstractItemView::NoEditTriggers true true QAbstractItemView::DragDrop Qt::LinkAction QAbstractItemView::ExtendedSelection QAbstractItemView::SelectItems QAbstractItemView::ScrollPerItem QAbstractItemView::ScrollPerItem false Qt::NoPen false false false false false false false false false :/img/fifteenpieces.png:/img/fifteenpieces.png 0 0 0 0 0 0 0 160 121 QFrame::NoFrame true 0 0 410 272 0 0 0 0 0 Qt::Vertical 0 0 0 0 0 0 0 Qt::Horizontal 0 20 0 0 256 256 256 256 :/img/logo_big.png true Qt::AlignCenter Qt::Horizontal 0 20 TABTooltip Qt::AlignCenter true false Qt::TextBrowserInteraction Qt::Vertical 0 0 0 0 0 0 0 0 0 21 21 21 21 Latest version number of ffDiaporama is indeterminable QToolButton { border: 1px solid #8f8f91; border-radius: 2px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #f6f7fa, stop: 1 #dadbde); } QToolButton:pressed { background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #dadbde, stop: 1 #f6f7fa); } :/img/Yellow.png:/img/Yellow.png 0 0 0 21 16777215 21 QLabel { font-size: 11px; } QFrame::StyledPanel QFrame::Raised 2 Slide: xx/xxx 0 0 0 21 16777215 21 QLabel { font-size: 11px; } QFrame::StyledPanel QFrame::Raised 2 Chapter: xx/xxx 0 0 0 21 16777215 21 QLabel { font-size: 11px; } QFrame::StyledPanel QFrame::Raised 2 Statusbar 21 21 21 21 Switch display to file explorer mode QToolButton { border: 1px solid #8f8f91; border-radius: 2px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #f6f7fa, stop: 1 #dadbde); } QToolButton:pressed { background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #dadbde, stop: 1 #f6f7fa); } :/img/FolderOpen.png:/img/FolderOpen.png 21 21 21 21 Switch display to sheet mode QToolButton { border: 1px solid #8f8f91; border-radius: 2px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #f6f7fa, stop: 1 #dadbde); } QToolButton:pressed { background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #dadbde, stop: 1 #f6f7fa); } :/img/journal.png:/img/journal.png 21 21 21 21 Switch display to preview mode QToolButton { border: 1px solid #8f8f91; border-radius: 2px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #f6f7fa, stop: 1 #dadbde); } QToolButton:pressed { background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #dadbde, stop: 1 #f6f7fa); } ... :/img/player_play.png:/img/player_play.png 21 21 21 21 Enlarge thumbnails QToolButton { border: 1px solid #8f8f91; border-radius: 2px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #f6f7fa, stop: 1 #dadbde); } QToolButton:pressed { background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #dadbde, stop: 1 #f6f7fa); } :/img/zoomup.png:/img/zoomup.png 21 21 21 21 Reduce thumbnails QToolButton { border: 1px solid #8f8f91; border-radius: 2px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #f6f7fa, stop: 1 #dadbde); } QToolButton:pressed { background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #dadbde, stop: 1 #f6f7fa); } :/img/zoomdown.png:/img/zoomdown.png :/img/fifteenpieces.png:/img/fifteenpieces.png Edit background Edit the background image for the slide :/img/edit.png:/img/edit.png Edit slide Edit the slide :/img/object_sound.png:/img/object_sound.png Edit music Edit the slide musical playlist :/img/Transitions/tr-00-01.png:/img/Transitions/tr-00-01.png Edit object transition Edit entering transition for the slide :/img/trash.png:/img/trash.png Remove Remove current slide (DEL) Del :/img/editcut.png:/img/editcut.png Cut Copy current slide to clipboard and remove it (Ctrl+X) Ctrl+X :/img/editcopy.png:/img/editcopy.png Copy Copy current slide to clipboard (Ctrl+C) Ctrl+C :/img/editpaste.png:/img/editpaste.png Paste Paste current slide from clipboard (Ctrl+V) Ctrl+V :/img/add_text.png:/img/add_text.png Add title Add an empty slide :/img/add_image.png:/img/add_image.png Add files Add image or video as slide (INS) :/img/add_project.png:/img/add_project.png Add project Add a previously saved project at the end of this project :/img/Transitions/tr-00-00.png:/img/Transitions/tr-00-00.png Remove transitions Remove transitions :/img/Transitions/tr-00-03.png:/img/Transitions/tr-00-03.png Select transitions Select transitions :/img/TimelineShots.png:/img/TimelineShots.png Set transition duration :/img/Transitions/tr-icon-error.png:/img/Transitions/tr-icon-error.png Randomize transitions Randomize transitions :/img/TimelineShots.png:/img/TimelineShots.png Set first shot duration :/img/fifteenpieces.png:/img/fifteenpieces.png Reset background to "Same as previous" :/img/object_sound.png:/img/object_sound.png Reset music to "Same as previous" Reset music to "Same as previous" :/img/transparent.png:/img/transparent.png Add an empty slide Add an empty slide :/img/AutoTS.png:/img/AutoTS.png Add a predefined title slide :/img/filesaveas.png:/img/filesaveas.png Save project as Save current project to a new project file :/img/fileexport.png:/img/fileexport.png Export project Export current project and all used files in a new folder :/img/gmap.png:/img/gmap.png Add a map Add a Google Maps map wgt_QVideoPlayer QWidget

wgt_QVideoPlayer/wgt_QVideoPlayer.h
1 cCustomSlideTable QTableWidget
MainWindow/cCustomSlideTable.h
wgt_QMultimediaBrowser QWidget
wgt_QMultimediaBrowser/wgt_QMultimediaBrowser.h
1
ffDiaporama/src/ffDiaporama/MainWindow/mainwindow.h0000777000175000001440000002030412275647326022625 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef MAINWINDOW_H #define MAINWINDOW_H // Basic inclusions (common to all files) #include "engine/_GlobalDefines.h" #include "engine/_SDL_Support.h" #include "engine/cApplicationConfig.h" #include "engine/_Diaporama.h" // Include some common various class #include "DlgWorkingTask/DlgWorkingTask.h" #include #include #include #include namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: QString ForceLanguage; bool IsFirstInitDone; // true when first show window was done bool FLAGSTOPITEMSELECTION; // Flag to stop Item Selection process in the timeline cApplicationConfig *ApplicationConfig; cDiaporama *Diaporama; int LastCount; QString TitleBar; QTime LastLogMessageTime; QStringList AliasList; bool ClipboardLock; // Flag to stop clipboard use during copy/paste operation // Variables used for actions QString FileForIO; int SavedCurIndex,CurIndex; QStringList FileList; Qt::HANDLE CurrentThreadId; bool InPlayerUpdate; DlgWorkingTask *DlgWorkingTaskDialog; bool CancelAction; int CurrentDriveCheck; // Loading operation QDomElement CurrentLoadingProjectDocument; int CurrentLoadingProjectObject; int CurrentLoadingProjectNbrObject; // Appending a project operation QString CurrentAppendingProjectName; QDomDocument CurrentAppendingProjectDocument; QDomElement CurrentAppendingRoot; int CurrentAppendingProjectObject; int CurrentAppendingProjectNbrObject; explicit MainWindow(QString ForceLanguage,QWidget *parent = 0); ~MainWindow(); void SetModifyFlag(bool IsModify); void AdjustRuller(int CurIndex=-1); void CheckVersion(); void ToStatusBar(QString Text); void SetTimelineCurrentCell(int Cell); void DoTimelineSelectionChanged(); // Timeline current item changed protected: virtual void resizeEvent(QResizeEvent *); virtual void closeEvent(QCloseEvent *); virtual void showEvent(QShowEvent *); virtual void keyReleaseEvent(QKeyEvent *event); virtual void customEvent(QEvent *); // LOG messages event private slots: void RefreshControls(); void InitWindow(); void SetTimelineHeight(); void s_CleanStatusBar(); void DoMaximized(); // Use on init to force window maximized void s_Event_SetModifyFlag(); void s_Event_RefreshDisplay(); // Event functions void s_Event_ClipboardChanged(); // Something have changed in the clipboard void s_Event_ToolbarChanged(int MenuIndex); // User change current toolbar TAB void DoCheckBUILDVERSION(QNetworkReply*); // Build version was downloaded from internet // Timeline & player void s_Event_TimelineDragMoveItem(); // Drag & drop operation in timeline void s_Event_TimelineAddDragAndDropFile(); // Add files from drag & drop (event send from timeline) void s_Event_TimelineSelectionChanged(); // Timeline current item changed void s_Event_DoubleClickedOnObject(); // Double click on widget in the object track void s_Event_DoubleClickedOnTransition(); // Double click on transition part of widget in the object track void s_Event_DoubleClickedOnBackground(); // Double click on widget in the background track void s_Event_DoubleClickedOnMusic(); // Double click on widget in the music track void s_Event_ContextualMenu(QMouseEvent *); // Right click void s_VideoPlayer_SaveImageEvent(); // Click on preview save image button // Actions small bottom right toolbar menu void s_Action_Version(); void s_Action_ZoomPlus(); void s_Action_ZoomMinus(); void s_Action_ChWindowDisplayMode_ToPlayerMode(); void s_Action_ChWindowDisplayMode_ToPartitionMode(); void s_Action_ChWindowDisplayMode_ToBrowserMode(); void s_Action_ChWindowDisplayMode(int Mode); void s_Action_ChWindowDisplayMode(); // Actions File menu void s_Action_New(); void s_Action_Open(); void s_Action_OpenRecent(); void s_Action_Save(); void s_Action_SaveAsBT(); void s_Action_SaveAs(); void s_Action_Export(); void s_Action_ProjectProperties(); void s_Action_ChangeApplicationSettings(); void s_Action_DlgCheckConfig(); void s_Action_Exit(); // Actions Project menu void s_Action_AddFile(); void s_Action_AddTitle(); void s_Action_AddEmptyTitle(); void s_Action_AddAutoTitleSlide(); void s_Action_AddGMap(); void s_Action_AddProject(); void DoAddFile(); void DoAppendFile(); void s_Action_DoUseAsPlayList(QStringList &MusicFileList,int Index); void s_Action_RemoveObject(); void s_Action_EditObject(); void s_Action_CutToClipboard(); void s_Action_CopyToClipboard(); void s_Action_PasteFromClipboard(); // Actions contextual menu (on multiple selection) void s_ActionMultiple_SetFirstShotDuration(); void s_ActionMultiple_ResetBackground(); void s_ActionMultiple_ResetMusic(); void s_ActionMultiple_RemoveTransition(); void s_ActionMultiple_SelectTransition(); void s_ActionMultiple_SetTransitionDuration(); void s_ActionMultiple_Randomize(); // Actions Render menu void s_Action_RenderVideo(); void s_Action_RenderSmartphone(); void s_Action_RenderMultimedia(); void s_Action_RenderForTheWEB(); void s_Action_RenderLossLess(); void s_Action_RenderSoundTrack(); // Actions Help menu void s_Action_About(); void s_Action_Documentation(); void s_Action_NewFunctions(); void s_Action_OpenTABHelpLink(const QString); // Do function (call by action or event function) void DoOpenFile(); void DoOpenFileObject(); void DoSaveFile(); // Browser event void s_Browser_OpenFile(); void s_Browser_AddFiles(); // To avoid multiple instance of the application void MonoInstanceSocketConnection() {} private: // Utility functions void UpdateChapterInfo(); void toolTipTowhatsThis(QObject *StartObj); bool DownloadFile(QString FileName); Ui::MainWindow *ui; QList ResKeyList; // Ressource key mapping table // To avoid multiple instance of the application QLocalSocket MonoInstanceSocket; QLocalServer MonoInstanceServer; }; #endif // MAINWINDOW_H ffDiaporama/src/ffDiaporama/MainWindow/mainwindow.cpp0000777000175000001440000053361112275647330023165 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "cCustomSlideTable.h" #include "mainwindow.h" #include "ui_mainwindow.h" #include #include #include #include #include #include #include #include #include #include #include #include "QCustomHorizSplitter.h" #include "cTextFrame.h" #include "engine/_Variables.h" #include "engine/cLocation.h" #include "HelpPopup/HelpPopup.h" #include "DlgInfoFile/DlgInfoFile.h" #include "DlgCheckConfig/DlgCheckConfig.h" #include "DlgffDPjrProperties/DlgffDPjrProperties.h" #include "DlgRenderVideo/DlgRenderVideo.h" #include "DlgAbout/DlgAbout.h" #include "DlgTransition/DlgTransitionProperties.h" #include "DlgTransition/DlgTransitionDuration.h" #include "DlgMusic/DlgMusicProperties.h" #include "DlgBackground/DlgBackgroundProperties.h" #include "DlgSlide/DlgSlideProperties.h" #include "DlgSlide/DlgSlideDuration.h" #include "DlgAppSettings/DlgApplicationSettings.h" #include "DlgManageFavorite/DlgManageFavorite.h" #include "DlgFileExplorer/DlgFileExplorer.h" #include "DlgAutoTitleSlide/DlgAutoTitleSlide.h" #include "DlgExportProject/DlgExportProject.h" #include "DlgGMapsLocation/DlgGMapsGeneration.h" #include "DlgImage/DlgImageCorrection.h" #include // Note: GUID from http://www.guidgenerator.com/online-guid-generator.aspx #define GUID_SERVERNAME "4b8b9da3-bb03-4771-a43f-90ebe9d0a3c3" //==================================================================================================================== MainWindow::MainWindow(QString ForceLanguage,QWidget *parent):QMainWindow(parent),ui(new Ui::MainWindow) { ApplicationConfig =new cApplicationConfig(this,ALLOWEDWEBLANGUAGE); CurrentThreadId =this->thread()->currentThreadId(); IsFirstInitDone =false; // true when first show window was done FLAGSTOPITEMSELECTION =false; // Flag to stop Item Selection process for delete and move of object InPlayerUpdate =false; DlgWorkingTaskDialog =NULL; CancelAction =false; CurrentDriveCheck =0; ClipboardLock =false; this->ForceLanguage =ForceLanguage; EventReceiver =this; // Connect Event Receiver so now we accept LOG messages setAcceptDrops(true); ApplicationConfig->ParentWindow=this; QTimer::singleShot(LATENCY,this,SLOT(InitWindow())); } //==================================================================================================================== void MainWindow::InitWindow() { QSplashScreen screen(QPixmap(":/img/splash.png")); screen.show(); screen.raise(); // Init database screen.showMessage(QApplication::translate("MainWindow","Init home user database..."),Qt::AlignHCenter|Qt::AlignBottom); ToLog(LOGMSG_INFORMATION,QApplication::translate("MainWindow","Init home user database...")); ApplicationConfig->Database=new cDatabase(QDir::toNativeSeparators(ApplicationConfig->UserConfigPath+"ffdiaporama.db")); ApplicationConfig->Database->ApplicationConfig=ApplicationConfig; bool IsDBCreation=!QFileInfo(ApplicationConfig->Database->dbPath).exists(); if (ApplicationConfig->Database->OpenDB()) { //==== Tables definition ApplicationConfig->Database->Tables.append(ApplicationConfig->SettingsTable =new cSettingsTable(ApplicationConfig->Database)); ApplicationConfig->Database->Tables.append(ApplicationConfig->FoldersTable =new cFolderTable(ApplicationConfig->Database)); ApplicationConfig->Database->Tables.append(ApplicationConfig->FilesTable =new cFilesTable(ApplicationConfig->Database)); ApplicationConfig->Database->Tables.append(ApplicationConfig->SlideThumbsTable=new cSlideThumbsTable(ApplicationConfig->Database)); ApplicationConfig->Database->Tables.append(ApplicationConfig->LocationTable =new cLocationTable(ApplicationConfig->Database)); ApplicationConfig->ImagesCache.FilesTable =ApplicationConfig->FilesTable; ApplicationConfig->ImagesCache.ThumbsTable=ApplicationConfig->SlideThumbsTable; //==== End of tables definition if (((!IsDBCreation)&&(!ApplicationConfig->Database->CheckDatabaseVersion()))||(!ApplicationConfig->Database->ValidateTables())) { ToLog(LOGMSG_CRITICAL,QApplication::translate("MainWindow","Error initialising home user database...")); CustomMessageBox(NULL,QMessageBox::Critical,QApplication::translate("MainWindow","Error","Error message"), QApplication::translate("MainWindow","Error initialising home user database\nffDiaporama can't start","Error message"),QMessageBox::Close); exit(1); } } // Init application config ToLog(LOGMSG_INFORMATION,QApplication::translate("MainWindow","Init translations...")); ApplicationConfig->InitConfigurationValues(ForceLanguage); // Test if another instance of ffDiaporama is already started on the computer MonoInstanceSocket.connectToServer(GUID_SERVERNAME); bool AlreadyStarted=MonoInstanceSocket.waitForConnected(2000); // No other instance reply, so try to open a server if ((!AlreadyStarted)&&(!MonoInstanceServer.listen(GUID_SERVERNAME))) { // Impossible to start new server so probably another instance crashed on this computer, then try to remove crashed server ToLog(LOGMSG_CRITICAL,QApplication::translate("MainWindow","Restore from a previous crash...")); MonoInstanceServer.removeServer(GUID_SERVERNAME); AlreadyStarted=!MonoInstanceServer.listen(GUID_SERVERNAME); } if (AlreadyStarted) { CustomMessageBox(NULL,QMessageBox::Critical,"ffDiaporama", QApplication::translate("MainWindow","Sorry, but ffDiaporama is already started on this computer and can't be started several time."), QMessageBox::Close); exit(1); } // Create MonoInstanceServer to answer to next instance connect(&MonoInstanceServer,SIGNAL(newConnection()),this,SLOT(MonoInstanceSocketConnection())); // Reset database cache of thumbnails ApplicationConfig->SlideThumbsTable->ClearTable(); // Now, we have application settings then we can init all others ui->setupUi(this); // Update logo image QPixmap LogoImg(":/img/logo_big.png"); QPainter P; QTextOption QTO; QFont Font("Serif",20,QFont::Normal,QFont::StyleItalic); QPen Pen; P.begin(&LogoImg); ScaleFontAdjust=double(P.fontMetrics().boundingRect("0").height()); P.setFont(Font); int Size =P.fontMetrics().boundingRect("99/99/9999").width(); // Size should be 150 on standard Linux and 136 on standard Windows ScreenFontAdjust =double(Size)/double(150); // Adjustement for text functions using direct font SCALINGTEXTFACTOR=int(std::floor(double(SCALINGTEXTFACTOR)*ScreenFontAdjust)); // Adjust Windows to correspond to Linux size QTO.setAlignment(Qt::AlignRight|Qt::AlignTop); QTO.setWrapMode(QTextOption::NoWrap); QTO.setTextDirection(Qt::LeftToRight); Pen.setColor(Qt::yellow); Pen.setWidth(1); Pen.setStyle(Qt::SolidLine); P.setPen(Pen); P.drawText(QRect(0,38,LogoImg.width()-10,LogoImg.height()-38),CurrentAppName,QTO); P.end(); ui->TABToolimg->setPixmap(LogoImg); ui->timeline->ApplicationConfig=ApplicationConfig; ui->preview->FLAGSTOPITEMSELECTION=&FLAGSTOPITEMSELECTION; ui->preview2->FLAGSTOPITEMSELECTION=&FLAGSTOPITEMSELECTION; ui->ToolBoxNormal->setCurrentIndex(0); Transparent.setTextureImage(QImage(":/img/transparent.png")); // Load transparent brush // Prepare title bar depending on running version TitleBar=QString(APPLICATION_NAME)+" "+CurrentAppName; if ((TitleBar.toLower().indexOf("devel")!=-1)||(TitleBar.toLower().indexOf("beta")!=-1)) TitleBar=TitleBar+QString(" - ")+CurrentAppVersion; screen.showMessage(QApplication::translate("MainWindow","Loading system icons..."),Qt::AlignHCenter|Qt::AlignBottom); ApplicationConfig->PreloadSystemIcons(); // Register SDL screen.showMessage(QApplication::translate("MainWindow","Starting SDL..."),Qt::AlignHCenter|Qt::AlignBottom); SDLFirstInit(double(1000)/double(ApplicationConfig->PreviewFPS),ApplicationConfig->SDLAudioOldMode,ApplicationConfig->PreviewSamplingRate); // Register all formats and codecs for libavformat/libavcodec/etc ... screen.showMessage(QApplication::translate("MainWindow","Starting libav..."),Qt::AlignHCenter|Qt::AlignBottom); if (!ApplicationConfig->DeviceModelList.InitLibav()) exit(1); // Register background library screen.showMessage(QApplication::translate("MainWindow","Loading background library..."),Qt::AlignHCenter|Qt::AlignBottom); ToLog(LOGMSG_INFORMATION,QApplication::translate("MainWindow","Loading background library...")); BackgroundList.ScanDisk("background",ApplicationConfig); // Register text frame library screen.showMessage(QApplication::translate("MainWindow","Loading text frame library..."),Qt::AlignHCenter|Qt::AlignBottom); ToLog(LOGMSG_INFORMATION,QApplication::translate("MainWindow","Loading text frame library...")); TextFrameList.DoPreploadList(); // Register non luma library screen.showMessage(QApplication::translate("MainWindow","Loading no-luma transitions..."),Qt::AlignHCenter|Qt::AlignBottom); ToLog(LOGMSG_INFORMATION,QApplication::translate("MainWindow","Loading no-luma transitions...")); RegisterNoLumaTransition(); // Register luma library screen.showMessage(QApplication::translate("MainWindow","Loading luma transitions..."),Qt::AlignHCenter|Qt::AlignBottom); ToLog(LOGMSG_INFORMATION,QApplication::translate("MainWindow","Loading luma transitions...")); RegisterLumaTransition(); AutoFramingDefInit(); ShapeFormDefinitionInit(); // Because now we have local installed, then we can translate drive name screen.showMessage(QApplication::translate("MainWindow","Scan drives in computer..."),Qt::AlignHCenter|Qt::AlignBottom); ToLog(LOGMSG_INFORMATION,QApplication::translate("MainWindow","Scan drives in computer...")); ApplicationConfig->DriveList=new cDriveList(ApplicationConfig); // Register models screen.showMessage(QApplication::translate("MainWindow","Register models..."),Qt::AlignHCenter|Qt::AlignBottom); ToLog(LOGMSG_INFORMATION,QApplication::translate("MainWindow","Register models...")); ApplicationConfig->ThumbnailModels=new cModelList(ApplicationConfig,ffd_MODELTYPE_THUMBNAIL,&ApplicationConfig->ThumbnailModelsNextNumber,GEOMETRY_THUMBNAIL,0,""); int Cur; for (int geo=GEOMETRY_4_3;geo<=GEOMETRY_40_17;geo++) { Cur=0; ApplicationConfig->PrjTitleModels[geo][Cur]=new cModelList(ApplicationConfig,ffd_MODELTYPE_PROJECTTITLE,&ApplicationConfig->PrjTitleModelsNextNumber[geo],(ffd_GEOMETRY)geo,Cur,QApplication::translate("cModelList","Simple titles without animation")); Cur++; ApplicationConfig->PrjTitleModels[geo][Cur]=new cModelList(ApplicationConfig,ffd_MODELTYPE_PROJECTTITLE,&ApplicationConfig->PrjTitleModelsNextNumber[geo],(ffd_GEOMETRY)geo,Cur,QApplication::translate("cModelList","Animated titles")); Cur++; //ApplicationConfig->PrjTitleModels[geo][Cur]=new cModelList(ApplicationConfig,ffd_MODELTYPE_PROJECTTITLE,&ApplicationConfig->PrjTitleModelsNextNumber[geo],(ffd_GEOMETRY)geo,Cur,QApplication::translate("cModelList","Titles dedicated to events")); Cur++; ApplicationConfig->PrjTitleModels[geo][Cur]=new cModelList(ApplicationConfig,ffd_MODELTYPE_PROJECTTITLE,&ApplicationConfig->PrjTitleModelsNextNumber[geo],(ffd_GEOMETRY)geo,9, QApplication::translate("cModelList","Custom titles")); Cur=0; ApplicationConfig->CptTitleModels[geo][Cur]=new cModelList(ApplicationConfig,ffd_MODELTYPE_CHAPTERTITLE,&ApplicationConfig->CptTitleModelsNextNumber[geo],(ffd_GEOMETRY)geo,Cur,QApplication::translate("cModelList","Simple chapter titles without animation")); Cur++; ApplicationConfig->CptTitleModels[geo][Cur]=new cModelList(ApplicationConfig,ffd_MODELTYPE_CHAPTERTITLE,&ApplicationConfig->CptTitleModelsNextNumber[geo],(ffd_GEOMETRY)geo,Cur,QApplication::translate("cModelList","Animated chapter titles")); Cur++; //ApplicationConfig->CptTitleModels[geo][Cur]=new cModelList(ApplicationConfig,ffd_MODELTYPE_CHAPTERTITLE,&ApplicationConfig->CptTitleModelsNextNumber[geo],(ffd_GEOMETRY)geo,Cur,QApplication::translate("cModelList","Chapter titles dedicated to events")); Cur++; ApplicationConfig->CptTitleModels[geo][Cur]=new cModelList(ApplicationConfig,ffd_MODELTYPE_CHAPTERTITLE,&ApplicationConfig->CptTitleModelsNextNumber[geo],(ffd_GEOMETRY)geo,9, QApplication::translate("cModelList","Custom chapter titles")); Cur=0; ApplicationConfig->CreditTitleModels[geo][Cur]=new cModelList(ApplicationConfig,ffd_MODELTYPE_CREDITTITLE,&ApplicationConfig->CreditTitleModelsNextNumber[geo],(ffd_GEOMETRY)geo,Cur,QApplication::translate("cModelList","Simple credit titles")); Cur++; ApplicationConfig->CreditTitleModels[geo][Cur]=new cModelList(ApplicationConfig,ffd_MODELTYPE_CREDITTITLE,&ApplicationConfig->CreditTitleModelsNextNumber[geo],(ffd_GEOMETRY)geo,9, QApplication::translate("cModelList","Custom credit titles")); } // Because now we have local installed, then we can translate collection style name ApplicationConfig->StyleTextCollection.DoTranslateCollection(); ApplicationConfig->StyleTextBackgroundCollection.DoTranslateCollection(); ApplicationConfig->StyleBlockShapeCollection.DoTranslateCollection(); ApplicationConfig->ImagesCache.MaxValue=ApplicationConfig->MemCacheMaxValue; // Force icon in contextual menu ui->actionAddTitle->setIconVisibleInMenu(true); ui->actionAddFiles->setIconVisibleInMenu(true); ui->actionAddProject->setIconVisibleInMenu(true); ui->actionEdit_background->setIconVisibleInMenu(true); ui->actionEdit_object->setIconVisibleInMenu(true); ui->actionEdit_music->setIconVisibleInMenu(true); ui->actionEdit_object_in_transition->setIconVisibleInMenu(true); ui->actionCut->setIconVisibleInMenu(true); ui->actionCopy->setIconVisibleInMenu(true); ui->actionPaste->setIconVisibleInMenu(true); ui->actionRemove->setIconVisibleInMenu(true); ui->actionSet_first_shot_duration->setIconVisibleInMenu(true); ui->actionReset_background->setIconVisibleInMenu(true); ui->actionReset_musictrack->setIconVisibleInMenu(true); ui->actionRemove_transition->setIconVisibleInMenu(true); ui->actionSelect_a_transition->setIconVisibleInMenu(true); ui->actionSet_transition_duration->setIconVisibleInMenu(true); ui->actionRandomize_transition->setIconVisibleInMenu(true); ui->actionAddEmptySlide->setIconVisibleInMenu(true); ui->actionAddAutoTitleSlide->setIconVisibleInMenu(true); ui->actionAddGMap->setIconVisibleInMenu(true); ui->actionSaveProjectAs->setIconVisibleInMenu(true); ui->actionExportProject->setIconVisibleInMenu(true); ui->ActionDocumentation_BT->setIcon(QApplication::style()->standardIcon(QStyle::SP_DialogHelpButton)); ui->ActionDocumentation_BT_2->setIcon(QApplication::style()->standardIcon(QStyle::SP_DialogHelpButton)); // Initialise integrated browser screen.showMessage(QApplication::translate("MainWindow","Init multimedia browser..."),Qt::AlignHCenter|Qt::AlignBottom); ApplicationConfig->DriveList->UpdateDriveList(); ui->Browser->DoInitWidget(BROWSER_TYPE_MainWindow,true,true,true,ApplicationConfig); ui->Browser->DoInitDialog(); // Initialise diaporama Diaporama=new cDiaporama(ApplicationConfig,true,this); ui->timeline->Diaporama=Diaporama; ui->preview->InitDiaporamaPlay(Diaporama); ui->preview2->InitDiaporamaPlay(Diaporama); ui->ZoomMinusBT->setEnabled(ApplicationConfig->TimelineHeight>TIMELINEMINHEIGH); ui->ZoomPlusBT->setEnabled(ApplicationConfig->TimelineHeightPopupHelp=new HelpPopup(ApplicationConfig); ApplicationConfig->PopupHelp->InitDialog(); ApplicationConfig->PopupHelp->hide(); ApplicationConfig->PopupHelp->OpenHelp("main",false); toolTipTowhatsThis(this); connect(ui->TABTooltip,SIGNAL(linkActivated(const QString)),this,SLOT(s_Action_OpenTABHelpLink(const QString))); connect(ui->ToolBoxNormal,SIGNAL(currentChanged(int)),this,SLOT(s_Event_ToolbarChanged(int))); // Help menu connect(ui->Action_About_BT,SIGNAL(released()),this,SLOT(s_Action_About())); connect(ui->Action_About_BT_2,SIGNAL(released()),this,SLOT(s_Action_About())); connect(ui->ActionDocumentation_BT,SIGNAL(released()),this,SLOT(s_Action_Documentation())); connect(ui->ActionDocumentation_BT_2,SIGNAL(released()),this,SLOT(s_Action_Documentation())); connect(ui->ActionNewFunctions_BT,SIGNAL(released()),this,SLOT(s_Action_NewFunctions())); // File menu connect(ui->Action_New_BT,SIGNAL(released()),this,SLOT(s_Action_New())); connect(ui->Action_New_BT_2,SIGNAL(released()),this,SLOT(s_Action_New())); connect(ui->Action_Open_BT,SIGNAL(released()),this,SLOT(s_Action_Open())); connect(ui->Action_Open_BT_2,SIGNAL(released()),this,SLOT(s_Action_Open())); connect(ui->Action_OpenRecent_BT,SIGNAL(pressed()),this,SLOT(s_Action_OpenRecent())); connect(ui->Action_OpenRecent_BT_2,SIGNAL(pressed()),this,SLOT(s_Action_OpenRecent())); connect(ui->Action_Save_BT,SIGNAL(released()),this,SLOT(s_Action_Save())); connect(ui->Action_Save_BT_2,SIGNAL(released()),this,SLOT(s_Action_Save())); connect(ui->ActionSave_as_BT,SIGNAL(released()),this,SLOT(s_Action_SaveAsBT())); connect(ui->ActionSave_as_BT_2,SIGNAL(released()),this,SLOT(s_Action_SaveAsBT())); connect(ui->Action_PrjProperties_BT,SIGNAL(released()),this,SLOT(s_Action_ProjectProperties())); connect(ui->Action_PrjProperties_BT_2,SIGNAL(released()),this,SLOT(s_Action_ProjectProperties())); connect(ui->ActionConfiguration_BT,SIGNAL(released()),this,SLOT(s_Action_ChangeApplicationSettings())); connect(ui->ActionConfiguration_BT_2,SIGNAL(released()),this,SLOT(s_Action_ChangeApplicationSettings())); connect(ui->actionSaveProjectAs,SIGNAL(triggered()),this,SLOT(s_Action_SaveAs())); connect(ui->actionExportProject,SIGNAL(triggered()),this,SLOT(s_Action_Export())); // Project menu connect(ui->ActionAdd_BT,SIGNAL(released()),this,SLOT(s_Action_AddFile())); connect(ui->ActionAdd_BT_2,SIGNAL(released()),this,SLOT(s_Action_AddFile())); connect(ui->actionAddFiles,SIGNAL(triggered()),this,SLOT(s_Action_AddFile())); connect(ui->ActionAddtitle_BT,SIGNAL(pressed()),this,SLOT(s_Action_AddTitle())); connect(ui->ActionAddtitle_BT_2,SIGNAL(pressed()),this,SLOT(s_Action_AddTitle())); connect(ui->actionAddTitle,SIGNAL(triggered()),this,SLOT(s_Action_AddTitle())); connect(ui->actionAddEmptySlide,SIGNAL(triggered()),this,SLOT(s_Action_AddEmptyTitle())); connect(ui->actionAddAutoTitleSlide,SIGNAL(triggered()),this,SLOT(s_Action_AddAutoTitleSlide())); connect(ui->actionAddGMap,SIGNAL(triggered()),this,SLOT(s_Action_AddGMap())); connect(ui->ActionAddProject_BT,SIGNAL(released()),this,SLOT(s_Action_AddProject())); connect(ui->ActionAddProject_BT_2,SIGNAL(released()),this,SLOT(s_Action_AddProject())); connect(ui->actionAddProject,SIGNAL(triggered()),this,SLOT(s_Action_AddProject())); connect(ui->ActionRemove_BT,SIGNAL(released()),this,SLOT(s_Action_RemoveObject())); connect(ui->ActionRemove_BT_2,SIGNAL(released()),this,SLOT(s_Action_RemoveObject())); connect(ui->actionRemove,SIGNAL(triggered()),this,SLOT(s_Action_RemoveObject())); connect(ui->ActionCut_BT,SIGNAL(released()),this,SLOT(s_Action_CutToClipboard())); connect(ui->ActionCut_BT_2,SIGNAL(released()),this,SLOT(s_Action_CutToClipboard())); connect(ui->actionCut,SIGNAL(triggered()),this,SLOT(s_Action_CutToClipboard())); connect(ui->ActionCopy_BT,SIGNAL(released()),this,SLOT(s_Action_CopyToClipboard())); connect(ui->ActionCopy_BT_2,SIGNAL(released()),this,SLOT(s_Action_CopyToClipboard())); connect(ui->actionCopy,SIGNAL(triggered()),this,SLOT(s_Action_CopyToClipboard())); connect(ui->ActionPaste_BT,SIGNAL(released()),this,SLOT(s_Action_PasteFromClipboard())); connect(ui->ActionPaste_BT_2,SIGNAL(released()),this,SLOT(s_Action_PasteFromClipboard())); connect(ui->actionPaste,SIGNAL(triggered()),this,SLOT(s_Action_PasteFromClipboard())); connect(ui->ActionEdit_BT,SIGNAL(pressed()),this,SLOT(s_Action_EditObject())); connect(ui->ActionEdit_BT_2,SIGNAL(pressed()),this,SLOT(s_Action_EditObject())); // Exit button connect(ui->Action_Exit_BT,SIGNAL(released()),this,SLOT(s_Action_Exit())); connect(ui->Action_Exit_BT_2,SIGNAL(released()),this,SLOT(s_Action_Exit())); connect(ui->Action_Exit_BT_3,SIGNAL(released()),this,SLOT(s_Action_Exit())); connect(ui->Action_Exit_BT_4,SIGNAL(released()),this,SLOT(s_Action_Exit())); connect(ui->Action_Exit_BT_5,SIGNAL(released()),this,SLOT(s_Action_Exit())); connect(QApplication::clipboard(),SIGNAL(dataChanged()),this,SLOT(s_Event_ClipboardChanged())); connect(ui->actionEdit_background,SIGNAL(triggered()),this,SLOT(s_Event_DoubleClickedOnBackground())); connect(ui->actionEdit_object,SIGNAL(triggered()),this,SLOT(s_Event_DoubleClickedOnObject())); connect(ui->actionEdit_object_in_transition,SIGNAL(triggered()),this,SLOT(s_Event_DoubleClickedOnTransition())); connect(ui->actionEdit_music,SIGNAL(triggered()),this,SLOT(s_Event_DoubleClickedOnMusic())); connect(ui->actionSet_first_shot_duration,SIGNAL(triggered()),this,SLOT(s_ActionMultiple_SetFirstShotDuration())); connect(ui->actionReset_background,SIGNAL(triggered()),this,SLOT(s_ActionMultiple_ResetBackground())); connect(ui->actionReset_musictrack,SIGNAL(triggered()),this,SLOT(s_ActionMultiple_ResetMusic())); connect(ui->actionRemove_transition,SIGNAL(triggered()),this,SLOT(s_ActionMultiple_RemoveTransition())); connect(ui->actionSelect_a_transition,SIGNAL(triggered()),this,SLOT(s_ActionMultiple_SelectTransition())); connect(ui->actionSet_transition_duration,SIGNAL(triggered()),this,SLOT(s_ActionMultiple_SetTransitionDuration())); connect(ui->actionRandomize_transition,SIGNAL(triggered()),this,SLOT(s_ActionMultiple_Randomize())); // Render menu connect(ui->ActionRender_BT,SIGNAL(released()),this,SLOT(s_Action_RenderVideo())); connect(ui->ActionRender_BT_2,SIGNAL(released()),this,SLOT(s_Action_RenderVideo())); connect(ui->ActionSmartphone_BT,SIGNAL(released()),this,SLOT(s_Action_RenderSmartphone())); connect(ui->ActionSmartphone_BT_2,SIGNAL(released()),this,SLOT(s_Action_RenderSmartphone())); connect(ui->ActionMultimedia_BT,SIGNAL(released()),this,SLOT(s_Action_RenderMultimedia())); connect(ui->ActionMultimedia_BT_2,SIGNAL(released()),this,SLOT(s_Action_RenderMultimedia())); connect(ui->ActionForTheWEB_BT,SIGNAL(released()),this,SLOT(s_Action_RenderForTheWEB())); connect(ui->ActionForTheWEB_BT_2,SIGNAL(released()),this,SLOT(s_Action_RenderForTheWEB())); connect(ui->ActionLossLess_BT,SIGNAL(released()),this,SLOT(s_Action_RenderLossLess())); connect(ui->ActionLossLess_BT_2,SIGNAL(released()),this,SLOT(s_Action_RenderLossLess())); connect(ui->ActionSoundtrack_BT,SIGNAL(released()),this,SLOT(s_Action_RenderSoundTrack())); connect(ui->ActionSoundtrack_BT_2,SIGNAL(released()),this,SLOT(s_Action_RenderSoundTrack())); // Timeline connect(ui->VersionBT,SIGNAL(released()),this,SLOT(s_Action_Version())); connect(ui->ZoomPlusBT,SIGNAL(released()),this,SLOT(s_Action_ZoomPlus())); connect(ui->ZoomMinusBT,SIGNAL(released()),this,SLOT(s_Action_ZoomMinus())); connect(ui->timeline,SIGNAL(itemSelectionChanged()),this,SLOT(s_Event_TimelineSelectionChanged())); connect(ui->timeline,SIGNAL(DragMoveItem()),this,SLOT(s_Event_TimelineDragMoveItem())); connect(ui->timeline,SIGNAL(DoAddDragAndDropFile()),this,SLOT(s_Event_TimelineAddDragAndDropFile())); connect(ui->timeline,SIGNAL(EditBackground()),((MainWindow *)ApplicationConfig->TopLevelWindow),SLOT(s_Event_DoubleClickedOnBackground())); connect(ui->timeline,SIGNAL(EditMediaObject()),((MainWindow *)ApplicationConfig->TopLevelWindow),SLOT(s_Event_DoubleClickedOnObject())); connect(ui->timeline,SIGNAL(EditTransition()),((MainWindow *)ApplicationConfig->TopLevelWindow),SLOT(s_Event_DoubleClickedOnTransition())); connect(ui->timeline,SIGNAL(EditMusicTrack()),((MainWindow *)ApplicationConfig->TopLevelWindow),SLOT(s_Event_DoubleClickedOnMusic())); connect(ui->PartitionBT,SIGNAL(released()),this,SLOT(s_Action_ChWindowDisplayMode_ToPlayerMode())); connect(ui->Partition2BT,SIGNAL(released()),this,SLOT(s_Action_ChWindowDisplayMode_ToPartitionMode())); connect(ui->Partition3BT,SIGNAL(released()),this,SLOT(s_Action_ChWindowDisplayMode_ToBrowserMode())); // Contextual menu connect(ui->timeline,SIGNAL(RightClickEvent(QMouseEvent *)),this,SLOT(s_Event_ContextualMenu(QMouseEvent *))); connect(ui->preview,SIGNAL(RightClickEvent(QMouseEvent *)),this,SLOT(s_Event_ContextualMenu(QMouseEvent *))); connect(ui->preview2,SIGNAL(RightClickEvent(QMouseEvent *)),this,SLOT(s_Event_ContextualMenu(QMouseEvent *))); // double click connect(ui->preview,SIGNAL(DoubleClick()),this,SLOT(s_Event_DoubleClickedOnObject())); connect(ui->preview2,SIGNAL(DoubleClick()),this,SLOT(s_Event_DoubleClickedOnObject())); // Save image event connect(ui->preview,SIGNAL(SaveImageEvent()),this,SLOT(s_VideoPlayer_SaveImageEvent())); connect(ui->preview2,SIGNAL(SaveImageEvent()),this,SLOT(s_VideoPlayer_SaveImageEvent())); // Browser event connect(ui->Browser,SIGNAL(DoRefreshControls()),this,SLOT(RefreshControls())); connect(ui->Browser,SIGNAL(DoOpenFile()),this,SLOT(s_Browser_OpenFile())); connect(ui->Browser,SIGNAL(DoAddFiles()),this,SLOT(s_Browser_AddFiles())); // Some other init LastLogMessageTime=QTime::currentTime(); ui->StatusBar_SlideNumber->setText(QApplication::translate("MainWindow","Slide: ")+"0/0"); ui->StatusBar_ChapterNumber->setText(QApplication::translate("MainWindow","Chapter: ")+"0/0"); s_Event_ToolbarChanged(0); ToStatusBar(""); SetModifyFlag(false); // Setup title window and do first RefreshControls(); s_Event_ClipboardChanged(); // Setup clipboard button state QString WindowStateString; qlonglong TypeWindowState=TypeWindowState_withsplitterpos; if (ApplicationConfig->SettingsTable->GetIntAndTextValue("MainWindow",&TypeWindowState,&WindowStateString)) { QDomDocument domDocument; QString errorStr; int errorLine,errorColumn; if (!domDocument.setContent(WindowStateString,true,&errorStr,&errorLine,&errorColumn)) { ToLog(LOGMSG_CRITICAL,QApplication::translate("MainWindow","Error reading window state of %1 from home user database","Error message").arg(objectName())); } else { cSaveWinWithSplitterPos DlgWSP("MainWindow",ApplicationConfig->RestoreWindow,true); DlgWSP.LoadFromXML(domDocument.documentElement()); if (DlgWSP.IsInit) { DlgWSP.ApplyToWindow(this,ui->Browser->GetSplitter()); if (DlgWSP.IsMaximized) QTimer::singleShot(LATENCY,this,SLOT(DoMaximized())); } } } show(); QApplication::processEvents(); s_Action_ChWindowDisplayMode(); if (ApplicationConfig->CheckConfigAtStartup) QTimer::singleShot(LATENCY,this,SLOT(s_Action_DlgCheckConfig())); if (FileForIO!="") QTimer::singleShot(LATENCY,this,SLOT(DoOpenFile())); } //==================================================================================================================== // Function use to duplicate toolTip properties of all child object to whatsThis properties void MainWindow::toolTipTowhatsThis(QObject *StartObj) { if (StartObj->property("toolTip").toString()!="") { StartObj->setProperty("whatsThis",StartObj->property("toolTip").toString()); if (ApplicationConfig->DisableTooltips) StartObj->setProperty("toolTip",""); } else if ((!ApplicationConfig->DisableTooltips)&&(StartObj->property("toolTip").toString()=="")&&(StartObj->property("whatsThis").toString()!="")) StartObj->setProperty("toolTip",StartObj->property("whatsThis").toString()); for (int i=0;ichildren().count();i++) toolTipTowhatsThis(StartObj->children().at(i)); } //==================================================================================================================== MainWindow::~MainWindow() { SDLLastClose(); delete ui; delete Diaporama; delete ApplicationConfig; // Close some libav additionnals #if defined(LIBAV) || (defined(FFMPEG)&&(FFMPEGVERSIONINT<201)) avfilter_uninit(); #endif avformat_network_deinit(); // Close Mono Instance Server MonoInstanceServer.close(); } //==================================================================================================================== void MainWindow::customEvent(QEvent *event) { if (event->type()!=BaseAppEvent) QMainWindow::customEvent(event); else while (!EventList.isEmpty()) { QString Event =EventList.takeFirst(); int EventType =((QString)(Event.split("###;###")[0])).toInt(); QString EventParam =Event.split("###;###")[1]; if (EventType==EVENT_GeneralLogChanged) { //int MessageType =((QString)EventParam.split("###:###")[0]).toInt(); QString Message =EventParam.split("###:###")[1]; //QString EventSource =EventParam.split("###:###")[2]; ToStatusBar(Message); LastLogMessageTime=QTime::currentTime(); QTimer::singleShot(1000,this,SLOT(s_CleanStatusBar())); } } } //==================================================================================================================== void MainWindow::s_CleanStatusBar() { if (LastLogMessageTime.msecsTo(QTime::currentTime())>=500) ToStatusBar(""); //LastLogMessageTime=QTime::currentTime(); } //==================================================================================================================== void MainWindow::keyReleaseEvent(QKeyEvent *event) { bool Find=true; if (!event->isAutoRepeat()) { if (event->matches(QKeySequence::Quit)) s_Action_Exit(); else if (event->matches(QKeySequence::New)) s_Action_New(); else if (event->matches(QKeySequence::Open)) s_Action_Open(); else if (event->matches(QKeySequence::Save)) s_Action_Save(); else if (event->matches(QKeySequence::SaveAs)) s_Action_SaveAs(); else if (event->matches(QKeySequence::Copy)) s_Action_CopyToClipboard(); else if (event->matches(QKeySequence::Cut)) s_Action_CutToClipboard(); else if (event->matches(QKeySequence::Paste)) s_Action_PasteFromClipboard(); else if (event->matches(QKeySequence::Delete)) s_Action_RemoveObject(); //else if (event->matches(QKeySequence::ZoomIn)) s_Action_ZoomPlus(); //else if (event->matches(QKeySequence::ZoomOut)) s_Action_ZoomMinus(); else if (event->key()==Qt::Key_Insert) s_Action_AddFile(); else if (event->key()==Qt::Key_F1) s_Action_Documentation(); else if (event->key()==Qt::Key_F5) ui->Browser->RefreshAll(); else if (event->key()==Qt::Key_F6) s_Event_DoubleClickedOnObject(); else if (event->key()==Qt::Key_F7) s_Event_DoubleClickedOnMusic(); else if (event->key()==Qt::Key_F8) s_Event_DoubleClickedOnTransition(); else Find=false; if (!Find) { if ((ui->preview->hasFocus())||(ui->preview2->hasFocus())||(ui->timeline->hasFocus())) ui->timeline->dokeyReleaseEvent(event); else QMainWindow::keyReleaseEvent(event); } } } //==================================================================================================================== void MainWindow::ToStatusBar(QString Text) { if (IsFirstInitDone) ui->StatusBar_General->setText(Text); } //==================================================================================================================== void MainWindow::UpdateChapterInfo() { QString ChapterNum="Chapter_000:"; QList Chapter; Diaporama->UpdateChapterInformation(); for (int i=0;iProjectInfo->NbrChapters;i++) { ChapterNum=QString("%1").arg(i); while (ChapterNum.length()<3) ChapterNum="0"+ChapterNum; ChapterNum="Chapter_"+ChapterNum+":"; Chapter.append(GetInformationValue(ChapterNum+"InSlide",&Diaporama->ProjectInfo->ChaptersProperties).toInt()); } if (Chapter.count()==0) { Diaporama->CurrentChapter=-1; Diaporama->CurrentChapterName=""; ui->StatusBar_ChapterNumber->setText(QApplication::translate("MainWindow","Chapter: ")+QString("0/0")); } else { Diaporama->CurrentChapter=1; while ((Diaporama->CurrentChapterCurrentCol+1)>=Chapter.at(Diaporama->CurrentChapter))) Diaporama->CurrentChapter++; ChapterNum=QString("%1").arg(Diaporama->CurrentChapter-1); while (ChapterNum.length()<3) ChapterNum="0"+ChapterNum; ChapterNum="Chapter_"+ChapterNum+":"; Diaporama->CurrentChapterName=GetInformationValue(ChapterNum+"title",&Diaporama->ProjectInfo->ChaptersProperties); ui->StatusBar_ChapterNumber->setText(QApplication::translate("MainWindow","Chapter: ")+QString("%1/%2 [%3]").arg(Diaporama->CurrentChapter).arg(Diaporama->ProjectInfo->NbrChapters).arg(Diaporama->CurrentChapterName)); } ToStatusBar(""); } //==================================================================================================================== void MainWindow::SetTimelineHeight() { int H,W,RW; switch (ApplicationConfig->WindowDisplayMode) { case DISPLAYWINDOWMODE_PLAYER: ApplicationConfig->PartitionMode=false; ui->Browser->setVisible(false); ui->ToolBoxPartition->setVisible(false); ui->preview2->setVisible(false); ui->scrollArea->setVisible(true); ui->ToolBoxNormal->setVisible(true); ui->TABTooltip->setVisible(true); ui->TABToolimg->setVisible(true); ui->PartitionBT->setDown(true); ui->PartitionBT->setEnabled(false); ui->Partition2BT->setEnabled(true); ui->Partition3BT->setEnabled(true); ui->preview->setVisible(true); H=this->geometry().height()-ui->ToolBoxNormal->height()-ui->timeline->height()-ui->StatusBar_General->height(); W=Diaporama->GetWidthForHeight(H); ui->preview->setFixedHeight(H); ui->preview->setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Expanding); ui->preview->setFixedWidth(W); QApplication::processEvents(); RW=this->width()-ui->scrollArea->width(); if (W>RW) ui->preview->setFixedWidth(RW); break; case DISPLAYWINDOWMODE_PARTITION: ApplicationConfig->PartitionMode=true; ui->Browser->setVisible(false); ui->scrollArea->setVisible(false); ui->ToolBoxPartition->setVisible(true); ui->ToolBoxNormal->setVisible(false); ui->preview->setVisible(false); ui->preview2->setVisible(true); ui->preview2->setFixedWidth(Diaporama->GetWidthForHeight(ui->preview2->height()-ui->preview2->GetButtonBarHeight())); ui->TABTooltip->setVisible(false); ui->TABToolimg->setVisible(false); ui->Partition2BT->setDown(true); ui->PartitionBT->setEnabled(true); ui->Partition2BT->setEnabled(false); ui->Partition3BT->setEnabled(true); break; case DISPLAYWINDOWMODE_BROWSER: ApplicationConfig->PartitionMode=false; ui->Browser->setVisible(true); ui->scrollArea->setVisible(false); ui->ToolBoxPartition->setVisible(true); ui->ToolBoxNormal->setVisible(false); ui->preview->setVisible(false); ui->preview2->setVisible(true); ui->preview2->setFixedWidth(Diaporama->GetWidthForHeight(ui->preview2->height()-ui->preview2->GetButtonBarHeight())); ui->TABTooltip->setVisible(false); ui->TABToolimg->setVisible(false); ui->Partition3BT->setDown(true); ui->PartitionBT->setEnabled(true); ui->Partition2BT->setEnabled(true); ui->Partition3BT->setEnabled(false); break; } } //==================================================================================================================== void MainWindow::closeEvent(QCloseEvent *Event) { ui->preview->SetPlayerToPause(); // Ensure player is stop ui->preview2->SetPlayerToPause(); // Ensure player is stop if (Diaporama->IsModify) { int Bt=CustomMessageBox(this,QMessageBox::Question,QApplication::translate("MainWindow","Close application"),QApplication::translate("MainWindow","Want to save the project before closing?"), QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel, QMessageBox::Yes); if (Bt==QMessageBox::Yes) s_Action_Save(); if (Bt==QMessageBox::Cancel) { Event->setAccepted(false); return; } } QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); ApplicationConfig->PopupHelp->close(); if (ApplicationConfig->RestoreWindow) { cSaveWinWithSplitterPos DlgWSP("MainWindow",ApplicationConfig->RestoreWindow,true); DlgWSP.SaveWindowState(this,ui->Browser->GetSplitter()); if (isMaximized()) { DlgWSP.IsMaximized=true; showNormal(); QApplication::processEvents(QEventLoop::ExcludeUserInputEvents); } else DlgWSP.IsMaximized=false; if (isMinimized()) { showNormal(); QApplication::processEvents(QEventLoop::ExcludeUserInputEvents); } QDomDocument domDocument; QDomElement root=domDocument.createElement("WindowState"); domDocument.appendChild(root); DlgWSP.SaveToXML(root); ApplicationConfig->SettingsTable->SetIntAndTextValue("MainWindow",TypeWindowState_withsplitterpos,domDocument.toString()); } ApplicationConfig->SaveConfigurationFile(); QApplication::restoreOverrideCursor(); } //==================================================================================================================== void MainWindow::resizeEvent(QResizeEvent *) { ui->preview->SetPlayerToPause(); // Ensure player is stop ui->preview2->SetPlayerToPause(); // Ensure player is stop SetTimelineHeight(); ui->timeline->SetTimelineHeight(ApplicationConfig->PartitionMode); } //==================================================================================================================== void MainWindow::showEvent(QShowEvent *) { if (!IsFirstInitDone) { IsFirstInitDone=true; // do this only one time // Check BUILDVERSION to propose to the user to upgrade the application if a new one is available on internet // Start a network process to give last ffdiaporama version from internet web site QNetworkAccessManager *mNetworkManager=ApplicationConfig->GetNetworkAccessManager(this); connect(mNetworkManager,SIGNAL(finished(QNetworkReply*)),this,SLOT(DoCheckBUILDVERSION(QNetworkReply*))); QUrl url(BUILDVERSION_WEBURL); mNetworkManager->get(QNetworkRequest(url)); // Set player size and pos SetTimelineHeight(); ui->timeline->SetTimelineHeight(ApplicationConfig->PartitionMode); } } //==================================================================================================================== void MainWindow::DoMaximized() { showMaximized(); } //==================================================================================================================== // Function use when reading BUILDVERSION from WEB Site //==================================================================================================================== void MainWindow::s_Action_Version() { CustomMessageBox(this,QMessageBox::Information,APPLICATION_NAME,ui->VersionBT->toolTip()); } void MainWindow::DoCheckBUILDVERSION(QNetworkReply* reply) { QString InternetBUILDVERSION; if (reply->error()==QNetworkReply::NoError) { int httpstatuscode=reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toUInt(); if ((httpstatuscode>=200)&&(httpstatuscode<300)&&(reply->isReadable())) { InternetBUILDVERSION=QString::fromUtf8(reply->readAll().data()); if (InternetBUILDVERSION.endsWith("\n")) InternetBUILDVERSION=InternetBUILDVERSION.left(InternetBUILDVERSION.length()-QString("\n").length()); while (InternetBUILDVERSION.endsWith(" ")) InternetBUILDVERSION=InternetBUILDVERSION.left(InternetBUILDVERSION.length()-1); if (InternetBUILDVERSION.lastIndexOf(" ")) InternetBUILDVERSION=InternetBUILDVERSION.mid(InternetBUILDVERSION.lastIndexOf(" ")+1); int CurrentVersion =CurrentAppVersion.toInt(); int InternetVersion=InternetBUILDVERSION.toInt(); if (InternetVersion>CurrentVersion) { InternetBUILDVERSION=QApplication::translate("MainWindow","A new release is available from WEB site. Please update from http://ffdiaporama.tuxfamily.org !"); ui->VersionBT->setIcon(QIcon(":/img/Red.png")); ui->VersionBT->setToolTip(InternetBUILDVERSION); if ((ApplicationConfig->OpenWEBNewVersion)&& (CustomMessageBox(this,QMessageBox::Question,APPLICATION_NAME, QApplication::translate("MainWindow","A new version is available from WEB site.\nDo you want to download it now?"), QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::Yes)) { QDesktopServices::openUrl(QUrl(QString(DOWNLOADPAGE).arg(ApplicationConfig->GetValideWEBLanguage(ApplicationConfig->CurrentLanguage)))); } } else { InternetBUILDVERSION=""; ui->VersionBT->setIcon(QIcon(":/img/Green.png")); ui->VersionBT->setToolTip(QApplication::translate("MainWindow","Your version of %1 is up to day").arg(APPLICATION_NAME)); } } else InternetBUILDVERSION=""; } else InternetBUILDVERSION=""; ToStatusBar(InternetBUILDVERSION); reply->deleteLater(); } //==================================================================================================================== void MainWindow::RefreshControls() { bool IsMultipleSelection=ui->timeline->IsMultipleSelection(); // Timeline actions ui->ActionRemove_BT->setEnabled(Diaporama->List.count()>0); ui->ActionRemove_BT_2->setEnabled(Diaporama->List.count()>0); ui->actionRemove->setEnabled(Diaporama->List.count()>0); ui->ActionEdit_BT->setEnabled(Diaporama->List.count()>0); ui->ActionEdit_BT_2->setEnabled(Diaporama->List.count()>0); ui->ZoomMinusBT->setEnabled((Diaporama->List.count()>0)&&(ApplicationConfig->TimelineHeight>TIMELINEMINHEIGH)); ui->ZoomPlusBT->setEnabled((Diaporama->List.count()>0)&&(ApplicationConfig->TimelineHeightAction_Save_BT->setEnabled(Diaporama->IsModify); ui->Action_Save_BT_2->setEnabled(Diaporama->IsModify); ui->ActionSave_as_BT->setEnabled(Diaporama->List.count()>0); ui->ActionSave_as_BT_2->setEnabled(Diaporama->List.count()>0); ui->Action_OpenRecent_BT->setEnabled(ApplicationConfig->RecentFile.count()>0); ui->Action_OpenRecent_BT_2->setEnabled(ApplicationConfig->RecentFile.count()>0); // Project menu ui->actionEdit_background->setEnabled(!IsMultipleSelection && (Diaporama->List.count()>0)); ui->actionEdit_object->setEnabled(!IsMultipleSelection && (Diaporama->List.count()>0)); ui->actionEdit_object_in_transition->setEnabled(!IsMultipleSelection && (Diaporama->List.count()>0)); ui->actionEdit_music->setEnabled(!IsMultipleSelection && (Diaporama->List.count()>0)); // Clipboard_Object ui->ActionCopy_BT->setEnabled(ui->timeline->CurrentSelected()>=0); ui->ActionCopy_BT_2->setEnabled(ui->timeline->CurrentSelected()>=0); ui->actionCopy->setEnabled(ui->timeline->CurrentSelected()>=0); ui->ActionCut_BT->setEnabled(ui->timeline->CurrentSelected()>=0); ui->ActionCut_BT_2->setEnabled(ui->timeline->CurrentSelected()>=0); ui->actionCut->setEnabled(ui->timeline->CurrentSelected()>=0); // Render menu ui->ActionRender_BT->setEnabled(Diaporama->List.count()>0); ui->ActionRender_BT_2->setEnabled(Diaporama->List.count()>0); ui->ActionSmartphone_BT->setEnabled(Diaporama->List.count()>0); ui->ActionSmartphone_BT_2->setEnabled(Diaporama->List.count()>0); ui->ActionMultimedia_BT->setEnabled(Diaporama->List.count()>0); ui->ActionMultimedia_BT_2->setEnabled(Diaporama->List.count()>0); ui->ActionForTheWEB_BT->setEnabled(Diaporama->List.count()>0); ui->ActionForTheWEB_BT_2->setEnabled(Diaporama->List.count()>0); ui->ActionSoundtrack_BT->setEnabled(Diaporama->List.count()>0); ui->ActionSoundtrack_BT_2->setEnabled(Diaporama->List.count()>0); ui->ActionLossLess_BT->setEnabled((Diaporama->List.count()>0)&&(AUDIOCODECDEF[7].IsFind)&&(VIDEOCODECDEF[8].IsFind)&&(FORMATDEF[2].IsFind)); ui->ActionLossLess_BT_2->setEnabled((Diaporama->List.count()>0)&&(AUDIOCODECDEF[7].IsFind)&&(VIDEOCODECDEF[8].IsFind)&&(FORMATDEF[2].IsFind)); // Browser ui->Browser->RefreshControls(false); // StatusBar ui->StatusBar_SlideNumber->setText(QApplication::translate("MainWindow","Slide: ")+QString("%1/%2").arg(Diaporama->List.count()>0?Diaporama->CurrentCol+1:0).arg(Diaporama->List.count())); } //==================================================================================================================== void MainWindow::SetModifyFlag(bool IsModify) { Diaporama->IsModify=IsModify; this->setWindowTitle(TitleBar+QString("-")+ (Diaporama->ProjectFileName!=""?Diaporama->ProjectFileName:QApplication::translate("MainWindow","","when project have no name define"))+ (Diaporama->IsModify?"*":"")); RefreshControls(); Diaporama->UpdateInformation(); } void MainWindow::s_Event_SetModifyFlag() { SetModifyFlag(true); } //==================================================================================================================== void MainWindow::SetTimelineCurrentCell(int Cell) { int OldCurrentCol=Diaporama->CurrentCol; ui->timeline->SetCurrentCell(Cell); if (OldCurrentCol!=Diaporama->CurrentCol) UpdateChapterInfo(); } //==================================================================================================================== void MainWindow::s_Action_About() { ui->Action_About_BT->setDown(false); ui->Action_About_BT_2->setDown(false); DlgAbout Dlg(ApplicationConfig,this); Dlg.InitDialog(); Dlg.exec(); } //==================================================================================================================== void MainWindow::s_Action_DlgCheckConfig() { DlgCheckConfig Dlg(ApplicationConfig,this); Dlg.InitDialog(); Dlg.exec(); } //==================================================================================================================== void MainWindow::s_Action_Documentation() { ui->ActionDocumentation_BT->setDown(false); ui->ActionDocumentation_BT_2->setDown(false); ApplicationConfig->PopupHelp->OpenHelp("main",true); } //==================================================================================================================== void MainWindow::s_Action_NewFunctions() { ui->ActionNewFunctions_BT->setDown(false); QDesktopServices::openUrl(QUrl(QString(HELPFILE_CAT).arg(HELPFILE_NEWS).arg(ApplicationConfig->GetValideWEBLanguage(ApplicationConfig->CurrentLanguage)))); } //==================================================================================================================== void MainWindow::s_Action_Exit() { ui->preview->SetPlayerToPause(); // Ensure player is stop ui->preview2->SetPlayerToPause(); // Ensure player is stop if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display QTimer::singleShot(LATENCY,this,SLOT(s_Action_Exit())); return; } ui->Browser->EnsureThreadIsStopped(); close(); } //==================================================================================================================== void MainWindow::s_Action_ZoomPlus() { ui->preview->SetPlayerToPause(); // Ensure player is stop ui->preview2->SetPlayerToPause(); // Ensure player is stop if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display QTimer::singleShot(LATENCY,this,SLOT(s_Action_ZoomPlus())); return; } if (ui->timeline->rowHeight(0)TimelineHeight+=20; if (ApplicationConfig->TimelineHeight>TIMELINEMAXHEIGH) ApplicationConfig->TimelineHeight=TIMELINEMAXHEIGH; SetTimelineHeight(); ui->timeline->SetTimelineHeight(ApplicationConfig->PartitionMode); } RefreshControls(); } //==================================================================================================================== void MainWindow::s_Action_ZoomMinus() { ui->preview->SetPlayerToPause(); // Ensure player is stop ui->preview2->SetPlayerToPause(); // Ensure player is stop if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display QTimer::singleShot(LATENCY,this,SLOT(s_Action_ZoomMinus())); return; } if (ui->timeline->rowHeight(0)>TIMELINEMINHEIGH) { ApplicationConfig->TimelineHeight-=20; if (ApplicationConfig->TimelineHeightTimelineHeight=TIMELINEMINHEIGH; SetTimelineHeight(); ui->timeline->SetTimelineHeight(ApplicationConfig->PartitionMode); } RefreshControls(); } //==================================================================================================================== void MainWindow::s_Action_ChWindowDisplayMode_ToPlayerMode() { s_Action_ChWindowDisplayMode(DISPLAYWINDOWMODE_PLAYER); } //==================================================================================================================== void MainWindow::s_Action_ChWindowDisplayMode_ToPartitionMode() { s_Action_ChWindowDisplayMode(DISPLAYWINDOWMODE_PARTITION); } //==================================================================================================================== void MainWindow::s_Action_ChWindowDisplayMode_ToBrowserMode() { s_Action_ChWindowDisplayMode(DISPLAYWINDOWMODE_BROWSER); } //==================================================================================================================== void MainWindow::s_Action_ChWindowDisplayMode(int Mode) { if (ApplicationConfig->WindowDisplayMode!=Mode) { ApplicationConfig->WindowDisplayMode=Mode; s_Action_ChWindowDisplayMode(); } } void MainWindow::s_Action_ChWindowDisplayMode() { ui->preview->SetPlayerToPause(); // Ensure player is stop ui->preview2->SetPlayerToPause(); // Ensure player is stop if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display QTimer::singleShot(LATENCY,this,SLOT(s_Action_ChWindowDisplayMode())); return; } int Selected=ui->timeline->CurrentSelected(); // Save current seleted item SetTimelineHeight(); ui->timeline->SetTimelineHeight(ApplicationConfig->PartitionMode); // Re-select previous current seleted item if ((Selected>=0)&&(SelectedList.count())) ui->timeline->SetCurrentCell(Selected); (ApplicationConfig->WindowDisplayMode==DISPLAYWINDOWMODE_PLAYER?ui->preview:ui->preview2)->SeekPlayer(Diaporama->GetObjectStartPosition(Diaporama->CurrentCol)+Diaporama->GetTransitionDuration(Diaporama->CurrentCol)); } //==================================================================================================================== // Double click on widget in the object track //==================================================================================================================== void MainWindow::s_Event_DoubleClickedOnObject() { ui->preview->SetPlayerToPause(); // Ensure player is stop ui->preview2->SetPlayerToPause(); // Ensure player is stop if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display QTimer::singleShot(LATENCY,this,SLOT(s_Event_DoubleClickedOnObject())); return; } if (Diaporama->List.count()==0) return; bool DoneAgain=true; while (DoneAgain) { DoneAgain=false; int Ret=0; if (Diaporama->List[Diaporama->CurrentCol]->GetAutoTSNumber()==-1) { DlgSlideProperties Dlg(Diaporama->List[Diaporama->CurrentCol],ApplicationConfig,this); Dlg.InitDialog(); connect(&Dlg,SIGNAL(SetModifyFlag()),this,SLOT(s_Event_SetModifyFlag())); Ret=Dlg.exec(); } else { DlgAutoTitleSlide Dlg(false,Diaporama->List[Diaporama->CurrentCol],ApplicationConfig,this); Dlg.InitDialog(); connect(&Dlg,SIGNAL(SetModifyFlag()),this,SLOT(s_Event_SetModifyFlag())); Ret=Dlg.exec(); } if (Ret==4) { DlgSlideProperties Dlg(Diaporama->List[Diaporama->CurrentCol],ApplicationConfig,this); Dlg.InitDialog(); connect(&Dlg,SIGNAL(SetModifyFlag()),this,SLOT(s_Event_SetModifyFlag())); Ret=Dlg.exec(); } if (Ret!=1) { // Reset thumbnails ApplicationConfig->SlideThumbsTable->ClearThumbs(Diaporama->List[Diaporama->CurrentCol]->ThumbnailKey); // Reset thumbnails of all slides containing variables for (int i=0;iList.count();i++) if ((Diaporama->List[i]->ThumbnailKey!=1)&&(Variable.IsObjectHaveVariables(Diaporama->List[i]))) ApplicationConfig->SlideThumbsTable->ClearThumbs(Diaporama->List[i]->ThumbnailKey); (ApplicationConfig->WindowDisplayMode==DISPLAYWINDOWMODE_PLAYER?ui->preview:ui->preview2)->SeekPlayer(Diaporama->GetObjectStartPosition(Diaporama->CurrentCol)+Diaporama->GetTransitionDuration(Diaporama->CurrentCol)-(Diaporama->GetTransitionDuration(Diaporama->CurrentCol)>0?1:0)); AdjustRuller(); } if ((Ret==2)||(Ret==3)) { Diaporama->CurrentCol=Diaporama->CurrentCol+((Ret==2)?-1:1); SetTimelineCurrentCell(Diaporama->CurrentCol); // Update slider mark if (Diaporama->List.count()>0) (ApplicationConfig->WindowDisplayMode==DISPLAYWINDOWMODE_PLAYER?ui->preview:ui->preview2)->SetStartEndPos( Diaporama->GetObjectStartPosition(Diaporama->CurrentCol), // Current slide Diaporama->List[Diaporama->CurrentCol]->GetDuration(), (Diaporama->CurrentCol>0)?Diaporama->GetObjectStartPosition(Diaporama->CurrentCol-1):((Diaporama->CurrentCol==0)?0:-1), // Previous slide (Diaporama->CurrentCol>0)?Diaporama->List[Diaporama->CurrentCol-1]->GetDuration():((Diaporama->CurrentCol==0)?Diaporama->GetTransitionDuration(Diaporama->CurrentCol):0), Diaporama->CurrentCol<(Diaporama->List.count()-1)?Diaporama->GetObjectStartPosition(Diaporama->CurrentCol+1):-1, // Next slide Diaporama->CurrentCol<(Diaporama->List.count()-1)?Diaporama->List[Diaporama->CurrentCol+1]->GetDuration():0); else (ApplicationConfig->WindowDisplayMode==DISPLAYWINDOWMODE_PLAYER?ui->preview:ui->preview2)->SetStartEndPos(0,0,-1,0,-1,0); // open dialog again DoneAgain=true; } } } //==================================================================================================================== // Double click on transition part of widget in the object track //==================================================================================================================== void MainWindow::s_Event_DoubleClickedOnTransition() { ui->preview->SetPlayerToPause(); // Ensure player is stop ui->preview2->SetPlayerToPause(); // Ensure player is stop if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display QTimer::singleShot(LATENCY,this,SLOT(s_Event_DoubleClickedOnTransition())); return; } DlgTransitionProperties Dlg(false,Diaporama->List[Diaporama->CurrentCol],ApplicationConfig,this); Dlg.InitDialog(); int Ret=Dlg.exec(); if (Ret==0) { SetModifyFlag(true); (ApplicationConfig->WindowDisplayMode==DISPLAYWINDOWMODE_PLAYER?ui->preview:ui->preview2)->SeekPlayer(Diaporama->GetObjectStartPosition(Diaporama->CurrentCol)+Diaporama->GetTransitionDuration(Diaporama->CurrentCol)); AdjustRuller(); } } //==================================================================================================================== // // Double click on widget in the background track //==================================================================================================================== void MainWindow::s_Event_DoubleClickedOnBackground() { if (Diaporama->CurrentCol>=Diaporama->List.count()) return; ui->preview->SetPlayerToPause(); // Ensure player is stop ui->preview2->SetPlayerToPause(); // Ensure player is stop if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display QTimer::singleShot(LATENCY,this,SLOT(s_Event_DoubleClickedOnBackground())); return; } DlgBackgroundProperties Dlg(Diaporama->List[Diaporama->CurrentCol],ApplicationConfig,this); Dlg.InitDialog(); connect(&Dlg,SIGNAL(RefreshDisplay()),this,SLOT(s_Event_RefreshDisplay())); if (Dlg.exec()==0) { SetModifyFlag(true); (ApplicationConfig->WindowDisplayMode==DISPLAYWINDOWMODE_PLAYER?ui->preview:ui->preview2)->SeekPlayer(Diaporama->GetObjectStartPosition(Diaporama->CurrentCol)+Diaporama->GetTransitionDuration(Diaporama->CurrentCol)); AdjustRuller(); } } //==================================================================================================================== void MainWindow::s_Event_RefreshDisplay() { (ApplicationConfig->WindowDisplayMode==DISPLAYWINDOWMODE_PLAYER?ui->preview:ui->preview2)->SeekPlayer(Diaporama->GetObjectStartPosition(Diaporama->CurrentCol)+Diaporama->GetTransitionDuration(Diaporama->CurrentCol)); } //==================================================================================================================== // // Double click on widget in the music track //==================================================================================================================== void MainWindow::s_Event_DoubleClickedOnMusic() { ui->preview->SetPlayerToPause(); // Ensure player is stop ui->preview2->SetPlayerToPause(); // Ensure player is stop if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display QTimer::singleShot(LATENCY,this,SLOT(s_Event_DoubleClickedOnMusic())); return; } DlgMusicProperties Dlg(Diaporama->List[Diaporama->CurrentCol],ApplicationConfig,this); Dlg.InitDialog(); connect(&Dlg,SIGNAL(SetModifyFlag()),this,SLOT(s_Event_SetModifyFlag())); if (Dlg.exec()==0) { Diaporama->UpdateStatInformation(); SetModifyFlag(true); (ApplicationConfig->WindowDisplayMode==DISPLAYWINDOWMODE_PLAYER?ui->preview:ui->preview2)->SeekPlayer(Diaporama->GetObjectStartPosition(Diaporama->CurrentCol)+Diaporama->GetTransitionDuration(Diaporama->CurrentCol)); AdjustRuller(); } } //==================================================================================================================== void MainWindow::s_Event_TimelineDragMoveItem() { if (!ui->timeline->CursorPosValide) return; if ((ui->timeline->IsDragOn==DRAGMODE_INTERNALMOVE_SLIDE)&&(ui->timeline->DragItemSourcetimeline->DragItemDest)) ui->timeline->DragItemDest--; if ((ui->timeline->DragItemSource!=ui->timeline->DragItemDest)&&(ui->timeline->DragItemSource>=0)&&(ui->timeline->DragItemSourceList.count()) &&(ui->timeline->DragItemDest>=0)&&(ui->timeline->DragItemDestList.count())) { if (ui->timeline->IsDragOn==DRAGMODE_INTERNALMOVE_SLIDE) { Diaporama->List.move(ui->timeline->DragItemSource,ui->timeline->DragItemDest); } else if (ui->timeline->IsDragOn==DRAGMODE_INTERNALMOVE_MUSIC) { for (int i=0;iList[ui->timeline->DragItemSource]->MusicList.count();i++) Diaporama->List[ui->timeline->DragItemDest]->MusicList.append(Diaporama->List[ui->timeline->DragItemSource]->MusicList.takeFirst()); Diaporama->List[ui->timeline->DragItemDest]->MusicType =true; Diaporama->List[ui->timeline->DragItemSource]->MusicType=false; } else if (ui->timeline->IsDragOn==DRAGMODE_INTERNALMOVE_BACKGROUND) { cBrushDefinition *BR=Diaporama->List[ui->timeline->DragItemDest]->BackgroundBrush; Diaporama->List[ui->timeline->DragItemDest]->BackgroundType =true; Diaporama->List[ui->timeline->DragItemDest]->BackgroundBrush =Diaporama->List[ui->timeline->DragItemSource]->BackgroundBrush; Diaporama->List[ui->timeline->DragItemSource]->BackgroundType =false; Diaporama->List[ui->timeline->DragItemSource]->BackgroundBrush=BR; } SetModifyFlag(true); ui->timeline->SetCurrentCell(ui->timeline->DragItemDest); } } //==================================================================================================================== // Current diaporama object selection changed //==================================================================================================================== void MainWindow::s_Event_TimelineSelectionChanged() { if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display QTimer::singleShot(LATENCY,this,SLOT(s_Event_TimelineSelectionChanged())); return; } DoTimelineSelectionChanged(); } void MainWindow::DoTimelineSelectionChanged() { QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); if (!FLAGSTOPITEMSELECTION) { int OldCurrentCol=Diaporama->CurrentCol; int Selected=ui->timeline->CurrentSelected(); if (Selected>=Diaporama->List.count()) { Selected=Diaporama->List.count()-1; FLAGSTOPITEMSELECTION=true; ui->timeline->SetCurrentCell(Selected); FLAGSTOPITEMSELECTION=false; } if (Selected<0) { Selected=0; FLAGSTOPITEMSELECTION=true; ui->timeline->SetCurrentCell(Selected); FLAGSTOPITEMSELECTION=false; } if (Diaporama->CurrentCol<0) Diaporama->CurrentCol=0; if ((Diaporama->CurrentCol!=Selected)||((Diaporama->List.count()==1)&&(Diaporama->CurrentCol==0))) { //************************************************************ // We are here only if user has click on the timeline //************************************************************ if (Diaporama->List.count()>0) { ui->preview->SetPlayerToPause(); // Ensure player is stop ui->preview2->SetPlayerToPause(); // Ensure player is stop Diaporama->CurrentCol=Selected; Diaporama->CurrentPosition=Diaporama->GetObjectStartPosition(Diaporama->CurrentCol)+Diaporama->GetTransitionDuration(Diaporama->CurrentCol); if (Diaporama->List[Diaporama->CurrentCol]->GetTransitDuration()>0) Diaporama->CurrentPosition--; AdjustRuller(Selected); } else { (ApplicationConfig->WindowDisplayMode==DISPLAYWINDOWMODE_PLAYER?ui->preview:ui->preview2)->SeekPlayer(0); (ApplicationConfig->WindowDisplayMode==DISPLAYWINDOWMODE_PLAYER?ui->preview:ui->preview2)->SetStartEndPos(0,0,-1,0,-1,0); } } Diaporama->CloseUnusedLibAv(Diaporama->CurrentCol); RefreshControls(); ui->timeline->repaint(); if (OldCurrentCol!=Diaporama->CurrentCol) UpdateChapterInfo(); } QApplication::restoreOverrideCursor(); } //==================================================================================================================== // Update dock information //==================================================================================================================== void MainWindow::s_Action_OpenTABHelpLink(const QString Link) { if (Link.startsWith("http:")) QDesktopServices::openUrl(QUrl(Link)); else ApplicationConfig->PopupHelp->OpenHelp(Link,true); } void MainWindow::s_Event_ToolbarChanged(int MenuIndex) { QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); QString Html; switch (MenuIndex) { case 0: Html=QApplication::translate("MainWindow","Select a project to open or to create a new project
"\ "To discover ffDiaporama:
Consult the WIKI"). arg(HELPFILE_WIKIINDEX); break; case 1: Html=QApplication::translate("MainWindow","Add empty slides or slides based on photos or videos
"\ "To discover how to build your slide show and to animate slides:
Discover the principles of functioning of ffDiaporama"). arg(HELPFILE_WIKIINDEX); break; case 2: Html=QApplication::translate("MainWindow","Select the equipment type that you plan to use for your video
"\ "To discover how to render videos:
Consult the rendering videos WIKI page"). arg(HELPFILE_RENDERINDEX); break; case 3: Html=QApplication::translate("MainWindow","Visit the ffDiaporama Web site to use the forum,
"\ "consult tutorials and learn the lastest news:
http://ffdiaporama.tuxfamily.org"); break; } ui->TABTooltip->setText(Html); QApplication::restoreOverrideCursor(); } //==================================================================================================================== // Render project //==================================================================================================================== void MainWindow::s_Action_RenderVideo() { ui->preview->SetPlayerToPause(); // Ensure player is stop ui->preview2->SetPlayerToPause(); // Ensure player is stop if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display QTimer::singleShot(LATENCY,this,SLOT(s_Action_RenderVideo())); return; } ui->ActionRender_BT->setDown(false); ui->ActionRender_BT_2->setDown(false); DlgRenderVideo Dlg(*Diaporama,EXPORTMODE_ADVANCED,ApplicationConfig,this); connect(&Dlg,SIGNAL(SetModifyFlag()),this,SLOT(s_Event_SetModifyFlag())); Dlg.InitDialog(); Dlg.exec(); AdjustRuller(); ui->Browser->RefreshHere(); } void MainWindow::s_Action_RenderSmartphone() { ui->preview->SetPlayerToPause(); // Ensure player is stop ui->preview2->SetPlayerToPause(); // Ensure player is stop if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display QTimer::singleShot(LATENCY,this,SLOT(s_Action_RenderSmartphone())); return; } ui->ActionSmartphone_BT->setDown(false); ui->ActionSmartphone_BT_2->setDown(false); DlgRenderVideo Dlg(*Diaporama,MODE_SMARTPHONE,ApplicationConfig,this); connect(&Dlg,SIGNAL(SetModifyFlag()),this,SLOT(s_Event_SetModifyFlag())); Dlg.InitDialog(); Dlg.exec(); AdjustRuller(); ui->Browser->RefreshHere(); } void MainWindow::s_Action_RenderMultimedia() { ui->preview->SetPlayerToPause(); // Ensure player is stop ui->preview2->SetPlayerToPause(); // Ensure player is stop if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display QTimer::singleShot(LATENCY,this,SLOT(s_Action_RenderMultimedia())); return; } ui->ActionMultimedia_BT->setDown(false); ui->ActionMultimedia_BT_2->setDown(false); DlgRenderVideo Dlg(*Diaporama,MODE_MULTIMEDIASYS,ApplicationConfig,this); connect(&Dlg,SIGNAL(SetModifyFlag()),this,SLOT(s_Event_SetModifyFlag())); Dlg.InitDialog(); Dlg.exec(); AdjustRuller(); ui->Browser->RefreshHere(); } void MainWindow::s_Action_RenderForTheWEB() { ui->preview->SetPlayerToPause(); // Ensure player is stop ui->preview2->SetPlayerToPause(); // Ensure player is stop if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display QTimer::singleShot(LATENCY,this,SLOT(s_Action_RenderForTheWEB())); return; } ui->ActionForTheWEB_BT->setDown(false); ui->ActionForTheWEB_BT_2->setDown(false); DlgRenderVideo Dlg(*Diaporama,MODE_FORTHEWEB,ApplicationConfig,this); connect(&Dlg,SIGNAL(SetModifyFlag()),this,SLOT(s_Event_SetModifyFlag())); Dlg.InitDialog(); Dlg.exec(); AdjustRuller(); ui->Browser->RefreshHere(); } void MainWindow::s_Action_RenderLossLess() { ui->preview->SetPlayerToPause(); // Ensure player is stop ui->preview2->SetPlayerToPause(); // Ensure player is stop if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display QTimer::singleShot(LATENCY,this,SLOT(s_Action_RenderLossLess())); return; } ui->ActionLossLess_BT->setDown(false); ui->ActionLossLess_BT_2->setDown(false); DlgRenderVideo Dlg(*Diaporama,MODE_LOSSLESS,ApplicationConfig,this); connect(&Dlg,SIGNAL(SetModifyFlag()),this,SLOT(s_Event_SetModifyFlag())); Dlg.InitDialog(); Dlg.exec(); AdjustRuller(); ui->Browser->RefreshHere(); } void MainWindow::s_Action_RenderSoundTrack() { ui->preview->SetPlayerToPause(); // Ensure player is stop ui->preview2->SetPlayerToPause(); // Ensure player is stop if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display QTimer::singleShot(LATENCY,this,SLOT(s_Action_RenderSoundTrack())); return; } ui->ActionSoundtrack_BT->setDown(false); ui->ActionSoundtrack_BT_2->setDown(false); DlgRenderVideo Dlg(*Diaporama,MODE_SOUNDTRACK,ApplicationConfig,this); connect(&Dlg,SIGNAL(SetModifyFlag()),this,SLOT(s_Event_SetModifyFlag())); Dlg.InitDialog(); Dlg.exec(); AdjustRuller(); ui->Browser->RefreshHere(); } //==================================================================================================================== // Project properties //==================================================================================================================== void MainWindow::s_Action_ProjectProperties() { ui->preview->SetPlayerToPause(); // Ensure player is stop ui->preview2->SetPlayerToPause(); // Ensure player is stop if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display QTimer::singleShot(LATENCY,this,SLOT(s_Action_ProjectProperties())); return; } ui->Action_PrjProperties_BT->setDown(false); ui->Action_PrjProperties_BT_2->setDown(false); DlgffDPjrProperties Dlg(false,Diaporama,ApplicationConfig,this); Dlg.InitDialog(); if (Dlg.exec()==0) { SetModifyFlag(true); // Reset thumbnails of all slides containing variables for (int i=0;iList.count();i++) if ((Diaporama->List[i]->ThumbnailKey!=1)&&(Variable.IsObjectHaveVariables(Diaporama->List[i]))) ApplicationConfig->SlideThumbsTable->ClearThumbs(Diaporama->List[i]->ThumbnailKey); (ApplicationConfig->WindowDisplayMode==DISPLAYWINDOWMODE_PLAYER?ui->preview:ui->preview2)->SeekPlayer(Diaporama->GetObjectStartPosition(Diaporama->CurrentCol)+Diaporama->GetTransitionDuration(Diaporama->CurrentCol)-(Diaporama->GetTransitionDuration(Diaporama->CurrentCol)>0?1:0)); AdjustRuller(); } ui->Browser->RefreshHere(); } //==================================================================================================================== // Change application settings //==================================================================================================================== void MainWindow::s_Action_ChangeApplicationSettings() { ui->preview->SetPlayerToPause(); // Ensure player is stop ui->preview2->SetPlayerToPause(); // Ensure player is stop if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display QTimer::singleShot(LATENCY,this,SLOT(s_Action_ChangeApplicationSettings())); return; } ui->ActionConfiguration_BT->setDown(false); ui->ActionConfiguration_BT_2->setDown(false); DlgApplicationSettings Dlg(ApplicationConfig,this); Dlg.InitDialog(); if (Dlg.exec()==0) { SetTimelineHeight(); ToStatusBar(QApplication::translate("MainWindow","Saving configuration file and applying new configuration ...")); QApplication::processEvents(); QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); ui->preview->WantedFPS =ApplicationConfig->PreviewFPS; ui->preview2->WantedFPS=ApplicationConfig->PreviewFPS; SDLSetFPS(double(1000)/ApplicationConfig->PreviewFPS,ApplicationConfig->SDLAudioOldMode,ApplicationConfig->PreviewSamplingRate); // Reinit SDL if Preview FPS has changed // Save configuration //ApplicationConfig->MainWinWSP->SaveWindowState(this); // Do not change get WindowState for mainwindow except when closing ApplicationConfig->ImagesCache.MaxValue=ApplicationConfig->MemCacheMaxValue; toolTipTowhatsThis(this); ApplicationConfig->SaveConfigurationFile(); QApplication::restoreOverrideCursor(); ToStatusBar(""); } } //==================================================================================================================== // New project //==================================================================================================================== void MainWindow::s_Action_New() { ui->preview->SetPlayerToPause(); // Ensure player is stop ui->preview2->SetPlayerToPause(); // Ensure player is stop if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display QTimer::singleShot(LATENCY,this,SLOT(s_Action_New())); return; } ui->Action_New_BT->setDown(false); ui->Action_New_BT_2->setDown(false); if ((Diaporama->IsModify)&&(CustomMessageBox(this,QMessageBox::Question,QApplication::translate("DlgffDPjrProperties","New project"),QApplication::translate("MainWindow","Current project has been modified.\nDo you want to save-it ?"), QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::Yes)) s_Action_Save(); // Ask user for project option cDiaporama *NewDiaporama=new cDiaporama(ApplicationConfig,true,this); DlgffDPjrProperties Dlg(true,NewDiaporama,ApplicationConfig,this); Dlg.InitDialog(); if (Dlg.exec()==0) { while (ApplicationConfig->ImagesCache.List.count()>0) delete ApplicationConfig->ImagesCache.List.takeLast(); AliasList.clear(); // Clean actual timeline and diaporama FLAGSTOPITEMSELECTION=true; ui->timeline->setUpdatesEnabled(false); for (int Row=0;Rowtimeline->rowCount();Row++) for (int Col=0;Coltimeline->columnCount();Col++) if (ui->timeline->cellWidget(Row,Col)!=NULL) ui->timeline->removeCellWidget(Row,Col); delete Diaporama; Diaporama=NULL; ui->timeline->setUpdatesEnabled(true); FLAGSTOPITEMSELECTION=false; // Create new diaporama Diaporama=NewDiaporama; ui->timeline->Diaporama=Diaporama; ui->preview->InitDiaporamaPlay(Diaporama); ui->preview->SetActualDuration(Diaporama->GetDuration()); ui->preview->SetStartEndPos(0,0,-1,0,-1,0); ui->preview2->InitDiaporamaPlay(Diaporama); ui->preview2->SetActualDuration(Diaporama->GetDuration()); ui->preview2->SetStartEndPos(0,0,-1,0,-1,0); ui->timeline->ResetDisplay(-1); RefreshControls(); SetModifyFlag(false); resizeEvent(NULL); Diaporama->UpdateInformation(); } } //==================================================================================================================== // Open an existing project //==================================================================================================================== void MainWindow::s_Action_OpenRecent() { ui->preview->SetPlayerToPause(); // Ensure player is stop ui->preview2->SetPlayerToPause(); // Ensure player is stop if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display QTimer::singleShot(LATENCY,this,SLOT(s_Action_OpenRecent())); return; } QMenu *ContextMenu=new QMenu(this); for (int i=ApplicationConfig->RecentFile.count()-1;i>=0;i--) ContextMenu->addAction(QDir::toNativeSeparators(ApplicationConfig->RecentFile.at(i))); QAction *Action=ContextMenu->exec(QCursor::pos()); QString Selected=""; if (Action) Selected=Action->iconText(); delete ContextMenu; ui->Action_OpenRecent_BT->setDown(false); ui->Action_OpenRecent_BT_2->setDown(false); if (Selected!="") { if ((Diaporama->IsModify)&&(CustomMessageBox(this,QMessageBox::Question,QApplication::translate("MainWindow","Open project"),QApplication::translate("MainWindow","Current project has been modified.\nDo you want to save-it ?"), QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::Yes)) s_Action_Save(); ToStatusBar(QApplication::translate("MainWindow","Open file :")+QFileInfo(Selected).fileName()); FileForIO=Selected; QTimer::singleShot(LATENCY,this,SLOT(DoOpenFile())); } } void MainWindow::s_Action_Open() { ui->preview->SetPlayerToPause(); // Ensure player is stop ui->preview2->SetPlayerToPause(); // Ensure player is stop if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display QTimer::singleShot(LATENCY,this,SLOT(s_Action_Open())); return; } ui->Action_Open_BT->setDown(false); ui->Action_Open_BT_2->setDown(false); DlgFileExplorer Dlg(BROWSER_TYPE_PROJECT,false,false,false,QApplication::translate("MainWindow","Open project"),ApplicationConfig,this); Dlg.InitDialog(); if (Dlg.exec()==0) { FileList=Dlg.GetCurrentSelectedFiles(); if (FileList.count()==1) { if ((Diaporama->IsModify)&&(CustomMessageBox(this,QMessageBox::Question,QApplication::translate("MainWindow","Open project"),QApplication::translate("MainWindow","Current project has been modified.\nDo you want to save-it ?"), QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::Yes)) s_Action_Save(); FileForIO=FileList.at(0); QTimer::singleShot(LATENCY,this,SLOT(DoOpenFile())); } } ui->Browser->RefreshHere(); } void MainWindow::DoOpenFile() { ui->preview->SetPlayerToPause(); // Ensure player is stop ui->preview2->SetPlayerToPause(); // Ensure player is stop if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display QTimer::singleShot(LATENCY,this,SLOT(DoOpenFile())); return; } ToStatusBar(QApplication::translate("MainWindow","Open file :")+QFileInfo(FileForIO).fileName()); bool Continue=true; QDomDocument domDocument; QString ProjectFileName=QDir::toNativeSeparators(FileForIO); // Check if ffDRevision is not > current ffDRevision cffDProjectFile File(ApplicationConfig); if (!File.GetInformationFromFile(ProjectFileName,NULL,NULL,-1)) return; File.GetFullInformationFromFile(); if ((File.ffDRevision.toInt()>CurrentAppVersion.toInt())&&(CustomMessageBox(this,QMessageBox::Question,QApplication::translate("MainWindow","Open project"), QApplication::translate("MainWindow","This project was created with a newer version of ffDiaporama.\nIf you continue, you take the risk of losing data!\nDo you want to open it nevertheless?"),QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::No)) return; QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); // Clean actual timeline and diaporama FLAGSTOPITEMSELECTION=true; ui->timeline->setUpdatesEnabled(false); // Clean timeline for (int Row=0;Rowtimeline->rowCount();Row++) for (int Col=0;Coltimeline->columnCount();Col++) if (ui->timeline->cellWidget(Row,Col)!=NULL) ui->timeline->removeCellWidget(Row,Col); // Clean diaporama delete Diaporama; // Clean images cache while (ApplicationConfig->ImagesCache.List.count()>0) delete ApplicationConfig->ImagesCache.List.takeLast(); // Create new diaporama Diaporama=new cDiaporama(ApplicationConfig,true,this); AliasList.clear(); ui->timeline->Diaporama=Diaporama; ui->preview->InitDiaporamaPlay(Diaporama); // Init GUI for this project ui->preview2->InitDiaporamaPlay(Diaporama); // Init GUI for this project ui->timeline->setUpdatesEnabled(true); FLAGSTOPITEMSELECTION=false; // Load file SetModifyFlag(false); // Setup preview player position to project start Diaporama->CurrentCol =0; Diaporama->CurrentPosition=0; Diaporama->ProjectFileName=ProjectFileName; while ((Continue)&&(!QFileInfo(ProjectFileName).exists())) { if (CustomMessageBox(this,QMessageBox::Question,QApplication::translate("MainWindow","Open project file"), QApplication::translate("MainWindow","Impossible to open file ")+ProjectFileName+"\n"+QApplication::translate("MainWindow","Do you want to select another file ?"), QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)!=QMessageBox::Yes) Continue=false; else { QString NewFileName=QFileDialog::getOpenFileName(((MainWindow *)ApplicationConfig->TopLevelWindow),QApplication::translate("MainWindow","Select another file for ")+QFileInfo(ProjectFileName).fileName(), ApplicationConfig->RememberLastDirectories?QDir::toNativeSeparators(ApplicationConfig->SettingsTable->GetTextValue(QString("%1_path").arg(BrowserTypeDef[BROWSER_TYPE_PROJECT].BROWSERString),DefaultProjectPath)):DefaultProjectPath,QString("ffDiaporama (*.ffd)")); if (NewFileName!="") ProjectFileName=NewFileName; else Continue=false; } } if (!Continue) ToLog(LOGMSG_CRITICAL,QApplication::translate("MainWindow","Impossible to open project file %1").arg(ProjectFileName)); else { QFile file(ProjectFileName); QString errorStr; int errorLine,errorColumn; if (!file.open(QFile::ReadOnly | QFile::Text)) { QString ErrorMsg=QApplication::translate("MainWindow","Error reading project file","Error message")+"\n"+ProjectFileName; CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("MainWindow","Error","Error message"),ErrorMsg,QMessageBox::Close); Continue=false; } else { ResKeyList.clear(); // Open progress window if (DlgWorkingTaskDialog) { DlgWorkingTaskDialog->close(); delete DlgWorkingTaskDialog; DlgWorkingTaskDialog=NULL; } DlgWorkingTaskDialog=new DlgWorkingTask(QApplication::translate("MainWindow","Open project file"),&CancelAction,ApplicationConfig,this); DlgWorkingTaskDialog->InitDialog(); DlgWorkingTaskDialog->SetMaxValue(CurrentLoadingProjectNbrObject,0); DlgWorkingTaskDialog->show(); QApplication::processEvents(); DlgWorkingTaskDialog->HideProgress(); DlgWorkingTaskDialog->update(); QApplication::processEvents(); QTextStream InStream(&file); QString ffDPart; QString OtherPart="\n"; bool EndffDPart=false; int Num=0; InStream.setCodec("UTF-8"); while (!InStream.atEnd()) { QString Line=InStream.readLine(); if (!EndffDPart) { ffDPart.append(Line); if (Line=="") EndffDPart=true; } else { OtherPart.append(Line); if (Line.endsWith("/>")) { DlgWorkingTaskDialog->DisplayText(QApplication::translate("MainWindow","Loading project ressources: %1").arg(Num++)); DlgWorkingTaskDialog->update(); QApplication::processEvents(); QDomDocument ResDoc; if (ResDoc.setContent(OtherPart,true,&errorStr,&errorLine,&errorColumn)) { QDomElement ResElem=ResDoc.documentElement(); if (ResElem.tagName()=="Ressource") { int Width =ResElem.attribute("Width").toInt(); int Height =ResElem.attribute("Height").toInt(); qlonglong Key =ResElem.attribute("Key").toLongLong(); QImage Thumb(Width,Height,QImage::Format_ARGB32_Premultiplied); QByteArray Compressed =QByteArray::fromHex(ResElem.attribute("Image").toUtf8()); QByteArray Decompressed =qUncompress(Compressed); Thumb.loadFromData(Decompressed); ResKeyList.append(ApplicationConfig->SlideThumbsTable->AppendThumbs(Key,Thumb)); } } // Go to next ressource OtherPart="\n"; } } } file.close(); // Now import ffDPart if (!domDocument.setContent(ffDPart, true, &errorStr, &errorLine,&errorColumn)) { CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("MainWindow","Error","Error message"),QApplication::translate("MainWindow","Error reading content of project file","Error message"),QMessageBox::Close); Continue=false; } file.close(); } } if (Continue) { CurrentLoadingProjectDocument=domDocument.documentElement(); if (CurrentLoadingProjectDocument.tagName()!=APPLICATION_ROOTNAME) { CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("MainWindow","Error","Error message"),QApplication::translate("MainWindow","The file is not a valid project file","Error message"),QMessageBox::Close); } else { if ((CurrentLoadingProjectDocument.elementsByTagName("Project").length()>0)&&(CurrentLoadingProjectDocument.elementsByTagName("Project").item(0).isElement()==true)) { // Manage Recent files list for (int i=0;iRecentFile.count();i++) if (QDir::toNativeSeparators(ApplicationConfig->RecentFile.at(i))==ProjectFileName) { ApplicationConfig->RecentFile.removeAt(i); break; } ApplicationConfig->RecentFile.append(ProjectFileName); while (ApplicationConfig->RecentFile.count()>10) ApplicationConfig->RecentFile.takeFirst(); // Load project properties Diaporama->ProjectInfo->LoadFromXML(&CurrentLoadingProjectDocument,"",QFileInfo(Diaporama->ProjectFileName).absolutePath(),&AliasList,NULL,&ResKeyList,false); Diaporama->ProjectThumbnail->LoadFromXML(CurrentLoadingProjectDocument,"ProjectThumbnail",QFileInfo(Diaporama->ProjectFileName).absolutePath(),&AliasList,&ResKeyList,false); // Load project geometry and adjust timeline and preview geometry QDomElement Element=CurrentLoadingProjectDocument.elementsByTagName("Project").item(0).toElement(); Diaporama->ImageGeometry =(ffd_GEOMETRY)Element.attribute("ImageGeometry").toInt(); Diaporama->DefineSizeAndGeometry(Diaporama->ImageGeometry); SetTimelineHeight(); ui->timeline->SetTimelineHeight(ApplicationConfig->PartitionMode); // Load object list CurrentLoadingProjectNbrObject=Element.attribute("ObjectNumber").toInt(); CurrentLoadingProjectObject=0; // Open progress window if (DlgWorkingTaskDialog) { DlgWorkingTaskDialog->close(); delete DlgWorkingTaskDialog; DlgWorkingTaskDialog=NULL; } DlgWorkingTaskDialog=new DlgWorkingTask(QApplication::translate("MainWindow","Open project file"),&CancelAction,ApplicationConfig,this); DlgWorkingTaskDialog->InitDialog(); DlgWorkingTaskDialog->SetMaxValue(CurrentLoadingProjectNbrObject,0); QTimer::singleShot(LATENCY,this,SLOT(DoOpenFileObject())); DlgWorkingTaskDialog->exec(); return; } } } QApplication::restoreOverrideCursor(); ToStatusBar(""); } //==================================================================================================================== // Load an object from a project file and add it to the timeline //==================================================================================================================== void MainWindow::DoOpenFileObject() { if ((!CancelAction)&&(CurrentLoadingProjectObject0)&& (CurrentLoadingProjectDocument.elementsByTagName("Object-"+QString("%1").arg(CurrentLoadingProjectObject)).item(0).isElement()==true)) { if (DlgWorkingTaskDialog) { DlgWorkingTaskDialog->DisplayText(QApplication::translate("MainWindow","Loading slide %1/%2").arg(CurrentLoadingProjectObject+1).arg(CurrentLoadingProjectNbrObject)); DlgWorkingTaskDialog->DisplayProgress(CurrentLoadingProjectObject+1); } Diaporama->List.append(new cDiaporamaObject(Diaporama)); if (Diaporama->List[Diaporama->List.count()-1]->LoadFromXML(CurrentLoadingProjectDocument,"Object-"+QString("%1").arg(CurrentLoadingProjectObject).trimmed(), QFileInfo(Diaporama->ProjectFileName).absolutePath(),&AliasList,&ResKeyList,false)) { if (CurrentLoadingProjectObject==0) Diaporama->CurrentPosition=Diaporama->GetTransitionDuration(0); } else delete Diaporama->List.takeLast(); // switch to next object CurrentLoadingProjectObject++; QTimer::singleShot(LATENCY,this,SLOT(DoOpenFileObject())); } else { // stop loading object process if (DlgWorkingTaskDialog) { DlgWorkingTaskDialog->close(); delete DlgWorkingTaskDialog; DlgWorkingTaskDialog=NULL; } (ApplicationConfig->WindowDisplayMode==DISPLAYWINDOWMODE_PLAYER?ui->preview:ui->preview2)->ActualPosition=-1; AdjustRuller(0); // Set first slide as current QApplication::restoreOverrideCursor(); ToStatusBar(""); // Update gmaps object (if needed) Diaporama->UpdateGMapsObject(true); // finaly set modify flag SetModifyFlag(Diaporama->IsModify); } } //==================================================================================================================== // Save current project //==================================================================================================================== void MainWindow::s_Action_Save() { ui->preview->SetPlayerToPause(); // Ensure player is stop ui->preview2->SetPlayerToPause(); // Ensure player is stop ui->Action_Save_BT->setDown(false); ui->Action_Save_BT_2->setDown(false); if (Diaporama->ProjectFileName=="") s_Action_SaveAs(); else DoSaveFile(); } //==================================================================================================================== void MainWindow::DoSaveFile() { QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); ToStatusBar(QApplication::translate("MainWindow","Saving project file ...")+QFileInfo(Diaporama->ProjectFileName).fileName()); QApplication::processEvents(); if (Diaporama->SaveFile(this)) SetModifyFlag(false); ToStatusBar(""); QApplication::restoreOverrideCursor(); ui->Browser->RefreshHere(); } //==================================================================================================================== // Save current project as //==================================================================================================================== void MainWindow::s_Action_SaveAsBT() { ui->preview->SetPlayerToPause(); // Ensure player is stop ui->preview2->SetPlayerToPause(); // Ensure player is stop if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display QTimer::singleShot(LATENCY,this,SLOT(s_Action_SaveAsBT())); return; } ui->ActionSave_as_BT->setDown(false); ui->ActionSave_as_BT_2->setDown(false); QMenu *ContextMenu=new QMenu(this); ContextMenu->addAction(ui->actionSaveProjectAs); ContextMenu->addAction(ui->actionExportProject); ContextMenu->exec(QCursor::pos()); delete ContextMenu; } //==================================================================================================================== // Export current project in a new folder //==================================================================================================================== void MainWindow::s_Action_Export() { DlgExportProject Dlg(Diaporama,ApplicationConfig,this); Dlg.InitDialog(); if (Dlg.exec()==0) ui->Browser->RefreshHere(); } //==================================================================================================================== // Save current project as //==================================================================================================================== void MainWindow::s_Action_SaveAs() { // Save project Diaporama->ProjectFileName=QFileDialog::getSaveFileName(this,QApplication::translate("MainWindow","Save project as"), Diaporama->ProjectFileName.isEmpty()?QDir::toNativeSeparators(ApplicationConfig->SettingsTable->GetTextValue(QString("%1_path").arg(BrowserTypeDef[BROWSER_TYPE_PROJECT].BROWSERString),DefaultProjectPath)):Diaporama->ProjectFileName, QString("ffDiaporama (*.ffd)")); if (Diaporama->ProjectFileName!="") { if (QFileInfo(Diaporama->ProjectFileName).suffix()!="ffd") Diaporama->ProjectFileName=Diaporama->ProjectFileName+".ffd"; ApplicationConfig->SettingsTable->SetTextValue(QString("%1_path").arg(BrowserTypeDef[BROWSER_TYPE_PROJECT].BROWSERString),QFileInfo(Diaporama->ProjectFileName).dir().absolutePath()); // Manage Recent files list for (int i=0;iRecentFile.count();i++) if (ApplicationConfig->RecentFile.at(i)==QDir::toNativeSeparators(Diaporama->ProjectFileName)) { ApplicationConfig->RecentFile.removeAt(i); break; } ApplicationConfig->RecentFile.append(Diaporama->ProjectFileName); while (ApplicationConfig->RecentFile.count()>10) ApplicationConfig->RecentFile.takeFirst(); DoSaveFile(); } } //==================================================================================================================== // Add a title object //==================================================================================================================== void MainWindow::s_Action_AddTitle() { ui->preview->SetPlayerToPause(); // Ensure player is stop ui->preview2->SetPlayerToPause(); // Ensure player is stop if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display QTimer::singleShot(LATENCY,this,SLOT(s_Action_AddTitle())); return; } ui->ActionAddtitle_BT->setDown(false); ui->ActionAddtitle_BT_2->setDown(false); QMenu *ContextMenu=new QMenu(this); ContextMenu->addAction(ui->actionAddEmptySlide); ContextMenu->addAction(ui->actionAddAutoTitleSlide); ContextMenu->addAction(ui->actionAddGMap); ContextMenu->exec(QCursor::pos()); delete ContextMenu; } void MainWindow::s_Action_AddEmptyTitle() { QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); CurIndex=Diaporama->List.count()==0?0:(ApplicationConfig->AppendObject?Diaporama->List.count()-1:Diaporama->CurrentCol)+1; Diaporama->List.insert(CurIndex,new cDiaporamaObject(Diaporama)); cDiaporamaObject *DiaporamaObject =Diaporama->List[CurIndex]; DiaporamaObject->List[0]->Parent =DiaporamaObject; DiaporamaObject->List[0]->StaticDuration=ApplicationConfig->NoShotDuration; if (Diaporama->ApplicationConfig->RandomTransition) { qsrand(QTime(0,0,0,0).msecsTo(QTime::currentTime())); int Random=qrand(); Random=int(double(IconList.List.count())*(double(Random)/double(RAND_MAX))); if (RandomList[CurIndex]->TransitionFamilly=IconList.List[Random].TransitionFamilly; Diaporama->List[CurIndex]->TransitionSubType=IconList.List[Random].TransitionSubType; } } else { Diaporama->List[CurIndex]->TransitionFamilly=Diaporama->ApplicationConfig->DefaultTransitionFamilly; Diaporama->List[CurIndex]->TransitionSubType=Diaporama->ApplicationConfig->DefaultTransitionSubType; } Diaporama->List[CurIndex]->TransitionDuration=Diaporama->ApplicationConfig->DefaultTransitionDuration; SetModifyFlag(true); AdjustRuller(CurIndex); QApplication::restoreOverrideCursor(); } void MainWindow::s_Action_AddAutoTitleSlide() { QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); SavedCurIndex=Diaporama->CurrentCol; CurIndex =Diaporama->List.count()==0?0:(ApplicationConfig->AppendObject?Diaporama->List.count()-1:Diaporama->CurrentCol)+1; Diaporama->List.insert(CurIndex,new cDiaporamaObject(Diaporama)); cDiaporamaObject *DiaporamaObject =Diaporama->List[CurIndex]; DiaporamaObject->List[0]->Parent =DiaporamaObject; DiaporamaObject->List[0]->StaticDuration=ApplicationConfig->NoShotDuration; DiaporamaObject->Parent =Diaporama; if (Diaporama->ApplicationConfig->RandomTransition) { qsrand(QTime(0,0,0,0).msecsTo(QTime::currentTime())); int Random=qrand(); Random=int(double(IconList.List.count())*(double(Random)/double(RAND_MAX))); if (RandomList[CurIndex]->TransitionFamilly=IconList.List[Random].TransitionFamilly; Diaporama->List[CurIndex]->TransitionSubType=IconList.List[Random].TransitionSubType; } } else { Diaporama->List[CurIndex]->TransitionFamilly=Diaporama->ApplicationConfig->DefaultTransitionFamilly; Diaporama->List[CurIndex]->TransitionSubType=Diaporama->ApplicationConfig->DefaultTransitionSubType; } Diaporama->List[CurIndex]->TransitionDuration=Diaporama->ApplicationConfig->DefaultTransitionDuration; AdjustRuller(CurIndex); (ApplicationConfig->WindowDisplayMode==DISPLAYWINDOWMODE_PLAYER?ui->preview:ui->preview2)->SeekPlayer(Diaporama->GetObjectStartPosition(Diaporama->CurrentCol)+Diaporama->GetTransitionDuration(Diaporama->CurrentCol)); DlgAutoTitleSlide Dlg(true,Diaporama->List[CurIndex],ApplicationConfig,this); Dlg.InitDialog(); connect(&Dlg,SIGNAL(SetModifyFlag()),this,SLOT(s_Event_SetModifyFlag())); QApplication::restoreOverrideCursor(); int Ret=Dlg.exec(); if (Ret!=1) { // ok, ok next or ok previous if (Ret==4) { // Convert DlgSlideProperties Dlg(Diaporama->List[CurIndex],ApplicationConfig,this); Dlg.InitDialog(); connect(&Dlg,SIGNAL(SetModifyFlag()),this,SLOT(s_Event_SetModifyFlag())); Ret=Dlg.exec(); } // Reset thumbnails of this slide ApplicationConfig->SlideThumbsTable->ClearThumbs(Diaporama->List[CurIndex]->ThumbnailKey); AdjustRuller(); // Reset thumbnails of all slides containing variables for (int i=0;iList.count();i++) if ((Diaporama->List[i]->ThumbnailKey!=1)&&(Variable.IsObjectHaveVariables(Diaporama->List[i]))) ApplicationConfig->SlideThumbsTable->ClearThumbs(Diaporama->List[i]->ThumbnailKey); } else { // Cancel delete Diaporama->List.takeAt(CurIndex); AdjustRuller(SavedCurIndex); CurIndex=SavedCurIndex; } QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); ui->timeline->ResetDisplay(CurIndex); // FLAGSTOPITEMSELECTION is set to false by ResetDisplay (ApplicationConfig->WindowDisplayMode==DISPLAYWINDOWMODE_PLAYER?ui->preview:ui->preview2)->SeekPlayer(Diaporama->GetObjectStartPosition(Diaporama->CurrentCol)+Diaporama->GetTransitionDuration(Diaporama->CurrentCol)); ui->timeline->setUpdatesEnabled(true); QApplication::restoreOverrideCursor(); } void MainWindow::s_Action_AddGMap() { QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); SavedCurIndex=Diaporama->CurrentCol; CurIndex =Diaporama->List.count()==0?0:(ApplicationConfig->AppendObject?Diaporama->List.count()-1:Diaporama->CurrentCol)+1; Diaporama->List.insert(CurIndex,new cDiaporamaObject(Diaporama)); cDiaporamaObject *DiaporamaObject =Diaporama->List[CurIndex]; DiaporamaObject->List[0]->Parent =DiaporamaObject; DiaporamaObject->List[0]->StaticDuration=ApplicationConfig->NoShotDuration; DiaporamaObject->Parent =Diaporama; // Create an GMapsMap wrapper cGMapsMap *MediaObject=new cGMapsMap(ApplicationConfig); MediaObject->CreatDateTime=QDateTime().currentDateTime(); MediaObject->CreateDefaultImage(Diaporama); // create default image MediaObject->GetInformationFromFile("",NULL,NULL,-1); // Add this block Diaporama->List[CurIndex]->ObjectComposition.List.insert(0,new cCompositionObject(COMPOSITIONTYPE_OBJECT,Diaporama->List[CurIndex]->NextIndexKey,ApplicationConfig,&Diaporama->List[CurIndex]->ObjectComposition)); cCompositionObject *CompositionObject=Diaporama->List[CurIndex]->ObjectComposition.List[0]; cCompositionObject *ShotCompoObject =NULL; cBrushDefinition *CurrentBrush =CompositionObject->BackgroundBrush; // Set CompositionObject to full screen CompositionObject->x=0; CompositionObject->y=0; CompositionObject->w=1; CompositionObject->h=1; // Set other values CompositionObject->Text =""; CompositionObject->PenSize =0; CurrentBrush->BrushType =BRUSHTYPE_IMAGEDISK; // Create an cImageClipboard wrapper CurrentBrush->MediaObject=MediaObject; // Apply Styles CompositionObject->ApplyTextStyle(ApplicationConfig->StyleTextCollection.GetStyleDef(ApplicationConfig->StyleTextCollection.DecodeString(ApplicationConfig->DefaultBlockSL_IMG_TextST))); CompositionObject->ApplyBlockShapeStyle(ApplicationConfig->StyleBlockShapeCollection.GetStyleDef(ApplicationConfig->StyleBlockShapeCollection.DecodeString(ApplicationConfig->DefaultBlockSL_IMG_ShapeST))); qreal ProjectGeometry=qreal(Diaporama->ImageGeometry==GEOMETRY_4_3?1440:Diaporama->ImageGeometry==GEOMETRY_16_9?1080:Diaporama->ImageGeometry==GEOMETRY_40_17?816:1920)/qreal(1920); CurrentBrush->ApplyAutoFraming(ApplicationConfig->DefaultBlockSL[CurrentBrush->GetImageType()].AutoFraming,ProjectGeometry); CompositionObject->ApplyAutoCompoSize(ApplicationConfig->DefaultBlockSL[CurrentBrush->GetImageType()].AutoCompo,Diaporama->ImageGeometry); // Inc NextIndexKey Diaporama->List[CurIndex]->NextIndexKey++; // Now create and append a shot composition block to all shot for (int i=0;iList[CurIndex]->List.count();i++) { Diaporama->List[CurIndex]->List[i]->ShotComposition.List.append(new cCompositionObject(COMPOSITIONTYPE_SHOT,CompositionObject->IndexKey,ApplicationConfig,&Diaporama->List[CurIndex]->List[i]->ShotComposition)); Diaporama->List[CurIndex]->List[i]->ShotComposition.List[Diaporama->List[CurIndex]->List[i]->ShotComposition.List.count()-1]->CopyFromCompositionObject(CompositionObject); } // Now setup transition if (Diaporama->ApplicationConfig->RandomTransition) { qsrand(QTime(0,0,0,0).msecsTo(QTime::currentTime())); int Random=qrand(); Random=int(double(IconList.List.count())*(double(Random)/double(RAND_MAX))); if (RandomList[CurIndex]->TransitionFamilly=IconList.List[Random].TransitionFamilly; Diaporama->List[CurIndex]->TransitionSubType=IconList.List[Random].TransitionSubType; } } else { Diaporama->List[CurIndex]->TransitionFamilly=Diaporama->ApplicationConfig->DefaultTransitionFamilly; Diaporama->List[CurIndex]->TransitionSubType=Diaporama->ApplicationConfig->DefaultTransitionSubType; } Diaporama->List[CurIndex]->TransitionDuration=Diaporama->ApplicationConfig->DefaultTransitionDuration; // Compute Optimisation Flags for (int aa=0;aaList[CurIndex]->List.count();aa++) for (int bb=0;bbList[CurIndex]->List[aa]->ShotComposition.List.count();bb++) Diaporama->List[CurIndex]->List[aa]->ShotComposition.List[bb]->ComputeOptimisationFlags(aa>0?Diaporama->List[CurIndex]->List[aa-1]->ShotComposition.List[bb]:NULL); AdjustRuller(CurIndex); (ApplicationConfig->WindowDisplayMode==DISPLAYWINDOWMODE_PLAYER?ui->preview:ui->preview2)->SeekPlayer(Diaporama->GetObjectStartPosition(Diaporama->CurrentCol)+Diaporama->GetTransitionDuration(Diaporama->CurrentCol)); QApplication::restoreOverrideCursor(); ShotCompoObject=Diaporama->List[CurIndex]->List[0]->ShotComposition.List[0]; DlgImageCorrection Dlg(ShotCompoObject,&ShotCompoObject->BackgroundForm,ShotCompoObject->BackgroundBrush,0,Diaporama->ImageGeometry,Diaporama->ImageAnimSpeedWave,ApplicationConfig,this); Dlg.InitDialog(); if (Dlg.exec()==0) { // Lulo object must be removed ApplicationConfig->ImagesCache.RemoveImageObject(CompositionObject->BackgroundBrush->MediaObject->RessourceKey,CompositionObject->BackgroundBrush->MediaObject->FileKey); // Apply to GlobalComposition objects CompositionObject->CopyFromCompositionObject(ShotCompoObject); CompositionObject->BackgroundBrush->TypeComposition=CompositionObject->TypeComposition; // because CopyFromCompositionObject force it to COMPOSITIONTYPE_SHOT // Reset thumbnails of this slide ApplicationConfig->SlideThumbsTable->ClearThumbs(Diaporama->List[CurIndex]->ThumbnailKey); // Set title flag SetModifyFlag(true); } else { // Cancel delete Diaporama->List.takeAt(CurIndex); AdjustRuller(SavedCurIndex); CurIndex=SavedCurIndex; } QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); ui->timeline->ResetDisplay(CurIndex); // FLAGSTOPITEMSELECTION is set to false by ResetDisplay (ApplicationConfig->WindowDisplayMode==DISPLAYWINDOWMODE_PLAYER?ui->preview:ui->preview2)->SeekPlayer(Diaporama->GetObjectStartPosition(Diaporama->CurrentCol)+Diaporama->GetTransitionDuration(Diaporama->CurrentCol)); ui->timeline->setUpdatesEnabled(true); QApplication::restoreOverrideCursor(); } //==================================================================================================================== // Add a slide (image or video) //==================================================================================================================== void MainWindow::s_Action_AddFile() { ui->preview->SetPlayerToPause(); // Ensure player is stop ui->preview2->SetPlayerToPause(); // Ensure player is stop if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display QTimer::singleShot(LATENCY,this,SLOT(s_Action_AddFile())); return; } ui->ActionAdd_BT->setDown(false); ui->ActionAdd_BT_2->setDown(false); DlgFileExplorer Dlg(BROWSER_TYPE_MEDIAFILES,true,true,true,QApplication::translate("MainWindow","Add files"),ApplicationConfig,this); Dlg.InitDialog(); if (Dlg.exec()==0) FileList=Dlg.GetCurrentSelectedFiles(); ui->Browser->RefreshHere(); if (FileList.count()>0) { SavedCurIndex=Diaporama->CurrentCol; CurIndex =Diaporama->List.count()==0?0:(ApplicationConfig->AppendObject?Diaporama->List.count()-1:Diaporama->CurrentCol)+1; if (DlgWorkingTaskDialog) { DlgWorkingTaskDialog->close(); delete DlgWorkingTaskDialog; DlgWorkingTaskDialog=NULL; } DlgWorkingTaskDialog=new DlgWorkingTask(QApplication::translate("MainWindow","Add file to project"),&CancelAction,ApplicationConfig,this); DlgWorkingTaskDialog->InitDialog(); DlgWorkingTaskDialog->SetMaxValue(FileList.count(),0); QTimer::singleShot(LATENCY,this,SLOT(DoAddFile())); DlgWorkingTaskDialog->exec(); } } //==================================================================================================================== // Add a slide from drag & drop //==================================================================================================================== bool ByName(const QString &Item1,const QString &Item2) { return QFileInfo(Item1).completeBaseName()0)&&(((NameA[NumA]>='0')&&(NameA[NumA]<='9'))||((NameA[NumA]>='A')&&(NameA[NumA]<='F'))||((NameA[NumA]>='a')&&(NameA[NumA]<='f')))) NumA--; if (NumA>=0) NumA=NameA.mid(NumA+1).toInt(&ok1,16); QString NameB=QFileInfo(Item2).completeBaseName(); int NumB=NameB.length()-1; while ((NumB>0)&&(((NameB[NumB]>='0')&&(NameB[NumB]<='9'))||((NameB[NumB]>='A')&&(NameB[NumB]<='F'))||((NameB[NumB]>='a')&&(NameB[NumB]<='f')))) NumB--; if (NumB>=0) NumB=NameB.mid(NumB+1).toInt(&ok2,16); if (ok1 && ok2) return NumAtimeline->CursorPosValide) return; ui->preview->SetPlayerToPause(); // Ensure player is stop ui->preview2->SetPlayerToPause(); // Ensure player is stop if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display QTimer::singleShot(LATENCY,this,SLOT(s_Event_TimelineAddDragAndDropFile())); return; } CurIndex =ui->timeline->DragItemDest; SavedCurIndex=CurIndex-1; // Sort files in the fileList if (ui->Browser->GetSortOrder()==SORTORDER_BYNUMBER) qSort(FileList.begin(),FileList.end(),ByNumber); else if (ui->Browser->GetSortOrder()==SORTORDER_BYNAME) qSort(FileList.begin(),FileList.end(),ByName); else if (ui->Browser->GetSortOrder()==SORTORDER_BYDATE) qSort(FileList.begin(),FileList.end(),ByDate); // Parse all files to find music files (and put them in MusicFileList) QStringList MusicFileList; int i=0; while (iAllowMusicExtension.contains(QFileInfo(FileList.at(i)).suffix().toLower())) { cMusicObject *MediaFile=new cMusicObject(ApplicationConfig); if ((MediaFile)&&(MediaFile->GetInformationFromFile(FileList.at(i),NULL,NULL,-1)&&(MediaFile->CheckFormatValide(this)))) { MusicFileList.append(FileList.at(i)); FileList.removeAt(i); } else i++; } else i++; } if (MusicFileList.count()>0) s_Action_DoUseAsPlayList(MusicFileList,ui->timeline->DragItemDest); else { if (DlgWorkingTaskDialog) { DlgWorkingTaskDialog->close(); delete DlgWorkingTaskDialog; DlgWorkingTaskDialog=NULL; } DlgWorkingTaskDialog=new DlgWorkingTask(QApplication::translate("MainWindow","Add file to project"),&CancelAction,ApplicationConfig,this); DlgWorkingTaskDialog->InitDialog(); DlgWorkingTaskDialog->SetMaxValue(FileList.count(),0); QTimer::singleShot(LATENCY,this,SLOT(DoAddFile())); DlgWorkingTaskDialog->exec(); } } //==================================================================================================================== // Add a slide from a current reading of project //==================================================================================================================== void MainWindow::DoAppendFile() { if ((CurrentAppendingProjectNbrObject0)&& (CurrentAppendingRoot.elementsByTagName("Object-"+QString("%1").arg(CurrentAppendingProjectNbrObject)).item(0).isElement()==true)) { if (DlgWorkingTaskDialog) DlgWorkingTaskDialog->DisplayProgress(DlgWorkingTaskDialog->MaxValue+DlgWorkingTaskDialog->AddValue-FileList.count()-CurrentAppendingProjectObject+CurrentAppendingProjectNbrObject); Diaporama->List.insert(CurIndex,new cDiaporamaObject(Diaporama)); if (Diaporama->List[CurIndex]->LoadFromXML(CurrentAppendingRoot,"Object-"+QString("%1").arg(CurrentAppendingProjectNbrObject).trimmed(), QFileInfo(CurrentAppendingProjectName).absolutePath(),&AliasList,&ResKeyList,false)) { if (CurrentAppendingProjectNbrObject==0) Diaporama->List[CurIndex]->StartNewChapter=true; CurIndex++; } else delete Diaporama->List.takeAt(CurIndex); CurrentAppendingProjectNbrObject++; QTimer::singleShot(LATENCY,this,SLOT(DoAppendFile())); } else QTimer::singleShot(LATENCY,this,SLOT(DoAddFile())); } //==================================================================================================================== // Add an (sub) project //==================================================================================================================== void MainWindow::s_Action_AddProject() { ui->preview->SetPlayerToPause(); // Ensure player is stop ui->preview2->SetPlayerToPause(); // Ensure player is stop if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display QTimer::singleShot(LATENCY,this,SLOT(s_Action_AddProject())); return; } ui->ActionAddProject_BT->setDown(false); ui->ActionAddProject_BT_2->setDown(false); DlgFileExplorer Dlg(BROWSER_TYPE_PROJECT,true,true,true,QApplication::translate("MainWindow","Add a sub project"),ApplicationConfig,this); Dlg.InitDialog(); if (Dlg.exec()==0) FileList=Dlg.GetCurrentSelectedFiles(); ui->Browser->RefreshHere(); CancelAction=false; if (FileList.count()>0) { // Load object list CurrentLoadingProjectNbrObject=FileList.count(); CurrentLoadingProjectObject =0; CancelAction =false; // Open progress window if (DlgWorkingTaskDialog) { DlgWorkingTaskDialog->close(); delete DlgWorkingTaskDialog; DlgWorkingTaskDialog=NULL; } DlgWorkingTaskDialog=new DlgWorkingTask(QApplication::translate("MainWindow","Add files to project"),&CancelAction,ApplicationConfig,this); DlgWorkingTaskDialog->InitDialog(); DlgWorkingTaskDialog->SetMaxValue(CurrentLoadingProjectNbrObject,0); // Calc position of new object depending on ApplicationConfig->AppendObject SavedCurIndex=Diaporama->CurrentCol; CurIndex =Diaporama->List.count()==0?0:(ApplicationConfig->AppendObject?Diaporama->List.count()-1:Diaporama->CurrentCol)+1; ToStatusBar(QApplication::translate("MainWindow","Add project file :")+QFileInfo(FileList[0]).fileName()); QTimer::singleShot(LATENCY,this,SLOT(DoAddFile())); DlgWorkingTaskDialog->exec(); } } //==================================================================================================================== // Add a slide from a list of file (FileList) // This sub is called by himself and: // - s_Action_AddFile // - s_Event_TimelineAddDragAndDropFile // - DoAppendFile // - s_Action_AddProject // - s_Browser_AddFiles //==================================================================================================================== void MainWindow::DoAddFile() { if ((FileList.count()==0)||(CancelAction)) { if (DlgWorkingTaskDialog) { DlgWorkingTaskDialog->close(); delete DlgWorkingTaskDialog; DlgWorkingTaskDialog=NULL; } FileList.clear(); AdjustRuller(SavedCurIndex+1); FLAGSTOPITEMSELECTION=false; return; } if (DlgWorkingTaskDialog) { DlgWorkingTaskDialog->DisplayText(QApplication::translate("MainWindow","Add file to project :")+QFileInfo(FileList[0]).fileName()); DlgWorkingTaskDialog->DisplayProgress(DlgWorkingTaskDialog->MaxValue+DlgWorkingTaskDialog->AddValue-FileList.count()); } QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); QString NewFile =FileList.takeFirst(); int ChapterNum=-1; // if it's a ffDiaporama project file if ((QFileInfo(NewFile).suffix()!="")&&(QFileInfo(NewFile).suffix().toLower()=="ffd")) { CurrentAppendingProjectName=NewFile; QFile file(CurrentAppendingProjectName); QString errorStr; int errorLine,errorColumn; bool IsOk=true; if (file.open(QFile::ReadOnly | QFile::Text)) { ResKeyList.clear(); QTextStream InStream(&file); QString ffDPart; QString OtherPart="\n"; bool EndffDPart=false; InStream.setCodec("UTF-8"); while (!InStream.atEnd()) { QString Line=InStream.readLine(); if (!EndffDPart) { ffDPart.append(Line); if (Line=="") EndffDPart=true; } else { OtherPart.append(Line); if (Line.endsWith("/>")) { QDomDocument ResDoc; if (ResDoc.setContent(OtherPart,true,&errorStr,&errorLine,&errorColumn)) { QDomElement ResElem=ResDoc.documentElement(); if (ResElem.tagName()=="Ressource") { int Width =ResElem.attribute("Width").toInt(); int Height =ResElem.attribute("Height").toInt(); qlonglong Key =ResElem.attribute("Key").toLongLong(); QImage Thumb(Width,Height,QImage::Format_ARGB32_Premultiplied); QByteArray Compressed =QByteArray::fromHex(ResElem.attribute("Image").toUtf8()); QByteArray Decompressed =qUncompress(Compressed); Thumb.loadFromData(Decompressed); ResKeyList.append(ApplicationConfig->SlideThumbsTable->AppendThumbs(Key,Thumb)); } } // Go to next ressource OtherPart="\n"; } } } file.close(); // Now import ffDPart if ((CurrentAppendingProjectDocument.setContent(ffDPart,true,&errorStr,&errorLine,&errorColumn))) { CurrentAppendingRoot=CurrentAppendingProjectDocument.documentElement(); if (CurrentAppendingRoot.tagName()!=APPLICATION_ROOTNAME) { CustomMessageBox(NULL,QMessageBox::Critical,QApplication::translate("MainWindow","Error","Error message"),QApplication::translate("MainWindow","The file is not a valid project file","Error message"),QMessageBox::Close); IsOk=false; } if ((IsOk)&&((CurrentAppendingRoot.elementsByTagName("Project").length()>0)&&(CurrentAppendingRoot.elementsByTagName("Project").item(0).isElement()==true))) { QDomElement Element=CurrentAppendingRoot.elementsByTagName("Project").item(0).toElement(); ffd_GEOMETRY TheImageGeometry =(ffd_GEOMETRY)Element.attribute("ImageGeometry").toInt(); if (TheImageGeometry!=Diaporama->ImageGeometry) { CustomMessageBox(NULL,QMessageBox::Critical,QApplication::translate("MainWindow","Error","Error message"),QApplication::translate("MainWindow","Impossible to import this file :\nImage geometry in this file is not the same than the current project","Error message"),QMessageBox::Close); IsOk=false; } } // Load basic information on project if ((IsOk)&&((CurrentAppendingRoot.elementsByTagName("Project").length()>0)&&(CurrentAppendingRoot.elementsByTagName("Project").item(0).isElement()==true))) { QDomElement Element=CurrentAppendingRoot.elementsByTagName("Project").item(0).toElement(); // Load object list CurrentAppendingProjectObject =Element.attribute("ObjectNumber").toInt(); CurrentAppendingProjectNbrObject=0; if (DlgWorkingTaskDialog) DlgWorkingTaskDialog->SetMaxValue(DlgWorkingTaskDialog->MaxValue,DlgWorkingTaskDialog->AddValue+CurrentAppendingProjectObject); QTimer::singleShot(LATENCY,this,SLOT(DoAppendFile())); } } else { file.close(); CustomMessageBox(NULL,QMessageBox::Critical,QApplication::translate("MainWindow","Error","Error message"),QApplication::translate("MainWindow","Error reading content of project file","Error message"),QMessageBox::Close); QTimer::singleShot(LATENCY,this,SLOT(DoAddFile())); } } else { CustomMessageBox(NULL,QMessageBox::Critical,QApplication::translate("MainWindow","Error","Error message"),QApplication::translate("MainWindow","Error reading project file","Error message"),QMessageBox::Close); QTimer::singleShot(LATENCY,this,SLOT(DoAddFile())); } } else { // Image or video file // Chapter adjustement if (NewFile.contains("#CHAP_")) { ChapterNum=NewFile.mid(NewFile.indexOf("#CHAP_")+QString("#CHAP_").length()).toInt(); NewFile =NewFile.left(NewFile.indexOf("#CHAP_")); } QString BrushFileName=QFileInfo(NewFile).absoluteFilePath(); QString Extension =QFileInfo(BrushFileName).suffix().toLower(); cBaseMediaFile *MediaFile=NULL; if (ApplicationConfig->AllowImageExtension.contains(Extension)) MediaFile=new cImageFile(ApplicationConfig); else if (ApplicationConfig->AllowImageVectorExtension.contains(Extension)) MediaFile=new cImageFile(ApplicationConfig); else if (ApplicationConfig->AllowVideoExtension.contains(Extension)) MediaFile=new cVideoFile(ApplicationConfig); if ((MediaFile)&&(MediaFile->GetInformationFromFile(BrushFileName,NULL,NULL,-1)&&(MediaFile->CheckFormatValide(this)))) { cVideoFile *Video=(MediaFile->ObjectType==OBJECTTYPE_VIDEOFILE)?(cVideoFile *)MediaFile:NULL; //********************************************** // Chapter management //********************************************** if ((Video)&&(ChapterNum==-1)&&(Video->NbrChapters>1)&&(CustomMessageBox(this,QMessageBox::Question,QApplication::translate("cBaseMediaFile","Add video file"), QApplication::translate("MainWindow","This video files contains more than one chapter.\nDo you want to create one slide for each chapters ?"),QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::Yes)) { // Define Chapter index for this file ChapterNum=0; // Insert this file again at top for each chapters for (int i=Video->NbrChapters-1;i>0;i--) FileList.insert(0,NewFile+"#CHAP_"+QString("%1").arg(i)); } //********************************************** // Create Diaporama Object and load first image //********************************************** if (CurIndex==-1) CurIndex=0; Diaporama->List.insert(CurIndex,new cDiaporamaObject(Diaporama)); cDiaporamaObject *DiaporamaObject =Diaporama->List[CurIndex]; DiaporamaObject->List[0]->Parent =DiaporamaObject; DiaporamaObject->List[0]->StaticDuration=ApplicationConfig->NoShotDuration; DiaporamaObject->Parent =Diaporama; // Create and append a composition block to the object list DiaporamaObject->ObjectComposition.List.append(new cCompositionObject(COMPOSITIONTYPE_OBJECT,DiaporamaObject->NextIndexKey,ApplicationConfig,&DiaporamaObject->ObjectComposition)); cCompositionObject *CompositionObject =DiaporamaObject->ObjectComposition.List[DiaporamaObject->ObjectComposition.List.count()-1]; cBrushDefinition *CurrentBrush =CompositionObject->BackgroundBrush; // Set CompositionObject to full screen CompositionObject->x=0; CompositionObject->y=0; CompositionObject->w=1; CompositionObject->h=1; // Set other values CompositionObject->Text =""; CompositionObject->PenSize =0; CurrentBrush->BrushType =BRUSHTYPE_IMAGEDISK; DiaporamaObject->SlideName =QFileInfo(NewFile).fileName(); //***************************************************** // Transfert mediafile to brush and chapter management //***************************************************** CurrentBrush->MediaObject=MediaFile; if (Video) { DiaporamaObject->List[0]->StaticDuration=1000; if (ChapterNum>=0) { QStringList TempExtProperties; ApplicationConfig->FilesTable->GetExtendedProperties(MediaFile->FileKey,&TempExtProperties); QString ChapterStr=QString("%1").arg(ChapterNum); while (ChapterStr.length()<3) ChapterStr="0"+ChapterStr; ChapterStr="Chapter_"+ChapterStr+":"; QString Start=GetInformationValue(ChapterStr+"Start",&TempExtProperties); QString End =GetInformationValue(ChapterStr+"End",&TempExtProperties); Video->StartPos=QTime().fromString(Start); Video->EndPos =QTime().fromString(End); DiaporamaObject->SlideName =GetInformationValue(ChapterStr+"title",&TempExtProperties); } else { Video->EndPos=Video->Duration; if (Video->LibavStartTime>0) Video->StartPos=QTime(0,0,0,0).addMSecs(int64_t((double(Video->LibavStartTime)/AV_TIME_BASE)*1000)); } QString FileExtension=QFileInfo(Video->FileName()).completeSuffix().toLower(); CurrentBrush->Deinterlace=(ApplicationConfig->Deinterlace)&&(Video)&&((FileExtension=="mts")||(FileExtension=="m2ts")||(FileExtension=="mod")); } //********************************************** // Apply default style to media file //********************************************** // Apply Styles for texte CompositionObject->ApplyTextStyle(ApplicationConfig->StyleTextCollection.GetStyleDef(ApplicationConfig->StyleTextCollection.DecodeString(ApplicationConfig->DefaultBlockSL_IMG_TextST))); // Apply Styles for shape CompositionObject->ApplyBlockShapeStyle(ApplicationConfig->StyleBlockShapeCollection.GetStyleDef(ApplicationConfig->StyleBlockShapeCollection.DecodeString(ApplicationConfig->DefaultBlockSL_IMG_ShapeST))); // Apply styles for coordinates qreal ProjectGeometry=qreal(Diaporama->ImageGeometry==GEOMETRY_4_3?1440:Diaporama->ImageGeometry==GEOMETRY_16_9?1080:Diaporama->ImageGeometry==GEOMETRY_40_17?816:1920)/qreal(1920); CurrentBrush->ApplyAutoFraming(ApplicationConfig->DefaultBlockSL[CurrentBrush->GetImageType()].AutoFraming,ProjectGeometry); if (CurrentBrush->MediaObject->ObjectType==OBJECTTYPE_IMAGEVECTOR) { CompositionObject->ApplyAutoCompoSize(AUTOCOMPOSIZE_REALSIZE,Diaporama->ImageGeometry); // adjust for image was not too small ! if ((CompositionObject->w<0.2)&&(CompositionObject->h<0.2)) { while ((CompositionObject->w<0.2)&&(CompositionObject->h<0.2)) { CompositionObject->w=CompositionObject->w*2; CompositionObject->h=CompositionObject->h*2; } CompositionObject->x=(1-CompositionObject->w)/2; CompositionObject->y=(1-CompositionObject->h)/2; } } else CompositionObject->ApplyAutoCompoSize(ApplicationConfig->DefaultBlockSL[CurrentBrush->GetImageType()].AutoCompo,Diaporama->ImageGeometry); //************************************************************* // Now create and append a shot composition block to all shot //************************************************************* for (int i=0;iList.count();i++) { DiaporamaObject->List[i]->ShotComposition.List.append(new cCompositionObject(COMPOSITIONTYPE_SHOT,CompositionObject->IndexKey,ApplicationConfig,&DiaporamaObject->List[i]->ShotComposition)); DiaporamaObject->List[i]->ShotComposition.List[DiaporamaObject->List[i]->ShotComposition.List.count()-1]->CopyFromCompositionObject(CompositionObject); } //************************************************************* // Now setup transition //************************************************************* if (ChapterNum<1) { if (Diaporama->ApplicationConfig->RandomTransition) { qsrand(QTime(0,0,0,0).msecsTo(QTime::currentTime())); int Random=qrand(); Random=int(double(IconList.List.count())*(double(Random)/double(RAND_MAX))); if (RandomList[CurIndex]->TransitionFamilly=IconList.List[Random].TransitionFamilly; Diaporama->List[CurIndex]->TransitionSubType=IconList.List[Random].TransitionSubType; } } else { Diaporama->List[CurIndex]->TransitionFamilly=Diaporama->ApplicationConfig->DefaultTransitionFamilly; Diaporama->List[CurIndex]->TransitionSubType=Diaporama->ApplicationConfig->DefaultTransitionSubType; } Diaporama->List[CurIndex]->TransitionDuration=Diaporama->ApplicationConfig->DefaultTransitionDuration; } else { // No transition for chapter > 1 Diaporama->List[CurIndex]->TransitionFamilly =TRANSITIONFAMILLY_BASE; Diaporama->List[CurIndex]->TransitionSubType =0; Diaporama->List[CurIndex]->TransitionDuration=0; } if (ChapterNum>=0) { // But keep chapter information Diaporama->List[CurIndex]->StartNewChapter =true; } // Compute Optimisation Flags for (int aa=0;aaList[CurIndex]->List.count();aa++) for (int bb=0;bbList[CurIndex]->List[aa]->ShotComposition.List.count();bb++) Diaporama->List[CurIndex]->List[aa]->ShotComposition.List[bb]->ComputeOptimisationFlags(aa>0?Diaporama->List[CurIndex]->List[aa-1]->ShotComposition.List[bb]:NULL); // Inc NextIndexKey DiaporamaObject->NextIndexKey++; // Generate slide thumbs int ThumbWidth =Diaporama->GetWidthForHeight(ApplicationConfig->TimelineHeight/2-4)+36+5; int NewThumbWidth =ThumbWidth-36-6; int NewThumbHeight =Diaporama->GetHeightForWidth(NewThumbWidth); int BarWidth =(ThumbWidth-NewThumbWidth)/2; int VideoThumbWidth =NewThumbWidth-BarWidth*2; int VideoThumbHeight=Diaporama->GetHeightForWidth(VideoThumbWidth); if (Video) Diaporama->List[CurIndex]->DrawThumbnail(VideoThumbWidth,VideoThumbHeight,NULL,0,0,0); else Diaporama->List[CurIndex]->DrawThumbnail(NewThumbWidth,NewThumbHeight,NULL,0,0,0); // Set title flag SetModifyFlag(true); } CurIndex++; QTimer::singleShot(LATENCY,this,SLOT(DoAddFile())); } QApplication::restoreOverrideCursor(); } //==================================================================================================================== // Define a music playlist (Drag & drop or browser contextual menu) //==================================================================================================================== void MainWindow::s_Action_DoUseAsPlayList(QStringList &MusicFileList,int Index) { if ((Index>=0)&&(IndexList.count())) { bool ModifyFlag=false; while (Diaporama->List[Index]->MusicList.count()) Diaporama->List[Index]->MusicList.removeAt(0); for (int i=0;iList[Index]->MusicList.count(); Diaporama->List[Index]->MusicList.insert(CurMusIndex,cMusicObject(ApplicationConfig)); if (!Diaporama->List[Index]->MusicList[CurMusIndex].GetInformationFromFile(MusicFileList[i],NULL,&ModifyFlag)&&(!Diaporama->List[Index]->MusicList[CurMusIndex].CheckFormatValide(this))) Diaporama->List[Index]->MusicList.removeAt(CurMusIndex); } Diaporama->List[Index]->MusicType=true; Diaporama->List[Index]->MusicPause=false; Diaporama->List[Index]->MusicReduceVolume=false; SetModifyFlag(true); Diaporama->UpdateCachedInformation(); ui->timeline->setUpdatesEnabled(false); ui->timeline->setUpdatesEnabled(true); } } //==================================================================================================================== void MainWindow::s_VideoPlayer_SaveImageEvent() { ui->preview->SetPlayerToPause(); // Ensure player is stop ui->preview2->SetPlayerToPause(); // Ensure player is stop if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display QTimer::singleShot(LATENCY,this,SLOT(s_VideoPlayer_SaveImageEvent())); return; } QStringList Size; QMenu *ContextMenu=new QMenu(this); for (int i=0;iImageGeometry][i].Width).arg(Diaporama->GetHeightForWidth(DefImageFormat[0][ApplicationConfig->ImageGeometry][i].Width))); // Sort list for (int i=0;ib) Size.swap(j,j+1); } } for (int i=0;isetFont(QFont("Sans Serif",9)); ContextMenu->addAction(UpdateAction); } QAction *Ret=ContextMenu->exec(QCursor::pos()); if (Ret!=NULL) { QString Format=Ret->text().mid(QApplication::translate("MainWindow","Capture the image ").length()); int Width =Format.left(Format.indexOf("x")).toInt(); int Height=Format.mid(Format.indexOf("x")+1).toInt(); QString OutputFileName=QDir::toNativeSeparators(ApplicationConfig->SettingsTable->GetTextValue(QString("%1_path").arg(BrowserTypeDef[BROWSER_TYPE_CAPTUREIMAGE].BROWSERString),DefaultProjectPath)); QString Filter="PNG (*.png)"; if (!OutputFileName.endsWith(QDir::separator())) OutputFileName=OutputFileName+QDir::separator(); OutputFileName=OutputFileName+QApplication::translate("MainWindow","Capture image"); OutputFileName=QFileDialog::getSaveFileName(this,QApplication::translate("MainWindow","Select destination file"),OutputFileName,"PNG (*.png);;JPG (*.jpg)",&Filter); if (OutputFileName!="") { QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); if (ApplicationConfig->RememberLastDirectories) ApplicationConfig->SettingsTable->SetTextValue(QString("%1_path").arg(BrowserTypeDef[BROWSER_TYPE_CAPTUREIMAGE].BROWSERString),QFileInfo(OutputFileName).absolutePath()); // Keep folder for next use if ((Filter.toLower().indexOf("png")!=-1)&&(!OutputFileName.endsWith(".png"))) OutputFileName=OutputFileName+".png"; if ((Filter.toLower().indexOf("jpg")!=-1)&&(!OutputFileName.endsWith(".jpg"))) OutputFileName=OutputFileName+".jpg"; cDiaporamaObjectInfo *Frame=new cDiaporamaObjectInfo(NULL,Diaporama->CurrentPosition,Diaporama,1,false); QList PreparedTransitBrushList; QList PreparedBrushList; if ((Frame->IsTransition)&&(Frame->TransitObject)) Diaporama->CreateObjectContextList(Frame,Width,Height,false,false,true,PreparedTransitBrushList,Diaporama); Diaporama->CreateObjectContextList(Frame,Width,Height,true,false,true,PreparedBrushList,Diaporama); Diaporama->LoadSources(Frame,Width,Height,false,true,PreparedTransitBrushList,PreparedBrushList); Diaporama->DoAssembly(ComputePCT(Frame->CurrentObject?Frame->CurrentObject->GetSpeedWave():0,Frame->TransitionPCTDone),Frame,Width,Height); Frame->RenderedImage.save(OutputFileName,0,100); QApplication::restoreOverrideCursor(); delete Frame; } } delete ContextMenu; } //==================================================================================================================== void MainWindow::s_Event_ContextualMenu(QMouseEvent *) { ui->preview->SetPlayerToPause(); // Ensure player is stop ui->preview2->SetPlayerToPause(); // Ensure player is stop if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display QTimer::singleShot(LATENCY,this,SLOT(s_Event_ContextualMenu())); return; } int Current=ui->timeline->CurrentSelected(); QList SlideList; if ((Current<0)||(Current>=Diaporama->List.count())) return; ui->timeline->CurrentSelectionList(&SlideList); QMenu *ContextMenu=new QMenu(this); if (SlideList.count()==1) { // Single slide selection ContextMenu->addAction(ui->actionAddTitle); ContextMenu->addAction(ui->actionAddFiles); ContextMenu->addAction(ui->actionAddProject); ContextMenu->addSeparator(); ContextMenu->addAction(ui->actionEdit_background); ContextMenu->addAction(ui->actionEdit_object); ContextMenu->addAction(ui->actionEdit_music); ContextMenu->addAction(ui->actionEdit_object_in_transition); ContextMenu->addSeparator(); ContextMenu->addAction(ui->actionCut); ContextMenu->addAction(ui->actionCopy); ContextMenu->addAction(ui->actionPaste); ContextMenu->addSeparator(); ContextMenu->addAction(ui->actionRemove); } else if (SlideList.count()>1) { // Multiple slide selection ContextMenu->addAction(ui->actionAddTitle); ContextMenu->addAction(ui->actionAddFiles); ContextMenu->addAction(ui->actionAddProject); ContextMenu->addSeparator(); ContextMenu->addAction(ui->actionCut); ContextMenu->addAction(ui->actionCopy); ContextMenu->addAction(ui->actionPaste); ContextMenu->addSeparator(); ContextMenu->addAction(ui->actionSet_first_shot_duration); ContextMenu->addAction(ui->actionReset_background); ContextMenu->addAction(ui->actionReset_musictrack); ContextMenu->addSeparator(); ContextMenu->addAction(ui->actionRemove_transition); ContextMenu->addAction(ui->actionSelect_a_transition); ContextMenu->addAction(ui->actionSet_transition_duration); ContextMenu->addAction(ui->actionRandomize_transition); ContextMenu->addSeparator(); ContextMenu->addAction(ui->actionRemove); } ContextMenu->exec(QCursor::pos()); delete ContextMenu; } //==================================================================================================================== void MainWindow::s_Action_EditObject() { ui->preview->SetPlayerToPause(); // Ensure player is stop ui->preview2->SetPlayerToPause(); // Ensure player is stop if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display QTimer::singleShot(LATENCY,this,SLOT(s_Action_EditObject())); return; } int Current=ui->timeline->CurrentSelected(); QList SlideList; if ((Current<0)||(Current>=Diaporama->List.count())) return; ui->timeline->CurrentSelectionList(&SlideList); QMenu *ContextMenu=new QMenu(this); if (SlideList.count()==1) { // Single slide selection ContextMenu->addAction(ui->actionEdit_background); ContextMenu->addAction(ui->actionEdit_object); ContextMenu->addAction(ui->actionEdit_music); ContextMenu->addAction(ui->actionEdit_object_in_transition); } else if (SlideList.count()>1) { // Multiple slide selection ContextMenu->addAction(ui->actionSet_first_shot_duration); ContextMenu->addAction(ui->actionReset_background); ContextMenu->addAction(ui->actionReset_musictrack); ContextMenu->addSeparator(); ContextMenu->addAction(ui->actionRemove_transition); ContextMenu->addAction(ui->actionSelect_a_transition); ContextMenu->addAction(ui->actionSet_transition_duration); ContextMenu->addAction(ui->actionRandomize_transition); } ContextMenu->exec(QCursor::pos()); delete ContextMenu; ui->ActionEdit_BT->setDown(false); ui->ActionEdit_BT_2->setDown(false); } //==================================================================================================================== void MainWindow::s_Action_RemoveObject() { ui->preview->SetPlayerToPause(); // Ensure player is stop ui->preview2->SetPlayerToPause(); // Ensure player is stop if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display QTimer::singleShot(LATENCY,this,SLOT(s_Action_RemoveObject())); return; } ui->ActionRemove_BT->setDown(false); ui->ActionRemove_BT_2->setDown(false); int Current=ui->timeline->CurrentSelected(); QList SlideList; if ((Current<0)||(Current>=Diaporama->List.count())) return; ui->timeline->CurrentSelectionList(&SlideList); if (SlideList.count()==1) { if ((ApplicationConfig->AskUserToRemove)&&(CustomMessageBox(this,QMessageBox::Question,QApplication::translate("MainWindow","Remove slide"),QApplication::translate("MainWindow","Are you sure you want to remove this slide?"), QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::No)) return; } else { if ((ApplicationConfig->AskUserToRemove)&&(CustomMessageBox(this,QMessageBox::Question,QApplication::translate("MainWindow","Remove multiple slides"),QApplication::translate("MainWindow","Are you sure you want to remove these %1 slides?").arg(SlideList.count()), QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::No)) return; } QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); ui->timeline->setUpdatesEnabled(false); FLAGSTOPITEMSELECTION=true; while (SlideList.count()>0) { int ToRemove=SlideList.takeLast(); delete Diaporama->List.takeAt(ToRemove); if (Current>=ToRemove) Current--; } if (Current<0) Current=0; if (Current>=Diaporama->List.count()) Current=Diaporama->List.count()-1; ui->timeline->ResetDisplay(Current); // FLAGSTOPITEMSELECTION is set to false by ResetDisplay (ApplicationConfig->WindowDisplayMode==DISPLAYWINDOWMODE_PLAYER?ui->preview:ui->preview2)->SeekPlayer(Diaporama->GetObjectStartPosition(Current)+Diaporama->GetTransitionDuration(Current)); SetModifyFlag(true); AdjustRuller(); ui->timeline->setUpdatesEnabled(true); QApplication::restoreOverrideCursor(); } //==================================================================================================================== void MainWindow::s_Action_CutToClipboard() { ui->preview->SetPlayerToPause(); // Ensure player is stop ui->preview2->SetPlayerToPause(); // Ensure player is stop if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display QTimer::singleShot(LATENCY,this,SLOT(s_Action_CutToClipboard())); return; } ui->ActionCut_BT->setDown(false); ui->ActionCut_BT_2->setDown(false); int Current=ui->timeline->CurrentSelected(); QList SlideList; if ((Current<0)||(Current>=Diaporama->List.count())) return; ui->timeline->CurrentSelectionList(&SlideList); QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); // Create xml document and root QDomDocument Object=QDomDocument(APPLICATION_NAME); QDomElement root =Object.createElement("CLIPBOARD"); root.setAttribute("SlideNumber",SlideList.count()); for (int i=0;iList[SlideList[i]]->SaveToXML(SlideClipboard,"CLIPBOARD-OBJECT",Diaporama->ProjectFileName,true,NULL,NULL,false); root.appendChild(SlideClipboard); } Object.appendChild(root); // Transfert xml document to clipboard QMimeData *SlideData=new QMimeData(); SlideData->setData("ffDiaporama/slide",Object.toByteArray()); QApplication::clipboard()->setMimeData(SlideData); s_Action_RemoveObject(); // RefreshControls() done by s_Action_RemoveObject() QApplication::restoreOverrideCursor(); } //==================================================================================================================== void MainWindow::s_Action_CopyToClipboard() { ui->preview->SetPlayerToPause(); // Ensure player is stop ui->preview2->SetPlayerToPause(); // Ensure player is stop if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display QTimer::singleShot(LATENCY,this,SLOT(s_Action_CopyToClipboard())); return; } ui->ActionCopy_BT->setDown(false); ui->ActionCopy_BT_2->setDown(false); int Current=ui->timeline->CurrentSelected(); QList SlideList; if ((Current<0)||(Current>=Diaporama->List.count())) return; ui->timeline->CurrentSelectionList(&SlideList); QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); // Create xml document and root QDomDocument Object=QDomDocument(APPLICATION_NAME); QDomElement root =Object.createElement("CLIPBOARD"); root.setAttribute("SlideNumber",SlideList.count()); for (int i=0;iList[SlideList[i]]->SaveToXML(SlideClipboard,"CLIPBOARD-OBJECT",Diaporama->ProjectFileName,true,NULL,NULL,false); root.appendChild(SlideClipboard); } Object.appendChild(root); // Transfert xml document to clipboard QMimeData *SlideData=new QMimeData(); SlideData->setData("ffDiaporama/slide",Object.toByteArray()); QApplication::clipboard()->setMimeData(SlideData); QApplication::restoreOverrideCursor(); } //==================================================================================================================== void MainWindow::s_Action_PasteFromClipboard() { ui->preview->SetPlayerToPause(); // Ensure player is stop ui->preview2->SetPlayerToPause(); // Ensure player is stop if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display QTimer::singleShot(LATENCY,this,SLOT(s_Action_PasteFromClipboard())); return; } ui->ActionPaste_BT->setDown(false); ui->ActionPaste_BT_2->setDown(false); // Calc position of new object depending on ApplicationConfig->AppendObject int SavedCurIndex=ApplicationConfig->AppendObject?Diaporama->List.count():Diaporama->CurrentCol; int CurIndex=Diaporama->List.count()!=0?SavedCurIndex+1:0; if (SavedCurIndex==Diaporama->List.count()) SavedCurIndex--; QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); ClipboardLock=true; QClipboard *Clipboard=QApplication::clipboard(); const QMimeData *Mime =Clipboard?Clipboard->mimeData():NULL; if ((Mime)&&(Mime->hasImage())) { QImage ImageClipboard=Clipboard->image(); if (ImageClipboard.isNull()) { CustomMessageBox(NULL,QMessageBox::Critical,QApplication::translate("MainWindow","Error","Error message"), QApplication::translate("MainWindow","Error getting image from clipboard","Error message"),QMessageBox::Close); } else { cImageClipboard *MediaObject=new cImageClipboard(ApplicationConfig); MediaObject->CreatDateTime=QDateTime().currentDateTime(); ApplicationConfig->SlideThumbsTable->SetThumbs(&MediaObject->RessourceKey,ImageClipboard); MediaObject->GetInformationFromFile("",NULL,NULL,-1); // Create Diaporama Object and load first image Diaporama->List.insert(CurIndex,new cDiaporamaObject(Diaporama)); cDiaporamaObject *DiaporamaObject =Diaporama->List[CurIndex]; DiaporamaObject->List[0]->Parent =DiaporamaObject; DiaporamaObject->List[0]->StaticDuration=ApplicationConfig->NoShotDuration; DiaporamaObject->Parent =Diaporama; // Create and append a composition block to the object list DiaporamaObject->ObjectComposition.List.append(new cCompositionObject(COMPOSITIONTYPE_OBJECT,DiaporamaObject->NextIndexKey,ApplicationConfig,&DiaporamaObject->ObjectComposition)); cCompositionObject *CompositionObject =DiaporamaObject->ObjectComposition.List[DiaporamaObject->ObjectComposition.List.count()-1]; cBrushDefinition *CurrentBrush =CompositionObject->BackgroundBrush; // Set CompositionObject to full screen CompositionObject->x=0; CompositionObject->y=0; CompositionObject->w=1; CompositionObject->h=1; // Set other values CompositionObject->Text =""; CompositionObject->PenSize =0; CurrentBrush->BrushType =BRUSHTYPE_IMAGEDISK; DiaporamaObject->SlideName =MediaObject->GetFileTypeStr(); // Transfert mediafile to brush and chapter management CurrentBrush->MediaObject=MediaObject; // Apply Styles for texte CompositionObject->ApplyTextStyle(ApplicationConfig->StyleTextCollection.GetStyleDef(ApplicationConfig->StyleTextCollection.DecodeString(ApplicationConfig->DefaultBlockSL_IMG_TextST))); // Apply Styles for shape CompositionObject->ApplyBlockShapeStyle(ApplicationConfig->StyleBlockShapeCollection.GetStyleDef(ApplicationConfig->StyleBlockShapeCollection.DecodeString(ApplicationConfig->DefaultBlockSL_IMG_ShapeST))); // Apply styles for coordinates qreal ProjectGeometry=qreal(Diaporama->ImageGeometry==GEOMETRY_4_3?1440:Diaporama->ImageGeometry==GEOMETRY_16_9?1080:Diaporama->ImageGeometry==GEOMETRY_40_17?816:1920)/qreal(1920); CurrentBrush->ApplyAutoFraming(ApplicationConfig->DefaultBlockSL[CurrentBrush->GetImageType()].AutoFraming,ProjectGeometry); CompositionObject->ApplyAutoCompoSize(ApplicationConfig->DefaultBlockSL[CurrentBrush->GetImageType()].AutoCompo,Diaporama->ImageGeometry); // Now create and append a shot composition block to all shot for (int i=0;iList.count();i++) { DiaporamaObject->List[i]->ShotComposition.List.append(new cCompositionObject(COMPOSITIONTYPE_SHOT,CompositionObject->IndexKey,ApplicationConfig,&DiaporamaObject->List[i]->ShotComposition)); DiaporamaObject->List[i]->ShotComposition.List[DiaporamaObject->List[i]->ShotComposition.List.count()-1]->CopyFromCompositionObject(CompositionObject); } // Setup transition if (Diaporama->ApplicationConfig->RandomTransition) { qsrand(QTime(0,0,0,0).msecsTo(QTime::currentTime())); int Random=qrand(); Random=int(double(IconList.List.count())*(double(Random)/double(RAND_MAX))); if (RandomList[CurIndex]->TransitionFamilly=IconList.List[Random].TransitionFamilly; Diaporama->List[CurIndex]->TransitionSubType=IconList.List[Random].TransitionSubType; } } else { Diaporama->List[CurIndex]->TransitionFamilly=Diaporama->ApplicationConfig->DefaultTransitionFamilly; Diaporama->List[CurIndex]->TransitionSubType=Diaporama->ApplicationConfig->DefaultTransitionSubType; } Diaporama->List[CurIndex]->TransitionDuration=Diaporama->ApplicationConfig->DefaultTransitionDuration; // Compute Optimisation Flags for (int aa=0;aaList[CurIndex]->List.count();aa++) for (int bb=0;bbList[CurIndex]->List[aa]->ShotComposition.List.count();bb++) Diaporama->List[CurIndex]->List[aa]->ShotComposition.List[bb]->ComputeOptimisationFlags(aa>0?Diaporama->List[CurIndex]->List[aa-1]->ShotComposition.List[bb]:NULL); // Inc NextIndexKey DiaporamaObject->NextIndexKey++; // Generate slide thumbs int ThumbWidth =Diaporama->GetWidthForHeight(ApplicationConfig->TimelineHeight/2-4)+36+5; int NewThumbWidth =ThumbWidth-36-6; int NewThumbHeight =Diaporama->GetHeightForWidth(NewThumbWidth); Diaporama->List[CurIndex]->DrawThumbnail(NewThumbWidth,NewThumbHeight,NULL,0,0,0); } } else if ((Mime)&&(Mime->hasFormat("ffDiaporama/slide"))) { QDomDocument Object=QDomDocument(APPLICATION_NAME); Object.setContent(Mime->data("ffDiaporama/slide")); if ((Object.elementsByTagName("CLIPBOARD").length()>0)&&(Object.elementsByTagName("CLIPBOARD").item(0).isElement()==true)) { QDomElement root =Object.elementsByTagName("CLIPBOARD").item(0).toElement(); int SlideNumber =0; ui->timeline->setUpdatesEnabled(false); if (root.hasAttribute("SlideNumber")) SlideNumber=root.attribute("SlideNumber").toInt(); for (int i=0;i0)&&(root.elementsByTagName(QString("CLIPBOARD_%1").arg(i)).item(0).isElement()==true)) { QDomElement SlideClipboard=root.elementsByTagName(QString("CLIPBOARD_%1").arg(i)).item(0).toElement(); Diaporama->List.insert(CurIndex,new cDiaporamaObject(Diaporama)); Diaporama->List[CurIndex]->LoadFromXML(SlideClipboard,"CLIPBOARD-OBJECT","",NULL,NULL,false); // No duplicate ressource on paste CurIndex++; } } } } ClipboardLock=false; // Set title flag SetModifyFlag(true); // Set current selection to first new object ui->timeline->ResetDisplay(SavedCurIndex+1); AdjustRuller(); ui->timeline->setUpdatesEnabled(true); QApplication::restoreOverrideCursor(); } //==================================================================================================================== void MainWindow::s_Event_ClipboardChanged() { if (!ClipboardLock) { ClipboardLock=true; QClipboard *Clipboard=QApplication::clipboard(); const QMimeData *Mime =Clipboard?Clipboard->mimeData():NULL; bool Enable =(Mime)&&((Mime->hasFormat("ffDiaporama/slide"))||(Mime->hasImage())); ui->ActionPaste_BT->setEnabled(Enable); ui->ActionPaste_BT_2->setEnabled(Enable); ui->actionPaste->setEnabled(Enable); ClipboardLock=false; } } //==================================================================================================================== // Adjust preview ruller depending on current Disporama Currentcol //==================================================================================================================== void MainWindow::AdjustRuller(int CurIndex) { Diaporama->UpdateCachedInformation(); ui->preview->SetActualDuration(Diaporama->GetDuration()); ui->preview2->SetActualDuration(Diaporama->GetDuration()); if (CurIndex!=-1) { FLAGSTOPITEMSELECTION=true; ui->timeline->AddObjectToTimeLine(CurIndex); FLAGSTOPITEMSELECTION=false; (ApplicationConfig->WindowDisplayMode==DISPLAYWINDOWMODE_PLAYER?ui->preview:ui->preview2)->SeekPlayer(Diaporama->GetObjectStartPosition(Diaporama->CurrentCol)+Diaporama->GetTransitionDuration(Diaporama->CurrentCol)); } else ui->timeline->repaint(); if (Diaporama->List.count()>0) { Diaporama->ProjectInfo->Duration=QTime(0,0,0,0).addMSecs(Diaporama->GetDuration()); Diaporama->ProjectInfo->NbrSlide=Diaporama->List.count(); ui->preview->SetStartEndPos( Diaporama->GetObjectStartPosition(Diaporama->CurrentCol), // Current slide Diaporama->List[Diaporama->CurrentCol]->CachedDuration, (Diaporama->CurrentCol>0)?Diaporama->GetObjectStartPosition(Diaporama->CurrentCol-1):((Diaporama->CurrentCol==0)?0:-1), // Previous slide (Diaporama->CurrentCol>0)?Diaporama->List[Diaporama->CurrentCol-1]->CachedDuration:((Diaporama->CurrentCol==0)?Diaporama->GetTransitionDuration(Diaporama->CurrentCol):0), Diaporama->CurrentCol<(Diaporama->List.count()-1)?Diaporama->GetObjectStartPosition(Diaporama->CurrentCol+1):-1, // Next slide Diaporama->CurrentCol<(Diaporama->List.count()-1)?Diaporama->List[Diaporama->CurrentCol+1]->CachedDuration:0); ui->preview2->SetStartEndPos( Diaporama->GetObjectStartPosition(Diaporama->CurrentCol), // Current slide Diaporama->List[Diaporama->CurrentCol]->CachedDuration, (Diaporama->CurrentCol>0)?Diaporama->GetObjectStartPosition(Diaporama->CurrentCol-1):((Diaporama->CurrentCol==0)?0:-1), // Previous slide (Diaporama->CurrentCol>0)?Diaporama->List[Diaporama->CurrentCol-1]->CachedDuration:((Diaporama->CurrentCol==0)?Diaporama->GetTransitionDuration(Diaporama->CurrentCol):0), Diaporama->CurrentCol<(Diaporama->List.count()-1)?Diaporama->GetObjectStartPosition(Diaporama->CurrentCol+1):-1, // Next slide Diaporama->CurrentCol<(Diaporama->List.count()-1)?Diaporama->List[Diaporama->CurrentCol+1]->CachedDuration:0); } else { ui->preview->SetStartEndPos(0,0,-1,0,-1,0); ui->preview2->SetStartEndPos(0,0,-1,0,-1,0); } RefreshControls(); UpdateChapterInfo(); } //==================================================================================================================== void MainWindow::s_Browser_OpenFile() { cBaseMediaFile *Media=ui->Browser->GetCurrentMediaFile(); if (Media) { if ((Media->ObjectType==OBJECTTYPE_IMAGEFILE)||(Media->ObjectType==OBJECTTYPE_VIDEOFILE)||(Media->ObjectType==OBJECTTYPE_MUSICFILE)||(Media->ObjectType==OBJECTTYPE_THUMBNAIL)) { QDesktopServices::openUrl(QUrl().fromLocalFile(Media->FileName())); } else if (Media->ObjectType==OBJECTTYPE_FFDFILE) { FileForIO=Media->FileName(); int Ret=QMessageBox::Yes; if (Diaporama->IsModify) { Ret=CustomMessageBox(this,QMessageBox::Question,QApplication::translate("MainWindow","Open project"), QApplication::translate("MainWindow","Current project has been modified.\nDo you want to save-it ?"), QMessageBox::Cancel|QMessageBox::Yes|QMessageBox::No,QMessageBox::Yes); if (Ret==QMessageBox::Yes) s_Action_Save(); } if (Ret!=QMessageBox::Cancel) { ToStatusBar(QApplication::translate("MainWindow","Open file :")+QFileInfo(FileForIO).fileName()); QTimer::singleShot(LATENCY,this,SLOT(DoOpenFile())); } } delete Media; } } //==================================================================================================================== void MainWindow::s_Browser_AddFiles() { QList MediaList; ui->Browser->GetCurrentSelectedMediaFile(&MediaList); if (MediaList.count()>0) { // Query the list to known if it is music QStringList MusicFileList; for (int i=0;iObjectType==OBJECTTYPE_MUSICFILE) MusicFileList.append(QFileInfo(MediaList[i]->FileName()).absoluteFilePath()); if (MusicFileList.count()>0) s_Action_DoUseAsPlayList(MusicFileList,Diaporama->CurrentCol); else { // If it is not music object, then calc position of new object depending on ApplicationConfig->AppendObject if (ApplicationConfig->AppendObject) { SavedCurIndex =Diaporama->List.count(); CurIndex =Diaporama->List.count(); } else { SavedCurIndex=Diaporama->CurrentCol; CurIndex=Diaporama->List.count()!=0?SavedCurIndex+1:0; if (SavedCurIndex==Diaporama->List.count()) SavedCurIndex--; } FileList.clear(); for (int i=0;iFileName()); // Load object list CurrentLoadingProjectNbrObject=FileList.count(); CurrentLoadingProjectObject =0; CancelAction =false; // Open progress window if (DlgWorkingTaskDialog) { DlgWorkingTaskDialog->close(); delete DlgWorkingTaskDialog; DlgWorkingTaskDialog=NULL; } DlgWorkingTaskDialog=new DlgWorkingTask(QApplication::translate("MainWindow","Add files to project"),&CancelAction,ApplicationConfig,this); DlgWorkingTaskDialog->InitDialog(); DlgWorkingTaskDialog->SetMaxValue(CurrentLoadingProjectNbrObject,0); ToStatusBar(QApplication::translate("MainWindow","Add file to project :")+QFileInfo(FileList[0]).fileName()); QTimer::singleShot(LATENCY,this,SLOT(DoAddFile())); DlgWorkingTaskDialog->exec(); } while (!MediaList.isEmpty()) delete MediaList.takeLast(); } } //==================================================================================================================== // Actions contextual menu (on multiple selection) //==================================================================================================================== void MainWindow::s_ActionMultiple_SetFirstShotDuration() { int Current=ui->timeline->CurrentSelected(); QList SlideList; if ((Current<0)||(Current>=Diaporama->List.count())) return; ui->timeline->CurrentSelectionList(&SlideList); DlgSlideDuration Dlg(Diaporama->List[Diaporama->CurrentCol]->List[0]->StaticDuration,ApplicationConfig,this); Dlg.InitDialog(); int Ret=Dlg.exec(); if (Ret==0) { int64_t Duration=Dlg.Duration; for (int i=0;iList[SlideList[i]]->GetAutoTSNumber()==-1) Diaporama->List[SlideList[i]]->List[0]->StaticDuration=Duration; else ToLog(LOGMSG_INFORMATION,"Do not set First Shot Duration to automatic slide"); SetModifyFlag(true); (ApplicationConfig->WindowDisplayMode==DISPLAYWINDOWMODE_PLAYER?ui->preview:ui->preview2)->SeekPlayer(Diaporama->GetObjectStartPosition(Diaporama->CurrentCol)+Diaporama->GetTransitionDuration(Diaporama->CurrentCol)); AdjustRuller(); } } //==================================================================================================================== void MainWindow::s_ActionMultiple_ResetBackground() { int Current=ui->timeline->CurrentSelected(); QList SlideList; if ((Current<0)||(Current>=Diaporama->List.count())) return; ui->timeline->CurrentSelectionList(&SlideList); for (int i=0;iList[SlideList[i]]->BackgroundType=false; // Background type : false=same as precedent - true=new background definition } SetModifyFlag(true); (ApplicationConfig->WindowDisplayMode==DISPLAYWINDOWMODE_PLAYER?ui->preview:ui->preview2)->SeekPlayer(Diaporama->GetObjectStartPosition(Diaporama->CurrentCol)+Diaporama->GetTransitionDuration(Diaporama->CurrentCol)); AdjustRuller(); } //==================================================================================================================== void MainWindow::s_ActionMultiple_ResetMusic() { int Current=ui->timeline->CurrentSelected(); QList SlideList; if ((Current<0)||(Current>=Diaporama->List.count())) return; ui->timeline->CurrentSelectionList(&SlideList); for (int i=0;iList[SlideList[i]]->MusicType = false; // Music type : false=same as precedent - true=new playlist definition Diaporama->List[SlideList[i]]->MusicPause = false; // true if music is pause during this object Diaporama->List[SlideList[i]]->MusicReduceVolume= false; // true if volume if reduce by MusicReduceFactor while (Diaporama->List[SlideList[i]]->MusicList.count()) Diaporama->List[SlideList[i]]->MusicList.removeAt(0); } SetModifyFlag(true); (ApplicationConfig->WindowDisplayMode==DISPLAYWINDOWMODE_PLAYER?ui->preview:ui->preview2)->SeekPlayer(Diaporama->GetObjectStartPosition(Diaporama->CurrentCol)+Diaporama->GetTransitionDuration(Diaporama->CurrentCol)); AdjustRuller(); } //==================================================================================================================== void MainWindow::s_ActionMultiple_RemoveTransition() { int Current=ui->timeline->CurrentSelected(); QList SlideList; if ((Current<0)||(Current>=Diaporama->List.count())) return; ui->timeline->CurrentSelectionList(&SlideList); for (int i=0;iList[SlideList[i]]->TransitionFamilly=TRANSITIONFAMILLY_BASE; Diaporama->List[SlideList[i]]->TransitionSubType=0; } SetModifyFlag(true); (ApplicationConfig->WindowDisplayMode==DISPLAYWINDOWMODE_PLAYER?ui->preview:ui->preview2)->SeekPlayer(Diaporama->GetObjectStartPosition(Diaporama->CurrentCol)+Diaporama->GetTransitionDuration(Diaporama->CurrentCol)); AdjustRuller(); } //==================================================================================================================== void MainWindow::s_ActionMultiple_SelectTransition() { int Current=ui->timeline->CurrentSelected(); QList SlideList; if ((Current<0)||(Current>=Diaporama->List.count())) return; ui->timeline->CurrentSelectionList(&SlideList); DlgTransitionProperties Dlg(true,Diaporama->List[Diaporama->CurrentCol],ApplicationConfig,this); Dlg.InitDialog(); int Ret=Dlg.exec(); if (Ret==0) { TRFAMILLY Familly =Diaporama->List[Diaporama->CurrentCol]->TransitionFamilly; int SubType =Diaporama->List[Diaporama->CurrentCol]->TransitionSubType; int64_t Duration=Diaporama->List[Diaporama->CurrentCol]->TransitionDuration; for (int i=0;iList[SlideList[i]]->TransitionFamilly =Familly; Diaporama->List[SlideList[i]]->TransitionSubType =SubType; Diaporama->List[SlideList[i]]->TransitionDuration =Duration; } SetModifyFlag(true); (ApplicationConfig->WindowDisplayMode==DISPLAYWINDOWMODE_PLAYER?ui->preview:ui->preview2)->SeekPlayer(Diaporama->GetObjectStartPosition(Diaporama->CurrentCol)+Diaporama->GetTransitionDuration(Diaporama->CurrentCol)); AdjustRuller(); } } //==================================================================================================================== void MainWindow::s_ActionMultiple_SetTransitionDuration() { int Current=ui->timeline->CurrentSelected(); QList SlideList; if ((Current<0)||(Current>=Diaporama->List.count())) return; ui->timeline->CurrentSelectionList(&SlideList); DlgTransitionDuration Dlg(Diaporama->List[Diaporama->CurrentCol]->TransitionDuration,ApplicationConfig,this); Dlg.InitDialog(); int Ret=Dlg.exec(); if (Ret==0) { int64_t Duration=Dlg.Duration; for (int i=0;iList[SlideList[i]]->TransitionDuration=Duration; } SetModifyFlag(true); (ApplicationConfig->WindowDisplayMode==DISPLAYWINDOWMODE_PLAYER?ui->preview:ui->preview2)->SeekPlayer(Diaporama->GetObjectStartPosition(Diaporama->CurrentCol)+Diaporama->GetTransitionDuration(Diaporama->CurrentCol)); AdjustRuller(); } } //==================================================================================================================== void MainWindow::s_ActionMultiple_Randomize() { int Current=ui->timeline->CurrentSelected(); QList SlideList; if ((Current<0)||(Current>=Diaporama->List.count())) return; ui->timeline->CurrentSelectionList(&SlideList); qsrand(QTime(0,0,0,0).msecsTo(QTime::currentTime())); for (int i=0;iList[SlideList[i]]->TransitionFamilly=IconList.List[Random].TransitionFamilly; Diaporama->List[SlideList[i]]->TransitionSubType=IconList.List[Random].TransitionSubType; } else { Diaporama->List[SlideList[i]]->TransitionFamilly=Diaporama->ApplicationConfig->DefaultTransitionFamilly; Diaporama->List[SlideList[i]]->TransitionSubType=Diaporama->ApplicationConfig->DefaultTransitionSubType; } if (Diaporama->List[SlideList[i]]->TransitionDuration==0) Diaporama->List[SlideList[i]]->TransitionDuration=Diaporama->ApplicationConfig->DefaultTransitionDuration; } SetModifyFlag(true); (ApplicationConfig->WindowDisplayMode==DISPLAYWINDOWMODE_PLAYER?ui->preview:ui->preview2)->SeekPlayer(Diaporama->GetObjectStartPosition(Diaporama->CurrentCol)+Diaporama->GetTransitionDuration(Diaporama->CurrentCol)); AdjustRuller(); } ffDiaporama/src/ffDiaporama/MainWindow/cCustomSlideTable.h0000777000175000001440000000724612275647327024032 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef CCUSTOMSLIDETABLE_H #define CCUSTOMSLIDETABLE_H // Basic inclusions (common to all files) #include "engine/_GlobalDefines.h" #include "engine/_Diaporama.h" #include #include // Thumbnails definitions #define ADJUSTXCOLUMN 10 // width to add to object image for display transition #define TIMELINESOUNDHEIGHT 18 // Height of sound & music track #define DRAGMODE_NOACTION 0 #define DRAGMODE_INTERNALMOVE_SLIDE 1 #define DRAGMODE_INTERNALMOVE_MUSIC 2 #define DRAGMODE_INTERNALMOVE_BACKGROUND 3 #define DRAGMODE_EXTERNALADD_SLIDE 4 #define DRAGMODE_EXTERNALADD_MUSIC 5 //***************************************************************************************************************************************** class cCustomSlideTable : public QTableWidget { Q_OBJECT public: bool PartitionMode; cDiaporama *Diaporama; // Link to current diaporama cApplicationConfig *ApplicationConfig; // Link to current application config // Drag & drop operation int DragItemSource; int DragItemDest; int IsDragOn; // DragOff=0, DragInternal=1 or DragExternal=0 bool CursorPosValide; explicit cCustomSlideTable(QWidget *parent = 0); void AddObjectToTimeLine(int CurIndex); void SetTimelineHeight(bool NewPartitionMode); int CurrentSelected(); void CurrentSelectionList(QList *List); bool IsMultipleSelection(); void SetCurrentCell(int Index); void CleanAll(); void ResetDisplay(int Selected); void dokeyReleaseEvent(QKeyEvent *event); protected: virtual void dragEnterEvent(QDragEnterEvent *event); virtual void dragLeaveEvent(QDragLeaveEvent *event); virtual void dragMoveEvent(QDragMoveEvent *event); virtual void dropEvent(QDropEvent *event); virtual void mousePressEvent(QMouseEvent *event); virtual void mouseReleaseEvent(QMouseEvent *event); virtual void mouseMoveEvent(QMouseEvent *event); virtual void mouseDoubleClickEvent(QMouseEvent *ev); virtual void wheelEvent(QWheelEvent *ev); private slots: signals: void DragMoveItem(); void DoAddDragAndDropFile(); void EditTransition(); void EditSoundTrack(); void EditMediaObject(); void EditBackGTransition(); void EditBackground(); void EditMusicTrack(); void RightClickEvent(QMouseEvent *ev); }; #endif // CCUSTOMSLIDETABLE_H ffDiaporama/src/ffDiaporama/MainWindow/cCustomSlideTable.cpp0000777000175000001440000016325612275647326024370 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "cCustomSlideTable.h" #include #include #include #include #include #include #include #include #include "mainwindow.h" //====================================== // Specific defines for this dialog box //====================================== #define TransitionSize 36 #define WidgetSelection_Color Qt::blue #define WidgetDrag_Color Qt::red #define WidgetBackground_Color 0xC2C7CB #define WidgetBorder_Color Qt::black #define ObjectBackground_Ruller Qt::darkGray #define FirstMusic_Color Qt::green #define SecondMusic_Color Qt::darkGreen #define FirstSound_Color Qt::cyan #define SecondSound_Color Qt::darkCyan #define DotLine_Color Qt::white // Icons #define ICON_SHOTPRESENCE ":/img/TimelineShots.png" // FileName of icon representing shots in the timeline #define ICON_BLOCKPRESENCE ":/img/TimelineBlocks.png" // FileName of icon representing blocks in the timeline #define ICON_HAVEFILTER ":/img/Transform.png" // FileName of icon representing block with filter in the timeline #define ICON_PLAYERPAUSE ":/img/player_pause.png" // FileName of pause icon #define ICON_AUTOSLIDECHAPTER ":/img/AutoTS.png" #define ICON_CHAPTER ":/img/Chapter.png" #define ICON_AUTOPROJECT ":/img/object_text.png" #define ICON_AUTOCHAPTER ":/img/Chapter_big.png" #define ICON_AUTOCREDIT ":/img/medal.png" //******************************************************************************************************** // QCustomThumbItemDelegate //******************************************************************************************************** class QCustomThumbItemDelegate : public QStyledItemDelegate { //Q_OBJECT public: cCustomSlideTable *ParentTable; explicit QCustomThumbItemDelegate(QObject *parent); virtual void paint(QPainter *painter,const QStyleOptionViewItem &option,const QModelIndex &index) const; }; //======================================================================================================================== QCustomThumbItemDelegate::QCustomThumbItemDelegate(QObject *parent):QStyledItemDelegate(parent) { ParentTable=(cCustomSlideTable *)parent; } //=========================================================================================================================== void DrawThumbnailsBox(int Xa,int Ya,int Width,int Height,QPainter *Painter,QImage *Icon,bool IsAutoSlide=false) { QPen Pen; Pen.setWidth(1); Pen.setColor(IsAutoSlide?Qt::darkGreen:Qt::darkGray); Painter->setPen(Pen); Painter->setBrush(Qt::NoBrush); Painter->drawRect(Xa-1,Ya-1,Width+4-1,Height+4-1); Pen.setColor(IsAutoSlide?Qt::green:Qt::white); Painter->setPen(Pen); Painter->drawRect(Xa-1,Ya-1,Width+2-1,Height+2-1); Pen.setColor(Qt::black); Painter->setPen(Pen); Painter->drawRect(Xa-2,Ya-2,Width+4-1,Height+4-1); // -------------------------- if Transition Icon if (Icon) { Painter->drawImage(QRect(Xa,Ya,32,32),*Icon); delete Icon; } } //======================================================================================================================== void QCustomThumbItemDelegate::paint(QPainter *Painter,const QStyleOptionViewItem &option,const QModelIndex &index) const { QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); Painter->save(); int ItemIndex = index.row()*ParentTable->columnCount()+index.column(); if (ItemIndex>=ParentTable->Diaporama->List.count()) { Painter->fillRect(option.rect,QColor(Qt::white)); } else { cDiaporamaObject *Object =ParentTable->Diaporama->List[ItemIndex]; cDiaporamaObject *PreviousObject=ItemIndex>0?ParentTable->Diaporama->List[ItemIndex-1]:NULL; int ThumbWidth =ParentTable->columnWidth(0); int ThumbHeight =ParentTable->rowHeight(0); bool IsTransition=((Object->TransitionFamilly!=0)||(Object->TransitionSubType!=0)); QPointF Table[10]; Painter->setRenderHints(QPainter::Antialiasing|QPainter::TextAntialiasing|QPainter::SmoothPixmapTransform|QPainter::HighQualityAntialiasing|QPainter::NonCosmeticDefaultPen); Painter->setClipRect(QRectF(option.rect.x(),option.rect.y(),option.rect.width(),option.rect.height())); // Fill background Painter->fillRect(option.rect,QColor(WidgetBackground_Color)); // Translate painter (if needed) so all coordinate are from 0,0 if ((option.rect.x()!=0)||(option.rect.y()!=0)) Painter->translate(option.rect.x(),option.rect.y()); // Draw slide separation line for Partition mode QPen Pen; Pen.setWidth(1); Pen.setStyle(Qt::SolidLine); Pen.setColor(WidgetBorder_Color); Painter->setPen(Pen); Painter->drawLine(0,ThumbHeight-1,ThumbWidth-1,ThumbHeight-1); int FontFactor =((ParentTable->ApplicationConfig->TimelineHeight-TIMELINEMINHEIGH)/20)*10; QFont normalFont=QApplication::font(); QFont smallFont = QApplication::font(); Painter->setFont(normalFont); #ifdef Q_OS_WIN normalFont.setPointSizeF(double(110+FontFactor)/double(Painter->fontMetrics().boundingRect("0").height())); // Scale font smallFont.setPointSizeF ((double(110+FontFactor)/double(Painter->fontMetrics().boundingRect("0").height()))*0.8); // Scale font #else normalFont.setPointSizeF((double(140+FontFactor)/double(Painter->fontMetrics().boundingRect("0").height()))*ScreenFontAdjust); // Scale font smallFont.setPointSizeF ((double(140+FontFactor)/double(Painter->fontMetrics().boundingRect("0").height()))*ScreenFontAdjust*0.8); // Scale font #endif //========================================================================================================================== // Track BACKGROUND (first 1/4 height of the slide) //========================================================================================================================== int BackThumbHeight = ThumbHeight/4-6; int BackThumbWidth = ParentTable->Diaporama->GetWidthForHeight(BackThumbHeight); // Fill background track Painter->fillRect(QRect(0,(ThumbHeight/4-16)/2,ThumbWidth,16),QColor(ObjectBackground_Ruller)); // Draw thumb ParentTable->Diaporama->PrepareBackground(ItemIndex,BackThumbWidth,BackThumbHeight,Painter,TransitionSize+3,2); // Draw frame arround thumb DrawThumbnailsBox(TransitionSize+3,2,BackThumbWidth,BackThumbHeight,Painter,NULL); // Draw background transition box & icon (if transition exist) if (Object->BackgroundType) DrawThumbnailsBox(2,(ThumbHeight/4-32)/2-1,32,32,Painter,IsTransition?IconList.GetIcon(TRANSITIONFAMILLY_BASE,1):IconList.GetIcon(TRANSITIONFAMILLY_BASE,0)); //========================================================================================================================== // Track OBJECT (second and third 1/4 height of the slide) //========================================================================================================================== // Transition box DrawThumbnailsBox(2,ThumbHeight/4+2-1,32,32,Painter,IsTransition?IconList.GetIcon(Object->TransitionFamilly,Object->TransitionSubType):IconList.GetIcon(TRANSITIONFAMILLY_BASE,0)); int NewThumbWidth = ThumbWidth-TransitionSize-6; int NewThumbHeight = ParentTable->Diaporama->GetHeightForWidth(NewThumbWidth); int BarWidth = (ThumbWidth-NewThumbWidth)/2; bool HaveFilter =Object->CachedHaveFilter; bool HaveSound =Object->CachedHaveSound; double SoundVolume =Object->CachedSoundVolume; bool PreviousHaveSound =PreviousObject?PreviousObject->CachedHaveSound:false; double PreviousSoundVolume =PreviousObject?PreviousObject->CachedSoundVolume:0; QString SlideDuration =QTime(0,0,0,0).addMSecs(Object->CachedDuration).toString("hh:mm:ss.zzz"); QString FileName =Object->SlideName; QString TransitionDuration =QTime(0,0,0,0).addMSecs(Object->CachedTransitDuration).toString("ss.z"); QString SlideNumber =QString("%1").arg(ItemIndex+1); int AutoTSNumber =Object->GetAutoTSNumber(); // Draw transition out of previous track if (IsTransition && PreviousHaveSound && !HaveSound) { Pen.setColor(ObjectBackground_Ruller); Pen.setWidth(1); Pen.setStyle(Qt::SolidLine); Painter->setPen(Pen); Painter->setBrush(QBrush(QColor(ObjectBackground_Ruller))); Table[0]=QPointF(0,3*ThumbHeight/4-TIMELINESOUNDHEIGHT-2); Table[1]=QPointF(TransitionSize,3*ThumbHeight/4-2); Table[2]=QPointF(0,3*ThumbHeight/4-2); Painter->drawPolygon(Table,3); // Draw transition out for this (previous) soundtrack Pen.setColor(((ItemIndex&0x1)!=0x1)?FirstSound_Color:SecondSound_Color); Pen.setWidth(1); Pen.setStyle(Qt::SolidLine); Painter->setPen(Pen); Painter->setBrush(QBrush(QColor(((ItemIndex&0x1)!=0x1)?FirstSound_Color:SecondSound_Color))); int RHeightPrevious=int(double(TIMELINESOUNDHEIGHT)*(PreviousSoundVolume/1.5)); Table[0]=QPointF(0,3*ThumbHeight/4-RHeightPrevious-2); Table[1]=QPointF(TransitionSize,3*ThumbHeight/4-2); Table[2]=QPointF(0,3*ThumbHeight/4-2); Painter->drawPolygon(Table,3); } if (!HaveSound) { // Display a thumb with no sound Painter->fillRect(TransitionSize+3,ThumbHeight/4+2-1,NewThumbWidth,NewThumbHeight,Transparent); // Fill background with transparent image Object->DrawThumbnail(NewThumbWidth,NewThumbHeight,Painter,TransitionSize+3,ThumbHeight/4+1); // Draw thumb DrawThumbnailsBox(TransitionSize+3,ThumbHeight/4+2-1,NewThumbWidth,NewThumbHeight,Painter,NULL,AutoTSNumber!=-1); // Draw frame arround thumb if (Object->ObjectComposition.List.count()>1) Painter->drawImage(TransitionSize+3+8, 2-1+ThumbHeight/4+8, QImage(ICON_BLOCKPRESENCE)); // Add mark if multiple block if (Object->List.count()>1) Painter->drawImage(TransitionSize+3+NewThumbWidth-32, 2-1+ThumbHeight/4+8, QImage(ICON_SHOTPRESENCE)); // Add mark if multiple shot if (HaveFilter) Painter->drawImage(TransitionSize+3+NewThumbWidth-32, 2-1+ThumbHeight/4+32, QImage(ICON_HAVEFILTER)); // Add mark if at least one block have filter } else { // Display a thumb with sound track int VideoThumbWidth =NewThumbWidth-BarWidth*2; int VideoThumbHeight=ParentTable->Diaporama->GetHeightForWidth(VideoThumbWidth); // Draw thumb part Painter->fillRect(TransitionSize+3+BarWidth,ThumbHeight/4+2-1,VideoThumbWidth,VideoThumbHeight,Transparent); // Fill background with transparent image Object->DrawThumbnail(VideoThumbWidth,VideoThumbHeight,Painter,TransitionSize+3+BarWidth,ThumbHeight/4+1); // Draw thumb // Draw black bar for cinema decoration at left & right Painter->fillRect(TransitionSize+3, ThumbHeight/4+2-1, BarWidth,VideoThumbHeight,QBrush(Qt::black)); Painter->fillRect(TransitionSize+3+BarWidth+VideoThumbWidth,ThumbHeight/4+2-1, BarWidth,VideoThumbHeight,QBrush(Qt::black)); // Draw cinema decoration at left & right for (int HH=0;HH<3;HH++) { Painter->fillRect(TransitionSize+3+4, ThumbHeight/4+2-1+HH*(VideoThumbHeight/3)+4,BarWidth-9,(VideoThumbHeight/5),QBrush(Qt::lightGray)); Painter->fillRect(TransitionSize+3+5+BarWidth+VideoThumbWidth,ThumbHeight/4+2-1+HH*(VideoThumbHeight/3)+4,BarWidth-9,(VideoThumbHeight/5),QBrush(Qt::lightGray)); } QPen Pen; Pen.setWidth(1); Painter->setBrush(Qt::NoBrush); Pen.setColor(Qt::black); Painter->setPen(Pen); Painter->drawRect(TransitionSize+3-2,ThumbHeight/4+1-2,NewThumbWidth+4,VideoThumbHeight+4); Pen.setColor(Qt::darkGray); Painter->setPen(Pen); Painter->drawRect(TransitionSize+3-1,ThumbHeight/4+1-1,NewThumbWidth+2,VideoThumbHeight+2); Painter->drawRect(TransitionSize+3+BarWidth-2,ThumbHeight/4,VideoThumbWidth+4,VideoThumbHeight); Pen.setColor(Qt::white); Painter->setPen(Pen); Painter->drawRect(TransitionSize+3, ThumbHeight/4+1, NewThumbWidth, VideoThumbHeight+1); Painter->drawRect(TransitionSize+3+BarWidth-1,ThumbHeight/4+1,VideoThumbWidth+2,VideoThumbHeight); if (Object->ObjectComposition.List.count()>1) Painter->drawImage(TransitionSize+3+BarWidth+8, 2-1+ThumbHeight/4+8, QImage(ICON_BLOCKPRESENCE)); // Add mark if multiple block if (Object->List.count()>1) Painter->drawImage(TransitionSize+3+BarWidth+VideoThumbWidth-32, 2-1+ThumbHeight/4+8, QImage(ICON_SHOTPRESENCE)); // Add mark if multiple shot if (HaveFilter) Painter->drawImage(TransitionSize+3+BarWidth+VideoThumbWidth-32, 2-1+ThumbHeight/4+32, QImage(ICON_HAVEFILTER)); // Add mark if at least one block have filter // Soundtrack part int RHeight=int(double(TIMELINESOUNDHEIGHT)*(SoundVolume/1.5)); Pen.setColor(ObjectBackground_Ruller); Pen.setWidth(1); Pen.setStyle(Qt::SolidLine); Painter->setPen(Pen); Painter->setBrush(QBrush(QColor(ObjectBackground_Ruller))); Painter->drawRect(0,3*ThumbHeight/4-2-TIMELINESOUNDHEIGHT,ThumbWidth,TIMELINESOUNDHEIGHT); // Draw transitions if (IsTransition) { // Draw transition out for previous soundtrack if ((ItemIndex>0)&&(PreviousHaveSound)) { Pen.setColor(((ItemIndex&0x1)!=0x1)?FirstSound_Color:SecondSound_Color); Pen.setWidth(1); Pen.setStyle(Qt::SolidLine); Painter->setPen(Pen); Painter->setBrush(QBrush(QColor(((ItemIndex&0x1)!=0x1)?FirstSound_Color:SecondSound_Color))); int RHeightPrevious=int(double(TIMELINESOUNDHEIGHT)*(PreviousSoundVolume/1.5)); Table[0]=QPointF(0, 3*ThumbHeight/4-2-RHeightPrevious); Table[1]=QPointF(TransitionSize,3*ThumbHeight/4-2); Table[2]=QPointF(0, 3*ThumbHeight/4-2); Painter->drawPolygon(Table,3); } // Draw in transition + soundtrack Pen.setColor(((ItemIndex&0x1)==0x1)?FirstSound_Color:SecondSound_Color); Pen.setWidth(1); Pen.setStyle(Qt::SolidLine); Painter->setPen(Pen); Painter->setBrush(QBrush(QColor(((ItemIndex&0x1)==0x1)?FirstSound_Color:SecondSound_Color))); Table[0]=QPointF(0, 3*ThumbHeight/4-2); Table[1]=QPointF(TransitionSize,3*ThumbHeight/4-2-RHeight); Table[2]=QPointF(ThumbWidth, 3*ThumbHeight/4-2-RHeight); // Draw soundtrack without transition Table[3]=QPointF(ThumbWidth, 3*ThumbHeight/4-2); Painter->drawPolygon(Table,4); } else { Pen.setColor(((ItemIndex&0x1)==0x1)?FirstSound_Color:SecondSound_Color); Pen.setWidth(1); Pen.setStyle(Qt::SolidLine); Painter->setPen(Pen); Painter->setBrush(QBrush(QColor(((ItemIndex&0x1)==0x1)?FirstSound_Color:SecondSound_Color))); Table[0]=QPointF(0, 3*ThumbHeight/4-2); Table[1]=QPointF(0, 3*ThumbHeight/4-2-RHeight); Table[2]=QPointF(ThumbWidth,3*ThumbHeight/4-2-RHeight); // Draw soundtrack without transition Table[3]=QPointF(ThumbWidth,3*ThumbHeight/4-2); Painter->drawPolygon(Table,4); } } // Draw transition duration, slide duration and slide name Pen.setWidth(1); Pen.setStyle(Qt::SolidLine); // Chapter TAG if (Object->StartNewChapter) Painter->drawImage(TransitionSize+3,2,QImage(ICON_CHAPTER)); // Transition if (TransitionDuration[0]=='0') TransitionDuration=TransitionDuration.right(TransitionDuration.length()-1); // Cut first 0 while (TransitionDuration.endsWith("0")) TransitionDuration=TransitionDuration.left(TransitionDuration.length()-1); while (TransitionDuration.endsWith(".")) TransitionDuration=TransitionDuration.left(TransitionDuration.length()-1); Pen.setColor(Qt::black); Painter->setPen(Pen); Painter->setFont(normalFont); Painter->drawText(QRectF(TransitionSize+3+1, ThumbHeight/4+2-1+1, NewThumbWidth, 16),SlideDuration,Qt::AlignHCenter|Qt::AlignVCenter); if (AutoTSNumber==-1) Painter->drawText(QRectF(TransitionSize+3+1,ThumbHeight/4+2-1+1+NewThumbHeight-16,NewThumbWidth,16),FileName,Qt::AlignHCenter|Qt::AlignVCenter); Painter->drawText(QRectF(2+1, ThumbHeight/4+2-1+34+1, 32, 16),TransitionDuration,Qt::AlignHCenter|Qt::AlignVCenter); Painter->drawText(QRectF(BackThumbWidth+2+1, (ThumbHeight/4-16)/2+1, ThumbWidth-BackThumbWidth-4,16),SlideNumber,Qt::AlignHCenter|Qt::AlignVCenter); Pen.setColor(Qt::white); Painter->setPen(Pen); Painter->drawText(QRectF(TransitionSize+3, ThumbHeight/4+2-1, NewThumbWidth, 16),SlideDuration,Qt::AlignHCenter|Qt::AlignVCenter); if (AutoTSNumber==-1) Painter->drawText(QRectF(TransitionSize+3,ThumbHeight/4+2-1+NewThumbHeight-16,NewThumbWidth,16),FileName,Qt::AlignHCenter|Qt::AlignVCenter); Painter->drawText(QRectF(2, ThumbHeight/4+2-1+34, 32, 16),TransitionDuration,Qt::AlignHCenter|Qt::AlignVCenter); Painter->drawText(QRectF(BackThumbWidth+2, (ThumbHeight/4-16)/2, ThumbWidth-BackThumbWidth-4,16),SlideNumber,Qt::AlignHCenter|Qt::AlignVCenter); if (AutoTSNumber!=-1) { Painter->drawImage(TransitionSize+3 ,ThumbHeight/4+2-1+NewThumbHeight-16 ,QImage(ICON_AUTOSLIDECHAPTER)); switch (AutoTSNumber/100000) { case 1: Painter->drawImage(ThumbWidth-26,ThumbHeight/4+2-1+NewThumbHeight-16,QImage(ICON_AUTOPROJECT)); break; case 2: Painter->drawImage(ThumbWidth-26,ThumbHeight/4+2-1+NewThumbHeight-16,QImage(ICON_AUTOCHAPTER)); break; case 3: Painter->drawImage(ThumbWidth-26,ThumbHeight/4+2-1+NewThumbHeight-16,QImage(ICON_AUTOCREDIT)); break; } } //========================================================================================================================== // Track MUSIC (last 1/4 height of the slide) //========================================================================================================================== int CurrentCountObjet =0; int64_t StartPosition =0; int64_t PrevStartPosition =0; int64_t NextStartPosition =0; int OwnerObjectMusic =0; int OwnerObjectNextMusic=0; cMusicObject *CurMusic =Object->Parent->GetMusicObject(ItemIndex,StartPosition,&CurrentCountObjet,&OwnerObjectMusic); double CurrentFactor =Object->MusicPause?0:Object->MusicReduceVolume?Object->MusicReduceFactor:1; cMusicObject *PrevMusique =ItemIndex>0?Object->Parent->GetMusicObject(ItemIndex-1,PrevStartPosition):NULL; double PreviousFactor =PrevMusique?((Object->Parent->List[ItemIndex-1]->MusicPause)?0:(Object->Parent->List[ItemIndex-1]->MusicReduceVolume)?Object->Parent->List[ItemIndex-1]->MusicReduceFactor:1):0; cMusicObject *NextMusic =(ItemIndex+1)columnCount()?Object->Parent->GetMusicObject(ItemIndex+1,NextStartPosition,NULL,&OwnerObjectNextMusic):NULL; bool EndMusic =true; if ((CurMusic)&&(StartPosition>=(QTime(0,0,0,0).msecsTo(CurMusic->Duration)-Object->TransitionDuration))) CurMusic=NULL; if (NextMusic) { if ((OwnerObjectMusic==OwnerObjectNextMusic)&&(CurMusic!=NULL)&&(NextMusic!=NULL)) EndMusic=false; else if ((CurMusic)&&((QTime(0,0,0,0).msecsTo(CurMusic->Duration))-StartPosition>=Object->CachedDuration)) EndMusic=false; } else if (CurMusic) EndMusic=(QTime(0,0,0,0).msecsTo(CurMusic->Duration)-StartPosition)CachedDuration; bool DrawVolumeTransition=(PreviousFactor!=CurrentFactor); bool DrawInTransition =false; bool DrawOutCut =false; bool DrawPause =false; int RHeight =int(TIMELINESOUNDHEIGHT*2*(CurrentFactor/1.5)); int PHeight =int(TIMELINESOUNDHEIGHT*2*(PreviousFactor/1.5)); bool DrawOutTransition =((PrevMusique)&&((QTime(0,0,0,0).msecsTo(PrevMusique->Duration)-StartPosition)>Object->Parent->List[ItemIndex-1]->CachedDuration)); if (CurMusic!=NULL) { // Search if sound end during the slide if (EndMusic) DrawOutCut=true; // Start a new Playlist if (Object->MusicType) { if (Object->MusicList.count()>0) { // Search if previous slide have music if (((PrevMusique!=NULL))&&(IsTransition)) DrawInTransition=true; DrawVolumeTransition=false; } } if (Object->MusicPause) DrawPause=true; if (DrawInTransition && IsTransition) { // Draw out transition from a previous object if (DrawOutTransition) { if ((CurrentCountObjet & 1)!=1) { Painter->setBrush(QBrush(QColor(FirstMusic_Color))); Pen.setColor(FirstMusic_Color); } else { Painter->setBrush(QBrush(QColor(SecondMusic_Color))); Pen.setColor(SecondMusic_Color); } Pen.setWidth(0); Painter->setPen(Pen); Table[0]=QPointF(-1,ThumbHeight-5-PHeight+2); Table[1]=QPointF(34,ThumbHeight-5+2); Table[2]=QPointF(-1,ThumbHeight-5+2); Painter->drawPolygon(Table,3); } Table[0]=QPointF(-1,ThumbHeight-5+2); Table[1]=QPointF(34,ThumbHeight-5-RHeight+2); } else if (DrawVolumeTransition && IsTransition) { Table[0]=QPointF(-1,ThumbHeight-5-PHeight+2); Table[1]=QPointF(34,ThumbHeight-5-RHeight+2); } else { Table[0]=QPointF(-1,ThumbHeight-5+2); Table[1]=QPointF(-1,ThumbHeight-5-RHeight+2); } if (DrawOutCut) { Table[2]=QPointF(ThumbWidth-34,ThumbHeight-5-RHeight+2); Table[3]=QPointF(ThumbWidth-34,ThumbHeight-5+2); } else { Table[2]=QPointF(ThumbWidth+2,ThumbHeight-5-RHeight+2); Table[3]=QPointF(ThumbWidth+2,ThumbHeight-5+2); } Table[4]=QPointF(-1,ThumbHeight-5+2); if ((CurrentCountObjet & 1)==1) { Painter->setBrush(QBrush(QColor(FirstMusic_Color))); Pen.setColor(FirstMusic_Color); } else { Painter->setBrush(QBrush(QColor(SecondMusic_Color))); Pen.setColor(SecondMusic_Color); } Pen.setWidth(0); Painter->setPen(Pen); Painter->drawPolygon(Table,5); if (DrawPause) Painter->drawImage((ThumbWidth-24-TransitionSize)/2+TransitionSize,ThumbHeight-5-24,QImage(ICON_PLAYERPAUSE)); } else if (DrawOutTransition) { // Draw out transition from a previous object if ((CurrentCountObjet & 1)!=1) { Painter->setBrush(QBrush(QColor(FirstMusic_Color))); Pen.setColor(FirstMusic_Color); } else { Painter->setBrush(QBrush(QColor(SecondMusic_Color))); Pen.setColor(SecondMusic_Color); } Pen.setWidth(0); Painter->setPen(Pen); Table[0]=QPointF(-1,ThumbHeight-5-PHeight+2); Table[1]=QPointF(34,ThumbHeight-5+2); Table[2]=QPointF(-1,ThumbHeight-5+2); Painter->drawPolygon(Table,3); } if ((CurMusic)&&(OwnerObjectMusic==ItemIndex)) { QStringList TempExtProperties; ParentTable->ApplicationConfig->FilesTable->GetExtendedProperties(CurMusic->FileKey,&TempExtProperties); QImage Icon =CurMusic->GetIcon(cCustomIcon::ICON100,false).scaledToHeight(24); QString Artist =GetInformationValue("artist",&TempExtProperties); QString Title =GetInformationValue("title",&TempExtProperties); QString MusicName=((Artist!="")&&(Title!="")?Artist+"\n"+Title:QFileInfo(CurMusic->FileName()).baseName()); Painter->drawImage(TransitionSize-1-24,ThumbHeight-4-24+1,Icon); Pen.setWidth(1); Pen.setStyle(Qt::SolidLine); Pen.setColor(Qt::black); Painter->setPen(Pen); Painter->setFont(smallFont); Painter->drawText(QRectF(TransitionSize+4+1,ThumbHeight-4-24+1,ThumbWidth-8-TransitionSize,24),MusicName,Qt::AlignLeft|Qt::AlignVCenter); Pen.setColor(Qt::white); Painter->setPen(Pen); Painter->drawText(QRectF(TransitionSize+4,ThumbHeight-4-24,ThumbWidth-8-TransitionSize,24),MusicName,Qt::AlignLeft|Qt::AlignVCenter); } // Draw separated line Pen.setWidth(1); Pen.setStyle(Qt::DotLine); Pen.setColor(DotLine_Color); Painter->setPen(Pen); Painter->drawLine(QPointF(TransitionSize+1,3*ThumbHeight/4),QPointF(TransitionSize+1,ThumbHeight-1)); Painter->drawLine(QPointF(ThumbWidth-1, 3*ThumbHeight/4),QPointF(ThumbWidth-1, ThumbHeight-1)); //========================================================================================================================== // Draw current box (if needed) //========================================================================================================================== if (ItemIndex==ParentTable->Diaporama->CurrentCol) { Pen.setColor(WidgetSelection_Color); Pen.setStyle(Qt::SolidLine); Pen.setWidth(10); Painter->setPen(Pen); Painter->setBrush(Qt::NoBrush); //QBrush(QColor(WidgetSelection_Color))); //Painter->setOpacity(0.5); Painter->drawRect(0,0,ThumbWidth,ThumbHeight); //Painter->setOpacity(1); } //========================================================================================================================== // Draw Drag & Drop inserting point (if needed) //========================================================================================================================== if ((ParentTable->CursorPosValide)||(ParentTable->DragItemDest==ParentTable->DragItemSource)) { bool DrawDragBefore =false; bool DrawDragAfter =false; bool DrawMusicPart =false; bool DrawBackgroundPart=false; if (ParentTable->IsDragOn==DRAGMODE_INTERNALMOVE_SLIDE) { // Drag source is timeline if ((ItemIndex!=ParentTable->DragItemSource)&&(ItemIndex!=ParentTable->DragItemSource+1)) { if (ItemIndex==ParentTable->DragItemDest) DrawDragBefore=true; if ((ItemIndex==ParentTable->DragItemDest-1)&&(ItemIndex==ParentTable->Diaporama->List.count()-1)) DrawDragAfter =true; } } else if (ParentTable->IsDragOn==DRAGMODE_EXTERNALADD_SLIDE) { // Drag source is external to timeline if (ItemIndex==ParentTable->DragItemDest) DrawDragBefore=true; if ((ItemIndex==ParentTable->DragItemDest-1)&&(ItemIndex==ParentTable->Diaporama->List.count()-1)) DrawDragAfter =true; } else if ((ParentTable->IsDragOn==DRAGMODE_EXTERNALADD_MUSIC)||(ParentTable->IsDragOn==DRAGMODE_INTERNALMOVE_MUSIC)) { if (ItemIndex==ParentTable->DragItemDest) DrawMusicPart=true; } else if (ParentTable->IsDragOn==DRAGMODE_INTERNALMOVE_BACKGROUND) { if (ItemIndex==ParentTable->DragItemDest) DrawBackgroundPart=true; } if (DrawDragBefore || DrawDragAfter || DrawMusicPart || DrawBackgroundPart) { Pen.setColor(WidgetDrag_Color); Pen.setStyle(Qt::SolidLine); Pen.setWidth(6); Painter->setPen(Pen); Painter->setBrush(Qt::NoBrush); //QBrush(QColor(WidgetSelection_Color))); Painter->setOpacity(0.5); if (DrawDragBefore) { // Before slide Painter->drawRect(3,3,ThumbWidth-8,ThumbHeight-8); //Painter->drawLine(3,3*(ThumbHeight/8),3,ThumbHeight-3*(ThumbHeight/8)); Painter->drawLine(3,ThumbHeight/2,32,3*(ThumbHeight/8)); Painter->drawLine(3,ThumbHeight/2,32,ThumbHeight-3*(ThumbHeight/8)); Painter->drawLine(3,ThumbHeight/2,64,ThumbHeight/2); } else if (DrawDragAfter) { // After slide Painter->drawRect(3,3,ThumbWidth-8,ThumbHeight-8); //Painter->drawLine(ThumbWidth-3,3*(ThumbHeight/8),ThumbWidth-3,ThumbHeight-3*(ThumbHeight/8)); Painter->drawLine(ThumbWidth-3,ThumbHeight/2,ThumbWidth-3-32,3*(ThumbHeight/8)); Painter->drawLine(ThumbWidth-3,ThumbHeight/2,ThumbWidth-3-32,ThumbHeight-3*(ThumbHeight/8)); Painter->drawLine(ThumbWidth-3,ThumbHeight/2,ThumbWidth-3-64,ThumbHeight/2); } else if (DrawMusicPart) { Painter->drawRect(3,ThumbHeight-ThumbHeight/4+3,ThumbWidth-8,ThumbHeight/4-8); } else if (DrawBackgroundPart) { Painter->drawRect(3,3,ThumbWidth-8,ThumbHeight/4-8); } Painter->setOpacity(1); } } //========================================================================================================================== // Draw selection //========================================================================================================================== if (option.state & QStyle::State_Selected) { Painter->setPen(QPen(Qt::NoPen)); Painter->setBrush(QBrush(Qt::blue)); Painter->setOpacity(0.25); Painter->drawRect(0,0,ThumbWidth,ThumbHeight); Painter->setOpacity(1); } } Painter->restore(); QApplication::restoreOverrideCursor(); } //******************************************************************************************************************** // cCustomSlideTable //******************************************************************************************************************** cCustomSlideTable::cCustomSlideTable(QWidget *parent):QTableWidget(parent) { Diaporama =NULL; // Link to current diaporama ApplicationConfig=NULL; // Link to current application config PartitionMode =false; // True if multiple line DragItemSource =-1; DragItemDest =-1; IsDragOn =DRAGMODE_NOACTION; setItemDelegate(new QCustomThumbItemDelegate(this)); #if QT_VERSION >= 0x050000 horizontalHeader()->setSectionResizeMode(QHeaderView::Fixed); verticalHeader()->setSectionResizeMode(QHeaderView::Fixed); #else horizontalHeader()->setResizeMode(QHeaderView::Fixed); verticalHeader()->setResizeMode(QHeaderView::Fixed); #endif setAcceptDrops(true); } //==================================================================================================================== void cCustomSlideTable::dokeyReleaseEvent(QKeyEvent *event) { QTableWidget::keyReleaseEvent(event); } //==================================================================================================================== void cCustomSlideTable::dragEnterEvent(QDragEnterEvent *event) { // Construct file list QList urlList; QString fName; QFileInfo info; QStringList FileList; if (event->mimeData()->hasUrls()) { urlList = event->mimeData()->urls(); // returns list of QUrls for (int i=0;iAllowMusicExtension.contains(QFileInfo(FileList.at(i)).suffix().toLower())) { cMusicObject *MediaFile=new cMusicObject(ApplicationConfig); if ((MediaFile)&&(MediaFile->GetInformationFromFile(FileList.at(i),NULL,NULL,-1)&&(MediaFile->CheckFormatValide(this)))) { MusicFileList.append(FileList.at(i)); FileList.removeAt(i); } else i++; } else i++; } if ((MusicFileList.count()>0)&&(FileList.count()==0)&&(Diaporama->List.count()>0)) { // Drag & drop with Music only IsDragOn =DRAGMODE_EXTERNALADD_MUSIC; DragItemSource=-1; DragItemDest =-1; setCursor(Qt::ClosedHandCursor); event->acceptProposedAction(); } else if ((MusicFileList.count()==0)&&(FileList.count()>0)) { // Drag & drop with no music file(s) IsDragOn =DRAGMODE_EXTERNALADD_SLIDE; DragItemSource=-1; DragItemDest =-1; setCursor(Qt::ClosedHandCursor); event->acceptProposedAction(); } else { // Reject action DragItemSource =-1; DragItemDest =-1; IsDragOn =DRAGMODE_NOACTION; } } else { // Reject action DragItemSource =-1; DragItemDest =-1; IsDragOn =DRAGMODE_NOACTION; } } //==================================================================================================================== void cCustomSlideTable::dragLeaveEvent(QDragLeaveEvent *event) { if (IsDragOn==DRAGMODE_EXTERNALADD_SLIDE) { // Clear previous selected slide int NbrX=columnCount(); if ((NbrX>0)&&(DragItemDest>=0)) { int ToUse =DragItemDest; DragItemDest=-1; if (ToUseList.count()) update(model()->index(ToUse/NbrX,ToUse-(ToUse/NbrX)*NbrX)); else update(model()->index((ToUse-1)/NbrX,(ToUse-1)-((ToUse-1)/NbrX)*NbrX)); } IsDragOn=DRAGMODE_NOACTION; } event->accept(); setCursor(Qt::ArrowCursor); } //==================================================================================================================== void cCustomSlideTable::dropEvent(QDropEvent *event) { IsDragOn=DRAGMODE_NOACTION; ((MainWindow *)ApplicationConfig->TopLevelWindow)->FileList.clear(); QList urlList; QString fName; QFileInfo info; if (event->mimeData()->hasUrls()) { urlList = event->mimeData()->urls(); // returns list of QUrls for (int i=0;iTopLevelWindow)->FileList.append(fName); // append file } } event->acceptProposedAction(); if (((MainWindow *)ApplicationConfig->TopLevelWindow)->FileList.count()>0) emit DoAddDragAndDropFile(); } //==================================================================================================================== void cCustomSlideTable::dragMoveEvent(QDragMoveEvent *event) { if ((IsDragOn==DRAGMODE_EXTERNALADD_SLIDE)||(IsDragOn==DRAGMODE_EXTERNALADD_MUSIC)) { int ThumbWidth =columnWidth(0); int ThumbHeight =rowHeight(0); int NbrX =columnCount(); // Get item number under mouse int newrow =ThumbHeight>0?(event->pos().y()+verticalOffset())/ThumbHeight:0; int newcol =ThumbWidth>0?(event->pos().x()+horizontalOffset())/ThumbWidth:0; int Selected =newrow*NbrX+newcol; bool MusicPart =((event->pos().y()+verticalOffset())-newrow*ThumbHeight)>=3*(ThumbHeight/4); //bool BackgroundPart =((event->pos().y()+verticalOffset())-newrow*ThumbHeight)<(ThumbHeight/4); bool AncCursorPosValide =CursorPosValide; // Adjust selected if (IsDragOn==DRAGMODE_EXTERNALADD_SLIDE) { if (Selected>Diaporama->List.count()) Selected=Diaporama->List.count(); else if ((Selected==Diaporama->List.count()-1)&&(event->pos().x()>0)&&(event->pos().x()pos().x()-(event->pos().x()/ThumbWidth)*ThumbWidth; if (NewX>=3*ThumbWidth/4) Selected=Diaporama->List.count(); } } if (Selected<0) Selected=0; if ((event->pos().x()>=0)&&(event->pos().x()<=viewport()->width())&&(event->pos().y()>=0)&&(event->pos().y()<=viewport()->height())) { CursorPosValide=false; if (IsDragOn==DRAGMODE_EXTERNALADD_MUSIC) { if ((Selected>=0)&&(SelectedList.count())&&(event->pos().x()>=-columnWidth(0))&&(event->pos().x()<=width()+columnWidth(0))&& (event->pos().y()>=0-(PartitionMode?rowHeight(0):0))&&(event->pos().y()<=height()+(PartitionMode?rowHeight(0):0))) { if ((MusicPart)&&(!Diaporama->List[Selected]->MusicType)) CursorPosValide=true; } } else if (IsDragOn==DRAGMODE_EXTERNALADD_SLIDE) { if ((Selected!=-1)&&(event->pos().x()>=-columnWidth(0))&&(event->pos().x()<=width()+columnWidth(0))&& (event->pos().y()>=0-(PartitionMode?rowHeight(0):0))&&(event->pos().y()<=height()+(PartitionMode?rowHeight(0):0))) { CursorPosValide=true; } } } else CursorPosValide=false; if ((Selected!=DragItemDest)||(AncCursorPosValide!=CursorPosValide)) { // Clear previous selected slide if ((NbrX>0)&&(DragItemDest>=0)) { int ToUse =DragItemDest; DragItemDest=-1; if (ToUseList.count()) update(model()->index(ToUse/NbrX,ToUse-(ToUse/NbrX)*NbrX)); else update(model()->index((ToUse-1)/NbrX,(ToUse-1)-((ToUse-1)/NbrX)*NbrX)); } DragItemDest=Selected; // Display new selected slide if ((NbrX>0)&&(Selected>=0)) { if (SelectedList.count()) update(model()->index(Selected/NbrX,Selected-(Selected/NbrX)*NbrX)); else update(model()->index((Selected-1)/NbrX,(Selected-1)-((Selected-1)/NbrX)*NbrX)); } } if (CursorPosValide) event->acceptProposedAction(); else event->setDropAction(Qt::IgnoreAction); } } //==================================================================================================================== void cCustomSlideTable::mouseMoveEvent(QMouseEvent *event) { if ((IsDragOn!=DRAGMODE_INTERNALMOVE_SLIDE)&&(IsDragOn!=DRAGMODE_INTERNALMOVE_MUSIC)&&(IsDragOn!=DRAGMODE_INTERNALMOVE_BACKGROUND)) { QTableWidget::mouseMoveEvent(event); } else { if ((!PartitionMode)&&(event->pos().x()<0)&&(horizontalScrollBar()->value()>0)) horizontalScrollBar()->setValue(horizontalScrollBar()->value()-1); // Try to scroll left if not partition mode else if ((!PartitionMode)&&(event->pos().x()>width())&&(horizontalScrollBar()->value()maximum())) horizontalScrollBar()->setValue(horizontalScrollBar()->value()+1); // Try to scroll right if not partition mode else if (( PartitionMode)&&(event->pos().y()<0)&&(verticalScrollBar()->value()>0)) verticalScrollBar()->setValue(verticalScrollBar()->value()-1); // Try to scroll up if partition mode else if (( PartitionMode)&&(event->pos().y()>height())&&(verticalScrollBar()->value()maximum())) verticalScrollBar()->setValue(verticalScrollBar()->value()+1); // Try to scroll down if partition mode int ThumbWidth =columnWidth(0); int ThumbHeight =rowHeight(0); int NbrX =columnCount(); int newrow=ThumbHeight>0?(event->pos().y()+verticalOffset())/ThumbHeight:0; int newcol=ThumbWidth>0?(event->pos().x()+horizontalOffset())/ThumbWidth:0; int Selected=newrow*NbrX+newcol; if (Selected>Diaporama->List.count()) Selected=Diaporama->List.count(); if (Selected<0) Selected=0; bool MusicPart =((event->pos().y()+verticalOffset())-newrow*ThumbHeight)>=3*(ThumbHeight/4); bool BackgroundPart=((event->pos().y()+verticalOffset())-newrow*ThumbHeight)<(ThumbHeight/4); bool AncCursorPosValide=CursorPosValide; if ((event->pos().x()>=0)&&(event->pos().x()<=viewport()->width())&&(event->pos().y()>=0)&&(event->pos().y()<=viewport()->height())) { CursorPosValide=false; if (IsDragOn==DRAGMODE_INTERNALMOVE_MUSIC) { if ((Selected!=-1)&&(event->pos().x()>=-columnWidth(0))&&(event->pos().x()<=width()+columnWidth(0))&& (event->pos().y()>=0-(PartitionMode?rowHeight(0):0))&&(event->pos().y()<=height()+(PartitionMode?rowHeight(0):0))) { if ((Selected!=Diaporama->CurrentCol)&&(SelectedList.count())&&(MusicPart)&&(!Diaporama->List[Selected]->MusicType)) CursorPosValide=true; } } else if (IsDragOn==DRAGMODE_INTERNALMOVE_BACKGROUND) { if ((Selected!=-1)&&(event->pos().x()>=-columnWidth(0))&&(event->pos().x()<=width()+columnWidth(0))&& (event->pos().y()>=0-(PartitionMode?rowHeight(0):0))&&(event->pos().y()<=height()+(PartitionMode?rowHeight(0):0))) { if ((Selected!=Diaporama->CurrentCol)&&(SelectedList.count())&&(BackgroundPart)&&(!Diaporama->List[Selected]->BackgroundType)) CursorPosValide=true; } } else if (IsDragOn==DRAGMODE_INTERNALMOVE_SLIDE) { if ((Selected!=-1)&&(event->pos().x()>=-columnWidth(0))&&(event->pos().x()<=width()+columnWidth(0))&& (event->pos().y()>=0-(PartitionMode?rowHeight(0):0))&&(event->pos().y()<=height()+(PartitionMode?rowHeight(0):0))) { if ((Selected!=Diaporama->CurrentCol)&&(Selected!=Diaporama->CurrentCol+1)) CursorPosValide=true; } } } else CursorPosValide=false; if (CursorPosValide) setCursor(Qt::ClosedHandCursor); else setCursor(Qt::ForbiddenCursor); if ((Selected!=DragItemDest)||(AncCursorPosValide!=CursorPosValide)) { // Clear previous selected slide if ((NbrX>0)&&(DragItemDest>=0)) { int ToUse =DragItemDest; DragItemDest=-1; if (ToUseList.count()) update(model()->index(ToUse/NbrX,ToUse-(ToUse/NbrX)*NbrX)); else update(model()->index((ToUse-1)/NbrX,(ToUse-1)-((ToUse-1)/NbrX)*NbrX)); } DragItemDest=Selected; // Display new selected slide if ((NbrX>0)&&(Selected>=0)) { if (SelectedList.count()) update(model()->index(Selected/NbrX,Selected-(Selected/NbrX)*NbrX)); else update(model()->index((Selected-1)/NbrX,(Selected-1)-((Selected-1)/NbrX)*NbrX)); } } } } //==================================================================================================================== void cCustomSlideTable::mousePressEvent(QMouseEvent *event) { if (event->button()!=Qt::LeftButton) { QTableWidget::mousePressEvent(event); IsDragOn=DRAGMODE_NOACTION; } else { if ((Diaporama->List.count()==0)||(IsDragOn==DRAGMODE_INTERNALMOVE_SLIDE)||(IsDragOn==DRAGMODE_INTERNALMOVE_MUSIC)||(IsDragOn==DRAGMODE_INTERNALMOVE_BACKGROUND)) { QTableWidget::mousePressEvent(event); return; } setCursor(Qt::ArrowCursor); // Get item number under mouse int ThumbWidth =columnWidth(0); int ThumbHeight =rowHeight(0); int row =(event->pos().y()+verticalOffset())/ThumbHeight; int col =(event->pos().x()+horizontalOffset())/ThumbWidth; int Current =currentRow()*columnCount()+currentColumn(); int Selected =row*columnCount()+col; bool MusicPart =((event->pos().y()+verticalOffset())-row*ThumbHeight)>=3*(ThumbHeight/4); bool BackgroundPart =((event->pos().y()+verticalOffset())-row*ThumbHeight)<(ThumbHeight/4); if (event->modifiers()==Qt::ShiftModifier) { // Shift : Add all items from current to item if (Currentselect(model()->index(i/columnCount(),i-(i/columnCount())*columnCount(),QModelIndex()),QItemSelectionModel::Select); else for (int i=Current-1;i>=Selected;i--) selectionModel()->select(model()->index(i/columnCount(),i-(i/columnCount())*columnCount(),QModelIndex()),QItemSelectionModel::Select); } else if (event->modifiers()==Qt::ControlModifier) { // Control : toggle selection for item (if is not current item) if (Selected!=Diaporama->CurrentCol) selectionModel()->select(model()->index(row,col,QModelIndex()),QItemSelectionModel::Toggle); } else { // Other : clear selection, then add item to selection ResetDisplay(Selected); } IsDragOn=DRAGMODE_NOACTION; DragItemSource=row*columnCount()+col; // if it was previously selected then start a drag & drop operation if ((Selected>=0)&&(SelectedList.count())) { if ((MusicPart)&&(Diaporama->List[Selected]->MusicType)&&(Diaporama->List[Selected]->MusicList.count()>0)) IsDragOn=DRAGMODE_INTERNALMOVE_MUSIC; else if ((BackgroundPart)&&(Diaporama->List[Selected]->BackgroundType)) IsDragOn=DRAGMODE_INTERNALMOVE_BACKGROUND; else IsDragOn=DRAGMODE_INTERNALMOVE_SLIDE; DragItemSource=Selected; DragItemDest =Selected; setCursor(Qt::ClosedHandCursor); } } } //==================================================================================================================== void cCustomSlideTable::mouseReleaseEvent(QMouseEvent *event) { setCursor(Qt::ArrowCursor); if (event->button()==Qt::RightButton) { emit RightClickEvent(event); IsDragOn=DRAGMODE_NOACTION; } else if ((IsDragOn!=DRAGMODE_INTERNALMOVE_SLIDE)&&(IsDragOn!=DRAGMODE_INTERNALMOVE_MUSIC)&&(IsDragOn!=DRAGMODE_INTERNALMOVE_BACKGROUND)) { QTableWidget::mouseReleaseEvent(event); IsDragOn=DRAGMODE_NOACTION; } else { if ((DragItemDest!=-1)&&(DragItemDest!=DragItemSource)&&(event->pos().x()>=-columnWidth(0))&&(event->pos().x()<=width()+columnWidth(0))&& (event->pos().y()>=0-(PartitionMode?rowHeight(0):0))&&(event->pos().y()<=height()+(PartitionMode?rowHeight(0):0))) emit DragMoveItem(); else {setUpdatesEnabled(false); setUpdatesEnabled(true);} IsDragOn=DRAGMODE_NOACTION; } setCursor(Qt::ArrowCursor); } //==================================================================================================================== void cCustomSlideTable::mouseDoubleClickEvent(QMouseEvent *event) { if (columnCount()==0) return; int ThumbWidth =columnWidth(0); int ThumbHeight=rowHeight(0); int row=(event->pos().y()+verticalOffset())/ThumbHeight; int col=(event->pos().x()+horizontalOffset())/ThumbWidth; int NbrX =width()/ThumbWidth; int Selected=(PartitionMode?row*NbrX+col:col); int x=event->pos().x()+horizontalOffset()-col*ThumbWidth; int y=event->pos().y()+verticalOffset()-row*ThumbHeight; if ((Selected>=0)&&(SelectedList.count())) { if (x<=TransitionSize) { // In transition column if (y=3*ThumbHeight/4) emit EditSoundTrack(); } else { // In object column if (y=3*ThumbHeight/4) emit EditMusicTrack(); } } } //==================================================================================================================== void cCustomSlideTable::wheelEvent(QWheelEvent *event) { if (!PartitionMode) { int numDegrees = event->delta() / 8; int numSteps = numDegrees / 15; SetCurrentCell(Diaporama->CurrentCol-numSteps); event->accept(); } else QTableWidget::wheelEvent(event); } //==================================================================================================================== void cCustomSlideTable::AddObjectToTimeLine(int CurIndex) { int ThumbWidth =Diaporama->GetWidthForHeight(ApplicationConfig->TimelineHeight/2-4)+36+5; int ThumbHeight=ApplicationConfig->TimelineHeight; int NbrX =viewport()->width()/ThumbWidth; int NbrY =NbrX>0?Diaporama->List.count()/NbrX:0; if (NbrX*NbrYList.count()) NbrY++; // Remove empty cell with unselecable item (if needed) for (int Row=0;RowList.count()); for (int i=0;iCurrentCol=CurIndex; SetCurrentCell(Diaporama->CurrentCol); } //==================================================================================================================== void cCustomSlideTable::ResetDisplay(int Selected) { int ThumbWidth =Diaporama->GetWidthForHeight(ApplicationConfig->TimelineHeight/2-4)+36+5; int ThumbHeight=ApplicationConfig->TimelineHeight; int NbrX =viewport()->width()/ThumbWidth; int NbrY =NbrX>0?Diaporama->List.count()/NbrX:0; if (NbrX*NbrYList.count()) NbrY++; ((MainWindow *)ApplicationConfig->TopLevelWindow)->FLAGSTOPITEMSELECTION=true; setUpdatesEnabled(false); // Clear selection selectionModel()->clear(); // Remove empty cell with unselecable item (if needed) for (int Row=0;RowList.count()); for (int i=0;iTopLevelWindow)->FLAGSTOPITEMSELECTION=false; if (Selected>=0) { int row=columnCount()>0?Selected/columnCount():0; int col=Selected-row*columnCount(); setCurrentCell(row,col,QItemSelectionModel::Select|QItemSelectionModel::Current); } setUpdatesEnabled(true); // Reset timeline painting } //==================================================================================================================== void cCustomSlideTable::SetTimelineHeight(bool NewPartitionMode) { PartitionMode=NewPartitionMode; int Selected=CurrentSelected(); if (!PartitionMode) { setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Fixed); setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn); setFixedHeight(ApplicationConfig->TimelineHeight+(height()-viewport()->height())); } else { setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding); setMaximumHeight(QWIDGETSIZE_MAX); setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); } updateGeometry(); QApplication::processEvents(); // Give time to Qt to redefine position of each control and timeline height ! ResetDisplay(Selected); } //==================================================================================================================== int cCustomSlideTable::CurrentSelected() { return currentRow()*columnCount()+currentColumn(); } bool cCustomSlideTable::IsMultipleSelection() { QModelIndexList SelList=selectionModel()->selectedIndexes(); return (SelList.count()>1); } void cCustomSlideTable::CurrentSelectionList(QList *List) { QModelIndexList SelList=selectionModel()->selectedIndexes(); QList IsSelected; for (int i=0;iclear(); for (int i=0;iList.count())&&(IsSelected[i])) List->append(i); } //==================================================================================================================== void cCustomSlideTable::SetCurrentCell(int Index) { if (columnCount()==0) return; setUpdatesEnabled(false); selectionModel()->clear(); // Clear selection int row=Index/columnCount(); int col=Index-row*columnCount(); setCurrentCell(row,col,QItemSelectionModel::Select|QItemSelectionModel::Current); setUpdatesEnabled(true); } //==================================================================================================================== void cCustomSlideTable::CleanAll() { setUpdatesEnabled(false); for (int Row=0;Row0) removeColumn(columnCount()-1); while (rowCount()) removeRow(rowCount()-1); setUpdatesEnabled(true); } ffDiaporama/src/ffDiaporama/HelpPopup/0000777000175000001440000000000012275647332020133 5ustar dominiqueusersffDiaporama/src/ffDiaporama/HelpPopup/HelpPopup.ui0000777000175000001440000005567612275647331022433 0ustar dominiqueusers HelpPopup 0 0 927 385 Sans Serif 9 ffDiaporama WIKI 4 4 4 4 4 0 0 0 56 16777215 56 8 QToolButton { background-color: transparent; border: none; font-size: 9px; } QToolButton:hover{ border: 2px solid #8f8f91; border-radius: 6px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #f6f7fa, stop: 1 #dadbde); } QToolButton:pressed { border: 2px solid #8f8f91; border-radius: 6px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #f6f7fa, stop: 1 #dadbde); } 2 0 0 0 0 56 56 56 56 -1 Changes the document displayed to the previous document in the list of documents built by navigating links. Backward :/img/arrow_left.png:/img/arrow_left.png 24 24 Qt::ToolButtonTextUnderIcon 56 56 56 56 -1 Changes the document displayed to the main page. Home :/img/help.png:/img/help.png 24 24 Qt::ToolButtonTextUnderIcon 56 56 56 56 -1 Changes the document displayed to the next document in the list of documents built by navigating links. Forward :/img/arrow_right.png:/img/arrow_right.png 24 24 Qt::ToolButtonTextUnderIcon Qt::Vertical 56 56 56 56 -1 Open the ffDiaporama Web site into your internet browser. Web Site :/img/logo.xpm:/img/logo.xpm 24 24 Qt::ToolButtonTextUnderIcon 56 56 56 56 -1 Open the ffDiaporama Forum into your internet browser. Forum :/img/forum.png:/img/forum.png 24 24 Qt::ToolButtonTextUnderIcon Qt::Horizontal 40 20 56 56 56 56 -1 Close the WIKI Exit :/img/exit.png:/img/exit.png 24 24 Qt::ToolButtonTextUnderIcon 0 0 4 4 4 4 4 0 0 Qt::Horizontal 0 0 2 0 0 0 0 QAbstractItemView::NoEditTriggers false true 0 false 0 0 If this checkbox is checked and the WIKI remains open, then automatically displayed in the WIKI the document corresponding to the currently used interface element (main window, dialog, etc ...) Follow the interface 0 0 0 0 0 0 0 0 0 16 75 true true QFrame::StyledPanel QFrame::Sunken 0 0 0 0 0 0 0 0 35 16777215 35 18 50 false false false TextLabel 0 0 QFrame::StyledPanel QFrame::Sunken 1 1 1 1 0 0 :/img/Opensource.png 0 0 ffDiaporama is a <a href="http://en.wikipedia.org/wiki/Free_software">Free Software (Open Source)</a> and is distributed under the <a href="http://www.gnu.org/licenses/gpl-2.0.html">GNU General Public License (GPL) version 2</a> true Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse 4 0 0 0 0 0 0 ©2011-2013 The ffDiaporama Team - This wiki and all the resources it contains are under license Qt::NoTextInteraction 0 0 PointingHandCursor QToolButton { background-color: transparent; border: none; font-size: 9px; } :/img/ccbysa.png:/img/ccbysa.png 80 15 Qt::Horizontal 40 20 HelpBrowser QTextBrowser
HelpPopup/HelpBrowser.h
HelpContent QTreeView
HelpPopup/HelpContent.h
ffDiaporama/src/ffDiaporama/HelpPopup/HelpPopup.h0000777000175000001440000000507312275647331022227 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef HELPPOPUP_H #define HELPPOPUP_H #include #include #include "HelpBrowser.h" namespace Ui { class HelpPopup; } class HelpPopup : public QCustomDialog { Q_OBJECT public: QHelpEngine *HelpEngine; QString Path; QStringList HelpFileHistory; // Saved help file (work with SaveLatestHelpFile / RestorePreviousHelpFile) QString LatestHelpFile; bool *WikiFollowInterface; bool DisableContentChange; explicit HelpPopup(cApplicationConfig *ApplicationConfig,QWidget *parent=0); ~HelpPopup(); virtual void DoInitDialog(); virtual bool DoAccept() {return true;} virtual void DoRejet() {/*Nothing to do*/} virtual void PrepareGlobalUndo() {/*Nothing to do*/} virtual void DoGlobalUndo() {/*Nothing to do*/} void OpenHelp(QString HelpFile,bool ForceWindow); void SaveLatestHelpFile(); void RestorePreviousHelpFile(); private slots: void UpdateUrl(QModelIndex); void PageChanged(); void CollapsedOrExpanded(QModelIndex); void Exit(); void Back(); void Next(); void CCBYSABT(); void Home(); void WebSite(); void Forum(); void Follow(); void SourceChanged(const QUrl &name); private: Ui::HelpPopup *ui; }; #endif // HELPPOPUP_H ffDiaporama/src/ffDiaporama/HelpPopup/HelpPopup.cpp0000777000175000001440000002254612275647332022567 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "HelpPopup.h" #include "ui_HelpPopup.h" #include #include #include #include HelpPopup::HelpPopup(cApplicationConfig *ApplicationConfig,QWidget *):QCustomDialog(ApplicationConfig,NULL),ui(new Ui::HelpPopup) { ToLog(LOGMSG_DEBUGTRACE,"IN:HelpPopup::HelpPopup"); HelpEngine =NULL; Path ="ffdiaporama_"; QString CollectionFile =ApplicationConfig->UserConfigPath; QString NameSpace ="ffdiaporama_"; if (!CollectionFile.endsWith(QDir::separator())) CollectionFile=CollectionFile+QDir::separator(); if (QFileInfo(CollectionFile+QString("wiki_%1.qhc").arg(ApplicationConfig->CurrentLanguage)).exists()) { CollectionFile=CollectionFile+QString("wiki_%1.qhc").arg(ApplicationConfig->CurrentLanguage); Path=Path+ApplicationConfig->CurrentLanguage; NameSpace=NameSpace+ApplicationConfig->CurrentLanguage; } else { CollectionFile=ApplicationConfig->StartingPath+QDir::separator()+"locale"+QDir::separator()+"wiki_en.qhc"; Path=Path+"en"; NameSpace=NameSpace+"en"; } HelpEngine=new QHelpEngine(CollectionFile,this); if (!HelpEngine->setupData()) { delete HelpEngine; HelpEngine=NULL; } setAttribute(Qt::WA_AlwaysShowToolTips); setWindowModality(Qt::NonModal); #ifndef Q_OS_WIN setWindowFlags(Qt::Window); #endif WikiFollowInterface=&ApplicationConfig->WikiFollowInterface; DisableContentChange=false; ui->setupUi(this); TypeWindowState =TypeWindowState_withsplitterpos; Splitter =ui->HelpSplitter; } //==================================================================================================================== // Initialise dialog void HelpPopup::DoInitDialog() { ToLog(LOGMSG_DEBUGTRACE,"IN:HelpPopup::DoInitDialog"); if (HelpEngine) { ui->HelpBrowserWidget->HelpEngine=HelpEngine; ui->ContentWidget->InitHelpEngine(HelpEngine); ui->FollowInterfaceCB->setChecked(*WikiFollowInterface); ui->HelpSplitter->setStretchFactor(0,1); ui->HelpSplitter->setStretchFactor(1,3); connect(ui->HelpBrowserWidget,SIGNAL(historyChanged()),SLOT(PageChanged())); connect(ui->HelpBrowserWidget,SIGNAL(sourceChanged(QUrl)),SLOT(SourceChanged(QUrl))); connect(ui->ContentWidget,SIGNAL(clicked(QModelIndex)),this,SLOT(UpdateUrl(QModelIndex))); connect(ui->ContentWidget,SIGNAL(collapsed(QModelIndex)),this,SLOT(CollapsedOrExpanded(QModelIndex))); connect(ui->ContentWidget,SIGNAL(expanded(QModelIndex)),this,SLOT(CollapsedOrExpanded(QModelIndex))); connect(ui->ExitBT,SIGNAL(pressed()),this,SLOT(Exit())); connect(ui->PreviousBT,SIGNAL(pressed()),this,SLOT(Back())); connect(ui->NextBT,SIGNAL(pressed()),this,SLOT(Next())); connect(ui->CCBYSABT,SIGNAL(pressed()),this,SLOT(CCBYSABT())); connect(ui->HomeBT,SIGNAL(pressed()),this,SLOT(Home())); connect(ui->WebSiteBT,SIGNAL(pressed()),this,SLOT(WebSite())); connect(ui->ForumBT,SIGNAL(pressed()),this,SLOT(Forum())); connect(ui->FollowInterfaceCB,SIGNAL(clicked()),this,SLOT(Follow())); PageChanged(); } } //==================================================================================================================== HelpPopup::~HelpPopup() { ToLog(LOGMSG_DEBUGTRACE,"IN:HelpPopup::~HelpPopup"); delete ui; } //==================================================================================================================== void HelpPopup::UpdateUrl(QModelIndex index) { ToLog(LOGMSG_DEBUGTRACE,"IN:HelpPopup::UpdateUrl"); if (HelpEngine) { DisableContentChange=true; ui->HelpBrowserWidget->setSource(ui->ContentWidget->GetURL(index)); DisableContentChange=false; } } //==================================================================================================================== void HelpPopup::Exit() { ToLog(LOGMSG_DEBUGTRACE,"IN:HelpPopup::Exit"); close(); } //==================================================================================================================== void HelpPopup::Back() { ToLog(LOGMSG_DEBUGTRACE,"IN:HelpPopup::Back"); ui->HelpBrowserWidget->backward(); } //==================================================================================================================== void HelpPopup::Next() { ToLog(LOGMSG_DEBUGTRACE,"IN:HelpPopup::Next"); ui->HelpBrowserWidget->forward(); } //==================================================================================================================== void HelpPopup::CCBYSABT() { ToLog(LOGMSG_DEBUGTRACE,"IN:HelpPopup::CCBYSABT"); QDesktopServices::openUrl(QUrl("http://creativecommons.org/licenses/by-sa/3.0/")); } //==================================================================================================================== void HelpPopup::Home() { ToLog(LOGMSG_DEBUGTRACE,"IN:HelpPopup::Home"); OpenHelp("main",false); } //==================================================================================================================== void HelpPopup::WebSite() { ToLog(LOGMSG_DEBUGTRACE,"IN:HelpPopup::WebSite"); QDesktopServices::openUrl(QUrl(QString("http://ffdiaporama.tuxfamily.org/?lang=%1").arg(ApplicationConfig->CurrentLanguage))); } //==================================================================================================================== void HelpPopup::Forum() { ToLog(LOGMSG_DEBUGTRACE,"IN:HelpPopup::Forum"); QDesktopServices::openUrl(QUrl("http://ffdiaporama.tuxfamily.org/Forum/")); } //==================================================================================================================== void HelpPopup::PageChanged() { ToLog(LOGMSG_DEBUGTRACE,"IN:HelpPopup::PageChanged"); ui->PreviousBT->setEnabled(ui->HelpBrowserWidget->backwardHistoryCount()>0); ui->NextBT->setEnabled(ui->HelpBrowserWidget->isForwardAvailable()); } //==================================================================================================================== void HelpPopup::OpenHelp(QString HelpFile,bool ForceWindow) { ToLog(LOGMSG_DEBUGTRACE,"IN:HelpPopup::OpenHelp"); if (HelpEngine) { LatestHelpFile=HelpFile; if (HelpFile.endsWith(".html")) ui->HelpBrowserWidget->setSource(QString("qthelp://%1%2").arg(Path).arg(HelpFile)); else ui->HelpBrowserWidget->setSource(QString("qthelp://%1/doc/%2.html").arg(Path).arg(HelpFile)); if ((ForceWindow)&&(!this->isVisible())) show(); if (ForceWindow) raise(); } } //==================================================================================================================== void HelpPopup::SourceChanged(const QUrl &name) { ToLog(LOGMSG_DEBUGTRACE,"IN:HelpPopup::SourceChanged"); LatestHelpFile=name.path(); QString Title=ui->HelpBrowserWidget->documentTitle(); Title.replace("\n",""); ui->HelpTitle->setText(Title.trimmed()); if (!DisableContentChange) { QModelIndex Item; if (ui->ContentWidget->SearchPage(name.path(),ui->ContentWidget->rootIndex(),Item)) ui->ContentWidget->setCurrentIndex(Item); ui->ContentWidget->ResizeScrollBar(); } } //==================================================================================================================== void HelpPopup::CollapsedOrExpanded(QModelIndex) { ToLog(LOGMSG_DEBUGTRACE,"IN:HelpPopup::CollapsedOrExpanded"); ui->ContentWidget->ResizeScrollBar(); } //==================================================================================================================== void HelpPopup::SaveLatestHelpFile() { ToLog(LOGMSG_DEBUGTRACE,"IN:HelpPopup::SaveLatestHelpFile"); HelpFileHistory.append(LatestHelpFile); } //==================================================================================================================== void HelpPopup::RestorePreviousHelpFile() { ToLog(LOGMSG_DEBUGTRACE,"IN:HelpPopup::RestorePreviousHelpFile"); if (!HelpFileHistory.isEmpty()) OpenHelp(HelpFileHistory.takeLast(),false); } //==================================================================================================================== void HelpPopup::Follow() { ToLog(LOGMSG_DEBUGTRACE,"IN:HelpPopup::SourceChanged"); *WikiFollowInterface=ui->FollowInterfaceCB->isChecked(); } ffDiaporama/src/ffDiaporama/HelpPopup/HelpContent.h0000777000175000001440000000322212275647331022530 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef HELPCONTENT_H #define HELPCONTENT_H #include "engine/_GlobalDefines.h" #include #include #include class HelpContent : public QTreeView { Q_OBJECT public: QHelpEngine *HelpEngine; explicit HelpContent(QWidget *parent = 0); void InitHelpEngine(QHelpEngine *HelpEngine); QUrl GetURL(const QModelIndex & index); bool SearchPage(QString Page,QModelIndex Parent,QModelIndex &FoundItem); void ResizeScrollBar(); private: int ComputeTreeSize(QModelIndex Parent,QFontMetrics &FM,int Indent); }; #endif // HELPCONTENT_H ffDiaporama/src/ffDiaporama/HelpPopup/HelpContent.cpp0000777000175000001440000001051012275647331023061 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "HelpContent.h" #include HelpContent::HelpContent(QWidget *parent):QTreeView(parent) { HelpEngine=NULL; } //==================================================================================================================== void HelpContent::InitHelpEngine(QHelpEngine *HelpEngine) { this->HelpEngine=HelpEngine; setModel(HelpEngine->contentModel()); } //==================================================================================================================== QUrl HelpContent::GetURL(const QModelIndex &index) { QHelpContentModel *Model=HelpEngine->contentModel(); QHelpContentItem *Item =Model->contentItemAt(index); return Item->url(); } //==================================================================================================================== bool HelpContent::SearchPage(QString Page,QModelIndex Parent,QModelIndex &FoundItem) { QModelIndex Current; QHelpContentModel *Model=HelpEngine->contentModel(); if (!Parent.isValid()) Parent=Model->index(0,0); // if Parent is root if ((Model->contentItemAt(Parent))&&(Model->contentItemAt(Parent)->url().toString().endsWith(Page))) { FoundItem=Parent; return true; } if (Model->hasChildren(Parent)) { int row=0; while (Model->hasIndex(row,0,Parent)) { Current=Model->index(row,0,Parent); if (Model->contentItemAt(Current)->url().toString().endsWith(Page)) { FoundItem=Current; return true; } if (Model->hasChildren(Current)) { if (SearchPage(Page,Current,FoundItem)) return true; } row++; } } return false; } //==================================================================================================================== int HelpContent::ComputeTreeSize(QModelIndex Parent,QFontMetrics &FM,int Indent) { QModelIndex Current; QHelpContentModel *Model=HelpEngine->contentModel(); QHelpContentItem *Item=NULL; int Size=0,NewSize=0; if (!Parent.isValid()) Parent=Model->index(0,0); // if Parent is root Item=Model->contentItemAt(Parent); if (Item) { NewSize=FM.width(Item->url().toString())+Indent; if (SizehasChildren(Parent)) { int row=0; while (Model->hasIndex(row,0,Parent)) { Current=Model->index(row,0,Parent); Item =Model->contentItemAt(Current); if (Item) { NewSize=FM.width(Item->url().toString())+Indent; if (SizehasChildren(Current)) { NewSize=ComputeTreeSize(Current,FM,Indent+indentation()); if (Size This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef HELPBROWSER_H #define HELPBROWSER_H #include "engine/_GlobalDefines.h" #include #include #include class HelpBrowser : public QTextBrowser { Q_OBJECT public: QHelpEngine *HelpEngine; explicit HelpBrowser(QWidget *parent = 0); virtual void setSource(const QUrl &name); private: virtual QVariant loadResource(int type,const QUrl &name); }; #endif // HELPBROWSER_H ffDiaporama/src/ffDiaporama/HelpPopup/HelpBrowser.cpp0000777000175000001440000000347212275647332023104 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "HelpBrowser.h" #include HelpBrowser::HelpBrowser(QWidget *parent):QTextBrowser(parent) { HelpEngine=NULL; } //==================================================================================================================== QVariant HelpBrowser::loadResource(int type,const QUrl &name) { QByteArray ba; if ((type<4)&&(HelpEngine)) { QUrl url(name); if (name.isRelative()) url=source().resolved(url); ba=HelpEngine->fileData(url); } return ba; } //==================================================================================================================== void HelpBrowser::setSource(const QUrl &name) { if (name.toString().startsWith("http")) QDesktopServices::openUrl(QUrl(name)); else QTextBrowser::setSource(name); } ffDiaporama/src/ffDiaporama/DlgffDPjrProperties/0000777000175000001440000000000012275647315022077 5ustar dominiqueusersffDiaporama/src/ffDiaporama/DlgffDPjrProperties/DlgffDPjrProperties.ui0000777000175000001440000007250412275647315026330 0ustar dominiqueusers DlgffDPjrProperties 0 0 565 418 Sans Serif 9 Project properties 4 8 8 8 8 QFrame::NoFrame Qt::ScrollBarAlwaysOn true 0 0 535 550 4 4 4 4 2 0 Override date : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 0 0 0 0 0 0 Check this box to override the date and offer you to enter the date as a free text Enter here the date of the event of the project as a free text Comment : Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing The name of the author of the project (If the id3v2 compatibility option is set in option dialog, this fields is limited to 30 characters). Remark: This field is often shown by indexing system and jukeboxes under the term Artist. 200 Image animation: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter TransitionSpeedWaveCB Block animation: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter TransitionSpeedWaveCB 75 true true Options for speed wave Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft Qt::Vertical 20 40 Author : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Album : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Title : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Transition: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter TransitionSpeedWaveCB 0 7 Expor thumbnail to a jpeg file :/img/filesave.png:/img/filesave.png 16 16 7 Create a new model from this thumbnail or edit custom thumbnail :/img/AutoTS.png:/img/AutoTS.png 16 16 Qt::ToolButtonIconOnly 7 Customize the thumbnail only for this project (without creating a new thumbnail model) :/img/action_edit.png:/img/action_edit.png 16 16 0 0 106 86 106 86 Defines the model use as default thumbnail 60 80 2 Defined default speed curve for image animations. This option sets the value of the velocity curves for use whenever the corresponding options are set to "Project Default". -1 Qt::Horizontal 0 20 Chapters defined in the project are listed for consultation. To modify chapters use modify slide dialog. The following fields appear: -#: The chapter number -Slide: Slide number in wich chapter is defined -Title: Chapter title -Start: Chapter start position -End: Chapter end position -Duration: Chapter duration Remark: Video formats do not support all the chapters in the same way. Language : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 2 Defined default speed curve for block animations. This option sets the value of the velocity curves for use whenever the corresponding options are set to "Project Default". -1 Qt::Horizontal 0 20 A free comment which can spread out on several lines. Remark: numerous indexing systems or jukeboxes will read only the 1st line. QPlainTextEdit::NoWrap 75 true true Chapters 2 0 0 0 0 0 0 50 0 50 16777215 The language of the audio track (ISO 639 standard – 3 characters). und 3 (ISO 639 language code) The title of the project (If the id3v2 compatibility option is set in option dialog, this fields is limited to 30 characters). 200 2 Defined default speed curve for transitions. This option sets the value of the velocity curves for use whenever the corresponding options are set to "Project Default". -1 Qt::Horizontal 0 20 The album of the project (If the id3v2 compatibility option is set in option dialog, this fields is limited to 30 characters). 200 Event date : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Project geometry: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter GeometryCombo Event location: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter This field allows you to select the geometry to be used for the project. Note: This field is only editable when the dialog box is opened for creating a new project. Subsequently, it is not possible to change this value. 0 Old TV (4:3) TV Wide (16:9) Cinema (2.35:1) The date of the event of the project true 0 10 0 QFrame { background-color: white; border: 1px solid darkgray; } QFrame::Box 2 2 0 2 0 0 0 16 16 QFrame { background-color: transparent; border: 0; } QFrame { background-color: transparent; border: 0; } Select the location of the event of the project :/img/EditGMaps.png:/img/EditGMaps.png Clear this location :/img/trash.png:/img/trash.png Qt::Horizontal 4 Qt::Horizontal 40 20 Accept modification and exit dialog box &Ok :/img/action_ok.png:/img/action_ok.png Cancel modification and exit dialog box &Cancel :/img/action_cancel.png:/img/action_cancel.png Show help about this dialogue box &Help :/img/help.png:/img/help.png cCSpeedWaveComboBox QComboBox
../ffDiaporama_lib/cSpeedWaveComboBox.h
cThumbnailComboBox QComboBox
CustomCtrl/cThumbnailComboBox.h
scrollArea GeometryCombo TitleED AlbumED AuthorED LanguageED ThumbCB AdminEditThumbBT EditThumbBT ExportThumbBT DateEdit OverrideDateCB DateED LocationBT ClearLocationBT CommentED TransitionSpeedWaveCB BlockSpeedWaveCB ImageSpeedWaveCB ChapterTable OkBt CancelBt HelpBt
ffDiaporama/src/ffDiaporama/DlgffDPjrProperties/DlgffDPjrProperties.h0000777000175000001440000000534012275647315026134 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef DLGFFDPJRPROPERTIES_H #define DLGFFDPJRPROPERTIES_H // Basic inclusions (common to all files) #include "CustomCtrl/_QCustomDialog.h" #include "engine/_Diaporama.h" namespace Ui { class DlgffDPjrProperties; } class DlgffDPjrProperties : public QCustomDialog { Q_OBJECT public: cDiaporama *ffdProject; bool IsPrjCreate; bool IsLocationChanged; bool AllowGMapRefresh; explicit DlgffDPjrProperties(bool IsPrjCreate,cDiaporama *ffdProject,cApplicationConfig *ApplicationConfig,QWidget *parent = 0); ~DlgffDPjrProperties(); // function to be overloaded virtual void DoInitDialog(); // Initialise dialog virtual bool DoAccept(); // Call when user click on Ok button virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button virtual void PrepareGlobalUndo(); // Initiale Undo virtual void DoGlobalUndo(); // Apply Undo : call when user click on Cancel button private slots: void TitleChanged(QString); void AlbumChanged(QString); void AuthorChanged(QString); void EventDateChanged(const QDate &NewDate); void OverrideDateChanged(int); void EditThumb(); void AdminEditThumb(); void ExportThumb(); void ThumbChanged(); void SelectLocation(); void ClearLocation(); private: Ui::DlgffDPjrProperties *ui; }; #endif // DLGFFDPJRPROPERTIES_H ffDiaporama/src/ffDiaporama/DlgffDPjrProperties/DlgffDPjrProperties.cpp0000777000175000001440000005207512275647315026476 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "DlgffDPjrProperties.h" #include "ui_DlgffDPjrProperties.h" #include "cTextFrame.h" #include "cTexteFrameComboBox.h" #include "engine/cLocation.h" #include "DlgSlide/DlgImageComposer.h" #include "DlgGMapsLocation/DlgGMapsLocation.h" //==================================================================================================================== DlgffDPjrProperties::DlgffDPjrProperties(bool IsPrjCreate,cDiaporama *ffdProject,cApplicationConfig *ApplicationConfig,QWidget *parent) :QCustomDialog(ApplicationConfig,parent),ui(new Ui::DlgffDPjrProperties) { this->IsPrjCreate=IsPrjCreate; this->ffdProject =ffdProject; IsLocationChanged=false; AllowGMapRefresh =true; ui->setupUi(this); CancelBt=ui->CancelBt; OkBt =ui->OkBt; HelpBt =ui->HelpBt; HelpFile="0108"; ui->ThumbCB->Diaporama=ffdProject; } //==================================================================================================================== // Initialise dialog void DlgffDPjrProperties::DoInitDialog() { if (IsPrjCreate) { setWindowTitle(QApplication::translate("DlgffDPjrProperties","New project")); OkBt->setText(QApplication::translate("DlgffDPjrProperties","Create project")); } else { setWindowTitle(QApplication::translate("DlgffDPjrProperties","Project properties")); } ui->GeometryCombo->setCurrentIndex(ffdProject->ImageGeometry); ui->GeometryCombo->setEnabled(IsPrjCreate); ui->TitleED->setText(ffdProject->ProjectInfo->Title); ui->DateED->setPlainText(ffdProject->ProjectInfo->LongDate); ui->DateEdit->setDate(ffdProject->ProjectInfo->EventDate); ui->DateEdit->setDisplayFormat(ApplicationConfig->ShortDateFormat); ui->OverrideDateCB->setChecked(ffdProject->ProjectInfo->OverrideDate); ui->DateED->setEnabled(ui->OverrideDateCB->isChecked()); ui->AuthorED->setText(ffdProject->ProjectInfo->Author); ui->AlbumED->setText(ffdProject->ProjectInfo->Album); ui->CommentED->setPlainText(ffdProject->ProjectInfo->Comment); ui->LanguageED->setText(ffdProject->ProjectInfo->DefaultLanguage); ui->TransitionSpeedWaveCB->SetCurrentValue(ffdProject->TransitionSpeedWave); ui->BlockSpeedWaveCB->SetCurrentValue(ffdProject->BlockAnimSpeedWave); ui->ImageSpeedWaveCB->SetCurrentValue(ffdProject->ImageAnimSpeedWave); if (ApplicationConfig->ID3V2Comptatibility) { ui->TitleED->setMaxLength(30); ui->AuthorED->setMaxLength(30); ui->AlbumED->setMaxLength(30); } DoInitTableWidget(ui->ChapterTable,QApplication::translate("DlgffDPjrProperties","#;Slide;Title;Start;End;Duration","Column headers")); for (int i=0;(i==0)||(iProjectInfo->NbrChapters);i++) { int iChapterNum=ffdProject->ProjectInfo->NbrChapters==0?0:i+1; QString ChapterNum=QString("%1").arg(iChapterNum); while (ChapterNum.length()<3) ChapterNum="0"+ChapterNum; ChapterNum="Chapter_"+ChapterNum+":"; QColor Background=((i & 0x01)==0x01)?Qt::white:QColor(0xE0,0xE0,0xE0); ui->ChapterTable->insertRow(ui->ChapterTable->rowCount()); ui->ChapterTable->setItem(ui->ChapterTable->rowCount()-1,0,CreateItem(QString("%1").arg(iChapterNum),Qt::AlignLeft|Qt::AlignVCenter,Background)); ui->ChapterTable->setItem(ui->ChapterTable->rowCount()-1,1,CreateItem(GetInformationValue(ChapterNum+"InSlide", &ffdProject->ProjectInfo->ChaptersProperties),Qt::AlignLeft|Qt::AlignVCenter,Background)); ui->ChapterTable->setItem(ui->ChapterTable->rowCount()-1,2,CreateItem(GetInformationValue(ChapterNum+"title", &ffdProject->ProjectInfo->ChaptersProperties),Qt::AlignLeft|Qt::AlignVCenter,Background)); ui->ChapterTable->setItem(ui->ChapterTable->rowCount()-1,3,CreateItem(GetInformationValue(ChapterNum+"Start", &ffdProject->ProjectInfo->ChaptersProperties),Qt::AlignLeft|Qt::AlignVCenter,Background)); ui->ChapterTable->setItem(ui->ChapterTable->rowCount()-1,4,CreateItem(GetInformationValue(ChapterNum+"End", &ffdProject->ProjectInfo->ChaptersProperties),Qt::AlignLeft|Qt::AlignVCenter,Background)); ui->ChapterTable->setItem(ui->ChapterTable->rowCount()-1,5,CreateItem(GetInformationValue(ChapterNum+"Duration",&ffdProject->ProjectInfo->ChaptersProperties),Qt::AlignLeft|Qt::AlignVCenter,Background)); } DoResizeColumnsTableWidget(ui->ChapterTable); if (ffdProject->ThumbnailName=="*") ApplicationConfig->ThumbnailModels->AppendCustomModel(); ui->ThumbCB->ProjectThumbnail=ffdProject->ProjectThumbnail; ui->ThumbCB->PrepareTable(true,ApplicationConfig->ThumbnailModels); ui->ThumbCB->SetCurrentModel(ffdProject->ThumbnailName); if (ffdProject->ProjectInfo->Location) { ui->Location->setText(QString("%1 (%2)").arg(((cLocation *)ffdProject->ProjectInfo->Location)->Name).arg(((cLocation *)ffdProject->ProjectInfo->Location)->FriendlyAddress)); ui->LocationIcon->setPixmap(QPixmap().fromImage(((cLocation *)ffdProject->ProjectInfo->Location)->GetThumb(16))); } else { ui->Location->setText(""); ui->LocationIcon->setPixmap(QPixmap()); } // Define handler connect(ui->DateEdit,SIGNAL(dateChanged(const QDate &)),this,SLOT(EventDateChanged(const QDate &))); connect(ui->OverrideDateCB,SIGNAL(stateChanged(int)),this,SLOT(OverrideDateChanged(int))); connect(ui->AdminEditThumbBT,SIGNAL(clicked()),this,SLOT(AdminEditThumb())); connect(ui->EditThumbBT,SIGNAL(clicked()),this,SLOT(EditThumb())); connect(ui->ExportThumbBT,SIGNAL(clicked()),this,SLOT(ExportThumb())); connect(ui->ThumbCB,SIGNAL(itemSelectionHaveChanged()),this,SLOT(ThumbChanged())); connect(ui->TitleED,SIGNAL(textChanged(QString)),this,SLOT(TitleChanged(QString))); connect(ui->AlbumED,SIGNAL(textChanged(QString)),this,SLOT(AlbumChanged(QString))); connect(ui->AuthorED,SIGNAL(textChanged(QString)),this,SLOT(AuthorChanged(QString))); connect(ui->LocationBT,SIGNAL(pressed()),this,SLOT(SelectLocation())); connect(ui->ClearLocationBT,SIGNAL(pressed()),this,SLOT(ClearLocation())); ui->ThumbCB->MakeIcons(); // Refresh icons for curstom combo ThumbChanged(); } //==================================================================================================================== DlgffDPjrProperties::~DlgffDPjrProperties() { ffdProject->CloseUnusedLibAv(ffdProject->CurrentCol); delete ui; } //==================================================================================================================== // Initiale Undo void DlgffDPjrProperties::PrepareGlobalUndo() { // Save object before modification for cancel button Undo=new QDomDocument(APPLICATION_NAME); QDomElement root=Undo->createElement("UNDO-DLG"); // Create xml document and root ffdProject->ProjectInfo->SaveToXML(&root,"",ffdProject->ProjectFileName,true,NULL,NULL,false); ffdProject->ProjectThumbnail->SaveToXML(root,"UNDO-DLG-ProjectThumbnail",ffdProject->ProjectFileName,true,NULL,NULL,false); Undo->appendChild(root); // Add object to xml document } //==================================================================================================================== // Apply Undo : call when user click on Cancel button void DlgffDPjrProperties::DoGlobalUndo() { QDomElement root=Undo->documentElement(); if (root.tagName()=="UNDO-DLG") { ffdProject->ProjectInfo->LoadFromXML(&root,"",ffdProject->ProjectFileName,NULL,NULL,NULL,false); ffdProject->ProjectThumbnail->LoadFromXML(root,"UNDO-DLG-ProjectThumbnail","",NULL,NULL,false); } } //==================================================================================================================== // Call when user click on Ok button bool DlgffDPjrProperties::DoAccept() { if (IsPrjCreate) ffdProject->ImageGeometry=(ffd_GEOMETRY)ui->GeometryCombo->currentIndex(); ffdProject->ProjectInfo->Album =ui->AlbumED->text(); ffdProject->ProjectInfo->Author =ui->AuthorED->text(); ffdProject->ProjectInfo->LongDate =ui->DateED->toPlainText(); ffdProject->ProjectInfo->EventDate =ui->DateEdit->date(); ffdProject->ProjectInfo->OverrideDate =ui->OverrideDateCB->isChecked(); ffdProject->ProjectInfo->Comment =ui->CommentED->toPlainText(); ffdProject->ProjectInfo->DefaultLanguage=ui->LanguageED->text(); ffdProject->TransitionSpeedWave =ui->TransitionSpeedWaveCB->GetCurrentValue(); ffdProject->BlockAnimSpeedWave =ui->BlockSpeedWaveCB->GetCurrentValue(); ffdProject->ImageAnimSpeedWave =ui->ImageSpeedWaveCB->GetCurrentValue(); ffdProject->ThumbnailName =ui->ThumbCB->GetCurrentModel(); if (IsLocationChanged && AllowGMapRefresh) ffdProject->UpdateGMapsObject(); return true; } //==================================================================================================================== void DlgffDPjrProperties::TitleChanged(QString) { ffdProject->ProjectInfo->Title=ui->TitleED->text(); ui->ThumbCB->MakeIcons(); // Refresh icons for curstom combo } void DlgffDPjrProperties::AlbumChanged(QString) { ffdProject->ProjectInfo->Album=ui->AlbumED->text(); ui->ThumbCB->MakeIcons(); // Refresh icons for curstom combo } void DlgffDPjrProperties::AuthorChanged(QString) { ffdProject->ProjectInfo->Author=ui->AuthorED->text(); ui->ThumbCB->MakeIcons(); // Refresh icons for curstom combo } //==================================================================================================================== void DlgffDPjrProperties::EventDateChanged(const QDate &NewDate) { ffdProject->ProjectInfo->EventDate=NewDate; if (!ffdProject->ProjectInfo->OverrideDate) { ffdProject->ProjectInfo->LongDate=FormatLongDate(ffdProject->ProjectInfo->EventDate); ui->DateED->setPlainText(ffdProject->ProjectInfo->LongDate); } ui->ThumbCB->MakeIcons(); // Refresh icons for curstom combo } //==================================================================================================================== void DlgffDPjrProperties::OverrideDateChanged(int) { ffdProject->ProjectInfo->OverrideDate=ui->OverrideDateCB->isChecked(); if (!ffdProject->ProjectInfo->OverrideDate) { ffdProject->ProjectInfo->LongDate=FormatLongDate(ffdProject->ProjectInfo->EventDate); ui->DateED->setPlainText(ffdProject->ProjectInfo->LongDate); } ui->DateED->setEnabled(ui->OverrideDateCB->isChecked()); ui->ThumbCB->MakeIcons(); // Refresh icons for curstom combo } //==================================================================================================================== // Export Thumb void DlgffDPjrProperties::ExportThumb() { QString OutputFileName=QFileInfo(ffdProject->ProjectFileName).absolutePath(); if (!OutputFileName.endsWith(QDir::separator())) OutputFileName=OutputFileName+QDir::separator(); OutputFileName=OutputFileName+"folder.jpg"; QString Filter="JPG (*.jpg)"; OutputFileName=QFileDialog::getSaveFileName(this,QApplication::translate("MainWindow","Select destination file"),OutputFileName,"JPG (*.jpg)",&Filter); if (OutputFileName!="") { int Index=ApplicationConfig->ThumbnailModels->SearchModel(ffdProject->ThumbnailName); if (Index>=0) { QSize ForcedThumbnailSize(THUMBWITH,THUMBHEIGHT); QImage Image=ApplicationConfig->ThumbnailModels->List[Index]->PrepareImage(0,ffdProject,ffdProject->ProjectThumbnail,&ForcedThumbnailSize); if (Image.save(OutputFileName,0,100)) CustomMessageBox(this,QMessageBox::Information,QApplication::translate("DlgffDPjrProperties","Export thumbnail"), QApplication::translate("DlgffDPjrProperties","Thumbnail successfully exported","Information message"),QMessageBox::Close); } } } //==================================================================================================================== // Edit a custom thumb model void DlgffDPjrProperties::AdminEditThumb() { int ThumbnailIndex=ApplicationConfig->ThumbnailModels->SearchModel(ffdProject->ThumbnailName); if ((ThumbnailIndex<0)||(ThumbnailIndex>=ApplicationConfig->ThumbnailModels->List.count())) return; if (!ApplicationConfig->ThumbnailModels->List[ThumbnailIndex]->IsCustom) { QString OldName=ffdProject->ThumbnailName; QString NewName=ffdProject->ProjectThumbnail->SaveAsNewCustomModelFile(ffd_MODELTYPE_THUMBNAIL); ui->ThumbCB->PrepareTable(true,ApplicationConfig->ThumbnailModels); ui->ThumbCB->SetCurrentModel(ffdProject->ThumbnailName); DlgImageComposer Dlg(ffdProject,ApplicationConfig,this); Dlg.InitDialog(); if (Dlg.exec()==0) { ffdProject->ProjectThumbnail->SaveModelFile(ffd_MODELTYPE_THUMBNAIL,NewName); ApplicationConfig->ThumbnailModels->FillModelType(ffd_MODELTYPE_THUMBNAIL); ui->ThumbCB->PrepareTable(true,ApplicationConfig->ThumbnailModels); ui->ThumbCB->SetCurrentModel(ffdProject->ThumbnailName); } else { QFile(NewName).remove(); (*ApplicationConfig->ThumbnailModels->NextNumber)--; ffdProject->ThumbnailName=OldName; ApplicationConfig->ThumbnailModels->FillModelType(ffd_MODELTYPE_THUMBNAIL); ui->ThumbCB->PrepareTable(true,ApplicationConfig->ThumbnailModels); ui->ThumbCB->SetCurrentModel(ffdProject->ThumbnailName); } } else { DlgImageComposer Dlg(ffdProject,ApplicationConfig,this); Dlg.InitDialog(); if (Dlg.exec()==0) { ffdProject->ProjectThumbnail->SaveModelFile(ffd_MODELTYPE_THUMBNAIL,ApplicationConfig->ThumbnailModels->List[ApplicationConfig->ThumbnailModels->SearchModel(ffdProject->ThumbnailName)]->FileName); ApplicationConfig->ThumbnailModels->FillModelType(ffd_MODELTYPE_THUMBNAIL); ui->ThumbCB->PrepareTable(true,ApplicationConfig->ThumbnailModels); ui->ThumbCB->SetCurrentModel(ffdProject->ThumbnailName); } } ThumbChanged(); } //==================================================================================================================== // Edit customized thumb (thumb integrated in the project) void DlgffDPjrProperties::EditThumb() { if (ffdProject->ThumbnailName!="*") { ffdProject->ThumbnailName="*"; ApplicationConfig->ThumbnailModels->AppendCustomModel(); ui->ThumbCB->PrepareTable(true,ApplicationConfig->ThumbnailModels); ui->ThumbCB->SetCurrentModel(ffdProject->ThumbnailName); } DlgImageComposer Dlg(ffdProject,ApplicationConfig,this); Dlg.InitDialog(); if (Dlg.exec()==0) { ApplicationConfig->ThumbnailModels->AppendCustomModel(); ui->ThumbCB->PrepareTable(true,ApplicationConfig->ThumbnailModels); ui->ThumbCB->SetCurrentModel(ffdProject->ThumbnailName); } ThumbChanged(); } //==================================================================================================================== void DlgffDPjrProperties::ThumbChanged() { ffdProject->ThumbnailName=ui->ThumbCB->GetCurrentModel(); int ThumbnailIndex=ApplicationConfig->ThumbnailModels->SearchModel(ffdProject->ThumbnailName); if ((ThumbnailIndex<0)||(ThumbnailIndex>=ApplicationConfig->ThumbnailModels->List.count())) return; if (ffdProject->ThumbnailName!="*") { ApplicationConfig->ThumbnailModels->RemoveCustomModel(); if ((ThumbnailIndex>=0)&&(ThumbnailIndexThumbnailModels->List.count())) ffdProject->ProjectThumbnail->LoadModelFromXMLData(ffd_MODELTYPE_THUMBNAIL,ApplicationConfig->ThumbnailModels->List[ThumbnailIndex]->Model, &ApplicationConfig->ThumbnailModels->List[ThumbnailIndex]->ResKeyList,true); ui->ThumbCB->PrepareTable(true,ApplicationConfig->ThumbnailModels); ui->ThumbCB->SetCurrentModel(ffdProject->ThumbnailName); } if ((ThumbnailIndex<0)||(ThumbnailIndex>=ApplicationConfig->ThumbnailModels->List.count())) return; if (ApplicationConfig->ThumbnailModels->List[ThumbnailIndex]->IsCustom) { ui->AdminEditThumbBT->setText(QApplication::translate("DlgffDPjrProperties","Edit\ncustom model")); ui->AdminEditThumbBT->setEnabled(ApplicationConfig->ThumbnailModels->List[ThumbnailIndex]->Name!="*"); } else { ui->AdminEditThumbBT->setText(QApplication::translate("DlgffDPjrProperties","Create\ncustom model")); ui->AdminEditThumbBT->setEnabled(true); } } //==================================================================================================================== #define FAVACTIONTYPE_ACTIONTYPE 0xF000 #define FAVACTIONTYPE_EDIT 0x1000 #define FAVACTIONTYPE_SELECT 0x8000 void DlgffDPjrProperties::SelectLocation() { QMenu *ContextMenu=new QMenu(this); bool AddSep=false; QAction *Add=CreateMenuAction(QIcon(":/img/gmap_add.png"), ffdProject->ProjectInfo->Location?QApplication::translate("MainWindow","Edit this location"):QApplication::translate("MainWindow","Define a location"), FAVACTIONTYPE_EDIT,false,false,this); ContextMenu->addAction(Add); QSqlQuery Query(ApplicationConfig->Database->db); QString QueryString("SELECT Key,Name,FAddress,Thumbnail FROM Location ORDER BY LOWER(Name)"); Query.prepare(QueryString); if (!Query.exec()) DisplayLastSQLError(&Query); else while (Query.next()) { bool Ret; qlonglong Key=Query.value(0).toLongLong(&Ret); if (Ret) { if (!AddSep) { ContextMenu->addSeparator(); AddSep=true; } QString Name =Query.value(1).toString(); QString Address=Query.value(2).toString(); QByteArray Data =Query.value(3).toByteArray(); QImage Thumb; Thumb.loadFromData(Data); bool IsCurrent=(Key==(ffdProject->ProjectInfo->Location?((cLocation *)ffdProject->ProjectInfo->Location)->FavKey:-1)); QAction *Act=CreateMenuAction(QIcon(QPixmap().fromImage(Thumb)),QString("%1 (%2)").arg(Name).arg(Address),FAVACTIONTYPE_SELECT+Key,true,IsCurrent,this); ContextMenu->addAction(Act); } } QAction *Action=ContextMenu->exec(QCursor::pos()); if (Action) { int ActionType=Action->data().toInt() & FAVACTIONTYPE_ACTIONTYPE; if (ActionType==FAVACTIONTYPE_EDIT) { cLocation *PrevLocation=(cLocation *)ffdProject->ProjectInfo->Location; if (!((cLocation *)ffdProject->ProjectInfo->Location)) ffdProject->ProjectInfo->Location=new cLocation(ApplicationConfig); DlgGMapsLocation Dlg((cLocation *)ffdProject->ProjectInfo->Location,ApplicationConfig,this); Dlg.InitDialog(); if ((Dlg.exec()!=0)&&(!PrevLocation)) { delete (cLocation *)ffdProject->ProjectInfo->Location; ffdProject->ProjectInfo->Location=NULL; } } else if (Action->text()!="") { qlonglong Key=Action->data().toInt() & ~FAVACTIONTYPE_ACTIONTYPE; if (!ffdProject->ProjectInfo->Location) ffdProject->ProjectInfo->Location=new cLocation(ApplicationConfig); ((cLocation *)ffdProject->ProjectInfo->Location)->LoadFromFavorite(Key); } } ui->LocationBT->setDown(false); if (ffdProject->ProjectInfo->Location) { ui->Location->setText(QString("%1 (%2)").arg(((cLocation *)ffdProject->ProjectInfo->Location)->Name).arg(((cLocation *)ffdProject->ProjectInfo->Location)->FriendlyAddress)); ui->LocationIcon->setPixmap(QPixmap().fromImage(((cLocation *)ffdProject->ProjectInfo->Location)->GetThumb(16))); } else { ui->Location->setText(""); ui->LocationIcon->setPixmap(QPixmap()); } IsLocationChanged=true; } //==================================================================================================================== void DlgffDPjrProperties::ClearLocation() { if (ffdProject->ProjectInfo->Location) delete ((cLocation *)ffdProject->ProjectInfo->Location); ffdProject->ProjectInfo->Location=NULL; ui->Location->setText(""); ui->LocationIcon->setPixmap(QPixmap()); IsLocationChanged=true; } ffDiaporama/src/ffDiaporama/DlgWorkingTask/0000777000175000001440000000000012275647224021111 5ustar dominiqueusersffDiaporama/src/ffDiaporama/DlgWorkingTask/DlgWorkingTask.ui0000777000175000001440000000357412275647223024355 0ustar dominiqueusers DlgWorkingTask 0 0 465 98 Sans Serif 9 true Working Working 24 0 0 0 0 0 Qt::Horizontal 40 20 Cancel ffDiaporama/src/ffDiaporama/DlgWorkingTask/DlgWorkingTask.h0000777000175000001440000000426712275647223024167 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef DLGWORKINGTASK_H #define DLGWORKINGTASK_H // Basic inclusions (common to all files) #include "CustomCtrl/_QCustomDialog.h" namespace Ui { class DlgWorkingTask; } class DlgWorkingTask : public QCustomDialog { Q_OBJECT public: bool *CancelActionFlag; int MaxValue,AddValue; explicit DlgWorkingTask(QString Title,bool *CancelAction,cApplicationConfig *ApplicationConfig,QWidget *parent=0); ~DlgWorkingTask(); // function to be overloaded virtual void DoInitDialog(); // Initialise dialog virtual bool DoAccept() {return true;} // Call when user click on Ok button virtual void DoRejet(); // Call when user click on Cancel button virtual void PrepareGlobalUndo() {/*Nothing to do*/} // Initiale Undo virtual void DoGlobalUndo() {/*Nothing to do*/} // Apply Undo : call when user click on Cancel button void DisplayText(QString Text); void DisplayProgress(int Value); void SetMaxValue(int Value,int AddValue); void HideProgress(); private: Ui::DlgWorkingTask *ui; }; #endif // DLGWORKINGTASK_H ffDiaporama/src/ffDiaporama/DlgWorkingTask/DlgWorkingTask.cpp0000777000175000001440000000536412275647224024522 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "DlgWorkingTask.h" #include "ui_DlgWorkingTask.h" DlgWorkingTask::DlgWorkingTask(QString Title,bool *CancelAction,cApplicationConfig *ApplicationConfig,QWidget *parent): QCustomDialog(ApplicationConfig,parent),ui(new Ui::DlgWorkingTask) { ui->setupUi(this); CancelBt =ui->CancelBt; CancelActionFlag=CancelAction; AddValue =0; setWindowTitle(Title); } DlgWorkingTask::~DlgWorkingTask() { delete ui; } //==================================================================================================================== void DlgWorkingTask::DoInitDialog() { (*CancelActionFlag)=false; } //==================================================================================================================== void DlgWorkingTask::DoRejet() { (*CancelActionFlag)=true; } //==================================================================================================================== void DlgWorkingTask::DisplayText(QString Text) { ui->ActionLabel->setText(Text); } //==================================================================================================================== void DlgWorkingTask::DisplayProgress(int Value) { ui->ProgressBar->setValue(Value); } //==================================================================================================================== void DlgWorkingTask::HideProgress() { ui->ProgressBar->setVisible(false); CancelBt->setVisible(false); } //==================================================================================================================== void DlgWorkingTask::SetMaxValue(int Value,int AddValue) { MaxValue=Value; this->AddValue=AddValue; ui->ProgressBar->setMaximum(MaxValue+AddValue); } ffDiaporama/src/ffDiaporama/DlgTransition/0000777000175000001440000000000012275647316021002 5ustar dominiqueusersffDiaporama/src/ffDiaporama/DlgTransition/DlgTransitionProperties.ui0000777000175000001440000002257712275647315026216 0ustar dominiqueusers DlgTransitionProperties 0 0 517 282 Sans Serif 9 Transition properties 4 8 8 8 8 2 0 0 0 0 Transition type: 0 0 Allows you to select a transition family. - No transition: The new slide immediately replaces the old one. (Note that this also deactivates Background transitions and Sound fades so the playlist of the new slide immediately replaces that of the old one) - Basic/Dissolve effect: The slide appears gradually, with gradually increasing opacity. - Zoom: The new slide appears by getting bigger while the old slide disappears with a dissolve effect. - Slide: The new slide glides onto the old slide which disappears with a dissolve effect. -Push: The new slide takes the place of the old slide by pushing it aside. -LUMA transition: The animation is based on a luminance mask : the darker the points in the mask, the faster the corresponding points in the new slide replace those in the old slide. 0 0 Speed wave: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Allows you to select a speed curve to apply to the transition. 0 0 Duration: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 Allows you to define the duration of the animation. The possible choices are of 0,5 seconds (very fast) to 10 seconds (very slow). 0.5 1 2 3 4 6 8 10 second(s) Allows you to select a transition. QAbstractItemView::NoEditTriggers false false QAbstractItemView::SingleSelection false Qt::NoPen false false false false false false 0 1 2 3 Qt::Horizontal 4 Qt::Horizontal 40 20 Accept modification and exit dialog box &Ok :/img/action_ok.png:/img/action_ok.png Cancel modification and exit dialog box &Cancel :/img/action_cancel.png:/img/action_cancel.png Show help about this dialogue box &Help :/img/help.png:/img/help.png cCSpeedWaveComboBox QComboBox
../ffDiaporama_lib/cSpeedWaveComboBox.h
ffDiaporama/src/ffDiaporama/DlgTransition/DlgTransitionProperties.h0000777000175000001440000000546312275647315026023 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef DLGTRANSITIONPROPERTIES_H #define DLGTRANSITIONPROPERTIES_H // Basic inclusions (common to all files) #include "CustomCtrl/_QCustomDialog.h" #include "engine/_Diaporama.h" namespace Ui { class DlgTransitionProperties; } class DlgTransitionProperties : public QCustomDialog { Q_OBJECT public: cDiaporamaObject *DiaporamaObject; QTimer Timer; int MaxItem; cDiaporamaObjectInfo *PreviousFrame; int W; int TimePosition; int AnimationTime; bool IsMultiple; // Previous values TRFAMILLY TransitionFamilly; int TransitionSubType; int TransitionDuration; explicit DlgTransitionProperties(bool IsMultiple,cDiaporamaObject *TheDiaporamaObject,cApplicationConfig *ApplicationConfig,QWidget *parent=0); ~DlgTransitionProperties(); // function to be overloaded virtual void DoInitDialog(); // Initialise dialog virtual bool DoAccept(); // Call when user click on Ok button virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button virtual void PrepareGlobalUndo(); // Initiale Undo virtual void DoGlobalUndo(); // Apply Undo : call when user click on Cancel button virtual void resizeEvent(QResizeEvent *); private slots: void s_ChTransitionTypeCB(int); void s_TimerEvent(); void s_TableCellChanged(int,int,int,int); void s_ChTransitionCB(int); private: Ui::DlgTransitionProperties *ui; }; #endif // DLGTRANSITIONPROPERTIES_H ffDiaporama/src/ffDiaporama/DlgTransition/DlgTransitionProperties.cpp0000777000175000001440000004625412275647315026361 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "DlgTransitionProperties.h" #include "ui_DlgTransitionProperties.h" #include //====================================== // Specific defines for this dialog box //====================================== #define ROWHEIGHT 80 #define DECAL 10 int CurrentSelectRow,CurrentSelectCol; class BackgroundDelegate : public QStyledItemDelegate { public: explicit BackgroundDelegate(QObject *parent = 0):QStyledItemDelegate(parent) {} void paint(QPainter *painter, const QStyleOptionViewItem &option,const QModelIndex &index) const { if ((index.row()==CurrentSelectRow)&&(index.column()==CurrentSelectCol)) painter->fillRect(option.rect,Qt::blue); else { QVariant background = index.data(Qt::BackgroundRole); if (background.canConvert()) painter->fillRect(option.rect, background.value()); else painter->fillRect(option.rect,Qt::white); } } }; //==================================================================================================================== DlgTransitionProperties::DlgTransitionProperties(bool IsMultiple,cDiaporamaObject *TheDiaporamaObject,cApplicationConfig *ApplicationConfig,QWidget *parent): QCustomDialog(ApplicationConfig,parent),ui(new Ui::DlgTransitionProperties) { ui->setupUi(this); OkBt =ui->OKBT; CancelBt =ui->CancelBt; HelpBt =ui->HelpBt; HelpFile ="0122"; DiaporamaObject =TheDiaporamaObject; this->IsMultiple=IsMultiple; W=DiaporamaObject->Parent->GetWidthForHeight(ROWHEIGHT); } //==================================================================================================================== DlgTransitionProperties::~DlgTransitionProperties() { delete ui; if (PreviousFrame) { delete PreviousFrame; PreviousFrame=NULL; } } //==================================================================================================================== void DlgTransitionProperties::DoInitDialog() { if (IsMultiple) setWindowTitle(QApplication::translate("DlgTransitionProperties","Select a transition for a set of slides")); ui->SpeedWaveCB->AddProjectDefault(DiaporamaObject->Parent->TransitionSpeedWave); ui->TransitionTypeCB->addItem(QApplication::translate("DlgTransitionProperties","None and basic"), QVariant(TRANSITIONFAMILLY_BASE)); ui->TransitionTypeCB->addItem(QApplication::translate("DlgTransitionProperties","Zoom"), QVariant(TRANSITIONFAMILLY_ZOOMINOUT)); ui->TransitionTypeCB->addItem(QApplication::translate("DlgTransitionProperties","Slide"), QVariant(TRANSITIONFAMILLY_SLIDE)); ui->TransitionTypeCB->addItem(QApplication::translate("DlgTransitionProperties","Push"), QVariant(TRANSITIONFAMILLY_PUSH)); ui->TransitionTypeCB->addItem(QApplication::translate("DlgTransitionProperties","Deform"), QVariant(TRANSITIONFAMILLY_DEFORM)); ui->TransitionTypeCB->addItem(QApplication::translate("DlgTransitionProperties","Luma-Bar"), QVariant(TRANSITIONFAMILLY_LUMA_BAR)); ui->TransitionTypeCB->addItem(QApplication::translate("DlgTransitionProperties","Luma-Box"), QVariant(TRANSITIONFAMILLY_LUMA_BOX)); ui->TransitionTypeCB->addItem(QApplication::translate("DlgTransitionProperties","Luma-Center"), QVariant(TRANSITIONFAMILLY_LUMA_CENTER)); ui->TransitionTypeCB->addItem(QApplication::translate("DlgTransitionProperties","Luma-Checker"), QVariant(TRANSITIONFAMILLY_LUMA_CHECKER)); ui->TransitionTypeCB->addItem(QApplication::translate("DlgTransitionProperties","Luma-Clock"), QVariant(TRANSITIONFAMILLY_LUMA_CLOCK)); ui->TransitionTypeCB->addItem(QApplication::translate("DlgTransitionProperties","Luma-Snake"), QVariant(TRANSITIONFAMILLY_LUMA_SNAKE)); // Init internal values PreviousFrame=NULL; AnimationTime=0; ui->TransitionTable->setItemDelegate(new BackgroundDelegate(this)); MaxItem=0; // Save Object settings before force a transition TransitionFamilly =DiaporamaObject->TransitionFamilly; TransitionSubType =DiaporamaObject->TransitionSubType; TransitionDuration =DiaporamaObject->TransitionDuration; //=================> Init PreviousFrame object // Change Object settings to force a transition DiaporamaObject->TransitionFamilly =TRANSITIONFAMILLY_ZOOMINOUT; DiaporamaObject->TransitionSubType =0; DiaporamaObject->TransitionDuration=TransitionDuration; // Retrieve time information TimePosition=DiaporamaObject->Parent->GetObjectStartPosition(DiaporamaObject->Parent->GetObjectIndex(DiaporamaObject)); // Retrieve object information and create PreviousFrame PreviousFrame=new cDiaporamaObjectInfo(NULL,TimePosition,DiaporamaObject->Parent,double(1000)/DiaporamaObject->Parent->ApplicationConfig->PreviewFPS,false); QList PreparedTransitBrushList; QList PreparedBrushList; if ((PreviousFrame->IsTransition)&&(PreviousFrame->TransitObject)) DiaporamaObject->Parent->CreateObjectContextList(PreviousFrame,W,ROWHEIGHT,false,true,true,PreparedTransitBrushList,DiaporamaObject->Parent); DiaporamaObject->Parent->CreateObjectContextList(PreviousFrame,W,ROWHEIGHT,true,true,true,PreparedBrushList,DiaporamaObject->Parent); DiaporamaObject->Parent->LoadSources(PreviousFrame,W,ROWHEIGHT,true,true,PreparedTransitBrushList,PreparedBrushList); // Load background and image // Set old values DiaporamaObject->TransitionFamilly =TransitionFamilly; DiaporamaObject->TransitionSubType =TransitionSubType; DiaporamaObject->TransitionDuration =TransitionDuration; //=================> Init controls QString Duration=QString("%1").arg(double(TransitionDuration)/double(1000),0,'f'); while (Duration.endsWith('0')) Duration=Duration.left(Duration.length()-1); while (Duration.endsWith('.')) Duration=Duration.left(Duration.length()-1); ui->TransitionDurationCB->setCurrentIndex(ui->TransitionDurationCB->findText(Duration)); for (int i=0;(iTransitionTypeCB->count());i++) if (ui->TransitionTypeCB->itemData(i).toInt()==TransitionFamilly) { ui->TransitionTypeCB->setCurrentIndex(i); s_ChTransitionTypeCB(i); } ui->SpeedWaveCB->SetCurrentValue(DiaporamaObject->TransitionSpeedWave); //=================> Define handlers connect(ui->TransitionTypeCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChTransitionTypeCB(int))); connect(ui->TransitionTable,SIGNAL(currentCellChanged(int,int,int,int)),this,SLOT(s_TableCellChanged(int,int,int,int))); connect(ui->TransitionDurationCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChTransitionCB(int))); connect(ui->SpeedWaveCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChTransitionCB(int))); connect(&Timer,SIGNAL(timeout()),this,SLOT(s_TimerEvent())); } //==================================================================================================================== // Initiale Undo void DlgTransitionProperties::PrepareGlobalUndo() { // Save object before modification for cancel button Undo=new QDomDocument(APPLICATION_NAME); QDomElement root=Undo->createElement("UNDO-DLG"); // Create xml document and root DiaporamaObject->SaveToXML(root,"UNDO-DLG-OBJECT",DiaporamaObject->Parent->ProjectFileName,true,NULL,NULL,false); // Save object Undo->appendChild(root); // Add object to xml document } //==================================================================================================================== // Apply Undo : call when user click on Cancel button void DlgTransitionProperties::DoGlobalUndo() { QDomElement root=Undo->documentElement(); if (root.tagName()=="UNDO-DLG") DiaporamaObject->LoadFromXML(root,"UNDO-DLG-OBJECT","",NULL,NULL,false); } //==================================================================================================================== bool DlgTransitionProperties::DoAccept() { DiaporamaObject->TransitionFamilly =(TRFAMILLY)ui->TransitionTypeCB->itemData(ui->TransitionTypeCB->currentIndex()).toInt(); DiaporamaObject->TransitionSubType =ui->TransitionTable->currentRow()*ui->TransitionTable->columnCount()+ui->TransitionTable->currentColumn(); DiaporamaObject->TransitionDuration =int64_t(GetDoubleValue(ui->TransitionDurationCB->currentText())*double(1000)); DiaporamaObject->TransitionSpeedWave=ui->SpeedWaveCB->GetCurrentValue(); return true; } //==================================================================================================================== void DlgTransitionProperties::resizeEvent(QResizeEvent *) { s_ChTransitionTypeCB(0); } //==================================================================================================================== void DlgTransitionProperties::s_ChTransitionTypeCB(int /*NewValue*/) { Timer.stop(); if (PreviousFrame==NULL) return; // Nothing to do if previsous frame is not initialize int NbrCol=ui->TransitionTable->viewport()->width()/(W+DECAL*2); if (NbrCol<=0) NbrCol=1; // Convert item number to transition familly int NewValue=ui->TransitionTypeCB->itemData(ui->TransitionTypeCB->currentIndex()).toInt(); ui->TransitionTable->setUpdatesEnabled(false); // clear table while (ui->TransitionTable->rowCount()>0) ui->TransitionTable->removeRow(0); while (ui->TransitionTable->columnCount()>0) ui->TransitionTable->removeColumn(0); for (int i=0;iTransitionTable->insertColumn(0); ui->TransitionTable->setColumnWidth(0,W+DECAL*2); } MaxItem=0; switch (NewValue) { case TRANSITIONFAMILLY_BASE : MaxItem=TRANSITIONMAXSUBTYPE_BASE; break; case TRANSITIONFAMILLY_ZOOMINOUT : MaxItem=TRANSITIONMAXSUBTYPE_ZOOMINOUT; break; case TRANSITIONFAMILLY_PUSH : MaxItem=TRANSITIONMAXSUBTYPE_PUSH; break; case TRANSITIONFAMILLY_SLIDE : MaxItem=TRANSITIONMAXSUBTYPE_SLIDE; break; case TRANSITIONFAMILLY_DEFORM : MaxItem=TRANSITIONMAXSUBTYPE_DEFORM; break; case TRANSITIONFAMILLY_LUMA_BAR : MaxItem=LumaList_Bar.List.count(); break; case TRANSITIONFAMILLY_LUMA_BOX : MaxItem=LumaList_Box.List.count(); break; case TRANSITIONFAMILLY_LUMA_CENTER : MaxItem=LumaList_Center.List.count(); break; case TRANSITIONFAMILLY_LUMA_CHECKER: MaxItem=LumaList_Checker.List.count(); break; case TRANSITIONFAMILLY_LUMA_CLOCK : MaxItem=LumaList_Clock.List.count(); break; case TRANSITIONFAMILLY_LUMA_SNAKE : MaxItem=LumaList_Snake.List.count(); break; default : MaxItem=0; break; } AnimationTime=0; // Adjust TransitionFamilly PreviousFrame->TransitionFamilly=(TRFAMILLY)NewValue; // Create a frame object base on PreviousFrame cDiaporamaObjectInfo *Frame=new cDiaporamaObjectInfo(); Frame->Copy(PreviousFrame); // Ajdust Transition PCT done Frame->TransitionPCTDone =double(AnimationTime)/double(Frame->TransitionDuration); // Now add items int CurCol=0; ui->TransitionTable->insertRow(ui->TransitionTable->rowCount()); // Create first row ui->TransitionTable->setRowHeight(ui->TransitionTable->rowCount()-1,ROWHEIGHT+DECAL*2); for (int i=0;iTransitionSubType=i; // Render images DiaporamaObject->Parent->DoAssembly(ComputePCT(Frame->CurrentObject->GetSpeedWave(),Frame->TransitionPCTDone),Frame,W,ROWHEIGHT); // Create a label object to handle the bitmap QLabel *Widget=new QLabel(); Widget->setAlignment(Qt::AlignCenter); Widget->setPixmap(QPixmap().fromImage(Frame->RenderedImage)); if (CurCol>=ui->TransitionTable->columnCount()) { ui->TransitionTable->insertRow(ui->TransitionTable->rowCount()); ui->TransitionTable->setRowHeight(ui->TransitionTable->rowCount()-1,ROWHEIGHT+DECAL*2); CurCol=0; } ui->TransitionTable->setCellWidget(ui->TransitionTable->rowCount()-1,CurCol,Widget); CurCol++; } // Free buffers delete Frame; ui->TransitionTable->setCurrentCell(0,0,QItemSelectionModel::ClearAndSelect); ui->TransitionTable->setUpdatesEnabled(true); // Select a cell if (NewValue==TransitionFamilly) { CurrentSelectRow=TransitionSubType/ui->TransitionTable->columnCount(); CurrentSelectCol=TransitionSubType % ui->TransitionTable->columnCount(); ui->TransitionTable->setCurrentCell(CurrentSelectRow,CurrentSelectCol,QItemSelectionModel::ClearAndSelect); } Timer.start(double(1000)/DiaporamaObject->Parent->ApplicationConfig->PreviewFPS); // Start timer for animation } //==================================================================================================================== // Change of transition duration : Reload frame with new value //==================================================================================================================== void DlgTransitionProperties::s_ChTransitionCB(int) { // Stop timer Timer.stop(); // Clear PreviousFrame before create a new one if (PreviousFrame!=NULL) { delete PreviousFrame; PreviousFrame=NULL; } // Change Object settings to force a transition DiaporamaObject->TransitionFamilly =TRANSITIONFAMILLY_ZOOMINOUT; DiaporamaObject->TransitionSubType =0; DiaporamaObject->TransitionDuration =int(GetDoubleValue(ui->TransitionDurationCB->currentText())*double(1000)); // Retrieve time information TimePosition=DiaporamaObject->Parent->GetObjectStartPosition(DiaporamaObject->Parent->GetObjectIndex(DiaporamaObject)); // Retrieve object information and create PreviousFrame PreviousFrame=new cDiaporamaObjectInfo(NULL,TimePosition,DiaporamaObject->Parent,double(1000)/DiaporamaObject->Parent->ApplicationConfig->PreviewFPS,false); QList PreparedTransitBrushList; QList PreparedBrushList; if ((PreviousFrame->IsTransition)&&(PreviousFrame->TransitObject)) DiaporamaObject->Parent->CreateObjectContextList(PreviousFrame,W,ROWHEIGHT,false,true,true,PreparedTransitBrushList,DiaporamaObject->Parent); DiaporamaObject->Parent->CreateObjectContextList(PreviousFrame,W,ROWHEIGHT,true,true,true,PreparedBrushList,DiaporamaObject->Parent); DiaporamaObject->Parent->LoadSources(PreviousFrame,W,ROWHEIGHT,true,true,PreparedTransitBrushList,PreparedBrushList); // Load background and image // Set old values DiaporamaObject->TransitionFamilly =TransitionFamilly; DiaporamaObject->TransitionSubType =TransitionSubType; DiaporamaObject->TransitionDuration =TransitionDuration; // Reset AnimationTime AnimationTime=0; // Adjust Transition PreviousFrame->TransitionFamilly =(TRFAMILLY)ui->TransitionTypeCB->itemData(ui->TransitionTypeCB->currentIndex()).toInt(); PreviousFrame->TransitionSubType =ui->TransitionTable->currentRow()*ui->TransitionTable->columnCount()+ui->TransitionTable->currentColumn(); PreviousFrame->TransitionDuration=int(GetDoubleValue(ui->TransitionDurationCB->currentText())*double(1000)); // Restart timer Timer.start(double(1000)/DiaporamaObject->Parent->ApplicationConfig->PreviewFPS); // Re-start timer for animation } //==================================================================================================================== // Timer event : update pixmap in the table //==================================================================================================================== void DlgTransitionProperties::s_TimerEvent() { // Update all pixmap in the table int CurCol=0; int CurRow=0; AnimationTime+=double(1000)/DiaporamaObject->Parent->ApplicationConfig->PreviewFPS; if (AnimationTime>int(GetDoubleValue(ui->TransitionDurationCB->currentText())*double(1000))) AnimationTime=0; // Create a frame object base on PreviousFrame cDiaporamaObjectInfo *Frame=new cDiaporamaObjectInfo(); Frame->Copy(PreviousFrame); // Ajdust Transition PCT done Frame->TransitionPCTDone=double(AnimationTime)/double(Frame->TransitionDuration); for (int i=0;iTransitionSubType=i; Frame->RenderedImage=QImage(); // Clear image to ensure DoAssembly will compute it // Render images int SpeedWave=ui->SpeedWaveCB->GetCurrentValue(); if (SpeedWave==SPEEDWAVE_PROJECTDEFAULT) SpeedWave=DiaporamaObject->Parent->TransitionSpeedWave; DiaporamaObject->Parent->DoAssembly(ComputePCT(SpeedWave,Frame->TransitionPCTDone),Frame,W,ROWHEIGHT); // Add icon in the bottom left corner QPainter P; QImage *Img=IconList.GetIcon(Frame->TransitionFamilly,Frame->TransitionSubType); P.begin(&Frame->RenderedImage); P.drawImage(QRect(0,Frame->RenderedImage.height()-32,32,32),*Img); P.end(); delete Img; // Create a label object to handle the bitmap QLabel *Widget=(QLabel *)ui->TransitionTable->cellWidget(CurRow,CurCol); if (Widget) Widget->setPixmap(QPixmap().fromImage(Frame->RenderedImage)); // Go to next image CurCol++; if (CurCol>=ui->TransitionTable->columnCount()) { CurCol=0; CurRow++; } } // Free buffers delete Frame; } //==================================================================================================================== // Change of selected cell in the table //==================================================================================================================== void DlgTransitionProperties::s_TableCellChanged(int currentRow,int currentColumn,int previousRow,int previousColumn) { int NewCell=currentRow*ui->TransitionTable->columnCount()+currentColumn; if (NewCell>=MaxItem) { CurrentSelectRow=previousRow; CurrentSelectCol=previousColumn; ui->TransitionTable->setCurrentCell(previousRow,previousColumn,QItemSelectionModel::ClearAndSelect); } else { CurrentSelectRow=currentRow; CurrentSelectCol=currentColumn; } } ffDiaporama/src/ffDiaporama/DlgTransition/DlgTransitionDuration.ui0000777000175000001440000001250412275647315025634 0ustar dominiqueusers DlgTransitionDuration 0 0 362 119 Sans Serif 9 Select transition duration for a set of slides 2 4 4 4 4 0 0 Duration : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 Define the animation duration 0.5 1 2 3 4 6 8 10 0 0 second(s) Qt::Vertical 20 40 4 Qt::Horizontal 40 20 Accept modification and exit dialog box &Ok :/img/action_ok.png:/img/action_ok.png Cancel modification and exit dialog box &Cancel :/img/action_cancel.png:/img/action_cancel.png Show help about this dialogue box &Help :/img/help.png:/img/help.png ffDiaporama/src/ffDiaporama/DlgTransition/DlgTransitionDuration.h0000777000175000001440000000405212275647316025446 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef DLGTRANSITIONDURATION_H #define DLGTRANSITIONDURATION_H // Basic inclusions (common to all files) #include "CustomCtrl/_QCustomDialog.h" namespace Ui { class DlgTransitionDuration; } class DlgTransitionDuration : public QCustomDialog { Q_OBJECT public: int64_t Duration; explicit DlgTransitionDuration(int64_t Duration,cApplicationConfig *ApplicationConfig,QWidget *parent=0); ~DlgTransitionDuration(); // function to be overloaded virtual void DoInitDialog(); // Initialise dialog virtual bool DoAccept(); // Call when user click on Ok button virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button virtual void PrepareGlobalUndo() {/*Nothing to do*/} // Initiale Undo virtual void DoGlobalUndo() {/*Nothing to do*/} // Apply Undo : call when user click on Cancel button private slots: private: Ui::DlgTransitionDuration *ui; }; #endif // DLGTRANSITIONDURATION_H ffDiaporama/src/ffDiaporama/DlgTransition/DlgTransitionDuration.cpp0000777000175000001440000000502312275647315025777 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "DlgTransitionDuration.h" #include "ui_DlgTransitionDuration.h" //==================================================================================================================== DlgTransitionDuration::DlgTransitionDuration(int64_t Duration,cApplicationConfig *ApplicationConfig,QWidget *parent): QCustomDialog(ApplicationConfig,parent),ui(new Ui::DlgTransitionDuration) { ui->setupUi(this); OkBt =ui->OKBT; CancelBt =ui->CancelBt; HelpBt =ui->HelpBt; HelpFile ="0121"; this->Duration =Duration; } //==================================================================================================================== DlgTransitionDuration::~DlgTransitionDuration() { delete ui; } //==================================================================================================================== void DlgTransitionDuration::DoInitDialog() { QString sDuration=QString("%1").arg(double(Duration)/double(1000),0,'f'); while (sDuration.endsWith('0')) sDuration=sDuration.left(sDuration.length()-1); while (sDuration.endsWith('.')) sDuration=sDuration.left(sDuration.length()-1); ui->TransitionDurationCB->setCurrentIndex(ui->TransitionDurationCB->findText(sDuration)); } //==================================================================================================================== bool DlgTransitionDuration::DoAccept() { Duration=int64_t(GetDoubleValue(ui->TransitionDurationCB->currentText())*double(1000)); return true; } ffDiaporama/src/ffDiaporama/DlgText/0000777000175000001440000000000012275647326017575 5ustar dominiqueusersffDiaporama/src/ffDiaporama/DlgText/cCustomTextEdit.h0000777000175000001440000000251212275647326023041 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef CCUSTOMTEXTEDIT_H #define CCUSTOMTEXTEDIT_H #include class cCustomTextEdit : public QTextEdit { Q_OBJECT public: explicit cCustomTextEdit(QWidget *parent = 0); virtual void keyPressEvent(QKeyEvent * e); signals: void UndoSignal(); public slots: }; #endif // CCUSTOMTEXTEDIT_H ffDiaporama/src/ffDiaporama/DlgText/cCustomTextEdit.cpp0000777000175000001440000000252112275647326023374 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "cCustomTextEdit.h" #include cCustomTextEdit::cCustomTextEdit(QWidget *parent):QTextEdit(parent) { } void cCustomTextEdit::keyPressEvent(QKeyEvent *event) { if ((event->modifiers()==Qt::ControlModifier)&&(event->key()==Qt::Key_Z)) emit UndoSignal(); else QTextEdit::keyPressEvent(event); } ffDiaporama/src/ffDiaporama/DlgText/DlgTextEdit.ui0000777000175000001440000017421212275647326022327 0ustar dominiqueusers DlgTextEdit 0 0 500 300 500 300 Sans Serif 9 Edit text true 4 8 8 8 8 0 Text 0 0 0 0 0 0 0 0 0 0 24 24 24 24 Allows you to access the text styles menu. :/img/db_menu.png:/img/db_menu.png Qt::NoArrow 0 0 Allows you to select the font to be used. This setting applies to the current selection. 0 0 Allows you to select the font size. This setting applies to the paragraphs of the current selection. 0 0 Allows you to select the font color. This setting applies to the paragraphs of the current selection. false 10 0 10 16777215 22 24 22 24 Allows you to establish (or to remove) a bullet list. This setting applies to the paragraphs of the current selection. ... :/img/Text/text_list.png:/img/Text/text_list.png true false false 22 24 22 24 Allows you to establish (or to remove) a numbered list. This setting applies to the paragraphs of the current selection. ... :/img/Text/text_list_nbr.png:/img/Text/text_list_nbr.png true false false 10 0 10 16777215 22 24 22 24 Horizontal alignment: left. This setting applies to the paragraph in which the cursor is. ... :/img/Text/text_align_left.png:/img/Text/text_align_left.png true true true 22 24 22 24 Horizontal alignment: justified. This setting applies to the paragraph in which the cursor is. ... :/img/Text/text_align_justif.png:/img/Text/text_align_justif.png true true 22 24 22 24 Horizontal alignment: centered. This setting applies to the paragraph in which the cursor is. ... :/img/Text/text_align_center.png:/img/Text/text_align_center.png true true 22 24 22 24 Horizontal alignment: right. This setting applies to the paragraph in which the cursor is. ... :/img/Text/text_align_right.png:/img/Text/text_align_right.png true true Qt::Horizontal 0 20 0 0 0 0 0 Allows you to select a font effect (outerline, shadow). Remark: This setting applies to the block (to the whole text). QComboBox::AdjustToContents 0 0 Allows you to select the outerline or shadow color. Remark: This setting applies to the block (to the whole text). 10 0 10 16777215 22 24 22 24 Sets bold characters. This setting applies to the current selection. ... :/img/Text/text_bold.png:/img/Text/text_bold.png true false 22 24 22 24 Sets characters to italics. This setting applies to the current selection. ... :/img/Text/text_italic.png:/img/Text/text_italic.png true 22 24 22 24 Underlines the characters. This setting applies to the current selection. ... :/img/Text/text_underline.png:/img/Text/text_underline.png true 22 24 22 24 Puts the characters to super. This setting applies to the current selection. ... :/img/Text/text_super.png:/img/Text/text_super.png true 22 24 22 24 Puts the characters to sub. This setting applies to the current selection. ... :/img/Text/text_sub.png:/img/Text/text_sub.png true 10 0 10 16777215 22 24 22 24 Move the paragraph of a notch towards the right (indent). This setting applies to the paragraph in which is the cursor. ... :/img/Text/text_indent_in.png:/img/Text/text_indent_in.png false 22 24 22 24 Move the paragraph of a notch towards the left (unindent). This setting applies to the paragraph in which is the cursor. ... :/img/Text/text_indent_out.png:/img/Text/text_indent_out.png false 21 0 21 16777215 22 24 22 24 Vertical alignment: top. This setting applies to the block (to the whole text). ... :/img/Text/text_align_vup.png:/img/Text/text_align_vup.png true true 22 24 22 24 Vertical alignment: middle. This setting applies to the block (to the whole text). ... :/img/Text/text_align_vcenter.png:/img/Text/text_align_vcenter.png true true 22 24 22 24 Vertical alignment: bottom. This setting applies to the block (to the whole text). ... :/img/Text/text_align_vbottom.png:/img/Text/text_align_vbottom.png true false true 21 0 21 16777215 22 24 22 24 Insert a text variable ... :/img/Action_Wizard.png:/img/Action_Wizard.png true false true Qt::Horizontal 0 20 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> Background 0 0 0 0 0 true 0 0 290 209 QFormLayout::AllNonFixedFieldsGrow 2 2 4 4 4 4 75 true true Background properties : 24 24 24 24 Allows you to access the background text styles menu. :/img/db_menu.png:/img/db_menu.png Qt::NoArrow 0 0 Allows you to define a background brush for the shape. The following options are available: No brush The shape will have no background and will thus be totally transparent. Solid brush Allows you to select a plain color. Pattern brush Allows you to select a hatched brush. Gradient 2 colors Allows you to select a gradient of 2 colors. Gradient 3 colors Allows you to select a gradient of 3 colors. Image from library Allows you to select an image from the library. 0 0 :/img/color.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 0 0 0 0 0 If background brush is Solid, Pattern or Gradient brush, then this line appears and allows you to select a color. (Depending on the brush you select, there will be one, two or three selectable colors.) 15 0 15 16777215 0 0 If background brush is Solid, Pattern or Gradient brush, then this line appears and allows you to select a color. (Depending on the brush you select, there will be one, two or three selectable colors.) 15 0 15 16777215 0 0 If background brush is Solid, Pattern or Gradient brush, then this line appears and allows you to select a color. (Depending on the brush you select, there will be one, two or three selectable colors.) 0 0 0 0 :/img/pattern_fill.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 48 24 48 24 If background brush is Pattern brush, then this line appears and allows you to select a pattern. false 64 16 0 0 :/img/Distance.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 0 0 0 0 0 If background brush is Gradient, then this line appears and allows you to select the gradient orientation. If the Gradient has 3 colors, additional controls allow to define the position (in percentage) of the 3rd gradient color. 64 16 0 0 If background brush is Gradient, then this line appears and allows you to select the gradient orientation. If the Gradient has 3 colors, additional controls allow to define the position (in percentage) of the 3rd gradient color. 1 10 Qt::Horizontal 0 0 8 If background brush is Gradient, then this line appears and allows you to select the gradient orientation. If the Gradient has 3 colors, additional controls allow to define the position (in percentage) of the 3rd gradient color. QAbstractSpinBox::PlusMinus % 1 10 0 0 0 0 0 0 0 0 0 24 24 24 24 :/img/object_image.png true Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing 0 0 140 76 140 76 If background brush is Image from library, then this line appears and allows you to select an image. Qt::Vertical 20 0 Margins 4 4 4 4 2 0 0 Sans Serif 9 :/img/PosSize_Width.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Qt::Vertical 20 40 Represents the horizontal position of the margins relative to the top-left corner of the block. This value is expressed in % of the width of the block. % 100 Allows you to use predefined margins for the shape of the block.In general, these margins ensure that the text is contained in the form. Default margins Allows you to use margins corresponding to the entire form, in fact, the selection rectangle shape regardless of the design. Full Shape Allows you to use custom margins. Custom 0 0 Sans Serif 9 :/img/PosSize_X.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 Sans Serif 9 :/img/PosSize_Y.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 Sans Serif 9 :/img/PosSize_Height.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Qt::Horizontal 40 20 Represents the vertical position of the margins relative to the top-left corner of the block. This value is expressed in % of the height of the block. % 100 Represents the height of the margins. This value is expressed in % of the height of the block. % 100 Represents the width of the margins. This value is expressed in % of the width of the block. % 100 Qt::Horizontal 0 0 0 0 0 Qt::Horizontal 40 20 Accept modification and exit dialog box &Ok :/img/action_ok.png:/img/action_ok.png 0 0 20 0 20 16777215 Undo last action (CTRL+Z) Undo :/img/undo24.png:/img/undo24.png Ctrl+Z Cancel modification and exit dialog box &Cancel :/img/action_cancel.png:/img/action_cancel.png Show help about this dialogue box &Help :/img/help.png:/img/help.png cCColorComboBox QComboBox
../ffDiaporama_lib/cColorComboBox.h
cCGrdOrientationComboBox QComboBox
../ffDiaporama_lib/cGrdOrientationComboBox.h
cBackgroundComboBox QComboBox
../ffDiaporama_lib/cBackgroundComboBox.h
cCustomTextEdit QTextEdit
DlgText/cCustomTextEdit.h
cCBrushComboBox QComboBox
../ffDiaporama_lib/cBrushComboBox.h
QCustomComboBox QComboBox
../ffDiaporama_lib/QCustomComboBox.h
ShapeDefaultBT FullShapeBT CustomBT PosXEd WidthEd PosYEd HeightEd CancelBt tabWidget TextStyleBT fontStyleCB fontSize FontColorCombo ListBt ListNbrBt textLeft textJustif textCenter textRight fontEffectCB StyleShadowColorCombo bold Italic Souligne TextSuperBt TextSubBt IndentInBt IndentOutBt textUp textVCenter textBottom TextEdit scrollArea BackgroundStyleBT BrushTypeCombo PatternBrushCombo BackgroundCombo OrientationCombo FirstColorCombo FinalColorCombo IntermColorCombo IntermPosED OKBT IntermPosSlider UndoBT
ffDiaporama/src/ffDiaporama/DlgText/DlgTextEdit.h0000777000175000001440000001201612275647326022132 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef DLGTEXTEDIT_H #define DLGTEXTEDIT_H // Basic inclusions (common to all files) #include "CustomCtrl/_QCustomDialog.h" #include "engine/_Diaporama.h" // Include some additional standard class #include namespace Ui { class DlgTextEdit; } class DlgTextEdit : public QCustomDialog { Q_OBJECT public: cDiaporama *Diaporama; cCompositionObject *CurrentTextItem; // Text to modify cBrushDefinition *CurrentBrush; // Brush to modify bool StopMAJSpinbox; cStyleCollection *StyleTextCollection; // Link to text style collection cStyleCollection *StyleTextBackgroundCollection; // Link to background text style collection QString CurrentPlainText; explicit DlgTextEdit(cDiaporama *Diaporama,cCompositionObject *CurrentTextItem,cApplicationConfig *ApplicationConfig, cStyleCollection *StyleTextCollection,cStyleCollection *StyleTextBackgroundCollection,QWidget *parent=0); ~DlgTextEdit(); // function to be overloaded virtual void DoInitDialog(); // Initialise dialog virtual bool DoAccept() { return true; } // Call when user click on Ok button virtual void DoRejet() { } // Call when user click on Cancel button virtual void PrepareGlobalUndo(); // Initiale Undo virtual void DoGlobalUndo(); // Apply Undo : call when user click on Cancel button virtual void PreparePartialUndo(int ActionType,QDomElement root,bool); virtual void ApplyPartialUndo(int ActionType,QDomElement root); // Other void RefreshControls(); private slots: void s_cursorPositionChanged(); void s_ChangeFont(QFont); void s_ChangeSizeFont(QString); void s_SetBold(); void s_SetItalic(); void s_SetUnderline(); void s_SetTextSuper(); void s_SetTextSub(); void s_SetTextLeft(); void s_SetTextCenter(); void s_SetTextRight(); void s_SetTextJustif(); void s_IndentInBt(); void s_IndentOutBt(); void s_InsTextVar(); void s_ListBt(); void s_ListNbrBt(); void s_SetTextUp(); void s_SetTextVCenter(); void s_SetTextBottom(); void s_ChangeStyleFont(int); void s_TextEditChange(); void s_ChIndexFontColorCombo(int); void s_ChIndexFontShadowColorCombo(int); // Brush part void s_ChangeBrushTypeCombo(int); // Intermediate position for gradient 3 colors void s_IntermPosED(int); // Handler for custom color/brush/pattern/gradient combo box index change void s_ChIndexPatternBrushCombo(int); void s_ChIndexGradientOrientationCombo(int); void s_ChIndexGradientFirstColorCombo(int); void s_ChIndexGradientFinalColorCombo(int); void s_ChIndexGradientIntermColorCombo(int); void s_ChIndexBackgroundCombo(); void s_TextStyleBT(); void s_BackgroundStyleBT(); // Margins void s_ShapeDefault_Changed(); void s_FullShape_Changed(); void s_Custom_Changed(); void s_PosXEd_Changed(int); void s_PosYEd_Changed(int); void s_WidthEd_Changed(int); void s_HeightEd_Changed(int); signals: void RefreshDisplay(); private: Ui::DlgTextEdit *ui; }; #endif // DLGTEXTEDIT_H ffDiaporama/src/ffDiaporama/DlgText/DlgTextEdit.cpp0000777000175000001440000013167012275647325022474 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "DlgTextEdit.h" #include "ui_DlgTextEdit.h" #include "cCustomTextEdit.h" #include "cTextFrame.h" #include "engine/_Variables.h" #include #include #include #include #define SIZERATIO 0.5 // Undo actions enum { UNDOACTION_, UNDOACTION_MODIFTEXT, UNDOACTION_BRUSHTYPE, UNDOACTION_BRUSHPATTERNBRUSH, UNDOACTION_BRUSHORIENTATION, UNDOACTION_BRUSHFIRSTCOLOR, UNDOACTION_BRUSHFINALCOLOR, UNDOACTION_BRUSHINTERMCOLOR, UNDOACTION_BRUSHINTERMPOS, UNDOACTION_BRUSHLIBBRUSH, UNDOACTION_FONTCOLOR, UNDOACTION_FONTSHADOWCOLOR, UNDOACTION_FONTSTYLE, UNDOACTION_FONTSIZE, UNDOACTION_FONTEFFECT, UNDOACTION_CHARSTYLE, UNDOACTION_ALIGNH, UNDOACTION_ALIGNV, UNDOACTION_INDENT, UNDOACTION_LIST, UNDOSTYLE_TEXT, UNDOSTYLE_BACKGROUND, UNDOSTYLE_MARGINS }; //==================================================================================================================== DlgTextEdit::DlgTextEdit(cDiaporama *Diaporama,cCompositionObject *TheCurrentTextItem,cApplicationConfig *ApplicationConfig, cStyleCollection *TheStyleTextCollection,cStyleCollection *TheStyleTextBackgroundCollection,QWidget *parent): QCustomDialog(ApplicationConfig,parent),ui(new Ui::DlgTextEdit) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::DlgTextEdit"); ui->setupUi(this); OkBt =ui->OKBT; CancelBt =ui->CancelBt; HelpBt =ui->HelpBt; HelpFile ="0120"; UndoBt =ui->UndoBT; this->Diaporama =Diaporama; CurrentTextItem =TheCurrentTextItem; StyleTextCollection =TheStyleTextCollection; StyleTextBackgroundCollection =TheStyleTextBackgroundCollection; StopMAJSpinbox =false; } //==================================================================================================================== DlgTextEdit::~DlgTextEdit() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::~DlgTextEdit"); delete ui; } //==================================================================================================================== // Initialise dialog void DlgTextEdit::DoInitDialog() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::DoInitDialog"); ui->BackgroundCombo->PrepareTable(Diaporama->ImageGeometry,&BackgroundList); ui->tabWidget->setCurrentIndex(0); ui->TextEdit->setUndoRedoEnabled(false); // we want to manage the undo // Init check box ui->textLeft->setCheckable(true); ui->textCenter->setCheckable(true); ui->textJustif->setCheckable(true); ui->textRight->setCheckable(true); ui->textUp->setCheckable(true); ui->textVCenter->setCheckable(true); ui->textBottom->setCheckable(true); // Init font size QList sizes=QFontDatabase::standardSizes(); QStringList Ssizes; for (int i=0;ifontSize->insertItems(0,Ssizes); ui->fontSize->setCurrentIndex(6); // Init editor ui->TextEdit->setWordWrapMode(QTextOption::WrapAtWordBoundaryOrAnywhere); ui->TextEdit->setLineWrapMode(QTextEdit::WidgetWidth); ui->TextEdit->setAutoFillBackground(true); ui->TextEdit->setHtml(CurrentTextItem->Text); QTextCursor Cursor=ui->TextEdit->textCursor(); Cursor.movePosition(QTextCursor::Start); ui->TextEdit->setTextCursor(Cursor); CurrentPlainText=ui->TextEdit->toPlainText(); // Init combo box FontEffect ui->fontEffectCB->addItem(QIcon(":/img/Text/normal.png"), QApplication::translate("DlgTextEdit","No effect")); ui->fontEffectCB->addItem(QIcon(":/img/Text/outline.png"), QApplication::translate("DlgTextEdit","Outerline")); ui->fontEffectCB->addItem(QIcon(":/img/Text/Shadow upper left.png"), QApplication::translate("DlgTextEdit","Shadow upper left")); ui->fontEffectCB->addItem(QIcon(":/img/Text/Shadow upper right.png"), QApplication::translate("DlgTextEdit","Shadow upper right")); ui->fontEffectCB->addItem(QIcon(":/img/Text/Shadow bottom left.png"), QApplication::translate("DlgTextEdit","Shadow bottom left")); ui->fontEffectCB->addItem(QIcon(":/img/Text/Shadow bottom right.png"), QApplication::translate("DlgTextEdit","Shadow bottom right")); // Init combo box Background type ui->BrushTypeCombo->addItem(QApplication::translate("DlgTextEdit","No brush")); ui->BrushTypeCombo->setItemData(ui->BrushTypeCombo->count()-1,QVariant(int(BRUSHTYPE_NOBRUSH))); ui->BrushTypeCombo->addItem(QApplication::translate("DlgTextEdit","Solid brush")); ui->BrushTypeCombo->setItemData(ui->BrushTypeCombo->count()-1,QVariant(int(BRUSHTYPE_SOLID))); ui->BrushTypeCombo->addItem(QApplication::translate("DlgTextEdit","Pattern brush")); ui->BrushTypeCombo->setItemData(ui->BrushTypeCombo->count()-1,QVariant(int(BRUSHTYPE_PATTERN))); ui->BrushTypeCombo->addItem(QApplication::translate("DlgTextEdit","Gradient 2 colors")); ui->BrushTypeCombo->setItemData(ui->BrushTypeCombo->count()-1,QVariant(int(BRUSHTYPE_GRADIENT2))); ui->BrushTypeCombo->addItem(QApplication::translate("DlgTextEdit","Gradient 3 colors")); ui->BrushTypeCombo->setItemData(ui->BrushTypeCombo->count()-1,QVariant(int(BRUSHTYPE_GRADIENT3))); ui->BrushTypeCombo->addItem(QApplication::translate("DlgTextEdit","Image from library")); ui->BrushTypeCombo->setItemData(ui->BrushTypeCombo->count()-1,QVariant(int(BRUSHTYPE_IMAGELIBRARY))); // Define handler connect(ui->TextEdit,SIGNAL(textChanged()),this,SLOT(s_TextEditChange())); connect(ui->TextEdit,SIGNAL(cursorPositionChanged()),this,SLOT(s_cursorPositionChanged())); connect(ui->TextEdit,SIGNAL(UndoSignal()),this,SLOT(DoPartialUndo())); connect(ui->FontColorCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexFontColorCombo(int))); connect(ui->StyleShadowColorCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexFontShadowColorCombo(int))); connect(ui->fontStyleCB,SIGNAL(currentFontChanged(QFont)),this,SLOT(s_ChangeFont(QFont))); connect(ui->fontSize,SIGNAL(currentIndexChanged(QString)),this,SLOT(s_ChangeSizeFont(QString))); connect(ui->bold,SIGNAL(released()),this,SLOT(s_SetBold())); connect(ui->Italic,SIGNAL(released()),this,SLOT(s_SetItalic())); connect(ui->Souligne,SIGNAL(released()),this,SLOT(s_SetUnderline())); connect(ui->TextSuperBt,SIGNAL(released()),this,SLOT(s_SetTextSuper())); connect(ui->TextSubBt,SIGNAL(released()),this,SLOT(s_SetTextSub())); connect(ui->textLeft,SIGNAL(pressed()),this,SLOT(s_SetTextLeft())); connect(ui->textCenter,SIGNAL(pressed()),this,SLOT(s_SetTextCenter())); connect(ui->textRight,SIGNAL(pressed()),this,SLOT(s_SetTextRight())); connect(ui->textJustif,SIGNAL(pressed()),this,SLOT(s_SetTextJustif())); connect(ui->IndentInBt,SIGNAL(pressed()),this,SLOT(s_IndentInBt())); connect(ui->IndentOutBt,SIGNAL(pressed()),this,SLOT(s_IndentOutBt())); connect(ui->ListBt,SIGNAL(pressed()),this,SLOT(s_ListBt())); connect(ui->ListNbrBt,SIGNAL(pressed()),this,SLOT(s_ListNbrBt())); // Block part connect(ui->textUp,SIGNAL(pressed()),this,SLOT(s_SetTextUp())); connect(ui->textVCenter,SIGNAL(pressed()),this,SLOT(s_SetTextVCenter())); connect(ui->textBottom,SIGNAL(pressed()),this,SLOT(s_SetTextBottom())); connect(ui->fontEffectCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChangeStyleFont(int))); // Brush part connect(ui->BrushTypeCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChangeBrushTypeCombo(int))); connect(ui->PatternBrushCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexPatternBrushCombo(int))); connect(ui->OrientationCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexGradientOrientationCombo(int))); connect(ui->FirstColorCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexGradientFirstColorCombo(int))); connect(ui->FinalColorCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexGradientFinalColorCombo(int))); connect(ui->IntermColorCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexGradientIntermColorCombo(int))); connect(ui->BackgroundCombo,SIGNAL(itemSelectionHaveChanged()),this,SLOT(s_ChIndexBackgroundCombo())); connect(ui->IntermPosSlider,SIGNAL(valueChanged(int)),this,SLOT(s_IntermPosED(int))); connect(ui->IntermPosED,SIGNAL(valueChanged(int)),this,SLOT(s_IntermPosED(int))); // Variables connect(ui->InsTextVarBT,SIGNAL(pressed()),this,SLOT(s_InsTextVar())); // Style connect(ui->TextStyleBT,SIGNAL(pressed()),this,SLOT(s_TextStyleBT())); connect(ui->BackgroundStyleBT,SIGNAL(pressed()),this,SLOT(s_BackgroundStyleBT())); // Margins connect(ui->ShapeDefaultBT,SIGNAL(pressed()),this,SLOT(s_ShapeDefault_Changed())); connect(ui->FullShapeBT,SIGNAL(pressed()),this,SLOT(s_FullShape_Changed())); connect(ui->CustomBT,SIGNAL(pressed()),this,SLOT(s_Custom_Changed())); connect(ui->PosXEd,SIGNAL(valueChanged(int)),this,SLOT(s_PosXEd_Changed(int))); connect(ui->PosYEd,SIGNAL(valueChanged(int)),this,SLOT(s_PosYEd_Changed(int))); connect(ui->WidthEd,SIGNAL(valueChanged(int)),this,SLOT(s_WidthEd_Changed(int))); connect(ui->HeightEd,SIGNAL(valueChanged(int)),this,SLOT(s_HeightEd_Changed(int))); RefreshControls(); } //==================================================================================================================== // Initiale Undo void DlgTextEdit::PrepareGlobalUndo() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::PrepareGlobalUndo"); // Save object before modification for cancel button Undo=new QDomDocument(APPLICATION_NAME); QDomElement root=Undo->createElement("UNDO-DLG"); // Create xml document and root CurrentTextItem->SaveToXML(root,"UNDO-DLG-OBJECT","",NULL,false,NULL,NULL,true,false); // Save object Undo->appendChild(root); // Add object to xml document } //==================================================================================================================== // Apply Undo : call when user click on Cancel button void DlgTextEdit::DoGlobalUndo() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::DoGlobalUndo"); // Restore element QDomElement root=Undo->documentElement(); if (root.tagName()=="UNDO-DLG") CurrentTextItem->LoadFromXML(root,"UNDO-DLG-OBJECT","",NULL,NULL,false,NULL,false,true); } //==================================================================================================================== void DlgTextEdit::PreparePartialUndo(int /*ActionType*/,QDomElement root,bool) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::PreparePartialUndo"); CurrentTextItem->SaveToXML(root,"UNDO-DLG-OBJECT","",NULL,false,NULL,NULL,true,false); // Save object root.setAttribute("Position",ui->TextEdit->textCursor().position()); } //==================================================================================================================== void DlgTextEdit::ApplyPartialUndo(int /*ActionType*/,QDomElement root) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::ApplyPartialUndo"); CurrentTextItem->LoadFromXML(root,"UNDO-DLG-OBJECT","",NULL,NULL,false,NULL,false,true); StopMAJSpinbox=true; ui->TextEdit->setHtml(CurrentTextItem->Text); QTextCursor Cursor=ui->TextEdit->textCursor(); Cursor.setPosition(root.attribute("Position").toInt(),QTextCursor::MoveAnchor); ui->TextEdit->setTextCursor(Cursor); StopMAJSpinbox=false; RefreshControls(); } //==================================================================================================================== void DlgTextEdit::s_cursorPositionChanged() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_cursorPositionChanged"); StopMAJSpinbox=true; QTextCursor Cursor(ui->TextEdit->textCursor()); QTextCharFormat TCF; Qt::Alignment Alignment; QTextBlockFormat TBF=Cursor.blockFormat(); QTextList *List=Cursor.currentList(); if (Cursor.hasSelection()) TCF=Cursor.charFormat(); // Display option for current selection else TCF=ui->TextEdit->currentCharFormat(); // Display current default option Alignment=ui->TextEdit->alignment(); CurrentTextItem->FontColor=TCF.foreground().color().name(); ui->bold-> setChecked(TCF.fontWeight()==QFont::Bold); ui->bold-> setDown(TCF.fontWeight()==QFont::Bold); ui->Italic-> setChecked(TCF.fontItalic()); ui->Italic-> setDown(TCF.fontItalic()); ui->Souligne->setChecked(TCF.fontUnderline()); ui->Souligne->setDown(TCF.fontUnderline()); ui->fontStyleCB-> setCurrentIndex(ui->fontStyleCB->findText(QString(TCF.fontFamily()))); ui->fontSize-> setCurrentIndex(ui->fontSize->findText(QString("%1").arg(TCF.fontPointSize()))); ui->FontColorCombo->SetCurrentColor(&CurrentTextItem->FontColor); ui->textLeft-> setChecked((Alignment & Qt::AlignLeft)!=0); ui->textLeft-> setDown((Alignment & Qt::AlignLeft)!=0); ui->textCenter->setChecked((Alignment & Qt::AlignHCenter)!=0); ui->textCenter->setDown((Alignment & Qt::AlignHCenter)!=0); ui->textJustif->setChecked((Alignment & Qt::AlignJustify)!=0); ui->textJustif->setDown((Alignment & Qt::AlignJustify)!=0); ui->textRight-> setChecked((Alignment & Qt::AlignRight)!=0); ui->textRight-> setDown((Alignment & Qt::AlignRight)!=0); ui->TextSuperBt->setChecked(TCF.verticalAlignment()==QTextCharFormat::AlignSuperScript); ui->TextSuperBt->setDown(TCF.verticalAlignment()==QTextCharFormat::AlignSuperScript); ui->TextSubBt-> setChecked(TCF.verticalAlignment()==QTextCharFormat::AlignSubScript); ui->TextSubBt-> setDown(TCF.verticalAlignment()==QTextCharFormat::AlignSubScript); int indent=0; if (List) indent=List->format().indent(); else indent=TBF.indent(); ui->IndentInBt->setEnabled(indent<9); ui->IndentOutBt->setEnabled(indent>(List!=NULL?1:0)); StopMAJSpinbox=false; } //==================================================================================================================== void DlgTextEdit::RefreshControls() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::RefreshControls"); // Update text controls s_cursorPositionChanged(); StopMAJSpinbox=true; // Margins ui->ShapeDefaultBT->setChecked( CurrentTextItem->TMType==TEXTMARGINS_SHAPEDEFAULT); ui->FullShapeBT->setChecked( CurrentTextItem->TMType==TEXTMARGINS_FULLSHAPE); ui->CustomBT->setChecked( CurrentTextItem->TMType==TEXTMARGINS_CUSTOM); ui->PosSize_X->setEnabled( CurrentTextItem->TMType==TEXTMARGINS_CUSTOM); ui->PosXEd->setEnabled( CurrentTextItem->TMType==TEXTMARGINS_CUSTOM); ui->PosSize_Y->setEnabled( CurrentTextItem->TMType==TEXTMARGINS_CUSTOM); ui->PosYEd->setEnabled( CurrentTextItem->TMType==TEXTMARGINS_CUSTOM); ui->PosSize_Width->setEnabled( CurrentTextItem->TMType==TEXTMARGINS_CUSTOM); ui->WidthEd->setEnabled( CurrentTextItem->TMType==TEXTMARGINS_CUSTOM); ui->PosSize_Height->setEnabled( CurrentTextItem->TMType==TEXTMARGINS_CUSTOM); ui->HeightEd->setEnabled( CurrentTextItem->TMType==TEXTMARGINS_CUSTOM); ui->PosXEd->setValue( floor(CurrentTextItem->TMx*100)); ui->PosYEd->setValue( floor(CurrentTextItem->TMy*100)); ui->WidthEd->setValue( floor(CurrentTextItem->TMw*100)); ui->HeightEd->setValue( floor(CurrentTextItem->TMh*100)); ui->textUp->setChecked(CurrentTextItem->VAlign==0); ui->textUp->setDown(CurrentTextItem->VAlign==0); ui->textVCenter->setChecked(CurrentTextItem->VAlign==1); ui->textVCenter->setDown(CurrentTextItem->VAlign==1); ui->textBottom->setChecked(CurrentTextItem->VAlign==2); ui->textBottom->setDown(CurrentTextItem->VAlign==2); if (CurrentTextItem->StyleText!=ui->fontEffectCB->currentIndex()) ui->fontEffectCB->setCurrentIndex(CurrentTextItem->StyleText); ui->StyleShadowColorCombo->SetCurrentColor(&CurrentTextItem->FontShadowColor); ui->StyleShadowColorCombo->setEnabled(CurrentTextItem->StyleText!=0); //ui->fontEffectCB->view()->setFixedWidth(250); //ui->TextStyleED->setText(StyleTextCollection->GetStyleName(CurrentTextItem->GetTextStyle())); // Brush TAB part bool Allow_Brush =((CurrentTextItem->BackgroundBrush->BrushType!=BRUSHTYPE_IMAGEDISK)&&(CurrentTextItem->TextClipArtName=="")); bool Allow_Color1 =(Allow_Brush)&&((CurrentTextItem->BackgroundBrush->BrushType==BRUSHTYPE_SOLID)||(CurrentTextItem->BackgroundBrush->BrushType==BRUSHTYPE_PATTERN)||(CurrentTextItem->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT2)||(CurrentTextItem->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3)); bool Allow_Color2 =(Allow_Brush)&&((CurrentTextItem->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT2)||(CurrentTextItem->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3)); bool Allow_Color3 =(Allow_Brush)&&(CurrentTextItem->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3); bool Allow_Pattern=(Allow_Brush)&&(CurrentTextItem->BackgroundBrush->BrushType==BRUSHTYPE_PATTERN); bool Allow_Library=(Allow_Brush)&&(CurrentTextItem->BackgroundBrush->BrushType==BRUSHTYPE_IMAGELIBRARY); //ui->BackgroundLabel->setVisible(Allow_Brush); ui->BackgroundStyleBT->setVisible(Allow_Brush); ui->tabWidget->setTabEnabled(1,Allow_Brush); //ui->BackgroundStyleED->setVisible(Allow_Brush); //if (Allow_Brush) ui->BackgroundStyleED->setText(StyleTextBackgroundCollection->GetStyleName(CurrentTextItem->GetBackgroundStyle())); //ui->BrushTypeLabel->setVisible(Allow_Brush); ui->BrushTypeCombo->setVisible(Allow_Brush); ui->ColorLabel_1->setVisible(Allow_Color2); ui->ColorLabel_2->setVisible(Allow_Color3); ui->ColorLabel1->setVisible(Allow_Color1); ui->ColorLabel2->setVisible(Allow_Color1); ui->FirstColorCombo->setVisible(Allow_Color1); ui->FinalColorCombo->setVisible(Allow_Color2); ui->IntermColorCombo->setVisible(Allow_Color3); ui->OrientationSpacer->setVisible(Allow_Color2 & !Allow_Color3); ui->OrientationCombo->setVisible(Allow_Color2); ui->IntermPosLabel->setVisible(Allow_Color2); ui->IntermPosSlider->setVisible(Allow_Color3); ui->IntermPosED->setVisible(Allow_Color3); ui->PatternLabel->setVisible(Allow_Pattern); ui->PatternBrushCombo->setVisible(Allow_Pattern); ui->ImageLibraryLabel->setVisible(Allow_Library); ui->ImageLibraryLabel2->setVisible(Allow_Library); ui->BackgroundCombo->setVisible(Allow_Library); // Set brush type combo index for (int i=0;iBrushTypeCombo->count();i++) if (ui->BrushTypeCombo->itemData(i).toInt()==CurrentTextItem->BackgroundBrush->BrushType) ui->BrushTypeCombo->setCurrentIndex(i); ui->PatternBrushCombo->SetCurrentBrush(CurrentTextItem->BackgroundBrush); ui->FirstColorCombo->SetCurrentColor(&CurrentTextItem->BackgroundBrush->ColorD); ui->IntermColorCombo->SetCurrentColor(&CurrentTextItem->BackgroundBrush->ColorIntermed); ui->FinalColorCombo->SetCurrentColor(&CurrentTextItem->BackgroundBrush->ColorF); ui->OrientationCombo->SetCurrentBrush(CurrentTextItem->BackgroundBrush); ui->FirstColorCombo->SetCurrentColor(&CurrentTextItem->BackgroundBrush->ColorD); // Set controls depending on brush type switch (CurrentTextItem->BackgroundBrush->BrushType) { case BRUSHTYPE_NOBRUSH : break; case BRUSHTYPE_PATTERN : case BRUSHTYPE_SOLID : break; break; case BRUSHTYPE_GRADIENT3 : case BRUSHTYPE_GRADIENT2 : ui->IntermPosSlider->setValue(CurrentTextItem->BackgroundBrush->Intermediate*100); ui->IntermPosED->setValue(CurrentTextItem->BackgroundBrush->Intermediate*100); break; case BRUSHTYPE_IMAGELIBRARY : // Ensure BrushImage is valide if ((BackgroundList.SearchImage(CurrentTextItem->BackgroundBrush->BrushImage)==-1)&&(BackgroundList.List.count()>0)) CurrentTextItem->BackgroundBrush->BrushImage=BackgroundList.List[0].Name; ui->BackgroundCombo->SetCurrentBackground(CurrentTextItem->BackgroundBrush->BrushImage); break; } // Apply background to ui->TextEdit QBrush *Brush=NULL; if (CurrentTextItem->BackgroundBrush->BrushType==BRUSHTYPE_NOBRUSH) { Brush=new QBrush(Transparent); } else if (CurrentTextItem->TextClipArtName=="") { Brush=CurrentTextItem->BackgroundBrush->GetBrush(QRectF(0,0,ui->TextEdit->width(),ui->TextEdit->height()),true,0,NULL,1,NULL); } else { Brush=new QBrush(TextFrameList.List[TextFrameList.SearchImage(CurrentTextItem->TextClipArtName)].BckColor,Qt::SolidPattern); } QPalette Palette; Palette.setBrush(QPalette::Base,*Brush); ui->TextEdit->setPalette(Palette); delete Brush; StopMAJSpinbox=false; emit RefreshDisplay(); } //==================================================================================================================== // Handler for text controls //==================================================================================================================== //========= Text style bold void DlgTextEdit::s_SetBold() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_SetBold"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_CHARSTYLE,ui->TextEdit,true); QTextCursor Cursor(ui->TextEdit->textCursor()); QTextCharFormat TCF,CurrentFormat; if (Cursor.hasSelection()) CurrentFormat=Cursor.charFormat(); // Display option for current selection else CurrentFormat=ui->TextEdit->currentCharFormat(); // Display current default option TCF.setFontWeight(CurrentFormat.fontWeight()==QFont::Normal?QFont::Bold:QFont::Normal); if (Cursor.hasSelection()) Cursor.mergeCharFormat(TCF); else ui->TextEdit->mergeCurrentCharFormat(TCF); CurrentTextItem->IsBold=(TCF.fontWeight()==QFont::Bold); CurrentTextItem->Text=ui->TextEdit->toHtml(); RefreshControls(); ui->TextEdit->setFocus(); } //========= Text style italic void DlgTextEdit::s_SetItalic() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_SetItalic"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_CHARSTYLE,ui->TextEdit,true); QTextCursor Cursor(ui->TextEdit->textCursor()); QTextCharFormat TCF,CurrentFormat; if (Cursor.hasSelection()) CurrentFormat=Cursor.charFormat(); // Display option for current selection else CurrentFormat=ui->TextEdit->currentCharFormat(); // Display current default option TCF.setFontItalic(!CurrentFormat.fontItalic()); if (Cursor.hasSelection()) Cursor.mergeCharFormat(TCF); else ui->TextEdit->mergeCurrentCharFormat(TCF); CurrentTextItem->IsItalic=TCF.fontItalic(); CurrentTextItem->Text=ui->TextEdit->toHtml(); RefreshControls(); ui->TextEdit->setFocus(); } //========= Text style underline void DlgTextEdit::s_SetUnderline() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_SetUnderline"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_CHARSTYLE,ui->TextEdit,true); QTextCursor Cursor(ui->TextEdit->textCursor()); QTextCharFormat TCF,CurrentFormat; if (Cursor.hasSelection()) CurrentFormat=Cursor.charFormat(); // Display option for current selection else CurrentFormat=ui->TextEdit->currentCharFormat(); // Display current default option TCF.setFontUnderline(!CurrentFormat.fontUnderline()); if (Cursor.hasSelection()) Cursor.mergeCharFormat(TCF); else ui->TextEdit->mergeCurrentCharFormat(TCF); CurrentTextItem->IsUnderline=TCF.fontUnderline(); CurrentTextItem->Text=ui->TextEdit->toHtml(); RefreshControls(); ui->TextEdit->setFocus(); } //========= Text style to superscript void DlgTextEdit::s_SetTextSuper() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_SetTextSuper"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_CHARSTYLE,ui->TextEdit,true); QTextCursor Cursor(ui->TextEdit->textCursor()); QTextCharFormat TCF; if (Cursor.hasSelection()) TCF=Cursor.charFormat(); // Modify current selection else TCF=ui->TextEdit->currentCharFormat(); // Modify default option if (TCF.verticalAlignment()==QTextCharFormat::AlignSuperScript) { TCF=QTextCharFormat(); TCF.setVerticalAlignment(QTextCharFormat::AlignNormal); } else { TCF=QTextCharFormat(); TCF.setVerticalAlignment(QTextCharFormat::AlignSuperScript); } if (Cursor.hasSelection()) Cursor.mergeCharFormat(TCF); else ui->TextEdit->mergeCurrentCharFormat(TCF); CurrentTextItem->Text=ui->TextEdit->toHtml(); RefreshControls(); ui->TextEdit->setFocus(); } //========= Text style to subscript void DlgTextEdit::s_SetTextSub() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_SetTextSub"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_CHARSTYLE,ui->TextEdit,true); QTextCursor Cursor(ui->TextEdit->textCursor()); QTextCharFormat TCF; if (Cursor.hasSelection()) TCF=Cursor.charFormat(); // Modify current selection else TCF=ui->TextEdit->currentCharFormat(); // Modify default option if (TCF.verticalAlignment()==QTextCharFormat::AlignSubScript) { TCF=QTextCharFormat(); TCF.setVerticalAlignment(QTextCharFormat::AlignNormal); } else { TCF=QTextCharFormat(); TCF.setVerticalAlignment(QTextCharFormat::AlignSubScript); } if (Cursor.hasSelection()) Cursor.mergeCharFormat(TCF); else ui->TextEdit->mergeCurrentCharFormat(TCF); CurrentTextItem->IsUnderline=TCF.fontUnderline(); CurrentTextItem->Text=ui->TextEdit->toHtml(); RefreshControls(); ui->TextEdit->setFocus(); } //========= Horizontal alignment left void DlgTextEdit::s_SetTextLeft() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_SetTextLeft"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_ALIGNH,ui->TextEdit,true); ui->TextEdit->setAlignment((ui->TextEdit->alignment() & 0xf0)|Qt::AlignLeft); CurrentTextItem->HAlign=0; CurrentTextItem->Text=ui->TextEdit->toHtml(); RefreshControls(); ui->TextEdit->setFocus(); } //========= Horizontal alignment center void DlgTextEdit::s_SetTextCenter() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_SetTextCenter"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_ALIGNH,ui->TextEdit,true); ui->TextEdit->setAlignment((ui->TextEdit->alignment() & 0xf0)|Qt::AlignHCenter); CurrentTextItem->HAlign=1; CurrentTextItem->Text=ui->TextEdit->toHtml(); RefreshControls(); ui->TextEdit->setFocus(); } //========= Horizontal alignment right void DlgTextEdit::s_SetTextRight() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_SetTextRight"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_ALIGNH,ui->TextEdit,true); ui->TextEdit->setAlignment((ui->TextEdit->alignment() & 0xf0)|Qt::AlignRight); CurrentTextItem->HAlign=2; CurrentTextItem->Text=ui->TextEdit->toHtml(); RefreshControls(); ui->TextEdit->setFocus(); } //========= Horizontal alignment justify void DlgTextEdit::s_SetTextJustif() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_SetTextJustif"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_ALIGNH,ui->TextEdit,true); ui->TextEdit->setAlignment((ui->TextEdit->alignment() & 0xf0)|Qt::AlignJustify); CurrentTextItem->HAlign=3; CurrentTextItem->Text=ui->TextEdit->toHtml(); RefreshControls(); ui->TextEdit->setFocus(); } //========= Increase indent void DlgTextEdit::s_IndentInBt() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_IndentInBt"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_INDENT,ui->TextEdit,true); QTextCursor Cursor(ui->TextEdit->textCursor()); QTextBlockFormat TBF =Cursor.blockFormat(); QTextList *List=Cursor.currentList(); if (!List) { if (TBF.indent()<9) { QTextBlockFormat modifier; modifier.setIndent(TBF.indent()+1); Cursor.mergeBlockFormat(modifier); } } else { QTextListFormat format=List->format(); if (format.indent()<9) { format.setIndent(format.indent()+1); if (List->itemNumber(Cursor.block())==1) List->setFormat(format); else Cursor.createList(format); } } CurrentTextItem->Text=ui->TextEdit->toHtml(); RefreshControls(); ui->TextEdit->setFocus(); } //========= Decrease indent void DlgTextEdit::s_IndentOutBt() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_IndentOutBt"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_INDENT,ui->TextEdit,true); QTextCursor Cursor(ui->TextEdit->textCursor()); QTextBlockFormat TBF =Cursor.blockFormat(); QTextList *List=Cursor.currentList(); if (!List) { if (TBF.indent()>0) { QTextBlockFormat modifier; modifier.setIndent(TBF.indent()-1); Cursor.mergeBlockFormat(modifier); } } else { QTextListFormat ListFmt=List->format(); if (ListFmt.indent()>0) { ListFmt.setIndent(ListFmt.indent()-1); List->setFormat(ListFmt); } } CurrentTextItem->Text=ui->TextEdit->toHtml(); RefreshControls(); ui->TextEdit->setFocus(); } //========= Activate/deactivate bullet list void DlgTextEdit::s_ListBt() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ListBt"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_LIST,ui->TextEdit,true); QTextCursor Cursor(ui->TextEdit->textCursor()); if (Cursor.currentList()!=NULL) { Cursor.currentList()->remove(Cursor.block()); QTextBlockFormat TBF=Cursor.blockFormat(); TBF.setIndent(0); Cursor.setBlockFormat(TBF); } else { Cursor.beginEditBlock(); QTextBlockFormat BlockFmt=Cursor.blockFormat(); QTextListFormat ListFmt; ListFmt.setStyle(QTextListFormat::ListSquare); ListFmt.setIndent(BlockFmt.indent()+1); BlockFmt.setIndent(0); Cursor.mergeBlockFormat(BlockFmt); Cursor.createList(ListFmt); Cursor.endEditBlock(); } CurrentTextItem->Text=ui->TextEdit->toHtml(); RefreshControls(); ui->TextEdit->setFocus(); } //========= Activate/deactivate numbered list void DlgTextEdit::s_ListNbrBt() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ListNbrBt"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_LIST,ui->TextEdit,true); QTextCursor Cursor(ui->TextEdit->textCursor()); if (Cursor.currentList()!=NULL) { Cursor.currentList()->remove(Cursor.block()); QTextBlockFormat TBF=Cursor.blockFormat(); TBF.setIndent(0); Cursor.setBlockFormat(TBF); } else { Cursor.beginEditBlock(); QTextBlockFormat BlockFmt=Cursor.blockFormat(); QTextListFormat ListFmt; ListFmt.setStyle(QTextListFormat::ListDecimal); ListFmt.setIndent(BlockFmt.indent()+1); BlockFmt.setIndent(0); Cursor.setBlockFormat(BlockFmt); Cursor.createList(ListFmt); Cursor.endEditBlock(); } CurrentTextItem->Text=ui->TextEdit->toHtml(); RefreshControls(); ui->TextEdit->setFocus(); } //========= Vertical alignment up void DlgTextEdit::s_SetTextUp() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_SetTextUp"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_ALIGNV,ui->TextEdit,true); CurrentTextItem->VAlign=0; ui->TextEdit->setAlignment((ui->TextEdit->alignment() & 0x0f)|Qt::AlignTop); CurrentTextItem->Text=ui->TextEdit->toHtml(); RefreshControls(); ui->TextEdit->setFocus(); } //========= Vertical alignment center void DlgTextEdit::s_SetTextVCenter() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_SetTextVCenter"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_ALIGNV,ui->TextEdit,true); CurrentTextItem->VAlign=1; ui->TextEdit->setAlignment((ui->TextEdit->alignment() & 0x0f)|Qt::AlignVCenter); CurrentTextItem->Text=ui->TextEdit->toHtml(); RefreshControls(); ui->TextEdit->setFocus(); } //========= Vertical alignment bottom void DlgTextEdit::s_SetTextBottom() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_SetTextBottom"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_ALIGNV,ui->TextEdit,true); CurrentTextItem->VAlign=2; ui->TextEdit->setAlignment((ui->TextEdit->alignment() & 0x0f)|Qt::AlignBottom); CurrentTextItem->Text=ui->TextEdit->toHtml(); RefreshControls(); ui->TextEdit->setFocus(); } //========= Font family void DlgTextEdit::s_ChangeFont(QFont font) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ChangeFont"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_FONTSTYLE,ui->TextEdit,false); QTextCursor Cursor(ui->TextEdit->textCursor()); QTextCharFormat TCF; TCF.setFontFamily(font.family()); if (Cursor.hasSelection()) Cursor.mergeCharFormat(TCF); else ui->TextEdit->mergeCurrentCharFormat(TCF); CurrentTextItem->FontName=font.family(); CurrentTextItem->Text=ui->TextEdit->toHtml(); RefreshControls(); ui->TextEdit->setFocus(); } //========= Size font void DlgTextEdit::s_ChangeSizeFont(QString size) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ChangeSizeFont"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_FONTSIZE,ui->TextEdit,false); QTextCursor Cursor(ui->TextEdit->textCursor()); QTextCharFormat TCF; TCF.setFontPointSize(size.toInt()); if (Cursor.hasSelection()) Cursor.mergeCharFormat(TCF); else ui->TextEdit->mergeCurrentCharFormat(TCF); CurrentTextItem->FontSize=size.toInt(); CurrentTextItem->Text=ui->TextEdit->toHtml(); RefreshControls(); ui->TextEdit->setFocus(); } //========= Style font void DlgTextEdit::s_ChangeStyleFont(int Style) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ChangeStyleFont"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_FONTEFFECT,ui->TextEdit,false); CurrentTextItem->StyleText=Style; RefreshControls(); } //========= Plain text edit void DlgTextEdit::s_TextEditChange() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_TextEditChange"); if (StopMAJSpinbox) return; QString TextEditText =ui->TextEdit->toHtml(); QString PlainTextEdit=ui->TextEdit->toPlainText(); if ((CurrentTextItem->Text!=TextEditText)&&(CurrentPlainText!=PlainTextEdit)) { AppendPartialUndo(UNDOACTION_MODIFTEXT,ui->TextEdit,false); CurrentTextItem->Text=ui->TextEdit->toHtml(); RefreshControls(); } CurrentPlainText=PlainTextEdit; } //========= Font color void DlgTextEdit::s_ChIndexFontColorCombo(int) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ChIndexFontColorCombo"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_FONTCOLOR,ui->TextEdit,false); CurrentTextItem->FontColor=ui->FontColorCombo->GetCurrentColor(); QTextCursor Cursor(ui->TextEdit->textCursor()); QTextCharFormat TCF; TCF.setForeground(QBrush(QColor(CurrentTextItem->FontColor))); if (Cursor.hasSelection()) Cursor.mergeCharFormat(TCF); else ui->TextEdit->mergeCurrentCharFormat(TCF); CurrentTextItem->Text=ui->TextEdit->toHtml(); RefreshControls(); ui->TextEdit->setFocus(); } //========= Text shadow color void DlgTextEdit::s_ChIndexFontShadowColorCombo(int) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ChIndexFontShadowColorCombo"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_FONTSHADOWCOLOR,ui->TextEdit,false); CurrentTextItem->FontShadowColor=ui->StyleShadowColorCombo->GetCurrentColor(); RefreshControls(); } //==================================================================================================================== void DlgTextEdit::s_ChangeBrushTypeCombo(int Value) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ChangeBrushTypeCombo"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_BRUSHTYPE,ui->TextEdit,true); CurrentTextItem->BackgroundBrush->BrushType=ui->BrushTypeCombo->itemData(Value).toInt(); RefreshControls(); } //==================================================================================================================== void DlgTextEdit::s_IntermPosED(int Value) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_IntermPosED"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_BRUSHINTERMPOS,ui->TextEdit,false); CurrentTextItem->BackgroundBrush->Intermediate=double(Value)/100; RefreshControls(); } //==================================================================================================================== // Handler for custom color/brush/pattern/gradient combo box index change //==================================================================================================================== //========= Pattern shape combo void DlgTextEdit::s_ChIndexPatternBrushCombo(int) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ChIndexPatternBrushCombo"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_BRUSHPATTERNBRUSH,ui->TextEdit,false); CurrentTextItem->BackgroundBrush->PatternType=ui->PatternBrushCombo->GetCurrentBrush()->PatternType; RefreshControls(); } //========= Gradient shape orientation void DlgTextEdit::s_ChIndexGradientOrientationCombo(int) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ChIndexGradientOrientationCombo"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_BRUSHORIENTATION,ui->TextEdit,false); CurrentTextItem->BackgroundBrush->GradientOrientation=ui->OrientationCombo->GetCurrentBrush()->GradientOrientation; RefreshControls(); } //========= Shape/Gradient shape first color void DlgTextEdit::s_ChIndexGradientFirstColorCombo(int) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ChIndexGradientFirstColorCombo"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_BRUSHFIRSTCOLOR,ui->TextEdit,false); CurrentTextItem->BackgroundBrush->ColorD=ui->FirstColorCombo->GetCurrentColor(); RefreshControls(); } //========= Gradient shape last color void DlgTextEdit::s_ChIndexGradientFinalColorCombo(int) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ChIndexGradientFinalColorCombo"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_BRUSHFINALCOLOR,ui->TextEdit,false); CurrentTextItem->BackgroundBrush->ColorF=ui->FinalColorCombo->GetCurrentColor(); RefreshControls(); } //========= Gradient shape intermediate color void DlgTextEdit::s_ChIndexGradientIntermColorCombo(int) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ChIndexGradientIntermColorCombo"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_BRUSHINTERMCOLOR,ui->TextEdit,false); CurrentTextItem->BackgroundBrush->ColorIntermed=ui->IntermColorCombo->GetCurrentColor(); RefreshControls(); } //========= Background image void DlgTextEdit::s_ChIndexBackgroundCombo() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ChIndexBackgroundCombo"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_BRUSHLIBBRUSH,ui->TextEdit,false); CurrentTextItem->BackgroundBrush->BrushImage=ui->BackgroundCombo->GetCurrentBackground(); RefreshControls(); } //==================================================================================================================== // Handler for style sheet management //==================================================================================================================== void DlgTextEdit::s_TextStyleBT() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_TextStyleBT"); QString ActualStyle=CurrentTextItem->GetTextStyle(); QString Item=StyleTextCollection->PopupCollectionMenu(this,ApplicationConfig,ActualStyle); ui->TextStyleBT->setDown(false); if (Item!="") { AppendPartialUndo(UNDOSTYLE_TEXT,ui->TextEdit,true); CurrentTextItem->ApplyTextStyle(StyleTextCollection->GetStyleDef(Item)); ui->TextEdit->setHtml(CurrentTextItem->Text); QTextCursor Cursor=ui->TextEdit->textCursor(); Cursor.movePosition(QTextCursor::Start); ui->TextEdit->setTextCursor(Cursor); } RefreshControls(); } void DlgTextEdit::s_BackgroundStyleBT() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_BackgroundStyleBT"); QString ActualStyle=CurrentTextItem->GetBackgroundStyle(); QString Item=StyleTextBackgroundCollection->PopupCollectionMenu(this,ApplicationConfig,ActualStyle); ui->BackgroundStyleBT->setDown(false); if (Item!="") { AppendPartialUndo(UNDOSTYLE_BACKGROUND,ui->TextEdit,true); CurrentTextItem->ApplyBackgroundStyle(StyleTextBackgroundCollection->GetStyleDef(Item)); } RefreshControls(); } //==================================================================================================================== // Handler for text variables //==================================================================================================================== void DlgTextEdit::s_InsTextVar() { ui->InsTextVarBT->setDown(false); QString Var=Variable.PopupVariableMenu(this); if (!Var.isEmpty()) { QTextCursor Cursor(ui->TextEdit->textCursor()); QTextCharFormat CurrentFormat=ui->TextEdit->currentCharFormat(); Cursor.insertText(Var,CurrentFormat); CurrentTextItem->Text=ui->TextEdit->toHtml(); RefreshControls(); ui->TextEdit->setFocus(); } } //==================================================================================================================== // Handler for margins part //==================================================================================================================== void DlgTextEdit::s_ShapeDefault_Changed() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ShapeDefault_Changed"); AppendPartialUndo(UNDOSTYLE_MARGINS,ui->ShapeDefaultBT,true); CurrentTextItem->ApplyTextMargin(TEXTMARGINS_SHAPEDEFAULT); RefreshControls(); } void DlgTextEdit::s_FullShape_Changed() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_FullShape_Changed"); AppendPartialUndo(UNDOSTYLE_MARGINS,ui->FullShapeBT,true); CurrentTextItem->ApplyTextMargin(TEXTMARGINS_FULLSHAPE); RefreshControls(); } void DlgTextEdit::s_Custom_Changed() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_Custom_Changed"); AppendPartialUndo(UNDOSTYLE_MARGINS,ui->CustomBT,true); CurrentTextItem->ApplyTextMargin(TEXTMARGINS_CUSTOM); RefreshControls(); } void DlgTextEdit::s_PosXEd_Changed(int) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_PosXEd_Changed"); AppendPartialUndo(UNDOSTYLE_MARGINS,ui->CustomBT,false); CurrentTextItem->TMx=double(ui->PosXEd->value())/double(100); if (CurrentTextItem->TMx+CurrentTextItem->TMw>1) CurrentTextItem->TMx=1-CurrentTextItem->TMw; RefreshControls(); } void DlgTextEdit::s_PosYEd_Changed(int) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_PosYEd_Changed"); AppendPartialUndo(UNDOSTYLE_MARGINS,ui->CustomBT,false); CurrentTextItem->TMy=double(ui->PosYEd->value())/100; if (CurrentTextItem->TMy+CurrentTextItem->TMh>1) CurrentTextItem->TMy=1-CurrentTextItem->TMh; RefreshControls(); } void DlgTextEdit::s_WidthEd_Changed(int) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_WidthEd_Changed"); AppendPartialUndo(UNDOSTYLE_MARGINS,ui->CustomBT,false); CurrentTextItem->TMw=double(ui->WidthEd->value())/100; if (CurrentTextItem->TMx+CurrentTextItem->TMw>1) CurrentTextItem->TMw=1-CurrentTextItem->TMx; RefreshControls(); } void DlgTextEdit::s_HeightEd_Changed(int) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_HeightEd_Changed"); AppendPartialUndo(UNDOSTYLE_MARGINS,ui->CustomBT,false); CurrentTextItem->TMh=double(ui->HeightEd->value())/100; if (CurrentTextItem->TMy+CurrentTextItem->TMh>1) CurrentTextItem->TMh=1-CurrentTextItem->TMy; RefreshControls(); } ffDiaporama/src/ffDiaporama/DlgSlide/0000777000175000001440000000000012275647321017704 5ustar dominiqueusersffDiaporama/src/ffDiaporama/DlgSlide/cShotComposer.h0000777000175000001440000006110112275647321022647 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef CSHOTCOMPOSER_H #define CSHOTCOMPOSER_H // Basic inclusions (common to all files) #include "CustomCtrl/_QCustomDialog.h" #include "engine/_Diaporama.h" #include "DlgSlide/cInteractiveZone.h" #include "DlgSlide/cCustomBlockTable.h" #include "DlgSlide/cCustomShotTable.h" class cShotComposer : public QCustomDialog { Q_OBJECT public: // Undo actions enum UNDOACTION_ID { UNDOACTION_FULL_SLIDE }; QAction *actionAddImageClipboard; QAction *actionPaste; bool InRefreshControls; bool InSelectionChange; bool NoPrepUndo; double DisplayW,DisplayH; cDiaporamaObject *CurrentSlide; // Current slide double ProjectGeometry; cInteractiveZone *InteractiveZone; cCustomBlockTable *BlockTable; cCustomShotTable *ShotTable; cCompositionObject *CurrentCompoObject; // Current block object (if selection mode = SELECTMODE_ONE) int CurrentCompoObjectNbr; // Number of Current block object (if selection mode = SELECTMODE_ONE) int CurrentShotNbr; // Current shot number (if selection mode = SELECTMODE_ONE) SELECTMODE BlockSelectMode; // Current block selection mode cCompositionList *CompositionList; // Link to current block List QList IsSelected; // Table of selection state in the current block list int NbrSelected; // Number of selected blocks explicit cShotComposer(cDiaporamaObject *DiaporamaObject,cApplicationConfig *ApplicationConfig,QWidget *parent = 0); virtual void DoInitDialog(); // Utility function used to apply modification from one shot to next shot and/or global composition virtual void ResetThumbs(bool ResetAllThumbs); virtual void ApplyToContexte(bool ResetAllThumbs); virtual cCompositionObject *GetGlobalCompositionObject(int IndexKey); // Return CompositionObject in the global composition list for specific IndexKey // Update embedded controls virtual void RefreshControls(bool UpdateInteractiveZone=true); protected slots: void s_Event_ClipboardChanged(); void s_BlockSettings_BlockInheritances(); // Block settings : Coordinates void s_BlockSettings_PosXValue(double); void s_BlockSettings_PosYValue(double); void s_BlockSettings_PosWidthValue(double); void s_BlockSettings_PosHeightValue(double); // Block settings : Rotations void s_BlockSettings_RotateZValue(int); void s_BlockSettings_RotateXValue(int); void s_BlockSettings_RotateYValue(int); void s_BlockSettings_ResetRotateXValue() { s_BlockSettings_RotateXValue(0); } void s_BlockSettings_ResetRotateYValue() { s_BlockSettings_RotateYValue(0); } void s_BlockSettings_ResetRotateZValue() { s_BlockSettings_RotateZValue(0); } // Block settings : Shape void s_BlockSettings_BlockShapeStyleBT(); void s_BlockSettings_ShapeTextClipArtChIndex(); void s_BlockSettings_ShapeBackgroundForm(); void s_BlockSettings_ShapeOpacity(int); void s_BlockSettings_ShapeShadowFormValue(int); void s_BlockSettings_ShapeShadowDistanceValue(int); void s_BlockSettings_ShapePenSize(int); void s_BlockSettings_ShapePenColor(int); void s_BlockSettings_ShapePenStyle(int); void s_BlockSettings_ShapeShadowColor(int); // Block settings : Alignment void s_BlockTable_AlignTop(); void s_BlockTable_AlignMiddle(); void s_BlockTable_AlignBottom(); void s_BlockTable_AlignLeft(); void s_BlockTable_AlignCenter(); void s_BlockTable_AlignRight(); void s_BlockTable_DistributeHoriz(); void s_BlockTable_DistributeVert(); // Block table void s_BlockTable_SelectionChanged(); // User select a block in the BlocTable widget void s_BlockTable_MoveBlockUp(); void s_BlockTable_MoveBlockDown(); void s_BlockTable_DragMoveBlock(int,int); void s_BlockTable_RemoveBlock(); void s_BlockSettings_Information(); void s_BlockSettings_TextEditor(); // Block settings/Interactive zone messages void s_BlockSettings_IntZoneTransformBlocks(qreal DeltaX,qreal DeltaY,qreal ScaleX,qreal ScaleY,qreal Sel_X,qreal Sel_Y,qreal Sel_W,qreal Sel_H); void s_BlockSettings_IntZoneDisplayTransformBlocks(qreal DeltaX,qreal DeltaY,qreal ScaleX,qreal ScaleY,qreal Sel_X,qreal Sel_Y,qreal Sel_W,qreal Sel_H); protected: void ComputeBlockRatio(cCompositionObject *Block,qreal &Ratio_X,qreal &Ratio_Y); void RefreshBlockTable(int SetCurrentIndex); void MakeFormIcon(QComboBox *UICB); void MakeBorderStyleIcon(QComboBox *UICB); }; //==================================================================================================================== // Define some macros //==================================================================================================================== #define ICON_RULER_ON ":/img/ruler_ok.png" #define ICON_RULER_OFF ":/img/ruler_ko.png" #define ICON_EDIT_IMAGE ":/img/EditImage.png" #define ICON_EDIT_MOVIE ":/img/EditMovie.png" #define ICON_EDIT_GMAPS ":/img/EditGMaps.png" #define ISVIDEO(OBJECT) ((OBJECT->MediaObject)&&(OBJECT->MediaObject->ObjectType==OBJECTTYPE_VIDEOFILE)) #define ISBLOCKVALIDE() ((!InRefreshControls)&&(BlockSelectMode==SELECTMODE_ONE)&&(CurrentCompoObject)) #define ISBLOCKVALIDEVISIBLE() (ISBLOCKVALIDE()&&(CurrentCompoObject->IsVisible)) #define GETUI(WIDGETNAME) findChild(WIDGETNAME) #define GETDOUBLESPINBOX(WIDGETNAME) findChild(WIDGETNAME) #define GETSPINBOX(WIDGETNAME) findChild(WIDGETNAME) #define GETSLIDER(WIDGETNAME) findChild(WIDGETNAME) #define GETCOMBOBOX(WIDGETNAME) findChild(WIDGETNAME) #define GETBUTTON(WIDGETNAME) findChild(WIDGETNAME) #define GETCHECKBOX(WIDGETNAME) findChild(WIDGETNAME) #define APPLY1TONEXT(FIELD) { \ bool ContAPPLY=true; \ int ShotNum=CurrentShotNbr+1; \ while ((ContAPPLY)&&(ShotNumList.count())) { \ for (int Block=0;ContAPPLY && BlockList[CurrentShotNbr]->ShotComposition.List.count();Block++) \ for (int ToSearch=0;ContAPPLY && ToSearchList[ShotNum]->ShotComposition.List.count();ToSearch++) \ if (CurrentSlide->List[ShotNum]->ShotComposition.List[ToSearch]->IndexKey==CurrentCompoObject->IndexKey) { \ cCompositionObject *ShotObject=CurrentSlide->List[ShotNum]->ShotComposition.List[ToSearch]; \ if (!ShotObject->BlockInheritance) ShotObject->FIELD=CurrentCompoObject->FIELD; \ else ContAPPLY=false; \ } \ ShotNum++; \ } \ } #define APPLY2TONEXT(FIELD1,FIELD2) { \ bool ContAPPLY=true; \ int ShotNum=CurrentShotNbr+1; \ while ((ContAPPLY)&&(ShotNumList.count())) { \ for (int Block=0;ContAPPLY && BlockList[CurrentShotNbr]->ShotComposition.List.count();Block++) \ for (int ToSearch=0;ContAPPLY && ToSearchList[ShotNum]->ShotComposition.List.count();ToSearch++) \ if (CurrentSlide->List[ShotNum]->ShotComposition.List[ToSearch]->IndexKey==CurrentCompoObject->IndexKey) { \ cCompositionObject *ShotObject=CurrentSlide->List[ShotNum]->ShotComposition.List[ToSearch]; \ if (!ShotObject->BlockInheritance) { \ ShotObject->FIELD1=CurrentCompoObject->FIELD1; \ ShotObject->FIELD2=CurrentCompoObject->FIELD2; \ } else ContAPPLY=false; \ } \ ShotNum++; \ } \ } #define APPLY3TONEXT(FIELD1,FIELD2,FIELD3) { \ bool ContAPPLY=true; \ int ShotNum=CurrentShotNbr+1; \ while ((ContAPPLY)&&(ShotNumList.count())) { \ for (int Block=0;ContAPPLY && BlockList[CurrentShotNbr]->ShotComposition.List.count();Block++) \ for (int ToSearch=0;ContAPPLY && ToSearchList[ShotNum]->ShotComposition.List.count();ToSearch++) \ if (CurrentSlide->List[ShotNum]->ShotComposition.List[ToSearch]->IndexKey==CurrentCompoObject->IndexKey) { \ cCompositionObject *ShotObject=CurrentSlide->List[ShotNum]->ShotComposition.List[ToSearch]; \ if (!ShotObject->BlockInheritance) { \ ShotObject->FIELD1=CurrentCompoObject->FIELD1; \ ShotObject->FIELD2=CurrentCompoObject->FIELD2; \ ShotObject->FIELD3=CurrentCompoObject->FIELD3; \ } else ContAPPLY=false; \ } \ ShotNum++; \ } \ } #define APPLY4TONEXT(FIELD1,FIELD2,FIELD3,FIELD4) { \ bool ContAPPLY=true; \ int ShotNum=CurrentShotNbr+1; \ while ((ContAPPLY)&&(ShotNumList.count())) { \ for (int Block=0;ContAPPLY && BlockList[CurrentShotNbr]->ShotComposition.List.count();Block++) \ for (int ToSearch=0;ContAPPLY && ToSearchList[ShotNum]->ShotComposition.List.count();ToSearch++) \ if (CurrentSlide->List[ShotNum]->ShotComposition.List[ToSearch]->IndexKey==CurrentCompoObject->IndexKey) { \ cCompositionObject *ShotObject=CurrentSlide->List[ShotNum]->ShotComposition.List[ToSearch]; \ if (!ShotObject->BlockInheritance) { \ ShotObject->FIELD1=CurrentCompoObject->FIELD1; \ ShotObject->FIELD2=CurrentCompoObject->FIELD2; \ ShotObject->FIELD3=CurrentCompoObject->FIELD3; \ ShotObject->FIELD4=CurrentCompoObject->FIELD4; \ } else ContAPPLY=false; \ } \ ShotNum++; \ } \ } #define SUBAPPLY(FIELD) {if (CurrentCompoObject->BackgroundBrush->FIELD!=SavedBrush.FIELD) ShotObject->BackgroundBrush->FIELD=CurrentCompoObject->BackgroundBrush->FIELD;} #define APPLYBACKGROUNDBRUSH() { \ bool ContAPPLY=true; \ int ShotNum=CurrentShotNbr+1; \ while ((ContAPPLY)&&(ShotNumList.count())) { \ for (int Block=0;ContAPPLY && BlockList[CurrentShotNbr]->ShotComposition.List.count();Block++) \ for (int ToSearch=0;ContAPPLY && ToSearchList[ShotNum]->ShotComposition.List.count();ToSearch++) \ if (CurrentSlide->List[ShotNum]->ShotComposition.List[ToSearch]->IndexKey==CurrentCompoObject->IndexKey) { \ cCompositionObject *ShotObject=CurrentSlide->List[ShotNum]->ShotComposition.List[ToSearch]; \ if (!ShotObject->BlockInheritance) { \ SUBAPPLY(PatternType) \ SUBAPPLY(GradientOrientation) \ SUBAPPLY(ColorD) \ SUBAPPLY(ColorF) \ SUBAPPLY(ColorIntermed) \ SUBAPPLY(Intermediate) \ SUBAPPLY(BrushImage) \ SUBAPPLY(MediaObject) \ SUBAPPLY(SoundVolume) \ SUBAPPLY(Deinterlace) \ SUBAPPLY(ImageRotation) \ SUBAPPLY(X) \ SUBAPPLY(Y) \ SUBAPPLY(ZoomFactor) \ SUBAPPLY(Brightness) \ SUBAPPLY(Contrast) \ SUBAPPLY(Gamma) \ SUBAPPLY(Red) \ SUBAPPLY(Green) \ SUBAPPLY(Blue) \ SUBAPPLY(LockGeometry) \ SUBAPPLY(FullFilling) \ SUBAPPLY(AspectRatio) \ SUBAPPLY(GaussBlurSharpenSigma) \ SUBAPPLY(BlurSharpenRadius) \ SUBAPPLY(QuickBlurSharpenSigma) \ SUBAPPLY(TypeBlurSharpen) \ SUBAPPLY(Desat) \ SUBAPPLY(Swirl) \ SUBAPPLY(Implode) \ SUBAPPLY(OnOffFilter) \ SUBAPPLY(ImageSpeedWave) \ for (int MarkNum=0;MarkNumBackgroundBrush->Markers.count();MarkNum++) { \ if (MarkNumBackgroundBrush->Markers[MarkNum].MarkerColor=CurrentCompoObject->BackgroundBrush->Markers[MarkNum].MarkerColor; \ ShotObject->BackgroundBrush->Markers[MarkNum].TextColor =CurrentCompoObject->BackgroundBrush->Markers[MarkNum].TextColor; \ ShotObject->BackgroundBrush->Markers[MarkNum].LineColor =CurrentCompoObject->BackgroundBrush->Markers[MarkNum].LineColor; \ ShotObject->BackgroundBrush->Markers[MarkNum].Visibility =CurrentCompoObject->BackgroundBrush->Markers[MarkNum].Visibility; \ } \ } \ } else ContAPPLY=false; \ } \ ShotNum++; \ } \ } #endif // CSHOTCOMPOSER_H ffDiaporama/src/ffDiaporama/DlgSlide/cShotComposer.cpp0000777000175000001440000015171512275647320023214 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "cShotComposer.h" #include "cTexteFrameComboBox.h" #include "CustomCtrl/cCShapeComboBox.h" #include "cColorComboBox.h" #include "DlgInfoFile/DlgInfoFile.h" #include "DlgText/DlgTextEdit.h" //==================================================================================================================== cShotComposer::cShotComposer(cDiaporamaObject *DiaporamaObject,cApplicationConfig *ApplicationConfig,QWidget *parent):QCustomDialog(ApplicationConfig,parent) { switch (DiaporamaObject->Parent->ImageGeometry) { case GEOMETRY_4_3: DisplayW=1440; DisplayH=1080; break; case GEOMETRY_40_17: DisplayW=1920; DisplayH=816; break; case GEOMETRY_16_9: default: DisplayW=1920; DisplayH=1080; break; } CurrentSlide =DiaporamaObject; ProjectGeometry =DisplayH/DisplayW; ProjectGeometry =GetDoubleValue(QString("%1").arg(ProjectGeometry,0,'e')); // Rounded to same number as style managment TypeWindowState =TypeWindowState_withsplitterpos; CurrentShotNbr =0; CurrentCompoObject =NULL; CurrentCompoObjectNbr =-1; InRefreshControls =false; InSelectionChange =false; BlockSelectMode =SELECTMODE_NONE; NoPrepUndo =false; actionAddImageClipboard =NULL; actionPaste =NULL; } //==================================================================================================================== // Initialise dialog void cShotComposer::DoInitDialog() { Splitter->setCollapsible(0,false); Splitter->setCollapsible(1,false); InteractiveZone->DiaporamaObject =CurrentSlide; InteractiveZone->BlockTable =BlockTable; BlockTable->ApplicationConfig =ApplicationConfig; BlockTable->CurrentSlide =CurrentSlide; if (ShotTable) ShotTable->DiaporamaObject =CurrentSlide; if (GETUI("InheritDownCB")) connect(GETCHECKBOX("InheritDownCB"),SIGNAL(clicked()),this,SLOT(s_BlockSettings_BlockInheritances())); // Block settings : Coordinates if (ApplicationConfig->DisplayUnit==DISPLAYUNIT_PERCENT) { GETDOUBLESPINBOX("PosXEd")->setDecimals(2); GETDOUBLESPINBOX("PosXEd")->setSingleStep(1); GETDOUBLESPINBOX("PosXEd")->setSuffix("%"); GETDOUBLESPINBOX("PosYEd")->setDecimals(2); GETDOUBLESPINBOX("PosYEd")->setSingleStep(1); GETDOUBLESPINBOX("PosYEd")->setSuffix("%"); GETDOUBLESPINBOX("WidthEd")->setDecimals(2); GETDOUBLESPINBOX("WidthEd")->setSingleStep(1); GETDOUBLESPINBOX("WidthEd")->setSuffix("%"); GETDOUBLESPINBOX("HeightEd")->setDecimals(2); GETDOUBLESPINBOX("HeightEd")->setSingleStep(1); GETDOUBLESPINBOX("HeightEd")->setSuffix("%"); } else { // DisplayUnit==DISPLAYUNIT_PIXELS GETDOUBLESPINBOX("PosXEd")->setDecimals(0); GETDOUBLESPINBOX("PosXEd")->setSingleStep(1); GETDOUBLESPINBOX("PosXEd")->setSuffix(""); GETDOUBLESPINBOX("PosYEd")->setDecimals(0); GETDOUBLESPINBOX("PosYEd")->setSingleStep(1); GETDOUBLESPINBOX("PosYEd")->setSuffix(""); GETDOUBLESPINBOX("WidthEd")->setDecimals(0); GETDOUBLESPINBOX("WidthEd")->setSingleStep(1); GETDOUBLESPINBOX("WidthEd")->setSuffix(""); GETDOUBLESPINBOX("HeightEd")->setDecimals(0); GETDOUBLESPINBOX("HeightEd")->setSingleStep(1); GETDOUBLESPINBOX("HeightEd")->setSuffix(""); } connect(GETUI("PosXEd"), SIGNAL(valueChanged(double)),this,SLOT(s_BlockSettings_PosXValue(double))); connect(GETUI("PosYEd"), SIGNAL(valueChanged(double)),this,SLOT(s_BlockSettings_PosYValue(double))); connect(GETUI("WidthEd"), SIGNAL(valueChanged(double)),this,SLOT(s_BlockSettings_PosWidthValue(double))); connect(GETUI("HeightEd"), SIGNAL(valueChanged(double)),this,SLOT(s_BlockSettings_PosHeightValue(double))); // Block settings : Rotations GETSPINBOX("RotateXED")->setRange(-180,180); GETSLIDER("RotateXSLD")->setRange(-180,180); GETSPINBOX("RotateYED")->setRange(-180,180); GETSLIDER("RotateYSLD")->setRange(-180,180); GETSPINBOX("RotateZED")->setRange(-180,180); GETSLIDER("RotateZSLD")->setRange(-180,180); connect(GETUI("RotateXED"),SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_RotateXValue(int))); connect(GETUI("RotateXSLD"),SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_RotateXValue(int))); connect(GETUI("ResetRotateXBT"),SIGNAL(released()),this,SLOT(s_BlockSettings_ResetRotateXValue())); connect(GETUI("RotateYED"),SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_RotateYValue(int))); connect(GETUI("RotateYSLD"),SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_RotateYValue(int))); connect(GETUI("ResetRotateYBT"),SIGNAL(released()),this,SLOT(s_BlockSettings_ResetRotateYValue())); connect(GETUI("RotateZED"),SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_RotateZValue(int))); connect(GETUI("RotateZSLD"),SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_RotateZValue(int))); connect(GETUI("ResetRotateZBT"),SIGNAL(released()),this,SLOT(s_BlockSettings_ResetRotateZValue())); // Init combo box Background form for (int i=0;iaddItem(ShapeFormDefinition.at(i).Name,QVariant(i)); MakeFormIcon(GETCOMBOBOX("BackgroundFormCB")); if (GETCOMBOBOX("ShadowEffectCB")->view()->width()<500) GETCOMBOBOX("ShadowEffectCB")->view()->setFixedWidth(500); // Init combo box Background shadow form GETCOMBOBOX("ShadowEffectCB")->addItem(QApplication::translate("DlgSlideProperties","None")); GETCOMBOBOX("ShadowEffectCB")->addItem(QApplication::translate("DlgSlideProperties","Shadow upper left")); GETCOMBOBOX("ShadowEffectCB")->addItem(QApplication::translate("DlgSlideProperties","Shadow upper right")); GETCOMBOBOX("ShadowEffectCB")->addItem(QApplication::translate("DlgSlideProperties","Shadow bottom left")); GETCOMBOBOX("ShadowEffectCB")->addItem(QApplication::translate("DlgSlideProperties","Shadow bottom right")); GETSPINBOX("ShadowEffectED")->setRange(1,100); // Init combo box external border style GETCOMBOBOX("PenStyleCB")->addItem(""); GETCOMBOBOX("PenStyleCB")->setItemData(GETCOMBOBOX("PenStyleCB")->count()-1,(int)Qt::SolidLine); GETCOMBOBOX("PenStyleCB")->addItem(""); GETCOMBOBOX("PenStyleCB")->setItemData(GETCOMBOBOX("PenStyleCB")->count()-1,(int)Qt::DashLine); GETCOMBOBOX("PenStyleCB")->addItem(""); GETCOMBOBOX("PenStyleCB")->setItemData(GETCOMBOBOX("PenStyleCB")->count()-1,(int)Qt::DotLine); GETCOMBOBOX("PenStyleCB")->addItem(""); GETCOMBOBOX("PenStyleCB")->setItemData(GETCOMBOBOX("PenStyleCB")->count()-1,(int)Qt::DashDotLine); GETCOMBOBOX("PenStyleCB")->addItem(""); GETCOMBOBOX("PenStyleCB")->setItemData(GETCOMBOBOX("PenStyleCB")->count()-1,(int)Qt::DashDotDotLine); MakeBorderStyleIcon(GETCOMBOBOX("PenStyleCB")); // Init shape Borders GETSPINBOX("PenSizeEd")->setMinimum(0); GETSPINBOX("PenSizeEd")->setMaximum(30); // Init combo box Background opacity GETCOMBOBOX("OpacityCB")->addItem("100%"); GETCOMBOBOX("OpacityCB")->addItem(" 75%"); GETCOMBOBOX("OpacityCB")->addItem(" 50%"); GETCOMBOBOX("OpacityCB")->addItem(" 25%"); connect(GETUI("ShapeSizePosCB"), SIGNAL(currentIndexChanged(int)), this,SLOT(s_BlockSettings_ShapeSizePos(int))); connect(GETUI("BackgroundFormCB"), SIGNAL(itemSelectionHaveChanged()), this,SLOT(s_BlockSettings_ShapeBackgroundForm())); connect(GETUI("TextClipArtCB"), SIGNAL(itemSelectionHaveChanged()), this,SLOT(s_BlockSettings_ShapeTextClipArtChIndex())); connect(GETUI("OpacityCB"), SIGNAL(currentIndexChanged(int)), this,SLOT(s_BlockSettings_ShapeOpacity(int))); connect(GETUI("PenStyleCB"), SIGNAL(currentIndexChanged(int)), this,SLOT(s_BlockSettings_ShapePenStyle(int))); connect(GETUI("ShadowEffectCB"), SIGNAL(currentIndexChanged(int)), this,SLOT(s_BlockSettings_ShapeShadowFormValue(int))); connect(GETUI("ShadowEffectED"), SIGNAL(valueChanged(int)), this,SLOT(s_BlockSettings_ShapeShadowDistanceValue(int))); connect(GETUI("PenColorCB"), SIGNAL(currentIndexChanged(int)), this,SLOT(s_BlockSettings_ShapePenColor(int))); connect(GETUI("PenSizeEd"), SIGNAL(valueChanged(int)), this,SLOT(s_BlockSettings_ShapePenSize(int))); connect(GETUI("ShadowColorCB"), SIGNAL(currentIndexChanged(int)), this,SLOT(s_BlockSettings_ShapeShadowColor(int))); connect(GETUI("BlockShapeStyleBT"), SIGNAL(pressed()), this,SLOT(s_BlockSettings_BlockShapeStyleBT())); s_Event_ClipboardChanged(); // Setup clipboard button state connect(QApplication::clipboard(),SIGNAL(dataChanged()),this,SLOT(s_Event_ClipboardChanged())); } //==================================================================================================================== // Utility functions //==================================================================================================================== // Fill background combobox void cShotComposer::MakeFormIcon(QComboBox *UICB) { for (int i=0;icount();i++) { cCompositionObject Object(COMPOSITIONTYPE_BACKGROUND,0,ApplicationConfig,this); Object.x =0; Object.y =0; Object.w =1; Object.h =1; Object.BackgroundForm =UICB->itemData(i).toInt(); Object.Opacity =4; Object.PenSize =1; Object.PenStyle =Qt::SolidLine; Object.PenColor ="#000000"; Object.BackgroundBrush->ColorD ="#FFFFFF"; Object.BackgroundBrush->BrushType=BRUSHTYPE_SOLID; QPixmap Image(UICB->iconSize()); QPainter Painter; Painter.begin(&Image); Painter.fillRect(QRect(0,0,UICB->iconSize().width(),UICB->iconSize().height()),"#ffffff"); Object.DrawCompositionObject(NULL,&Painter,1,UICB->iconSize().width(),UICB->iconSize().height(),true,0,NULL,1,1,NULL,false,0,false); Painter.end(); UICB->setItemIcon(i,QIcon(Image)); } } // Fill border combobox void cShotComposer::MakeBorderStyleIcon(QComboBox *UICB) { for (int i=0;icount();i++) { QPixmap Image(32,32); QPainter Painter; Painter.begin(&Image); Painter.fillRect(QRect(0,0,32,32),"#ffffff"); QPen Pen; Pen.setColor(Qt::black); Pen.setStyle((Qt::PenStyle)UICB->itemData(i).toInt()); Pen.setWidth(2); Painter.setPen(Pen); Painter.setBrush(QBrush(QColor("#ffffff"))); Painter.drawLine(0,16,32,16); Painter.end(); UICB->setItemIcon(i,QIcon(Image)); } } void cShotComposer::ComputeBlockRatio(cCompositionObject *Block,qreal &Ratio_X,qreal &Ratio_Y) { if (!Block) return; QRectF tmpRect=PolygonToRectF(ComputePolygon(Block->BackgroundForm,Block->x*InteractiveZone->DisplayW,Block->y*InteractiveZone->DisplayH,Block->w*InteractiveZone->DisplayW,Block->h*InteractiveZone->DisplayH)); Ratio_X=(Block->w*InteractiveZone->DisplayW)/tmpRect.width(); Ratio_Y=(Block->h*InteractiveZone->DisplayH)/tmpRect.height(); } void cShotComposer::ResetThumbs(bool ResetAllThumbs) { if (ShotTable) for (int i=(ResetAllThumbs?0:CurrentShotNbr);iList.count();i++) { if (i==0) ApplicationConfig->SlideThumbsTable->ClearThumbs(CurrentSlide->ThumbnailKey); ShotTable->RepaintCell(i); } } void cShotComposer::ApplyToContexte(bool ResetAllThumbs) { if (!CurrentCompoObject) return; // Apply to GlobalComposition objects for (int j=0;jObjectComposition.List.count();j++) if (CurrentCompoObject->IndexKey==CurrentSlide->ObjectComposition.List[j]->IndexKey) CurrentCompoObject->CopyBlockProperties(CurrentCompoObject,CurrentSlide->ObjectComposition.List[j]); // Apply to Shots Composition objects for (int i=0;iList.count();i++) for (int j=0;jList[i]->ShotComposition.List.count();j++) if (CurrentCompoObject->IndexKey==CurrentSlide->List[i]->ShotComposition.List[j]->IndexKey) CurrentCompoObject->CopyBlockProperties(CurrentCompoObject,CurrentSlide->List[i]->ShotComposition.List[j]); // Reset thumbs if needed ResetThumbs(ResetAllThumbs); // Reset blocks table RefreshBlockTable(CurrentCompoObjectNbr); // Reset controls RefreshControls(true); } cCompositionObject *cShotComposer::GetGlobalCompositionObject(int IndexKey) { int CurrentBlock=BlockTable->currentRow(); if ((CurrentBlock<0)||(CurrentBlock>=CompositionList->List.count())) return NULL; int i=0; while ((iObjectComposition.List.count())&&(CurrentSlide->ObjectComposition.List[i]->IndexKey!=IndexKey)) i++; if (iObjectComposition.List.count()) return CurrentSlide->ObjectComposition.List[i]; else return NULL; } //==================================================================================================================== void cShotComposer::s_Event_ClipboardChanged() { bool HasImage=(QApplication::clipboard())&&(QApplication::clipboard()->mimeData())&&(QApplication::clipboard()->mimeData()->hasImage()); bool CanPaste=(QApplication::clipboard())&&(QApplication::clipboard()->mimeData())&&(QApplication::clipboard()->mimeData()->hasFormat("ffDiaporama/block")); if (actionAddImageClipboard) actionAddImageClipboard->setEnabled(HasImage); if (actionPaste) actionPaste->setEnabled(CanPaste); } //==================================================================================================================== void cShotComposer::RefreshControls(bool UpdateInteractiveZone) { InRefreshControls=true; QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); if ((BlockSelectMode==SELECTMODE_ONE)&&(CurrentCompoObject)&&(CurrentCompoObject->IsVisible)) { qreal Ratio_X,Ratio_Y; ComputeBlockRatio(CurrentCompoObject,Ratio_X,Ratio_Y); if (GETUI("InheritDownCB")) { GETUI("InheritDownCB")->setEnabled(CurrentShotNbr!=0); if (GETCHECKBOX("InheritDownCB")->isChecked()!=!CurrentCompoObject->BlockInheritance) GETCHECKBOX("InheritDownCB")->setChecked(!CurrentCompoObject->BlockInheritance); } // Position, size and rotation GETUI("PosSize_X")-> setEnabled(true); GETUI("PosSize_Y")-> setEnabled(true); GETUI("PosSize_Width")-> setEnabled(true); GETUI("PosSize_Height")->setEnabled(true); GETDOUBLESPINBOX("PosXEd")-> setEnabled(true); GETDOUBLESPINBOX("PosYEd")-> setEnabled(true); GETDOUBLESPINBOX("WidthEd")-> setEnabled(true); GETDOUBLESPINBOX("HeightEd")-> setEnabled(true); if (ApplicationConfig->DisplayUnit==DISPLAYUNIT_PERCENT) { GETDOUBLESPINBOX("PosXEd")-> setRange(-200,200); GETDOUBLESPINBOX("PosXEd")-> setValue(CurrentCompoObject->x*100/Ratio_X); GETDOUBLESPINBOX("PosYEd")-> setRange(-200,200); GETDOUBLESPINBOX("PosYEd")-> setValue(CurrentCompoObject->y*100/Ratio_Y); GETDOUBLESPINBOX("WidthEd")-> setRange(1,200); GETDOUBLESPINBOX("WidthEd")-> setValue(CurrentCompoObject->w*100/Ratio_X); GETDOUBLESPINBOX("HeightEd")->setRange(1,200); GETDOUBLESPINBOX("HeightEd")->setValue(CurrentCompoObject->h*100/Ratio_Y); } else { // DisplayUnit==DISPLAYUNIT_PIXELS GETDOUBLESPINBOX("PosXEd")-> setRange(-2*InteractiveZone->DisplayW,2*InteractiveZone->DisplayW); GETDOUBLESPINBOX("PosXEd")-> setValue(CurrentCompoObject->x*InteractiveZone->DisplayW/Ratio_X); GETDOUBLESPINBOX("PosYEd")-> setRange(-2*InteractiveZone->DisplayH,2*InteractiveZone->DisplayH); GETDOUBLESPINBOX("PosYEd")-> setValue(CurrentCompoObject->y*InteractiveZone->DisplayH/Ratio_Y); GETDOUBLESPINBOX("WidthEd")-> setRange(3,2*InteractiveZone->DisplayW); GETDOUBLESPINBOX("WidthEd")-> setValue(CurrentCompoObject->w*InteractiveZone->DisplayW/Ratio_X); GETDOUBLESPINBOX("HeightEd")->setRange(3,2*InteractiveZone->DisplayH); GETDOUBLESPINBOX("HeightEd")->setValue(CurrentCompoObject->h*InteractiveZone->DisplayH/Ratio_Y); } // Rotation GETUI("Rotate_X")-> setEnabled(true); GETSPINBOX("RotateXED")-> setEnabled(true); GETUI("ResetRotateXBT")->setEnabled(true); GETSLIDER("RotateXSLD")->setEnabled(true); GETUI("Rotate_Y")-> setEnabled(true); GETSPINBOX("RotateYED")-> setEnabled(true); GETUI("ResetRotateYBT")->setEnabled(true); GETSLIDER("RotateYSLD")->setEnabled(true); GETUI("Rotate_Z")-> setEnabled(true); GETSPINBOX("RotateZED")-> setEnabled(true); GETUI("ResetRotateZBT")->setEnabled(true); GETSLIDER("RotateZSLD")->setEnabled(true); GETSPINBOX("RotateXED")->setValue(CurrentCompoObject->RotateXAxis); GETSLIDER("RotateXSLD")->setValue(CurrentCompoObject->RotateXAxis); GETSPINBOX("RotateYED")->setValue(CurrentCompoObject->RotateYAxis); GETSLIDER("RotateYSLD")->setValue(CurrentCompoObject->RotateYAxis); GETSPINBOX("RotateZED")->setValue(CurrentCompoObject->RotateZAxis); GETSLIDER("RotateZSLD")->setValue(CurrentCompoObject->RotateZAxis); // Shape part GETUI("BlockShapeStyleBT")->setEnabled(true); GETUI("BlockShapeStyleED")->setEnabled(true); GETUI("BackgroundFormCB")->setEnabled(true); GETUI("PenSizeEd")-> setEnabled(true); GETUI("PenColorCB")-> setEnabled(CurrentCompoObject->PenSize!=0); GETUI("PenStyleCB")-> setEnabled(CurrentCompoObject->PenSize!=0); GETUI("OpacityCB")-> setEnabled(true); GETUI("ShadowEffectCB")-> setEnabled(true); GETUI("ShadowEffectED")-> setEnabled(CurrentCompoObject->FormShadow!=0); GETUI("ShadowColorCB")-> setEnabled(CurrentCompoObject->FormShadow!=0); SetCBIndex(GETCOMBOBOX("BackgroundFormCB"),CurrentCompoObject->BackgroundForm); GETSPINBOX("PenSizeEd")-> setValue(int(CurrentCompoObject->PenSize)); GETCOMBOBOX("OpacityCB")-> setCurrentIndex(CurrentCompoObject->Opacity); GETCOMBOBOX("ShadowEffectCB")->setCurrentIndex(CurrentCompoObject->FormShadow); GETSPINBOX("ShadowEffectED")-> setValue(int(CurrentCompoObject->FormShadowDistance)); ((cCColorComboBox *)GETCOMBOBOX("PenColorCB"))-> SetCurrentColor(&CurrentCompoObject->PenColor); ((cCColorComboBox *)GETCOMBOBOX("ShadowColorCB"))-> SetCurrentColor(&CurrentCompoObject->FormShadowColor); for (int i=0;icount();i++) if (GETCOMBOBOX("PenStyleCB")->itemData(i).toInt()==CurrentCompoObject->PenStyle) { if (i!=GETCOMBOBOX("PenStyleCB")->currentIndex()) GETCOMBOBOX("PenStyleCB")->setCurrentIndex(i); break; } } else { if (GETUI("InheritDownCB")) { GETUI("InheritDownCB")->setEnabled(false); GETCHECKBOX("InheritDownCB")->setChecked(false); } // Position, size and rotation GETUI("PosSize_X")-> setEnabled(false); GETUI("PosSize_Y")-> setEnabled(false); GETUI("PosSize_Width")-> setEnabled(false); GETUI("PosSize_Height")-> setEnabled(false); GETDOUBLESPINBOX("PosXEd")-> setEnabled(false); GETDOUBLESPINBOX("PosXEd")-> setValue(0); GETDOUBLESPINBOX("PosYEd")-> setEnabled(false); GETDOUBLESPINBOX("PosYEd")-> setValue(0); GETDOUBLESPINBOX("WidthEd")-> setEnabled(false); GETDOUBLESPINBOX("WidthEd")-> setValue(0); GETDOUBLESPINBOX("WidthEd")->setRange(0,2*InteractiveZone->DisplayW); GETDOUBLESPINBOX("HeightEd")->setEnabled(false); GETDOUBLESPINBOX("HeightEd")->setValue(0); GETDOUBLESPINBOX("HeightEd")->setRange(0,2*InteractiveZone->DisplayH); // Rotation GETUI("Rotate_X")-> setEnabled(false); GETSPINBOX("RotateXED")-> setEnabled(false); GETUI("ResetRotateXBT")->setEnabled(false); GETSLIDER("RotateXSLD")->setEnabled(false); GETUI("Rotate_Y")-> setEnabled(false); GETSPINBOX("RotateYED")-> setEnabled(false); GETUI("ResetRotateYBT")->setEnabled(false); GETSLIDER("RotateYSLD")->setEnabled(false); GETUI("Rotate_Z")-> setEnabled(false); GETSPINBOX("RotateZED")-> setEnabled(false); GETUI("ResetRotateZBT")->setEnabled(false); GETSLIDER("RotateZSLD")->setEnabled(false); GETSPINBOX("RotateXED")->setValue(0); GETSLIDER("RotateXSLD")->setValue(0); GETSPINBOX("RotateYED")->setValue(0); GETSLIDER("RotateYSLD")->setValue(0); GETSPINBOX("RotateZED")->setValue(0); GETSLIDER("RotateZSLD")->setValue(0); // Shape part GETUI("BlockShapeStyleBT")-> setEnabled(false); GETUI("BlockShapeStyleED")-> setEnabled(false); GETUI("BackgroundFormCB")-> setEnabled(false); GETCOMBOBOX("BackgroundFormCB")-> setCurrentIndex(-1); GETUI("PenSizeEd")-> setEnabled(false); GETSPINBOX("PenSizeEd")->setValue(0); GETUI("PenColorCB")-> setEnabled(false); ((cCColorComboBox *)GETCOMBOBOX("PenColorCB"))->SetCurrentColor(NULL); GETUI("PenStyleCB")-> setEnabled(false); GETUI("OpacityCB")-> setEnabled(false); GETCOMBOBOX("OpacityCB")-> setCurrentIndex(-1); GETUI("ShadowEffectCB")-> setEnabled(false); GETCOMBOBOX("ShadowEffectCB")->setCurrentIndex(-1); GETUI("ShadowEffectED")-> setEnabled(false); GETSPINBOX("ShadowEffectED")-> setValue(0); GETUI("ShadowColorCB")-> setEnabled(false); ((cCColorComboBox *)GETCOMBOBOX("ShadowColorCB"))-> SetCurrentColor(NULL); } // Set control visible or hide depending on TextClipArt GETUI("BlockShapeStyleBT")->setVisible(((!CurrentCompoObject)||(CurrentCompoObject->TextClipArtName==""))); GETUI("BlockShapeStyleSpacer")->setVisible(((!CurrentCompoObject)||(CurrentCompoObject->TextClipArtName==""))); GETUI("BlockShapeStyleED")->setVisible(((!CurrentCompoObject)||(CurrentCompoObject->TextClipArtName==""))); GETUI("BackgroundFormCB")->setVisible(((!CurrentCompoObject)||(CurrentCompoObject->TextClipArtName==""))); GETUI("BackgroundFormLabel")->setVisible(((!CurrentCompoObject)||(CurrentCompoObject->TextClipArtName==""))); GETUI("PenSizeEd")->setVisible(((!CurrentCompoObject)||(CurrentCompoObject->TextClipArtName==""))); GETUI("PenColorCB")->setVisible(((!CurrentCompoObject)||(CurrentCompoObject->TextClipArtName==""))); GETUI("PenStyleCB")->setVisible(((!CurrentCompoObject)||(CurrentCompoObject->TextClipArtName==""))); GETUI("PenLabel")->setVisible(((!CurrentCompoObject)||(CurrentCompoObject->TextClipArtName==""))); GETUI("TextClipArtCB")->setVisible((CurrentCompoObject)&&(CurrentCompoObject->TextClipArtName!="")); GETUI("TextClipArtLabel")->setVisible((CurrentCompoObject)&&(CurrentCompoObject->TextClipArtName!="")); if ((CurrentCompoObject)&&(CurrentCompoObject->TextClipArtName!="")) ((cCTexteFrameComboBox *)GETCOMBOBOX("TextClipArtCB"))->SetCurrentTextFrame(CurrentCompoObject->TextClipArtName); InRefreshControls=false; QApplication::restoreOverrideCursor(); // Refresh interactive zone display and shot thumbnail if (UpdateInteractiveZone) InteractiveZone->RefreshDisplay(); else InteractiveZone->repaint(); // else refresh selection only } //==================================================================================================================== void cShotComposer::s_BlockSettings_BlockInheritances() { if (!ISBLOCKVALIDEVISIBLE()) return; if (CurrentShotNbr==0) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,"InheritDownCB",true); CurrentCompoObject->BlockInheritance=!GETCHECKBOX("InheritDownCB")->isChecked(); if (!CurrentCompoObject->BlockInheritance) { // Search this block in previous shot cCompositionObject *SourceCompo=NULL; for (int Block=0;BlockList[CurrentShotNbr-1]->ShotComposition.List.count();Block++) if (CurrentSlide->List[CurrentShotNbr-1]->ShotComposition.List[Block]->IndexKey==CurrentCompoObject->IndexKey) SourceCompo=CurrentSlide->List[CurrentShotNbr-1]->ShotComposition.List[Block]; if ((SourceCompo)&&(CustomMessageBox(this,QMessageBox::Question,QApplication::translate("DlgSlideProperties","Reactivate the inheritance of changes"), QApplication::translate("DlgSlideProperties","Do you want to apply to this block the properties it has in the previous shot?"), QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::Yes)) { bool ContAPPLY=true; int ShotNum=CurrentShotNbr; while ((ContAPPLY)&&(ShotNumList.count())) { for (int Block=0;ContAPPLY && BlockList[CurrentShotNbr]->ShotComposition.List.count();Block++) for (int ToSearch=0;ContAPPLY && ToSearchList[ShotNum]->ShotComposition.List.count();ToSearch++) if (CurrentSlide->List[ShotNum]->ShotComposition.List[ToSearch]->IndexKey==CurrentCompoObject->IndexKey) { cCompositionObject *ShotObject=CurrentSlide->List[ShotNum]->ShotComposition.List[ToSearch]; if (!ShotObject->BlockInheritance) { ShotObject->x =SourceCompo->x; ShotObject->y =SourceCompo->y; ShotObject->w =SourceCompo->w; ShotObject->h =SourceCompo->h; ShotObject->RotateZAxis =SourceCompo->RotateZAxis; ShotObject->RotateXAxis =SourceCompo->RotateXAxis; ShotObject->RotateYAxis =SourceCompo->RotateYAxis; ShotObject->BlockSpeedWave =SourceCompo->BlockSpeedWave; ShotObject->BlockAnimType =SourceCompo->BlockAnimType; ShotObject->TurnZAxis =SourceCompo->TurnZAxis; ShotObject->TurnXAxis =SourceCompo->TurnXAxis; ShotObject->TurnYAxis =SourceCompo->TurnYAxis; ShotObject->Dissolve =SourceCompo->Dissolve; ShotObject->BackgroundBrush->CopyFromBrushDefinition(SourceCompo->BackgroundBrush); } else ContAPPLY=false; } ShotNum++; } } } ApplyToContexte(false); } //==================================================================================================================== // Handler for position, size & rotation controls //==================================================================================================================== //========= X position void cShotComposer::s_BlockSettings_PosXValue(double Value) { if (!ISBLOCKVALIDEVISIBLE()) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,"PosXEd",false); if (ApplicationConfig->DisplayUnit==DISPLAYUNIT_PERCENT) CurrentCompoObject->x=Value/100; // DisplayUnit==DISPLAYUNIT_PERCENT else CurrentCompoObject->x=(Value/InteractiveZone->DisplayW); // DisplayUnit==DISPLAYUNIT_PIXELS // Apply values of previous shot to all shot for this object APPLY1TONEXT(x); ApplyToContexte(false); } //========= Y position void cShotComposer::s_BlockSettings_PosYValue(double Value) { if (!ISBLOCKVALIDEVISIBLE()) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,"PosYEd",false); if (ApplicationConfig->DisplayUnit==DISPLAYUNIT_PERCENT) CurrentCompoObject->y=Value/100; // DisplayUnit==DISPLAYUNIT_PERCENT else CurrentCompoObject->y=(Value/InteractiveZone->DisplayH); // DisplayUnit==DISPLAYUNIT_PIXELS // Apply values of previous shot to all shot for this object APPLY1TONEXT(y); ApplyToContexte(false); } //========= Width void cShotComposer::s_BlockSettings_PosWidthValue(double Value) { if (!ISBLOCKVALIDEVISIBLE()) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,"WidthEd",false); qreal Ratio_X,Ratio_Y; ComputeBlockRatio(CurrentCompoObject,Ratio_X,Ratio_Y); if (ApplicationConfig->DisplayUnit==DISPLAYUNIT_PERCENT) CurrentCompoObject->w=(Value/100)*Ratio_X; else CurrentCompoObject->w=(Value/InteractiveZone->DisplayW)*Ratio_X; if (CurrentCompoObject->BackgroundBrush->LockGeometry) CurrentCompoObject->h=((CurrentCompoObject->w*InteractiveZone->DisplayW)*CurrentCompoObject->BackgroundBrush->AspectRatio)/InteractiveZone->DisplayH; else CurrentCompoObject->BackgroundBrush->AspectRatio=(CurrentCompoObject->h*InteractiveZone->DisplayH)/(CurrentCompoObject->w*InteractiveZone->DisplayW); // Apply values of previous shot to all shot for this object APPLY3TONEXT(w,h,BackgroundBrush->AspectRatio); ApplyToContexte(false); } //========= Height void cShotComposer::s_BlockSettings_PosHeightValue(double Value) { if (!ISBLOCKVALIDEVISIBLE()) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,"HeightEd",false); qreal Ratio_X,Ratio_Y; ComputeBlockRatio(CurrentCompoObject,Ratio_X,Ratio_Y); if (ApplicationConfig->DisplayUnit==DISPLAYUNIT_PERCENT) CurrentCompoObject->h=(Value/100)*Ratio_Y; else CurrentCompoObject->h=(Value/InteractiveZone->DisplayH)*Ratio_Y; if (CurrentCompoObject->BackgroundBrush->LockGeometry) CurrentCompoObject->w=((CurrentCompoObject->h*InteractiveZone->DisplayH)/CurrentCompoObject->BackgroundBrush->AspectRatio)/InteractiveZone->DisplayW; else CurrentCompoObject->BackgroundBrush->AspectRatio=(CurrentCompoObject->h*InteractiveZone->DisplayH)/(CurrentCompoObject->w*InteractiveZone->DisplayW); // Apply values of previous shot to all shot for this object APPLY3TONEXT(w,h,BackgroundBrush->AspectRatio); ApplyToContexte(false); } //========= X Rotation value void cShotComposer::s_BlockSettings_RotateXValue(int Value) { if (!ISBLOCKVALIDEVISIBLE()) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,"RotateXED",false); CurrentCompoObject->RotateXAxis=Value; // Apply values of previous shot to all shot for this object APPLY1TONEXT(RotateXAxis); ApplyToContexte(false); } //========= Y Rotation value void cShotComposer::s_BlockSettings_RotateYValue(int Value) { if (!ISBLOCKVALIDEVISIBLE()) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,"RotateYED",false); CurrentCompoObject->RotateYAxis=Value; // Apply values of previous shot to all shot for this object APPLY1TONEXT(RotateYAxis); ApplyToContexte(false); } //========= Z Rotation value void cShotComposer::s_BlockSettings_RotateZValue(int Value) { if (!ISBLOCKVALIDEVISIBLE()) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,"RotateZED",false); CurrentCompoObject->RotateZAxis=Value; // Apply values of previous shot to all shot for this object APPLY1TONEXT(RotateZAxis); ApplyToContexte(false); } //==================================================================================================================== // Handler for shape //==================================================================================================================== void cShotComposer::s_BlockSettings_BlockShapeStyleBT() { if (!ISBLOCKVALIDEVISIBLE()) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,InteractiveZone,false); QString ActualStyle =CurrentCompoObject->GetBlockShapeStyle(); QString Item =ApplicationConfig->StyleBlockShapeCollection.PopupCollectionMenu(this,ApplicationConfig,ActualStyle); GETBUTTON("BlockShapeStyleBT")->setDown(false); if (Item!="") { CurrentCompoObject->ApplyBlockShapeStyle(ApplicationConfig->StyleBlockShapeCollection.GetStyleDef(Item)); ApplyToContexte(true); } } //========= Text ClipArt void cShotComposer::s_BlockSettings_ShapeTextClipArtChIndex() { if (!ISBLOCKVALIDEVISIBLE()) return; if (CurrentCompoObject->TextClipArtName=="") return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,"TextClipArtCB",false); CurrentCompoObject->TextClipArtName=((cCTexteFrameComboBox *)GETCOMBOBOX("TextClipArtCB"))->GetCurrentTextFrame(); cTextFrameObject *TFO=&TextFrameList.List[TextFrameList.SearchImage(CurrentCompoObject->TextClipArtName)]; CurrentCompoObject->TMx=TFO->TMx; CurrentCompoObject->TMy=TFO->TMy; CurrentCompoObject->TMw=TFO->TMw; CurrentCompoObject->TMh=TFO->TMh; CurrentCompoObject->ApplyTextStyle(TFO->TextStyle); ApplyToContexte(true); } //========= Background forme void cShotComposer::s_BlockSettings_ShapeBackgroundForm() { if (!ISBLOCKVALIDEVISIBLE()) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,"BackgroundFormCB",false); CurrentCompoObject->BackgroundForm=((cCShapeComboBox *)GETCOMBOBOX("BackgroundFormCB"))->GetCurrentFrameShape(); ApplyToContexte(true); } //========= Opacity void cShotComposer::s_BlockSettings_ShapeOpacity(int Style) { if (!ISBLOCKVALIDEVISIBLE()) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,"OpacityCB",false); CurrentCompoObject->Opacity=Style; ApplyToContexte(true); } //========= Border pen size void cShotComposer::s_BlockSettings_ShapePenSize(int) { if (!ISBLOCKVALIDEVISIBLE()) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,"PenSizeEd",false); CurrentCompoObject->PenSize=GETSPINBOX("PenSizeEd")->value(); GETCOMBOBOX("PenColorCB")->setEnabled(CurrentCompoObject->PenSize!=0); GETCOMBOBOX("PenStyleCB")->setEnabled(CurrentCompoObject->PenSize!=0); ApplyToContexte(true); } //========= Border pen style void cShotComposer::s_BlockSettings_ShapePenStyle(int index) { if (!ISBLOCKVALIDEVISIBLE()) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,"PenStyleCB",false); CurrentCompoObject->PenStyle=GETCOMBOBOX("PenStyleCB")->itemData(index).toInt(); ApplyToContexte(true); } //========= Border pen color void cShotComposer::s_BlockSettings_ShapePenColor(int) { if (!ISBLOCKVALIDEVISIBLE()) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,"PenColorCB",false); CurrentCompoObject->PenColor=((cCColorComboBox *)GETCOMBOBOX("PenColorCB"))->GetCurrentColor(); ApplyToContexte(true); } //========= Shape shadow style void cShotComposer::s_BlockSettings_ShapeShadowFormValue(int value) { if (!ISBLOCKVALIDEVISIBLE()) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,"ShadowEffectCB",false); CurrentCompoObject->FormShadow=value; GETSPINBOX("ShadowEffectED")->setEnabled(CurrentCompoObject->FormShadow!=0); GETCOMBOBOX("ShadowColorCB")->setEnabled(CurrentCompoObject->FormShadow!=0); ApplyToContexte(true); } //========= Shape shadow distance void cShotComposer::s_BlockSettings_ShapeShadowDistanceValue(int value) { if (!ISBLOCKVALIDEVISIBLE()) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,"ShadowEffectED",false); CurrentCompoObject->FormShadowDistance =value; ApplyToContexte(true); } //========= shadow color void cShotComposer::s_BlockSettings_ShapeShadowColor(int) { if (!ISBLOCKVALIDEVISIBLE()) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,"ShadowColorCB",false); CurrentCompoObject->FormShadowColor=((cCColorComboBox *)GETCOMBOBOX("ShadowColorCB"))->GetCurrentColor(); ApplyToContexte(true); } //==================================================================================================================== // BLOCK TABLE SETTINGS //==================================================================================================================== //========= Refresh the BlockTable void cShotComposer::RefreshBlockTable(int SetCurrentIndex) { BlockTable->setUpdatesEnabled(false); BlockTable->setRowCount(CompositionList->List.count()); for (int i=0;irowCount();i++) BlockTable->setRowHeight(i,48+2+((((cApplicationConfig *)ApplicationConfig)->TimelineHeight-TIMELINEMINHEIGH)/20+1)*3); BlockTable->setUpdatesEnabled(true); if (BlockTable->currentRow()!=SetCurrentIndex) { BlockTable->clearSelection(); BlockTable->setCurrentCell(SetCurrentIndex,0,QItemSelectionModel::Select|QItemSelectionModel::Current); } else s_BlockTable_SelectionChanged(); if (BlockTable->rowCount()==0) s_BlockTable_SelectionChanged(); InteractiveZone->RefreshDisplay(); } //========= block selection change void cShotComposer::s_BlockTable_SelectionChanged() { if (InSelectionChange) return; QModelIndexList SelList=BlockTable->selectionModel()->selectedIndexes(); IsSelected.clear(); for (int i=0;irowCount();i++) IsSelected.append(false); for (int i=0;iList[CurrentCompoObjectNbr]; } NbrSelected++; } if (NbrSelected==0) BlockSelectMode=SELECTMODE_NONE; else if (NbrSelected==1) BlockSelectMode=SELECTMODE_ONE; else BlockSelectMode=SELECTMODE_MULTIPLE; RefreshControls(false); } //==================================================================================================================== void cShotComposer::s_BlockTable_MoveBlockUp() { s_BlockTable_SelectionChanged(); // Refresh selection if (BlockSelectMode!=SELECTMODE_ONE) return; if (CurrentCompoObjectNbr<1) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,BlockTable,true); CompositionList->List.swap(CurrentCompoObjectNbr,CurrentCompoObjectNbr-1); // Reset thumbs if needed ResetThumbs(false); // Reset blocks table RefreshBlockTable(CurrentCompoObjectNbr-1); } //==================================================================================================================== void cShotComposer::s_BlockTable_MoveBlockDown() { s_BlockTable_SelectionChanged(); // Refresh selection if (BlockSelectMode!=SELECTMODE_ONE) return; if (CurrentCompoObjectNbr>=CompositionList->List.count()-1) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,BlockTable,true); CompositionList->List.swap(CurrentCompoObjectNbr+1,CurrentCompoObjectNbr); // Reset thumbs if needed ResetThumbs(false); // Reset blocks table RefreshBlockTable(CurrentCompoObjectNbr+1); } //==================================================================================================================== void cShotComposer::s_BlockTable_DragMoveBlock(int Src,int Dst) { if (Src>=CompositionList->List.count()) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,BlockTable,true); if (SrcList.insert(Dst,CompositionList->List.takeAt(Src)); // Reset thumbs if needed ResetThumbs(false); // Reset blocks table RefreshBlockTable(Dst); } //******************************************************************************************************************** // BLOCKS ALIGNMENT //******************************************************************************************************************** void cShotComposer::s_BlockTable_AlignTop() { AppendPartialUndo(UNDOACTION_FULL_SLIDE,InteractiveZone,true); for (int i=0;iList[i]->y=InteractiveZone->Sel_Y; CurrentCompoObject=CompositionList->List[i]; APPLY1TONEXT(y); // Apply values of previous shot to all shot for this object } ApplyToContexte(false); } void cShotComposer::s_BlockTable_AlignMiddle() { AppendPartialUndo(UNDOACTION_FULL_SLIDE,InteractiveZone,true); for (int i=0;iList[i]->y=(InteractiveZone->Sel_Y+InteractiveZone->Sel_H/2)-CompositionList->List[i]->h/2; CurrentCompoObject=CompositionList->List[i]; APPLY1TONEXT(y); // Apply values of previous shot to all shot for this object } ApplyToContexte(false); } void cShotComposer::s_BlockTable_AlignBottom() { AppendPartialUndo(UNDOACTION_FULL_SLIDE,InteractiveZone,true); for (int i=0;iList[i]->y=(InteractiveZone->Sel_Y+InteractiveZone->Sel_H)-CompositionList->List[i]->h; CurrentCompoObject=CompositionList->List[i]; APPLY1TONEXT(y); // Apply values of previous shot to all shot for this object } ApplyToContexte(false); } void cShotComposer::s_BlockTable_AlignLeft() { AppendPartialUndo(UNDOACTION_FULL_SLIDE,InteractiveZone,true); for (int i=0;iList[i]->x=InteractiveZone->Sel_X; CurrentCompoObject=CompositionList->List[i]; APPLY1TONEXT(x); // Apply values of previous shot to all shot for this object } ApplyToContexte(false); } void cShotComposer::s_BlockTable_AlignCenter() { AppendPartialUndo(UNDOACTION_FULL_SLIDE,InteractiveZone,true); for (int i=0;iList[i]->x=(InteractiveZone->Sel_X+InteractiveZone->Sel_W/2)-CompositionList->List[i]->w/2; CurrentCompoObject=CompositionList->List[i]; APPLY1TONEXT(x); // Apply values of previous shot to all shot for this object } ApplyToContexte(false); } void cShotComposer::s_BlockTable_AlignRight() { AppendPartialUndo(UNDOACTION_FULL_SLIDE,InteractiveZone,true); for (int i=0;iList[i]->x=(InteractiveZone->Sel_X+InteractiveZone->Sel_W)-CompositionList->List[i]->w; CurrentCompoObject=CompositionList->List[i]; APPLY1TONEXT(x); // Apply values of previous shot to all shot for this object } ApplyToContexte(false); } void cShotComposer::s_BlockTable_DistributeHoriz() { AppendPartialUndo(UNDOACTION_FULL_SLIDE,InteractiveZone,true); // 1st step : compute available space and create list QList List; qreal SpaceW =InteractiveZone->Sel_W; qreal CurrentX =InteractiveZone->Sel_X; for (int i=0;iList[i]->w; List.append(MakeSortBlock(i,CompositionList->List[i]->x)); } SpaceW=SpaceW/qreal(List.count()-1); // 2nd step : sort blocks for (int i=0;iList[j+1].Position) List.swap(j,j+1); // Last step : move blocks for (int i=0;iList[List[i].Index]->x=CurrentX; CurrentX=CurrentX+CompositionList->List[List[i].Index]->w+SpaceW; CurrentCompoObject=CompositionList->List[i]; APPLY1TONEXT(x); // Apply values of previous shot to all shot for this object } ApplyToContexte(false); } void cShotComposer::s_BlockTable_DistributeVert() { AppendPartialUndo(UNDOACTION_FULL_SLIDE,InteractiveZone,true); // 1st step : compute available space and create list QList List; qreal SpaceH =InteractiveZone->Sel_H; qreal CurrentY =InteractiveZone->Sel_Y; for (int i=0;iList[i]->h; List.append(MakeSortBlock(i,CompositionList->List[i]->y)); } SpaceH=SpaceH/qreal(List.count()-1); // 2nd step : sort blocks for (int i=0;iList[j+1].Position) List.swap(j,j+1); // Last step : move blocks for (int i=0;iList[List[i].Index]->y=CurrentY; CurrentY=CurrentY+CompositionList->List[List[i].Index]->h+SpaceH; CurrentCompoObject=CompositionList->List[i]; APPLY1TONEXT(x); // Apply values of previous shot to all shot for this object } ApplyToContexte(false); } //==================================================================================================================== void cShotComposer::s_BlockTable_RemoveBlock() { if (BlockSelectMode==SELECTMODE_ONE) { if ((ApplicationConfig->AskUserToRemove)&&(CustomMessageBox(this,QMessageBox::Question,QApplication::translate("DlgSlideProperties","Remove block"),QApplication::translate("DlgSlideProperties","Are you sure you want to delete this block?"), QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::No)) return; } else if (BlockSelectMode==SELECTMODE_MULTIPLE) { if ((ApplicationConfig->AskUserToRemove)&&(CustomMessageBox(this,QMessageBox::Question,QApplication::translate("DlgSlideProperties","Remove blocks"),QApplication::translate("DlgSlideProperties","Are you sure you want to delete these blocks?"), QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::No)) return; } AppendPartialUndo(UNDOACTION_FULL_SLIDE,BlockTable,true); for (int i=CompositionList->List.count()-1;i>=0;i--) if (IsSelected[i]) { // Get indexkey of block int KeyToDelete=CompositionList->List[i]->IndexKey; // Delete block from all shots of the slide for (int j=0;jList.count();j++) { int k=0; while (kList[j]->ShotComposition.List.count()) { if (CurrentSlide->List[j]->ShotComposition.List[k]->IndexKey==KeyToDelete) delete CurrentSlide->List[j]->ShotComposition.List.takeAt(k); else k++; } } // Delete block from global composition list of the slide int k=0; while (kObjectComposition.List.count()) { if (CurrentSlide->ObjectComposition.List[k]->IndexKey==KeyToDelete) delete CurrentSlide->ObjectComposition.List.takeAt(k); else k++; } } // Reset thumbs if needed ResetThumbs(true); // Reset blocks table RefreshBlockTable(CurrentCompoObjectNbr>=CompositionList->List.count()?CurrentCompoObjectNbr-1:CurrentCompoObjectNbr); // Ensure nothing is selected BlockTable->clearSelection(); } //==================================================================================================================== //========= Open text editor void cShotComposer::s_BlockSettings_TextEditor() { if (!ISBLOCKVALIDEVISIBLE()) return; if (!NoPrepUndo) AppendPartialUndo(UNDOACTION_FULL_SLIDE,InteractiveZone,true); NoPrepUndo=false; InteractiveZone->DisplayMode=cInteractiveZone::DisplayMode_TextMargin; InteractiveZone->RefreshDisplay(); DlgTextEdit Dlg(CurrentSlide->Parent,CurrentCompoObject,ApplicationConfig,&ApplicationConfig->StyleTextCollection,&ApplicationConfig->StyleTextBackgroundCollection,this); Dlg.InitDialog(); connect(&Dlg,SIGNAL(RefreshDisplay()),this,SLOT(s_RefreshSceneImage())); if (Dlg.exec()==0) { InteractiveZone->DisplayMode=cInteractiveZone::DisplayMode_BlockShape; ApplyToContexte(true); } else { InteractiveZone->DisplayMode=cInteractiveZone::DisplayMode_BlockShape; RemoveLastPartialUndo(); RefreshControls(); } } //==================================================================================================================== //========= Open Information dialog void cShotComposer::s_BlockSettings_Information() { if (!ISBLOCKVALIDEVISIBLE()) return; DlgInfoFile Dlg(CurrentCompoObject->BackgroundBrush->MediaObject,ApplicationConfig,this); Dlg.InitDialog(); Dlg.exec(); } //==================================================================================================================== // Handler for interactive zone //==================================================================================================================== void cShotComposer::s_BlockSettings_IntZoneTransformBlocks(qreal Move_X,qreal Move_Y,qreal Scale_X,qreal Scale_Y,qreal RSel_X,qreal RSel_Y,qreal RSel_W,qreal RSel_H) { AppendPartialUndo(UNDOACTION_FULL_SLIDE,InteractiveZone,true); for (int i=0;iList[i]->IsVisible)) { qreal RatioScale_X=(RSel_W+Scale_X)/RSel_W; qreal RatioScale_Y=(RSel_H+Scale_Y)/RSel_H; CompositionList->List[i]->x=RSel_X+Move_X+(CompositionList->List[i]->x-RSel_X)*RatioScale_X; CompositionList->List[i]->y=RSel_Y+Move_Y+(CompositionList->List[i]->y-RSel_Y)*RatioScale_Y; CompositionList->List[i]->w=CompositionList->List[i]->w*RatioScale_X; if (CompositionList->List[i]->w<0.002) CompositionList->List[i]->w=0.002; if (CompositionList->List[i]->BackgroundBrush->LockGeometry) CompositionList->List[i]->h=((CompositionList->List[i]->w*InteractiveZone->DisplayW)*CompositionList->List[i]->BackgroundBrush->AspectRatio)/InteractiveZone->DisplayH; else CompositionList->List[i]->h=CompositionList->List[i]->h*RatioScale_Y; if (CompositionList->List[i]->h<0.002) CompositionList->List[i]->h=0.002; } // Apply values of previous shot to all shot for this object APPLY4TONEXT(x,y,w,h); ApplyToContexte(false); } void cShotComposer::s_BlockSettings_IntZoneDisplayTransformBlocks(qreal Move_X,qreal Move_Y,qreal Scale_X,qreal Scale_Y,qreal RSel_X,qreal RSel_Y,qreal RSel_W,qreal RSel_H) { InRefreshControls=true; int i =CurrentCompoObjectNbr; qreal RatioScale_X=(RSel_W+Scale_X)/RSel_W; qreal RatioScale_Y=(RSel_H+Scale_Y)/RSel_H; QRectF tmpRect =PolygonToRectF(ComputePolygon(CompositionList->List[i]->BackgroundForm, CompositionList->List[i]->x*InteractiveZone->DisplayW,CompositionList->List[i]->y*InteractiveZone->DisplayH, CompositionList->List[i]->w*InteractiveZone->DisplayW,CompositionList->List[i]->h*InteractiveZone->DisplayH)); qreal Ratio_X =(CompositionList->List[i]->x*InteractiveZone->DisplayW)/tmpRect.width(); qreal Ratio_Y =(CompositionList->List[i]->h*InteractiveZone->DisplayH)/tmpRect.height(); qreal x =RSel_X+Move_X+(CompositionList->List[i]->x-RSel_X)*RatioScale_X; qreal y =RSel_Y+Move_Y+(CompositionList->List[i]->y-RSel_Y)*RatioScale_Y; qreal w =CompositionList->List[i]->w*RatioScale_X; if (w<0.002) w=0.002; qreal h =(CompositionList->List[i]->BackgroundBrush->LockGeometry?((w*InteractiveZone->DisplayW)*CompositionList->List[i]->BackgroundBrush->AspectRatio)/InteractiveZone->DisplayH:CompositionList->List[i]->h*RatioScale_Y); if (h<0.002) h=0.002; if (ApplicationConfig->DisplayUnit==DISPLAYUNIT_PERCENT) { GETDOUBLESPINBOX("PosXEd")-> setValue(x*100/Ratio_X); GETDOUBLESPINBOX("PosYEd")-> setValue(y*100/Ratio_Y); GETDOUBLESPINBOX("WidthEd")-> setValue(w*100/Ratio_X); GETDOUBLESPINBOX("HeightEd")->setValue(h*100/Ratio_Y); } else { // DisplayUnit==DISPLAYUNIT_PIXELS GETDOUBLESPINBOX("PosXEd")-> setValue(x*InteractiveZone->DisplayW/Ratio_X); GETDOUBLESPINBOX("PosYEd")-> setValue(y*InteractiveZone->DisplayH/Ratio_Y); GETDOUBLESPINBOX("WidthEd")-> setValue(w*InteractiveZone->DisplayW/Ratio_X); GETDOUBLESPINBOX("HeightEd")->setValue(h*InteractiveZone->DisplayH/Ratio_Y); } InRefreshControls=false; } ffDiaporama/src/ffDiaporama/DlgSlide/cInteractiveZone.h0000777000175000001440000001135112275647320023334 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef CINTERACTIVEZONE_H #define CINTERACTIVEZONE_H #include "cCustomBlockTable.h" #include enum TRANSFOTYPE {NOTYETDEFINED,MOVEBLOCK,RESIZEUPLEFT,RESIZEDOWNLEFT,RESIZEUPRIGHT,RESIZEDOWNRIGHT,RESIZELEFT,RESIZERIGHT,RESIZEUP,RESIZEDOWN}; struct SortBlock { int Index; qreal Position; }; SortBlock MakeSortBlock(int Index,qreal Position); class cInteractiveZone : public QWidget { Q_OBJECT public: struct sDualQReal { qreal Screen; qreal Block; }; enum DISPLAYMODE {DisplayMode_BlockShape,DisplayMode_TextMargin} DisplayMode; double DisplayW,DisplayH; // wanted size int MagneticRuler; // rullers cCustomBlockTable *BlockTable; cDiaporamaObject *DiaporamaObject; int CurrentShotNbr; // Current shot number QImage *BackgroundImage; QImage *ForegroundImage; QRectF SceneRect,ScreenRect; QRectF FullSelRect,CurSelRect,CurSelScreenRect; bool IsCapture; // True if there is an active capture QPoint CapturePos; QList IsSelected; int NbrSelected; bool LockGeometry; // Selection rectangle properties qreal AspectRatio; // Aspect ratio of the (multi)selection rectangle qreal Sel_X,Sel_Y,Sel_W,Sel_H; // Position and size of the current (multi)selection rectangle qreal RSel_X,RSel_Y,RSel_W,RSel_H; // Real position and size of the current (multi)selection rectangle - without shape adjustement // Transformations TRANSFOTYPE TransfoType; qreal Move_X,Move_Y; // Blocks move qreal Scale_X,Scale_Y; // Blocks resize explicit cInteractiveZone(QWidget *parent = 0); ~cInteractiveZone(); void RefreshDisplay(); protected: virtual void paintEvent(QPaintEvent *event); virtual void mouseDoubleClickEvent(QMouseEvent *event); virtual void mouseMoveEvent(QMouseEvent *event); virtual void mousePressEvent(QMouseEvent *event); virtual void mouseReleaseEvent(QMouseEvent *event); virtual void keyPressEvent(QKeyEvent *event); virtual void keyReleaseEvent(QKeyEvent *event); signals: void StartSelectionChange(); void EndSelectionChange(); void RightClickEvent(QMouseEvent *ev); void DoubleClickEvent(QMouseEvent *ev); void TransformBlock(qreal Move_X,qreal Move_Y,qreal Scale_X,qreal Scale_Y,qreal Sel_X,qreal Sel_Y,qreal Sel_W,qreal Sel_H); void DisplayTransformBlock(qreal Move_X,qreal Move_Y,qreal Scale_X,qreal Scale_Y,qreal Sel_X,qreal Sel_Y,qreal Sel_W,qreal Sel_H); public slots: void DifferedEmitRightClickEvent(); void DifferedEmitDoubleClickEvent(); private: sDualQReal PrepDualQReal(qreal Screen,qreal Block); bool IsInRect(QPointF Pos,QRectF Rect); bool IsInSelectedRect(QPointF Pos); void GetForDisplayUnit(double &DisplayW,double &DisplayH); void UpdateIsSelected(); void ManageCursor(QPointF Pos,Qt::KeyboardModifiers Modifiers); void ComputeRulers(QList &MagnetVert,QList &MagnetHoriz); QRectF ComputeNewCurSelRect(); QRectF ComputeNewCurSelScreenRect(); QRectF ApplyModifAndScaleFactors(int Block,QRectF Ref,bool ApplyShape); void DrawSelect(QPainter &Painter,QRectF Rect,bool WithHandles); }; #endif // CINTERACTIVEZONE_H ffDiaporama/src/ffDiaporama/DlgSlide/cInteractiveZone.cpp0000777000175000001440000020010112275647320023660 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "cInteractiveZone.h" #define HANDLESIZEX 8 #define HANDLESIZEY 8 #define HANDLEMAGNETX 14 #define HANDLEMAGNETY 10 #define RULER_HORIZ_SCREENBORDER 0x0001 #define RULER_HORIZ_TVMARGIN 0x0002 #define RULER_HORIZ_SCREENCENTER 0x0004 #define RULER_HORIZ_UNSELECTED 0x0008 #define RULER_VERT_SCREENBORDER 0x0010 #define RULER_VERT_TVMARGIN 0x0020 #define RULER_VERT_SCREENCENTER 0x0040 #define RULER_VERT_UNSELECTED 0x0080 #define MINVALUE 0.002 // Never less than this value for width or height SortBlock MakeSortBlock(int Index,qreal Position) { SortBlock SB; SB.Index=Index; SB.Position=Position; return SB; } //==================================================================================================================== cInteractiveZone::cInteractiveZone(QWidget *parent):QWidget(parent) { ToLog(LOGMSG_DEBUGTRACE,"IN:cInteractiveZone::cInteractiveZone"); BlockTable =NULL; DiaporamaObject =NULL; BackgroundImage =NULL; ForegroundImage =NULL; IsCapture =false; TransfoType =NOTYETDEFINED; setMouseTracking(true); AspectRatio =1; Sel_X =0; Sel_Y =0; Sel_W =0; Sel_H =0; RSel_X =0; RSel_Y =0; RSel_W =0; RSel_H =0; Move_X =0; Move_Y =0; Scale_X =0; Scale_Y =0; CurrentShotNbr =0; DisplayMode =DisplayMode_BlockShape; } //==================================================================================================================== cInteractiveZone::~cInteractiveZone() { ToLog(LOGMSG_DEBUGTRACE,"IN:cInteractiveZone::~cInteractiveZone"); if (BackgroundImage!=NULL) { delete BackgroundImage; BackgroundImage=NULL; } if (ForegroundImage!=NULL) { delete ForegroundImage; ForegroundImage=NULL; } } //==================================================================================================================== void cInteractiveZone::GetForDisplayUnit(double &DisplayW,double &DisplayH) { ToLog(LOGMSG_DEBUGTRACE,"IN:cInteractiveZone::GetForDisplayUnit"); if (DiaporamaObject->Parent->ImageGeometry==GEOMETRY_4_3) { DisplayW=1440; DisplayH=1080; } else if (DiaporamaObject->Parent->ImageGeometry==GEOMETRY_16_9) { DisplayW=1920; DisplayH=1080; } else if (DiaporamaObject->Parent->ImageGeometry==GEOMETRY_40_17) { DisplayW=1920; DisplayH=816; } else { DisplayW=0; DisplayH=0; } } //==================================================================================================================== void cInteractiveZone::DifferedEmitRightClickEvent() { emit RightClickEvent(NULL); } //==================================================================================================================== void cInteractiveZone::DifferedEmitDoubleClickEvent() { emit DoubleClickEvent(NULL); } //==================================================================================================================== QRectF cInteractiveZone::ApplyModifAndScaleFactors(int Block,QRectF Ref,bool ApplyShape) { qreal NewX =BlockTable->CompositionList->List[Block]->x; qreal NewY =BlockTable->CompositionList->List[Block]->y; qreal NewW =BlockTable->CompositionList->List[Block]->w; qreal NewH =BlockTable->CompositionList->List[Block]->h; qreal RatioScale_X =(RSel_W+Scale_X)/RSel_W; qreal RatioScale_Y =(RSel_H+Scale_Y)/RSel_H; QList Pol=ComputePolygon(BlockTable->CompositionList->List[Block]->BackgroundForm,NewX*Ref.width(),NewY*Ref.height(),NewW*Ref.width(),NewH*Ref.height()); QPolygonF PolU(Pol.at(0)); for (int i=1;iCompositionList->List[Block]->IsVisible)&&(IsSelected[Block])) { NewX=RSel_X+Move_X+(NewX-RSel_X)*RatioScale_X; NewY=RSel_Y+Move_Y+(NewY-RSel_Y)*RatioScale_Y; NewW=NewW*RatioScale_X; if (NewW<0.002) NewW=0.002; if (BlockTable->CompositionList->List[Block]->BackgroundBrush->LockGeometry) NewH=((NewW*Ref.width())*BlockTable->CompositionList->List[Block]->BackgroundBrush->AspectRatio)/Ref.height(); else NewH=NewH*RatioScale_Y; if (NewH<0.002) NewH=0.002; if (ApplyShape) { NewX=NewX+Decal_X*RatioScale_X; NewY=NewY+Decal_Y*RatioScale_Y; } } else if (IsSelected[Block]) { NewX=NewX+Decal_X; NewY=NewY+Decal_Y; } if (ApplyShape) { NewW=NewW/Ratio_X; NewH=NewH/Ratio_Y; } return QRectF(NewX*Ref.width(),NewY*Ref.height(),NewW*Ref.width(),NewH*Ref.height()); } //==================================================================================================================== void cInteractiveZone::RefreshDisplay() { ToLog(LOGMSG_DEBUGTRACE,"IN:cInteractiveZone::RefreshDisplay"); if ((!BlockTable)||(!BlockTable->CompositionList)) return; ScreenRect=QRectF(0,0,DisplayW,DisplayH); if (BlockTable->updatesEnabled()) { // Prepare BackgroundImage if not exist if (!BackgroundImage) { QPainter Painter; BackgroundImage=new QImage(DisplayW,DisplayH,QImage::Format_ARGB32_Premultiplied); Painter.begin(BackgroundImage); DiaporamaObject->Parent->PrepareBackground(DiaporamaObject->Parent->GetObjectIndex(DiaporamaObject),DisplayW,DisplayH,&Painter,0,0); Painter.end(); } if (ForegroundImage!=NULL) { delete ForegroundImage; ForegroundImage=NULL; } ForegroundImage =new QImage(BackgroundImage->scaled(QSize(this->width()+2,this->height()+2),Qt::KeepAspectRatio,Qt::SmoothTransformation)); SceneRect =QRect((this->width()+2-ForegroundImage->width())/2,(this->height()+2-ForegroundImage->height())/2,ForegroundImage->width(),ForegroundImage->height()); UpdateIsSelected(); // Draw image of the scene under the background QPainter P; P.begin(ForegroundImage); P.save(); int StartVideoPos=0; for (int i=0;iCompositionList->List.count();i++) if (BlockTable->CompositionList->List[i]->IsVisible) { // If it's a video block, calc video position if ((BlockTable->CompositionList->List[i]->BackgroundBrush->MediaObject)&&(BlockTable->CompositionList->List[i]->BackgroundBrush->MediaObject->ObjectType==OBJECTTYPE_VIDEOFILE)) { StartVideoPos=QTime(0,0,0,0).msecsTo(((cVideoFile *)BlockTable->CompositionList->List[i]->BackgroundBrush->MediaObject)->StartPos); for (int k=0;kList[k]->ShotComposition.List.count();l++) { if (DiaporamaObject->List[k]->ShotComposition.List[l]->IndexKey==BlockTable->CompositionList->List[i]->IndexKey) { if (DiaporamaObject->List[k]->ShotComposition.List[l]->IsVisible) StartVideoPos+=DiaporamaObject->List[k]->StaticDuration; l=DiaporamaObject->List[k]->ShotComposition.List.count(); // stop loop } } } } else StartVideoPos=0; QRectF NewRect=ApplyModifAndScaleFactors(i,SceneRect,false); BlockTable->CompositionList->List[i]->DrawCompositionObject(DiaporamaObject,&P,double(ForegroundImage->height())/double(1080),ForegroundImage->width(),ForegroundImage->height(),true,StartVideoPos, NULL,1,1,NULL,DiaporamaObject->List[CurrentShotNbr]->StaticDuration,false, (IsCapture)&&(TransfoType!=NOTYETDEFINED),NewRect.left()/SceneRect.width(),NewRect.top()/SceneRect.height(),NewRect.width()/SceneRect.width(),NewRect.height()/SceneRect.height(), (DisplayMode==DisplayMode_TextMargin)&&(BlockTable->CompositionList->List[i]->IsVisible)&&(IsSelected[i])); } P.restore(); P.end(); } repaint(); } //==================================================================================================================== void cInteractiveZone::paintEvent(QPaintEvent *) { if (!ForegroundImage) return; QPainter Painter(this); Painter.save(); Painter.translate(SceneRect.left(),SceneRect.top()); Painter.drawImage(-1,-1,*ForegroundImage); //Painter.setCompositionMode(QPainter::RasterOp_SourceXorDestination); Painter.setBrush(Qt::NoBrush); UpdateIsSelected(); int CurSelect=0; if (DisplayMode==DisplayMode_BlockShape) { // Draw blue frame borders when multi-select for (int i=0;iCompositionList->List.count();i++) if ((BlockTable->CompositionList->List[i]->IsVisible)&&(IsSelected[i])) { QRectF FullRect =QRectF(BlockTable->CompositionList->List[i]->x*ScreenRect.width(),BlockTable->CompositionList->List[i]->y*ScreenRect.height(), BlockTable->CompositionList->List[i]->w*ScreenRect.width(),BlockTable->CompositionList->List[i]->h*ScreenRect.height()); QRectF NewRect =ApplyModifAndScaleFactors(i,SceneRect,true); QRectF NewRectScreen=ApplyModifAndScaleFactors(i,ScreenRect,true); if (NbrSelected>1) { QPen pen(Qt::white); pen.setJoinStyle(Qt::RoundJoin); pen.setWidth(1); pen.setStyle(Qt::DashLine); Painter.setPen(pen); DrawSelect(Painter,QRectF(NewRect.left()+1,NewRect.top()+1,NewRect.width(),NewRect.height()),false); pen.setColor(Qt::blue); Painter.setPen(pen); DrawSelect(Painter,NewRect,false); } if (CurSelect==0) { FullSelRect =FullRect; CurSelRect =NewRect; CurSelScreenRect=NewRectScreen; if (!IsCapture) { Sel_X=NewRectScreen.left()/ScreenRect.width(); RSel_X=BlockTable->CompositionList->List[i]->x; Sel_Y=NewRectScreen.top()/ScreenRect.height(); RSel_Y=BlockTable->CompositionList->List[i]->y; Sel_W=NewRectScreen.width()/ScreenRect.width(); RSel_W=BlockTable->CompositionList->List[i]->w; Sel_H=NewRectScreen.height()/ScreenRect.height(); RSel_H=BlockTable->CompositionList->List[i]->h; } } else { if (NewRect.left() CurSelRect.right()) { CurSelRect.setRight(NewRect.right()); CurSelScreenRect.setRight(NewRectScreen.right()); if (!IsCapture) Sel_W=NewRectScreen.left()/ScreenRect.width()+NewRectScreen.width()/ScreenRect.width()-Sel_X; } if (NewRect.bottom()>CurSelRect.bottom()) { CurSelRect.setBottom(NewRect.bottom()); CurSelScreenRect.setBottom(NewRectScreen.bottom()); if (!IsCapture) Sel_H=NewRectScreen.top()/ScreenRect.height()+NewRectScreen.height()/ScreenRect.height()-Sel_Y; } //************ if (FullRect.left() FullSelRect.right()) { FullSelRect.setRight(FullRect.right()); if (!IsCapture) RSel_W=FullRect.left()/ScreenRect.width()+FullRect.width()/ScreenRect.width()-RSel_X; } if (FullRect.bottom()>FullSelRect.bottom()) { FullSelRect.setBottom(FullRect.bottom()); if (!IsCapture) RSel_H=FullRect.top()/ScreenRect.height()+FullRect.height()/ScreenRect.height()-RSel_Y; } } CurSelect++; } if ((!IsCapture)&&(NbrSelected>0)) { if ((CurSelRect.width()==0)||(CurSelRect.height()==0)) { Sel_W=0.02; Sel_H=0.02; CurSelRect.setWidth(2); CurSelScreenRect.setWidth(2); CurSelRect.setHeight(2); CurSelScreenRect.setHeight(2); } if ((FullSelRect.width()==0)||(FullSelRect.height()==0)) { RSel_W=0.02; RSel_H=0.02; FullSelRect.setWidth(2); FullSelRect.setHeight(2); } AspectRatio=double(FullSelRect.height())/double(FullSelRect.width()); } // Draw rullers if they was enabled if (MagneticRuler!=0) { QList MagnetVert; QList MagnetHoriz; ComputeRulers(MagnetVert,MagnetHoriz); // Draw rulers Painter.setCompositionMode(QPainter::RasterOp_SourceXorDestination); QPen Pen1=QPen(QColor(0,255,0)),Pen2=QPen(QColor(0,255,0)); Pen1.setWidth(1); Pen1.setStyle(Qt::DotLine); Pen2.setWidth(1); Pen2.setStyle(Qt::DashDotDotLine); for (int i=0;i0) { QPen pen(Qt::red); pen.setWidth(2); pen.setStyle(Qt::DashLine); Painter.setPen(pen); if (CurSelRect.isValid()) DrawSelect(Painter,CurSelRect,true); } } Painter.restore(); } //==================================================================================================================== void cInteractiveZone::DrawSelect(QPainter &Painter,QRectF Rect,bool WithHandles) { Painter.drawRect(Rect); if (WithHandles) { QPen OldPen=Painter.pen(); QPen pen=OldPen; pen.setStyle(Qt::SolidLine); Painter.setPen(pen); Painter.drawRect(QRectF(Rect.left()-HANDLESIZEX/2, Rect.top()-HANDLESIZEY/2, HANDLESIZEX,HANDLESIZEY)); // Top left Painter.drawRect(QRectF(Rect.left()-HANDLESIZEX/2, Rect.top()+Rect.height()/2-HANDLESIZEY/2, HANDLESIZEX,HANDLESIZEY)); // Left Painter.drawRect(QRectF(Rect.left()-HANDLESIZEX/2, Rect.bottom()-HANDLESIZEY/2, HANDLESIZEX,HANDLESIZEY)); // Bottom left Painter.drawRect(QRectF(Rect.right()-HANDLESIZEX/2,Rect.top()-HANDLESIZEY/2, HANDLESIZEX,HANDLESIZEY)); // Top right Painter.drawRect(QRectF(Rect.right()-HANDLESIZEX/2,Rect.top()+Rect.height()/2-HANDLESIZEY/2, HANDLESIZEX,HANDLESIZEY)); // right Painter.drawRect(QRectF(Rect.right()-HANDLESIZEX/2,Rect.bottom()-HANDLESIZEY/2, HANDLESIZEX,HANDLESIZEY)); // Bottom right Painter.drawRect(QRectF(Rect.left()+Rect.width()/2-HANDLESIZEX/2,Rect.top()-HANDLESIZEY/2, HANDLESIZEX,HANDLESIZEY)); // Top Painter.drawRect(QRectF(Rect.left()+Rect.width()/2-HANDLESIZEX/2,Rect.bottom()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY)); // Bottom Painter.setPen(OldPen); } } //==================================================================================================================== void cInteractiveZone::UpdateIsSelected() { QModelIndexList SelList=BlockTable->selectionModel()->selectedIndexes(); IsSelected.clear(); NbrSelected =0; LockGeometry =false; for (int i=0;irowCount();i++) IsSelected.append(false); for (int i=0;iCompositionList->List[SelList.at(i).row()]->IsVisible; for (int i=0;iCompositionList->List[i]->BackgroundBrush->LockGeometry) LockGeometry=true; } } //==================================================================================================================== bool cInteractiveZone::IsInRect(QPointF Pos,QRectF Rect) { return ((Pos.x()-SceneRect.left()>=Rect.left())&&(Pos.x()-SceneRect.left()<=Rect.right())&&(Pos.y()-SceneRect.top()>=Rect.top())&&(Pos.y()-SceneRect.top()<=Rect.bottom())); } //==================================================================================================================== bool cInteractiveZone::IsInSelectedRect(QPointF Pos) { UpdateIsSelected(); for (int i=0;iCompositionList->List.count();i++) if ((BlockTable->CompositionList->List[i]->IsVisible)&&(IsSelected[i])) { QRectF ObjRect=ApplyModifAndScaleFactors(i,SceneRect,true); if ((Pos.x()-SceneRect.left()>=ObjRect.left())&&(Pos.x()-SceneRect.left()<=ObjRect.right())&&(Pos.y()-SceneRect.top()>=ObjRect.top())&&(Pos.y()-SceneRect.top()<=ObjRect.bottom())) return true; } return false; } //==================================================================================================================== void cInteractiveZone::ManageCursor(QPointF Pos,Qt::KeyboardModifiers Modifiers) { if (IsInRect(Pos,QRect(CurSelRect.left()-HANDLESIZEX/2, CurSelRect.bottom()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY))) setCursor(Qt::SizeBDiagCursor); // Bottom left else if (IsInRect(Pos,QRect(CurSelRect.left()-HANDLESIZEX/2,CurSelRect.top()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY))) setCursor(Qt::SizeFDiagCursor); // Top left else if (IsInRect(Pos,QRect(CurSelRect.left()-HANDLESIZEX/2, CurSelRect.top()+CurSelRect.height()/2-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY))) setCursor(Qt::SizeHorCursor); // Left else if (IsInRect(Pos,QRect(CurSelRect.right()-HANDLESIZEX/2,CurSelRect.top()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY))) setCursor(Qt::SizeBDiagCursor); // Top right else if (IsInRect(Pos,QRect(CurSelRect.right()-HANDLESIZEX/2,CurSelRect.top()+CurSelRect.height()/2-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY))) setCursor(Qt::SizeHorCursor); // Right else if (IsInRect(Pos,QRect(CurSelRect.right()-HANDLESIZEX/2,CurSelRect.bottom()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY))) setCursor(Qt::SizeFDiagCursor); // Bottom right else if (IsInRect(Pos,QRect(CurSelRect.left()+CurSelRect.width()/2-HANDLESIZEX/2,CurSelRect.top()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY))) setCursor(Qt::SizeVerCursor); // Top else if (IsInRect(Pos,QRect(CurSelRect.left()+CurSelRect.width()/2-HANDLESIZEX/2,CurSelRect.bottom()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY))) setCursor(Qt::SizeVerCursor); // Bottom else if (IsInSelectedRect(Pos)) { if (Modifiers==Qt::NoModifier) setCursor(Qt::OpenHandCursor); else if ((Modifiers==Qt::ControlModifier)||(Modifiers==Qt::ShiftModifier)) setCursor(Qt::PointingHandCursor); else if (Modifiers==(Qt::ControlModifier|Qt::ShiftModifier)) setCursor(Qt::CrossCursor); else setCursor(Qt::ArrowCursor); } else setCursor(Qt::ArrowCursor); // standard } //==================================================================================================================== QRectF cInteractiveZone::ComputeNewCurSelRect() { QRectF NewCurSelRect; int CurSelect=0; for (int i=0;iCompositionList->List.count();i++) if ((BlockTable->CompositionList->List[i]->IsVisible)&&(IsSelected[i])) { QRectF NewRect=ApplyModifAndScaleFactors(i,SceneRect,true); if (CurSelect==0) NewCurSelRect=NewRect; else { if (NewRect.left() NewCurSelRect.right()) NewCurSelRect.setRight(NewRect.right()); if (NewRect.bottom()>NewCurSelRect.bottom()) NewCurSelRect.setBottom(NewRect.bottom()); } CurSelect++; } return NewCurSelRect; } QRectF cInteractiveZone::ComputeNewCurSelScreenRect() { QRectF NewCurSelRect; int CurSelect=0; for (int i=0;iCompositionList->List.count();i++) if ((BlockTable->CompositionList->List[i]->IsVisible)&&(IsSelected[i])) { QRectF NewRect=ApplyModifAndScaleFactors(i,ScreenRect,true); if (CurSelect==0) NewCurSelRect=NewRect; else { if (NewRect.left() NewCurSelRect.right()) NewCurSelRect.setRight(NewRect.right()); if (NewRect.bottom()>NewCurSelRect.bottom()) NewCurSelRect.setBottom(NewRect.bottom()); } CurSelect++; } return NewCurSelRect; } //==================================================================================================================== void cInteractiveZone::keyPressEvent(QKeyEvent *event) { ToLog(LOGMSG_DEBUGTRACE,"IN:cInteractiveZone::keyPressEvent"); if ((!BlockTable)||(!BlockTable->CompositionList)) return; ManageCursor(mapFromGlobal(QCursor::pos()),event->modifiers()); if (NbrSelected>0) { double StepX=double(1)/SceneRect.width(); double StepY=double(1)/SceneRect.height(); Move_X =0; Scale_X=0; Move_Y =0; Scale_Y=0; switch (event->key()) { case Qt::Key_Left: if (event->modifiers()==Qt::ShiftModifier) {Move_X =-StepX; Scale_X=StepX; Move_Y=LockGeometry?(AspectRatio*Move_X*SceneRect.width())/SceneRect.height():0; Scale_Y=LockGeometry?(AspectRatio*Scale_X*SceneRect.width())/SceneRect.height():0;} else if (event->modifiers()==Qt::ControlModifier) {Scale_X=-StepX; Scale_Y=LockGeometry?(AspectRatio*Scale_X*SceneRect.width())/SceneRect.height():0; } else Move_X=-StepX; break; case Qt::Key_Right: if (event->modifiers()==Qt::ShiftModifier) {Move_X =StepX; Scale_X=-StepX; Move_Y=LockGeometry?(AspectRatio*Move_X*SceneRect.width())/SceneRect.height():0; Scale_Y=LockGeometry?(AspectRatio*Scale_X*SceneRect.width())/SceneRect.height():0;} else if (event->modifiers()==Qt::ControlModifier) {Scale_X=StepX; Scale_Y=LockGeometry?(AspectRatio*Scale_X*SceneRect.width())/SceneRect.height():0; } else Move_X=StepX; break; case Qt::Key_Up: if (event->modifiers()==Qt::ShiftModifier) {Move_Y =-StepY; Scale_Y=StepY; Move_X=LockGeometry?((Move_Y*SceneRect.height())/AspectRatio)/SceneRect.width():0; Scale_X=LockGeometry?((Scale_Y*SceneRect.height())/AspectRatio)/SceneRect.width():0;} else if (event->modifiers()==Qt::ControlModifier) {Scale_Y=-StepY; Scale_X=LockGeometry?((Scale_Y*SceneRect.height())/AspectRatio)/SceneRect.width():0; } else Move_Y=-StepY; break; case Qt::Key_Down: if (event->modifiers()==Qt::ShiftModifier) {Move_Y =StepY; Scale_Y=-StepY; Move_X=LockGeometry?((Move_Y*SceneRect.height())/AspectRatio)/SceneRect.width():0; Scale_X=LockGeometry?((Scale_Y*SceneRect.height())/AspectRatio)/SceneRect.width():0;} else if (event->modifiers()==Qt::ControlModifier) {Scale_Y=StepY; Scale_X=LockGeometry?((Scale_Y*SceneRect.height())/AspectRatio)/SceneRect.width():0; } else Move_Y=StepY; break; default : QWidget::keyPressEvent(event); break; } if ((Move_X!=0)||(Move_Y!=0)||(Scale_X!=0)||(Scale_Y!=0)) emit TransformBlock(Move_X,Move_Y,Scale_X,Scale_Y,RSel_X,RSel_Y,RSel_W,RSel_H); } else QWidget::keyPressEvent(event); } //==================================================================================================================== void cInteractiveZone::keyReleaseEvent(QKeyEvent *event) { ToLog(LOGMSG_DEBUGTRACE,"IN:cInteractiveZone::keyReleaseEvent"); if ((!BlockTable)||(!BlockTable->CompositionList)) return; ManageCursor(mapFromGlobal(QCursor::pos()),event->modifiers()); QWidget::keyReleaseEvent(event); } //==================================================================================================================== cInteractiveZone::sDualQReal cInteractiveZone::PrepDualQReal(qreal Screen,qreal Block) { sDualQReal Prep; Prep.Screen=Screen; Prep.Block =Block; return Prep; } //==================================================================================================================== void cInteractiveZone::ComputeRulers(QList &MagnetVert,QList &MagnetHoriz) { qreal hEcart=0.005*ScreenRect.width(), vEcart=0.005*ScreenRect.height(); qreal h1=CurSelScreenRect.left(), v1=CurSelScreenRect.top(); qreal h2=CurSelScreenRect.left()+(CurSelScreenRect.width()/2), v2=CurSelScreenRect.top()+(CurSelScreenRect.height()/2); qreal h3=CurSelScreenRect.right(), v3=CurSelScreenRect.bottom(); if ((MagneticRuler&RULER_VERT_SCREENBORDER)!=0) MagnetVert.append(PrepDualQReal(0, 0)); // Left screen if ((MagneticRuler&RULER_VERT_SCREENBORDER)!=0) MagnetVert.append(PrepDualQReal(ScreenRect.width(), SceneRect.width())); // Right screen if ((MagneticRuler&RULER_VERT_TVMARGIN)!=0) MagnetVert.append(PrepDualQReal(ScreenRect.width()*0.05, SceneRect.width()*0.05)); // 5% Left TV Margins if ((MagneticRuler&RULER_VERT_TVMARGIN)!=0) MagnetVert.append(PrepDualQReal(ScreenRect.width()-ScreenRect.width()*0.05, SceneRect.width()-SceneRect.width()*0.05)); // 5% Right TV Margins if ((MagneticRuler&RULER_VERT_SCREENCENTER)!=0) MagnetVert.append(PrepDualQReal(ScreenRect.width()*0.5, SceneRect.width()*0.5)); if ((MagneticRuler&RULER_HORIZ_SCREENBORDER)!=0) MagnetHoriz.append(PrepDualQReal(0, 0)); // Top screen if ((MagneticRuler&RULER_HORIZ_SCREENBORDER)!=0) MagnetHoriz.append(PrepDualQReal(ScreenRect.height(), SceneRect.height())); // Bottom screen if ((MagneticRuler&RULER_HORIZ_TVMARGIN)!=0) MagnetHoriz.append(PrepDualQReal(ScreenRect.height()*0.05, SceneRect.height()*0.05)); // 5% Up TV Margins if ((MagneticRuler&RULER_HORIZ_TVMARGIN)!=0) MagnetHoriz.append(PrepDualQReal(ScreenRect.height()-ScreenRect.height()*0.05, SceneRect.height()-SceneRect.height()*0.05)); // 5% Bottom TV Margins if ((MagneticRuler&RULER_HORIZ_SCREENCENTER)!=0) MagnetHoriz.append(PrepDualQReal(ScreenRect.height()*0.5, SceneRect.height()*0.5)); // Unselected object if (IsCapture) for (int i=BlockTable->CompositionList->List.count()-1;i>=0;i--) if ((!IsSelected[i])&&(BlockTable->CompositionList->List[i]->IsVisible)) { QList PolScene=ComputePolygon( BlockTable->CompositionList->List[i]->BackgroundForm, BlockTable->CompositionList->List[i]->x*SceneRect.width(), BlockTable->CompositionList->List[i]->y*SceneRect.height(), BlockTable->CompositionList->List[i]->w*SceneRect.width(), BlockTable->CompositionList->List[i]->h*SceneRect.height()); QList PolScreen=ComputePolygon(BlockTable->CompositionList->List[i]->BackgroundForm, BlockTable->CompositionList->List[i]->x*ScreenRect.width(), BlockTable->CompositionList->List[i]->y*ScreenRect.height(), BlockTable->CompositionList->List[i]->w*ScreenRect.width(), BlockTable->CompositionList->List[i]->h*ScreenRect.height()); QPolygonF PolSceneU(PolScene.at(0)); for (int j=1;jCompositionList->List[i]->RotateXAxis!=0)||(BlockTable->CompositionList->List[i]->RotateYAxis!=0)||(BlockTable->CompositionList->List[i]->RotateZAxis!=0)) { QTransform Matrix; Matrix.rotate(BlockTable->CompositionList->List[i]->RotateXAxis,Qt::XAxis); Matrix.rotate(BlockTable->CompositionList->List[i]->RotateYAxis,Qt::YAxis); Matrix.rotate(BlockTable->CompositionList->List[i]->RotateZAxis,Qt::ZAxis); QPointF Center=tmpSceneRect.center(); QPainterPath Path; PolSceneU.translate(-Center.x(),-Center.y()); Path.addPolygon(PolSceneU); tmpSceneRect=Path.toFillPolygon(Matrix).boundingRect(); tmpSceneRect.translate(Center); Center=tmpScreenRect.center(); Path =QPainterPath(); PolScreenU.translate(-Center.x(),-Center.y()); Path.addPolygon(PolScreenU); tmpScreenRect=Path.toFillPolygon(Matrix).boundingRect(); tmpScreenRect.translate(Center); } */ qreal x1=tmpScreenRect.left(), y1=tmpScreenRect.top(); qreal x2=tmpScreenRect.center().x(),y2=tmpScreenRect.center().y(); qreal x3=tmpScreenRect.right(), y3=tmpScreenRect.bottom(); if ((MagneticRuler&RULER_VERT_UNSELECTED)!=0) { if (((x1>(h1-hEcart))&&(x1<(h1+hEcart)))||((x1>(h2-hEcart))&&(x1<(h2+hEcart)))||((x1>(h3-hEcart))&&(x1<(h3+hEcart)))) MagnetVert.append(PrepDualQReal(x1,tmpSceneRect.left())); if (((x2>(h1-hEcart))&&(x2<(h1+hEcart)))||((x2>(h2-hEcart))&&(x2<(h2+hEcart)))||((x2>(h3-hEcart))&&(x2<(h3+hEcart)))) MagnetVert.append(PrepDualQReal(x2,tmpSceneRect.center().x())); if (((x3>(h1-hEcart))&&(x3<(h1+hEcart)))||((x3>(h2-hEcart))&&(x3<(h2+hEcart)))||((x3>(h3-hEcart))&&(x3<(h3+hEcart)))) MagnetVert.append(PrepDualQReal(x3,tmpSceneRect.right())); // Add intermediate rulers if exist and block don't rotated if ((ShapeFormDefinition.at(BlockTable->CompositionList->List[i]->BackgroundForm).AdditonnalRulerX.count()>0)&& (BlockTable->CompositionList->List[i]->RotateXAxis==0)&&(BlockTable->CompositionList->List[i]->RotateYAxis==0)&&(BlockTable->CompositionList->List[i]->RotateZAxis==0)) for (int AddR=0;AddRCompositionList->List[i]->BackgroundForm).AdditonnalRulerX.count();AddR++) { double PosXScreen=tmpScreenRect.left()+tmpScreenRect.width()*ShapeFormDefinition.at(BlockTable->CompositionList->List[i]->BackgroundForm).AdditonnalRulerX.at(AddR); double PosXScene =tmpSceneRect.left() +tmpSceneRect.width()* ShapeFormDefinition.at(BlockTable->CompositionList->List[i]->BackgroundForm).AdditonnalRulerX.at(AddR); if (((PosXScreen>(h1-hEcart))&&(PosXScreen<(h1+hEcart)))||((PosXScreen>(h2-hEcart))&&(PosXScreen<(h2+hEcart)))||((PosXScreen>(h3-hEcart))&&(PosXScreen<(h3+hEcart)))) MagnetVert.append(PrepDualQReal(PosXScreen,PosXScene)); } } if ((MagneticRuler&RULER_HORIZ_UNSELECTED)!=0) { if (((y1>(v1-vEcart))&&(y1<(v1+vEcart)))||((y1>(v2-vEcart))&&(y1<(v2+vEcart)))||((y1>(v3-vEcart))&&(y1<(v3+vEcart)))) MagnetHoriz.append(PrepDualQReal(y1,tmpSceneRect.top())); if (((y2>(v1-vEcart))&&(y2<(v1+vEcart)))||((y2>(v2-vEcart))&&(y2<(v2+vEcart)))||((y2>(v3-vEcart))&&(y2<(v3+vEcart)))) MagnetHoriz.append(PrepDualQReal(y2,tmpSceneRect.center().y())); if (((y3>(v1-vEcart))&&(y3<(v1+vEcart)))||((y3>(v2-vEcart))&&(y3<(v2+vEcart)))||((y3>(v3-vEcart))&&(y3<(v3+vEcart)))) MagnetHoriz.append(PrepDualQReal(y3,tmpSceneRect.bottom())); // Add intermediate rulers if exist and block don't rotated if ((ShapeFormDefinition.at(BlockTable->CompositionList->List[i]->BackgroundForm).AdditonnalRulerY.count()>0)&& (BlockTable->CompositionList->List[i]->RotateXAxis==0)&&(BlockTable->CompositionList->List[i]->RotateYAxis==0)&&(BlockTable->CompositionList->List[i]->RotateZAxis==0)) for (int AddR=0;AddRCompositionList->List[i]->BackgroundForm).AdditonnalRulerY.count();AddR++) { double PosYScreen=tmpScreenRect.top()+tmpScreenRect.height()*ShapeFormDefinition.at(BlockTable->CompositionList->List[i]->BackgroundForm).AdditonnalRulerY.at(AddR); double PosYScene =tmpSceneRect.top() +tmpSceneRect.height()* ShapeFormDefinition.at(BlockTable->CompositionList->List[i]->BackgroundForm).AdditonnalRulerY.at(AddR); if (((PosYScreen>(v1-vEcart))&&(PosYScreen<(v1+vEcart)))||((PosYScreen>(v2-vEcart))&&(PosYScreen<(v2+vEcart)))||((PosYScreen>(v3-vEcart))&&(PosYScreen<(v3+vEcart)))) MagnetHoriz.append(PrepDualQReal(PosYScreen,PosYScene)); } } } // Clean collections for (int i=MagnetHoriz.count()-1;i>=0;i--) for (int j=0;j=0;i--) for (int j=0;jCompositionList)) return; if (!IsCapture) { ManageCursor(event->pos(),event->modifiers()); } else { // ************************************************************************* // Create rulers // ************************************************************************* QList MagnetVert; QList MagnetHoriz; ComputeRulers(MagnetVert,MagnetHoriz); // ************************************************************************* // Calc transformation // ************************************************************************* QRectF NewCurSelRect; qreal DX =qreal(event->pos().x()-CapturePos.x())/SceneRect.width(); qreal DY =qreal(event->pos().y()-CapturePos.y())/SceneRect.height(); Move_X =0; Move_Y =0; Scale_X =0; Scale_Y =0; CurSelScreenRect=ComputeNewCurSelScreenRect(); // Top left if (TransfoType==RESIZEUPLEFT) { // Adjust DX and DY for resize not less than 0 if (DX>=Sel_W-MINVALUE) DX=Sel_W-MINVALUE; if (DY>=Sel_H-MINVALUE) DY=Sel_H-MINVALUE; Move_X =DX; Move_Y =LockGeometry?(AspectRatio*Move_X*ScreenRect.width())/ScreenRect.height():DY; Scale_X =-Move_X; Scale_Y =-Move_Y; NewCurSelRect =ComputeNewCurSelRect(); // Apply magnetic rules vertical for (int Ruller=0;Ruller=MagnetVert[Ruller].Block-HANDLEMAGNETX)&&(NewCurSelRect.left()<=MagnetVert[Ruller].Block+HANDLEMAGNETX)) { qreal NewW =CurSelScreenRect.right()-MagnetVert[Ruller].Screen; qreal OldW =CurSelScreenRect.width(); qreal Trans =NewW/OldW; Move_X =-(NewW-OldW+(CurSelScreenRect.left()-FullSelRect.left())*Trans-(CurSelScreenRect.left()-FullSelRect.left()))/ScreenRect.width(); if (LockGeometry) Move_Y=(AspectRatio*Move_X*ScreenRect.width())/ScreenRect.height(); Scale_Y=-Move_Y; Scale_X=-Move_X; break; } // Apply magnetic rules horizontal for (int Ruller=0;Ruller=MagnetHoriz[Ruller].Block-HANDLEMAGNETY)&&(NewCurSelRect.top()<=MagnetHoriz[Ruller].Block+HANDLEMAGNETY)) { qreal NewH =CurSelScreenRect.bottom()-MagnetHoriz[Ruller].Screen; qreal OldH =CurSelScreenRect.height(); qreal Trans =NewH/OldH; Move_Y =-(NewH-OldH+(CurSelScreenRect.top()-FullSelRect.top())*Trans-(CurSelScreenRect.top()-FullSelRect.top()))/ScreenRect.height(); if (LockGeometry) Move_X=(Move_Y*ScreenRect.height()/AspectRatio)/ScreenRect.width(); Scale_Y=-Move_Y; Scale_X=-Move_X; break; } // Left } else if (TransfoType==RESIZELEFT) { // Adjust DX and DY for resize not less than 0 if (DX>=Sel_W-MINVALUE) DX=Sel_W-MINVALUE; if (DY>=Sel_H-MINVALUE) DY=Sel_H-MINVALUE; Move_X =DX; Scale_X=-Move_X; if (LockGeometry) { Scale_Y=(AspectRatio*Scale_X*ScreenRect.width())/ScreenRect.height(); Move_Y =-Scale_Y/2; } NewCurSelRect=ComputeNewCurSelRect(); // Apply magnetic rules vertical for (int Ruller=0;Ruller=MagnetVert[Ruller].Block-HANDLEMAGNETX)&&(NewCurSelRect.left()<=MagnetVert[Ruller].Block+HANDLEMAGNETX)) { qreal NewW =CurSelScreenRect.right()-MagnetVert[Ruller].Screen; qreal OldW =CurSelScreenRect.width(); qreal Trans =NewW/OldW; Move_X =-(NewW-OldW+(CurSelScreenRect.left()-FullSelRect.left())*Trans-(CurSelScreenRect.left()-FullSelRect.left()))/ScreenRect.width(); Scale_X=-Move_X; if (LockGeometry) { Scale_Y=(AspectRatio*Scale_X*ScreenRect.width())/ScreenRect.height(); Move_Y =-Scale_Y/2; } break; } // Bottom left } else if (TransfoType==RESIZEDOWNLEFT) { // Adjust DX and DY for resize not less than 0 if (Sel_W!=0) { if (DX>=Sel_W-MINVALUE) DX=Sel_W-MINVALUE; if (DY<=-(Sel_H-MINVALUE)) DY=-(Sel_H-MINVALUE); } Move_X =DX; Scale_X =-Move_X; Move_Y =0; Scale_Y =LockGeometry?(AspectRatio*Scale_X*ScreenRect.width())/ScreenRect.height():DY; NewCurSelRect=ComputeNewCurSelRect(); // Apply magnetic rules vertical for (int Ruller=0;Ruller=MagnetVert[Ruller].Block-HANDLEMAGNETX)&&(NewCurSelRect.left()<=MagnetVert[Ruller].Block+HANDLEMAGNETX)) { qreal NewW =CurSelScreenRect.right()-MagnetVert[Ruller].Screen; qreal OldW =CurSelScreenRect.width(); qreal Trans =NewW/OldW; Move_X =-(NewW-OldW+(CurSelScreenRect.left()-FullSelRect.left())*Trans-(CurSelScreenRect.left()-FullSelRect.left()))/ScreenRect.width(); Scale_X =-Move_X; if (LockGeometry) Scale_Y=-(AspectRatio*Move_X*ScreenRect.width())/ScreenRect.height(); break; } // Apply magnetic rules horizontal for (int Ruller=0;RullerNewCurSelRect.top())&&(NewCurSelRect.bottom()>=MagnetHoriz[Ruller].Block-HANDLEMAGNETY)&&(NewCurSelRect.bottom()<=MagnetHoriz[Ruller].Block+HANDLEMAGNETY)) { qreal NewH =MagnetHoriz[Ruller].Screen-CurSelScreenRect.top(); qreal OldH =CurSelScreenRect.height(); qreal Trans =NewH/OldH; Scale_Y =(NewH-OldH+(FullSelRect.bottom()-CurSelScreenRect.bottom())*Trans-(FullSelRect.bottom()-CurSelScreenRect.bottom()))/ScreenRect.height(); if (LockGeometry) { Move_X =-(Scale_Y*ScreenRect.height()/AspectRatio)/ScreenRect.width(); Scale_X=-Move_X; } break; } // Top right } else if (TransfoType==RESIZEUPRIGHT) { // Adjust DX and DY for resize not less than 0 if (DX<=-(Sel_W-MINVALUE)) DX=-(Sel_W-MINVALUE); if (DY>=Sel_H-MINVALUE) DY=Sel_H-MINVALUE; Move_X =0; Scale_X =DX; Move_Y =LockGeometry?(-AspectRatio*Scale_X*ScreenRect.width())/ScreenRect.height():DY; Scale_Y =-Move_Y; NewCurSelRect=ComputeNewCurSelRect(); // Apply magnetic rules vertical for (int Ruller=0;RullerNewCurSelRect.left())&&(NewCurSelRect.right()>=MagnetVert[Ruller].Block-HANDLEMAGNETX)&&(NewCurSelRect.right()<=MagnetVert[Ruller].Block+HANDLEMAGNETX)) { qreal NewW =MagnetVert[Ruller].Screen-CurSelScreenRect.left(); qreal OldW =CurSelScreenRect.width(); qreal Trans =NewW/OldW; Scale_X =(NewW-OldW+(FullSelRect.right()-CurSelScreenRect.right())*Trans-(FullSelRect.right()-CurSelScreenRect.right()))/ScreenRect.width(); if (LockGeometry) Move_Y=-(AspectRatio*Scale_X*ScreenRect.width())/ScreenRect.height(); Scale_Y=-Move_Y; break; } // Apply magnetic rules horizontal for (int Ruller=0;Ruller=MagnetHoriz[Ruller].Block-HANDLEMAGNETY)&&(NewCurSelRect.top()<=MagnetHoriz[Ruller].Block+HANDLEMAGNETY)) { qreal NewH =CurSelScreenRect.bottom()-MagnetHoriz[Ruller].Screen; qreal OldH =CurSelScreenRect.height(); qreal Trans =NewH/OldH; Move_Y =-(NewH-OldH+(CurSelScreenRect.top()-FullSelRect.top())*Trans-(CurSelScreenRect.top()-FullSelRect.top()))/ScreenRect.height(); if (LockGeometry) Scale_X=-(Move_Y*ScreenRect.height()/AspectRatio)/ScreenRect.width(); Scale_Y=-Move_Y; break; } // Right } else if (TransfoType==RESIZERIGHT) { // Adjust DX and DY for resize not less than 0 if (DX<=-(Sel_W-MINVALUE)) DX=-(Sel_W-MINVALUE); if (DY<=-(Sel_H-MINVALUE)) DY=-(Sel_H-MINVALUE); Move_X =0; Scale_X=DX; if (LockGeometry) { Scale_Y=(AspectRatio*Scale_X*ScreenRect.width())/ScreenRect.height(); Move_Y =-Scale_Y/2; } NewCurSelRect=ComputeNewCurSelRect(); // Apply magnetic rules vertical for (int Ruller=0;RullerNewCurSelRect.left())&&(NewCurSelRect.right()>=MagnetVert[Ruller].Block-HANDLEMAGNETX)&&(NewCurSelRect.right()<=MagnetVert[Ruller].Block+HANDLEMAGNETX)) { qreal NewW =MagnetVert[Ruller].Screen-CurSelScreenRect.left(); qreal OldW =CurSelScreenRect.width(); qreal Trans =NewW/OldW; Scale_X =(NewW-OldW+(FullSelRect.right()-CurSelScreenRect.right())*Trans-(FullSelRect.right()-CurSelScreenRect.right()))/ScreenRect.width(); if (LockGeometry) { Scale_Y=(AspectRatio*Scale_X*ScreenRect.width())/ScreenRect.height(); Move_Y =-Scale_Y/2; } break; } // Bottom right } else if (TransfoType==RESIZEDOWNRIGHT) { // Adjust DX and DY for resize not less than 0 if (DX<=-(Sel_W-MINVALUE)) DX=-(Sel_W-MINVALUE); if (DY<=-(Sel_H-MINVALUE)) DY=-(Sel_H-MINVALUE); Move_X =0; Scale_X =DX; Move_Y =0; Scale_Y =LockGeometry?(AspectRatio*Scale_X*ScreenRect.width())/ScreenRect.height():DY; NewCurSelRect=ComputeNewCurSelRect(); // Apply magnetic rules vertical for (int Ruller=0;RullerNewCurSelRect.left())&&(NewCurSelRect.right()>=MagnetVert[Ruller].Block-HANDLEMAGNETX)&&(NewCurSelRect.right()<=MagnetVert[Ruller].Block+HANDLEMAGNETX)) { qreal NewW =MagnetVert[Ruller].Screen-CurSelScreenRect.left(); qreal OldW =CurSelScreenRect.width(); qreal Trans =NewW/OldW; Scale_X =(NewW-OldW+(FullSelRect.right()-CurSelScreenRect.right())*Trans-(FullSelRect.right()-CurSelScreenRect.right()))/ScreenRect.width(); if (LockGeometry) Scale_Y=(AspectRatio*Scale_X*ScreenRect.width())/ScreenRect.height(); break; } // Apply magnetic rules horizontal for (int Ruller=0;RullerNewCurSelRect.top())&&(NewCurSelRect.bottom()>=MagnetHoriz[Ruller].Block-HANDLEMAGNETY)&&(NewCurSelRect.bottom()<=MagnetHoriz[Ruller].Block+HANDLEMAGNETY)) { qreal NewH =MagnetHoriz[Ruller].Screen-CurSelScreenRect.top(); qreal OldH =CurSelScreenRect.height(); qreal Trans =NewH/OldH; Scale_Y =(NewH-OldH+(FullSelRect.bottom()-CurSelScreenRect.bottom())*Trans-(FullSelRect.bottom()-CurSelScreenRect.bottom()))/ScreenRect.height(); if (LockGeometry) Scale_X=(Scale_Y*ScreenRect.height()/AspectRatio)/ScreenRect.width(); break; } // Top } else if (TransfoType==RESIZEUP) { // Adjust DX and DY for resize not less than 0 if (DY>=Sel_H-MINVALUE) DY=Sel_H-MINVALUE; Move_Y =DY; Scale_Y=-Move_Y; if (LockGeometry) { Scale_X=(Scale_Y*ScreenRect.height()/AspectRatio)/ScreenRect.width(); Move_X =-Scale_X/2; } NewCurSelRect=ComputeNewCurSelRect(); // Apply magnetic rules horizontal for (int Ruller=0;Ruller=MagnetHoriz[Ruller].Block-HANDLEMAGNETY)&&(NewCurSelRect.top()<=MagnetHoriz[Ruller].Block+HANDLEMAGNETY)) { qreal NewH =CurSelScreenRect.bottom()-MagnetHoriz[Ruller].Screen; qreal OldH =CurSelScreenRect.height(); qreal Trans =NewH/OldH; Move_Y =-(NewH-OldH+(CurSelScreenRect.top()-FullSelRect.top())*Trans-(CurSelScreenRect.top()-FullSelRect.top()))/ScreenRect.height(); Scale_Y=-Move_Y; if (LockGeometry) { Scale_X=(Scale_Y*ScreenRect.height()/AspectRatio)/ScreenRect.width(); Move_X =-Scale_X/2; } break; } // Bottom } else if (TransfoType==RESIZEDOWN) { // Adjust DX and DY for resize not less than 0 if (DY<=-(Sel_H-MINVALUE)) DY=-(Sel_H-MINVALUE); Move_Y =0; Scale_Y=DY; if (LockGeometry) { Scale_X=(Scale_Y*ScreenRect.height()/AspectRatio)/ScreenRect.width(); Move_X =-Scale_X/2; } NewCurSelRect=ComputeNewCurSelRect(); // Apply magnetic rules horizontal for (int Ruller=0;RullerNewCurSelRect.top())&&(NewCurSelRect.bottom()>=MagnetHoriz[Ruller].Block-HANDLEMAGNETY)&&(NewCurSelRect.bottom()<=MagnetHoriz[Ruller].Block+HANDLEMAGNETY)) { qreal NewH =MagnetHoriz[Ruller].Screen-CurSelScreenRect.top(); qreal OldH =CurSelScreenRect.height(); qreal Trans =NewH/OldH; Scale_Y =(NewH-OldH+(FullSelRect.bottom()-CurSelScreenRect.bottom())*Trans-(FullSelRect.bottom()-CurSelScreenRect.bottom()))/ScreenRect.height(); if (LockGeometry) { Scale_X=(Scale_Y*ScreenRect.height()/AspectRatio)/ScreenRect.width(); Move_X =-Scale_X/2; } break; } // Move } else if (TransfoType==MOVEBLOCK) { Move_X =DX; Move_Y =DY; if (MagneticRuler!=0) { QRectF NewCurSelRect=ComputeNewCurSelRect(); // Apply magnetic rules vertical for (int Ruller=0;Ruller=MagnetVert[Ruller].Block-HANDLEMAGNETX)&&(NewCurSelRect.left() <=MagnetVert[Ruller].Block+HANDLEMAGNETX)) { Move_X=qreal(MagnetVert[Ruller].Screen-CurSelScreenRect.left() )/ScreenRect.width(); break; } else if ((NewCurSelRect.right() >=MagnetVert[Ruller].Block-HANDLEMAGNETX)&&(NewCurSelRect.right() <=MagnetVert[Ruller].Block+HANDLEMAGNETX)) { Move_X=qreal(MagnetVert[Ruller].Screen-CurSelScreenRect.right() )/ScreenRect.width(); break; } else if ((NewCurSelRect.center().x()>=MagnetVert[Ruller].Block-HANDLEMAGNETX)&&(NewCurSelRect.center().x() <=MagnetVert[Ruller].Block+HANDLEMAGNETX)) { Move_X=qreal(MagnetVert[Ruller].Screen-CurSelScreenRect.center().x())/ScreenRect.width(); break; } } // Apply magnetic rules horizontal for (int Ruller=0;Ruller=MagnetHoriz[Ruller].Block-HANDLEMAGNETY)&&(NewCurSelRect.top() <=MagnetHoriz[Ruller].Block+HANDLEMAGNETY)) { Move_Y=qreal(MagnetHoriz[Ruller].Screen-CurSelScreenRect.top() )/ScreenRect.height(); break; } else if ((NewCurSelRect.bottom() >=MagnetHoriz[Ruller].Block-HANDLEMAGNETY)&&(NewCurSelRect.bottom() <=MagnetHoriz[Ruller].Block+HANDLEMAGNETY)) { Move_Y=qreal(MagnetHoriz[Ruller].Screen-CurSelScreenRect.bottom() )/ScreenRect.height(); break; } else if ((NewCurSelRect.center().y()>=MagnetHoriz[Ruller].Block-HANDLEMAGNETY)&&(NewCurSelRect.center().y()<=MagnetHoriz[Ruller].Block+HANDLEMAGNETY)) { Move_Y=qreal(MagnetHoriz[Ruller].Screen-CurSelScreenRect.center().y())/ScreenRect.height(); break; } } } } RefreshDisplay(); if (NbrSelected==1) emit DisplayTransformBlock(Move_X,Move_Y,Scale_X,Scale_Y,RSel_X,RSel_Y,RSel_W,RSel_H); } } //==================================================================================================================== void cInteractiveZone::mouseDoubleClickEvent(QMouseEvent *event) { ToLog(LOGMSG_DEBUGTRACE,"IN:cInteractiveZone::mouseDoubleClickEvent"); if ((!BlockTable)||(!BlockTable->CompositionList)) return; if (event->button()==Qt::LeftButton) { if (!((NbrSelected==1)&&(IsInSelectedRect(event->pos())))) { if (NbrSelected>=0) BlockTable->clearSelection(); // Try to select another block int i=BlockTable->CompositionList->List.count()-1; while (i>=0) { if (BlockTable->CompositionList->List[i]->IsVisible) { QRect ObjRect=QRect(BlockTable->CompositionList->List[i]->x*SceneRect.width(),BlockTable->CompositionList->List[i]->y*SceneRect.height(), BlockTable->CompositionList->List[i]->w*SceneRect.width(),BlockTable->CompositionList->List[i]->h*SceneRect.height()); if (IsInRect(event->pos(),ObjRect)) { BlockTable->clearSelection(); BlockTable->setCurrentCell(i,0,QItemSelectionModel::Current|QItemSelectionModel::Select); break; } } i--; } UpdateIsSelected(); } if ((NbrSelected==1)&&(IsInSelectedRect(event->pos()))) QTimer::singleShot(250,this,SLOT(DifferedEmitDoubleClickEvent())); // Append " emit DoubleClickEvent" to the message queue } } //==================================================================================================================== void cInteractiveZone::mousePressEvent(QMouseEvent *event) { ToLog(LOGMSG_DEBUGTRACE,"IN:cInteractiveZone::mousePressEvent"); if ((!BlockTable)||(!BlockTable->CompositionList)) return; ManageCursor(event->pos(),event->modifiers()); emit StartSelectionChange(); setFocus(); if (event->button()==Qt::RightButton) { // Reset selection if no block or only one is selected if ((!((NbrSelected>0)&&(IsInSelectedRect(event->pos()))))&&(NbrSelected<2)) { BlockTable->clearSelection(); // Try to select another block int i=BlockTable->CompositionList->List.count()-1; while (i>=0) { if (BlockTable->CompositionList->List[i]->IsVisible) { QRectF ObjRect=ApplyModifAndScaleFactors(i,SceneRect,true); if (IsInRect(event->pos(),ObjRect)) { BlockTable->clearSelection(); BlockTable->setCurrentCell(i,0,QItemSelectionModel::Current|QItemSelectionModel::Select); break; } } i--; } UpdateIsSelected(); } QTimer::singleShot(250,this,SLOT(DifferedEmitRightClickEvent())); // Append " emit RightClickEvent" to the message queue } if (event->button()==Qt::LeftButton) { TransfoType=NOTYETDEFINED; if ((event->modifiers()==Qt::ControlModifier)||(event->modifiers()==Qt::ShiftModifier)) { // Try to toggle block to a multi block selection (one click to add, new click to remove) int i=BlockTable->CompositionList->List.count()-1; while (i>=0) { if (BlockTable->CompositionList->List[i]->IsVisible) { QRectF ObjRect=ApplyModifAndScaleFactors(i,SceneRect,true); if (IsInRect(event->pos(),ObjRect)) { IsSelected[i]=!IsSelected[i]; break; } } i--; } int FirstSelected=-1; for (i=0;iCompositionList->List.count();i++) if (IsSelected[i]) { FirstSelected=i; break; } BlockTable->clearSelection(); if (FirstSelected==-1) { BlockTable->setCurrentCell(i,0,QItemSelectionModel::Current|QItemSelectionModel::Deselect); } else { BlockTable->setCurrentCell(i,0,QItemSelectionModel::Current|QItemSelectionModel::Select); for (i=0;iCompositionList->List.count();i++) if ((IsSelected[i])&&(i!=FirstSelected)) BlockTable->setCurrentCell(i,0,QItemSelectionModel::Select); } } else if (event->modifiers()==(Qt::ShiftModifier|Qt::ControlModifier)) { // Try to select a block under current selected block if (NbrSelected==1) { int i=IsSelected.count()-1; while ((i>=0)&&(!IsSelected[i])) i--; // Find current selected block for (int j=i-1;j>=0;j--) if (BlockTable->CompositionList->List[j]->IsVisible) { QRectF ObjRect=ApplyModifAndScaleFactors(i,SceneRect,true); if (IsInRect(event->pos(),ObjRect)) { BlockTable->clearSelection(); BlockTable->setCurrentCell(j,0,QItemSelectionModel::Current|QItemSelectionModel::Select); break; } } } } else if (event->modifiers()==Qt::NoModifier) { // Resize if ((NbrSelected>0)&&(IsInRect(event->pos(),QRect(CurSelRect.left()-HANDLESIZEX/2, CurSelRect.bottom()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY)))) TransfoType=RESIZEDOWNLEFT; // Bottom left else if ((NbrSelected>0)&&(IsInRect(event->pos(),QRect(CurSelRect.left()-HANDLESIZEX/2,CurSelRect.top()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY)))) TransfoType=RESIZEUPLEFT; // Top left else if ((NbrSelected>0)&&(IsInRect(event->pos(),QRect(CurSelRect.left()-HANDLESIZEX/2, CurSelRect.top()+CurSelRect.height()/2-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY)))) TransfoType=RESIZELEFT; // Left else if ((NbrSelected>0)&&(IsInRect(event->pos(),QRect(CurSelRect.right()-HANDLESIZEX/2,CurSelRect.top()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY)))) TransfoType=RESIZEUPRIGHT; // Top right else if ((NbrSelected>0)&&(IsInRect(event->pos(),QRect(CurSelRect.right()-HANDLESIZEX/2,CurSelRect.top()+CurSelRect.height()/2-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY)))) TransfoType=RESIZERIGHT; // Right else if ((NbrSelected>0)&&(IsInRect(event->pos(),QRect(CurSelRect.right()-HANDLESIZEX/2,CurSelRect.bottom()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY)))) TransfoType=RESIZEDOWNRIGHT;// Bottom right else if ((NbrSelected>0)&&(IsInRect(event->pos(),QRect(CurSelRect.left()+CurSelRect.width()/2-HANDLESIZEX/2,CurSelRect.top()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY)))) TransfoType=RESIZEUP; // Top else if ((NbrSelected>0)&&(IsInRect(event->pos(),QRect(CurSelRect.left()+CurSelRect.width()/2-HANDLESIZEX/2,CurSelRect.bottom()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY)))) TransfoType=RESIZEDOWN; // Bottom else { // Move if ((NbrSelected==0)||(!IsInSelectedRect(event->pos()))) { // Replace current selection BlockTable->clearSelection(); int i=BlockTable->CompositionList->List.count()-1; while (i>=0) { if (BlockTable->CompositionList->List[i]->IsVisible) { QRectF ObjRect=ApplyModifAndScaleFactors(i,SceneRect,true); if (IsInRect(event->pos(),ObjRect)) { BlockTable->clearSelection(); BlockTable->setCurrentCell(i,0,QItemSelectionModel::Current|QItemSelectionModel::Select); break; } } i--; } } else if (IsInSelectedRect(event->pos())) { TransfoType=MOVEBLOCK; setCursor(Qt::ClosedHandCursor); } } if (TransfoType!=NOTYETDEFINED) { IsCapture=true; CapturePos=event->pos(); Move_X =0; Move_Y =0; Scale_X=0; Scale_Y=0; } } } emit EndSelectionChange(); } //==================================================================================================================== void cInteractiveZone::mouseReleaseEvent(QMouseEvent *event) { ToLog(LOGMSG_DEBUGTRACE,"IN:cInteractiveZone::mouseReleaseEvent"); if ((!BlockTable)||(!BlockTable->CompositionList)||(!IsCapture)) return; IsCapture=false; // Block move if (((Move_X!=0)||(Move_Y!=0)||(Scale_X!=0)||(Scale_Y!=0))) emit TransformBlock(Move_X,Move_Y,Scale_X,Scale_Y,RSel_X,RSel_Y,RSel_W,RSel_H); ManageCursor(event->pos(),event->modifiers()); } ffDiaporama/src/ffDiaporama/DlgSlide/cCustomShotTable.h0000777000175000001440000000372012275647320023304 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef CCUSTOMSHOTTABLE_H #define CCUSTOMSHOTTABLE_H // Basic inclusions (common to all files) #include "CustomCtrl/_QCustomDialog.h" #include "engine/_Diaporama.h" class cCustomShotTable : public QTableWidget { Q_OBJECT public: int DragItemSource; int DragItemDest; int IsDragOn; // DragOff=0, DragInternal=0 or DragExternal=0 cDiaporamaObject *DiaporamaObject; explicit cCustomShotTable(QWidget *parent = 0); int CurrentSelected(); int NbrItem(); void SetCurrentCell(int Index); void RepaintCell(int Index); protected: virtual void mousePressEvent(QMouseEvent *event); virtual void mouseReleaseEvent(QMouseEvent *event); virtual void mouseMoveEvent(QMouseEvent *event); private slots: signals: void DragMoveItem(); void RightClickEvent(QMouseEvent *ev); }; #endif // CCUSTOMSHOTTABLE_H ffDiaporama/src/ffDiaporama/DlgSlide/cCustomShotTable.cpp0000777000175000001440000002700712275647320023643 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "cCustomShotTable.h" #include #include #include #include //******************************************************************************************************************************** // cShotTableItemDelegate : Item delegate for block table //******************************************************************************************************************************** class cShotTableItemDelegate : public QStyledItemDelegate { //Q_OBJECT public: cCustomShotTable *ParentTable; explicit cShotTableItemDelegate(QObject *parent); virtual void paint(QPainter *painter,const QStyleOptionViewItem &option,const QModelIndex &index) const; }; //======================================================================================================================== cShotTableItemDelegate::cShotTableItemDelegate(QObject *parent):QStyledItemDelegate(parent) { ParentTable=(cCustomShotTable *)parent; } //======================================================================================================================== void cShotTableItemDelegate::paint(QPainter *Painter,const QStyleOptionViewItem &option,const QModelIndex &index) const { int Height=ParentTable->rowHeight(0); int Width =ParentTable->columnWidth(0); if (ParentTable->DiaporamaObject==NULL) return; QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); QImage TempImg(Width,Height,QImage::Format_ARGB32_Premultiplied); QPainter TempPainter; TempPainter.begin(&TempImg); // Fill background TempPainter.fillRect(QRectF(0,0,Width,Height),Transparent); int CurCol =index.column(); int64_t Duration=0; bool RedColor=false; int64_t Position=0; if ((CurCol>=0)&&(CurColDiaporamaObject->List.count())) { // Calc start position of this shot for (int i=1;i<=CurCol;i++) Position=Position+ParentTable->DiaporamaObject->List[i-1]->StaticDuration; // Calc duration of this shot Duration=ParentTable->DiaporamaObject->List[CurCol]->StaticDuration; // Define display color of duration (Red only if shot is the last and Position+Duration < DiaporamaObject's duration RedColor=((CurCol==ParentTable->DiaporamaObject->List.count()-1)&&(Position+DurationDiaporamaObject->GetDuration())); if (RedColor) Duration=ParentTable->DiaporamaObject->GetDuration()-Position; // draw shot /*if (ParentTable->DiaporamaObject->Thumbnail) { delete ParentTable->DiaporamaObject->Thumbnail; ParentTable->DiaporamaObject->Thumbnail=NULL; }*/ ParentTable->DiaporamaObject->DrawThumbnail(Width,Height,&TempPainter,0,0,CurCol); } // Draw selected box (if needed) if (CurCol==ParentTable->currentColumn()) { QPen Pen; Pen.setColor(Qt::blue); Pen.setWidth(6); TempPainter.setPen(Pen); TempPainter.setBrush(Qt::NoBrush); TempPainter.drawRect(3,3,Width-1-6,Height-1-6); } // Draw Drag & Drop inserting point (if needed) if ((ParentTable->IsDragOn==1)&&(CurCol!=ParentTable->DragItemSource)&&((CurCol==ParentTable->DragItemDest)||((CurCol==ParentTable->DragItemDest-1)&&(ParentTable->DragItemDest==ParentTable->DiaporamaObject->List.count())))) { TempPainter.save(); QPen Pen; Pen.setColor(Qt::red); Pen.setStyle(Qt::SolidLine); Pen.setWidth(6); TempPainter.setPen(Pen); TempPainter.setBrush(Qt::NoBrush); //QBrush(QColor(WidgetSelection_Color))); TempPainter.setOpacity(0.5); TempPainter.setOpacity(0.5); if (CurCol==ParentTable->DragItemDest) TempPainter.drawLine(3, 0,3, Height); else TempPainter.drawLine(Width-3,0,Width-3,Height); TempPainter.setOpacity(1); TempPainter.restore(); } // -------------------------- Draw shot duration QPen Pen; QFont font= QApplication::font(); int FontFactor=((ParentTable->DiaporamaObject->Parent->ApplicationConfig->TimelineHeight-TIMELINEMINHEIGH)/20)*10; TempPainter.setFont(font); #ifdef Q_OS_WIN font.setPointSizeF(double(110+FontFactor)/double(TempPainter.fontMetrics().boundingRect("0").height())); // Scale font #else font.setPointSizeF((double(140+FontFactor)/double(TempPainter.fontMetrics().boundingRect("0").height()))*ScreenFontAdjust);// Scale font #endif TempPainter.setFont(font); Pen.setWidth(1); Pen.setStyle(Qt::SolidLine); QString ShotDuration=QTime(0,0,0,0).addMSecs(Duration).toString("hh:mm:ss.zzz"); Pen.setColor(Qt::black); TempPainter.setPen(Pen); TempPainter.drawText(QRectF(6+1,6+1,Width-12,Height-12),ShotDuration,Qt::AlignHCenter|Qt::AlignTop); Pen.setColor(RedColor?Qt::red:Qt::white); TempPainter.setPen(Pen); TempPainter.drawText(QRectF(6,6,Width-12,Height-12),ShotDuration,Qt::AlignHCenter|Qt::AlignTop); // -------------------------- Draw shot position ShotDuration=QTime(0,0,0,0).addMSecs(Position+Duration).toString("hh:mm:ss.zzz"); Pen.setColor(Qt::black); TempPainter.setPen(Pen); TempPainter.drawText(QRectF(6+1,6+1,Width-12,Height-12),ShotDuration,Qt::AlignRight|Qt::AlignBottom); Pen.setColor(RedColor?Qt::red:Qt::white); TempPainter.setPen(Pen); TempPainter.drawText(QRectF(6,6,Width-12,Height-12),ShotDuration,Qt::AlignRight|Qt::AlignBottom); TempPainter.end(); Painter->drawImage(option.rect.x(),option.rect.y(),TempImg); QApplication::restoreOverrideCursor(); } //******************************************************************************************************************************** // cCustomShotTable : block table //******************************************************************************************************************************** cCustomShotTable::cCustomShotTable(QWidget *parent):QTableWidget(parent) { DragItemSource =-1; DragItemDest =-1; IsDragOn =0; DiaporamaObject =NULL; #if QT_VERSION >= 0x050000 horizontalHeader()->setSectionResizeMode(QHeaderView::Fixed); verticalHeader()->setSectionResizeMode(QHeaderView::Fixed); #else horizontalHeader()->setResizeMode(QHeaderView::Fixed); verticalHeader()->setResizeMode(QHeaderView::Fixed); #endif setSelectionBehavior(QAbstractItemView::SelectItems); setSelectionMode(QAbstractItemView::SingleSelection); setDragDropOverwriteMode(false); setAcceptDrops(false); setDropIndicatorShown(false); setItemDelegate(new cShotTableItemDelegate(this)); setRowCount(1); setContextMenuPolicy(Qt::PreventContextMenu); } //==================================================================================================================== void cCustomShotTable::mousePressEvent(QMouseEvent *event) { QTableWidget::mousePressEvent(event); if ((IsDragOn==1)||(columnCount()==0)||(DiaporamaObject==NULL)) return; setCursor(Qt::ArrowCursor); IsDragOn=0; // Get item number under mouse int ThumbWidth =columnWidth(0); int Selected =(event->pos().x()+horizontalOffset())/ThumbWidth; if ((Selected>=0)&&(SelectedrowCount()) NbrY=rowCount(); int ToUse =DragItemDest; if (DragItemDest==columnCount()) ToUse--; // Try to scroll left if ((event->pos().x()<0)&&(horizontalScrollBar()->value()>0)) horizontalScrollBar()->setValue(horizontalScrollBar()->value()-1); // Try to scroll right else if ((event->pos().x()>=NbrX*ThumbWidth)&&(horizontalScrollBar()->value()maximum())) horizontalScrollBar()->setValue(horizontalScrollBar()->value()+1); else { // Get item number under mouse int Selected=(event->pos().x()+horizontalOffset())/ThumbWidth; if ((Selected>NbrItem())||(Selected==DragItemSource)||((Selected==DragItemSource+1)&&(Selected!=NbrItem()))) { DragItemDest=-1; setCursor(Qt::ForbiddenCursor); } else { setCursor(Qt::ClosedHandCursor); DragItemDest=Selected; } } // Force a repaint setUpdatesEnabled(false); setUpdatesEnabled(true); } } void cCustomShotTable::mouseReleaseEvent(QMouseEvent *event) { setCursor(Qt::ArrowCursor); if (event->button()==Qt::RightButton) { emit RightClickEvent(event); } else if (IsDragOn!=1) { QTableWidget::mouseReleaseEvent(event); } else { if ((columnCount()==0)||(DiaporamaObject==NULL)) return; IsDragOn=false; if ((DragItemDest!=-1)&&(DragItemDest!=DragItemSource)&& ((DragItemDest=columnCount())) return; setCurrentCell(0,Index,QItemSelectionModel::Select|QItemSelectionModel::Current); } //==================================================================================================================== void cCustomShotTable::RepaintCell(int Index) { if ((Index<0)||(Index>=columnCount())) return; update(model()->index(0,Index)); } ffDiaporama/src/ffDiaporama/DlgSlide/cCustomBlockTable.h0000777000175000001440000000500512275647320023417 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef CCUSTOMBLOCKTABLE_H #define CCUSTOMBLOCKTABLE_H // Basic inclusions (common to all files) #include "CustomCtrl/_QCustomDialog.h" #include "engine/_Diaporama.h" class cCustomBlockTable : public QTableWidget { Q_OBJECT public: cApplicationConfig *ApplicationConfig; cCompositionList *CompositionList; // Link to Composition List cDiaporamaObject *CurrentSlide; qreal ProjectGeometry; QImage TextIcon; int CurrentShotNbr; int DragItemSource; int DragItemDest; int IsDragOn; explicit cCustomBlockTable(QWidget *parent = 0); protected: virtual void resizeEvent(QResizeEvent *); virtual void mouseDoubleClickEvent(QMouseEvent *); virtual void mousePressEvent(QMouseEvent *); virtual void mouseMoveEvent(QMouseEvent *); virtual void mouseReleaseEvent(QMouseEvent *); virtual void dragEnterEvent(QDragEnterEvent *event); virtual void dragMoveEvent(QDragMoveEvent *event); virtual void dropEvent(QDropEvent *event); signals: void DoubleClickEvent(QMouseEvent *ev); void RightClickEvent(QMouseEvent *ev); void DragMoveBlock(int,int); void DragDropFiles(QList); public slots: }; #endif // CCUSTOMBLOCKTABLE_H ffDiaporama/src/ffDiaporama/DlgSlide/cCustomBlockTable.cpp0000777000175000001440000005234512275647317023771 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "cCustomBlockTable.h" #include #include #include #include #include "cTextFrame.h" #define ICON_VISIBLE_OK ":/img/Visible_OK.png" #define ICON_VISIBLE_KO ":/img/Visible_KO.png" #define ICON_SOUND_OK ":/img/object_sound.png" #define ICON_SOUND_KO ":/img/sound_KO.png" #define ICON_HAVEFILTER ":/img/Transform.png" #define ICON_INHERITDOWNLOCK ":/img/inheritance_down_lock.png" #define ICON_INHERITDOWNUNLOCK ":/img/inheritance_down_unlock.png" //******************************************************************************************************************************** // cBlockTableItemDelegate : Item delegate for block table //******************************************************************************************************************************** class cBlockTableItemDelegate : public QStyledItemDelegate { //Q_OBJECT public: cCustomBlockTable *ParentTable; explicit cBlockTableItemDelegate(QObject *parent); virtual void paint(QPainter *painter,const QStyleOptionViewItem &option,const QModelIndex &index) const; }; //======================================================================================================================== cBlockTableItemDelegate::cBlockTableItemDelegate(QObject *parent):QStyledItemDelegate(parent) { ToLog(LOGMSG_DEBUGTRACE,"IN:cBlockTableItemDelegate::cBlockTableItemDelegate"); ParentTable=(cCustomBlockTable *)parent; } //======================================================================================================================== void cBlockTableItemDelegate::paint(QPainter *Painter,const QStyleOptionViewItem &option,const QModelIndex &index) const { ToLog(LOGMSG_DEBUGTRACE,"IN:cBlockTableItemDelegate::paint"); if ((ParentTable->CompositionList==NULL)||(index.row()>=ParentTable->rowCount())||(index.column()>=ParentTable->columnCount())||(index.row()>=ParentTable->CompositionList->List.count())) return; QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); // Display adjustement int FontFactor=((((cApplicationConfig *)ParentTable->ApplicationConfig)->TimelineHeight-TIMELINEMINHEIGH)/20+1)*10; int RowHeight =48+((((cApplicationConfig *)ParentTable->ApplicationConfig)->TimelineHeight-TIMELINEMINHEIGH)/20+1)*3; if (!ParentTable->CompositionList->List[index.row()]->IsVisible) Painter->setOpacity(0.5); cBaseMediaFile *MediaFile=ParentTable->CompositionList->List[index.row()]->BackgroundBrush->MediaObject; QImage Icon; if (MediaFile!=NULL) { QImage *RenderImage=NULL; int Position =0; // Compute position of video if (MediaFile->ObjectType==OBJECTTYPE_VIDEOFILE) { for (int i=0;iCurrentShotNbr;i++) for (int j=0;jCurrentSlide->List[i]->ShotComposition.List.count();j++) if (ParentTable->CurrentSlide->List[i]->ShotComposition.List[j]->IndexKey==ParentTable->CompositionList->List[index.row()]->IndexKey) { if (ParentTable->CurrentSlide->List[i]->ShotComposition.List[j]->IsVisible) Position+=ParentTable->CurrentSlide->List[i]->StaticDuration; } RenderImage=((cVideoFile *)MediaFile)->ImageAt(true,Position+QTime(0,0,0,0).msecsTo(((cVideoFile *)MediaFile)->StartPos),NULL,ParentTable->CompositionList->List[index.row()]->BackgroundBrush->Deinterlace,1,false,false); } else RenderImage=MediaFile->ImageAt(true); if (RenderImage!=NULL) { // Create square workspace image qreal maxw,maxh,minw,minh,x1,x2,x3,x4,y1,y2,y3,y4; QImage *NewRenderImage=ParentTable->CompositionList->List[index.row()]->BackgroundBrush->ImageToWorkspace(RenderImage,RowHeight,maxw,maxh,minw,minh,x1,x2,x3,x4,y1,y2,y3,y4); QRectF CurSelRect =QRectF(ParentTable->CompositionList->List[index.row()]->BackgroundBrush->X*RowHeight, ParentTable->CompositionList->List[index.row()]->BackgroundBrush->Y*RowHeight, ParentTable->CompositionList->List[index.row()]->BackgroundBrush->ZoomFactor*RowHeight, ParentTable->CompositionList->List[index.row()]->BackgroundBrush->ZoomFactor*ParentTable->CompositionList->List[index.row()]->BackgroundBrush->AspectRatio*RowHeight); ParentTable->CompositionList->List[index.row()]->BackgroundBrush->ApplyMaskToImageToWorkspace(NewRenderImage,CurSelRect,ParentTable->CompositionList->List[index.row()]->BackgroundForm, ParentTable->CompositionList->List[index.row()]->BackgroundBrush->GetCurrentFramingStyle(ParentTable->ProjectGeometry)); // Create icon //Icon=(NewRenderImage->width()>NewRenderImage->height())?NewRenderImage->scaledToWidth(RowHeight):NewRenderImage->scaledToHeight(RowHeight); Icon=NewRenderImage->copy(); delete RenderImage; delete NewRenderImage; } } else { if (ParentTable->CompositionList->List[index.row()]->TextClipArtName=="") Icon=ParentTable->TextIcon.copy(); else Icon=TextFrameList.List[TextFrameList.SearchImage(ParentTable->CompositionList->List[index.row()]->TextClipArtName)].Icon.copy(); } int IconHeight =RowHeight; int IconWidth =RowHeight+16; int addX =(IconHeight-(!Icon.isNull()?Icon.width():0))/2; int addY =(IconHeight-(!Icon.isNull()?Icon.height():0))/2; QFont font; QTextOption OptionText; QPen Pen; if ((ParentTable->CurrentShotNbr>0)&&(ParentTable->CompositionList->List[index.row()]->BlockInheritance)) Painter->fillRect(QRect(option.rect.x(),option.rect.y(),option.rect.width(),option.rect.height()),QColor(Qt::lightGray)); // Draw Icon if (!Icon.isNull()) Painter->drawImage(QRectF(option.rect.x()+1+addX,option.rect.y()+1+addY,Icon.width(),Icon.height()),Icon); // Visible or not visible Painter->drawImage(QRectF(option.rect.x()+1+RowHeight,option.rect.y()+1+2*(RowHeight/3),16,16),QImage(ParentTable->CompositionList->List[index.row()]->IsVisible?ICON_VISIBLE_OK:ICON_VISIBLE_KO)); // With same as previous shot ? if (ParentTable->CurrentShotNbr>0) Painter->drawImage(QRectF(option.rect.x()+1+RowHeight,option.rect.y()+1,16,16),QImage(ParentTable->CompositionList->List[index.row()]->BlockInheritance?ICON_INHERITDOWNLOCK:ICON_INHERITDOWNUNLOCK)); // With sound ? if ((ParentTable->CompositionList->List[index.row()]->BackgroundBrush->MediaObject)&&(ParentTable->CompositionList->List[index.row()]->BackgroundBrush->MediaObject->ObjectType==OBJECTTYPE_VIDEOFILE)) Painter->drawImage(QRectF(option.rect.x()+1+RowHeight,option.rect.y()+1+RowHeight/3,16,16),QImage((ParentTable->CompositionList->List[index.row()]->BackgroundBrush->SoundVolume!=0)?ICON_SOUND_OK:ICON_SOUND_KO)); // With filter ? if ((ParentTable->CompositionList->List[index.row()]->BackgroundBrush->GaussBlurSharpenSigma!=0)|| (ParentTable->CompositionList->List[index.row()]->BackgroundBrush->QuickBlurSharpenSigma!=0)|| (ParentTable->CompositionList->List[index.row()]->BackgroundBrush->Desat!=0)|| (ParentTable->CompositionList->List[index.row()]->BackgroundBrush->Swirl!=0)|| (ParentTable->CompositionList->List[index.row()]->BackgroundBrush->Implode!=0)|| (ParentTable->CompositionList->List[index.row()]->BackgroundBrush->OnOffFilter!=0) ) Painter->drawImage(QRectF(option.rect.x()+1,option.rect.y()+RowHeight/2,24,24),QImage(ICON_HAVEFILTER)); // Setup default brush Painter->setBrush(Qt::NoBrush); // Setup default pen Pen.setColor(Qt::black); Pen.setWidth(1); Pen.setStyle(Qt::SolidLine); Painter->setPen(Pen); // Init text to display in summary views if (MediaFile!=NULL) { QStringList TempExtProperties; ParentTable->ApplicationConfig->FilesTable->GetExtendedProperties(MediaFile->FileKey,&TempExtProperties); QStringList SummaryText=MediaFile->GetSummaryText(&TempExtProperties); // First line font=QFont("Sans serif",9,QFont::Bold,QFont::StyleNormal); // First line use bold Painter->setFont(font); #ifdef Q_OS_WIN font.setPointSizeF(double(110+FontFactor)/double(Painter->fontMetrics().boundingRect("0").height())); // Scale font #else font.setPointSizeF((double(120+FontFactor)/double(Painter->fontMetrics().boundingRect("0").height()))*ScreenFontAdjust); // Scale font #endif Painter->setFont(font); OptionText=QTextOption(Qt::AlignLeft|Qt::AlignVCenter); // Setup alignement OptionText.setWrapMode(QTextOption::NoWrap); // Setup word wrap text option Painter->drawText(QRectF(option.rect.x()+IconWidth+2+2,option.rect.y()+1,option.rect.width()-IconWidth-3-2,14),SummaryText[0],OptionText); // Second line font=QFont("Sans serif",8,QFont::Normal,QFont::StyleNormal); font.setUnderline(false); Painter->setFont(font); #ifdef Q_OS_WIN font.setPointSizeF(double(100+FontFactor)/double(Painter->fontMetrics().boundingRect("0").height())); // Scale font #else font.setPointSizeF((double(100+FontFactor)/double(Painter->fontMetrics().boundingRect("0").height()))*ScreenFontAdjust);// Scale font #endif Painter->setFont(font); Painter->drawText(QRectF(option.rect.x()+IconWidth+2+2,option.rect.y()+1+(RowHeight/3),option.rect.width()-IconWidth-3-2,14),SummaryText[1],OptionText); // Third line Painter->drawText(QRectF(option.rect.x()+IconWidth+2+2,option.rect.y()+1+(RowHeight/3)*2,option.rect.width()-IconWidth-3-2,14),SummaryText[2],OptionText); } else { font=QFont("Sans serif",8,QFont::Normal,QFont::StyleNormal); font.setUnderline(false); Painter->setFont(font); #ifdef Q_OS_WIN font.setPointSizeF(double(100+FontFactor)/double(Painter->fontMetrics().boundingRect("0").height())); // Scale font #else font.setPointSizeF((double(100+FontFactor)/double(Painter->fontMetrics().boundingRect("0").height()))*ScreenFontAdjust);// Scale font #endif Painter->setFont(font); OptionText=QTextOption(Qt::AlignLeft|Qt::AlignVCenter); // Setup alignement OptionText.setWrapMode(QTextOption::NoWrap); // Setup word wrap text option QTextDocument TextDoc; TextDoc.setHtml(ParentTable->CompositionList->List[index.row()]->Text); Painter->drawText(QRectF(option.rect.x()+IconWidth+2+2,option.rect.y()+1,option.rect.width()-IconWidth-3-2,IconHeight-2),TextDoc.toPlainText(),OptionText); } if (!ParentTable->CompositionList->List[index.row()]->IsVisible) Painter->setOpacity(1); // Selection mode (Note: MouseOver is removed because it works correctly only on KDE !) if (option.state & QStyle::State_Selected) { Painter->setPen(QPen(Qt::NoPen)); Painter->setBrush(QBrush(Qt::blue)); Painter->setOpacity(0.25); Painter->drawRect(option.rect.x(),option.rect.y(),option.rect.width(),option.rect.height()); Painter->setOpacity(1); } //Drag & Drop operation if ((ParentTable->IsDragOn!=0)&&(ParentTable->DragItemDest!=ParentTable->DragItemSource)&&(ParentTable->DragItemDest!=ParentTable->DragItemSource+1)&&((index.row()==ParentTable->DragItemDest)||((index.row()==ParentTable->rowCount()-1)&&(index.row()==ParentTable->DragItemDest-1)))) { Painter->save(); Pen.setColor(Qt::red); Pen.setStyle(Qt::SolidLine); Pen.setWidth(6); Painter->setPen(Pen); Painter->setBrush(Qt::NoBrush); //QBrush(QColor(WidgetSelection_Color))); Painter->setOpacity(0.5); if (index.row()==ParentTable->DragItemDest) Painter->drawLine(0,option.rect.y()+3, option.rect.width(),option.rect.y()+3); else Painter->drawLine(0,option.rect.y()+option.rect.height()-3,option.rect.width(),option.rect.y()+option.rect.height()-3); Painter->setOpacity(1); Painter->restore(); } QApplication::restoreOverrideCursor(); } //******************************************************************************************************************************** // cCustomBlockTable : block table //******************************************************************************************************************************** cCustomBlockTable::cCustomBlockTable(QWidget *parent):QTableWidget(parent) { ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomBlockTable::cCustomBlockTable"); CompositionList =NULL; CurrentSlide =NULL; IsDragOn =false; TextIcon =QImage(":/img/MediaIcons/48x48/Text.png"); setRowCount(0); setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding); setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); setWordWrap(false); // Ensure no word wrap setTextElideMode(Qt::ElideNone); // Ensure no line ellipsis (...) horizontalHeader()->setSortIndicatorShown(false); horizontalHeader()->setCascadingSectionResizes(false); horizontalHeader()->setDefaultAlignment(Qt::AlignLeft); horizontalHeader()->hide(); horizontalHeader()->setStretchLastSection(true); verticalHeader()->setStretchLastSection(false); verticalHeader()->setSortIndicatorShown(false); verticalHeader()->hide(); #if QT_VERSION >= 0x050000 horizontalHeader()->setSectionResizeMode(QHeaderView::Fixed); //Fixed because ResizeToContents will be done after table filling verticalHeader()->setSectionResizeMode(QHeaderView::Fixed); // Fixed because ResizeToContents will be done after table filling horizontalHeader()->setSectionsClickable(false); horizontalHeader()->setSectionsMovable(false); #else horizontalHeader()->setResizeMode(QHeaderView::Fixed); //Fixed because ResizeToContents will be done after table filling verticalHeader()->setResizeMode(QHeaderView::Fixed); // Fixed because ResizeToContents will be done after table filling horizontalHeader()->setClickable(false); horizontalHeader()->setMovable(false); #endif setSelectionBehavior(QAbstractItemView::SelectRows); setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); setHorizontalHeaderLabels(QString("WEB_VIEW").split(";")); setShowGrid(true); setItemDelegate(new cBlockTableItemDelegate(this)); setColumnCount(1); setDragDropOverwriteMode(false); setAcceptDrops(true); setDropIndicatorShown(true); setContextMenuPolicy(Qt::PreventContextMenu); } //==================================================================================================================== void cCustomBlockTable::resizeEvent(QResizeEvent *ev) { ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomBlockTable::resizeEvent"); setColumnWidth(0,viewport()->width()); QTableWidget::resizeEvent(ev); } //==================================================================================================================== void cCustomBlockTable::mouseDoubleClickEvent(QMouseEvent *ev) { ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomBlockTable::mouseDoubleClickEvent"); emit DoubleClickEvent(ev); } //==================================================================================================================== void cCustomBlockTable::mousePressEvent(QMouseEvent *event) { ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomBlockTable::mousePressEvent"); QTableWidget::mousePressEvent(event); if (event->button()==Qt::RightButton) { emit RightClickEvent(event); } else { if ((IsDragOn)||(rowCount()==0)) return; setCursor(Qt::ArrowCursor); IsDragOn =false; DragItemSource=(event->pos().y()+verticalOffset())/rowHeight(0); QModelIndexList SelList=selectionModel()->selectedIndexes(); QList IsSelected; for (int i=0;ipos().y()<0)&&(verticalScrollBar()->value()>0)) verticalScrollBar()->setValue(verticalScrollBar()->value()-1); // Try to scroll down else if ((event->pos().y()>height())&&(verticalScrollBar()->value()maximum())) verticalScrollBar()->setValue(verticalScrollBar()->value()+1); else if ((event->pos().x()<0)||(event->pos().x()>width())||(event->pos().y()<0)||(event->pos().y()>height())) setCursor(Qt::ForbiddenCursor); else { DragItemDest=(event->pos().y()+verticalOffset())/rowHeight(0); if (DragItemDest>rowCount()) setCursor(Qt::ForbiddenCursor); else setCursor(Qt::ClosedHandCursor); } setUpdatesEnabled(false); setUpdatesEnabled(true); } } //==================================================================================================================== void cCustomBlockTable::mouseReleaseEvent(QMouseEvent *event) { ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomBlockTable::mouseReleaseEvent"); if (event->button()==Qt::RightButton) { //emit RightClickEvent(event); } else if (!IsDragOn) { QTableWidget::mouseReleaseEvent(event); } else { setCursor(Qt::ArrowCursor); IsDragOn=false; if (!((event->pos().x()<0)||(event->pos().x()>width())||(event->pos().y()<0)||(event->pos().y()>height()))) { DragItemDest=(event->pos().y()+verticalOffset())/rowHeight(0); if ((DragItemDest<=rowCount())&&(DragItemDest!=DragItemSource)) emit DragMoveBlock(DragItemSource,DragItemDest); } setUpdatesEnabled(false); setUpdatesEnabled(true); } } //==================================================================================================================== void cCustomBlockTable::dragEnterEvent(QDragEnterEvent *event) { ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomBlockTable::dragEnterEvent"); IsDragOn =2; DragItemSource=-10; DragItemDest =-1; setCursor(Qt::ClosedHandCursor); event->acceptProposedAction(); } //==================================================================================================================== void cCustomBlockTable::dropEvent(QDropEvent *event) { ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomBlockTable::dropEvent"); IsDragOn=0; if (event->mimeData()->hasUrls()) { emit DragDropFiles(event->mimeData()->urls()); event->acceptProposedAction(); } } //==================================================================================================================== void cCustomBlockTable::dragMoveEvent(QDragMoveEvent *event) { ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomBlockTable::dragMoveEvent"); int OldDragItemDest=DragItemDest; if (rowCount()>0) DragItemDest=(event->pos().y()+verticalOffset())/rowHeight(0); else DragItemDest=0; if (DragItemDest>rowCount()) setCursor(Qt::ForbiddenCursor); else setCursor(Qt::ClosedHandCursor); event->acceptProposedAction(); if (OldDragItemDest==DragItemDest) { setUpdatesEnabled(false); setUpdatesEnabled(true); } } ffDiaporama/src/ffDiaporama/DlgSlide/DlgSlideProperties.ui0000777000175000001440000037322412275647317024032 0ustar dominiqueusers DlgSlideProperties Qt::WindowModal 0 0 700 500 700 500 Sans Serif 9 Slide properties 0 8 8 8 8 0 0 0 56 16777215 56 QToolButton { background-color: transparent; border: none; font-size: 9px; } QToolButton:hover{ border: 2px solid #8f8f91; border-radius: 6px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #f6f7fa, stop: 1 #dadbde); } QToolButton:pressed { border: 2px solid #8f8f91; border-radius: 6px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #f6f7fa, stop: 1 #dadbde); } 2 0 0 0 0 62 56 62 56 -1 Manage chapter information for this slide Chapter Information :/img/Chapter_big.png:/img/Chapter_big.png 24 24 Qt::ToolButtonTextUnderIcon Qt::Vertical 0 0 62 56 62 56 -1 Append a shot to end of the timeline Add shot :/img/add_project.png:/img/add_project.png 24 24 Qt::ToolButtonTextUnderIcon 0 0 62 56 62 56 -1 Remove current selected shot Remove shot :/img/trash.png:/img/trash.png 24 24 Qt::ToolButtonTextUnderIcon Qt::Vertical 62 56 62 56 -1 Add a new text block Add text :/img/add_text.png:/img/add_text.png 24 24 Ctrl+Ins Qt::ToolButtonTextUnderIcon 62 56 62 56 -1 Add one or several new blocks of images or video. A file selection dialog appears allowing you to select files. Note: in case of multiple selection, files are added in the alphabetical order of the filenames or in the digital order of shots (according to the option selected in the configuration dialog). Add file :/img/add_image.png:/img/add_image.png 24 24 Ins Qt::ToolButtonTextUnderIcon 62 56 62 56 -1 Add one or several new blocks of images or video. A file selection dialog appears allowing you to select files. Note: in case of multiple selection, files are added in the alphabetical order of the filenames or in the digital order of shots (according to the option selected in the configuration dialog). Add special :/img/Action_Wizard.png:/img/Action_Wizard.png 24 24 Ins Qt::ToolButtonTextUnderIcon Qt::Vertical 62 56 62 56 -1 Edit block Edit block :/img/edit.png:/img/edit.png 24 24 Qt::ToolButtonTextUnderIcon 62 56 62 56 -1 Arrange blocks Arrange block :/img/Arrange/arrange.png:/img/Arrange/arrange.png 24 24 Qt::ToolButtonTextUnderIcon 62 56 62 56 -1 Display information on image or video file Block information :/img/Action_Info.png:/img/Action_Info.png 24 24 Qt::ToolButtonTextUnderIcon Qt::Vertical 62 56 62 56 -1 Save this slide as a model Save as model :/img/db_menu_big.png:/img/db_menu_big.png 24 24 Qt::ToolButtonTextUnderIcon Qt::Horizontal 40 20 QFrame::StyledPanel QFrame::Sunken 2 2 2 2 2 0 0 Slide name: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 Define a name for the slide. It is this name which will appear on the thumbnail in the main window timeline Qt::Vertical Total duration : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter The total slide duration is displayed here. This duration takes into account possible adjustments for minimal duration of the shot. 00:00:00.000 2 0 0 0 0 0 0 0 0 0 0 0 0 80 16777215 80 The shots table shows the shots as thumbnails, in the order in which they will be played (from left to right). For each shot, the thumbnail shows: - The shot duration (At the top of the thumbnail) - The temporal position of the shot at the end of its duration (At the bottom right of the thumbnail) - An image representing the shot at the end of its duration Remark : - The order of the shots can be changed by using Drag & Drop. Qt::ScrollBarAlwaysOff Qt::ScrollBarAlwaysOn QAbstractItemView::NoEditTriggers true false false QAbstractItemView::InternalMove Qt::LinkAction QAbstractItemView::SingleSelection QAbstractItemView::SelectColumns false false 0 false false false true Sequence 0 0 QFrame::StyledPanel QFrame::Sunken 2 2 2 2 2 Shot duration : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Indicate here the duration of the currently selected shot For the last shot of the slide, there is a minimum duration. The following rules are used to calculate the minimum duration of the shot: - The total slide duration cannot be lower than the sum of the durations of the entering transition of the slide plus that of the transition to the following slide. - The total slide duration must permit complete play of the longest video sequence (time of breaks is taken into account). - The total slide duration cannot be lower than 1:30 second If you specify a duration lower than the minimum calculated duration for the shot, it is this minimum duration that will be used in place of the value which you specified. 11 59 59 2000 1 1 QDateTimeEdit::HourSection HH:mm:ss.zzz 0 0 true QLabel { color:rgb(255, 0, 0); font: italic 9pt "Sans Serif"; } 00:00:00.000 0 0 0 0 345 0 4 0 0 0 0 0 0 Qt::Vertical 0 0 0 0 0 0 0 0 0 true 1 1 Qt::ScrollBarAlwaysOn Qt::ScrollBarAlwaysOff QAbstractItemView::NoEditTriggers true true false QAbstractItemView::DropOnly Qt::LinkAction QAbstractItemView::ExtendedSelection QAbstractItemView::SelectRows false false false true false Icon Sound Type 0 0 QFrame::StyledPanel QFrame::Sunken 1 1 Qt::ScrollBarAlwaysOn Qt::ScrollBarAlwaysOff true 0 0 323 810 0 0 0 0 2 0 2 0 0 0 0 0 0 0 Define the number of rotations around the X axis that is to be made during this shot. Remark: the rotation direction is defined by the sign, so +5 will give 5 rotations in one direction while -5 will give 5 rotations in the other direction. -20 20 1 0 Qt::Horizontal 0 0 Define the number of rotations around the X axis that is to be made during this shot. Remark: the rotation direction is defined by the sign, so +5 will give 5 rotations in one direction while -5 will give 5 rotations in the other direction. QAbstractSpinBox::PlusMinus -20 20 0 Reset to zero :/img/undo.png:/img/undo.png Allows you to select a pre-defined block size :/img/ScrollX.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter :/img/PosSize_X.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 0 0 0 0 0 Scroll text from bottom to top. Remark: To make animations of text, you have to create at least 2 shots then: -Define values for zoom and scrolling for the 1st shot -Define different values for zoom and scrolling for the 2nd -100 100 0 Qt::Horizontal 0 0 Scroll text from bottom to top. Remark: To make animations of text, you have to create at least 2 shots then: -Define values for zoom and scrolling for the 1st shot -Define different values for zoom and scrolling for the 2nd QAbstractSpinBox::PlusMinus % -100 100 0 Reset to zero :/img/undo.png:/img/undo.png 0 0 0 0 0 0 0 Define the number of rotations around the Z axis that is to be made during this shot. Remark: the rotation direction is defined by the sign, so +5 will give 5 rotations in one direction while -5 will give 5 rotations in the other direction. -20 20 1 0 Qt::Horizontal 0 0 Define the number of rotations around the Z axis that is to be made during this shot. Remark: the rotation direction is defined by the sign, so +5 will give 5 rotations in one direction while -5 will give 5 rotations in the other direction. QAbstractSpinBox::PlusMinus -20 20 0 Reset to zero :/img/undo.png:/img/undo.png 0 0 0 0 0 0 0 Define the number of rotations around the Y axis that is to be made during this shot. Remark: the rotation direction is defined by the sign, so +5 will give 5 rotations in one direction while -5 will give 5 rotations in the other direction. -20 20 1 0 Qt::Horizontal 0 0 Define the number of rotations around the Y axis that is to be made during this shot. Remark: the rotation direction is defined by the sign, so +5 will give 5 rotations in one direction while -5 will give 5 rotations in the other direction. QAbstractSpinBox::PlusMinus -20 20 0 Reset to zero :/img/undo.png:/img/undo.png :/img/RotateX.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 50 true false true Block shape (common to all shots): Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft 50 true false true <html><head/><body><p><br/>Block animation :</p></body></html> Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft 0 0 0 Represents the horizontal offset of the block from the left. This position is defined as a percentage (%) of the total width of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog. QAbstractSpinBox::PlusMinus % 100.000000000000000 100.000000000000000 0 0 :/img/PosSize_Y.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 Represents the vertical offset of the block from the top. This position is defined as a percentage (%) of the total height of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog. QAbstractSpinBox::PlusMinus % 100.000000000000000 100.000000000000000 0 0 0 0 0 0 0 Define the angle of rotation about the z-axis (expressed in degrees) -180 180 Qt::Horizontal 0 0 Define the angle of rotation about the z-axis (expressed in degrees) QAbstractSpinBox::PlusMinus -180 180 0 Reset to zero :/img/undo.png:/img/undo.png 0 0 0 0 0 0 0 Represents the width of the block. This value is defined as a percentage (%) of the total width of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog box. QAbstractSpinBox::PlusMinus % 100.000000000000000 100.000000000000000 0 0 :/img/PosSize_Height.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 Represents the height of the block. This value is defined as a percentage (%) of the total height of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog. QAbstractSpinBox::PlusMinus % 100.000000000000000 100.000000000000000 0 0 0 0 0 0 0 Defines the thickness of the border. Remark: This value is defined as 1/1080 of the height of the screen. A value of 10 corresponds to 10 points on a 1920×1080 FullHD screen, but only to 6 points on a 1280×720 screen. QAbstractSpinBox::PlusMinus 0 0 Select the color of the line to be used to draw the border 64 16 0 0 Select the type of line (solid, dotted line, etc.) QComboBox QAbstractItemView { background: #ffffff; color: #000000; } 0 0 This settings group deals with style management. StyleName 2 0 0 0 0 0 0 Define the distance between the block and its shadow QAbstractSpinBox::PlusMinus 0 0 Select the color of the shadow 64 16 0 0 :/img/Geometry.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Selects a speed curve for block animations (movement, resizing and rotating of blocks, animation of text and blocks) Remark: To change the velocity curve for image animation (graphic effect and framing), edit the image or video and select a velocity in the Image framing and correction dialog. QComboBox::AdjustToContents 0 0 0 0 0 0 0 Scroll text from left to right. Remark: To make animations of text, you have to create at least 2 shots then: -Define values for zoom and scrolling for the 1st shot -Define different values for zoom and scrolling for the 2nd -100 100 0 Qt::Horizontal 0 0 Scroll text from left to right. Remark: To make animations of text, you have to create at least 2 shots then: -Define values for zoom and scrolling for the 1st shot -Define different values for zoom and scrolling for the 2nd QAbstractSpinBox::PlusMinus % -100 100 0 Reset to zero :/img/undo.png:/img/undo.png Border : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter :/img/RotateY.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Opacity : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter :/img/RotateY.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 0 0 0 0 0 Define the angle of rotation about the y-axis (expressed in degrees) -180 180 Qt::Horizontal 0 0 Define the angle of rotation about the y-axis (expressed in degrees) QAbstractSpinBox::PlusMinus -180 180 Reset to zero :/img/undo.png:/img/undo.png Zoom : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 50 true false true <html><head/><body><p><br/>Animation settings:</p></body></html> Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft 0 0 0 0 0 0 0 Define the angle of rotation about the x-axis (expressed in degrees) -180 180 Qt::Horizontal 0 0 Define the angle of rotation about the x-axis (expressed in degrees) QAbstractSpinBox::PlusMinus -180 180 Reset to zero :/img/undo.png:/img/undo.png The block animations define which animations will run during the current shot. You can define different animations for every shot! - Multiple rotations: This animation allows to turn a block several times during the shot. - Dissolve: This animation dissolves between the block and a transparent zone according to the settings. 50 true false true <html><head/><body><p><br/>Text animation :</p></body></html> Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft Speed wave : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 Select the opaqueness of the block Dissolve : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Qt::Vertical 20 40 :/img/RotateZ.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Shape : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Shadow : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter :/img/RotateX.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter :/img/ScrollY.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 Allows you to select a reframing style for the image. It has the same effect as selecting a style in the Image framing and correction dialog. Allows you to select the geometrical constraints to be applied to the block. Three type of constraint are available: - No constraint is applied to the selection rectangle. - Lock selection rectangle to the actual geometry. It has no meaning until you have defined a shape in "no constraint" mode. - Lock selection rectangle to the same geometry as the project, such that, if you place the image in full screen, the reframed part will correspond to the whole screen. Type : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 2 0 0 0 0 :/img/db_menu.png:/img/db_menu.png Qt::NoArrow 0 0 true true Inheritance changes: :/img/PosSize_Width.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Appear: The block will appear during the shot Disappear: The block will disappear during the shot Blink: The block will blink during the shot (appear then disappear). 4 speeds are proposed (from slow to very fast). 0 0 :/img/Geometry.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 0 0 0 0 0 Define a zoom value for the text. Remark: To make animations of text, you have to create at least 2 shots then: -Define values for zoom and scrolling for the 1st shot -Define different values for zoom and scrolling for the 2nd 0 400 100 Qt::Horizontal 0 0 Define a zoom value for the text. Remark: To make animations of text, you have to create at least 2 shots then: -Define values for zoom and scrolling for the 1st shot -Define different values for zoom and scrolling for the 2nd QAbstractSpinBox::PlusMinus % 0 400 100 Reset to 100% :/img/undo.png:/img/undo.png :/img/RotateZ.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 Select in which corner the shadow will be positioned (or no shadow). Remark: the position of the shadow is independent of rotation of the block: the right lower corner is always the right lower corner, whatever rotation is applied. 0 0 Allows you to select a shape for the block. The selected shape will be used as: - A fusion mask for the images and the videos. - A cutting zone for texts. QComboBox QAbstractItemView { background: #ffffff; color: #000000; } false 16 16 Clip-Art : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 Select a clip-art QComboBox QAbstractItemView { background: #ffffff; color: #000000; } false 16 16 0 0 true true Block coordinates : 0 0 If this box is checked, the changes made in a previous shot will be applied to this object in this shot Inherit changes 0 0 :/img/inheritance_down_unlock.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 6 Qt::Horizontal 0 0 0 0 0 Qt::Horizontal 40 20 Allows you to open the rulers settings dialog. Rulers :/img/ruler_ok.png:/img/ruler_ok.png Qt::Horizontal 40 20 Accept modification and go to previous slide Previous :/img/arrow_left.png:/img/arrow_left.png Accept modification and exit dialog box &Ok :/img/action_ok.png:/img/action_ok.png Accept modification and go to next slide Next :/img/arrow_right.png:/img/arrow_right.png Qt::Horizontal 40 20 Undo last action (CTRL+Z) Undo :/img/undo24.png:/img/undo24.png Ctrl+Z Cancel modification and exit dialog box &Cancel :/img/action_cancel.png:/img/action_cancel.png Show help about this dialogue box &Help :/img/help.png:/img/help.png :/img/EditText.png:/img/EditText.png Edit text Define the properties of the text block :/img/EditImage.png:/img/EditImage.png Correct or reframe image Define framing and correction of image or movie :/img/arrow_up.png:/img/arrow_up.png Move to background Change the order of blocks by moving the active block towards the background :/img/arrow_down.png:/img/arrow_down.png Move to foreground Change the order of blocks by moving the active block towards the foreground :/img/Visible_OK.png:/img/Visible_OK.png Visible Make the active block visible. Note: Hidden video blocks are automatically paused :/img/object_sound.png:/img/object_sound.png Take the sound Give the sound, during this shot, to the current video block :/img/Action_Info.png:/img/Action_Info.png Display information Display detailed information on current block :/img/editcopy.png:/img/editcopy.png Copy block Copy the current block to the ffDiaporama clipboard Ctrl+C :/img/editcut.png:/img/editcut.png Cut block Copy the current block to the ffDiaporama clipboard and remove it from the slide Ctrl+X :/img/trash.png:/img/trash.png Remove Remove current block(s) Del :/img/editpaste.png:/img/editpaste.png Paste block Paste block from the ffDiaporama clipboard and insert it Ctrl+V :/img/Arrange/aotop.png:/img/Arrange/aotop.png Align top Align blocks to the top :/img/Arrange/aocenterv.png:/img/Arrange/aocenterv.png Align middle Align blocks to the middle :/img/Arrange/aobottom.png:/img/Arrange/aobottom.png Align bottom Align blocks to the bottom :/img/Arrange/aoleft.png:/img/Arrange/aoleft.png Align left Align blocks to the left :/img/Arrange/aocenterh.png:/img/Arrange/aocenterh.png Align center Align blocks to the center :/img/Arrange/aoright.png:/img/Arrange/aoright.png Align right Align blocks to the right :/img/add_text.png:/img/add_text.png Add text block Add a new text block :/img/add_image.png:/img/add_image.png Add file Add a new block of type image or video :/img/add_project.png:/img/add_project.png Add shot Append a shot at the end of the timeline :/img/trash.png:/img/trash.png Remove shot Remove current selected shot Del :/img/arrow_left.png:/img/arrow_left.png Move left Change the order of the shots by moving the current selected shot a notch towards the left :/img/arrow_right.png:/img/arrow_right.png Move right Change the order of the shots by moving the current selected shot a notch towards the right :/img/Visible_KO.png:/img/Visible_KO.png Hide Hide the active block :/img/Arrange/aodistH.png:/img/Arrange/aodistH.png distribute horizontally Place each block so as to have the same space between each :/img/Arrange/aodistV.png:/img/Arrange/aodistV.png distribute vertically Place each block so as to have the same space between each :/img/object_text.png:/img/object_text.png Add simple text block Add a new simple text block :/img/add_cliparttext.png:/img/add_cliparttext.png Add ClipArt text block Add a new ClipArt text block :/img/object_text.png:/img/object_text.png Append to project title models :/img/Chapter_big.png:/img/Chapter_big.png Append to chapter title models :/img/medal.png:/img/medal.png Append to credit title models Append to credit title models :/img/gmap.png:/img/gmap.png Add a GMaps map Add a map from Google maps :/img/editpaste.png:/img/editpaste.png Add image from clipboard Create a new block using image from clipboard cCColorComboBox QComboBox
../ffDiaporama_lib/cColorComboBox.h
cCSpeedWaveComboBox QComboBox
../ffDiaporama_lib/cSpeedWaveComboBox.h
QCustomComboBox QComboBox
../ffDiaporama_lib/QCustomComboBox.h
cCFramingComboBox QComboBox
CustomCtrl/cCFramingComboBox.h
cCShapeComboBox QComboBox
CustomCtrl/cCShapeComboBox.h
cCustomBlockTable QTableWidget
DlgSlide/cCustomBlockTable.h
cInteractiveZone QWidget
DlgSlide/cInteractiveZone.h
1
cCTexteFrameComboBox QComboBox
../ffDiaporama_lib/cTexteFrameComboBox.h
cCustomShotTable QTableWidget
DlgSlide/cCustomShotTable.h
ShotTable PosXEd PosYEd WidthEd HeightEd RotateZED RotateXSLD RotateXED RotateYSLD RotateYED BackgroundFormCB OpacityCB PenSizeEd PenColorCB PenStyleCB ShadowEffectCB OKBT CancelBt
ffDiaporama/src/ffDiaporama/DlgSlide/DlgSlideProperties.h0000777000175000001440000001665712275647320023642 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef DLGSLIDEPROPERTIES_H #define DLGSLIDEPROPERTIES_H #include "DlgSlide/cShotComposer.h" namespace Ui { class DlgSlideProperties; } class DlgSlideProperties : public cShotComposer { Q_OBJECT public: SELECTMODE ShotSelectMode; // Current shot selection mode cDiaporamaShot *CurrentShot; // Current shot (if selection mode = SELECTMODE_ONE) QString FramingStyleLabelPixmap; // Framing CB control cBrushDefinition *FramingCB_CurrentBrush; int FramingCB_CurrentShot; // Re-entrence flags bool InRefreshStyleControls; bool StopMajFramingStyle; bool InDisplayDuration; // specific flag for GMapsObject bool RedoneStyleCoordinate; explicit DlgSlideProperties(cDiaporamaObject *DiaporamaObject,cApplicationConfig *ApplicationConfig,QWidget *parent = 0); virtual ~DlgSlideProperties(); // function to be overloaded virtual void DoInitDialog(); // Initialise dialog virtual bool DoAccept(); // Call when user click on Ok button virtual void DoRejet(); // Call when user click on Cancel button virtual void PrepareGlobalUndo(); // Initiale Undo virtual void DoGlobalUndo(); // Apply Undo : call when user click on Cancel button virtual void RefreshStyleControls(); virtual void RefreshControls(bool UpdateInteractiveZone=true); // Utility functions cCompositionObject *GetSelectedCompositionObject(); // Return selected CompositionObject cCompositionObject *GetSelectedGlobalCompositionObject(); // Return selected CompositionObject in the global composition list virtual void PreparePartialUndo(int ActionType,QDomElement root,bool); virtual void ApplyPartialUndo(int ActionType,QDomElement root); protected: virtual void resizeEvent(QResizeEvent *); virtual void showEvent(QShowEvent *); virtual void keyReleaseEvent(QKeyEvent *event); signals: void SetModifyFlag(); private slots: void s_RefreshSceneImage(); void s_RulersBt(); void OKPrevious(); void OKNext(); // Slide settings void s_SlideSet_SlideNameChange(QString NewText); void s_SlideSet_ChapterInformation(); void s_SlideSet_SaveModel(); void s_SlideSet_SaveAsProjectTitleModel(); void s_SlideSet_SaveAsCptTitleModels(); void s_SlideSet_SaveAsCreditTitleModels(); // Shot table & settings void s_ShotTable_SelectionChanged(); // User select a shot in the ShotTable widget void s_ShotTable_AddShot(); void s_ShotTable_RemoveShot(); void s_ShotTable_DragMoveItem(); void s_ShotTable_MoveLeft(); void s_ShotTable_MoveRight(); void s_ShotTable_DurationChange(QTime NewValue); void s_ShotTable_RightClickEvent(QMouseEvent *); // Block table void s_BlockTable_StartSelectionChange(); void s_BlockTable_EndSelectionChange(); void s_BlockTable_ItemDoubleClicked(QMouseEvent *); void s_BlockTable_ItemRightClicked(QMouseEvent *); void s_BlockTable_DragDropFiles(QList UrlList); void s_BlockTable_AddNewTextBlock(); void s_BlockTable_AddNewSimpleTextBlock(); void s_BlockTable_AddNewClipArtTextBlock(); void s_BlockTable_AddNewFileBlock(); void s_BlockTable_Copy(); void s_BlockTable_Cut(); void s_BlockTable_Paste(); // Block settings : Call of other dialog void s_BlockSettings_Arrange(); void s_BlockSettings_Edit(); void s_BlockSettings_ImageEditCorrect(); // Block settings : Basic values void s_BlockSettings_ToggleVisibleState(); void s_BlockSettings_GetSound(); // Block settings : Coordinates void s_BlockSettings_ShapeSizePos(int); // Block settings : Style void s_BlockSettings_ChangeFramingStyle(); void s_BlockSettings_ChangeTextFramingStyle(int Value); // Block settings : Text animation void s_BlockSettings_TextAnimZoom(int); void s_BlockSettings_TextAnimScrollX(int); void s_BlockSettings_TextAnimScrollY(int); void s_BlockSettings_TextAnimZoomReset() { s_BlockSettings_TextAnimZoom(100); } void s_BlockSettings_TextAnimScrollXReset() { s_BlockSettings_TextAnimScrollX(0); } void s_BlockSettings_TextAnimScrollYReset() { s_BlockSettings_TextAnimScrollY(0); } // Block settings : Speed wave void s_BlockSettings_SpeedWave(int); // Block settings : Block animation void s_BlockSettings_BlockAnimType(int); // Block settings/Block animation : Multiple turn animation void s_BlockSettings_BlockAnimTurnXValue(int); void s_BlockSettings_BlockAnimTurnYValue(int); void s_BlockSettings_BlockAnimTurnZValue(int); void s_BlockSettings_BlockAnimTurnXReset() { s_BlockSettings_BlockAnimTurnXValue(0); } void s_BlockSettings_BlockAnimTurnYReset() { s_BlockSettings_BlockAnimTurnYValue(0); } void s_BlockSettings_BlockAnimTurnZReset() { s_BlockSettings_BlockAnimTurnZValue(0); } // Block settings/Block animation : Dissolve animation void s_BlockSettings_BlockAnimDissolveType(int); void s_BlockTable_AddSpecialBlock(); void s_BlockTable_AddGMapsMapBlock(); void s_BlockTable_AddImageClipboard(); private: void s_ShotTable_DisplayDuration(); void s_BlockTable_AddFilesBlock(QStringList FileList,int PositionToInsert); void DoAddBlock(cBaseMediaFile *MediaObject,int PositionToInsert); Ui::DlgSlideProperties *ui; }; #endif // DLGSLIDEPROPERTIES_H ffDiaporama/src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp0000777000175000001440000031724212275647320024167 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "cCustomShotTable.h" #include "cCustomBlockTable.h" #include "cInteractiveZone.h" #include "DlgSlideProperties.h" #include "ui_DlgSlideProperties.h" #include "cTextFrame.h" #include "cTexteFrameComboBox.h" #include "engine/cLocation.h" #include "DlgImage/DlgImageCorrection.h" #include "DlgFileExplorer/DlgFileExplorer.h" #include "DlgRuler/DlgRulerDef.h" #include "DlgChapter/DlgChapter.h" #include #include #include #include #include #include #include #include #define ICON_FRAMING_CUSTOM ":/img/action_cancel.png" #define ICON_FRAMING_FULL ":/img/AdjustWH.png" #define ICON_FRAMING_WIDTH ":/img/AdjustW.png" #define ICON_FRAMING_HEIGHT ":/img/AdjustH.png" #define ICON_GLOBALCONF ":/img/db.png" #define ICON_USERCONF ":/img/db_update.png" #define ICON_VISIBLE_OK ":/img/Visible_OK.png" #define ICON_VISIBLE_KO ":/img/Visible_KO.png" #define ICON_SOUND_OK ":/img/object_sound.png" #define ICON_SOUND_KO ":/img/sound_KO.png" #define ICON_OBJECT_TEXT ":/img/object_text.png" #define ICON_OBJECT_SOUND ":/img/object_sound.png" #define ICON_OBJECT_MOVIE ":/img/object_movie.png" #define ICON_OBJECT_IMAGE ":/img/object_image.png" #define ICON_OBJECT_TEXTHIDE ":/img/object_textHide.png" #define ICON_OBJECT_MOVIEHIDE ":/img/object_movieHide.png" #define ICON_OBJECT_IMAGEHIDE ":/img/object_imageHide.png" //******************************************************************************************************************************** // DlgSlideProperties : Slide Dialog //******************************************************************************************************************************** DlgSlideProperties::DlgSlideProperties(cDiaporamaObject *DiaporamaObject,cApplicationConfig *ApplicationConfig,QWidget *parent):cShotComposer(DiaporamaObject,ApplicationConfig,parent),ui(new Ui::DlgSlideProperties) { ui->setupUi(this); Splitter =ui->SplitterTop; OkBt =ui->OKBT; CancelBt =ui->CancelBt; HelpBt =ui->HelpBt; HelpFile ="0119"; UndoBt =ui->UndoBT; InteractiveZone =ui->InteractiveZone; BlockTable =ui->BlockTable; ShotTable =ui->ShotTable; InteractiveZone->MagneticRuler =ApplicationConfig->SlideRuler; InteractiveZone->DisplayW =DisplayW; InteractiveZone->DisplayH =DisplayH; RedoneStyleCoordinate =false; // specific flag for GMapsObject CurrentShot =NULL; FramingCB_CurrentBrush =NULL; FramingCB_CurrentShot =-1; actionAddImageClipboard =ui->actionAddImageClipboard; actionPaste =ui->actionPaste; } //==================================================================================================================== DlgSlideProperties::~DlgSlideProperties() { InRefreshControls=true; // To ensure no controls will change during delete delete ui; CurrentSlide->Parent->CloseUnusedLibAv(CurrentSlide->Parent->CurrentCol); } //==================================================================================================================== // Initialise dialog void DlgSlideProperties::DoInitDialog() { cShotComposer::DoInitDialog(); ui->TextClipArtCB->PrepareTable(); setWindowTitle(windowTitle()+" - "+QApplication::translate("DlgSlideProperties","Slide")+QString(" %1/%2").arg(CurrentSlide->Parent->CurrentCol+1).arg(CurrentSlide->Parent->List.count())); ui->OKPreviousBT->setEnabled(CurrentSlide->Parent->CurrentCol>0); ui->OKNextBT->setEnabled(CurrentSlide->Parent->CurrentColParent->List.count()-1); ui->RulersBT->setIcon(QIcon(QString(InteractiveZone->MagneticRuler!=0?ICON_RULER_ON:ICON_RULER_OFF))); BlockTable->ProjectGeometry=ProjectGeometry; //****************************** CompositionList = NULL; // Re-entrence flags InRefreshStyleControls =false; StopMajFramingStyle =false; InDisplayDuration =false; ui->SlideNameED->setText(CurrentSlide->SlideName); if (ui->TextFramingStyleCB->view()->width()<500) ui->TextFramingStyleCB->view()->setFixedWidth(500); // Speed wave ui->SpeedWaveCB->AddProjectDefault(CurrentSlide->Parent->BlockAnimSpeedWave); // Init block animation type ui->BlockAnimCB->addItem(QApplication::translate("DlgSlideProperties","None")); ui->BlockAnimCB->addItem(QApplication::translate("DlgSlideProperties","Multiple block turn")); ui->BlockAnimCB->addItem(QApplication::translate("DlgSlideProperties","Dissolve")); // Init Dissolve animation value ui->DissolveCB->addItem(QApplication::translate("DlgSlideProperties","Appear")); ui->DissolveCB->addItem(QApplication::translate("DlgSlideProperties","Disappear")); ui->DissolveCB->addItem(QApplication::translate("DlgSlideProperties","Blink at slow speed")); ui->DissolveCB->addItem(QApplication::translate("DlgSlideProperties","Blink at medium speed")); ui->DissolveCB->addItem(QApplication::translate("DlgSlideProperties","Blink at fast speed")); ui->DissolveCB->addItem(QApplication::translate("DlgSlideProperties","Blink at very fast speed")); // Force icon in contextual menu ui->actionAddTextBlock->setIconVisibleInMenu(true); ui->actionAddFile->setIconVisibleInMenu(true); ui->actionEditText->setIconVisibleInMenu(true); ui->actionEditImage->setIconVisibleInMenu(true); ui->actionUpBlock->setIconVisibleInMenu(true); ui->actionDownBlock->setIconVisibleInMenu(true); ui->actionSetVisible->setIconVisibleInMenu(true); ui->actionSetHide->setIconVisibleInMenu(true); ui->actionTakeSound->setIconVisibleInMenu(true); ui->actionCopy->setIconVisibleInMenu(true); ui->actionCut->setIconVisibleInMenu(true); ui->actionPaste->setIconVisibleInMenu(true); ui->actionRemoveBlock->setIconVisibleInMenu(true); ui->actionInfo->setIconVisibleInMenu(true); ui->actionTop->setIconVisibleInMenu(true); ui->actionMiddle->setIconVisibleInMenu(true); ui->actionBottom->setIconVisibleInMenu(true); ui->actionLeft->setIconVisibleInMenu(true); ui->actionCenter->setIconVisibleInMenu(true); ui->actionRight->setIconVisibleInMenu(true); ui->actionAddShot->setIconVisibleInMenu(true); ui->actionRemoveShot->setIconVisibleInMenu(true); ui->actionMoveLeft->setIconVisibleInMenu(true); ui->actionMoveRight->setIconVisibleInMenu(true); ui->actionDistributeHoriz->setIconVisibleInMenu(true); ui->actionDistributeVert->setIconVisibleInMenu(true); ui->actionAddSimpleTextBlock->setIconVisibleInMenu(true); ui->actionAddClipArtTextBlock->setIconVisibleInMenu(true); ui->actionSaveAsProjectTitleModel->setIconVisibleInMenu(true); ui->actionSaveAsCptTitleModels->setIconVisibleInMenu(true); ui->actionSaveAsCreditTitleModels->setIconVisibleInMenu(true); ui->actionAddGMapsMap->setIconVisibleInMenu(true); ui->actionAddImageClipboard->setIconVisibleInMenu(true); ShotTable->setRowCount(1); // Define handler connect(ui->OKPreviousBT,SIGNAL(clicked()),this,SLOT(OKPrevious())); connect(ui->OKNextBT,SIGNAL(clicked()),this,SLOT(OKNext())); connect(ui->RulersBT,SIGNAL(clicked()),this,SLOT(s_RulersBt())); connect(ui->SaveModelBT,SIGNAL(pressed()),this,SLOT(s_SlideSet_SaveModel())); connect(ui->actionSaveAsProjectTitleModel,SIGNAL(triggered()),this,SLOT(s_SlideSet_SaveAsProjectTitleModel())); connect(ui->actionSaveAsCptTitleModels,SIGNAL(triggered()),this,SLOT(s_SlideSet_SaveAsCptTitleModels())); connect(ui->actionSaveAsCreditTitleModels,SIGNAL(triggered()),this,SLOT(s_SlideSet_SaveAsCreditTitleModels())); connect(ui->actionCopy,SIGNAL(triggered()),this,SLOT(s_BlockTable_Copy())); connect(ui->actionCut,SIGNAL(triggered()),this,SLOT(s_BlockTable_Cut())); connect(ui->actionPaste,SIGNAL(triggered()),this,SLOT(s_BlockTable_Paste())); connect(ui->actionSetVisible,SIGNAL(triggered()),this,SLOT(s_BlockSettings_ToggleVisibleState())); connect(ui->actionSetHide,SIGNAL(triggered()),this,SLOT(s_BlockSettings_ToggleVisibleState())); connect(ui->actionTakeSound,SIGNAL(triggered()),this,SLOT(s_BlockSettings_GetSound())); connect(ui->actionUpBlock,SIGNAL(triggered()),this,SLOT(s_BlockTable_MoveBlockUp())); connect(ui->actionDownBlock,SIGNAL(triggered()),this,SLOT(s_BlockTable_MoveBlockDown())); connect(ui->actionTop,SIGNAL(triggered()),this,SLOT(s_BlockTable_AlignTop())); connect(ui->actionMiddle,SIGNAL(triggered()),this,SLOT(s_BlockTable_AlignMiddle())); connect(ui->actionBottom,SIGNAL(triggered()),this,SLOT(s_BlockTable_AlignBottom())); connect(ui->actionLeft,SIGNAL(triggered()),this,SLOT(s_BlockTable_AlignLeft())); connect(ui->actionCenter,SIGNAL(triggered()),this,SLOT(s_BlockTable_AlignCenter())); connect(ui->actionRight,SIGNAL(triggered()),this,SLOT(s_BlockTable_AlignRight())); connect(ui->actionDistributeHoriz,SIGNAL(triggered()),this,SLOT(s_BlockTable_DistributeHoriz())); connect(ui->actionDistributeVert,SIGNAL(triggered()),this,SLOT(s_BlockTable_DistributeVert())); connect(ui->SlideNameED,SIGNAL(textEdited(QString)),this,SLOT(s_SlideSet_SlideNameChange(QString))); connect(ui->ChapterBT,SIGNAL(clicked()),this,SLOT(s_SlideSet_ChapterInformation())); connect(ui->ShotDurationED,SIGNAL(timeChanged(QTime)),this,SLOT(s_ShotTable_DurationChange(QTime))); connect(ui->ArrangeBT,SIGNAL(pressed()),this,SLOT(s_BlockSettings_Arrange())); connect(ui->EditBT,SIGNAL(pressed()),this,SLOT(s_BlockSettings_Edit())); connect(ui->actionEditText,SIGNAL(triggered()),this,SLOT(s_BlockSettings_TextEditor())); connect(ui->actionEditImage,SIGNAL(triggered()),this,SLOT(s_BlockSettings_ImageEditCorrect())); connect(ui->InfoBlockBT,SIGNAL(clicked()),this,SLOT(s_BlockSettings_Information())); connect(ui->actionInfo,SIGNAL(triggered()),this,SLOT(s_BlockSettings_Information())); connect(ShotTable,SIGNAL(itemSelectionChanged()),this,SLOT(s_ShotTable_SelectionChanged())); connect(ShotTable,SIGNAL(RightClickEvent(QMouseEvent *)),this,SLOT(s_ShotTable_RightClickEvent(QMouseEvent *))); connect(ShotTable,SIGNAL(DragMoveItem()),this,SLOT(s_ShotTable_DragMoveItem())); connect(ui->AddShot,SIGNAL(pressed()),this,SLOT(s_ShotTable_AddShot())); connect(ui->actionAddShot,SIGNAL(triggered()),this,SLOT(s_ShotTable_AddShot())); connect(ui->RemoveShot,SIGNAL(pressed()),this,SLOT(s_ShotTable_RemoveShot())); connect(ui->actionRemoveShot,SIGNAL(triggered()),this,SLOT(s_ShotTable_RemoveShot())); connect(ui->actionMoveLeft,SIGNAL(triggered()),this,SLOT(s_ShotTable_MoveLeft())); connect(ui->actionMoveRight,SIGNAL(triggered()),this,SLOT(s_ShotTable_MoveRight())); connect(ui->SpeedWaveCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_BlockSettings_SpeedWave(int))); // Block animation connect(ui->BlockAnimCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_BlockSettings_BlockAnimType(int))); connect(ui->TurnZED,SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_BlockAnimTurnZValue(int))); connect(ui->TurnZSlider,SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_BlockAnimTurnZValue(int))); connect(ui->ResetTurnZBT,SIGNAL(released()),this,SLOT(s_BlockSettings_BlockAnimTurnZReset())); connect(ui->TurnXED,SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_BlockAnimTurnXValue(int))); connect(ui->TurnXSlider,SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_BlockAnimTurnXValue(int))); connect(ui->ResetTurnXBT,SIGNAL(released()),this,SLOT(s_BlockSettings_BlockAnimTurnXReset())); connect(ui->TurnYED,SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_BlockAnimTurnYValue(int))); connect(ui->TurnYSlider,SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_BlockAnimTurnYValue(int))); connect(ui->ResetTurnYBT,SIGNAL(released()),this,SLOT(s_BlockSettings_BlockAnimTurnYReset())); connect(ui->DissolveCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_BlockSettings_BlockAnimDissolveType(int))); // Block table/scene part connect(BlockTable,SIGNAL(itemSelectionChanged()),this,SLOT(s_BlockTable_SelectionChanged())); connect(BlockTable,SIGNAL(DoubleClickEvent(QMouseEvent *)),this,SLOT(s_BlockTable_ItemDoubleClicked(QMouseEvent *))); connect(BlockTable,SIGNAL(RightClickEvent(QMouseEvent *)),this,SLOT(s_BlockTable_ItemRightClicked(QMouseEvent *))); connect(BlockTable,SIGNAL(DragMoveBlock(int,int)),this,SLOT(s_BlockTable_DragMoveBlock(int,int))); connect(BlockTable,SIGNAL(DragDropFiles(QList)),this,SLOT(s_BlockTable_DragDropFiles(QList))); connect(ui->AddTextBlock,SIGNAL(pressed()),this,SLOT(s_BlockTable_AddNewTextBlock())); connect(ui->actionAddTextBlock,SIGNAL(triggered()),this,SLOT(s_BlockTable_AddNewTextBlock())); connect(ui->actionAddSimpleTextBlock,SIGNAL(triggered()),this,SLOT(s_BlockTable_AddNewSimpleTextBlock())); connect(ui->actionAddClipArtTextBlock,SIGNAL(triggered()),this,SLOT(s_BlockTable_AddNewClipArtTextBlock())); connect(ui->AddFileBlock,SIGNAL(pressed()),this,SLOT(s_BlockTable_AddNewFileBlock())); connect(ui->actionAddFile,SIGNAL(triggered()),this,SLOT(s_BlockTable_AddNewFileBlock())); connect(ui->actionRemoveBlock,SIGNAL(triggered()),this,SLOT(s_BlockTable_RemoveBlock())); connect(ui->AddSpecialBlock,SIGNAL(pressed()),this,SLOT(s_BlockTable_AddSpecialBlock())); connect(ui->actionAddImageClipboard,SIGNAL(triggered()),this,SLOT(s_BlockTable_AddImageClipboard())); connect(ui->actionAddGMapsMap,SIGNAL(triggered()),this,SLOT(s_BlockTable_AddGMapsMapBlock())); // Style buttons connect(ui->FramingStyleCB,SIGNAL(itemSelectionHaveChanged()),this,SLOT(s_BlockSettings_ChangeFramingStyle())); connect(ui->TextFramingStyleCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_BlockSettings_ChangeTextFramingStyle(int))); // Text annimation connect(ui->ZoomSlider,SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_TextAnimZoom(int))); connect(ui->ZoomED,SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_TextAnimZoom(int))); connect(ui->ZoomResetBT,SIGNAL(released()),this,SLOT(s_BlockSettings_TextAnimZoomReset())); connect(ui->ScrollXSlider,SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_TextAnimScrollX(int))); connect(ui->ScrollXED,SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_TextAnimScrollX(int))); connect(ui->ScrollXResetBT,SIGNAL(released()),this,SLOT(s_BlockSettings_TextAnimScrollXReset())); connect(ui->ScrollYSlider,SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_TextAnimScrollY(int))); connect(ui->ScrollYED,SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_TextAnimScrollY(int))); connect(ui->ScrollYResetBT,SIGNAL(released()),this,SLOT(s_BlockSettings_TextAnimScrollYReset())); // Interactive zone connect(InteractiveZone,SIGNAL(StartSelectionChange()),this,SLOT(s_BlockTable_StartSelectionChange())); connect(InteractiveZone,SIGNAL(EndSelectionChange()),this,SLOT(s_BlockTable_EndSelectionChange())); connect(InteractiveZone,SIGNAL(RightClickEvent(QMouseEvent *)),this,SLOT(s_BlockTable_ItemRightClicked(QMouseEvent *))); connect(InteractiveZone,SIGNAL(DoubleClickEvent(QMouseEvent *)),this,SLOT(s_BlockTable_ItemDoubleClicked(QMouseEvent *))); connect(InteractiveZone,SIGNAL(TransformBlock(qreal,qreal,qreal,qreal,qreal,qreal,qreal,qreal)),this,SLOT(s_BlockSettings_IntZoneTransformBlocks(qreal,qreal,qreal,qreal,qreal,qreal,qreal,qreal))); connect(InteractiveZone,SIGNAL(DisplayTransformBlock(qreal,qreal,qreal,qreal,qreal,qreal,qreal,qreal)),this,SLOT(s_BlockSettings_IntZoneDisplayTransformBlocks(qreal,qreal,qreal,qreal,qreal,qreal,qreal,qreal))); } //==================================================================================================================== void DlgSlideProperties::resizeEvent(QResizeEvent *) { ShotTable->setFixedHeight(ApplicationConfig->TimelineHeight/2+(ShotTable->height()-ShotTable->viewport()->height())); InteractiveZone->RefreshDisplay(); } //==================================================================================================================== void DlgSlideProperties::showEvent(QShowEvent *ev) { QCustomDialog::showEvent(ev); if (CurrentShot==NULL) { // Init ShotTable ShotTable->setUpdatesEnabled(false); ShotTable->setRowCount(1); ShotTable->setRowHeight(0,ShotTable->viewport()->height()); ShotTable->setColumnCount(CurrentSlide->List.count()/*-1*/); for (int i=0;iList.count();i++) ShotTable->setColumnWidth(i,CurrentSlide->Parent->GetWidthForHeight(ShotTable->rowHeight(0))); ShotTable->setCurrentCell(0,0); ShotTable->setUpdatesEnabled(true); ui->ZoomED->setFixedWidth(ui->ScrollXED->width()); } } //==================================================================================================================== // Save object before modification for cancel button void DlgSlideProperties::PrepareGlobalUndo() { Undo=new QDomDocument(APPLICATION_NAME); QDomElement root=Undo->createElement("UNDO-DLG"); // Create xml document and root CurrentSlide->SaveToXML(root,"UNDO-DLG-OBJECT",CurrentSlide->Parent->ProjectFileName,true,NULL,NULL,false); // Save object Undo->appendChild(root); // Add object to xml document } //==================================================================================================================== // Apply Undo : call when user click on Cancel button void DlgSlideProperties::DoGlobalUndo() { QDomElement root=Undo->documentElement(); if (root.tagName()=="UNDO-DLG") CurrentSlide->LoadFromXML(root,"UNDO-DLG-OBJECT","",NULL,NULL,false); } //==================================================================================================================== void DlgSlideProperties::keyReleaseEvent(QKeyEvent *event) { if ((focusWidget()==BlockTable)||(focusWidget()==InteractiveZone)||(focusWidget()==ShotTable)) { if (event->modifiers()==Qt::ControlModifier) { switch (event->key()) { case Qt::Key_C : s_BlockTable_Copy(); break; case Qt::Key_X : s_BlockTable_Cut(); break; case Qt::Key_V : s_BlockTable_Paste(); break; default : QCustomDialog::keyReleaseEvent(event); break; } } else if (event->modifiers()==Qt::NoModifier) { switch (event->key()) { case Qt::Key_Delete : if ((InteractiveZone->hasFocus())||(BlockTable->hasFocus())) s_BlockTable_RemoveBlock(); else if (ShotTable->hasFocus()) s_ShotTable_RemoveShot(); break; default : QCustomDialog::keyReleaseEvent(event); break; } } else QCustomDialog::keyReleaseEvent(event); } else QCustomDialog::keyReleaseEvent(event); } //==================================================================================================================== // Call when user click on Ok button bool DlgSlideProperties::DoAccept() { InRefreshControls=true; CurrentSlide->Parent->UpdateChapterInformation(); emit(SetModifyFlag()); return true; } void DlgSlideProperties::OKPrevious() { InRefreshControls=true; SaveWindowState(); // Save Window size and position CurrentSlide->Parent->UpdateChapterInformation(); emit(SetModifyFlag()); done(2); // Close the box } void DlgSlideProperties::OKNext() { InRefreshControls=true; SaveWindowState(); // Save Window size and position CurrentSlide->Parent->UpdateChapterInformation(); emit(SetModifyFlag()); done(3); // Close the box } void DlgSlideProperties::DoRejet() { InRefreshControls=true; } //==================================================================================================================== void DlgSlideProperties::PreparePartialUndo(int,QDomElement root,bool) { // Save current shot number root.setAttribute("CurrentShot",CurrentShotNbr); // Save blocktable current selection QModelIndexList SelList=BlockTable->selectionModel()->selectedIndexes(); QString Selection; for (int i=0;i0?"###":"")+QString("%1").arg(SelList.at(i).row()); root.setAttribute("Selection",Selection); CurrentSlide->SaveToXML(root,"UNDO-DLG-OBJECT",CurrentSlide->Parent->ProjectFileName,true,NULL,NULL,false); // Save all } //==================================================================================================================== void DlgSlideProperties::ApplyPartialUndo(int,QDomElement root) { ShotTable->setUpdatesEnabled(false); BlockTable->setUpdatesEnabled(false); InRefreshControls=true; // Restore all slide CurrentSlide->LoadFromXML(root,"UNDO-DLG-OBJECT","",NULL,NULL,false); // Restore all // Reset shot table while (ShotTable->columnCount()>0) ShotTable->removeColumn(ShotTable->columnCount()-1); for (int i=0;iList.count();i++) { ShotTable->insertColumn(i); ShotTable->setColumnWidth(i,CurrentSlide->Parent->GetWidthForHeight(ShotTable->rowHeight(0))); } // Restore current shot context CurrentShotNbr =root.attribute("CurrentShot").toInt(); ShotSelectMode =SELECTMODE_ONE; CurrentShot =CurrentSlide->List[CurrentShotNbr]; CompositionList =&CurrentShot->ShotComposition; BlockTable->CompositionList =CompositionList; BlockTable->CurrentShotNbr =CurrentShotNbr; InteractiveZone->CurrentShotNbr =CurrentShotNbr; ShotTable->setCurrentCell(0,CurrentShotNbr); // Reset blocktable BlockTable->setRowCount(CompositionList->List.count()); for (int i=0;irowCount();i++) BlockTable->setRowHeight(i,48+2+((((cApplicationConfig *)ApplicationConfig)->TimelineHeight-TIMELINEMINHEIGH)/20+1)*3); // Restore blocktable selection QStringList SelList=root.attribute("Selection").split("###"); BlockTable->clearSelection(); BlockTable->setCurrentCell(SelList[0].toInt(),0,QItemSelectionModel::Select|QItemSelectionModel::Current); for (int i=1;isetCurrentCell(SelList[i].toInt(),0,QItemSelectionModel::Select); // Remove thumb if it's first shot if (CurrentShotNbr==0) { ApplicationConfig->ImagesCache.RemoveImageObject(CurrentSlide->ThumbnailKey,-1); ApplicationConfig->SlideThumbsTable->ClearThumbs(CurrentSlide->ThumbnailKey); } InRefreshControls=false; CurrentSlide->Parent->UpdateChapterInformation(); BlockTable->setUpdatesEnabled(true); ShotTable->setUpdatesEnabled(true); InteractiveZone->RefreshDisplay(); RefreshControls(true); } //==================================================================================================================== void DlgSlideProperties::RefreshStyleControls() { if (InRefreshStyleControls) return; InRefreshStyleControls=true; bool IsVisible=(BlockSelectMode==SELECTMODE_ONE)&&(CurrentCompoObject); ui->FramingStyleCB ->setEnabled(IsVisible); ui->TextFramingStyleCB->setEnabled(IsVisible); ui->ShapeSizePosCB ->setEnabled(IsVisible); if (IsVisible) { ui->BlockShapeStyleED->setText(ApplicationConfig->StyleBlockShapeCollection.GetStyleName(CurrentCompoObject->GetBlockShapeStyle())); ui->ShapeSizePosCB->setUpdatesEnabled(false); ui->ShapeSizePosCB->clear(); int ImageType=CurrentCompoObject->BackgroundBrush->GetImageType(); int AutoCompo=CurrentCompoObject->GetAutoCompoSize(CurrentSlide->Parent->ImageGeometry); if (AutoCompo==AUTOCOMPOSIZE_CUSTOM) { // AUTOCOMPOSIZE_CUSTOM ui->ShapeSizePosCB->addItem(QApplication::translate("DlgImageCorrection","Custom size"),QVariant(AUTOCOMPOSIZE_CUSTOM)); ui->ShapeSizePosCB->setCurrentIndex(ui->ShapeSizePosCB->count()-1); } if ((ImageType!=AUTOCOMPOSIZE_CUSTOM)&&(ImageType!=IMAGETYPE_PHOTOLANDSCAPE)&&(ImageType!=IMAGETYPE_PHOTOPORTRAIT)) { // AUTOCOMPOSIZE_REALSIZE ui->ShapeSizePosCB->addItem(QApplication::translate("DlgImageCorrection","Real image size"),QVariant(AUTOCOMPOSIZE_REALSIZE)); if (AutoCompo==AUTOCOMPOSIZE_REALSIZE) ui->ShapeSizePosCB->setCurrentIndex(ui->ShapeSizePosCB->count()-1); } ui->ShapeSizePosCB->addItem(QApplication::translate("DlgImageCorrection","Full screen size"),QVariant(AUTOCOMPOSIZE_FULLSCREEN)); // AUTOCOMPOSIZE_FULLSCREEN if (AutoCompo==AUTOCOMPOSIZE_FULLSCREEN) ui->ShapeSizePosCB->setCurrentIndex(ui->ShapeSizePosCB->count()-1); ui->ShapeSizePosCB->addItem(QApplication::translate("DlgImageCorrection","TV margins"),QVariant(AUTOCOMPOSIZE_TVMARGINS)); // AUTOCOMPOSIZE_TVMARGINS if (AutoCompo==AUTOCOMPOSIZE_TVMARGINS) ui->ShapeSizePosCB->setCurrentIndex(ui->ShapeSizePosCB->count()-1); ui->ShapeSizePosCB->addItem(QApplication::translate("DlgImageCorrection","Two thirds screen"),QVariant(AUTOCOMPOSIZE_TWOTHIRDSSCREEN)); // AUTOCOMPOSIZE_TWOTHIRDSSCREEN if (AutoCompo==AUTOCOMPOSIZE_TWOTHIRDSSCREEN) ui->ShapeSizePosCB->setCurrentIndex(ui->ShapeSizePosCB->count()-1); ui->ShapeSizePosCB->addItem(QApplication::translate("DlgImageCorrection","Half screen"),QVariant(AUTOCOMPOSIZE_HALFSCREEN)); // AUTOCOMPOSIZE_HALFSCREEN if (AutoCompo==AUTOCOMPOSIZE_HALFSCREEN) ui->ShapeSizePosCB->setCurrentIndex(ui->ShapeSizePosCB->count()-1); ui->ShapeSizePosCB->addItem(QApplication::translate("DlgImageCorrection","Third screen"),QVariant(AUTOCOMPOSIZE_THIRDSCREEN)); // AUTOCOMPOSIZE_THIRDSCREEN if (AutoCompo==AUTOCOMPOSIZE_THIRDSCREEN) ui->ShapeSizePosCB->setCurrentIndex(ui->ShapeSizePosCB->count()-1); ui->ShapeSizePosCB->addItem(QApplication::translate("DlgImageCorrection","Quarter screen"),QVariant(AUTOCOMPOSIZE_QUARTERSCREEN)); // AUTOCOMPOSIZE_QUARTERSCREEN if (AutoCompo==AUTOCOMPOSIZE_QUARTERSCREEN) ui->ShapeSizePosCB->setCurrentIndex(ui->ShapeSizePosCB->count()-1); ui->ShapeSizePosCB->setUpdatesEnabled(true); StopMajFramingStyle=true; if ((!CurrentCompoObject->BackgroundBrush->MediaObject)||(CurrentCompoObject->BackgroundBrush->MediaObject->ObjectType==OBJECTTYPE_UNMANAGED)) { // It's a text block if (ui->FramingStyleCB->isVisible()) ui->FramingStyleCB->setVisible(false); if (!ui->TextFramingStyleCB->isVisible()) ui->TextFramingStyleCB->setVisible(true); if (!ui->TextFramingStyleLabel->isVisible()) ui->TextFramingStyleLabel->setVisible(true); if (ui->TextFramingStyleCB->itemText(0)!=QApplication::translate("DlgImageCorrection","Unlock")) { ui->TextFramingStyleCB->setUpdatesEnabled(false); ui->TextFramingStyleCB->clear(); ui->TextFramingStyleCB->addItem(QIcon(ICON_GEOMETRY_UNLOCKED),QApplication::translate("DlgImageCorrection","Unlock"),QVariant(AUTOFRAMING_CUSTOMLOCK)); ui->TextFramingStyleCB->addItem(QIcon(ICON_GEOMETRY_LOCKED), QApplication::translate("DlgImageCorrection","Lock to this geometry"),QVariant(AUTOFRAMING_CUSTOMUNLOCK)); ui->TextFramingStyleCB->addItem(QIcon(ICON_GEOMETRY_PROJECT), QApplication::translate("DlgImageCorrection","Lock to project geometry"),QVariant(AUTOFRAMING_CUSTOMPRJLOCK)); } int Index=1; if (!CurrentCompoObject->BackgroundBrush->LockGeometry) Index=0; else if (CurrentCompoObject->BackgroundBrush->AspectRatio==ProjectGeometry) Index=2; if (ui->TextFramingStyleCB->currentIndex()!=Index) ui->TextFramingStyleCB->setCurrentIndex(Index); if (!ui->TextFramingStyleCB->updatesEnabled()) ui->TextFramingStyleCB->setUpdatesEnabled(true); } else { // It's Image or video or ... if (ui->TextFramingStyleCB->isVisible()) ui->TextFramingStyleCB->setVisible(false); if (!ui->FramingStyleCB->isVisible()) ui->FramingStyleCB->setVisible(true); if ((FramingCB_CurrentBrush!=CurrentCompoObject->BackgroundBrush)||(FramingCB_CurrentShot!=CurrentShotNbr)) { int Position=0; // Compute position of video if (ISVIDEO(CurrentCompoObject->BackgroundBrush)) { for (int i=0;icurrentColumn();i++) for (int j=0;jList[i]->ShotComposition.List.count();j++) if (CurrentSlide->List[i]->ShotComposition.List[j]->IndexKey==CurrentCompoObject->IndexKey) { if (CurrentSlide->List[i]->ShotComposition.List[j]->IsVisible) Position+=CurrentSlide->List[i]->StaticDuration; } } QImage *CachedImage=NULL; if (CurrentCompoObject->BackgroundBrush->MediaObject) { if (CurrentCompoObject->BackgroundBrush->MediaObject->ObjectType!=OBJECTTYPE_VIDEOFILE) CachedImage=CurrentCompoObject->BackgroundBrush->MediaObject->ImageAt(true); else CachedImage=((cVideoFile *)CurrentCompoObject->BackgroundBrush->MediaObject)->ImageAt(true,Position+QTime(0,0,0,0).msecsTo(((cVideoFile *)CurrentCompoObject->BackgroundBrush->MediaObject)->StartPos),NULL,CurrentCompoObject->BackgroundBrush->Deinterlace,1,false,false); } if ((CachedImage)&&(CachedImage->format()!=QImage::Format_ARGB32_Premultiplied)) { QImage *NewCachedImage=new QImage(CachedImage->convertToFormat(QImage::Format_ARGB32_Premultiplied)); delete CachedImage; CachedImage=NewCachedImage; } if (CachedImage) { ui->FramingStyleCB->X=CurrentCompoObject->BackgroundBrush->X; ui->FramingStyleCB->Y=CurrentCompoObject->BackgroundBrush->Y; ui->FramingStyleCB->ZoomFactor=CurrentCompoObject->BackgroundBrush->ZoomFactor; ui->FramingStyleCB->AspectRatio=CurrentCompoObject->BackgroundBrush->AspectRatio; ui->FramingStyleCB->PrepareFramingStyleTable(true,/*FILTERFRAMING_ALL*/FILTERFRAMING_IMAGE|FILTERFRAMING_PROJECT,CurrentCompoObject->BackgroundBrush,CachedImage,CurrentCompoObject->BackgroundForm,ProjectGeometry); delete CachedImage; } } ui->FramingStyleCB->SetCurrentFraming(CurrentCompoObject->BackgroundBrush->GetCurrentFramingStyle(ProjectGeometry)); } ui->BackgroundFormCB->PrepareFrameShapeTable(true,0,CurrentCompoObject->BackgroundForm); ui->BackgroundFormCB->SetCurrentFrameShape(CurrentCompoObject->BackgroundForm); StopMajFramingStyle=false; FramingCB_CurrentBrush=CurrentCompoObject->BackgroundBrush; FramingCB_CurrentShot =CurrentShotNbr; } else { FramingCB_CurrentBrush=NULL; FramingCB_CurrentShot =CurrentShotNbr; ui->ShapeSizePosCB->clear(); if (!ui->FramingStyleCB->isVisible()) ui->FramingStyleCB->setVisible(true); if (ui->TextFramingStyleCB->isVisible()) ui->TextFramingStyleCB->setVisible(false); if (!ui->TextFramingStyleLabel->isVisible()) ui->TextFramingStyleLabel->setVisible(false); ui->BlockShapeStyleED->setText(""); ui->FramingStyleCB->clear(); ui->BackgroundFormCB->clear(); } InRefreshStyleControls=false; } //==================================================================================================================== void DlgSlideProperties::RefreshControls(bool UpdateInteractiveZone) { if ((InRefreshControls)||(!CompositionList)) return; InRefreshControls=true; QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); for (int Shot=0;ShotList.count();Shot++) for (int Block=0;BlockList[Shot]->ShotComposition.List.count();Block++) CurrentSlide->List[Shot]->ShotComposition.List[Block]->ComputeOptimisationFlags(Shot>0?CurrentSlide->List[Shot-1]->ShotComposition.List[Block]:NULL); //*********************** // Tools button //*********************** ui->EditBT-> setEnabled((BlockSelectMode==SELECTMODE_ONE)); ui->ArrangeBT-> setEnabled((BlockSelectMode==SELECTMODE_ONE)||(BlockSelectMode==SELECTMODE_MULTIPLE)); ui->InfoBlockBT-> setEnabled((BlockSelectMode==SELECTMODE_ONE)&&(CurrentCompoObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK)); // actions ui->actionTop-> setEnabled((BlockSelectMode==SELECTMODE_MULTIPLE)); ui->actionMiddle-> setEnabled((BlockSelectMode==SELECTMODE_MULTIPLE)); ui->actionBottom-> setEnabled((BlockSelectMode==SELECTMODE_MULTIPLE)); ui->actionLeft-> setEnabled((BlockSelectMode==SELECTMODE_MULTIPLE)); ui->actionCenter-> setEnabled((BlockSelectMode==SELECTMODE_MULTIPLE)); ui->actionRight-> setEnabled((BlockSelectMode==SELECTMODE_MULTIPLE)); ui->actionDistributeHoriz-> setEnabled((NbrSelected>=3)); ui->actionDistributeVert-> setEnabled((NbrSelected>=3)); ui->actionSetVisible-> setEnabled((BlockSelectMode==SELECTMODE_ONE)); ui->actionSetHide-> setEnabled((BlockSelectMode==SELECTMODE_ONE)); ui->actionTakeSound-> setEnabled((BlockSelectMode==SELECTMODE_ONE)&&(CurrentCompoObject->IsVisible) &&(ISVIDEO(CurrentCompoObject->BackgroundBrush))&&(CurrentCompoObject->BackgroundBrush->SoundVolume==0)); ui->actionEditImage-> setEnabled((BlockSelectMode==SELECTMODE_ONE)&&(CurrentCompoObject->IsVisible) &&(CurrentCompoObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK)); ui->actionEditText-> setEnabled((BlockSelectMode==SELECTMODE_ONE)&&(CurrentCompoObject->IsVisible)); ui->actionInfo-> setEnabled((BlockSelectMode==SELECTMODE_ONE)&&(CurrentCompoObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK)); ui->actionRemoveBlock-> setEnabled((BlockSelectMode==SELECTMODE_ONE)||(BlockSelectMode==SELECTMODE_MULTIPLE)); ui->actionUpBlock-> setEnabled((BlockSelectMode==SELECTMODE_ONE)&&(CurrentCompoObjectNbr>0)); ui->actionDownBlock-> setEnabled((BlockSelectMode==SELECTMODE_ONE)&&(CurrentCompoObjectNbrrowCount()-1)); ui->actionCopy-> setEnabled((BlockSelectMode==SELECTMODE_ONE)||(BlockSelectMode==SELECTMODE_MULTIPLE)); ui->actionCut-> setEnabled((BlockSelectMode==SELECTMODE_ONE)||(BlockSelectMode==SELECTMODE_MULTIPLE)); if ((CurrentCompoObject)&&(CurrentCompoObject->BackgroundBrush->MediaObject)&&(ui->actionEditImage->isEnabled())) { switch (CurrentCompoObject->BackgroundBrush->MediaObject->ObjectType) { case OBJECTTYPE_VIDEOFILE: ui->actionEditImage->setText(QApplication::translate("DlgSlideProperties","Correct, reframe or cut video","Action title in slide edit dialog + dialog title of image edit dialog")); ui->actionEditImage->setToolTip(QApplication::translate("DlgSlideProperties","Define framing and correction of image or cut video","Tooltip")); ui->actionEditImage->setIcon(QIcon(ICON_EDIT_MOVIE)); break; case OBJECTTYPE_IMAGEFILE: case OBJECTTYPE_IMAGECLIPBOARD: ui->actionEditImage->setText(QApplication::translate("DlgSlideProperties","Correct or reframe image","Action title in slide edit dialog + dialog title of image edit dialog")); ui->actionEditImage->setToolTip(QApplication::translate("DlgSlideProperties","Define framing and correction of image","Tooltip")); ui->actionEditImage->setIcon(QIcon(ICON_EDIT_IMAGE)); break; case OBJECTTYPE_IMAGEVECTOR: ui->actionEditImage->setText(QApplication::translate("DlgSlideProperties","Reframe image vector","Action title in slide edit dialog + dialog title of image edit dialog")); ui->actionEditImage->setToolTip(QApplication::translate("DlgSlideProperties","Define framing and correction of image vector","Tooltip")); ui->actionEditImage->setIcon(QIcon(ICON_EDIT_IMAGE)); break; case OBJECTTYPE_GMAPSMAP: ui->actionEditImage->setText(QApplication::translate("DlgSlideProperties","Modify Google Maps map","Action title in slide edit dialog + dialog title of image edit dialog")); ui->actionEditImage->setToolTip(QApplication::translate("DlgSlideProperties","Define Modify Google Maps map and framing and correction of map","Tooltip")); ui->actionEditImage->setIcon(QIcon(ICON_EDIT_GMAPS)); break; default: break; // avoid warning } } // Change icons for visible and getsound buttons/actions if (BlockSelectMode==SELECTMODE_ONE) ui->actionTakeSound->setIcon(QIcon(QString(CurrentCompoObject->BackgroundBrush->SoundVolume==0?ICON_SOUND_OK:ICON_SOUND_KO))); //************************** // Speed wave //************************** if ((BlockSelectMode==SELECTMODE_ONE)&&(CurrentCompoObject)&&(CurrentCompoObject->IsVisible)) { ui->SpeedWaveCB->setEnabled(true); ui->SpeedWaveLabel->setEnabled(true); ui->SpeedWaveCB->SetCurrentValue(CurrentCompoObject->BlockSpeedWave); } else { ui->SpeedWaveCB->setEnabled(false); ui->SpeedWaveLabel->setEnabled(false); ui->SpeedWaveCB->SetCurrentValue(SPEEDWAVE_PROJECTDEFAULT); } //************************** // Text animation controls //************************** if ((BlockSelectMode==SELECTMODE_ONE)&&(CurrentCompoObject)&&(CurrentCompoObject->IsVisible)) { ui->ZoomLabel-> setEnabled(true); ui->ZoomSlider-> setEnabled(true); ui->ZoomED-> setEnabled(true); ui->ZoomResetBT-> setEnabled(true); ui->ScrollXLabel->setEnabled(true); ui->ScrollXSlider->setEnabled(true); ui->ScrollXED->setEnabled(true); ui->ScrollXResetBT->setEnabled(true); ui->ScrollYLabel->setEnabled(true); ui->ScrollYSlider->setEnabled(true); ui->ScrollYED->setEnabled(true); ui->ScrollYResetBT->setEnabled(true); ui->ZoomSlider->setValue(CurrentCompoObject->TxtZoomLevel); ui->ZoomED->setValue(CurrentCompoObject->TxtZoomLevel); ui->ScrollXSlider->setValue(CurrentCompoObject->TxtScrollX); ui->ScrollXED->setValue(CurrentCompoObject->TxtScrollX); ui->ScrollYSlider->setValue(CurrentCompoObject->TxtScrollY); ui->ScrollYED->setValue(CurrentCompoObject->TxtScrollY); } else { ui->ZoomLabel-> setEnabled(false); ui->ZoomSlider-> setEnabled(false); ui->ZoomED-> setEnabled(false); ui->ZoomResetBT-> setEnabled(false); ui->ScrollXLabel->setEnabled(false); ui->ScrollXSlider->setEnabled(false); ui->ScrollXED->setEnabled(false); ui->ScrollXResetBT->setEnabled(false); ui->ScrollYLabel->setEnabled(false); ui->ScrollYSlider->setEnabled(false); ui->ScrollYED->setEnabled(false); ui->ScrollYResetBT->setEnabled(false); ui->ZoomSlider->setValue(100); ui->ZoomED->setValue(100); ui->ScrollXSlider->setValue(0); ui->ScrollXED->setValue(0); ui->ScrollYSlider->setValue(0); ui->ScrollYED->setValue(0); } //************************** // Block animation controls //************************** if ((BlockSelectMode==SELECTMODE_ONE)&&(CurrentCompoObject)&&(CurrentCompoObject->IsVisible)) { ui->BlockAnimLabel->setEnabled(true); ui->BlockAnimCB->setEnabled(true); ui->BlockAnimCB->setCurrentIndex(CurrentCompoObject->BlockAnimType); } else { ui->BlockAnimLabel->setEnabled(false); ui->BlockAnimCB->setEnabled(false); ui->BlockAnimCB->setCurrentIndex(-1); } // Multiple turn animation if ((BlockSelectMode==SELECTMODE_ONE)&&(CurrentCompoObject)&&(CurrentCompoObject->IsVisible)&&(CurrentCompoObject->BlockAnimType==BLOCKANIMTYPE_MULTIPLETURN)) { ui->TurnZLabel->setEnabled(true); ui->TurnZSlider->setEnabled(true); ui->TurnZED->setEnabled(true); ui->ResetTurnZBT->setEnabled(true); ui->TurnZLabel->setVisible(true); ui->TurnZSlider->setVisible(true); ui->TurnZED->setVisible(true); ui->ResetTurnZBT->setVisible(true); ui->TurnXLabel->setEnabled(true); ui->TurnXSlider->setEnabled(true); ui->TurnXED->setEnabled(true); ui->ResetTurnXBT->setEnabled(true); ui->TurnXLabel->setVisible(true); ui->TurnXSlider->setVisible(true); ui->TurnXED->setVisible(true); ui->ResetTurnXBT->setVisible(true); ui->TurnYLabel->setEnabled(true); ui->TurnYSlider->setEnabled(true); ui->TurnYED->setEnabled(true); ui->ResetTurnYBT->setEnabled(true); ui->TurnYLabel->setVisible(true); ui->TurnYSlider->setVisible(true); ui->TurnYED->setVisible(true); ui->ResetTurnYBT->setVisible(true); ui->TurnZED->setValue(CurrentCompoObject->TurnZAxis); ui->TurnZSlider->setValue(CurrentCompoObject->TurnZAxis); ui->TurnXED->setValue(CurrentCompoObject->TurnXAxis); ui->TurnXSlider->setValue(CurrentCompoObject->TurnXAxis); ui->TurnYED->setValue(CurrentCompoObject->TurnYAxis); ui->TurnYSlider->setValue(CurrentCompoObject->TurnYAxis); } else { ui->TurnZLabel->setVisible(false); ui->TurnZSlider->setVisible(false); ui->TurnZED->setVisible(false); ui->ResetTurnZBT->setVisible(false); ui->TurnXLabel->setVisible(false); ui->TurnXSlider->setVisible(false); ui->TurnXED->setVisible(false); ui->ResetTurnXBT->setVisible(false); ui->TurnYLabel->setVisible(false); ui->TurnYSlider->setVisible(false); ui->TurnYED->setVisible(false); ui->ResetTurnYBT->setVisible(false); } // Dissolve animation if ((BlockSelectMode==SELECTMODE_ONE)&&(CurrentCompoObject)&&(CurrentCompoObject->IsVisible)&&(CurrentCompoObject->BlockAnimType==BLOCKANIMTYPE_DISSOLVE)) { ui->DissolveLabel->setEnabled(true); ui->DissolveLabel->setVisible(true); ui->DissolveCB-> setEnabled(true); ui->DissolveCB-> setVisible(true); ui->DissolveCB->setCurrentIndex(CurrentCompoObject->Dissolve); } else { ui->DissolveLabel->setEnabled(false); ui->DissolveLabel->setVisible(false); ui->DissolveCB-> setEnabled(false); ui->DissolveCB-> setVisible(false); } RefreshStyleControls(); QApplication::restoreOverrideCursor(); InRefreshControls=false; cShotComposer::RefreshControls(UpdateInteractiveZone); } //==================================================================================================================== // Refresh background image of the scene void DlgSlideProperties::s_RefreshSceneImage() { InteractiveZone->RefreshDisplay(); } //==================================================================================================================== // Display or hide rulers //==================================================================================================================== void DlgSlideProperties::s_RulersBt() { DlgRulerDef Dlg(&InteractiveZone->MagneticRuler,true,ApplicationConfig,this); Dlg.InitDialog(); connect(&Dlg,SIGNAL(RefreshDisplay()),this,SLOT(s_RefreshSceneImage())); if (Dlg.exec()==0) { ApplicationConfig->SlideRuler=InteractiveZone->MagneticRuler; ui->RulersBT->setIcon(QIcon(QString(InteractiveZone->MagneticRuler!=0?ICON_RULER_ON:ICON_RULER_OFF))); } InteractiveZone->RefreshDisplay(); } //==================================================================================================================== cCompositionObject *DlgSlideProperties::GetSelectedGlobalCompositionObject() { int CurrentBlock=BlockTable->currentRow(); if ((CurrentBlock<0)||(CurrentBlock>=CompositionList->List.count())) return NULL; return GetGlobalCompositionObject(CompositionList->List[CurrentBlock]->IndexKey); } //==================================================================================================================== cCompositionObject *DlgSlideProperties::GetSelectedCompositionObject() { int CurrentBlock=BlockTable->currentRow(); if ((CurrentBlock<0)||(CurrentBlock>=CompositionList->List.count())) return NULL; else return CompositionList->List[CurrentBlock]; } //==================================================================================================================== // SLIDE SETTINGS //==================================================================================================================== void DlgSlideProperties::s_SlideSet_ChapterInformation() { AppendPartialUndo(UNDOACTION_FULL_SLIDE,InteractiveZone,true); DlgChapter Dlg(CurrentSlide,ApplicationConfig,this); Dlg.InitDialog(); if (Dlg.exec()!=0) RemoveLastPartialUndo(); else CurrentSlide->Parent->UpdateChapterInformation(); RefreshControls(true); } //=================================================================================== void DlgSlideProperties::s_SlideSet_SlideNameChange(QString NewText) { if (InRefreshControls) return; // No action if in control setup AppendPartialUndo(UNDOACTION_FULL_SLIDE,ui->SlideNameED,false); CurrentSlide->SlideName=NewText; } //=================================================================================== void DlgSlideProperties::s_SlideSet_SaveModel() { QMenu *ContextMenu=new QMenu(this); ContextMenu->addAction(ui->actionSaveAsProjectTitleModel); ContextMenu->addAction(ui->actionSaveAsCptTitleModels); ContextMenu->addAction(ui->actionSaveAsCreditTitleModels); ContextMenu->exec(QCursor::pos()); delete ContextMenu; ui->SaveModelBT->setDown(false); } //=================================================================================== void DlgSlideProperties::s_SlideSet_SaveAsProjectTitleModel() { CurrentSlide->SaveAsNewCustomModelFile(ffd_MODELTYPE_PROJECTTITLE); CustomMessageBox(this,QMessageBox::Information,ui->actionSaveAsProjectTitleModel->text(), QApplication::translate("DlgSlideProperties","Slide added in Project title models collection","Information message"),QMessageBox::Close); } //=================================================================================== void DlgSlideProperties::s_SlideSet_SaveAsCptTitleModels() { CurrentSlide->SaveAsNewCustomModelFile(ffd_MODELTYPE_CHAPTERTITLE); CustomMessageBox(this,QMessageBox::Information,ui->actionSaveAsCptTitleModels->text(), QApplication::translate("DlgSlideProperties","Slide added in Chapter title models collection","Information message"),QMessageBox::Close); } //=================================================================================== void DlgSlideProperties::s_SlideSet_SaveAsCreditTitleModels() { CurrentSlide->SaveAsNewCustomModelFile(ffd_MODELTYPE_CREDITTITLE); CustomMessageBox(this,QMessageBox::Information,ui->actionSaveAsCreditTitleModels->text(), QApplication::translate("DlgSlideProperties","Slide added in Credit title models collection","Information message"),QMessageBox::Close); } //==================================================================================================================== // SHOT SETTINGS //==================================================================================================================== void DlgSlideProperties::s_ShotTable_DurationChange(QTime NewValue) { if ((InDisplayDuration)||(CurrentShot==NULL)) return; // No action if in control setup or if no shot was selected AppendPartialUndo(UNDOACTION_FULL_SLIDE,ui->ShotDurationED,false); CurrentShot->StaticDuration=QTime(0,0,0,0).msecsTo(NewValue); s_ShotTable_DisplayDuration(); } //=================================================================================== void DlgSlideProperties::s_ShotTable_AddShot() { if ((InRefreshControls)||(CurrentShot==NULL)) return; // No action if in control setup or if no shot was selected AppendPartialUndo(UNDOACTION_FULL_SLIDE,ShotTable,true); // Insert a new empty shot after current shot in the current slide CurrentSlide->List.insert(CurrentShotNbr+1,new cDiaporamaShot(CurrentSlide)); // Fill this new shot with copy of all blocks of current shot cDiaporamaShot *imagesequence=CurrentSlide->List[CurrentShotNbr+1]; for (int i=0;iList.count();i++) { imagesequence->ShotComposition.List.append(new cCompositionObject(COMPOSITIONTYPE_SHOT,CompositionList->List[i]->IndexKey,ApplicationConfig,&imagesequence->ShotComposition)); imagesequence->ShotComposition.List[i]->CopyFromCompositionObject(CompositionList->List[i]); } ShotTable->setUpdatesEnabled(false); ShotTable->insertColumn(CurrentShotNbr+1); ShotTable->setColumnWidth(CurrentShotNbr+1,CurrentSlide->Parent->GetWidthForHeight(ShotTable->rowHeight(0))); // Change current shot to this new shot ShotTable->SetCurrentCell(CurrentShotNbr+1); ShotTable->setUpdatesEnabled(true); } //=================================================================================== void DlgSlideProperties::s_ShotTable_RemoveShot() { if (CurrentSlide->List.count()<2) return; // Don't remove last shot if ((InRefreshControls)||(CurrentShot==NULL)) return; // No action if in control setup or if no shot was selected if ((ApplicationConfig->AskUserToRemove)&&(CustomMessageBox(this,QMessageBox::Question,QApplication::translate("DlgSlideProperties","Remove shot"),QApplication::translate("DlgSlideProperties","Are you sure you want to delete this shot?"), QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::No)) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,ShotTable,true); InRefreshControls=true; // Remove shot from slide delete CurrentSlide->List.takeAt(CurrentShotNbr); // Remove shot from shot table int ShotNbr=CurrentShotNbr; ShotTable->setUpdatesEnabled(false); ShotTable->removeColumn(ShotNbr); if (ShotNbr>=CurrentSlide->List.count()) ShotNbr--; ShotTable->SetCurrentCell(ShotNbr); ShotTable->setUpdatesEnabled(true); InRefreshControls=false; s_ShotTable_SelectionChanged(); } //=================================================================================== void DlgSlideProperties::s_ShotTable_DragMoveItem() { AppendPartialUndo(UNDOACTION_FULL_SLIDE,ShotTable,true); int Src=ShotTable->DragItemSource; int Dst=ShotTable->DragItemDest; if ((Src<0)||(Src>=CurrentSlide->List.count())||(Dst<0)||(Dst>CurrentSlide->List.count())) return; cDiaporamaShot *ObjSrc=CurrentSlide->List.takeAt(Src); if (SrcList.insert(Dst,ObjSrc); ShotTable->setUpdatesEnabled(false); ShotTable->SetCurrentCell(Dst); ShotTable->setUpdatesEnabled(true); // Reset timeline painting } //=================================================================================== void DlgSlideProperties::s_ShotTable_MoveLeft() { if ((InRefreshControls)||(CurrentShot==NULL)) return; // No action if in control setup or if no shot was selected AppendPartialUndo(UNDOACTION_FULL_SLIDE,ShotTable,true); if (CurrentShotNbr>0) { CurrentSlide->List.swap(CurrentShotNbr,CurrentShotNbr-1); ShotTable->setUpdatesEnabled(false); ShotTable->SetCurrentCell(CurrentShotNbr-1); ShotTable->setUpdatesEnabled(true); // Reset timeline painting } } //=================================================================================== void DlgSlideProperties::s_ShotTable_MoveRight() { if ((InRefreshControls)||(CurrentShot==NULL)) return; // No action if in control setup or if no shot was selected AppendPartialUndo(UNDOACTION_FULL_SLIDE,ShotTable,true); if (CurrentShotNbrList.count()-1) { CurrentSlide->List.swap(CurrentShotNbr+1,CurrentShotNbr); ShotTable->setUpdatesEnabled(false); ShotTable->SetCurrentCell(CurrentShotNbr+1); ShotTable->setUpdatesEnabled(true); // Reset timeline painting } } //=================================================================================== void DlgSlideProperties::s_ShotTable_SelectionChanged() { if (InRefreshControls) return; // No action if in control setup or if no shot was selected // Keep link to current shot CurrentShotNbr=ShotTable->currentColumn(); if ((CurrentShotNbr<0)||(CurrentShotNbr>=CurrentSlide->List.count())) { ShotSelectMode =SELECTMODE_NONE; CurrentShot =NULL; CompositionList =NULL; CurrentShotNbr =-1; } else { ShotSelectMode =SELECTMODE_ONE; CurrentShot =CurrentSlide->List[CurrentShotNbr]; CompositionList =&CurrentShot->ShotComposition; } // Because block order can change from a shot to another, try to keep current block by looking at indexkey int i =BlockTable->currentRow(); int IndexKey=-1; if ((CompositionList!=NULL)&&(i>=0)&&(iList.count())) IndexKey=CompositionList->List[i]->IndexKey; int CurrentBlockTableIndex=0; if (IndexKey!=-1) { while ((CurrentBlockTableIndexList.count())&&(CompositionList->List[CurrentBlockTableIndex]->IndexKey!=IndexKey)) CurrentBlockTableIndex++; if (CurrentBlockTableIndex>=CompositionList->List.count()) CurrentBlockTableIndex=0; } BlockTable->CompositionList =CompositionList; BlockTable->CurrentShotNbr =CurrentShotNbr; InteractiveZone->CurrentShotNbr =CurrentShotNbr; ui->actionMoveLeft->setEnabled(CurrentShotNbr>0); ui->actionMoveRight->setEnabled(CurrentShotNbrcolumnCount()-1); ui->RemoveShot->setEnabled(CurrentSlide->List.count()>1); ui->actionRemoveShot->setEnabled(CurrentSlide->List.count()>1); s_ShotTable_DisplayDuration(); RefreshBlockTable(CurrentBlockTableIndex); } //=================================================================================== void DlgSlideProperties::s_ShotTable_DisplayDuration() { // duration and shot duration InDisplayDuration=true; ui->SlideDurationLabel->setText(QTime(0,0,0,0).addMSecs(CurrentSlide->GetDuration()).toString("hh:mm:ss.zzz")); ui->ShotDurationED->setTime(QTime(0,0,0,0).addMSecs(CurrentShot->StaticDuration)); // Minimum shot duration display int AddingDuration=0; if (CurrentShotNbr==(CurrentSlide->List.count()-1)) { // If it's the last shot int TotalDuration=CurrentSlide->GetDuration(); int Duration=0; for (int i=0;iList.count();i++) Duration=Duration+CurrentSlide->List[i]->StaticDuration; if (DurationMinShotDurationLabel->setText(""); else { int qDuration=CurrentShot->StaticDuration+AddingDuration; int msec =qDuration % 1000; qDuration=qDuration/1000; int sec =qDuration % 60; qDuration=qDuration/60; int mn =qDuration % 60; qDuration=qDuration/60; int hours =qDuration % 24; int days =qDuration / 24; QString Duration; if (days>0) Duration=QString("%1.%2:%3:%4.%5").arg(ito2a(days)).arg(ito2a(hours)).arg(ito2a(mn)).arg(ito2a(sec)).arg(ito3a(msec)); else Duration=QString("%1:%2:%3.%4").arg(ito2a(hours)).arg(ito2a(mn)).arg(ito2a(sec)).arg(ito3a(msec)); ui->MinShotDurationLabel->setText(QString(QApplication::translate("DlgSlideProperties","Lengthened to %1")).arg(Duration)); } InDisplayDuration=false; for (int i=CurrentShotNbr;iList.count();i++) ShotTable->RepaintCell(i); if (CurrentShotNbr!=CurrentSlide->List.count()-1) ShotTable->RepaintCell(CurrentSlide->List.count()-1); } //=================================================================================== void DlgSlideProperties::s_ShotTable_RightClickEvent(QMouseEvent *) { QMenu *ContextMenu=new QMenu(this); ContextMenu->addAction(ui->actionAddShot); ContextMenu->addAction(ui->actionRemoveShot); ContextMenu->addAction(ui->actionMoveLeft); ContextMenu->addAction(ui->actionMoveRight); ContextMenu->exec(QCursor::pos()); delete ContextMenu; } //==================================================================================================================== // BLOCK TABLE SETTINGS //==================================================================================================================== void DlgSlideProperties::s_BlockTable_StartSelectionChange() { InSelectionChange=true; } void DlgSlideProperties::s_BlockTable_EndSelectionChange() { InSelectionChange=false; s_BlockTable_SelectionChanged(); } //==================================================================================================================== // User double click on a block in the BlockTable widget or in the scene void DlgSlideProperties::s_BlockTable_ItemDoubleClicked(QMouseEvent *) { if (BlockSelectMode!=SELECTMODE_ONE) return; if (CurrentCompoObject->BackgroundBrush->BrushType!=BRUSHTYPE_IMAGEDISK) s_BlockSettings_TextEditor(); else s_BlockSettings_ImageEditCorrect(); } //==================================================================================================================== void DlgSlideProperties::s_BlockSettings_Arrange() { QMenu *ContextMenu=new QMenu(this); ContextMenu->addAction(ui->actionTop); ContextMenu->addAction(ui->actionMiddle); ContextMenu->addAction(ui->actionBottom); ContextMenu->addSeparator(); ContextMenu->addAction(ui->actionLeft); ContextMenu->addAction(ui->actionCenter); ContextMenu->addAction(ui->actionRight); ContextMenu->addSeparator(); ContextMenu->addAction(ui->actionDistributeHoriz); ContextMenu->addAction(ui->actionDistributeVert); ContextMenu->addSeparator(); ContextMenu->addAction(ui->actionUpBlock); ContextMenu->addAction(ui->actionDownBlock); ContextMenu->exec(QCursor::pos()); delete ContextMenu; ui->ArrangeBT->setDown(false); } //==================================================================================================================== void DlgSlideProperties::s_BlockSettings_Edit() { QMenu *ContextMenu=new QMenu(this); ContextMenu->addAction(ui->actionCut); ContextMenu->addAction(ui->actionCopy); ContextMenu->addAction(ui->actionPaste); ContextMenu->addSeparator(); ContextMenu->addAction(ui->actionEditText); if (ui->actionEditImage->isEnabled()) ContextMenu->addAction(ui->actionEditImage); ContextMenu->addSeparator(); ContextMenu->addAction(ui->actionRemoveBlock); if (NbrSelected==1) { // Single selection ContextMenu->addSeparator(); if (CurrentCompoObject->IsVisible) ContextMenu->addAction(ui->actionSetHide); else ContextMenu->addAction(ui->actionSetVisible); if (ISVIDEO(CurrentCompoObject->BackgroundBrush)) ContextMenu->addAction(ui->actionTakeSound); } ContextMenu->exec(QCursor::pos()); delete ContextMenu; ui->EditBT->setDown(false); } //==================================================================================================================== // User right click on a block in the BlockTable widget or in the scene void DlgSlideProperties::s_BlockTable_ItemRightClicked(QMouseEvent *) { if (BlockSelectMode==SELECTMODE_NONE) { QMenu *ContextMenu=new QMenu(this); ContextMenu->addAction(ui->actionCut); ContextMenu->addAction(ui->actionCopy); ContextMenu->addAction(ui->actionPaste); ContextMenu->addSeparator(); ContextMenu->addAction(ui->actionAddTextBlock); ContextMenu->addAction(ui->actionAddFile); ContextMenu->addAction(ui->actionAddImageClipboard); ContextMenu->addAction(ui->actionAddGMapsMap); ContextMenu->exec(QCursor::pos()); delete ContextMenu; } else if (BlockSelectMode==SELECTMODE_ONE) { QMenu *ContextMenu=new QMenu(this); ContextMenu->addAction(ui->actionCut); ContextMenu->addAction(ui->actionCopy); ContextMenu->addAction(ui->actionPaste); ContextMenu->addSeparator(); ContextMenu->addAction(ui->actionEditText); if (ui->actionEditImage->isEnabled()) ContextMenu->addAction(ui->actionEditImage); ContextMenu->addSeparator(); ContextMenu->addAction(ui->actionRemoveBlock); ContextMenu->addSeparator(); if (CurrentCompoObject->IsVisible) ContextMenu->addAction(ui->actionSetHide); else ContextMenu->addAction(ui->actionSetVisible); if (ISVIDEO(CurrentCompoObject->BackgroundBrush)) ContextMenu->addAction(ui->actionTakeSound); ContextMenu->addSeparator(); ContextMenu->addAction(ui->actionInfo); ContextMenu->addSeparator(); ContextMenu->addAction(ui->actionUpBlock); ContextMenu->addAction(ui->actionDownBlock); ContextMenu->exec(QCursor::pos()); delete ContextMenu; } else if (BlockSelectMode==SELECTMODE_MULTIPLE) { QMenu *ContextMenu=new QMenu(this); ContextMenu->addAction(ui->actionTop); ContextMenu->addAction(ui->actionMiddle); ContextMenu->addAction(ui->actionBottom); ContextMenu->addSeparator(); ContextMenu->addAction(ui->actionLeft); ContextMenu->addAction(ui->actionCenter); ContextMenu->addAction(ui->actionRight); ContextMenu->addSeparator(); ContextMenu->addAction(ui->actionDistributeHoriz); ContextMenu->addAction(ui->actionDistributeVert); ContextMenu->addSeparator(); ContextMenu->addAction(ui->actionCut); ContextMenu->addAction(ui->actionCopy); ContextMenu->addAction(ui->actionPaste); ContextMenu->addSeparator(); ContextMenu->addAction(ui->actionRemoveBlock); ContextMenu->exec(QCursor::pos()); delete ContextMenu; } } //==================================================================================================================== void DlgSlideProperties::s_BlockTable_AddNewTextBlock() { QMenu *ContextMenu=new QMenu(this); ContextMenu->addAction(ui->actionAddSimpleTextBlock); ContextMenu->addAction(ui->actionAddClipArtTextBlock); ContextMenu->exec(QCursor::pos()); delete ContextMenu; ui->AddTextBlock->setDown(false); } //==================================================================================================================== void DlgSlideProperties::s_BlockTable_AddNewSimpleTextBlock() { AppendPartialUndo(UNDOACTION_FULL_SLIDE,BlockTable,true); int CurrentShotNbr=ShotTable->currentColumn(); // Create and append a composition block to the object list CurrentSlide->ObjectComposition.List.append(new cCompositionObject(COMPOSITIONTYPE_OBJECT,CurrentSlide->NextIndexKey,ApplicationConfig,&CurrentSlide->ObjectComposition)); cCompositionObject *CompositionObject=CurrentSlide->ObjectComposition.List[CurrentSlide->ObjectComposition.List.count()-1]; // Apply Styles CompositionObject->ApplyTextStyle(ApplicationConfig->StyleTextCollection.GetStyleDef(ApplicationConfig->StyleTextCollection.DecodeString(ApplicationConfig->DefaultBlock_Text_TextST))); CompositionObject->ApplyBackgroundStyle(ApplicationConfig->StyleTextBackgroundCollection.GetStyleDef(ApplicationConfig->StyleTextBackgroundCollection.DecodeString(ApplicationConfig->DefaultBlock_Text_BackGST))); CompositionObject->ApplyBlockShapeStyle(ApplicationConfig->StyleBlockShapeCollection.GetStyleDef(ApplicationConfig->StyleBlockShapeCollection.DecodeString(ApplicationConfig->DefaultBlock_Text_ShapeST))); CompositionObject->BackgroundBrush->LockGeometry=false; // For ApplyAutoCompoSize don't use it CompositionObject->ApplyAutoCompoSize(ApplicationConfig->DefaultBlock_AutoSizePos,CurrentSlide->Parent->ImageGeometry); CompositionObject->BackgroundBrush->LockGeometry=(ApplicationConfig->DefaultBlock_AutoLocking==AUTOFRAMING_CUSTOMPRJLOCK); CompositionObject->BackgroundBrush->AspectRatio=(CompositionObject->h*(CurrentSlide->Parent->ImageGeometry==GEOMETRY_4_3?1440:CurrentSlide->Parent->ImageGeometry==GEOMETRY_16_9?1080:CurrentSlide->Parent->ImageGeometry==GEOMETRY_40_17?816:1920))/(CompositionObject->w*1920); // Create default text QTextDocument TextDoc(QApplication::translate("DlgSlideProperties","Text","Default text value")); QFont Font=QFont(CompositionObject->FontName,CompositionObject->FontSize,CompositionObject->IsBold?QFont::Bold:QFont::Normal,CompositionObject->IsItalic?QFont::StyleItalic:QFont::StyleNormal); QTextOption OptionText((CompositionObject->HAlign==0)?Qt::AlignLeft:(CompositionObject->HAlign==1)?Qt::AlignHCenter:(CompositionObject->HAlign==2)?Qt::AlignRight:Qt::AlignJustify); QTextCursor Cursor(&TextDoc); QTextCharFormat TCF; QTextBlockFormat TBF; Cursor.select(QTextCursor::Document); OptionText.setWrapMode(QTextOption::WordWrap); Font.setUnderline(CompositionObject->IsUnderline); TextDoc.setDefaultFont(Font); TextDoc.setDefaultTextOption(OptionText); TCF.setFont(Font); TCF.setFontWeight(CompositionObject->IsBold?QFont::Bold:QFont::Normal); TCF.setFontItalic(CompositionObject->IsItalic); TCF.setFontUnderline(CompositionObject->IsUnderline); TCF.setForeground(QBrush(QColor(CompositionObject->FontColor))); TBF.setAlignment((CompositionObject->HAlign==0)?Qt::AlignLeft:(CompositionObject->HAlign==1)?Qt::AlignHCenter:(CompositionObject->HAlign==2)?Qt::AlignRight:Qt::AlignJustify); Cursor.setCharFormat(TCF); Cursor.setBlockFormat(TBF); CompositionObject->Text=TextDoc.toHtml(); // Now create and append a shot composition block to all shot for (int i=0;iList.count();i++) { CurrentSlide->List[i]->ShotComposition.List.append(new cCompositionObject(COMPOSITIONTYPE_SHOT,CompositionObject->IndexKey,ApplicationConfig,&CurrentSlide->List[i]->ShotComposition)); CurrentSlide->List[i]->ShotComposition.List[CurrentSlide->List[i]->ShotComposition.List.count()-1]->CopyFromCompositionObject(CompositionObject); // Ensure new object is not visible in previous shot if (iList[i]->ShotComposition.List[CurrentSlide->List[i]->ShotComposition.List.count()-1]->IsVisible=false; } // Inc NextIndexKey CurrentSlide->NextIndexKey++; // Reset thumbs if needed ResetThumbs(true); // Reset blocks table RefreshBlockTable(CompositionList->List.count()-1); NoPrepUndo=true; QTimer::singleShot(250,this,SLOT(s_BlockSettings_TextEditor())); // Append "Open text editor" to the message queue } //==================================================================================================================== void DlgSlideProperties::s_BlockTable_AddNewClipArtTextBlock() { cPopupTexteFrame* popup1 = new cPopupTexteFrame(this); QPoint Pos=mapToGlobal(ui->AddTextBlock->pos()); popup1->DoInitPopup(QPoint(Pos.x()+ui->AddTextBlock->width(),Pos.y()+ui->AddTextBlock->height())); popup1->exec(); QString RessourceName=popup1->GetCurrentTextFrame(); if (RessourceName=="") return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,BlockTable,true); int CurrentShotNbr=ShotTable->currentColumn(); // Create and append a composition block to the object list CurrentSlide->ObjectComposition.List.append(new cCompositionObject(COMPOSITIONTYPE_OBJECT,CurrentSlide->NextIndexKey,ApplicationConfig,&CurrentSlide->ObjectComposition)); cCompositionObject *CompositionObject=CurrentSlide->ObjectComposition.List[CurrentSlide->ObjectComposition.List.count()-1]; // Apply Styles CompositionObject->ApplyTextStyle(TextFrameList.List[TextFrameList.SearchImage(RessourceName)].TextStyle); CompositionObject->BackgroundBrush->LockGeometry=false; // For ApplyAutoCompoSize don't use it CompositionObject->ApplyAutoCompoSize(ApplicationConfig->DefaultBlock_AutoSizePos,CurrentSlide->Parent->ImageGeometry); CompositionObject->BackgroundBrush->LockGeometry=(ApplicationConfig->DefaultBlock_AutoLocking==AUTOFRAMING_CUSTOMPRJLOCK); CompositionObject->BackgroundBrush->AspectRatio =(CompositionObject->h*(CurrentSlide->Parent->ImageGeometry==GEOMETRY_4_3?1440:CurrentSlide->Parent->ImageGeometry==GEOMETRY_16_9?1080:CurrentSlide->Parent->ImageGeometry==GEOMETRY_40_17?816:1920))/(CompositionObject->w*1920); CompositionObject->TextClipArtName =RessourceName; CompositionObject->TMx =TextFrameList.List[TextFrameList.SearchImage(RessourceName)].TMx; CompositionObject->TMy =TextFrameList.List[TextFrameList.SearchImage(RessourceName)].TMy; CompositionObject->TMw =TextFrameList.List[TextFrameList.SearchImage(RessourceName)].TMw; CompositionObject->TMh =TextFrameList.List[TextFrameList.SearchImage(RessourceName)].TMh; // Create default text QTextDocument TextDoc(QApplication::translate("DlgSlideProperties","Text","Default text value")); QFont Font=QFont(CompositionObject->FontName,CompositionObject->FontSize,CompositionObject->IsBold?QFont::Bold:QFont::Normal,CompositionObject->IsItalic?QFont::StyleItalic:QFont::StyleNormal); QTextOption OptionText((CompositionObject->HAlign==0)?Qt::AlignLeft:(CompositionObject->HAlign==1)?Qt::AlignHCenter:(CompositionObject->HAlign==2)?Qt::AlignRight:Qt::AlignJustify); QTextCursor Cursor(&TextDoc); QTextCharFormat TCF; QTextBlockFormat TBF; Cursor.select(QTextCursor::Document); OptionText.setWrapMode(QTextOption::WordWrap); Font.setUnderline(CompositionObject->IsUnderline); TextDoc.setDefaultFont(Font); TextDoc.setDefaultTextOption(OptionText); TCF.setFont(Font); TCF.setFontWeight(CompositionObject->IsBold?QFont::Bold:QFont::Normal); TCF.setFontItalic(CompositionObject->IsItalic); TCF.setFontUnderline(CompositionObject->IsUnderline); TCF.setForeground(QBrush(QColor(CompositionObject->FontColor))); TBF.setAlignment((CompositionObject->HAlign==0)?Qt::AlignLeft:(CompositionObject->HAlign==1)?Qt::AlignHCenter:(CompositionObject->HAlign==2)?Qt::AlignRight:Qt::AlignJustify); Cursor.setCharFormat(TCF); Cursor.setBlockFormat(TBF); CompositionObject->Text=TextDoc.toHtml(); // Now create and append a shot composition block to all shot for (int i=0;iList.count();i++) { CurrentSlide->List[i]->ShotComposition.List.append(new cCompositionObject(COMPOSITIONTYPE_SHOT,CompositionObject->IndexKey,ApplicationConfig,&CurrentSlide->List[i]->ShotComposition)); CurrentSlide->List[i]->ShotComposition.List[CurrentSlide->List[i]->ShotComposition.List.count()-1]->CopyFromCompositionObject(CompositionObject); // Ensure new object is not visible in previous shot if (iList[i]->ShotComposition.List[CurrentSlide->List[i]->ShotComposition.List.count()-1]->IsVisible=false; } // Inc NextIndexKey CurrentSlide->NextIndexKey++; // Reset thumbs if needed ResetThumbs(true); // Reset blocks table RefreshBlockTable(CompositionList->List.count()-1); NoPrepUndo=true; QTimer::singleShot(250,this,SLOT(s_BlockSettings_TextEditor())); // Append "Open text editor" to the message queue } //==================================================================================================================== void DlgSlideProperties::s_BlockTable_DragDropFiles(QList urlList) { if (urlList.count()>0) { QString fName; QFileInfo info; QStringList FileList; for (int i=0;i0) { if (BlockTable->DragItemDest<0) BlockTable->DragItemDest=0; if (BlockTable->DragItemDest>BlockTable->rowCount()) BlockTable->DragItemDest=BlockTable->rowCount(); s_BlockTable_AddFilesBlock(FileList,BlockTable->DragItemDest); } } } //==================================================================================================================== void DlgSlideProperties::s_BlockTable_AddNewFileBlock() { ui->AddFileBlock->setDown(false); QStringList FileList; DlgFileExplorer Dlg(BROWSER_TYPE_MEDIAFILES,true,false,true,QApplication::translate("MainWindow","Add files"),ApplicationConfig,this); Dlg.InitDialog(); if (Dlg.exec()==0) FileList=Dlg.GetCurrentSelectedFiles(); if (FileList.count()==0) return; QApplication::processEvents(); s_BlockTable_AddFilesBlock(FileList,BlockTable->rowCount()); } //==================================================================================================================== void DlgSlideProperties::s_BlockTable_AddFilesBlock(QStringList FileList,int PositionToInsert) { // Add files for (int i=0;iAllowImageExtension.contains(Extension)) MediaObject=new cImageFile(ApplicationConfig); else if (ApplicationConfig->AllowImageVectorExtension.contains(Extension)) MediaObject=new cImageFile(ApplicationConfig); else if (ApplicationConfig->AllowVideoExtension.contains(Extension)) MediaObject=new cVideoFile(ApplicationConfig); if ((MediaObject)&&(MediaObject->GetInformationFromFile(BrushFileName,NULL,NULL,-1)&&(MediaObject->CheckFormatValide(this)))) { if (MediaObject->ObjectType==OBJECTTYPE_VIDEOFILE) { ((cVideoFile *)MediaObject)->EndPos=((cVideoFile *)MediaObject)->Duration; if (((cVideoFile *)MediaObject)->LibavStartTime>0) ((cVideoFile *)MediaObject)->StartPos=QTime(0,0,0,0).addMSecs(int64_t((double(((cVideoFile *)MediaObject)->LibavStartTime)/AV_TIME_BASE)*1000)); } DoAddBlock(MediaObject,PositionToInsert); PositionToInsert++; } else { delete CurrentSlide->ObjectComposition.List.takeAt(PositionToInsert); CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("MainWindow","Error","Error message"),FileList[i]+"\n\n"+QApplication::translate("MainWindow","Format not supported","Error message"),QMessageBox::Close); } } // Reset thumbs if needed ResetThumbs(true); // Reset blocks table RefreshBlockTable(PositionToInsert-1); } //==================================================================================================================== void DlgSlideProperties::DoAddBlock(cBaseMediaFile *MediaObject,int PositionToInsert) { AppendPartialUndo(UNDOACTION_FULL_SLIDE,BlockTable,true); CurrentSlide->ObjectComposition.List.insert(PositionToInsert,new cCompositionObject(COMPOSITIONTYPE_OBJECT,CurrentSlide->NextIndexKey,ApplicationConfig,&CurrentSlide->ObjectComposition)); cCompositionObject *CompositionObject=CurrentSlide->ObjectComposition.List[PositionToInsert]; cBrushDefinition *CurrentBrush =CompositionObject->BackgroundBrush; CompositionObject->Text =""; CompositionObject->PenSize =0; CurrentBrush->BrushType =BRUSHTYPE_IMAGEDISK; // Create an cImageClipboard wrapper CurrentBrush->MediaObject=MediaObject; // Apply Styles CompositionObject->ApplyTextStyle(ApplicationConfig->StyleTextCollection.GetStyleDef(ApplicationConfig->StyleTextCollection.DecodeString(ApplicationConfig->DefaultBlockBA_IMG_TextST))); CompositionObject->ApplyBlockShapeStyle(ApplicationConfig->StyleBlockShapeCollection.GetStyleDef(ApplicationConfig->StyleBlockShapeCollection.DecodeString(ApplicationConfig->DefaultBlockBA_IMG_ShapeST))); // Apply styles for coordinates CurrentBrush->ApplyAutoFraming(ApplicationConfig->DefaultBlockBA[CurrentBrush->GetImageType()].AutoFraming,ProjectGeometry); if (MediaObject->ObjectType==OBJECTTYPE_IMAGEVECTOR) { CompositionObject->ApplyAutoCompoSize(AUTOCOMPOSIZE_REALSIZE,CurrentSlide->Parent->ImageGeometry); // adjust for image was not too small ! if ((CompositionObject->w<0.2)&&(CompositionObject->h<0.2)) { while ((CompositionObject->w<0.2)&&(CompositionObject->h<0.2)) { CompositionObject->w=CompositionObject->w*2; CompositionObject->h=CompositionObject->h*2; } CompositionObject->x=(1-CompositionObject->w)/2; CompositionObject->y=(1-CompositionObject->h)/2; } } else CompositionObject->ApplyAutoCompoSize(ApplicationConfig->DefaultBlockBA[CurrentBrush->GetImageType()].AutoCompo,CurrentSlide->Parent->ImageGeometry); // Now create and append a shot composition block to all shot for (int i=0;iList.count();i++) { CurrentSlide->List[i]->ShotComposition.List.insert(PositionToInsert,new cCompositionObject(COMPOSITIONTYPE_SHOT,CompositionObject->IndexKey,ApplicationConfig,&CurrentSlide->List[i]->ShotComposition)); CurrentSlide->List[i]->ShotComposition.List[PositionToInsert]->CopyFromCompositionObject(CompositionObject); // Ensure new object is not visible in previous shot if (iList[i]->ShotComposition.List[PositionToInsert]->IsVisible=false; } // If this object is a video will gain sound from this shots ! if (MediaObject->ObjectType==OBJECTTYPE_VIDEOFILE) for (int k=0;kList.count();k++) for (int l=0;lList[k]->ShotComposition.List.count();l++) if (ISVIDEO(CurrentSlide->List[k]->ShotComposition.List[l]->BackgroundBrush)) { if (kMediaObject->FileKey==CurrentSlide->List[k]->ShotComposition.List[l]->BackgroundBrush->MediaObject->FileKey) CurrentSlide->List[k]->ShotComposition.List[l]->BackgroundBrush->SoundVolume=0; } else { // Set all other block to SoundVolume=0 and this block to SoundVolume=1 if (CurrentBrush->MediaObject->FileKey!=CurrentSlide->List[k]->ShotComposition.List[l]->BackgroundBrush->MediaObject->FileKey) CurrentSlide->List[k]->ShotComposition.List[l]->BackgroundBrush->SoundVolume=0; else CurrentSlide->List[k]->ShotComposition.List[l]->BackgroundBrush->SoundVolume=1; } } // Inc NextIndexKey CurrentSlide->NextIndexKey++; } //==================================================================================================================== void DlgSlideProperties::s_BlockTable_AddSpecialBlock() { QMenu *ContextMenu=new QMenu(this); ContextMenu->addAction(ui->actionAddImageClipboard); ContextMenu->addAction(ui->actionAddGMapsMap); ContextMenu->exec(QCursor::pos()); delete ContextMenu; ui->AddSpecialBlock->setDown(false); } //==================================================================================================================== void DlgSlideProperties::s_BlockTable_AddGMapsMapBlock() { // Create an GMapsMap wrapper cGMapsMap *MediaObject=new cGMapsMap(ApplicationConfig); MediaObject->CreatDateTime=QDateTime().currentDateTime(); MediaObject->CreateDefaultImage(CurrentSlide->Parent); // create default image MediaObject->GetInformationFromFile("",NULL,NULL,-1); DoAddBlock(MediaObject,CurrentSlide->ObjectComposition.List.count()); // Reset thumbs if needed ResetThumbs(true); // Reset blocks table RefreshBlockTable(CurrentSlide->ObjectComposition.List.count()-1); RedoneStyleCoordinate=true; QTimer::singleShot(250,this,SLOT(s_BlockSettings_ImageEditCorrect())); // Append "Open image editor" to the message queue } //==================================================================================================================== void DlgSlideProperties::s_BlockTable_AddImageClipboard() { const QMimeData *SlideData=QApplication::clipboard()->mimeData(); if (!SlideData->hasImage()) return; QImage ImageClipboard=qvariant_cast(SlideData->imageData()); if (ImageClipboard.isNull()) return; QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); cImageClipboard *MediaObject=new cImageClipboard(ApplicationConfig); MediaObject->CreatDateTime=QDateTime().currentDateTime(); ApplicationConfig->SlideThumbsTable->SetThumbs(&MediaObject->RessourceKey,ImageClipboard); MediaObject->GetInformationFromFile("",NULL,NULL,-1); DoAddBlock(MediaObject,BlockTable->rowCount()); // Reset thumbs if needed ResetThumbs(true); // Reset blocks table RefreshBlockTable(BlockTable->rowCount()-1); QApplication::restoreOverrideCursor(); } //==================================================================================================================== void DlgSlideProperties::s_BlockTable_Cut() { if ((BlockSelectMode!=SELECTMODE_ONE)&&(BlockSelectMode!=SELECTMODE_MULTIPLE)) return; s_BlockTable_Copy(); s_BlockTable_RemoveBlock(); } //==================================================================================================================== void DlgSlideProperties::s_BlockTable_Copy() { if ((BlockSelectMode!=SELECTMODE_ONE)&&(BlockSelectMode!=SELECTMODE_MULTIPLE)) return; QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); // Create xml document and root QDomDocument Object =QDomDocument(APPLICATION_NAME); QDomElement root =Object.createElement("CLIPBOARD"); int BlockNum=0; for (int i=0;iList.count();i++) if (IsSelected[i]) { QDomElement Element=Object.createElement(QString("Block-%1").arg(BlockNum)); cCompositionObject *GlobalBlock=GetGlobalCompositionObject(CompositionList->List[i]->IndexKey); GlobalBlock->SaveToXML(Element,"CLIPBOARD-BLOCK-GLOBAL",CurrentSlide->Parent->ProjectFileName,true,true,NULL,NULL,true,false); // Save global object CompositionList->List[i]->SaveToXML(Element,"CLIPBOARD-BLOCK-SHOT",CurrentSlide->Parent->ProjectFileName,true,true,NULL,NULL,true,false); // Save shot object // Add shot part to XML if ((CompositionList->List[i]->BackgroundBrush)&&(Element.elementsByTagName("CLIPBOARD-BLOCK-SHOT").length()>0)&&(Element.elementsByTagName("CLIPBOARD-BLOCK-SHOT").item(0).isElement()==true)) { QDomElement CBS=Element.elementsByTagName("CLIPBOARD-BLOCK-SHOT").item(0).toElement(); if ((CBS.elementsByTagName("BackgroundBrush").length()>0)&&(CBS.elementsByTagName("BackgroundBrush").item(0).isElement()==true)) { QDomElement CBB=CBS.elementsByTagName("BackgroundBrush").item(0).toElement(); CompositionList->List[i]->BackgroundBrush->AddShotPartToXML(&CBB); } } root.appendChild(Element); BlockNum++; } root.setAttribute("BlockNbr",BlockNum); Object.appendChild(root); // Transfert xml document to clipboard QMimeData *SlideData=new QMimeData(); SlideData->setData("ffDiaporama/block",Object.toByteArray()); QApplication::clipboard()->setMimeData(SlideData); RefreshControls(); QApplication::restoreOverrideCursor(); } //==================================================================================================================== void DlgSlideProperties::s_BlockTable_Paste() { const QMimeData *SlideData=QApplication::clipboard()->mimeData(); if (SlideData->hasImage()) s_BlockTable_AddImageClipboard(); else if (SlideData->hasFormat("ffDiaporama/block")) { AppendPartialUndo(UNDOACTION_FULL_SLIDE,BlockTable,true); QDomDocument Object=QDomDocument(APPLICATION_NAME); Object.setContent(SlideData->data("ffDiaporama/block")); if ((Object.elementsByTagName("CLIPBOARD").length()>0)&&(Object.elementsByTagName("CLIPBOARD").item(0).isElement()==true)) { QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); QDomElement root=Object.elementsByTagName("CLIPBOARD").item(0).toElement(); int BlockNbr=root.attribute("BlockNbr").toInt(); for (int BlockNum=0;BlockNum0)&&(root.elementsByTagName(QString("Block-%1").arg(BlockNum)).item(0).isElement()==true)) { QDomElement Element=root.elementsByTagName(QString("Block-%1").arg(BlockNum)).item(0).toElement(); // Create and append a composition block to the object list CurrentSlide->ObjectComposition.List.append(new cCompositionObject(COMPOSITIONTYPE_OBJECT,CurrentSlide->NextIndexKey,ApplicationConfig,&CurrentSlide->ObjectComposition)); cCompositionObject *GlobalBlock=CurrentSlide->ObjectComposition.List[CurrentSlide->ObjectComposition.List.count()-1]; GlobalBlock->LoadFromXML(Element,"CLIPBOARD-BLOCK-GLOBAL","",NULL,NULL,true,NULL,true,true); GlobalBlock->IndexKey=CurrentSlide->NextIndexKey; cCompositionObject ShotBlock(COMPOSITIONTYPE_SHOT,CurrentSlide->NextIndexKey,ApplicationConfig,this); ShotBlock.IndexKey=CurrentSlide->NextIndexKey; ShotBlock.LoadFromXML(Element,"CLIPBOARD-BLOCK-SHOT","",&CurrentSlide->ObjectComposition,NULL,true,NULL,false,true,GlobalBlock); // No duplicate ressource on paste ShotBlock.BackgroundBrush->MediaObject=GlobalBlock->BackgroundBrush->MediaObject; ShotBlock.BackgroundBrush->DeleteMediaObject=false; ShotBlock.Text=GlobalBlock->Text; if (ShotBlock.Text!="") { ShotBlock.FontName =GlobalBlock->FontName; ShotBlock.FontSize =GlobalBlock->FontSize; ShotBlock.FontColor =GlobalBlock->FontColor; ShotBlock.FontShadowColor =GlobalBlock->FontShadowColor; ShotBlock.IsBold =GlobalBlock->IsBold; ShotBlock.IsItalic =GlobalBlock->IsItalic; ShotBlock.IsUnderline =GlobalBlock->IsUnderline; ShotBlock.HAlign =GlobalBlock->HAlign; ShotBlock.VAlign =GlobalBlock->VAlign; ShotBlock.StyleText =GlobalBlock->StyleText; } // Now create and append a shot composition block to all shot for (int i=0;iList.count();i++) { CurrentSlide->List[i]->ShotComposition.List.append(new cCompositionObject(COMPOSITIONTYPE_SHOT,CurrentSlide->NextIndexKey,ApplicationConfig,&CurrentSlide->List[i]->ShotComposition)); CurrentSlide->List[i]->ShotComposition.List[CurrentSlide->List[i]->ShotComposition.List.count()-1]->CopyFromCompositionObject(&ShotBlock); // Copy markers (if exist) for (int j=0;jMarkers.count();j++) CurrentSlide->List[i]->ShotComposition.List[CurrentSlide->List[i]->ShotComposition.List.count()-1]->BackgroundBrush->Markers.append(ShotBlock.BackgroundBrush->Markers[j]); // Ensure new object is not visible in previous shot if (iList[i]->ShotComposition.List[CurrentSlide->List[i]->ShotComposition.List.count()-1]->IsVisible=false; // Ensure unvisible video have no sound ! if (ISVIDEO(CurrentSlide->List[i]->ShotComposition.List[CurrentSlide->List[i]->ShotComposition.List.count()-1]->BackgroundBrush)) CurrentSlide->List[i]->ShotComposition.List[CurrentSlide->List[i]->ShotComposition.List.count()-1]->BackgroundBrush->SoundVolume=0; } } // Inc NextIndexKey CurrentSlide->NextIndexKey++; } // Reset thumbs if needed ResetThumbs(true); // Reset blocks table RefreshBlockTable(CompositionList->List.count()-1); // Select blocks we just added s_BlockTable_StartSelectionChange(); BlockTable->clearSelection(); for (int i=0;isetCurrentCell(CompositionList->List.count()-1-i,0,i==0?QItemSelectionModel::Select|QItemSelectionModel::Current:QItemSelectionModel::Select); s_BlockTable_EndSelectionChange(); QApplication::restoreOverrideCursor(); } } } //******************************************************************************************************************** // // CURRENT BLOCK SETTINGS // //******************************************************************************************************************** //==================================================================================================================== // Buttons associated to a Dialog box //==================================================================================================================== //========= Open image/video correction editor void DlgSlideProperties::s_BlockSettings_ImageEditCorrect() { if ((InRefreshControls)||(BlockSelectMode!=SELECTMODE_ONE)||(!CurrentCompoObject)||(!CurrentCompoObject->IsVisible)||(!ui->actionEditImage->isEnabled())) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,InteractiveZone,true); cBrushDefinition *CurrentBrush=CurrentCompoObject->BackgroundBrush; int Position=0; // Compute position of video if (ISVIDEO(CurrentBrush)) { Position=QTime(0,0,0,0).msecsTo(((cVideoFile*)&CurrentBrush->MediaObject)->StartPos); for (int i=0;icurrentColumn();i++) for (int j=0;jList[i]->ShotComposition.List.count();j++) if ((CurrentSlide->List[i]->ShotComposition.List[j]->IndexKey==CurrentCompoObject->IndexKey)&& (CurrentSlide->List[i]->ShotComposition.List[j]->IsVisible) ) Position+=CurrentSlide->List[i]->StaticDuration; } QString FileName =CurrentBrush->MediaObject->ShortName(); bool UpdateSlideName=(CurrentSlide->SlideName==FileName); cBrushDefinition SavedBrush(CurrentCompoObject,ApplicationConfig); SavedBrush.CopyFromBrushDefinition(CurrentCompoObject->BackgroundBrush); DlgImageCorrection Dlg(CurrentCompoObject,&CurrentCompoObject->BackgroundForm,CurrentCompoObject->BackgroundBrush,Position, CurrentSlide->Parent->ImageGeometry,CurrentSlide->Parent->ImageAnimSpeedWave,ApplicationConfig,this); Dlg.InitDialog(); if (Dlg.exec()==0) { // Redone application of styles for coordinates (specific to GMaps object when creating) if (RedoneStyleCoordinate) { CurrentCompoObject->ApplyAutoCompoSize(ApplicationConfig->DefaultBlockBA[CurrentCompoObject->BackgroundBrush->GetImageType()].AutoCompo,CurrentSlide->Parent->ImageGeometry); RedoneStyleCoordinate=false; } FramingCB_CurrentBrush =NULL; // To force a refresh of ui->FramingCB ! CurrentBrush->AspectRatio=CurrentBrush->AspectRatio; CurrentCompoObject->h =(CurrentCompoObject->w*InteractiveZone->DisplayW*CurrentBrush->AspectRatio)/InteractiveZone->DisplayH; if ((CurrentShotNbr==0)&&(CurrentSlide->ThumbnailKey!=-1)) ApplicationConfig->SlideThumbsTable->ClearThumbs(CurrentSlide->ThumbnailKey); // Adjust height and width to image stay in screen if (((CurrentCompoObject->y+CurrentCompoObject->h)*InteractiveZone->DisplayH)>InteractiveZone->DisplayH) { CurrentCompoObject->h=1-CurrentCompoObject->y; CurrentCompoObject->w=((CurrentCompoObject->h*InteractiveZone->DisplayH)/CurrentBrush->AspectRatio)/InteractiveZone->DisplayW; } // if Slide name is name of this file if (UpdateSlideName) { CurrentSlide->SlideName=CurrentBrush->MediaObject->ShortName(); ui->SlideNameED->setText(CurrentSlide->SlideName); } // Lulo object for image and video must be remove ApplicationConfig->ImagesCache.RemoveImageObject(CurrentCompoObject->BackgroundBrush->MediaObject->RessourceKey,CurrentCompoObject->BackgroundBrush->MediaObject->FileKey); // Apply settings to other shots APPLYBACKGROUNDBRUSH(); ApplyToContexte(true); s_ShotTable_DisplayDuration(); } else { RemoveLastPartialUndo(); } } //========= Toggle visible state void DlgSlideProperties::s_BlockSettings_ToggleVisibleState() { if (!ISBLOCKVALIDE()) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,InteractiveZone,true); CurrentCompoObject->IsVisible=!CurrentCompoObject->IsVisible; // Special case for video : ensure only this video have sound if (ISVIDEO(CurrentCompoObject->BackgroundBrush)) { if (!CurrentCompoObject->IsVisible) { CurrentCompoObject->BackgroundBrush->SoundVolume=0; } else { bool SomeOneHaveSound=false; // Parse table to know if a block have sound for this shot for (int i=0;iList.count();i++) if ((ISVIDEO(CompositionList->List[i]->BackgroundBrush))&&(CompositionList->List[i]->BackgroundBrush->SoundVolume!=0)) SomeOneHaveSound=true; // If no block have sound => get sound to this video if (!SomeOneHaveSound) CurrentCompoObject->BackgroundBrush->SoundVolume=1; } } // Reset thumbs if needed ResetThumbs(true); // Reset blocks table RefreshBlockTable(CurrentCompoObjectNbr); InteractiveZone->repaint(); } //========= Get sound void DlgSlideProperties::s_BlockSettings_GetSound() { if (!ISBLOCKVALIDEVISIBLE()) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,InteractiveZone,true); // Only if this block is a video and don't have sound yet if (CurrentCompoObject->BackgroundBrush->SoundVolume==0) { for (int i=0;iList.count();i++) if ((CurrentCompoObject!=CompositionList->List[i])&&(ISVIDEO(CompositionList->List[i]->BackgroundBrush))) CompositionList->List[i]->BackgroundBrush->SoundVolume=0; CurrentCompoObject->BackgroundBrush->SoundVolume=1; // Reset blocks table RefreshBlockTable(CurrentCompoObjectNbr); } } //==================================================================================================================== // Handler for position, size & rotation controls //==================================================================================================================== //========= ShapeSizePos combo void DlgSlideProperties::s_BlockSettings_ShapeSizePos(int Index) { if (!ISBLOCKVALIDEVISIBLE()) return; if ((Index<0)||(Index>=ui->ShapeSizePosCB->count())) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,ui->ShapeSizePosCB,true); CurrentCompoObject->ApplyAutoCompoSize(ui->ShapeSizePosCB->itemData(Index).toInt(),CurrentSlide->Parent->ImageGeometry); // Apply values of previous shot to all shot for this object APPLY4TONEXT(x,y,w,h); APPLY3TONEXT(RotateZAxis,RotateXAxis,RotateYAxis); ApplyToContexte(false); } //==================================================================================================================== // Text annimation //==================================================================================================================== //========= Text Zoom Level void DlgSlideProperties::s_BlockSettings_TextAnimZoom(int Value) { if (!ISBLOCKVALIDEVISIBLE()) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,ui->ZoomED,false); CurrentCompoObject->TxtZoomLevel=Value; ui->ZoomSlider->setValue(CurrentCompoObject->TxtZoomLevel); ui->ZoomED->setValue(CurrentCompoObject->TxtZoomLevel); // Apply values of previous shot to all shot for this object APPLY1TONEXT(TxtZoomLevel); ApplyToContexte(false); } //========= Text scrolling X void DlgSlideProperties::s_BlockSettings_TextAnimScrollX(int Value) { if (!ISBLOCKVALIDEVISIBLE()) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,ui->ScrollXED,false); CurrentCompoObject->TxtScrollX=Value; ui->ScrollXSlider->setValue(CurrentCompoObject->TxtScrollX); ui->ScrollXED->setValue(CurrentCompoObject->TxtScrollX); // Apply values of previous shot to all shot for this object APPLY1TONEXT(TxtScrollX); ApplyToContexte(false); } //========= Text scrolling Y void DlgSlideProperties::s_BlockSettings_TextAnimScrollY(int Value) { if (!ISBLOCKVALIDEVISIBLE()) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,ui->ScrollYED,false); CurrentCompoObject->TxtScrollY=Value; ui->ScrollYSlider->setValue(CurrentCompoObject->TxtScrollY); ui->ScrollYED->setValue(CurrentCompoObject->TxtScrollY); // Apply values of previous shot to all shot for this object APPLY1TONEXT(TxtScrollY); ApplyToContexte(false); } //==================================================================================================================== // Handler for speed wave //==================================================================================================================== void DlgSlideProperties::s_BlockSettings_SpeedWave(int) { if (!ISBLOCKVALIDEVISIBLE()) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,ui->SpeedWaveCB,true); CurrentCompoObject->BlockSpeedWave=ui->SpeedWaveCB->GetCurrentValue(); // Apply values of previous shot to all shot for this object APPLY1TONEXT(BlockSpeedWave); ApplyToContexte(false); } //==================================================================================================================== // Handler for block animation //==================================================================================================================== void DlgSlideProperties::s_BlockSettings_BlockAnimType(int Value) { if (!ISBLOCKVALIDEVISIBLE()) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,ui->BlockAnimCB,true); CurrentCompoObject->BlockAnimType=Value; // Apply values of previous shot to all shot for this object APPLY1TONEXT(BlockAnimType); ApplyToContexte(false); } //========= Multiple block turn X value void DlgSlideProperties::s_BlockSettings_BlockAnimTurnXValue(int Value) { if (!ISBLOCKVALIDEVISIBLE()) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,ui->TurnXED,false); CurrentCompoObject->TurnXAxis=Value; // Apply values of previous shot to all shot for this object APPLY1TONEXT(TurnXAxis); ApplyToContexte(false); } //========= Multiple block turn Z value void DlgSlideProperties::s_BlockSettings_BlockAnimTurnZValue(int Value) { if (!ISBLOCKVALIDEVISIBLE()) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,ui->TurnZED,false); CurrentCompoObject->TurnZAxis=Value; // Apply values of previous shot to all shot for this object APPLY1TONEXT(TurnZAxis); ApplyToContexte(false); } //========= Multiple block turn Y value void DlgSlideProperties::s_BlockSettings_BlockAnimTurnYValue(int Value) { if (!ISBLOCKVALIDEVISIBLE()) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,ui->TurnYED,false); CurrentCompoObject->TurnYAxis=Value; // Apply values of previous shot to all shot for this object APPLY1TONEXT(TurnYAxis); ApplyToContexte(false); } //========= Dissolve animation void DlgSlideProperties::s_BlockSettings_BlockAnimDissolveType(int Value) { if (!ISBLOCKVALIDEVISIBLE()) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,ui->DissolveCB,true); CurrentCompoObject->Dissolve=Value; // Apply values of previous shot to all shot for this object APPLY1TONEXT(Dissolve); ApplyToContexte(false); } //==================================================================================================================== void DlgSlideProperties::s_BlockSettings_ChangeFramingStyle() { if (StopMajFramingStyle) return; if (!ISBLOCKVALIDEVISIBLE()) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,InteractiveZone,true); cBrushDefinition SavedBrush(CurrentCompoObject,ApplicationConfig); SavedBrush.CopyFromBrushDefinition(CurrentCompoObject->BackgroundBrush); cBrushDefinition *CurrentBrush=CurrentCompoObject->BackgroundBrush; int AutoCompo=CurrentCompoObject->GetAutoCompoSize(CurrentSlide->Parent->ImageGeometry); CurrentBrush->ApplyAutoFraming(ui->FramingStyleCB->GetCurrentFraming(),ProjectGeometry); CurrentCompoObject->ApplyAutoCompoSize(AutoCompo,CurrentSlide->Parent->ImageGeometry,false); // Apply values of previous shot to all shot for this object APPLYBACKGROUNDBRUSH(); ApplyToContexte(true); } //==================================================================================================================== void DlgSlideProperties::s_BlockSettings_ChangeTextFramingStyle(int Value) { if (StopMajFramingStyle) return; if (!ISBLOCKVALIDEVISIBLE()) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,InteractiveZone,true); cBrushDefinition *CurrentBrush=CurrentCompoObject->BackgroundBrush; // It's a text block switch (Value) { case 0: // Unlock CurrentBrush->LockGeometry=false; break; case 1: // Lock to this geometry CurrentBrush->LockGeometry=true; CurrentBrush->AspectRatio=(CurrentCompoObject->h*InteractiveZone->DisplayH)/(CurrentCompoObject->w*InteractiveZone->DisplayW); break; case 2: // Lock to project geometry CurrentBrush->LockGeometry=true; CurrentBrush->AspectRatio=ProjectGeometry; break; default: return; } if (CurrentCompoObject->h>(CurrentCompoObject->w*InteractiveZone->DisplayW*CurrentBrush->AspectRatio)/InteractiveZone->DisplayH) CurrentCompoObject->h=(CurrentCompoObject->w*InteractiveZone->DisplayW*CurrentBrush->AspectRatio)/InteractiveZone->DisplayH; else CurrentCompoObject->w=(CurrentCompoObject->h*InteractiveZone->DisplayH/CurrentBrush->AspectRatio)/InteractiveZone->DisplayW; int CurrentRow=BlockTable->currentRow(); // Reset thumbs if needed ResetThumbs(true); // Reset blocks table RefreshBlockTable(CurrentRow>0?CurrentRow:0); } ffDiaporama/src/ffDiaporama/DlgSlide/DlgSlideDuration.ui0000777000175000001440000001304412275647320023444 0ustar dominiqueusers DlgSlideDuration 0 0 534 92 Sans Serif 9 Set first shot duration for a set of slides 2 4 4 4 4 0 0 0 First shot duration : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 9 Define the duration of the first shot. 11 59 59 2000 1 1 QDateTimeEdit::HourSection HH:mm:ss.zzz 0 0 Sans Serif 9 50 true false QLabel { color:rgb(255, 0, 0); font: italic 9pt "Sans Serif"; } Qt::Vertical 526 13 4 Qt::Horizontal 40 20 Accept modification and exit dialog box &Ok :/img/action_ok.png:/img/action_ok.png Cancel modification and exit dialog box &Cancel :/img/action_cancel.png:/img/action_cancel.png Show help about this dialogue box &Help :/img/help.png:/img/help.png ffDiaporama/src/ffDiaporama/DlgSlide/DlgSlideDuration.h0000777000175000001440000000400212275647320023250 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef DLGSLIDEDURATION_H #define DLGSLIDEDURATION_H // Basic inclusions (common to all files) #include "CustomCtrl/_QCustomDialog.h" namespace Ui { class DlgSlideDuration; } class DlgSlideDuration : public QCustomDialog { Q_OBJECT public: int64_t Duration; explicit DlgSlideDuration(int64_t Duration,cApplicationConfig *ApplicationConfig,QWidget *parent=0); ~DlgSlideDuration(); // function to be overloaded virtual void DoInitDialog(); // Initialise dialog virtual bool DoAccept(); // Call when user click on Ok button virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button virtual void PrepareGlobalUndo() {/*Nothing to do*/} // Initiale Undo virtual void DoGlobalUndo() {/*Nothing to do*/} // Apply Undo : call when user click on Cancel button private slots: private: Ui::DlgSlideDuration *ui; }; #endif // DLGSLIDEDURATION_H ffDiaporama/src/ffDiaporama/DlgSlide/DlgSlideDuration.cpp0000777000175000001440000000427712275647320023621 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "DlgSlideDuration.h" #include "ui_DlgSlideDuration.h" //==================================================================================================================== DlgSlideDuration::DlgSlideDuration(int64_t Duration,cApplicationConfig *ApplicationConfig,QWidget *parent): QCustomDialog(ApplicationConfig,parent),ui(new Ui::DlgSlideDuration) { ui->setupUi(this); OkBt =ui->OKBT; CancelBt =ui->CancelBt; HelpBt =ui->HelpBt; HelpFile ="0118"; this->Duration =Duration; } //==================================================================================================================== DlgSlideDuration::~DlgSlideDuration() { delete ui; } //==================================================================================================================== void DlgSlideDuration::DoInitDialog() { ui->ShotDurationED->setTime(QTime(0,0,0,0).addMSecs(Duration)); } //==================================================================================================================== bool DlgSlideDuration::DoAccept() { Duration=QTime(0,0,0,0).msecsTo(ui->ShotDurationED->time()); return true; } ffDiaporama/src/ffDiaporama/DlgSlide/DlgImageComposer.ui0000777000175000001440000023514112275647320023434 0ustar dominiqueusers DlgImageComposer 0 0 668 474 Edit thumbnail model 2 4 4 4 4 0 0 0 10 0 0 0 0 0 56 16777215 56 8 QToolButton { background-color: transparent; border: none; font-size: 9px; } QToolButton:hover{ border: 2px solid #8f8f91; border-radius: 6px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #f6f7fa, stop: 1 #dadbde); } QToolButton:pressed { border: 2px solid #8f8f91; border-radius: 6px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #f6f7fa, stop: 1 #dadbde); } 2 0 0 0 0 56 56 56 56 -1 Add a new text block Add text :/img/add_text.png:/img/add_text.png 24 24 Ctrl+Ins Qt::ToolButtonTextUnderIcon 56 56 56 56 -1 Add one or several new blocks of images or video. A file selection dialog appears allowing you to select files. Note: in case of multiple selection, files are added in the alphabetical order of the filenames or in the digital order of shots (according to the option selected in the configuration dialog). Add file :/img/add_image.png:/img/add_image.png 24 24 Ins Qt::ToolButtonTextUnderIcon Qt::Vertical 56 56 56 56 -1 Edit block Edit block :/img/edit.png:/img/edit.png 24 24 Qt::ToolButtonTextUnderIcon 56 56 56 56 -1 Arrange blocks Arrange block :/img/Arrange/arrange.png:/img/Arrange/arrange.png 24 24 Qt::ToolButtonTextUnderIcon 56 56 56 56 -1 Display information on image or video file Block information :/img/Action_Info.png:/img/Action_Info.png 24 24 Qt::ToolButtonTextUnderIcon Qt::Vertical 56 56 56 56 -1 Allows you to open the rulers settings dialog. Rulers :/img/ruler_ok.png:/img/ruler_ok.png 24 24 Qt::ToolButtonTextUnderIcon Qt::Horizontal 40 20 0 0 0 0 4 0 0 0 0 0 0 Qt::Vertical 0 0 0 0 0 0 0 0 0 true 1 1 Qt::ScrollBarAlwaysOn Qt::ScrollBarAlwaysOff QAbstractItemView::NoEditTriggers true true false QAbstractItemView::DropOnly Qt::LinkAction QAbstractItemView::ExtendedSelection QAbstractItemView::SelectRows false false false true false Icon Sound Type 0 0 Sans Serif 8 QFrame::StyledPanel QFrame::Sunken 1 1 Qt::ScrollBarAlwaysOn Qt::ScrollBarAlwaysOff true 0 0 257 432 0 0 0 0 2 0 2 0 0 Sans Serif 9 true true Block coordinates : Sans Serif 9 :/img/RotateY.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 0 0 0 0 0 Sans Serif 9 Represents the width of the block. This value is defined as a percentage (%) of the total width of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog box. QAbstractSpinBox::PlusMinus % 100.000000000000000 100.000000000000000 0 0 Sans Serif 9 :/img/PosSize_Height.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 Sans Serif 9 Represents the height of the block. This value is defined as a percentage (%) of the total height of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog. QAbstractSpinBox::PlusMinus % 100.000000000000000 100.000000000000000 0 0 0 0 0 0 0 Sans Serif 9 Define the angle of rotation about the x-axis (expressed in degrees) -180 180 Qt::Horizontal 0 0 Sans Serif 9 Define the angle of rotation about the x-axis (expressed in degrees) QAbstractSpinBox::PlusMinus -180 180 Sans Serif 9 Reset to zero :/img/undo.png:/img/undo.png Sans Serif 9 :/img/RotateZ.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 Sans Serif 9 Allows you to select a shape for the block. The selected shape will be used as: - A fusion mask for the images and the videos. - A cutting zone for texts. QComboBox QAbstractItemView { background: #ffffff; color: #000000; } false 16 16 0 0 0 Sans Serif 9 Represents the horizontal offset of the block from the left. This position is defined as a percentage (%) of the total width of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog. QAbstractSpinBox::PlusMinus % 100.000000000000000 100.000000000000000 0 0 Sans Serif 9 :/img/PosSize_Y.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 Sans Serif 9 Represents the vertical offset of the block from the top. This position is defined as a percentage (%) of the total height of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog. QAbstractSpinBox::PlusMinus % 100.000000000000000 100.000000000000000 Sans Serif 9 Shape : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Sans Serif 9 Clip-Art : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 Sans Serif 9 Select in which corner the shadow will be positioned (or no shadow). Remark: the position of the shadow is independent of rotation of the block: the right lower corner is always the right lower corner, whatever rotation is applied. 2 0 0 0 0 Sans Serif 9 :/img/db_menu.png:/img/db_menu.png Qt::NoArrow 0 0 0 0 0 0 0 Sans Serif 9 Define the angle of rotation about the y-axis (expressed in degrees) -180 180 Qt::Horizontal 0 0 Sans Serif 9 Define the angle of rotation about the y-axis (expressed in degrees) QAbstractSpinBox::PlusMinus -180 180 Sans Serif 9 Reset to zero :/img/undo.png:/img/undo.png Sans Serif 9 Border : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 0 0 0 0 0 Sans Serif 9 Defines the thickness of the border. Remark: This value is defined as 1/1080 of the height of the screen. A value of 10 corresponds to 10 points on a 1920×1080 FullHD screen, but only to 6 points on a 1280×720 screen. QAbstractSpinBox::PlusMinus 0 0 Sans Serif 9 Select the color of the line to be used to draw the border 64 16 0 0 Sans Serif 9 Select the type of line (solid, dotted line, etc.) QComboBox QAbstractItemView { background: #ffffff; color: #000000; } Sans Serif 9 Shadow : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Sans Serif 9 Opacity : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Sans Serif 9 :/img/RotateX.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Sans Serif 8 Qt::Vertical 20 40 0 0 Sans Serif 9 This settings group deals with style management. StyleName 0 0 Sans Serif 9 Select the opaqueness of the block Sans Serif 9 :/img/PosSize_X.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 2 0 0 0 0 0 0 Sans Serif 9 Define the distance between the block and its shadow QAbstractSpinBox::PlusMinus 0 0 Sans Serif 9 Select the color of the shadow 64 16 Sans Serif 9 0 0 0 0 0 0 0 Sans Serif 9 Define the angle of rotation about the z-axis (expressed in degrees) -180 180 Qt::Horizontal 0 0 Sans Serif 9 Define the angle of rotation about the z-axis (expressed in degrees) QAbstractSpinBox::PlusMinus -180 180 0 Sans Serif 9 Reset to zero :/img/undo.png:/img/undo.png 0 0 Sans Serif 9 Select a clip-art QComboBox QAbstractItemView { background: #ffffff; color: #000000; } false 16 16 Sans Serif 9 :/img/PosSize_Width.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Sans Serif 9 50 true false true <html><head/><body><p><br/>Block shape :</p></body></html> Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft 0 0 0 0 0 0 0 Sans Serif 9 Define a zoom value for the text. Remark: To make animations of text, you have to create at least 2 shots then: -Define values for zoom and scrolling for the 1st shot -Define different values for zoom and scrolling for the 2nd 0 400 100 Qt::Horizontal 0 0 Sans Serif 9 Define a zoom value for the text. Remark: To make animations of text, you have to create at least 2 shots then: -Define values for zoom and scrolling for the 1st shot -Define different values for zoom and scrolling for the 2nd QAbstractSpinBox::PlusMinus % 0 400 100 Sans Serif 9 Reset to 100% :/img/undo.png:/img/undo.png Sans Serif 9 50 true false true <html><head/><body><p><br/>Text option :</p></body></html> Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft Sans Serif 9 Zoom : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Qt::Horizontal 4 Qt::Horizontal 40 20 Accept modification and exit dialog box &Ok :/img/action_ok.png:/img/action_ok.png Cancel modification and exit dialog box &Cancel :/img/action_cancel.png:/img/action_cancel.png Show help about this dialogue box &Help :/img/help.png:/img/help.png :/img/EditText.png:/img/EditText.png Edit text Define the properties of the text block :/img/EditImage.png:/img/EditImage.png Correct or reframe image Define framing and correction of image or movie :/img/arrow_up.png:/img/arrow_up.png Move to background Change the order of blocks by moving the active block towards the background :/img/arrow_down.png:/img/arrow_down.png Move to foreground Change the order of blocks by moving the active block towards the foreground :/img/Action_Info.png:/img/Action_Info.png Display information Display detailed information on current block :/img/editcopy.png:/img/editcopy.png Copy block Copy the current block to the ffDiaporama clipboard Ctrl+C :/img/editcut.png:/img/editcut.png Cut block Copy the current block to the ffDiaporama clipboard and remove it from the slide Ctrl+X :/img/trash.png:/img/trash.png Remove Remove current block(s) Del :/img/editpaste.png:/img/editpaste.png Paste block Paste block from the ffDiaporama clipboard and insert it Ctrl+V :/img/Arrange/aotop.png:/img/Arrange/aotop.png Align top Align blocks to the top :/img/Arrange/aocenterv.png:/img/Arrange/aocenterv.png Align middle Align blocks to the middle :/img/Arrange/aobottom.png:/img/Arrange/aobottom.png Align bottom Align blocks to the bottom :/img/Arrange/aoleft.png:/img/Arrange/aoleft.png Align left Align blocks to the left :/img/Arrange/aocenterh.png:/img/Arrange/aocenterh.png Align center Align blocks to the center :/img/Arrange/aoright.png:/img/Arrange/aoright.png Align right Align blocks to the right :/img/add_text.png:/img/add_text.png Add text block Add a new text block :/img/add_image.png:/img/add_image.png Add file Add a new block of type image or video :/img/Arrange/aodistH.png:/img/Arrange/aodistH.png distribute horizontally Place each block so as to have the same space between each :/img/Arrange/aodistV.png:/img/Arrange/aodistV.png distribute vertically Place each block so as to have the same space between each :/img/object_text.png:/img/object_text.png Add simple text block Add a new simple text block :/img/add_cliparttext.png:/img/add_cliparttext.png Add ClipArt text block Add a new ClipArt text block cCColorComboBox QComboBox
../ffDiaporama_lib/cColorComboBox.h
cCShapeComboBox QComboBox
CustomCtrl/cCShapeComboBox.h
cCustomBlockTable QTableWidget
DlgSlide/cCustomBlockTable.h
cInteractiveZone QWidget
DlgSlide/cInteractiveZone.h
1
cCTexteFrameComboBox QComboBox
../ffDiaporama_lib/cTexteFrameComboBox.h
ffDiaporama/src/ffDiaporama/DlgSlide/DlgImageComposer.h0000777000175000001440000000750312275647320023245 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef DLGIMAGECOMPOSER_H #define DLGIMAGECOMPOSER_H #include "DlgSlide/cShotComposer.h" namespace Ui { class DlgImageComposer; } class DlgImageComposer : public cShotComposer { Q_OBJECT public: cDiaporama *ffdProject; cBrushDefinition *FramingCB_CurrentBrush; // Re-entrence flags bool InRefreshStyleControls; bool StopMajFramingStyle; bool NoPrepUndo; explicit DlgImageComposer(cDiaporama *ffdProject,cApplicationConfig *ApplicationConfig,QWidget *parent = 0); ~DlgImageComposer(); // function to be overloaded virtual void DoInitDialog(); // Initialise dialog virtual bool DoAccept(); // Call when user click on Ok button virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button virtual void PrepareGlobalUndo(); // Initiale Undo virtual void DoGlobalUndo(); // Apply Undo : call when user click on Cancel button virtual void RefreshStyleControls(); virtual void RefreshControls(bool UpdateInteractiveZone=true); protected: virtual void resizeEvent(QResizeEvent *); virtual void showEvent(QShowEvent *); virtual void keyReleaseEvent(QKeyEvent *event); private slots: void s_RefreshSceneImage(); void s_RulersBt(); void s_BlockTable_StartSelectionChange(); void s_BlockTable_EndSelectionChange(); void s_BlockTable_ItemDoubleClicked(QMouseEvent *); void s_BlockTable_ItemRightClicked(QMouseEvent *); void s_BlockTable_DragDropFiles(QList UrlList); void s_BlockTable_AddNewTextBlock(); void s_BlockTable_AddNewSimpleTextBlock(); void s_BlockTable_AddNewClipArtTextBlock(); void s_BlockTable_AddNewFileBlock(); void s_BlockTable_Copy(); void s_BlockTable_Cut(); void s_BlockTable_Paste(); // Block settings : Call of other dialog void s_BlockSettings_Arrange(); void s_BlockSettings_Edit(); void s_BlockSettings_ImageEditCorrect(); // Block settings : Text void s_BlockSettings_TextZoom(int Value); void s_BlockSettings_TextZoomReset(); private: Ui::DlgImageComposer *ui; void MakeFormIcon(QComboBox *UICB); void MakeBorderStyleIcon(QComboBox *UICB); void s_BlockTable_AddFilesBlock(QStringList FileList,int PositionToInsert); }; #endif // DLGIMAGECOMPOSER_H ffDiaporama/src/ffDiaporama/DlgSlide/DlgImageComposer.cpp0000777000175000001440000014133212275647320023577 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "DlgImageComposer.h" #include "ui_DlgImageComposer.h" #include "cTextFrame.h" #include "cTexteFrameComboBox.h" #include "DlgImage/DlgImageCorrection.h" #include "DlgFileExplorer/DlgFileExplorer.h" #include "DlgSlide/DlgRuler/DlgRulerDef.h" #include #include #include #include #include #include #include #include //==================================================================================================================== DlgImageComposer::DlgImageComposer(cDiaporama *ffdProject,cApplicationConfig *ApplicationConfig,QWidget *parent):cShotComposer(ffdProject->ProjectThumbnail,ApplicationConfig,parent),ui(new Ui::DlgImageComposer) { ui->setupUi(this); Splitter =ui->SplitterTop; CancelBt =ui->CancelBt; OkBt =ui->OkBt; HelpBt =ui->HelpBt; HelpFile ="0117"; // manque l'UNDO !!!!!!! InteractiveZone =ui->InteractiveZone; BlockTable =ui->BlockTable; ShotTable =NULL; InteractiveZone->MagneticRuler =ApplicationConfig->ThumbRuler; InteractiveZone->DisplayW =THUMBWITH; InteractiveZone->DisplayH =THUMBHEIGHT; this->ffdProject =ffdProject; InRefreshStyleControls =false; StopMajFramingStyle =false; FramingCB_CurrentBrush =NULL; NbrSelected =0; CompositionList =&CurrentSlide->List[0]->ShotComposition; BlockTable->CompositionList =&CurrentSlide->List[0]->ShotComposition; } //==================================================================================================================== // Initialise dialog void DlgImageComposer::DoInitDialog() { cShotComposer::DoInitDialog(); // Thumbnail part ui->TextClipArtCB->PrepareTable(); BlockTable->ProjectGeometry=ProjectGeometry; // Force icon in contextual menu ui->actionAddTextBlock->setIconVisibleInMenu(true); ui->actionAddFile->setIconVisibleInMenu(true); ui->actionEditText->setIconVisibleInMenu(true); ui->actionEditImage->setIconVisibleInMenu(true); ui->actionUpBlock->setIconVisibleInMenu(true); ui->actionDownBlock->setIconVisibleInMenu(true); ui->actionCopy->setIconVisibleInMenu(true); ui->actionCut->setIconVisibleInMenu(true); ui->actionPaste->setIconVisibleInMenu(true); ui->actionRemoveBlock->setIconVisibleInMenu(true); ui->actionInfo->setIconVisibleInMenu(true); ui->actionTop->setIconVisibleInMenu(true); ui->actionMiddle->setIconVisibleInMenu(true); ui->actionBottom->setIconVisibleInMenu(true); ui->actionLeft->setIconVisibleInMenu(true); ui->actionCenter->setIconVisibleInMenu(true); ui->actionRight->setIconVisibleInMenu(true); ui->actionDistributeHoriz->setIconVisibleInMenu(true); ui->actionDistributeVert->setIconVisibleInMenu(true); ui->actionAddSimpleTextBlock->setIconVisibleInMenu(true); ui->actionAddClipArtTextBlock->setIconVisibleInMenu(true); // Define handler connect(ui->RulersBT,SIGNAL(clicked()),this,SLOT(s_RulersBt())); connect(ui->actionCopy,SIGNAL(triggered()),this,SLOT(s_BlockTable_Copy())); connect(ui->actionCut,SIGNAL(triggered()),this,SLOT(s_BlockTable_Cut())); connect(ui->actionPaste,SIGNAL(triggered()),this,SLOT(s_BlockTable_Paste())); connect(ui->actionUpBlock,SIGNAL(triggered()),this,SLOT(s_BlockTable_MoveBlockUp())); connect(ui->actionDownBlock,SIGNAL(triggered()),this,SLOT(s_BlockTable_MoveBlockDown())); connect(ui->actionTop,SIGNAL(triggered()),this,SLOT(s_BlockTable_AlignTop())); connect(ui->actionMiddle,SIGNAL(triggered()),this,SLOT(s_BlockTable_AlignMiddle())); connect(ui->actionBottom,SIGNAL(triggered()),this,SLOT(s_BlockTable_AlignBottom())); connect(ui->actionLeft,SIGNAL(triggered()),this,SLOT(s_BlockTable_AlignLeft())); connect(ui->actionCenter,SIGNAL(triggered()),this,SLOT(s_BlockTable_AlignCenter())); connect(ui->actionRight,SIGNAL(triggered()),this,SLOT(s_BlockTable_AlignRight())); connect(ui->actionDistributeHoriz,SIGNAL(triggered()),this,SLOT(s_BlockTable_DistributeHoriz())); connect(ui->actionDistributeVert,SIGNAL(triggered()),this,SLOT(s_BlockTable_DistributeVert())); connect(ui->ArrangeBT,SIGNAL(pressed()),this,SLOT(s_BlockSettings_Arrange())); connect(ui->EditBT,SIGNAL(pressed()),this,SLOT(s_BlockSettings_Edit())); connect(ui->actionEditText,SIGNAL(triggered()),this,SLOT(s_BlockSettings_TextEditor())); connect(ui->actionEditImage,SIGNAL(triggered()),this,SLOT(s_BlockSettings_ImageEditCorrect())); connect(ui->InfoBlockBT,SIGNAL(clicked()),this,SLOT(s_BlockSettings_Information())); connect(ui->actionInfo,SIGNAL(triggered()),this,SLOT(s_BlockSettings_Information())); connect(ui->ZoomSlider,SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_TextZoom(int))); connect(ui->ZoomED,SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_TextZoom(int))); connect(ui->ZoomResetBT,SIGNAL(released()),this,SLOT(s_BlockSettings_TextZoomReset())); // Block table/scene part connect(BlockTable,SIGNAL(itemSelectionChanged()),this,SLOT(s_BlockTable_SelectionChanged())); connect(BlockTable,SIGNAL(DoubleClickEvent(QMouseEvent *)),this,SLOT(s_BlockTable_ItemDoubleClicked(QMouseEvent *))); connect(BlockTable,SIGNAL(RightClickEvent(QMouseEvent *)),this,SLOT(s_BlockTable_ItemRightClicked(QMouseEvent *))); connect(BlockTable,SIGNAL(DragMoveBlock(int,int)),this,SLOT(s_BlockTable_DragMoveBlock(int,int))); connect(BlockTable,SIGNAL(DragDropFiles(QList)),this,SLOT(s_BlockTable_DragDropFiles(QList))); connect(ui->AddTextBlock,SIGNAL(pressed()),this,SLOT(s_BlockTable_AddNewTextBlock())); connect(ui->actionAddTextBlock,SIGNAL(triggered()),this,SLOT(s_BlockTable_AddNewTextBlock())); connect(ui->actionAddSimpleTextBlock,SIGNAL(triggered()),this,SLOT(s_BlockTable_AddNewSimpleTextBlock())); connect(ui->actionAddClipArtTextBlock,SIGNAL(triggered()),this,SLOT(s_BlockTable_AddNewClipArtTextBlock())); connect(ui->AddFileBlock,SIGNAL(pressed()),this,SLOT(s_BlockTable_AddNewFileBlock())); connect(ui->actionAddFile,SIGNAL(triggered()),this,SLOT(s_BlockTable_AddNewFileBlock())); connect(ui->actionRemoveBlock,SIGNAL(triggered()),this,SLOT(s_BlockTable_RemoveBlock())); // Style buttons // Interactive zone connect(InteractiveZone,SIGNAL(StartSelectionChange()),this,SLOT(s_BlockTable_StartSelectionChange())); connect(InteractiveZone,SIGNAL(EndSelectionChange()),this,SLOT(s_BlockTable_EndSelectionChange())); connect(InteractiveZone,SIGNAL(RightClickEvent(QMouseEvent *)),this,SLOT(s_BlockTable_ItemRightClicked(QMouseEvent *))); connect(InteractiveZone,SIGNAL(DoubleClickEvent(QMouseEvent *)),this,SLOT(s_BlockTable_ItemDoubleClicked(QMouseEvent *))); connect(InteractiveZone,SIGNAL(TransformBlock(qreal,qreal,qreal,qreal,qreal,qreal,qreal,qreal)),this,SLOT(s_BlockSettings_IntZoneTransformBlocks(qreal,qreal,qreal,qreal,qreal,qreal,qreal,qreal))); connect(InteractiveZone,SIGNAL(DisplayTransformBlock(qreal,qreal,qreal,qreal,qreal,qreal,qreal,qreal)),this,SLOT(s_BlockSettings_IntZoneDisplayTransformBlocks(qreal,qreal,qreal,qreal,qreal,qreal,qreal,qreal))); RefreshBlockTable(0); } //==================================================================================================================== DlgImageComposer::~DlgImageComposer() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageComposer::DoInitDialog"); ffdProject->CloseUnusedLibAv(ffdProject->CurrentCol); delete ui; } //==================================================================================================================== // Call when user click on Ok button bool DlgImageComposer::DoAccept() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageComposer::DoAccept"); return true; } //==================================================================================================================== void DlgImageComposer::resizeEvent(QResizeEvent *) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageComposer::resizeEvent"); InteractiveZone->RefreshDisplay(); } //==================================================================================================================== void DlgImageComposer::showEvent(QShowEvent *ev) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageComposer::showEvent"); QCustomDialog::showEvent(ev); InteractiveZone->RefreshDisplay(); } //==================================================================================================================== void DlgImageComposer::keyReleaseEvent(QKeyEvent *event) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageComposer::keyReleaseEvent"); if ((focusWidget()==BlockTable)||(focusWidget()==InteractiveZone)) { if (event->modifiers()==Qt::ControlModifier) { switch (event->key()) { case Qt::Key_C : s_BlockTable_Copy(); break; case Qt::Key_X : s_BlockTable_Cut(); break; case Qt::Key_V : s_BlockTable_Paste(); break; default : QCustomDialog::keyReleaseEvent(event); break; } } if (event->modifiers()==Qt::NoModifier) { switch (event->key()) { case Qt::Key_Delete : if (InteractiveZone->hasFocus()) s_BlockTable_RemoveBlock(); break; default : QCustomDialog::keyReleaseEvent(event); break; } } else QCustomDialog::keyReleaseEvent(event); } else QCustomDialog::keyReleaseEvent(event); } //==================================================================================================================== // Initiale Undo void DlgImageComposer::PrepareGlobalUndo() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageComposer::PrepareGlobalUndo"); // Save object before modification for cancel button Undo=new QDomDocument(APPLICATION_NAME); QDomElement root=Undo->createElement("UNDO-DLG"); // Create xml document and root CurrentSlide->SaveToXML(root,"UNDO-DLG-ProjectThumbnail",ffdProject->ProjectFileName,true,NULL,NULL,false); Undo->appendChild(root); // Add object to xml document } //==================================================================================================================== // Apply Undo : call when user click on Cancel button void DlgImageComposer::DoGlobalUndo() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageComposer::DoGlobalUndo"); QDomElement root=Undo->documentElement(); if (root.tagName()=="UNDO-DLG") { CurrentSlide->LoadFromXML(root,"UNDO-DLG-ProjectThumbnail","",NULL,NULL,false); } } //==================================================================================================================== // Refresh background image of the scene void DlgImageComposer::s_RefreshSceneImage() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageComposer::s_RefreshSceneImage"); InteractiveZone->RefreshDisplay(); } //==================================================================================================================== // BLOCK TABLE SETTINGS //==================================================================================================================== void DlgImageComposer::s_BlockTable_StartSelectionChange() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageComposer::s_BlockTable_StartSelectionChange"); InSelectionChange=true; } void DlgImageComposer::s_BlockTable_EndSelectionChange() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageComposer::s_BlockTable_EndSelectionChange"); InSelectionChange=false; s_BlockTable_SelectionChanged(); } //==================================================================================================================== void DlgImageComposer::RefreshStyleControls() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageComposer::RefreshStyleControls"); if (InRefreshStyleControls) return; InRefreshStyleControls=true; if (BlockSelectMode==SELECTMODE_ONE) { ui->BlockShapeStyleED->setText(ApplicationConfig->StyleBlockShapeCollection.GetStyleName(CurrentCompoObject->GetBlockShapeStyle())); StopMajFramingStyle=true; ui->BackgroundFormCB->PrepareFrameShapeTable(true,0,CurrentCompoObject->BackgroundForm); ui->BackgroundFormCB->SetCurrentFrameShape(CurrentCompoObject->BackgroundForm); StopMajFramingStyle=false; FramingCB_CurrentBrush=CurrentCompoObject->BackgroundBrush; } else { FramingCB_CurrentBrush=NULL; ui->BlockShapeStyleED->setText(""); ui->BackgroundFormCB->clear(); } InRefreshStyleControls=false; } //==================================================================================================================== void DlgImageComposer::RefreshControls(bool UpdateInteractiveZone) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageComposer::RefreshControls"); if ((InRefreshControls)||(!CompositionList)) return; InRefreshControls=true; QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); //*********************** // Tools button //*********************** ui->EditBT-> setEnabled((BlockSelectMode==SELECTMODE_ONE)); ui->ArrangeBT-> setEnabled((BlockSelectMode==SELECTMODE_ONE)||(BlockSelectMode==SELECTMODE_MULTIPLE)); ui->InfoBlockBT-> setEnabled((BlockSelectMode==SELECTMODE_ONE)&&(CurrentCompoObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK)); // actions ui->actionTop-> setEnabled(BlockSelectMode==SELECTMODE_MULTIPLE); ui->actionMiddle-> setEnabled(BlockSelectMode==SELECTMODE_MULTIPLE); ui->actionBottom-> setEnabled(BlockSelectMode==SELECTMODE_MULTIPLE); ui->actionLeft-> setEnabled(BlockSelectMode==SELECTMODE_MULTIPLE); ui->actionCenter-> setEnabled(BlockSelectMode==SELECTMODE_MULTIPLE); ui->actionRight-> setEnabled(BlockSelectMode==SELECTMODE_MULTIPLE); ui->actionDistributeHoriz-> setEnabled(NbrSelected>=3); ui->actionDistributeVert-> setEnabled(NbrSelected>=3); ui->actionEditImage-> setEnabled((BlockSelectMode==SELECTMODE_ONE)&&(CurrentCompoObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK)); ui->actionEditText-> setEnabled(BlockSelectMode==SELECTMODE_ONE); ui->actionInfo-> setEnabled((BlockSelectMode==SELECTMODE_ONE)&&(CurrentCompoObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK)); ui->actionRemoveBlock-> setEnabled((BlockSelectMode==SELECTMODE_ONE)||(BlockSelectMode==SELECTMODE_MULTIPLE)); ui->actionUpBlock-> setEnabled((BlockSelectMode==SELECTMODE_ONE)&&(CurrentCompoObjectNbr>0)); ui->actionDownBlock-> setEnabled((BlockSelectMode==SELECTMODE_ONE)&&(CurrentCompoObjectNbrrowCount()-1)); ui->actionCopy-> setEnabled((BlockSelectMode==SELECTMODE_ONE)||(BlockSelectMode==SELECTMODE_MULTIPLE)); ui->actionCut-> setEnabled((BlockSelectMode==SELECTMODE_ONE)||(BlockSelectMode==SELECTMODE_MULTIPLE)); if (ui->actionEditImage->isEnabled()) { ui->actionEditImage->setIcon(QIcon(CurrentCompoObject->BackgroundBrush->MediaObject->ObjectType!=OBJECTTYPE_VIDEOFILE?ICON_EDIT_IMAGE:ICON_EDIT_MOVIE)); switch (CurrentCompoObject->BackgroundBrush->MediaObject->ObjectType) { case OBJECTTYPE_VIDEOFILE: ui->actionEditImage->setText(QApplication::translate("DlgSlideProperties","Correct, reframe or cut video","Action title in slide edit dialog + dialog title of image edit dialog")); ui->actionEditImage->setToolTip(QApplication::translate("DlgSlideProperties","Define framing and correction of image or cut video","Tooltip")); break; case OBJECTTYPE_IMAGEFILE: case OBJECTTYPE_IMAGECLIPBOARD: ui->actionEditImage->setText(QApplication::translate("DlgSlideProperties","Correct or reframe image","Action title in slide edit dialog + dialog title of image edit dialog")); ui->actionEditImage->setToolTip(QApplication::translate("DlgSlideProperties","Define framing and correction of image","Tooltip")); break; case OBJECTTYPE_IMAGEVECTOR: ui->actionEditImage->setText(QApplication::translate("DlgSlideProperties","Reframe image vector","Action title in slide edit dialog + dialog title of image edit dialog")); ui->actionEditImage->setToolTip(QApplication::translate("DlgSlideProperties","Define framing and correction of image vector","Tooltip")); break; case OBJECTTYPE_GMAPSMAP: ui->actionEditImage->setText(QApplication::translate("DlgSlideProperties","Modify Google Maps map","Action title in slide edit dialog + dialog title of image edit dialog")); ui->actionEditImage->setToolTip(QApplication::translate("DlgSlideProperties","Define Modify Google Maps map and framing and correction of map","Tooltip")); break; default: break; // avoid warning } } //***************************** // Position, size and rotation //***************************** if (BlockSelectMode==SELECTMODE_ONE) { ui->ZoomLabel-> setEnabled(true); ui->ZoomSlider-> setEnabled(true); ui->ZoomED-> setEnabled(true); ui->ZoomResetBT->setEnabled(true); qreal Ratio_X,Ratio_Y; ComputeBlockRatio(CurrentCompoObject,Ratio_X,Ratio_Y); ui->ZoomSlider->setValue(CurrentCompoObject->TxtZoomLevel); ui->ZoomED->setValue(CurrentCompoObject->TxtZoomLevel); } else { ui->ZoomLabel-> setEnabled(false); ui->ZoomSlider-> setEnabled(false); ui->ZoomED-> setEnabled(false); ui->ZoomResetBT->setEnabled(false); } RefreshStyleControls(); QApplication::restoreOverrideCursor(); InRefreshControls=false; cShotComposer::RefreshControls(UpdateInteractiveZone); } //==================================================================================================================== void DlgImageComposer::s_BlockTable_Cut() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageComposer::s_BlockTable_Cut"); if ((BlockSelectMode!=SELECTMODE_ONE)&&(BlockSelectMode!=SELECTMODE_MULTIPLE)) return; s_BlockTable_Copy(); s_BlockTable_RemoveBlock(); } //==================================================================================================================== void DlgImageComposer::s_BlockTable_Copy() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageComposer::s_BlockTable_Copy"); if ((BlockSelectMode!=SELECTMODE_ONE)&&(BlockSelectMode!=SELECTMODE_MULTIPLE)) return; QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); // Create xml document and root QDomDocument Object =QDomDocument(APPLICATION_NAME); QDomElement root =Object.createElement("CLIPBOARD"); int BlockNum=0; for (int i=0;iList.count();i++) if (IsSelected[i]) { QDomElement Element=Object.createElement(QString("Block-%1").arg(BlockNum)); cCompositionObject *GlobalBlock=GetGlobalCompositionObject(CompositionList->List[i]->IndexKey); GlobalBlock->SaveToXML(Element,"CLIPBOARD-BLOCK-GLOBAL",ffdProject->ProjectFileName,true,true,NULL,NULL,true,false); // Save global object CompositionList->List[i]->SaveToXML(Element,"CLIPBOARD-BLOCK-SHOT",ffdProject->ProjectFileName,true,true,NULL,NULL,true,false); // Save shot object root.appendChild(Element); BlockNum++; } root.setAttribute("BlockNbr",BlockNum); Object.appendChild(root); // Transfert xml document to clipboard QMimeData *SlideData=new QMimeData(); SlideData->setData("ffDiaporama/block",Object.toByteArray()); QApplication::clipboard()->setMimeData(SlideData); RefreshControls(); QApplication::restoreOverrideCursor(); } //==================================================================================================================== void DlgImageComposer::s_BlockTable_Paste() { const QMimeData *SlideData=QApplication::clipboard()->mimeData(); if (SlideData->hasFormat("ffDiaporama/block")) { QDomDocument Object=QDomDocument(APPLICATION_NAME); Object.setContent(SlideData->data("ffDiaporama/block")); if ((Object.elementsByTagName("CLIPBOARD").length()>0)&&(Object.elementsByTagName("CLIPBOARD").item(0).isElement()==true)) { QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); AppendPartialUndo(UNDOACTION_FULL_SLIDE,BlockTable,true); QDomElement root=Object.elementsByTagName("CLIPBOARD").item(0).toElement(); int BlockNbr=root.attribute("BlockNbr").toInt(); for (int BlockNum=0;BlockNum0)&&(root.elementsByTagName(QString("Block-%1").arg(BlockNum)).item(0).isElement()==true)) { QDomElement Element=root.elementsByTagName(QString("Block-%1").arg(BlockNum)).item(0).toElement(); // Create and append a composition block to the object list CurrentSlide->ObjectComposition.List.append(new cCompositionObject(COMPOSITIONTYPE_OBJECT,CurrentSlide->NextIndexKey,ApplicationConfig,&CurrentSlide->ObjectComposition)); cCompositionObject *GlobalBlock=CurrentSlide->ObjectComposition.List[CurrentSlide->ObjectComposition.List.count()-1]; GlobalBlock->LoadFromXML(Element,"CLIPBOARD-BLOCK-GLOBAL","",NULL,NULL,true,NULL,false,true); GlobalBlock->IndexKey=CurrentSlide->NextIndexKey; cCompositionObject ShotBlock(COMPOSITIONTYPE_SHOT,CurrentSlide->NextIndexKey,ApplicationConfig,this); ShotBlock.LoadFromXML(Element,"CLIPBOARD-BLOCK-SHOT","",NULL,NULL,true,NULL,false,true); ShotBlock.IndexKey=CurrentSlide->NextIndexKey; ShotBlock.BackgroundBrush->MediaObject=GlobalBlock->BackgroundBrush->MediaObject; ShotBlock.BackgroundBrush->DeleteMediaObject=false; ShotBlock.Text=GlobalBlock->Text; if (ShotBlock.Text!="") { ShotBlock.FontName =GlobalBlock->FontName; ShotBlock.FontSize =GlobalBlock->FontSize; ShotBlock.FontColor =GlobalBlock->FontColor; ShotBlock.FontShadowColor =GlobalBlock->FontShadowColor; ShotBlock.IsBold =GlobalBlock->IsBold; ShotBlock.IsItalic =GlobalBlock->IsItalic; ShotBlock.IsUnderline =GlobalBlock->IsUnderline; ShotBlock.HAlign =GlobalBlock->HAlign; ShotBlock.VAlign =GlobalBlock->VAlign; ShotBlock.StyleText =GlobalBlock->StyleText; } // Now create and append a shot composition block to all shot for (int i=0;iList.count();i++) { CurrentSlide->List[i]->ShotComposition.List.append(new cCompositionObject(COMPOSITIONTYPE_SHOT,CurrentSlide->NextIndexKey,ApplicationConfig,&CurrentSlide->List[i]->ShotComposition)); CurrentSlide->List[i]->ShotComposition.List[CurrentSlide->List[i]->ShotComposition.List.count()-1]->CopyFromCompositionObject(&ShotBlock); } // Inc NextIndexKey CurrentSlide->NextIndexKey++; } // Reset thumbs if needed ResetThumbs(true); // Reset blocks table RefreshBlockTable(CompositionList->List.count()-1); // Select blocks we just added s_BlockTable_StartSelectionChange(); BlockTable->clearSelection(); for (int i=0;isetCurrentCell(CompositionList->List.count()-1-i,0,i==0?QItemSelectionModel::Select|QItemSelectionModel::Current:QItemSelectionModel::Select); s_BlockTable_EndSelectionChange(); QApplication::restoreOverrideCursor(); } } } //==================================================================================================================== void DlgImageComposer::s_BlockTable_AddNewTextBlock() { QMenu *ContextMenu=new QMenu(this); ContextMenu->addAction(ui->actionAddSimpleTextBlock); ContextMenu->addAction(ui->actionAddClipArtTextBlock); ContextMenu->exec(QCursor::pos()); delete ContextMenu; ui->AddTextBlock->setDown(false); } //==================================================================================================================== void DlgImageComposer::s_BlockTable_AddNewSimpleTextBlock() { AppendPartialUndo(UNDOACTION_FULL_SLIDE,BlockTable,true); // Create and append a composition block to the object list CurrentSlide->ObjectComposition.List.append(new cCompositionObject(COMPOSITIONTYPE_OBJECT,CurrentSlide->NextIndexKey,ApplicationConfig,&CurrentSlide->ObjectComposition)); cCompositionObject *CompositionObject=CurrentSlide->ObjectComposition.List[CurrentSlide->ObjectComposition.List.count()-1]; // Apply Styles CompositionObject->ApplyTextStyle(ApplicationConfig->StyleTextCollection.GetStyleDef(ApplicationConfig->StyleTextCollection.DecodeString(ApplicationConfig->DefaultBlock_Text_TextST))); CompositionObject->ApplyBackgroundStyle(ApplicationConfig->StyleTextBackgroundCollection.GetStyleDef(ApplicationConfig->StyleTextBackgroundCollection.DecodeString(ApplicationConfig->DefaultBlock_Text_BackGST))); CompositionObject->ApplyBlockShapeStyle(ApplicationConfig->StyleBlockShapeCollection.GetStyleDef(ApplicationConfig->StyleBlockShapeCollection.DecodeString(ApplicationConfig->DefaultBlock_Text_ShapeST))); CompositionObject->BackgroundBrush->LockGeometry=false; // For ApplyAutoCompoSize don't use it CompositionObject->ApplyAutoCompoSize(ApplicationConfig->DefaultBlock_AutoSizePos,ffdProject->ImageGeometry); CompositionObject->BackgroundBrush->LockGeometry=(ApplicationConfig->DefaultBlock_AutoLocking==AUTOFRAMING_CUSTOMPRJLOCK); CompositionObject->BackgroundBrush->AspectRatio=(CompositionObject->h*(ffdProject->ImageGeometry==GEOMETRY_4_3?1440:ffdProject->ImageGeometry==GEOMETRY_16_9?1080:ffdProject->ImageGeometry==GEOMETRY_40_17?816:1920))/(CompositionObject->w*1920); // Create default text QTextDocument TextDoc(QApplication::translate("DlgImageComposer","Text","Default text value")); QFont Font=QFont(CompositionObject->FontName,CompositionObject->FontSize,CompositionObject->IsBold?QFont::Bold:QFont::Normal,CompositionObject->IsItalic?QFont::StyleItalic:QFont::StyleNormal); QTextOption OptionText((CompositionObject->HAlign==0)?Qt::AlignLeft:(CompositionObject->HAlign==1)?Qt::AlignHCenter:(CompositionObject->HAlign==2)?Qt::AlignRight:Qt::AlignJustify); QTextCursor Cursor(&TextDoc); QTextCharFormat TCF; QTextBlockFormat TBF; Cursor.select(QTextCursor::Document); OptionText.setWrapMode(QTextOption::WordWrap); Font.setUnderline(CompositionObject->IsUnderline); TextDoc.setDefaultFont(Font); TextDoc.setDefaultTextOption(OptionText); TCF.setFont(Font); TCF.setFontWeight(CompositionObject->IsBold?QFont::Bold:QFont::Normal); TCF.setFontItalic(CompositionObject->IsItalic); TCF.setFontUnderline(CompositionObject->IsUnderline); TCF.setForeground(QBrush(QColor(CompositionObject->FontColor))); TBF.setAlignment((CompositionObject->HAlign==0)?Qt::AlignLeft:(CompositionObject->HAlign==1)?Qt::AlignHCenter:(CompositionObject->HAlign==2)?Qt::AlignRight:Qt::AlignJustify); Cursor.setCharFormat(TCF); Cursor.setBlockFormat(TBF); CompositionObject->Text=TextDoc.toHtml(); // Now create and append a shot composition block to all shot for (int i=0;iList.count();i++) { CurrentSlide->List[i]->ShotComposition.List.append(new cCompositionObject(COMPOSITIONTYPE_SHOT,CompositionObject->IndexKey,ApplicationConfig,&CurrentSlide->List[i]->ShotComposition)); CurrentSlide->List[i]->ShotComposition.List[CurrentSlide->List[i]->ShotComposition.List.count()-1]->CopyFromCompositionObject(CompositionObject); } // Inc NextIndexKey CurrentSlide->NextIndexKey++; // Reset thumbs if needed ResetThumbs(true); // Reset blocks table RefreshBlockTable(CompositionList->List.count()-1); NoPrepUndo=true; QTimer::singleShot(250,this,SLOT(s_BlockSettings_TextEditor())); // Append "Open text editor" to the message queue } //==================================================================================================================== void DlgImageComposer::s_BlockTable_AddNewClipArtTextBlock() { cPopupTexteFrame* popup1 = new cPopupTexteFrame(this); QPoint Pos=mapToGlobal(ui->AddTextBlock->pos()); popup1->DoInitPopup(QPoint(Pos.x()+ui->AddTextBlock->width(),Pos.y()+ui->AddTextBlock->height())); popup1->exec(); QString RessourceName=popup1->GetCurrentTextFrame(); if (RessourceName=="") return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,BlockTable,true); // Create and append a composition block to the object list CurrentSlide->ObjectComposition.List.append(new cCompositionObject(COMPOSITIONTYPE_OBJECT,CurrentSlide->NextIndexKey,ApplicationConfig,&CurrentSlide->ObjectComposition)); cCompositionObject *CompositionObject=CurrentSlide->ObjectComposition.List[CurrentSlide->ObjectComposition.List.count()-1]; // Apply Styles CompositionObject->ApplyTextStyle(TextFrameList.List[TextFrameList.SearchImage(RessourceName)].TextStyle); CompositionObject->BackgroundBrush->LockGeometry=false; // For ApplyAutoCompoSize don't use it CompositionObject->ApplyAutoCompoSize(ApplicationConfig->DefaultBlock_AutoSizePos,ffdProject->ImageGeometry); CompositionObject->BackgroundBrush->LockGeometry=(ApplicationConfig->DefaultBlock_AutoLocking==AUTOFRAMING_CUSTOMPRJLOCK); CompositionObject->BackgroundBrush->AspectRatio =(CompositionObject->h*(ffdProject->ImageGeometry==GEOMETRY_4_3?1440:ffdProject->ImageGeometry==GEOMETRY_16_9?1080:ffdProject->ImageGeometry==GEOMETRY_40_17?816:1920))/(CompositionObject->w*1920); CompositionObject->TextClipArtName =RessourceName; CompositionObject->TMx =TextFrameList.List[TextFrameList.SearchImage(RessourceName)].TMx; CompositionObject->TMy =TextFrameList.List[TextFrameList.SearchImage(RessourceName)].TMy; CompositionObject->TMw =TextFrameList.List[TextFrameList.SearchImage(RessourceName)].TMw; CompositionObject->TMh =TextFrameList.List[TextFrameList.SearchImage(RessourceName)].TMh; // Create default text QTextDocument TextDoc(QApplication::translate("DlgImageComposer","Text","Default text value")); QFont Font=QFont(CompositionObject->FontName,CompositionObject->FontSize,CompositionObject->IsBold?QFont::Bold:QFont::Normal,CompositionObject->IsItalic?QFont::StyleItalic:QFont::StyleNormal); QTextOption OptionText((CompositionObject->HAlign==0)?Qt::AlignLeft:(CompositionObject->HAlign==1)?Qt::AlignHCenter:(CompositionObject->HAlign==2)?Qt::AlignRight:Qt::AlignJustify); QTextCursor Cursor(&TextDoc); QTextCharFormat TCF; QTextBlockFormat TBF; Cursor.select(QTextCursor::Document); OptionText.setWrapMode(QTextOption::WordWrap); Font.setUnderline(CompositionObject->IsUnderline); TextDoc.setDefaultFont(Font); TextDoc.setDefaultTextOption(OptionText); TCF.setFont(Font); TCF.setFontWeight(CompositionObject->IsBold?QFont::Bold:QFont::Normal); TCF.setFontItalic(CompositionObject->IsItalic); TCF.setFontUnderline(CompositionObject->IsUnderline); TCF.setForeground(QBrush(QColor(CompositionObject->FontColor))); TBF.setAlignment((CompositionObject->HAlign==0)?Qt::AlignLeft:(CompositionObject->HAlign==1)?Qt::AlignHCenter:(CompositionObject->HAlign==2)?Qt::AlignRight:Qt::AlignJustify); Cursor.setCharFormat(TCF); Cursor.setBlockFormat(TBF); CompositionObject->Text=TextDoc.toHtml(); // Now create and append a shot composition block to all shot for (int i=0;iList.count();i++) { CurrentSlide->List[i]->ShotComposition.List.append(new cCompositionObject(COMPOSITIONTYPE_SHOT,CompositionObject->IndexKey,ApplicationConfig,&CurrentSlide->List[i]->ShotComposition)); CurrentSlide->List[i]->ShotComposition.List[CurrentSlide->List[i]->ShotComposition.List.count()-1]->CopyFromCompositionObject(CompositionObject); } // Inc NextIndexKey CurrentSlide->NextIndexKey++; // Reset thumbs if needed ResetThumbs(true); // Reset blocks table RefreshBlockTable(CompositionList->List.count()-1); NoPrepUndo=true; QTimer::singleShot(250,this,SLOT(s_BlockSettings_TextEditor())); // Append "Open text editor" to the message queue } //==================================================================================================================== void DlgImageComposer::s_BlockTable_AddNewFileBlock() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageComposer::s_BlockTable_AddNewFileBlock"); ui->AddFileBlock->setDown(false); QStringList FileList; DlgFileExplorer Dlg(BROWSER_TYPE_MEDIAFILES,true,false,true,QApplication::translate("MainWindow","Add files"),ApplicationConfig,this); Dlg.InitDialog(); if (Dlg.exec()==0) FileList=Dlg.GetCurrentSelectedFiles(); if (FileList.count()==0) return; QApplication::processEvents(); s_BlockTable_AddFilesBlock(FileList,BlockTable->rowCount()); } //==================================================================================================================== void DlgImageComposer::s_BlockTable_AddFilesBlock(QStringList FileList,int PositionToInsert) { AppendPartialUndo(UNDOACTION_FULL_SLIDE,BlockTable,true); // Add files for (int i=0;iObjectComposition.List.insert(PositionToInsert,new cCompositionObject(COMPOSITIONTYPE_OBJECT,CurrentSlide->NextIndexKey,ApplicationConfig,&CurrentSlide->ObjectComposition)); cCompositionObject *CompositionObject=CurrentSlide->ObjectComposition.List[PositionToInsert]; cBrushDefinition *CurrentBrush =CompositionObject->BackgroundBrush; CompositionObject->Text =""; CompositionObject->PenSize =0; CurrentBrush->BrushType =BRUSHTYPE_IMAGEDISK; QString BrushFileName =QFileInfo(NewFile).absoluteFilePath(); bool IsValide =false; QString Extension=QFileInfo(BrushFileName).suffix().toLower(); if (ApplicationConfig->AllowImageExtension.contains(Extension)) CurrentBrush->MediaObject=new cImageFile(ApplicationConfig); else if (ApplicationConfig->AllowImageVectorExtension.contains(Extension)) CurrentBrush->MediaObject=new cImageFile(ApplicationConfig); else if (ApplicationConfig->AllowVideoExtension.contains(Extension)) CurrentBrush->MediaObject=new cVideoFile(ApplicationConfig); IsValide=((CurrentBrush->MediaObject->GetInformationFromFile(BrushFileName,NULL,NULL,-1)&&(CurrentBrush->MediaObject->CheckFormatValide(this)))); if (IsValide) { if (CurrentBrush->MediaObject->ObjectType==OBJECTTYPE_VIDEOFILE) { cVideoFile *Video=(cVideoFile *)CurrentBrush->MediaObject; Video->EndPos=Video->Duration; if (Video->LibavStartTime>0) Video->StartPos=QTime(0,0,0,0).addMSecs(int64_t((double(Video->LibavStartTime)/AV_TIME_BASE)*1000)); } // Apply Styles for texte CompositionObject->ApplyTextStyle(ApplicationConfig->StyleTextCollection.GetStyleDef(ApplicationConfig->StyleTextCollection.DecodeString(ApplicationConfig->DefaultBlockBA_IMG_TextST))); // Apply Styles for shape CompositionObject->ApplyBlockShapeStyle(ApplicationConfig->StyleBlockShapeCollection.GetStyleDef(ApplicationConfig->StyleBlockShapeCollection.DecodeString(ApplicationConfig->DefaultBlockBA_IMG_ShapeST))); // Apply styles for coordinates CurrentBrush->ApplyAutoFraming(ApplicationConfig->DefaultBlockBA[CurrentBrush->GetImageType()].AutoFraming,ProjectGeometry); if (CurrentBrush->MediaObject->ObjectType==OBJECTTYPE_IMAGEVECTOR) { CompositionObject->ApplyAutoCompoSize(AUTOCOMPOSIZE_REALSIZE,ffdProject->ImageGeometry); // adjust for image was not too small ! if ((CompositionObject->w<0.2)&&(CompositionObject->h<0.2)) { while ((CompositionObject->w<0.2)&&(CompositionObject->h<0.2)) { CompositionObject->w=CompositionObject->w*2; CompositionObject->h=CompositionObject->h*2; } CompositionObject->x=(1-CompositionObject->w)/2; CompositionObject->y=(1-CompositionObject->h)/2; } } else CompositionObject->ApplyAutoCompoSize(ApplicationConfig->DefaultBlockBA[CurrentBrush->GetImageType()].AutoCompo,ffdProject->ImageGeometry); // Now create and append a shot composition block to all shot for (int i=0;iList.count();i++) { CurrentSlide->List[i]->ShotComposition.List.insert(PositionToInsert,new cCompositionObject(COMPOSITIONTYPE_SHOT,CompositionObject->IndexKey,ApplicationConfig,&CurrentSlide->List[i]->ShotComposition)); CurrentSlide->List[i]->ShotComposition.List[PositionToInsert]->CopyFromCompositionObject(CompositionObject); } // Inc NextIndexKey CurrentSlide->NextIndexKey++; PositionToInsert++; } else { delete CurrentSlide->ObjectComposition.List.takeAt(PositionToInsert); CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("MainWindow","Error","Error message"),NewFile+"\n\n"+ErrorMessage,QMessageBox::Close); } } // Reset thumbs if needed ResetThumbs(true); // Reset blocks table RefreshBlockTable(PositionToInsert-1); } //==================================================================================================================== // User double click on a block in the BlockTable widget or in the scene void DlgImageComposer::s_BlockTable_ItemDoubleClicked(QMouseEvent *) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageComposer::s_BlockTable_ItemDoubleClicked"); if (BlockSelectMode!=SELECTMODE_ONE) return; if (CurrentCompoObject->BackgroundBrush->BrushType!=BRUSHTYPE_IMAGEDISK) s_BlockSettings_TextEditor(); else s_BlockSettings_ImageEditCorrect(); } //==================================================================================================================== // User right click on a block in the BlockTable widget or in the scene void DlgImageComposer::s_BlockTable_ItemRightClicked(QMouseEvent *) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageComposer::s_BlockTable_ItemRightClicked"); if (BlockSelectMode==SELECTMODE_NONE) { QMenu *ContextMenu=new QMenu(this); ContextMenu->addAction(ui->actionCut); ContextMenu->addAction(ui->actionCopy); ContextMenu->addAction(ui->actionPaste); ContextMenu->addSeparator(); ContextMenu->addAction(ui->actionAddTextBlock); ContextMenu->addAction(ui->actionAddFile); ContextMenu->exec(QCursor::pos()); delete ContextMenu; } else if (BlockSelectMode==SELECTMODE_ONE) { QMenu *ContextMenu=new QMenu(this); ContextMenu->addAction(ui->actionCut); ContextMenu->addAction(ui->actionCopy); ContextMenu->addAction(ui->actionPaste); ContextMenu->addSeparator(); ContextMenu->addAction(ui->actionEditText); if (ui->actionEditImage->isEnabled()) ContextMenu->addAction(ui->actionEditImage); ContextMenu->addSeparator(); ContextMenu->addAction(ui->actionRemoveBlock); ContextMenu->addSeparator(); ContextMenu->addAction(ui->actionInfo); ContextMenu->addSeparator(); ContextMenu->addAction(ui->actionUpBlock); ContextMenu->addAction(ui->actionDownBlock); ContextMenu->exec(QCursor::pos()); delete ContextMenu; } else if (BlockSelectMode==SELECTMODE_MULTIPLE) { QMenu *ContextMenu=new QMenu(this); ContextMenu->addAction(ui->actionTop); ContextMenu->addAction(ui->actionMiddle); ContextMenu->addAction(ui->actionBottom); ContextMenu->addSeparator(); ContextMenu->addAction(ui->actionLeft); ContextMenu->addAction(ui->actionCenter); ContextMenu->addAction(ui->actionRight); ContextMenu->addSeparator(); ContextMenu->addAction(ui->actionDistributeHoriz); ContextMenu->addAction(ui->actionDistributeVert); ContextMenu->addSeparator(); ContextMenu->addAction(ui->actionCut); ContextMenu->addAction(ui->actionCopy); ContextMenu->addAction(ui->actionPaste); ContextMenu->addSeparator(); ContextMenu->addAction(ui->actionRemoveBlock); ContextMenu->exec(QCursor::pos()); delete ContextMenu; } } //==================================================================================================================== void DlgImageComposer::s_BlockTable_DragDropFiles(QList urlList) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageComposer::s_BlockTable_DragDropFiles"); if (urlList.count()>0) { QString fName; QFileInfo info; QStringList FileList; for (int i=0;i0) { if (BlockTable->DragItemDest<0) BlockTable->DragItemDest=0; if (BlockTable->DragItemDest>BlockTable->rowCount()) BlockTable->DragItemDest=BlockTable->rowCount(); s_BlockTable_AddFilesBlock(FileList,BlockTable->DragItemDest); } } } //==================================================================================================================== void DlgImageComposer::s_BlockSettings_Arrange() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageComposer::s_BlockSettings_Arrange"); QMenu *ContextMenu=new QMenu(this); ContextMenu->addAction(ui->actionTop); ContextMenu->addAction(ui->actionMiddle); ContextMenu->addAction(ui->actionBottom); ContextMenu->addSeparator(); ContextMenu->addAction(ui->actionLeft); ContextMenu->addAction(ui->actionCenter); ContextMenu->addAction(ui->actionRight); ContextMenu->addSeparator(); ContextMenu->addAction(ui->actionDistributeHoriz); ContextMenu->addAction(ui->actionDistributeVert); ContextMenu->addSeparator(); ContextMenu->addAction(ui->actionUpBlock); ContextMenu->addAction(ui->actionDownBlock); ContextMenu->exec(QCursor::pos()); delete ContextMenu; ui->ArrangeBT->setDown(false); } //==================================================================================================================== void DlgImageComposer::s_BlockSettings_Edit() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageComposer::s_BlockSettings_Arrange"); QMenu *ContextMenu=new QMenu(this); ContextMenu->addAction(ui->actionCut); ContextMenu->addAction(ui->actionCopy); ContextMenu->addAction(ui->actionPaste); ContextMenu->addSeparator(); ContextMenu->addAction(ui->actionEditText); if (ui->actionEditImage->isEnabled()) ContextMenu->addAction(ui->actionEditImage); ContextMenu->addSeparator(); ContextMenu->addAction(ui->actionRemoveBlock); ContextMenu->exec(QCursor::pos()); delete ContextMenu; ui->EditBT->setDown(false); } //==================================================================================================================== //========= Open image/video correction editor void DlgImageComposer::s_BlockSettings_ImageEditCorrect() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageComposer::s_BlockSettings_ImageEditCorrect"); if ((InRefreshControls)||(BlockSelectMode!=SELECTMODE_ONE)||(!CurrentCompoObject)||(!ui->actionEditImage->isEnabled())) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,InteractiveZone,true); cBrushDefinition *CurrentBrush=CurrentCompoObject->BackgroundBrush; // Compute position of video int Position=(CurrentBrush->MediaObject->ObjectType==OBJECTTYPE_VIDEOFILE)?QTime(0,0,0,0).msecsTo(((cVideoFile*)&CurrentBrush->MediaObject)->StartPos):0; DlgImageCorrection Dlg(CurrentCompoObject,&CurrentCompoObject->BackgroundForm,CurrentCompoObject->BackgroundBrush,Position,ffdProject->ImageGeometry,ffdProject->ImageAnimSpeedWave,ApplicationConfig,this); Dlg.InitDialog(); if (Dlg.exec()==0) { FramingCB_CurrentBrush =NULL; // To force a refresh of ui->FramingCB ! CurrentBrush->AspectRatio=CurrentBrush->AspectRatio; CurrentCompoObject->h =(CurrentCompoObject->w*InteractiveZone->DisplayW*CurrentBrush->AspectRatio)/InteractiveZone->DisplayH; // Adjust height and width to image stay in screen if (((CurrentCompoObject->y+CurrentCompoObject->h)*InteractiveZone->DisplayH)>InteractiveZone->DisplayH) { CurrentCompoObject->h=1-CurrentCompoObject->y; CurrentCompoObject->w=((CurrentCompoObject->h*InteractiveZone->DisplayH)/CurrentBrush->AspectRatio)/InteractiveZone->DisplayW; } // Lulo object for image and video must be remove ApplicationConfig->ImagesCache.RemoveImageObject(CurrentCompoObject->BackgroundBrush->MediaObject->RessourceKey,CurrentCompoObject->BackgroundBrush->MediaObject->FileKey); // Reset thumbs if needed ResetThumbs(true); // Reset blocks table RefreshBlockTable(CurrentCompoObjectNbr); } else { RemoveLastPartialUndo(); } } //==================================================================================================================== // Handler for Text //==================================================================================================================== void DlgImageComposer::s_BlockSettings_TextZoom(int Value) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageComposer::s_BlockSettings_TextZoom"); if (!ISBLOCKVALIDEVISIBLE()) return; AppendPartialUndo(UNDOACTION_FULL_SLIDE,ui->ZoomED,true); CurrentCompoObject->TxtZoomLevel=Value; ui->ZoomSlider->setValue(CurrentCompoObject->TxtZoomLevel); ui->ZoomED->setValue(CurrentCompoObject->TxtZoomLevel); // Apply values of previous shot to all shot for this object APPLY1TONEXT(TxtZoomLevel); ApplyToContexte(false); } void DlgImageComposer::s_BlockSettings_TextZoomReset() { s_BlockSettings_TextZoom(100); } //==================================================================================================================== // Display or hide rulers //==================================================================================================================== void DlgImageComposer::s_RulersBt() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageComposer::s_RulersBt"); DlgRulerDef Dlg(&InteractiveZone->MagneticRuler,false,ApplicationConfig,this); Dlg.InitDialog(); connect(&Dlg,SIGNAL(RefreshDisplay()),this,SLOT(s_RefreshSceneImage())); if (Dlg.exec()==0) { ApplicationConfig->ThumbRuler=InteractiveZone->MagneticRuler; ui->RulersBT->setIcon(QIcon(QString(InteractiveZone->MagneticRuler!=0?ICON_RULER_ON:ICON_RULER_OFF))); } InteractiveZone->RefreshDisplay(); } ffDiaporama/src/ffDiaporama/DlgSlide/DlgRuler/0000777000175000001440000000000012275647317021431 5ustar dominiqueusersffDiaporama/src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui0000777000175000001440000002452512275647317024142 0ustar dominiqueusers DlgRulerDef 0 0 393 210 Sans Serif 9 Ruler properties 4 4 4 4 4 true 0 0 383 163 0 0 4 0 2 0 0 11 75 true true Horizontal rulers 0 0 11 75 true true Vertical rulers 0 0 Enable or disable ruler for the horizontal edges of the screen. screen borders 0 0 Enable or disable ruler for the vertical edges of the screen. screen borders 0 0 Enable or disable ruler for the horizontal TV margins. In ffDiaporama, the TV margins are of type "Title safe area" and are defined on 90% in width and 90% in height, for all the project geometries. TV margins 0 0 Enable or disable ruler for the vertical TV margins. In ffDiaporama, the TV margins are of type "Title safe area" and are defined on 90% in width and 90% in height, for all the project geometries. TV margins 0 0 Enable or disable ruler for the horizontal center of the screen. Screen center 0 0 Enable or disable ruler for the vertical center of the screen. Screen center Qt::Vertical 20 40 Enable or disable horizontal rulers of the center, of the top edge, of the bottom edge, of the left edge and of the right edge of each objects which are not a part of the selection. Unselected objects Enable or disable vertical rulers of the center, of the top edge, of the bottom edge, of the left edge and of the right edge of each objects which are not a part of the selection. Unselected objects Qt::Horizontal 0 0 0 0 0 Qt::Horizontal 40 20 Accept modification and exit dialog box &Ok :/img/action_ok.png:/img/action_ok.png Cancel modification and exit dialog box &Cancel :/img/action_cancel.png:/img/action_cancel.png Show help about this dialogue box &Help :/img/help.png:/img/help.png ffDiaporama/src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.h0000777000175000001440000000215312275647317023745 0ustar dominiqueusers#ifndef DLGRULERDEF_H #define DLGRULERDEF_H // Basic inclusions (common to all files) #include "CustomCtrl/_QCustomDialog.h" namespace Ui { class DlgRulerDef; } class DlgRulerDef : public QCustomDialog { Q_OBJECT public: int *RulerDef; int SavRuler; bool AllowTVMargins; explicit DlgRulerDef(int *RulerDef,bool AllowTVMargins,cApplicationConfig *ApplicationConfig,QWidget *parent=0); ~DlgRulerDef(); // function to be overloaded virtual void DoInitDialog(); // Initialise dialog virtual bool DoAccept() {return true;} // Call when user click on Ok button virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button virtual void PrepareGlobalUndo() {SavRuler=*RulerDef;} // Initiale Undo virtual void DoGlobalUndo() {*RulerDef=SavRuler;} // Apply Undo : call when user click on Cancel button signals: void RefreshDisplay(); private slots: void CBStateChanged(int); private: Ui::DlgRulerDef *ui; }; #endif // DLGRULERDEF_H ffDiaporama/src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.cpp0000777000175000001440000000674312275647317024311 0ustar dominiqueusers#include "DlgRulerDef.h" #include "ui_DlgRulerDef.h" #define RULER_HORIZ_SCREENBORDER 0x0001 #define RULER_HORIZ_TVMARGIN 0x0002 #define RULER_HORIZ_SCREENCENTER 0x0004 #define RULER_HORIZ_UNSELECTED 0x0008 #define RULER_VERT_SCREENBORDER 0x0010 #define RULER_VERT_TVMARGIN 0x0020 #define RULER_VERT_SCREENCENTER 0x0040 #define RULER_VERT_UNSELECTED 0x0080 DlgRulerDef::DlgRulerDef(int *RulerDef,bool AllowTVMargins,cApplicationConfig *ApplicationConfig,QWidget *parent): QCustomDialog(ApplicationConfig,parent),ui(new Ui::DlgRulerDef) { this->RulerDef=RulerDef; ui->setupUi(this); OkBt =ui->OKBT; CancelBt=ui->CancelBt; HelpBt =ui->HelpBt; HelpFile="0116"; this->AllowTVMargins=AllowTVMargins; } //==================================================================================================================== DlgRulerDef::~DlgRulerDef() { delete ui; } //==================================================================================================================== void DlgRulerDef::DoInitDialog() { ui->Horiz_ScreenBorderCB-> setChecked(((*RulerDef)&RULER_HORIZ_SCREENBORDER)!=0); connect(ui->Horiz_ScreenBorderCB, SIGNAL(stateChanged(int)),this,SLOT(CBStateChanged(int))); ui->Horiz_TVMarginsCB-> setChecked(((*RulerDef)&RULER_HORIZ_TVMARGIN)!=0); connect(ui->Horiz_TVMarginsCB, SIGNAL(stateChanged(int)),this,SLOT(CBStateChanged(int))); ui->Horiz_ScreenCenterCB-> setChecked(((*RulerDef)&RULER_HORIZ_SCREENCENTER)!=0); connect(ui->Horiz_ScreenCenterCB, SIGNAL(stateChanged(int)),this,SLOT(CBStateChanged(int))); ui->Horiz_UnselectedObjCB->setChecked(((*RulerDef)&RULER_HORIZ_UNSELECTED)!=0); connect(ui->Horiz_UnselectedObjCB,SIGNAL(stateChanged(int)),this,SLOT(CBStateChanged(int))); ui->Vert_ScreenBorderCB-> setChecked(((*RulerDef)&RULER_VERT_SCREENBORDER)!=0); connect(ui->Vert_ScreenBorderCB, SIGNAL(stateChanged(int)),this,SLOT(CBStateChanged(int))); ui->Vert_TVMarginsCB-> setChecked(((*RulerDef)&RULER_VERT_TVMARGIN)!=0); connect(ui->Vert_TVMarginsCB, SIGNAL(stateChanged(int)),this,SLOT(CBStateChanged(int))); ui->Vert_ScreenCenterCB-> setChecked(((*RulerDef)&RULER_VERT_SCREENCENTER)!=0); connect(ui->Vert_ScreenCenterCB, SIGNAL(stateChanged(int)),this,SLOT(CBStateChanged(int))); ui->Vert_UnselectedObjCB-> setChecked(((*RulerDef)&RULER_VERT_UNSELECTED)!=0); connect(ui->Vert_UnselectedObjCB, SIGNAL(stateChanged(int)),this,SLOT(CBStateChanged(int))); ui->Horiz_TVMarginsCB->setVisible(AllowTVMargins); ui->Vert_TVMarginsCB->setVisible(AllowTVMargins); } //==================================================================================================================== void DlgRulerDef::CBStateChanged(int) { *RulerDef=0; if (ui->Horiz_ScreenBorderCB-> isChecked()) (*RulerDef)|=RULER_HORIZ_SCREENBORDER; if (ui->Horiz_TVMarginsCB-> isChecked()) (*RulerDef)|=RULER_HORIZ_TVMARGIN; if (ui->Horiz_ScreenCenterCB-> isChecked()) (*RulerDef)|=RULER_HORIZ_SCREENCENTER; if (ui->Horiz_UnselectedObjCB->isChecked()) (*RulerDef)|=RULER_HORIZ_UNSELECTED; if (ui->Vert_ScreenBorderCB-> isChecked()) (*RulerDef)|=RULER_VERT_SCREENBORDER; if (ui->Vert_TVMarginsCB-> isChecked()) (*RulerDef)|=RULER_VERT_TVMARGIN; if (ui->Vert_ScreenCenterCB-> isChecked()) (*RulerDef)|=RULER_VERT_SCREENCENTER; if (ui->Vert_UnselectedObjCB-> isChecked()) (*RulerDef)|=RULER_VERT_UNSELECTED; emit RefreshDisplay(); } ffDiaporama/src/ffDiaporama/DlgRenderVideo/0000777000175000001440000000000012275647323021054 5ustar dominiqueusersffDiaporama/src/ffDiaporama/DlgRenderVideo/DlgRenderVideo.ui0000777000175000001440000011552112275647322024257 0ustar dominiqueusers DlgRenderVideo 0 0 636 666 500 350 Sans Serif 9 Render video 4 8 8 8 8 QFrame::NoFrame true 0 0 606 490 0 0 4 4 4 4 4 Image format : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 4 Select the video compression ratio from the displayed list. QComboBox::AdjustToContents If this box is checked, the bitrate is variable (between -50% to +125%) Notes: - If the project contains mostly pictures, this option can significantly reduce the size of the video file (up to 80%) - By cons, if the project contains mostly videos this option will increase the size of the video file By default, this box is checked if duration of videos are less than half of the total duration Variable bitrate Qt::Horizontal 40 20 Destination file : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Device model : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter To render : Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing Video codec : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Select the image format to be used to render the video from the displayed list. -1 2 0 0 Select the audio compression ratio from the displayed list. QComboBox::AdjustToContents Qt::Horizontal 40 0 0 0 150 0 Select the video codec to be used to render the video from the displayed list. If this box is checked then the sound track will be included in the video. Include sound in the video 2 0 0 0 0 Destination file path Click on this button to select graphically a file and a directory. :/img/FolderOpen.png:/img/FolderOpen.png Language : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 150 0 Select the audio codec to be used to render the video from the displayed list. Select the video standard to use, PAL or NTSC. PAL NTSC 0 0 Geometry : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Show the geometry of the project. 0 Old TV (4:3) TV Wide (16:9) Cinema (2.35:1) 0 0 Select the type of file to be used to render the video from the displayed list. true If this box is checked then a thumbnail file will be created with video. Join thumbnail to rendered file Video standard : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Frequency : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 Bit rate : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 4 2 The rendering can be made on the whole project or only on a part. By checking the option All slides to render the video of the whole project. All slides The rendering can be made on the whole project or only on a part. By checking the option From and then entering the numbers of the start and end slides to generate a video of only a part of the project. From The rendering can be made on the whole project or only on a part. By checking the option From and then entering the numbers of the start and end slides to generate a video of only a part of the project. To The rendering can be made on the whole project or only on a part. By checking the option From and then entering the numbers of the start and end slides to generate a video of only a part of the project. Qt::Horizontal 40 20 Device type : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Select the type of equipment Sound : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Audio codec : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Qt::Vertical 20 40 0 0 Defines the value of the Language field. This value is used by players to indicate in which language is the audio track. This value is on 3 characters and follows the ISO 639 recommendation. und 3 0 0 (ISO 639 language code) File format : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 2 0 0 Select the frequency to use for audio during the rendering. 0 0 Hz Select the model of equipment Bit rate : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter If this box is checked then a XBMC .nfo file will be created with video. Join XBMC .nfo file to rendered file 6 0 0 0 0 0 0 0 0 2 Rendering to : Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing Image format : Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing Video format : Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing Audio format : Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing 0 0 Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop true 0 0 Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop true 0 0 Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop true 0 0 Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop true Qt::Horizontal 2 0 0 0 0 2 0 0 0 0 Current slide progression 0 0 100 0 100 16777215 1/1 Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 24 Qt::AlignCenter 2 0 0 0 0 Total progression 100 0 100 16777215 1/1 Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 24 Qt::AlignCenter Qt::Horizontal 0 0 0 0 2 Elapsed time : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Average render speed : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 00:00:00 0.0 0 0 fps Qt::Vertical 0 0 Qt::Horizontal 4 Qt::Horizontal 40 20 This button allows you to open project properties dialog. It allows you to adjust the properties before generating the video. Note: the project properties are saved into the video as TAG (METADATA) which are used by a lot of indexing programs or by jukeboxes. &Properties :/img/PrjProperties.png:/img/PrjProperties.png Qt::Horizontal 40 20 Accept modification and start rendering process &Ok :/img/action_ok.png:/img/action_ok.png Cancel modification or rendering process and exit dialog box &Cancel :/img/action_cancel.png:/img/action_cancel.png Show help about this dialogue box &Help :/img/help.png:/img/help.png FileFormatCB DestinationFilePath DestinationFilePathBT DeviceTypeCB DeviceModelCB RenderZoneAllBt RenderZoneFromBt RenderZoneFromED RenderZoneToED StandardCombo GeometryCombo ImageSizeCombo VideoFormatCB VideoBitRateCB VBRCB IncludeSoundCB AudioFormatCB AudioBitRateCB AudioFreqCB LanguageED ExportThumbCB ExportXBMCNfoCB ProjectPropertiesBt OkBt CancelBt HelpBt SelectDestScroll ffDiaporama/src/ffDiaporama/DlgRenderVideo/DlgRenderVideo.h0000777000175000001440000001165312275647322024072 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef DLGRENDERVIDEO_H #define DLGRENDERVIDEO_H // Basic inclusions (common to all files) #include "CustomCtrl/_QCustomDialog.h" #include "engine/_EncodeVideo.h" namespace Ui { class DlgRenderVideo; } class DlgRenderVideo : public QCustomDialog { Q_OBJECT public: cEncodeVideo Encoder; QTimer Timer; // Display progress information int Column,ColumnStart,Position; // Display progress information cDiaporama *Diaporama; int ExportMode; // Export mode (smartphone, advanced, etc...) bool StopSpinboxRecursion; int Extend; // amout of padding (top and bottom) for cinema mode with DVD int VideoCodecIndex; // Index of video codec int AudioCodecIndex; // Index of audio codec bool IsDestFileOpen; // true if encoding is started QString OutputFileName; // filename with path for the last rendering file int OutputFileFormat; // Container format QString VideoCodec; // Last video codec used double VideoFrameRate; // Last video frame rate used int VideoBitRate; // Last video bit rate used QString AudioCodec; // Last audio codec used int AudioFrequency; // Last audio frequency used int AudioChannels; int AudioBitRate; // Last audio bit rate used int ImageSize; // Last image size use for rendering int Standard; // Last standard use for rendering QString Language; int W,H; bool VBR; QFutureWatcher ThreadEncode; bool Continue; QTimer DisplayTimer; int PrevAdjustedDuration; explicit DlgRenderVideo(cDiaporama &Diaporama,int ExportMode,cApplicationConfig *ApplicationConfig,QWidget *parent=0); ~DlgRenderVideo(); // function to be overloaded virtual void DoInitDialog(); // Initialise dialog virtual bool DoAccept() {return true;} // Call when user click on Ok button virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button virtual void PrepareGlobalUndo() {/*Nothing to do*/} // Initiale Undo virtual void DoGlobalUndo() {/*Nothing to do*/} // Apply Undo : call when user click on Cancel button protected: virtual void reject(); private slots: void StartEncode(); // Call when user click on Ok button void DoThreadEncode(); void EndThreadEncode(); void InitDisplay(); void OnTimer(); void ProjectProperties(); void InitImageSizeCombo(int); void SelectDestinationFile(); void AdjustDestinationFile(); void FileFormatCombo(int); void VBRChanged(); void InitVideoBitRateCB(int); void InitAudioBitRateCB(int); void s_DeviceTypeCB(int); void s_DeviceModelCB(int); void SetZoneToAll(); void SetZoneToPartial(); void s_IncludeSound(); signals: void SetModifyFlag(); private: Ui::DlgRenderVideo *ui; QStringList StringToSortedStringList(QString String); }; #endif // DLGRENDERVIDEO_H ffDiaporama/src/ffDiaporama/DlgRenderVideo/DlgRenderVideo.cpp0000777000175000001440000017675612275647323024446 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "DlgffDPjrProperties/DlgffDPjrProperties.h" #include "DlgRenderVideo.h" #include "ui_DlgRenderVideo.h" #include #include #include //==================================================================================================================== // Because of MSVC .... //==================================================================================================================== AVRational MakeAVRational(int num,int den) { AVRational AVR; AVR.num=num; AVR.den=den; return AVR; } //==================================================================================================================== // utility functions QString TrimZero(double Value) { QString Val=QString("%1").arg(Value,0,'f'); while (Val.endsWith('0')) Val=Val.left(Val.length()-1); while (Val.endsWith('.')) Val=Val.left(Val.length()-1); return Val; } QString ConvBRToString(double BR,bool VBR) { QString Str; if (BR>1000) { BR=BR/1000; if (BR-int(BR)>0) Str=VBR?QString("%1k (VBR %2k to %3k)").arg(TrimZero(BR)).arg(TrimZero(BR*VBRMINCOEF)).arg(TrimZero(BR*VBRMAXCOEF)):QString("%1k").arg(TrimZero(BR)); else Str=VBR?QString("%1k (VBR %2k to %3k)").arg(BR).arg(BR*VBRMINCOEF).arg(BR*VBRMAXCOEF):QString("%1k").arg(BR); } else Str=(BR-int(BR)>0)?QString("%1").arg(TrimZero(BR)):QString("%1").arg(BR); return Str; } QString ConvBRToString(QString sBR,bool VBR) { if (sBR.endsWith("k")) return ConvBRToString(sBR.left(sBR.length()-1).toDouble()*1000,VBR); else return ConvBRToString(sBR.toDouble(),VBR); } //==================================================================================================================== DlgRenderVideo::DlgRenderVideo(cDiaporama &TheDiaporama,int TheExportMode,cApplicationConfig *ApplicationConfig,QWidget *parent): QCustomDialog(ApplicationConfig,parent),ui(new Ui::DlgRenderVideo) { ui->setupUi(this); CancelBt =ui->CancelBt; HelpBt =ui->HelpBt; HelpFile ="0115"; Diaporama =&TheDiaporama; ExportMode =TheExportMode; IsDestFileOpen =false; StopSpinboxRecursion=false; Language =Diaporama->ProjectInfo->DefaultLanguage; ui->OkBt->setIcon(QApplication::style()->standardIcon(QStyle::SP_DialogOkButton)); connect(ui->OkBt,SIGNAL(clicked()),this,SLOT(StartEncode())); connect(&ThreadEncode,SIGNAL(finished()),this,SLOT(EndThreadEncode())); connect(&DisplayTimer,SIGNAL(timeout()),this,SLOT(OnTimer())); } //==================================================================================================================== DlgRenderVideo::~DlgRenderVideo() { delete ui; } //==================================================================================================================== void DlgRenderVideo::DoInitDialog() { VBR=true; // Parse all object to construct VBR values QTime VideoDuration=QTime(0,0,0,0); QTime TotalDuration=QTime(0,0,0,0); for (int i=0;iList.count();i++) { QTime Duration=QTime(0,0,0,0).addMSecs(Diaporama->List[i]->GetDuration()); for (int j=0;jList[i]->ObjectComposition.List.count();j++) { if ((Diaporama->List[i]->ObjectComposition.List[j]->BackgroundBrush->MediaObject)&&(Diaporama->List[i]->ObjectComposition.List[j]->BackgroundBrush->MediaObject->ObjectType==OBJECTTYPE_VIDEOFILE)) VideoDuration=VideoDuration.addMSecs(QTime(0,0,0,0).msecsTo(Duration)); } TotalDuration=TotalDuration.addMSecs(QTime(0,0,0,0).msecsTo(Duration)); } if (QTime(0,0,0,0).msecsTo(VideoDuration)>QTime(0,0,0,0).msecsTo(TotalDuration)/2) VBR=false; switch (ExportMode) { case EXPORTMODE_ADVANCED : setWindowTitle(QApplication::translate("DlgRenderVideo","Advanced render video")); break; case MODE_LOSSLESS : setWindowTitle(QApplication::translate("DlgRenderVideo","Render lossless video")); break; case MODE_SMARTPHONE : setWindowTitle(QApplication::translate("DlgRenderVideo","Render video for mobil player and smartphone")); break; case MODE_MULTIMEDIASYS : setWindowTitle(QApplication::translate("DlgRenderVideo","Render video for multimedia system")); break; case MODE_FORTHEWEB : setWindowTitle(QApplication::translate("DlgRenderVideo","Render video for the WEB")); break; case MODE_SOUNDTRACK : setWindowTitle(QApplication::translate("DlgRenderVideo","Export soundtrack")); break; } // For the first step, only SelectDestWidget is display and enable ui->SelectDestScroll->setEnabled(true); ui->SelectDestScroll->setVisible(true); ui->ProcessWidget->setEnabled(false); ui->ProcessWidget->setVisible(false); QString FolderProject=Diaporama->ProjectFileName; if (FolderProject!="") { FolderProject=QFileInfo(FolderProject).absolutePath(); if (FolderProject.endsWith(QDir::separator())) { FolderProject=QFileInfo(Diaporama->ProjectFileName).baseName(); } else if (FolderProject.lastIndexOf(QDir::separator())>0) FolderProject=FolderProject.mid(FolderProject.lastIndexOf(QDir::separator())+1); } ui->VBRCB->setChecked(VBR); // Output file VideoCodec = Diaporama->ApplicationConfig->DefaultVideoCodec; VideoFrameRate = 25; VideoBitRate = Diaporama->ApplicationConfig->DefaultVideoBitRate; ImageSize = Diaporama->ApplicationConfig->DefaultImageSize; Standard = Diaporama->ApplicationConfig->DefaultStandard; if (ExportMode==MODE_SOUNDTRACK) { ui->ExportThumbCB->setVisible(false); ui->ExportXBMCNfoCB->setVisible(false); QString MusicPath=Diaporama->ApplicationConfig->SettingsTable->GetTextValue(QString("%1_path").arg(BrowserTypeDef[BROWSER_TYPE_RENDERAUDIO].BROWSERString),DefaultMusicPath); OutputFileName=MusicPath+(MusicPath.endsWith(QDir::separator())?"":QString(QDir::separator()))+ (Diaporama->ProjectFileName!=""? (Diaporama->ApplicationConfig->DefaultNameProjectName==1?QFileInfo(Diaporama->ProjectFileName).baseName(): (((Diaporama->ApplicationConfig->DefaultNameProjectName==2)&&(Diaporama->ProjectInfo->Title!=""))?Diaporama->ProjectInfo->Title:FolderProject)): QApplication::translate("DlgRenderVideo","soundtrack","Default name for rendering")); OutputFileFormat = Diaporama->ApplicationConfig->DefaultSoundtrackFormat; AudioCodec = Diaporama->ApplicationConfig->DefaultSoundtrackAudioCodec; AudioFrequency = Diaporama->ApplicationConfig->DefaultSoundtrackFreq; AudioBitRate = Diaporama->ApplicationConfig->DefaultSoundtrackBitRate; } else { QString RenderPath=Diaporama->ApplicationConfig->SettingsTable->GetTextValue(QString("%1_path").arg(BrowserTypeDef[BROWSER_TYPE_RENDERVIDEO].BROWSERString),DefaultRenderVideoPath); OutputFileName=RenderPath+(RenderPath.endsWith(QDir::separator())?"":QString(QDir::separator()))+ (Diaporama->ProjectFileName!=""? (Diaporama->ApplicationConfig->DefaultNameProjectName==1?QFileInfo(Diaporama->ProjectFileName).baseName(): (((Diaporama->ApplicationConfig->DefaultNameProjectName==2)&&(Diaporama->ProjectInfo->Title!=""))?Diaporama->ProjectInfo->Title:FolderProject)): QApplication::translate("DlgRenderVideo","movie","Default name for rendering")); OutputFileFormat = Diaporama->ApplicationConfig->DefaultFormat; AudioCodec = Diaporama->ApplicationConfig->DefaultAudioCodec; AudioFrequency = Diaporama->ApplicationConfig->DefaultFreq; AudioBitRate = Diaporama->ApplicationConfig->DefaultAudioBitRate; } ui->IncludeSoundCB->setChecked(true); connect(ui->IncludeSoundCB,SIGNAL(clicked()),this,SLOT(s_IncludeSound())); ui->ExportThumbCB->setChecked(Diaporama->ApplicationConfig->DefaultExportThumbnail); ui->ExportXBMCNfoCB->setChecked(Diaporama->ApplicationConfig->DefaultExportXBMCNfo); if (ExportMode==EXPORTMODE_ADVANCED) { ui->DeviceTypeLabel->setVisible(false); ui->DeviceTypeCB->setVisible(false); ui->DeviceModelCB->setVisible(false); ui->DeviceModelLabel->setVisible(false); ui->RenderFormatText->setVisible(false); //ui->VideoFormatCB->view()->setFixedWidth(400); //ui->AudioFormatCB->view()->setFixedWidth(400); // Init format container combo for (int i=0;iFileFormatCB->addItem(FORMATDEF[i].LongName,QVariant(i)); if (i==OutputFileFormat) { ui->FileFormatCB->setCurrentIndex(ui->FileFormatCB->count()-1); FileFormatCombo(i); } } connect(ui->FileFormatCB,SIGNAL(currentIndexChanged(int)),this,SLOT(FileFormatCombo(int))); connect(ui->VBRCB,SIGNAL(clicked()),this,SLOT(VBRChanged())); // Video standard & geometry ui->GeometryCombo->setEnabled(false); ui->GeometryCombo->setCurrentIndex(Diaporama->ImageGeometry); ui->StandardCombo->setCurrentIndex(Diaporama->ApplicationConfig->DefaultStandard); connect(ui->GeometryCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(InitImageSizeCombo(int))); connect(ui->StandardCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(InitImageSizeCombo(int))); // Image size InitImageSizeCombo(0); ui->ImageSizeCombo->setCurrentIndex(ui->ImageSizeCombo->findText(DefImageFormat[Diaporama->ApplicationConfig->DefaultStandard][Diaporama->ImageGeometry][Diaporama->ApplicationConfig->DefaultImageSize].Name)); connect(ui->ImageSizeCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(InitVideoBitRateCB(int))); // codec(s) & bitrate(s) FileFormatCombo(0); InitVideoBitRateCB(-1); InitAudioBitRateCB(-1); ui->AudioFormatLabel->setEnabled(ui->IncludeSoundCB->isChecked()); ui->AudioFormatCB->setEnabled(ui->IncludeSoundCB->isChecked()); ui->AudioBitRateLabel->setEnabled(ui->IncludeSoundCB->isChecked()); ui->AudioBitRateCB->setEnabled(ui->IncludeSoundCB->isChecked()); ui->AudioFreqLabel->setEnabled(ui->IncludeSoundCB->isChecked()); ui->AudioFreqLabel2->setEnabled(ui->IncludeSoundCB->isChecked()); ui->AudioFreqCB->setEnabled(ui->IncludeSoundCB->isChecked()); connect(ui->VideoFormatCB,SIGNAL(currentIndexChanged(int)),this,SLOT(InitVideoBitRateCB(int))); connect(ui->AudioFormatCB,SIGNAL(currentIndexChanged(int)),this,SLOT(InitAudioBitRateCB(int))); } else if (ExportMode==MODE_SOUNDTRACK) { ui->VBRCB->setVisible(false); ui->IncludeSoundCB->setVisible(false); ui->DeviceTypeLabel->setVisible(false); ui->DeviceTypeCB->setVisible(false); ui->DeviceModelLabel->setVisible(false); ui->DeviceModelCB->setVisible(false); ui->RenderFormatText->setVisible(false); ui->SoundLabel->setVisible(false); ui->GeometryLabel->setVisible(false); ui->GeometryCombo->setVisible(false); ui->StandardLabel->setVisible(false); ui->StandardCombo->setVisible(false); ui->VideoFormatLabel->setVisible(false); ui->VideoFormatCB->setVisible(false); ui->VideoBitRateLabel->setVisible(false); ui->VideoBitRateCB->setVisible(false); ui->ImageSizeLabel->setVisible(false); ui->ImageSizeCombo->setVisible(false); // Init format container combo for (int i=0;iFileFormatCB->addItem(AUDIOFORMATDEF[i].LongName,QVariant(i)); if (i==OutputFileFormat) { ui->FileFormatCB->setCurrentIndex(ui->FileFormatCB->count()-1); FileFormatCombo(i); } } connect(ui->AudioFormatCB,SIGNAL(currentIndexChanged(int)),this,SLOT(InitAudioBitRateCB(int))); connect(ui->FileFormatCB,SIGNAL(currentIndexChanged(int)),this,SLOT(FileFormatCombo(int))); // codec(s) & bitrate(s) FileFormatCombo(0); InitAudioBitRateCB(-1); } else { ui->VBRCB->setVisible(false); ui->FileFormatLabel->setVisible(false); ui->FileFormatCB->setVisible(false); ui->GeometryLabel->setVisible(false); ui->GeometryCombo->setVisible(false); ui->StandardLabel->setVisible(false); ui->StandardCombo->setVisible(false); ui->VideoFormatLabel->setVisible(false); ui->VideoFormatCB->setVisible(false); ui->VideoBitRateLabel->setVisible(false); ui->VideoBitRateCB->setVisible(false); ui->AudioFormatLabel->setVisible(false); ui->AudioFormatLabel->setEnabled(false); ui->AudioFormatCB->setVisible(false); ui->AudioFormatCB->setEnabled(false); ui->AudioBitRateLabel->setVisible(false); ui->AudioBitRateLabel->setEnabled(false); ui->AudioBitRateCB->setVisible(false); ui->AudioBitRateCB->setEnabled(false); ui->AudioFreqLabel->setVisible(false); ui->AudioFreqLabel->setEnabled(false); ui->AudioFreqLabel2->setVisible(false); ui->AudioFreqLabel2->setEnabled(false); ui->AudioFreqCB->setVisible(false); ui->AudioFreqCB->setEnabled(false); QStringList List; int Default=ExportMode==MODE_SMARTPHONE?Diaporama->ApplicationConfig->DefaultSmartphoneType: ExportMode==MODE_MULTIMEDIASYS?Diaporama->ApplicationConfig->DefaultMultimediaType: ExportMode==MODE_FORTHEWEB?Diaporama->ApplicationConfig->DefaultForTheWEBType: Diaporama->ApplicationConfig->DefaultLossLess; if (ExportMode!=MODE_LOSSLESS) { ui->ImageSizeLabel->setVisible(false); ui->ImageSizeCombo->setVisible(false); ui->DeviceTypeLabel->setVisible(true); ui->DeviceTypeCB->setVisible(true); ui->DeviceModelCB->setVisible(true); ui->DeviceModelLabel->setVisible(true); for (int i=0;iApplicationConfig->DeviceModelList.TranslatedRenderSubtype[ExportMode].count();i++) List.append(Diaporama->ApplicationConfig->DeviceModelList.TranslatedRenderSubtype[ExportMode][i]+"#"+QString("%1").arg(i)); List.sort(); for (int i=0;iDeviceTypeCB->addItem(Item,QVariant(ItemData)); if (Default==ItemData) ui->DeviceTypeCB->setCurrentIndex(i); } s_DeviceTypeCB(0); s_DeviceModelCB(0); connect(ui->DeviceTypeCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_DeviceTypeCB(int))); connect(ui->DeviceModelCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_DeviceModelCB(int))); } else { ui->ImageSizeLabel->setVisible(true); ui->ImageSizeCombo->setVisible(true); ui->DeviceTypeLabel->setVisible(false); ui->DeviceTypeCB->setVisible(false); ui->DeviceModelCB->setVisible(false); ui->DeviceModelLabel->setVisible(false); InitImageSizeCombo(0); ui->ImageSizeCombo->setCurrentIndex(ui->ImageSizeCombo->findText(DefImageFormat[Diaporama->ApplicationConfig->DefaultStandard][Diaporama->ImageGeometry][Diaporama->ApplicationConfig->DefaultLossLess].Name)); connect(ui->ImageSizeCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(InitVideoBitRateCB(int))); } } ui->LanguageED->setText(Language); ui->RenderZoneAllBt->setChecked(true); ui->RenderZoneFromBt->setChecked(false); ui->RenderZoneFromED->setEnabled(ui->RenderZoneFromBt->isChecked()); ui->RenderZoneToED->setEnabled(ui->RenderZoneFromBt->isChecked()); ui->RenderZoneTo->setEnabled(ui->RenderZoneFromBt->isChecked()); ui->RenderZoneFromED->setRange(1,Diaporama->List.count()); ui->RenderZoneFromED->setValue(1); ui->RenderZoneToED->setRange(1,Diaporama->List.count()); ui->RenderZoneToED->setValue(Diaporama->List.count()); connect(ui->RenderZoneAllBt,SIGNAL(clicked()),this,SLOT(SetZoneToAll())); connect(ui->RenderZoneFromBt,SIGNAL(clicked()),this,SLOT(SetZoneToPartial())); ui->DestinationFilePath->setText(OutputFileName); AdjustDestinationFile(); connect(ui->DestinationFilePathBT,SIGNAL(clicked()),this,SLOT(SelectDestinationFile())); connect(ui->DestinationFilePath,SIGNAL(editingFinished()),this,SLOT(AdjustDestinationFile())); connect(ui->ProjectPropertiesBt,SIGNAL(clicked()),this,SLOT(ProjectProperties())); } //==================================================================================================================== void DlgRenderVideo::ProjectProperties() { DlgffDPjrProperties Dlg(false,Diaporama,ApplicationConfig,this); Dlg.InitDialog(); if (Dlg.exec()==0) emit SetModifyFlag(); } //==================================================================================================================== void DlgRenderVideo::SetZoneToAll() { ui->RenderZoneAllBt->setChecked(true); ui->RenderZoneFromBt->setChecked(false); ui->RenderZoneFromED->setEnabled(ui->RenderZoneFromBt->isChecked()); ui->RenderZoneToED->setEnabled(ui->RenderZoneFromBt->isChecked()); ui->RenderZoneTo->setEnabled(ui->RenderZoneFromBt->isChecked()); } //==================================================================================================================== void DlgRenderVideo::SetZoneToPartial() { ui->RenderZoneAllBt->setChecked(false); ui->RenderZoneFromBt->setChecked(true); ui->RenderZoneFromED->setEnabled(ui->RenderZoneFromBt->isChecked()); ui->RenderZoneToED->setEnabled(ui->RenderZoneFromBt->isChecked()); ui->RenderZoneTo->setEnabled(ui->RenderZoneFromBt->isChecked()); } //==================================================================================================================== // Create and sort List QStringList DlgRenderVideo::StringToSortedStringList(QString String) { QStringList StringList; QString SubString; while (String.length()>0) { int Index=String.indexOf("#"); if (Index>0) { SubString=String.left(Index); String=String.right(String.length()-Index-1); } else { SubString=String; String=""; } StringList.append(SubString); } double NumA,NumB; for (int i=0;iNumB) StringList.swap(j,j+1); } return StringList; } //==================================================================================================================== void DlgRenderVideo::s_DeviceTypeCB(int) { ui->DeviceModelCB->clear(); int ItemData=ui->DeviceTypeCB->currentIndex(); if (ItemData>=0) ItemData=ui->DeviceTypeCB->itemData(ItemData).toInt(); QStringList List; for (int i=0;iApplicationConfig->DeviceModelList.RenderDeviceModel.count();i++) if ((Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceType==ExportMode)&&(Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceSubtype==ItemData)) List.append(Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName); List.sort(); ui->DeviceModelCB->addItems(List); int i=0; int ToFind=(ExportMode==MODE_SMARTPHONE)?Diaporama->ApplicationConfig->DefaultSmartphoneModel: (ExportMode==MODE_MULTIMEDIASYS)?Diaporama->ApplicationConfig->DefaultMultimediaModel: Diaporama->ApplicationConfig->DefaultForTheWEBModel; while ((iApplicationConfig->DeviceModelList.RenderDeviceModel.count())&&(Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceIndex!=ToFind)) i++; if (Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceIndex==ToFind) ui->DeviceModelCB->setCurrentIndex(ui->DeviceModelCB->findText(Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName)); } //==================================================================================================================== void DlgRenderVideo::InitImageSizeCombo(int) { ffd_GEOMETRY Geometry=(ExportMode!=MODE_LOSSLESS?(ffd_GEOMETRY)ui->GeometryCombo->currentIndex():Diaporama->ImageGeometry); int Standard=(ExportMode!=MODE_LOSSLESS?ui->StandardCombo->currentIndex():Diaporama->ApplicationConfig->DefaultStandard); int ImageSize=ui->ImageSizeCombo->currentIndex(); ui->ImageSizeCombo->clear(); QStringList List; for (int i=0;iStrB.toInt()) List.swap(j,j+1); } // Fill combo for (int i=0;iImageSizeCombo->addItem(Codec,QVariant(Index)); } ui->ImageSizeCombo->setCurrentIndex(ImageSize); } //==================================================================================================================== void DlgRenderVideo::SelectDestinationFile() { QString FileFormat; if (ExportMode==EXPORTMODE_ADVANCED) { int OutputFileFormat=ui->FileFormatCB->itemData(ui->FileFormatCB->currentIndex()).toInt(); FileFormat=QString(FORMATDEF[OutputFileFormat].LongName)+" (*."+QString(FORMATDEF[OutputFileFormat].FileExtension)+")"; } else if (ExportMode==MODE_SOUNDTRACK) { int OutputFileFormat=ui->FileFormatCB->itemData(ui->FileFormatCB->currentIndex()).toInt(); FileFormat=QString(AUDIOFORMATDEF[OutputFileFormat].LongName)+" (*."+QString(AUDIOFORMATDEF[OutputFileFormat].FileExtension)+")"; } else { if (ExportMode==MODE_LOSSLESS) { // For Lossless, OutputFileFormat is 2 : matroska FileFormat=QString(FORMATDEF[2].LongName)+" (*."+QString(FORMATDEF[2].FileExtension)+")"; } else { QString Device=ui->DeviceModelCB->currentText(); int i=0; while ((iApplicationConfig->DeviceModelList.RenderDeviceModel.count())&&(Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName!=Device)) i++; if (iApplicationConfig->DeviceModelList.RenderDeviceModel.count()) { FileFormat=QString(FORMATDEF[Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->FileFormat].LongName)+" (*."+ QString(FORMATDEF[Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->FileFormat].FileExtension)+")"; } } } QString OutputFileName =QFileDialog::getSaveFileName(this,QApplication::translate("DlgRenderVideo","Select destination file"),ui->DestinationFilePath->text(),FileFormat); if (OutputFileName!="") { if (ExportMode==MODE_SOUNDTRACK) Diaporama->ApplicationConfig->SettingsTable->SetTextValue(QString("%1_path").arg(BrowserTypeDef[BROWSER_TYPE_RENDERAUDIO].BROWSERString),QFileInfo(OutputFileName).dir().absolutePath()); else Diaporama->ApplicationConfig->SettingsTable->SetTextValue(QString("%1_path").arg(BrowserTypeDef[BROWSER_TYPE_RENDERVIDEO].BROWSERString),QFileInfo(OutputFileName).dir().absolutePath()); ui->DestinationFilePath->setText(OutputFileName); AdjustDestinationFile(); } } //==================================================================================================================== void DlgRenderVideo::FileFormatCombo(int) { AdjustDestinationFile(); ui->VideoFormatCB->clear(); ui->AudioFormatCB->clear(); //********* Video codec part int CurrentFormat=ui->FileFormatCB->itemData(ui->FileFormatCB->currentIndex()).toInt(); QString AllowedCodec; QString Codec=""; QString ToSelect=""; QStringList List; int Index=0; if (ExportMode==EXPORTMODE_ADVANCED) { AllowedCodec=FORMATDEF[CurrentFormat].PossibleVideoCodec; while (AllowedCodec.length()>0) { Index=AllowedCodec.indexOf("#"); if (Index>0) { Codec=AllowedCodec.left(Index); AllowedCodec=AllowedCodec.right(AllowedCodec.length()-Index-1); } else { Codec=AllowedCodec; AllowedCodec=""; } // Now find index of this codec in the VIDEOCODECDEF Index=0; while ((IndexList[j+1]) List.swap(j,j+1); // Fill combo for (int i=0;iVideoFormatCB->addItem(Codec,QVariant(Index)); } // Set current selection if (ui->VideoFormatCB->findText(ToSelect)!=-1) ui->VideoFormatCB->setCurrentIndex(ui->VideoFormatCB->findText(ToSelect)); else ui->VideoFormatCB->setCurrentIndex(0); ui->VideoFormatCB->setEnabled(ui->VideoFormatCB->count()>1); AllowedCodec=FORMATDEF[CurrentFormat].PossibleAudioCodec; } else if (ExportMode==MODE_SOUNDTRACK) { AllowedCodec=AUDIOFORMATDEF[CurrentFormat].PossibleAudioCodec; } //********* Audio codec part Codec=""; Index=0; ToSelect=""; List.clear(); while (AllowedCodec.length()>0) { Index=AllowedCodec.indexOf("#"); if (Index>0) { Codec=AllowedCodec.left(Index); AllowedCodec=AllowedCodec.right(AllowedCodec.length()-Index-1); } else { Codec=AllowedCodec; AllowedCodec=""; } // Now find index of this codec in the AUDIOCODECDEF Index=0; while ((IndexList[j+1]) List.swap(j,j+1); // Fill combo for (int i=0;iAudioFormatCB->addItem(Codec,QVariant(Index)); } // Set current selection if (ui->AudioFormatCB->findText(ToSelect)!=-1) ui->AudioFormatCB->setCurrentIndex(ui->AudioFormatCB->findText(ToSelect)); else ui->AudioFormatCB->setCurrentIndex(0); ui->AudioFormatCB->setEnabled((ui->AudioFormatCB->count()>1)&&(ui->IncludeSoundCB->isChecked())); } //==================================================================================================================== void DlgRenderVideo::VBRChanged() { VBR=ui->VBRCB->isChecked(); InitVideoBitRateCB(ui->VideoBitRateCB->currentIndex()); } //==================================================================================================================== void DlgRenderVideo::InitVideoBitRateCB(int ChangeIndex) { if (ExportMode==MODE_LOSSLESS) { QString Text="Format=\tMKV\nVideo=\tx264 lossless"; int ImgSize=ImageSize=ui->ImageSizeCombo->itemData(ui->ImageSizeCombo->currentIndex()).toInt(); int ExtendH =0; int ExtendV =DefImageFormat[Standard][Diaporama->ImageGeometry][ImgSize].Extend; int W =DefImageFormat[Standard][Diaporama->ImageGeometry][ImgSize].Width; int H =DefImageFormat[Standard][Diaporama->ImageGeometry][ImgSize].Height; Text=Text+QString("-%1").arg(W)+"x"+QString("%1").arg(H); if (ExtendH>0) Text=Text+"+PADLEFT:"+QString("%1").arg(ExtendH/2)+"+PADRIGHT:"+QString("%1").arg(ExtendH-ExtendH/2); if (ExtendV>0) Text=Text+"+PADTOP:"+QString("%1").arg(ExtendV/2)+"+PADBOTTOM:"+QString("%1").arg(ExtendV-ExtendV/2); if (ui->IncludeSoundCB->isChecked()) Text=Text+"\nAudio=\tFLAC"; ui->RenderFormatText->setText(Text); ui->VBRCB->setEnabled(false); AdjustDestinationFile(); } else { ui->VideoBitRateCB->clear(); int Standard =ui->StandardCombo->currentIndex(); int CurrentCodec=ui->VideoFormatCB->currentIndex(); int CurrentSize =ui->ImageSizeCombo->itemData(ui->ImageSizeCombo->currentIndex()).toInt(); if (CurrentCodec>=0) { CurrentCodec=ui->VideoFormatCB->itemData(CurrentCodec).toInt(); ui->VBRCB->setEnabled((CurrentCodec==VCODEC_H264HQ)||(CurrentCodec==VCODEC_H264PQ)); bool IsFindBitRate=false; QStringList List =StringToSortedStringList(VIDEOCODECDEF[CurrentCodec].PossibleBitrate); QString ToFind =ConvBRToString(VideoBitRate,(ui->VBRCB->isEnabled())&&(VBR)&&((CurrentCodec==VCODEC_H264HQ)||(CurrentCodec==VCODEC_H264PQ))); QString Default=ConvBRToString(VIDEOCODECDEF[CurrentCodec].DefaultBitrate[Standard][CurrentSize],(ui->VBRCB->isEnabled())&&(VBR)); for (int i=0;iVBRCB->isEnabled())&&(VBR)&&((CurrentCodec==VCODEC_H264HQ)||(CurrentCodec==VCODEC_H264PQ))); ui->VideoBitRateCB->addItem(List[i]); if ((ChangeIndex==-1)&&(List[i]==ToFind)) { ui->VideoBitRateCB->setCurrentIndex(ui->VideoBitRateCB->count()-1); IsFindBitRate=true; } } if (!IsFindBitRate) ui->VideoBitRateCB->setCurrentIndex(ui->VideoBitRateCB->findText(Default)); ui->VideoBitRateCB->setEnabled(ui->VideoBitRateCB->count()>1); } else { ui->VideoBitRateCB->setEnabled(false); ui->VBRCB->setEnabled(false); } } } //==================================================================================================================== void DlgRenderVideo::InitAudioBitRateCB(int ChangeIndex) { ui->AudioBitRateCB->clear(); ui->AudioFreqCB->clear(); int CurrentCodec=ui->AudioFormatCB->currentIndex(); if (CurrentCodec>=0) { CurrentCodec=ui->AudioFormatCB->itemData(CurrentCodec).toInt(); int CurrentFormat =ui->FileFormatCB->itemData(ui->FileFormatCB->currentIndex()).toInt(); sFormatDef *CurrentContainer=(ExportMode==MODE_SOUNDTRACK?&AUDIOFORMATDEF[CurrentFormat]:&FORMATDEF[CurrentFormat]); QStringList ListBitRate =StringToSortedStringList(AUDIOCODECDEF[CurrentCodec].PossibleBitrate2CH); QStringList ListFreq =StringToSortedStringList(AUDIOCODECDEF[CurrentCodec].PossibleFrequency); QStringList ListAllowedFreq =StringToSortedStringList(CurrentContainer->PossibleFrequency); QString ToFind =ConvBRToString(AudioBitRate,false); QString Default =ConvBRToString(AUDIOCODECDEF[CurrentCodec].Default,false); bool IsFindFreq=false; bool IsFindBitRate=false; // Fill AudioBitRateCB for (int i=0;iAudioBitRateCB->addItem(ListBitRate[i]); if ((ChangeIndex==-1)&&(ListBitRate[i]==ToFind)) { ui->AudioBitRateCB->setCurrentIndex(ui->AudioBitRateCB->count()-1); IsFindBitRate=true; } } if (!IsFindBitRate) ui->AudioBitRateCB->setCurrentIndex(ui->AudioBitRateCB->findText(Default)); ui->AudioBitRateCB->setEnabled((ui->AudioBitRateCB->count()>1)&&(ui->IncludeSoundCB->isChecked())); // Fill AudioFreqCB (only if freq in ListFreq and in ListFreqAllowed) for (int i=0;iAudioFreqCB->addItem(ListFreq[i]); if ((ChangeIndex==-1)&&(ListFreq[i]==QString("%1").arg(AudioFrequency))) { ui->AudioFreqCB->setCurrentIndex(ui->AudioFreqCB->count()-1); IsFindFreq=true; } } if (!IsFindFreq) ui->AudioFreqCB->setCurrentIndex(ui->AudioFreqCB->findText(CurrentContainer->DefaultAudioFreq)); if ((ui->AudioFreqCB->currentIndex()==-1)&&(ui->AudioFreqCB->count()>0)) ui->AudioFreqCB->setCurrentIndex(0); ui->AudioFreqCB->setEnabled((ui->AudioFreqCB->count()>0)&&(ui->IncludeSoundCB->isChecked())); } else { ui->AudioBitRateCB->setEnabled(false); ui->AudioFreqCB->setEnabled(false); } } //==================================================================================================================== void DlgRenderVideo::AdjustDestinationFile() { QString FileFormat; if (ExportMode==EXPORTMODE_ADVANCED) { int OutputFileFormat=ui->FileFormatCB->itemData(ui->FileFormatCB->currentIndex()).toInt(); FileFormat=FORMATDEF[OutputFileFormat].FileExtension; } else if (ExportMode==MODE_SOUNDTRACK) { int OutputFileFormat=ui->FileFormatCB->itemData(ui->FileFormatCB->currentIndex()).toInt(); FileFormat=AUDIOFORMATDEF[OutputFileFormat].FileExtension; } else { if (ExportMode!=MODE_LOSSLESS) { QString Device=ui->DeviceModelCB->currentText(); int i=0; while ((iApplicationConfig->DeviceModelList.RenderDeviceModel.count())&&(Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName!=Device)) i++; if (iApplicationConfig->DeviceModelList.RenderDeviceModel.count()) { FileFormat=QString(FORMATDEF[Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->FileFormat].FileExtension); } } else { FileFormat="mkv"; } } QString OutputFileName =ui->DestinationFilePath->text(); OutputFileName=QFileInfo(OutputFileName).absoluteFilePath(); if (QFileInfo(OutputFileName).suffix().length()>0) OutputFileName=OutputFileName.left(OutputFileName.length()-QFileInfo(OutputFileName).suffix().length()-1); if (OutputFileName.endsWith(".")) OutputFileName=OutputFileName.left(OutputFileName.length()-1); OutputFileName=QDir::toNativeSeparators(OutputFileName+"."+FileFormat); ui->DestinationFilePath->setText(OutputFileName); } //==================================================================================================================== void DlgRenderVideo::reject() { if (IsDestFileOpen) { Encoder.StopProcessWanted=true; ToLog(LOGMSG_INFORMATION,QApplication::translate("DlgRenderVideo","Stop rendering")); } else QCustomDialog::reject(); } //==================================================================================================================== void DlgRenderVideo::s_IncludeSound() { ui->AudioFormatLabel->setEnabled(ui->IncludeSoundCB->isChecked()); ui->AudioFormatCB->setEnabled(ui->IncludeSoundCB->isChecked()); ui->AudioBitRateLabel->setEnabled(ui->IncludeSoundCB->isChecked()); ui->AudioBitRateCB->setEnabled(ui->IncludeSoundCB->isChecked()); ui->AudioFreqLabel->setEnabled(ui->IncludeSoundCB->isChecked()); ui->AudioFreqLabel2->setEnabled(ui->IncludeSoundCB->isChecked()); ui->AudioFreqCB->setEnabled(ui->IncludeSoundCB->isChecked()); ui->AudioLanguageLabel1->setEnabled(ui->IncludeSoundCB->isChecked()); ui->AudioLanguageLabel2->setEnabled(ui->IncludeSoundCB->isChecked()); ui->LanguageED->setEnabled(ui->IncludeSoundCB->isChecked()); if (ExportMode==MODE_LOSSLESS) InitVideoBitRateCB(0); else if (ExportMode!=EXPORTMODE_ADVANCED) s_DeviceModelCB(ui->DeviceModelCB->currentIndex()); } //==================================================================================================================== void DlgRenderVideo::s_DeviceModelCB(int) { QString Device=ui->DeviceModelCB->currentText(); int i=0; while ((iApplicationConfig->DeviceModelList.RenderDeviceModel.count())&&(Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName!=Device)) i++; if ((Device!="")&&(iApplicationConfig->DeviceModelList.RenderDeviceModel.count())) { int Standard=Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->Standard; QString Text="Format="+QString(FORMATDEF[Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->FileFormat].LongName)+"\nVideo="; Text=Text+VIDEOCODECDEF[Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->VideoCodec].LongName; int ImgSize=Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->ImageSize; int ExtendV =DefImageFormat[Standard][Diaporama->ImageGeometry][ImgSize].Extend*2; int W =DefImageFormat[Standard][Diaporama->ImageGeometry][ImgSize].Width; int H =DefImageFormat[Standard][Diaporama->ImageGeometry][ImgSize].Height; Text=Text+QString("-%1").arg(W)+"x"+QString("%1").arg(H); if (ExtendV>0) Text=Text+"+PADTOP:"+QString("%1").arg(ExtendV/2)+"+PADBOTTOM:"+QString("%1").arg(ExtendV-ExtendV/2); QString FPS=DefImageFormat[Standard][Diaporama->ImageGeometry][ImgSize].dFPS==24?"24 FPS": DefImageFormat[Standard][Diaporama->ImageGeometry][ImgSize].dFPS==25?"25 FPS": DefImageFormat[Standard][Diaporama->ImageGeometry][ImgSize].dFPS==24000L/1001L?"23.98 FPS": DefImageFormat[Standard][Diaporama->ImageGeometry][ImgSize].dFPS==30000L/1001L?"29.97 FPS": ""; int CurrentCodec=ui->AudioFormatCB->currentIndex(); if (CurrentCodec>=0) CurrentCodec=ui->AudioFormatCB->itemData(CurrentCodec).toInt(); QString VideoBitRateStr=ConvBRToString(Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->VideoBitrate,VBR && ((CurrentCodec==VCODEC_H264HQ)||(CurrentCodec==VCODEC_H264PQ))); QString AudioBitRateStr=ConvBRToString(Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->AudioBitrate,false); Text=Text+"-"+FPS+"-"+VideoBitRateStr; if (ui->IncludeSoundCB->isChecked()) { int AudioFreq=48000; int AudioChannels=2; if (AUDIOCODECDEF[Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->AudioCodec].Codec_id==AV_CODEC_ID_AMR_WB) { AudioChannels=1; AudioFreq=16000; } else if (AUDIOCODECDEF[Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->AudioCodec].Codec_id==AV_CODEC_ID_AMR_NB) { AudioChannels=1; AudioFreq=8000; } else if (QString(FORMATDEF[Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->FileFormat].ShortName)==QString("flv")) { AudioFreq=44100; // Special case for FLV } Text=Text+"\nAudio="+AUDIOCODECDEF[Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->AudioCodec].LongName+"-"+AudioBitRateStr +QString(" - %1 Hz ").arg(AudioFreq)+(AudioChannels==2?" - Stereo":" - Mono"); } ui->RenderFormatText->setText(Text); } else ui->RenderFormatText->setText(""); AdjustDestinationFile(); } //==================================================================================================================== void DlgRenderVideo::InitDisplay() { ui->SlideNumberLabel->setText(""); ui->SlideProgressBar->setValue(0); ui->FrameNumberLabel->setText(""); ui->TotalProgressBar->setValue(0); ui->ElapsedTimeLabel->setText(""); ui->FPSLabel->setText(""); // Filename ui->InfoLabelB1->setText(OutputFileName); // Video part if (Encoder.VideoStream) { ui->InfoLabelB2->setText(QString(Encoder.ImageDef->Name).trimmed()); QString VideoBitRateStr=ConvBRToString(VideoBitRate,VBR && ((Encoder.VideoCodecSubId==VCODEC_H264HQ)||(Encoder.VideoCodecSubId==VCODEC_H264PQ))); ui->InfoLabelB3->setText(QString(VIDEOCODECDEF[Encoder.VideoCodecSubId].LongName)+" - "+(VideoBitRateStr!="0"?VideoBitRateStr:"lossless")); } else { ui->InfoLabelA2->setVisible(false); ui->InfoLabelB2->setVisible(false); ui->InfoLabelA3->setVisible(false); ui->InfoLabelB3->setVisible(false); ui->SlideProgressBarLabel->setVisible(false); ui->SlideNumberLabel->setVisible(false); ui->SlideProgressBar->setVisible(false); } // Audio part if (Encoder.AudioStream) { QString AudioBitRateStr=ConvBRToString(Encoder.AudioBitrate,false); ui->InfoLabelB4->setText(QString(AUDIOCODECDEF[Encoder.AudioCodecSubId].LongName)+QString(" - %1 Hz - ").arg(Encoder.AudioSampleRate)+(AudioBitRateStr!="0"?AudioBitRateStr:"lossless")); } else { ui->InfoLabelA4->setVisible(false); ui->InfoLabelB4->setVisible(false); } ui->SlideProgressBar->setMaximum(Encoder.ToSlide-Encoder.FromSlide); ui->TotalProgressBar->setMaximum(Encoder.NbrFrame); } //==================================================================================================================== void DlgRenderVideo::OnTimer() { int DurationProcess =Encoder.StartTime.msecsTo(QTime::currentTime()); double CalcFPS =(double(Encoder.RenderedFrame)/(double(DurationProcess)/1000)); double EstimDur =double(Encoder.NbrFrame-Encoder.RenderedFrame)/CalcFPS; if ((Encoder.AdjustedDuration!=PrevAdjustedDuration)&&(Encoder.ColumnList.count())) { PrevAdjustedDuration=Encoder.AdjustedDuration; ui->SlideProgressBar->setMaximum(int(double(Encoder.AdjustedDuration)/((double(AV_TIME_BASE)/Encoder.dFPS)/double(1000)))-1); } ui->ElapsedTimeLabel->setText(QString("%1").arg((QTime(0,0,0,0).addMSecs(DurationProcess)).toString("hh:mm:ss"))+ QApplication::translate("DlgRenderVideo"," - Estimated time left : ")+ QString("%1").arg(QTime(0,0,0,0).addMSecs(EstimDur*1000).toString("hh:mm:ss"))); ui->FPSLabel->setText(QString("%1").arg(double(Encoder.RenderedFrame)/(double(DurationProcess)/1000),0,'f',1)); if (Encoder.VideoStream) { ui->SlideNumberLabel->setText(QString("%1/%2").arg(Encoder.Column-Encoder.FromSlide+1).arg(Encoder.ToSlide-Encoder.FromSlide+1)); ui->FrameNumberLabel->setText(QString("%1/%2").arg(Encoder.RenderedFrame).arg(Encoder.NbrFrame)); } ui->SlideProgressBar->setValue(Encoder.Position!=-1?int(double(Encoder.Position-Encoder.ColumnStart)/(double(AV_TIME_BASE)/Encoder.dFPS/double(1000))):ui->SlideProgressBar->maximum()); ui->TotalProgressBar->setValue(Encoder.RenderedFrame); } //==================================================================================================================== void DlgRenderVideo::StartEncode() { PrevAdjustedDuration=-1; if (IsDestFileOpen) { Encoder.StopProcessWanted=true; ToLog(LOGMSG_INFORMATION,QApplication::translate("DlgRenderVideo","Stop rendering")); } else { int FromSlide=(ui->RenderZoneFromBt->isChecked())?ui->RenderZoneFromED->value()-1:0; int ToSlide =(ui->RenderZoneFromBt->isChecked())?ui->RenderZoneToED->value()-1:Diaporama->List.count()-1; if (FromSlide>ToSlide) { CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Range selection"), QApplication::translate("DlgRenderVideo","Slide range is defined to incorrect values")); ui->RenderZoneToED->setFocus(); return; } Language=ui->LanguageED->text(); if (Language=="") Language="und"; if (Language.length()!=3) { CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Language selection"), QApplication::translate("DlgRenderVideo","Language must be empty or an ISO 639 language code (3 characters)\nSee help for more details!")); ui->LanguageED->setFocus(); return; } if (OutputFileName !=ui->DestinationFilePath->text()) OutputFileName=ui->DestinationFilePath->text(); if ((QFileInfo(OutputFileName).exists())&&(CustomMessageBox(this,QMessageBox::Question,QApplication::translate("DlgRenderVideo","Overwrite file ?"), QApplication::translate("DlgRenderVideo","The file you selected already exist.\nDo you want to overwrite it ?"), QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)!=QMessageBox::Yes)) return; // Get values from controls AudioChannels =2; AudioFrequency =48000; VideoCodecIndex =-1; AudioCodecIndex =-1; if (ExportMode==EXPORTMODE_ADVANCED) { Standard =ui->StandardCombo->currentIndex(); ImageSize=ui->ImageSizeCombo->itemData(ui->ImageSizeCombo->currentIndex()).toInt(); OutputFileFormat=ui->FileFormatCB->itemData(ui->FileFormatCB->currentIndex()).toInt(); VideoFrameRate =DefImageFormat[ui->StandardCombo->currentIndex()][ui->GeometryCombo->currentIndex()][ImageSize].dFPS; // Video codec VideoCodecIndex=ui->VideoFormatCB->currentIndex(); if (VideoCodecIndex<0) { CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Render video"),"Video codec error!"); return; } VideoCodecIndex=ui->VideoFormatCB->itemData(VideoCodecIndex).toInt(); QString BitRate=ui->VideoBitRateCB->currentText(); if (BitRate.indexOf("(")!=-1) BitRate=BitRate.left(BitRate.indexOf("(")-1).trimmed(); if (BitRate.endsWith("k")) BitRate=BitRate.left(BitRate.length()-1)+"000"; VideoBitRate=BitRate.toInt(); // Audio codec AudioCodecIndex=ui->AudioFormatCB->currentIndex(); if (AudioCodecIndex<0) { CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Render video"),"Audio codec error!"); return; } AudioCodecIndex=ui->AudioFormatCB->itemData(AudioCodecIndex).toInt(); BitRate=ui->AudioBitRateCB->currentText(); if (BitRate.endsWith("k")) { if (BitRate.contains(".")) { BitRate=BitRate.left(BitRate.length()-1); double Value=BitRate.toDouble()*1000; BitRate=QString("%1").arg(int(Value)); } else BitRate=BitRate.left(BitRate.length()-1)+"000"; } AudioBitRate=BitRate.toInt(); if (ui->AudioFreqCB->currentText()!="") AudioFrequency=ui->AudioFreqCB->currentText().toInt(); } else if (ExportMode==MODE_SOUNDTRACK) { OutputFileFormat=ui->FileFormatCB->itemData(ui->FileFormatCB->currentIndex()).toInt(); // Audio codec AudioCodecIndex=ui->AudioFormatCB->currentIndex(); if (AudioCodecIndex<0) { CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Render video"),"Audio codec error!"); return; } AudioCodecIndex=ui->AudioFormatCB->itemData(AudioCodecIndex).toInt(); QString BitRate=ui->AudioBitRateCB->currentText(); if (BitRate.endsWith("k")) { if (BitRate.contains(".")) { BitRate=BitRate.left(BitRate.length()-1); double Value=BitRate.toDouble()*1000; BitRate=QString("%1").arg(int(Value)); } else BitRate=BitRate.left(BitRate.length()-1)+"000"; } AudioBitRate=BitRate.toInt(); if (ui->AudioFreqCB->currentText()!="") AudioFrequency=ui->AudioFreqCB->currentText().toInt(); } else if (ExportMode==MODE_LOSSLESS) { Standard =Diaporama->ApplicationConfig->DefaultStandard; ImageSize =ui->ImageSizeCombo->itemData(ui->ImageSizeCombo->currentIndex()).toInt(); VideoFrameRate =DefImageFormat[Standard][Diaporama->ImageGeometry][ImageSize].dFPS; OutputFileFormat=2; // MKV VideoCodecIndex =8; // x264 lossless AudioCodecIndex =7; // FLAC VideoBitRate =0; // Not use AudioBitRate =0; // Not use } else { OutputFileFormat=0; QString Device=ui->DeviceModelCB->currentText(); if (Device=="") { CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Device model selection"), QApplication::translate("DlgRenderVideo","A device model is require!")); ui->DeviceModelCB->setFocus(); return; } int i=0; while ((iApplicationConfig->DeviceModelList.RenderDeviceModel.count())&&(Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName!=Device)) i++; if (iApplicationConfig->DeviceModelList.RenderDeviceModel.count()) { Standard =Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->Standard; OutputFileFormat=Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->FileFormat; VideoCodecIndex =Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->VideoCodec; AudioCodecIndex =Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->AudioCodec; ImageSize =Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->ImageSize; VideoFrameRate =DefImageFormat[Standard][Diaporama->ImageGeometry][ImageSize].dFPS; VideoBitRate =Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->VideoBitrate; AudioBitRate =Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->AudioBitrate; AudioFrequency =48000; AudioChannels =2; if (AUDIOCODECDEF[AudioCodecIndex].Codec_id==AV_CODEC_ID_AMR_WB) { AudioChannels =1; AudioFrequency=16000; } else if (AUDIOCODECDEF[AudioCodecIndex].Codec_id==AV_CODEC_ID_AMR_NB) { AudioChannels =1; AudioFrequency=8000; } else if (QString(FORMATDEF[OutputFileFormat].ShortName)==QString("flv")) { AudioFrequency=44100; // Special case for FLV } } } if ((VideoFrameRate>=29.96)&&(VideoFrameRate<=29.98)) VideoFrameRate=29.97; // Manual rounded if (VideoBitRate==0) VideoBitRate=DefImageFormat[Standard][Diaporama->ImageGeometry][ImageSize].Width*DefImageFormat[Standard][Diaporama->ImageGeometry][ImageSize].Height*100/2; if (ExportMode==MODE_SOUNDTRACK) { //QString FileFormat =FORMATDEF[OutputFileFormat].FileExtension; AudioCodec=AUDIOCODECDEF[AudioCodecIndex].ShortName; // Special case adjustment if (AUDIOCODECDEF[AudioCodecIndex].Codec_id==AV_CODEC_ID_PCM_S16LE) AudioBitRate=AudioFrequency*16*AudioChannels; // Special case for WAV } else { //QString FileFormat =FORMATDEF[OutputFileFormat].FileExtension; VideoCodec=VIDEOCODECDEF[VideoCodecIndex].FFD_VCODECST; AudioCodec=AUDIOCODECDEF[AudioCodecIndex].ShortName; // Special case adjustment if (QString(FORMATDEF[OutputFileFormat].ShortName)==QString("flv")) AudioFrequency=44100; // Special case for FLV if (AUDIOCODECDEF[AudioCodecIndex].Codec_id==AV_CODEC_ID_PCM_S16LE) AudioBitRate=AudioFrequency*16*AudioChannels; // Special case for WAV } // Ensure codec combination is correct int Capabilities=(ExportMode==MODE_SOUNDTRACK)?SUPPORTED_COMBINATION:CheckEncoderCapabilities((VFORMAT_ID)OutputFileFormat,(AVCodecID)VIDEOCODECDEF[VideoCodecIndex].Codec_id,(AVCodecID)AUDIOCODECDEF[AudioCodecIndex].Codec_id); if (Capabilities!=SUPPORTED_COMBINATION) { CustomMessageBox(this,QMessageBox::Information,QApplication::translate("DlgRenderVideo","Render video"),QApplication::translate("DlgRenderVideo","Incorrect codec combination!")); return; } //============================================================================================ // Render //============================================================================================ Continue =true; IsDestFileOpen =true; // switch visible part of the dialog ui->SelectDestScroll->setEnabled(false); ui->SelectDestScroll->setVisible(false); ui->ProcessWidget->setEnabled(true); ui->ProcessWidget->setVisible(true); // Disable unwanted buttons ui->OkBt->setEnabled(false); ui->ProjectPropertiesBt->setEnabled(false); // Switch cancel button mode ui->CancelBt->setToolTip(QApplication::translate("DlgRenderVideo","Stop rendering process and exit dialog box")); // Set focus to DestinationFilePath to not undo rendering per error ui->DestinationFilePath->setFocus(); if (ExportMode==MODE_SOUNDTRACK) { ToLog(LOGMSG_INFORMATION,QApplication::translate("DlgRenderVideo","Encoding sound")); Continue=Encoder.OpenEncoder(Diaporama,OutputFileName,FromSlide,ToSlide, false,AV_CODEC_ID_NONE,false,NULL,0,0,0,0,0,MakeAVRational(1,1),0, true,AudioCodecIndex,2,AudioBitRate,AudioFrequency,Language); InitDisplay(); ThreadEncode.setFuture(QtConcurrent::run(this,&DlgRenderVideo::DoThreadEncode)); } else { ToLog(LOGMSG_INFORMATION,QApplication::translate("DlgRenderVideo","Encoding video")); int Final_W=0,Final_H=0,Internal_W=0,Internal_H=0,Ext_H=0; AVRational PixelAspectRatio; // Special case for SD-DVD format (anamorphous) if (ImageSize==SIZE_DVD) { switch (Standard) { /* SD-DVD Anamorphous SD-4/3 PAL: I:768x576 -D:720x576-PAR:16:15 -DAR:4:3 SD-16/9 PAL: I:1024x576-D:720x576-PAR:64:45 -DAR:16:9 SD-CIN PAL: I:1024x436-D:720x436-PAR:218:153-DAR:40:17 SD-4/3 NTSC: I:640x480 -D:720x480-PAR:8:9 -DAR:4:3 SD-16/9 NTSC: I:854x480 -D:720x480-PAR:32:27 -DAR:16:9 SD-CIN NTSC: I:854x436 -D:720x362-PAR:181:153-DAR:40:17 */ case STANDARD_PAL : switch (Diaporama->ImageGeometry) { case GEOMETRY_4_3: Final_W=720; Final_H=576; Internal_W=768; Internal_H=576; PixelAspectRatio=MakeAVRational(16,15); break; case GEOMETRY_40_17: Final_W=720; Final_H=436; Internal_W=1024; Internal_H=436; PixelAspectRatio=MakeAVRational(64,45); break; case GEOMETRY_16_9: default: Final_W=720; Final_H=576; Internal_W=1024; Internal_H=576; PixelAspectRatio=MakeAVRational(64,45); break; } Ext_H=576-Final_H; break; case STANDARD_NTSC: switch (Diaporama->ImageGeometry) { case GEOMETRY_4_3: Final_W=720; Final_H=480; Internal_W=640; Internal_H=480; PixelAspectRatio=MakeAVRational(8,9); break; case GEOMETRY_40_17: Final_W=720; Final_H=306; Internal_W=854; Internal_H=306; PixelAspectRatio=MakeAVRational(32,27); break; case GEOMETRY_16_9: default: Final_W=720; Final_H=480; Internal_W=854; Internal_H=480; PixelAspectRatio=MakeAVRational(32,27); break; } Ext_H=480-Final_H; break; } } else { Ext_H =DefImageFormat[Standard][Diaporama->ImageGeometry][ImageSize].Extend*2; Final_W =DefImageFormat[Standard][Diaporama->ImageGeometry][ImageSize].Width; Final_H =DefImageFormat[Standard][Diaporama->ImageGeometry][ImageSize].Height; Internal_W =Final_W; Internal_H =Final_H; PixelAspectRatio=MakeAVRational(1,1); } int CurrentCodec=ui->AudioFormatCB->currentIndex(); if (CurrentCodec>=0) CurrentCodec=ui->AudioFormatCB->itemData(CurrentCodec).toInt(); Continue=Encoder.OpenEncoder(Diaporama,OutputFileName,FromSlide,ToSlide, true,VideoCodecIndex,VBR && ((CurrentCodec==VCODEC_H264HQ)||(CurrentCodec==VCODEC_H264PQ)),&DefImageFormat[Standard][Diaporama->ImageGeometry][ImageSize],Final_W,Final_H,Ext_H,Internal_W,Internal_H,PixelAspectRatio,VideoBitRate, ui->IncludeSoundCB->isChecked(),AudioCodecIndex,2,AudioBitRate,AudioFrequency,Language); InitDisplay(); ThreadEncode.setFuture(QtConcurrent::run(this,&DlgRenderVideo::DoThreadEncode)); } } DisplayTimer.start(500); } void DlgRenderVideo::DoThreadEncode() { Continue=Continue && Encoder.DoEncode(); } void DlgRenderVideo::EndThreadEncode() { DisplayTimer.stop(); Encoder.CloseEncoder(); OnTimer(); // Latest display IsDestFileOpen=false; QString ThumbFileName; if ((ExportMode!=MODE_SOUNDTRACK)&&(ui->ExportThumbCB->isChecked())) { ThumbFileName=OutputFileName.left(OutputFileName.lastIndexOf("."))+".jpg"; int Index=ApplicationConfig->ThumbnailModels->SearchModel(Diaporama->ThumbnailName); if (Index>=0) { QSize ForcedThumbnailSize(THUMBWITH,THUMBHEIGHT); QImage Image=ApplicationConfig->ThumbnailModels->List[Index]->PrepareImage(0,Diaporama,Diaporama->ProjectThumbnail,&ForcedThumbnailSize); Image.save(ThumbFileName,0,100); } } if ((Continue)&&(ExportMode!=MODE_SOUNDTRACK)&&(ui->ExportXBMCNfoCB->isChecked())) { QString XBMCNFOFileName=OutputFileName.left(OutputFileName.lastIndexOf("."))+".nfo"; QFile file(XBMCNFOFileName); QString Text; Text=Text+QString("\n"); Text=Text+QString("\n"); Text=Text+QString(" %1\n").arg(Diaporama->ProjectInfo->Title); Text=Text+QString(" %1\n").arg(QFileInfo(OutputFileName).baseName()); Text=Text+QString(" %1\n").arg(Diaporama->ProjectInfo->Album); Text=Text+QString(" %1\n").arg(Diaporama->ProjectInfo->Album); Text=Text+QString(" %1\n").arg(Diaporama->ProjectInfo->EventDate.year()); Text=Text+QString(" %1\n").arg(Diaporama->ProjectInfo->Title); Text=Text+QString(" %1\n").arg(Diaporama->ProjectInfo->Comment); Text=Text+QString(" %1\n").arg(Diaporama->ProjectInfo->Author); Text=Text+QString(" %1\n").arg(Diaporama->ProjectInfo->Author); Text=Text+QString(" %1\n").arg(QTime(0,0,0,0).msecsTo(Diaporama->ProjectInfo->Duration)>60000?QTime(0,0,0,0).msecsTo(Diaporama->ProjectInfo->Duration)/60000:1); if (!ThumbFileName.isEmpty()) Text=Text+QString(" %1\n").arg(QFileInfo(ThumbFileName).baseName()+".jpg"); Text=Text+QString("\n"); if (file.open(QIODevice::WriteOnly|QIODevice::Text)) { QTextStream out(&file); out.setCodec("UTF-8"); out<ImagesCache.clear(); // Inform user of success if (Continue) { if (CustomMessageBox(this,QMessageBox::Information,QApplication::translate("DlgRenderVideo","Render video"), ExportMode!=MODE_SOUNDTRACK?QApplication::translate("DlgRenderVideo","Job completed successfully!\nDo you want to open the video now?"): QApplication::translate("DlgRenderVideo","Job completed successfully!\nDo you want to open the audio track now?"), QMessageBox::Yes|QMessageBox::Close,QMessageBox::Yes)==QMessageBox::Yes) QDesktopServices::openUrl(QUrl().fromLocalFile(OutputFileName)); } else if (Encoder.StopProcessWanted) CustomMessageBox(this,QMessageBox::Information,QApplication::translate("DlgRenderVideo","Render video"),QApplication::translate("DlgRenderVideo","Job canceled!")); else CustomMessageBox(this,QMessageBox::Information,QApplication::translate("DlgRenderVideo","Render video"),QApplication::translate("DlgRenderVideo","Job error!\nPlease contact ffDiaporama team")); if (Continue) accept(); else reject(); } ffDiaporama/src/ffDiaporama/DlgMusic/0000777000175000001440000000000012275647325017730 5ustar dominiqueusersffDiaporama/src/ffDiaporama/DlgMusic/DlgMusicProperties.ui0000777000175000001440000003315712275647325024067 0ustar dominiqueusers DlgMusicProperties 0 0 525 331 500 300 Sans Serif 9 Music properties 4 8 8 8 8 Settings for the music track 30 0 0 0 2 Specifies that from now on, the sound volume is reduced. This option is particularly useful, for example, to reduce the sound of the music during the play of a video. Remark: This volume reduction is applied only for the selected slide. Change volume level to : buttonGroup_2 0 0 Define the sound volume for this slide 7 90 80 70 60 50 40 30 20 10 0 0 % Pauses the current play list. Remark: This pause is applied only for the selected slide Set to pause buttonGroup_2 No specific settings Normal buttonGroup_2 You can start a new playlist from this slide Start a new playlist from this slide 0 0 0 0 0 Adds a file to the playlist. A file selection dialog appears, allowing you to select a file :/img/object_sound.png:/img/object_sound.png Removes the current selected file from the playlist :/img/trash.png:/img/trash.png Changes the order in which the music files will be played. Moves the currently selected file one step up. :/img/arrow_up.png:/img/arrow_up.png Changes the order in which the music files will be played. Moves the currently selected file one step down :/img/arrow_down.png:/img/arrow_down.png Total playlist duration : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 00:00:00 QAbstractItemView::NoEditTriggers false false QAbstractItemView::SingleSelection QAbstractItemView::SelectRows 32 32 true false 0 true false File 9 Duration 9 Volume 9 Credit AlignHCenter|AlignVCenter|AlignCenter Source folder 9 Qt::Horizontal 4 Qt::Horizontal 40 20 Accept modification and exit dialog box &Ok :/img/action_ok.png:/img/action_ok.png Cancel modification and exit dialog box &Cancel :/img/action_cancel.png:/img/action_cancel.png Show help about this dialogue box &Help :/img/help.png:/img/help.png SameMusicNormalRD SameMusicReduceVolumeRD VolumeReductionFactorCB SameMusicPauseRD NewMusicCB AddMusicBt RemoveMusicBt UpMusicBt DownMusicBt PlayListTable OKBT CancelBt ffDiaporama/src/ffDiaporama/DlgMusic/DlgMusicProperties.h0000777000175000001440000000517512275647325023700 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef DLGMUSICPROPERTIES_H #define DLGMUSICPROPERTIES_H // Basic inclusions (common to all files) #include "CustomCtrl/_QCustomDialog.h" #include "engine/_Diaporama.h" namespace Ui { class DlgMusicProperties; } class DlgMusicProperties : public QCustomDialog { Q_OBJECT public: cDiaporamaObject *DiaporamaObject; explicit DlgMusicProperties(cDiaporamaObject *DiaporamaObject,cApplicationConfig *ApplicationConfig,QWidget *parent=0); ~DlgMusicProperties(); // function to be overloaded virtual void DoInitDialog(); // Initialise dialog virtual bool DoAccept(); // Call when user click on Ok button virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button virtual void PrepareGlobalUndo(); // Initiale Undo virtual void DoGlobalUndo(); // Apply Undo : call when user click on Cancel button virtual void RefreshControl(bool RefreshList=false); private slots: void s_SameMusicNormal(); void s_SameMusicReduceVolume(); void s_SameMusicPause(); void s_NewMusic(); void s_AddMusic(); void s_RemoveMusic(); void s_PlayListTable_DoubleClick(QTableWidgetItem *); void s_PlayListTable_SelectionChanged(); void s_UpMusic(); void s_DownMusic(); signals: void SetModifyFlag(); private: void SetupUi(); void SetItem(int row,int MusicIndex); bool GetCBChecked(int row); Ui::DlgMusicProperties *ui; }; #endif // DLGMUSICPROPERTIES_H ffDiaporama/src/ffDiaporama/DlgMusic/DlgMusicProperties.cpp0000777000175000001440000003371612275647325024235 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "DlgMusicProperties.h" #include "ui_DlgMusicProperties.h" #include "DlgFileExplorer/DlgFileExplorer.h" #include DlgMusicProperties::DlgMusicProperties(cDiaporamaObject *TheDiaporamaObject,cApplicationConfig *ApplicationConfig,QWidget *parent): QCustomDialog(ApplicationConfig,parent), ui(new Ui::DlgMusicProperties) { ui->setupUi(this); OkBt =ui->OKBT; CancelBt=ui->CancelBt; HelpBt =ui->HelpBt; HelpFile="0114"; DiaporamaObject=TheDiaporamaObject; } //==================================================================================================================== DlgMusicProperties::~DlgMusicProperties() { delete ui; } //==================================================================================================================== void DlgMusicProperties::DoInitDialog() { // Init embeded widgets #if QT_VERSION >= 0x050000 ui->PlayListTable->horizontalHeader()->setSectionResizeMode(0,QHeaderView::ResizeToContents); ui->PlayListTable->horizontalHeader()->setSectionResizeMode(1,QHeaderView::ResizeToContents); ui->PlayListTable->horizontalHeader()->setSectionResizeMode(2,QHeaderView::ResizeToContents); ui->PlayListTable->horizontalHeader()->setSectionResizeMode(3,QHeaderView::ResizeToContents); #else ui->PlayListTable->horizontalHeader()->setResizeMode(0,QHeaderView::ResizeToContents); ui->PlayListTable->horizontalHeader()->setResizeMode(1,QHeaderView::ResizeToContents); ui->PlayListTable->horizontalHeader()->setResizeMode(2,QHeaderView::ResizeToContents); ui->PlayListTable->horizontalHeader()->setResizeMode(3,QHeaderView::ResizeToContents); #endif RefreshControl(true); // Define handler connect(ui->SameMusicNormalRD,SIGNAL(clicked()),this,SLOT(s_SameMusicNormal())); connect(ui->SameMusicReduceVolumeRD,SIGNAL(clicked()),this,SLOT(s_SameMusicReduceVolume())); connect(ui->SameMusicPauseRD,SIGNAL(clicked()),this,SLOT(s_SameMusicPause())); connect(ui->UpMusicBt,SIGNAL(clicked()),this,SLOT(s_UpMusic())); connect(ui->DownMusicBt,SIGNAL(clicked()),this,SLOT(s_DownMusic())); connect(ui->NewMusicCB,SIGNAL(clicked()),this,SLOT(s_NewMusic())); connect(ui->AddMusicBt,SIGNAL(pressed()),this,SLOT(s_AddMusic())); connect(ui->RemoveMusicBt,SIGNAL(pressed()),this,SLOT(s_RemoveMusic())); connect(ui->PlayListTable,SIGNAL(itemDoubleClicked(QTableWidgetItem *)),this,SLOT(s_PlayListTable_DoubleClick(QTableWidgetItem *))); connect(ui->PlayListTable,SIGNAL(itemSelectionChanged()),this,SLOT(s_PlayListTable_SelectionChanged())); } //==================================================================================================================== // Initiale Undo void DlgMusicProperties::PrepareGlobalUndo() { // Save object before modification for cancel button Undo=new QDomDocument(APPLICATION_NAME); QDomElement root=Undo->createElement("UNDO-DLG"); // Create xml document and root DiaporamaObject->SaveToXML(root,"UNDO-DLG-OBJECT",DiaporamaObject->Parent->ProjectFileName,true,NULL,NULL,false); // Save object Undo->appendChild(root); // Add object to xml document } //==================================================================================================================== // Apply Undo : call when user click on Cancel button void DlgMusicProperties::DoGlobalUndo() { QDomElement root=Undo->documentElement(); if (root.tagName()=="UNDO-DLG") DiaporamaObject->LoadFromXML(root,"UNDO-DLG-OBJECT","",NULL,NULL,false); } //==================================================================================================================== bool DlgMusicProperties::GetCBChecked(int row) { QWidget *wdg =(QWidget *)ui->PlayListTable->cellWidget(row,3); QCheckBox *CHB=wdg->findChild(); if (CHB) return CHB->isChecked(); else return false; } bool DlgMusicProperties::DoAccept() { DiaporamaObject->MusicReduceFactor=double(ui->VolumeReductionFactorCB->currentText().toInt())/100; // Get Music volume for each file of the playlist if (DiaporamaObject->MusicType) { for (int CurIndex=0;CurIndexMusicList.count();CurIndex++) { QComboBox *CB =(QComboBox *)ui->PlayListTable->cellWidget(CurIndex,2); QString Volume=CB->currentText(); Volume=Volume.left(Volume.length()-1); DiaporamaObject->MusicList[CurIndex].AllowCredit=GetCBChecked(CurIndex); DiaporamaObject->MusicList[CurIndex].Volume=double(Volume.toInt())/100; } } else DiaporamaObject->MusicList.clear(); return true; } //==================================================================================================================== void DlgMusicProperties::s_SameMusicNormal() { if (DiaporamaObject==NULL) return; DiaporamaObject->MusicPause=false; DiaporamaObject->MusicReduceVolume=false; RefreshControl(); } void DlgMusicProperties::s_SameMusicReduceVolume() { DiaporamaObject->MusicPause=false; DiaporamaObject->MusicReduceVolume=true; RefreshControl(); } void DlgMusicProperties::s_SameMusicPause() { if (DiaporamaObject==NULL) return; DiaporamaObject->MusicPause=true; DiaporamaObject->MusicReduceVolume=false; RefreshControl(); } //==================================================================================================================== void DlgMusicProperties::s_NewMusic() { if (DiaporamaObject==NULL) return; DiaporamaObject->MusicType=ui->NewMusicCB->isChecked(); RefreshControl(); } //==================================================================================================================== void DlgMusicProperties::SetItem(int row,int MusicIndex) { QImage Icon=DiaporamaObject->MusicList[MusicIndex].GetIcon(cCustomIcon::ICON100,false); if (!Icon.isNull()) Icon=Icon.scaledToHeight(32); QString SN=DiaporamaObject->MusicList[MusicIndex].ShortName(); if (SN.length()>30) { int i=SN.length()/2; while ((i='A')) i++; if (isetTextAlignment(Qt::AlignLeft|Qt::AlignVCenter); ui->PlayListTable->setItem(row,0,Item); Item=new QTableWidgetItem(DiaporamaObject->MusicList[MusicIndex].Duration.toString("hh:mm:ss")); Item->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter); ui->PlayListTable->setItem(row,1,Item); QComboBox *InternalCB=new QComboBox(ui->PlayListTable); for (int Factor=150;Factor>=10;Factor-=10) InternalCB->addItem(QString("%1%").arg(Factor)); InternalCB->setCurrentIndex(InternalCB->findText(QString("%1%").arg(int(DiaporamaObject->MusicList[MusicIndex].Volume*100)))); ui->PlayListTable->setCellWidget(row,2,InternalCB); QWidget *wdg =new QWidget; QCheckBox *InternalChB=new QCheckBox(wdg); QHBoxLayout *layout =new QHBoxLayout(wdg); layout->setContentsMargins(0,0,0,0); layout->addWidget(InternalChB); layout->setAlignment(Qt::AlignCenter); wdg->setLayout(layout); InternalChB->setChecked(DiaporamaObject->MusicList[MusicIndex].AllowCredit); ui->PlayListTable->setCellWidget(row,3,wdg); Item=new QTableWidgetItem(QFileInfo(DiaporamaObject->MusicList[MusicIndex].FileName()).path()); Item->setTextAlignment(Qt::AlignLeft|Qt::AlignVCenter); ui->PlayListTable->setItem(row,4,Item); } //==================================================================================================================== void DlgMusicProperties::RefreshControl(bool RefreshList) { if (DiaporamaObject!=NULL) { if (RefreshList) { while (ui->PlayListTable->rowCount()>0) ui->PlayListTable->removeRow(0); // Add music to PlayListTable for (int CurIndex=0;CurIndexMusicList.count();CurIndex++) { int j=ui->PlayListTable->rowCount(); // Item will be add at end of the list ui->PlayListTable->insertRow(j); SetItem(j,CurIndex); } } ui->SameMusicNormalRD->setChecked((!DiaporamaObject->MusicPause)&&(!DiaporamaObject->MusicReduceVolume)); ui->SameMusicReduceVolumeRD->setChecked((!DiaporamaObject->MusicPause)&&(DiaporamaObject->MusicReduceVolume)); ui->VolumeReductionFactorCB->setEnabled((!DiaporamaObject->MusicPause)&&(DiaporamaObject->MusicReduceVolume)); ui->VolumeReductionFactorCB->setCurrentIndex(ui->VolumeReductionFactorCB->findText(QString("%1").arg(int(DiaporamaObject->MusicReduceFactor*100)))); ui->SameMusicPauseRD->setChecked((DiaporamaObject->MusicPause)&&(!DiaporamaObject->MusicReduceVolume)); } if ((DiaporamaObject!=NULL)&&(DiaporamaObject->MusicType)) { ui->NewMusicCB->setChecked(true); ui->PlayListTable->setEnabled(true); ui->AddMusicBt->setEnabled(true); ui->RemoveMusicBt->setEnabled((DiaporamaObject->MusicList.count()>0)&&(ui->PlayListTable->currentRow()!=-1)); ui->UpMusicBt->setEnabled((DiaporamaObject->MusicList.count()>0)&&(ui->PlayListTable->currentRow()>0)); ui->DownMusicBt->setEnabled((DiaporamaObject->MusicList.count()>0)&&(ui->PlayListTable->currentRow()PlayListTable->rowCount()-1)); int TotalDuration=0; for (int CurIndex=0;CurIndexMusicList.count();CurIndex++) TotalDuration+=QTime(0,0,0,0).msecsTo(DiaporamaObject->MusicList[CurIndex].Duration); ui->LabelDuration->setText(QTime(0,0,0,0).addMSecs(TotalDuration).toString("hh:mm:ss")); } else { ui->PlayListTable->setEnabled(false); ui->AddMusicBt->setEnabled(false); ui->RemoveMusicBt->setEnabled(false); ui->UpMusicBt->setEnabled(false); ui->DownMusicBt->setEnabled(false); ui->Label1->setText(""); ui->LabelDuration->setText(""); } } //==================================================================================================================== void DlgMusicProperties::s_AddMusic() { QStringList FileList; DlgFileExplorer Dlg(BROWSER_TYPE_SOUNDONLY,true,false,false,QApplication::translate("DlgMusicProperties","Add music files"),DiaporamaObject->Parent->ApplicationConfig,this); Dlg.InitDialog(); if (Dlg.exec()==0) FileList=Dlg.GetCurrentSelectedFiles(); QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); int CurIndex=DiaporamaObject->MusicList.count(); // Add files for (int i=0;iMusicList.insert(CurIndex,cMusicObject(ApplicationConfig)); bool ModifyFlag=false; if (DiaporamaObject->MusicList[CurIndex].GetInformationFromFile(NewFile,NULL,&ModifyFlag)&&(DiaporamaObject->MusicList[CurIndex].CheckFormatValide(this))) { if (ModifyFlag) emit SetModifyFlag(); int j=ui->PlayListTable->rowCount(); // Item will be add at end of the list ui->PlayListTable->insertRow(j); SetItem(j,CurIndex); CurIndex++; } else { DiaporamaObject->MusicList.removeAt(CurIndex); } } QApplication::restoreOverrideCursor(); RefreshControl(); } //==================================================================================================================== void DlgMusicProperties::s_RemoveMusic() { int CurIndex=ui->PlayListTable->currentRow(); if (CurIndex==-1) return; QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); DiaporamaObject->MusicList.removeAt(CurIndex); ui->PlayListTable->removeRow(CurIndex); if (CurIndexPlayListTable->rowCount()) ui->PlayListTable->setCurrentCell(CurIndex,0); else ui->PlayListTable->setCurrentCell(0,0); QApplication::restoreOverrideCursor(); RefreshControl(); } //==================================================================================================================== void DlgMusicProperties::s_PlayListTable_DoubleClick(QTableWidgetItem *) { RefreshControl(); } //==================================================================================================================== void DlgMusicProperties::s_PlayListTable_SelectionChanged() { RefreshControl(); } //==================================================================================================================== void DlgMusicProperties::s_UpMusic() { int CurIndex=ui->PlayListTable->currentRow(); if (CurIndex<1) return; DiaporamaObject->MusicList.swap(CurIndex,CurIndex-1); RefreshControl(true); ui->PlayListTable->setCurrentCell(CurIndex-1,0); } //==================================================================================================================== void DlgMusicProperties::s_DownMusic() { int CurIndex=ui->PlayListTable->currentRow(); if ((CurIndex<0)||(CurIndex>ui->PlayListTable->rowCount()-1)) return; DiaporamaObject->MusicList.swap(CurIndex,CurIndex+1); RefreshControl(true); ui->PlayListTable->setCurrentCell(CurIndex+1,0); } ffDiaporama/src/ffDiaporama/DlgManageStyle/0000777000175000001440000000000012275647323021057 5ustar dominiqueusersffDiaporama/src/ffDiaporama/DlgManageStyle/DlgManageStyle.ui0000777000175000001440000001406412275647323024266 0ustar dominiqueusers DlgManageStyle 0 0 452 310 Sans Serif 9 Manage style 4 8 8 8 8 9 <html><head/><body><p>The existing styles appear with an icon which has various meanings:</p><p><img src=":/img/db.png"/> for a standard style</p><p><img src=":/img/db_update.png"/> for a standard style you modified or for a custom style</p></body></html> QAbstractItemView::NoEditTriggers false false QAbstractItemView::SingleSelection QAbstractItemView::SelectRows QAbstractItemView::ScrollPerItem QAbstractItemView::ScrollPerPixel 0 0 0 0 0 Allows to rename the selected style. Rename :/img/db_add.png:/img/db_add.png Allows to remove the personalized style. Remove :/img/db_remove.png:/img/db_remove.png Allows to delete the customizations of a standard style and thus to return it to the default values for this style. It concerns as well the name of the style as the associated settings. Reset to default :/img/db_status.png:/img/db_status.png Qt::Horizontal 4 Qt::Horizontal 40 20 Accept modification and exit dialog box &Ok :/img/action_ok.png:/img/action_ok.png Cancel modification and exit dialog box &Cancel :/img/action_cancel.png:/img/action_cancel.png Show help about this dialogue box &Help :/img/help.png:/img/help.png ffDiaporama/src/ffDiaporama/DlgManageStyle/DlgManageStyle.h0000777000175000001440000000453712275647323024104 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef DLGMANAGESTYLE_H #define DLGMANAGESTYLE_H // Basic inclusions (common to all files) #include "CustomCtrl/_QCustomDialog.h" #include "engine/_StyleDefinitions.h" //===================== // Manage style dialog //===================== namespace Ui { class DlgManageStyle; } class DlgManageStyle : public QCustomDialog { Q_OBJECT public: cStyleCollection *Collection; cStyleCollection *UndoCollection; explicit DlgManageStyle(cStyleCollection *Collection,cApplicationConfig *ApplicationConfig,QWidget *parent=0); ~DlgManageStyle(); void PopulateList(QString StyleToActivate); // function to be overloaded virtual void DoInitDialog(); // Initialise dialog virtual bool DoAccept() {return true;} // Call when user click on Ok button virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button virtual void PrepareGlobalUndo(); // Initiale Undo virtual void DoGlobalUndo(); // Apply Undo : call when user click on Cancel button private slots: void s_currentRowChanged(int); void s_DBRename(); void s_DBRemove(); void s_DBReset(); private: Ui::DlgManageStyle *ui; }; #endif // DLGMANAGESTYLE_H ffDiaporama/src/ffDiaporama/DlgManageStyle/DlgManageStyle.cpp0000777000175000001440000002312412275647323024430 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ // Specific inclusions #include "DlgManageStyle.h" #include "ui_DlgManageStyle.h" #include #include #include #define ICON_FRAMING_CUSTOM ":/img/action_cancel.png" #define ICON_FRAMING_FULL ":/img/AdjustWH.png" #define ICON_FRAMING_WIDTH ":/img/AdjustW.png" #define ICON_FRAMING_HEIGHT ":/img/AdjustH.png" #define ICON_GLOBALCONF ":/img/db.png" #define ICON_USERCONF ":/img/db_update.png" //============================================================================================================================ // Manage style dialog //============================================================================================================================ DlgManageStyle::DlgManageStyle(cStyleCollection *TheCollection,cApplicationConfig *ApplicationConfig,QWidget *parent): QCustomDialog(ApplicationConfig,parent),ui(new Ui::DlgManageStyle) { ui->setupUi(this); OkBt =ui->OKBT; CancelBt =ui->CancelBt; HelpBt =ui->HelpBt; HelpFile ="0113"; Collection =TheCollection; } //==================================================================================================================== DlgManageStyle::~DlgManageStyle() { delete ui; delete UndoCollection; } //==================================================================================================================== void DlgManageStyle::DoInitDialog() { PopulateList(""); // Define handler connect(ui->ListStyle,SIGNAL(currentRowChanged(int)),this,SLOT(s_currentRowChanged(int))); connect(ui->DBRenameBT,SIGNAL(clicked()),this,SLOT(s_DBRename())); connect(ui->DBRemoveBT,SIGNAL(clicked()),this,SLOT(s_DBRemove())); connect(ui->DBResetBT,SIGNAL(clicked()),this,SLOT(s_DBReset())); ui->ListStyle->setCurrentRow(0); } //==================================================================================================================== // Initiale Undo void DlgManageStyle::PrepareGlobalUndo() { // Save object before modification for cancel button UndoCollection=Collection->PrepUndo(); } //==================================================================================================================== // Apply Undo : call when user click on Cancel button void DlgManageStyle::DoGlobalUndo() { UndoCollection->SourceCollection->ApplyUndo(UndoCollection); } //==================================================================================================================== void DlgManageStyle::PopulateList(QString StyleToActivate) { ui->ListStyle->setUpdatesEnabled(false); ui->ListStyle->clear(); QString Item; for (int i=0;iCollection.count();i++) if (((!Collection->GeometryFilter)&&(Collection->Collection[i].GetFilteredPart()==""))|| (((Collection->GeometryFilter)&&(Collection->Collection[i].GetFilteredPart()==Collection->ActiveFilter))) ) { Item=Collection->Collection[i].StyleName.mid(Collection->Collection[i].GetFilteredPart().length()); ui->ListStyle->addItem(new QListWidgetItem(Collection->Collection[i].FromUserConf?QIcon(ICON_USERCONF):QIcon(ICON_GLOBALCONF),Item)); if (StyleToActivate==(Collection->GeometryFilter?Collection->ActiveFilter:"")+Item) ui->ListStyle->setCurrentRow(ui->ListStyle->count()-1); } ui->ListStyle->setUpdatesEnabled(true); } //==================================================================================================================== void DlgManageStyle::s_currentRowChanged(int NewRow) { QListWidgetItem *Item=ui->ListStyle->item(NewRow); if (Item) { QString StyleName=(Collection->GeometryFilter?Collection->ActiveFilter:"")+Item->text(); int i=0; while ((iCollection.count())&&(Collection->Collection[i].StyleName!=StyleName)) i++; if ((iCollection.count())&&(Collection->Collection[i].StyleName==StyleName)) { ui->DBRenameBT->setEnabled(true); ui->DBRemoveBT->setEnabled(Collection->Collection[i].FromGlobalConf==false); ui->DBResetBT->setEnabled(Collection->Collection[i].FromGlobalConf==true); } else { ui->DBRenameBT->setEnabled(false); ui->DBRemoveBT->setEnabled(false); ui->DBResetBT->setEnabled(false); } } else { ui->DBRenameBT->setEnabled(false); ui->DBRemoveBT->setEnabled(false); ui->DBResetBT->setEnabled(false); } } //==================================================================================================================== void DlgManageStyle::s_DBRename() { QListWidgetItem *Item=ui->ListStyle->item(ui->ListStyle->currentRow()); if (Item) { QString StyleName=(Collection->GeometryFilter?Collection->ActiveFilter:"")+Item->text(); int i=0; while ((iCollection.count())&&(Collection->Collection[i].StyleName!=StyleName)) i++; if ((iCollection.count())&&(Collection->Collection[i].StyleName==StyleName)) { bool Ok,Continue=true; QString Text=Item->text(); while (Continue) { Continue=false; Text=QInputDialog::getText(this,QApplication::translate("DlgManageStyle","Rename style"),QApplication::translate("DlgManageStyle","New style name:"),QLineEdit::Normal,Text,&Ok); if (Ok && !Text.isEmpty()) { // Ensure Style is not use by another style int j=0; while ((jCollection.count())&&((j==i)||(Collection->Collection[j].StyleName!=(Collection->GeometryFilter?Collection->ActiveFilter:"")+Text))) j++; if ((jCollection.count())&&(Collection->Collection[j].StyleName==(Collection->GeometryFilter?Collection->ActiveFilter:"")+Text)) { CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgManageStyle","Rename style"), QApplication::translate("DlgManageStyle","A style with this name already exist.\nPlease select another name!")); Continue=true; } else { // If all is ok then apply new name Collection->Collection[i].StyleName=(Collection->GeometryFilter?Collection->ActiveFilter:"")+Text; Collection->Collection[i].FromUserConf=true; } } } QString StyleName=Collection->Collection[i].StyleName; Collection->SortList(); PopulateList(StyleName); } } } //==================================================================================================================== void DlgManageStyle::s_DBRemove() { QListWidgetItem *Item=ui->ListStyle->item(ui->ListStyle->currentRow()); if (Item) { QString StyleName=(Collection->GeometryFilter?Collection->ActiveFilter:"")+Item->text(); int i=0; while ((iCollection.count())&&(Collection->Collection[i].StyleName!=StyleName)) i++; if ((iCollection.count())&&(Collection->Collection[i].StyleName==StyleName)) { if (ui->ListStyle->currentRow()ListStyle->count()-1) Item=ui->ListStyle->item(ui->ListStyle->currentRow()+1); else if (ui->ListStyle->currentRow()>0) Item=ui->ListStyle->item(ui->ListStyle->currentRow()-1); else Item=NULL; Collection->Collection.removeAt(i); PopulateList(Item==NULL?"":(Collection->GeometryFilter?Collection->ActiveFilter:"")+Item->text()); } } } //==================================================================================================================== void DlgManageStyle::s_DBReset() { QListWidgetItem *Item=ui->ListStyle->item(ui->ListStyle->currentRow()); if (Item) { QString StyleName=(Collection->GeometryFilter?Collection->ActiveFilter:"")+Item->text(); int i=0; while ((iCollection.count())&&(Collection->Collection[i].StyleName!=StyleName)) i++; if ((iCollection.count())&&(Collection->Collection[i].StyleName==StyleName)) { Collection->Collection[i].StyleName=Collection->Collection[i].BckStyleName; Collection->Collection[i].StyleDef =Collection->Collection[i].BckStyleDef; Collection->Collection[i].FromUserConf=false; QString StyleName=Collection->Collection[i].StyleName; Collection->SortList(); PopulateList(StyleName); } } } ffDiaporama/src/ffDiaporama/DlgManageFavorite/0000777000175000001440000000000012275647315021537 5ustar dominiqueusersffDiaporama/src/ffDiaporama/DlgManageFavorite/DlgManageFavorite.ui0000777000175000001440000001203412275647315025420 0ustar dominiqueusers DlgManageFavorite 0 0 452 310 Sans Serif 9 Manage favorite 4 8 8 8 8 9 QAbstractItemView::NoEditTriggers false false QAbstractItemView::SingleSelection QAbstractItemView::SelectRows QAbstractItemView::ScrollPerItem QAbstractItemView::ScrollPerPixel 0 0 0 0 0 Rename favorite Rename :/img/db_update.png:/img/db_update.png Remove favorite Remove :/img/db_remove.png:/img/db_remove.png Qt::Horizontal 4 Qt::Horizontal 40 20 Accept modification and exit dialog box &Ok :/img/action_ok.png:/img/action_ok.png Cancel modification and exit dialog box &Cancel :/img/action_cancel.png:/img/action_cancel.png Show help about this dialogue box &Help :/img/help.png:/img/help.png ffDiaporama/src/ffDiaporama/DlgManageFavorite/DlgManageFavorite.h0000777000175000001440000000433312275647315025235 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef DLGMANAGEFAVORITE_H #define DLGMANAGEFAVORITE_H // Basic inclusions (common to all files) #include "CustomCtrl/_QCustomDialog.h" namespace Ui { class DlgManageFavorite; } class DlgManageFavorite : public QCustomDialog { Q_OBJECT public: QStringList *Collection; QStringList UndoCollection; explicit DlgManageFavorite(QStringList *Collection,cApplicationConfig *ApplicationConfig,QWidget *parent=0); ~DlgManageFavorite(); void PopulateList(QString ActiveName); // function to be overloaded virtual void DoInitDialog(); // Initialise dialog virtual bool DoAccept() {return true;} // Call when user click on Ok button virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button virtual void PrepareGlobalUndo(); // Initiale Undo virtual void DoGlobalUndo(); // Apply Undo : call when user click on Cancel button private slots: void s_currentRowChanged(int); void s_DBRename(); void s_DBRemove(); private: Ui::DlgManageFavorite *ui; }; #endif // DLGMANAGEFAVORITE_H ffDiaporama/src/ffDiaporama/DlgManageFavorite/DlgManageFavorite.cpp0000777000175000001440000001715012275647315025571 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ // Specific inclusions #include "DlgManageFavorite.h" #include "ui_DlgManageFavorite.h" #include #include #include #define ICON_FRAMING_CUSTOM ":/img/action_cancel.png" #define ICON_FRAMING_FULL ":/img/AdjustWH.png" #define ICON_FRAMING_WIDTH ":/img/AdjustW.png" #define ICON_FRAMING_HEIGHT ":/img/AdjustH.png" #define ICON_GLOBALCONF ":/img/db.png" #define ICON_USERCONF ":/img/db_update.png" //============================================================================================================================ // Manage style dialog //============================================================================================================================ DlgManageFavorite::DlgManageFavorite(QStringList *TheCollection,cApplicationConfig *ApplicationConfig,QWidget *parent): QCustomDialog(ApplicationConfig,parent),ui(new Ui::DlgManageFavorite) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageFavorite::DlgManageFavorite"); ui->setupUi(this); OkBt =ui->OKBT; CancelBt =ui->CancelBt; HelpBt =ui->HelpBt; HelpFile ="0112"; Collection =TheCollection; } //==================================================================================================================== DlgManageFavorite::~DlgManageFavorite() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageFavorite::~DlgManageFavorite"); delete ui; } //==================================================================================================================== void DlgManageFavorite::DoInitDialog() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageFavorite::DoInitDialog"); PopulateList(""); // Define handler connect(ui->ListFavorite,SIGNAL(currentRowChanged(int)),this,SLOT(s_currentRowChanged(int))); connect(ui->DBRenameBT,SIGNAL(clicked()),this,SLOT(s_DBRename())); connect(ui->DBRemoveBT,SIGNAL(clicked()),this,SLOT(s_DBRemove())); ui->ListFavorite->setCurrentRow(0); } //==================================================================================================================== // Initiale Undo void DlgManageFavorite::PrepareGlobalUndo() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageFavorite::PrepareGlobalUndo"); // Save object before modification for cancel button UndoCollection.clear(); for (int i=0;icount();i++) UndoCollection.append((*Collection)[i]); } //==================================================================================================================== // Apply Undo : call when user click on Cancel button void DlgManageFavorite::DoGlobalUndo() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageFavorite::DoGlobalUndo"); Collection->clear(); for (int i=0;iappend(UndoCollection[i]); } //==================================================================================================================== void DlgManageFavorite::s_currentRowChanged(int) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageFavorite::s_currentRowChanged"); ui->DBRenameBT->setEnabled(ui->ListFavorite->currentRow()!=-1); ui->DBRemoveBT->setEnabled(ui->ListFavorite->currentRow()!=-1); } //==================================================================================================================== void DlgManageFavorite::PopulateList(QString ActiveName) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageFavorite::PopulateList"); ui->ListFavorite->setUpdatesEnabled(false); ui->ListFavorite->clear(); for (int i=0;icount();i++) { QString Text=(*Collection)[i]; QStringList Texts=Text.split("###"); ui->ListFavorite->addItem(new QListWidgetItem(QIcon(":/img/favorite.png"),QString("%1 [%2]").arg(Texts[0]).arg(Texts[1]))); if (ActiveName==Text) ui->ListFavorite->setCurrentRow(ui->ListFavorite->count()-1); } ui->ListFavorite->setUpdatesEnabled(true); } //==================================================================================================================== void DlgManageFavorite::s_DBRename() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageFavorite::s_DBRename"); QListWidgetItem *Item=ui->ListFavorite->item(ui->ListFavorite->currentRow()); if (Item) { QString Text=Item->text(); QStringList Texts=Text.split(" ["); Texts[1]=Texts[1].left(Texts[1].length()-1); int i=0; while ((icount())&&((*Collection)[i]!=Texts[0]+"###"+Texts[1])) i++; if ((icount())&&((*Collection)[i]==Texts[0]+"###"+Texts[1])) { bool Ok,Continue=true; while (Continue) { Continue=false; Texts[0]=QInputDialog::getText(this,QApplication::translate("DlgManageFavorite","Rename favorite"),QApplication::translate("DlgManageFavorite","New favorite name:"),QLineEdit::Normal,Texts[0],&Ok); if (Ok && !Text.isEmpty()) { // Ensure favorite name is not use by another favorite int j=0; while ((jcount())&&((j==i)||(!(*Collection)[j].startsWith(Texts[0]+"###")))) j++; if ((jcount())&&((*Collection)[j].startsWith(Texts[0]+"###"))) { CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgManageFavorite","Rename favorite"), QApplication::translate("DlgManageFavorite","A favorite with this name already exist.\nPlease select another name!")); Continue=true; } else { // If all is ok then apply new name (*Collection)[i]=Texts[0]+"###"+Texts[1]; } } } QString Name=(*Collection)[i]; Collection->sort(); PopulateList(Name); } } } //==================================================================================================================== void DlgManageFavorite::s_DBRemove() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageFavorite::s_DBRemove"); QListWidgetItem *Item=ui->ListFavorite->item(ui->ListFavorite->currentRow()); if (Item) { QString Text=Item->text(); QStringList Texts=Text.split(" ["); Texts[1]=Texts[1].left(Texts[1].length()-1); int i=0; while ((icount())&&((*Collection)[i]!=Texts[0]+"###"+Texts[1])) i++; if ((icount())&&((*Collection)[i]==Texts[0]+"###"+Texts[1])) { Collection->removeAt(i); PopulateList(""); } } } ffDiaporama/src/ffDiaporama/DlgInfoFile/0000777000175000001440000000000012275647223020340 5ustar dominiqueusersffDiaporama/src/ffDiaporama/DlgInfoFile/DlgInfoFile.ui0000777000175000001440000004241012275647223023025 0ustar dominiqueusers DlgInfoFile 0 0 454 537 0 300 Sans Serif 9 File information 8 8 8 8 4 QFrame::NoFrame true 0 0 424 511 0 0 0 0 4 4 0 0 0 0 0 0 96 96 QFrame::Box Qt::AlignCenter File name : File type : 0 0 <filename> 0 0 <filetype> File size : 0 0 <filesize> File created : The date and the hour of creation of the file on the disk (when you transferred it since the camera). <filedate> File modify : The date and the hour of the last modification of the file (when the photo was taken or when you modified it with an image editor). <filedate> 8 This zone contains a board listing every video track present in the file. For every track, the following information is shown: - #: Track number - Image size: The size of the images of the video track in number of points by number of line - Image format: The size of the images of the video track in million of pixels - Image geometry: The image geometry of the video track (4:3, 16:9, etc.) - Codec: The video codec used for compressed the images - Frame rate: The number of images per second of the video - Bitrate: The video compression ratio (when available) 0 0 0 24 16777215 24 75 true true Video track information Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft 8 This zone contains a table listing every audio track present in the file. For every track, the following information is shown: - #: Track number - Language: The language in which is the audio track (generally cameras and camcorders indicate und for undefine) - Codec: The audio codec used for compressed the sound - Channels: The number of audio channels (1=mono, 2=stereo, etc.) - Bitrate: The audio compression ratio (when available) - Frequency: The frequency of sampling used by the audio track - Title: A title (when available) 0 0 20 0 20 16777215 0 0 0 24 16777215 24 75 true true Audio track information Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft 0 0 0 24 16777215 24 75 true true Chapter information Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft 8 This zone appears only for files containing chapters. it contains a table listing every chapter present in the file. For every chapter, the following information is shown: - #: Chapter number - Title: The title of the chapter - Start: The temporal position of the beginning of the chapter - End: The temporal position of the end of the chapter - Duration: The duration of the chapter 8 For an image: Show the EXIF information supplied by the camera. This zone can contain several hundreds of lines according to what the camera supplies. For a video: Show information on the video. At least the information about the duration of the video will be shown, but a lot of other information can appear according to what is available in the file, such as: - Creation_time: Date and time of creation of the video - Title: Title field of the TAG ID3v2 of the video - Artist: Artist field of the TAG ID3v2 of the video - Album: Album field of the TAG ID3v2 of the video - Date: Date field of the TAG ID3v2 of the video - Comment: Comment field of the TAG ID3v2 of the video - Composer: The software with which the video was created QAbstractItemView::ScrollPerPixel 0 0 0 24 16777215 24 75 true true Additional information Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft Qt::Horizontal 4 Qt::Horizontal 40 20 Accept modification and exit dialog box &Ok :/img/action_ok.png:/img/action_ok.png Show help about this dialogue box &Help :/img/help.png:/img/help.png scrollArea VideoTable AudioTable ChapterTable tableWidget OkBt ffDiaporama/src/ffDiaporama/DlgInfoFile/DlgInfoFile.h0000777000175000001440000000414312275647223022640 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef DLGINFOFILE_H #define DLGINFOFILE_H // Basic inclusions (common to all files) #include "CustomCtrl/_QCustomDialog.h" // Include some common various class #include "engine/cApplicationConfig.h" #include "engine/cBaseMediaFile.h" namespace Ui { class DlgInfoFile; } class DlgInfoFile : public QCustomDialog { Q_OBJECT public: cBaseMediaFile *MediaFile; explicit DlgInfoFile(cBaseMediaFile *MediaFile,cApplicationConfig *ApplicationConfig,QWidget *parent = 0); ~DlgInfoFile(); // function to be overloaded virtual void DoInitDialog(); // Initialise dialog virtual bool DoAccept() {return true;} // Call when user click on Ok button virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button virtual void PrepareGlobalUndo() {/*Nothing to do*/} // Initiale Undo virtual void DoGlobalUndo() {/*Nothing to do*/} // Apply Undo : call when user click on Cancel button private: Ui::DlgInfoFile *ui; }; #endif // DLGINFOFILE_H ffDiaporama/src/ffDiaporama/DlgInfoFile/DlgInfoFile.cpp0000777000175000001440000003611612275647223023200 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "DlgInfoFile.h" #include "ui_DlgInfoFile.h" //==================================================================================================================== DlgInfoFile::DlgInfoFile(cBaseMediaFile *MediaFile,cApplicationConfig *ApplicationConfig,QWidget *parent) :QCustomDialog(ApplicationConfig,parent),ui(new Ui::DlgInfoFile) { this->MediaFile=MediaFile; ui->setupUi(this); //CancelBt=ui->CancelBt; OkBt =ui->OkBt; HelpBt =ui->HelpBt; HelpFile="0111"; } //==================================================================================================================== DlgInfoFile::~DlgInfoFile() { delete ui; } //==================================================================================================================== // Initialise dialog void DlgInfoFile::DoInitDialog() { DoInitTableWidget(ui->tableWidget,"Propertie;Value"); if (MediaFile) { QStringList TempExtProperties; ApplicationConfig->FilesTable->GetExtendedProperties(MediaFile->FileKey,&TempExtProperties); // General file information if (MediaFile->ObjectType==OBJECTTYPE_IMAGEFILE) { cLuLoImageCacheObject *ImageObject=ApplicationConfig->ImagesCache.FindObject(MediaFile->RessourceKey,MediaFile->FileKey,MediaFile->ModifDateTime,MediaFile->ImageOrientation,true,false); if (ImageObject) { QImage *Img=ImageObject->ValidateCachePreviewImage(); if (Img) { QImage NewImg=(Img->width()>Img->height())?Img->scaledToWidth(100,Qt::SmoothTransformation):Img->scaledToHeight(100,Qt::SmoothTransformation); ui->FileIconLabel->setPixmap(QPixmap().fromImage(NewImg)); delete Img; } } } else ui->FileIconLabel->setPixmap(QPixmap().fromImage(MediaFile->GetIcon(cCustomIcon::ICON100,false))); ui->FileNameValue->setText( MediaFile->RessourceKey==-1?MediaFile->ShortName():""); ui->FileSizeValue->setText( MediaFile->RessourceKey==-1?MediaFile->GetFileSizeStr():""); ui->FileCreatedValue->setText( MediaFile->GetFileDateTimeStr(true)); ui->FileModifyValue->setText( MediaFile->RessourceKey==-1?MediaFile->GetFileDateTimeStr(false):""); QString ExtType=GetInformationValue("Long Format",&TempExtProperties); if (ExtType.isEmpty()) ui->FileTypeValue->setText(MediaFile->GetFileTypeStr()); else ui->FileTypeValue->setText(MediaFile->GetFileTypeStr()+QString("(%1)").arg(ExtType)); //**************** Video if ((MediaFile->ObjectType==OBJECTTYPE_VIDEOFILE)&&(((cVideoFile *)MediaFile)->VideoTrackNbr>0)) { ui->VideoTable->setUpdatesEnabled(false); ui->VideoTitleLabel->setVisible(true); ui->VideoTable->setVisible(true); DoInitTableWidget(ui->VideoTable,"#;Image Size;Image Format;Image Geometry;Codec;Frame Rate;Bitrate"); for (int i=0;i<((cVideoFile *)MediaFile)->VideoTrackNbr;i++) { QString TrackNum=QString("%1").arg(i); while (TrackNum.length()<3) TrackNum="0"+TrackNum; TrackNum="Video_"+TrackNum+":"; QColor Background=((i & 0x01)==0x01)?Qt::white:QColor(0xE0,0xE0,0xE0); ui->VideoTable->insertRow(ui->VideoTable->rowCount()); ui->VideoTable->setItem(ui->VideoTable->rowCount()-1,0,CreateItem(QString("%1").arg(i+1),Qt::AlignLeft|Qt::AlignVCenter,Background)); ui->VideoTable->setItem(ui->VideoTable->rowCount()-1,1,CreateItem(MediaFile->GetImageSizeStr(cBaseMediaFile::SIZEONLY),Qt::AlignCenter|Qt::AlignVCenter,Background)); ui->VideoTable->setItem(ui->VideoTable->rowCount()-1,2,CreateItem(MediaFile->GetImageSizeStr(cBaseMediaFile::FMTONLY),Qt::AlignCenter|Qt::AlignVCenter,Background)); ui->VideoTable->setItem(ui->VideoTable->rowCount()-1,3,CreateItem(MediaFile->GetImageSizeStr(cBaseMediaFile::GEOONLY),Qt::AlignCenter|Qt::AlignVCenter,Background)); ui->VideoTable->setItem(ui->VideoTable->rowCount()-1,4,CreateItem(GetInformationValue(TrackNum+"Codec",&TempExtProperties),Qt::AlignCenter|Qt::AlignVCenter,Background)); ui->VideoTable->setItem(ui->VideoTable->rowCount()-1,5,CreateItem(GetInformationValue(TrackNum+"Frame rate",&TempExtProperties),Qt::AlignCenter|Qt::AlignVCenter,Background)); ui->VideoTable->setItem(ui->VideoTable->rowCount()-1,6,CreateItem(GetInformationValue(TrackNum+"Bitrate",&TempExtProperties),Qt::AlignCenter|Qt::AlignVCenter,Background)); } DoResizeColumnsTableWidget(ui->VideoTable); ui->VideoTable->setUpdatesEnabled(true); } else { ui->VideoTitleLabel->setVisible(false); ui->VideoTable->setVisible(false); } //**************** Chapters if (((MediaFile->ObjectType==OBJECTTYPE_VIDEOFILE)&&(((cVideoFile *)MediaFile)->NbrChapters>0))||((MediaFile->ObjectType==OBJECTTYPE_FFDFILE)&&(((cffDProjectFile *)MediaFile)->NbrChapters>0))) { ui->ChapterTable->setUpdatesEnabled(false); ui->ChapterTitleLabel->setVisible(true); ui->ChapterTable->setVisible(true); int NbrChapter=(MediaFile->ObjectType==OBJECTTYPE_VIDEOFILE)?((cVideoFile *)MediaFile)->NbrChapters:((MediaFile->ObjectType==OBJECTTYPE_FFDFILE)?((cffDProjectFile *)MediaFile)->NbrChapters:0); if (MediaFile->ObjectType==OBJECTTYPE_FFDFILE) DoInitTableWidget(ui->ChapterTable,"#;Slide;Title;Start;End;Duration"); else DoInitTableWidget(ui->ChapterTable,"#;Title;Start;End;Duration"); for (int i=0;iChapterTable->insertRow(ui->ChapterTable->rowCount()); ui->ChapterTable->setItem(ui->ChapterTable->rowCount()-1,Col++,CreateItem(QString("%1").arg(i+1),Qt::AlignLeft|Qt::AlignVCenter,Background)); if (MediaFile->ObjectType==OBJECTTYPE_FFDFILE) { ui->ChapterTable->setItem(ui->ChapterTable->rowCount()-1,Col++,CreateItem(GetInformationValue(ChapterNum+"InSlide", &((cffDProjectFile *)MediaFile)->ChaptersProperties),Qt::AlignLeft|Qt::AlignVCenter,Background)); ui->ChapterTable->setItem(ui->ChapterTable->rowCount()-1,Col++,CreateItem(GetInformationValue(ChapterNum+"title", &((cffDProjectFile *)MediaFile)->ChaptersProperties),Qt::AlignLeft|Qt::AlignVCenter,Background)); ui->ChapterTable->setItem(ui->ChapterTable->rowCount()-1,Col++,CreateItem(GetInformationValue(ChapterNum+"Start", &((cffDProjectFile *)MediaFile)->ChaptersProperties),Qt::AlignLeft|Qt::AlignVCenter,Background)); ui->ChapterTable->setItem(ui->ChapterTable->rowCount()-1,Col++,CreateItem(GetInformationValue(ChapterNum+"End", &((cffDProjectFile *)MediaFile)->ChaptersProperties),Qt::AlignLeft|Qt::AlignVCenter,Background)); ui->ChapterTable->setItem(ui->ChapterTable->rowCount()-1,Col++,CreateItem(GetInformationValue(ChapterNum+"Duration",&((cffDProjectFile *)MediaFile)->ChaptersProperties),Qt::AlignLeft|Qt::AlignVCenter,Background)); } else { ui->ChapterTable->setItem(ui->ChapterTable->rowCount()-1,Col++,CreateItem(GetInformationValue(ChapterNum+"title", &TempExtProperties),Qt::AlignLeft|Qt::AlignVCenter,Background)); ui->ChapterTable->setItem(ui->ChapterTable->rowCount()-1,Col++,CreateItem(GetInformationValue(ChapterNum+"Start", &TempExtProperties),Qt::AlignLeft|Qt::AlignVCenter,Background)); ui->ChapterTable->setItem(ui->ChapterTable->rowCount()-1,Col++,CreateItem(GetInformationValue(ChapterNum+"End", &TempExtProperties),Qt::AlignLeft|Qt::AlignVCenter,Background)); ui->ChapterTable->setItem(ui->ChapterTable->rowCount()-1,Col++,CreateItem(GetInformationValue(ChapterNum+"Duration",&TempExtProperties),Qt::AlignLeft|Qt::AlignVCenter,Background)); } } DoResizeColumnsTableWidget(ui->ChapterTable); ui->ChapterTable->setUpdatesEnabled(true); } else { ui->ChapterTitleLabel->setVisible(false); ui->ChapterTable->setVisible(false); } //**************** Audio if (((MediaFile->ObjectType==OBJECTTYPE_VIDEOFILE)||(MediaFile->ObjectType==OBJECTTYPE_MUSICFILE))&&(((cVideoFile *)MediaFile)->AudioTrackNbr>0)) { ui->AudioTable->setUpdatesEnabled(false); ui->AudioTitleLabel->setVisible(true); ui->AudioTable->setVisible(true); if (MediaFile->ObjectType==OBJECTTYPE_VIDEOFILE) DoInitTableWidget(ui->AudioTable,"#;Language;Codec;Channels;Bitrate;Frequency;Title"); else DoInitTableWidget(ui->AudioTable,"#;Language;Codec;Channels;Bitrate;Frequency"); for (int i=0;i<((cVideoFile *)MediaFile)->AudioTrackNbr;i++) { QString TrackNum=QString("%1").arg(i); while (TrackNum.length()<3) TrackNum="0"+TrackNum; TrackNum="Audio_"+TrackNum+":"; QColor Background=((i & 0x01)==0x01)?Qt::white:QColor(0xE0,0xE0,0xE0); ui->AudioTable->insertRow(ui->AudioTable->rowCount()); ui->AudioTable->setItem(ui->AudioTable->rowCount()-1,0,CreateItem(QString("%1").arg(i+1),Qt::AlignLeft|Qt::AlignVCenter,Background)); ui->AudioTable->setItem(ui->AudioTable->rowCount()-1,1,CreateItem(GetInformationValue(TrackNum+"language",&TempExtProperties),Qt::AlignCenter|Qt::AlignVCenter,Background)); ui->AudioTable->setItem(ui->AudioTable->rowCount()-1,2,CreateItem(GetInformationValue(TrackNum+"Codec",&TempExtProperties),Qt::AlignCenter|Qt::AlignVCenter,Background)); ui->AudioTable->setItem(ui->AudioTable->rowCount()-1,3,CreateItem(GetInformationValue(TrackNum+"Channels",&TempExtProperties),Qt::AlignCenter|Qt::AlignVCenter,Background)); ui->AudioTable->setItem(ui->AudioTable->rowCount()-1,4,CreateItem(GetInformationValue(TrackNum+"Bitrate",&TempExtProperties),Qt::AlignCenter|Qt::AlignVCenter,Background)); ui->AudioTable->setItem(ui->AudioTable->rowCount()-1,5,CreateItem(GetInformationValue(TrackNum+"Frequency",&TempExtProperties),Qt::AlignCenter|Qt::AlignVCenter,Background)); if (MediaFile->ObjectType==OBJECTTYPE_VIDEOFILE) ui->AudioTable->setItem(ui->AudioTable->rowCount()-1,6,CreateItem(GetInformationValue(TrackNum+"title",&TempExtProperties),Qt::AlignLeft|Qt::AlignVCenter,Background)); } DoResizeColumnsTableWidget(ui->AudioTable); ui->AudioTable->setUpdatesEnabled(true); } else { ui->AudioTitleLabel->setVisible(false); ui->AudioTable->setVisible(false); } //**************** Additionnals ui->tableWidget->setUpdatesEnabled(false); #if QT_VERSION >= 0x050000 ui->tableWidget->verticalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); #else ui->tableWidget->verticalHeader()->setResizeMode(QHeaderView::ResizeToContents); #endif if (MediaFile->ObjectType==OBJECTTYPE_FFDFILE) { TempExtProperties.append(QString("%1##%2").arg(QApplication::translate("QCustomFolderTable","Image Geometry","Column header")).arg(MediaFile->GetImageSizeStr(cBaseMediaFile::GEOONLY))); TempExtProperties.append(QString("%1##%2").arg(QApplication::translate("QCustomFolderTable","Title","Column header")).arg(((cffDProjectFile *)MediaFile)->Title)); TempExtProperties.append(QString("%1##%2").arg(QApplication::translate("QCustomFolderTable","Artist","Column header")).arg(((cffDProjectFile *)MediaFile)->Author)); TempExtProperties.append(QString("%1##%2").arg(QApplication::translate("QCustomFolderTable","Album","Column header")).arg(((cffDProjectFile *)MediaFile)->Album)); TempExtProperties.append(QString("%1##%2").arg(QApplication::translate("QCustomFolderTable","Comment","Column header")).arg(((cffDProjectFile *)MediaFile)->Comment)); TempExtProperties.append(QString("%1##%2 (%3)").arg(QApplication::translate("QCustomFolderTable","Composer","Column header")).arg(((cffDProjectFile *)MediaFile)->Composer).arg(((cffDProjectFile *)MediaFile)->ffDRevision)); TempExtProperties.append(QString("%1##%2").arg(QApplication::translate("Variables","Project slide count")).arg(((cffDProjectFile *)MediaFile)->NbrSlide)); TempExtProperties.append(QString("%1##%2").arg(QApplication::translate("Variables","Short date")).arg(((cffDProjectFile *)MediaFile)->EventDate.toString(ApplicationConfig->ShortDateFormat))); } else if (MediaFile->RessourceKey!=-1) { MediaFile->GetChildFullInformationFromFile(NULL,&TempExtProperties); } for (int i=0;itableWidget->insertRow(ui->tableWidget->rowCount()); QStringList Value=TempExtProperties[i].split("##"); ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,0,new QTableWidgetItem(Value[0])); ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,1,new QTableWidgetItem(Value[1])); } DoResizeColumnsTableWidget(ui->tableWidget); ui->tableWidget->setUpdatesEnabled(true); } else { ui->VideoTitleLabel->setVisible(false); ui->VideoTable->setVisible(false); ui->ChapterTitleLabel->setVisible(false); ui->ChapterTable->setVisible(false); ui->AudioTitleLabel->setVisible(false); ui->AudioTable->setVisible(false); } } ffDiaporama/src/ffDiaporama/DlgImage/0000777000175000001440000000000012275647234017671 5ustar dominiqueusersffDiaporama/src/ffDiaporama/DlgImage/DlgImageCorrection.ui0000777000175000001440000001425312275647234023741 0ustar dominiqueusers DlgImageCorrection 0 0 746 450 740 450 Sans Serif 9 Image framing and correction 4 8 8 8 8 0 0 0 0 0 -1 Qt::Horizontal 2 Allows you to enable or disable the magnetic rulers. When rulers are enabled, the mouse will automatically snap to the edges of the photo, facilitating the framing. Rulers :/img/ruler_ok.png:/img/ruler_ok.png Export current map to a file Export map :/img/filesave.png:/img/filesave.png 0 0 Accept modification and exit dialog box &Ok :/img/action_ok.png:/img/action_ok.png true 0 0 20 0 20 16777215 Undo last action (CTRL+Z) Undo :/img/undo24.png:/img/undo24.png Ctrl+Z Cancel modification and exit dialog box &Cancel :/img/action_cancel.png:/img/action_cancel.png Show help about this dialogue box &Help :/img/help.png:/img/help.png OKBT CancelBt ffDiaporama/src/ffDiaporama/DlgImage/DlgImageCorrection.h0000777000175000001440000001002112275647233023537 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef DLGIMAGECORRECTION_H #define DLGIMAGECORRECTION_H // Basic inclusions (common to all files) #include "CustomCtrl/_QCustomDialog.h" #include "engine/_Diaporama.h" #include "DlgImage/wgt_QEditImage/wgt_QEditImage.h" #include "DlgImage/wgt_QEditVideo/wgt_QEditVideo.h" #include "DlgImage/wgt_QGMapsMap/wgt_QGMapsMap.h" namespace Ui { class DlgImageCorrection; } class DlgImageCorrection : public QCustomDialog { Q_OBJECT public: enum UNDOACTION_ID { UNDOACTION_INTERACTIVEMOVERESIZE, UNDOACTION_IMAGEEDITZONE, UNDOACTION_VIDEOPART, UNDOACTION_GMAPSMAPPART }; cBrushDefinition *CurrentBrush; cCompositionObject *CompoObject; ffd_GEOMETRY ffDPrjGeometry; // Project image geometry define in ffDiaporama project int VideoPosition; QString InitialFilteredString; int *BackgroundForm; bool StopMaj; bool IsFirstInitDone; int DefaultSpeedWave; QString UndoBrushFileName; int SavedBackgroundForm; explicit DlgImageCorrection(cCompositionObject *TheCurrentTextItem,int *BackgroundForm,cBrushDefinition *CurrentBrush,int TheVideoPosition,ffd_GEOMETRY TheffDPrjGeometry,int DefaultSpeedWave, cApplicationConfig *ApplicationConfig,QWidget *parent=0); ~DlgImageCorrection(); // function to be overloaded virtual void DoInitDialog(); // Initialise dialog virtual bool DoAccept(); // Call when user click on Ok button virtual void DoRejet(); // Call when user click on Cancel button virtual void PrepareGlobalUndo(); // Initiale Undo virtual void DoGlobalUndo(); // Apply Undo : call when user click on Cancel button virtual void AppendPartialUndo(int ActionType,QWidget *FocusWindow,bool ForceAdd); virtual void PreparePartialUndo(int ActionType,QDomElement root,bool DuplicateRessource); virtual void ApplyPartialUndo(int ActionType,QDomElement root); virtual void RefreshControls(); protected: virtual void resizeEvent(QResizeEvent *); virtual void showEvent(QShowEvent *); protected slots: virtual void DoPartialUndo(); void s_TabWidgetChanged(int); void RefreshImageObject(); private: void CreateImageTag(bool AllowChangeFile); void CreateVideoTag(); void CreateGMapsTag(); Ui::DlgImageCorrection *ui; QHBoxLayout *TabLayout; wgt_QEditImage *ImageWidget; wgt_QEditVideo *VideoWidget; wgt_QGMapsMap *GMapsWidget; }; #endif // DLGIMAGECORRECTION_H ffDiaporama/src/ffDiaporama/DlgImage/DlgImageCorrection.cpp0000777000175000001440000003502212275647233024102 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "DlgImageCorrection.h" #include "ui_DlgImageCorrection.h" #include #include #include #include int DefaultBackgroundForm=1; DlgImageCorrection::DlgImageCorrection(cCompositionObject *TheCompoObject,int *TheBackgroundForm,cBrushDefinition *TheCurrentBrush, int TheVideoPosition,ffd_GEOMETRY TheffDPrjGeometry,int TheDefaultSpeedWave, cApplicationConfig *ApplicationConfig,QWidget *parent): QCustomDialog(ApplicationConfig,parent),ui(new Ui::DlgImageCorrection) { ImageWidget =NULL; VideoWidget =NULL; GMapsWidget =NULL; ui->setupUi(this); OkBt =ui->OKBT; CancelBt =ui->CancelBt; HelpBt =ui->HelpBt; HelpFile ="0110"; UndoBt =ui->UndoBT; StopMaj =false; IsFirstInitDone =false; ffDPrjGeometry =TheffDPrjGeometry; CurrentBrush =TheCurrentBrush; CompoObject =TheCompoObject; BackgroundForm =TheBackgroundForm; VideoPosition =TheVideoPosition; DefaultSpeedWave=TheDefaultSpeedWave; if (!BackgroundForm) BackgroundForm=&DefaultBackgroundForm; SavedBackgroundForm=*BackgroundForm; } //==================================================================================================================== DlgImageCorrection::~DlgImageCorrection() { delete ui; // Deleting this make deletion of scene and all included object } //==================================================================================================================== // Initialise dialog void DlgImageCorrection::DoInitDialog() { // Set title of dialog switch (CurrentBrush->MediaObject->ObjectType) { case OBJECTTYPE_IMAGEFILE: case OBJECTTYPE_IMAGEVECTOR: case OBJECTTYPE_IMAGECLIPBOARD: setWindowTitle(QApplication::translate("DlgSlideProperties","Correct or reframe image", "Action title in slide edit dialog + dialog title of image edit dialog")); break; case OBJECTTYPE_VIDEOFILE: setWindowTitle(QApplication::translate("DlgSlideProperties","Correct, reframe or cut video", "Action title in slide edit dialog + dialog title of image edit dialog")); break; case OBJECTTYPE_GMAPSMAP: setWindowTitle(QApplication::translate("DlgSlideProperties","Correct, reframe or cut a Google Maps map", "Action title in slide edit dialog + dialog title of image edit dialog")); break; default: break; } TabLayout=new QHBoxLayout(ui->TabWidget); TabLayout->setSpacing(0); TabLayout->setObjectName("TabLayout"); TabLayout->setContentsMargins(0,0,0,0); bool AllowChangeFile=false; switch (CurrentBrush->MediaObject->ObjectType) { case OBJECTTYPE_IMAGEFILE: AllowChangeFile=true; CreateImageTag(AllowChangeFile); break; case OBJECTTYPE_IMAGEVECTOR: AllowChangeFile=true; CreateImageTag(AllowChangeFile); break; case OBJECTTYPE_IMAGECLIPBOARD: AllowChangeFile=false; CreateImageTag(AllowChangeFile); break; case OBJECTTYPE_GMAPSMAP: AllowChangeFile=false; CreateImageTag(AllowChangeFile); CreateGMapsTag(); break; case OBJECTTYPE_VIDEOFILE: AllowChangeFile=true; CreateImageTag(AllowChangeFile); CreateVideoTag(); break; default: break; // To avoid warning } if (!GMapsWidget) ui->ExportMapBT->setVisible(false); // Define common handler connect(ui->TabWidget,SIGNAL(currentChanged(int)),this,SLOT(s_TabWidgetChanged(int))); s_TabWidgetChanged(ui->TabWidget->currentIndex()); // To force WinFocus/LostFocus to tab widgets } //==================================================================================================================== void DlgImageCorrection::AppendPartialUndo(int ActionType,QWidget *FocusWindow,bool ForceAdd) { QCustomDialog::AppendPartialUndo(ActionType,FocusWindow,ForceAdd,ui->TabWidget->currentWidget()); } //==================================================================================================================== void DlgImageCorrection::DoPartialUndo() { if (UndoDataList.count()==0) { if (Undo!=NULL) DoGlobalUndo(); } else { sUndoData Data=UndoDataList.last(); UndoDataList.removeLast(); QDomDocument DomDocument("UNDO"); if (DomDocument.setContent(Data.Data,true)) { QDomElement root=DomDocument.documentElement(); if (root.tagName()=="UNDO-DATA") { if (Data.FocusTab) ui->TabWidget->setCurrentIndex(ui->TabWidget->indexOf(Data.FocusTab)); ApplyPartialUndo(Data.ActionType,root); } } if (Data.FocusWindow!=NULL) Data.FocusWindow->setFocus(); } if (UndoBt) UndoBt->setEnabled(UndoDataList.count()>0); } //==================================================================================================================== // Initiale Undo void DlgImageCorrection::PrepareGlobalUndo() { // Save objects before modification for cancel button UndoBrushFileName=CurrentBrush->MediaObject->FileName(); // Create xml document and root Undo=new QDomDocument(APPLICATION_NAME); QDomElement root=Undo->createElement("UNDO-DLG"); PreparePartialUndo(0,root,true); Undo->appendChild(root); // Add object to xml document } //==================================================================================================================== void DlgImageCorrection::PreparePartialUndo(int /*ActionType*/,QDomElement root,bool /*DuplicateRessource*/) { QString BrushFileName=CurrentBrush->MediaObject->FileName(); root.setAttribute("BrushFileName",BrushFileName); root.setAttribute("BackgroundForm",*BackgroundForm); // Save object CurrentBrush->SaveToXML(&root,"UNDO-DLG-OBJECT","",true,NULL,NULL,false); // Save object // if object have embeded ressource, then load mediaobject if (CurrentBrush->MediaObject->RessourceKey!=-1) { if (CurrentBrush->MediaObject->ObjectType==OBJECTTYPE_GMAPSMAP) CurrentBrush->MediaObject->SaveToXML(&root,"UNDO-DLG-OBJECT","",true,NULL,NULL,false); } // special case for video object if (CurrentBrush->MediaObject->ObjectType==OBJECTTYPE_VIDEOFILE) { root.setAttribute("StartPos", ((cVideoFile *)CurrentBrush->MediaObject)->StartPos.toString("HH:mm:ss.zzz")); // Start position (video only) root.setAttribute("EndPos", ((cVideoFile *)CurrentBrush->MediaObject)->EndPos.toString("HH:mm:ss.zzz")); // End position (video only) root.setAttribute("SoundVolume",QString("%1").arg(CurrentBrush->SoundVolume,0,'f')); // Volume of soundtrack (for video only) root.setAttribute("Deinterlace",CurrentBrush->Deinterlace?"1":"0"); // Deinterlace YADIF filter } } //==================================================================================================================== // Apply Undo : call when user click on Cancel button void DlgImageCorrection::DoGlobalUndo() { QDomElement root=Undo->documentElement(); if (root.tagName()=="UNDO-DLG") CurrentBrush->LoadFromXML(&root,"UNDO-DLG-OBJECT","",NULL,NULL,NULL,false); ApplyPartialUndo(0,root); } //==================================================================================================================== void DlgImageCorrection::ApplyPartialUndo(int ActionType,QDomElement root) { QString BrushFileName=root.attribute("BrushFileName"); *BackgroundForm=root.attribute("BackgroundForm").toInt(); // load object CurrentBrush->LoadFromXML(&root,"UNDO-DLG-OBJECT","",NULL,NULL,NULL,false); // if object have embeded ressource, then load mediaobject if (CurrentBrush->MediaObject->RessourceKey!=-1) CurrentBrush->MediaObject->LoadFromXML(&root,"UNDO-DLG-OBJECT","",NULL,NULL,NULL,false); // special case for video object if (CurrentBrush->MediaObject->ObjectType==OBJECTTYPE_VIDEOFILE) { ((cVideoFile *)CurrentBrush->MediaObject)->StartPos=QTime().fromString(root.attribute("StartPos")); ((cVideoFile *)CurrentBrush->MediaObject)->EndPos =QTime().fromString(root.attribute("EndPos")); CurrentBrush->SoundVolume =GetDoubleValue(root,"SoundVolume"); CurrentBrush->Deinterlace =root.attribute("Deinterlace")=="1"; } if ((BrushFileName!=CurrentBrush->MediaObject->FileName())&&(ImageWidget)) ImageWidget->ReloadFile(BrushFileName); RefreshControls(); if ((GMapsWidget)&&(ActionType==UNDOACTION_GMAPSMAPPART)) GMapsWidget->ResetDisplayMap(); } //==================================================================================================================== void DlgImageCorrection::resizeEvent(QResizeEvent *ev) { QCustomDialog::resizeEvent(ev); RefreshControls(); } //==================================================================================================================== void DlgImageCorrection::showEvent(QShowEvent *ev) { QCustomDialog::showEvent(ev); if (!IsFirstInitDone) { IsFirstInitDone =true; RefreshControls(); } } //==================================================================================================================== bool DlgImageCorrection::DoAccept() { if (ImageWidget) ImageWidget->DoAccept(); if (VideoWidget) VideoWidget->DoAccept(); if (GMapsWidget) GMapsWidget->DoAccept(); return true; } void DlgImageCorrection::DoRejet() { if (BackgroundForm) *BackgroundForm=SavedBackgroundForm; } //==================================================================================================================== void DlgImageCorrection::RefreshControls() { if (!IsFirstInitDone) return; // Embeded widget if ((ImageWidget)&&(ui->TabWidget->currentWidget()==ImageWidget)) ImageWidget->RefreshControls(); if ((VideoWidget)&&(ui->TabWidget->currentWidget()==VideoWidget)) VideoWidget->RefreshControls(); if ((GMapsWidget)&&(ui->TabWidget->currentWidget()==GMapsWidget)) GMapsWidget->RefreshControls(); } //==================================================================================================================== void DlgImageCorrection::s_TabWidgetChanged(int NewTab) { if ((ImageWidget)&&(NewTab==ui->TabWidget->indexOf(ImageWidget))) ImageWidget->WinFocus(); else if ((ImageWidget)&&(NewTab!=ui->TabWidget->indexOf(ImageWidget))) ImageWidget->LostFocus(); if ((VideoWidget)&&(NewTab==ui->TabWidget->indexOf(VideoWidget))) VideoWidget->WinFocus(); else if ((VideoWidget)&&(NewTab!=ui->TabWidget->indexOf(VideoWidget))) VideoWidget->LostFocus(); if ((GMapsWidget)&&(NewTab==ui->TabWidget->indexOf(GMapsWidget))) GMapsWidget->WinFocus(); else if ((GMapsWidget)&&(NewTab!=ui->TabWidget->indexOf(GMapsWidget))) GMapsWidget->LostFocus(); RefreshControls(); } //==================================================================================================================== void DlgImageCorrection::CreateImageTag(bool AllowChangeFile) { ImageWidget=new wgt_QEditImage(); ImageWidget->setObjectName("TabImage"); ImageWidget->DoInitWidget(this,CurrentBrush,ui->RulersBT,CompoObject,BackgroundForm,VideoPosition,ffDPrjGeometry,DefaultSpeedWave); ImageWidget->DoInitDialog(AllowChangeFile); TabLayout->addWidget(ImageWidget); QIcon ImageIcon; ImageIcon.addFile(":/img/EditImage.png",QSize(),QIcon::Normal,QIcon::Off); ui->TabWidget->addTab(ImageWidget,ImageIcon,QString()); ui->TabWidget->setTabText(ui->TabWidget->indexOf(ImageWidget),""); ui->TabWidget->setCurrentIndex(ui->TabWidget->indexOf(ImageWidget)); } //==================================================================================================================== void DlgImageCorrection::CreateVideoTag() { VideoWidget=new wgt_QEditVideo(); VideoWidget->setObjectName("TabVideo"); VideoWidget->DoInitWidget(this,CurrentBrush); VideoWidget->DoInitDialog(); TabLayout->addWidget(VideoWidget); QIcon VideoIcon; VideoIcon.addFile(":/img/EditMovie.png",QSize(),QIcon::Normal,QIcon::Off); ui->TabWidget->addTab(VideoWidget,VideoIcon,QString()); ui->TabWidget->setTabText(ui->TabWidget->indexOf(VideoWidget),""); ui->TabWidget->setCurrentIndex(ui->TabWidget->indexOf(VideoWidget)); connect(VideoWidget,SIGNAL(DoRefreshImageObject()),SLOT(RefreshImageObject())); } //==================================================================================================================== void DlgImageCorrection::CreateGMapsTag() { GMapsWidget=new wgt_QGMapsMap(); GMapsWidget->setObjectName("TabGMaps"); GMapsWidget->DoInitWidget(this,ui->ExportMapBT,CurrentBrush); GMapsWidget->DoInitDialog(); TabLayout->addWidget(GMapsWidget); QIcon VideoIcon; VideoIcon.addFile(":/img/EditGMaps.png",QSize(),QIcon::Normal,QIcon::Off); ui->TabWidget->addTab(GMapsWidget,VideoIcon,QString()); ui->TabWidget->setTabText(ui->TabWidget->indexOf(GMapsWidget),""); ui->TabWidget->setCurrentIndex(ui->TabWidget->indexOf(GMapsWidget)); connect(GMapsWidget,SIGNAL(DoRefreshImageObject()),SLOT(RefreshImageObject())); } //==================================================================================================================== void DlgImageCorrection::RefreshImageObject() { ImageWidget->ResetCachedImage(); } ffDiaporama/src/ffDiaporama/DlgImage/wgt_QGMapsMap/0000777000175000001440000000000012275647233022337 5ustar dominiqueusersffDiaporama/src/ffDiaporama/DlgImage/wgt_QGMapsMap/wgt_QGMapsMap.ui0000777000175000001440000006341312275647233025357 0ustar dominiqueusers wgt_QGMapsMap 0 0 699 404 0 0 Form 4 4 4 4 4 4 0 0 0 0 QFormLayout::AllNonFixedFieldsGrow Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 4 4 0 0 0 0 Map size: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Map type: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 Define the type of the map 0 0 Define the size of the map 0 0 Define the size of the image generated for the map Image size: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 QFrame::Box Qt::AlignCenter 4 QLayout::SetFixedSize 0 0 0 0 0 0 0 0 0 0 QLayout::SetFixedSize 0 0 0 0 0 0 Localizations Use Google Maps to select a location :/img/gmap_add.png:/img/gmap_add.png Edit current location :/img/action_edit.png:/img/action_edit.png Remove current location :/img/trash.png:/img/trash.png 0 0 0 114 16777215 114 QAbstractItemView::NoEditTriggers QAbstractItemView::SingleSelection QAbstractItemView::SelectRows false false false false Location 0 0 true Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 -42 279 275 QFormLayout::AllNonFixedFieldsGrow Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 2 2 0 0 0 0 true true Properties for all shots GPS Position form: Define a form for the GPS position Point Circle Rectangle Marker form: Define a form for the marker Rectangle Bubble Composition: Defined what information will be displayed in the marker Icon+Name+Address Icon+Name Icon Name Name+Address Address Size: Define the size of the marker and the GPS position Small Medium Large Huge Distance: Defined where to display the marker (the distance between the marker and the GPS position) Near Normal Far true true Properties for this shot Text color: 0 0 0 0 0 0 0 Sans Serif 9 Defines the color of the text 64 16 0 0 Background color: 0 0 0 0 0 0 0 Sans Serif 9 Defines the color of the background of the marker, of the GPS position and of the part between the two 64 16 0 0 Visibility: Defined if the marker is visible, half-visible (masked) or hidden Hide Masked Visible Line color: 0 0 0 0 0 0 0 Sans Serif 9 Defines the color of the border 64 16 0 0 cCColorComboBox QComboBox
../ffDiaporama_lib/cColorComboBox.h
cCustomLocationTable QTableWidget
DlgImage/wgt_QGMapsMap/cCustomLocationTable.h
MapTypeCB MapSizeCB ImageSizeCB LocationTable AddGMapsLocationBT EditLocationBT RemoveLocationBT scrollArea PointFormCB MarkerFormCB MarkerCompoCB MarkerSizeCB LineColorCB DistanceCB TextColorCB MarkerColorCB VisibilityCB
ffDiaporama/src/ffDiaporama/DlgImage/wgt_QGMapsMap/wgt_QGMapsMap.h0000777000175000001440000000671012275647233025166 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef WGT_QGMAPSMAP_H #define WGT_QGMAPSMAP_H // Basic inclusions (common to all files) #include "CustomCtrl/_QCustomDialog.h" #include "engine/_Diaporama.h" #include #include namespace Ui { class wgt_QGMapsMap; } class wgt_QGMapsMap : public QWidget { Q_OBJECT public: cBrushDefinition *CurrentBrush; QCustomDialog *ParentDialog; QPushButton *ExportMapBT; cGMapsMap *CurrentMap; bool StopMaj; explicit wgt_QGMapsMap(QWidget *parent = 0); ~wgt_QGMapsMap(); void DoInitWidget(QCustomDialog *ParentDialog,QPushButton *ExportMapBT,cBrushDefinition *CurrentBrush); void DoInitDialog(); void RefreshControls(); void WinFocus(); void LostFocus(); bool DoAccept(); // Call when user click on Ok button void UpdateDisplayMap(); void UpdateMapSizes(); void ResetDisplayMap(); int GetCurLocationIndex(); protected: virtual void resizeEvent(QResizeEvent *); private slots: void ExportMap(); void LocationSelectionChanged(); void RestartRequest(); void AddGMapsLocation(); void EditLocation(); void RemoveLocation(); void MapTypeChanged(int); void ImageSizeChanged(int); void MapSizeChanged(int); void DoubleClickedLocation(QModelIndex); void RequestGoogle(bool DuplicateRessource=true); void LineColorChanged(int); void MarkerColorChanged(int); void TextColorChanged(int); void PointFormChanged(int); void MarkerFormChanged(int); void MarkerSizeChanged(int); void MarkerCompoChanged(int); void VisibilityChanged(int); void DistanceChanged(int); signals: void DoRefreshImageObject(); private: Ui::wgt_QGMapsMap *ui; }; #endif // WGT_QGMAPSMAP_H ffDiaporama/src/ffDiaporama/DlgImage/wgt_QGMapsMap/wgt_QGMapsMap.cpp0000777000175000001440000006620212275647233025523 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "wgt_QGMapsMap.h" #include "ui_wgt_QGMapsMap.h" #include "DlgImage/DlgImageCorrection.h" #include "DlgGMapsLocation/DlgGMapsLocation.h" #include "DlgGMapsLocation/DlgGMapsGeneration.h" wgt_QGMapsMap::wgt_QGMapsMap(QWidget *parent):QWidget(parent),ui(new Ui::wgt_QGMapsMap) { ui->setupUi(this); StopMaj =false; CurrentMap=NULL; } //==================================================================================================================== wgt_QGMapsMap::~wgt_QGMapsMap() { delete ui; } //==================================================================================================================== void wgt_QGMapsMap::DoInitWidget(QCustomDialog *ParentDialog,QPushButton *ExportMapBT,cBrushDefinition *CurrentBrush) { this->ParentDialog=ParentDialog; this->CurrentBrush=CurrentBrush; this->ExportMapBT =ExportMapBT; CurrentMap=(cGMapsMap *)CurrentBrush->MediaObject; ui->LocationTable->CurrentMap=CurrentMap; ui->LocationTable->CurrentBrush=CurrentBrush; } //==================================================================================================================== void wgt_QGMapsMap::DoInitDialog() { // fill combo box ui->MapTypeCB->addItems(CurrentMap->GetMapTypeNames()); ui->ImageSizeCB->addItems(CurrentMap->GetImageSizeNames()); // define handler connect(ExportMapBT,SIGNAL(pressed()),SLOT(ExportMap())); connect(ui->AddGMapsLocationBT,SIGNAL(pressed()),SLOT(AddGMapsLocation())); connect(ui->EditLocationBT,SIGNAL(pressed()),SLOT(EditLocation())); connect(ui->RemoveLocationBT,SIGNAL(pressed()),SLOT(RemoveLocation())); connect(ui->MapTypeCB,SIGNAL(currentIndexChanged(int)),SLOT(MapTypeChanged(int))); connect(ui->ImageSizeCB,SIGNAL(currentIndexChanged(int)),SLOT(ImageSizeChanged(int))); connect(ui->MapSizeCB,SIGNAL(currentIndexChanged(int)),SLOT(MapSizeChanged(int))); connect(ui->LocationTable,SIGNAL(doubleClicked(QModelIndex)),SLOT(DoubleClickedLocation(QModelIndex))); connect(ui->LocationTable,SIGNAL(itemSelectionChanged()),SLOT(LocationSelectionChanged())); connect(ui->LineColorCB,SIGNAL(currentIndexChanged(int)),this,SLOT(LineColorChanged(int))); connect(ui->MarkerColorCB,SIGNAL(currentIndexChanged(int)),this,SLOT(MarkerColorChanged(int))); connect(ui->LineColorCB,SIGNAL(PopupClosed(int)),this,SLOT(LineColorChanged(int))); connect(ui->MarkerColorCB,SIGNAL(PopupClosed(int)),this,SLOT(MarkerColorChanged(int))); connect(ui->TextColorCB,SIGNAL(PopupClosed(int)),this,SLOT(TextColorChanged(int))); connect(ui->PointFormCB,SIGNAL(currentIndexChanged(int)),SLOT(PointFormChanged(int))); connect(ui->MarkerFormCB,SIGNAL(currentIndexChanged(int)),SLOT(MarkerFormChanged(int))); connect(ui->MarkerSizeCB,SIGNAL(currentIndexChanged(int)),SLOT(MarkerSizeChanged(int))); connect(ui->MarkerCompoCB,SIGNAL(currentIndexChanged(int)),SLOT(MarkerCompoChanged(int))); connect(ui->VisibilityCB,SIGNAL(currentIndexChanged(int)),SLOT(VisibilityChanged(int))); connect(ui->DistanceCB,SIGNAL(currentIndexChanged(int)),SLOT(DistanceChanged(int))); if ((!CurrentMap->RequestList.isEmpty())||((CurrentMap->List.count()>0)&&(!CurrentMap->IsMapValide))) QTimer::singleShot(LATENCY,this,SLOT(RestartRequest())); } //==================================================================================================================== void wgt_QGMapsMap::resizeEvent(QResizeEvent *ev) { QWidget::resizeEvent(ev); ResetDisplayMap(); } //==================================================================================================================== void wgt_QGMapsMap::WinFocus() { ResetDisplayMap(); } void wgt_QGMapsMap::LostFocus() { emit DoRefreshImageObject(); } bool wgt_QGMapsMap::DoAccept() { return true; } //==================================================================================================================== void wgt_QGMapsMap::LocationSelectionChanged() { RefreshControls(); } //==================================================================================================================== void wgt_QGMapsMap::RefreshControls() { if (StopMaj) return; StopMaj=true; ui->MapTypeCB->setCurrentIndex(CurrentMap->MapType); ui->ImageSizeCB->setCurrentIndex(CurrentMap->ImageSize); ui->LocationTable->setUpdatesEnabled(false); ui->LocationTable->setRowCount(CurrentMap->List.count()); ui->LocationTable->setUpdatesEnabled(true); // Fill Map Size CB UpdateMapSizes(); cLocation *CurLocation=(cLocation *)(GetCurLocationIndex()!=-1?CurrentMap->List[GetCurLocationIndex()]:NULL); cBrushDefinition::sMarker *CurMarker =(CurLocation?&CurrentBrush->Markers[GetCurLocationIndex()]:NULL); ui->MarkerSizeLabel->setEnabled(CurLocation); ui->MarkerSizeCB->setEnabled(CurLocation); ui->DistanceLabel->setEnabled(CurLocation); ui->DistanceCB->setEnabled(CurLocation); ui->LineColorLabel->setEnabled(CurLocation); ui->LineColorCB->setEnabled(CurLocation); ui->PointFormLabel->setEnabled(CurLocation); ui->PointFormCB->setEnabled(CurLocation); ui->MarkerFormLabel->setEnabled(CurLocation); ui->MarkerFormCB->setEnabled(CurLocation); ui->MarkerColorLabel->setEnabled(CurLocation); ui->MarkerColorCB->setEnabled(CurLocation); ui->TextColorLabel->setEnabled(CurLocation); ui->TextColorCB->setEnabled(CurLocation); ui->VisibilityLabel->setEnabled(CurLocation); ui->VisibilityCB->setEnabled(CurLocation); ui->MarkerCompoLabel->setEnabled(CurLocation); ui->MarkerCompoCB->setEnabled(CurLocation); if (CurLocation) { ui->MarkerSizeCB->setCurrentIndex(CurLocation->Size); ui->PointFormCB->setCurrentIndex(CurLocation->MarkerPointForm); ui->MarkerFormCB->setCurrentIndex(CurLocation->MarkerForm); ui->MarkerCompoCB->setCurrentIndex(CurLocation->MarkerCompo); ui->LineColorCB->SetCurrentColor(&CurMarker->LineColor); ui->TextColorCB->SetCurrentColor(&CurMarker->TextColor); ui->MarkerColorCB->SetCurrentColor(&CurMarker->MarkerColor); ui->VisibilityCB->setCurrentIndex(CurMarker->Visibility); ui->DistanceCB->setCurrentIndex(CurLocation->Distance); } ui->MapSizeCB->setEnabled(!CurrentMap->List.isEmpty()); ui->EditLocationBT->setEnabled(CurLocation); ui->RemoveLocationBT->setEnabled(CurrentMap->List.count()>0); ExportMapBT->setEnabled(CurrentMap->RequestList.isEmpty() && !CurrentMap->List.isEmpty()); StopMaj=false; } //==================================================================================================================== void wgt_QGMapsMap::ResetDisplayMap() { // Compute marker size for (int i=0;iList.count();i++) CurrentBrush->ComputeMarkerSize(CurrentMap->List[i],CurrentMap->GetCurrentImageSize()); // Setup map int H=ui->Map->size().height(); int W=int(double(16)*(double(H)/double(9))); if (W>ui->Map->size().width()) { W=ui->Map->size().width(); H=int(double(9)*(double(W)/double(16))); } QImage *ImgMap=CurrentBrush->MediaObject->ImageAt(false); CurrentBrush->AddMarkerToImage(ImgMap); QImage Map=ImgMap->scaledToHeight(H); delete ImgMap; ui->Map->setPixmap(QPixmap::fromImage(Map)); RefreshControls(); } //==================================================================================================================== void wgt_QGMapsMap::UpdateDisplayMap() { if (StopMaj) return; // Clear previous pending if (!CurrentMap->RequestList.isEmpty()) CurrentMap->RequestList.clear(); RequestGoogle(); } //==================================================================================================================== void wgt_QGMapsMap::UpdateMapSizes() { if (CurrentMap->IsMapValide) { ui->MapSizeCB->clear(); if (CurrentMap->List.count()>0) { QStringList AllSize =CurrentMap->GetMapSizesPerZoomLevel(); int MinZoomLevel=-1; int MaxZoomLevel=-1; for (int i=0;iMapSizeCB->addItem(AllSize[i],QVariant(i)); } if (CurrentMap->ZoomLevel>MaxZoomLevel) CurrentMap->ZoomLevel=MaxZoomLevel; if (CurrentMap->ZoomLevelZoomLevel=MinZoomLevel; for (int i=0;iMapSizeCB->count();i++) if (CurrentMap->ZoomLevel==ui->MapSizeCB->itemData(i)) ui->MapSizeCB->setCurrentIndex(i); ui->MapSizeCB->setEnabled(true); } } } //==================================================================================================================== void wgt_QGMapsMap::RestartRequest() { if (CustomMessageBox(this,QMessageBox::Question,APPLICATION_NAME, QApplication::translate("DlgGMapsLocation","The map has not been fully generated.\nDo you want to resume the generation now?"), QMessageBox::Yes|QMessageBox::No,QMessageBox::Yes)==QMessageBox::Yes) RequestGoogle(false); } void wgt_QGMapsMap::RequestGoogle(bool DuplicateRessource) { qlonglong PrevRessourceKey=CurrentMap->RessourceKey; DlgGMapsGeneration Dlg(CurrentBrush,CurrentMap,DuplicateRessource,ParentDialog->ApplicationConfig,this); Dlg.InitDialog(); Dlg.exec(); ParentDialog->ApplicationConfig->ImagesCache.RemoveImageObject(PrevRessourceKey,-1); ResetDisplayMap(); emit DoRefreshImageObject(); } //==================================================================================================================== void wgt_QGMapsMap::MapTypeChanged(int newtype) { if (StopMaj) return; ParentDialog->AppendPartialUndo(DlgImageCorrection::UNDOACTION_GMAPSMAPPART,ui->MapTypeCB,true,this,true); CurrentMap->MapType=(cGMapsMap::GMapsMapType)newtype; UpdateDisplayMap(); } //==================================================================================================================== void wgt_QGMapsMap::ImageSizeChanged(int newsize) { if (StopMaj) return; ParentDialog->AppendPartialUndo(DlgImageCorrection::UNDOACTION_GMAPSMAPPART,ui->ImageSizeCB,true,this,true); CurrentMap->ImageSize=(cGMapsMap::GMapsImageSize)newsize; UpdateDisplayMap(); } //==================================================================================================================== void wgt_QGMapsMap::MapSizeChanged(int newsize) { if (StopMaj) return; ParentDialog->AppendPartialUndo(DlgImageCorrection::UNDOACTION_GMAPSMAPPART,ui->MapSizeCB,true,this,true); CurrentMap->ZoomLevel=ui->MapSizeCB->itemData(newsize).toInt(); UpdateDisplayMap(); } //==================================================================================================================== #define FAVACTIONTYPE_ACTIONTYPE 0xF000 #define FAVACTIONTYPE_ADDFREE 0x1000 #define FAVACTIONTYPE_ADDPROJECT 0x2000 #define FAVACTIONTYPE_ADDCHAPTER 0x4000 #define FAVACTIONTYPE_SELECT 0x8000 void wgt_QGMapsMap::AddGMapsLocation() { if (StopMaj) return; QMenu *ContextMenu=new QMenu(this); bool AddSep =false; cLocation *Location =NULL; ContextMenu->addAction(CreateMenuAction(QIcon(":/img/gmap_add.png"), QApplication::translate("wgt_QGMapsMap","Add a location"), FAVACTIONTYPE_ADDFREE, false,false,this)); ContextMenu->addAction(CreateMenuAction(QIcon(":/img/ffdiaporama.png"), QApplication::translate("wgt_QGMapsMap","Add project's location"),FAVACTIONTYPE_ADDPROJECT,false,false,this)); ContextMenu->addAction(CreateMenuAction(QIcon(":/img/Chapter.png"), QApplication::translate("wgt_QGMapsMap","Add chapter's location"),FAVACTIONTYPE_ADDCHAPTER,false,false,this)); QSqlQuery Query(ParentDialog->ApplicationConfig->Database->db); QString QueryString("SELECT Key,Name,FAddress,Thumbnail FROM Location ORDER BY LOWER(Name)"); Query.prepare(QueryString); if (!Query.exec()) DisplayLastSQLError(&Query); else while (Query.next()) { bool Ret; qlonglong Key=Query.value(0).toLongLong(&Ret); if (Ret) { if (!AddSep) { ContextMenu->addSeparator(); AddSep=true; } QString Name =Query.value(1).toString(); QString Address=Query.value(2).toString(); QByteArray Data =Query.value(3).toByteArray(); QImage Thumb; Thumb.loadFromData(Data); ContextMenu->addAction(CreateMenuAction(QIcon(QPixmap().fromImage(Thumb)),QString("%1 (%2)").arg(Name).arg(Address),FAVACTIONTYPE_SELECT+Key,true,false,this)); } } QAction *Action=ContextMenu->exec(QCursor::pos()); if (Action) { int ActionType=Action->data().toInt() & FAVACTIONTYPE_ACTIONTYPE; if (ActionType==FAVACTIONTYPE_ADDPROJECT) { Location=new cLocation(ParentDialog->ApplicationConfig); Location->LocationType=cLocation::PROJECT; } else if (ActionType==FAVACTIONTYPE_ADDCHAPTER) { Location=new cLocation(ParentDialog->ApplicationConfig); Location->LocationType=cLocation::CHAPTER; } else if (ActionType==FAVACTIONTYPE_ADDFREE) { Location=new cLocation(ParentDialog->ApplicationConfig); DlgGMapsLocation Dlg(Location,ParentDialog->ApplicationConfig,this); Dlg.InitDialog(); if (Dlg.exec()!=0) { delete Location; Location=NULL; } } else if (Action->text()!="") { Location=new cLocation(ParentDialog->ApplicationConfig); Location->LoadFromFavorite(Action->data().toInt() & ~FAVACTIONTYPE_ACTIONTYPE); } } if (Location) { ParentDialog->AppendPartialUndo(DlgImageCorrection::UNDOACTION_GMAPSMAPPART,ui->LocationTable,true,this,true); ui->LocationTable->setUpdatesEnabled(false); CurrentMap->List.append(Location); cBrushDefinition::sMarker Marker; Marker.MarkerColor="#ffffff"; Marker.TextColor="#000000"; Marker.LineColor="#000000"; Marker.Visibility =cBrushDefinition::sMarker::MARKERSHOW; // Append this marker to all shots QObject *Object =CurrentBrush->CompositionObject; // cCompositionObject; int IndexKey=(Object?((cCompositionObject *)Object)->IndexKey:-1); bool Found =false; if (IndexKey!=-1) { while ((Object)&&(Object->objectName()!="cDiaporamaObject")) Object=Object->parent(); cDiaporamaObject *DiaporamaObject=(cDiaporamaObject *)Object; if (DiaporamaObject) for (int i=0;iList.count();i++) for (int j=0;jList[i]->ShotComposition.List.count();j++) { if (DiaporamaObject->List[i]->ShotComposition.List[j]->IndexKey==IndexKey) { Found=true; DiaporamaObject->List[i]->ShotComposition.List[j]->BackgroundBrush->Markers.append(Marker); } } } if (!Found) CurrentBrush->Markers.append(Marker); // if not shots found then add it directly to CurrentBrush ui->LocationTable->setRowCount(CurrentMap->List.count()); ui->LocationTable->setUpdatesEnabled(true); UpdateDisplayMap(); } ui->AddGMapsLocationBT->setDown(false); } //==================================================================================================================== void wgt_QGMapsMap::RemoveLocation() { if (StopMaj) return; int CurIndex=GetCurLocationIndex(); if (CurIndex!=-1) { ParentDialog->AppendPartialUndo(DlgImageCorrection::UNDOACTION_GMAPSMAPPART,ui->LocationTable,true,this,false); ui->LocationTable->setUpdatesEnabled(false); ui->LocationTable->setRowCount(CurrentMap->List.count()-1); delete (cLocation *)CurrentMap->List.takeAt(CurIndex); // Remove this marker from all shots QObject *Object =CurrentBrush->CompositionObject; // cCompositionObject; int IndexKey=(Object?((cCompositionObject *)Object)->IndexKey:-1); bool Found =false; if (IndexKey!=-1) { while ((Object)&&(Object->objectName()!="cDiaporamaObject")) Object=Object->parent(); cDiaporamaObject *DiaporamaObject=(cDiaporamaObject *)Object; if (DiaporamaObject) for (int i=0;iList.count();i++) for (int j=0;jList[i]->ShotComposition.List.count();j++) { if (DiaporamaObject->List[i]->ShotComposition.List[j]->IndexKey==IndexKey) { Found=true; DiaporamaObject->List[i]->ShotComposition.List[j]->BackgroundBrush->Markers.removeAt(CurIndex); } } } if (!Found) CurrentBrush->Markers.removeAt(CurIndex); // if not shots found then remove it directly from CurrentBrush ui->LocationTable->setUpdatesEnabled(true); if ((CurrentMap->List.count()>0)&&(CurrentMap->IsMapValide)) ResetDisplayMap(); else UpdateDisplayMap(); } } //==================================================================================================================== void wgt_QGMapsMap::EditLocation() { DoubleClickedLocation(QModelIndex()); } //==================================================================================================================== int wgt_QGMapsMap::GetCurLocationIndex() { QModelIndexList SelList=ui->LocationTable->selectionModel()->selectedIndexes(); int CurIndex=-1; if (!SelList.isEmpty()) CurIndex=SelList.at(0).row(); if ((CurIndex<0)||(CurIndex>=CurrentMap->List.count())) return -1; return CurIndex; } //==================================================================================================================== void wgt_QGMapsMap::DoubleClickedLocation(QModelIndex) { if (StopMaj) return; int CurIndex=GetCurLocationIndex(); if (CurIndex!=-1) { cLocation *CurLocation=((cLocation *)CurrentMap->List.at(CurIndex)); if (CurLocation->LocationType==cLocation::FREE) { double GPSxOld=CurLocation->GPS_cx; double GPSyOld=CurLocation->GPS_cy; ParentDialog->AppendPartialUndo(DlgImageCorrection::UNDOACTION_GMAPSMAPPART,ui->LocationTable,true,this,true); DlgGMapsLocation Dlg(CurLocation,ParentDialog->ApplicationConfig,this); Dlg.InitDialog(); if (Dlg.exec()==0) { ui->LocationTable->setUpdatesEnabled(false); ui->LocationTable->setUpdatesEnabled(true); if ((GPSxOld!=CurLocation->GPS_cx)||(GPSyOld!=CurLocation->GPS_cy)) UpdateDisplayMap(); else ResetDisplayMap(); // if same GPS position, only redraw markers } else ParentDialog->RemoveLastPartialUndo(); } } } //==================================================================================================================== void wgt_QGMapsMap::LineColorChanged(int) { if ((StopMaj)||(ui->LineColorCB->IsPopupOpen)) return; int Index=GetCurLocationIndex(); if ((Index<0)||(Index>=CurrentMap->List.count())) return; ParentDialog->AppendPartialUndo(DlgImageCorrection::UNDOACTION_GMAPSMAPPART,ui->LineColorCB,false,this,false); CurrentBrush->Markers[Index].LineColor=ui->LineColorCB->GetCurrentColor(); if (!ui->MarkerColorCB->IsPopupOpen) { StopMaj=true; ui->LineColorCB->SetCurrentColor(&CurrentBrush->Markers[Index].LineColor); StopMaj=false; ResetDisplayMap(); ui->LocationTable->setUpdatesEnabled(false); ui->LocationTable->setUpdatesEnabled(true); } } //==================================================================================================================== void wgt_QGMapsMap::MarkerColorChanged(int) { if (StopMaj) return; int Index=GetCurLocationIndex(); if ((Index<0)||(Index>=CurrentMap->List.count())) return; ParentDialog->AppendPartialUndo(DlgImageCorrection::UNDOACTION_GMAPSMAPPART,ui->MarkerColorCB,false,this,false); CurrentBrush->Markers[Index].MarkerColor=ui->MarkerColorCB->GetCurrentColor(); if (!ui->MarkerColorCB->IsPopupOpen) { StopMaj=true; ui->MarkerColorCB->SetCurrentColor(&CurrentBrush->Markers[Index].MarkerColor); StopMaj=false; ResetDisplayMap(); ui->LocationTable->setUpdatesEnabled(false); ui->LocationTable->setUpdatesEnabled(true); } } //==================================================================================================================== void wgt_QGMapsMap::TextColorChanged(int) { if (StopMaj) return; int Index=GetCurLocationIndex(); if ((Index<0)||(Index>=CurrentMap->List.count())) return; ParentDialog->AppendPartialUndo(DlgImageCorrection::UNDOACTION_GMAPSMAPPART,ui->TextColorCB,false,this,false); CurrentBrush->Markers[Index].TextColor=ui->TextColorCB->GetCurrentColor(); if (!ui->MarkerColorCB->IsPopupOpen) { StopMaj=true; ui->TextColorCB->SetCurrentColor(&CurrentBrush->Markers[Index].TextColor); StopMaj=false; ResetDisplayMap(); ui->LocationTable->setUpdatesEnabled(false); ui->LocationTable->setUpdatesEnabled(true); } } //==================================================================================================================== void wgt_QGMapsMap::PointFormChanged(int newform) { if (StopMaj) return; int Index=GetCurLocationIndex(); if ((Index<0)||(Index>=CurrentMap->List.count())) return; ParentDialog->AppendPartialUndo(DlgImageCorrection::UNDOACTION_GMAPSMAPPART,ui->PointFormCB,true,this,true); ((cLocation *)CurrentMap->List[Index])->MarkerPointForm=(cLocation::MARKERPOINT)newform; ResetDisplayMap(); } //==================================================================================================================== void wgt_QGMapsMap::MarkerFormChanged(int newform) { if (StopMaj) return; int Index=GetCurLocationIndex(); if ((Index<0)||(Index>=CurrentMap->List.count())) return; ParentDialog->AppendPartialUndo(DlgImageCorrection::UNDOACTION_GMAPSMAPPART,ui->MarkerFormCB,true,this,true); ((cLocation *)CurrentMap->List[Index])->MarkerForm=(cLocation::MARKERFORM)newform; ResetDisplayMap(); } //==================================================================================================================== void wgt_QGMapsMap::MarkerSizeChanged(int newsize) { if (StopMaj) return; int Index=GetCurLocationIndex(); if ((Index<0)||(Index>=CurrentMap->List.count())) return; ParentDialog->AppendPartialUndo(DlgImageCorrection::UNDOACTION_GMAPSMAPPART,ui->MarkerSizeCB,true,this,true); ((cLocation *)CurrentMap->List[Index])->Size=(cBrushDefinition::sMarker::MARKERSIZE)newsize; ResetDisplayMap(); } //==================================================================================================================== void wgt_QGMapsMap::MarkerCompoChanged(int newcompo) { if (StopMaj) return; int Index=GetCurLocationIndex(); if ((Index<0)||(Index>=CurrentMap->List.count())) return; ParentDialog->AppendPartialUndo(DlgImageCorrection::UNDOACTION_GMAPSMAPPART,ui->MarkerCompoCB,true,this,true); ((cLocation *)CurrentMap->List[Index])->MarkerCompo=(cLocation::MARKERCOMPO)newcompo; ResetDisplayMap(); } //==================================================================================================================== void wgt_QGMapsMap::VisibilityChanged(int newvisibility) { if (StopMaj) return; int Index=GetCurLocationIndex(); if ((Index<0)||(Index>=CurrentMap->List.count())) return; ParentDialog->AppendPartialUndo(DlgImageCorrection::UNDOACTION_GMAPSMAPPART,ui->VisibilityCB,true,this,true); CurrentBrush->Markers[Index].Visibility=(cBrushDefinition::sMarker::MARKERVISIBILITY)newvisibility; ResetDisplayMap(); } //==================================================================================================================== void wgt_QGMapsMap::DistanceChanged(int newdistance) { if (StopMaj) return; int Index=GetCurLocationIndex(); if ((Index<0)||(Index>=CurrentMap->List.count())) return; ParentDialog->AppendPartialUndo(DlgImageCorrection::UNDOACTION_GMAPSMAPPART,ui->DistanceCB,true,this,true); ((cLocation *)CurrentMap->List[Index])->Distance=(cLocation::MARKERDISTANCE)newdistance; ResetDisplayMap(); } //==================================================================================================================== void wgt_QGMapsMap::ExportMap() { QString OutputFileName=QDir::toNativeSeparators(ParentDialog->ApplicationConfig->SettingsTable->GetTextValue(QString("%1_path").arg(BrowserTypeDef[BROWSER_TYPE_CAPTUREIMAGE].BROWSERString),DefaultProjectPath)); QString Filter="PNG (*.png)"; if (!OutputFileName.endsWith(QDir::separator())) OutputFileName=OutputFileName+QDir::separator(); OutputFileName=OutputFileName+QApplication::translate("MainWindow","Capture image"); OutputFileName=QFileDialog::getSaveFileName(this,QApplication::translate("MainWindow","Select destination file"),OutputFileName,"PNG (*.png);;JPG (*.jpg)",&Filter); if (OutputFileName!="") { if (ParentDialog->ApplicationConfig->RememberLastDirectories) ParentDialog->ApplicationConfig->SettingsTable->SetTextValue(QString("%1_path").arg(BrowserTypeDef[BROWSER_TYPE_CAPTUREIMAGE].BROWSERString),QFileInfo(OutputFileName).absolutePath()); // Keep folder for next use if ((Filter.toLower().indexOf("png")!=-1)&&(!OutputFileName.endsWith(".png"))) OutputFileName=OutputFileName+".png"; if ((Filter.toLower().indexOf("jpg")!=-1)&&(!OutputFileName.endsWith(".jpg"))) OutputFileName=OutputFileName+".jpg"; QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); QImage *ImgMap=CurrentBrush->MediaObject->ImageAt(false); QApplication::restoreOverrideCursor(); if (CustomMessageBox(this,QMessageBox::Question,APPLICATION_NAME, QApplication::translate("wgt_QGMapsMap","Do you want include the markers on the map?"), QMessageBox::Yes|QMessageBox::No,QMessageBox::Yes)==QMessageBox::Yes) CurrentBrush->AddMarkerToImage(ImgMap); QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); ImgMap->save(OutputFileName); QApplication::restoreOverrideCursor(); delete ImgMap; } } ffDiaporama/src/ffDiaporama/DlgImage/wgt_QGMapsMap/cCustomLocationTable.h0000777000175000001440000000273312275647233026576 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef CCUSTOMLOCATIONTABLE_H #define CCUSTOMLOCATIONTABLE_H // Basic inclusions (common to all files) #include "CustomCtrl/_QCustomDialog.h" #include "engine/_Diaporama.h" class cCustomLocationTable : public QTableWidget { Q_OBJECT public: cGMapsMap *CurrentMap; cBrushDefinition *CurrentBrush; explicit cCustomLocationTable(QWidget *parent = 0); signals: public slots: }; #endif // CCUSTOMLOCATIONTABLE_H ffDiaporama/src/ffDiaporama/DlgImage/wgt_QGMapsMap/cCustomLocationTable.cpp0000777000175000001440000001117712275647233027133 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "cCustomLocationTable.h" #include "engine/cLocation.h" //******************************************************************************************************** // QCustomFolderTable //******************************************************************************************************** class QCustomLocationItemDelegate : public QStyledItemDelegate { //Q_OBJECT public: cCustomLocationTable *ParentTable; explicit QCustomLocationItemDelegate(QObject *parent); virtual void paint(QPainter *painter,const QStyleOptionViewItem &option,const QModelIndex &index) const; }; //======================================================================================================================== QCustomLocationItemDelegate::QCustomLocationItemDelegate(QObject *parent):QStyledItemDelegate(parent) { ParentTable=(cCustomLocationTable *)parent; } //======================================================================================================================== #define ICON_SHOW ":/img/Visible_OK.png" #define ICON_MASK ":/img/Visible_MASK.png" #define ICON_HIDE ":/img/Visible_KO.png" void QCustomLocationItemDelegate::paint(QPainter *Painter,const QStyleOptionViewItem &option,const QModelIndex &index) const { if (!ParentTable->CurrentMap) return; if ((index.row()>ParentTable->CurrentMap->List.count())||(index.row()>=ParentTable->CurrentBrush->Markers.count())) return; QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); Painter->fillRect(option.rect,QBrush(QColor(ParentTable->CurrentBrush->Markers[index.row()].MarkerColor),Qt::SolidPattern)); ParentTable->CurrentBrush->DrawMarker(Painter,option.rect.topLeft(),index.row(),cBrushDefinition::sMarker::MARKERTABLE,option.rect.size(),cBrushDefinition::sMarker::MEDIUM,true); switch (ParentTable->CurrentBrush->Markers[index.row()].Visibility) { case cBrushDefinition::sMarker::MARKERHIDE: Painter->drawImage(option.rect.left()+2,option.rect.top()+2,QImage(ICON_HIDE).scaledToHeight(16)); break; case cBrushDefinition::sMarker::MARKERSHADE: Painter->drawImage(option.rect.left()+2,option.rect.top()+2,QImage(ICON_MASK).scaledToHeight(16)); break; default: case cBrushDefinition::sMarker::MARKERSHOW: Painter->drawImage(option.rect.left()+2,option.rect.top()+2,QImage(ICON_SHOW).scaledToHeight(16)); break; } // Selection mode (Note: MouseOver is removed because it works correctly only on KDE !) if (option.state & QStyle::State_Selected) { Painter->setPen(QPen(Qt::NoPen)); Painter->setBrush(QBrush(Qt::blue)); Painter->setOpacity(0.25); Painter->drawRect(option.rect.x(),option.rect.y(),option.rect.width(),option.rect.height()); Painter->setOpacity(1); } QApplication::restoreOverrideCursor(); } //******************************************************************************************************** // cCustomLocationTable //******************************************************************************************************** cCustomLocationTable::cCustomLocationTable(QWidget *parent):QTableWidget(parent) { CurrentMap=NULL; CurrentBrush=NULL; setShowGrid(true); setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); setSelectionBehavior(QAbstractItemView::SelectRows); horizontalHeader()->setStretchLastSection(true); verticalHeader()->setStretchLastSection(false); setItemDelegate((QAbstractItemDelegate *)new QCustomLocationItemDelegate(this)); verticalHeader()->setDefaultSectionSize(38); } ffDiaporama/src/ffDiaporama/DlgImage/wgt_QEditVideo/0000777000175000001440000000000012275647234022547 5ustar dominiqueusersffDiaporama/src/ffDiaporama/DlgImage/wgt_QEditVideo/wgt_QEditVideo.ui0000777000175000001440000002172112275647234025772 0ustar dominiqueusers wgt_QEditVideo 0 0 581 300 EditVideoWidget 4 4 4 4 4 0 0 2 0 0 0 0 Start : Move to start position ... :/img/player_rew.png:/img/player_rew.png Use current position as start position ... :/img/PosStart.png:/img/PosStart.png 0 0 Define the start position to use QAbstractSpinBox::PlusMinus HH:mm:ss.zzz 0 0 End : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 Define the end position to use QAbstractSpinBox::PlusMinus QDateTimeEdit::HourSection HH:mm:ss.zzz Use current position as end position ... :/img/PosEnd.png:/img/PosEnd.png Move to end position ... :/img/player_fwd.png:/img/player_fwd.png 0 0 Duration : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter QFrame::Box 00:00:00.000 2 0 0 0 0 0 0 Volume : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 Select the " Master Volume " for the movie -1 Qt::Horizontal 40 20 Allows you to activate the deinterlace filter Deinterlace video wgt_QVideoPlayer QWidget
wgt_QVideoPlayer/wgt_QVideoPlayer.h
1
ffDiaporama/src/ffDiaporama/DlgImage/wgt_QEditVideo/wgt_QEditVideo.h0000777000175000001440000000502012275647234025576 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef WGT_QEDITVIDEO_H #define WGT_QEDITVIDEO_H // Basic inclusions (common to all files) #include "engine/_GlobalDefines.h" #include "CustomCtrl/_QCustomDialog.h" #include "engine/_Diaporama.h" namespace Ui { class wgt_QEditVideo; } class wgt_QEditVideo : public QWidget { Q_OBJECT public: cBrushDefinition *CurrentBrush; QCustomDialog *ParentDialog; bool StopMaj; explicit wgt_QEditVideo(QWidget *parent = 0); ~wgt_QEditVideo(); void DoInitWidget(QCustomDialog *ParentDialog,cBrushDefinition *CurrentBrush); void DoInitDialog(); void RefreshControls(); void WinFocus(); void LostFocus(); bool DoAccept() {return true;} // Call when user click on Ok button private slots: void s_Event_SaveImageEvent(); void s_DefStartPos(); void s_DefEndPos(); void s_SeekLeft(); void s_SeekRight(); void s_EditStartPos(QTime NewValue); void s_EditEndPos(QTime NewValue); void s_MusicReduceFactorChange(int); void s_Deinterlace(int); signals: void DoRefreshImageObject(); private: Ui::wgt_QEditVideo *ui; }; #endif // WGT_QEDITVIDEO_H ffDiaporama/src/ffDiaporama/DlgImage/wgt_QEditVideo/wgt_QEditVideo.cpp0000777000175000001440000002406112275647234026137 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "wgt_QEditVideo.h" #include "ui_wgt_QEditVideo.h" #include "DlgImage/DlgImageCorrection.h" //==================================================================================================================== wgt_QEditVideo::wgt_QEditVideo(QWidget *parent):QWidget(parent),ui(new Ui::wgt_QEditVideo) { ui->setupUi(this); StopMaj=false; } //==================================================================================================================== wgt_QEditVideo::~wgt_QEditVideo() { delete ui; } //==================================================================================================================== void wgt_QEditVideo::DoInitWidget(QCustomDialog *ParentDialog,cBrushDefinition *CurrentBrush) { this->ParentDialog =ParentDialog; this->CurrentBrush =CurrentBrush; ui->VideoPlayer->ApplicationConfig =ParentDialog->ApplicationConfig; ui->SeekLeftBt->setIcon(QApplication::style()->standardIcon(QStyle::SP_MediaSkipBackward)); ui->SeekRightBt->setIcon(QApplication::style()->standardIcon(QStyle::SP_MediaSkipForward)); } //==================================================================================================================== void wgt_QEditVideo::DoInitDialog() { // Init embeded widgets for (int Factor=150;Factor>=0;Factor-=10) ui->VolumeReductionFactorCB->addItem(QString("%1%").arg(Factor)); // Define specifique handler for video connect(ui->VolumeReductionFactorCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_MusicReduceFactorChange(int))); connect(ui->DefStartPosBT,SIGNAL(clicked()),this,SLOT(s_DefStartPos())); connect(ui->DefEndPosBT,SIGNAL(clicked()),this,SLOT(s_DefEndPos())); connect(ui->SeekLeftBt,SIGNAL(clicked()),this,SLOT(s_SeekLeft())); connect(ui->SeekRightBt,SIGNAL(clicked()),this,SLOT(s_SeekRight())); connect(ui->DeinterlaceBt,SIGNAL(stateChanged(int)),this,SLOT(s_Deinterlace(int))); connect(ui->StartPosEd,SIGNAL(timeChanged(QTime)),this,SLOT(s_EditStartPos(QTime))); connect(ui->EndPosEd,SIGNAL(timeChanged(QTime)),this,SLOT(s_EditEndPos(QTime))); connect(ui->VideoPlayer,SIGNAL(SaveImageEvent()),this,SLOT(s_Event_SaveImageEvent())); ui->VideoPlayer->StartPlay(((cVideoFile *)CurrentBrush->MediaObject),ParentDialog->ApplicationConfig->PreviewFPS); ui->EndPosEd->setMaximumTime(((cVideoFile *)CurrentBrush->MediaObject)->Duration); RefreshControls(); } //==================================================================================================================== void wgt_QEditVideo::WinFocus() { ui->VideoPlayer->SetPlayerToPlay(); } void wgt_QEditVideo::LostFocus() { ui->VideoPlayer->SetPlayerToPause(); } //==================================================================================================================== void wgt_QEditVideo::RefreshControls() { if (StopMaj) return; StopMaj=true; QTime Duration=QTime(0,0,0,0).addMSecs(((cVideoFile *)CurrentBrush->MediaObject)->StartPos.msecsTo(((cVideoFile *)CurrentBrush->MediaObject)->EndPos)); ui->DeinterlaceBt->setChecked(CurrentBrush->Deinterlace); ui->ActualDuration->setText(Duration.toString("hh:mm:ss.zzz")); ui->StartPosEd->setMaximumTime(((cVideoFile *)CurrentBrush->MediaObject)->EndPos); ui->StartPosEd->setTime(((cVideoFile *)CurrentBrush->MediaObject)->StartPos); ui->EndPosEd->setMinimumTime(((cVideoFile *)CurrentBrush->MediaObject)->StartPos); ui->EndPosEd->setTime(((cVideoFile *)CurrentBrush->MediaObject)->EndPos); ui->VolumeReductionFactorCB->setCurrentIndex(ui->VolumeReductionFactorCB->findText(QString("%1%").arg(int(CurrentBrush->SoundVolume*100)))); ui->VideoPlayer->SetStartEndPos(QTime(0,0,0,0).msecsTo(((cVideoFile *)CurrentBrush->MediaObject)->StartPos), QTime(0,0,0,0).msecsTo(((cVideoFile *)CurrentBrush->MediaObject)->EndPos)-QTime(0,0,0,0).msecsTo(((cVideoFile *)CurrentBrush->MediaObject)->StartPos), -1,0,-1,0); ui->VideoPlayer->Deinterlace=CurrentBrush->Deinterlace; StopMaj=false; } //==================================================================================================================== void wgt_QEditVideo::s_Deinterlace(int) { if (StopMaj) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_VIDEOPART,ui->VolumeReductionFactorCB,true); CurrentBrush->Deinterlace=ui->DeinterlaceBt->isChecked(); RefreshControls(); } //==================================================================================================================== void wgt_QEditVideo::s_Event_SaveImageEvent() { ui->VideoPlayer->SetPlayerToPause(); QString OutputFileName=ParentDialog->ApplicationConfig->SettingsTable->GetTextValue(QString("%1_path").arg(BrowserTypeDef[BROWSER_TYPE_CAPTUREIMAGE].BROWSERString),DefaultCaptureImage); QString Filter="PNG (*.png)"; if (!OutputFileName.endsWith(QDir::separator())) OutputFileName=OutputFileName+QDir::separator(); OutputFileName=OutputFileName+QApplication::translate("MainWindow","Capture image"); OutputFileName=QFileDialog::getSaveFileName(this,QApplication::translate("MainWindow","Select destination file"),OutputFileName,"PNG (*.png);;JPG (*.jpg)",&Filter); if (OutputFileName!="") { if (ParentDialog->ApplicationConfig->RememberLastDirectories) ParentDialog->ApplicationConfig->SettingsTable->SetTextValue(QString("%1_path").arg(BrowserTypeDef[BROWSER_TYPE_CAPTUREIMAGE].BROWSERString),QFileInfo(OutputFileName).absolutePath()); // Keep folder for next use if ((Filter.toLower().indexOf("png")!=-1)&&(!OutputFileName.endsWith(".png"))) OutputFileName=OutputFileName+".png"; if ((Filter.toLower().indexOf("jpg")!=-1)&&(!OutputFileName.endsWith(".jpg"))) OutputFileName=OutputFileName+".jpg"; QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); QImage *Image=((cVideoFile *)CurrentBrush->MediaObject)->ImageAt(false,ui->VideoPlayer->ActualPosition,NULL,CurrentBrush->Deinterlace,1,false,true); Image->save(OutputFileName,0,100); QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); delete Image; } } //==================================================================================================================== void wgt_QEditVideo::s_MusicReduceFactorChange(int) { if (StopMaj) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_VIDEOPART,ui->VolumeReductionFactorCB,true); QString Volume=ui->VolumeReductionFactorCB->currentText(); if (Volume!="") Volume=Volume.left(Volume.length()-1); // Remove % CurrentBrush->SoundVolume=double(Volume.toInt())/100; RefreshControls(); } //==================================================================================================================== void wgt_QEditVideo::s_DefStartPos() { if (StopMaj) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_VIDEOPART,ui->StartPosEd,true); ((cVideoFile *)CurrentBrush->MediaObject)->StartPos=ui->VideoPlayer->GetCurrentPos(); RefreshControls(); emit DoRefreshImageObject(); } //==================================================================================================================== void wgt_QEditVideo::s_EditStartPos(QTime NewValue) { if (StopMaj) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_VIDEOPART,ui->StartPosEd,false); ((cVideoFile *)CurrentBrush->MediaObject)->StartPos=NewValue; RefreshControls(); emit DoRefreshImageObject(); } //==================================================================================================================== void wgt_QEditVideo::s_DefEndPos() { if (StopMaj) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_VIDEOPART,ui->EndPosEd,true); ((cVideoFile *)CurrentBrush->MediaObject)->EndPos=ui->VideoPlayer->GetCurrentPos(); RefreshControls(); } //==================================================================================================================== void wgt_QEditVideo::s_EditEndPos(QTime NewValue) { if (StopMaj) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_VIDEOPART,ui->EndPosEd,false); ((cVideoFile *)CurrentBrush->MediaObject)->EndPos=NewValue; ui->EndPosEd->setTime(((cVideoFile *)CurrentBrush->MediaObject)->EndPos); RefreshControls(); } //==================================================================================================================== void wgt_QEditVideo::s_SeekLeft() { ui->VideoPlayer->SeekPlayer(QTime(0,0,0,0).msecsTo(((cVideoFile *)CurrentBrush->MediaObject)->StartPos)); ui->VideoPlayer->SetPlayerToPause(); } //==================================================================================================================== void wgt_QEditVideo::s_SeekRight() { ui->VideoPlayer->SeekPlayer(QTime(0,0,0,0).msecsTo(((cVideoFile *)CurrentBrush->MediaObject)->EndPos)); ui->VideoPlayer->SetPlayerToPause(); } ffDiaporama/src/ffDiaporama/DlgImage/wgt_QEditImage/0000777000175000001440000000000012275647234022523 5ustar dominiqueusersffDiaporama/src/ffDiaporama/DlgImage/wgt_QEditImage/wgt_QEditImageimage.ui0000777000175000001440000026330612275647234026734 0ustar dominiqueusers wgt_QEditImage 0 0 718 493 EditImageWidget 4 4 4 4 4 2 0 0 0 0 0 0 0 0 true VideoPositionLabel Qt::AlignCenter 2 0 0 :/img/Image_File.png false Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 Name of image/video file true Select another file ... :/img/FolderOpen.png:/img/FolderOpen.png 0 0 350 0 QFrame::Box QFrame::Raised Qt::ScrollBarAlwaysOn Qt::ScrollBarAlwaysOff true 0 0 334 1022 0 0 0 0 0 0 2 Allows you to activate the negative filter. Negative 0 0 0 10 0 0 0 :/img/PosSize_Width.png 0 0 0 24 Adjust value for frequency of wave transformation 0 100 1 10 Qt::Horizontal QSlider::TicksBelow 10 Reset to 1 :/img/undo.png:/img/undo.png 0 0 0 24 Adjust green channel -250 250 Qt::Horizontal QSlider::TicksBelow 50 0 0 Adjust blue channel QAbstractSpinBox::PlusMinus -250 250 -250 Reset to zero :/img/undo.png:/img/undo.png Reset to zero :/img/undo.png:/img/undo.png 0 0 0 24 Adjust value for implode transformation -100 100 Qt::Horizontal QSlider::TicksBelow 50 0 0 Adjust green channel QAbstractSpinBox::PlusMinus -250 250 -250 0 0 0 10 0 0 0 20 :/img/Filter/Edge.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Reset to zero :/img/undo.png:/img/undo.png 0 0 0 24 Adjust blur/sharpen sigma -10 10 1 1 Qt::Horizontal QSlider::TicksBelow 10 true true Image rotation: 0 0 24 0 0 0 Adjust blur/sharpen sigma QAbstractSpinBox::PlusMinus -10 10 1 -10 0 0 0 10 Reset to zero :/img/undo.png:/img/undo.png Allows you to activate the normalize filter. Automatic contrast (normalize) 0 0 Adjust desaturat level QAbstractSpinBox::PlusMinus 0 100 100 0 0 0 20 :/img/Filter/Antialias.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Reset to zero :/img/undo.png:/img/undo.png 0 0 Adjust value for implode transformation QAbstractSpinBox::PlusMinus -100 100 -100 0 0 Define the width :/img/PosSize_Width.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 :/img/Filter/Gamma.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Allows you to activate the edge filter. Edge Reset to zero :/img/undo.png:/img/undo.png 0 0 0 20 :/img/Filter/Emboss.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 2 0 0 Allows you to define the width. This value is expressed as a percentage (%) of the original width of the image. Example: if Width=33 %, the re-framed image will represent 1/3 of the original. QAbstractSpinBox::PlusMinus % 99.989999999999995 0 0 Define the height :/img/PosSize_Height.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 Allows you to define the height. This value is expressed as a percentage (%) of the original height of the image. Example: if Height=33 %, the re-framed image will represent 1/3 of the original. QAbstractSpinBox::PlusMinus % 99.989999999999995 Qt::Horizontal 40 20 0 24 24 24 24 Turn the image to the left (on the next multiple of 90°) :/img/rotationg.png:/img/rotationg.png 0 0 8 Define the rotation angle for the z axis QAbstractSpinBox::PlusMinus ° 1 -180.000000000000000 180.000000000000000 0.500000000000000 -180.000000000000000 24 24 24 24 Turn the image to the right (on the next multiple of 90°) :/img/rotationd.png:/img/rotationd.png Qt::Horizontal 40 20 0 0 0 :/img/PosSize_Height.png 0 0 0 24 Adjust value for amplitude of wave transformation -100 100 1 Qt::Horizontal QSlider::TicksBelow 10 0 0 0 24 Adjust value for swirl transformation -360 360 Qt::Horizontal QSlider::TicksBelow 50 0 0 :/img/Filter/Contrast.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 0 20 :/img/Filter/Equalize.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 0 20 :/img/Filter/Negative.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 0 20 :/img/Red.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 0 24 Adjust luminosity -250 250 Qt::Horizontal QSlider::TicksBelow 50 0 0 0 24 Adjust blue channel -250 250 Qt::Horizontal QSlider::TicksBelow 50 0 0 :/img/PosSize_X.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 0 24 Adjust desaturat level 0 100 Qt::Horizontal QSlider::TicksBelow 50 Reset to zero :/img/undo.png:/img/undo.png Defined speed curve for image animations. true true Image enhancement: Allows you to select a framing from a list of predefined framings. According to the image format, various choices will be proposed to you. The framings are classified in different categories: - Lock on the project geometry: Lock the image framing selection rectangle to the same geometry as the project. If you place the image in full screen, the reframed part will correspond to the whole screen. - Lock on the image geometry: Lock the image framing selection rectangle to the same geometry as the image. - No constraint: No constraint is applied to the image framing selection rectangle. - Lock on this geometry: Lock image framing selection rectangle to the actual geometry. This only has meaning when a shape has been defined in "no constraint" mode. 0 0 0 20 :/img/Filter/Swirl.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Allows you to activate the charcoal filter. Charcoal 0 0 0 20 :/img/Filter/Charcoal.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 Sans Serif 9 Shape : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 :/img/Filter/Blur.png Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing 0 0 :/img/Geometry.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Qt::Vertical 20 40 0 0 Adjust contrast QAbstractSpinBox::PlusMinus -250 250 -250 0 0 0 24 Adjust gamma 590 10 100 Qt::Horizontal QSlider::TicksBelow 50 0 0 :/img/RotateZ.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Reset to zero :/img/undo.png:/img/undo.png 0 0 0 20 :/img/Filter/Desaturate.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Reset to zero :/img/undo.png:/img/undo.png 0 0 0 10 0 0 0 10 Speed wave: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 2 0 0 Allows you to define the horizontal position from the left (X). This position is expressed as a percentage (%) of the width of the image. Example: if X=25 % then the 1st quarter to the left of the image is eliminated. QAbstractSpinBox::PlusMinus % 99.989999999999995 0 0 :/img/PosSize_Y.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 Allows you to define the vertical position from the top of the image ( Y ). This position is expressed as a percentage (%) of the height of the image. Example: if Y=25 % the 1st quarter at the top of the image is eliminated. QAbstractSpinBox::PlusMinus % 99.989999999999995 Qt::Horizontal 40 20 true true Color enhancement: 0 0 0 10 true true Luminosity, contrast and gamma: Allows you to activate the oilpaint filter. Oilpaint Allows you to activate the equalize (Histogram equalization) filter. Equalize 0 0 0 20 :/img/Filter/Grayscale.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Reset to zero :/img/undo.png:/img/undo.png 0 0 Adjust value for swirl transformation QAbstractSpinBox::PlusMinus -360 360 -360 Reset to 5 :/img/undo.png:/img/undo.png 0 0 Adjust gamma QAbstractSpinBox::PlusMinus 1 5.900000000000000 0.100000000000000 5.900000000000000 0 0 0 20 :/img/Green.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Allows you to activate the grayscale (black & white) filter. Grayscale true true Image distortion: 0 0 Adjust luminosity QAbstractSpinBox::PlusMinus -254 254 -250 0 0 0 20 :/img/Filter/Oilpaint.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 :/img/Filter/Contrast.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 0 20 :/img/Filter/Wave.png Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing 0 0 0 Type: 0 0 Select the blur/sharpen algorythm Fast Gaussian true true Artistic effects: 0 0 :/img/Filter/Brightness.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 Sans Serif 9 Select a shape for the current block QComboBox QAbstractItemView { background: #ffffff; color: #000000; } false 16 16 0 0 0 20 :/img/Filter/Implode.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 0 20 :/img/Filter/Despeckle.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 Adjust blur/sharpen radius QAbstractSpinBox::PlusMinus 1 10 1 10 0 0 0 10 true true Annimation settings: 0 0 0 20 :/img/Blue.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 Adjust red channel QAbstractSpinBox::PlusMinus -250 250 -250 Reset to zero :/img/undo.png:/img/undo.png 0 0 0 8 :/img/Radius.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 0 24 Adjust blur/sharpen radius 1 10 1 1 Qt::Horizontal QSlider::TicksBelow 1 Allows you to activate the antialias (minimizing the distortion artifacts) filter. Antialias Allows you to activate the emboss filter. Emboss 0 0 Adjust value for frequency of wave transformation QAbstractSpinBox::PlusMinus 0 100 1 100 0 0 Adjust blur/sharpen sigma QAbstractSpinBox::PlusMinus 1 -10.000000000000000 10.000000000000000 0.500000000000000 -10.000000000000000 0 0 Adjust value for amplitude of wave transformation QAbstractSpinBox::PlusMinus -100 100 1 -100 Reset to zero :/img/undo.png:/img/undo.png Allows you to activate the despeckle (Noise reduction) filter. Despeckle 0 0 0 24 Adjust blur/sharpen sigma -100 100 5 Qt::Horizontal QSlider::TicksBelow 10 0 0 0 24 Adjust red channel -250 250 Qt::Horizontal QSlider::TicksBelow 50 0 0 0 10 0 0 0 24 Adjust contrast -250 250 Qt::Horizontal QSlider::TicksBelow 50 true true Framing and form: cCSpeedWaveComboBox QComboBox
../ffDiaporama_lib/cSpeedWaveComboBox.h
cCFramingComboBox QComboBox
CustomCtrl/cCFramingComboBox.h
cCShapeComboBox QComboBox
CustomCtrl/cCShapeComboBox.h
cImgInteractiveZone QWidget
DlgImage/wgt_QEditImage/cImgInteractiveZone.h
1
ffDiaporama/src/ffDiaporama/DlgImage/wgt_QEditImage/wgt_QEditImage.h0000777000175000001440000001466712275647233025546 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef WGT_QEDITIMAGE_H #define WGT_QEDITIMAGE_H // Basic inclusions (common to all files) #include "engine/_GlobalDefines.h" #include "CustomCtrl/_QCustomDialog.h" #include "engine/_Diaporama.h" namespace Ui { class wgt_QEditImage; } class wgt_QEditImage : public QWidget { Q_OBJECT public: cBrushDefinition *CurrentBrush; QCustomDialog *ParentDialog; bool StopMaj; QPushButton *RulersBT; int CurrentFramingStyle; bool UndoReloadImage; // True if image change and undo must reload it cCompositionObject *CompoObject; qreal ImageGeometry; qreal ProjectGeometry; int VideoPosition; int *BackgroundForm; int DefaultSpeedWave; explicit wgt_QEditImage(QWidget *parent = 0); ~wgt_QEditImage(); void DoInitWidget(QCustomDialog *ParentDialog,cBrushDefinition *CurrentBrush,QPushButton *RulersBT,cCompositionObject *CompoObject,int *BackgroundForm,int VideoPosition,ffd_GEOMETRY ffDPrjGeometry,int DefaultSpeedWave); void DoInitDialog(bool AllowChangeFile); void RefreshControls(); void WinFocus(); void LostFocus(); bool DoAccept() {return true;} // Call when user click on Ok button void ReloadFile(QString BrushFileName); void ResetCachedImage(); private slots: void s_RulersBT(); void s_RotationEDChanged(double Value); void s_XValueEDChanged(double Value); void s_YValueEDChanged(double Value); void s_WValueEDChanged(double Value); void s_HValueEDChanged(double Value); void s_RotateLeft(); void s_RotateRight(); void s_FramingStyleChanged(); void s_BrightnessSliderMoved(int Value); void s_ContrastSliderMoved(int Value); void s_GammaSliderMoved(int Value); void s_GammaValueED(double Value); void s_RedSliderMoved(int Value); void s_GreenSliderMoved(int Value); void s_BlueSliderMoved(int Value); void s_DesatSliderMoved(int Value); void s_OnOffFilter_Gray_Changed(int); void s_OnOffFilter_Equalize_Changed(int); void s_OnOffFilter_Despeckle_Changed(int); void s_OnOffFilter_Negative_Changed(int); void s_OnOffFilter_Emboss_Changed(int); void s_OnOffFilter_Edge_Changed(int); void s_OnOffFilter_Antialias_Changed(int); void s_OnOffFilter_Normalize_Changed(int); void s_OnOffFilter_Charcoal_Changed(int); void s_OnOffFilter_Oil_Changed(int); void s_SwirlSliderMoved(int Value); void s_ImplodeSliderMoved(int Value); void s_BrightnessReset() { s_BrightnessSliderMoved(0); } void s_ContrastReset() { s_ContrastSliderMoved(0); } void s_GammaReset() { s_GammaValueED(1); } void s_RedReset() { s_RedSliderMoved(0); } void s_GreenReset() { s_GreenSliderMoved(0); } void s_BlueReset() { s_BlueSliderMoved(0); } void s_DesatReset() { s_DesatSliderMoved(0); } void s_SwirlReset() { s_SwirlSliderMoved(0); } void s_ImplodeReset() { s_ImplodeSliderMoved(0); } // BlurSharpen void s_BlurSharpenTypeChanged(int); void s_BlurSharpenSigmaSliderMoved(int Value); void s_BlurSharpenSigmaValueED(double Value); void s_QuickBlurSharpenSigmaSliderMoved(int Value); void s_BlurSharpenRadiusSliderMoved(int Value); void s_BlurSharpenSigmaReset() { s_BlurSharpenSigmaSliderMoved(0); } void s_QuickBlurSharpenSigmaReset() { s_QuickBlurSharpenSigmaSliderMoved(0); } void s_BlurSharpenRadiusReset() { s_BlurSharpenRadiusSliderMoved(5); } void s_ChangeFile(); void s_IntZoneTransformBlocks(qreal Move_X,qreal Move_Y,qreal Scale_X,qreal Scale_Y); void s_DisplayIntZoneTransformBlocks(qreal Move_X,qreal Move_Y,qreal Scale_X,qreal Scale_Y); void s_ShapeBackgroundForm(); void s_SpeedWaveChanged(int); private: void MakeFormIcon(QComboBox *UICB); Ui::wgt_QEditImage *ui; }; #endif // WGT_QEDITIMAGE_H ffDiaporama/src/ffDiaporama/DlgImage/wgt_QEditImage/wgt_QEditImage.cpp0000777000175000001440000013340012275647234026065 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "wgt_QEditImage.h" #include "ui_wgt_QEditImageimage.h" #include "cImgInteractiveZone.h" #include "DlgImage/DlgImageCorrection.h" #include "DlgFileExplorer/DlgFileExplorer.h" #define ICON_RULER_ON ":/img/ruler_ok.png" #define ICON_RULER_OFF ":/img/ruler_ko.png" #define ICON_GEOMETRY_LOCKED ":/img/Geometry_Lock.png" #define ICON_GEOMETRY_UNLOCKED ":/img/Geometry_Unlock.png" #define ICON_GEOMETRY_PROJECT ":/img/Geometry_ProjectLock.png" #define ICON_GEOMETRY_IMAGE ":/img/Geometry_ImageLock.png" #define ICON_IMAGE_FILE ":/img/Image_File.png" #define ICON_MOVIE_FILE ":/img/Video_File.png" //==================================================================================================================== wgt_QEditImage::wgt_QEditImage(QWidget *parent):QWidget(parent),ui(new Ui::wgt_QEditImage) { ui->setupUi(this); StopMaj =false; UndoReloadImage =false; } //==================================================================================================================== wgt_QEditImage::~wgt_QEditImage() { delete ui; } //==================================================================================================================== void wgt_QEditImage::DoInitWidget(QCustomDialog *ParentDialog,cBrushDefinition *CurrentBrush,QPushButton *RulersBT,cCompositionObject *CompoObject,int *BackgroundForm,int VideoPosition,ffd_GEOMETRY ffDPrjGeometry,int DefaultSpeedWave) { this->ParentDialog =ParentDialog; this->CurrentBrush =CurrentBrush; this->RulersBT =RulersBT; this->CompoObject =CompoObject; this->BackgroundForm =BackgroundForm; this->VideoPosition =VideoPosition; this->DefaultSpeedWave=DefaultSpeedWave; ui->InteractiveZone->MagneticRuler =ParentDialog->ApplicationConfig->FramingRuler; ui->InteractiveZone->InitCachedImage(CompoObject,BackgroundForm,CurrentBrush,VideoPosition); // Get Project Geometry switch (ffDPrjGeometry) { case GEOMETRY_4_3: ProjectGeometry=double(1440)/double(1920); break; case GEOMETRY_40_17: ProjectGeometry=double(816)/double(1920); break; case GEOMETRY_SQUARE: ProjectGeometry=1; break; case GEOMETRY_16_9: default: ProjectGeometry=double(1080)/double(1920); break; } ProjectGeometry=GetDoubleValue(QString("%1").arg(ProjectGeometry,0,'e')); // Rounded to same number as style managment // Get Image Geometry ImageGeometry=qreal(CurrentBrush->MediaObject->ImageHeight)/qreal(CurrentBrush->MediaObject->ImageWidth); ImageGeometry=GetDoubleValue(QString("%1").arg(ImageGeometry,0,'e')); // Rounded to same number as style managment } //==================================================================================================================== void wgt_QEditImage::DoInitDialog(bool AllowChangeFile) { //******************************* // Retire le filtre wave car trop de problème de transparence pour le moment ! //******************************* ui->WaveAmpSlider->setVisible(false); ui->WaveAmpValue->setVisible(false); ui->WaveAmpResetBT->setVisible(false); ui->WaveFreqSlider->setVisible(false); ui->WaveFreqValue->setVisible(false); ui->WaveFreqResetBT->setVisible(false); ui->Wavelabel1->setVisible(false); ui->Wavelabel2->setVisible(false); ui->Wavelabel3->setVisible(false); ui->RotateED->setMinimum(-180); ui->RotateED->setMaximum(180); ui->XValue->setSingleStep(1); ui->XValue->setRange(-200,200); ui->YValue->setSingleStep(1); ui->YValue->setRange(-200,200); ui->WValue->setSingleStep(1); ui->WValue->setRange(1,200); ui->HValue->setSingleStep(1); ui->HValue->setRange(1,200); ui->VideoPositionLabel->setVisible(CurrentBrush->MediaObject->ObjectType==OBJECTTYPE_VIDEOFILE); if (AllowChangeFile) { ui->FileLabel->setPixmap(CurrentBrush->MediaObject->ObjectType==OBJECTTYPE_VIDEOFILE?QPixmap(ICON_MOVIE_FILE):QPixmap(ICON_IMAGE_FILE)); connect(ui->FileNameBT,SIGNAL(clicked()),this,SLOT(s_ChangeFile())); // Define specifique handler for changing file } else { ui->FileNameBT->setEnabled(false); ui->FileNameED->setEnabled(false); } if (BackgroundForm==NULL) { // Framing Style ui->FramingStyleCB->setVisible(false); ui->FramingStyleLabel->setVisible(false); // Background form ui->BackgroundFormCB->setVisible(false); ui->BackgroundFormLabel->setVisible(false); // Speed wave ui->SpeedWaveCB->setVisible(false); ui->SpeedWaveLabel->setVisible(false); ui->SpeedWaveSection->setVisible(false); } else { // Background form for (int i=0;iBackgroundFormCB->addItem(ShapeFormDefinition.at(i).Name,QVariant(i)); MakeFormIcon(ui->BackgroundFormCB); // Speed wave if (DefaultSpeedWave==SPEEDWAVE_DISABLE) ui->SpeedWaveCB->setEnabled(false); else ui->SpeedWaveCB->AddProjectDefault(DefaultSpeedWave); connect(ui->SpeedWaveCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_SpeedWaveChanged(int))); } RulersBT->setIcon(QIcon(ParentDialog->ApplicationConfig->FramingRuler?QString(ICON_RULER_ON):QString(ICON_RULER_OFF))); connect(RulersBT,SIGNAL(clicked()),this,SLOT(s_RulersBT())); connect(ui->BackgroundFormCB,SIGNAL(itemSelectionHaveChanged()),this,SLOT(s_ShapeBackgroundForm())); connect(ui->RotateED,SIGNAL(valueChanged(double)),this,SLOT(s_RotationEDChanged(double))); connect(ui->XValue,SIGNAL(valueChanged(double)),this,SLOT(s_XValueEDChanged(double))); connect(ui->YValue,SIGNAL(valueChanged(double)),this,SLOT(s_YValueEDChanged(double))); connect(ui->WValue,SIGNAL(valueChanged(double)),this,SLOT(s_WValueEDChanged(double))); connect(ui->HValue,SIGNAL(valueChanged(double)),this,SLOT(s_HValueEDChanged(double))); connect(ui->RotateLeftBT,SIGNAL(clicked()),this,SLOT(s_RotateLeft())); connect(ui->RotateRightBT,SIGNAL(clicked()),this,SLOT(s_RotateRight())); connect(ui->FramingStyleCB,SIGNAL(itemSelectionHaveChanged()),this,SLOT(s_FramingStyleChanged())); connect(ui->BrightnessSlider,SIGNAL(valueChanged(int)),this,SLOT(s_BrightnessSliderMoved(int))); connect(ui->BrightnessValue,SIGNAL(valueChanged(int)),this,SLOT(s_BrightnessSliderMoved(int))); connect(ui->BrightnessResetBT,SIGNAL(clicked()),this,SLOT(s_BrightnessReset())); connect(ui->ContrastSlider,SIGNAL(valueChanged(int)),this,SLOT(s_ContrastSliderMoved(int))); connect(ui->ContrastValue,SIGNAL(valueChanged(int)),this,SLOT(s_ContrastSliderMoved(int))); connect(ui->ContrastResetBT,SIGNAL(clicked()),this,SLOT(s_ContrastReset())); connect(ui->GammaSlider,SIGNAL(valueChanged(int)),this,SLOT(s_GammaSliderMoved(int))); connect(ui->GammaValue,SIGNAL(valueChanged(double)),this,SLOT(s_GammaValueED(double))); connect(ui->GammaResetBT,SIGNAL(clicked()),this,SLOT(s_GammaReset())); connect(ui->RedSlider,SIGNAL(valueChanged(int)),this,SLOT(s_RedSliderMoved(int))); connect(ui->RedValue,SIGNAL(valueChanged(int)),this,SLOT(s_RedSliderMoved(int))); connect(ui->RedResetBT,SIGNAL(clicked()),this,SLOT(s_RedReset())); connect(ui->GreenSlider,SIGNAL(valueChanged(int)),this,SLOT(s_GreenSliderMoved(int))); connect(ui->GreenValue,SIGNAL(valueChanged(int)),this,SLOT(s_GreenSliderMoved(int))); connect(ui->GreenResetBT,SIGNAL(clicked()),this,SLOT(s_GreenReset())); connect(ui->BlueSlider,SIGNAL(valueChanged(int)),this,SLOT(s_BlueSliderMoved(int))); connect(ui->BlueValue,SIGNAL(valueChanged(int)),this,SLOT(s_BlueSliderMoved(int))); connect(ui->BlueResetBT,SIGNAL(clicked()),this,SLOT(s_BlueReset())); connect(ui->DesatSlider,SIGNAL(valueChanged(int)),this,SLOT(s_DesatSliderMoved(int))); connect(ui->DesatValue,SIGNAL(valueChanged(int)),this,SLOT(s_DesatSliderMoved(int))); connect(ui->DesatResetBT,SIGNAL(clicked()),this,SLOT(s_DesatReset())); connect(ui->SwirlSlider,SIGNAL(valueChanged(int)),this,SLOT(s_SwirlSliderMoved(int))); connect(ui->SwirlValue,SIGNAL(valueChanged(int)),this,SLOT(s_SwirlSliderMoved(int))); connect(ui->SwirlResetBT,SIGNAL(clicked()),this,SLOT(s_SwirlReset())); connect(ui->ImplodeSlider,SIGNAL(valueChanged(int)),this,SLOT(s_ImplodeSliderMoved(int))); connect(ui->ImplodeValue,SIGNAL(valueChanged(int)),this,SLOT(s_ImplodeSliderMoved(int))); connect(ui->ImplodeResetBT,SIGNAL(clicked()),this,SLOT(s_ImplodeReset())); connect(ui->FilterOnOff_GrayCB,SIGNAL(stateChanged(int)),this,SLOT(s_OnOffFilter_Gray_Changed(int))); connect(ui->FilterOnOff_EqualizeCB,SIGNAL(stateChanged(int)),this,SLOT(s_OnOffFilter_Equalize_Changed(int))); connect(ui->FilterOnOff_DespeckleCB,SIGNAL(stateChanged(int)),this,SLOT(s_OnOffFilter_Despeckle_Changed(int))); connect(ui->FilterOnOff_NegativeCB,SIGNAL(stateChanged(int)),this,SLOT(s_OnOffFilter_Negative_Changed(int))); connect(ui->FilterOnOff_EmbossCB,SIGNAL(stateChanged(int)),this,SLOT(s_OnOffFilter_Emboss_Changed(int))); connect(ui->FilterOnOff_EdgeCB,SIGNAL(stateChanged(int)),this,SLOT(s_OnOffFilter_Edge_Changed(int))); connect(ui->FilterOnOff_AntialiasCB,SIGNAL(stateChanged(int)),this,SLOT(s_OnOffFilter_Antialias_Changed(int))); connect(ui->FilterOnOff_NormalizeCB,SIGNAL(stateChanged(int)),this,SLOT(s_OnOffFilter_Normalize_Changed(int))); connect(ui->FilterOnOff_CharcoalCB,SIGNAL(stateChanged(int)),this,SLOT(s_OnOffFilter_Charcoal_Changed(int))); connect(ui->FilterOnOff_OilCB,SIGNAL(stateChanged(int)),this,SLOT(s_OnOffFilter_Oil_Changed(int))); connect(ui->BlurSharpenTypeCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_BlurSharpenTypeChanged(int))); connect(ui->BlurSharpenRadiusSlider,SIGNAL(valueChanged(int)),this,SLOT(s_BlurSharpenRadiusSliderMoved(int))); connect(ui->BlurSharpenRadiusED,SIGNAL(valueChanged(int)),this,SLOT(s_BlurSharpenRadiusSliderMoved(int))); connect(ui->BlurSharpenSigmaSlider,SIGNAL(valueChanged(int)),this,SLOT(s_BlurSharpenSigmaSliderMoved(int))); connect(ui->BlurSharpenSigmaSB,SIGNAL(valueChanged(double)),this,SLOT(s_BlurSharpenSigmaValueED(double))); connect(ui->QuickBlurSharpenSigmaSlider,SIGNAL(valueChanged(int)),this,SLOT(s_QuickBlurSharpenSigmaSliderMoved(int))); connect(ui->QuickBlurSharpenSigmaSB,SIGNAL(valueChanged(int)),this,SLOT(s_QuickBlurSharpenSigmaSliderMoved(int))); connect(ui->QuickBlurSharpenSigmaResetBT,SIGNAL(clicked()),this,SLOT(s_QuickBlurSharpenSigmaReset())); connect(ui->BlurSharpenSigmaResetBT,SIGNAL(clicked()),this,SLOT(s_BlurSharpenSigmaReset())); connect(ui->BlurSharpenRadiusResetBT,SIGNAL(clicked()),this,SLOT(s_BlurSharpenRadiusReset())); connect(ui->InteractiveZone,SIGNAL(TransformBlock(qreal,qreal,qreal,qreal)),this,SLOT(s_IntZoneTransformBlocks(qreal,qreal,qreal,qreal))); connect(ui->InteractiveZone,SIGNAL(DisplayTransformBlock(qreal,qreal,qreal,qreal)),this,SLOT(s_DisplayIntZoneTransformBlocks(qreal,qreal,qreal,qreal))); CurrentFramingStyle=-100; RefreshControls(); } //==================================================================================================================== void wgt_QEditImage::WinFocus() { ui->InteractiveZone->setFocus(); ui->InteractiveZone->RefreshDisplay(); RulersBT->setVisible(true); } void wgt_QEditImage::LostFocus() { RulersBT->setVisible(false); } //==================================================================================================================== void wgt_QEditImage::RefreshControls() { if (StopMaj) return; StopMaj=true; // Framing and form ui->BackgroundFormCB->PrepareFrameShapeTable(true,0,*ui->InteractiveZone->BackgroundForm); ui->BackgroundFormCB->SetCurrentFrameShape(*ui->InteractiveZone->BackgroundForm); ui->XValue->setValue(CurrentBrush->X*100); ui->YValue->setValue(CurrentBrush->Y*100); ui->WValue->setValue(CurrentBrush->ZoomFactor*100); ui->HValue->setValue(CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio*100); // Image rotation ui->RotateED->setValue(CurrentBrush->ImageRotation); // Luminosity, contrast and gamma ui->BrightnessSlider->setValue(CurrentBrush->Brightness); ui->BrightnessValue->setValue(CurrentBrush->Brightness); ui->GammaSlider->setValue(CurrentBrush->Gamma*100); ui->GammaValue->setValue(CurrentBrush->Gamma); ui->FilterOnOff_NormalizeCB->setChecked((CurrentBrush->OnOffFilter & FilterNormalize)!=0); ui->ContrastSlider->setValue(CurrentBrush->Contrast); ui->ContrastValue->setValue(CurrentBrush->Contrast); ui->ContrastSlider->setVisible(!ui->FilterOnOff_NormalizeCB->isChecked()); ui->ContrastValue->setVisible(!ui->FilterOnOff_NormalizeCB->isChecked()); ui->ContrastResetBT->setVisible(!ui->FilterOnOff_NormalizeCB->isChecked()); ui->ContrastLabel->setVisible(!ui->FilterOnOff_NormalizeCB->isChecked()); // Image enhancement ui->BlurSharpenTypeCB->setCurrentIndex(CurrentBrush->TypeBlurSharpen); ui->BlurSharpenSigmaSlider->setValue(CurrentBrush->GaussBlurSharpenSigma*10); ui->BlurSharpenSigmaSB->setValue(CurrentBrush->GaussBlurSharpenSigma); ui->QuickBlurSharpenSigmaSlider->setValue(CurrentBrush->QuickBlurSharpenSigma); ui->BlurSharpenSigmaSlider->setVisible(ui->BlurSharpenTypeCB->currentIndex()==1); ui->QuickBlurSharpenSigmaSB->setValue(CurrentBrush->QuickBlurSharpenSigma); ui->BlurSharpenSigmaSB->setVisible(ui->BlurSharpenTypeCB->currentIndex()==1); ui->QuickBlurSharpenSigmaSlider->setValue(CurrentBrush->QuickBlurSharpenSigma); ui->QuickBlurSharpenSigmaSlider->setVisible(ui->BlurSharpenTypeCB->currentIndex()==0); ui->QuickBlurSharpenSigmaSB->setValue(CurrentBrush->QuickBlurSharpenSigma); ui->QuickBlurSharpenSigmaSB->setVisible(ui->BlurSharpenTypeCB->currentIndex()==0); ui->BlurSharpenSigmaResetBT->setVisible(ui->BlurSharpenTypeCB->currentIndex()==1); ui->QuickBlurSharpenSigmaResetBT->setVisible(ui->BlurSharpenTypeCB->currentIndex()==0); ui->BlurSharpenRadiusSlider->setValue(int(CurrentBrush->BlurSharpenRadius)); ui->BlurSharpenRadiusED->setValue(int(CurrentBrush->BlurSharpenRadius)); ui->FilterOnOff_DespeckleCB->setChecked((CurrentBrush->OnOffFilter & FilterDespeckle)!=0); ui->FilterOnOff_AntialiasCB->setChecked((CurrentBrush->OnOffFilter & FilterAntialias)!=0); // Color enhancement ui->FilterOnOff_GrayCB->setChecked( (CurrentBrush->OnOffFilter & FilterGray)!=0); ui->FilterOnOff_EqualizeCB->setChecked( (CurrentBrush->OnOffFilter & FilterEqualize)!=0); ui->RedSlider->setValue(CurrentBrush->Red); ui->RedValue->setValue(CurrentBrush->Red); ui->GreenSlider->setValue(CurrentBrush->Green); ui->GreenValue->setValue(CurrentBrush->Green); ui->BlueSlider->setValue(CurrentBrush->Blue); ui->BlueValue->setValue(CurrentBrush->Blue); ui->DesatSlider->setValue(int(CurrentBrush->Desat*100)); ui->DesatValue->setValue(int(CurrentBrush->Desat*100)); // Artistic effects ui->FilterOnOff_NegativeCB->setChecked( (CurrentBrush->OnOffFilter & FilterNegative)!=0); ui->FilterOnOff_EmbossCB->setChecked( (CurrentBrush->OnOffFilter & FilterEmboss)!=0); ui->FilterOnOff_EdgeCB->setChecked( (CurrentBrush->OnOffFilter & FilterEdge)!=0); ui->FilterOnOff_CharcoalCB->setChecked( (CurrentBrush->OnOffFilter & FilterCharcoal)!=0); ui->FilterOnOff_OilCB->setChecked( (CurrentBrush->OnOffFilter & FilterOil)!=0); // Image distorsion ui->SwirlSlider->setValue(int(CurrentBrush->Swirl)); ui->SwirlValue->setValue(int(CurrentBrush->Swirl)); ui->ImplodeSlider->setValue(int(CurrentBrush->Implode*100)); ui->ImplodeValue->setValue(int(CurrentBrush->Implode*100)); // Speed wave if (DefaultSpeedWave!=SPEEDWAVE_DISABLE) ui->SpeedWaveCB->SetCurrentValue(CurrentBrush->ImageSpeedWave); // File if (ui->FileNameED->isEnabled()) ui->FileNameED->setText(CurrentBrush->MediaObject->FileName()); if (ui->VideoPositionLabel->isVisible()) { QString VideoPosition=QApplication::translate("wgt_QEditImage","Video position :")+((cVideoFile *)CurrentBrush->MediaObject)->StartPos.addMSecs(ui->InteractiveZone->VideoPosition).toString("hh:mm:ss.zzz"); ui->VideoPositionLabel->setText(VideoPosition); } if (ui->InteractiveZone->CachedImage) { ui->FramingStyleCB->X=CurrentBrush->X; ui->FramingStyleCB->Y=CurrentBrush->Y; ui->FramingStyleCB->ZoomFactor=CurrentBrush->ZoomFactor; ui->FramingStyleCB->AspectRatio=CurrentBrush->AspectRatio; ui->FramingStyleCB->PrepareFramingStyleTable(true,FILTERFRAMING_ALL,CurrentBrush,ui->InteractiveZone->CachedImage,*ui->InteractiveZone->BackgroundForm,ProjectGeometry); } int NewFramingStyle=CurrentBrush->GetCurrentFramingStyle(ProjectGeometry); if (CurrentFramingStyle!=NewFramingStyle) ui->FramingStyleCB->SetCurrentFraming(/*CurrentFramingStyle*/NewFramingStyle); ui->FramingStyleCB->MakeIcons(); ui->InteractiveZone->RefreshDisplay(); StopMaj=false; } //==================================================================================================================== void wgt_QEditImage::s_RulersBT() { ParentDialog->ApplicationConfig->FramingRuler=!ParentDialog->ApplicationConfig->FramingRuler; ui->InteractiveZone->MagneticRuler=ParentDialog->ApplicationConfig->FramingRuler; RulersBT->setIcon(QIcon(ParentDialog->ApplicationConfig->FramingRuler?QString(ICON_RULER_ON):QString(ICON_RULER_OFF))); RefreshControls(); } //==================================================================================================================== void wgt_QEditImage::MakeFormIcon(QComboBox *UICB) { for (int i=0;icount();i++) { cCompositionObject Object(COMPOSITIONTYPE_BACKGROUND,0,ParentDialog->ApplicationConfig,this); Object.x =0; Object.y =0; Object.w =1; Object.h =1; Object.BackgroundForm =UICB->itemData(i).toInt(); Object.Opacity =4; Object.PenSize =1; Object.PenStyle =Qt::SolidLine; Object.PenColor ="#000000"; Object.BackgroundBrush->ColorD ="#FFFFFF"; Object.BackgroundBrush->BrushType=BRUSHTYPE_SOLID; QPixmap Image(UICB->iconSize()); QPainter Painter; Painter.begin(&Image); Painter.fillRect(QRect(0,0,UICB->iconSize().width(),UICB->iconSize().height()),"#ffffff"); Object.DrawCompositionObject(NULL,&Painter,1,UICB->iconSize().width(),UICB->iconSize().height(),true,0,NULL,1,1,NULL,false,0,false); Painter.end(); UICB->setItemIcon(i,QIcon(Image)); } } //==================================================================================================================== void wgt_QEditImage::s_SpeedWaveChanged(int) { if (StopMaj) return; StopMaj=true; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_IMAGEEDITZONE,ui->SpeedWaveCB,true); CurrentBrush->ImageSpeedWave=ui->SpeedWaveCB->GetCurrentValue(); RefreshControls(); StopMaj=false; } //==================================================================================================================== void wgt_QEditImage::s_XValueEDChanged(double Value) { if (StopMaj) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_IMAGEEDITZONE,ui->InteractiveZone,false); CurrentBrush->X=Value/100; RefreshControls(); } //==================================================================================================================== void wgt_QEditImage::s_YValueEDChanged(double Value) { if (StopMaj) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_IMAGEEDITZONE,ui->InteractiveZone,false); CurrentBrush->Y=Value/100; RefreshControls(); } //==================================================================================================================== void wgt_QEditImage::s_WValueEDChanged(double Value) { if (StopMaj) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_IMAGEEDITZONE,ui->InteractiveZone,false); if (CurrentBrush->LockGeometry) { CurrentBrush->ZoomFactor=Value/100; } else { qreal newH=CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio*ui->InteractiveZone->Hyp.Image; CurrentBrush->ZoomFactor=Value/100; qreal newW=CurrentBrush->ZoomFactor*ui->InteractiveZone->Hyp.Image; CurrentBrush->AspectRatio=newH/newW; } RefreshControls(); } //==================================================================================================================== void wgt_QEditImage::s_HValueEDChanged(double Value) { if (StopMaj) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_IMAGEEDITZONE,ui->InteractiveZone,false); qreal newH=(Value/100)*ui->InteractiveZone->Hyp.Image; if (CurrentBrush->LockGeometry) { qreal newW=newH/CurrentBrush->AspectRatio; CurrentBrush->ZoomFactor=newW/ui->InteractiveZone->Hyp.Image; } else { qreal newW=CurrentBrush->ZoomFactor*ui->InteractiveZone->Hyp.Image; CurrentBrush->AspectRatio=newH/newW; } RefreshControls(); } //==================================================================================================================== void wgt_QEditImage::s_RotationEDChanged(double Value) { if (StopMaj) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_IMAGEEDITZONE,ui->InteractiveZone,false); if (Value<-180) Value=360-Value; if (Value>180) Value=-360-Value; CurrentBrush->ImageRotation=Value; CurrentFramingStyle=ui->FramingStyleCB->GetCurrentFraming(); CurrentBrush->ApplyAutoFraming(CurrentFramingStyle,ProjectGeometry); RefreshControls(); } //==================================================================================================================== void wgt_QEditImage::s_RotateLeft() { if (StopMaj) return; qreal Value=(int((CurrentBrush->ImageRotation-90)/90)*90); if (Value<=-180) Value=360-Value; ui->RotateED->setValue(Value); RefreshControls(); } //==================================================================================================================== void wgt_QEditImage::s_RotateRight() { if (StopMaj) return; qreal Value=(int((CurrentBrush->ImageRotation+90)/90)*90); if (Value>180) Value=-360+Value; ui->RotateED->setValue(Value); RefreshControls(); } //==================================================================================================================== void wgt_QEditImage::s_OnOffFilter_Gray_Changed(int) { if (StopMaj) return; if (((CurrentBrush->OnOffFilter & FilterGray)!=0)==ui->FilterOnOff_GrayCB->isChecked()) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_IMAGEEDITZONE,ui->InteractiveZone,true); if (ui->FilterOnOff_GrayCB->isChecked()) CurrentBrush->OnOffFilter=CurrentBrush->OnOffFilter | FilterGray; else CurrentBrush->OnOffFilter=CurrentBrush->OnOffFilter & ~FilterGray; RefreshControls(); } //==================================================================================================================== void wgt_QEditImage::s_OnOffFilter_Equalize_Changed(int) { if (((CurrentBrush->OnOffFilter & FilterEqualize)!=0)==ui->FilterOnOff_EqualizeCB->isChecked()) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_IMAGEEDITZONE,ui->InteractiveZone,true); if (ui->FilterOnOff_EqualizeCB->isChecked()) CurrentBrush->OnOffFilter=CurrentBrush->OnOffFilter | FilterEqualize; else CurrentBrush->OnOffFilter=CurrentBrush->OnOffFilter & ~FilterEqualize; RefreshControls(); } //==================================================================================================================== void wgt_QEditImage::s_OnOffFilter_Despeckle_Changed(int) { if (((CurrentBrush->OnOffFilter & FilterDespeckle)!=0)==ui->FilterOnOff_DespeckleCB->isChecked()) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_IMAGEEDITZONE,ui->InteractiveZone,true); if (ui->FilterOnOff_DespeckleCB->isChecked()) CurrentBrush->OnOffFilter=CurrentBrush->OnOffFilter | FilterDespeckle; else CurrentBrush->OnOffFilter=CurrentBrush->OnOffFilter & ~FilterDespeckle; RefreshControls(); } //==================================================================================================================== void wgt_QEditImage::s_OnOffFilter_Negative_Changed(int) { if (((CurrentBrush->OnOffFilter & FilterNegative)!=0)==ui->FilterOnOff_NegativeCB->isChecked()) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_IMAGEEDITZONE,ui->InteractiveZone,true); if (ui->FilterOnOff_NegativeCB->isChecked()) CurrentBrush->OnOffFilter=CurrentBrush->OnOffFilter | FilterNegative; else CurrentBrush->OnOffFilter=CurrentBrush->OnOffFilter & ~FilterNegative; RefreshControls(); } //==================================================================================================================== void wgt_QEditImage::s_OnOffFilter_Emboss_Changed(int) { if (((CurrentBrush->OnOffFilter & FilterEmboss)!=0)==ui->FilterOnOff_EmbossCB->isChecked()) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_IMAGEEDITZONE,ui->InteractiveZone,true); if (ui->FilterOnOff_EmbossCB->isChecked()) CurrentBrush->OnOffFilter=CurrentBrush->OnOffFilter | FilterEmboss; else CurrentBrush->OnOffFilter=CurrentBrush->OnOffFilter & ~FilterEmboss; RefreshControls(); } //==================================================================================================================== void wgt_QEditImage::s_OnOffFilter_Edge_Changed(int) { if (((CurrentBrush->OnOffFilter & FilterEdge)!=0)==ui->FilterOnOff_EdgeCB->isChecked()) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_IMAGEEDITZONE,ui->InteractiveZone,true); if (ui->FilterOnOff_EdgeCB->isChecked()) CurrentBrush->OnOffFilter=CurrentBrush->OnOffFilter | FilterEdge; else CurrentBrush->OnOffFilter=CurrentBrush->OnOffFilter & ~FilterEdge; RefreshControls(); } //==================================================================================================================== void wgt_QEditImage::s_OnOffFilter_Antialias_Changed(int) { if (((CurrentBrush->OnOffFilter & FilterAntialias)!=0)==ui->FilterOnOff_AntialiasCB->isChecked()) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_IMAGEEDITZONE,ui->InteractiveZone,true); if (ui->FilterOnOff_AntialiasCB->isChecked()) CurrentBrush->OnOffFilter=CurrentBrush->OnOffFilter | FilterAntialias; else CurrentBrush->OnOffFilter=CurrentBrush->OnOffFilter & ~FilterAntialias; RefreshControls(); } //==================================================================================================================== void wgt_QEditImage::s_OnOffFilter_Normalize_Changed(int) { if (((CurrentBrush->OnOffFilter & FilterNormalize)!=0)==ui->FilterOnOff_NormalizeCB->isChecked()) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_IMAGEEDITZONE,ui->InteractiveZone,true); if (ui->FilterOnOff_NormalizeCB->isChecked()) CurrentBrush->OnOffFilter=CurrentBrush->OnOffFilter | FilterNormalize; else CurrentBrush->OnOffFilter=CurrentBrush->OnOffFilter & ~FilterNormalize; RefreshControls(); } //==================================================================================================================== void wgt_QEditImage::s_OnOffFilter_Charcoal_Changed(int) { if (((CurrentBrush->OnOffFilter & FilterCharcoal)!=0)==ui->FilterOnOff_CharcoalCB->isChecked()) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_IMAGEEDITZONE,ui->InteractiveZone,true); if (ui->FilterOnOff_CharcoalCB->isChecked()) CurrentBrush->OnOffFilter=CurrentBrush->OnOffFilter | FilterCharcoal; else CurrentBrush->OnOffFilter=CurrentBrush->OnOffFilter & ~FilterCharcoal; RefreshControls(); } //==================================================================================================================== void wgt_QEditImage::s_OnOffFilter_Oil_Changed(int) { if (((CurrentBrush->OnOffFilter & FilterOil)!=0)==ui->FilterOnOff_OilCB->isChecked()) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_IMAGEEDITZONE,ui->InteractiveZone,true); if (ui->FilterOnOff_OilCB->isChecked()) CurrentBrush->OnOffFilter=CurrentBrush->OnOffFilter | FilterOil; else CurrentBrush->OnOffFilter=CurrentBrush->OnOffFilter & ~FilterOil; RefreshControls(); } //==================================================================================================================== // Blur/Sharpen //==================================================================================================================== void wgt_QEditImage::s_BlurSharpenTypeChanged(int Value) { if (StopMaj) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_IMAGEEDITZONE,ui->InteractiveZone,false); CurrentBrush->TypeBlurSharpen=Value; RefreshControls(); } void wgt_QEditImage::s_BlurSharpenSigmaSliderMoved(int Value) { if (StopMaj) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_IMAGEEDITZONE,ui->InteractiveZone,false); CurrentBrush->GaussBlurSharpenSigma=qreal(Value)/10; ui->BlurSharpenSigmaSlider->setValue(CurrentBrush->GaussBlurSharpenSigma*10); ui->BlurSharpenSigmaSB->setValue(CurrentBrush->GaussBlurSharpenSigma); RefreshControls(); } void wgt_QEditImage::s_BlurSharpenSigmaValueED(double Value) { if (StopMaj) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_IMAGEEDITZONE,ui->InteractiveZone,false); CurrentBrush->GaussBlurSharpenSigma=Value; ui->BlurSharpenSigmaSlider->setValue(CurrentBrush->GaussBlurSharpenSigma*10); ui->BlurSharpenSigmaSB->setValue(CurrentBrush->GaussBlurSharpenSigma); RefreshControls(); } void wgt_QEditImage::s_QuickBlurSharpenSigmaSliderMoved(int Value) { if (StopMaj) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_IMAGEEDITZONE,ui->InteractiveZone,false); CurrentBrush->QuickBlurSharpenSigma=qreal(Value); ui->QuickBlurSharpenSigmaSlider->setValue(int(CurrentBrush->QuickBlurSharpenSigma)); ui->QuickBlurSharpenSigmaSB->setValue(int(CurrentBrush->QuickBlurSharpenSigma)); RefreshControls(); } void wgt_QEditImage::s_BlurSharpenRadiusSliderMoved(int Value) { if (StopMaj) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_IMAGEEDITZONE,ui->InteractiveZone,false); CurrentBrush->BlurSharpenRadius=qreal(Value); ui->BlurSharpenRadiusSlider->setValue(int(CurrentBrush->BlurSharpenRadius)); ui->BlurSharpenRadiusED->setValue(int(CurrentBrush->BlurSharpenRadius)); RefreshControls(); } //==================================================================================================================== void wgt_QEditImage::s_BrightnessSliderMoved(int Value) { if (StopMaj) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_IMAGEEDITZONE,ui->InteractiveZone,false); CurrentBrush->Brightness=Value; ui->BrightnessSlider->setValue(CurrentBrush->Brightness); ui->BrightnessValue->setValue(CurrentBrush->Brightness); RefreshControls(); } //==================================================================================================================== void wgt_QEditImage::s_ContrastSliderMoved(int Value) { if (StopMaj) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_IMAGEEDITZONE,ui->InteractiveZone,false); CurrentBrush->Contrast=Value; ui->ContrastSlider->setValue(CurrentBrush->Contrast); ui->ContrastValue->setValue(CurrentBrush->Contrast); RefreshControls(); } //==================================================================================================================== void wgt_QEditImage::s_GammaSliderMoved(int Value) { if (StopMaj) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_IMAGEEDITZONE,ui->InteractiveZone,false); CurrentBrush->Gamma=qreal(Value)/100; ui->GammaSlider->setValue(CurrentBrush->Gamma*100); ui->GammaValue->setValue(CurrentBrush->Gamma); RefreshControls(); } //==================================================================================================================== void wgt_QEditImage::s_GammaValueED(double Value) { if (StopMaj) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_IMAGEEDITZONE,ui->InteractiveZone,false); CurrentBrush->Gamma=Value; ui->GammaSlider->setValue(CurrentBrush->Gamma*100); ui->GammaValue->setValue(CurrentBrush->Gamma); RefreshControls(); } //==================================================================================================================== void wgt_QEditImage::s_RedSliderMoved(int Value) { if (StopMaj) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_IMAGEEDITZONE,ui->InteractiveZone,false); CurrentBrush->Red=Value; ui->RedSlider->setValue(CurrentBrush->Red); ui->RedValue->setValue(CurrentBrush->Red); RefreshControls(); } //==================================================================================================================== void wgt_QEditImage::s_GreenSliderMoved(int Value) { if (StopMaj) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_IMAGEEDITZONE,ui->InteractiveZone,false); CurrentBrush->Green=Value; ui->GreenSlider->setValue(CurrentBrush->Green); ui->GreenValue->setValue(CurrentBrush->Green); RefreshControls(); } //==================================================================================================================== void wgt_QEditImage::s_BlueSliderMoved(int Value) { if (StopMaj) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_IMAGEEDITZONE,ui->InteractiveZone,false); CurrentBrush->Blue=Value; ui->BlueSlider->setValue(CurrentBrush->Blue); ui->BlueValue->setValue(CurrentBrush->Blue); RefreshControls(); } //==================================================================================================================== void wgt_QEditImage::s_DesatSliderMoved(int Value) { if (StopMaj) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_IMAGEEDITZONE,ui->InteractiveZone,false); CurrentBrush->Desat=double(Value)/100; ui->DesatSlider->setValue(int(CurrentBrush->Desat*100)); ui->DesatValue->setValue(int(CurrentBrush->Desat*100)); RefreshControls(); } //==================================================================================================================== void wgt_QEditImage::s_SwirlSliderMoved(int Value) { if (StopMaj) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_IMAGEEDITZONE,ui->InteractiveZone,false); CurrentBrush->Swirl=double(Value); ui->SwirlSlider->setValue(int(CurrentBrush->Swirl)); ui->SwirlValue->setValue(int(CurrentBrush->Swirl)); RefreshControls(); } //==================================================================================================================== void wgt_QEditImage::s_ImplodeSliderMoved(int Value) { if (StopMaj) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_IMAGEEDITZONE,ui->InteractiveZone,false); CurrentBrush->Implode=double(Value)/100; ui->ImplodeSlider->setValue(int(CurrentBrush->Implode*100)); ui->ImplodeValue->setValue(int(CurrentBrush->Implode*100)); RefreshControls(); } //==================================================================================================================== void wgt_QEditImage::s_ShapeBackgroundForm() { if ((StopMaj)||(!ui->BackgroundFormCB->isVisible())) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_IMAGEEDITZONE,ui->BackgroundFormCB,false); *BackgroundForm=ui->BackgroundFormCB->GetCurrentFrameShape(); ui->InteractiveZone->RefreshDisplay(); RefreshControls(); } //==================================================================================================================== void wgt_QEditImage::s_FramingStyleChanged() { if (StopMaj) return; if (CurrentFramingStyle==ui->FramingStyleCB->GetCurrentFraming()) return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_IMAGEEDITZONE,ui->InteractiveZone,true); CurrentFramingStyle=ui->FramingStyleCB->GetCurrentFraming(); switch (ui->FramingStyleCB->GetCurrentFraming()) { case -1 : CurrentFramingStyle=CurrentBrush->GetCurrentFramingStyle(ProjectGeometry); ui->FramingStyleCB->SetCurrentFraming(CurrentFramingStyle); break; case AUTOFRAMING_CUSTOMUNLOCK : CurrentBrush->LockGeometry=false; CurrentBrush->X =ui->FramingStyleCB->X; CurrentBrush->Y =ui->FramingStyleCB->Y; CurrentBrush->AspectRatio =ui->FramingStyleCB->AspectRatio; CurrentBrush->ZoomFactor =ui->FramingStyleCB->ZoomFactor; break; case AUTOFRAMING_CUSTOMLOCK : CurrentBrush->LockGeometry=true; CurrentBrush->X =ui->FramingStyleCB->X; CurrentBrush->Y =ui->FramingStyleCB->Y; CurrentBrush->AspectRatio =ui->FramingStyleCB->AspectRatio; CurrentBrush->ZoomFactor =ui->FramingStyleCB->ZoomFactor; break; case AUTOFRAMING_CUSTOMIMGLOCK : CurrentBrush->LockGeometry=true; CurrentBrush->X =ui->FramingStyleCB->X; CurrentBrush->Y =ui->FramingStyleCB->Y; CurrentBrush->AspectRatio =ImageGeometry; CurrentBrush->ZoomFactor =ui->FramingStyleCB->ZoomFactor; break; case AUTOFRAMING_CUSTOMPRJLOCK : CurrentBrush->LockGeometry=true; CurrentBrush->X =ui->FramingStyleCB->X; CurrentBrush->Y =ui->FramingStyleCB->Y; CurrentBrush->AspectRatio =ProjectGeometry; CurrentBrush->ZoomFactor =ui->FramingStyleCB->ZoomFactor; break; default : CurrentBrush->ApplyAutoFraming(ui->FramingStyleCB->GetCurrentFraming(),ProjectGeometry); break; } CurrentFramingStyle=CurrentBrush->GetCurrentFramingStyle(ProjectGeometry); RefreshControls(); } //==================================================================================================================== // Handler for interactive zone //==================================================================================================================== void wgt_QEditImage::s_IntZoneTransformBlocks(qreal Move_X,qreal Move_Y,qreal Scale_X,qreal Scale_Y) { ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_INTERACTIVEMOVERESIZE,ui->InteractiveZone,true); CurrentBrush->X=CurrentBrush->X+Move_X; CurrentBrush->Y=CurrentBrush->Y+Move_Y; if (!CurrentBrush->LockGeometry) { qreal NewH=CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio+Scale_Y; CurrentBrush->AspectRatio=NewH/(CurrentBrush->ZoomFactor+Scale_X); } CurrentBrush->ZoomFactor=CurrentBrush->ZoomFactor+Scale_X; ui->InteractiveZone->Move_X =0; ui->InteractiveZone->Move_Y =0; ui->InteractiveZone->Scale_X=0; ui->InteractiveZone->Scale_Y=0; RefreshControls(); } void wgt_QEditImage::s_DisplayIntZoneTransformBlocks(qreal Move_X,qreal Move_Y,qreal Scale_X,qreal Scale_Y) { qreal NewX=CurrentBrush->X+Move_X; qreal NewY=CurrentBrush->Y+Move_Y; qreal NewW=CurrentBrush->ZoomFactor+Scale_X; qreal NewH=(CurrentBrush->LockGeometry?(CurrentBrush->ZoomFactor+Scale_X)*CurrentBrush->AspectRatio:CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio+Scale_Y); StopMaj=true; ui->XValue->setValue(NewX*100); ui->YValue->setValue(NewY*100); ui->WValue->setValue(NewW*100); ui->HValue->setValue(NewH*100); StopMaj=false; } //==================================================================================================================== void wgt_QEditImage::s_ChangeFile() { bool IsValide=true; QString ActualFilePath=QFileInfo(CurrentBrush->MediaObject->FileName()).absolutePath(); QStringList FileList; QString NewFile=""; BROWSER_TYPE_ID BrowserType=CurrentBrush->MediaObject->ObjectType==OBJECTTYPE_IMAGEFILE?BROWSER_TYPE_IMAGEONLY: CurrentBrush->MediaObject->ObjectType==OBJECTTYPE_IMAGEVECTOR?BROWSER_TYPE_IMAGEVECTOR: CurrentBrush->MediaObject->ObjectType==OBJECTTYPE_VIDEOFILE?BROWSER_TYPE_VIDEOONLY: BROWSER_TYPE_MEDIAFILES; if (ParentDialog->ApplicationConfig->RememberLastDirectories) ParentDialog->ApplicationConfig->SettingsTable->SetTextValue(QString("%1_path").arg(BrowserTypeDef[BrowserType].BROWSERString),QDir::toNativeSeparators(ActualFilePath)); DlgFileExplorer Dlg(BrowserType,false,false,false,QApplication::translate("CommonInfoMsg","Select a file"),ParentDialog->ApplicationConfig,this); Dlg.InitDialog(); if (Dlg.exec()==0) { FileList=Dlg.GetCurrentSelectedFiles(); if (FileList.count()==1) NewFile=FileList.at(0); } if (NewFile=="") return; ((DlgImageCorrection *)ParentDialog)->AppendPartialUndo(DlgImageCorrection::UNDOACTION_IMAGEEDITZONE,ui->InteractiveZone,true); QString NewBrushFileName=QFileInfo(NewFile).absoluteFilePath(); QString OldBrushFileName=CurrentBrush->MediaObject->FileName(); ParentDialog->ApplicationConfig->ImagesCache.RemoveImageObject(CurrentBrush->MediaObject->RessourceKey,CurrentBrush->MediaObject->FileKey); if (CurrentBrush->MediaObject->ObjectType!=OBJECTTYPE_VIDEOFILE) CurrentBrush->MediaObject->Reset(); else ((cVideoFile *)CurrentBrush->MediaObject)->Reset(OBJECTTYPE_VIDEOFILE); IsValide=(CurrentBrush->MediaObject->GetInformationFromFile(NewBrushFileName,NULL,NULL,-1)&&(CurrentBrush->MediaObject->CheckFormatValide(this))); // It error reload previous if (!IsValide) IsValide=(CurrentBrush->MediaObject->GetInformationFromFile(OldBrushFileName,NULL,NULL,-1)&&(CurrentBrush->MediaObject->CheckFormatValide(this))); if (IsValide) { ResetCachedImage(); UndoReloadImage=true; } RefreshControls(); } //==================================================================================================================== void wgt_QEditImage::ResetCachedImage() { // Redo initialisation of controls ImageGeometry=qreal(CurrentBrush->MediaObject->ImageHeight)/qreal(CurrentBrush->MediaObject->ImageWidth); ImageGeometry=GetDoubleValue(QString("%1").arg(ImageGeometry,0,'e')); // Rounded to same number as style managment ui->InteractiveZone->InitCachedImage(ui->InteractiveZone->CompoObject,ui->InteractiveZone->BackgroundForm,ui->InteractiveZone->CurrentBrush,ui->InteractiveZone->VideoPosition); ui->InteractiveZone->RefreshDisplay(); int OldFramingStyle=CurrentFramingStyle; CurrentFramingStyle=-100; CurrentBrush->ApplyAutoFraming(OldFramingStyle,ProjectGeometry); ui->FramingStyleCB->SetCurrentFraming(OldFramingStyle); } //==================================================================================================================== void wgt_QEditImage::ReloadFile(QString BrushFileName) { ParentDialog->ApplicationConfig->ImagesCache.RemoveImageObject(CurrentBrush->MediaObject->RessourceKey,CurrentBrush->MediaObject->FileKey); if (CurrentBrush->MediaObject->ObjectType!=OBJECTTYPE_VIDEOFILE) CurrentBrush->MediaObject->Reset(); else ((cVideoFile *)CurrentBrush->MediaObject)->Reset(OBJECTTYPE_VIDEOFILE); CurrentBrush->MediaObject->GetInformationFromFile(BrushFileName,NULL,NULL,-1); ResetCachedImage(); } ffDiaporama/src/ffDiaporama/DlgImage/wgt_QEditImage/cImgInteractiveZone.h0000777000175000001440000000706312275647233026615 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef CIMGINTERACTIVEZONE_H #define CIMGINTERACTIVEZONE_H #include "engine/_GlobalDefines.h" #include "engine/_Diaporama.h" #include enum TRANSFOTYPE {NOTYETDEFINED,MOVEBLOCK,RESIZEUPLEFT,RESIZEDOWNLEFT,RESIZEUPRIGHT,RESIZEDOWNRIGHT,RESIZELEFT,RESIZERIGHT,RESIZEUP,RESIZEDOWN}; class cImgInteractiveZone : public QWidget { Q_OBJECT public: struct sDualQReal { qreal Screen; qreal Image; }; int MagneticRuler; cCompositionObject *CompoObject; int *BackgroundForm; cBrushDefinition *CurrentBrush; int VideoPosition; QImage *ForegroundImage; QImage *CachedImage; sDualQReal maxw,maxh,Hyp; QRectF SceneRect; QRectF CurScrSelRect,CurImgSelRect; bool IsCapture; // True if there is an active capture QPoint CapturePos; // Transformations TRANSFOTYPE TransfoType; qreal Move_X,Move_Y; // Blocks move qreal Scale_X,Scale_Y; // Blocks resize qreal Ratio_X,Ratio_Y; // Rulers QList MagnetVert; QList MagnetHoriz; explicit cImgInteractiveZone(QWidget *parent = 0); ~cImgInteractiveZone(); void RefreshDisplay(); void InitCachedImage(cCompositionObject *TheCompoObject,int *TheBackgroundForm,cBrushDefinition *TheCurrentBrush,int TheVideoPosition); protected: virtual void paintEvent(QPaintEvent *event); virtual void mouseMoveEvent(QMouseEvent *event); virtual void mousePressEvent(QMouseEvent *event); virtual void mouseReleaseEvent(QMouseEvent *event); virtual void keyPressEvent(QKeyEvent *event); virtual void keyReleaseEvent(QKeyEvent *event); signals: void TransformBlock(qreal Move_X,qreal Move_Y,qreal Scale_X,qreal Scale_Y); void DisplayTransformBlock(qreal Move_X,qreal Move_Y,qreal Scale_X,qreal Scale_Y); private: bool IsInRect(QPointF Pos,QRectF Rect); bool IsInSelectedRect(QPointF Pos); void ManageCursor(QPoint Pos,Qt::KeyboardModifiers Modifiers); void ComputeNewCurSelRect(QRectF &ScrRect,QRectF &ImgRect); void DrawSelect(QPainter &Painter,QRectF Rect,bool WithHandles); }; #endif // CIMGINTERACTIVEZONE_H ffDiaporama/src/ffDiaporama/DlgImage/wgt_QEditImage/cImgInteractiveZone.cpp0000777000175000001440000012442112275647234027147 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "cImgInteractiveZone.h" #include #include #define HANDLESIZEX 8 #define HANDLESIZEY 8 #define HANDLEMAGNETX 14 #define HANDLEMAGNETY 10 #define MINVALUE 0.002 // Never less than this value for width or height #define PI 3.14159265 //==================================================================================================================== cImgInteractiveZone::cImgInteractiveZone(QWidget *parent):QWidget(parent) { ForegroundImage =NULL; CachedImage =NULL; IsCapture =false; TransfoType =NOTYETDEFINED; CompoObject =NULL; BackgroundForm =NULL; CurrentBrush =NULL; VideoPosition =0; Move_X =0; Scale_X =0; Move_Y =0; Scale_Y =0; SceneRect =QRectF(0,0,0,0); setMouseTracking(true); } //==================================================================================================================== cImgInteractiveZone::~cImgInteractiveZone() { if (ForegroundImage!=NULL) { delete ForegroundImage; ForegroundImage=NULL; } if (CachedImage!=NULL) { delete CachedImage; CachedImage=NULL; } } //==================================================================================================================== void cImgInteractiveZone::InitCachedImage(cCompositionObject *TheCompoObject,int *TheBackgroundForm,cBrushDefinition *TheCurrentBrush,int TheVideoPosition) { CompoObject =TheCompoObject; BackgroundForm =TheBackgroundForm; CurrentBrush =TheCurrentBrush; VideoPosition =TheVideoPosition; if (CachedImage!=NULL) { delete CachedImage; CachedImage=NULL; } cVideoFile *Video=NULL; if (CurrentBrush->MediaObject) switch (CurrentBrush->MediaObject->ObjectType) { case OBJECTTYPE_IMAGEFILE: case OBJECTTYPE_IMAGEVECTOR: case OBJECTTYPE_IMAGECLIPBOARD: CachedImage=CurrentBrush->MediaObject->ImageAt(false); break; case OBJECTTYPE_GMAPSMAP: CachedImage=CurrentBrush->MediaObject->ImageAt(false); CurrentBrush->AddMarkerToImage(CachedImage); break; case OBJECTTYPE_VIDEOFILE: Video=(cVideoFile *)CurrentBrush->MediaObject; CachedImage=Video->ImageAt(false,VideoPosition+QTime(0,0,0,0).msecsTo(Video->StartPos),NULL,CurrentBrush->Deinterlace,1,false,false); break; default: break; // to avoid warning } if ((CachedImage)&&(CachedImage->format()!=QImage::Format_ARGB32_Premultiplied)) { QImage *NewCachedImage=new QImage(CachedImage->convertToFormat(QImage::Format_ARGB32_Premultiplied)); delete CachedImage; CachedImage=NewCachedImage; } } //==================================================================================================================== void cImgInteractiveZone::paintEvent(QPaintEvent *) { if ((!ForegroundImage)||(Hyp.Screen==0)||(Hyp.Screen==0)) return; QImage ShapeMask(ForegroundImage->width(),ForegroundImage->height(),QImage::Format_ARGB32_Premultiplied); QPainter Painter(this); Painter.save(); Painter.translate(SceneRect.left(),SceneRect.top()); Painter.drawImage(0,0,*ForegroundImage); //*********************** // Compute shape polygon //*********************** // Refresh CurImgSelRect and CurScrSelRect QRectF TmpImgSelRect=QRectF(CurrentBrush->X*Hyp.Image, CurrentBrush->Y*Hyp.Image, CurrentBrush->ZoomFactor*Hyp.Image, CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio*Hyp.Image); QRectF TmpScrSelRect=QRectF(CurrentBrush->X*Hyp.Screen,CurrentBrush->Y*Hyp.Screen,CurrentBrush->ZoomFactor*Hyp.Screen,CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio*Hyp.Screen); CurImgSelRect=PolygonToRectF(ComputePolygon(*BackgroundForm,TmpImgSelRect.left(),TmpImgSelRect.top(),TmpImgSelRect.width(),TmpImgSelRect.height())); CurScrSelRect=PolygonToRectF(ComputePolygon(*BackgroundForm,TmpScrSelRect.left(),TmpScrSelRect.top(),TmpScrSelRect.width(),TmpScrSelRect.height())); Ratio_X=TmpImgSelRect.width()/CurImgSelRect.width(); Ratio_Y=TmpImgSelRect.height()/CurImgSelRect.height(); // Compute new ImgSelRect and ScrSelRect TmpScrSelRect =QRectF((CurrentBrush->X+Move_X)*Hyp.Screen,(CurrentBrush->Y+Move_Y)*Hyp.Screen,(CurrentBrush->ZoomFactor+Scale_X)*Hyp.Screen,(CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio+Scale_Y)*Hyp.Screen); QList List=ComputePolygon(*BackgroundForm,TmpScrSelRect.left(),TmpScrSelRect.top(),TmpScrSelRect.width(),TmpScrSelRect.height()); QRectF ScrSelRect =PolygonToRectF(List); //************************** // Draw external shape mask //************************** QPainter ShapePainter; ShapePainter.begin(&ShapeMask); ShapePainter.setPen(Qt::NoPen); ShapePainter.fillRect(QRect(0,0,ShapeMask.width(),ShapeMask.height()),QBrush(0x555555)); ShapePainter.setBrush(Qt::transparent); ShapePainter.setCompositionMode(QPainter::CompositionMode_Source); for (int i=0;icopy(ScrSelRect.left(),ScrSelRect.top(),ScrSelRect.width(),ScrSelRect.height()); PartImage=CurrentBrush->ApplyFilter(PartImage); QBrush PartBrush(PartImage); PartBrush.setTransform(QTransform().translate(ScrSelRect.left(),ScrSelRect.top())); Painter.setBrush(PartBrush); for (int i=0;iwidth(); //CurrentBrush->Image?CurrentBrush->Image->ImageWidth :CurrentBrush->Video?CurrentBrush->Video->ImageWidth:0; int ImgHeight=CachedImage->height(); //CurrentBrush->Image?CurrentBrush->Image->ImageHeight:CurrentBrush->Video?CurrentBrush->Video->ImageHeight:0; sDualQReal x1,x2,x3,x4,y1,y2,y3,y4,Center; QImage *SourceImage=NULL; sDualQReal rx,ry,xtab[4],ytab[4]; qreal a,DstX,DstY,DstW,DstH; if ((CurrentBrush->MediaObject->ObjectType==OBJECTTYPE_VIDEOFILE)&&(ImgWidth==1920)&&(ImgHeight=1088)&&(CurrentBrush->ApplicationConfig->Crop1088To1080)) ImgHeight=1080; if ((ImgWidth==0)||(ImgHeight==0)) return; if (ForegroundImage!=NULL) { delete ForegroundImage; ForegroundImage=NULL; } Hyp.Screen=width()ImageRotation)*PI/180) +ry.Image*sin(CurrentBrush->ImageRotation*PI/180) +Hyp.Image/2; xtab[1].Image =+rx.Image*cos((CurrentBrush->ImageRotation)*PI/180) +ry.Image*sin(CurrentBrush->ImageRotation*PI/180) +Hyp.Image/2; xtab[2].Image =-rx.Image*cos((CurrentBrush->ImageRotation)*PI/180) -ry.Image*sin(CurrentBrush->ImageRotation*PI/180) +Hyp.Image/2; xtab[3].Image =+rx.Image*cos((CurrentBrush->ImageRotation)*PI/180) -ry.Image*sin(CurrentBrush->ImageRotation*PI/180) +Hyp.Image/2; ytab[0].Image =-rx.Image*sin((CurrentBrush->ImageRotation)*PI/180) +ry.Image*cos(CurrentBrush->ImageRotation*PI/180) +Hyp.Image/2; ytab[1].Image =+rx.Image*sin((CurrentBrush->ImageRotation)*PI/180) +ry.Image*cos(CurrentBrush->ImageRotation*PI/180) +Hyp.Image/2; ytab[2].Image =-rx.Image*sin((CurrentBrush->ImageRotation)*PI/180) -ry.Image*cos(CurrentBrush->ImageRotation*PI/180) +Hyp.Image/2; ytab[3].Image =+rx.Image*sin((CurrentBrush->ImageRotation)*PI/180) -ry.Image*cos(CurrentBrush->ImageRotation*PI/180) +Hyp.Image/2; // Sort xtab and ytab for (int i=0;i<4;i++) for (int j=0;j<3;j++) { if (xtab[j].Image>xtab[j+1].Image) { a=xtab[j+1].Image; xtab[j+1].Image =xtab[j].Image; xtab[j].Image =a; } if (ytab[j].Image>ytab[j+1].Image) { a=ytab[j+1].Image; ytab[j+1].Image =ytab[j].Image; ytab[j].Image=a; } } // Calc screen version for (int i=0;i<4;i++) { xtab[i].Screen=xtab[i].Image*(Hyp.Screen/Hyp.Image); ytab[i].Screen=ytab[i].Image*(Hyp.Screen/Hyp.Image); } maxw.Screen=xtab[3].Screen-xtab[0].Screen; maxw.Image=xtab[3].Image-xtab[0].Image; maxh.Screen=ytab[3].Screen-ytab[0].Screen; maxh.Image=ytab[3].Image-ytab[0].Image; // Rotate image if needed and create a SourceImage if (CurrentBrush->ImageRotation!=0) { QTransform matrix; matrix.rotate(CurrentBrush->ImageRotation,Qt::ZAxis); SourceImage=new QImage(CachedImage->transformed(matrix,Qt::SmoothTransformation)); // If no rotation then SourceImage=SrcImage } else SourceImage=CachedImage; // Calc coordinates of the part in the source image qreal RealImageW=qreal(SourceImage->width()); // Get real image widht qreal RealImageH=qreal(SourceImage->height()); // Get real image height DstW=RealImageW*(Hyp.Screen/Hyp.Image); DstH=RealImageH*(Hyp.Screen/Hyp.Image); DstX=((Hyp.Screen-DstW)/2); DstY=((Hyp.Screen-DstH)/2); QImage ToUseImage=SourceImage->scaled(DstW,DstH); if (SourceImage!=CachedImage) delete SourceImage; if (ToUseImage.format()!=QImage::Format_ARGB32_Premultiplied) ToUseImage=ToUseImage.convertToFormat(QImage::Format_ARGB32_Premultiplied); //CurrentBrush->ApplyFilter(&ToUseImage); ForegroundImage=new QImage(Hyp.Screen,Hyp.Screen,QImage::Format_ARGB32_Premultiplied); QPainter P; P.begin(ForegroundImage); P.fillRect(QRectF(0,0,Hyp.Screen,Hyp.Screen),Transparent); P.drawImage(QRectF(DstX,DstY,DstW,DstH),ToUseImage,QRectF(0,0,DstW,DstH)); P.end(); x1.Screen=xtab[0].Screen; y1.Screen=ytab[0].Screen; x1.Image=xtab[0].Image; y1.Image=ytab[0].Image; x2.Screen=xtab[1].Screen; y2.Screen=ytab[1].Screen; x2.Image=xtab[1].Image; y2.Image=ytab[1].Image; x3.Screen=xtab[2].Screen; y3.Screen=ytab[2].Screen; x3.Image=xtab[2].Image; y3.Image=ytab[2].Image; x4.Screen=xtab[3].Screen; y4.Screen=ytab[3].Screen; x4.Image=xtab[3].Image; y4.Image=ytab[3].Image; // Computer center ruller Center.Screen=Hyp.Screen/2; Center.Image =Hyp.Image/2; SceneRect=QRect((this->width()-ForegroundImage->width())/2,(this->height()-ForegroundImage->height())/2,Hyp.Screen,Hyp.Screen); // ************************************************************************* // Create rulers // ************************************************************************* MagnetHoriz.clear(); MagnetVert.clear(); if (MagneticRuler) { MagnetVert.append(Center); MagnetVert.append(x1); MagnetVert.append(x2); MagnetVert.append(x3); MagnetVert.append(x4); MagnetHoriz.append(Center); MagnetHoriz.append(y1); MagnetHoriz.append(y2); MagnetHoriz.append(y3); MagnetHoriz.append(y4); } // Clean collections (remove doublons) for (int i=MagnetHoriz.count()-1;i>=0;i--) for (int j=0;j=0;i--) for (int j=0;j=Rect.left())&&(Pos.x()-SceneRect.left()<=Rect.right())&&(Pos.y()-SceneRect.top()>=Rect.top())&&(Pos.y()-SceneRect.top()<=Rect.bottom())); } //==================================================================================================================== bool cImgInteractiveZone::IsInSelectedRect(QPointF Pos) { if ((Pos.x()-SceneRect.left()>=CurScrSelRect.left())&&(Pos.x()-SceneRect.left()<=CurScrSelRect.right())&& (Pos.y()-SceneRect.top()>=CurScrSelRect.top())&&(Pos.y()-SceneRect.top()<=CurScrSelRect.bottom())) return true; return false; } //==================================================================================================================== void cImgInteractiveZone::ManageCursor(QPoint Posi,Qt::KeyboardModifiers Modifiers) { QPointF Pos(Posi); if (IsInRect(Pos,QRectF(CurScrSelRect.left()-HANDLESIZEX/2, CurScrSelRect.bottom()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY))) setCursor(Qt::SizeBDiagCursor); // Bottom left else if (IsInRect(Pos,QRectF(CurScrSelRect.left()-HANDLESIZEX/2, CurScrSelRect.top()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY))) setCursor(Qt::SizeFDiagCursor); // Top left else if (IsInRect(Pos,QRectF(CurScrSelRect.left()-HANDLESIZEX/2, CurScrSelRect.top()+CurScrSelRect.height()/2-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY))) setCursor(Qt::SizeHorCursor); // Left else if (IsInRect(Pos,QRectF(CurScrSelRect.right()-HANDLESIZEX/2,CurScrSelRect.top()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY))) setCursor(Qt::SizeBDiagCursor); // Top right else if (IsInRect(Pos,QRectF(CurScrSelRect.right()-HANDLESIZEX/2,CurScrSelRect.top()+CurScrSelRect.height()/2-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY))) setCursor(Qt::SizeHorCursor); // Right else if (IsInRect(Pos,QRectF(CurScrSelRect.right()-HANDLESIZEX/2,CurScrSelRect.bottom()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY))) setCursor(Qt::SizeFDiagCursor); // Bottom right else if (IsInRect(Pos,QRectF(CurScrSelRect.left()+CurScrSelRect.width()/2-HANDLESIZEX/2,CurScrSelRect.top()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY))) setCursor(Qt::SizeVerCursor); // Top else if (IsInRect(Pos,QRectF(CurScrSelRect.left()+CurScrSelRect.width()/2-HANDLESIZEX/2,CurScrSelRect.bottom()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY))) setCursor(Qt::SizeVerCursor); // Bottom else if ((IsInSelectedRect(Pos))&&(Modifiers==Qt::NoModifier)) setCursor(Qt::OpenHandCursor); else setCursor(Qt::ArrowCursor); // standard } //==================================================================================================================== void cImgInteractiveZone::ComputeNewCurSelRect(QRectF &ScrRect,QRectF &ImgRect) { QRectF TmpRect=QRectF((CurrentBrush->X+Move_X)*Hyp.Screen,(CurrentBrush->Y+Move_Y)*Hyp.Screen,(CurrentBrush->ZoomFactor+Scale_X)*Hyp.Screen,(CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio+Scale_Y)*Hyp.Screen); ScrRect =PolygonToRectF(ComputePolygon(*BackgroundForm,TmpRect.left(),TmpRect.top(),TmpRect.width(),TmpRect.height())); TmpRect =QRectF((CurrentBrush->X+Move_X)*Hyp.Image,(CurrentBrush->Y+Move_Y)*Hyp.Image,(CurrentBrush->ZoomFactor+Scale_X)*Hyp.Image,(CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio+Scale_Y)*Hyp.Image); ImgRect =PolygonToRectF(ComputePolygon(*BackgroundForm,TmpRect.left(),TmpRect.top(),TmpRect.width(),TmpRect.height())); } //==================================================================================================================== void cImgInteractiveZone::keyPressEvent(QKeyEvent *event) { if (!CurrentBrush) return; ManageCursor(mapFromGlobal(QCursor::pos()),event->modifiers()); qreal Step; Step =qreal(1)/Hyp.Screen; Move_X =0; Scale_X =0; Move_Y =0; Scale_Y =0; switch (event->key()) { case Qt::Key_Left: if (event->modifiers()==Qt::ShiftModifier) { Move_X =-Step; Scale_X=Step*Ratio_X; Move_Y =CurrentBrush->LockGeometry?(Move_X*Hyp.Screen*CurrentBrush->AspectRatio)/Hyp.Screen:0; Scale_Y=(CurrentBrush->LockGeometry?(Step*Hyp.Screen*CurrentBrush->AspectRatio)/Hyp.Screen:0)*Ratio_Y; } else if (event->modifiers()==Qt::ControlModifier) { Scale_X=-Step*Ratio_X; Scale_Y=(CurrentBrush->LockGeometry?-(CurrentBrush->AspectRatio*Step*Hyp.Screen)/Hyp.Screen:0)*Ratio_Y; } else { Move_X=-Step; } break; case Qt::Key_Right: if (event->modifiers()==Qt::ShiftModifier) { Move_X =Step; Scale_X=-Step*Ratio_X; Move_Y =CurrentBrush->LockGeometry?(Move_X*Hyp.Screen*CurrentBrush->AspectRatio)/Hyp.Screen:0; Scale_Y=(CurrentBrush->LockGeometry?-(Step*Hyp.Screen*CurrentBrush->AspectRatio)/Hyp.Screen:0)*Ratio_Y; } else if (event->modifiers()==Qt::ControlModifier) { Scale_X=Step; Scale_Y=(CurrentBrush->LockGeometry?(Step*Hyp.Screen*CurrentBrush->AspectRatio)/Hyp.Screen:0)*Ratio_Y; } else { Move_X=Step; } break; case Qt::Key_Up: if (event->modifiers()==Qt::ShiftModifier) { Move_Y =-Step; Scale_Y=Step*Ratio_Y; Move_X =CurrentBrush->LockGeometry?((Move_Y*Hyp.Screen)/CurrentBrush->AspectRatio)/Hyp.Screen:0; Scale_X=(CurrentBrush->LockGeometry?((Step*Hyp.Screen)/CurrentBrush->AspectRatio)/Hyp.Screen:0)*Ratio_X; } else if (event->modifiers()==Qt::ControlModifier) { Scale_Y=-Step; Scale_X=(CurrentBrush->LockGeometry?-(Step*Hyp.Screen*CurrentBrush->AspectRatio)/Hyp.Screen:0)*Ratio_X; } else { Move_Y=-Step; } break; case Qt::Key_Down: if (event->modifiers()==Qt::ShiftModifier) { Move_Y =Step; Scale_Y=-Step*Ratio_Y; Move_X =CurrentBrush->LockGeometry?((Move_Y*Hyp.Screen)/CurrentBrush->AspectRatio)/Hyp.Screen:0; Scale_X=(CurrentBrush->LockGeometry?-((Step*Hyp.Screen)/CurrentBrush->AspectRatio)/Hyp.Screen:0)*Ratio_X; } else if (event->modifiers()==Qt::ControlModifier) { Scale_Y=Step; Scale_X=(CurrentBrush->LockGeometry?((Step*Hyp.Screen)/CurrentBrush->AspectRatio)/Hyp.Screen:0)*Ratio_X; } else { Move_Y=Step; } break; default : QWidget::keyPressEvent(event); break; } if ((Move_X!=0)||(Move_Y!=0)||(Scale_X!=0)||(Scale_Y!=0)) emit TransformBlock(Move_X,Move_Y,Scale_X,Scale_Y); } //==================================================================================================================== void cImgInteractiveZone::keyReleaseEvent(QKeyEvent *event) { if (!CurrentBrush) return; ManageCursor(mapFromGlobal(QCursor::pos()),event->modifiers()); QWidget::keyReleaseEvent(event); } //==================================================================================================================== void cImgInteractiveZone::mouseMoveEvent(QMouseEvent *event) { if (!CurrentBrush) return; if (!IsCapture) { ManageCursor(event->pos(),event->modifiers()); } else { // ************************************************************************* // Calc transformation // ************************************************************************* qreal DX=(qreal(event->pos().x()-CapturePos.x())/Hyp.Screen); qreal DY=(qreal(event->pos().y()-CapturePos.y())/Hyp.Screen); QRectF NewCurScrSelRect,NewCurImgSelRect; // Top left if (TransfoType==RESIZEUPLEFT) { // Adjust DX and DY for resize not less than 0 if (DX>=CurrentBrush->ZoomFactor-MINVALUE) DX=CurrentBrush->ZoomFactor-MINVALUE; if (DY>=CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio-MINVALUE) DY=CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio-MINVALUE; Move_X =DX; Move_Y =CurrentBrush->LockGeometry?(Move_X*CurrentBrush->AspectRatio):DY; Scale_X =-Move_X*Ratio_X; Scale_Y =-Move_Y*Ratio_Y; ComputeNewCurSelRect(NewCurScrSelRect,NewCurImgSelRect); // Apply magnetic rules vertical for (int Ruller=0;Ruller=MagnetVert[Ruller].Screen-HANDLEMAGNETX)&&(NewCurScrSelRect.left()<=MagnetVert[Ruller].Screen+HANDLEMAGNETX)) { Move_X =(MagnetVert[Ruller].Image-CurImgSelRect.left())/Hyp.Image; if (CurrentBrush->LockGeometry) Move_Y=(Move_X*CurrentBrush->AspectRatio); Scale_X=-Move_X*Ratio_X; Scale_Y=-Move_Y*Ratio_Y; break; } // Apply magnetic rules horizontal for (int Ruller=0;Ruller=MagnetHoriz[Ruller].Screen-HANDLEMAGNETY)&&(NewCurScrSelRect.top()<=MagnetHoriz[Ruller].Screen+HANDLEMAGNETY)) { Move_Y =(MagnetHoriz[Ruller].Image-CurImgSelRect.top())/Hyp.Image; if (CurrentBrush->LockGeometry) Move_X=(Move_Y/CurrentBrush->AspectRatio); Scale_X=-Move_X*Ratio_X; Scale_Y=-Move_Y*Ratio_Y; break; } // Left } else if (TransfoType==RESIZELEFT) { // Adjust DX and DY for resize not less than 0 if (DX>=CurrentBrush->ZoomFactor-MINVALUE) DX=CurrentBrush->ZoomFactor-MINVALUE; if (DY>=CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio-MINVALUE) DY=CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio-MINVALUE; Move_X =DX; Scale_X=-Move_X*Ratio_X; if (CurrentBrush->LockGeometry) { Scale_Y=(Scale_X*Hyp.Image*CurrentBrush->AspectRatio)/Hyp.Image; Move_Y =-Scale_Y/2; } ComputeNewCurSelRect(NewCurScrSelRect,NewCurImgSelRect); // Apply magnetic rules vertical for (int Ruller=0;Ruller=MagnetVert[Ruller].Screen-HANDLEMAGNETX)&&(NewCurScrSelRect.left()<=MagnetVert[Ruller].Screen+HANDLEMAGNETX)) { //Move_X =(MagnetVert[Ruller].Image-CurrentBrush->X*Hyp.Image)/Hyp.Image; Move_X =(MagnetVert[Ruller].Image-CurImgSelRect.left())/Hyp.Image; Scale_X=-Move_X*Ratio_X; if (CurrentBrush->LockGeometry) { Scale_Y=(Scale_X*Hyp.Image*CurrentBrush->AspectRatio)/Hyp.Image; Move_Y =-Scale_Y/2; } break; } // Bottom left } else if (TransfoType==RESIZEDOWNLEFT) { // Adjust DX and DY for resize not less than 0 if (CurrentBrush->ZoomFactor!=0) { if (DX>=CurrentBrush->ZoomFactor-MINVALUE) DX=CurrentBrush->ZoomFactor-MINVALUE; if (DY<=-(CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio-MINVALUE)) DY=-(CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio-MINVALUE); } Move_X =DX; Scale_X =-Move_X*Ratio_X; Move_Y =0; Scale_Y =(CurrentBrush->LockGeometry?(-Move_X*Hyp.Image*CurrentBrush->AspectRatio)/Hyp.Image:DY)*Ratio_Y; ComputeNewCurSelRect(NewCurScrSelRect,NewCurImgSelRect); // Apply magnetic rules vertical for (int Ruller=0;Ruller=MagnetVert[Ruller].Screen-HANDLEMAGNETX)&&(NewCurScrSelRect.left()<=MagnetVert[Ruller].Screen+HANDLEMAGNETX)) { Move_X =(MagnetVert[Ruller].Image-CurImgSelRect.left())/Hyp.Image; Scale_X=-Move_X*Ratio_X; if (CurrentBrush->LockGeometry) Scale_Y=-((Move_X*Hyp.Image*CurrentBrush->AspectRatio)/Hyp.Image)*Ratio_Y; break; } // Apply magnetic rules horizontal for (int Ruller=0;RullerNewCurScrSelRect.top())&&(NewCurScrSelRect.bottom()>=MagnetHoriz[Ruller].Screen-HANDLEMAGNETY)&&(NewCurScrSelRect.bottom()<=MagnetHoriz[Ruller].Screen+HANDLEMAGNETY)) { Scale_Y =((MagnetHoriz[Ruller].Image-CurImgSelRect.bottom())/Hyp.Image)*Ratio_Y; if (CurrentBrush->LockGeometry) { Move_X =-(((MagnetHoriz[Ruller].Image-CurImgSelRect.bottom())/Hyp.Image)*Hyp.Image/CurrentBrush->AspectRatio)/Hyp.Image; Scale_X=-Move_X*Ratio_X; } break; } // Top right } else if (TransfoType==RESIZEUPRIGHT) { // Adjust DX and DY for resize not less than 0 if (DX<=-(CurrentBrush->ZoomFactor-MINVALUE)) DX=-(CurrentBrush->ZoomFactor-MINVALUE); if (DY>=CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio-MINVALUE) DY=CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio-MINVALUE; Move_X =0; Move_Y =CurrentBrush->LockGeometry?(-DX*Hyp.Image*CurrentBrush->AspectRatio)/Hyp.Image:DY; Scale_X =DX*Ratio_X; Scale_Y =-Move_Y*Ratio_Y; ComputeNewCurSelRect(NewCurScrSelRect,NewCurImgSelRect); // Apply magnetic rules vertical for (int Ruller=0;RullerNewCurScrSelRect.left())&&(NewCurScrSelRect.right()>=MagnetVert[Ruller].Screen-HANDLEMAGNETX)&&(NewCurScrSelRect.right()<=MagnetVert[Ruller].Screen+HANDLEMAGNETX)) { Scale_X=(MagnetVert[Ruller].Image-CurImgSelRect.right())/Hyp.Image*Ratio_X; if (CurrentBrush->LockGeometry) Move_Y=-((MagnetVert[Ruller].Image-CurImgSelRect.right())/Hyp.Image)*CurrentBrush->AspectRatio; Scale_Y=-Move_Y*Ratio_Y; break; } // Apply magnetic rules horizontal for (int Ruller=0;Ruller=MagnetHoriz[Ruller].Screen-HANDLEMAGNETY)&&(NewCurScrSelRect.top()<=MagnetHoriz[Ruller].Screen+HANDLEMAGNETY)) { Move_Y =(MagnetHoriz[Ruller].Image-CurImgSelRect.top())/Hyp.Image; if (CurrentBrush->LockGeometry) Scale_X=-(Move_Y/CurrentBrush->AspectRatio)*Ratio_X; Scale_Y=-Move_Y*Ratio_Y; break; } // Right } else if (TransfoType==RESIZERIGHT) { // Adjust DX and DY for resize not less than 0 if (DX<=-(CurrentBrush->ZoomFactor-MINVALUE)) DX=-(CurrentBrush->ZoomFactor-MINVALUE); if (DY<=-(CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio-MINVALUE)) DY=-(CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio-MINVALUE); Move_X =0; Scale_X=DX*Ratio_X; if (CurrentBrush->LockGeometry) { Scale_Y=(DX*CurrentBrush->AspectRatio)*Ratio_Y; Move_Y =-DX*CurrentBrush->AspectRatio/2; } ComputeNewCurSelRect(NewCurScrSelRect,NewCurImgSelRect); // Apply magnetic rules vertical for (int Ruller=0;RullerNewCurScrSelRect.left())&&(NewCurScrSelRect.right()>=MagnetVert[Ruller].Screen-HANDLEMAGNETX)&&(NewCurScrSelRect.right()<=MagnetVert[Ruller].Screen+HANDLEMAGNETX)) { Scale_X=(MagnetVert[Ruller].Image-CurImgSelRect.right())/Hyp.Image*Ratio_X; if (CurrentBrush->LockGeometry) Move_Y=-(((MagnetVert[Ruller].Image-CurImgSelRect.right())/Hyp.Image)*Hyp.Image*CurrentBrush->AspectRatio)/Hyp.Image/2; Scale_Y=-Move_Y*2*Ratio_Y; break; } // Bottom right } else if (TransfoType==RESIZEDOWNRIGHT) { // Adjust DX and DY for resize not less than 0 if (DX<=-(CurrentBrush->ZoomFactor-MINVALUE)) DX=-(CurrentBrush->ZoomFactor-MINVALUE); if (DY<=-(CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio-MINVALUE)) DY=-(CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio-MINVALUE); Move_X =0; Scale_X =DX*Ratio_X; Move_Y =0; Scale_Y =(CurrentBrush->LockGeometry?(DX*CurrentBrush->AspectRatio):DY)*Ratio_Y; ComputeNewCurSelRect(NewCurScrSelRect,NewCurImgSelRect); // Apply magnetic rules vertical for (int Ruller=0;RullerNewCurScrSelRect.left())&&(NewCurScrSelRect.right()>=MagnetVert[Ruller].Screen-HANDLEMAGNETX)&&(NewCurScrSelRect.right()<=MagnetVert[Ruller].Screen+HANDLEMAGNETX)) { Scale_X=(MagnetVert[Ruller].Image-CurImgSelRect.right())/Hyp.Image*Ratio_X; if (CurrentBrush->LockGeometry) Scale_Y=(((MagnetVert[Ruller].Image-CurImgSelRect.right())/Hyp.Image)*CurrentBrush->AspectRatio)*Ratio_Y; break; } // Apply magnetic rules horizontal for (int Ruller=0;RullerNewCurScrSelRect.top())&&(NewCurScrSelRect.bottom()>=MagnetHoriz[Ruller].Screen-HANDLEMAGNETY)&&(NewCurScrSelRect.bottom()<=MagnetHoriz[Ruller].Screen+HANDLEMAGNETY)) { Scale_Y =((MagnetHoriz[Ruller].Image-CurImgSelRect.bottom())/Hyp.Image)*Ratio_Y; if (CurrentBrush->LockGeometry) Scale_X=(((MagnetHoriz[Ruller].Image-CurImgSelRect.bottom())/Hyp.Image)/CurrentBrush->AspectRatio)*Ratio_X; break; } // Top } else if (TransfoType==RESIZEUP) { // Adjust DX and DY for resize not less than 0 if (DY>=CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio-MINVALUE) DY=CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio-MINVALUE; Move_Y =DY; Scale_Y=-Move_Y*Ratio_Y; if (CurrentBrush->LockGeometry) { Scale_X=-(DY/CurrentBrush->AspectRatio)*Ratio_X; Move_X =(DY/CurrentBrush->AspectRatio)/2; } ComputeNewCurSelRect(NewCurScrSelRect,NewCurImgSelRect); // Apply magnetic rules horizontal for (int Ruller=0;Ruller=MagnetHoriz[Ruller].Screen-HANDLEMAGNETY)&&(NewCurScrSelRect.top()<=MagnetHoriz[Ruller].Screen+HANDLEMAGNETY)) { Move_Y =(MagnetHoriz[Ruller].Image-CurImgSelRect.top())/Hyp.Image; Scale_Y=-Move_Y*Ratio_Y; if (CurrentBrush->LockGeometry) { Scale_X=-(Move_Y/CurrentBrush->AspectRatio)*Ratio_X; Move_X =(Move_Y/CurrentBrush->AspectRatio)/2; } break; } // Bottom } else if (TransfoType==RESIZEDOWN) { // Adjust DX and DY for resize not less than 0 if (DY<=-(CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio-MINVALUE)) DY=-(CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio-MINVALUE); Move_Y =0; Scale_Y=DY*Ratio_Y; if (CurrentBrush->LockGeometry) { Scale_X=(DY/CurrentBrush->AspectRatio)*Ratio_X; Move_X =-(DY/CurrentBrush->AspectRatio)/2; } ComputeNewCurSelRect(NewCurScrSelRect,NewCurImgSelRect); // Apply magnetic rules horizontal for (int Ruller=0;RullerNewCurScrSelRect.top())&&(NewCurScrSelRect.bottom()>=MagnetHoriz[Ruller].Screen-HANDLEMAGNETY)&&(NewCurScrSelRect.bottom()<=MagnetHoriz[Ruller].Screen+HANDLEMAGNETY)) { Scale_Y =((MagnetHoriz[Ruller].Image-CurImgSelRect.bottom())/Hyp.Image)*Ratio_Y; if (CurrentBrush->LockGeometry) { Scale_X=(((MagnetHoriz[Ruller].Image-CurImgSelRect.bottom())/Hyp.Image)/CurrentBrush->AspectRatio)*Ratio_X; Move_X =-(((MagnetHoriz[Ruller].Image-CurImgSelRect.bottom())/Hyp.Image)/CurrentBrush->AspectRatio)/2; } break; } //***************************** // Move //***************************** } else if (TransfoType==MOVEBLOCK) { Move_X =DX; Move_Y =DY; Scale_X=0; Scale_Y=0; if (MagneticRuler!=0) { ComputeNewCurSelRect(NewCurScrSelRect,NewCurImgSelRect); // Apply magnetic rules vertical for (int Ruller=0;Ruller=MagnetVert[Ruller].Screen-HANDLEMAGNETX)&&(NewCurScrSelRect.left()<=MagnetVert[Ruller].Screen+HANDLEMAGNETX)) { Move_X=(MagnetVert[Ruller].Image-CurImgSelRect.left())/Hyp.Image; break; } else if ((NewCurScrSelRect.right()>=MagnetVert[Ruller].Screen-HANDLEMAGNETX)&&(NewCurScrSelRect.right()<=MagnetVert[Ruller].Screen+HANDLEMAGNETX)) { Move_X=(MagnetVert[Ruller].Image-CurImgSelRect.right())/Hyp.Image; break; } else if ((NewCurScrSelRect.center().x()>=MagnetVert[Ruller].Screen-HANDLEMAGNETX)&&(NewCurScrSelRect.center().x()<=MagnetVert[Ruller].Screen+HANDLEMAGNETX)) { Move_X=(MagnetVert[Ruller].Image-CurImgSelRect.center().x())/Hyp.Image; break; } } // Apply magnetic rules horizontal for (int Ruller=0;Ruller=MagnetHoriz[Ruller].Screen-HANDLEMAGNETY)&&(NewCurScrSelRect.top()<=MagnetHoriz[Ruller].Screen+HANDLEMAGNETY)) { Move_Y=(MagnetHoriz[Ruller].Image-CurImgSelRect.top())/Hyp.Image; break; } else if ((NewCurScrSelRect.bottom()>=MagnetHoriz[Ruller].Screen-HANDLEMAGNETY)&&(NewCurScrSelRect.bottom()<=MagnetHoriz[Ruller].Screen+HANDLEMAGNETY)) { Move_Y=(MagnetHoriz[Ruller].Image-CurImgSelRect.bottom())/Hyp.Image; break; } else if ((NewCurScrSelRect.center().y()>=MagnetHoriz[Ruller].Screen-HANDLEMAGNETY)&&(NewCurScrSelRect.center().y()<=MagnetHoriz[Ruller].Screen+HANDLEMAGNETY)) { Move_Y=(MagnetHoriz[Ruller].Image-CurImgSelRect.center().y())/Hyp.Image; break; } } } } // Refresh display emit DisplayTransformBlock(Move_X,Move_Y,Scale_X,Scale_Y); repaint(); } } //==================================================================================================================== void cImgInteractiveZone::mousePressEvent(QMouseEvent *event) { if (!CurrentBrush) return; ManageCursor(event->pos(),event->modifiers()); setFocus(); if ((event->button()==Qt::LeftButton)&&(event->modifiers()==Qt::NoModifier)) { QRectF CurImgSelRect=QRectF(CurrentBrush->X*Hyp.Image, CurrentBrush->Y*Hyp.Image, CurrentBrush->ZoomFactor*Hyp.Image, CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio*Hyp.Image); QRectF CurScrSelRect=QRectF(CurrentBrush->X*Hyp.Screen,CurrentBrush->Y*Hyp.Screen,CurrentBrush->ZoomFactor*Hyp.Screen,CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio*Hyp.Screen); CurImgSelRect=PolygonToRectF(ComputePolygon(*BackgroundForm,CurImgSelRect.left(),CurImgSelRect.top(),CurImgSelRect.width(),CurImgSelRect.height())); CurScrSelRect=PolygonToRectF(ComputePolygon(*BackgroundForm,CurScrSelRect.left(),CurScrSelRect.top(),CurScrSelRect.width(),CurScrSelRect.height())); TransfoType =NOTYETDEFINED; Move_X =0; Scale_X =0; Move_Y =0; Scale_Y =0; CapturePos =event->pos(); // Resize if ((IsInRect(event->pos(),QRect(CurScrSelRect.left()-HANDLESIZEX/2, CurScrSelRect.bottom()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY)))) TransfoType=RESIZEDOWNLEFT; // Bottom left else if ((IsInRect(event->pos(),QRect(CurScrSelRect.left()-HANDLESIZEX/2,CurScrSelRect.top()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY)))) TransfoType=RESIZEUPLEFT; // Top left else if ((IsInRect(event->pos(),QRect(CurScrSelRect.left()-HANDLESIZEX/2, CurScrSelRect.top()+CurScrSelRect.height()/2-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY)))) TransfoType=RESIZELEFT; // Left else if ((IsInRect(event->pos(),QRect(CurScrSelRect.right()-HANDLESIZEX/2,CurScrSelRect.top()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY)))) TransfoType=RESIZEUPRIGHT; // Top right else if ((IsInRect(event->pos(),QRect(CurScrSelRect.right()-HANDLESIZEX/2,CurScrSelRect.top()+CurScrSelRect.height()/2-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY)))) TransfoType=RESIZERIGHT; // Right else if ((IsInRect(event->pos(),QRect(CurScrSelRect.right()-HANDLESIZEX/2,CurScrSelRect.bottom()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY)))) TransfoType=RESIZEDOWNRIGHT;// Bottom right else if ((IsInRect(event->pos(),QRect(CurScrSelRect.left()+CurScrSelRect.width()/2-HANDLESIZEX/2,CurScrSelRect.top()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY)))) TransfoType=RESIZEUP; // Top else if ((IsInRect(event->pos(),QRect(CurScrSelRect.left()+CurScrSelRect.width()/2-HANDLESIZEX/2,CurScrSelRect.bottom()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY)))) TransfoType=RESIZEDOWN; // Bottom // Move else if (IsInSelectedRect(event->pos())) { TransfoType=MOVEBLOCK; setCursor(Qt::ClosedHandCursor); } IsCapture =(TransfoType!=NOTYETDEFINED); } } //==================================================================================================================== void cImgInteractiveZone::mouseReleaseEvent(QMouseEvent *event) { if ((!CurrentBrush)||(!IsCapture)) return; IsCapture=false; // Block move if (((Move_X!=0)||(Move_Y!=0)||(Scale_X!=0)||(Scale_Y!=0))) emit TransformBlock(Move_X,Move_Y,Scale_X,Scale_Y); ManageCursor(event->pos(),event->modifiers()); } ffDiaporama/src/ffDiaporama/DlgGMapsLocation/0000777000175000001440000000000012275647317021351 5ustar dominiqueusersffDiaporama/src/ffDiaporama/DlgGMapsLocation/DlgGMapsLocation.ui0000777000175000001440000004216412275647316025050 0ustar dominiqueusers DlgGMapsLocation 0 0 487 427 Sans Serif Select a location 4 4 4 4 4 Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 2 2 0 0 0 0 0 0 Icon: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 0 0 0 0 0 64 64 64 64 Click to select an icon 64 64 0 0 0 0 0 Edit icon :/img/EditImage.png:/img/EditImage.png Remove icon :/img/trash.png:/img/trash.png Qt::Horizontal 40 20 0 0 0 0 0 0 0 Enter the postal adress to find in this zone. true Open the favorite menu :/img/favorite_menu.png:/img/favorite_menu.png Google address: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Friendly address: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Give a friendly address for this location 0 0 Friendly name: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Give a friendly name for this location 4 0 0 0 0 0 0 200 200 620 620 CrossCursor Click on the map to select a location 2 0 0 0 0 0 24 16777215 24 Increase zoom level :/img/zoomup.png:/img/zoomup.png 24 0 24 16777215 Adjust zoom level 1 20 Qt::Vertical QSlider::TicksBothSides 0 24 16777215 24 Decrease zoom level :/img/zoomdown.png:/img/zoomdown.png 0 0 Latitude: Longitude: 0 0 Qt::Horizontal 4 Qt::Horizontal 40 20 Accept modification and exit dialog box &Ok :/img/action_ok.png:/img/action_ok.png Cancel modification and exit dialog box &Cancel :/img/action_cancel.png:/img/action_cancel.png Show help about this dialogue box &Help :/img/help.png:/img/help.png :/img/add_image.png:/img/add_image.png Select another file :/img/EditImage.png:/img/EditImage.png Edit current image NameED AdresseCB FavoriteBT AddressNameED IconBT EditIconBT ClearIconBT ZoomUp ZoomSlider ZoomDown OKBT CancelBt HelpBt ffDiaporama/src/ffDiaporama/DlgGMapsLocation/DlgGMapsLocation.h0000777000175000001440000001262012275647317024655 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef DLGGMAPSLOCATION_H #define DLGGMAPSLOCATION_H // Basic inclusions (common to all files) #include "CustomCtrl/_QCustomDialog.h" #include "engine/cLocation.h" #include #include #include #include namespace Ui { class DlgGMapsLocation; } //********************************************************************** class cCustomMapWidget : public QLabel { Q_OBJECT public: int X,Y; explicit cCustomMapWidget(QWidget *Parent,Qt::WindowFlags f=0); protected: virtual void mouseReleaseEvent(QMouseEvent *ev); signals: void ClickOnMap(); }; //********************************************************************** class DlgGMapsLocation : public QCustomDialog { Q_OBJECT public: cLocation *Location; qlonglong PrevRessourceKey; cCustomMapWidget *MapWidget; QString ReceiveLatLng; QByteArray ReceiveMap; QString ReceiveAddress; QImage CurrentMap; bool StopMaj; explicit DlgGMapsLocation(cLocation *Location,cApplicationConfig *ApplicationConfig,QWidget *parent=0); ~DlgGMapsLocation(); // function to be overloaded virtual void DoInitDialog(); // Initialise dialog virtual bool DoAccept(); // Call when user click on Ok button virtual void DoRejet(); // Call when user click on Cancel button virtual void PrepareGlobalUndo(); // Initiale Undo virtual void DoGlobalUndo(); // Apply Undo : call when user click on Cancel button void NoMoreRetry(); virtual void keyPressEvent(QKeyEvent* e); virtual void resizeEvent(QResizeEvent *); protected slots: // GMaps functions void httpGetLatLngReadyRead(); // Function used when gmaps send data on a get geocode (coordinates for address) request void httpGetLatLngFinished(); // Function used when get geocode (coordinates for address) request end void httpGetMapReadyRead(); // Function used when gmaps send data on a get staticmap request void httpGetMapFinished(); // Function used when get staticmap request end void httpGetAddressReadyRead(); // Function used when gmaps send data on a get geocode (address for coordinates) request void httpGetAddressFinished(); // Function used when get geocode (address for coordinates) request end // Interface functions void RefreshMap(); void ZoomDown(); // When clicked on zoom down button void ZoomUp(); // When clicked on zoom up button void ZoomChanged(int); // When zoomlevel has changed void NameChanged(QString NewText); void AddressNameChanged(QString NewText); void AddressChanged(QString NewText); // When a new selection is done on the combo void AddressChanged(int); // When a new selection is done on the combo void UserEnterAddress(); // When user enter a new address in the combo void ClickOnMap(); // When user click on the map void Favorite(); void SelectIcon(); void ClearIcon(); private: Ui::DlgGMapsLocation *ui; QNetworkAccessManager *NetworkAccessManager; bool GetLatLngAtWork,GetMapAtWork,GetAddressAtWork,NoMap; QNetworkReply *GetLatLngNetReply,*GetMapNetReply,*GetAddressNetReply; int RetryCount; QString GetNodeValue(QDomElement Node,QString NodeName); // Utility function used to retrieve a value from a xml node }; #endif // DLGGMAPSLOCATION_H ffDiaporama/src/ffDiaporama/DlgGMapsLocation/DlgGMapsLocation.cpp0000777000175000001440000010155112275647317025212 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "DlgGMapsLocation.h" #include "ui_DlgGMapsLocation.h" #include "DlgFileExplorer/DlgFileExplorer.h" #include "DlgImage/DlgImageCorrection.h" #include "engine/cLocation.h" #include #define MAXRETRY 10 #define MAPSIZE 620 //==================================================================================================================== cCustomMapWidget::cCustomMapWidget(QWidget *Parent,Qt::WindowFlags f):QLabel(Parent,f) { setMinimumSize(200,200); setMaximumSize(MAPSIZE,MAPSIZE); Parent->setMaximumSize(MAPSIZE,MAPSIZE); setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding); } void cCustomMapWidget::mouseReleaseEvent(QMouseEvent *ev) { QLabel::mouseReleaseEvent(ev); if (ev->button()==Qt::LeftButton) { X=ev->x(); Y=ev->y(); emit ClickOnMap(); } } //******************************************************************************************************************** DlgGMapsLocation::DlgGMapsLocation(cLocation *Location,cApplicationConfig *ApplicationConfig,QWidget *parent):QCustomDialog(ApplicationConfig,parent),ui(new Ui::DlgGMapsLocation) { ui->setupUi(this); OkBt =ui->OKBT; CancelBt =ui->CancelBt; HelpBt =ui->HelpBt; HelpFile ="0123"; this->Location =Location; PrevRessourceKey =Location->ThumbnailResKey; StopMaj =false; NetworkAccessManager=ApplicationConfig->GetNetworkAccessManager(this); } //============================================================================================================================ DlgGMapsLocation::~DlgGMapsLocation() { delete ui; if (NetworkAccessManager) NetworkAccessManager->deleteLater(); } //============================================================================================================================ void DlgGMapsLocation::DoInitDialog() { ui->actionSelectAnotherFile->setIconVisibleInMenu(true); ui->actionEditCurrentImage->setIconVisibleInMenu(true); if (!Location->Address.isEmpty()) { ui->AdresseCB->addItem(Location->Address,QVariant(QPointF(Location->GPS_cx,Location->GPS_cy))); ui->AdresseCB->setCurrentIndex(0); QTimer::singleShot(LATENCY,this,SLOT(RefreshMap())); } if (!Location->Name.isEmpty()) ui->NameED->setText(Location->Name); if (!Location->FriendlyAddress.isEmpty()) ui->AddressNameED->setText(Location->FriendlyAddress); GetLatLngAtWork=GetMapAtWork=GetAddressAtWork=NoMap=false; GetLatLngNetReply=GetMapNetReply=GetAddressNetReply=NULL; RetryCount=0; ui->IconBT->setIcon(QIcon(QPixmap().fromImage(Location->GetThumb(64)))); ui->OKBT->setEnabled(!Location->Address.isEmpty() && !Location->Name.isEmpty() && (ui->AdresseCB->currentIndex()!=-1)); // Add CustomMapWidget MapWidget=new cCustomMapWidget(ui->Map); QVBoxLayout *Layout=new QVBoxLayout(ui->Map); Layout->setSpacing(0); Layout->setContentsMargins(0, 0, 0, 0); Layout->addWidget(MapWidget); // Other ui->ZoomSlider->setValue(Location->ZoomLevel); ui->ZoomDown->setEnabled(false); ui->ZoomUp->setEnabled(false); ui->ZoomSlider->setEnabled(false); connect(ui->AdresseCB,SIGNAL(editTextChanged(QString)),this,SLOT(AddressChanged(QString))); connect(ui->AdresseCB,SIGNAL(currentIndexChanged(int)),this,SLOT(AddressChanged(int))); connect(ui->AddressNameED,SIGNAL(textChanged(QString)),this,SLOT(AddressNameChanged(QString))); connect(ui->NameED,SIGNAL(textChanged(QString)),this,SLOT(NameChanged(QString))); connect(MapWidget,SIGNAL(ClickOnMap()),this,SLOT(ClickOnMap())); connect(ui->ZoomSlider,SIGNAL(valueChanged(int)),this,SLOT(ZoomChanged(int))); connect(ui->ZoomDown,SIGNAL(pressed()),this,SLOT(ZoomDown())); connect(ui->ZoomUp,SIGNAL(pressed()),this,SLOT(ZoomUp())); connect(ui->ZoomUp,SIGNAL(pressed()),this,SLOT(ZoomUp())); connect(ui->IconBT,SIGNAL(pressed()),this,SLOT(SelectIcon())); connect(ui->EditIconBT,SIGNAL(pressed()),this,SLOT(SelectIcon())); connect(ui->ClearIconBT,SIGNAL(pressed()),this,SLOT(ClearIcon())); connect(ui->FavoriteBT,SIGNAL(pressed()),this,SLOT(Favorite())); } //============================================================================================================================ // Save object before modification for cancel button void DlgGMapsLocation::PrepareGlobalUndo() { Undo=new QDomDocument(APPLICATION_NAME); QDomElement root=Undo->createElement("UNDO-DLG"); // Create xml document and root Location->SaveToXML(&root,"UNDO-DLG-OBJECT","",true,NULL,NULL,false); // Save object Undo->appendChild(root); // Add object to xml document } //============================================================================================================================ // Apply Undo : call when user click on Cancel button void DlgGMapsLocation::DoGlobalUndo() { QDomElement root=Undo->documentElement(); if (root.tagName()=="UNDO-DLG") Location->LoadFromXML(&root,"UNDO-DLG-OBJECT","",NULL,NULL,NULL,false); } //============================================================================================================================ void DlgGMapsLocation::resizeEvent(QResizeEvent *) { RefreshMap(); } //==================================================================================================================== bool DlgGMapsLocation::DoAccept() { return true; } void DlgGMapsLocation::DoRejet() { QApplication::restoreOverrideCursor(); } //============================================================================================================================ void DlgGMapsLocation::NameChanged(QString NewText) { if (StopMaj) return; Location->Name=NewText; ui->OKBT->setEnabled(!Location->Address.isEmpty() && !Location->Name.isEmpty() && (ui->AdresseCB->currentIndex()!=-1)); } void DlgGMapsLocation::AddressNameChanged(QString NewText) { if (StopMaj) return; Location->FriendlyAddress=NewText; ui->OKBT->setEnabled(!Location->Address.isEmpty() && !Location->Name.isEmpty() && (ui->AdresseCB->currentIndex()!=-1)); } void DlgGMapsLocation::AddressChanged(QString NewText) { if (StopMaj) return; Location->Address=NewText; Location->FriendlyAddress=NewText; StopMaj=true; ui->AddressNameED->setText(NewText); StopMaj=false; ui->OKBT->setEnabled(!Location->Address.isEmpty() && !Location->Name.isEmpty() && (ui->AdresseCB->currentIndex()!=-1)); } //==================================================================================================================== // Utility function used to retrieve a value from a xml node QString DlgGMapsLocation::GetNodeValue(QDomElement Node,QString NodeName) { QStringList NodeList=NodeName.split("##"); while (NodeList.count()>1) { if ((Node.elementsByTagName(NodeList[0]).length()>0)&&(Node.elementsByTagName(NodeList[0]).item(0).isElement())) Node=Node.elementsByTagName(NodeList[0]).item(0).toElement(); else return ""; NodeList.removeFirst(); } if ((Node.elementsByTagName(NodeList[0]).length()>0)&&(Node.elementsByTagName(NodeList[0]).item(0).isElement())&&(Node.elementsByTagName(NodeList[0]).item(0).toElement().hasChildNodes())) return Node.elementsByTagName(NodeList[0]).item(0).toElement().childNodes().at(0).nodeValue(); else return ""; } //==================================================================================================================== // Function used when gmaps send data on a get geocode (coordinates for Address) request void DlgGMapsLocation::NoMoreRetry() { CustomMessageBox(this,QMessageBox::Critical,APPLICATION_NAME, QApplication::translate("DlgGMapsLocation","Google stop responding\nMay be you have reach the maximum number of request allowed.\nPlease retry in one hour."), QMessageBox::Ok); } //==================================================================================================================== // Function used when gmaps send data on a get geocode (coordinates for Address) request void DlgGMapsLocation::httpGetLatLngReadyRead() { if (GetLatLngNetReply) ReceiveLatLng=ReceiveLatLng+GetLatLngNetReply->readAll(); } // Function used when get geocode (coordinates for Address) request end void DlgGMapsLocation::httpGetLatLngFinished() { if (!GetLatLngNetReply) return; GetLatLngAtWork=false; QApplication::restoreOverrideCursor(); QVariant redirectionTarget = GetLatLngNetReply->attribute(QNetworkRequest::RedirectionTargetAttribute); if (GetLatLngNetReply->error()) { // Address not found ! ToLog(LOGMSG_WARNING,QApplication::translate("DlgGMapsLocation","Incorect addres ? (%1)").arg(GetLatLngNetReply->errorString())); CustomMessageBox(this,QMessageBox::Critical,APPLICATION_NAME, QApplication::translate("DlgGMapsLocation","Google said: %1\nAre you sure to have written the address correctly?"), QMessageBox::Ok); } else if (!redirectionTarget.isNull()) { //QUrl newUrl = url.resolved(redirectionTarget.toUrl()); //url = newUrl; //GetLatLngNetReply->deleteLater(); //startRequest(url); } else { QString errorStr; int errorLine,errorColumn; QDomDocument domDocument; NoMap=true; StopMaj=true; ui->AdresseCB->clear(); StopMaj=false; NoMap=false; if (!domDocument.setContent(ReceiveLatLng,true,&errorStr,&errorLine,&errorColumn)) { if (RetryCountAdresseCB->addItem(GetNodeValue(Element,"formatted_address"), QVariant(QPointF(GetNodeValue(Element,"geometry##location##lng").toDouble(), GetNodeValue(Element,"geometry##location##lat").toDouble())) ); Child++; } ui->AdresseCB->setCurrentIndex(0); NoMap=false; StopMaj=false; Location->FriendlyAddress=ui->AdresseCB->currentText(); ui->AddressNameED->setText(Location->FriendlyAddress); AddressChanged(0); ui->AdresseCB->showPopup(); //RefreshMap(); } } } } GetLatLngNetReply->deleteLater(); GetLatLngNetReply = 0; } //==================================================================================================================== // Function used when gmaps send data on a get staticmap request void DlgGMapsLocation::httpGetMapReadyRead() { if (GetMapNetReply) ReceiveMap.append(GetMapNetReply->readAll()); } // Function used when get staticmap request end void DlgGMapsLocation::httpGetMapFinished() { if (!GetMapNetReply) return; GetMapAtWork=false; QApplication::restoreOverrideCursor(); QVariant redirectionTarget = GetMapNetReply->attribute(QNetworkRequest::RedirectionTargetAttribute); if (GetMapNetReply->error()) { if (RetryCounterrorString())); QTimer::singleShot(LATENCY,this,SLOT(RefreshMap())); // Retry RetryCount++; } else NoMoreRetry(); } else if (!redirectionTarget.isNull()) { //QUrl newUrl = url.resolved(redirectionTarget.toUrl()); //url = newUrl; //GetMapNetReply->deleteLater(); //startRequest(url); } else { if (!CurrentMap.loadFromData(ReceiveMap,"PNG")) { if (RetryCountsetPixmap(QPixmap().fromImage(CurrentMap.copy((640-MapWidget->width())/2,(640-MapWidget->height())/2,MapWidget->width(),MapWidget->height()))); ui->ZoomSlider->setEnabled(true); ui->ZoomDown->setEnabled(Location->ZoomLevel>0); ui->ZoomUp->setEnabled(Location->ZoomLevel<21); } } GetMapNetReply->deleteLater(); GetMapNetReply = 0; } //==================================================================================================================== // Function used when gmaps send data on a get geocode (coordinates for Address) request void DlgGMapsLocation::httpGetAddressReadyRead() { if (GetAddressNetReply) ReceiveAddress=ReceiveAddress+GetAddressNetReply->readAll(); } // Function used when get geocode (coordinates for Address) request end void DlgGMapsLocation::httpGetAddressFinished() { if (!GetAddressNetReply) return; GetAddressAtWork=false; QApplication::restoreOverrideCursor(); QVariant redirectionTarget = GetAddressNetReply->attribute(QNetworkRequest::RedirectionTargetAttribute); if (GetAddressNetReply->error()) { if (RetryCounterrorString())); QTimer::singleShot(LATENCY,this,SLOT(ClickOnMap())); // Retry RetryCount++; } else NoMoreRetry(); } else if (!redirectionTarget.isNull()) { //QUrl newUrl = url.resolved(redirectionTarget.toUrl()); //url = newUrl; //GetAddressNetReply->deleteLater(); //startRequest(url); } else { QString errorStr; int errorLine,errorColumn; QDomDocument domDocument; NoMap=true; StopMaj=true; ui->AdresseCB->clear(); StopMaj=false; NoMap=false; if (!domDocument.setContent(ReceiveAddress,true,&errorStr,&errorLine,&errorColumn)) { if (RetryCountAdresseCB->addItem(QString("Unknown (%1/%2)").arg(Location->GPS_cx).arg(Location->GPS_cy),QVariant(QPointF(Location->GPS_cx,Location->GPS_cy))); StopMaj=false; NoMap=false; RefreshMap(); } else if (GetNodeValue(root,"status")!="OK") { if (RetryCountAdresseCB->addItem(GetNodeValue(Element,"formatted_address"), QVariant(QPointF(GetNodeValue(Element,"geometry##location##lng").toDouble(), GetNodeValue(Element,"geometry##location##lat").toDouble())) ); StopMaj=false; NoMap=false; Child++; } Location->FriendlyAddress=ui->AdresseCB->currentText(); ui->AddressNameED->setText(Location->FriendlyAddress); RefreshMap(); } } } } GetAddressNetReply->deleteLater(); GetAddressNetReply=NULL; } //==================================================================================================================== // When a new selection is done on the combo void DlgGMapsLocation::AddressChanged(int) { if ((GetMapAtWork)||(StopMaj)) return; // Loose this event int CurrentIndex=ui->AdresseCB->currentIndex(); if ((CurrentIndex>=0)&&(CurrentIndexAdresseCB->count())) { if (!ui->AdresseCB->itemData(CurrentIndex).isNull()) { Location->Address =ui->AdresseCB->currentText(); QPointF PointF =ui->AdresseCB->itemData(CurrentIndex).toPointF(); Location->GPS_cx =PointF.x(); Location->GPS_cy =PointF.y(); StopMaj=true; Location->FriendlyAddress=Location->Address; ui->AddressNameED->setText(Location->FriendlyAddress); StopMaj=false; RefreshMap(); } else Location->Address.clear(); } ui->OKBT->setEnabled(!Location->Address.isEmpty() && !Location->Name.isEmpty() && (ui->AdresseCB->currentIndex()!=-1)); } //==================================================================================================================== // When press the enter key on the combo void DlgGMapsLocation::keyPressEvent(QKeyEvent* e) { if (this->focusWidget()->objectName()!="AdresseCB") { QCustomDialog::keyPressEvent(e); return; } if ((e->key()==Qt::Key_Enter)||(e->key()==Qt::Key_Return)) UserEnterAddress(); else QCustomDialog::keyPressEvent(e); } // When user enter a new Address in the combo void DlgGMapsLocation::UserEnterAddress() { QString Current=ui->AdresseCB->currentText(); ReceiveLatLng.clear(); QUrl url=QString("http://maps.googleapis.com/maps/api/geocode/xml?address=%1&sensor=false").arg(Current); GetLatLngAtWork=true; QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); GetLatLngNetReply = NetworkAccessManager->get(QNetworkRequest(url)); connect(GetLatLngNetReply,SIGNAL(finished()), this,SLOT(httpGetLatLngFinished())); connect(GetLatLngNetReply,SIGNAL(readyRead()),this,SLOT(httpGetLatLngReadyRead())); } //==================================================================================================================== // When clicked on zoom down button void DlgGMapsLocation::ZoomDown() { if (GetLatLngAtWork) return; // loose this event ui->ZoomSlider->setValue(ui->ZoomSlider->value()-1); } //==================================================================================================================== // When clicked on zoom up button void DlgGMapsLocation::ZoomUp() { if (GetLatLngAtWork) return; // loose this event ui->ZoomSlider->setValue(ui->ZoomSlider->value()+1); } //==================================================================================================================== // When ZoomLevel has changed void DlgGMapsLocation::ZoomChanged(int) { if (GetLatLngAtWork) return; // loose this event Location->ZoomLevel=ui->ZoomSlider->value(); RefreshMap(); } //==================================================================================================================== void DlgGMapsLocation::RefreshMap() { if (GetMapAtWork || NoMap || Location->Address.isEmpty()) return; // Loose this event ui->LngValue->setText(QString("%1").arg(Location->GPS_cx)); ui->LatValue->setText(QString("%1").arg(Location->GPS_cy)); QUrl url=QString("http://maps.googleapis.com/maps/api/staticmap?center=%1,%2&zoom=%3&size=640x640&maptype=roadmap&markers=color:red|%1,%2&sensor=false").arg(Location->GPS_cy).arg(Location->GPS_cx).arg(Location->ZoomLevel); ReceiveMap.clear(); ui->ZoomSlider->setEnabled(false); ui->ZoomDown->setEnabled(false); ui->ZoomUp->setEnabled(false); GetMapAtWork=true; QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); GetMapNetReply = NetworkAccessManager->get(QNetworkRequest(url)); connect(GetMapNetReply,SIGNAL(finished()), this,SLOT(httpGetMapFinished())); connect(GetMapNetReply,SIGNAL(readyRead()),this,SLOT(httpGetMapReadyRead())); } //==================================================================================================================== // When user click on the map void DlgGMapsLocation::ClickOnMap() { if (GetAddressAtWork) return; // loose this event Location->GPS_cx=PIXEL2GPS_X((GPS2PIXEL_X(Location->GPS_cx,Location->ZoomLevel,1)+(MapWidget->X-(MapWidget->width()/2))),Location->ZoomLevel,1); Location->GPS_cy=PIXEL2GPS_Y((GPS2PIXEL_Y(Location->GPS_cy,Location->ZoomLevel,1)+(MapWidget->Y-(MapWidget->height()/2))),Location->ZoomLevel,1); ReceiveAddress.clear(); QUrl url=QString("http://maps.googleapis.com/maps/api/geocode/xml?latlng=%1,%2&sensor=false").arg(Location->GPS_cy).arg(Location->GPS_cx); GetAddressAtWork=true; QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); GetAddressNetReply = NetworkAccessManager->get(QNetworkRequest(url)); connect(GetAddressNetReply,SIGNAL(finished()), this,SLOT(httpGetAddressFinished())); connect(GetAddressNetReply,SIGNAL(readyRead()),this,SLOT(httpGetAddressReadyRead())); } //============================================================================================================================ void DlgGMapsLocation::ClearIcon() { if (Location->Icon->MediaObject) { QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); if (PrevRessourceKey==Location->ThumbnailResKey) Location->ThumbnailResKey=-1; // To keep previous thumb ApplicationConfig->ImagesCache.RemoveImageObject(Location->ThumbnailResKey,-1); Location->Icon->ApplicationConfig->SlideThumbsTable->SetThumbs(&Location->ThumbnailResKey,QImage()); delete Location->Icon->MediaObject; Location->Icon->MediaObject=NULL; Location->Icon->BrushType=BRUSHTYPE_SOLID; ui->IconBT->setIcon(QIcon(QPixmap().fromImage(QImage()))); QApplication::restoreOverrideCursor(); } } //============================================================================================================================ void DlgGMapsLocation::SelectIcon() { if (Location->Icon->MediaObject) { QMenu *ContextMenu=new QMenu(this); ContextMenu->addAction(ui->actionSelectAnotherFile); ContextMenu->addAction(ui->actionEditCurrentImage); QAction *Action=ContextMenu->exec(QCursor::pos()); delete ContextMenu; if (!Action) return; if (Action==ui->actionSelectAnotherFile) { ApplicationConfig->SettingsTable->SetTextValue("GPSIcon_path",QFileInfo(Location->Icon->MediaObject->FileName()).absolutePath()); ClearIcon(); delete Location->Icon->MediaObject; Location->Icon->MediaObject=NULL; Location->Icon->BrushType=BRUSHTYPE_SOLID; ui->IconBT->setIcon(QIcon(QPixmap().fromImage(QImage()))); } } if (!Location->Icon->MediaObject) { QStringList FileList; DlgFileExplorer Dlg(BROWSER_TYPE_ICONLOCATION,false,false,false,QApplication::translate("MainWindow","Select an image file"),ApplicationConfig,this); Dlg.InitDialog(); if (Dlg.exec()==0) FileList=Dlg.GetCurrentSelectedFiles(); if (FileList.count()==0) return; QApplication::processEvents(); QString BrushFileName =QFileInfo(FileList[0]).absoluteFilePath(); bool IsValide =false,ModifyFlag; QString Extension=QFileInfo(BrushFileName).suffix().toLower(); // Search if file is an image for (int i=0;iAllowImageExtension.count();i++) if (ApplicationConfig->AllowImageExtension[i]==Extension) { // Create an image wrapper Location->Icon->MediaObject=new cImageFile(ApplicationConfig); IsValide=Location->Icon->MediaObject->GetInformationFromFile(BrushFileName,NULL,&ModifyFlag,-1); if (!IsValide) { delete Location->Icon->MediaObject; Location->Icon->MediaObject=NULL; } break; } if (IsValide &&(Location->Icon->MediaObject)) { QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); QImage *Image=Location->Icon->MediaObject->ImageAt(true); if (!Image) { IsValide=false; delete Location->Icon->MediaObject; Location->Icon->MediaObject=NULL; } else { Location->Icon->ApplyAutoFraming(AUTOFRAMING_HEIGHTMIDLEMIN,1); // square as max QImage Thumb=Location->Icon->GetImageDiskBrush(QRect(0,0,64,64),false,0,NULL,1,NULL); if (PrevRessourceKey==Location->ThumbnailResKey) Location->ThumbnailResKey=-1; // To keep previous thumb ApplicationConfig->ImagesCache.RemoveImageObject(Location->ThumbnailResKey,-1); Location->Icon->ApplicationConfig->SlideThumbsTable->SetThumbs(&Location->ThumbnailResKey,Thumb); Location->Icon->BrushType=BRUSHTYPE_IMAGEDISK; ui->IconBT->setIcon(QIcon(QPixmap().fromImage(Thumb))); } delete Image; QApplication::restoreOverrideCursor(); } } if (Location->Icon->MediaObject && Location->Icon->MediaObject->IsValide) { DlgImageCorrection Dlg(NULL,0,Location->Icon,0,GEOMETRY_SQUARE,SPEEDWAVE_LINEAR,ApplicationConfig,this); Dlg.InitDialog(); if (Dlg.exec()==0) { QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); QImage Thumb=Location->Icon->GetImageDiskBrush(QRect(0,0,64,64),false,0,NULL,1,NULL); if (PrevRessourceKey==Location->ThumbnailResKey) Location->ThumbnailResKey=-1; // To keep previous thumb ApplicationConfig->ImagesCache.RemoveImageObject(Location->ThumbnailResKey,-1); ApplicationConfig->SlideThumbsTable->SetThumbs(&Location->ThumbnailResKey,Thumb); ui->IconBT->setIcon(QIcon(QPixmap().fromImage(Thumb))); QApplication::restoreOverrideCursor(); } } } //============================================================================================================================ #define FAVACTIONTYPE_ACTIONTYPE 0xF000 #define FAVACTIONTYPE_ADD 0x1000 #define FAVACTIONTYPE_REMOVE 0x2000 #define FAVACTIONTYPE_UPD 0x4000 #define FAVACTIONTYPE_SELECT 0x8000 void DlgGMapsLocation::Favorite() { QMenu *ContextMenu=new QMenu(this); bool AddSep=false; QAction *Add=CreateMenuAction(QIcon(":/img/favorite_add.png"), QApplication::translate("MainWindow","Add to favorite"), FAVACTIONTYPE_ADD,false,false,this); ContextMenu->addAction(Add); QAction *Upd=CreateMenuAction(QIcon(":/img/favorite_manage.png"),QApplication::translate("MainWindow","Update this favorite"), FAVACTIONTYPE_UPD,false,false,this); ContextMenu->addAction(Upd); QAction *Rmv=CreateMenuAction(QIcon(":/img/trash.png"), QApplication::translate("MainWindow","Remove this favorites"),FAVACTIONTYPE_REMOVE,false,false,this); ContextMenu->addAction(Rmv); Upd->setEnabled(false); Rmv->setEnabled(false); Add->setEnabled(!Location->Name.isEmpty()); QSqlQuery Query(ApplicationConfig->Database->db); QString QueryString("SELECT Key,Name,FAddress,Thumbnail FROM Location ORDER BY LOWER(Name)"); Query.prepare(QueryString); if (!Query.exec()) DisplayLastSQLError(&Query); else while (Query.next()) { bool Ret; qlonglong Key=Query.value(0).toLongLong(&Ret); if (Ret) { if (!AddSep) { ContextMenu->addSeparator(); AddSep=true; } QString Name =Query.value(1).toString(); QString Address=Query.value(2).toString(); QByteArray Data =Query.value(3).toByteArray(); QImage Thumb; Thumb.loadFromData(Data); bool IsCurrent=(Key==Location->FavKey)||((Name==ui->NameED->text())&&(Address==Location->Address)); QAction *Act=CreateMenuAction(QIcon(QPixmap().fromImage(Thumb)),QString("%1 (%2)").arg(Name).arg(Address),FAVACTIONTYPE_SELECT+Key,true,IsCurrent,this); ContextMenu->addAction(Act); if (IsCurrent) { Add->setEnabled(false); Act->setEnabled(false); Upd->setEnabled(true); Rmv->setEnabled(true); if (Location->FavKey!=Key) Location->FavKey=Key; } } } QAction *Action=ContextMenu->exec(QCursor::pos()); if (Action) { int ActionType=Action->data().toInt() & FAVACTIONTYPE_ACTIONTYPE; if (ActionType==FAVACTIONTYPE_ADD) Location->AddToFavorite(); else if (ActionType==FAVACTIONTYPE_UPD) Location->UpdateFavorite(); else if (ActionType==FAVACTIONTYPE_REMOVE) Location->RemoveFavorite(); else if (Action->text()!="") { StopMaj=true; qlonglong Key=Action->data().toInt() & ~FAVACTIONTYPE_ACTIONTYPE; Location->LoadFromFavorite(Key); ui->AdresseCB->clear(); ui->AdresseCB->addItem(Location->Address,QVariant(QPointF(Location->GPS_cx,Location->GPS_cy))); ui->AdresseCB->setCurrentIndex(0); ui->NameED->setText(Location->Name); ui->AdresseCB->setEditText(Location->Address); ui->AddressNameED->setText(Location->FriendlyAddress); ui->IconBT->setIcon(QIcon(QPixmap().fromImage(Location->GetThumb(64)))); ui->OKBT->setEnabled(!Location->Address.isEmpty() && !Location->Name.isEmpty() && (ui->AdresseCB->currentIndex()!=-1)); StopMaj=false; QTimer::singleShot(LATENCY,this,SLOT(RefreshMap())); } } ui->FavoriteBT->setDown(false); } ffDiaporama/src/ffDiaporama/DlgGMapsLocation/DlgGMapsGeneration.ui0000777000175000001440000000433212275647316025366 0ustar dominiqueusers DlgGMapsGeneration 0 0 439 127 Generate Google Maps map 0 0 Status 24 Qt::Vertical 20 40 Qt::Horizontal 40 20 Cancel modification and exit dialog box &Cancel :/img/action_cancel.png:/img/action_cancel.png ffDiaporama/src/ffDiaporama/DlgGMapsLocation/DlgGMapsGeneration.h0000777000175000001440000000544112275647316025202 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef DLGGMAPSGENERATION_H #define DLGGMAPSGENERATION_H // Basic inclusions (common to all files) #include "CustomCtrl/_QCustomDialog.h" #include "engine/_Diaporama.h" #include #include namespace Ui { class DlgGMapsGeneration; } class DlgGMapsGeneration : public QCustomDialog { Q_OBJECT public: cBrushDefinition *CurrentBrush; int NbrSection; bool DuplicateRessource; cGMapsMap *MediaObject; QImage DestMap; QByteArray ReceiveMap; int RetryCount; QNetworkAccessManager *NetworkAccessManager; QNetworkReply *GetMapNetReply; explicit DlgGMapsGeneration(cBrushDefinition *CurrentBrush,cGMapsMap *MediaObject,bool DuplicateRessource,cApplicationConfig *ApplicationConfig,QWidget *parent=0); ~DlgGMapsGeneration(); // function to be overloaded virtual void DoInitDialog(); // Initialise dialog virtual bool DoAccept() {return true;} // Call when user click on Ok button virtual void DoRejet(); // Call when user click on Cancel button virtual void PrepareGlobalUndo() {} // Initiale Undo virtual void DoGlobalUndo() {} // Apply Undo : call when user click on Cancel button private slots: void RequestGoogle(); void httpGetMapReadyRead(); void httpGetMapFinished(); void NoMoreRetry(); private: Ui::DlgGMapsGeneration *ui; }; #endif // DLGGMAPSGENERATION_H ffDiaporama/src/ffDiaporama/DlgGMapsLocation/DlgGMapsGeneration.cpp0000777000175000001440000002073112275647317025535 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "DlgGMapsGeneration.h" #include "ui_DlgGMapsGeneration.h" #include "engine/cLocation.h" #include #define MAXRETRY 10 //==================================================================================================================== DlgGMapsGeneration::DlgGMapsGeneration(cBrushDefinition *CurrentBrush,cGMapsMap *MediaObject,bool DuplicateRessource,cApplicationConfig *ApplicationConfig,QWidget *parent):QCustomDialog(ApplicationConfig,parent),ui(new Ui::DlgGMapsGeneration) { this->CurrentBrush =CurrentBrush; this->MediaObject =MediaObject; this->DuplicateRessource=DuplicateRessource; RetryCount =0; GetMapNetReply =NULL; NetworkAccessManager =ApplicationConfig->GetNetworkAccessManager(this); ui->setupUi(this); CancelBt=ui->CancelBt; } //==================================================================================================================== DlgGMapsGeneration::~DlgGMapsGeneration() { delete ui; if (NetworkAccessManager) NetworkAccessManager->deleteLater(); } //==================================================================================================================== void DlgGMapsGeneration::DoRejet() { QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); RetryCount=MAXRETRY; if (DuplicateRessource) MediaObject->RessourceKey=-1; ApplicationConfig->SlideThumbsTable->SetThumbs(&MediaObject->RessourceKey,DestMap); QApplication::restoreOverrideCursor(); } //==================================================================================================================== void DlgGMapsGeneration::DoInitDialog() { MediaObject->IsValide=true; MediaObject->IsMapValide=true; // resolve variables locations by transfering their GPS position to the locations of the List location for (int i=0;iList.count();i++) if (((cLocation *)MediaObject->List[i])->LocationType!=cLocation::FREE) { cLocation *Location=((cLocation *)MediaObject->List[i]); cLocation *RealLoc=NULL; CurrentBrush->GetRealLocation((void **)&Location,(void **)&RealLoc); if (RealLoc) { Location->GPS_cx =RealLoc->GPS_cx; Location->GPS_cy =RealLoc->GPS_cy; Location->Name =RealLoc->Name; Location->FriendlyAddress=RealLoc->FriendlyAddress; } else MediaObject->IsMapValide=false; } if (!MediaObject->IsMapValide) MediaObject->RequestList.clear(); if (MediaObject->RequestList.isEmpty()) { // create new empty image DestMap=MediaObject->CreateDefaultImage((cDiaporama *)CurrentBrush->GetDiaporama()); // Create sections to be computed if (MediaObject->IsMapValide) MediaObject->ComputeSectionList(); } else ApplicationConfig->SlideThumbsTable->GetThumbs(&MediaObject->RessourceKey,&DestMap); QSize IMSize=MediaObject->GetCurrentImageSize(); NbrSection =MediaObject->ComputeNbrSection(IMSize.width(),cGMapsMap::SectionWith)*MediaObject->ComputeNbrSection(IMSize.height(),cGMapsMap::SectionHeight); ui->ProgressBar->setRange(0,NbrSection-1); ui->ProgressBar->setValue(NbrSection-MediaObject->RequestList.count()); QTimer::singleShot(LATENCY,this,SLOT(RequestGoogle())); } //==================================================================================================================== void DlgGMapsGeneration::httpGetMapReadyRead() { if (GetMapNetReply) ReceiveMap.append(GetMapNetReply->readAll()); } //==================================================================================================================== void DlgGMapsGeneration::httpGetMapFinished() { if (!GetMapNetReply) return; QVariant redirectionTarget = GetMapNetReply->attribute(QNetworkRequest::RedirectionTargetAttribute); if (GetMapNetReply->error()) { // Maybe it's because we have request too many time if (RetryCounterrorString().endsWith("Forbidden")) { RetryCount=MAXRETRY; NoMoreRetry(); } else { ToLog(LOGMSG_WARNING,QApplication::translate("DlgGMapsGeneration","Download failed: %1. => wait 1sec and retry").arg(GetMapNetReply->errorString())); QTimer::singleShot(1000,this,SLOT(RequestGoogle())); // Retry RetryCount++; } } else NoMoreRetry(); } else if (!redirectionTarget.isNull()) { //QUrl newUrl = url.resolved(redirectionTarget.toUrl()); //url = newUrl; //GetMapNetReply->deleteLater(); //startRequest(url); } else { QImage RecImage; if (!RecImage.loadFromData(ReceiveMap,"PNG")) { if (RetryCountRequestList[0].Rect; QPainter Painter; Painter.begin(&DestMap); Painter.drawImage(RectF,RecImage,QRectF((640-RectF.width())/2,(640-RectF.height())/2,RectF.width(),RectF.height())); Painter.end(); MediaObject->RequestList.removeFirst(); ui->ProgressBar->setValue(NbrSection-MediaObject->RequestList.count()); } QTimer::singleShot(LATENCY,this,SLOT(RequestGoogle())); // Next part } GetMapNetReply->deleteLater(); GetMapNetReply = 0; } //==================================================================================================================== // Function used when gmaps don't want to reply us void DlgGMapsGeneration::NoMoreRetry() { CustomMessageBox(this,QMessageBox::Critical,APPLICATION_NAME, QApplication::translate("DlgGMapsGeneration","Google stop responding\nMay be you have reach the maximum number of request allowed.\nPlease retry in one hour."), QMessageBox::Ok); } //==================================================================================================================== void DlgGMapsGeneration::RequestGoogle() { if ((RetryCount>=MAXRETRY)||(MediaObject->RequestList.isEmpty())) { QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); if (MediaObject->RequestList.isEmpty()) ui->StatusBar->setText(""); else ui->StatusBar->setText(QApplication::translate("DlgGMapsGeneration","%1 pending section(s) should be retrieve later").arg(MediaObject->RequestList.count())); // update ressource in database (keep actual map even if sections pending) if (DuplicateRessource) MediaObject->RessourceKey=-1; ApplicationConfig->SlideThumbsTable->SetThumbs(&MediaObject->RessourceKey,DestMap); QApplication::restoreOverrideCursor(); accept(); return; } if (!MediaObject->RequestList.isEmpty()) ui->StatusBar->setText(QApplication::translate("DlgGMapsGeneration","%1 pending section(s) to retrieve from Google Maps").arg(MediaObject->RequestList.count())); ReceiveMap.clear(); GetMapNetReply=NetworkAccessManager->get(QNetworkRequest(QUrl(MediaObject->RequestList[0].GoogleRequest))); connect(GetMapNetReply,SIGNAL(finished()), this,SLOT(httpGetMapFinished())); connect(GetMapNetReply,SIGNAL(readyRead()),this,SLOT(httpGetMapReadyRead())); } ffDiaporama/src/ffDiaporama/DlgFileExplorer/0000777000175000001440000000000012275647223021245 5ustar dominiqueusersffDiaporama/src/ffDiaporama/DlgFileExplorer/DlgFileExplorer.ui0000777000175000001440000000671412275647223024646 0ustar dominiqueusers DlgFileExplorer 0 0 706 365 Sans Serif 9 Dialog 4 8 8 8 8 0 0 Qt::Horizontal 4 Qt::Horizontal 40 20 Accept modification and exit dialog box &Ok :/img/action_ok.png:/img/action_ok.png Cancel modification and exit dialog box &Cancel :/img/action_cancel.png:/img/action_cancel.png Show help about this dialogue box &Help :/img/help.png:/img/help.png F1 wgt_QMultimediaBrowser QWidget
wgt_QMultimediaBrowser/wgt_QMultimediaBrowser.h
1
ffDiaporama/src/ffDiaporama/DlgFileExplorer/DlgFileExplorer.h0000777000175000001440000000242712275647223024455 0ustar dominiqueusers#ifndef DLGFILEEXPLORER_H #define DLGFILEEXPLORER_H // Basic inclusions (common to all files) #include "CustomCtrl/_QCustomDialog.h" namespace Ui { class DlgFileExplorer; } class DlgFileExplorer : public QCustomDialog { Q_OBJECT public: explicit DlgFileExplorer(BROWSER_TYPE_ID BrowserType,bool AllowMultipleSelection,bool AllowDragDrop,bool AllowAddToProject,QString BoxTitle,cApplicationConfig *ApplicationConfig,QWidget *parent=0); virtual ~DlgFileExplorer(); // function to be overloaded virtual void DoInitDialog(); // Initialise dialog virtual bool DoAccept(); // Call when user click on Ok button virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button virtual void PrepareGlobalUndo() {/*Nothing to do*/} // Initiale Undo virtual void DoGlobalUndo() {/*Nothing to do*/} // Apply Undo : call when user click on Cancel button QStringList GetCurrentSelectedFiles(); private slots: void RefreshControls(); void OpenFile(); private: Ui::DlgFileExplorer *ui; }; #endif // DLGFILEEXPLORER_H ffDiaporama/src/ffDiaporama/DlgFileExplorer/DlgFileExplorer.cpp0000777000175000001440000001033512275647223025005 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "DlgFileExplorer.h" #include "ui_DlgFileExplorer.h" DlgFileExplorer::DlgFileExplorer(BROWSER_TYPE_ID BrowserType,bool AllowMultipleSelection,bool AllowDragDrop,bool AllowAddToProject,QString BoxTitle,cApplicationConfig *ApplicationConfig,QWidget *parent): QCustomDialog(ApplicationConfig,parent),ui(new Ui::DlgFileExplorer) { // Initialise UI ui->setupUi(this); OkBt =ui->OKBT; CancelBt =ui->CancelBt; HelpBt =ui->HelpBT; HelpFile ="0109"; UndoBt =NULL; TypeWindowState =TypeWindowState_withsplitterpos; Splitter =ui->Browser->GetSplitter(); setWindowTitle(BoxTitle); ui->Browser->DoInitWidget(BrowserType,AllowMultipleSelection,AllowDragDrop,AllowAddToProject,ApplicationConfig); } //==================================================================================================================== DlgFileExplorer::~DlgFileExplorer() { delete ui; } //==================================================================================================================== void DlgFileExplorer::DoInitDialog() { connect(ui->Browser,SIGNAL(DoRefreshControls()),this,SLOT(RefreshControls())); connect(ui->Browser,SIGNAL(DoAddFiles()),this,SLOT(accept())); connect(ui->Browser,SIGNAL(DoOpenFile()),this,SLOT(OpenFile())); ui->Browser->DoInitDialog(); } //==================================================================================================================== void DlgFileExplorer::RefreshControls() { ui->OKBT->setEnabled(GetCurrentSelectedFiles().count()>0); } //==================================================================================================================== QStringList DlgFileExplorer::GetCurrentSelectedFiles() { return ui->Browser->GetCurrentSelectedFiles(); } //==================================================================================================================== bool DlgFileExplorer::DoAccept() { QList MediaList; ui->Browser->GetCurrentSelectedMediaFile(&MediaList); bool HaveFolder=false; bool Ret=true; for (int i=0;iObjectType==OBJECTTYPE_FOLDER) HaveFolder=true; if (MediaList.count()==0) Ret=false; else if (HaveFolder) { if (MediaList.count()==1) { ui->Browser->OpenFolder(); Ret=false; } else { CustomMessageBox(this,QMessageBox::Information,windowTitle(),QApplication::translate("wgt_QMultimediaBrowser","The selection can't include folders."),QMessageBox::Ok,QMessageBox::Ok); Ret=false; } } while (!MediaList.isEmpty()) delete MediaList.takeLast(); return Ret; } //==================================================================================================================== void DlgFileExplorer::OpenFile() { cBaseMediaFile *Media=ui->Browser->GetCurrentMediaFile(); if (Media) { if ((Media->ObjectType==OBJECTTYPE_IMAGEFILE)||(Media->ObjectType==OBJECTTYPE_VIDEOFILE)||(Media->ObjectType==OBJECTTYPE_MUSICFILE)||(Media->ObjectType==OBJECTTYPE_THUMBNAIL)) QDesktopServices::openUrl(QUrl().fromLocalFile(Media->FileName())); delete Media; } } ffDiaporama/src/ffDiaporama/DlgExportProject/0000777000175000001440000000000012275647230021453 5ustar dominiqueusersffDiaporama/src/ffDiaporama/DlgExportProject/DlgExportProject.ui0000777000175000001440000001343412275647230025261 0ustar dominiqueusers DlgExportProject 0 0 400 300 Sans Serif 9 Export project 4 8 8 8 8 0 0 0 0 Click on this button to select graphically a destination folder. :/img/FolderOpen.png:/img/FolderOpen.png Destination folder: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Project subfolder: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter QAbstractItemView::NoEditTriggers false false QAbstractItemView::SingleSelection QAbstractItemView::SelectRows false false false 24 Qt::AlignCenter Qt::Horizontal 4 Qt::Horizontal 40 20 Start export process &Ok :/img/action_ok.png:/img/action_ok.png Abort export operation and exit dialog box &Cancel :/img/action_cancel.png:/img/action_cancel.png Show help about this dialogue box &Help :/img/help.png:/img/help.png DestinationPathED DestinationPathBT ProjectSubfolderED Table OkBt CancelBt ffDiaporama/src/ffDiaporama/DlgExportProject/DlgExportProject.h0000777000175000001440000000541412275647230025072 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef DLGEXPORTPROJECT_H #define DLGEXPORTPROJECT_H // Basic inclusions (common to all files) #include "CustomCtrl/_QCustomDialog.h" // Include some common various class #include "engine/cApplicationConfig.h" #include "engine/_Diaporama.h" namespace Ui { class DlgExportProject; } class DlgExportProject:public QCustomDialog { Q_OBJECT public: QString DestinationPath; cDiaporama *ffdProject; cReplaceObjectList ReplaceList; bool JobStarted; bool JobCancel; QFutureWatcher ThreadCopy; QString ErrorMsg; QTimer Timer; int CurrentObject; int HeighRow; explicit DlgExportProject(cDiaporama *ffdProject,cApplicationConfig *ApplicationConfig,QWidget *parent = 0); ~DlgExportProject(); // function to be overloaded virtual void DoInitDialog(); // Initialise dialog virtual bool DoAccept(); // Call when user click on Ok button virtual void DoRejet(); // Call when user click on Cancel button virtual void PrepareGlobalUndo() {/*Nothing to do*/} // Initiale Undo virtual void DoGlobalUndo() {/*Nothing to do*/} // Apply Undo : call when user click on Cancel button void DoProcessCopy(); private slots: void s_TimerEvent(); void SelectDestinationPath(); void AdjustDestinationPath(); void ScanDiaporama(); void EndAccept(); private: Ui::DlgExportProject *ui; void SearchAppendObject(QString FileName); }; #endif // DLGEXPORTPROJECT_H ffDiaporama/src/ffDiaporama/DlgExportProject/DlgExportProject.cpp0000777000175000001440000003043212275647230025423 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "DlgExportProject.h" #include "ui_DlgExportProject.h" DlgExportProject::DlgExportProject(cDiaporama *ffdProject,cApplicationConfig *ApplicationConfig,QWidget *parent) :QCustomDialog(ApplicationConfig,parent),ui(new Ui::DlgExportProject) { ui->setupUi(this); OkBt =ui->OkBt; CancelBt=ui->CancelBt; HelpBt =ui->HelpBt; HelpFile="0107"; this->ffdProject=ffdProject; DestinationPath =ApplicationConfig->SettingsTable->GetTextValue(QString("%1_path").arg(BrowserTypeDef[BROWSER_TYPE_EXPORT].BROWSERString),DefaultExportPath); JobStarted =false; JobCancel =false; HeighRow=QFontMetrics(QApplication::font()).boundingRect("0").height(); if (HeighRow<16) HeighRow=16; // Not less than Icon } //==================================================================================================================== DlgExportProject::~DlgExportProject() { delete ui; } //==================================================================================================================== // Initialise dialog void DlgExportProject::DoInitDialog() { ui->ProgressBar->setEnabled(false); ui->ProgressBar->setRange(0,0); ui->OkBt->setEnabled(false); ui->Table->setColumnCount(3); ui->Table->setHorizontalHeaderLabels(QApplication::translate("DlgExportProject","% done;Destination file;Source file").split(";")); for (int Col=0;ColTable->columnCount();Col++) ui->Table->horizontalHeaderItem(Col)->setTextAlignment(Col==0?Qt::AlignHCenter:Qt::AlignLeft); #if QT_VERSION >= 0x050000 ui->Table->horizontalHeader()->setSectionsClickable(false); ui->Table->horizontalHeader()->setSectionsMovable(false); ui->Table->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); ui->Table->verticalHeader()->setSectionResizeMode(QHeaderView::Fixed); #else ui->Table->horizontalHeader()->setClickable(false); ui->Table->horizontalHeader()->setMovable(false); ui->Table->horizontalHeader()->setResizeMode(QHeaderView::ResizeToContents); ui->Table->verticalHeader()->setResizeMode(QHeaderView::Fixed); #endif ui->DestinationPathED->setText(DestinationPath); ui->ProjectSubfolderED->setText(QFileInfo(ffdProject->ProjectFileName).baseName()); connect(ui->DestinationPathBT,SIGNAL(clicked()),this,SLOT(SelectDestinationPath())); connect(ui->DestinationPathED,SIGNAL(editingFinished()),this,SLOT(AdjustDestinationPath())); connect(&ThreadCopy,SIGNAL(finished()),this,SLOT(EndAccept())); connect(&Timer,SIGNAL(timeout()),this,SLOT(s_TimerEvent())); ScanDiaporama(); } //==================================================================================================================== // Call when user click on Ok button bool DlgExportProject::DoAccept() { if (ui->ProjectSubfolderED->text().isEmpty()) { CustomMessageBox(this,QMessageBox::Critical,this->windowTitle(),QApplication::translate("DlgExportProject","Error: Project subfolder can't be empty","Error message"),QMessageBox::Close); ui->ProjectSubfolderED->setFocus(); return false; } ApplicationConfig->SettingsTable->SetTextValue(QString("%1_path").arg(BrowserTypeDef[BROWSER_TYPE_EXPORT].BROWSERString),DestinationPath); JobStarted=true; ui->OkBt->setEnabled(false); ThreadCopy.setFuture(QtConcurrent::run(this,&DlgExportProject::DoProcessCopy)); Timer.start(500); return false; } void DlgExportProject::EndAccept() { Timer.stop(); ui->ProgressBar->setValue(ui->ProgressBar->maximum()); if (!ErrorMsg.isEmpty()) CustomMessageBox(this,QMessageBox::Information,this->windowTitle(),ErrorMsg,QMessageBox::Close); if (!JobCancel) CustomMessageBox(this,QMessageBox::Information,this->windowTitle(),QApplication::translate("DlgExportProject","Export done","Error message"),QMessageBox::Close); SaveWindowState(); done(0); } //==================================================================================================================== void DlgExportProject::s_TimerEvent() { if (JobStarted) { ui->Table->setUpdatesEnabled(false); ui->Table->selectionModel()->clear(); ui->Table->setCurrentCell(CurrentObject,0,QItemSelectionModel::Select|QItemSelectionModel::Current); ui->Table->scrollToItem(ui->Table->item(CurrentObject,0)); ui->Table->setUpdatesEnabled(true); ui->ProgressBar->setValue(CurrentObject); } } //==================================================================================================================== // Call when user click on Ok button void DlgExportProject::DoRejet() { if (JobStarted) { Timer.stop(); JobCancel=true; if (ThreadCopy.isRunning()) ThreadCopy.waitForFinished(); CustomMessageBox(this,QMessageBox::Information,this->windowTitle(),QApplication::translate("DlgExportProject","Export cancel","Error message"),QMessageBox::Close); } } //==================================================================================================================== void DlgExportProject::SelectDestinationPath() { QString OutputFileName =QFileDialog::getExistingDirectory(this,QApplication::translate("DlgRenderVideo","Select destination folder"),DestinationPath, QFileDialog::ShowDirsOnly|QFileDialog::DontResolveSymlinks); if (OutputFileName!="") { DestinationPath=OutputFileName; ui->DestinationPathED->setText(DestinationPath); } } //==================================================================================================================== void DlgExportProject::AdjustDestinationPath() { DestinationPath=ui->DestinationPathED->text(); } //==================================================================================================================== QTableWidgetItem *CreateTextItem(QString Text,int Alignment) { QTableWidgetItem *Item=new QTableWidgetItem(Text,0); Item->setTextAlignment(Alignment|Qt::AlignVCenter); return Item; } void DlgExportProject::SearchAppendObject(QString FileName) { if ((FileName.startsWith(ModelFolder))||(FileName.startsWith(ClipArtFolder))) return; int Nbr=ReplaceList.List.count(); ReplaceList.SearchAppendObject(FileName); if (NbrTable->insertRow(Nbr); ui->Table->setItem(Nbr,0,CreateTextItem(QApplication::translate("DlgExportProject","not started"),Qt::AlignHCenter)); ui->Table->setItem(Nbr,1,CreateTextItem(ReplaceList.List[Nbr].DestFileName,Qt::AlignLeft)); ui->Table->setItem(Nbr,2,CreateTextItem(QDir::toNativeSeparators(ReplaceList.List[Nbr].SourceFileName),Qt::AlignLeft)); ui->Table->setRowHeight(Nbr,HeighRow); } } void DlgExportProject::ScanDiaporama() { // ProjectThumbnail for (int j=0;jProjectThumbnail->ObjectComposition.List.count();j++) if (ffdProject->ProjectThumbnail->ObjectComposition.List[j]->BackgroundBrush) { if (ffdProject->ProjectThumbnail->ObjectComposition.List[j]->BackgroundBrush->MediaObject) SearchAppendObject(ffdProject->ProjectThumbnail->ObjectComposition.List[j]->BackgroundBrush->MediaObject->FileName()); } // Objects for (int i=0;iList.count();i++) { // MusicList if ((ffdProject->List[i]->MusicType)) { for (int j=0;jList[i]->MusicList.count();j++) SearchAppendObject(ffdProject->List[i]->MusicList[j].FileName()); } // BackgroundBrush of object if ((ffdProject->List[i]->BackgroundType)&&(ffdProject->List[i]->BackgroundBrush)) { if ((ffdProject->List[i]->BackgroundBrush->MediaObject)&&(ffdProject->List[i]->BackgroundBrush->MediaObject->FileKey!=-1)) SearchAppendObject(ffdProject->List[i]->BackgroundBrush->MediaObject->FileName()); } // BackgroundBrush of shots for (int j=0;jList[i]->ObjectComposition.List.count();j++) if (ffdProject->List[i]->ObjectComposition.List[j]->BackgroundBrush) { if ((ffdProject->List[i]->ObjectComposition.List[j]->BackgroundBrush->MediaObject)&&(ffdProject->List[i]->ObjectComposition.List[j]->BackgroundBrush->MediaObject->FileKey!=-1)) SearchAppendObject(ffdProject->List[i]->ObjectComposition.List[j]->BackgroundBrush->MediaObject->FileName()); } } int Nbr=ReplaceList.List.count(); ReplaceList.List.append(cReplaceObject("-",QApplication::translate("DlgExportProject","Project file"))); ui->Table->insertRow(Nbr); ui->Table->setRowHeight(Nbr,HeighRow); ui->Table->setItem(Nbr,0,CreateTextItem(QApplication::translate("DlgExportProject","not started"),Qt::AlignHCenter)); ui->Table->setItem(Nbr,1,CreateTextItem(ReplaceList.List[Nbr].DestFileName,Qt::AlignLeft)); ui->Table->setItem(Nbr,2,CreateTextItem(QDir::toNativeSeparators(ReplaceList.List[Nbr].SourceFileName),Qt::AlignLeft)); ui->ProgressBar->setRange(0,ReplaceList.List.count()-1); ui->OkBt->setEnabled(true); } //==================================================================================================================== void DlgExportProject::DoProcessCopy() { QString DestPath=DestinationPath; if (!DestPath.endsWith(QDir::separator())) DestPath=DestPath+QDir::separator(); DestPath=DestPath+ui->ProjectSubfolderED->text(); if (!QDir().mkpath(DestPath)) { ErrorMsg=QApplication::translate("DlgExportProject","Error during the creation of the %1 folder","Error message"); JobCancel=true; } else { if (!DestPath.endsWith(QDir::separator())) DestPath=DestPath+QDir::separator(); CurrentObject=0; while ((!JobCancel)&&(CurrentObjectTable->setItem(CurrentObject,0,CreateTextItem(QApplication::translate("DlgExportProject","started"),Qt::AlignHCenter)); if (ReplaceList.List[CurrentObject].SourceFileName=="-") { QString FName=DestPath+ui->ProjectSubfolderED->text()+".ffd"; if (ffdProject->SaveFile(NULL,&ReplaceList,&FName)) ui->Table->setItem(CurrentObject,0,CreateTextItem(QApplication::translate("DlgExportProject","done"),Qt::AlignHCenter)); else { ui->Table->setItem(CurrentObject,0,CreateTextItem(QApplication::translate("DlgExportProject","error"),Qt::AlignHCenter)); JobCancel=true; ErrorMsg=QApplication::translate("DlgExportProject","Error during the export of the project file","Error message"); } CurrentObject++; } else { if (!QFile(ReplaceList.List[CurrentObject].SourceFileName).copy(DestPath+ReplaceList.List[CurrentObject].DestFileName)) { JobCancel=true; ErrorMsg=QApplication::translate("DlgExportProject","Error during the copy of %1 to %2","Error message").arg(ReplaceList.List[CurrentObject].SourceFileName).arg(DestPath+ReplaceList.List[CurrentObject].DestFileName); ui->Table->setItem(CurrentObject,0,CreateTextItem(QApplication::translate("DlgExportProject","error"),Qt::AlignHCenter)); } else { ui->Table->setItem(CurrentObject,0,CreateTextItem(QApplication::translate("DlgExportProject","done"),Qt::AlignHCenter)); CurrentObject++; } } } } } ffDiaporama/src/ffDiaporama/DlgCheckConfig/0000777000175000001440000000000012275647224021011 5ustar dominiqueusersffDiaporama/src/ffDiaporama/DlgCheckConfig/DlgCheckConfig.ui0000777000175000001440000000661312275647224024153 0ustar dominiqueusers DlgCheckConfig Qt::WindowModal 0 0 488 300 Sans Serif 9 Check configuration 4 8 8 8 8 Here are listed the components used and their status: Red: The component does not work properly Green: The component works perfectly Yellow: The component works partially - For a codec: Only reading is available (not encoding) - For a library: The version is old Qt::Horizontal 4 Qt::Horizontal 40 20 Check configuration at startup Qt::Horizontal 40 20 Close dialog box &Ok :/img/action_ok.png:/img/action_ok.png Show help about this dialogue box &Help :/img/help.png:/img/help.png ffDiaporama/src/ffDiaporama/DlgCheckConfig/DlgCheckConfig.h0000777000175000001440000000410412275647224023756 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef DLGCHECKCONFIG_H #define DLGCHECKCONFIG_H // Basic inclusions (common to all files) #include "CustomCtrl/_QCustomDialog.h" // Include some common various class #include "engine/cApplicationConfig.h" #include "engine/cDeviceModelDef.h" namespace Ui { class DlgCheckConfig; } class DlgCheckConfig : public QCustomDialog { Q_OBJECT public: explicit DlgCheckConfig(cApplicationConfig *ApplicationConfig,QWidget *parent = 0); ~DlgCheckConfig(); // function to be overloaded virtual void DoInitDialog(); // Initialise dialog virtual bool DoAccept(); // Call when user click on Ok button virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button virtual void PrepareGlobalUndo() {/*Nothing to do*/} // Initiale Undo virtual void DoGlobalUndo() {/*Nothing to do*/} // Apply Undo : call when user click on Cancel button private: Ui::DlgCheckConfig *ui; }; #endif // DLGCHECKCONFIG_H ffDiaporama/src/ffDiaporama/DlgCheckConfig/DlgCheckConfig.cpp0000777000175000001440000003172512275647224024322 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "DlgCheckConfig.h" #include "ui_DlgCheckConfig.h" #include "engine/cBaseMediaFile.h" #include "engine/_Transition.h" #include "engine/cBrushDefinition.h" #include "engine/_SDL_Support.h" #define ICON_GREEN ":/img/SmallGreen.png" #define ICON_RED ":/img/SmallRed.png" #define ICON_YELLOW ":/img/SmallYellow.png" //==================================================================================================================== DlgCheckConfig::DlgCheckConfig(cApplicationConfig *ApplicationConfig,QWidget *parent) :QCustomDialog(ApplicationConfig,parent),ui(new Ui::DlgCheckConfig) { ui->setupUi(this); OkBt =ui->OKBT; HelpBt =ui->HelpBt; HelpFile="0106"; } //==================================================================================================================== DlgCheckConfig::~DlgCheckConfig() { delete ui; } //==================================================================================================================== // Initialise dialog void DlgCheckConfig::DoInitDialog() { QString StatusStr; int LumaListNbr=LumaList_Bar.List.count()+LumaList_Box.List.count()+LumaList_Center.List.count()+LumaList_Checker.List.count()+LumaList_Clock.List.count()+LumaList_Snake.List.count(); // ffDiaporama ui->ListWidget->addItem(new QListWidgetItem(QString("%1 %2 (%3) ...").arg(APPLICATION_NAME).arg(CurrentAppName).arg(CurrentAppVersion))); ui->ListWidget->addItem(new QListWidgetItem(QIcon(ICON_GREEN),QApplication::translate("DlgCheckConfig","Operating system version: %1 - %2 Core/CPU").arg(ApplicationConfig->Plateforme).arg(getCpuCount()))); #if (!defined(Q_OS_WIN64))&&(defined(Q_OS_WIN32) || defined(Q_OS_LINUX32) || defined(Q_OS_SOLARIS32)) ui->ListWidget->addItem(new QListWidgetItem(QIcon(ICON_GREEN),QApplication::translate("DlgCheckConfig","Application architecture: 32 bits"))); #else ui->ListWidget->addItem(new QListWidgetItem(QIcon(ICON_GREEN),QApplication::translate("DlgCheckConfig","Application architecture: 64 bits"))); #endif ui->ListWidget->addItem(new QListWidgetItem(QIcon(ICON_GREEN),QApplication::translate("DlgCheckConfig","User config file: %1").arg(QDir::toNativeSeparators(ApplicationConfig->UserConfigFile)))); ui->ListWidget->addItem(new QListWidgetItem(QIcon(ICON_GREEN),QApplication::translate("DlgCheckConfig","Global config file: %1").arg(QDir::toNativeSeparators(ApplicationConfig->GlobalConfigFile)))); ui->ListWidget->addItem(new QListWidgetItem(QIcon(ICON_GREEN),QApplication::translate("DlgCheckConfig","Starting path: %1").arg(QDir::toNativeSeparators(ApplicationConfig->StartingPath)))); ui->ListWidget->addItem(new QListWidgetItem(QIcon(ICON_GREEN),QApplication::translate("DlgCheckConfig","Working path set to: %1").arg(QDir::toNativeSeparators(QDir::currentPath())))); ui->ListWidget->addItem(new QListWidgetItem(QIcon(ICON_GREEN),QApplication::translate("DlgCheckConfig","Search path set to: %1").arg(getenv("PATH")))); // Ressources libraries ui->ListWidget->addItem(new QListWidgetItem(QIcon(ICON_GREEN),QApplication::translate("DlgCheckConfig","The background library contains %1 pictures").arg(BackgroundList.List.count()))); ui->ListWidget->addItem(new QListWidgetItem(QIcon(ICON_GREEN),QApplication::translate("DlgCheckConfig","The non-luma library contains %1 transitions").arg(IconList.List.count()-LumaListNbr))); ui->ListWidget->addItem(new QListWidgetItem(QIcon(ICON_GREEN),QApplication::translate("DlgCheckConfig","The luma library contains %1 transitions").arg(LumaListNbr))); // SDL ui->ListWidget->addItem(new QListWidgetItem(QIcon(ICON_GREEN),QApplication::translate("DlgCheckConfig","SDL version: %1.%2.%3-Licence=GPL version 2.1 or later").arg(SDL_MAJOR_VERSION).arg(SDL_MINOR_VERSION).arg(SDL_PATCHLEVEL))); // fmt_filters ui->ListWidget->addItem(new QListWidgetItem(QIcon(ICON_GREEN),QApplication::translate("DlgCheckConfig","fmt_filters version:0.6.4-Licence=LGPL"))); // qimageblitz ui->ListWidget->addItem(new QListWidgetItem(QIcon(ICON_GREEN),QApplication::translate("DlgCheckConfig","qimageblitz version:0.6.6-Licence=LGPL"))); // QT ui->ListWidget->addItem(new QListWidgetItem("")); ui->ListWidget->addItem(new QListWidgetItem(QApplication::translate("DlgCheckConfig","QT version: %1").arg(qVersion()))); ui->ListWidget->addItem(new QListWidgetItem(QIcon(ICON_GREEN),QApplication::translate("DlgCheckConfig","Detected system locale: %1").arg(ApplicationConfig->CurrentLanguage))); ui->ListWidget->addItem(new QListWidgetItem(QIcon(ICON_GREEN),QApplication::translate("DlgCheckConfig","Translation file loaded: %1").arg(QDir::toNativeSeparators(QDir().absoluteFilePath(QString("locale")+QDir::separator()+QString("locale_")+ApplicationConfig->CurrentLanguage+".qm"))))); ui->ListWidget->addItem(new QListWidgetItem("")); // exiv2 StatusStr=QApplication::translate("DlgCheckConfig","LibExiv2 version:")+QString(" %1.%2.%3").arg(Exiv2MajorVersion).arg(Eviv2MinorVersion).arg(Exiv2PatchVersion); ui->ListWidget->addItem(new QListWidgetItem(StatusStr)); StatusStr=QApplication::translate("DlgCheckConfig","LibExiv2 support for preview image")+" "+(Exiv2WithPreview?QApplication::translate("DlgCheckConfig","available"):QApplication::translate("DlgCheckConfig","not available")); ui->ListWidget->addItem(new QListWidgetItem(Exiv2WithPreview?QIcon(ICON_GREEN):QIcon(ICON_YELLOW),StatusStr)); ui->ListWidget->addItem(new QListWidgetItem("")); #if defined(LIBAV) && (LIBAVVERSIONINT<=8) bool Status=false; // taglib ui->ListWidget->addItem(new QListWidgetItem(QApplication::translate("DlgCheckConfig","TAGLib version:")+QString(" %1.%2.%3").arg(TaglibMajorVersion).arg(TaglibMinorVersion).arg(TaglibPatchVersion))); #ifdef TAGLIBWITHFLAC Status=true; #else Status=false; #endif StatusStr=QApplication::translate("DlgCheckConfig","TAGLib support for FLAC")+" "+(Status?QApplication::translate("DlgCheckConfig","available"):QApplication::translate("DlgCheckConfig","not available")); ui->ListWidget->addItem(new QListWidgetItem(Status?QIcon(ICON_GREEN):QIcon(ICON_YELLOW),StatusStr)); #ifdef TAGLIBWITHASF Status=true; #else Status=false; #endif StatusStr=QApplication::translate("DlgCheckConfig","TAGLib support for ASF/WMA")+" "+(Status?QApplication::translate("DlgCheckConfig","available"):QApplication::translate("DlgCheckConfig","not available")); ui->ListWidget->addItem(new QListWidgetItem(Status?QIcon(ICON_GREEN):QIcon(ICON_YELLOW),StatusStr)); #ifdef TAGLIB_WITH_MP4 Status=true; #else Status=false; #endif StatusStr=QApplication::translate("DlgCheckConfig","TAGLib support for M4A/MP4")+" "+(Status?QApplication::translate("DlgCheckConfig","available"):QApplication::translate("DlgCheckConfig","not available")); ui->ListWidget->addItem(new QListWidgetItem(Status?QIcon(ICON_GREEN):QIcon(ICON_YELLOW),StatusStr)); ui->ListWidget->addItem(new QListWidgetItem("")); #endif // libav ui->ListWidget->addItem(new QListWidgetItem("libav")); ui->ListWidget->addItem(new QListWidgetItem(QIcon(ICON_GREEN),QApplication::translate("DlgCheckConfig","LIBAV general version:")+ #if defined(FFMPEG) FFMPEGVERSION #else LIBAVVERSION #endif )); ui->ListWidget->addItem(new QListWidgetItem(QIcon(ICON_GREEN),QApplication::translate("DlgCheckConfig","LIBAVUTIL version: %1.%2.%3.%4") .arg(LIBAVUTIL_VERSION_MAJOR) .arg(LIBAVUTIL_VERSION_MINOR) .arg(LIBAVUTIL_VERSION_MICRO) .arg(avutil_version()))); ui->ListWidget->addItem(new QListWidgetItem(QIcon(ICON_GREEN),QApplication::translate("DlgCheckConfig","LIBAVCODEC version: %1.%2.%3.%4") .arg(LIBAVCODEC_VERSION_MAJOR) .arg(LIBAVCODEC_VERSION_MINOR) .arg(LIBAVCODEC_VERSION_MICRO) .arg(avcodec_version()))); ui->ListWidget->addItem(new QListWidgetItem(QIcon(ICON_GREEN),QApplication::translate("DlgCheckConfig","LIBAVFORMAT version: %1.%2.%3.%4").arg(LIBAVFORMAT_VERSION_MAJOR).arg(LIBAVFORMAT_VERSION_MINOR).arg(LIBAVFORMAT_VERSION_MICRO).arg(avformat_version()))); ui->ListWidget->addItem(new QListWidgetItem(QIcon(ICON_GREEN),QApplication::translate("DlgCheckConfig","LIBAVFILTER version: %1.%2.%3.%4").arg(LIBAVFILTER_VERSION_MAJOR).arg(LIBAVFILTER_VERSION_MINOR).arg(LIBAVFILTER_VERSION_MICRO).arg(avfilter_version()))); ui->ListWidget->addItem(new QListWidgetItem(QIcon(ICON_GREEN),QApplication::translate("DlgCheckConfig","LIBSWSCALE version: %1.%2.%3.%4") .arg(LIBSWSCALE_VERSION_MAJOR) .arg(LIBSWSCALE_VERSION_MINOR) .arg(LIBSWSCALE_VERSION_MICRO) .arg(swscale_version()))); #if defined(LIBAV) && (LIBAVVERSIONINT>=9) ui->ListWidget->addItem(new QListWidgetItem(QIcon(ICON_GREEN),QApplication::translate("DlgCheckConfig","LIBAVRESAMPLE version: %1.%2.%3.%4") .arg(LIBAVRESAMPLE_VERSION_MAJOR) .arg(LIBAVRESAMPLE_VERSION_MINOR) .arg(LIBAVRESAMPLE_VERSION_MICRO).arg(avresample_version()))); #elif defined(FFMPEG) ui->ListWidget->addItem(new QListWidgetItem(QIcon(ICON_GREEN),QApplication::translate("DlgCheckConfig","LIBSWRESAMPLE version: %1.%2.%3.%4") .arg(LIBSWRESAMPLE_VERSION_MAJOR) .arg(LIBSWRESAMPLE_VERSION_MINOR) .arg(LIBSWRESAMPLE_VERSION_MICRO).arg(swresample_version()))); #endif if ((AUDIOCODECDEF[7].IsFind)&&(VIDEOCODECDEF[8].IsFind)&&(FORMATDEF[2].IsFind)) ui->ListWidget->addItem(new QListWidgetItem(QIcon(ICON_GREEN),QApplication::translate("DlgCheckConfig","Lossless rendering")+" "+QApplication::translate("DlgCheckConfig","available"))); else ui->ListWidget->addItem(new QListWidgetItem(QIcon(ICON_RED),QApplication::translate("DlgCheckConfig","Lossless rendering")+" "+QApplication::translate("DlgCheckConfig","not available"))); ui->ListWidget->addItem(new QListWidgetItem("")); // Codecs ui->ListWidget->addItem(new QListWidgetItem(QApplication::translate("DlgCheckConfig","Audio Codecs"))); for (int i=0;iListWidget->addItem(new QListWidgetItem(AUDIOCODECDEF[i].IsFind?QIcon(ICON_GREEN):AUDIOCODECDEF[i].IsRead?QIcon(ICON_YELLOW):QIcon(ICON_RED),QString(AUDIOCODECDEF[i].LongName)+" "+(AUDIOCODECDEF[i].IsFind||AUDIOCODECDEF[i].IsRead?QApplication::translate("DlgCheckConfig","available")+QString(" - Codec=%1").arg(QString(AUDIOCODECDEF[i].ShortName)):QApplication::translate("DlgCheckConfig","not available")))); ui->ListWidget->addItem(new QListWidgetItem("")); ui->ListWidget->addItem(new QListWidgetItem(QApplication::translate("DlgCheckConfig","Video Codecs"))); for (int i=0;iListWidget->addItem(new QListWidgetItem(VIDEOCODECDEF[i].IsFind?QIcon(ICON_GREEN):VIDEOCODECDEF[i].IsRead?QIcon(ICON_YELLOW):QIcon(ICON_RED),QString(VIDEOCODECDEF[i].LongName)+" "+(VIDEOCODECDEF[i].IsFind||VIDEOCODECDEF[i].IsRead?QApplication::translate("DlgCheckConfig","available")+QString(" - Codec=%1").arg(QString(VIDEOCODECDEF[i].ShortName)):QApplication::translate("DlgCheckConfig","not available")))); ui->ListWidget->addItem(new QListWidgetItem("")); ui->ListWidget->addItem(new QListWidgetItem(QApplication::translate("DlgCheckConfig","Container Formats"))); for (int i=0;iListWidget->addItem(new QListWidgetItem(FORMATDEF[i].IsFind?QIcon(ICON_GREEN):FORMATDEF[i].IsRead?QIcon(ICON_YELLOW):QIcon(ICON_RED),QString(FORMATDEF[i].LongName)+" "+(FORMATDEF[i].IsFind||FORMATDEF[i].IsRead?QApplication::translate("DlgCheckConfig","available"):QApplication::translate("DlgCheckConfig","not available")))); ui->CheckConfigAtStartupCB->setChecked(ApplicationConfig->CheckConfigAtStartup); } //==================================================================================================================== // Call when user click on Ok button bool DlgCheckConfig::DoAccept() { ApplicationConfig->CheckConfigAtStartup=ui->CheckConfigAtStartupCB->isChecked(); return true; } ffDiaporama/src/ffDiaporama/DlgChapter/0000777000175000001440000000000012275647315020235 5ustar dominiqueusersffDiaporama/src/ffDiaporama/DlgChapter/DlgChapter.ui0000777000175000001440000003033112275647315022614 0ustar dominiqueusers DlgChapter 0 0 524 302 Chapter properties 8 8 8 8 4 0 0 0 0 0 Qt::Horizontal 40 20 Accept modification and exit dialog box &Ok :/img/action_ok.png:/img/action_ok.png Cancel modification and exit dialog box &Cancel :/img/action_cancel.png:/img/action_cancel.png Show help about this dialogue box &Help :/img/help.png:/img/help.png Chapter name: 0 6 Qt::Horizontal Event date: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter If this box is checked, the date of the chapter is different from the date of the project. Remark: It is often useful to differentiate the date of the chapter of the date of the project. For example, if the project is "My vacation from 1 to 15", the chapter may be limited to the 3. Chapter date different from project date Qt::Vertical 20 164 Select a date for the chapter. true Start a new chapter from this slide. (If this box is checked, the slide will mark the beginning of a new chapter.) Remarks : This box cannot be deactivated for the first slide of the project. Start a new chapter with this slide Event location: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter If this box is checked, the date of the chapter is different from the date of the project. Remark: It is often useful to differentiate the date of the chapter of the date of the project. For example, if the project is "My vacation from 1 to 15", the chapter may be limited to the 3. Chapter location different from project location 0 10 0 QFrame::Box 2 2 0 2 0 0 0 16 16 QFrame { background-color: transparent; border: 0; } QFrame { background-color: transparent; border: 0; } Select the location of the event of the project :/img/EditGMaps.png:/img/EditGMaps.png Clear this location :/img/trash.png:/img/trash.png Enter here the name of the chapter 0 Override date: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 0 0 0 0 0 0 If this box is checked, you can enter a longtime different from that generated from the date of the chapter. Enter here a date, in a free format, for the chapter StartNewChapterCB ChapterNameED OverrideProjectDateCB ChapterEventDateED ChapterDateED OverrideProjectLocationCB LocationBT ClearLocationBT OKBT CancelBt HelpBt ffDiaporama/src/ffDiaporama/DlgChapter/DlgChapter.h0000777000175000001440000000502712275647315022432 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef DLGCHAPTER_H #define DLGCHAPTER_H // Basic inclusions (common to all files) #include "CustomCtrl/_QCustomDialog.h" #include "engine/_Diaporama.h" namespace Ui { class DlgChapter; } class DlgChapter : public QCustomDialog { Q_OBJECT public: cDiaporamaObject *CurrentSlide; // Current slide bool IsLocationChanged; explicit DlgChapter(cDiaporamaObject *DiaporamaObject,cApplicationConfig *ApplicationConfig,QWidget *parent = 0); ~DlgChapter(); // function to be overloaded virtual void DoInitDialog(); // Initialise dialog virtual bool DoAccept(); // Call when user click on Ok button virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button virtual void PrepareGlobalUndo(); // Initiale Undo virtual void DoGlobalUndo(); // Apply Undo : call when user click on Cancel button void RefreshControl(); private slots: void StartNewChapterCBChanged(int); void OverrideProjectDateChanged(int); void OverrideDateCBChanged(int); void ChapterEventDateChanged(const QDate &NewDate); void SelectLocation(); void ClearLocation(); void OverrideLocationCBChanged(int); private: Ui::DlgChapter *ui; }; #endif // DLGCHAPTER_H ffDiaporama/src/ffDiaporama/DlgChapter/DlgChapter.cpp0000777000175000001440000003314612275647315022770 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "DlgChapter.h" #include "ui_DlgChapter.h" #include "engine/cLocation.h" #include "DlgGMapsLocation/DlgGMapsLocation.h" DlgChapter::DlgChapter(cDiaporamaObject *DiaporamaObject,cApplicationConfig *ApplicationConfig,QWidget *parent): QCustomDialog(ApplicationConfig,parent),ui(new Ui::DlgChapter) { ui->setupUi(this); OkBt =ui->OKBT; CancelBt =ui->CancelBt; HelpBt =ui->HelpBt; HelpFile ="0105"; CurrentSlide=DiaporamaObject; IsLocationChanged=false; } //==================================================================================================================== DlgChapter::~DlgChapter() { delete ui; } //==================================================================================================================== // Initialise dialog void DlgChapter::DoInitDialog() { ui->LocationFrame->setAutoFillBackground(true); ui->OverrideProjectLocationCB->setChecked(CurrentSlide->ChapterLocation!=NULL); ui->ChapterEventDateED->setDisplayFormat(ApplicationConfig->ShortDateFormat); ui->ChapterNameED->setText(CurrentSlide->ChapterName); ui->ChapterEventDateED->setDate(CurrentSlide->OverrideProjectEventDate?CurrentSlide->ChapterEventDate:CurrentSlide->Parent->ProjectInfo->EventDate); ui->ChapterDateED->setPlainText(CurrentSlide->OverrideProjectEventDate?CurrentSlide->OverrideChapterLongDate?CurrentSlide->ChapterLongDate:FormatLongDate(CurrentSlide->ChapterEventDate):CurrentSlide->Parent->ProjectInfo->LongDate); RefreshControl(); connect(ui->StartNewChapterCB, SIGNAL(stateChanged(int)),this,SLOT(StartNewChapterCBChanged(int))); connect(ui->OverrideProjectDateCB, SIGNAL(stateChanged(int)),this,SLOT(OverrideProjectDateChanged(int))); connect(ui->OverrideDateCB, SIGNAL(stateChanged(int)),this,SLOT(OverrideDateCBChanged(int))); connect(ui->ChapterEventDateED, SIGNAL(dateChanged(const QDate &)),this,SLOT(ChapterEventDateChanged(const QDate &))); connect(ui->LocationBT, SIGNAL(pressed()),this,SLOT(SelectLocation())); connect(ui->ClearLocationBT, SIGNAL(pressed()),this,SLOT(ClearLocation())); connect(ui->OverrideProjectLocationCB,SIGNAL(stateChanged(int)),this,SLOT(OverrideLocationCBChanged(int))); } //==================================================================================================================== // RefreshControl void DlgChapter::RefreshControl() { ui->StartNewChapterCB->setChecked(CurrentSlide->StartNewChapter); ui->OverrideProjectDateCB->setChecked(CurrentSlide->OverrideProjectEventDate); ui->OverrideDateCB->setChecked(CurrentSlide->OverrideChapterLongDate); ui->ChapterNameLabel->setEnabled(CurrentSlide->StartNewChapter); ui->ChapterNameED->setEnabled(CurrentSlide->StartNewChapter); ui->OverrideProjectDateCB->setEnabled(CurrentSlide->StartNewChapter); ui->ChapterEventDateLabel->setEnabled(CurrentSlide->StartNewChapter && CurrentSlide->OverrideProjectEventDate); ui->ChapterEventDateED->setEnabled(CurrentSlide->StartNewChapter && CurrentSlide->OverrideProjectEventDate); ui->OverrideDateCB->setEnabled(CurrentSlide->StartNewChapter && CurrentSlide->OverrideProjectEventDate); ui->OverrideDateLabel->setEnabled(CurrentSlide->StartNewChapter && CurrentSlide->OverrideProjectEventDate); ui->ChapterDateED->setEnabled(CurrentSlide->StartNewChapter && CurrentSlide->OverrideProjectEventDate && CurrentSlide->OverrideChapterLongDate); ui->OverrideProjectLocationCB->setEnabled(CurrentSlide->StartNewChapter); ui->LocationLabel->setEnabled(CurrentSlide->StartNewChapter && ui->OverrideProjectLocationCB->isChecked()); ui->LocationFrame->setEnabled(CurrentSlide->StartNewChapter && ui->OverrideProjectLocationCB->isChecked()); ui->LocationBT->setEnabled(CurrentSlide->StartNewChapter && ui->OverrideProjectLocationCB->isChecked()); ui->ClearLocationBT->setEnabled(CurrentSlide->StartNewChapter && ui->OverrideProjectLocationCB->isChecked()); if (CurrentSlide->ChapterLocation) { ui->Location->setText(QString("%1 (%2)").arg(((cLocation *)CurrentSlide->ChapterLocation)->Name).arg(((cLocation *)CurrentSlide->ChapterLocation)->FriendlyAddress)); ui->LocationIcon->setPixmap(QPixmap().fromImage(((cLocation *)CurrentSlide->ChapterLocation)->GetThumb(16))); } else { ui->Location->setText(""); ui->LocationIcon->setPixmap(QPixmap()); } if (ui->LocationFrame->isEnabled()) ui->LocationFrame->setStyleSheet("QFrame {background-color: white;border: 1px solid darkgray;}"); else ui->LocationFrame->setStyleSheet("QFrame {border: 1px solid darkgray;}"); } //==================================================================================================================== // Initiale Undo void DlgChapter::PrepareGlobalUndo() { // Save object before modification for cancel button Undo=new QDomDocument(APPLICATION_NAME); QDomElement root=Undo->createElement("UNDO-DLG"); // Create xml document and root CurrentSlide->SaveToXML(root,"UNDO-DLG-OBJECT",CurrentSlide->Parent->ProjectFileName,true,NULL,NULL,false); // Save object Undo->appendChild(root); // Add object to xml document } //==================================================================================================================== // Apply Undo : call when user click on Cancel button void DlgChapter::DoGlobalUndo() { QDomElement root=Undo->documentElement(); if (root.tagName()=="UNDO-DLG") CurrentSlide->LoadFromXML(root,"UNDO-DLG-OBJECT","",NULL,NULL,false); } //==================================================================================================================== bool DlgChapter::DoAccept() { CurrentSlide->StartNewChapter =ui->StartNewChapterCB->isChecked(); CurrentSlide->OverrideProjectEventDate =CurrentSlide->StartNewChapter?ui->OverrideProjectDateCB->isChecked():false; CurrentSlide->OverrideChapterLongDate =CurrentSlide->StartNewChapter?ui->OverrideDateCB->isChecked():false; CurrentSlide->ChapterName =ui->ChapterNameED->text(); CurrentSlide->ChapterEventDate =CurrentSlide->OverrideProjectEventDate?ui->ChapterEventDateED->date():CurrentSlide->Parent->ProjectInfo->EventDate; CurrentSlide->ChapterLongDate =CurrentSlide->OverrideProjectEventDate?CurrentSlide->OverrideChapterLongDate?ui->ChapterDateED->toPlainText():FormatLongDate(CurrentSlide->ChapterEventDate):CurrentSlide->Parent->ProjectInfo->LongDate; if (IsLocationChanged) CurrentSlide->Parent->UpdateGMapsObject(); return true; } //==================================================================================================================== void DlgChapter::StartNewChapterCBChanged(int) { CurrentSlide->StartNewChapter=ui->StartNewChapterCB->isChecked(); RefreshControl(); } //==================================================================================================================== void DlgChapter::OverrideProjectDateChanged(int) { CurrentSlide->OverrideProjectEventDate=ui->OverrideProjectDateCB->isChecked(); if (!CurrentSlide->OverrideProjectEventDate) { ui->ChapterEventDateED->setDate(CurrentSlide->Parent->ProjectInfo->EventDate); CurrentSlide->ChapterLongDate=FormatLongDate(CurrentSlide->Parent->ProjectInfo->EventDate); ui->ChapterDateED->setPlainText(CurrentSlide->ChapterLongDate); } RefreshControl(); } //==================================================================================================================== void DlgChapter::OverrideDateCBChanged(int) { CurrentSlide->OverrideChapterLongDate=ui->OverrideDateCB->isChecked(); if (!CurrentSlide->OverrideChapterLongDate) { CurrentSlide->ChapterLongDate=FormatLongDate(CurrentSlide->ChapterEventDate); ui->ChapterDateED->setPlainText(CurrentSlide->ChapterLongDate); } RefreshControl(); } //==================================================================================================================== void DlgChapter::ChapterEventDateChanged(const QDate &NewDate) { CurrentSlide->ChapterEventDate=NewDate; if (!CurrentSlide->OverrideChapterLongDate) { CurrentSlide->ChapterLongDate=CurrentSlide->OverrideProjectEventDate?FormatLongDate(CurrentSlide->ChapterEventDate):CurrentSlide->Parent->ProjectInfo->LongDate; ui->ChapterDateED->setPlainText(CurrentSlide->ChapterLongDate); } } //==================================================================================================================== #define FAVACTIONTYPE_ACTIONTYPE 0xF000 #define FAVACTIONTYPE_EDIT 0x1000 #define FAVACTIONTYPE_SELECT 0x8000 void DlgChapter::SelectLocation() { QMenu *ContextMenu=new QMenu(this); bool AddSep=false; QAction *Add=CreateMenuAction(QIcon(":/img/gmap_add.png"), CurrentSlide->ChapterLocation?QApplication::translate("MainWindow","Edit this location"):QApplication::translate("MainWindow","Define a location"), FAVACTIONTYPE_EDIT,false,false,this); ContextMenu->addAction(Add); QSqlQuery Query(ApplicationConfig->Database->db); QString QueryString("SELECT Key,Name,FAddress,Thumbnail FROM Location ORDER BY LOWER(Name)"); Query.prepare(QueryString); if (!Query.exec()) DisplayLastSQLError(&Query); else while (Query.next()) { bool Ret; qlonglong Key=Query.value(0).toLongLong(&Ret); if (Ret) { if (!AddSep) { ContextMenu->addSeparator(); AddSep=true; } QString Name =Query.value(1).toString(); QString Address=Query.value(2).toString(); QByteArray Data =Query.value(3).toByteArray(); QImage Thumb; Thumb.loadFromData(Data); bool IsCurrent=(Key==(CurrentSlide->ChapterLocation?((cLocation *)CurrentSlide->ChapterLocation)->FavKey:-1)); QAction *Act=CreateMenuAction(QIcon(QPixmap().fromImage(Thumb)),QString("%1 (%2)").arg(Name).arg(Address),FAVACTIONTYPE_SELECT+Key,true,IsCurrent,this); ContextMenu->addAction(Act); } } QAction *Action=ContextMenu->exec(QCursor::pos()); if (Action) { int ActionType=Action->data().toInt() & FAVACTIONTYPE_ACTIONTYPE; if (ActionType==FAVACTIONTYPE_EDIT) { cLocation *PrevLocation=(cLocation *)CurrentSlide->ChapterLocation; if (!((cLocation *)CurrentSlide->ChapterLocation)) CurrentSlide->ChapterLocation=new cLocation(ApplicationConfig); DlgGMapsLocation Dlg((cLocation *)CurrentSlide->ChapterLocation,ApplicationConfig,this); Dlg.InitDialog(); if ((Dlg.exec()!=0)&&(!PrevLocation)) { delete (cLocation *)CurrentSlide->ChapterLocation; CurrentSlide->ChapterLocation=NULL; } } else if (Action->text()!="") { qlonglong Key=Action->data().toInt() & ~FAVACTIONTYPE_ACTIONTYPE; if (!CurrentSlide->ChapterLocation) CurrentSlide->ChapterLocation=new cLocation(ApplicationConfig); ((cLocation *)CurrentSlide->ChapterLocation)->LoadFromFavorite(Key); } } ui->LocationBT->setDown(false); if (CurrentSlide->ChapterLocation) { ui->Location->setText(QString("%1 (%2)").arg(((cLocation *)CurrentSlide->ChapterLocation)->Name).arg(((cLocation *)CurrentSlide->ChapterLocation)->FriendlyAddress)); ui->LocationIcon->setPixmap(QPixmap().fromImage(((cLocation *)CurrentSlide->ChapterLocation)->GetThumb(16))); } else { ui->Location->setText(""); ui->LocationIcon->setPixmap(QPixmap()); } IsLocationChanged=true; } //==================================================================================================================== void DlgChapter::ClearLocation() { if (CurrentSlide->ChapterLocation) delete ((cLocation *)CurrentSlide->ChapterLocation); CurrentSlide->ChapterLocation=NULL; ui->Location->setText(""); ui->LocationIcon->setPixmap(QPixmap()); IsLocationChanged=true; } //==================================================================================================================== void DlgChapter::OverrideLocationCBChanged(int) { if ((!ui->OverrideProjectLocationCB->isChecked())&&(CurrentSlide->ChapterLocation)) { delete ((cLocation *)CurrentSlide->ChapterLocation); CurrentSlide->ChapterLocation=NULL; ui->Location->setText(""); ui->LocationIcon->setPixmap(QPixmap()); } RefreshControl(); IsLocationChanged=true; } ffDiaporama/src/ffDiaporama/DlgBackground/0000777000175000001440000000000012275647325020727 5ustar dominiqueusersffDiaporama/src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui0000777000175000001440000006357312275647325026072 0ustar dominiqueusers DlgBackgroundProperties 0 0 508 367 500 300 Sans Serif 9 Background properties 4 8 8 8 8 0 0 If this option is selected, the slide will have no background definition but will use the same background as the previous slide: - If the previous slide does not have a background definition either, the check continues backwards until a slide is found which does have a background definition. - If no previous slide has a background definition, then a black frame will be used. Same background as preceding object 0 0 If this option is selected, the slide will have its own background definition. Select a new background 4 0 0 0 0 0 0 QFrame::Box :/img/color.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Qt::Vertical 20 40 :/img/color_fill.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 0 0 0 140 68 140 68 Allows you to select an image. 0 0 0 0 24 24 24 24 :/img/object_image.png true Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Allows you to select a brush type in the following list: - Solid brush: Allow to selects a plain color. - Gradient 2 colors: Allow to select a gradient from 2 colors - Gradient 3 colors: Allow to select a gradient from 3 colors - Image from library: Allow to select a predefined background - Image disk: Allow to select a photo or an image from a file on the disk. 0 0 0 0 0 24 24 24 24 :/img/object_image.png true Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing :/img/Distance.png Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 2 0 0 0 0 0 0 If this box is checked, the image isn't deformed and you can open the Image framing dialog to select a part of the image. Keep aspect ratio Opens the Image framing dialog to select a part of the image. :/img/EditImage.png:/img/EditImage.png 0 0 0 0 0 0 0 48 24 48 24 Allows you to select the gradient orientation. 64 16 0 0 65 0 65 16777215 Allows you to define the position (in percentage) of the 3rd gradient color. 1 10 Qt::Horizontal 0 0 Allows you to define the position (in percentage) of the 3rd gradient color. % 1 10 0 0 0 0 0 0 0 0 0 48 24 48 24 Allows you to select the first color. 0 0 48 24 48 24 Allows you to select the second color. 0 0 48 24 48 24 Allows you to select the last color. 0 0 0 0 If this box is checked, the image fills the screen, even if it has to be deformed. Full filling (deform image) 0 0 0 0 0 0 0 true Allows you to select a photo or an image from a file on the disk. ... :/img/FolderOpen.png:/img/FolderOpen.png 0 0 Qt::Horizontal 4 Qt::Horizontal 40 20 Accept modification and exit dialog box &Ok :/img/action_ok.png:/img/action_ok.png 0 0 20 0 20 16777215 Undo last action (CTRL+Z) Undo :/img/undo24.png:/img/undo24.png Ctrl+Z Cancel modification and exit dialog box &Cancel :/img/action_cancel.png:/img/action_cancel.png Show help about this dialogue box &Help :/img/help.png:/img/help.png cCColorComboBox QComboBox
../ffDiaporama_lib/cColorComboBox.h
cCGrdOrientationComboBox QComboBox
../ffDiaporama_lib/cGrdOrientationComboBox.h
cBackgroundComboBox QComboBox
../ffDiaporama_lib/cBackgroundComboBox.h
ffDiaporama/src/ffDiaporama/DlgBackground/DlgBackgroundProperties.h0000777000175000001440000000635112275647325025673 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef DLGBACKGROUNDPROPERTIES_H #define DLGBACKGROUNDPROPERTIES_H // Basic inclusions (common to all files) #include "CustomCtrl/_QCustomDialog.h" #include "engine/_Diaporama.h" namespace Ui { class DlgBackgroundProperties; } class DlgBackgroundProperties : public QCustomDialog { Q_OBJECT public: cDiaporamaObject *DiaporamaObject; bool StopMAJSpinbox; explicit DlgBackgroundProperties(cDiaporamaObject *DiaporamaObject,cApplicationConfig *ApplicationConfig,QWidget *parent=0); ~DlgBackgroundProperties(); void RefreshControls(); // function to be overloaded virtual void DoInitDialog(); // Initialise dialog virtual bool DoAccept() {return true;} // Call when user click on Ok button virtual void DoRejet() { /* Nothing to do */ } // Call when user click on Cancel button virtual void PrepareGlobalUndo(); // Initiale Undo virtual void DoGlobalUndo(); // Apply Undo : call when user click on Cancel button virtual void PreparePartialUndo(int ActionType,QDomElement root,bool DuplicateRessource); virtual void ApplyPartialUndo(int ActionType,QDomElement root); protected: virtual void showEvent(QShowEvent *); private slots: void s_SameBackground(); void s_NewBackground(); void s_ChangeBrushTypeCombo(int); // Intermediate position for gradient 3 colors void s_IntermPosSliderMoved(int); void s_IntermPosED(int); // Handler for custom color/brush/pattern/gradient combo box index change void s_ChIndexGradientOrientationCombo(int); void s_ChIndexGradientFirstColorCombo(int); void s_ChIndexGradientFinalColorCombo(int); void s_ChIndexGradientIntermColorCombo(int); void s_ChIndexBackgroundCombo(); void s_SelectFile(); void s_ImageEditCorrect(); void s_FullFill(); void s_KeepRatio(); signals: void RefreshDisplay(); private: Ui::DlgBackgroundProperties *ui; }; #endif // DLGBACKGROUNDPROPERTIES_H ffDiaporama/src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp0000777000175000001440000005651412275647325026234 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "DlgImage/DlgImageCorrection.h" #include "DlgBackgroundProperties.h" #include "ui_DlgBackgroundProperties.h" #include "DlgFileExplorer/DlgFileExplorer.h" // Undo actions #define UNDOACTION_BACKGROUNDTYPE 1 #define UNDOACTION_BRUSHTYPE 2 #define UNDOACTION_BRUSHFILE 3 #define UNDOACTION_INTERMPOS 4 #define UNDOACTION_PATTERN 5 #define UNDOACTION_ORIENTATION 6 #define UNDOACTION_FIRSTCOLOR 7 #define UNDOACTION_LASTCOLOR 8 #define UNDOACTION_INTERMCOLOR 9 #define UNDOACTION_LIBBRUSH 10 #define UNDOACTION_EDITIMG 11 #define UNDOACTION_FULLFILL 12 #define UNDOACTION_KEEPRATIO 13 //==================================================================================================================== DlgBackgroundProperties::DlgBackgroundProperties(cDiaporamaObject *TheDiaporamaObject,cApplicationConfig *ApplicationConfig,QWidget *parent): QCustomDialog(ApplicationConfig,parent),ui(new Ui::DlgBackgroundProperties) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::DlgBackgroundProperties"); ui->setupUi(this); OkBt =ui->OKBT; CancelBt =ui->CancelBt; UndoBt =ui->UndoBT; HelpBt =ui->HelpBt; HelpFile ="0104"; DiaporamaObject =TheDiaporamaObject; StopMAJSpinbox =false; } //==================================================================================================================== DlgBackgroundProperties::~DlgBackgroundProperties() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::~DlgBackgroundProperties"); delete ui; } //==================================================================================================================== // Initialise dialog void DlgBackgroundProperties::DoInitDialog() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::DoInitDialog"); ui->BackgroundCombo->PrepareTable(DiaporamaObject->Parent->ImageGeometry,&BackgroundList); ui->SameBackgroundRD->setChecked(!DiaporamaObject->BackgroundType); ui->NewBackgroundRD->setChecked(DiaporamaObject->BackgroundType); // Init combo box Background type ui->BrushTypeCombo->addItem(QApplication::translate("DlgBackgroundProperties","Solid brush")); ui->BrushTypeCombo->setItemData(ui->BrushTypeCombo->count()-1,QVariant(int(BRUSHTYPE_SOLID))); ui->BrushTypeCombo->addItem(QApplication::translate("DlgBackgroundProperties","Gradient 2 colors")); ui->BrushTypeCombo->setItemData(ui->BrushTypeCombo->count()-1,QVariant(int(BRUSHTYPE_GRADIENT2))); ui->BrushTypeCombo->addItem(QApplication::translate("DlgBackgroundProperties","Gradient 3 colors")); ui->BrushTypeCombo->setItemData(ui->BrushTypeCombo->count()-1,QVariant(int(BRUSHTYPE_GRADIENT3))); ui->BrushTypeCombo->addItem(QApplication::translate("DlgBackgroundProperties","Image from library")); ui->BrushTypeCombo->setItemData(ui->BrushTypeCombo->count()-1,QVariant(int(BRUSHTYPE_IMAGELIBRARY))); ui->BrushTypeCombo->addItem(QApplication::translate("DlgBackgroundProperties","Image from disk")); ui->BrushTypeCombo->setItemData(ui->BrushTypeCombo->count()-1,QVariant(int(BRUSHTYPE_IMAGEDISK))); RefreshControls(); // Connect signals connect(ui->SameBackgroundRD,SIGNAL(clicked()),this,SLOT(s_SameBackground())); connect(ui->NewBackgroundRD,SIGNAL(clicked()),this,SLOT(s_NewBackground())); connect(ui->BrushTypeCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChangeBrushTypeCombo(int))); // Handler for custom color/brush/pattern/gradient combo box index change connect(ui->OrientationCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexGradientOrientationCombo(int))); connect(ui->FirstColorCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexGradientFirstColorCombo(int))); connect(ui->FinalColorCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexGradientFinalColorCombo(int))); connect(ui->IntermColorCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexGradientIntermColorCombo(int))); connect(ui->BackgroundCombo,SIGNAL(itemSelectionHaveChanged()),this,SLOT(s_ChIndexBackgroundCombo())); // Intermediate position for gradient 3 colors connect(ui->IntermPosSlider,SIGNAL(valueChanged(int)),this,SLOT(s_IntermPosSliderMoved(int))); connect(ui->IntermPosED,SIGNAL(valueChanged(int)),this,SLOT(s_IntermPosED(int))); // Image file connect(ui->ImageFileBT,SIGNAL(pressed()),this,SLOT(s_SelectFile())); connect(ui->ImageEditCorrectBT,SIGNAL(pressed()),this,SLOT(s_ImageEditCorrect())); connect(ui->FullFillRB,SIGNAL(clicked()),this,SLOT(s_FullFill())); connect(ui->KeepRatioRB,SIGNAL(clicked()),this,SLOT(s_KeepRatio())); } //==================================================================================================================== // Initiale Undo void DlgBackgroundProperties::PrepareGlobalUndo() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::PrepareGlobalUndo"); Undo=new QDomDocument(APPLICATION_NAME); QDomElement root=Undo->createElement("UNDO-DLG"); DiaporamaObject->SaveToXML(root,"UNDO-DLG-OBJECT","",NULL,NULL,NULL,false); Undo->appendChild(root); } //==================================================================================================================== // Apply Undo : call when user click on Cancel button void DlgBackgroundProperties::DoGlobalUndo() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::DoGlobalUndo"); QDomElement root=Undo->documentElement(); if (root.tagName()=="UNDO-DLG") DiaporamaObject->LoadFromXML(root,"UNDO-DLG-OBJECT","",NULL,NULL,false); } //==================================================================================================================== void DlgBackgroundProperties::PreparePartialUndo(int /*ActionType*/,QDomElement root,bool) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::PreparePartialUndo"); DiaporamaObject->SaveToXML(root,"UNDO-DLG-OBJECT","",NULL,NULL,NULL,false); } //==================================================================================================================== void DlgBackgroundProperties::ApplyPartialUndo(int /*ActionType*/,QDomElement root) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::ApplyPartialUndo"); DiaporamaObject->LoadFromXML(root,"UNDO-DLG-OBJECT","",NULL,NULL,false); RefreshControls(); } //==================================================================================================================== void DlgBackgroundProperties::showEvent(QShowEvent *) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::showEvent"); RefreshControls(); } //==================================================================================================================== void DlgBackgroundProperties::RefreshControls() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::RefreshControls"); ui->SameBackgroundRD->setChecked(!DiaporamaObject->BackgroundType); ui->NewBackgroundRD->setChecked(DiaporamaObject->BackgroundType); ui->KeepRatioRB->setChecked(!DiaporamaObject->BackgroundBrush->FullFilling); ui->FullFillRB->setChecked(DiaporamaObject->BackgroundBrush->FullFilling); if (ui->NewBackgroundRD->isChecked()) { ui->BrushTypeLabel->setVisible(true); ui->BrushTypeCombo->setEnabled(true); ui->BrushTypeCombo->setVisible(true); // Ensure BrushImage is valide if ((BackgroundList.SearchImage(DiaporamaObject->BackgroundBrush->BrushImage)==-1)&&(BackgroundList.List.count()>0)) DiaporamaObject->BackgroundBrush->BrushImage=BackgroundList.List[0].Name; StopMAJSpinbox=true; // Disable reintrence in this RefreshControls function for (int i=0;iBrushTypeCombo->count();i++) if (ui->BrushTypeCombo->itemData(i).toInt()==DiaporamaObject->BackgroundBrush->BrushType) ui->BrushTypeCombo->setCurrentIndex(i); ui->FirstColorCombo->SetCurrentColor(&DiaporamaObject->BackgroundBrush->ColorD); ui->FinalColorCombo->SetCurrentColor(&DiaporamaObject->BackgroundBrush->ColorF); ui->IntermColorCombo->SetCurrentColor(&DiaporamaObject->BackgroundBrush->ColorIntermed); ui->OrientationCombo->SetCurrentBrush(DiaporamaObject->BackgroundBrush); ui->BackgroundCombo->SetCurrentBackground(DiaporamaObject->BackgroundBrush->BrushImage); ui->IntermPosSlider->setValue(DiaporamaObject->BackgroundBrush->Intermediate*100); ui->IntermPosED->setValue(DiaporamaObject->BackgroundBrush->Intermediate*100); StopMAJSpinbox=false; bool FirstColorAllowed=((DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_SOLID)||(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_PATTERN)|| (DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT2)||(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3)); ui->FirstColorLabel->setVisible(FirstColorAllowed); ui->FirstColorSpacer->setVisible(FirstColorAllowed); ui->FirstColorCombo->setVisible(FirstColorAllowed); ui->FirstColorCombo->setEnabled(FirstColorAllowed); ui->FinalColorCombo->setVisible((DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT2)||(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3)); ui->FinalColorCombo->setEnabled((DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT2)||(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3)); ui->IntermColorCombo->setVisible(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3); ui->IntermColorCombo->setEnabled(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3); ui->IntermPosSlider->setVisible(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3); ui->IntermPosSlider->setEnabled(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3); ui->IntermPosED->setVisible(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3); ui->IntermPosED->setEnabled(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3); ui->OrientationSpacer->setVisible((DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT2)||(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3)); ui->OrientationLabel->setVisible((DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT2)||(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3)); ui->OrientationCombo->setVisible((DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT2)||(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3)); ui->OrientationCombo->setEnabled((DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT2)||(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3)); ui->ImageLibraryLabel->setVisible(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGELIBRARY); ui->ImageLibraryLabel2->setVisible(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGELIBRARY); ui->BackgroundCombo->setVisible(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGELIBRARY); ui->BackgroundComboSpacer->setVisible(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGELIBRARY); ui->ImageFileLabel->setVisible(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK); ui->ImageFileED->setVisible(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK); ui->ImageFileBT->setVisible(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK); ui->ImageEditCorrectBT->setVisible(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK); ui->KeepRatioRB->setVisible(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK); ui->ImageEditCorrectBT->setEnabled((DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK)&&(!DiaporamaObject->BackgroundBrush->FullFilling)&&(DiaporamaObject->BackgroundBrush->MediaObject) &&((DiaporamaObject->BackgroundBrush->MediaObject->ObjectType==OBJECTTYPE_IMAGEFILE)|| (DiaporamaObject->BackgroundBrush->MediaObject->ObjectType==OBJECTTYPE_IMAGEVECTOR)|| (DiaporamaObject->BackgroundBrush->MediaObject->ObjectType==OBJECTTYPE_IMAGECLIPBOARD)|| (DiaporamaObject->BackgroundBrush->MediaObject->ObjectType==OBJECTTYPE_GMAPSMAP)|| (DiaporamaObject->BackgroundBrush->MediaObject->ObjectType==OBJECTTYPE_VIDEOFILE))); ui->FullFillRB->setVisible(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK); ui->ImageFileED->setText(DiaporamaObject->BackgroundBrush->MediaObject?DiaporamaObject->BackgroundBrush->MediaObject->FileName():""); } else { ui->BrushTypeLabel->setVisible(false); ui->BrushTypeCombo->setDisabled(true); ui->BrushTypeCombo->setVisible(false); ui->FirstColorLabel->setVisible(false); ui->FirstColorSpacer->setVisible(false); ui->FirstColorCombo->setEnabled(false); ui->FirstColorCombo->setVisible(false); ui->FinalColorCombo->setVisible(false); ui->FinalColorCombo->setEnabled(false); ui->IntermColorCombo->setVisible(false); ui->IntermColorCombo->setEnabled(false); ui->IntermPosSlider->setVisible(false); ui->IntermPosSlider->setEnabled(false); ui->IntermPosED->setVisible(false); ui->IntermPosED->setEnabled(false); ui->OrientationLabel->setVisible(false); ui->OrientationSpacer->setVisible(false); ui->OrientationCombo->setVisible(false); ui->OrientationCombo->setEnabled(false); ui->ImageLibraryLabel->setVisible(false); ui->ImageLibraryLabel2->setVisible(false); ui->BackgroundCombo->setVisible(false); ui->BackgroundComboSpacer->setVisible(false); ui->ImageFileLabel->setVisible(false); ui->ImageFileED->setVisible(false); ui->ImageFileBT->setVisible(false); ui->ImageEditCorrectBT->setVisible(false); ui->KeepRatioRB->setVisible(false); ui->FullFillRB->setVisible(false); } QApplication::processEvents(); int W=ui->Preview->width(); int H=DiaporamaObject->Parent->GetHeightForWidth(W); if (H>ui->Preview->height()) { H=ui->Preview->height(); W=DiaporamaObject->Parent->GetWidthForHeight(H); } QImage Background=QImage(ui->Preview->width(),ui->Preview->height(),QImage::Format_ARGB32_Premultiplied); QPainter Painter; Painter.begin(&Background); Painter.fillRect(0,0,Background.width(),Background.height(),Qt::black); DiaporamaObject->Parent->PrepareBackground(DiaporamaObject->Parent->GetObjectIndex(DiaporamaObject),W,H,&Painter,(Background.width()-W)/2,(Background.height()-H)/2); Painter.end(); ui->Preview->setPixmap(QPixmap::fromImage(Background)); emit RefreshDisplay(); } //==================================================================================================================== void DlgBackgroundProperties::s_SameBackground() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_SameBackground"); if (DiaporamaObject==NULL) return; AppendPartialUndo(UNDOACTION_BACKGROUNDTYPE,ui->NewBackgroundRD,true); DiaporamaObject->BackgroundType=false; RefreshControls(); } //==================================================================================================================== void DlgBackgroundProperties::s_NewBackground() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_NewBackground"); if (DiaporamaObject==NULL) return; AppendPartialUndo(UNDOACTION_BACKGROUNDTYPE,ui->NewBackgroundRD,true); DiaporamaObject->BackgroundType=true; RefreshControls(); } //==================================================================================================================== void DlgBackgroundProperties::s_ChangeBrushTypeCombo(int Value) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_ChangeBrushTypeCombo"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_BRUSHTYPE,ui->BrushTypeCombo,true); DiaporamaObject->BackgroundBrush->BrushType=ui->BrushTypeCombo->itemData(Value).toInt(); RefreshControls(); } //==================================================================================================================== void DlgBackgroundProperties::s_SelectFile() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_SelectFile"); QStringList FileList; QString NewFile=""; DlgFileExplorer Dlg(BROWSER_TYPE_IMAGEONLY,false,false,false,QApplication::translate("DlgBackgroundProperties","Select a file"),DiaporamaObject->Parent->ApplicationConfig,this); Dlg.InitDialog(); if (Dlg.exec()==0) { FileList=Dlg.GetCurrentSelectedFiles(); if (FileList.count()==1) NewFile=FileList.at(0); } if (NewFile=="") return; AppendPartialUndo(UNDOACTION_BRUSHFILE,ui->ImageFileBT,true); QString BrushFileName=QFileInfo(NewFile).absoluteFilePath(); delete DiaporamaObject->BackgroundBrush->MediaObject; DiaporamaObject->BackgroundBrush->MediaObject=NULL; DiaporamaObject->BackgroundBrush->MediaObject=new cImageFile(ApplicationConfig); bool IsValide=DiaporamaObject->BackgroundBrush->MediaObject->GetInformationFromFile(BrushFileName,NULL,NULL,-1); if (!IsValide) { delete DiaporamaObject->BackgroundBrush->MediaObject; DiaporamaObject->BackgroundBrush->MediaObject=NULL; } else { QImage *Image=DiaporamaObject->BackgroundBrush->MediaObject->ImageAt(true); if (Image) { DiaporamaObject->BackgroundBrush->ApplyAutoFraming(AUTOFRAMING_FULLMAX,1); delete Image; } else { delete DiaporamaObject->BackgroundBrush->MediaObject; DiaporamaObject->BackgroundBrush->MediaObject=NULL; } } RefreshControls(); } //==================================================================================================================== void DlgBackgroundProperties::s_IntermPosSliderMoved(int Value) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_IntermPosSliderMoved"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_INTERMPOS,ui->IntermPosED,false); DiaporamaObject->BackgroundBrush->Intermediate=double(Value)/100; RefreshControls(); } //==================================================================================================================== void DlgBackgroundProperties::s_IntermPosED(int Value) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_IntermPosED"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_INTERMPOS,ui->IntermPosED,false); DiaporamaObject->BackgroundBrush->Intermediate=double(Value)/100; RefreshControls(); } //==================================================================================================================== // Handler for custom color/brush/pattern/gradient combo box index change //==================================================================================================================== //========= Gradient shape orientation void DlgBackgroundProperties::s_ChIndexGradientOrientationCombo(int) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_ChIndexGradientOrientationCombo"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_ORIENTATION,ui->OrientationCombo,false); DiaporamaObject->BackgroundBrush->GradientOrientation=ui->OrientationCombo->GetCurrentBrush()->GradientOrientation; RefreshControls(); } //========= Shape/Gradient shape first color void DlgBackgroundProperties::s_ChIndexGradientFirstColorCombo(int) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_ChIndexGradientFirstColorCombo"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_FIRSTCOLOR,ui->FirstColorCombo,false); DiaporamaObject->BackgroundBrush->ColorD=ui->FirstColorCombo->GetCurrentColor(); RefreshControls(); } //========= Gradient shape last color void DlgBackgroundProperties::s_ChIndexGradientFinalColorCombo(int) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_ChIndexGradientFinalColorCombo"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_LASTCOLOR,ui->FinalColorCombo,false); DiaporamaObject->BackgroundBrush->ColorF=ui->FinalColorCombo->GetCurrentColor(); RefreshControls(); } //========= Gradient shape intermediate color void DlgBackgroundProperties::s_ChIndexGradientIntermColorCombo(int) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_ChIndexGradientIntermColorCombo"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_INTERMCOLOR,ui->IntermColorCombo,false); DiaporamaObject->BackgroundBrush->ColorIntermed=ui->IntermColorCombo->GetCurrentColor(); RefreshControls(); } //========= Background image void DlgBackgroundProperties::s_ChIndexBackgroundCombo() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_ChIndexBackgroundCombo"); if (StopMAJSpinbox) return; AppendPartialUndo(UNDOACTION_LIBBRUSH,ui->BackgroundCombo,false); DiaporamaObject->BackgroundBrush->BrushImage=ui->BackgroundCombo->GetCurrentBackground(); RefreshControls(); } //========= Image file correction void DlgBackgroundProperties::s_ImageEditCorrect() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_ImageEditCorrect"); AppendPartialUndo(UNDOACTION_EDITIMG,ui->ImageEditCorrectBT,false); DlgImageCorrection Dlg(NULL,NULL,DiaporamaObject->BackgroundBrush,0,DiaporamaObject->Parent->ImageGeometry,SPEEDWAVE_DISABLE,ApplicationConfig,this); Dlg.InitDialog(); if (Dlg.exec()==0) { RefreshControls(); } else { RemoveLastPartialUndo(); } } //==================================================================================================================== void DlgBackgroundProperties::s_FullFill() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_FullFill"); AppendPartialUndo(UNDOACTION_FULLFILL,ui->FullFillRB,true); DiaporamaObject->BackgroundBrush->FullFilling=true; RefreshControls(); } //==================================================================================================================== void DlgBackgroundProperties::s_KeepRatio() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_KeepRatio"); AppendPartialUndo(UNDOACTION_KEEPRATIO,ui->KeepRatioRB,true); DiaporamaObject->BackgroundBrush->FullFilling=false; RefreshControls(); } ffDiaporama/src/ffDiaporama/DlgAutoTitleSlide/0000777000175000001440000000000012275647316021543 5ustar dominiqueusersffDiaporama/src/ffDiaporama/DlgAutoTitleSlide/cCustomTitleModelTable.h0000777000175000001440000000445312275647316026275 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef CCUSTOMTITLEMODELTABLE_H #define CCUSTOMTITLEMODELTABLE_H // Basic inclusions (common to all files) #include "CustomCtrl/_QCustomDialog.h" #include "engine/_Diaporama.h" class cCustomTitleModelTable : public QTableWidget { Q_OBJECT public: cApplicationConfig *ApplicationConfig; QAbstractItemModel *DefaultModel; QAbstractItemDelegate *DefaultDelegate; cModelList *ModelTable; cDiaporamaObject *CurrentSlide; int CurrentSel; int NbrColumn; int64_t TimerPosition; bool InModifTable; explicit cCustomTitleModelTable(QWidget *parent = 0); ~cCustomTitleModelTable(); virtual void resizeEvent(QResizeEvent *); virtual void mouseDoubleClickEvent(QMouseEvent *); signals: void DoubleClickEvent(QMouseEvent *ev); protected: virtual void showEvent(QShowEvent *); public slots: void PrepareTable(cModelList *Table); void SetCurrentModel(QString ModelName); QString GetCurrentModel(); }; extern QMutex CustomTitleModelTableLockPaint; // Mutex used to control multithreaded operations #endif // CCUSTOMTITLEMODELTABLE_H ffDiaporama/src/ffDiaporama/DlgAutoTitleSlide/cCustomTitleModelTable.cpp0000777000175000001440000002226712275647316026633 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "cCustomTitleModelTable.h" QMutex CustomTitleModelTableLockPaint; // Mutex used to control multithreaded operations class cCustomTitleModelItem : public QStyledItemDelegate { //Q_OBJECT public: cCustomTitleModelTable *Table; explicit cCustomTitleModelItem(QObject *parent=0); virtual void paint(QPainter *painter,const QStyleOptionViewItem &option,const QModelIndex &index) const; virtual QSize sizeHint(const QStyleOptionViewItem &option,const QModelIndex &index) const; }; //======================================================================================================================== cCustomTitleModelItem::cCustomTitleModelItem(QObject *parent):QStyledItemDelegate(parent) { Table=(cCustomTitleModelTable *)parent; } //======================================================================================================================== void cCustomTitleModelItem::paint(QPainter *painter,const QStyleOptionViewItem &option,const QModelIndex &index) const { if (!CustomTitleModelTableLockPaint.tryLock()) return; if ((!Table->ApplicationConfig)||(Table->InModifTable)) return; int CurIndex=index.row()*Table->columnCount()+index.column(); QModelIndexList SelList =Table->selectionModel()->selectedIndexes(); int CurSelIndex=SelList.count()>0?SelList[0].row()*Table->columnCount()+SelList[0].column():-1; if ((CurIndex==CurSelIndex)&&(CurIndexModelTable->List.count())) painter->fillRect(option.rect,Qt::blue); else painter->fillRect(option.rect,Qt::white); if ((CurIndex>=0)&&(CurIndexModelTable->List.count())) { painter->drawImage(option.rect.left()+10,option.rect.top()+10, Table->ModelTable->List[CurIndex]->PrepareImage((Table->TimerPosition % Table->ModelTable->List[CurIndex]->Duration),NULL,Table->CurrentSlide)); QString ModelDuration=QTime(0,0,0,0).addMSecs(Table->ModelTable->List[CurIndex]->Duration).toString("mm:ss.zzz"); int FontFactor=((Table->ApplicationConfig->TimelineHeight-TIMELINEMINHEIGH)/20)*10; QFont font= QApplication::font(); QPen Pen; painter->setFont(font); #ifdef Q_OS_WIN font.setPointSizeF(double(110+FontFactor)/double(painter->fontMetrics().boundingRect("0").height())); // Scale font #else font.setPointSizeF((double(140+FontFactor)/double(painter->fontMetrics().boundingRect("0").height()))*ScreenFontAdjust);// Scale font #endif painter->setFont(font); Pen.setWidth(1); Pen.setStyle(Qt::SolidLine); Pen.setColor(Qt::black); painter->setPen(Pen); painter->drawText(QRect(option.rect.left()+1,option.rect.top()+1,option.rect.width()-1,option.rect.height()-1),ModelDuration,Qt::AlignCenter|Qt::AlignBottom); Pen.setColor(Qt::white); painter->setPen(Pen); painter->drawText(QRect(option.rect.left(),option.rect.top(),option.rect.width()-1,option.rect.height()-1),ModelDuration,Qt::AlignCenter|Qt::AlignBottom); } CustomTitleModelTableLockPaint.unlock(); } //======================================================================================================================== QSize cCustomTitleModelItem::sizeHint(const QStyleOptionViewItem &/*option*/,const QModelIndex &/*index*/) const { return QSize(Table->ModelTable->ThumbnailSize.width()+20,Table->ModelTable->ThumbnailSize.height()+20); } //==================================================================================================================== cCustomTitleModelTable::cCustomTitleModelTable(QWidget *parent):QTableWidget(parent) { ApplicationConfig=NULL; ModelTable =NULL; TimerPosition =0; CurrentSlide =NULL; DefaultModel =model(); DefaultDelegate =(QAbstractItemDelegate *)new cCustomTitleModelItem(this); InModifTable =false; setItemDelegate(DefaultDelegate); } //==================================================================================================================== cCustomTitleModelTable::~cCustomTitleModelTable() { delete DefaultDelegate; } //==================================================================================================================== void cCustomTitleModelTable::resizeEvent(QResizeEvent *ev) { if (ModelTable) { QString Current=GetCurrentModel(); // Update view int ColumnWidth =ModelTable->ThumbnailSize.width()+20; int RowHeight =ModelTable->ThumbnailSize.height()+20; int NewColumnCount=width()/ColumnWidth; if (NewColumnCount<=0) NewColumnCount=1; int NewRowCount =ModelTable->List.count()/NewColumnCount; if (NewRowCount*NewColumnCountList.count()) NewRowCount++; if ((NewColumnCount!=columnCount())||(NewRowCount!=rowCount())) { setColumnCount(NewColumnCount); setRowCount(NewRowCount); } for (int i=0;iThumbnailSize.width()+20; int RowHeight =ModelTable->ThumbnailSize.height()+20; int NewColumnCount=width()/ColumnWidth; if (NewColumnCount<=0) NewColumnCount=1; int NewRowCount =ModelTable->List.count()/NewColumnCount; if (NewRowCount*NewColumnCountList.count()) NewRowCount++; if ((NewColumnCount!=columnCount())||(NewRowCount!=rowCount())) { setColumnCount(NewColumnCount); setRowCount(NewRowCount); } for (int i=0;isetUpdatesEnabled(false); ModelTable=Table; int CurIndex=0; int NbrItem =ModelTable->List.count(); int NbrCol =this->viewport()->width()/ModelTable->ThumbnailSize.width(); if (NbrCol==0) NbrCol=1; int NbrRow =NbrItem/NbrCol; if (NbrRow*NbrColThumbnailSize.width()+20); for (int i=0;iThumbnailSize.height()+20); this->setUpdatesEnabled(true); InModifTable=false; CustomTitleModelTableLockPaint.unlock(); } //======================================================================================================================== void cCustomTitleModelTable::SetCurrentModel(QString ModelName) { if (!ModelTable) return; CurrentSel=ModelTable->SearchModel(ModelName); setCurrentCell(CurrentSel/columnCount(),CurrentSel-(CurrentSel/columnCount())*columnCount()); } //======================================================================================================================== QString cCustomTitleModelTable::GetCurrentModel() { if (!ModelTable) return ""; CurrentSel=currentRow()*columnCount()+currentColumn(); if (CurrentSel>=ModelTable->List.count()) CurrentSel=ModelTable->List.count()-1; if ((CurrentSel>=0)&&(CurrentSelList.count())) return ModelTable->List[CurrentSel]->Name; return ""; } ffDiaporama/src/ffDiaporama/DlgAutoTitleSlide/DlgAutoTitleSlide.ui0000777000175000001440000005170012275647316025432 0ustar dominiqueusers DlgAutoTitleSlide 0 0 524 498 Sans Serif 9 Add a predefined title slide 8 8 8 8 4 0 0 0 0 0 Qt::Horizontal 40 20 Accept modification and go to previous slide Previous :/img/arrow_left.png:/img/arrow_left.png Accept modification and exit dialog box &Ok :/img/action_ok.png:/img/action_ok.png Accept modification and go to next slide Next :/img/arrow_right.png:/img/arrow_right.png 0 0 Cancel modification and exit dialog box &Cancel :/img/action_cancel.png:/img/action_cancel.png Show help about this dialogue box &Help :/img/help.png:/img/help.png 0 150 Qt::ScrollBarAlwaysOn Qt::ScrollBarAlwaysOff QAbstractItemView::NoEditTriggers false false false QAbstractItemView::SingleSelection false Qt::SolidLine false false false false 2 Slide type: 0 0 Project title :/img/object_text.png:/img/object_text.png Chapter title :/img/Chapter_big.png:/img/Chapter_big.png Credit title :/img/medal.png:/img/medal.png Category: 0 0 0 6 Qt::Horizontal 0 0 true 0 0 506 226 QFormLayout::AllNonFixedFieldsGrow 4 4 4 4 4 4 Chapter name: Enter here the title of the chapter (if the "Chapter name different from slide name" box is checked). If this box is checked, the date of the chapter is different from the date of the project. Remark: It is often useful to differentiate the date of the chapter of the date of the project. For example, if the project is "My vacation from 1 to 15", the chapter may be limited to the 3. Chapter date different from project date Event date: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Select a date for the chapter. true 0 Override date: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 0 0 0 0 0 0 If this box is checked, you can enter a longtime different from that generated from the date of the chapter. Enter here a date, in a free format, for the chapter If this box is checked, the date of the chapter is different from the date of the project. Remark: It is often useful to differentiate the date of the chapter of the date of the project. For example, if the project is "My vacation from 1 to 15", the chapter may be limited to the 3. Chapter location different from project location Event location: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 10 0 QFrame { background-color: white; border: 1px solid darkgray; } QFrame::Box 2 2 0 2 0 0 0 16 16 QFrame { background-color: transparent; border: 0; } QFrame { background-color: transparent; border: 0; } Select the location of the event of the project :/img/EditGMaps.png:/img/EditGMaps.png Clear this location :/img/trash.png:/img/trash.png 2 0 0 This button allows you to open project properties dialog. &Project properties :/img/PrjProperties.png:/img/PrjProperties.png 0 0 This button allows you to convert this slide to a standard slide. Standard slide are fully customizable. &Convert to standard slide :/img/transparent.png:/img/transparent.png cCustomTitleModelTable QTableView
DlgAutoTitleSlide/cCustomTitleModelTable.h
SlideTypeCB SlideCatCB ModelTable scrollArea ChapterNameED OverrideProjectDateCB ChapterEventDateED OverrideDateCB ChapterDateED OverrideProjectLocationCB LocationBT ClearLocationBT ProjectPropertiesBt ConvertSlideBT OKPreviousBT OKBT OKNextBT CancelBt HelpBt
ffDiaporama/src/ffDiaporama/DlgAutoTitleSlide/DlgAutoTitleSlide.h0000777000175000001440000000607712275647316025253 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef DLGAUTOTITLESLIDE_H #define DLGAUTOTITLESLIDE_H // Basic inclusions (common to all files) #include "CustomCtrl/_QCustomDialog.h" #include "engine/_Diaporama.h" namespace Ui { class DlgAutoTitleSlide; } class DlgAutoTitleSlide : public QCustomDialog { Q_OBJECT public: cDiaporamaObject *CurrentSlide; // Current slide QString OldName; bool IsCreation; QTimer Timer; bool IsLocationChanged; explicit DlgAutoTitleSlide(bool IsCreation,cDiaporamaObject *DiaporamaObject,cApplicationConfig *ApplicationConfig,QWidget *parent = 0); ~DlgAutoTitleSlide(); // function to be overloaded virtual void DoInitDialog(); // Initialise dialog virtual bool DoAccept(); // Call when user click on Ok button virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button virtual void PrepareGlobalUndo(); // Initiale Undo virtual void DoGlobalUndo(); // Apply Undo : call when user click on Cancel button void RefreshControl(); signals: void SetModifyFlag(); private slots: void s_TimerEvent(); void OKPrevious(); void OKNext(); void OKConvert(); void OverrideProjectDateChanged(int); void OverrideDateCBChanged(int); void ChapterEventDateChanged(const QDate &NewDate); void s_ChSlideTypeCB(int); void s_ChSlideCatCB(int); void s_ChapterNameChanged(QString); void s_ChapterDateChanged(); void SelectLocation(); void ClearLocation(); void OverrideLocationCBChanged(int); void ProjectProperties(); private: Ui::DlgAutoTitleSlide *ui; }; #endif // DLGAUTOTITLESLIDE_H ffDiaporama/src/ffDiaporama/DlgAutoTitleSlide/DlgAutoTitleSlide.cpp0000777000175000001440000005533312275647316025605 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "DlgAutoTitleSlide.h" #include "ui_DlgAutoTitleSlide.h" #include "DlgffDPjrProperties/DlgffDPjrProperties.h" #include "engine/cLocation.h" #include "DlgGMapsLocation/DlgGMapsLocation.h" #define TIMERFREQ 200 DlgAutoTitleSlide::DlgAutoTitleSlide(bool IsCreation,cDiaporamaObject *DiaporamaObject,cApplicationConfig *ApplicationConfig,QWidget *parent): QCustomDialog(ApplicationConfig,parent),ui(new Ui::DlgAutoTitleSlide) { ui->setupUi(this); OkBt =ui->OKBT; CancelBt =ui->CancelBt; HelpBt =ui->HelpBt; HelpFile ="0103"; CurrentSlide =DiaporamaObject; ui->ModelTable->ApplicationConfig=ApplicationConfig; this->IsCreation =IsCreation; IsLocationChanged =false; // Copy current slide for display QDomDocument DomDoc; QDomElement DomElem=DomDoc.createElement("COPY"); DiaporamaObject->SaveToXML(DomElem,"COPY","",true,NULL,NULL,false); ui->ModelTable->CurrentSlide=new cDiaporamaObject(DiaporamaObject->Parent); ui->ModelTable->CurrentSlide->LoadFromXML(DomElem,"COPY","",NULL,NULL,false); if (IsCreation) { CurrentSlide->StartNewChapter=false; CurrentSlide->SlideName ="<%AUTOTS_100000%>"; CurrentSlide->Parent->UpdateChapterInformation(); } OldName=CurrentSlide->SlideName; } //==================================================================================================================== DlgAutoTitleSlide::~DlgAutoTitleSlide() { Timer.stop(); delete ui->ModelTable->CurrentSlide; ui->ModelTable->CurrentSlide=NULL; delete ui; } //==================================================================================================================== // Initialise dialog void DlgAutoTitleSlide::DoInitDialog() { if (IsCreation) { setWindowTitle(QApplication::translate("DlgAutoTitleSlide","Add a predefined title slide")); ui->EditModeSpacer->setVisible(false); ui->OKPreviousBT->setVisible(false); ui->OKNextBT->setVisible(false); } else { setWindowTitle(QApplication::translate("DlgAutoTitleSlide","Edit a predefined title slide")+" - "+QApplication::translate("DlgSlideProperties","Slide")+QString(" %1/%2").arg(CurrentSlide->Parent->CurrentCol+1).arg(CurrentSlide->Parent->List.count())); ui->OKPreviousBT->setEnabled(CurrentSlide->Parent->CurrentCol>0); ui->OKNextBT->setEnabled(CurrentSlide->Parent->CurrentColParent->List.count()-1); } ui->LocationFrame->setAutoFillBackground(true); ui->OverrideProjectLocationCB->setChecked(CurrentSlide->ChapterLocation!=NULL); RefreshControl(); ui->ChapterEventDateED->setDisplayFormat(ApplicationConfig->ShortDateFormat); ui->ChapterNameED->setText(CurrentSlide->ChapterName); ui->ChapterEventDateED->setDate(CurrentSlide->OverrideProjectEventDate?CurrentSlide->ChapterEventDate:CurrentSlide->Parent->ProjectInfo->EventDate); ui->ChapterDateED->setPlainText(CurrentSlide->OverrideProjectEventDate?CurrentSlide->OverrideChapterLongDate?CurrentSlide->ChapterLongDate:FormatLongDate(CurrentSlide->ChapterEventDate):CurrentSlide->Parent->ProjectInfo->LongDate); int CurrentType =(CurrentSlide->GetAutoTSNumber()/100000)-1; int CurrentSubType=(CurrentSlide->GetAutoTSNumber()%100000)/10000; ui->SlideTypeCB->setCurrentIndex(CurrentType); s_ChSlideTypeCB(CurrentType); ui->SlideCatCB->setCurrentIndex(CurrentSubType); s_ChSlideCatCB(CurrentSubType); //ui->ModelTable->SetCurrentModel(OldName.mid(QString("<%AUTOTS_").length(),QString("000000").length())); connect(ui->OKPreviousBT, SIGNAL(clicked()),this,SLOT(OKPrevious())); connect(ui->OKNextBT, SIGNAL(clicked()),this,SLOT(OKNext())); connect(ui->ConvertSlideBT, SIGNAL(clicked()),this,SLOT(OKConvert())); connect(ui->OverrideProjectDateCB, SIGNAL(stateChanged(int)),this,SLOT(OverrideProjectDateChanged(int))); connect(ui->OverrideDateCB, SIGNAL(stateChanged(int)),this,SLOT(OverrideDateCBChanged(int))); connect(ui->ChapterEventDateED, SIGNAL(dateChanged(const QDate &)),this,SLOT(ChapterEventDateChanged(const QDate &))); connect(ui->LocationBT, SIGNAL(pressed()),this,SLOT(SelectLocation())); connect(ui->ClearLocationBT, SIGNAL(pressed()),this,SLOT(ClearLocation())); connect(ui->OverrideProjectLocationCB, SIGNAL(stateChanged(int)),this,SLOT(OverrideLocationCBChanged(int))); connect(ui->SlideTypeCB, SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChSlideTypeCB(int))); connect(ui->SlideCatCB, SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChSlideCatCB(int))); connect(ui->ChapterNameED, SIGNAL(textChanged(QString)),this,SLOT(s_ChapterNameChanged(QString))); connect(ui->ChapterDateED, SIGNAL(textChanged()),this,SLOT(s_ChapterDateChanged())); connect(ui->ProjectPropertiesBt, SIGNAL(clicked()),this,SLOT(ProjectProperties())); connect(ui->ModelTable, SIGNAL(DoubleClickEvent(QMouseEvent *)),this,SLOT(accept())); connect(&Timer, SIGNAL(timeout()),this,SLOT(s_TimerEvent())); } //==================================================================================================================== // RefreshControl void DlgAutoTitleSlide::RefreshControl() { ui->OverrideProjectDateCB->setChecked(CurrentSlide->OverrideProjectEventDate); ui->OverrideDateCB->setChecked(CurrentSlide->OverrideChapterLongDate); ui->ChapterEventDateLabel->setEnabled(CurrentSlide->OverrideProjectEventDate); ui->ChapterEventDateED->setEnabled(CurrentSlide->OverrideProjectEventDate); ui->OverrideDateLabel->setEnabled(CurrentSlide->OverrideProjectEventDate); ui->ChapterDateED->setEnabled(CurrentSlide->OverrideProjectEventDate && CurrentSlide->OverrideChapterLongDate); ui->OverrideProjectLocationCB->setEnabled(CurrentSlide->StartNewChapter); ui->LocationLabel->setEnabled(CurrentSlide->StartNewChapter && ui->OverrideProjectLocationCB->isChecked()); ui->LocationFrame->setEnabled(CurrentSlide->StartNewChapter && ui->OverrideProjectLocationCB->isChecked()); ui->LocationBT->setEnabled(CurrentSlide->StartNewChapter && ui->OverrideProjectLocationCB->isChecked()); ui->ClearLocationBT->setEnabled(CurrentSlide->StartNewChapter && ui->OverrideProjectLocationCB->isChecked()); if (CurrentSlide->ChapterLocation) { ui->Location->setText(QString("%1 (%2)").arg(((cLocation *)CurrentSlide->ChapterLocation)->Name).arg(((cLocation *)CurrentSlide->ChapterLocation)->FriendlyAddress)); ui->LocationIcon->setPixmap(QPixmap().fromImage(((cLocation *)CurrentSlide->ChapterLocation)->GetThumb(16))); } else { ui->Location->setText(""); ui->LocationIcon->setPixmap(QPixmap()); } if (ui->LocationFrame->isEnabled()) ui->LocationFrame->setStyleSheet("QFrame {background-color: white;border: 1px solid darkgray;}"); else ui->LocationFrame->setStyleSheet("QFrame {border: 1px solid darkgray;}"); } //==================================================================================================================== // Initiale Undo void DlgAutoTitleSlide::PrepareGlobalUndo() { // Save object before modification for cancel button Undo=new QDomDocument(APPLICATION_NAME); QDomElement root=Undo->createElement("UNDO-DLG"); // Create xml document and root CurrentSlide->SaveToXML(root,"UNDO-DLG-OBJECT",CurrentSlide->Parent->ProjectFileName,true,NULL,NULL,false); // Save object Undo->appendChild(root); // Add object to xml document } //==================================================================================================================== // Apply Undo : call when user click on Cancel button void DlgAutoTitleSlide::DoGlobalUndo() { QDomElement root=Undo->documentElement(); if (root.tagName()=="UNDO-DLG") CurrentSlide->LoadFromXML(root,"UNDO-DLG-OBJECT","",NULL,NULL,false); } //==================================================================================================================== bool DlgAutoTitleSlide::DoAccept() { QString CurrentModel=ui->ModelTable->GetCurrentModel(); if (!CurrentModel.isEmpty()) { Timer.stop(); CurrentSlide->SlideName=QString("<%AUTOTS_%1%>").arg(ui->ModelTable->GetCurrentModel()); int ModelNum=ui->ModelTable->ModelTable->SearchModel(ui->ModelTable->GetCurrentModel()); if (OldName!=CurrentSlide->SlideName) CurrentSlide->LoadModelFromXMLData(ui->ModelTable->ModelTable->ModelType,ui->ModelTable->ModelTable->List[ModelNum]->Model,&ui->ModelTable->ModelTable->List[ModelNum]->ResKeyList,true); // Always duplicate ressource CurrentSlide->OverrideProjectEventDate=ui->OverrideProjectDateCB->isChecked(); CurrentSlide->OverrideChapterLongDate =ui->OverrideDateCB->isChecked(); CurrentSlide->ChapterName =ui->ChapterNameED->text(); if (CurrentSlide->OverrideProjectEventDate) CurrentSlide->ChapterEventDate=ui->ChapterEventDateED->date(); if (CurrentSlide->OverrideChapterLongDate) CurrentSlide->ChapterLongDate=ui->ChapterDateED->toPlainText(); CurrentSlide->Parent->UpdateChapterInformation(); CurrentSlide->Parent->UpdateGMapsObject(); emit SetModifyFlag(); return true; } else { CustomMessageBox(this,QMessageBox::Information,this->windowTitle(), QApplication::translate("DlgAutoTitleSlide","Please select a model first"),QMessageBox::Close); return false; } } void DlgAutoTitleSlide::OKPrevious() { if (DoAccept()) { SaveWindowState(); // Save Window size and position done(2); // Close the box } } void DlgAutoTitleSlide::OKNext() { if (DoAccept()) { SaveWindowState(); // Save Window size and position done(3); // Close the box } } void DlgAutoTitleSlide::OKConvert() { if (DoAccept()) { CurrentSlide->SlideName=CurrentSlide->ChapterName; CurrentSlide->ChapterName=""; SaveWindowState(); // Save Window size and position done(4); // Close the box } } //==================================================================================================================== void DlgAutoTitleSlide::OverrideProjectDateChanged(int) { CurrentSlide->OverrideProjectEventDate=ui->OverrideProjectDateCB->isChecked(); if (!CurrentSlide->OverrideProjectEventDate) { ui->ChapterEventDateED->setDate(CurrentSlide->Parent->ProjectInfo->EventDate); CurrentSlide->ChapterLongDate=FormatLongDate(CurrentSlide->Parent->ProjectInfo->EventDate); ui->ChapterDateED->setPlainText(CurrentSlide->ChapterLongDate); } CurrentSlide->Parent->UpdateChapterInformation(); emit SetModifyFlag(); RefreshControl(); } //==================================================================================================================== void DlgAutoTitleSlide::OverrideDateCBChanged(int) { CurrentSlide->OverrideChapterLongDate=ui->OverrideDateCB->isChecked(); if (!CurrentSlide->OverrideChapterLongDate) { CurrentSlide->ChapterLongDate=FormatLongDate(CurrentSlide->ChapterEventDate); ui->ChapterDateED->setPlainText(CurrentSlide->ChapterLongDate); } CurrentSlide->Parent->UpdateChapterInformation(); emit SetModifyFlag(); RefreshControl(); } //==================================================================================================================== void DlgAutoTitleSlide::ChapterEventDateChanged(const QDate &NewDate) { CurrentSlide->ChapterEventDate=NewDate; if (!CurrentSlide->OverrideChapterLongDate) { CurrentSlide->ChapterLongDate=CurrentSlide->OverrideProjectEventDate?FormatLongDate(CurrentSlide->ChapterEventDate):CurrentSlide->Parent->ProjectInfo->LongDate; ui->ChapterDateED->setPlainText(CurrentSlide->ChapterLongDate); } CurrentSlide->Parent->UpdateChapterInformation(); emit SetModifyFlag(); } //==================================================================================================================== void DlgAutoTitleSlide::s_ChSlideTypeCB(int CurrentType) { Timer.stop(); //int CurrentType=ui->SlideTypeCB->currentIndex(); int SubType; ui->SlideCatCB->clear(); switch (CurrentType) { case 0: for (SubType=0;SubTypeSlideCatCB->addItem(ApplicationConfig->PrjTitleModels[CurrentSlide->Parent->ImageGeometry][SubType==9?MODELTYPE_PROJECTTITLE_CATNUMBER-1:SubType]->NameCategorie); CurrentSlide->StartNewChapter=false; break; case 1: for (SubType=0;SubTypeSlideCatCB->addItem(ApplicationConfig->CptTitleModels[CurrentSlide->Parent->ImageGeometry][SubType==9?MODELTYPE_CHAPTERTITLE_CATNUMBER-1:SubType]->NameCategorie); CurrentSlide->StartNewChapter=true; break; case 2: for (SubType=0;SubTypeSlideCatCB->addItem(ApplicationConfig->CreditTitleModels[CurrentSlide->Parent->ImageGeometry][SubType==9?MODELTYPE_CREDITTITLE_CATNUMBER-1:SubType]->NameCategorie); CurrentSlide->StartNewChapter=false; break; } CurrentSlide->Parent->UpdateInformation(); ui->scrollArea->setVisible(CurrentSlide->StartNewChapter); ui->ChapterNameLabel->setVisible(CurrentSlide->StartNewChapter); ui->ChapterNameED->setVisible(CurrentSlide->StartNewChapter); ui->OverrideProjectDateCB->setVisible(CurrentSlide->StartNewChapter); ui->ChapterEventDateLabel->setVisible(CurrentSlide->StartNewChapter); ui->ChapterEventDateED->setVisible(CurrentSlide->StartNewChapter); ui->OverrideDateLabel->setVisible(CurrentSlide->StartNewChapter); ui->OverrideDateCB->setVisible(CurrentSlide->StartNewChapter); ui->ChapterDateED->setVisible(CurrentSlide->StartNewChapter); ui->OverrideProjectLocationCB->setVisible(CurrentSlide->StartNewChapter); ui->LocationLabel->setVisible(CurrentSlide->StartNewChapter); ui->LocationFrame->setVisible(CurrentSlide->StartNewChapter); ui->LocationBT->setVisible(CurrentSlide->StartNewChapter); ui->ClearLocationBT->setVisible(CurrentSlide->StartNewChapter); switch (CurrentType) { case 0 : ui->ModelTable->PrepareTable(ApplicationConfig->PrjTitleModels[CurrentSlide->Parent->ImageGeometry][0]); break; case 1 : ui->ModelTable->PrepareTable(ApplicationConfig->CptTitleModels[CurrentSlide->Parent->ImageGeometry][0]); break; case 2 : ui->ModelTable->PrepareTable(ApplicationConfig->CreditTitleModels[CurrentSlide->Parent->ImageGeometry][0]); break; } ui->ModelTable->SetCurrentModel(OldName.mid(QString("<%AUTOTS_").length(),QString("000000").length())); ui->ModelTable->TimerPosition=0; RefreshControl(); Timer.start(TIMERFREQ); emit SetModifyFlag(); } //==================================================================================================================== void DlgAutoTitleSlide::s_ChSlideCatCB(int CurrentSubType) { int CurrentType =ui->SlideTypeCB->currentIndex(); //int CurrentSubType =ui->SlideCatCB->currentIndex(); Timer.stop(); switch (CurrentType) { case 0 : ui->ModelTable->PrepareTable(ApplicationConfig->PrjTitleModels[CurrentSlide->Parent->ImageGeometry][CurrentSubType==9?MODELTYPE_PROJECTTITLE_CATNUMBER-1:CurrentSubType]); break; case 1 : ui->ModelTable->PrepareTable(ApplicationConfig->CptTitleModels[CurrentSlide->Parent->ImageGeometry][CurrentSubType==9?MODELTYPE_CHAPTERTITLE_CATNUMBER-1:CurrentSubType]); break; case 2 : ui->ModelTable->PrepareTable(ApplicationConfig->CreditTitleModels[CurrentSlide->Parent->ImageGeometry][CurrentSubType==9?MODELTYPE_CREDITTITLE_CATNUMBER-1:CurrentSubType]); break; } ui->ModelTable->SetCurrentModel(OldName.mid(QString("<%AUTOTS_").length(),QString("000000").length())); ui->ModelTable->TimerPosition=0; Timer.start(TIMERFREQ); emit SetModifyFlag(); } //==================================================================================================================== void DlgAutoTitleSlide::s_ChapterNameChanged(QString) { CurrentSlide->ChapterName=ui->ChapterNameED->text(); CurrentSlide->Parent->UpdateChapterInformation(); emit SetModifyFlag(); } //==================================================================================================================== void DlgAutoTitleSlide::s_ChapterDateChanged() { CurrentSlide->ChapterLongDate=ui->ChapterDateED->toPlainText(); CurrentSlide->Parent->UpdateChapterInformation(); emit SetModifyFlag(); } //==================================================================================================================== void DlgAutoTitleSlide::s_TimerEvent() { if (!CustomTitleModelTableLockPaint.tryLock(0)) return; ui->ModelTable->TimerPosition+=TIMERFREQ; ui->ModelTable->setUpdatesEnabled(false); ui->ModelTable->setUpdatesEnabled(true); CustomTitleModelTableLockPaint.unlock(); } //==================================================================================================================== void DlgAutoTitleSlide::ProjectProperties() { Timer.stop(); DlgffDPjrProperties Dlg(false,CurrentSlide->Parent,ApplicationConfig,this); Dlg.AllowGMapRefresh=false; Dlg.InitDialog(); if (Dlg.exec()==0) emit SetModifyFlag(); ui->ModelTable->TimerPosition=0; Timer.start(TIMERFREQ); } //==================================================================================================================== #define FAVACTIONTYPE_ACTIONTYPE 0xF000 #define FAVACTIONTYPE_EDIT 0x1000 #define FAVACTIONTYPE_SELECT 0x8000 void DlgAutoTitleSlide::SelectLocation() { QMenu *ContextMenu=new QMenu(this); bool AddSep=false; QAction *Add=CreateMenuAction(QIcon(":/img/gmap_add.png"), CurrentSlide->ChapterLocation?QApplication::translate("MainWindow","Edit this location"):QApplication::translate("MainWindow","Define a location"), FAVACTIONTYPE_EDIT,false,false,this); ContextMenu->addAction(Add); QSqlQuery Query(ApplicationConfig->Database->db); QString QueryString("SELECT Key,Name,FAddress,Thumbnail FROM Location ORDER BY LOWER(Name)"); Query.prepare(QueryString); if (!Query.exec()) DisplayLastSQLError(&Query); else while (Query.next()) { bool Ret; qlonglong Key=Query.value(0).toLongLong(&Ret); if (Ret) { if (!AddSep) { ContextMenu->addSeparator(); AddSep=true; } QString Name =Query.value(1).toString(); QString Address=Query.value(2).toString(); QByteArray Data =Query.value(3).toByteArray(); QImage Thumb; Thumb.loadFromData(Data); bool IsCurrent=(Key==(CurrentSlide->ChapterLocation?((cLocation *)CurrentSlide->ChapterLocation)->FavKey:-1)); QAction *Act=CreateMenuAction(QIcon(QPixmap().fromImage(Thumb)),QString("%1 (%2)").arg(Name).arg(Address),FAVACTIONTYPE_SELECT+Key,true,IsCurrent,this); ContextMenu->addAction(Act); } } QAction *Action=ContextMenu->exec(QCursor::pos()); if (Action) { int ActionType=Action->data().toInt() & FAVACTIONTYPE_ACTIONTYPE; if (ActionType==FAVACTIONTYPE_EDIT) { cLocation *PrevLocation=(cLocation *)CurrentSlide->ChapterLocation; if (!((cLocation *)CurrentSlide->ChapterLocation)) CurrentSlide->ChapterLocation=new cLocation(ApplicationConfig); DlgGMapsLocation Dlg((cLocation *)CurrentSlide->ChapterLocation,ApplicationConfig,this); Dlg.InitDialog(); if ((Dlg.exec()!=0)&&(!PrevLocation)) { delete (cLocation *)CurrentSlide->ChapterLocation; CurrentSlide->ChapterLocation=NULL; } } else if (Action->text()!="") { qlonglong Key=Action->data().toInt() & ~FAVACTIONTYPE_ACTIONTYPE; if (!CurrentSlide->ChapterLocation) CurrentSlide->ChapterLocation=new cLocation(ApplicationConfig); ((cLocation *)CurrentSlide->ChapterLocation)->LoadFromFavorite(Key); } } ui->LocationBT->setDown(false); if (CurrentSlide->ChapterLocation) { ui->Location->setText(QString("%1 (%2)").arg(((cLocation *)CurrentSlide->ChapterLocation)->Name).arg(((cLocation *)CurrentSlide->ChapterLocation)->FriendlyAddress)); ui->LocationIcon->setPixmap(QPixmap().fromImage(((cLocation *)CurrentSlide->ChapterLocation)->GetThumb(16))); } else { ui->Location->setText(""); ui->LocationIcon->setPixmap(QPixmap()); } IsLocationChanged=true; } //==================================================================================================================== void DlgAutoTitleSlide::ClearLocation() { if (CurrentSlide->ChapterLocation) delete ((cLocation *)CurrentSlide->ChapterLocation); CurrentSlide->ChapterLocation=NULL; ui->Location->setText(""); ui->LocationIcon->setPixmap(QPixmap()); IsLocationChanged=true; } //==================================================================================================================== void DlgAutoTitleSlide::OverrideLocationCBChanged(int) { if ((!ui->OverrideProjectLocationCB->isChecked())&&(CurrentSlide->ChapterLocation)) { delete ((cLocation *)CurrentSlide->ChapterLocation); CurrentSlide->ChapterLocation=NULL; ui->Location->setText(""); ui->LocationIcon->setPixmap(QPixmap()); } RefreshControl(); IsLocationChanged=true; } ffDiaporama/src/ffDiaporama/DlgAppSettings/0000777000175000001440000000000012275647223021106 5ustar dominiqueusersffDiaporama/src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui0000777000175000001440000043323012275647223026070 0ustar dominiqueusers DlgApplicationSettings 0 0 700 500 0 0 700 500 Sans Serif 9 Application settings true 4 QLayout::SetDefaultConstraint 8 8 8 8 0 Application Options The Application options tab allows to define the general behavior of ffDiaporama. 0 0 0 0 0 QFrame::NoFrame true 0 0 666 769 4 4 4 4 4 Short date format : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter AppendObjectCB Distance unit : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter AppendObjectCB 75 true true <html><head/><body><p><br/>Various options</p></body></html> Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft 2 0 0 Defines the number of images per second which will be generated to show the preview. Note: the higher this number, the more smooth the preview will be. On the other hand, more computer resources will be required. Reduce this number on slow computers or if the gauge for your multimedia reader is frequently in the red zone. 3.125 6 8.333 12.5 18.75 0 0 fps (Reduce this value for slow computer) Video deinterlacing : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter If this box is checked, the directories for images, videos, projects, music and the generation of your movie will be saved and reused the next time you use ffDiaporama. Remember last used folders Qt::Vertical 20 40 This option lets you specify the unit to be used for distances. Kilometers Miles 2 0 0 Sets the maximum height of videos used for the preview. Beyond this height, the videos are automatically reduced for creating images. 1080 720 540 360 270 0 0 (Reduce this value for slow computer) Video cropping : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Object position : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter AppendObjectCB Sound sample rate : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter PreviewFrameRateCB This option allows you to adjust the positions occupied by new objects inserted into the timeline. - If Insert after the current selected object is selected, then the new slides will be created after the current slide. - If Append to the end of the project is selected, then the new slides will be created at the end of the project. Insert after current object Append at project end if this box is checked, old setting mode is use for SDL Audio. This option is useful on some Linux distribution which still use the old SDL packages (For example: Ubuntu 10.10 and 11.04, Fedora 14 and 15, etc.). SDL Audio use old mode If this box is checked, tooltips will no longer appear in dialog boxes (only what's this will be available). Disable tooltips in dialog box If this box is checked, a confirmation prompt will be displayed every time you remove an object: - A slide from the main window -A shot or block from the slide properties dialog box Ask user confirmation to remove slide, object or shot Frame rate : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter PreviewFrameRateCB Proxy address : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter AppendObjectCB Memory profil : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter <html><head/><body><p>Defines the quantity of memory used as cache memory by ffDiaporama. This parameter is important because it allows to adapt ffDiaporama to your hardware.</p></body></html> 256 Mb 512 Mb 1 Gb 2 Gb 0 0 This option allows you to specify the format in which computed dates are displayed. dd/MM/yyyy MM/dd/yyyy yyyy/MM/dd dd.MM.yyyy MM.dd.yyyy yyyy.MM.dd Coordinates unit : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter If this box is checked, the image smoothing effect will be applied to the images during the preview. Remark: This effect consumes lots of resources and can result in slow preview on small machines. Unchecking this box allows then to keep a fluid preview. Smooth image during preview If this box is checked, the sizes and the positions of all windows and dialogs will be saved and reused the next time you use ffDiaporama. Remember size and position of windows If the Activate deinterlace filter when add new MTS videos is checked, deinterlace filter will automatically be activated for all .mts videos added to the project. Remark: Some manufacturers produce videos using interlaced mode. They make it to accelerate the encoding. The problem is it deforms the image on which moved lines appear. For more information on interlaced video, see Wikipedia page on interlaced video. Activate deinterlace filter when add new MTS videos 75 true true <html><head/><body><p><br/>Network settings</p></body></html> Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft Object deletion : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Max video preview height : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter PreviewFrameRateCB 75 true true Application options If this box is checked, a dialog box will appear at startup the next time a new version will be available. Offer to open the download Web page when a new version is available Check this box if your network requires that you use a proxy Use a proxy to access the Internet 2 0 0 Defines the frequency of the sound generated to show the preview. 22050 44100 48000 0 0 Hz (Reduce this value for slow computer) 75 true true Editor options (when adding objects) Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft Image smoothing : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter This option allows to select the unit for the coordinates which will be used in the properties dialog. You can choose: - Percentage: Coordinates (X, Y, Width and Height) are expressed in percentages - Pixel: Coordinates (X, Y, Width and Height) are expressed in pixels relative to a screen in 1080p mode Percent Pixel 75 true true <html><head/><body><p><br/>Preview options</p></body></html> Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft If this box is checked, the graphic system "raster" is used instead of the default graphic system. This option is used only at application start up. The "raster" Graphics accelerates the display but can raise problems on some computer in particular with KDE. Enable "raster" Graphics System (Need application restart) Enter address of the proxy host If the Automatically crop 1920×1088 video to 1920×1080 is checked then video images are automatically cropped. Remark: Some manufacturers produce FullHD videos 1920×1088 rather than 1920×1080. They make it to accelerate the encoding which is faster with a multiple of 16 lines. But this size is not 16:9. To keep the whole image, not only the image is deformed to fit into the screen but besides black bands appear on the sides. To avoid all these problems, by checking this box, these videos are truncated to be returned to the 1920×1080 sizes. Then 4 lines are cut at the top and bottom. Automatically crop 1920x1088 video to 1920x1080 Enter the port number to access the proxy or nothing to use default port Proxy port : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter AppendObjectCB Login : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter AppendObjectCB Password : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter AppendObjectCB Enter the login name to access the proxy or nothing if no login is required Enter the login password to access the proxy or nothing if no login is required QLineEdit::Password Project Options The Project options tab allows to define the options by default of the current project and for the new projects. 0 0 0 0 0 QFrame::NoFrame true 0 -505 666 1212 4 4 4 4 4 2 Sets the default speed curve for the blocks animations of new projects -1 Qt::Horizontal 0 20 Next shot duration: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter StaticShotED 0 0 0 0 0 0 0 The positioning styles define the the size, coordinates, rotations and geometric constraint to apply to blocks. QComboBox::AdjustToMinimumContentsLength QFrame::StyledPanel QFrame::Raised Photo landscape Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter true 0 0 The positioning styles define the the size, coordinates, rotations and geometric constraint to apply to blocks. QComboBox::AdjustToMinimumContentsLength 0 0 Framing styles define how to crop the image to make it compatible with the block in which is displayed. QComboBox::AdjustToMinimumContentsLength 0 0 Framing styles define how to crop the image to make it compatible with the block in which is displayed. QComboBox::AdjustToMinimumContentsLength 0 0 The positioning styles define the the size, coordinates, rotations and geometric constraint to apply to blocks. QComboBox::AdjustToMinimumContentsLength QFrame::StyledPanel QFrame::Raised Image landscape Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter true 0 0 Framing styles define how to crop the image to make it compatible with the block in which is displayed. QComboBox::AdjustToMinimumContentsLength 0 0 Framing styles define how to crop the image to make it compatible with the block in which is displayed. QComboBox::AdjustToMinimumContentsLength Coordinates: QFrame::StyledPanel QFrame::Raised Video landscape Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter true QFrame::StyledPanel QFrame::Raised Photo portrait Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter true Framing: QFrame::StyledPanel QFrame::Raised Video portrait Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter true QFrame::StyledPanel QFrame::Raised image portrait Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter true 0 0 Framing styles define how to crop the image to make it compatible with the block in which is displayed. QComboBox::AdjustToMinimumContentsLength 0 0 The positioning styles define the the size, coordinates, rotations and geometric constraint to apply to blocks. QComboBox::AdjustToMinimumContentsLength 0 0 Framing styles define how to crop the image to make it compatible with the block in which is displayed. QComboBox::AdjustToMinimumContentsLength 0 0 The positioning styles define the the size, coordinates, rotations and geometric constraint to apply to blocks. QComboBox::AdjustToMinimumContentsLength 0 0 The positioning styles define the the size, coordinates, rotations and geometric constraint to apply to blocks. QComboBox::AdjustToMinimumContentsLength QFrame::StyledPanel QFrame::Raised Shape Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter QFrame::StyledPanel QFrame::Raised Text style Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter Allows to select the style of the shape applied to the new text blocks. This style defines the shape (rectangle, circle, …), the border, the opaqueness and the shadow effect applied to the block. Remark: This setting apply to all image formats. QComboBox::AdjustToMinimumContentsLength Allows to select the characters style applied to the text of the blocks. This style defines the font, its size, its color and the shadow effects applied to the text. Remark: This setting apply to all image formats. QComboBox::AdjustToMinimumContentsLength 2 Defines the default duration of the first shot for slides during their creation. 3 6.000000000000000 sec Qt::Horizontal 0 20 Allows to select the style of the shape to applied to the new text blocks. This style defines the shape (rectangle, circle, …), the border, the opaqueness and the shadow effect applied to the block. QComboBox::AdjustToMinimumContentsLength Allows to select the style of background applied to the new text blocks. This style defines the transparency of the block and its filling. QComboBox::AdjustToMinimumContentsLength 2 0 0 16 16 <html><head/><body><p>This group of settings applies to the new text blocks created in slide dialogue by means of the <img src=":/img/add_text.png"/> button.</p></body></html> Qt::AutoText :/img/help.png true 75 true true Default options for new text block Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft 2 0 0 16 16 <html><head/><body><p>This group of settings applies to the new image or video blocks created in slide dialogue by means of the <img src=":/img/add_image.png"/> button.<br/><br/>For every image format and every project geometry select the style of location to applied to the new blocks. <br/>- Framing styles define how to crop the image to make it compatible with the block in which is displayed.<br/>- The positioning styles define the the size, coordinates, rotations and geometric constraint to apply to blocks.</p></body></html> Qt::AutoText :/img/help.png true 75 true true Default options for new image or video block (when adding block in slide dialog) Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft 2 0 0 0 0 0 0 Defines the default value for the field Language und 3 0 0 (ISO 639 language code) 0 0 0 0 0 0 0 Framing styles define how to crop the image to make it compatible with the block in which is displayed. QComboBox::AdjustToMinimumContentsLength 0 0 The positioning styles define the the size, coordinates, rotations and geometric constraint to apply to blocks. QComboBox::AdjustToMinimumContentsLength 0 0 The positioning styles define the the size, coordinates, rotations and geometric constraint to apply to blocks. QComboBox::AdjustToMinimumContentsLength 0 0 Framing styles define how to crop the image to make it compatible with the block in which is displayed. QComboBox::AdjustToMinimumContentsLength QFrame::StyledPanel QFrame::Raised Text style Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter 0 0 Framing styles define how to crop the image to make it compatible with the block in which is displayed. QComboBox::AdjustToMinimumContentsLength 0 0 The positioning styles define the the size, coordinates, rotations and geometric constraint to apply to blocks. QComboBox::AdjustToMinimumContentsLength 0 0 The positioning styles define the the size, coordinates, rotations and geometric constraint to apply to blocks. QComboBox::AdjustToMinimumContentsLength 0 0 Framing styles define how to crop the image to make it compatible with the block in which is displayed. QComboBox::AdjustToMinimumContentsLength 0 0 The positioning styles define the the size, coordinates, rotations and geometric constraint to apply to blocks. QComboBox::AdjustToMinimumContentsLength 0 0 The positioning styles define the the size, coordinates, rotations and geometric constraint to apply to blocks. QComboBox::AdjustToMinimumContentsLength QFrame::StyledPanel QFrame::Raised Shape Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter 0 0 Framing styles define how to crop the image to make it compatible with the block in which is displayed. QComboBox::AdjustToMinimumContentsLength 0 0 Framing styles define how to crop the image to make it compatible with the block in which is displayed. QComboBox::AdjustToMinimumContentsLength Framing: Coordinates: Allows to select the characters style applied to the text of the blocks. This style defines the font, its size, its color and the shadow effects applied to the text. Remark: This setting apply to all image formats. QComboBox::AdjustToMinimumContentsLength Allows to select the style of the shape applied to the new text blocks. This style defines the shape (rectangle, circle, …), the border, the opaqueness and the shadow effect applied to the block. Remark: This setting apply to all image formats. QComboBox::AdjustToMinimumContentsLength QFrame::StyledPanel QFrame::Raised Photo landscape Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter true QFrame::StyledPanel QFrame::Raised Photo portrait Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter true QFrame::StyledPanel QFrame::Raised Image landscape Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter true QFrame::StyledPanel QFrame::Raised image portrait Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter true QFrame::StyledPanel QFrame::Raised Video landscape Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter true QFrame::StyledPanel QFrame::Raised Video portrait Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter true Allows to select the characters style applied to the new text blocks. This style defines the font, its size, its color and the shadow effects applied to the text. QComboBox::AdjustToMinimumContentsLength QFrame::StyledPanel QFrame::Raised Shape Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter Default language : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Title : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 2 0 0 0 0 60 0 Set the default type of transition to be inserted between slides to: Randomly from the transition library :/img/random.png:/img/random.png TransitionButtons 60 0 Set the default type of transition to be inserted between slides to: No transition :/img/Transitions/tr-00-00.png:/img/Transitions/tr-00-00.png TransitionButtons 60 0 Set the default type of transition to be inserted between slides to: Crossfade transition :/img/Transitions/tr-00-01.png:/img/Transitions/tr-00-01.png TransitionButtons 0 0 50 0 50 16777215 Define the transition duration 0.5 1 2 3 4 6 8 10 sec Qt::Horizontal 40 20 0 0 75 true true Project properties (default values) Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft Project geometry: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter GeometryCombo 2 0 0 16 16 <html><head/><body><p>This group of settings applies to the new image or video blocks created from the main window by means of the <img src=":/img/add_image.png"/> button.<br><br>For every image format and every project geometry select the style of location to applied to the new blocks. <br>- Framing styles define how to crop the image to make it compatible with the block in which is displayed.<br>- The positioning styles define the the size, coordinates, rotations and geometric constraint to apply to blocks.</p></body></html> Qt::AutoText :/img/help.png true 75 true true Default options for new image or video block (when creating slide) Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft 1st shot duration: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter NoShotED Transition: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter TransitionSpeedWaveCB 2 Sets the default speed curve for the image effects animations of new projects -1 Qt::Horizontal 0 20 75 true true <html><head/><body><p><br/>Project options (default values)</p></body></html> Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft QFrame::StyledPanel QFrame::Raised Coordinates Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter Image animation: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter TransitionSpeedWaveCB 2 Selects the image geometry to be used for the creation of projects. Three geometries are available : - 4:3 : Corresponds to an old TV with (almost) square screen - 16:9 : Corresponds to a modern TV with rectangular screen - 2.35:1 : Corresponds to the Cinema format (on a TV, this format will use black strips at the top and below.) Note: the geometry of a project is defined once and for all when it is created. It is not possible to modify it afterwards. 0 Old TV (4:3) TV Wide (16:9) Cinema (2.35:1) (Only for new project) Qt::Horizontal 0 20 Allows to Select the geometric constraint applied to the new text blocks. - Unlock: The shape of the block is free - Lock to project geometry: The shape of the block has the same shape as the image QComboBox::AdjustToMinimumContentsLength QFrame::StyledPanel QFrame::Raised Text Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter Defines the automatic filling method to use for the title's project properties: - No automatic filling : You will have to define manually the title - Fill with project name when project save : The title will take the same name as the .ffd file - Fill with project folder name when project save : The title will take the same name as the folder where the file .ffd is saved Note: this field is limited to 30 characters to remain compatible with jukebox No automatic filling Fill with project name when project save (if not yet defined) Fill with project folder name when project save (if not yet defined) QFrame::StyledPanel QFrame::Raised Locking Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter 2 Sets the default speed wave for the transitions of new projects -1 Qt::Horizontal 0 20 Defines the default value for the field Author (often so called Artist by Media Center Systems) Note: this field is limited to 30 characters to remain compatible with jukebox 30 Default transition: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 75 true true <html><head/><body><p><br/>Default options for speed wave</p></body></html> Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft QFrame::StyledPanel QFrame::Raised Background Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter Block animation: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter TransitionSpeedWaveCB 2 Defines the default duration of further shots. 3 3.000000000000000 sec Qt::Horizontal 0 20 For more compatibility with the standard id3v2, check this box to limit Title, Author and Album fields to 30 characters Enhance id3v2 comptatibility Author : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Allows to select, for every project geometry, the style of the location applied to the new text blocks. This style defines the size, the coordinates, the rotations and the geometrical constraint. QComboBox::AdjustToMinimumContentsLength Default thumbnail : Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing 0 0 100 84 Defines the model use as default thumbnail 60 100 Album : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Defines the default value for the field Album Note: this field is limited to 30 characters to remain compatible with jukebox 30 Rendering Options The Rendering options Tab allows to define the options used by default during the generation of videos. 0 0 0 0 0 QFrame::NoFrame true 0 0 666 604 4 4 4 4 4 Video codec : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter VideoFormatCB Select the default bit rate to use for audio during the rendering QComboBox::AdjustToMinimumContentsLength For the WEB : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Select the type of equipment which will be proposed by default when you click the "Player and Smartphone" button in the "Render movie" menu Multimedia system : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 Select the default image format to use for the rendering -1 Select the type of equipment which will be proposed by default when you click the "For the WEB" button in the "Render movie" menu Select the model of equipment which will be proposed by default when you click the "For the WEB" button in the "Render movie" menu 0 0 Select the default file type to use for the rendering Select the model of equipment which will be proposed by default when you click the "Player and Smartphone" button in the "Render movie" menu Select the type of equipment which will be proposed by default when you click the "Multimedia system" button in the "Render movie" menu Select the model of equipment which will be proposed by default when you click the "Multimedia system" button in the "Render movie" menu Video standard : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter StandardCombo Smartphone : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 Select the default image format to use for the rendering -1 75 true true Default device mode rendering options Lossless : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Default video name : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter This option allows to select the name which will be proposed by default during the rendering of videos. This option can be applied only if the project was saved at first. Use project name as video name: If the project name is assembly.ffd, then assembly will be the proposed name Use project folder's name as video name: If the project name is assembly.ffd and is saved in the My holidays 2011 directory, then My holidays 2011 will be the proposed name Use title project as video name: Use the title defined in the project properties as the name of video Use project folder's name as video name Use project name as video name Use title project as video name 0 0 Format : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter SizeCombo Select the default video standard to use, PAL or NTSC QComboBox::AdjustToMinimumContentsLength PAL NTSC 0 0 0 30 75 true true Default soundtrack rendering options Qt::Vertical 20 40 File format : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter FileFormatCB Audio codec : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter AudioFormatCB 0 0 Select the default video codec to use for the rendering Select the default bit rate to use for video during the rendering QComboBox::AdjustToMinimumContentsLength 0 0 Bit rate : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter VideoBitRateCB Qt::Horizontal 0 20 Select the default audio codec to use for the rendering 0 0 Bit rate : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter AudioBitRateCB 0 0 0 30 75 true true Default advanced rendering options Select the default audio codec to use for the rendering File format : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter FileFormatCB Audio codec : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter AudioFormatCB 0 0 Select the default file type to use for the rendering 0 0 Bit rate : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter AudioBitRateCB 0 0 Select the default frequency to use for audio during the rendering. Select the default bit rate to use for audio during the rendering QComboBox::AdjustToMinimumContentsLength Frequency : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 Select the default frequency to use for audio during the rendering. Frequency : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter If this box is checked then a thumbnail file will be created with video. Join thumbnail to rendered file If this box is checked then a XMBC .nfo file will be created with video. Join XBMC .nfo file to rendered file Qt::Horizontal 4 Qt::Horizontal 40 20 Allows you to open the Check configuration dialog box Check Configuration :/img/config.png:/img/config.png Allows you to open the Manage device dialog box Manage Devices :/img/db.png:/img/db.png Qt::Horizontal 40 20 Accept modification and exit dialog box &Ok :/img/action_ok.png:/img/action_ok.png Cancel modification and exit dialog box &Cancel :/img/action_cancel.png:/img/action_cancel.png Show help about this dialogue box &Help :/img/help.png:/img/help.png cCSpeedWaveComboBox QComboBox
../ffDiaporama_lib/cSpeedWaveComboBox.h
cThumbnailComboBox QComboBox
CustomCtrl/cThumbnailComboBox.h
tabWidget scrollArea_2 RestoreWindowCH RememberLastDirectoriesCH RasterModeCB DisableTooltipsCB SDLAudioModeCB OpenWEBNewVersionCH MemCacheProfilCB PreviewFrameRateCB MaxVideoPreviewHeightCB SmoothImageDuringPreviewCB PreviewAudioRateCB UnitCB AppendObjectCB AskUserToRemove Crop1088To1080CB DeinterlaceCB ProxyCB ProxyAddrED ProxyPortED ProxyLoginED ProxyPWDED ShortDateFmtCB DistanceUnitCB scrollArea_3 DefaultTitleCB DefaultAlbumED DefaultAuthorED LanguageED ID3V2ComptatibilityCB DefaultThumbCB GeometryCombo NoShotED StaticShotED RandomTransitionRD NoTransitionRD BasicTransitionRD TransitionDurationCB TransitionSpeedWaveCB BlockSpeedWaveCB ImageSpeedWaveCB ST_Text_TextCB ST_Text_BackgroundCB ST_Text_ShapeCB ST_Text_CoordCB ST_Text_LockingCB STBlockSL_IMG_TextCB STBlockSL_IMG_ShapeCB STBlockSL_1_FramingCB STBlockSL_1_CoordCB STBlockSL_2_FramingCB STBlockSL_2_CoordCB STBlockSL_3_FramingCB STBlockSL_3_CoordCB STBlockSL_4_FramingCB STBlockSL_4_CoordCB STBlockSL_5_FramingCB STBlockSL_5_CoordCB STBlockSL_6_FramingCB STBlockSL_6_CoordCB STBlockBA_IMG_TextCB STBlockBA_IMG_ShapeCB STBlockBA_1_FramingCB STBlockBA_1_CoordCB STBlockBA_2_FramingCB STBlockBA_2_CoordCB STBlockBA_3_FramingCB STBlockBA_3_CoordCB STBlockBA_4_FramingCB STBlockBA_4_CoordCB STBlockBA_5_FramingCB STBlockBA_5_CoordCB STBlockBA_6_FramingCB STBlockBA_6_CoordCB scrollArea DefaultNameProjectNameCB ExportThumbCB ExportXBMCNfoCB SmartphoneTypeCB SmartphoneModelCB MMSystemTypeCB MMSystemModelCB ForTheWTypeCB ForTheWModelCB LosslessSizeCombo FileFormatCB StandardCombo SizeCombo VideoFormatCB VideoBitRateCB AudioFormatCB AudioBitRateCB AudioFreqCB SoundtrackFileFormatCB SoundtrackAudioFormatCB SoundtrackAudioBitRateCB SoundtrackAudioFreqCB CheckConfigBT DBManageDevicesBT OkBt CancelBt HelpBt
ffDiaporama/src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.h0000777000175000001440000000574312275647223025706 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef DLGAPPLICATIONSETTINGS_H #define DLGAPPLICATIONSETTINGS_H // Basic inclusions (common to all files) #include "CustomCtrl/_QCustomDialog.h" namespace Ui { class DlgApplicationSettings; } class DlgApplicationSettings : public QCustomDialog { Q_OBJECT public: cApplicationConfig *ApplicationConfig; bool IsDeviceChanged; int CurrentDevice; int CurrentDeviceIndex; QComboBox *CB_SL[NBR_IMAGETYPE][2]; QComboBox *CB_BA[NBR_IMAGETYPE][2]; explicit DlgApplicationSettings(cApplicationConfig *ApplicationConfig,QWidget *parent = 0); ~DlgApplicationSettings(); // function to be overloaded virtual void DoInitDialog(); // Initialise dialog virtual bool DoAccept(); // Call when user click on Ok button virtual void DoRejet(); // Call when user click on Cancel button virtual void PrepareGlobalUndo(); // Initiale Undo virtual void DoGlobalUndo(); // Apply Undo : call when user click on Cancel button private slots: void s_CheckConfig(); void s_ManageDevices(); void TabChanged(int); void s_ProxyChanged(); void FileFormatCombo(int); void SoundtrackFileFormatCombo(int); void InitVideoBitRateCB(int); void InitAudioBitRateCB(int); void InitSoundTrackAudioBitRateCB(int); void InitImageSizeCombo(int); void ChangeSmartphoneTypeCB(int); void ChangeMMSystemTypeCB(int); void ChangeForTheWTypeCB(int); private: void AddItemToFramingCB(QComboBox *CB,int FraminStyle); // Utility function use to add item in framing combobox QStringList StringToSortedStringList(QString String); Ui::DlgApplicationSettings *ui; }; #endif // DLGAPPLICATIONSETTINGS_H ffDiaporama/src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp0000777000175000001440000015431512275647223026241 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "DlgCheckConfig/DlgCheckConfig.h" #include "DlgManageDevices/DlgManageDevices.h" #include "engine/_Diaporama.h" #include "MainWindow/mainwindow.h" #include "DlgApplicationSettings.h" #include "ui_DlgApplicationSettings.h" #define ICON_GEOMETRY_IMAGE ":/img/Geometry_ImageLock.png" #define ICON_FRAMING_FULL ":/img/AdjustWH.png" #define ICON_FRAMING_WIDTH ":/img/AdjustW.png" #define ICON_FRAMING_HEIGHT ":/img/AdjustH.png" #define ICON_GLOBALCONF ":/img/db.png" #define ICON_USERCONF ":/img/db_update.png" DlgApplicationSettings::DlgApplicationSettings(cApplicationConfig *ApplicationConfig,QWidget *parent) :QCustomDialog(ApplicationConfig,parent),ui(new Ui::DlgApplicationSettings) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::DlgApplicationSettings"); this->ApplicationConfig=ApplicationConfig; ui->setupUi(this); CancelBt=ui->CancelBt; OkBt =ui->OkBt; HelpBt =ui->HelpBt; HelpFile="0101"; IsDeviceChanged =false; CurrentDevice =-1; CurrentDeviceIndex =-1; } //==================================================================================================================== // Initialise dialog void DlgApplicationSettings::DoInitDialog() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::DoInitDialog"); ui->HelpTT1->setPixmap(QApplication::style()->standardIcon(QStyle::SP_DialogHelpButton).pixmap(ui->HelpTT1->size())); ui->HelpTT2->setPixmap(QApplication::style()->standardIcon(QStyle::SP_DialogHelpButton).pixmap(ui->HelpTT2->size())); ui->HelpTT3->setPixmap(QApplication::style()->standardIcon(QStyle::SP_DialogHelpButton).pixmap(ui->HelpTT3->size())); //******************************** // Application TAB //******************************** // Application options ui->OpenWEBNewVersionCH->setChecked(ApplicationConfig->OpenWEBNewVersion); ui->RememberLastDirectoriesCH->setChecked(ApplicationConfig->RememberLastDirectories); ui->RestoreWindowCH->setChecked(ApplicationConfig->RestoreWindow); ui->DisableTooltipsCB->setChecked(ApplicationConfig->DisableTooltips); #ifdef Q_OS_WIN ui->SDLAudioModeCB->setVisible(false); #endif #if (defined(Q_OS_LINUX) || defined(Q_OS_SOLARIS)) && (QT_VERSION < 0x050000) ui->RasterModeCB->setChecked(ApplicationConfig->RasterMode); #else ui->RasterModeCB->setVisible(false); #endif #if (!defined(Q_OS_WIN64))&&(defined(Q_OS_WIN32) || defined(Q_OS_LINUX32) || defined(Q_OS_SOLARIS32)) if (ApplicationConfig->MemCacheMaxValue<=int64_t(256*1024*1024)) ui->MemCacheProfilCB->setCurrentIndex(0); else if (ApplicationConfig->MemCacheMaxValue<=int64_t(512*1024*1024)) ui->MemCacheProfilCB->setCurrentIndex(1); else ui->MemCacheProfilCB->setCurrentIndex(2); ui->MemCacheProfilCB->removeItem(3); ui->MemCacheProfilCB->removeItem(2); #else if (ApplicationConfig->MemCacheMaxValue<=int64_t(256*1024*1024)) ui->MemCacheProfilCB->setCurrentIndex(0); else if (ApplicationConfig->MemCacheMaxValue<=int64_t(512*1024*1024)) ui->MemCacheProfilCB->setCurrentIndex(1); else if (ApplicationConfig->MemCacheMaxValue<=int64_t(1024*1024*1024)) ui->MemCacheProfilCB->setCurrentIndex(2); else ui->MemCacheProfilCB->setCurrentIndex(3); #endif ui->SDLAudioModeCB->setChecked(ApplicationConfig->SDLAudioOldMode); // Preview Options QString ASR=(QString("%1").arg(ApplicationConfig->PreviewSamplingRate)); QString FPS=(QString("%1").arg(ApplicationConfig->PreviewFPS,0,'f')).trimmed(); while (FPS.endsWith('0')) FPS=FPS.left(FPS.length()-1); if (FPS.endsWith('.')) FPS=FPS.left(FPS.length()-1); ui->PreviewFrameRateCB->setCurrentIndex(ui->PreviewFrameRateCB->findText(FPS)); ui->PreviewAudioRateCB->setCurrentIndex(ui->PreviewAudioRateCB->findText(ASR)); ui->SmoothImageDuringPreviewCB->setChecked(ApplicationConfig->Smoothing); ui->MaxVideoPreviewHeightCB->setCurrentIndex(ui->MaxVideoPreviewHeightCB->findText(QString("%1").arg(ApplicationConfig->MaxVideoPreviewHeight))); // Editor options ui->UnitCB->setCurrentIndex(ApplicationConfig->DisplayUnit); ui->AppendObjectCB->setCurrentIndex(ApplicationConfig->AppendObject?1:0); ui->AskUserToRemove->setChecked(ApplicationConfig->AskUserToRemove); // Network settings ui->ProxyCB->setChecked(ApplicationConfig->UseNetworkProxy); ui->ProxyAddrED->setText(ApplicationConfig->NetworkProxy); ui->ProxyPortED->setText(ApplicationConfig->NetworkProxyPort?QString("%1").arg(ApplicationConfig->NetworkProxyPort):""); ui->ProxyLoginED->setText(ApplicationConfig->NetworkProxyUser); ui->ProxyPWDED->setText(ApplicationConfig->NetworkProxyPWD); s_ProxyChanged(); // Various options ui->ShortDateFmtCB->setCurrentIndex(ui->ShortDateFmtCB->findText(ApplicationConfig->ShortDateFormat)); ui->DistanceUnitCB->setCurrentIndex(ApplicationConfig->DistanceUnit); // Video options ui->Crop1088To1080CB->setChecked(ApplicationConfig->Crop1088To1080); ui->DeinterlaceCB->setChecked(ApplicationConfig->Deinterlace); //******************************** // Project TAB //******************************** // Project options ui->GeometryCombo->setCurrentIndex(ApplicationConfig->ImageGeometry); ui->NoShotED->setValue(double(ApplicationConfig->NoShotDuration)/1000); ui->StaticShotED->setValue(double(ApplicationConfig->FixedDuration)/1000); ui->TransitionSpeedWaveCB->SetCurrentValue(ApplicationConfig->DefaultTransitionSpeedWave); ui->BlockSpeedWaveCB->SetCurrentValue(ApplicationConfig->DefaultBlockAnimSpeedWave); ui->ImageSpeedWaveCB->SetCurrentValue(ApplicationConfig->DefaultImageAnimSpeedWave); ui->RandomTransitionRD->setChecked(ApplicationConfig->RandomTransition); ui->NoTransitionRD->setChecked((!ApplicationConfig->RandomTransition)&&(ApplicationConfig->DefaultTransitionFamilly==0)&&(ApplicationConfig->DefaultTransitionSubType==0)); ui->BasicTransitionRD->setChecked((!ApplicationConfig->RandomTransition)&&(ApplicationConfig->DefaultTransitionFamilly==0)&&(ApplicationConfig->DefaultTransitionSubType==1)); QString Duration=QString("%1").arg(double(ApplicationConfig->DefaultTransitionDuration)/double(1000),0,'f'); while (Duration.endsWith('0')) Duration=Duration.left(Duration.length()-1); while (Duration.endsWith('.')) Duration=Duration.left(Duration.length()-1); ui->TransitionDurationCB->setCurrentIndex(ui->TransitionDurationCB->findText(Duration)); ui->DefaultTitleCB->setCurrentIndex(ApplicationConfig->DefaultTitleFilling); ui->DefaultAuthorED->setText(ApplicationConfig->DefaultAuthor); ui->DefaultAlbumED->setText(ApplicationConfig->DefaultAlbum); ui->ID3V2ComptatibilityCB->setChecked(ApplicationConfig->ID3V2Comptatibility); ui->DefaultThumbCB->PrepareTable(false,ApplicationConfig->ThumbnailModels); ui->DefaultThumbCB->SetCurrentModel(ApplicationConfig->DefaultThumbnailName); // New text block options ApplicationConfig->StyleTextCollection. FillCollectionCB(ui->ST_Text_TextCB, ApplicationConfig->StyleTextCollection.DecodeString(ApplicationConfig->DefaultBlock_Text_TextST)); ApplicationConfig->StyleTextBackgroundCollection. FillCollectionCB(ui->ST_Text_BackgroundCB, ApplicationConfig->StyleTextBackgroundCollection.DecodeString(ApplicationConfig->DefaultBlock_Text_BackGST)); ApplicationConfig->StyleBlockShapeCollection. FillCollectionCB(ui->ST_Text_ShapeCB, ApplicationConfig->StyleBlockShapeCollection.DecodeString(ApplicationConfig->DefaultBlock_Text_ShapeST)); ui->ST_Text_CoordCB->addItem(QApplication::translate("DlgImageCorrection","Full screen size"), QVariant(AUTOCOMPOSIZE_FULLSCREEN)); ui->ST_Text_CoordCB->addItem(QApplication::translate("DlgImageCorrection","TV margins"), QVariant(AUTOCOMPOSIZE_TVMARGINS)); ui->ST_Text_CoordCB->addItem(QApplication::translate("DlgImageCorrection","Two thirds screen"), QVariant(AUTOCOMPOSIZE_TWOTHIRDSSCREEN)); ui->ST_Text_CoordCB->addItem(QApplication::translate("DlgImageCorrection","Half screen"), QVariant(AUTOCOMPOSIZE_HALFSCREEN)); ui->ST_Text_CoordCB->addItem(QApplication::translate("DlgImageCorrection","Third screen"), QVariant(AUTOCOMPOSIZE_THIRDSCREEN)); ui->ST_Text_CoordCB->addItem(QApplication::translate("DlgImageCorrection","Quarter screen"), QVariant(AUTOCOMPOSIZE_QUARTERSCREEN)); SetCBIndex(ui->ST_Text_CoordCB,ApplicationConfig->DefaultBlock_AutoSizePos); ui->ST_Text_LockingCB->addItem(QIcon(ICON_GEOMETRY_UNLOCKED),QApplication::translate("DlgImageCorrection","Unlock"),QVariant(AUTOFRAMING_CUSTOMUNLOCK)); //ui->ST_Text_LockingCB->addItem(QIcon(ICON_GEOMETRY_LOCKED), QApplication::translate("DlgImageCorrection","Lock to this geometry"),QVariant(AUTOFRAMING_CUSTOMLOCK)); ui->ST_Text_LockingCB->addItem(QIcon(ICON_GEOMETRY_PROJECT), QApplication::translate("DlgImageCorrection","Lock to project geometry"),QVariant(AUTOFRAMING_CUSTOMPRJLOCK)); SetCBIndex(ui->ST_Text_LockingCB,ApplicationConfig->DefaultBlock_AutoLocking); // New image block options (when slide creation) ApplicationConfig->StyleTextCollection. FillCollectionCB(ui->STBlockSL_IMG_TextCB, ApplicationConfig->StyleTextCollection.DecodeString(ApplicationConfig->DefaultBlockSL_IMG_TextST)); ApplicationConfig->StyleBlockShapeCollection. FillCollectionCB(ui->STBlockSL_IMG_ShapeCB, ApplicationConfig->StyleBlockShapeCollection.DecodeString(ApplicationConfig->DefaultBlockSL_IMG_ShapeST)); // New image block options (when block add in slide dialog) ApplicationConfig->StyleTextCollection. FillCollectionCB(ui->STBlockBA_IMG_TextCB, ApplicationConfig->StyleTextCollection.DecodeString(ApplicationConfig->DefaultBlockBA_IMG_TextST)); ApplicationConfig->StyleBlockShapeCollection. FillCollectionCB(ui->STBlockBA_IMG_ShapeCB, ApplicationConfig->StyleBlockShapeCollection.DecodeString(ApplicationConfig->DefaultBlockBA_IMG_ShapeST)); // Get link to combobox CB_SL[1][0]=ui->STBlockSL_1_FramingCB; CB_SL[1][1]=ui->STBlockSL_1_CoordCB; CB_SL[2][0]=ui->STBlockSL_2_FramingCB; CB_SL[2][1]=ui->STBlockSL_2_CoordCB; CB_SL[3][0]=ui->STBlockSL_3_FramingCB; CB_SL[3][1]=ui->STBlockSL_3_CoordCB; CB_SL[4][0]=ui->STBlockSL_4_FramingCB; CB_SL[4][1]=ui->STBlockSL_4_CoordCB; CB_SL[5][0]=ui->STBlockSL_5_FramingCB; CB_SL[5][1]=ui->STBlockSL_5_CoordCB; CB_SL[6][0]=ui->STBlockSL_6_FramingCB; CB_SL[6][1]=ui->STBlockSL_6_CoordCB; CB_BA[1][0]=ui->STBlockBA_1_FramingCB; CB_BA[1][1]=ui->STBlockBA_1_CoordCB; CB_BA[2][0]=ui->STBlockBA_2_FramingCB; CB_BA[2][1]=ui->STBlockBA_2_CoordCB; CB_BA[3][0]=ui->STBlockBA_3_FramingCB; CB_BA[3][1]=ui->STBlockBA_3_CoordCB; CB_BA[4][0]=ui->STBlockBA_4_FramingCB; CB_BA[4][1]=ui->STBlockBA_4_CoordCB; CB_BA[5][0]=ui->STBlockBA_5_FramingCB; CB_BA[5][1]=ui->STBlockBA_5_CoordCB; CB_BA[6][0]=ui->STBlockBA_6_FramingCB; CB_BA[6][1]=ui->STBlockBA_6_CoordCB; // New image block options (when slide creation) for (int i=1;iDefaultBlockSL[i].AutoFraming); if (i>=3) CB_SL[i][1]->addItem(QApplication::translate("DlgImageCorrection","Real image size"), QVariant(AUTOCOMPOSIZE_REALSIZE)); CB_SL[i][1]->addItem(QApplication::translate("DlgImageCorrection","Full screen size"), QVariant(AUTOCOMPOSIZE_FULLSCREEN)); CB_SL[i][1]->addItem(QApplication::translate("DlgImageCorrection","TV margins"), QVariant(AUTOCOMPOSIZE_TVMARGINS)); CB_SL[i][1]->addItem(QApplication::translate("DlgImageCorrection","Two thirds screen"), QVariant(AUTOCOMPOSIZE_TWOTHIRDSSCREEN)); CB_SL[i][1]->addItem(QApplication::translate("DlgImageCorrection","Half screen"), QVariant(AUTOCOMPOSIZE_HALFSCREEN)); CB_SL[i][1]->addItem(QApplication::translate("DlgImageCorrection","Third screen"), QVariant(AUTOCOMPOSIZE_THIRDSCREEN)); CB_SL[i][1]->addItem(QApplication::translate("DlgImageCorrection","Quarter screen"), QVariant(AUTOCOMPOSIZE_QUARTERSCREEN)); SetCBIndex(CB_SL[i][1],ApplicationConfig->DefaultBlockSL[i].AutoCompo); AddItemToFramingCB(CB_BA[i][0],AUTOFRAMING_FULLMAX); AddItemToFramingCB(CB_BA[i][0],AUTOFRAMING_HEIGHTLEFTMAX); AddItemToFramingCB(CB_BA[i][0],AUTOFRAMING_HEIGHTMIDLEMAX); AddItemToFramingCB(CB_BA[i][0],AUTOFRAMING_HEIGHTRIGHTMAX); AddItemToFramingCB(CB_BA[i][0],AUTOFRAMING_WIDTHTOPMAX); AddItemToFramingCB(CB_BA[i][0],AUTOFRAMING_WIDTHMIDLEMAX); AddItemToFramingCB(CB_BA[i][0],AUTOFRAMING_WIDTHBOTTOMMAX); SetCBIndex(CB_BA[i][0],ApplicationConfig->DefaultBlockBA[i].AutoFraming); if (i>=3) CB_BA[i][1]->addItem(QApplication::translate("DlgImageCorrection","Real image size"), QVariant(AUTOCOMPOSIZE_REALSIZE)); CB_BA[i][1]->addItem(QApplication::translate("DlgImageCorrection","Full screen size"), QVariant(AUTOCOMPOSIZE_FULLSCREEN)); CB_BA[i][1]->addItem(QApplication::translate("DlgImageCorrection","TV margins"), QVariant(AUTOCOMPOSIZE_TVMARGINS)); CB_BA[i][1]->addItem(QApplication::translate("DlgImageCorrection","Two thirds screen"), QVariant(AUTOCOMPOSIZE_TWOTHIRDSSCREEN)); CB_BA[i][1]->addItem(QApplication::translate("DlgImageCorrection","Half screen"), QVariant(AUTOCOMPOSIZE_HALFSCREEN)); CB_BA[i][1]->addItem(QApplication::translate("DlgImageCorrection","Third screen"), QVariant(AUTOCOMPOSIZE_THIRDSCREEN)); CB_BA[i][1]->addItem(QApplication::translate("DlgImageCorrection","Quarter screen"), QVariant(AUTOCOMPOSIZE_QUARTERSCREEN)); SetCBIndex(CB_BA[i][1],ApplicationConfig->DefaultBlockBA[i].AutoCompo); } //******************************** // RenderDefault part //******************************** // Init format container combo for (int i=0;iFileFormatCB->addItem(FORMATDEF[i].LongName,QVariant(i)); if (i==ApplicationConfig->DefaultFormat) ui->FileFormatCB->setCurrentIndex(ui->FileFormatCB->count()-1); } if (ui->FileFormatCB->currentIndex()<0) ui->FileFormatCB->setCurrentIndex(0); // Init format container combo for soundtrack export for (int i=0;iSoundtrackFileFormatCB->addItem(AUDIOFORMATDEF[i].LongName,QVariant(i)); if (i==ApplicationConfig->DefaultSoundtrackFormat) ui->SoundtrackFileFormatCB->setCurrentIndex(ui->SoundtrackFileFormatCB->count()-1); } if (ui->SoundtrackFileFormatCB->currentIndex()<0) ui->SoundtrackFileFormatCB->setCurrentIndex(0); // Image size & standard ui->StandardCombo->setCurrentIndex(ApplicationConfig->DefaultStandard); InitImageSizeCombo(0); ui->SizeCombo->setCurrentIndex(ui->SizeCombo->findText(DefImageFormat[ApplicationConfig->DefaultStandard][ApplicationConfig->ImageGeometry][ApplicationConfig->DefaultImageSize].Name)); ui->LosslessSizeCombo->setCurrentIndex(ui->LosslessSizeCombo->findText(DefImageFormat[ApplicationConfig->DefaultStandard][ApplicationConfig->ImageGeometry][ApplicationConfig->DefaultLossLess].Name)); // codec(s) & bitrate(s) FileFormatCombo(-1); // For first initialisation : ChangeIndex=-1 SoundtrackFileFormatCombo(-1); // For first initialisation : ChangeIndex=-1 ui->LanguageED->setText(ApplicationConfig->DefaultLanguage); ui->DefaultNameProjectNameCB->setCurrentIndex(ApplicationConfig->DefaultNameProjectName); ui->ExportThumbCB->setChecked(ApplicationConfig->DefaultExportThumbnail); ui->ExportXBMCNfoCB->setChecked(ApplicationConfig->DefaultExportXBMCNfo); connect(ui->StandardCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(InitImageSizeCombo(int))); connect(ui->SizeCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(FileFormatCombo(int))); connect(ui->FileFormatCB,SIGNAL(currentIndexChanged(int)),this,SLOT(FileFormatCombo(int))); connect(ui->VideoFormatCB,SIGNAL(currentIndexChanged(int)),this,SLOT(InitVideoBitRateCB(int))); connect(ui->AudioFormatCB,SIGNAL(currentIndexChanged(int)),this,SLOT(InitAudioBitRateCB(int))); connect(ui->SoundtrackFileFormatCB,SIGNAL(currentIndexChanged(int)),this,SLOT(SoundtrackFileFormatCombo(int))); //*********************************** // Default Device type for rendering //*********************************** // MODE_SMARTPHONE QStringList List; for (int i=0;iDeviceModelList.TranslatedRenderSubtype[MODE_SMARTPHONE].count();i++) List.append(ApplicationConfig->DeviceModelList.TranslatedRenderSubtype[MODE_SMARTPHONE][i]+"#"+QString("%1").arg(i)); List.sort(); for (int i=0;iSmartphoneTypeCB->addItem(Item,QVariant(ItemData)); if (ApplicationConfig->DefaultSmartphoneType==ItemData) ui->SmartphoneTypeCB->setCurrentIndex(i); } connect(ui->SmartphoneTypeCB,SIGNAL(currentIndexChanged(int)),this,SLOT(ChangeSmartphoneTypeCB(int))); ChangeSmartphoneTypeCB(0); // MODE_MULTIMEDIASYS List.clear(); for (int i=0;iDeviceModelList.TranslatedRenderSubtype[MODE_MULTIMEDIASYS].count();i++) List.append(ApplicationConfig->DeviceModelList.TranslatedRenderSubtype[MODE_MULTIMEDIASYS][i]+"#"+QString("%1").arg(i)); List.sort(); for (int i=0;iMMSystemTypeCB->addItem(Item,QVariant(ItemData)); if (ApplicationConfig->DefaultMultimediaType==ItemData) ui->MMSystemTypeCB->setCurrentIndex(i); } connect(ui->MMSystemTypeCB,SIGNAL(currentIndexChanged(int)),this,SLOT(ChangeMMSystemTypeCB(int))); ChangeMMSystemTypeCB(0); // MODE_FORTHEWEB List.clear(); for (int i=0;iDeviceModelList.TranslatedRenderSubtype[MODE_FORTHEWEB].count();i++) List.append(ApplicationConfig->DeviceModelList.TranslatedRenderSubtype[MODE_FORTHEWEB][i]+"#"+QString("%1").arg(i)); List.sort(); for (int i=0;iForTheWTypeCB->addItem(Item,QVariant(ItemData)); if (ApplicationConfig->DefaultForTheWEBType==ItemData) ui->ForTheWTypeCB->setCurrentIndex(i); } connect(ui->ForTheWTypeCB,SIGNAL(currentIndexChanged(int)),this,SLOT(ChangeForTheWTypeCB(int))); ChangeForTheWTypeCB(0); // Define handler connect(ui->CheckConfigBT,SIGNAL(clicked()),this,SLOT(s_CheckConfig())); connect(ui->DBManageDevicesBT,SIGNAL(clicked()),this,SLOT(s_ManageDevices())); connect(ui->tabWidget,SIGNAL(currentChanged(int)),this,SLOT(TabChanged(int))); connect(ui->ProxyCB,SIGNAL(clicked()),this,SLOT(s_ProxyChanged())); ui->tabWidget->setCurrentIndex(0); } //==================================================================================================================== DlgApplicationSettings::~DlgApplicationSettings() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::~DlgApplicationSettings"); delete ui; } //==================================================================================================================== void DlgApplicationSettings::AddItemToFramingCB(QComboBox *CB,int FraminStyle) { QIcon IconGeoImage; switch (AUTOFRAMINGDEF[FraminStyle].GeometryType) { case AUTOFRAMING_GEOMETRY_CUSTOM : IconGeoImage=FraminStyle==AUTOFRAMING_CUSTOMUNLOCK?QIcon(AUTOFRAMING_ICON_GEOMETRY_UNLOCKED): QIcon(AUTOFRAMING_ICON_GEOMETRY_LOCKED); break; case AUTOFRAMING_GEOMETRY_PROJECT : IconGeoImage=QIcon(AUTOFRAMING_ICON_GEOMETRY_PROJECT); break; case AUTOFRAMING_GEOMETRY_IMAGE : IconGeoImage=QIcon(AUTOFRAMING_ICON_GEOMETRY_IMAGE); break; } CB->addItem(IconGeoImage,AUTOFRAMINGDEF[FraminStyle].ToolTip,QVariant(FraminStyle)); } //==================================================================================================================== // Create and sort List QStringList DlgApplicationSettings::StringToSortedStringList(QString String) { QStringList StringList; QString SubString; while (String.length()>0) { int Index=String.indexOf("#"); if (Index>0) { SubString=String.left(Index); String=String.right(String.length()-Index-1); } else { SubString=String; String=""; } StringList.append(SubString); } for (int i=0;iNumB) StringList.swap(j,j+1); } return StringList; } //==================================================================================================================== // Call when user click on Ok button bool DlgApplicationSettings::DoAccept() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::DoAccept"); // Application options part ApplicationConfig->OpenWEBNewVersion =ui->OpenWEBNewVersionCH->isChecked(); ApplicationConfig->RememberLastDirectories =ui->RememberLastDirectoriesCH->isChecked(); ApplicationConfig->RestoreWindow =ui->RestoreWindowCH->isChecked(); ApplicationConfig->SDLAudioOldMode =ui->SDLAudioModeCB->isChecked(); #if defined(Q_OS_LINUX) || defined(Q_OS_SOLARIS) ApplicationConfig->RasterMode =ui->RasterModeCB->isChecked(); #endif // Preview Options part ApplicationConfig->Smoothing =ui->SmoothImageDuringPreviewCB->isChecked(); ApplicationConfig->PreviewFPS =GetDoubleValue(ui->PreviewFrameRateCB->currentText()); ApplicationConfig->PreviewSamplingRate =ui->PreviewAudioRateCB->currentText().toLong(); ApplicationConfig->MaxVideoPreviewHeight =ui->MaxVideoPreviewHeightCB->currentText().toInt(); ApplicationConfig->DisableTooltips =ui->DisableTooltipsCB->isChecked(); switch (ui->MemCacheProfilCB->currentIndex()) { case 3 : ApplicationConfig->MemCacheMaxValue=int64_t(2048*int64_t(1024*1024)); break; case 2 : ApplicationConfig->MemCacheMaxValue=int64_t(1024*int64_t(1024*1024)); break; case 1 : ApplicationConfig->MemCacheMaxValue=int64_t(512*int64_t(1024*1024)); break; default : ApplicationConfig->MemCacheMaxValue=int64_t(256*int64_t(1024*1024)); break; } // Network settings ApplicationConfig->UseNetworkProxy =ui->ProxyCB->isChecked(); ApplicationConfig->NetworkProxy =ui->ProxyAddrED->text(); ApplicationConfig->NetworkProxyPort=ui->ProxyPortED->text().toInt(); ApplicationConfig->NetworkProxyUser=ui->ProxyLoginED->text(); ApplicationConfig->NetworkProxyPWD =ui->ProxyPWDED->text(); // Editor Options part ApplicationConfig->AppendObject =ui->AppendObjectCB->currentIndex()==1; ApplicationConfig->AskUserToRemove =ui->AskUserToRemove->isChecked(); ApplicationConfig->DisplayUnit =ui->UnitCB->currentIndex(); ApplicationConfig->Crop1088To1080 =ui->Crop1088To1080CB->isChecked(); ApplicationConfig->Deinterlace =ui->DeinterlaceCB->isChecked(); ApplicationConfig->DefaultTransitionDuration =int(GetDoubleValue(ui->TransitionDurationCB->currentText())*double(1000)); ApplicationConfig->RandomTransition =ui->RandomTransitionRD->isChecked(); ApplicationConfig->DefaultTransitionSubType =(ui->NoTransitionRD->isChecked()?0:1); ApplicationConfig->DefaultTransitionFamilly =TRANSITIONFAMILLY_BASE; // ProjectDefault part ApplicationConfig->DefaultTransitionSpeedWave =ui->TransitionSpeedWaveCB->GetCurrentValue(); ApplicationConfig->DefaultBlockAnimSpeedWave =ui->BlockSpeedWaveCB->GetCurrentValue(); ApplicationConfig->DefaultImageAnimSpeedWave =ui->ImageSpeedWaveCB->GetCurrentValue(); ApplicationConfig->NoShotDuration =int(ui->NoShotED->value()*1000); ApplicationConfig->FixedDuration =int(ui->StaticShotED->value()*1000); ApplicationConfig->ImageGeometry =(ffd_GEOMETRY)ui->GeometryCombo->currentIndex(); ApplicationConfig->DefaultTitleFilling =ui->DefaultTitleCB->currentIndex(); ApplicationConfig->DefaultAlbum =ui->DefaultAlbumED->text(); ApplicationConfig->ID3V2Comptatibility =ui->ID3V2ComptatibilityCB->isChecked(); ApplicationConfig->ShortDateFormat =ui->ShortDateFmtCB->itemText(ui->ShortDateFmtCB->currentIndex()); ApplicationConfig->DistanceUnit =(cApplicationConfig::DISTANCEUNIT)ui->DistanceUnitCB->currentIndex(); ApplicationConfig->DefaultThumbnailName =ui->DefaultThumbCB->GetCurrentModel(); ApplicationConfig->DefaultBlock_Text_TextST =ApplicationConfig->StyleTextCollection.EncodeString(ui->ST_Text_TextCB,GEOMETRY_NONE,-1); ApplicationConfig->DefaultBlock_Text_BackGST =ApplicationConfig->StyleTextBackgroundCollection.EncodeString(ui->ST_Text_BackgroundCB,GEOMETRY_NONE,-1); ApplicationConfig->DefaultBlock_AutoSizePos =ui->ST_Text_CoordCB->itemData(ui->ST_Text_CoordCB->currentIndex()).toInt(); ApplicationConfig->DefaultBlock_AutoLocking =ui->ST_Text_LockingCB->itemData(ui->ST_Text_LockingCB->currentIndex()).toInt(); ApplicationConfig->DefaultBlock_Text_ShapeST =ApplicationConfig->StyleBlockShapeCollection.EncodeString(ui->ST_Text_ShapeCB,GEOMETRY_NONE,-1); ApplicationConfig->DefaultBlockSL_IMG_TextST =ApplicationConfig->StyleTextCollection.EncodeString(ui->STBlockSL_IMG_TextCB,GEOMETRY_NONE,-1); ApplicationConfig->DefaultBlockSL_IMG_ShapeST =ApplicationConfig->StyleBlockShapeCollection.EncodeString(ui->STBlockSL_IMG_ShapeCB,GEOMETRY_NONE,-1); ApplicationConfig->DefaultBlockBA_IMG_TextST =ApplicationConfig->StyleTextCollection.EncodeString(ui->STBlockBA_IMG_TextCB,GEOMETRY_NONE,-1); ApplicationConfig->DefaultBlockBA_IMG_ShapeST =ApplicationConfig->StyleBlockShapeCollection.EncodeString(ui->STBlockBA_IMG_ShapeCB,GEOMETRY_NONE,-1); for (int i=1;iDefaultBlockSL[i].AutoFraming=CB_SL[i][0]->itemData(CB_SL[i][0]->currentIndex()).toInt(); ApplicationConfig->DefaultBlockSL[i].AutoCompo =CB_SL[i][1]->itemData(CB_SL[i][1]->currentIndex()).toInt(); ApplicationConfig->DefaultBlockBA[i].AutoFraming=CB_BA[i][0]->itemData(CB_BA[i][0]->currentIndex()).toInt(); ApplicationConfig->DefaultBlockBA[i].AutoCompo =CB_BA[i][1]->itemData(CB_BA[i][1]->currentIndex()).toInt(); } // RenderDefault part ApplicationConfig->DefaultLanguage =ui->LanguageED->text(); if (ApplicationConfig->DefaultLanguage=="") ApplicationConfig->DefaultLanguage="und"; if (ApplicationConfig->DefaultLanguage.length()!=3) { CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgApplicationSettings","Language selection"), QApplication::translate("DlgApplicationSettings","Language must be empty or an ISO 639 language code (3 characters)\nSee help for more details!")); ui->LanguageED->setFocus(); return false; } ApplicationConfig->DefaultNameProjectName =ui->DefaultNameProjectNameCB->currentIndex(); ApplicationConfig->DefaultExportThumbnail =ui->ExportThumbCB->isChecked(); ApplicationConfig->DefaultExportXBMCNfo =ui->ExportXBMCNfoCB->isChecked(); ApplicationConfig->DefaultStandard =ui->StandardCombo->currentIndex(); ApplicationConfig->DefaultImageSize =ui->SizeCombo->itemData(ui->SizeCombo->currentIndex()).toInt(); ApplicationConfig->DefaultFormat =ui->FileFormatCB->currentIndex(); if (ApplicationConfig->DefaultFormat>=0) ApplicationConfig->DefaultFormat=ui->FileFormatCB->itemData(ApplicationConfig->DefaultFormat).toInt(); else ApplicationConfig->DefaultFormat=0; int Codec=ui->VideoFormatCB->currentIndex(); if (Codec>=0) ApplicationConfig->DefaultVideoCodec=VIDEOCODECDEF[ui->VideoFormatCB->itemData(Codec).toInt()].FFD_VCODECST; else ApplicationConfig->DefaultVideoCodec=""; Codec=ui->AudioFormatCB->currentIndex(); if (Codec>=0) ApplicationConfig->DefaultAudioCodec=AUDIOCODECDEF[ui->AudioFormatCB->itemData(Codec).toInt()].ShortName; else ApplicationConfig->DefaultAudioCodec=""; QString BitRate=ui->VideoBitRateCB->currentText(); if (BitRate.endsWith("k")) BitRate=BitRate.left(BitRate.length()-1); ApplicationConfig->DefaultVideoBitRate=BitRate.toInt(); BitRate =ui->AudioBitRateCB->currentText(); if (BitRate.endsWith("k")) BitRate=BitRate.left(BitRate.length()-1); ApplicationConfig->DefaultAudioBitRate=BitRate.toInt(); QString Freq =ui->AudioFreqCB->currentText(); ApplicationConfig->DefaultFreq=Freq.toInt(); ApplicationConfig->DefaultSoundtrackFormat =ui->SoundtrackFileFormatCB->currentIndex(); if (ApplicationConfig->DefaultSoundtrackFormat>=0) ApplicationConfig->DefaultSoundtrackFormat=ui->SoundtrackFileFormatCB->itemData(ApplicationConfig->DefaultSoundtrackFormat).toInt(); else ApplicationConfig->DefaultSoundtrackFormat=0; Codec=ui->SoundtrackAudioFormatCB->currentIndex(); if (Codec>=0) ApplicationConfig->DefaultSoundtrackAudioCodec=AUDIOCODECDEF[ui->SoundtrackAudioFormatCB->itemData(Codec).toInt()].ShortName; else ApplicationConfig->DefaultSoundtrackAudioCodec=""; BitRate=ui->SoundtrackAudioBitRateCB->currentText(); if (BitRate.endsWith("k")) BitRate=BitRate.left(BitRate.length()-1); ApplicationConfig->DefaultSoundtrackBitRate=BitRate.toInt(); Freq=ui->SoundtrackAudioFreqCB->currentText(); ApplicationConfig->DefaultSoundtrackFreq=Freq.toInt(); ApplicationConfig->DefaultSmartphoneType =ui->SmartphoneTypeCB->itemData(ui->SmartphoneTypeCB->currentIndex()).toInt(); ApplicationConfig->DefaultMultimediaType =ui->MMSystemTypeCB->itemData(ui->MMSystemTypeCB->currentIndex()).toInt(); ApplicationConfig->DefaultForTheWEBType =ui->ForTheWTypeCB->itemData(ui->ForTheWTypeCB->currentIndex()).toInt(); ApplicationConfig->DefaultLossLess =ui->LosslessSizeCombo->itemData(ui->LosslessSizeCombo->currentIndex()).toInt(); QString Text=ui->SmartphoneModelCB->currentText(); int i=0; while ((iDeviceModelList.RenderDeviceModel.count())&&(Text!=ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName)) i++; if ((iDeviceModelList.RenderDeviceModel.count())&&(Text==ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName)) ApplicationConfig->DefaultSmartphoneModel=ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceIndex; Text=ui->MMSystemModelCB->currentText(); i=0; while ((iDeviceModelList.RenderDeviceModel.count())&&(Text!=ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName)) i++; if ((iDeviceModelList.RenderDeviceModel.count())&&(Text==ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName)) ApplicationConfig->DefaultMultimediaModel=ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceIndex; Text=ui->ForTheWModelCB->currentText(); i=0; while ((iDeviceModelList.RenderDeviceModel.count())&&(Text!=ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName)) i++; if ((iDeviceModelList.RenderDeviceModel.count())&&(Text==ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName)) ApplicationConfig->DefaultForTheWEBModel=ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceIndex; return true; } //==================================================================================================================== // Call when user click on Cancel button void DlgApplicationSettings::DoRejet() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::DoRejet"); // Nothing to do } //==================================================================================================================== // Initiale Undo void DlgApplicationSettings::PrepareGlobalUndo() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::PrepareGlobalUndo"); // Nothing to do } //==================================================================================================================== // Apply Undo : call when user click on Cancel button void DlgApplicationSettings::DoGlobalUndo() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::DoGlobalUndo"); // Nothing to do } //==================================================================================================================== void DlgApplicationSettings::s_CheckConfig() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::s_CheckConfig"); DlgCheckConfig Dlg(ApplicationConfig,this); Dlg.InitDialog(); Dlg.exec(); } //==================================================================================================================== void DlgApplicationSettings::s_ManageDevices() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::s_ManageDevices"); DlgManageDevices Dlg(&ApplicationConfig->DeviceModelList,ApplicationConfig,this); Dlg.InitDialog(); Dlg.exec(); } //==================================================================================================================== void DlgApplicationSettings::s_ProxyChanged() { ui->ProxyAddrED->setEnabled(ui->ProxyCB->isChecked()); ui->ProxyAddrLabel->setEnabled(ui->ProxyCB->isChecked()); ui->ProxyPortED->setEnabled(ui->ProxyCB->isChecked()); ui->ProxyPortLabel->setEnabled(ui->ProxyCB->isChecked()); ui->ProxyLoginED->setEnabled(ui->ProxyCB->isChecked()); ui->ProxyLoginLabel->setEnabled(ui->ProxyCB->isChecked()); ui->ProxyPWDED->setEnabled(ui->ProxyCB->isChecked()); ui->ProxyPWDLabel->setEnabled(ui->ProxyCB->isChecked()); } //==================================================================================================================== void DlgApplicationSettings::TabChanged(int) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::TabChanged"); if (ui->tabWidget->currentIndex()==2) { ChangeSmartphoneTypeCB(0); ChangeMMSystemTypeCB(0); ChangeForTheWTypeCB(0); } } //==================================================================================================================== void DlgApplicationSettings::InitImageSizeCombo(int) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::InitImageSizeCombo"); int Geometry =ui->GeometryCombo->currentIndex(); int Standard =ui->StandardCombo->currentIndex(); int ImageSize=ui->SizeCombo->currentIndex(); int Lossless =ui->LosslessSizeCombo->currentIndex(); ui->SizeCombo->clear(); ui->LosslessSizeCombo->clear(); QStringList List; for (int i=0;iStrB.toInt()) List.swap(j,j+1); } // Fill combo for (int i=0;iSizeCombo->addItem(Codec,QVariant(Index)); ui->LosslessSizeCombo->addItem(Codec,QVariant(Index)); } ui->SizeCombo->setCurrentIndex(ImageSize); ui->LosslessSizeCombo->setCurrentIndex(Lossless); } //==================================================================================================================== void DlgApplicationSettings::FileFormatCombo(int ChangeIndex) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::FileFormatCombo"); ui->VideoFormatCB->clear(); ui->AudioFormatCB->clear(); int CurrentFormat=ui->FileFormatCB->itemData(ui->FileFormatCB->currentIndex()).toInt(); //********* Video codec part QString AllowedCodec=FORMATDEF[CurrentFormat].PossibleVideoCodec; QString Codec=""; QString ToSelect=""; QStringList List; int Index=0; while (AllowedCodec.length()>0) { Index=AllowedCodec.indexOf("#"); if (Index>0) { Codec=AllowedCodec.left(Index); AllowedCodec=AllowedCodec.right(AllowedCodec.length()-Index-1); } else { Codec=AllowedCodec; AllowedCodec=""; } // Now find index of this codec in the VIDEOCODECDEF Index=0; while ((IndexDefaultVideoCodec)) ToSelect=QString(VIDEOCODECDEF[Index].LongName); } } // Sort List for (int i=0;iList[j+1]) List.swap(j,j+1); // Fill combo for (int i=0;iVideoFormatCB->addItem(Codec,QVariant(Index)); } // Set current selection if (ui->VideoFormatCB->findText(ToSelect)!=-1) ui->VideoFormatCB->setCurrentIndex(ui->VideoFormatCB->findText(ToSelect)); else ui->VideoFormatCB->setCurrentIndex(0); ui->VideoFormatCB->setEnabled(ui->VideoFormatCB->count()>0); //********* Audio codec part AllowedCodec=FORMATDEF[CurrentFormat].PossibleAudioCodec; Codec=""; Index=0; ToSelect=""; List.clear(); while (AllowedCodec.length()>0) { Index=AllowedCodec.indexOf("#"); if (Index>0) { Codec=AllowedCodec.left(Index); AllowedCodec=AllowedCodec.right(AllowedCodec.length()-Index-1); } else { Codec=AllowedCodec; AllowedCodec=""; } // Now find index of this codec in the AUDIOCODECDEF Index=0; while ((IndexDefaultAudioCodec)) ToSelect=QString(AUDIOCODECDEF[Index].LongName); } } // Sort List for (int i=0;iList[j+1]) List.swap(j,j+1); // Fill combo for (int i=0;iAudioFormatCB->addItem(Codec,QVariant(Index)); } // Set current selection if (ui->AudioFormatCB->findText(ToSelect)!=-1) ui->AudioFormatCB->setCurrentIndex(ui->AudioFormatCB->findText(ToSelect)); else ui->AudioFormatCB->setCurrentIndex(0); ui->AudioFormatCB->setEnabled(ui->AudioFormatCB->count()>0); InitVideoBitRateCB(ChangeIndex); InitAudioBitRateCB(ChangeIndex); } //==================================================================================================================== void DlgApplicationSettings::SoundtrackFileFormatCombo(int ChangeIndex) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::SoundtrackFileFormatCombo"); ui->SoundtrackAudioFormatCB->clear(); int CurrentFormat=ui->SoundtrackFileFormatCB->itemData(ui->SoundtrackFileFormatCB->currentIndex()).toInt(); QString AllowedCodec=AUDIOFORMATDEF[CurrentFormat].PossibleAudioCodec; QString Codec=""; int Index=0; QString ToSelect=""; QStringList List; while (AllowedCodec.length()>0) { Index=AllowedCodec.indexOf("#"); if (Index>0) { Codec=AllowedCodec.left(Index); AllowedCodec=AllowedCodec.right(AllowedCodec.length()-Index-1); } else { Codec=AllowedCodec; AllowedCodec=""; } // Now find index of this codec in the AUDIOCODECDEF Index=0; while ((IndexDefaultSoundtrackAudioCodec)) ToSelect=QString(AUDIOCODECDEF[Index].LongName); } } // Sort List for (int i=0;iList[j+1]) List.swap(j,j+1); // Fill combo for (int i=0;iSoundtrackAudioFormatCB->addItem(Codec,QVariant(Index)); } // Set current selection if (ui->SoundtrackAudioFormatCB->findText(ToSelect)!=-1) ui->SoundtrackAudioFormatCB->setCurrentIndex(ui->SoundtrackAudioFormatCB->findText(ToSelect)); else ui->SoundtrackAudioFormatCB->setCurrentIndex(0); ui->SoundtrackAudioFormatCB->setEnabled(ui->SoundtrackAudioFormatCB->count()>0); InitSoundTrackAudioBitRateCB(ChangeIndex); } //==================================================================================================================== void DlgApplicationSettings::ChangeSmartphoneTypeCB(int) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::ChangeSmartphoneTypeCB"); int ExportMode=MODE_SMARTPHONE; ui->SmartphoneModelCB->clear(); int ItemData=ui->SmartphoneTypeCB->currentIndex(); if (ItemData>=0) ItemData=ui->SmartphoneTypeCB->itemData(ItemData).toInt(); QStringList List; for (int i=0;iDeviceModelList.RenderDeviceModel.count();i++) if ((ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceType==ExportMode)&&(ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceSubtype==ItemData)) List.append(ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName); List.sort(); ui->SmartphoneModelCB->addItems(List); int i=0; while ((iDeviceModelList.RenderDeviceModel.count())&&(ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceIndex!=ApplicationConfig->DefaultSmartphoneModel)) i++; if (ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceIndex==ApplicationConfig->DefaultSmartphoneModel) ui->SmartphoneModelCB->setCurrentIndex(ui->SmartphoneModelCB->findText(ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName)); } //==================================================================================================================== void DlgApplicationSettings::ChangeMMSystemTypeCB(int) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::ChangeMMSystemTypeCB"); int ExportMode=MODE_MULTIMEDIASYS; ui->MMSystemModelCB->clear(); int ItemData=ui->MMSystemTypeCB->currentIndex(); if (ItemData>=0) ItemData=ui->MMSystemTypeCB->itemData(ItemData).toInt(); QStringList List; for (int i=0;iDeviceModelList.RenderDeviceModel.count();i++) if ((ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceType==ExportMode)&&(ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceSubtype==ItemData)) List.append(ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName); List.sort(); ui->MMSystemModelCB->addItems(List); int i=0; while ((iDeviceModelList.RenderDeviceModel.count())&&(ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceIndex!=ApplicationConfig->DefaultMultimediaModel)) i++; if (ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceIndex==ApplicationConfig->DefaultMultimediaModel) ui->MMSystemModelCB->setCurrentIndex(ui->MMSystemModelCB->findText(ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName)); } //==================================================================================================================== void DlgApplicationSettings::ChangeForTheWTypeCB(int) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::ChangeForTheWTypeCB"); int ExportMode=MODE_FORTHEWEB; ui->ForTheWModelCB->clear(); int ItemData=ui->ForTheWTypeCB->currentIndex(); if (ItemData>=0) ItemData=ui->ForTheWTypeCB->itemData(ItemData).toInt(); QStringList List; for (int i=0;iDeviceModelList.RenderDeviceModel.count();i++) if ((ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceType==ExportMode)&&(ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceSubtype==ItemData)) List.append(ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName); List.sort(); ui->ForTheWModelCB->addItems(List); int i=0; while ((iDeviceModelList.RenderDeviceModel.count())&&(ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceIndex!=ApplicationConfig->DefaultForTheWEBModel)) i++; if (ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceIndex==ApplicationConfig->DefaultForTheWEBModel) ui->ForTheWModelCB->setCurrentIndex(ui->ForTheWModelCB->findText(ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName)); } //==================================================================================================================== void DlgApplicationSettings::InitVideoBitRateCB(int ChangeIndex) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::InitVideoBitRateCB"); ui->VideoBitRateCB->clear(); int Standard =ui->StandardCombo->currentIndex(); int CurrentCodec=ui->VideoFormatCB->currentIndex(); int CurrentSize =ui->SizeCombo->itemData(ui->SizeCombo->currentIndex()).toInt(); if (CurrentCodec>=0) { CurrentCodec=ui->VideoFormatCB->itemData(CurrentCodec).toInt(); QStringList List=StringToSortedStringList(VIDEOCODECDEF[CurrentCodec].PossibleBitrate); bool IsFindBitRate=false; for (int i=0;iVideoBitRateCB->addItem(List[i]); if ((ChangeIndex==-1)&&(List[i]==QString("%1k").arg(ApplicationConfig->DefaultVideoBitRate))) { ui->VideoBitRateCB->setCurrentIndex(ui->VideoBitRateCB->count()-1); IsFindBitRate=true; } } if (!IsFindBitRate) ui->VideoBitRateCB->setCurrentIndex(ui->VideoBitRateCB->findText(VIDEOCODECDEF[CurrentCodec].DefaultBitrate[Standard][CurrentSize])); ui->VideoBitRateCB->setEnabled(ui->VideoBitRateCB->count()>1); } else ui->VideoBitRateCB->setEnabled(false); } //==================================================================================================================== void DlgApplicationSettings::InitAudioBitRateCB(int ChangeIndex) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::InitAudioBitRateCB"); ui->AudioBitRateCB->clear(); ui->AudioFreqCB->clear(); int CurrentCodec=ui->AudioFormatCB->currentIndex(); if (CurrentCodec>=0) { CurrentCodec=ui->AudioFormatCB->itemData(CurrentCodec).toInt(); int CurrentFormat =ui->FileFormatCB->itemData(ui->FileFormatCB->currentIndex()).toInt(); bool IsFindBitRate =false; bool IsFindFreq =false; QStringList ListBitRate =StringToSortedStringList(AUDIOCODECDEF[CurrentCodec].PossibleBitrate2CH); QStringList ListFreq =StringToSortedStringList(AUDIOCODECDEF[CurrentCodec].PossibleFrequency); QStringList ListAllowedFreq =StringToSortedStringList(AUDIOFORMATDEF[CurrentFormat].PossibleFrequency); // Fill AudioBitRateCB for (int i=0;iAudioBitRateCB->addItem(ListBitRate[i]); if ((ChangeIndex==-1)&&(ListBitRate[i]==QString("%1k").arg(ApplicationConfig->DefaultAudioBitRate))) { ui->AudioBitRateCB->setCurrentIndex(ui->AudioBitRateCB->count()-1); IsFindBitRate=true; } } if (!IsFindBitRate) ui->AudioBitRateCB->setCurrentIndex(ui->AudioBitRateCB->findText(AUDIOCODECDEF[CurrentCodec].Default)); ui->AudioBitRateCB->setEnabled(ui->AudioBitRateCB->count()>1); // Fill AudioFreqCB (only if freq in ListFreq and in ListFreqAllowed) for (int i=0;iAudioFreqCB->addItem(ListFreq[i]); if ((ChangeIndex==-1)&&(ListFreq[i]==QString("%1").arg(ApplicationConfig->DefaultFreq))) { ui->AudioFreqCB->setCurrentIndex(ui->AudioFreqCB->count()-1); IsFindFreq=true; } } if (!IsFindFreq) ui->AudioFreqCB->setCurrentIndex(ui->AudioFreqCB->findText(AUDIOFORMATDEF[CurrentFormat].DefaultAudioFreq)); if ((ui->AudioFreqCB->currentIndex()==-1)&&(ui->AudioFreqCB->count()>0)) ui->AudioFreqCB->setCurrentIndex(0); ui->AudioFreqCB->setEnabled(ui->AudioFreqCB->count()>0); } else { ui->AudioBitRateCB->setEnabled(false); ui->AudioFreqCB->setEnabled(false); } } //==================================================================================================================== void DlgApplicationSettings::InitSoundTrackAudioBitRateCB(int ChangeIndex) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::InitSoundTrackAudioBitRateCB"); ui->SoundtrackAudioBitRateCB->clear(); ui->SoundtrackAudioFreqCB->clear(); int CurrentCodec=ui->SoundtrackAudioFormatCB->currentIndex(); if (CurrentCodec>=0) { CurrentCodec=ui->SoundtrackAudioFormatCB->itemData(CurrentCodec).toInt(); int CurrentFormat=ui->SoundtrackFileFormatCB->itemData(ui->SoundtrackFileFormatCB->currentIndex()).toInt(); QStringList ListBitRate =StringToSortedStringList(AUDIOCODECDEF[CurrentCodec].PossibleBitrate2CH); QStringList ListFreq =StringToSortedStringList(AUDIOCODECDEF[CurrentCodec].PossibleFrequency); QStringList ListAllowedFreq =StringToSortedStringList(AUDIOFORMATDEF[CurrentFormat].PossibleFrequency); bool IsFindBitRate =false; bool IsFindFreq =false; // Fill AudioBitRateCB for (int i=0;iSoundtrackAudioBitRateCB->addItem(ListBitRate[i]); if ((ChangeIndex==-1)&&(ListBitRate[i]==QString("%1k").arg(ApplicationConfig->DefaultSoundtrackBitRate))) { ui->SoundtrackAudioBitRateCB->setCurrentIndex(ui->SoundtrackAudioBitRateCB->count()-1); IsFindBitRate=true; } } if (!IsFindBitRate) ui->SoundtrackAudioBitRateCB->setCurrentIndex(ui->SoundtrackAudioBitRateCB->findText(AUDIOCODECDEF[CurrentCodec].Default)); ui->SoundtrackAudioBitRateCB->setEnabled(ui->SoundtrackAudioBitRateCB->count()>1); // Fill AudioFreqCB (only if freq in ListFreq and in ListFreqAllowed) for (int i=0;iSoundtrackAudioFreqCB->addItem(ListFreq[i]); if ((ChangeIndex==-1)&&(ListFreq[i]==QString("%1").arg(ApplicationConfig->DefaultSoundtrackFreq))) { ui->SoundtrackAudioFreqCB->setCurrentIndex(ui->SoundtrackAudioFreqCB->count()-1); IsFindFreq=true; } } if (!IsFindFreq) ui->SoundtrackAudioFreqCB->setCurrentIndex(ui->SoundtrackAudioFreqCB->findText(AUDIOFORMATDEF[CurrentFormat].DefaultAudioFreq)); if ((ui->SoundtrackAudioFreqCB->currentIndex()==-1)&&(ui->SoundtrackAudioFreqCB->count()>0)) ui->SoundtrackAudioFreqCB->setCurrentIndex(0); ui->SoundtrackAudioFreqCB->setEnabled(ui->SoundtrackAudioFreqCB->count()>0); } else { ui->SoundtrackAudioBitRateCB->setEnabled(false); ui->SoundtrackAudioFreqCB->setEnabled(false); } } ffDiaporama/src/ffDiaporama/DlgAppSettings/DlgManageDevices/0000777000175000001440000000000012275647223024230 5ustar dominiqueusersffDiaporama/src/ffDiaporama/DlgAppSettings/DlgManageDevices/DlgManageDevices.ui0000777000175000001440000004246512275647223027727 0ustar dominiqueusers DlgManageDevices 0 0 700 500 700 500 Sans Serif 9 Manage Devices 8 8 8 8 4 2 Select the video standard to use, PAL or NTSC PAL NTSC Qt::Horizontal 40 20 <html><head/><body><p>Enter here the name of the device (free text entry field)</p></body></html> 0 0 Select the file type to use for the rendering 2 0 0 150 0 Select the audio codec to use for the rendering Bit rate : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Select the bit rate to use for audio during the rendering Video standard : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Image format : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Select the image format to use for the rendering -1 Video codec : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 2 0 0 150 0 Select the video codec to use for the rendering 0 0 Bit rate : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Select the bit rate to use for video during the rendering Audio codec : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter File format : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Device model : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter <html><head/><body><p>This list shows the categories and the device types present in the database.</p><p><img src=":/img/db.png"/> Devices preceded by this icon are defined in the default database.</p><p><img src=":/img/db_update.png"/> Devices preceded by this icon are those that you defined yourself, or those from the default database that you have modified.</p></body></html> QAbstractItemView::NoEditTriggers false false QAbstractItemView::SingleSelection QAbstractItemView::SelectRows QAbstractItemView::ScrollPerItem QAbstractItemView::ScrollPerPixel true false false false true false # Sans Serif 8 Type Sans Serif 9 Model Sans Serif 9 Device category : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter <html><head/><body><p>The device type zone allows you to select the type of equipment to be shown in the list.</p></body></html> Device type : Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 0 0 0 <html><head/><body><p>Allows you to create a new device which will be added to the database.</p><p>The creation of a new device is made in 3 steps:</p><p>1- You must first create a device</p><p>2- You define the various parameters</p><p>3- You click the &quot;Apply modifications&quot; button to register the parameters</p></body></html> Add Device :/img/db_add.png:/img/db_add.png <html><head/><body><p>Allows you to delete a device.</p><p>Note that you can delete only devices which you created – those shown with the <img src=":/img/db_update.png"/> icon</p></body></html> Remove Device :/img/db_remove.png:/img/db_remove.png Cancel the modifications that you made on a predefined equipment profile in the ffDiaporama database Reset Device to Default :/img/db_status.png:/img/db_status.png <html><head/><body><p>Allows you to select the category in which the equipment is classified</p></body></html> Qt::Horizontal 4 Qt::Horizontal 40 20 Apply :/img/action_ok.png:/img/action_ok.png Accept modification and exit dialog box &Ok :/img/action_ok.png:/img/action_ok.png Cancel modification and exit dialog box &Cancel :/img/action_cancel.png:/img/action_cancel.png Show help about this dialogue box &Help :/img/help.png:/img/help.png ffDiaporama/src/ffDiaporama/DlgAppSettings/DlgManageDevices/DlgManageDevices.h0000777000175000001440000000607212275647223027533 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef DLGMANAGEDEVICES_H #define DLGMANAGEDEVICES_H // Basic inclusions (common to all files) #include "CustomCtrl/_QCustomDialog.h" // Include some common various class #include "engine/cApplicationConfig.h" #include "engine/cDeviceModelDef.h" namespace Ui { class DlgManageDevices; } class DlgManageDevices : public QCustomDialog { Q_OBJECT public: cDeviceModelList *DeviceModelList; bool IsDeviceChanged; int CurrentDevice; int CurrentDeviceIndex; QComboBox *CB_SL[9][3]; QComboBox *CB_BA[9][3]; QComboBox *CB_SL_CLIPARTST[3]; QComboBox *CB_BA_CLIPARTST[3]; explicit DlgManageDevices(cDeviceModelList *DeviceModelList,cApplicationConfig *ApplicationConfig,QWidget *parent = 0); ~DlgManageDevices(); // function to be overloaded virtual void DoInitDialog(); // Initialise dialog virtual bool DoAccept(); // Call when user click on Ok button virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button virtual void PrepareGlobalUndo() {/*Nothing to do*/} // Initiale Undo virtual void DoGlobalUndo() {/*Nothing to do*/} // Apply Undo : call when user click on Cancel button protected: void AskApplyDBChange(); private slots: // Device database tab void DBApplyChange(); void DBAddDevice(); void DBRemoveBT(); void DBResetToDefaultBT(); void DBFillTableDevice(int); void DBImageSizeCombo(int); void DBFileFormatCombo(int); void DBSelectionChanged(); void DBChImageSizeCB(int); void DBVideoBitRateCB(int); void DBAudioBitRateCB(int); void DBChModel(QString); void DBDeviceSubtypeCB(int); void DBChVideoBitRateCB(int); void DBChAudioBitRateCB(int); private: Ui::DlgManageDevices *ui; }; #endif // DLGMANAGEDEVICES_H ffDiaporama/src/ffDiaporama/DlgAppSettings/DlgManageDevices/DlgManageDevices.cpp0000777000175000001440000006604112275647223030070 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include #include "DlgManageDevices.h" #include "ui_DlgManageDevices.h" #define ICON_GEOMETRY_IMAGE ":/img/Geometry_ImageLock.png" #define ICON_FRAMING_FULL ":/img/AdjustWH.png" #define ICON_FRAMING_WIDTH ":/img/AdjustW.png" #define ICON_FRAMING_HEIGHT ":/img/AdjustH.png" #define ICON_GLOBALCONF ":/img/db.png" #define ICON_USERCONF ":/img/db_update.png" //==================================================================================================================== DlgManageDevices::DlgManageDevices(cDeviceModelList *DeviceModelList,cApplicationConfig *ApplicationConfig,QWidget *parent) :QCustomDialog(ApplicationConfig,parent),ui(new Ui::DlgManageDevices) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageDevices::DlgManageDevices"); this->DeviceModelList=DeviceModelList; ui->setupUi(this); CancelBt=ui->CancelBt; OkBt =ui->OkBt; HelpBt =ui->HelpBt; HelpFile="0102"; IsDeviceChanged =false; CurrentDevice =-1; CurrentDeviceIndex =-1; } //==================================================================================================================== // Initialise dialog void DlgManageDevices::DoInitDialog() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageDevices::DoInitDialog"); // Tab Manage database ui->DBDeviceTypeCB->addItem(QIcon(ICON_SMARTPHONE),DeviceModelList->TranslatedRenderType[1]); ui->DBDeviceTypeCB->addItem(QIcon(ICON_MULTIMEDIASYS),DeviceModelList->TranslatedRenderType[2]); ui->DBDeviceTypeCB->addItem(QIcon(ICON_FORTHEWEB),DeviceModelList->TranslatedRenderType[3]); //ui->DBDeviceTypeCB->addItem(QIcon(ICON_LOSSLESS),DeviceModelList->TranslatedRenderType[4]); // No entry for Lossless mode ! ui->DBDeviceTypeCB->setCurrentIndex(0); for (int i=0;iDBFileFormatCB->addItem(FORMATDEF[i].LongName,QVariant(i)); ui->DBFileFormatCB->setCurrentIndex(-1); DBFillTableDevice(0); DBImageSizeCombo(0); DBSelectionChanged(); // Define handler //connect(ui->GeometryCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(DBImageSizeCombo(int))); connect(ui->TableDevice,SIGNAL(itemSelectionChanged()),this,SLOT(DBSelectionChanged())); connect(ui->DBDeviceTypeCB,SIGNAL(currentIndexChanged(int)),this,SLOT(DBFillTableDevice(int))); connect(ui->DBStandardCB,SIGNAL(currentIndexChanged(int)),this,SLOT(DBImageSizeCombo(int))); connect(ui->DBFileFormatCB,SIGNAL(currentIndexChanged(int)),this,SLOT(DBFileFormatCombo(int))); connect(ui->DBImageSizeCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(DBChImageSizeCB(int))); connect(ui->DBDeviceModelED,SIGNAL(textChanged(QString)),this,SLOT(DBChModel(QString))); connect(ui->DBVideoFormatCB,SIGNAL(currentIndexChanged(int)),this,SLOT(DBVideoBitRateCB(int))); connect(ui->DBAudioFormatCB,SIGNAL(currentIndexChanged(int)),this,SLOT(DBAudioBitRateCB(int))); connect(ui->DBDeviceSubtypeCB,SIGNAL(currentIndexChanged(int)),this,SLOT(DBDeviceSubtypeCB(int))); connect(ui->DBVideoBitRateCB,SIGNAL(currentIndexChanged(int)),this,SLOT(DBChVideoBitRateCB(int))); connect(ui->DBAudioBitRateCB,SIGNAL(currentIndexChanged(int)),this,SLOT(DBChAudioBitRateCB(int))); connect(ui->DBApplyBT,SIGNAL(clicked()),this,SLOT(DBApplyChange())); connect(ui->DBAddDevice,SIGNAL(clicked()),this,SLOT(DBAddDevice())); connect(ui->DBRemoveBT,SIGNAL(clicked()),this,SLOT(DBRemoveBT())); connect(ui->DBResetBT,SIGNAL(clicked()),this,SLOT(DBResetToDefaultBT())); } //==================================================================================================================== DlgManageDevices::~DlgManageDevices() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageDevices::~DlgManageDevices"); delete ui; } //==================================================================================================================== // Call when user click on Ok button bool DlgManageDevices::DoAccept() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageDevices::DoAccept"); AskApplyDBChange(); return true; } //==================================================================================================================== void DlgManageDevices::AskApplyDBChange() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageDevices::AskApplyDBChange"); if ((IsDeviceChanged)&&(CustomMessageBox(this,QMessageBox::Question,QApplication::translate("DlgManageDevices","Apply modification"), QApplication::translate("DlgManageDevices","Do you whant to apply modification for this device?"), QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::Yes)) DBApplyChange(); IsDeviceChanged=false; } //==================================================================================================================== void DlgManageDevices::DBFillTableDevice(int ChangeIndex) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageDevices::DBFillTableDevice"); AskApplyDBChange(); ui->TableDevice->setUpdatesEnabled(false); ui->TableDevice->setSortingEnabled(false); while (ui->TableDevice->rowCount()>0) ui->TableDevice->removeRow(0); for (int i=0;iRenderDeviceModel.count();i++) if (DeviceModelList->RenderDeviceModel[i]->DeviceType==ChangeIndex+1) { int j=ui->TableDevice->rowCount(); ui->TableDevice->insertRow(j); ui->TableDevice->setItem(j,0,new QTableWidgetItem(DeviceModelList->RenderDeviceModel[i]->FromUserConf?QIcon(ICON_USERCONF):QIcon(ICON_GLOBALCONF), (DeviceModelList->RenderDeviceModel[i]->DeviceIndex<10?"#0":"#")+QString("%1").arg(DeviceModelList->RenderDeviceModel[i]->DeviceIndex))); ui->TableDevice->setItem(j,1,new QTableWidgetItem(DeviceModelList->TranslatedRenderSubtype[DeviceModelList->RenderDeviceModel[i]->DeviceType][DeviceModelList->RenderDeviceModel[i]->DeviceSubtype])); ui->TableDevice->setItem(j,2,new QTableWidgetItem(DeviceModelList->RenderDeviceModel[i]->DeviceName)); } ui->TableDevice->resizeColumnToContents(0); ui->TableDevice->resizeColumnToContents(1); ui->TableDevice->resizeRowsToContents(); ui->TableDevice->setSortingEnabled(true); ui->TableDevice->setUpdatesEnabled(true); QStringList List; for (int i=0;iTranslatedRenderSubtype[ChangeIndex+1].count();i++) List.append(DeviceModelList->TranslatedRenderSubtype[ChangeIndex+1][i]+"#"+QString("%1").arg(i)); List.sort(); ui->DBDeviceSubtypeCB->clear(); for (int i=0;iDBDeviceSubtypeCB->addItem(Item,QVariant(ItemData)); } ui->DBDeviceSubtypeCB->setCurrentIndex(-1); ui->DBDeviceModelED->setText(""); ui->DBStandardCB->setCurrentIndex(-1); ui->DBFileFormatCB->setCurrentIndex(-1); ui->DBImageSizeCombo->setCurrentIndex(-1); ui->DBVideoFormatCB->setCurrentIndex(-1); ui->DBAudioFormatCB->setCurrentIndex(-1); IsDeviceChanged=false; ui->DBApplyBT->setEnabled(IsDeviceChanged); } //==================================================================================================================== void DlgManageDevices::DBSelectionChanged() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageDevices::DBSelectionChanged"); AskApplyDBChange(); CurrentDevice=ui->TableDevice->currentRow(); if (CurrentDevice<0) { ui->DBRemoveBT->setEnabled(false); ui->DBResetBT->setEnabled(false); ui->DBDeviceSubtypeCB->setEnabled(false); ui->DBDeviceModelED->setEnabled(false); ui->DBStandardCB->setEnabled(false); ui->DBFileFormatCB->setEnabled(false); ui->DBImageSizeCombo->setEnabled(false); ui->DBVideoFormatCB->setEnabled(false); ui->DBAudioFormatCB->setEnabled(false); } else { ui->DBDeviceSubtypeCB->setEnabled(true); ui->DBDeviceModelED->setEnabled(true); ui->DBStandardCB->setEnabled(true); ui->DBFileFormatCB->setEnabled(true); ui->DBImageSizeCombo->setEnabled(true); ui->DBVideoFormatCB->setEnabled(true); ui->DBAudioFormatCB->setEnabled(true); QString DeviceNumber=ui->TableDevice->item(CurrentDevice,0)->text(); if (DeviceNumber.startsWith("#")) DeviceNumber=DeviceNumber.mid(1); CurrentDeviceIndex=DeviceNumber.toInt(); CurrentDevice=0; while (DeviceModelList->RenderDeviceModel[CurrentDevice]->DeviceIndex!=CurrentDeviceIndex) CurrentDevice++; cDeviceModelDef *Device=DeviceModelList->RenderDeviceModel[CurrentDevice]; ui->DBRemoveBT->setEnabled(!Device->FromGlobalConf && Device->FromUserConf); ui->DBResetBT->setEnabled(Device->FromGlobalConf && Device->FromUserConf); ui->DBDeviceSubtypeCB->setCurrentIndex(ui->DBDeviceSubtypeCB->findText(DeviceModelList->TranslatedRenderSubtype[Device->DeviceType][Device->DeviceSubtype])); ui->DBDeviceModelED->setText(Device->DeviceName); ui->DBStandardCB->setCurrentIndex(Device->Standard); ui->DBFileFormatCB->setCurrentIndex(ui->DBFileFormatCB->findText(FORMATDEF[Device->FileFormat].LongName)); ui->DBImageSizeCombo->setCurrentIndex(ui->DBImageSizeCombo->findText(IMAGEDEFGENNAME[Device->Standard][Device->ImageSize])); ui->DBVideoFormatCB->setCurrentIndex(ui->DBVideoFormatCB->findText(VIDEOCODECDEF[Device->VideoCodec].LongName)); ui->DBAudioFormatCB->setCurrentIndex(ui->DBAudioFormatCB->findText(AUDIOCODECDEF[Device->AudioCodec].LongName)); QString VideoBitRateStr=QString("%1").arg(Device->VideoBitrate); if (VideoBitRateStr.endsWith("000")) VideoBitRateStr=VideoBitRateStr.left(VideoBitRateStr.length()-3)+"k"; QString AudioBitRateStr=QString("%1").arg(Device->AudioBitrate); if (AudioBitRateStr.endsWith("000")) AudioBitRateStr=AudioBitRateStr.left(AudioBitRateStr.length()-3)+"k"; else AudioBitRateStr=QString("%1.%2k").arg(Device->AudioBitrate/1000).arg((Device->AudioBitrate%1000)/10); ui->DBVideoBitRateCB->setCurrentIndex(ui->DBVideoBitRateCB->findText(VideoBitRateStr)); ui->DBAudioBitRateCB->setCurrentIndex(ui->DBAudioBitRateCB->findText(AudioBitRateStr)); } IsDeviceChanged=false; ui->DBApplyBT->setEnabled(IsDeviceChanged); } //==================================================================================================================== void DlgManageDevices::DBImageSizeCombo(int) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageDevices::DBImageSizeCombo"); int SaveIndex=ui->DBImageSizeCombo->currentIndex(); ui->DBImageSizeCombo->clear(); int Standard=ui->DBStandardCB->currentIndex(); if (Standard==-1) return; QStringList List; for (int i=0;iStrB.toInt()) List.swap(j,j+1); } // Fill combo for (int i=0;iDBImageSizeCombo->addItem(Codec,QVariant(Index)); } ui->DBImageSizeCombo->setCurrentIndex(SaveIndex); IsDeviceChanged=true; ui->DBApplyBT->setEnabled(IsDeviceChanged); } //==================================================================================================================== void DlgManageDevices::DBFileFormatCombo(int /*ChangeIndex*/) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageDevices::DBFileFormatCombo"); ui->DBVideoFormatCB->clear(); ui->DBAudioFormatCB->clear(); int CurrentFormat=ui->DBFileFormatCB->currentIndex(); if (CurrentFormat==-1) return; CurrentFormat=ui->DBFileFormatCB->itemData(CurrentFormat).toInt(); //********* Video codec part QString AllowedCodec=FORMATDEF[CurrentFormat].PossibleVideoCodec; QString Codec=""; QStringList List; int Index=0; while (AllowedCodec.length()>0) { Index=AllowedCodec.indexOf("#"); if (Index>0) { Codec=AllowedCodec.left(Index); AllowedCodec=AllowedCodec.right(AllowedCodec.length()-Index-1); } else { Codec=AllowedCodec; AllowedCodec=""; } // Now find index of this codec in the VIDEOCODECDEF Index=0; while ((IndexList[j+1]) List.swap(j,j+1); // Fill combo for (int i=0;iDBVideoFormatCB->addItem(Codec,QVariant(Index)); } ui->DBVideoFormatCB->setEnabled(ui->DBVideoFormatCB->count()>0); //********* Audio codec part AllowedCodec=FORMATDEF[CurrentFormat].PossibleAudioCodec; Codec=""; Index=0; List.clear(); while (AllowedCodec.length()>0) { Index=AllowedCodec.indexOf("#"); if (Index>0) { Codec=AllowedCodec.left(Index); AllowedCodec=AllowedCodec.right(AllowedCodec.length()-Index-1); } else { Codec=AllowedCodec; AllowedCodec=""; } // Now find index of this codec in the AUDIOCODECDEF Index=0; while ((IndexList[j+1]) List.swap(j,j+1); // Fill combo for (int i=0;iDBAudioFormatCB->addItem(Codec,QVariant(Index)); } ui->DBAudioFormatCB->setEnabled(ui->DBAudioFormatCB->count()>0); IsDeviceChanged=true; ui->DBApplyBT->setEnabled(IsDeviceChanged); } //==================================================================================================================== void DlgManageDevices::DBChImageSizeCB(int) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageDevices::DBChImageSizeCB"); IsDeviceChanged=true; ui->DBApplyBT->setEnabled(IsDeviceChanged); } //==================================================================================================================== void DlgManageDevices::DBChModel(QString) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageDevices::DBChModel"); IsDeviceChanged=true; ui->DBApplyBT->setEnabled(IsDeviceChanged); } //==================================================================================================================== void DlgManageDevices::DBDeviceSubtypeCB(int) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageDevices::DBDeviceSubtypeCB"); IsDeviceChanged=true; ui->DBApplyBT->setEnabled(IsDeviceChanged); } //==================================================================================================================== void DlgManageDevices::DBChVideoBitRateCB(int) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageDevices::DBChVideoBitRateCB"); IsDeviceChanged=true; ui->DBApplyBT->setEnabled(IsDeviceChanged); } //==================================================================================================================== void DlgManageDevices::DBChAudioBitRateCB(int) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageDevices::DBChAudioBitRateCB"); IsDeviceChanged=true; ui->DBApplyBT->setEnabled(IsDeviceChanged); } //==================================================================================================================== void DlgManageDevices::DBVideoBitRateCB(int) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageDevices::DBVideoBitRateCB"); ui->DBVideoBitRateCB->clear(); int CurrentCodec=ui->DBVideoFormatCB->currentIndex(); if (CurrentCodec>=0) { CurrentCodec=ui->DBVideoFormatCB->itemData(CurrentCodec).toInt(); QString AllowedBitRate; QString BitRate=""; QStringList List; int Index=0; AllowedBitRate=VIDEOCODECDEF[CurrentCodec].PossibleBitrate; BitRate=""; Index=0; // Fill list while (AllowedBitRate.length()>0) { Index=AllowedBitRate.indexOf("#"); if (Index>0) { BitRate=AllowedBitRate.left(Index); AllowedBitRate=AllowedBitRate.right(AllowedBitRate.length()-Index-1); } else { BitRate=AllowedBitRate; AllowedBitRate=""; } List.append(BitRate); } // Sort list for (int i=0;iNumB) List.swap(j,j+1); } // Fill Combo box ui->DBVideoBitRateCB->addItems(List); ui->DBVideoBitRateCB->setEnabled(ui->DBVideoBitRateCB->count()>1); } else ui->DBVideoBitRateCB->setEnabled(false); IsDeviceChanged=true; ui->DBApplyBT->setEnabled(IsDeviceChanged); } //==================================================================================================================== void DlgManageDevices::DBAudioBitRateCB(int) { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageDevices::DBAudioBitRateCB"); ui->DBAudioBitRateCB->clear(); int CurrentCodec=ui->DBAudioFormatCB->currentIndex(); if (CurrentCodec>=0) { CurrentCodec=ui->DBAudioFormatCB->itemData(CurrentCodec).toInt(); QString AllowedBitRate;; QString BitRate=""; QStringList List; int Index=0; AllowedBitRate=AUDIOCODECDEF[CurrentCodec].PossibleBitrate2CH; BitRate=""; Index=0; // Fill list while (AllowedBitRate.length()>0) { Index=AllowedBitRate.indexOf("#"); if (Index>0) { BitRate=AllowedBitRate.left(Index); AllowedBitRate=AllowedBitRate.right(AllowedBitRate.length()-Index-1); } else { BitRate=AllowedBitRate; AllowedBitRate=""; } List.append(BitRate); } // Sort list for (int i=0;iNumB) List.swap(j,j+1); } // Fill Combo box ui->DBAudioBitRateCB->addItems(List); ui->DBAudioBitRateCB->setEnabled(ui->DBAudioBitRateCB->count()>1); } else ui->DBAudioBitRateCB->setEnabled(false); IsDeviceChanged=true; ui->DBApplyBT->setEnabled(IsDeviceChanged); } //==================================================================================================================== void DlgManageDevices::DBResetToDefaultBT() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageDevices::DBResetToDefaultBT"); if (CurrentDevice>=0) { cDeviceModelDef *Device=DeviceModelList->RenderDeviceModel[CurrentDevice]; Device->DeviceName =Device->BckDeviceName; // long name for the device model Device->DeviceType =Device->BckDeviceType; // device type Device->DeviceSubtype=Device->BckDeviceSubtype; // device Subtype Device->Standard =Device->BckStandard; // standard : PAL/NTSC Device->FileFormat =Device->BckFileFormat; // sFormatDef number Device->ImageSize =Device->BckImageSize; // DefImageFormat number Device->VideoCodec =Device->BckVideoCodec; // sVideoCodecDef number Device->VideoBitrate =Device->BckVideoBitrate; // Bitrate number in sVideoCodecDef Device->AudioCodec =Device->BckAudioCodec; // sAudioCodecDef number Device->AudioBitrate =Device->BckAudioBitrate; // Bitrate number in sAudioCodecDef Device->FromUserConf =false; IsDeviceChanged =false; ui->DBApplyBT->setEnabled(IsDeviceChanged); int SaveCurrentDevice=CurrentDeviceIndex; DBFillTableDevice(ui->DBDeviceTypeCB->currentIndex()); for (int i=0;iTableDevice->rowCount();i++) { QString DeviceNumber=ui->TableDevice->item(i,0)->text(); if (DeviceNumber.startsWith("#")) DeviceNumber=DeviceNumber.mid(1); if (SaveCurrentDevice==DeviceNumber.toInt()) { ui->TableDevice->setCurrentCell(i,0); break; } } } IsDeviceChanged=false; ui->DBApplyBT->setEnabled(IsDeviceChanged); } void DlgManageDevices::DBApplyChange() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageDevices::DBApplyChange"); if (CurrentDevice>=0) { cDeviceModelDef *Device=DeviceModelList->RenderDeviceModel[CurrentDevice]; Device->DeviceSubtype=ui->DBDeviceSubtypeCB->itemData(ui->DBDeviceSubtypeCB->currentIndex()).toInt(); Device->DeviceName =ui->DBDeviceModelED->text(); Device->Standard =ui->DBStandardCB->currentIndex(); Device->FileFormat =ui->DBFileFormatCB->itemData(ui->DBFileFormatCB->currentIndex()).toInt(); Device->ImageSize =ui->DBImageSizeCombo->itemData(ui->DBImageSizeCombo->currentIndex()).toInt(); Device->VideoCodec =ui->DBVideoFormatCB->itemData(ui->DBVideoFormatCB->currentIndex()).toInt(); Device->AudioCodec =ui->DBAudioFormatCB->itemData(ui->DBAudioFormatCB->currentIndex()).toInt(); QString VideoBitRateStr=ui->DBVideoBitRateCB->currentText(); if (VideoBitRateStr.endsWith("k")) VideoBitRateStr=VideoBitRateStr.left(VideoBitRateStr.length()-1)+"000"; QString AudioBitRateStr=ui->DBAudioBitRateCB->currentText(); if (AudioBitRateStr.endsWith("k")) AudioBitRateStr=AudioBitRateStr.left(AudioBitRateStr.length()-1)+"000"; Device->VideoBitrate =VideoBitRateStr.toInt(); Device->AudioBitrate =AudioBitRateStr.toInt(); Device->FromUserConf =true; IsDeviceChanged =false; ui->DBApplyBT->setEnabled(IsDeviceChanged); int SaveCurrentDevice=CurrentDeviceIndex; DBFillTableDevice(ui->DBDeviceTypeCB->currentIndex()); for (int i=0;iTableDevice->rowCount();i++) { QString DeviceNumber=ui->TableDevice->item(i,0)->text(); if (DeviceNumber.startsWith("#")) DeviceNumber=DeviceNumber.mid(1); if (SaveCurrentDevice==DeviceNumber.toInt()) { ui->TableDevice->setCurrentCell(i,0); break; } } } IsDeviceChanged=false; ui->DBApplyBT->setEnabled(IsDeviceChanged); } //==================================================================================================================== void DlgManageDevices::DBAddDevice() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageDevices::DBAddDevice"); int DeviceIndex=0; for (int i=0;iRenderDeviceModel.count();i++) if (DeviceModelList->RenderDeviceModel[i]->DeviceIndex>DeviceIndex) DeviceIndex=DeviceModelList->RenderDeviceModel[i]->DeviceIndex; DeviceIndex++; int index=DeviceModelList->RenderDeviceModel.count(); DeviceModelList->RenderDeviceModel.append(new cDeviceModelDef(false,index)); DeviceModelList->RenderDeviceModel[index]->DeviceIndex =DeviceIndex; DeviceModelList->RenderDeviceModel[index]->DeviceName =QApplication::translate("DlgManageDevices",""); DeviceModelList->RenderDeviceModel[index]->DeviceType =ui->DBDeviceTypeCB->currentIndex()+1; DBFillTableDevice(ui->DBDeviceTypeCB->currentIndex()); for (int i=0;iTableDevice->rowCount();i++) { QString DeviceNumber=ui->TableDevice->item(i,0)->text(); if (DeviceNumber.startsWith("#")) DeviceNumber=DeviceNumber.mid(1); if (DeviceIndex==DeviceNumber.toInt()) { ui->TableDevice->setCurrentCell(i,0); break; } } } //==================================================================================================================== void DlgManageDevices::DBRemoveBT() { ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageDevices::DBRemoveBT"); if ((CurrentDevice<0)||(CurrentDevice>=DeviceModelList->RenderDeviceModel.count())) return; if (DeviceModelList->RenderDeviceModel[CurrentDevice]->FromGlobalConf) return; int toDelete=CurrentDevice; for (int i=0;iTableDevice->rowCount();i++) { QString DeviceNumber=ui->TableDevice->item(i,0)->text(); if (DeviceNumber.startsWith("#")) DeviceNumber=DeviceNumber.mid(1); if (CurrentDeviceIndex==DeviceNumber.toInt()) { ui->TableDevice->removeRow(i); break; } } DeviceModelList->RenderDeviceModel.removeAt(toDelete); DBFillTableDevice(ui->DBDeviceTypeCB->currentIndex()); } ffDiaporama/src/ffDiaporama/DlgAbout/0000777000175000001440000000000012275647231017716 5ustar dominiqueusersffDiaporama/src/ffDiaporama/DlgAbout/DlgAbout.ui0000777000175000001440000007654412275647231022001 0ustar dominiqueusers DlgAbout 0 0 819 633 600 400 Sans Serif 9 About 4 8 8 8 8 0 0 128 128 128 128 :/img/logo_big.png true Qt::Vertical 20 40 10 0 Licence 4 4 4 4 4 Copyright (C) 2011-2014 Dominique Levray This software is licensed under the GPL version 2 : QPlainTextEdit::WidgetWidth GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. <one line to give the program's name and a brief idea of what it does.> Copyright (C) <year> <name of author> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. <signature of Ty Coon>, 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse Credits 0 0 0 0 0 QFrame::NoFrame Qt::ScrollBarAsNeeded true 0 0 652 547 4 4 4 4 4 QTextEdit::NoWrap true Texturemate 4 4 4 4 4 QTextEdit::NoWrap true Openclipart 4 4 4 4 4 QTextEdit::NoWrap true Translation 4 4 4 4 4 QTextEdit::NoWrap true true Note: If you want to help us or by completing an incomplete translation, or by translating the application into another language, do not hesitate to contact us on the forum. true Changelog 4 4 4 4 4 QTextEdit::NoWrap true Serif 11 PreferAntialias color: black; TextLabel Qt::AlignCenter 8 PreferAntialias color: black; TextLabel Qt::AlignCenter Qt::Horizontal 0 0 0 0 0 Qt::Horizontal 40 20 &Ok :/img/action_ok.png:/img/action_ok.png ffDiaporama/src/ffDiaporama/DlgAbout/DlgAbout.h0000777000175000001440000000361212275647231021575 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef DLGABOUT_H #define DLGABOUT_H // Basic inclusions (common to all files) #include "CustomCtrl/_QCustomDialog.h" namespace Ui { class DlgAbout; } class DlgAbout : public QCustomDialog { Q_OBJECT public: explicit DlgAbout(cApplicationConfig *ApplicationConfig,QWidget *parent=0); ~DlgAbout(); // function to be overloaded virtual void DoInitDialog(); // Initialise dialog virtual bool DoAccept() {return true;} // Call when user click on Ok button virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button virtual void PrepareGlobalUndo() {/*Nothing to do*/} // Initiale Undo virtual void DoGlobalUndo() {/*Nothing to do*/} // Apply Undo : call when user click on Cancel button private: Ui::DlgAbout *ui; }; #endif // DLGABOUT_H ffDiaporama/src/ffDiaporama/DlgAbout/DlgAbout.cpp0000777000175000001440000001304412275647231022130 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "DlgAbout.h" #include "ui_DlgAbout.h" //==================================================================================================================== DlgAbout::DlgAbout(cApplicationConfig *ApplicationConfig,QWidget *parent): QCustomDialog(ApplicationConfig,parent),ui(new Ui::DlgAbout) { ui->setupUi(this); OkBt =ui->OKBT; //CancelBt=; //HelpBt =ui->HelpBT; } //==================================================================================================================== DlgAbout::~DlgAbout() { delete ui; } //==================================================================================================================== // Initialise dialog void DlgAbout::DoInitDialog() { QString FName,Text; QFile File; if (ApplicationConfig->CurrentLanguage!="fr") FName=ApplicationConfig->StartingPath+QDir::separator()+QString("changelog-en.txt"); else FName=ApplicationConfig->StartingPath+QDir::separator()+QString("changelog-fr.txt"); File.setFileName(FName); if (File.open(QIODevice::ReadOnly|QIODevice::Text)) { QTextStream InStream(&File); InStream.setCodec("UTF-8"); Text=InStream.readAll(); ui->ChangelogED->setText(Text); File.close(); } else { ui->tabWidget->removeTab(5); } Text.clear(); if (ApplicationConfig->CurrentLanguage!="en") { FName=ApplicationConfig->UserConfigPath+QString("%1_LOCALEVERSION.TXT").arg(ApplicationConfig->CurrentLanguage); File.setFileName(FName); if (!File.exists()) { FName=ApplicationConfig->UserConfigPath+QString("LOCALEVERSION.TXT"); File.setFileName(FName); } if (File.open(QIODevice::ReadOnly|QIODevice::Text)) { while (!File.atEnd()) { QString Line=File.readLine(); if (Line.indexOf("=")<0) Line=QApplication::translate("DlgAbout","Interface translation version: ")+Line+"\n\ten\t100%\n"; else { if (Line.indexOf("to translate")) Line.replace("to translate",QApplication::translate("DlgAbout","to translate")); Line="\t"+Line; Line.replace(" = ","\t"); } Text.append(Line); } File.close(); } } if (ApplicationConfig->CurrentLanguage!="en") { FName=ApplicationConfig->UserConfigPath+QString("%1_WIKIVERSION.TXT").arg(ApplicationConfig->CurrentLanguage); File.setFileName(FName); if (!File.exists()) { FName=ApplicationConfig->UserConfigPath+QString("WIKIVERSION.TXT"); File.setFileName(FName); } if (File.open(QIODevice::ReadOnly|QIODevice::Text)) { while (!File.atEnd()) { QString Line=File.readLine(); if (Line.indexOf("=")<0) { if (!Text.isEmpty()) Text.append("\n"); Line=QApplication::translate("DlgAbout","WIKI translation version: ")+Line+"\n\ten\t100%\n"; } else { if (Line.indexOf("to translate")) Line.replace("to translate",QApplication::translate("DlgAbout","to translate")); Line="\t"+Line; Line.replace(" = ","\t"); } Text.append(Line); } File.close(); } } if (!Text.isEmpty()) ui->TranslationED->setText(Text); else ui->tabWidget->removeTab(4); FName=QString("clipart")+QDir::separator()+QString("openclipart-0.18-svgonly-readme.txt"); File.setFileName(FName); if (File.open(QIODevice::ReadOnly|QIODevice::Text)) { Text=File.readAll(); ui->OpenclipartED->setText(Text); File.close(); } else { ui->tabWidget->removeTab(3); } FName=QString("background")+QDir::separator()+QString("texturemate")+QDir::separator()+QString("readme.txt"); File.setFileName(FName); if (File.open(QIODevice::ReadOnly|QIODevice::Text)) { QString Text=File.readAll(); ui->TexturemateED->setText(Text); File.close(); } else { ui->tabWidget->removeTab(2); } QFile File2("authors.txt"); if (File2.open(QIODevice::ReadOnly|QIODevice::Text)) { QString Text=File2.readAll(); ui->CreditsED->setText(Text); File2.close(); } else { ui->tabWidget->removeTab(1); } ui->ApplicationReleaseLabel->setText(QString("%1 (%2)").arg(CurrentAppName).arg(CurrentAppVersion)); ui->ApplicationNameLabel->setText(APPLICATION_NAME); ui->tabWidget->setCurrentIndex(0); } ffDiaporama/src/ffDiaporama/CustomCtrl/0000777000175000001440000000000012275647230020313 5ustar dominiqueusersffDiaporama/src/ffDiaporama/CustomCtrl/cThumbnailComboBox.h0000777000175000001440000000542012275647230024207 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef CTHUMBNAILCOMBOBOX_H #define CTHUMBNAILCOMBOBOX_H // Basic inclusions (common to all files) #include "_QCustomDialog.h" #include "engine/_Model.h" //****************************************************************************************************************** // Custom QAbstractItemDelegate for Brush ComboBox //****************************************************************************************************************** class cThumbnailComboBox; class cThumbnailComboBoxItem : public QStyledItemDelegate { Q_OBJECT public: cThumbnailComboBox *ComboBox; explicit cThumbnailComboBoxItem(QObject *parent=0); virtual void paint(QPainter *painter,const QStyleOptionViewItem &option,const QModelIndex &index) const; virtual QSize sizeHint(const QStyleOptionViewItem &option,const QModelIndex &index) const; }; class cThumbnailComboBox : public QComboBox { Q_OBJECT public: cModelList *ModelTable; int CurrentSel; bool STOPMAJ; cThumbnailComboBoxItem ItemDelegate; cDiaporamaObject *ProjectThumbnail; cDiaporama *Diaporama; // Diaporama object to be use by prepare image (null for option dialog and fill for project dialog) explicit cThumbnailComboBox(QWidget *parent = 0); void PrepareTable(bool AllowCustomized,cModelList *Table); void SetCurrentModel(QString ModelName); QString GetCurrentModel(); void MakeIcons(); protected: virtual void hidePopup(); virtual void keyReleaseEvent(QKeyEvent *event); signals: void itemSelectionHaveChanged(); public slots: void s_ItemSelectionChanged(); }; #endif // CTHUMBNAILCOMBOBOX_H ffDiaporama/src/ffDiaporama/CustomCtrl/cThumbnailComboBox.cpp0000777000175000001440000002001112275647227024541 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "cThumbnailComboBox.h" #define NBRCOLUMN 4 #define DECAL 10 cThumbnailComboBoxItem::cThumbnailComboBoxItem(QObject *parent):QStyledItemDelegate(parent) { } //======================================================================================================================== void cThumbnailComboBoxItem::paint(QPainter *painter,const QStyleOptionViewItem &option,const QModelIndex &index) const { int CurIndex=index.row()*NBRCOLUMN+index.column(); if ((CurIndex>=0)&&(CurIndexModelTable->List.count())) { if (option.state & QStyle::State_Selected) painter->fillRect(option.rect,Qt::blue); else painter->fillRect(option.rect,Qt::white); painter->drawImage(option.rect.left()+DECAL,option.rect.top()+DECAL, ComboBox->ModelTable->List[CurIndex]->PrepareImage(0,ComboBox->Diaporama,ComboBox->ModelTable->List[CurIndex]->Name=="*"?ComboBox->ProjectThumbnail:NULL)); if (CurIndex==ComboBox->CurrentSel) { painter->setPen(QPen(Qt::red)); painter->setBrush(QBrush(Qt::NoBrush)); painter->drawRect(option.rect.x()+3,option.rect.y()+3,option.rect.width()-6-1,option.rect.height()-6-1); } } else painter->fillRect(option.rect,Qt::white); } //======================================================================================================================== QSize cThumbnailComboBoxItem::sizeHint(const QStyleOptionViewItem &/*option*/,const QModelIndex &/*index*/) const { return QSize(THUMB_THUMBWITH+DECAL*2,THUMB_THUMBHEIGHT+DECAL*2); } //****************************************************************************************************************** // Custom Background ComboBox //****************************************************************************************************************** cThumbnailComboBox::cThumbnailComboBox(QWidget *parent):QComboBox(parent) { ModelTable=NULL; Diaporama =NULL; CurrentSel=-1; STOPMAJ =false; QTableWidget *Table=new QTableWidget(); Table->horizontalHeader()->hide(); Table->verticalHeader()->hide(); for (int i=0;iinsertColumn(0); setModel(Table->model()); setView(Table); ItemDelegate.ComboBox=this; setItemDelegate(&ItemDelegate); ((QTableWidget *)view())->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); ((QTableWidget *)view())->verticalHeader()->setDefaultSectionSize(THUMB_THUMBHEIGHT+DECAL*2); ((QTableWidget *)view())->horizontalHeader()->setDefaultSectionSize(THUMB_THUMBWITH+DECAL*2); ((QTableWidget *)view())->setFixedWidth((THUMB_THUMBWITH+DECAL*2)*NBRCOLUMN+18); connect(Table,SIGNAL(itemSelectionChanged()),this,SLOT(s_ItemSelectionChanged())); setIconSize(QSize(THUMB_THUMBWITH,THUMB_THUMBHEIGHT)); } //======================================================================================================================== void cThumbnailComboBox::PrepareTable(bool AllowCustomized,cModelList *Table) { ModelTable=Table; int CurIndex =((QTableWidget *)view())->currentRow()*NBRCOLUMN+((QTableWidget *)view())->currentColumn(); while (count()>0) removeItem(count()-1); int NbrItem=ModelTable->List.count(); if ((!AllowCustomized)&&(ModelTable->List.count()>0)&&(ModelTable->List[ModelTable->List.count()-1]->Name=="*")) NbrItem--; int NbrRow=NbrItem/NBRCOLUMN; if (NbrRow*NBRCOLUMNList[i*NBRCOLUMN]->PrepareImage(0,Diaporama,ModelTable->List[i*NBRCOLUMN]->Name=="*"?ProjectThumbnail:NULL))),""); ((QTableWidget *)view())->setCurrentCell(CurIndex/NBRCOLUMN,CurIndex-(CurIndex/NBRCOLUMN)*NBRCOLUMN); setCurrentIndex(CurIndex/NBRCOLUMN); } //======================================================================================================================== void cThumbnailComboBox::hidePopup() { QComboBox::hidePopup(); emit itemSelectionHaveChanged(); MakeIcons(); CurrentSel=((QTableWidget *)view())->currentRow()*NBRCOLUMN+((QTableWidget *)view())->currentColumn(); if (CurrentSel>=ModelTable->List.count()) CurrentSel=ModelTable->List.count()-1; } //======================================================================================================================== void cThumbnailComboBox::keyReleaseEvent(QKeyEvent *event) { int CurIndex=((QTableWidget *)view())->currentRow()*NBRCOLUMN+((QTableWidget *)view())->currentColumn(); int aCurIndex=CurIndex; if ((event->key()==Qt::Key_Right)||(event->key()==Qt::Key_Down)) { if (CurIndexList.count()-1) CurIndex++; } else if ((event->key()==Qt::Key_Left)||(event->key()==Qt::Key_Up)) { if (CurIndex>0) CurIndex--; } else QComboBox::keyReleaseEvent(event); if (aCurIndex!=CurIndex) { STOPMAJ=true; ((QTableWidget *)view())->setCurrentCell(CurIndex/NBRCOLUMN,CurIndex-(CurIndex/NBRCOLUMN)*NBRCOLUMN); setCurrentIndex(CurIndex/NBRCOLUMN); MakeIcons(); STOPMAJ=false; emit itemSelectionHaveChanged(); } } //======================================================================================================================== void cThumbnailComboBox::MakeIcons() { if (!ModelTable) return; int CurrentRow=currentIndex(); if (CurrentRow<0) return; int CurrentCol=((QTableWidget *)view())->currentColumn(); if (CurrentCol<0) CurrentCol=0; int CurIndex=CurrentRow*NBRCOLUMN+CurrentCol; if (CurIndexList.count()) setItemIcon(CurrentRow,QIcon(QPixmap().fromImage(ModelTable->List[CurIndex]->PrepareImage(0,Diaporama,ModelTable->List[CurIndex]->Name=="*"?ProjectThumbnail:NULL)))); } //======================================================================================================================== void cThumbnailComboBox::s_ItemSelectionChanged() { STOPMAJ=true; setCurrentIndex(((QTableWidget *)view())->currentRow()); MakeIcons(); emit currentIndexChanged(((QTableWidget *)view())->currentRow()*NBRCOLUMN+((QTableWidget *)view())->currentColumn()); STOPMAJ=false; } //======================================================================================================================== void cThumbnailComboBox::SetCurrentModel(QString ModelName) { if (STOPMAJ) return; CurrentSel=ModelTable->SearchModel(ModelName); ((QTableWidget *)view())->setCurrentCell(CurrentSel/NBRCOLUMN,CurrentSel-(CurrentSel/NBRCOLUMN)*NBRCOLUMN); setCurrentIndex(CurrentSel/NBRCOLUMN); MakeIcons(); } //======================================================================================================================== QString cThumbnailComboBox::GetCurrentModel() { CurrentSel=((QTableWidget *)view())->currentRow()*NBRCOLUMN+((QTableWidget *)view())->currentColumn(); if (CurrentSel>=ModelTable->List.count()) CurrentSel=ModelTable->List.count()-1; if ((CurrentSel>=0)&&(CurrentSelList.count())) return ModelTable->List[CurrentSel]->Name; return ""; } ffDiaporama/src/ffDiaporama/CustomCtrl/cCShapeComboBox.h0000777000175000001440000000550012275647227023434 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef CCSHAPECOMBOBOX_H #define CCSHAPECOMBOBOX_H // Basic inclusions (common to all files) #include "_QCustomDialog.h" #include "Shape.h" //****************************************************************************************************************** // Custom Frame shape ComboBox //****************************************************************************************************************** #define FILTERFRAMESHAPE_OLDTRIANGLE 0x01 class cCShapeComboBox; class cCShapeComboBoxItem : public QStyledItemDelegate { Q_OBJECT public: cCShapeComboBox *ComboBox; explicit cCShapeComboBoxItem(QObject *parent=0); virtual void paint(QPainter *painter,const QStyleOptionViewItem &option,const QModelIndex &index) const; virtual QSize sizeHint(const QStyleOptionViewItem &option,const QModelIndex &index) const; }; class cFrameShapeTableItem { public: QImage Image; int FrameStyle; cFrameShapeTableItem(QImage *Image,int FrameStyle); }; class cCShapeComboBox : public QComboBox { Q_OBJECT public: QList FrameShapeTable; bool STOPMAJ; cCShapeComboBoxItem ItemDelegate; int CurrentFilter,CurrentFramingStyle,CurrentNbrITem; explicit cCShapeComboBox(QWidget *parent = 0); void PrepareFrameShapeTable(bool ResetContent,int Filter,int CurrentBackgroundForm); void MakeIcons(); void SetCurrentFrameShape(int FrameShape); int GetCurrentFrameShape(); protected: virtual void hidePopup(); virtual void keyReleaseEvent(QKeyEvent *event); signals: void itemSelectionHaveChanged(); public slots: void s_ItemSelectionChanged(); }; #endif // CCSHAPECOMBOBOX_H ffDiaporama/src/ffDiaporama/CustomCtrl/cCShapeComboBox.cpp0000777000175000001440000003076412275647226024000 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "cCShapeComboBox.h" #include #include #include "engine/_Diaporama.h" //****************************************************************************************************************** // Custom QAbstractItemDelegate for AutoFraming ComboBox //****************************************************************************************************************** #define AutoFrameShapeComboBoxIMAGEWIDTH 48 #define AutoFrameShapeComboBoxNBRCOLUMN 8 cCShapeComboBoxItem::cCShapeComboBoxItem(QObject *parent):QStyledItemDelegate(parent) { } //======================================================================================================================== void cCShapeComboBoxItem::paint(QPainter *painter,const QStyleOptionViewItem &option,const QModelIndex &index) const { int CurIndex=index.row()*AutoFrameShapeComboBoxNBRCOLUMN+index.column(); int CurrentFramingStyle=0; while ((CurrentFramingStyleFrameShapeTable.count())&&(ComboBox->CurrentFramingStyle!=ComboBox->FrameShapeTable.at(CurrentFramingStyle).FrameStyle)) CurrentFramingStyle++; if ((CurIndex>=0)&&(CurIndexFrameShapeTable.count())) { painter->drawPixmap(option.rect.left(),option.rect.top(),QPixmap().fromImage(((cFrameShapeTableItem)ComboBox->FrameShapeTable.at(CurIndex)).Image)); } else { painter->fillRect(option.rect,Qt::white); } if (index.row()*((QTableWidget *)ComboBox->view())->columnCount()+index.column()==CurrentFramingStyle) { painter->setPen(QPen(Qt::red)); painter->setBrush(QBrush(Qt::NoBrush)); painter->drawRect(option.rect.x()+3,option.rect.y()+3,option.rect.width()-6-1,option.rect.height()-6-1); } if (option.state & QStyle::State_Selected) { painter->setPen(QPen(Qt::blue)); painter->setBrush(QBrush(Qt::NoBrush)); painter->drawRect(option.rect.x(),option.rect.y(),option.rect.width()-1,option.rect.height()-1); painter->drawRect(option.rect.x()+1,option.rect.y()+1,option.rect.width()-1-2,option.rect.height()-1-2); painter->setPen(QPen(Qt::black)); painter->drawRect(option.rect.x()+2,option.rect.y()+2,option.rect.width()-1-4,option.rect.height()-1-4); } } //======================================================================================================================== QSize cCShapeComboBoxItem::sizeHint(const QStyleOptionViewItem &/*option*/,const QModelIndex &/*index*/) const { return QSize(AutoFrameShapeComboBoxIMAGEWIDTH,AutoFrameShapeComboBoxIMAGEWIDTH); } //======================================================================================================================== cFrameShapeTableItem::cFrameShapeTableItem(QImage *Image,int FrameStyle) { this->Image =*Image; this->FrameStyle=FrameStyle; } //****************************************************************************************************************** // Custom Brush ComboBox //****************************************************************************************************************** cCShapeComboBox::cCShapeComboBox(QWidget *parent):QComboBox(parent) { CurrentFilter =-1; CurrentFramingStyle =-1; CurrentNbrITem =-1; STOPMAJ =false; QTableWidget *Table=new QTableWidget(); Table->horizontalHeader()->hide(); Table->verticalHeader()->hide(); for (int i=0;iinsertColumn(0); Table->setColumnWidth(0,AutoFrameShapeComboBoxIMAGEWIDTH); } setModel(Table->model()); setView(Table); ItemDelegate.ComboBox=this; setItemDelegate(&ItemDelegate); this->view()->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); this->view()->setFixedWidth(AutoFrameShapeComboBoxIMAGEWIDTH*AutoFrameShapeComboBoxNBRCOLUMN+18); connect(Table,SIGNAL(itemSelectionChanged()),this,SLOT(s_ItemSelectionChanged())); } //======================================================================================================================== void cCShapeComboBox::hidePopup() { QComboBox::hidePopup(); emit itemSelectionHaveChanged(); MakeIcons(); CurrentFramingStyle=GetCurrentFrameShape(); } //======================================================================================================================== void cCShapeComboBox::keyReleaseEvent(QKeyEvent *event) { int CurIndex=((QTableWidget *)view())->currentRow()*AutoFrameShapeComboBoxNBRCOLUMN+((QTableWidget *)view())->currentColumn(); int aCurIndex=CurIndex; if ((event->key()==Qt::Key_Right)||(event->key()==Qt::Key_Down)) { if (CurIndexkey()==Qt::Key_Left)||(event->key()==Qt::Key_Up)) { if (CurIndex>0) CurIndex--; } else QComboBox::keyReleaseEvent(event); if (aCurIndex!=CurIndex) { STOPMAJ=true; ((QTableWidget *)view())->setCurrentCell(CurIndex/AutoFrameShapeComboBoxNBRCOLUMN,CurIndex-(CurIndex/AutoFrameShapeComboBoxNBRCOLUMN)*AutoFrameShapeComboBoxNBRCOLUMN); setCurrentIndex(CurIndex/AutoFrameShapeComboBoxNBRCOLUMN); MakeIcons(); STOPMAJ=false; emit itemSelectionHaveChanged(); } } //======================================================================================================================== void cCShapeComboBox::PrepareFrameShapeTable(bool ResetContent,int Filter,int CurrentBackgroundForm) { if ((CurrentBackgroundForm>=SHAPEFORM_TRIANGLEUP)&&(CurrentBackgroundForm<=SHAPEFORM_TRIANGLELEFT)) Filter=Filter|FILTERFRAMESHAPE_OLDTRIANGLE; FrameShapeTable.clear(); for (int i=0;i=SHAPEFORM_TRIANGLEUP)&&(i<=SHAPEFORM_TRIANGLELEFT)) ToAdd=((Filter & FILTERFRAMESHAPE_OLDTRIANGLE)>0); if (ToAdd) { cCompositionObject Object(COMPOSITIONTYPE_BACKGROUND,0,/*ApplicationConfig*/NULL,this); Object.x =0.1; Object.y =0.1; Object.w =0.8; Object.h =0.8; Object.BackgroundForm =i; Object.Opacity =4; Object.PenSize =1; Object.PenStyle =Qt::SolidLine; Object.PenColor ="#000000"; Object.BackgroundBrush->ColorD ="#FFFFFF"; Object.BackgroundBrush->BrushType=BRUSHTYPE_SOLID; QImage Image(QSize(AutoFrameShapeComboBoxIMAGEWIDTH,AutoFrameShapeComboBoxIMAGEWIDTH),QImage::Format_ARGB32); QPainter Painter; Painter.begin(&Image); Painter.fillRect(QRect(0,0,AutoFrameShapeComboBoxIMAGEWIDTH,AutoFrameShapeComboBoxIMAGEWIDTH),"#ffffff"); Object.DrawCompositionObject(NULL,&Painter,1,AutoFrameShapeComboBoxIMAGEWIDTH,AutoFrameShapeComboBoxIMAGEWIDTH,true,0,NULL,1,1,NULL,false,0,false); Painter.end(); FrameShapeTable.append(cFrameShapeTableItem(&Image,i)); } } if (ResetContent || (CurrentFilter!=Filter) || (CurrentNbrITem!=FrameShapeTable.count())) { CurrentFilter =Filter; CurrentNbrITem=FrameShapeTable.count(); int CurIndex =((QTableWidget *)view())->currentRow()*AutoFrameShapeComboBoxNBRCOLUMN+((QTableWidget *)view())->currentColumn(); while (count()>0) removeItem(count()-1); int NbrItem=FrameShapeTable.count(); int NbrRow=NbrItem/AutoFrameShapeComboBoxNBRCOLUMN; if (NbrRow*AutoFrameShapeComboBoxNBRCOLUMNiconSize().width(),this->iconSize().height()))),ShapeFormDefinition.at(FrameShapeTable.at(i).FrameStyle).Name); ((QTableWidget *)view())->setRowHeight(((QTableWidget *)view())->rowCount()-1,AutoFrameShapeComboBoxIMAGEWIDTH); } ((QTableWidget *)view())->setCurrentCell(CurIndex/AutoFrameShapeComboBoxNBRCOLUMN,CurIndex-(CurIndex/AutoFrameShapeComboBoxNBRCOLUMN)*AutoFrameShapeComboBoxNBRCOLUMN); setCurrentIndex(CurIndex/AutoFrameShapeComboBoxNBRCOLUMN); } } //======================================================================================================================== void cCShapeComboBox::SetCurrentFrameShape(int FrameShape) { if (STOPMAJ) return; CurrentFramingStyle=FrameShape; int Index=0; while ((IndexsetCurrentCell(Index/AutoFrameShapeComboBoxNBRCOLUMN,Index-(Index/AutoFrameShapeComboBoxNBRCOLUMN)*AutoFrameShapeComboBoxNBRCOLUMN); setCurrentIndex(Index/AutoFrameShapeComboBoxNBRCOLUMN); MakeIcons(); STOPMAJ=false; } } //======================================================================================================================== int cCShapeComboBox::GetCurrentFrameShape() { int CurIndex=((QTableWidget *)view())->currentRow()*AutoFrameShapeComboBoxNBRCOLUMN+((QTableWidget *)view())->currentColumn(); if ((CurIndex>=0)&&(CurIndexcurrentRow()*AutoFrameShapeComboBoxNBRCOLUMN+((QTableWidget *)view())->currentColumn(); if ((CurIndex>=0)&&(CurIndexColorD ="#FFFFFF"; Object.BackgroundBrush->BrushType=BRUSHTYPE_SOLID; QPixmap Image(this->iconSize()); QPainter Painter; Painter.begin(&Image); Painter.fillRect(QRect(0,0,this->iconSize().width(),this->iconSize().height()),"#ffffff"); Object.DrawCompositionObject(NULL,&Painter,1,this->iconSize().width(),this->iconSize().height(),true,0,NULL,1,1,NULL,false,0,false); Painter.end(); setItemIcon(((QTableWidget *)view())->currentRow(),QIcon(Image)); setItemText(((QTableWidget *)view())->currentRow(),ShapeFormDefinition.at(FrameShapeTable.at(CurIndex).FrameStyle).Name); } } //======================================================================================================================== void cCShapeComboBox::s_ItemSelectionChanged() { if (STOPMAJ) return; int CurIndex=((QTableWidget *)view())->currentRow()*AutoFrameShapeComboBoxNBRCOLUMN+((QTableWidget *)view())->currentColumn(); if ((CurIndex>=0)&&(CurIndexcurrentRow()); emit currentIndexChanged(((QTableWidget *)view())->currentRow()); ((QTableWidget *)view())->setToolTip(ShapeFormDefinition.at(FrameShapeTable.at(CurIndex).FrameStyle).Name); STOPMAJ=false; } } ffDiaporama/src/ffDiaporama/CustomCtrl/cCFramingComboBox.h0000777000175000001440000000662112275647230023756 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef CcCFramingComboBox_H #define CcCFramingComboBox_H // Basic inclusions (common to all files) #include "_QCustomDialog.h" #include "engine/cBrushDefinition.h" //****************************************************************************************************************** // Custom QAbstractItemDelegate for AutoFraming ComboBox //****************************************************************************************************************** class cCFramingComboBox; class cCFramingComboBoxItem : public QStyledItemDelegate { Q_OBJECT public: cCFramingComboBox *ComboBox; explicit cCFramingComboBoxItem(QObject *parent=0); virtual void paint(QPainter *painter,const QStyleOptionViewItem &option,const QModelIndex &index) const; virtual QSize sizeHint(const QStyleOptionViewItem &option,const QModelIndex &index) const; }; //****************************************************************************************************************** // Custom AutoFraming ComboBox //****************************************************************************************************************** #define FILTERFRAMING_CUSTOM 0x01 #define FILTERFRAMING_IMAGE 0x02 #define FILTERFRAMING_PROJECT 0x04 #define FILTERFRAMING_ALL 0x07 #define FILTERFRAMING_INTERNAL 0x08 class cFramingStyleTableItem { public: QImage Image; int FrameStyle; cFramingStyleTableItem(QImage *Image,int FrameStyle); }; class cCFramingComboBox : public QComboBox { Q_OBJECT public: QList FramingStyleTable; bool STOPMAJ; cCFramingComboBoxItem ItemDelegate; qreal X,Y,ZoomFactor,AspectRatio; int CurrentFilter,CurrentFramingStyle,CurrentNbrITem; explicit cCFramingComboBox(QWidget *parent = 0); void PrepareFramingStyleTable(bool ResetContent,int Filter,cBrushDefinition *Brush,QImage *SourceImage,int BackgroundForm,qreal ProjectGeometry); void MakeIcons(); void SetCurrentFraming(int AutoFraming); int GetCurrentFraming(); protected: virtual void hidePopup(); virtual void keyReleaseEvent(QKeyEvent *event); signals: void itemSelectionHaveChanged(); public slots: void s_ItemSelectionChanged(); }; #endif // CcCFramingComboBox_H ffDiaporama/src/ffDiaporama/CustomCtrl/cCFramingComboBox.cpp0000777000175000001440000003526612275647227024326 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "cCFramingComboBox.h" //****************************************************************************************************************** // Custom QAbstractItemDelegate for AutoFraming ComboBox //****************************************************************************************************************** #define AutoFramingComboBoxIMAGEWIDTH 128 #define AutoFramingComboBoxNBRCOLUMN 3 cCFramingComboBoxItem::cCFramingComboBoxItem(QObject *parent):QStyledItemDelegate(parent) { } //======================================================================================================================== void cCFramingComboBoxItem::paint(QPainter *painter,const QStyleOptionViewItem &option,const QModelIndex &index) const { int CurIndex=index.row()*AutoFramingComboBoxNBRCOLUMN+index.column(); int CurrentFramingStyle=0; while ((CurrentFramingStyleFramingStyleTable.count())&&(ComboBox->CurrentFramingStyle!=ComboBox->FramingStyleTable.at(CurrentFramingStyle).FrameStyle)) CurrentFramingStyle++; if ((CurIndex>=0)&&(CurIndexFramingStyleTable.count())) { painter->drawPixmap(option.rect.left(),option.rect.top(),QPixmap().fromImage(((cFramingStyleTableItem)ComboBox->FramingStyleTable.at(CurIndex)).Image)); } else { painter->fillRect(option.rect,Qt::white); } if (index.row()*((QTableWidget *)ComboBox->view())->columnCount()+index.column()==CurrentFramingStyle) { painter->setPen(QPen(Qt::red)); painter->setBrush(QBrush(Qt::NoBrush)); painter->drawRect(option.rect.x()+3,option.rect.y()+3,option.rect.width()-6-1,option.rect.height()-6-1); } if (option.state & QStyle::State_Selected) { painter->setPen(QPen(Qt::blue)); painter->setBrush(QBrush(Qt::NoBrush)); painter->drawRect(option.rect.x(),option.rect.y(),option.rect.width()-1,option.rect.height()-1); painter->drawRect(option.rect.x()+1,option.rect.y()+1,option.rect.width()-1-2,option.rect.height()-1-2); painter->setPen(QPen(Qt::black)); painter->drawRect(option.rect.x()+2,option.rect.y()+2,option.rect.width()-1-4,option.rect.height()-1-4); } } //======================================================================================================================== QSize cCFramingComboBoxItem::sizeHint(const QStyleOptionViewItem &/*option*/,const QModelIndex &/*index*/) const { return QSize(AutoFramingComboBoxIMAGEWIDTH,AutoFramingComboBoxIMAGEWIDTH); } //======================================================================================================================== cFramingStyleTableItem::cFramingStyleTableItem(QImage *Image,int FrameStyle) { this->Image=*Image; this->FrameStyle=FrameStyle; } //****************************************************************************************************************** // Custom Brush ComboBox //****************************************************************************************************************** cCFramingComboBox::cCFramingComboBox(QWidget *parent):QComboBox(parent) { CurrentFilter =-1; CurrentFramingStyle =-1; CurrentNbrITem =-1; STOPMAJ =false; QTableWidget *Table=new QTableWidget(); Table->horizontalHeader()->hide(); Table->verticalHeader()->hide(); for (int i=0;iinsertColumn(0); Table->setColumnWidth(0,AutoFramingComboBoxIMAGEWIDTH); } setModel(Table->model()); setView(Table); ItemDelegate.ComboBox=this; setItemDelegate(&ItemDelegate); this->view()->setFixedWidth(AutoFramingComboBoxIMAGEWIDTH*AutoFramingComboBoxNBRCOLUMN+18); this->view()->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); connect(Table,SIGNAL(itemSelectionChanged()),this,SLOT(s_ItemSelectionChanged())); } //======================================================================================================================== void cCFramingComboBox::hidePopup() { QComboBox::hidePopup(); if (isVisible()) { emit itemSelectionHaveChanged(); MakeIcons(); } CurrentFramingStyle=GetCurrentFraming(); } //======================================================================================================================== void cCFramingComboBox::keyReleaseEvent(QKeyEvent *event) { int CurIndex=((QTableWidget *)view())->currentRow()*AutoFramingComboBoxNBRCOLUMN+((QTableWidget *)view())->currentColumn(); int aCurIndex=CurIndex; if ((event->key()==Qt::Key_Right)||(event->key()==Qt::Key_Down)) { if (CurIndexkey()==Qt::Key_Left)||(event->key()==Qt::Key_Up)) { if (CurIndex>0) CurIndex--; } else QComboBox::keyReleaseEvent(event); if (aCurIndex!=CurIndex) { STOPMAJ=true; ((QTableWidget *)view())->setCurrentCell(CurIndex/AutoFramingComboBoxNBRCOLUMN,CurIndex-(CurIndex/AutoFramingComboBoxNBRCOLUMN)*AutoFramingComboBoxNBRCOLUMN); setCurrentIndex(CurIndex/AutoFramingComboBoxNBRCOLUMN); MakeIcons(); STOPMAJ=false; emit itemSelectionHaveChanged(); } } //======================================================================================================================== void cCFramingComboBox::PrepareFramingStyleTable(bool ResetContent,int Filter,cBrushDefinition *Brush,QImage *SourceImage,int BackgroundForm,qreal ProjectGeometry) { qreal maxw,maxh,minw,minh,x1,x2,x3,x4,y1,y2,y3,y4; QImage *Image=Brush->ImageToWorkspace(SourceImage,AutoFramingComboBoxIMAGEWIDTH,maxw,maxh,minw,minh,x1,x2,x3,x4,y1,y2,y3,y4); int AutoFraming =Brush->GetCurrentFramingStyle(ProjectGeometry); bool AllowInternal=(int(Brush->ImageRotation/90)!=(Brush->ImageRotation/90)); if (AllowInternal) Filter|=FILTERFRAMING_INTERNAL; qreal ImageGeometry=(qreal(SourceImage->height())/qreal(SourceImage->width())); if (ProjectGeometry==ImageGeometry) Filter=Filter & (~FILTERFRAMING_PROJECT); FramingStyleTable.clear(); for (int i=0;i0) ToAdd=true; break; case AUTOFRAMING_CUSTOMLOCK : if ((Filter & FILTERFRAMING_CUSTOM)>0) ToAdd=true; break; case AUTOFRAMING_CUSTOMIMGLOCK : if (((Filter & (FILTERFRAMING_IMAGE|FILTERFRAMING_CUSTOM))==(FILTERFRAMING_IMAGE|FILTERFRAMING_CUSTOM))) ToAdd=true; break; case AUTOFRAMING_CUSTOMPRJLOCK : if ((Filter & (FILTERFRAMING_PROJECT|FILTERFRAMING_CUSTOM))==(FILTERFRAMING_PROJECT|FILTERFRAMING_CUSTOM)) ToAdd=true; break; case AUTOFRAMING_FULLMAX : if (((Filter & FILTERFRAMING_IMAGE)>0)) ToAdd=true; break; case AUTOFRAMING_FULLMIN : if (((Filter & FILTERFRAMING_IMAGE)>0)&&(AllowInternal)) ToAdd=true; break; case AUTOFRAMING_HEIGHTLEFTMAX : if (((Filter & FILTERFRAMING_PROJECT)>0)&&(ProjectGeometry>ImageGeometry)) ToAdd=true; break; case AUTOFRAMING_HEIGHTLEFTMIN : if (((Filter & FILTERFRAMING_PROJECT)>0)&&(ProjectGeometry>ImageGeometry)&&(AllowInternal)) ToAdd=true; break; case AUTOFRAMING_HEIGHTMIDLEMAX : if (((Filter & FILTERFRAMING_PROJECT)>0)) ToAdd=true; break; case AUTOFRAMING_HEIGHTMIDLEMIN : if (((Filter & FILTERFRAMING_PROJECT)>0)&&(AllowInternal)) ToAdd=true; break; case AUTOFRAMING_HEIGHTRIGHTMAX : if (((Filter & FILTERFRAMING_PROJECT)>0)&&(ProjectGeometry>ImageGeometry)) ToAdd=true; break; case AUTOFRAMING_HEIGHTRIGHTMIN : if (((Filter & FILTERFRAMING_PROJECT)>0)&&(ProjectGeometry>ImageGeometry)&&(AllowInternal)) ToAdd=true; break; case AUTOFRAMING_WIDTHTOPMAX : if (((Filter & FILTERFRAMING_PROJECT)>0)&&(ProjectGeometry0)&&(ProjectGeometry0)) ToAdd=true; break; case AUTOFRAMING_WIDTHMIDLEMIN : if (((Filter & FILTERFRAMING_PROJECT)>0)&&(AllowInternal)) ToAdd=true; break; case AUTOFRAMING_WIDTHBOTTOMMAX : if (((Filter & FILTERFRAMING_PROJECT)>0)&&(ProjectGeometry0)&&(ProjectGeometrycopy(); Brush->ApplyMaskToImageToWorkspace(&CurImage,i,BackgroundForm,AutoFramingComboBoxIMAGEWIDTH,maxw,maxh,minw,minh,X,Y,ZoomFactor,AspectRatio,ProjectGeometry); FramingStyleTable.append(cFramingStyleTableItem(&CurImage,i)); } } if (ResetContent || (CurrentFilter!=Filter) || (CurrentNbrITem!=FramingStyleTable.count())) { CurrentFilter =Filter; CurrentNbrITem=FramingStyleTable.count(); int CurIndex =((QTableWidget *)view())->currentRow()*AutoFramingComboBoxNBRCOLUMN+((QTableWidget *)view())->currentColumn(); while (count()>0) removeItem(count()-1); int NbrItem=FramingStyleTable.count(); int NbrRow=NbrItem/AutoFramingComboBoxNBRCOLUMN; if (NbrRow*AutoFramingComboBoxNBRCOLUMNinsertRow(Table->rowCount()); ((QTableWidget *)view())->setRowHeight(((QTableWidget *)view())->rowCount()-1,AutoFramingComboBoxIMAGEWIDTH); } ((QTableWidget *)view())->setCurrentCell(CurIndex/AutoFramingComboBoxNBRCOLUMN,CurIndex-(CurIndex/AutoFramingComboBoxNBRCOLUMN)*AutoFramingComboBoxNBRCOLUMN); setCurrentIndex(CurIndex/AutoFramingComboBoxNBRCOLUMN); } delete Image; } //======================================================================================================================== void cCFramingComboBox::SetCurrentFraming(int AutoFraming) { if (STOPMAJ) return; CurrentFramingStyle=AutoFraming; int Index=0; while ((IndexsetCurrentCell(Index/AutoFramingComboBoxNBRCOLUMN,Index-(Index/AutoFramingComboBoxNBRCOLUMN)*AutoFramingComboBoxNBRCOLUMN); setCurrentIndex(Index/AutoFramingComboBoxNBRCOLUMN); MakeIcons(); STOPMAJ=false; } } //======================================================================================================================== int cCFramingComboBox::GetCurrentFraming() { int CurIndex=((QTableWidget *)view())->currentRow()*AutoFramingComboBoxNBRCOLUMN+((QTableWidget *)view())->currentColumn(); if ((CurIndex>=0)&&(CurIndexcurrentRow()*AutoFramingComboBoxNBRCOLUMN+((QTableWidget *)view())->currentColumn(); if ((CurIndex>=0)&&(CurIndexcurrentRow(),IconGeoImage); setItemText(((QTableWidget *)view())->currentRow(),AUTOFRAMINGDEF[FramingStyleTable.at(CurIndex).FrameStyle].ToolTip); } } //======================================================================================================================== void cCFramingComboBox::s_ItemSelectionChanged() { int CurIndex=((QTableWidget *)view())->currentRow()*AutoFramingComboBoxNBRCOLUMN+((QTableWidget *)view())->currentColumn(); if ((CurIndex>=0)&&(CurIndexcurrentRow()); emit currentIndexChanged(((QTableWidget *)view())->currentRow()); ((QTableWidget *)view())->setToolTip(AUTOFRAMINGDEF[FramingStyleTable.at(CurIndex).FrameStyle].ToolTip); STOPMAJ=false; } } ffDiaporama/src/ffDiaporama/CustomCtrl/_QCustomDialog.h0000777000175000001440000001563512275647225023357 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #ifndef _QCUSTOMDIALOG_H #define _QCUSTOMDIALOG_H // Basic inclusions (common to all files) #include "engine/_GlobalDefines.h" // Include some additional standard class #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include // Include some common various class #include "engine/cApplicationConfig.h" //********************************************************************************** // Dialogbox help file number //********************************************************************************** #define HELPFILE_NEWS 5 #define HELPFILE_WIKIINDEX "main" #define HELPFILE_RENDERINDEX "0030" // Rendering videos //********************************************************************************** // name of default icons //********************************************************************************** #define ICON_GEOMETRY_LOCKED ":/img/Geometry_Lock.png" #define ICON_GEOMETRY_UNLOCKED ":/img/Geometry_Unlock.png" #define ICON_GEOMETRY_PROJECT ":/img/Geometry_ProjectLock.png" //********************************************************************************** // Display coordinates unit //********************************************************************************** #define DISPLAYUNIT_PERCENT 0 #define DISPLAYUNIT_PIXELS 1 //********************************************************************************** class QCustomDialog : public QDialog { Q_OBJECT public: struct sUndoData { int ActionType; QString Data; QWidget *FocusWindow; QWidget *FocusTab; }; QList UndoDataList; cApplicationConfig *ApplicationConfig; qlonglong TypeWindowState; QSplitter *Splitter; QDomDocument *Undo; // Save object before modification for cancel button QStringList UndoData; QAbstractButton *OkBt; QAbstractButton *CancelBt; QAbstractButton *UndoBt; QAbstractButton *HelpBt; QString HelpFile; explicit QCustomDialog(cApplicationConfig *BaseApplicationConfig,QWidget *parent = 0); ~QCustomDialog(); virtual void InitDialog(); // Abstract function : need to be overloaded virtual void DoInitDialog()=0; // Initialise dialog virtual bool DoAccept()=0; // Call when user click on Ok button virtual void DoRejet()=0; // Call when user click on Cancel button virtual void PrepareGlobalUndo()=0; // Initiale Undo virtual void DoGlobalUndo()=0; // Apply Undo : call when user click on Cancel button virtual void SaveWindowState(); virtual void RestoreWindowState(); virtual void AppendPartialUndo(int ActionType,QWidget *FocusWindow,bool ForceAdd,QWidget *FocusTab=NULL,bool DuplicateRessource=false); virtual void AppendPartialUndo(int ActionType,QString WidgetName,bool ForceAdd,QWidget *FocusTab=NULL,bool DuplicateRessource=false); virtual void RemoveLastPartialUndo(); virtual void PreparePartialUndo(int,QDomElement,bool) {} // To be overloaded virtual void ApplyPartialUndo(int,QDomElement) {} // To be overloaded virtual void toolTipTowhatsThis(QObject *StartObj); protected: virtual void accept(); virtual void reject(); virtual void keyReleaseEvent(QKeyEvent *event); // Utility functions virtual void DoInitTableWidget(QTableWidget *Table,QString TableColumns); virtual QTableWidgetItem *CreateItem(QString ItemText,int Alignment,QBrush Background); virtual void DoResizeColumnsTableWidget(QTableWidget *Table); virtual void SetCBIndex(QComboBox *CB,int ItemData); // Utility function use to set current index in a combobox base on an itemdata protected slots: virtual void DoPartialUndo(); virtual void help(); }; //********************************************************************************** class QNullTableWidgetItem : public QTableWidgetItem { public: explicit QNullTableWidgetItem(const QIcon &icon, const QString &text, int type):QTableWidgetItem(icon,text,type=Type) {setFlags(Qt::NoItemFlags);} explicit QNullTableWidgetItem(const QTableWidgetItem &other):QTableWidgetItem(other) {setFlags(Qt::NoItemFlags);} explicit QNullTableWidgetItem(int type):QTableWidgetItem(type=Type) {setFlags(Qt::NoItemFlags);} explicit QNullTableWidgetItem(const QString &text,int type=Type):QTableWidgetItem(text,type=Type) {setFlags(Qt::NoItemFlags);} }; // New definition for QInputDialog::getText QString CustomInputDialog(QWidget *parent,const QString &title,const QString &label,int mode,const QString &text,bool *ok,Qt::InputMethodHints inputMethodHints=Qt::ImhNone); int CustomMessageBox (QWidget *parent,QMessageBox::Icon icon,const QString& title,const QString& text,QMessageBox::StandardButtons buttons=QMessageBox::Ok,QMessageBox::StandardButton defaultButton=QMessageBox::NoButton); #endif // _QCUSTOMDIALOG_H ffDiaporama/src/ffDiaporama/CustomCtrl/_QCustomDialog.cpp0000777000175000001440000004011212275647230023672 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2014 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ #include "_QCustomDialog.h" #include #include #include #include #include "HelpPopup/HelpPopup.h" //==================================================================================================================== QString CustomInputDialog(QWidget *parent,const QString &title,const QString &label,int mode,const QString &text,bool *ok,Qt::InputMethodHints inputMethodHints) { Qt::WindowFlags Flags=(Qt::Dialog|Qt::CustomizeWindowHint|Qt::WindowSystemMenuHint|Qt::WindowMaximizeButtonHint)&(~Qt::WindowMinimizeButtonHint); QInputDialog dialog(parent,Flags); int x=QCursor::pos().x()-dialog.width(); if (x<0) x=0; int y=QCursor::pos().y()-dialog.height(); if (y<0) y=0; dialog.move(x,y); dialog.setWindowTitle(title); dialog.setLabelText(label); dialog.setTextValue(text); dialog.setTextEchoMode((QLineEdit::EchoMode)mode); dialog.setInputMethodHints(inputMethodHints); dialog.setWindowModality(Qt::ApplicationModal); int ret = dialog.exec(); if (ok) *ok = !!ret; if (ret) return dialog.textValue(); else return QString(); } //==================================================================================================================== int CustomMessageBox(QWidget *parent,QMessageBox::Icon icon,const QString& title,const QString& text,QMessageBox::StandardButtons buttons,QMessageBox::StandardButton defaultButton) { Qt::WindowFlags Flags=(Qt::Dialog|Qt::CustomizeWindowHint|Qt::WindowSystemMenuHint|Qt::WindowMaximizeButtonHint)&(~Qt::WindowMinimizeButtonHint); QMessageBox msgBox(icon,title,text,QMessageBox::NoButton,parent,Flags); QDialogButtonBox *buttonBox = msgBox.findChild(); uint mask = QMessageBox::FirstButton; while (mask <= QMessageBox::LastButton) { uint sb = buttons & mask; mask <<= 1; if (!sb) continue; QPushButton *button = msgBox.addButton((QMessageBox::StandardButton)sb); // Choose the first accept role as the default if (msgBox.defaultButton()) continue; if ((defaultButton == QMessageBox::NoButton && buttonBox->buttonRole(button) == QDialogButtonBox::AcceptRole) || (defaultButton != QMessageBox::NoButton && sb == uint(defaultButton))) msgBox.setDefaultButton(button); } msgBox.setWindowModality(Qt::ApplicationModal); if (msgBox.exec() == -1) return QMessageBox::Cancel; return msgBox.standardButton(msgBox.clickedButton()); } //==================================================================================================================== QCustomDialog::QCustomDialog(cApplicationConfig *ApplicationConfig,QWidget *parent):QDialog(parent) { this->ApplicationConfig =ApplicationConfig; TypeWindowState =TypeWindowState_simple; Splitter =NULL; Undo =NULL; OkBt =NULL; CancelBt =NULL; UndoBt =NULL; HelpBt =NULL; #ifndef Q_OS_WIN setWindowFlags((windowFlags()|Qt::CustomizeWindowHint|Qt::WindowSystemMenuHint|Qt::WindowMaximizeButtonHint)&(~Qt::WindowMinimizeButtonHint)); #endif setAttribute(Qt::WA_AlwaysShowToolTips); setWindowModality(Qt::WindowModal); } //==================================================================================================================== QCustomDialog::~QCustomDialog() { if (!HelpFile.isEmpty() && ApplicationConfig->WikiFollowInterface) ApplicationConfig->PopupHelp->RestorePreviousHelpFile(); if (Undo) { delete Undo; Undo=NULL; } } //==================================================================================================================== // Initialise dialog void QCustomDialog::InitDialog() { // Define handler for standard buttons if (OkBt) { OkBt->setIcon(QApplication::style()->standardIcon(QStyle::SP_DialogOkButton)); connect(OkBt,SIGNAL(clicked()),this,SLOT(accept())); } if (CancelBt) { CancelBt->setIcon(QApplication::style()->standardIcon(QStyle::SP_DialogCancelButton)); connect(CancelBt,SIGNAL(clicked()),this,SLOT(reject())); } if (UndoBt) { UndoBt->setIcon(QApplication::style()->standardIcon(QStyle::SP_DialogResetButton)); connect(UndoBt,SIGNAL(clicked()),this,SLOT(DoPartialUndo())); } if (HelpBt) { HelpBt->setIcon(QApplication::style()->standardIcon(QStyle::SP_DialogHelpButton)); connect(HelpBt,SIGNAL(clicked()),this,SLOT(help())); } // Restore window size and position RestoreWindowState(); // Initialise dialog DoInitDialog(); // Prepare undo PrepareGlobalUndo(); if (UndoBt) UndoBt->setEnabled(UndoDataList.count()>0); toolTipTowhatsThis(this); if (!HelpFile.isEmpty() && ApplicationConfig->WikiFollowInterface) { ApplicationConfig->PopupHelp->SaveLatestHelpFile(); ApplicationConfig->PopupHelp->OpenHelp(HelpFile,false); } } //==================================================================================================================== // Function use to duplicate toolTip properties of all child object to whatsThis properties void QCustomDialog::toolTipTowhatsThis(QObject *StartObj) { if (StartObj->property("toolTip").toString()!="") { StartObj->setProperty("whatsThis",StartObj->property("toolTip").toString()); if (ApplicationConfig->DisableTooltips) StartObj->setProperty("toolTip",""); } for (int i=0;ichildren().count();i++) toolTipTowhatsThis(StartObj->children().at(i)); } //==================================================================================================================== void QCustomDialog::accept() { SaveWindowState(); // Save Window size and position if (DoAccept()) // call overloaded function done(0); // Close dialog } //==================================================================================================================== void QCustomDialog::reject() { SaveWindowState(); // Save Window size and position DoGlobalUndo(); // Undo change DoRejet(); // call overloaded function done(1); // Close dialog } //==================================================================================================================== void QCustomDialog::keyReleaseEvent(QKeyEvent *event) { if ((event->modifiers()==Qt::NoModifier)&&(event->key()==Qt::Key_F1)&&(HelpBt)&&(!HelpFile.isEmpty())) help(); else QDialog::keyReleaseEvent(event); } //==================================================================================================================== void QCustomDialog::help() { ApplicationConfig->PopupHelp->OpenHelp(HelpFile,true); } //==================================================================================================================== // Save Window size and position void QCustomDialog::SaveWindowState() { if (ApplicationConfig->RestoreWindow) { QDomDocument domDocument; QDomElement root=domDocument.createElement("WindowState"); domDocument.appendChild(root); if (TypeWindowState==TypeWindowState_simple) { cSaveWindowPosition DlgWSP(objectName(),ApplicationConfig->RestoreWindow,false); DlgWSP.SaveWindowState(this); DlgWSP.SaveToXML(root); ApplicationConfig->SettingsTable->SetIntAndTextValue(objectName(),TypeWindowState,domDocument.toString()); } else if (TypeWindowState==TypeWindowState_withsplitterpos) { cSaveWinWithSplitterPos DlgWSP(objectName(),ApplicationConfig->RestoreWindow,false); DlgWSP.SaveWindowState(this,Splitter); DlgWSP.SaveToXML(root); ApplicationConfig->SettingsTable->SetIntAndTextValue(objectName(),TypeWindowState,domDocument.toString()); } } } //==================================================================================================================== // Restore window size and position void QCustomDialog::RestoreWindowState() { QString WindowStateString; if (ApplicationConfig->SettingsTable->GetIntAndTextValue(objectName(),&TypeWindowState,&WindowStateString)) { QDomDocument domDocument; QString errorStr; int errorLine,errorColumn; if (!domDocument.setContent(WindowStateString,true,&errorStr,&errorLine,&errorColumn)) { ToLog(LOGMSG_CRITICAL,QApplication::translate("MainWindow","Error reading window state of %1 from home user database","Error message").arg(objectName())); } else { if (TypeWindowState==TypeWindowState_simple) { cSaveWindowPosition DlgWSP(objectName(),ApplicationConfig->RestoreWindow,false); DlgWSP.LoadFromXML(domDocument.documentElement()); if (DlgWSP.IsInit) DlgWSP.ApplyToWindow(this); } else if (TypeWindowState==TypeWindowState_withsplitterpos) { cSaveWinWithSplitterPos DlgWSP(objectName(),ApplicationConfig->RestoreWindow,false); DlgWSP.LoadFromXML(domDocument.documentElement()); if (DlgWSP.IsInit) DlgWSP.ApplyToWindow(this,Splitter); } } } } //==================================================================================================================== // utility function to init a table widget void QCustomDialog::DoInitTableWidget(QTableWidget *Table,QString TableColumns) { Table->setSelectionBehavior(QAbstractItemView::SelectRows); Table->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding); Table->horizontalHeader()->show(); Table->horizontalHeader()->setStretchLastSection(false); Table->horizontalHeader()->setSortIndicatorShown(false); Table->horizontalHeader()->setCascadingSectionResizes(false); Table->horizontalHeader()->setDefaultAlignment(Qt::AlignLeft); Table->verticalHeader()->hide(); Table->verticalHeader()->setStretchLastSection(false); Table->verticalHeader()->setSortIndicatorShown(false); #if QT_VERSION >= 0x050000 Table->horizontalHeader()->setSectionsClickable(false); Table->horizontalHeader()->setSectionsMovable(false); Table->horizontalHeader()->setSectionResizeMode(QHeaderView::Fixed); //Fixed because ResizeToContents will be done after table filling Table->verticalHeader()->setSectionResizeMode(QHeaderView::Fixed); // Fixed because ResizeToContents will be done after table filling #else Table->horizontalHeader()->setClickable(false); Table->horizontalHeader()->setMovable(false); Table->horizontalHeader()->setResizeMode(QHeaderView::Fixed); //Fixed because ResizeToContents will be done after table filling Table->verticalHeader()->setResizeMode(QHeaderView::Fixed); // Fixed because ResizeToContents will be done after table filling #endif Table->setShowGrid(true); // Ensure grid display Table->setWordWrap(false); // Ensure no word wrap Table->setTextElideMode(Qt::ElideNone); // Ensure no line ellipsis (...) Table->setColumnCount(TableColumns.split(";").count()); Table->setHorizontalHeaderLabels(TableColumns.split(";")); } //==================================================================================================================== // utility function to create a QTableWidgetItem QTableWidgetItem *QCustomDialog::CreateItem(QString ItemText,int Alignment,QBrush Background) { QTableWidgetItem *Item=new QTableWidgetItem(ItemText); Item->setTextAlignment(Alignment); Item->setBackground(Background); return Item; } //==================================================================================================================== // utility function to resize columns in a table widget void QCustomDialog::DoResizeColumnsTableWidget(QTableWidget *Table) { #if QT_VERSION >= 0x050000 Table->horizontalHeader()->setSectionResizeMode(QHeaderView::Fixed); #else Table->horizontalHeader()->setResizeMode(QHeaderView::Fixed); #endif Table->setVisible(false); // To ensure all items of all columns are used to compute size Table->resizeColumnsToContents(); // Resize column widht Table->resizeRowsToContents(); // Resize row height Table->setVisible(true); // To allow display #if QT_VERSION >= 0x050000 Table->horizontalHeader()->setSectionResizeMode(QHeaderView::Interactive); #else Table->horizontalHeader()->setResizeMode(QHeaderView::Interactive); #endif } //==================================================================================================================== // utility function to add a partial undo to the list void QCustomDialog::AppendPartialUndo(int ActionType,QWidget *FocusWindow,bool ForceAdd,QWidget *FocusTab,bool DuplicateRessource) { if ((ForceAdd)||(UndoDataList.count()==0)||(ActionType!=UndoDataList.last().ActionType)) { QDomDocument DomDocument("UNDO"); QDomElement root=DomDocument.createElement("UNDO-DATA"); PreparePartialUndo(ActionType,root,DuplicateRessource); DomDocument.appendChild(root); sUndoData Data; Data.ActionType =ActionType; Data.Data =DomDocument.toString(1); Data.FocusWindow=FocusWindow; Data.FocusTab =FocusTab; UndoDataList.append(Data); if (UndoBt) UndoBt->setEnabled(UndoDataList.count()>0); } } void QCustomDialog::AppendPartialUndo(int ActionType,QString WidgetName,bool ForceAdd,QWidget *FocusTab,bool DuplicateRessource) { AppendPartialUndo(ActionType,findChild(WidgetName),ForceAdd,FocusTab,DuplicateRessource); } //==================================================================================================================== // utility function to undo latest undo insertion void QCustomDialog::RemoveLastPartialUndo() { UndoDataList.removeLast(); if (UndoBt) UndoBt->setEnabled(UndoDataList.count()>0); } //==================================================================================================================== // utility function to undo latest action void QCustomDialog::DoPartialUndo() { if (UndoDataList.count()==0) { if (Undo!=NULL) DoGlobalUndo(); } else { sUndoData Data=UndoDataList.last(); UndoDataList.removeLast(); QDomDocument DomDocument("UNDO"); if (DomDocument.setContent(Data.Data,true)) { QDomElement root=DomDocument.documentElement(); if (root.tagName()=="UNDO-DATA") ApplyPartialUndo(Data.ActionType,root); } if (Data.FocusWindow!=NULL) Data.FocusWindow->setFocus(); } if (UndoBt) UndoBt->setEnabled(UndoDataList.count()>0); } //==================================================================================================================== // Utility function use to set current index in a combobox base on an itemdata void QCustomDialog::SetCBIndex(QComboBox *CB,int ItemData) { for (int i=0;icount();i++) if (CB->itemData(i).toInt()==ItemData) { CB->setCurrentIndex(i); break; } } ffDiaporama/src/exiv2/0000777000175000001440000000000012275647332015043 5ustar dominiqueusersffDiaporama/src/exiv2/exv_msvc.h0000777000175000001440000000617512275647332017062 0ustar dominiqueusers/* ***************************************************************** -*- C -*- */ /*! @file exv_msvc.h @brief Configuration settings for MSVC @version $Rev: 2320 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @date 07-Feb-04, ahu: created 26-Feb-05, ahu: renamed and moved to src directory */ /* Todo: The PACKAGE_* defines should be generated */ #ifdef _MSC_VER #if _MSC_VER >= 1600 // stdint.h was introduced with DevStudio 2010 #define EXV_HAVE_STDINT_H 1 #endif /* Define to 1 if you have the header file. */ #define EXV_HAVE_PROCESS_H 1 /* Define to the address where bug reports for this package should be sent. */ #define EXV_PACKAGE_BUGREPORT "ahuggel@gmx.net" /* Define to the full name of this package. */ #define EXV_PACKAGE_NAME "exiv2" /* Define to the full name and version of this package. */ #define EXV_PACKAGE_STRING "exiv2 0.23" /* Define to the one symbol short name of this package. */ #define EXV_PACKAGE_TARNAME "exiv2" /* Define to the version of this package. */ #define EXV_PACKAGE_VERSION "0.23" /* Define to `int' if does not define pid_t. */ typedef int pid_t; #ifndef EXV_COMMERCIAL_VERSION /* Define to 1 to enable translation of Nikon lens names. */ # define EXV_HAVE_LENSDATA 1 /* Define to 1 if translation of program messages to the user's native language is requested. */ # undef EXV_ENABLE_NLS #endif /* !EXV_COMMERCIAL_VERSION */ /* Define to 1 if you have the `iconv' function. */ # undef EXV_HAVE_ICONV /* Define as 1 if you have the `zlib' library. (0 to omit zlib) [png support] */ //ICI #define HAVE_LIBZ 1 #if HAVE_LIBZ #define EXV_HAVE_LIBZ // assist VC7.1 to compile vsnprintf #if (_MSC_VER < 1400) && !defined(vsnprintf) #define vsnprintf _vsnprintf #endif #endif /* Define to 1 if you have the Adobe XMP Toolkit. */ //ICI #define EXV_HAVE_XMP_TOOLKIT 1 /* File path seperator */ #define EXV_SEPERATOR_STR "\\" #define EXV_SEPERATOR_CHR '\\' /* Windows unicode path support */ #define EXV_UNICODE_PATH /* Define to 1 if you have the `mmap' function. */ /* #undef EXV_HAVE_MMAP */ /* Define to 1 if you have the `munmap' function. */ /* #undef EXV_HAVE_MUNMAP */ /* Shared library support */ #ifdef EXV_HAVE_DLL #define EXV_IMPORT __declspec(dllimport) #define EXV_EXPORT __declspec(dllexport) #define EXV_DLLLOCAL #define EXV_DLLPUBLIC #else #define EXV_IMPORT #define EXV_EXPORT #define EXV_DLLLOCAL #define EXV_DLLPUBLIC #define EXIV2API #endif /* Define EXIV2API for DLL builds */ #ifdef EXV_HAVE_DLL # ifdef EXV_BUILDING_LIB # define EXIV2API EXV_EXPORT # else # define EXIV2API EXV_IMPORT # endif /* ! EXV_BUILDING_LIB */ #else # define EXIV2API #endif /* ! EXV_HAVE_DLL */ /* Disable warning 4251. This is warning from std templates about exporting interfaces */ #ifdef EXV_HAVE_DLL #pragma warning( disable : 4251 ) #endif /* Visual Studio C++ 2005 (8.0) Disable warnings about 'deprecated' standard functions See, eg. http://www.informit.com/guides/content.asp?g=cplusplus&seqNum=259 */ #if _MSC_VER >= 1400 # pragma warning(disable : 4996) #endif #endif /* _MSC_VER */ ffDiaporama/src/WikiMake/0000777000175000001440000000000012275647222015505 5ustar dominiqueusersffDiaporama/src/WikiMake/main.cpp0000777000175000001440000007050612275647222017150 0ustar dominiqueusers/* ====================================================================== This file is part of ffDiaporama ffDiaporama is a tools to make diaporama as video Copyright (C) 2011-2013 Dominique Levray This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ====================================================================== */ /* WIKIMAKE is a tools used to translate ffDiaporama WIKI For more information, see readme.txt in the ffDiaporama's WIKI sub-folder of the ffDiaporama's source files */ #include #include #include #include #include #include enum WorkingMode { FakeMode, MakeMode }; WorkingMode Mode =FakeMode; QString Language =""; QString FullLanguage=""; QString BasePath =""; QString Source =""; QString CurSource =""; QString LogScan =""; QString CurrentSrc =""; QFile FakeFile; QTextStream TextStream; QTranslator Translator; bool IsHeader =false; //========================================================================================================================================= //functions used to adjust folder name depending on operating system QString AdjustDirForOS(QString Dir) { #ifdef Q_OS_WIN Dir.replace("/","\\"); bool DoubleSlashBegin=Dir.startsWith("\\\\"); Dir.replace("\\\\","\\"); if (DoubleSlashBegin) Dir="\\"+Dir; #elif defined(Q_OS_UNIX) && !defined(Q_OS_MACX) Dir.replace("\\","/"); #endif return Dir; } //========================================================================================================================================= class cHTMLConversionItem { public: QString Normal; QString HTML; bool UseForToHTML; bool UseForToPlainText; cHTMLConversionItem(QString Normal,QString HTML,bool UseForToHTML=true,bool UseForToPlainText=true) { this->Normal =Normal; this->HTML =HTML; this->UseForToHTML =UseForToHTML; this->UseForToPlainText =UseForToPlainText; } }; class cHTMLConversion { public: QList List; cHTMLConversion(); QString ToHTML(QString Source); QString ToPlainText(QString Source); } HTMLConverter; cHTMLConversion::cHTMLConversion() { //List.append(cHTMLConversionItem("'","'")); List.append(cHTMLConversionItem("&","&")); List.append(cHTMLConversionItem("°","°")); List.append(cHTMLConversionItem("–","–")); List.append(cHTMLConversionItem("—","—")); List.append(cHTMLConversionItem("¡","¡")); List.append(cHTMLConversionItem("¿","¿")); List.append(cHTMLConversionItem("\"",""")); List.append(cHTMLConversionItem("÷","÷")); List.append(cHTMLConversionItem("“","“")); List.append(cHTMLConversionItem("”","”")); List.append(cHTMLConversionItem("‘","‘")); List.append(cHTMLConversionItem("’","’")); List.append(cHTMLConversionItem("«","«")); List.append(cHTMLConversionItem("»","»")); List.append(cHTMLConversionItem("©","©")); List.append(cHTMLConversionItem("™","™")); List.append(cHTMLConversionItem(">",">")); List.append(cHTMLConversionItem("<","<")); List.append(cHTMLConversionItem("µ","µ")); List.append(cHTMLConversionItem("·","·")); List.append(cHTMLConversionItem("¶","¶")); List.append(cHTMLConversionItem("±","±")); List.append(cHTMLConversionItem("€","€")); List.append(cHTMLConversionItem("£","£")); List.append(cHTMLConversionItem("¢","¢")); List.append(cHTMLConversionItem("¥","¥")); List.append(cHTMLConversionItem("®","®")); List.append(cHTMLConversionItem("§","§")); List.append(cHTMLConversionItem("á","á")); List.append(cHTMLConversionItem("Á","Á")); List.append(cHTMLConversionItem("à","à")); List.append(cHTMLConversionItem("À","À")); List.append(cHTMLConversionItem("â","â")); List.append(cHTMLConversionItem("Â","Â")); List.append(cHTMLConversionItem("å","å")); List.append(cHTMLConversionItem("Å","Å")); List.append(cHTMLConversionItem("ã","ã")); List.append(cHTMLConversionItem("Ã","Ã")); List.append(cHTMLConversionItem("ä","ä")); List.append(cHTMLConversionItem("Ä","Ä")); List.append(cHTMLConversionItem("æ","æ")); List.append(cHTMLConversionItem("Æ","Æ")); List.append(cHTMLConversionItem("ç","ç")); List.append(cHTMLConversionItem("Ç","Ç")); List.append(cHTMLConversionItem("é","é")); List.append(cHTMLConversionItem("É","É")); List.append(cHTMLConversionItem("è","è")); List.append(cHTMLConversionItem("È","È")); List.append(cHTMLConversionItem("ê","ê")); List.append(cHTMLConversionItem("Ê","Ê")); List.append(cHTMLConversionItem("ë","ë")); List.append(cHTMLConversionItem("Ë","Ë")); List.append(cHTMLConversionItem("í","í")); List.append(cHTMLConversionItem("Í","Í")); List.append(cHTMLConversionItem("ì","ì")); List.append(cHTMLConversionItem("Ì","Ì")); List.append(cHTMLConversionItem("î","î")); List.append(cHTMLConversionItem("Î","Î")); List.append(cHTMLConversionItem("ï","ï")); List.append(cHTMLConversionItem("Ï","Ï")); List.append(cHTMLConversionItem("ñ","ñ")); List.append(cHTMLConversionItem("Ñ","Ñ")); List.append(cHTMLConversionItem("ó","ó")); List.append(cHTMLConversionItem("Ó","Ó")); List.append(cHTMLConversionItem("ò","ò")); List.append(cHTMLConversionItem("Ò","Ò")); List.append(cHTMLConversionItem("ô","ô")); List.append(cHTMLConversionItem("Ô","Ô")); List.append(cHTMLConversionItem("ø","ø")); List.append(cHTMLConversionItem("Ø","Ø")); List.append(cHTMLConversionItem("õ","õ")); List.append(cHTMLConversionItem("Õ","Õ")); List.append(cHTMLConversionItem("ö","ö")); List.append(cHTMLConversionItem("Ö","Ö")); List.append(cHTMLConversionItem("ú","ú")); List.append(cHTMLConversionItem("Ú","Ú")); List.append(cHTMLConversionItem("ù","ù")); List.append(cHTMLConversionItem("Ù","Ù")); List.append(cHTMLConversionItem("û","û")); List.append(cHTMLConversionItem("Û","Û")); List.append(cHTMLConversionItem("ü","ü")); List.append(cHTMLConversionItem("Ü","Ü")); List.append(cHTMLConversionItem("ß","ß")); List.append(cHTMLConversionItem("ÿ","ÿ")); List.append(cHTMLConversionItem("´","´")); List.append(cHTMLConversionItem("`","`")); List.append(cHTMLConversionItem(" "," ",false,true)); List.append(cHTMLConversionItem("\n","
")); List.append(cHTMLConversionItem("\t","    ")); } // ************************************************ QString cHTMLConversion::ToHTML(QString Source) { for (int i=0;iNormal=Normal; this->Keep =Keep; } }; class cKeepTagConversion { public: QList List; cKeepTagConversion(); QString ToKeep(QString Source); QString ToNormal(QString Source); } KeepConverter; cKeepTagConversion::cKeepTagConversion() { List.append(cKeepTagConversionItem("", ";001;")); List.append(cKeepTagConversionItem("", ";001;")); List.append(cKeepTagConversionItem("", ";002;")); List.append(cKeepTagConversionItem("", ";002;")); List.append(cKeepTagConversionItem("", ";003;")); List.append(cKeepTagConversionItem("", ";003;")); List.append(cKeepTagConversionItem("", ";004;")); List.append(cKeepTagConversionItem("", ";004;")); List.append(cKeepTagConversionItem("", ";003;")); List.append(cKeepTagConversionItem("", ";003;")); List.append(cKeepTagConversionItem("", ";004;")); List.append(cKeepTagConversionItem("", ";004;")); List.append(cKeepTagConversionItem("", ";005;")); List.append(cKeepTagConversionItem("", ";005;")); List.append(cKeepTagConversionItem("", ";006;")); List.append(cKeepTagConversionItem("", ";006;")); List.append(cKeepTagConversionItem("", ";007;")); List.append(cKeepTagConversionItem("", ";007;")); List.append(cKeepTagConversionItem("", ";008;")); List.append(cKeepTagConversionItem("", ";008;")); } // ************************************************ QString cKeepTagConversion::ToKeep(QString Source) { if (Source.contains("
 
",Qt::CaseInsensitive)) Source.replace("
 
",";breakl;",Qt::CaseInsensitive); for (int i=0;i",Qt::CaseInsensitive); while ((P1>=0)&&(P2>=0)&&(P3>=0)&&(P2-P1-QString("").length()); Source=S1+";@"+S2+";"+S3; S1=Source.left(Source.indexOf("")); S2=Source.mid(Source.indexOf("")+QString("").length()); Source=S1+";FF;"+S2; P1=Source.indexOf("",Qt::CaseInsensitive); } // Do the same job with internal link href="#... P1=Source.indexOf("",Qt::CaseInsensitive); while ((P1>=0)&&(P3>=0)) { QString S1=Source.left(Source.indexOf("",Qt::CaseInsensitive)+QString("\">").length()); S2=S2.left(S2.indexOf("\">")); Source=S1+";#"+S2+";"+S3; S1=Source.left(Source.indexOf("")); S2=Source.mid(Source.indexOf("")+QString("").length()); Source=S1+";FF;"+S2; P1=Source.indexOf("",Qt::CaseInsensitive); P3=Source.indexOf("",Qt::CaseInsensitive); } return Source; } // ************************************************ QString cKeepTagConversion::ToNormal(QString Source) { for (int i=0;i"); while (Source.contains(";@")) { QString S1=Source.left(Source.indexOf(";@")); QString S2=Source.mid(Source.indexOf(";@")+QString(";@").length(),QString("0000").length()); QString S3=Source.mid(Source.indexOf(";@")+QString(";@0000;").length()); Source=S1+""+S3; } } // Do the same job with internal link href="#... if ((Source.contains(";#"))&&(Source.contains(";FF;"))) { Source.replace(";FF;",""); while (Source.contains(";#")) { QString S1=Source.left(Source.indexOf(";#")); QString S2=Source.mid(Source.indexOf(";#")+QString(";#").length()); QString S3=S2.mid(S2.indexOf(";")+QString(";").length()); S2=S2.left(S2.indexOf(";")); Source=S1+""+S3; } } if (Source.contains(";breakl;",Qt::CaseInsensitive)) Source.replace(";breakl;","
 
",Qt::CaseInsensitive); return Source; } //====================================================================================================================== bool HaveText(QString Text) { int CountText=0; for (int i=0;i='A')&&(Text[i]<='Z')) CountText++; if ((Text[i]>='a')&&(Text[i]<='z')) CountText++; if (Text[i]>=128) CountText++; } return CountText>1; } void ToLog(QString Message) { std::cout << QString(Message+"\n").toLocal8Bit().constData() << std::flush; } void ToLogL(int Level,QString Message) { if (!Message.isEmpty()) { LogScan=LogScan+(QString().fill(' ',Level*4)+Message)+"\n"; if (Mode==MakeMode) TextStream<0)&&(Text!=" ")) { LogScan=LogScan+(QString().fill(' ',Level*4)+"TEXT:("+Text+")")+"\n"; if (Mode==FakeMode) { QString NewText=Text.replace("\\","\\\\"); NewText=NewText.replace("\"","\\\""); // if text is only a
then don't include link in text to translate if ((NewText.toLower().startsWith(""))) { NewText=NewText.left(NewText.toLower().lastIndexOf("")); NewText=NewText.mid(NewText.toLower().indexOf("")+1); } if (!NewText.contains("
 
") && HaveText(NewText)) TextStream<"))) { QString TT=Text.mid(Text.toLower().indexOf("")+1); TT=TT.left(TT.toLower().lastIndexOf("")); QString NewTT=HaveText(TT)?Translator.translate(CurrentSrc.toUtf8().constData(),TT.toUtf8().constData()):TT; if (NewTT.isEmpty()) { if ((Language!="en")&&(!IsHeader)) NewTT=""+HTMLConverter.ToHTML(KeepConverter.ToKeep(TT))+""; else NewTT=HTMLConverter.ToHTML(KeepConverter.ToKeep(TT)); } else { TR=KeepConverter.ToKeep(NewTT); TR=HTMLConverter.ToHTML(NewTT); } TR=Text.replace(TT,NewTT); } else { TR=HaveText(Text)?Translator.translate(CurrentSrc.toUtf8().constData(),Text.toUtf8().constData()):Text; if (TR.isEmpty()) { if ((Language!="en")&&(!IsHeader)) TR=""+HTMLConverter.ToHTML(KeepConverter.ToKeep(Text))+""; else TR=HTMLConverter.ToHTML(KeepConverter.ToKeep(Text)); } else { TR=KeepConverter.ToKeep(TR); TR=HTMLConverter.ToHTML(TR); } } TR=KeepConverter.ToNormal(TR); TextStream<",Qt::CaseInsensitive)) IsHeader=true; CurrentLevel++; if (CurrentTag.contains(">")) CurrentTag.remove(">"); if (CurrentTag.contains("<")) CurrentTag.remove("<"); if (CurrentTag.contains(" ")) CurrentTag=CurrentTag.left(CurrentTag.indexOf(" ")); while (((CurSource.indexOf("<")>=0)&&(CurSource.indexOf(">")>CurSource.indexOf("<")))) { ToLogT(CurrentLevel,CurSource.left(CurSource.indexOf("<"))); NextTag =CurSource.mid(CurSource.indexOf("<"),CurSource.indexOf(">")-CurSource.indexOf("<")+1); CurSource =CurSource.mid(CurSource.indexOf(">")+1); if ((NextTag.startsWith("",Qt::CaseInsensitive)) IsHeader=false; CurrentLevel--; ToLogL(CurrentLevel,NextTag); if (!NextTag.startsWith(QString("",QString("").arg(Language)); line=line.replace("",QString("",">"); CurSource=Source; if (Mode==FakeMode) { return ScanSource(-1,""); } else if (Mode==MakeMode) { QString DestFile=AdjustDirForOS(FileSrc.absoluteFilePath()); DestFile=DestFile.left(DestFile.lastIndexOf(QDir::separator())); DestFile=DestFile.left(DestFile.lastIndexOf(QDir::separator()))+QDir::separator()+Language+QDir::separator()+FileSrc.baseName()+"."+FileSrc.completeSuffix(); FakeFile.setFileName(DestFile); if (FakeFile.exists()) FakeFile.remove(); if (!FakeFile.open(QFile::WriteOnly | QFile::Text)) { ToLog(QString("Error opening fake file in %1").arg(DestFile)); return false; } ToLog(QString("Creating localised file in %1").arg(DestFile)); TextStream.setDevice(&FakeFile); TextStream.setCodec("UTF-8"); bool Error=ScanSource(-1,""); FakeFile.close(); return Error; } return false; } //====================================================================================================================== bool TraiteHELPFile(QFileInfo FileSrc) { ToLog("Help Index file="+FileSrc.absoluteFilePath()); CurrentSrc=FileSrc.baseName(); QFile File(FileSrc.absoluteFilePath()); if (!File.open(QFile::ReadOnly | QFile::Text)) { ToLog("Impossible to open file"); return false; } QTextStream in(&File); in.setCodec("UTF-8"); Source.clear(); QString line = in.readLine(); while (!line.isNull()) { if (Mode==FakeMode) { if ((line.contains("1@> ?>60;>20BL 2 ffDiaporama WIKI0010.html6@8=F8?K @01>BK ffDiaporama0011.html2@8=F8?K DC=:F8>=8@>20=8O0012.html.(01;>= 703>;>2:0 A;09400014.htmlx!2>9AB2> 2848<>AB8 1;>:>2 8 C?@02;5=8U )~!h)) tableNamespaceTableNamespaceTableCREATE TABLE NamespaceTable (Id INTEGER PRIMARY KEY,Name TEXT ){55tableFilterAttributeTableFilterAttributeTableCREATE TABLE FilterAttributeTable (Id INTEGER PRIMARY KEY, Name TEXT )l++tableFilterNameTableFilterNameTableCREATE TABLE FilterNameTable (Id INTEGER PRIMARY KEY, Name TEXT )h##tableFilterTableFilterTableCREATE TABLE FilterTable (NameId INTEGER, FilterAttributeId INTEGER ) !! tableIndexTableIndexTableCREATE TABLE IndexTable (Id INTEGER PRIMARY KEY, Name TEXT, Identifier TEXT, NamespaceId INTEGER, FileId INTEGER, Anchor TEXT )c))tableIndexItemTableIndexItemTableCREATE TABLE IndexItemTable (Id INTEGER, IndexId INTEGER )x--#tableIndexFilterTableIndexFilterTableCREATE TABLE IndexFilterTable (FilterAttributeId INTEGER, IndexId INTEGER )   {''5tableContentsTableContentsTable CREATE TABLE ContentsTable (Id INTEGER PRIMARY KEY, NamespaceId INTEGER, Data BLOB ) 33/tableContentsFilterTableContentsFilterTable CREATE TABLE ContentsFilterTable (FilterAttributeId INTEGER, ContentsId INTEGER ) 77#tableFileAttributeSetTableFileAttributeSetTable CREATE TABLE FileAttributeSetTable (Id INTEGER, FilterAttributeId INTEGER )f '' tableFileDataTableFileDataTableCREATE TABLE FileDataTable (Id INTEGER PRIMARY KEY, Data BLOB )t ++tableFileFilterTableFileFilterTableCREATE TABLE FileFilterTable (FilterAttributeId INTEGER, FileId INTEGER )| ''7tableFileNameTableFileNameTableCREATE TABLE FileNameTable (FolderId INTEGER, Name TEXT, FileId INTEGER, Title TEXT ) 9 TSQR?Q+PONqM^LHK0JIHnGUF<E/D#CB  doc "%3CreationDate2014-02-09T10:41:43!qchVersion1.0)a7 ^kVFѬ䚵EX^6kWKUdonS4mrX惋w+3rO>W6XUsb^;͆9Z}[ѨUrgkZ(\6Hݨ=\^TqQx'όqWKӵ9“wD֫Zi,l}0gOߐ(o=DBD/gƅato?jE{ѡa `/zlj' 4 9?Tϓn@B.:KXޙ"zy[pz@ p@orԣvyZ ݥ e;E^K`G*te:pd6%yRajG8Q=cpnaa(H^9{4l+ur$ 5+1|4,H=EkcG@ec'pҌ\d036Ĺ\o_̤҂ƲAC- @/Bi r^l( EEI KYPy!~Rw|inޒ)܏%ckv#N&}JRNAhk I*\,%ftD gmfw'XST]É$  V4dt[+ˈݱǓݏ! `硤'CiG/g `f-F;9yfv }b{}(fO >a3] 2+6#]҈Gcy$ݜQc\\ 1w\bc4$%cavA뽔wJebئbK~,Ϫp>̂IX5bTskn{vqtќmkֶtfh]su߿|U9O)꿔 *8{E$uy1FxNXD1dӂ`@i8Y]1e5ILķL`0cJ_pyA{R.'Ӕ (riK9tŨbzlk Ý*^=SZ>R^`>QgS")iT-va1LHɭ韉4Di &$C>14Ukiтd y%%_Q; kS`?b8[!ޏV`}nL*ɯ!ol~?fmy"TrKK W8~Fayܴ|[+_ =`s]t&ف@-EYxj/#^,%?ȳB5o"CLoOҢ# KimTO&(۪Lp^bt@ت-# ׼L>3MFBW8Oj~j~rK$݉Ok ,2 7>;0g\ ThiRt|Q_6_Ϧ5VȷgyPnqZҝzr |K*Y7zZܽ,.k">YGc)Mz ocPԄq?ŊCb/T~<$! f=MD _$vJ-_aIQ2q?w 1 w]b# 푑ދ!+j^* ۳;)T +黥glCA^!zOD0>ɨyx5R]L yյNɶB)v/#kY尦V cۻ[vح( I'e57_7$)ALJTL)"M<]wNmSg |l‹yC{ %!Wݙ1ϐ0aZ| b )}GH&Ї@XHvR i6ch3>ztP75F 5CqKCQ%1$BX_"svMOZ,ݮS^-5솻U]|ONռ(Z{3ڋTCm:~I;T;Дg"jҒLPـF,"F?iP F9 s% (NZЫ0ɠ8%[5D\d|A2oy&t,9˾3e>rOl֩47m'ʔE ɌKZa隡_+¢Y%V.1M]NS]nudQYWg#q{ W(**~4Za `i/OLEsD).VԤ>WU8({d]&79)dYDy me)L]0ࡂ5ĵrx\C>'pG"aKnp>Y=*Ry%ac|OWQP5Xcyg'5 ,0Ygܼپx] Gjĝ(v LHiKOum'ӑSdP3hhNBJM3#&T~ bީnKu%BOb5Юk9Lک |O=&f!C ģ y8y,\s ?bq鏿Xm}'ZkՍJ#Vk'.ZM_] :"zAا/@xUn@+'n D\Z8!PzƱj;ٔ4mQ Wʉ RI VB=ggvvͼ`n.EY[A$E[VsA "JZ:5~p"F:Zc>[QV!gVP(, a78vy89 _J"d)!Fd(DdKpy.T_}!S8ӕ GgL`lQ2"p rd"c9Ut,>W YBDK=a[tR.2pfТ l/&]q4ҽUD 9U}6юX45; /M"17`^# ߨ)0D0׏e;r %c9V=wU#K%) &w5 |,Q$H$>a[3f&r p&'hPl%z A}ux3c~a!RJ=q=>ʊ~ëP>|z8S四|ZM#0  R( LxMoE_1,)kRNڦY[zs6JiDJ9qAڤqfyg?;6z޼y_+_^WW b嚛l՘m:涵9jeH^ͳ;~Cxy gsHO`2gR,k#iYj-߸~ud{UvN^޽%q%]۬X$ -y[Wjfu]̺n5Uz]sn3ײZ˻g[eyC$V v[ynv-ﺔ>Ql)x˵;n% UY*  |G|np{qpÇ}xc|ۇ3o\Z&>`qLLqh^#{Sr` K;x<) m4Q  xއhxq `qIP4OjDpQDd3 5I I\:PP#| #ydG1r))#L2=t6-OGa@j0|>fQ8k?at ?G3 tPJ1taV%"̓b1Fq>`@Xz\8m;.?B^a-A/o-}XNE_y]fK'0tXCiB> xKVqtry(G:'hh2`0uFblxfѶX-Ȇ!GX4ď{i}mx0L>pD)zlth$--4bB&x>Da5^,z1'gd{K3߼&o4;\Qk4߆tzA*pݨmo-)`&;?rp?mcFg.eEo|P!BbcVSZYV@[f@(ږ\.WQekSBNʷ 6塀L:7ɛV O:(Jufa_D؜Za{O-_=.`* PpVKrmNU7Y6$l^~lA+~l ]!}g[ nMkKƕKהt(FR-ؐŘwcEI0]x7[R oE@ĴCrqHkiqr_A#b@`<4/Z\v<%H=-|k(+Tb(~A)~xӐ~`G2}b>6f̻QϔHӄp͘O( rϏ(fpJ1T;:h!{Z$&Hqѐ>BZ-2"=oC@B琈l>%zKZƑyS/O'D=}QK'dA8ml88d3a8B:iYR%B6+nӕLKQ ApX:PBL2Oh@iҧƋzxm֩A|jbW;٭ P9{M?>y pF'W2E_bMj,рm{#Oz;%GS@.K9LtW0cuߟh?O~!;8pb1Dih&pU$/FZ=]:hcOi 4]z|cin_u>I97.BqiBqYPKqyKTHZ}x&uaEO6]޹9=B}̎2#XWq{1iВR{nbArBWLeo*U:%MEȀ^Um`tŎ۷?bhCDo1 nAέܷ2|:s3}+sk6԰sO:BbEL(5-XUj ?a1~H)Ba- V$a'TL%{bϣ\p6e5ORQtKH<{^N #^nv ,^ki^CwѤ1óP W X 0b]yϑH^rF2Bc>NV=㊍1͆.Djx\;㼉J !2bo$Sc/DdTq Fȩ3L:Ǔ`]60>p18߰rVy8K|8DJ^sw|1{]xpZH CyU8;\L0$n:[?XOV~eJqX}Dn/8,3 X_x[OWT@2]14R `؊-@"[WmVQtW_ Ks>ls\/3'ſW-}*f^?XK5)\K\E+]U8clFЌ]s8.3c 7Сo]goܦʬԨJ]KBX"75r{# V支v>>R$\E.loGP$gŪhʛ2[QMM%/;jtUﳦRK꣚]QUbEi{n*ya~5)ޔZ5oA|24\ߛ{ƿڏ&HiƩ816w=\Z8\Ak]6z0tֱ=rN:3N"\'GUk;Z.%fl6çfnCH@7]:r']e(fh%q} yEzq`@ _l  `!J`| 0_qŐt$G8d2BP=qGо uLYZ?Gt}%3ʱ6@l X6ɱcy ({'Pr^晍cpk80ߧ1&굼$/f+8Q<g97!F3ACB<%? FdtTX_ CT3 #])8<aNK R9@qidoGR0K^EN,SE)ڞhz۬(ae~]wk6lt*ˢ|Bշ,~\a"%TgpaA@|VW"&KY Ҋ-j 2ڤc@xPQu\b`2UuJ$1 P0# *U%gs1S]zi~ǂD.#J3k{!;`"?#HE1$Po@xDV?2ڏ;\J:ݖd!PI?,t]:e__'1Ųǥ|CIof l!7T7`#A..iZ yQ Y#cgָO5eY7PLiut-*q._&3JN9lB^uEBJ"Zjw#">$2q )Ny6hS֬(s{Vb::`E )/w%Ӡb )~6V6Qs ]802lh( g%-L#^i yEhhY"v9c;=81aGRr>q`J,pYaBaigx$݈X:8rY,9i"OQ6u.0~p^3)`c>[2CYՆH "efMHaMepG?nMx4PyV~ga W4 26o3z8(RVqI5bec4|Z9Mo88 Ln_1. hT xVn@+Y'1Aqh +$j,fXu8B*DJ-&ra揸کI H"9ܹs[liǬ䔭œ7V4<3˨l]9?$bHCt,'HW5TSI_@zLUCv[#WvhpaK7: 0r#irLha%,~lG @E@ |ya"A,hF>lÞC X:v,B]m%I SY סH"qD(-D_EPb2&\صkكq[ q$%B :h.`~9F*S6āG…8=,8Mn *⑐AѿAV!b61Ԑ#bQ\,kvNm֛5v`< :J2aӵn~x9C͐XySq]_h`@8Kʼs':kNLc{)|5;w٤]kG?~ /ʠr_-3}38l8Vvgfpe;ܒᅕܵ]Ŷc,QkNٲ[AO+;^jӬ:N` Bdm6w+@ECfqfirطNӚjDu"#4 #ea] .yJ{ɐ&#W\ڼ@ }C9uЭ틦[pQ켬9VQ߷2#ֲT|l5G"L$m>O|LBRwx6`u۽gXջlylN--1c:Dr!CsZe/$zi$1g@xH:>˜|`^GpD xb:K㭥QQ2uU]cz?(8v~^;pLSLFMҪt%[uu<9hxLʶiuC=㥈m2;q:p+ѡ:AAE&9է4CLuw!}W$IPw; ۊx仼ޚ,Ufd~[v hT")zDRzf7z~IIRign4H7$n rp7{6͝bZT\ Q8Q\ <xXKoFWlYhˤubҗ9hQ8 J%RT$9}.j͡#isUcZ忰GS"K%߼/}gn7;2HU-YS#!puMK6uТ1ףzA]3s|ID VIiښi+=EĴC*ujkxQa[v}џ(z =~mxXnF+<-] W%iOZΡh%7[NV, @Zвh2%J")ʕcUer͛١K=-A{DD˖~['Rձ+o7=}_2Nԩ:X+fjN`݃zԃ8EB>li¼?:jMNuմԆJ4!Smhvzӊe4Cf ZTm@mi~oX*FvaLnU47jmU.DYk~Sk-#&ekH44!^7>3xKt7!tFp2n:c.?/ 7IR84c U YY4T0_(BCjY0}>)I;v $i(  |å,)TW[p+X%S<&EW]/7XO\\~78|YvQ`XeFp,H08+AhT3Z9Y͎Y-TFӺ#8$ "c,[;\HĹ)"ӂf{Q RY9"b^px\sz,tO6`bSF"E)L̿BjxD,]x5XaP cLx㽣)^C] Bc$atݎ9~Њ!W,C0˘iwB7*&5K?xѷ.eˌGX-}8ksfds]4ϯ<#4>NvW(4ؓu2o;S`R )׍P&d%4@nB7أwL:]bXB(}G B-xie@v4d~.u2#{(*0]FÉBU \6WdY~kpyIL܄r[rdU5}3*PJ)[..,>&@.YS] C5/I0{6vvۙcU[#kL95fc;Gn0_G׽Z=2$_/F{/q'K\jmY .>^E8LvwΛsox{l4EW' 1 xj OIAY7l,VNTk]dJ)b5}:c)ݸH b2EAsg!}!Bkcb&AalAZ-d(QPOi  Mv8]`~oۙ,X^[>`B}l xeDRseB'Ɏr R>Ǩ!KaM%&w)J:4I 絘 :wỶQ(wS\`AZXˣGξKW3˫n $۰U~$THU=&= M=7?p?, Xphwm;[HRO&fD}F9"s@7|F[Q;e ,6+B]wnu;_Z-UX咡ӕr1噮XߎN k0"wE^KD̹zlx|xAo?G@!!(lo5"4ϣl-A$kTMo3+ԠD'<{؀.B/NΛ4qg0-n2dLQo~XT/]9 ږzL7}'{M"L #f#ޤ䃀f5_  +I.ey't VWz)s ev G`Q)RH",ODj,%D!Qz r<RRaA~89J' W.]SU^b#%ϔ6b11@T;&^2+8޷aŀVw,ɔ‚Y^._ J(%la00iwKEh\wodZgQmanP`'nJC~ñs#m\r:ǰOO]W9j9F&%mޮ2d42%pt472 ^>; lm|~p3X3Ů~TږVn[#(&&IP[\jSr2 D5 p5^Hsd;AVr #4Jv)|fnZ^ Ę"c&nFwb;DqNbr@`tNI%{ԄԤ7 $ԕ_CVKBfǨr(tbJcdNK˶+%06u2t93ٟzP ٥aOols@r#H$G Q~A9ļ(uQq(%|{ ӯK".G.$mKMnv"x6d4z.a0~:8ԭ e(/2ν "Ѳl[m :L 2@qڋ8jj0*6L霽. 㞪U#A`[S33S3aL0\AqT{5131҇R]&WF}~Q .,'!r]-e9LrYwzܼQj][~,y|%X#1OxBkD4`>xо[3I)<0{XЉX堕TJ]|ۢzU' +[IHXroO\ia}j]Q؆lʗvBk`2[;Q"lߧ#f&j2fx($j:UÕ@P#SeQ): M$G h{8#6=Oxn>̟)([3Rտ q!+T>?W߈?oە<: $T-r11$8\Nq# UN+ctea86IؔEߚw`f'Ҿ3loSF:GS=f?F&!4nժWGpvpB =,mPtLPteP&ax jQ;f=O`UKfu&!+nj׷ido.9>zUW$u|Aw l- (^i_%'r~,u}ujNەҢtEoEJ52vz4ڱ+DЉH;}x+uO)d#l5s;9gJ\m#NvI dE{y;]"qLL(dcyJ>&P;Q[HP %?KyE ! v Zb?28cz gkKDxl?"PMU4u|$ɣ~]V"aPt#){yu@0SĜ丒FY4RJ{mSm>Hn1_Ζ+A0>uY҆Gl2eqE7`,}&?7Vj__h8Q 7h `P?3auFm?Ì(/9ͱ, 449 vvJx]YoV~ﯸ"Ȗr"m`M:y hҢJYb;24@1 ` SyaȖ4g$/)QbkI.1%s=wb^5ǿRZV..d̕ɯHv6x/&l<`$Al_ȬjVT2e{N\ܛ$fمsS鵀k|p8 8`bdkg;}W K唭-X4%o$S7TB ՊVĢv\lϭc(SQ*m^,joV^*i xa&+޽8/A? 0y4@=ƻ+%[O<]隮^mLvBz) ě t7Jԁ(YA+wr&G8H݆bi{?QߤZWhҙM& u!+ˎqDhd?\ aHiB)6mŠ N7![4@YHŵwidܘAl=OBv.0vҪov-c4'4qq~- }q=tQ,4=B9h#L˄GE;]PL%]P6`Ybh$.X veZ"i910Űb20iqc,Nyݬso^Űu#J֘?gĦh4!㝜 )i~#7cɁfJ"WTXUUkGr.OD)z,_wÁP/-!<ASN.@(Aׄ?P>!H׶\R'9sV޴XjNԬNU)מ]Y͵gcNN GRV n[O.Jt13fS]H؀ }߅S`W vI%G xoz0+;&@8L71P琮Wx.7L( VsU]-W-gEܻ~NTnVs1|WŵrB^E +`  ^ ȏ? ,F{ {^H_N|Ԯ$y&os!Hp`wX\P;XsyIHAG@>׋;ooQ4^[4^)z!M<`Fd Iыig292e8(_,[QX n~~X`ϰ9C @c4 %EB4Ƙ$ut"R]D B&br.OE߱HwvEvu PY^noFDP@ym}4'*ZO'O5BmBGdԻP"2>]\KW ]CU׸0$}xGL1kǭ0'@M"}eCoZ88Ԝ鲢hNLx-Cc,2ogfᔅ⼷Z~R:!j׿|u5\^XYY{Twi^ux<gs|ei_O{\ k31!oȶ(MIxb]CHuU8dPgxn*H@97xpb# RcOMõF$$DbrOն#|?B Mn 0 S)NhZ4TBi&; Mftd#yCmN@ i1Gw RHOشC*Z2* Z腤!I:$}=)0HB)hx,##}tFCO8U9>sD! 33e~spX󝈥HSN}t|;YLe#Q*PnbM,J&bR v:wS1z!G5hr|HLl`Bʼn!Q/NK]p#Gɣ6²r]'O.))k8b%ѷIȋHXV)6C;h# _7@KSX0Pf\!>hm[b_S)M~[\ (ZŃ]0쇞jmOacѦq[9~ 7\+Krؐ0is302b鎑Ӌ`\3-W;niy2V rO&rQ o9%[>z?]g9i!p = em"GN2,{^ php,c,%ӠXF*$HWqBR vsmuTۘS3%uODj{~^'~/[@ZD dGhαp2&2Y2 nlD]bpi%B$x^DK$S%3nڑgeb)Γ`~sL۹+!~S8k&#AiNV(Dsi&^ʵG6h[zMo`f@Ybؓѥ- (G7i$a4 Wv)^'r ˵y ~o#Lϴ-dFLk8")"(VNKeThE+gЫ,h6 vvvcht?sDc#)Hfe T&<ԥ4ubV^>VsNKm<%0h'wڗvNDD3rskVs맲x`f `긫­x#Z84H!CFZOW:hWO YKT+U߻\++9oίVWJrK[OJiOru3_Kz٫-.^eCVz$ZC:iD?%4vi՟gpׁ,d-@8Uf 3&U0(ڱ!¸[…;}r ;L]z iQ2mpP0PfZ"ܦlQhȝێ7SP0q-IPŰYK=Dkctdh\~QػGR)nQQ=rFr!^HnBrEQ9ѷT~ջDhH2sZ- 4-DV=`bń%zF ̗6c}Q5׏/f`G[ /]0Sd<`H!:g5#tR7l6VgC2[06(`ͬ+n55j4V %u;.(ZZRZaNxN?` EhWύh~tr5C*qqtzsU Ba7TZ__5[+hSհ鵛¥wW`>Ws`jrR?]\FLzH{!eCץ1UoRHJMcU E\5Z165Sq]~iM7]Jdi,ރh&J3˧ XZŏb_TE.R7?)&oc; G~H<D60ܳHD z2PObLf$V*S =x;[8Ć%pŭͰj\rqqāXG>XbT"Y؍eC#e"+^$/*%vT3bgr!zЏ3z!z^!(c-e6f V p,1DNj(<[fprd($rULkM66'Z2WJG奙{OϾy,H:z;NJY A_*ѵ5S墈I42z,yxDMdֵ+-SY~|{̅Ooȳ1#]5'ϯ#ǀd;H`܆|| jB4Iu CzqV?s+~m 鉅Nջ=ʳ6@b)$j}ZӦ5Ȋ4kMJZ$x[ʌ'-N)VnJ i #GJG؃B&WܒDY QX@}kaGo~ @`y~qS-YҋX7yj}?NAb£N/ dqR˫8!Ш"ɦ3$|g$;'BӦxNHtDѲ wNla5ȡsیg5hjyY Oz} 1w3p5ny:}Vl"8zFr8Қc7J 'Z8LִJ/88Z/O1<\f/plZ2q~g?IGL6׾yq糬CAY_ M)cpsOjJ{U1Y&ϙT''.k7&3OQ׻.&@ԽU_;SJX;E\m%ڗjIUFʾJmqB.[gޤdtDz 8+߃ͧ :)_\z^QU;%Yn$mgIA|Cz@C+% waPkp;E$Q ޳j_g\;DICwao(I4:1isY4,_`Վ~!/A;.hv :(FtƜ[kPl%~A,`/cJwȓެe{/ToPue7Ù"gv ' Rywx]sE_P'K!pԝSEp9HObml[BHRPPTH*ǽUɊdeI cfvfvv%ٲbqUbjw{4޺ɇo{ fWfsz-UKKZK,2IJ>n{ѽh# n[ᅏa?l¿V؃[x5̢_/ysKu>_֋Bg/_zgO92V6Oկ9{,ăJ~.6=իg+Zi]K9oJk>WW󫳹Ṷ5lg^j1ng,k+L$ 潰>h *솽nэ܆ox-xm彰~t~n;Z6\8cF]>|B78@@ "[@6™ a+xᣰ0h?h!^݅7㞆}ߧ7n&JC \(¶`4[{Dǀ1! N3px2э\\BbK,bV9p e,jqo<ŧ GD QLЁekȃ#g+:1b!Dl@dH!oƘ8"XtIK ;+* 33J5xVNA)ƹ„v61W&S.2C;n؟"ܕb FWƘd%-@+̼7n !\&~39gfk[[_}4LZ!%.mmZ#1⦾pyv[H@#;Q/ `Z> 3,i\;Pu8IZϒk>XNG;\9+(Ľ !pgô(^`:QVmtڻȣ[i>nXowr-NEXI.q=~rd"BYj:Qෟ3Z~[jD|n/I(T f[ (8ME@:l{ID+q$mQ=eJ< rK` w@"wh t[s"tdq8E1QbEFQ#U:\\|'C2)WNUH"dc3a훠2lYإS2JʬdiRx&ByʽЂ/-٤bhGjW˹W<=.pLEf@r`iď^f$#3ck1Yx0+pvf3jӣ)d#hkY^w||YdGI8(qkIwl}S;b:E\ 0h]_G),vF85ͦDlKH˷I-|`YSr=SRU#DfPܲk$ iC Clx\_SV笠dے q(H3Ƅd;}m5Ȗ+i6it鶻~Cpb psec!AcKs?N/3KK<`Y;g,o,[a[3ڤd18bYM͈tj붡Ǐyvvoy83^e2Wg$f,mm-oOJi(KgUٓ$.oJƤ[M:p8*kt*=:jԜʖ55'&%dgMיR2bVlD*"Hmi3}]2 xXMoFWly(R@&m%iOZΡGƦ#!Gd*od @CQ)Cϴ$ZvQ.%E;#2-j9o޼O{Q V 7\Zԃ#ړh: 7~ܪ-?mP ~~{9ٗXFBvqHNʹU?Z'}T~Py=Qsfy1炭 ۲>0D2M爛͹_9y++kz[Ģ:b[+ WT4z fGPD&MDW*oyz_6`S4[XmˆU)GZ ػreBp!Oq:O>P;xDK 7F03U>Sl,efZf <'}.0^wv@Uvs U%s^8A0?}߁jFe|$m,c%? _L_vXҧ#5Ѡw8MdW.;=22f~c?qPc=;&jkq>u2kƩ;|&>&?)VyA)7L`Thj$OW W=BKxDM$y mhUq6 YGo9/Es]WYr+tɭX2>וxwDt֣ľ˾?cA&2U(GXP4NB4f-ٙyve*boVʢjzJNBENJF>% ;*tO4.+6YdTaw*# "pc n1,:sG0CxW||mYE:?"}{-$F31 u!|0KEEa>E<yeEVMDH^iNyxvcTr7C)CM4b}˯E}]ޫ>$qWVMݯOqTsR~Mg|ށ|bȞk0^IQ_Ab"[H|{Uնc9:杭+Ѯ8=AdhR0C!ZYd]"ǭ`3amizMÛoh+]_q&Q?+ͨqiC ְ4YP7ز[|X45Òae9bVOi&3ܠ 4ߋ j`R:P|qcj#S6 \ q/ k${Q` mZ jeygRs/n{#t CW% zrF6 nLs}BwىYQCL߿$?M e?ϊ秳Swx~&~q*~~Is*: 択iNrFxڂ2[oe04m:z(9ߋ 5s~7 HJ Ņ,ndk~*?mmձu],rO"1' AsD"W *3BAOcGt6~VS8b<ިG*o0c/Su@O췣ơ0]υ>?@^_ <`0E7 ;*uCJiȭ,a~1Q)ZFTS%-C܉?nTE;`'鰅c)|lрΣu.E=3BKډNP!RdK6^&ڇa5hsqGn3򍒥CT]`8gNuzB=niR3W]0WcX*|~h!N[H<>UtĽl!DZ$㔮 }QU\vBȐ$G"uVY^KΎH\.//6veծ] oEJ&jr|K'b2,/ppQp%_ /@y--׎x^ 1ͽD@6OD ]QqXĎ>MPo]WO^vOCO \Xwi6ik٪oAi(?Ơr:jrS1rf^$SUfë*خ 2ܜyT B<*5KgFBWhJX#Mwz?W';?^,6 ewѴim0'Fd5 )Ǫ.ir$ TfITB@E5 3JW>g --HxXmOV_qIHhJiB7ĞF֩ҾL:M:)}I1ҿpvεCB0*vcg+|/Rn޺NV2=GSf%!ݺԘbcl;_'>oC< vmt eHPfy*hVcu/+ylSȲ9j2/|G!՞-F3+EeofҰh:PW4ajPmQU(3u]βj34k03+ޖcdQhêYiX3&iDUT,}k@n4{w!b ==O x7/<6#`gPYP.<@( H6Q NPn5iv(46m_98ݞ3A6+UT4)\WuL$ȓ~'N7u넻UwW&FF; d1qZ/$-B qvf|NU=oٮf4ryBr'n>>ߴ4#B٭t4$m:rT,qy6g9W0YM1'1`cgs^ 3=1#ג;XDYJ"iA.5${ ]{`t-ĉ™;7YERl& 7BNkkTpU*Z``3^@-J,J=r:ƙEUcI8(`v~Kͱwg;cPa0b2w'|ߝb# Q5h".^ED4kʉ9;>{j"Qe QG _-v,haC='(o2Cerbs܀dBĩe-Lry`j[Q4>] y`Lȕr x9u$'T݋ :r;Y=&*:c@zLl-0QB/ \n̨8sWyn"O 4DlF"dzl<$]= OX|e{:Zw"1x:a_hRfs$HEKSGc*д5 ^h6ԫ"5mhg1rO&.-t+ˢ5ܻuag'a ab1dL۱~#_n/W{ ԉ`KVtT)۩]U_TZ޻yKH'ƥ9G=@h= #jCjouo/W5$AVUAeDʅN=@Whp$_LW!mΔXW^zMRu,^?* `DxY[OW~ϯ8JH;H&Ӡ@"*k^sy(HBTUQQV2[?̜e}#qC,}nsflfO YH37TC*AII37|I.O?;{*omhU,:<&LLƪ†sfjhK޶7Gx. !6xJ_74%e=ˍӥy= 22"%gpV9gc .5os'OWVŠt9%%.$S<(9#wJ9ӹƆʳI !GlJPZS+8:{Z|n\YmSÿf &}N|uEN3.ԅ8T TW ٯamV}8hw p No;:w#1%~Mpurb6y<VC-û6SwWd1Jyg.8Q :\q~F7] vqm"63(j ʀAqI:*!2ca)ȵkS7@@N\LFګ1B J/pr~&(Im6emb9̃^}ћ<:"p%\.ԦjDhJQָv@߶R-#hO R>SMH#-}Z&aȄt,&T<ܿHIUt wdyKY $Hr !W?`No䟉$wg_j;Ox+fIbGu."E(Fc.!DP]d2:"9'sO@txsP:HgL`4l12J(5GcN\i( ҹcVKaIc^CوWz$db^T7VOՆ=Pp< 񊹪'W.Ԯ.}d2׏>;%j/Nq{yRMg3 ۷SmCôoak4il"`: hIT@Ĵoa0\0,r򺬗ؕ뷁L|4t3=3t dcjpMNjZ]/Bp/@M z}5SD,D"$ K&g@u=|? ]n{O`2,Rf|e<z'(V;6`@_Q1:kM@ڎ~ ]m! ZOkIoUVa~ӑUUE(ރ ii(WbZ@K&hyc|y:5rg(]L^]R-DL3@>$NÇ*}[z04CX-`b vKhHܰz "h4Jd kupb<=B [T3@KxVܬA~P8uG 4l_ril:X_;Kea L@5:n O#n;|Ef0lSl%]Ȋeqx%pk^5}\kuWI,X99?E3NY4 p:xxYmOG_J(b$쳥HQD'J?Eg>q3wkxiVD)R[T27Qgvm3~ط{3<;־~95crXJW,*l\qJKQݐLff/W/G&n#Զ!Z2QF21H:eg c])qz.ũs`FQR-^/(3iS/8< <+zUeĥV\غEL!nEK3qe\6VnT~R"0WJM~ np<& ŒNb8Ϳ\pQ2h AE'/`n˂*c (Q `墱,887c '&,iMZr)qa3 $fSv hm>d]mD+P4JZ^].DTJ}d\-/Uƌԇ|8DbJBzbNypl+EIq R*a"k'dƤE;N@[hsAnY;J,a1rDfSw# =zx/F259[,#F/LFcJg0L^Œ?C__I˷gLVæib0| qJ_8w`d=ہpgz"|&yuQȜBOm3ɰJ1ȃ<.-:'07,Gz;yQ;GlAEi? iR-G)Mw׼ڞ켶_96=|NZss#sH8sYn E"ViƄo &^)UDj#%\$! VIRp]L>~$ /B -8֕v'Gڞc>:WBĿQҰIٙ,9 )M 6L#Ĩ?Eʇ* ((U.xXn6Sp0@%V s!YaW-DhI(gRbz9` 굫 PrZ7M0I|9)GGʽ[!\(J(oTtt5mS_Gy2H$y zϰg8]Ќx. ":LEG thwt4謭Ɂ*҈Yؓt/X(eXu,֝@M?! K#ݗu4%шEZA˥Dl= = x.>#+ y(9 k,y݃qrA7E?bG>u$ϯIF20}>铴p_hd`U4y)Cgk5:0Ȝ )D!I36wVAs d Wlo^Ofsh̝kJ @q@`vAʐq.jw66C?WW;b 7[L_ ZHP$toI ghwtH^$HI+ l 05+SŇ%\ z\pia;kt8`zN"_ߔm<';wD o |.5Sm T6-PO݀ǒi 烴ٜx|(_jV&ZW֎KJ1>(rpp2O)et1/9TAT{p?ɅP5䭙.!62 edqJyu~ }/B3fȰ5FؖŔ/^YnњI!ʩgkL IT;\ᡁZbu4 .6,{ۛ r7N8jiu͊ $D9+-%3攀=3vvwy?t_ _艳Xt?Ltg}bQ&knP=4c5uF\Gyɏ\Ҭ5$-{Qm6jFjywXGQѨPhDL wΓEs , ߋeDςHE"'Gvg/,&P{ ^h+4LtA0@# O2/NWؼ>TO굔a k0eΎi,^F}&$Upuf[*u)~W*V0W\4ɵ ebXm`rdE165u(g h(!;$iĮcYϡs."fW>O%ݻEՀCu_\+'9m1!~=~Ɲ*v~ye= VVyfjY~vx#t2x}@:i33BV6Kן NWovJ뛙Jl=[2]eX`*_{Dˑ7o+ǪmgxUqɤe9P V|@ԑK`"tfKTؑf$Z^ +sVa0_0_q*eƅ+X9}jky"֋keN\} Uq*dcjBvWuĤܡ>R X?ocn(bP⑼Q{TŒe7/tyc~ S\"~ `Ͱ*R_M3ތbO{"?%u`}uXqюCيܺn>O=L8x톋/(JUu.{5G?3M󞡚SQrQTא KI\>|!qZ̬tENl- "ztУ  eKexr}ÖUb@ݐ|&rnG$eZ4$l.yWMRهllBb_K Ì\^--13=ݧ9}n}N>$$xZ[oG~ϯn1"X,9ķ6uaYyw]%ԋ5U+UOiS0zf^{ ^9߹|0aMiչ1\4bkApuc8wp,/<?+-֍OK@D&][?IK#md5~o̪yjV̦v=d6dX{ց0ځ{gbf j{ LlFR沆5^0X]Otc'ҿN?_!plxO6|NHУ>Nnɍx'7"Зmc=wIgYl/3ֺYnmyrEYz6+KGsŲ +hжl*fQG{v`AyNtAa&v?D R2t c#!p¼}7fƕK!rLy27K']!0%n']B[t Q/V"(=PH| MDjc3Zwd}^5W8J +IsM2iq\/.\DEj TL[]s`A#CQ``moV6g\B~,G+VJp+a_a!m@Jz$lIkpw"mU}O w/Л 2jq}H=V-"@4HVDyZ_RnB}kzLT+Dce< MdeKM†nՖ8Ъ77MF/K|)ێ%32/3芮L {hZVR 1/5щYA= 5\!X%K:[n GlJya,^lжb2&3rqn w+>'z!(pR":RHAp*ú'9&C|;=u Il7uAġBUĸoc*N&cd Uy:@tݱ^qH錢Hr9j7Lx ObE .սVs?Hdt˧r z&Lffr5'xP3U~9S+D;60p.3{vM+z>Zq\|qꍵLf Sv P7wb$]2#^O2?*UKa\Z=2ukQ;\r#BtKA/%0ψ*(GFNZ;2 ۋB{%ckv o4YcH;k7~֑tXpFB )CAurhP&B fv$ʱ @DK)gji{b=l΢JQ Sͭ:˭sJUjx;gTJ|f%N9Yb2_d,8`b$re\wUjs+d`} ibԂx2mFE}.\!_l[띜odl@SO"KI2KRcS(|bb^#0"ìRmpr18$LL,'OD slԵ Iy5.Ezʕ"4;le^6x"8pjN 衬8 @@.*\\҃2g#yElKʣw5(O0iv !aMD,8 S 3t!CZ': OK7xku76T/y0)CglDlL!`RͶha&(ck[JҚrsF9YZw3ۺx|q# Buk{3'/D\^C Za&4>nI{^|>jsNpJ H'H*Y ;NtΓ&0.?,v cc8 xVn@ì@j킺@!V j%XiŊ^jE@f2}7ֱէ{:cs9}fu9`7CSh6sLLL۹pR VהWr)껬\aS;Ƽ|K$=KOB@ϘdfvVN!ވY؈xtg|ʓ:9'nq=؅=8a cHl2{H 3=)H^= >2|"Dn6D |*,5Yl=lxWo؜~yw?[r.A*Gwo8˄cz 6^.~HFԛ؎93y\:x`?a*X@%"URI_28r {g&)^*Nөnm|I_w3Z]ެ3P7ľ~'{3Jlasˏ4(;mϠSBKE;0'b lO6:l΍U.HG MʚCæ!=_8p%}D2& C3˼8ۜhD3xeG` -{\=Ny>DՈ~Zi_Ma;$ݬO~l5r_b)QvΜ)1T-BѰ_xЅ͗lޓg.`e~t=p~&E7V FOxX]sF}ϯꡓX&I?I̴q&A4y|8 }4?Ʋ sW`0(qM͠>{{VegA?̲OcWn0|7Q->-Gp[f0ٓCr . w =BmV+Y6S6\,_C<|x[oA)N¼ 6-l+eX^R hőv[MhuJvK{%,;^҃dX/<ɖTd瘡!E tn?%%zȤ+f`*ZIBJv\v3RlmoUu=HTe4A;M+"/W9M_̈ y6Ɵx<r4CZA&hye~X0 5yV- YOc'x f,R ;T+M{5b,vDVR^=j Pӧl;_'ݣ)N"8\k Ƃ3幜7d)~Zk c8V<Q'Ȉ[K[s_{]N>,8|qwEVH ˗LEC; DDUͬ6*x"צ+yu3:7s2jf]*Zn0;Y&^+q.4F,P{JXTp#Wf9M wd]mSz P(<NΈar#s8U?j䞰3**e8'fzC-a/LqpVcӐt܅U0yA5Dpb?3*93|7:D\ ccoC=vѿs4S聳qc(6|EJ"ݰfb2U^Aun1S=@v/[CAY|9(ui' 1(/`[eB@0i`N 0dSlğ& IგR7vK )7RAMLWm z^E#WS%GL\hFD05\k7R& -# C"GiwE"dl,UEG17Mw#iB'ox2IM|`,FN $I8*G!w ()RK4K8$Kh܍Q}=όWW"9=sfr_G^t1 ^- Pí к\Q}R^W!U?OۥiojMv3_ =] z6-W]ӡG[v3GtRpj6Q ,$g'H~^o<W6oٗEY]>4ZfSJT_C< uncxUN@)jvEժ]dB,:;EA˪PJ&_;v;](={qYY%U#\^pjy"Tony"ǭKvP*1/;=4̡׉.jӊ?qRj*TPr_9m-\)ϝ`:ؑb>V~Jq :3S~!si] AM!=wT M =VlץTQbH<l;YSz[ vd1|iz̗!sD8#UKXQVVr)@o4]-O@  pAF'.&'=2 w}=wzl d!cE,ߢwJj0%=DߗҠ8RYrJxͩ 3{?K1\!s0뱎S9+Eyg..b%#=X$KLj̤l:a%x7cJ 4mnv H +>MD@8g]ץb csIY"C.e6#%ϼBޑE# ;novG>e͉@蟤tX!hF.{Ҳp6,虋ijrEȱӲޡ#_Q ez؀Dgg+Xl-l \c7ւfg4QWYVԀ}ЬڔU7_1[?3y;Nr//{7-~ 3[F[c5Dgٖp)sp#c9'/2#=,8ڗ!w$O2e![B~@Bǐ?S\ 8:( Y(OqOphH $c8Rʩ?j)tľ;B]Se[hc܉'03aF? 6cw="+OJib|.tʩ6`#`=bpR߁aM 1~X<)]\~n9~$be6ݳ/C蘗9rz{[gyc* 7TH nAvsD|P>8d {QݺvȪ4V0 dmmTcf8&CW |}G7zuEHV.<9 cFE>&D,.gT' E*=0 +yov7c pm 'DiޅG$CQ T6ں+=N26 $5mxM)|MTւK9S{X*<~0 3#~gGTi%<$(9 3OʽqgEoQ1 17I/Q91N v0Mf{c4|Ȏ?u i:4ctM_%öNQ,,Xozn%u s ;Z`kJj9u6X"ٲQ&RbS_d]g? 3B37'aV۹ y]ׅDȝj08I%d[#}]Vok㚵\h,f@G.Ш֦ gMJpz)-ueKI@W:X;qow#ho19~)Z^LuFê//P k[:x][o~ﯘ2@apo\2e AЧ`Ey+IʛdqR6/AФC вe@sf]R7һ).ww̹|2H xWnF+,S$hQ)vSVaTȥkiphZ,/,ov)T,)Pݝyoά=鷬#^EX m[}gŕ/Zm߽QfZ^M1p5 7>7R K|rOsy=f/r==<ڏvd7=d3DSVmsa& k `^C EĿvky]iDpFkESUM*R^%悁a!0A5:Nqa׶J`'z%,vwm#]^=n,.L~ b͍9R~#u6w. ' byBF$=u8#Fi(됷lw-ӻhUAs?!g9'7r*/Wk9L*~<A:5~r07PNc|LGpx"'eX{yz"?@|&#@$NJ0aTƊkP}:9̄c%$0989Hi'-,EroE%e9ANR z(' G GjC3Sy^`3LcҌn9XWTz.)G'w@_%')>G I*rz_q]C`yYfzHz!"70ŢCTRAn:3j@)drP(l~+hq Xq߭rxږPVs|mԝN; bYj^}gubT1YQ7(mU| ۏ€rO>3aJ$fdNv[b}۫ ;h=]Fn+@T(/wUҩH8~Zڨʿ LSIwoUˬUҼ5-D> BVyi9vqsasPVo9h!<FCܚN:g hq'd @dTrBE\S瑗i9(9sQ!AV7G%ŕ+yѧd /n6Ysթ ڙ>' T!85# @!Bw:u=5dfxL"j*ٸV0ʠ/kL.i^OƼfꖺW6A6]ʽNo]K'?\\tǤF(Ԍ]7;n(K o͖ix HIoo֝?lרMY{ [R?U۪C:9p Nφ xێnu7iܰ{=[^ɺ*Vkx{/kRF޾mgF xKٚU3~OfFV#ÚV^XkV'WicUeR$GQvꎽs8$gs>k˭ׁvzeQcNe)zr٩v$'zܙ(6/@pGlC`lOA-|$a:|0",bpg>lkv =>n 5hq;@qpʍ>`$LԜB^-2CioDrϻbI~f>9+\l{峵S~ƾ0c2;#װ/ :p$-ڃ*z">MDnxGj :Ӧ ChtyS[>Y uϬv$ aZ@@v6 VkUy֒|06\} vlBP{UW֚ՅJ,~1( <$r}Czg:l q igwthANXzgzx`| ^X<~\EvZ2˪GׅϊexdXhG\XY4\Y!\jjyfeYepR* fA4"!  u(Qügք!sV+9+ඈ ׳쫶g5_ZA  G>zʊ{g^h7.iU?=a0|䆙aFÈ@]&ӾJeGĊg"zMwQ(;|,1|dtÿQ`o?! = !' o~A ]䞋<=`ٝ/kT烣J(9&Kn$yC B/Ӏz-=.TfK]$.qd?E"Vk݁00[ÏS1\Ϻa)ݷaVwZUCnnx@LY-1 &>}}uc~@d .5g#U0Ч$`_R*E;qS<ތm`68u8Bvq13H56{P|/i)Bs9?NʴaqB`fBHnY"꿄>Q"ʢ3DyDEs8#_ܸ-j!pl=e##A#CiQxun L)a .XЪ Kp IĻݛ2ް&'ʮ 0TRFͰ]*28g+tI˽J1C.ZNoPY|M2g`+foV[ &o89<\V 1z#¯D0fxQ z%=>p~j[ZP tҠ p )|}=Yz%|RAS-,?+7t9 c~^$C9+%ExeLRž|kU eR6RM&.Т F~ie <:\hΜLT@#-o [DZI77 0@OunKzZ昕6rOCDyO% a$ ԋj*ƇŔćC T0nL"*rCc'8NeTy*/[rޙ!C/&WwyNTVߤ'm9uϢa%XSZ朼z9>W<;-kopg@l=X )&ݙ`?=/\y:}RyLH(9eA!1e3:9z*s.;>g ڧUϬyMR!ITtZ1P*vgwP맠0nqTg=k4ܹJ1X.VQgMSC5@Fѱ U`xWlLɃf˝5*<1`ESyQ+y- x Hںjy iM`]pUSa]sw HT]S붮U^*Ss\ułip0\ 禡fI3OWWjA/pMIdriJzQJAs3dX# O6g3qMO'ѼP,BstdgTK7Mf4Ir!i*/):xI6u#j#NW- fbҌK /iWċ)A9\6Bޣ9mVhY^sXdCsT]+qp mF Xq5) $}B:B9\ٕt| Д٠K&WȋWd(Ý̡&ϗi/2uO K'̀O^01e2Ǖ :J^P&LJ⦛U\Sɋ)9\87ixpSMT, %qM~eW2Ǔ /fq<וt˳6Y\5s4XUYwe&:*qLBC|>zmqßvçc2~ȼI-̉ܪ^Z6L [Drwo&BV)n노 Wśɂx߽7Q,M61y%-6.s_"~o$!I=xy/Zέy,MB=TssUP5}]t͔g+9I[ZZy~<_8Ԗ@l3#;K׽O ʢ4^;CloAvX%,Kl<3u6aE /:$!/S2#xq]=kC*Ր:}YI] 9OXJx<'13hƂ \-`&@y*&?|&׌TE3%)jRҜ@@&rV}y75׬DXÐdRZ K@Aj IߝkmVF auqX=#0Sܶ?o  `<4PN%g%z l$,&W]X둩Q؋64 MRQ%G}mnO2ͮ&06/hW.Vv.ڐ4[thH!BnKBɥ qm$F 4bEɑ `Wsh{@W(#UM#qiq4?,5"&ajiP>{`lc=FyˏvNaˀƮ@2x)~l9\UQN5%5e7 ]) d=A6!ߠG'H>}.Y{M\&.,L'5O-֜ɉ`KEʜKx"x%t>? RBH%v Sh3n ^Njmˑ<4lx15IXI͐gV җI↜6h yn҄{rO:W#@O6YMlf5UKG<16*)WL4ͥ[wS. !jT-jgaȌwZ,ړn'i1a7y`*~ҝR&{4wY A@ 2 St됒"bNmڑ-rw;e˟iQQ֥A/4q5O!N&=Jβ R#: I{)ׂ0STQR9 y=ALE}xF2b)7w Gwvw !ǖrM**ovsB=wR(ks|çHdx𩸺`Tj$"ޅLc=6= f(9֔^MúYJ$@p1R&KN0I$7aLD#828Jb#$5ZQ(`Lg ] ܙł85qyO9?A,ΌZ)(9;roB9'GIF!f`MfĹ[)BC>K)'B|0i$5!/ v)0PK.&s#+fyI( %Y((};|~$~-IP`8 f9#JFIIZ9ܓVi7 pMrC&C տǑz6Y@"~IMrޠ e(c$Qạ́&Bsjߧ>c*jJ+5k҆1tέj,D:U۞8RiS1(bpo$>Khj3v(<*M!zhJSK'kyQKra#cvâABSmS)S%[շ$f_nNYP#{'an>,G3|ejzUb}#R~B`!"aSU{6j2S ʡo|MC x{bH2+ࣟ̏)>WyOŗTd7*nshHUr!e+ zvNȪ troK9nĴhLeddqBmcP'.Fe @+ܹ;[tS߫ME_<*qBY`' OJ{?T*?ɗ`ʗz9)uР#H?PRk&#IfIm4{h&]RoƐשӒciˁKkljɦZj2C X_m::=4 j36+HG1I̙ubs&aⶰ'> ~= 5X&eTb@xlI h!} = rfW'Eӽ:z pj7"\M^$W[hC%0rƔr5Jl{Db[%@hhQDޚ}9B7ռ,ݺCliC`D`-*-qzqn L|-*Da5;2ՃDDpa;50Q*cZZ aؔ0PJqI%ԡ'[/L uo5@1zOSYVCH$y Yu@"*j0 K)RuCf ҽJ@%6mV= ]\,z{/dS{.^A-dǨ<(=EKsF]x݌K\7 +Sv }1V`j8EVkJVAU䁢cvsoe1|K䨠NhrCǜ'9#FS`H$69yϛ!ic-17RWǎ iMKoXSuBX.ŕ@=( >*ICM2y#Aϣ`=Ӧk-_Nd ٵơ&Vj̺l c6KjL(1Ka?yS >ַIP4/lHzrE2 먙0;ԢCж1^#c Oz$)Go"VvR饳`2ʠ(.?b^6 VFKct{%h7F)FV0.3c g7/W>q:*ipkƑ,n0CVapc8 EGYɂZ.LI(;JI0,B GaC۪HHֲTê4cdz/6Nʱ{FǛ@4h8gzs C/q\1xRbmcq5G#E' )>ѧpK!Kt~Zba QP=d~r\qaQE17$yvCy/hS9{u #StƫP zxD uroaC=æ}QLC 4С~roJ82{(VCkN$žu X'd"sT餵0ҟgvr/Qȫenw72ڦj=b;५jCsi.O4Hz)GNAzs8Mv>Arh')p>1q%8Ԫ0K5c㺛y+yuAhw 3 ,! RR^ʜ qgÉǂ#fG֩4טҥS1w>Tʉ NUJ](k΃ nv<#M@ } h1=xIgɩBSj8H{41ҡ)] xڷYK=2JSy+mit>anxv&ǐOLr e+2TjHBPF5==C>%h۲!b{UuEMNdzcq%+uŀCsU+`Sjj+ᦡQ`[gn&k9xfSj=OG'p-=QJlV9=#79n%mI guLA0R^[Z(-/"L`=6}mѤQ60L+j*8|lbB 1Di7}N]piPf1ƇF_\r܋=tAOY^ bHF4q\-:R|JN!W>4aa#| )x`ͥy]|ёH1Y_ 6oHq:ƛy&HՔ%㝧w@i؂t /WVf!Y-Fu} Cy6RQ^D zܫB 97݊tXAЏ?l@RhJ'YaOێA/jlS\-q}!yBy}cCV=vg>q v?W7*19f": Eв#˵" W)n';ccyJM!9x4Œ"n}Xש(HT"6y+CMOKyNftQ?'h'ap7T(gHL^IYpHndqkQ/>#)l$p L XFjۨ&Q%3&DFSX@uE۝"ΜAuu6 G㺻n+ڞ;X-<*+ʌ)p\yX7,kqݷq҆ql\3aZ/IVfp:QV6cuEX:1fA?Rx,95ё)&c9BfәՇ*#MSơ0NNYbJ lZYwB"ܑNVlS[˴ٲ+O|Eʚ/֖jWW+ W翂8t%8-n:˚O@: F 3ҍʶmOp|.]Gq9\1ȨpEz)>g ՆeBdIPz瘜@\?>ZhM S8ͫ>ucxWcq!t0,O Ygg~SZG}ѻ(8+wQqA3jWg'[~9;Xg{|>-^$ɄS((6Lɮp#,Aö3IQj/i>#eKP9jxFlߖ-!ش'!O;fXɂWF⤰\0LSo^s/ @?x~\ָ 7B8Vb۲vkK׫7 cqPNb\ A.*RSY6 *\V&79^&]~bڱbj"^pm=̑>cD._6Ž-#"̞4icM"^>vn% fP x=nG^> l$ 2$`O&fڢmbtD9Λ-ŗ&q`6y V"/̗lKUWuW_(Q$[R]R~NMxʟ>s0?4UWf 󵕂3_^1SXY+̾?7+9Ukw?=W׻w;ҁ9+- ?zBVv--*Br6+~ǹvZ|z X勵ꭙ}r~ 7*M+kci!/WK+兲sR^(8LVkgg2?SX}5_YY *VR>Sj ~gX4ܹp$~ǫmg@W(& jtE~FШWuԼfGL5$f>!ClKϳXu,Db5pGBr'DP>9LgL911?\d<]lףpWhFn'n[ C9M{5XNpG jg@:/ rP]xP[?̈{% PQZ)?:Z풩2 ~d"(;2r'C"Dh%kS^g)Fc;X"4Cp4E)6E$0O:/0GBaL)g0ۈ3.C+a90S cm癸|aBVC R_TՃ"#JOOAb;#:&8WSCzzh;d%DI%="YKl!Q'I. X90uT"BuOV2& G6/H*@I0z4>" &BE`=O(K ^ >i9*?"!J`&r#!ADd!Ojj^j}5gk.Ƹy{E^ (htRX)!e<^O]ˢj'I=,skR5=k5TG,rEcR)t t,j{7v$y[ݪ~>yeN7NolKJxN#'Ä58+ηnpHL)άCLL(x|8ҿ$5D_CiψEݩ#r r!/pT,-D= lx͠Bt8'"Y(۰yX Q )6ʨ_ѭXmL')AaabRS8  :4xYKoFWlY [t¦|ISs)DZ"L E9Ͳ⺅S (AdYi[G]JXHp$wͷ_ữYիkw4bsfJQq[jIfO__ c>a ;0߇! 0tv ~`G܏QSi5Y٩{f+*櫬\ݦ?\Jƒem)m7L%V\oSvr[K?Rol<5zMaufU7m7kEmfjP#iE]s<6>j}۱u k+E#q)<ˠˇ.3=&BL3~ \o`Q'38gİ _B=/*%YqVX*;|>˫ʚnl%`%|wݿT7hՄH0{4 v*%d%5L(e ӶaXX!gЮLϟ-+I4/hܽSVԛd?B}xbqLTT(|O~/jR,߁P 8`Is=t3Ζ4d٨Nb/0`M-d LÛ~0-7Qna`0%6#SPԖ:[ezIVZ\AĖנ]/.(Q%f=FxPf`wje`Uo(Ɍ/AV;Λ!t!hF!2{p1 15.]vN6<TVX(/KM0!ԡG6"O7L+'ZNېDqJx g#mnxȁ=c-< >B#ԧL]-Jj✗ K%B)K,xS"?%hBZ`4!\4m w5;-)Di33Mz+L(GIo>>AEL?b6dfi;5Lݸ\Y9vK.n~'ʔ=܍b=f>C#$/VH;9'1,L,[0]5U`pHN]LYw'кiE012 yRSseZ=9,` =q,OuFp}.S@i{O_gD3gl:"]1b ~x'aӟBJ>w9\|aٶ%v̦ѭy|w#cJic2WMgqm\fK2@n1c Lu:>e GFF j!>^DBHd]d(@bDo4wP)F*-pN2rá`DST ҃0i^MQcĸy' >D?EM2~}&9#HӠ1"xCy/]nyA#6vw=.F #/!fᏋlI<Mj>M~.6u [2{2]jR d`|щn> YDWt9/͏$k:,m3?':,i  G!FȚ(>UK&O@k32 't{&b\|/7H=F);BcM6"͏-~osLjV(2*tQ-#Fe >we%\B{*!ʈ3Sz|[4,0{$9¶a! d`!"Zx),q"+٨_g"(]0+%:G>'/s?هR 1nCtg(gf;[= #v΄0D"&@ȡ{"=ŷf"jD8{Xe8s|c\xb&9] @HˆƟVj& /GМ{WZ9fyP*OlDJccz`K;rw&J7aBsINf5Wc/*YW5laqF,My`1>%K92˅T4ݡI2pӮQGZE $EL)Cq܎lh_3n_3 $pryX-]Vr3/\&=K,$5p$CM:M(ee~Tndtr*QEG`f-!-܄y`C5/l !"7x[[oE~ Qɉ"$H~BO&n۬75)i >RixaqΙ$nVDJݝ9s.X}ח{*[5תs*cQPV[)(ƺRq>-zp w StSczkfA1n0~!;8^v7 B)|g[ CZ$|v|5"SW HeY+Y1\^K? fzwU"rUdڨY\B3bƠa&sʟ$CS܅p&1X` i|45 s5F'V`:Vg$TxǜqEst'b5̦@u /0Eyg*LI~Ja\l,2>=Ϫ_*\;e]6NA0,&D9n5eOO%l9>ogY֛lUjHdO&/ECRtis6A:[S ѻ?{X K 8q",,Wc(dh>G/m%ኞs@E >+FuQEZpDžwU5!|HAG zuo[ J6_&JJ G]K 9iFMw M],i*ت){izֺkNU+ry*8^3Bî4aY.~=예'sF#8d3XHr U='?`DXp%k3(0̊8Y`&RmqBOPItM'HLt%9Wzl7S|}.'-ouAaKѝpv~fݘO4Ve-{zaA=hB^2So. O?a](\φbI|y.`ÉRP>SMO>Mi" ,uDuJqe859!ʦm l=f;7cjzzJ!Ci_er!)g_ܤ t~3d!%Ɗdy#I5͗@̌Fxd g?0>n8?9 l A|Ol;8υ.?9A'x1\O`ˏ@Q4Y[M}wb,> 6Y#xgLJ> ~QyQ h/F(*5ݮI˨8s싩ڼ;)R_|DPأ[G &w32xe-KQ}zodI/fz|0Qs,ֶɠL$R Gx 2rXLMJýXQLrbfCBlEmN<& 1iNY0 "FDvqgq1: Ѫ dk67Fݮ ҂hZZ,ռ?C|猢b>J47){Ś_v 3vZc)x9Hຟ$VP;[Is"Y}P/A^I(}1r8ƶ% "r+]TMaX=U+$J )띵<>n3v꒔bTFS6Xà .n=K`IՌ0.)c4ݍ}8+*r #kZ8p=J0 LlLQo /Go" mCMKl.π^'ii;i$5o]ilxgK4S RWi•5L>7oZ? #4xYOV~_qIS+v&p_SM&xأI\baqV`E6mU&sb'6(ȵ}9Q V  / ե7 Uq L?,3w{k?[= CvwaCccu\k腾#5r]+$Zxn@yCVKҞ"C,,ir "Km4\+Ql߿bwE]7-nƾt,E4O|wϫyC~槽2m33fa?kL<,4^C@TZMڗZ]2JTAV?:|Sz)ѳ>+ܗ##G"''Yczz{[8!rV8&wҼxC7f0+܈ёKcBP&([Q w>SN.y= :kA2ve=@2wV#`CmJp|#*\|hʇ0F: +>{Wv/Wv_俼vԮjG r4KG-7E n0B$_VDc7lBlDFxp*& MKYC8W])ũ.!)sSQh]D?/{UٿA2q]g}u oBZ53[VNh7T89eݙW\w%bS}}8=OEB=aʜsjfgm&|mVw#>AWi[)2A'mY\.\pk3`dQ# kNj/6 =&4Ir`0M1Gs&\K %tHea͓\MOe3C-!%3C,^,\D=}D]Y6k>&(abzL?_}pfO ܵwZùcf >[Z 4peZ8 v s/LNq0L hX;}xhY2ܙ¥p3c)&ˬo "&1@ C!oBU2I9IRJiΊStYKx%ݸpmT4D ̈R((3Zs"3='pRhlM&s@ %f3MP& @4^{3q徵>!q}ÈQBi5xD@|\_ĈV?Tc6$Vxk!k8N|r*,(LEKZzfmB=#y.#O3z%g؊8v<{RQaKe-C9SєjETmoZ4"2zݙO-yZMfŲ6Ǵi2[6>s`[+HKӌ;c:/HnvQ^*krE5_;_$3 [8;ńp ԁē'RBBlpD̰Dv.y(Sg Bj(*9jUܛyGj 2t6*UIHCc H/K of-@Pvh .43r1.zO$r;ȍ4ID (j3_0$Ak^s}ZAiN MNcT1ф.ske8oeN~I`jnvmfq/mϜ5w#fȝYHrP8P!yC1QzĂ BS 9q_7]od`; !0GhÁs)uahԅ&5!z{HBϼ…GDYnG1'8 L6x!j$i[__Ot&Uu\UR`Of?*-ŢZpЍQ`xod0#d"g t1mgD_Av Y 1Z}9 L8:.lV-8z;)NF'X[Y'L NuQ> @]ɳOU|vR8EryxajQk9`(#n}jξ(y^^/xc7QmP.)]-뗗Eko*y~f ^law<3@Xʁ9@k|pU 2d̼LR=Y. \HTmvTH> IF+0"ӁY+%G@a1''ɞM)*CG?'q1(>1jQnz*ኗpH[Ꮘiz z<% u'Β=mmeر#&➢3"/#R[ru`TDmz 'H*n9ST;$\A,z\Bp? .թoHŭ(x583k/k\xaHa]lR~="tMf&W H6i9H[Oq!:9#>q3R6BY E3+am}.%9o>urĩ_F)Ms~Ǻ[M2A1{V6 nۛCܾ{ 2~08(8K"Ե4TjawڪBצ7oX;&?4UrzL2#}jxH6 IN"IgI"<'Dx+L)XkAL'0~%~:ģɘV ?bN}`Eji,sTA^FG7=<`mTѓ(r?Ac0iMS[ }H|Yb$N2޽TƩԅI!!lܕI(;*'=0,z=|27X 7u"3%ꅲ]3M)ΧâR-(bEZ5ey>Wx- J.F3KCϼ9u͏Zf(0aflVdϑƧ'-mY;fgH&؄ kz`فfz_L0ݚì|$5a^ ;;@(1x=ksǑ+6H%UHԅ"U%YΎU| kE.I𠁥zu⺪XQA ! t33ŋl Xtkg~|q뚵~6 X\&3V..ekK?؟^͹y'սk;`^bz ]{OÝpu_zoF\cvG6lqmkTt;q?YEka.Ww;')fN:_eU'~zƏre'T^Lx9{T uDZ hcc'JxTn@+EDq@KKOH 8nMbű)֦U9P qDH!Mf]CҨJw;o{3k˽WYWڎKc*,av+ENR*5 ?O1g0Kg#K%X3 Ǖ|bQeͮAGjPoNj%5H~p8 EGUxXz}7D VY(bQ+eDtTBE3Iu,2HgۈZ5ܖa= 24E/e%Ha/N&dnЕ>T'S7 7E<+;X}y0-J`BlgEɝ1\( yq 9&S׈E2l&!˧_p5q6-Ubr CF<vo#J?Ukd UED6K@&nY7Jc}bV:y6rle.Zs½ri8Pʗ3LO_\".}xz훏jlJoaAM=X&mx"AN(>)8fnӫ~)PM on ?ST@f, P֬фՖ$+,[\}^[̹7 LCZ-.ÆEC:XZy@+Q´j0$pV|0wWpW` lx}j iTG^c&!ML}1sl" p1ϮVc#%ic|= JrQH$0x+|i:e׽qm2`X1 P6l(T}%!ez\{Ig$/k7Dhz_tʟ:$zo$NC1Y+ ݲQ0PsO&DA7HVRN㝉Q}#=+X ]\`{=q= fᐙePLGjG;:Mqp |bX5vx*r:l2/|^ܮdq 488r7 P.4H C$#PgTEBP6SAxDT @-T--n1Ra/n˚DUH;ޑ Ck` ;%1}m.[\ہY8qZ`qڇO*Bs-Z E Z0@Gf>[k{>Ǹmk/8MЦtH!Ye8ȑdqL[*3Y?9|~^\́<}gߧM%7<~\rq.VM;q .v>aDqǴP#kx*`;XW)2`y90:wU͌"lζ0"&j5t[6[<ҳ@дF9?IgvM;?G+c3oz>K r/14N \cEWP|%ΑNOvpZD̹iDDl ?ntW!4Hٯb뀩9BÖ-6~A x糏{$paut!,qijtba+<O1&5i"1pJ%6c Tp8SN?I*j"MlY2*ю'ZܢA@:aiѱzw,Ro 6=xF@B%+k!oW**%Oy{@o2#O)uVo΂qi!Ξ}aG*6_,=(۫}4Ѷ {65!Ψ|xEbBe\A~ضϚJ7Gr9nӶMa\40qSc'45Q![6AQ-h3J 8=EKMҰErX̑;O] `'&+;% |sP@DE:x*Byc!L6ؤJw.+efL;Oƌ-FwIn:1L #6:8ʹ Pkڦt԰H^Z}Vr/Ru~o1ĽOQ7/|.YnDs Ep > }U}~~og"m-|v F9J?=bݭ3?ȓAr#'[g~yg>ÍA)HFAo#"=0X F~:8ZbCp:!63~1d:|I# #<3ztE ̙j.rʐ'&GGJ Pbeݝ gzuQ3j7h e/>vPnj>rr+,çSbEi]ջN\y J 3=oL{rq.ц+'-J`u#]4jH)Zv4dc\tӹɹ oKK"a*q(7g&s^2>e+&68!X!'rz)趏zy]+{fߟ0yM<<~Zz7qLW2H$>xʻ$^p@&u`q:NKRno?GlVh 㽦#Q|h~–'vmGsLڢ#䄭t'r:D!`Tr>+5 OSbZ͆Ք<_Q5jXUú'gTBS^Zls~oY(Θ|aZ /Of˰ֹRqy z*sT6 V%f3b;;^1TK*=Md:N*(N@Skk4[PNz.:28Nr♾)v@;u5R~y]T+gv\2kp._MJXx@~XYq)at qPZ(dMDm!lgPw=iwpšL p5F;T, 1H\/ܨ@fe_$mY]&g}{eiYI5W*|:ߍq{nBjXJWMYTM c*`Ux*V ҎfSlRAR@(n`4e!&W}N+0Vn I 0Y^3qr]Ѐb3ܮZx~]88l'믫`8y/z{^ /P\$\9( uR$^FsШgs ݔ5Kw'i[uFWW$sQ)<&yOU,]X\)~ |e+K<͛g<6.N4n>V`ܶv(a]z X ܈ŀX&mƙ݌ȼR21q?bHÔP#oYQ YSw)-B?jQd1Cbld9 âYl]^(E-[L|Pҍ/,cDx)=aS7L GߡM=X;ʣ$0͆ވkc,$5-# 2?:dh-MG=&GG$7 ()1} saOc,h|(183Q OP$OiS U|ѻ쵕.A]FHZFs|a(Lx)h)pӕ>'y1F% |{.t?wlB4 k~E%Q/|E cΧQ{U ilu>grݠ*4(" u9]j 16?l I&&4n[5(o3zU;^}C)/ac[ll sv.$r:ˮNy|'}(/Qoqε9@axȧO ǴT)rii ZY118){tUwFVldyh91X+2έ !fW.[G PJbO_4iPCպPp7T#'N&]@v+<(]fl<[s]=-Yk=S(7zIMGU6@pw%(C\0 -@*7tV) u @ދ2yn=Bd+)xpOXrk+>2"3Ne e26Džվﵧt.0XK2 ډ;'N⠑›!(LҴZw~Xӎ9%UxF}&̿5ފ@FK=XvBSBS/ea٩xP3/tFG!ӗshwHcX~"'T(nGT U鑑Nq2;*pF)=ei5:{0i =l6 3RC&Ȕ==mTP M+X)؂]S4į?&3a )#21g5Ϥ Q ՜Z*;&r&bJW4PDn60$4)fP25oZHEuv^mMuH]Ys>k6&ڛINf`3S]>&'<`qHm TCRvϝ0KCĒ2A)$/R{9^u ԫp߱w:dἳKJL '|Z _m]S8S;TɅ% p e %H$ŪbݯXoTS: 9#`LXȀcYJ]Edcgd*_Z6dqn BڅOh62I7Jб%gG_6–e6o[@( &bZn2aQɹ_B:qF&5!ܣ8cw/rALM4-yc c ޡh,yT9"Ty~%CAE?rp &{ lPVwoǃEDG@m\8` 4 }]doVb7"T;(|&8WXGJe45ɑ;H>B[ޛnُh)9ٿA5xўTu6F,Pɱ"CαWԭKkMub>5&b;n1q\br>T/]bmZM4 F N{n&&= CMp 5A"VJx߆0EV)c`O} @kaGS[ M\g쎂[Izb\o` q+6]q6ecppg\PGU1CZ, Zfn F1%5K-~Xgj(ї !d_yjK:bI"ҺWq.ᤏXLN@j%%2Q zNCP+O o-9,Q+!y$a 9 .8rH5uM Q>0YVe  ڇ#h8j@׸x]t5m 8j`FO%2wKh׬ļvEd=H"==X{cgZW *RAe{'Amz+ ҷX%Cm8[~*x<=gRx9` `g^k5-,B]9t6đMso+7TcSr4 octpBٮ>60$^ _^v)0p ;l8H8AD{+,ouSQJU{I Rx"¾^2~9|,JlI|J :KW +)H%L.?I5OҤ&]cFU|b@̨xޙ_Jj}n 3Y}"woR$ :XhU:Hwga!W3Kpg%a=ՌY(WPҚiE#?rr. l%KmdX^^NsYrP5Тo!3/o~=ŻjTNz;# )XQTK -=!+$UјT(߰  +D^xXKo@W,{ !8!P9pBxX8q6-BZ qUBӄ/#fvbIPJ$(鏍te3X@r&m3a85;Bxv /v5XI>k D\R )ѱ:T/0ɋeUU: =8E:2ȇpY݉fr2 K|xLI&ު{mu%ؗo@ѕHfyJp+V,ZNc7t-i`㋸^P_Vvhؤ gM _@mȖlˮOˈM]u({2r*5k¡Zt*,lp\~t"XoުCKb=4/+=a2)8deNGҋ4eǂzȪ,sVƪܡ)*0joH}6ĺ%hQEC5WjPuw=%Vs~[m_~ OD) ݟ|"0DĮHm y ӻ>ut&0=RaN^*z즟5@vh? 1h!`ԂۨCۆhŲ3r`1k xƻAP7Pw$}@P6Aɩ݂n0HmOTMZ}.. h[Z>NTk Aa*0Jo @h cv~;4!'zrpzX&v#`%ݾCstg;̀;~@z2i%‡ AL'ȱ& K h1eK$Βҩ/ Z 6KzZŜskfU}L.4t |1 LKE\р<4U߻Ìc uXR,B<4QFř{Ή_Mc1[>])b->ucl?|йj2'kP> @Շ!(9d^7z0aΣ$a_N:o 8ȤY'v\LPդLN+(-{BgȜgck5햖%s쀻+buFBuxE-v~d˭mA2M48lnQpc[ 85ZSڝNnI˧-MJ]xM,˚R;S?ߔVSWWT+k+ZIR;FGikL%mD7`y"'  h=͞=%HxSx=Sҩ5(#}v0ĦЋ #%$q(^F5A@z&3w}>3_+g&"'}/jfx9墷nEexqMiO:؈wHȔFz)6֩h%tHzPoS~R>R^/LA?"H 3Eħ Wl =T"tYNY]k:Ӛ8lT#d[7&x># qJAqNrIy-xIAH'ҜL8f|Lnit[ܓA+*qNΆghXÁ| ;7׻{:3TDm H 2bZ?~:b6‰GXgpB]|? وy)!hD.R+{E?޽:ąx\GDž'M#MunM`8 Ƨ]w$Q'VpxO 06<80#NӘsLΧydt5EVҐ pg.y uh?Ak{QB#xa'cgA]ސҔSMS=#q(AZidc2e AȈ AYy4P4Ix!f<ɂ%6:$5=͞e*ޠ4SByzh`Dϭ9Ğj^j4RV~|i'>Niчp,=IyUĊruiDVELΘ!XDMm3e~1iI=L::G1xЁMnvgLi^a"1/|4"2ϋ +x3 IO. /;|s|q3uţƑBުWܺfqb6]s(-Tix]nSLa")rR6h\]WJ\I)!);N!jԆ2JQDH?.-W{?pD, '9xZoV篸R :}iVm2$8o0Dbc xF2i:M sνҲi=αxmןcUc>N/V%n咤ws VO:4jF] qMo5ݡkyުCo+'nVV4CefFI2̱rUmqoF/n߻u/V,V3d͕|lYX6~2e5W[5/g7ݱvK iT%jbjFBIܢYX$ eX=6ꓒeR_%_l.XSy9F9T,KoK(Kִa.We|PQ>[E˪%T@5?m<=%:%Lhff'JܣU+6 { O {{l-gU85w:UgC +hg>pc>`[tSO*3I-ÉԶYe^ۃSk >7g$R]MldA]s Kh[]pk1]t#N Dـ7VMen:D^A5 HͭKz }DZztdHܨMRic,/ 5_MҗSgf~)j4g 6yKY 3+/l_WJ]a2Ug0!'W;7a&vw~G]VA,7.MZ]+)6c Q)Mԝb&^*$K5MIѝoAD7C^&ƗUbxc| #[1!̰!hGRF @&;CÅ'ڹ9KO( (l:;#H$nACR":)FodIA"OїNsKoj_g"ss$׫'t33*֨ f l#d =5Pf,8_d2Ip0pBDQ Mx`m ]naj' :]GW(D'2K+ f> '!tgrM g_Ѵb>*?%:CL\RP8jF\GF:qoҼupfh?'n&Cre[dq`ʝ@Om.n`J\\dr:7Ur`td-9&u+#U!CXg. ,*i(oKd&7Q4۔< T|q.P|TB,g+\$&RRj>*$\ ȴO 'ezAaFK֎0: A(K;gwF#=P(0ָDE2wlZۤ-4hI}-Ub=JmЫJ5ZVW7H3IwC\?/ͻD0_>vUI9Qݽ#éu9䷡p7LoMNA "0ct(u1ES$1ER$?y)Yޞgg&6(t,I%iF䎔8'~E9Q՘sE5ȭrErwH+?b~7FϢbDKԋI=9SI=U{oI2Ēx٘3/uz5]0hi!>h魑1Qzr6@oWhR>:J\}gAv":~ TKҋVg|> uvYࠎA~̗?jkP'iL'>TǮf)#^ya;pc߯AnGJ۷z9S[$$NH_/ / NxAgoxAV=YQEƫ};j0 /f/Oxi5^ZV'1M9>e 7-gBGquvOĔ2V8B˭,T%96k:g od^w#c 3;]A-KDO-:~ʔ\WOz=r+:vV$eݒƺg6Bhużrq~-/V`X4Nh?(xs'R"Nʩ3O.>4c}=pz09 ܥ0G xDbcd|:|+E1z]em`^D5\u5P^[]gV9"b%3rRx+W,̗boFUͤˤj"ʱ(x;pfwor*xa-UF;* }tPtB#[Ժ]x0Thp3fԘ\pSꧩu` bspojށDK/6U LC (n\AdEQVV}f]!S%wXMf.U`[LGiK=2Kd-Gg3qcof(LoeU&tWH(!Lh\y}*icogV{Ӓq~~Q녖0wK>/;vvT8kDawtlhԦ=j:uwۙ=-mD&S2AF K=jF]t01oo`-vbY->pSUnGcyoItjgl[Cyn^EgtKai-UbVWյY:F53; :xӪ;y;s80'G7}ẢUyxs;4sn[sn`K'C ֛'~)):NNtbDdWC)u5kZ!u0翆55x0fz5,`4_@|ˁ8ؙ rhWhxuw@pCh>BlK'lsmS,;C~6xE[l=}?/9p~ 3iV|}b sr S#'}X8uD`ٚ@)ʾ&m/@6I0ԁd\D݊@Tcr&L2{SoΒb҆i ÊjcTõm*vgF]_*{LX.g7cpSL[71&g!VC&L[B[wYhklfegdSE1UK) d%#kҳQO݈Tl 56'7ܵp*b3==I$^TʆaYLLD+Mdş &;g]R|o[gL@[4n}O4C oD8HM:crY'M'bvJ=xOy`  qhu*砍anh444JSPTV דe>rarks]92avxqًXmN,F KWLYBF+ }v#2j 3amӾ@QIA2L9*h?H\(S?@@1}b.WЖtL3f܊z; 0 KtHf[׮L:;.I!w2xbDg%I_sT T.D4Clp0>'I&}` ~p'X4{8#rŝJ.8S6;Lc;řv#  kJy`RE |9EnhY6I=RȄ$6PfR e-])2r2>LB#e&O60jbT{ }A:++vHEJZx].l\N»EMag~nL6_qví]Qڃ/F8: ԣsD$~~6#`rC׺F5Iyr,α,u}L2dKcAK̹/ 8\BtN^y֗D%J&}P3$ o1/)88K\(G2B/3+Er|؈N^(Sb:y5 ǡZeRcd-Ec1WWTº&&fae Չ3fF*I^}ϰkAhe2Uur5}XbgL.\ Sf GGߢ-3k {WGj6ጔJԅ@\$Q(Zm`˱p dhe?"_ :cq`|7wfXBmx KuJ=L&Hձ ;*t9@°SPlx's<@Gt%^Z /pUZ=k # }k"dV5ЯID <[wāEjo!(Qf}wɵ ^_ꈵ#L>ُ |xkLA$6yC db?1q p Z eKDOҽh8C}69H(g Ga +̊ Ob3.HC/BLͼyk%O@ic} BT/z?ēc6Up5Ii[zm8o{az G`Mp󃲪5zIYxTc]鵩PH2 iTaCy]MQ $Tq2hi>d솲 CjZihJ2LK~N$阇13~I7ΝJg"OqȔ}MCp" ̰͍`X[-h q4 ڑiȺ1k-)zBeͱ.=]l?6_=|=$SWݛ"1{~3GByR;1&c/h4?EVGBt2zDrwϕ2~ԾfqOjt6GI*$d5pv`kXÏV˼kfL.)C~?Π,Qx(EFUXp&9[Rq[IP7%h-^E{2E!IV7 vzB(gRBZos {j6bjy$.1!Pn?&TÊL8BSdؼڮwd]|&yJpz' uJPrl{"I)`_޹;n~d&xp8G̩>#'*F8d3i'GH3Li,cl^uܦ/A* 0 Z:~LqmCGhr1G#4OEGمd=7ڱ ()Q8X4/J-m*yëV8HXEz^Ǘr+8*ђ5b!R<45:U'b)W5솾C,ЭFt 5.ƌaR%RȚ\y}+HC/yUB CZ}1TxʨF޴|6JB}iBgvH }fTC,h`n~dt쮱bX />x=koו+,鶩,<1P`Dm|1FX"Ujd'Ilˮ UhmYCZXERfsνw3/)p>9ϙ.|Uwxs\n%g|ͭ:2}įn-:wO-{Vԯ3.,}y7z8Td5ǵruJ|u>s`y7UZ=v-]p~Yx0O;Xvi8pćEwb^kk9d99{]-WԹ}sEgcqܜ+X`8s }Cx*byseƒT30GCPn0p_z^Pe`=`c7xƮ?'΂)~ʾ`#T0 q? ! 1 -/bK×`5gsN|&wbO5l=v.[*-"Rn`xt _X_R1&x][s[Ǒ~ϯ8fjSTv֡)Wŷؕl9e+E0 hyI],oMnUI Nw̙9wRt랥g^}땋`^xKO/_*TSA![\0Uޚzoi-]?c%_)_}X\a3uv:;wvx̾8 jtqz KJX0U}TѼ,e˛ʅ?_|})6{%0Nfxn@}e敏NH 8nMcYrKHT# 9iB oŎc -xvǻ&ޫY]5-U/BR |tg݇t FxaS}c3X1FSL1& 1 V f"9+ӧvLB0KSVNݐJjdS9\ʢ=cպ:R9'%.T-y~ln ŁNAXzj{h,EhHP[Av/k@郞/;u)g(9EAՁ9wmSl%l]i̺w _S4to0~Yw3( 1( >#grO3b+Q%Wb>Bu=qiulR:lnq&fnu\d `BwP9p$Wv[qڕ"pI2Q:uM Aec*Ϩ\f!&թXtԣ),0giVG'OꞦ-b+; ,bxN3jc8qWm2YBz81{9 'Y!X;7ĖT#CӚҧ4KO L=ͪ43ɶ⚷_'Xb|L[/Lg*og/#Vv575_j>Q*g׳\v}*(fs[RY}W!_s S ͵\2,77٨˹+g'\Dѥ˥?4HSg'luF?}vXRc7muƖp] cg;z{q^6ׄ'6\E-4M@a5l'~ckDaZNRW7\ N*{u1Yhs&|d9>͋ezVXdn|rv0AFN/mDr|3Ǹ$x`D-f.L]._]-+3˥B/NDW˛/d{G7ȕN.2xiV1:0D1ly5_)T7>z|{W;PlO\.Wrl gLPȮa#¼K}+Wj;exvs~}5,/_b̽`\_(˶CCw"bS>'`(:[ȬMOXdF(Yj8P\< ks+PU%[9?ԮkhQ$5|F uӑ$$'/\4HPb@_=o#@Iɳ=m`/ٯubƿA<=a;kC kcm_㭇iP ,,Xω kFwXmHڰ ɦHn%k]yJ8 K|Ȗ+g PFv:Ú}B65 ]X;u &z,}+F&,X3.zdS}kddKHxE?nTc}HQίMD ODDl([Z<UrXؘ !9TL3:Z,:9l6IE-ߙ (iGQj<)WY=,@4!Lo8Y&K7!X҇=al/!lm,\Nb9p >QZV2V%g.祷p+|TT@!L!3 qv֓Ү)yhD,um :'S18m"re Y`,huLD}`VvN^bKN&A~LLc=$k+ZHC~SxUfQR&$5f\)^ #4kPH*L"ɡq6%X)c2N?l0)M?&5+^lO\lq5QVw~o%DʶJc0LpMUJ(<"Iõ:e=&'{Hz؇gl]x K5^.U*3Q4F'H#OQM4?|oT~ta\!Q3a@H%L`L|]oV8|%XAs C&xorxK DX:`[wH ^cY5 `r>e'iMȬ'BY[(ߓUI a{7E P rTg,%ٗ'Ƥ6XyTwnR2a W*U^ TsMe(CEB֓=tmuG#v;mQLm v#-"-6{f◮)045?.Uig4-bT`06cI&wSJ@ -&ԺO k!䎍N"G8enU !*֗͜ow|-.1ZlV M^etw!XE "Th+ol M{>CSbSjFGXiO:V;?a VnJiU2_u7,>R[Ꮸu̻$; ɨy.$kƥږk1QɭZA\n{(Z?߃"rzfsc frSc LE+hD7_F<֙Q@^$a@?BOEEKܹ4,&fߵ+|q.\7 tvCQ{Jk[= }}S_H6RREhqvO j{0BFdfe . 4ǡq"ʿ3$Xr6+MTu`G//eDQ`/MFEro;JiB#QE&/J"Z9^%aR_ 2R{ 1{=מshWTxy_RSJOcXe8ۼmZvSR7drU~T}3D>Y18_}=0UduVtZBMO;S VCuÂya7`nGs`؊٧ooZqξ֛ZFGn=olpAꞛ$2]:cZT'gdO0lR$14I$!fP>]?;-}gE"*aķ+b1p<*m:-[.op[F>2O QNSVշ(Ma+e}xtlWҢ6^nO:{i:@f=S5 jLvwx"ŷJHd/TT1":EӆWf&,f?g+o(4|25A䁨 o$sI$ǫl1лͤqr}i6UHE%mm+a뎭Jx8n$BHܜ FG$n>˺4ia>Y4{ }d% _'W Rt ,Q'㢜ZSO2YQl|h=8 m&?VQzoD:k`7$2.Xpݪunjn7G+lxvW%z$RG*? Pl2.&ڢȔ4xM);WaC"A0l^عR\NLZS, @ƌ™q:~ahqkwQ_cqaU_D=*%T3pm9-9!CD[wl7I$k=(Jx̚ I52HZO^0y6h䇏[{!؟zl|[G3b9[ܼR*jM'Yيmc4YoGu/}{ALϝ)7$2D)֚H15 Ad1|ϓ @e{fk_Zd9,}U3#²H>гgGOuM<`7:$o6xOsK֓wPO68ɭբM[QqtI=9(^#NnOG Q'~DּۨaCׁsVBgE5AIqa"DD{7_{h tv/t_.'@|ms:pdgT+oceV x=aFrٲHLYgcFϱyĝq]rٰmk eL+B#1+ǹJ9G[N Єr#|d{ t?hKKzk6R1b;CQx4nb F!k.;Z3+za zggWk~H?܂I4T8 Ȭb $}p'uib(}t8k=!owwU \y5(Ypޟ}?.ϫyeꝺ;昦bʸ f.2* ֓=@4M{ʴNIbM$Ov>\+A1QS8r'W$HtBG5x96mFWI쉆]cZf_`B:NC1_b}NjV<.ďͪ8'%,vdcya^WM~>v!K[Gc`9YVӠ_TӴvb=*@+NE#[\%cX>O3be:Ǩ*duifu/2]vO<1GәM5c8I:U:u==F%m6,*a}'TX>F 4ՁYˌtNrP)NIdxYÁF}q(߅>8[:淨=5vcy]>9kjԺ f#9]Ws;1hfҹO(!nJ<ŒQ"vu\y.:`oi߆>}#eu,!bTq]a(*oi,uV :b A D(]'UyV<=A-/gR^?'kiǷvV=bB 0'Z9YQO vY'~OX׈ϓ6xՇBB~~i C:6C!ޓULնx\Q~?&M<yWXq_Rً\c _⧪ ףUmwG]|nD2 VI%eO+>+G;*B?ti7bs@B 9Q(pRvT09Pp{[ mE#qVJnf fNڡ@k CZI'C1Ȅ5:&s=r+#S@h8#y_c$hҐDCeOpgrAIҞsӔnt oXc9FBQ"^ysBQgh fAO5{j%^+r&-kK`ȭ1YLj&$'#aJecqn.W&'P*9850-Be g>Z^Wszv5\ɳ?xl%9SDG"MDnVKZ"XWٛ<нCrKZ]!1*it FV y9Χj Ӯ8rwh.ʹ*{0ߓ){h s~{wacО2-~6@trX9:T` aac2h[f2B+,g4Ib ͓Ɉ %-}0dz@dƶ\1klßmb.LdmQ !BWtku,_krGڥm@hu,ȚZ3vCAnC*&`k,|Vi2kFȆ[m'M7BѾ^ښgKFr}#P p} sfҽy a]Gs^;1R?c w⡡O>%# zS.g G* -:z|YC8b nٻ+jܤC;?j /~1<-)<*MgSM>dh3tuYӕw})?$dMSWmӎwwuc<yIyPF|iX):i#X͆ݿ 0fWהKԟ[4mMIAѡB0>)leT,ܵPLÅJ^>N"d&ʇr1A#jU{*&+(%27GV9=RO5 >e>&+>^ x꬯, V&K_Up\] ^ld1'J#K!ܬB2qRFd dK/tON;m'A91DQ`Y1L &j(`l>b>=IHᒫQ Hݒ\83?b QmiEQ1DF%:u&'l:my:!w)Ϣu,g#-HZ8WbO4оHL6D[t>6ɡij^*倏ؠ'̶Ftgd9rɨ,-qw?~D=c5,s|q # c10kM5>Wz{_i7wrOxr4,oX:90?/a ##N2 \4x\o޿N% l͆bMAKŖ4r~8fllۗ,Kh{)iE?"qL>s2G5u<NJQu-TKTҥ\ocͦyf5L0f .M0Ձ%&&+Tʺ\2y=dd}2s֫BF4՟U匿/wÏEҪqF|񏿲HMZcYZ˰&/d^hTdu!Sӟr$z* ZW2O,^ism˕3WEeG lmρD.~yBwϭCc54?1/jX.@4i0zf6.<ȗ>Mل8vcahڄ{ ;4ۜ)\{2"BfMV*죹3!_t8`6\]Z{vp \ ;D%^t7i]fg`5\!1! ^8UtŚ gM> ݵݔj1шLĢ}D18AN`2ڏ8[{Sa AP]q14ęp[Gfh0vayl. F]Z/Аc.hvd#I2;[VF !BXIg3' '6q)yJi@;h?j^U-W JUXTPZU*3Iu>E.jcҵjZa!KkrWcރ;~fȞWxqrHre+Y.Q(%~AŰEvbAzD*W+h[JE[6/ _RY 'Hn}Q><1 lc A3xUKO@WlĔ^bR =nX85-7TʡJ&0yvQg.qL)vvwv~zqݛj~鑍/z}pÃ1U)'-|9^G7m}Gf+G }}cow`Qa7GLmW܏%yꌣ[vM**up%?( Y`ZR9+/ 8ԪzO j)yWp15|bMq ,]Kh6QlYguQ6l,߫@o-_R*0JYruk+sbVƯm)| =d9 *]ݧuӻQOA迁`t`7 ewI.c2 !s5@ =O;`NE!YDhsR:#=+뤗".#pda?3ߛNu\Gq{f1D<j;K\ =CEFiM$V|eE y Acf,3!)v0!.Y$.pa2u(ss.<$E4.Gx< xr#fv~r霝Z^bX?S7q&xǶ%J ^%{BŤDٌ/6Ƃ=!t%^=&WmeŚ4m%RO7;q=Nh#ȅ0.nmJ?wH}! 3gb6e’Ӽl4XՔa~_ta)O 3`ҟ"AbOĠtEdd$ىogScvH#Fq@! -z9#Brؾ13n7^@rh!NnsAaCT`$tݻԫz#+oޠɚ62RV9 $g+OS@eTS,G+!.mǯC7>ށ 30ʙDW &HH(O[C2G#WF+p. xS(4d.e3 Xݩ,8ӎM{x4 i .M Sd}&7㉞ڟwڢX+iؑ|!rF toڰUjM􁨼9fFdtDWG$;/zbEûAD`0nF1av_:?KٓɁ\ɱ(YuN@˲?`TX .lV7E[aj\}d4LxYnF)4, .HړiSe'uqK/Ȓe:3ERi7v %;3|>zõݒa99vzSV4uC\е\ NZ=˛.|y# W#h%YRvͲS\GWE>cL7}u uk+Hwj*ѹJUXT]/Jɩ/|Don>jK:[3z)z-Vi]U~)5w6kEtUk517sʶXNUjcgj^ڊ5F _C 7ħc ~qgc؁zCEHG"xD[9-BvhNİ@u^&}m(G#7sx .a:Ϣ%*SľL<!\wVHX|G+- 5n4/y]vf{ni7xٰ;i]|8xι0Z{Qm'cf 9ݪaj_=*o>!@ W+Z.0qd::ձ^W:U]>gv]b) 3&Z @v!lq1]wȂ1[؞[k~(""#@UxWS8 -Q#M$Q!L='_#U PҔKu ;(X ngH mKO, aPNj' 0{L:eTFq\!,!S)!^bd1fdHedDQ!L-h?P} HJv)NGdH1ލ4F JOP_} )M{%*B/&a`13m({XFjـ?}_7xSj5k 46/: 0@N܈BJ=掷X xr2f "CSJT0.52\ez]纬QF&9y`'8k ǂ~RuI΋vt*̂fOa/b4Y&ax;I8CVR"yh师U=FdDuZa2BK ¢gqj%mz}acvzݺf o @@;zj9pm?(sF B\Rl>8*\5%42RikFx jVtf"b`?\jw[Q6+YN*A22DeFɀ# r\J\}^Eq{bWsu^o&hp6m, zU3ȃfW`gBK`awٿZcߟkޣD~=0k c <[=O\VpUrw[nNz}Cc`M/.6SF ߍ3744j'XtY 3jY(h\2R iS7ΑZK{uexL 6qm:nViV~p30 H'™OI|nSf(X=ƲɹD31aw[}sh9q٪Vn]nEͦ0 T]Nym UT:Nq.6.\!zꐨ-p ]3h>9Uڃt ~w= jrdS 7d̖9Z :E=eC+/CH~F|-0i~p SC7:prhk:q?Gcȯ1 yv %׀j[[p8 &Ff b7X0G&Aݨ^(*w)1&{A5XI-eo~Fۿւ'Bmaqݥ>"纞]fQi/d|kBtkܻ.i5uۊ>N#,r{bQiL7]\zg=AYj)63Y,XfvZfO9u gg80x|PNG  IHDRaJIDAT8]KL\e;wy1 tʣMZ"GB4I҇ XMĝ&…&4q6`Q iBLM1Z"0w}.p}}9>U %/!of͇WEmش,VJt ?L˲_˧qW^gI@pHK"H96ҕC:8CCxv(U7낦ҚFȵO1]Q§s,Fś{akw<u@xC;::n!q1ܙ' Xr E4r ORϿta =,2<$k>ZK}iNϐl6 Y+$I&}~kA, 쭥HR=r AS b YQAҲ~JSE =HΕE%TY;Y5sϬE,"" 1arheSإ)1z,&o?ȥPW'P1n`Na2x%1é4ڷiz컵kz'jgj[Wѳ޻g#|¯ tnyi} mM=\iI04~#A#̞@ %ibۺGY,RUKMN['3o'8}_hl$9LxPNG  IHDRw=bKGD pHYs  tIME*5TB%=~߾}VzKxkAyЙ{JK,+K)t@yb"Ȭp&`!'VR\l@`S#p)E?k}'nRƸy4a!G> p]!W7EX8<*ZBw+A &8 -0I%S4iG,x>dsBo[dxư'oHY#O (0 ZVn}k_ԀI!nA SkQ)b3e:,r@_\@4$m: iD H( k? i3ܱ!C#zFp"ZļXƶS,L;㣜s\<{ ŵO^ @+Boo/y0Y6 %o=m.Np^fxEl.s '_<(FP=_z=##caSoacpOSVm(Fu `;7#6")+E+EҸECxFvnZ|禨V jB3}GlWPfupZ#~k4J9$!!P+*J_;'?~_ajnE\,G8=] %9YQ:<+Z3M j麷)Wm~;vla&_f4YW2+(@nc<WU忉Op1Y/ &f*ԒLG{`C!Փ?%:~4ހ^-! G#hlD}Q.KեզŤ'YqWS=tHYs䲭= :B#$&8pL8 ?,QOѪsg/=poL;A.KJ4Ovj/1b tMIK[ؑbx Wj"o!M`2t\}̩\?P<OJqv=vYobf$RWqjyxQ2{K§Y_+5K RwH9]doi:R6dI?IENDB`O%DqՏjtR/E6c{,fU+=1hHu[Gc@>HXiTͻk3n>A@ O[r@!d2YSձ_^Z 7{Ƈ|Cit掮,~H,DGݱ$|(,>VO)MAH@ڞn"1@=ʺ"[ηō- $UHsDV!X4ǣ;{݃#즳~y[t==z̜"Qv^6[%gR+lv555S-;۶@׭߳k?Xׅ~yU;ϱp߳KmiVOjBz#n<"eHDw=g dO$P$XI4 դp1 (RBJO:e90V!-=CxLdX"/TFMx&TROkxCѽdNfrօDTQ(} 0'-Fwr4`&tU_5gP ?lHW CnF0s6Ҫ^6Z<>ڋ,W04p_I2s\'㩗AWYq]@ٹ":1BDsUOtu+.bx(]kZy73M]-ɶKP B% _}fzQ*XP<\p.7\fN 8" 5lj|C4HzIp]ȍ`u~?<^pDRʴ˞o@ 6cǻw|o_x !p4wԊڙ, 0Ud]->~O;i,Up\ H '҃=9 O>lIENDB`d ;3;m=^x%PNG  IHDRw=bKGD pHYs  tIME %ϜgIDATHǵV[oU]6}3e%jgh5$`-D|%>F#&F 6ȥ)Zv:t:3Uxb?gsf7oe}AλkAwmCkwC=y :p`%󼍶]B$RU5(JQ6)!OsοBtٻ7vM=wFfMsS}KC+m|~eA(KH"!!"P5 - JKӽ\U}CC/-^|rvv@.8P4ApB0RHVA3t @ww7Tbuc#67KJ-(tf!y>AVfk,Tft2pcchubR6 ;S JKzjcjɬ`<h FwVѲpSsgoQYܴIn~_$i׼xˆ ,YZF܋?{ EC {sԬqM˗6 p׌Xx{56qHB| -[U((/S Z4.5{xttUJeH 2|χAJt:=݋K.8Xn)hdMu-)^:uyK%0 h!H`]ѐJaxx>10PH }d>" fUK*SS]A_-ߙ?JՌbU8At}.8TEA2ˊ!30 1gvtPxhjfyM^Ր C?ظuuuطTl#1PJ1 ֕\ׁa/?p6?>ֹBD:sK1)UUa,]x *BA(iBµG>Ν`ؐIÊ@B+0ϣO{ ۶[l_}@K:cEm$\'Ɩ/R&?#²,0BBH\8ls( !]( @7 Xh4 ]D`t]s!bZj5&J W % C US՚dMu cA;by U\"{M& ͅBPJ* ${D(֮mLo_Y̙3:;;.\+ UeW}\M@{??!kDžT*n߾}kX(A]y$$*6mMO8m6-[4.xD.gg8=cb"lvlsY[v*Jf{zzNOkkkDb23==}o8 #QЍeɥɳ*K#^ޗ~_E__QMtMQRH)<}w'd25k/ `2eIENDB`ӥ9X"IDATHUMHcW=y1%IMc03+kZn"ųAH@#E,DP$PI@ L_b̏~]tH5tS(={=6oA"x_8Z*++˲"d6MW=5L$}F/yv8vvvn4ĩa`` [eFFFN]..kwg) ^ ?ܜs#NX%B`/GGGQ__.Ȳ\vok3 RT{Ael@HTƃU|SaT1ؖAՖ> !`v_R>\^^|(njnn&I`0EY}.#1&ZMl$I K\0,[˲X,z/--X,T( Φ˕xHӑ($"tedmh  &mmm4UTT70suprrj5KyPSSe;v~?Sbm{KΙ32k&I'IlƶcR!*"}ŀłRZ*Z(b%j23$Lf&99sCڊ"z[|o-XPc#'&&ӟ6 !D<=4;96:F=@l{e! 17?W8 LȁloWzbpojzݏLN]ddb^,m7ԫ2͖ dg'|+_s u[XՓV&i6mj&-o<K ,%iEܖEHF0k>gWg~"Յ:g}KBȂ,I(a!@H BHRԄ{{}Om[%;3 )@  ! !R RJ 56tON%:;vtKql2ŽRȇ*@H@8@J%{BG U`P&˗*yrݐtU!B 7(L -BJEȑG#zz.ܾwFrvnѝr6H%Q0UIu.JH)PR!$d P%>NxPNG  IHDRw=bKGD pHYs B(xtIME  .2οW;:u,vݵR_xZ(A!t9s^\ 0;(=o?S?}=S'$`q~n? M4lXD6^| 팑˫x%tƕK\7y}ɑÇ,k||G;{+O|C# --`@i"J6sOpgyD/8GzČ$lR$5@<q /hIdz=ERo@J`G^b6V%<3q 22w:SX,v"I-yC!X*Di9v=:#$DaЬ_;'L `uBeMIuOcG=74<|j s7(jEjXI"ƒ!NDb !aTl2E!FFR>|5^D:T{rl"9z>r0LxK\FHA@ڤڪ,h*u>u(޷`YJ~A'Lc݅|};?yFe 06ahC: \5}ã aKfɻEyB"f:cVQj5!Z+Vx!O S.չ~*B(lV07r^L IaQmayM]7B m?F "?8Mȭo"ssk4^˻Ṳ~nSO81hi4C x^!0dy;()8[vxKOo2CGG_~/~4 J6m6A!N`Jyw,S3x˶D?]fԹ<ĉ(~~ƫyƗп,R1k.PxօW {;w8IENDB`> vvBA/x/PNG  IHDRw=bKGDC pHYs  tIME5 o@6xPNG  IHDRw=sRGBbKGD pHYs  tIME1 `IDATHǵKUAǿsW̲ !p$ZE,[ bwF /}^L^ǁsΜϜs{zzpny0;6H)B8ѣ5Fc DT9X"R D"mb! !N8CU1z)`Yv1}Zf)mXe#R8)]Z M)}46&#@7OjFW*"˵]\<ՊާJT۞\wRtSm;u OE`#mnVW'秐=5.ljz\ w1272/}t&WWxe-wq:`'l|+|><opjq7) [+)dԶe4 njA6P80?~G@:,h[-Ha+؞ɧg_}<P1 J)}%3.+t^=x{ג0==+}{v׀fZx&'&8@*0ǽyg_PJԩf:+nJ$NM;L#  Era1qIENDB`2Q!ZIDATHǭKle\ۍ;uB&Mۨ)Jhx Ur!. \@ Nq*#HH)T"0cuw㮝6Ů\7`Ѯfo矙NH$gUUqo*YJ>ae1FGG|>ib p`š!O8f``00qPx<4MRlR \ :iLMM177: P>,"Nvmaaa4Mn˲dY^^Ʋ,4MxppQ4oX$ϓdyqKX'NQYUU, Wul&Y4 ۶D" ^gBЩJidY_}e˲rwP< 9׋eYiV}jeo[B?zE\.S*.5s\s`p}އ{qܷO.ʫ?^6[zln|mB4W+mw"0H;?Z:>x @JU@6~W ?-d;Ds[aA@]^{+"fv߉7d1+4+cKB aNkB<}w_b[hE9,bR$\ x?M#-eqwnnhbG6p<(Ufѡ4&kw !5ѣ꧱P]ڐB6XT h@DGp%t]R~*- t]hC{4'9yLN^I{"@lӗZ!˱o)&{ 8o]uݗL&ud2y5 zt IENDB`Q@ bBHOxOPNG  IHDRosRGBbKGD pHYs  tIME /$>IDAT8˝SnE=Y{P JCʟU!O x+K$*Q!Ԧ UMq]{wpMT=Zͬf4gw7p1 Aj.fs0xR(CAEdi,D ww#$S+4'U(4;߹6(Y'$H%ј/{ 4>OIꦊ.L e~t@<'!T3Q4Y $@2` \"* c@'G83'_Z8Y  p HP݃&U[ <=<8!hK9ED, )zf4'Dhcԓ.?(@b|qM y[@:x$* &s#I}JjGUD0X=&{pSy$cc/%:Sw]Tљ癩/MROpVȤh,Ǫ s`mC]9g?gbk>a bԷ؟zffu̦.AGN;` y6RpBӁl_ޞT,whg4Vsg~n35ĢW{'\;xqMwd㺗SzO_U}Sk>)k} &U~7%S+_,䕵?2?_2cPQ+~fQܷlv׿/]zlmhťJIlobxU[uSI-0<]\9%4ZoJCx sb``p  $) w'ud^9lI. Ap品" 0kPו6HdkDs~nnj^ sQjbIjByfIo@x#8*Oǐ <GV}/sxWK%l/^e&_yփd9Z֟w|Y]VwӍE)Ζ+ B}K}Q0l f-b8y $g[uS-E ;,C,aԣV|V0at^mtMpéhpp|U[ٔqڳ!匌~yʵ\gE7ߐYPy)4/u^/m쩽=269Wh`kBB1jG:S) /dw"Om5RqÔ(xlZTGPJ7b;0&_ A8L'>:Fq%UXKJ)]k 3bzA/?X U/WPozVJ@1""bT3J1o-T0^G);ԃ8R$M 5K+gePo+i-#d4tAmG{3;]@֮lh=.3MCg(c ֈDdӤTrFԀ{Rvlc- US( u+@uSV( z~H+Qki(p.{ T8p9O?u1wVRzlϧPn@[f.]<xޒ?]I+yL(-'R0/4?{έ<{фnض#V~# k Bp'*$W~ٱJ܏".'`@X\s:6a?T. 錽qnzc<5h~ݚW?ݝʇ?SПR=_:'sZ/\J6ҩ/ >E<,Xt8AznxՂOɹ Vѩ̤g( RΙBDYD^çS͞~u--dmQqKpQp]()GC`UG_}%LӔ?^gң=f ojrNR]ځկ᳇SXnUHp,Tq.gIt\X4Fu$'NG(D|IENDB`=f KG8 x PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`XF4ExEPNG  IHDR BbKGD pHYs  tIME +utEXtCommentCreated with GIMPWIDATHǵOTW;o>v€MVD҆0% FcLtQUM4n wn솽.Pi56.`2f1o޻ j$ws{H@)(z qW'{? ?+J[+:%&LR$OE7|ay hٳgHc b&ERR)ǡR.GE4x4PNG  IHDR szzsRGBbKGD pHYs  tIME 6b+tEXtCommentCreated with GIMPWIDATXWYlTU{m8!P$Ұe}mF D &b01$HHx񁄚hdi1DIQmtss|!VPp}d2ɟsI^x۶)9Zk1oeG`Ym#aB"mS.!Ç.e.B eEs$Zk,B)EZEp]qPJaYR) J)JRJkN) An-Ֆn>mW[k*kH)Zn 6NO?QLG풖0E1LOOSر5wknbdd& R`YdZseRCCC6qҥtuu嘜dhhl6ŋ\zuY\r% [\8mۦ ۶QJI,DX(oqL&Ñ#GyM=blll9יLL&8??薌n>OFα- nUuux)z77ҲоNn޼+RpqZYާ9t> (9ȭ:5gΜ޽{b1fffx%!p]rL6u]1.a61556FNk8K[[ǎc߾}qOKK b``t:ͩSZsq,d2Ҭb>m $N>Vؽ{7ܹbtyybq*j6^*l:Su,As#8j j5JKXJD " +cIENDB`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F"IDATxڔKTa{SC%Sr ڴhSPQA)h"[ ShA(b:8w>- Ph9爪r>_,KjSH:[tÿ>3 f4jՊ6Xc.ibP[n6|'LŪRCø':hLTPkqgա|c@,hIoUIO",$hkظ\x٦Z|=FԹiW_0"!j`RҕiQUsҩWkY ٭&ީ$ ]vk;E &j$hik8gwpν-F}_Cv2dGuALM14A R?!x|pgD8j ܝ#4Ƃ7;Dיԯ> SsOVXHF:^떫zՓr&!nRwp$ڴ6 ҏѸ_9/{k"G;M?=7]Z\XI|\d`?͝\kOl$'{/K[Z~v0*ZO*($*ecmJD}hÂz%dBLĠ"8OJ$)>Ï `!0#(L@aT;^ [m-Ml)<^ڙO٧]k orӝMc`~{۟k<3ijj*xb,qLCNf#E3ĦXVb(Nì>aJ9EsnMB H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  )IVxPNG  IHDRw=IDATHk\U?sιݦͯkm(Vˀ҂"h_$}2HhxPNG  IHDRw=IDATHnUUksZn[ҖHMCB@L$A1)#'N/0G S RJ56?fp&iv;pasfs3wF~+Zq #X8a #cG <MpBRC 8$ F3PUR4T:zgX\T# S*dШ>1_^2a6ًY}ߒKEI,QTs^kwozėvÒEd%fJGC=۷{~@q0,G?!R 6ʝkkOZLxUVHEyJ<% غ~wmŽm1 գj@.*#s s̴tHAY.rqM8cI2 o6."rS @kxL0Kl{d7v~sJBخ!_#ĬCsŞ4LEvh[ xeU/aMBre,ISM1ڕPYjHg t{i ._O!xusKIi*$RʾV(;Pw:lP3V fNt?=A  2@& AB7Τd2+LS! GO#Hunl8bҢ~'aנEebv#Wym︎!Vg Mǘ{Žh4 ;͓S~ZSF1ֈuއji:Z{yd5s ]0AU۔3D03NenҠ Y:nuÜ-ٸ sBK `yh} N0qJQ' 1%NOb1<&i+L(7F/0\f =0M c— ^ `TCTеV+OZ'ԠC9CeRBQIENDB`_0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FkIDATxڤۋMq?k޳9GSͳq)I)"%S`P1=DSSjxY^)^C\A39xKXZZpyu$A4P 8u"n0ta@BPjǗW yb\[لߜ>8NN|3(ƍ TF`&LS$)W+G7 ySg:i宮$:::7u!c$$ RD5 9\M1g?ǽ!~4غV:!x*}'n}(]uC;q&BA(n`\u'T\p{졇 ۷c0a B@Z˅<~꫘':8q~7E&ShjN@U#p.^9s~ K$m|4oFQDc18}sJes=:(EmPվiXæg,UF8|mO aFoIZ-e<N{%Flق( .$dm$=h4P0Z{EPUEae2.$[JB(PdK%6L>= whB@QHr š[ceRȊCס*<KpɓΝ=rM`ja²,7yӭ;صk@̈;t<B$D[Bݘ:qX iQ,/.\ ػwI,222Ҹю=j8Γ/^o4:17$!F)1chO9ئtbСCuK'_TJ$w .rR&s[ J5U>oZWԈzngW1=Q#jDeR* !8c,}o4a.oO t]RIENDB` OK"$*%eY%*Q#G wo{~Zns_OL' /qBaڶ 3A J$L6#@?u:>:Y>1jRn9 CABp.|Cgg&D4׮"Ctwu>A)q8אָϞ; 3v^!(Pwl9<σl78nܸ`磴ZDDJZHPސ;Z\-Jvu 77>MxTPNG  IHDRw=bKGD#Iw{ pHYs  tIME[8IDATHǕileYNKWn"dB Qck@R A&&,D%@55PbPFE.r{};?Z "M&9w93B4v[$'BQO)VLUYYyS6ϫ\N- +ۉ$ñ=ۺx/,7Yְa!B50t PmΰX7֍o9IENDB`mDA8A(aA( 3Loi RߎTںɁ+WX=J -iYmcRY ֕-gtC2BQstP]=5^_VW|yq.}2SfϤ|- U[޵jKD(AENΪ]QyQR.tHل mͮO3@%v$3ILL)f$?)]GĜ_m]j݉aHksY-: `dFeYi#!ڤR9i)Y y_IlFQĘm8E\:4{otQYK,$NJ 캁jUɤtK#frDQޫ}@M=#L&d]ׯ,TG! D{r G%݄;!e5V,Nl9a)cDkkea~t:ښeo kv +-jw_V6"sd+(14G}E8ryT-na9q6Nr} VɂO lgem#_4TYKFWn:,f&L_BwFFyw ?Wx(CR-C3g<6^TF\9u6s?cƻiѵYΩ-FT~iT -'ɸn%hjGutC8)_޴cԸH:os,|.b /( Gpb6AB^ŝL^<Oɷ?\-Y^]S6wkNS^#%Sh..EVŢ C S &|Xgˉ:O\X{dShyn Q~A{_>^+Q R$KXG.~m筨&>2bIENDB`%k JJ3Njx_PNG  IHDRPgAMAOX2tEXtSoftwareAdobe ImageReadyqe<2IDATxb`a?R|aٴYbϮ3(//zԩVq q W^V㇏ܷxe”xqvmff6 ‚¡X<| aaa\`pܼqsڍ@O<|<}/]d={VYYi@ō]\\]5 EK?0Тpaϟ>d@[dgg'П޽{@;S50c@q4$led._IAAA`=90JJJ@񴴴PXuϟ?Y{ùh EKan -o@cR,@?+**f͚89'ĪMV{ 9 m!!!$9sFQYK_XQauI)mx }]ϟ>>m111ren:a`hb)޾}R5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  @AtIME#<IDAT8EMhTW̛y'1HpaZR)EB tEIp.\+ n ".\,TP](nҴAbәL{|p\оsؽǏJ&sH\=ͮ;ĻwW_WP=ZT3=LʕǿL=Y_GAE {=lL%_3?x o-..WWANc&'1,a|吩) ؽ%[\*[.|U_qσaiAI;-߽*ks~/0(nk6V8YKZ*B*EMMUUV#*h s"̈8rTbmk}o|*KClj8GUz/^6Eڷn!SSU 1Z'LE2=uj0,l]F9NRsJQl"yǏ͛Pu:stRvC CJQQs߿//4T9R 9Wg GƘqLߦIENDB`G f:f=P~xUPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd3Oj x _PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"b!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻC<e;?TTTT6ݵan{4[>ɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  @AtIME9$jڂIDATHUˋ\SU{ M^cIH"F ٙA y^?R "Ƞ,R< "(R<=GO?n}T,% ;SuΕwߥy">i󛛿US.bL` rBעpe4w?Ĺ/|c?׼xLKKQ4xTʀ!Lk6V`͕IL{\qի3~7ڄzh ᰆ=ѣkS^DFBu,vyw7EB,Ѣ@MoSh|9x.ysQJt:>uʹ,:3Zsz& H1󀪒 Ķۂ $U,t {BtDDōD++;I!*`P[[)"Gj?zc9۽Y[}VVMQCƐ!dde`0bB`d8u>ݻyE"}T"(42hiOp(bZu:$_|ē'm-l^Ɵo v2`!z=c315]z`բw6r,K{R1; ea8Dj5i~ -iJiJ9k5J&!`B`ݙTA IkGT*ΜᗧO3ǘ) _߾?.,C8td""TU51^GwzEz^y8|0:Dp 0ekŪ9R8ytJƑ#?{Et{j!6Ԝ#6Ƽt"TlcU?3;Cm"޿ΝE:2ZDT"oߠfR[|`i s&%!U Ρq1$d[[w~tJ苈0s֞[KKiK[K@J=`EȀy3:3EyϞfw^p!}wEo̯MDXVE?b#58@ d"7_q*jKFO?ϟoކ1sƹA$Tѱ@;"-o̵R_~D$x"睧bicNZ+F$q^HT#Oܷyt8^IENDB`E1> m]ncvRGwqj'zo]? "2vGnnҿpF԰?֌v3E0:-ZLOwonEFpu >}%҃R?l}sdL4 Lqx2@1 ҭ"\s+ O-vDQւ|`{Sfen9pu?{8((VVZmx(ׅ6.PgT5* g]Xy~S*y݉2\}א\-/o4_BZnj 8#TZ/cq1\Q1M\M]tRjv`P1@JQX!+P(NO_8/w Ìa:IVeBSUPBA0@i붥~WnWW|Rm0b(g0T:vTSS~HДnDW D# ۀ0T}0&Rw^SO=REDe6I}i6&-ؚJ(\sO}o*9O4jnN^軬`:fetC54*z=_ i" <E:ZsxtYi -"47be`phq5׼+_DlIENDB`L  QxPNG  IHDRw=IDATH}luǿ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڌkLW,PZ0K/D` [ n-t37lED̶aN>,~ZT,ٌɾ(Bb1`X#R b[!OrrN#(³f)`ŧEsTWWVWWiZV50OQm6ۧQ.Ԝ4f^P$A"Q@>Q'!;p?V5PYYXVpF,C˓+++'ڢ$I60\=|؋qpmIKMMY(++K:~PL}}=nN"F Ż)xFuuuo^eYz){%v"''梍"BMs?n^mIJNl= KkfOc8Nv;MM~=wϔ, /KNFmbU pq:L&iiA GJ`[BgP"pd->@!$$l, JgUTT d_b,c||\\4;D.\DL}r,xnIn$^_}Yj:`G!ɜL{uZZfVԡjSh±feb0Ģի&u5 hTƒ?--q $$atxѱq 2ccDhw=(ݳјh*ijr#!f3IIIn֭/**QFE/;Ts ^'*Vcl|XD|>?w\.Z:@JJhTTn`Xz7-G[]]$IFXMFhmi&..nLfGtʕsTќp8p{<&n&nZ`dŋ^I6])mll].׎bтleeewO @d:u6]9} q.$ӟ3xIENDB`Y %%HRxJPNG  IHDRĴl; pHYs  ~ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$CG "IbX*QqD2"B)%d,>5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FC4%LEZ1;yj!xvXJL5GŸpe7UN愷]o_\|b~$?Njct>}i) (՟~G ,cL־x#R5pPwCK&CΩcPiޑ\qJ^פ֟?sЅۼ ?73&^c^t \ H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<0rr*YU[QREٙwI@[hl1i~zhe9[8 TeessnFPUӭc<׍yLD}mI OG(Dr^nԕ47q+ h]Hδ'S'dZRHL_{ u>6-qIO(DCi) :&IWK$_];*96}k.0~2!^{A,v vFϟ ]vK*eg ]iik1My$ͽ꘸XOyK\ 1w Hna!ః;MJ~)߄ DPKbighi;{h)n!Mn|'9׬A]e $]ZuϽ5h4&%j׈>V@(itm((Z8wVX8C`E.%kxje//ϟ7v|NHdl 77gL2HO-cKJfܩKO;X"mii)5?PcgfFnvd #΄Q7l)驧Syw&.Y6 MHKK#щ ω1 7<3{>߮>IUUTV  VxPNG  IHDRw=IDATHMLG]7"NHPH6PJ ( N8wUrxPNG  IHDRabKGD pHYs  tIME :t'qIDAT8cL`ڿo>3%3wE ˠHK?yΝ;300cr…'O?k3*"BBܹk 9X }ӗϟ//-yP[]CW~._doػw+/^y6ȍWmZ.&V.Uϝʕk2s`ݳKCBqoشy^هDX0\tcWUM <*/,^e ^yۻ8eeHwɋT3./0ƎS֬[)e5]Ԣt[]]'gBۇ";(N6=oM#vS8E`M$3xiS M IbfYD"mb-m h"f, jz@)3S=H$ZTś(dE>ѧ֝3:*XY-'q޶c?4I* wezz{XCǗ>/LEb~IšFUщ*~čPR\ |@wԕpLfPcjG1|P݀(QV T҃gHKa;:ƿk#ZLCÞ:8]N|>(N.LzhOb~W[>pVrW9ae-ϯ.̑ɡ#zd$=}0tJչ xebd FYd*H^^T-,4MC. Y-}-<'+Ӥ\ $JO&> @da4fn!IZHCn !u?x]Q#ϤԥKRP zof]4p Ƅ4Қ?rm"ӗzZHoAO|",X;X| HEE" Atr?00F 7s G^Q@cCMMM577~O&IENDB` ^ 9X&xPNG  IHDRo OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\FĉC03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME1i0IDAT8˭oTEƟwΜ9_%B0@4.XL3k21A c \@$X"KKnv?vi{Ιy8-x 73߼ϛ̼xxIzi n<["V5[Rru}L@L H ӇNg$v\!` Xг  ""A .$t;s 'vw<"m+" m(6v ZA$DP&Ғ#' A$uAgVВm)=WNf  f&0ACHØ 'l򽎑(s,va8(WEGvfBKRPӝ8ytA'-pz~tQ/՗#-)wn5_̭Qk5[[ԀAB'+sՅjȺionn~0 Q*&&ƉhwOBP,%4J rܸ8Xj}#7* qrlRjvvАdם؀zw~|8)8r+WFGG??{6c˲| Vz{~p9̮EFTͭ?aΟԟ |>KRgAcXڶ簾ggMyPo:gNVέo9tb3{w)_@tѸrF(v 4 VzIicfJ ##GM>xP. w`hdzkb_? w I{A `#e[6؁Ո"W[O7jήZ9el.nc]Z]$MƵ̺X@ ^3sRJG))R&vF:&2D㭯_J4 !H3FF;Wr9NvfDZڧ4|jp$ >G{WJ麮--a aIVAq(x.l6/]t&wNP]/Q,^±1)%?6fE1 JR|>&DM;lIENDB`8RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLɋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME%#{GJIDATH}{lef3mC K[n",FR/(^Ͳ@61k`]pFcnT$@P j (ePzv:Muti}dGH;SW=_Ԅcǹ8ٙ&&(%d%g?^eM3X>X &>VM<㥦cF^uu-D^ȧO\CͿvEț3AclAX畓mިkլ4oz &xO{:=wTqt <>.9l>J/e +nK} NaGٝwqtpbJ&fy_~Mse>l86xbLt†8}1JKؽjMS;On=N^E@/xAyPUplcMn2${cؠJU Q@ Ơ"_RP'~ .ȸ1e!pL.y',D(Pq Qt,uypq/2r/B"@FƸ4ZWׯ<Ϗ0BXYv_')Sd1 #F[|oVz9UP:bGAn ¢ƒ=@u܀:xWr7}$$v2I_<δӘ=N9Mπ#ʱ1_:\NEikov&O 4}r ` }lnu hXXA5~]WG+S+]wb'bʤ|&c\ L|+czˈϮ[Ϻ?WDf RXXHV0`(g⟝.0P "4utֹn^?_)e4?xBC46~֭[ 2ډ1w@,V.奋g!9r=e($D]7MS 8⸮x_my<<}pAܘH_oX@Fƨx߀/dc g[@8;_חAgg'm&WVUU.㆗)O:"  ߐ_sFͭj m d'p%NHuP|Ri#jk/ H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@̠+YZxPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxLMoU{$mR.@T"A,P$ĂBIJ ]bV"X!QI˪hhv3;9y_} "NU8~BDt6ݎdæӧNrB&"r:j7&e>J)Dk-}N{e{.I=sY3ck-;A8 pdxwZ!_z N+_~6X0FS DP[[lxz/NV=bFk29 B*8!7>-ac 0FF);R'4%}rIAXk֒)6uåm G F*qDZ%=6(}` M`"NyiFkea0H)&О!0|M\Z# 5N :]e<էIFpbH&᧟7hmnn4(hoɍ" ZeDQtm [[O>~eyy#uP[^}Axa48Bnkv07ϵ[/rp/P*8:je}nnnX,^Z@Wgd 0$ڒ2 2Ll0IENDB`JB[aW}g_Wl~<$2]GLϒ bG "IbX*QqD2"B)%d,>5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F IDATxLoTe}wL;fڦe,ADB]9@;IXqFw.R ihhRmCcK;mѡ{b>9GTU\w9H$ZJ2l;Q]yO{DTٹwW*++l65"X8(4]]]ө;3Uۨ*27W..T O1,Z@+Å2'dDZAD@QmojEbxU׫^-1ck0";r@XuJUMX#"xZC:b84gH>ߙc-;9:.P7w ٳ'KQg_> cӎ㍟xcxll8v +ϣt$rJɤ1ՠFdpT*kˇ^TRBX$Ǘ?m>gHڢS(t[[[Sc=zOR 0~ޡng3{>xBu%zuzkߜ9q8gN& #_"BbZqHl0 r dllvkUR).ݸRz?"-=  ţ+~6f>'ι'__:svH_?'8L~8ɡ0G|5w)"GFF>+ [F+C8d]JUdkq0)"";l.y q)ʅW/m&ݝq׾+:| mIENDB`ñ 7\r x [PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbӜ[ x PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME .!HIDAT8uo[U?l'cǩ6DHBG*Pu`P`$V`(ATB:~.qÐ|?G"4k^ p9MӇEDgi:f]=uJ)ln""arZ2].0 QJ "Xkw:*cci}cCk-[qx t|֊K7>;VZ1jϞP (d>~xz!}z2Fk6(J"r؋$N'cL15J#&z=rIqZ8[wm |!ϡpi::3C&7A(mPz?v̝:p֫Cd [6hњrYb.{wi$e9RrAljk}2Gk#.SSSd2pVхG̿nӕ'PJ&:ЌDgֳ:mJƛo| _~5 ͥKj1O-A#"*x'g-߬^!7c4DQD8"Hm}}g񾠏~5f=DQD^?y#I,o\jv\.7fJBчY̍cڒ23Lr^kYLzIENDB`K U=R4TF<<(ZC>ָ b+HT.kr]\7 8A@'$  pB.@`0뺴<ւc[ظiHdŲEJyŋlb:}lv5] B@ ?kg=˲R{T_L>+.ꍦ~okNʕwR7q"-$V XךMrŽb}|_X;w=ٱ1Zl߶-C;wj\]3'9·f9w}?{aʵ*udfۇ00\3/\e+LvPٷ~+d2fff(. `Eܶd*f2Y^H;@-Ƒرc,]v1qku][&y{db-73SVZ!r~4/EK .[/] nx'pEZ n(&{3.Z@@0P(zrR*l@ Dn"=oIv. [^- @\.:ɭ_:u=]-VT cFlIENDB`&" ==8]txZPNG  IHDRw=bKGD pHYs  tIME22IDATH}oT3ٳ׬?m JM&@"%Fr U޴RorҪzQ5iIbH (%䃀 f׻f93@p#^=9;3LLlk6Ohm6Aۖ!J >q 맾LCk>}B)R8>ODQ,zFkMRP(ho}eLM#̯yym?Hg hX(F"m@yMRhG{ n+Zc0`A !A(R,.p}|<׿e{իժh5 !bTX^46$p,fl߶c{oow0X]+)J4MTISxMMS)l*J-R4 Ѡju\7DP~gtԩwmL;pRFJ)m`!@Z`0Wc0Ơ 7D(J5J)H["D i |5â0h`1(h4 `d粳hòllBJR 6ڠFk>h5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxDOo[Ul'c;6R.B@H6J%, ]u@| v-R!'IB$s޽wX$1͙37^Zlψi-[g>O'XQ_[[GDIQ^Z0 Z~Fsg .촚OMYkiF=J4 c JǛK}NM~hcJ)(@9RbBmnn\:t.Wj>aFk28 APBDΞdqZ1QZ= 9$ T*x/Xb9u=zhch7#F#IRHj Camx!{mQ8Հ`XN`R:0ĽCzOe}ug^(4Ξ!,~= KĽCFGGr2;Q-t:nW̼R?VсXah$ٗfjMwk_ wՊyjuz=~ 毰6x酅~FQ}Z- ޢEgwث9z{{?t>3QësUQY˾2~Xi6>8]y˅BaY!ch:Z(ST!MꟻJD1`*˲ӷ.]#mZ{"Ҍ$C?}7ū t*IENDB`H {^z x PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<G "IbX*QqD2"B)%d,>5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F=;wXDADP =z2x =J4 c "[7뭩2X1FB)"wH64-}Ae}v6l`Fk2Ԗ ^H4'8a6ʥbZ1QZsxsjMRmX,`Zyx΢/ҒjDPTk*Eչx"I,A^h(j@s*%\^hM:-;Z[[Ё!Dz]F T_z֨`އ(K\ |FNI|syR/ٹ٫/<}Bs:;;)<]WHG3D˂{}gZ*8vщOy8-fLϣW[sV@ݍFY&1] ~;TM&!e^|_v}CIENDB`.yc 4_l!x!PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxDMh\eL&4if H;jqQ V;ѕ;-J$BђI6N27:s3M̽}q+tct:D$GTdJ^}px]U֭ٹVVW]Tk:9ZmZZ:;7mׅUyTY\\zr}@w&:z`ʝwRёkKkz@DPTIqytt ѓ{o `DvU*\!j6´ H) ưzWs4[MƞSp Z8[wt;HZ-)$Í2fC79slEMOOǟ/~X{(J4#|G&M_n8RǏCN `#Ʉo̽'"n ƙ:IENDB`x  ` x PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<&I>,}yI}>D #/&a&,)TLP2`|~|=˱mPl. A$T%"B O:Gn ID!>7ͮԭ@V0..º-c,λ#X7+n B// |lz- Ah7% O3Y]{R~(?ߧW-ӧG'T&4JZTXU"nI GVO@U"TG^R!Mz)\a*<nf{ghAFFB%i(kfT+ղRn[f0iQ,WVHzıqLgJ_ Tg|q~5;/|ꎿ/0zr)L-!-1-ϩ|tH*y;I=;Ik( 2,zK%:XU*`gJ\:,~* }D&JlLfQO`(n9^>b÷gP|0GoϢq9~? vW--?­o1Rp<*3:ӀyrS݃˩<xϼ]dd9@ D e͟+XvM&9<1U^TjNIFo`#XzJJ9}vs|j,2zn)E0k7󟾂K2Jzg9Q$tNXdx=:YSW䀖#ͩl_v%]@h]h?d1(/9ڿ_)W8v{m+?lJeٹs.b"J C K_G#gC(2DbsgWW(p?oY>UM7nį 2CQ | _SIEɔ7#oY7`8%ZƁ(nbPf(j0Zvp,eHbJ68,0?Tϧ|V׷oν|@on;T΅ί{O]$SAE&&^_M#$2ۊsI/?!y*evD\e$9`gm&λ0 =΢VM MHew*S8 NVY?ND}<~؇X52y( NĹpma*KkÿWU09F!vSJPH'0y|!uRO<4CMuQpXCdk8" I2jfNшb Nvc\d 4Zi_sp\0JFV:O_*Djbo\ɾ$<dȀ,ُ{#*9/($FΪWƶ+ŌFҷqΟ?h$, xE3sWA) 8YSzlnAA2,PJTaLZ`@IJ]$?JQ I2WL8"Ǹػ>Nd2lφ!PTlg-%D'_Ʋ^SJ> I| ~c3Ӯ+km$̘Loc%(5Ǣ {}&ѫ=SNݮsi:Csw("B@@@ J{v4Φ!|lQ+āLPLHQu߆c,5TS.+8X/;Se .#%Y͋O;~Nv9( Ԯ' m]&K60tN痊#̹ANIQ^X'v@'V19AV'a)7bMK!h񨀱SkFٰUm]zn/MDru>Ɋ jOg8~YI-Zs(#/?:1s^@tњ/i6q~L"7rH,z[Ń)1!)Fͨ38q2TGmp F3)XQoFO~|x`鶽8kx̽=#xIG낰D  㤱Graab5H&df`8A;͉$T IFY<#hxU6r iKiu 7>u5,)+\,duI"i;;}8u5!$s9D)G=xqq4aVx]BN:Ϩ.L$>ɏ1(3݄=LJ,~ٖ'rㆼf}7o;uC+|~">&xR;A5كmkCAx`Qq$x05|6#4 n`7O]OɚvL>eOGϐ#bUӜl8!:U "PrXߩ*/QP^rrhG |g`[{:p#RЄz~ob0 SjHݺ!iS 0W;;},~g㰚^~jx` E|LZmP5s^l[=!Y8 OaiS“/z~} .jY!H 1{9TY@l,\n Oj9ƽvf[̶n/ 1Ma~$AFae AFG `aB\Ԃz#{Jܝ̲.1FW? :G֐mK |}8b۴ǵؒdL΍HdUiWX~o(#S c)Y e 2&1hb53hwPKLtSk$QGXaCjSDD⧳x^z`e "7'V܂3Մ=&hZBǹ0zE/cv#K)#Qjz 9VKE&/V-e4VJﶶ PQHYMYQvOS}\=co`$%ݥ\8@P]em~4EDdn;)~Nphp|'ChIk9oY-mt7RSDy)~ǦwE"KŘ!>ӍF7QQ[uPi$2s+7L:{os.}BVl9,5'ba:_~Q'gt#^ f-Ż[V 8VCNrD_L/AxsNGF^xF=C]mH#/@>/d3UM1|8o2SYn䪫w * ex&vȏ-K>϶/{^- %:q 朑0LpavJA3?3%]w{&& ᰵaM YbHtTEi8DEuL-E05̒϶gE^ ĵ Odg^^J$褱-nO2Oax9+/1\M|똎TdK~ EjQ㶫0ɼŁ|`O;07EZ4O߉n|ZX]#({!|'[[Sħ5Ei믺 VQBߎs[#І7s'>,<3/4׫O_qj/BT;MbN,5ek`qQKNeި:tPD9 x)md'ʀEi^]JQon73wV[I+B˯gE6E B8Om]Y7;.'g&-&5w(VͦFu+,:mef"kc뢽[tڝZO~1[-}d?Sfo㢛wm >Nh]Qv䅛Y QzɌCw}^F6a˄f @aM6uK9uS|dp-9$ <68(Tmjyi>m+iC=34m*곰FuOmU^/p '^ tͦSw#Z B8V/Өa;e+uzR{W kbG6NݒF{h[:Dj-_<Ǟ9Wd / 7hql(L8WsT.YkOSSS>j@&؈§u5{ܟ] $*=mZ̅s&ow(-Owp:|qČ DI aKhU eՇ઴⨬:3 Q i0IC6RN~{I2(Bٴ.=EI7cM3n0"[Cė!Z@xOo\sE sV$lވ.¸nY #λINDFE6׷o ^Gl7*dIDOs;'('p^jj9*Z⑍"R|sUFFhw$QPK |Z]w`mӋܿ*2߯ }mZ6{IL#M6ޛ9InO!+\R*PvXFT(m݅"g1%3W9.NUUwϻՁQ,|k%M0:kگ?~Lv/d󗣹zמMx0,PZ#Wo'Co?HXI\>.w <j* 'K3Y}2ee>R '5hSvge_v IDATWo+g<^^ZŠct7SǠENuIKM֚ե:xcXUYm7DV7DZ$6.+=K=G#&%'5DxgDmM(˗fGH;"q86k@,yksDBr'eWЧoϽlͧ\{O=1I>ʻ`-5d?)WkZ+$ظ^ ~i ;eڏ)5ָ@@d2Eߗ] )$eh֛Zzlnrh[ ZB#\vOY$Ƹ7)O Rhmqy%^: Rmۙ^)0>6 CfFd(594ׇt(XC$sF c'I]]qڃ0qTVE`ّo&FkG5R7HK>@0 *7Ü%|LdG P[MӪFو_pц(fr-Lqbգ1/ cw,~eT3R'YHnWӍ-F֐3B A顮$?͸Ga.V?WxZ{Bt~4ԞT>_|9%gOc\^}lYrJf?Cr|Č m]Ǧui\AԍM6?Va.>N>|RPJGPl3bj>4ַ(=f+u7e]E*ưo WqvqA/{&Q#ߴ5k[9H~k w<|Afz~|縟y#⦡pO>ۋ!~e'<2FQBNe]z*[j5@ C)p6#/z$Hrk z[_ړg V桯0.MdUeϘZ/O\yPR#R$NfG$ B#g^B>g#+$ ~ü?w{>lNK. ;| fo|rYS5oy<}fXĬvAه.ʬ?<Ko$&Q껕0I@~(o&Һ$[p>ȒA'~l{ /ྗWrT{2 Hz.R4Q_-%$N/GwY>QTT$P>-ggz,3Moc{_$,c,zdFW7o)ho7䥹N+cΧQ JL{ \Oͤq?9;1eHͦ}r+(9aΈ#+15M㭿^>C Y4-{D 8ZϽ-_tN֖!#AkX[2uP*]Ѥ?x@m nR{0PfS\r#XF> DG5Z:W :sh,e?=j:b5NqE [qa5w`j#.3 DZK#%x_'y5۹ 2bL^My稩QLWlو}'!"Tߘv|~QwJF[M dӾ >?{ׅ!I"֜Lt30;sG.oI1#=*9BE~sGX}]QL`N}=;w#9>|z乳 SܴȾ{z, jWUsOsg7z^Uvczz,7>ޔx:e~4ZyNm|OoR/ Ι{'z=쉞`O'zt@HIENDB`ѻ eelaZ+XxX+ԉPNG  IHDRZ?]RbKGD pHYs  tIME etEXtCommentCreated with GIMPW IDATxw|Uܕ{or3o;q)jbZjժ:PZ'8Q{dܑ=G+ H|}3>*LO `O'zG=? @$&ItDٽ#7+;%XCV'K\"UL~<.%fY)LG@I"I@xDBDBr)2I)Y/r|f(AU 7$'^BIS9qe$UrN(\ L%Lf&W*rMlm\$KHRNj&Phr?KV!I*$R ±t B:|k6lFT,zjvQι(p_ݬ0j>-Zb~I]M&C%l :̄HwI͜o8,# Y_۱9`dR ·_{Ts. P%41ݿKol^(d(Y~LPSP3(؝xn[ f#S&b |b|xPNG  IHDRw=bKGD pHYs  tIME kKvIDATHjAE)"^|w{ L I0! bW3af3Y^_UWwUO-՛;;8S X!`B2f!sE﭂sJml 3Qy[v>0aK>鴹sf``,}issqTPT+i,lyk}}jm1"o` fEf+`*px\A$|vF}hui&''3azjz}2߅~8n=ВX|ե7:W@TQ02SFQut>L 0*aze9}7BAGVi8ZD >ma!L.{"/Q>!tPJElvÓz71~nF取Ito3R(sF/բX畽 LBO"4IQ׉K=]'7(ujL: L ,jlll -gDzmqq7^xoSJiuuW3\.ϾEN1=HtE,KIfߙX"Sc4;Jr81 ] ;m7WVXI؉{O SS$LOH$ r|WT8P-U{JBVw!9vzVXt͙S*AKgx 1W.FަB*D6F33314IR;r8d2NQjji0XquI[5ƨrW{1x/#=6I&PJai% !Dmi" e;W>nzwED!tӷ;W0Xc\:o31Ǝ\A]o*WvTSIENDB`b 6dp#x#PNG  IHDRw=IDATHoU?޳cJIJUҪrC(rÙw↸ 'AJ4m7"7q}3qFvV}}}bfcϿ4i4T50b8NQ*13(Pxzjn)YY$"YT,E%|w9B\򣧼wmV7Piso˲ȻFIJcܸ6ۋ  ÀnҥwƸ^l؏(2o  1cu}WB|='[{N/}RR9 pP~˔g7TUEP*z20뼳bbĖs\~(K#%GKsj޵jm(""XH/F!0 , g_|~i_13u}̲_}f>LLI/`mTIENDB`q ""[e:x7PNG  IHDRw=bKGD pHYs  tIME 1h+UIDATH핱K+Y3Ơ XDU  X(V"vBD,ӼBB6vYR]AcɬI&f2sgg<} 0;ss^o@Tj?45ybtt4;77 H$I]_ɲeY\%uW(4BtޙeYeYnjV5M5MӽpWWW( wwwE,ƒ$1/ɲ$IDQBm 3Rqz{{uFѕk2DQPױm;+h6xB@<gzzڏiJ%lFQ8DQ6]M6MuiZh9D1EAUU^^^0 ۶?T8Cksxt]zNR\.Ni6\^^299I,hP*xzzT*Q.jAVCu] %j4T**777`YۄaVVVH$y<( 躎8q4M* 2gggdY*leH&i666HRhP!e}4MTUUTUrjvwwY[[##[[[T*QUcea6f]?kkgfff۶@e8Ÿp||,$O2d}} xxLL&db!D6 4M#355եw댌;5,,,t%B۲yn)^Hէ۟+jTU= .W_B-~N+V0 IENDB`IDATHǭoLeǿw,55EL4%5YLro|W2}h/|;Mɤ=HYl[kA^K|1a+Ma\.'}'?4y~:ɦTη]O> oޛYT-7b?zs:( BOў7h{'OZIBQgGĵ& Ib-2@-jfA(MUpHeG/q:͸r2B;%Ⓧb|PnO=Լ X";(拐Zƈy`^9wSEcAz/aze> B2LbP$m0W 5-Tk׈е+w$s*{7 +Ŵv\-j݂@"Y @H2w֥7 T.r@5 `=u#_DsT#IENDB` ll#gJxPNG  IHDRw=IDATHUMO@}NZޑ8?Gqo^8^Ďm) I&k{Hk9YyofQ"qeesa" c alnn~a9S^^^57(IR~`ppu:!o+XSSsR++-!! ]S,m| PWWך0PEE3(0:: }} 9-B3,@O瓩ee !Ii>98wPS_Bp)kEvVUzh01MMEAV_RJ?\&ie ȫM7ߊY.hLҨZR[Ar} {*a`cL8Ueeeև^Ai)T٭99EnW,!$V mPjbE]U*YsVI3!nf P=waH՞fCA^e1G9-˰Bh>k%; i[DA<Yz|C!Fį,BVM+!q>==pKެ(J^A_f(pb4Fxw$|D1.KRxsff t㸡֮4 `*ҭ$cSZ1V1cB1n(`5pIENDB`<`#"$" A !R%X2$܇%5eavk;~* ""rZRݴgvS3U $@%5*{y3_ܩ`m40s X􇸘cr7.=LCc/ J|[dMB^ztdm:Lsj⮇" VP:X΃%FPx;|hjZbgZQr\V|F__v2gQrU]fjs㈬2Kepq!) NL1|mP.=s/&و6׿O2{fg-"Zu|L SL/vvtBwkj8Z&hz ̩c{j[m ȹWhO8B 8soO R 5uuc,szث_eO@ ϲXc_:m cu ZK ;=W "c(GǶS,9y$=C?y.܌SZ6x=+¿Bd,Se*JhQJfqO|IENDB`wI? i*xPNG  IHDRw=bKGD pHYs  tIME "|nIDATHu[o\W={1;N☤iRIRHi1jIUMR EH AETq$$TB*mZT$j$PUIcrt{\'!>͌3{^%\>H5yf7&m ZirpPhV(@)@K{ 7k%93kalQ1\4" kEXFHsXop$ThIrtۓW94!IMҐh܍XFh:=cf}1[HѓN֮f 9no\"xnum j\Y|Y,D 4MoLdq*k[<8H6׀Y F_c-Z*EJ׋^ @̉әRp BjP?Wъ+79(gh-+ԕ ځ5`("& ﮏ*9NUP,zkA7,mp zHDdj(UXrX`k`/ c cd,oHiLyo'& 2+-ܘ\f-b4&#!ֆX 16H ?,F0F }uZDaHP{qfr̈́Jds&Qlk'["K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 0QOhIDATHoLU?<}>.`ԋJ ekj-67ڲzV2fEٜ8+f/h҈"L( \+\yӋ+ ֦]W9hll콓⁜;<mgg/PD.  )T)BhR3G/6Q ' E2@J H!4)-gaLB3$qAzU*W̉$P(%R)J4bbaY 皋H%Pn5D4T )@+%#YJ@J}J: t \Kwb%tLᢄFIf^EDoLUkeu ӵ/;(Qp'kAMMf0>}P$55AU.vM_-PjnM{ ̠kemǽE͇i ēOpK@@_)y6fI6G8O ˀAbSvNݞOS?&|>q;JyyVqjUUU /xɷj~]Oe$Yan"IENDB` zjxxPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQD磢zf:QgVd:㫴=o%E: Y_ X:R78kqc|R4pߚ3X2 AߊMA cJk_II ΅V=Â6l.ބ:TWn>Z=!;n TxqN%N֖UKTbG?5@}eaƞm }0UMd 3$< 'L@Vn G9kwo"^""toCd^Z45=p_H貨ddC# J@R2FNȰ&P(&s_@9l)z%XG<@? > oz+7^;|b#$H"x4= ®o_~LDA—|))!PHA^k;i஻;=0z0/s=shvN~jɓ'֘j@KZ=;^hu̬i 7U7J>|!~is۽s9Bۂ^+zbAnnV7g~wd[+Wa_`)ڷbLavTp8v~gfp G|p 6L &y/NTpγT|;!VQ$uZԌ"UpR]u[XE%,QŐܮ@bD ۯsdLE$kDAD1#S0ƠN!1 1xhkk, 9ɼnTSTQS<J5/^YrߞKS'^zyTbԸs8v3t8.rdyѹfO'& < #i'G71pfdaxLٵ,#wGI\4jj~Jb1pq~oBny.=>`X abn!c%CH $NJz^q3OQnzDLa_3L2NQdBU6di-Ͷ_#Pchh<`.q"uUpu6C; ^Z*חK; 1BpvujX.W 7b8ST[|[|]>Ģo02sLyL bȬ*3dzx` hzި -,a2( z35*5ͦHbZC՗H*Luo53-Ws]OڍuTk[u ~4*4ҁ&W󅙫}Rʶ橬Ȉ B*($kXsuWQQib~(1@qxTJ=n\PS:mNiM`p^Tչ <@￵r" !<@?pϦmmmr#e`Dr gFvw;;˳ G__@~(B\GrE(.7h%jkk"NY0z_IENDB`AC03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FbIDATxڤMlTU3SJA,DS] LH`EbX Ą(& bI I@ɂ%-RKi鴝vf|.LiJ==7y~?‹~.Ο_<pJ1foo߹%]SSbLr6W`̈9՜8+o߱C&FFU1Xc0!,qUaYw G묿󸈤\Ȼ_)a91-]0Ƙs\_cgXcxYTBaT%CjZZZ[kldMTJU[pc8F*1Z,"`-QP"2<8 av0@&7ozF*(B ({U{Б͒1%kX57#P σ*fE‰ K[ұa&T5c*4\C /_B'Os9:;IyN"A.,YB<`4 ɬ\I/0D}L{;7n?|O8:>D#Iմ-GH΃]AUT~tdž!ikI-]-z{)ߺIjzszY-ǓMT%YgIi&?yl ("|ɻw۲8|' !DE?N = @}hڴ#G"Fs9L`9k+RmmhDMF墋'Q^'xq#˗۶|*p3J_Ej=x|ӞҞ󈵸J짟P1R55;j'!`WWzKo'lY0n-_͍ ^P<%.F. ,UG4>Jbg2D$ Z?G=y&IENDB`@v Zn8GxGPNG  IHDRĴl; pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڌ[h\U}.9s2m&3& U4Cjmˠް4mE>j }QA R!4ڛоLIDmSM&dsC4a^ouT3 >}3p4>[,οx~T'>LO4+]*ֽz6x^-CD֯vd"dfly]Sk> o}UC;;}vcQG^>-/{Ol5uӪ-humө 򭟢S_(l"?9)7 ?۹bSXT*Yׁ2@thճx]`l:L#D <\RRjbCjfZX.ޝ:|O[nп.H8)q3|8|oYDkG x7=ұ^T br"Mx[;HǪ%o BƁdڗbq~-Wkw [?Rk拐)dkC.-5KcZݑsٶwwF[)Vzi_;{F*VLΎ&һ.? {A祏sS9'G(_ D?g&u) SWgW~2yX5nPbUMs']?Uo;H,J^]-FIENDB`~ + ;[p: HxH PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##2oh x `PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24 xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy }/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME/3ڷ*zIDAT8˕]Ha|72Z"Z ¨ @΋.*"¬.*ꪛ* KT$,3ŨpNݦmۅ(*-9?s37kň.KhsGp]yb.FFu\i:En>'>h8Qu6=1vpPt,7\HN"%I+ͳUVJ$90A˗ax+Q}ZGPptoaơ2PAT@JACCX g^?1*mʌFB~)Pt m"O&g*b-/rtz7'vQD œ FÛ@/+F$Qtw~VkL{ @81Ok_-+wtp־vWlVA@N|_jb /زV(`f4@(v+>2+)VWXYд"H oULn`MEsq{6Kђ@'%Ä8O!:Z{}STx#GP FޖnyNZ{D2t.3l/VsnFIENDB`̖] ϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME/*IDAT8˕]HT w&IfƦܘt6 >H{zb-vYb6H, ǂLÏ)uqt;ssd 9j{~='g߷8Vٛcyb[UmkT,/uЙWį *?flo"sc~)~'[$k_^G}+G²BgJ>d$AB|F>ź7J׊:0<68LYS!5(͝w % ۂ"F]ꌟhc8␌CZ%U:ioCWJn)^bs/t+H2h&2,wv& ]m^>d d0D H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##x5qn x ]PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bb FW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIMEWюIDAT8˕OHTQ7ofSGLLK B3^ nkdI;-**4WAV-, A(JQI I0K 'QgFg͛y3^PI{9DUi1Jppfkn8o9n3ZJkdǥbQѶ'nNt'A9=""RV{!kpPB2)E̕QE9`@sUW|!cYjNg 2!\Ixq,TmC5HD`@L  7-yYQt[jUe@__eP["FFͷwH89lAJ{PXVAW{HmnG&-׻f\DK ~V,G 胈sqkӑM͇D6rPpA3 h08~ޒ;Vb`aICY؀.n@ikOӕeY9@k5g6 {FELvsYQEЂi2//Ψ)Oc7&% 䠢(ȲLE")@f<̤A_Ӯ=@jQ2@3ubk'y@}uIENDB`O%^U{u8~f9=.9FwlN\iSvlKv. ˋ+b]2L KKhGhu@Hpc:JsU>ǗX~`X" (;Hy=sm<'_ MK`4:SV>V\aYjѦX=X$Qcҏm8?P*8Θ>dq~bbr +ӿyT0 ^t q?#1Q)ܲ8S8/OȽ?~?WL XZsߩx%^IK}ZK:$/MpřUC8mjBqj1P4KG(rq*Gc<'O{g ^ԩS8t=[1AN=Cɏyn棝w&P7xo.^)"3zmpIvw;ĝ Bv J c >~l#r>s_;Hqϵ׷h|*I=A Rȕ<nqxs E,Y4"9"6o=zap8' ՘G)t; ĦH0㈭tڻ4M-/pkAH/1c*nRDYr}bG;\C*MD1xPA])B &J)zo *(KLOϐ Il6 BBHmI5bjnb-G4 JɠF' g`&b|@`p0@뜙Y*q)odٺLy=DX'uV2j_#Klv8vk̭>ydb<1(WP(ؼWvv?q/NĄ! Y}@wq#pv A^B1=}n{SOT+`JfIRິZ-~?o0'l-R"p\<υ1,8ql)s`po7lAuZSܵzZ—4|h4q~ _OȻtmS,/bs/L'b4j߱׮mٯ{jz&`2Iyc0h4ZqHС%2s{1f%/(zn`=OOJmWfkhݝ5sʛzM0x< Cywfv%u /̳p`Z"3- wSOmڈزuscruJL̙ ´w~ٽcsovc$1Ln\1믽T~zJӱe L)^>|D" "\'_Sjs[;;ʥ:ǶAt(Ub%r0Aay<\8R\buth"2m+x7IS`tQ٥rQ#t 2reqFx%$a NN j5V޳:33W#%Bkomm9hر,+-;t7,+Z #%2S){TtD 눒o6"()px'R84])'r!cٖB$/n}Ӳ JliLD^3ͲqD V)٩S Ԡ)H#kN_2 `Av00 $I)ڵ^ǡ*S(ܪIENDB` ^^s* x PNG  IHDR szz pHYs.#.#x?v cHRMz%u0`:o_F IDATxt[]Yk~33cǎ[4D\HVQE AxI*"<!Aj!EIJĹ؍cg친9r^{xZa˷[W_/c Buw@H)<ϵR*Y9oϜ9<+W68v!rr=8'0 4LzȤMعF&MV)8~>k<R ՒӟHsL |?.pߟ'LOeT <կXghLQ ?GL6$b@H@8vB#<8c|K?9<g?{$ǨtBgc4!RF)?(Z 2K:Ò9V |DbabκixE|˲nt?~&F!qa#L"}]@%wn/ v͢2U K@ݵX혩 ꅐc0P*61=RgX:D?.jNbz0"E3R*0Rn0ZS$8bXobimrm;JIRy~3dҧVV>/<|O_%jw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڤϋU?YAC"ūE[<`HAAAν=_[j{gj̫Fէ+_~t(˲(GQ{Oá5ig_C@zw;wNuW^[^]%F3MaFTm#N+RV3>ϯxWpBD‘6돛;ǎl0wfMɳO?si{;`TyR&*jUQs Z|P Dڎ{<7HP5)gq9c\LÖYTn"Uݰ?7.LQ,Rd&Pj}JҲ1'eדL1#&1,:̃uoޙsG;f6ߧO[*@(]7xIY=3u=]9f6'83qwg:dKom:#*MvdA;s{/p^e2dZ\xu]wd xBK>Pԡb2zHx kBdϟjj.jJT(hGA{S3vvs;sEX%ݸk.!z :8a@GtRhhY}Dl@拤JjV{ H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(h7s-7lm2e:.&3\d/i5D Es}9"yg=0831c ZH)SCвy1455)d[R Cx>j7H)I<`nNm_Caa!fhS1r:簄 5=36:ʎv0v2pmtvvRSSDsl71"IJKK ˟Eѣ]]M^^RJ$r?~z~xDwj~tcv6a£tttаغi+===ϛ R|ϗ.|e%[ 5Zn)$uPJc $cƐ?>F!.)!\L,X ׮yFz.R] 48 E\)/@# feSz/\䵍{"U+8 aI~!_f!mdD7%,n a eHXYz=]VXƝ$V>ND JJ;VU\Mbc+J,ǓܙDzbFS"AYY:Y 8R0'[&q H._ .*֮I%=|^,)ܼ h+Ь`b.Ϯ&_$),|>龘/cs[twtI9l[p,C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATx4[h[ewnɭ=INڠIVtV\k+st֮"XPQT7߄ CPX 7C\Qk:[R99ߏϿC(Pٽ(M1 a1t:8@ 9[woVK"JB]>ņ8ɠeZ} FKgDBkחwGO|x۶ c puNN_~Ź'`Ox8 fkR5NyM|bz'fbG15ykSKK%/El:1cyBCoPg.ixg,_x#܍AEtţJ۠'a>RJąn%rv^d#>%9*&((.}ZbH];͎f# -Zn s+kn<xER= /j \O6w0J):I%Ǩk>^xjn_ⳕ@V"….h``rYժ,Xvg{!ؖcUыTք,!J2DQNsQњͨ4g]YaSJT(FtF"$PS(J~!OtAC7ѕzWK.b1weUz;xY)\BdFUC6+twZͨH+]fh&d9aF@!% wh4`b\Y0Dl-'xQ@ IF@6RoQ݄$,kʑȫZC$UfkG7aIENDB`f XXv.x}PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq* RKk%[H<;\0 imi!`Z|Ƿ}$ź"25UAXs8~Z5LUhjj_d޿*kXR(J!R*TƅGPZ#c$e )7 a$|c͚Nrb,s$I8wb44D 02vFF0rJݫTyjĵ Z24I' }==#"29?njƆ.G'~_JtUR&R2I'a/~S*or.^mۨjLOOӱAj@02vKH_=zcẤщړRnLTDV0xAnO Hw޹CL,[bihhhٱZ??|S2ɧRYnqLoll/ \dE{;!1cô-YR{jww.`pH غeL f|rrwu>ԙG?vMM-}}{U7 B1OezbyԷZ(;SU%#VtR.Q*/_EIENDB`5E $nx`[x[PNG  IHDRw="IDATHA0 DǦH\ˆ=ʆojϞؤR/QX+eY`gffcD4a۶zPU`*RJPU*q|YCc|s=G @Dι[.̥aqfvsP>5,[tL._/R1ndlK(ǣb GĚ>gSZP:f^9W˴J-Qn=-QMˀZmB /*!zذÇ;RsɯU4S?IENDB`OLQw&xAPNG  IHDRw=IDATH[pgaɁUb#ˆ  F#3\0w EZ(;)1 RbEvHhKMN^yoךw}bٲ7I|3]nhÆG8KI{{KWJW}2NO)7\{̯'t){%:O\m5Lh_T (N]<EF{.֢R¶,@{c N @`k->XPJcEXc,8 v.``%Iy;RcXkf1ĊD ~*#dPJqT_JPB@ XIAEЧS&mbc;a:7.؜}k}ŽgW&i:Fsv*(>$}c֭dH+|(DQtP(-so.xܫ+dHcGem@fgg&4riH!j.DP?'i`=@KP@"bnfJ֨xmB xi} XhjuëEQ@UAw/^x9InSof}eSyV *}$:R*E@P.GFF"}ie)Bumz5O 6J9 OkҩScJi*I(BEbXLmE`of{t{yZf8BG@M̊s qoFdJh u/,rTz ij~]s 8tn\^ݒw4( |}OJUsyfο=wss ܽ4~s҉jO. Z$]^+W~trr??IENDB`_ąk!j& FшBK@ko̽縘~/'s{s3FU?׉ |n 1וۍg YWnm)tٖ߱={kw{(Φնj)s0x7"c{|w[{,9NJ0\4R(uVamcgqvqYWcCpjSH:eE:Q+:oqQET"41#M:>Q4[%XZ"^R SHDJ*q,.n^D*6* V6U)/YDv :WwnR%*H]kk[,9g@ * 5L*%N74a R,H&BWj(rtr9nA,B30 c4̓64&[9dZ'$Y%e7:yk8puQ5-wq8:}+ ui'ufrt21c*||ϣ#o KPQS[_/tss<ٷ%4Vo" &y Ҟ܉ < g I]'nEʙ#kRQxc [ nP=e?#"0LH3+sQEtȺ,0.iC :ݽM~gWs<C&l@8\j~riEmYR-Is}3N}e|׹t|켿p7} W.*9Rn߾1:OPR[I~^9kraSt?*$ԀȂhbbraF6.Lp!  ]{>x5PNG  IHDRw=IDATHˋUqB"@ >0Wwʽ wnD\ хd#$Wɀ&F2t=yNDnzݯ9{Y==r)ec<9}˭ȉ?>qcGyzƥK/G67`dRK-M5)Tc_NAQ#HyDf- D@)ned̰E 7_dAL  H8=j)/S5PEH3bk@7l@Dj@R/2ww6Ͽ WO2T{|ч4_˥b0od{3m!RB$ ḳ{r9j693;,2 Z\@07hPZhL0-P`;׸rU6&*6']!ң䜹~:_~-hJ5,ՀAiyDKM|2ɧUmY=uj${*BhQAUDhF "Գ--3Wk0/p)nG0ͨz0`PJ M,TΙ(׾-D tR mRJ!"ږѶ"Wf+w_ "E̓)mҶ*RP-AXģ=ϹGߪt/\xkx4f<lF G g666L6GmۜN|䩜DzȐT"ǼwVEfvik_v9#)LEd l h#xTU=028͛{A$! a-ATԚ@! !xf$ ׹$"aɠ @@+sM9{vZc]eJQ((`ڕ0li;s淬!:mm*gŅim`2uB>91(kJzՎ; (kj4H\oC 4Ǿdn|+ilvT9G-.FIX,C{|i8~ًP(8kEC$M\.sv9hJ[ҋyak>Di1Y s2(J(*gR}{xrijSCΝgGJ*`Y T %<믽_8qff.R,QX^^&M14 #"{bs9}کSJeHxISo94ͦ?bc_Jō ֛LNLp1:;;iii{%O%$!MS4%I"fݵJ֮CLNNǘRhD $IB ϒ(99>>p}Tj59Z6''P|.O>[wcX|zYbT5}{}Z'|Zvt[R9[m:c5&kLj&gϞ+fWNTUUM<LMo_1 cLS@pMUmc_/X[c^ܾKQ S: wp]!i2)6߸@pIENDB`77e hh(~T x sb``p  $?ORAN ɼrؒ]fHopxD30p 0#ì9@AO_W[윒VW_O IF808&(gd({7U{8X~;4o1淇pz㴝w~~-u})-)iy?$]=*_Pps)-:w{Ek +SkCe(wU{G/_"!3vlT)qmWmV@g0xsJhit]8}r!$x$!މPNG  IHDRXbKGD pHYs  tIME") IDATx}ɒ,Gv9cM^M )B&d&fZZ;-RЂ qA62ӎb4,dֲ)݀0PUeF"&9ބǬ|uBP( BP>,X8ˣ/Mҳso Dl^?!l}!2x?km=.h^G^#~->߿WI\=P&| xPNG  IHDRw=IDATHO]U}Ki/[-UJԑ)5?9hu`H8G^6O s^{98R=:YZۨ*==K۶Nc (XX|c̊U ?T6Oyͳo_];T.[(YǞ}Ǚ B(Eb!F%#$'~-{ 4%>Y` p5 B])^`˶JE@^'` ["-q;o>{B|0Sq07 L=6O~Y_#J٤FE/{ Q{ R0Wˍ<>:mw_3\=^N @`S#sYB⅙;T7E ϑ5Ddؑ5yG,/?/6c89Bohr ۇY䀅KavחG kt<f+iAC(ABrDeۧzE 8#@7FjH& cX" bs z-s`x~or 0 NK0 D+.lz/sO4yc!θ!U`O=" 6ɩ}r5 a@&~Z8b˘͂E2/i~R%k'GL6IU ulۇgGh5N(O@XGp<.ooH~6͐P4]@y)JdBteb[ǫD/fe:X 24 =W+޽p?{ݧg` A$q~ e-870lNv51pw]--ROQ[xpAO?_~>GVᛪZ }]`ס21$"p;ѓ%NZ"BnZG<9^3o[/6ÃΛ Yդ 'o?_S\RyAbnr7d vq ,9Oﬥ DCSRYMHE^4vL~._~W' ՛!RI˓yђOS1"0+k I®bnVbk./Ƹh&fg>`%+&"|{m޿ه:K\^%r) z a= >#MY/ƛ[<6IsR A682k?LSb[A*7ֿ{?\$'`q2z0˵V4F1'H2t1W˘:uGITGzI~]c}x"csK.Uҭb5JRF|} _ZԆ>!K`Y?kI.J9 i"!֧K,6 4rg -llR8cK-iAl8M.kYtӰÅ]wE= z G1Dr\mzX(}vigEDYoVswrtʹ {I $Xb u C|73%=%GK.\s U^ύWX7XX\3~BZ$&m׍u!b2W-b/_O"BPۧjdd@XvI@h`u="#n<!As 2Yj |S\ƖNnq1U.+"1ǏN!tS.^'!XwLh.RW3Q|}jE Rea N H!)C\,i x'HDbј(oxg y &Rhz/`ySXӴzgd`g{H걿X)9^Xd8A.)>O.X A|~?EAϗ RYu4 ld`lvm^wPdX99?a ZH*HI.21wE;Xs,ҽF@t VOjRzy A`WR5JDz< Wf u);)}jRmt 3?6" 92!yyOH ڵAz)F˵O#uGM0b`\$;utSHŃ i2{2ƋC''z35n5F_8 u~KﰻN&(НGOɬN7~LpX-  -[@KAjQDKx+$܆ߠ+;ݒ+HBb*;OMAbSnt۴Vuf5H1Ac}r?fx*A3"'<oۮם4Q(fOdBbAڮH}Q(Oa㦮ٜ~+ӓD1$#|R6w)Cb}6P̅ d6Kt0-H| I69)HQ雓ӲXYM>n{o(H%$b !٦T13IWa 5Q̋ R )љ @RO.bF" ѿ+U>/"I OB Y) kADDg " )JRjҜ ( <h]lm& >W@;*fDLA|ڵx a Ҵ"2D1~0ۂ(-& LJsO$it cZ%i%yI.VIED$)pfI}DqT,R .jz_ Yb 8rIZIxDڮ9ڨt:9{^2ڑFuLI%c^kH6/[]i[{+#Y![6)ĭt#a#`bUyo\+pG,Ù4o ݃v%)om&:$gc`c,lMʤ>)ѽ T(f8@t8W3JqljlOuy\-K:VDUͧ:v),fC:"a} ><^aOEb[?Qr'5y{_PtM4,wCp3fu]βrK})7=>ŷv3og\lN#7[YRWEʶU,n|eOW^ hCľ)o¢_Ƥk#dT!|B>=Go /\l:=V RUnA ,ON؜0^ <%HMb\Z囘^js~e 5 c ްo16HVWI(0+9u ƺݫ =k0UyWE?tTz]@W^WٸXla-M(+Oc^~Y2I&YyZy ,-`ⶉH^LU*FY6i kKyEU˷*uB-oWHPQDEʢM?R/ePIEu+SN(f izpC18GIA+4ͫ@-=A7mZXP@@ZxV7RnQ$Q&z˙du mHZ9Irt<0ߖE* f '7Б$"htD$w3r ȍkUA3eit"R(AFz4ZM*fb&}` `bUJui^Ō`YI.VX1ۇ+s|i7Ab,V1כQ ² 4a\"E;ӢDb617P v $] e&RLt|@Aw6a DSH})bki5#2Rk'p$`QCtŜ!AGLI@D1G yhESlȐhN]3b~൚W13">1qQJ(CAցx]Q"Œ2eLA4Q9)&AC17LV.IWSAB ?=j^%b`QP!7QiDITE>T;7ܠԤPퟣ%I,Ou&1b1 7q#RkŜBk9WXջ[q;_ 7[QH4?Je5t)3-hVNd +])}oz#1aҺmSJ%$A )kĨ,>Cb(& eho ~8C2Rà/5KrܱP:y#ӿ%AUif )Dp5/Š=.O"9rP {Eu,LPLv4G\Tx̴C V Hj  '=])@2xL{dU`]ph{=";J Lþ );e*HqEUGki_*'4,A K.: bN ;JT`)^eݤ;cZu)R~\M}gug(~wGfXX`2t0hW'eL|R’߹Ҍ@Pk[(r{=v|{:SOX%HaƢ0&0O:B\ؖ8(c TVJ/K[I*RSXSR3UM@K7 GD)7Ɣ*W/-<[1ù f Xٷdl;2zue띃zɅ] mY7肩VdZH$CB {Sԓ|՜={_%U&To2v $Pj:b`LWIjsDѳˬzdć+q?M(In*f4.NW|ӃhAғ#Y XG rV][NDGŜ]B9h&YM Ũӱbg 1QRUv4^Q^P+HoCK"UcJ9.g{,e<؀ɀaUeGtr#:-GW2M~Vb"i"f0d@F ӛx(^D&$!,H&]46sHd9܊;hf>4=A0~޼u wAFCf˚NK;fATR(3*5yՋWWo:24c;K7zw ꡸q$(9w mRKK1h P,`[;*BˑC],XS{b!@QP(SbY%BcCI;nցA y>J38,Cqȡռ E5YA E`PcŝQ(tD Pr }Y,ytŝ" KNަPF?z]' ZkwE "ۣ,QQ6r5mݏr0;•Dռ@ IP9Hϕ){ "$R"[{ B"1 %PQ)LVX$!yX$ z C "*b-%˘Y QI#ם$zRӼyJ'D1{7rM's'"ZjM}b]ؒYE? "{Gui^GH6AbUYN'>H:P>tB ž hIDAT-~ gW"k d"ԃW{ _ |/?3v~}ws>?W'ݿO:S>]"V,-q) ۢP(&![IENDB`PU @@=~xUPNG  IHDRw=qIDATHϋUǿGK6f""9IAaeY  Bt%^QP$bDDC0Qv]q6q~<0;;LQ]>G[{ɓO \ADz"ebX$/DyqJ >;v"8s恿_W}Q,>>}VI7n|xރ~|t4tNܭ8Bnl?^>A;UcVj _]T~"ok7YqP9sf*eQFѷ,̤ ٹ(ѤYasZ5grxUP3|D~8C|k\y0PrFx0*"ªH}*B5tEiEOD`Edk'Xl-$|.~Q`? WWW/.677H]充 J4]3@Ǜ7(zSUSVk-U5c~Gyz 1:*A|yC-xl4pt97G$oE"PNS28c U`ʘ2D1kC@6Eba`U~|OvrD3ph΄jL&"PDsg*rp~ni4I`i?rBtyC٤ 4y=n4V8bV7[B& %`h͝,:8'RP{$^`KcU2OƘSBr19cP*^+ Ext~~|׫}an B /=2IENDB`;`J(IDAT8͓]lSuƟ9sڞ~Ӯk0brЄ bf q1J4b%#I;1u]ڱ ''yrCTOJ _J:]He.M!Tr'}a_o6djZ#pq ɣDriN}|CڞcYEZ R9 ]#'DVxHp? 9/6:thq(f>\Pm>D"u` Sd72{GGޮg850p3 ab̻-O*p}/.)I_=}sM~?Tam`{]dN^RJޏ 6WyhmP Y)0quR"!clI7o9<W@~gp &Y`Ѭ(ϰ,ZY+'v5m c1h2D;m 4j F;ܡq<cvvdLǏ)L=OUln,v ߻n LZ3QQApm]<27bߐ`9O#+(VpIBw۠sܿgtoocݱsh^ C"D9WMޞ̝>z"t,5=B}C YN(dfear:`eCjƃ]Ywʼl%7m Sד,M ?ǭO4j+f\ any;uv>twE7~Xs/y+GJW^h-}lfEuS*f!.J(~X%Pl//~.;2hxPNG  IHDR bKGD pHYs  tIME +/.Zuw֙qfsad'~O98 ե%ho_|O{{W.0gF=' GRA)4BRsR8X8;f 45Q_4h)B"RlCIY\WlѨOꐿ14-%i-40wPm[(eaM²X %T|Kc.G4SrB(ĉjcb` 4hM;ŞܨiCACEcf\?HDD@4"jh $9'=hn:%8R 4:ls&풪qLsCZWdˏm}Y S3] rerd75f&Zj(]D1GZkt`N2)̭[N>@+ɤGrYJb1^ᇭ[9S^M qTcAu}s>Jbf+E&Y'x(B1}:S&+83W#lk;!TQNdD",eB 8r9:;;qMIVa~>Å޷z:fZLDkM\}|G;Ϙy6n|2W0UnbFj6;P!p(%(.qX[C+N5`#<£b+%ɖ!ij>s|)`(]6ͼɺ ֎pl9Lofe |h.ܖ!R +y(tn.Ҋzd3>x&n+xal%oqye{_wY'z{{y- ~`/[#&;rl\x˫? /[<-Z+aZ6 &3s(;2j„VhIENDB`X 1fxPNG  IHDRw=bKGD pHYs  tIME 7 G*rIDATHU]HSa~al;;ڦGfsE ] !(Q.v;)Ќ ~̛ %".2b*nja -vs6ξJŸ.|{{A0<uRLftm/rqؼ׭ҙ&&s}!;oOOh4,ᑄu("ci g/։kϑJ}wg?`dY{Qʢg 6mBkͦ= dI7iM+Ǚ_Vbƭ^B^-߱\9;'OsגdjmlhO&[rɧ}&b.}0-vSPYfp͍ϟ5&9o|J䁄_YE^2)^p5V1a3.n$E'ba.PqG-k7 Ҿ|yo31-~jQ1J]v˖mN<剛N來29?sR6+ޜ,TW'*,~dz[>f8r>N./+wƮ^~!u٬㢸0-87Ff7^͜3ŵ~}=96UÝ83o7>nqu[;tqq梸pP%aj7g+恡{vܑjxB(3`2t Ksu,K_,+Z^ +cN'c:DJF#HӔx-Ou_S+W mذe)D n1u O[YWRJtwgZ+ΤҾ!kɩsIiej.Kl֊ Zᶚ8GuX*U*n5ulhoIENDB`m_ 66>xTPNG  IHDRw=bKGD pHYs.#.#x?vtIME  !ȴL8IDATHUe@73}nwRj[imI`UB01&0&QQH !F&P4 Эm}{}̝$D?pr~8Ͻq5V!Rk!R t"Сq(t$  LŚ "cmW/Mx[{ %-W d/ I/r ߠ٨3|?_!Ja ؀)sSF5aB5'[Dnjg٣_\8J6( ʐٰ|[2LAH) F,#4f5Y8k>֬4B4R!QQ*&_AJGH-|_H%4+H/1AjR!9N]*7 H"bZ`y'1 h e%vz=:zUm~ Z|ho!!€V veƘ&A[Ȕ2HGJ2mXPtu4-t֚ǎj M!K҂DV# A4Q22X,[A 7\^8F"gr6t|WhC!W--0ؕ'o zؙ2ԷсNRzzx_Pvk7fdtCm:3g. PP4߲nۃ89*<[ X8w|{<5!x<زeV ^.+RDQ(\D*Rp:^6FcIe; v*+_(q= i ,ƭV\*3 @ x PNG  IHDRw=bKGD pHYs  tIME 8 nIDATHU]HSa~ώvs[.("#ZL( !ћ.]$!UKAX D&dӛ( E9wv"qNo"|/}حJ ]]]Sd2=\%8&ZZZڿsd Bn{ezz<ϹḨSFJ`3a`nnV"Pu- z6If~!yB9 \.wW_Y-;P ˭lh  *hpp0zvLF'h4`0aR)NUՒF}]z#, V+'I!0L`Yattey+SH<((uR 4 ؒwV^i"#&3M2^P1l_+zӨL%N|2 16]63UPat:կIT&*]yW" mScs Jkm2 YEnA,WZ$~%""bPτ+IU2Vc ZO@_\/Nh`-YbʕQ7f?*YRN Y>ܽYOAD1 g_Wڕ()w?}Lެ+i0E3Ik{'ËRJa*f ;tTfG3~f5{Bo+8msf^J`ht6΍;Sú=?za1o?0$"cLw=ɈUJrI~m[w~iO~w~%z""QJ@؃`b&"U sj'-'*tIENDB`˯@ pdx"PNG  IHDRo pHYs  tIME  #O41|IDAT8=KoYSꛯ#ac!240 $4Â#! H؂ Q2d8'nw{uUzR=z~hO28C@D@@L\tEWc+un0dD$y/LNl0HĤ@T;'_~C[ /K;Y1|(W.t]\2$/)g8Im,'രr|v3 KSGk RP( $"OHɲ SGFãA eZ+d8!2+{DKpI}J&1=OuREМ,R{Cu\,##{^F7*hsfױI/)S0TN"?ѓZ9R r(L0JG)yll-rev5AΌ}jrt0c6F#!>fs!eJbMr *2 '/8=U*aʡ)?0ݹPgk#4l4ZGb Q({2vw;R lȱL s;W:@)x>:3\)S s0ZQ 2^Oޖ9R4#*](koM·w(r csT[dasYHl^ff˻wlD3,cc/3P*"^09[ZEfw?WޤPڠ ghx~xri֟gF9<6$EV3֠g{oU.%" -Vwx泜9n.A)aIi݄a_:}W95HE޿{fo_+#"8ݟ} k%p)l9񝳿+|/~E]{c*Gs9JzRXLpI埙W':`,4uIENDB`o<' :::xxXPNG  IHDRw=bKGD pHYs  tIME +: 4IDATHuoge{f*(("|tn=@ݓx"UMl}N?gFiƽѴ{8:vq7o7pM~tCSK YtgqatMCcagRe((?oE^<\'T2@al;2hx sb``p  $RlI. Ap品" 0kH{+m.n~cڪc;B%%y% E%) % | <.!N՝ вaS55=1Irf/ xǡ8%K*^_L9Ugo?QRJg4tU[sBOgRZXpuiZn L;J5UfieU$έ~55I7e$ܜw)MTck쎓jpi  ??^s$鑝֙~sL}3 lGV h(xaghgd%5v]R#_O$K=GC{rxN b Asc [vitǫy|]j宆 ۂcS&\'IJYIENDB`h=, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? >0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 4õ:IDATHϏU?Uv! f w%HBcHƄOML7ɓG/&F$\G4ȮeXaggz3 \E\^=3<Ӛ7p{8Z)BD]tcG _U5Zy瘞+~ A?t~bv䣝Jy毝T6L$#ñRlk%$Bb+ cֆ}Fz뫀 a" leB́J͂~߫FI|HX?1%ӧOyaߡ"+~{נ?JY>q쮼$xfvyoEcOG`͖e{'ʈu;;IENDB`n U$ LxnPNG  IHDRw=bKGD pHYs  tIME 6 [͌IDATHǕoTUk}ҡR I* >Bb˫_OňA wxwPNG  IHDRw=bKGD pHYs  tIME 9IDATH[lTU3眹0e:LW@B[J*@ 2x{PNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A<8iEUcP@A!⃉@L$@AA -Zzaҹ3shFB؏k׆n=ڤ凪습En_)2~gPby˴Ɯr>zG@2i%%r0gqH;5 U'EB }igвOa[FN!,K`SCD+חdS+[Le3[0]3L2N soHx:a;t_k`_74Z>cFo[0/|ެм%O$ %eo:}&'J4E Oj:6vzSIp";Edb]]75;0Ny%n=d`9EliU)"V4^w M*#5 P\*r\윎 Kp5Rt`o4d;-iI%i;mSfqm ^8{*k<~XOuOЅ˧7A k`lq"">_,cobv._5A5(dD,Y?F躪{u˯)ZSuZV=aZ@0,t٣}-!ݫ8K{7q㶄W|$[baچ״ 󅚣z8H0(na3A1NTT"ni㖛=aնl humx^Y@b*IƑ#tWqhC$RlB,; QZ_yv.UȔ - ?Y*y}fAɖNle67O @|^5?OF$?HiԖJB g'-='W$@@F,vU.)Ǫ& w>n_@MSy#O?MLUql44w'7ݟyo<k;> OIENDB`j] 7J4 FD[oQL[9콗 V2g}k#߻H#N+9n]SL#̇ ̤bb$g18)$xL!D%*‚* ^1^-0>*aIZѨ"ؼCo7|2%]RUy6,gGBz{W5+vb+ynJ[h6,]V\' y@}ESφWA0et&;vᝍͫh!R: gKȣ>(;ish־ď*sF.##1 PM&Jl)[3{ ^?ԧ! l~gvȠưGDzaFoZO#mO0Pyt}=Tqn}?9\od8/bj˩&YH1+FlTA'jLj @Dl"E|Bvɕ#~w笡9jU5נ>؞U *Nl?E=eU.2s;%TF<,iMhNdhзmJV^WNTS:qliYYSo̎e.;L*1Bz/?qڇgDUf t'p3l$Pb,P|GhťQΧrAckW = "NC>@p3 @d~CTOK+- .4'gOA`g |{\hj p{Վw#`]aŒ6_tsTE@ǖɪJ*61 `E0y~?:tj-SJO/fǮuRսZ B/ * ˅[FR#㱝jgΧWϿ/Dd ]jclSR/ W{wW5ov|0I#f85ydCL!?`AߧIENDB`ႌxXX6I=9ֲ5@0%#K9?CM/ Å.g^+yl̹7+RIq\y`rJ?V.8X)t}ƪ_B]3̷D/o7$͘It5ǵse3YX4'(uHÞFxk5#x" dBK7쫇9pzbPN @@#h|(ϝ0w~Ѭ̈́pfdQ 1dܑDw 5zFWLOVF  IXdu2]8Q0됞 ! odF 7H ZmCHe5*U W7`'0o½` ބ:xIlvp"̨Xdߋ&M=?'ۏDZEjDvQ<DEDF-=/q3UмLPge CAX 8j4, Vf ݻLeXw YalHEO4݆!NbZ=:A.~Z߮7] DGO4bcL4hJ.G۫c s7+.2^Β@ @9kI6PVHC^(Qjm2\p (@3]K ;. "[#f5>ЭczzB@ TE'Ӟ$t F Ƃ8&H*8IENDB`, Z 8GxGPNG  IHDRw=IDATHeklof/.k|0m_(. RF*jB#@5!@B88JJ J@15$zsc]ᕎfy3 "ᘣMPr-O;S`j5ŬRT|w{[߫r;iG/x<{<#DUר=l~&?/-P뿚j:i)(ò.7/X+c<hȆV;37VzqVn2W.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGDC pHYs  ~tIME->7IDAT8퓽Q][k[y^D<Pid#{! 83'ߙɘ$BdT^rvvoAeTsY2@,0KI QqHx =$bp#e4J<]%Q;fvo}IENDB`ܿ~y XX4 x zPNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"DHϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڤUMO@}NZޑ8?GqoRq|#RB(}'ƁHid%yV"qeesa10unTy_dLlmm]MNNrx"xApQ011{S,.,wogg__[[E1ƃ$7555bQ%LY{a*́mt<QIvJ;x=dC;h̷-p8@p5}FS6iȩ@V;Nozff3f{r f~y ,,!+YDACR eY}(ʾw@Dʣ(`ݣR@  6& (=n6 }l9d_P#clll$Š@e(Yaj8?B(O0E^L VW?!61nnnpռ*nq܊_t:|!wfzHqzR&Zu]oowVN|߷ϫUhHSD̓>Y|>__m4v}-ЏM&IENDB`jo~ " xPNG  IHDRw=IDATHMlTU}̛ymiiPZ)k qE;Ibjܸpi\1`Bt!+ \`E\BaJeڙS/=JDx9~w{;\d2'vbճ=QJ)dYnܸm?߀}}}/_w]۷o H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbGlK\<\䎎O.~on}|Сɓ'===A&N|T5ۿ3::::88(G9_M#":u ٷoijP:}Ҷo !qTL="[Zk,Kc_X*sJŒDQ$Q)E1E,bHEDq\X5u]r3qE!A9` *,[nwwRs V3t=zEZ۶ήLytvv5voM=U<JSS6jkkd6H)E&Ak8LLܧX,nV c/sE-"LRcfS\B)¶l2c6֚8 ,1sbq]^#5I䅢B *&T*EcW+͍WyXw\.(x Fؼa?&S\gbb֖(;v{9rco,n]" ˉ"Ɏ)n6Y.gNx"!RdViknEooR?ƛsaml槳 y!$8}4um,es:lA%@gaÊ0D3e BcJ?sJy"S4~%Slڌ8XxW{لm "=▐U+VR'k"P}ytW6pBoqjH$<c0ڠT'̣{LMe΢}O¢ΥV>?EP\.S.@ eD `>KBl~%Q6rq"/؎Z"D#FhMFa8 lE짒U-x,v]SJI("@2B "8#cٴi{}y}TIENDB`D/a^M!@ w0 %xﰒ:&G%%iO?/!%IN* }Nw| ɫ60.*pQBU̒va$ ڨGcS#@Jz&cz8DK&)Rx;UVLRąOeQ_߆eY{thV B+ja."H}FAZ%j>|89gNaV 酐ct:ݮR1 @:X"$oCo&R%\Z Llchnb_QgskF8rH*ONdI/iw[L6 ۶}ǎ"O (oǬnB&yXA@)%~"֎:&"<Ї4 Rh,l;٨kY --f- fYf +GсTd1`L"}unĉi.34NplH9I\" eRھB_N1m7v>G}e70m6oyt2c#4HIcSdm8Z 2e[bgDB!kh> $Ku>7wB>pǞ"{'m 4Isk)\iGvꃌo?>mH1eFNJ*CC#] :gh4Xɗ\vn*1%F9i3w!t[FZCaŋ1j+ #ʓD29pK ]w@G+iy! qzIc%X6r; ;q:?Sݿ Ws?,M[!z..S]%w8pu5WۋyQ`8iIK2TAkIu=RϖVTRO(D޼q^najjz{'_ǏGo>KJ KQwIkŲ1o",{W1Yw3՘k.̱u| }{RtЗS.sS)* /EA si8yhc I6qJ% `JRaa~ѨשTٱsbsQأT*1888y(I<`)^<]ߧT][+x9t/x_}WۑD 錋mKl'oC_Y<:Q 1^'{kqkr#GtMxHiaFkzW+_KY!z;IENDB`wn - x sb``p  $RAN ɼrؒ]'E8 <"Aa%wDdE,q(qM+ap.JM,IMQ(,Pp o*qj#_OV8bywu Ʉl?7ֿ^uDÉ0iyο;u g4/ Wepwç?{>[9O֑d{a㑬fh6+OwLʁu׵"ؘ%:Lۘλ. o5nxFNw[5fۿueE_d;k\O -p Q~Sn`Ns듀^etsYxZSs% LlLlĶdbLl۶m۶m'7~?bQ]_:\,,@U@ ?Аy~hVRDDAށHJDOJ 7x7 PNG  IHDR szzbKGD pHYs  tIME hIDATXՖ[]Uk>\i3LK˔jTbb$iL$`4&%A/<`"|A*H` "PJT Lι̙s^ˇ)#xO앵w_}>1AB^_ !BJ$ J)>i̯uHH0 䑖Cp€k *9CةUD/\pLPpVvH" էVA!k ' Q`1P$Ua%(̅"´"Uu8oJ}y3WOD<YԺNTA/c 6X6c| }9dhWzA6qq"eWM0ALI=Q߆܍4ī(n s~#'J!'%&cܔ+R._@̒9n"JoCOKdpy.hpH :`}u~zQ8*iDm]Պ͐.[>¸ʌnfAB?̝|Z*QRTS"ڨpXr_fFM)VaVQG+!$X`2 ^ __l_fPWx\x\\8t];g?aMMT-(L>ƹXh^|.ܪ^]ڞzj8Nff<Ɲ2&o̢Ya23}9 )!!]My}xuοF0k0Btb(6hNHx~ axMBD>7c-sڌy l -w) YY]d_7= 6BKt7t*j &eG JՑyw}lyT;ϦU_*+%6b.hd0GCkC|Π6,YG*).5['39nlqޜi ǁD XǥvrhAb=mҼ 'j/<>"!#,0J4 rj+;Ut\IYIYJ)M4f44G'#7M `&_ e4XmݒZK,fop5Hz:F*c3*u[-RLZL6|)h(>Xyl=(.&'OxfN}UWSlny="c&]u5Ӹ[w<-lvnIz{A^Zl6*GHr;god^g5;hQ#-:T8˟Mk}Yu+=*×ie:4veU˦; H<,5)#LU6tm?u9<6[ej$|%k/M5.Or<~V}Ϋݷ#Wvxmϯ_1`odt=ck?{6.ޑ.Ml^ f5naBs~C$$IIc qpLfKJf'|~<.+Ow>df5>"g{k<n+kGIG fg6}nn;vG )?ߍGKߟ \%(%4?ARC_ddaBHɉAmBDDa8RB*Wu&;@tʝ̝FC~2e&zB rDtuݱC~epBM|\0 ӳԫؽۣ)a\PH$w|tWxڙ!¯ ?Vm6Ԋ ] vtED_ۭo\ oֶ>o5o8S#PI$ ]`LW Omķiݫ[O;g;l {FYꊈ Þݔ37`ت+{7$}wKz2zc7WS1=Hp[s{cglsWx{'N߅j]*ԷS7+AQO!fy ^7Z.RwC;庶tӓVѭ?⑚e-dW=- @uw8L#%wɯuž;- DEU,NP&igC{AcǾ%ree2kOpŽ<(ܜWC,Qt ZD$|ǿMjP3ˡB7SQQ@EF-Xjl$o\ B.6d4\@9åq%2NW9p~G1>b ܅daUUk_ i쥹[#QOm/J +kaS=QVIn rZ{XYVPy!#^3g̱a4RHšnokA"ɣa0BUJ݂ jCzte&0E ~˩LzaEWjKΞ1Ճ˘qd NǏ=CVZR#./yI.3;DZNX.3n.D]gXpuD)hPt;# iF8Hq7hOёE4=1;N;R25>q7 5gw9 PGy9|0=4*X5*?w7FB:FH2P:R+UfzN L0jLwNmV f%9/ N{vRbΚ_V.&aR ڰ(4{A8 ܨ_*1 % 6STgn\{1S_.;HYChh)Eqv۝^>%}.{g>m +x`e/hmJ#% vг"{ނbqf&R9~ٽo+?6A߼uֻ֫z[x[ oDN@,9jfǒa;ToY$<'ǨH0.wlVۣuӄ& j~3=_8tR,}dg4w|q@8Ph&rU{ȥkpZwOwPG?Fq<1 ortNdDGs蹲U9 v]Ӣ^2XYr-K*Tk,R`;6zto,p2>}Ժ4}J/nY=>qdDwKmmG 4|6Ky.O$U "Ekl2ۛdKUprQHjUBP qA5T[%2Xb1bpVJ$ʞ9/j,l[vn`va+FDn cQwhXŲ#؈Ffvwd4S{'f3/θϢ~s Qtr6;4){f8 t"*[5(_XkoU#R+ZmS dSTАN$NS^aWV@rKku$1 VDzI O\gJjk[Ac3 >nvͳB',"NkSLג@/4Q,Jx妈"KOEI4:`(^3Au7 eB ~C۸q)͎Ϙ#axJܔ3ukiMeS+Ыf Gk|<)?|?fO|B!njh|nVJ3b9O}hf nGm~<^33u~r>/v2rEq!TֹL[@BcjN@ڣkV{s'Y;UEr.![] " Ehv!:񗃛 /%"ð ͸ L|FP'%=#ʂ~{sHV |B8ꞻkڢ8gb| UOY\UOP*_-A G8DiZ VU:R}O5 Yt{xG~ޙysl3p n>P園iq0/EJu(0b1a(bjF@Go[Gn+yLEVZ.lܔ=:h5e څӂ)›;В7 #G_#s"^Q8d";ljWv>9ZŠLG.B# E4*ZR"3#CjbQ _͖ Ǻb"{/ A揮/O0-xuWnFɕ:9ha:R-H(03ynHY =~\Hٶ"1 :C HHT. 4wE!E y 7c67s|Q{o!gJ[tJs>xy'[,}.2ΐZW.S*O^?̣#fG-eVAOrht mC\4D p ֚5xս(J4"pIL̈p0W`{ɱܮm$ CB,b]{!-1YѦ#ZyBJ*y(?6= ,Vּwh\vgc8"'lrcTϗ(Q jSlRn q_󔆫#z6F^Uh.snkm?"#TGyZ;0/ۧItΙMz kCdIGX;i,ws=YMSBYgj[s 9BJAy*=3ەkd|xX0 g _pRg@zo!fm\0,zeJF(~Q W\k}kF{ V1C- bY07.AД *4Etɧ=xBP|8],`5:Sl )hPi[Y3dɛ{aKcɼ,ۊjHTzCR쳋H_Y m\M/&RjVD뷙کRD# K16y^pPzxF.cY}k`}ټޠFE<0w=]awNL]6z 2['Pvnd#pɕzeb'<|~ ,pP +eӎFij\D #q eua,ZX_#/Fe[I2^oJC4N-lǠ7ph^I$V4tέ!-Xv5-5(k.Z2pJpttfG.ye8Ts;g$w6 g;%5NU | "ܾҀY-#s%~"n!#~S+2-lVn604^@ڈֈ81`m"D`,UpP{5QM%K1.l{M0^l2ұ3,aӀ0> à+PCg-Ռˇb0 ZO#jƨSv;e PB5X;4]ijUfsMYwXyE͐U0hQBmý!Y+b7*m ˔p :Ow]s2nuXtK+^Y@ToSg}+"=[bQ.ie"T,/Qo[O-:Eڛ;\5׻]s"G~_S=>Cg]/;;NH߅Y~N7,Uuw(4B+C>W6 _kxrro7[mJ׺\j7TYR߸u P΅ O 89p@ AN$_LA~?T0vy|}w+C'F Iyfgj$6@& ybL;#7\!>:vݳTA +G*k󗚽r]tuz?bbV*n~5Yapw<2?U! %yA 6 IABS;:\N&tKTCqbYxkhxcZ2tv[GQ6[`P%pVp)s.Sm[]#S{$y ;uj;>C]`Ɩָ5: ;gcfsG/g;r䍞b4ؽb`nH7qo]w5nCO2\WWlX j=5:W9\SY9fޚ'QlgADNF}0 䤔Sb1 g,6$ \fQ/x(BȖro_KH郮#dfjR})ULkQZ *PKUk~Ղc,lcS43>  (:uk=)_'fHC o7kӟWbz\̝}қnnfϺsW&d]x~6bc#gaJt9S|n¯. S7~紷0v%B9E5ȢwR'Q[7(i qAe/fq_t-D*_qm7XJF\ uyZ|qY2%硃Q=v`=L&+l(F%3l*yFXr4#XK/mgXbVC_](k:+^-C'RpoXkJY2̣·^xaxPIHƀUb1A\F5U|Zb24V1/ޘ_~ۊb Ȗy b!VPQ H}gY j[#n$Uvh~O5pCήy4TCS3'D 9Qk{]fN;;:v~ta0uohu>b/aoJDIݸ2+dixNWOw>"u]۽l7 ^׭ҩjstLx/eôxXPknȂ2e5կiolkl;` #Ov[Яps6RAl{)*J~ٽ,KZdd}!q9EƘ"xNc"2 :K 4ӯ_/5HZƒ P7`:?0% '${-:Iʨ./]IʆAEIzͿY!ջ[xG?c&DqH7l}%ӯEڭ%gEe3x{5lmvA'w@X<2l[!tWBźEp:&\Yv1TaT+&XG3pi8#U%wLc_KI7:bI85t703%YjFK)!2{BE}f4Lc֯b֞]){5NC;Imx2r0I>u"]ujS\[|V>lGBX+o'IL|`liq$g@n*VXK[k}5LaqrZ eN3swg0^hZwNj70ɴg 4ozI֥qYQCA]Yd<Y>4y%2|N?$ĸ-7LpV,(X~ ጢ<-* C]%Fe=840Ȓ VӠ|ܵy: n٧QXƟ Z:Cc[S/ yBCV`V{(Z>fߜe09,wqjsZ&ÝC:Q|)9e(>ߵ?,wjU:3:s1ԋ"7g:ߎ'E<) |Lȶ9v S6S2wj)a_G猥 ܒKT3nnHx*h2@qZyY4)PnaM*-w7WK%ڎ,ξ'JjfkA&meI?8,v&wyexZk-@rg-\mgּo1,PoEDQaM@HqFb5X6&0m00o6uAIIJ}NNΛwѿxGmu_Q*3ƼO/:ԣzoX"nc>Kp֧< ^* MIo|*xpޮj~'~nN |7Men4alBfr0v y.DcxͨU%u1AÐAmG@^])X DF\iQ MM2?W**-Z|dIzZS X.<'TbF(jlFULcRH8AwE>,@bxDi!1)D ȸ1uc%*eRVycYƵpD?Р-aj5j -j>r]{1snǫzqP'|xo8QhJ#ڜ*j$e{x=P":h!sB]D1;1q/ŲhQk%ڞ9Z>L#q0 "ZWFiV(QbxD'h/ص#bbft>._ ~A3+z29Tobyu;6E``;(9]5"p,BdGUL0v@[ :oni. ,|ێ$T@#hzE(ڀyX FS5kH$ԽeCn9#Eȝ0["f+Qi*Sbmo nM'DR3'Ĵ|; o"9x+{gOL7F::fN~'ڬٴ jv*7 WKlSMNwU˅k~1s=Knьeeic;V y1[-ξ@B],l"W!vM;[!8ŵln<.} ų64([|]2/ܽ|"+*)sPؙvfY+ZF=tQ Mw9AQk^#B*@ kbge1Y9hjtQZ:21Cr8ZAs’V*^w(KATp٤#$Y  *]LӍi]}u_s-OH-ԷC^+XE/l5+m#.Zbs0_V5XttzzL?^4PA# $fNIH=5sFb15iΔ]GWExg$DFc./;2%$ò?#|WӏL-v4%9}89EU3H{-뀞Z#$ ueVͷWQEI--Մ"¯yyYSEэк\ω4DKT. q'&-P"AG(e?)KGa[aK SRE.CFQqDžsRO% |xo{!|4`(8LJ yD2uZ28y>r?E[=BIM3k3 P|i04sy`ot{-P9商v2Ivdr;*K6h&'8y}tfbygvGqriմh7av>d6d8,6h^_6{BpLd FחOb~<Kd:PP-Ce!+Yp'Mjr}3D+r:.'jri|[L7br$(%pM:hK"T-ŭrzg #k6p-YMXw!J/EƼ'DNw(m:UIљJ\@be@vs! |esެVk`R-"hF((Z^ܱƷm&>ի>R4Ϭ_45C'm˕njqP^>el\଴ 6$;x"̞sHi3gl-3R53U.w/Fc$%fa|FUn -f_ ='cWZcenGV ok܇ocD[:'ċtJi1VԱvN,BdžˈtROoRֻܐюU;o  ў/`D6B,X.B1¡JzE$#luʭ*,Q;`thXRʘ=h࢟hrj9„$ltTfyНI@QRtzPKD&vѬ#>ӥ ~wo_,;ٴuNiatRm[ka ~Z&/HYW%OgQA,W[OeP.$.F< @1<brgGxޔ]Wѣ^K-Zr$5@yT".#6+єDwK66p>ܶ)\~9Abߚ> ~?8|2=Nh J>oiRJ8 }&EЪDMiEނ;K8llAw@,VwںΔreVRI:#SSGqPmB^G&1 fܱGM fC0eU.׼*σkJmBIHfiw,_<6SΣqSd/fchFJ7X{>pu<`/4st%USrQd9~j+$@S@UyZ%p+CVimp |@khkh+ {3nD1y2$IF`|FzӦƞG!W$UNunh\Ъ2UI3\ڷӟC.]S {|_\ڏަ!e@[@4 /!x4H PƶT{v"T:}3e$u=M 3Z(W0 @PK C2Evm/8G8@g2tH>_}!>c|Gq_oقūh61c}2OVuq|LSzV:#i>CoʕJnߤj|ϲw1{*hi;ȸ]cױx^Z9sB==@$R'"ZiYBOܥ~Mƀk9>Rs%znLbM]) W ,1ASSTU%=brHuΥ1meǑ`k$e彚 MGgpk o XӇk+O:` ckk1/}FGG{TR#%*$ F^#`'8ŕ12?[U:L`ҧ=&ZBkE$Kf?=G,/ŋgƝ)'V?Js w/Wm<2kc;yv[Pw'?va\=3_8֟`+ ~Rb;1,2"/̶&m~.?[lK]s2a$u|04Oھ&Ji`fPFEܨx'hW;UjO>$玽̎fc U0(RXS_Hه4E꒘L*LĝOJ׵S3O?Q ܄a00xgoE_EQ2acQOuEzQ$ٞP$Ρ!\Z[9y>]aQZ45rR8J>MK!3*՚1 jO2GZX3Q(S|Ԭ oRЬu@ГΚ!嗨h+P'4Ln6*,EOw'?΂#gzh+K7Ì-+\_ڂs<>"sKξ2ˉsa}L;gP2խUkS廹>fLf8RU|RKnlI:|.7E" >>u#<7 s7mZ߇8<=4^kgG-M(iCz|݉5R5VDj@Xr æy uQu6#ufJt踺ko}8LG:3sd7mO)%i"%Cj Bp^re6h #bX4'}9O+]k Ɍ. Z* %%P7EkMpt2<G8u\ebt/?l}Cq^..1~/v8w`m\|/}V 2ʹc/pr-oi^}髴W63}#,,ʒ9;hw)u#0|(BMMNa6ɤvbJ^Viv{mi1sa\bh##[9=(CT\wlg`mͰi3"S U+2sdw-1;XX??`bX;˺Ĭ!V]_7Fꐰ<(ƚF*5!'tUUUuJsW|7ntQN}%y Wwyk4 AyyJu/'-fy ^gH74fjYJX%(iZ4 PQ7Vl})4):)E_r@D,ZE4}IEcEqx\1bSԝR +`T1.zk5?R6TBƂ&K,CG7ƶRXfzXX'rE+YojG6 n if|jڋi3/?p;';q?]l߳׏{'[_#;-5QЩ=ٗ 8ۙ` IDATԩȺa;б N3 a-\7*ֵMxRoqri.Ӷ0!IP%KS ֺ 7<=̊92dYCa C*<1|`cc?r?[ WǛo2<}a,%VuEI#jjX0/h_"WRX d&AKZ<\kV9nͳ8ߘl7Ot߾ޟ[ gro. =Do=12^H٩>#AJw"2Zv~iui%gGSJu|gBiUUe$ǘ.wiՉ2n?=ҧzAb c%CD)R HNJS¦(k9ghu*AGV7Zv."SnRvSY\k,[/Y  u su&iV$%58 3iG\?EeDҋ*RB.=D>/!ӰN+,BM1#>@^97x8\r SB)A|)-9 Bi3EulSQ˸EIbۛ!u֒XAVr:Otj vA HIN=n'`4d{JҨ/^hl@Ņ _F93=@uq3?Ɵ#w3xKk|9<78u/=]ҵ&(V&’2:6B,Z4E{)DžRl ݲ\mD)ԣ2]J$cǤ䭠`%otS`! O{mAAnjzB%t6#Rڹ s\{ނ 4}wP՛=@4@ VQx7e!׺~VE<ݵڻUgʬǨ h-:7 n# Z: lKJkgdDX r_@*D&M!ogz}N!oA)JϮU3QʟE&6iR ǖ_g"B.>NT~}jűۘoGjy/?S?A~g/lF|^f;ÙDܚ%H#b,~ Bl2B]e$9tLƋgda:Ne)L3t^J#\N?)IFH%*D}! RkD¿Bv1}9۶^S.سq>|ۣ,FOKs|/>rOw@1O/>EAUI\_Q\kh[pD%N1bOKAH"ވ=(޲,4dLWd?¸M^ZZ,IJ`ޤw6/Z8{62v>w c:Nc ҁh]y{giY aI:~7pKcfHb\HBAa[Al1k%!)P;MT-t@BJI)Xa(& ĴZ{4p煛b ڍb̷-3fpIos$"æu7v;\~8f%ߤfV(%ܻ6&,\JKK5'xݟ&cͱ2J)i^]i//py$nS% s3D"FjxO"{}X]%ogJ2VأjHkSnlhz'OQ k tZzD-^8Iٓ2!zy.Iu~pvӪ8;2m/ ^Q?rY{=M^|鯕WHBvɛL@=Z0tY+pK)퍯a}"A+TCydN616mJ$FI )ڦZ7S~aHcѱY*")2.)E- y3c Mw8A&)2 = $""8vI3Qc 9# Ν5*Vtz+g/UƇs+3^X!IJ%-B}bPgS$-uO T4EZ҉fsJGSg‘Z&@ ِdL;VleRnh 4PPI*}TrS-ywV}2Mvt==3U@6KTۅ5^m 6 {PX 2Aa -3yt|%{{i@ w7|? 3 z"\kRP)Z T.Ph+ H G8B9h㢐BZfS2#ٷqI1&r!A+XMlS4@ WJ!! E6A*$ߝVܷa^߂`yBhh_klƱFY%^~%بpu9_XǴ" ><;EͥyJ9wAU0~0&&-jK" rR;qF0ѼmW qe{8NiGi?~,Hӧ&Ws]XMq6!Hgӓ6MSVGCz%c-$G[gbN 7n! i5K'100 ,{)K"z}Ӟ-?$د^s *i҅ޅf dhs&ԸL6oa7ʴLҤi©4E_GҴB'ɉ)bBQ vUم?>tT6"ef~1TڌD->e֢iX_ftVZK-ff1v-\- X]Y 4i\I%ā"CSvt"z+̍PJAd[Pi23NF#F5uMyz"E2re#n2 , :#< sIj֯{B?g@d0RG1$yJ$17G'I%>ZhpZC!P>ե3ZA "S~p(ORK%;ѣ{^ LiaIFYKQSbӄEn9IL %gF:B hB!n9xaCeB5`'h`(,\^feaJ 239yŹETbJLl"D" E#/[?<X[!/]c<& h˜.H6g_^b=3^:+ɅHiXmJI/r !8CV&Dz}@WxY)-˜/#6&L\\!{c&eXhKT"T?G(U 9Z$P(9QP%E_gOhkԆri;pר$cBWQF̝]#Hmcpw`Yʹ ~M`MxIa'>vf?V%}5`L'ҶӢIV Ul\rteHKJ0A$I֢?$Kk*U)iI. l|GM ×Mي*뱺R]a i6:!i=x?[<ŤߣY VfGCKrg=Lrg~Ȣ}zIN^dd f~c)U/!s3s k䟲q+W8xO k) j]m`/y\yafoG-QKm:"l>]OA$Ylf߾׬wp>%YZfbN_ٿeSh^ z4[d2{LUH8p̱p͍)TWB7[gG९;b&ʺ̇)Թzfrm܆ithړk HfY^DO>G /HrsWvс%YglEWV#X^`'됡8kudk,$B#ʵ}$Ut[D ' {cEXr߂$I;G sm%VgEc=6''uɾ}+g-J4d&Bz@c߶7]KX{W#zz< k@6no$:}`#=TRJD*ƺ4ӡ9(Rs26E hǯ#3R*wHI7BiAD[XmQ"8`HNKGdҷ'++18~ЗK9IA)_&-io3}^9MZsrn l"s<_c烟䪤5ţG$-&& z`;T LE%WgKkX#kJe e~m $hg P6ZkHm 2AgF&ڌmk`e {orâ"։Mֽg h48<>[U|cntqz&K"rsԗ\:hW>xFm$y B R1(Kþ yCAƦmuhJ0LlBԤmR;+-)Tڛ,=s鼙6MM i3$̸Iz;u^e7)>[gypD^OfQBKr2F(Ȅ[/7MvF$ΏZi:)?bP';o(t:lp#Slcў"{<XK /}J&Xs' ET0X0c[ >b>ӧcg>2DZS1I5ڤI yEVNޏ}+Xر&.\ce&`dbԮmb)d27m;ebfJS5OI\ a^"ezPj#?%Ƚ-*#Yo~9th>9JN?+_&_hүH􇷣?{`C~ Wwe n/Á;ΐ+>3//!"(I EH`(7 uIW\ 6׋z.5uެ|tZM&)S┳Eaf?Q zg˄Ba ^+#*$19Y㵳r,[k<ڒӃԓi ںbiJ G (HXZɭnb^˟[mklg3ua2H Ibi[3{]en~w}STÜ;chD~ᛴI{NTlCL1m/r79pN,;FE5jO_>eFTa}<{5ZkjȷA8ʄPhI0!M7i?iLR.=Oh-q߃G8uw/6wh ٺl,!DgH!?N^T1&'S;\SyS:R׉e@xkf(JKDp .Н8?\ZQ%J?3ˑGpo}G"ArՔ72R.-5ܿ{ ?r;Xl:f|lo2q5Ny:iy+ JAXR>Ϸq̫J֧mo]Ҍs-`3|C7/Q#J0/1V:_~*Pn!ؤyG:{Ŗ iZrBw3 }m M3\d)t"9e[~=fz&T66 KWغgkkY\Ж2{yj)\x/q,ܳ}<)FJ WOäEKӀpXQnո&aD,3gY1G[K_>@fY=S÷klw{T~ J71DhaQ>عZ3?7O¾"w`jp 8mCԶY֓6/-v 6?HCE˖T.9TMIPhtƫIzļ5Ƈ֛F:ŪcѡTg R$Q !aPr-㴓J75~M1PTT'j3P M LE Kڎm 4 d !Yg I؁I^r7k9Dm /|9r}4fWG P/&GI'_ɩ'KuH)NRR)na`p{&Gk0@z+XjGxRɿ>K1ȶ#ۙ[^aE'_s{v*L_kG8ϩ稔߃uQ5ؐ2+DwN 5}WAg') Dy*9$v IuT T i2RSK96MVZ KjBl҆mKpnqrB:OʒO7ZIx`~WzxE/aV F4J*QoX ?'7 iu6e#|類wʬ׆~1:!:ٲYhH6UnCh?ȑI&s\e`Xy?1-8]oE0?{/?K{4,/ctm[,MFa)Vߣvm9lM}F8pW_8.Usw/h$%׾HM9K3Q}[֟%nnḏ_E$k1/]/?Ɂ16!;"g/>KXR{Ԙ[;H>1ow/f+ː%WB'EX6m׭ENj}ĦU _]` Lޑ"{wU( 0iVBW.R)9)0Y\ܕEN_YcfYڈht@ra*GI|%cse <wLݴt(yS<}"+֩XRmVf:E-*<tZoJ\nK~|$u} 4ZCeqZr2+ukIM܍&?R$c79NLGc7- 2 nvP?bN}'mʑ^`H8:@5o3;]gTeNyҥ5W_kPњ|"u>bKrz]J7du&!mk :z-B ؽ6RJ5TCf곟tw抯<X}-Eհs5V#L-}<B3Y_aԖCDpwʉLQޖqf`Dc-7ǽO.$2,MCnpd8$n4\Mт3&}w+C>M,Z!iM~+&Řyv~Gą*SP@E˘+ L!۶0k iZ[A-TC|ĭEE7F a`{ kK:B}] b4expVkgk|7R?J:q<43;ub|i&k_}JD\'5\biqEtpl1ܢEBmͧ>XjJήy#]/q(YȰXycMcb=Eϓn$<~cEǀiq{e2K-$FX"@%qa0_mZ6$%E!BWaX)BX^RDXC@XeڌSiD=ŞG2Ms -q&r3qq/q~z!̏#UR6DB$vB܁^`a o>RnS:ӴrtV#GkY*8xʩrAuj 3С:t;> HB7,玝f`Or-ŔR>ss,^cbd'3Uv]1*aŰk|7W98_=Ɖ疱MK4#I(`qؿvaA@IƇdj{#?=wľe/OhR̅NYRZEK! R.*CX(ڈ(R))WbBF5A2'iD5G' $ql1Wat`Xv&RQ Urȕˊٶ3Po/B@SQ ֔] XİE 9.,4#Ty|.]WC 颪9)<nlMSlm;0(؃pƽyN\ILaA*퐎)H r]K9Fi:I:VJ=Q6tN$Փͽwo察"_o1rwkm&P˗ɍ yDRMFw2(#*#CQ!-.L[ %sq@TY[O23=Zel\dK߯RطիOR ֫癛]+7(׸{yϫ\``[ga=c|}+'6C}9:ke6r8 /'9KM|%%%( 4ڄJţOqZB&g7Bꔹ+KY!5AI:^$MpyZ ?{ȋ:X7vZLl=Z#{j͚SHiM^lĂCBΛ,FmAF`^)PIXE!ΰ&/H) ʋ*xULlp2JC*tV!,tn`Aa8N5o5C-x)L"7ޡcmH Cc%.·λ7 ~5Ugmxx5^|\YoYkə>v_}-'YN]AJ IDATT.k-~)KIl%1 /}=Z %=sWmpa]rzEVoÌ[P8VR+vBQ$ υyh3qN=ΩCGy/G#:/:mS1mp *?멏hJZl^O-/l'~1}~49h0UN>9ny ~q2ᎳsmWTZLGfX>m΄|\v6!K͈ ;I!w];xb}8|w/cMLLmefǞIʥ!n=#8yt8}jgwחca6]ઉ[{[&o}6=ӸnE6t~yw/|:L*Qee~UA9;/^H6!'86Bc0R*CCf"C6e5q?BDnBIX$52^`i_Au< S$g ^ĦZctŸǑkx# A~V'Ow_7DqFspaCdQs[b6{Jmp4aBf輀PDW܎[*|K;"5rm73xų JG.F.ast=[[xM[=j\Î-3|9uGZzMJjJ27FQtfeqM;9WHIn暫ľd# Ge=7\㝼p l%MK?ӉZaJIQ?1J@gh ~JeyŵͶ"ڔg@#5 ld=XL^\ h `-FyiW6ȳ Ok^Egb%h.tGaz{T&o<@A6_\?qs^,Kg@ ׍0$+i0.mr R3ZejdOw?)+L3R]QԐs$y$,qq܈/?Dj W>gjKXϝV_k'WY]1NI☍Vȑ㫔k{ڢsI>p[-/5FwitQ3qABsiX2x=<'f|Je sɿ".1NZ`%Qm,she'>WϾKvUxw+M+ N4e9(\D1_< ɓj5\r:GɰFáQ4aܣd)iclN>Y&Õ0kȬ!"voZ ],rIS앱)Xiw"ݜ8_f2>d_ ~.A$霠>NJcΡgzխeٵt!F7 }!֍Dq7p L(qWsVЅА(j9 " b9ZXV+f)$ P朝F&h\3=缸iu\u\;vu)wBjy1*d h^|ÇF >gOԱofM゚ !ןC'xOα&$.ŭm;ϓ//q>qN>ɧ]7r;~]6[O~|!sqspwpSD8su7132Eux3k˴ ;·}w%_nnWc$f5R +v3,&JC Jg$\0KvqHs\jeE5p);09VU1xœ~9y֣鲼ޥƴMVVVX^p*YȲaէDbݥpN4QnxdaF&9IfVva!lLd~F [⍿?m%2Ne%dnV3e:%o2=bȱ 87Է5׾H23/;~]lJFDdn~+:wA&zZp{L%{V- /⹛YZX!O<ָw;N~'?2Qmk;LN9NKlf>D7 IŒ|Ie|I畩׫vIL *aZĽ(R.zqFP*f]~F:'@fya88tp/nRE s(:_NӔ/7oZJg؁:B*Ͷ)X2 r:UK+h @c!P0Dk/Y?6en&N]$9t">RbYt/b)`v0rMq Ҡj00vX+sGy%h8{h=Dm, y*gn4KpxDu^<:4LKeF P w-<8c*8%(UJn,Gg^"(q_dNv/tBMji$e9'rŦ*,b){yk$9j1Xbc7=fv0:R+o|?D*g|O[}FG!W\,D2Y|sk>fŽ_{}1t $7 ;ؼCb mؙow"\ҝ>z76O?Ȧ}7gӦZ*S_!U`-zw\.no93TGtY@]HLN 3:[~7Y\I:6ɕE'W_Zw/Ix9­W_N-nwhTk#\gN W7tl(*6q*WISV6]MR"X$]"ffR%e;o,֣AݤY#t{օCeΗ o@t1 U8++J`JOXIfFUbq_ET:K}oΓslsź2UI[^X8TIm.Qưdg}~ck2,y2qD\ Gnʖ]'> ot-Yv_{:6|ټHuV "0eoijqמ[#_![ ﻓo~IaJM¢>Jr;[Xe9A@fK䱳Ԇ`q@z__>aR)*nYxO_χoP|6~J)qkj\^zO}1O⢰"Eq2׼RDP哴ϴ6*Y\㹽ᇶM*BK0MsnRxfOIztSn.a&n}oܿc+I. ~P%!QN:ξb׮7f@nriI@ =Óx_wC|o?շ]Oc˱G=V8׉I~A { +:0LFucPeOTJUyاY<@k%rvN?̓? _wKj[9jϞ'oCB[V/unZZZ" bfuK;k|A*Xtn#,-aG88@ Uo/$ oϠ[xi R"3}.5KBH. fp }j #y9C+V#g{26B:2@ہMR(cC),^VŠq29~kI}m=q0I(c)9懮g=FQ%=J%Q? 99Muze)2&VN/>Mdn"j2Qӏ^%$_{as,=ª./~zp:]]GTxxJkuqY9ҡTȶ <.Yfhw+ICgCqq;%WscUڭmS&KS!b KRoV2~7?}w?1Y=.RzNmv3W^?.gz݄%D+k!=\{PPJ=?"q8_H#qSrB+srSre)ei"iϫ.Z|GG *q'v2Ra0CV8SJaq\yt {4!Z=q2f9v 1f\G>{ m z~~diK91\AƓ Yl2iأ[&fbd++'-MN:LR)V\N^;9 O;?d1A1xoKt1G46I*KQK˸Ak QY_@^ LR:>IPyN"ᬎ8׉1VmULg[E3+/6GVh=@::LK#۸b&_/efNӗ[|-ަfq9qIZ\R<0㐧%G"yU3p*im~0v(% uƐk'bƜx"(H1XĮX IDAT9۬5v{P9&+`>1/<\q U< 98$ ̠iIW(2A#1jG$8}9lF{1TiCЖ 8sX³ܷ;ʿBaJHܰAۑSM)+>yBfDi7opՖuSRi3uUlD ~Tb9<ؓQɩmבALWiVl垷4w]S yDiA"HGh:y'C)Ee򄹑qУ݋I L2^CSb cJAZKQ*I)adum{ڭ;UF)NR. y~+b`HkpukHjR9s梇 28Vl."43ԖfTD QeHJ$J-'W./i89)2BZ.#Jr4 `@Q$΅B;:z CF G?W[0BdEA#bA 1ծ'|aDQZl&sCSQ $qFmN?\NMa'IJ%dG?Gcӛv%Ju::d8Yq%Gс=ב9UJG>NI!#<#d^V$d7q]N3w8NthgpFgxn =.5ˉSxIu}u0ZLj(7j8f{k$F:dZ$Q(DO$dc]j"RqvpK=k6XXo"v_(b<:%ynHkB[yZ, Q =S]~/ZN>MeuZkβv+{qCCfo4&F1ilv ]jXWRAfmF6J E!3(2H"F*p|?/-6E|#=5X3([.(LIV>ky (_vB3kVxuLXzl|/;v:~x|%_% =062-e>kYơ+Q_5$JlŸa13muI.(O>CuZ׿~e~)`dx{̌'lI;_826 s*#1qow Eeqqrm-Pk86#ЙKE܁TNd2'%#$mR8$C F FWi,$qD/pCYs󈪂~|2Ij+&by5-6Tj5|?={|Ͻ;e^69KELjmmIrf^Acr\tP[{-$:H%U:G*P hD%<Ɋ^zV"3 [x0/a*HIM_H~K4P6HC8V/6)k{9mW51wʨ_', sW:#Kf\>rԇH7c+Gnk+|_SSa&nd Q9<"nq]ளT㛀e26Z!.1DUR&h˔_N6IqC34A:I?J@&EKK-CjUNT)K8J#:HW)U4Z\ic"Y_Ŭh[lr(h48{Rw}{~O/`pM%c$'۔DܫrE6+{0pi),Z35~%rGZ%׭+)ǤȊV[9SXS~^^!k*.yL8 R>΀)(KQʠddG QOE {7f \v C\ѧZ .%y,VZ/&A}W>lяsb{fryo0e'{MS+n!nU֓<1Ʊg$ꮓ&1ʩV+:JM9(.3u4 KO_Tyԡ :>H0B8̱^@+r&g\:ʥ.B6ȌG܏q+2JCC̯c!Nz!7P2ViHilwTicr(JcB *^N}W/3ԨgaDDN#Z腮β @J"Ig 53*u|Z*A"+NyN7>gvT9J߽ `xIq&ǘBmdϳSxMN52 Tsr[ l>i 5 -)\oAP9(}D#3sq !tȬ*z8b;&p XTkl, 3k*a=25C}MmͤdC iJ+bS6׽nfzƝ_˗xϗz=HRCP '0iJ^A9 V+1i[lReшq|N;gLVgIDb4%1e5{G,T^dj@0qlR K꒤,iˤIJ6glܣVJA`mTkjÒՕ Ҩ+&j#%QvU8F8@:vLX$~c[u>j^:>Z pl ɵ!3)a!qqUN?'7:E8aDdJHߣq9r,w溂8LMMO~V~޵U8u",4##'qdc,D68t*U'T;=Z#lD=͢s[ncA)(cВMkW*Z#PEG cH5VJ)0"/NF dE R"b ڂ x륯:-J!x2ǯ:la&0 InN!-j31ituHʯabGwT0 q(S8,N1*=o+qjg/E:^׏˧(<"a2 gT)C&pd-(9k zN;VKYZ_bzf^o>ʇnͧ?Q׾y]?eW eRcus3#rV$/7X^YzdRFg(BfѹʼnOi3LLzDHvF@, 䔏^JBg،:qkSA L$0#J|q L4a.}AZsBzfNyN-hQW쩐utiNc%.=\ayt*GWR~=@1(#iXDxt?|Ϗ_&G*C>F(Ł5ؿs IV [P惚_ `3O&RRM30=#~_%(Gc2  堂/`5J<sw=%wr%c5^HbO#-L-3<dKJF+cx%Aa3,YQ&PQ =՘bFJsu 0~Cfcmyg>w佗H5[lyȰlu&Fm4:M?Zn` (AnnZHP+bIc,QH|y c^")ʃ8g~kIӚ>{|Kͷ+̧5O?}`{1YY! oQ|:fB.Ƈ92B/^̧ [_b=ZZ%<bULI=z#/T _~zqOwFxgs׽rc%(ՠ¶ !Øeٲz.A_6_TXΟ~oY9uٛR:WHiښ8vt[;1m\tV}AL1FـH >q`8r3tA+DW A5oS/C/]\ɯ/&&(qCDSp, :^4 ׺8%)fzxW?b ah+Oo ¤ٹlr_oOжF:ʦfqrȝ;0Bk.8/hQ:DL!@޿& U+|ˠhmZ !o*E͝-m 8XX$ F1HsR6,+b<{j;AcM 7,J.Z{^)HAzZ>qKW_ckt<΁-Fcq:Rr9btXʁqVe.Z/3˝&`8 D=fc䪥Jp0TB*0@IѐIJW8f\9? h謿чdیtz(dqpH'|/}DWHvv6բ VnFL&D,y:UkZuH#e#~ǹ͛OkxbckA!Y6W7ޛEW yR }/ۭKY=FT'6@;<`VȺ)l7Nih FG,t@N kVSV{ )r< s)*XYdCDF)Q,j. \7i[St?uoZo 3| TSϳs\~E~Bޓu; iA"`cIjR)ꓻH{,?-5J t(Zc,. E i,TsWW84@`!kʢXg1%)wJ-Xc0,vDsy1U B4 &p|<q tdbT"]9JC^))ZjgGXuK4q~ϲ8ؿ{7qH'x+yGw.p3OxPay5c*nLXke Nj4QK1 G2b΃5~u1,@'kjUR-OqMW}SCzKG^6Dq֊K~|g_:goNP:ɴJ?c\b>`׹vYDȲ…l'%ݨB棖Y(ٚU #O A#[xQF.$! SCa $wSt g-bvQhqjM5__nݺSQŨ8ڑz䌫Mߡplx>Wq<|K2ۤN;Bbcss|UaцYpSߞR~_wj>r]"[NI/۞ vLQؙHw-hф~ۂdExqV9ӏKZ“vRNR댣g{3E70 =QpxLy؀S8"g`p4>9g\ /t U3akl`<$#Z$ Ɩh |Zs}6i߳xմυVX,,G6 [8U1m٧%wn~scjB-8G~Y4GHH%CcWmH$\gv;5ZԂzNؿ{L-S4szpm^)W24+W AkǵI)ǣD8Z[SUb֒{x 7A3;FLݲ.3%G¤ϢƘd}AXms=q¦O88I+Z6bw)kz.lC4+[ Tm] 㠮 ]Fx}ßg2ĻSx'$%˹/2e(hM%cN%ZOk_,u٠G1O*¨DIЁ`~<'$q!"3zj wKKuX'/ p_4\Ԟk& ĭ4)mgNZ() A@t9.ic?C{'Hz'? gV{cf?@ I[xP=ơ$bd7lY RÌDDRR/JN$ed~BuCF %TMu)tc~灳q&&fL;EC%:Z=A>#8i ǒ2—!BB66-e 䭡W,8.h ;E谆K %cz6=8ͥ<0|AD789>N{ӊnT93k!Em&=!eR_xi@9  *%XUUm)݉l_?cY4Bp± ˌ?X6Cyal2z+pg RwZGk 8בT/MeXJ&9% oZͩ&'E (#լmTM։ۊ^ "oLsa2y;GE u,E <uK?jXƓaC Vp2Bĝ;<kA{},'ZiD$TG:iRRVHTcE(-1I0׋h [cH\||\+x\neiGO,Q'd?zzw.wq9ܽ{4ם;wp%ls֤GyC <qd+ZY$T0>u=$ ϧ& "l(EP4\YG_>@}. >N- A :x1B[n2/bzeCv%zNpxt||w\ ,{yt:! {ibu-ApBoS63T魄tucWH4%;'h.%.8P(&yM^5SK8%iZ*9Ɉ}d[cM#y \.%r)6r',Ak)-mUՂ%x>J5:g˘^ƸB4( ([Ӓ(xꘙ,E#,Jxqdk&b$š+3I.?s3G?+Trg: dΡT0mTB.XbQU|[Nf1Rڊ)p})֦N:W,BNJuU:b̜JD[ɃC._BV9&?V}b1/( w3<%{sǕ}ǴFqyÂȤJAĠ*5pO[~y1! ݚw1ã[Mղ[K|0uhY&)¬&Hh42~CY uFx&gHLJ!xU Y"Q:mD$&QT*—SP(J#G ӼA'Ԁ ,4h8+5A*%UK)64MxrF t p ôG:̩ u K.3m_~;ݻw⩔yڂ,rI)$G]򢢗Tc ڿHYv/I sWr\92g^,([ˢp7],9Qzn޶*|qvg/cW֖ ihJ`mDђhTpAaejdņ*hGwܛ|WnN&Jm؈ ޾yJy%v#rErC}WH62"ŅnQ*X2)9[frNf,j#f9~~f. ۩]jm*hB9E:F%?}RyI0L"`hXҕaqϨ.vPِT(p#T#%z{H+%Rй/ׄZT} gru-yBϯlånD܋(f ʑ1а@23-$ "=q #-NFtI"Q{IJ~[I]5$DT6GT]F3ߡ0jA+i_5 ys9e :]&* aqWăԫֆK?[d'TaqV`A:]4H*c(WKp d .{Pa!}fD cdŵcT3bv!<U_gH )sJ"~ /MBDArAMDž}qB_0\0eg6s1tbp 6ĭ6ᤵʸ2X+;%ڒ(&1ߜ ¸-򄼘d<)kzYWop $YF;lpd}=fV Lc4S/,FHB H\>%򎞰M<}kNbU g"Sƻϳ扭>3Dm&& l'!?cOT1V)  1Z.% +M UqFkű/ BC, HVr2)"jP +J\QQPy(#Z|FNCBB7o|=50=:0:zY7NS3[PJ) |dX'Tz0[Lkс5KT8lFqpNNqWJxԹ4mh # M|a߂?!Xƨ0\ .?AwWy_ \Y^2،9 #"d/X_i c)ZѴQ80ZHnîGjxKe5'lgSpb .䭧2jm`“vz!+S{lv t7) VKS)C!SyO.wKAJ^aGc͜z/CizIR[CW&p͂6:cQͽ9io$98beBM4't:!lN͎YbZs2 ҈ajLy$-ac>Xf?gn1?ڡy݆iC%3!5:$m/cxP,0NBhZhT3C( O951tɟh֭[K[is OKoZA#d,Htk dgR7ҖQ"ǣEE՚GX#ר0Yu Ҙӡj-MYڒLTm\-y-=d'@ b; Y)>e=Rgd\4AK%VC\bt;/[e _ilNjbeHv" jXַ؝9V[;.f z+jv:+O 8nW %bZ- cj:YdaPWppttMȲONߖ_1x 0wD$hEPev4rmcB1\Q ;UE$uă͊%XEo%.HB\EuA@[DS6α f:QIތ 4"Qqtѿr=Wt[iV&s{kz޼gSع"iwtH1K4 Xi4bʅA)Y@[Hh)8]ѶKk T($Exce+I\z :ܺu?_H꼠.4i>{7tch &`.McfWѶYB.޴<|[ !B?ѩ;kkViI*xʻM8tfpbXgt7Lpueqvv HZn9D OO TOƯv^׮=;{; 5ʨpѬ8fXgŒZM`G O7 Ё'KchdOg(&Z $Rx7[mbueoAV0rְ+g8t5!* ,won )݁I RLJilL{o}'xd廯nrM|7{_ڷ$8lcon2iazPN >q6JmKfNgфgFǜـ~i;9ضa2]ƳE`\!8T>1 ۛS[ߺ_={W-#?݅|xmPrx8>\m>}_'W93Wx9y|?(O7ػ Ő_"U VOb#3_Akh(JVmΟ_$K"&,~("Ӛv6„1ke%tiL'ON:I=_# _| -D$$f|pTM?>V|v>3G?fP4 &cu F"F4GݘBHNA: S&am{H>\ jI#W6鋔` c ^s$,1_ ~yc$5Ƴt|d`^d?Eɨ͏ޔQp-7hMJj R[T% ~iMf 8\L<ү]k|x%3Ls/09s}z/ CH:<;s^Wv7W?4~ 1!Z/?V~_=~ؖ6Ÿf# vTnAiDd1UL:)Yya$GGwXT95"2i9$/ݩ_):Z x?GGKM?,?@<@=r߀j w?O{x_wG ηx^uQ?a9Xh+4(J+ݩB h#VSv4kCG?фz)3{V9}U0Lzt>EVBG% d2fr,n]1A1&غ۾ՋaŚl_f<9ftg[ݥ*KҸG#(>o7vu{q>xb,i7 ZK&i i^Q? ɔjYHjW<4!w<s/<,/O?u9äX}sjLsv#NK T 3DIt[>@ Zckv& կ\7j}YՋ9KvUx`m@TU IDATLOx|{o3#"wHĔaF]U9VC5Sz]&2.-ʔ,>3$tX:7yg |eTN*ˢaZbcOrvrXXxJ̽w\u;7ʡs7hdI(RM eJ[9<۔oY35l9ȖlIV,DQ"  9W[73T ޛ?|^U]]9go_;byi2v q./Hg oC'>7s)nsgݬRlBO$E@}h9&{;sG4oeq;ti/} j/物y+j 툖fbr-9 mK2XJ,Kd"PP&mq{\#$(2"oY]Z`dlBزlm/rmn+++f"Bw?գp{l.OМe-j85d^hL#6݌|Ћcuu PXBT4 $b8r Wqm*Nj8'`@+rzv-D'%TN,@"դU׉Q]iY3)006Jcu–a A:*Mb!\T(BlH'!kz>_E $NC4Ml# mFuYbum;mZHYvV#"}"T%.P֘.y]6Os buw?%صyOEFAf4١u{i| _//r78E%,vZ.e6ks>u+?xYaSFLKyBʕ/`o0:WɌv]&'xy޻|#P)25}jbY+Dst3cэ v"1qHILVcb34bܠj躁x(P,]g Jã']ٲe:IO{$qmP f!0y2cQ:k~CˡWCW!H}8+}VuLBbCAÐPSIg˄3<$B!{*1qG H0{V#ՊHg59=UFDbN"&]XbdH`xhM%0$9s/@sڄm"!R B<~}Eg [9.jBP(ei]DA$J鸨BJJ"`6o"B`Cwxs8$mmB4[2VDqBtUVt_'g)W Xa9R!(Z)DUr] 4Q4ڳ>6m~ 3ψmO4G߀˄/XzQhy񯿎}d4ysHvuHr _xfNYf0H܉it] _*M; d+xUn,+[XI-Q(Hi⸒a1v۶ \R"H1FQZyDJ)Qh7^;ǰf}?~ּ Kg!'O k@3@_@> >De/!rC0pXi$Z$)XH?D D~OqT]!mihF,%`+F C} 1n|6 S*hD1hKsn.T6j8NМ&Y2Pt!]d*f!>b߽$`*i֩n=:!:(aJ!uVQBh1N:ªŨAr-Ʒ0X{!'S`Qc$euai5Q nSL$L5a\m U`uK0. :3l)a6z|zc{ β&,bG:NHsdNi&e[%nQTrM#G/ZǏ|lTRs^u?1NuJtD wjF'qB';ʗ}|Ls߂W"˲QF2iM0 Bj&tH#nR/!it7N  ɚVHzk+=f8A>O\9w9^@# FECq 2t7br#z#ү#aaD",A.2ho^+4Nx]tBl LLW _^#qCI_J#I0-dtz' zLEnv6J:Awym$:Lnedt>eT[R\NlɀY'Pb| j QAT^W#yv-˯J,6T 7aTtba 榨:>Qvi6i4,-p\V;MZmNuHjk)\s$SX͈ÍYUAkD:M$4: t0c_~ @2dKVO׎nFўe0D5N0Yh |aD8݄ Qm8->I %D!(@j$4"DgQqEpxhXKOH#tlKiAEfAOa,#&DtfXZ;Fxz8 =uV򗿈*\}?Ͼ#$8f`0 )"\AӺO.2 f^ASlVg;LFFηJ+GYmxBĬW`zᷪD. wv%QkP-FW<ۡv0En'I2xw{c VhhQBxh}Oq uQg}¢GRDI Cwq݁=8*U -~M)ߏjnN"|KGU$;/GXB*+E*rFLiDx:F3! &7^nLO~8zbNG?ՌȦutPQsR6k:V?OP[9eBfzVN<׸ٶzZd!q _{:EȦV]d2;tZK' 2[ՉS6|^CF iՓ% 8pB 0-tC'ʌ^׫$ Qc(m7Ci ?KEhF &g SP }'p#Ay/@_`Ϭy©6y|lR%~UE` %'e4UHjDAFG P/Cɗx| zyId@';@:InL.GJH#H? kJtE_57Gl zEe]~^ @ r:a6[DjoUĖA5C7rvy}dYxS3+?ES+7Љ4UBlvP$\ ^m ?JqZ>%M×Z]ðMy/E &$%nX,~&" Teښpw)suFc{6n,iХO8eC+u|?(mnӥ'[+G1R&ӨqLRu)NvHDS^@T  1W[v!:NBUapW&BHu9{v@|6Hg06ݖFJɡ-t'f{kw}U_nC1i{]) h*OzYf.M# $?6BvUqMHm 6Yiw )+'5ƣjU1GWa׎ )@Ihk"Ha0g !1q*n1B7at 7B~#(JOC(*<򥹲n?T*]!{ ddD=u3ID)Z2r'`n VJcE@s2JPpϪ"0mDcʴ)fra-6 mk/|槧aqDQ!#5iMDUQ}RYC.^&'GS2:e~aq[8dhHe^>wsM`g k]h@4֛+d)M*9 khNN!?D.mVM% CMf= v 7 rW WΒR-<Et:fue%:3P&sd=b{Ѿh3|GDN22iPLbA"i6lͳجs閫*q I`k鈄 l<#O3lVquk9[;ŗ?̳etnRF kl#v#ȧsH hx<͐VnRUTF>@0 ^ y q$vmt<&8($A ګʙhN]_"t礼VK-V'DQrM]4Z.NIk}@7 x#̙h`S@)vܵ*:6b@!R1Vh""m[W~nZ WY\d' 26+muF)27H,--%4 d-jk)%CC,1i߾9}Gg9Pַf}#yr9Qy8q ՅWBmK.2؈ 39쁟 #%M^Ƕ-ӤdXiV)M4&%Mu2}\ksMcX%m5*SoDh$ z8MWg)Gw$qrיY mf( 蒟}sS}R]mwG{rN6_.R|ͭW][n{}џ>py?qpcdd'wЭ,1MtCj#Qʈ0f0;7_շo~,^4$ɋɿ5P E@^6d俼HbiS c}MMV 1-8UaxNs=D\4MD ZZ]cѬQ6D(3 IP u;Fx节 U7XK*dgv*Vo36ňScf vyգr݁yJe>%ih8uE,9k7(ܼ>|;E`lx' NL8,|߃'bEFdM@RtM]G6fvZFCM]4@s)% N}8),ԣIglG=kF_a+rj[y!-JTwnbʗyܪCyl*iTyv^vU/2]MeD4̦-}x=smͬ}g{ ]➿ܲIR-;}&E"TNcm/s(ػw/O>$@al߶q x/ĶLVU,IJ-,zj\QГUo\2 $hZj6ҋ ^EI@rpVU f&5ͶIUC8`xiK[L NB :$GՠyI^6) ~0H8%2W`o} p Da}R1kzu7S=Gun]WE 0PRl3O`dh-Jw]c6ӡݩs?Qk:պ0Q a,'3/dmd=Dvi4]9֗)~fcbr'={ǩ(quH#;نN–a7m}C,='( ӷ2CO7t[,eaz׋ g,/@[u1>L3Myx^m(DmRuoY."y-[`nfR8UpڽٻsCc"6Qt!4gH]%&i..24-wpZmWHVy]a撨&" ?v ɯo\X<8&c,=~O>$ccc}(]S/j??qYl6#BGAdaugcH{L˼8|_/„I\x@Q]0 (1'E}B̝C,D/l|f$8L UC(FbPRYdA <EEҘAWu!a?6] 5O3TJW\u9'QrA+RsrC4^Cm:k -_eL6gN=O LBݦ2Duζi:j"B6;HեĊȨI L_- ܖOKZCD(xųx?F I*l뜚9Ϧ"L,4쿒ZK*jN?N8Llij/M,S Okor% o~ .ۢEtodKGyw&?i=F0ӈV aE-RJ|AKny(zuRl` zo}Ѿc:j4;oxṳJ" C$vJEJE^M=pM̄Wr~y|dpNH6]8lK~n8(p oBu`#Ӈ؛'[y4ne橳D/Opn$gk8Z{rk#;yw4=,<}Wlghx*qªhew:~O˯DHL>vN8^B+5ֻW?Oqwb6q:z)&Ϟ6G>Nj d]of~~~MpÍDQr*0M.VUz R$ٟٵaKچ)/y]{5Mӄ/DͧcrqD3pɂTg2eFF`q~'$$u0"( =4MǴӗA~%`kn&ػJ¥Gh-?ї%;:!*ZEwpΓ[el0^E6lWC5.ّ1:fjGDl1Ѣ*" lt)Cg(p\Fk"Lb!"!A- K~8Y`LJ_FQ*6&0ͱl5IZIΑsIdDo<0WW C8e%ֹ)F^o|f7Y*qxj/tenaiq&Ft獤v^ÙK[Ιcǝ;4p3fV9{NgG}7ќ:ίwrqvw..Ɯ82g}|Yg0{ynםu|qQRvˮG~t^KkB [֋-wu'1M$Ie3zKx(7(^ ^뮻9~?ħ>>7x E*v RoYiz ?4!t)S2/1 Ԇ7ޗݰ7?IQ$3eB3/fM֋Y҅7МF 5E =KM٬E,<ֺ WIg&^'`a cu:4VjeH9)dK c;&鬉mz~}9uA{2O^MPu]hlAF/N! &*Mqr 0~ B&kLmaݓ|o5fQ:珞ۀمu] F:{KW0[8n?\W>6}vy,bag>K?˹{sc{-YL_a*>:~f'|Ӌ[v^>a6J 'i4سbxiap뭷|"J~|#!^+46)#cc-կfq399oot_I.HVHdBQs$*l미THb5W_kaF_0!|v]׍;3͗u:Smw18[k }RBYFK +*} XJDMQ#IL$e 8s0 %LJ.V>}0ى C1tբ:M`( T׫LjUS8$~=F8+,Meeh.9;dZBL))+SݍZ E`LU4"Q|RPFTbqi]"QoD6x0n}uatdOS*8I/lXf~yH]c"4[C[yWy\{M4"8rAn9p!>a{1{v៞&1;3[nEwZgYݲ̠B*kX][~'y,qh}KLdx-gYq{o>dR"6 VɉɄUUR084w qqt$!W,Po?̡ ?wX;d(s4 s 0Ԥ  4B,iFKc%%nXUQ[UU~= 7_K:3H٤ek㺝b4ѭr͘#T|~vٳJܻJڿ?\|>4ql/z4u;▻vLUi&&6_g)2NtF ma̶]c2Bn_p% t7ٰ6Z5?OQ )ٵ::uUaPƈh9dD6֠ CJvl McTTHK+dOVi-ZY=N0PNU]?淀CS)c; +׏Tl* rk#߁D@׍A63R觜SQFUuԔAD#L,$L]V]B>ziF'T|%mz[6 qD!s:2Yb BF1Z|"E34f9~$eM#lWk&Qrfztru˶7(ˤLe͘"`]<}UXtlTᩅE=콣$:Ͻχ7VfFmՍ%BŒeeg={Xsva0a+$@"-WuwyEfdx?" }qxס{UO}pk xǃȁq(`Oބ={CG8pamTFnng0 4N$D/{ =[C,1=aꡢ-.p A Ht:t[8q!p,jslB_- (LAJsc3JGK&xyH@γ֬2+5R"ŜS/sgsln`U%xVr9e39:~Idf#3Ы]$}q*?]"{$/XSStvd0{ⶃ`e8ۻ5^|9~CA[=\e"7')NRZs]C|#w/<`.8d8p g{8ݔKo<sst:w޸{wmd}/uBpپ/#\]}_ףso B Cf~{nݦa}'nSѥ$ѩ7-4|7{.5Bܰj44Iߎy.z"ϓ@XPqh4Ndkk뗰I,evKIli˧ՏNgkX#iS!>qm<"sS$eO_?3wp)LE׏X)oЍw!k2MgYݫT*A@add-pq0殕]ï(\w:a a\C͈O]&;0RX{ ⛭-VDߌESg.b"o3؟YǘX˴h0ez[F Š̈)_aD a(_`blQrY@Ҥ)fIׄb2V DZD蕉\8>CKa@ @RiJF3N!,v"OY;E,ð28aD7\(p)o&6DӀytrmS,^>K6c9D.6?}f JE@ [K$Slf!j+t͗)lDШWgFm[ PH'p ͭruw{N"A>1u*uOq9wzzhV4y/| cX{ KKg.>CVG)|Cv a N<ˉ[}Bb=ëgN MNg#+k>zF/ެH3d4:FטyG]_R `ssT*EDQ_9n86B/Ngu)%^Q_/ؠT*!|õ^[1e ta8DŒxđd||MMOހFs,?ߍ,_h} Nݱ/uDA|KORހ&jIܠ֟k6ӌ*0 } ·a{h'm`%ʢөi/0\841l+Ci> MOBQ4Qqnkn@vH DXq+o|z^tW(?EHv2zn'oe79ڠhfٍ yti*0qQqjL.cGeꁤ[ׁfU0=JÑ# ./`8/-}ـ=44gK39*d6G)Wb{ϢBmސlYHӡѬ366އ AL4 vvvm0 es4JM&]O)ER t$aT~_z=fNm !$ ØXuīny*6 Mבz2Ga(0-]ꖁRH#R ~?+RJ絴uQ- kz_Xk)R0??{g'ic'@ƘAܭvt0E4F} L6RՑBCBc a4p{- AW7SN"D_=I RK&Igdrd+\޼`'m[Y0XHB15<ԑ{,M1T}h=F{ddYi 9xnX )Ҏ)5/|#Էtv*=6W\ zǻ`o翊:r i@I*$",0 ^K-Aa\SDaǏY]Y!JS(0_3 [[ ?ı$ibpx]& TZuCZHy{]dRj ^ 3Vq!LWv)ЅK)zիUz%A pBҀR >LGuL#* t4M4!z )J+h@a&qϤP HԐ(BjA࢛iL'n:?tD6ђIsϏ=혖jmMPXJ-~ w=&6 uL`mm_1q臡M7C)|2|(VT*;8n /lz]8eQ[7BH֖,T:.kMo^$n~Ȅ-FSZ cBI)H)d b%iG +PR)%H!PRD+8Fı( )_ D(RJDaJaHJ # s/~`%ry|6h4H+4jMiJFm\'w'p=GjZ i=P~"/i f^ԭ{FBb0 4xQS=hR~eMn?t~X#I*EbBSQ?nM6Aq ͍$4*XݥgnҌ=/-wsv;m.3-NynwH7͜_drA`֋$ldq+29y]{~'YX0!u*J:_{o(_~0[\7iG;6jχX{M)T QJ R HM*BJJek\<{qcz89B=ƃH[q]Rb"܁äRdO%Ϳ{==O=MƱ,?t#tI~>)F%1&ۜҪF<~Ez~тuW?A# h?y`L2 گM7b'E]lOf}m^GPuk A)%Ο勨(n'۩ec;BH.grj <մ}p=ēO>O%qO>\ebb0vW'B ,ƬX3pᄅnHoop `\"mYҊ",!1tS aD!XB[)($Q}"ILBAR@D EERADR(8&"ŤdHƪN$UB)I)\O}S^OiN.Awřx_ɥVDL*G&%t=JEĪGMnpd]D3< + @R=^t[$V1`h)!dѴ *o|K~|a?"p1b[B^]|6FՅ) &:ݐ@*&~(GS-<GtLy#Q^JQq]LLGgdzi#_ ^hw=Gܥ ^:J7 _km]2s'xG_]܊cy c|K_(rOG)C?yɡyN{awgXowOe 5JSNȣοOw\\bs'$i깘ඛnXݟwoxL&YYY&LAΞ>ٳYZ\dzv!a06> =uػvy.q(׾Tz 6#5FoahfTA%ت5(Ĥbj}女$cƏ`G|\+̓ vt^1n\6/8{zD6pka MRmrZODI*]D244yƦfYC>wg9vY]WNV76Iڃl֯ܭҒd#iB;O1=K 8qzIek^hwF1.`&۫(46J1=4hi60ܻAƁq4.3Iv;LMMS,.?-+ˤәkMȄum@yivKy!pL(1t񉉷lЀa M(CǗ@ӄxRgiI:FǰiD[ESD0DSiJM4tM4@4LCktMԤu)EMRQBԐJAM*$U)**Ů*'?Go A&Sq4M_m)bL$K44 5 =&I*':,|Pt7Qk/d Tbd6bI $^~5(qmZ!_hmץ\'k쮿 l384mN FqcLK_e,ҳ,,hXYCw篾yۻBZucAv˻@..퀝 F3k4~Z P(1Z:% EUT31~4He$@B6^Dnd 6.\o؝232F0EH?/+B/=ѱ!o'l8NAQk/8weO&A2\Hއ:Ixn3ϒ,Qٍ^YÏ34DEx8zCvCZch]`8:q6O= n;.̷=ϟk!F|xyO,q.~6]Ff&tۄn‡)$cn5Un~&r]  a||!24nh:N^uM5c!D",ۤ{]-;!HY"#[[ "N±c!)LBh1(i AA^6|?ԅBᶔ]za]DbB(&b.JH)z!)Dq҄ CiN,Rٍ/B%#M,F?7u0s'O78pmTje`d8O'aS0=QK ޥRfcE޶ !I #4ˣ*I^ :x;FJ!Gs)^c|?Nm!]eM^7ȥD eDk;D$FC4Jx ._!Wefat;B \ED䫏;g'sK=O neHL Ü"@dskC&!w2~ϣ\ǽG7K kY"o'RdƋXi{/)fЭ6a0D(;Uw""[Q"g/n0>lk )=_~6c6ҭ}?&=bfpa,|;܉;NxLO`xH#~Ubg_l4#ZI\˦'E]ksz;︍o>d@S>D^{W+uyra=4˯^/>qX^vIriE$\҅ q:[;-v=D~DHmIS:K4>@-r)+_ۢj\9xKuk5Orjz>%`{Ai,C*,]Y$P,n?%Iervݷ*S H)n\z~7`_ׄ`act;2-^@D!&aE(0W}|ZRhOh!M#H"M/Tovlw# H6BVdL!;j՘dnpòpH26̨ ʷ+8A7Hm_hg5BpCԶ;?P]m5GjA, v0^":7US‹oB"8D(jz MDaX #?종K8b6{{;u} =̎H&`%R ^/ o[R瞻o*>S;ˀm_[67jYH|aEמϞ_᳿/HgbyWk.8o*t@4B亄btzMLNK&mBa^vJ䉣t*e,{*_Ӥ3yNQ^ ;QrD2H;IWEOhM207JmwC*Ud{n.V !o_CRJLӼ6⚦57N\gmFRAzm 1(T(dHFRaMR %  u}( 9KH#EŴF K'8x>l64X~gc܍O١2IX?Wεg;ɉFWC jp0ΰJf躻L|JvY9s=*f9{8~Ě9Hx.U&&M[ XF]9CnAt] M հ-_C D.N zҢSclD2& ) Mp /SGvRK[X1,w3sl-ympQ ۻ4hgs»n$.*H^ؓR^(TױpMj4k:s3h RʗRN'6$J*"7&]Z\R*c -m]]Nf.l*m.q$IA~ w` gtAzf`CsO|mt/Q=>Y+{ 7-rA %z@qv}N6[Z]ty݆#xmfE)?0,R職qyVZxmV}a 1n;U$ DfLa C]#e@D*D 2ft V(iI| 5sqr87R[u9/z>n{Lʡ6"V6wyw˙AVN¿?Kq579~ "vHXQtj je"jD"Apq671>QfbdFᵺdJloPRIv+BBL,zM\&N2}\06:ǠfqF hQ!뺘GdB6cV*QD&0J&ׂDض}CDͶ$ee8ˁ|G1LZ'} *uݐL/ta$:؆Fy#TٜT˦)?@QWQ^ci8=Ih]F~{^g*$ :x]ooo}Vkz3o@+ 9sn!eR9k4.H:x"z afJvvi4]`P2X2<:(wj[;dgO>w܋8LDDncM<8x}OލDb=C3hDQ8nbyB?BJHI(D)/02:AvH2&}}z6M4x)`y~"tMlf;1 H dlU5#cӫ#G;36F_ .I00IcĶ0 tvnVy7L^i !ئj}ZJnOjFfggI&qSV]gWla"kx,^zsoןvB(_p"B_#JШi a`&cH OEJ6Jmf ŦQ!錃+"(nNidB?MDŽ"p;|ϻV{Av]\~|+fi^t) qˌ ugKZ]AF=@qtfY&f%fRd zn²,'H5;l_Z% LD,A2y=q]F3V3E"LlɅ zx#׾+jK?VM'5UN4 .^āPJ1;;4^?a@Q5b]ׯW]7+ WLPX2F׵7+j"O*DRNgVRz ϓot1R($ҩUaN~t*DRzBU4NvhL% bԙǢ {G[o=|:j^[ " Cs/|O?_H:Ԃ:^}SBMw )phmN^~ŵW\`DyL0 0M6봃& 0:FȖ:)-a`dq]҅aNA;K[/A.<QE&?RCj B"B7u쫲 -EUF7L 4 ]zZ?ɥԠkĜ8C Iq9HTv(W%-sWOf%^@ 5ō::[ZA֮2fvpmuk4DRY:=%^"@q=\>Gi)/o\"0I8m8MۭG!-ݘdԱ4\V(ת] 'E!3?go%Q~oD3k}@HB,cb<ˆ1<cofg!@m lRcO^q*0 ۾ J? 8﹩pāĜ N(\L-Leh*p<깬؊oܹD f pA Qо򾨑ZAlX⺷/֖^vرsno_~ۛ &ZQ ah Ck :+}(c)8ʆ$+d'WkZ`#:.(@$l`@0I r$D@ava\ ,BRV:mB@ tlp*D2PVAuND@D)DHSIX)\Q@ sV a $a C6j+0Q$ `PBh$4` 6h":Hu" cCeNh5kkYl:x`ÐJAJ&^z3@ݑqt%pZDXZ\H;Fz+M7ᒈYdlz _J@hhÊbEϾZ04ǮeYTU<||Q딥!IB A*mHlp!lo^ƻzG7j*m7`lJvfumz{{'A.lί==PZ)[uel}ݳ'E.~~öm;eP' f B)y dt$"LMMFmel_~%vlVqzJ<A"MRElۈB>'=a$O/_G>Iq||/2k},(Zo?zzp 7As i^GF\<$ƾ^^Fazzba.?A5%h<ع}l9~5ub#Febcesӟ^S<6lٻMf' bP4Z{i%ى߽8Ǝ]{f̕\.. "Is&_8n|חe[.rד)<4~owmlݺ-›~g}\wݵ?륔ضc'y]ux'y5Eݚnmqغqn#K}Y=0s:۲u֭_Iѝd:E\yEbQ./qr';8 +}}-?}q!z.7.gyŕ^=}.mej14~frwI.kEGpfEǟb5{1{$xbU{ }QPbaժM{j|^_q]w-b GBկƶo{_qJC_O:fƦMwJ`A[/ g <#˿NEx[rM}- ?;:nwZĉx?2nmL??Lcyy'uk>9avvSS8;~ʔ DoZHeall eV;OJǤp;a@uU8%a$ @D ^?RƵϾ˺@wb3 @³2Pe²Hҍ^Am_q׼> avv{yڵkǏ;@$j++O:)"I>. ?uI  ĉBJtM|e9$֯9oc-+qNϮmS'/@'_AUxJ4w]>6I yW61 !(ֈb|AOծж\$nu{ӕgu3^/}Օo:a(i,!#4ځysAy\Í>I#; B*CJRNf&>&J%v*l" $$,),K'Ж;=uBHaRJ)$ [ -l%^7vlAU̚o7`QBGl;N[ k+;Rq[ךWNJ;Va)98oYL |t]}i;CMǫC//k:]鹥:?I/3(Lhت?o~'*KJ2طnefrTH$< $u)y"(ʶ-7#c0_bIϗsp.v\%N,;C'+`9Yc^Y8I4 kn9|GN<8dAs5c?|%<3xkn\ tT!\HR>ǟЫGnMB)gdAEt7F@뻖k&%ɱ;QĀI` "Bī -jAk:hN66G+ܮ.Q5SI[( )HGi@ZN-(5/<[_ZlYqϰRpAHRr$-C$(򙫯l(Pɷ,a Afƅ\ҢYHM\i4۲saM@4Z5A%d+<' Ht؈Ȗ ρHȡ͛$Jpf6 a X|$R/HjR"a13@lsUoiM*S@`0Tݕ/` %D83m ]v> VI)EN( ״ $@X!׷5R_Tk$AJJ J\"f:ncfFk;PIָy(q^s:UqV!e $2 "0""I\.(NDٶ粕$r-n5[\(. u\<ƞq)l߾]7݄^Z8p㠯|k'^-8z/Sa3gNcƍ, l}jG ؒtؖe$N ؑJ1z0YGc8NU0L0ZHbA02uj,Di.@/ UE9f.e- 9S;\_ t3T6QIb~y`i;m<ǑiLteER3|O߿ח޼3(rƓTrma+HSԌl-[9kM-VI )(|6OVF32 :8Q©5R(k6!El&QEdYH:dI$t;LWW\vs 'NcfNL{lafP6#)@#R:{UP*Ƴ,lXCf&!edqf܁8 r\I'1,禧 Zrw ^y1BIEdB&d{ 0EaADL V8"QɗZF#AR@`)0#y)V 8vOm -&"@/̴bVϝC ZϐAe[-٢[sԟ|r1"# ضm$zFH"\{isO PqF4M_"qAO0t]Jc84Gca"C,L1 =_uGg`=`CGƠPe:~%ډQzrLM*m{6BlK1:BAvC Pd$(jTέB$rN M!Ȗ,v!BJ3Ӗm$;p-J$JW{J J~) zZXwjKdnl,<)3O<%I _7EQkJ\Ay?!I 0H!fFZ|'Y$,iX* `օBE!-˥L6GSb#\ zp h*U*;fgG[(TJ#mJ:X׭*@NK\8 w3IJ,%,Y-743"$H*0@KDR4 v rPo;/-"f)q! ͭqJ9jY3pSO&kCle+nEP %)cڮrS ڭV?bO\Qe/hJ0 !Z&^xYm۶#ϟ\syi|_zMT*Lg'N҄=xbkk?M9!;؀%,۸ !Rh4N , \džNbhCplߖHt`͒J R A69 E'ǀ i ]Hַ kn[ 0"2t ؾscaȘSb(0;0;;YaKu|U&&œG0ؕW*EGrt˥Fn&3<[l-;=O}$ 1hx +2h6aأs;4l&KB)Cdu=qL18AȸB_|̆4e[$YGDQhuGu5& KBEqJQRJXh6]=8m/Ii9lڴ_m6l߾CCQT`+#J; fi<8x >ߏt3GX r۲3G añ( 4 $8dv•xEmfxِJ3.&OӕOվz$SÚ\φ0 g Dpmih./vx;B˲ Ԉ|Vv*d)+ Υ,{uKS`dՇVSEcZWԙ㩁DFiO%*b,+%A8*uBT`绑U~ 'o㹜xxcǮ{g CZ>kxJԒIĭmىF]s ,W[tn&IA14p3sSٵ]uoSgXN$D p /5ݓqB d0d{2 û/ d\pUƉSsj|HUtP _*`X/L5[ё^XV8^"]Fҍ:|hnrbP6%aP@AqBz^g u;xn$,Iqw]?0; RL 2vT e)`2iܪuBYȵZ-3io߾ #.>_ΞtuSk_nnT.UW ͞;:Pjq qN@D\ח/Ce`hᾂ85,$A=.CB+H؍#S@IrG~n[?t`O&!̖A`R`#mf۶r|+ :JwI@du L#D NuH85c[: bH G*HV6I̮evJQ IDATTX>UL4cژUU1N٫)}G.cPZqjv#ٲUOrOqѱڒ.ƎPl I:52y Se\j̬YZZ,_;nMm!Ѩ50Z#ӥ!%~8y*ӡ7;uuˍv-8`ALʈnhO]JQc LaﮛYdCPeGgWfD%" -# nױkK|lҾz(DHPڳ"lucwIzOJIRP|?K6H)\H&Hr\y' ^o?7-H* ٺmaav;I),X !,vgcl IԆ("-QjA/>bYֵZٷn8IYݦ.> <mذaBkZ0 _!wS)K)@~`8诿s$m\D䊎a@!,Ipxhb(3G??֩8vs=9YM(b MS亣1>vgO},cF{"80Q@`++YC*I/UC,CX&$ %LZ~&Nb]@ ~v٭掣Jqš}h.!cpI =Dӧ$J|x)Skѿ]734~\ުM1 K(B(x LV4ؿUJlQ4|2SgOZYP*u\Pʬ7QEeHY?#IC-8n[/ !a3j# Mr(?wmp%4DGB9]O3j \:2"݃qt nņ,=L$(rڍE4k+r̋%q2S(YIvD9!aS),aB:J9N IKp?( Hg\VVE5y%qLn.@7*IE"C@@D}Aw؈\ۧ K~P_^RF qɧկ ꯼z!D' \WrtI9x~R_NAk *W1e$R~gv#$3L&`Ƕ߳P:6 #,BBo @ե%^\XX$eL["- VB`)F޵X Cl;mb|6NDeBR-m@% gaE-bAr~W3"j3׫lUNj НHOq cRyEkVX+`=n0:EGj=so3S$q q gO-$C#w*8ƙS3c +"hB]y8<Ö[PNi TN^{WمٙW_`a^1$ Ve3)@e\+1f].t1$>ؽDr)"nњХray6+Q@Dͣz-sceO0u7]kv{&J} &R=Fz([GpMOO I!YUW~$DK{tceerƆ N(Ncc M4Z3D(J(r_8L7RR7g򅩵Taa|Led}zua_F}nbLYԪU2agJǻͿ}[7 )c.'

eX: X+P5r5檇ţO?]Te  ! bĮq]AWdظizC|0]_ 9vﭯ;ڮ%Rp#_PN\ARs+c̈°j]~ۏH8".Y*gs%㜗^\\1iHeuU2O3 ( [wrim9Mb{? bzf^d)byU ~e7qÆHEnI3,yb[/]˾``erX eKybh- 1&E$H蘢 \W_IM7 H1S\vaZ FfXh9^0jƊ`2b"4Z-$ea *+rMnEU$`ff^5ZZ}|{z\ B5kd\w.qrYbu/1gPtWŃFny/|4޹k7͗]}Gl/E)!!Y-^ӇN Ϯ{AK$Q,ICqu$aȞgc6''5.$W8XX\QDھ}Jfnn K3oDW8,kS;;/=鶫$sIS&澹I )N=UDO#/d1%UI0ϿJ]cnQgE|mql$톌T6;KS1HR$"Mb7k 'n9RР Z G_Dœ<&U0Z+];[kmv\o 'NCl^^Oӿ Q:{/~+_XZZyfu_ 8jV=%'KD=Ɵ$ }~呲$ H 3K$XHT@>8A;5PM:IwHh `gg$""HD1lߎBÀaM=a\UR5X>aY}>mK6\?C"4p`e,穓ujDf}EQ//%,^gs$V=cCne( qAsz *niU$1vOLO&ش*>yj6+E׾}gHSx:51~Cde)kNhŀg]$,PˬnwZ[t1,R cC B(17,`nf*Z%WU7]3Z4`hp3#xʆ I`<=mo݃4O" \7kv>K%;x艇hY+l㯏]P-%R-3{wVt8ٕj*1F&l&&َ cҩPEd#8Gs݊A[GI)SmI79+—X7B>G^|# B N!0=ۼ>fFtb߀8Luo;}:xo nG[sa+ W"?{jɯ|O41JV-%2ĩF탘QKZ0I) ƶ$l! lXMiIFh|QVUbF!XD+ϵdUD-if8̰p(Mvd;TJZ技NwsgvkKma eEELMM"H<ın4z/i *l0;U%LF{5s(Z!f0CRqq {/.ALpeΎu{І3lφTKYqR 3\)W֪@`&KIf!oܮ7|9?{ *9 $i_ˀ緡]^ǣFQmMҶFbR8OVSi**]WL{{q7^Yۊ$d5LBJJU7K<ֽ Df$`C \8cf#&x jCKAI % dK'+<|Û4:w0V.v7-X4^:zċUrf#N CNz0终a؝ aDiޙk.;sLDm`` [1E7+/ÿ059()mg# _*Ec~j 咣q3T۷\G*;)#m5 6лgQxm|EA=H0S]6^:,u[k╬M ]]ώ'6©%t8qYo [D}G_.__]NP^B%o#* A!LjX6l4Up8Cs3C=bar٠D>qmWN4FvV:LYM)g#[x v}$kM.uwQCH%P[;;A H`эhՕ ( o[Qv?ŭf`iVv|^s%pF 79^_qVϐ6F֌" eK^6l uh۰ΨK+صҘ7UWdM̌wc )9[_:hG8[AP,~ J.JX-•@GޒfmKj*[{4 ?w/@п*Qn(sRE,aMq0'CcfzYhVW;#V:T,Z bhg>>+}DAkAjPʾvixM? AakI{֕hብ %ͦC*y0uz0aSN_1UaW!M,,+Zmc5zݔ.媈`n{}x͕ݼ}vqhyM@JËk}!A>37?|ӋJ.# NXXm01p,LsJ'Ũǂm)Ch֊aDG .`.\R:MnaL#vuT)YNU*$YkDN_kG(V ӈLr˰JtHJ͒i5 +%/"T eIF@]`ֈ&~CϽk:I#d1]]2==!(2Bp'+Xg\ rUWuu7* ,c0qx3fll0N81c B9|oswu媓~ 0xkz]=~߳Z_7kUw??ovo770t b_9+;[dnx P19q5WG{U!'&cWM;zjD1>3RgPA5*yZ ;G^~OBUx:03#!*OzZ842E|9W̡XZGj3:5igry봅릶Ƨ7z3!!NqlY !\R(c 5Q#3;anAPXvOgX_@*~ (f'&%%eMA6 aDD,lC{431.|~Z1:cὅBɤB0ISHifA Ew9q^w׋5%*]l>* "!;uڽx%kՙMNgP tCfmFRex37[?4R]3.;~$itGیl\:%z˨GqѯIQUheX7OG˯??( >?_yknκE!mR9^90-N; '+[AkXf-t7ـBZ|B^34˚ks *M"i/aH 0v8BօfZ! RCx6 iL"!)cf-L)3;M{zt:mbQVe W_. @f&qhm\<^-u߮G(\J0\, R'4>`p1e@z1dg ̈́!zJ$1w~5Dv"Coy7O3ny{vG9"adf&f<BmnN)}Af[PZHtnd~=.*B!f[[ۖd^6st.W%vh* zMu"(k`)lr!]F,ut L x};ΞNKgg3ic7sqm!Vs'& ,l盶`H8d|PT;VW~wjR{c3 _GtUHԎ`Egv^?r 6xskS$Io)>p6gl Ln]rY5VQ? D)bx/;T|E$=7͝8tK[+fW@B#mqgܫ~n^َrHCX! JC_kjY5 ̯2, 'ɠ~!E69 L"R~h19tWVUu,0(3 0 JCbC`e|b:+x~z||v>$ @ C9`ׄk R&"YQ@[aB_c /ǛO#{G^叼_x-f[~|Oˇr~z=׾?5l^~[ \v;ԫD7喯ڞ^Y8W=|(;Q[($>v9{^>ո) ~xkY5rŃZ9?x3/ixį9z sْh~ɭ_OQ~䉳SR di1 a޻<^;Ea~=}ߟ711LҎ)BFDc?o|+'+#DIG-^:u+ܫאMwujsw_|`񳟛=s#nǿ}~VczFƳgSO>2)|swɧLo}wãc/ٚ>{ygx;d`|\ga62XդkoR({*tVxr4z ƦYʼ OI $bMm ҽ!MGaCuB@gvT܆euNb Eh=H~3D9oZ )D6c`h'L >6@N ">X-8e#k9qEx'xh \-!qi blCV=$/cr`ok"#@I ]kgq!)ت^BΠ/rudR-%+E7@uoTFJky^d<[C(v!= mX_L!A*3ؐ:[kh6ppP4G聆Kb? #= : TN]O1U٨#_XCPYpP % 2VڄH弃v [phM-p2B7 Fh# ʹA<~CLjAda~4fw"A/0pl-wv!\qXD%<|"L8I^Z&Գ3t|nVz7B۠ev$-4jR) R/.ameᤁlڄ`R*֛MԶVPʔPv- ֘0pЏynw #FBH)Q[S EXhˮdBHn*ÆhyسkgQ& B fp'p- zABH0T`C)YX VlW,:6N.Ξ])y^0l{i(I@BvT'SEj(g_Mc4c~|oXs0`jz'Jx=.o5k߿bm?#8z`WwyH9?vK|6xÏ,zwUϻvi&я9t VVA ǩȥ +OxxCw \~M~;gQ5p5&0e鬏c^3Ps0;7 Var\BL Ǯ] 8{!' PpYҒT2wv?:3Pl`us/Ν[j~ ajΓY ҩ=X=~s +O>ʞ.%1=vbd.{=qтc43:M%R˜"@q6'aQLr d#liά)<82vX3)4mXPqzCqkO0$__=@a t0:Xr2AGEdPh=sfzjR8N&Hb)Iin  5Cz[Q+8!`bF4 Z35d[B_I!Ě5(`Pkgx]y<]H#W" ҹi4z~[7dGU׋~1Vn*yn^{  0PŅn:aIh4j`5`rrXЭȍ"h$ȩu$$J1_9n -m K* ȎD3+k9tzm@2Ɇ;͜ ~Wss})'8 DȆrUZ\$1M۫vʕX5pt8WcC y<=zf7s=;nmb~ /ߏ(H>WluaiR"tspK!'e.5뛼g|n ctI-su ;e!BO pў} lBQ,qh Fv1%Hy2 H]I~513d)ŬYJRRZ4Xk! dAn-Җei0)0cZmsza,a$g~S'NDirLDZRҬ5o'1Xkżg"`Ě5 Vq0,@"%e\fL z]O|o,;>On.˶fDQ`]ݺkL[?-VOqqP( tjR vsah@bO4";N#FFma`ddn ܌ǟXh!ka8alןj$7pžN%VWqhvO _h cL^sKв7Epa`b&26<'Q- co'IlaCLel!Om=mđ /q,^>| u+ 6Npv->pֻq<6yHēO9n&+!iaU (7(VLNz` m,)I@V N)u+ KjlģXmð a0tZjl Qy4:+"_!inpr(2p GOBaZen|qiנ/l0 r'A9NyFh(M$AʶݩL 0jX,13#Lkk裏C ) v(ml5>BS0Ɵ{#h:>rٿRmFx6l/0{>= _}iBuP00S {Nઋyu w?q+n߃+c~,[uT*SbmqdȬDae\|rl6Ϡ@n^'Fs~ZdP@}mk𕯁v}dReNRq2U IDATc6'_YJCShtBfS7\Ba8'XYdC7~5 .da4^egAyϭ ?)}X4@emNa.} ʷ0jdHka/-+~؅a2icN]2vE9ם">90025\u##9V 5DtjȱY)AL:0=N=I[^2|jf ZOaRT)Q@Yأ8i&<k|Ü(b~(+js{ mF?48g9|`z/ryXٲB:Rٌ  l Ծ&f2v.ff )w&@h4[(A}dG†Jm.f\@ՂmYp\l?ݱ#G^SJa9@J @<HusPH ah(C-ᱱCzC )X+ 72C'OaouhN#Y r],8~Α+;>zbruoGn(Iܽ@nԉ+/|\wM1H{꣘U`p_taHbB8֏f / }vMfH8495tѴ[ 6VjjX*+Į+bo2Μ?gϝZ !HokrhEyKi{RXZ܀04:_=iLշ%Ӕс=c|OԖWyjjz~B 0A5EB„Fɚ&v>&Oۏ/Xw}}}Nes9zɏ9wv_l' p|VF4PBy5SBZ)w.vjݵx hrz'Czx{v8$HRX/zϜ2a$ķzێ7Φ2m=:<x"P*ԮөLH F.aP# s 1V/6 [+Ȓ$АΎ t>XKspNL_k 9*<Im?/\(H%W%WNtPm3`ðB\O;ewFzz כm7/ŌSdJo}Gf.o-U#O=^v80|BB6{v:6ti.wIڵ ozًj:!t'zכ6{`R[dy>N]5{fM)H$% Ipnrnz͍`E{$fhN)Q.xMscyqYNfN4:bDc>qzNo:+t:a$ 5'&zV׶f b!+( `ôؐHGQq8It,@N,BV 0&IL۴@4 l5R GI$8 `K!Parck+zNJlnG{?}o:M!ČZoll8{^ׇkuU F^nEЊYJ Q"#;ގ]`bx:vwF3Ѐ$T#h~F,M|;&uț#v3Ȇ&X^Zg/pɣ\uλ,2"ø dJ&qAeWugӛ1J5K$#Al Mc7AGnƴm0`@HЀ*RcVfeUN\۞`H||3i"~C fv7?f75(z4M ̄O~MP.C՚3`ExKsj)>$~o-x'd Gy7=ll_xܸ) =sMg(/9nP^B$=C>rpwx+V{DDbo!*<1}'mv=AjG?7>0][9OhW_2h1(鱻v7qg7lי1^HEn>Wv-odF;* :XOkK+fٷr'tc-I){s@H< Οqhpxߍy\|.㑇lfUf@M{BVC_zjߌ˭5[V쐄0B5Q,u<*"Q0/s/౯]T-){J]%bvWPsW)~%O~r߯>hѾmuOc-[݉qPpOʹJ(?J؛ ny滒ݏ? >۰rX:w%oOAJ޹垘PE(]0H4xm{bB) V62b>y|ᇱ83tAbso?+[ܛqSao9Zw1=x8rg _r\F^>˘{El]٣~)P : rX둥k`8h!ikl_BjIlV׏Wůѣ(Kx"iv>~{%C/J~\c>lӧv: lUyin<O|X ~ Dv-s'`\^/C)& 5: b?r{sc0zb89ŭ'໿oܭGgO弿v ;l^2w† C Z $#0`L&qBapt Xtq@:zwvzxq,֠jRc"eqc;^ ZGgg/^{ѯh~}ld %|4$%  R\TD3h3߃g?!0}8>EQ5tZ8ȽmXۦ4:ƣU 6ηމ>6/ vy0[OObn.Ƶ18Эp n|mo=e;[v*ߞerޞ8}|*k5yO6^~AVWʪ[*,2$hV(w t6D@>MMdOS[T%"z3^oWU8*BkJ(X?<#O' _F qDiJo 0nwj3 "VRʢXٴϯ2N43?L-@N@ `(d3xv%HI%f:>B0&AW<6c8pCJ &r2Aʲ3=MG Zb2Cӄ d k̚B01 !xﰱ9&Ei8v^kMp[Apeɕ%L0M/@Lݽ,tEV psf{gp2e D5!VQYs=_HP8(% 0f "dXT $ 3* [}Q\ ABI7' *4Uit ,CF^r8 ,?:;|D=76]+Er+ +3xiwΠOxMp(KTeG"ԡ$mYXC!,.ͭ]4M4gz~c8@* 5wK>|T._~[s5JhDi_<(¼N.ZV֖pnOt@:gD{m/-hgJ A0I`sc F^O]ơSm8`Y4kPG/_ۏ0#}_?2jg?~l;T;Nb:d©3BRxKB|} ߙdxq]A~odu/n9mo6Zt!)spm4E>鯭VAbFbِׯ'\AUQ"Ig\H+e՝m\[_e`f-ݖG?Pj _H$&sx$Vz*Y xB*JkUm:pΔUҔN ca)qlrr᠄ ,$zdbHEfNssߔT0ᑗaD:i m\ BЈ@PׁY @ߴ-BوM7_߬}$XOƚDfCR=k [Z= W4Y{s ^zxq v_x0 B)0Ƹ_ՒE)zڞ"솨'=)9\ƒ_&L1ww+Z!OC+KoLIPcDn$И3~g?1+˜P;+ƒ: !&Ny`քRْ=J^xEgJN釾-\wQb;Y_M'ti^8sO~Uh6 #-#n7iI.ny:9&07!pֲZQ5 =ёǍ 8\Ju1rQ9jBqek{`Z9LY{[H`4NJyh!٢,kǘ$zP1Êb**,Pn@1j%!JKgI {1|2Q *(PQ@Da= bj !Z"A f=|7 QK(), " @x~cc8n !nsu3:A&u>k!j`e_x<}V{c'x<]x}߃>eĽyisuB?K(5+jmb)aG%hMqw %v#ƒ4|H?#?kG{~QC@a('(!{B$]uo_;y0aq?E@&hco'nM4 _‘(}dMOSwoo|(|/g?^ŧ|Y&yjZcUby#\ 5d՛ tAD 3G ;c>"cx;}x׷MPz_n{M v7C'Dr#ߩu1|rQ*B2m?śkML^(+c;sxjt%qV@1LaLpK(!Q%w""`gT(*8[ NKL'9tR8D[YHl@GH|8iDUjڃ] !ܬ<,,a ,(-PCj[M^ &7Bl yvg]MQt#,tzS}E+%3;_`xkޓ]N3,.mo>GKӌqbe :d4ZtiW§Q܀xӫN1Z%Q$NqCx_>OaI<eޣ~IݿRcP?sXx1p;uBЌק!6/tdQm S0 !nb5ۡV+{m _=^D '?2>TVo'ynWiO.w߃? @;/9tn=Fhd 2" 7ߺTuLwi:P%/GyCŦӪg.^t֤l^:cım+pރDFP\Ia6^FQȄ{U=H{4ɹ(NOn-F;~TMÖ̀ `%I@0h6b$'lHѨd!P<,,yXp{3D;t0KMNJ`⪬je^Z{.@PJ4g(RIHx];˳?=% ?UU"]e3¡5A-ﺟQ~hC/zFieV"z1ȉ[5q׿{Fsqǂkͦ[>ZEyEﰞ ޱعE1[܆F}$ p|#KL5n끼‘Cll7IlcAAQ@ zcTΠ^oh (mj PqҿE|y=e"XL>o.wM^j8w]eYsjn$,yis9ʦtkw)J_ aKcEe4 UzƲK9eR!% !i>FYdy%@ tM[$<|YɃAD |( ZvU^-4<< BAd)3PA zb2" W`o5a1ICpZ(hFf%pR`(Ay.UY/_9%0^R2kT(3Z 0y”U!"BHlfY@DFNrTT NJ"$u,& [Z<3B8Ȳ,$]c.b  B@MN-D-rQYOG(-"V!! P%jCAk'Q9@*rP6 <9T&rq,IQB3PxF4cOʲ Dn^iM/~ߋ^>Z,7[8w%(y͚8iw5DE80؇?ҥ~g9~8x<^ą-_ 5qvsmN^Q컋'ʻ~;9p1I~nF!3Hupa3W:m(Fir5?p䰭":!p@50^YlG%,yP4BF*m58b ܍# !Ҍ4Map9, eaZU߁2:cJa;HY#$b/fs5[JMp? v'~%+I5(wM0&{DFsKDQU>  P k8Tدw4PPqX*NjF\(7šG;,>2qҡfN󝈅֖t Eno_LB9dJc)Ǐj?q0R'Ƙ?WhB:쮯mq{7P`Lpjiz} $BR1՛Qi0adEP)p5@1LG ~[h(j-f}@hVTÈ%b2搰VpJT &D2acIñ :s6++ 12$+ 67d1IˊkG;t*L@D`XSf$|-3vF)k@vFp*ED&Zs1e"[҃@Dp0570MPc`=!Jdi$Ig':lZuƁn0Q˲b牅V 8(0Waa^U Z1S"x5ر+ow2M6aTөc'>}of7ʁJA>Y\p.dlOwh HI.NNϯH+q%PABXW%X9(A2&޼2G4„81}\ORK-,83\Nshq-YXo9HWEH5yԓVy^2-6ĵ&!_yS5);xjg_]c]TKta?^'g$*7BCYmm"&cA(g\~uQ&ݬDŽF6#JP%%EIʠjpiK(gQj8XTAh5䅅SL DY + fmXW7BHE Fz=0܌U(H0;L & P!0E TPAҤ /R@.jvrUYa 硷٤fuӧ bx!kLYQ͕j@P;w;=cin(./Xg&O.iW|9dIJCK ј^ BD1Lӡ;O&a_?e[:pt1ƨ"OCpuD'cFʌ{ p:N4ރK&b<Qu*(Ev^/vM722a>'o}9\6Dmn?y|Cvh('s`o7D pa}GS_'3tkřr ["$0,85_G06@'FҭQӁ [F='&I̲\Dfv(DBU aa>BX0.2H^Y!5- cد@FP@$ZV(/`c’ <]~SCUWI@T D'sQ!$ȇd -k a<-y1AY*0+HrH"SsLַk`G: tX^U⎆*jH0\UreiaxUK`* 7P P ٌBlµV'O/󅧮#Uu< 34L0ݕBy `M9;},CgG*oRJ@/:r]{ҫ|ǻӿ>DB#/r˘L 6PTLYra+ڞ'F[ whR,%]os^|N8y,\Q4+19J>Bv|8JS9=iWPc~׬Z =ޝ?!jdsozn 'j>+WDuھ{o R=`-&йĉV8č$N?J-n;w?o$Jo1Up(`>._qjz} J5˫[4)%9W=͍Wa&"hsA)G4J`0vHB -Tc<ك SBj9rV55a=DDuz/>bg#l 0)71wxqTg=7FN:D݀0b,tbHaxhc<3eeIDAT(iw?EYDEj٘QL^% ">rUi{Hkup!M䶄R ͭvRayyedv{EQB 4\k hC,{KP  `4~3?s\'MdrSɳg/& K],_wnv-ġ:e:O !GU9l^A.X3l8' ȒdR%[~ r-7CPDPr0S8%-]CO>uQjHJSUuo6._۾9H/_S,v/`zEQ=oWW7hm=W; *@b^;B$TUtVM5}ľoyϬXӺL7E>_|,:װA4.W f|JYc>~:d߾E|zp!iբ*\u \gM} &Wx}{}={{"%֒c*qe-Aj /"0i!|tg/g3?YD@ Ԋh;ߦU%(ʺAf[.C n܄psX 4,s ]҂5V߉%ې83x>WH( *Ұ3.\! Yn4X/\xᐹ1/ahժ$b V荺CKE548E1G(BA?N:,A9X&0*IENDB`F}FZq+k+kq;Rf H3~nM8pH.:G9wHM̦1KV֦Z jZk팆"!I) )IYɩx5KK՟^jsGBi9vf@Pm"9ab%JYc'LؖsVwFt]*z~ؖeE).,ϛ 7!*>I,f`ؙأƣw)W0t1~?GmvYElP(Y!U\+ԝHsS+j*,GJh{!]}'yf,E] 31SY ,łbEa4ƛ'h\ǍP]kuxÝy=wj33 a`Ljht;"xNx_k}P s6SR46blg>swqwʿYၬIENDB`1 -L:x 'x' PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9ЙM x EPNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"͉GxKPNG  IHDRw=bKGD pHYs-ItIME :*AIDATHՕ[lTU9sLLN̴ h ʥ!FM$1h b&5AVI_ hbШB(&}b#m-X40u{x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME *|1IDAT8͒=LSa}_mjlDML\CB ] q`pE:8q89dttC j({/~4aapѳ=uhy|,5a:/"_wa|f3ptëW\vi!ޙ< @*rMs~\c-*†-P`B"Fh,3h(%m!MƘn! ^6)M6Et@ z>Y/OQ<ҋ # [ѶgۿXbMP:0,յmOmⱱ:). {B&Alb xv,_2q28pG>ptE"U;6Zu{0XW48t"(e}}L 8kK7:lƮ+4/P(3J=Έ uA/Jc#Z俈?:p.@IENDB`9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME$4 Y YIDAT8͒KTq?{Ό^gtPR$hcm 60EղjѪZQ !`RHrt|$83wBZp}=mǵc"1@s k*t9"\oaG)rMt#L#6(>BZq5K//ZkIcDdJeÚ:9],FRvyF]H%:8P("Ecu]S T.EY xn:Mcl" X2ROd|U3RU -a=c903}ʍXU, Jm4 s<1;oqx. .IX.M>W(듩+NL8Z 15I 0  eDn`]Nf6MΏP_[#*+˄Lk1Bv(>mxGPh3\ܱ6ti] `jYj(B\m4mIEoBS9/<2,૬F\:@L|}oZ~䖤p_䦟ԯx, ;U7%fs7m` KBh@V>;#7Q"MI`t8za<EӂzEƲ5xU$8rەj**y?D%( U ܖ-w2ѹy뗷 >Ud ˜5<+jB*skJdDx/,Ǧs-08.pt r " $@D!M\U_-Bc S+6d "$(ITl^LgϮH\ -H)I~D6-%UѩݽݸvK"IgVe\ BEjj47NiP>oCCcQJ #SQ"{0MN(q(Xɪ7M,Ӊ׾IENDB`? T,AxAPNG  IHDRw=IDATHoUsϹm] L$`RRi!PE4j>D-E6@ є6*CEԀPخOpνg}pdK[ei[YL0o`9 s|%;/q!@ be-b .I:˵䖳"Xlɲ3l݇qp\`.%p,8LnbU_ZtPgiD2ʢwͪUU5ۃc`k{;^>\D+>fSr/1p,x5{nC0]X+cc Qm ym}Սc$.x챉p)qp]UpjtN,ɢ_7#Pi{q$CA,*E4KHbWåݝ#C_42C {^?q96DªbBsS>3 Lo뀮{\0Oϙك'N()UΤ4gtx= }SL2mCP2 X^u lZ4n:F|cm.Oƾ=/vg3j޹=ؗЕїO߻p0@DLDg<+Rk6 Ʀ4ݍ=)P[&@NҲ'[2/plˏbPQB[si vكQ$:r>^bb6%S}˂S[[g/x[qekf&"7λdED)~uz)j|E):9U"!yB P%zty9hE >\cmlB"c׎N- |sZg&b( -So3<"K==ݳBUHb}0ZYu3RY4nHrBXC?@$N9(G 88Or%! mXMLwQ,yXYvѱI`+c P Vy_iXʅxIL]yXj0=t^ y} Ndokp{JDa>~@Yq\VT2},_9vВaҤtäΛ43}=1'Gzh0en#I39!FĀ1ch%\1M -ѧ_=!Kg):vOzpv`i9gϲ`y> %7o`|n ᅫPHblK&} _>E>v^6Ȋ.P0{/ ,"U`Yff2L +"P#@g<2jB2 S π IENDB`?$ ]]2x{PNG  IHDRw=bKGD pHYs  tIME%IDATH[l\gwn{cױdז@CRu4T*HUp RR" U. "'NI1bx޳{~HHHh4H3S'QWP`d@SV“{#ڵѱԧƗ9 l~޺ EOǻ|罨##O|IQWLyuR>o03kͿo/p]D>t3ނ|Ngvf )5,Z)ݲ%;DYRӸ Uɳ$-*Jd| 9 {{P]U55u}2̥DMAtթ燇 uRׇd7gl+:7Q</7oO7 ,!.Zq5֒_9y2elprDB;x}A&1=*X92 @y:ě"xSzq}Jli[KVb-Xʤ*[|ʽOn ~?:eyc*y}?{-0> l#h4wWx<;||YՕOoE=B-J.ƍ_C%uw| ,˦P(23=eY,^B[,OQU?Kޅt]kضMsEQq\!=>NVC4FLNN4Hufgg Jh Yò,~?_CQff(IP  :.ab$d ¼$IhZ-@UUUEE24ȲeY%&2L H`& !`|>ACGGz(CV$I=`tb EU-rHZs47Q:LE4D{&.U*t*( N֮[:iDxaFUdEaUP*||ڕOMɓoܾ?y9 J^ALf&zjuDQ`ǎﰴӧOضm={r<|s|q .H4Bz]*"/D|,P(̜;w~s#(2~7(jmۘiYXIHYf5mǎ{9˽JvrWF~z,)QVm>%iB!x^ ԩSG++WLoٲ|,ANʲ͛77L6?:s˲χ(..tʶT˭cR$ 5e2%RiK,ڲeD`SSq2SSS7?D"qǝ'0 !|><==xvvv8i$zRdEQ ?D"#D"Q2|_,}sssj\i* I(Jj6i  9pIENDB`.0 zzzxgxgPNG  IHDRw=.IDATHoS?>'>Nl'FnTi/ƴ &mڥ۴M(-P`@D[krȊP dI_`Dp]gi떭Ç|+P,]K/m]-}}u]V?񐮟سgϦXp(46.:  x l޺Vǹu:X>")x,|G<'O`llEQ45m: .2y b=,5GcK_+ϑCNN܌u]ڢQ:SIC:=Fnj q0 b@Oo/ [:HxHPNG  IHDRw=IDATHk$U?f̤g4$t@I Qi .tsXu'=+d^earr:IF4v ɌF҉vd }[ZT~&"_wG5۪[_@uddZtqqQ/aU7xcnn\(0 '_b?p_>33CZ- u]<xcccFGGZFѠn3;; pI,LOO8&"X[[cww(EdƘ&&&Rٹ "DIx\"2SV_XkY__wXk<ɝGyAz?u K+g"18-Z70dooJbϪDQD@UCkfH1檈BZ0$߁flvt: ³=FCQD]a-J |9#\rrYuApYD.I:^ޗ!Cee_鱫"2o" /@izUDYdzD`$u/,Ick\?έ#y-iTuX9 z{?em0c"P!0E֏@(]@;٫JLEXD=( NVd]oׁFSU΄=WC<UL#ތ^IENDB`9( WW%NxmPNG  IHDRw=bKGD pHYs  tIME% 9IDATHǥnD:1iz=FP5gT H*4M8jv<.Yд2H{;7> l ײp0~>tcz_jpR W|*aH*"Ym|]BP-Jh4V`0R~y*qwvv,V#NOOǬcS`/2nyѐRJ X, J>90j\\\4ft:%ɬOonnަQ@۫+|0mw=Eqfv<Nsn(H$-e8/l61H)O>7^ahQJi-LRdd2fs {޷A @a ! ZXB/Rp8}<=})( 50 Z T|@!0RJ)1'LWot@a"ZD"p~}Qnp8Q?/ !'1ih b΅lRd.\ZEz/@k]Bc:"ZHZ?u`b㡡C=G͊-hV╵kyWq |1 2oWjOt3#| oLBx5B2ioJl^4rS˸>bU~YWs[8 z`- lά4:ߔw ]:HDbtوȒL![ł]:P…LY_oL&ȌK xksv̝ɀ4dǮ;3ybw}OGvd@8\^| ܙ P!ˌM@BѮ}Ka ʋohd0tj E9.K0`Z,ה6ǫ$cַKk#g2uAm+0>,d:5Yɗrg>U8+S֣X=?3NF++v͙s;2i'.<W֮( _bsvٱ/p Ng0Y$0a1z!S &Fdc89-+LZoMdS>uQR+nrU<"Bt$1۬$GPӗ-~w;%L6kv;ʉIENDB`8: qfx!PNG  IHDR& ~d bKGD pHYsodtIME t45kIDATXõX]l[g~ǩ&iuqUqM?C0UBӰMCii7H;Ґ`$v:6 R.FK`Ij$M8c;^.xbu{gsޟy2 D^T/-JD4Myrh8 94 1iV)ăZv #nBUջBBwV"&2 5B&0+еSw̷d"F,mb ev!]{^^D 2iςuCmۮ 2ˁmLY}VTluWۣr l۞aRn_Gf$LPJ/Cv~f| M ?>('"n*@!S~#0B0p;u>MY/;`-ھ{G?9P5p@KO;*˥CF0PH/ñF."Z G Vbd,@-P(7j6S$=@/63݈ 8(4T0 enepWoŠ{̦3Vz6 wJ\_ɥ|q2:T]yo NrZt- 7J]!W 95==Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME .4g-IDAT8˕]LU[ZM?llj@t#0YnpƘfwr fi8e&Ʃ|l -+m߾^ 3sr_y#(³fPܹ#>(Ãq49s`0l7k A+кYO@\E:fM>Iӝb|Av.-/<ۂnP(vKKH""MM8rxfs=8t]'Or%vԲ:wv<8{=jZUUUEgg'}}}RWWNE)wttv>R&B,*׮]C5ju>h2W&ar P]UM:&H$X,JlZEhhs㣟R˃ZVVVjx}>@!:%JQz3t wwuuڍfgy9 ? E0]nss?333 EQ٬ zT"`P~l7L& $e2jjjK2. ͆$X^^&!'IȲJ"ɠѨo9+FG&3\SN:jR]]MP$L JERdñ,;C>?NͅKxQTa0$ KEŢLfupH$Yueۮ߇ߦgf奥e(EՂ&%4;`~q|4M(淃Oݻ{[ʭ݌'bH*#( fBd3Y1&Y?pw^Pek x<67lӹdYϝ;T9 IENDB` ^^ {x{PNG  IHDRĴl; OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATx4KLufv,tPC( !шiIMIfZ/=4ML؋MxhZ< .,2=uwaewI|)G[6BR(U=QdV[o>5*+RG/t=LߟqyL.N_*d9?|ԧJ: ,e3aYΞ:k`{+OI%MN>yHдjBhZ"ǢSd׷m Non*nX&cb] GF?t}n(躀BPXf *]F#9X W끽nI ߼/klN$wP\:qwv(+Ky.?Wp VDE(QkΞ_G69j7V)9._ 2l0_ĚPu?EkUIENDB`"D kknxnPNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]z6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxD[h[u.'Iڤ7zYڹծvkcÂd->'烾0|Qal+Zu)mmKdINN/xoP*h5 nmP06m'DKZBҳF1- Eq_ߑSP>'f:- k;G\#k1|Gl(:ַhfN⛟fH&Mj$v}4 "Zsު__ɎcV!/vX(8-+8BZ8H:+_̂K7Huwvf5~?Y],Z\ dۢ}{hjh"X\*m&ݙ*7+MAvFp? Ձ{:=Z7ZE9*|3S4o$$ H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%[}׾6guܩ,i(Op'ol:ۢ< ?`Hm,26;Eunbw...x.i B (M [xCjlT,17EZX{#OXq`ok #@UD5њ\.]ەJlvi~` DnJCH21d/dXiI2^e њB@ ]W)|DkP-BA"k7[vkVR~e1M4C|`VP_7Aã^B0x~Kٖ9Zc(DSZ #Q ^&-T$uĶ MPAJ  F{$hfN#&\uiS(APFtϡE>6<$vZͷ P[IU ѺhzFzҨd gچ# VběYc`/" {e}9oFiP:xȞ{svz F8bmcfn%Ţ1 F N;`ƚFk6lm_صm7p=☎PCe+"hz >4*ĻzL{lx@߮oko`a!B*&N0 XZZ"SVADg?Cog>>+<8;GscŠK,74Lj"\|Dr`[/]LNC#;_H؝iVڒ.E*RBݧ`,zZ^e]пGюׇnOI)L%䋌OegΝyy~ryW_ז=!uzPj3A|F\o/шIENDB`.~ zz_!Bx3PNG  IHDRabKGD pHYs  tIME  xPNG  IHDRw=IDATHm\Uޙ3;]tnE[$m6~@bHP 4ИR V]P?ňC 4 6FbhL0!&Fj-v̝̾{y0ۭmIν99y<(zM]7nz0ᕫِ{%=T-_ھg玍kH(b,>66sR̍DsWqyˣo0&2^TD&"g>YLD^?)ډ5pS/=_ܖFjPJŕjN -EOfMuԡ~~rD0`%MZu%A.Mi}kBOٸ.E5\4pHu|zeeشs].|xo~RzY V_|/uu(XRWfH%\^dHéEFA+o@$[HYIDAT8mML[u^飅BR>€i]â&x͖mO^\"yǖR`J{}{'G4/GCNyD"RnnX㿞^ziCo__YV6,2+%e>5T=l&G>9wi7VIW%y(*+ǺC>8Ue>⟎oパ-0;T@![$VG{.osvl)=bKeNr3!*=\#ֹ6'Ighj 6:3qN<~1C_ KZЉ0FRP Yc{%[/<Úp{cK;[ѨQېR)JE);6ww)%m{j:{;{ToNpd *W@Hɐ+H(hʠv1A)}YڦbN [XM~&e#vW[.^k[PwUs* Bk@Ѽ(BVPi<[Kp8r^jd:9FrmE}'ߟJtǿZQ5En<:eǃLXdרr)"~Q]WG\`(CWG_:U-J9+J_A{@k 3DFGԧӭG>NF>8s;.wO[+JgY*[Ny'zoճ3SіV*Bv3go0.7uIENDB`mUudRhl{͋粸vMH)i6l% 9_2$5f} $K^ȢeOt}05&4 )$B " B j S%zt+9{$kVov \0>&b8s9}EŪ~z}<}UC іʭ+@Oͯ+EMh[,ifJ9,e{Xj> RD,}WXXKx>z$ܥ CW5Jc E:1FjuAYB0MX³Kx^%K,n 󼫺@3%kx2eĨB"wOd\^6/+uY:f7` tTX)k={xdR)V@@E K %qYYξ5`@@z PŠVزc?ϼ\#zs~(h!:QsVdGG^i_Ѹ ] P il8бI-2 Zd f3-"ӓWH\:Wa: I@W| kus)4 t 0haL&M *N=?W~1|8/#`:9=ZA !^8_/ nH"~ď_@C{zV=8Nq Dd2I8FJ8LOO*PXkzM[fN_ 3ဠ԰,\nd\Hz\xWGy }^?f&VM TK*y`Yܙ?'Yn"ҳO}{I_W"AGB NC*W`l"u)uq l>ЭǢفµW*ۭlIENDB`0 g#Rx+PNG  IHDRabKGD pHYs  tIMEy"vxPNG  IHDRw=IDATHmTW{g̾uw]`JX(nijlbmR$EAԥ&~1XRI&HӴI,!Y2 };a.'y={3!6.׈~& w tJl+5|ko% Du_ؼH$cB,'dN{OɱAJynO<쿌(5VV*UVj(+uѳJm|o\5/;|;~5&Q6@)`A ̯ce|?~WT@:X:T̥CAD02݇~t@4m/??bibgWH&P|NBq$ g>(r_0ĆкBƻ$3;=\ʔ:C#|EQr9anaIDAT8mMhu33nv5ƶD#֏jkKcEՂ"B&HKTAAKKZ0zPZ/JSM&i4dggwv!m^x{%Ibی>>%ʷkf^7]:葞w%.Od+7e1b:-D|,:,D>P G8 Z;?~ -])3XRP]o}FHw70莶JNj E=7!UN~&@䏫l^PXeH,LAd5RPPBcOI{=ٳwo\IiA'vQ2kϿRsdN^#iFfAudY#XF{(.mnЗ7[8(u>ZɖNMHgdѼVu dR,Z*OZ 0*R/B@z$I"/\^ \ZLh-NsX+k*b]$Ii^3,YׄJ5܁ަxK2j!CjB]`9 x @s52*_|}1ny$<~4Ï  oj VByšogƇVlF`ū*- d#2*WwOt.x6']ځ6 FŶA}}=v-kwFw~jGwcuxTz[>|z?c'&|$RHgsSSGl%Ir51'\g]?Zvs)UIENDB`5n%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxDMlSZ붾uC l- fW?A!zbO4LԃCֹ :v[__ھE;Ul%Rj9{k(S0 m}o}5BPA@j9ʡ^ٹ[Z@@JewO"1Ʒ]vƮտx$aUGNǯ]oS1+ - r[3PY.^% IGA[Q><@b7"%Dh'd~9c˅qF$J'|Iû X979|f)b: "cc [PMRCފeKm;^LQ.2f7Q0JUGXWhtJt+WQSh߮'d9$I.zۈWq;w 5+^0~'2(Zaю>o{Q0ս^.NSnUDEQbb~0{??{%" jՙbԭ_UٟWdƿNIENDB` _<%|x sb``p  $?ORAN ɼrؒ]";,,f`ŒxK<}]oq2 Jq Yx8XNN8С_v׿.ztMYx>7^ ӆF `mxlEN}'`tsY{66 $zxzPNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G s sI(@x sb``p  $RlI. Ap品" 0kH{+m6fv>E_B%%y% E%) % |@E+<]C;O55 ߸ֳ <%CCݱG66s?\bg5?`[0܀%8Y8 Ey8XNNX `;r~[kJ( ky~\9_ %OC:.GT'^i89SMOAKRfsD j eSBB.H N+ x sb``p  $?ORAN ɼrؒ]'E8 <">0܀%8YT8fitq 8@ IJQ_mٿLZ 'p[n I>gIkӽBꙖel;w [+k<]\9%4`b)@x sb``p  $RlI. Ap品" 0kH{+m6fv!9[$K\#JssSJRKRS3K2=}ā<]C5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F*IDATxڬn0V6@8OPV!ud )s.(Zt4"{I@(p$iz;\sHߗ{<Yw~ \9{]Lᜣ( xJ Qa:o%X 5I;lá2~! U% 91#$IoմgAÚF#elwKE^ͽ$e+UB@$h=@5Ћ-1:|8?n4h [[}JXCъOӣohucu2`M~ $D}AA96LSDq&ϿR]#6"̢`79H"rhGt>\|]0cPNSUk-y˭'/h6C'|css}-0Q𥓽Q56,=r [ \_]-% 6NA jes75KhIENDB`6 j-Xx(PNG  IHDRw= pHYs  tIME (/D MtEXtCommentCreated with GIMPWQIDATHՖ@kH.%-|()V),R"-6Y7?=p | ̹3Lo"H""[DT YxtހEOqQiZuu]kYFQ c2h+@0Ԣ(QEa:Ȫ́yo܀y` h8ve`heO,s} vfwZg+n ]W< #PU>it/To^#p5Sk[kv㸓`$dd=hA| @\^CƲ:CIENDB`0",H x PNG  IHDRw= pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`lJ)0'[Rvo̳z#FA[L}M5J]$hF"mhדCD\5:|tgJK=1.uxMvg}&Y|*12a ]0 +*@#yEҥ̾~uF+Whx3RU(IIi]9^+cif޺šx(lHBDǀ$TvĠOP,/rSBEHl0IQ;;T^Td(gs%Nw[Yg'?!4LH&IVڥ@lg/^w~vba&թ0ha@\e$GK7_4^g1zv J#$ Bpѧi pk<'ܢ_LIB.2yHAǡKa>Ͳ y4̽Dmńto1^ψmv0)(-UpVêe/ᎎ_dN*PV%/ǀdINYq-3Av L  j1_DϜvxr'94R4^0(RM k]˒yΩ>^8;;˩v tV,<\K~M&=bPStyHS.Ps |07GPt9Fhnߣhd:Iڍ,ݦaA1Ӹz:Dǭ>AXDCt RB 3 E[$Kh@ji1uo^·FI^@KÏ~FH/Y9KւEt"(=T:2Gh8vkqE??4ap>ݵbAgސ95a"Jg HHQdc|99WB7nPQőf(2Ylvo9:)Eq/_&oDWB+P =dgS:wRQ+T"qݯε;WiCO3tpTy4tLĬUA.O<xaID!6LҹW7 4c=*K)#J[i) / NppCJ;$) @ hCB1]|ýL)O@';H1 h߄Ife"WrtxB @90y *f _]x ?'uJ> Iζ4.Ko_!ƈ$B~f3YNvkAɨ(FO tknh- QzaS~LBIL悐FqO~Sy}TAyJ D4x hBPI{E^W0k D!T`B}n6 @#7 v&xRl) V> r~pD yf =q|'<~u@Q#b{dz8Ezc:w)HXA- w3 >k"^/,"qE @*A[x?b>`=-ēj)a9:qG|XX1!Aa (Q_.$ PJh;ps _9>չ?$Z0 2o'虳Ơ$G\L/XBΥD ĈDM$8=:z.-Y_\b=\z+ 3:j D눩ƫH~WtIENDB`3 ##W/2x sb``p  $RlI. Ap品" 0kH{+m.n~c*q@!׈ԼĒ̒ wO߀F>qF}Oo5;W0w<0B%cgy?1{M"Ϣ)vơI6(^%z clq?Y2^O\j4]cgK3izüeKcܙس&'0-wpKPbO]v?+YYy 9i}~ceۼ(ojecͰx䇌 ׷ζfxҐo .ڲ1xp]wwSY[1dO_gpu Ykw; ɯ) ;r.h x PNG  IHDR szzsRGBbKGD pHYs  tIME16)tEXtCommentCreated with GIMPW :IDATXŗKuTIݒmg`(vC1xc2C!}6I.0lsH gA-%C~WwuwW}eQhF.\>>8?{_21FŐ)BЖ$jdDA eXI}$h=#CD1N9Oqh "e0i>'%Yxݻ8bdZ$B*͉a (Q 5=!CPq]s;l[LŏkI]J C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIMEFiIDAT8˵OlEƿy3:vݤud$—[H4BK UHE*rR N#D O zM"8Q,T*mi+GwkwC(ny};Oy)pA886؟wrFq(iځuuY:^w]w @0 |+fff lKid#@ŋʶ8i"u)JX5MJr'n_z٫R7ϣ9:jj"*q6+J޿˂ X pҲ׻ϿFR|1V-wMA?uS"*&l{} @'677ϵ'8% AZ8vX&{8[_RʕE066X, J/_ТRPlhZ0 ? Ji)nApzoG"0,"%R&Yw?rxڶa) cv(@Dj\$Np1&+NaznBjjU 4ͬD49qe:y8Nsޭxgggih $> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)Zk+?>󪪪*UT-˂h 4-] %0o\ܾ}>_.R̙(//0UfX]_^Q+++X4( 2t:- )%8 JHMx<Yie˖Öeykma5igp8<v|%0`>킔h>z_i~?^/~ 56~P"gr!{cJW<G08@ oBX!''uk?D"h, ۶A0pa`hh#rRܮX,aR[PJ&p8R$R2 ּr((|hҲx,(/Y:A\.F"nxllcР*(%S _P" #^(?xs~5<^U%% , c!cGOrO`ddh8l9*3DmCuTm#L |F)FGGi:ȴ3gφ^RL[G2}}!%/S)%4MGW?dBJ n1ŕz,YR%`AUU %ΜN<BȂ͛7w۷%DΟ6Mؓ6k\xa(//{g|[Z!kZkR\ @cSSӕ+WğҥM.xvo=qXft:.\dCaȳgJB qM댮0cGA2f_7 LR{/ X^rIENDB` 1(xPNG  IHDRw=IDATHU[lTU]1w*,4~DjPGALy}@`h)3 twLy;9c}>{Cx^44487l@>WZU\ H){Q큃X4&ɔf~ v9`ss;w~ XԺsE!BH~ys^Dze­K;::2HvBokx( ϟ?*.~՚N`p8x'D+LBB`&$;`a, a4MH ؖ 4]TU]iB`}R( (`r[ &2PxPNG  IHDRo pHYsodtIME  pIDAT8;KAlkV MD%rE"Ei.Z"*6 .0эs#&n 9͙s94M)% 7z]R !A\k|WwNPЀA vۈ% 榨VSS2qq|312ϫ9i*Dl;El&o4{eyϙ ؘ6I$ait4.AeZ^~:8gg}RJJgggĶEBA tGdxloc46t$"e=׃h,u ygkKY<` SZx^'f"])赇ѵ>?HUX3 aA 鵧>L$tzȀJ K٤%"IENDB`6R q3f^x^PNG  IHDRw=bKGD pHYsodtIME IxtIDATHǵAKQ49 *P,l< `7?A"A=yDsm=='- ^K٘{=4̛R)yjy#J%,Fl6u  Odo7G>:B*pHONЙ bLw}F&ރ)jp]osx__m 9&[߮WYhC.;E.;5ѧI>OBm)=tEiZZºheD޿˖f]]/\@?{FivϿ,@t3#G)^XTx{z hy*wP@8U0ZR|BͶf6h9?OeV7_q}Q`YKKH<[g@,@Ldry,za᫘* D%B~Max^-Xz1JxQ`WLץK 0"Bگ5q+5>8 n"GXWqZ%\\?c!Zz^0y Wٲx[|߳SUA{ձ1ܻw m`PJ;KdmP[پ}Q28ղ8'O޾hFg4B/FÀjSwFבW"zf1Y1\K{7@Od|}źgYYALμI8Z3JA9^O%p]|ۦdۈRUp Q:56\.'S)y'IENDB`c` m5^ZxZPNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<IDAT8˵NZQy8DF NJ5XBр/DiEmAD0@Դ8Ҵ% Y@41_go,9'(ٹ-;5Cc-^؊֐X >څտN~1ՅW v\N)i7mp- $t+@UVlf0˼߂|@%#ZDD>U㮤##Lz(27ύ > YAW _yydzr7<B8WEeSO`J\''A9-K0BFg}5Հ# w !zBq7˅+đ6s۔CeTH`9ܷyhvע)DH&TiHH9KI$ mֵL\i9IENDB`F s6j`x`PNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<IDAT8˵ORq;Es~Vh7D i)%FW;y ֋lENɜ&UgWZAd:{>sΑd`˚囒}06HWz*``ܶ+z>"Y HE# ]|zE^`%bŢvq<ߎ!l;;qOud_W!D0_"-IJx - tn$%!?[ؕҲגm8UޜBHÝu{N*Aƍck쿞&rPPz>2I)3A.uFk4KܖA.qsjw߈`LwЃK$H wh5G0zg'hcA` 1?1mR"@Qɩ`h70ɒpGZupvUO$M c'qCGH L+@Tk?FEkҼ갺|IENDB`=3Ԩ@{ L+Np{^pGHgEF&NːPc[jv}^P6_x7>?~䶮-~FP qqPlFLIoD{3A}ö2FudaiBvt6U0Ǐa\ M`֧J$4bP$ J {3~-)qz^>;2EJ\돌y-qhX0mCyR TPGU[W"?ϔ~'hzOZmO-].X~,2K T`#,[aŇϧ) |'ӽzoZN-Cd, BTYRF ۏNLgzErpZU]U>f㐑a 4dE((pab*MjU/Nkqe_Wx: *I_! t64j#j 3Y\gdNW¾NU_`"s 7ZP@քU;P^ i"QLΔIw/$s.-Sv]Nm6r"LD׵Jy69T:I"\fNF!; h YQ(ʸ8[|$o,tngRQ87G  YMoabNoXzFI$e 4 /ka鿒"N#IfKʹhDn}Jvat&#V<ΦseU'!R,F,Tx$!:8"92q.Pؾ1`xQVnIGiN{u*ʚ54(}Pgik{_FG/}vyArnl\Dga|ޫ]Y[-.;L7LDoMZWuZz oxUlb1IENDB` Q7&>x>PNG  IHDRw=bKGD pHYsgRtIME&IDATHǭkl[9>$؎رQδi!)Ф^DĆ&ƇNhb`E"- DYHRh!ВigvnN|)QҫGzO+ön65W]g -޿g⍧Rg 'c0B3vNNˋgz`:ݶ}ݞ<ϧqC_6ƒgf)Zۺ܄%X`Nr&tAQ,K 6EfUiU-mI7O\\gEUoBQ'?ȧkCAJ)u4LJ{S]dzr魜$^mr3XaC So*Wyle)skWpm99^f4(OAkUԡ|֖rvj"%Znٶȱhk]T\ p )U pd Ρ2ϠVvьyn1!&b⣇KrJ5݉nzy1wkO&8]N7)vNKBu!$ ɤjJe͹SIv]CYe)I`2'/aLF$ᬤmil{У"ozN$#4"ĞG{eh9Ea^OЉkGC\1{`^_[˫x$lnTȬb;H'MR5N^_C8)qf?xӷWڞ3=<u)LJ%z.xnxigrEۗ>*vTjRpDDGWTBQqY6t2:@܄Tbm08yLZ9Wٳ& @nJT,3kP+)hO@EEr}g@& _B{: ՑM:55:1+dL5rĠV7w\ :Zov 2؋vxn xH @G,07nYjN7nw&ח:r_T8F]2*i-ojγ4ifV7 IENDB`Z )9VxPNG  IHDRw=bKGDC pHYs  tIME4 4TwIDATHǝoUU{rE"%6"bK}%jtk`2фCcX` TZnIBK_MsspnBd׷[Q֧ٓK׮yjݵ+A* ӷnhnn)8WWo] ڲ5,IͿHiæ- .@ 38j x PNG  IHDRw=bKGD pHYsgRtIME $6IDATHǭU{lSe}ݽ}l=`ma 8t Ȁ OAB&F@ Q'1F yE@A2k7h7mCQ`@wƏcB(+,S' _߶띕rEY`"THٰzy3 u.A.r@gj9%^_z@OWsr+Kf|pXa D^EX 3kw ) 玵g3h8h4$KCr674{2{o@Z=cHE3ۮ )jH" aԎs &A #,Id9O`<*;mF^.wV 'h60<’61bT5J7@ԄrGf.0TSGTH yL L B ("X@x/@!!bG5e@=o"y8( HC] n\r"ťl؁j s$Zcff'Osf=}û Z% b=sQڸ48=6>[G9@BADpBl!ZnO$*y퍷%V&ҹE-ADj2l:2({{|$ӷ}UK^9Ԓ\_R֬]:=9Bssj~ZA&nFߠq2$޹sRӓә.JZjzJdZ} Ѿ9;wpmd2>qTH$Ɏ)c!PjA).69D>tvlkg###8~d0 |Tq804Ej4o|O/w.{am8FΜ9×_͹9"لA.ek&vH|CGڵQ^yE*֚Uz)6IЬ[@lyw0OM,!xRlg-ZƤ`)_?QJZK[jc8IsZB  f߾= ^ȑ>x ZD8Tfzx }}ZV<uCB HyGEDQ\c0pҭ{ 2`hp%uK ק7nؠv Tt:U[|^Gڲi換K[6cMkBp}6JkTb%W?ũSH N!AC;5=]C쩨9Gc?_EH3) Ҍ7|8IԦ.[̜t_N| MÔs1y g^̌~sNDWAׄצ@ӧur2yp)c5jYw~WwXUf̲% ?Q1M ~.Ul6cpCBGT$A$Ȳ 0pر/|߿w^I就EA$A$4 d2ܼy1pAA^ǹs~WF#)@,{,Ba L&@)8jBZ Bp8u[`Y7*f`-x,+ ~:9GWW666`۶[]oooG @*J@^FTU}?a681H&( ζ뭳&!3UUeY~{{{`/k4xJ2SJBH(|F?4Ϳ溮ZVZ__뗅ƮI^?xosj5W(~+?2BJOi#heyB[,kݲ.y70IENDB`z! `=,x sb``p < $Jc) w'ud^9lI. Ap品" 0kPו2;B%%y% E%) % |@E=]C4Oh rֺiOYN>užvU bK Gt m|f Ηܡ.:{g[\ݦd{ޓf}vƦvWg)2qsӥ^ gt|W9aNxmZYr&źPg kOs[ W>?x sb``p < $Jc) w'ud^9lI. Ap品" 0kPוWdkDs~nnj^ sQjbIjByfIo@x#8*nOS'n: ҺrK%"1OL]u,Ly|QIпLr-5QZKȅ &ȴ.mMeVsO.?u)uOި}㰿me W*tY_:q9TbU;^)ԞZ>j;)~=̠s=U$Y8oSvpmޥp/\ްjShڀ>_)%3(tۼ6S|?[dSkONx sb``p < $Jc) w'ud^9lI. Ap品" 0kPוH'[PH59?775(5$5E<$C7 O苧c \ﯙ3KClA&qwnvܜjҡoȟ%Li^$eEfUgg_Ǘp4fje)5ο7<_y澋ç uBmqfDá_c[-~JO+gj_ۿ+o9Mӈ!Ý-]5.I4ȯjն†/wWm|MϫEZ7>[ݰzOLʬw6<}> ~.|J&|3?kkJ~nݼp ,@1@U1T#M=)+ /^{|ۯ0༣<rΜ>ʨ8O(;fuwرc; ~SO9u4;gytG~:{vb]๣Gٸw߯ivUH{Pk)۔s_a'*-B gWÇD#K. *ʧ!ٳ4\s*n&oRp1siZ~#grRo]ܪ9?شmum; fͬ@cNΜw7nbG@vxy@▵Ćd4Юb h#hTǎS<[q4!D& @:֭L,۸u(~C"d`"~5F Bϖ>r ^4_&O %LP #e t\šH;_cAD Bd GIdVQAلItD舴:N@gwDڙ(rv5>;}^JK'S6%V>h+F^!͖m(RJ8}3@AulfTUL ;"Xy(+/I`uYhTVNK a2SHjͥ_شhg[3M1P^^Ngל>{3O]%͒H/Yjjjjx!0`EkdcKtww~z{p wRYYJ(D|:.f K,8.A@o:.zd Z)Nrh׾Zؼl6Pk wsG<=uMr&N?o-hYfVIENDB` | ]]BBxsPNG  IHDRw=SIDATHݖOTA?1DN$\bbrl#LHJr w;c; Nw<)a >zVn 7#fF* w@$dA50U;1˯n{փf~tLJ29)9Wk4T1*ks}z ?a)u\w|3QByc2|N 9`Gɉ^!Ĩճ2i$TϿ7)KVjPU666qg01( 6l6d~~TH߬sOj%7PUO*\^40FtuwDN^̎"Ȉ(rLp_ ȱ;a"wp#&>:W|HVtXZ#`;t:xJtS'80ǃPd4_twRJA}L&j*rH DU.fխ5 3^eQAE%8E,pL t{&{󇏟IɲCM4M>UsJY).9jV'5mciل`IENDB`l' `CDx2PNG  IHDRw=bKGD pHYs  tIME "##ZIDATH핱kTAwI BiM * )R6EH (B gu6? (5ф"xݱxw]49}7;3_ gqc   4`6lUs˅+wؿq{ē$} 15Xcpr8{\§/ #5Qo$iYixn_l5qb W/aKC:IR։q!"8,\BE]Dlll^ ˱s j5'{1c!X,R*X^^:$SSSO>$֣jBF-5#Ն)T*"w2Ri 7 0(=MOOEz[DC03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATx\S[L=t2jiBNGnme"OHbu>l MOLc$^lDG0a,mƍ"z@;hzcK8'眜pX"V_%I\./MӗZ.r\LJh :HG_ح @ pB"*++˼suWgŖo'[ťy?k_*fX-Xo+9ʫ?>^^_d2 "ւ"pb&p'[\|y6,hp#p-, @zz:ͰΎ~}JGckji/).>>dm?`jj k+!bNwކ*] 򊊊:'8W܋n`>`fCCHJ>/sx84k2nv8ͪ soT»g{=( Ϟaq |aTQVʕ@4!pLNb7Xbx g$ F"#Wڡfi80D"Sc7MQ P)B[=\R\y8D,]yxW{/& H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%4+5 MLv};>:=2?~*q   @^78<\su),_X7`ag_>sGa.)Ywv8eW|:ٻW+O0?}|PaժH*7զ/F2zrK WojBԜw [x==B Ԣ}[4 Kv CE#5'C<ćNQYoCEncB8A :wĂ4 F3"D1Y%J'5dK,">DW"u.-ד$wFz%fS9)^ lMp˜+^`Jn#!`spN;$pϚq_#&&x9FQhqqd0!T ި's*j=n}=zQ~"i``וmֱhmllT"%D&n5=Kh=|{>ߴXّYfwȯ]!oLoZYsir? 쿏;fw"ThȢYf17{>΍.&&_Oy}}ü09 j#O/bdA"rNtź{5aݴ˘{c%\F Fw(y=lܑl%IzCa)g8SjTqur}[-/ȿ,ne!:#z%b<#l-("> Z/a1.($(%z,8qJlNt!f ٰ#xݥYPCT\$\e1#mԚ?Ny`u ~4SdZdΤAw?}z#trmcD+8 _U48LJ9 !qYLH-QN%|E.AE|xG5ڤַE;RomuXwMߏ#TG~4AО%h[==Dd\͍oPRNΒڊ8dEH s}(ŁF\SCWNffb8k#;RrBj1N$`3צƬ܌}FT|YQӽQRBcw T<U"|9#|a- GHw 5l$\9r,"E*)1AVPf}niD05.h1"DXlC_.Dp,$%vGBDNU͜.jĐ($) 1){N<+aȒ$ s)js\\NLyv3U$Akygv %r;ʊ})C)";.ת眂G'&Y G猛t]ؕ恳Z:O+S+g)D~_TFeX#tWhGLDc6إN\fyi/ j=JA!@7ij %4#bꉸVaY:~efvkS%Յ?oUJh#_EY)E C3+@]䂲C kCBu:_Jtμ~}"UR8^O7tI1'_#YGL"V AcS-FK*`luN"vf0,KHA.ؿF*xb{)ょxGKHn}hYѲD9T5d I"ßJ⺺|?ׅ۬`^ ({,?`?eH]#?߇JD8F6aH`F RH/f>>C:̚"NJZ 1qr*J>uonɚ]ןKu͋'"tE{ǁƉ$183e*f$?]ff08xh}C@\?p-7P/qM:ĵ:D_Juu(/:v_֩^ZtV.DA<Ac m:rVb!R2hg:;jshMo[IbH jO&#ûw=\ьz'qG;,+?\HP@3F591V(TK xfiB]j/lpay׸52ͥM$ 4hÖAhgkr OuUceݡWGbGE d0OY5 r{AY [=}FvGj_Ƚ;~[֏Ld ,pK%ZtxHmAR!ᆧƤ-/f MY'I xu?xܙج`{U7ަZZrk(KS>LH'Q[Ҧv eDi@NoA_UͅVK7K_1sivNxOi+' H+Rhv[cˆs%'d>zf2$qc׽Yi[/l4]OAL[AZZO j F9}b0sD{7R#o@O'GꌞE>gijӽn-_3)dx^zt[_S^'KjGabs?{W%J XdLDIh)w*,/5N&҆/WGdsqJYFQ~,! +X  k g(E2{ @*YQ/xO;3B zWkӉ$Ȝ|J^hn{nlEn.&'f'6sOX Yk-H0~ۿO]+{0j1cZǠg Vx4𗷅{=K .SbAc~zrSxZ}2_]">*rbu$\4=(Ѹ 9ڲ7=, \-9ga Þ=_E6^xk9Ї;SEz29b6H [>! QSaEfySqJ$XZAR"Irϥlj@?aӯU环oǼar6cypTbzih$S;: ^['QCӾ[ڃVGܩ5$G~4{ 9~3s#F.2謤m}c&.5 `tqoo;yB]`=ؒޠByT 1WmJTN ֙yμz9 Z: ;$m"JhdTLK 6t V̗6L\+SSFkr%& zlvw)9ѿ-BVD̯՝Y=[Ԃk.4qx̭ҦfS͞[IG.S.l&hLHEr6F o.Uq@Zw$A>k!st #I7|,!H-K~Te701d6Ɂن;]5i7k"y܅!tZ>=AMc63/-6Mψ͟&sIo3>TTF2+h 6(`jM(7{ei":( HMao{>,?RWG( ӷ?+eD]k-?Ք4ע( !859 ~I 74Hj|6r~r7qn>oT%Ž|]J+=e0uӮh r/EbUƸ=c{4 LBAĺن0$ְ>У%iHhuX˄ p1_1*WRT3WlrRAzBEDdm}&ݭ?g W?< 4ُX3zGQ" r<߬pg2,Ƃssklu;,B:F[WA,>{3Q!yj zQ4 :3 j+p։iy~I#lsn ]񠇦Y8}7\Z Se&5 ~/iJ-8SϐW jf=me+z ,]g?z\ZUF nzW (?8M )vꡲ'}1?e+#YӗA=o30ufj5:y3// Of~A<_oq8w@D'Ħ(2ήuUB4nWHG^GCtd l'ZwZ^7ęQX5/eٲ,aϘKi6ؕ`!Ł?4jÍI1:vɋJ)OI5'&9JR^ ."Dh Nsc)۪jf+[ѩ0nHb&LW1?,!.K .#+tWJAhS(T8,ɪ$tb˄y""Z/%O ^cbش^^LDB^z(Yx! TjY4f _[t9h\3_ >nD;dTmh[!.=7~E2TY[O='])-X-!ٗ?Kl;~fC\u W۪p'n?YqҪFX2od`[&ę /wR U25j #%EDL*}SvH_D6#6&bX%$h>tj5 zneob?o r;;3[E)Ip*Ȧk1= s.az5\^7u$Qeiy%YNK vg 0 VQPbo^r3|o鶼maN\=.]ŐnL^mx#ŚͣzO2$aWJNGʖ $B" k/ZnjGFb '5ڐ͟7];J:~|JMfrg @& (P!O %sF-P̕f?)a|oD0Gr 濃:|pmeV ;bӶx[ܠ7pjVt6.Wҳ'gN [q;g}NLF[yQ1ù=͘F A !7Zn8rWaVS7$؍یĚYԳA)ғ3N<~9pE peO;$DZ, | WHAhN,m ;RbܲloœB44 | .l\[%P^:@tX=pe+gHËRG46S^Oո- =ʣ=i&o/iنCy$fȏp0s>{¥rP"MU` BHe#YZhabdS͗ ”nЗɻf&|ό7P7iDlNW%YJV7t0Ā+Xٜր,鲕 חXO xߺD3Q\TVw@L*g)VRキU #fce.ef !ij%vD+ˤ=(G'Y)95Agq<7 %b jGg]c7h!ړe$3IXS Bq'p+ˊ]LYE>{i mi*Э#pW~*BQ»,qEW@ +̬"2WObT.$2lVdEΉ C,`KO0 }.PbH$OiPKjb!C--WHQ*n:h򧤦,f |Ո9Wy7Ca+k`{㸍{P睲]hԷuC]t0v÷?4DiB2Xs?563s<>Ks N~ ?NSƸInscd_i!NtUtFk^T6->'ȕ3t/+67D. t{rmHS7mx"+#߈zVzD62>ht`҄ QmY Q_֢-cl-&.ԽK<W Qtd<>jGK{AVBk۳ak}9wk80of73L]]b_<keJ}Ÿv]R-A\܌N}QG"}/Sn͔vqpblm2dsb'g#TP4FO.Z[=4Kq><䏉m%b!-)ܢP jM#1 RdElѢWl.S$>Uļå%ICjR$EU2=5'ORƜ@wGRᇹLlxQ-)|z/r/,=t(>F C9 ,k߬؉^AG\B Yrd2R~tOU jкVOs^+ Bկ}b-rLu.Y zY$11޶k 03F {k !k|_{uigžoXxyv&)qٗMÃR1 dO]&r$cZwP-;)BI@;bEr4oro/Ѷ8*]VMĺZTƨ;/| K(/=G]3QqqV:%ƘirE~+_֋!z01AEت[5C(Q1EٷcI>5.?~;=U^Ç]An@M(ՂE$՞dtbn) |>Jݱr\Za8jXE(vZϹ/ӷlU 9:aΊo1Dṛ.Hh|a +Λ@~3n""ӲX<Ɍ# Fd3~.vsuȻӜMP̑ڞdf܄=ߣ!@ i %h:kRqe4M&>!b^.uGiHMF*m z;t^5_kInU=cŸ79wIn vMR,È a +3ى z`-eՒ{8mlIrỸz;c3X&<-sTӕK F8 *[THLoh&C.}vOApKҐjϨkIP7ɨ͊~Xf>/tL8&dimK6V R$GUp9ز\[C%ssFڠYC]hu, KK&M~z?kvܐyG_ߞa/UV}Q|Y貚"1[?mNAay:sz~v\;[߃ͼwX Y0B^^D9ڄ]M!41nUm!MKbd 98hzjOAaGߧHlu-(`8Y^N"^ QXU}MM75RӼ)?kQPvqd=!E< )=30CذϹ}\I$ >yB.=jV,f`U>=JqFV?Mvr4;:Z3뇷j8 +\jۿ ԧ ysv7Ox(Ԇm3ju nx8>h?AVIXš9Di L֝dH__L 9qW8_{0\ '(h+ة= 8n`$g+L_ BPQm 3P,J# }$ `yd%+jC.((,C1g'\S1X8L_UkۋnDIlޑ-}:SͤRx069'C"ϫ^IW>"nmpC~7|_ӈ-wQ)nZ>Շa#%fjG( t]W<#!pc4"0ۑt6JxWMvE<*i,/Yݟ߳=˫L!PD̸>1̱D,O $6#TH:4yS8 L]")&\ж]|zva*Tm<?Y[`%Lvϓ|z,3/kʞTˆʡ HBI~-5'Pj_.VBvb;1\;IX׷#7ʹ~ayA .4ILX:kܖ2i6!78d I1M|4Yt| f_&;Xv%wG‚~wLGE؝X |NA)B99#ZΕhfT2|B*i n뮑C8w"./veF[&?r߫;ĈK &si(('zݛ-Gr\ʟB27pڔ@GѝL7fT ^f؋%h@l7OT/CsD=yC|fbiAWQ9Ȯ )SR+HY" Wә9nmv%axt1_HGh37Ӄ~3]>Q3Nl.ߞÅMr)xG.Wx=ptL:oIG"^ܣ+ߟ( 3oY;9r v\ K(zlh$;;Bӑ5UE~xj; ̳NٝLGNeeJjrUҺxKqL`,LwhFPeE=`]fַVYJ6G')_AwŃܮM4^/Mj3omU%5U[nB;ߥ1S䅄yڳ1O*u00#|D!$P0iqV¢A2Ks9_xšDsF0 Y {s x##}d@?45Ƥ]oJ՚"']j<;*6±{Lwk, Ł6b /\ Zݕp-3wf"Rw ?=ٲ,3\X=63q]Kxd1ݚkufm|رmi˂Te3v̧_Bja̙P)$r:G ނI8+j,8 )7a' [h8mSAF[hisZr P}U3DSJtt\{UwreЦ>k&[s!̞ANEwN-J*| PhjEk+G[,QJii"hr4AYh@0o& "kPL,[ZybSy#YU0EEFK5:=%aT0xp!OhНЖ8`p'}+Üj?t:-q8KgBjUu/Hˍ$qhYspA5S8~JfF 9X;N3TҘ36azG@tpr6oHkh Ilq(}3z鏼ނ7HB0'~O}?hy&Joof4W:m/Q !t#MW*~h8/䂕yl[Ǧd ]D# iQ-#!G|0u'!^>୮xV5/JL ̢Zc L`,f/V(YV*ʋ; ;z,K>@q@W+IfFX4VĎK뾕}3AIĄa[ऍMf()Ν1zֈ$k2ֻ$^/-6 R!4,([umO̗=y1aJ0@_שXfj"S+G4o31S.T"mrp:C/ ^SFK,riKAƏykwfG!@޿"m;`ƃۧU~[WwwR&ۻA`ŗXוL2,/ƐPM2-R@ )KqCzbA "tLOijfQ/,M#Y,'璜ymBmn)+6:q`VPq{!VS),iLm!ݝ=fyFss=Vb8IF! E̒[ G fZUC#ƈ*h[c<.⽊GјkFjPzY?҈*Pڬo51W cI,ĆD:Ml˽=M.!et>$2ETƀvד7@H8ySR7( ׾`4aּǣ{{3 F_wYܛ1?#v|3'ra.ow{ ٤)BHJYYzқ5҆0(3E]Lq:kԭDdO4l@(!i*U PJyC1=f)֑3y4Jtt(0ʳ ô5  F]XV$l(|+NF22[ #CruNKԓ2]PpRQ5uh|E v@ ƌ*x sOJ)|JSUTtØ%c OWvXY_ݟڟ*Yeŕҥ?+ dJ#D[篲u?_r/*׮lȝRkã#g1&4Pc9XI U }sLzlvR0W6>e٪xKMqyyXǜO^(0JT" @h{+ gkzIϊ`]]ˆC/S /ǡfiȒc:#6QxbNMMtiY@F $0TXT64Zc0tlnm*LSmg Qa 7@_'_`N˰+驳> ;JniN/-ɬ$ٓ3c 5qzzFHE E"\3`$]LT2@#v&M2T٩+h 1 _id /ly.WX+80{U.i[1}{dEwo{Ow*1m{=gmF9hЙfb>߬K]/Xl$T%) <|X ]θ{Jd.3J;J1 ti|]Wt0KƵ-vy CGv.S΍\>dwˬn@Tit] `Š6¬{0p!>UX P|hz4¬9ṽ].dc\zaxF:yB{R Qb be2z {.U;>wXU4N}8㱄>v#hwE!oC1 pNLwbw0Piz(G'4w,&CM7jkC>ܽs/opٿpʣ txsl27Lv?ŗZy?,Co/lt/}y0/JNϫ)HxK2e36Rk Yo=.YauM0 m1 REr7?ġVTzUrVx@qbRLN*P}-7,+T7F\I*siNku,w&:P0ZE"'pe4FCaTg˞koG?d >d~zŗ>A3/p{o80ΩF5ݸy O#aZUtV{wi?O Z8J-nFogMϞ)_G/,:o *=\1rDO RI&qTսrk|,= V'v"tPd6 IAcZj4#99eړ$,i,CZ,A{0@ Z!u=uUSHG5R׆lo  *ABChajfC g:gTfo ]7A>T-A$b)-8-ʠo"a>:ь(4ȣQDΖ䱀)c3rujOfx{') IDAT{ [W{Aу}ۼqhk iOEzn${[_ePbWJN&A{E zS5LJRK#/mRDA*mIlAWfEw9=tju]ldfcCRrjGɨDЏttb\4jn uBZ#p4 gOZNv¸V2pFP0*Q5Aͨaf\9F*55)`}OG=:4zᣢG>,u1z)CRP( 4z'f1|$#em&ykU08:F\"z٦# V>YD.]K@?)ʕdZeWc@""#m6f7ݤ )J3M 1 -,$HAfm FCH dlզ˛Jߵ-}&6@i{|v*m09mޠU Qwbid&j,sK1'p[T3:QJWa(+s n=OZ@Uxy$}NPnfX7c0&|Cdd{:i%S/4#iTN! Jd.Oyw U$#1~w*H2Zd#RAHS1SXdfJq`X?r-h{zdd"9r:RSz뵨.*qbH;T;-ܲWy#8vt(x?dl ) l㬐Ba{$Q?]ז8$s- :³V_Fi?CȖyN:'E j\%@R3*79n9RCzc"1֖37Y^5JUAg U f,E5lrdsdؙ ̴Y\7=LʔO,e暐 ѥD;+'p/ nSNgK|e! "`Bx%e@P,yʒKl P.['?kiPkL+q8ԥ37y* )fɌEٺIFf2LDqu!ɳB&IZX*I{2yɉdG9sNf~$f6/:!9[h&3=L~0J_rxfn/Y'H#+ ,/(vpL%whAP,rowlF1H=q չ"g.h; x^oPn|z #9Td!wTlit3>( lv\'f1I1iS(d2l6m1~yEkK ~;<Zy99KӠN;_9ʙ)ENxtu֏<1iNƟM|ϳMWn6Qr Fpp/i~:.u޲I%2j͑Mf+X{&vb(SqN&00rԌo2iZRm&Ďѱn3@U>P7 1$L~a7(ٮUM\a).;^eUIwPGuOh-_5N[cEAHBѸG$רZ(upDedRdܻ#4=K,TW w~UytV..إP7p+W 'WF}7ziňޅ>do l2%k7=vp,K"&8IE83#g2'ᰓ/औX)2ݧJ9 Gez !Lİ TI>{wF'1V13__pDGI_܁p*'`t xBdz:K9+:Ymi!ԩx}\$gz3]v+p#Ar˝ݦ1D ϓ$t%gԦLP_zAU箰Z"Zc ( juQ02FQ"|\<7O=]4.O6:QCL}pyH'يiyT(Eɾu2_K q5K4bٿD4E#\ڸI8yX~os+D?3gF ts/^~=͗&_PUPڣR*Mn3& b#+ACGiRO6rs<˝ !~X%[GuR;^q?("$¼Np&Ur9GR~2WvY^CM%.ՔR\о@y G 2%zf9]/3Jz lQ!_fy\KjF KHi&_5զ)5 : sHNٳb6rXmɤ(a'c iqOv-(p0KɶO14$,`@hctfWI8̪Y%՚".)!8"f M)9ARof-qٻb&nQ3]q{ƒ9iBls'ri'd-,!4c<yքy)[qW2 `3ݵrYB9v/r&;J ,)%5ѣPg瘴oY2l["&u;+(b6XtL1ާ^[Vq="k +(o4O詔+מ؍FlYr+#ZJ iU`EǠ3䀣=g -on̨]{P`#Tڢ? nM>,RiJ0<5 O:%QʕRf9^uhDz1KMT&l19FUM/<8RsjlӜQD=}4gh)h#чӚC+rDxn9c*&T]x ={~Yӥ{R١/l9 /cF2x6sE'4_xp|spx*F35IqrJ< R=&{;M\0[Zh(b1%% ܔ9$n|aZ_as鴡P0>0A6iU="q`A]AO9u(hn!tɳDQAt \<?ʵeZ0/~-%\{b5?b Sig{O0/}C&/~ѧ]°݃w(ӱ)0W9f i đr34kz*N̂'Y[h2p-U%!.Typ#cxnut#jד\\YT4)qX4G0b= qHg\qOwh2֐!Ȕ Ғu?rSt1^c}';Thp[iԦS IӪZqł9T+ĩ* :a8p}ѵTdId:1X$J=TX)Tls]8Qƪb16=TFf;AOJe1P#Y89yb*%J&~1p=q-Gnx|H/m`IҔVg8RT_hЩ`4ܡX:Ɯ.mVqF57wysC;|GWÛl?Hv \^ɯHFؼJ,4n $ewڋE 6~0=(Q"9v>qθ8r<)^K9y a}Z唥Vf#$Ϯ4X4ʒR!Syx uH!9>AF6RgYɪ=eT'`%#IAg&3#IG[H!!h'!O\rx鸒ĦzE4UA"{偪l$eH*)eDf'y[ݱDAIy&slgvnaSvJ&Jmcyr|{`G=m\Udq Jy݀3 ,5+7URsev9?B Hpn*4KI1NC~_wx_?iy2 gW8w}ڇ?%.TÏ (<~IMg_$nRDˇTty,z'z}~t~l8JBrk- ZNrZ$^=J\AFEAlt6+!f2,hyxQa\;W fh!!-&L84ݝv(tbtb"xp@Xdq\A4u'ZKl t A)U]#46$/@% M2PA/"M M- OC$1#9N}ʡf'OOd&;* epIBMQؔxLrx7ėϑ3:=Kڱ5f"X;ݙvUirRI6B)3d8!\IIkLa3 ɝYN}\FIOTHYCy_TX[m 1lh0 J@^,7p]~ nik( Y].At.r{!=+}Je *j[GF4MϣV?srqVp#% nm&BhN'2Bfq؄Z)ltd}W打 I.k/>r]PK߾}܍LkD$(ҸE[p /hcp\GI(ے97I VKD䜜|D|jV495'BGxG1qH%Xh%)/Hz~|eq*ړ@T 82dH05g!A凋A|H 5bY_M IDAT{QЬ/ϕ9W+h_.|=|WRaMRC /q{2+:bgA3sD^up{^ -q-+e^z {`w^|`˭[O[(RtWH]K`StbM">X9Ï!>Ni,QjN{晨IpCo9VPu(Z= Bfa:!YId_Wx#Jnv- C0k6=OT׍T;#aHNdKG͒Eh HT,87MʮH|~2kuQgQ{Dϟ$OfY1qZ,&sk%J(>&yE),/;YfpFBŔ%-YZ_B40|u>=RR/SP`9c{ ϵeM Mf.V)ǂRKP*ukic1ZqH (q+z,/zinv=t SWD\=ߠ4QBiH&1#vnKR3 1fsGx j~k4 _ C-ոtEI&)p j AKhCXJ%'Kw8l ,*.Q"Pr(USe =aF=feXvT#DfY(j ݾF(Y64?=6}3t/S6_zrF+\)Y^s&q}+`ޛgq!).ۊ+Jlb3Ogx^cp:X`EXjX_+e#$ᔸ~! %H#^Q:j6$dt7l8.sTmLͳ1eN+[k$@sD4\1{,(Fa&_R{N_[IiQpp-<|霈Sjk C'lr_.KYEe2vX9 r]Xzu[c>|.ҪI`)/D);dc6łK>peLUaC=INKeblY>w>zm7hxE~84R,qٯgyCi=(bo{@u}5?%b78MV%ZEH]1͚ X>Wp(lm/ΓD!Ҁ-R|BȷG,s t6~HV luٺۣ(sB>ޫ\lrꊽMRlQ6au7)x19_AHV}{N!s&2I# CYE!aL$4)Cb; hbbCfֵ$I\v >"!CW(p 싈blÀ0B@m1ՊG?i+6EpO8=%IZ5p0@i9: rV/v\1sOA8~J[k-$#o $[HIb-WP#|xay S[ICLǺ4"})2 B&qUI bM4EUp988ꍰZP/k*UAH5;8Rc, <#ܔA7Ťj+" ~H8'b@bFTr@9)~űš_BA3PqpL !E3wUC0!X/'&Ďg V̨Cg3Fbp8#iHn4b45gø /3Rbfa%tHGɌ!f\7.ۙ^5%gcauN;:97,VxnJ$>'8.N<8t9MV5Rq" ¡Tqi=~ԗh}Zs<8{|ĕUK1H% jIjQIUvi-;/?/OGOx* eS ,=Ӎܾyp`aB7h6b7Ao tH" )Q_&ì],PZAjasxr%TSQ?:^=sdiWV‚Q.608!(X} +"U&]smgqR @ aNyF/vJyKO "<\*-Ey:3JPUw8e*$gVruqw{?61Ns>BZ.trjEAvn~+W9 w)|y> XCZiRDs<K uο-6":[wxmyO%ǝ Jc2JG$N#m lnT]a}}!W׹wWy?/:/pş24 т`;$2`Vc6W.._p8n>7?#YZ|Y͇ͯi籢ANDc$ %![տLjR*)׏iHIWtah0LbT( a$8"ϲIp5&ALH*Hrt"aR)9v3|9#i<Ę JbmOmD=&<쎥5& k8`g7Ԛ>'@8@SY@95c[=9, 8SȲI;A" fF(EVaGnCV, z=^V3d͔ 3^Z9avɀO.1N/Q6UVt)669!CXIA`uȠd8΋Wk~fbFj'i[=!ɶҟRy!fo<8Gx˜zx;|[,9J8IHƚa$b,pDG; 8\7n?貾>cA? 1nzHZ!=ވͽ{]>n [7#ZϽʯubo|s6E9IF} /耻~̷}&~-`W(ի~|qp!zg]W{<`}R=ӢZZd4}P.!DQ\ijx*/I&- \{ih07 `2pmq&B~Kx2ȰsA:Ajx ʐDݡ` +ԉz|X%! ^Q9 3ECMзlc$:%pL^SXY`Ȥ:>h $Ao\z'DZZSq@+z ?B  b (>'hc@<SgV81a(TMTktPJbQJNY>YEm;G|zi #?qhcd³/0|0@Ͽcb)Ҙw|ȫg,ww}/":o{1qIBMu=n+O/\bYz#6qFAHX^1X_M>U/rQL۷c:="k| ݦ1׸Wwu^/Sa!>ǝwez!vv7֑BQWݠZ(-7y ET(Av{ BZi>BF_( bFÐ`H8"& Gz@zC`@AO G$­ t7gah{aCC K ,6|k8Qd *N5a-4Ṋڽ8(GRtQ$%Q}:24+YTet݃+ P&J@zeQXgS;̑9LqLh!y'aa0\six-1a̱[J4M@噿N]2 [ Y?o}"Z"&Q*H҈15m&QBf93VA:)lo3ӏ0 Σmr 1|pms$aQFeШ%lǷ>`sc5J,4\.^^e>^) W/,\YjT7 J,l&;Y3/;$ Ŵ[9%[6;͏H%,Kʍ?$*pϽGGtDCVg~, *FC5af'Fx*Ɉ8XCѓHh{ GCxD!hHqίHd%J9.PrfO6xp+u/?NX(%j5>+Vԙ%}zbIc1 TgX\&45hrdnI'd6;)>GS677޸'7Uɏ~oyxNp:}>ͺ~~$1n |蕏oytϼțo?,'==5n8[|Cby5 {{(KZibrA)%yw=xa8dAe qJ>Dǻtcl%<8NDP6z2kNR7w^DTynͧ^0ق+[e[a=KZfG7o|UH"ҭlZOUU:GGL_d}JlS@w?&g<4>iRs|3_f-kS_ 'o-4 CҲa>)؞*zY2$ϽEg >p|to8]\;x?"y IDAT—Xw0g3zƻx/?5&ifIz_|-3^~9oXN**~ů{ݻ{ lmm#c^)l@x4 QѹpNKɜ՛bƎrQj8 DxD}ϋeK{unwqy\Zl=P^X2壬4iL+E6h\?:bRhA@Qjsy 9RD@8ڞaӗZs"2q̺0B(8^;x""qyf 磸B]Y_ߦ-Rxr/.%ل sx Us"Bd ԕdwg_~0rlY Kg=H!a54, _yt>5vwNY.Vgg2q̋,Wu NB'fx8o4mMKg 18jm8Gg8/sM1x镂aӆ^U?1^bwutcDi5x";<v{ºikMX7|+sޢiz)ͷ=-6/0 xsPJ1+֔( &wSsUkKl;d'"E]@IQ "ǟmd4!14RBMCz_RAܡnv H:?MԵ*.۠V SAaˡ2)mys8w71g Bti"^DQI "iLO(#*G!V4ITpph-19zH5m nw3Wy Ǐi[6PIN[GW\5p脳OxOi@J@8ʊ_'?w%l;K%^]Ζ-m3[W/k~7 zo?Z:YaN!l(>x x?@JHyt9sV>L&X!:?9|Z>*RP/CLBc\,x,f_Zxg:Pd|6{,IMܹsU(UBu{AQJT $Hiie* ,\SCB><َ$YA`:]SŴ4TEÇ+YGQYRT^JK/'<7vc$L+M]sJ@ L/x$ -1*m߸.ք̞zIJcǷ &{eVdI<*HO,'%NJ$#iSIBg8Tak{xEÓ#EI 5>d٭)pmٛUs(}ÎTՌg׿E{޺֚~ X 8i+j]_|-?xD bJ &+e@+M "Hʱ5b |ɢG$MJB:vJ*P$&Q̧[|W)EAW*Q((1P)oXr5f9:vdF\>I0̘Ϸ켛RZi$ؓ_< #x)u "#TQ{m@UQF0 ;1ZHI"5n,zcq;]%}UeǺ$gf2SVR{o]ngm.%I=^ѫ)*ڞ#+T;T"f6}X_~?q-J}K78%uX7Q g-Wv~>9Z\d %0!}jfgkF/rDNOO;ת+͕=Gl9;3Ɋeg`{[X4=/"(}@+{\A_4#ob+M%'u7+ApٯRQc1HvKɇ%zwwRP/\eR>̹C.xtIGHGpG1eţ5(/'ԠD͒JH>My|Q(&)sx ɑjL2CE6XxSLlmm‡mgP?㢥m,iDD y:reyܺIeH|.`m PDPFB"Ąr6y]:hW}8TReÒ#aD|K 6;_`% -WR˱^%!J(FP)@:URLX6ލH 1,i)YkI(.eænʷh﨑,-)il(,zʧSl$Uao#W Dٛl_ök:FEv&LP ~7_hOٞMػrl,< 6[ySc*QnX!elg݂_㳿;`$C{zP }d%^,J&a$ƁS H]"4DhRZ#TA/yF'ryFȔ@g!W[h3“O(rwU)ni0:bAfT*$A&Ht8w!b79l>8Ց)wc.1PS|4-vuLT5x0ZhIi{Vaej4`kW0Q'XB$'N|[՗q i)x˖}U;5nypx71ן!׷v8qyUw^cm lPO|*{SUK\*XX*q`bYA45"Q]m!@QQX_9<{%H|@:bƶkD(JE!(E"L "!hk'lH4YPҜuٜPJB.PsرHٴdhRU b G@R[r0RD:wlsuz"u)z~Cɤ.KjPc踒( La(˂GʼndN)ɍ&AJ/&Lr/v|l,)2q`GAѝh"*£#rcA;z'htwv'?":wx1Q^(ȁB%k)):f`-CKAAlg)Dއ%XٞVx wO)n˟IR9gg۱m_uTX(0)jȣ(UV2d%il5 8xuL* ׷ۑ?,ٟ)eER|a[l- VH80NV*L7T)B~0 .fퟲKJa#uB*35[LO`ߝeIsLQ dP%}W}k||bkv >[\//j-`guKMd@8Z=Dj}LW:%|tJt-sϵB]M=JE< dp>:EnhڎJ+bJLg3[¿w˽h!>DJok~k@`"\KC| sqB ^GJx0J'瞽O)wͷrVHUy4 1ڭ!dLv`#<q;g$nl1  ad_a_81]?F{-`|3dF{8"S!~*^VLvr\ƌ@"!DB8c O8Y4#舐98zOb04`J^Dz)33BSZXW>O3E@JC)$N{WԫLf6c6}U-R+\f"'h%Nq3|>VNyƢ0A%>Z6ڣS| }ǤҚWtQ À6 ZC(+OQC%mXiUPϵ2b׈ļrL*l<Ѵx Q"t^8MZs}EKX Y׳\,\!t2a>#${dKDt<_Qnc0 ?B]߫8Z,XWqdLz=*9J #Ɗf<-I5){Ǣ{8 %"f .QAF"Q^м8?WiC+s?*-əH Gs;/\#1c"1ddL#g)V:8ph5)*#B:wx #IHÐA)xD7P?I eextvɟg݃Sɂc:|yɜY}O{H.Ҝ|lCZ4!(ٞ#k֫oqCƘ!=CVd,ƢѺz27=BQ&tMK˻kے!G vuBAB#f{^ &P$"J5kEQj!q\q>!xkw~gģ=!'Ҽ&ξ5K?I VCS_~^hbIk;n@5qehf Ϡ%S΃4(e@U(SFkQ2O2 e4&*ݸ*=d'kOdc<:%$06y{\=/OIRbVK/mWWgY4jE(s(pfLd` DԒiR{ k- G2jVl_zv-]bEfѱ8[ $Fd2a{k}^\)g#!k"1DtCp]^y<$]ps[?j?G5=T6ѯH>vnH $EAN3O(G,!RkH1ZaADJIBHRc#ذHG 6$F}A7|_&6DP")t`=O8!&uTI)\wY+`$GGZ?>g3!$bȩn23*X- !̘*")@Q$heA,eCL5{@e*B]tXS/sKIԄ* !#XdXUDo97(R A :.TMk;lEe޳6FPV{ /\>nm]\6aG;EC&0%[ƱW&Zi6Liٚ ~F>:f] e"gvy&u@QvZ jոʎ+J)>xZpwStlݻ ٚ0O),`HH73:x##p"3Gn*L)i>Iy'N"CB\L!`6)BcmHr>D>]"{AF]{^\x"rx>RAU N/yjwƪr+0'}d IDATQ)! !*|e\DzXwfմ(zh-'t{=VX;0z c~@>JJ B!Bu|MrF4 if3|4:Rb>r؂B i =+7rmUrb uE52RD)"O+(B; 1cO:aCkvɣR`&h4.ᰃBF o9;[H^lA_=yޅI)68Y!! I•f>'Et}M8v)Bd|(QJS"T2wxa5bTHKI)"vUDZDɎ"Q)#q"B)I!KsR)K.rf4DӶ)`F+S2a: H@uD%[R4}HSгD# ^"LAIfkI"QG %q R{:zMOR/Cw|5>!.;ѹ.sǃ޺(DBq(M.#FM! |C":BB$GtHtC\ M^h!,|$kf=^o,h{{5q$5#:C Rf)ÌRnx؟ع%~L,."D%<.8‡8}n=o?0Hvuϭ[l sԁVԓ(z(3ۿR'%.)H 0hD$O,*00#2\n]K0$Z,_v,N 1wx׮^;\2τgVzl%z Tu"btG(DsVX.vFq$1'L 2% ̚c-Ai=i(3+$JGyEl!)M #c+!i,{.HKZ`D_ƀH#wݖ925>a]"p!Nf"\"*$(r**7]0hIaE 5 f[Th0F}^r4 aDNZѼ2-)5 x=g@;Չp TF*n-ۢO+s/R12mV݊c*rzFg=H?O<* O5R27ѝ_D0,1@*4R8$B(ΕTð,8:ĕ X3 %f-^¥;flEJ'-X*+B`UŽ`fWIt`>+ $ũ4kb*V1pK$vv=Gw<3{wHRbUtd}xϹ":Bߡe$f^3UؐDCJ94\/|n{x鹗LʡC%PtĻ@=z 6$!ȄX1yt̻>'PW"D 0D2g4q +Q2=Ǖ} f E/0,! ! rLBOpoԈrvWÀlNI=R)T36`H> a\+8'Ë0A3C*YFFK &!~xIUW 4iyUߒD* xȢ$@je/A8 "psw~Ӡ SlU׾~*ڏ;aq2К)rB7Hl=YnV-֚ɂk5(*C: 7#* v+ +zU"]:{D"R;ԓ+t7:~wR{UdŤ(.Z,=^%['e1 0$A$3@| 8 Qc<Ṍj0) ĄC\>&i7.-V+P$㌅9$a0AEjjVh<k&F;Td 9HFP貓7ILX9ҽ5.S>AG0[ף C>R ?<5cnsMET*<'M5 ^GCA*g*7 ڋHӂFy&O=$Ybd0WM(Oū=I0Vьv29zDӐ; ނq쑙Ji$i>iZ:N/a: <5o}qZ.FČDNdag%"O͍-]mqK!l $lIOtX ݋N`Ht\YJs8унcKXn*kSWШАwĹs2=@Hht 6n8Rߨ[ZQ$hE&u !XNxZ_9Ǐ@:H&\ QVu%)mʍK9%S67'Ր˹ḧfE5lQ@4ʱW:dZe)T5;uVW/ƥ h^'| iQ`%C,!$F+br? 6X:2z?ftDR9BQŠbnyK+YU>,%TaElҞ˙Lhw#:}qhD؜#G%rh0Qy+g{@LXf1VQ lcpy(&*<.ABOrzRh?zP*ƍNB@!=j xCC<# 04@h-cp(i1T`F1J"C"`]B2+MĈ9!юLjԔX; JjWv~]T5a>8 c e8KaJ9_X4s a_Yt\2֠91ՠ}QmxˍpPCV%):MPN)pܼ]R88]C+,-)>\NҞ3./b,FN|rۛ=0T|G 8Ѣ=(vSíۗi;,w9t~Q>7i۴4f{{9 a\iEOQ80"|2 D#spjfol;4\q-p ԇ1MbZC :սph8ycEJgcu- !fwuO?6W~VJ{b k>OIrק5Iu#*¸y?eiJ $KfHX B=@¿)&h4ݝa9Uo4JT5x؉r/⯾:TfGw7oEU&x92L&]$i"& wQ@`D y0T}(a^ru| 83FKZh4= eTJG53pS`[}\9w&_RvWMUI8dYS8-0◐(E*?g5.ޅk/a9X]6: E .$“JmcwV &N4Ng9=ڠx/AjN^tx>W>c:su:QQ86fgJK]ELa21O84a; RX:_V;"ۥ%+Yjpal; nuxqiHGn=+̘Gk[LYwLZpy^ʭM w{YޘnE30O՗(,^jʒ*)}"vã4* ӂ$V67.1IN 7k-fVֻc1:VV{A!݀  Ch6VYy`2H hbXpa5/$QQId{->VyiH/@+)}lceDO8Hqi)"@Ȅ2aAUJǗOj(={PئzJZw`u>qMm£*ke`6+%Ti%~ס*@-FB ^'qbGM/U ]o&q[d|-b bx?`E6{aţk^|clQF 30#dd-B*rF9 j%@*Ik.&dBF~/WuZhe+sy!G2IEIv,qdYNtfHOA'%W?VߠRaɓD-^Ԙa|K{|옊woh703/~uNgschnZy >W'OݐLaV`4f0&s"*BTHC&EقvG+lKҩ@G.OG(=z;"EQ[GޠjC"cڏA&7uvS/":?Q.d׏-ytmIm0 H@-P:CuCE ּwpSl"JᔇTRX/@y!HOP`4%e@4P&*et"GFeFVOir:{ivm/]1sa@q"eҜrjWwM|iɐ?F!=ܸx(!3',&|U8IgU y0"UOॐ,^L^#p<+Rv@&+iaEBt6ZMj (b.h2;?='pyPq @[6.ɘ7&qZ7(rKT)T9vSPMI`p[|#uiz1 -;hاŗ.^eOL2԰خS3爪5ȼ.SO:&͹0HYӳKsl#_ ęr}{[0w,8Tq8'6"4H{P8C#jDg Qa•$o(&FC*:Yvnv1 Pu{ ~C" N2.5> ~?#vkjr>";VJyUE{W@; /nlnVY"O'q6=t2"O/D}PyI;;T_w w`|m tYmOP(ط%*Nü7 L0x#S' m[RPcx]$ɘB~RzhO51v(/W) t.i! nM .`o-4& IDATۻ*=h+e:A(K`r {!8)DvJ/ V $CgAߢhρ#U ΖR ,D~{C=e|}y81Цtːk,~*|>= f2l3{ 2"/S@:I8'3,-\j)ڍ?Tc&[fG5v _z䣭c36aX nˑĊQo0mPb? Fev62p I\J V,1Hȍosec/ݸA2Ҩ̶6'br-JJ(aK]sX#|]. VY3~xr c NN,>~ %oo~{/L?./C6,a^*K +%xG+./ 1$ȣ{U!mM,L)nE .C=M>A/y,UT stHSuߑ=~'5 9]K^d?m?K:|'uxJ@a$xJ\ȌOx'tsHKj, *z["xppjR .J d` IeCz2-@J ˋ fxx􃴢s_bmŵ1e{O1F' -p'aa(A֐IFݝzP;T L sYn03fav%Nbz{kXsV Fne $Х:!0^,[1WWD^فdaT-qjt`FdxB .$Kx7*"A<6Q(Ql(MSr. H% e‚q|yJ)/4<`4!$hci;̔"D3^6/_8۸ ld8 YW@1*]XY?;W @~4CLCJusN  tn}cҁ,9!t)% + Kn#X! AY(N*;]wIm{}n^? J?5=&Iih+])pLbAyኩ7&'y/1D0?{q6GDu(rܤ_ xudrZL .E ӌv7n0Nr}34.`qv8AhT$V _HPܳ /<AN˫\3A3"w4HaJ4KX$/aQ؂:/=%+5& Z vviDXc 33du/C#ҽ=zsqZLSh e%Vd-Vjs=Nwx~~o$7$I^Cxԫ ߼ͣkIIIgzҝXڻqVEGC|}/~q 2&L0V JjT`rSJi#iUJdhNq'8GSה򀞝0{YzC JGe-A6J߀'!@8C8dTXA f,;: ߄| O iרˉIͲ[Cj'6߻SKUww{u匛SL FTjsBD+`":Q:ød/'A2;`TXaӬc4x.a@O"@(ҥpTNr!xy<)) Rcp!=Rd,ED\'_p)8g~gKK:̩xn i 6Uԑem_bp<ʼnO%VWIRӒA#'-J~9Ɉ µ=F1vߢ]kP #t2a)2 AD!akT*-+sa4%)vxsG+OS'y:7V'T+^~骓&a䱵sأ_>Et8#<)\z`N̹8c:AV,HA T('!KN@g8sdbQ$ihA/0ˑ!YU4t[l Q132h8I9<3w6ȓhad5/~ݢ'|_ѐ B/M>0\_ZF`" 'ܹVSczV lǗ_U>9Au۫6BWy/Og~{DU'3t˜\\  PB$Ya&I'dYV.j +ˋba 8 KK+X]Ƶ:[F=Vdl x tZ&Is۟,pJ)i 븽nHtDSxu+`L ?8~]J;x{qMUݝˏ _1yRv(y7Ǜ&;G)V]NG "h&m>*p#Zmt"a+*+G;ϜЌw (pEFcN0Pկc Ivz;D5?C m#g~~|[pZo'92M>(`z=f|Y^z Rxh{d~RVIBY*QPH2?ע7HؼAďrPR }F&'$qDas~p-)\ [<yGᅦӭ&/_FMj"$ 㗞yW+97{81bKoԩ1xk=jqnMe7x| gV8s4;L8#|e!@zdip8^!nK$J#<>"Bks{Ao|Ru`&j/2S>'ľQ-uɂrQewSfbBj; 033CH)RY(n7w8Zhw)hPҕ6'ݤJgݻ.*BA 6(!WEp@>N GNc%8W 4GTFclKw :yNBe^~_;s?SV^"In}!MHGX]<AHoo0cCi-qm 9~䃬o[gebw:C)JxPY9Eҩ1h \iiUF|2B(VHҔW^ĩ:W9ء +}"5 z 5?[lÇ$A_*?/Vn840>*ϐ &788['xN?ᾅ%C uy.W3(3a-Ɉg?v?Gܚ -[ݚGX'>{ۛU5~S?3vEm(RɈMo价bƲǟ7_C>y9‘{O3بst'iO u^~:YnY_D\?o*[|_VadFGdGC` %I=y~o"233?Σ>‘#G_X <nݺy9w܏=<(O8莬BIRB[aM<)!×?QIOEg6w7xW'ۘވӾ~'r";v4qm{j M nng0!B!석u8GI+4VɵfGBb'[8a1ORxw V{{\E/]#tg3x ]`|w~w8zh|%Χo^&|gye]\\>s=o'ޓ'!w,c`8am#RV#qDhmEi*A[4[0{I!BcHMn/ j<5;?9-w}/$R%]I*qC%rŻ>xW/cEa9IoucRkh`J7ZW,:2%UPсE6m$f q:)5O lvTNWd)`L-Ԁ?k0svB©qY5>/?WRq9Iz2Édc8Fd YTEz>zf5OFCa!j\p(n GXڪ{k̭j-WqAH>aVvY[Ĥ?V99L+r<,!T?}m&TּGm SO np)|̧~ܻ=czx?p_cwo7ř`c'uG|gY‰c1k?ڥw*v*!y|:y7pQ$y(~I5c/ OO{<o~> !vq=;@qN6S?k1SXu9E^"P,#/2<+<9XT)s\.{QfRcUhwpNAfm9Wzp,GY$/ "j0m˔" &\^uT:Mp\3<}"^g;!:]'K?S>~ù}Il _9?޾SO>Jl~K?*y]?șޘ?ƵK0S[`d׿1뛚_Y/>&Q xQ;Cޤ1?Ws: _Leqv$ǥсw֚ťE~7~[>,--Qwg{!]v}|{W_ CR/ۿX](H@M1HWoUA^*ye]X-p./Ls8$h9*N"ZvYNq&c4$q 7W ,vvTY*Қ  >!A!~A@ERzr̽ieY{߳}=MRIb˲$ a` t ggcaiƆ dVi)Tzw>s۶茸^{s'PI".o}kxwolP tq vq<5T^&'tF +M"L=F CBe>FZ pd[0Y=,98~OX%ܕ .!,*7.Sml^T t"_G{{GX9 m ؤt.'cl]AaQ'l7p."(N|--)fo1nO%%on:Gvfnl#4KY,o\nUyevve xm*3\nh8{{מ$?⯟{#3ДbfkYW y=Nl{rD/QLs`UD yU?DlKvv|>O̱gC2."w6Vag΁)66&Yc|%|t-3a;N~~5O'4<{ ?|/Ocqۛ !X]]T*S(طwKPSG%]mFB;"DJuQJ D* PQЍđ&eJwA&dG=uB\}HÐL52FH%~GF ׇGp)Vu rF)1"i0biT\*45qYAz,JkaڄaA%a% a$d H"sXjvV@yubE V[ -f&5 F5)C$G'A+a9g6yd^}s 3cvϣV ෮!B'(Ex>5컏Dg5:t:N[*"tf[Jh:@61R>\[4_:LeA;3^XXdg4bN/cXt.%ivLMŎ2lV_mNp;  >8tB~̇yϱ=<41McBx9rvp'Zsy~ϟ[y`?-C1;wc%~O>k|'xUZ\gQ kRpc'!箬n}n /c 0 #ҳnvMFoDJ0|2Ѥ`mm qT*JIkI!Fzmh12J t"Ӆ(l459H0"EmVORY˼u\(LCTs:Y֦(HU"$0(R7\D@: >!RhHM R q>)1 ENpjt6h NAGyS`C-{juU(B֜Bꊎ, *9ԓc|/ 묮S$N/Ynuu0 _Ų~f6C4 J$o 9HXAD(uUcN]\ïw|KHK )#RB2>ZaV!ulc$wrh_ 9{?'2Ȑ$aCq y;?A!ķ0յxXކc~MZzRovC= . |'~t耎ߛi90t.y.>AtL] XZL8:[& NgL"ΒVM"( !E0Xi]"GC+dgs`8RO`SlLa#8>6/-Bu.xԊYjq(eCqt'p5NqAdF͐O\ *2Q*~U/d"gPDf3^L5f*+ ;,Hمm-]cZ+oڥch.uǾ)[[Ԧg1E~l(ts0U>t?K[\z3`,Y~XƇ380ҍX*S BqѦS'b Jp6mn %66qda&l>%Yee}[UcDQ,,,Pat;t#ce$viJS6T@' ,MC, ۲=Ѝ$2S.[&^ 米L4bE6_RK\ _t5"XX.BN# kZReb&3;-9N]4-D钙];]pܳu"TjSt wB@X!ETB-B+'[Tڳ##Ѝ&VF2V* K\=s]:k\/b4<*n+3t2ĭK! D]}({| * c1JeM<Le4ʕ1;H~D.!/s)F#wCwbzF8zPj Qwo]о on94CXݤ0 q=MhQ49Uڹyl)Nf>| H4]L]70M0EQ#yMV*]6,-ܾwb<EDEe&KsD KQLnb![WIDF95:(Ra\mB8-ή.*d|>CXC12$QhS,H,Ca!"ͥg)WN0K7!ktkk;D&1]S|y݃ih{qj ~c,ftZڗYm6cLVw1mKOZ2117Nwk{"ō lw7yYt_;:?N`wsؼXF87]6-x߻V@ynĒSAA #ѽCmXT9=io9KڤALec' _fAriz_Y6|&ɷ~-V705L# $N_(!uZ:Q'4h0 /t;q.J}AgsH_K`/;B}彏>zp <=s'Yf1,#l{DHiv h.|$q@GVB>HI{rUN}k8!VV}!_(fc|E~1 ;,a#i "wPa9U&ʳ\tO>EP|+;[׈5Ʃw^Y9Oqڭ#ԃ''Ү7vs𕧟eaD evf,w-WǍE>kLEmh] { U~HtULP~7n,:8yxߋ0*ϝ9ӯ2VcG9q\XdsAtlhJ9NB} i>f5apZm8@R%cnrv=IN8hWFlA{UdܠJ,(g]EQLvOgH=¶a6scy"/,.^`Q(;h/'Xm^euf:xsku5h.\&ո2m}ay\ap\iwh90&?P$/`JߝZg/o\3.ar\:Q vT)$HS;.]h&n||MA7> ӆ]M%ERm"c(KdRxTDD!0-8%lF7Ȝ:Lh@(%W08S;A'"ozq2U "59BQ"K)V|l'Q1o$븝=QK(kt˯bW9yJ(ФF'2<]&ͽ~K9PR:NkW2s&a*c{ *W ޢ'+Cd>8}!vaskSVk^cXHpz@wy|CՀ.Ч %S|MgZ;%b+)N>٧i:alX Im@} "|O|}Yln`w}*Ͽv{r}e%"[>g_0u IDAT4!Mֶ|UܶG" )V Oaj|*NA:u Q+ؓbZ&3s-JR}8R4͛0jR:iH0b C1 #Q\ f4b ,EL.j4}bg2iq.-e1LNN^j}i&WL2V Lw\"cGDSR qZf͊M>-\_RJ0FBx8K..= JǩcK-A ].4T;in,[;[dVW*#~@&-A0{% nM*aX$"}XdLB3DQX].# + mQ0#FXQ7LMq0Xل&՗s/ )}~&m2 *[AhW8w<ܓDlvZ*8D3̉5IVfY\Z#ckt- :Y8$n L/)%a"4 d,La9H3۶хX|S~&w >Ĩb/GSR2eZLB;7-;1W[4! X)FnZ@Rl?KHmt,q+G~ *)7e}:]er?4N7Jƪ^`B8r׮3oɕl.X4֗zfcbq4e*]%BO FfvYZí31azpAdf mS)dsȕwf4walBbFK2\^ӥvx:U>`3,:%OQҹz}cp⯞zf 8 Ï<~0M̢2C܆FsAbr3ob4:n70]WĔ*Sa鄬{>W.-ŖjD)* #8<d&rĚO<~1 W5uܮFF+0?W_z?Øҡnh<}+ll?7K"Zstbs!qf3Tm}8u/5YXU,E b!bJ<=$|ni]6!%*i'?M\ r=B'3iN$kHEY˶M!>xòjl~-L9n%:m%V!0t<55 f*R^jmxrM^nۜBSh iTÅH v`o44 1d7@$,[ ja`]%F6鑌N@Y)HRӹ76T*H_uVQ,)M`Uf%Wqq+=_ڇnL s(ْxWfЋjq%ML-#"ӊѭ:'؜" ɢ$Ofrvݩ$,)Y^ORQ*H.y/XZCӸG~i%'Գvx DeVd{8wehŃDbBu o_f^JLe "y5y #V]:DN)^䳲|= JJ*sLB7PH<̌zυj.G!;O.ѥG+zL3g"Ο+א* %nXUcyמ_\nre{ab>)9vHm•n@7hB]Dx>PR& JcqngB0,2V c0_ # b~f;fo\JT̚yp( ci<u%@GP[D U* ]˅ujmZF6s۷) :Rɚ#wnc. Є i`z[PrgN11lp Tꄣ^@E:P $翯:T *-Pҽpk0-4zHad" }~yCo,߸CwCPds}&-N|'_?crmT :,+Fw{'O_VtB۽..p}S MXIMcZF]b2LaR7@ @&RHb32Y&fw߇9ܓ|~oJ|O 7ǫJ 4ڭ.Gwy!j7_g ʛ_%llqxn^ PNrmIYiJ}UOؼDeb1ds/PЄō+7R8NK"E,e)QʈPdt 1q;†1My6z.fv=\lPc}M'?}ZM₂*|,Inb ? 1:NLy\JaD\EHICVR+TU 4-p!44KOa= t Cj?NB#6)}f+UV: $c[4;u=\!Q( ,Q~ZtY~n#Gu7n035._\0DQD6uD6f077zInbbW(@Ղ1 f,#n=YhrûSEk`ڧ M]Kn*=GOuKW2IXy7.؏0hԷnjM2uu(6!p:ڭFi |#  ffnrt_?drv7qaZ6NO>gcl{7tdj:lllRЄI'2Q+{jhzR$pu]0q|LCP,T0h8lH{v0!$Cˢ'Ǧ$RӉz~P*C4G R\_({)r=\j%bqē#q#hZXL6ԵdIFGsj44kw0 m9N?iQRVi5\r ]78xR !vL"A/,zW׉B*xgQJ1;;$a0; 4ŭtB&C$rysm`0OglvǢ ~/F0tUimJt )V-Ak4MO,F8q]oipUPqI~>ce0L=[~>tu4X'iܯgW/z_}K>4ݠ)8{DB ˯/mrz_e8g8K\afzv7蘢g r‡?~ |+_go4z._yoX]YgGlln3R)y?㸔+)TŲd^:׮]Iqy~_xŅ+-ŏ!M0y.O>$= f{$щw~rWx:,\Ŀ?,/? sگ2{OQO~?$~Ԣ(bqqW4mf_xׯ%vUb0dԓ@Arܛ\|kz'165NM69r(ǎݙdhiԛ2L94MI.I&#$>(,bl|0 JU wR1Mc;08Ȥ9Nu\<O;R#*dG{7154!Hnh}k{1Jt_86֡[UsazzwWY{ _WyKAE7n~`]ܸzw=!>v}%#N/O)J߬NV} *Kx3<9tcMK`^3H%QꦕO*_78uss4t:oB;#djz_yW_Eyi^c(;8NiO^x''>A>?)M~w={wO_v ƣ}Goŧ?}=K\rhݾkܸqtI -[]W._aqiyNύ%Nq96t#Hb u]<666Y c&sP7ZXbY&'& RW"b #Y>[-,"azaeeFN- wN)NPS3s,vf42b]r#t X[]6@Շ~ֆ̵_n"Ø}oHWp3/rH:Odm6Q"ݴN\{EN蓣o>(=q6@&:>?g<س9߽uzY4Ҍ@!aO2MIT8Ux'v+F$!@hF3ez~9}gwz$R$xZ]}{~<|NdaEZ&LZ>[&, Y_~EOOxp>}trm6wXsXI+\buu3 14-іB*~W~c G͛|gΒQR}S&_Ef}}K4r^Gqm4?C)MҥKK4[*Q,Hs5!!|}sy?'?G (n 4 /# sy'?f^Z8֘R_{m67p .r4RIwBJwN4_ B*gI}0}yǏ@+]dbի+ /nwJ(brr.Qˬ@/?jZ%)biQT,(E58eZ]]ad 38TNUԗbʨ16Xgr߅RܘdW,,x?kӌ^oG|v]85+(Qrc0bw~$8~_g&k<ċWm#^pt/e^yc?Y@%--<s+0I4-^2[}f+FTN,ϙ_Hcx̧S@xqx,+ Ql/:nV] = bh[c~>A87K)DuK)*"#1:.\;.z) ZF82J)f~lStڒ3> ۝n4MzUO>|Ghw:255I..TD RFC Lfz a YLEl\"+u(J,' IDATiaGabZq‰=<-bXkN"csKr~VPVM($IlHZ!Eo?e4qDz!h4;I,K5rν|1[L&LLcAG8`3L|(xGrltLdVdYƵ/}s2;R2DkK1pyz\2=;ñSp #@i RpaͪR9?Bgo=G}Z,/a&&&8v,Nnj 8pqIDYh0u'6B sO r)R":Q D ut_)i^X>nC31ά#xT8U&g2ȝBR m`tFJ]fG{bKC=q̾C0h9~Uuhe!8R+Nx}'!Q%:>4'>N5I,޿CjsgH풓9J:/K8;MMuVunbյUƩ--u[17]n#"Ǟ#Ԍ|WRȲ< I2X}p쓘Z_޵}QmuxʎQU ERp)NZll3??ϑ#+K"(]=q;&&z\z"W^ennSO3;;G@!}H`kkv*[ȏ33́=Zi-dY^ALXI/(HmmPfXJyN=Gq="PTEh^u% 9$4wxuU- HkOg?>P5 D?VqV8 <#NOᱷg;>rv"LfNqS~)tTg$ڥ>ez@鉷DxG*EojsO< vG|^oc BB+lm0g՛h Fͫ9x[8vTܔ*EO~m"e?L++ðLQĩso# ?Lwo\F>7MLknq2p !KKt]zwe9/ #$iġk41&wNzH~ۇOjƬ.-|w-woH8GXCg4[mYN#n1{Α$ W;ps?Ĥ=bJ:1=Gw,MQ,I9Ab<M20Fo-;]S!v::|;?fbbD F!B%i83^+"XYGY\ؙC*JcZy\lo0ZS td7'ͅKW_ZǑgLnhu_9w 2&>x5YE~#^̇};]͛7Y]]eyy#"zI>o!?8)MFo!%#&ȂGVa-NST(hZ_E(S\D[Q\ * 9pA.8EfEyЈߺ=Bآ@] W lϰpGO rc-t-ޯsrWֿm?B.DVg4%71SvȟJT - Ő \V tQRaTlomo./Doz.h\/"*1W/]+x뾉S ] "i7S8H|m$qQЬ#:"h\(Nt'qU6֖G~8B_<8I4܍h8:&Y:W^"9p<"i9[d<ƕBm<&˂,Q:VILhDhQ ␓,Kj֡h D+P~-*"+GHҞ"БDG8đBGU&ޥ%~.b K^%,B6mnHx$n]^Ԭ1=KQz=/p/eiujVhh{ZHl$?Ggx&Rk~8@Uv`껵",Gqe-~,UU}މ c}fT+ lCg޺OH"N9|2o#gH$N*6!vH(X _ȉ|{O>hCT;IE#nűyd)Z:VHd8bY䋦Z(N/[җkLNMDk ), *&r9.DƲx6FCb߾+w¾Iڸi Q*X[Z`fkmt4p֠t:L;pLT>|bk}Npi&gy;4m?<XÇ҆ 8]yO{%^Ydt?L4vn$~il%D2XT9r P`E>W5+/HOsEH*ܚ*Wi ٰXkʬbp󴫹F}1Vc\d1zȀR4HWMI> DF \†Sхb9Rd<;Ccf;-n\}FK$íMrF|@x\ QpgU&"f K:v/ P5t>Ků:En^ikJVZ5-#B?-b4MMwviq.V9$:,:h#gΓ$M.rNp]9t@ዛxJJC<VH'*KyΕW.0}&OQ:̟!*%D' L MJvMe-B'lq6:$a<L̢#e(ͰF=mO~o~Gy]NOM!gK$%6Zjrq%<v:&!iwy&g% ӳ</|\{yVYtc&Qﵢl`4N7WZ_F:be;;;~JF ؿ k|kl91fggtWif@{ R%aνnI R-XYdޙV[Q !u;{Ol)d^̵{]{::V`Cn,Qg vˇ )^PQN;ZTAV<σ(>ڍ RpTv!.qYË8$Rf( J5?-I6k++Omkeyiwd(! מlRkP$7IND)^~Kyɭ ƣ!na&/|=H"׿[y/?$GN"NH[&&7cAH >{g~kw83a+ ;tLNrS|>Ջ#]!,%N<'#Ou E k'cVҙ!&gqe'XaH 1Z \{эYѠwOpX:Rv"w_S&I VB:H9~wo\eߑ>6$&.?FJ)%"w89G~9^sl]RE1QܤݛdV78nN^CH<a`'`ld1pXh$wUp3.e\JeEMRvUbL[4.@Y. ݧP)N/N6Ԡ4Ƙ'q>'r[FYf/ϭZ)>ӿf oLR59&f tf-~h1o0,[le4r N>G6>ԣs˼[>LPp]iJ/ + 9*~dS;q\`8Ce(kKܻ}}sp <,ٕY8s)N9Nj~ۯʁG5HgMD8%0FqU8gG4M"))H#L>d4ءӝ R9fH#ir٢j"Ln\{|G4YY_Y:677hLNq5-ڭ靖~5ka-)WoXavDNA4-<.G!yP) rcJKZUp«g: WB ]w;Lj.Q(!<096X{jui_xEP,HMQxv-rޏ,cN g$[k$L@֢˲emKW~8z9v$Ȼ8?)DZ!!R8bsm#IFcz)ffzy6h1y_2ƒ[GlI)^E̚ nYrv41UY 'XSG.?u쭃rUR@]{My7{r!PB cL6Ĺʲ4🊀uo+$8sr'O?  [>WۀdY0<s_5D*Bqrɷ{`瓿1ܸLIܺ~엱ovg4aHay7𻘚 $^Bx:(MW^ԣOt)"RLX^`g{Wv%b{c4R8:?RO>1XjhThR)RXc^)%`cm%F"nH-A$-&'z;p$Ydkט}`h"2"h7#zMA3$ڐȜX(R5ȺQ8s]M M<rQQXh?i(EH R!d5(sRԔ"{NԎ1vCA{a}8OMV3Cll_2f7I=l\Rn:_`gۿ{e-'Q;70ﰹrl #@X2ˋ ;,Y8ٽ5 ю^n5>'>__? }?O=S.Ud!˪amtΤ N=XՏ3[kQ1Z`c^wo]Бao3s1 8a ݂.a}uv2Q#gjs汧Yb1lmXpr4Ϲ^2F}PZ M#k,/ܡhx~y:A%$qBӡ\F" &: M7;t6q+-! iSM./]S(0#1EXertrE8TaP8()k>?;)5JH_WYA|MVB-K!6W}pE8zӯ;˳$woR+^䋟[G wW FHC ei~|FZMfވʇ zw~Ӈhhv:ۑoZ315G~=V=p(`Uv5Y:.]zw6˅pI͈O}wDP (*(Ȓɧ`:&6Taa Z.^/|G3IOLJ='Up.ڌgQi1 BmIoqaS|?@7I +8!w~o1cyr"a_Hἡ4M3_ʏ5֕$QpC'{J*R y:"Iw@B#5(Ƙ-,G%ɞY6!1.'4db- "r*RtS_`,@vM %' وH{'*BqQ>Η ) fTݔE}Gp#ezO(*"(U6/o!>ǕD)KWaqV}ܮ}:?ՏW+?[7?399E,//Н'~oWpN)ɳ-RF5z^p^m"Ep*MBb˛+ \YPq7H*^q?8O[gb\H?Y?G Zir 4inJkFҖ&ZȫCd 2p޸:KH.#!pAtB V*tn"RpY$B p:N얿{BTZPDIBk\ɛVY(`Z#]s8B<ؐ:e<^|`'x݉g?)]yI}?("OSVX]^dyiMΜ{Gw^C_-{ h=L>FK]HpasD.Vѹ Y~R)!\o]KK2!C)`@wNm%~BCߡ )1 $Ry1܊`(:]4¡#,ӆk $ANBD(J]&/" t䐛'}S3$qDn$[8U" 8k‡D˩KW![!0NS0  eWP-eUXBXBZ `]QU5']Qr:BQ+M>s"--vLLNmX×шwXZ"m:O=u|7;qx:"vipDq4t֟ƀ.5?i \} \Ί d4-Y+–O#)-J ?F*Jt*SsHE1#V Ч&gQuA9`xP=R2"5rΛ;8g&:3)DMj1",ŊFҠ4BϺ596ψDhuQHQ>g 7I1,%"Ґ!hT&]/ fc偦8 |N)d[Y7TO3*ͯD&="]f֌~ kXoHxDLcff<ϙwycjfXp(=u!P$7%THDik ^GAEBA[hx0E8 Y㬖c[m\NjL.YuUQņkZ Ь"z]7 Gijʼn9E0!eIQRAD@R \\u$X_t}V,Slg0NcTƬ> U]|t.,j YsZ 39Bh),JJ(Ň$2(!~t_@0",J'hcf`RTxmoH 773V")ܟGcO0ՕE@Hk|Zo3om1:sO<-ѠϽs⋬.-pK<Ӭ6MZ[l^},i[שׂ/ őBqU s(U|'eEƕ:SF<R(p;VG4:>=,ncm&HDASVߒTHb8S6]GQD%a̱2gng,J8O&S׉岳XLؔ>26PY@ky#I Fx<Ƶ+l$ I8.'uL "K360 IՂ元8|b4˸Dk4< QRqQZvp:UFD@$y2MLL$I4Q䭵Lt w6IbM9C,e4x~1^>3XGhiHH=$^Hb(|&&J)&PI "-ANqrIpLu$:R;mLQa!PBj4=[Yݕ*r!&L䊖ܽV!:WTaǯ h(eĮ,]foU*ÅQ35=Mբ2==C|zLLL4r_+8j6 xpn]h8bg{}܆B-qľlh \&3Ơ"9|( őr!cX&r9OJ3154YghaY|'!UKqyiwSgÕ/smz^h\XHVnLZkXGcvnBE DQ֪<`Jl68v$fC EFȡ71I!"2١ahiw^,?$S YYZ?O&1sLLY(B$*GJ?{YIoBއzrgT !Kk{Wp[g:B1vŚUrQUjrjי0A\_CU`jEj I FB'!W}Yd_1N6*vJV55 ^plm3;3WlRn(ڇ 5 Uqn&"1JWt4i4fy y|nё*[ؠuςK ȱB09='u:[t:ݪ˕u$=KgUl4Sӡ'%AG53ǣ2yftu;+oV5'r(b<ꣵ))VWdvnfU51FQ䃶h< ?XWn8&'Y\W>8MJGLOM VaB ύT xD5xyXɵDi"t4NĉVH;4'- ud=N'69
Ą_WE dM58 +\fqc_t-dE|Q 'Qj jWB5$PJ{sZJ">a;/wpvIΕn6C9Z"0k[c@ QT@XPE=Iպp#e >ubJ)(J"Q6]9F0k i1QЦcHzp43݅JL):$M%]q\-G(hl'`D0=7|2,+HKj͙('o1 i2 /P&Mo)Df'OdudMx0o U s@%ƺ20U}kh,Yb*Έ]am|]u pq!O;^Wu V<&›I'CUӈှqq&ȨfW?~.3gpE5jT H&~hy:GHKàR}˗/`9 Gg\#]`ů~_-\=cMm.Q)˄w.0 F)m#")?7 8C[mր\. t(ڔ Q Q2TA {@b$#d )azlצTF') 2T<ߢhdD x0ȺZSMs!܈$1a/jݥTnbP)K1XS |.)NPJ;}E q{pp:8x$SI OJ /'Կ$UNT lT#GLYKlrE*@* QHKP=` [~T Rav2'W(4̾4# b&V@|4 8EEiܿ$t/8 '}3|9fĦDu͝ #&kJ.R{ޙ(dY)pss@ן~ƧO NV:nU]ONSt§ߴk{83`"' DC>KMɂ&RO~o\0SSgHHT.:7w8Ͽ)`}{*(kLjD?kz877wx '\.gk%SD쒺݀~OuKɚO*,2fE!bp=u !Z^"djAĄׁMMȾlXН|q.sx6,2 "Ri 'dqlor2~7&&%~8VJ?HLJ_>ƭyTl1Č.j D:Z't1b .޿lysRQ&fF#ܲ}_뒑Àۻ'UoF}iQz?iJ/FT7>0U01+.&4m>ɔuqmH#}4ibPi-t5b (Bpa?j`z Ҙ %M-f 'ݽ|H_nn~rI&nwB<,&4]MsY;L1À̄?`/X bzvZog0܋4CCЫii tقm<"C 1NYl5R1i9E9/:dA,|O,HMdʏӸATb( h`X=NI*sj4:UBtr$6:N"NQ ɦ .1& t}ٞI]0jFaMY'P>$]bS*э" itޢLMy$immGtmIDQwT"'N'<\S 0F YʶGٚ1&HOS%+H4*;;ETr%A%+窮<)1<-#xj~intXh^G06rJKk) V)kKSJZw!x~ۂEQ'9G Dh R4_ʥ5 YLD.Iwb1r*RȲЫJ*2dOdBPZxx|hj-=Cp`!, RU*H2fNfUHBBegFQzuo AL: D Vn餣IHVGY;E#i$IiJiՇJ+~; \_l78H&izk ٌmS;jk/< *Kh8cdvIeЭC!(4d𢚃U(P-.NΌ'2 +Y M$ ʗMLAZ7yu&pСCM`;?ԤRPyT@#ezeɫCh (#J6\UeRRZJ!`ͲJ#C̣f3k.O-FS=Kkq(fϮ%2`O9,4wAS;'*/dYC c ,UZ(>e!5)07[d)<C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ{.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME IDATHUKKkW#ۊʭ#!:PAA"PJ;upN:@\(\[JmX[j)Z 1BR8v';bQk'tgoo}km{F5Ƙo~J4巜Ͽ899ѧD=!"۞Dd262|h\.W7Y88H&ciqtt$Php ukBmuuؘyTUqmmn/ }&B +9iauz<+TUt^Ӵׇf\.)"<~CXZZnoo/$PD|>Oay<4榪zPRdƧTyM[[[F"V, !8888x~ڦi~1Ƃ RA!O`4M} t:m @yee{,.r_#j2 ;|LDzJRQUUW%; +~٭ dj_Bs"B.Ӄ`ZvΛוRohh|ND ?dh4J ujaa8fP ڝq, mR)[ m׳ɲ-Y]?^ŞkpΝT*ۑֵ^d~nnn溮a]Q+pն R???81ltt4dm>Sd<;;$Fs˲NH=*-YHMZu)[+ qnN3IENDB` / aFFNxNPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xty **RG(x@PNG  IHDRw=bKGD pHYs  tIME 'wLIDATHǽKh\e߽߼'EhccQBDD Th|l4]I|4RD;E)B uJ0"$L43y;3ozs~?.偶D~S%dns|qfS~4}w}g[-^[)9֩ό? .XF 8U0@ъjUx?"54a(W)E)1LNR.`PB&M0籮b o-[8a:oCH Jy/ޏuܒBѱJt+vvA~K9 @k%2t7q:(I9IYʎa [bPExˇׂKgj<(;ch V&&/'@^?Ƕϐ.\M%2 @c qRɕ|V Y+ɹɹrX֜Z `drPJv=?\+JdNpi<]?5B$}tCIENDB`~%J:ibJ(R"ߏǭ/0KmT’.^Zb B` icJ@`;{!X[AN?尮0Ʋ?8JlN]Q\.lPӲ;K#Zu5q!P| _Jcc#X0VxtM>LER !-ac| o|GɍR[ l @Ӭ UQU6/rj86x\?zΛG6ќNq9.>n;%QA3鄂O$X,JjNᶦ2@˩@}#j*3Ї5!~կ} g=>\P(@1@kx=tMKW(͜_"c4|_ٵ>ݽ=/IqQ| `h =#dӕCf3i(UXz7/W>B**| Xr,D G"dC~ Hߚ162L._ L aRR\p,S}1@X"Q(XqѱNM|/p!2Ka -,aa AQs-ȪYD撻ѱu JǾgּ{7Μ1 ./{J!jjBX"uY|2RI۲_ouzii];WxMc|tpK- ֆ%nm<1:6jNHO411띝;~:_|GOʒKihlի8)-0arCǎ MkEQnޛ /_v۷d{{D2td[Jcc\2TKK)FfD(6 ܱ`ZdQ}}}iL&iyMlxroBKRӛ.\M^ɖr3Xr[ULW8,ZV_ovIENDB` ZZI xPNG  IHDRw=bKGD pHYs  tIME &+HZxPNG  IHDRw=IDATHklٛ]&@H )R.UDP#zKT %R j4 IF\ZR¥u b\`].;3;gfNٺKIgEJr (@8 8u[V 044ȍl)%ukk#>`C~@? 3[!NH$6l[ꋛ +ik#EAhhh`hh .ŽNfΚ!PWB{ﺛ*gz.ǫ~C --OQ/h455|v:&)n|z3P0(+VSq{4䉓xUv[x<'}Iq/Ⴧ6/9C1T QEI7chj^MU108LSSaqfQ*W?+.8~8x|  [w`:Vi´,H)Q,+Z:te$MxoxWzPŋ)A(k ÿV+KoKa:;;YLss."a-B1J)b:bk0M ۇP~t!wrZ;'R4chm@2@ PJaZ&\7wў={^~^{.RJ$@J@{{&E {7R^pv{_Dw.UV#ASs kxxc.|7GPk[HI-[|H$nbp##BۋP155L ,Da ,8iju]CB,B<ibL R9HXؿVL۶h7rcWR<999}Ӎ7y'$q7㚮隢( TR yAh4\.?*cIENDB`xoB R@~R1MfxaPNG  IHDRw=eIDATHI3ozCBwLBD!BAğ@쐐. A8@hw-߭Λ"ye0R5W??xۣ#qr7#.L`xPNG  IHDRw=IDATHoEں8v,O؇HE D(8q@\>Kx sb``p  $'L0RAN ɼr8 <"Aa {+mF6cESB%%y% E%) % |@E.!}n26f*Qtw:)Y޾ ) Q34Jlx^PNG  IHDRw=hIDATHYlTU眻;]fDvFlQ(/_Ԁ&Dc1%. &q&*4H`ki;[9>(BQ_R }ǟxw,IT^| AZ brVg6MMrE׸\" EQFٔ9HQض}{q WW,xȿ>7lX@B)\B )!iuKP =၁WEؾSExMEEGB" C%KfB3t  B*SgX!)%9>DDKAbl1Nb{`zʫwd3],'y0ǎ,ZZ29y}=uwsٝ/ONw0Й+b۷`(*u1`k]ǥ[lmɓSݨr˫ 8H\fiyWN{=ċ/癜bo_;R A@+8}4.׏rF3A@?4 333͛\>5 !CF#i]{@AE֊BᡙIkQiy9 9@CAp6mh"ҌJ -(%"|@p!4@kkާwE$^VkRKBb@Pp1J2*AkڻEQDhCEmqudcPcpEDƴ7]2C)"޵ӻol00$hPExVJkxՃ]ٵK\sZҥBBHdS?r.Clm5`{݅}|DžT? \H_ߞ)ӏBHZKG93Bl6|h._n>i)IEX 8&.pQR ZkN:67k޹0Vc Ru6VrlX__ZwfkOT*:I7WVV~v\cB2Zc!bL?+ZֳU>8c."1f %~>lNIENDB` BPa9{6z7vz'i\|ѻsmgWWW\xNB.FΙRf{zGױ2/~w||d$$#$UN""_#~[?RJVwϏ38 ͐)Y(IP ;{5j|?<Dfy?I@K''!r#0;v}wĩqлѤҚ!ޱB@ 2YtR檄$j(wޙ̾6R"AV`TeFJHֆNYfFyn`ޝw !R"{0FmJm dJG;V P3(K&$UfPUHN^z_2wڸfFiJJ4]jJډd c$QuPfCoΐ3!Z In3s_;jt8"{=PmHI6UЮnBB,ͺ݄D'D HJH)/6=0Xu!/E3Rq@Uyސ(Cr렃ҠB:֝C~ <sN2aJJ ɂ "[j7:74)s?;(q/|{)'2#"dH)1#9` ,eqAD͆c/r a0fCJ‹/w RhhQJJϴhM򳫵߹~?y=11D%8!IH^2.n_tqr=ztɓ8m㓓v-lK)G)Qj=@*&ح붘dF~c.o5s>,]fƷcIENDB`,Bm%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxLMoU1xƎcI0   B5?.@"lB|@]*D7B#qg{Y8r|9:f8B{]漫RzKD*p`G1AzME LgNs]WrC%UWu7hh5f>8"i5! k(6 31ć)pr>p_OTn\}Wz s`X yR [ ˃M-gӓj;('0"#'!&'dQJ}ӃZ0ZZWW.<ͭk}%Y~9zJI%`dZۿ_"sZ,Ӛ.%]JRY\jSkW bOr e_^+ :wY(o\oW0] ^xou{o&:1Ekkڣ۞ O<ƀsDdma9- 2yMG /<S) ȑDc BNLw,\.˭=߶e5]qʴArIJ =V KJIENDB`#X? { {OsxsPNG  IHDRw=:IDATHˏW[]]3qbma A@[0XH,A  ;d!@b (DEJLxf<ϪzârJG::Dz`jϧ'qf D0ss Or,"ks6_|:%74lE f{:μ%l.G Kn% #_MO ڰL@=pUTA^ױ%[ݭ?Λ[f56؝aA+WU}N˽ĥ%T2+NѺ V.M^x_NB x 3PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/; NJ=խ՗ٻnvm.#WۛBH`b_~+rivJx5Cf@LF&X,x*+"'K Lh.]SGVϿ1ʨ:U[kYL3iF1AJ RtN2Hᢥ4YYZdl3}s _t廤)Eg|5vQ!1q$b=T39i1&Lv& ~>Yj63Z_^\zZmK?ӏWXj/"]h3gȐ !Y3eCl ť ڬp rXk ~Lo_qڛE`ƉEDTZRF6x+%!XI1v_%^BwBB+h4FOޅv'836-_S̭ cÈFqGf6.N(NLS^- A8?Oj@vQ]$ `fbrNJX:6zjҩ+g9b?Ї-k"H&bJZ:QAD J sg16o6<695 џ~m~B{mª&UQa*]Pdӑlx|)})w4lg.]Re4oT%s$rܑ9Q)a6IgfɫIOG (ga7ZV%IџIQ]{sgƥ A-xG @sjUv/쀈IENDB`v$4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 4 oIDATHǍylUΔQ(DE"Q ѪD\\ DWBSWт(P@W_)ケǝ5dfΛ{o#V4^mzBڌe7^Á$ŅԾ4O WꪥK MϠjT+iIGkdOlcn^?@`{#pT)2Ǎ#1(" PAAՃ Κ¥7&"A1#  4$9m*9OċO$D!BOa 2OU 0w$uGqϜϛiZc ՠf Vaٹ%TU[_&P~F)!QD'߲yA:",]9u9[>@;!PT2WL TF~tVUDU%?4mmcLA||M8(NK+"`BEm &-kwƥnRP:uR1{W]MlY2Ш/ `| kA]rM$R (!;ğ᪃R1@AJ<{p?DAC8gi&C"@Bψ_!""L!]Eϒ$wDreÞ yH ]DAPD1xW9-sFЖ4vd&(ye91 @*_oiCU.7p= 흍4(((]6IENDB`>yq ggPrxrPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH 0q}pl܊!}EEpvyv᝺[\AH֪iKE-[zowV3Ȩ wtmRF5k(,坽8ypG[Giss +Q ؃ _ϳK<=,N NK1KRY56YOkjJ)hCf6łxuŎ0fa1z@ a 󫑑lO:5$.J~s(CB1}OӛRwo"l Ry? A$L<T{r =xͤ;=5U \.`vXQЅ~TγS} +AWx쌤mcGڳAuȝ<>h F%O~*V6 twr(Dm 9@,:uwwd4V xN%2杘[G./c-!n/b}*䴱Y)T gt7̧bdkХS)%UiR+dȍrC-kf3\dk"f++i#o[죣N{R AElpvմvў,Q@&&_f|i 0e}rʉ۴ܹ?Omn2#ߜbY[P&ī۰B0īuuu n \)jɕq?*=jBHŠ.lj:ӧ_֝dC|Q#7q&xy'07ߓL'>qJmR0k^k)"kmm5N 02S3ڭ[&, s{oiP[- (˼y N1(S@#}+#8qOF}">Ȭ@&T1gDWcѽ K{my.ԥ`gVn.3(@-zx^6[$+T)qlωA?'^{Vc!"N7zzd ,gC/uhVau\|]&Q3vmy_IRD%Rv\!18BKw GA{v^ﴔ" Ngi_Uzf՞`2`B}u/6\TxK5 l4 >$dKY+4% naI=!FcJH– B!GwM(23G3JT2]tw2(e1l-qW~,isH) {`=DwCP@+[Kxo-_⍤(hKLf:6>.ƅӄ洜ӹ,PQ6@% Nq;~A8zݻ'? SJ39Xεr YU%W0SkĜSW~@Ɋᘨ[H>>>99;B^w7t x³X2 +i4!Jl:Qʀ2; L+o!-,p3j˫̗?fbՌw{X7~Z:|㌲9W`PziдkfčI9zGrm0'zXsC| ]>>uq 5aͤvi׮\D!ϕv֎w  S ]xWy4]QJٲEЃU}F3[1TĄJV2*0B # cIh<{9{~?ߛdm4Rl x͖7sjk*j҈P[B#(JpEV Q[MZ/J"r%jTcJTziϻw?pg̜o̙3o빳RG$ )jD!!&%EXY`[aH1 [PZ p;=b{"IoƟ jgᮞפvx\_.E<ܗ:x켷w Z _|OH{@Z5YVb3X~=̽=H/o챇iЬ<?YG۞N.t=OcL~@?9 c +4eLŶVÈb1]wQ{@Lݤ~\Qm2d}Ny\"QH xV{84/ cմT-?Q K5;-3_rRSRsɬ]~0iXEe:<9y}|?>7v9-X1 el|_gK".rUHUJs: -(GW# ݈VP Dׇӊ $h98^Q-q%`~5fHh,o6ׯLIH!&v( XZ>^ ~}1q6̦i76ḦT-To.Wj xBBXGdᚲTl5nsQIu5%\p^$ ǘC[gN|)][%7"^^ ۲ 2(m"@D;)'gG"֊<`d1u:/NZp:̹BXdy&fS8ۗ`c)/~s5BP4YpAnm@S WƂyl PQF "{P^</}^b _w H5{ qq?d67_@p`=VU[hVb6@6" m`o:L>kaklLz,>|KS]^\@gwvF,Ic*Y=C6E Hk3gdx2~y;/;vQ[I6OExc) wo25Jm'|.Y,>{MkSh̯ڵxBRe2Nh.D7={pd7uz/ˏܝ𖵟}X3}yhi,Z3sZtDѽɐCP@7ס&_QXy;#_8Lp vk:N5} …4D!~r9a%E|Xfa} eH?7_D}8Ы5-r:S[Ծ#]^cXҦ!j~KyLA OUhMM0der:H UoL >3*]֥4$ i 9h OߑUhʦ/!o`581b?30Dܼ$)!66LB'Y!Ue䍥/}9޺ufru A!U0 M[iNb:Er0Yc rQ xҌ3V߱X1x)mHp 톯&Xxd>R\nD65+ؙmz4-)j-sjsY;]ͥ KF̢3)&- )za+ ȄۍF.{& *v,A-ޒ}vUmhrVJ5 s޹0L-Ϳ Q঄z{POe˿X%\(@^=IܧE3Z|i&}V8ڝ^/oiu\8\&F6L,da#&076~'1-ǂM0k\ah)rt7 [z`Z2t*bjB"BoPo/pP_)cSBjj]G 'LI6ǵ4e V׷2:P^(39)T5 T16WCM 6ǝ _D~4gZzT#y6+f/(wΞ6;k`[KquzކsFTn+W4NAI$mP#Of"*XQmp$V+/~ii600cqnmEق-8/.-}P>or}"p59rUk_|E4Mu55{pױyq[!޶孚7== 4^UnC; "QxiJdTJ2Ow.Y\3_`z!U ꚯ;o Rԭ6 =I? ]*i&؂T3~LJ2Pe]-V" ][8H{ώWyؒWD ?i:Vba[ɳYT'--ioJ(0c?ƣje= [۫˩NZ C59 *u Y^sxh735%9JS]7ŪK xvUMM[ -|3I{pe+`aa! #R~D$νMsωYnqUѽzG{{{ 7 FqQn1m k٘שel^6T|=yU<TH  ,O*q1[B;1ZRNeV{ɼ];n"վ&ewr3I5ǣ8$#=J9^ @kp]Ex؂GߨR6.+J'˚3jVVU ͓H3/1uJ.v0|iu b^ 8 M 6em7wQjL5[/lG.fL|[AUŕ`kDnܾ\ξ̐]rd[g'tIb|LjWT`$v1YؼSE{P~e5;bCH1C}լ ֜R= )K:|Kԃz8bfj!{mN5TIYXaً֪)A\@s R9c xYD%qSG̺CA.֮g]e )>;F4!LĚCdKx$KMv $߇oJ_TB:k@^LO<ܵ`'ܓb~HTdO R4#cOժ_bW?Oi^x KV"w찾cT˒X1uʡt Di#i.M[o~}hJ%,ܷb\50<v7m'֛ƘmYt _±SQB9Ԇi ܁J0jz֩^r-VУ;;;Kf@~bo˶MXLlLܹs6 3*[WᜤFOSE: t-T)<}QY_},1eært|&B#jmMTINK]q=MirOwBy݀5 E x$3)UW+ 'o`ĕ]jfWF^0C@ '&XxbsjdW"/Mum(;m4"EbSAd-$0 "OW;IՓvI^NՈ$ *ZZ ;T1S) |L\!"!!J78M6}6d)ϭ:NGGU4mdrݩoɊhzWp[x8*d>ШѪ2Rs%]8HpX]f~š/g =ӕ~̶ΣZޓ?r>3|XwWUK5rno~Q e/S gk,/:<pB)Z$J|<ҭ+n  #+~;UM$7t*fo1{Jo/ ܅+Wk~iUP z4Fj't,"S/8fV*-Z3\:_?iޒzXVRf9yCi[h1l/P}I A`.\&aZ=_'Ԫ4pI6TGeǤW!LG[Joitzk:(C 8,PZAI0X n $CoQ){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 0:=vjIDATHǽolSoP'Ɛ 8FT* JuedѦIӤMX5+&`-Ѝ%$FHĉcv\۹w}弟=Gy1ݻ7/JuF B>z᣽ݤj @1 |avC2u%0$`B|-3$ إz;`^mpAqYqs8(ꁧɺ' TWWN!!~/%%IR. !>J`+QӴFG/\Fg6oLбcǒmmm庮;Ѭ/8O>=AuuTWWbx^en;}`wwΝ;~7o[O?Yk===$]lYN[ccco v6gd2bcUUioP߲=AZQΝ]\A~~u!Z[[Kf-L/o_=V!8{eH5 ~7@Ӵ`Xdma}9wtD.).>x>bݻwTU||+q H-)Sx)Q(0ʌ[<7^}k'' bXly Zil1&s8Ba;Ah!Ϊ*e1%qMZwwhnnn V].5558Nv;-[ ^6@$ڲ̬h6ݺuҮ]"%Z8n߿?$N};)/FH-R (.su/`bbb,8h4B8 Er_ijjzt:QEQtvv  /$SwMFcF___~:. 麞鼼aXD"Qv)Ft(0B8-l:o|!^fe9*UVV~ ˲f͚5\Dm#32GXgF^b65E4~zOeeeǏHwQKJJeff*~Cєe>9X \Z׮"4&TȲc:asLytt0LFf$lL$FGIamE9qRd~TX@}g$) %) H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@FKT8x8PNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0zy y~ #(-27<AFKPUZ_dinsx} "(.4:@FLRX^djpv| " & ) . /1579;=ABDFRT W!Y"[#\%a&b(k+o.y/z1235678:;=?ABDGJKMNPQRSTVXZ\]^_`abcdeghijmnprsuvx y"z#{%~.024579: ? C FJŃԁց؁فځ܁!#%(+-/01234567sNAflrx~ &,28>DJPV\bhntz "(.4:@FLRX^djpv|`ZTN@d9c1ba ;=?ABCDxE|F}GIMOPSUVXYZ\^`abcdefghijklmnopqsuwyÁ{ā}ŁƂǂȂɂʂ˂̂͂ ΂ ς Ђ т҂Ԃւ؂ڂۂ܂݂ނ߂ !"#%)+./457;?CDEFG HILMNOPR!S"T#U$V%W&X'Y([_&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME *>d@IDATHǽO[ǿ{6<1!clL UQThED΢nˢXYD.RU.J !H˯}=.TɨJ~7,9?ߗ{qӲ ! !Żw?|Y]]a BD!! @ tlf4 ! L9٪$ !l)d2pAq |fR<3ZXX'tz  BEyt:҂;B[mbx*jmllpbNj;wTU&''Iӑ;ڽ{ꪪd2zBMH$b|܃_ !!,//a!/F)(>z7o$m l6}tt:,\*J<>5mTRqvZn7CV}YD򋋑TJfGmaaT!BZ5!p\ U>[]&o702C#" %geYVw7yG2<(]|YB p2ƠjUU;XlYVʴW<__twQ+KScN;4;;۸~aqq1v@ Nj]^^v躾ѵ]tf~~<~S P?G [p&+Ws`8h&M$#ZmK1~kL}y?$hS !0q ߥ;gf'OST4!f:D"csɤw~ q/~?`[CS,Ư;@'p%UͦAI䤉D󥥥ᥥkΩ4[ 2^ BNMS€`~!x]+BGB2R88y lu7 (kFp+,pnC&.$rl'''@ UŐEUUxv[uLR.z'<LN`^Y`kCmGh4 ˲Fm۾ZT۷oDjn,s~#װaH0Bi []$M6lA 2\.4ҒNիWv;td((ITr:C1hӰ ۸~9,fs`04HdRJyeq]|hݒ\Մ0ML 0&)jD,01Ei(J`Z<>ʅ VlL;  Ce1qc6jrr3-*! xO>F~hbfz,Ro T͎hܲ,^[GGGV~{{;gFǍ2IӴ<9ν=lllǍJRu8Q֭[:<OZj=S3˙g?iHrJ6IENDB`W.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 1 JIDATHǕ_LT9sf`A`Eg+6j41&H6‹^46zEslLĘX7mTdX-?F@fa`f9s^,v}s> 8qmF-,tv!]t)7xurdRʷeRJ'`, BWO[Ku}򈔲&4e+,{!GRʇ`0T@ P HJ8WzB|Bl`#0<חwW&P?\C!E!uMn9^UUn ! k}0ߟPuvv,@1;~ŋ3(XŮ\tvvJ)K)877qpM88ve`LJy' ~RnR@Vxtڵ!s)㕹\C' μfQccWUտ55/--jeOŢ#of;2;߮ohpRD~{7O*O18y$tNONNzMܟZ\(S/X92ۤ'E\]CP:NHxMN&I!D(EmOQBﴍG1 SAsR)ع!߆lM\FTJR 0P^^qZPCpk3E136*S"6POb8={n24&''JKK㚦%@ 04M69\H,8r ̏ P.] m}+s @:.:a&''K+u`` [UUܙپ[,^ȑUx7R}u6=XFɞ #'6 H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qW b0XdxPNG  IHDRw=sRGBbKGD pHYs  W8xxPNG  IHDRw=bKGD pHYs  tIME (tEXtCommentCreated with GIMPWIDATHUk@}  <\`^B|Ch=%:@ԡKnSHڎN6% 1 b0ؕ#~ֵR}%-jhZ&زmZ`LS,M͙vdֻTkJ ^W‡5b<^y5 y vu0Vʈ`5U)"ycqs!oW2UpzvM<۔VO$k~R)8p_ O/Փ՗^GJC .f4nU|S/K5^WWy^WZ|E5yV5I /7"AwLc$:B"N;($ƓYOt 7ʼql>4Jn<,Rm.rPJG#n(3Y8NI;gׄœ//g(|NLZuy}ʆW?}s s&D2ͦ4MSLl, X[?RqBضM6e{{%L\inn~ǿ %onn>**ضa gcc cq9wLQ$p@ @}}=pB~Ogg'ʽTKK˯7/t]IQ)~?`~?^˅|s||,ONN4/$@wwwҶ jjja<. )%RDJ磭t:MXOVdT2 Gmm-B!>rhww7DUUS)x<B"bbWB0<#ssslll@ţ¶mb(+#ե޹\fgg4<-qBBRb* |{{.( "֟^=pqqq!H<{E_5tUd-EQLȽ%ɪNh4j5rX oR> jU<IENDB`b %%WY2x;PNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<VIDAT8˥kRQ`A nozѨK?!eMmm9%Mٲñ&5d^lxusnSA/ ** խ(6ZDsŵ>9Gׁ 5lcf l"|n^'iṞ![>DQDί'r::;Hjle pg,.\ ZqBx5K$b+M,*$GmiQWI2V&ahQQU8Qt)!?D~s Ht+TZ4 Y h,Y9t)>;#(D{k |sG,â\6o7`֧GKD6,8|w#ûUK3A.߮X  4w6p^8{x}u6xYWí\O"bKe1!ޱc[ 'zf>]"-Sl܃<^ = ɲ 0ۍan2^=D6ܴ`cw)䫠iJ|rRIENDB`? hZTx*PNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<gIDAT8˥Kq zäqV(uD).Vۚ:nWS$#aKkz+mmL36v„"=>>}1: /8y>o??#TX|M-Rv,n1O1Eirf&F@lN.`9QXһ pg\{?~+E4  @[ˤ:!9%)ʅx.D F8]ND3deH']\ӍNtqP|PSt jʙЈ2A>"eƍ헮?F>3eh=,RA$!d8 «Y97'@77DQf5Ž֧@x&_mjn-̶/=e,ZbT\y—Gu+{!V%E[&ת+C0o2A Q{`:Nپ:ZpۅHy ;{`dSTyWF CT>;/좓IENDB`[DB /+/x\tx sb``p  $)$ow `@bnafd5G(^~[ae@!׈ԼĒ̒ wO߀F>qOǐ) ?446ij;f ́<;#>x~o[͍dXp|\j*pOKZCv ~~c;YV\+.4?4(=S71Ohz|_ۖno|+IT3X)찿E+f%vNiZ^;579/䶋KG68jG]ϟg?$Y?+xˬOխ9إxsNY3NY++I6EJobƇk;az/ύ5xrCyF{|Ro) xQ[&x sb``p  $) w'ud^9lI. 1 Q%I@bnafd5G(^~Eߔ@!׈ԼĒ̒ wO߀F>qU2.!^b z>LJ]SF= "{r,Qd:cC ) K[EN l"[m& S:LZUu.KLk3.O_qm[⏩3̴ Xҳ00<]\9%4q L9^vx sb``p  $)$ow `@bnafd5G(^~[I]OdkDs~nnj^ sQjbIjByfIo@x#8PcH 8^7wDc^,NQ!VEeSBB/~0]dxbPNG  IHDR szzbKGD pHYs  tIME Z tEXtCommentCreated with GIMPWIDATXcd``0#5q@,1{>Q XIcMg72h8\cu0U:T>آ:Eg"-TuT rR=գOq\hE%_?QOHcrc?Qٍ |!a#~:[[/vݐ`yDOV+OO&%Aε;Eغ b/j3d>gJk1fmŐkz1010rp0XaR`ʍX[‚آ 14\bp/Wb`C^"pd# sry`aF)Z we`]9nQB->NjSHѐg$431;v͙IDE#ZuL>*.Y7 ;&%a _1iM4 hDŽq餸IENDB`*',ks}8*EPvaqo7vmkFA#{\]dεV֊e/<,J`  ݮDD!*SZUw e-)-Z[#n Jgn"I#UY+תZ.M|fYm1jWeKЀeFY Dpdfj]Oq-kfE0 $<` H&33"Wq7q˷U &'n~ M<|3n"ȈX\ ^d$Q&d6M0\"",3 ,z)]d} # =L3%{y˱ /Ai/+7ǿ4'|vpqލPEv ~Cɠ^6;. E_6 8/xCiD6!i+vo?R]޻&ϿvX͇ۡDA-R㻫.QiwwkoS]qf w|v^h':U507̃.ld"B{IENDB`5iYh //v`pcxcPNG  IHDR szzsRGBbKGD pHYs  tIME9&e@tEXtCommentCreated with GIMPWIDATXW1n@u@F%)ME7D\!  4 ,d9cÇϰ%K>kvg@F l׿ x0a1fyˇpe@c>`*R&QWWF@Tub5K^ez렞ۮ"To.OyH #Z;NB" ?MǁzZU wAw4.{[V+2beAI`>% YD$*qBUlX9'<;SNg5}O[U#B"sUh9xw4e"{wn #x]@?gE("OH Z\,8S d=}TQ[ʑHOdO> \,gT]p:~aAReF}h])8 F2a-IENDB`HK_8x8PNG  IHDR  pHYs  tIME  *4tנctEXtCommentCreated with GIMPWIDATHUV@o1s ,sn+T9c-*f$H m%Ctitq-܋kq-T2|9 L7&l@6|>2f<`(usy]\*fFDA d /#t;FU\k㺢VTEdL &=pc˒fЃ'ag X //MaxEPNG  IHDR szzsRGBbKGD pHYs  tIME **3-"tEXtCommentCreated with GIMPWIDATXWJA=jBMRt!DM =G3MDdxeڍR,Hm6:;;53glqH"xor"YZ{ooQO!z&֢|e[кc+f-kvNSǜ ` b7O7εL/Yqm ;K*:4mED Ţvڻš4 baXJڻ%sA(,oΫݓ ؅n+JJJ0h"9mdW!mw\#?&p2Xp0}*:+P2/Z玏 76Bz ֲTʨQyioBS&9xFVG&R:vg{|([[$8lh IW:Fj+4U># Eڠ5JQ4FR𮧒S9|IhaK4tx%dgz R6߱~IENDB`a0 wwbrxrPNG  IHDR szzsRGBbKGD pHYs  tIME;;tEXtCommentCreated with GIMPWIDATXW=n0}A ԅ3pЩĀQ$.VX:1%+CEP!H␀?2`1h:Pǽxmn΍xddu)]S /$pC$"p ! j#\0컶`Ԝg !Eջ:59 Ry.^~[@%SG@dSjiXG Vkf/*r]F'kD͸^{^uhʟ)F`MH̐R!U%[ Gp&<0vdYX==8IFB׈01?e9-EP^ ͟r| V5"il~;]f\%n<0o]:Q|fa8IENDB`j e.xPNG  IHDR szzsRGBbKGD pHYs  tIME |tEXtCommentCreated with GIMPW]IDATXWn@5,HɅTK9Pġ~>ws;N<D 6 =ZEB2 3[x#YZyfwv- O84PnÅ=g Y I*=D[;ѮJOOlŬQ8>9V)<@ qlhQD8~ wf2 $ɦnW?D @@D@@uHu/t"~pxo\?h~Z;3 {@6!p[Y[1aÊ@1aSglU3eri⪵@fbgǻ>Z@IENDB`@- ??=g~xUPNG  IHDR szzsRGBbKGD pHYs  tIME ultEXtCommentCreated with GIMPWIDATX햿k@?R햂m4쥆AK]ZJ%;-N]l2$ESc! I|-YDg}?޻'Y`VtݭO S=,Cl|V{<;8X^6XP. ڛ e\O&VA0s{L-TMQ!rTP>ў,kTMYU\X>e-3jz@Hڞ$>6l5' ŋrފµaZ,4Ve+.siE .\ b}`;KpcOΏxSN0Q^ۻ<: vq`/ CQ@|g0p z`e{~L ^|T{G?NCP2 ARe!h*wR]y1l^C'Q= !aE`1Uc,t6W-6():Ihri+ ́gYq3\$,#A'<_?s@ RoS5xUvoiF*u`Ċ\0 PԬU"yY=xا?r;ne"R{K@[zΔc,@\ "8;# G WGÁ7BtL¨ ٍ"~gXXaC;T7Jaa,tTZi(v#c.O2O"͚QfaȨIENDB` !iFxPNG  IHDR szzsRGBbKGD pHYs  tIME , tEXtCommentCreated with GIMPWiIDATXWO@}+.EBk)a=՜!zGp7ߦ_A)KZ [Xl]C03${{ @qXF~4! D//PoLH!ޜ}DӞZ F4gn[h% ]'y HoskE"@3F3sL'AӞA-_miϘ2T;c %E4uy22JC(_E Pw $GS mA M&ä}䟁9XUwoةӒwnP@_+g|v4~y Jc"k,Xd Bo9]rʢkgaSP ,Bh$MPR@)0,*qf/S%@ 0-C} ӥ"Y!U~_͑-kx6sܟݨYas:w)(#;:w׈&no'QF gx !#wr@drB$~ɷj?IDn{[] wd2uIENDB`Pw sjj`x`PNG  IHDR szzsRGBbKGD pHYs  tIMEDbtEXtCommentCreated with GIMPWIDATXW;n@}Xb# J3pBRXP \ m 4R6AS$K 쮝ɲdy=3d/jN_#7:w7m.lZK1g\>ex:箌 E`;|{y'r>\JMsHlt r_UThNMC5@D{qko:D"WɾR2,(o4 ^H;PDcWّϞ~a@ngEw4@lb;%p:͢ŧ NC;{_fcBg!҃( kb)M(:)0Q;섍totf֠IENDB` Jk7x7PNG  IHDR szzsRGBbKGD pHYs  tIME %7)ЎtEXtCommentCreated with GIMPWIDATXWOoAeG 5D#)HMx{ Ջ݋LLi\lM lb#Hʎ .R%μv ǢrF2 rv+^,:;:-@CIЫkWT贰szPRh()]\Dfz St>b5 wni߆al_IZ0}Kf{#Tb7;m+&3 c w7/ vX9Ν _c0EDf'BWȕ ׾+劖W"""f:J"J"u0ȢS*}%i#3ܰj!9p4ZC@Ղ0XT>Cm`3dn̟ds o)DsأqSS1]]ȃ?dҸID kZWEa8Vۖft[Jf3>D9be0$ Yd+o7ebe\Z2gdl0dYmQIENDB`Zlh DD8ltxZPNG  IHDR szzsRGBbKGD pHYs  tIMEɄtEXtCommentCreated with GIMPWIDATXWJA=nܕD+tR(DV $"J F-Lt׸ kfg.{Ξ{av ` $p'KIwCU ` }'zq? -4Ŵe7zܛC [ea/1r7'H 6`x:=}TL.0&^sc% mք.z*h%Ԇ 4ڊJQ֝25l) $^v">vHBQ]Zo%QQ/"X0DV\Jʳ2U,5m,0I@T1cqiyDW`|{;\xP5x_5\,&¶ "jz;M1aVv7cC1m[+?,lV܆=r &7dqj!z?ϲ]IENDB`u cmJx/PNG  IHDR szzsRGBbKGD pHYs  tIME tEXtCommentCreated with GIMPW+IDATXWJQΌ*B@AΓ+o+ a+E0A&zZ s9QE?b̜;߆أ }k|qVx6i;BvGRÞ6߄|vYb<-1}Ld,QcN ޛE'rfTgJ 7:FʺaGdxFYIJ:*)n?PuY@XH;Dٿzf= #Ld@̣kzcs ;$0&CTxzfJ:Nf:r Q+h+hq^߹kVDu`9lr<|2HkIENDB`qp0. 66FnxLPNG  IHDR szzsRGBbKGD pHYs  tIME^=tEXtCommentCreated with GIMPWIDATXW1K@}צQ(urr'C$D9jAt?]]EDl5sB\bc?4K{ 10*鼝sȿ]!܋9p8&ohWߵ0t.h3nqzdoklty_| '?>S ]tiCM%vMݻ{i᳚<\@rE{ @a~{q]of~QÄ~-smF:#Y[X^JX-5LĠDk @%"ZS+8r ܗ' >1:\`eMb"D5$Х?с$ a1:5̄Q>b& X,DcqŁпJJL%epbAMЮlBwư_&`|mT!NM}DecvA`pY]erxܞZ7]-iAq IENDB`D)J boHx0PNG  IHDR szzsRGBbKGD pHYs  tIME !9C8tEXtCommentCreated with GIMPW*IDATXW=K@~mBPł(duj7gտЪछFTX2iuiu T)!4 %Ku>ׅ _7&qf~ L!f0a< $ -בZ`e|(>3Z`fR|!4Yd2J*" I?YO$H5aS*(Y2lU+ÇX, UvV> 6{!|{1ۊU@} K~fegQi{[jCy|el/=\9c7왱,lg6$/7Z]@[/YZOO jEYֿY="z1} "{exG4%WzWz!@.~koRvp5 AjuCaHUYMJ~>"2aTnwB0x]Y$)|$ve?`Fu~b 1Z&uX2#2ĚP"ՃoσTLr[Q#gRb>t0{.N( Ŷ$rYUbub%/F8 )\yDLϲrUIM.N_V$w[ѧL(F(US5o­4a''4Us@FH8NZ;8kl~jP9 fJT\p3J`LgķL7> :nqXV*ݜufl|`j`yhM %uh(IIdNiFyIENDB`R 3 [q:HxHPNG  IHDR szzsRGBbKGD pHYs  tIME1_tEXtCommentCreated with GIMPWIDATXW;r0\CSq*70Rb \!4r* 祀g$!!O $E&1^Xe.!)9x4"M[ {=`r/b,@2"m`p&#:`-=V~) lBt|\^Qx*hUD 3(Yt|ή9}dLq8Wxz9zwnk30Lf]lp%hK Q{PMf}ӾIضTd1l|\FD5^~@DUqvݑEFMk-snm]չ43sV_Xu7bනj&̾?+CIENDB`Wz z+z-s^x sb``p  $) w'ud^9lI. Ap品" 0kPו ndkDs~nnj^ sQjbIjByfIo@x#8P?Oǐ) ?446*ӯ}s<><qUʞ.!S~7hhhm.}IOT<^u+3Ąw{Z*'8;,ԶMˣmf9zBԊ#ڋ]1;C3@֭Ȳn}#1/&;JHHCYɄĔ"/.P8!ȭ]VI?0{iR‰7)IHIIx}x˜b@_cE*ȎSnhW4ǀ+#yӅÏ)M匐q=]irKGU҂^Ɵٺ/0L<]\9%4t+ $/$ux sb``p  $) w'ud^9lI. Ap品" 0kPוʗz@!׈ԼĒ̒ wO߀F>qU.!NuAm?#.[6z&m_Cu% YIYq q5ةNaF3U7.?3. B͉ڳOj01X>A.7:- Jkg}yGd׎'òc5Yf<޸}{'B&~{mSɭxM~{:닽'kɐ6-L2zJnq3[WL = ^>5QU fE6gwqh1łj2b"罨=ڤƴ·)#tUEUnjכYQ3/n)Ծ" ט 1) /Mtx sb``p  $) w'ud^9lI. Ap品" 0kPו«igʀB%%y% E%) % |@=]C"'$$8o]W/)zgo:)mKXV9IqBǝx'Ip3z=bp ".[6Ԡx(@L)Cٶ| |]b>a'=r#=<<))aO/eSBC҃[v:x sb``p  $) w'ud^9lI. Ap品" 0kPו+ @!׈ԼĒ̒ wO߀F>qU.!߆[596H7`jm-ma}]lK^rp\n?)bV _\W|wc[ s)w"9|cVZp5QҵJD #|gz(B>+Ã@U{j̙Xp0{|vT.L XOW?uN Mw&) AALyx sb``p  $) w'ud^9lI. Ap品" 0kPו+t5@!׈ԼĒ̒ wO߀F>qU2.!S~7hhhme:w.ؙppsκwm_B~ 3kORN@xy!WrGHظcڂo2[a`ĥ1CyߟuZ"U%%%%*npqGԩ 5 Oبodʮ!>Aj͒ןᱟ~à Kmk`'{ˍѲls֒EO|dsx;F򾯱 J_ uf*|BL1S[[ ^"grW``2xsJh@PhkxZx sb``p  $) w'ud^9lI. Ap品" 0kPו+dkDs~nnj^ sQjbIjByfIo@x#8*3Oǐo59$cqS?p4I-Lة#m{NV6##5rj#5?sfÌs1?r[~dwr]u'W31\|3I"=~SKh#v$SGjSm\ 0L)ϿpFZ%_s2\0`&Roϒ~֩gxxA]ƾ~[o1|D8M+rRszj}cVvo)R[rLd&3~[#0SGo Yw v"Ô2 翟(9a|eSBB >+{Zx sb``p  $) w'ud^9lI. Ap品" 0kPו6 7n_-PH59?775(5$5E<$C7 O菧cH䔄 Z`dU77Vf7Y| Wީ\vJo|Dwt1eqnދ1F?6({Ⱦ V7(|JXfC,6 ps:UˉO8*:hqYV"g⼚lO5ny"% v|pQ\R-yYaJC̎IYX$%jK+9G310<]\9%4=T>zx sb``p  $) w'ud^9lI. Ap品" 0kPו6 7 W9@!׈ԼĒ̒ wO߀F>qU.!S~7hhhme3sV>м~<><yɲOwxQqIq{M bL1{8I,*= 3J 6%6P0ź9z!0v<]\9%49ґ 99Z8x sb``p  $) w'ud^9lI. Ap品" 0kPו6 7ϒ@!׈ԼĒ̒ wO߀F>qU.!߆5H^2ݵQœf7gXZ,`Lz3ܼg [tKD{Rw`]ǯsg1#۷n raOWV|tԩRc [iSsBʾ:SK]QLrli_Ya\xϦ/w=]v͖"Z SUR/Aitwk?> WOW?uN M'e~Nx sb``p  $) w'ud^9lI. Ap品" 0kPו6 7U@!׈ԼĒ̒ wO߀F>qU&.!߆Y2M4}-K[j;8N`08ܺ-"jGCV.~oNhl-j;WoLQZξz?۬Bk ~lֹ3T-ǽLk]zQ,9|oڜ57d;ܯ pK|Ks驵 =z 4YbףKT8tD,bu`PZ0e˼Q.:Uk/V /!yÔ x sb``p  $) w'ud^9lI. Ap品" 0kPו6 7Ci߁B%%y% E%) % |@<]C"'$$8o]t_*ؙpp3F*Ss/-匴@U[lWl\qB /xI9O|įWD:BF,_6:?8(Si#bNiq_nmH(6ꧬxmFܷNMY43RV}(IQm=l{_`(9-)!!1#BBKswxd-<,wAo}N|b\ɝpq{~n%BE0̟iٖ,`1xsJhߤfPx sb``p  $) w'ud^9lI. Ap品" 0kPו6 7G.PH59?775(5$5E<$C7 OhcHa}M:/m5 BԆZ\)}dцw }Gob>XU}ߧ 3r[OUK`Ÿ#a}\,Z7"S=:I|ph[c ug!}Gғγ=&V;JZAKy`3xsJhCK x sb``p  $)$ow `@bnafd5G(^~[Oв/B%%y% E%) % | 1.!Sg`3a@yno{]F򬍧vX&k/FyҊIڇo3oN0yypXQcN5fǥm/bz` fG+L ;O8zcwsfee\5}ur$2mV`.ݔ@lc5mU\ir!*㕌%%~Ü+%v#eSBJ޿ 2xPNG  IHDR szzbKGD pHYs  tIME  ;tEXtCommentCreated with GIMPWlIDATXVn0N]Wȃ$s^R'OLx֖SlHi#wH`RU}#Dmo8Et8ݵJSc"S#Wkoo<[ܽe]_or$O;.8Ar2"wU>O }'D绮!|p.eDg/<1A?6`?k Ɗs\hGXM#քMM 5%, D%;:/>U1kro)n[c6fKV\h ,2 *ųӕ7>GAo>w2/JЋIENDB`( 2xPNG  IHDR szzbKGD pHYs  tIME  $;tEXtCommentCreated with GIMPWlIDATXV9R@ZH\~3(刈H !<(Q䜄0"bDU{uwf@ yi]s fc ˼"Md?%'fV֭qLN5֋Qn&\;Oe081 |:px'E N2\%'Ⱥ!k=?v^jLtǿ*) Nu$>7*PdY*DD&|[HK3M$wN`tD\Bڄu/Pٖ7M8ݢRv忻bגlE@{`*+ͫ=T#IȆԀIENDB`v xPNG  IHDR szzbKGD pHYs  tIME  ;<tEXtCommentCreated with GIMPWVIDATXWN0EݺKIg^)SJ@g }.ق $3@d9lSHl$9???m캟@4e~"vIi?<\2P IB(AB":*I(NUO4eԈ> u j |HD~\!EX_F$ӽQXXVv lzGB.!T&#[*Udn4ea5a_{[ULC>6t~Pm7=cNH39^ɪt;Y߰;:OP[ituKdWjחIENDB`׍t kZx'PNG  IHDR szzbKGD pHYs  tIME  ! ˢ%tEXtCommentCreated with GIMPW@IDATXõWN0=vB:!J2e6V>!S;Vtb!1AUE%5CIbN4.r} PW\׈ n)gh]?DOC7 Pgu1rS݉k4Cg}0M.&& i2Ip~ d+"%KRN5!^!i!fԑI$f DĜlpR%X{q%;+.T _E\U6?Am۶]i@m ieG1$$ mT|9Wb7lHYgwW],^>7ihe_Wg $_y|٩ \_o&T6:odD_ Fn ġYD5H%:tv&$;ӣ89hY9>acȎ ٲe Wtm#MIOZ5}KN y~hj^7cѕ~L*5CRU>Jb6 uC`1FA hãn 07ԤdM/^͖!IENDB`v3 unxPNG  IHDR szzbKGD pHYs  tIME  t"tEXtCommentCreated with GIMPWJIDATXõW=n0q"C >FQ4E\ @' E@Arf!"@6\UA!MQOYodQHtc0|>|܏ S'X+qm>KK{aT_$GZw\妅s_ƺ@e|\FxFKCM#ܐ#qr}u#&6# Gޑ8rbH14\;iUIK|+)ꦔ,' y wzΡ$XN}|I,w7 lֿ?yгf~F;Ad l\~}k-C}[8Z 8 n ꁮ; qt!E8<k/{ mkc65 Y ԅgN|  A5ńc٠8=lJ]Tȷw]` xX )VT6%CfF#ńO-v<^h$ݘ[-!$V4 q:˿͵Y>K+JXPi*gy! t%a;1B.Ͽ5[wzd}+-a-IENDB`^? __6 px sb``p  $) w'ud^9lI. Ap品" 0kPוan؎@!׈ԼĒ̒ wO߀F>qU.!S~7hhhme3sV>м~<></.)qDT 2 mӘ_򟟬Έ0͚x*OI/~;0 *=ZȐH=gD`2xsJh/w LcL *x sb``p  $) w'ud^9lI. Ap品" 0kPו:@!׈ԼĒ̒ wO߀F>qU.!߆;l O&FH3d6 'Ks7Pb[ơS̪!{A A+nF-$Jg3<ذCaGl8xB1XLK/'MakJpkvvFm3-84|I v35U _{ U͹+6!ĖY7.f>E=`\z_XN=:Ʌgߝe|bV-m-84eW>n&/xsՁW> r+#Ga\/ nش7oS]ncȪlTs,MuLoՖiȼ F Vs:'_vZ/5G`l0xsJh̤Ǔ 6x sb``p  $) w'ud^9lI. Ap品" 0kPוb s%K\#JssSJRKRS3K2=}ā{8DNNIHqޠ^R\gU)?b%$`aEÍfrg$JlH tX4a)'xedDVYa_ ~oYc @!YdTtZbb)קɵԩ[̝$HɌ :w5zhn)sZrE3='Nt(3jVR:WP2 /^6[M笴) O\p yy  pxpPNG  IHDR szzsRGBbKGD pHYs  tIME % rtEXtCommentCreated with GIMPWIDATXVk@Ζlv1K<@M@E0-K[vb:xr= !Pׅx*q3Xd(tO?NnɁN:{߻/(un0D bRPBql Hp 3_&"~L%aM#Ifr`<3|!TH"L.UeD:k%R@heļ8~~h!=&-h!Nkxz%0K\7%KU6cdh1RKΗ[Pvy. H׆fڤh*v {( hc4d&yEc:8(>71J+`Ih*MEV࠶aeK;3B I=T*ӿ`!g!|Eߥ/P5fESͺyq}rUZsot)!/Z@|Zf0ܙE=^$ O=B\2c{X}HR| Z–'B} 48"/W&/VqC*RrЩ\2s(=|+z?U64tG5!w?\l\X׼~&pyfQuO~H0)%p^v`1vIENDB`}{ }} lxlPNG  IHDR szzsRGBbKGD pHYs  tIME &2OtEXtCommentCreated with GIMPWIDATXKA?dTbVZ E m4([Q{ ri_`B)\(%Aha(ژLawf'{&z-)DuAv)iD!UWZb.=t)-84ı0pOB T26()s }fd:G[- `LptnɋB! H ֏b7 M᎘  HIx#!5+G;|xH.;!-6g2],'eXUVvq֪QI$S.z00tiU $S ~F_ *Iل2A /Z5U#kU%רAXB0lʱ?U~Ǻ$|nEKgBU%ّ~WOB9pʘD7KS] X$~1Ɨo#7v'2VU|"D~ICZа(w'Νy |v򫃪V) / vRNLz^8؝GO]Owg_c~a`C!s~KCip"A[pv~0zֻ+u JHp a1\kMk7( MIENDB`J G4x4PNG  IHDR szzsRGBbKGD pHYs  tIME *):%LtEXtCommentCreated with GIMPWIDATXW=oA}9cɗ)%KP ("M ߐ&I*lr+db#H'H9ΰ)=-(#yocg G*TSEez2m/"0:} I?K2#!΢ۍe'~m:1*sF!#.7"HKWc`Dխ-6! v0quƖɏ/}=[O R5es9rbIgs9Dfv!7pp"q:yesE׾pCBv=ktYXM0&sS 넭3l^y9><$ߝ49nBC$hD $~nG Cf`cwm% B7a;v]bƫ-L`vuK'ʾr_ÌE;T~0w\: g| մc.ۭSf|v?Ƶl'29F2:'I(4]xX$4ԒPn yלdBsyՖɏH zuZE[o H{D!D }1FS9 cPHTHAr/KB9f2ȢԎWL6D>RIENDB`7b ;z(x(PNG  IHDR szzsRGBbKGD pHYs  tIME , tEXtCommentCreated with GIMPWIDATXV1o@^bjHZQ$&g ډ.l-3] NSVZ&JTBB-Pɪ!81Dw}-޽{wᄐ{dcfhdv*dIbLئ3bM*q{LmNLqq>02fl {33ay0Ȃe $J7+X݁0e%(!xd o8(s  '!0x3\_wh rݡ5s'j=x\xq w)sߙ׭a{u ۫[ք=;{x%Zl:m^mk?ZfTuï*&IENDB`Zfv@ӍmnzX ?zn^~'טzgx{w i }A Cs]˴?U4V4\ޛecYX b]Z9~gfi8aɎ#BDhshԯ =|9b :+HG'mt. W ӸZt]Xŝ[xIKĕO0>pibv]ac0 D2[\KD] *A(R v@wZ>o__۷;ܡi#1Hc"`?4)pwnpitPŐj8o˧r}&T/xy ݓp}!rhg~ߜ;+~L_$gpgA5v6jKcQŔuP=~n<鎬=Ʀ"v$o6N[mKh~ QԨ#GW~{Cg]@)ZPʮ#68ܳ?T_߿zݺkJs/#O8EM[/)F4mW1c4Ņk,ujL?4zթլoAZ"UHv7HO?.TZX]/()}yVs&|F`74[ jQ! ,ٓ{B&ڸrg#Q)D!F; 3 &fF5QyKN_4dDcZ ]m* |xIENDB`o 4l!x!PNG  IHDR szzbKGD pHYs  tIME19tEXtCommentCreated with GIMPWIDATXåKl\?qqEM*B*PlXTRvl@B(UhYTE+6D$ Accܹs.3s/՟{|Y*C-]wĨD *^j+U wlqbl?/bgϰ%~E9&I:IR$)d4˭?q%,!$}3Kc0II#t/?F3]pYe! 89[1}0H7OL:o<00(`fؿ@5tF:ro>go_)R|G_AX6 51 - ,wd34 = Ӻ7jTrXh  xor]7z¹Ħ?{9;S2q3wg~e4Ɂ&\DhpIh> (WB1롣:l/ Enfqkt-.2vD5PJo9\\`P1^"oy5"M?ѭp<6%$Z8ٳ9t(1 bFJ̅m]@H OZŽyթu釾p ꬶkrO)ʮS2-ozt5좤}=cT x.~`z2h\xVBS }*N&'Rgv㻤Q* _?Лz;[7p n7ȩ_H b!y{fsems\*߁UMb1.-ŋ*dO}]P;sp= @:њOi~8e7&6(A@$7pAUT}?la?ʲz()QJ|V^˗2sygJyX,o/@Ḟ-jvGhNT)?/ 4yyF'' A&l?zT)^e.:iҦl^OQy*y-k,|)פu?++Fp&Baquiv ;/_BۿSgn fp6qmZ&:&>>JRcic52Z[Nj~Q} L#t>bX[>0 oɾ<4b41!hczʀ1o>3`Bmnna*'D`<"hFԞ iLK!zTS 6vIENDB`r5 D 1x1PNG  IHDR szzbKGD pHYs  tIME+<tEXtCommentCreated with GIMPWIDATXåKl\WcflҺie"D+`Ŋ%f uW!udžJV  BiS5jIc}scdҞ=/7\^,<|9oGRy]&PB轎R-֊z@K @HYv1糖OKaI]x ϽB~?|!`8X|C>{"қB80I8,ww2 қ&+7M\%Avj;ڪ򃝛(!eq`b,!I-?;18@>o`}c4JϹ՝.Ѐ9B 473SdfE_zb a!lSZGE`WQ4t<x=QyRIU{hR{<é8ؔ!jh?$+I*\UұHiAEbBV* }|r}f9q^6&cT[1t)ّbBr"°Qtv/p`Ws!;O[!% =>fx"GC1۫r%Pt,{Ǯk*8|Q??5qV*yV6^a]:#a5烵6b<|3 (pxFδ7سnMo9<=ˁT:a%ҪN/`z wgC6hym'Bzlᓦv"/f@VTZfhj@ >{NEZU3|U{ ͋W:giän,KQ9[4=G *ˮqϗ ʯPO k^߄3szO_AJ4h1%kT\歄zJ"T!x??4  o?VY$kvj̅Sz~M-n`MkbW3IENDB`i b6bHxJPNG  IHDR szzbKGD pHYs  tIMEĢtEXtCommentCreated with GIMPWIDATXýYlTUs{gtN[RXe !DC"11`4B0D|BLL411LxAc7 h= *i}nLJ N1'̝9#P5}fM羊UvݬDZB-]u<7M J>&ъ7iÆ0ۇ6@w]_-nXC+ -)@cB`E< n#1,W5BIS)KY zSQ+PDųkxTPNG  IHDR szzbKGD pHYs  tIME /tEXtCommentCreated with GIMPWIDATXýYlTU.sgt Zh@Jbx  FM\/>i рFqRіtvZtJ'7;C-*TMptLkn]]Vu3Ұ/<%@x]Z3 \!58B)%Hl!u؜chq< Hc'jW)I!"$4 %OŮҵ< 9U#d43ԙyɚVLE-D "u,vxvgQ:eG )<([;6=8bq&@ʵ [E BrfO%3_K1#>Ί㑒><^.U0@9 aWy^]U|[HɈcD5skDJy.;PpEۆ:z}Z`d9E#x]5^ .*]q@,qX;'kcdH31ڱqLv^&z ͙vDL)׼Cv3i>9H7iKМ+ejN/'r CD@Zy/Wp?dJi\EB]tb&z(iHҹ;f15vUOvE+OݳgL~{|;=JO,Nqg97 ^L4o:-1bУ#c= Y- ͍Y)7%u{ߎڸГ/x "j6-u@5~`GKq ֺFQܜma%zpr w X7bjU&xu _:oP7:Iܕe?@"% UDnfe8$ju#/ZUVS߂9p&";5EUO'u03R}A7lz6<%myѣN\HQl%=#0$$JU=EJ R▲e] 1s4w iadDF`&`xNjkCo 'r䠹) Q5 CzwBfX*N.C"h׳ alZ{M<3}moJqWI6~4B_ݸ$ G#IENDB`)v ::BxPPNG  IHDR szzbKGD pHYs  tIME 74IFtEXtCommentCreated with GIMPWIDATXݗoPٍK(&Mi! dS#BbABLWS:G 5 bCHUKې؉? `[,t=c?("a5d旒[>y%tO+!2CZ6ƱkkH|@ I(!sV9:wYr [ EtZ_HT)#L})PdΉIʱH:v0*`"GCh(fZ̥ܤ!uԋ'0(?@SjBQ! XR'n"<~ͥQWHy<(~<K#HTdق#(<\u/$Mf ~΂\Jާ- ӣs˷،O )1!v{ A߂\eUcLj1W~%gćORI.k>ŝe߻G=>S%ZRD?AӼR 7ؚ|VտisW"WtBCIENDB`(s$} ..N xDPNG  IHDR szzbKGD pHYs  tIME 9ƽtEXtCommentCreated with GIMPW#IDATXKkQLIi.uUܤU .ЍJRqQ\D̢XFKncsd.DžB;.I2933Ho\]Ѩ!*?~m"ƍ$@o,_l,p:_g+Ȯn%B@&w7sOx+0_/@m6+{W0a\mˆŔ$oN@X)6 9bPmlaofCy=Փ~m inWnk `A+b'6܏ }ςFȶ(Ko6e^4:3- )$ P !^mǣ9MNtzكI>=ډYJ8Sߘ)&zgD6!W@Lwne]C As6$'m,}x.p2\H}υ ]Jk{/b˃V5%IENDB` & ff0x|PNG  IHDR szzbKGD pHYs  tIME .QtEXtCommentCreated with GIMPWIDATX=Q3s3~m媅.( 6He@EqN- "fw3ɝ{,Bę̘5njf==s9W0Z< 3ibu+xŧBLU^kj 뙢Y-h7[c+OBۏQmiw0$T\ P %p"w"Nf^p;~Jly[;ƅq? 0@$(G]rW]`ibBxD}mVSķû\ܦ.w~]qrJo+ٝ6l2bUKg`qgVHM|(/q?@P۪H$~?GfH"P-~Nɪ$t1?7f_"[@"aP>^D-\.D| l, H\5SIENDB`#9 `Dx2PNG  IHDR szzbKGD pHYs  tIME  'xq#MtEXtCommentCreated with GIMPW5IDATX헿OSQ?OijBE 3q0qͰ]Lb\M' 6BH0H]ju Z(Bϡ'9}{|{$@@-He{Z|U.H+@aHnЯ mbkj${em>tkC(z\i;<8EIC`[2MnSZDvAOdSTuL4eE)+99$ ņm% TU6hjYk| gU-c\Z M]/QV =A^*1Baw]y\kI-DYP(#2eIAqbl֠M|lCIdH$v3ŃGJ!o֪hje"F&z@m&$qz{ &{Ȥaz͒^RTB?:J5ғLo>' *IENDB`= dd4xzPNG  IHDR szzbKGD pHYs  tIME2/&ltEXtCommentCreated with GIMPWIDATXW=l@:1$QHeD4AA (*uΔS+ Js•(e!?N RI4a5! 'yw~߽{w()λv"L t)фo߽c|#;)ʀ;49Lh*v'(NRy^os Ws?@ S*@Zg..5{M(D*Q10G gI>oW6@L/-pp>a| Uej|Ղ f0y$T6 /O$&I$'1Ȩ(24 }o~"`i@9GG_.L QG95r ty&ƎNιN,@eIZ@#Q:0ݳ.Fas oݜg~Zݛ𖆭lOq7M+OmeBl =M=h#2-"v+vv z0T50T5г8vv:Nl#PT X`%bP򕒮i >k;ߪ2l ѷMc 󣪌W7oV<"DѕHƈ,N.7=j"~.&o]ǭIIZ#$5b,!hMIH%S(&'wO^Xi 4$ŴkU\Q Lh`vgjG׎ iq?x e-S ݣ>[IENDB`[ _BLxLPNG  IHDR szzbKGD pHYs  tIME39ftEXtCommentCreated with GIMPWIDATX͗Oa?mjZ2<ڦFTqp0 . CM aف.R7cpVBI[8)*Rgs~. VYɥx=w#=x>FA@%`O@m[R0֖x1<}uoczcdc-Sno0AAÏ:퍍[ԍkoY + '"GG+8˔*5xX W [)M#GG쯫~ n§ؚLaInU+5?XM}ࠠ0ƛ]N vpansq\zW5>)@ TW1Y __sa !~vK*` o糒آ3R' οͤ%UW[ ҊJN:&CF;VfA$#蹷MZQZUk~s{ fTIENDB`l KK1fxaPNG  IHDR szzsRGBbKGD pHYs  tIME #]yXtEXtCommentCreated with GIMPWIDATXŗ1K#AG@KPA;Q:YXf!~*Wrj abo/&;d}0 ̾ov޾70`ARn-mZ~?"T*y@e%>/Ғ;60$};=՟ soO_άħJ[Gnhcc^j3ᐽbvY KdMU|ߧn U4U*Ic;Nئ"Śf׽G=MvV41_|>^ͽ!A긕d<R=BVF#Ёx)a^rdtm_8)4A #QO& |hөNжڷ_{@Z@% Ih_[}O:YWzJ5k݌ `6Hle^u氠IENDB`% ee2x{PNG  IHDRabKGD pHYs  tIME~IDAT8˥kQ?om5X[(VMX00|g|]Oܭ܄mU HoOyōA&\;6-gR^k_^:&v[*4ca5F"Rsd;M< M+HZZvuH .4YجWFz< d0@*5GSpّܸɍ67_\<3$FIENDB`b2 unbxbPNG  IHDRabKGD pHYs  tIME wJIDAT8ݒ=kSa7iBVC.]\-BvpQ:8t)XB~TŐR"MHғ9}Nqcy_g"۾`@jtKivD+yn6.)g%EK@aӛk+_j_%d3UE<t9cJG-Bv*/@tʧ|,ܨW@毧{ /uFIENDB`hP &  0xPNG  IHDRabKGD pHYs  tIME 9IDAT8˥OQrؚ̙ؐ 񫠁 v&„@V?Drx`w -;X3Nf޼f@jK/jKvV/7h`ulwr+≠~UvF铷Oʹtb'G8!N$puƳNAw{>P>eԃ H.W'1S@zv%RnTpa|Za}|&^W4 0v ^7A©$>n2- (o].2]> ›M &Ru6h`~)$n}10v妯]cAa<˷k[&Ͱ6~6AKue+E^He#'gSxP&^;11_!&ip)YpBڠqЅ"L*D d/N9?`\k /KiAph䇣jZD߂53W v(4E$2lK_m\ %6_z0)P~I$$#Z(A 0$` ^>;iN\:[YAIENDB` D" 1x1PNG  IHDRabKGD pHYs  tIME.jIDAT8˥kaywrS  6bEJ,X ""v 1hj؝!_#d;03|BesowS]4FPePۘܣx>PNG  IHDRabKGD pHYs  tIME/6@IDAT8ˍ=kQ33;!"р2+ X)b'X6J*/)VJ*(ggv\Y' 9p9{{ιxtM|H.L{V @+i\^Y Р:?7o_t VZ8$@*||^} /H^B@|`K2< A&:V!,'mזpۧ=̅2@ukfZ)ז8}7vk쌄}Dkp]պ%΃^]=Jh An ?0O2#T49?IvߟpEGږ_K$ UȴR$ѿ% =f بtQ餐p$83G2C(22;ՋbtsYyx$txPNG  IHDRabKGD pHYs  tIMEBYrIDAT8œ?/ 9իowB֖C:ϵ1@ @p~ܬ}r#vv|=A-8  Ȳq6(@=VLv UdKBĂBFY[HS0hZDd{QH!p͉ <[0I5=hBj~c -)3gon5<9m߇B4EE}ɻ8~i]>hwSg BD?+GM u-HlIENDB`Zǫ=#:IDATH[h\U\93ܓ1m.5ViJS3NR(yCEC/J)HTTВNmjjbMӴc55צs|7 ܋ ٩&+b)@ ذ΍ZǶm4B6رK}3<\X 4ll@!аQu׈D"z]; %RHMJLZ)[\i boKB! 'f] @ Mj8L;Z;L< 鿽$DRP+^ӁSBAR۶5;D"LbPHL3#R A emMi9(?e~j~PTH!vf|^7DSU{zz:rz(*0YI6GB`x`x`ҝ%i)0u'---$ (熻gwAZIAJN`7g/7L}Eݴ5B*16rK~_z:O_G0f.#&䴛L@6Gkkkz[ָ\&?ύI>|iKQla9LS󮲻p8̓餪( U͙[.iNS_nj+qzyX H{p;ovu5xyuœ\i i:Np6N9EU$OPXRNL@,+ ]5Ldz"9ߚarnE◯;{uZB+̣83WȆ_2###)AG ãu rOyp恐P =&?o@om15!nIENDB`w A A )xPNG  IHDRw=bKGD pHYs  tIME {Y(6FxFPNG  IHDRw=bKGD pHYs  tIME 4 [tEXtCommentCreated with GIMPWIDATHǵ1k@iXiB&-&`* ]D t%_& I$!/^P-ERN?=ݽ"rDlN܊5.񵐈X5Zϧ-pJJ)u2R? yp8<~,KfyGJ\$"'I(*Ea$1"r,Kc,"w{1vaV Ð83[aEN%m]s:O.AK+p7Mc\4{s(s'\dYv[UUȲp9 ڻrv ;cHkWuނ2U VE*]_p24 yv:r\G,*T+Qd(˪An- %SEĢbP \K`pO"%QRu@]"D2 B&C9Q|!k-Al5XUꑕn$ATD X21H*#lQ|P*ׂ%NmN"{&|_(C ܭP 0C'YB_ W$Y4^w~֤h"?z1xepx.:1.,3~]ݘ$SohK绫/ nLq dJ.7 80$i'QoҨЙCc>&Zm툫WƹW%>9.qζ5شs|= j,Мϩy~~{dix9&J JRcker{ؒzt=]8OލƼZ =O:܃ $&Q |Vdzw7x21˶89~o>]h,Tk;/Q,6 x$܏32+RKpsA>`;Ǜpp [^it䏵rU;Wb&(]Q,>MS m;Qw/Bȫi9%aƎ}`@j(g L_>666vyÇ3NEg(V{17i= IENDB`},IDATHMlTUfZj @ ejAL43JmR7ƕ7D.ݻBÂ&5*6ą h̀LiK!x3:)+↓Mxla2==m%fs$L05è*'i"ZQT,.Z~(ֹ DDZ^aZW}B  *8ĢaD1qy E#mbV "Xupcz΃<6/"5." X*"UiHo1)UTU>v X1XqP+ FS@8J3l3ߟak;{u j*# ]j@z^1= JC?">͵kn?/\v?GB~\?Y]ZgQЄLV,'.u-111Ars7~P@X#|Iⷜ;wZOGDۢAÇ) aHP`qq@!Jx}׻Y/p(!j8 8|bH" ɐH$H =9DJ9oGp9 ~v{߾}3|RD& uX,ə~+ͦ kǩs<_w3^SՀH$8Z }d2y 0m? ;8wKlLqp,L]Y HRd2(###`!QT[P.9~c.hn;=+M &ϭ:16jѾ8Zq`5jXu(lr;cn<^cIENDB`kк +< x PNG  IHDRw=bKGD pHYs  tIME 9,tEXtCommentCreated with GIMPWqIDATH핽jP#M At(.FEMEܼބd9h3.PQ$BS83Ԥn~ܔ"@kݐRIwJ)W1ZZ@0 ,,6 >ϞU8 w=^@x ذ8QwZF&s`C'\~!nZSΛlM\?H)wZF<)cc/U!oc4OY|N&[y?uؖ*myE:@)N -D) B̗k; Ƭ_L+$l(-0#80 T%BR3qJcV!iyQܔ'ݟz#(IENDB`)]*>Tx sb``p  $RlI. Ap品" 0kH{+m.n~f6sB%%y% E%) % |@E{<]C<(Ԭ*Lzg~`c^L3WԵ!MY|x&Lyv}B# }~!>'q^1{Юfz/8/u9?ŧ3{3U~\~zwߣwW[ OzÑ8c_ XnR OW?uN M:}+rzH]Sˌ#[yMܹwM`Y吖j[gNIf UɼXﮠD+'ZyTCJc*v3t ##4ȕSrd6ފ$XH'zrQckm*I.cyda2cVѳå}sEAI7 FFyhǢhyC^ɣؗ4o'g ^/ o¹a2r]$2`_ F'cCryOIv3]_~c^^}EQV>f;'.K)ƍhȪYcX!'2?Iw6FƴKXB.o!>4 _)#7ωmt"OTPS5CIFYSfރ.01H$",)+[\ gjjdH0ɜr$4  3GR g"H"x|P"9̵&ֵQ@՟]"bI`fIENDB`A | .x PNG  IHDRw=bKGD pHYs  tIME 6b-Hx0PNG  IHDRw=bKGD pHYs  tIME &x,texePNG  IHDRw=bKGD pHYs  tIME  fIDATHmLeX4\IDATHKhU?1MbliҴy(j, .&WD*TAqA ]J@ ]4AXiJ 6}6NŤi vyr{Ofz±XwZ;u,CM9302dyqzpOn&= $]ym_ )愓CsD#-7߯nՑ$I)RaY ACq湁'!g p&r!hzbeXke~݊{^6v3W"A'^'Ā"‰$\ -c0G8 = 뛙IGZڏ Ӫ&,@yE21O;Uڏş':vӦ}4*!fyx~oZ-EPFۑN. rIs6;Mav_!)bbCHYcb'JOӰqӔ&h'}\KE}u8 3靰wafLpT4]ew) oHBK'/ϯ jqw!LE u1XȅsG3*M;ef;8:9^IENDB`9IDATHKlU~|ϡfK21Pd&dƋ<pL ơvI^'yк.V)bۅ _۽x) 4&褊T58|+n!=@4ÁWޢ=Ea?_I@FzI`0p3 "5ݼo6fg2>7dZr䮰3cHf.KNZ@ϰέ-nyh}a7Zk>I Azl^eω:yd f=*ƽ'&-GN@7?PFִ1qcd߅rȱ<# ýCgnBf} ?ïNҙ 8rccw/˿RQqλIENDB`Rg c[4:HxHPNG  IHDRw=bKGD pHYs  tIME  (63p#x#PNG  IHDRw=bKGD pHYs  tIME ;>2+x+PNG  IHDRw=bKGD pHYs  tIME :{1zxPNG  IHDRw=bKGD pHYs  tIME F*0X#x sb``p  $EWRlI. Ap品" 0kH{+m.n~c!@!׈ԼĒ̒ wO߀F>qnOkmP`pUl3f<`喊2|/1dzrBusV ^^mSΦbn[כ,"DjNam2\ W/sә}|r*d=p5Xß'Q_z) *pg>uIDATHO\esp/ô vH@E„FM[X4]ǒDuC$qS&bMbbLh%TJ̘dܹ302DX4qٜy=Rd8ed29i$ϟڢ N\krS3'}{ )KcL+IajDQ1Xjac? NN2՟ 4*`-pUEDZMvQD FK-l7:mX,@a%elD1DT,ThZwŰm("(" C+++uX\\K6燔޴20 NQ'k>r^CN$8Ӷ1rapp<ywWҹRvp<˲PU a>sssA(YXgq~x+S~/W߳l3K(}U677) A@u0$PT}0=aQ[?orE Y/L; ja|ddbHѠd2$k,[&3]]]r9jdD"A >J5J^7xo~koK3ʽҗZ;,vwwަhEQk]gc `Y{>x'0=:2x< F0 [vpÑ?OmjM=IENDB`pWE lIDATHo[U{79~MICJBH_@ ;$ĊJ !EPtHqۉ{ F !UlGxu%8 c)^*.~Z -沂S3\OiT8O/VlZݍw Ճ_t5Ʋ9Lh )Sg;x"@ 2$(xPK*AIdG˸f* 6D :1qn# yPa`AKlV"{۫@/O:i7;T*QoyEXza=5sg! ܿZߓFfO751(!F zT7hl#x%HGQD}]^G7k1AJrA.ëKsLGZ)2\>^'` ǁl•kwhni5ꄩ> >Q_?6vciA~!Oo *{x퀓GWuh(~?KLfpVĭ{4/.s RSy!f$ȉ,8_ebCZ6x,><K^#Wc,=Vw\:SRP=h6Y8P )GRLOγ|n3,<DQ.z8'-gyu:U8st ο?RŖ +4IENDB`<s IDATHKhUI23MIsiܨmFPjB"҅H^.DDi 1kmswLaEv~ysWl(<u{ֶf v qnMh+ k DVSm' `jDQ8j鹱3໾=IE⣬0\|  *8r$<?i0Ia@"` hV6XUD-VGܐ$<nktT Ze[`yjk}rl!T,`)PF%u'OW姏&8;7M&`36c?%&6sQ7OSDf&ٽ*Ƨg\ޕ pÅ;B aۢ~[6+l{-[,MGiԕ''X h] 5)q.B,csQ.|?IS<Уt_fV&z)*^mg& 9aRy]37Ki8Hlpba_ y b8)H*Y@`"j@@E0"Xjaɥc <ͺ`ꭏ727X"!AB܌xǙmL&:j[Ds3jYV$33F0A TYIH:p[>]d%@\$?A{SddS0KI /Nb<cSC,{m0_ǙB]e}_Yȳp``ϑ4/ƞg+i8NU{ oVh5Q 5?:L n{tzv=~<"NDdeMX_,:EQH[+sf`6eWCǎu'@HWP{a 8L~.rnڥsi 746|zDB5-fw!\)@C£8{SS.koÔ860Rz3{Xwe;sY& qT?H83>M /V |T 2CY $bly}McMC?H%p|-B,xxN@Xũz(iIJPr< ?f5ΫY$ q# QB! kj1u[_oG|Ir>b>wPea-*5vƲ13Q15DKDvCy'8tg#n Y UsIĉ8i粕d2.Ic{yǹ9<2?_s/䒿_H :;H$ljWX\j91YxMʶ8y{˳_"d~?@ϗXf`6 vw)NAvOvne3KP)]ap^}mkגɌP,B` RhB.6 ]cY1b1 0PUqg NC{n7φ3HP2pwwwڬUP pX:IENDB`?0 HH,5\xfPNG  IHDRw=bKGD pHYs  tIME  1z&IDATHՖYh\ewܙ;wܙ2IS.%$P}qCPAŇ""jZ}J(.]UkƤdLf ) R!o.ibwlwwwHsp6x b4MTU%j>a&U}( Ci꣢[ik_.DF^RF pC#L\N2`'W-<6 ]|L@G[aۙ`~~Sei*ct)[7XVuZ,,,L&@ AEQB^o3g0x؍4)8j<'"%^zVVI&\XF6?:iȧ'ﮬ,mx=(62Qlnn~ӾbtN~`L@S nfA!_s \CݰIENDB`E D7 x sb``p  $?ORlI. Ap品" 0kPו7?*B%%y% E%) % |@E.!$X{n߻+_qO#tHHH%y]ģ@ ~.g7Hs6j`x`PNG  IHDRw=bKGD pHYs  tIME  -׳tIDATHǵYl\ww}qfg۩Rb;%Jd좐" EPE$,VfqaeEPE@ 00L]gn736v illTYe?>+!tP! ++x`j3Ndr:"3VJXVʊvW̔~V{:ELTؼpwj4d2)>ҰDBκLRȡtwwhkkv DjQ;&x sb``p  $?ORlI. Ap品" 0kPו7o@!׈ԼĒ̒ wO߀F>q"sO o]I6nxxnМ3Lzt Xdƻ<6N|@w00xsJhe>cV:0x sb``p  $?ORlI. Ap品" 0kPו70`dkDs~nnj^ sQjbIjByfIo@x#8Pc ֞,hnW?=!)aFnuovpcACFUK=0xsJh!=OU9.x sb``p  $?ORlI. Ap品" 0kPו70|ˋ@!׈ԼĒ̒ wO߀F>q"O =7Xɯ_9yEAcǎWvӍ Pm1[AKGT) :_8Bx sb``p  $?ORlI. Ap品" 0kPו70KEdkDs~nnj^ sQjbIjByfIo@x#8PcO 7ꃾlLxr?rM+]9Ӂ;/9Ș6pMTv``X2_P ~.$A \04=\]?>x sb``p  $2X}֟0gz KF秕'28'*x&&TL*Jtq 8|aV)SP '66~7Tş5XWӰ_'"˫Hs1:#Zh:&,Oρs>jx sb``p  $2ܝ֝y 0%y0o?,,f`aFYs$%Xeԗۑ tq 8tnV i e 8lR8Rhά3UEJW J-fp!76NH]nOW?uN M.: i>Ki^C@x sb``p  $?ORAN ɼrؒ]'E8 <"Aa {+-66N-V2@!׈ԼĒ̒ wO߀F>q"sO :_%9EYkW3>deڸP0Y}@mK$^IVgAš"_`tsY ?aoBbx sb``p  $?ORAN ɼrؒ]'E8 <"Aa {+-66NuxordkDs~nnj^ sQjbIjByfIo@x#8Pċ;bB&toŸϫM*=s٣Lj%^rKF2xsJhGN]A>x sb``p  $?ORAN ɼrؒ]'E8 <"Aa {+-66N6B%%y% E%) % |@Ef.!$X$%h|hEThl6Y%o? t7t0ijF[-F#.) ?d]@>x sb``p  $2X}֟0gz KF秕'28'*x&&TL*Jtq 8|aV)SP '66~7Tsp~\ ʷ{{4o_S wctsY/O& CD 0x0PNG  IHDR7gAMA7tEXtSoftwareAdobe ImageReadyqe<IDAT(cπ2PKAyBS',aBq} V^1֧O+CAz}h_n-c(H|ߧX|Q ,a2yy4 /@SVjh l=']=K Tz\JZz_IENDB` I1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME !'1RIDAT8c`1Ok ).@7#/S+  !"".b Mr`K;@0g&Y 1GIENDB` Hb 3Ej x PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dtt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME !#8oQIDAT8c`1Ok ).@3#-S;  !""aŊ 06 @ň \^4`g&r 䱄#IENDB`%H 2Fh x PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F d lG\x sb``p  $2X}֟0gz KF秕'28'*x&&TL**tq 8|Q@c(s|#-o85]>?5m\[LAcCExmLK/dq+'v z W/Z) S 03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FhIDATxA @ +׾#Dѓ{-!`W@0IZ=J)ar[K77KLa8ZDO@?`FAp~2IENDB`ÖZ] `HD MxM PNG  IHDRa pHYs  ~ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C  VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxԑ 0CQ)I')t*HJ@rK_3@9*$4ρ)@ђX%-Mn~@gwr, t-Hy K(@W9j8'qeQ꿢IENDB`k: uu{Iz hxh PNG  IHDRa pHYs  ~ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱"  SgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FZIDATxڌJ@YzRy# lR~aLO}}2k=%+U=]AHȄ}˚ZNb(%hAޟв|{ҹ?)>GE6,o勵]y<_?n%+ͻWn>й ~.Iv3K2 x {PNG  IHDRa pHYs  ~ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, RJ( ?x? PNG  IHDRa pHYs  ~ OiCCPPhotoshop ICC profilexڝ!{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڌ1kPv2l{+d0TZkPZ1S KE@hLJc lYjIvLnyO{DUy,jv^O﫼;1?h4*JIpu ?Pn(J!័ʯسCooZP8eάe8^.]V/>&d8R{w %IENDB`#t ^M@KxKPNG  IHDRabKGD pHYs B(xtIME+UIDAT8k`o4IK9CnzEd< yAŋ$":\n&[%$Ox9}yoʅWّ AGWUX!ԝxao*H\,$| 7 iNL>GfѶ-o+i36C3L[kP\V}Fc}tZCמ t9m /7mEDXO6m2 }ځSFQ(H̞QYգpؑJ)>l²kϺzher|Hwꇹd*fVj H鋒gkh>X'Tǘfv})".sڮ_ 0p帔(זUos  @`@ֳ5 1IENDB`= CC9NvxYPNG  IHDRamIDAT8]_L[uǿwo\nl ,CSfaa AML|!’}3HQLD -ҍ!v` ̓<'''r1,I_TwYsٰJ>33I.vv's#a[(ی'ͱZdRj 23$Z|)lig{T*K(lllv{=ʮD[yeo)R)3RF,ڗ |'/v{2o=fj`ڽx޿8(֫g<+=}%AY@/? { 9|AM @G}tuu}>r.~WnJq+ ^wMӴXb* q.E>11AFFFp8i]B 54 nPa/Athr<y"X+ޘۂ(aYe"* c[s%9%kg_?9m˙i዗_^"v̜NMFAJ˜_f6e{n8atsY`[B)%d,>5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F[IDATxTKLug`UZ JTДFS#zAc|%MLFZ4R.iuyÖ\hlWvޝ{2~1n/Nd2qpݛng @paKCDx0 Ӳ^<#088o}X[]~R8ޚ$[Zxׂ*.?^wblVc1ΒH&Yf2O##|GE` ;<Ĩ9(3xim\Xw2w=U?LL< UG_b:9hV&irlS ZI0ض^,8J Uز,d0X%+EBD7(D##I%]*Z܎p]4VWd#-T'9 [VmY9 #oSUU0 )AIndO>iZ*Y͍jkb#_A*P2Y fUtS˃iZ[^T&HHXo'DB@K:*+8@3q.!x2jln>߈#t7)Z  H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<D+ |M>Fm-S b`-X`˻{&Žyŋ=.3̜=P޿3= h Sы;I|yxwX@UH`+ _?y:q.[u   8=g薙WpY>Yj(W@58dKA ($ W7h~>![kܮmjXmܢڝaJ:E' S9#JLs$I1&Ɛ^&iCw@ey?#-z8P'02eL,239JO?(qx7 UIENDB`ѓlyrIDAT85IlTe}o,.LӖE  1/h*L&&ƻ^?.-Ua&'9sbo/2A!B*R׾/aho$. 9$H$)Yx36:JGMn;j5Wt@jjL"T,N B`it-kj.=ffKcZ`ʱo~%],CyҲ}qꕈisCїbbE|q{A)q픅<2C&Gi:'#p6xt`74AOA䃕4jm|ui۟σ{$q+<3ʹa#Tw~dy gQՙqw&|++w^\n^Cu0ٙBtsGi ~.iܣeNB>GBIE^C ˴hhzbTtHBnWfgN16 [7HP(`&!iE-Iw?.}\)]2 h{{KaH'MLNw/dV!>6?rxJ4[]ttrmcS{jko^f@@K~ubO,eOIP6( T@t;,Tz9U*g3ݝBl-+0Hz.Ͷ,+jȄe?oVYB l66TВ$IENDB`< b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڔ 6}qDMH=w_be<<13ຮ/ED{Y;S +p1FRuRż1ϜsI)UAZf`P LZ=  LŐ*dfކ8%`s~ $6Y4]} w׸X}4'IENDB`M} >>2Sh x `PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K& ||TmxmPNG  IHDRa4IDAT8uKle͍tzo2AF&EEBh[Z QD bD QLDqf01a1E2mNgLۙCgyf *6>c5W&#"hh-|<NB)4 ,XF{?yoG|ycK'4KnnA>c;sy$d/n^"L 8$ b4Gb6Y=iXU_Sstndi) "x@ @47=I\6::6C Ξt4]]ݬ4sgK ---DVG9y'*ʃooZ^50e۴y (*0}e"8ŧ`ͧ6m8;g.eI$7HR$g3,s;8l+?~z] $E`6E+|\tÇqVd\G.[-aݬm\=u`MVJdHd&wpc2l'v\FD*f4-U91)7E#i ~ʥ]bJC& 8 xboTf,y0 #i!dP$&㥏v2}\aIENDB`Q ##YU6x9PNG  IHDRabKGD pHYs  tIME  1f%tEXtCommentCreated with GIMPW.IDAT8-O[e9 -孼, t2lqY\v^y&&F?`bf|E324a+m)Жsx#~虥MJ5lA)D!@KB(/ b^@no}bvsZqB`"{<}A@aB?6C/"ٮ[Dg_f$v6R(֩ڤcQ%UlP(nb9 җr `aPGDBϜb<}Orw~;hf#M Q+Am.'_`goVwў<4G~,hFȥj)J(euuG ѐ1"ە7xcc6,Ŷƀ6u*MU} b\+!(> 5[>>|DO0N 93or.Xp?b'r@ogQ\<3$IENDB`> ::BVxPPNG  IHDRabKGD pHYs B(xtIME _lG!uj1 m"j)Uv½BhQhbI]^ 'I4'ݷ@וٝ<爵ZjL:ɂxt充L0>ÍiBEOX+(J++[x (Z VH8?@CSx>JČ ‘Muh||{RS@Qg7UIENDB`W ``Y<xT]L\E޹߽w.K, cRi,6u_\SMDhO!BjcI5 PH- ,ݻ{:KD79s朙9s9S]@>qqg,"kcҙv\޳񍗺:`7b/vwV1>T2Sypx_oo;Q'_HtwwG#.⤩< vi_y1K}P(dFGGdE6ĊlT٣6b3 #688x- ս<_UTT2EQY"\|G H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`')Z:xPNG  IHDRabKGD pHYs B(xtIME ̵IDAT8c`66 _YwXimԭѕOIOa"͛Kq&lhh1X5w̜\2 bB  =cxk.HHh7nO_xDn|Ơ!3s6ܓ{= 22Z}5s&fvvF6{wo1]ỹϞ %cc 0aPec`bad];vrƂNdKYX[k,< 7/38rأ7m{e~ɉq2ܹs]/3ܸ/CW,;G0tv *-{ |X,}?щ$)i.C hGN\sIENDB`&*{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQ+G6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME7O·3IDAT8mMHTQ!@2 ڵi*@j!f}m+*"1Mm2 Zb&)J3i{Z7ogsιWD]hpU1AoFG)Ş3xwuY(iiLO:%uM^lNj_Td{JthLf:ac"@Oo68LƦ'iiH3$r7)zF~dsZ&~?BT_47;E*Po"^U5fo`)ѱՈ!Pb.S,Px}`U&@kPXWP:q֬:^^fw%m t-8Ie%Z/PJC odu :(Ǻ|di'ܸ5;?Pޢ{ E?-pt1)DA K\OOyy+?  EYV$ b",KIᔝL Y) ^@%&H^(XP5IENDB`^=-c5|KlHVA KdK /" a+ܠ&I7fdMS}}lkuMY 6SY:i4iܽ2 [&jLZ99}M5 F ˣ͘PO9w j&<L2I(Llr B;B)4ašST\&~tf3tF }:NmH8|2Th?q|[wq)ک #V+4[BɂĤ7gxk$X>-~)L7`*>. S?H'h__ i|a5D;0__7=q'߇k\ER}Uifpv[Z~hL='N5ǽ7)44aNzP]uxݵXaxY&a'#ak-(}- zB C;5:ej}}BOa =y4f u/0P_r(;s̹*> E?ܰ'VN0:W3{Ŵ,E2 )CWUXOѓ=L\y1iM]f0, sЅ~.俲6;= F0^J5nEUG 2(&lo70i.o?^?YCZ]<{"}^7NO,Ec+ kj|Ђ;k&771%yjsbOT^B~SC=(] OT72텭H5[J!"S[I6ԛ "}C`)Ԟgx#ao#rM/%?#V b;X&bH)7w:SYOi-&^o#/-oSRPw7-5ZwbCIde;]Az'f1LQwF0`(Oj ?FGGEX;csVe4uYZ_UyXWcc;z _gGvO{U*;5Y؅MqYf :xRjuibe"_xqR#msд0"fQ`4o]h}I.tH'TF&B)|)9}Ymiߝ'0#oZV#3_cnR_p>};bQ)Њ9nee;ӋfzB)T\$/>ý?RN8h0w:e}a@;}il͕=HfƋSԄ͵2iFf$(za͈W:&r/ R|4|YexpMߙL⋽iӃA9$ EɊ4j!"+|~hM̲`- cmaK}Keܫ45:Y^D$x~v#zi Ć嵐1aз;`dtײ\tO ;!N۽beǍE6(rF0vkgùN-1cxn)ޣI(.H4LdD͡jь5IqBVI+oD(d gC~./ʑ'U/A935=Tp>J%a ؃eKv\_*o8Op'oVD.0{s';ϯm# BzA|##a/71=;}Bx.qB TIQhzS{_DC m[(2@Χ*/eex[+, Uq8[uCY౉J3RsEK$942d?d?4 r>a6)U1eԜ_+![w[wE˜Kmh,K` =y 'K@qU[1'pI;8g!|8EX@MGf(w Qx{k6+N ю ,{2g:-#0EHp,+ES(=irdz,%5 nxt~mN1€(ܧ7{/ 3ٿCnWCK\Vcs-3|[O:0Q5K 3Jg bd]Pfg7ѫrW[cq$tsG\vG]ٽa]Ke؜`y]n h Z8>([W*fqq 9bv, :{0:tk"VO|>ן,iGu9DCބߞou.^TJ6+'ai0ţYsмDB[7cbWs.yr5xqwz/f@pɆpS2v:C*P'SA=G\ǁjr揿Kpw##aʓUԆDW> 6z"I$vD+ P-`,hۀ6J2c˥Nwpț>:Wg,%zTTT0}m&dml |` gٙynڽaɵfH]7d.gm l|ma^|5N$Ȃ>yjk>ʱ T/ڽQس40K\_sVc\.2aeg="IއZ J/B?!&&xzjgVB_!0Y05 3)&x|)NhRǎʝ%i+`?R֞O gCk0k&3iWByFqO|祒 6|C=\u#囝 : |@. k v|@ ~WEFjQfyLncZ8uLݹnlMSZH.`.t@e .!r+(+dRq"!FM@MYhR|l13 LЮo*\hWpxrlX:%A+ÎYˆOoɿDA#^r4LEBx$Ɋ5&d[!\R ar!d4aq7>Qpm' VyDn0hxpF# aNdVQ\񉩧ތC:#Y D +I= fQ@%!kdm.P~m=duKjpڝ@Q:LOCmvTR'+c RYr&X}nGpnoRpPK`Zh.*>JV.k%W?F3.fB `g}}y uן?0Fpy#CMr }ߥb-" |'ŽFtAzkV<|v9tX81dO1?!)|xTI|(K hSgfsW3as흔Kp]l_,aQnA}?(5>LtAL f9X#hnUa;p[ ր*;iȁXdJBtQg{ԒR轁cST!ӉpF 0v`D)Da$xF!9\_[okъCXOc6`$TH-j"IiPes;-_~e YX c,Mwh01=eYzP-4m=D/u3Z_GA}!{RD~=YfG-j| ӑ|K^CD=.`zeLlhXp_J<B)tD;oN;tv4%?;ZB B hiSEFMl̆<{fVm',)uq-9 wHؓ#<\|94.v2ʐ5ԐZ aԅE %qڜN-!-Ϙ[x&CҾ5? u繞Cէ;?{bq7*o5IB% {ɘ!k|lR9czW=W*cC;Gs BZOo[2QFJ}fD̷ e8dj_p;=`ߣE7^oxoAk!/d\%ϋ,7wH?~Gt /[ l[A'm}Qߑ۰IlZ/р &B>t{[1֒xFm~h՛Nwʬ4Z#8[@% :轍+Ŷ[w;<&ϻj?j Ji8baX'!!f/ ʰm3W]+=̩z?::tb+#1evGO}<=5vGS:ڑi4mr ]}Վl9?Q?Í^:~Ǧo':[, Jtin`[N)ZY.Ht ']aF [)ǘ"*+D͙0)K;sRl=4$xۈߖfDŽHB=d }gU܎Z8_ 𻖉% \fЖ!tT[ c:/qK Q6[[PzvFRl#ޓ%(J(j䯮RK$mF|,k'^i'/RȠDބJPQV_Wms\M~ Ζ?mKKG}M}2KGVح 7<ăKwI ezsL@=Xyp*`UHF:ЏB r6aǶ 65ٸ?=*MbN*)49I}lߺe؃~t;duqcH06yX:E#3R=xlܑ6Q61G/RTW% ᏌwGm=˵1D &/WB@4n/BU joyUĀPpVZ|1nF1'-Ոk/>`]-_ll+L .CڙYso2VVARzI׹>*|*& LjtbH gr~ֳnL鱜-/V@sgh.wH}YuoP5|(?Ҏ?Fzsw}4j/ 6RhRX%* hEN:#;=4UU/hj)T,C* !L0+P>g2V]P)HoDWq,n胓o@drNvt]ܺm 3<9Dĉ>٬e1(zoJ3:,aV/ʭ:3SbR|ڗZz6?/ŵFs^}k-cBRhq`[ 7h$n.ED룑Ơz;'DD^911%'$ =َE& 7aU]~epzBe! X2s}Fr*SY`5wp(:bKt3 e5nܪ ?=?5ZA.Jd o *V`_ J"(\az =!)^utqBpN>xt0^3yO7wO cg`v:g.=cw KDΔ2&8x <eE\0Ɏ$*܇6w" Bh]s1v\\v²k5,R1z;Xz-D͜˩G|LDI%Qa,Ld~ZCn-0ŸXQ%)#JDRG}ZV).**IKWB Jk/GEDxwm6u<97@gIbUJȥ)~.m'<#dQ%'#Jz $ԯJJ? _sk71oƗMj #=\y=/ J|9hK-dφ赘>.)}  xsY(p|\HʯWcQ?ۦ/8_޿Uxz_kʔp[}˕sH>[lzu9 Q~/a o|rF}d o*<΄gp3T  t( sZ!1ZąшQzE[pq\^?夽6fs JH%s~Mo-O7C~١?YhQB-! k'Ա!D~esaZ'd6!mB Oio]i9dSkHLM{~rFng"N}>S*?_:k \W<(hjw20a4У8';S ecGK:1{囐9˂ͷSG[BPgC^ap‰9\`+4+ rW@G~Q+D|6G@J2L ǀCEʅtg7[60+SF1ACG/ٍr K{c#䶻$MZGzCBTt~hi>4ddpbT5{ 7 ؄?V:r  5ɃWLqB572gVcH5a 7ewzC@BOL\:n)M 7% c}Z66okKo=wL"zhh& ߏpuICOұ~/l/ !hh}Ui̗3AX]z0XԭJyC#Mt SJjiV)(' !XQ25ݬC(\&8{U!glĤ]HW`򥟉ҨwbsinF{;L_˓\nXzrp//7ܵ+zUVI[,UK4.ųGL&۲N#X?H<ْٓ-?hR\Y.aՍ"A'14\3~5"Մ״ϔEt*Hds̓XSoNsV%$蝞/Tzn]O,_ϵ.AKrt\歉?a ?umg .H{ _+]OjP2%,6^6+WSC˗yoB:l}/iHz&v 7HjdWEz!pG,[u@jaߞa_:0\vKB|=I89Z9.hO9ٳl~͏~c\In[?/UkXm-M.e(@ucsGn?53xG^:֡r{ Ǐ g Sn Q$,^Ѯp?O[I9q%x0pXQRJrb9gv[24w(Cw-g!m`3x#u,PKXNs,$ef_xtW$% ]"C~f`\H=$o)J]cSyޮVJ><PGL+bb3Y@/Bļp؍E6)].]XeN@yt/ ~Z!]%\$jW`խx= ڟҖzBј$3Q0D[,~]gYiNd$)71TΙNL%#ɐLqᮣJsyp"5ԢedU){:b>@t;r/b-2k+$^^I(EjIY0/R[Ç^T?7a(2y.Rj-t(FӢ,a]ƓCڨT֔D SM>։*1Z+ed(rpBr UK' ?n۳S2!k[~HSES4CC+q?G4|!r[~. ;빟/Pn+n;kϞS{u `E qVN<̨71C%_)+ַ[ 1b@DܦB&xJ"/4_'Qu:ft_S1 `O @(-^B4LTw+GL߇ Q OB}x"8*ʗbKJb;*b(mǖZ^̵& X 9윔'Bm&Lo8BFU>A,Y="Y\VѝC_KI8z[oin <js1/H3)KX!9O-~%z4Qi x-aN="=x.BvqJBeQ7k\J/r'wJlϲw??rD漡hRQV 7s/ʗ]\$' 3UC?rOf(@f)-[\4!u2ڹ<ۂwK/JAԸ> L*.y?& %YyjBDSǒl_ɥ*/s NZ۳fN=Xc@;{ ݿ'>(;ݷA+ u7~j=]Jp ZGBkBM^Iڬ^ӆh-zQ^"~)rxvD3ikBCA(#ߦdTŧ+|cF ?0Wu".zc#HnCoqahf %i1K{PDl8Ch J.7Ca(':P0¤n) togzuQv2 r)՝ot搉G4/CYB>~M1Pe}WB%\mAbwˑ@ IޢQZ&G'Mǎ~kHh؊J*8A}l]YN/(a+l +A3iGBw帎Y:􊑘`~'< | ;uoLyA@sqhWED^ƜNLJ;W|Hɹ ߤ} QuS|Ak˘3<~; Aւo^fUgcgMby$V<ޑOD&7l?].DD_GmVf&sѝĘЦe[>v?CE'GTa˔2c)FGJVb)'SY(#[M&U; ziGs[t}sD9DZ#{fb֠h7;ԐR^7;36XDF" $ {>_Bnmm0.뻔bv7.x\3aky&53ܒ!jىH!"lZN1jJUe̜$6̷96`v46#5 YtB|i3Ѳok2Jr_hsX&bQl}'m^qPܑ a.JF8(O^۝h32 e4ѧx/\ZƲO_X/dlȧPƗ՝ML]KrA._нa1#e:֠"Ka#, JRN>/PM^ $`=1Gf?^ZFĝ&ACqz_1^D>@qxAP\әu0V+mR]v&MlC#8s"T{qhTc&7sI.B0m\NOQ "T|#}L3~|d$/oIG ߖ6#MeòzID UIi!k>,TӉ%fDMf(#1EM蝚m ;=йTIi,0Q^]2!wC1.]k*P>0SK{C\uбxpazzvPEfÍ"2BQ)M͖ U`^=gcy.l2 h %s܌yi%}v-Ja S~|\ms>)U'؈Q)y=k\]-``JZ #q*a}RBKңG^). 0:ʫ#0_ȵ33~aK,f+ *ʶ;H)Y!Lf2co#)(/Ss(f{$@ ЖR%g72^ KA3w.nLjS2¤7TTI`iO6/i'dĿ '˻ 0f:;.rţ2tx49gݗzZMʹ(Yû)ɻ`IH*ow>(c^py &1muËIJfXEf)6\mEA(wKo2$Tc(dI^0hYȿxSݑݙzW0r#ݾ ZQ$~fT*n#!y}R脘hh^CarREp 0ж):XF>ܙaPGo1a|a*R`w RIZk h T.֯MVJ\)淟ي&R^X3琱ز@{SA #3TQƯDRAv+ ÈXY\jnefNI. gV rwck(*ڕ%E_dgdB'C]pݓ2DjHe}u3c [=0~x&%\|s}wt}+ +mŶm۶S1*m۶m;sYs}͹8ھMw>{zgÎ@[Ms;f`gQ&'8śSJ$v ~{`/743U \UX'7^짦rmnԡPI\P(Q="6NV7 ;JϪ^NdA/O&EB aתjь74ԐM2;37VFPR)JV8nnRmO@+%j4+X{%%{4'upi/^I-?(  ̱m_z@ƀ/23!1$҆/Aud_ĚꝷyDKԞ\{l`#SԷG,W,^THGaoƄ{o'~g<9Y0lE :J/8T5i5ut3=62<0CgȾѝrl'k _4`kJfP-ҁ%qB)"P?GJ@?呵9~h<;KZ)\5)(yEgG)}x='$C .Zk\h?6OvƑd);F׍fgĕT8[-Tm<*ޯC6& oB[y[KH(|=Hс*{Dz9lَLVOɒVRT8_6,ύT:ApɵnBVE1çWa 6܅y٥>oD tIJq϶qզA#UE pOcaEasbja3o7 Ua_Dlq)9mQw?3҃>y3K>!5m<2G}5h}Vв<%$? 3TjX'2fzop׸ Gp0w)* P:  &K_o-R2e@[w81܇!v"WXnPJr4]0z]˶cqSӹtV( *Hoݠ|B*NĬKSCj'WAD)-kwx:7̶KV|+}c F9rlI:I=9%L&".rO}98Cڪh H 9W4:j5BT] ac,Ne5ˬq̏F"͘Щu@@SLwBxG!&嚺PJ}t)Jm)*%Fr̻;=xU2g1 ߓJ#e&tTha!\"M$Aq7d?#Q:}? }%.bׄ_SԱt;($X-u{^Wхn/N\90\=w˪A+2%\#l_w's%dCbx\TĄYk#n߻X9-balPA4cr,z^"IJ?4rx iga'FȌmNЂvR9 gX+ԺXP*&~7@R 'TEP (k$Uzlx|źߒO X(l8RI>{0/0(yԥg#,5UEWgK{NMHEr眒 Yg*,&TiWi!K]"&@ DĺH2lan+,34M"_n^d@l?݉jSV?}9w] %7:A1f@/E\NlCa&'f6K\$mV~A- +)Fj7gWj.% ߝ.Tu"4WىJyZ<3P 5RrRO.+ 0/&An6%! 6XUK+INdd32C$b9ay>(ZYdUI:"ϐ^8|sњ\ym㪢$ 'b+=8Y,5B( &("̚:@_AVd.E"m럜4˶:sY8TJ=!¹4r%S}wMp=tyuf#.P=)6{^sv3C[FbF6 rTO uŶ ߵcq{ ư!- ^ݱ_7GRH;z}x3YW t@gyf b8 ]&N&h4)Ĝ[j/fdco"9ʅ%S|t3k2|= ' 5R8LS6ˈjz]Ůc^5nD׵ۄ]J U @[@j(& t$bO qXPPI s i <_^%{һ5q^G퇌ϡ%ZO gj]10t_87:qD-'%Z"&5v)'lct^ 2"2l?:Y .k/âs:΋TXUpc! svj< gi^Djd NsۢS{$7|B[*,"DL wٮ?I!_1KJ&ٯ)cJvZ(^Q yՉp} 'ڙpid1jHTTV(Y+PdɛeS\wM-" /+2wRD$M~h%׀> )#ڄ^F} CC9.&O"tn1nxAEeQ3?mN7=;mn>CP(,$swzEÚGz;ӒyV&c24:xHFӞ:&XF'8W,Ul16ʓUxADtTr⥥ ̸IR'?k8Z+4Qyju"Ԩ(o1itD:bUA ޥYhd{_* + *5ۖ㷽^V1 I)C߼fe޸2MBf=Pe1nw\ 3:GQ$oU9<3AB67rp2![ ˛Co`b9[_n(=BVӐB U coe#.ҝڎ jV7L?0QDr]Oh]Y=&VDC$rMÎ].ˣVE Z@.v;ﭖ9:FjSnD'{T;Yz<}dk,,=/WO TϛT:Ln.1 f1] 5n+av*HzKB*U뎹&+[O# 5!iQrq<&~C}{51{yb;jBu[ $#N*<UgZ(LGG2uQ6' <@(TG$Q@Wtl.= mÛAZHbUЉI8fi?22&DcP@YUazv 1\) 4 RVp347fEEhjf3HrQM#YAiZCwL>ff~mƟ--U=MfJEClf,frC>:V;=TńdFWw-h:S-MIXm_Du/ b8n-E?X7嵟Z/<.ԝawPaW{ḁ)M3׃5h(}>FPVϑVoI9RJ<Ȱ1rn턩s'+m33$ >ͣ[x^2Ri1zH h2 *qn·j(Ra! *yPx(W뗣FoN}kxxJ IyN锂HhIղ]A@ӽA2anZ`UV_u[F#6bavlvK&>+*&2=?1ʊ;纂/WU;G6;RC<.WF^qnqڡjnKCchMR|J,Gw P"#c0V*ӣ(AO:PqJ3]2۞ૃU]\D}K)kQ@ycZTFQăMxDҹZ Ɲ`Wt7loD2wd/t4<o}(y&rRmażO6TfohaXǓ-/c5EVyu `jhnTڛ<_G/6~l4A9adoQUH.޺ZAՋ9Ss8%SlSn,z1cRէ3!f^xWsYlf&/b{; D j1EK6;3qƾXz8%UN`2`EV)1àbT]RʼX;5S݌F1?u2-3+hځp +?b֭Z›\d+h_ yѿh/-P5uiFv/?F4ʘ\`|\""Q足-J`RU~,2һdo9ȹIILcM~CMccik*HcώQ+A4ݫ-15Ie 6gTC=IX ׌6/$$ۄxzUy8\e[zVSZ ;WԸ i2B6,$#hMXDu)CaR:٬0ysNI ;U6}OLB̿SbWJ!jEdElv{i:{K9ln։טN^VdrlI'u{p^]\  n '1uAm_eOժ/vCfu9[nk'BzJC$Dqyo29YFP ;\o(/zNG,;bl >QtspS0WG F k9a#$pq7s"|bЅ[h(PB, 7n&:B3ߋN B;QT-^|="YsRӷvcgoB6jeS*kO=Dlo.45ld6nj/n~O$Y+6D2\JvbN6H< LCQ)n(^L7^,A4 ȒPzme]ː~|#ͩp]CH%}\< 9S@jvݓF/ x%:6&1x[f8ճ ݻ?`+U.zhv@7-0ghu-"w5H_)ޫ ~R۩(g<ǁ FaPL-MDN=LˀKSaR-=2tmַړR1k򸘸1tb}#zNg& AG cr50fWiD̙clW0c>?:iPKcGԞb( g&2o=3 [^ՏuX;HP(d$CNK2FSDee#a;߈Hg{{̦ngǽZ. Nn V"Y(#m >of,6Q5#d&6u0+YQ_Wm cl!L`lwhVMPuu NdLSQt]|ްtRlK*ASBw)b \qIJvtS⮚=+ m-JqR WKe{^%o81h&cseI1@SG_%d"pA}cWmDxmظ2*t1˽H Y3$EJGz$Y(^f|J]#S|0-|BG!M*TtdL#U}Y *{ROn}wyonIY@J^Dؠ}c SK(54@'2'K3], 2qm܎uvl^Tѻʊs\: ';$ 30u{xB4iAѠ(^ʬ-S"3ifW ͈Yʦ(1ZK~ Xr-!?};bs5kr3',Tb9&##dt{%ԓ.쀕'z؉~4`{7_8NLɩEm q։y{ (reE"7XAnz ~FZ4)bt +XQ .y!u}ivO/N?T]-w[O E[L 7&K Cq9M4ǭ۾N~fl6-VR1#;( 2#sC˔ "i͘%tREl2щ˛c+h"wrT NqȀ >*5h9M^Ք6Y ᎙rYJG@_PXv븪=&e'#oX4Fhmօ<\%^x8P^iu ȶӨ}N` jή-@Ff_cςXaOqFǞ ǮfC%_'B JRkwsHA/瑱5B]nCz-wt*,f |P9*CTqB](9=sf._vY=M)C9̒u_JF$}*CB.Ƅa_1MbnHws >ǼT55^@D}7 R,L.[l}h TWS%Vit60cBcY봁k};1D kit`$ GrUTx' Rܑ=VfTi >Jn:-CDo:t 0eiNh~[騗@L{AGH0U2W ŕի"oe(yPkg +*&q0}WE'z|`\NYfwDnΤl3D@mWϗ1֏UXxCC#Yn". GC^ ֝uH}r& ݎXR aweVF,mq7$θ+EH$?>J`"d姗Ү_8e2-sjSinβ]cf:UTIYMFk.yd(_!u0bH';:ʪ=yz1m1qB~UшN92u&ư]53M(O3zYmZ!ݑ#us97b'3f[prU=T"]HS\\g0,a0|\['^0b0(ɝt⎌lUǢp~!˰ ɑNXpIG2?ǘ fK[cFDb8́E)EM],jy\Ds'MO|V,RNIHV<dz>Ov*ZmdOC7Fjy9(E^՞6az"aY2*TfRаG%QBmUN#;0Qs3.ib*>K(`·b7*4 pT35F#Q?_]V91_0TGQp^ٿ,!jv1oksW#kT[Xg'nر4w[ MDHfiK^N2C<2,&SPVUJ$BhH(3, ',.rGK'G DnUCܓٱMTnEAj.FћQ3HosSbZG&9#])$橖K~~2 i0&N_ 3{ó\/P376kSmaGzadnc6l{G:,{n4}[fld(XەoSA+‹=j6M,t Ї: ϩJWL 7DŸFv 1+~wTº*76*qލtёi }mOs<3}YZcfF@6q mym%$=#*C!:&z SҰMQGn.: Lw(Grء<7bs3NIP|Mi˓=ဓ.J.Ϋ R˔e\TX Tmn|p^Δ Ԟhk= 8K'U]dzcKȍuE!x+ p!pg"E)dSRwC# R.슻T]'dnT] ⩡D1C?YvE/㊯r7 b֥nݬy^:qT3 SuT.Me@䢷Y܃D-I$e1rff/K"KG8=zTn)/ɏ?Y%O+~rZB/229ADBHӗ\;UlDϯuBMtM}!&'z^D u'b:T|tNj`72pa!afA(63G>inPNhs_ųtf !!Bk̼c^{SSrSrTAE|Ǚ2s |G~ƒw%39/}JH(%'Q&gq@=:0c;2p ez (>[t#[P&`쪚hz*Y]_R6Zeaw R|`4wd',!*ejK] .r8̑1>[5-Kz/'g8yȝ]rGseXb91M~x4~e\H+aA 2_FC殤ٷЯJ{^bb&b!3dO -lnq-Ӑsu(5bI/*2;W0w^7,WAo %5eWe A^ ԏ%OQkJ=3+S\HKU+T}q雤,&ܺr=?$bhlI5rڸ&??P{ Tg2,׈_<5#W|ʘ<  K&%L'@w=++TKb*jϕg.+aHi_?G#PC]}rRX&+HBN7~t*nRukC.g֬6n? RXSkyφvo9+ Gi[U Cֹ~Hsz>Bꬖɠ`.*Fcv9BK5Y[eԍ`tB+!RY uwB(0t<6m_&!h@ȶ3nX߯vrU 0QdڈgCOm<&ywUXX@^P[\}d_’@:~ZpTZ(i-6qivQq_ ꘽b.U>I~LF\cG#6m `/0 zI3ʫ ^RY]-, ܩfo r;\b, G9昬V\JI/talX3#-J0Fd7-Fc%|+Pqͼ*Zu)[5X~[Jj)+n޲N'ݜ3ͻ4++a?e9;"ĪqQHI`Ŏ uP0L*'^j2}7MrkQC+U *EIN*( 6\]ö RWYn QSfNXQ}u'-R*ɔnߞW Ootg|C X6jW0r[׿`^zϤEBmi ^ֳ"Elnަ/P6.6OJDڶ~9zw:Ģ<{!6F+, z]}T~?ӷaP-8[[W /,5lVy3$EgmjU _sutLf+pLN4,`YeU\a嬵#?unD JD~\=hH=1I",|m˻f0i)I@Zn*h<gԜQPs)gmFW.;;2 !`/ۿ;ˉzOgCC%:ɔFB`Sl>ǛI\/G 2'*|)O:FSO&etOGx0SV{4S" *("a5&2% RrzQ~<n -ͿcCɄȥD;U onG|xZGext8$O[A="|wB<k]h^VOn/Îܝy$ }L<[ &_ԮY$u@jG҂F(b6#er|W{( s>4D%#=0~Ȼ/K+;@O˃q+/޺gƭgdaT (*ԙk={' ps) R"a<#| F5b~;JF++_ՊeH<A2#<А#73 \MY2X 8?^D-? y fձ!.UwJN?$8 |d?  Sj"Dk_W.\Hm L'3 mVl$ oV߁phh}<`$d=ӦցsWɗT.Ȼpȶ?l+m^PSh"B|Q 5t,'}6VI;3hsRI?LŔn\~P3i3eOtӑA ?&rK/">nEQ 'Βi xxII7^_߇{mGZO 3 _DoY/si& Z `><m^/i #Z>٧T$<C1şMebMl?#"'RC;߭,G'%Xh=7m4p?C /*;%xB: )Dw>18O*:>()'-6b8u .k#Xrs:8p?#Eh/S HQٟR%a Á@miY`-}щl$wx \myFwM-5SD0*UzqZ`1F0d=҇vn5yRaLgCذإ? C |jr  ^z>W馊50kX&^lP-\dsOc0ci{uF;B񤘚$ӂ,4Uja֭:9@~` g[{A; ʊJ+9‰fjtGBÁǧ_=DK©YC3ѷޝe;;rԩPGC6G "L/#% kw;b|(+rcET/C)*+RCjp/*1mNclpGR/oi5x\X*58BW[RuwY[b ۍ=gx4Dr;o<(h<3au? *=4IS_8ޒRJ49Ǿ*b+Pvh c,3_d7D?̝pvZb(>}p ԎZRZuD8#nIfC.Ċ'qm@YBϱa~Ryu̩ ݹER>pk%m7Lj-'L t<{ĒqQ;([7e}Pyȑqwƕ kC'*} G]":Z`ACIz7calBߑpZ߀G=gJo0$9h92*h~Opb9;J F,`2[Ro؏''v[?^+w߀$5tv.5QiC( /Q\/| ǦH sfI ~#&|&quk'XŅS Y%LͷDH$v{z;tI[qy=26ԫshkٲV(D9 U__Hc*Ŕ QP}?)8A5^m295 )p@Y{?Z mq0))- R M1F'nldÎm,L#gVn"GU=iY-0YU&$?N9 {Bp;4uԵ%vo {e.D7 YQbH~pfFnXaݼg=HǚEB-v7J(oa$ōD<Ք^~j1p I"u?P",U M8W ӵDaT/Z;WhE,o5 hj `]~<|90ς&ADV I9fWMA/B</g<'PM&3;jen*Tcec% 'Q>[>5vٰ0/IA(P VP.u71.XPhpU?zTs j=Ț+z<:ebfn IdFhéqmuSˌwQA@Fz,O WoDKc+뫐#' ֭ /7,%}%IFEy=^LĿC@j"$_}O;­d7{NŶ/ pv_-FjpnNO*v,G"4vƠ JMťh)EQI^Z~v>2}c@cyM>:~No&wsF"3z(% "PdRŚkJ_YfwgR 4X8ZϭOz?6v45OwcUHuSoӇOuo6&|&뱳~_\>VtzxM/sJgw 5#5,2cR{G톍#BVn2{~OE50я#x0tRW[{؍?=2 w󢯫'[h4Oe^jwyE9>օR1+ށy4zf&cbdQ%z<̚H58|{03 A/)D~ ԅ'PE[ZSk7Ps i'<Q!q]A 5֊pP wl V Vg͞3ZX[c践9 nR†NP1BY|rDᱚ dq#^)E\h廾z,T4knIJqw^3Spǁ[_ެdcʥӸ_;zBLn1۴ 千'xB43nKG[@S=zU6Й_at2qH7>4t/d,SOD 5wV uO3#$m#ȩnp'9n2joE:rkV[{Y+"]s!mଅZS] \:$WO hÿgZP_}?q!=sYNR]#׏fXBT9V"^cCbp~$Ws#c~l^*K[5E)Gcf}j5f/Jq_Xs,ws.rstIxXRRn~.tcTU(9v +&nT niv0!?/<)[n7Y]6CA=90pD}DH&f D7〝R)Ãl>ۑAeMbc'?> A ƆaJ;7ǝRgC<4:mZԗMй,Gjq*܎Koo S&+ӏ]M#sfb!MBQI<v$ӖԎ Ҹ>R]~N%;qc^^Ly1(^30*Q£#@<%YK y+$$CZb&ԽEX%񫿍ٸ[9Rf1?#>7)cڃ4FA7RI^꿹Yysb]$C-m?xr~Z^͑8:"JePE)9:³_Kg:{Vrܯj@ŐttO54 ÔQOcE`CXUCuc4!6ll&CJ高l@Aa08<؀ u5"u@ tW.xQ rrmƛ)-ɬtg]ذ$D>a#C8Zɤ2~FQs3;GK7ɉnkQEZ \U'l GB8.] gMf-Y^^ێuH7;a#8bstkmMD!7.+8L-tvz>~p}~ϡX>l IK[ۮoU6uزZ 0l|_% )=C7{m4-'08+sh5ʺ^P%oBP 7Umf%kqj8#OKxكT.fGLi1ja _&ɡ(~ُD?,>ɉfw|&xXeSȤ&1^ Aq9xiVXE<εᦍC\z b`*%pڡ|.)v1?";U5sv Ʌ&c yˇƵѠ$vu M&sQopsNzaՇj8[y#f]%Ӎnꋾv1fcz{-: X0m[1 BmP?4cb=ER疤;$7d6N(H$ffS蕓z,M5jJhגi kt5!ZGP*2EtҨ]hV5!E>UK _*ڔ- aO/w!:7o9Yw<-^/z˗lŞ2x-Qpܲa%vxKg귩R76ƈޖςNdNІ87jd.1 uv ZUo6H1HqUikd*ծ:+!n :NHf 7O`BZ 7C#E~;72rSҼ&qsƒR4;?7g>sk\ qp>d1RQ>|}A'"E+yI U^Pe(,;ۅeK`Me'{UJTSgm\l>:P߃5Tywq17t^F󥣓"u$8V_yKp<x-܌'7^3Vg!wvQ™zE*u9H*CdZP~U/ϵ$yo1@S^-5n\- . &0%q v?ZZ uTgSmod^$Ce?m2|>9cMYt6AA@j'ox-(`*~(ۅeXdJJvn, AR aC˞E/˦ǡs.Ki$;BG0Y8yGCGCLNZ?Ϣwc(b,~v/'}> IDATG Þ%̸A4SZ{ǙOaˊmXCUmm \x<\0cE0cK 0I!)lh2Sh7-`.&M;xjTNF740 f4Tuq4QEjCM;5S}|H1іpXgu3Qc2]9TkCCaR 1Vac2vWAfφA~~Sg=>[pFMџrPy{O}'Zz f/BR\pfڿb4C3&$dFrGm+Q8F<|Ct|;R5]&gu*P*:`U^H~.mJtdIœ5Tڇ_QSnjU4KB5$`MdQ3I z(EPwE* Sbpy>TF闺R+"j=P=ITf ZFkڷ-3Tޖ^$J(\5 B9r  ^-6 CX3'Xn9d916 F ʲoW.š'U%.u+o]|5˝Lx]>g9bdГ܋ϡ!JOw#Y v#1Bˏg(|?yzp$uO=(uw-nTxMA_X6!Ɏn·[w[Јpvңu \h,!hcDIldIv$Jx{=OMj ײ![7ALݦ `Y@"fd-DzV$p};-%.OH ($[ pv{8Yl\c<[`Zؙ3#ΰ SzkSeCSb`4qPw*JOk1| s%By(adjzt4'Dv {JGbcpxi_Uڻqgqi;xe8^ւ^FWeDc޾7I̻N;ޏx;QWa/^hoƺyqx'U'0ȴ4%ŁgBLg;*@dQ%L<>zׯ zm6puHHSRIJp)LUu-8U]Wa}s`?UATWR|/Q5RNSRw\`/|zWw}'=^'8`K s,<vM}Q SmLEqi~|9p"4'cuF'M *-&GC*U5&}O'O'5G缭 0RWvd%0x< .40ȏ7GQlro㍨8xcڽ4  ~uigPw77ƹǷ"69`W]=I(d\+ 3[MOѳ`eK@u?{_=N(*džގxk1-w3^^y:ijۊb?ϣM8^)(ީ+'gbUArs<uJ&U˦4+"KZjI[.&o4:΀fśP?S*]ﻁ6l8=84x-/|;F7+~q od^`o0:- e'pzH3(j-G`1y!+憅?!e2Iz,'ouKB8Vjwhv>)ϾCؼ:W3VWiݷ-kӷc8rJ 37"Xyϴrjpwa4+l6xmT$?ja 26C5<f|v0Um*L@rH"DaDa^V)Q;:s"Rz/^~/(AE {w,T߉X\9Nځy({ ًlENg }/av9k=Hf&$AłEK[Z(mH<@BH df2d=kIa~6};{=N!7[ᄆSObjFURڢ2he7(&$`^BX+ȇpcӐ[m?֦Qau)H#};<>|"w."YGphhop+^~Ҕiq1Uzſjg7)cy,?˽B;_jP1k嘈KG][*jNИџ%gOfW`|Xg[naf\_YRe:G@#=y4 4\Rڬih+){ESug5;/7G=ɪ2@Hԧ>t8\W^ޗ4ܤrhtWHquC:irEmZI#&W_pX6w wtiROw&$/x m~/:jm(4+xxX0mrOs䍚gl']u>3uujP8^79E7GW>D t(t( $Tu]~K~)6)Eqn2e*0:\ ]Is@5nX3@?~~z[u%:4?c<8g? љE 9vFxܾ3NuΤgt'JS̝ }p;\vۻyMA=/yd$Ц:[tb }zߡ77񓭱@!m7ib(`N֝uo/#}Yza[.ʏOՌap,csa$0Kr+nm?Sx4xCJglAɆfS.jWsy ?z{n֮~wժmA)=ͤAKԀł$ _{>'0x_-:F5C6❇O;EYoNeAD(5שZa`Fmwjva/vb?"`D:AX kO vQ{dh8lsPHj/%i5_P| lvo~rwQ7<։(@J2JQdkWCrY@.Z%4I:9x+yz1#Gr||V)+1z`(`0RRmڵ@fwUu}^n*TrIUuEt{mQbqkӹFazoS!|f,JQt>^H5V?ܪ OhSgG#*@(&>Ǘrk'),^ jS!XsQc۵" 5p+/2QcT/yZX շu>dy]&b5v8&7|tųtҹjhyLE5~ ^k>zB*z ʪ]Bxn'XcȐ3\sަuj]I.G 5*읻$~ØDf._-GY4EC(,4*k HOӀiDkvTj uVLd$͌(D2O!pk7 W5{rvTî#J}omz̰iwcP oUuV]=N7JX>lЮyBĄ)1s`F{/WLq '%M;} yw =+o 'H;OV̮԰v ;_8Oi7~=u/yVOlYw>$I`o}x,@&PzdtczxW, g8 uq0@f/ il嫿כ_QL wo_W#{/D'NUWc6*9$sV,cUmˎխ )OL SM 5hZyVIz啧tãkt7~lHc) <^ niԦr-٢[{t2#csN56ހlsRwg+A.S]^)xۼ*~>TM276O֪SYlܵ4-2_oڲ]-\GK˸_nJ0uLG|&ў8ƞ n} ;T ?n?1SVM}F6AW\HsX7"5Cn}UU_t")ɑ7Iu4oPMjlD$x S{oRK+ӧ|pbZ!ۍoǎN'iVp0:(ߠ b ;TҨ\[EFE`^ dp6N}߆h)z흿&xy Xx|>"4-}ū肋uG t+ODuڥޡcRՈvݪOXWߤA| b!Kk?)xLaX?;ǿ?PKxVj߾$㟄Ia' hX*-PGo#'3TViןx|2ޏ YG^&-:y\Vi([b%]s +u La2yJM?Urg|3ɥkBcPVAzjC32?c]^?M}6 .\]x'D%ͣp|Cq5+0s愄$xƢJU7PO><֕xۡ\ 5рMUDty_UJ-5) /s5+g[yv.DO$U[۠Ә(VF~ƂPJ٠Q74]v@TKj٬r2S ôxY2P5A٠97C;3!ןxWT֞jMɚ姟=A0Qs}[k]Suy[7>wN~1 ٝ(:l@4&*c}kȰJnOkrTӀ15Z k.&V၊,W{^B(z^6s VTd:KTd{'?.͝ >2aq;5QW&Xz`SZB؉@+fGKjyc#XM˴`ߧzG)ijߨ?:{ ٽ룘Tԏ<To foVR\L)`g+f\?{Тab}S IDAT[4Bpyp xjjQP*=cmkov~K{oSVl=^];џ;1$;Ogwp/= 훕;}>DA_u<ᐋ4Z]ٝѝGk8X.JՕmVc͚SubZ?9Z~ڿNmlhֺ2Cݩ򈘨Vm5owk)^["xUJΘ*.Z/_mٯN2kiKuiɓT\' {ΕOPSn'):Key9:y$(893K3.U6?JTŨ7`gpYgF^}hL8ycOX,cDZ_eVV]+G-yv򽚆R-8`'{]O# sSW`R,p~׫7?ޠ^ tBǎPͮuxDwN^Z|,mYx>y \4_1d7wnnT94рi\7ųk8 PtDd56@ky'V` y1MCҽijJIQLl@($:^oEkSt*0AJsʚT[۩&(<ЊPѫ_GS. j*1i<US7/Qwv1W7>ڐR(6~V Ig~}8(>49}%Ɇ kQ~eg)whO!o\ fM{iUmkhRaN&iF#}JU2F4> O߱ZkpH[ҷ Unyw9OdE7˛spypYfU<^,t)Asa_pכzwV{yYP$ @ӱ\a;֙/k۷Cqc_!/A4 9I)ô`_EzɪfӰ2^w~W'X76wݘyhk`PU"@lyDfʔDwg6w[K*8tP 4T{Hg<`߫ ɐ'A x/zLIlVmF֨6f@Q0[lhӁ4x)'EQj/bYV!åj)@'<wz6WPnz25qt]ʎ|}M`ipM$5)*$\q+UJIYvU.*,܂ O;>M 7oTutFK zGu@s qHk.Xo{ zQjA(^T=?biO~%?P6Ϊϼ>JjQ4ƺ1S>g10cѷ s9jG'[*vVBGi>]:cd 5"v2 Wk Et='*Cfjbtt/^̳惻ՑvNY_+bʰYJ'PYEЫZM>mP1K~VzvTCYrJ{z;u'0: Z;P)y3hJ-b # ?pw/Ov?>ol?)Vq=Rۡ6e`` K7풠A88oOOS҄TPqx3IMXvN%R@ͧNS˧[6tiFBc @65!t .A5_>CHI #(! I&Ǐ_}lؖ>d{!Jbx\ʫ[Ui}T0ۚT)ػҐo輦`? ab ߪq|V-U{G`LKOi)>4:Ѯ:hlDh劅7.#@ \S/Tp"009pKeD&F.'_ !džP0叙Ws}]sy11N<_G wH3И.fa @I/cGF_xE5_T] =]j(􃮨^e_}xO Vx^zC<ԇ* ~En4M6FXM7?eVcUJudmlhT0u4*V?6{0R>߆;[@Rݞ9Lx}d *" F-؛BtI:sPTݣx0ù ΃Y-\ẋqާ0&`v\Bb5š36OW+`-DDDo2u*49j+{43~qVcwD']|kW.# +=N>fjo흼w^9FTCOߪ[-!mp!mؽIKN_ êh?=H[UMS?oZjENѤIWҽ0hyi\ #B3O>_;,}feW:PFӦNԏOLT|4-f::ZQ7(Ũ&N%De:ݷGlնiԳ^97RC\k?%E#5ʺ&Twog `^No;QQ!^bLޘf Ψ^cAyVܖ`WacbD%ū#r18"R>!Dnò.ƑlA؏4ƾ ۃMeVt)#Hl}M840ڛѥ!vjr(FM a$G`Z7(g9 ?@+j'Z'Ѵ C!.??L1򸯾NH r W2%DӨN$ Xc(#tniK@T o{D}aGׂ(ϲ##>ܝ ?; aAksy'_H䷏ݮGpxV3/RHvߢ* ^llB_R٢rZXR'_Mb%HnĨ,]:մ0`ϻ!W6f!\V\W7V8'L55-h z D~x^>,dPCZ4chtk;~C&Uux2Pf0:$'c@kk*/آE τ&=J_~BZ UC[kRfP ԿY+|,V~# ڌ\÷eN^8kzÕzgxQbjƌ *@^__ƠE/?&?~+x CM1<]xc_ #h\ɥOHcV͜Lx'LL&J)}od 28Q`aՓ;̼%Xl\:K1wghFBE&'0:zHo9|P@Kxcljq:IF7;qw6@w"p+Lz Hq1|ɁmCF7D!%̝ gXMq!;^pDbzfKNSl#{`W?;b\ -_%aL߼:o Sę()X#"/X͞@ o^ځ G4O~p-VkNLPb}eE`|=meZ֮7e7:9:pOu6[H4D+lEsȉϾ85w\u{swH]seȳI6C{>B795?Gg]*Ztfҹz9Dp+iCW1gewgZ|_e.a}A`J5PQc7Ӄ[Cg\VGKDK.y@>@ c; At ZӦr8(*0 'Hx ~/rmtyf럪d(NV0i.Rb10d7ˈD ܔVA$GIeױ;\N?yΜ} kV102;8]y F.@1_ |3WYOxpdArqoSh/d>FNMti (_ oG\888Z*pه44PQ=@;N:HHu e/0Ƹw$Q8Йu ԡ6a:L:|HHsz$|deS&FYgP(קЀ0lPtxFһ;e1w;['P; 7X2W@B\,Hڕ9!Jcsfc 6uh`0(2Ɗ=myC/T[Z}c8eAbsɘlV["saF:ңYڼc7ҧSczy Y_?ǝ1pU6%cHHxF\ybr]0[ܖ>(j9zA_[DW]!B GZuE6R}>} zpj&|Ƶ͞Rq:_47_]پ= ]1b5o |* }bv7ZAmg}@YTI! wԍԈ`֬P[Nqa$V$.v%+fW!8<|!ۦv~Rmp(˸&NUt>gˎqXuLJy8R4z쭇)I Y{i)tV˫?]1ݖgpfQAuNFr" C>˼ʛU|P(0zEQvT y6u w.?WY臟P˴ 1NEm8l^UD,fdÉP\'*Vdr""@BQdF*_ ኖ6EO4ɋۋUSK?6hܬ>ªv tF6Fݥ/@FwM9f .%OyE0aƳ\^:j0u7c;  Q2+ y?`f>b jɘżYMq o €?$?kn2b؀=0AA!`ԅ*6>Fa&ub}&C9 p`Zb=͘.I_|͙s'#MMm@tS4!~.lݶل; /t& :M RG'G!Dؤ56}j-dhuu ,[m-.i8 8鐎4vFX'$_yCBt$-\z~rA_!J5K;c7?\=d~RO^HxT .x]w 77Ȟ]@yxq{w gך Wɺrq$t 3`HbJyFɄ"SU"Q_0"ݢ6ҋi)Y@ "T`w74 2 Ke.%;TӐ%^ 8(> 0n9J ) LA}=߽t͇S̤1(teCi#GY4g:!25`Ѯ;AK;s,uPE755c=^ht}=fjr7xwج!2n53&?aCCnhFj 0`֦\˘XHvK~rϕ!N@Mtgs*3c[:I,Of7N#F/3yR}ffJy7]ơ%{f\<ˀd8qF]_gq$ N %7Ste5o^ #bG#$8'Z@z6|Ɍ!96 Wɳ`|m߻Ozt#rWXd)c.I lKTKE_"=]#SʁI}KՎ#߽ OR -T%E9J c*k^AWOj b )Rf8!x̠YZ{o8oFqw=+X/_z"en@F\L[joo ;n:siώS:&=q$5!0%?^a}rVlќ1Qw+vQd 0LfxR"wtŗ}ٌ[-gcVK1?H-<15j"5  =@acR :PG|_W\ YjZZ0LqY(* ^]}n<~ x0mV:*)/а~#E..R&|܂^3kJZ֯۫ yXB^i!jà ϝwt, 3 46fd%h>8It9pRKN{Blz;`6ilX,=W>;xg>9"j|%vҗ_i$Ęp=7w'<5Zy/?۠*KZ3]L^nKŚ93H}YMXZp >_y}(+J5MT^TMiצ4=( yE: ڑS"sޗ0fTf9Kс%`#f%$w^fլ;H yvSQn$ND 6JәgϿʼݍ+aJ 4wD]~NN_jױR~:M"Jv=ntp8 E$sY F+pf4C/dר0B^q :Џk t+dI;6d`+C7:5:NA{E^K#2$,N1P`5Q V"yw` T7䡕fHu3qȊ**8\5* m\chD'`M`ٻ06@of.HxF{vɌ\.e^@Ftһ!tn確.Њ6:1xa0ogf?:`q?Q̟GG>vDV׮i0˘`Ye7`>&|X ΃+vD/֪yڠq3/# 'Za6f &TZh2tp ¢؛B1wXMqƯ"w`iW@I0ЫkJ(W#mkG[^q 4>x7 Qb˸#.GUU`1١:͘ĬYZ9.>&-:ڼm.bz ƽ ~֫:Mݰ!xhɻTX|м/H#0W $V#@EXt\ oylزC Eh#L;n{Kߨmۧ'5c|b$ϗgȼa8 +PaRƤD%QG.^}>f]LDNJC7oz,(Ug[=˺䚇4܇W a]pe*x,#$xDk4e܊3~En'-nW`|+AGO H}LVݡ]u8Q۬XzQT}eOi^Pz[!+Q=2oV< 7OT[:<w͊72۶Zb`֡Q5CxhLb y1/wc `%3ou>]-K0}E"ñτ񎻎Wys(tC7`AuI Y" Y ] ޵{x@Gex=-}w( FģϷ4&W3OQ[r(#I*ySh @|*{fLYfuqa\W+,(E4(E>* & 3\P x&\ Kg8uvv[]N4ű=5Ü݆w3bfݧvSta[_7n,mg-ѢVݥxyfij)K9Dj0kA=WA#Y rS"6y|R@b]ԯ WW=/ކJ:6,D'M;I&X TWh P;"`Y B)ɓ#,y^|W{ ߆'[܁9 4%j CGFȋ =0_$$U륇&؍{ dU<ăğn 2OO?>x?.䡸HZ g:yn̻} g_IQrsٽc%NH?c߼_o+tD3;ц^Mu` `i&v̬BgqIs)8b-Nh 1C'BH1+_b,u^FEzcЉTOLy]S٪tQtR^thꇥ߃O[qG~F)#fR "dQ@ PXS7'&PHfʻdCB'e;} q PKL_6Yl0x+{6MRA^aq - aJ2.O#"XuWcX27T ZX1܆tNnJd# D4A2 f†l(Jqd~ǾG;)wcQ 6"L>KAt ԄbZ0xǯ bW{jbSBUz_:4۪Lsg*,CaL/`+Z4[/hNL5}R8LRED&wTYzVַddaJacBVúߪB v;I8h:Hse#d&=&Px30-TY]B6h:d3&S =TTR5\ғdGu:@6[&1gm*‚6&DS6YX8Y٠#Ih IPF7~a%]+3>ZN1Bz`Ԧg;`蒪Z{ h:0!VbI5U &isƎ>:v_ft|t~mUxKYY`Rp#h$6?k$.5r 7?A7 pÇAo[0NލN4f+Aj9t3B51#GԀat\eqF4K.~5؞ __ "HΆAU6{CL|rd^!KNf=u0iqx@ː~#IDstMTŧKC&WQ)¤z ~o^w눏2TVg^gɗN T9NWA]jqS}2G;< v!wiJJ]26e$LbaBF0JO0ä)_OfnJp%xFа֏$n؟CܬXm[و"8x*LOSZ6S[stʲs]_ɳemc'jT>хܫ}1:L\'u͌ǏG7 F!^ml/V}3mf@eثE45);;ת:C1>IikXйVVM7icJ}ꔑ潓Qh.xNa7ڣVG T4f~Z`jEg]Ң86N6`xYi9#Ac*W),JG*PMDqO/A7]uW0i r vO8^6a 3'VEia1nƆk8\z8yA."9,K $F+`Xzw5e=q;_A*1Lo` BR2?XPu=08$㖄H68sF+p f:+!_@Ǿ6Â5QV VݫfH|,UTE_GUP9L!y# xuA7h IlJv颻4%+эZ3?8Q 2nz/dyzJЯ ct47t᪋:}]Ub#|茏FkHZqrxb+Eg/,+n!a<ȡϷA%r7=B2~Im@}۸}6&|/*ȝĖ[_m_<*#+T2);p{1?k0h–ќѱ֖wC(c~MOx,p{-Cb#B$t5Qm0i׊%u$'HPW%+|k|:g{^ӽ T Dd4ԞnF|1Z{A`N[G4i-b6Mi^!toyYy"mkPK]™[`ۻ< !9̊ݼ﹂0Xz@M025/ݰ0@.#h.h4^ t.]}rPU`UI{t.`G! 27<(t<0H=8t0hl0?c0߰#d otW3pM y#5Y(G:wpx2>Q%ڿ ;HC}hYyddiixj}NАWZ%Ax1ԑlG'CZ%D`?xʹsp?TU5J[cFh<5e:[%k#S$-׼-r}};:^۠%ӧ)ONy!4 ㉰;VsrURL}W:\Y_٪V`OS)jccXئeKompwitl\gLϫxdgChcW_\jF+/d2:ȸ*,/pok#MY܃}}9\?H5 j;:E; 6k&=Sͱ0q~x}oZחP {6Ey;YuA!.e$yqsx 7>Ȁi_"DMC3nյ@Ѕo6s끳?`n^UEQ¶Xbʜ_@'7$h?:f:X@%es"S~Cퟆ(^9+c,vv/5;|{kv2/ Dbbsѫ}إ_:OTk/3 r;1]'1 d~ 35|:ګ;5Y 4"YDNlhNo1VLqs}Se=7QT(-Xpc_Y^r|RܾW/G{/{tەIb_duu5D/,f" &V-L$;p+?b~dO໅~K 6 9mP~He y+~Q-wSfz=D(lYIq_E[Ou2-0/# @@ϙZeh. Ğ[ -H|;{\\4LB؁簅5 m,dht14 fbhabfFQ:Vٷ`,cBZFH vkI+qH92r"=3;U4e hh٬$lZX!@n#5 IDAT$X-ϖ Hd ӛ j aM4!ˀ{KF@{WW zua%L@hB-u)r{<o)ЋM9D<.:q`]#/k_~GZGƳF]m9o|Mez;٢'"{O|^=o&x`eÕP{G)~*k;h>yq{HviY}Gg-d5aV9+ P"M! INlq=LDOnAĆس>EJ ݽqY-ձ.n3_AHS˺ey^–8GBxZ]*u`*KW 8FQl#"yW i4 SFIϛ鋯jb5J>&`b翨gQDU汊ʄ> " lʤ8]5Ϋ鿀K`F>{^n]xU*ۋč/B.'?/ GɽN͕Y jrp8-z_:Ԏ ȋg| »F$qI[#Kng) XݤzX,MpJK/*"z\CW`0\՝EX PF0@5!L@>0w"LӍ0wtYU_7&ҶV)ݿZe;N{5$Kn6v 놐&VbU&'ǹ,}}|7&&|œB@@LmcAo,PO+ggRQt mϿ Y8@(VltMPI V=P݁2d| 4,@Hb^LUNTb5xk+L Hx+W QL_yiܗխ٧OoA-p^~ķ?, f2~TM>gڦjuwhgCzZcc&= W0U}yVױM(DAO>}_?|3Z_fO(a M@!x9#Z{ǑJfd-)z<6C3ouy۾P"yɦ,+gncv4ŬnpPaucZ4$Gu;@Hvfّc ԉTܫ`)Ёg0k–|p՛'cnM55gY|ƕveuIޑA5?5Wb\CHGf֑ ~2~?{ǯRNVB˄ Tnĵ䰐QUHDȱoթix|B02D_{F7 ymQ^Udě]lXń ~XA~26BEj|B×|Z}\̉JuOa!Ab6O_s]_' |A+jeBVT0?'^Mp Gj\> [ +lŠM4lPШYq{ʟ}F䦮 .btE1Fj+uUԪ ƶ+u3b?j$Q{P$gh 5q_A4r@ed /ˎcu2Y 1^#WBsrS?j5N`N u K(@׿43xq oeX(x' ~E?xuc 7mCOQlU~]Lgk`߀-l*oQ#=^IEZZThHZɷ)aHVIHS69d /ATG+S!}d#rdfezͷA"9)^;l 6PEŻFNA"#vs>n:N hd-%7R;vp̄Ml#Uh:y9@L}ny wgpƱ,r@2nLP8YCfr<:m$ ϡMMGs\hme?LSA}+%o,DRi}v}O>KIhU0߅[2Tf MA,VnݤV|) (=}6dl_?#@LGP,<4uy$~Cz5ߓ*$\]bj?9 &'9/<<"ǒIth[^~h]C}/jmK#`Dg,FPؠ7ZA8$@ʹ9D}=FbyHQj`v?; Hv{,7C+s\}c?o<*?GO(b-a< H[%`bD"#sӦ4!(h|P(vfiieEy[! V|@Z]|OK2[^1N`N`k8rg F @{-v_w)Ryb9蘭1EPρU4<ͰKW;%0PCqU93= ̽CM ѰUDZ`l~; /XV^7 qZ(VS L~W^l͈C†=yާ{Eg~,{$0>L.{JMSIKnT^՗)B_DK )p<?N :("+e)A IN]4E1TcO3ǻ]01M ՘>\Ӝ3T$V]=.RjYASv {v8mD=ۖj="FQ}^{&mfjkYWW}ʯcp LѷO}]<s$>&wٶ. 5!M.N1=pna鱓ut?*[{HS`4UyM%KHS>A ?wtellDu,'~_|Ih}``7*g5a5B%x^}kC9 1C!T[WN{iNyFL*WlvA{ycvӷ^z^̢d )S')^rUpJ9j4PՋ\2_t0Uq4][5`UPBZ}  LȇJZx婂ekGq$ rDzgYhq<rly ѵ1`23UMI{<*E#c]a=+k3  \h>-ņO2Egj줠vX1 yc`30nvwfɽsET!Ev+( L4$ dIAmw<g>|s4ADfCuG7o+gE14"Id0k52j&_>Q*:?OAqV8[E&:L6{yyR4NTA Y7_^u^Lҹ϶K!4b&-}%W7}rp+8 !޽ Ydl_&=1{byW|6&s(HLꬢ'!]6ףQ>(Ji&AV&@pP=k*VLڙ^. j.=UYOΜQC jй\MM/`h FDkp3 ѐ/};*X[>h`~Aq?gc䙕4SM⒏ 4)ZKf]53H7 QW迟O̽;2G^YAn/<8xI# Ο=ў@N~)A/l$Ͼv"o1=_x'qޅmo jpCl]R%put-e|߽'1#)Tq'Ԝ$GDt W]^+XZ=Ld25{f{x6 I VéE ͈ VI;c6Upix}4 % d4~&p]^0bNKo𠶁z0!c:;O.^fI%Z dIom`s:a[HA%y6RX| Sуն}hB65̜8r~N";N݆0; |&x$*VƓ?Cl78ᡃ|Xtg L%ё#GG槑jW2NήI\^B}jTeu{%"llwU]aVC]<%LL+N9(suQ >eK`Vvګà@>Y 8@eE:jQm#rŃvqaYcũ&ɵkD0V - h)>coȗ)gAFC+o{ZYe7mp0L.5- w!1pICZ<' 0î2.g2b.bA@{!H>3jȅq+$hƵV_iB*dO:E.pAbgZdL3D6SOnߥaqn܉]u2ؓ7 -D{  ς"Xq1(ЦB1,ZӖH`Ꟙ'آjۯ? c:HG1q&#@ {tW&s5r=gLuHY_GuvTDQ?|vex T?tl!)FIe\(GB2r ~i uM-񟆉R4L%Fit'{mE6`#lOVAA,GZ?İ}K(Z ]N]4!+v*ٻVrTHy68دO(-tZ43*y.C(y𣭜?kq~!ǩ^]ˏ |u9$mCiau/2ɗ{4ryMcU*8i4oS~E:zꔦǟIuUwmV<0AfԴ_!M"#E;sF }Wh*nM4˙*QNרҎ(c]AFO^͌ J1|o^\*A&o)5u;ڇߵ_-PR\_1E2s5ֽF=V$RLivB⿥X1)wAҲgvjtPԘze|kSr% IDAT>7Np]h3mq,^AM6QHCֳbc&/_aa '4m5?ʮK?\FcSsa쟪QǚQeqo:D/48 n4 $l\2P8WϴݎS_qPYݙjt皉Xc n4Ьdb<[,VK[0w|5Uү)VL)uoQ@ Mc=vϞ>̎ٙ .U9H 9{hIPph[|5l8M]vSz4ڎ|0"&tg kcSgT5 h> kY; G1M=F_z VU\Wж3b,t\)9,h$ױ>#ȓ?2zاdD1퉫Dr-akW09nͩ++Ҿ]BAkZҊfϏcP'W:ם۟1@P*T]k7GtLe(I`/OPpU\Ih\FCu 5Z0?fפțtu` y.bg2N(F*U{0V!4jevA%iا~mT3b=C'1iw~~@맿R}M tUkҹevGd*KE7@ǰ|] g~kK 8,CcZe^_ ա)åMFʱ4> 4E֛P0*,`u2l JȋR{S30iLGYxZbMUbk_\6 LFbwk#';t98I+"u =pѣ f`"Yy'eU5bSSEHq~V Ry\zJQ*g*`ݢ2 V`񗕻&vGgdə0dZV!Tq3Kjn"NX[`RYEJdS%4 ҙмw}N;c:0n=ykQ$j-2dbT%4e R@;ɕpaf1tg0P 3%&+eBZ8O^}O+Fu{H[RS|\SsUqF aDe&NoݓDuc£GrU1!1ߞoSyY$3L IquCO}eek'ܖE!(ukOHct.ƒ06$֝k隘gu bcC58>hc>! >+<8MT8(]*Qqn&|x]dҐDBTh84uh1/z43d `E\_Tkއq7l7V<֖ JAη+B;@ &i{Oޞ+ڏR3׆ 4b @~c4u鳆ӍEvV.jU M$Pp#:R, p[F!5+} í\EC =.w?0_3*),oѽw!VC~%Ka5I=5{ M:~u_E˺i} RF+Gf%ޤÖpB[d<_ו$m!߭ qf",  N#-䃯`7Ӻ; #|=!'1;3qs=b Әrcv0gò%V7.,Q3LYZuY\:{uaǙ* 5Ap=~3c`yu  ||N$X5 ؀K0x%{cdARXEX 89RjTQ`eYyx  ѡC3PC`o@wc}VY.4]-9K=hv sdi<򳘾]g7`7TSM- Q ^|ZUiB$a =XqOX بvKsa8hѷa7i}z4@b!ݫ-4TdLg?" g # q I&8?q^3 _"HeHcΜ`ߎO!"$'2I|R{-z{)0ya7JT] GU+=gA'vFhw4ʮɮ+OA~p#d_sUJ+(ٙD x-Ĺuu> 2"G\iؚ݅e(A6('*YR Ɏ |ffĄ?\ &&Psxw8%iMT7FYc 9k +똡7.jp4>s>~uh{g{'}?ف\9LT>i)hi'Vv;dR;HlUL+r: ]Kf/ eBrU؁Śǯ v+rb@J2?c\kj?YOJЙ q4I`-4ц^9Zg~Ee&<޻hR=&!B0腁B3;5d kݷ\H}P(H5ĸǏԌiz~zri&hizan1qxC~c9;|',=H>B|(!\=v&';*0I\؁yO-HJ ?#fvX#ѱOǾ7±$1@l<;=1ILqlbyh~xh`ֺ I*.~Heg4T4WqwcقM؍!G\TKߢ(͠?m*@R7 ^0OLaɚaVk$!a40m<}ByyXmr7 d2f`(Mo9-x?6 qIj+DM]7oԾ2hh'(ܺ|&xBix#|+\4"u¡E~YQ3If|oP<.9/@@'D`UHagiv˭G-k.lXgy4D&x.c,X;ZpR{WX->k{;q 1ք )/`+a>CJxcWd[xRi0o~E!+̚JC1Εv`u^|;?N@.Z <+Zv~D eEyzB.-'x}fe?!$gއ!T4Hܥh13a9Haa5a,lo.2e m&qKvc#,8Q,|L(3'6Y\E$u!M Ѱ[A~ly :;Et۪ 5{*,~ ΁+qF&Acf_N$Y&2̍ӱ΀M1*3Blh 5mĘd:#P!ӴL9hɋtr(4UH\$|h6oQX-1ᯰlVri@LM4vI q 79WpU#0Ho>,:rZ!"b,8iOHgUN}g=Njwgtefc"Gәݞa¥A<Pծ.C#[Dc҃^ڂ׉*`xm !+r/}u߬nA;~/{ݺl"r!z91cݯM*>NOG_gc3Bt#MN`~bNn!a<Ϯ1&X shY(Мƀ !t{倭썐؅{pk|:9<։\/3(VvE n̐S(}iYr;[;U}F!ww>-N+x x#%ڡ0;? )ķ0InX! YyvA+pzUkpmLmF}@v9(J!޾6$_R .~_|;:[ۙq5cߒ:$u6~kO~8n0 JxoN+O#盧DL,t1ʂ,%z \@_`؀Eo*ɽm bo⵫*Ʉ[rc_WI "ԤGFrσz9V[dA/Kq[{|'.u]gO>~ B^c BLUȇc4`! ;r+T[bAs!S@F9?[4K~Pfӗ,8TޑE>_Yh}7>8Sg0䙠+Yِ^9_|uн_{OLMٻ}^ojG$@̞&53!EP3a,OOmV6cCmŕ i[K29(@ehy6Kټ:*'&-5$AZ[T=cJez&{3${vqCB| nwm zs>r)1}A &S5>i0S>H̆SD iI[M1-FR;c4 VlgPb;7 v008I-*BBEһ]䈑(a9LF2x_uPE"r ue08S0( []L1><#w8,\S QH،Z0C<1n &I=ĥ07@3sS4D6 {nvx+`z#5AIe&nVn$u&IBLvKN%☻/χ9'/E>gMӄ/Dܦ~&up*$ZTIP.<Ԩ^}Cڄdq#>D :k8['${'w |y{askVt>'ߖAv;waTHz`| v> hF.L%^tsT"s Aל4T֢vװ!Ywu`t ~{FH"|=JQ9 `j!. @э9 )o{z|uE̬(/Rx< ?ny\Y-S(M$ܙh( .;(SUx)"g!{_fHP.M&0cumuK}1Rk3 2$ɣRɽG"A $<1N+3H24WO0"M L NHь;^sږF&5 }ddFGY6gН[`b?duL- (zb!mŪa};ufȉDnhiqBCR>ao okìJݺ! ]vh(֙![c!s(# l@^bZP*P#֨L| E33!(E3s3ǑUy:a:C]hl`^tkt(nCFȊd34 pG=^~gt4;v<&b@&=rLD#I'V!21Gtћ2M ݰ}:i OK'O?џ}̠vW;iCc68>5=4#D"A+{^{Uh~ '_3Oߛz/7ohN#RE9m&cg@HL `B҉?8.U G5M|6(r; fM5M@cK;(0}77#ԆLb^<\VF8RQ#}pI3\P& M/@V_X Ch;u`:LNtumR -v$T9eNֽJEB@QsstJ9a<7tk,fۋ 9E%{{Y$cԑiU!U&>^,7lתC}w Z=<{o~/ ٸ俸T5LBeia\!lisI jja+9b'5dU=Ok5gA.֭˨ljF'˴̊X_oy< {ګu_ڡo}NO$q]F=N:ҟ2uH' ڨ֜W}ݾFY}?w`0SV[W $;nfG>ƃ+BC0$.w9d6FK푝 [MdSnjF!Pk_XyqW]Iӽ4DI JLrs͐Q0^R> }@mP.a86Vdop $5Q˰shB bJ#bE; S \eu.#&oiL3nrvY C 49<:bZ#4AF>]lDgƟ7GEafXMo- ATFnʼ o,!yq~]4-T)0 PSP,31+f-s~R5s5 1}!LDO*F H OO69p `jkyJAɔ\S)vſ~,emiNb@ {`W_\KC9zAZSFPo FZ"_[(pi.~O .D";_[_G|/2: ۊѨg_Z5U6ٓB4wU~l 13s =ɮuB-Nځf8A&<Y̥5Jjd+M/ ߥ0[R8Y9jR+Щs؅F;÷v Z}ٸTeՅsYnwImNhѡEzݲ 60AAσ8e}G~]ː q[DB+X5i6Bà%\&M[qÜ q<4@><ͣ&~ľpb3LQR[ &>tAPVMGoj,,w쇖i-dJ/ip$Ox9Ζeqj`E9!74B| vhQ$@^llGAI+6^`l&E:nQz6V8vƅ1VZ1f߮m|"#瞝.? MNtL(XAZȇ ;8mx5)|ddX[++4c0jT\ Haƀf$9m ( #72yԀ,,$*B\Qk2u}̀=D6+4Mfu0Mfᆔy2iivxfʢwI-N)v=}wH9kO !]E0$([+ 4nYnz~h׀#XޖwE_LLW^=Բ STDL{Fcv1*>upGD9Ae3wY*Vb!d܆^~CCZe@peu므 }qJSL$( aА ƶq_PL%κ@hȌF2"a3nz~IS6u6fNV6H<(;m#g'f=Uu8E : ^ѡ{~\H3ڜa1ÑEr:~Ͷf8"Si)"9hͧ Da!Ǟnx=_W{4#,>'3^?Wǡ\}ISRb9+ _|VaoGj1ɷN']Muxd uSg(F]F0 RӭE*m<(,G_O2zZē.˿fz4AL\*{E=% M˂T.? d9͙vL.U!AM+K,⿲44 <δY/~Psy^o I$nI8a=>/0|j]11쭸Yx+sf*jq)@ h˷u"`hs P @vAXg!3$5D.Es vUAR4!28(x~F%T+@5ȀKUCMcρ+LH7nc" AxLJ/y~>gZV`[N$!}eLqմaIvfyb79z>}ū֧ΘS4lN95~F&Y)JzT-{dw?4']~NoxH+Uef>ǵM.D9jT=wήߦMF؏}n wHʣF=eL,./iB!*X_{(KwSSu*꜓Z9"@`3=3c/ﲙYc1kl&"0BIHBRu:wWwO3H==j+z~x5Up_妁NijZkA-aSrU% C:vZkx@*zqK~aa3} r\4;mKv|m*+V [V"SE&bquΟU3h *\5>G1p4jwFBˎҰh@tʯosw`")$?/v찧$!CV18^eWe8'&$!}.2nzv-M,})`Vy0NJ!xvo?xă D/FC3ÎuO0bvl %E"gAzDZт dR-?@ 8aV'Yډ^ȄS_ xLv>Ț&-|J&if؃m5/J,ǬͽtbE;C_wA]i8 VjN9IxpcO^H9Ɍ&#<7A Wd)(A]D{_i@>ϑ'`)M(TԨNsh}_IPKڄzoB6N=DL!,H/`(>7<$(hF9 `-. wiTSdSO,WgrvqZ{ ȗ{EnGuxwIִ 6d_ɚdb~GıZUFu Gu4a}7Hr Hl.()~/=p+9MNzoJf2S@ը%Ynx^΃0;6z2p_!ukHS_Ż>׼8tJ'ywԸ^ sJȹxw`Hdgr2d~!{mPSih;ԉ4 ďZSA l ѮN .&H9$ Su^4D]^``OAŴ AaEƚL B'En^Lo Y H@6f]|*ÊƸ .I?DE9x +6V=%fAFa~$oAm^X 8{ճsB\e}ѰNXD% W1 gah :Oo5"2;,(bs`z lĄtjO%NZ/7oj H܇&P+ruLc7:tQFjw=K:u^XzfNZzekNOɳG/ApKzv:( И ofT=s$N`Q+O~ΑqPdn 'д&&w-L}TKo̊6(K@3|e %jȽN`:VjrH_>FiE½r,y&-}^~ 9C/>57.v%bj7AS,z # gpa;n}D;I ,Z~vN`yf[znW W܄|czL'm0MjG!s@&+atѠl7#daϻjxث 踫M4Z!HֶqUX.XISc7@#>3!CN#%sP4`qX?uO2uٝy`cewAѣ k!KuO֨kSrX>95EsX$ X%(geIm"{qi%ѭN$ކ_tȡ] oAÚ66fk[ɓljnk Cd/ q%xlX%,wU4?'֘k#d=,8)@@jjÉnE]-$U"Nن)4Ic²ia5i1`Z̦y^#C -ZU`v G毄t1. I k㽟s4x41/Q\&J.:$+o~Q ~[h(m !S&ᒤ+y 4z_g&1MG^zqmw7/W6 +L! o*ceӓ80ge|ID=o/؈PdF9z3a2lj5LT"R[hF됃fZ 3xhdHwdQ)T7x;5O0`/-[حF1B!U=) hVbw"ftd|6[Z_1*\5?mc<[#[?lNo<5c@u&jk·ʃ^gL@JL_]o-[el9hL ӟr <> y89::I|h)ql|?m)p2 cOWROπyν@]IQ>6;.^_VI@Kg9裱s˱s*6#?B"jZbLjXV-Ҩl, p 8 `S_XYL?wy4iap3e"?LKJ^2YtO3*D]lKr~iӔ(@+,~ɻ PcՑZZygU䥓}r) OQ/˝JqsW09o4(@lB237p7c) RlJ-T L~α6/H*Gf@ ه'0Q|4r(*q"qL,}Io]\o&++p.NL%2l4UE( Y\_3y׍tONFfː) ?(l kl9C7y~Ä,q\\vWyOSe8n9p?fFBazY;d=m㾢SLf9sNt8Id3"󣕀YRYs`O7.fq'𦟀B Y`"2 =Kr}/GwX.,jF<2r 0ׁVqX[G)- g( ۜI7l!@pb gb:<)1[ЃiFedYj|9 W_+; q =kWa~@/dHs@>LT7Bw,fP!ǯҜh4!MgwDNEwqKH5&X`sN]ed TB[L2ܼf&>_#}o6KByI}fǪOc=nZp{F)p> a9Ku9sfoVW}›bb7wЉoU/p~*GKyZ|e<4!I~`-IN ~ vMF  :@ 2 +˫\k{&m R! v0j \]k 1b&p0u,VG֒^bg?o}U7O9P7+H{pB}Vylpf {kLZI9R˲)ri-+i HOb'BTfo]ʎǑb1Y40~:QhUZ6!!cЍ׼V-$EgSwAgA/cf29i쏷߂L*fڌ T}f|{K'&߽(Va)pMSt3hYa뱄' x^^s>Sb>) x?YIT [4_)Bln2xr`t _B@`A"!) _]_;Z(XcepPP)0Hgoh)#MSxA\RVzVV/Ax 5d{v2(')E7dٕxoǺ#mjQͼY"Qa$ef8 p_M&J|aY&Q+R@HEy7<+bC`EZy |ΧKb '>kbkoJ>Їo=@noń}q5q3 a {(  ~B~ eD^?ggBAu%o[9F(#r ,_v;b/m73A]_F7OGv/ia(/@$/^N&U1pʃEfz 6)A-ƞ]$ €wB b`wd@% iQ P)\9-֬K`)jno'ԧU 3.q' 9l8`PuX5 POd r\K;Ѽ"is"'Ek#U<׀JﻃF(΢xX/MW7Jᨩ E8"kʹP4;$};.6'Icu]ݘUMXD&(`Lw@cE fؽyS:[f;/HRKsSB" OdaP]1&oۛ4uu5' >@AeLZFpixljƞ8lyt8Q|9\0`b"s 63LLQK,)֐ly_(8+k3e >2F}*Ah$݅ rC% a4`BZg;A˨1(kއmidfhm$A}R0Ի#bt!AXgXmH,#m\\s!QziO۲t0ǔYC(.4IdjdQ@cu]!D ʓr4ȇtNciFKͮˋ/bh7;} L5\ӸgK AS7 N( kL$&$2F*6HNp_>tD<}u4Cv.`B5.5 ԍNVڿSDw#tB;O1țW˙Y,{$M22~ EaE) Q~& pt"u~FtQq)C2Twg I؊b#.ĥ /  +VA>a9c^勨,|FFDC#(/ VaMMfp=jou~q߸~κz "T?ofDTV~;;Wτ -퉯=sme wava:9$G/{i*|)c0 *3= :E:o\p,teSk<:dJdzH=ģ}ei3qv6&D3'c[d?ѧ䱯}=nu"gaJJ$؉ HE W~)yŠ$JY SyTb(LX"3$E.HDQӤ=E(0ム+UAi\` av)#ǵ6h(XZOhaqV/Ξ7).V0kx/(Et C`;|uF" r1 ou-0@p"NMK 踫"5Ț3-db!X$bT 5GCdk|E4x ,~C4ref ve S .d^䐪=i¶n13&0A7jЀO!ecĊb]} @Iɜm,0*܈26&F&gFX ,oݦ*U*.tM)$ey&PLޏ [2tf-QȷY IYiLvvj5>mƮ(fbS0eiԞՅ`:wQ t_`;82]{iN|;f_>}~ Ü㲮aN@v97E D&Ƅ4ohORfxSN5 E=x-i=Zޅ0$^ {x.IJ0<'dz1^3cֈfعh0IYB(Ӕ2>AO87ULh%>N ِ k kP #c,wuQD3'I|[?)$G-ࢩ֊)[,N{k(KkHis(uRLKd,4$Ӿ2k O[k:ãs &~}rbG-]S(xdv_νRLvu ejiU\;Ca"䒺ʵc hjP$Xy'…=|RfqP h㾶xS '=fN:M@1 Ө3U[gLymc|Rb_wښ:<͆X3Юܛn}\<7 &kn6\斎`r }a|GiLiRD3#݃W< +]0=2J$|Ag"]Z,[_\rk)1@3a+(:(SITCh-vFEnLkS_z/7nG~m\ \''@I:g-:.[PIGRc3^&2aO8[Mo&X,{nWַǑ̑l'<<$%\4`=2^cglDԹl<&t!;kh z\vҊڎ @',{vMTfJOqd:1ӳh5} 󙽲C <ÚBE_kQ{ gF#9Xf&"Up5Js%~r:dl~9 #[rGEHya绱@Kog%f¼~if1!:%寅KL~m!l 8k}@S&=nSqȊ$ [\nȽ$` \|zAvn zDړ^R{P 3EC;U)#PM{vuɒɏ;6 } tF'ʆ{i&7G{? X 0s"=Wg' ɲGpl%Gfՙ9S%H\\!|S2$1MA y+"ϬJ\4Nm.NDLQ!mZj, XQzva6g޼P=deIQ\MYt2AXgaQ9_<L{߮RK 5x;F+rP bqML"|n9iFQ Z YSCaK5 Q0%;X)ʎR]JLdfYo/ 8Z`X<1aI6FCae^2ϴX.C3@Us//bj#/I?mPWV4{A`uZ8#/iy!A Z &(;Ek`/sm5kGP'GQ0S3,r oa+I֌g?-Xm]<*ߓPw=q+~kKl):p܌tvJ3y o J <%i a6}p/9pC+^ S@68􊸘t xl31`/+a&^(`$E^Fc]9m4^ ?hQ:yQpS4KIθ+]Ygy'fgS_KgdmofŃ'+ر.B0%a^!=`Uf'lf 8% s9a};Ʃ[^xJI2$nc/@3e %3};F~ v>zֈ͠y\qq{:{zʳx_'iLI(u&eڗ[Za^-T/R!s–Nr1  Ziجi& l59;#3w[o6ih<}7` V$Ķpz} z`_ӛ+dE Y5g0U kUY9f0h6>(F"`#X)ؤB21k/Il'}4ֵmfvv$5'U zY&w;hJ+@:kÂoU:|/{)Zt%PGϾ8pD v4~u'5YeG5sr) ڷKp0$nВ& a$P㵇vN6JoCxP(:{obc,^JzPv"9!Z_hUIӣBSeBԯW`+E=4iPݰN0 kV΀4HUZuy+ta#r۹iY74ɉ9C{ȕU [VKϞdm{e^å3rFH\; ÅPդ2gI5JU3j)TYƸŘ4'=:/%!m,/!M 0w#>9D$͙KHȖq˙iV\i~rx+bE|qbVPdA ^4OK[7pv`uȗi/XnA]nAQcU!YU, U`44xM۱DVȧlǨ z%ih$MjLb4õZ) rm1)ukS BdV̸` y0bW t>Tam&kzqTeDesϯAq:/ |~~(hZq ҸAn]HsF>t+~*8[Y5AUlXLzI>G  ٧ d-ۍ87Y9?RA)FQ*p)R6 NZUi>~#+ws tLT\g7M.P<FVp)9=%'ݮ΃ĥ1sI&2j)c4ldWgx9d;"=z-L+Ts _`N:J@J,dFC% %@ ))<=msKvt$[1ٲ )YdH1f_cпÀ["0#ps`# `ݺ0yFcV" a}>*ޚ{{ aPB4MrEL~ðhGV=(CFN$)4d^d#)T瓒 NV2A 9^S GFdtZ)`?B lI׊\ ;h|A`tUU*`켄<E44"ΒðFAYv+oD<.0h:#&X4~Aq & [ZCU4HTSyy J-fm90qV[I#-ݚU ms:21g mjuBO d,4 #̤ v;`_ݹs9 B*wop^bk3L])Q4\멟H@fsQF30&CTZ'¥I4ꗏ!d\]}k_\3V aT L"4+@j(3 OAk4t5[VUa_H X9kl]Cl0ȃ\e>_@ v Y"v[_},dj0AUv9ІoTqulf/Uewor.JZ׮G DE|tub֎NXŜHٜ)%&ɭmׂ-`:c]])_#/Qܞ@ sԂQ 33 '9ك].;y ͅޗ=8ER(5 +*M\U6 >mxyU5>rfLIs^c33dNMTC(,p7!d:V :a~D|+4 >} _~VI]~KQ}p-u4ǚG UDf5Tӡd&LH qdV?=\+74Jch)* ?w]k1+E04~Z/>b!?KĹvb>4!v㷟=kLʰW]U {6S9!Pa2|>Oe~&},r,+i({s6qFeο-h”#01|ڰNmn #jqo\*z)&R~`@Z`c L JpÌfF"[c?!ҰH &ҲsE5OE "e.or&e ##BW@¦"EĕqcO_e"HB  2ҼM=0q^%mp`a3I??Eն9Kd޷/W=Y]8P4=>'r- ;v%&t{=kRJd5ΊDE02ى<} ,ȇ:0Qc=)2_]s\C`!9$~Drjx I2e(TLީr-ku3 צF"^N5glL05B`E^85ыpURelGNbs&GrޭDOqҸ>}6Y09 PJMqipߦ!>KXL7]?wEٷuА#j))竌iDQAՅ60Ljk>Lr!`-k3XPŹfeW_|LNJ&4_^or=w#ֵIcㆤGcĨ{'ŘjOa8gD6fy-KCx_?B_x(X.& `:7(ò G،L/~/peȭsf޳:4xHDh$D4FY^*g8)l%`͓[cx3k+i&U;d3[ck|K4uO@/lͣǔL#LmB80b֊RV^7CoY7Bf@F4on>zR':TZQgB57Fƭ$(;]|o64(AB +[Xog+Rf;}-| naW\$%kU):q5G᠈n"T%H;|60uc3~CsbȟݷS_p$Ln >2;u!N k-dĺne+φY u A&.A$jwJP+j6MՃ y'Gd _@ uOrI,Sig9_l?@F4owG_Μ8!.;jkp (09&O )pȃ;86\ eRx YЕ0b()[d6aPwpvG _H՝0S'z!hdd/^pO4C^LBÈE=[}eO0{eAoVXYoDeL=r~+<HA IDAT4u H@]GsIDV &)R&.\L,ChULVk#^tf6 u5M?1hzvoly o`2}-1S> R}pP3)Zu@ј?rV/SCvvHEU$ᄄ&6<}TG9ɏю4wd T(kE p/W{œS S>S#t36@ڏ>VljɺG'f kO4P YWƮ":[b c aK¾=O3⋲Zer2)mn/nJ!] Z5-*A x#iQr\Ii!r$ƹ9`C3[ "QϽvְm5{iN@ ]W/vƒ,nτgY#r AlKҀSfDֶ~0%\q;@Ba$|Hl 5tyd CY4gB&|f /EZ٭?%$|d\3B<"^8Z 7hhuqmS/pcs~35;,VNtw`ރ_9EePJkam4>K^ ?.4~HVhƼ\S:K,nEVAtz㸓o!bQ";@:il|4G|r 49}#;;ɓO|W 4C{&{z7LjӠ{< K){uã':05 UG~qsuUo[FV,xD6:d_d.*`q!;c9PZV _țG?$wsask ^[g2nmgdnfWYR82qˣ/w [AeYiFOF}lJ& %7pHexH6X-(l:$D?9%E^թC+YS ^S"=}En!Lb̹x Zyㆧ2V^'^R? :MQ7RGl4Ǻ/ _rFj/kE/ӑo|]Fk6N'{h2NY ZxHl:ՙv4CJ/T)&?quǪIpq5wQ@uWl-=Ecnw=,TdUz*]Ln|yɇSd-_HhbZ<īE^H|rʥ4 >^BO+߿srO(P6H?aTWy*9(C蚽@535rӸ(._ {pw}(6.#GwnRR$ wh] ڥfP@(Osa*z2֮[YCVIJ[~\kZp1<| u?/S~Bg.=o|;1kx1dUNUfFG y9^]~GB7JsVJ;$G,1EsYyl)^ΪƊ͎ *XZ)aADtgLvui'.K2swc"tͳ{[˜mo#E8܊, r7͋sGJ<)5BjWT%Ǫdž</rRFhVPqֈ``&YUtHE$5f1S3/fj0k`Y9SSʬ[C̵zIů/@~Ck6N:9UTz%w3Vؕfh_2hڟTΤ O-huR}`<0z>FH7s&`&vy beb:am"h\Ce|-Y\5iQ7ʻ-07mGUt.?ymYp6:KDz_Gc0$. ߔ/%"k95 {MF2 E\&, +߮~^PxfC\cIXD楥#@Z |ıh 1i{(BeD9ef08?+'<;|Mɉ*}aPFCf"|+ȁf"2NwRt7Ȍ",nbzy49.ƪC8)('3rsrǗ_+pbnos3!v5Y\$#?tUx&| a%}+Aj @r~~mz"T"[78%|Տ^m0.H4 33҄INw\ j|9$!;Z)A~ ;Nڦ })>gPK\Q' t*>͸/z׭r{8YrJ/ȎfOO#2:"QP p)J!.0~`rAC'tr7?dW oV5VQf\r8f5dRr, |6к{s_6뤤l̷ (Re`"d75µa1$jI@}dJk'5w03W߆_5ߺ03jl֬:}ބgRRFz}2'6ܫ-w\X^hoX$e-{edrELȵ꘡ P@3u˴ 'e'mrʑ aqbyAoHӹ#DO/O*&XO韝vyr.O,*E wte߁]hBS&5u*qv UWS3WƒA`Ii1];K{GP(Tn Lx+5"fO\ 3},.=.eo^~\}LVVWjNxͱO@-Em{l&S4憺Jm~n#1㖯 8K.~ q6LY#6'?@E:kelb  Cvʅ+pCHf:cI80!Z;4Q=Phb.(5+ȅ 3+-Lh2׳L*CGXjJ]3p1^@i,_PeGf7.kXA7&3߿f)z%OF$)S࡜X%pA+4x S^)$XgP;erFhfFZ)yYykh-xs [꩷q1'p}LwH%<('_>8V#– VBCe ˖[>"GͬHv;ol[wG7Y>r-]{FH]pK[+AKF4T\{۲L: rYUU|L;v@6[y'^a͚U=r\<[G8J% 蔬}s oggF@gS Q Wu 5e,ո82_iĊBi0EP<5WY>ؓUEgw` FC IMf$ ne9l&Yv$'rm.x gEȬ@ dGȘ8mjk)&w>Ɗ(^dyYTKjC : rVhk@<#kGSoM4~kB& 7?ym@~U_'{ܩsӯʧ>ru:r&i4547S z&VQ).}6*<ٳ3M)fP &fS 97P]6~F&^C?gXD䟿O[.B鑅i`v$pϓk2 V>o/0A@X2Pmc2_qغwb"r=f_}NuΙs̮H+VdrƸR 7]ronB S.$!@ġ ca#jڢіK=DaDg\vw>{~ef#!t_g@Mг/_~&vsŹ!]O.ǥ+aËu01=vM>CVGoBI1dv}&NoMI+8w> 89,Hx焣|"4>EV;ey4r0)κ xX7˃r^>?E|Cr,y[940AÄc$N Do&b[<.MM ;tXy*&IÈM`E'LRHd3N\qh8P뭲b'G& P8W!HHקI M\Yk1ZGO`(ȈtW*Ugm~\>пL/=>GGa.)&}`E~qMĿ?! ZpNlQ/Z1\Tvpâ$'}YD4s[-)*ɎۚaTcTJ\V_o+myg} 5)򘺏t@V*Zسqe6卧F?C9ƽ. 9n&#*{;Yy,'&,C7!Nq1 7nJ?H*^@Z'7S\f\/A_"sLYy''3>&oޢ"Iuno,"94[bV>Ŋba$xlm|. y;Z:mIɶNY|&_J1FMf]g`o˙Wɔ2wlH_Ea%(IᶱJHR(lQXdC܅ӧ-z%/3I|*[AoߓoxhiPػw!0OGCȱw|äva+T yGL]7nپNX > .>S<7ȳ_EȄu!v:{}9 |QWD~0 ?R%}(NPD'wӶ>,//>w>j@uKqr m|&EU ?}9YYe~gWcޓww z+G;{GVqc!]`&ZzFS#:c8Mf|^#;s}j`0_/om]G_<_ȯ7?>VQ{Oīfq֖5صEUH.2dr&f ^O Q*@GeN>!@JNp\)dʮҰP=`}!)9#Tmߏ,ځLrP]9 G=D[Eޑ'/:܂_ ]w$W`6`­ CoqXRأkݣŋ9;vnƬ;%'R؃d׮ S~4Ez2vҫimY-L.ǵK$d`MB%C@4=wN7n:$V9u@uO=#N<7ʥJ[eI,lЇ=g/[KOJx/D < .@M*MK IS$4 N&B(&.t6̉r? ib}~ޚodu}ävRF?a%4k{ vlw y"zd߂}'_soq&;+'R^# 9U{Xp\ՈpFhLq|oȞwJ•wQM>yym Fn{ ga)01ے 1YߺDx˾1R^D6f;x'~Mu1S+H AxW;H^(> XjP@=hD:y\jkD'K+$w4 \TW @Sgc'؜9JrbxL0>`q{=$/?Yy;By9.3:,1ajqk;AK#@zlS4fS0iA2F5=߹.T;LfLx$!uBA^6 |Ͻ8ޏ䩻1ِcL?cʏ)|x*͓&dq SupCp}$3&Ż4 I96'0y:DP8#cslS*FGn,ZEsYĒ \b]”jҎl=~ba_B9_ Md ,b/S¢W &J ŽfB !fh<5;~ ߏ?}~yݘu/'[G`ĺ/N(c82ME]YYkgOZ)1!Liv"pJBo_*CEW;^^Aң vRi-03,5qXv)ZaG IDATvj:{X~HqR_^]ô;IfmҴfd{*'5̝I$(ь=Ԝ} {DŽ0Ł:D)]\X*RtHajq P\kȫJ/Μu91Ǯ׼l堟 ihvG}ujC`P!EQz$ |N /#IqbI>]#+,KMC jlHVlP<^u@-1<\Nih*LL2ga]XW<߇/ߡ<~yd3|&-RI>UY!W3.HJ*knG(58Uz)xylT4/a~/&Hkm1w/_<)L6܇”G.y$AyV Ii[I؜Nth3@j]ʞLHv6@*cbVqPFaUx*ߎ.:)eҗN:S`DM9ƞ[ hN@Ի{dP{4L}=PͿFM> 9ͫY`vSx w.V n&pAуu~ulqQWaU-ژiUWX=D!Eé7r౏iݬ4BwvyWU_VO5\' J@}~ڭXDL˴8nb!w-F5/H%z0i{k`K4^^39OŽ,"Hט1idfna}thk T}y8?j4 mmuCԈ҇Oe,xAὬBn`7aV^w4 !y, eQTe}'&&e~kTڠh£5S=·fTjH::a}A]||n?25]09[ƚA]oYWg8#/D]<>#0:%^INV }yz 6a[eɣtt`i3eh»5&~Q`M>Źp/~B>T3m u52Ö7\yF% ^=2PaE݆R8![y& rf8h-<+p0:TL_|X5$e`tMasQ<}p T۝B!}sUr)LsQ|Re vmsAט^ŝ}K̇P؀}Ut}t"} wf׾@:%)\(rsظE!ui~(ZS'T?fi6MYWa+!^ׂaEjaI3mFefLr*Rv- 1|33N$0E7m]Q67Ʉ ӥ]zYyKY+z7; ̃Se 6z[jsgpQwDI}O+ClzlUh4 {xu.j"6&L zO1龟֬Ri{ds Ej) QsU&H8=DB iSorzV{<CvJ%K5 @0A&'b9󓼟 q,ajrs=l#?^j7׍K@'5|&fŃViY`؃='9Oin^i[u!1n[4=,4Ip>k- sdE/mHRh{?t/SOc9J4(L\7?{Q10O ]k00һ.'L)(@׿؊Rؑw\3ⵐA'"ϧn+FMHip'h8qUOAvW;p`^e:yV#tl=RFeb k'^;UST_8SGzguSؘN~{)oT>I^E`a`y%PW-h6L+A~ 8=.Z46׿|7*P'U "MR:ϮYlC+iV o$8?ϊeUsfY%\27@8V wo#1_V(L|:zMeY7i40I*_}5 tAܜ )KS>drdŕ^-7-e{2C9xy`Xe=$r0Qq/́b`&TKWr|pJi[~KNf}*8M }ݾB?fݿu C IcF0fs7Hƅ Xifz ncNrHpRAR\А^Qw4rn+:Z+ "\0HX& u5BL&=κPf|VaRيWeԵ&dYCy~v!p!ncL1)0l%]X1(00ԝQg\huNz(TU8em'FBѮ9>^炙|ky]Vxc'lM5TFIͅn]~ i .:Sy#6mѭ1=Bn ;yF[*|Nd`l=ZIrӸt5]yngՠ x4VijC4<:sRhӁulx^r!|CpPmnVašjzIxX xAh5] d1meO ]3y~à8'qߣImRix-Ur*[ÒJhڤyNdp=v~pyJP PFp;{ˬOs.)v }ѩ{9N4U9pPΫ 94$yQϯr^‰d@z+pC*}A'dj5m#'/3% 83# y/n]/h|^~GjN^ReD9tˎd;\t4!UM͐:!2Y95Fյ j@!<\m kѠxXj839 b_Eg2{k׽,Ej[&=w0EW g<~ 5X<,4 FӢ )wx ӑ:>Q`pI\Ex=aN{CK72|ygݢqsGhPK`:E%4zpN z&u}e:vCHkNV/n3"kO}zh ẖFT"Un=OwASn8ӾFV؟*<Yf3jӕ8g`ܑ=>ųl4YAp~9Y": ۓ*Z(6T>@Mq?qCJc셁c)B43d.A+/O񧐕x7e`h%BZ _M$=v!h\w'L}>k) :|cp y0 #IT\58~r(I;EFx1VE Mjhi^YbGXv.QC4^9燧Йw gPݲtxLcp\l?XY'E~1F`jʪАPtԨRM~1ne eBS63n_\Ưd|^G<T8tQ,LM GD3=:ڠ!8WjAkIR,}2 9=ӕ2]_(zF(򕤥c5BneF(>  z&L4^qbJ⤑5-dLzX6wu_NG8:9zu@"khxi (&mgHvV]t5ldGKlk7>ME hOos 'RNhB4$0󕡯;ukS=]w`~}M>VDөj'X 3MSp4XZ@{1bkkNIvnɎ[ qavA>Aϥv@Cv'8)S34% (mbNڧKqHxWկ^? J)ǁu@?=A^F$h*kS۬W:(q~=[iаsc3o= Jx}EtK`&rcV&~ʂlyXF_!z_k3; HT2& ukbUu (h<C(ޞ_ )><*vHۂ; jxQ4'AԦ0Aq{Q!N%;4BXGdV !`ې"!75 ݫ2 AcMM4Fx~:!oM9{osB0nה1 O>'$N㱆+í; D"悭VF;Lv.,?W)]!2?Zyݩ#Y$`LEɻL]&Mi7E 9ЏjZ;U-_ݡX|%Mz3P"[vvIozVl >C4")eEA& ;[$7l3FwAjk$J?0cѬGtL Y R =s5'H%VT{^ˊ7Hyo-Ώ {f*?4UFƎEvXt"[! _eWtrbjag;>:ݨ Trq<%h Ґ>|=QȄĩ"$r hmYgѨPM7%㶘QNGƻ ]998Ec0pHX j"\F)kOeZo[1ĉ;'FJSX~#`{T44h=Ќ> ˬY8U $b&\p>ʎ@W$ۜ?=oi~\GpFiF\@2pXeؾmh Zj=}8u E&`6nn4&rA65;yLb $:w>h&MLs:!/H .Z#C{L^}P%!Jix7h+Wم@Q8/u楈>?_u~g1PNzF-0V VXlB֡6.L7f}B8̈́cLu:CAfJƔq^K>x7ٝF0P8uf K/jA ,n՜~iM E88f,rPmh䷕|Dž}O퐕QIdR VC58TB-4 &)̚rM5B||Fw|gЭI_KL9jxL#%t]`mJ՜3s$Kvc![,mGMֺyCLL%=WCs9qJg[iSZZ8>y@{6A B%pEIPCxȻ0ȧ4 Q4$2 ihPeIjꣿY . MWU>}票u8.&]VPŃ HVNðkӝ8`k{y`b@Ą(f o%ϵҢx)A&v;ӬHY`#,ϢaL=2Q)9(^%PpۧA,MV8shqc|$ _BJ$:E r.>2J.@*^+A "ۆ}|My9rɩ]@|xO>Ή5"saFo"! IDAT͊L Av߹**ʓ?>;kx uCtjA+sQtUqʬ|4a~ 6huQl;rM? 0Z$$ZnXMA`A ¹Sbi$*@m^ne] }/u up?wtLO75 BBՍ:^7Kג3 y(ΐGu!}e!.'D:Pkb]AZB_-G/H9`E>]$SRnR2?d7pfrbNr9.GcRҥߓȩ^GwG"f73!ЩLKҌͪ]tݯ?>YE[]3߽` 䯨-g޲/|X̢S´o}SLo 4;a>8Pq ] BP""P!8>0-)^%4[+{E]Lov?@yeag _rpƈj4p}Mv4m3'syn͡勲MfۖY /H"X%'qli7qAYr-@T>'ǣCc%F1ܧQ_P}4AJYD HyȎĐ>}zk 8@+b> RxlJL`a)gI# @h>΋(Rm>s`7I#D#Ʈ];| O0C, C>_ г0fHe{E㭦@Kp/H4=Ӭh!aKF{*!]rhayU?/no6>#w#]}ƅ`GOe^iǢԁmEͥ ; <~UZ\dc2 r6'dD œ^<ҠbX=F.H4&>DﵿO`MEZ2Հץx LR8h6Q$kj`"4?{yKfMG?bXj,z[LkLb0{0){ ހ9űz0 hЉPYoau\flI&_<!uQ]_gd2-Qe.Nl Tp00h+`p"$ pDe  ow%£(Xd:,` l{ڗivj7 a.&gzU"idlIȞy ؟9 F?ZNCS`aQ8ڧ&_'N-4r6,pm߽,̤I::I@\S pr:>5Y NSV]/GizS25<]~yj DQBw1K fcMI _]zxo rFT4b (NR iܶΰS~j)i`Mf(qrNdVp,( _s#?&+ʌf/{!duU(N%t:}v5WTY.\TܚBC Նml<VSFeBZ'c>S|nZcbBI:w%>n4>fܡ09)6(7ӝts jMQvfjQdon`<Ǵ?<_#V:Y_G!<@ލHbh#;9$:{^{gV8t+1hRor&Pdꗧ[@u0־x=4wUD&'N/2603#"1}I@+bO@+l2M)L8tFmѸFd@6oRHI\A#X^0pX8\0i fePu(r;uFNF0Gnvp[&_ Hژ%hDz R-^i|Wٝƫ&{J ]&QAuU!/Ál_Ib !X'yRAcqf6gM7x$REiZh@9օLqHN5Ӎj]51>EG~LnvUBPpJ; q4%݋K@b/f;kLZ72 : ِ iH~z<9T7tD1Jy; Rq+\`W/=)ϥ:ecv0&^9 쇭1g2nqb?5GsmoM5G,눕o[69&q\x0@'fedyv]986&Ucx- Tt}4I晑(޷(A5;y8H)u2 }C*5<~V8W7ol4M aG5 AFQn_p3phRTkR903D %vj4w:rX4pĂ# <( <A2L NQ!wрץu ekuW 68r}9\W降 h }ݾB?f]A}F^oBzsفJŽBLxjdY~'q_?&`_kJ4;wB|WarQ˒ دP yT#(B;`2?`*q:'uEDjSYF'ӰQF\ɥ7zQaFfnZ3s7>QO~Z] &lQnP!n0>`OH2)CgT8Ѹl o|E>r-BV5琒A*CpJBNdRjj|_9^g5ri -iD%\KoH㕴.IH$8Q+Д`-)Goؿ>iv~",_w0Fi.W3JGh8(P7~f3h|mzƐi>0 3 qq}mFM#5#dhLK1?1i%1Q3;r9ɏzE KV| kfNE 3j{;5WQ,cwAP<i/.$n*tWܯ؛f,ZN8+}'i^fU6g$HBҔ@"䱿x&MnuDzt,#]_W]>G`|#`1ySAg:!P]2)B_I"ka"頞ޓCr)n>mugo DživmyM&(nQ\%|տx驝P+6Epw< J';Ւ/Ʉ|uF,fsFou8YQVAj-GEaѾ\'l3PhGS@%n Z1d7оIRO"fX][)s=}|75zz69S.@G5@% #!d, pCxϯccEο9 \&v+׎#U=?a _SuZȇېD0D)?q,R2-'Mzh[ G5Jѝ*ӄ`ePpkf$@X_]g_wwH4_'OdNix]+L^|yİ_@YǏ!BІpբB diks qW(=RxOAEbnV՗h*G?m쀣MeBt uAv/Y1 9A 54|%&'B{TPYYD+Ix.2ЦL!$яeca9EJEbGc5RtQ.#uP߅2||r^6qC 'Cib L h󫛒<~'M!{v!|1y@e5C$4E\]1ytMw+ h| }33X%k<NLNlAb {o^T|VE>>~UF8ݜS3܆1kcCPmTQAc Į2!k5tqOփ 7aL~X$l y w"=J^KkDJቫA'铘Uk>~,x/=KWHm^04*S'ٻcM[cVBp1c^*1Mr/{MSEKH|$[s)$R17InFƃ&|q X =$Zl{7)v]`;!`!U98n?6E!s0%ClןnH$BÅ [^M} n&P "r @TCI5(v5̋ؿ![Kc}blfrwq0V oew^.0F:7sŻ(n*! 9vLYݢt#.454S`?0TAMi粜Kk?HMoJgF'=l@|:h_r.|Ay0܃`ED_n9cK\mXYLO!$ Nc5=quK";E,62ns5z*y}P=vZ&P8RgIȚ^ i,3(^| oyܙJKlYD__@QƄSeHpta O׍|e4vA.n PZצ`cPvg ==l"kd8; dQIs>2#dE#LB@=fnx#hЏ嵸+>brdo ?-(}4SLvt6(hׂ~+"tnΠvh)_o7B,_M+Շ|{>uCbǓ(KrR^A>gMa[k.ՎKa[W +!-0Ŀ`!By8- ̑܇uUC%.4N͢8 ? {7% )P!V+Jz#U\x⋰iggI|#FaOf"˳R0wDv'$Q_3}\.S Wc7܉%xHzkZizb?DZXF NS(4˾Nl11¨GB,q)xgVwSِD-d( dA&+vR\uRSDLNqKvIcL] kSIʛk1 iI ofmMllo-?7[yhG?ZeAV7;x.ƻL H]>)#}5[~}Qm%pHh1)ǽ YMs'O~4|r|E C,)nzmyAL@)Ǧr3Seߞ<4R9@\VrXaW~ÜjxZ(C '#H6 %bY$$oB`d8N2w.9nqXɅ:Q4 0r?W<9v4cfL@EB!oY3T`UW ʩB$ VFCR?E OZH"$1H S 5l@ɀ!dC[vu&Q4c!ui 9%9x$ i]J{2DgHg(Gṕ$o F, u{8!uT, P(/<}9h >)0+%wG 8aF'.LVⶈK^ZbF"pGVoZ[ULjT,ֽ,^N-xj\{OZ'ts?DgNWiWF ΡIdIcvR335ktk5ki6phCupT~Mkp 1vj7MCcs=y.IDAT:WK?3ZCtV"EiMyܰSey3ryY>u>InIvǪDCS4q g ➷l8@,`UJR8b+ęD4miuO>z{CN/܂SN‰EI LN?dI1SWgn ?uEH)i>38׳M|XnU%v ؑc %dAm>k2vZ4.3iX#i"gsCԹ9ЛTe@$1NuH1;v/k8Ȳwً,BX-tdt>ϴ ~HG&rmj4p%HifM &%܆<OTm~SSo yڸߐn[j2D`(džqu }x:;~xqh]?@jœE`j'JhZogLX*ږk(>:j<هv @8`B;ثژzLi4DmN0yZN{&d*I\04(MH^=.lLO,H>^t7l1 sp3|~daktt56mFw< wPȁy#s$ϿoR\[=lZ 1׭U@Cppc!5eo@ڄ ^Ȁ.vV3B4q{󬾑)V[&mO{N=p4 (E܉~;cGΡ:DX{lG9s"Ŋ aљdÏoLBUMFp`?Wя 78YyQsY֟>omhmޘ1qS}vDAm,(:1v^LtQW-3f[Klzlwe/K_.'8 ;㗥;ژ̮9S JL9)ˎ. H,oyP*1(˕Ucf4gbhShțۚ0Y@<(?"Kwr_إge /ˮ! o)8@&WvdBmQXz9%擬wʜmA?iM$TgttE̟} :WSR:6oϹMoムؐ]x+<P 5 ҕ\.v&X g1lysP~ĺ9]1z ?/{}aOMFfcĸ@ Zcqf22Uzx۷Q/o'#@|@2fkGN |l0a| I&JT4sJw֙ ')@vMw l*XZ-&o1{1Q1{EiXƩS5erFk0߼⏴jq~J021#GtUe{f9k9+ @A͛7<} ӫv켵xSOE0*O d2vMs͒-2_>Wָ(ݯC0)@GKŀ^g>UIϋ{-8YۙҰ-v׮Qpυd‰0,{mֲj}\GZi#׫RO0ɮRcՏ70 3fj:jM蘢19 8(B_3brOkN&QLk63}V 5 BP=E\|Dӡu ~ P!nCSh_cW;z7$2%;2; {s#v}J^J 2bwN.^YY[]cEu#tmuUaWaca찅 lz4$ mC`$?9Moz,FR40}#{3L+p\o$ Xz>]rdH[HȔMVIPfo?"O`\xJP cf&(Lenc =c+=\1)9Da^;Zs m jT⦚e,bn]?'&[:og~)>˵[嬢mqLV#*G7O1WZE3Y{^s.skXH[ޟYQP% zm]g?^qDƥG!*FG95oC/m*^Ň)dr*{{Ln`;ZIy C$"Ryb~4 [+/SSܑ!+էF[}RKp 8 >&o uo/-X\Gs?Cg-q 萏Qݑ5l9bEY7)x/0l%Px76/ֶ.$wq hq:W[Dw%Sk0!sUnF671}:$.)yn)6;2(Lf&7h*T )%SkU`O4 Q|jIȩ~04]4;e! {$[{_3$? Y$H]ĪG&q,w"UJ   |ݾe~xQ5xkL. T< ^7'!Gw$Ȅis׀P70ᐼo֋Xz%Kpi=g۹p/&իa+H暰u ;yKrf*BhyzjyU~lƣLToc&GHۮ)#ot9o1acjylSGzϾGM>YPYq&4Vӡ6:yLBFao;W"+?.+X 2'|m}2fǟe* vY!ݢ v/ʓ#P68'Sp [J~`%P|LRjA'1>%1 1N4 4"aݯHsﰾMcE8\|uݝnʎݹRn|LHN v0q|ވaO.=B2րS> 8]aYI1Sb'/-@ݻ! yly p ~I°o6rڦU 7Ep za͎}bv(!O[b~ _D-ボ8'^IG}d'u?uDm&KF$%$_\CWNSƬ?~ـ-9+m|mǔ5`rbb*9F:%uJ6 zPgy[SU`e8VQ-in0ѴnwJrPʂPhh2) c(.^2jcE m1ץ ߼[m#uh9b߼`,OUs!9%}—eSHOqRoO0cJw p>yv}euL͎ɮȴvwI4ٕ\ ;|]u3ri^U$e=#!m|H Ddfz6~I"Y`j챫Εrs)XRߞؕ$k !Q6v.-DåaDrLJ ;k z ԉsܮ /4cu|I AqփgoBNFf IvX La!жHޫci'c?ϠfҰ@ڃ!gMSc@%7ru2a> "g6A"+g9-m:'tO3> ͦ<5sr'VD~;?))'q\CQ] Č1`2jкSLU m3 _OKgѸ`~cmD./B Ff/o:!M: 7Ze_?{B.l#xII|3Bm@ʢǀeo)G8*Q3yNX9s=7h5s[x͏y.C0%}ajw ! ympoZ\-WLO~ $=yj6y`d[y'PIasb@n I->aN|P`|uN8$!yS(+:hw@wOPW,Mecs 34[Vz5OraϿ.8:X`P}vO`ND"wPErGɛ/OϳGQ$ @$L&eˬbo g(L`_|HBY~<5]ÀFc4DvC8&A4nj]sV,޾] $tD&V[2aGڈ&1<(Ѯ_eQ$Jj?L3tK_y1kr̔  ڕ ^5Lz:W;D.+'gAVN&Uk]>na 1|M!_Џ#0>/ڡZL^$]bgᒱ5Udy.?7RwIHҐ#e& P OEWJ hO7}L?VGoYmߌVVqV:nZ 99SPGqmnU(_;(iҤ$mJcufʀ.u5"qF]+ A|md@*#ATTjai&Mȣi>vi}߽-INIosns^?D.ُ ߸f6m2flk]mszcj+L<7Blu2<"Rs~-͛?s[3猃YdoϐDxPΝo*/\( Qpz"1)JPmL^neD)ރ콟K%Y`{qhDVP𻉬+Ql_8:vd^Ck%syBH+/ذcVڢ B'bޯt9x}}0 QXǩe`wHB5IV/#{h8vPc48 <=j}Ա7pJc!z:"}fuό f25F=DT.ǘC.L# Vmk@\tP Yi J=sNTqE;{F] PIktVpT²d ڹ#Eb1U'AH'}dlBř&`ikk9 ̨?z H._Ξ/H[W=&uv6wV'!o#EmѮ ɗd 1&0A6l_R#d*YiMM8ȧ[uz^71 6&q/yFc^< nT.A#KW۞y׳v^79QL%ȼw7`:4>M{. usͺn?ܮ IoG ÑpgOSYNi$">E|y$?V>e?̂wRg&ĵ#I;"R>":wv&m׶DzC.WO$FJBD-Eޥ#9>#%|NwW,C&Acn3܇O;KL#PQ, sP#0| ^Wu*~5:}RWdzl ]B>@Q>9b0 SI 'G-I^\HJdޜ, ߑåF6ZFI轐~'~iGJ9&gsaח(dQ2e-S!+#)tnvN?>Ddr^A?a@$|}g( <7h B8qP?"xLMd_SW!p~[C#t_0k&mE@PEm("40jxsui"(zFG2ju7:tϛfs5Ms7B}eޔ4u|Y޿o[BW("Do֥*"4jouŊ"(MU3MPE@PCYUUW("X/x,\4IENDB`* h;hj_Vx|uL_6R;)nenuqȶhqwww](lE;ŭ8~={99d2'=יIDaySA^Z͛" ?  BIN <Ut7Y9$=TdޯRb 6I'"rqrv|#nmimEciG-7 ھ+~ C]uP7oq~b^h Zr1{hIKь߫1p:u:Y(?.'Y]%+ %tux^LG}NFD$֘^Otɛ?l '-!!ەzq<[wa69;3AX_.VTى?@  o  H+5/O'8a%ޏAm^\nx4[p%Ѷm۞`b۶mؓd≭m6n?Twꪮs>;ZIA  IK`F ,R$8 ]r_x>@PNG  IHDR^d=3sRGB pHYs  tIME 3|D\ nxLct&QӮc۶m;@gc 7:K8c~-]~"aQOt<{Ib!(BBi. Vr(;#Tk"p0 @ů[k!hDMgSEڈ)]a$[6nR}2ˍ1 \3Z &EVPyJhYkRJaeR X]*),n}ܟlRw%DWTߣx@]; 3x`QDH;siN1BO\W.~ +[_w.lxſ޺ K0wxO,FG.ugu6Od<yUIhy%v_Y&ƅ4-Miq~m%%sbuSA\i^yUO % ;psG?@U .Ur{&tKM 4'L(R> ^V!WZl+b20ST J8@B9T5N &c >d(ǢP\譬2(Br\*29F@@cFHZ-aq4QLHH U4q#6XV5i "Pvit_to@i,F+'K'v=rJ>YEI+TTY]eH(6>i>Tv>;Sn@,P+_L,9 A0֌re!&wB z@-ZDҩ8&RHδ{@!X "9-;";ܻ=Y}rv}<[ ;g "D 8BZ(,~+j t|J7S'G|ß]ٺU)?.t+&K~?GhՊ)JcE6k[hĕ HBg/\<4%b}atZwWYQ i8^~qI,$[@rg s:6̝Š̋z_'6" Hk#SߊMK˝ÝI/!@%v\u.5C TBCR+/6 son?v: QJԿq\iREJX~ng!":Fd@(RH"slP 8£U0B+{ڭTwKHq53֬p k_hؽ${@G8;k n3PDD䔵ɹ0ax-oͻt[mx/b2|A%E$(W⤝g(2Zk%!(B.P TL!d4ZyfP(B* ~RgIlKV++ McrOXXRWB.E2A 9 8 7ZPyM@,g?__J'C?ӃS_އ?ȴpwOB(Skh eqǎt8OӜExscg<<[kkX) kz؀7uԞH*TcՑ/N9=*Z,S=5d -i#nE @ yjyY)8R!IZyY @Θ4 aUծ@w1"(D&HE=ueX췿8<]k+CE6V\Qdk2> 03( 5!* "FSXa/t3"KBYi"#Bh#mQUQ5FCx&³/y ?+4UD,&" v}hLRyx'k4wO&ɥ֥^"R_쮮@?*]-NAdMƏ<ÛJZ7Ej[ :eƹr*>P+ ~ k@SDJ?IڿE^H3:$&`A*K&@AF"߭Aas.) # CH(0+",PӠ uE$Vx’k PAXEaiITIA.w_7PwbvRGVcx4*x/Hm-+g/rR E0`Eg$(G\ǭ5 Y|VnEjT}uO<AHALԤXKɒ. (J&}}+ϯgEF:8B."B!T0 f{JnRWv@*} v )鮖EV'IIP'\Z`t1"\X"q{D@s=BcY, K[m Q H3(BQ ZKEA%Y$nyJ\kA"3@U dЊEj> V|39hWdk+|?~8aku|6Ng^ᄆriRn^[IhρILͨ};n]X\Nxy9J3R7/ )d5d դ|#YP9` 0'j#⒪*T'Wt,w[׶Kp@!*/eN :&*bF]Ś  `'+]]I&ZT}λ[j#ƭթ%ջke((bZ"|to/YVfG-yLL`[t4mR 1VJD,">xhW:u.2Fhk yDDD t\LՍFf7te#̳lMhjN5g$,ߟxFVxNT,4b.! C1&*!x߯cZTCsݥn>4 EG{JQgiE}*]3 cX{VDCG82V@i3_Gc#c[ |Ab((>0P9Uoyq*Ys&K0+y\Tk;x݆SAeU=W,SXyflۚRRkF#\lj-wmE/'V'g괻+̻ģ[]=iE6DZ)2,dɰWut~W~4n\ܼ0xggY ѤPiY&´4! 75zì bݗ @HPx6 `UA_5'i)3k4" )PW9/_JN\ ^8Tj $T{M@,(<8pIG QI9Y5 pAs&_D`Dy᭻__'CZdF#IڽN/iwȐ"ΡNq̾ZlfP+5sy;imH)"$ 6TZy\U kŖѳ &:1L@^zJD6.|'ssIӻ_'v5rU jBS(Ahbap.Q4/~z~Xs,уiFTWnOk$"(AVbA4*]ҷm+ҢRVkKJ!"  At""Ie犠\0V)V MDڱ}U'!xN'KDyv9 WHx% ( @DK ܄S{aۍ F;wǓ z;w*G?#vig9Oo+AڥK}i}dp$+W/|`;y绿_Z(\Yȧ߼YZJ'ڙ۷;ʵzۋ/ )5jEuYEgWs>U8QӃPmpFsa:+޸}hzhA:9k_w.yV U 5bjEa`9]qWUn: VDfQ$VA'R$a;֠OYm: Jj hj: :CXwx3G?'>cc"swlVcci]9:)EZ)vgMZl鵕Zka$$*giiS;Vr@ D炯{c,DT\H 犤J)m@ؕl>Y+AG'D}<"i E㡤Ap+pnTL Y*! QYZ X@뼫f瞳^EѼV/0gW ( 'ǡHIv@s^P:k JH1"aȦDJ[Q"A,0m BHJ|;d!畎lH,fyɁwZk9 [n \1Y|r?{VݥSfpFz4R("Df B:"鬀pҒy*),]k,蛯=k&.~SYmO(iΕEko/n9w[{?Y[)Y9ivv_wk+mNԭۃ^{d <|AqxT^("9[W]M;N79Q uҍٹ;<ػRYnoyw")4 [/~7;L~_~jQ@,0PZӺU\-0wrd/ D&Ӌ7-;ؾ9WPuW9]T |(xM|s>/K{D)|l\)i$Zm5Is(2nsuc`8I'#3_8I$F R!^HB8@XlsJc ~Y %0+R B]ZV }`/ i}mj 6xf=˼+^CMOXm (6RYhA p4b#{ry"Kk'$I`o;-Q[FPAV*2ւF"ljs!QdYDKٲLޕZI,$:'`QQJDkAF4ǥ"Έ|+vD80#^̄@#(@> QD._ڊha7 ]AЈ 꾻r"j. @ 4"T,C,N!ԧn*>|Dy}qe"-t6*TG%߱J<<~k[o?Gb dzן;Vo5xO6~<}tg^ ,/u 'ER)&eޱp3vݍ:/ʢ%QZEy/~?CϼlD+OM&O|O_~Wzyq6'09ͶC<bM@2pA-qN/i/wkV:Fn~8REA^(Sْ4& Lfkُ|Ay:I4[0?W~)YΛwn?~޻^Zf'?mJQ$♀R/VX] SU53ԫ\''S!Λ|;Xo|_: yzB…~XD4!0 I,0,4^y,+OUB @42 NZAWNhFħFta#H1_ïr#돬n4{9>=glcr"(ƀ6ڕ>M %]g  rf[ y\QfQZeaYd"3;W@AFYPg2f99t26:a<Zu+/nwyfGDSOnBij>@u¾RSbe9]gq`pJU\h"հL&`2t$JhA07%gRyE"#FD5hc}Y8>*0c&.0 j4f}9+Y6uzxG? xf曥ȋ,@Z jM)z7_x[n>^w>c_"RԈT&f Ŋ. @@V?Qڴj xŭ5HmTNdD%D.4 (%{k]Y$%x׊i^ {2i2˳EJ׏P9Dq+0 T]4&t̼5cA5(5`YT4<&8Bddve>Q IG*·V+U;e#\'HԉejTTjBj83߾*M|CZ ;4BԹNT^f"gؗAƕʚj_A5;wY&$P"qEM@ASڸҗL8xa zW pAأJ٤R aii%/b.\9&L!8G̉! EZDP 0 K2 sE"]CI:hyq|p7 mŭ2$GwFλ˝V:vݾsA"Tw]Rd w3md* }:@@DV BQ% sλODdp](qdHS MtF Py ZKi2y_ OIQF; MC37T@7oъKW?Yw7?٭՝Nww'NvGe>6 '٠ĻKk `YpA̹vj pRzzv5T"nKtt2b)/_y>Iuye3${Y1Y^~/>_Ϳ8y'sl-;CjptT<ۗz1-tTlNh^fouk+<b:˯z^~.'?se*/_/*SjM</̠8:d[>]!Eʑ.I%ڶ}qsΕEltΆcvY"ŌgjJ,A"Mn0!j LHs(6-`0WYi MY!֤px蜘A@)FSff'nW*,b: RLa .fvB `2"hJ*?* =GkT\γi@kڭd$hZ1Blw./n+M@Ds֨ЙHG1,J©9i Y+?>Ҳ( g2}.@qs\FCEl'VաHc˔|j90_Yl !I!z9ṞrX uwC{ N[5GG0nu95ME ػ8N:%ծ{ y{@/{̬(ejň^ prZβ& [e: I1$IK<6:7V+ QHUzoO@| O=- -( Z[v4<8ܫU3%Nl<ERIQ2=~imm뉬u)/~Z@hozҝ2vȇKUziծIVdO,w&)r_8XNu%uR\˽0;|tpMۯfpYDcO擨z='CuѴ86Ӊ35#w|7/DR-FPy{4SX P_szt|<αLh+E9.л}}/n2D"P,ȡ{Zk9=s.D+R*^`80fWYs]DB{!D7eYx/IeYy"ؤ# qEmMSiqd+ ꯐTs5bB,hdŔ+4֒jxEQ̢|9!y=iq\œ`f:",IZ.=܊өRi "a}j",2NsYRCd , #f@PQXbiXZ]Hc_d@"⊴B(2ɗ.!V 5 3 ,sNY"tɅKR/@\1,.ʽu/ jMӻxbG 3%P AHsp!a@.db0׎zs(2DW FfV&+~6T,NߙNRA-!KJ.@Ѕ M$ncAԉi6ͪ Z DZk7_KBVg7r/ ;K[';w?~o$kkC:Syv^fuwFZzIdSwUQ'ɀ4 m +e͕ ?nB52jҋմ7\kw;6] olOȥY7 F~ Tδ ߽qyo_R֥旿t>űhcA"l V{{\ҷ_J{9ɍΏIn]F|g>?x|yZ7?Ꮧac]~KO}wKo}RQp˪n|Og^Z[M7}տO~(i9(턝 Hjג"ǝg}ŃՃi&B*ˋ斈< H1Q553iW>HYBD^yF3J4>@ FN "@HCacmf6A) <"kJ`^IP n8ɜb$hcs@2"tuFҼHJzvSUz~S2Mn Ԫ%J"5d5F%fRvɕPcD{RY`$:NZUdMl6WW9`iI KV, 9.F& Fa>xGsX}1ey>C!2 RQg H\N7/ HAؕE>$Wd zT1G\yCvlZ@RE^"H F |4mێhQHU"E(gE!vw%Lhly ߋTuUMDJ )-,.FYvXIdB$X=CbmĭnMƣAp(4Vq6L&cQ]Оt2݉"Ŝs _4<#3kE8Vf!1Uu`‚ADW<泉w^6 Njl9:^ TdNp.xNw(tߌlE^9޽y|}VOq )F;jleirf32[Z/\OI뵟{Mpyyg?'~__n8΃E[|`DN BB6}?>yyePj{7 rYݺiO}_D`\NPGphu>4h=1H+jx+W6ׇedxa `[_PSҟ/}߿ȵkk/=_Pv2@~5oyշehv}lmu#I80wedcp wVqg`VTVFju:ÓI:2eFQ(e(a:}_Lj^@Fh4M>89ʲ5:#jz/̵MN .ׄ, G@EP#|f# A&]+e鐔2Q{R읱Qό)e|\PE3"R A`W{FUs)"ƽ( tVDi/a'D "ZQ HEYdMD9gf/Zц`7(Y^Zj2# i[{VewCiqbLh8Ba\PX-f6Zwd6MOK{u@DQOyj@WIg)N!/rWf'A,>!("+cu>˚00K=QqZm:H:UCwy,~vh;`DZOv{IB'@0>4hK/|T7k_lm "M̲խヷ't[C[Da2/m>O(簷no=ajvzpw&eWj>ejRRI.0+lW` jde U J@ 2LeNLa{w#g{iۯu;_K?3<:k+ǫjV|;ު9by_=3Ž@}(ή\~/>;O+f&9c2Ej{UDS+""MT4UYzqzpogd2|79Dtg`m ϴ$,B}،}[TćK:|yg㩚ż(BC@.Q\nȼ\8vg'}߭ "D1MjqbՈ̦9h9+Q: ZNΝ.ߣwnZXr2KR$3XFp,N?I}h '&(z4atQ"j̙1w0̠ӍUY$/ww.G"9⤬e}T&E=ލjkkx9_&֮NUȁAJQ޽^^t.pD?zY7C(]LYnj}Y 4wԩI &^ܗj y蚪`M}Ʀn< }4 ZE; f]fݬαa]ׇb߈XY`JIǓ]U>NGϦ3gh/}skҬ+EW6/%ih{KGMd{7y+)ŁN~4f^V|9j{'5A~ɏ,__ rq'Gw^ "wCPic৯_;DXa̚g^|o2Qն䋋[w@4&;.ʂ]ׯ]|KD.a"QōG}կmxou[u9kiQ痮\~/i1U מgW.kA޺o{^IFYF*o|_(G#f:òڽr6\Wk;y_Cm|zG&'_֍7^&1~0$'KYr/I$ƔMɲ+F^$f"oW1HB† 2G;.Y]};qbMe<9j/sֺ.4٪YiN!8Gz_iʕkѸ*KvUC uIDMc̉)Ljm׈FA%eT~2ͦLE5ќvIv}Z䣓,砆A;Q0E&6ӲT̔z4 IDAT6v`s)9ߩަ,1,}̩ $!k"F$h9&p^9v"!¹"do9ǫűo/B 뛮Y ;E ju,ƌIrĔҹ8HM`1*ĜBr6>aSޘU{{Դ<)vu:{x'>/=Uӎ+;xmuվ._+kޝ(O$asFrq+iy8=8\;XO&Ӯ/ڬ6Y=}/3z'~0cдnTlWknc<&|pp(,v?//'ewph(y o}i}xLַ5 mD@L%|o+;{Oo/^J$+_핣x|v>|=ĸ\w]5\OyZz̳~xֽ&W[Eg5ޥy˓|O-9v e5i._sօbEdbrSR]O9g[9erjrLUR̔XD/ڮFU%@C"H)**+__9_@%$R8) >k"rD'g'wvXMM)ݽs܉  WJ4\^$#(?#Sw BC\j-@U(;V`̹4z9NRCf$$NUۮcDR>Oɕ.ޅЙfԣNM[%.Ũѭy+ML-~,U9'ňu @}ߍ cS~\r)o90I"9hV8 0"bv*Ğ\"EQ :G(㜳ЯCl1EeL-*CL뛲,TTQը(*3]{[[CC9( gӶdɒəsZAY@H"YrYẅiQrsH<#6 S9zRLL}"OZIja=.l\M1)e0%vSLRlmحљX߮6j{]v2, O1+P[ZDGDChb63,fq<38|ZW|}:_^kZbW]vtǵA_94Sպ58zw>;]˰>k4NY89$?]ϏU5qu{pPlN-W?3O&vv-}x2ԭ#cWl2hݵo||.I?2 P}w>;4U}—?s1#~|[VYɼbz`t?ԧ֨شoxyfwɍ݃_,ܽ̄ʋ^N@3sϣ~wx4>zSn~] ^R-v/lTbAr7t_Ὼsf> }{XCSJWŘC@!_9jRH)wفi FլY}RVUuW#svuB)!"#3!NO5ֈx6eNFUș sԮW9sE"d4!fvjJVLk4XOz6ٌOa勚!g14 nާ{|B^eA`c MSU5""a9Q@JU4)l0s9 'ƻ9PӲ2v[[.s]MrjL# slbB|t"SJUb 7Q$9(!%d4u) T%1. Irn3j rR@ fSG")1;Kyvթ[(3S s1UjB]}:v Ck1e1v$){a= @arj@NGDSq< cS[.F#L!G˨C|,'ɚ Rf>1c}_^MM >|%xƐE$G-<К/,EL̬Dt\܇*Ftc"m(h Z ˶oSq 9=;r~gщcp aIia2qh~לֳӃ`ZN8z;fc4IB(^Bp"DY mQrU*;)c>CgpxΕb13ٹ?FnA??k鮄ӓ|y::<]zŝúpI}]eس?967ҡ34 Zz_3&?ӿ/;/>'}lݥiN/^z}Szz+_:Wb7<[u[3l8iVo#pzxg%Ϟzaܭ$oܾ"g=Xb增NƳQ؅qQ@h6d_޺7̧aMɄ%ϒ$/L. i5d4="8c6C̡֮09yff'*0!cSE <Q8E=DYC"v9&C;9&*rxx<냣X'yQTTuASlYrj@EŘrjZTl;?+./߸ WL[>tf^>x¥>+%_'ٽ 7@EQ>wR66ks<4e1sJGbbqezjAR=k/g~U~z/_/,Nc谬K:l~W~婧/Lմj ι. 3 3$$mFݐf)g&R3UCDb f$tf}3&fFfo)@D TUU0Я/Q];5@!;TKbu_s@*+;FCD5C$ViQV޹E4C&,KH`QyӜ5][2jĮ*h@FADC ,ifӓÃo%J"YyM۶[o߹5XQTCC<%E -KvΫ* b$b$ȞrnxY@~d`z._Tc*<y K$6ِRuj2r~RFT IT#{DBʒއ;DŽĄ` <шUϑ!E芔ڡnΕy4hʝH&*s (Yts|f$›/ :ar|rrp0x^",C#y^'7V|9dz`A=h+jLeHBp78tF rfh<^X8b3UӢ9ʺk4Ijcӡ »tp7*JJobҝͪ툰|zpQm ٶodA)P3^y/|LxT*"Q6b5̟|CkJG=R뎺좸ݽfן'u-rYOZus~i޸ݮ{9_~6w^VY?_O֧.]vvn|{2B-}70MmJq ]5ݺ|[`jijY׿/p.^8|;5gGgx<ܧ㇀܇?͏LѯʓO>_S_VcU-@@cJM 1BJL LU7lU!#4#A8kf(9! s+J1+9Dؠg`">j)gQI)QUϐ(ވU!J"tOʐ1PuARbدA 4Isn؏d#0QSÔ"$ADC }|Rttza}6?<*$)4"Ƹ\,Մ]1aȩ~#}\e띝ϚV5=KIvoV;_ll[rXɢf@TN 1jMB;0ޘLR`rhfӍtEbU_J5q~JXEVڍlW$2[/՟?gM/~va]#6Errh{4uV5k߼_ !;hZuvɏ޺'@O?y.7xz}xjW&nl-޸v}/]|vjo?] w.jl?\zv!.^x|yV<"RqyQ]pR /}GέdlxlNo"6akg ]7O&da`j QnXRPzh 2*dN$k0bFL9FTS}ij2 ZLb5朕@M%"HJ2 sN9ѬD#B=3Q}!m[Ue,;>U=,.<r~Xd2260>w u,4 _+ʲqYnvI/*\<7Qfs% 3K}r4mU-(qYTԥTT[:Ud2@C1ٍ} I(|V2RfuȣVUsrDҮl<Ms90PI9D& INR.|!)i LrtBQ 5*jdjUQdCY M5bULR6C.bHQi4k֫p,*}̮qD@L{'Yu6gLI o'G.\xY] @4|4 89&$_^w>N£RV86vzIEfQ(,=$E\ه+H-":Mȱh:I)cHBޗр-#Dw>SřYǜY,@[",|C9k$SIIQ]!K:>Ƿn޼u΍f11?]7߿;\Y? /txqݦeӬb˚4Dՠ^euFOM#Mǒl *UhhQŪT*[[¢=$cJuRwl_;\QQaހrpޏ->c=QƿwMܼ~{oxڏᕝ~ʵxas'?|/nk_3t;f/]YkjZgX ;=YfWcz߾0j.j݅kO'ګA%=?7ԫ_w*?ܜ6/}l'>g+kǟ~b6^4h]s5PIc߇ÝbV1sh)FiAA&]_rY+hSF@``HDFYAB61tf\E\.,@e< 瘋᲍GwVM/ĵgrmlnNB53hQ8Q|n-ff8D !v}cN*hwgB;@ǓM$dJ"YdS8tP!&I1У D5Bd"͖sFC"V I15DM QA2ࣩAh #|NBĢSjF1ƪ/9 ]I9 hg:BͪjNGtUǻ!r6m챨9j&us`9%轗ba68mx9Lrt#9܅H׫eJNc(C6ڶ_,EYnmK4m0qQD1;fW1o?y<3>ڿsm{O=cW½~52o]M^s7v[؏=;/}w-?O?lz4dԳU{eݔ#jb2R )tb̄m&4sJE(KM! Cm&ULI  U2̒'9@Ly<{T@cBd/zQKjLx.@@S1P HLTCLGMFcHDkVr)&YX]vEdպm(qׯ4ΩYJln"ٱ IDAT'R!?"TrugBi#EQ33,prz:?]֣*vMUͪ.XmY)N'{iߧ̗ՐzC %!M/Iաoced"%Ps*@ C8 r&1C28D -&ZebF,`@hj8xyܳH8$bŔ ;iLjj0dSIT ,a]E5=xx:;;j]Y$/OD|]Vh^dˑN"qU64GqgŢ'e=nUb);@RTƴٶ+QN!Qh#&xL)rx}ߔl<*'wQ2"s+`Z;W_O7.$[h:&yX7l:2{c7[KVygޞN]Ph\Jbn!0_` /OCt ڮ{@˲"y+9{羼}ikrKU?$Tl5[4oͯ\xkT]-fME*­y\U}ȶXӃ{ۻ=L<].>9NΖ}t{ |ƫ_ud%N?@Cuͣ1@rT'Z.1v}:)G.b@)PW̘s?'Ī N L''ǔRH!(sJb*4¼gkO^im0$ukU%GsiNyhGF5( I53( ƬJAEY A]AV1z S%:AHܾDT4geS v^1"֎ !A=gV1_89$,XTsRP$0M\BŽws:>)3+EUC,Kf.=fms S ԗyLf4}c( *,g0*sCnNK!z<^rV:IQNZlq "<3{[[};LѸ s&#飈36r]Ǘ޸СǤE5[M ˬ)6UQWMV}{ewNe5S*u[մ1lmH'Ne( Gu*!5u=VAZݣ1HN\.xzkXjR 0)]:[ ;]G~R {U/Fv)/aU\z{Xh:|;_fվ}uoomT魓QN/?|,{;{i{ppgswG[7o~ ٚT42whʑ,sͼfKrLޛVYylE4TC4̂؅D*G l\U@ʒ6YI'@7lV>޺u{{$_CiJ8#ۂي( XBA4@33 $dQN DwHbHbV_f$HpjPEo?A n Q@|HLSwWs) f6i[Mw ۧrIYKsUHUCd2Mz+"S8f*:$68礔8iK=凈v= &ۦ*hwV2I9L㳗W.AΪw˛'Gs퓺'.<<>hA$mqq ({@hie\u]l}wuyR5<:sc~=^N E],qTR<WˣP}U;'a^{zOojߍ28īG7=Ï=Or՟Aܽ{)RNU;_*d_ g7J<Lv*[=o秛-t^ɟ~O~;_Ę9:珞ǤG$ UAR=u2$*BĜɥ{BLIA&MU{$ NuC4cG =JQ30vMUwT ,E{A˱]<@ #)_<1\I!2;i´JbNYj>׹Ķy9\|eS;bJT `u"dE;[Ah:BIrlij |4hih&h X&H.ЋysKI1e(Y Ir.RHiU'VJcBjεsfBF21zEpQ3&b&b9H)W4i@A*Ls8>0zJvlrԢL)cW5A5xuh6M)YӤ< L!D14 p1E{4/M9j&\e;bdc=9KPUdQ#u;c@TDTЧD8N4qFuJ6,yEiC]\gVtlܺ1}f-1!Kivp\8sa_\m$U}u1[mEAT̡jv!J^̛Pn?R4 d>F^Lf=hnZ*57xFG! 7VqOm< ym͏?\_~;7^_\Pf 1>Nb}J|̓?vz[Z?׏O?Z./ח)~qx[sHus w0Ɠ̗mU/ɵv rkH*o{o#y֫:aߟ-/nW>7~ܭoP_|ދ?׋3oi[/ b9fv u*0x"BBޕRD$3E&& Ds=;s\yLbQPDޱc$(Y̔bQE͜gBPiLS #71Tqi |q6~\`\q}I9KCIYSՒͲRSԢ|MVҨEcM%yUy.Of*iS*LE;7EST5!iAMs*|]>>f1_]Ϯ \. (qWʿC?~aÇ{_f~twQ10S (Ld>R c&b}.L#>y uF0e3sĪ =Ĩ.8UT s*8gu%qL4&5s*5CvQ>9E3cuR׹ f r ـJ.ޓd&E8GR#]7uM۴Wۏ]9>J>^qg]_ X>ݺ9;:<gMuuGv7/7oN7#Rry9"Q\@A!)r&5^, Y|·3v~W}ӯxn/|lw+>j3+岱|3_ޗ;ܽ۩ W%Dj)"@TJ]7;&B*0@vCT4EB0Fǔz߶ vRt/fGiRJ`BӅҐLӫjZ3@vc /u~#'9#&<-Ōܧ\O>'q3up0Ӌssv]?ES8G7nSʣCLA;3'gvRKco6x#{əzk<==k\”xAmD`8rB HXrV0KӔ!Wg\T>"Ʉm4pIrI״?F%3!ONj3C(x\5TM x*LC X"bm: &`)*p,62 Rlק>|~9KMmn{%Jj6eE25@v~/B=cj0 :4bf"ErruMBDd+Ϊc֡+~T5xFSTuclLH0Fpr.q@H?tul[UAh޹٬%QMgU5us d0-{Wr)"1FCTI\8ZJqsupR@-xvTMsVcQ'UNV*MD.,#NPrxf:-G'_!J.(~.9y$,F}D`Q0hS,!,g#6s$b<ՋR.CDHT5W1 ᬭ-RDWČV$!+/8Fd\ƔL ̲p`E$:Mƺ’n?l>\3oLuja珟4uHv\ׯj?hCoCŋy~ Ao9ݼ]@jv;1^]cfC;9!vZaBhCT ٻ7Vss<(xs>a0Y8M q,U hf3V w8dg'~ڗ~#>z'KJwwyCzW'rv:J;_p|rѻ?ɓ{/&|={ѭW?{_;Oߨj}`y2~ ?nߦ^>|JwZ5ݗO~O}_Fհlo>ߝV {?}g=n7A0 lqPbDk+` :UBUCRWu+"f(jXhȚDjTMM\r"rq+1w1f`&A@ !f((6HR$DDŴ:$8LadfCq|TKoal~f} >*(UUZןՋlqPЋ u$/rB5oz{18DdR\ &CQ|hfM~?n(6]825u c{vōvcomP̘9w]PR$"fhJ}뭷~'~⭷ArHK.߉sٍyUC+9"S JirE gW$3bizhrn*11\| QTK.@LDvM>@|Lk6Ժvw_>#s>☂E;/#[cjuk߯N8+Bcc1RFpJnJNjQM C |H9S8@v~x͜G7ΎWRڒ@@4eۜ_#ۼwݾ`ypqu\̅4_.~bfޜ?y&H< f7BdP, ,1n3"w.ИߧvY;iL"0`[J,㻮r@hN>q}ŕO@?v6 IDAT~}~l> A}}i|rxWsZCJwWǻ&vw/.|ϼRy^ G3~_x~ރW 7gu6Cޙv] 1~z._+o;|W^{ٟo67Xc9څݏ{7x]߿ ] p8ir9{/?PS'\5EEDgj9#goZhcvՄASJyc"G<+"!xh(R @Ęuds,R{F1-E'1!N qd$"4G+ fR"(ёyaODE*ziUͻl}**}ØխY#zB]0yd@b%g0E3{(IU\J v1tv5䂟u<8}9!{mCfUU{13aLyD"D@hf4Gu///|oܸ}0)Wu qHS4+ 0SFR!,Vs) s\DDS0Lm^bRL$B렇(;4)xǓ1[7կzs MeQ"Hq,8StB1k6hh̨?=TF) UU]aHiY7իL]EP2 "" > eIinliRξM'T5Uc :1&t#Bm*Tri}ӒHDd`f"#5MSX=x zuզC=kη-f3+)@4^*c5\Uqe/KasfXt(:uk%Rءd&.QQB4 2R0(sJ#*`Ž&M{SD0v㠂Hy`8末YB*΍11J2KEDKNUYUK)s\49|#%kw_kW^}k'''˙dS/AQTRH) ח @ h:6KΓLQ]s2{? c@$1M^>0qSz#"V7`:"*"R't>" ;H~LgBtDcQv0]みKʀRu)I%":1U1_A*U,*:Gޙ1\2(Rp2#r /@II0 l$9G"e3깙iS* & `%hfmӤ]Q͕Y]9w8]ŌgRh9C4y[ v}ux½ M,cTêIܽsHγv~yyjT.A 1zOc=yph8klϷE}χMQ|.9;#˒W}[DMsnpCn|^Am9o7.8(],bю4cNfM]ׁO?ug>5Zl.EQ(R U̝cXy{R1%=}}ϱc:JÃ4lN3hN1fmC2 CUeePU)GN>OW@iFcFgW1qtxq1k훫'߼Zuw4KQUD5ĠM_^{/w?/cfNĩT,FSA'B#)6 L-x7Ɣbp3X&#”˵:Lui=M7IUr3FK*uS3#B2 a:U` Ġc$d)=iEChp2i"gE$1"3^[:ΘL80sATXy &*[) 2o&0hA1" q$35R*匀.Ԏ!=p%yps.Z_o~7}B%.  &LB(uO?ּ9&Bc*k\pNE "8@+79x6OU-T!'}"$Ӏ D/!$F1 3hA!&ƪBD7 TFq뀪 C;4E+..}V#b@`)L'>1!0JMq}v"LS{J(T-X*Z \WAe"MdUy0s(͛E'V'9o,6~ֻhZpXc'g:ܼql} jcT+ͣ~T}qvLbŐG6PMˇ.T*\R1wlrBR]-5bV#?}9{yUEՍ!_=;݂䰬(rZC+Ǹa7>c >[Nݦt[m@)ɓnWSRW&ϼyRp􎁐YQ.윊*1w9s|[C;DvpՐ`Fu!CM؃OB8Q}g-6.vm}`^^^=l͏xv;:-v>u<^o@]5/ϟvХ窌_>|ӯ(Oʃ;wN>by{9߿*/nyvO>x쟾=曓÷OO"?{Ke5 :hMUv;?8XD`f<c2v%gfVS(""9h hZ096QbsE!t[5C6)郆g<ѹsd) "3CUb&*2BNZLU $rv7&@dbyɚ%))&#' mj)fv.B)X;~<,h@HDIF0014dSV͞HB㠢˪2Kַ#@ǦhS;9U+ e` tOKó77~ݻO&Q7ߠA?3?[o+{xxY U0~DB1ƈ`" CYĔj 1"QYVbH0`$8yHe1(@ TY]KØ#HhE 0eQ#3(`H40ddf:#1L[m"Ƙf ̤@j:1hL)N]Ǥdb!$Y r%@v30sY0yGI3V9+-8DP$&j9YL)OD`%R]UإHC"f9+ys^C(GҡKNA%;q8aOQb%_TAɭ6e=uv+.7ŬlB٥[hkfù~@%&p1|y]/_(+*BkcߦиO֋#Q_&>wMO²nvm78 czjI(i9©eՕC:wGtxu+qy4ra{gG.V.eYEa㘖99k~o=X>'<oՏ("uYޤKrQwɨCSn^ˋGb5,Nnm7}ž:8\ {O/gXty蝯բ|.~x9?eY~Se _ݻw뻾|E XNĔ)3!1'0p cDn~_EF./OONEG#_W`}̚(mmt:*pMXTa!Џev;.*mFb*e;\ 5,fM?vIrS+juMm:/ qJ)@)82HUsV lA0;O, MbV3yG)iܲ|q=sL.9EIYdiQ #BJ95Sfƨ"CR@9S̾lR싢@E)il#0oA%ص  ./v(۶'.7Er_;w>}+_n)"`Ā`IHhN9$)c7Ĉ &TJ\y!(!("y&$)AUTj IDAT#$%%&CDSYTq׍E Cn;ӹNs&aj:ii"fQxshِP&LUL%) QrU"E!"Y\c %xF 2&dr;6*(M7;=zrLeYidvlcd@C7P̫L%&q*Dfiq 91]9+wk5t8mꫯ\}$Zzا|I u./.ʢwuUcG.I*ƒ=yAYήwnn W{d6 e>>Z"*bXj5؃{GDS_:#3XBD<bC/ ?Hn't b׻y48==&}c*6۫@8o73䝎ۮ }YY B {f]~8:9ZG'^{x# >=??לcqZwn>uӮ~lÓr5lѻcw~}ۋwnh6jSm~z+Q8Nh1n{WW?OOk A f`DfY:&D~Zг(\gMSxyo\.aydsxqy~58usjspTl-4i& s.&ui?`JبΖsܯb,X!ΊR&L ٗM .儨7 Ȧ,&̰yUKsh D|]Q43!Q!69p0^QURA»!BYDcƮM,MO, &{b2QW;/9Q}PռY>&:IJ/\D7_{oo}w*QLHP2}6sN0+uC&"S @mj{C$1""9 䜧> PAQ !,uD L\qΓD DxL"i6CUWr,EIr,6ɓIL5%d)&@,cYGrކ>#6C1N P wbSfbC:HL ̩f<:\bUH`}?$Amcell̊eA d4KQ>$cхhQi\)n|pvOӭ~oOOrSU_O>XB?[={^fۃ*OyWz쯾⽧Oo_tI5e6 b~(~{?hUhjqۛƜ&z>}Y/ϞQgy?=9RﺶU1ϯ6mWO|vWj`V\^ulBDȧ'l"w^|ӷ|ڮ_\ml9ʗ~p~1 .g D?4n?=g`<1q&krL&zl~b?ͪ"EʑPDot*2qPHƘdD"ÐRdC0v|DØ1q?D D4rV !SQ\EY5<9 TDUIW/CO\]/ƎsEyvcD5&cÇ#OOܺuC_7CDΫNF DbN8uħݐbιi ǖR[P}{'2Q(1yM]zY')e02YSe/lV“Ę9"4DU Q<L4)vC 6#&% )d+UME S| `)!*N/>@c"F= }HYRΙ񃬛gbtΫ1!! D TMS%FAu],"jޏ DcLKL&ľY硫s p~9,ŬnW[+,99x{grU?4bڍ#ק@5M]ۮ|(yNTcg[yiDEC3 ZV!'O˪*RjBY0;TE&s%ߞ^6y0'<9\4e ?/TO-E޹w_lNj*0_m>uBј583xBo۶达#o69 W׏DS)PŜc;>{rs1먃9==Lh1Wwi N^RBQk?r;ƔpN v~}vlMe}Fv }1;H7A??;;gv7mrYٌv4}쇔GؽSƾtA= ;8ZlwdXL)pn{(vL2no|VeW8﯏ݵWb)1-MeͬU|fhnr0d1d-'1D)(*!uE@͈̑8Z`S&&20 )ĤuS 9a ۍ s֢TjJJf4=AI,BTd@ \(58&Zθc q:", j959ɎcJ& ?{<~޽{ՕsM4Ew@`d)gH'735CbDu]A*·9b2#PxEd2fUéMH9"sN%^q6Mz9 "ĸc24DpL%O5$$)O<|)0D-BQzP9*w7~'74gfy c1 y{g"ղMeR3Ff &ABY#L|8<&$eH9gU%1*KNhs7r*ۜw%ZʶuS3/3bf^,W߹ZfK<_v$ٱwVQ7o'_^ƽ7۪`Ub^U|r=J}@8>7՝rkBD]|Ůlk|=DҗnDL}ۛQ]. ǘr,LDe(z>lKI|a5WE`P6G$]_^7 wN%߽u2 jܸEGڸ_Ip\_ mߍ'a.ɝuhX,톔fv ]3ѲdUцM Hs&ZAU2Ĕ@45 0iBBGHU*&r)+19DŽ)+.' md&L#L9"O-+"FhYMKl 0Lb/E]{tMUY8 s9_; {/>???1o\A#B(aLILmzL}3yhS!"Iىj*y|H *&YpzN,{@@Ď$+"1ZYDabܤL8t3\9'3Ydd2Pc98"jЍcZeEȞ=۶di PHlhŒ(`9JV&"FQQQ a]"d:7D " 2d$RTah;!tɳH] S*hDh*+w>eD#yZ.98լߎiDrvYz׾ZI_\]s1"XNwoX^6; E nݐSfr1iڥ1"RKh4Dw8zrzQ$fjZs*K<8/CY@<M.>O|D0W4^_|%gw]nn4ozO'ؐn? jq7P/k,k:Ćd4溬#}~* YUv.8iO=;ϾL5S5J~np,m[wY.|suW];?ԯ߿[N_q,+,riM|/| =B K?=?c6@pc`Ɔ9i;v$z}% T}_V5޽{oIt.8!-拜&bU?+eM<\85+&1ًWWۧ/toq{>C7e3q4tBRƲ u\fQUIHb}p{h<4E"TDDDɉ/ C|Vfu@TUADT,tBF Dr`y !jxD$LkHqhy9\@]o1% ;C43@5fcb]̆!y6uS sUUY`<nK1W~W~~7|nVZ0[Aao'``d sN"sN)Gc&FtR""ދ!d X(:DG7x)K׍ hEɪ)YcGα399T;ff& rRGH)%S#BckYS(@w*,"8 9OIcD. !2H.0#OBS"Ӑ(XQxgUf#~m,ĖbPS&vLEYVuL⽋}.E]5fV#bpvYm*y®]g_yQfxHf*,9 >oyraqpZ{Z./LJc?B 2؍i{gCl -1_]F@=K,TC#~/GjpƘhQ AY2=[RRJMyi}׻a)6keQrF,Wݐ6 ^Tmu::9 ߶q9WLM"ڹ0j-}ExnusD-Kݶ7Ēv?/믿|ѣG%e9Sd4T @DCHTVaSBBe);@Ϥ7M4`&",<=!NJyhɲUvЬf21K @Y ݤ~'R?R@`朋9# fT4fC&3Cs,Y!{?C-h)k6\ RLeƔ9ǬD*-hb,(1MU_5̦"9&$j CDgNAt#/˪nq>q_sI(1|SVʢe<źʘ+_lguO<\YL]1*d(a8 NU "1P??_q8u4#yS% !J,,!Zkipc~(L!XHЭw/z!eS^.f`]:9-+_<{l޻!&++pY͗_jNkҳUdT/d}#ku7ȮܽȶW}hFAtEU?}f3BI蝻sYӴl~^4,˥쯙 .VY {٢L(PH4q@\ϟ=::\4{ω!m Hj)[Nbbý~뷪?=qTiqʘkX}!'_|;'\hY4% #2/8U}!@s9')w )P IDAT-c&"Hzbwb^۫%iQlLQ(%qD1 Z n{SͲ.E*9"cΒP4O+& LZ!e,MI.d;553/zr9%d4 }`D̘zODvcr!ahTL L '?XiG_:o/ЪѺ-ߵ;w06~VW_s}'>lfl-=msSwf}yّwÐIp8&hDLEAߥxeӼ\ErWm\9oQm:YzVKֺdDv>~";^.Жy#dX<)&mjƘmw!Udظٜ/^O/_Ղr'gE0`qeq 385W"4.wβApnۜ\dq<98H6gݍ>(EpK^,K h0ZBmێ0+|xusW_w%϶۔01 q0Iؕ~OrԴvU(b5ĺ<b07sP(CoػOϯϯ 37c;ÐS6yѶ;S]V[݋j71]R5t:B"`j$ ܶfލT̫f(Sι) I7fݶ7fM5#zgD\Ywα` "I $1Pis/HRFT6 TStDJRrssF 0Ȗ*8Hn}eCɊlFfcycDM1w414#CpYhMN%͏z_g?__j6j XʐS;"(<>n6m[AzW1g3 dbxC0C {)3NF"7#|؝p$5sL$gmd$Vq9<(}I.M3U"Cu\VȒl.18y:ըc]JB,v'yyx]`bƼc-Z?||0dc2P+#?#//hx8[n6kSP,켂JV1f3m~og:9/3qpv[4ݶ%ǒeTE&Y#ZYY"^w8Jh{MoT_UW2Hqp2YHD"RPDBnABB)x qE(7XHD2{Ov==}XkbUn< .K]{7qUtHypo ELB꽵K%:{Q`HSD^MH S]SNw1""Ġf:s)i 4 B("B%ds.mj1E""HL 1|aGCd"5$=%sI)F)|lQ3;B"@@50pS:X%kT 4 @`E/2EU]??'^4gLZ]hЦTK.MpYun ̨ʳYbvPJA5Or`'6eD\Bl@QjEŬ2k$= VsQ% T#vw;Y[-Drv!u椱}ѻf^G&t(͂p Mpĭ'W r7z}y14\<-nvYx_!iUkafZ3A)k(jVu(Ť33hi  hWŀXRکM1i8in߽uw fiaX̖^dz嵗~yb8>uvS{K-Y8̳~cX-6qٵw~G~>Qh5܍TYQ P\Z˲Z3q",7Wfʠwͼ~XA ~iqwwS޽x\ׅ+p }wo׳%7M]>tTV9"Ƙʑ^w+4NAԐu7wK_d K̅Sq}W dxH"'GQ`qjكW^?=y"ž[6׸ dhhFy/7~7/?zۖ8G3$tʤb.e`$z_Orqu f;wn};k󓷯7'qjKVbw(۔q?r场'ɗnykW@ zlxL n\̧~~a Q#,$EAG1DP51 ` ZT%)AYWVBh|L!qM-"&rE&tHňB^@U2Tb%jccƍ!oDŐ]쐐ԸbTOiNڳhK`I(cN \f`H8B;#V<43wcf<vM@ʷ#0$wA$;M M0OA d4.WAq7 [;oV|]o~Hk_F7odG_}m[P6MfӔqJhy2NEyE_oֻqcȇ?_$11"`;Ǥ>xb;@p`W!xj<a3 @mh%Ny6o)ϝRԐChr|p[vm|x{ǫ!5E3kfj ^z}f8ł3ݦާsl5?;9h{v}LVR*C,*@\hf,95b'2n#`>sߒ vЭ(> )O-2"i(ȘrWW->Qʬ(9΋gx owrsRV5{ͷ=~h;}Lu7W7~o=FaNݻݤiDt\.nۘzM1n><=vs4.tF19djFPp}Ƣx\̽)&f"83ybgJ$&Băji޵@ƎSմɋ~̐,R840O U,@ &fjT.4bV  1!:)Yj5:OH`6TTL9bD5U!LS 9-TQ$P?|/o._z!840@baYMTr*cL$rǬ*k[1$")E3bbCcrTcL6MITm֧UTiןJ 3"(:}`9жl1䵘-0La޽ޫ/M0CXmӴ 8%7VAZ@mf]ӥ0>c? ˡ_.g]K)/×?~ƭNiوʔ1>Cb[o Q.` ozIQŜwhhC3F?%9f>RQmTPc %vZ̽߶$ d gӣhu\2E݋oIdjk؋Mc/rʻRXJ}HJC~ mKH1WS3Uj%(ZъfLcՒQ!1"yrUkm"Yb*bMN 0BԺcfB4y"j&b)Wnd`ghv)B{30ǎsÐT8!b*E*  c͙>}C?O~vDHZ,K.B`FH$Rih;AըhXMc΢=1qB\Jǩ6I:g:cPD))G6zrmYT*R|"b/24 A *Y~UQܑ0;ZmO/)e-wm;wg ۵h'].fq? اTc$%9"#/^\ߵ7k܌c.LjrtR RJ*ńt֐rJ*:\T( x KsdBh`Ԃ)o@'sx_\n1iIӫg1'GRJQoo7S]3[tsﴬ構3CzvwSN׻~R߅}6ތM)NW?}~'kV014$YswӳsBMc$":t呙 5 SR*~%ݬ4۫qz|q9NX,.o5fV`΅F,}L҄&N?Y,qm{Nj>GS^R'Sf 4L9F xHS]gO=o'Ɛ棧݉G{;=9wGLw:~Q=ϻݛ\,fMGu-L4~׿bmϞ=7]@$gQ]O1ʹ T Tovvl1 sS W'tP>W'4xqI˾gח7w4ŔE+/}򟝿M3!sZbqL(MsfdƔz6ljĪ/Ӕ"wdQ)%3CR$*R0@^LD"\9'DpID)ALL VN2!(1f4(&"9%H)$u{B&9[U51#M1,`PV`6|,+ޏ؏SbYS$isQb%@6@(j̜r"3gU 4"r-RJ~`0S^1Q0g9KQE&jB"T|/j;t@"5t蘉0Ra}bgnnOvmET-g mvS>Z...o1Y?|h=ccN㧥n6 f|{HZaʱӐR69,MMkQxF>T+pUW# TTs%0,Q@LL}s"ZNIݑ;S)auqPKbKdr7k1{1)짬y1; |%!27[-ڿ_-7}"Zz>#%4t#BK$61v>0,~7ƕjx~~wiQiEfT󖉐fv׫3#bz8]x&2핝ˀ<ƤmqkAMLJXǨl,)*NS?4~7ZEerp!,ݥ(OНO!^Oo]7cUS߅9b)U܈/S_?O}Rg>m++'5o%o>#EhDNU($meB)EkYh|vs\wui{I8lvy*o6RC2\q |6)#Z&Y}`TT9!*"!4NԼc3"{!j'_O{ţnلM0dPCcCR&]*{7v]+J’t 0Q.9G%Efn7Pt5{/ IDAToMaZj{w|:{Njwn3/ˋ=lmoզP 0fmlg:en-r ;M9h,˓bq˶ w@0)2pd:Mj"]o^dq,,4I"NFA4Qs`Ec3y޽{[oگڋ+s7xK_ҋߎ2&*&&VFsT*Y7 /g0nnķ J5]bѾ!b%PH?(Mh&^mַ}֛#Y,:qѵPna;-@*R$瘱$dlzGȄ밋ֵ̤:%f4RDXѲeHe\ȲlKH.hȠZ;IQrJ*a"jy)X~pn~ۖ}s ߉26U5RE$"3_S#U4sI~2óXk~;YUMONq):i,dZ}F`Pb4 40Bfh;Ebj N;߀!b~m>NE_M`G}4-bX8fq6o_\=MDJKUhZ>Mwq9O@TɳdebFf%"vSLL4H V >`S֢fr,=h19L\L"jbV?bLn?כ-fyD&2h1;?aJZdnR[]+nK S"Wr^xw=_L8Ma3*gOջ=Ov=Mf%ΝXN[o4%6Ѳ-swsӷW[0b՜J!<&pKQHsAo·QdU~闼_Wڊ)'U!32jsr&xD|u<1h51e&kvz`c)fzv_vkcZ2DSkԵ 4|]CZzh8fn$)5 8#PH]e'4q7]TtRs^m0m0R)@U 8R*mHI30"$" H,UIjkOUs?kE5I=jHٔ'9"5ߘw wR*Nq&bjo aTN 1#\FrQv(Eٓ22F4U CUZ/@\t 9B>]=y┆:n hR^ڻsv 2n}x߮w]\ۛvn]S4(d/E)l6}) # 1`*6a"kAS-&U)#R2)jD@5 1Y b) `l*#, *9GrV%h <&S|r/gWv۞p(YiU)_OLjZw$쵶?~gn8 1bfuavRdž꨽#r8ŀk/N*-;1EyX6f]aSiڻy˞P8%^.]N2N|秼+s_AG's4 fBdSN؈@$@ڏg\4kSj&laz'.m''q]1f=D'q7{TH=['G^?q۶r>:YuSQH;jPJ1DMZ // _^),ZqHHjQr)蘻6㙃gW=pv~&9$hޮO{|q!ETWtv 䡪lyviq3l>MC~#&4Q_x$5 yĞ{.Zs)őC1+("!8TEHh=OQ1U@vN L9) ,a"b#b)Wox *?L=wKQE~jP J@X!,R.x-1bMEQ39 @ѪEphVjC@$1v@m}oNWsp9x 9cJ(bDUeDDP9K 0("ed @V0Ń쒹ƟT61IeτP8&rc9,, W'O@638Mǫ7/W~EN^zinzS`-^ YYvqO.CS."߼]Mgh @3vm l+JȸT2I`3UFMz5SSjU0*9?n3Pr 8yQОf1{7`DzkA=W3!Vp;F{NvR  0"&4Ͷ鵹0Li;$Kb;P-Gv\VsU5v"2f3V8&]J=/s$\QP-yXhr]X1X />ns=j`blyw8z/JI}l gWۦuRBS$~Kuċ@]lTvU _r47dYȍfiɇvwFQAcPId=/[J @v͆{M(QQE暧81v;ZƜs66/k?w T,;MB&N7% 2 PE>j-~^ыwYVp=}+4 5!$,DYX=~tգg0"j^# :D cHXtEq<`hfm;+9S˾yQdx~v2Lc3kb݊ѮOvDD of&80(jĀPӻ ѓT3PLK6@U3D14ۋf jƎJ$*}@Uޕ,*ƎHVP<ĎYT ɴHEԮa @5Dq06 )J"!0XPU 027j]?ԧ[1csw@ \(R PM9%9L IDKB U|fYOܴq Xkvڑ ru(L58e'G4"Zm6cx3ӳo~L/?yYo] aO'_gs;kYDz)è13H1A8KJ 0eQL@l{-}LiuJƃ|vSJD\Y)w*RJt !v\r~ XxOEȡRuק9QD2\$/"ZNP\pTtcJEPqc\@t*`ZɰT 2;:T)g(U kc~??l^ .J* VP (R4sʥza֌Ȧ^51 @"Sź`f- V,Uwj;V"UE Ɯ̈DL\h}}f*jXkg6N8zvsӶҀ)'zr'1Rd[o?- waָj=(΅p4o%i pLXJQI@C@dEvLmtu E Gu YQGMIeumI)sE!!3=MαxlݍenͶc{'{GuO&E\hs3cF&xLvMSBQ)ټgƈ$e= NYY3YA4d%t(\|?%#;o(& 38mXpnwErTbΈp˦ \-EΣMY>y$8?O_{yK붩 YS"` s?yzyOV~,&LyķkD􎙹RGU4t j6NW]@#dhJUD}V2n63UG\ؾeA Lax)E)𞦜ETjM>xDt)Ev5FD#U7Tꖪ`lË$"}CvXîNb ZU #"1>6"b`&r̄5iV/Bx뭷ڶ͟6bw:5ímU[DBTlMEKZ)"5]V#Ü]EA5אSZݵn:AEԼmzY9XS$ ;s08Dȸ޽oI~];97t8Zvw  c˒jBLILNi9kŜ-i.,Y41c*ITp4l,!oHB.h@W"`fHE~@FfNUL Ȏ02D!KV<X v~v?Z@mRҫ?Rҷy赇S1|m5``s:xf3(eƔGD՘ ,|ޡ½.Nʙ?{˧/@B ʃӓ(-Ypo4˴ _a]U%;9ӴonET4O$9-n<:oª JHst-I~">Є@gglB.CNc")MS&n\KHC@B? 卯[8b\V\rfEnc17Ǝq{)ٟ?/| WN|>%j}@~,l_;SIff}3|ƪ:5uGv۝mD`p D@ d  $G\q%@`DX IPlv܃{Ts{}Zp]݊w"\ZӳŦ61oXUmg$BG!x3X\tW?vzSx({i'Bpݭsu&ٖ^DM3 W.xjG{ry##ֵP_;vFTeERZ4 NG &\YGeEP:TR ͌9ϦLj )GBt*y-f@$(ThLId;,aXJ_Vf&Y9eeU/Q};y~~9ͿPa޾6*>آʓnUhY oBed&R!3YRՌ[/)9X%5 #9v7P1Q_HĵӋqn֎o>{Tp)7M)z暯lgR9]|=_hԀ8E.aѸX\VlIU՚q+pXwLURQ ֹW$+1wP>]&v\BL.L$## ʶ3r]~R`, 12d0m'X (n{M,gQb]A!g,Vj&Rú g|.ȷMZU` bN,9:z:3ivz[6DIbr?Ȧ!>zz~;q*`HyXya2abd7'ئL~H<lW= ݵDѵ5V0qu3>MPTY+<{Vs PcҔcU?:p{ xΝov۶[,],B+r!Q9G;''gj(EkNM76>]6gx6.z!QXQHQ}굏7ӽ7s+A]B:9O- eԶA`ȎIL e1Q٘vZ@20"SHRfFL3L)0-퇨e5MY%Ky4ZV0SU) VBCAU J;&"OT՘`XD\1C"1 $ *C?o%*hAԉȹ)o{{Ew'`*{ !vi),YT0Q6+]︔[b_Vrd`x9u*ЯYBaA(9$,;j,vA+Ax+9]ٙu_v3(^BדYYaG0i^zggk}?PlP4&sNBwL (inՎrPJOHrYw)vM3LF!Ǯ1 5-io&\l{$׆jr lAt-_I mT1dXdIYaR̆ IDAT?8~ք'm{lrd^] X FT搐$!1|u"g ,ԜÇkG;[,ygs,<U_됖t+rPlxxoGM5@ʿ Xm2 2u!m"%5Bb9xZ-iH9fZb wJ"Jm q%ˈ .h E[M `+MȊƆ)jG, $9"92͙0LMQY62- 6PC5az9S3me[짔ȉ _¿]yc9e}g!@`tre((ny4Xe-H뒉2cJiq֫˛MWZ太Ʈ0(hX(d"#t~tCΛ w~0j;f:MfXEI q%`Uu[:@0@bd14&*m/H(*n0Mʋĭ韶QMEp.PcQ)*50K!ΗCߧ,,CSJĦÐV}J"1b@શ~'lPU5QDBpWɶ1fv(fZWԎ|΁^9VƼwLvP.j՗xY^:)W#_j:5u]vT:Ͼ K .$7yCԮsШm}C 6h-Gfjפ0\1wTb6@̷'fλaͼ$_ΙƬhjI""ݣN'o Ia+Z5WiG!i\*orޕlBu&&x) #ޅek,"=;JBd- Qp9ߨa9"dbf"&*~|~9Ŕ!@HK29b)&(o„YV^-K.,IL/L.(EEtb!g-?8L9]kG,XTv~Nܶya[<:CᶋjV"Jv f0ƾ7J "ŶscX( LҨr>n:W7F;bҰX'T+/j~0:tmk_l:iںL.nIKY%x|> AѼ3f]`a2)"Qּ-.em*1DS -ɦ-͐,\U-Z10 j|^a{D3Y\lŝ*&F"ΑJI(K&v49_y J 4iP90l*Vh'_Li":D~ *ϣi;hʐ TUFQ7O}Rl^~nQD "BSW_v+F8GݢppJ>wxuT1O_6~zh6Q@pM֠AE;UӦRWT&^/frHI,k=CCr.4Ӛ,CRݫF3grM07qp3öѡj7Ŵ VUKVl#pܖ|oWQۇaYmnhjƜ#xT!9U!jRئKj!;^3|[}z||7E_!Ylo2NƒUq8xLZqXGRlzoG9M/\D y5"2䜐wjX,#k@ss (8Hds\(҂"rj(gCPujfȤE DZRO(GU8^6Gt&IKh=Jqh]TXi*B*?r"8k`l]%VW >$v^ŭQ|jۓ [7>JSUaMLf*D$R0#@TF Ь޶*W B#٫ }8 \uݚ=0|1wB87ll|qv; v94m埽՝l&5LK2w]E]ettX3tTC@LCTPrmۙJYF<(nr̒]̈ 2'j"vP+.ϥAsJ&j,ΡZYޤ&ON}Lj.\۝=z|`4'_otJhy8xEڕPx<,'~L0spn2?=~;X^yq3gg|/7ueh[J-D/IdRɛ>r=hb2P4tx` jgk[&#Z(qzYtv!t_i6EtsԪ庮\_lj]b%\3W_Kc}<:8]CTQ/#+qkĴ 2 <Ѝˮ_m=;h\urrPOySLr?R7hٰt:Λog7>orp4zxݼNfD#QLk8VDRVAU5P) [V!Tt߼qq;,@3j>,L[OBNI4UXFc|pljٺb;g]yz|FT}'?f'uQ%uPWA*18\DX|{|  Ĩ PhT~ME s`&Kp `):G1fA`-_&GdrЬbZ S(5 n8(I΅H-8T)])fє@-1Z]@`굝wgX8T䌽MY=iyWv;/Me۫Q^zϿ;iġ['=<~zz۹ۿ鋛A|g>(>;r<{`rSս]c2/.֣v9%dK2s^U-sוw]xa/pͷgsdcהjnvbOү^;45btCD LH0-02y X21$*\cYĀICvn~g>588gz˓OO}r?{y _Lc@w7n .N$fqN&_{{|rM3*dD L%bNR6ƪyߘ7]Tj21,CLYs z؜M]H3uv1CJY?C5+P3!e"5Cj0m LHFT C͔ 4uP.V+ fF)Km@_P ǣЂ_J*b|V)eB'9!Ŝ-^o|.1@0uYr鸋CN6 in[:AJ鸩4Nc.'6ÀܬסzοgwwqrS>ߺvZTϖ'_erɔ.<>l 㟼:}=y|n_swxB:Nh`SVCQ;@ )p'ޖW#!jv*DkW3$h{t >m˧o`-˷mtU1T ,UH.vW28HrR %iMEz>o_+=^?o^yrާ?kO_w75W^~??X~鋻GW&oq?C mC&1ElCS2 N!O=ncN )FuU_xc_w?i=/~_ȠB#jqX뿿g'g??9]_䡡6aTvs"ո { ؑWQӧǏ/ LPkr{N{G{psGg>w܍]x';>=}g}CΗ)o~jt Q뾥/|g_gwWb~z|SG<;6 }%>>yO̞ftM4t|`*\=:(@@4KW GM Vj$M1Aj{,jJÀE}RZD.|IUM sJ8D!F1Yȡ*:֜bxG#rg%fPFb.?|8gZQ pR,CVK9 "*$tgF{fG M70a|Fm@i488D[ lp+G-1./ 9,@ze١)cBS~߽Mc8 z>]앆i?O`W?c??o_?l꯬+UVE靯~uW?a`p]I+̮f>>:шi{߿.hX*"Cιs-l% iKKh9gǸw(;l׼DhbH@t\oh~8p ubFBJu D9PJLR8 Uo5 d*j)}wߟc_9^z&{|q֍hs~ߎNkKv׵;7_]L?Xf߽`Q/p8lHQ&s-dVn?f̹o{ߺoݾq}wn}_MWOC#rU5U~Ͻ7w~kŏ|{jU6)0h0 Y yn,V^QF 5-?W=yҁc-TU;ޣ nx|Zb3My5j}S! y}Rt$HȀDFchF.`*(&ʹuXŭ|U&$Q+GY0Nn<;{z~oʳ7x4vo7OdJׯ7]ztxpsM;׿`Z󃋅% m@a38 sV`P77MƜ}z5U1`T0U9偆,!Sw)g3[|NM{+4alS^wĘ!(*P݇r͋aΖm lqFf hՔ?U76D%5M9_$ %O DK4bj +Du $$ %+1| ܞKbQ(ڇa3@P]VCF M*? prB͠dS"Y^V5//b|qpO.P@v'Tg![vdÐԌ;Gջ:i𝊋ü'߿..CwGӟr+UgwoM/[o8Xz?/>~roGhrUls' lֲ@ejdQɶ?MT IA KE RVhjg0DB&U!ªqf[31E HfE5+}(bˍCp׮[ջoƽ> 0P"* !!!iL.8Bd[fϽv}`{ ?l;}<9 wԩYFF7ʞmA4EY-{wy|џ]/~ٝC޹nwjZ}Y I9d|s̑Mhĝ.j 3Γ ECrhQ$%]8d]-3rȾG .!e1n]\\W'8e6(˾ڴ*ȹٙ1:f*ٌs|$`L˕ \KhL9>GRgbt>èP_%Y<}#w8"EZ7N4 WBh4Ó.׫ux&_,YzwKY._>d>S= Ρ4䇔GJՆ^,\M@vdf@qlr6mg0db5Q$PQ(jJ)SN05,VT`Pf5Bh8U1BN`*InFąʂfF Z":\p)pd2UɂTjv3DP?ȎwLbˍ\z4nU+>|9~myFFhI%tm`j` żÔe6ɉ2 0 V{"GCj!x&UTQ5~!9ODu!p8 ;'iq=|za`%_usm?[$֫|>O) C)Dƒ'v-O2X3ý$wO֖iv<(a t*Aͪ D f U(fC&R6-~tD"ZkTH@Ls/q޹઺N389p^p<{tpŏg\Pj+:$)A`R}uj&û{Y_GF'e6: #OO/vbHG8&Ųm&ٹ'D0 >mfM Ԍ[!Wo\/N_5qh'u\$PQ]}\L;$#rcJL,RlEY F/I ʓ#OL= (uݽ`~E|pלt; IDAT<[ݺ/+c4惄%''N߫ebhr΃t,!C>u~/R=쌪i5C4l-f{0 TMss6KzgYHv4'=:3S;OD)I,|^ofx|"S*Y,)[FQeC1fU@qe3ChJ)KKY8dV{gU w&#R^(u"&d}`\՜zQ)r6eEˡEfsl < K9A1|qHyyw1QNAА0E3leyf@Nا"bJjWz%X9H1#WWSVjy) Đ1+X "+Hd_ji|`fUpDl4']]*Y<9;r瘉ZU%|q1Jl'Ոrx_Td2a軳zZHB"Ǩ*J+&v L(U'+v<j<>i`ѯ6E?rf\L)"dR6vU-QC**T$ھ.yZ51t̋jUCq,]'4u Zhun4J rS3s}ǔZ@ ypY3BĻ]W^|ٳ'?]d 8 V#bY:^rqT޳EsbVftGUjZxO>fH~|OQ" ?ȿijPZVa3O'痧n(7T*&'.z?ʴLo^ϟz:/?JؗV00o N#2MV9yx bn,W !pb><}~a=|"I?zz̞TϘшMЦyYfR7tr9YG}$64G{rn%Ni]e'#f%d j1,y@x_cJ0sgN.rA[jx}'fD;B&s3cdU{ޔ*Җzyji2Z* ݉E \z zsۛl:#PxO>cgrdzrw` M6`*R}} imǃlmq| nM?lt @pܜ%v[䫂Ng9auyOVӢgc)c'FZ1wEa>vGw)2 xmm&j )Pʄ\uS7}c 9QΜ([# cap,p"Wյi^ˬ2E]IIqcEt C6vI<@D"s),L>n~tdsnDNjh$B"->et,ˬUuj ]/8)* TD h-$BdS $<'PyO =0C jqUe!$D-2#9 69:I TS9gq@diXt&H&A,b֓Z"e˃tEg~/h 7r7_\ypZH@CD%ms)V )S0H8!AR=_ $r_B,ZV4Ts"p}D ݭH0wy/KZ8aqf̔`۔_jSNZD2e)K vzwyw>m, um c 3ƥ[66iۻÛoٛ_~s]Ne?\!̥xeF1k} RVwDUN`ZG;QF:<0=ɗ귷Sѩtm۝#0v2sQ#v2]\Ъó'yxdim[2[Yק޽r*@ VOk$¥ L s@sono2d٦qm!D#0!Pf&$D pSD{؟sl6y"u]^\ΰ)".RE/K)2W ֥T@"Sb旱GNX"!j .mE' L%f%8iV$ HQG͝ ]QrbS9;""r)gJ]'给A(  N:@V:QZ+Vi @פgT$\), b€$3%Bd"w\)ywGY /OJm)53o?^矍x<ϗsa/^=|XXi&KĮZިWPvY+Gj *:2##`YMNӗ`Dp(-~@`n`Di@!IZ&Ii(]HljKQ" ZɄK](IG յF.pSꈀL+DerG٠D3Z]7<ӛl30gf!$$n&^ lj]w#[[fM<03''?y:??y<4YMݱV5]؁S nlL)w Li;0y 3:8QFCR/|pbx;-xqGI" ~eX%x뺔zu.urOe͋OtۜJ-R oߞr>Lq:M^?|1+"%a{LW`4#>V^lͪvco#rSzhL °WSqH^ͪ9@bL]bb$0Lp5_P{B V+ŘSB\fZLMM?ޏ cվhONX#cѨ-}b & i+nB#P#uDFЉIr3wLHQ5A2Ek 䧿 N_zMp,4^U?|STR;Eܬ,ݮuwСBv$b@-º.hn! 2>eN"(NiĖmLƱfNV'!I$37ݵVWeeYT:$' w8'N#X=-Íe2t9d#Ҳ,]txrKecmr&DZ^q!ǷϾ;|CM'Ёuk\@`2/r>3vnӘ -1b9*L/O???{};o.e$䜹$ @JoPͳ0CɛgnC7#etrG%Ng}7%vLwwEDno@_'Mn{&v7 TLtX2i ,.%x7uDDFc @LaC l"#ֆ rIg5$wDF3-LH$WH DL87Έힾ؄648f xU+ bIb3PΒTէ \fW]$LY{;QIZ| 8"1DgBsjk4c䀈Ctb>o|(I;׮1.G y,8HXV5u3"WO\ZuUx &UkZ̗ɬM ERrUM}ZYl##E01;轈@JF}כ\*T"shz,4.]!$I@YKi.m}L$ÀDrooo>|~ٮ.ga1L@#[%UqYfD, 2/s]^}.v\N/Ф}_?AqW?>8jbv>41'm'ʒLaQ_<3fnw$'`e 'ϛyZKbךr,:-_/n~x .YH0y>ИznJ W$`!eR1hGB@-Q!:(#nD4Zjs\ZZl)e1Z"|3l@|* @f݌Q%. 5i!p)jp]UՔBk"RuHC p`J5jXHRK83I1. nހ nqP`åU5"}@<.Uܡ‚Lw[PfufsZr`Rօ9m6?$?ko|o>m6QjЩz:EzdL ň!1~@8>pN_0qSgnj+@PsԱ.?J;##0TfY L4|9np>i"ƍPb^Q$%`L쓽&mok IDAT2u`2Z,v1e)ZXk-nsUÇÅ5AhP2<\KYY1O\796\)N3mMd8O&R5 =}]!]ft_&,836_eD1#'‰óN0$T5sybgwvB e|} "n'`L x\m# ##zZ9TU3ڢR #aӭ\̉QPmEz4Ԥ '5p jYH\A= zmӣ)%\" P1-:%o6[9=iT#{LZƧ~{7R8 "+:- 4y?Fh"i-:gwkwcϺ ɛmo9PNs',|eq$]-e9k{f#|!uuL'fuf- O_W>ՇSu}-8]cQJyFEhx8ëfx(eR+"BN(nw?]ۻav6˸4/h F,rpMuV&dgKx{C˩cfeKT-α=3_J(ŵ /+BϿ?G$[̙h} Iq/aZN7GՉ?zذ~ȊJj.Kt,jÛK-4q\j]TkTߦ~'7ͷn'wƱ,vq4tuzJZLՑ9s&IfBhfBbRHy)ZkeUS&Pe}"mWOcT ZBD$ª5F{h;<Lg$itZU;tZeZzyWffU(o_w~F`H qc@UV_ ^ը8bމ@9N!!0[t([5l0JHPE0%IȠ]J,QU:нzj%"S/mFᒧByzyzjD\c.hnsk FQ1Y'tT׉5k#~_97zݙkJ6T/<{DeR =!JA%#`!`NGS'&"`|[EwU:X\ƒvLΈHDX:%j ;x]2w&!-^>C֎[ŋ[Kpj_+]i^=(jzJڔb(|6yU|,\q4<)ownU-<5ڽ_a'UCUsHt̩>v_Nzy, 2t}u_#!o64w)ãZ4pJA2Nn_ݍn膞TݲT:Wt9-\^/+Y e2$&405e.{7sWϥ*dr-]X$2[s@6톸Oa~ QbUj 1u/S21~ó?lXjKfzǹTf$On/z|s3w9ڼRv~x<\t>Su$N ՒH"  (  DH5mVUM =q}LZgN[ҪRU&>qWy"4z\'qmM@ۤIfg[EKH W՜YLRH G]PfJG-x$$`HS Yo$GZ j2{la 2̼y5C&F%b92W&0jAUG-TuB3Gt5393 8[9RjaU96Yf䀄]iAi,Ra<}!mhfl[6PD_11-]N prhĥ`]MTV?%tf" -!H=P㕇hmgd$13&ai'ݵZ-L5W@PXԄXX"x:,a2'(^uJҹ0!Ff(@N6:Z1R/d Tj1")wxLBѳ___~|$Ĕ7+2 rR>o [V=}z#U @'9S1Kʻ{ynm:t!oG\c_Uuy;8t:qԩTrޛqLð6 wVܥgVP+sY\~3q? 'O axKz@4hC"=q||aK;ؠ2O-Q1!״<DDwI h5nx:_aZ]#(4r,,0h܈:U0+jF`̔3g,2XqQc.hm!iNv+k4HxMMhUnފ`i?ft'hߊStXDrJDSJ4f`ZܨjbfȌV(%6 a;yRYEDzp B` Zr}P#:T`bDRhc@CsdR VjZV4QuD@:\C3fN̛2 <:Zp9(]!bVNk-neqy*ӈ\uy|:ERQV"EgӦ,~CCpH HsCv3B Sln 26gn8nښqѰkxJ~ @7r+=;B)ˣ3Q'ecƠNA(+#P"t!Cxߠ3)I||739Vu ǎKL39 f1#s$HMǶ㤒|<.Nͽ;p~}S?[MRwrڶp Y:ߎU,Z׆bKg])'-*:~e$ ApK*Ot}w^\'z7:J5\R px㣯|?Żj%2Mݪ6ʴj }j}iRj׽*T0yy?UVy?׭١IMw=>Ǜ! &^cr便+a:y>_MӠQݱk~'{mIDATǹ$Dqis)\8CȑWs 7(RDR0,\e\C$b0G2$ ̊k@H I*J<<UpC rHb5{g-,3j}ՉΟk[=C (Q)20I (00y"ёTPHT#5 B7LLD\Mg$d8ĖUݝ9E+ЅEDGMEJjX >.Ն>5XܨB ,?Q胺IMwgs(RqO-wG'_MS46[#n$XZp aI~J& :ZqcR ƱܻeqP53+v)lV㑋0B5z:,Z&+9sdrrs ȋ'CYENE!5]FӃ-(:/UUaqxrm;MyJ4JÝkGg_/iJ-s$ QV[p(/ҷ2G47v<}vӤt:tX\{`"WM;Xtb)q3顕dMa"FxG<~t9q`َ \T{pUuϚl| 3t딘qPni*VzzK~6xqE˽]b+I={&j=@^ⷼ'DM)OE\]|'c()o7,瞘-9kӜI|[ߙ.<5DXCIDZ9Y 55wP4J7Bs-6'j !˩غQ+!DTtv=a܍bܺX.J1GJj؅:F@'_Xpqў7H$BiWݷQWZ&'wqAM%t93{D݁JvWw" ȡ;"A ]́JTP#IոnG@W^FXsV$@n@IM8b< 4&nf莼XL  `(TkMK4y,!`Z{um/޿txپfHqlha2 36[U3&lQӪ+Emԛzw7'_ tw\dlq'].FtݦRl8i7øc<;&#!A5ufCѹO Jb0GIDuKwji:﯎ӑno$67s"y$vݧ|JI8Abnt]#ffHd+wJ!tJ(uFT=`qHwhLJ tikُƇ>5r9"2Ep=*4v P6x]uiRbTN` . U{:ǖ:xPxf 'nKG?_%DZmn[ռ[ezCk$Y: y,:O]]w]5 1En8 +؜Gж}ˇW4?=I.9~6tƸT;4Vf6M? C@ޘ|Ts[v@ޘn^_ȬV]ܻ{݃2"80H_&bP ^4R蒬8sKBfPFdTuu 7"$WpbP+Ө`D5&8`X qMC "tH w"Ȗ Bt\LM]Y)U&Rѳ4! <=#yѲX aP5cj5%B8[?v BBZx:}a+0-{C[Ҁ:o[ 012Y39+]Fd7d$kL!t rW/Z w @Y`!{IiB@yy`PƾM46IV"q?p;3+6 C=Y F8`?>~tr 8;3_l^(H#Uv+鴘j$h^^Jg~ާ?˿~#Ko +(utm. L9+ax|7{~ʮɾZ=I9vTJ<<65mBBip̻cNZ?gX{ן7m3ê_movYmܬ005FDM„g-Y1 ; ,k˵"Fp(kgDT+uLhL.G;ۋiر DBTGD5Z\nM(W-VrONHaeQ~\j%olpF9l΃<n] 1Yfb:@B8 TwF9#$# |Z *@QO8z؉r r@B03&aעJj2 kQG00Nz)sY hZrb3vL,(;汄\l y8PaѠ,u]tX˩ebdKќU)8iX ÞbDWRcme-Nt!j#;fֻwUxrD +[$dH TlTW"V!EB} S@ hɥ>lmK$smg)I.s] lGufЄ9(8:cB@?LdbU5䴔iw7_.!|y !LӬ_g nݭ_qQk"ihdE8ل^K,BU^뾩䛛-6{O0wp9oyiT#׾?s~M}1 17WMS*: e"$h"`4%9_ N@4R$m9%JE &aӤZnw'%ٛ DR#{0QZ-`eea)V`?Ds"AHV݅(1cv }и2'wg_/}7lިpU, "$?<IqN#YĠ#̷_>6xzo[?^"ɏ/zPBsIENDB`Сt?GAWYʿ+qY&ģcHռ.r=۞AB]@6O|8 <<RX0Q1)^8^8^о .zFmK׉!nnaSZK}fZȴδ뒔sΞ9&uns‚CF03`$$M}}HTQ@D4"<,! 1z<A8qoJCVhāG爮:A sqRAfQ2TbVX{ߓHD+;p!zȹ+5l9rWTˡ_]pvKb-BFʨ"͇*Ui?77,|尺 S]C2;(eG=M;>2sq]u M?690v,Z*K7:@ݪ[[M,-YKTe18r w&WbZxP/R``BÏ09;Ȉ[Xq#HrVHY[7]>Nn*@4"Dz06= D xj.84$lR!ءZXi޽QOa*Km¯r,׼|ٮ^ŶvNW[I_# 6K)+f.:9>Cmd:{i .Bx9̃D7 Ȋ[MVB ;|_\r̿,{6f}Bl5jyr*0a¤+/Mll"n8jsx΄p3=K C.#7{[WD$X d [wvIrC5ꯆ'\4In=5t&]"67_[N#n$u+?xsCtKSڞ%KDITR$7cf %qv3:{jΫϿnvy?ڒưxKp35kx0q@ 3?,=9}zWVUO_3B؄Ӏ3|9F^^|fgN;bZ!\\EܦpH>'tg7DĽo$AJ2:)YhI ?3'_-dI#-{fol }Wةa%Õ  8zo,uL2Z_Ai>eۢlGOkO߾ j˶~ 7e>p͙"yKnQbRtߧ~ #SFn6l#{[P~ P^C;̡zLY19sWU/"9 p6 q@3X{ <_s2`r"2RA*bb< wh.#*xZhtrQ!A늸؏+$# D(GNyp[&xJ[yp!n"yvn^}iHAUc_pDJH־=FGد˥dg"vO<@B28> %'g@_;:uv <ɉ|Zn}J(eߞD7\ypg߲,J#x}" "'#X9e`Za$1v8GcW>CdԑvJ$F;?S$|a,ae,AIA`ʰ%;K*=Dq H "gȲY1 ^XcqOٱ<=tjd̼דXo2YmYIzՆK:(p0ֆB/V` M_p C4LHpL&lP"/q빜J| 7 v:|vF%G&'>.ah om^K M9|J6 5 O2>9oҐaOf|z}yɥ~̕59"81sf铜2f@n^ؿ;G<- RRT ?WrK̹jݥF.{Y[HU' 7QNs=f!0-^J[c~j)pozΝ_wr~ȯ}yU^ixuT>ކ?9cPk| d{;R˜y(Z@MJ@;(r:(N1z)8:ј;Eȳhx+>_: `\Ƹ9 0‹F;^c<u|ߐ֌8\dQǧQa+K8'csu*0e,z?Sӷg8r}]Ȣ%D+g~^, CH 'FidƓ]#k 00i UK(]EYej|y" G%R ?ם[);NocLn>d7TZ]_Jb_1 [-XRI~8i#`Io\xzq]01ԾG"7j<1D2"5o|{iucs3y7P8b w`2F&;$/ s Kq1mű T$@SVbᚯ+w ABTwYQnӴ,x~Ryا r%J]&N>pCx H\+d<-塪yg1:4c+~MןR[:rZ}#BW_wvY;+؉HO;Ƨݠ䧧g)=3a*8-D1* :_mE\67`*Ҽ7?/dw ]U`G`f2EG'p`YN1l֯5bXs|Km-5eŃ)z@7K(OyA~BuݟjwNJ}s+d^zc~K4p۾'.㓯rztLV];tPp`qU6,k;wU6,XW 8׭!m ;c;_^it̏jAUKb4aA u&بfJ+^Zzex05^|wz˲!}lYNJV`ԫ\AMb~:pL嵠5l@dz.deͅIz'=ں>߹J@۸YnߘA&b> 1h23𨻽2kG6!>=Lq#磰v!mRsa#(qn@ z8OӿT|=3kMZq\NoK#-Ft }Sl-b }_mFH*A,#-0i DzVWKu해L,5m ;7W#bN $suuX*{I;-/Wft$P]gk _aL}ܞ~!Fm55w3~v@jrs`nm `/Dw9Ba_t$g5]sT?TpXej9W,]H~&ˣ @ v?7[|[ ,6Lp=#_68rr[>k98Į 灅Yds+Gm*j!cvvAk{C_N A0%X>*\+͌oR^g.qEPUgrBs{ըsR㝫ǽKIcmsbmBH?nXgzͧ{q㨑7i.^skGy5mV[&w R (kSQr| l'V+k?$=^h +:B\nbR@7S n۞q涅D2+Nn?"~L]<XH>, ;O:@Uy-^Hfoݯ]晦PyKo^|rLZj ˏTF,Ew.<\CR_?wyJ09?l ՞ (,d)GDY뙂8I^/He**+X Ωn.6AA.Eܐg}Ȉz?O5rd_R ?\HY`(bNY@IL;gFۈ]h?rkj)Ca}[uޏ͇ة+r"c^oAkvL!$v$5K\ vՎT=x@z$MS ]fByZK!c|DzxOvAM 8œeC_$}b.JbqqH2VDĥXʎU_O-3ߴO0!͏ fo"Vx]Y]Α{޺uyˑ[8kbQ8]W VNY_瘞>||~GHQ6[e&Z?bxŝ1U#m^Z5Ϙ΁u_/`F&n@X֑wLO00/ÐEv\e]kZd2ړxSO^B|z6<`U9lL↧WT"PA[/YIͨIE `5/IoPE5;(8j.Q._(@ݷof;3RgIA˞p#S4ɣQ FhY?,hdaоc 1|q_ٔcbcr ⩤4GbBQt'9^0%miYBj:WS]d?ts yxǷʬZZWUaaa෷+8NS0J=@HݾaCOSM^VJ{vv1n6֌־F &A*EbH&H[t\Q Zp7]t69jh^|fP(6z8e$緜S,(w>\z7UuO˫\9-k|^ZáUDKs)Ke|KG W)ԋqHO LHْ edN+b*bk^vZZ_Zλ7U9j5 .n=rG\ h YcbFF+=pI \$KYVm^H˹s} rzTid h8YA*9xգb8 &ǹ,;ZƃOR[Ļ8.ξ+Gўbi;p{`A"QߖĮIv#NZIH w]i;P{dB"}g wYM:rjI5ӪD"v=>_Xʘ0ɂN[{Ggѭ.4V ޯ-*n$ }r(_U(yG hNlcڬbex+MNYg/1lwXR৉ximH9Xad)ei-o }  ׯo-X.ϕr9B!j'/Fyi1d$M' R^mNrȷÔi YǙ^C?~_Up :0rw㈯zSCHQwA[5Di% hm_ :mU!<]oI-qX¹3‚wc;YivvC Y9aGw}q'P8E2=bF-+{y*CnGm\ &<.c P:iqIX3`;C]>"L뀲1[y?]®ya&g ytst񱿂g.MR𮋽TA_ ܽ}eOEa:s`;9ip*S¶u<1ϋ6C"o 1ف˻&ƅۚY64HxEU*8;o-O͘>>ez, eXHV6tzw876ȖN?h2ft] <"INWV;;l$3X/A ]?ELUI߯3{[ЂȘ(X]Ę6cdFC"8#X0PmCpԽ^) Kɵt<[NTjzlx 4?y`kC"KlY yFEBUn`0-Nׇd8UoHsz!QR3J[4EJ]h 䮋!*1$g-/4"Z8m,-LCwvXNԉ "9~xA%L0p@)MZ| J<;ij+(&T:ݶ*&QDNҬ {\סd Q-Ď(x:oe+0 S+n9Å"dٗC\羘350VZ~W5N+ļe\US:e.%GӠ%rW@-Gx})$sRT/HADY^\m1pK_c%'["\|Pm"hsRAwGfmQV3O>&ZII|tolX^[SH$FYhY: 2℞6;Ca#Q\Q`6hƷJОz /ߑwPE ?^NcBQn=+جLaw Yc{TZCu2Wm#4ufaΔA'{OYɷ' PPw럊j MQcC:k(}Sca$(90f*->uQMJڒ2-Mv_]w" }v"M29 ?=A^yz5eBg+҇ GD>LdٚI= '4t S@ (^lH2V9T y|weWUoacLaG+v>eDŽX>3W<դ-snJei룦Š %DIpʴII3Xd%PhER 4&8\Kre9 kK4-AnPSWXɴ.<4yƳj^Y򸷳<گ:ky_NHht"|[uHΜ#[Z}2T5{Ov7]::D'|v;P^sC,ٙo R-.5=oHp,nGHR[8(1#MTM:A6O_%^B<b3~\l8Nc4ة@;MdHF K$ P ǐ;mY&O21*=BV=esv{?}SVG*a"a]ay@:QoH>EPQC.hE^]h4^TzMlnV͎N$^C5<)_UV0Š.A?grYs{,ԋi/'3b=Qd$W!z㙂Hc%fmy 2􃇳8 Z@Qr3YBF$a߬{DP3AoT'~>L# DUur 5|[8<&TՅWh䮪y?S{F>_Rj #KzH2 &%T_kaVJhl{Vy yK!F3Ex(mKH_6r4>ʀxxp_Zp#ez? Qx 35xx~X*t뛝JLnӚrTaЊ4B8,Vl  W5b5g`l_-DZńHa:{RH]D8]Eg 7cVGnDkUnDZVuT Z65UȺmȎLg&>&,cALv>^8@ْ5AtdbAYXK)/wz⳼oQTYv`ydr6%waO* *&R^[ӆ-ׯ?}Y{9OLGGfG7=[Դ If;i ~CaqvOI+;3_ v}[cjYk91jϖ.re=%P\A"Y)ITsǹpU&KBZ*+t58"1hީ?=|nqwe9ss_FVַ"JQ'xVlh-Vc'>` 뢥~K9*n!U+Q-I̍xSiAwq@#I dqQӥ: M[$SĈQ .3~Qa͆YjF"ÊiIi>~ŒpϾ W,vOÂu;׸>굑sNC^Y5qS}#eJ~!̏CQuu7Tnc~kLjݵ_ଡ{$!_jK!{R5#B򛯎界%cwC}oࡌ97dZd>k#^7< &l*PAHOo?Z"UhK`ӳ5vnuaȧ g#dFvxtcEQAo T $>c0R,_+KbS K-\b0Ah*Y%C97A"G鞖&~9LdA@ЖZJ裖 4úz62ǂ0‘-uVK[彅AGR{Gbp`j,N,5phX8·@G"*MgR (3^e FCjtdw;U^]s?k#dcɞ9a[n݅Fg"tACZǑe''OnbfxsS?=I&$+2>V;v/_#Ѳ AJ㦞6- '_7OzRt0kY]n J!1`^Vf tѼHlr.L1 ZP@c?Yd7Wǔr:xmbdXq\g~Q?py]_u[Ei9j\ɝ*^MFag!#!i_z1TNAtz`/+ ]R\Ӈ)Lւg)K<ezbjfXda_įK,9l|]۸DTY%: We  d%=ENʙDE)V.q#gl{/$KTD3s鐾,jr)O0Ò9dIJUxqcl.T%M(kZޞ^ z~Ww'YpTc8Ɇ"= He}"!$G|& 6a`&otE#2/CE鴙g p{۬9:i_T =/-5&b)Ikܵ]oߑ*v ==?uLқzC{ޖjjt׿ڮ/p^"!*ABq;|=h.Q&-$F ZmUiDf5C>52 Ыp6 XU~Vv*4JV(Ю&Y#!KE&Ѹe/&_3Ԅd'3u(mɎt雃+ xOl;9ƶmsc`cllv6v6ɉ{{S=U35TM|C!r]JQ݈D$ Jl`ӵ!fHd3{Pd*[d>%n"n 4mRɚUv 2!6ZC%K*ZxkJX{0 x1.u!,Ux,/mmA,y Ɵh<}v\SUV8pFU Ll(kq $9a*Ad&H6Uc\8 D.?Z;,<'&զ-%`)Eni.NG!1(0̤&ېQav,qsZ%[k/%(!'x/:gGY.+„'M|\eXpYL|+~5W[WݑX"#W\祫Z}`8Svq8Te9{h!Vb~%C"ak}'NMV9,nL*xu(v@gˍ╆ ?l^>Ψ!kxæ puFcN$٢zqv+i^uIn‘y(ݔN_S!we9$3L %7ǘJ1IF-z,n -r,,8E"mo:s^z i+Qh qP)V(_P{w-h5(X.qpp85sW9V@v R.8| v Xb=9Dd@H 6P\;# g2ZFfos05 bC9fJ)D|eK BzHt7źwe"hA(ք4UT*i|0<א*j0Mksen|9[?ۛۜC",dOq@XTD߯4ѽ z8(LUG,2uHǭjEjl/Fuh37bҐZ'qTYq!2Q:* 7;e,FE)!zMgX_~]\\v-]ot)<{@/9nO>*귲D>dQ0:?̨G]]41t]U$E e8 ʂ5 Bu޹޷Sw@@^x:t%`#4.9tQ6`9V]PcHjMȆڜfEs7&2Z{܍l a]ivFHP"#wRXXYDM3QyxѸ)Adv6Sm3asٮ,:7K蛋jaZW?ф QA#Pղ;5XUg 5cmfLJڲ!BwBEYzEQKߗ"T_$3cb`Pm\s*+ rH"z즧cֱ٘P&Sdrdch)-Ci da(b&;eL2P41ohni׭It 6icrwY#sSgz6E6aɨeXWn44VEstI p߮CyA)a{x)?J$b2(Zp)N5A;.+ 0N]>KLH;X%w)[17v/wxwS}c~G?DK@6L%wc(j$ނdD2DG$t 9׈گQW6ך׀kFw "th*s\K6?~ŲkC ~Pp64u1CDx"rtƹ+/a$(3"C#uӻY(A"%M SsT::9sND[}Cd"ZʖADUlʡFKqtK6(b zfN'], R_d1]u~& |HN[ǩ뼼jnduEd_DOQKIk,mE*Qѫ5nCNgN-ѳo>PtlTV%k/! oֽNocؒ[~,QUlx!fX?W+hqG&R EB,-v> ?0_a$;v@''W{+{kapI& FA= ^Vq<7&6Ӿ~/m2DʅHpz\VjUmJrE":[ Kbtg2}ɹFw}yBF$$#^@ n86<Į]qrVCX@;+ijǚgʗ|#(ׯ#x4QvEr'^oo2!d YbkpHKuם﫤XY(OV~44>= = _~^߶Yl "]i}An)}TqDYOD]7 &zr7pdʷu9[ ! V2wbX640=˕뱖Dhk0"-7~ǮIRt!5j(HD ׈QbCp甧BlU&1+se:'D{l~ST\t.ZkS{~mADMkA !6/a[`4.kUrn|`r!1!$1L|Ou)PwJLZt?J,f |'b::0 _gUɴhx2'Ķ, 󶧘Fه1y߻Î.H f%k[?hP^/2O3>oZ)ݻKy~wK"dK *c5$_JEɬ ]?3; "ؗmldBx~" N~ ; D=Gεr!%و5 qvbbE~e]@gf5/rDüar rq)-W,pR!:T<UkkL(O݉ O 5Ysxg3 _m :-~`=R2W\N Azq3tf=yE2TYyb X{J1=ȊKޮa>Wگ_{/o$x!9h>;M^k(5Œ[m54232JfSoAMTefRg#bma(%Cݳ͖s8,խJ  t5b]^UjHa XTߏ噬|3Η|gcu8T!!KQƮ75oI2K{i"RTQQ@Z% hPHVg'79i.Tow'ulb?* {E mGg4$ˇL%.;[gSBώQ%4~5lp(άEA-6R014N&̮@À 쇉jXQמ-㮹ԛ*RWZ* |~yCB͸6ɩ30Tc5y4l_.o'PϤi,Ԉe·|[f~k[+܇E.F S/*'RM^s Z0ЎxŶ&qW☞'Z?jf߾jZ?`Rо>}*rث-؏>"yq@UE>am1ђ(4UlYq;gc闼KJϥf< fhC4a\^#S>~m-NY&tYXm_aBYŽ*rآk=7ztaK?} :NЎ}*#j>)inUe*KivI0ӂݙj&q"W8kݠ}7عoqo( H|,ۘczuMFU׵G! NE}_4$ n"ACi6VJ J34o}ŠfKi < ̈-WYh<h>Xi;kbW>R7}X!v20V̨I̒@iLb Av"e$ yNےNug՜$> Xߖ;¨FZ1T23IA+AjQƷq7!VῈ F@(Ihy._:ioK0vk1P{ A!Dѥ}W: ;P >>ҁr 4{)98]]Xw99D=|;=t}קaS Zs^QXY?#wi?4Ʊ8җ#ycZaAxr^e(כsw3$0;ɌzfUa_XzriQ`fb{}Ro]Yjzs~6o洆)8I3%1D#hjd 7Bx߫$̓F)~D1D )wO\{uDNc qlZ@:{#h>tz>J1m1Mo9Os1N؏#p[J/S2DxWMnq Q午P]:CZD6$F[6VZ =EpBei-hWuVj0ARPr҃*\ f2 !$us~oCKOWw՝5$J!.Wٯ.GU ,tVN)(P3bDG$I;6vq\ Jo>oL5OG ^9;YߏFa$0B"pzR‹5?9/gS?Hٽ,(pId^h[Fٰ&QZyALt3!ff7 L/=Z177qiA6A1є]ʚJXų`r&SDp-b8Ȍ o{}Zo։@D 6uJɰPSa-gZxfq10Qqe}wCَhKeǚ-Fn[Ct]ClC/Qֳa=n|S<"iԱl`{t{O럦/=W5pr`Cޕ$emQPwlU^7͖ZɡǮ-vGM6m_ܿg6ro2li9 p_|'H&ChPG6a+h{:IXߌk ,]Q )+JRbǠl]r{aȷ/G(O =dFె')Q=oXvm9r}7;ޕS[F~!ϠQ68nrl;`z%*;97yY V_^^8p*ed)qMV"&-j2Zw(IuJ+PGSjǯf03t(d_NO:oF`)lw?cú:4ڸ9YG({G־~Ε+5)%:KxZRӂ7-1kh>S8qH &Z)nS*LĘ`VKg ;#A| U@Bv% 8Y6>iLUm Ɵ:(^+ ̒@'r|^776tTĵ8=-Vf"QN1~>{D dWO,h۷/6FSء(0АSR TYMHђ_uM-y9* )' UZ Ȗ uϬϴAqLѻ^`<>彝\?WdYttKӚ[}Cnη5U&b^ v{~ gAJM\RL&ē7UGJ"mh4g6/p@ːcnP4\5AB8⺚쨐t1L B5=̼>Р']#@,=П9c,WПIztdͽFYtNuפQ/3:S>uRxgYW47luth%Q;|z?0P?NR'Q/?P&KV3O2bطЂ  )KdAlqcof2 :o}$/}[>OF>R0RR0)vMSVa438}#rd/m_t}~u"*?4ȱ2%ǝlԫ';6G˨+ *$_UH(` @D0`33pl? 9Bwu/r+:!Cffh[ZY&?ZW2(A„ frl홏Ŗ3izl* E {L7ve%&hdv9'(,m<4r#d3dD(ȀNzfE-Z3 hWQ~_͕*+1>o~.ݫ2˻ؿ'goD3JKx}&kqåɾ- a)M&Aܜ| RG7⑆wQaG ,[.!V/T+Dl:qS21 ;!֝N.Y13X4Tx@|X`QD6OIC|ΎBQI)lFˌsy7fMwUt!N^o7n!\E"p \Ȏay)[ Ū'G]S,r/B\L7rwY{5b]zGe S#Bf"_.EΊ=qTqR9{DږX#+ -JԔ5"X ŞhT4{#NY݃~y-hAOm<+JޕTS( JJDJQl;n%iX2W;xI~5cֺP&r .Y9Zm<-VqLs? hND vN3~q*I (CڧҙM&;yW]\2oL 4jh4D"zXْWaPŖD 4 -Á@ƠDr@1leYt(R9#D< {<EuWk%}|Ө:LBh9joz?82^+@ɑ7a`,RfzS{. GMdKmGCdAFntaCh#Iw<`6 mt!a*̬XgGmo0Ѥ#XL\ Y¤*f@@gh`_>\eWka?9CZkge<sKID8ޓUkrs740p1eѡa;]{ªK~ͤʗ.rq$17m*\ 28mοh岵 MxDt[W(++ɥBmy1qƣ%u`:=ƛ͇vX9%'mWNSa" gAqs`eZ[@< E\וW`Yѡ#m׾IIyφLۆyjľjprᣬקM? $~l{l,v IڞWCd<=O3u.:YPqLB̆\QuU?"ۊA9`ДfL6rrI^]kaEZ ^Lۆ($S 7}/|~ oI?*cX^h|.ay:}*߳?X˚;ZalսVAI:Y9U\w94TT8N9[}uM;uA1ÓOaǎ:X-L$U]םꮔCF+ûK'$d{\|\4i_ˠUHHNTvs?rPvoⷱfH$13`P!,w|t96偵3D覒BV2NJ_ {Ro[Kr `8a"v/J^ffMgÿ2#7;VO\)qs%˞_Q_TK=N*9:3xރt wjJtF_~t 7*AH#% A)|x*  ģ]Iݨsļ~{Y{a {= "TBB4~PeG<=CCAW-b{|"˺A[[PӂTdd\览56P/4Ayz)77UzŃP/ޕtufV].%Q'VsSQvFRxq9UO(P5>ݳ+~Xiuy~ N'{ֺ{+qGڞ_ն7?=RwGmaRV zةBkJMX:nӃ+g s~Wb }Ϡ|1k ߑQT*U^w.֞]),\~MSTV~ϳTr4HDxJrD*6 20-me @X%ݫ+ǐ߻:}:yR:z6> F]H[wC]`]i¡]{y iQN FJ.`h C@b}͉٤|yEGn#`0P@yrj܃RE']l+\^ #r^C+‚w¡72\ЭrO)~}'nBWGg[h `>bC ]B}SvrU0&9}v)۳<{r~16o "s Pgt ( >9ڗbnj`P[:!AVYA'3Qtv(6j+1ISgeA Z˱́p :J1iV0U7Kݝ[wK9"Dpttk }9/=IowOf'51{ J>Mi>u/mH,29WАMcm=k4IҘ]7׼ΪY7fSȱ1d?Sa6p囄DrX>EY2@ݪΗsukjҕkZ\Ql wQ @BL |U ÉxrzZ5z÷yHEL\d$;SB{)+Mi(ߙfpW6@9֩dC'QY*3uV)wu~کXy*w8,#MhB=q+;.hKKuhH$*~-c}Rezq~jUGsWcV_cRΥQ=w67n=6g!5{C$y?^}A3\_\ }mkњ=Z||,?|v`tn|pjskOyZ1oNH.\>?5[녟}:na~6-Ih+&X(ܨiﯭ-0]2j T]MG$n7#rQt/kzȷf*^BȂ1DOm L&1= 3ir g11)4*GiAgBS2݌ @X (*a~EP |r'PIrRx}h @)mP@{@p<ΓhK!!fv?L pudŀ $ҁ~P@HI͔[^$POf<.S >m>ʡ4!!;&VXҏ w̐|vgǞd|5/DPPb0%W zdUͺ>W䋊'pu5X ojwW"-z[1SRӈԒb0Cg:C$c&f,ͷxњemBߩB&dλM/3x6s/ٟ_ovUv\.5|mi7V~+tg~3$pN߾,abAPWLc8ԶAah_3)e?Xl*TN*Ή8g1|"HbOw/NQA8#zょ}c|ۂ݁NCx!E$̷P8^$Vx,q̟1>+6'.!$Ms+>s%^f|R&e<_/9mb^|N>ɋE.g.OFCDsY8DUW?UpF4!?KhZy>SuՉt `&T ^,z$(ٔɜ*a$,Qm4M,IC,)oP&?9!Gɽj 8@*Bny̷un^?e|M !^/EğD#^%,+aռ6-.ƴ @A&YʼwLGܭǢ/_"gXZ4ݮi'At7u}\%h\mWY&*DB'kNAp .k_q&K I\z&F%yy<]`t`H&ffsbNVnѭ.]z6Qp\?xk4?mcHV,]Z6B=p4ɩ٩nnz[Jf`m l=M ¼#0zgQJ10sx)HGRgu)nbA7@ӬY-1xQ@ma^#rb;k|Ah ͪ:TB |K;~[otù^tZ-ew$5?~nm><8`ae{HУUG>*ًms,Qkluq˹K]qMdz 9hb y*?v3@Ch-b#C}_7Id91i%NP-2 B=u4g0 3fdiJā$Wͳsv~u|"1)r1 x\4 @_Yd9 nf)M@俰hlPal"0 !0RĴ`@:g&fE&D[Msݐq`:sğsb"A.X(0l0C,$ԀVV %ĩ I"H{{ݪ P%~7VVȘ#2Ac&cO͓!8SXqc塑{t 9>k}+cfC=q0<BU뮐ߣkxpn~_*$>:q[`R?gnt\ %`OxzVHev"92T% [nKV8:5V-iV_BV6 $ύEOyEo%]T]n^Rc]UѱUū&] aٿbmnkWoqA_auaQ}EI!}hrXZz?GajTUo ˵cۖ #|N7vV;fEeRtL8+46Qj^=zwSBfђGE^x+5J)8+ ^|b^' :J@]1G( B,ͽ`'\FQ J2Fe3ܳb=n`Cula@JR- |LHMhՆ ʂ;bguӴ~!~Gwc_^8ȏ0j B4";V::e 9 L(h#'`u8Xol$@/>w2oT8*bH^DHW%ϭjb;R"^ds pLyUsШ9ѩmHͥ_|O#:6E= -PHLqgQ葹M4qBonJV6ҡ7Z:7,{׭]k=9>Riyw+NOBv_Vf]R(d͢-68p¦VMWmUW{1OꞮ5t{E۽.`ULxUTQ-b**`ߩJ٧&7H" K[ؿUs237[(6^qa6a@ IiN.Q#ID32Gchx{ςk^ ڈ$ٸA֊9R{K @eY:b_#*ԯpM+h`''Z}Bh d٩:?+r3A\C8ba,k׊vŸ=uA$¯OzX ofeƳ2<;32M5<03kX^ѱj4SDz(Yg]̠P"YY.-juK; QԨ& >Qj y #b+i32dAeqLNR1+sƷP4x;!tV4Uv&l=g33Ζ<9`,4` @?/sjmͶ?w˶skث?Yu&RMwܵCRnB+OʪPAڂݚ'|XN׷'7Xc6::})aʺjk6T -vYubVJ|}{< y.8;p]U,33PkWRϲ{!4-n⭱\.*;zVOSަK+}"3ǘJȴ/.\+kjl5.YNB~`X[NO,nDFn@Z 詪^Α%VKie(Qm"ո/$)%"9^0"Kbv"o2RkNirNCVN4sƷ^e5$"05wV;:*6'KGTUxf)zZLOfi 7C`t/ZˤlsDc YKR]kz&n2;{gP8Q/tX(ͫB;zHh"ZC*0"q2lca G!KPF:9W\l];?)V's8Y'saY-EHH@"e"hB71YA_IA7̱`zAyvUpStv9h;{CBo8H Bðx1sKO;G"3w,,&GSuU^4%eջ= v~8NL%,YX[1s.DZ/i݆*.hr% |bFƐxeѲj'g3pi=lqTuЙ9-UwE7K$FDTBye":{@ā2r 8Y 28YA1D`s8Nu'ɤ4 7l,)`< hF_&g~ʨ^̀ UẶ_3~+'tJDmB\!6fC+x,iYnPu܀ْmc:&(tJr7/|Ȯ/ĸ{g: ߛͩ?z[N6VL Q؋G=˟ ’U!t9W]^ y?Y LdS?veWg%f'ʖ *>|K21A3#ӂPuu1)OH?+Hz=Cp@!9(YUÁE܇rtGGĹjB'FrS3WuVUx"U.î ֈ2+$lfNʋ잻󵳒nyïOm\Uwa5]C0JdM~%ÿ3aYy1di#4[%=zwt/8f#b9 s̬v9N TK|Ρ&'woɃAO4A`KV,?7xKe@ʠ00Z*smQsC|9亸IRtde }*}:vN˿dѨV_ȿ;ȱLLV?t\L- T,ơ.$\;3Z@TL"NW{(K` *zD:AD26?j\eG37VX3 5#YoTzaoXL6zC U-*˩cn"*_J9ͫrҵZ|& Q|9lmpemڳ2W!FMu//CS 'TstWOG.;dfӅ|7bb˹ra(5*ݱndrPbSd>"Ԯ-m}_k nS׿7&,ku+m_W*-rmu,&nXs AXO;{Ymܡ{z.VS=;NxCk>ZZ%nHc  b{%6LVBJ 72XXIqmqr"ߴ>Wܜ\Nk$׈'_]y}%[ݱCVV챁3%Z!pcAE@B5L`APnA[#M@Qȶ:G `ynL8[xsuA) -0"Gri_&j' OxD+"{'ٝo2Ù3LTaGm.cL3 Eٝ@yK*B.F; :9^'*880 lY D9aaVˬMGvM:m5*WDa&.T9xA{pf|"y%9[H䴻6=4AEf YUQ!,g"G#Ǽ=$Nfd6ݲucu$-`}8RyT mh9X "DʫB%9`6 i9ԸRuݗ.g>oju7/ |cݵԉx7g] jUcFzT6hekӝ=3[9 oP3>w[Z;Nhv~[z/{'2縫ŝޭ-г_ 'v /拤?W"DI" &R/Q  s 1#рH0m># DEr'34]l3(,:W kGASPGn-=o=)LvW5uVՆ,o.Ɠ~ɸHX'X2FcyΜeMp̳b*!2Mΰ*8|^(Z$:*؍#< A'1R^Yr6)~#> PJ9ɓ44G\K"|aas Rm]H0;Eᩄ9΋<(JPGBC6[7H \W@F6 Yd,(JgCa= GlrqϲPM~g +z zk|LD^K>Em[o^xgνuK ]E]*3uO!noxseDQ>+ds9]Mg3[6ASSWo<(jJȲ`k'O|r+xFba5[ƔWWhnpTpE{ nΫ?+]}]7T wfĹ7Cg )Sק_)H_U|'K)=^x{b'O`T.Ʉ&c34ywH~*ݥ5iw;r6휸' ).S;UV[ul*UW=p|/V}~Izr4E5p:\N5yNs18p*'1NCF0L@P#F?q@kѺјo{#o$]sgJ̚egG3Qxk^\)jЭ,ȴ|(ջ.fäCx|MQx-Om-kٔhNxݞiߪjYnٸ;mOj⮉#bMOgZFJWщ†T{x21OjKnTulB[ᇝ}w@\ᚥW< wmQ^~uI~U<딋(9U1-@&Fq( 8 "ω&S܈[ eR}dacPqnv#QtؒXvDH$qrKزFkRȍ6WAK3DXYg-cn}ec9;T9IZTu!lQD2d\*@8_X̒ej9C4[4!@j!f dGCB&$χ"$! # a#5b&q7=LHHi< IDAT 0 4[S_E@h$Xv>7U$<)<ץӽT\ɤ];#ru}W5*28.#%au5F(z4f#D jl5@f{3'jG2 Hhs@ ?`8s@Q"NHH[iQp]3vJQQocJxG?ݲM0꺿;>WNZdWIQ1 t,X_Z! -[BZ |kkƮ}53IW=Ɵc\4|G6$'+=$DPXruUNΌͥ:ɞ:YtEӓJM|f\y7^ յ\E=5Xq=)umw>BA]{2U8z˺ ,-mIY/}l:Q0Z2ɼڲ w XJ@XH!@jrHZ!4ٯ0 5YP( |WCZ)TXӉG;=wߛn$&n[3{o웗Ӝl@l(ﺏq||~`a&.F#4^0cŇ6 MOy}40Y*&cw(u< E,? JX E<:O~k3;޲y+6)j'I3 gFŵ# )Fˆt q $M䗴nZ%5%LO/C++ψE?osZbwVg ^QP T~D&4"lԹ",3 lDeZ'@PpW*'{}I7__\vY(C;I2M,jǵ<;s'zdz[oɓ׾{L϶S7L' mSkm} Gf=7ڥ_Ɇ Ƙs-// 9<޳ne!gǖ, 7LV⚓Z.kNez%i* +L]QYEx37mMu7 LǎS%iXfD%RE5DVKL.wCXʫܣ>(;ٶfɉϷn$/*ݑdu<-̢2>y<6'CkyBʾU<].c\*h$ L<.Ar}on\QIfBQc%zP=U "#]oe* k1B!2h[V`&q36c.gǣ '(˃,,扏E_3gz]!=뽕\-x"$z%lfemer4@a9`yˮ mA)d6ϖ~[yOndg"Tz4NNo\N`X6; f1 ښerx'>"3Þ5Ա-~S2DB-yobnf୑:r^-om@rc|̾Dj9 =`oΛm:p+Ur37,-hE#[DEuF^[صOemDyܻGػW<{;0U7U@1-O* r"/CQ$(=sSI4@Ilv3:tyiIn~qCZC"C3ԶA.>/~"z"Kk;7e_Ҋ>ާ7vGG{yY궠QɶR侀@<(_$xs#sX`+voȏ$A*E#!zcLF $  9x0 6_ߞݺi-l_X{kϹl&X7:Rig*dg*ԅOdsOyu7{tNxM'olb2f%񡧎Uֻ6/h`pm'1dէ^=ۼUL`O}4p1y8Aeغ>6v<ٵ(C5AK+\.#XH@ĉ".>H *+d5C;TvlU+ۃ2qoDKiDug_d ;TU5 A%KSwÎGܘP ڐIψ:72g!nJ:a`)x"j8*f [7;H;/+9(=";+b%aY:?jpHxa%7 ˪JTzGp"+JW_.Y BZd>TpGk  &Y@'rn>S9˚feX^/N<\L(֖X:q#ɞF鞈1>Ͽ0؎_a?Y}f\Ȫ^??1o#~Ujc4]ro 9]m 9j0^-JD]BGX,0>^Б\VD$ \ոE5yH%+r om sR22WxU%CEÒ*19BeKzp@mZwWޚK|5WHgI&rV u %. x`h\ƕz..]~uB^pxX)IBvTi {C "pM. rʬR!#a26 vz\>QT)v_$( ;^ DCk%LIͨQKfZ&rtt*7*ļ,@fȡ*e)3J ʱH,Dzbx89ɹlo/wu, -n m͕~ 6Ѩ,$#82o)YWlW۴l: t(Ch![(Xm? GBٗ:AΒ':6)F7Fq ?wu_rJA8WJ4,EE-*Ą\:KQ$FF#bi2ŹKd.Pe0TݢD҈4 %A@$D& xdgJU75?y&_GDo-" %(5$+-1J:+hTKBP >OK +] eR$[J6jT[yK>uC%?ml}#ǩt2GҬ%V[Ik%q?K0>yBBȍkb8;&2HL xPxQ%Γ߅eNmbOMohgjj?)#Vl2+ dI-U+aÓN*F8Ojk^ư_Sh>?SP*"n,}/$({KtS _tM+;V+w\Ggen MQi"YP@>4y\ZҮ,\%a ']P+R FD%K$SU1ЈJZ,̜S46Wjinpe"Xn ,DzTV>,1q zB32fME'ȁF=lӷ^\.9|kw~Otyj=,[;>&Hcn ֱX]s_#C]ڞW>ʱ8?hi [1Yc.SCtKX0,-uG[B@2yDj= $8caIeq`p0)rY*8']n=IHMDi$!j*> 4+*lAHP,KJ "idO%ZHq-&ٛ! d%s2r=v*V8Q{(vpq~J] ²r=f|'o;+Owb_O׬*>~?>O.{apv,[*Lδ-ZTeT),ҥ/B\U2NJE \ CBx*=7tDŔP~7+\^^Y?O|.H gfW@/f'j|c%WF S<_=6L~.>ғj?[C2>|g߶kW'cjz\3?gټfݵ͍^9[Wlu;O~p4O.Jk -d 0גk, yE I%էĹ}mB|\x9BDnшrj@bn *h w15pV=͛Uɘ*DY2OZc@ƍ@\ tqQ0'eJ<_U) tsȔT>*șbA|[~v C1ªZ!wQA F`` ̟Z.U6jΉ]%5y/7ŷЩ 6ՄI=j)}ڕeNM 53U@ Bԃummpye"HE4 D&{uUk}b媮Y9ٖdIlpdL 03CqH30ɶ$#YRKS|~S-7{9?]\>kײ)垐(%Bl);8H2X ch@94iDW`6u%Up𮳺몊8 B rJ@T L9И,\(b]/D9Nu?>뮾Oq2L2byd'3J˟팍|2_1k4JM@s,vkK̓J)<0(Y# =Fnۺg8TV%NXJħ@H^9mE[%&'=(Wo]|l'3 -hxT$gEAr}t6KyD G; .>>;=~׮[;9zrPw=%گ|܍_ɯ~ǖ,[d믿>+wmCKPP@=IRgt3D1nr LBΞ_D"_P"zu 6Wzxe(TfQue~C^ojrRW#t뫱mWסApp,$[`uTPZ@)\ֹS[[[MOL856IKX,qjzpp;aW>衖V} FT9pl.Dd@.u>|}]k!к?AZb~iNy.V\*ꯪ KG~OYY>s_kCX)?r {@˭wt'RsXz<՜r XVz^;K\aW]gD2ǩj;F3"7үh.FnpE2[ex>t$>rzO|fJ?yjwkWB=  IDATRA&W_}Gх X4,K'+̲Nu&~ B lq`awxBn_fp3J&s,{>Ue߇p҈;IV`]v1  @h/penwyZˤ.wmsNpGk[{4&p=^UCL b~:|.K ʸNn}A"Fwh]_m4ݑxnPn Go5*FjމC#3lW#G@8 IBU@`|WhCJ6_(Ni ' T#lG-+B"ټQy,RjuG ;tLcc5BV,[VJa@@KS$H}x?󎼮 Qr \%wvXCf nB/(jؠ&Vmzo.,`Bcv"m8qzq'~+L ,^7o\(ԾgIC&s.iYic}8]AH1#>UJ%fLn %gUtxQX z7o\8T*AhAsa2x=ku;n~)S{zo}ۡhO1{ܒK!ى4!b uJ࣬Ppܔ(+7'َ+ݽH)k:CKM;_Xyٚuu9IRd'mMD,,}erO$zc=D>rz5 IFIL<`*`Ypw1r{OWZL-oao|RG\2Op1en֕dsZ;VYZu+)%7^J}N) /&m{eFm %˯*R!U H!伒/]uֺneOv,ymB)MP Xe*xTip BGV̀K2jDwp 7ˁZBsr6#)0s˘ )EP?;uc>wź^n^]0ic(C*>%%Po8NzGڝOSG=ݥIT@@nZ.)DҮ<6v@<ؘB: rn, & qPګ[ˡnb+# ФO{N@"!}o-x 2Cl"% ABDU LUytU'9cݣH % "Bcq2IٴE@rNc[D<%a%-(XaH$dW\Q@ȔA*#rBQ GL'P bP_x'eNgG(SW 4K[&U "}…Vjuu>FQumU{>sZ/bP8"_d z/=9vsE>KS]mk"Ɩm\j噗2stɣS ˆ2߉+}'ENL 3~?L9/)M,E[B?/f /'>A\zŸ~W/w,tQ(葢!E؂ 0`" hǒҀ̈emQ=ޖMWccҖ~'=ͽK.ZWV"ҍj['5д9qӑvn}mqeZ K4y*׳ QPM]G/=+Vtzg$=a^OxgXחE#L:]-Tp*"rBբѕ]jEhfKXϓI}EµʘT=E mS@ơ(E@F2B/~uw8vS`\ }3Cgl*k~$e+t{qOf/5;931ң kS59E Px!yVF@8[ G:|ն;xg^!Ե|!}^.3YK_\xv$DuOAX$Y҉5!I">e -K0" 6fK%ee۶ØLarD8%XL0Eۡ9GB) P8;@ %$PdMCMeITpdl&;- A0Ucͺئ%  tUUYYWHSE&'~׭1^xN" b<&|k-V۫YN`CJ} IRR|I|^&4ʂBte}WSy_\}˷?{v,!.XgvtPT3UĴnJ$tOLGYlM3go9H|Ύ_ .=D7)pS.>aJ噲iSv,Ys/$uWa{~3m]XH6'<| d(äy2 ~x᝴D = }eyO]cEM;ڷpQno 4IgfَѼ#qy0]Zvhٳ[7k;7PGԐZsfM>x䐊eD"JkPԍJ>Ս8g"U>T(hN1$ɿqwN4 :0yDu~'|C ̛\ x)@#"hQϩN?|<8qbN"=Ȧ ʖhJl(a0`4鲐0m4AD`Я@1_l Vq`@ 9%Ш&p-xE*``"Ib %+)\ FP%L8Ѧ@2]~3}&ַ9|61`TNF&D\7NMGaꡮhT%X#.n.)Ֆl%NBx^s7O'y[7tSϳqi\zfL˝ѝRW"lC!e@,g_mmϦ8e'zƇ{ T_0ʳ9FrS9֥ŭe&7>i}ۏ.^PR__q-ƜMR0(CG)B:5&Ϗz@~ѝwrEb$e~߿1)H)(^4G⓾%Bʏ{Wnv)Zv$YkNϞ:VdqJ;vj6y셲5괴ؽ5Lwz"JT̡攊T<O#T&)FV[LI:: <WI 3KUa>6)̝(zL0Sb(TZ=K\4i&~%^J9Ç_],8'9ėK}!18 Wcx:MQ xMDFYx&勣C/<>6 1^d՛2Lj<7wyL@*\Oq^~="^Y?fNb& ²k_Jz%YWKe 2w6s[$+sm:Q kR`iA`ap;M%IrUpBOEoˉ0K&a`[̶wx DATVJ%I+Ù][Eˆ\>|vS3Wr_G˞=VtOU|Dk>ut7=ݥܟ> _OCt@kpD8z-=lptM^]Ze^'Lirb6 x2G %4>Gx5㿨N %+wmujc"3P y`lLG_1_N}mٳ 5=m;HHa O9'b<%[(c7ݿ[o%J& @vif<$ҭvn{!?־67E6oë6=$9v~yacZ]捏%l)3TVNybdPݖB5yb}턤g F?o*侎PKZ*7гm#IkfLS6Ox)G&hTVǜ )ԾCgZ5Ե患{\Ep}H+ R Sa#T]0Q i5UCqkbuw\aCooQ~Gh>=cu,px_|tIZtõU@;{PY8}"] ٗ+[_MP쀪vG_n9}7(Q-uJjV=7EKi҈F$4Q|>Mj;t\iX Ѫm:u*l񒍨*CkL^L X4C2!Pp88)K XXOz{ Td2f>瀦#ɠfDFgJ <@k/~G>ԟ3嶖7#mW>x uڥy/qt6۠opٙqg p} .]uS:ӗI)˕_ɂD̖̩DlJ(IL@!<*$3 ^ rZ)D)p *\備("TNR @8P6 ۴lD%PUq[`Z6PV@RP pVQ^f0 c|o;_6+$y;-8`q2/&ĥx.]]F5J,j&V6u)jyBh%,+Mh@]0,Gi58Q\`3i,.Z[oW) s,9.zKoY=_ڔ &UΎx=wvk]-j,Jܻ IDATM}mш6mz+Aۀs? >ݕҠ wwu& 澊ʢƃHmX 9]_­P(ȟ}(6\{\;zHʮ\e|YY WU X[׉NԟvT<*蜹 Z5ua- f-m86&,ڭ"l[sGwg;?_@i8 ,eҼv79ޱv`b0}aAێcFJzǠb~OW:}8u6еFvr?60^}f0Z9^}{Z]qfz?:RmԞS)3k=̄x[[ \V (Bh J؝1]&Zz(48HXϊb^ncyN^[u~C-jOjpJ F'T(Ē%6w8hNW&ࡐm>T }?\0sT#Q_eE-YKݟKSۧIkf9Sxd9%fK6p!t'=wfzۏ:_h/hwh|:w, J7!z$@ƶU_SՈu 8;G$u\LUY-*P {?KLW=ۖ PIVi4pS4x--xIhpA!BA8o PՒa[ [`ጃ`BpD{,"( 0&kc\$YDd,D $&ȚcMQ^dF$A0MBQPF Dpɴ$h[]OTp4@¸cJR@䄀i2䗿RQv !+ X v6Ll V>jBWkyuH&$]|?t/9D|/~ *[ZБSs[п<"!P(C{رwٙaE״?<%iv f] R+66EBaӣHJ ȸJG/D{ G $K3/o癅{`x xE_̴Y(f:{$XsGJtϺM`kD& ĹC'DwHN<38)l8 [tǞ_\.+nҘuL+ɯ2v[L1.ks. )r Em.ҖI"TdŢQkXNFFaG>{4/ WV]D9f&J-Q%aJd Ų!{,Wǿ~fֿOCn^x^Wګqo=1msE _<}t钖q)Hu=k70"-fѫOS>5iu_?6DZq׆caEn(xaJccҙU&Qn Ղζp?TK\}DE+IL?X]r+\ $#Jp؄ zZ::=>(TJ̖/[N&UhsK)t7[#h( PDᒔ'9w8s3PkYR B$tn+c-I,AAZ":H:P.FDaf$ෘ%Q W2U((0FA?!l1B(l[!T(*3L̴˩,޸!ĦtE7K*Q.jf=sP]6o_FuK)xf[FHPسCSً A}jZD@G?Қgf&n,Ik"D:W3߭&ISTxrHe\(Ӗ٘ cz')DcEo5dӗN[&MSڅd:(DvJƃOo._jBpUӯȜ뮷9ߕofGXߛv{IX*'9pbsߖO֜;VUw5ȁ\nV}dr)C6s~Ϲ MMWGmɊ<30}b BhУ(3lAlX|ٺMڍNpՆшg͖`P^:>m:X1Ci$ !`?E Gh5$yr%FH !sVXxBSO]:JkO>b=1UT"^l Z|J@]VN='lvttcV6 f)~k5fRkX"(c{׾_?upF*cޮ\bqL6_I&~[u5Nا^8go*U$էsH2uN^Fue.xr.|6jHZa`<ަVO)ͦ{FGkLm;>Xp}^9&I @&Ho@( ?I7MbYL|t"Ud"Si~U҃aye]/ۜ;"r}^Ed"I`-Q׫eYT$PT<15S(`2%VmCH)DJ!thȦRm0Y@pJ%Ll\pGP*Ȏs%.ۜsJCU9 l@B" ܴ#y$M!&BXr/K~GWF"%dEv,[ؼ{w8Pp)\:u$ :"a>g.mD&މ=o~Ͻm~RnϘ)+.m->EWG/D^xtEs}ZfƘ1…z~&@W`'l5DN!z0R#-A=M7ܘLT?1WS30C*==>ӄBrr)#y86BĚ1b ^0&,UD$:lpŚW_]x٩N==>m(O6ďrՋxn;O˚䒱 7]Ѻp`93Gr<^86u5[nL&'! \5b!y!~FJw/-aP?R'pO(+Lږ͗8Q߳.1x0y\{8,$mJZ=xG&)rv(y``&H2x[ffǠHEѶP )!PdJ ¦L:2ym =M}bd0 >T&®W 5;.VN !Q p up8YeHRyk82y J^y,) MLѽ&K2*kn>vbeIvj/ȡv8=F~N_WKdsT: S= _S@V4*Y',yxSssKGKdXE,LnMyٛ?;܁'_#;g _b+kh4!%tJqڷAQ.Y@IcL:` G'<Y ΎͱTI7qc3ɩ)K 8cB"@3CCl*pPIҐ{)iVTUJJU*&Y䲃T&Ẃ`A 5McE\B$vIT,@Wv`\LʵF7l8"WtJR.[ RY%*I":rq;E)TD y"涞jףeӆNY,YpWĒP9,۶&b( g2c7/&uB0]v}~" xGT}RtJmWI&fTg֭[}L:$ klE+'S_xtZSp*PNO S_ #d{uEyj*ruˢ]7c83Oۊeݡp̎s3[HvS3$~th=;M?պ&I̖~>yV;=]۽/S7r'| _(nxzT3t$sjdf:խ=}|3d-_w]qhohZ{Kύ;g4O M6ӹBэ Ķ7cK?>;p1{e k/ް2B)::d5Gybм1ɛ6OƢ#4/湏'H@sBkCT\n:Yd8X vuxJ 2K- ˞+LÙ&xlۯF@Tf/т5Ϝ<8zagѩyR7݉Foc:OjlQ)ȥx($ cU&t6NgR鮶D:Ð|XUr ٿkdH\U̵^OjVDGb~ߋisZDlsViBB>c\Chf'暥MF S_qZ0RP˗gљ\9e ᡑѱ ;514KMWePIiŒe*ɲW!S% *H:Lٕ1WU"^]aيBIdl]QF.QMdIQ$ɲ0.m0ESg[S"T%"lTTEODBEʖe J5=9LtɧYTL a>pLlQ~ِ~;}JYuec+޳9Z@^߄*~nyǎIK>_į}nmmS-8V1J,AZm-5W=G&WoV龖ȑ;xpD0>f[>uTh-rL<[ׯX̐R0tˣ~|謶Frc֖be >=tvS Ƥ5Vk^v}ƅ^ek/\s;VpQ#7rG{iuP>}N?P Y4+NӁRko'VR +Ս;FN<m] Zӱ;hA6*iۺsӴΜ?ӷ;+մT7ht־ַ7FN|Ș}+'~%%(~MVfuUTveֵml/pE+K,ԆKӶUtP2{`]k$ hm6v(ZH9z(-(4΄qV{Q[uk@ bz򶷮UkR cD׮gJ,9ATjv)Mɠ&6 (AcPjҖY 9x $ \EM|0I ^ kѫ yrU@`SN([K`Uks@ r|.05p\WMx K˰ w $aZ$1,M`%rb 3@u}mH|>ii Lh2ܼ}6ݣò}{?_쿘SMl!J@YXP pXmEi@v9 Q BN(&p#.ϱLQqS"^R9!#뗬wQWxNk+)J/s!BrMYJ<^+C[ EO}0b+:Q>'>sZY|[ZS+Պ @:2ܱ{{2@"ћ^kTxKVՂ3-kҦ(TnXl>L7=Ww5ZKG^lDj^V,[9`㎮hmصVf\~cW-ozd̏L{;/™orW%SsE:" IDATP0< "%Do(H>=򅎭 M9w pHF7-ax /KB<̎ %4_-gn2i?eA 6kzLU[ze6l SM>$PLvtf߹XhQ]FjR^G0Y4,h29$(+?L A@=&8L\C0.>VW:Ks$LWė%@ڿO$.ݛyO\4= >0?~l~!f{[CԦh%!wM1WU׵MQ!Qu݆Yf5]PZ(WXP˶׿V&aZH (kOah~Nd # kfe_#N\!/V6_1G >./_0kahY2.k4yPܹッwdص@w,ɛoؘfs:v,5EdYU>Ac,BL*Am-ic"+ٜŅR)P,P;0\ #leܣGEY"g5,i!$( tS'ʡ5 j&[_]QI`έ^ sm3@a#X i@0`X R3E@8uhͦ90| l6K@xdQ;EJ9E l ۼG0AKY.>"Ze]<_5>49Ĉby 2}-Wّ'pêxMkw\s˅SCg?Ou?Jھ& $lΩQTٸfMƼB1w^liD_uXG&kjWV{Vmuu8Z m뮾38^cM4pw*ح+6 jV ]mZ߲qtkcDZ43n2қd֮'y[F<!ዣG-VpɱW.}|Hk)7pbReCӪ|KdlNnxzf>/NW E1z%Ig`/=2?Ku;տMd U;֧ɦ]e {-*x`sbw.4mZQ.& N@ \BLTHaG'/쮲I,e:V>90Ζ?M90\< 6p0Rk 3I Fz)JQ@OWu#_<́+Ź*IeQ]o{adD kV5'ڮPd c~޳T(FlI#9!\u`[t+C}9` U)$l6@+ˍXWÛUZڞ.Vˤ|G#Tٙd#Kۻdw) 0LJ+ rMJ'|~TnlyB "  eZݬ^*px\ysEջ+MGLoכ- O܈njÛ9תy- ^ct882gaIikhBந D?$J9[?ޗU|%l:ۙ9R~?z2[EFO.kCOwfΏ'Snj-op^(Dh.FriU)B+O{x+kzv Р( ƥ )pUP+OؕRɐG([ Z /zT3LcȗBYAD5"b5 ;)^t&*΍-&ɜ:]W5W7$+9ǶSk6A-khtˮ> U<5r$mtvq ùGDž0)+uoQ8 sc ǥ½"\yT'@}zVKUc @ }pp xQױ8f*\xÖ7yq&&pە>B&b[;  Em9q匚,a|{>Zrz~$`5M24mR.%CAh(] &**`l:8Lsٴ ⒬sdQ8瞞IupQ0n-j$Rhؓ3sNvQ[l*"$ N;ͦ$q!rFmk0ȁе"4Sv,Wo3A^*gDt4uzr@UYqBd/jN(q9pY$NZ@E_*M0a32BT_X^x4CeFP\|'>CkTuJe/CVPɧM%㿭/|EFB,P 7_'h{qEΕU׶n::}]2ٰ'1m]4fFÓ5:%_kTC3ry{/|XZ ރ.ּXΡgd-Uvx`vugzo~STMmm86|[o|_8 ;{+/oqH_Q69|sО8>w%K+7DFq\~z,j)(?JnKͶ~h ^E XpTW֐h5`lR๣.zc{ךb1B?OǞ 3OV[o ۶͐B-3%?nO'i87dϝRksp5*9ht؜wvO6{X)P7Ė$+V*,KQ?Khh)!U2>RZO]|Ugc"C  f~7ΡCswxL]ɱ&+4B m).F=9wѶ!TL3}1܄]$Q[SƁSXHӈ ';3/}ɯ~M-񽡠 [[ 86hZ*M-A3zy -8Z 8Ɨ K7JxY 'HU2; ~!u2;mw;<|AO9C_LU /Ζ˰ؑ&6^3AA|8FӽO75˧_y[0fL ]=HZ*ukF¼AE1y.s8kf-gepM3\򞷿 ^}s ~`~]s=ݘNS݃Kobp:h3e?޴c'Mq"j2(St'76؂/Ŏ`,w!8U'> = A% c1qIhGGvQs1X>ׂ=[/ž}gW\e)Ce`pZ+rXSiDVvG,,ia#JgFΑɆÃAiՐE 騲{bɑ^MEuQ539wxOac̷uȷюkidE&h{9+Ga,[/G.SQW10a4- O 2̔wk %&-[qs_Ğ(V#A%H(i.Ʀx90FBGG8L!5 2DXX`$jX0LnXxq%JĩȚ⸮}-;7)sw)ul-p > (۷lnpX`#}`zg&S)I"# eOݦ(e` KDL|Ɋ:E*9B">0ĩ%WI,B@&sB "қCAS>>(Sð_򤎈BrD@ǁ'`U]`et{ /r? "@\wEǫ!*DfOD&vܴyRf .ǝݨMww?yfrʫE-u\/g'F DHb .1-hu4Gi߶Isi]lsL 0}uG6r*970}jCwegG߽tJ# 6922ܻSmcGN<ݗJͲۨltTȜMՀbЫd ^,>*Nyn4ꮳ5L`)7m#junL[;mMUzJL_̦}kfϟ&+Wll\0=F0wu#g>-{PVl虤6~izu[lwZ{Eۮl{uZy:k'=~:]kHb47wH=CO խw}#55v[;23pU7+5cvpɗl]d:*3'o|]k:r.!2;w]q"Ci֜oM5]c9%\FUع+s_ٔjk6hi \%29~6q^/o!MxH5b(jN5]<0k3*nٳY-䏌ͻHj0[ʥ9-=+m85stLN5Rd΁kʣ/lضhD¢(Bp4jM ۨ5J`Zm滦竺SKR$K|K_}e`"K0ԖZK%p*MJ[Tt>LY1ZQQNDIp=R?r{Wl؛ ? ?,}A;tPOUX&օkSe͆G^>:qp&*|{Ϫ/Z?۷ڹGMZzm{zxM[L6OĢ,cZ2M"f흊Ӝ3lx{ņ-R_Zqd*4EYO"<69SYxĥLI }L0JBj\H& U ^\wǟFjpE<ٓvm.Au5VkZם;Cب5kPbkw͖y0hȒHxL.1|K,`GWʖJK> ^kC+C+wrhE߽:S8o[!aAı&woD=pxGx1e=?7wg,j2 ,'Ⱦ咴 ʁ)[zѬ-o*Ba7MU*oͤKn{ᅖ ~R+yȣDY*z'={u1+NP\wM(˶U8:o_˩u "޺$qncܘύ_vM 㳥WsBR?Bwl[ٖȶT%[n!.\3S_`S :ODٜ;?V?p. G#(H6'gBPic/)P$@TIpibL:E5 4?p-XbXB3 G tIEБ_8Rtȣs'Dh=F be;]2q{Aa*sC-d:ԥ ˷u%}mI-ȻLpvDy|]\}olòmE%8-"ucѬtzDPw&yWb/B13@8pEUZլYTAUH*RY\~ 3>O i {\%ƣ0˵E5m{S="o,{2]SEIWc7`S_ ;[8y}[$>Ec23"AVqUVw B{Dyώ|C|gal6GxkuLGrSz啟Č# QN>Ƃ#ڦbsD*s]HI:_'"ZJ\qӖk˝8y|>~|j }G?ǘ'S9V2C91v'J:trꝭug篼mpfd,7\pzhM2gfiaQ?DiVkꖪJfmX+W YIfH'&d-M&ͺΩ}xxۛZFm"PS~Q@WGE|s57kٔa@6X Pvx@Ʈd2!- w]g>kRXp9"}soq3pf7\7\#D;: 8"*c JWD( ܵ\\L׊2®[\*CB1낪dsd"׊JzY?:Et(ڳo! `yfQ{ h5)eew%]in,nw r(pA2wo?}[S}ч>hD`!TAUT)aL}D5IIp̏M\k[%hሖNDCִݦ:0A1@ϩ)`||pD9SϧOa]luu- a0# ̀3p"Ev;䎻nʬۆG{6\ݳjb H]sM5Ep-ñ w<ߣGm<ag^,3L{xn|zn|;1QĀ Ȓbchvrvvr֬չrCK CwxQrN0"ICk֯ߴůP=WHf#")*51x8W:,HvcP;a2=0mt}W%B@ﺿ|߭̕ ;(Zk&S;?i)^xv^JLGB\[ /[xyO8w;yŖ嚁c>=vύkSo硣{|O-6ţ39?+#m=mHk:bR-7nrplx᱓9z^f}d ON4pkzZ1i",’" 5֡FBcD$ME\i^ eMz!}ZͲMDx*QE!^7}0Qe!:\[=Pr/5ݑ|nܨsTn}E&/2Z%`<Ͼ5ŅDU[^oVm' g;zV]`H){̞ػLڊ5 !aTƯ\!6o- }ѹ].=PD*d ϕF" -N$12\?(\R:Gӵ/l=QI=>PRT&+%Pu[քYx,4=KGK%q'ZVB+,m6Lu x8s$tLI Ezw=v}"$ǁcE YVRe" A2g@󀆙`Q}S-MF>GƀAD ;`s G. 0K1a "j-ж& D/:1'\b8$F o{ 8=nUz;69Ta,ڶ/RVh-oj< ԎAݭo-=q55pdw[fjΐ aT7+gČnHtouk>rflM<\) Gu8ۧ (ϟ~;:oVh; '.q%%Z5p'HUtQbPYR^oݙ NLz.m7;FbN̟U'3<{ɬٌφ?L͗FOTa_mݾc%+#Pep)oX<<*\wXXÞGg"ΡfRnB*v|#W+?q}og\P  8{sSg5eSw|v1*098f Y0:ɐ=6K]H(pI]X(/,?33=656_MSDaPv]L(Fox[W˴"2eiw]XKWFkYg ^P_!h,- 9zO߽Z8}Я>s̪!'OO _ԏ?ok4>?So7n~CO`u}+E.=ew6~$wzٱy0KIOfd˾6Y^˵SN'_Qe;ix+< ;?Skzɗ}W xwN: y3qסYyh#֒:bVfv do8-Ú9;˴!(;zǪsR];IQ5g&f2i*DG@s yʘ 3+Ve+JyZ:r2_?Lէhq'LM~g+m^Φo;_1Z&dz+o8h@ՇzƑH uH:Ae6F2a6n?xWJOlXG9<ӣP[O7ŧ3dy P Ț㋘HBV% C" n=wt6.%a3fv2F71,u}cVybHwz>)U{on5bN9ܾP0=L0aqE,ŒG(o7)6ppW% s܏N.3d|)B-IП%%l?_KHW(Sq Ǐ<_kxQ7M<_o,>5\SY~7nFb +Z9kZc3!J"$4,I}?HдMCZ}#r,! LMv+T2f#PtSQ4e۩Km vA"I # T$ @bW3)'Ss[[hz^(qBQy L \H 9T5O-~Dq!R!* ^;e?eQ E!O #$`|c4[ČHrJT1ƄT"CO0_x:Yl~Ϟ8w]U "y쥓c{g ! #@7>>~,/ň]ajXskhD(m30\2&8Qpq6;RVц [kr1syE᧫qın0MAV{^xS}Вp|bאN'Siwf'Qk _Wn}-?)gBro߾gb7]w߼׼t%`Jϼ|68gXyՖ5s2F! '`ؑ7bԄuGi1Wj5ЌէA,kBM&nm=3jh2 DzHRxck}b>7*|S`634bg3\Q"5`xv6 DHT-iZAT98Ss`vb̪'4ƿ><8<18aI#ƉB $BTXFX%* [T j$1& J,LQ@f!c"(fK.풄"B BK۾TӢIH*BU s!D?x{Ӕӕ?gK3_ED nN h.1+ ojW )L~//6@1 JW=q̘Bma ئacoqLS_j[t[^|prabw^7Xk;}s7欞ԕAgcei)LkkU+7=x--)&Ueⅾd*%گ*랱{g~=s&r뫋c j/s?|kM驛ubJcdy? -O.vuH)f dVO9|A IDATӧuǝv/y/W]EtGߌ8OwѺdv׭…fz)(%`,HɅ0B Ie$8~EjPP6a9<s3K^N2Yb&,eNR@/tg|2]^F#c:Ls~eaN\ G|lU Oa6I5Vªmө鉍ũ=ֆԡLb y?8Fbwk'qX{s 㦷$A 7{kQrA^/I NHs2G K2r3V~ YzSʎ>h67^}{{&:SQ45_?ܣG.2cGAiXTF3֫Sqw]QsUG&DRAQ`ER=oب5{^zX̥zvhtqEm$Sتf/MوI6^Ox1I}r/7fA#JxîahVvI}E[젩`i➔MC\ao}́ g?N`"g抹`9}EA .@p/ϩ a@P6 ^>=ZlKW臭z[~#n-_vz;v/m%v=$¦sPt)׼gOwL BFTnfEqX\lb"gd X)%`9 (GawumxyʖO*7 L@nWV J5.RqIǗ ZmERfBĂ擏{h7Ӎ^u=|~7/ MNQc@ =/ "+5fLljNM A5yۖ!,1)0I$3ΙB#7Jsd+M aA_~ IUT8ĸ  .]L*T( mJ"wK88!Ubh\S(0Hb1#u-Y@!$1B ]r݁I2N8`A(gr %M3~0SzS"h&!*&I6D5SB)3& (cPᧈK)'+Ō #DX8Ov}󦷬)أ~KW @09 0`+X$|RSm*x?c qF6R3t0cR.GRU3M,wm?{"Ʀ*pT~SZQ5"M* y 7t,3klخ &wɽbyql!&Jrf:p6^Mۀy_":Қ+[_Ե7ZZ\foa#d"t#]%t=/k0fHSX,7*L]\7}0bgs#[Ga`(j/N2Yd$"S!`B %ǘݳk50a p>%,"8MA In:˶"$BHU$i G (A))jSEMPLs GJ㊪#jr{&+zmss(VjXʥ%XJ&t$\oAA\@Tӹ C@aYםRd(J-337W+I*T!eu]Kc C8$ H8Ob&#TJ+#Uyqm[rpc%1LPI(Fe,$`05jt3$ť_aϏ?YMGDwר3, ylfOl8%S 5ʼnq*P)cIdF{αO]بMN*F6b{Ϸ , ag-]lRh]¬B 嬲ž}כݘ 1muj!ʎڬ'|Mq}{oMgvX?ٌw U?$z.qGm%0UjQY~<)6f[&Y04A[ ia˫}dǜ,Iԭ$[ KXr`2U j;0kku1S4BMK,4*s Ytn0D>vTU'J\of$T(cjL;t{[mb9Ө&wpegT滋t:Lf^[s8 n&aF!vj ;o3kbtcu}' ܘ* 詋M^8۽f96QTٶ箪LMۅSj{hui7"Ju4b9Cwo1ngV[^͕0JgeΜ75b:kNJLdq+KK, fI\OţIr_f𝧎?կ= =G_x!INj_NX,"5ZZ. Y+Q9cݐ {ő7I  ƄuHA0v(D BX(fiN12u;M31LQ1Tռ4fvISrI8嬕nNhZYgmAN䝬ؔ EDQH$| ' dB-;Y_( -Hu-c tܷcH{vvxL7JĠ'&j~1DʎFPPf*R.tdϯ414 8)MЃ؛mt O+7z0S~w#'~;g_:>LW>::uU7V?D?ܓmىyiINe-zJƱЈʹXhհ'y<;=a+(k(Z>sak$EZ& b\.%BQUpGAsyy^?G+4jqf*gt"65(u*+q,|9p+X BIyW||[G@D񇿺L.t{7O=_Lafvz^:FNm~3 |ŘNm2c*"ZN0- EQ5-Mym` 1 D bgDl8qĤ tm;&\`| 1F!B T Td>Pd%TՄR!'ҡxf2'V%/(WRjkӻW7VjQ&qJ)V( X zƌ p TRF1ÈΤFq$8X !ɣxISz31^"p{7 D H&B("cࠨm뚪C 6sv"S0T-RAT{R˫ 8K/[n]_)3TF21 $٦T7P$,I83lEqh`&fɕv`Py?j;HCYߗ D(z0BzhN/le\>~IjPl,}{榯s qNTzODH>^x[fm'cJTTƊ#qGAǬްDmlu< 8fLp,$K]JJ [aI!D1fUU'L IDJ1!)DF4OOXfTUbq! HE#D5:[=>C5[BY)`5NL!a`,9( A#.Vg)Q(YT$ # LL d)ʘFRy\Q%w0(MA$9`)oy1M-nDUCĠmF>_$1"9AK(0dA8EHI1IwsjG8I7n\sbF"׼5ꣿ;>(_Ïz{/ cS ݅` _w?/$ >V.B6L va SQH)A65GHQD$<Б;o?G/N*v-mL> z RX"t^L4EAD)\4@\"X*g~T lc}T0%ouҺfk?ܧϜ]>aZP հi$eLfTͩ8#3VR IDAT3G]rԈX_٤K77?g8uel2\mԲ(OIbP@ع\/54%řW1|Kj<hc3z-~W;8c})WV<7nj3lf,^aS^(rq$n9GKjhfRvvԤѨ/4-D65d2=ƖoXM'w5H&yb9l?ZXOQgwWqpʅm Y\lviŗYzP[,tu vbzv[,/fu67_/ISġ]7s^xown/?{p+/<۫yDO&*(KƊn0D)3LH`vDr*k`t U֓aDHڠsNu !& ^-8czi{+GWO.u7lC#Vg(_D4S2wÄ9PoAHI.)[|yo'jr|ڗo翊18qăKՙ {oyGIJ'/߽|S|5@5 7h7GľoW$@1(p+MHIB @ U[9"Dؕ# Eldru;f $Bh`eXpC7`] .TswRIDCya:z$AZμs4|+7f$);,apd:dmk*@r g Y'&)2m AĴm 0F^[]% q'ߧxFV>H6n[J"e 7a dG|p}?C;8߷dgq5I?t DI4C_G``00L RkLFpzE˿B>.hp]GiǺ.% ^\_˙ª]ݺ$cىTQ-.$B-mg|w}_tfՆZ{u=f#Dm+t9e;u@cmoga/;6lbp5u ~aJibBm:z$nPKHYn#}7 QuZk$^_l46t jޙJ14|WVU m\y|g1;m+ڝbىmQ͕D[87cK|1VtzFw4ꚓ12f> Fղn4L~/R??[d66*N+k}~q34`RG(%G9NTmde9Nu^Ya|5҈Zg?T?W?x+KKkן]<݇JUauCH)yM(DT]՜`лzߵ[-7 =9+:vVSUk*AtVEq4RH8% x,9 M@>_;e T4j*5)|.x\&cN& qnH'W~goG9H৲I[A*A $!G^_,\z2?İDO-rw݈"yjz盏}幧{ϝu~z?s)}.cLD0KxT R-K34{JeIvJ`0A@HRr+Jt}?Jo5A/6ۣie]36YcϿDN?X5,T;s4[?> ˋi2Ĉ:r6PPl0U+LWI=}z=,eou}o]{No)vce]2%!٥%\3#?PR(} c20DOQ(ݎa*wϴ7]8CMQ h,VX4o";b(iT;[KzaX/2,++n@A FP/ӓ'ϗju.@pD^h~h;g6;͂UՈ@_!v̍i3>r"kX-o{1slWplQxFfy @NU>O(ov'ֱ|FqvN1+a6/:wxWrv#'_LLeo>u۵N<G<VP\j؅Նu(`JeIrkz7=|YX\5H$Z1rtE (KR`S6)"ٞtd"-hO,FMԱ"1cRY_wHED^(>:%X y^R^+}cj,n}ˋ#~ʱW:g{_ugbm223k|J*$JB>H4L@Gh iĴ  P[׻s7ۛ3s #:{7c?lV}Nyk:|eqh9_)JsE:YFD1& h8oH׊JtKuIJezaIe  * !JqD"H$%pH)A @ 8K 8YQ(J0 ##r8Gy{K:Zl4gq7޹q5la !;㚦c92Ew4'+xy=\ c{ %!K%y$BP0($~ƅM|?JBc 4GebB *$9W{0F$`!1Q0nnA#ΞU~'"2g(rΟ{^:_g5LP'eqZ2UT@!)ظɶMIӘLr%\JR ȲY0S5UrNL,mv=Z4OpǩWV EV:z"@#;]PgK[j&.$Jjo7vFbQ.H).A<>_>5azՕVi ֶ=Q3ȹy:}t`nx ˬ./ܸj֣wn",lkño ;$46PɝGZK_[s#R4Ds[ yx߿e)>OO`9t~7gc>TʘاZ$JYN҆ c&q,`gy=,̝ID`SoWѭgd9f*|AL3 !@aʩeG$#/P*G6TST]Sսݎif"X-{lU1.x+%b])R |,|;,,wnozxoQO>׽mQo}6&97BwX~CkU_Z]%+} ȾߧئO<^*>3WGܑ{^$~w>rБ& DG>kK'g@x&)BB8H4I%tc?=+lE)XG.S ,HZ'r~@ jTr[\i4{jӘWnlηYQG3( ?vv:KUٞ{4>ykZGNfS.MԼ=鬶n,4:1;[!%[-aq{~!`b{o"5k[jn{0&,N8 Rgueм4rY6)a3o+b󊓷P%{Au$v0 @GnVs.9G5Jr+7m-趴\RV>H4HR13>7w^?D{n2z/ǬDɷ=j.\zsPo*#G-e"w+*fFK0*BM\9U)'9@ϮV_(<s,v~0sx#W_+妑; KS<\/4i|N#nb^+TIҘfRwx8A MvvE;9lVo+JL҉2ݛ!:Xyhn{‰&P8TpC'o竏>sױJIg1$󷟰OzgQ冝%0pMsJTn f<~5v]$nX+xH,={J߼.QxXLU0(BTN/_谒F:UjYnĩoUEH9zK`n0V)9|niVh{(Lh I^v\Xl7sAO$9񢆑F2TȔ$wF!^\&$@ ku~+˯[mݑ$+ߢ ߧ).|n}}hsRl?>AGY6Xj! b>?ߏN @Jba99[$eZH$Q(_o=(׮X)Mcr i?7~_n¡XOF"_|3aj 2A̓\,wdBȉQN͆"KhYxĒKY~λ3d{oV+CYiLA +zml2̢Bw鸵l+uLiJS}%OƑ"x, FrKq ,{a`J{hUkEQ!U&*R则_ $/ً$F ymEӌj$ p>q٤~ꊆ1|)  \*%V0aIBBc7i7jR퍀 sIWV(;TE #=`[>Y!=P7rb{LbosodK<LY*:[z~ȀrVo|+:^Dgqٹjo|u:ԫ9EusnTؿ vGu]dzTh (*zΩ:{C 2 D&B,)Ig)/:ȊI-\Y.+|Q~wH%826+P%+#&$<q)d" B{-ܽ\;|.j-=3ފ??n. ciXIʥYQ0 "CG46:~o莇h84O{q@AJƄ)Y)9DbP,M ܤkK1BJD HFRAAFRyStcDXvcyÚ'}ÌǏtBDtsZ5-Z<ۚAxȔ!1łR9PUJW}1'!%R&x?$dY D"Ȧhm[M\`MնW{"1FKIRjH؎UU4J)cXcБs*cR (H q J1&HL0R2'/]Kjw%]8v.\EMopz=y?4Os !PuTžfuGN/m^E]wE)FRd1N~'.Օxz=)`zUwk~1=Wg0x$wC4"JƋ;k㗮{N>9<3W>\YFة6vz 5* d8L4MHƓh*A_xj%tED9[ҹ;-Bt}R;qV +t ÈgT x{쮨s )h̰(] }y˅{gI$aU^b;f/#/^GWJ2$t^.ްY*j #RH’f~\7hZX]벹ClFy>z)3i1RӨU Wo4sR+w- -k7^sT%1y!{^{ 91v /?pSJd]3xgοXUͯ^>o.8/n{k?o> HIfJP.`"&D7 j?UDRr?c525lX8$Mׂ @Ę ]PX(%Af˒tOdH<h3C$[ lvs쇌ݏ<ߛ}9&ܾP-`HOSnFtp0[c1lRb1IST9 B3/-39@ )wC؊R`< Xd h7gg<ͻO7j-?| RLRX9Z[~Xu3.NYj|Ο{^ޏ- ccVrdQE~CgDFK'O̒FY"p83AF-TW"Clr*0K N.c]B^x2o?>ڮfÿ:rE$.UL U]=of`b4%w- t0}_K W_ʷiYONMk{+/ϝ^ǍęM,렪Yq)3(fйʍЭ,LD937;9Sޗ弭ZzU,L+T$US &iLAmJ>CYHԲhFӛ-u:;T0Kdzk|.p-/];t1 8~_2f=<H!Q%2T2F)F<Ҩؒwk۽PkzFdp|NlvvV0sHhkLJ^*~F ]5N%4g54t$q |4 65 `c&j[u* Séh7FIj_뤿TmTzfd* w92 zTqޣX " ˱HFӟ LC'Ox$IZcÄM,ӈd.^%_~Ch04 ?3v^y[+oFwZ7ckzGubяUU}?t:Om7 q_j֮_@(ZhZKo0ޝw~~eA2쫔&IX3dm[[N;tO?~zg7ή7 ֫Z*aH;W^8c5h㹋+O EQj[~Bt翢V{I1wPV)\P_m Hq6t&c"R4,գRѴJǑH,t rnt63 BN4y"%d*J9bBM8 /0өDEF+Jq'- kgUjhadZ?lieRGf{â"PA劌ndzVrponzw0ȢnEL}Z"4-4K)saL*0sՍ7ZU!C-N>ߔ8VߌAqZ($Qe~"8CV=3ii0uH,0pƓZd0tVPe{mWJp1B\z^X/Z483*i޲w{xr@TɴZ϶, LD^ɟ@cSfk|kd (vc3i<)__Ʋ< Hr3'SiH{?.o7|T攻Ozjqa}>\,!L"l )  gJ5Q, KDA0(%eLH"RJJxs$@H? nR#_~$BJ,a@X0&pB (xv>Txm4(٭I‹$+DjBݍBKv!&rkyno|h8}׻~x_m_v0FX4{ٔf> `΍>W쥴'o\ˈ"Iŋo֭BdύO4c\r7۾5Fy^V^JZCtjEcpi(6p :Q,jUK4K3,a*Zl &Å}`aW_ = jnǮ ȊÆU2FBk~6]T[t#8v J{}RB*G~^Nb},4*S5=1rwXSSUjRaenH$ eL$~pioc) a,8wa,|χ$eqFr%e7BLĝEIݤZ0\a{oA*k+]ib8zY 8uds2 05$-*?5D'O3IETح;1Llv E5*vvIqh8HE ]+ApΉfI* `&C `RQ /dʙ$3T2sRo$iR,L$ֈ*OMgaflTykBh{k~ߘ_)w?ôFgk{V(Zd4 BI?wSn ؃$ DJ|q-V?vRA#V/>j?,]q`f9_.r,~"C3_͂@Ww5ˠ!cIFa`ВiU?y*f"E ,72xDB%"omBF XJ s.J!H,'<{o=L(*.͗6w]NJci9), Tzf})۸vR5Dٟ2H$'_y%1H87$c@:5ge$Ƙ9isa i%{.M%IϘI"X  ZS"0MU]3jʩ&\f`&H &HH25]AX',J ]QT7vq#$ qݍٍ]/ 6Dkۤ}IG|9]/6~đC=c7Z3ir>4RZ:ʧ^HWrWzәLwW0Q5 ݵJ:y罺T'/H/%t۫+yۏئ3{Mp~Ij@DWrKR͗Z(JK׭2Br nYEIV)ֶtwraԛ +HD`iwz;UR7[߾^Tַ0B$S*x6 Y2C2OVP.oj!-aa !E0Ky[mQ))յ?ze-ƽ ,])ɘhg5*ϤQmX6W:$5k3iDmo4I"(HS]d Bbt8 1T-א#TNfViږ4nwtp9vF:NcnNMXAvGԏ+WjIL:K7`\99sue}GRi2ƳSQr 4TH Ln $\J>ocɩNTp *0@ Nӌ(,JihKKYZ9}&B۟yQ‹<ˆat ņ^w{ CޚNzť/=@0 wxW^wky)LiʑA$ 3TA;=O'5%R)&4( Rb*܉'8 ) y=7kTEa$Wt ̼$&4"prLec8B0ĜeRJD1&̕U@h`! pχ8B|_68vΤz}kmzh{]O|;'Kx_3؟`: aV7?3U YjZݻzn}jC7 |BR b I4,zjT-tv=o7'$oc_}{~g:RFug2b\"L7VV\2M(^}ON=o߰%[8sGEZSl%Q4rY|$φj-nnsK%jm_~2 ŵݽ΀vgfմzP4\z5><;0qZ3b\_/h-. IDAT.^餉 /W*n^VJ(f u#Cf櫵4LQ'iR}'ŁMj=Cu(dezHY )=̦(l؞y^\0 Ε52wXE^wbk[9/o9T!PLןyڭn%_fyEVqVdE!Y1T_dR xVTEl3+&K" ϡJqh As-@"Ĕ @di a* #2E@R)%u`1\yXi+{TG$/ӂgٜ2/x8Zk g6'/`jq˿g/zu<2Zq 1H#RIi 4B q4YRYeLVJD@0Pzt4/R.1`0i^PLmBQ;tcjl:cLq5s,- dQkwm@*wGxK/_oW3m<+jE̓gbuiw~Ŗ {4gAUJ8RSOW5wES{#gV+^ʳw;qWNhg(v+ 젱2j zA|+%-=O+w_amel+Sr/ډk/|σؼ؟Xi~?bl2Ү-Zc?v>Gu϶ݝ_[[S,5~L-t4?ͤ>p8҂:_iPٌ3˧kӻnB4՞VoYbm{_m]^s,J-̣htz?-o{zN*O U)Xr%^ژQ/_s@``nܐ漠&MzN'^CtUZnrs6+}\qmf$ {N0N,5iVP/Q=gzVƇ.i2=ZqmMN,w)^|~ϭge=w2Y"tJ8G۔B;w`o2P2=T /eP(fض $4궂־U+] Aw4˚ՊI&֙Ru0lu#$&kZ.,pSgK1ߟj6aKW^+K_թT-⸐ä|(i;DHX[ǭ903oc_K|xynٯ}bc?#?Ѩgi{@P5)̧j@Q#ǖR˞ABe(A BS9 UJ7 i&JI7:W*awm(0J4;oт-%!2"I)a Ę!|F{v? Pt`L)TB :^ ((Ѐ?|W\}K_zꧯN%Bd}>OX x{:t8e\_]o-=_q'*kTduw"SG^e*f5eQ\6JQyThs[WVOB,Ay􅲵 ]N͸eWO b8bf: g!z0}[p_%jxau󯺄ϟYi5uٗꕥ|ڨIuKܳusW?!n`^v 7wDH)U:_;{/^2=k.mGlFÀw꨹.D<q*ɠFų9yPX?WlV 2I._,񬵶{8=]X2EjcH*ҪewWٌg,͆$d*UB]}mo *- 2&37t3ʪU,M,T :erC8am98A qp8629,ZL"ڱ ($^A|[I:7{W["jȠ,Km*8 =}Ɛs}4I独,˂}hUU䝺G=4\̌#KԢ:K-PVR|B%E4ʹDJhU")~99FH 56kPD0@Y31@DYJεҀJkK-1(Ơb%dBhN?|~`m \uk.AR*#,;;? +']G_/F5$.+*Yȼ=S5zDc晐JeqB}{?oΞ<6:+;[u^1X?^u}=<bٴc\'I%ݷ՚٫v+Dz^kyqf[r?n[3_ -Wpi?F[of8rj-Nml%vuߙ"eA}lL8۰N/Un3KF#z eo,nشRCh!JKr 4.?w|χXk.e ;sη^gU}yRJ-D=ƙԈP@(%D@xX̣l4.CJJp$1AYQzH{ڴPPJ0`-0T XkЀR фa2ԠcCژc0҆b1 († Cu@LJҶJ~Q c,Sj@j JId ,1Kt_^w;B_ ::jhP9A5p+\imy+al, ``HP-EN@QUkz=pju.JT kQjvI"ϤAU0Tڭ(J @peZȢyJ1Bf  e3ށ Hӟ!A[u')'h8WIf}>ڭgᅱO~>^- 6}^r)gmN<%IP Dٯڿɟ~;>qBmξJ5O~ƕe|e@󾏼v7:C V:VԹw,c=Tܗ{~ac5Fo$qN8ԧ?ڶMqtG[=s0Aˡ^Fcy]:㹼=\\ݾ)YZ]Σ28omݞpY=wCVځYhvbk±2Y!;DWoСƫ5f1Z6Q2ZNR<ʊPa*÷FA=K-%/ %vƳ#wy|zME-y(P]1`d Wr6tWn@kB,R Eq 4 kAPћ'"elb)ķotk$4 s +J]+_ DsLEſɟV>v">;ߺ7==|;czs{xc?VtM-|Ƒ/N, ܨ9ባEkT|ܙ7Ae BhY+;d9|rPfv]v=kw>vs]*spQ۷.\|(OvohŃb<2F u}5Um,wal<]Z_Sn%/XTj|OIunٮ˨J&oۻ; plCo}t^9I.|$<>e~*Ɩ[:%3V+/ ]CU1( H %J˜reBzݷu7p{69<*/m;"SFn,ͽiϢxqp0;n98e/ FESnonR[jVpk)1"΄I#yBĩBA'KJFr=Qq\t˽7}ɝi~}܄w<P"\;GecD ;tM;XJ_3'>{J1: /|?W_t?dΟ?#:my-qteʤo VUqܟ<!}מ+1XXTksJVFnm5*ZJx/[KO?gG#Zkݼ{nyguЎ|>wzJ`=3WgJk}rv,C( v5, Ss]ԼWE R$s|{Omԝ$Kŵ{P 5ݩd ]+Oaͣ߸kQfzl>>h ܟ].6$FͰިxa{4lʈF+ ]ןLF=Mt$Zi+>ءvPq$y彥AMXn+8`J+O y7l6{t{^"}jWɝf=V'ł9֝f?R\v\ji cJʩCO'g6Zy"- Ac Lt 2jgHBU1JgЬ:FWnnkV%{Ө<70 Nw>EFI yE@Fc;/q9/uƃ~SK!Y w+VG0c: 2t2`R%t  sfJTpͽޮmTjw)uVwn$ZsYg{D߹OT]z5#իI`e ڝ̊K]s eniUmÕ'u^n؜E27􁓛]_׷ f`xyf1ض ZC* !",)81`g2yV䠄C4!eWFQo$҄QF1!Z= IDATl߳!`6mw;AS..K1.<,(bc F-wk~!CyεZ뺖ۖ aY!cO.wՋ zA&,`gbk^]9{^MJΏ]Z)0H)eJmK%0t )A%҆2RkT< ul˳cZòlhjQ%JLl1*/D*ɨ'Q^oUBaJ(LlR2Fya kк5?` xRץ2ڴ:s] 2;>@~/<*S!X"De'Bv-J,8JOyZ9=ǛNg%Z~`t[ۛ׮\ܸyl2)dB0}=N+ȫصPGKpS#Rq) 8ypVq"83R TL^X &l%wF:=ں+lp|Nomeoݸ1%i]}sW6:;[;{xrɍfU{=i~!OI8+ɨ9XuXZU>Iכ^˄t4mZG Qm4*+,/h\;}"E !z6|^TہN0>`Vm \dalb[l,>S- ۝άy*>mg::5NWiNfi+Jy2jWi^"(1& !x:UG2-N.gq3^uwJǶm(,jPk:+}аHXCaĊcL8ƸTREFێJdT1QѸeoP+)Z;^c1#B5``eDQ1*.Rjg40]2&yVZMʬD"ˣl(lߑv`JbX|S+|b?,߰SnJ,T`(C,8wfyYk 4O}8S_g$ɏNq!8/˜n?Pk2 %|ϷaJ9 l clQ(*@( ^ʲR) 1 !R u1h BF Z1J\ lDQi  mz6 \ |# LҢHѐ%%`p(fC , Q 9urRa /̹0d$i0j@%:sz4ݥ0Ƙh`@ kUd# PuzSHAlj!TK(!4^Dtz\UJj){b'YR m4B+6()xQdn@,XiabbaSdYNȒ A83kE/jeI\~]__q"'a o>Oએg/lRXKf(Ċ)EiIdJh{n^&sU^緿{?V_Igú|}ٚ'.7Λo vuoD |b^&rt8;qq"Qw4 &;i ;V=-Q~x%tQPJSQIM]wz}MAbS\6]5FW1.E.RF^}DI<\G1b:^]G\ka*NG'lx-p9P<w4E n-2o;|c+WC$v{©A!Qĭbˋ,jVXXGtw'YD8"Y@* 'ܲ4zեyqW*WNtج0a`O#R:L9jTFW^hK3^p[&#O'fmX[uxc߳>~t$"/*W{5d2K}?h j'pbb)zڬjG0SNam2F&Q6>ZZn ܽ\ׯxxpl6N\JKO'+kp̬o0nO={pu<ݿ5 zLj$4 37D%&G?n|p _ՃcoXoRiylARܱ`bcRnE"2(q`#o?o#h[?# X%5"ER2أcm l@H`}u :GG"y)80F=F")%(ڤZ Jx?FQJ-0jaPfW_ ]-q'32f3ml@!ư%%B K5`@)y CJ=$ B@ }LOP|ZP Ƣ㙔FcHOqwn.#?ǣ΋7^?ŭ/"N䉓*l8տ]߱7JlTKcs?pn%xkA糣}IҲWY՛b]זϴ܌ Cyh(ˣīJx;gb݃KgVRngXd4 Vyn|Փ+;wgυdQTŠF!v/׉TktQKۓ p! u&P1`^H!vo|>-V앛ݺbi0HZe2ֆGsWOh΢ta;N8v|"']'nUimy4yZZc8lrT~<*ã43 2IkftTkzk43/ jhO{N C'6 8Mm`se$)J.!X`4(ٛ&Bj(sT qD\s)KAeVJWIBH9V"S't.qpʱKdo*\(rϳܲh flZJC%דr3q)bίhZw(ӖM%Qqj?&bc*X,F[뫃f?uVluWFO4_̓3_}{Ϯȅcv9FBHܥ酾'!y'&)2`VyRR)]ϧ)7F Fu(B FQ0Z6 PZB1cL4oM1&j;,ש(f ]u[puWZDm itkN*mv$Լ(1J(|۶,HJĩ_<=p4K\II`2BtYjcT4(*;*HiG/M2i Jf(Y2!A]1 DPx'Qٶ}\ڹ\*BRZJic6Fz4ycQPh9߽ b :WzO֣n;H`[|{o~"W7_) '7s,I&+wn,fӯ^~ķ|ӿMsKgvBrMIص*#lWDd^!NƱۨy=:g9`op O.U({~gWj04kVXoU|b/Th-l^HUcVug& 9 x j-7Oi?+NoWҙ_~9{O;R{?qeŽE-xsO~{.~hRL^(hd%HeiSۉ$bQǪժ: -%L(I.m(Bk6b^ղ$+#5H%R@5BABi@`h2F#ز0"0UVRD.,euw$\D+cL^@BX軚%y= ݕZiKYQJY(4Wy^ouH)dł {ę;;H,`%||F϶TJQd@_aaKv%@s!Ҡy)EY"!vΚjqZhBP2BRj20` ໶h^/$e{vs"#a!Y )?{txwUT]@Tm뷞?G׻s;B|wsCx~`{Atv, |tH2؏طdۿ[}e8~(ٟKoؽZ^ah锱14<dR'A18 Yfc~-J;O9ta2 @̴LLd>RIe$ETv*L EI @ 0yz:7{r9;4vڵzkoO@PB9M7K .Z8JyQf*y^JLei8H*3d)6)zG}I*"լ\RUkAwd2TWWW֢7 ŏ޿ŵW[{eǭ1 x,O<ܷoNíofd[ ^o9_n%F[%zϝ8+Hs.ZcL` eV-ڍFݯfI@I !\(J. Cc`YJi ј0ƥˆ"D&cLSK Zi%$xKkP)1c"8ǀ"ԉ6vQ2F( $̂h0 'Y'iy0t< 0g,00(J0 Ƴ b!tlx>LJ48 m\tz G[\BiZ!2/EVHXdʰ֚S!1N\kd3(F)!;&(U%7 lD0MRŹTJk%R`U]< p2IhiKOu0B!L("aLJJM`Kg<@;߶^?#yL)ϊӧ-papvwh'ANsE5ňf9׼/ s ߍcrɚ\Yk>_|U/iS[;gFwpt&%ymSn٧6|~d8..kom1r8 WAOos+I8/fuW>uZon=Tv^޻|e]F3Ӱ`3פGܳMJ07~կ {S|wÚFu뷰b.w7on?O\+=֪^\X.1$t. r+ ujnǃ45A,IYN6[Nm<97Ng-<}^ՕU@ZQ1ײ^zͷߍ.)3TBt~u0Irv 7o>0zaO>w?6XMٴq;-V':\F^9#Z*C_'p&ӳ'`ebRcv쵪,nxI!j<>(#DH^Μ9`)T40iNUh(2*NIrQyweiŖA,˖Lš Bhi̶-QUN4l[qܨz;9uM3,Ӵpb4 FEv6̴l7~ɽ.Go'[? .#Hc m<_xmhuj3?+|g^|ԡٍ/ƹ f҇^eTWj}/a_ ^Z-SV1ڕr!דk '% ׶3ASAZ'{o{[GuQ%v뮫\"&G_#_p5veIo`ε zk|#|.߸zi!>OJjʣS.eŠHb ǣˆ`$@]JH hRO< d&t2 Y$qqYfi2yB,((4K'AN'`6t:Ù.!64H$bT*Khg{t5!é4 p T!ĄhDc%\"Ȅ( \H^JrbkDy.Bj#jJ-ӞXSD#0|N IDATLȴ$SXƳZc hIW{\:t4.L z>Z8x4ii{S?|fYj/U5sìŸ|饚<ڶ.s]ozϋ ~Ji%Cםq*yPJyԪ;%EU1z(4H$ÔItJ&i^2^w1ai ΕJQc矼{Fw7<ׄQ^HJI,3NR+())Х~0EYHYuEZ"K@Suju/I HxnA8>ɵ٬٨GCBAb: VA8?qqT=|L CtqsPQfza~S?}w~럵;Z%н__݌/_\?qዿ󅊿xn7NYx z񕻯Vd!ǃ=ok[׭?rS ،Ԥ!m 0H!JIɣ(R@rYHИh0"D,EӢHF&c`r4ȥܶmJi.4R$( 1 ی1̈ˆ2ĀarBFXJNB*WLQ^6ֆes^&IIQa%q<,`d8CxO͊N ~㝇_>|e1V3/ ޸׬h8+ ?FA VvbmU֣[w^-wbݮ0-k9m7?s|&Éf*†CO"gIX&9'B *I={S|̼?jLoo $K1׮WK/+ߺqT(Fp鷾`̅sAO.uηʼd!͌\u69/(§. $kJi//Du۽ޣIWuKF0.u M r}kU^Yk(ʒW:W|F9ӬU .,wnb`mʕDa(*E2P\Yag,`S(vv#J0Ӆ_5ɅQ˅K+V.:h5g^}><|K6ŏO0WO2 /ԏ׮=ē?5k/[GL}__Oy'2cKϕկ}[+'\+G(٫v.ƨU};|gpq~}CpgW7>U]s, *1`6:Os=>w{9>ڛv3e]RΟ m?N֨TkBWąъvM]LtY+J\Y~Jqzoogq\i gsbnͨzq[++JbZA<2LhfBbjRάȊ TXg B+!$ň&yA)K)AhJzY9h5]DYRp]* 0YX|՞wd0amَoU6MprЙ}x~}eҟ/Cp/h)ޕkHFa^'oPu^xQ_z֨Z54ҕ/$MseНzE,?JrD~WZ1VJ)}ˤ|0RhД" 0IJ&TRIR+!%" M2Lô\4 55@FQJ R c4(!c(K$5R %J e)FZk!11]H$^S.4\j 4 ˱FmڮT4MLXR+Y ǭ%fT{l0f umstPFqM1}󵷲x(ZF@ *BJFi$kmY)J:&# <-$WXI^u,:WyS%Xs(-RQhQh-fHp1PAcϱV{y,K Jj?W4Q7+ӧ';{kOi頾/i l9ϵ{?#>> p?faΑؕť8bSY[X1x`|ο 8. g'k܏~'FO/O( G=Xy(D]},x&a^m~4̂b[jwÃIvy}EWgaLJdgG7pt4yM,]/fȲgOh.s,XLɍ;yFzx*bF+J-:9-exw4]8'5w;hUݩÐBʖYcdR -GҮYYkT+Y2:LqV-ogA zUw2I}oqddV(tjeVq6߶yF"LsmTN_QmEZ02Y0Fv' LA٬p-phUۮEHiJ-guӳ* Z ި7[J^.ηz-F0-1l:xm6-lW2}[qXz)8Ȱy71Tk͵ɤӨԚW$S-ҫfE&"jnLO.'CMYKP{v~ZS"icE2-dmNve ܫV\QT9sޥ5a?yx$PX]VY<|wq!a_>; kg Fwk~OlcO~/e׿YSFkעQ ̥B !D)ASeKεPRjRHDx)J^̎$!cL(h4`5400`B# c(2 RkD 5`^YVRhiJKp.x(ZcYFKaBHiJ#<58JevPLF4-pմ<ޥ^+v6̵ZF5@k_KU1HiBFZ_fYŕD*}<1bRb""+ԄaۢmbkͺUJ9/5\۠Y֬7+SKmwa@VZj-V!-e B[-qt B΄@<)&uӲމ6hT&;?l~B̓ [5ӟK>TI1c9j1LJy֛߬n2}jj`ǯMS teyhONwoksDo7޾& I1-R02rݠ  sݣ#S1gUƴ Yangqҝ\c9SzQbuLȩ%'34*]ۛhm0*a^^Z}^g~;|l:<ٝåSyY: l?a^˒qi{Zm 19-\iՕe$ dI^he0nQrQ'/K0ȸ$Y^=Ѭ.H2`|{q1sp'%CZY:Ӫ\Ho6Vzu<՛`JK="p+9O<ܚQǔDi&)0J ӯ,/W;7m.تك8Hz8.~Cg={C}xxU5VMur}sn<~{wUriBrA/mi8ɨʚQFQ!D4e0Jp[ifDՅ[N_vCck/:KfXi1SХ ͺA/K,Ms-QF\F%tmbXňJլ7NJ:yjU1ŕ?P1gYphh`@ o'X47&80 ) LP| PJs)E`5pLFL$ ,b@?ZR00J8GqȏǫS\ Fъ >fn f{!(so*yK;>nQfiA6_Cʬ#F@P3`8/ A(R:Q|a O}oM~sG iÃq>Sή=?}/ޗEř|pie(# rUwY' <2\+~X^VƉ#s(Dn͝mlie:}jmwoWFU5 F7ߩyz#Z~HMZk-E$ Ž0TeA$Bi: "A`,@#=~Kr!18FKH eKcBcҵi{.LIa9%+@PiQP!& "lSV(H*Y@YH<k;@a8H׿ >%I6=[0:^;"xCHL@"BD X!pВj X+#AtS1Gѱ0rl+^#`!oIh4wg)߸ɞNffe)ċqd whiʛ/]TJHA  R$H1Qwy/~ý[[nݨ6UT5=z?|6$2bUr ӪS]}q0+,N%us%j4`V"tԛ7_w`Tii:$V`Xe&r"r~:< rҩv-azFra˫)8|Y]r"NIⅪ$;o뭋O=D9\gq󨈧pEMPQ~$V&ͺE3ߚ:9˝7sGjZ [ _t,8K.;\wJԓd IDATpױF hT3!1M`[AMB)Jj`BBaTw盔`ԠE1F)!Xe҅19cc"i „PD2)=eZ#U̵Wj]iܻDJ Z 2!M&APara3R+#$pL@HT1تֲBDQ:E23 c,J9/^ !Qꭺ&$ +jagF\F%/\k+gw^[듽7zaVJJuN,T\وȫ\85ƂK ڲ|˯nO˿[}[so4~7^iPoΆl̷vkjqnٝ' z~PDzV]^JWo;_|A7p1Yb2?puy cCϵ[Ҋ߫^o͎\~{o֯z`Q^C d+τG"4Q˔HiV.qJHγ;wq_=Ջ/Jff䩚ۨ[VZf[/?{a{w+kӝ?% ר-t4wtn: 05}m]R%M$aIM+ + (0YkFYdR|&2/ݪSk˻Y5H*&9Gp+qK/&PRcjD8Սz+ܬ=$%4:+w145ּ.vmI+ԜkɲUlNȱ*p8%0+O2;<ò=~8-]72 ]ƂEq{k`()J8}8 q~3qdYre0w:68UJ:zi&zXrht~$mrǮT6zɜ V&yTI#5PEQfb\kO_xô4 bh*k,1\خAMXTLtaY&(MҔ&^_[f)H0L=8I8 =9ȋܭU8 &%A'7:r,)$8Ad 3ShWN|ׄH"f|c_?w;UBeo7i1b5VWVU`A3A0v0 眀:nfrQFE^ʒ[bÜdiZYh!@khʼ1AAjFa%%>>_ SJBf%DVB"JcRZkM 1ŀ/QP)iZ!XjgR @BiEFTh Bp/aZab f8{odiOܳ*k뽧GAvC mA 6H4H=]]kVUfVy˻>?d?@u_Ar_:{cƸ([օ5%ƪqiۃI&O3Z k1X@t!epSCH PE㋳9X/oZ"1JjשּׂJl2%`BatVK"Ȏ&y9.DDȅ*#\sjr#HY Ku, ?'GwCT.'뵕b;}}ڛl• _er4R,M\K+,֐HSgn?i6Wl4)ʪ{<&HcT糁˫RSbNk]ya9ru>ZY%=FA~tô^k #$/D>>yj{>8xGxn4ןY!4py lGY--D  gE.Iz(cK+.̒=L禜g׋]^D%Pkצm-C̟x_~k[fWjLg!sIҨ"+UV+zdʋBERTX#RyV 0jY`A9؂&!)V^XR.j5 {qZ@U(M #bV#Lc5`4UD}L`D QBFy qʈV]'b'n5IAnjV{Y`. z%+_orvj/OeXFc%5Y]iWjA4X4F^Zjd k1$.sneDSB,8/R@Z.sZj(R-s+,BthVvGYI!5Kr̭EOA?9G??Ί\~j57o{e{Nb^TGGk+otTJxgTvجap϶.U>:l.^޶TpGi?LV_>7.&F3nݸ|xTKvy(+TJ :|`pzpm}g_ .j/qOR٭yQyئӵKF{~wAF܆,Qᓽ˞z~s][=krtir6OlUVVҳq#. rQBlE|d|]EXǭ9gg˝TZ-ZZX"Ҩ!Ri:$QX:+{4G00GXLE\m^Y_m7%iV9dBRLb 0dѵ+DyifIʥI r P24iCw0)f椄YRlqY˗=`Yt3rF}i\^[0v;Jx8B v–X-6yZ2 uš%t%276o:!R|(F=eHlM1OҼT3ksQJy2gw^8yZtʙL'3(pjTid^Jx\IR:͒ `UgխQ᳙\}/<+k탿_?_?l>J]+RU:魐_fl)y/Ӱɟ.j;d;]%T)?^]j-OxTwo~JyuP"%`?iw3aˋm/lm.t*ٯq7n\;qX(V;٥͵rk4w^o}mW^ݼlˋ-/ O whTAxD >*/?DJ8~Pj sW^, /4^yp:N(]~nV`dgpvҒ+ Ͽ%m݇ea (ؓqQin?;<wtEӟ}{p{;#N)sUZk]Ṳjq`k뛷Ofݩ:4ILKGk'O0CV2S a@Hi$(66r;B$yt8h!9XڹFW_ye7iǓJeF'B+ժy)H䀌r՜,,NH<9΁!KZh{éݩS2b9 #bw2ҨYw55ihi3g`29׾~;x<>9OA^mU+#sZVH߾{[U*F[/?wɊ[p !壏GYk5 e<`3_|+~yVfѸi9KfOf_`U3J1ܹX{Ϳz>!~w>_/}et?w}?y?Pd;/;//OZ+jHHݹ@eEi$սkOt5b+չOf/zI#/c7\K$%ÁՍxN.{`wӤa! {)Og~'˫^]y~kZ^%ө\q"Ӄdqy+EXR#Kj+k;kɇޓNP?)nte_~e˗/_`ƅ '>^mZy:ySCXLb[ں9ƋhLXQ}wNS ?sG_hG[Zj=g*^Xܟ&y^ɆSt(i%B*/m:L#3!e.wNt=i5jwa23HbFgH SOnhQ#.~1in{dPLKVii*r]- q3lklƟ lLL.Fi՛@:t M`ƄcңZKQm-LyPV(kͭϬn  T6) 7D$鼘e^8E\j/SOg/-~/'·[YhKNFF5a!T 0w+z$Yڸ$GnJXz9ԽbMAc3u||*u^bFAP^hAqa™>AJseX+. 3ocR e1c1rRdspL/a $ZFԀhXWhKV 0sܘmpl\4@Oᑘq-w_7? 0xڛ/X S,`ZL.\H öПA[Z6ea* #ȥ^`dr=MB0@T**4uz6iiZ Nܢ,D Љ#H\0/$*dcfg{|?kTވT}o~|_5>x㭭[i{Vl2}R{}QY|`~w:awsȯhY9)'9KM^=Si>I_Hy2\[[83\%bC}I=Nm͎hԆB "X oqZ}|I>fs^̇OWs`cBÝfˢxeGsmÇV;/FՅ`vsj*8YxiSDf`64ϋ|qwT>ヌc?VYf.cKR;}*j NF0Uj)`>YnU{~#p8ϑͧ")Fјo^ZMe1IDb }+K7Q, )v:Lxq%hE$'X˭k5Keq$YZsOrX-t4`@ϦSf80 Z+G>rR \awj"JKѭ,c䥵V;đ2cYIiԨ`c9g!BX[%M:(؂(K00`qBgVfaR`Z;% IDAT ˥PFBHQJsTic ,ƀ9bO1%G/wG~o {WO{Gg"|k ,Jm݁ӳ+ K(o5K??u?yw )ed|ueadE;gP {fӨ~C}U6s #>2Q3.vS ʝ"70.F~/|P%SϳY`5Ac1QaTlX:@y˼"rM\?||ZhƯcY'5FBd ,ij~`guq} 6ߺ!rY]==tEj{t8^Hȴ67gӝGGݓ[rGW>+Y: Z6iCՖ?xJgu kg{pm2 3e2S())eBV6V9Äd2`Qb\4!$2h&`qjTJh-41j_ `a%,\B #+ZFY+B/pN,;KR(c:cD_di0D(1{љ!BpW[!+#,5ڵW׿2=5RjS|c TY0#LC1!B(l"؀,2Z0@(Kd:#+2(3)EQeT*R NygeYD]VSdF`TiV;,B΋RhJ+c-1k1F/Xj4Wׯ}ǿk_$ԿOԗ6Nщ*+/mUf pv|x\_|ո/3~6b]yXmo9Hk!Ҋd:|i3t7aԩ[x%4!/ɟwx:4v"KkW|o|D ga_'?}G8 66VZ'tʳ'QĚEcsrphjwKu5%n\9=a\㕅Zno/on8NFk4jNjՍg@^ν l8MEta8|p6x!QbQOԂʕh>HJo7VM}C~9|Hd=YkR\S̑Os}km*=;„a7bVWڣh ĩ; \H<ɡD̏}[R`Hמo~U*Ǧ nJ=ߛ͹@=OĥÝ>?7Ko/[[(K$_ i&'Ј`6A#տ¿NrD?=x7ǙFR;'`JrK;YgTi30Rծo+ r -,7)!Yj\'swW(4(}zql|㐢y1$v+fXʬ^^~|4-\S"Llj.t"㫯O}LF'*P, eay6+Dfhn(RBaV#s[[] ϥЭz %Ç``楐U5bmA!8 0Nu'a5˓(t>+֕8jh0_tUErҨ`]6Z;Հ a6N]m r$Bzʓ4I') ŕz<ϼq")52"ylYV-FHmM౅vZl&p\w>IWg? _kT9FRuo5.ZB3H{lp~6J|V_^;=ڼVĞO~g:|=9皏>v~@R)u<*)Fa D0 TI]J(PVX Fe`kEF)Mѧ)]%yL(&( 3*/c 1XkZ!0PJ^)khb  % zjD4R0"Hak eXkZk^z~ a/=0ApȞbG;W}9y\/:׌EYeBR* ,VXzF co'RX+R d.D)J (,Җ; Rb=AD&0.բLJ b`7\)k(!Ap9Å`,B`aSJ0Ƙ a6d~ㅇy|tO|x痾lM#Avpp9~z[ K$~织_~╗_Yy#O@*ް"v__;Nyaֹ1c?k7} ^6ˢNOG򴵾tq//nS#]˵56*wz+eoQdɴϵq1 zV%0( j{,%ȺC ]Gpsx>z֥7?jGJfÏi|Beie5v\>~ΛŖpz̬[/ ~ЧI鮴bQrv>-EIv/+֮l)W:jW:7BF-/J{D+W%UrzwVn!Ueh>4ilVn>2H݃6T4VL^^t6iJQjL}]o5{RJh{פ`uJۙDk9XXʹ*)#̺IAtEkRhjgI:lOi^y ;X 8'o\u}'GYFf#Pw©^YO"rTF=pkeX `pޗi 6Qdej!7ء`M*5O"PxUWw=+s#Z.d^]..-޺B=kIU)L6bl\BY/_^~[빘,:>wD!KZ9kU kzW$ {8ߪ,y}SKcߛWY4P[:' GQny1sgmy<ޝQ kWчQ#es qt'ŐڋUҿB `~>Z{Ha7:K{՘q{kSϕ~_wQÍkHdUY $IQu6W/_^;nw2z389_h~~}hngq)t>NdPׯmJKx:>+gEk3I}qELORy/~+_ܺ<}WƋz &:Z+rMӼiQh %jX|zt?{TVQ2O|"76lwgiuq?WYwص0yppWfxSFv'EVIԐL2)2Wbʐn>qLZwL !H97Jb &$)Rku@)s9ub:UEE!Lc ㈵@0 00N Ah- 2Ն0JmE 3BZJ8BdcDPQ0AÈK-FE0&ƍ")(%jz.&RJ!baBQ5xkuoXc5Lk W~=u,ʒ0q_T 0(1% 8gRjU Kp8.3D]sB|_˒"R m0JРaYأs -YPHLz^c%]8aZ}bic60X!JZѠ""mt()cHbL%6qgǍ d1ED icJY(K JPN5 ckjc,Do]EfFH)`>%BRX?Ä#!,,AX, s86lWCRsz 8"rWjaSf0`c3eZRD<ܡY+A*mV yaB)@)rBI),Z+BOܿMoy;Go|am:s\Ƈ$GoVW'j6&v%"ҷw_p~3f6O͘'tCebnK׼NSs]n nlH( !p,+r8qj]5y>98{so%<^׿ F-> QMgZ8[EQjGAInMUtwNN[lϜ>X_)hKq30QUϵD|?:+XDQMSI7bsS(74g;p0Zk.yZkn~/vwU!h8rhYGi8E(yɵR]9bK[H 'jcE IDAT+"GfVj^xyu NiR$U`Iw0vm?>;~jVţI?=1덟R3NreZr: #00xPxFjN yA"d^i;%bR\$iFSAIZj( b$T-j(2k B``lf,ie&#9B!8~0ZiQ`4BT u<=LƄ3PYL)1cFJƔ Ri-FC*u |FFi1~OS(`m;A`ae|Ʃ "e8#@ܿH|mܯ^&mK&OGlMQƓ3Rlaf*s4B)^VJF8ǔ$f1bBK Jlc1F AuGk(זDjzb9GL=b]z1}~JDi,gPv^A3ǝ$Ok7W<~?'wprVmc1oP.jl&XD[k~h\fAaۀԔ%{;)n:^cgy?(Z*:pj}oK`p~<y4`]^ޚS9)-\Fn+W6R&3<FΞL>~#&Q}φQG-OIDtM|ltԼuuw?Ht!Ù6XC*//j5v<%vT:%(:6PY|1 aqܨ8B!`;l}ePwgު5lc,@Εt8:^$6ֹ%$Z*1뛸^vnwxiߦ+u?ZOr"\d6 "cJFiX.ƀ *Řq}o03?b}gI<V&%ZJ"VV7 eq,%1 5b+U֕Egƶ<8Z|{/ҸXL:p8 $(\_\P#Mp1j7n-/KH/9߲\F,|wG ??Zm?Zݻ"Oq1;:>XjgoO/Gk˥n*7=}:j:'~bi_/ML@ϰ bx6T^;x$tztq:86ׄqF;ͿѻO>Jn8Gݺq1L }mcQ[/Nʕ۾@׮H( fఋq$+WLQg{W4;=9xXΪUuh:T#Wa甘>@ 6H2J̶-Th)J94Pƌ &r 2PB0Ơ 1B1d`ah3N0€,FsKdm;se͵zh+\h.8*$Cw9 0HpZ]"k  7„Kle6р)!B9D.6׮QM Èa#eK1Ar@Fit,;K"K "UhPt%QTrY6l2\'SQ*`$1@1e2J1!Zض*M󼐩HQe4" @(D.gBښ_>62>A6*}/>GZ6$jx=N;qjmqO;"&z:w77<ߕܲ =ztq9Sa!QaқwfDϢJy`VMxVɉ}NxHR:|V}qN횫 Rol/"`J^i~ZӣA@ԓ4(/^]7_L߯]yr0Ɩ-:vp齍׿~YI@SAf:>C=[i7!YPlP cǣ`&kr7/џn/7E*kk͵"5N{RR'tAB%\BMu-FQ^" 9?R!T*^ltd{K}nt~>m5Q\HiLr8DIRyy>\ؕƋTlɗO&(WrmA꓃%vl;й`y x1͢U{qF  A[l<3a9H)FfTFik9NF3Gg{G"ɱc͔6GnrV.p^!a*1B%KE6b0aCq59lol>2_LGnݺ9y~pkf\//GQ!.5vB_2R%AEt/m)Lukb(%ܦ\*F (\lq'g,rfQP`ӖP? Ss šRܖYaQh%(@0)0c% K "4ЈJ$HL#Dhca$%}=(&sj#79,f^8c`"KB^\Pc03h%RkYR ŸvQzp t.ȦBDd +\\^@&r (0 sX?1" ^~1BTLli#@F MY@`8g1pD&Ҹ hItxH86zƥg\O~nz#1,_Tlls0¹}kRn+x/hVeת$~[TBqp~f9qmkmCx,f7NxxpTXW\VwLw"&}o믮~PgvW~y HNY/W\fb65"޺ɝQx04՟gi5M ;VJbb{2/dQ`sSS B]FD9LaDDGޥ_yVhުgQ4ƣ||oVCr<+ڕ81:\R^Z?K'~Y#\rdd!9{QR;XZ'O&x歧^Q" yE5yb#YJ˕OO+>0Yv BW.ΟfÃzx\a'p:Kl7JVͅH@i&qLœ31/G'FZ^+?߱U< (JFޭWw9=k/?WV}i4P2 F1G=O+t8~4Nzq8OH$PTYetgm)3zܙPcL3 '8pmLW+E]]__J4tWwOr#{֨MjMOV-;,I Keէ׮_չAS=NvV[2ut3Ur&Ō縊FAڈhr;8m8@-^]98ʌ63)L$6Xs҅\3)ARg*Emyٓ{2f}8AQ4kY4{׸˫k'G BY:/%٣$aD;N;vj&;vpZw,^(+AO.g䜝:ƨB!\bLh!,0" eT,:ԶlYqDu-NJ2VjqPH p,n0&c5`4RRb% , FB(c2YeiVBH RBMUWDKAM Y#maL&!"`Q(%B(%YPi "/6evu +}63}oF"FȘBȲosF,rf9[t"!Z/&Rh-a @(6FH56-B  APriB(Řb!V*ODV2# `0B  (22( Uo {a:f?f}v1A&LJϣD4lx6qQD*7.à#Q0Mv؞JC.;hތesDvݕ+7*t4>?޼9,NugWgoekpg=BZ.LJOgduɴ#66~Jmŷ;׸o(Zr]b'Q1WH(tYͭ|QͳY,K}E+$h AiC*>V:AJ̔!AI(3yl:M"Q;pyd < gm3FUUBkU(NIJXfZXDj`ToQgڸ 06wIs4YpZQ#zc~.Fo &ի{G c4SNӬC{s^|c?!G/fR.X<b$-uQH 3 -T$QlA-ǡ U9f$ Y,HILRE4cQ@bvBD ZB@ܪE)e@/: tZi#`"FF# ,l;2TSl@9S&w< \l,wlF#bP>1FBYHcB:qei FEQȅgdB0G1׵T@tlCIX)Bh)NrP,rT6'/޽\דի8Kn\+[~ї:,fߺwtu{620oOK 7*Jeq=~nL \YN;ywl(~sXrr(^[VHr#h6eͲ,wFnq #9_ 5;Bf+Ou:6,2 ;.k (GI]}|oyi)SsZW>P`)/ I;>k-~ݛEq[Yg/vn6-(ɀ~gzZ}퍭/TX Vi>.֪tt8^m}qpbĢ}$ SIRBhZ;;~mW "^:9y9,ͦ'Ln~%?y|*(eeQnv671UI46'RCqóӝ[vwQnX ~a/cT<);C\^ڏOŌZ) ^,Z)fHRdzot(Rdl> R37FhI9]`X%T%Ю1^ 注{zFkr[ QFXh-  :¨!-bwa &Bc0*04VB-^g"ƴ.^PkRh 2/ %`p4\(/1ZfZ=6zZ ~X@ (Z8\g't"!_V懓b 4TX6WXPEqt2(^l4]@e1bTE+MD+YAb>%E] mB0[;(8 yčzk+NqmҮhU.?[o4=8]rv岗?ƄhJV^kɝUZI߻s6L4gx6/sDeN8%s/ℂu8vwT*W*dqOa,~oʕa/##A2Ԛ ޚ XJ zÓg7_}kUI7VO¾L^Z+;Z&I@1J[} t'H^~v4^]n"/Lzm^! QITBW{՛w?_><;{JX'Ȳ pI0fN-ě'}LFg冭Q`2q Q  mH7BrJl2G)6 QU˵  0"@-pbc@a BeB`*r"U4e E<1"^V+@( Ahm QpkH+5@/h"MXDic^^ N< 3hVe7J^x PE2 6",MRK`@YAZI,* $"H/[@(#-'A(xQbm/@2/`~m.Q:4pA q,*Pq:3L0!2($ɟ WګSSOyZF8茰e|unyI燝O|(-.aΒʛ^rf:UJ4$ ޽;onpi0ݸht/mhlVJfI!=t,EIO4Iξw:d;JO+ݍ0p4Pҁ 0 #qy}-Jyzi %BJ.j8^x.d?X]gk}7 #2>yrx:OtIj+ Fs 08y .6LrH_{ *mb]ia;3M:>st$(0"۶ƹȢqˎK˓pv֛f)q,ZͥLv^:I =%,tONHr0 )6oKjjCp*382 @6"ө´yˍe#,i8T<~"2)Xl< VdHcjs:E؀6U-a0 תjt4عUꌰOTWw^}/n]kmy7}獷6Y:|ݮpd^-9cO}|#TRԦq0PumjQ(gEKS%bH!u0 2(r:ˮ뺎:`m4Safcf+Mr8Γld&I1ʘB0hPB(c #0iPHG+FFÈaα iP͍a!D!PFdsB=a3a@ڀ2JiD5c #q 4BZۣ h`mw*9u,A^jy<,'(R+ mۖ((RF67!ogW?O[X]ST^OIRWrNNiɶgEEaͭuCǺq!&tzk n#bgk~ЛK G{z~lυW޸f{[QceT(eDo=on#N{vӣuշ`{oe1+Gu;rZ$/ Y8Y1ؚd^sy9phLDzR1"Q(HB[6d2Ai??NŶ6()e056[I{tRoaDHD˅J~+OȷgZztܓ P ~l~T'r Q i KMn9Ԋͽ凟EC6[RbZı__"Y)!M(%呞[F۾8߿o\w!v%5Y__){˕R-vO12V;_Y CMV\~zf{:F,5WW i8|5GW6?:wO0 9ƈ8G`(57_m wP9dX/?:kd"e\jLƶaf9 YĪHZ., S(@**le΢Y/ dYu=}o>,=ye-Y ڗ׉O&*+Ӌ,ʾKՊQ+hbrU\˿BA8 872o.mxq\i [X ǃx ƄJ!x+qYs{YJ=J%z,SYF""mk0( 4diR(a,(ub@J@c@<ϝɢ%);R xU}/CL,nkZ ) 1E/5sB_X\"/$(Z8 ~Hh2/Re Be"l_A@( ;/,z5c Xc4Ƅ! % &*v(H/\|)r 4EQwVP*O^|-XٵM>W_/6]?fvy0J\l&'(7RJB0D@F?p{B;!.2 CE gإAsbƊZ뗗?՛7G<ַOijw`IfRs8U[+ rd Q"~pZ4'G:]*;]Aqltp6q<|:\VJյ4?x]ޠGVzgE+g1Us[2/˭U}Rc~QPYwZ<;Fٻ|LAw僻k&[ ,Rn l,*θSF>/*QDG0FbijLl"y._%oqV&׶W'8~Jlmwj6`~tgv}|p+ΣX(vdi$ͳ"^YZj,?[[H{hz\n7޼qrqr8I-呒kgsoogPJ{>ԛi6gV!_-G۲!Ga,a`>_D9us꾛&Ddrơq࡙S%fcvӣQZ*wNq.O/^eqRq=,M0"ǃaR{ޟPlBn]>y1IBmũ,D soL=qk҈qo<}euc\$SteLJ7{ol[vׇ״3{HT֣2P®`+*3F~ /7VO΢He,KLH;tZQ !u[Q|哫6C_FzUtqfuZ lآ,ъ?='fLP2)}6+U+q?J5Ϟ T:7DFrVIT7-d4WR5 W&vP(Y?ݺ^b+2E6ZR͋J{W ;zYeoQ<| F7)Wi$m0#mA`bA>>>x?{/D@J볳3\Y]^RjQ T98UYhfm$5ضug@1ѨJ! Ke^3Sg!)}p8Vi'HYiCa GJkTfqE5^Ŷ(YF-Y%;͢jeDBM-o~X`g?`cgng$ZuC~o~uX!Ӟ,QB!ijԲAcs u uR %iyׅBBy!1Ҙ /\ۓGijo>2<V;Gr{9  ]|1 A-<4#N{s߽V3鏥Xy9)7R5 Zu\5u"? s̈Z ۯ6˫wn^S<\l>7ÙGGߚm԰幅6tfP*a?Yyz4_{#:pmEEQ*ASJh쪵V/%u]ǵE sXp1rfW?˚hK\ByTjHV[V+PmnAwlnEZpo8۝$჉Izv+~ vZ=̅FHP$hPsݭ^~{i4Sqm@0ۦo3L,E{y_`=> 3M)1*SF=>brI.U7o[߻u}F#q9?[|~cbQ+;>>J4 c&޽ѩ3%]9M1"m@'}L9}ΣE2>tfYfΊ5C/j\%u~?|~e4u"OQk+,(RKV8\G67۬5t^w,xAs]Nyh`l8rJ< 5+?zy:!%FӣӏxauCdi\&VK bi;I 0 0$bSv8.N#lŚsVmRn5ARB`$׹ҧϮ<}S heevFmu9? 3wVpBYƂ&8jRiBC0VNXsʃ=۳Fݴ?^nq礷lȹָH8ڤi$ YFy.(k&ť!j5ݽkۻGq{X w$sh: mHT$`s4A^a4W?}j坷KBe4D b3keRJeFRx \ e$P`)@VL@h PIJ)Q0ZhBpTZh0Iv'F{-AicZk0dB"Xs j4RJH./S@1%X. nCPǶΖY̢Ԛxc`1B0& `1+gf 1V d1_ͼ h4R_͐mKBB]$/ ZLnf6Mukp=,gAhge/޸8_931S!k խj~ݛܷgNoy;8}vOxĜxyd<.fkڝ73sr}0GP+ݹc֗#kzάѣVRuP-H0;do/<$IݠT{h>_ĽN;gJrܦŇbOK /~`^c30*<[j$O7Lݞڞc¶3x; pʙEN7nji0yJ@JhSZfHC^ r?㏝ꎆJ a?nw\wuJ0T1tCO(|F4ʼ3J8pmZwK<力cF s V KqVK!B('-\I( jiZ  Kf$\baq=;Gp0)e|#9"ffi#x]Hʍӫ+o:ƲY2ɃjM'jM a Nmj8v0zɍrVȓk\Ofg7jIaʋ,ı8@!8f2(ͥ0mם@TZ4,$*Щ*7SG("(`4ekI)m eJiÖieӉ6ٍsKWVuX^WʑGӛ>ڷhc ++*u./QGʼn砅&hB& Ե 被 w٤,ãҕ[%ޑq_v͛Ki.NWe8[>S0tv$gƱG;H#71!.LsJ:ASbO7s7OƱ*[1XD ޏSwHpQOYlʬ>Ů"=u&9 =TRz;BwK8òJJosG3eKC!jR>x<}Tzm@ sХVtv;uuۦ\ (W`Ids'~aQ/S2!2*BWO&3Pۢ^^d_4 h35T2TrmwL틧3w@OH)a4E /:L)Iij-VcF OeJY0ذ|8⊪S=E362}a_- N7 L JE궤yppAqXm9mRy,{`yYʙdCa;RXQmz€D$i8\6#^;åvB0 ph)g\ibo)P#].$0`rM^l(pn %n8Ad 0.tB?O&{0"NEiwCe؇r8:ӓ%zu|ra:\\&fN_MZwb/RH(0 x AŸU~L.. y3(X)#*gCV蟴2 Ld8y! S@,"lJ9slB1%2Q^vXfH`;>Z FC+e@씃?UU.]8 ZsK=^P/#,jIA7;{"Z-^֋E(#_J̦r 6fWS_5U$6To%F!BHT~D^WȫfF~=P|[xZ鳳>DԷndi$:/*cM("RB-+{'jS.o?HZ7e::DJu^ Wɤ&HϊcmhSKoI,:qմsUx@GьSQΎrS"di8J-cUS"'5CeTIK3UHWD^jLa(Mk|(_Wݯ-`9Ѿꑲ{Isoːa F"ux?>z|YO).el~(2h.orxU각YBgƭ}Mg3"=>Kљܒ Pq_lYdQ گ%׍l/=)g;IKo AOb_u3lɋ'Cq9uԢ2B)mS,q!;FPo3'hC^fYA,ܦuEׅJmaRѝ*+X>QzoK! pDbwx{s|NwKdګ%N?ȋZefG뽉sG Ӵeضm3oODSI|MNiE3f;޶-⪬EWfKԙkF;'ZH G31Ͱ*q~ eIvS3E(shJ|T49íZ[]Q7O`sbyi`m=g*U \b_"%>H4a9ieITGt0Pz2Jj-c3.H c ңAOm[2uc;k`-G?ge/W3|I8Sȱ zQKSi%!.e}.e`F1UY3c`'ҧ#1#gb\GʰqzAzD6aTأv`VzL 9^eӦdY( */ ӱ=G8Ł?/f~i Wz_:1=94a')Dg(̓TQC-thwXt?3ƈə6ek+˨%Ǩ}& E*cߣIŒAW5%΃f=ȇ]ȣAd OpІ$5P@sxaf*בW `NҀ\P{wB^V_NHߏEITz ό) *BBF)p-PMCeBɊՑ@K3o'[v.Z!Q>9ES^řghR_.A n=#SS˼,5s\Ȑ1Wӆ?4otr_\ \Wr1DK".% CʤAxP{(|.rӶGvvPEcRՓ2P ,`$":xfBZWeoX{S@]PtBإm4ʄY118,*G۞BuLIipWHLL $&)2%S0b5Q98AY~ԗ@d}uDm }XD,tqaNF/:3?ơwo7ۧ1KoXE[ET eyCNg!Os7 *6\V3Z2ϐ읪mI3ʕPˍ$=:ýc·JRsM{Nr˫)~pqŎ>?rЮbXgcco,zc]NYSe`^h=p٫cu]T@;QC`Xԧ e:gtg#[1وUW@_J‡'yˎQЫ7wEHsD0 g8 eaM>Y=ԥakaFpY*,/ uG'-ONw臮\JྸH[][SZ'ʙ^ <8[ݓ1^kujڽ~m]{Յ$ȇw!e\߸> :.$ Ö6p F(AZabx $MF77OvF#xァe'\Ʉdx(6=!I?yzԟ5? V@HYFyw.[1tF4RCsEg=| 9 ;EcxD(#?*dVؠ6\^,x?vXtX .훹E~xFGܗ2LXaCc2b&HsdX\6݆"3y#F1i V'*k=\ 2GZ+5XQa?fY{ ۙR~>CTI+VfqNN+1՜g2<55Z"j R#Фӛ961*c:K{(vTu,S f^5KvbY QݑQy<#{F0b(3n%sWtpۊ;º EI΍bGBw>@ȏRKrR{X*]^IueeOk%)wT=-Li0c,Ő Sz?ǛB1Z(xwp9T_!lL"Sk哢/q)D1efrdSیE8* 1?` UΑq[UO0<8ĬxF"L@M j<`$FF5> JL  Jhhdu.xXyg٢5I@ 5M) t?9{IhFH!c}Me{.F̕VSDGt CGT:Qs=$KcDPq=ng*يÚ͙ߊn8X*b(j U:Ux%%X" vD;mZskHk#ǣn__Q&i)Iv~n=֥"9a`0( #JMց.} dQJSkpf UOż5kWEA5؝$~0:=pJ>m=OOϵ8-mXmV56h9[Qx6\03H=dPa7I$]wqxʸ/S uVI|$=Ws>UgH% Y Hw:F?䎎 4Ͻo5|K{>EҏXvܭ{c:O76_BAQBb404cuBBJqPC5 {61?QDW(@4b,Jć<K%qk98l:hx@]zwAMVJRQ b]۵,n#bFp,aĊ~K`\OKWP_xUNlZ,!sƏ/ӥ0Kr %`t?rrn:5便:\'xЀ>zv-PކnYH"Z.*T@FF GP\ ;n'_1![SX`dĐ @y>L 4B{DwDj/2R ,~S%ހ$u&o@|0p畗6cgmC@aK(ky:w|`\;π^ôs;;-׻Ff~vem2]R2novV7z.[FY03)oj|f4Z,4fU44"z" ^Aڴ睩 \u[ rq~DR3ep}҄_XȭAv;esY^!ט{p*B{ƽcrqq_ׯ*Lyf6ffoUgs<Ēe?;X8[x7dm}A`￰:lZL\`cTf_$ciľZg9:P\g|$|6U=vʛ]]D1M;GjZñ 1OGPvs:S;Y{p^Y~Zeu<ȌV _E *QB"~9rȖbƀܕ23䟍c)J|ãy86Ni`!^։2h3bD]$k3au^*G:!z\tlT :\'Xbo#<dϗVL`(`NY{<rz)`ӣ^asLKG{.we#{zmMxsnH'VM[9|"@1$-67X dP@E ˒; mE/쏔>"mpW+!6B-hp ߰4PN!)[2\ ke] $li.L$oЀ~\`؁f@;jK;J%s42PZfsLT|S4+F9 ͮɜmM׳w,:lqKʢ?e1D06_&:`%|3+w_܂h= EB9 Tܨ $\ o GL9TMA>xSZ>CDFfgۿi; ,n20 wO`ò]!hk{PGP4Njh] þ:ժŋreEm%DZgZ<%^mbvy(t]ګVB)yc4U}Xm"<LDTt_=ط~|^s$l <{>dTEjO\t^|~}mMq:JQ7(©H{e#3]C~}ln x_t5w?~.բ/b<:͠?F >X<͗@$Oފ܏#ǧU.3,݇ ?=lgfLM4o^/~d!tPx?hT:vE k+'?r]f]XHfN˖׀Ihl#ԛHk߶eQ4l3OKxm;{\iǢ'ۦ`l;\x|i#H`X,[Ɓ'| 8V{qq+ؠOm)ݝzdKg^ݦfM±?s!L~Dpת))y85$RN[LZ|!X"ب3!,R4dʎ.g{wfqx_~m6M_RA8xr*~ 72YRu4uBIs**>JC!NGuP!a!I 'ATSÊlx?`zTT32*0 udп}S \1UK SZ UAOD111=2@0:OZ/YpY,EehriԠ?dqDF)(PԺ#_,v^d ϻ?;Ps,j6h1,Fl7$:(XlH 4B!.!fYj(=/Gʘ~Џ49@l2B-BB5ʡLpK1rRz(Od|^?,=|yzt]LkɌi5f 93)M TJZ=\sfX"Lzv! jܕyx0zmRJ\$q18k5GB%m!yAsA/Ac~"^8/6 &繅`Ƶ1z ZNb#"hBz"V*BMaU3[~Kxrc(" zvl}}eXnA3ԙO_lY ofdj W;_FN)K,3I=֖͜NHp YJYAXԗ(ݷ= ʋ!2."waCG3vw N]ݝIޫD7KX΍ uy&1[Owe4ؖK!Ҫȅp&MLq7-Z[4.01QəeCVGFkđLćZj\|T.oS@6(\.\/ـ$SY:SWymԦ"mkXOĊ@e ˳ڪě-2lN\~MV:edS݅^)V};W+IdfsݑM{i& z&>i_Ib eU+| "elquK᲻9^,50t<%xEgyuIH &?wm*(U58b*RDMí9u`M˹Q~I c^V䩸ǏxP}^ ңdɁ:4G !¢$e$K$K_pl/'h^R}ag\`^_kPLZ ITXhˏ  f ?#D&uuD2x,Έ)E7,:o~9*gpG JLIVp`%hߒ @@2s#+p.>˄ЀޢGG1<@|yFSZ%:4#C@ˈ {=rHLYt34>yߣI6JvQ b$ .J F,JέIW5SkԦ-D$MAg @%)tN;_eJ6+.d䬼 )E$.yQ ">|۞_~6ZzC{oXq@cyypXUJr՘Ϣf? W2S |d-2 ҍ~Sd,S%%A@ [ǓO9T;p60 Іbhr!-VC)5W#r"+LgĝKz;y>eob誯Z7Ov \e -l䦶gVUV7uPSR5`2,׍U!}qg׸s*:ፍbz`MrZL5M<LF&2++ B<Ő" OlNHk^ΏߞT  t;S|vҺ-0zKpS 9z&tׯ|?=VVV&UL57}v <*\Jbҵ4scS*`߸eE`>F[}<]2!|:jZOoo fM* ȔMr"Y%qݳ<^8q:RCy.̮#ris= 3{y8`Q6Nzԥst:>e>BF<+ɵp{|g>q !i}mcdv$=3noDSI01$PIP(vF6 x}yP3,I1h\$MoNC~,O-8eB?MrȊG' eEaRJD3Qc[ϑHQՃ)i3#'(alW–j*P`t\}rA.IIvh8ٚO4;Z n!;(S<ƇF8!SZ%W?HnU+2_(vJtn+d_q1VoIyd;$Iqͧgjo2jݯ3=Ose_H>?;d\ofO\\\'q :C_ۺ>u FÖtQcfc=6鄶MQv$ 0Xvg+dM%-yz_毊h㍐'3:w>Yq㧧K\ݐ[iT 憥mnMeP,Ǭ Nr:e;4-fp[߶BH]ũr! ;^ёQ4JGjۣcmQ DNbrlw؀'R1hT0_v MM"v";ӗ=Op);s_`輦ei9 75FؚXӰfo;( 1> ~-krn ?z?\ii^d|۲%/+UJx@Ю1P?΄eI b8$ڱ͋JFOvhCJJXl/+,Q@I%LmTأj5F4  !ApO$a8P`DTJM_ԦP߶-pD1([E )bpr%+<} v؄N_QȨx[B Lĕc( 46D֣QOr.;NbE\m Q64:9g&Ì0_g7]҃ LV%0abxo4 $ֺ*&AH2o/> -b%OkIrT a)oH@3lqTh`Cj|vU5;=K 3 Qv)!JBCvh֎jM5^M 37ӸpEP 2 BB~3D(Xi~L6i~Xe24~ӵO:>yyʟ[M(I!)LkSw0&kMTGn~:M;wJ.^/+~ԏ[gHiAJ)U0Anz )W())mC}B`uKˏnG酶f\+Ien9>y .L-)IS+t6SmSm@üxږ(# J9ii6k쌓HDI ҜoDH"dY\$co۵ΩPWiXL)nϞJJc,BҠ".&ՒM-!'jV;[/d1i 4O88u2<nMG5/SƁeSDǣ(OrF.aK0 [TJTq+>[0L \J6{=Y&3o/<8b0k*Rݒ' Cd0Nee/҅zK"~`ΖOMth<HUi)xea!.٣Hh6=:T Pu*x*@4byF G=7A[ A?PANs?ʄ$#pk :YDA]&T)BCuE*ͪ]Ț1C!}ml r}I%pTK,rZ_V{e-= =nyJ})heyKm6=6VQg>G ķ-Bz)ª[IEH'Y J~|#FJ? <]fܞfƦD+ojp3}֨P8N/DHL'KB4צMSO)S~yζo:`쯲 _4<ZȍKۄR֠ZnR3J6c8HjФ>u/V/\CbZH?xRFNPɵK§` D jZ僇 :s"ΐw`#I5Ce8nzv0ũl}3cHz#D`'Ň7=7TJBy^x92crր,x*s'; 1:ԗCٌ=!iYVIBCYvUpA&TCuh(\Nx?otLVr?@5-3ǁ;E79'ܰI!k|&.|4^7zޖk?o-ec~y#}[m~ABe-o,FU0ͣ8?yύr@'0ziKփ6Q6FYW;=&HN>&ACYFgyE+C:b"2v̦ Mg8?>H[5'e  k I lӋ$ߗO=T>EgK0rɬE ne:w ),]G> lYa%SLxo\[_w ƁNRsoenT\vEzꡮ[= ),Tc^`Pejgee[$۩ Xl-AI[ulɌXL~ FrIf, C锴SqxQ#-~PF\@(ԁhY(JH%Ad^-!gO 9|O:׵sg}3øI^"10S>ЈCcĺfVզSK话יRȔJP0Q  @>6AoPfƀP!CdDCB[$O5 K$2 C?.c@ָ)1P(j9|~~}V)[@SD1~YE' Hl[]w&d?yq6rMAeᔺ7 m*t%|k m)[nCG{[i8/ +zK#hsl>?~Z5J"'U;{>a y(ꗖNdzPN>54QyCsI;UeAϽUh9zTsJmexY wI9|<3a|5I׹$~һ5!v+ɽ`TqON?ZtX-Ėo=gL޿ͪ$YdDc!ĔICY÷xjx-~BWHm^DkWh(OˬΖX"( /6j}%N]v"/ +1r?( (+>dc=0C]NVn0B#b ia 3]X]!VnEP 0 B^SFhDx,ÁPMWҢZ2]X#Iur'_Wv^bLz1eeיe\W}Ӣ ^G z ՘x^@[i{H#?wZ&ܲ;wXӢF_SfCEx-FXcTpvNpPGqki^<)ߢW_h0:u%_qxe_c]ywp+Zдy=?'Q܇j6ZlyzzYV_|[-[`gYpDծcōQݚseߦ{S3犲RD)_^ jd;oS!ZiVYm^FqCăb)ʔcCM4`{|g;5u-b_WFB禎>Kf,hۣUMiN\W+nE՘y\ò1`_ Ɔ[״Y-dwWq' `+*`z<u߿Y;&Dg!MaU+v #GC(ctV Lw]& *3YcRS>ۓ^ JPE Z48ƽ c?FR4U! ;IgjQ }DZuI?!iI7cQDbF|دAI;1ipEfDԽ 8)6}|tw 2b3t&>ăLJ aQbZ{(&ʑ03&c&Fo]Pr@3A=32M/ V8!z>PZPK۶<@OZ m(o_]`Yg@Q Ͽ[<:._~EըVԭ.V_vcwƞ#ˈCx:g2^X(4H/dqH֥TdaF2hemH'i0[,ύRSUMYZECX2}mUlG1#_^5ig,ORrFjO z?d|TKBgXzcJd*vIz()P<σkR )?aB{ xP8Pvƛld!檡|0B-cd/mb# "Kpb{;2I  EÐ1sg3O$ O%KHe#*Q!Rct#RׅPs8"(qu$-2c罡&TqVBt!KKK)8l {qsQ`-+1$зD'vyR|<֛]e+:2p:\kG>DQ3wv;\-(jΫҭzç{}) A]hQ7wv7yb=w 4z.x4"^*tO^ lP}pb|̅HXL(li*LpiԿe$FfE!*F<7Wsא8B`\gB"Ա}iuH cW'*eL`0B?_6E/N+-+5ښ'b 1'j_ZAB?O7tj,TsܖԱD1ف 냈±Cz}]}9Z]흫&hzEê-ݖLI}N, IH0jd0L>yݲ  7x7(2` 0pLnc^?O8LF+É2Gw.!qa^?LdEiʖY6WEwgYLdA0@JgA&UP ɭA8]<"&M~>v|(($ăQ1@I~6VѶJ}#WX<-MY낿m73[fZ;j ý3[UPG7/4$k͐a6Epr{w(B:stq0CPAmo,I4˄}E?.ߛn!^}˿LL_F_j+Y-%Ys| : |_!juN(.mUa-yHЍ"禺Կ?˙,$iW}I6ң}޽ѷp v.}c/e'6q(il5vxB?k%8! =˗;p}sW e;&_Ya ]2SvRkD&T챕i %*]8!'D(>[ICpӄCD`0 ۋ\FlA:N `DBz쉼vY"~*HA*>zdePO"%lO*=mN uħ<*2Hds1䙿ph ON$^-o4MqKx9$ J(K˺/_} fn$-?D_Nf+jrx~[z0F$Dh{*b5)k!vVO0n>}5SQ>2ɒ)z,u[j!pUlt@JDaIaA' *]Ix:i%hX0?r\Oo+7g~/Nr );Վ7-d‘qCTR<-m-ͲG}jZWАtF3I51#JfWW}re^H3k<wMN`6oEY;Qz8*n.iIn1,f{W x{.-?ڙU\Kw\UPMX鸺Ka}J})F쓾|zg›X2q^s1N;WZz^ΘA ǥB$Fom矙>^n A6>SՓ6b*;Zæk)ZYam@| Lӵ> sEg&uw?h~g.kM %ya`DB> O@[N.R^nmZԓ葪j[Gx8W^c8ija-,uO!C5RGD_#ġ$:n_j]?M`E.͕*jk~ /Hh#'۝c* ǃu:T8'2"DIGwq$ E[ܱ`j,tX\^e%N8}*Dz ?R636@f=X1",fnԔn?\"2!o dMęJTm1.l jˍOeŢf0@#ԟzx`㚎&ŸG -A  G#Rx@ɏ٣Ǫ:/{kgHf!T I. :"5K@,>_ E)s%Hwf'Ap~~jǖ[]<£UJI a-X>`Cq~! 3o&k$UZ1t&0~31u:Xm0赔QOqKBO 59d)ɔ,Z&#l>EH"_f{uWf] 1Jz"qRe=T<ޠfC3PGD7db앀FtWɗ4DUBr/XwTV"!u 9Y[&')qV$+J>-𹻶<~pQ-4MeUJz/nOO"պħםsߣƷ |#Q+ ` ;hbP eλgzѤv%M/ο;>^?wQ>/+%q_'ˊ\딧ai)+ĔlR齕$6n,Ջ>[ ӝC6l|C9$`30Oje*H$ģvRyuW-iVBD\ "皅&5wWǧͻLkKp]u!&3P ';öDQ܍A{$m09 G[!Ew.yq _ w 秩2$& {yբ$/;LVoL~Q?GrS`)d=tGF`ܒ(H͝GD+~'W_Iٳ&5<7˵ Q[k%9tX@ rh}EJ",v[z I`d,h _ȥ@7Dx߄_ J Sb(Ƞ" B[ZŕQ |] 0 -6E?"LΤT& (]ӱAn&LʠҜ%5EV@:xz94`~H1#LL㳑%::>fx((AxV w姴ȁhy8 5jbؙ˺Q~Ԓ#?GzUѮ l`f|c/$󱟳ךSrf׬b ], JũѯvJyn?Vp.w橏f;K$|r- ԌI;:+J"?%?iyS c×*rÛ8(" I&=؆"Txuʞ?=7$_xϏ❃t;ےe3b |ۨ ;\,?<Za' bPˆ5Da8w׎{gy,:8̩[FK{R&\̢ajĆNMlwۣgeWNXH-< ɤ <بmdf/=[\"a5W ]g/Ar}nźpJuMv+EM'|Afךz}T5hN5vp͸ŵv93 I}eU}W֥6k)#?q~Do$C]\d] (Rhrc;S{8ܾAݧ@lX`S퍗lro>r'29GYr4o/57EKj4<10BMO5U6fB+lsռU*2t#̗ş:Vi{g]]>4s,waN civTBnr7r;ى v{Nڕ|Q\G%antI]⅔8؋aѨj!I~)ӳ1QBs=Xc/'ZMac3/buCA͸^ِݷ&y|r-bNԕzR"IAmBy瑏lcJ"2=Z#zIdlRbU؊~ dXn)%!Tdϟ^Al/C.)o/Q6rhH?s0 1c} ruG1@~rΖubNx6c¦i~|߳PfubqtDd!+?rZԕ,΄~Z⡛L5|8_ _!**u6ӗ &2x|X͡tU5P?\ #N>EG14(-kZ{+K mq?3p@lk'0;ߐzIhK7ٌk"ՊKx$ȎX;Lc(&T' r̈T-\e7#K~*L!8ƼY*s8j(Y$)@3&8F!($BP6ch@t l(GHS?[]w8L;؋*`_Iqʄb&N~vvxxym>RƎވKMZA#Es|ڸ2aĹa0,쏉O~]D۔0هJyVqww#q́n"V g-[ЃL9׽kQ^S&ʺ%h9_,h`$۔5p;&[6%^\ygV.}vZөՆ|V8˄<`3rO4G5G1_h&3$߈h~$et`%_\>rTD,Cq q|y%z`YfMЖm'Bzw( s{Y?UǚNº ׹vGnP|z}lv&a21>u? Mrf`M>is)yO>\kK%{4oKY \"5Ta("OxzS n_33XILj_Uܚen1ө.7: OSs_2싈N 3VL$sd5_<]_c|Khw)8뜌*A1A r-(R((1z.UWiS>M:o\Ε.E-jb4oJs?䃛rԿ&:R2e^%M i%ܯF.LHI:M4@ȉV*(ҪH"9(7^I_3R*/$.,N1)yqE-vnA@R:Wwɩrx!&kwao&W=PS v^ß}vb^t=m:I;3MdP˸z#oӻ7(ZqYj%Ck]7ew/Qg9OYvzz]^`ϳ@wͭ*&/Gy4^h8xWHz?J(Ap..1p'( nFrl"iDT0R#!G3t>ns4//1,2V HuA1I\gF5EHgDSۅ}(t)P4Kw@4'3z'lo:trX8I$7UIOz|DYh׌Zc#N .a8\T!q (;+bl՜l($dk9{!9$j ": ^2 K&dE?"Z S/ԡAֆ9ĵG4 bPvyֱԪ4sazن*wx^c}c_.ي{ֶ/W==G8˶JHQbcEE6Hk Z cOVI&??-m0<.d(GoJ&2>_ Cp`V]"PFJCXj6s5k"[U{%_bNђ|msB? jB[K \ q?]>Brj4lF g$FV݅W[w8}Լh0/I hݗX~c}m^F#VBku(8~dpY P~XEaZa!cXG<~s4@*%#1 FB*/Cxc` wu`}Qu,"#6";J@ L뺙Ȑ%̩BYSaP*ncJ zMT7coMȼRJ994z' QrHYFCv֙`f_ SfLg0mno YML#TJ(}-vTONίΞ&4خz.~KKL1(Gn^c_cB5kƺmpyruT#-K}߸?ۋd]pݮ.+ЙuJKg2B]ߚKg+MOYZ&UEiy=.P)>A jJ0DU51@οE\C{6jJ_ @:cLD)(f6]Ur5X.uCwRdP!Q,+Ư"5 0-$] 1ź5&ˍHFr1)@L-Äp'ty[V{># <ba]NF `k106!l89lx֍e4XjN'÷Ǘ=/+p2]lw{eO5V%o",gΝ{.\oNC#t6ScLZ=MŤVUIta?8YfJ/NN./i-i+;7[QKlrO?( H:lyc٣ql16}60$K˜[Z \!HV`2gG)aeaRi$eU'(CMWJ\N39ǫmɕ Yl0uWۭFGr18|zRcueZ`EQAK"5iS&Er}9LUddgk9- P]ƙ`RUJlGٚ9VUJ˰Jq43\QJQncT9yf%25 f.5B$H|D(E0Vjxr+;3VWӤm4GAL27wW]m姏R;/Ģr㧧XY> r!2<}b[2-Hc,_ۺ#+.e%Ǟsm}㵍mf[W ha)mk{xeU߽wdhcX`,BhA0FQ1J m;?L4s/8dˡQH Y) ^`2^YH 'cAƯ輼 yV2H̴1$% JYY a(]A*Hڟ^=w!+@&[Kwn@-9 *Dtl,;-B BԢ k. XHE06@U\_مt^p ^<'Fj  f8ҋ/ Z([pD<Šay cc7<@ T%ܿʟ=WD1F `tYꐔbS(f1,0B)Rh4~(]GTY6M@5Z7`)@cZ -'2D$g>'1֟񓉑@/G /89>a3SkC6a훟w"˭~׷z 2)'aJgj'U ;<TU60D8JEp]tnS* 6_drkKܿq=<'΍ jw𚭬VwZ~~wWKE-Abf0P%p.JšW\rLk+ui LQ`0  ;)R̾Ryu7{_oY@Q.s^֛ jeT!Kway L"V=DS خ<3:iln<.G绫;ݸ]*<[oX7ƕà]{j/'oэ7nOkRg,+?hhc5lZE$g7ZHP.O1%dǮ_Ew|?>6d43I)$P hi\ud|t|V+P~3pRNY*LGdPkyCq4U3fL)ɕF, ,=\ae NK6kEXH3Pdzk|d(*(xY8ZryRܢmXRRz rq$&ϣHW[scg3Emd^5T4+KLJyyRQ3F:07Z|=v]+RxNǻG ϶"usW(Au˒ՙg8_1 Txn,pX]ݵV45Weg}=F OgNk0jE%+womr)BoFM7ܹ2_E+RFfck~r6iciVEG7lm?^[Ezrַ7q}{ك?[['4u.^u+jL'?7n\=`9y&_j tt}t9OBPN ) 8׋:O0`{`@UB76%Q0>q4ihup曝Ammd$}.DlBSy&7W`κdKy9/-LTy~{o^|ZeϑHV Q0-.8Ir>!pഛ70 >O uLfl 9}'e")LBn,DJm#ecdbuЧ1Rһ*gЀ\]{|Y*q ߸򤮬#.*GT'H{2$Q}:NᣓV̂#'":崄Lk&PE[s3M,'zb|52P ώGgS][j=pArXW+\;;3{vʗuſ>ޠwڍ~{vgo,Eg?>VnnDnwautꦄwz~7/g}K{}2*f'v/5׹y7"OʙOѣt' h-^:' 4)C-)x9*bP"jQNx UXޡRhdupև B$ o+]NDžF`AnwA#(^V-uӿ8~䇯{mo^C"ƕk?~z޺zG3o?x2Қ˛7/N}cV׮ nŃ{vg'7^TO6ӻ#)Ͽ%}#l# 罢AGKGE-" ε']&UtRR׷NΔҺ僣3akkwinWgH`IB R#FG6R))xa-?:ibOn/YLԛ K/?9,C+_,u"R'!N*UO?q$ʥ~w4\\xE8HKuÊUO&hk)JBEѴ%Lc2RB)U(ThI:'%ontR]ho柝yר]ӜF$ /BKj46/'/Ff)IV|U-ő+-Aa}A$Lq4l]i0PR,nms琵6QL]<#WV EQGS~2)!dl™^\ӫ˩Źj^Ȓs<%Ir|^9 E mt֟g58 H@KѸ0NM}UZThI#Zoi?T"NpkQ\pA$H#ͲvLR |D4d~uk򛷖udDD[/o]o7nEgckr`x}Օđ192Ad6DrQw.y] q/D{|tAuU/wo>yo|teiɨozʕ{W_hw/vw]jFg9շ޼f_dr.$XYҦוǣJ$)G,2-bpżYnYe1`r wW޸P-Q3ϫFV/tX"7;I΋I%qdJL LL&QZN"m QЕcp{k 0Z+'hJ:qemH,R t;<\_Ϧ <&ⵍi6b n'i%  B\+uQImÒs "UkY0:J҃"{ZbksW9y;lKO\g۷o{xmyNhoՏ>oWw֗}ۯ%R_}@@Tu4 d~ニ[?gW{-L0NuZ<>Rm#7 "B 5oj *Y :0v7ͣ0G-l([;4@c#~܁:uaisnwXы]v. vV6z=_%AgE l>N@we: ݎ@&` Ƴo 8bd(-mRݹ!k@<77`=\LEˈu0sl5o|]l nLiq @J%eUN%Q`%xgb^(E2Sg\&GA E"ɘ*%^ @P(zTBC&U ĿrAXw&sg\ZXƓr8Z[Y?=<_1g:^V0a)EDz.,v3Z]̫kb.mnM\xq7_;~|qd n\~/'Z {"r|Ivz|OWViٽ惫7ILҋWoln=.\8b<}~Vc'ĝϿdwКD[+{Ps'Ie!H'BR%Rt .Hd6X+ɾrYeJKY3/wQuU%Ao>p Rjc'k>r "D:ΧQ,i^$QmQ\k|PkiQ[Wǟ? C䄸~|z{7^>9غn殚gV'C -LȋiUV5K\?yH\P]$kk޸tv|V8.Å~ov*Q'_fTÓWݺQ@t$T$W._LS@Ѡ%~1XNr2 h&(&}dvi/_p^jCf%1K-  IDAT@PHZbQ-:YmmfY.Y2D"F2`4Gݵ [tG(gkk`me~NBG52$)1A Ө 1^Idl9VR6YACRSY\ ) )ex#f#$55O~Qӓ1~'obT61nox}RHo]$qQ,iijfͪN >D5) sT.ym  "yy/kt??3xx(ؽHd +bQ(Eȍ!?>C!e$R 3vqշ>k>~ʒ;tTJկg?EO?|_~j2.}~ѓǏ?N[_9-N^>;uݎwvY+uvjˢm om,}{!kN,2Y q AHdV{a#(}dyy_\2:KL"Ͷx6˓`<N*md)cO;;RHF Bpc"[{ŁyXqKIb>.llG>k_:2Kg/= **xR';NV4E-:S6P ҝٴb*2FXlbLC#rBP>cYKEhTj/=HSf)dHRR .P+b D쉄2<3)|B*rc$\2qK7?Gj'cM!n^J t`歏\|g{oOqrY*jΖacoogt7ǼwQqz}JŅOv:gSXQ{=]IYy1TT>l@J)s ƴz(N[Cy9F {b6닛 *IHɴff{7܋'I IRQ+VYJ> zQ $t!r1$ J((PQJR_W嶪#)_U|Фsrs`c4XY%v#G2CDQPR:`A\F#6ERr4Z տo][WEt~~O)z0+wV̏}g?r|#?}u+޾zy묨qR^K>N{g=[eo}|P}*%RmY/tq=?bd$^!I l[ `adБ8,T/ʅ%WmŊKI22DvuZ|YXgbF)u`g+\$V, g dDfl*xwE/>[}yW1?^%a>ywFbp:{<˒RNE9O3"v˃a?IkW!"d4JUuPҨP5ĢFñ*%%j+BO{0Vn?yi* abcTUri/08fY0&r>q퍣ӽrgezk)13C_WDAP"9#5s>Het bǺm͛֯qBt" !Te.HA:J#AZq>!!& *&20jPdRctuǰsGI7M6Dh$O{t2~έۯ>'g_㾐{HF죃6g;GT*묗읜.o)%NÜ]tcs:)*a~}IuMd)pR,=lqMU]LiL0G+WAJULN'Z$up!0D]"ʴhjܸv]\KD!MvkvZ1r,h4Jfy[䪮| 2QHp_=JtqI,Ov2Kn,U%ZBA@6P Jr]dY:/]$,H,텅2 ) L\C􁄬ʍPJ.v,\Ԩ,UI*Ϗדͭo?wx8 6mCyN7/՛[ÓG]eV.f)= u=jR^^?<~曯Ə3I;wϞ-1,`fzGҳY6ӝLNjH7IRdݘ0 ηe-Zo|E\A|fI>zӹ"Zܸu;Tl%pɱ}sXD$UE1I鬖VV:1YW/^.$[~t<-*&lWy-`"i>Wi3ڝWn4&=ܣº~Ç۳*|kمz'/V8`2GBQ[?y[|]_NGφ#btTĚ;=d2I b{ڄ^S.rg?~_|_y0QHMt8A3M5ҋ̤M\zW4wRĆ8JWLfjҬ{r`ZeYXpTf gg]V UYm#L )tr@CSt.Vk3M'd& &|ii֪}bi,EEogKdn+5?[ "[sl\6.#{7HdL:*@A0,j \ty_:|;\{*( Gc!z$Dk~Xg)Y'BB(q6+{gVfH:ĔC u>X*ziDV" Ƙ "*GA18v5Xj:@) Rx 062kvDS* BT?⫨TVN12J(i׿VSVz궮~h}NKleM-ql)+VfCj'"YWU HIZ.:G f0/=GfE9W_LE YaB T8:M:Dir^ rVp/#sN\xG$7VVJ"(#·H.Mt@Tre,m[l',9;4qr\ͪ *u,hPsDa)r49 J<) Rv<ꩭDj GS| fOח lt&BĈT 7*˞ X !.,:yw:Nozݯ8gSk}̓ӽWB7ӕd8 Z.>ڿYX۪[>~b«W~A)b)Z˃n+z^U([FDvB(}A J'w?Qd|<Ȁ V<p³o2WyЗcc^%T:uz`b2QPBJsYϬ PM8WTڄFQ@pi(Γv/~kV?K$ևFjk\38ȌY_Ypfg I&?TfEkji}fu+,cc> ,γ'Fiݞ9%DgpSR28c19NBt&(Q l,'g/<% &)KPTZB΄$ [R? !Bz?3-6FNHo/HƗU"Ҋ満.DEQÜj–,e t `) 5t"d8Kzqe`PTe#u :h--,v8=m0+'ʺ@B7bQX2*2- .k4H+QT%a`Z @fLBٴT\$EF@t{ 1 e"v+%v`@J4.x2mb{T')2ٸx>e;Ik^q2Y$M-yrrg"c_=Aix L"p+&w\_9}~9w2.d` $Cdz:,K>x3[zL1\ٳry7s/t?{ul>< A[p/Tyw89~(ueY_|\ cU i[TEUɵ<}kʦ ?B:9z.]}b'G0"N~ywOЊ[DϪ 2z+ 1" P\:$崿Ԯa#a7 }ƒgg[b؋rvpkv_vMQq: Rcƈ>g,H ^ %y)d2ϕƾc"yZ3 THj[WKcǮBq\ЙYyy"TM~rLݒ5(Yx)@ֿkY6;jʏŶu)pބY)\US}"Դ\BjhRq\spj8@j%L$Hf'"52 ffN9+)`+'dl`|:_ c?R?WԪ]fAox왏C3;:s2zpQͻtL]Ok7Ud\E.,w.^|ѭ̸wk^Tv?#9*b_{#{hbI.PRWi6),_͋o5HsG{{ld2?|XZ_;xckW7trځDb0۳ycBBäJ b1WAVG~xvhԇ}Eh?it?3__xrzjhἕ.,>?y$@,iSCjO̪RR*>,*.Ffh#H)d³?{vϭMNgN&~''"5/tSdv˫Wԙѹkoj>zᣟܼy޽󏞻5ݼQvB]lV'zcoN~3DԩIcCqr7g`%0l1B veD]) !hL_ol/B߮<մ"$VY&cMv"R(d!23%2b6.58MNI`[6&QrhPCW**u )yiը1T =bhu֞S90{>= @PL&rՌ˛Y% ~ 7E ֪r@5CuI)"- 'e.f,'pxh"C H{0lCS<-G#Y2XލrlITUs_zU8(9Eis$-B |&vpztUDЮ\pN>S*HHFD$Kļ|'fb!akt)è-(GcLJ܁cI Pe֓5=glVդHFW{Bg(U=p/Ok%z}oB+|aUդRi؅[GbфԧIC猆x9:(LO5bX$֖[bm[bcP֕ncHUj6*,nec9wiUNf53s-/`lO_tOGz vչх> fN%)YD96d" <;'f n7&ٽgi~iH䄽;we}εAI,!䜯5{.).0-ڶs0ה` fA]NON|ש=^Dkhk~#5(6p`Go޼w޺|k?gx78{V)G]7%waskk?Xї^}tvbv2l۹Ͽw'+7>l 6G>V׿M vm˻}/|I`L $Ѹӷf1-ʘ{pjo~&:sLpxdoTsؤLa*]b+BJKD64i$Sb *Wzkh.j1p?fƮue26I"*ғQƐ!,O$QIDP1dQf[g5$9'1G)d"3BFlF/MYS br$[%4Vޣ 1'GFP*76nmUmȱ\v.{Kx8^([r21{no$KE:c}lR:;Xn->V%QaomgEeި)m'GWF?Yȯ61`%Qa7+?K4}mwxOO=ğwLPT9R!\p9D&j7GzL<}s捣Rk,Ɗ歱)WnXtk߻3K8 wg6!ׄT=Gن^z=P(,x:gWU8,99sztʕYGnw2v_ʹ:eqk_O_ڮ^$ٽ4NM Įbhqkٸ;{nK#7s&[2X.-=&]5-]\47"@Ia B4-;uvg7;w.%fILҭa |Z))H#NFu]& ,)dfFB 7u-E$ĮlmaD+7Z7 6eg>_7;ΦlrJJx%v"gxcu1iL !!f*,Dd-LΘnՊ,U%'or.{⠲VҬCJIb>[FEvFĵ+So*h}\Lnwk߭Z`;uv>/ [dIN wG"gvRk;n{FF TŐY2kg>$b`n9Ѡ*W ^ukdG߽qy#kϽ(gN*9?;qӏɫ[ lLu97'ӪpQ5dG9$ 84i\6=(k.ˢug䒦8ӓEΤX~ŗN7+&m 2NN \b j?8X"آpvegqu&]}6핺c/|Tk}mS+Cz0o߹+{/_ʢ2fc{{ޜN<{e9;:|^ٕڢ.99[OS;&wٕ?|n<l*ǶԿnSKN26ϭ??'/<>ٮ/̸rѴt<0qU IMl(ljvFs,ՖW}o t9ggG_w,mxk6Za{׾i piod$T{Uv>;ήwݳ*>Gn~BQxcOܼtp=aAB؝7r{=WUiߗ٦[zA6q̻@ sPʪ m$%CC($/Ϲ`2ItXJᖡX;²SacP>V``:wipMI]G6p /<{Q  {3.31=)/bƘf1Y E+<ӓ:U@.C BVMKF Y`:+똗╭g-Ar52bFjR(\?;PXn `͕[r,6a8{a{'@0Qi܄koFy%Z蕢.(s$DLM̋جq 3귫'6=8Yk r H&lrlH3"!$$"̔@Eo䨎JE39W>*4tU.s6H}X;2 !0rVHrQC2^~O&ZvRJXQըY/TJΑg.&wΞ=usf[K<%hiJ{'d~Ihz%*(1+6gͤD1%QQ<7}g~qer0M"rl_\?,p?[Cn?3X;kahi`Vi6t Ua;p9 m&ZIƅ$ZJ])u Yg7u9mOzf8>U-".X+,^AMVYSu덳 &6%2vU>e4>E;;ݸޝ{0m}hVT"xU(xI|aGk+둥ir,G]3V 7{ޭ?O+,*.hQKo>0;{yث_V7X P%L)i^jSw|md!΂v q-id21CU٨ W7lο<?U]=9ۣGYJޑ/j(Q'GUr6ne2)F5F.hz̦yf)ɩP IU`ec' ^ڤ8e95HiH3j((IKytD6wCJ-Qzn%fQ0ⲃ%8[N~8-zak{09ɶd, 6zY5ƩNTڜZ(BfdLGPEڕ & JR$%>U ݻ7*m9d&cdU{r+t;ʽ[{r}7v._kf ~e/d$lj)ϻT Gl⤝.+dS}иǞVi\ q6Pκ1RЃ^wd Ic*"3LI"@L$ CYbKC$5a,acmr<=tFCEjwu䇞wx`rld.d"eIrۓTzm+Tk,1`+2/}+֠'{=dB}xy#@⪢2e਽+K"s1b__&r%,9ڏY@ /ƽָN+흶Ǔ>f\UT Jk;KļKdO~stEA(,)\Jt_V4M ;cD3m'P˃u5 mOmw81'KqΪp&Q)srx3 #x|e*~sk J&.q gW#յxͭ"eب,2`컨G(_xҗVY/FzS _4FxEh:L%u!j=LfRSLv6{Ҝ=! /&Ǡ~9?^h$͕#iJĒ<;K21L 93hJx%&5 u4(-P9"V2&I,:աa&dUUG ̀r 6l^vm"<(- eYDDr/!%d!oԗYU>j`_hi$m[H)ɽ46 UJ0b` 4!|ped-H$.dӅݳ3gSK&΋{o޻E9E Dٚf74r]NbD3t+[fM٪ں[`DAdʺ{ﮄe [Vl*px˥ d{;;4䊨0H1TVơo%U3E K,`yLʄl䇯5#v7w؇Frhs?`stvA|w ]/у{k8qyr\rlTWF.Z7^}eRM݅s3=ia&ӽPz{LJ -7iw4/WBk?H'>w|OIZXgɃÓ>tShS]O)B ;ԣ1!ӟ}m+:s ]Vq{NHR*C040mO&EEǨ:HXc$Jzȃ/@ꓣ%1-uU8!er),v(`ԃQc7hObdX$-be)Cc~Q1D9!d94+b$l@͈B I \LֆN)Ҩs,sj[4ӞtXFEBD @NEma WEw,dAD`oLfP"ΊD\,Bb "2 Y%z&TOXRrvFJ3UhTGhHšaam/tyyQAj=mi0xrkw_o^0[wև?^rըѠ9u͠!p"eA߻ye0+[ks+k#kiڍժm"2@!>;^ڸw{u^~SO?^~xrBӣ]w^ԗǟ|p8k>;ٺz5m.\:gcc^{(RLf'f/ɼYۦX<>[ǟƝ[vm\7e귝°kԮ?hf?'15d|pwc4 W"*JlEE/׿cOs!KCRQ#$}0زZ-ntxmC*A51懙0Yƅmg `0셭Y\\`/@25 M(9Wݹ2W^z$qZ$^4,q]cOq>xx ?9G?G\L@z)pNʪKr+YaX]0?¢@h'811,k1%IܴS}j'Ο>:.r>zo^Qga+WuWnuP[l%Krd8bc66lca {cm0p8㬄dN]+ syU5֨1s=wRFPApXfj`uuu\lֻL3%-)F˶TvgN͟hg AH()FZ8J[b :Z7koڲ~|dVð/ ŲVn$If4-?#כޔri竵Z}*޶ŏ{h'[- 2#!L,eO sO Pg<-J&IΚJIia+ª?6[Cv igiIl`,E43rmbbz5'VʅqA$*0] Y )YBqNMt,lV eBAffر݅0+0['$)-95^^nK]ǞAc`8fO%ˑv (rIOPHJXTz=Y>qv~Qv_C돬4 h'I\.s-;q|/w^{7"$ HQڱКHR* X.EnѾ:3g[Be-8o_K_{ɆLz|齷ݸX֛zxhyiA౳BE!ݜȥ9 +Y#ЀoۙI4itmH2V Yw]FAd -p%WR˗m߂k3`rT^mvbԬpYy1XmܶvbN푃'7\Cb5.jb~*!V5\sbh8\_8yZj3 p@˔tfHF3bCC1r&MW2voDڀyQcaR VᕍOD@B$R0{(&멣֭p@2*IoUK! T pהvlRb5 jLv qe $%zuBڜv+(l~}Ͷ8b ^;:f|NN{&Z˕,w\7s A nZZ=S7cJLp9rO<C۵B²7V™܋2PiRe2TYu-4fJD3q,08+X/{n)ZU7/.K_Yxh_J|eX!")W,/.d}/UzkݼtÏ7nv:,.vvjˋQ:Sq7>7K&Η^Y%(FvؤL, B1+o[S7E?=ya|@|0gX ^7?o^yvT>h.5Wj征3'']n˜v[ IgYHrOIn <l|RsNhjT t^3XXO^Y."'T/̬FV>Pty7*ZVn)Fz#P;pNG\-$qA^Cn߽3s+rE9ΜbJJD$TnU :Pq!Vm g,֏U۳zenaid4e:~bo%_q_T$\!pk;ycw/sw-1s\x7͎;GdFҵNbAk54346Z0?=),tkm{`|@Lbb@bQX=le0cQ`ӦN_xf#ge{B'`BOX\]o˓# fpZ}Ɨ.ׯ޽W67W.`Bi (TtmyK*_Dc;̮'b?3yq U`Cjg`А߬1Z+C)W:y復s|{' I-E~w) 2JfRhCBqj,B-ɑ\z"RR pXxGJi9i/ z^ج<J؜bz{4p`5 0{&a ɦb5Ad;^ 5Hˍ RYnpJ>Kv Z~h(Dd9_xy2`iTLm|@8$P(ӟ{2YعcXv@kc@}sXiMp2AG^4R=_l|r;3>TBn˿Rl-y殗g_w,V+1Tu%VC+Ku FR {A&B 2S QYv*B횹,]4Ѕ|@ IDATZjZ- $W$];Յ@1Rq0\TJPEAjWV-WR*,v7Wo6a˖v-UV(#-7jt,vb/U3lf05}j P9"+6kgN_\dt_9|^H=//S|fc㊅B%uZ.3\ǟ%3x]{z/K""8m[A(\, d8ouزR)>'+,@x/B*1kցv?P鬬>;gz]<{/yYf2D =1+ᕒ0)C˞.BHi OR\P9 !}) oͽV&l> ]!ԑh< ɖBzA^!2y/P MF<%",dXRx760nu2O!Mwz}C$@ۿ߿c|_z}/ߺּzKݿOz//~sw菮S˩ )U_]ܽqa~]/|¶T-?s/\lCgݶyS<4BdXi9O>'^ȿK2E82`rM:[`5 0;-c]U7(:-iti ' JrT²t팊aRZ! yH+.˜chik QquI}嶻~ʊ2vy7O)&gxxjSNZC]v+R8İNJmo펕],6Kn\- [W6n׾y`\XKNƂHVm'?79Ao}+YpCG@[V>zY4WIpZ:s.qn%د,5Cio߭]wel}5RO'+1( Tzp͛F@'vsHyRG.a@HJ@aliYV"$( cx\.q9 ˵nB/ɳC*Sm5`&m]@[z`jx8O{6Vo1Vn%0[S#}~Zd{=bs;5llF:hW,HZ6&${Қ=ɞ+Rɍw,se6#<[e88^!<`&ǐPcr 霋 fPBJX(5^)*R)zߡ;o`eۿ箾s[?~H'^G6|_p]>xϹֽ[nWw֏3mYE'v+m{=>g/%g?n~_+w 'TW:@wtˆ [m×S޴C_@Y:8Ӛ_!-$!$jUH#am. T3Q 5")l1_r #PZB<3#kWN1 OR1J:c[W|)ZiŭF;MS(FB9nJfHb-Ʌr~ؚz-\.(m˸+ErjVfY˂`m,}Yg5&hl 9p[_^2<2}[)" r<[B$ ,ei"J4W7ݹM+fJ @ݰcΧLa\}$lZj;!"p쭳]%>ׂz8< %gX]C3ىj@ M{? u4RJaX=pT%RT d!$ ˁ3q2Ф Z3t'3is yˑJ*<NYJff 0/5]׬/Ul3~@Khpi⢙<`#|lKs3Ɓ &K{PqܛR8@^#p= ȔEcXmHIZkB{п $Mk k= Y!=z"GJ1[rtN8Vp(XgkAPj&֩ى5;+J/w<n׋7]( RUǦPͥn2V%&ύ }2;gS{,xL\+* #MҸR1{nQ,F$2Rf\޶͞ko8qM8HMydJt[B9Xh:*PvB2C$iuET̚yCc卛 .MRV_[[W5FBkfE^0Cnqoc'.Dz`dKټZnuCnWfxл<1cfxd6:йn7cf % :w#2yBJ \a|?cSz2L@ BNBHugatL8E =ArAZIY'[py+!dY|jꁕ覫4 a {˩#CO=mhODk}dc({sk*SiRkƛ+ݶ':qRk}?r]rC.{ ~f0mw8Np]{/m:_M|M>/NLr*+e d%E# dF9iȱO{o e "0iKcuVD6TD!uؑ/Ũ=uEd|erup9SZ^fS]~WKs=33y~BP]**diOD2l- bKH(Ir=Oh:m$Qayph MAPS+ v56 B &yW(T;NXigOZ @UoV8W*qTI!H˅x(J [8UJjPA!"ofyQ#N ɭ$F:$70:lן8uκ٩'{/1!s.("VI: cg@0GF&^YQmbjuwG{A0vzSb;yS9#YP>8C;)# `exv=SZȒ}tq ƒd(ai~{c}eJ m0r l;?54'Œओlr ̖=2HHas^"玥(D[]GRd9)󮞚G^җ% ) @ 8)}PW-ϬLONL\:sutr(3ZoLBIvmE75rYk3/ͬYe)H fI܅+F^k%P +f2qEsLN2(TFLNGVT}a)湳Ã}pc'syP8xqxvڕutHzcjƍ \DSO0?z`\ݶsje,O2ɿCS.}e&wtVl'T*i*K5sfÿo/\/m+VM ]]^\~薫XAtR\4vm/UFM6<Ǟx֟}'F<:-pyb~zr֚.|=kܳ? RV`J-CKL˛xgz@&O(%<8uǶ&+KRm蚞 n 6 wDPi4~Z߹ōgBJ,U*2f5[kD5YXXuRw=NqB =E#sgZ-ŵ۷G7>)2rA -x,yr>*?b}TBxY9ke򌴰:$,K8gJgp gP>,GD 4{bxV [y =!B3{f/pV*a]N"_iACJ')={i^g^VyOLԬcSޓ F쉡PΉ({k!IC+~`UvM7'4!޲s8<3LzU?3uKQkx٧}83U*o} §^Ia`dJL}k@ՊqXw,i3HuKWw8{. 3?o{%.I 2u (^%07z=ڳ,[ aڻormsO.WJ+CY\+y;7$$eȴ0 x4yoAϭ$R-Xй #pskzgyy(T}{k&Yafp@+@z -IZoJfZ"X# [1D $ dÀJH7@i-AxX/Ϭ1 H!JJ%lØgKB2a 3KBK5}o|ޯ*W"7/?xey}'S^?}Rmr#UͿPx˽_};*/ŕJaqXyqg\ttMyvua:7ݼiCg/sjxJw28rj\ndsNJsw޳cZ)όyn },V'46ؗ_\Z9W+O(LGHalw];u|pmՙ2\2(*I]Efd +J0VN+ͲJSqT36q,VWyIDRuDitYy V\doھ33E .O./.N`x0jDžaj=U6nn>s0yri徝.&~q &/ݗ°_8,[fl0SI.KnylMirlei\1Ym~hnRGƫ#&O \; "G<&wG_]|}ڰG>˲3qTAT4a?l5(jz\Gٱz..yHRE`%< D^(&-PK_…-~F^OlϺK\J#ow}7|k:ْvad<I ?= <1'<3 /Izr䙥"Ϟ IsZJz/ ʳ佇 d `ĹP23c!E1ڻN~:[CP_3M=<;/oݽCsO}Wxdl4[osz@u5طK4&]6JԴ+^YՎ_[P _R/Wٶ[W(jvߴkFZKnRJˋdS~L_n/M^ssS|߇: Kf~ёjno=T苷o}9,kfVOOwxnX9y(TE.Hl{M* |cW/NڴS/..__:|n}sٱ>'[+L/09/Eb lL`r#Yenb@nY0TzVn(gV:m5IT*%DPPJwqM8 @MNpBZ_%Va(%Ji @ >yWyכ2C AJ`׽r1i3+ KsIb @HyʆbohK>q]ϾN;:*"iCyXb!33/',(O3 kk]X}ۮy͑]nzf햭C}e?z 3gy1s-˟Z0⽺=~uyeYf$)I 2T6 !'ƒ{x@& B*yXJA .EI' 5e" J:x=rX)2Ƨ@Y DntP5طO{˶wSՁ܉3۾>ū|݇~ursy#[מ>[/MKIrGKŤmRmCr7=ГÅN4s۽n5O>|j75;ĕ#ӵ:V?~VlgW0u@L5y;lTQP 4˗' >fAguz=oΤ3H:,Ye! N3@h8! Th.:TQթt @cc%ْeMG: wz3:)]{߭[j=MgnFԭGKf=;ҭS\^yap4[O'>ʽݗ[9)zP`FVhj$cqѝή]fQWӱ2l{K˨&D޴fWN.` l0^|ۋg+{D,JSu~MHj:m<%r\XTߜ'ՕsOp@\j6.¹F`""0'F9[=; q:ʲ_|ȼ+Q_} KsGrd'q/i+)`$8g!˖Y)b,g k=r!!rx|8+̋vRbʹsѶ7Q1 ŤprNir, s{` R0`ȁsg6nÊp,$MVEHi,gm3V$ޑS kiyhHDm9wkܶqhGk/b%jn^9綿|]ܾs޺'ׯ׷/ ǵ?sFASTL8#m"t=5^ISYE!, ƭ`mUxۦMR˚aT<}2 l8.nhڊVSe֖M1mvƔ֍vdͨReL߲sQp+ZU.W3Օ)m{4*ƷǓɶEey jAySDSsj?gL+oJ?w/>WKffP/^./׍~u:=S;G_βjJ]x= i %q(މ?v7,Ojf2хO>>Gr46]^*шiQL~TX'{SIqPeM[]!#?)9 dT7坝,q>_~n+o;+K)SƒٍxV=uz(vik0uƅwl,e&;wz?^?wrWgͩO4=uNe9"utP?s)dEGmXİǗVVUuRt"p0"ƃsWy ƶm< Z'\J)8T:&8;/p/GzOtV,bIֵxXB;t ХP5gh^d9#N91ͧ1F 4'Hi|BqQx:AF*@ZqNP@ZM@ dܖu0PO$I(8Vn|˗ͽ SY2m-փ%ZA$ђ܇$b)V /nVc5' Apf݉3gj~{}ͮtRp2"tx矹~<~ִo'k]vtVH4LU6,,Vd۲2J)CzbbaԢru?9ҩ*?a{0"6otﰘQD>z1ֿO?@Gs#]c&iϒ:J 󭑴\"D2Xh*FU,w#0NE+MYwm0.!&I"MT0NdlɩA]qyADdR'ubnE]hl&*"Tш(n\޹mwsC0qĕ1"1\?ëo?]5N%ÍUyo;k&%Lۦ,&؈F|sk_m\'KYg浝sŧ悉8tjZ₴U0gB¶ueqOH4+ۯLII[\=j̀U-xHXZ~K|E,زkK;L yBQabL>3{K/,ҎE'R Y%~s3Lzſ~SD,ID[@Q.k$DsoW'/:${./8>LҮ:qfX2D5B >1: RH8JL4>UQۙiwɋlITbmnۃyOgLP{KiX;{d4J(ot\A[p([;Q׺NS"# )xc ܓ1-F3gԟ8*F۞ȋ۟'|3RX]=Oyj9z詇ɤQkDMD8?Y^;uDiˣJxr㊺Zs.XQ %YuKӹB.rz.wA`^ۿsz8|0Sj8?q[ű,?]/g0-oͽ]m:k=8裧\ڇ|w>}N`8 ߘgdP bd]ۦ Ȗ$DBM ϜZQ_诬-ek+B@]I g.̛<]< `;p91{Nʵh7-je\Y>~T@jXW8BY'{C(' fF'-B ޟ3S+ےc+%g~2eErbN&rszw\K~zRv^sqw'7Wއ;&E3,*KTYwVYi*Cef65֐ U!Ȉ %ݰP1fRM*U@ A6ʒ3MɘK(8 rM8&hyv0/M2`KEԦ[ϞE,p*׫Uk6Nnԍ\qfl u[j jj"R2@k+-NMjXZHÇ-Xd]sLl0νD"8s\$ye %3%+A5 )e\u%cf^"ٸ ZSe`BY%Ir81qGdg3֖֮<>f݃CrSS.,/֣rWVӃbs%'z f=VŨ>@xtcWWmU٪I:ŷ_n¶uexWΦζ6D]rO{"A($O<& ru3+ӟ{3lQY!}G˷>(q饛Gh떟 ^Lq4FKcgXדB߭-E3Z,gu*Tw~3iAQqbMmXxKLGkU{@㿻YsX->sJ +JrgiJ g~Ř`TEitlV\~>w_]ٴv18:T;EX:W !gnO鉇/<~esX^X%cvtRrg7qL|SgvۃEw37}msL{5b/)g47F`}u<_[w\xfm~^܂ ѵ6<#֯\P)&\9]zJ2; bk4|֧8)jF Q4.ORX @VH@u S{O^/k<\8I]͍1Yc8Ր @aJ0Ɉh>eg<51~>w=ιJ՟k$0=J@I@+y.@s8t~ m<3ٻQD_8v3E9qm\rXO 1.LU=p+48tFӍT\F`7S vbr#X7[D;9ǃ+Nԛg/}ᡈ{L'shye!ئ--c4Y kη_5$GKz|{d"n}{|X3.s=cm .,c/A?sr{/yZ$ <ػ};% :Y[ bnx7 vG.n ~oU*z1&3ze{o/@-/?;9  Rq:K)L?x @?̣Ͼ6:j8!`<ЩZ^;Hh&,,sv@VD5_IUB?+Wv*;/@f|$ !|wؿ?./L?K_.E›:.ʸ|L6D\sHθwNe]%{YcR콸S &AtL<;{SYcqĄZgىMoÛmZɴ?լu:kKȣ[wWfa:AOA]U7\~UۥZ|t4D[^$y+kGt}olA ]'i56[KX^KX3kSS[.|uxjguȪ<*ۚ3I.JK4 PJI}!p&ʦރ8% \j.C:[3df(BmMNsV}O I,.80͑䚾o pM S ;S-cbRWe깎"qjxŹ*a2bI>WĹbqAPtVeQ$R : \qXT@x "g 򶩥yH6A+5\ n\ȎNb|ֶ7SŒ~T6t!DIn鍳 [*@ݹa8%Bk`lp=Igc [}G߸;l,Jqo̕+ `.{yڝՙ7Hl~~أ;~ `Ĺ#lUv,zl[ZZ|3f{z>=z,)oJ_?v g_O;{v/Ǟ8 P3:yt‚;#OQG;o6@Y'_8_3XQ0D|>yA`K㸴ݿ \x.}EHE[<."I"4"8^ԆR'Ym|W֍xl%qow3.g ``;@+Uc@#|0+'"p D9(0& ?r 11F# c<boGu82tԢ(Q{excZ׶kv"=W٧χHLTƼ5+۽y7}ͅԭдx=~.d[ݾsa 3s|@{|}.me_7p9_]r{Ms,h8x @z}nO8Oiivwog>wU]vm)8!)@(!@AQD$$G1Hf1 ƸGUmt[w:{wZϽU}Ϸ9ҳ]k2:8q1J挮Do},pmrZW2~;ws3 HOF? wgNxS[/ͫ=XޒWk2T)_w'? w_xlw X7Ms$TLXMm_+ CfSϤ b/IEiiq!HPny$i,|&}捽oVɩ˥=]KQ*e~X)AWۯ{tj QYb{3$Eb\Y'VZG&`nҺVA;>czwASDHTe5׆8S*NW<-SrPiLbm|pq'j-(ۺR]tetkǣ,ߏ~y'$1Dpy*fδ*JL@RXGyTU/|߸wo ΃F=+mߛTOȷh۪1)g~'?ܼc]|0(~l"'D2>/ |δ{f^vb~E\M/89Rke$dxݫ*| O'^it$d\$QziƚD2L :Vl.bHo: u6rڛnJeU7\aa|dvG*ޟ^l|uhV2n"D FݮH)$[Rlԍ&醘K.Mw~T&oy%Ec6!r1!:ӦNs;1'0kZ~k [}ge[np:wԋDdB:\3iMѬ\d_Wt{?ۉu AuH2~蛧Q\ :8FטZh#<].ۧ0368m`MDa<!a#l@M\x`4C `@ f؄l @[-Ag;qV4z4nTao$]m'R@+KoROf 2[W6GSiZT4~ ErNʅh|맮'? ͢Fa_ye>ޛgv[FM}燯E.ӸHtDzzvY\'s]=^~~ޞ<-UyC/X%IK8JcYN'bBØB0+<3hKP 㳳G?/~8?'ߧ]-D)ٙRNj}R:_}tjq2 EkK7]Ohl$Ss?mCB U\@UTGU )H%y`';SUOp@HNh.ټ`҂kcxF6k%QۯD Gq+JDž#`\8z/(S ,a;Fn!X+smh,-Ⅎ$Z.ʲZiN<(HFtEzIt\duU j 't)p[} "6:J"a(qJ$2d:-c [+CJӱꩰCrۺR$Nj(]Ve8>kBx:.V:HQ3biYW$0 IDATrBDBhFNcdj N E$CwkR<2LblMhle77^f]W B2";dm3eL_X>d"nc XxYIE/ 1(V.̱jDHEZHx{] W[y<*tb &0I"xoLDɌٺv7Q"ƣ  p xbx#vz |i|Lȳ./^_O|Bnc?mwGY_ѝW̎o+ w|[?[okL7Tpkn@:,NNyX4mߤϮYZyP: xzv4?8$ShB|ѻO}Yb'h<'nh>yrpE٣" cc#.׾PNn!Kx׽ ׮g[G'.O"ogl< wqF!ms<{X {aG=;/\G޺72! `iWFGĘ;вib8U$hH;Cn s$>NSziSiecL|'l%:2Yם Qv%Aq?iRi5 `FR&'K.'מV齓Q1+Dl#)^]]O`Q}Diwcb٘h3~%(N(v)JcsZ/4Z,2*E%Y5}&^iW)zYٔ*CLVu=ΤҵDe=޺!MhM7 DɕerS|x+۞d;JHozdza!g  ")|q}qq $fV} l_7@!\lB<_X`&lkiyo?ysdIT@ῌt_k$#jXķƓKҾnd䭁o}gG?1;G~x{1K-\Wy zͻIol+QIԺmZǪ5b0,8:cYTM`oZz}+)x/&`o V:]jvFV (K/olPPIiU/8=MHliz3մ @It3-?ze'B :c >? ǻ}@,_.pu捿po?O|&D6@*Zއ4IQ*T4y-؜;33X< >GFG1{dW/g:ψIB*͂f)0tD=ms1jNj0 08-q?ɶIR!Л7c]$Dnt8 Y" x8H8}o\<:XAIk}kc ;$JĩZ(.`ڮ+4Vظ.wI6kuȤ: ,Cב_/fGHH%!YQά ηΧSi]g'y"ҲXr{U϶fvMl<5lI{!Q0޸fX2OsO2YE}o Υbk IG~gZ>Șl+HNE^VY Ekx׍"H<`>-%E;Bj)T젮@$H<#H3R6KK_ އT^}HM/  "z7 !9__홢@Du8f7,N_޾]*7&u7qDJXgrQZZr1 z5;CY\`'\dG!/+N( {fc}dA{u?%5ٮah:ocD}̼q}gI2l_~9*6y2NDg \5DongnH`V=T3{Ko\ /f,!"ςY~|p{~;ԛ l_|kNN 7nc}FȶiDDLo =a8ՊA8 N)g:>HZδiXҺo8 zS6HZUٵS\ozO;.Ăy58wo>|g>yZ()cUK&^f9>ehj͐ahUV>֦_ZwNKMGҴmW橖xB(yF,Y8g5 {יςCw!eTjպ(6"H'1aoܮQ9t!R J!k:/๪Αy1}ze=H6.a0Q],h'd<8RtyjWIp}*uI<EWvnw閵>R&IUX92=x=wz.Κ5'?}}I%.!W6aQ"Ʉ@=I6.btis̙>CG!|Mdo~|pyq2n\J`võ7Vgy×c,1L1<d7ԙ=}wxo;_/x?m*ZѺ9>ǟlg< Djغ:C$ds0.Ì JF%\&v"aoS!ȳ$eŔEX:nSM AG"sq k_A?2۝w_;@dNn}.rclmOC#%B5th;a|2ͯ<Wn\mXne_!;L :@涻࣯޸;Nu8tmݭ&Fj6Gzu5UœY`X<-ThTq5Lyl;O{fVdzx/،3.v!|mAW\v-+7?>{?].&o*_iȉGqY .,NUW=hٵi5tIRmeX=YDMcW#=Y.HuZ>=H"٬ һʄ<тYhmeFk L'/W~>{Ait)VRr\֦ې|eo1t:.GU߇O?m[iշ6J#:rMg|jUQ;;t-gk1eOF1tA+>)u4 `ٚj-&(#:U7lA6˪/ݹ!0YrӬ7IҼLH/j-/VQN.Mݲ_7NE_"vʍsC ACk]p?ټ[\R4r-dv"Dqu|a" k}I't2%!PQ..1 !e73HLB/w3myS_sM @TGIwRn kq@XC 'QT'a^pHY(~o0),,0;m!S^4ж]]yFe?\TX* g< h j GEx_n_y>I12mkCk߅ZMX 1}қ'<S;G2m'SC_RˊփD4Ҹc)=R*YvߥT}RΉ ~8flsG;iԊn\n<+oHvQ4;ZCVqﵴQ*L/VIso|tzE( H%%RCUw󥱽oک[פNIAMh,>/ҥ>l >x 33U(3on8]ek#0HB )ORQ$PXipԊ8)Hi:/i($r@B&"OR&$E,yxg2x ZHBzro/ݾYwsqx )`_xK4n )ڦcW΍[Vi!{v2܇@2'[cM@`gP9Fu+(R§֩R&_ǥ׀ulN.rWy4sW0͹i/8Ns|(RˠQ93׷ԯs}BZo-JYEŴVY_V-zcGJhҷ"#H{:cE*0P(Lcy?.um^7 32+z2R!,.67}2<ܙ a}B"tRGPZ*Aq "")8](Jg=Ű }_ϚO8!^ڣy9 d<3X/VVZ›zNwcqx `{l*_$O}+~o<>=ye7'7TM-+c)[?t_ξsݜ_ n*'O8<͡iX@OF)ϼF#^ $ӭ<n CBֲȻo\ ]ljfcݞ+'[=^uS~M[mUmͼMU@TRdh"~uLNj⮱y>ovNz]Y>H$y`l6mEb8IH?j@aYR};㮅")e9v^]~VH ?BWu}sTB4q'A ! I$Æ?#0J˥-}s 6 .]⊈Hhf\u90+BHâk6B<-$CR$6b8}Wo %EvEΝqSpAȡ3{ q)lgl:;] \Dn$7 IDAT|t,4?j9ow&NGӉmՋ7fcI!%v윥̵kb)% R馻Ӻ&o 뻊t %rZD$ڽt`("1[x?2uL8Y7ugQ-QiZ5Ntek[BNWn~|/~:7tֻw%~EY?]Ŏ21m `M/k7xƕL!kKl敿{\utxvӺ#S{f\y0v ҇c6H:͏.Zyqj |z+vp:#j @I@"#MO~׾045Åp^@ #gXo~2ԫ%+Ϻ On?ctjEϼ{ϭ!VS!sk Bʳ ^1zd2Ie9t Y@忯[)hT=QGZGbuzrE-J /ȼeހX5.v[Wx:yp>o=^w.r 2ҒzJ9}<8sfjXz Tqݙhb(Q^(Q R3;=:J-a+X;];u['ӑ_hI"^}c+ؘXDA>\gLHӧ6ݻXQZZ^h釸Qu^{;{k anVՂ\6Jyu5 Q'y7n|o| `ݦh])Hd~zC} ]$. !zLe 77!ڞ N%~: ~6<ŸQY6y_+/SbE ([)6UY0r;g%)RIn"J 7jeY $L=~ce ]jveJ2݃ˮ(>r;^e={XW>uxQC_}ӟ9u4aFNڽ$Xi0Ԑ97k`Tn#5rj%|=~Ͽ{{>o"m{??>YV]? O՟WIUViFbbت5Yt&z䜉`EWɈ̵dl=$[7"ex|D̬cg8\3v 9X 3L<('Rɳrv*[=_l?ۙR8ۥԚV3$ڪi lQ&DCem'±hz+4UuAkb!TХumX-O$kq-e͂l]Mk^=u&4F l6 qLš\'/PEpU*Ʒ CL@b  Igg=y};buGuջv?L.-WmMYo$w^3/W+ئ {zgHbxPGZbt].E.ɡ3&dJm$d8Y/fX84VJH*qkL(KF;='R{lbDw23 !G!xxF"NÕ@D=Ӱ\ -cP"~@`1@ѕsvAS@ 0~myf cX?C^@|X}my],I7{rFcS۝$R(œA`&J0i6a?nu_;'ǙJQF28I1G^/ǃ$ٴ5}g1g[lU^ˢT2P}6J%l!\q1ztؗL7ñ^BT Zp5M7#k$-ɋ=&%pɑ lueݶVs#βho0b`yӶjɼ(bT_ ^mqx,eTl%0Cw;? x T3K.s2x{Mqփs {ψvGg#kc;ߝc[(eoߘ/õ}!jM`16`) ` {Y/ځ'" xU,jc`WPxD<}Z,AxW ;86L'21s)TM&4;Q7;(K[v|B/#fwY_h;a\ޑLoV!&|]d4A| 賈<_s1Q̏]!"eu0!%ih!A Ţi'qj4=(6lUPڜgz$YmVb[<ȋG_}E0,H'} n]M\,Z;?JpbAh :\bN*4\or} @낷5`۔(0ƶ9^]3F=qz~ @^kc@ڧEbTlr{O3 O]5IlZʔa%Y?IJt?[9cvzyr=aek]h(6:u yqڹyB ɃtFxיzMM; LئrrE( ntW\<񉈋-JUi_mYM&Isqn[Wn\7U-x8U-"OCe&b0ToqO-~Vwnڷ60MY/]QvvqYm\&˪țFv݃$_<-6HE~~Ї_3|=;̟8^؜ޔ::PKE0n|ˇ @cgU/^K8SXk/P~I|fqH[G*  dp]˄hArs~rÒb{w-8K8X_wgmV_x??2z2x(9&6_yo1t"8=t~C.&OUL] B26NlUYyY*ˮhvpR8@ .!8$1Oa9}G՟M?ĺ$eǹպցEx+"!j#!s$)ςH<ݿ~$5,Snkx>i{nLY[DVz% %*btSe\:Z˷{:PHi!8p0NͲl*\CΫ-3o L]1/tU%0|epB^(U2NxU,IHJ&'ylKʐ[M֫5Tl.) ~znlX;y0{9L}[+q6ΰ@1!g3[%- ƈ;oW5y3nb!\o tyK bw>`*歫7nbז4ԟ|:Ӯԛpu9K">!Wt|٬eae 3:1+i;o|ЃS#'(u#D{WjCwͲ2f>RGe][fM`uI@p]Qűl%ًS6TEQEbۙpk2 d됈٢t,9/q_XE<1tzն,=?m[RX/DV smZԛ/yp iD]H1a4k_|6?/7{O%g~w/f~ᙢ``U霠[ @elgBYͲ"x}:wQ"faL"2՜E8 146x "qVa#6C@pAF mYj  vZq6ɳmQ+]Q@$"32)Dl4(.pynFVNm:gf}I2ϳ%ѱH$$T886d%L'2I'[z:!CSA&*'Ll~v-]Ulmh@ׅtǽ{DpWoϣmˇˋP7!IW]eUzWeJ$uvѱL1jq~3-mQfI X/R7L*Ή"\HƘ: #N"$`iYwZպC#x"Xn5oeއAa7ʥfkp @-!qs'{GW0Tnk_kˉu3{< ޿n6Y*S]Y2MDdE9߶i䃵5֬Pw՜;g4nq(q^&JU)ۦX~ E7ȏxZFZ+@ \lǓۍƯoEwb[GFXu[+ = m]T~ ">}.I`ɭ0Fv ഩ%w9x[8:xQ !&j6}w4/^,t(jw0ex4c^ @2p8<4몔M.UeH)`"QO<b ƵX2,ZTolm2DW2?lu6m/5fiW8ͥhV١nuIT:6B s꼖!fI2zT,BQea(o~2l*rAd[(eE*$qhHq]kن80B/J=mݞTw״v{/v[Uu%(2 18R=x{`3N/ngL]5*򨸆ܜ="VÍW?\ٕ?pS.-38O7L]OQN'^EV ~2WuqySh\?@lYխ8!Nb Bygu|cT<.WVi04MEt4Zm'$$K1Y 2{g_d 7:""gqU[q]?llGAh!tjwou{;=K(i/pa?ɳ1f{x 0H3Q-((:'EvV1.{R8`(jZ8t(dqxۯ\f[*9ܛvOK~_?FMI_9he.t[mu7׺KD EO݊3xo/Ov#LtΖg-l>WCwǺ&Mpk?7T <\kj3$o~6]kvP6}┻a`h`ҡ6kI̸YLr֥0p|W~?I۹!_tołUE%X8lx Z Un^/k(&in6vibR'},Ӳ]S-XD"N+./ $cʴ&*Ţc]1؛8ڂ4'p0,6ئX<ɷ'|1mz`|w0Hpw>c;io7#sسb:<[RcuPIvbWC8*/wf]m'e[ =oVR\cL'"ݮ??LTԸ7ss<FRc^Yĩ̢^nkK+8 g]5!ϲYA^6^Ù5Vnkng6֫^,!պ3GI03s$^()25ĬVu >/..OT3z &x8mXY)lGU_\r;ONl."%8Qۈ#8&H'ol32O]E";Z;FObз?_h>1??s/~ޗ$:~xlΦ<Q_%sf~7"&cQǞ4 #cjVV1.Fղ̝uM͊~68$=H_ ZlNFD&H' w"8O|-0کꌮaO$*?" _+tʆۑgmX>~c7),!7Jy[|<p;M@IFY@t|ڲNc|KoJsUS8O> *sQܹݯvhOiQ]8&@H\4-}bktIԏ$"gnnomlmYaInF j]rMJzsF^[lic5mA!8ƆZ݂'RG8/dHz]Hy2"\2N7 ]j$q]Z>_G҄ƥ ^B_Ru$6(pރ1v; !<6EUP `:$NdQtۯsG9^ĝmf{g&Q΅ K"Eei6kUDx;{9ӂ^ khY|"=W/>5P=z3 "efK^SmMPh, 1N__44^>Ț"Z1pUD~ecmc XCB±Rl68<˺ap؋ڶi/nqF R:M.ԫUg[U•߼-/|2Hzht RuJ&m:{bՌ⩒(Mj(Yl{;'D*O$! K!Δ^hؤ a @q/ZfioLJy"6zY15eQqzN{{Ixܻ(Cݶ&qnI̹Χd}G^궴Ggǂ8mQ61`68DI!;ؿ9v&7Yz{Q9CpuYqۄ+2ׯ? W|fo_ f>{wZnJpէ(x/?^FdL`WI"roهˢO6A;HfLd,u_d|zKF e9K~쪜ZO2uL%kZRoZW >9ນumUh'PGԻz9Ugޑ Dqp[E=s\:d4*VLrqNr7L O4vqlX(+^oLO\V}H EcH*7`mH;ڢLW=}X?/oU~wۊf}ͭXJ6j 97P$tVݯf(z]肭.O}/􏏾ƽnu?j;M-uPwh`W7cJyh5k]+:Ϲ lcj@pgKӓR*[7+8=}pԵhyi  ~olw-Fr9bL4eNd]H ۯ<26O?{*Lze0aTܑGh,ΈS'aIY_%1'AqVsUڨC8KumHs,ɒ0/lEKjYXApҮ(mh6R M2Lcvum]-k*.;\*1u€+[u"(=vIP۶rVDI%7#۫uU4xUm5uL4i؜ MgYGɦ޺bYO=*JόoבP,sl0MriTۃk>";ﺍA# 9}Nt[@NH1F`_61.vuA CtuQ{Bo_sL5[7\ovk!"ɂ^}`UÝ?ȸΟE5|Ϗ??kO;SIgYLyEm+COU;LưvzEXǥAo/EB}`j۴~B_ƤjmU=SEgs#L'_^E4h'utf~?]^^lx,=EwN3ˆ$ {N('fE*Cׄm }~Xd<<-*m\("8֓F!,K{3, s?\^'d$&|10|7n?;C5S>b_{#1PgNV݅=.v;ļ.Y a'ɰ."#oҸ rr|!)xb"ئY$PԇӠNۘ Cl6QcyQ+'Ce6E1I cqm'ђChs07,}[zmJX[k-OMd./HH[\cC"d AӼsl5ԋ 'd]JkAzxu/]ޘ#V.+6KٞRs 00qܴ\EQGqZF下U֮W:J <2ԡy خՏб,W瑄B>@S=1 &#&@~G: gt]${͍1='ڎ+_C<lWi$m+nZ6I'o{3n|kM&333 > ܔ0Gp.tz/~>R2Vdr`:c6-ژ!iƴ ?ԁ:F޷qϫ,!M>\<tx8[^vtvxCQ /V竢Hy7qT#u'Xj)}b|_U[1"&Bs뫢`,c$d82%ZKBw4~3^$r`a(Ok_,>r)6D izw xٶ5;^[;jO\lY.7^5ȐvѸ. z6_yoărW?{T˗ˢпL, Pk/0|3Pms `ϲ=N=ȼ?0W#Q 0Z.um^q$z)յCB<! DM)TTd=Gbv$=|~?hEs0_jr2G-yɻ7Ef6Nz1朄`+]0Eq b['4<(bdDs!< bU8 K8${Xęȓv!qpf]`/6u5fָ1 \$IBi=up6 1׮ԨrdhOmh|(({m m@mv& 4XOV:(HX:z]4M-b0"튻>ԫzL+O,s =B6;Y~5EvKFDG3};|!F6\g୵cli{*-f@z{emyzH?j}+8.BpCJ'N;zcķ1~Go3[WQa80m$R9hRkE1 \c;6uI+rV.f] F?_C*t$|[h$3]u8N'ߜo^&N3{'喑d׎(ֶZr4f6]] Uz*c.z1Lygpgnݲ56dIh_U\^NG.WVƕk/f&0j<>x}٠BbXW>mxD2ubKڔ@1Ĕ2 ?{΢tzq uX{a~]/_/zX:Vf7wl˅$@p3`Z߹鏧,p~ݮYlܞNK=I‘ AQО.;pu^`ua|srYЏhgw"(in 0-9Ỿ?K|'&Ѡ%]V[R'',x@W] H "Ll{&!N  >hg۸z'Be+=v%k gAIAƳ,O8y"Lw2 z6v{\"'@]ܟZg ?O|3vM#wXPAΚT Rm8u @ee5bY!{ o{ kŦomGA˚*V\:e,uyҵ[O,[8!BLDuixgLk2DqЎ@z1PAW%ǩ&JoP?3yǷmfJוyDہbf>:]{ L]nYd8h)p T`Wu{[dSXy[ճ|쵹n[oK|MӅkiF!ȇj#Rʒ%΃q"1.zkEj]vD'C[&y0"NeJU{|eo6F|b'a}vrfd_E ޔtfuIQb*"ʽ'oty ].enG`JǫbtM/{olkzw {< ܱՃj&Krdv'*`T( S(\T*qbWb;$[,eZ=޾}ŇPp?w]z~N4om[pN梫 kv#n_cSՒd9H3%kA G3_;k"ֳ>chzK[z9<進xp0~Vo:)esYe~ 9LT&l)k{|c8Ǫye֋E%Tm;,ra?fG&ؿUU uzB?fzUuV$N?bRá5ϗi5! Z gYgכ g’_tEQ^i=cޜaM YneL[ص!`J]@b)UqɃ(M;LWnNrGFr\!.9ы#.GNCshF@cs"K*B2Gݮsr5mm{sG{^&# kf7>pWCa,v/Kjt CΌ5۱.!s֐Sͽ z%{cnj Y.8Jl,V5k0~IEvlBp׿: HBh_" VcIZ z&V+dIۘ*q e&9u3{pibSWF0iuxCm:KBRHFe5q::k{Ug]A1Y7vԶ4Y0`EvM@t<8~/GGJMq)s nV _׼E^@$.`FGwsfmA n@c̃=\u'wLmIm hsm M dт|.5@`Q(L^6bËX=|'o-U>r6܀8iCjZ=/,\SgCm@Sc:"a$˄Q˦]H0bNu? ;|UE^}2j_+~ԣcxƋ͢8r*b ܚrM8c0Ս*nJΒ2*@Ӗ3CJ=oP"m_^mk,*_JS+ |+"Jq^"^Ԧqxs>LDԕn* ?4,_ͻf8y HQP0Ɲ#D`oM%Z%;"cxlCN_[9Mz AW7]-2؅fGG,5 WN!wE\ G檔aώ -GgW¾B8Bb5"aA3Ɯ#k-ZG6#Q ˋZQSW٭O-齳7Ɠ8 S5sjO7m 2?F֫< $㒱fC!A89:uՆls7~0.8ȒVHݺtB8,VU[L-G! =x0p.hl@r.7Z zȝ6~3nFKtzѲU3A>_Z)TUG9X0ZPp{=4%2/ Jd*<~`؝qq([V IDATOi\7oo~؋ɴ#A]9N1Ɣ2ǩ7]Fa_ky>덨|W{̮pp8 Q,}U;֭q᭬7ښi!zv2o*\r.7φ{_/@?8n:Dz t`MZlښFi XE0osq^"4U45Ul]wec"=:C%2FuX`=?b_~#|mLo^k?'+GME`F~ RKTD^VFU-pm`b~'Xx8>:em?^Y~:8Rr `bdk %('=u`!̶["곟^F/~dv4:'c~yei/N˦KF V-E;բ&d*^-zdʵji5i#|ԦrDmЪP8vڀAv 1 un/= ڲ3%C7T*<<ʳ`'e Fb9+YuWO~jot:FWms(rsHkj  $c~z>[ i?CRS~!o`Iy=68Zxq΅ )c1 yTYGQ{#mEMZaY[d|#;G>$ߺw᷊a 9;n&_V}1tJ02- %%3ȘeÝ:Vlp̲- Yh9~Kh|a1c[eZwIR``v[Gn7yF"ݶ/;r YkE@ۻ 3Đ)qs!i^B$,+v9<^}MܓZ"Jr:8/M?3^/6M{|,3zbm/C6\gqIt>Gڷ bY4`iA\K]߄v5<2$nf[z>y`gd}{ 2w210c{ZTť<⣛:['$K \*l[5ǃ[ܘ4n,Cɣ=yE>[φ]oVy)*q&Eun5 S5:};Jϟ?g_}Opӟ~/w?>Ho m~˲s|Q&/9 AX'CeV:>vukqDPŽ"Y)D-7!\,3v~0 CܒMH *L""ۮsfg:E#Vo͟rlzHʬYu/}.SW4,-ׅ"9|O%h/ rlGZmy8 p[18s\u*xuq-9\AyQ& G[z{˕vW<$lkw"V 7%5b:DMڽ}AFPpFdfː9YkAĄ78|mW( ǾŇ~/_ޏ?yw[]t] dQU?J_"8޻q^t*;wi-buյjttY-A>H_."rV[csr.e}tj6e~T EvÐD>`1?8bRy'W&eT=GJ+uYvdoei`);2a BߑY̌Xm˲WJWNh! 4>+r-?o Y&|dK|>#2""2C$@$'pNlo#1hŝa#h|*?ͿDz];B rv':{eyzܭZO%~/bZ4;oZuV|_%# R kVAc8#[Xe8.'A:z!:H!y5|gYLIbzҔK_&CyLZ pI@-ʕya{"bX&d+?y-K [fiY+LxaMu. 8ɄG@k5qZVefC)њ}hywno'8|%1g`|0 IxrUhv2 u@oPNPp\]^3 -P|p ƙ<Xչ ^OZ|Yy vO}GBh~mPe/9;?ӊzCؠqś䧞wHv}9}9b?:޴u|n2PkM [[hU^$QN;k|-vmwhrֿ>/\{\j(ヱ*C9ow5wKu]ר. <%mQJ/<]oi_mj$)B6*mľ{ǏƕżQf6{ Bִ:owT{X†"m^.s?#',^[TlYSQ$ c,KRϼ?2E"fLF|f6g?RG7qvms &C"= %!9{eꥷ :2c)own NiwunO BM%H'ĕ+t#g رv[fɽ˼Up;zخ+;9Yȴ\xs"HY_|矌n>, ;ݨx` km], .U-0Iq'~'?V|oܽK}FڹB e;C+)kK*_) <-y8"hFt+k=XtH7y(rZIW,`rFA54w8󒢙FTu9VݻϬD]vڣnnݍOwuE\_\<[d4Mkz&~PֻLMJ87gS`E87SG>ޞls+MW8=ȱ^:Q_k" ұ/^{4Y@R;͈Sސ~?_u/ 7E'YJ MTKլ2q|ق{,ڌ4iя @~ y?VDlhs.{)21Dbq . }B|lzWv|ۢCD O&6M 'v{m o{鯨WI]Z|얝 1b %&D܁ q[ηO;#)l;238[%˄$ADdN,Zp[)G_zE>o.Ec٬şΗR4Q?8\Zy>_'cm}]nL t9HFqۿ5{޸wg3} 6{>q1[@-;] %2 8I5{>g~rwWټ{ӹǬF4vٖ";%%ͦdRLȉVQQߚqFJIE뚸nʮ{8[iCO65ݪ3tzQC?誙&rx:D^B7M+녴()iCEtIE-֤kŚنA zQ:{݉~/_w=UYrɈy#ؗ"rtI? EDgb5g7or|~z덓Ak1UwF ҡ75-7&msV"s@5Ƹݻ8{?{߶-I?Ƴ[bl} `=%4KI+T1'%|[wuh:Bv ,cpӎ WNWuWr.N |{JVwdp{`qk|81~[GCՖni+_ R}rGĐ EdW{A!sAȕ%qQ^* n鵏^o}>cMSnIǡx~d|=. D ÐAvtNezûgUu?N*o\<ʬ]Z9Q IDATr׉4S^*j%&Tֵi5޺D.bV([ffv]/pNdy.2, z0Len|`,M7iߙrx~oENLJҦQ4# iaSYso6lѠt @%fꎯ@'Zܜ}4{xZ F T 7 Z?K(R ta "ouGrv݆e2A弽xdU3,H[n^4|WJ(KC'c2o%^62)= v}o{jbWp4w]9"8c.Bh7uunic2TvN\],5ء+nI9wׂ@t-9rqtğLb7޾+$zUrv̆15QpȋW流 |#fok:sdxtvU6d xP״4/OYH(|k" Y5*Hak.`tG ng&벶R.=i##pY%7e )x z"u}-ZG~8nܮ3ku)[{f[Ϋz9YnEKtz!l*֖X*[ÜQ耙1t6$z'|i+U^`V_JUˎG] $D*d0 *kG W# E?@ XlLgu,u`{d|{į=>S,6~eKM=uϵO.oϿx0-JH|?ngw^tݛKDe泟~3Ӽ|~#lH[po`z5O ,x)GGks3p]TЏrhEB=(5gT~?jvPu7pݢKL?egs̕e^u21AE:F1xTsæ}"LFI?4y9/ʬ*%UJ n fMƋ@#llZnhMh56,4X 1ƚU_n3/KLַXrs߯յu4M w68G9 $^6 k2I8W/lg|^i^ )K_3a?{g Ӳ?8lTjܿ_Қy&HyReLJ]ri=5&)EAjYhi+8us٢ ju@ @KI kӬK!U6ϖ~ʥCb-h73R'!<wOզ*2)QUAC|-fE<2l1s~ٗ>{)W'^FC'YPUM$Ynz]PSZ!F@F a@KQHQF<۬0"枾:$Z>MzL&%uBEVT6#E.<'<4 hpÁ>Oq+DkZ))KD  %*-5)Hk@DTRks ےBb:-Mv2gh#k͢A?v;?J +wݗҗ[̽>eWu.^s>@Sðf{),fÑҾW•+_N.s7IFlwMY^Jqc8RJwǵJ=ao͓}-.@X8oZI1iTaDeNʹB*;=ST-Gb2KHIZSk (dYQh:a QIz@u O~Qe 0[)ȹd(2RCňP{0*\U 3EXն.u_\}y!J]VuC#˄ xq/AEqQ:2be(jEwy!2ЧR1j3`("}?!EV,hMb*&kYQv Pnj\{_CTR:>3IVy:coc^bFT iDk[&P2AQB4tu&ܥl7 ] dEU[B-U}/BRMs}Rk$ >s^G\}&6j%(65j j0J!!͍^H@V18J) Qk!MDHJP% FU-)#!Dex! %GEZUɲ,e]eN>꘎w l͗>z~k5o sыm߸EFm(3Q1Q…'󫛏:N,WBV^8Wi!lskEd\X.uRU]shI@ 0t I}x@ɀ^)4CVybݴH~=5?oL-tZ'g}vDb5ѺO,D;Ǔe6w6M!qWz7}|RÍi;DN'NW lbFxwoj_-6wzہc}[tNՆ*mj jXizŻR&mG?X޼ٍjczㄞdFS|cWL'Kjؗ#꨿FPlGFR^_il9y jE~g>cWO\fNN&T9QAdTQT{iA#U嶿{xAi`QG'KiYaklv6igY([TGe0ϔ:^89o?w|)/U!\+)%ĮmuU[^XWaq4~#R|x[k?k_>ǾhumX9TYoԠ $;2<{كKXR[p%}mA>h>Bjۛi4 zD^[[^G%;-meNZvviy֢&Dv*K]$vrV\$Zʓgely KZlb9A՝FFkE“El2xbN8Ŀ:ܾ\H݃pIg@][ֱEygh瑫--~u!=:-X獢ұۼ#.?ԓn0cx"ښ'f/%Ƒ\P]a!dvX[{Tb/ r#Sito;%B2,f&^w:-yHFiQ{3pcܟAץ v[WJn^h c"-rm*$t(Neo)>^\͊#q蔜R(Pp$R%Zu9Ȧ#7& JWRURտ.Xcl(jYRɩm.)-G*QO'N3K똖?{fZ6%T3[hFϜ:j) o.*E\E2'=++~w Y.YuּkCο2@kZ!ֿv 5$U~4)k45f`K_UM&I NR F@l1"8GНCsDl7Y@4!V3"U B !4&DM niu/R8^.1dPI*u5'?c[è_LN6[$f[q-DK nXSzEQԒ'p|L';&Nd<^YlU߯o*Ha ׆#/1[hrqG5`Sdd=Gn&ɍsҭ,0H8{W\[KLdM?|卷 /^ydž7k^2ha,}O2O/.)ɩB#n];8|b!u_'E/ѾLz1{'x IDAT6L+!NsZ;qbj#/?K V^} ">>8g9=3"?@w2.o 7xtiz}Nd_/etV%X1v>Z]iIsϏLXwʰGL'Mir:)~/»[>d3So7~ճ֏Fկ=zf.*;?/@Ϝafov~2:mqb_J˸/>#>mK߶<뽒͖k[i%ޙd}DG7[kkuYcIL ө)4~ v QxWE֟0K~9o耍LZ$)Kuf @߅NE TKs7t%oxacwjY+$3 6N_P-H Jn%s#`cQI(EРJu&VJ"!Z+qR5`p=XiWElڡGKAx!(/OS5}d" ??wt9Q=`CGiax8$xv5cq<.^~,Di( a.2o^]N.}('(O~6sM,eVH8eM7Nۗin6s2 q'7BݙPogr>ڕ#'Gw{4sjӄ;O֩'{돒u_̣-_m>4?|? K7!ID`㇛ta<ۖ 8q%i]BOѬ80ȇ;Cu/aqgQbqlo,s[?"AZdhk_afAJgبXƌZZfʷbd{aYlbI!1magx~8~p]&7ae1MӵaIVd' Z$x[n-~nM.zԿMs3>k6y~(lZ&ٖ5QeKqUTCֶBVYmQ4}],Gz_{Su aP~DJ>oI:43^W|"b+oyZGcKa G5ˑ򑖩M:jom/#3{cm~o~zȻnuFLDJAXˢ?vZf:>ke((/[vg~c-#"4*:(`Ef(uv/&`ץn,xLo~ 5Zqܷi֟$ҀJH 55UG4샐VՊ R"(8F@H 6:VDz,:h-ҷ{I6=EkMUapu}on,i䓽36 R~H xkǙ&0ۯK*f/N|Ak웰bȔyP`ĘW/2ŌӺ0(2Id,]I Afǝ5,k9)QT\RrB()18"xT/-jԋG(,KW[QՔ)7< ["臣lu 3C4/uctvnj^IeBӼƪWU 3fQ/ӵQ%Rb'X!WNkMPľB#|mCl*_AhԨ@!!Dn@PѨuWW'Ps/i,1 CU6RD#Q70jLi#1 n4{L੍o?M'i}Pş} |xt7R$e⥣h`vnO{/M3=/õKWu_T7Yl[G8ݣTXg'W/>.DbD=g3'yq:O4s?arL qlW F:'î㊸*~IyfۻQ+5ڝMiEغ;?ktZ|ty^Tӳ0.9V] 7Il^DE\ʓ,x|?|+f=axRΨ΢-x~ZqF@ZY\-:"7WNǎ;7w6g1]u2oȂ_W-o9;A,7h4ho8n6m͜>IhhMN=&ёqM[w۽*+|?<|!&tGA@D+jک6dQst\B6[Y6ĴQUZR; .fB)QsBNŒ|,eUCY /2FJazfehÖwss긆uX&QMRO_S'Vb ! 7eY Ggg>GтjRrG\O=O}me}]y۽vȉǺӿg',|G{ZZv'K&I]Zx̎2&;u\XU$|pF>ݶIaֺBYǚ_uX5v7e@I)A ڿ޹A [j TZp!xԜ+(*ADE4jiQE=mTN 7_zV+|0~Mew?Y<7u٣b7'|!ݻoUyrpqA<pB?<jvfE;ٯtŗli-$`!:U4*sZ}p`}FN/Y áA\e e5jl4F\Nmʴdirϴ7"v1/VgBXQG-YPpݺ?m\={ݗO].lպrIupnҽLΊ RlQU7?hWf`{qo}BvRk/&ͥb̅ y$hB# 6A]E޾_`Qd-8gEmZ˲^LIWKg?oy/AO-y'zd|]( I˪E$Ml;}Kg˂\Ӫ=j.jpԂӼ.2-ark;ݝeo`$5 DJRu262G ^9ehDƔRs0B֌1sALV+֍ҠA"Uak +ڪ-$)6b jɑμ7iX o y à^ihn߫ +2V!@UJ?\+c+Ϻln|ZAde$z(jt5fJU'KBVRbZTRDB=7L w^ j2ZjhqtG">3dGK7"%{p=]N]q pƼӳYg>=vڶѰl3l y$sJ|WgsFA7Q[nU^_Yē^tҪg(E;l;c\Β(d=2qBn̓MD^ qr^<̗HS1;wwd`VG,=zt[9$hdCɐXMlz:. [~)14NhQϲȷ“$p^|ks3z.Y&î-LJY޷_A}N*wa,C狈4քX2/%jyde!M8Icj3DbnsY~O& ՙI˔TkS@ < +Ye֥bqV6(JKUy bB`$V/=DCeveL$ ):>2ɢNSI%w-9$}/ךEf.c[KHeX2;~ 7V܏ލ'_o7vَt.Q̅S4yQ7NV"'V\"[̒G؎ݧL(u}_흔,,R,w2; wף`Z+)8AUYʔTR45!)yg^e<+uj >omV' 7on3EXyAR~88~ḢW}͠j?he:W諑*J9On BJ+DAP@Q %s:M4X`8-lԪϖ?=?)~7q-jQCEK-mJ O!knludM.LY^;`k;I1[ȝC$D0RB@p?>xdgo^1B $ɲlI*HnRZfQ˦FEɴ,Whצ*),k.! 0+edљ?NraFQ-K]{6+$w\ϖ@+l[L Mg/vhY9.eYTsQ2Аd9W% _,I\TZZ֌ye˭7'f)dRo'% ,ZDH9 ۢ!QܠmzyV̲z1ck>A*-x̐1ԉp"J+L GԥBejEh3-3а;7kut{=t}8a{-7XZچ2zmvq;[ξݭn-]]=K 30 0LU lECl!am"Y;""[B1a zz0aYk=-qAJD~F*{ginE;Jmλ]2j_gsKVQ[U~ƢReqn˱ L:85K2w/s>V4¢st 9Dhz#2zsY;VTwY PwK}!+A΂\j U  eEX!l0&B0"$HTZ#!%IB5&})%@*Iׄq!Moiu&9emtg 9Xzkg\׍X}qrCף[R㙒p}G\~Y LH1®eDe۬Q]Y>pdYF5d<=B<˥ha0zC72ӡRҖ?:yڼx;oMB" $E텛bB)&AYYJ5=|0F"BX*@ 6dyfv]ؼSLɤMƽHa"1&ӊ/~*Q9"hZ(5Kih%& +R~GN,#Pݮrn+Q}9.L~'%(@,TR{QN6)ͣ.Kyo<ԏLT ؽSDH¨Ps((k"yj QY[#LZDkXR )EpX-P`9UIJ 3_s wáBNt>F1 T۞yzyغMOQ?j3NRlJOռ4~0l{'lR(+ r<iR,sv@m~L :AE+`)-!Ksp^u퍭!60f{kP횒-./vP#6/[`BYĴy؎S3<=oK㽟F?Ǻ_+K4ƙ2\2FC6}\Ɍ:)>!:7]aa3-[9+MiW/bdֲVwM{I(Rs 12DٺiEIJh g/ѺKh4(-Xz:ds|wseb ڭ{)*I  ˣP,v BxD=s@HhZo }.8hi{pw/'R-%3a"~(1/r-Dae|m1*}qUv]ĊHPB +DBJ#EuaY&[WH0RɛB"Ίb<~j>s"GQpu-W+Mq:Md]kD'G]4d9%P4Gec"X5j'K+ Γ<_awwF{ q*5@T!`A*늢 L´b'iqTVidJ ͍DUJU1ĖhڋX _B?zً}]:L+%0`% ,Ysvpʍw_ G`Db0bꫂ2R&i˫]9=k]:QOGMdA0 FgRV)1Sz=UѓdFy`]<6`Qhj\"*ĄS&dodŊ&3KzHQRCBLXkz}qʉ#sL۲2呢k,o1nOŪcjqTPHM#g(gi%ҨíW%X0TێaK ̋Nhky I?(i. vn(rfKg#Y) £ō,-G Q]j-I1{۽F]g2E)isY ~J";3 e0Q:*6$Ѭ;L,&˱xENj1$%Z ,oҸ,wf%]'vZ/G?jjَmr`<ػ1@M^cQ E[GZ9 6 ihLEQs5[-%I2.9d{=ն1n4⋪HiUj/UWm՚y./>5$W`457- /%vC&XͶR wqtjfSf^DaXԸ6=EUl\߸Bf0IR]%-ks۽f%#]̩iU/ u Tm.+H;NSD9R`;c15iքPA+'WJکc0.1! FBHH@1ɤI)Ĉ1R0 pQb`Lfm*1.܍~?uşd?q48*o^i^)Fv;:v˱+Q ENz=fk9A lqm~;a; G50/!ܠXUQ!S*I*JWms[!@bb*0 B2!vhǩKIJqX@q˸?>d}h$KFk?Љk:QDR(0ڊ*[SG Rpv_ӜӵGeݜCh#FcnmHsOٙ%I\M2/*d֊,evKI)4w ^zql)JHNsC(ᖊq-(9 漩005`g;O#ՖD׋$ -Vp2j~^_HT8]8YLA˳J04R0Xl.Nwdzܸt"וAR@aȁ<7HOpd9N3iʰP+tGŕ_ԄL,.CZE5r}1JF \FhvK(#ݏٱ%:^:gs/J]"HFW;Ĭ<Ҍʌ*Ys.ʬDp9 L$:~ok[ϾKBluwB'?6?xyk^_Xg}ߡ<>sT\ґy%oӿ,n{_~▏ռ2c~/kIw|ȯ߃n7!{7}_7P̍seymF>1!噵5@cL:cgN&7R=F6$*{ a9amLuVW\ϭFgTQ"~#V t) r?sfhccCJv26Ο3Zt~ccm>9 ؁u$ٵmll&m66659@hi??( 8: V׮96`ՠЙ5R"@ll<VV+ بU)enyV9`c#ؙ|Þq6an]}Ͼ'ngg_ݺElE}_k0'֗]W1͛ں[X}hGߴ;zy~8w;cِyzۛr!G)>TY>s Ǐ<ܥk0>qvG N}AfI o.n=Z ò(8/6g\w(W~!YCqq.elSe"fR|xJ/31Jj_syG-;8ַKAjij;^:/-?-j-[_ړFt+C\wɓCxwzo~Ͽ{<7?n ?W ?޽??/s:{[vOtojý^KoaC3GS|֡?ۛtW~i[}xyݼw[/}ƒX=T_}f(_]b6qB5A煷AC_96z 'EO=qaQV[޽ôOʿ'>)нW[~_~xuߛ>>YZZ/@ٳaf[yOlIENDB`6~BynHte>3$%.kO>mMKhǢ&W'k GNoaj)һr~n`6f{q߫*N0/mǻ08p! 2łlQ.{p>/Rq7^.=Op\w]$|Yy ^ ?jkNPH#lh| SDnzJeqo~F<] }{1#Va͜3h=}Ԁ0ūI/ðxJ&fiwV(4i.uQfUI^6$ 71mʧ'b"47!\ `aڨySVcRiTj@G^HT퉠kl+9E]}{} ޜ~NGjiPG'2~ ie|Mٸo\6ybt#"~{q5=&$+@~H44RVt}LVD{XL Ve,6tZ)NUy#9GQpD hHxq}kec*"pT_Xk'ܬDݾQvrH~ܢ㻩{waBaCİIvEO`kˀEFA;?ƻhy4=!|jxPRYIZu |$ki!29a3.@bR+l)WI'y"6)T{fߦ̫:*l ]n[H|<#^U*J'7u)|RoguüHdy v'tQ3эdz)J?ȴo)ק 9ȥYpAw“DK"4-u"xh"ˡqCZ5PMbIၰ9+ MD%ARHnnUh!pPfWܨޭ8/唉?wD 0NhcsWiv}t N\y=t$̻Mk[(\()$WizZk~~&\=+SZEփ|B2iܱ_ܢ'e[aQ-Qb?=| %<51IqQm9-ŎP1PIe-FʬQ$Cbbߺ=W(𓐔wKPe$q_جuo㍶ |Kh L~QJl)RίF}Ԛ6}L%3>Uk冐T@D;Ip7+u<;ptL[B:`o_c<5'ţqaHǟn6"Q9QfCa<?ɬ`$wo \qec\n)!S`:EpIQk"{4"}e$]ZHN~sw1LRIC^ [S=HwJeKYm8˥@OvXLgcNmLWѫK17qB >v%a3AB/,0\R:Vx} Β{맽eތxDvE;B5@CcƯn>>Fנּp }6| 7:J:$!}R8<Ɗ:zbzWy( R^.teDZ:m/tnokG# 3IxS DI?3?_߭*^8 8N":[ued=DEĥMS u!jau:,&M^+A6C3>f^ !5In9[K Lu>J%A=>kG A_nxMM?cRUyB)GpÞ~'@D8/v2ϣyBO_&#FpC]e+;HɆR,]oǰ H LU<+Fwr䎛7#mɥHYrզսvdf&f [iƍVdMἔBA11_b?2ee.H A FJz/F!c!/. O%Em֣a)i1C6/&/{ &`,/pJ?W7yrMzN>Ct߃~4E*$/̅PP%2%mR"BX:hf&`qMV"q IbnS_H+_!`!B!k:i5uWx*N6xt"[wp%E7&"+~bC]}#d bjVWXBZ1 }֎cI%- gG<њY7~]DVI0 RB3 Cc8e롇M'x~|Vp75[6~կ {̷]5w'{R)҇Ќa~Z#0~G[J;Vs.(o%Pؾ 㕓咗OWV#cewa(0E-MWhӔ jDEq.Q蟃n"#9_7Fn?aAmLih{8WK6U(҈8uB8"ػHDo+t?TxصGFk#(ԞZ~ѵ2Tg1] l S4:!AKoG8FP,]hTz=CPir/Jg|[twc000_~1Pu`% !3{=JS(\G'Fӯ46:3 wMl?+6i+$ؒJl_<*5#.Dg0Zt}PMւo޵9Wz9:όn%u]=4,XIF*\,WpB)#zhWJ1.Ftc`xA *{Et/E1/3.VZRYB"|LdzuQ[/'TΓd6ק+8\2ГvJ`2jWcbVHwmjb&z@cU5}ol#Ga{G#RC*n)kj%҅3DmsܓH>Ko SHsI]0M({uNǞE(xR)l7\gߑPV F4$ _W0&.y.FW$ fb&31! GӔJ986DCS>CᜢSʣg2_Q# m>`ٳ~tGdd )9ρ h%-^y^.A@ |))i$By[-m+VǏp^7@k?g?-b&b>KtB^QGvҤ3U*=H6pLCHuҕĀ y$.4D7)R +x|8,S,`[2I; ?Q}Э$k9^*6 @?,Wjfܨ`]H%3ֳh).){|)4^+ƆJV1i)ƱMK&QIRI$_iO[ Hx>n/ z-\ o#IBT^g\V* jJ1fҌyE(- `r5If ;NAZSPMk% @UY k7݂pZG lU_(hfD$cu-'~uAQ.c0xs#Z'^``ȞhMDv2d$4?#dk1.T ?&ؠe>C@ d!:İx}ƶע(sȷJr:E[ g \HR =ma'>xʬ+Fp$ cW18|eRxNb@_pCJ2co$MG ֖k PuEǩn'g^d qrzo=dWwĺ)J@Y.bseăqdIZg32 ͪ h#FM{?9Xf-VYke[mNoD]y7"5m^Pcf ?3<{;ݻ)ȓlm+}lmD~vk .j3q &5o(W= vFΝp(jV5@\n \%K! /L]߅ejzanzp@,UUxF6]Ltո ~S1^^?J^ 8J`dL_1!*>b|^Pa #GO:;J5L&=É;9 r%K <]iϐ}(-~l| Z>]U"LYE[8J$>gLa*b_ݑ#|Qg@8~YdM2;ͣd d^1)*̚c7mw~OW@&]d׳^.tE>a&5) 5U~=,89nƀ@vcNzA4sNJĈ$uVCXYwgj8JN?_u4{'5e]6YNnr?͌ʳo)T"X {R]_x"6A wKCnoNv1 *=ة:~.d"i\-D0jI!2{-wՌHIzrL-85@I +QK^N߿]޺YwrJp vlis 2Y%>k~6~"A #(_` `WULngIJ4UŏXƂEhҝ;&jWr?+౞XE{pFXm,|7M;b1t; E6dֶF.ݷCy a=R &Px1تzZidh^u;7kqvy# d`qVފyFzaV'x)>}mCM|Sٞ4O|{aՖo4qG6>!2MĞR dJg?7H`ApВ jZg*ݠujzX )7P&aJWFAIz{zl΅<]#mu;_~@(ot7M/,ffrrMC?Mwӌ{VAKwxӷEaH3X`(}QCMVW;KD WI]!,mh-(1^O9Ћm)?gJ@R3/F };Z1}3[Q};m JhDr)xFb]Xg#,gl!G43Y}tzm9`aLvܫc̸vW1gN!~w|P"9$k&g5^;TPFyc覷*kPJ\ronϢ:}C莒e]Ys\zE#"'T6c:r=:Ⱥ Ya jFa*Wv܆=?E⤧B [vi(_58_b詜0gv # [`vŭQ_–3&>rxw }6\1$wYe`=` uy݃naao5RMfsK';3PSkT?~|ZjE^.'⸼~;ʲRS/2p+U2rcIl}rKcew}SHy|X,l9+VnB\hFUŧ~;3abJ&m'z ?{ I-Qt MD?6$}pا|424쬘%1I)|MBAXX]}%'UxA3قPYbѮ=SUa ȅXvC鎞FEcˇ O6M s]pʵ*׿m)ջ;]fmuH P֟0q W"ñp"#RWLHEѧE*@f79uFEuр"5<Ϻ2`qs_ş=vFjtL='og6ڄw(fbY6)%N]w :ܯ=Xx\pi/A6!r=ݪ%Gu؊oJOR,sS|nhEcֶc \Cz:1:=%y>Y Q x4B8탫Mghpúr)}%"$YmQ/e3fB=S?#؈=Tc<'OGQiyf{wuc]*FGG `zfiMQ<Δ[4MUqDW%vJ \+¢{iݹe>T~L}q;P_˒bĩ 6Sb?:]% n['đWDžkkz9Ibn= YAO=i={2Tm{Uު-4bڄb'Uqki **dYX?wۯ+[0]:@Rk;PrɃZ:%(4B^C_8^ $^4 sIPNʜ ӟRۀ h]p=XםSŲBi՜_i lh[Gr^ھ zg/ˈSbQ ZnO5戶*npƛ P=84_|xka ^}(E43p ^F'J59I\aj UlfNd |oLD-9!Q֊TͼO[A=7ݼM@G6FӍz5\b'gh1R o>{?@͛35]t8Me4 "R3~v i @7Kd{ M]!f=Xc43v?vB:>Iɿ$gp5 20M-nՈ՟afӃe`JO֤G|!6ښ X) M/ !X]GOE_\I3Jm@_!d<w;ߜқNeC{5 PMd< /"M1؈ l>y{{xE z&HUa0"Y~X`M,<xU`!laƴ.+^zm&}wȡ[共71oY_A0+ Mu5A.$ۑ#*?&/Ž/"v0M+q8gV+N 8{Fm55U܀gmH+6M@e\O"{֘:9ջ.gb$B؟+%!mD@vEKYg%bُ$bϿ ?; ~P'p:Īf4a`#P7+6=*& /A&GEU¢i) >ЩZ'x:. cʼnJbIL/oQ*aKB@ԆT@U}Su-ùK'ߧ{j[fduEsU<<8@?Vԁo8汙:swcnŹF ;KQStώ-v Nr3B} O'^7ϔ:!p9h_isގ&Hklٯ˦t1ᯫA̋f91@[?J o6-w!D ]⤄L TnGwx.~Q# KkB]*:JҙuwE(P plqI"Y:tXt.C i0"O A܉Ju>/WGP-짘`)K$I-e LkD#ZKDh%2bRS7cLhQ}4Cldz/Ϛ]+SNN=FS?SgƄ7NCɻ޵WGEcwWTY{w#[A@ +RVf*7NDk3_wׁ{=q;"GzTKM+/Lf^cg&ek;Zvb~ %۱w+Q"Eiybnz[| ?py|'wXo^1v`ɸ[ɤVK(W}W/)F+R h8dT+kW1-]%AҎ*SSviIxi,(T83 ٠݇$B$xǴ;ۨ]T#*cU)rL{DSHDOkTo8LBJ!T,.  JDT O˕* /TB S<P㴵OBq~VG0D+&(e9O;#*~- v ;$ I𷋭wr5jV2Ӥ\5ZϵYkwM?w"Yt3J 4Ѥv3#["Պ6tg9bboyз*- W%ɪG&+&|aLEWr뀟d$8(d4Hd⼓CO^p7^vQiw0Ezhj;8Gv+aqWTq>whAT4h-\%{9w|xGERӌuzp=}>x ˆ{b>]GVf$d _5;Q)[yxiy3R8k$ I"249]K(MvDcC_j_cSN؃Jo3-[f[3X9jy| Vng ~}ƴݮ{c{ΟYk*e$x>]3V'~* '.FZ9J)ӨP >e(ox<؞-Gwԙx|}{[N_1I?G+vݗ2Nq֮q0(q/!7p26*DfV>F~tq: ܮy wBnos~s,-z+"K'xFA>6o$(*&FiǴO~Sf| > h \'H–iUXƨKD1iG+ 8ѥ87Hb!hP8m4fBO@ B)o#сAgj8ax=Thcr, mYLf.mrB+Tk CpuI#EyI,]hxR;ZlY.YW9--FDy;n#l0[*{kL#a3Ƥ(KUy 3Q]f6$)yG{bH:yX&s .AW"qAE]qjD$=҂hIBɫW N Q/8fkŚE< AklAv3ͳ5Gm6|ςϊO$&].'`j*iϏN* 8.B^.{=2;Wn3* `nD3RzĄ+SNC!),O=偑AoJqor;i\wrk;d+Ь&Js8g 鬬_.P 0&sEct5k :Viϝ,͘lzg|R :m{L Z=+Ӈ\ ; r}Q({*nTu X>`s-+ֶoϮё.-{mOnq1`7lG;a^3Z"HiDZ#Jr} MP7puYYcJ0M<'6!z0qV7ŕK_Q:7틟bLҪ ?G *j+p"N-Ӣ1RY{gp|'ڼ! yH"L|Aoc59sn|G{+?I5ηy&|Pt{^'yRo ȓ3EԁȽGLwCwOGv[}v:ȷ@?nTcBBm!g5S9.9{F#ݦOtƸ/m/|X-ΧtvX+[`}3ǵ %WcyL2"-.\RcNWj@q56r4z7J .\J~"KgTLJ~\t8KԖ#fffffضْ,f13b,ffffY<3{}o#6ή̬'rN2,^z1EC> )=x=N irϢO/+iSW @gKm&0e ՟܏xÛ.o/9m-qVI|K #B1իޜ,ؚWD|gf4 w#Tt9ot$O;7DMT|RTGaӶ<|0W5ҖЩdfQH4ɑO* )2.Ii'Vx_7R0z0|x D14YCM3'*loױ>MOx1zZ*5 !/`O\W,< xyH>/!>͞0"0JaMDt"p"Օ;{xf߬f nic!yrЂ<`R UVOpVNE뽦}|ڇ` |Z>NS *J^tݺ{Vovg:\ߖ4ML )mU u+#LO/v4U #ưP*W5@.疐6AZL9Ϥ,B Үv|sF9E[RmOD؄u4.KE|!ǞNQ**Sp#De&+$>;Wn! 7g'=oj}S:= "Dˁ&o=Jj="MtMw8u,%Z#@2d81+=o:?(X>֔xD.A+b ZC HpL΀x&$6XsW:Sq>ceS2ޭJh\nܲGyqK~ΫSјoJ<Eql]6}ۑ;>CsW(ꮄw:EۓPZ6k (t^K C~v!Zk\uaȆ@2Jxt dU'$H)JI/"PꪫpNskulPԮoeݵ JgZ9cBz4cj  .@A0{4pEP6 Osچ%"<8ceVBT(fڹ $(aɿs@Q6 DʙEOU)0b-Q-֗0oOl|`&rL>?&YjL@diPܢFq Ǿ5}6!dfY' Ge5D\,\"RhĤNW;rzIpG#d>&wVc nl)jC|yryQ\ǒ2BhIuea^=`,3lc%Kp獋sAh03cSTg- >0 f^E~"Gk FXh 3G "jm4] 9^.53j^p hcJj PC(n%1䟄 5c[E: "YH 4xp i{}óUR"Mڙ<235摄,wu o)'IBJ~(,!/w`z(Qp ʡZL$K@`aao>U3.x 1rYwl\AՏ` A|i8]LxX'ŗJ*z,Kߓe3G{?1I8aX銗NJuC99H<^FSL]2yеK]@`7ahŦZ% 'a@IBeb;fgѭ'BE2/]t48Ǩى0"0C|06= !{.wSVmo@C))lڣ1枅.Ug|vt_S{°=A}(b5mg/ ֵIP+$򂥼^m-beRt8]<$+X Y|*H~o^ֽuT k߿q.ҳEN+ըWζ(Ӑ9<Ŧup,19inV6# BHvKOpnq>bri:ƊPeffb,4Bw@X^ dj܈Psc7/18DoknL9(jۢ%N}](je\k7]RK<39AHބLu'PWgZK;uDK2Xti`S{.\/!ai4MOӔޤWǣ&}{jpTQ98 Z" dH5JlRClcl3팫z۱&oEh۔d](5|fd#e!5AV̉?vQ퇈bRc=Dލ^9jE7-4xjgľ:~r&o4~-"^1 wTU5ʛ:b'5 ݮ#qkCvl!!Tj_QKjzE {Ù:Q@&8̟8p?n!)˨gV20O@ٔќOl:<21ƇaD22Ix$:0IL_iu/G$I}~"_txܱQ5B7m}zޏS]ʕ/}BY  Bbt5zj:lj@4nbkrahXF1)߇KIV |#-aT=bٲmXg|iqS[2M:~XGx{Grf59ZvO5~d0fRK[o>_fo ;6(e<^WGyV_ω,΅HGd:׃X[-/90@E&EQGS}FY 1P<۵&߷K~;oP#KAp{ysns:qʰ{&( R܃BnT '!|jPjZD(x L!rrTwD#'d~qyba4s*Et,~?9Lݟzc~fBZP~A<+DeMI'MH.GVue"_d׽=Tp_Rft1iEUtʮ'iJ-":P4Ũq8^+ d*4 `䞟ǼLI𡃜"2_ߟ: }/!ںl)/ҖfFǙo uƋoxdfS$˨e]T3ˆMgtIdR0Zs \Y}'c#SA:_E,["sI`sM||?y(Tj(6TA VUOD*7,n.r|#YXd֌J^zoҿu#2vJ`ts?Z@ڄtk72H9f1&@E׽ǐEO6hG4$ψ%S2nGU5pL@]U=!|pooeL=۫?Cm蕵(vg xI|5Yv=mi*Cw)W&ܒu kjA@R,49tUm< t֍؃Yo3|N*zo-=auB]/qlL,?RB>B~;I^fV H#xIp1_}3 U$*DE~D8x6/1ş> Tnp SdRUnF!"ny2 ogMR~^ 59#ς]jckE${[<=Ko#$%!3x"gcv[bo{03r 5!>v>n:'@Ho߅I[Rcd ;{?@SH? x0 YS)"+9pjiרz]Y=~` x4 bXx)W&xqhbB9cc 7Z9xtFs]s\otُtE~"Ca LjWu/DWLGfG9D"^HED&kD<nEQY~2 Vd1pbR`IRZj8n BhI̎Ry:k_tC&2!Q'].u,n:jMSi WȽDbiV'h'Y8eInH&4|Fֆ2F>38ߋ HZ p@( ю(w}425~xlتO&Qw-<#kQY_${C%傾t vDb|Mw F7,,"84gUT|j)Yl*6̥8jU A&آO-Z y6x%[?ˣyd[myÝnAǡhU'޻Ǿ /4ex'X|Pi?2(-cF`"8:5צr5-m {al}*$ Z^Ɇ; i˂bz.kH!#=R?IhY^E @LƊ#ˌ#⤲1m!!m?ňVD' +i*aI9Lz|CXug%@kuP6R ʯ4+zNn/?w8߰CJGqUUbro h,rQXl.tB4 t!~150Ai[H4tZ{2*O_չ2bb|b(Le} pQ;?3ԕzM!LqzyVR8VL%3wNxܘ3gbׅ`af%Ju7H7!W^+=~ ^i,$qrh(;Z9]r,s&U&"q4lj\d ʊP22Ր);bwiRpȩh8 aqeHĺQ\͖]V<*x[DBXk$Hu>h{EH ]?fE3uz*mW++ѤVwU$j2f }bl B cVh9kbCj>OΣ8kgo_*KdɷڏQ^F{8JIѓ>z<.N"zxҚDu@?0L0Xp@K$UJSÛHܑ -ǩarwnhs`e>, PY4OʀǟyΙel3 Ak7&"ͬCPXoqH%Nbe-L94֕Q4ݭ7v7ΟRPF$gTKX?xQ uᇕ]V]il㛊zrs"] W8J%ޯGzQan?]5e$Ͼ6|/>utu{mAWapL_KbO09m`G޺GL|0Mgm}# W0]o ~C35߈gҕ;4륓c)XOBF2e s97ocz`SR͵+?o}Mƻ\z<R !p*/Xw90)G"ޏ?s!ډb=޵+~,ζ^/ܹeKD8 Jᓒm7ә+D??fG2d%&^ޫmFmȴ_>7Q٤50]0YQ|/N3uRlcdf3 {eu'{(=LA A[wяf!-mKYz `$/~Jzý .:b&bsB~JBҾR`S?嚘: UrfifLSA} & ]ϻ吻~ZWUyӆH)$O1SG %N4o[I6 6WX;r&~="w\}OjEC r lRFhkJAA ]x4LbcZ`uhc㙘Aϐn H̓a6s.^("pz?@+h`3rh=ш~ź%=88{֬SlIcFDh*N`J ko=FjЃf\;ˆ!n"@2!>k';N@.6& *cPz0R3yGV0:}Y2 +c G1Г6vbC+s䬟`((WwKXp.f.oX+;^]]B"X-S95RʢɡGIEdX+)  PHPww@0q:з4d/$~]&=ȓOf#?bDk3w'%-09Z} r |^ A=׏5T058{p*ͤfB\>x13~Eo΍ϋd0~gS5V#)H)@؀9Lj<ʭ(&VIC\|\<5ʼg _!Nۃhe4,Obաdhlث+o,Q[xr8_r?6h49}"v /2c3 pg_[&ݗ'8- %aʉsoQkb {̝S}t>Y ViE4`ep{:e.Qs5#_HR)_Ѕ޿25) M~t5ⓡ!3ۯfoXw y|^.6jL@*UTuQTS=8 N,[!93kN/.ү}_]OI4涛+sloh;'? ZȺDu!=Ogrrt)КnVnf#P4.- {]_$6#PTŦ>|UWUZKb.$ګǏ9 [ pqpR(GC&a#ƕ뗏Pۅjr7tme(?(2rtM$-QZFJPWSa/>S:?8K`wqŇu S9kݏ_d4eEd~4X/mZ &NPދc!z"@68\S\Hd9O+ʜUZS^fiZ>.uf1! i<$՘*@DMxWQ^ 0;5P<-o@yH si/\J~`[Ӈ|ن樽7t@O@3yM? lQ4noُ[/2$s @*±d*,.T.ִJ@NoNcHZ˜|^FQU-\<*b[]".`L79~{(0$ +O vB<@Ȋ.zR+=O9gg"0`$_]|+J7%XqTBB>I5n^ ~<~_{P/BȒ]Vv+LT sqafUMuV#_Jj=ML<8awڎ~\= {YDg"-3p;suⶎ YO`(Vg噣uiJuUW\_fPn:|4d4O9ag惐4CuBH%}@` m@WQ{?P|ív1]v㞎J:5`ߪ S@P~a;R{ydSJM s&~D0>SGۏWqz+]6syK&(M{&iW/yV_FX|aJ'K$ /A ]T3* 951ĊEffCF>J !0OqoiQI 6B |+^Np""i>xE{R%>Zg{6Ý'sؾ}ݺ^fzWS(mf[7nyw)k//#,cZ4쳬~xA5#ln1xK!#r~ ԦR]>~OxElp`mWSBlˮ?m{Xĩ␧!1{5HA5vm3X7}U,_.k|079$pVjsݍ6 jL-~ue䘑aOoO uM!vњ{g kaW-'qάvAWxL"c17s8=Mú1L.ޝ'aW]~=jXUkϕUƝf]8ID A6$o|Voehd󟈘|=7C`?ԋRUvEIT^9KHQJ;&¹fawW}aҽ0x%֡߸7AY/on W#|{jn[C+=C69d>IVWm߳/6_ֳRb㿐-]0.f)Sd0KHO\`YA,,2Wv!!tHS>_ o}g,6;mNne[OӞJ%O`.4n:y<'v{sZnLtTel / ]FȷgWY-’S${!YX~6!KPe_?g5^Hy[:ZzFt]u/G,5s]-rQSٺ~>uCJ{r0Z9A Y^ drfv/$vEU}ŲnoOI ]݉7i2fd 2| y{}nxNX9O@|37B|^|S"R JÔ4`wVC>'௨#&hvYl_ z 7:P{s=X{}wɵR$z`1z 98H9̭?qd>y:A?ޒT]C6NםG.!̓G`Īui x~ jbaʼ6}(:_v 'Q[WjUUK rdٟB/uشĞm351 Ny,4OH*fheYkt5a/:Ee)͝|A5,٩FqW="Ey5҅3WP¢U:ҹvkCqyo?NAVh۽k$XzlTT̹5j D{N߁e1+_tw4G}{fWj[v`Lg>g#^ƴ$󗗠v*gz'7ij[{qq;6ou󎜏?¤ &On0!hzS|Pp}C>; H1p!2 N`MSjqpΞ4&VVNo-9̂VeB* ?MJܝdRD]5v? ~3q~'5xmTžҮnH5wwܲe#`Ps3^X:F9o~_{n]䑘X y;}AsYw u9TCfz@vqV$\_kZu\|YhY\{\iild N ?*&0%.Wä҉p;ӺW]_ >'Ga ra IH:%Q9SV4?7Zg c<'\.U\=`*k _Z@j'GS MgH$'j PB`T_<렆GshVbim,KP:%!qϖTB@Y-<2|Puc?LPT2 ϣgE*/ o|L‹#SFg;; L d)Y0./4߶dp3s'A^3#֣˒('s#:CmH'N^ϡ+\*c!q?G^_騬 Bks- τP;Zm喁a=|3wYXWpI`CuKhcQA(&]yK*@J>b֟-xGu˷;F"H`CXT;y[D-[%f=SY2S<>ߞv<@3:ci"/mM_V6Ųm̌<Ҹ ?PoQ<|ݯ-N*b6%96JZ[m d!UH>*)l`.ʌ)J\[3/ki(۷o݉?(kP* CUgb&_r?oX'ݙn V\Hh%7N-<0*GWNA,Fx`xHMNŃa2ɚWlA\ͲH(IQS'?*#r*"LidD~)([g$ܣC ZHByz톊4PQYn ڐ Og|4P1"FD1z 8#Sp0[@26sѩ3ⴳ 'J2>J[c$P/pSb̈́GKsYZ օBOpXfU54ǒ%M̄Z"#ʙC(g󊨐2Tż H!1 IŴgGc) `Wz^ݸ*+= aR@ LRiM)a Ea͜aaq/4 YxYؗNQKJ%dl[c%sP7 ,%2,U l@pm,Tu:xhe=Z˼8bE}܊ Uu YL4d=GP1dT!=Ai"q?:H*T:HvxBڵ3˕]Y mlp2w+gq5іx]݀Ljqmpm36*q%o9}JYabzhdť PX_G`A&99k !Md ß `CS#'Tbu 4{m-?f$׷ZM{m($|M`:Y* 䟤h4e0Α %2Pnوd\#0aeJ'5|hgmPLSS[|BI[l2Ѝ+F`':̩on{>VMZ|#pXցl@gST3٨GBMU4~Č,R!U֌f(>OO %$4հC,`1<'"׍wBʄuo>Dp8u)Dнs2\ FxlZ獉p߸YKrUXrtxOTmf!<$JRH(e?o$C˼Xd="pL =3Y#`S_Q4|o?NuG%@/MH8Tծd4 Xō6Y%4,Wv(Jߧ% x0(@W b#x7JM(romd tQ9\8XEtLƳ!$gA.>>gfd~iid/APE )X9렒GR-R/2b(hځ mp Nw 3@._jwﵞuT{lJx3=0TlMxh6T:\f0O<4[BCH.c6:Jth#&Fͪ8f5d_ )d"%Fh ۶xdU8X5 ajH,*9ec46+G%CT(J{!.lMFF9W0qS_&.$0A£r`֙V +dlS&V XEb鲍}dg<𻻖Bw,K<< 1YzCNuk$v7, v(\Wκ¶z {  B#- ٬UZS lfRFУ@Ǡi={hZ3spI)~+2{Fd~V#_ VfwBz&hlpoe 6QILT*I0*FVDƝT]Xl|B!%fmK8!caBNIEXKZg=$RXO0Q6ԏncf7J FX?p]8^C.݃)$]~)Ǥ@}J{31w!}:muQFYD2K(Ti)aj4,b1:ѭsQKJe@`8T %FJjK7 ׈v8SG+sc.g'ycԓ/Xpq9sJtAΑ"e8|C&HcHMpEtBd:c:Df@EX]yr̟0Icx$Oro+~ݲ^AU&}B28L-y4vW*oE-2˙2vh*G~ae 8ZMoJYyu;=2eyl?cVfU Qx(pj<[av AyX0)+k67xSC~oQHQ}m4&8ǒv X`K(IFϫ@vAF /fFKq=Is d@;Ha䛉jjjпCp ,N6S!IOk"iB^gGwBW4mÚj e0!#>rh ] nދ 0LXt懦ǔRcG鳦b asð(qf nHy%bbKT}MD&. qE ~&Mm.d]ȖDW{ #g1O1ڤ۹Ovo:"`70L!h[yEj]!t_VJ""mCA1 MKǫ{9#( &GՀss7e%2FW]⨄jhtEw#6N5;ǚUxzƼ>K TU{3G0k+!'Ii!Ba Sc/ɏ(3>d N{xNdiCPdtĎ63 C9vo|nxO_&C)D\r9m7e߰DJjxaⵢز9#8ʀRz4܌<| `aJC> V'a9{w^eBY`:v!ɼ(MY 1kS'VJ RJ  ӒvS aIklӚ gpn#-=΍ig3&::Zrz!osPho 3*&8l^^CV% p? P8 IqHIft) D [%箞d(*5:3C'gZـӴ_-ouJ{MBP@}Q9Wzc03A:%s?oQ)R,+2zlfb.;Б@i*-/V>AbfDJhP]ʟW +T3rEGu\ 9Hhβ2WRvFfDZѴ̆h1`YEDx hGC+Ӷ{˕;'w.(9zNBOq0yV88]k',P`cDƒYI̩J;49 SkF#KD5s~.(`$v2nYW)B/vss*YڋzP^#/Bf~P7ή2%Rڒ|& {;/zYn.p*!@7hM E[<\ؒ8P6`˯96?8?"DSX@n-y!@Lp+Au@ff9:>+xݡ?!Ҭ'._g7#Yk=n"NvW`88u;_5z64i)t7OQh) &2[Q0ы(Ч\S74J^SLcQlZBayqر9r6BX? NZŇ9"zm#zXhk`fS[L6xrM\-l:$]&^WIz瓵j]$iL%$ok^~dރxW"T(f˃ >O]PM]hR&$ۖ9a{ӕ KmHa8V !6htXE?\Cƞ̏ߚ Ar(%g@Vс؃4==$98E&+; k䰘^(*CI(Uev{q)BeSl3|{kbYa=u(2!Ƕ`JeR P(? kDS$r8?X3ysD ..l 9,ȹ lst6ڝ]\f=%"ݮk⒊`0.X_%f~^{)pB=9#(CC:@ӻsʼnjh<ا%(#O'SVU"<%GۦZ$+_vQW燶IX%QfRyLSx{mT -]'b>2g8crLP60Y%Т'=3눍#" = /)У a`f`y@r2܃b|l$۟М6<,*lTҟ 0 Cviy[Z>T#[0և+T#X#7naֻEevfW1 Z5- q_{); NcUmtr+REcV5, yۇ+:%f!aoo~rŬ_<Ѵ̡ۿr7p|"w+5̚ g0[_)(i*ۺI"&P=xgҚt6ome ~mŮBnjK8g5uuu_A4Ii)E">3;/nDZnlof2 cMh L'hFUՉNWvgG陧ǤK^0cFl?.:QQ D?1Ϊ󽘛PНr P*3^1/كd+S˹pIL煮 S3,fOr?ʠRl|= qS_M .,Y0Vp%Ep(=W x \e\8Y#{BO2IE2T^n=du*DYA-q/`2 V(D+6K=~?b#"W֌*"׊Yu+\@"#? C L`rMDs} > n겸 IgY$No=߹y{_9?UBQZ1= 773:NFƂw!O ;x 0,ђVmiˡ] ~%kc#oؾ`G90h[Y[$7Z+gcԿSE[r:Tƞ\`3U-iI^ԔXsJ,76y93!tWKUDUe^7H$I/"u:=51UME_Œ  ujߝ g9gPS??MLz(~xZJ4je] 2*BQ!hf_-^?8x>(-1")mSDDS$\-\jd,~uakSGfPa l%20b+v)x&" ؂~ciU1M %|_I(/ 4rF@(߅S?t,PDFws֡U\>-޻Kg81 "J$6R!vwعG%гn*oZE<~HXJ"Wl)knZ]]N,ҫl c:To1خ]&rt#i{g&\b{7J%{kGjhr5uu['dgu[`=P?GOZ^D!;C(MT?q_ƉTLYǼVH wPh4iFp]עA^bqE&hDhZ[2 'lL KJ'B˱%JpC 'Xh`.Qv<=޻S㊠悐~<ܤu<-olaᳵo#m k̇ H++dmRvjD骐RLQKE-Qoޗh -I墍U5JyQDt VA&fuKrS!c^u҈>[V&ho]J9y'? r[CG k]t{"Mo&X6,q59dT$' `9AL}]0V B ciw+-J{pb᯲N ƕ[ddޛ\O2u! U9\At,T -H)cfa9w|kn|Ӱ؝{ñVIx 'g[|qg@%6߱}y,᝘ jM-6VC\]o ƚy 9=~+3 sgj1Hw2 ԅU4缜 e&Su[/ю>M GY˭v5.NX:$v4hG-YL /tJ$c8$lR./\6R6+l*,q?~q&ZnXp5s7oa#M*YعVvWyoMCohݶk͌+#"sEa4ewű +Sfw8Y~?BuLcF:eL)CW G&Pi=&LO=`4D(]譫jA).\0gfYGx/n' \7QOL y1(:S 6>&V'Y}C#vp{<0}KNs[.e];^zԩ Plb8zwo%)9u,3/ `fWzQN1C8ࠠly`aɭHToBa-5sħ01*Hٽ3pq[(_˗*7tum#h&]w 1ьht*w++4D@O(NϨ~H)fbbWY4Oeax(TDƽ 36gwX2iB"θj4x6;THۋGjo -ސ˷=áwd;gckK'i`Dv;AV%~HmXinU0:唲Vc›@'8ܱ9  3:#Dqe.f4i:?hquw$Ҽ@ceڲ~d.h>w0F~w[CYĉ(-tvew6F/}{{ z݊__ۨ/6QN+B\zQ+ɩ嬋M ^Gp&ZNH&[o^wi|'B_׽{ 1$c&n $-UYTS;N1z$OfMCu(k#ZJXգqˠOx;h'tɱ8%戭()?&*n><)Jv3xd^y(u¤m'lSN+}#vE#b$WŘ_9Ko?;_ƒŴF/e.:ߓ"(&A\6?EpC`<`}[eb&(IϊKd_cVpFf:Ո!x * uܺ0sgRJLzC>ߠ7̓$~s뚶@z|Ec'=^xgwժb\$w.,գ՘ZdN]kYVFǚJGx2D\]>zN<mu¢l~V-3)N@T ጆ<}=>?"k:_Py8Υ&EL<>xd]%v\uwz{B :{Wt|Cyxڸ >)&U_;&AAVf}%kt`$In˙8KqZqIqc{U3vU&ƺF#8l-{?y) n۸t=49v&QߌH`] N"b|)-Z,+z}X$bD9Ucԋ5fKXۙ01@5?U F< ځG҅>9R0Aь`тW {z' {]1jOR7 *"|3tyk\iԕmDk" :Hdf 9}0uL$z73Q"8sDIzu^;hgj ,^Kȥq?}ߣ"ϲ?+tQyazW}rjK"zNJ;3yuu] JyUXO;8p Yw2U#XE~[ (#ZElqR8QYV0QX;$[^ABmzI)>%4;IEi|c~z cbN_{S[oSU?5T^v](q0sΆu$(HSt7Uke&Dy**U6%1ۉ^^B9i efJJX]?) 8:0 ̞FC[?κ)0jýjZMPv j.NJ;ÚGO~V.qGk _ еT\j}ۙ Uz,RZlf/AM-rGl,#v9g8 s%+th)0512rT|xJS6KQi;N |U&CC鵃9Ɲأb 'JUT,e !Uy14|FE$ M6M)ƃFf!VUc_ay2ަ_S-bM/ X=OO"ݷW,N LnETbԿE(k=N^1f6Jp~̍,|SXeHm waY S(Dbr>?e<(=MV tBq)oC/3v%ŝv#*q/SIp`ɓ荵 \,|6y4{}#gjܷgu  +{MׇXp>SӥVf m_7  F(7lq:1d`hO\cM*3NrE}g,v@AV! S[|!*E[XJTt YHAs2<ﴪomrXÌlT;S`by.Z_.u~v@$3By)nbow^1A\&br0[CϏ %hY/6|P<~E L4%OGxE-ͥfVj'pn̚Y3mEb,t"@0uQ95խFr-^(cHpx} v_[4\orL7ۨFoQӪ]4r6i1ik/("qݑrk?~4)!ԯ9Zv{%cŀ#{ ]mk̲C>{G@.vH g8xE3"CRu7~ǝwLlH2Rs(H;M6zk F;;N=sVL#!\nF,mI37 L)@7gu@<#(V({ rBRQ*x鏗H鄨¦T[٩eU=.t!wrv zae]SNVyNq>i%pZ/Xp pٞAbURzJ"ݣ>3IڪTujΔR{6n3hLnjՌAQeӗѝ-w͜xf[U$Ǣ  zȌD4[j*||@( ezY:t<ķ淌zbT F(?|p|N6cE}(} xse'hv; įX{_sBu}`SϏaӌ8H<֐Iu}@o(tCi_0 C);o=H7y{_)pF >dE[qLG9m}Tje2w`0ۢW8F-x DŧF] stj =D*DY!T|p%}S=MrZPL[at񗍍c_3!{\CbLC48NBMX<OWlJ}8MA1<eU㟕Ҹhbo?X PBm 図J_ҫ65<7 "uR<^q9RƇ 7`.or\>@b@{+#YK n 1Ҧ.3*&D"z)`໹| 蔐iD(rGXb"O!X/X 6Q4QÃ3*+n]"ags7vP;)oj-v;e͝h汞#I:ۆUIXp+춈?mݲȚv4$ RD+ c hBc ;+qY7v{S2븾A|5B]\]Hp0*^4ń1#+C˻`WNUdDF#c+Ϩ /RWE1 x-UWT p“ӆ)mJZo.w쟉ޓdj31n Y\3 t7+[W*tM̀,V^qˆ V8Pw N>t3qB` 5.gT$lMNyAhr [9Bk+"BGNLE|Ic2_L8y_#8Ya)W=RpI 7R]]W}qc.A**TP{vPzY1'Il+A-/?hvyQJ9*HPZ{} ݲH3("K~4=xa8W,?pNW@ϙďpI. mJCI0i9\޾m0lC)|/M^\z|%Y!c(bB{f)T^9Fo9eivwIM46M!]鷉x\%Vwo}Wƨvn; \%LdDμv[_E`Ӌ%^xǷWXY^1$ ~5 :jiHj=y퉙HtO31V3dvR">Qg$^G@_a -պ+fJ|^/ڞ>;$+D뿅,s=ys"a%#J痖9 ȑ+)ghbo `G39(?Gx!V4=Xli ے,4km;.MSuiMrI:B.^. !3)*jjrTj{-=Z@書O*rgXAaݪ"a~ _OWLa)ixlVہ*fd5iXa(Fqi<㞼n!3@ҎPLZB`JF~dfV!oDW'( KS[ PO ?n}I)yQtNX .F=]|܊V)7Z{ Fw '9SF)iߙe&B:U9K!n3"tDH(I .P۶@ifI/hx_û%po8~H^ճG9l6+&>^C灮_3fZSm}+Mo Dql:W ;Q=?n+؜- w*B,MD O|o; _<cЋKoidQϒ AVfWKfa2wDIsۈW=d>|u3 9J6|:DGrvAcVB;Ei%K+l7ȋАgbB>A~ŏl/?mε)7 / '}S8i"U]ԓ@Y^'6뻇X.C4|!.Iw3ii mi3}+(A.L: UF0-l$b.js ψ*—SS~b Fpّm2dR*i|S%d K(FI~ 9Nc7q- HDpD5KR?*ajBJ#55DCMf.m!aQ&2쮑z/' e;ΐ}d olzoB3:bvπ)őؒu(ł *2>5ApNǍb6Zڤ{g}5*Iof+]{Ki/k&ʻٗRdbCQ#V ck,C6ceAl5Osf]s ﶖ@硘GOPFi߭f; k E;1uϱb% ѾakϷ,+5".JO,; ^k7`u%ԖJrA$4ƙ{F <@ubY}7"Y}wCO2Ă~N,& mQՑD7[dD~kˀ(ȭB:5?ϸҨ&6%9];ҋtNHnu8Ixej\6rIlnzvN}pͱnIr|is^KNwYߥFo4hFbF2ʭvf:8 n-QDq %%k90FcZW y='q=wp?F%gp>'KJɦ"qT3Bw^qQm8U->#Y:aSe6iD걌Sۡj?!7n?cDz]PC5|9;XvDϞh ̏mȈ)6cD#s#Lʢ1aiX5|6n6nNvZ& pS@ڥVʃ53{s5X\_/ԖOB*p74(jjiв.Q9u'?~,{Mo}AۇG_Bh3,9=_<]nEqKCO/jpHJǖN?0sрNS'h)3m2 0[[oxp޿aq hj艭fYQ4&[6yge~PTOBg 8Ϻ@~C ωF²ɍ +q7xG>AxBoʲКEr""b,i޳ \lmxVV'n6Jۺ@GnFtS,laId, sM&O\%fokaIU'@d<{}a-X۪0liWP):z&րT62UJbi ٖ/0wfh,UЊRVq>B%nk1`NY(2ٕ(Z^ vL emYg ԍ:0lی"9c$j. J9_[,^|gB6uUW@?ăg\٫O_2zND#[,Ʀ+6].=Ac8Nk6Q~;󢕅:a _@aU |/(ٜ[QO;S%R2 xR=;+yztQQ]ZBXiPZXZARZYzi$%TDia?|gy33<z(f ;] C {r+6}1)K]+L_#U.[ԯQd3mww~3wL`WP7} &G5 qxM4-cޣW>P/啼b#a ]b6[ǭh/D~T"9*O1gưfv*5W92u# .C7g~yCb"P iM[f b0{9Ui[]Qh /6&bӁPpr%%JȒbgcU%dCƨViаF/^|Ej?,RQu}:mwjZz.ljp l3dnEOb^( *-z N%&3R@0v=Bb=~Bψ Ls^ejm뿁[\f֞sX2`.v# wK4k8Gʯr-w2׼wH{ƛG'Eϧ *VŪG"h]yA%C]_RakhKY{x~Ȍl-Qe O׈K)bu*gV*L>ni8󅴺_=u@]Cg\z2yn\{ėO?s XL-If&okWk+1NBaID57z7{oēw̒Px~bfp@ܾis{Aٷ!L/5.m2{ r!bEOEw_W8t;%ק?Y&'wѰ/UЃ V>T. `eTk#R7s{eٌ]L>OeC+}c78\YrƒUqϹ/6]t8$mda?ږ`di.d7e¦w(yk_<= I$/i78d6_ EqVKN% "Tu?y*y`2$Il,""BZ+bfs^VQ\h[.6ԴjZ_}5YX"3:;TO::Zw|+ [|rzhܓF[ H5voĕ(iEߘb 8n M'nc*@A"aYwn@ڵJrVZţ !Iu`z5Hb^G܆-M{)3w)P'\[J-+41> J{aS73xhK($2左jHw?xwvfĒ XAΞFy05'F'Z !M`'g+ݿC+A޼z_4Idm0K3՗" UI>7ֲ~3-v<5SgXi7ߴ!..i*[=i9M_x/M%|)=#w9z=KIAo4a+F]Ɲϟ^a-Ɉv\)Xw< Evbi=3fP ޣ'BǗlɼٵJ !lB$o)J Y wi^QepX0_/NY(d C&k^ʱpĜy(!{4kʍ,YN0=BF82dNK󡐚$B{ ;Ѯ5h7c@^mbi !zycע`wü~u=sQGK i!ΤE p*a- Ls}4}TB% j &/V,({FxCMYh=8O=Fũ c1Oi~ou7p[Q86|BҘ&+F%f(ρ^L<ڪK8t\nr*"RQNO/ Ů4);dIiܩA J[wƹ[KI<+p(Xf9|Y"~DVWyG:fP)/+L'G`D0y*SBnGʖ1xvYsdgHwdteOUcK:v,$8DnJlc% 9ǗaMMF& 'ADs!Su^\;q^j&Q "*!$'aAIfNǴ~"%#7`{2lNi|Of8*zgM1K5{3b6u u8(UPd*yr~h=A~4xѵiD;};6:6гrv1 ԴnvKlyߙ Oӣ9E?v`&'3a,}( Aڱt{پ`|[J/}p[7Ӝ5sIqu{y_ϓ$%PR@{Z 1ȷN஗ )d JmLnj#>9qqӗw\aAעo4tn l36 4,,, >)} W}KsH>W\җOꈕh4!|Q~CoԽ퍸٩7W8ēy3!dw R/ej@~HF+#CA_8qAQRf<E'%CgA RJx$cRya1L0Ί8=cF2뷗b..zNk dD 1(CGjnM&gz 'b/fQc5U~)9c^6TH2خ=#0c#blNG; )s Z]*`ȭfYn>Q%[!L'1KIg+9 ]wk%|:^7Yǧ '&9"C&5^/Fj{ٜmd|hv_py!cRVh(l2HdXUŐʁD>q]9$EWTkC]=48,݁8;|ó.!m) ;T9\5[X>}%A yEBBWPe"2|O)qe.,ZY㹗RIm"DVԴ'cAEՅ#IӸ{bIxWcק4p94HrHVd|;f[{p&l@ə6dwoRЗ) / {Y}⯝aA9O2U&E3:4-8pBp?륥00KFʯT8HKp*+R!a8oQ'@g`εQԻ&MBjJ;9>ƠS9 o\4{@$B{Ij:Q?YmE(z ^a &4t"a=7bh}_ y-4\@cl̲ܕt m);ڻ;ڿ>TeV\$ !A4 pYH ͬE@U0n{@L?H5 %}߰Hhm`[:[.jr.|)@GHzv;}[N*tݓ0玝?66V$ip>V-0wJ6mƎxeM0;Q_#ߓ[JV!Y,`*%.D: `2BV% j|9DݜT~Tz-֗*Ö j tI΅sI5NDp}Ud;*`{ghB+!IA"`R^W?p_ou(t={gA+fv6`e_Ye\$D#B3:JU~_ *@ͧú6Jb8BѸZ}6pzG&0QḃY`4.VumN7 ^yjv7^ʮ٣Z.aO鶒IՇzEgG>y0N#vрkom> d5OuxbG_|$1dREr} vzʟj:˟֗LU>&E6EV=/0_@dyFD<%iiJ헁P/§jw۩:ׇOZ}J+7a{%AԠddCVNvr&+(ؒozZh%w{&7A࣡'@'g{'ᬩo|.؃1+x t.jWwۥ\Z]{IET`<ܮ;[O!ۀxs!7 !PLJ:3=7 a?=۠x=h͵]_w -z B[L9z.ՄSOκ`H;/cכ%Z3Sq e5ڪ*:o}nYb}kspm`ˀIV)!X& =c޶Ω ouyؑ=[))m`+*TC <}L>zzczndb_lcm(} = 2pcƜv&vg| r%o5o镹Y&Eyl|gNu 'ƭvY{YI5G܄GEK4P/)&:VTAćdPPr}}?N;χKp WXt}fӖ%J0X6pշ9;6'ͮy= `Ir}4(}zGkD@R0kRH@0OWx;b3GM/.:7PHm% %9ג*W<.Q@v[w O5[lmXLaKo>54 s1q[v[g^PZ AHi]ox졾j^WzV\Wq; sT׭Tm]AmLUuAwRd޸΄qg;4Fpta +W.Ƈ!}@Ljhq"kɍJk: AבTكfg@iwf#֖e%*\v[<B$yuVBᢙa&SGG!Ȗქ! Y-_9J{ʢ 8vتwD/a< 45U?k~:PWbN<$>Qb8ɾwXsqpjwNO% ydt"SDf*,}?ۍ8OĸOgeJh5MLMjHB,}\kX'Z|+wj0U ]ZVX!Vh% zׄ[O/[y3揯(N%F݂c(hV{|45%~i ~Si5;b.]JsecZUǃѦF|nBRh_uSv7NE4y4YEK=zcㅎlЗ>/)Mx݌ǧ1,3wbBp$6M u#xm\܊ѷO5xGⲬW-ƅUAGXX|\3 WC b94#8C"^B#4솇 # b>4PEE2x! ǶeA5щ';yRz`yAϋH!#е PyY-N(zȱ'̍3׹x^w)u3ȦDً7ߏ>gF24qg$M,Ti*wͧSXD خgIT6RN ꯴)04XR8}?H΄1V] (8LMv u{NX8l8uxI3(95h5J,71Xpl\-(F+rUrvs3_q (ۺvG|ez2''Aq{wBHZҾc~HJuzͻ#:*,->D1Oaqumy|DO~p^?*J4ڔ%g~]~"{4`IT훒 (9o2Od} [Lڡ.1ĆŌS{_'+oXG~?nƯ||gŲ[=0[>}x<^^x| ~'ס`A򺽑1u?(:YoQ)/Qjo=_ ߹]R!fVN=; W.1p вn bԂh#YKwf%NLfIZsDV&6%Pq[ws'@%Eͧ*'V{"Ru:~^LKnLFBt W7 *:%"7Пco6]o#e'}i_~תZ0v u+Ja}/B&$_|'DNl@܂ ˴'&6Cwv.{gݦj|qmd||)9 #ֿH`[XȣCC "3ǡR&޻]{f}hwnsy j:]1j!ihwGَG 2w{Nbe8?Ar6yċK+'Oد5f{=ep 5%% a3G2Y?,O UZ|f]sF^A٢&4dH &qCJi'p)pPՇm]`gR"C7 {*EOū0Pk!]B1GG<(ȨTR[#oS:8J>h ١":U q?p]r`Q se5\S\7$gt30V0zWm|A"4\?#p WCa*׏AoV0YLNhl,!O!iQB܍Xa!M|FLSRàrA^>~%7MIȌa s:*v2!G;+'X}ZൈU{&kmN E"c̼׿$ y?¹{?fgZ-!v$1;[p*LdNT,m`gj*_w&CqVMvqcے3O`v<8PHSP"ΌK'3m>H),CϒTMav-{dž$-=Ŝ>;xFGS_E[R`Am `4[DG-=U`bZ3Pf)zeLRFָk# pFƝ={y]/a9 4z}cS޻ߊQK|)k<ܠ}ç `U YUޖm"G1TY}44k'N/#}ikL$?{xѳH7g8 PI_2 E0P[*_||/ G ed(X0::5F2 )zѓjS6Mbj5/BŐHN +BtX #Y*cWsM?7cbk d57_Uܢ}VX FVrF`:?JMIp@pqVf@_ '(6anzA>5 2+12DzN#2nNHFxI*}֙CgW]*4JR5z2mTjOV~w"hϗ.Y2r\IW`;M#^#9A ؽ9I<{x'ė(;Ô$ |7}^Y'sfX=Uӌ|G#1.sa x`9r}#{F 먞o]EG}`i1 ;N\w65ґ x |#ʬ-mI&L2Ըajbܽ"[X0t {ق jŢNDFxWc1p1  vj&H44TcK' rL *W,(=Np4W)uf8oAjTGh'7c){&,(`w}|h)XY7<'$Sl7blV1y{ߡ*h81MUωUfǔhuL}G_e>ԩiP*h2E,r%`HYUMxHw 5&l+RIZE q. ؍q|Zm=kO\ߓ"`~Zj;iݻۃcچS hce!QpnK8Q;iNcn 0y)UpF f>%5Mדٌ_n F ~0Ѻr;). ZQ焇n.|$ޞ?yjXP>beeadDסQ­\c݀I\ߡe6HW#~M18o=tzO{jŽ6pIL5sxϖ%5i+2syA. |-p@} =pΛB죏Pw .ϋN hqQ|?kss1an[`M$|[5gW)' ==&T39pAjК`k[LzپgM\p&a.nQPu%~\'ӱfwk[cyLeˮE *~-k*)N%M-v }XiF(#ȏ{jBemR?0^8FhDo?vxyxwӖb;Ѝ2.PmDz`_]7<  N =M;^P/{KH _c~4҉n)t4 ^.Y2WT AeO(g\;pܜ} D#%ԛ:!~p\WEV aݕiAW =9'n>3goQ[3; *ně7S+G[OK2ӽ Ed':4蠑_ F~ɷ&鿴To:_0zN}3[{[ДfBB oY c6zjR~AQtj\i>5dWSS6LMF:F`'c~H{ھZ_έn,S}ׯ9~O<-Izo Jk6h4fVQ}ONmQ( (̿<Ѽi'iaI9 L\<.ǯ!yal,j d"ԆJp~IVRHz oH&mBM=o$"\(Zp Ag6yizLy0г{BQtQF_={~;of6[Syå*/-WFc[80咎'4UZco([oO%ը OU25APW'^sf!1E8ZUpjlR79S8$T n}%1k0y AJV렧(ac0\RƝA'9KVCcV0EHhrFSr{ШŸ']nxtxv"IƬU%ʄ޵ `êm{]sr'oQ+ %nX•nOu d4)/m诉%.c\34NX| ?F*5G3 fT.DaLJM+`IkA` mig"R'>2A2+ #V{y)ƣf#lo =z;(l1V҄{s&%6A6ڰ@y#sȬ`[7lx;$b+ ?dž!8omE"#k'o@3NeQe0ڛpѶǩc+J __Bk!B͑~y0>=g&Q|}U^{KG5lB@@vw;tᘓ7jX'^{oUȮOkWecpCLqZҫRhH&_kF>P^6o^I⯰AҘ|$[PrH-;$⎹iVfZKV./ AduFB-vފ%aS (Jrs jR ^$f3(2ƵNEJ.+Ɏ=u9~Y]i.bTS\J㯌"\e?yaw-AѬ%.U*Fy4d ºPi5]5$j~IIrd n)8^ #,58)m2g˰lC⼻* -!;kf ZCM 1(RD "}U#γUގ(Od_*c\OT~+b66um*Y<1ܤjrZFP8I6 EHO ϟwyoFզ1[I?缿mGd@o2d]p]DqP-o̘q) ?.41\yjig28wf[Nd}(!NA"sdcՐ*D*ʘ3bQFt'RzD:V Z3`y6j~u7Hg$Ȧ\3C \hj(.Bah5J[؆k -+rbAb-R ڞ̊_p_&VKO;42ͣ%wЈ'L /uGLB7'w cWU&.- { @ z0%윎HAQ{ʔ+Y}l/۹m)5JysG9z =uQy_6Q^B ym"}ᒵ,S7 偭'&IpH`ʵxd4j'PlT\P-vF!C۪O [sB5g 1\hmLϖox/*.t(V|\'7cq] D("BV5CsoFߊۗ壜dWMάEKq+8>!g23oM[z43`*:2%aDˎ\GusSoFMZWE>| SH~CI*xN>B>Lۙ;^-) QU~Wm6#(!DNOA&ph>tFH5uY!`l7*x~xFx_8-n:"&tF:7 ],L17Y4:-R6g,Å.b|#[,UqH)_ BHI"NF cA|-ͲMjMP{JC PdK*zP"WMZ[O^]æމ ұV.,Yg+ly7XgH(ڞ' cgmU[ڽzcҚt*x+E9]$g[Ic3:0X,`1[h%ɦS{=dFLŲכs= 9 K;3$jkfQXzd3pLD+1ܟ_x{?eTpp Lw?G-gȡB'+ԧs\6.1%m']w&NGH ~r/u:Xx@D PջI( e)e9~>{˜+AqKQbZ'atSOoıFqK Fc L'̮}Z(" Wd_e\Kĥ*JR| c7L s\kH~u9oEu30tj?dmX7B%R,J&:MO'q]z@{.B৶2W\ht%Мt} GCJ̠+ukX ru_:^Va4l?XsKip5w7ۈGe5<6B|L -U;C6 hk̲( -Xm EI47&8Ffk- U\ D",! A5-HadL*4㘂 G*ZBK_ '2AR5_k,nE } )(եz~N ,TA{Z &lAmANE.U~ʲ"l7X#gVbqU.ZAcL\H@q'iBKO25f8Jlg}1fyV<#5&DT8 '(YPB.+QV`c!y20 Tn\Q<&qiP ׋=1;#7J+2ْ9hB&Iq4IiBE4BUOS8e$8<6i욬WلKx=]Xdq2qO߹ڌ)éLA^T)jiekF e;% QqYfCt(-$4KQSBOjC*iay>.ՓsO.=a)& *P纲Ds_ZU*2'ȗ\FjqéC,#|Bc;N\f:뾬*:X"A}(JȈ e4z.^HRf{kxSyDW?jSiC%(bP)gq6 Wj |!XbYgx/%\5"+1E}8dd͹wip nY .˧̔Fr7T$QvqŊʸq5 ϒfbC"dzy ا]nuqTui foa%E݅ݑAzyO?$`Gea ZJY9S$Q(U⼘~":օc%IlWjzw&RDq1{aj Q?c7|rޤ *%^)B@K案Zz̺yBfUVZ$Y¥ f(87QaHBD+r 40`JؼiތľND%>+y W}aI#AGHF*~!݆2S'uI)o/-K͊ Lɂ'[ ĚIjۺ`KV"_Qy--8r;}(з A Y:UUKjI7!DE"/Kŀ%O%&hr}V h=g3j=8aNhyU6/q1kn\?k{RB*zhnLx- sPa`,&+iu"qk$ zJu<d+'o:Q$ ͞fi@CuT /wc >'<؉VbB:̠@mtV5ֿw7K;>7mP!w9pZ aЯ=:j\Sg ҕ0!6^>.:0ݟ[ ^<.@c$j>Lzj3 *k"p$0)%<+k#dwLRRcL!)c ^@RoBU9CMuaX^26(9+,o*\0coa-%=>M^($C%b:.9(ZWObƞA2t'ֱ3WYCwݥ/ g*עqȋdpWepC^nI;fJ(?S:μbL*gX-pv eϹs3ke/aA'\`7}!X1lۗRF+1V 5t*Ba`H` ̗u9:ަ7!,zP{F$C='wUZqÜՅ8Rߨ,ا/;sfyB;+CQ,51Ҍʷ)Td[x *«SoЕQ%ט"y6_~5C@v[HB@v#8w ueCuYoqzR]Cj:ƶvVv<3Bb4/X}rO+PUb_oЅӽOJ!K=>:Pi Klď!\< DI%%I~S`/(5ŕm k"NڐGҸ՗R@EpU9HCnHJ,ۇqDW/g#&EX[ ʵnj @qq<qhAz^9Vw_e|Dž %Z@fmIn7V挒9N7 _)ӝrΌ '( .km0DqzpƖMȶQb8f4Do?2MO4D$u`}^ ^o}nS |f"42& c6=2i""#- Ee:$QV$VLu|u[aM;A &?%ps'N! B((.f~:@mq}H.y;=0qG64_Ud@պB]P>ԍUp@mVM֡ONϲvrřQ][iZɬ20n)]uK5q }6I3 ͑mh'Fӯ efg#erK><{ #ilЈǃڪ;[run8F::dx7kEM3ÑO dK?DZh?oh8{[ՑB ܤl"%?%*AZ2E7(h,>bUDdKVKҒ88QBE\gv1b{?饅e!rJj A}d2+p׼ S/Z4|DS9t n`ү}peh#9f+۲k!O((YE\Sv驔U}̢b8fFO \59(XV<vkV"U.Q/~(& vNx6nPaY2h8xԠd~~bw;:>NR*C#ҏ0O^Uv;;|ۂ%FT}^'>~B1+ ;C TB%QFжCB: S%/z*7JCQLE#bkA)Woqv׫skRqp-@`A`WU|{*M;]ʹJ h5[Zo?GI}WYSȿa}ГJhK"͢a)gKyjLjLBŃhTm6-G]=1!?"a4lyvg (۶`{eՖٿDA}~~Q_֧(d?oO %~T]Jk5vśp&߽VPPYr?G%ΘڈI\9j/7շn6( hXxOD3VCi;sS;vl.DHr|?&E'!~$DFwg`GeB=.9us3/[YgڍbЂռ $96W;y& +]lلʟ"lvG-ض/n7>N!M^=& j+uj띫qrLQ^F 9t]]U-t>ߠI#/O 6AΛC-/ o/y(hՉV.ZFQȂouPr"ܱ4x;\r;8@F 1 FmT($bip.t4r9z[p'IpB2=ubHVf7q7Ÿ;>n[6*?I&=KIqt'0 5~BDp{țCO=җᨳ>A0BܢM_R0, UV}r*jE<sŊ1́y/8y{z>4ƯPD>yZ澏X?fo_6o_׺a fqA3C蚆{YB~¸0#>ErGιZ]*$&DiRBe-H;~_TI ((dq9-P4,grMV.띓cz#z#MzLcKLDjssBvo(\Ib=TF&C;umoʊlXъ۶ƶm۶ƶmgk}><9ns*Ca!^IMc%4n.MZ55\DAL_og4HĸMAΞ:'%}0pbR,dhHq xy&J^EYSuYƊP"NɈ(';7P9'[Ll~8|9|v_ @(:B&_$gy&sKx L|nޔպp84{2Y瓇E3aJݟ hDUg^eŪes@9Ser˘wm2Rzgb]Z\AڦP0CK|JiKUW+FOͼ0%OD XB 嫹? fdf'uʆqN~=/P;4aYQh9`'m?o $T6?Ahg.* lB.ocHBR a \.fX)A>JTgv7Fڒ7s:A`ęGEH|B10*,O.:?Q !Y_OL_ tS;lu+PE#H<_~va!QV\ժ/ /}TW %??wN$W_ ~"n-fmpZ+')R_y}|TW;`D=_՟&[knfYRk t #7__!r?fy l/\Q.rΑY9ʵ㖲%)Z %(sbG:ƗxJ *ͩ"U0- f1tiC6I#MIK+IEa v88\ فypPa~BCbC!qxx4h JI`Rht\sA|hW8yi?@~q]1ڪĘN4$"UiYI{.a8* V6~n1լ]A&r YN[2Acۿiuo֗nZ~.~>ɔwft抾= O4n#DX(b73?,hAc+l_^q]Xr0, .>pD5]%UP?v;XÃppg4We?ŤoU͹(M s U;Bwpx9i*dq>Q='뼑hQzc@X&9?|@Misd"uu C_h NB=qnjIAJ~C=8P,݂<"TKL ى[u'SAG4Zb<ғ>˷H>GZ;;,bs J:K+#H$ $Cn6)cGg,Dl}~&4(cRQ WQkYj$x {Eb^ܓ8'o=&/ Lq4>]ZL^p -bRebw\¸>_O2|VRg4oNy3;&ӧ\>՜]lV\6ּ6?򷆆ߵ<ӯ7k&jՖZn0"kh(-&Sp]h8hlP uwTc)a~\]RF "׮,ilq~-uU!5xLF)OyW̢"c5r!B)]{E6NXPVxafM"Œ(7HN^3sԿ'C};pā*;i (}t1glTR\'d/%5N@bksp[j ) -#avJ>l1g(j"eyrklCrʫ@H\أS>w ];!e&'"l4FW$v,:w0a>-G C?Pt]] %$b 6Mls&Fv7v^[ d=wz<}{Y0̙CQ*RCsű籑IX¨ D jzkOsU4sAŤIAi i1;Mrc }4n3JCA^.зW=[9;o]InhhȰ1fJIx(-gGaS u Fßξlԭ˜yxm*$ǕmO#5̣JR_ڟO?'^7U5F?Yw?7w >x߷u>}.T{Cd:8a2\G4 V೔CM~lhHe!K\s1R|CSVSY緇?"ͧ^Gwp`u_O/0>}.Q:}||Aԫ3,bߘlBC) 4kYݾC$Quy~1Uc`syEGj'\"_9̙S 83c\2 ,I'gYam"S'j#ht2C6ˎqzD tGgBNG!M7CȏGhSzڼG ڰesc{U7l]O[ވVo{ZYC0Bé"d t_ ]j.hO 4а:$\-\ѪDh\F:dy*볳ioj[M:ؠe-r-tM,.Y){-¬+k|<.}VO_ eCqeLЎ ry b%™HIG(!RT  5YpWڜ8ǑHOpkڋ6`2 z,BU$ɵI**FRk ,ӝBq@#恋IiR9j_F-^H 2әD U"y@L&_ pZ[}q~IX8SxzWe`7}w ?>Gm |uÑ%.z}=?dgfG1>{.>nuӱ2V겦WJ)AszN$e읡ŘGϓ𯔆bUmd"IjkK/[d*l!M< @y0ĶdN8\o$ci.r(10Dv 9AMx_PMHLG7LbW8Pr5!mmCh6hQ&31-#>n6fGIߘ|˝Ᾱۿx#@>d=DIo,eCϝOχw'(Hg:;ƅN/#DYfika}ǯe}M#yvXDIEQf*Q-Ӳ;`{D 6j{A:A65՞ȫkjQZO%֧K椵 \pU!I A2(YK/.h$;"$f?ce$D4_l]\D^z.H?.FI+T<$,߹βHQ?y@XdTboEy>WAI#.̣bcBSa&$(YWd<hq߯Zi\[iOy נyZFNJ/W:7uHǑR4ˆbϑ3&(0g#B$n_].Mw4El1@(`AwuRvS,E n+&]F ]t_3:z1E.>1S4?<~dnLT K7R̘vudMZuجڴF?ï(hm_C&R)X=e}XuQ}L1/3NJ$Ci _Jfؼ!l`PF|o~qp61,Xt V^|aܝ>&!®1 oq!r*2NƷ 24 93Lu# C^=/FT<ȚopIK2MeҢ϶\3yGIT׳jI<@@ՇQe}mqq^D0ծ`{QBX z(Rx_ekw;sęS\(42(C_Eu\yp[~K 6»PdĽ@BSFDG>`ڲv~) 'pr6Ko螈8y3yY~G11x4o8#j('Uk/ۀ2&H,lw cFJ9CAN>Vb܋A-"A&*bu_MT{EyhN&[I'mT!AGN"E]~(E}Y!5+dƔw;qVv ! ;=@p W@!o*sB 0l%9]'6u;!ѱsBu.ʺq2mk_9c!Ӟݠ*F"(|"Ca t(/&q9&/LJ}<]bsﯣV塴9!#1䪤Eef]Oޤ7Y@]5쯸Uy"fhTr̪53FPMO쯵wn/u8G웤ۋ$竝/Pܧh+g?ll FF 5D(›2yR\Kl"¸ R`Dd6<e@h*Y `d.'\kd d~V+ 5|`z}TҴyu5hyX@6tؓ@6$M -?rY-c`g*ͽAJǥ%YXuj(N-=} {ׇw]N'-b*7r. .`X)~(x\BANhf< ~ s&ׁd),=;y & pP}a|ɷatHNX*[P:=cʌCX)74yaӶϡ/uYe|6šJt52k|Tڶak~i/. k~ ;f'Z"T8\(+`rۡlSEk2gk77fC L֐V$Jɯwկu;)ibB<|)u8ev_9|]n=~UL޸^CdsT'wd6ˇi?e+mEq  /Qܡ[r)).t.-N8=2%('\4oH0yc =jya83 518ᓴ Q;Wf2N1hZ(z[GPM€$C #8kH%ˤoer=0RW S3쉴O:>I8zv r~[!%T"{[ٟu~AR;`gY+Dm5{8J!Y% ׄ;0!@QZuN[\3# Qy)_(Ϩٟ.wDy$a%OoHAVr)Yss˕ϯn./l K5㖒M%`b @Y<;'bDCVF.;u7Bb6m`|qf1lz>\".z<@cAZF,zZ|%<%\߰U̜,ZbMd@{7Alr׿yh)i('"ezAIaP|:^,6Q!4hc3+I(in2 5G= *Aٍe3}}T ]>[u7M"H 4DJ7nT =wϳCn30g?xߴo3[( )ń[O2&q.\ex!:zHSzc@@Fj]ʺJHl  X$cfװƚI[bִtU?\K cFWhIyoNfM*ndqMGyehѸ*C%+Vr/B *֝%v|$jo:٥'ry㗺v[׬1 &1"Lծ{tL7S7s'N OcTCy؏&K|$f%k]%i/c6{^k/[ F'\Z;=BU*-7:3DZT6lj0%a~fd` .$'J++Jb GLH'D[  EwsSMQ6HF|1f,4O#:*i^YT.: '.%^k+KkWPrswlstz Ɛj*&hh⊃ie& , RTJFfrNoϑ]/5/ʵ%uncY5\'gʃ_i{N/)$NַTye68XcPs0NzWu#,afYet X^m :(xv~܏L S);&!{WA"]k-" O*7M>_;)HScWT "货Ohbpn ǑcTe͐(& \ڪ ԉة΢k?I߂xͤ#nT p9# 4{?6fT׭Oy[~'/iK_xX Ur{ɧkѢt,,Vq CbW(HMyTb rP0t=Y`l'#f=r9:Te|nu px=IbS\LVy)%1鲹YjX}$mpU_+8%," BYYAxj>e",oR>WH[pYK0#,@]ΈҐDꮔB/'vET)"\ۇcj$}\#7\ЛLtZa5QB+ŝW@ X7홷L~MbJXN-jP*AK-5ܮȫ5/4 G_kCEeҴh:ZCVݺ3.f05~F]S9x( `i4+ǁfuͦkt /ҤAʵdu eoGRip_v{:XUh,&vfê}<&{f m-eMniTA9)0iXU&n&=;̕ңWS\)w|*45P)IJofܟO[_޷0Un5Sb[vQlBejF[='>u^\u~Ec :EEE"d[ud$,~_rf&6$ SV%d %Ƞ. ͠ UIVC-d-vo\1uh,m^COw^\ÙTl{t}M=w+7Da ߖ`qQr5,Lk 3 m>V9g ?f qVe_$Xdo'\2|=,_EK(ZD@rm %~][T^{~]x :vld4 KZ3{G] Iqڒ/7GM loe$ nhWJM83؞:.h=_fwK>py?{/ ~sK{Y E9Ç#54ljR3Fg G&Rp_9Е,C_of:sS+MvuREJF8u5LM[[\g=4[$UҴ}9VPe8E,DUu#v\+D KqSX)0jK'ɵYư(ulwWq sIj}YIWcB38HnG2$X{\8u0D'&xb? D#{G1l#֞&X"Su~x~V2,.[f/ո ^ĘSdyX(ƽv1D9 pCXR[5OoP"I^-GmȽgJ`IYPQxu*BI0t}Y ~kbkll(fj2 wwKTʐv}XN3ay.ܞaKNȎ0Xu8vӄcu+5f*kmH^jtqk}nY8$H@9 YRQތ;0Ʀ:BԞf &RxJ5'l0ɇ Д:K[KH՟O>$P T)DTDB\NlGdcB6K3 ir# LJlL|Dhz lp=?2b2ܱyUWqlgm4)u<{ٹ 2ʣABMd߁qn;d5o4-/a଱n*24 P1t~iq=d^&Wş=xqԖp)=s9a<ѴT`a0Cx]=S/w+N6\잯3ׯw8M)9̠utFK~y-03bA"!u`aA؁w3a`ey;p%$$N}I $M ےfxXys!UL%K_'8.drxL^bjVTY[fߌJEgKx$(!TM:LΗߚ%KQJ)³"RYʕZAX[aDRkmuÝgk0ƢrYʥ ˷ ZO*-T鋝/k)!.qvfIAq6ݶop`2Xp';unsϭvStZ{{wQG PǯUR?{yapSj ~ᣚuLӜV1q* DUl}CqeSVr<[3;OC'p^Qc]?L'ZE-^qt^ŰTljwFdz9`@+RLS@`CЯm3~\<9nm':M;=#xVYBx.H;/3b`[((&C?R/_L_0HD _DKʗsyc"ge,G8D0f6:9=$?HA7 fliZv噘9(OhU D8kVBUs9iUg5Ib9 zP`_UFGou{%U҈нl>%rZ5qN%ݺbJ66$Zo@ Hfbu8^1کFtVj 6~Y"o];E W[ R>GyqaN?bȜ5$Rdи@|f2gݚ`bx°P2 EYawg>[v>\zz6O8VaM+7m)T8*2 ; 4x3l~:$%}8RX k-yt qe"c=8~tٕs &;mZy{Z;JEe ]r0쭮CWIVPi7P| z>/#%o6X;$[w# o<`X\ZN?Pl)8e0ch}˾R>w$Oi$%EY/= 9JXIipRcuF<ͿN'H8s1la+ZİP%Z7?ɞ(F16aENLjmѓlvߍM%4$(߮:.% fR ze+;evGV Մq>y])϶JmZ_ѥɿ4=[V?X|΅ TlVj ֮^e>enߍy= Zy[p=Y8;J,l _3=!Rҏ6#M5zM!@"qmR}='3%ا'T?;8\Xg?+ZJ?U˽_6{b T[(f~ΐ>! vwyErxsOZ`t=jLD6~:{;rL?91 ձ[\(d"v#NA<Ԃ<ʨl<3/5pO;Y `G^㏇ C.B*+!jGՕ CeFaggv"2|5]QvA]^XslYY˸VЫih&l220o9h%unHu0qHtnWT*^tݯLNbN^΃(^א*۴^1W-~D"#U0W.r,3⒒0"fwY[Yr`A(8ٕdR}">_e|Pb%~IrD(ׁ\LKFh&<0; BbvĤH>ԼӘT48fqY"i^o7)v7/ߥK߯#M2hҲXB_XE(an6,4So$ eL*\Q`oIr$,Mu,ݐGOVVo~L:+mxaYr#sngĝznz`|j<}󅏭^:fj Z ϥ\5YY:ū1,'U\pwqۆy>? $7m7 XY'VcWq|^şxSUSx6[ ~//On(Yz!zqpk~f/{!|:|X$rvÙX&pyiҀ0m)`X~~{Mk"𜍙7׏Nd %*E~0xjShgpAdJ[n8i(>.=( W/iscv߳mQ4VROڬFf ;}ڲ"7GU.݂ Lِ v}"A`Y|I.ލRS'd0%o e|P7$Ywj}т H;#~'ݲtmɛ~Q/ c'e%E~ɖ \g K |1s&z}!h?̚J#8+QXfRR4b֙c]#OE7;[_Z6}!.)/j& +FV_*Dk4ADru dI"u^^{$g|wê~JYJ"7<+/cƇ'|;OU&>>Yaۀs!UW,S:wE}_2rQ EP&#SՐ_^.bۋ~BR14[$:xE$,B)6۲QV[:܆E,h$mJvmpLS"@Lp6(k5q * l׺$A?H2oYݻ9 I)2 HY sPUֈ3E9|)"hU'8[bD òtZȮ3YgZ|M8NC^2OG)sBH b;a[%Y)ي X%"+g@&IUu.$'ە- Ѩә[bw'|_ňu$y_<Dlu8)L)?([M{Fzm^X鲾5"pQy.F×% ޗeIx€{F\:~CTl7-Kv}$&,[M#_W,i?m ~pT̩VM ~_&IZTs^_]ELxn7)Z OzN@IIãCY4,p;RO2m ~s[sy_~ꅕ̦kda|_nɳ0v?Zd*IANheiLwv[ K;axjWVM[]1^CS!21/Za l?[ 5-Wj>l ]#2Ew St&;*POn$<-k1U%`aJ2"C#w]t(*٢3dXʍ!.L>/p-(xپ-xsg?4eƷc ~րs9J].^Os#)C6p󬘜G'YDɝQ[(LWB|s,͗f7Io20?pP|?ݲN=ju&$id:8u:ڶvS2^¯ͯsLV1(=m Gbk"&ӥ6|A {3>z^DMwØ@52]緅}ޖK~HY{u˩E17(قCNLސ=0R̈*8\ %(,mmYI|:ʟ ;lsiI"*'4D𴡜 |==vb>v.'=`LA3Q{ɥ:a`ʌ-|іJkLry"kǯB8訅_\LZ^'^ 1F}Q @ uo/ cvŷY0\XuC#G^@BØꏓm-NpDGxٞP$&ay3[b; ]PEM~$BX()&e\IKdJI6ZVǴ)i5@TՀo E=cë_Ig?1`mXB%u0A,Z ]SD[K;s@'>-ڸSǫ(/NtMsA]@I'5S!PI"@[ xrĬ ºIɤk攒+.nԁzD3$vLKjw5MѻY݋2sZ&/P3&cF?to]΃pM8:TN#+ol[ ^\R.#rxVEXϭmʹg94Ҭ;<5nn5ĎS"N̞7`15ݡ' DžNG1_^$7̎Θm"UHH.J /K8j"VŹu$m∳F~T3WVY?k<sd\[m-LͤqbѨ -1JZ[ Vi :oQmZwK?7⪇#h]:]vs!s؏&ڀwR?, ֎R#<fHLk&w>;X#\D0(#فr69"yݟ!RI.U~G@z5Ee6=ZakTo>M=K =Gc34SCπ:5B[&{ OV-bVpӮ9'_ kqi»At|C{;-(FdU{l0I5}ashhfԢ]?Vk`ҼGC0awQnA}zd4~x7fPiprg*>za04W!w:HcNjeR~CYrd>EP<6)D~VBRaK9,~WFdhUNrR"AS 4!+>@[wKK_ٖ?0Œlu^9S>-w^wCh +tYI6F[ϟ}'`S0*EsO=9|:yӀŸ K ɠ0ed =@ m3 \f_W;pv>?jwkӗ>vD `̬Ğu:~CaK&%rs9߮~ݲ mf7 xjc\Ur Ќ` *oT9E HU Hq2> tձ[wVrA#Ukyg 'zd|F^(*QB!9h%ɴ۱obƒ(k.IgPViX mȳƟt2l"8Sɸe*gQErE1Ƶ6l~c8Z3LN(Dλ엹Sil/g(x$EufS05)4&c^#%r>~ WEyn?DkYyM-yIjЄ2̅v$䄾/yR ߇X|7nxC׃KjkYi8^8~ 7 <<1tGd`e߹_7W#FraԂkD8bP{5'7Ї+PTPsNG:t+τ?Xl4TN?9{8TT%pl oBxIGޖS&9dS_¾+nI-ld 5㼻zSMp򓬳3":غXcl$\VȿBCS6ߠ9{1>l!eH^Tc'N*p}gG Veپ%eM Ur D->Lv/i9FH>CI*\eDv:]Kj$ N\=%ڑ2զZB2^C4:yO$v-vbzub+}()]x|2a\AQNϷMxsQrr3:~q DK ?6n+*zn;)V{ȼjH;Кb=GLi1z0|1pEOSR6WHE"?9B(5Gb \Z' P,6A'PZ"i^V_K]Y䪉5~'|jJ'פ<3X4C I1,nG!);8ۻY n'! MbĹs1[}1Nr?JWowMoveGJPwҘrE#z3 WLȐ Fݲ\jْh{&[+ÌIt&e?ޘ߿!.p3vWc5d};Kryd,c=Vu00PP=qԤ\+s.n16dҗ  L1E12 6m 3hJrߓ{0t&tهn=$ n1y|.5pd/ !Zi qs d2aX^<}O7߮G£Jax2){Kp\)!]k'hC>.y!Q/Ue5ٙeL?HO8rKH'3Ml¨M1!E?ļm@RcV/gWgQlytQ-\&$WzՈa(-&16x|1Lgߘ\r6-]r08B35wJUXKhv?%aTS=,li,^9IJYApJ#Qz:VJZ55S. $0?2Lf/V/BjHz98#h5-gwJ}U񸺨3q,ns3,df?LSiucH O:;:*{&3ׅ7SUO[&M)"3.Hy:# S_b珀SUvQNT 3zbGgŒCm F܉#^V!L' M:SǖtaV!FG+W.[5K*8ϹB__h}f*[B0t . JW*PϡA8oTŹ!R}cFřwޱ8w_λ>rmP5BO$Ե{̝ϣR88fl'\ho<>2HLV76TRW!6#I󱗅ɗE4(3}YrND].C—_ǥ5Likіàre)53hd%lۨuT/_Y/PyZ !P,wp&ύF_GZk輰㎠ՋGa|OByr3äkUY"TƗmg֜ig,~n̋ %E)Dp'{y8 6[/v e94v7]1-*+sn7k #})ciО۬EJ0/l<#9ٷ!3lnx{vt?)7&d>}m&>ϙHVΙH_^2b^1 NY?nPzOLxL2byg""-Uo]*] ˨0>uJ؍i."ܩ^X&gǞEA:rVt 0EƖrryZߤ I ٪[^s?- Ca"D?SYj44gR(y$b;& &Q*z+_-@vt!n1O UCrmG(]t^,1Cwzy[;!I,8b4yLys)˷%9s$EMsM9 o'9&*.{ ?ejc?/rL]lR*/kO9SDk<=v|vqeIk3 {]';Tl2RaܜLICpoY26:'NYvd(H㛰=a`<.2ݿ;!+ U;&g!~Y6et6`##lj_C0Y-Nd[?dD>n\}Eq!- 'bYt9KEÐ2/l6OyY ,Ă+>LNG<ϲ\sUTdH Z숯K(M" l#ʎvH\ mPdLTV~7ۀko>w<WDZz,;%ԩkW{N(Ei ugq718-<{ *`╨(AFkdPq'm=G2J$z fq{ o[!Tmn’`d-aү Ws&Ig C*e-Zᥙ&ӈ\?KTK*B9ҙ.mq;oVy7 QH[Hh쌫bٮrI|R;jy =rT+/ִ*e+~a2|v#N/:`HJ9&0o\o?u)~ y80s94" &Ʊ^ps|q ~蘒tzĒA-cC3}×hg7uKw "8exiv8}\^aY<"|/v>ŀT?D]A4#ڂmMR>čuB):_CPChe(>"Kzrq| 'i7&W9c4}݆[L'g0pPop3v9;yu/ i[PEʑ ]X[ÒV |  t,kI拪pfJ50 NHH~}6l2_ۄv'hvf̸ӛj\Nݢ3;B % F1KK /Q9\VATarS0؂I!.B94C.K3K?ۖHbȨ'j;67 >VtB $1q PWg)vꨑ6<8?\;ڑ7,G$YU=|ӄOM͎;"A97$ziCfvEw=?d .?scO8_tg?kJ/r ]:&}@⧑13T[24.XvG8bֳk$F~I nj0Z7)7i=udDD Ȭ ~N#WP KҺ6{fEo+N[[ l(@\vKjn]j9'F[>{ WUB8L+Xۏ\ P)O,>WzBZ1dF]}- p2\0fǬـ8vtr)Fb"Su;|s}AFw;Fi#*?:vsytL^ylї!}J&шL^]3 |:`gJ)=mq%A6/ecQk ;R/5ȊX]9P\@dK>t '?۞pGέ.}ry_#%@hk4Ԗiv.ήը5I*BR%5V뢛8xw.?D)<˸GR^pͥ猪\WGfV8*qC9l/_$ta_~aS+E)k|/a7 UJ.ωO//74|4j|rRg dQ &!+'%$N>04$&K\{ΧMz60HFa͏d_]#̳uy+>QH%=4glfpWO_c1{2|X)Xe@:~P@W"H H|B82Hr@OS1,Nb(a|$/(0l?\CO,d24Vk˗es[mNSҪ`/MͿ մ:EYW~QIܔP̠KI6FeV+82%oG  q4%U:O02<)&o+Kj(/iDqIEU'}vH5ig^ GdiNȪt>VY}-^۱HØo DלEm'1JDn5>0~˹/)8^k >7 3_=\^rO30ePY,9ΰVWſlMvss2G:+ |S>'~@x牧Pw  !Esd۩3QD>>VZbm"HL= ~GЀ͗}Rh IJBMR`Xbb$ƀ<:b%N~A2SC" RtgƣFç>)=ǑB! ]Pa5U(jQɨۊng %n r @!Qد[.:=Fb\CQsQ%VLJؘ 9Y3NrIeTWz)_9G9ӟekU8}pPB-|/qrd4yKC*?y;GJefos337޸_F-scL) 1Ƅ JX(K(˳ϮfoOi^AC|JdF3 _X 5wfD賆oJYa|vb4(B~(#v4$~ V)(_buOO}[kqRh'8a<[Xvv,Iβ l\d7PꜦxj#RO@7>LFx-tN-Ř:eydC=r%xp1Y1٦]*XQ|W*o}{9zв: (7 ]WGi d3Œ^E= NBJED%F(r(ss Ơτo/<*73y۷[-VKH%!1YeTp \1!IT+NyH)`8 Zj[=o;{i4E?$Y[}={}{]z'B@ia$ rFw!@f \%DQe>BJW͒[57*ΆI+-^q!;- l84zU|X>y !"8]r1o giD liZ1׍3󜘋(]=DH.\QʕI҈ճl )˒VҚýuΟ;jpȭמgoJK6xJ[?ec}]G|??Q42*9͝!۔Y|;%C~G}YYa$*5!Dž)DcKK 4ZiH)qBtFQĉ!ҒD$~Q=l!$b*kg9A(IM,t\@i]+@U9ʲ|+KSY Rh8^~^}8Q^1p_!L(rA=Ax~ɧ9,.pɨ$jz\%ohZHositg:ܣarΣfwH"x4`}}+!;|=O_|i+=ibFQMkogSygX\\l4[',:po 9 zge*隈߇yw>Cnt-)|OP2ns"wҹag6ha@8> zW_ /&+J @CB0pkpԒ2"2T(B*)$mspVxlت?B 4/LG x4q>  Lgw^)y^0(7:W4`Mq !Ql2 Rt) 7(ImZ;'54ykzO Vg0mqx l SUuAZ=go*EΣo{I||GsAhOSOph1fp> lOђi ꡧx_}XW+AڒX)"xKB 1>@E11^r)j2ψML@|R\V(&gi2k!f!ѦnLLpGpd47+>[Pՠ CY􈒻60f7j<1jJ6[7-oӒ| ;;dÊ1.2^FdsbVk^@k1 @$RkD l9S" R፮ZJ 4^5Eƺ4iRhgF/C=hQQBB<en^WC Ϸ񶪛1wqZ_XT-tG!|//"7ȗ+ L>&b*︠/aʌJI 2-s2Lm&)={ d4*m:$loݥ vG>dbs0B(APdBemD9?ͅ%VGP6_c:Hcc>{ѨhWsc+2{'"V[ZCd2!DFDu!ND0*(|Q#0JJ3 T4H AC,kFhkr30S{OQd9LDQ00LqXƃi^Xp.b"y5F՞ 0q|C4Bƴ{T2ÏA|aeɕGB~W& )x3>҆t:Mr yLWɂHw8"-&Y`{4_}""We47oݤ)gvƈ nwd?sl^fk{osʗKlRM;~'z{/"Kp EMƓ xҟ~}'i֯-s/cG)#idt#:MÈ".;ISĈK$i0]'3ɇ鈸w}oћK:8!? .Q#֮%1 c*nn쓗CZI`4Yq`2P,\NYRnGD MD:]e-qק`)mT$I'\U!MmE1fD6W3@kJ$)DS`!HRd _mCIw7FRV,Y#ISwH)@J%kJ2YT"ȋ +eNRh(e$cC8 !G^dVڦ`o1{[/0"X<}Sz=/D2W,DbHVRҞ'Sƙ6naG!D-srS*e0)xᕫ!Xlh{ko?HC0N'bBIQfXR8M#Bs? /sI th5,#|D#K?S=;HqBY( HҔ812gxog)>D 8rMrƈϯ5ڸLrqaQ!`Iwآ4o+/|{[N]d:Ϡgni.UC//s84%E!!ɷҸʂ4PpX``TaF[|!4 !cDmcѢY`uE>ȆDU.GVZ$1q+8 *),+Uf<RBAW&xsxҊΰ:S 1&%aNW$HNQ Cק=Ai+v&)98,F"YmYzy[v'҂6զ608C}7>G[ BDyRBX`{=TrĠɊ卝m-5UY7uJD@l:KT`m"#lA*F&Sx b}NDLcyl\h5П86Q5emwɀ*V81]V4'Q.oa2|[##!sdV1. 6z)}o} Hxwr w|=e~CWo|6Gc,-pk/ 'VJa1]4j o)\ۂ<x.Bt)F;|LđxRzy1?%VW(?̿F1/ Y~3si\R~S Gu,6Bs/Ї-> Y![d%?!K"%X?|ɟ[OO?\h5M#薒X wpOz&rYLYiE nܾ. '"ݨhL-yo}c̙_LŅFMIOYN4 ۛbi:g/|/..wU qCfȚDG4I4e}cNϝ cn\GEƎ8G3#TǤvO?kobnrl7=+wnF)t/2ܿpM&38 clĝ{ttt_Gǣ Y^bKKYUXklYMiJF-5vF EUPSV FZ>8T$IPDT%Z VO'zϤDڐwc4|?!Tv`gB[bGHr `5 bT"ݘaoy/nO ͍;4{"kק JJQu)@$Az$i贺IBd 6&A|ԂbVJk8A#xoMbY҈cw $B`8Ǎ1*^!M"`]Em/h W@ T#"d͜ W4Mi͵Q:A*Ml@.x 6.1x=~sTcv7J9`8'`{&^"[,a*<~?y-.>pwa+mJΚݜ'NdŘ(i MBٮApGkSh)D` (ꛍYC)d}"h\Vݬ' 5*z2Jh]j#P,-z!e)~%yZm8cgwPR_XEYI՚G5RBeSq8*i374p#oG g3<9N͏?-ؼ(+VNh$$VHJDhUVq}g3 8OUMɏeÜq`t#ewB*IUY_еXWWHF)RslVoZNWVǕ\(.G&qĖ1^aT8},R}v[9>@w$ޕh\RRh̑ HS4&='IJt  2i1*88pEHc| L .f;]MA(#^ŋ3|P^P}΋-ǷS80(HFC%<Ok7/bZGł CE>hLF;:m&o s-Գ$mn[Z=/tG!H:Fh cslJhbSyT1;6x W#_B@!&-7Cf 4ɘqYXDΗ{#A/ڨF5j-`L(QECMd(i !Ost 4G!HO;DqMnx|e: A>MUd zj'h74')G!]hzn"qQ1ū+=u,r>K/n+K4)>f9ڝ c[la&9(Q  gN#E]6֮31ml$ V݇`}wqczUɱGqR umHieIY8 IN6($n]$6QD=*r!)B]*5. BUH@HADIA3 HLs$m""R^oyBzm{9뱑[!8+*W"e=reA10iB<$nFd0$fpc{kL8Ƌw5nr[o K.g 6"Rp6gmoрqv2M N3'jޏ$wGWY9{Ic+h,Ɋ[_ĤF?efEܨ;TޑvM={b&/0\=[ởz'A<=HqBj%KZ&&Hm.Aj)c{$Q!fo}KA,e!x BHuRAL H̩yLb~<5Z q!}NKŜ\Yi:`r*rnoAE1eX8{(egOvU] ƐGĝ[ػƆܿb+qpgP9^#+*WE*Ah1L 4 Lffh^mzD)@P; קf7K-[X_#F1*j/\) [3gz{|u}]ֆU#D@H?YxDZPNHq_BY5Y|&IB,XyPL=iܨq]$a4`J BOBHpGm̃,;ݵgg4] laqAXb'(P9)@ !N1`*0Tc"0m /X5fF}.gi$Ug;5ݧ{{ϻ<hD<^XyR` r"O)g>Ib:R"D L4!Rk3m!TQ"4M"GOѣ6L fs(kb̈́Ǟij o:dxѐ"UЄ0&GȊ} SC)+n|6ր¢`24`GyOpߦ5YkŬ>Q$IBcvkTmo<քd _:D_z;] XEDcf' _B" QH BHiQOU2AHAc\)4B)M8=|"ٸ,t*"45(-hmw{pΣDFR'&$ ]t { :oVg=A:ZFfȨYGb&-c$hgI*W D2x麧:pE] C*$Δ˻Ծa͟){V{봘L81xUaqdB_'ZEE'w_L]7dJS7;`sE \%Ӄ#C &+zFGC^w^/oy?E[^E+5;ðCUhgԍdT-i1.-hŸٵJ2ʪDɄZDD Z% `אrAhi8yX$#nMRq>$*Y"6 y1Ơ¡v~_ qIDATCa8֊8KGHՆq2W~gO_L?%ޫ8A@hJ+Bq*(5Hsx<(1qY4LMG!^HJdPThϻf!5Z>s8LrcYS!8rJE B< gj 7~ [Ldy"^:S)60'>={(+y[?{Z-꬜ZI>ɏ Em: cc[;]{(g <wpB(t"|MǤ[tB%4M0$ޡHMEE$HeB(F;}L N+woyZiJ~;칳f406cy>u/q㬎7rU:G쉞 1W1w_ ϯڷärr?༛&"g!'A(qt[i Ov";R`Ӭ~'O3ܩ妛̡r*!%fjM N]Q”`A\޸V񟛛Tf60ΐ%JL;g %rV"Պab"IH7͑mIUh_2A5mYc< d7ď~kL ])kcOAE9١1獌0'LcL9*RhMVilL uEg%c)T 0tM4x#{G -g!H)P7A4˹KbB@*xgR /A!zssrijHqh E;Gk 8Զzw 5Nbw2wǧy{R@cPeIc*:A gkv<`\EZ:'3i'DHcLw&n8 ȦA,Sdh!SU`lAb&6c%GO|''}իFl \\HMz<ٓHF:&6\%xO8|Fӌ60GЋ;4IÅEg%T:! )w5"+e+|pe1u$,\HVS<]QB Uo.xX7Mh^`ǚ3D;;%D@iMD5uęF$ik:_#u B@_}!Bo'odqV'+m!"wb2ܢ2kؿAHH}Jvɒ-%\D7QhPjoRd x&MV66X_@]J4!)y4 $Zwv[6غFuB,r%}/#}vxnEҙgM9b`R4O!/X+6h`ʧ}$dᨹ.?,!\MUTr*=!eBJ!2X9GUMLNR$+/=!@৥d B"B yrU-Dc8sajR3.K=LVd ^<;h5{gt;x[d;P G9(%%mNn,zifi^$%xO|^;~7GiK-EZ1&NM%ϓ}AXƜ9pPWp!ńX0!T X$mdr]{+yca!᾿\ yN>ſ7qalO!֯fn>R@P&>eCIkɫ}2ϳkͫ^jtWtJҽ"3|l9Z$C) 2N g%qԎq W5q18O@FMݏ h Uk{ab}N@Vdwq2[|dI5:H Q̮E"6a03S#TP2Pis) GXQ:إCH\+!nyk׽8gs{;﹗SO-iev .P.P !GOPZPhU\IbA%A &*!$tA]">kwq SҢM IDKp! o9=\,=EBڿ4&MSsxqKkd~!:[Prg1%A34.xK^r+ӌG{Ny?ìB JVFɴ9Khދ=$i?8rC( !0 $Aʄ ^D#Nа }Wk 5m1H%IZ]c!DgY0 -RaGT֊dB^&X|/?|w+ O,ljh'6Hn I _|s%- /.?ìB ι(-Tu#˃*zubB!&QԘ0*b "Yh$J!B$$BQ65lY`i^.*a)>YLR UdrdMPZQL[):{α9\aia?&Y3jKrf݋-6r }=7)>OCh7½ӟ#``K~7_Oo殻^d3\stT|:] zi fmZ9f2ܠ!"mKצ'm^o4 ߣh嘱'3.qMMeHCJ^`!ԥs̝Z_u/ԙ3,uq8yf+oo?^n9~m>z9B?×ABb! 'CWH˔;$9-dtTB@"P:1fuT4O] j8Q41 iU5'[\t,i"06ZpuLRI.PU $t[;cC9Y!L`E9{)q!U1d~k}elu^;ȑCx+/l o_M,lMvhZQ/p2deI(`qa~s BN Z P $2hd4$h:{ k5%EO;Ҍ!0"IH(XXfx(O{_y ဝ!=֖G}!p1Sg.qqkBg~oza}Goc8d\roVXؾ9ʚYhbΎ>E 3\ !4>xǨjFPw3)lr@p# IRJ+w(q 2\Y4AD9h8zIF{uGc yRmi@YWX(mTyAj4c*3yr<5I nji*`N?C3n |x8"L.rk_˫{,2… ݻ-Uz^Fam\a@fv2⡧/$)Yh<$QTk-RZΐ `a""~q5,j9Qqꜗ,$2M4'nb}а|^9Atakyҍֹa8_uˋZ?w::ȍVWX]?K5ZE+C=y(R%vN__B'W|gCN%*"xG4_+ra}@  GOV tNhkI8Vd bk S1sOB+^~/_=`Exsz]mo/1}h4"MS Uo-r])|DF<6j! YQ;iBΘp =w}{XG*dgH[*1 :[[kJdT8cE4(RxR-1xԶS'4OY RxyA]7l6yH&"bLC'3 <|#46{a%w&ǯ)!^;t[d|}/X *#i-0j HP$؆AEjQT$ 'HnXqI-`-b<3l1^`"ϰcD=a2ޡ4釸ȋrN 0X '$h;kTA.Ґ'5K*$ݜ y|Sll^t2EݦPrH*Ν[=_sOԛXMՔW}YB (2i#2L!喏Ĵ !,)Zkʰ>~Xې&yRP#|o!n8oȲZ+jSZDcuMgZ.Jp)MJ!9$xP TO[?oҔoo`{p`jш{{ j]8̓?׿i4 YׄZ-!~ɲXj.dVIlH eֶ&T5RxI&&@(O>zc_ك?ʚΞc<[do{;~g=O:G9z0!!Òs|bt'i1O2;RZ.930 45 hp>{GÄu|oͿzk[7OwF[(r<n eRjj"yxdaݼ۷xxgw}Zs?Rk<8<`cS=YgaYBXk9;8J%w"elT?|<[_B'-tox<<$Yu;Lg;0,!|9 @U۩e0u<ϩ i,ɲ !۸p`M,Kdr%d!Dev􆈞xjLnqc.0R{nA4 rv8 %t;"zGzJefsU$$yfse4ὧ<fag=syٝafq^~ufaf>1af ٝafdIENDB`P"} XWa0)x}TQ.:$4'4X}pwlwgp2wwz{^==ݽ];HAN )f'EznNR J\֦$+yy3!6mBBG{M3S.))dDZi[00S'UNs#kO\*b,\{3bBY163#[# jƈv3*yI)d100_.QZh8ؘ:51GgcW gso @L $8XpQ\bsTXc1d=X{3.M']瘖$->@E={J~_ ,6IetRH{zau=S0H`IM僬(ذIk'IIg8& TR*% h&G\:+$J )0%%̧b~p@IFzokvG^nӣV׫ rf%#32h@8~=Diב RpHhhu]|xXzq0w4a;CXJV2TKIgt! {mmmfN/P[ǀ`-\@FI&$;:xZVSð8՝}䷚* 3`"J  CiuX_$a` WkaP\_mr9\p%,s|I7ݽBXXX}Zk7{2fC`vïRjԍcgw4??!@_.aw}qq\ `4K䚘߾Ps\]SipJ8)mmm;;;u]c>8c^ c@~+]Ve+nֲkܦqj7fv/=pҗEA* N/Ejf"J"A`C.'N2əXW dhݔ&''zc_##'/ε 89ap0X`m-0kk׷Op@C-L<:\c:SHT6#)K*̸46ΌZ 6QQM+111=FbNN"'7FB(^JGyyyN}fB*ӡ2iDɩ)Nyvѷ_|0B}6qo@^^8AHζ!KsME\?ItHtXa):@Ԓu](}@ymoB<Lzw)T=ĠGvE/ݾb|WlttSD*2kzKaTbsj>6䤌M@a;SKO&@9w j_ 0yI'} g>&}?U–J9 9Qž({ ךgQ|KC;'46\smw|Br⟪'H!b{ǩ m3N=MñzoFVc8)A_ͺ՘|9>|WΦ.lH<2  *3ʟV.lv~^/8' I:ؗQz>q-?( Lv^سkc>l9b=W{#׿a5Bi,;|/7+w<9-*~QnP ōgRpGͩBVZ VH,uG~A5Ju̠BT%.zNrMN##r}gYW-k|d'A3di 싲*O->#Yw uIQO`7`?vtrr0oj߇2dbWzqƸa #iGyGzJ t#) fHo1Icl1j<TFW,z|(N_sJjy~N(cB 3DR&78*}.7"ih_K'ꗊsSo͵V8cXhߜ?wbx }pr]Q"ɏ/1hy1a ǣD+|?{/bHpơMKڦ J. */ǢL$X9MBébWfƤv3E$Xws8ʋ{NPh)k籵u{ꓨlJz{i13{!һzBvCDDD\*k u9yvQg3>rc\gwxWڛ~.T) 08zUlTG☗!r0?=ۛg6,y'DFfQ{9 ~-KRޞ0 Zu7Sg ?̨~sz`ϾlF]Y8U͕$4mIvjRX(S? |cy$v(k<@ ;f!NI; _ڔRӵLfb8S269 n? bYt73.[ޕk0Otyk@1 }8 8),ܱнXԊ=5N'd*+M] b_G^g>>3JښrkKucۄժb~`ʃr>U}! a\~}̧k]oӳg l? 8;ZĂ6jLشf:WƋg>ۀB?2OUu͵ǻzG[ soE1 3- GKX&eA.^6e`gks#N6É!2<Sb5d;ד=5_ݯʄ|#ҪnrZ=zƄm7{냄[M nhWUcqQY>![MG5W!:wLh "oD#nэI:0wjۿy((iV]K{74h]'A=Ƹ'eBtHmR *"?o⬫6^mloa1YuF-n}w:mMe(e`%iv?8+ c9\`{{k?J}y1ii9c0 }03q ~ZC}5Y}Auߩc; 儂PiZgFO1YYY E>زJ{0|%̉UԻka{ \;qT$#/cEPPTWug- j|fE$x22ggMP+GUFD-43"]QU*uBaFos O^~ iOd϶uHd]7Vg(2ny/Jc7-bU% >i,bѮ=;qbSSeAj:tJDi^ԛEߟL|raa;~[׻jZl )'&VVVMB_CssrζGߢssЙrL\\\krX@ hJ\ ЬE:mX$~=>Y @Qc}>T*zeD>Qǧ~>l>h1Zyl;?'XG|cP|`qLg<&:<0\8G5x6BFսa$[C=/+kn9H]&O°+G_Nʟ[-%xׁCWm{cZDLB<ϭ^5Ull6[=QDEj ^?%m)mueDs\ܸOQaZ*FMRd.>4'+jw~j:PAeL-(p*dfgg`;Y ! !^7; ˗#g{AqB5+^fLqE4)%,J:iWo 41Pz*O c6Wקjk}d*h9Lfme%3VvQqqz@@\o3Їq]3ҮFda1>'ߌ lknjGEI/Ytq?5l9#͘ЄȘ><gx\5kNOrXnzs?迆'WxT!|44Ko7 RFƪr䇷#"PR# tdU_Ba}yl|0?44yt4l0 -1? xCؘ)mVzi%5c;pdvQe{lYZ!<':+5m`nG[բF|$ڜ74\-fBeoþ܎ovj2bGov5;Pgv&v:.jXO3+T_#Y?#xu?M +_~8'/uD[C0jJɓbbb( mZdj!aVUvq{3!3Cĭ6l%JFKameOa9.+0M kg*9Kwt 6vHxF@N~GWĀ5$quxC]9첓ۮɯٱC#g+|@(/m9QM8Cc`Hp쓯J.] >y=]GOX<~&&d%@Mx& %n,a{ƑbqĨ\3ՔlR*8X@{i*u\~:kmt_%YUs?oM;NӬl]R-}JM):e-=Bi+2 J4bF"?!Ia1#-cܗEk%!$dzBO8BD0/oֲ 4͎N'Iɠ2ݯ=,b222JCna;?ۖ',,nigkt>)ao7$&ǐԱ UD٭_11p50#-+:Ca1F9,!, lfe̋DMɺ0Q")h8RxYSO\h­uys3@υ*qoWhUs(BהHdKB}ӉGsvB$T@@άnfars$8@ {7m,Tb,w\i꺓 ,ZTGT @@vNVi\ڋ,Qk$㯅#CǿU#e\ϡs?O^\@VPZ&׾Uri\uţ8Q~OÁ_/>m=9f}l/CY۝^mB" LRI_Lc^&~ j"ZBuR7l{!fLȫ^'ֵ4Z쟇olMe~< o0[b5HF!= (uvI$5^J#K^w'=ă&|8'ѹ =KdxW82C#k:fV ;ʷ#hcʧpd!I#*k'~}x;);"p;f0ix Io;,;>6ŝPnձՅ BG֚2mnHj-vYf-$va%X)C,Q<5J)P|C]z2tum%@@ZIo GE2F7C>9{V ~~aroů*v9}=h|97x[XBeߕUXVta>wW{S1ީa+VPt";jN'KUL+9Ghܩ@O[S?OsR@/+3xȼF+ᙠɩjň~۔A%%с@cіYP7 ٍ3N:%M?/meCؿ880١ջ"2&2/s5!0Ů ? >˂ekA8 T?`⬄8d<ۉF.Ũj;db=#11QM]`m䘚!1)bVJOA$E[J/;ܬ؏7 um 6}Y\0lKz˔7lt( F=Bx(  BՀz-Od?$)asVE՟/@^2clu\өݿ[o aS)3g_[{$Õ} flī''KѷQѬĨfF/5 &̝6YS=\㊚ <_*$%,u=t:5#TC}w6 PvBr5O4u-AU oRab3s!|5tL|{_y?n-i/4na!~iik$OTPeanuiOϑx5~zE0gz4K=D?o{5Pŀ%3PUWȆ뎛q!@5Ȋ׷z'B KZlI<ئa o:Ua ',qpDT/%Ƕ=QY' oИ'BC0j\x'S46U4$*2 */_f`5Q4 cFoRAs-)#+Uge_߈n7 DʲFň'z)Yp"f͟3(w>.,P#'%+RdJ4텥#,K#֦>/*}M\T*F;:ۇTs%^OVؤ<?I#c9wL]\.#TYwvH}j2Y!]EǐD%̗0Lr( ܖ9.%ͳ&̭xv?+/ezYAz=~"9Hn/z>>nF?~g 4=<.;y4g(w:ysƽKGeicZ/׋@2)IIi4ǝ>̰k i`M,_0]gdLn?K(<怾>!,уg{*$:sH\6 8b25K20`D`H};!PSG3IjIyeRsLOEϵqA _!a|~<*{۞b0тj4SfRu]RsvB.G@jS=UQc+ n6'$D$%C78 5(J:Nfq}σӄ/Qj1VTvP zB-cK9AVقx@h Y>?]HSK/5>lo/V{%+й;GDN9"c'N-:s ::yS`2%B'>8lI{>_!\g||UUfgavYIIAR pdon3G`b.'~ A|"{/e"yX}0KĤ(E+l~^O;Ec""WYNWUIIIq } 7{?v9M _A璔eNANm%8q=+[tcYq8ACPպauK &/SOf7v{#)">2E!ǧy_Kh -o9{ 7 bT:1xt!5A fpKaXUter{p,R o!7@KHIɎ7EpP/*R ͫ. IK-"#'vq?ˑuT;!3čwW:RZl?[z8ecя?T^|㗢בE3Vĭ`Pdh|cjzc71Ep 5cj|h;`QvLB2D] ]L 9{?(&?$F*)?&X Z^E:3-3,R&dW]MUHJ7&:[>nwU,Lp.RKfj%_hLxV}Nh~/8JOn{w4v[ qW!l-zcǶ+h5y 9R 6TyY =bw%uЪ N(n QYUc'6o=VH֜/,`3yNA璴[5iJ5[`"3hgqq _6a(k)S ))?n޾w%޼DaW:O 1/XAi߃w/kv;j)ʉGy!/%Uir~$=Ԍ"\o&ϐݢǪ==h Kʋ.5@)%E,(Ts@E8:FϔS͒8>Fv)/;So<)Uu\5{k_- ʹFmzmxevaGt'EdMͭNYRC=`]4(Į`9h܍852{qT&)}T!h܀7:|LU'z0=Y(*:)'9* 3KLC?ȝQՑW*AU)3vc^T˸HG쏯WQCf89,JZdO% NΖi-t`Pr,;B*,i{~Ru93-ywo?:^7*bSe+EWsIx=unkӆ 8ExIa+}Yc?n^٨;5["%{M:s' hUH(`B۾{} q 7-EWl؎'v|'N((l{ʜqAl|h;30@G¼O-Ɗs}wzJdD-Eh;ktH1ǮRϚ~7}F/(Ii%uX}7knG?+ZoLIY3bs"Z׌_(REDLXҘ|v8:~g)H3VHⳝL.P@ BjESt:Eh~[qbb$|79L0RG# u(laݪ쎰S{VV)V'H1$rBk9}#QW0X|dNSȸOe7ǂ+nŁ6 aqnxs7_TOj;L2R1`FZz?Sbpw| W:ټɛ"<VtCKܨ Jgdy*C7.}}[E~:AP(\Ζ*[ cX7߭2/__fKgkgqdI@6\un$3d:*æx~ E2Mo98ꬉKE%LyXpuݾ#64laxI2;3yT>RWy>bI&? MS0eZq V&5áLv80|V3xAqTPeJJW:a3 1bU@lP^BIчՙWϘns5-bUe %GW56l&䇗ɁIbieCt_\f@6| MȮG /iQQIsǍhƍZIL7>EfνG*iNׂG(Va vj'䨪s~&~$9)9uѫ04f=#{3pWWv6 [U0˻/70̻?u) d9[}4w;r|$hjlᲽ*zpE:(DD@V/ [DOy閣'_I!w[Sm|y zc$'!;[>]W$3I:a0*`2y-d0\8Jm\>h$xUng(+rzڐ|8[=xBC˩~8LYMo=-[ldK>6SwVĻ<f@ӤsnIsI<)8j#x䨍Dl&OD`pdvm.8O#+Q[ K=9K.Ǝ4%&do* )q\KgO[Ks[mxhaXY^A]_NCN2 l3q##h{$i;AH{o:oC&a*@h>dBvi'/noB?(3,Ytk#saѸ'wJ{)H=WTBg;NQRU,"@RZN* [Ni&Ud6XFebfhζT v1td|y#0v%F=;??U_ {b̉`cKO]=mibGB֘ l8 p+Iy>_ɦ2hx&)䰦ݶV Ե]B4Նi$჆2ɹ.?sۥM4<ʽf̛֤mwKfs9)6>i2jڣ =w4):}iFlMtTI"A y8>[p:o,fR93SmGͶ}Ya%'Q4cY) t̩ڿ}{dЅ7XOgfYaN["V]Og כG%d-3y~#A7=V \.E&Ȥ,-CE.}D{|?Nu9[߹lɅCDEM p"}7FO!T@uǓ'̖|ҳep伦\( $)7߻b_ҙΊ~wutt^H )\_A1YRm2ƇdШ".#E<;!8?7u d߫=˞sf " ~z6[Z|u|a{I~>6UQIjp?*lߍ]2v ߾~녪$ٖօt@KMJ!Ym3r%Gp|y[m*!V]΄FM0p \i|pB-BwOn)^/,Fy>Jkjsp-X[+H:0zݺsr7lh59⦱(^yخE 9zPRRx9nw%b+PUr19T+_BP[fB7zK ` K y!Nj &YK}; j5| gqm)\Bq|#?kkDj5C?osc% E:. t.g`Hj:!>쯗UUTPAz}J><(>-EſrZ__f=gp"=aK|ɬH1zɑ&xaorZ~2{jy=dhO8+\49'q~XfWOM*z36!'Ƕ\vyy/߇S-5ohUy>gx)ްSM/%:,lll =6KL탆`}MzEt7)K++l.`ؼ|f̼g*zBbbn5i-mYOHxɷ71G~29 #(γ/ wva>Wm]Ù_|qQ俕ݶϋZ_c_#\NqO:]4Op 9Wj'3WTͳ}zZەp]CFW1քD!Pu+ɩ*MG4&ol&09.F_6۠"6,[ .Ra-5 AcBS` xHI>a,?u@ڥAzujDYUj҆iMΊo;WQQMv9_RTU]rZՉT+ٿYg ddhXx-J]ƈIpֿsD<4;"C<l`k/kj'-ͥGYGgX !߼9;Rrb,4Nڧq_I{vdXT PZ}$S6x{ <3Z/TLaYщ |Z )=-^w1AOeI1Ƴ̱$%e$44lMB ;ޞǹ&~.\%^(7F[c<ŕq3NBv׎HD&;Y\N*y=~Qf;~~]dmMߏY  8㒭Zs+1XR-R~F?`\/5+fz"Fr&$?A%Q"gГ2ٕ^[`ΊDXFˀPs.6x0=ui*Twcv~Rwś+!cru?Oo%Р?`^~?U |kNCJNd&?4,ڐX "|U1*b β&Xj|bbH<)6) ˵jxLL`,+VsVtj}EQAz@8ZR~/XYVWD׸q`VQR,w1J͕w&FM2--<{J?_T<"$( ӌI,vԇǓJ^?(;QzII+!FDdojʝ^qECJ/ VT_f@LOb\7]3?D6}iBޜejQ&5`^/o(fphL.jl> /[Ү3{."7@F q12 k m;ͫw42wTƆ\I2W6ӻ x#j$~cC #G65L'bt>(YB]4P [[l@Br\ve!s9"ϒM Y 2P%D( qhǺ?+F1A%:DϛB D)H'jwuܶ/~sBL 0#:JNo%)̨?ܳ!Hw{ (h|](Z#-vƃʆ'-޶"қy@ڇw/> o:Q܉ކcD#ACBY1K%b IQCCRC{٦滍e2.ovޚLF2T ())5hXQ=66kz+>_yM! (*s,W 4(2քd*yոuF` _Q ROwK{gK(ra%L*x jL-^Hpylא!@fYDm Ff;n м@#I:2sȤEN |J֛j8F@QkKֵL(@ac>4MUgw:tN9ỽ[<|{Xm`2e4549)K"N{\r;6veZUs =CѾє r`dS!Qs_Uv,&|#QI/iqFf6:̚ADIFV<jqs9t5p3LJtͲ ~,,sGn3I>\8W$Πrg:AA<; A tY3FGTf~n6bꅁ=$s˝Ǔ,XP,_-~hfǺ \ТQKV_Pl!swR+g C{hEn= (55*j Otv4.aF3v=]=O˺ʀ0(R2yHluX(7WZ0brTx0^lPy4z ,["d㽶ayQ#fA$̶US-%Vg7B*50Fb`]q)$vZ)&*:긱ZL̸*鯶IQkcC󵼢"ʮ}ZB*͚]5"CDZNLh076X$J}=6>BxZXX`e+\7;5r*&wT>@YI[2.#T&)?GE5axgvZz3quPìW素kSn֥j8?<]TbQ:,*"D=ܷF*eͮm8BR'+3c3WhBkh J87 u7zS,;ΰ8OzJ)#s::*~SBK <МWO E2^>zs7Ш,Tܘ^F48$w?'ﮒ 5J-k/AF'5:q{NyPkd@TW)i(`Wݞ{;m՛&y66\|;ӥVgo 7o/ ӔV7}O\XnCPxϒh/$i>LD{4 WY}A+2O>1@>^rb -gPgt#of3C"gQt iIC+Qy3x={%FB 1C;7g|y)zÚY|S:D"-Anree]'!cɕ[Rw7ߙYmd8t ] љxWg7CHWJajN7= v5xzi(_ZAٶwYSN.kY+wkOtnMίX&(X$[[bp7)gH7Pnkq BjR]Rw|aDÐR˧@gO5ɉ`5P1a6AnQWѶֳ3i2B,u#8fw , EܿSeڣNulXbRBR[L1twl~u2}ʦN. jk#O#+fpF%4[MxF׹ER|_k})̳G(U)]4h+LqɈVbUtI9:6hR5QeĎ7xvua W[=f7ˤ+lJJaPpG?ɢ^d%cKZSϪ?i7A=SHqЀ]D(a.'+,?܂t\#1 z}W}y>U)䂑i!\v> =x,U (ܿ'rJh谌).P8 MiUpdC.y窍ǂjp"C׫`c 5FI|p 8(Î$`2{즲S!6qKV+)Rף?`E:' }Ļhj/@ Ѧv.4sc/Vkmsȋj ~%;!pvkw6Tdyåy.B)j8q?rmzY?N/(1xi 톬MCU39RjOFLP 9 K+_ySNfo Ō4иo ۵GYێ'BųsfɦZ D/ɫlģÅ('_[ֲiV)U$~~z&$V+:̟}I ˌqM|u{؜T!&(a $Jwp4d6 qt* |i]@mQ-J'Z@2}m?|:d 4?r}0~W}uENI\R-1I`;Z[^|OcxttKm52< 6Iy}MXF=L\Dv2 âNM)TE30JOaI$%n/*Q4JT R_pIoQ{%%pw6<]W\F!c!Z{KK^cŘzM p@{C7\m/I7{>s恏Nѵ?Jw"[/|?Ibo QMN.cokPGҕl;, EΓ}׌P|nP4R3h8eN ]+Ls}:q+MZN+h}q |~<\k57v7|J@J w1S&Z T)/"({:8a-ۗMzn$3D7Eڿ<\a0`F\^Ì鹕]H;H|qDtAV8?]Vp1_X| zm?;/<^S%$0x":ҸGhhݩ2&&7|v]˷PP,jHV=H" ד f>>5:1 ZX`|G/λξoJ(68 |ɾV\TھӼd~' \ϼSiO|g@n|;t/d P#w %q7<뮎h|qب$" e(2@ٸBBJo֢,{.̷s=gl 7a2K!G .Qi{掹A`tlaǛ(J4QϳgvrPd^W=,7fj\6&%t1A}Hj]tؖn)GXa.O̿y{Dlr"Ԙ͑,q.G6~ٕ岤alf4s6 |'b DWeí%۶GpppH^U|Crgd ۗ(A1:m~j}QA%̭m寊gbsJ*Wi2bXRIG7O =o`:et+ |]oK@li3i7C¯'SS{rU;quEHuܿe E ؄zt)N|t}R eUڏ_ZsM)٤'ė\+Ylƨxuо+iÉQ9Vix*<[q>7էl۫ ",z}nh\4f3. NgΤ+, !ob!w('PeYX+>ة̈́IW M.W0h'W?;eۖ"aۍT:.Hm]E(:3%/H`Vwcڅ2YbmOO~e9q$=kTV4iX}p׷I9xmj!tI?2:!%\ g㪼Ђw !Dagd'%%W>>%Ev[: ?~74Z/",K+)<1Gh,8~ udz(3EO3W?iL6ql?f1W>۟dl\'7>(x=!6gO,5yVtgQxF\NK|+ʔβe :>aу<(``! s4lٙ M/cYR7+#U5{b!a҂*h%&9h+c6ܳ+u:R?6KmߐT{zP.^ `؆&4vr;q doy 'W啁wxdM&ɉi#P:˛c'Enn ~} qtHݜ| }%]ظo!0GRl cg/nm%޻ΐ B:^w4ד\XO<|dPaH3y)"5Qb7Z|$71p%.1ls oW\y-l `E4!][Dr=ǛJp (0;:ѳ|1-|_xL6g(W(H-"ot˖Q{Z(CYp"K " NPrl\3"9 WTpݕW\- @A~(W}CkTJ ʱmJsI3Ux< Նv7.PC.=C@W{聅.Pbe,/hv@n?7ūliNR_ C?+GQ)kN GMD-8P3ɉ:RWMw'KS͕k,`-6;-r&Ì D9 /\ۙY~N}\,$HRsrup *\}"eLb:<#AP(7?Pxʑ'_/Xؘġ,A/T&+><\'=z[DJeς3yxo.@`hAd3)ͨ'w1wWJ^9H KbQak[]嵿|];'YEO$9f`GRe|0S~/t4`XѿK WsL3TEkPj|Y34о7F \^jrYhQE\OھMyW­`k/TOET"B<AMtfO[i]f9E}ؿ>Ժ86/Thq:P]O|)]@|7i[,>7M߼vHʶp%/(szICH|F,#O.GdDZm,~qx|utyJbb"Fb֣w1lx)wu'CGһ_? W_Mō\M6mD$iډԥTIJJtbp8ƒEnn.qqq8QQQ$&&Gzz:. ݎrN^^ DGGQ?iOqѥۣgVoz8zl+~㿪U%Z_Cܿ0DGCU6OV/vzvs2F0X90{`ӱ#lٌ;gObU\<]O6P75@[w ;N ŦFU]\; 99coUwhز2;t}f==bɰ|nGCCF,xrh+l/ߏu/MEm?Q`K1ojĨ}&$V.[鞋ǫs_#B/f=ɤɓ[dϝEY"#l;iͯbh$lEa:,+ɔ LG}\݃9*vKM7iWbXf )u;8! 73c<9MQj>dEkn&:ɓ'zÍ\xL22XTT+60aD yj,$ןbn@EQ\Z% (fHK}kÔΨ!Ԯ`^ )ޕԾs%\9B{`>=.CW:inNg脈,"Li !ןrMC@tih Yԓ8=H~K̑#O!o,>M"6$=jt>š_z@nkCԧϲZ>ʧg5-sS.#1h $** !%Ϥwhp$%=II}mHX~K@ImJHsA]L\r7&ȌGg%vDZLF\J;l`ԩ --իQ5zkRog,6'>kqߌ+aBڷA)ShiNB A_HL¤ 5ŘX1YuVI 쩬fLa hW1tD[5j9QϹ#KՄnj<1& U ASF c&'.?֭hkqM}H&R٢GfÞ]>X1ay#sG'P|Z_AШ9~n,{JҰAƓ錡tR1 -2<^ԩHxs%c黟mD;iii!0u4 w_(yduMSFd4"RȒ QC AQ}جxav?ߍ1g_# (l?.hxs1 6 I5(DR~%gN; 4L2Aj0钱kU$:$~8hg&\mmlS8l!5JЙrpJ[p;aF''} ;Yi iL~^d;5~3cmYQm Epso#99nQBT4D C]DHSDbvq:8Bqqq'Xn7vN'tm].X|t:ѴS1IR, dP!gŏ,El3b10\ٮG2qȬ߹n ==}^bf!?ƠEVnx"JBSr}:]uk{a=g' 74X5{PIfX}NO.9JƐЈd _DsQD$kSPO("57Lt<Q1x;z`ܵ Xh֏&gVo8*C#~}1!W3etX6 &LjG%3*]IGN!Pt|Wt/d.'%5#հ%9HOL$-?hр=6ɉR]AY] *TT`ћT\X&=fZګ9tGRc4)1Xs5+-}n|Z2[gtzFA9Y (?V'/@yB{ho%Ez̜,J its\~ؿ?b1ΐطk7$qFyTVj /|dYfС"t1H턇ldsHʚ'xOc)\BHt^tX ݷ!6;su=b/u(;;v{F,zMXni (76XHKM!37Gg4arkq;BylO chh@8d$.?Oe^Ѥ%&C&# 8bb0 r՟QR3MUcpf##&OB~NQEDzwrכY2{} ;?XDNJl\b "P^YM=Z{5ep -53:HL'=3-.炙gNY 0l֯Q}dIֳk0jUUDMb`2ODΆ'oUdIp=W晴S¦ |FZI pۨS#;t:F$oukV"= Mr&њWR1aP'p["5%%#ы@РF0g@p?`Y?D'پQslb&6ZCRbI,aDX8iqPMQoP5p0lěA4DOczi:Iش~=#1b(,ZbfhFI~GĠ *'y>[DM1ubf+VDz×crxBf3F͹ң\Bv|&"yL <Z80\f{*::~c~iZoqt>o:JE4Gg (tA, _|1La]g zQ$4_ ^Ce鴅tLm>x<)6Q'|h)ZUM([&>usfߊװ[7!X-DOaC7rd_D\bl~aCKqc)2abiɌ8X-uAֶ4qboK8̍gAs&= RB-,]-WǾsٿy6 ȁkH; S06܌bc5DwEQv:=h ֥î #3ںe3︘@+}/$6-Q_9:w-tYDw C^'L.Rz 'tHd z-mǑ/bWM;4M8럘`-8e bO84 , ~G)8N-)&*pŌJ)e쟎%]f LKu6si R҈y8Tegq%cGnfcq)mS~<&R37A\UFRl%x|NXy DכZHmUWZΖ:|rV{qߘPL * Sc=kUEkSL\7DirܳC"[:& z !c9ضy eeGK$hiil`K]]xM_}Cmc}m^F fPN5h>:ʎg߰#f&Pq-+7CK "{c$varwnF n厞:Zfق|(>|9? [Ѽ- "ͻwqꨠܻ=X$:K 5VKVf:F{zU5姧>i.TڊYi JG<#ā/q̐3,e.ٲyǪP!^:$ &~W7p<‚g( M"ՕU'ӫ5=G I1g]e$ .:>`ό@ z lce?fDH=w63UXvD"mnRcckPfM"F':90W9~{p:]:4mXĎ>os;l 8p 7F6G.!g>v7Yx[u2CQ%rmM+>ZLM^6א[ [q!ei6~w[:p,o桯0lV\Y*emt,Z/P8'uhܹĺXtDE*Ie-E0C]g/h:pX3U!T n.t3? @((1kxKrn"xNz^ݍR0A0`nl )M-k[wN#?o49&%"K2UKvw4_coЩ |EtmcZ2JXfw\?Ԓ+XkʨBݏlma$o%?|yMG9™؏v$0vd -b[u :QDԳYazJXl%M-!1k<{KˁV)7\#زa |^F YUKPf`;NIC2xYf ꙵf&SkQUxC>ϜCxJDաF\:/qDǑKԧhI/wFEoFP.^ rN/L#}9<#Lxt1FD4h_IE$#+NK-^0I.vSQ+1WȸF 20Jг[TʂWtRĮG^bǬYo>FhmcyhJ g>l|zw*0~x_k~fBIETbúIzq)F;Ē箥o1/yW.WԱ˞'g9 (HM7d , A0i%lͺ54]?$W|:'.{" y,~nHdT;pK$v-@vI!wW`|sjyr0\z%17ih?Nćh/vPTn|D&=%$jΧG0X]zS8zf_>l&1O'+o_j]c &EMKK](mxLt/Q=(}u3Q`'/%q@lQ nMjgOQSȵ߆hJ1q(֮X7 DtHhki`Сb۩EU[1ӭ=E@]N ׋;sZw6L"He5 ""≚흖f򟊢Bc$fHMb1 Jd9He3Ћz-A[Lj^SD>3IV.z!IP53Cgj'Qy?rH",D1>EE3g*:AFhB8,i*`^  ejk ZDA(ZF/O0i|wl Q&KHZE -#2N~eD~~ϝϝ.aU"=#NpYum o9)'Y}ݣA͵a4GbhhYx7l &knWoFk^pi#.擇!-[0ZmE{؇&iB!YH8WLx#&?!WA1&խ/Y0(HJ2HWrqbⲆUBO+⭕B@7hF$COzxϮp˦/2v17տLyuw^:~ƴ'I~1dGI6RW[MH^p(V[ ;;=T.!A=FBDCc=>_rƦ\ѠQPPF: ժ4pB x!y\z0`6mx"hH 1ې*2ʬNLVd;^4 Ef1E'HaBa mZzEQ=CR0Èfkc」$>ryfzrd3CT$IDD "*\E1 D%(b$ Q09ιr8aD-f-:u} 88Aȉqe'4MXy8c*,bʼn1P-FiZ>qF%g_ҐVR'U se"-BH{\;l&m:J2Lax[dV*OJh,ZES ]p²Ŝz4Zy%ꗟe/߉bwMo/2:~\a6{@جN~EQBx+Vq `&l 7S(c&jDk=%SSeoyx<@`a9pã0ac;.o`CwcqST[7 E>U.5t~˸{]6 /ɐɤҘ łNk>OmCd<ضOEEd 9) 4}5{L?1l`,P2Ec$(Z)C mmTMd^@pr`6D^1L]X}~C<ЯCB6C<&?8H.aμ  bDiv+n0~Y=\r9rK`>8W\r] ӛҳq-]s)3ʙǑH ;f-FFW5So׮G:\D ЛMN%I!![Eo̫¶;fT.[J6E68KZL6Nu|CQR'cdj)v@y]٫?MCS ?Gl~ÄѲ,fϞ}Xih˲([{Rn|ZMlغf $BXԱoE4EAVKB)5,yITQIΙ @UK} Ƌs((y2}td(6H00MմLq?ټyぶ d)D:&JP[WO2`UΦMyV`]p!{cm%(,~ /_M0Dʒ y  IDAT\>;~8EaSd>UV<޽{)'BzdR֭;La,E&[P:7{>۶ihhqd(2}_9')m4l.F:HXz7߹g޵gi^/jk(\d޵k"0 0Tt:}<2~j _){@lݲyMfs;Cy_aŢf cAd]he% h:p84nw20C|"sgu\ [iVu7| ?-լ8l2 M_AE~[ waXU%^~'0#J!xnMXvrp88\.^۶q\8I}JMy=)%. ǃrUbbYv/Zؼ5_z5?f3gMH;m1eQ^%R;]ҍ"48! ~̦;yhhŕ,4yT2sC^ǽ?+sF1>vR шQ(O:h"@v%9X0DWx $| Ci^ #١Q4PaeXXy/wW"F nmx@,/\@P$ O%) x~s\{M d F"t3ϱ̦]6N8v _ _0u#6isöKq߾Kgm٨b4=bX*TPt N@ mDM!GSBWJ `X@J46m Ŗ )!Q5J4,c U[o:\JҐ^O(s=4Ϝ0!Ćv)Tp{$(Bc$'<%zxlȣM F'>%;F4u}JgTF; Ø+5 J q糬RRd %>sR…iyY8gvģtݗ38h6ь4o(fZS4mȄ MɜraBpɿw'_w(Bh2Nfi9%<i7#8/EuYX/B#"uj?yʰoO6)tʭy+!zFZxm4-l$13Q'^MG`ݹoաF-#(v3ȬBk;-RfֶltfdBzG0 ~Os)ߋ@?2MSxVϿoR8aIxv>$b(g[IY>U~|#sn=$EƩn VR)2ØFk~O N RJrfiөBEP^O^D`JPlpk ? #H)QP(HIrgv0os) MJ_QTTT$ĩͧp<|TJTUJ9afUUM p'}qĭs{9O5C˶mZ9Ө'/00؏Os/_OÉr "'2_ӈH'aCCCtuuM !Hgض&vBeeeP 9V؈>w%83Y|Y]7S`M3uU ݺFI(s/(2RP4_+m;new ~V숓d&GՂedֲg-IÂٴn߁(h^1RH ӻg/ZK}l~26u0aOџA дhq6V^F۾3=jpūxuؖ=CBJ%r9~rsg{r k[jR~O{.6b8 ̚͵<O熿[}3oi0αK%ˏ=r9f$/r׿AǁKu(iۤ-K!bx|4Kb*MSW=$`Xk#CqzoOLbZO(0\P_m U-RvocGpZye3{L]zTH:8LӜr?=Xw?EQ]0wSq׿zNmڶY3fx;} P ;]Y!Ȑmd,V64EjvΞzÛq;^/@@ Gc8rl:H$R:0LTt6! *%b쟍 EֱcǐSw(蠼*ʶ Qm =8yu#65!^؋;|SzGTG:'pᕚNzz_?545Y#U1@ӡ"$R va!'@E -H cLvRyp)*RcJRD۶N~vW_dg79ˤKQt!ll W0 [h),۵d6tQ*!P`l8K*?|>Ϯ];ƛش  WK6ib>*;2 djx'cH׍c\o#备q7X` qk^}s17_{H J" |.qB?nW Uщuruײ}BN !%7>}p)͏;uk6;}*Z;[$=;PAKk7hY~r!l'Vi 8L^~ CrpN62OOW*}5Cif:/5e4 y oWM6tYD5xU!ۦhX㡡|20s~=Mr^ZEC<׿qύ_+> ` ~v.IdIsϯy9ˠ6T:ÿ !JmoZ[[7mz!< x76<d7KBɔrXz{{DuDhS,4 JdHR Jee%3f )QzI&S: 3GĮ(#ۏ4cmAtSQ| uMQzUTOy8L_ !Au6[1UzSҵi">?ZN>*D!vTLǨ*8$4/ymi,>+I$CR$|#4P/6U⠨GC_jm ;GF5#o)6UaN:CXqncOŵ vmJ|׳kfH&4:JMa,k\f/\HYD_Q;uK!ڴ-`BQ:PGTj/'ch[OKgSZzPf%h+kҜ5K7?(|}+ݻ x}  <:$2,m㡾NQ nǃ  wS򪒥gH@4z#eY<y894)1mڡ5U5ԗHrZΡlώbKL"௯QllpiobH|Uc`3S:i,3i mQ̦Izng 8Qe6ڈӾ!Ml(b"Z&oEPBJ$*UAU@LH.o(T3N>U!6f& KA KR"Rks!J']Uh ł1dw^uc}*\^`(7vJH)p8|)5bw&7ϘEy!=/!RȒg>yEs2n&G,v"LdQ*V->g.7DeCdhzS#*~(i6Hnq-Ү ܾt'(/wxK]+rYq÷"U7uzhl@5PT폠,= LJ_ed~tFyMd ^&Ӳ{=teX̽={_;I%8}O~<-J&;*!ֿ@5Oҷl .h 8`hd>Cel߽Զ-{mZ9 i {PFˏ3-x8{iC+i3=;v2yB:XMP_Y?Dq(D͗JfhGg"?XEO硽{vxRjE6L`=>*!.(LӤX,Nh`Ygx|zxdar9qAɹ:/.1t?IYҒZ 𞝔M2RairVp4Mk>q_݊ԣyKϠ7ia =ϣ4Fq9XlQ6~ ۢ"&t}s/s~u9zO<0 xE*t CV4F5ϘF~R,j)I (lٱWo2k5h(Oķ([mB>h'::}-dZ櫱҅AWƌ8MH9BB%c)Q, Us X)U@TQ*bZؔI: -GロT);p4P8}K"\Ţt^%sM<FJat*AeE߻./I&)F SV^hbZrO>$pT"A$ad8N]m5G}4exH0&_ ^}V4LfUm]r:a.'z0&ʩ`? 'çBPM9.3eMJrIc…ŗHœC! @8ӧ5lR pd&ehJϻ8^/HǃiP(a8ΉPz]qD"~?cpDpfM4~#V[`v[6pIG@$zro25r9^)J Iա擤y-hnNݠ;E>{PmTUе0ioDZM(`ǖC1^~QT-J_`ԍi4D*ٷ܎],\vNE"lY*vlz 2.}OKVN~<PS1Y'}}8-: qVѶey OP A_O7\.sq:Pix^Fb̞3ŋd)b0!CESN\%51cV1ߏq`VE? S y;3Yzt!wg4N˪ /GHeŶd߿I.9%F}`q#/I$|a݌DatMtey̝3d*Eu}C#1,DQP*zۍ3Q,9i{8mƺ0Qxet )elo>~C~s':SCx" #IS+NGW7RD&T)/C"q(iB鈿((퐺tneHcxsxgeU&ٟeE!^,:*U(cg%b(*fB j aJ1ntN<*B Х%m)QD r_c$|J,$>:iLnF û=8U%‰ү i#lolhd^6(Fj,;f+=4$CFoض} B=ϯG~e,;h4l颾 6bK.9||n#]7lVt^[;5]I}CgֱuvlL8j?ėo9Jǟp>6s/Szڶ]I3~̪ȬIR;35*n|NWٯw'Bs]/#>2B0p\TԲnZ[hbK IDATgf41.?l>|^4Z^^AC `Q0-0^Ef 7dTdi磸ü%xh[h +S4w/gn> ".ĥ|۷0|YsXx}}X룲5k&  RC<$Fu*++ MpF<>rf̘A8& xMT|d(&tU 8g“+ﭤnFL>l܅a!|!thd LFW|Fgsk~7"-(п{C¤Jcݞ#CI 'Bat溺Aڊ:*o?Kq*/# ۥ(IdQC:Y e3d% };[8v,]8@B*jUqn<icˏp gS_OބΊeeeӷjPW&ݟnwŧ߼F4Ӧ71{\z:;?&RY͚5o0ҿWHWœs*ܚEu.`KliaX,2h r厝K AԚABPCy#DYw#xTb>>z$xPU̓Rʱ$v{w'EU3F-rܫYԑ.Ɵ*g}#2ӱȜyRԥ"&J)'B1܍/ S}7<*(3|Si|ܑ3s <'hig,_QvmAgwmm >(t^ ަalTg(9Lg;0;ҘP4mv'iypycq(JF*{±tVFp;x=3cn;6^ 4Ar"d 14U?q4thn|A ˁ04e$nRUC(NF1E{F%! LSce=#nn2C#*?q}zҔ誂a9OY|7Oʲz" y7t-{8Oycѭ\dT%ӕԥsO VP,?j|KװmFOsɧwمE:yo/1سyӝarbF>qEyiEU_̬9 A`%9GC?邛 ڇCه1]Z͠D)r"- }sşp=x]p;Ceж)+C; ϠiayXpPɡ8R4_-|s>pW]>ϳk.:::htwo/S0 4>uJnGJK) BTTT@ L۶'Z AʨEUU~?-***hll$PSSC4=fJ U㛏1s# C=νқD"\vp~v3P`n,K{O :ò {5Wpd5M qzǣil=j!D;BjoUlۆR_fen3~\\MdYvCG~E(s.nB>ySY'_̇,ڏ7:=<|Bzן+/:ہNTUÅ0: 0 u;  L.*(tn&D|96M}uI>NO9sǙ0$CNqn8t8WL]:TtwEQ2Uaw.۞m8or9t.%\po#o_ -BMilGTVTʡsׅ&MBl_gL͘c[vKyykEj8c\ϱxlaŋzBfuNYɗ?WB-oe>fa42-.]:r曇p4Y`s!> ]xQD:i9zG#d,^z)A)cxf j)ı(uz@U_'4bJ:ٍ n˳38qyǞ[C1U@<褬RJl EEAB{c"HHFjE4&B?u֑Q=rG. B!"MF;d2Ɇ [,ir '?;Jܗ:9 HJTrm9HW^KNc:dO-QdɖdR rf0ɩgs~q?=g0w߽uݺUuV!LLD $& /O_ zķyn]?Yx6!tyy6"Ӽ%=3' tqfdšm]_UUرcMrPy ,s5V=eY>|2Nפix< :ñcǚӔ&EQx, S'SO G}8CZYXy#=r٦4=XeYnx;K_؂[JXYjoì<.r1埐B[y Y_d~j.77&Y\a}`;S~YH\6K(Tlm~2U FBP#C2SCPX1p$p #i-[5jR W%j#f3~yB|eæR,ɐjK׈EgfGwq p\Xڑ[QKGٶKٔMΟ}>  W][2^ET*C5usԩ:C/oڴi|e#GznqMe(:ujUg?>ؔ'O"  'O$bq<R!@eB0x;wB_EZv:epXFe~T>ėu'b??Qp+|d$-zrxn>xᲗp?%$Lׯ3nnYw2Jf(ͯ|Qq08 Ǒp0(UxB>#7'vH?)&#UAl@PH5ӳ^#fZ}l0p6pqez4R2b)M"$[{$!-%Jq$ ۩WJ8HmJp#uirWz:ek׮eO@#n_4*r+JflݔʥkD[+i>{ȶj|KTT$͏yX7D|9]v5424kkx/ ߌvEYh}c_ ǹ}nfm^ESCw ֞,#IBu$Ibm85ijx|t;Hk݌WWJ =4(ٷu#vs NZJS̘Xәܸ9p j<(N>3RLgns*AE)(sCTx@Đ5_%jTL  jc[FĨdX!m%#40=7e˸.BaOLvUU12NԀs '[eƮ1U(s Lf=IXb߲~FSx[u3(Uݜ1/줖/s·zZ?Ƴ!z{}Qv{#/߁!MS-nI牴F1*S`ZERcD7pi7M죘ֻPE":HC]z?(<_222A>"zεCs6~0*8$05P?"/WI;5t'y֎Q3Z h*ϰndMk鍶hj4 ߏeYj50!:EQ39r8 !r3::ZN,L, C:&JdxxX,F"X.1L&!8}}}۟O@Po9w/L }1huWZ\4" ͉x'M_Dx\X1!H`ZNB(-$5m!4J(jM"錍-q %ʕ,hŐ#LjI$&*3;Ba/~KbY&fX׃8mfIcT%+ac74x{y0m:Ԧ@O%g8@׋4\>@/~?Ow/3w>ǹ˒ilȡK`mIVZo!i3aDC69BQMz9N4tDv}/hZ)5M# տJ>B$iڲjn7Vʟe}hg6dbCV麎/9 ngnc~-(r ~a3??EҚgpG#U7FCuo0gPBg6Hkq - pTE29r9J$p{/KF' _pS=#$8ȸ%u1b`n7ɔ)~n\ ե$4Mƭ(XmdQϣR}MV4IBU%\KQ$ 26BMe&St)HJYog" H$!C+q7e CN6wIv_~+b+y?nh<,tEq9;ȕLpmnT|VG8&P0v7+7ׂ8#D#~8?9*)0T7rP(JMرifsWHUF8;|1-^']2S~R2-. eqc/]ۙIVdla=..Rӫ[h6*MwgTXԩl~.YEơl,$ LM/R)WnGU_3D<.~K3tlbL/r·dtfk00 RQ&ֲW羃tQ{C8;ZXLSf:ϳOsI͌se!Ͻ;qvL]!iUeWVQ"Qs'PlѓD:Tj65Ӽ- E<~ٵ;yBUZ)7ӹ2Rdm~=k>^74d,\$!HDvnCߩT*E$**r|>$¿ jbH*bttY jJBP`vvQ4RùYŋhęag1D+RB룄%t@2L .pn aRsȥoMjbL:7b Cv:ۙ*x@H>L~jGDې jNg{T%b9ߍ&)X535ǡ%02=̎IdZc݌LGp$W]}yʸ c~1-TL-G|nLsNzS8uhȡ~~;^kNFX,F<'q\9ƾS9d M\./5T8HUj~"??_(R!&Q亵+{ ^*FKIvKzs(YE8*S\2dKH$zJB%,lP4sי-p kG~ zlMGVT\ض,98BE%@4!a9BH(2FD$À8Rm;nmz:H~0(T_(.ۢ*FKnv ̱%UG,:qWzJwWOrpYw7A$Hf|, X&Hȥ,"   ˄-TRhg?pi^ΏORЫD1Z0<>Gv 0:9Mzb+UQ] VgxG]P$vU<ҳht0yOel݀םwl1^<)c*]8sq #|HmF:nNZqgVR6vg9tⴲM ̲s;¢5( e]^8f(+芉U걫! i؁&XaYnݔJ%ɂi> ;'I‹v208K/3UdM>= IDAT!NQ5K.v䙯E0?}었!3jQ}iŴ\"Qn9 zz+oiÔ_d8=0]qL 1?4x;C㣔%vmҕg)>G]Hin!(T44_2L KLuA8h ˮ+^[&h|rȩ7JtuuDzhiLv5P&>xH$!#`0V"AmoذylH])lMJ|mڽ3?=(- ڃϭS1Mvog.=C`f(і5>憆(,f1#qf*DyF8z C G}";":xT4E"ʕ!q1lEW%tafA6ojp\tuv1O}">\Z GBY0H_vf%vmsslvCC1LAOgJlɑ!2SÜpCff=ÓJoOynlmQƪ^Zގ 3e[S<{dǭ*Z_;ُ09*m:JKQ\دZ:{6~rr_ jW,xn"2(xB²P]?!8$\AJx\`{ٶM8Zv%IRSfB2ךŭJ4nEVPnT[6AFH ^>$cKM ᰇp cG'f~}<թf}_gwa&a%$GR6 {j[,Vd^o B #dF݈CC@р۶ɕ cHVZg ҫ؀m׳ JK菉'D#[+p4.&[_"\ٖJu{=8o;ujq?4xN4η5xkiƯ,yqgEQn=o䡡)ARpužmdR}ARhE*xIngW[7mf8@XXHeq)UbS8P) bmSX*7%*-4$^^)vذ-b*R:3| N@Es$e^ѨJʳO}X6\:5}|mDb7"S<*t7ؿo[;讒-6Fohw!=Jesa.4! ]"6N!다YK3wއߊ~I=x=X w$^{KB \8D"¡ un-$I.•hvj34B3kɮdw$(lj!T\ . 3\J28O=$۷DnܸP(r_~UZF>G ߅ ;f $0dp*2Y‘$\m`Yq~gg{n8 57DMDoL$i!Y ##eٻm+O }3pplᨀ[hO&SkI_7hmmmʌ@ӌPW|W]B0>>rbSO>o%Heva^ ASezxbr&ǁ9v([m<4::tKĆ BS>z8ݽzv[U4Ͽ4h[&ϷfMiMRXgtx7i#Ԫ56oB&o˶y1nF d "ֱ /toa޽x^\ I&y9s4oX++5F),oFɪQ,!HHȡb1 Rb>E>* JԲI&E}1`PEYp$JUAjHKp܏-$JWERdFxވ!bF%_GqI*Bq< .i -(gJݰ1|h'/rljcfl:8̽lh,H!P/ dU"R8=zX7\֙J$晞,C̷SUTʦc1ݴp&nhM0|}Dׯӧt*L]5 :>Yx`]/cc*%o܄㼾FŅ_FҼmhk)WV]l6K:noynY7ol:g;::^Z84e2RT~%M+ealڴZիYLh ,/?NR 4-]$ѶT_.ri #x~Ee|bq&&&g3m(:ό +=爇CLf؉|ztnc+V VM䲋mފHu64E+itk4XrYjHo 3YIln2_jTY5+a<#1.ub= ?Rw*}HL\!#"!!jӧO*-/_}kLeB_:zNbikm# f㡿U$I dVm7 Md2IP$JX3 }˒e:HMEUw T<%mz@'}ev72Th cq WI%?3gCj}rah |O񞷼#g8h5ҋUnLVV Yַ7n ^RTLOOsrV(,ԩSֶdY楗^lR)èbY~Mg>VPSz|lǡPOMP&ɦF\8oɲŋ)W !B0==*`YN uA4mi&>$qĉn4]pa Mw_SSZ󯚦Ǐ#IL,:xoщ$̀{_e!o 233LNM!;{gΞEe~:099ĒN9ituuzpzi7s!B~J7Ƙ[,A,"ZKf`f&pfm#Utv Bغq3<!M&9OX'Jy׸1>U3\6#<;6mz&%JX"._E8$Q0<.&'SDp@ccWY,Cރr3B¢AU.N ī*af& [F%0m$Z0,5ƃ݂ѬYS,R|'G^@s\[ž}V)}PO̙|ݺu*kFSC74ATB $H}xey̆KzAlsGJŒxgRNtOLnLI_bA PY@0 _Oś*%g$_("VLέJdY{iZȶmNyEQycV!-xO$L#Q9{4E% &H_ua[rab+L|Gq.I pc Y;'GQ4$B#6:[|h><>-|yIZ"WΓ.` =l1jl_a>45 < :P܉OtwsgwJӝ}g$IKԭtزu;ÿM2_CȲիW 21V#Eu!x2FK&jE*YG0r<^a`NΣj!Xzxȋ,K $|_M!%Ҙp5!\ЉD]s=b좵5dI$idZ-ILV\2"SsBҹyf'jk%)FHY)y)9J>+ZXeXB0J ̜#.$*}4 tDUpR9voI*5I( >4vb6tJ@DF@SZh15C# >K L3>R%j:={VV;f^/S(s@E+r2n}w^<_Ofkg-<^^7~ҴRvu~?ˡ7zAUUyl&'XD5k IN m0>A [e,Sq_\h-dg-Zz{vws߾FT m!}py4l&[p[k=<Y0-->\$H Vu1` RmK/qk.<>r(XQW^KZBP*hu./ sLD;y)* %ڃ; @WZUH^=IвD[1W|˴ AR~㷘= [˧%Txn`멌 4gϜ~_{H\@mیS=AՐ93KNο\8R ѻ]>Cΰ~7H/@>uu~o~:6S7x?B$ƅIߍ ،,Y+zSS<\֑j Zv}zإ$ǵm{,KM#!^)@Qo|[_S\.N>Q ;Hc›`9"8s=Eĝ09wH.(XDFgdjORdRYɖ L tt&TJ#o=S bj|\Wi"~Mb;Drx\2R $㸱cVktv a~{߸ IDAT. ;W;VwELR%%JTBQ.+aST|Qy*Uz* .M"+.oz;s&2vJEm2᠊驑́n +6FQlv׿򟿏\G?kbcv'KwJTUc-/p\Yr|/ R033##)TJEX/qثJ,;$IN*LMMgqx<㚦EZŶ$Ai!KX],}VݠVkˍ,* 8E68r_YP{8.[5mmKO,=w=fҹe;v=&$E=F:X*H ,%D4K=&d</ 2PpP[e*D}@8?E/n S4<; `9LggkZQBvpa/]_c>sIvoJ\ sJ,}ǟvz3 H@H! xx t'=!@F0~zLO._Y.+cYU]ZVU'Db;v zE<>di?z_ú ݐou7p a:DjT'/%1x:J5"ѡAi x SkU\Ӑ(g2x}1|? +y" /ӓ!"/jcYw =}a^Ut<~JhG\LYAmRtZA0EbQ/I0ڨ#+~]t Cl%_\4`5'L[ ޥsEEfV49ez;oڎ/"k{x8EOr%U+QnM'Y'?b hBwc7x92iν |{9) AfK2z>]wK_Osq[ek }j^"23T)k4Tx<2icn.K`#I" [8tvZi)We4M5.]Z0tR%^m??I{{Bi星"I6r0uQzzH>uWGQZ+r_emL"TL O"j8%lELN֤;.'.Lt)w qpL@,#1޾M]n$C߸J28Ά @fPsh"~&xQJB"Œj\Ȭ%VʘI C%Q[äW= g> A__~Y~NjCt Lb_{-&ca`&dd߁ zHs0n($G9gďZ W`mH:]?ʮ]Iorp'BPH25v0< r,&.,q}b^oO0:a6B|6Q%l4Kx\bd$NW={ڸwNN$}ױ<1{+g ?юgo"F5FvphW?$\_>w}cQG`ShCe)E0afz<~Der<7H+Q$݋E4с(Ex%ik C?Y'I;J4L!,ƣ ׎*(WTpmфm1rJT&&&7"Rd sAabm~RsC~8*uEv}! ~kRp$z9j2Y#yU}=TcjQD:er0{2@׷Mx"Qwp8ei=qoR.4eh(Ğ= ٳ'PXL;[{cϞ(T *" %i4yg?=m y Q woev `rK/=ymFܙώ1ɁrKZh((\$o囝t|# !wH]Q+C.#}ZQ+:<;h"3\_|䳌&Cr y"5[@1*mxTD0&MPhԇ4$cK`'DnpidqEdd CÐQEQŶ$ʈh4ix}2\hC瀋լ0GLM7#8NRP74>YP2>N$`"eyjZz$)+x!j5: TNА t\"EE^ 31V]vnK=K=IgCb#M"|3B[|oꋱ}>PAfs9˗ ϧ h8x={ڀ:bH!8tbđ#>܉\CvG;0*~"("rͽJešCGwYXX@kv;#F n4~;#tv*{ 8NC: :lg׮6v튱C )uwh[{\u/m %|ߧHK: 3;xz&@|)%Îo35Klc~mOyf"K\Ĺa[? fGݠo|AiZrPC:*ma5Xkؖk8V⭭S\YY.Qϯrf"ȁߦ\SxGXȔ;I6W(?W qni\Ȓ[fy*,ώ3L u6|T(mφEe&JIOsvlONjVzT|7ҵo|6[ u\`;{ g.O}lֺ.H$$ۿ ,舨Dz-"ޮa╓G ,/CF28 ]Ά ݨާi^={ػRm8N+h׮~We߾TUQF}tum>yJu4t] zٱWnhL&S4TUSQUn}.TUszT/Ε2ؿ3/_~bZŕ#=l>='̀>'~Q*p@ 7_}RlXÁO? /L9a=D xȬfKҿsϞţ+ ũ.0k4MPDtUbXQ{)U+x5Bݤ^q#rE `vr|rN+M-.8FaHfMj>r Pďpl錍m4kuRK4٥P#"sO}gZ昛"k^%LcۭRx{bT+9F~iM2Q-XD4BJ~j7Á~<8Ӓ5ncSx:IԞoX%]o"">*O=1Xu2\?6!o4&r,K|*Y"$AFGۉBUnct]AQ$ >F<##o_/]]QAwwjȲLk|*ͶD"@rtBQ$"}}Q<Fouv6۷i2%:;#nkT,_c.j5Hćm;D>EfmDޖn"B>ߤ+Fi/H(Dggf]}銄8ߙlw\\Akf@瓿S*qt~7O%eHB{_QGI9ʦҾuhWj=z\z:aVeAWOިdr+kvdn.~D<@g{1BYBv-~/k9\ 8@DWFɯ%EJKyD&SZj"y\j:gϦR\.!I‘3x>*&mq?O1>ֲ&٤^1iQ@tm5VxK<"UgXZACn"&p;.kȺ(iT&Z tt ۍ'0*(LX$WiR5fp,RV`G})*ᰀehqK~tn fc4x %p)*VJqMd HĻ3CAț[8Ca?+HHS>~[FV 8w$ӏepn^uq(D"!.]7VvhGU7B!a.QPUr@5v@Mm4묭U8thtn+2gvۃtv躂ǣL]:$O'00'h zUj5Z<x<@OOs疸*##m9mo|-]!QhuIc`}DSFj1l3/1{yfSl a;/)P0+{I}(~%_+r|8癷6qP/{+,&4 ~kΕmQFF]E73A7 L_"lŵMZT5{]BR4*qO']3gŧ>oC$26 GO`ǧ<mtIdn"d>Q.U|sC S0\ufS nuI`U3F6Μ9CټDQ䮻².[(_XXnVD˲3|BM>dOK-$">un7$]:hYn& u+wJ{m]^^,~? W3^^y3oο4/ao/~LSZݿ}=WjO@<Sg)&-KZ"MqyT33Y#P9$'Ȃ!YiO/lRɠVd~z~\3u`7bIQ)M+xUAuR`,LOdOPL2D .M`[CI5GY^aaꑙv9'cZG81rjۑt,K4\GVrx >$º2A׼$2K%"mh4*}0_:!:;HRc'kx'.\XJMU8I Ḟ/ٹcX$r+ֵ7:E-pc~LS೟=m[뺛{YߟfP7Ʊc*2+(2xG?B@E uADƩH(d <ߏ$IXB{5dY.je vYuٱopfnwt4:~OwӼ辣 *| ca|O3{~xRǿ^RB|7\)*8~]њZI5tt MMkb|jFoTA DXRT*rHfcH;%L/Y3xriLv4+G&={F[G x,dbz~Uԡ&U3iMLK,=Fz(J hLGa. eL]ci^zoRIAO(,-Q5]pdm"9s'=YGpv]&ܧC5?m4kcuoc|Y=:ʷ=ѡ~zzB5cS3(xGhLT*%29H)7ryqNr;p,@Yw.x g.ugrltqAM摷o/򫯻1>2|ɿJ{*({\S/D[ydY=JꄩTj3ss"'O.!*1?0 |+Lf Ü9SVa6F(B˿^wۿ=i~,fuuu)*x<|">2mm]G]p"brWLߏ Tl#dң_;p< IDAT_K j9&x+YƦg4LX,,r^E^fLô.4mQ72YSOr]21veᵷe_#`0x*1Vūu#/ hT0/A|1`qKƑ}6]f߼J\oxq8wfYRٳF]۶ٽ{7~O<$]y`$ DQɓaB[ɲ̎;f` ɎVFiVWWy'۶[(r*egϞ+is|kRqH& nz7<]o:wb~Og(xe~C㕟`H—(G"T'mt=vZ(;0jĞ0NxQd&xiC[oᡧ U˰jJ. oK8q)C"ކ늤 R.axI-)6yenqz8ۈʄs s DhcVfK4,`P'NfIfTYFR-R|I1EGgh$JG"N1J.Quؽse:zX(Ұs|d+, :5''DTtDΓMުra,Ef-`6\Qϰ*(64IWcET$؂MWG 8,L? sϟc '򮷽ǹ_;1LOPj BEN?7ro^s7å5 F8 5NCJ|!svv+#1/j'U:z{>z,=zq L8y ?@(bt4iDQFGG, EeN:(*;wDc,.MX%]Ի{^][^oFQF\q:`V~ml'nuc`.l9ű]%\\LK:WDrmf+#[Ufp HO62-KGA0:@.١Յ%xv &h6ergqI\tB9[ATe?Mkx(.tMJDl5zb <+9sUrQ;*%/ҜDgN)ؚef7Wv5_}Y*@6/ڠZ@cB?1E.6c4MFF6 TME?ad#Mn3?[0M\ykoaY֕6ʯ^!sgӻ =[6^;z+n|:߸8fec"ů XbU+l)fV8V.jzص}ɅENqvYY!g*&v};Ul2ݎu<}JDpo|tEX#Ybq0 lp\VDYwJz%K$Ѭh]IT[ĵDG$><ܓ8Ƥ~ [@/O[ev6dHպoPiʖTMBչV_lѭcײMT4LӼ*}UIyC+Bymή];69LEE܂V0 wm{qm#iy?L~f}]|7ZQl8Ixݖ~cf*yiRs [a""4AEGED "N# "64k$qƘ8#ݶu]뽂6,k3z%Id< 6wnp|YA=WdK%刌wkoevS)p]ЬZtt1mS a-`~jR.& &آZut>З &/&%tYH<Fűy"211=DO7Iݥ?cbr A־?jF2AEꆁ}IrhAGX'%]Cߤ!h9QGHtEp&BX`?H(X$(JzQ'ZN̤f8ݒ)2 ㊹F=w6"MeD&SŸqg`x \O]71-?XZwCZzaBp incElLVsBD1Uwх&%3m|c4v& 1$I*]IN.a< ngg&f0jMr2gXY)Aj@ۺ8}徛:+i 2f5pMERT1.`J +M\::4KTe,cMLI\Bq즉+:.\Z%D`ΠU4UZQ_d t8szBja;AYcr@"ގm6L'N AEtl\:{ U;cx"*rgNXh`S&Ipt).m H(\BK6>U5*8JKVZ- \eYXVDŽ h M2T^cc>O o$g8iзoDǗhG+<͔CYAMoC~ˎxFuk?Tdibszk$I0da߰] //NԞ~ qiw򾛶}o<1ήf/zчy׾>?v+]Sp6Y]3ik"{0$ 7RY#ogen 8Ikx쓄>#Ͽu .\h:Hpi9a}+J9^p{2u U DN{jXwI_oϟc9Mmc f+Z&K&XOAdyC"+%b[^C;dN E*9#EeGx3n7U+=(u6@ Vx賏Αwx14{>g iDV =p(“ S~Avt/f!'e-iK (u2 ؃ga;YMG8FӼH6WTPkZXkT+ j<Ն,\8, ,=q`8H4`yf_B HTWX \G0lh]<A +5 BQ\̺bĎfW׍KUDC1Sr$L|A|*K,VCp]L&2MZx2Z_it7@I4(A%Akimb!?Α; QQծR,AT*Qm:TO @k*5z'HDzBy">bK4wFO݅?%;9o\!ު=y֛Mw'8Ώ1?\[/k O=ɹ>E#Yw>J| Ex}brw,I^ӿBO勯{7Nq/a YR -2RTkMx\vV8 Hҳ>D 1L- P\]G<3Y,JfUdi:H-*K,0 OŰeH}J".NM"ݨn'W.#Z&P[*RQڤrBAL^Ύ { jUXT!z(CW*xUmbJ9P-ź9w f _hB"6T&"P˚4 #1oj$ZAT ex]"ƿU{F٣jDC޺-v͊jIWno,vk,_ԏ cπ(n$4ε+Z C$3O1QZ,v9//ip7n u2Gxk#J߳re\-۲0 B ĀifڙǨ=dAvz` ]?=6Y޽X5ygǾccce Ww/wf7/|<],p|c_#*g>bdsqO0o3oy8Hi!bpsXֶ,7|p7\Yڔ>r]ҷe/ \ܵ ^x[οOE~5zJ;uzEo]b&CZC.h=G*,a,>6>)]] oH1ar~vF\*b>4(2d ̵DBFV2A8sό1;3CնYՙ:Wf2lwi&o䋿 j $ d*A #gb&uZtd dbXhGmb#&$+W3 4T*vMhu L ְyNOVhVm{1Ϝs"35&ýE\-+<13Yf޹(+ jІHmIJƪ!9;bhp+)}׈p<;b<ºBP%dtNϣ%Q R y^B b؃<0S]8DL2Α bagd[']$a!~)x | ג [B. ;\ZD2PB#4]4ʥ| Oηɩr@ '3X\!_HSd9\Q1])pi?oͷ%&s}Ӊx EB+ H),kIE\KLxeE\-v [ttZr /|JxH-8}64X|OX,1&XRz9_8m7nQgwi?~cL&曗$;kƱc8ww}wG.JLOOjvf|2Fښ]VoTI.- ]/W d9un# 6{o$@1>V'QI*4H'M{61X?wW38'GxM8FύxO}޳WǷ𭉧dT6PqLVcyX(G]bJ)֮]Ν;<#bnn(ڍA$|܈gفFlwZ΢evnriSUj|W4(#hRGnXb_$$஻ZbwB&&&8| Ð;SDu]tԴuV֭[DF4z衎{uQuڶm[Gî951&5fgg.`[ {q1ǎcmJf kԪeICifQLڊ$Zq&rj|L!C.i2Ey&C ₁uRi C3hUHb'Fl0@uKUZ,u% -<4P!(D]N|hgFKvGQÇpRwUM.RdYn%>X*=."c% `ffCun x;6l`ڵuz;t:pfst7[lnYxűs.-n+ wi϶Z0"{$/q/de.w񙞘ov+;Tʳ P4kvƙs9:2I5 XViᩐӠFBLKjs.Mim+Hru%ui7i4y%ə))$M0𕳳}CYCIOї\s][YĮ5ipqr? }@ =֥Y !h4>|RIEv^URJo߾~zjvڵ$u}u+vY"sؽRp%0 [:ƹWi͚5Ws;JRݻNGZ.QJq=t\0v{mi}7N/%Ǖ!x9tSJu~9Bty q\ױTژfZJ#G@,TZi2R{8[QӘKV1?}%b|eQh6VL]#P R]HՏ13Η8ux7IO<|~~mvwN3\ԈBE2]W"6d܋_Ib5s{9iKY˫])岶&6av,ߋkgNr6|uZC<Rnh!@R# R[WMx' *]`~9#Bb[HZ[w1fb& Wdђ|>ͮ;z%4eL#x5z{Smz$VWCǎre/I>W Tud~R N@vC6U/TS)h9#l -1JD)\Ds iHoDMZ@ u1R3mMiS 9Ϝ |ɪUC)`72# '}jz^|i9?xYn(8*VjkS-_Xt9w%^f!PiG@*x(ND=~-(ٳŢЃeVdhϱj3@2R(=BWDc'PwZ+ZߋIP,.S"M" PD&]]3;W+NDgN۬)tT. ['qTG dC&݌$nbgv`aaH7!l8 Hcn#\ d2C!ӅoATiMNӒR #XY0AA7tffN iJb_%MLRwwNǗ ổi}ZbE_t]_ϯEX%ǯ]-7YOӴgCo{`{ h8ΥHJ3~iϠygV-J`d  m}+*Vm'ex0VHh7Ҳ~̏D5*U2~.ص(e+.]џnu/i>_ eS,9pO>$׮|?ky5iˇ?a|#"::ɤ$ "BoaI BXj 2M %=apn I4-f+U8ɳt !iFMLKPc-{oXǪݔN?LnhmJS.ǏMz70MAX jcYIbGp[Y ivd9~$-uk zwe,Ҍc(hGUJJSq[ @͡c13We푎ILO$L^`!4 t*u]XYI(bRQ+$ߛ#ו$ix1\ϥ410B!R@.$:wCQ1 <ĆbbM[:ǎBP z&鳣\2Z$evEn&D!ȮkZ7?k 4)O{81a٘ |AH2Ay&bYn( wST;dC=<}&C+&R" @lR@Q̖#[M6>3UV&i%2[k3Q` P T[2Q(f ^' t'D]KлH&c`j1 >gN%#xB7 ۅ(v\q/!㕴yhFHMH~|"VDQD٠T*110u!  qZHgvU38Åqvm8J/T9?8ÓO{ܔe0~p=s׍߼o}ƞ[^EG1fpTeRl(?@븎#E1kAD,|LS@G# c SgB2W 5 !$A+" hY O╷l|GNfi` &F`DDba)Vs[J1?ZaRܾo~`tlh"FG2)FWԧ}l~hNG*mt DՓ!+Xhcs Jl^cSAح&χD B\3v2ZM#j hniwR7xUn&#T=zb"V1.b]R J@*2>Q,q[&iE]!KRKOyOi~;ٺa3wm#+@hس 0sLM{H2MTe 6fZb$FGرsRLõ}d"@O-Qњ1RU"Ѱ8j3&vVȐHH6ٞP V>nt8=7M{0i56^dPq@\GX P-58Hq q CgMXi"ђaۧxC/bC*8?(u<' }l?CĀ#0Bn淽H(;Q;Nqft4Wvf,Cn|A4\%4yL} O/[hWywfA-WflۥѨ33=E֯_U,N䦛n&166!::THiB $*a.BDt]{t&@]ا1PIQHzbdˆnA&"e)54Z,b_'(Ujn֯ى9j.``z&oBWܲo?zD2EmJO3K&19Eed_9q[Fݭ0?[si0 ,X[:BO+2-Ҧ3$԰d=$5 Y3\MF_Wh BL> n%DQ뷓(Yt-$rbs=zㅥے 0 х- UfhD _E6&"?a,XBa(m/ R TLeMZ؅Ճ9v8Lw5'@{X?3>5D$MB!yd _Jظq>yz(M^M"$[ȣIQ70i=I"Yd$rcZ|\fhBzNZ8J(̜E$gk XtcmNYzeb%\ȶ "!-L`l&Gsy,hkIZA!&22335mH R\x{bܚV0:]\C:rXOJD04ha't6&!R1ЪUC_"eHwQ m=Ԁ^Hrz#4q |XL2ӳ|%N8S'30xyƏ͘B2I.]|)dl(wp+O>̻f>ϓ6 BFFb".PjD4-p]Bd""&LZxBNe&ىIFNr8~nYlJn}gc$cO-CHPc,b6ݖjҗIe3D2Lʦ~ƚԬ (H&ko>LIci3gГ9OG bO70@RӾwxr\-&\kոkg:{{תrWi1Zlk1zx'qQP!aR(-Xi/c$7x#F5J*sh<W"D%cg7?m{sXF}o+ɖ3xix(6gN=0I*8|s?Q?S8M4J8)n,RR)\*|){X9<ė8.bسg.\X6zѣG;&hnݺ!`b,ժa/اbKu;V/SJ1<<)v1lcU#)%O脚uo)%JRԱ;#qU\.N'OS\fff:EQtT2޾^ΏE \O E F"$Mǎ"D v'#A^; x<.4_,7GlB+ŷ|"˯d-̙?W|x B!T4AEQSԚ5zr 4/F/5R!zW#o~3l:,S&JQ]heT\MBOT QkΝ;TDRRV۷w XreG~ qN;VRrܹcrY?|_YrdM:aHoo/TD"qMAԋ 0(F T$JJ""^42Ti& \X, ]]YwQ:wVܺĦ.6E/)۷G Xi>F J`R^+[O˙sc&lo꽓GOa0BH?rjz!}H)/K@ Go~cc:hQV2rA7-WipC?z98;na >_~#G~&*u&Y{;13ۻB c?:G dOjHieFEW_9VlXK$ D`&E6$P^DM(zf,T#,ӧBޮ.j&f&Ig0ifj!]f3\咦icW Ʋ~N;]r~~-:=W˙8r׿U81 ci;$eR\ DYժݳG=JY z-"iZLNO_޸qgP ղ9wkcp=4)B϶;|jBK/lID,8?z??d޽ou4]'>!wr=b#?0 ٻkK~X 9_(p{&Zz: Et{>\X9$(*?MRFƧu?.ҝN㨘| R4nnظf#r y=|$Eճbn'MNek϶pvdy nVޑt&2SO45l72?"Veh[V!*0c X$D/ >bpGs-Id c ڱΚIΟkv[hBO֢ЯS ZX`iX&-&T +Z5lZӾ!- q])VaKfl;bqds6Iω$aVNP.eN覆T&gϐXHs679h$VN. r oxtfZOq]ɵD(vF!ua6ΟG8vėwN$8?:ß!"Y-Lc ҳh"͇mS=$Օ#NX=k̓=Rk7`6f b`%{Vy`s]+y45h/'.õȽ2ϧ?X>Frϭ*pLĽBP*x[LRi&K oF2ab&B0ؾu+C+8u8oz5{aΟ=O0:6Ɵ|,~ի矾%_*~~OqiJ=ƈC={^qF"I:OT\^}4M 䟿`br;u _"Ν{|"h(4]'R?/_u\RO7xO?ud0})lft<ؒ}icYX 'k呱8㙒O1\r=@FW*ED.-EH )i"C?ybl|.I@Bsn"hl_K. 6p '&0gQ9CW.M:*vqfYO}nXdtop_Wkw拿WՌ3 ҙiC԰K6Vd'ʆϷ 31]2@`Gҥ-alr 2yI4ӗ\v>6w\U O _i8&&[6Hv ڈK&wL})oO$SWW8ׯH$Z9kx. |!tI߻ޢEk? -bzYzc7oC1"5VOڢҦd($j&F ÞC+Zb>@|@ (*Չ(.`6S(Zp "Q5P5!= !TP4@<|O:Fja3`P|ݽͯ 19}8#\π|ɪ^x 7FEB"^G%܂Ɩ`H KA$QK`z :$jb&T "t8, ߗe _>N<G`?-Strjk4%m b^*ö$34BqJgFo+uQ*vi0t)a4#Ȫ 䛨jQSS_'[c9P]Ө2?HDȺE . #G&!"F2!ϡ Md Q%8c敄tFӓhIfX0\M \CBTZ.Nq3kw??D0hr6f[z*"J\2f;o^6h Ez E28a`PTO:I}uDU PQ5H8&&W=T]%exM[@'Yk:>E}cxxI "y (H$zM}YlˁpLbLƗrtgǙ>mX}EEQB`-t&9>bBn\nhGW_w17}c?25{ua>O6}wJP5?̜EFccFz[ CT%wݬ8$zzz_X""uAm;e=gbp+XSiFG=Jx=cxݳǑ \i !:'w§~!@\Fy;$M/>nx1|']SWxp6GEGx5=HϢ\:M w]\j]SUx<v]r&x wxu]Uba 50.C,`:@TJӄuUp!z`$kxgOaB*D GSL'f?bC<@ S kT50='hiٴ50PN_7\|Pd9) |$.{ď+HYc[\Ogz:\>TV Km6V2>Osz{ݏGl*XuniP'>{EU(3YHA5|Eзg7Ghl?4Yխd#G4е \'̾&YĢ)LE'iS. R((lnRˑ> 9bޫ*}!}v{k/WJ/y{x4Xs a|TLF4KӋcC\{:/݉4G}b`0ʕ+GeRU-[}Q}|gŊ3 pws~z,ןqGC ,+98< .$XjըTRJXt(SUիW>}}IXu,S񄪪]nT d2GilذB0+VTjtA֬Y3fuYlYg(JuropǾŒC᫿\L;N`Zj.a!bs}Gd:d~1N?$ry#&`vyt E1i:>U 8x*7:K@h>BIB 4lb! b"[ M04gx`˲hml:ZuĭGt>}!Bxkӷ҉>c '0Ns`L_OH=A767747N/~U+ ݾDؼ_/?jV얟?f۩&USM*erlV5TX# &L`ɒ%C=D%Dъ2*O>$LbJNAww7W>zTnyoLlGu]MR*PaYEVb@*Y6mE(]<4M#N=otT(ű{5@UՊ*Dc%~PeLGVUTrJc q4 9K51߷+͓󫗲d\ĸ鴚n\/e_,{y}]Ǩ{3l۸mrΘSKރJ߽Rˠ xA*X<42FbDEAJyl7\K00'YPKy Q,fP,wl+le.7x♬MIf80~p%;s![b0[%]2F2-Kۢ>?P--:S:ZHh@a V.ǝTYx!|4"d]R1݈RUJ݄eĦk>Ma 6ؠZGdy[q'{={UT(};|[y5%=Okd8=D4UK,>MUMSvr~J肫Iފ1̴y6r.dɓUGr Rx珮ԅ3jU/SVc^9|z0%W.^jż7m/ٸ=v^VYKv@.c |ߡs6:̧FTM845)LnMzH @JJl_=;lȾэ|>$Ё;)̣~oyb:}C H?q6h<-GP{XTg5bg2Ը7UeD)dh}g"6k:(b CѡpkPؠE8R;g|յƋ)-]A$0sΥC˚7R!zِR 顇 ,p.!B__9‘ ÞFT8+OدuGhj ĘJL_gsp5Iޭ;9"xgmj6~#+9]~W{p7<~̼|6/\@KK>Ckؐ0tN7qZٿ[К$,$F|x#@h׿5-ܑ̓_eI|wsSdlW}r Sr`=|ױvetYyZ{ǛgsA{FHLPmmbE7E*QױYR)4)I^|_*DywJ^9q9rn!s?}9diҳ|ki^6\;΢z:2 f4k]%tn!<+|r`P%K.0cr* *quX"kp'%8ytNqU"Ce'1kBK<)1O/t<.:BNyMA)좁X--f_"#Yf0vWoΣ .y@n cAJG&T䖈$@pI~ #bI$P\1BN2-.]mL7OAɡQiA/pw>+&3kTW-9|RK%rKa/I]"R}zyrm_14gx&Inm?5qBÇ9 7KRF2s<}p΅Yfk#}A[[G6쥪 b!h 'DW(fjvwC2ǡ:^ΕN4(s:EQH) 1O UyC"/BesR3?؄dg7=kǷfsxfI ]Sغe\<f!<HP;mriߵTi{5@ O~Fۅ̱cheZJCU$>bל䇲X9A"`NFƸTES0mFEE8u=+ P9F@QӢ/R=g}W_|lf|sݽY'Җ޻bDZqɯoY7G6t!7dfSۿMy銁1|oq9CtTkCkSK24&XU#=C{0Ux Ɂݽ$AҖ" &Xs#c̞/(]oa߾,w˻Oz M5]؂9mx_GW&Ѓz?!W|'ϮY24 .C` Bz;G UCgkYT)r.?Lׅ3eˢi4hŹ"Ӧ-"۸N CAfϟyu'BV$kC:>ɚ ]ĬH,!BP # O2Yt]nJc:TO|#20 j||& NV2PAz ˮdj] 7 \'<| (}@/ZH&ͤe7ypGx4?W9PŽ,㎋t|y[ 6r%_ k'?ˮ=7KPts׏si>F!tN/9汿|{~w1?iG YJ Zk) tv&X#ӇKq13fP_c*ւp))95IUU"s J$'#Kƒ>_3~= Q6b"Ol̥of@+C@|=;-j(Rvl~guN/:#Iȡ< 8AU#O m^PZNC'R sSSSE(TE4P$#=I#l@RaoɵOÙ"S$~4Y&{`re'=EE$ZCC}9&~KW` +Wn7oSg61wu-[)Gο/4j]3>qao;r Wsi涯~-~3nZ7fKaR6RJzzz*yX!ıf2,RQ뺎eYEAJU)y nSܿiCYclx_˺Mjf̛Y ߏe;68XS8:xlW}G u 3s("62~χx^!ǛvUU+X,F$wPW]]]UM7G}>C_M_~~lVDze-װ~PsO% {%umW_g@MY?H[%Xu,BP[[d3X 0*f;p 1 A-Z'&LK ENC7XqՆǴ lD\GUJD?$%0yǷ8Kvߓ;$ndAc&[Yt9p4CHwbA)jõ{!i$9uCh/1g<"UWm3s'Lz& O|N:.5fu WLgbT%M'hD)SU5hJ#q3*nN:A,*tx$ A1Vg UO(b<+86LT(cpb9[]ץn̮Ol9C*feynٴo=9%KO6^͵C"x;usD+L , 9Ǎ.q躎jĆSqJ12|o3eF#!Ä0ya!r!;X~7.X(I ]圕ݕcY<[1Κ,ϜAPUOa_SN8x&y񫝇 Χ39XFE`:a:Mww>S:J(ŋC<xLL18!?eeWy [{:%4:_zKR &Ԏv%swf !=y9C p2w-ljsaCCH"_JOTDxKO) &긮J.`]*)/E˶Y jPgH9pǛ$aR[[;j^Rs+a,&Wb;;f{.jv1 O~׭aoE~Kܿz ӧ(BaC7p$o[gLQzܱhz! Ge揌`0^B$sN8ƍHdXdÆ 2渮˴iHR1A/SK:2x~zJ#ޞզ*˖-q#Lе2GWQ[qŠ }@{>/霩dYc K9k:Lh"H6m|3Wpl׵5@`!)`4mݺQyzG"(9<|B1HTyGH$4b&qڒ72j6xSD öJ 8"$֓y{V_h!S) z/ߚ/3f3c_+])֗lB௿ςYm/hno@eLX:$G% p!Ա65ZRt7XZҙ ŒЛNsWNשl]+%9'"V±.~/rIM:jZd!JsyU4hJ!4eB^'g2HS ò-Jخ7{nmk%c{n>\Q._Jr<u׬Yb!x+f꭫cTv5Mk'vmc$4v=)oONLلI>t]Ezѣ E!ʻBQl͍#=)R^ӓ*x2Q%Hؙvu>m"#I(U;lEH:ZZ)4M>d29 #tvvp@ Pq32ʺ;qӧO%W4]ץeQS{u%zˑ|ƭҮ(WTB+L8Lfα^6ʻ{--- 45g˻I꺍T^1S9Eӄ d25B@4q/sfFSW*8.P]]]Eb$Q|( 555 UUijjZZZ( ǻJ%:&OHSSSShkUJ4_1Mh"?Wl(̛;aJf}ߧ9gG D9b)IDATG"*lmmhEQ7n\e9on!˽l&LPٯ<,X7D"1 % ᙇHV/:UBē`Y),Oķ% HM|$xDUG/xYצGu)\>{㏰8|0ilO~7rŽLC7k ` T Ѓ.(> "RG" P(Ĵ589)#OsiR BFG“ UhɥEdtP X"kR 8CdU^pGEtl &6JD7D!Z1Sg(AHEh,u &WYx1 ٹ---cع%J%^SSC(vzٶ{mm?G&Nx7'N+eg|߯8I Xj%'ʆgp !\b'$˲m{u)ǿ2M_`3/橧6Lλ+ BY*-e@TF$%F@aAKrn钡;/ )5RCw8?ku\aRmϕqM䖔+PHQo307E%'Ԩ,H-9,ε,X[*CE;231l56||R:\8BG Z1:롢`۟1b| p@BS_ 6xFBφAv,w|s*J'cox}YqvMHGbtJJtWZɣ +3 |#Oռ_ս.'}/)uD63.*=0y8H(ܖ-,ni/Ux+-ZИa-;<4o~2$̔,Yhzreeo 7ά&.B!iW]Δ(FfHO+G՘q^>3+ *3-J=ӥap^(ylFpӛ"dQ'mP{5Eec9Nls"3imi ȋR#)q-vtIL`-s) Jjs"z9)Kkfc Twٳ8:r2+TcgQ;{s)AN>ᆐ>a Rob1e u\VoOx!AXBiHK @껑`'UA7pGnV/S bdKȂol [_]w݄wwOJ Ŕ,l_lOtyb lKIf65PdIk&%{9qWVEEkCvHA"~ˆ-?eXڧ@v""vyH  붿ph[^lȣN1J:H.U,*ɵ˟y7 xu̷)a(xV)QW|-]9$eRYq'yO`YaEQLv#H2J;MW0[k6CldPnxi},?|U hb29v|%kوfKh$"L"L6#!#_F`mIDevpZV_MVHڑ}IK=/rڤʾ[=Ag?x.Ų?-P>e4\s0N2oعj'#fo06rSdqT3)Rx|mk#beo ]/|xC&&0Fj㹯 -Ll:eob+LR^ޜW9m}0J>H8]Ơ;0pK; aϷAj)'ktȇOA-5oyu 9g6K XĠz?wQѴ!HFiK:FQ3!h C'*]%Mpꏶ˛VɥuV#N/ 9thL0{g\#ht nt VW1rʲihf L7vا_*J.moޒ/K Zn$@3ݠ@Lu)ێA :bP^ttkJd.w1d۲oFJL|_l|8a=bci*eV V{QuC0dԭ=~xE,cZ#y{ZVE+GTe/CNACjGb֍*vhGX´Uww.=4YkRI c$@-O K?@/x/#]O*3uoP~gE<GbF{&'ߦ`W]'` _+5~ٞ ] ioûK]dyy5&e]15{Vby-U}LJ#24Z*Yjv 2K%vo.{w:2l2rTxbmHcmDPź O ZWI(0O'.lc>Df UYs&;z 93Ӥ#߸ 8IR|C>5B雮tTt2~ĩB5'oRjN50dȳ\Uk^F ZKNtHjzZ43V $<],L&'/|iTE #KCA brk2aIfIDmq y_))L[d!խc=PO;Y+tdNR'XQ ƶQ5- A+%_.+2P-ؿ-RȴF.8u;j+PA4M+RKW!a+7Ye9 Sl&Ϭ4BOD,`~pj-h[Ċ+jCa)bzVIeq ~qd(*#8<3e T&olWySDE[ ? GP$tWY'vU5V=$j > rYXWӝ{դE徎1T4y1p {P^s)p )e)AA@Ek>d(͵1~e[sRR>SNqGZ':"u> =\B)_etxчg1k܄D~ bca/êk,OTv%!EƳ<~MMo*{ޯ]ZsnBH7+GꕡXq,rT:>$b; >(x¶U`2Ysp <.3Fk0j8|/kr굈 JV{=1¿E{;/630 yI&bԙ̈́8ϧ<̅ AIkI+n>$ew6ja[7i|Mі4G6{׍nGC-$w>!%j;@ t6p+8o.v _E@|n7EN8ZmnS4$j~?6VP9t =<;-Y9ߤI2S e\@4p踻W41>.;v501hpNZ%-q;hO*¦ P`WϨ)\tޫR(VW-?*1lLCgԾg}䔠w^!W7Ҳ#d؋_câf ƌ 7V(Ԙ|84yҲBxNd3M T'&R\jp.ęvje'|4_IjYKP0 Gncl'm4>I>Si!~ÚxVSGRv( F2o1'y0JlijNin0 Tc!]2 ZbVg^P.#+i;?s%3aHv.QJnVnTxqM,ʓauP{ ƎŇw]fy2qq5@FȌX$YR?1mxPN_- ]BV\ ɳgӝƽH ?TH2wOċcxG1ʵ6y:$~%FІȞo u.{ɄPF@4O0͆xcDi"4Jis9rN1]NE[тrLY)>@%%VHT.lUŠ |vN~4$#aK:u{%~,1htRت{f*r1au,\qg,l"]GЊ= wRT-Z~oɷ*Jz:k7\6%~ĭ慥e\WG+tQeh V&ec`ϘchQkP?Enf/2%{$%BzWTH8+ aϟQ̳岡℉')O Rg=F~]09Qr T@q-/D8]?O|Srr6VJEa\>5dvgю1SvKeTh*y =;lZDe SMu/>MOvh?VYJ')BJ=qiw'JKH0=pu9=F:EY}2+eK$ 8ճeXrޡ&PP]Z,4x $bJxTT#]-63;wapww0; ;YI+ݝJUkwN$@T {;$C IIBz {PZBG^Wi84,)+D癙mv,bgccb "hblbLflN$!)DRTH]"[me$4U_0U!R磩I0FjPIjIhS JW,'c yXjaͷW[tW=ױ^ @ρ2⠿6kkݮWp:&eBBc/l\Ƒ]BC O/ *Zmӡ(lٜ\ʲDy~eX2wD/1/\]N9/mKt1J9VoYU.H,f|vl%uΧ +"jFʽ;YhUZWܵo&Oo^D ! @'UϿqƞdu]bh'nc3ǥt3;w`~ēNbUx~9xSOUowu>tLB@n4we[]ddbR:0 A*V}TH)ඛoD)ͩg(O}jػwݣ|Cz>Rᡯ}mᛷl~xY-mST @* Aࣕ\@HT>Jkd( ٳ0 ЇOUObinnΎrcgA?y6l嗷-+84V2M6m܈eYamXM2v*c#w sf ]y|k:AM?<yKRCT"1yʔ $455GJB%QR"BAAH(b; *S,ʾ /[tqM۶].WhN$B)M"4Mz0 عcsȔ)S&Fss3lD"lQs=۷+۶ViZ8ŦaH$mRVCU;3::%QLH&Yl \JAL: fG0GIIFX,Ps(#X(pZk(mL&CWg^~=ceR]]tL&I&O!P(pwm6tS -{6m:}D޴El>|JV> CCR(%.\۶ d2Icc6rXI)1M gR0m4uG2uT#i-'!DCaص#v~{}w[95QJq􃘵}i5QXȰntDZ bu1@Ci;:8'0LԔEK9uPJ_R'0 IM,dBg2R0 Ca(vءKBק-ZD&1 %ZW1́Ӧ.׭ŋY|e̘1D"{@IE&AarA:!!ISPVR04ӟcuض=q|<hR4Zk hl>9"%a4MyYu70:: |GkQ,,%L&׾ 9=o|,`Su,5ܹT*Ŏ;xPX"q8D!Qi`;ȻjS ]vh'DhjZ[Zikmn Aǝ>o޼[n٨Ν;ŦMa1GlF#c_4_ .]˗o?/.^LwOON 38}čTsv% bA0 ks-048*Һz(hkkӅB5lV_Շz1ZeT*ao4;wy'ӧOgѥQn5fۮ0f<۶qn}*839ʎ鋟߰5WS.ܢESK=K d2s=::<sil̢f јCtvv"c'H) RUR4Cd2iRxOgreYT]bǟxlADk{V1q$$wanYtݽ^ J"BCO:()E;w`xp{Vqh C)Wp,َCJ}i}H---mc446,84\$ yUEƸK;mY:lzSOoa0>>N6$SI'M_?A4ŭVI _+LJ '@XAȊGd(m[:l2W~/<@.g``mmmr9 à\*k. >+ NI8YB5n(]]dbUY؆ұ,la^gg'Bt:Ʃޱ)S"b,Fk+J$Sma 0׸z-h-id<|naH" Fg0 1M~'MD0M : Rp/}_*2 _]c+#J@2FWg2 >޵4D k)SU4ZL ,k1-$UGl6 Қeٴqlynm0ضY~3/C)En4_R/~_{T}UdPJ36T*A0MߏX{/l̛ĉH6mp yQ47Gzce8H))!% €KRu%C9TazٻwD2QBnfjatt485ҩϠ_+~zzzxy˖ol۶C4$F_DjKp9G>S2R 4ٳkgTIRPJ<#J>:aH?:}u]֭]Òo t_ĭ b@\Pȓˍb6]y5XeKk (vDz nn\fv,"Lx!DGePD hmop+ƃ͛6"o F{ҢC)ٶ};i ͔JKFURNgH҄%"1A txCQJ6Fww7ik+$ȱI(R R4eFOEYHi@IQV=4a0< M`ʔ̟2?<8AfCxax0gl{>?j| 3 8-\eLذa=,7lϬ|j[#⢋1+;Xv-cڹ| 9fN}]3M>u7\\sE5kػwotk׮c/3}}}  ns]5kײfZN-[+~;0A0 x'fʕV[1r)2 +V\ /r{CZ\Oń>fϙ9BT*9֭[1-+ZT0Jr]`A@&\_XX>:{vR.Sٰa= Z~]uيeŷKlp+W]u#{n''pXzf8=…gѢE̝;02DmO\"#J)tML2);l&0<}ԑqzϤS(K #hjiŴL?I&d.ZN}{ xWXӏ]dɚ|PAMg``p}s;g̙3qzypT,fڴW@.. C?D2 e!V=*V\I[km?%ou ,?~]ssC{wOss;.xZk:,nVOJE" _Q"eT2$g8)y:h)iΌˁKo_t<ꨣK^ފ~x=^x?rgp9g}۶z*tHRuW\0B')"aQAR֮;oN:)ŸXNn{U~֭[w1s͛O4d6uC{yH)ԧ>e^@1FtJQI$S1y1G׉{[/,<4,ˢqǟ@dڵ_xZOjoV:Yc3)A*i Pugn&d:hLCJ\w= ihlzC|? ' B0|ɅWfÝɤRbiF[ԚMq AP*F( ٰ~=39$n5Fu'R.d8  wnz{'q3_ڴ'z;co֖.]ʐj8$޽tuw344H6%ϳzJ>Ab7O$bLӤZu}[l0MДzz{#_{s䥩7jgQ,hnj" %wd"Vq#hw$n4'sHdA)&+?Xr/~Ë[cu9D @IҚJoJAܿs+W6f[S[־_?Ƈ[Zg76f[Եpl2!đe-i73Wv~r,7zc:T,gWtwvO{F箿8sT.y3܂*h ϵʏ#i۷nزmc+?Ӌ2`͛;vmmkifZJTt*s!˔WYi;+%ɳϼ2;SfZ[Tr熊g_Oz|B:RU;+dK}D~i̫sek+TypM~wUO}>P%VO!G@M&e_}Zm]@ƒWK]gW] `iɪ ו\9Zozn_nZtZ-:G$Ӕ^N(N2/q=eN$\>E|lm.o 1ۧd0iߪ}4yA|MެsJk˙C\h×!E۸o[4ntӟÖD2zp{'"\:C<+P%%vr|.ǣf+ۛ 9ߏʮz{OW9׳M=8Ҏ]vv9`t饞u S:l[&[e_$`g/)PyQ<~if6uh,xh`_ ?77bz3"qaE OE?7≉'ƒRYUf\14殯Tr>\UY iNXvBrEʈ;DdEgb( r\ԪxRb8i5ry pT.zkr,s(S-1C7jG4Ԋ2i4et*Yl@jM)n2NkO+"u5Y9LTU$j2"[alPQ"#< %jmE7Mw+9P_.FVaSRϸF@š ^Jyųuy̤sh:%þ25HX_6ʮz3BC)\G?#a].aqS.GeױM}űʜ,!-°?7ÃQMJ5M|_F e4u\N%Ф(:řNk`i^:`kϏ2-]~&ܚMJx3D`TbQ7dױ0i `K8\mkZkYz{+JGXt547Tۡrs$H^$"-۪x%P֠O=ǻK,Wk}^١e^[es{ NʵM;\,tR=^";%C Τ*Yo!,25S& azP3\vH|K&eə |6+PnK@}]4YRQj+ץB6I?)*r`mqgڦK5E ot!0ͬXS)֡YvPM&Po HYW~bNIQ`p7*}cevmiY);GuK9rYOFDnה:G^=@8bfH6Q|{S_(ooM~R]&}|x.Tˡd/&Wu׍i^=W%o שѩC};cڅFXOHXJeM*|n9zֻLʇN8ASTȡ.\V7*s 7]RIh/_-q0uJ~=TQ"_i#oceEuiSSH@P6W_izyh̸#ּs+/nv.0 ~f˩U67GCľgXp"P;vܞcmz6kIW=Pi{)Q v iX|͑nq1CtwkX+;]>-Kcu\њ*jICiK݁U: ?X_LkX"X;quu׷ 55ǏS)39xšzL 1LrcY"v9 R#k`t/<ػ~ד9y:ZD:d[yق Osx6R#*Z[?Fq,"Ū-IT.*m.mu+ :Lg(D5nޓ(. Q$*`b+:s'l92} /.s27WKX<1Җu|yH%*+ hߖzޗo_uU7&|/_7fcjh?r;BFT,hK#D` %LYw>k@s#ilt3 OʮNsʼz0X}4Eyx!4H u4ێߜRc džbO Ǘ'h>߭@["I95m3vbÐ^ƱLhʴ].t^ P*˚IBRgYX3|TVy@0juoF ]F+JsoH> i.TxS!B$e.6%v HX/4::/L}U rie=޸!ߐu : =i޽Z|/˽Oִ7h\qq+Yd9 J;K0CoG]g6_ʮNms97Sp4 8ԛgL5R#8>Ҽy(.º2iGŐVE(KӔpB~Siwb Z $6į&߻@I2"P7| 87Cӥ+v|#`;[K3Z ${&tTD݄l`]G2h)^p=NiQ, U׆M/r;y18 XuMáIi,i@b?ŒpXK|«[y\ng_5A`g-3ߞd qGu{{jId^8BfZ]l CoYZug+]F+ٗX y=J84?J.4Ra<u㒃]O5Uaȓ~ eDig8g%+e>ZOaoANaiGSj9mokyغg?P1+e-f4aT|[޽W?0a\-<3^+eo-Ggnhڜ/o0N5m rd[ūUu$7a,mˁx~Lf=e5(D]E]uWʮI5[8͒/x5MF/x.ui8'{M[ֺ5UqI)TQ `iXKc Ӟ irѫY'Gh@oo>"-?XJC 8>0wf+=Z#v./>6~jݺLv8m4͡qesK{ozb(~-i; gƓtByNy\Q氎 (W5~v<q_ jHK6?0C"Z{׵@ԕhOe~ W (v,[Mp;0ٜQ{ kP+E5=Jh~]z8{@٨W\ok}@>)`rh&Js{[2w% 3,S(zϱ8w-g@me}rbX2%R퉦횖UC< J~ I33*d^u(fX2,#7cYF&M*~Np#rtnԌr4xM4nY|W+yRt(*1 <Ќrј7maQLCsXX/?Ё*< ]*@>\W_=ix2Y@anӀVv=ɰn')"` f](]L$"v)7IENDB`W d< x PNG  IHDR9pbKGD pHYstIME(5qIDATxw|\ՕǿMU̓4Tc@Pm 77' B %1) dٔ%.KL섄jۡVF%YҴwH3x~H={{946{z/+ڮ[)" j vThKR_mk]Z(bzMquc=ջW"@.x3ƸE7-_>dѲXEE[nwt^SMw8wBuLsElmk-\bPG3u:;_SKEXwklLX+?8a4|/m˻A74.cCxqL|cz8xK!ZZ .OZ .R  0023.html Линия времени (таймлайн) K  0022.html Панель инструментов <  g0021.html Главное окно K  0020.html Описание интерфейса @ o0016.html Таблицы стилей  m0015.html Настройки всех кадров и настройки текущего кадра  u0014.htmlСвойство "видимости" блоков и управление переходами между ними S 0013.html Динамические переменные R 0012.html Шаблон заголовка слайда W 0011.html Принципы функционирования O  0010.html Принципы работы ffDiaporama  am+h-am G003A.html Присоединяемые файлы (обложка, nfo, и др.) [ #0039.html Видео стандарты и разрешения 9 a0038.html Контейнеры : c0037.html Аудио кодек : c0036.html Видео кодек 5 Y0035.html Интернет q O0034.html Мультимедиа система (домашний кинотеатр) Q 0033.html Портативные устройства L 0032.html Смартфоны и планшеты @ o0031.html Создание видео @ o0030.html Создание видео O   0024.html Мультимедиа Проводник 18X*s1@# o0105.html# Свойства главы >" k0104.html" Свойства фона u! W0103.html! Добавление или изменение слайда из шаблона q  O0102.html Диаголовое окно Управление устройствами i ?0101.html Диалоговое окно Настройки программы N  0045.html Типы объектов в ffDiaporama 8 _0044.html XBMC nfo файлы U 0043.html Файлы конфигурации ffDiaporama M 0042.html Файлы проектов ffDiaporama d 50041.html Параметры командной строки ffDiaporama ` -0040.html Техническая информация о ffDiaporama Mk%S q+MV/ 0117.html/ Изменение шаблона обложки B. s0116.html. Свойства линеек @- o0115.html- Создание видео D, w0114.html, Параметры музыки H+ 0113.html+ Управление стилями M* 0112.html* Управление избранным G) }0111.html) Информация о файле ( 0110.html( Коррекция, кадрирование или обрезка изображения или видео <' g0109.html' Выбор файлов D& w0108.html& Свойства проекта B% s0107.html% Экспорт проекта O$  0106.html$ Проверка конфигурации 9m'Lf c9(< 3+img/Action_Open.png ;3img/add_cliparttext.png>add_cliparttext.png,= 7/img/Action_Wizard.png=Action_Wizard.png X\D$f>vR0 tXn %img/exit.pngnexit.png"m -%img/EditText.pngmEditText.png$l /'img/editpaste.pngleditpaste.png$k /'img/EditMovie.pngkEditMovie.png$j /'img/EditImage.pngjEditImage.png$i /'img/EditGMaps.pngiEditGMaps.png h +#img/editcut.pngheditcut.png"g -%img/editcopy.pnggeditcopy.pngf %img/edit.pngfedit.png"e -%img/Distance.pngeDistance.png(d 3+img/DISPLAY_WEB.pngdDISPLAY_WEB.png0c ;3img/DISPLAY_JUKEBOX.pngcDISPLAY_JUKEBOX.png*b 5-img/DISPLAY_DATA.pngbDISPLAY_DATA.png&a 1)img/defaultmap.pngadefaultmap.png$` /'img/db_update.png`db_update.png$_ /'img/db_status.png_db_status.png$^ /'img/db_remove.png^db_remove.png(] 3+img/db_menu_big.png]db_menu_big.png \ +#img/db_menu.png\db_menu.png[ )!img/db_add.png[db_add.pngZ !img/db.pngZdb.png*Y 5-img/ConvertVideo.pngYConvertVideo.png&X 1)img/ConvertImg.pngXConvertImg.png*W 5-img/ConvertAudio.pngWConvertAudio.png"V -%img/contents.pngVcontents.png ^~P&zX4 hL,^; E=img/Geometry_ProjectLock.pngGeometry_ProjectLock.png- 7/img/Geometry_Lock.pngGeometry_Lock.png7 A9img/Geometry_ImageLock.pngGeometry_ImageLock.png# -%img/Geometry.pngGeometry.png 'img/forum.pngforum.png %img/font.pngfont.png&~ 1)img/FolderOpen.png~FolderOpen.png.} 91img/FolderMask_200.png}FolderMask_200.png&| 1)img/filesaveas.png|filesaveas.png"{ -%img/filesave.png{filesave.png&z 1)img/filerecent.pngzfilerecent.png"y -%img/fileopen.pngyfileopen.png x +#img/filenew.pngxfilenew.png&w 1)img/fileexport.pngwfileexport.png$v /'img/fileclose.pngvfileclose.png.u 91img/file_temporary.pngufile_temporary.png,t 7/img/fifteenpieces.pngtfifteenpieces.png(s 3+img/ffdiaporama.pngsffdiaporama.png,r 7/img/favorite_menu.pngrfavorite_menu.png0q ;3img/favorite_manage.pngqfavorite_manage.png*p 5-img/favorite_add.pngpfavorite_add.png"o -%img/favorite.pngofavorite.png \hJ vR*~P\) 3+img/object_text.pngobject_text.png+ 5-img/object_sound.pngobject_sound.png3 =5img/object_movieHide.pngobject_movieHide.png+ 5-img/object_movie.pngobject_movie.png3 =5img/object_imageHide.pngobject_imageHide.png+ 5-img/object_image.pngobject_image.png 'img/medal.pngmedal.png# -%img/Lossless.pngLossless.png# -%img/logo_big.pnglogo_big.png %img/logo.pnglogo.png )!img/Lock24.pngLock24.png% /'img/kmultiple.pngkmultiple.png! +#img/journal.pngjournal.png#  -%img/Internet.pngInternet.pngA  KCimg/inheritance_down_unlock.pnginheritance_down_unlock.png=  G?img/inheritance_down_lock.pnginheritance_down_lock.png'  1)img/Image_File.pngImage_File.png  %img/help.pnghelp.png 'img/Green.pngGreen.png# -%img/gmap_add.pnggmap_add.png %img/gmap.pnggmap.png1 ;3img/Geometry_Unlock.pngGeometry_Unlock.png PtJ T*zR*tP!0 +#img/Refresh.pngRefresh.png/ #img/Red.pngRed.png. )!img/random.pngrandom.png- )!img/Radius.pngRadius.png-, 7/img/PrjProperties.pngPrjProperties.png#+ -%img/PosStart.pngPosStart.png%* /'img/PosSize_Y.pngPosSize_Y.png%) /'img/PosSize_X.pngPosSize_X.png-( 7/img/PosSize_Width.pngPosSize_Width.png/' 91img/PosSize_Height.pngPosSize_Height.png& )!img/PosEnd.pngPosEnd.png)% 3+img/player_stop.pngplayer_stop.png'$ 1)img/player_rew.pngplayer_rew.png5# ?7img/player_play_small.pngplayer_play_small.png)" 3+img/player_play.pngplayer_play.png7! A9img/player_pause_small.pngplayer_pause_small.png+  5-img/player_pause.pngplayer_pause.png' 1)img/player_fwd.pngplayer_fwd.png' 1)img/player_end.pngplayer_end.png+ 5-img/pattern_fill.pngpattern_fill.png' 1)img/Opensource.pngOpensource.png1 ;3img/object_textHide.pngobject_textHide.png HrJ"dBrHxH-H 7/img/TimelineShots.pngTimelineShots.png/G 91img/TimelineBlocks.pngTimelineBlocks.png%F /'img/TextStyle.pngTextStyle.pngE )!img/splash.pngsplash.png#D -%img/sound_KO.pngsound_KO.png+C 5-img/SortByNumber.pngSortByNumber.png'B 1)img/SortByName.pngSortByName.png'A 1)img/SortByDate.pngSortByDate.png'@ 1)img/Smartphone.pngSmartphone.png)? 3+img/SmallYellow.pngSmallYellow.png#> -%img/SmallRed.pngSmallRed.png'= 1)img/SmallGreen.pngSmallGreen.png< )!img/Shadow.pngShadow.png!; +#img/ScrollY.pngScrollY.png!: +#img/ScrollX.pngScrollX.png'9 1)img/SaveAsMenu.pngSaveAsMenu.png#8 -%img/ruler_ok.pngruler_ok.png#7 -%img/ruler_ko.pngruler_ko.png%6 /'img/rotationg.pngrotationg.png%5 /'img/rotationd.pngrotationd.png!4 +#img/RotateZ.pngRotateZ.png!3 +#img/RotateY.pngRotateY.png!2 +#img/RotateX.pngRotateX.png1 )!img/render.pngrender.png \zZ@"f.lF$\/^ E%img/Transitions/tr-00-03.pngtr-00-03.png/] E%img/Transitions/tr-00-02.pngtr-00-02.png/\ E%img/Transitions/tr-00-01.pngtr-00-01.png/[ E%img/Transitions/tr-00-00.pngtr-00-00.pngZ )!img/zoomup.pngzoomup.png#Y -%img/zoomdown.pngzoomdown.pngX %img/zoom.pngzoom.pngW )!img/Yellow.pngYellow.png'V 1)img/Visible_OK.pngVisible_OK.png+U 5-img/Visible_MASK.pngVisible_MASK.png'T 1)img/Visible_KO.pngVisible_KO.png5S ?7img/VideoMask_162x216.pngVideoMask_162x216.png5R ?7img/VideoMask_150x200.pngVideoMask_150x200.png5Q ?7img/VideoMask_120x180.pngVideoMask_120x180.png'P 1)img/Video_File.pngVideo_File.pngO )!img/undo24.pngundo24.pngN %img/undo.pngundo.pngM !img/tv.pngtv.pngL 'img/trash.pngtrash.png)K 3+img/transparent.pngtransparent.png%J /'img/Transform.pngTransform.png/I 91img/tr-00-01_small.pngtr-00-01_small.png Jj8p> vD|J/q E%img/Transitions/tr-01-17.pngtr-01-17.png/p E%img/Transitions/tr-01-16.pngtr-01-16.png/o E%img/Transitions/tr-01-15.pngtr-01-15.png/n E%img/Transitions/tr-01-14.pngtr-01-14.png/m E%img/Transitions/tr-01-13.pngtr-01-13.png/l E%img/Transitions/tr-01-12.pngtr-01-12.png/k E%img/Transitions/tr-01-11.pngtr-01-11.png/j E%img/Transitions/tr-01-10.pngtr-01-10.png/i E%img/Transitions/tr-01-09.pngtr-01-09.png/h E%img/Transitions/tr-01-08.pngtr-01-08.png/g E%img/Transitions/tr-01-07.pngtr-01-07.png/f E%img/Transitions/tr-01-06.pngtr-01-06.png/e E%img/Transitions/tr-01-05.pngtr-01-05.png/d E%img/Transitions/tr-01-04.pngtr-01-04.png/c E%img/Transitions/tr-01-03.pngtr-01-03.png/b E%img/Transitions/tr-01-02.pngtr-01-02.png/a E%img/Transitions/tr-01-01.pngtr-01-01.png/` E%img/Transitions/tr-01-00.pngtr-01-00.png/_ E%img/Transitions/tr-00-04.pngtr-00-04.png Jj8p> vD|J/ E%img/Transitions/tr-02-18.pngtr-02-18.png/ E%img/Transitions/tr-02-17.pngtr-02-17.png/ E%img/Transitions/tr-02-16.pngtr-02-16.png/ E%img/Transitions/tr-02-15.pngtr-02-15.png/ E%img/Transitions/tr-02-14.pngtr-02-14.png/ E%img/Transitions/tr-02-13.pngtr-02-13.png/~ E%img/Transitions/tr-02-12.pngtr-02-12.png/} E%img/Transitions/tr-02-11.pngtr-02-11.png/| E%img/Transitions/tr-02-10.pngtr-02-10.png/{ E%img/Transitions/tr-02-09.pngtr-02-09.png/z E%img/Transitions/tr-02-08.pngtr-02-08.png/y E%img/Transitions/tr-02-07.pngtr-02-07.png/x E%img/Transitions/tr-02-06.pngtr-02-06.png/w E%img/Transitions/tr-02-05.pngtr-02-05.png/v E%img/Transitions/tr-02-04.pngtr-02-04.png/u E%img/Transitions/tr-02-03.pngtr-02-03.png/t E%img/Transitions/tr-02-02.pngtr-02-02.png/s E%img/Transitions/tr-02-01.pngtr-02-01.png/r E%img/Transitions/tr-02-00.pngtr-02-00.png Jj8p> vD|J/ E%img/Transitions/tr-03-15.pngtr-03-15.png/ E%img/Transitions/tr-03-14.pngtr-03-14.png/ E%img/Transitions/tr-03-13.pngtr-03-13.png/ E%img/Transitions/tr-03-12.pngtr-03-12.png/ E%img/Transitions/tr-03-11.pngtr-03-11.png/ E%img/Transitions/tr-03-10.pngtr-03-10.png/ E%img/Transitions/tr-03-09.pngtr-03-09.png/ E%img/Transitions/tr-03-08.pngtr-03-08.png/ E%img/Transitions/tr-03-07.pngtr-03-07.png/ E%img/Transitions/tr-03-06.pngtr-03-06.png/  E%img/Transitions/tr-03-05.png tr-03-05.png/  E%img/Transitions/tr-03-04.png tr-03-04.png/  E%img/Transitions/tr-03-03.png tr-03-03.png/  E%img/Transitions/tr-03-02.png tr-03-02.png/  E%img/Transitions/tr-03-01.png tr-03-01.png/ E%img/Transitions/tr-03-00.pngtr-03-00.png/ E%img/Transitions/tr-02-21.pngtr-02-21.png/ E%img/Transitions/tr-02-20.pngtr-02-20.png/ E%img/Transitions/tr-02-19.pngtr-02-19.png \j8nBl=\.+ ?)img/Filter/Desaturate.png+Desaturate.png** ;%img/Filter/Contrast.png*Contrast.png*) ;%img/Filter/Charcoal.png)Charcoal.png.( ?)img/Filter/Brightness.png(Brightness.png"' 3img/Filter/Blur.png'Blur.png,& ='img/Filter/Antialias.png&Antialias.png)% ;#img/Arrange/arrange.png%arrange.png%$ 7img/Arrange/aotop.png$aotop.png)# ;#img/Arrange/aoright.png#aoright.png'" 9!img/Arrange/aoleft.png"aoleft.png)! ;#img/Arrange/aodistV.png!aodistV.png)  ;#img/Arrange/aodistH.png aodistH.png- ?'img/Arrange/aocenterv.pngaocenterv.png- ?'img/Arrange/aocenterh.pngaocenterh.png+ =%img/Arrange/aobottom.pngaobottom.png9 O/img/Transitions/tr-icon-error.pngtr-icon-error.png/ E%img/Transitions/tr-10-03.pngtr-10-03.png/ E%img/Transitions/tr-10-02.pngtr-10-02.png/ E%img/Transitions/tr-10-01.pngtr-10-01.png/ E%img/Transitions/tr-10-00.pngtr-10-00.png 0V/{T/_"i06? E3img/Text/text_align_left.png?text_align_left.png:> I7img/Text/text_align_justif.png>text_align_justif.png:= I7img/Text/text_align_center.png=text_align_center.png<< K9img/Text/Shadow upper right.png: M;img/Text/Shadow bottom right.png:Shadow bottom right.png<9 K9img/Text/Shadow bottom left.png9Shadow bottom left.png&8 5#img/Text/outline.png8outline.png$7 3!img/Text/normal.png7normal.png"6 3img/Filter/Wave.png6Wave.png$5 5img/Filter/Swirl.png5Swirl.png*4 ;%img/Filter/Oilpaint.png4Oilpaint.png*3 ;%img/Filter/Negative.png3Negative.png(2 9#img/Filter/Implode.png2Implode.png,1 ='img/Filter/Grayscale.png1Grayscale.png$0 5img/Filter/Gamma.png0Gamma.png*/ ;%img/Filter/Equalize.png/Equalize.png&. 7!img/Filter/Emboss.png.Emboss.png"- 3img/Filter/Edge.png-Edge.png,, ='img/Filter/Despeckle.png,Despeckle.png JGsBOJ6Q Q'img/MediaIcons/16x16/directory.pngQdirectory.png2P M#img/MediaIcons/16x16/delayed.pngPdelayed.png2O M#img/MediaIcons/16x16/clipart.pngOclipart.png.N Iimg/MediaIcons/16x16/cdrom.pngNcdrom.png.M Iimg/MediaIcons/16x16/audio.pngMaudio.png4L C1img/Text/text_underline.pngLtext_underline.png,K ;)img/Text/text_super.pngKtext_super.png(J 7%img/Text/text_sub.pngJtext_sub.png2I A/img/Text/text_list_nbr.pngItext_list_nbr.png*H 9'img/Text/text_list.pngHtext_list.png.G =+img/Text/text_italic.pngGtext_italic.png6F E3img/Text/text_indent_out.pngFtext_indent_out.png4E C1img/Text/text_indent_in.pngEtext_indent_in.png*D 9'img/Text/text_bold.pngDtext_bold.png4C C1img/Text/text_align_vup.pngCtext_align_vup.png40<8 <564C =8<80015.html`0AB@>9:8 2A5E :04@>2 8 =0AB@>9:8 B5:CI53> :04@00016.html"01;8FK AB8;590013.html.8=0<8G5A:85 ?5@5<5==K50020.html&?8A0=85 8=B5@D59A00021.html;02=>5 >:=>0022.html&0=5;L 8=AB@C<5=B>20023.html08=8O 2@5<5=8 (B09<;09=)0024.html*C;LB8<5480 @>2>4=8:0020.html80;>3>2K5 >:=00020.html0:=0 =0AB@>9:8 ?@>3@0<<K0101.html&0AB@>9:8 ?@>3@0<<K0102.html.#?@02;5=85 CAB@>9AB20<80106.html*@>25@:0 :>=D83C@0F880116.hWtml!2>9AB20 ;8=55:0117.html27<5=5=85 H01;>=0 >1;>6:80020.html&:=0 @540:B8@>20=8O0103.htmlT>102;5=85 8;8 87<5=5=85 A;0940 87 H01;>=00119.html 0@0<5B@K A;09400118.htmlpK1>@ ?@>4>;68B5;L=>AB8 ?5@2>3> :04@0 4;O 3@C??K A;094>20104.html!2>9AB20 D>=00105.html!2>9AB20 3;02K0114.html 0@0<5B@K <C7K:80122.html$0@0<5B@K ?5@5E>400121.htmlfK1>@ ?@>4>;68B5;L=>AB8 ?5@5E>40 4;O 3@C??K A;094>20110.htmlr>@@5:F8O, :04@8@>20=85 8;8 >1@57:0 87>1@065=8O 8;8 284X5>0120.html* 540:B8@>20=85 B5:AB00123.htmlH>1028BL 8;8 87<5=8BL <5AB>?>;>65=850020.html4:=0, A2O70==K5 A ?@>5:B><0108.html !2>9AB20 ?@>5:B00115.html!>740=85 2845>0107.html-:A?>@B ?@>5:B00020.html@>G85 >:=00109.htmlK1>@ D09;>20111.html$=D>@<0F8O > D09;50112.html(#?@02;5=85 871@0==K<0113.html$#?@02;5=85 AB8;O<80030.html!>740=85 2845>0031.html!>740=85 2845>0032.html(!<0@BD>=K 8 ?;0=H5BK0033.html,>@B0B82=K5 CAB@>9AB200034.htmlPC;LB8<5480 A8AB5<0 (4><0H=89 :8=>B50B@)0035.html=B5@=5B0036.html845> :>45:0037.htmlC48> :>45:0038.html>=B59=5@K0039.html8845> AB0=40@BK 8 @07@5H5=8O003A.htmlT@8A>548=O5<K5 D09;K (>1;>6:0, nfo, 8 4@.)0040.htmlH"5E=8G5A:0O 8=D>@<0F8O > ffDiaporama0041.htmlL0@0<5B@K :><0=4=>9 AB@>:8 ffDiaporama0042.html4$09;K ?@>5:B>2 ffDiaporama0043.html<$09;K :>=D83C@0F88 ffDiaporama0044.htmlXBMC nfo D09;K0045.html6"8?K >1J5:B>2 2 ffDiaporama  d{U/c-img/ruler_ko.pngb/img/fileclose.pngva1img/Visible_KO.png`!Eimg/Transitions/tr-02-18.png_!Eimg/Transitions/tr-01-07.png^!Eimg/Text/text_align_left.png?]#Iimg/MediaIcons/16x16/image.pngX\5img/Filter/Gamma.png0[-img/AdjustWH.pngE <!/=KYgu+9GUcq '5CQ_mx 0010.html 0011.html 0012.html 0013.html 0014.html 0015.html 0016.html 0020.html 0021.html 0022.html 0023.html 0024.html 0030.html 0031.html 0032.html 0033.html 0034.html 0035.html 0036.html 0037.html 0038.html 0039.html 003A.html 0040.html 0041.html 0042.html 0043.html 0044.html 0045.html 0101.html 0102.html 0103.html! 0104.html" 0105.html# 0106.html$ 0107.html% 0108.html& 0109.html' 0110.html( 0111.html) 0112.html* 0113.html+ 0114.html, 0115.html- 0116.html. 0117.html/ 0118.html0 0119.html1 0120.html2 0121.html3 0122.html4 0123.html5 1.html63img/Action_Info.png:3img/Action_Open.png<7img/Action_Wizard.png=/img/AddFolder.pngB+img/AdjustH.pngC+img/AdjustW.pngD $``v (E`})B^v8Ur/img/Alignment.pngF=img/Arrange/aobottom.png?img/Arrange/aocenterh.png?img/Arrange/aocenterv.png;img/Arrange/aodistH.png ;img/Arrange/aodistV.png!9img/Arrange/aoleft.png";img/Arrange/aoright.png#7img/Arrange/aotop.png$;img/Arrange/arrange.png%)img/AutoTS.pngK%img/Blue.pngL)img/Camera.pngM+img/Chapter.pngO3img/Chapter_big.pngP5img/ConvertAudio.pngW1img/ConvertImg.pngX5img/ConvertVideo.pngY5img/DISPLAY_DATA.pngb;img/DISPLAY_JUKEBOX.pngc3img/DISPLAY_WEB.pngd-img/Distance.pnge/img/EditGMaps.pngi/img/EditImage.pngj/img/EditMovie.pngk-img/EditText.pngm=img/Filter/Antialias.png&3img/Filter/Blur.png'?img/Filter/Brightness.png(;img/Filter/Charcoal.png);img/Filter/Contrast.png*?img/Filter/Desaturate.png+=img/Filter/Despeckle.png,3img/Filter/Edge.png-7img/Filter/Emboss.png.;img/Filter/Equalize.png/ dd &=Ss"8aGj=img/Filter/Grayscale.png19img/Filter/Implode.png2;img/Filter/Negative.png3;img/Filter/Oilpaint.png45img/Filter/Swirl.png53img/Filter/Wave.png69img/FolderMask_200.png}1img/FolderOpen.png~-img/Geometry.pngAimg/Geometry_ImageLock.png7img/Geometry_Lock.png!Eimg/Geometry_ProjectLock.png;img/Geometry_Unlock.png'img/Green.png1img/Image_File.png-img/Internet.png)img/Lock24.png-img/Lossless.png(Simg/MediaIcons/16x16/Thumbnails.pngY#Iimg/MediaIcons/16x16/audio.pngM#Iimg/MediaIcons/16x16/cdrom.pngN%Mimg/MediaIcons/16x16/clipart.pngO%Mimg/MediaIcons/16x16/delayed.pngP'Qimg/MediaIcons/16x16/directory.pngQ)Uimg/MediaIcons/16x16/ffDiaporama.pngR"Gimg/MediaIcons/16x16/file.pngS)Uimg/MediaIcons/16x16/folder_home.pngT#Iimg/MediaIcons/16x16/gmaps.pngU%Mimg/MediaIcons/16x16/hdd-lan.pngV!Eimg/MediaIcons/16x16/hdd.pngW #qq1H^y 4H`v<`!Eimg/MediaIcons/16x16/usb.pngZ#Iimg/MediaIcons/16x16/video.png[1img/Opensource.png)img/PosEnd.png9img/PosSize_Height.png7img/PosSize_Width.png/img/PosSize_X.png/img/PosSize_Y.png-img/PosStart.png7img/PrjProperties.png)img/Radius.png#img/Red.png+img/Refresh.png+img/RotateX.png+img/RotateY.png+img/RotateZ.png1img/SaveAsMenu.png+img/ScrollX.png+img/ScrollY.png)img/Shadow.png1img/SmallGreen.png-img/SmallRed.png3img/SmallYellow.png1img/Smartphone.png1img/SortByDate.png1img/SortByName.png5img/SortByNumber.png$Kimg/Text/Shadow bottom left.png9%Mimg/Text/Shadow bottom right.png:#Iimg/Text/Shadow upper left.png;$Kimg/Text/Shadow upper right.png<3img/Text/normal.png75img/Text/outline.png8#Iimg/Text/text_align_center.png=#Iimg/Text/text_align_justif.png> cc .Pn6Qh4Vx"Gimg/Text/text_align_right.png@$Kimg/Text/text_align_vbottom.pngA$Kimg/Text/text_align_vcenter.pngB Cimg/Text/text_align_vup.pngC9img/Text/text_bold.pngD Cimg/Text/text_indent_in.pngE!Eimg/Text/text_indent_out.pngF=img/Text/text_italic.pngG9img/Text/text_list.pngHAimg/Text/text_list_nbr.pngI7img/Text/text_sub.pngJ;img/Text/text_super.pngK Cimg/Text/text_underline.pngL/img/TextStyle.png9img/TimelineBlocks.png7img/TimelineShots.png/img/Transform.png!Eimg/Transitions/tr-00-00.png!Eimg/Transitions/tr-00-01.png!Eimg/Transitions/tr-00-02.png!Eimg/Transitions/tr-00-03.png!Eimg/Transitions/tr-00-04.png!Eimg/Transitions/tr-01-00.png!Eimg/Transitions/tr-01-01.png!Eimg/Transitions/tr-01-02.png!Eimg/Transitions/tr-01-03.png!Eimg/Transitions/tr-01-04.png!Eimg/Transitions/tr-01-05.png!Eimg/Transitions/tr-01-06.png HHj6Xz$Fh4Vx!Eimg/Transitions/tr-01-08.png!Eimg/Transitions/tr-01-09.png!Eimg/Transitions/tr-01-10.png!Eimg/Transitions/tr-01-11.png!Eimg/Transitions/tr-01-12.png!Eimg/Transitions/tr-01-13.png!Eimg/Transitions/tr-01-14.png!Eimg/Transitions/tr-01-15.png!Eimg/Transitions/tr-01-16.png!Eimg/Transitions/tr-01-17.png!Eimg/Transitions/tr-02-00.png!Eimg/Transitions/tr-02-01.png!Eimg/Transitions/tr-02-02.png!Eimg/Transitions/tr-02-03.png!Eimg/Transitions/tr-02-04.png!Eimg/Transitions/tr-02-05.png!Eimg/Transitions/tr-02-06.png!Eimg/Transitions/tr-02-07.png!Eimg/Transitions/tr-02-08.png!Eimg/Transitions/tr-02-09.png!Eimg/Transitions/tr-02-10.png!Eimg/Transitions/tr-02-11.png!Eimg/Transitions/tr-02-12.png!Eimg/Transitions/tr-02-13.png!Eimg/Transitions/tr-02-14.png!Eimg/Transitions/tr-02-15.png!Eimg/Transitions/tr-02-16.png!Eimg/Transitions/tr-02-17.png VVx"Df2Tv Bd!Eimg/Transitions/tr-02-19.png!Eimg/Transitions/tr-02-20.png!Eimg/Transitions/tr-02-21.png!Eimg/Transitions/tr-03-00.png!Eimg/Transitions/tr-03-01.png !Eimg/Transitions/tr-03-02.png !Eimg/Transitions/tr-03-03.png !Eimg/Transitions/tr-03-04.png !Eimg/Transitions/tr-03-05.png !Eimg/Transitions/tr-03-06.png!Eimg/Transitions/tr-03-07.png!Eimg/Transitions/tr-03-08.png!Eimg/Transitions/tr-03-09.png!Eimg/Transitions/tr-03-10.png!Eimg/Transitions/tr-03-11.png!Eimg/Transitions/tr-03-12.png!Eimg/Transitions/tr-03-13.png!Eimg/Transitions/tr-03-14.png!Eimg/Transitions/tr-03-15.png!Eimg/Transitions/tr-10-00.png!Eimg/Transitions/tr-10-01.png!Eimg/Transitions/tr-10-02.png!Eimg/Transitions/tr-10-03.png&Oimg/Transitions/tr-icon-error.png?img/VideoMask_120x180.png?img/VideoMask_150x200.png?img/VideoMask_162x216.png1img/Video_File.png )nn.F[r2GVi}(>Od}5img/Visible_MASK.png1img/Visible_OK.png)img/Yellow.png7img/action_cancel.png83img/action_edit.png9/img/action_ok.png;;img/add_cliparttext.png>/img/add_image.png?3img/add_project.png@-img/add_text.pngA1img/arrow_down.pngG1img/arrow_left.pngH3img/arrow_right.pngI-img/arrow_up.pngJ)img/ccbysa.pngN'img/color.pngQ1img/color_fill.pngR-img/colorize.pngS)img/config.pngT3img/config_menu.pngU-img/contents.pngV!img/db.pngZ)img/db_add.png[+img/db_menu.png\3img/db_menu_big.png]/img/db_remove.png^/img/db_status.png_/img/db_update.png`1img/defaultmap.pnga%img/edit.pngf-img/editcopy.pngg+img/editcut.pngh/img/editpaste.pngl%img/exit.pngn-img/favorite.pngo5img/favorite_add.pngp;img/favorite_manage.pngq7img/favorite_menu.pngr3img/ffdiaporama.pngs7img/fifteenpieces.pngt9img/file_temporary.pngu &mm&<Nq5Om!AZy1img/fileexport.pngw+img/filenew.pngx-img/fileopen.pngy1img/filerecent.pngz-img/filesave.png{1img/filesaveas.png|%img/font.png'img/forum.png%img/gmap.png-img/gmap_add.png%img/help.png"Gimg/inheritance_down_lock.png$Kimg/inheritance_down_unlock.png+img/journal.png/img/kmultiple.png%img/logo.png-img/logo_big.png'img/medal.png5img/object_image.png=img/object_imageHide.png5img/object_movie.png=img/object_movieHide.png5img/object_sound.png3img/object_text.png;img/object_textHide.png5img/pattern_fill.png1img/player_end.png1img/player_fwd.png5img/player_pause.pngAimg/player_pause_small.png3img/player_play.png?img/player_play_small.png1img/player_rew.png3img/player_stop.png)img/random.png)img/render.png/img/rotationd.png/img/rotationg.png xhVB0qR9/wiki_img/Work.pngd9wiki_img/Wikipedia.pngc7wiki_img/Timeline.pngb3wiki_img/Schema.pnga?wiki_img/AutoFraming2.png`?wiki_img/AutoFraming1.png_=wiki_img/Animation_3.png^=wiki_img/Animation_2.png]=wiki_img/Animation_1.png\ wiki.csse main.html7)img/zoomup.png-img/zoomdown.png%img/zoom.png)img/undo24.png%img/undo.png!img/tv.png'img/trash.png3img/transparent.png9img/tr-00-01_small.png)img/splash.png-img/sound_KO.png-img/ruler_ok.pngjiKKhg 22Nt##/tableFolderTableFolderTableCREATE TABLE FolderTable(Id INTEGER PRIMARY KEY, Name Text, NamespaceID INTEGER )X''qtableMetaDataTableMetaDataTableCREATE TABLE MetaDataTable(Name Text, Value BLOB )J!aindexNameIndexIndexTableYCREATE INDEX NameIndex ON IndexTable(Name)X''oindexFileNameIndexFileNameTableZCREATE INDEX FileNameIndex ON FileNameTable(Name)V#'oindexFileIdIndexFileNameTableeCREATE INDEX FileIdIndex ON FileNameTable(FileId)  $*06<BHNTZ`flrx~ &,28>DJPV\bhntz "(.4:@FLRX^djpv|       !!""##$$%%&&''(())**++,,--..//00112233445566778899::;;<<==>>??@@AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ[[\\]]^^__``aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~ e (08@HPX`hpx (08@HPX`hpx (08@HPX`hpx d (08@HPX`hpx (08@HPX`hpx (08@HPX`hpx            !!""##$$%%&&''(())**++,,--..//00112233445566778899::;;<<==>>??@@AABBCCDDEEFFGGHHIIJJ 0xph`XPH@80eeddccbbaa``__^^]]\\[[ZZYYXXWWVVUUTTSSRRQQPPOONNMMLLffDiaporama/locale/wiki_pt.qhc0000777000175000001440000002000012275647346016621 0ustar dominiqueusersSQLite format 3@ - ${e'' tableSettingsTableSettingsTableCREATE TABLE SettingsTable (Key TEXT PRIMARY KEY, Value BLOB )9M'indexsqlite_autoindex_SettingsTable_1SettingsTableh##tableFilterTableFilterTableCREATE TABLE FilterTable (NameId INTEGER, FilterAttributeId INTEGER )l++tableFilterNameTableFilterNameTableCREATE TABLE FilterNameTable (Id INTEGER PRIMARY KEY, Name TEXT ){55tableFilterAttributeTableFilterAttributeTableCREATE TABLE FilterAttributeTable (Id INTEGER PRIMARY KEY, Name TEXT )u##1tableFolderTableFolderTableCREATE TABLE FolderTable (Id INTEGER PRIMARY KEY, NamespaceId INTEGER, Name TEXT )x))+tableNamespaceTableNamespaceTableCREATE TABLE NamespaceTable (Id INTEGER PRIMARY KEY, Name TEXT, FilePath TEXT ) )#ffdiaporama_ptwiki_pt.qch  doc )ffdiaporama_pt )ffdiaporama_pt  I+ 9FullTextSearchFallback %CreationTimeRMV ) HideAddressBar-EnableAddressBarAEnableDocumentationManager; HideFilterFunctionality?EnableFilterFunctionality6)WLastShownPagesqthelp://ffdiaporama_pt/doc/main.html7+WdefaultHomepageqthelp://ffdiaporama_pt/doc/main.html#)WindowTitleffDiaporama_pt&-3LastRegisterTime2014-02-09T10:41:42 #G\4{9FullTextSearchFallback %CreationTime )HideAddressBar -EnableAddressBarAEnableDocumentationManager;HideFilterFunctionality?EnableFilterFunctionality)LastShownPages+defaultHomepage#WindowTitle- LastRegisterTimeffDiaporama/locale/wiki_pt.qch0000777000175000001440000626200012275647344016635 0ustar dominiqueusersSQLite format 3@ Y-U  )ffdiaporama_pt )ffdiaporama_pt )ffdiaporama_pt     9 tmain.html@Bem vindo ao WIKI do ffDiaporama0010.html2Como trabalha ffDiaporama0011.html*Princpios funcionais0012.html>Titulos de slides pr-definidos0014.htmllA propriedade Visvel dos blocos e a gesto das pausas0015.htmldRegras Todas os disparos  versus Disparo actual 0016.html Folhas de estilo0013.html&Variveis dinmicas0020.html*Interface - Descrio0021.htmlD )~!h)) tableNamespaceTableNamespaceTableCREATE TABLE NamespaceTable (Id INTEGER PRIMARY KEY,Name TEXT ){55tableFilterAttributeTableFilterAttributeTableCREATE TABLE FilterAttributeTable (Id INTEGER PRIMARY KEY, Name TEXT )l++tableFilterNameTableFilterNameTableCREATE TABLE FilterNameTable (Id INTEGER PRIMARY KEY, Name TEXT )h##tableFilterTableFilterTableCREATE TABLE FilterTable (NameId INTEGER, FilterAttributeId INTEGER ) !! tableIndexTableIndexTableCREATE TABLE IndexTable (Id INTEGER PRIMARY KEY, Name TEXT, Identifier TEXT, NamespaceId INTEGER, FileId INTEGER, Anchor TEXT )c))tableIndexItemTableIndexItemTableCREATE TABLE IndexItemTable (Id INTEGER, IndexId INTEGER )x--#tableIndexFilterTableIndexFilterTableCREATE TABLE IndexFilterTable (FilterAttributeId INTEGER, IndexId INTEGER )   {''5tableContentsTableContentsTable CREATE TABLE ContentsTable (Id INTEGER PRIMARY KEY, NamespaceId INTEGER, Data BLOB ) 33/tableContentsFilterTableContentsFilterTable CREATE TABLE ContentsFilterTable (FilterAttributeId INTEGER, ContentsId INTEGER ) 77#tableFileAttributeSetTableFileAttributeSetTable CREATE TABLE FileAttributeSetTable (Id INTEGER, FilterAttributeId INTEGER )f '' tableFileDataTableFileDataTableCREATE TABLE FileDataTable (Id INTEGER PRIMARY KEY, Data BLOB )t ++tableFileFilterTableFileFilterTableCREATE TABLE FileFilterTable (FilterAttributeId INTEGER, FileId INTEGER )| ''7tableFileNameTableFileNameTableCREATE TABLE FileNameTable (FolderId INTEGER, Name TEXT, FileId INTEGER, Title TEXT ) / CB_AM@;?&>=kM]}Dn.3v OZ$*`"b)+AmCnk^g8#b9i#\6[evK]nʃn#NFT;g_b aᴉLqSTGg][.U]8 7.`b{+$Z17mI5RV5ĸH=e\+ӒTFc8PgJAI9_^٣lq>ڽC!3oyO3|_Tp-Rf\ +˸<:sqWP KU+00dXjt҂&)t 7up[qD5u=Pf-5Җh^d=LT(cݪ>b/2CSΖ (8h+!SgiKh9w6:K]lm~B1#W\fzC lh]CYCjRɱ}[6TF-fskX3vֽgn[@Ϙ^%e~ %PPWi\ P¸1X%lNcXTGv1wWmAHjls}4k,eL.P1:̗ͣ?}l OCک^tPK$NlJGGT~浣4+ͺ6| Dјfl)vD,5jQ{04Qv Ke\Ijo# fD<0"κ.ȋVףǤ;V)GN8 iaz-N-ɮf1o5QR IÇL6V1PM?n YnjM/aP Mw[70f."i.%5;$ϨξhO2Rƹ&*P)qՉ zbx8{{ZsR3@FV.5ZIf#Ӄ8rZq'xp-d6=lUv#tkJ+ࣉ=㚭Ni[Caj#K8ӉOe4+d>fQ>Brl,7{B 20Ed) Bd,7dgJ|U/ٺ9Օ^22*eBnc>l-.'!P BMf4&qJ T8UB PHO(Hv:~h͂hc}ߒGE,'`Vul?)!*d ";4Xq\[{{ib' Ţ*r(lIm8ޘ5K4ƒ,EC~\ 5DpyNa~;C#E8cx;"788}Gc0.]߈._(nĻtChP{z9x!WMbo+3ϖS-" vp0fx[nF}Wt؀,Y`ח{X6ɖt7?mT_&E6DLDꪮ˩S՜ﯮ/o#ewg?K}>)WN~uv'xߺK+m!kz}Ҳʦgk [U&UťixY),gĊ{{Hk#/7?jI~YIp?Ĥn&}kyٍU^;SY~cZc a'4 ȌZ,'䜮5[sݪKUfMv sZOJW:(Ҟtsz]5ɕk^0QQ,PZ}j 2`;rŬ(׊eZUjEwEB2̅a{FbY#(~Il*+\)h>̪yw/[ޙ,W̻W\R@71_Wc L0":;븼d[^}Q/܋3*WK%)wpFf|1g}|տgu 7L؞13>l9R.G U9QV5"Ediʴ&\2#V((U%jv<^@˜ZX+#Y&rYYުB> VXOXY |аS-7~vCPl"WvV[G7-äs}-%}( X "X;֎BPT'dߕ.gVuvk EiBζF5=7w6wfVü .?7UhA<$N ]n.&A iC&Hw^=.@w[Do@B }c}߇zsD[_Nvd^"6싢sB.5}`Fo;P䙖.8"gV7qkW(m?={Rivޅ?hyy 9eGӳKC_DK:ywlRv^BKmwy}hfvkN7XJf5`Pٖ!Co vUm_ӊ y9PKtw :գIy 5eڲ+1=~젗H[䧷i!iC?nR >>8tPx\mo8NzƎTi,$8~̫$*$i_rCJ^,;/ݕ"Q|>3Pʞ}~K*M?2qbJXħwbEʚ~G7YuKs!׿TN`&G&q*JI Bub)1qTHP'-$UEpՉVW_#}+iw8z`#EjzfU_,%3EBEc8ODbIPpD,N;adݯ~]*c{E pa5qQ3VY%p7m.CB ##\'֜:'lT/N'5"GP'g^x![DϚ\?Ӈ@OAf.ぎ reMs+cXs@z[S >ZфSmnS.J{r) I>m_G h%BOwJUuS|Iف,:PM Qc܀._rY9|Cu* :&!Ȟãc'o#>z,:%@D]U!AoT<̝Mlp~Mf`<*}^|H/ċH>/DIND~^:=|^T[+ (|"ThN @PKU7B>oK 7-;s3k`hRw\9a5f_7p;> 4>@M(0Ɛz‚+]Cz(â$mW|]uwiP4!ayL(3!ԟ_A&YsaεPmyJ ynv8;k+ȇf`kq:_\TunT5wG&(M޳n2 ;m> sdK*x m7&d0;9*`!DTZҁj`P:u..ʝ͛_ -gx~]}Vvo$Xtxv}SWեAa )~z]x1c P{_:E[EW]Z3,/ag?( ,@9QnƎ2 icd$WR@{ŶRU)~`0V{DJz*%u2ˮ`-ҙڅ c@Gto"j1;ƆsK&eءBTds)QrO9ӼJmy#@}_*\e4,#բϏicBe??v&.쏉%-{$ ;07({~!I;rF*»=2ze{+ƨV*Bnԣ*4&u?-qXs pv?a!HwB sV.C>-¡B2[Sg.S츏xR7A縼vvMutLLHS*PCEb VqއuL6`5T*U%BOhKJͳFTNurzBF2+KJ/{*:%"\j†,t[9x2G?.'IE!' CC=SY&XHOg.D[~QK=SPANJۤR]َ0JYf,Yp[%8P8d{Hw|+V3O*d&GX8:%ƞs[wQyKsY$+j>O vYv`D xVn0+38k:,Ⱥ6v_ P6Ct'OVG(L| #9{%xS=SKb7֦uo"1djL/˩Xfk?7v3V=XҹpIyQ9Fm7uFqܧٝOqZlWmXOcF95TUIljJKcАaQTLQ=bjT5U$Q4ഒ8(,mrjr}[ J]~FYz5p`n$qRbGp霪O@.Sk|"%YEu4CHL*UޖkAͪ$VQ0= 6ݬr~>K5J Ev q 1X8دnV5SC3:C֟,$Sb~G ]e;^15Xc¹BU%z? w,c~1/FDJٝ.|Dn>*mPGX1v~ ՝q f=8Ԍ4N>1T%eLyv,,~~8~< xWKoG W{Z@8s*pv$XCsJAҎfȏǏwo_y}h+~ݮ:/_V;2lg~]@]J!f{fJ)r:t6ڕ gSگq7ԏsǦNd$ym7^M7%y)W*&*_ UHȧ-~O zh>M:)54 F(=~>OZle)=2,)Md C_FW߅%&?rOD@ԱPp1R, p1^*.)ܬ޵NjթM3X҄%mtyX; ʾVX HʨaF6~>DP(wW{r%d8Χ58܉Y?6'\ $S *jx]mo8~AKȦ顸nSlzw ZRJRn_3Ի,9նFZ$}_\_+6|1|<";x7|uVX 1}.؄k͙l %rS23r vDD1oε{w/?@ c,酯q1)÷! xYKo6`u04A=u=-Xf&R-Y׵w"ESo^ߌ&O7N`\I$,D.?09/['ս#d(FdA Dg37>0fE7y8-"p.S!>p/9Fg57^W  H1ZI>Z?ȵAE, 7צ)K 3('u/E#H%g"~Tp2b|3C2s1Yz,pB~ xWn6WZ-ǶLM颫M]Ytr!%G?2DH`=/>V4?l‡ȴMm"viRjO'WXdXu-W}.r:P4 %XJ%N{K@)гxg}h"h6c⛒LmYO?JH[i*gҐFȓu8wTynxwTa'rLA H:R?MR!Q|<0Y>F%JՁv!R NBthUrT_6k|jI-%o;DvеS;0Լt؁Kģ>@nc8ԻQ٭a>xFec'' "nBU8 md e:k CǸr'> +g sIM)ir˦y2}E Cz}*jq-YR9Vμ LZPG[ c쑊/:ţ# gn$۸teHZUYCmŐ!m'b=foq Eͬm/ü rӷaP]V_0Epݰ x=UZSB>aD)e||QbD;m-w,Q?&w%M,B2|uY F -ǫ8P BM?c.y ^lcY: [M-41_;#=9G0\B9܆?(J7?t;}~} NE9x-\#$6d52FݶaqlvkR+;º Wbҹ z RqO)!5ҝ7EԲ34YMaeJsT,qݫpq0ȦPTN)P8Q{CϢ5vfMwhƉH J|m~_H]-Oz#ǿ?)1OI:  UKblU+ΫĚ1!(v(;"u0+X-I_+,,0MؒT!P#Qy`jB'U\inaځ"-y*-D&Ԍ (Zdf鹰z?z|EXWK3aHYT>f7F秞PJWIsWvlИ4hn!=(*ORKܵ2 = jH#k[`2ʮ~pYm$х+ۭ|Y z3??j97Mռwxޟ& ^]\$,k 2kID_FXs49fPs: Gu’KxA| 䑨*^nx],H3tGm&k׷*!z(EJeˡ+@Xv⡬/[,_DYZgx}zkI煇^]O .q^G%aţ2"G `Bvty,)?y>03FA5Lğ∎G)G#.=*G&)+gxdx]1>q}ec̭V@5xpsRxs㈽xZ|-b g>(C*d't0R% ?M30 ODe(?XS3%L){zݞ 63K% H<uxFNP@Jd/H$&;>:UA?ӐK1 O sUCOIOMF?͑q%}4OsR4J_U<1fGʈL߉ɿ/_X.Ns-xm7{{g܃t<`LXy:vЫH`ƌe4Bt{~]+hxwǛ&t By{ i,XX 桧04|DI%.OT3E!/'ǐXr 8FK^3s`*fبdvUh,} lgc.M@b-0CVNR"r)+y:: ŽmbzF e8buC3 a9 /\SBM>{'TX<:IKlmq6k#¼lybe/iXKF3Mq-#]fmQ陆_60K S#1# P00kOwHjz;XƎaӬ$n/SވA**Pv ӰM-a*B E\rNO+GRHg٭1­B*kMvo3kx #E9n"{7=rwe/" {'*Yz= M=pj5 YwwȪr0yh(~,W؂%h?Ws,[ye<[Bysb9hI͏RsZBQe4zw#B#_6w $u_vOc0+Bo 61TaRl] :khgMB6DOf#Sq*6zJk1XNhc}$PiDoRDwsۙhi#=ʫ7/򶹫h.֝nafMd\ oEþ䄁䋿L)2nWP8KrcA>a0OJwRބtf.E}צPHp#?5,a.}Tk<>DWP$;(h#}=S4a҇Rz&:w12&^ K+ XEM&_}q*{mV^:b1U| 4Di}dyIJ4KiVql޲%nG)3ưDfzpXi%/i/;py8c&T~*,Zxxms:"toU Cѡm"Fa=U/#L]thj1[-ŒiАTT9Ȯ_`#ׁE'Yj$23MB%xWS)t D\e',hQ؝;JD+Z=(sHВ?yP3%yo1oǣP?% u`/ϳ˨\5&FfBrTO3OiIгdIm 8wnѿ2C2g&<&lqtۼl_GU}ѾeֽgMm(D5ÄfZ%.gXآ e$y"L& U-wc+.O#ϺX!0i  Sab8ZNPHJB%" QqtTiL `#% Fz&$yԙ@~"ѢQ-AA0+&Nq?ٶ\pYJkC:q$}r,x"rm](UxeK>F#=w#jB!6 G |/jD?K%8F nƟDoセ5\)z?Hso?laʠ.NLx@Rq93嚳o[ac8h]J 5t#yr3H@g2šw`ziS!N`ojVw1 HeI-f2Ku~"tHSqun'{>OFn_;‚*`wFx?p\b5>_ VwZl F qV^~~E'Qrfb'D Pmw>ՉM~GVV@ՍYSًޱ kN:w4wbWp6R-Gwd[h͙KJ>xՄ=uؔyb`~JY ߸DOVB:wg? R'hT C5'H;{d9W r̐Ң#o͒= faabt9CA~.ktx ">m5o֫j M}ShX>R%_Fc}F-Q0.ݻ >R'bP 0T'àٷ;;eqD˶jvoRo8XiSѣ!&p^kƻɄ3x]*7>|K0-vZ5LEa]f@1k 픭D NVl/ig|@ >DD7F#DrWHOưC`!x] S}jS0Ҥ*@lPn;?TP0b8{]&ʁgN_>\|3$1\,ހ 9##Oa='KeaϢ;eM#T ͖zwb7RL5ƋW(?bYl9]4Zz6#_7yԓEvGxB,9vu_~wmo./e_0HP`ۺO sAih*hJ_Bmc:![O9zt 1,QY wrַ5hf8VςGqZjx%t6_s4|؈Fל#_t$y:bjfuMљ@tͨC{#dxdEOrSV[:t9dqAhvDbW6sxCN{:e6HUTVA_0G)J?:{}A4b`^ 5چ35~x{lKf,AyrP3qYC# = Ξ6A_gڧkŽfk4]³RdEOō@=\Ox3(AEYӠQܽ2FΥk"6do[i{$~)5FS#/DVxiSh1,p> ?i> >>; zlx]s=FR㤙V_3%J,Kcn@ 1r_]|>IJetv O'uyJnTs!!GHh2?jp SU\E PH2B9_yxh+vrZ2Ms3EI u4PVP1u_J.p4 s_فo٠\)U{׃ 4xh@su#Vē_d S#0!XYPK6;#>=7oU" ,`$W<5g}''a F)xZn9}B%'][ qc#qاMILddkV}XV$E/Zl.NUkݼe'W?%,ԙ֋(sѫI:R^k htxY=r\E,ހ->޾;GvܷGݽ 9yTۨ{jF@ H`dH wmg_"[s1"6|~_Ĕ jΗ:7ۇm_--He_s lH~%,33wzʮuvaAE[$ ~;-!KӐqDfHY$(Ȕm&,$< xJ#Ix H"\hCX} G4NTRBejP+NsI<ΪPIIV3H2PţM+T 4SIhFx22;AB*k#Rpp" 9RQb/B*T5ՔK 8eqa Fa3Mq1UL@SP L( K "ʳx'725Q,MĭdB|KǸ=\D0asCR@&1U@MdCS*`@DLTm lD& ^X'E"'t閅]4)֧ğJfL.{Qu!gOt*YCM2jj (IỲ YZyha⎝Rgf~1Ș8!]eS*:XdlyKCӡrr!+-R9W{F1Pb4l0F/U 4%yC 7W(U^{3@9Ira:݊Kg4ycQ]+v:>tu3Q1 %M8Mn>48R`Kb }HjLA6I˻5?gh+Bbl *gb;IINl$Vb5ț wPp*@!3+g\%͋5x<' 4 =p`*$xy&A՝O.d-Ë'?Ty'?OojS7=LH%RGh}f=]FJLRiV ezkG؍`x&(%ؚ,9cƨLJQ2Eo /Mv*WIMJ)p&Kװ;t҂(w湕6F(V?yj(rRϰK5v#̯ij "ZYJEAMr<*Z,_G9k::Q@e]v^B^O"=pEZfÐݪxU%O2MίN]ϓ'30/yrhNk^Yݸt:Txf F )(Q /މSlDSw WRJ%bm`wػBxn!@g>Yc1Ct4j:ft[SλyUL:dYnƃb 4H~4‚xKN1A;2qXkVNT *j 4sٺn2FpxSg`V39MY 8=n?4'aC|\袐a3~Qq%!:"@\}Q-˜bAנ^]{ӭXй.A~`LLRءs {|5F!"BڠOls'! 8EN[e>. tU#&l[ ͅEoMf[hNOHRe'Yx{N> d}iAzpTVqM |XR-8biZ[$KƈlKYG0+(8ۂQm0ڻ ng5 X|nKZĵ7cZֺ{CӐҫ _ulB=^ő\Z!Sa}ȳ}gTӳ=Z~vbu/;Zwc.e k]Q"C{rvuf'Iwj@ۨEhy->V[z4f_i+_O>}yms~i0yg*,uVt443}Ň3LB><#=ut%zmOܲBb9O m S}@-mjAt"CsL;<:ftǏϟ݋!9p /χ.UEjtߛWTF͔!<ܣj=vUS?XRhFNH\lW9^jSSoə/TzAҝ26yWt}>,=VρNuĞ'_?D9(ʟb⩵ǹ2@>O#%]-r/W\s}=pIw I(~sMY$r AȤm&݁zÓZ/ 9|\JWbwZ$hͅ: =eFhKO/1ݴ?_,}>e kNי3,nc Me]K[y+T + =jm? 㿑N.n..{XP .T&4(\d^%/bȜ+m}&"&9Fmq/t |i]/+5K&ey:(6&/ilPȡwǑbAqҘϡ|`Οl ԑ;˸_ a &o~ Nvrbt n,cq on@sLM?MXC!> xu 陀@_h՟-J\5]Xb |aAqEk'M`3MU{E>3_Rl S]oiݰSiq@{q"(LbjrCZKzIHCa*46l G;x`vNGOn'4*0o)3J%:Xl4뫍 ? G袋-P1jn%Ϧ:!*&4|%+R ̊%h& LR(O]އ}mM1Il ^hn#:˩؝c\gzIJ.{ K96Ha*^ [UFGu! :([н~|?CGE2kum Th?6ӎ5]7w}ׁ |w9 K_Y5l>ǥٵY(gi'诏Zb%AJ*l9aDZ/--54q-KvSVl*y}뺝3RG";H8S!KPNe&O&X>8Ӳ9Fk3[S͞4U`.*eH v}2zң<ץApeh(4CCS:GyW`LM_c18,n67ǚxtO#+*L$Ef)NFRa! b@M_iYAX''2fjZ+kQ;ֻһYғpE }@ +"}#E'Q5٫:Z1{t 2#y y¾gEZX;9l!pv E6ΐ2d%dzyz:Mбot-4`!G!"  ѣB2⡈N`x1qDjm{ֻj!`U غ܌m\52|SPmGTša3w#%V(q+lt]cpd 7=|.]䧲feۓpxWd1,b){iCHaqmҗjpu[aWG<;͛+G̴%=OXM͜!,gL􂗩8+Sq3-WX<={@}-iײ%͙o4XF_\   ]l)-θ{ZcmeWLBLmA:ǩsYJ-wP R6v#e$;nؾ =׾5'Eldca>~NYW6-6c5K mFbvc`3pt^}BK"9'˜oM=`aq&c YIM ca8cYd}8MrT +VKL%T+m fu9X# Y;^`k JCEv;5m%VC{4Ɉ=.-Jg N݇.l'#6kj=cOH{yg5.} [4'>L|KѺ5oSga{$E2*cSzyWֱua9K;4F2} Fύ"\v穵S*c?i/xOf#[f`x-L\vxu*id\&Qu؏;LNd83d3^*s.Њ "?+܈e:xlzULsu@.g"s-jm*ko?d6BOIfJuRZUR@O^k0O2䵉|zf[hR^qXQCF;DW]э(bD;Ni5\;jcbI;g^..d-c\ek$Jġ?/iՖD &/QlD=7$ز87šZ7 82^M.Z}Ě0-s]N 4mӋroϚqȌ8V7)Jxr*"U^\5I$ Zz= L2f(o32Z6Jf(Lӌ$+Īo2)&ǯ̴GJ*}%]Z{SD&m"Hۻ I %Pi 't\bL{|\ܲǰ׏'pгVbn.$>ǔ0q1 K};5i{ݚo{ͲW#*\)w2t+zNO~o&NKwZ ok+">J1K.tNKo:!?.+@‘,tPkzj!fXQzoQ>wAT+,x7 P❕TM-eg/h ˹ƫ_w+@.&!d̡ 0v j&;a"WС.j7h2ؙ1a]sFD7;%f R>^-LlgZB:gŵ%t0$L~TF4D0*C&' jC F& dStؿZM1T :Ϫ#W0rI1Q$oTgϗb c֎0u ]#>R~E:1{(Xq2-U ym] Sl^?ߓaA#4%^cghyyCE욇+˄^*ՀE>2 lb In1nN+F߮Fol &I[RÐqhc٠C\Qj/{/ 7rNxYn7}WL`8ib@&\bԒp+~P\-+k;IA\r8sQi.QO4H9be.:xB4ǂ1 tJ,s. $WN&%܉vb7"Y S]LcԉԵ"'\3֠x̌\yiUħ\NZty]g"Z3]؃l9hqR*gh+Y }RVr7f,%ӏdjE]+aBww :aΜK_?G_ B3AaLa5vSuSGX_1oY-D ޟ"S7dfG+n ;H}!PYkJ%!z;P0lқ2acc#|XUϏ}IPj nu~=}$MR÷n8"0;d}=ȇH3/r @i2 9$鴁6o?<[?z?U@ϞҢ̝~̆CXGzrt8-۩VB1:hX4m3Ss[/$-Wn:Eˤu[no^Z.O[7{%N;Ћ=u[a{{ի:۝%nwo:&CWTA0.9; e!0i?cKAƜ^窑ߥ[_ ;nGu}Vok~ rqe+gu,Q teDǴ-ؑ!8:^gŸs)ngc{(9>)8ASÝae Y1>&_+$xlKeU+P\LwpՉ\pFQA!c/h*d2nC LvS&j!򢐱띶(:^ z[&&(XJ/8ol+#ǩќ4ް@}"I/`s/ n(جtUW v2b9rFb8z1az8xLƅ=%^X%񮭊O΢3O] \v `'LJ6I83б O[VTFsݧO+{;vJ3i43ՌUe26s;]+kiZ52_nT e(N$\VV_ð7(O .*.qfxYmS8_ɴ3$v:ya&ARSG62~켓 $/lgJk~; ˛^ Y . <g=2рEh ة{R\(~;aC`Yn*'Ha2|mf W)$n0 trLh @$,a Xx*y1TR(A&&Ȓ;)H@i$]J0΅^ަ1a.{niG'9q6Vף!"W@bVEuy7UR(=[!.WapuO7`FO|/s裶"dr#K,'OY`PY! Y-0+$ǪzO#u%K}n}:j="6 &*Y:BuK ǸRnBd%k9[ŀ|SA#{ۓV܃lz{j! 2 /RoCѿ/ݵ蓼 :p_0go.!FBoCvkJ8qC~sOOh*Ul%:?xP;do9E/.U 4nn{7aӡ8In[ 2+ѾDJ*Ÿ,EEqj$ߚO}R.LO^*U1w v2"3!}'`I蚨;BS!NttșhJOAd*/$T> Ag'g|#/z> B@F tdCL@9vDL}B,@0W3-QBsH qpz]A Z.w5*vɄ; (#wwߕ܋T xtakbn 34o={ [T)N1ynK¶ƒ?|c]\LfORqf%ߩ6 $|0I<~`Ђs}tpK7<ب8ۛ:_L*'<>>:Z,=KY繅?Ns |FfŚE )),\$xZmo8b.'Uw4/XJ[vqT xV8g'p,T[U813JNo cwUɚÕtЯ6fPZxXmo8b+Uҥi{ J9('tpzCjߟ-  ۱30غ<7A\IHҐ]ׂ1! +i1.[KqJ!&fZ׶,e6d~ !s~c=Ri=;ˉZ^ؚ/9'ܱG\i Nd8aaJ/%EdȌI2c"ˠD4gPkQ!qYiWѝ͙T#|nR(F%|4Lg3mf Z_Ze s 5#K!bz_w_?JD/nXn󺔃7|tYoaUɬ0}Mu1<5DS!}\ ,3~Uv\ƗJo#@$Zߑt}kG%9P7 Q<zCkXz$$,%S6KwKVko]"م[s4$Y)W$!m[ $!V7{4{XYi&doGá=~=Cl܍{kR^%FG'{k:.qvzf_!xd:Y9J枎Յ[ H^i5,gj kg3•;k鍪>@vZ8NC/TtAv=xwB^Jg4Ejsl0ÿާĵU:Rt)DzR@t 4èUp\58^/{Ni]ҙaCՀCNuJkydE],!C61 \б⾁+x @F cDD 4DO"lfXD؁fE%Ƞ:o``{羂qZ[PV XQ 9-FRBA0,Hn9 _e>W>z X:mB-e ;7g32AIc.`ud4@ 2g;V g3a]])9ui ^](2'E-9ـӨe\7=r2s+Dv*շ%?pv#UBf2[Z_CE1<n%S# .϶jS4ROTg.X??ۧ$yDnFt4nҒN:߅J*Y5{J: y^^ 7K~Fkֶ{vD6iS{s*kź;ӳ#0{\ceմ1Y*N2 L TV,Oo: 1n('+ .lex,=hŒ-ո3|vZv*&לYۋ޷z3*vT8qR8X:^V a,_E }!d4ޡLf?Nbbg/FЀhnz/ (+t㖆OCs!(5\:0]".EI>m{9&g^`D=8UL-Y{Z<蹵m"Jv>w$wPr%{g\l٦?`<-~!F~__=-qm`{zr+rFCudЈKK{{\X"Si ^@uZ9 Ǧih7-^=O}҅ rK.u}7SJ-* ]>^Gxksڸ ]>0 CIL۴۝ٶm{Ga Юl9Li9LIy4,N !/o{M(HUEU!FJl*~"njGp#;>74PUi%$`dRO $(H...Fm. ėa65Mc43Wo_+.ᓫJz|Yey/T:bLV9!%ѐ]UhbR<Wmnj A2,|jņWO͌|ɍI5t_3M$ыXXq~9L % X8 IX UyTks@{2b8Ij2%Q~tqذ*?@˨JHՈGuG:^3Yi)<>^} !:U0l_RD~Uط8^+~*\<?kZ@ό,p~ˈhE4Oo ]zG3#W[vZyRIV+OPZ#7emSts9\8 bs`s6۝*T>̨qݤan ☊(kM8H$RdK]H j5.*踳b<³ X tǷ"6 z֎)-q3JNӸnz2I*gFc}Q9Pn\k= :\\\^FW$k;{D\9iGqy#q xXmo6_q#^0R7q]la至tPFRv_dײbg $M=dϗ?B^<āt&<xTn@)=l !bG*ڃ&뱽t4Áuc"*~fɋu $iK2LYI*¼ wiA>oυ)8riI„P4H88X[}q) k@L *tB9;eQE7)˧a[Ql%=RW8CFԔ2lBeKIs T|*Q`2U#kGE~k9ksޛn'o}sysh{"u މŀ+[oYjS[K8QQb7J3a'>CCBݾ-F\tMM.q} v֧L+**;X%`?|rn[weJX9Avm Fۡ҄0~8znqǠv;ȯ{K8[QȲqx33YLΥHˇOk X;vڃyeܧ n{»=D*π('LfuI31YUrBJ 7]J5,WKm#'*! G.Ɛh,v2Ӈ+=r=-VaFVS׳fE \M[{dXw'D.hmEb-6 Fs޵bB9QOs{ҙ%ɺ[CܴsI0&%IYb  /-1σ]h7?R T6W5 wC"S#pccr]tj3O}{:{o"nĶt 뉫\8d! I(r<@'dJceR(xtu%\ǰ"Iq׫g8 %N h eh8 P",!ob(ŇSB89Ti>‰H'S@d9\k3YX"G*AQ%'Hzҫ> _]4cP.sJq?T)uO$ U&m_l'\˾ˎx_O|a:_TIVz攔 @%ZWe}0U/}}>t#D\G][op}8RGgeq֗>#X 狗 k!hIUv5`Mpr^#ʧJxkȮ Ђ?9Jށ"6ƒ'ɑG0i`h(wԛ: 6.h.z 0uU]pr( ,壼)ByzCm|zT"b\ZO |vW̍#>on ?ܸn (aF xVn6}߯`UOEQD\@ }*"x%ْU>Tb9sǧXJ| EҙIP,?:xdxX[o6~8Ӄm]1rIEögRxTMo0 Wp:  m 2l;22h,Wn_?*c; aزH(oW?a(*Jޖ x;ª{o }Z7%zg 6;uhpHO CA:PJ-P~]}L54sJ08{C8Eܒ0ZSgX5*ưnU t)|xwDA@btBzϬmJ" inжAcghi_3̆Qb#K&ES|t!{C$fF(cQ=0-dXl~3QeJ!\*6+h3uJ LWg ȇRRcԶ*dcC5?i'j1m9?73)RzَƮI22:li Jי/;RΦ)Vxtxn1HSv48"LegЬGMϘFuKL=]A_}_% ƶ Ose1-kl`DfC::уpM.JҜY{"oVwwȻoq,]'Z!eySwkmA p-eR6TsR jșaa<,׆l/8HRt sYpBonv{s99 7\>BG!Ǡ+p^/"o `ה&o 72,`[iԥdv,A]!EZr;9av;xhr}\:cfH\INh j\Z Z~6C),̄c񗈡WVZi-W-bZ ғ^1HQۭ=̀o(r#cp85RkڐGȴOn ة؉HRi[p2S`ҺB=-Mڛa3av?$XAfBޯ~ KIO2*W2+6 B(cDߦ16G>KM7,"OFٺ2s4Kb5/R*2Oo{C.u`x_Ϻ]{w&LriQ$8Y+'*i;(K3F5^c'm@(TqN-m8o$2)\ >7Ӡ-[5k]aKu#ڕma1ŠFeb#v™`{V ''nVav0_==BI&{]vT]);+V̻Ώ0XϞ#ӭpk>/)a,[O&.<bú(~EX#r؎tt邽TR'Ҩ=I8n{l^Fa?Xu\|I Z/pux/Pmه[630CŁ@xƢ˞W_#"9~bE*} o[?([:͟V9fs'J`+2b J"Ц%zaeYwh D[K nx[ NtCo.vC5f RU`ѵBS t6Ha0~7$GZT9rZp]jDefz9A5I'zLi|#YhHoS3h:&o!po7:ŐF|ys̅Lf1ѬEZpAFeT\ =j7Æ AQߢrD-3UFWRpa`Lq 'a9(=H[Bq?_@\fh9R鹸Hesfjm?9 {{^E](.Ƿ78-lKܸKEOΤKTv$*}%?../urAUY}EP9H}y@۾m]2xmX Rk6z{e,,2Y":/hd'N2aO|4Ɲt.G21l!'k{RB lxn&ܢ28r43upguOIw,sr{&TR2ܱAt,I(4}Q}Izp fгxe/U =<%+"voȮ広|J#vzj-R?0hR˱1iIxص_|6TJ:!`iGk4z`".#F)yÎz;w?׌,ϣ%Y0ոvyz>(.duWD_4rm9TaCej N͎~?he1c 'vV "?7ѲIU%mN1N#1!Ota0K(uu#J qoeVG'%>K>%~\ mCK6ʄm5 .x u¸ RK IIq$Wjn"B꜒cκBwUCc& OLF9DIY_Kk=@};+jYԸ=<+.oƍf@>?yfgH ~nWjCL@$gH00[lTU&iu PbcWݷD4Pbj/Uͻ{wN i,Ge{iZ!-œV lw.^cX:TPYSIz2BsXQ1,s!y0ƶ_p©%>.6&!$Y_ b*&2US C4!SrB ]U5(s,Pr|&uPb!%Gu? kSo[M02=溂1Z)(C~Aξ)I$T%4x0AY "8 L(QOC:wPB-hA3˗P62Fqt _`nj]{D[:y-(R|.b5`*DIxJ4 iIR*Cy-4zuSoa+V8V7".U?ẕǍ}Z[JS $RS˷;PkLoD9wwvܭڽ"O$H<6B*{/v1>_}=NǩJ69N;vϲm=&!d.8C4e'>e,iNROxVoZvx?OvC$R"wzWv= >Ayo9-S^smO^h}Xm Aޙ?0(Mmi6z.:ɾBў=( smZǀvдPݡEUA+&ettKv#]W=P 6${uH* q!$M} '}wKǀRmoCwBХJlE|=<4v2t(ѼA B ioXjr즩:<4_Vx9UqA^NWcܥΰly6u4MuphM[pumA+l;g>2t,m8thhIV٧s[#9"P)Y)EUљHä%K]V˷'dVwrNdX%G{ 9s9q&eB#W{)wRF1luUyVܕc@E=fޓ}v7:Lx΂P9O󣍜;A0y~Um󏅘m؏o3Ѽ3w|Fu,߾h<~%X&KXpY,Go@hCco87bj P+>>$C{HFFbRgk"*9>X u ׽E7 8)=7Rfh:p+ }dSitw|:y^R]ֿ^@|0u-혏nv{ѠvKQL7/:BjY5xQ̃T IG{`cy(D=sXHn:F~ü9Mx:r5YyǓb*ED* fD%ZN=<_\$ Ah),F ;Je.QW,1/=4tXxBRPdjSo g]H0bTAo XR%b?MJ/A\TwP9A855X ˋIBJ3l}x~<bdPC"'"W8 I=OdbnHSO'w/:sWWe-xeTCَٞ]t'[Ļb 1\NeZ$ 1 (jkZdZ+$4|\QlXTw$*g8$* 41i/Z\(mBJO1kI!]+X' eԼNoL4f@Fí'c䬂119XsTD+pa)SI߬Q}* /Zxr=[bVĪ4)bC݋{a(+r0DN}C3:ijm=ggz̔xAJ?W'e|t%jvv~炫'n[ Tx0?Gv~&% R lZ wCBx?8p A)w&QL{jp7])7|CrD/Bc,I ]2,2|_1r z.0|ΓlfHPu4[\)uʒE2ǣÝe:ks/k#';~q:_R$Y!6S4(,'"h[w[  BRe;B]Am*^~5}Ex tGÝ≜P(CT@iSAHd'?f,oX=Q,CKw_x%w5:Zח_0DQ2Cpbc[Ue{{{ &lvR{OiKe0"ոld܆"D35'8'p*!օhP첬ղqWg/1^%YL#w6Vֺ̉C=TMNYg1L96a$8}eooae!Q;[P.5`P]FF* BṈiЃ τlKB{1ê>(z tո9#"Va;!WEV`DrB}^%U'Taɺn! pLMנW~Fd'h"Ҡb5<[saY. ]k )wd,67_]Fί.7Udzjuc>"3ۺ0u  7c&&#iW.Uʨ|5 ޗZhX#QGکT¤4M2vG6H4GB9!8a'3`J06c6ՄB7 d 8;8?K878ó Cy[t=gVLUc˖oa.EXG?<=#u9o219#aDb|),07[y:ˢ>A w%T~gflaieYe/;ЪڪfիPpwWզR[~Q1ۉ_^TT&'d=0 Si:dlW bsel[lA- 7l+~ `_|_Wz(%6Lm]8LUO\2(8 9HENY7?z3u1f5qFPFzZ jW} ZV^?HL+IwP/R,vN<`Dk{ۘ^~8>`j{E!(L }l*괡kWݤ5bwVkOW W]S+ϰ Ѷ Df@jLM|CC\ZGˎB z>$(1hDŜyKm3?4XȜ%ċuu A/4.9.Wcڻ^}wDoY[!£dq]e42K!!գVv-߳v9yY+,Ml$hJ i{=[}ulPc} ^jC eA|Ӧx4E@i7 vns9j(gлF:ѮɩZQ[ޱvݜkkfscz"?Lݽ]`TX3%3AWb^ ܇ߺ6zMpb;0 ;^j:AbvGhޞr$p<<}5xﮊgDnIGڱhJ؅A/^Ͷ2iDpnrswBTZ=Ϻ/ex's, t0 ~==?[GFz~zf0xdF,kJ 4瓧;z rg72?}Vʚ3? ,if;筲 ]AVQ},8uAJ 9jV~Q}i&O>luH7]+]XקOK>zjѪ ՗V}LT8abN>:(l96\9)29y! ME(,O+dcN$5yGu Xxuy6lZ_V% Z WiaAX`SǢ)g͹t HKU҃'ʭ9gJqe"ZR}`}՟ҟQ%{ve,ߛn^MS\49J$D\o`|:~:;"1uW|Lg6958m7]c]?GSOpςw{Lov5_6O/gz棎kҮ7ڍjvsm5}1LK랮FSp#"Yxv\sNs {+.)XVENJtxI"BRpt 0Y+F&BEN}f*P!{[eH]9MŽ7zus2z`N`=N{H BNs<SR:d3{'wIׯenP<i7#E3eh GkK gЊقoFJ񓳐]:*xm3!7A׬氢0B2̹JZLd,EvS K{vt_ q۰dRʙ6&LKU*1Qwov|owlvGK )fy$bu%BݎF?U`muǖ=5bb4csnlggܒi% Uil%|V^ +rkveWr,8–[4gE(~i%p-5F5,X}Zغ+.59`@݄Y Mi[K4NzzB%ri5ヅR,謘&)8JCtȄ}Ou>j+ 8֣ IS\ѓb, ĨE{.i#pzI/,< FfP[vYQp\_]0yor%K+lHH,2Ʋfds脻 ]~yyrD?'3d ddP"$`xXKoFWLy)@[raQHq T#j.TlΒEI,Sz u #ld +cCj/]IN{ 63ٙAH*<~xGs􏻷vڗC|b4ÇĤo=3 L%g %YA!( imetq/,iA7G5αg䃾gy`;Z;II=*w@]͵GPJM䱘G0xjWJג"~4ȩgG f`=F\ Sw^8?WڼX7\sq(F&dSL&\q@ Akh!.Xo0 a62b?aƚoZLTtpH wfS6*;9=={qBƜݎvrU&s,Y1莜PSNT ,S v0$5܋~ o s l4Z;xR&< ES)6^w,Vk5bcpP?[ALLSm8ĿVH0 00h.+DvًN/v~;hɌ~7'IynqZ;j7.@0wM #K\F@Q &0{I:` Ba |bX8]K+e[0(ñVJ@bʒ I97qU'Y"ؔ\c TZ8g>w.`hzI&v2H&˗/V<c}էc2ܝ3^ S9D\u"  ~n.vmKqG{d9݃DgË|_A;_JN9F :O͚.TRܷn55-kZ:01n$TYQmGlƺ8異Ra~=:^^NWرA)mx-T?s?sB,XEo<`е*=U TU /6 St8*s~FСXuGZ͌DPG㥦$sEwjeE9]nʗɤU:>im- Ϟ"DiD!a3">uDz5 TI/5X"Wm1BD e#y;T]M#8.@@Z542p74dèd -񺯵JY r*p==9UۉB\Wח.%1 &r3Ta%Ԑ2@mZpࣜOUS@Fae{9U<Po"صG@)? x:c>wt0T}JI)hn!--y#xc+܀^wc9J-ۅ% Ea4]Y|RPѠ}*[61gq/0S%UE0Pp b$8% ;>]9?_7Q_i1fRo P!.GѺ؝ho,8R()4v^xKk6%O!g(th!g3YKfZi隮I֕ojlݚgs(sSu`F36iHK8@@,Ftx" _p}iV8Oimc׉-Q(7JpxI] mmEq3&=CB؁Q2t[Or9SQVJv[j졢[ךZy*s' B.ܻxįչ폰 cd"'DjV1s)s7nfAIEi\dU}+!k%YV~珉Wyc\VrHkG;V; )wvC= '#"WuemӠoo%WUqW{H$،aj?L,/gKu346/YH1/P.ljn-bL5 hmxN|em4䓍l!omvynNunÞ-a;=֣*ќa6&j霤M}u-GC?yΦįy' =,tv o:pWP$=ڽXa"|N۷ 26vvz "o1)ZW)oVS۠ON\tkUɣ Gt5  N sg י ~ǖ`oKe^ǻC*xTzJLrJDb|Ea!Q.c/);&TzA[Wdf)vZ:7C.\2W*v6@"wksLc-9%Y(Uf΍($JAOk'AЮ fKj[4bSVgLl 㕢8GhI/в odo/̡턊@HDM-зAY٪]$PH,ĬlTE؍){Vén_2j-.hB}TYާI\|^W{'$-+ku*I_ osi"L9)g9 (`Ƿxw,Eil7?7[?$KN+.'Shl[@l*jAXYw_]Xbg7RܮhW/-\:Jy[g#ZU!eeh]^oS_kY)OdΑ_ 幬MVܩ)Ź=| W_~|lӗօE ï?1c耧#0v| Qk#Jšx2!d8S=FRJU3;t F>"NON8gτ%t.R!KqF!,xnA%E[VgNCG`}j|gI)'ҿ~m_;O?Xea6X$뚊W +YmVށwX(,1̑ K~K0$dxTKo0 Wp:4{iS ؑ脨, qbX})_o7\uǩ3^aיQ 4='%bCϻU*S,hM ze%ǔIoF ˸‡Μ/u$>*#sFeޘ}8Ƅ†p0p`}Ls, dyDb2:9+D}g~_xyuy6F:p}_iD[V>"&):&P'(d5*#3CgU`gO(d}2-+%1!DԀDr|P^q JF8@>OzT))$ryKPh~AYB.H򵺝8J#tOjra]u+44!FMvZp FJ#:C"d*GKJ!=/ =N"&NkBPl~"]A]#NE}REd󆇔D7Pi+o[ǏK\%.5?TΘC& Rx\n8?OAVtgv@&M6쯀hSITIIHd{)ɺNēVLcsxx?^^gpF&:S %xWo6~_qS=v:aA6$@{MqXCu`r'bpvSO(>A QOD+#.JdFtvD|yŒ@%ԩcj#QJ1ؒC(K :S,t!.Q^pD&a9t=frI;DĦc$o\&[{ @RR/r2 f wumr[@}'oC} ۟*v=A$yሏ̏LǏ|C >w~Vu{ge=#w2".H[C"]ϝ#wwnO!P{G$ix;}&KÈhYi+T顸4"SV⫈ZHStʞ__"!BO_cVRvaex }4E=?n8Y]:ql_td'#eJX4tC#$qtj  9MWsYlE˫x<4"S$M-nτ[ƓC{D+Uɹٌu\<ߒb ᨑ1m۝Ĵ)E{0mMsyTAA[!@K ׊[Og"b'Tv>Κ1Q5CL %B5Sfg5K|F,2('O7_Fâڼ)]F0(/h*~S bwc@[~8nQ14X (\18 :pHf$DVm~ikICUeѳQS*/-nRDW) 蜄|;mlƦy1U/o$HbO+dl WMTfZV$TyH{]Yq8T6QYN@f 2H,_.JA'L0d-uQȻWmw?/1`4h~] 565Ҝ;nE0ӵvüBD*~s2gISInp>^ ,ڌ y!ylFA;F0\ |fٴP䝲rU2|X,}ѐ]%r l՟;>|v.?;~66F 7o|fQ~i[柀>_O,\,t):ճ1ucf׏-y+]낋\I⚯Orm>9wVT9X^`uq /a I|;9.v{L_Qu [kc_r?vˢ?Цжn=P/oƼW!U$h05@9Ay<£Lfg q2$9<y\3+8 a1)ȅho6 N'`:@ޤO)` @M>QkBo.p(T@6p|H]rz^]N#~)S&9W݋]ڈjR뿁qoʸt7aPrj7a>y E| kcKZ$(JE}lpdIuih%qYrmP ÎVވy6{zPq #H>u„ ),f F$N-O.Ȱ-ժMK ՙ͈ eu&3rD xhFѱ+?Wr t($' :-U-CX)B"ə_PSʱH.Cȁ6:+gA류z$?B bЪ C`KH9û3i0y2x1  >4K;ӿ41lR˟5Ch' q2u^g &:f &;dUdEa$my A@18JIQ.ϴ*@mL zԱ)#+ ]Xӝp44su!^YjD9¿ '-Z:YY}R xKe(D[}'/gn? qXcTshWjn>~X`¤jxeᯁݺ*7QEw9/FtHe6F ~k?JPߞk-+)} S{r^sP{FEV C p+imi]*E9 CE,SË0Wۍv{%&>op.#6ƏXÛ@uc74z?jV3+t^b+Ijřq!!S| :4*`r:ܸ3NDt7E̷2>v3p;E'.=:ѲC}a^РBl/`kP],;ϒ[fIbt1vI*rVzl[Į cE[m\a%) { $V*D1 EDG/C(=ɑj91ox wނim~.8_DM>RBapGr\a厅q :Eɵrb[4 h{S( ikIgg?5x;Q\A(͇MƕPڴ)i,=#S!}>w/;ktFʏIs06AKWJ: 9!/cGEC= j[&:"ZXb-+ZYΌIܐ r.2ɪWG 3gy;~2]5X߷[3 JyKQ -(`9!^}KOIK9!f.ݴn#d? Wfg l-\38߳}80Q4H1=5 ́hY8 尜a,SUMFsS}E9Fq?k36szf.f Gɩ]$DYO<_jEU֎k#')׬8K\}XeIn08!v36]\zhp_7<z0c9j8Zۃ=t=̀+X  pL➳nAy %ʺ=H;5=٫SN!2gl_2IjZG[Cu)t3˓* ?lx@45:p[S>fmYS8CC>ӽz7 t1S%kʴec IUP6Wu3Wcy8O#YE57g~kgn- ǘnҶY;R itg=?G]rPׇfG#zm_!rj΋U1sBݚ-TKR9J}~-/#M!xLzXͳ7lls6fiG?OFArjs| :2״ϵ:k)C}M{s_ olߋt yΛ4g{ڇj3ަANIB'U{ZY;S JްR'Vs4Db+޴Ci-޲Sv_029{s݀naẇngv,tY=7k#CEO|׊<-pΝT5ΐPӲ iA/WoL*<; #64Z'=q ZbLIMS7ϳYY{#L;l!o\d_P f,zNB%t ~hCѪa}F{K>S`w7?kvaޒDB\'<$ [9nQdA0o%,Q)֠ǭx&z .=!+p'7dmd?+wrXz]e9zW\k<!ܭq~N  )DjXEk!vRa%sHZǶ|`mQaU9O=Cإ`hE ib+f;{y.UN!y|3넯ęz鉯2NsD( CSGwaSq[/y~*Zkdb\'(7LJ?fvk${WGD>t;B_Ln71rA)1SY? I lFIp4B&E VGY*R->bء}!\dkѐu Y]֫JE-1aE7L;fUcQ15hL2ZaT6s`dWwJe]qv Ra4ylWrgɫ b͡깦@e:Nq[Mt:ꟙ,7Et9]&ONGSvIBv/B=Gf$FkI- F\d$&7`B쉹N]:@/n\or0eJꖎf)ݯ]HD : ǴWf$I;|48aJV\xԧ塣^XUu7N#Q ".~SKڶM ~[b[Aѥ<ÃkeMsW/\?c7g1nΰC -'잔uu#p͒d!r_w} RPKkL߭$^5jITjVG.Zǹ.96(LY~nbӘy)DZk1*aq@#fSYXe%oo/߽=N(9I̋='lLbdV$d\$!U(b_`Mx3ՊE > yl=t)k-fIwUYVS 72~A;P;zfiić! r2߆ˢ7-5k_'5{tY޲:f b15st!9[vPY4Y5.ڷț,kJCbI3?מ ?)Eyx\Yo8~_FX} xs4lwٝy hlsZ$c~VQG;Q=DYUHQl0xÀ1_\V(0(x=ks6W`S=k[N#3㸙ɶ"! I8$HْeaKppo/n~:'$ ^#>' hr2xO͏ׄ'+~יO%J"R O<-N4aG>Őʘ!K(|9JX v #MT,9tn$c|v2%b6>xfLA1S] o9!%7ѐ hLt xp T-`jX2 ]@-dyX x$oθ>1~@(nb"HdF~O oy\zGKAypXF | Cf 5'V,DH x|j?/0N8Gܳ*`)C[|mф>;P")@8Pz8 oW@d,vj$H-.%V]G C#LcڮT!y"8I#NA3_ \V`8dd 2CqIS͹`/堾&>/:1gٍA>g!)67c*:=<xC'f.ղ@D`hF֨йE Vw`"ǥv}qWB\As;ٱg5r EE^>֠kV˹FmRIx_!X$PEl̤sU[f\n^*9K{83!3b>, qn5$&ؾ$< HOA6 ~lyjbQXV(wASOV;%j D)!9& ѱ@=F1!~D6UhX[=}!c{ض}@i%Z•rm< Ǔ3HiްYLVn&kOybr,}. B_ w5^҈yT2Ў k W0";0r4ƸOD:EoAYh ^/z;3y]5&/UD#HAI rz]"ktneTN 8N 4G=EPx{cDN aaM%68e!Ue';K_Xy=Htj"Km' ;Ԙq& vQ9^!32vFz]hnj}J90.oDic=M~~Á?a&xjg7!4Ŝ= .+ֆf0cS"Ȇ۫je;極*, C0Jn]|fu5ۿ{_d 5(>)|e(ulR6?^81NOy\t͗yLI hn1s . '96P0}կ4{ -= Ǯ'++s UD˴))ԢBZ(bz):poaBc4NSz]|w_t0qR}vgJ&-}Dj-E-}\@zC(e)bq & 7AZ^}́?23ɒ%}o_gk_xnn[&iNSQZ1pӋ7 <* j*XZxM0+ j?z! =$@T/Ǔyy'Jam-+H*9hJx;ȫl 포XܭOT-]P9%vr%\t [ ~~^W>'1upJHؐ8+yb>*.AX U.\jiewHW"QSlX@Gtꢎ1SVکYw.NgˍNjR5< b5nl2x F1A3AŮ=ÕN=Z]\rZ;s^ &vb(+uGd%-D-ǐ{@"fO1l?Z&2}0$KmO Fq~Ӆ}Pb+7|O^"FB0i:&I ࠋgd\Mr61(ȸm򂋴2hT+s.OE f+PxWn0+X^  H^ $(COŘD(Q!)w(ɶH6Dۼ7?8W> c&` '|>B-^R9-R?)ȍ!,_*buQmp8KR0j-ۆ\m"O&1DZ6sӦhS-gG)k-m4OLbR.GiYFLZi)PLeEnOc>\Dʊ1KT3%LZ`D±%hcѵoGM:m!iZ$YPRB)Y`@U'(c=5"!Y0:ǃF65V"'JԚ*zr3qoGv]6dF9sV$>"9ٜȉE(4?E.f>4Z)Q,9 L ü YCM6Tk2 WHBu]Ca JSo*Xfn,>_wG86s pKUyr0KLCadتqҙT*3UmHr[LnNO405N,-@+5b`2)9k)•k]G(}}SYU*.qi.lB|VڌĂ#=iA[ $~5ηH_ڌ?;E΀?#$U 2-[U C\/Q oJ6 r1)ee@f?%p%6ߕ/hrXDlwA o}w&.xxNiJ6=\հhs[DEY~v[{~+NU a$5 ^`ۛkAVCZR(a҇a7g̐fh"_5RUH`06=ܾ*\uƶqnح8M(x`sȥNч.L)rk 2Vѕ5*6:nbz8iiP#;(D>B,m n6c@a|`G" lΜM' @z#{ޜTQ")Ⱥ~ع -baW"][zC!zf 0LBMLt'^ŷs%ʷ8=25z_ rI)Hɖe)v ]1!H$Qx)_~~[L=iLv(oO'~bxE< ^zk:.ɭ8&8zO #'S~sxu,5ڃõ.#.u'o/_MPOS!|?4?|w\N琬%q4f/$ύgi$_[,IgnFHC-&ɕ(t=,9\s<5sm^!=e)ל @x42ssY6اҤ=HMG \g3I9P6k9I<8Тe//8>%Ϣ==u(N3ѻF'4 Jt5}ꯑJ۹}3žףds,oHX P,綴#n,x@*nK^*#ø`e8nTO;bALj=pzX!?ƽUB8y?e" [s-Xz|n+O}C:qBV[6{>U @Rwʹ]yp4i~l8(p^Y%WrEBxelUC/nc!QGT:}j8a$ YIŚ3]$'"CjHAY ð`c3|]kDb-Jb&pH dU4H"Drr;̓u^4R!G#Go$!߃L0wҌH\ faṡ yLhcS.MEV+zRViȷ+] e))&y"Kd9M(u7%s113&uFG]Km\:I+@;D9F6gu0KM- @6}Jd`JU1TE9B)WQAhJxk(2#-.E&սGOJ MhepLAquKKǛ ѷ8M~oiL9.5p, )XFϩ9ЖF\gM0BD"6h##($Fcj⁎ms}<8x|ڧVNyQb\,nNeA5x`x{=jMe<'/Fhy1ʳct};F̨$<}| U3t7"uZ3u'u<:UkHL}Lyr[(jOdﮯζcv&~ԉ.jyIg7/F\YbK* -q3yL(K9{YJ>}dhl4 )exۜ6xג_]uā|uІL3;߮y+#>} s'M#hW=b&05ZtԱ[~ߺ-_Hto&nT\ Z[k=Pz].ķH*G8w7"-ε\8W>k]wmk_뮭MZлZ]?DL5f\l6i#s華p8#g V@5tOZw۹H>/VkR|@"d R9N,*|9j[s49Xn p-6NRm^ٵhhزtJ PjSbeJɒԱtK/ڱPO$d+OZ2mꋯMG+Q7fjyӃGOsW] ."ܕa [b8'gF id4V >B`(k3-]1-a 7+ 1o 15xWa/C݌j;A֕ZV ggc.J WxWmo6_qPc+-ak%4̖)$&GI)i4E ۽?|H']^]~[WWO\U@cUe-<`x]r۸ߧ@ՉǙڒ$Ԗ3Iv{jgg{ H08}߲OI JUtI&O׃\RÑ?WrVKKryI\hI' Ybt Lo"pj$.Лv7;!' j.j2r7 Aٌ2e%`TKa0"(h֘jMNgAҺO*`c\IgXliżdDt w4U֗~1C!ãl:sZrorjMnE27POKEceJ/#U-P ??-EX6P:"XQj(s t!akYYh[Zs&EuB)c=]_Uv8 aBO9drA9G*6sPf <Rya4{M__&M;lR䆈;J&/"W%>g@I(4zbTc~q.ыA>+ǏM*㿋I`S#'`%ܫ î=gpUP!ihZUy2-ܪR.Ee<=EFUOv9iI '@9:/^U)\L?ٷlj al5'o[}l$,'Ԓ%\Uݣalwt6&^2Z|̦(j {"Kœ'1JԪ{pjnk-ό#'d謌WoI]g ;d?kw1"; *i !j3Xz%`֤~[!M`)2&\YA]ցYgΘN2i2P b+w|BJ`)=CoꪆF]2MҥrI[ +ZAR}fS=;?mcY$L~wPuy;Mp}Y6)jX0_ 5@YD hMH.j`l;9wz@!*Vs0|:8+SW$|9G&M,Y]JmvRlZh 7 kX0cf]S`Hbe}D %=<9^S\2cԁ,djKO}텖WڅRԆik ;$K]^9Ek6&k[KLvCuW&e\έ1ov-bhnz vxK\).JLۀw醃k`Û7\_\߼ڦD/oOSrEq gU|FKL${B'[|Zi6 ? V'hچ" 2pʓXGK۵&MUd98Ȳ}䖵F\M"v% ҵ 9.紜Z>LX5и"E}IFU"7{^@DM\br#{ Z7ٶYGYR"hűPiߐq,֔b؀k@G5@\

a'Wb¨DQhM^YxgˢrֈjhmPҙo$| nOM4fL?9.Rpf%ݝ*kSok۶يC4g11V 9gM; PieuxlsZ̅@~8)1ń\,šm1O0Pe3/'OWq)8G|gAGCr%=6hԩJl{YE9 M) " E_?3$ xhjLhbN\+]I%>nnj]uN%ѠaC؀ I v6~_']aSU"ߚi԰+=ƁXp}o:o)\K.ӱt2tD{i@[2Ou`ַX2B핀2ٯf?*3eGIijoo?,\'_3-)K`M?F&5uO~+AeYSV[$nKI'd9 ` y؞_0&ָ+?7]ak=mS2a՟HPAVtH4(=_Sa\(TM]CŠo)SȼyCm>ufޯ{YPlPف6\R0(pǴPw!srO,1^-~VYz]6W񝉮 mdjPVZVI;ڪFK2z^?u֕+߯c1:%f1CWk 1HiEQu`HSڸ(|8nɍjF?BJ>BC5$agy9eցE8Zgv,k z' [C7Ϗ%$|^Li:t(#ƒߤH$o= VkB ׷NI.5ҕ+K`py]q;)ǝqcšN}6ߞVDjඩ0%kDp:2}wbVlIWLfx-J}{D,Urez2Kux$}'}y4}\y nLjXF谪fFϋ=v+k8Aô:帗 ã3SvGжUkccHe,g!'H{RN 'HU_A(l|Pm{b sA1;CZs5:a4!;l#f6&Ұ{ fn9Dœgi!3S*eƯfk"i1#$6ޅ%6ޅ&X+e{ }m}=7?{k.#$#,$)e 5E.f,N^'~mNa߀=bz9ogw^6o1Ev6D]Ǎ o d_-Ɠ(N6srZ¡"Ɪ[v&MUcl}zKMr}#Bxv-\t?mwP3>7moQ[`*u[k]1+WbV(/23_ϙRx" `tw~??;9̋ !/NBHH4R1}ٗ^ c^ tL>|w3h?40HFSv1 ϕ3,([Ԕ1= "R l|1?!~>ro޸1mU!Qi( 1$g2嚑/#"ca1~YS" FcTMˆ`u{e"F٣'1;D4OG0$QCE/zR䒳 @p?$ޞRAXx%'Y2)` PI~`g |(8%5"QrE4@f&y h%W@bLr,+j583lB{7D[` S 2 C W6DưQ %"+j`7tx%WfR+ u5& 0aEaa)$n0/2*11D"#y:>>ٍe#Y^o9uVI޸ݟ!*!O0ac}Jxߝ&$ToݢF^16K15}2FqDiWǘ܂d`E> }bFfNq)dƍ&Ƌ3˘GG!&V z[˪ XH2J#`k #[&TyWeNgdIq[f :0x[xUr0 (OuvR8];w&a %*$&_Rr#YQrq5H" =?_U%>>ǚ80=opGTv%c<kRA% ;?eOPA-=(H,tm_uv?7<>6&$4 w߮a U/qݖ׿DsbZ=l] `)d!Vpqs zg?U%"O[bfޣO[xVMfS`>+ /26._NgZ/$ȫּZh/d$d@ќLfY6iQ~.PjǔЌO bG!G Q2yN 0Y1^8H0\Z==;ޗ:"2/=xc>~bIMBjR2%e[>Jܖ u*4!20k@eȧhnIS17,OP0JU#@wbPlRWD̺j|x?kI- G t^; .F(!}9[B!>J:[ڀIzC|1eBOIƏ,5Mq G{#*\57E(E\c߂3>d.3P4.BU Ύ$("bs=xN'ԜMM/A&NPB!R&}O͡lj,C%Ɲ,APY_fzVV5AFs}l*k6߯J>QuԢ\P`dc:gVP_!rKvRL$s_܀ QCn^s@3K\22M'[2)K矨Le15NΞܠ8+gT$l)[<ޠ]\fzwY1V:; (<v6IEg<< rqƍg(HB /n/Rjc3V -݌1>iʳP}URDx3rI)hEENnKkT]u)ظ8] k8k# /D*P6M]qQ#H>9\w`%=(Wb1j>Eהo?e0"1b8ʴӱHy B-Z ]O9+S?H,G:rt)ٯodpYLfXLT[~BQkUBFKT~ǎ/wEsّHWoڅөOC~# WueERe8yF{QJS5wF+I4 K0|fR'{]V ⁘ VH-|O^M#Q6<2LO>m޽)}|w=k|d@ҝːgs ςv_TxoOtJYJ0 #SU L<1ao1VNhynE7'eXea1\!Bn%2Җ2te(9tw3v^ۥcL*z| I>O}wVH!w7Lbd{GVNyoE;6(ДEJxNɁnŧ@2Z市 ?cq hzic[>=Nyt؋(c=@gQ͈ `.0UQr`3X F3!71m>mM?'>d4ᐈ\8Hg(.Ы uu;cR^ >gR+vCNȱco>+X;0&QHs/szw#ZDWG\\q2yBUsaB46-k&Uv f"&ΛtZ>4d_5ML$ eRSa.,]<'!-ۓyY'3o݉\wKA9\%|*UXp("+nXzеZa.c\z tUS7}l4wո$Q3 %LC|t{$NH:h kq{,2~M7k-.jIݾn%4R9sJOۅM7EʑUaץuk++yuI0vt,P(XFTx?7P:iʀYq_T6d5 Ta/] .u]L'OKm  fv@4 D&*ȟ*-]Є://0>6N `2bd5:vRěyowrbyslP2^G_a3 kV:2 q6mȌB Wd{XOɬ3]vI7@d"BXKgW=Hʶȯ͒uBmӐ\!b g%!2K#`˛Z<K "Xͤ/UЙCZ7LZHѽ,yitA3E& (W xn4 gFAQS5vQY$LRo9MVJ-cTpΪ ~![bڨW%L}b;2;!:i hyd4-Cwx&MneMNsЦ0(3'Qixn~PdBqe54!Ӂ ^ DIqP H.p\?kVCIC0H>][})Z<3ӭEψfS3w'F^YJf9P {I*5o2/ |y򽞦sP$_0l|X"M6pڲk,ޏ: k۸:Al u K՛ح+k.@-5 f1` `? 5B (N1j{ǧGԻ]yEjM rZLE1[[ 9ڒqKJkkLJy\YP}]kZo/r#h▕]M$v9࢛\(e4 j똖c^):͢H7r8_cAp'.vHl4ozV% ?3ٛaŶ).DV0a EӁFY0^wA뜊LO՗0׾ɂ[Pe0d:iNd6 ܫ$If nFXgj6m3Nw^yu],qƥX2@f4pMg\`MC{Sy tNǨH9])}(Qma5iSXʓD,ѭ#ALq%kңjQaxh\rdun``+!CwT+PЏ~:n) bͪFw˲ejFcD*r|`s7屎 áCfMSEAq5=,\PMke0+9?ܬ~+lҘBwt(ܣ**^)ME2RZSP.Wm_^L8OdeAc^0a;)% gI6Xٔ뽡K^d~H7@p@p@y+CS䗛$G,NsW-I##:k]pȱ^8 $f4b%P@@A%6'WE91x$ebJ h)8p}׌JI.':;wDէ 6UB[}L8cvH?lkmS}S:?!^Ee8rnmvp>)zkB-Ȉӻ/GRPrezOM`SɋL+{Sӊy+!%py!qD(6>piJigQPi)yŀ+ıj1n tHea޴E{Am*PD;V12rFdsYgbc b$zg{ۛՠ:sV\ipPjgHdd:[AAoµH0=&졸q@M`еz𽎫yDLc̃g4KW JX hY(7/wᄉh&T'fz?"N 1[X aǩԍ7H¹xh]OQsxOtc'Z8|%[Y[/NgOtDijpOϵ.h1_\ď/u,KC&64EWԵQ\˱vdJK[ZۦVOԉMxDvQv9P S@2&s ėPxuP4*55M^`Z\}V̟5 _wzuEXe?[FCG`ǯ92obTs|t=m?Ɔ S?!O |ѣEp-|]eW/ߞ;p 2JZ\||z:P;@ļٜbFT6pftb;w/8u{=`:30#lKӜhk|׈ " ]4" 3QКImeBI_:%uJ _X)9{H{2E}lN&}|<Q~e i?V[g]anB>pm}U5#jP_t|,RJO>g h6}ǀ%au۴D}S?eR-7挍H8k-u?9 }&D&sp4J%^wvG*{  v7{jJF~2 ɦljxsd:'ޯjU֊x $z[ղ,fd5^J!p JymUKԃ:S/h=z5{# mZ-+'~iT?/~"߮US$>(@D,f[q%/|(9 0R9k6%۵ٞK;h@P잠:5GkyvǗĠv4pijP-Ўʹ=3гw:X :S h^)ke]y-,`cmH~ͬEOQ `'c+B.U#2nGNpǘvZk$>1t}/rvh}_d)<"{^oO>?K4o|>6Yr0MY8CxAE&8yx!? f#'4 'yyT3<)lYdR65A}5^fgޢ}f[<!:$Ӽ}imv$zޏ]ɕ fܶS @'ON#hto]D]ZyGџ6ՏϐKiw sk#%S~=L68Ljw 3 Go>taXO_aa (t669 kvֈa[Guޭ\$YOegړL#r|>@f 40έ_Rޅe9;?9aG!''<"caI%Q|@ AΌ")U2{7.^ig_GR.e#-&fޗ w1e45?K^f7b&9KiI"*uEJJQ(IUg2c2%#T܈d%\&1/|RI$,ٳ}Q,eπ83*)q:&2Jxd'E3)U(:@wQe! ZR9$"OBd# %/ze|ȁ T]/Ҁ kD(Wfp?\I2~oHz9梨|ʒlu}`P! YdP XQ+#/e↮LX@IJfAg-S7Fd"z ]',LjrKyA11y XNrӦ8N6Ea䭊@K_R~0 H+d:&ia1ɑ;h_K9k!;o~ 'h~1|,Ɨ^¢BK lLEN!&,‘ IqRI6OcEf* kvLv&fX<4XÀ-뵒vGtÈyGbD<l19F m? 1e*[]ҜHcvMqNGfXIV'h(@y cB1> gK>|L2BKl^J`"BDR qHQ0 􄆻xcE)ee Fet/0 ң$DvOzZQ }J g^P+!̠j϶PU-RCQ绬1ob&WO5fy2g;7CO8\*>{lgs8$(nF9 U8)3]&˻B\J؏2=Ɩ˙ߞгVasJ/4gelq]{{UAksݾx.ݦ`]sn EW ۽.YOd9労++_!<ܷU L0y ]wںTUjӖJǿ6v>u(a(5c,oprl}E&ӈmna s:kE{|˻A6oxN7ڛ:Qq`5Mq1L;RGhM1‘!W16~ޮz&(r2=e;^oz#nKM]7>3F7{s-K#Фs9R/:Rc3^?|FrvC ֖,O_R_lW@H\/7:-HDG𱨢_8l(:¾+6s!3X))jQ+Mr7h՜yNߚ kKP7'm{m ZiʫE7V5]qafnE;u̙Җ'U%(#-eCN/ܿS?Ppb挷fwc^{\ /,C7tP `A9m\+N2\єr2ֶQ d} ,#^S8[W,W B=@O#7g {'{F2ӾeR`=_9*(ؒJ'y(sw.qHl[L^Xr)%W_[iWmtT 0lίts^x63|"/X *geE\CӠj81?@Z8]EwwY.;SŹ_A0|_-?i 7IOYr7զ :YI"`% zs G:T7>Z&G1"QTD:s3`$Mt*˱:@/'bt5P6)4:3cъ cmmks?gD Dy\tGpEKuzT1Һc$q'$:eZ@hFP+b-1 GfY#d10;'$0?j(X,JZA~8.C~V0A XVmHN {O6sR'Z4:QλQ?|KV*EB2$fMfQ#Ѷ9 N5hN>Xt X64pxXo6_ %rI&Kq WJdHJI(YЇ#iaz-Ȼ7.d7.o^Dqat&`dhynx|uI\(mrh˜̊Q#lЮO D):`fn8w7`,ٻdvz(|4ͳ6 . ߓj9$9i7MŅ fi2Hq@n%EK"6w⋘p m6+q.6ȗ G2 I(Ѥx%3N^xUKs0+rjR. sii8pXDT\=Bʯge8tIV}|߷lBRBh4BA_|C(ۿTi=RYC IYTz6jtҚK൒(d^Q"  YaP|]|\_նixI} /t?1 $Hu>,8ju+a%`E6 cie./(HuUs֎Ve!_Z2+v;DÄT2ifU*;ln|Mv Z:-U\E;wF: '_|hԪD0 } / nA?j X' V;!5b] G}*|@6iDQ?9fvڕ:*6@5Us H=2vܭl :*iULL- ]jGFrms#l#2[@njs4%7np]]]LX́Sڲq`m}Dцg+Պq S;w<&φL%Be`J>|+'=qߓMxuݦ끿MY Vi>cZZC']Eu\yJS.(<Pf2k+z>(c[lɝdQY~jqp)weEd9`J٫s&WP5yGjTCOGDRN¬![+: yXlq׺Z?k\p]k,Q㽘 ^2T2ꥨ R+2Ƚ_zS)}<,7-86`ѷI./FEhY7B@Za5LԓQB,MOb>v >uoIÖ<׫M}y>/SSD<lU2x~0Z;Θ9'c[EFBuB2OE6rHblP`8qʚgV^>J2<}[Cb.:DH}SQ=L\wb{y'*_4OC%Ͻ0rbͿ.oj?d|-{w ݁;s9OZYucF& 'MA"} nJZwUsPӶmOwcFؼIw*;҈HfM\]?~5Y芏Πƭ74 1ܭdV& [r' /K+K TXtߞw3 ٣}M\&O?|e~^y}Υ*U`5TkUMc@h*@[JfxFÁAc嗉kg؀u藯0|_]ˤ>75&g7^td/(1,~*9^_*{s`QeߐҪz+,eFA:/ 2yުEO;Ӂ,'y3:W>+!#7(gJ5Z~d失/Ue` DJ!.>rh{ as0 [嚘-€-]|L^=#з8g* ً3pHĪUH?U~8E^>z~mGP[t.+chz71.vkTlX:v%vbN+DݠeZoeXle$<C!>FoA֢'.^2eJlLC-YfQW7(YC쬑{6 Z# ʼn)\+v1HD~xMumi!?=,}j snPЖ}<.O#:oMPF*xb;[W 0\)f;eRblk۰frv >_vً16C*]PM#(ֆ{Z_\Xr)^hߊmpp$R*>y+/+':RrCn>\V^6sо߻=}m>Le<yHP1CSrkw#?DD>\Jb\I:ۅi6L-Ck"oQGMZ2V;y:ow0Kr1 --b6H gxW]O0}WmڤEt64О4\۳]i@H0Su|9M8;Ҏ8]?V7 {Y>fOa/b4Y&ax;I8CVR"yh师U=FdDuZa2BK ¢gqj%mz}acvzݺf o @@;zj9pm?(sF B\Rl>8*\5%42RikFx jVtf"b`?\jw[Q6+YN*A22DeFɀ# r\J\}^Eq{bWsu^o&hp6m, zU3ȃfW`gBK`awٿZcߟkޣD~=0k c <[=O\VpUrw[nNz}Cc`M/.6SF ߍ37444mf4N œE@NЇ7( / rWA̗?Y(0;-uTm1Vn+4/Kgk#*FO'q k=jN35{k:mi8<Ԯ@H_Y#$}l}E[kb$E!.PKXW&춹e Oڣݓ7U#qGQ/brԫZ&.EU4Y_Zi6 2 gg80x|PNG  IHDRaJIDAT8]KL\e;wy1 tʣMZ"GB4I҇ XMĝ&…&4q6`Q iBLM1Z"0w}.p}}9>U %/!of͇WEmش,VJt ?L˲_˧qW^gI@pHK"H96ҕC:8CCxv(U7낦ҚFȵO1]Q§s,Fś{akw<u@xC;::n!q1ܙ' Xr E4r ORϿta =,2<$k>ZK}iNϐl6 Y+$I&}~kA, 쭥HR=r AS b YQAҲ~JSE =HΕE%TY;Y5sϬE,"" 1arheSإ)1z,&o?ȥPW'P1n`Na2x%1é4ڷiz컵kz'jgj[Wѳ޻g#|¯ tnyi} mM=\iI04~#A#̞@ %ibۺGY,RUKMN['3o'8}_hl$9LxPNG  IHDRw=bKGD pHYs  tIME*5}TB%=~߾}VzKxkAyЙ{JK,+K)t@yb"Ȭp&`!'VR\l@`S#p)E?k}'nRƸy4a!G> p]!W7EX8<*ZBw+A &8 -0I%S4iG,x>dsBo[dxư'oHY#O (0 ZVn}k_ԀI!nA SkQ)b3e:,r@_\@4$m: iD H( k? i3ܱ!C#zFp"ZļXƶS,L;㣜s\<{ ŵO^ @+Boo/y0Y6 %o=m.Np^fxEl.s '_<(FP=_z=##caSoacpOSVm(Fu `;7#6")+E+EҸECxFvnZ|禨V jB3}GlWPfupZ#~k4J9$!!P+*J_;'?~_ajnE\,G8=] %9YQ:<+Z3M j麷)Wm~;vla&_f4YW2+(@nc<WU忉Op1Y/ &f*ԒLG{`C!Փ?%:~4ހ^-! G#hlD}Q.KեզŤ'YqWS=tHYs䲭= :B#$&8pL8 ?,QOѪsg/=poL;A.KJ4Ovj/1b tMIK[ؑbx Wj"o!M`2t\}̩\?P<OJqv=vYobf$RWqjyxQ2{K§Y_+5K RwH9]doi:R6dI?IENDB`O%DqՏjtR/E6c{,fU+=1hHu[Gc@>HXiTͻk3n>A@ O[r@!d2YSձ_^Z 7{Ƈ|Cit掮,~H,DGݱ$|(,>VO)MAH@ڞn"1@=ʺ"[ηō- $UHsDV!X4ǣ;{݃#즳~y[t==z̜"Qv^6[%gR+lv555S-;۶@׭߳k?Xׅ~yU;ϱp߳KmiVOjBz#n<"eHDw=g dO$P$XI4 դp1 (RBJO:e90V!-=CxLdX"/TFMx&TROkxCѽdNfrօDTQ(} 0'-Fwr4`&tU_5gP ?lHW CnF0s6Ҫ^6Z<>ڋ,W04p_I2s\'㩗AWYq]@ٹ":1BDsUOtu+.bx(]kZy73M]-ɶKP B% _}fzQ*XP<\p.7\fN 8" 5lj|C4HzIp]ȍ`u~?<^pDRʴ˞o@ 6cǻw|o_x !p4wԊڙ, 0Ud]->~O;i,Up\ H '҃=9 O>lIENDB`d ;3;m=^x%PNG  IHDRw=bKGD pHYs  tIME %ϜgIDATHǵV[oU]6}3e%jgh5$`-D|%>F#&F 6ȥ)Zv:t:3Uxb?gsf7oe}AλkAwmCkwC=y :p`%󼍶]B$RU5(JQ6)!OsοBtٻ7vM=wFfMsS}KC+m|~eA(KH"!!"P5 - JKӽ\U}CC/-^|rvv@.8P4ApB0RHVA3t @ww7Tbuc#67KJ-(tf!y>AVfk,Tft2pcchubR6 ;S JKzjcjɬ`<h FwVѲpSsgoQYܴIn~_$i׼xˆ ,YZF܋?{ EC {sԬqM˗6 p׌Xx{56qHB| -[U((/S Z4.5{xttUJeH 2|χAJt:=݋K.8Xn)hdMu-)^:uyK%0 h!H`]ѐJaxx>10PH }d>" fUK*SS]A_-ߙ?JՌbU8At}.8TEA2ˊ!30 1gvtPxhjfyM^Ր C?ظuuuطTl#1PJ1 ֕\ׁa/?p6?>ֹBD:sK1)UUa,]x *BA(iBµG>Ν`ؐIÊ@B+0ϣO{ ۶[l_}@K:cEm$\'Ɩ/R&?#²,0BBH\8ls( !]( @7 Xh4 ]D`t]s!bZj5&J W % C US՚dMu cA;by U\"{M& ͅBPJ* ${D(֮mLo_Y̙3:;;.\+ UeW}\M@{??!kDžT*n߾}kX(A]y$$*6mMO8m6-[4.xD.gg8=cb"lvlsY[v*Jf{zzNOkkkDb23==}o8 #QЍeɥɳ*K#^ޗ~_E__QMtMQRH)<}w'd25k/ `2eIENDB`ӥ9X"IDATHUMHcW=y1%IMc03+kZn"ųAH@#E,DP$PI@ L_b̏~]tH5tS(={=6oA"x_8Z*++˲"d6MW=5L$}F/yv8vvvn4ĩa`` [eFFFN]..kwg) ^ ?ܜs#NX%B`/GGGQ__.Ȳ\vok3 RT{Ael@HTƃU|SaT1ؖAՖ> !`v_R>\^^|(njnn&I`0EY}.#1&ZMl$I K\0,[˲X,z/--X,T( Φ˕xHӑ($"tedmh  &mmm4UTT70suprrj5KyPSSe;v~?Sbm{KΙ32k&I'IlƶcR!*"}ŀłRZ*Z(b%j23$Lf&99sCڊ"z[|o-XPc#'&&ӟ6 !D<=4;96:F=@l{e! 17?W8 LȁloWzbpojzݏLN]ddb^,m7ԫ2͖ dg'|+_s u[XՓV&i6mj&-o<K ,%iEܖEHF0k>gWg~"Յ:g}KBȂ,I(a!@H BHRԄ{{}Om[%;3 )@  ! !R RJ 56tON%:;vtKql2ŽRȇ*@H@8@J%{BG U`P&˗*yrݐtU!B 7(L -BJEȑG#zz.ܾwFrvnѝr6H%Q0UIu.JH)PR!$d P%>NxPNG  IHDRw=bKGD pHYs B(xtIME  .2οW;:u,vݵR_xZ(A!t9s^\ 0;(=o?S?}=S'$`q~n? M4lXD6^| 팑˫x%tƕK\7y}ɑÇ,k||G;{+O|C# --`@i"J6sOpgyD/8GzČ$lR$5@<q /hIdz=ERo@J`G^b6V%<3q 22w:SX,v"I-yC!X*Di9v=:#$DaЬ_;'L `uBeMIuOcG=74<|j s7(jEjXI"ƒ!NDb !aTl2E!FFR>|5^D:T{rl"9z>r0LxK\FHA@ڤڪ,h*u>u(޷`YJ~A'Lc݅|};?yFe 06ahC: \5}ã aKfɻEyB"f:cVQj5!Z+Vx!O S.չ~*B(lV07r^L IaQmayM]7B m?F "?8Mȭo"ssk4^˻Ṳ~nSO81hi4C x^!0dy;()8[vxKOo2CGG_~/~4 J6m6A!N`Jyw,S3x˶D?]fԹ<ĉ(~~ƫyƗп,R1k.PxօW {;w8IENDB`> vvBA/x/PNG  IHDRw=bKGDC pHYs  tIME5 o@6xPNG  IHDRw=sRGBbKGD pHYs  tIME1 `IDATHǵKUAǿsW̲ !p$ZE,[ bwF /}^L^ǁsΜϜs{zzpny0;6H)B8ѣ5Fc DT9X"R D"mb! !N8CU1z)`Yv1}Zf)mXe#R8)]Z M)}46&#@7OjFW*"˵]\<ՊާJT۞\wRtSm;u OE`#mnVW'秐=5.ljz\ w1272/}t&WWxe-wq:`'l|+|><opjq7) [+)dԶe4 njA6P80?~G@:,h[-Ha+؞ɧg_}<P1 J)}%3.+t^=x{ג0==+}{v׀fZx&'&8@*0ǽyg_PJԩf:+nJ$NM;L#  Era1qIENDB`2Q!ZIDATHǭKle\ۍ;uB&Mۨ)Jhx Ur!. \@ Nq*#HH)T"0cuw㮝6Ů\7`Ѯfo矙NH$gUUqo*YJ>ae1FGG|>ib p`š!O8f``00qPx<4MRlR \ :iLMM177: P>,"Nvmaaa4Mn˲dY^^Ʋ,4MxppQ4oX$ϓdyqKX'NQYUU, Wul&Y4 ۶D" ^gBЩJidY_}e˲rwP< 9׋eYiV}jeo[B?zE\.S*.5s\s`p}އ{qܷO.ʫ?^6[zln|mB4W+mw"0H;?Z:>x @JU@6~W ?-d;Ds[aA@]^{+"fv߉7d1+4+cKB aNkB<}w_b[hE9,bR$\ x?M#-eqwnnhbG6p<(Ufѡ4&kw !5ѣ꧱P]ڐB6XT h@DGp%t]R~*- t]hC{4'9yLN^I{"@lӗZ!˱o)&{ 8o]uݗL&ud2y5 zt IENDB`Q@ bBHOxOPNG  IHDRosRGBbKGD pHYs  tIME /$>IDAT8˝SnE=Y{P JCʟU!O x+K$*Q!Ԧ UMq]{wpMT=Zͬf4gw7p1 Aj.fs0xR(CAEdi,D ww#$S+4'U(4;߹6(Y'$H%ј/{ 4>OIꦊ.L e~t@<'!T3Q4Y $@2` \"* c@'G83'_Z8Y  p HP݃&U[ <=<8!hK9ED, )zf4'Dhcԓ.?(@b|qM y[@:x$* &s#I}JjGUD0X=&{pSy$cc/%:Sw]Tљ癩/MROpVȤh,Ǫ s`mC]9g?gbk>a bԷ؟zffu̦.AGN;` y6RpBӁl_ޞT,whg4Vsg~n35ĢW{'\;xqMwd㺗SzO_U}Sk>)k} &U~7%S+_,䕵?2?_2cPQ+~fQܷlv׿/]zlmhťJIlobxU[uSI-0<]\9%4ZoJCx sb``p  $) w'ud^9lI. Ap品" 0kPו6HdkDs~nnj^ sQjbIjByfIo@x#8*Oǐ <GV}/sxWK%l/^e&_yփd9Z֟w|Y]VwӍE)Ζ+ B}K}Q0l f-b8y $g[uS-E ;,C,aԣV|V0at^mtMpéhpp|U[ٔqڳ!匌~yʵ\gE7ߐYPy)4/u^/m쩽=269Wh`kBB1jG:S) /dw"Om5RqÔ(xlZTGPJ7b;0&_ A8L'>:Fq%UXKJ)]k 3bzA/?X U/WPozVJ@1""bT3J1o-T0^G);ԃ8R$M 5K+gePo+i-#d4tAmG{3;]@֮lh=.3MCg(c ֈDdӤTrFԀ{Rvlc- US( u+@uSV( z~H+Qki(p.{ T8p9O?u1wVRzlϧPn@[f.]<xޒ?]I+yL(-'R0/4?{έ<{фnض#V~# k Bp'*$W~ٱJ܏".'`@X\s:6a?T. 錽qnzc<5h~ݚW?ݝʇ?SПR=_:'sZ/\J6ҩ/ >E<,Xt8AznxՂOɹ Vѩ̤g( RΙBDYD^çS͞~u--dmQqKpQp]()GC`UG_}%LӔ?^gң=f ojrNR]ځկ᳇SXnUHp,Tq.gIt\X4Fu$'NG(D|IENDB`=f KG8 x PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`XF4ExEPNG  IHDR BbKGD pHYs  tIME +utEXtCommentCreated with GIMPWIDATHǵOTW;o>v€MVD҆0% FcLtQUM4n wn솽.Pi56.`2f1o޻ j$ws{H@)(z qW'{? ?+J[+:%&LR$OE7|ay hٳgHc b&ERR)ǡR.GE4x4PNG  IHDR szzsRGBbKGD pHYs  tIME 6b+tEXtCommentCreated with GIMPWIDATXWYlTU{m8!P$Ұe}mF D &b01$HHx񁄚hdi1DIQmtss|!VPp}d2ɟsI^x۶)9Zk1oeG`Ym#aB"mS.!Ç.e.B eEs$Zk,B)EZEp]qPJaYR) J)JRJkN) An-Ֆn>mW[k*kH)Zn 6NO?QLG풖0E1LOOSر5wknbdd& R`YdZseRCCC6qҥtuu嘜dhhl6ŋ\zuY\r% [\8mۦ ۶QJI,DX(oqL&Ñ#GyM=blll9יLL&8??薌n>OFα- nUuux)z77ҲоNn޼+RpqZYާ9t> (9ȭ:5gΜ޽{b1fffx%!p]rL6u]1.a61556FNk8K[[ǎc߾}qOKK b``t:ͩSZsq,d2Ҭb>m $N>Vؽ{7ܹbtyybq*j6^*l:Su,As#8j j5JKXJD " +cIENDB`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F"IDATxڔKTa{SC%Sr ڴhSPQA)h"[ ShA(b:8w>- Ph9爪r>_,KjSH:[tÿ>3 f4jՊ6Xc.ibP[n6|'LŪRCø':hLTPkqgա|c@,hIoUIO",$hkظ\x٦Z|=FԹiW_0"!j`RҕiQUsҩWkY ٭&ީ$ ]vk;E &j$hik8gwpν-F}_Cv2dGuALM14A R?!x|pgD8j ܝ#4Ƃ7;Dיԯ> SsOVXHF:^떫zՓr&!nRwp$ڴ6 ҏѸ_9/{k"G;M?=7]Z\XI|\d`?͝\kOl$'{/K[Z~v0*ZO*($*ecmJD}hÂz%dBLĠ"8OJ$)>Ï `!0#(L@aT;^ [m-Ml)<^ڙO٧]k orӝMc`~{۟k<3ijj*xb,qLCNf#E3ĦXVb(Nì>aJ9EsnMB H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  )IVxPNG  IHDRw=IDATHk\U?sιݦͯkm(Vˀ҂"h_$}2HhxPNG  IHDRw=IDATHnUUksZn[ҖHMCB@L$A1)#'N/0G S RJ56?fp&iv;pasfs3wF~+Zq #X8a #cG <MpBRC 8$ F3PUR4T:zgX\T# S*dШ>1_^2a6ًY}ߒKEI,QTs^kwozėvÒEd%fJGC=۷{~@q0,G?!R 6ʝkkOZLxUVHEyJ<% غ~wmŽm1 գj@.*#s s̴tHAY.rqM8cI2 o6."rS @kxL0Kl{d7v~sJBخ!_#ĬCsŞ4LEvh[ xeU/aMBre,ISM1ڕPYjHg t{i ._O!xusKIi*$RʾV(;Pw:lP3V fNt?=A  2@& AB7Τd2+LS! GO#Hunl8bҢ~'aנEebv#Wym︎!Vg Mǘ{Žh4 ;͓S~ZSF1ֈuއji:Z{yd5s ]0AU۔3D03NenҠ Y:nuÜ-ٸ sBK `yh} N0qJQ' 1%NOb1<&i+L(7F/0\f =0M c— ^ `TCTеV+OZ'ԠC9CeRBQIENDB`_0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FkIDATxڤۋMq?k޳9GSͳq)I)"%S`P1=DSSjxY^)^C\A39xKXZZpyu$A4P 8u"n0ta@BPjǗW yb\[لߜ>8NN|3(ƍ TF`&LS$)W+G7 ySg:i宮$:::7u!c$$ RD5 9\M1g?ǽ!~4غV:!x*}'n}(]uC;q&BA(n`\u'T\p{졇 ۷c0a B@Z˅<~꫘':8q~7E&ShjN@U#p.^9s~ K$m|4oFQDc18}sJes=:(EmPվiXæg,UF8|mO aFoIZ-e<N{%Flق( .$dm$=h4P0Z{EPUEae2.$[JB(PdK%6L>= whB@QHr š[ceRȊCס*<KpɓΝ=rM`ja²,7yӭ;صk@̈;t<B$D[Bݘ:qX iQ,/.\ ػwI,222Ҹю=j8Γ/^o4:17$!F)1chO9ئtbСCuK'_TJ$w .rR&s[ J5U>oZWԈzngW1=Q#jDeR* !8c,}o4a.oO t]RIENDB` OK"$*%eY%*Q#G wo{~Zns_OL' /qBaڶ 3A J$L6#@?u:>:Y>1jRn9 CABp.|Cgg&D4׮"Ctwu>A)q8אָϞ; 3v^!(Pwl9<σl78nܸ`磴ZDDJZHPސ;Z\-Jvu 77>MxTPNG  IHDRw=bKGD#Iw{ pHYs  tIME[8IDATHǕileYNKWn"dB Qck@R A&&,D%@55PbPFE.r{};?Z "M&9w93B4v[$'BQO)VLUYYyS6ϫ\N- +ۉ$ñ=ۺx/,7Yְa!B50t PmΰX7֍o9IENDB`mDA8A(aA( 3Loi RߎTںɁ+WX=J -iYmcRY ֕-gtC2BQstP]=5^_VW|yq.}2SfϤ|- U[޵jKD(AENΪ]QyQR.tHل mͮO3@%v$3ILL)f$?)]GĜ_m]j݉aHksY-: `dFeYi#!ڤR9i)Y y_IlFQĘm8E\:4{otQYK,$NJ 캁jUɤtK#frDQޫ}@M=#L&d]ׯ,TG! D{r G%݄;!e5V,Nl9a)cDkkea~t:ښeo kv +-jw_V6"sd+(14G}E8ryT-na9q6Nr} VɂO lgem#_4TYKFWn:,f&L_BwFFyw ?Wx(CR-C3g<6^TF\9u6s?cƻiѵYΩ-FT~iT -'ɸn%hjGutC8)_޴cԸH:os,|.b /( Gpb6AB^ŝL^<Oɷ?\-Y^]S6wkNS^#%Sh..EVŢ C S &|Xgˉ:O\X{dShyn Q~A{_>^+Q R$KXG.~m筨&>2bIENDB`%k JJ3Njx_PNG  IHDRPgAMAOX2tEXtSoftwareAdobe ImageReadyqe<2IDATxb`a?R|aٴYbϮ3(//zԩVq q W^V㇏ܷxe”xqvmff6 ‚¡X<| aaa\`pܼqsڍ@O<|<}/]d={VYYi@ō]\\]5 EK?0Тpaϟ>d@[dgg'П޽{@;S50c@q4$led._IAAA`=90JJJ@񴴴PXuϟ?Y{ùh EKan -o@cR,@?+**f͚89'ĪMV{ 9 m!!!$9sFQYK_XQauI)mx }]ϟ>>m111ren:a`hb)޾}R5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  @AtIME#<IDAT8EMhTW̛y'1HpaZR)EB tEIp.\+ n ".\,TP](nҴAbәL{|p\оsؽǏJ&sH\=ͮ;ĻwW_WP=ZT3=LʕǿL=Y_GAE {=lL%_3?x o-..WWANc&'1,a|吩) ؽ%[\*[.|U_qσaiAI;-߽*ks~/0(nk6V8YKZ*B*EMMUUV#*h s"̈8rTbmk}o|*KClj8GUz/^6Eڷn!SSU 1Z'LE2=uj0,l]F9NRsJQl"yǏ͛Pu:stRvC CJQQs߿//4T9R 9Wg GƘqLߦIENDB`G f:f=P~xUPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd3Oj x _PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"b!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻC<e;?TTTT6ݵan{4[>ɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  @AtIME9$jڂIDATHUˋ\SU{ M^cIH"F ٙA y^?R "Ƞ,R< "(R<=GO?n}T,% ;SuΕwߥy">i󛛿US.bL` rBעpe4w?Ĺ/|c?׼xLKKQ4xTʀ!Lk6V`͕IL{\qի3~7ڄzh ᰆ=ѣkS^DFBu,vyw7EB,Ѣ@MoSh|9x.ysQJt:>uʹ,:3Zsz& H1󀪒 Ķۂ $U,t {BtDDōD++;I!*`P[[)"Gj?zc9۽Y[}VVMQCƐ!dde`0bB`d8u>ݻyE"}T"(42hiOp(bZu:$_|ē'm-l^Ɵo v2`!z=c315]z`բw6r,K{R1; ea8Dj5i~ -iJiJ9k5J&!`B`ݙTA IkGT*ΜᗧO3ǘ) _߾?.,C8td""TU51^GwzEz^y8|0:Dp 0ekŪ9R8ytJƑ#?{Et{j!6Ԝ#6Ƽt"TlcU?3;Cm"޿ΝE:2ZDT"oߠfR[|`i s&%!U Ρq1$d[[w~tJ苈0s֞[KKiK[K@J=`EȀy3:3EyϞfw^p!}wEo̯MDXVE?b#58@ d"7_q*jKFO?ϟoކ1sƹA$Tѱ@;"-o̵R_~D$x"睧bicNZ+F$q^HT#Oܷyt8^IENDB`E1> m]ncvRGwqj'zo]? "2vGnnҿpF԰?֌v3E0:-ZLOwonEFpu >}%҃R?l}sdL4 Lqx2@1 ҭ"\s+ O-vDQւ|`{Sfen9pu?{8((VVZmx(ׅ6.PgT5* g]Xy~S*y݉2\}א\-/o4_BZnj 8#TZ/cq1\Q1M\M]tRjv`P1@JQX!+P(NO_8/w Ìa:IVeBSUPBA0@i붥~WnWW|Rm0b(g0T:vTSS~HДnDW D# ۀ0T}0&Rw^SO=REDe6I}i6&-ؚJ(\sO}o*9O4jnN^軬`:fetC54*z=_ i" <E:ZsxtYi -"47be`phq5׼+_DlIENDB`L  QxPNG  IHDRw=IDATH}luǿ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڌkLW,PZ0K/D` [ n-t37lED̶aN>,~ZT,ٌɾ(Bb1`X#R b[!OrrN#(³f)`ŧEsTWWVWWiZV50OQm6ۧQ.Ԝ4f^P$A"Q@>Q'!;p?V5PYYXVpF,C˓+++'ڢ$I60\=|؋qpmIKMMY(++K:~PL}}=nN"F Ż)xFuuuo^eYz){%v"''梍"BMs?n^mIJNl= KkfOc8Nv;MM~=wϔ, /KNFmbU pq:L&iiA GJ`[BgP"pd->@!$$l, JgUTT d_b,c||\\4;D.\DL}r,xnIn$^_}Yj:`G!ɜL{uZZfVԡjSh±feb0Ģի&u5 hTƒ?--q $$atxѱq 2ccDhw=(ݳјh*ijr#!f3IIIn֭/**QFE/;Ts ^'*Vcl|XD|>?w\.Z:@JJhTTn`Xz7-G[]]$IFXMFhmi&..nLfGtʕsTќp8p{<&n&nZ`dŋ^I6])mll].׎bтleeewO @d:u6]9} q.$ӟ3xIENDB`Y %%HRxJPNG  IHDRĴl; pHYs  ~ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$CG "IbX*QqD2"B)%d,>5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FC4%LEZ1;yj!xvXJL5GŸpe7UN愷]o_\|b~$?Njct>}i) (՟~G ,cL־x#R5pPwCK&CΩcPiޑ\qJ^פ֟?sЅۼ ?73&^c^t \ H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<0rr*YU[QREٙwI@[hl1i~zhe9[8 TeessnFPUӭc<׍yLD}mI OG(Dr^nԕ47q+ h]Hδ'S'dZRHL_{ u>6-qIO(DCi) :&IWK$_];*96}k.0~2!^{A,v vFϟ ]vK*eg ]iik1My$ͽ꘸XOyK\ 1w Hna!ః;MJ~)߄ DPKbighi;{h)n!Mn|'9׬A]e $]ZuϽ5h4&%j׈>V@(itm((Z8wVX8C`E.%kxje//ϟ7v|NHdl 77gL2HO-cKJfܩKO;X"mii)5?PcgfFnvd #΄Q7l)驧Syw&.Y6 MHKK#щ ω1 7<3{>߮>IUUTV  VxPNG  IHDRw=IDATHMLG]7"NHPH6PJ ( N8wUrxPNG  IHDRabKGD pHYs  tIME :t'qIDAT8cL`ڿo>3%3wE ˠHK?yΝ;300cr…'O?k3*"BBܹk 9X }ӗϟ//-yP[]CW~._doػw+/^y6ȍWmZ.&V.Uϝʕk2s`ݳKCBqoشy^هDX0\tcWUM <*/,^e ^yۻ8eeHwɋT3./0ƎS֬[)e5]Ԣt[]]'gBۇ";(N6=oM#vS8E`M$3xiS M IbfYD"mb-m h"f, jz@)3S=H$ZTś(dE>ѧ֝3:*XY-'q޶c?4I* wezz{XCǗ>/LEb~IšFUщ*~čPR\ |@wԕpLfPcjG1|P݀(QV T҃gHKa;:ƿk#ZLCÞ:8]N|>(N.LzhOb~W[>pVrW9ae-ϯ.̑ɡ#zd$=}0tJչ xebd FYd*H^^T-,4MC. Y-}-<'+Ӥ\ $JO&> @da4fn!IZHCn !u?x]Q#ϤԥKRP zof]4p Ƅ4Қ?rm"ӗzZHoAO|",X;X| HEE" Atr?00F 7s G^Q@cCMMM577~O&IENDB` ^ 9X&xPNG  IHDRo OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\FC03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME1i0IDAT8˭oTEƟwΜ9_%B0@4.XL3k21A c \@$X"KKnv?vi{Ιy8-x 73߼ϛ̼xxIzi n<["V5[Rru}L@L H ӇNg$v\!` Xг  ""A .$t;s 'vw<"m+" m(6v ZA$DP&Ғ#' A$uAgVВm)=WNf  f&0ACHØ 'l򽎑(s,va8(WEGvfBKRPӝ8ytA'-pz~tQ/՗#-)wn5_̭Qk5[[ԀAB'+sՅjȺionn~0 Q*&&ƉhwOBP,%4J rܸ8Xj}#7* qrlRjvvАdם؀zw~|8)8r+WFGG??{6c˲| Vz{~p9̮EFTͭ?aΟԟ |>KRgAcXڶ簾ggMyPo:gNVέo9tb3{w)_@tѸrF(v 4 VzIicfJ ##GM>xP. w`hdzkb_? w I{A `#e[6؁Ո"W[O7jήZ9el.nc]Z]$MƵ̺X@ ^3sRJG))R&vF:&2D㭯_J4 !H3FF;Wr9NvfDZڧ4|jp$ >G{WJ麮--a aIVAq(x.l6/]t&wNP]/Q,^±1)%?6fE1 JR|>&DM;lIENDB`8RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME%#{GJIDATH}{lef3mC K[n",FR/(^Ͳ@61k`]pFcnT$@P j (ePzv:Muti}dGH;SW=_Ԅcǹ8ٙ&&(%d%g?^eM3X>X &>VM<㥦cF^uu-D^ȧO\CͿvEț3AclAX畓mިkլ4oz &xO{:=wTqt <>.9l>J/e +nK} NaGٝwqtpbJ&fy_~Mse>l86xbLt†8}1JKؽjMS;On=N^E@/xAyPUplcMn2${cؠJU Q@ Ơ"_RP'~ .ȸ1e!pL.y',D(Pq Qt,uypq/2r/B"@FƸ4ZWׯ<Ϗ0BXYv_')Sd1 #F[|oVz9UP:bGAn ¢ƒ=@u܀:xWr7}$$v2I_<δӘ=N9Mπ#ʱ1_:\NEikov&O 4}r ` }lnu hXXA5~]WG+S+]wb'bʤ|&c\ L|+czˈϮ[Ϻ?WDf RXXHV0`(g⟝.0P "4utֹn^?_)e4?xBC46~֭[ 2ډ1w@,V.奋g!9r=e($D]7MS 8⸮x_my<<}pAܘH_oX@Fƨx߀/dc g[@8;_חAgg'm&WVUU.㆗)O:"  ߐ_sFͭj m d'p%NHuP|Ri#jk/ H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@+YZxPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxLMoU{$mR.@T"A,P$ĂBIJ ]bV"X!QI˪hhv3;9y_} "NU8~BDt6ݎdæӧNrB&"r:j7&e>J)Dk-}N{e{.I=sY3ck-;A8 pdxwZ!_z N+_~6X0FS DP[[lxz/NV=bFk29 B*8!7>-ac 0FF);R'4%}rIAXk֒)6uåm G F*qDZ%=6(}` M`"NyiFkea0H)&О!0|M\Z# 5N :]e<էIFpbH&᧟7hmnn4(hoɍ" ZeDQtm [[O>~eyy#uP[^}Axa48Bnkv07ϵ[/rp/P*8:je}nnnX,^Z@Wgd 0$ڒ2 2Ll0IENDB`JB[aW}g_Wl~<$2]GLϒ bG "IbX*QqD2"B)%d,>5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F IDATxLoTe}wL;fڦe,ADB]9@;IXqFw.R ihhRmCcK;mѡ{b>9GTU\w9H$ZJ2l;Q]yO{DTٹwW*++l65"X8(4]]]ө;3Uۨ*27W..T O1,Z@+Å2'dDZAD@QmojEbxU׫^-1ck0";r@XuJUMX#"xZC:b84gH>ߙc-;9:.P7w ٳ'KQg_> cӎ㍟xcxll8v +ϣt$rJɤ1ՠFdpT*kˇ^TRBX$Ǘ?m>gHڢS(t[[[Sc=zOR 0~ޡng3{>xBu%zuzkߜ9q8gN& #_"BbZqHl0 r dllvkUR).ݸRz?"-=  ţ+~6f>'ι'__:svH_?'8L~8ɡ0G|5w)"GFF>+ [F+C8d]JUdkq0)"";l.y q)ʅW/m&ݝq׾+:| mIENDB`ñ 7\r x [PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbÜ[ x PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME .!HIDAT8uo[U?l'cǩ6DHBG*Pu`P`$V`(ATB:~.qÐ|?G"4k^ p9MӇEDgi:f]=uJ)ln""arZ2].0 QJ "Xkw:*cci}cCk-[qx t|֊K7>;VZ1jϞP (d>~xz!}z2Fk6(J"r؋$N'cL15J#&z=rIqZ8[wm |!ϡpi::3C&7A(mPz?v̝:p֫Cd [6hњrYb.{wi$e9RrAljk}2Gk#.SSSd2pVхG̿nӕ'PJ&:ЌDgֳ:mJƛo| _~5 ͥKj1O-A#"*x'g-߬^!7c4DQD8"Hm}}g񾠏~5f=DQD^?y#I,o\jv\.7fJBчY̍cڒ23Lr^kYLzIENDB`K U=R4TF<<(ZC>ָ b+HT.kr]\7 8A@'$  pB.@`0뺴<ւc[ظiHdŲEJyŋlb:}lv5] B@ ?kg=˲R{T_L>+.ꍦ~okNʕwR7q"-$V XךMrŽb}|_X;w=ٱ1Zl߶-C;wj\]3'9·f9w}?{aʵ*udfۇ00\3/\e+LvPٷ~+d2fff(. `Eܶd*f2Y^H;@-Ƒرc,]v1qku][&y{db-73SVZ!r~4/EK .[/] nx'pEZ n(&{3.Z@@0P(zrR*l@ Dn"=oIv. [^- @\.:ɭ_:u=]-VT cFlIENDB`&" ==8]txZPNG  IHDRw=bKGD pHYs  tIME22IDATH}oT3ٳ׬?m JM&@"%Fr U޴RorҪzQ5iIbH (%䃀 f׻f93@p#^=9;3LLlk6Ohm6Aۖ!J >q 맾LCk>}B)R8>ODQ,zFkMRP(ho}eLM#̯yym?Hg hX(F"m@yMRhG{ n+Zc0`A !A(R,.p}|<׿e{իժh5 !bTX^46$p,fl߶c{oow0X]+)J4MTISxMMS)l*J-R4 Ѡju\7DP~gtԩwmL;pRFJ)m`!@Z`0Wc0Ơ 7D(J5J)H["D i |5â0h`1(h4 `d粳hòllBJR 6ڠFk>h5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxDOo[Ul'c;6R.B@H6J%, ]u@| v-R!'IB$s޽wX$1͙37^Zlψi-[g>O'XQ_[[GDIQ^Z0 Z~Fsg .촚OMYkiF=J4 c JǛK}NM~hcJ)(@9RbBmnn\:t.Wj>aFk28 APBDΞdqZ1QZ= 9$ T*x/Xb9u=zhch7#F#IRHj Camx!{mQ8Հ`XN`R:0ĽCzOe}ug^(4Ξ!,~= KĽCFGGr2;Q-t:nW̼R?VсXah$ٗfjMwk_ wՊyjuz=~ 毰6x酅~FQ}Z- ޢEgwث9z{{?t>3QësUQY˾2~Xi6>8]y˅BaY!ch:Z(ST!MꟻJD1`*˲ӷ.]#mZ{"Ҍ$C?}7ū t*IENDB`H {^z x PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<G "IbX*QqD2"B)%d,>5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F=;wXDADP =z2x =J4 c "[7뭩2X1FB)"wH64-}Ae}v6l`Fk2Ԗ ^H4'8a6ʥbZ1QZsxsjMRmX,`Zyx΢/ҒjDPTk*Eչx"I,A^h(j@s*%\^hM:-;Z[[Ё!Dz]F T_z֨`އ(K\ |FNI|syR/ٹ٫/<}Bs:;;)<]WHG3D˂{}gZ*8vщOy8-fLϣW[sV@ݍFY&1] ~;TM&!e^|_v}CIENDB`.yc 4_l!x!PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxDMh\eL&4if H;jqQ V;ѕ;-J$BђI6N27:s3M̽}q+tct:D$GTdJ^}px]U֭ٹVVW]Tk:9ZmZZ:;7mׅUyTY\\zr}@w&:z`ʝwRёkKkz@DPTIqytt ѓ{o `DvU*\!j6´ H) ưzWs4[MƞSp Z8[wt;HZ-)$Í2fC79slEMOOǟ/~X{(J4#|G&M_n8RǏCN `#Ʉo̽'"n ƙ:IENDB`x  ` x PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<&I>,}yI}>D #/&a&,)TLP2`|~|=˱mPl. A$T%"B O:Gn ID!>7ͮԭ@V0..º-c,λ#X7+n B// |lz- Ah7% O3Y]{R~(?ߧW-ӧG'T&4JZTXU"nI GVO@U"TG^R!Mz)\a*<nf{ghAFFB%i(kfT+ղRn[f0iQ,WVHzıqLgJ_ Tg|q~5;/|ꎿ/0zr)L-!-1-ϩ|tH*y;I=;Ik( 2,zK%:XU*`gJ\:,~* }D&JlLfQO`(n9^>b÷gP|0GoϢq9~? vW--?­o1Rp<*3:ӀyrS݃˩<xϼ]dd9@ D e͟+XvM&9<1U^TjNIFo`#XzJJ9}vs|j,2zn)E0k7󟾂K2Jzg9Q$tNXdx=:YSW䀖#ͩl_v%]@h]h?d1(/9ڿ_)W8v{m+?lJeٹs.b"J C K_G#gC(2DbsgWW(p?oY>UM7nį 2CQ | _SIEɔ7#oY7`8%ZƁ(nbPf(j0Zvp,eHbJ68,0?Tϧ|V׷oν|@on;T΅ί{O]$SAE&&^_M#$2ۊsI/?!y*evD\e$9`gm&λ0 =΢VM MHew*S8 NVY?ND}<~؇X52y( NĹpma*KkÿWU09F!vSJPH'0y|!uRO<4CMuQpXCdk8" I2jfNшb Nvc\d 4Zi_sp\0JFV:O_*Djbo\ɾ$<dȀ,ُ{#*9/($FΪWƶ+ŌFҷqΟ?h$, xE3sWA) 8YSzlnAA2,PJTaLZ`@IJ]$?JQ I2WL8"Ǹػ>Nd2lφ!PTlg-%D'_Ʋ^SJ> I| ~c3Ӯ+km$̘Loc%(5Ǣ {}&ѫ=SNݮsi:Csw("B@@@ J{v4Φ!|lQ+āLPLHQu߆c,5TS.+8X/;Se .#%Y͋O;~Nv9( Ԯ' m]&K60tN痊#̹ANIQ^X'v@'V19AV'a)7bMK!h񨀱SkFٰUm]zn/MDru>Ɋ jOg8~YI-Zs(#/?:1s^@tњ/i6q~L"7rH,z[Ń)1!)Fͨ38q2TGmp F3)XQoFO~|x`鶽8kx̽=#xIG낰D  㤱Graab5H&df`8A;͉$T IFY<#hxU6r iKiu 7>u5,)+\,duI"i;;}8u5!$s9D)G=xqq4aVx]BN:Ϩ.L$>ɏ1(3݄=LJ,~ٖ'rㆼf}7o;uC+|~">&xR;A5كmkCAx`Qq$x05|6#4 n`7O]OɚvL>eOGϐ#bUӜl8!:U "PrXߩ*/QP^rrhG |g`[{:p#RЄz~ob0 SjHݺ!iS 0W;;},~g㰚^~jx` E|LZmP5s^l[=!Y8 OaiS“/z~} .jY!H 1{9TY@l,\n Oj9ƽvf[̶n/ 1Ma~$AFae AFG `aB\Ԃz#{Jܝ̲.1FW? :G֐mK |}8b۴ǵؒdL΍HdUiWX~o(#S c)Y e 2&1hb53hwPKLtSk$QGXaCjSDD⧳x^z`e "7'V܂3Մ=&hZBǹ0zE/cv#K)#Qjz 9VKE&/V-e4VJﶶ PQHYMYQvOS}\=co`$%ݥ\8@P]em~4EDdn;)~Nphp|'ChIk9oY-mt7RSDy)~ǦwE"KŘ!>ӍF7QQ[uPi$2s+7L:{os.}BVl9,5'ba:_~Q'gt#^ f-Ż[V 8VCNrD_L/AxsNGF^xF=C]mH#/@>/d3UM1|8o2SYn䪫w * ex&vȏ-K>϶/{^- %:q 朑0LpavJA3?3%]w{&& ᰵaM YbHtTEi8DEuL-E05̒϶gE^ ĵ Odg^^J$褱-nO2Oax9+/1\M|똎TdK~ EjQ㶫0ɼŁ|`O;07EZ4O߉n|ZX]#({!|'[[Sħ5Ei믺 VQBߎs[#І7s'>,<3/4׫O_qj/BT;MbN,5ek`qQKNeި:tPD9 x)md'ʀEi^]JQon73wV[I+B˯gE6E B8Om]Y7;.'g&-&5w(VͦFu+,:mef"kc뢽[tڝZO~1[-}d?Sfo㢛wm >Nh]Qv䅛Y QzɌCw}^F6a˄f @aM6uK9uS|dp-9$ <68(Tmjyi>m+iC=34m*곰FuOmU^/p '^ tͦSw#Z B8V/Өa;e+uzR{W kbG6NݒF{h[:Dj-_<Ǟ9Wd / 7hql(L8WsT.YkOSSS>j@&؈§u5{ܟ] $*=mZ̅s&ow(-Owp:|qČ DI aKhU eՇ઴⨬:3 Q i0IC6RN~{I2(Bٴ.=EI7cM3n0"[Cė!Z@xOo\sE sV$lވ.¸nY #λINDFE6׷o ^Gl7*dIDOs;'('p^jj9*Z⑍"R|sUFFhw$QPK |Z]w`mӋܿ*2߯ }mZ6{IL#M6ޛ9InO!+\R*PvXFT(m݅"g1%3W9.NUUwϻՁQ,|k%M0:kگ?~Lv/d󗣹zמMx0,PZ#Wo'Co?HXI\>.w <j* 'K3Y}2ee>R '5hSvge_v IDATWo+g<^^ZŠct7SǠENuIKM֚ե:xcXUYm7DV7DZ$6.+=K=G#&%'5DxgDmM(˗fGH;"q86k@,yksDBr'eWЧoϽlͧ\{O=1I>ʻ`-5d?)WkZ+$ظ^ ~i ;eڏ)5ָ@@d2Eߗ] )$eh֛Zzlnrh[ ZB#\vOY$Ƹ7)O Rhmqy%^: Rmۙ^)0>6 CfFd(594ׇt(XC$sF c'I]]qڃ0qTVE`ّo&FkG5R7HK>@0 *7Ü%|LdG P[MӪFو_pц(fr-Lqbգ1/ cw,~eT3R'YHnWӍ-F֐3B A顮$?͸Ga.V?WxZ{Bt~4ԞT>_|9%gOc\^}lYrJf?Cr|Č m]Ǧui\AԍM6?Va.>N>|RPJGPl3bj>4ַ(=f+u7e]E*ưo WqvqA/{&Q#ߴ5k[9H~k w<|Afz~|縟y#⦡pO>ۋ!~e'<2FQBNe]z*[j5@ C)p6#/z$Hrk z[_ړg V桯0.MdUeϘZ/O\yPR#R$NfG$ B#g^B>g#+$ ~ü?w{>lNK. ;| fo|rYS5oy<}fXĬvAه.ʬ?<Ko$&Q껕0I@~(o&Һ$[p>ȒA'~l{ /ྗWrT{2 Hz.R4Q_-%$N/GwY>QTT$P>-ggz,3Moc{_$,c,zdFW7o)ho7䥹N+cΧQ JL{ \Oͤq?9;1eHͦ}r+(9aΈ#+15M㭿^>C Y4-{D 8ZϽ-_tN֖!#AkX[2uP*]Ѥ?x@m nR{0PfS\r#XF> DG5Z:W :sh,e?=j:b5NqE [qa5w`j#.3 DZK#%x_'y5۹ 2bL^My稩QLWlو}'!"Tߘv|~QwJF[M dӾ >?{ׅ!I"֜Lt30;sG.oI1#=*9BE~sGX}]QL`N}=;w#9>|z乳 SܴȾ{z, jWUsOsg7z^Uvczz,7>ޔx:e~4ZyNm|OoR/ Ι{'z=쉞`O'zt@HIENDB`ѻ eelaZ+XxX+ԉPNG  IHDRZ?]RbKGD pHYs  tIME etEXtCommentCreated with GIMPW IDATxw|Uܕ{or3o;q)jbZjժ:PZ'8Q{dܑ=G+ H|}3>*LO `O'zG=? @$&ItDٽ#7+;%XCV'K\"UL~<.%fY)LG@I"I@xDBDBr)2I)Y/r|f(AU 7$'^BIS9qe$UrN(\ L%Lf&W*rMlm\$KHRNj&Phr?KV!I*$R ±t B:|k6lFT,zjvQι(p_ݬ0j>-Zb~I]M&C%l :̄HwI͜o8,# Y_۱9`dR ·_{Ts. P%41ݿKol^(d(Y~LPSP3(؝xn[ f#S&b |b|xPNG  IHDRw=bKGD pHYs  tIME kKvIDATHjAE)"^|w{ L I0! bW3af3Y^_UWwUO-՛;;8S X!`B2f!sE﭂sJml 3Qy[v>0aK>鴹sf``,}issqTPT+i,lyk}}jm1"o` fEf+`*px\A$|vF}hui&''3azjz}2߅~8n=ВX|ե7:W@TQ02SFQut>L 0*aze9}7BAGVi8ZD >ma!L.{"/Q>!tPJElvÓz71~nF取Ito3R(sF/բX畽 LBO"4IQ׉K=]'7(ujL: L ,jlll -gDzmqq7^xoSJiuuW3\.ϾEN1=HtE,KIfߙX"Sc4;Jr81 ] ;m7WVXI؉{O SS$LOH$ r|WT8P-U{JBVw!9vzVXt͙S*AKgx 1W.FަB*D6F33314IR;r8d2NQjji0XquI[5ƨrW{1x/#=6I&PJai% !Dmi" e;W>nzwED!tӷ;W0Xc\:o31Ǝ\A]o*WvTSIENDB`b 6dp#x#PNG  IHDRw=IDATHoU?޳cJIJUҪrC(rÙw↸ 'AJ4m7"7q}3qFvV}}}bfcϿ4i4T50b8NQ*13(Pxzjn)YY$"YT,E%|w9B\򣧼wmV7Piso˲ȻFIJcܸ6ۋ  ÀnҥwƸ^l؏(2o  1cu}WB|='[{N/}RR9 pP~˔g7TUEP*z20뼳bbĖs\~(K#%GKsj޵jm(""XH/F!0 , g_|~i_13u}̲_}f>LLI/`mTIENDB`q ""[e:x7PNG  IHDRw=bKGD pHYs  tIME 1h+UIDATH핱K+Y3Ơ XDU  X(V"vBD,ӼBB6vYR]AcɬI&f2sgg<} 0;ss^o@Tj?45ybtt4;77 H$I]_ɲeY\%uW(4BtޙeYeYnjV5M5MӽpWWW( wwwE,ƒ$1/ɲ$IDQBm 3Rqz{{uFѕk2DQPױm;+h6xB@<gzzڏiJ%lFQ8DQ6]M6MuiZh9D1EAUU^^^0 ۶?T8Cksxt]zNR\.Ni6\^^299I,hP*xzzT*Q.jAVCu] %j4T**777`YۄaVVVH$y<( 躎8q4M* 2gggdY*leH&i666HRhP!e}4MTUUTUrjvwwY[[##[[[T*QUcea6f]?kkgfff۶@e8Ÿp||,$O2d}} xxLL&db!D6 4M#355եw댌;5,,,t%B۲yn)^Hէ۟+jTU= .W_B-~N+V0 IENDB`IDATHǭoLeǿw,55EL4%5YLro|W2}h/|;Mɤ=HYl[kA^K|1a+Ma\.'}'?4y~:ɦTη]O> oޛYT-7b?zs:( BOў7h{'OZIBQgGĵ& Ib-2@-jfA(MUpHeG/q:͸r2B;%Ⓧb|PnO=Լ X";(拐Zƈy`^9wSEcAz/aze> B2LbP$m0W 5-Tk׈е+w$s*{7 +Ŵv\-j݂@"Y @H2w֥7 T.r@5 `=u#_DsT#IENDB` ll#gJxPNG  IHDRw=IDATHUMO@}NZޑ8?Gqo^8^Ďm) I&k{Hk9YyofQ"qeesa" c alnn~a9S^^^57(IR~`ppu:!o+XSSsR++-!! ]S,m| PWWך0PEE3(0:: }} 9-B3,@O瓩ee !Ii>98wPS_Bp)kEvVUzh01MMEAV_RJ?\&ie ȫM7ߊY.hLҨZR[Ar} {*a`cL8Ueeeև^Ai)T٭99EnW,!$V mPjbE]U*YsVI3!nf P=waH՞fCA^e1G9-˰Bh>k%; i[DA<Yz|C!Fį,BVM+!q>==pKެ(J^A_f(pb4Fxw$|D1.KRxsff t㸡֮4 `*ҭ$cSZ1V1cB1n(`5pIENDB`<`#"$" A !R%X2$܇%5eavk;~* ""rZRݴgvS3U $@%5*{y3_ܩ`m40s X􇸘cr7.=LCc/ J|[dMB^ztdm:Lsj⮇" VP:X΃%FPx;|hjZbgZQr\V|F__v2gQrU]fjs㈬2Kepq!) NL1|mP.=s/&و6׿O2{fg-"Zu|L SL/vvtBwkj8Z&hz ̩c{j[m ȹWhO8B 8soO R 5uuc,szث_eO@ ϲXc_:m cu ZK ;=W "c(GǶS,9y$=C?y.܌SZ6x=+¿Bd,Se*JhQJfqO|IENDB`wI? i*xPNG  IHDRw=bKGD pHYs  tIME "|nIDATHu[o\W={1;N☤iRIRHi1jIUMR EH AETq$$TB*mZT$j$PUIcrt{\'!>͌3{^%\>H5yf7&m ZirpPhV(@)@K{ 7k%93kalQ1\4" kEXFHsXop$ThIrtۓW94!IMҐh܍XFh:=cf}1[HѓN֮f 9no\"xnum j\Y|Y,D 4MoLdq*k[<8H6׀Y F_c-Z*EJ׋^ @̉әRp BjP?Wъ+79(gh-+ԕ ځ5`("& ﮏ*9NUP,zkA7,mp zHDdj(UXrX`k`/ c cd,oHiLyo'& 2+-ܘ\f-b4&#!ֆX 16H ?,F0F }uZDaHP{qfr̈́Jds&Qlk'["K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 0QOhIDATHoLU?<}>.`ԋJ ekj-67ڲzV2fEٜ8+f/h҈"L( \+\yӋ+ ֦]W9hll콓⁜;<mgg/PD.  )T)BhR3G/6Q ' E2@J H!4)-gaLB3$qAzU*W̉$P(%R)J4bbaY 皋H%Pn5D4T )@+%#YJ@J}J: t \Kwb%tLᢄFIf^EDoLUkeu ӵ/;(Qp'kAMMf0>}P$55AU.vM_-PjnM{ ̠kemǽE͇i ēOpK@@_)y6fI6G8O ˀAbSvNݞOS?&|>q;JyyVqjUUU /xɷj~]Oe$Yan"IENDB` zjxxPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQD磢zf:QgVd:㫴=o%E: Y_ X:R78kqc|R4pߚ3X2 AߊMA cJk_II ΅V=Â6l.ބ:TWn>Z=!;n TxqN%N֖UKTbG?5@}eaƞm }0UMd 3$< 'L@Vn G9kwo"^""toCd^Z45=p_H貨ddC# J@R2FNȰ&P(&s_@9l)z%XG<@? > oz+7^;|b#$H"x4= ®o_~LDA—|))!PHA^k;i஻;=0z0/s=shvN~jɓ'֘j@KZ=;^hu̬i 7U7J>|!~is۽s9Bۂ^+zbAnnV7g~wd[+Wa_`)ڷbLavTp8v~gfp G|p 6L &y/NTpγT|;!VQ$uZԌ"UpR]u[XE%,QŐܮ@bD ۯsdLE$kDAD1#S0ƠN!1 1xhkk, 9ɼnTSTQS<J5/^YrߞKS'^zyTbԸs8v3t8.rdyѹfO'& < #i'G71pfdaxLٵ,#wGI\4jj~Jb1pq~oBny.=>`X abn!c%CH $NJz^q3OQnzDLa_3L2NQdBU6di-Ͷ_#Pchh<`.q"uUpu6C; ^Z*חK; 1BpvujX.W 7b8ST[|[|]>Ģo02sLyL bȬ*3dzx` hzި -,a2( z35*5ͦHbZC՗H*Luo53-Ws]OڍuTk[u ~4*4ҁ&W󅙫}Rʶ橬Ȉ B*($kXsuWQQib~(1@qxTJ=n\PS:mNiM`p^Tչ <@￵r" !<@?pϦmmmr#e`Dr gFvw;;˳ G__@~(B\GrE(.7h%jkk"NY0z_IENDB`AC03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FbIDATxڤMlTU3SJA,DS] LH`EbX Ą(& bI I@ɂ%-RKi鴝vf|.LiJ==7y~?‹~.Ο_<pJ1foo߹%]SSbLr6W`̈9՜8+o߱C&FFU1Xc0!,qUaYw G묿󸈤\Ȼ_)a91-]0Ƙs\_cgXcxYTBaT%CjZZZ[kldMTJU[pc8F*1Z,"`-QP"2<8 av0@&7ozF*(B ({U{Б͒1%kX57#P σ*fE‰ K[ұa&T5c*4\C /_B'Os9:;IyN"A.,YB<`4 ɬ\I/0D}L{;7n?|O8:>D#Iմ-GH΃]AUT~tdž!ikI-]-z{)ߺIjzszY-ǓMT%YgIi&?yl ("|ɻw۲8|' !DE?N = @}hڴ#G"Fs9L`9k+RmmhDMF墋'Q^'xq#˗۶|*p3J_Ej=x|ӞҞ󈵸J짟P1R55;j'!`WWzKo'lY0n-_͍ ^P<%.F. ,UG4>Jbg2D$ Z?G=y&IENDB`@v Zn8GxGPNG  IHDRĴl; pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڌ[h\U}.9s2m&3& U4Cjmˠް4mE>j }QA R!4ڛоLIDmSM&dsC4a^ouT3 >}3p4>[,οx~T'>LO4+]*ֽz6x^-CD֯vd"dfly]Sk> o}UC;;}vcQG^>-/{Ol5uӪ-humө 򭟢S_(l"?9)7 ?۹bSXT*Yׁ2@thճx]`l:L#D <\RRjbCjfZX.ޝ:|O[nп.H8)q3|8|oYDkG x7=ұ^T br"Mx[;HǪ%o BƁdڗbq~-Wkw [?Rk拐)dkC.-5KcZݑsٶwwF[)Vzi_;{F*VLΎ&һ.? {A祏sS9'G(_ D?g&u) SWgW~2yX5nPbUMs']?Uo;H,J^]-FIENDB`~ + ;[p: HxH PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##2oh x `PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME/3ڷ*zIDAT8˕]Ha|72Z"Z ¨ @΋.*"¬.*ꪛ* KT$,3ŨpNݦmۅ(*-9?s37kň.KhsGp]yb.FFu\i:En>'>h8Qu6=1vpPt,7\HN"%I+ͳUVJ$90A˗ax+Q}ZGPptoaơ2PAT@JACCX g^?1*mʌFB~)Pt m"O&g*b-/rtz7'vQD œ FÛ@/+F$Qtw~VkL{ @81Ok_-+wtp־vWlVA@N|_jb /زV(`f4@(v+>2+)VWXYд"H oULn`MEsq{6Kђ@'%Ä8O!:Z{}STx#GP FޖnyNZ{D2t.3l/VsnFIENDB`̖]ϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME/*IDAT8˕]HT w&IfƦܘt6 >H{zb-vYb6H, ǂLÏ)uqt;ssd 9j{~='g߷8Vٛcyb[UmkT,/uЙWį *?flo"sc~)~'[$k_^G}+G²BgJ>d$AB|F>ź7J׊:0<68LYS!5(͝w % ۂ"F]ꌟhc8␌CZ%U:ioCWJn)^bs/t+H2h&2,wv& ]m^>d d0D H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##x5qn x ]PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIMEWюIDAT8˕OHTQ7ofSGLLK B3^ nkdI;-**4WAV-, A(JQI I0K 'QgFg͛y3^PI{9DUi1Jppfkn8o9n3ZJkdǥbQѶ'nNt'A9=""RV{!kpPB2)E̕QE9`@sUW|!cYjNg 2!\Ixq,TmC5HD`@L  7-yYQt[jUe@__eP["FFͷwH89lAJ{PXVAW{HmnG&-׻f\DK ~V,G 胈sqkӑM͇D6rPpA3 h08~ޒ;Vb`aICY؀.n@ikOӕeY9@k5g6 {FELvsYQEЂi2//Ψ)Oc7&% 䠢(ȲLE")@f<̤A_Ӯ=@jQ2@3ubk'y@}uIENDB`O%^U{u8~f9=.9FwlN\iSvlKv. ˋ+b]2L KKhGhu@Hpc:JsU>ǗX~`X" (;Hy=sm<'_ MK`4:SV>V\aYjѦX=X$Qcҏm8?P*8Θ>dq~bbr +ӿyT0 ^t q?#1Q)ܲ8S8/OȽ?~?WL XZsߩx%^IK}ZK:$/MpřUC8mjBqj1P4KG(rq*Gc<'O{g ^ԩS8t=[1AN=Cɏyn棝w&P7xo.^)"3zmpIvw;ĝ Bv J c >~l#r>s_;Hqϵ׷h|*I=A Rȕ<nqxs E,Y4"9"6o=zap8' ՘G)t; ĦH0㈭tڻ4M-/pkAH/1c*nRDYr}bG;\C*MD1xPA])B &J)zo *(KLOϐ Il6 BBHmI5bjnb-G4 JɠF' g`&b|@`p0@뜙Y*q)odٺLy=DX'uV2j_#Klv8vk̭>ydb<1(WP(ؼWvv?q/NĄ! Y}@wq#pv A^B1=}n{SOT+`JfIRິZ-~?o0'l-R"p\<υ1,8ql)s`po7lAuZSܵzZ—4|h4q~ _OȻtmS,/bs/L'b4j߱׮mٯ{jz&`2Iyc0h4ZqHС%2s{1f%/(zn`=OOJmWfkhݝ5sʛzM0x< Cywfv%u /̳p`Z"3- wSOmڈزuscruJL̙ ´w~ٽcsovc$1Ln\1믽T~zJӱe L)^>|D" "\'_Sjs[;;ʥ:ǶAt(Ub%r0Aay<\8R\buth"2m+x7IS`tQ٥rQ#t 2reqFx%$a NN j5V޳:33W#%Bkomm9hر,+-;t7,+Z #%2S){TtD 눒o6"()px'R84])'r!cٖB$/n}Ӳ JliLD^3ͲqD V)٩S Ԡ)H#kN_2 `Av00 $I)ڵ^ǡ*S(ܪIENDB` ^^s* x PNG  IHDR szz pHYs.#.#x?v cHRMz%u0`:o_F IDATxt[]Yk~33cǎ[4D\HVQE AxI*"<!Aj!EIJĹ؍cg친9r^{xZa˷[W_/c Buw@H)<ϵR*Y9oϜ9<+W68v!rr=8'0 4LzȤMعF&MV)8~>k<R ՒӟHsL |?.pߟ'LOeT <կXghLQ ?GL6$b@H@8vB#<8c|K?9<g?{$ǨtBgc4!RF)?(Z 2K:Ò9V |DbabκixE|˲nt?~&F!qa#L"}]@%wn/ v͢2U K@ݵX혩 ꅐc0P*61=RgX:D?.jNbz0"E3R*0Rn0ZS$8bXobimrm;JIRy~3dҧVV>/<|O_%jw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڤϋU?YAC"ūE[<`HAAAν=_[j{gj̫Fէ+_~t(˲(GQ{Oá5ig_C@zw;wNuW^[^]%F3MaFTm#N+RV3>ϯxWpBD‘6돛;ǎl0wfMɳO?si{;`TyR&*jUQs Z|P Dڎ{<7HP5)gq9c\LÖYTn"Uݰ?7.LQ,Rd&Pj}JҲ1'eדL1#&1,:̃uoޙsG;f6ߧO[*@(]7xIY=3u=]9f6'83qwg:dKom:#*MvdA;s{/p^e2dZ\xu]wd xBK>Pԡb2zHx kBdϟjj.jJT(hGA{S3vvs;sEX%ݸk.!z :8a@GtRhhY}Dl@拤JjV{ H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(h7s-7lm2e:.&3\d/i5D Es}9"yg=0831c ZH)SCвy1455)d[R Cx>j7H)I<`nNm_Caa!fhS1r:簄 5=36:ʎv0v2pmtvvRSSDsl71"IJKK ˟Eѣ]]M^^RJ$r?~z~xDwj~tcv6a£tttаغi+===ϛ R|ϗ.|e%[ 5Zn)$uPJc $cƐ?>F!.)!\L,X ׮yFz.R] 48 E\)/@# feSz/\䵍{"U+8 aI~!_f!mdD7%,n a eHXYz=]VXƝ$V>ND JJ;VU\Mbc+J,ǓܙDzbFS"AYY:Y 8R0'[&q H._ .*֮I%=|^,)ܼ h+Ь`b.Ϯ&_$),|>龘/cs[twtI9l[p,C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6i ܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATx4[h[ewnɭ=INڠIVtV\k+st֮"XPQT7߄ CPX 7C\Qk:[R99ߏϿC(Pٽ(M1 a1t:8@ 9[woVK"JB]>ņ8ɠeZ} FKgDBkחwGO|x۶ c puNN_~Ź'`Ox8 fkR5NyM|bz'fbG15ykSKK%/El:1cyBCoPg.ixg,_x#܍AEtţJ۠'a>RJąn%rv^d#>%9*&((.}ZbH];͎f# -Zn s+kn<xER= /j \O6w0J):I%Ǩk>^xjn_ⳕ@V"….h``rYժ,Xvg{!ؖcUыTք,!J2DQNsQњͨ4g]YaSJT(FtF"$PS(J~!OtAC7ѕzWK.b1weUz;xY)\BdFUC6+twZͨH+]fh&d9aF@!% wh4`b\Y0Dl-'xQ@ IF@6RoQ݄$,kʑȫZC$UfkG7aIENDB`f XXv.x}PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq * RKk%[H<;\0 imi!`Z|Ƿ}$ź"25UAXs8~Z5LUhjj_d޿*kXR(J!R*TƅGPZ#c$e )7 a$|c͚Nrb,s$I8wb44D 02vFF0rJݫTyjĵ Z24I' }==#"29?njƆ.G'~_JtUR&R2I'a/~S*or.^mۨjLOOӱAj@02vKH_=zcẤщړRnLTDV0xAnO Hw޹CL,[bihhhٱZ??|S2ɧRYnqLoll/ \dE{;!1cô-YR{jww.`pH غeL f|rrwu>ԙG?vMM-}}{U7 B1OezbyԷZ(;SU%#VtR.Q*/_EIENDB`5E $nx`[x[PNG  IHDRw="IDATHA0 DǦH\ˆ=ʆojϞؤR/QX+eY`gffcD4a۶zPU`*RJPU*q|YCc|s=G @Dι[.̥aqfvsP>5,[tL._/R1ndlK(ǣb GĚ>gSZP:f^9W˴J-Qn=-QMˀZmB /*!zذÇ;RsɯU4S?IENDB`OLQw&xAPNG  IHDRw=IDATH[pgaɁUb#ˆ  F#3\0w EZ(;)1 RbEvHhKMN^yoךw}bٲ7I|3]nhÆG8KI{{KWJW}2NO)7\{̯'t){%:O\m5Lh_T (N]<EF{.֢R¶,@{c N @`k->XPJcEXc,8 v.``%Iy;RcXkf1ĊD ~*#dPJqT_JPB@ XIAEЧS&mbc;a:7.؜}k}ŽgW&i:Fsv*(>$}c֭dH+|(DQtP(-so.xܫ+dHcGem@fgg&4riH!j.DP?'i`=@KP@"bnfJ֨xmB xi} XhjuëEQ@UAw/^x9InSof}eSyV *}$:R*E@P.GFF"}ie)Bumz5O 6J9 OkҩScJi*I(BEbXLmE`of{t{yZf8BG@M̊s qoFdJh u/,rTz ij~]s 8tn\^ݒw4( |}OJUsyfο=wss ܽ4~s҉jO. Z$]^+W~trr??IENDB`_ąk!j& FшBK@ko̽縘~/'s{s3FU?׉ |n 1וۍg YWnm)tٖ߱={kw{(Φնj)s0x7"c{|w[{,9NJ0\4R(uVamcgqvqYWcCpjSH:eE:Q+:oqQET"41#M:>Q4[%XZ"^R SHDJ*q,.n^D*6* V6U)/YDv :WwnR%*H]kk[,9g@ * 5L*%N74a R,H&BWj(rtr9nA,B30 c4̓64&[9dZ'$Y%e7:yk8puQ5-wq8:}+ ui'ufrt21c*||ϣ#o KPQS[_/tss<ٷ%4Vo" &y Ҟ܉ < g I]'nEʙ#kRQxc [ nP=e?#"0LH3+sQEtȺ,0.iC :ݽM~gWs<C&l@8\j~riEmYR-Is}3N}e|׹t|켿p7} W.*9Rn߾1:OPR[I~^9kraSt?*$ԀȂhbbraF6.Lp  ]{>x5PNG  IHDRw=IDATHˋUqB"@ >0Wwʽ wnD\ хd#$Wɀ&F2t=yNDnzݯ9{Y==r)ec<9}˭ȉ?>qcGyzƥK/G67`dRK-M5)Tc_NAQ#HyDf- D@)ned̰E 7_dAL  H8=j)/S5PEH3bk@7l@Dj@R/2ww6Ͽ WO2T{|ч4_˥b0od{3m!RB$ ḳ{r9j693;,2 Z\@07hPZhL0-P`;׸rU6&*6']!ң䜹~:_~-hJ5,ՀAiyDKM|2ɧUmY=uj${*BhQAUDhF "Գ--3Wk0/p)nG0ͨz0`PJ M,TΙ(׾-D tR mRJ!"ږѶ"Wf+w_ "E̓)mҶ*RP-AXģ=ϹGߪt/\xkx4f<lF G g666L6GmۜN|䩜DzȐT"ǼwVEfvik_v9#)LEd l h#xTU=028͛{A$! a-ATԚ@! !xf$ ׹$"aɠ @@+sM9{vZc]eJQ((`ڕ0li;s淬!:mm*gŅim`2uB>91(kJzՎ; (kj4H\oC 4Ǿdn|+ilvT9G-.FIX,C{|i8~ًP(8kEC$M\.sv9hJ[ҋyak>Di1Y s2(J(*gR}{xrijSCΝgGJ*`Y T %<믽_8qff.R,QX^^&M14 #"{bs9}کSJeHxISo94ͦ?bc_Jō ֛LNLp1:;;iii{%O%$!MS4%I"fݵJ֮CLNNǘRhD $IB ϒ(99>>p}Tj59Z6''P|.O>[wcX|zYbT5}{}Z'|Zvt[R9[m:c5&kLj&gϞ+fWNTUUM<LMo_1 cLS@pMUmc_/X[c^ܾKQ S: wp]!i2)6߸@pIENDB`77e hh(~T x sb``p  $?ORAN ɼrؒ]fHopxD30p 0#ì9@AO_W[윒VW_O IF808&(gd({7U{8X~;4o1淇pz㴝w~~-u})-)iy?$]=*_Pps)-:w{Ek +SkCe(wU{G/_"!3vlT)qmWmV@g0xsJhit]8}r!$x$!މPNG  IHDRXbKGD pHYs  tIME") IDATx}ɒ,Gv9cM^M )B&d&fZZ;-RЂ qA62ӎb4,dֲ)݀0PUeF"&9ބǬ|uBP( BP>,X8ˣ/Mҳso Dl^?!l}!2x?km=.h^G^#~->߿WI\=P| xPNG  IHDRw=IDATHO]U}Ki/[-UJԑ)5?9hu`H8G^6O s^{98R=:YZۨ*==K۶Nc (XX|c̊U ?T6Oyͳo_];T.[(YǞ}Ǚ B(Eb!F%#~-{ 4%>Y` p5 B])^`˶JE@^'` ["-q;o>{B|0Sq07 L=6O~Y_#J٤FE/{ Q{ R0Wˍ<>:mw_3\=^N @`S#sYB⅙;T7E ϑ5Ddؑ5yG,/?/6c89Bohr ۇY䀅KavחG kt<f+iAC(ABrDeۧzE 8#@7FjH& cX" bs z-s`x~or 0 NK0 D+.lz/sO4yc!θ!U`O=" 6ɩ}r5 a@&~Z8b˘͂E2/i~R%k'GL6IU ulۇgGh5NO@XGp<.ooH~6͐P4]@y)JdBteb[ǫD/fe:X 24 =W+޽p?{ݧg` A$q~ e-870lNv51pw]--ROQ[xpAO?_~>GVᛪZ }]`ס21$"p;ѓ%NZ"BnZG<9^3o[/6ÃΛ Yդ 'o?_S\RyAbnr7d vq ,9Oﬥ DCSRYMHE^4vL~._~W' ՛!RI˓yђOS1"0+k I®bnVbk./Ƹh&fg>`%+&"|{m޿ه:K\^%r) z a= >#MY/ƛ[<6IsR A682k?LSb[A*7ֿ{?\$'`q2z0˵V4F1'H2t1W˘:uGITGzI~]c}x"csK.Uҭb5JRF|} _ZԆ>!K`Y?kI.J9 i"!֧K,6 4rg -llR8cK-iAl8M.kYtӰÅ]wE= z G1Dr\mzX(}vigEDYoVswrtʹ {I $Xb u C|73%=%GK.\s U^ύWX7XX\3~BZ$&m׍u!b2W-b/_O"BPۧjdd@XvI@h`u="#n<!As 2Yj |S\ƖNnq1U.+"1ǏN!tS.^'!XwLh.RW3Q|}jE Rea N H!)C\,i x'HDbј(oxg y &Rhz/`ySXӴzgd`g{H걿X)9^Xd8A.)>O.X A|~?EAϗ RYu4 ld`lvm^wPdX99?a ZH*HI.21wE;Xs,ҽF@t VOjRzy A`WR5JDz< Wf u);)}jRmt 3?6" 92!yyOH ڵAz)F˵O#uGM0b`\$;utSHŃ i2{2ƋC''z35n5F_8 u~KﰻN&(НGOɬN7~LpX-  -[@KAjQDKx+$܆ߠ+;ݒ+HBb*;OMAbSnt۴Vuf5H1Ac}r?fxA3"'<oۮם4Q(fOdBbAڮH}Q(Oa㦮ٜ~+ӓD1$#|R6w)Cb}6P̅ d6Kt0-H| I69)HQ雓ӲXYM>n{o(H%$b !٦T13IWa 5Q̋ R )љ @RO.bF" ѿ+U>/"I OB Y) kADDg " )JRjҜ ( <h]lm& >W@;*fDLA|ڵx a Ҵ"2D1~0ۂ(-& LJsO$it cZ%i%yI.VIED$)pfI}DqT,R .jz_ Yb 8rIZIxDڮ9ڨt:9{^2ڑFuLI%c^kH6/[]i[{+#Y![6)ĭt#a#`bUyo\+pG,Ù4o ݃v%)om&:$gc`c,lMʤ>)ѽ T(f8@t8W3JqljlOuy\-K:VDUͧ:v),fC:"a} ><^aOEb[?Qr'5y{_PtM4,wCp3fu]βrK})7=>ŷv3og\lN#7[YRWEʶUn|eOW^ hCľ)o¢_Ƥk#dT!|B>=Go /\l:=V RUnA ,ON؜0^ <%HMb\Z囘^js~e 5 c ްo16HVWI(0+9u ƺݫ =k0UyWE?tTz]@W^WٸXla-M(+Oc^~Y2I&YyZy ,-`ⶉH^LU*FY6i kKyEU˷*uB-oWHPQDEʢM?R/ePIEu+SN(f izpC18GIA+4ͫ@-=A7mZXP@@ZxV7RnQ$Q&z˙du mHZ9Irt<0ߖE* f '7Б$"htD$w3r ȍkUA3eit"R(AFz4ZM*fb&}` `bUJui^Ō`YI.VX1ۇ+s|i7Ab,V1כQ ² 4a\"E;ӢDb617P v $] e&RLt|@Aw6a DSH})bki5#2Rk'p$`QCtŜ!AGLI@D1G yhESlȐhN]3b~൚W13">1qQJ(CAցx]Q"Œ2eLA4Q9)&AC17LV.IWSAB ?=j^%b`QP!7QiDITE>T;7ܠԤPퟣ%I,Ou&1b1 7q#RkŜBk9WXջ[q;_ 7[QH4?Je5t)3hVNd +])}oz#1aҺmSJ%$A )kĨ,>Cb(& eho ~8C2Rà/5KrܱP:y#ӿ%AUif )Dp5/Š=.O"9rP {Eu,LPLv4G\Tx̴C V Hj  '=])@2xL{dU`]ph{=";J Lþ );e*HqEUGki_*'4,A K.: bN ;JT`)^eݤ;cZu)R~\M}gug(~wGfXX`2t0hW'eL|R’߹Ҍ@Pk[(r{=v|{:SOX%HaƢ0&0O:B\ؖ8(c TVJ/K[I*RSXSR3UM@K7 GD)7Ɣ*W/-<[1ù f Xٷdl;2zue띃zɅ] mY7肩VdZH$CB {Sԓ|՜={_%U&To2v $Pj:b`LWIjsDѳˬzdć+q?M(In*f4.NW|ӃhAғ#Y XG rV][NDGŜ]B9h&YM Ũӱbg 1QRUv4^Q^P+HoCK"UcJ9.g{,e<؀ɀaUeGtr#:-GW2M~Vb"i"f0d@F ӛx(^D&$!,H&]46sHd9܊;hf>4=A0~޼u wAFCf˚NK;fATR(3*5yՋWWo:24c;K7zw ꡸q$(9w mRKK1h P,`[;*BˑC],XS{b!@QP(SbY%BcCI;nցA y>J38,Cqȡռ E5YA E`PcŝQ(tD Pr }Y,ytŝ" KNަPF?z]' ZkwE "ۣ,QQ6r5mݏr0;•Dռ@ IP9Hϕ){ "$R"[{ B"1 %PQ)LVX$!yX$ z C "*b-%˘Y QI#ם$zRӼyJ'D1{7rM's'"ZjM}b]ؒYE? "{Gui^GH6AbUYN'>H:P>tB ž hIDAT-~ gW"k d"ԃW{ _ |/?3v~}ws>?W'ݿO:S>]"V,-q) ۢP(&![IENDB`PU @@=~xUPNG  IHDRw=qIDATHϋUǿGK6f""9IAaeY  Bt%^QP$bDDC0Qv]q6q~<0;;LQ]>G[{ɓO \ADz"ebX$/DyqJ >;v"8s恿_W}Q,>>}VI7n|xރ~|t4tNܭ8Bnl?^>A;UcVj _]T~"ok7YqP9sf*eQFѷ,̤ ٹ(ѤYasZ5grxUP3|D~8C|k\y0PrFx0*"ªH}*B5tEiEOD`Edk'Xl-$|.~Q`? WWW/.677H]充 J4]3@Ǜ7(zSUSVk-U5c~Gyz 1:*A|yC-xl4pt97G$oE"PNS28c U`ʘ2D1kC@6Eba`U~|OvrD3ph΄jL&"PDsg*rp~ni4I`i?rBtyC٤ 4y=n4V8bV7[B& %`h͝,:8'RP{$^`KcU2OƘSBr19cP*^+ Ext~~|׫}an B /=2IENDB`;`J(IDAT8͓]lSuƟ9sڞ~Ӯk0brЄ bf q1J4b%#I;1u]ڱ ''yrCTOJ _J:]He.M!Tr'}a_o6djZ#pq ɣDriN}|CڞcYEZ R9 ]#'DVxHp? 9/6:thq(f>\Pm>D"u` Sd72{GGޮg850p3 ab̻-O*p}/.)I_=}sM~?Tam`{]dN^RJޏ 6WyhmP Y)0quR"!clI7o9<W@~gp &Y`Ѭ(ϰ,ZY+'v5m c1h2D;m 4j F;ܡq<cvvdLǏ)L=OUln,v ߻n LZ3QQApm]<27bߐ`9O#+(VpIBw۠sܿgtoocݱsh^ C"D9WMޞ̝>z"t,5=B}C YN(dfear:`eCjƃ]Ywʼl%7m Sד,M ?ǭO4j+f\ any;uv>twE7~Xs/y+GJW^h-}lfEuS*f!.J(~X%Pl//~.;2hxPNG  IHDR bKGD pHYs  tIME +.Zuw֙qfsad'~O98 ե%ho_|O{{W.0gF=' GRA)4BRsR8X8;f 45Q_4h)B"RlCIY\WlѨOꐿ14-%i-40wPm[(eaM²X %T|Kc.G4SrB(ĉjcb` 4hM;ŞܨiCACEcf\?HDD@4"jh $9'=hn:%8R 4:ls&풪qLsCZWdˏm}Y S3] rerd75f&Zj(]D1GZkt`N2)̭[N>@+ɤGrYJb1^ᇭ[9S^M qTcAu}s>Jbf+E&Y'x(B1}:S&+83W#lk;!TQNdD",eB 8r9:;;qMIVa~>Å޷z:fZLDkM\}|G;Ϙy6n|2W0UnbFj6;P!p(%(.qX[C+N5`#<£b+%ɖ!ij>s|)`(]6ͼɺ ֎pl9Lofe |h.ܖ!R +y(tn.Ҋzd3>x&n+xal%oqye{_wY'z{{y- ~`/[#&;rl\x˫? /[<-Z+aZ6 &3s(;2j„VhIENDB`X 1fxPNG  IHDRw=bKGD pHYs  tIME 7 G*rIDATHU]HSa~al;;ڦGfsE ] !(Q.v;)Ќ ~̛ %".2b*nja -vs6ξJŸ.|{{A0<uRLftm/rqؼ׭ҙ&&s}!;oOOh4,ᑄu("ci g/։kϑJ}wg?`dY{Qʢg 6mBkͦ= dI7iM+Ǚ_Vbƭ^B^-߱\9;'OsגdjmlhO&[rɧ}&b.}0-vSPYfp͍ϟ5&9o|J䁄_YE^2)^p5V1a3.n$E'ba.PqG-k7 Ҿ|yo31-~jQ1J]v˖mN<剛N來29?sR6+ޜ,TW'*,~dz[>f8r>N./+wƮ^~!u٬㢸0-87Ff7^͜3ŵ~}=96UÝ83o7>nqu[;tqq梸pP%aj7g+恡{vܑjxB(3`2t Ksu,K_,+Z^ +cN'c:DJF#HӔx-Ou_S+W mذe)D n1u O[YWRJtwgZ+ΤҾ!kɩsIiej.Kl֊ Zᶚ8GuX*U*n5ulhoIENDB`m_ 66>xTPNG  IHDRw=bKGD pHYs.#.#x?vtIME  !ȴL8IDATHUe@73}nwRj[imI`UB01&0&QQH !F&P4 Эm}{}̝$D?pr~8Ͻq5V!Rk!R t"Сq(t$  LŚ "cmW/Mx[{ %-W d/ I/r ߠ٨3|?_!Ja ؀)sSF5aB5'[Dnjg٣_\8J6( ʐٰ|[2LAH) F,#4f5Y8k>֬4B4R!QQ*&_AJGH-|_H%4+H/1AjR!9N]*7 H"bZ`y'1 h e%vz=:zUm~ Z|ho!!€V veƘ&A[Ȕ2HGJ2mXPtu4-t֚ǎj M!K҂DV# A4Q22X,[A 7\^8F"gr6t|WhC!W--0ؕ'o zؙ2ԷсNRzzx_Pvk7fdtCm:3g. PP4߲nۃ89*<[ X8w|{<5!x<زeV ^.+RDQ(\D*Rp:^6FcIe; v*+_(q= i ,ƭV\*# @ x PNG  IHDRw=bKGD pHYs  tIME 8 nIDATHU]HSa~ώvs[.("#ZL( !ћ.]$!UKAX D&dӛ( E9wv"qNo"|/}حJ ]]]Sd2=\%8&ZZZڿsd Bn{ezz<ϹḨSFJ`3a`nnV"Pu- z6If~!yB9 \.wW_Y-;P ˭lh  *hpp0zvLF'h4`0aR)NUՒF}]z#, V+'I!0L`Yattey+SH<((uR 4 ؒwV^i"#&3M2^P1l_+zӨL%N|2 16]63UPat:կIT&*]yW" mScs Jkm2 YEnA,WZ$~%""bPτ+IU2Vc ZO@_\/Nh`-YbʕQ7f?*YRN Y>ܽYOAD1 g_Wڕ()w?}Lެ+i0E3Ik{'ËRJa*f ;tTfG3~f5{Bo+8msf^J`ht6΍;Sú=?za1o?0$"cLw=ɈUJrI~m[w~iO~w~%z""QJ@؃`b&"U sj'-'*tIENDB`˯@ pdx"PNG  IHDRo pHYs  tIME  #O41|IDAT8=KoYSꛯ#ac!240 $4Â#! H؂ Q2d8'nw{uUzR=z~hO28C@D@@L\tEWc+un0dD$y/LNl0HĤ@T;'_~C[ /K;Y1|(W.t]\2$/)g8Im,'രr|v3 KSGk RP( $"OHɲ SGFãA eZ+d8!2+{DKpI}J&1=OuREМ,R{Cu\,##{^F7*hsfױI/)S0TN"?ѓZ9R r(L0JG)yll-rev5AΌ}jrt0c6F#!>fs!eJbMr *2 '/8=U*aʡ)?0ݹPgk#4l4ZGb Q({2vw;R lȱL s;W:@)x>:3\)S s0ZQ 2^Oޖ9R4#*](koM·w(r csT[dasYHl^ff˻wlD3,cc/3P*"^09[ZEfw?WޤPڠ ghx~xri֟gF9<6$EV3֠g{oU.%" -Vwx泜9n.A)aIi݄a_:}W95HE޿{fo_+#"8ݟ} k%p)l9񝳿+|/~E]{c*Gs9JzRXLpI埙W':`,4uIENDB`o<' :::xxXPNG  IHDRw=bKGD pHYs  tIME +: 4IDATHuoge{f*(("|tn=@ݓx"UMl}N?gFiƽѴ{8:vq7o7pM~tCSK YtgqatMCcagRe((?oE^<\'T2@al+2hx sb``p  $RlI. Ap品" 0kH{+m.n~cڪc;B%%y% E%) % | <.!N՝ вaS55=1Irf/ xǡ8%K*^_L9Ugo?QRJg4tU[sBOgRZXpuiZn L;J5UfieU$έ~55I7e$ܜw)MTck쎓jpi  ??^s$鑝֙~sL}3 lGV h(xaghgd%5v]R#_O$K=GC{rxN b Asc [vitǫy|]j宆 ۂcS&\'IJYIENDB`h-, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? .0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 4õ:IDATHϏU?Uv! f w%HBcHƄOML7ɓG/&F$\G4ȮeXaggz3 \E\^=3<Ӛ7p{8Z)BD]tcG _U5Zy瘞+~ A?t~bv䣝Jy毝T6L$#ñRlk%$Bb+ cֆ}Fz뫀 a" leB́J͂~߫FI|HX?1%ӧOyaߡ"+~{נ?JY>q쮼$xfvyoEcOG`͖e{'ʈu;;IENDB`n U$ LxnPNG  IHDRw=bKGD pHYs  tIME 6 [͌IDATHǕoTUk}ҡR I* >Bb˫_Oň1 wxwPNG  IHDRw=bKGD pHYs  tIME 9IDATH[lTU3眹0e:LW@B[J*0 2x{PNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A,8iEUcP@A!⃉@L$@AA -Zzaҹ3shFB؏k׆n=ڤ凪습En_)2~gPby˴Ɯr>zG@2i%%r0gqH;5 U'EB }igвOa[FN!,K`SCD+חdS+[Le3[0]3L2N soHx:a;t_k`_74Z>cFo[0/|ެм%O$ %eo:}&'J4E Oj:6vzSIp";Edb]]75;0Ny%n=d`9EliU)"V4^w M*#5 P\*r\윎 Kp5Rt`o4d;-iI%i;mSfqm ^8{*k<~XOuOЅ˧7A k`lq"">_,cobv._5A5(dD,Y?F躪{u˯)ZSuZV=aZ@0,t٣}-!ݫ8K{7q㶄W|$[baچ״ 󅚣z8H0(na3A1NTT"ni㖛=aնl humx^Y@b*IƑ#tWqhC$RlB,; QZ_yv.UȔ - ?Y*y}fAɖNle67O @|^5?OF$?HiԖJB g'-='W$@@F,vU.)Ǫ& w>n_@MSy#O?MLUql44w'7ݟyo<k;> OIENDB`j] 7J4 FD[oQL[9콗 V2g}k#߻H#N+9n]SL#̇ ̤bb$g18)$xL!D%*‚* ^1^-0>*aIZѨ"ؼCo7|2%]RUy6,gGBz{W5+vb+ynJ[h6,]V\' y@}ESφWA0et&;vᝍͫh!R: gKȣ>(;ish־ď*sF.##1 PM&Jl)[3{ ^?ԧ! l~gvȠưGDzaFoZO#mO0Pyt}=Tqn}?9\od8/bj˩&YH1+FlTA'jLj @Dl"E|Bvɕ#~w笡9jU5נ>؞U *Nl?E=eU.2s;%TF<,iMhNdhзmJV^WNTS:qliYYSo̎e.;L*1Bz/?qڇgDUf t'p3l$Pb,P|GhťQΧrAckW = "NC>@p3 @d~CTOK+- .4'gOA`g |{\hj p{Վw#`]aŒ6_tsTE@ǖɪJ*61 `E0y~?:tj-SJO/fǮuRսZ B/ * ˅[FR#㱝jgΧWϿ/Dd ]jclSR/ W{wW5ov|0I#f85ydCL!?`AߧIENDB`ႌxXX6I=9ֲ5@0%#K9?CM/ Å.g^+yl̹7+RIq\y`rJ?V.8X)t}ƪ_B]3̷D/o7$͘It5ǵse3YX4'(uHÞFxk5#x" dBK7쫇9pzbPN @@#h|(ϝ0w~Ѭ̈́pfdQ 1dܑDw 5zFWLOVF  IXdu2]8Q0됞 ! odF 7H ZmCHe5*U W7`'0o½` ބ:xIlvp"̨Xdߋ&M=?'ۏDZEjDvQ<DEDF-=/q3UмLPge CAX 8j4, Vf ݻLeXw YalHEO4݆!NbZ=:A.~Z߮7] DGO4bcL4hJ.G۫c s7+.2^Β@ @9kI6PVHC^(Qjm2\p (@3]K ;. "[#f5>ЭczzB@ TE'Ӟ$t F Ƃ8&H*8IENDB`, Z 8GxGPNG  IHDRw=IDATHeklof/.k|0m_(. RF*jB#@5!@B88JJ J@15$zsc]ᕎfy3 "ᘣMPr-O;S`j5ŬRT|w{[߫r;iG/x<{<#DUר=l~&?/-P뿚j:i)(ò.7/X+c<hȆV;37VzqVn2W.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGDC pHYs  ~tIME->7IDAT8퓽Q][k[y^D<Pid#{! 83'ߙɘ$BdT^rvvoAeTsY2@,0KI QqHx =$bp#e4J<]%Q;fvo}IENDB`ܿ~y XX4 x zPNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"48ϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڤUMO@}NZޑ8?GqoRq|#RB(}'ƁHid%yV"qeesa10unTy_dLlmm]MNNrx"xApQ011{S,.,wogg__[[E1ƃ$7555bQ%LY{a*́mt<QIvJ;x=dC;h̷-p8@p5}FS6iȩ@V;Nozff3f{r f~y ,,!+YDACR eY}(ʾw@Dʣ(`ݣR@  6& (=n6 }l9d_P#clll$Š@e(Yaj8?B(O0E^L VW?!61nnnpռ*nq܊_t:|!wfzHqzR&Zu]oowVN|߷ϫUhHSD̓>Y|>__m4v}-ЏM&IENDB`jo~ " xPNG  IHDRw=IDATHMlTU}̛ymiiPZ)k qE;Ibjܸpi\1`Bt!+ \`E\BaJeڙS/=JDx9~w{;\d2'vbճ=QJ)dYnܸm?߀}}}/_w]۷o H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bb7lK\<\䎎O.~on}|Сɓ'===A&N|T5ۿ3::::88(G9_M#":u ٷoijP:}Ҷo !qTL="[Zk,Kc_X*sJŒDQ$Q)E1E,bHEDq\X5u]r3qE!A9` *,[nwwRs V3t=zEZ۶ήLytvv5voM=U<JSS6jkkd6H)E&Ak8LLܧX,nV c/sE-"LRcfS\B)¶l2c6֚8 ,1sbq]^#5I䅢B *&T*EcW+͍WyXw\.(x Fؼa?&S\gbb֖(;v{9rco,n]" ˉ"Ɏ)n6Y.gNx"!RdViknEooR?ƛsaml槳 y!$8}4um,es:lA%@gaÊ0D3e BcJ?sJy"S4~%Slڌ8XxW{لm "=▐U+VR'k"P}ytW6pBoqjH$<c0ڠT'̣{LMe΢}O¢ΥV>?EP\.S.@ eD `>KBl~%Q6rq"/؎Z"D#FhMFa8 lE짒U-x,v]SJI("@2B "8#cٴi{}y}TIENDB`D/a^=!@ w0 %xﰒ:&G%%iO?/!%IN* }Nw| ɫ60.*pQBU̒va$ ڨGcS#@Jz&cz8DK&)Rx;UVLRąOeQ_߆eY{thV B+ja."H}FAZ%j>|89gNaV 酐ct:ݮR1 @:X"$oCo&R%\Z Llchnb_QgskF8rH*ONdI/iw[L6 ۶}ǎ"O (oǬnB&yXA@)%~"֎:&"<Ї4 Rh,l;٨kY --f- fYf +GсTd1`L"}unĉi.34NplH9I\" eRھB_N1m7v>G}e70m6oyt2c#4HIcSdm8Z 2e[bgDB!kh> $Ku>7wB>pǞ"{'m 4Isk)\iGvꃌo?>mH1eFNJ*CC#] :gh4Xɗ\vn*1%F9i3w!t[FZCaŋ1j+ #ʓD29pK ]w@G+iy! qzIc%X6r; ;q:?Sݿ Ws?,M[!z..S]%w8pu5WۋyQ`8iIK2TAkIu=RϖVTRO(D޼q^najjz{'_ǏGo>KJ KQwIkŲ1o",{W1Yw3՘k.̱u| }{RtЗS.sS)* /EA si8yhc I6qJ% `JRaa~ѨשTٱsbsQأT*1888y(I<`)^<]ߧT][+x9t/x_}WۑD 錋mKl'oC_Y<:Q 1^'{kqkr#GtMxHiaFkzW+_KY!z;IENDB`wn - x sb``p  $RAN ɼrؒ]'E8 <"Aa%wDdE,q(qM+ap.JM,IMQ(,Pp o*qj#_OV8bywu Ʉl?7ֿ^uDÉ0iyο;u g4/ Wepwç?{>[9O֑d{a㑬fh6+OwLʁu׵"ؘ%:Lۘλ. o5nxFNw[5fۿueE_d;k\O -p Q~Sn`Ns듀^etsYxZSs% LlLlĶdbLl۶m۶m'7~?bQ]_:\,,@U@ ?Аy~hVRDDAށHJD?J 7x7 PNG  IHDR szzbKGD pHYs  tIME hIDATXՖ[]Uk>\i3LK˔jTbb$iL$`4&%A/<`"|A*H` "PJT Lι̙s^ˇ)#xO앵w_}>1AB^_ !BJ$ J)>i̯uHH0 䑖Cp€k *9CةUD/\p<@pVvH" էVA!k ' Q`1P$Ua%(̅"´"Uu8oJ}y3WOD<YԺNTA/c 6X6c| }9dhWzA6qq"eWM0ALI=Q߆܍4ī(n s~#'J!'%&cܔ+R._@̒9n"JoCOKdpy.hpH :`}u~zA8*iDm]Պ͐.[>¸ʌnfAB?̝|Z*QRTS"ڨpXr_fFM)VaVQG+!$X`2 ^ __l_fPWx\x\\8t];g?aMMT-(L>ƹXh^|.ܪ^]ڞzj8Nff<Ɲ2&o̢Ya23}9 )!!]My}xuοF0k0Btb(6hNHx~ axMBD>7c-sڌy l -w) YY]d_7= 6BKt7t*j &eG JՑyw}lyT;ϦU_*+%6b.hd0GCkC|Π6,YG*).5['39nlqޜi ǁD XǥvrhAb=mҼ 'j/<>"!#,0J4 rj+;Ut\IYIYJ)M4f44G'#7M `&_ e4XmݒZK,fop5Hz:F*c3*u[-BLZL6|)h(>Xyl=(.&'OxfN}UWSlny="c&]u5Ӹ[w<-lvnIz{A^Zl6*GHr;god^g5;hQ#-:T8˟Mk}Yu+=*×ie:4veU˦; H<,5)#LU6tm?u9<6[ej$|%k/M5.Or<~V}Ϋݷ#Wvxmϯ_1`odt=ck?{6.ޑ.Ml^ f5naBs~C$$IIc qpLfKJf'|~<.+Ow>df5>"g{k<n+kGIG fg6}nn;vG )?ߍGKߟ \%(%4?ARC_ddaBHɉAmBDDa8RB*Wu&;@tʝ̝FC~2e&zB rDtuݱC~epBM|\0 ӳԫؽۣ)a\PH$w|tWxڙ!¯ ?Vm6Ԋ ] vtED_ۭo\ oֶ>o5o8S#PI$ ]`LW Omķiݫ[O;g;l {FYꊈ Þݔ37`ت+{7$}wKz2zc7WS1=Hp[s{cglsWx{'N߅j]*ԷC7+AQO!fy ^7Z.RwC;庶tӓVѭ?⑚e-dW=- @uw8L#%wɯuž;- DEU,NP&igC{AcǾ%ree2kOpŽ<(ܜWC,Qt ZD$|ǿMjP3ˡB7SQQ@EF-Xjl$o\ B.6d4\@9åq%2NW9p~G1>b ܅daUUk_ i쥹[#QOm/J +kaS=QVIn rZ{XYVPy!#^3g̱a4RHšnokA"ɣa0BUJ݂ jCzte&0E ~˩LzaEWjKΞ1Ճ˘qd NǏ=CVZR#./yI.3;DZNX.3n.D]gXpuD)hPt;# iF8Hq7hOёE4=1;N;R25>q7 5gw9 PGy9|0=4*X5*?w7FB:FH2P:R+UfzN L0jLwNmV f%9/ N{vRbΚ_V.&aR ڰ(4{A8 ܨ_*1 % 6STgn\{1S_.;HYChh)Eqv۝^>%}.{g>m +x`e/hmJ#% vг"{ނbqf&R9~ٽo+?6A߼uֻ֫z[x[ oDN@,9jfǒa;ToY$<'ǨH0.wlVۣuӄ& j~3=_8tR,}dg4w|q@8Ph&rU{ȥkpZwOwPG?Fq<1 ortNdDGs蹲U9 v]Ӣ^2XYr-K*Tk,R`;6zto,p2>}Ժ4}J/nY=>qdDwKmmG 4|6Ky.O$U "Ekl2ۛdKUprQHjUBP qA5T[%2Xb1bpVJ$ʞ9/j,l[vn`va+FDn cQwhXŲ#؈Ffvwd4S{'f3/θϢ~s Qtr6;4){f8 t"*[5(_XkoU#R+ZmS dSTАN$NS^aWV@rKku$1 VDzI O\gJjk[Ac3 >nvͳB',"NkSLג@/4Q,Jx妈"KOEI4:`(^3Au7 eB ~C۸q)͎Ϙ#axJܔ3ukiMeS+Ыf Gk|<)?|?fO|B!njh|nVJ3b9O}hf nGm~<^33u~r>/v2rEq!TֹL[@BcjN@ڣkF{s'Y;UEr.![] " Ehv!:񗃛 /%"ð ͸ L|FP'%=#ʂ~{sHV |B8ꞻkڢ8gb| UOY\UOP*_-A G8DiZ VU:R}O5 Yt{xG~ޙysl3p n>P園iq0/EJu(0b1a(bjF@Go[Gn+yLEVZ.lܔ=:h5e څӂ)›;В7 #G_#s"^Q8d";ljWv>9ZŠLG.B# E4*ZR"3#CjbQ _͖ Ǻb"{/ A揮/O0-xuWnFɕ:9ha:R-H(03ynHY =~\Hٶ"1 :C HHT. 4wE!E y 7c67s|Q{o!gJ[tJs>xy'[,}.2ΐZW.S*O^?̣#fG-eVAOrht mC\4D p ֚5xս(J4"pIL̈p0G`{ɱܮm$ CB,b]{!-1YѦ#ZyBJ*y(?6= ,Vּwh\vgc8"'lrcTϗ(Q jSlRn q_󔆫#z6F^Uh.snkm?"#TGyZ;0/ۧItΙMz kCdIGX;i,ws=YMSBYgj[s 9BJAy*=3ەkd|xX0 g _pRg@zo!fm\0,zeJF(~Q W\k}kF{ V1C- bY07.AД *4Etɧ=xBP|8],`5:Sl )hPi[Y3dɛ{aKcɼ,ۊjHTzCR쳋H_Y m\M/&RjVD뷙کRD# K16y^pPzxF.cY}k`}ټޠFE<0w=]awNL]6z 2['Pvnd#pɕzeb'<|~ ,pP +eӎFij\D #q eua,ZX_#/Fe[I2^oJC4N-lǠ7ph^I$V4tέ!-Xv5-5(k.Z2pJpttfG.ye8Ts;g$w6 g;%5NU | "ܾҀY-#s%~"n!#~S+2-lVn604^@ڈֈ81`m"D`,UpP{5QM%K1.l{M0^l2ұ3,aӀ0> à+PCg-Ռˇb0 ZO#jƨSv;e PB5X;4]ijUfsMYwXyE͐U0hQBmý!Y+b7*m ˔p :Ow]s2nuXtK+^Y@ToSg}+"=[bQ.ie"T,/Qo[O-:Eڛ;\5׻]s"G~_S=>Cg]/;;NH߅Y~N7,Uuw(4B+C>W6 _kxrro7[mJ׺\j7TIR߸u P΅ O 89p@ AN$_LA~?T0vy|}w+C'F Iyfgj$6@& ybL;#7\!>:vݳTA +G*k󗚽r]tuz?bbV*n~5Yapw<2?U! %yA 6 IABS;:\N&tKTCqbYxkhxcZ2tv[GQ6[`P%pVp)s.Sm[]#S{$y ;uj;>C]`Ɩָ5: ;gcfsG/g;r䍞b4ؽb`nH7qo]w5nCO2\WWlX j=5:W9\SY9fޚ'QlgADNF}0 䤔Sb1 g,6$ \fQ/x(BȖro_KH郮#dfjR})ULkQZ *PKUk~Ղc,lcS43>  (:uk=)_'fHC o7kӟWbz\̝}қnnfϺsW&d]x~6bc#gaJt9S|n¯. S7~紷0v%B9E5ȢwR'Q[7(i qAe/fq_t-D*_qm7XJF\ uyZ|qY2%硃Q=v`=L&+l(F%3l*yFXr4#XK/mgXbVC_](k:+^-C'RpoXkJY2̣·^xaxPIHƀUb1A\F5U|Zb24V1/ޘ_~ۊb Ȗy b!VPQ H}gY j[#n$Uvh~O5pCήy4TCS3'D 9Qk{]fN;;:v~ta0uohu>b/aoJDIݸ2+dixNWOw>"u]۽l7 ^׭ҩjstLx/eôxXPknȂ2e5կiolkl;` #Ov[Яps6RAl{)*J~ٽ,KZdd}!q9EƘ"xNc"2 :K 4ӯ_/5HZƒ P7`:?0% '${-:Iʨ./]IʆAEIzͿY!ջ[xG?c&DqH7l}%ӯEڭ%gEe3x{5lmvA'w@X<2l[!tWBźEp:&\Yv1TaT+&XG3pi8#U%wLc_KI7:bI85t703%YjFK)!2{BE}f4Lc֯b֞]){5NC;Imx2r0I>u"]ujSL[|V>lGBX+o'IL|`liq$g@n*VXK[k}5LaqrZ eN3swg0^hZwNj70ɴg 4ozI֥qYQCA]Yd<Y>4y%2|N?$ĸ-7LpV,(X~ ጢ<-* C]%Fe=840Ȓ VӠ|ܵy: n٧QXƟ Z:Cc[S/ yBCV`V{(Z>fߜe09,wqjsZ&ÝC:Q|)9e(>ߵ?,wjU:3:s1ԋ"7g:ߎ'E<) |Lȶ9v S6S2wj)a_G猥 ܒKT3nnHx*h2@qZyY4)PnaM*-w7WK%ڎ,ξ'JjfkA&meI?8,v&wyexZk-@rg-\mgּo1,PoEDQaM@HqFb5X6&0m00o6uAIIJ}NNΛwѿxGmu_Q*3ƼO/:ԣzoX"nc>Kp֧< ^* MIo|*xpޮj~'~nN |7Men4alBfr0v y.DcxͨU%u1AÐAmG@^M)X DF\iQ MM2?W**-Z|dIzZS X.<'TbF(jlFULcRH8AwE>,@bxDi!1)D ȸ1uc%*eRVycYƵpD?Р-aj5j -j>r]{1snǫzqP'|xo8QhJ#ڜ*j$e{x=P":h!sB]D1;1q/ŲhQk%ڞ9Z>L#q0 "ZWFiV(QbxD'h/ص#bbft>._ ~A3+z29Tobyu;6E``;(9]5"p,BdGUL0v@[ :oni. ,|ێ$T@#hzE(ڀyX FS5kH$ԽeCn9#Eȝ0["f+Qi*Sbmo nM'DR3'Ĵ|; o"9x+{gOL7F::fN~'ڬٴ jv*7 WKlSMNwU˅k~1s=Knьeeic;V y1[-ξ@B],l"W!vM;[!8ŵln<.} ų64([|]2/ܽ|"+*)sPؙvfY+ZF=tQ Mw9AQk^#B*@ kbge1Y9hjtQZ:21Cr8ZAs’V*^w(KATp٤#$Y  *]LӍi]}u_s-OH-ԷCN+XE/l5+m#.Zbs0_V5XttzzL?^4PA# $fNIH=5sFb15iΔ]GWExg$DFc./;2%$ò?#|WӏL-v4%9}89EU3H{-뀞Z#$ ueVͷWQEI--Մ"¯yyYSEэк\ω4DKT. q'&-P"AG(e?)KGa[aK SRE.CFQqDžsRO% |xo{!|4`(8LJ yD2uZ28y>r?E[=BIM3k3 P|i04sy`ot{-P9商v2Ivdr;*K6h&'8y}tfbygvGqriմh7av>d6d8,6h^_6{BpLd FחOb~<Kd:PP-Ce!+Yp'Mjr}3D+r:.'jri|[L7br$(%pM:hK"T-ŭrzg #k6p-YMXw!J/EƼ'DNw(m:UIљJ\@be@vs! |esެVk`R-"hF((Z^ܱƷm&>ի>R4Ϭ_45C'm˕njqP^>el\଴ 6$;x"̞sHi3gl-3R53U.w/Fc$%fa|FUn -fO ='cWZcenGV ok܇ocD[:'ċtJi1VԱvN,BdžˈtROoRֻܐюU;o  ў/`D6B,X.B1¡JzE$#luʭ*,Q;`thXRʘ=h࢟hrj9„$ltTfyНI@QRtzPKD&vѬ#>ӥ ~wo_,;ٴuNiatRm[ka ~Z&/HYW%OgQA,W[OeP.$.F< @1<brgGxޔ]Wѣ^K-Zr$5@yT".#6+єDwK66p>ܶ)\~9Abߚ> ~?8|2=Nh J>oiRJ8 }&EЪDMiEނ;K8llAw@,VwںΔreVRI:#SSGqPmB^G&1 fܱGM fC0eU.׼*σkJmBIHfiw,_<6SΣqSd/fchFJ7X{>pu<P/4st%USrQd9~j+$@S@UyZ%p+CVimp |@khkh+ {3nD1y2$IF`|FzӦƞG!W$UNunh\Ъ2UI3\ڷӟC.]S {|_\ڏަ!e@[@4 /!x4H PƶT{v"T:}3e$u=M 3Z(W0 @PK C2Evm/8G8@g2tH>_}!>c|Gq_oقūh61c}2OVuq|LSzV:#i>CoʕJnߤj|ϲw1{*hi;ȸ]cױx^Z9sB==@$R'"ZiYBOܥ~Mƀk9>Rs%znLbM]) W ,1ASSTU%=brHuΥ1meǑ`k$e彚 MGgpk o XӇk+O:` ckk1/}FGG{TR#%*$ F^#`'8ŕ12?[U:L`ҧ=&ZBkE$Kf?=G,/ŋgƝ)'V?Js w/Wm<2kc;yv[Pw'?va\=3_8֟`+ ~Rb;1,2"/̶&m~.?[lK]s2a$u|04Oھ&Ji`fPFEܨx'hW;UjO>$玽̎fc U0(RXS_Hه4E꒘L*LĝOJ׵S3O?Q ܄Q00xgoE_EQ2acQOuEzQ$ٞP$Ρ!\Z[9y>]aQZ45rR8J>MK!3*՚1 jO2GZX3Q(S|Ԭ oRЬu@ГΚ!嗨h+P'4Ln6*,EOw'?΂#gzh+K7Ì-+\_ڂs<>"sKξ2ˉsa}L;gP2խUkS廹>fLf8RU|RKnlI:|.7E" >>u#<7 s7mZ߇8<=4^kgG-M(iCz|݉5R5VDj@Xr æy uQu6#ufJt踺ko}8LG:3sd7mO)%i"%Cj Bp^re6h #bX4'}9O+]k Ɍ. Z* %%P7EkMpt2<G8u\ebt/?l}Cq^..1~/v8w`m\|/}V 2ʹc/pr-oi^}髴W63}#,,ʒ9;hw)u#0|(BMMNa6ɤvRJ^Viv{mi1sa\bh##[9=(CT\wlg`mͰi3"S U+2sdw-1;XX??`bX;˺Ĭ!V]_7Fꐰ<(ƚF*5!'tUUUuJsW|7ntQN}%y Wwyk4 AyyJu/'-fy ^gH74fjYJX%(iZ4 PQ7Vl})4):)E_r@D,ZE4}IEcEqx\1bSԝR +`T1.zk5?R6TBƂ&K,CG7ƶRXfzXX'rE+YojG6 n if|jڋi3/?p;';q?]l߳׏{'[_#;-5QЩ=ٗ 8ۙ` IDATԩȺa;б N3 a-\7*ֵMxRoqri.Ӷ0!IP%KS ֺ 7<=̊92dYCa C*<1|`cc?r?[ WǛo2<}a,%VuEI#jjX0/h_"WRX d&AKZ<\kV9nͳ8ߘl7Ot߾ޟ[ gro. =Do=12^H٩>#AJw"2Zv~iui%gGSJu|gBiUUe$ǘ.wiՉ2n?=ҧzAb c%CD)R HNJS¦(k9ghu*AGV7Zv."SnRvSY\k,[/Y  u su&iV$%58 3iG\?EeDҋ*RB.=D>/!ӰN+,BM1#>@^97x8\r SB)A|)-9 Bi3EulSQ˸EIbۛ!u֒XAVr:Otj vA HIN=n'`4d{JҨ/^hl@Ņ _F93=@uq3?Ɵ#w3xKk|9<78u/=]ҵ&(V&’2:6B,Z4E{)DžRl ݲ\mD)ԣ2]J$cǤ䭠`%otS`! O{mAAnjzB%t6#Rڹ s\{ނ 4}wP՛=@4@ VQx7e!׺~VE<ݵڻUgʬǨ h-:7 n# Z: lKJkgdDX r_@*D&M!ogz}N!oA)JϮU3QʟE&6iR ǖ_g"B.>NT~}jűۘoGjy/?S?A~g/lF|^f;ÙDܚ%H#b,~ Bl2B]e$9tLƋgda:NU)L3t^J#\N?)IFH%*D}! RkD¿Bv1}9۶^S.سq>|ۣ,FOKs|/>rOw@1O/>EAUI\_Q\kh[pD%N1bOKAH"ވ=(޲,4dLWd?¸M^ZZ,IJ`ޤw6/Z8{62v>w c:Nc ҁh]y{giY aI:~7pKcfHb\HBAa[Al1k%!)P;MT-t@BJI)Xa(& ĴZ{4p煛b ڍb̷-3fpIos$"æu7v;\~8f%ߤfV(%ܻ6&,\JKK5'xݟ&cͱ2J)i^]i//py$nS% s3D"FjxO"{}X]%ogJ2VأjHkSnlhz'OQ k tZzD-^8Iٓ2!zy.Iu~pvӪ8;2m/ ^Q?rY{=M^|鯕WHBvɛL@=Z0tY+pK)퍯a}"A+TCydN616mJ$FI )ڦZ7S~aHcѱY*")2.)E- y3c Mw8A&)2 = $""8vI3Qc 9# Ν5*Vtz+g/UƇs+3^X!IJ%-B}bPgS$-uO T4EZ҉VsJGSg‘Z&@ ِdL;VleRnh 4PPI*}TrS-ywV}2Mvt==3U@6KTۅ5^m 6 {PX 2Aa -3yt|%{{i@ w7|? 3 z"\kRP)Z T.Ph+ H G8B9h㢐BZfS2#ٷqI1&r!A+XMlS4@ WJ!! E6A*$ߝVܷa^߂`yBhh_klƱFY%^~%بpu9_XǴ" ><;EͥyJ9wAU0~0&&-jK" rR;qF0ѼmW qe{8NiGi?~,Hӧ&Ws]XMq6!Hgӓ6MSVGCz%c-$G[gbN 7n! i5K'100 ,{)K"z}Ӟ-?$د^s *i҅ޅf dhs&ԸL6oa7ʴLҤi©4E_GҴB'ɉ)bBQ vUم?>tT6"ef~1TڌD->e֢iX_ftVZK-ff1v-\- X]Y 4i\I%ā"CSvt"z+̍PJAd[Pi23NF#F5uMyz"E2re#n2 , :#< sIj֯{B?W@d0RG1$yJ$17G'I%>ZhpZC!P>ե3ZA "S~p(ORK%;ѣ{^ LiaIFYKQSbӄEn9IL %gF:B hB!n9xaCeB5`'h`(,\^feaJ 239yŹETbJLl"D" E#/[?<X[!/]c<& h˜.H6g_^b=3^:+ɅHiXmJI/r !8CV&Dz}@WxY)-˜/#6&L\\!{c&eXXKT"T?G(U 9Z$P(9QP%E_gOhkԆri;pר$cBWQF̝]#Hmcpw`Yʹ ~M`MxIa'>vf?V%}5`L'ҶӢIV Ul\rteHKJ0A$I֢?$Kk*U)iI. l|GM ×Mي*뱺R]a i6:!i=x?[<ŤߣY VfGCKrg=Lrg~Ȣ}zIN^dd f~c)U/!s3s k䟲q+W8xO k) j]m`/y\yafoG-QKm:"l>]OA$Ylf߾׬wp>%YZfbN_ٿeSh^ z4[d2{LUH8p̱p͍)TWB7[gG९;b&ʺ̇)Թzfrm܆Ythړk HfY^DO>G /HrsWvс%YglEWV#X^`'됡8kudk,$B#ʵ}$Ut[D ' {cEXr߂$I;G sm%VgEc=6''uɾ}+g-J4d&Bz@c߶7]KX{W#zz< k@6no$:}`#=TRJD*ƺ4ӡ9(Rs26E hǯ#3R*wHI7BiAD[XmQ"8`HNKGdҷ'++18~ЗK9IA)_&-io3}^9MZsrn l"s<_c烟䪤5ţG$-&& z`;T LE%WgKkX#kJe e~m $hg P6ZkHm 2AgF&ڌmk`e {orâ"։Mֽg h48<>[U|cntqz&K"rsԗ\:hW>xFm$y B R1(Kþ yCAƦmuhJ0LlBԤmR;+-)Tڛ,=s鼙6MM i3$̸Iz;u^e7)>[gypD^OfQBKr2F(Ȅ[/7MvF$ΏZi:)?bP';o(t:lp#Slcў"{<XK /}J&Xs' ET0X0c[ >b>ӧcg>2DZS1I5ڤI yEVNޏ}+Xر&.\ce&`dbԮmb)d27m;ebfJS5OI\ a^"ezPZ#?%Ƚ-*#Yo~9th>9JN?+_&_hүH􇷣?{`C~ Wwe n/Á;ΐ+>3//!"(I EH`(7 uIW\ 6׋z.5uެ|tZM&)S┳Eaf?Q zg˄Ba ^+#*$19Y㵳r,[k<ڒӃԓi ںbiJ G (HXZɭnb^˟[mklg3ua2H Ibi[3{]en~w}STÜ;chD~ᛴI{NTlCL1m/r79pN,;FE5jO_>eFTa}<{5ZkjȷA8ʄPhI0!M7i?iLR.=Oh-q߃G8uw/6wh ٺl,!DgH!?N^T1&'S;\SyS:R׉e@xkf(JKDp .Н8?\ZQ%J?3ˑGpo}G"ArՔ72R.-5ܿ{ ?r;Xl:f|\o2q5Ny:iy+ JAXR>Ϸq̫J֧mo]Ҍs-`3|C7/Q#J0/1V:_~*Pn!ؤyG:{Ŗ iZrBw3 }m M3\d)t"9e[~=fz&T66 KWغgkkY\Ж2{yj)\x/q,ܳ}<)FJ WOäEKӀpXQnո&aD,3gY1G[K_>@fY=S÷klw{T~ J71DhaQ>عZ3?7O¾"w`jp 8mCԶY֓6/-v 6?HCE˖T.9TMIPhtƫIzļ5Ƈ֛F:ŪcѡTg R$Q !aPr-㴓J75~M1PTT'j3P M LE Kڎm 4 d !Yg I؁I^r7k9D] /|9r}4fWG P/&GI'_ɩ'KuH)NRR)na`p{&Gk0@z+XjGxRɿ>K1ȶ#ۙ[^aE'_s{v*L_kG8ϩ稔߃uQ5ؐ2+DwN 5}WAg') Dy*9$v IuT T i2RSK96MVZ KjBl҆mKpnqrB:OʒO7ZIx`~WzxE/aV F4J*QoX ?'7 iu6e#|類wʬ׆~1:!:ٲYhH6UnCh?ȑI&s\e`Xy?1-8]oE0?{/?K{4,/ctm[,MFa)Vߣvm9lM}F8pW_8.Usw/h$%׾HM9K3Q}[֟%n^ḏ_E$k1/]/?Ɂ16!;"g/>KXR{Ԙ[;H>1ow/f+ː%WB'EX6m׭ENj}ĦU _]` Lޑ"{wU( 0iVBW.R)9)0Y\ܕEN_YcfYڈht@ra*GI|%cse <wLݴt(yS<}"+֩XRmVf:E-*<tZoJ\nK~|$u} 4ZCeqZr2+ukIM܍&?R$c79NLGc7- 2 nvP?bN}'mʑ^`H8:@5o3;]gTeNyҥ5W_kPњ|"u>bKrz]J7du&!mk :z-B ؽ6RJ5TCf곟tw抯<X}-Eհs5V#L-}<B3Y_aԖCDpwʉLQޖqf`Dc-7ǽO.$2,MCnpd8$n4\Mт3&}w+C>M,Z!iM~+&Řyv~Gą*SP@E˘+ L!۶0k iZ[A-TC|ĭEE7F a`{ kK:B}] b4expVkgk|7R?J:q<43;ub|i&k_}JD\'5\biqEtpl1ܢEBmͧ>XjJήy#]/q(YȰXycMcb=Eϓn$<~cEǀiq{e2K-$FX"@%qa0_mZ6$%E!BWaX)BX^RDXC@XeڌSiD=ŞG2Ms -q&r3qa/q~z!̏#UR6DB$vB܁^`a o>RnS:ӴrtV#GkY*8xʩrAuj 3С:t;> HB7,玝f`Or-ŔR>ss,^cbd'3Uv]1*aŰk|7W98_=Ɖ疱MK4#I(`qؿvaA@IƇdj{#?=wľe/OhR̅NYRZEK! R.*CX(ڈ(R))WbBF5A2'iD5G' $ql1Wat`Xv&RQ Urȕˊٶ3Po/B@SQ ֔] XİE 9.,4#Ty|.]WC 颪9)<nlMSlm;0(؃pƽyN\ILaA*퐎)H r]K9Fi:I:VJ=Q6tN$Փͽwo察"_o1rwkm&P˗ɍ yDRMFw2(#*#CQ!-.L[ %sq@TY[O23=Zel\dK߯RطիOR ֫癛]+7(׸{yϫ\``[ga=c|}+'6C}9:ke6r8 /'9KM|%%%( 4ڄJţOqZB&g7Bꔹ+KY!5AI:^$MpyZ ?{ȋ:X7vZLl=Z#{j͚SHiM^lĂCBΛ,FmAF`^)PIXE!ΰ&/H) ʋ*xULlp2JC*tV!,tn`Aa8N5o5C-x)L"7ޡcmH Cc%.·λ7 ~5Ugmxx5^|\YoYkə>v_}-'YN]AJ IDATT.k-~)KIl%1 /}=Z %=cWmpa]rzEVoÌ[P8VR+vBQ$ υyh3qN=ΩCGy/G#:/:mS1mp *?멏hJZl^O-/l'~1}~49h0UN>9ny ~q2ᎳsmWTZLGfX>m΄|\v6!K͈ ;I!w];xb}8|w/cMLLmefǞIʥ!n=#8yt8}jgwחca6]ઉ[{[&o}6=ӸnE6t~yw/|:L*Qee~UA9;/^H6!'86Bc0R*CCf"C6e5q?BDnBIX$52^`i_Au< S$g ^ĦZctŸǑkx# A~V'Ow_7DqFspaCdQs[b6{Jmp4aBf輀PDW܎[*|K;"5rm73xų JG.F.ast=[[xM[=j\Î-3|9uGZzMJjJ27FQdfeqM;9WHIn暫ľd# Ge=7\㝼p l%MK?ӉZaJIQ?1J@gh ~JeyŵͶ"ڔg@#5 ld=XL^\ h `-FyiW6ȳ Ok^Egb%h.tGaz{T&o<@A6_\?qs^,Kg@ ׍0$+i0.mr R3ZejdOw?)+L3R]QԐs$y$,qq܈/?Dj W>gjKXϝV_k'WY]1NI☍Vȑ㫔k{ڢsI>p[-/5FwitQ3qABsiX2x=<'f|Je sɿ".1NZ`%Qm,she'>WϾKvUxw+M+ N4e9(\D1_< ɓj5\r:GɰFáQ4aܣd)iclN>Y&Õ0kȬ!"voZ ],rIS앱)Xiw"ݜ8_f2>d_ ~.A$霠>NJcΡgzխeٵt!F7 }!֍Dq7p L(qWsVЅА(j9 " b9ZXV+f)$ P朝F&h\3=缸iu\u\;ve)wBjy1*d h^|ÇF >gOԱofM゚ !ןC'xOα&$.ŭm;ϓ//q>qN>ɧ]7r;~]6[O~|!sqspwpSD8su7132Eux3k˴ ;·}w%_nnWc$f5R +v3,&JC Jg$\0KvqHs\jeE5p);09VU1xœ~9y֣鲼ޥƴMVVVX^p*YȲaէDbݥpN4QnxdaF&9IfVva!lLd~F [⍿?m%2Ne%dnV3e:%o2=bȱ 87Է5׾H23/;~]lJFDdn~+:wA&zZp{L%{V- /⹛YZX!O<ָw;N~'?2Qmk;LN9NKlf>D7 IŒ|Ie|I畩׫fIL *aZĽ(R.zqFP*f]~F:'@fya88tp/nRE s(:_NӔ/7oZJg؁:B*Ͷ)X2 r:UK+h @c!P0Dk/Y?6en&N]$9t">RbYt/b)`v0rMq Ҡj00vX+sGy%h8{h=Dm, y*gn4KpxDu^<:4LKeF P w-<8c*8%(UJn,Gg^"(q_dNv/tBMji$e9'rŦ*,b){yk$9j1Xbc7=fv0:R+o|?D*g|O[}FG!W\,D2Y|sk>fŽ_{}1t $7 ;ؼCb mؙog"\ҝ>z76O?Ȧ}7gӦZ*S_!U`-zw\.no93TGtY@]HLN 3:[~7Y\I:6ɕE'W_Zw/Ix9­W_N-nwhTk#\gN W7tl(*6q*WISV6]MR"X$]"ffR%e;o,֣AݤY#t{օCeΗ o@t1 U8++J`JOXIfFUbq_ET:K}oΓslsź2UI[^X8TIm.Qưdg}~ck2,y2qD\ Gnʖ]'> ot-Yv_{:6|ټHuV "0eoijqמ[#_![ ﻓo~IaJM¢>Jr;[Xe9A@fK䱳Ԇ`q@z__>aR)*nYxO_χoP|6~J)qkj\^zO}1O⢰"Eq2׼RDP哴ϴ6*Y\㹽ᇶM*BK0MsnRxfOIztSn.a&n}oܿc+I. ~P%!QN:ξb׮7f@nriI@ =Óx_wC|o?շ]Oc˱G=V8׉I~A { +:0LFucPeOTJUyاY<@k%rvN?̓? _wKj[9jϞ'oCB[V/unZZZ" bfuK;k|A*Xtn#,-aG88@ Uo/$ oϠ[xi R"3}.5KBH. fp }j #y9C+V#g{26B:2@ہMR(cC),^VŠq29~kI}m=q0I(c)9懮g=FQ%=J%Q? 99Muze)2&VN/>Mdn"j2Qӏ^%$_{as,=ª./~zp:]]GTxxJkuqY9ҡTȶ <.Yfhw+ICgCqq;%WscUڭmS&KS!b KRoV2~7?}w?1Y=.RzNmv3W^?.gj݄%D+k!=\{PPJ=?"q8_H#qSrB+srSre)ei"iϫ.Z|GG *q'v2Ra0CV8SJaq\yt {4!Z=q2f9v 1f\G>{ m z~~diK91\AƓ Yl2iأ[&fbd++'-MN:LR)V\N^;9 O;?d1A1xoKt1G46I*KQK˸Ak QY_@^ LR:>IPyN"ᬎ8׉1VmULg[E3+/6GVh=@::LK#۸b&_/efNӗ[|-ަfq9qIZ\R<0㐧%G"yU3p*im~0v(% uƐk'bƜx"(H1XĮX IDAT9۬5v{P9&+`>1/<\q U< 98$ ̠iIW(2A#1jG$8}9lF{1TiCЖ 8sX³ܷ;ʿBaJHܰAۑSM)+>yBfDi7opՖuSRi3uUlD ~Tb9<ؓQɩmבALWiVl垷4w]S yDiA"HGh:y'C)Ee򄹑qУ݋I L2^CSb cJAZKQ*I)adumkڭ;UF)NR. y~+b`HkpukHjR9s梇 28Vl."43ԖfTD QeHJ$J-'W./i89)2BZ.#Jr4 `@Q$΅B;:z CF G?W[0BdEA#bA 1ծ'|aDQZl&sCSQ $qFmN?\NMa'IJ%dG?Gcӛv%Ju::d8Yq%Gс=ב9UJG>NI!#<#d^V$d7q]N3w8NthgpFgxn =.5ˉSxIu}u0ZLj(7j8f{k$F:dZ$Q(DO$dc]j"RqvpK=k6XXo"v_(b<:%ynHkB[yZ, Q =S]~/ZN>MeuZkβv+{qCCfo4&F1ilv ]jXWRAfmF6J E!3(2H"F*p|?/-6E|#=5X3([.(LIV>ky (_vB3kVxuLXzl|/;v:~x|%_% =062-e>kYơ+Q_5$JlŸa13muI.(O>CuZ׿~e~)`dx{̌'lI;_826 s*#1qow Eeqqrm-Pk86#ЙKE܁TNd2'%#$mR8$C F FWi,$qD/pCYs󈪂~l2Ij+&by5-6Tj5|?={|Ͻ;e^69KELjmmIrf^Acr\tP[{-$:H%U:G*P hD%<Ɋ^zV"3 [x0/a*HIM_H~K4P6HC8V/6)k{9mW51wʨ_', sW:#Kf\>rԇH7c+Gnk+|_SSa&nd Q9<"nq]ளT㛀e26Z!.1DUR&h˔_N6IqC34A:I?J@&EKK-CjUNT)K8J#:HW)U4Z\ic"Y_Ŭh[lr(h48{Rw}{~O/`pM%c$'۔DܫrE6+{0pi),Z35~%rGZ%׭+)ǤȊV[9SXS~^^!k*.yL8 R>΀)(KQʠddG QOE {7f \v C\ѧZ .%y,VZ/&A}W>lяsb{fryo0e'{MS+n!nU֓<1Ʊg$ꮓ&1ʩV+:JM9(.3u4 KO_Tyԡ :>H0B8̱^@+r&g\:ʥ.B6ȌG܏q+2JCC̯c!Nz!7P2ViHilwTicr(JcB *^NmW/3ԨgaDDN#Z腮β @J"Ig 53*u|Z*A"+NyN7>gvT9J߽ `xIq&ǘBmdϳSxMN52 Tsr[ l>i 5 -)\oAP9(}D#3sq !tȬ*z8b;&p XTkl, 3k*a=25C}MmͤdC iJ+bS6׽nfzƝ_˗xϗz=HRCP '0iJ^A9 V+1i[lReшq|N;gLVgIDb4%1e5{G,T^dj@0qlR K꒤,iˤIJ6glܣVJA`mTkjÒՕ Ҩ+&j#%QvU8F8@:vLX$nc[u>j^:>Z pl ɵ!3)a!qqUN?'7:E8aDdJHߣq9r,w溂8LMMO~V~޵U8u",4##'qdc,D68t*U'T;=Z#lD=͢s[ncA)(cВMkW*Z#PEG cH5VJ)0"/NF dE R"b ڂ x륯:-J!x2ǯ:la&0 InN!-j31ituHʯabGwT0 q(S8,N1*=o+qjg/E:^׏˧(<"a2 gT)C&pd-(9k zN;VKYZ_bzf^o>ʇnͧ?Q׾y]?eW eRcus3#rV$/7X^YzdRFg(BfѹʼnOi3LLzDHvF@, 䔏^JBg،:qkSA L$0#J|q L4a.}AZsBzfNyN-hQW쩐utiNc%.=\ayt*GWR~=@1(#iXDxt?|Ϗ_&G*C>F(Ł5ؿs IV [P惚_ `3O&RRM30=#~_%(Gc2  堂/`5J<sw=%wr%c5^HbO#-L-3<dKJF+cx%Aa3,YQ&PQ =՘bFJsu 0~Cfcmyg>w佗H5[lyȰlu&Fm4:M?oZn` (AnnZHP+bIc,QH|y c^")ʃ8g~kIӚ>{|Kͷ+̧5O?}`{1YY! oQ|:fB.Ƈ92B/^̧ [_b=ZZ%<bULI=z#/T _~zqOwFxgs׽rc%(ՠ¶ !Øeٲz.A_6_TXΟ~oY9uٛR:WHiښ8vt[;1m\tV}ALp1FـH >q`8r3tA+DW A5oS/C/]\ɯ/&&(qCDSp, :^4 ׺8%)fzxW?b ah+Oo ¤ٹlr_oOжF:ʦfqrȝ;0Bk.8/hQ:DL!@޿& U+|ˠhmZ !o*E͝-m 8XX$ F1HsR6,+b<{j;AcM 7,J.Z{^)HAzZ>qKW_ckt<΁-Fcq:Rr9btXʁqVe.Z/3˝&`8 D=fc䪥Jp0TB*0@IѐIJW8f\9? h謿чdیtz(dqpH'|/}DWHvv6բ VnFL&D,y:UkZuH#e#~ǹ͛OkxbckA!Y6W7ޛEW yR }/ۭKY=FT'6@;<`VȺ)l7Nih FG,t@N kVSV{ )r< s)*XYdCDF)Q,j. \7i[St?uoZo 3| TSϳs\~E~Bޓu; iA"`cIjR)ꓻH{,?-5J t(Zc,. E i,TsWW84@`!kʢqXg1%)wJ-Xc0,vDsy1U B4 &p|<q tdbT"]9JC^))ZjgGXuK4q~ϲ8ؿ{7qH'x+yGw.p3OxPay5c*nLXke Nj4QK1 G2b΃5~u1,@'kjUR-OqMW}SCzKG^6Dq֊K~|g_:goNP:ɴJ?c\b>`׹vYDȲ…l'%ݨB棖Y(ٚU #O A#[xQF.$! SCa $wSt g-bvQhqjM5__nݺSQŨ8ڑz䌫Mߡplx>Wq<|K2ۤN;Bbcss|UaцYpSߞR~_wj>r]"[NI/۞ vLQؙHw-hф~ۂdExqV9ӏKZ“vRNR댣g{3E70 =QpxLy؀S8"g`p4>9g\ /t U3akl`<$#Z$ Ɩh |Zs}6i߳xմυVX,,G6 [8U1m٧%wn~scjB-8G~Y4GHH%CcWmH$\gv;5ZԂzNؿ{L-S4szpm^)W24+W AkǵI)ǣD8Z[SUb֒{x 7A3;FLݲ.3%G¤ϢƘd}AXms=q¦O8r8I+Z6bw)kz.lC4+[ Tm] 㠮 ]Fx}ßg2ĻSx'$%˹/2e(hM%cN%ZOk_,u٠G1O*¨DIЁ`~<'$q!"3zj wKKuX'/ p_4\Ԟk& ĭ4)mgNZ() A@t9.ic?C{'Hz'? gV{cf?@ I[xP=ơ$bd7lY RÌDDRR/JN$ed~BuCF %TMu)tc~灳q&&fL;EC%:Z=A>#8i ǒ2—!BB66-e 䭡W,8.h ;E谆K %cz6=8ͥ<0|AD789>N{ӊnT93k!Em&=!eR_xi@9  *%XUUm)݉l_?cY4Bp± ˌ?X6Cyal2z+pg RwZGk 8בT/MeXJ&9% oZͩ&'E (#լmTM։ۊ^ "oLsa2y;GE u,E <uK?jXƓaC Vp2Bĝ;<kA{},'ZiD$TG:iRRVHTcE(-1I0׋h [cH\||\+x\neiGO,Q'd?zzw.wq9ܽ{4ם;wp%lss֤GyC <qd+ZY$T0>u=$ ϧ& "l(EP4\YG_>@}. >N- A :x1B[n2/bzeCv%zNpxt||w\ ,{yt:! {ibu-ApBoS63T魄tucWH4%;'h.%.8P(&yM^5SK8%iZ*9Ɉ}d[cM#y \.%r)6r',Ak)-mUՂ%x>J5:g˘^ƸB4( ([Ӓ(xꘙ,E#,Jxqdk&b$š+3I.?s3G?+Trg: dΡT0mTB.XbQU|[Nf1Rڊ)p})֦N:W,BNJuU:b̜JD[ɃC._BV9&?V}b1/( w3<%{sǕ}ǴFqyÂȤJAĠ*5pO[~y1! ݚw1ã[Mղ[K|0uhY&)¬&Hh42~CY uFx&gHLJ!xU Y"Q:mD$&QT*—SP(J#G ӼA'Ԁ ,4h8+5A*%UK)64MxrF t p ôG:̩ u K.3m_~;ݻw⩔yڂ,rI)$G]򢢗Tc ڿHYv/I sWr\92g^,([ˢp7],9Qzn޶*|qvg/cW֖ ihJ`mDђhTpAaejdņ*hGwܛ|WnN&Jm؈ ޾yJy%v#rErC}WH62"ŅnQ*X2)9[frNf,j#f9~~f. ۩]jm*hB9E:F%?}RyI0L"`hXҕaqϨ.vPِT(p#T#%z{H+%Rй/ׄZT} gru-yBϯlånD܋(f ʑ1а@23-$ "=q #-NFtI"Q{IJ~[I]5$DT6GT]F3ߡ0ujA+i_5 ys9e :]&* aqWăԫֆK?[d'TaqV`A:]4H*c(WKp d .{Pa!}fD cdŵcT3bv!<U_gH )sJ"~ /MBDArAMDž}qB_0\0eg6s1tbp 6ĭ6ᤵʸ2X+;%ڒ(&1ߜ ¸-򄼘d<)kzYWop $YF;lpd}=fV Lc4S/,FHB H\>%򎞰M<}kNbU g"Sƻϳ扭>3Dm&& l'!?cOT1V)  1Z.% +M UqFkű/ BC, HVr2)"jP +J\QQPy(#Z|FNCBB7o|=50=:0:zY7NS3[PJ) |dX'Tz0[Lkс5KT8lFqpNNqWJxԹ4mh # M|a߂?!Xƨ0\ .?AwWy_ \Y^2،9 #"d/X_i c)ZѴQ80ZHnîGjxKe5'lgSpb .䭧2jm`“vz!+S{lv t7) VKS)C!SyO.wKAJ^aGc͜z/CizIR[CW&p͂6:cQͽ9io$98beBM4't:!lN͎YbZs2 ҈ajLy$-ac>Xf?gn1?ڡy݆iC%3!5:$m/cxP,0NBhZhT3C( O9v51tɟh֭[K[is OKoZA#d,Htk dgR7ҖQ"ǣEE՚GX#ר0Yu Ҙӡj-MYڒLTm\-y-=d'@ b; Y)>e=Rgd\4AK%VC\bt;/[e _ilNjbeHv" jXַ؝9V[;.f z+jv:+O 8nW %bZ- cj:YdaPWppttMȲONߖ_1x 0wD$hEPev4rmcB1\Q ;UE$uă͊%XEo%.HB\EuA@[DS6α f:QIތ 4"Qqtѿr=Wt[iV&s{kz޼gSع"iwtH1K4 Xi4bʅA)Y@[Hh)8]ѶKk T($Exce+I\z :ܺu?_H꼠.4i>{7tch &`.McfWѶYB.޴<|[ !B?ѩ;kkViI*xʻM8tfpbXgt7Lpueqvv HZn9D OO TOƯv^׮=;{; 5ʨpѬ8fXgŒZM`G O7 Ё'KchdOg(&Z $Rx7[mbueoAV0rְ+g8t5!* ,won )݁I RLJilL{o}'xd廯nrM|7{_ڷ$8lcon2iazPN >q6JmKfNgфgFǜـ~i;9ضa2]ƳE`\!y8T>1 ۛS[ߺ_={W-#?݅|xmPrx8>\m>}_'W93Wx9y|?(O7ػ Ő_"U VOb#3_Akh(JVmΟ_$K"&,~("Ӛv6„1ke%tiL'ON:I=_# _| -D$$f|pTM?>V|v>3G?fP4 &cu F"F4GݘBHNA: S&am{H>\ jI#W6鋔` c ^s$,1_ ~yc$5Ƴt|d`^d?Eɨ͏ޔQp-7hMJj R[T% ~iMf 8\L<ү]k|x%3Ls/09s}z/ CH:<;s^Wv7W?4~ 1!Z/?V~_=~ؖ6Ÿf# vTnAiDd1UL:)Yya$GGwXT95"2i9$/ݩ_):Z x?GGKM?,?@<@=r߀j w?O{x_wG ηx^uQ?a9Xh+4(J+ݩB h#zVSv4kCG?фz)3{V9}U0Lzt>EVBG% d2fr,n]1A1&غ۾ՋaŚl_f<9ftg[ݥ*KҸG#(>o7vu{q>xb,i7 ZK&i i^Q? ɔjYHjW<4!w<s/<,/O?u9äX}sjLsv#NK T 3DIt[>@ Zckv& կ\7j}YՋ9KvUx`m@TU IDATLOx|{o3#"wHĔaF]U9VC5Sz]&2.-ʔ,>3$tX:7yg |eTN*ˢaZbcOrvrXXxJ̽w\u;7ʡs7hdI(RM eJ[9<۔oY35l9ȖlIV,DQ"  9W[73T ޛ?|{^U]]9go_;byi2v q./Hg oC'>7s)nsgݬRlBO$E@}h9&{;sG4oeq;ti/} j/物y+j 툖fbr-9 mK2XJ,Kd"PP&mq{\#$(2"oY]Z`dlBزlm/rmn+++f"Bw?գp{l.OМe-j85d^hL#6݌|Ћcuu PXBT4 $b8r Wqm*Nj8'`@+rzv-D'%TN,@"դU׉Q]iY3)006Jcu–a A:*Mb!\T(BlH'!kz>_E $NC4Ml# mFuYbum;mZHYvV#"}"T%.P֘.y]6Os buw?%صyOEFAf4١u{i| _//r78E%,vZ.e6ks>u+?xYaSFLKyBʕ/`o0:WɌv]&'xy޻|#P)25}jbY+Dst3cэ v"1qHILVcb34bܠj躁x(P,]g Jã']ٲe:IO{$qmP f!0y2cQ:k~CˡWCW!H}8+}VuLBbCAÐPSI|g˄3<$B!{*1qG H0{V#ՊHg59=UFDbN"&]XbdH`xhM%0$9s/@sڄm"!R B<~}Eg [9.jBP(ei]DA$J鸨BJJ"`6o"B`Cwxs8$mmB4[2VDqBtUVt_'g)W Xa9R!(Z)DUr] 4Q4ڳ>6m~ 3ψmO4G߀˄/XzQhy񯿎}d4ysHvuHr _xfNYf0H܉it] _*M; d+xUn,+[XI-Q(Hi⸒a1v۶ \R"H1FQZyDJ)Qh7^;ǰf}?~ּ Kg!'O k@3@_@> >De/!rC0pXi$Z$)XH?D D~OqT]!mihF,%`+F C} 1n|6 S*hD1hKsn.T6j8NМ&Y2Pt!]d*f!>b߽$`*i֩n=:!:(aJ!uVQBh1N:ªŨAr-Ʒ0X{!'S`Qc$euai5Q nSL$L5a\m U`uK0. :3l)a6z|zc{ β&,bG:NHsdNi&e[%nQTrM#G/ZǏ|lTRs^u?1N}uJtD wjF'qB';ʗ}|Ls߂W"˲QF2iM0 Bj&tH#nR/!it7N  ɚVHzk+=f8A>O\9w9^@# FECq 2t7br#z#ү#aaD",A.2ho^+4Nx]tBl LLW _^#qCI_J#I0-dtz' zLEnv6J:Awym$:Lnedt>eT[R\NlɀY'Pb| j QAT^W#yv-˯J,6T 7aTtba 榨:>Qvi6i4,-p\V;MZmNuHjk)\s$SX͈ÍYUAkD:M$4: t0c_~ @2dKVO׎nFўe0D5N0Yh |aD8݄ Qm8->I %D!(@j$4"DgQqEpxhXKOH#tlKiAEfAOa,#&DtfXZ;Fxz8 =uV򗿈*\}?Ͼ#$8f`0 )"\AӺO.2 f^ASlVg;LFFηJ+GYmxBĬW`zᷪD. wv%QkP-FW<ۡv0En'I2xw{c VhhQBxh}Oq uQg}¢GRDI Cwq݁=8*U -~M)ߏjnN"|KGU$;/GXB*+E*rFLiDx:F3! &7^nLO~8zbNG?ՌȦutPQsR6k:V?OP[9eBfzVN<׸ٶzZd!q _{:EȦV]d2;tZK' 2[ՉS6|^CF iՓ% 8pB 0-tC'ʌ^׫$ Qc(m7Ci ?KEhF &g SP }'p#Ay/@_`Ϭy©6y|lR%~UE` %'e4UHjDAFG P/Cɗx| zyId@';@:InL.GJH#H? kJtE_57Gl zEe]~^ @ r:a6[DjoUĖA5C7rvy}dYxS3+?ES+7Љ4UBlvP$\ ^m ?JqZ>%M×Z]ðMy/E &$%nX,~&" Teښpw)suFc{6n,iХO8eC+u|?(mnӥ'[+G1R&ӨqLRu)NvHDS^@T  1W[v!:NBUapW&BHu9{v@|6Hg06ݖFJɡ-t'f{kw}U_nC1i{]) h*OzYf.M# $?6BvUqMHm 6Yiw )+'5ƣjU1GWa׎ )@Ihk"Ha0g !1q*n1B7at 7B~#(JOC(*<򥹲n?T*]!{ ddD=u3ID)Z2r'`n VJcE@s2JPpϪ"0mDcʴ)fra-6 mk/|槧aqDQ!#5iMDUQ}RYC.^&'GS2:e~aq[8dhHe^>wsM`g k]h@4֛+d)M*9 khNN!?D.mVM% CMf= v 7 rW WΒR-<Et:fue%:3P&sd=b{Ѿh3|GDN22iPLbA"i6lͳجs閫*q I`k鈄 l<#O3lVquk9[;ŗ?̳etnRF kl#v#ȧsH hx<͐VnRUTF>@0 ^ y q$vmt<&8($A ګʙhN]_"t礼VK-V'DQrM]4Z.NIk}@7 x#̙h`S@)vܵ*:6b@!R1Vh""m[W~nZ WY\d' 26+muF)27H,--%4 d-jk)%CC,1i߾9}Gg9Pַf}#yr9Qy8q ՅWBmK.2؈ 39쁟 #%M^Ƕ-ӤdXiV)M4&%Mu2}\ksMcX%m5*SoDh$ z8MWg)Gw$qrיY mf( 蒟}sS}R]mwG{rN6_.R|ͭW][n{}џ>py?qpcdd'wЭ,1MtCj#Qʈ0f0;7_շo~,^4$ɋɿ5P E@^6d俼HbiS c}MMV 1-8UaxNs=D\4MD ZZ]cѬQ6D(3 IP u;Fx节 U7XK*dgv*Vo36ňScf vyգr݁yJe>%ih8uE,9k7(ܼ>|;E`lx' NL8,|߃'bEFdM@RtM]G6fvZFCM]4@s)% N}8),ԣIglG=kF_a+rj[y!-JTwnbʗyܪCyl*iTyv^vU/2]MeD4̦-}x=smͬ}g{ ]➿ܲIR-;}&E"TNcm/s(ػw/O>$@al߶q x/ĶLVU,IJ-,zj\QГUo\2 $hZj6ҋ ^EI@rpVU f&5ͶIUC8`xiK[L NB :$GՠyI^6) ~0H8%2W`o} p Da}R1kzu7S=Gun]WE 0PRl3O`dh-Jw]c6ӡݩs?Qk:պ0Q a,'3/dmd=Dvi4]9֗)~fcbr'={ǩ(quH#;نN–a7m}C,='( ӷ2CO7t[,eaz׋ g,/@[u1>L3Myx^m(DmRuoY."y-[`nfR8UpڽٻsCc"6Qt!4gH]%&i..24-wpZmWHVy]a撨&" ?v ɯo\X<8&c,=~O>$ccc}(]S/j??qYl6#BGAdaugcH{L˼8|_/„I\x@Q]0 (1'E}B̝C,D/l|f$8L UC(FbPRYdA <EEҘAWu!a?6] 5O3TJW\u9'QrA+RsrC4^Cm:k -_eL6gN=O LBݦ2Duζi:j"B6;HեĊȨI L_- ܖOKZCD(xųx?F I*l뜚9Ϧ"L,4쿒ZK*jN?N8Llij/M,S Okor% o~ .ۢEtodKGyw&?i=F0ӈV aE-RJ|AKny(zuRl` zo}Ѿc:j4;oxṳJ" C$vJEJE^M=pM̄Wr~y|dpNH6]8lK~n8(p oBu`#Ӈ؛'[y4ne橳D/Opn$gk8Z{rk#;yw4=,<}Wlghx*qªhew:~O˯DHL>vN8^B+5ֻW?Oqwb6q:z)&Ϟ6G>Nj d]of~~~MpÍDQr*0M.VUz R$ٟٵaKچ)/y]{5Mӄ/DͧcrqD3pɂTg2eFF`q~'$$u0"( =4MǴӗA~%`kn&ػJ¥Gh-?ї%;:!*ZEwpΓ[el0^E6lWC5.ّ1:fjGDl1Ѣ*" lt)Cg(p\Fk"Lb!"!A- K~8Y`LJ_FQ*6&0ͱl5IZIΑsIdDo<0WW C8e%ֹ)F^o|f7Y*qxj/tenaiq&Ft獤v^ÙK[Ιcǝ;4p3fV9{NgG}7ќ:ίwrqvw..Ɯ82g}|Yg0{ynםu|qQRvˮG~t^KkB [֋-wu'1M$Ie3zKx(7(^ ^뮻9~?ħ>>7x E*v RoYiz ?4!t)S2/1 Ԇ7ޗݰ7?IQ$3eB3/fM֋Y҅7МF 5E =KM٬E,<ֺ WIg&^'`a cu:4VjeH9)dK c;&鬉mz~}9uA{2O^MPu]hlAF/N! &*Mqr 0~ B&kLmaݓ|o5fQ:珞ۀمu] F:{KW0[8n?\W>6}vy,bag>K?˹{sc{-YL_a*>:~f'|Ӌ[v^>a6J 'i4سbxiap뭷|"J~|#!^+46)#cc-կfq399oot_I.HVHdBQs$*l미THb5W_kaF_0!|v]׍;3͗u:Smw18[k }RBYFK +*} XJDMQ#IL$e 8s0 %LJ.V>}0ى C1tբ:M`( T׫LjUS8$~=F8+,Meeh.9;dZBL))+SݍZ E`LU4"Q|RPFTbqi]"QoD6x0n}uatdOS*8I/lXf~yH]c"4[C[yWy\{M4"8rAn9p!>a{1{v៞&1;3[nEwZgYݲ̠B*kX][~'y,qh}KLdx-gYq{o>dR"6 VɉɄUUR084w qqt$!W,Po?̡ ?wX;d(s4 s 0Ԥ  4B,iFKc%%nXUQ[UU~= 7_K:3H٤ek㺝b4ѭr͘#T|~vٳJܻJڿ?\|>4ql/z4u;▻vLUi&&6_g)2NtF ma̶]c2Bn_p% t7ٰ6Z5?OQ )ٵ::uUaPƈh9dD6֠ CJvl McTTHK+dOVi-ZY=N0PNU]?淀CS)c; +׏Tl* rk#߁D@׍A63R觜SQFUuԔAD#L,$L]V]B>ziF'T|%mz[6 qD!s:2Yb BF1Z|"E34f9~$eM#lWk&Qrfztru˶7(ˤLe͘"`]<}UXtlTᩅE=콣$:Ͻχ7VfFmՍ%BŒeeg={Xsva0a+$@"-WuwyEfdx?" }qxס{UO}pk xǃȁq(`Oބ={CG8pamTFnng0 4N$D/{ =[C,1=aꡢ-.p A Ht:t[8q!p,jslB_- (LAJsc3JGK&xyH@γ֬2+5R"ŜS/sgsln`U%xVr9e39:~Idf#3Ы]$}q*?]"{$/XSStvd0{ⶃ`e8ۻ5^|9~CA[=\e"7')NRZs]C|#w/<`.8d8p g{8ݔKo<sst:w޸{wmd}/uBpپ/#\]}_ףso B Cf~{nݦa}'nSѥ$ѩ7-4|7{.5Bܰj44Iߎy.z"ϓ@XPqh4Ndkk뗰I,evKIli˧ՏNgkX#iS!>qm<"sS$eO_?3wp)LE׏X)oЍw!k2MgYݫT*A@add-pq0殕]ï(\w:a a\C͈O]&;0RX{ ⛭-VDߌESg.b"o3؟YǘX˴h0ez[F Š̈)_aD a(_`blQrY@Ҥ)fIׄb2V DZD蕉\8>CKa@ @RiJF3N!,v"OY;E,ð28aD7\(p)o&6DӀytrmS,^>K6c9D.6?}f JE@ [K$Slf!j+t͗)lDШWgFm[ PH'p ͭruw{N"A>1u*uOq9wzzhV4y/| cX{ KKg.>CVG)|Cv a N<ˉ[}Bb=ëgN MNg#+k>zF/ެH3d4:FטyG]_R `ssT*EDQ_9n86B/Ngu)%^Q_/ؠT*!|õ^[1e ta8DŒxđd||MMOހFs,?ߍ,_h} Nݱ/uDA|KORހ&jIܠ֟k6ӌ*0 } ·a{h'm`%ʢөi/0\841l+Ci> MOBQ4Qqnkn@vH DXq+o|z^tW(?EHv2zn'oe79ڠhfٍ yti*0qQqjL.cGeꁤ[ׁfU0=JÑ# ./`8/-}ـ=44gK39*d6G)Wb{ϢBmސlYHӡѬ366އ AL4 vvvm0 es4JM&]O)ER t$aT~_z=fNm !$ ØXuīny*6 Mבz2Ga(0-]ꖁRH#R ~?+RJ絴uQ- kz_Xk)R0??{g'ic'@ƘAܭvt0E4F} L6RՑBCBc a4p{- AW7SN"D_=I RK&Igdrd+\޼`'m[Y0XHB15<ԑ{,M1T}h=F{ddYi 9xnX )Ҏ)5/|#Էtv*=6W\ zǻ`o翊:r i@I*$",0 ^K-Aa\SDaǏY]Y!JS(0_3 [[ ?ı$ibpx]& TZuCZHy{]dRj ^ 3Vq!LWv)ЅK)zիUz%A pBҀR >LGuL#* t4M4!z )J+h@a&qϤP HԐ(BjA࢛iL'n:?tD6ђIsϏ=혖jmMPXJ-~ w=&6 uL`mm_1q臡M7C)|2|(VT*;8n /lz]8eQ[7BH֖,T:.kMo^$n~Ȅ-FSZ cBI)H)d b%iG +PR)%H!PRD+8Fı( )_ D(RJDaJaHJ # s/~`%ry|6h4H+4jMiJFm\'w'p=GjZ i=P~"/i f^ԭ{FBb0 4xQS=hR~eMn?t~X#I*EbBSQ?nM6Aq ͍$4*XݥgnҌ=/-wsv;m.3-NynwH7͜_drA`֋$ldq+29y]{~'YX0!u*J:_{o(_~0[\7iG;6jχX{M)T QJ R HM*BJJek\<{qcz89B=ƃH[q]Rb"܁äRdO%Ϳ{==O=MƱ,?t#tI~>)F%1&ۜҪF<~Ez~тuW?A# h?y`L2 گM7b'E]lOf}m^GPuk A)%Ο勨(n'۩ec;BH.grj <մ}p=ēO>O%qO>\ebb0vW'B ,ƬX3pᄅnHoop `\"mYҊ",!1tS aD!XB[)($Q}"ILBAR@D EERADR(8&"ŤdHƪN$UB)I)\O}S^OiN.Awřx_ɥVDL*G&%t=JEĪGMnpd]D3< + @R=^t[$V1`h)!dѴ *o|K~|a?"p1b[B^]|6FՅ) &:ݐ@*&~(GS-<GtLy#Q^JQq]LLGgdzi#_ ^hw=Gܥ ^:J7 _km]2s'xG_]܊cy c|K_(rOG)C?yɡyN{awgXowOe 5JSNȣοOw\\bs'$i깘ඛnXݟwoxL&YYY&LAΞ>ٳYZ\dzv!a06> =uػvy.q(׾Tz 6#5FoahfTA%ت5(Ĥbj}女$cƏ`G|\+̓ vt^1n\6/8{zD6pka MRmrZODI*]D244yƦfYC>wg9vY]WNV76Iڃl֯ܭҒd#iB;O1=K 8qzIek^hwF1.`&۫(46J1=4hi60ܻAƁq4.3Iv;LMMS,.?-+ˤәkMȄum@yivKy!pL(1t񉉷lЀa M(CǗ@ӄxRgiI:FǰiD[ESD0DSiJM4tM4@4LCktMԤu)EMRQBԐJAM*$U)**Ů*'?Go A&Sq4M_m)bL$K44 5 =&I*':,|Pt7Qk/d Tbd6bI $^~5(qmZ!_hmץ\'k쮿 l384mN FqcLK_e,ҳ,,hXYCw篾yۻBZucAv˻@..퀝 F3k4~Z P(1Z:% EUT31~4He$@B6^Dnd 6.\o؝232F0EH?/+B/=ѱ!o'l8NAQk/8weO&A2\Hއ:Ixn3ϒ,Qٍ^YÏ34DEx8zCvCZch]`8:q6O= n;.̷=ϟk!F|xyO,q.~6]Ff&tۄn‡)$cn5Un~&r]  a||!24nh:N^uM5c!D",ۤ{]-;!HY"#[[ "N±c!)LBh1(i AA^6|?ԅBᶔ]za]DbB(&b.JH)z!)Dq҄ CiN,Rٍ/B%#M,F?7u0s'O78pmTje`d8O'aS0=QK ޥRfcE޶ !I #4ˣ*I^ :x;FJ!Gs)^c|?Nm!]eM^7ȥD eDk;D$FC4Jx ._!Wefat;B \ED䫏;g'sK=O neHL Ü"@dskC&!w2~ϣ\ǽG7K kY"o'RdƋXi{/)fЭ6a0D(;Uw""[Q"g/n0>lk )=_~6c6ҭ}?&=bfpa,|;܉;NxLO`xH#~Ubg_l4#ZI\˦'E]ksz;︍o>d@S>D^{W+uyra=4˯^/>qX^vIriE$\҅ q:[;-v=D~DHmIS:K4>@-r)+_ۢj\9xKuk5Orjz>%`{Ai,C*,]Y$P,n?%Iervݷ*S H)n\z~7`_ׄ`act;2-^@D!&aE(0W}|ZRhOh!M#H"M/Tovlw# H6BVdL!;j՘dnpòpH26̨ ʷ+8A7Hm_hg5BpCԶ;?P]m5GjA, v0^":7US‹oB"8D(jz MDaX #?종K8b6{{;u} =̎H&`%R ^/ o[R瞻o*>S;ˀm_[67jYH|aEמϞ_᳿/HgbyWk.8o*t@4B亄btzMLNK&mBa^vJ䉣t*e,{*_Ӥ3yNQ^ ;QrD2H;IWEOhM207JmwC*Ud{n.V !o_CRJLӼ6⚦57N\gmFRAzm 1(T(dHFRaMR %  u}( 9KH#EŴF K'8x>l64X~gc܍O١2IX?Wεg;ɉFWC jp0ΰJf躻L|JvY9s=*f9{8~Ě9Hx.U&&M[ XF]9CnAt] M հ-_C D.N zҢSclD2& ) Mp /SGvRK[X1,w3sl-ympQ ۻ4hgs»n$.*H^ؓR^(TױpMj4k:s3h RʗRN'6$J*"7&]Z\R*c -m]]Nf.l*m.q$IA~ w` gtAzf`CsO|mt/Q=>Y+{ 7-rA %z@qv}N6[Z]ty݆#xmfE)?0,R職qyVZxmV}a 1n;U$ DfLa C]#e@D*D 2ft V(iI| 5sqr87R[u9/z>n{Lʡ6"V6wyw˙AVN¿?Kq579~ "vHXQtj je"jD"Apq671>QfbdFᵺdJloPRIv+BBL,zM\&N2}\06:ǠfqF hQ!뺘GdB6cV*QD&0J&ׂDض}CDͶ$ee8ˁ|G1LZ'} *uݐL/ta$:؆Fy#TٜT˦)?@QWQ^ci8=Ih]F~{^g*$ :x]ooo}Vkz3o@+ 9sn!eR9k4.H:x"z afJvvi4]`P2X2<:(wj[;dgO>w܋8LDDncM<8x}OލDb=C3hDQ8nbyB?BJHI(D)/02:AvH2&}}z6M4x)`y~"tMlf;1 H dlU5#cӫ#G;36F_ .I00IcĶ0 tvnVy7L^i !ئj}ZJnOjFfggI&qSV]gWla"kx,^zsoןvB(_p"B_#JШi a`&cH OEJ6Jmf ŦQ!錃+"(nNidB?MDŽ"p;|ϻV{Av]\~|+fi^t) qˌ ugKZ]AF=@qtfY&f%fRd zn²,'H5;l_Z% LD,A2y=q]F3V3E"LlɅ zx#׾+jK?VM'5UN4 .^āPJ1;;4^?a@Q5b]ׯW]7+ WLPX2F׵7+j"O*DRNgVRz ϓot1R($ҩUaN~t*DRzBU4NvhL% bԙǢ {G[o=|:j^[ " Cs/|O?_H:Ԃ:^}SBMw )phmN^~ŵW\`DyL0 0M6봃& 0:FȖ:)-a`dq]҅aNA;K[/A.<QE&?RCj B"B7u쫲 -EUF7L 4 ]zZ?ɥԠkĜ8C Iq9HTv(W%-sWOf%^@ 5ō::[ZA֮2fvpmuk4DRY:=%^"@q=\>Gi)/o\"0I8m8MۭG!-ݘdԱ4\V(ת] 'E!3?go%Q~oD3k}@HB,cb<ˆ1<cofg!@m lRcO^q*0 ۾ J? 8﹩pāĜ N(\L-Leh*p<깬؊oܹD f pA Qо򾨑ZAlX⺷/֖^vرsno_~ۛ &ZQ ah Ck :+}(c)8ʆ$+d'WkZ`#:.(@$l`@0I r$D@ava\ ,BRV:mB@ tlp*D2PVAuND@D)DHSIX)\Q@ sV a $a C6j+0Q$ `PBh$4` 6h":Hu" cCeNh5kkYl:x`ÐJAJ&^z3@ݑqt%pZDXZ\H;Fz+M7ᒈYdlz _J@hhÊbEϾZ04ǮeYTU<||Q딥!IB A*mHlp!lo^ƻzG7j*m7`lJvfumz{{'A.lί==PZ)[uel}ݳ'E.~~öm;eP' f B)y dt$"LMMFmel_~%vlVqzJ<A"MRElۈB>'=a$O/_G>Iq||/2k},(Zo?zzp 7As i^GF\<$ƾ^^Fazzba.?A5%h<ع}l9~5ub#Febcesӟ^S<6lٻMf' bP4Z{i%ى߽8Ǝ]{f̕\.. "Is&_8n|חe[.rד)<4~owmlݺ-›~g}\wݵ?륔ضc'y]ux'y5Eݚnmqغqn#K}Y=0s:۲u֭_Iѝd:E\yEbQ./qr';8 +}}-?}q!z.7.gyŕ^=}.mej14~frwI.kEGpfEǟb5{1{$xbU{ }QPbaժM{j|^_q]w-b GBկƶo{_qJC_O:fƦMwJ`A[/ g <#˿NEx[rM}- ?;:nwZĉx?2nmL??Lcyy'uk>9avvSS8;~ʔ DoZHeall eV;OJǤp;a@uU8%a$ @D ^?RƵϾ˺@wb3 @³2Pe²Hҍ^Am_q׼> avv{yڵkǏ;@$j++O:)"I>. ?uI  ĉBJtM|e9$֯9oc-+qNϮmS'/@'_AUxJ4w]>6I yW61 !(ֈb|AOծж\$nu{ӕgu3^/}Օo:a(i,!#4ځysAy\Í>I#; B*CJRNf&>&J%v*l" $$,),K'Ж;=uBHaRJ)$ [ -l%^7vlAU̚o7`QBGl;N[ k+;Rq[ךWNJ;Va)98oYL |t]}i;CMǫC//k:]鹥:?I/3(Lhت?o~'*KJ2طnefrTH$< $u)y"(ʶ-7#c0_bIϗsp.v\%N,;C'+`9Yc^Y8I4 kn9|GN<8dAs5c?|%<3xkn\ tT!\HR>ǟЫGnMB)gdAEt7F@뻖k&%ɱ;QĀI` "Bī -jAk:hN66G+ܮ.Q5SI[( )HGi@ZN-(5/<[_ZlYqϰRpAHRr$-C$(򙫯l(Pɷ,a Afƅ\ҢYHM\i4۲saM@4Z5A%d+<' Ht؈Ȗ ρHȡ͛$Jpf6 a X|$R/HjR"a13@lsUoiM*S@`0Tݕ/` %D83m ]v> VI)EN( ״ $@X!׷5R_Tk$AJJ J\"f:ncfFk;PIָy(q^s:UqV!e $2 "0""I\.(NDٶ粕$r-n5[\(. u\<ƞq)l߾]7݄^Z8p㠯|k'^-8z/Sa3gNcƍ, l}jG ؒtؖe$N ؑJ1z0YGc8NU0L0ZHbA02uj,Di.@/ UE9f.e- 9S;\_ t3T6QIb~y`i;m<ǑiLteER3|O߿ח޼3(rƓTrma+HSԌl-[9kM-VI )(|6OVF32 :8Q©5R(k6!El&QEdYH:dI$t;LWW\vs 'NcfNL{lafP6#)@#R:{UP*Ƴ,lXCf&!edqf܁8 r\I'1,禧 Zrw ^y1BIEdB&d{ 0EaADL V8"QɗZF#AR@`)0#y)V 8vOm -&"@/̴bVϝC ZϐAe[-٢[sԟ|r1"# ضm$zFH"\{isO PqF4M_"qAO0t]Jc84Gca"C,L1 =_uGg`=`CGƠPe:~%ډQzrLM*m{6BlK1:BAvC Pd$(jTέB$rN M!Ȗ,v!BJ3Ӗm$;p-J$JW{J J~) zZXwjKdnl,<)3O<%I _7EQkJ\Ay?!I 0H!fFZ|'Y$,iX* `օBE!-˥L6GSb#\ zp h*U*;fgG[(TJ#mJ:X׭*@NK\8 w3IJ,%,Y-743"$H*0@KDR4 v rPo;/-"f)q! ͭqJ9jY3pSO&kCle+nEP %)cڮrS ڭV?bO\Qe/hJ0 !Z&^xYm۶#ϟ\syi|_zMT*Lg'N҄=xbkk?M9!;؀%,۸ !Rh4N , \džNbhCplߖHt`͒J R A69 E'ǀ i ]Hַ kn[ 0"2t ؾscaȘSb(0;0;;YaKu|U&&œG0ؕW*EGrt˥Fn&3<[l-;=O}$ 1hx +2h6aأs;4l&KB)Cdu=qL18AȸB_|̆4e[$YGDQhuGu5& KBEqJQRJXh6]=8m/Ii9lڴ_m6l߾CCQT`+#J; fi<8x >ߏt3GX r۲3G añ( 4 $8dv•xEmfxِJ3.&OӕOվz$SÚ\φ0 g Dpmih./vx;B˲ Ԉ|Vv*d)+ Υ,{uKS`dՇVSEcZWԙ㩁DFiO%*b,+%A8*uBT`绑U~ 'o㹜xxcǮ{g CZ>kxJԒIĭmىF]s ,W[tn&IA14p3sSٵ]uoSgXN$D p /5ݓqB d0d{2 û/ d\pUƉSsj|HUtP _*`X/L5[ё^XV8^"]Fҍ:|hnrbP6%aP@AqBz^g u;xn$,Iqw]?0; RL 2vT e)`2iܪuBYȵZ-3io߾ #.>_ΞtuSk_nnT.UW ͞;:Pjq qN@D\ח/Ce`hᾂ85,$A=.CB+H؍#S@IrG~n[?t`O&!̖A`R`#mf۶r|+ :JwI@du L#D NuH85c[: bH G*HV6I̮evJQ IDATTX>UL4cژUU1N٫)}G.cPZqjv#ٲUOrOqѱڒ.ƎPl I:52y Se\j̬YZZ,_;nMm!Ѩ50Z#ӥ!%~8y*ӡ7;uuˍv-8`ALʈnhO]JQc LaﮛYdCPeGgWfD%" -# nױkK|lҾz(DHPڳ"lucwIzOJIRP|?K6H)\H&Hr\y' ^o?7-H* ٺmaav;I),X !,vgcl IԆ("-QjA/>bYֵZٷn8IYݦ.> <mذaBkZ0 _!wS)K)@~`8诿s$m\D䊎a@!,Ipxhb(3G??֩8vs=9YM(b MS亣1>vgO},cF{"80Q@`++YC*I/UC,CX&$ %LZ~&Nb]@ ~v٭掣Jqš}h.!cpI =Dӧ$J|x)Skѿ]734~\ުM1 K(B(x LV4ؿUJlQ4|2SgOZYP*u\Pʬ7QEeHY?#IC-8n[/ !a3j# Mr(?wmp%4DGB9]O3j \:2"݃qt nņ,=L$(rڍE4k+r̋%q2S(YIvD9!aS),aB:J9N IKp?( Hg\VVE5y%qLn.@7*IE"C@@D}Aw؈\ۧ K~P_^RF qɧկ ꯼z!D' \WrtI9x~R_NAk *W1e$R~gv#$3L&`Ƕ߳P:6 #,BBo @ե%^\XX$eL["- VB`)F޵X Cl;mb|6NDeBR-m@% gaE-bAr~W3"j3׫lUNj НHOq cRyEkVX+`=n0:EGj=so3S$q q gO-$C#w*8ƙS3c +"hB]y8<Ö[PNi TN^{WمٙW_`a^1$ Ve3)@e\+1f].t1$>ؽDr)"nњХray6+Q@Dͣz-sceO0u7]kv{&J} &R=Fz([GpMOO I!YUW~$DK{tceerƆ N(Ncc M4Z3D(J(r_8L7RR7g򅩵Taa|Led}zua_F}nbLYԪU2agJǻͿ}[7 )c.'

eX: X+P5r5檇ţO?]Te  ! bĮq]AWdظizC|0]_ 9vﭯ;ڮ%Rp#_PN\ARs+c̈°j]~ۏH8".Y*gs%㜗^\\1iHeuU2O3 ( [wrim9Mb{? bzf^d)byU ~e7qÆHEnI3,yb[/]˾``erX eKybh- 1&E$H蘢 \W_IM7 H1S\vaZ FfXh9^0jƊ`2b"4Z-$ea *+rMnEU$`ff^5ZZ}|{z\ B5kd\w.qrYbu/1gPtWŃFny/|4޹k7͗]}Gl/E)!!Y-^ӇN Ϯ{AK$Q,ICqu$aȞgc6''5.$W8XX\QDھ}Jfnn K3oDW8,kS;;/=鶫$sIS&澹I )N=UDO#/d1%UI0ϿJ]cnQgE|mql$톌T6;KS1HR$"Mb7k 'n9RР Z G_Dœ<&U0Z+];[kmv\o 'NCl^^Oӿ Q:{/~+_XZZyfu_ 8jV=%'KD=Ɵ$ }~呲$ H 3K$XHT@>8A;5PM:IwHh `gg$""HD1lߎBÀaM=a\UR5X>aY}>mK6\?C"4p`e,穓ujDf}EQ//%,^gs$V=cCne( qAsz *niU$1vOLO&ش*>yj6+E׾}gHSx:51~Cde)kNhŀg]$,PˬnwZ[t1,R cC B(17,`nf*Z%WU7]3Z4`hp3#xʆ I`<=mo݃4O" \7kv>K%;x艇hY+l㯏]P-%R-3{wVt8ٕj*1F&l&&َ cҩPEd#8Gs݊A[GI)SmI79+—X7B>G^|# B N!0=ۼ>fFtb߀8Luo;}:xo nG[sa+ W"?{jɯ|O41JV-%2ĩF탘QKZ0I) ƶ$l! lXMiIFh|QVUbF!XD+ϵdUD-if8̰p(Mvd;TJZ技NwsgvkKma eEELMM"H<ın4z/i *l0;U%LF{5s(Z!f0CRqq {/.ALpeΎu{І3lφTKYqR 3\)W֪@`&KIf!oܮ7|9?{ *9 $i_ˀ緡]^ǣFQmMҶFbR8OVSi**]WL{{q7^Yۊ$d5LBJJU7K<ֽ Df$`C \8cf#&x jCKAI % dK'+<|Û4:w0V.v7-X4^:zċUrf#N CNz0终a؝ aDiޙk.;sLDm`` [1E7+/ÿ059()mg# _*Ec~j 咣q3T۷\G*;)#m5 6лgQxm|EA=H0S]6^:,u[k╬M ]]ώ'6©%t8qYo [D}G_.__]NP^B%o#* A!LjX6l4Up8Cs3C=bar٠D>qmWN4FvV:LYM)g#[x v}$kM.uwQCH%P[;;A H`эhՕ ( o[Qv?ŭf`iVv|^s%pF 79^_qVϐ6F֌" eK^6l uh۰ΨK+صҘ7UWdM̌wc )9[_:hG8[AP,~ J.JX-•@GޒfmKj*[{4 ?w/@п*Qn(sRE,aMq0'CcfzYhVW;#V:T,Z bhg>>+}DAkAjPʾvixM? AakI{֕hብ %ͦC*y0uz0aSN_1UaW!M,,+Zmc5zݔ.媈`n{}x͕ݼ}vqhyM@JËk}!A>37?|ӋJ.# NXXm01p,LsJ'Ũǂm)Ch֊aDG .`.\R:MnaL#vuT)YNU*$YkDN_kG(V ӈLr˰JtHJ͒i5 +%/"T eIF@]`ֈ&~CϽk:I#d1]]2==!(2Bp'+Xg\ rUWuu7* ,c0qx3fll0N81c B9|oswu媓~ 0xkz]=~߳Z_7kUw??ovo770t b_9+;[dnx P19q5WG{U!'&cWM;zjD1>3RgPA5*yZ ;G^~OBUx:03#!*OzZ842E|9W̡XZGj3:5igry봅릶Ƨ7z3!!NqlY !\R(c 5Q#3;anAPXvOgX_@*~ (f'&%%eMA6 aDD,lC{431.|~Z1:cὅBɤB0ISHifA Ew9q^w׋5%*]l>* "!;uڽx%kՙMNgP tCfmFRex37[?4R]3.;~$itGیl\:%z˨GqѯIQUheX7OG˯??( >?_yknκE!mR9^90-N; '+[AkXf-t7ـBZ|B^34˚ks *M"i/aH 0v8BօfZ! RCx6 iL"!)cf-L)3;M{zt:mbQVe W_. @f&qhm\<^-u߮G(\J0\, R'4>`p1e@z1dg ̈́!zJ$1w~5Dv"Coy7O3ny{vG9"adf&f<BmnN)}Af[PZHtnd~=.*B!f[[ۖd^6st.W%vh* zMu"(k`)lr!]F,ut L x};ΞNKgg3ic7sqm!Vs'& ,l盶`H8d|PT;VW~wjR{c3 _GtUHԎ`Egv^?r 6xskS$Io)>p6gl Ln]rY5VQ? D)bx/;T|E$=7͝8tK[+fW@B#mqgܫ~n^َrHCX! JC_kjY5 ̯2, 'ɠ~!E69 L"R~h19tWVUu,0(3 0 JCbC`e|b:+x~z||v>$ @ C9`ׄk R&"YQ@[aB_c /ǛO#{G^叼_x-f[~|Oˇr~z=׾?5l^~[ \v;ԫD7喯ڞ^Y8W=|(;Q[($>v9{^>ո) ~xkY5rŃZ9?x3/ixį9z sْh~ɭ_OQ~䉳SR di1 a޻<^;Ea~=}ߟ711LҎ)BFDc?o|+'+#DIG-^:u+ܫאMwujsw_|`񳟛=s#nǿ}~VczFƳgSO>2)|swɧLo}wãc/ٚ>{ygx;d`|\ga62XդkoR({*tVxr4z ƦYʼ OI $bMm ҽ!MGaCuB@gvT܆euNb Eh=H~3D9oZ )D6c`h'L >6@N ">X-8e#k9qEx'xh \-!qi blCV=$/cr`ok"#@I ]kgq!)ت^BΠ/rudR-%+E7@uoTFJky^d<[C(v!= mX_L!A*3ؐ:[kh6ppP4G聆Kb? #= : TN]O1U٨#_XCPYpP % 2VڄH弃v [phM-p2B7 Fh# ʹA<~CLjAda~4fw"A/0pl-wv!\qXD%<|"L8I^Z&Գ3t|nVz7B۠ev$-4jR) R/.ameᤁlڄ`R*֛MԶVPʔPv- ֘0pЏynw #FBH)Q[S EXhˮdBHn*ÆhyسkgQ& B fp'p- zABH0T`C)YX VlW,:6N.Ξ])y^0l{i(I@BvT'SEj(g_Mc4c~|oXs0`jz'Jx=.o5k߿bm?#8z`WwyH9?vK|6xÏ,zwUϻvi&я9t VVA ǩȥ +OxxCw \~M~;gQ5p5&0e鬏c^3Ps0;7 Var\BL Ǯ] 8{!' PpYҒT2wv?:3Pl`us/Ν[j~ ajΓY ҩ=X=~s +O>ʞ.%1=vbd.{=qтc43:M%R˜"@q6'aQLr d#liά)<82vX3)4mXPqzCqkO0$__=@a t0:Xr2AGEdPh=sfzjR8N&Hb)Iin  5Cz[Q+8!`bF4 Z35d[B_I!Ě5(`Pkgx]y<]H#W" ҹi4z~[7dGU׋~1Vn*yn^{  0PŅn:aIh4j`5`rrXЭȍ"h$ȩu$$J1_9n -m K* ȎD3+k9tzm@2Ɇ;͜ ~Wss})'8 DȆrUZ\$1M۫vʕX5pt8WcC y<=zf7s=;nmb~ /ߏ(H>WluaiR"tspK!'e.5뛼g|n ctI-su ;e!BO pў} lBQ,qh Fv1%Hy2 H]I~513d)ŬYJRRZ4Xk! dAn-Җei0)0cZmsza,a$g~S'NDirLDZRҬ5o'1Xkżg"`Ě5 Vq0,@"%e\fL z]O|o,;>On.˶fDQ`]ݺkL[?-VOqqP( tjR vsah@bO4";N#FFma`ddn ܌ǟXh!ka8alןj$7pžN%VWqhvO _h cL^sKв7Epa`b&26<'Q- co'IlaCLel!Om=mđ /q,^>| u+ 6Npv->pֻq<6yHēO9n&+!iaU (7(VLNz` m,)I@V N)u+ KjlģXmð a0tZjl Qy4:+"_!inpr(2p GOBaZen|qiנ/l0 r'A9NyFh(M$AʶݩL 0jX,13#Lkk裏C ) v(ml5>BS0Ɵ{#h:>rٿRmFx6l/0{>= _}iBuP00S {Nઋyu w?q+n߃+c~,[uT*SbmqdȬDae\|rl6Ϡ@n^'Fs~ZdP@}mk𕯁v}dReNRq2U IDATc6'_YJCShtBfS7\Ba8'XYdC7~5 .da4^egAyϭ ?)}X4@emNa.} ʷ0jdHka/-+~؅a2icN]2vE9ם">90025\u##9V 5DtjȱY)AL:0=N=I[^2|jf ZOaRT)Q@Yأ8i&<k|Ü(b~(+js{ mF?48g9|`z/ryXٲB:Rٌ  l Ծ&f2v.ff )w&@h4[(A}dG†Jm.f\@ՂmYp\l?ݱ#G^SJa9@J @<HusPH ah(C-ᱱCzC )X+ 72C'OaouhN#Y r],8~Α+;>zbruoGn(Iܽ@nԉ+/|\wM1H{꣘U`p_taHbB8֏f / }vMfH8495tѴ[ 6VjjX*+Į+bo2Μ?gϝZ !HokrhEyKi{RXZ܀04:_=iLշ%Ӕс=c|OԖWyjjz~B 0A5EB„Fɚ&v>&Oۏ/Xw}}}Nes9zɏ9wv_l' p|VF4PBy5SBZ)w.vjݵx hrz'Czx{v8$HRX/zϜ2a$ķzێ7Φ2m=:<x"P*ԮөLH F.aP# s 1V/6 [+Ȓ$АΎ t>XKspNL_k 9*<Im?/\(H%W%WNtPm3`ðB\O;ewFzz כm7/ŌSdJo}Gf.o-U#O=^v80|BB6{v:6ti.wIڵ ozًj:!t'zכ6{`R[dy>N]5{fM)H$% Ipnrnz͍`E{$fhN)Q.xMscyqYNfN4:bDc>qzNo:+t:a$ 5'&zV׶f b!+( `ôؐHGQq8It,@N,BV 0&IL۴@4 l5R GI$8 `K!Parck+zNJlnG{?}o:M!ČZoll8{^ׇkuU F^nEЊYJ Q"#;ގ]`bx:vwF3Ѐ$T#h~F,M|;&uț#v3Ȇ&X^Zg/pɣ\uλ,2"ø dJ&qAeWugӛ1J5K$#Al Mc7AGnƴm0`@HЀ*RcVfeUN\۞`H||3i"~C fv7?f75(z4M ̄O~MP.C՚3`ExKsj)>$~o-x'd Gy7=ll_xܸ) =sMg(/9nP^B$=C>rpwx+V{DDbo!*<1}'mv=AjG?7>0][9OhW_2h1(鱻v7qg7lי1^HEn>Wv-odF;* :XOkK+fٷr'tc-I){s@H< Οqhpxߍy\|.㑇lfUf@M{BVC_zjߌ˭5[V쐄0B5Q,u<*"Q0/s/౯]T-){J]%bvWPsW)~%O~r߯>hѾmuOc-[݉qPpOʹJ(?J؛ ny滒ݏ? >۰rX:w%oOAJ޹垘PE(]0H4xm{bB) V62b>y|ᇱ83tAbso?+[ܛqSao9Zw1=x8rg _r\F^>˘{El]٣~)P : rX둥k`8h!ikl_BjIlV׏Wůѣ(Kx"iv>~{%C/J~\c>lӧv: lUyin<O|X ~ Dv-s'`\^/C)& 5: b?r{sc0zb89ŭ'໿oܭGgO弿v ;l^2w† C Z $#0`L&qBapt Xtq@:zwvzxq,֠jRc"eqc;^ ZGgg/^{ѯh~}ld %|4$%  R\TD3h3߃g?!0}8>EQ5tZ8ȽmXۦ4:ƣU 6ηމ>6/ vy0[OObn.Ƶ18Эp n|mo=e;[v*ߞerޞ8}|*k5yO6^~AVWʪ[*,2$hV(w t6D@>MMdOS[T%"z3^oWU8*BkJ(X?<#O' _F qDiJo 0nwj3 "VRʢXٴϯ2N43?L-@N@ `(d3xv%HI%f:>B0&AW<6c8pCJ &r2Aʲ3=MG Zb2Cӄ d k̚B01 !xﰱ9&Ei8v^kMp[Apeɕ%L0M/@Lݽ,tEV psf{gp2e D5!VQYs=_HP8(% 0f "dXT $ 3* [}Q\ ABI7' *4Uit ,CF^r8 ,?:;|D=76]+Er+ +3xiwΠOxMp(KTeG"ԡ$mYXC!,.ͭ]4M4gz~c8@* 5wK>|T._~[s5JhDi_<(¼N.ZV֖pnOt@:gD{m/-hgJ A0I`sc F^O]ơSm8`Y4kPG/_ۏ0#}_?2jg?~l;T;Nb:d©3BRxKB|} ߙdxq]A~odu/n9mo6Zt!)spm4E>鯭VAbFbِׯ'\AUQ"Ig\H+e՝m\[_e`f-ݖG?Pj _H$&sx$Vz*Y xB*JkUm:pΔUҔN ca)qlrr᠄ ,$zdbHEfNssߔT0ᑗaD:i m\ BЈ@PׁY @ߴ-BوM7_߬}$XOƚDfCR=k [Z= W4Y{s ^zxq v_x0 B)0Ƹ_ՒE)zڞ"솨'=)9\ƒ_&L1ww+Z!OC+KoLIPcDn$И3~g?1+˜P;+ƒ: !&Ny`քRْ=J^xEgJN釾-\wQb;Y_M'ti^8sO~Uh6 #-#n7iI.ny:9&07!pֲZQ5 =ёǍ 8\Ju1rQ9jBqek{`Z9LY{[H`4NJyh!٢,kǘ$zP1Êb**,Pn@1j%!JKgI {1|2Q *(PQ@Da= bj !Z"A f=|7 QK(), " @x~cc8n !nsu3:A&u>k!j`e_x<}V{c'x<]x}߃>eĽyisuB?K(5+jmb)aG%hMqw %v#ƒ4|H?#?kG{~QC@a('(!{B$]uo_;y0aq?E@&hco'nM4 _‘(}dMOSwoo|(|/g?^ŧ|Y&yjZcUby#\ 5d՛ tAD 3G ;c>"cx;}x׷MPz_n{M v7C'Dr#ߩu1|rQ*B2m?śkML^(+c;sxjt%qV@1LaLpK(!Q%w""`gT(*8[ NKL'9tR8D[YHl@GH|8iDUjڃ] !ܬ<,,a ,(-PCj[M^ &7Bl yvg]MQt#,tzS}E+%3;_`xkޓ]N3,.mo>GKӌqbe :d4ZtiW§Q܀xӫN1Z%Q$NqCx_>OaI<eޣ~IݿRcP?sXx1p;uBЌק!6/tdQm S0 !nb5ۡV+{m _=^D '?2>TVo'ynWiO.w߃? @;/9tn=Fhd 2" 7ߺTuLwi:P%/GyCŦӪg.^t֤l^:cım+pރDFP\Ia6^FQȄ{U=H{4ɹ(NOn-F;~TMÖ̀ `%I@0h6b$'lHѨd!P<,,yXp{3D;t0KMNJ`⪬je^Z{.@PJ4g(RIHx];˳?=% ?UU"]e3¡5A-ﺟQ~hC/zFieV"z1ȉ[5q׿{Fsqǂkͦ[>ZEyEﰞ ޱعE1[܆F}$ p|#KL5n끼‘Cll7IlcAAQ@ zcTΠ^oh (mj PqҿE|y=e"XL>o.wM^j8w]eYsjn$,yis9ʦtkw)J_ aKcEe4 UzƲK9eR!% !i>FYdy%@ tM[$<|YɃAD |( ZvU^-4<< BAd)3PA zb2" W`o5a1ICpZ(hFf%pR`(Ay.UY/_9%0^R2kT(3Z 0y”U!"BHlfY@DFNrTT NJ"$u,& [Z<3B8Ȳ,$]c.b  B@MN-D-rQYOG(-"V!! P%jCAk'Q9@*rP6 <9T&rq,IQB3PxF4cOʲ Dn^iM/~ߋ^>Z,7[8w%(y͚8iw5DE80؇?ҥ~g9~8x<^ą-_ 5qvsmN^Q컋'ʻ~;9p1I~nF!3Hupa3W:m(Fir5?p䰭":!p@50^YlG%,yP4BF*m58b ܍# !Ҍ4Map9, eaZU߁2:cJa;HY#$b/fs5[JMp? v'~%+I5(wM0&{DFsKDQU>  P k8Tدw4PPqX*NjF\(7šG;,>2qҡfN󝈅֖t Eno_LB9dJc)Ǐj?q0R'Ƙ?WhB:쮯mq{7P`Lpjiz} $BR1՛Qi0adEP)p5@1LG ~[h(j-f}@hVTÈ%b2搰VpJT &D2acIñ :s6++ 12$+ 67d1IˊkG;t*L@D`XSf$|-3vF)k@vFp*ED&Zs1e"[҃@Dp0570MPc`=!Jdi$Ig':lZuƁn0Q˲b牅V 8(0Waa^U Z1S"x5ر+ow2M6aTөc'>}of7ʁJA>Y\p.dlOwh HI.NNϯH+q%PABXW%X9(A2&޼2G4„81}\ORK-,83\Nshq-YXo9HWEH5yԓVy^2-6ĵ&!_yS5);xjg_]c]TKta?^'g$*7BCYmm"&cA(g\~uQ&ݬDŽF6#JP%%EIʠjpiK(gQj8XTAh5䅅SL DY + fmXW7BHE Fz=0܌U(H0;L & P!0E TPAҤ /R@.jvrUYa 硷٤fuӧ bx!kLYQ͕j@P;w;=cin(./Xg&O.iW|9dIJCK ј^ BD1Lӡ;O&a_?e[:pt1ƨ"OCpuD'cFʌ{ p:N4ރK&b<Qu*(Ev^/vM722a>'o}9\6Dmn?y|Cvh('s`o7D pa}GS_'3tkřr ["$0,85_G06@'FҭQӁ [F='&I̲\Dfv(DBU aa>BX0.2H^Y!5- cد@FP@$ZV(/`c’ <]~SCUWI@T D'sQ!$ȇd -k a<-y1AY*0+HrH"SsLַk`G: tX^U⎆*jH0\UreiaxUK`* 7P P ٌBlµV'O/󅧮#Uu< 34L0ݕBy `M9;},CgG*oRJ@/:r]{ҫ|ǻӿ>DB#/r˘L 6PTLYra+ڞ'F[ whR,%]os^|N8y,\Q4+19J>Bv|8JS9=iWPc~׬Z =ޝ?!jdsozn 'j>+WDuھ{o R=`-&йĉV8č$N?J-n;w?o$Jo1Up(`>._qjz} J5˫[4)%9W=͍Wa&"hsA)G4J`0vHB -Tc<ك SBj9rV55a=DDuz/>bg#l 0)71wxqTg=7FN:D݀0b,tbHaxhc<3eeIDAT(iw?EYDEj٘QL^% ">rUi{Hkup!M䶄R ͭvRayyedv{EQB 4\k hC,{KP  `4~3?s\'MdrSɳg/& K],_wnv-ġ:e:O !GU9l^A.X3l8' ȒdR%[~ r-7CPDPr0S8%-]CO>uQjHJSUuo6._۾9H/_S,v/`zEQ=oWW7hm=W; *@b^;B$TUtVM5}ľoyϬXӺL7E>_|,:װA4.W f|JYc>~:d߾E|zp!iբ*\u \gM} &Wx}{}={{"%֒c*qe-Aj /"0i!|tg/g3?YD@ Ԋh;ߦU%(ʺAf[.C n܄psX 4,s ]҂5V߉%ې83x>WH( *Ұ3.\! Yn4X/\xᐹ1/ahժ$b V荺CKE548E1G(BA?N:,A9X&0*IENDB`F}FZq+k+kq;Rf H3~nM8pH.:G9wHM̦1KV֦Z jZk팆"!I) )IYɩx5KK՟^jsGBi9vf@Pm"9ab%JYc'LؖsVwFt]*z~ؖeE).,ϛ 7!*>I,f`ؙأƣw)W0t1~?GmvYElP(Y!U\+ԝHsS+j*,GJh{!]}'yf,E] 31SY ,łbEa4ƛ'h\ǍP]kuxÝy=wj33 a`Ljht;"xNx_k}P s6SR46blg>swqwʿYၬIENDB`1 -L:x 'x' PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9M x EPNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"GxKPNG  IHDRw=bKGD pHYs-ItIME :*AIDATHՕ[lTU9sLLN̴ h ʥ!FM$1h b&5AVI_ hbШB(&}b#m-X40u{x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME *|1IDAT8͒=LSa}_mjlDML\CB ] q`pE:8q89dttC j({/~4aapѳ=uhy|,5a:/"_wa|f3ptëW\vi!ޙ< @*rMs~\c-*†-P`B"Fh,3h(%m!MƘn! ^6)M6Et@ z>Y/OQ<ҋ # [ѶgۿXbMP:0,յmOmⱱ:). {B&Alb xv,_2q28pG>ptE"U;6Zu{0XW48t"(e}}L 8kK7:lƮ+4/P(3J=Έ uA/Jc#Z俈?:p.@IENDB`9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME$4 Y YIDAT8͒KTq?{Ό^gtPR$hcm 60EղjѪZQ !`RHrt|$83wBZp}=mǵc"1@s k*t9"\oaG)rMt#L#6(>BZq5K//ZkIcDdJeÚ:9],FRvyF]H%:8P("Ecu]S T.EY xn:Mcl" X2ROd|U3RU -a=c903}ʍXU, Jm4 s<1;oqx. .IX.M>W(듩+NL8Z 15I 0  eDn`]Nf6MΏP_[#*+˄Lk1Bv(>mxGPh3\ܱ6ti] `jYj(B\m4mIEoBS9/<2,૬F\:@L|}oZ~䖤p_䦟ԯx, ;U7%fs7m` KBh@V>;#7Q"MI`t8za<EӂzEƲ5xU$8rەj**y?D%( U ܖ-w2ѹy뗷 >Ud ˜5<+jB*skJdDx/,Ǧs-08.pt r " $@D!M\U_-Bc S+6d "$(ITl^LgϮH\ -H)I~D6-%UѩݽݸvK"IgVe\ BEjj47NiP>oCCcQJ #SQ"{0MN(q(Xɪ7M,Ӊ׾IENDB`? T,AxAPNG  IHDRw=IDATHoUsϹm] L$`RRi!PE4j>D-E6@ є6*CEԀPخOpνg}pdK[ei[YL0o`9 s|%;/q!@ be-b .I:˵䖳"Xlɲ3l݇qp\`.%p,8LnbU_ZtPgiD2ʢwͪUU5ۃc`k{;^>\D+>fSr/1p,x5{nC0]X+cc Qm ym}Սc$.x챉p)qp]UpjtN,ɢ_7#Pi{q$CA,*E4KHbWåݝ#C_42C {^?q96DªbBsS>3 Lo뀮{\0Oϙك'N()UΤ4gtx= }SL2mCP2 X^u lZ4n:F|cm.Oƾ=/vg3j޹=ؗЕїO߻p0@DLDg<+Rk6 Ʀ4ݍ=)P[&@NҲ'[2/plˏbPQB[si vكQ$:r>^bb6%S}˂S[[g/x[qekf&"7λdED)~uz)j|E):9U"!yB P%zty9hE >\cmlB"c׎N- |sZg&b( -So3<"K==ݳBUHb}0ZYu3RY4nHrBXC?@$N9(G 88Or%! mXMLwQ,yXYvѱI`+c P Vy_iXʅxIL]yXj0=t^ y} Ndokp{JDa>~@Yq\VT2},_9vВaҤtäΛ43}=1'Gzh0en#I39!FĀ1ch%\1M -ѧ_=!Kg):vOzpv`i9gϲ`y> %7o`|n ᅫPHblK&} _>E>v^6Ȋ.P0{/ ,"U`Yff2L +"P#@g<2jB2 S π IENDB`?$ ]]2x{PNG  IHDRw=bKGD pHYs  tIME%IDATH[l\gwn{cױdז@CRu4T*HUp RR" U. "'NI1bx޳{~HHHh4H3S'QWP`d@SV“{#ڵѱԧƗ9 l~޺ EOǻ|罨##O|IQWLyuR>o03kͿo/p]D>t3ނ|Ngvf )5,Z)ݲ%;DYRӸ Uɳ$-*Jd| 9 {{P]U55u}2̥DMAtթ燇 uRׇd7gl+:7Q</7oO7 ,!.Zq5֒_9y2elprDB;x}A&1=*X92 @y:ě"xSzq}Jli[KVb-Xʤ*[|ʽOn ~?:eyc*y}?{-0> l#h4wWx<;||YՕOoE=B-J.ƍ_C%uw| ,˦P(23=eY,^B[,OQU?Kޅt]kضMsEQq\!=>NVC4FLNN4Hufgg Jh Yò,~?_CQff(IP  :.ab$d ¼$IhZ-@UUUEE24ȲeY%&2L H`& !`|>ACGGz(CV$I=`tb EU-rHZs47Q:LE4D{&.U*t*( N֮[:iDxaFUdEaUP*||ڕOMɓoܾ?y9 J^ALf&zjuDQ`ǎﰴӧOضm={r<|s|q .H4Bz]*"/D|,P(̜;w~s#(2~7(jmۘiYXIHYf5mǎ{9˽JvrWF~z,)QVm>%iB!x^ ԩSG++WLoٲ|,ANʲ͛77L6?:s˲χ(..tʶT˭cR$ 5e2%RiK,ڲeD`SSq2SSS7?D"qǝ'0 !|><==xvvv8i$zRdEQ ?D"#D"Q2|_,}sssj\i* I(Jj6i  9pIENDB`.0 zzzxgxgPNG  IHDRw=.IDATHoS?>'>Nl'FnTi/ƴ &mڥ۴M(-P`@D[krȊP dI_`Dp]gi떭Ç|+P,]K/m]-}}u]V?񐮟سgϦXp(46.:  x l޺Vǹu:X>")x,|G<'O`llEQ45m: .2y b=,5GcK_+ϑCNN܌u]ڢQ:SIC:=Fnj q0 b@Oo/ [:HxHPNG  IHDRw=IDATHk$U?f̤g4$t@I Qi .tsXu'=+d^earr:IF4v ɌF҉vd }[ZT~&"_wG5۪[_@uddZtqqQ/aU7xcnn\(0 '_b?p_>33CZ- u]<xcccFGGZFѠn3;; pI,LOO8&"X[[cww(EdƘ&&&Rٹ "DIx\"2SV_XkY__wXk<ɝGyAz?u K+g"18-Z70dooJbϪDQD@UCkfH1檈BZ0$߁flvt: ³=FCQD]a-J |9#\rrYuApYD.I:^ޗ!Cee_鱫"2o" /@izUDYdzD`$u/,Ick\?έ#y-iTuX9 z{?em0c"P!0E֏@(]@;٫JLEXD=( NVd]oׁFSU΄=WC<UL#ތ^IENDB`9( WW%NxmPNG  IHDRw=bKGD pHYs  tIME% 9IDATHǥnD:1iz=FP5gT H*4M8jv<.Yд2H{;7> l ײp0~>tcz_jpR W|*aH*"Ym|]BP-Jh4V`0R~y*qwvv,V#NOOǬcS`/2nyѐRJ X, J>90j\\\4ft:%ɬOonnަQ@۫+|0mw=Eqfv<Nsn(H$-e8/l61H)O>7^ahQJi-LRdd2fs {޷A @a ! ZXB/Rp8}<=})( 50 Z T|@!0RJ)1'LWot@a"ZD"p~}Qnp8Q?/ !'1ih b΅lRd.\ZEz/@k]Bc:"ZHZ?u`b㡡C=G͊-hV╵kyWq |1 2oWjOt3#| oLBx5B2ioJl^4rS˸>bU~YWs[8 z`- lά4:ߔw ]:HDbtوȒL![ł]:P…LY_oL&ȌK xksv̝ɀ4dǮ;3ybw}OGvd@8\^| ܙ P!ˌM@BѮ}Ka ʋohd0tj E9.K0`Z,ה6ǫ$cַKk#g2uAm+0>,d:5Yɗrg>U8+S֣X=?3NF++v͙s;2i'.<W֮( _bsvٱ/p Ng0Y$0a1z!S &Fdc89-+LZoMdS>uQR+nrU<"Bt$1۬$GPӗ-~w;%L6kv;ʉIENDB`8: qfx!PNG  IHDR& ~d bKGD pHYsodtIME t45kIDATXõX]l[g~ǩ&iuqUqM?C0UBӰMCii7H;Ґ`$v:6 R.FK`Ij$M8c;^.xbu{gsޟy2 D^T/-JD4Myrh8 94 1iV)ăZv #nBUջBBwV"&2 5B&0+еSw̷d"F,mb ev!]{^^D 2iςuCmۮ 2ˁmLY}VTluWۣr l۞aRn_Gf$LPJ/Cv~f| M ?>('"n*@!S~#0B0p;u>MY/;`-ھ{G?9P5p@KO;*˥CF0PH/ñF."Z G Vbd,@-P(7j6S$=@/63݈ 8(4T0 enepWoŠ{̦3Vz6 wJ\_ɥ|q2:T]yo NrZt- 7J]!W 95==Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME .4g-IDAT8˕]LU[ZM?llj@t#0YnpƘfwr fi8e&Ʃ|l -+m߾^ 3sr_y#(³fPܹ#>(Ãq49s`0l7k A+кYO@\E:fM>Iӝb|Av.-/<ۂnP(vKKH""MM8rxfs=8t]'Or%vԲ:wv<8{=jZUUUEgg'}}}RWWNE)wttv>R&B,*׮]C5ju>h2W&ar P]UM:&H$X,JlZEhhs㣟R˃ZVVVjx}>@!:%JQz3t wwuuڍfgy9 ? E0]nss?333 EQ٬ zT"`P~l7L& $e2jjjK2. ͆$X^^&!'IȲJ"ɠѨo9+FG&3\SN:jR]]MP$L JERdñ,;C>?NͅKxQTa0$ KEŢLfupH$Yueۮ߇ߦgf奥e(EՂ&%4;`~q|4M(淃Oݻ{[ʭ݌'bH*#( fBd3Y1&Y?pw^Pek x<67lӹdYϝ;T9 IENDB` ^^ {x{PNG  IHDRĴl; OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATx4KLufv,tPC( !шiIMIfZ/=4ML؋MxhZ< .,2=uwaewI|)G[6BR(U=QdV[o>5*+RG/t=LߟqyL.N_*d9?|ԧJ: ,e3aYΞ:k`{+OI%MN>yHдjBhZ"ǢSd׷m Non*nX&cb] GF?t}n(躀BPXf *]F#9X W끽nI ߼/klN$wP\:qwv(+Ky.?Wp VDE(QkΞ_G69j7V)9._ 2l0_ĚPu?EkUIENDB`"D kknxnPNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zׯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxD[h[u.'Iڤ7zYڹծvkcÂd->'烾0|Qal+Zu)mmKdINN/xoP*h5 nmP06m'DKZBҳF1- Eq_ߑSP>'f:- k;G\#k1|Gl(:ַhfN⛟fH&Mj$v}4 "Zsު__ɎcV!/vX(8-+8BZ8H:+_̂K7Huwvf5~?Y],Z\ dۢ}{hjh"X\*m&ݙ*7+MAvFp? Ձ{:=Z7ZE9*|3S4o$$ H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%[}׾6guܩ,i(Op'ol:ۢ< ?`Hm,26;Eunbw...x.i B (M [xCjlT,17EZX{#OXq`ok #@UD5њ\.]ەJlvi~` DnJCH21d/dXiI2^e њB@ ]W)|DkP-BA"k7[vkVR~e1M4C|`VP_7Aã^B0x~Kٖ9Zc(DSZ #Q ^&-T$uĶ MPAJ  F{$hfN#&\uiS(APFtϡE>6<$vZͷ P[IU ѺhzFzҨd gچ# VběYc`/" {e}9oFiP:xȞ{svz F8bmcfn%Ţ1 F N;`ƚFk6lm_صm7p=☎PCe+"hz >4*ĻzL{lx@߮oko`a!B*&N0 XZZ"SVADg?Cog>>+<8;GscŠK,74Lj"\|Dr`[/]LNC#;_H؝iVڒ.E*RBݧ`,zZ^e]пGюׇnOI)L%䋌OegΝyy~ryW_ז=!uzPj3A|F\o/шIENDB`.~ zz_!Bx3PNG  IHDRabKGD pHYs  tIME ی xPNG  IHDRw=IDATHm\Uޙ3;]tnE[$m6~@bHP 4ИR V]P?ňC 4 6FbhL0!&Fj-v̝̾{y0ۭmIν99y<(zM]7nz0ᕫِ{%=T-_ھg玍kH(b,>66sR̍DsWqyˣo0&2^TD&"g>YLD^?)ډ5pS/=_ܖFjPJŕjN -EOfMuԡ~~rD0`%MZu%A.Mi}kBOٸ.E5\4pHu|zeeشs].|xo~RzY V_|/uu(XRWfH%\^dHéEFA+o@$[HYIDAT8mML[u^飅BR>€i]â&x͖mO^\"yǖR`J{}{'G4/GCNyD"RnnX㿞^ziCo__YV6,2+%e>5T=l&G>9wi7VIW%y(*+ǺC>8Ue>⟎oパ-0;T@![$VG{.osvl)=bKeNr3!*=\#ֹ6'Ighj 6:3qN<~1C_ KZЉ0FRP Yc{%[/<Úp{cK;[ѨQېR)JE);6ww)%m{j:{;{ToNpd *W@Hɐ+H(hʠv1A)}YڦbN [XM~&e#vW[.^k[PwUs* Bk@Ѽ(BVPi<[Kp8r^jd:9FrmE}'ߟJtǿZQ5En<:eǃLXdרr)"~Q]WG\`(CWG_:U-J9+J_A{@k 3DFGԧӭG>NF>8s;.wO[+JgY*[Ny'zoճ3SіV*Bv3go0.7uIENDB`mUudRhl{͋粸vMH)i6l% 9_2$5f} $K^ȢeOt}05&4 )$B " B j S%zt+9{$kVov \0>&b8s9}EŪ~z}<}UC іʭ+@Oͯ+EMh[,ifJ9,e{Xj> RD,}WXXKx>z$ܥ CW5Jc E:1FjuAYB0MX³Kx^%K,n 󼫺@3%kx2eĨB"wOd\^6/+uY:f7` tTX)k={xdR)V@@E K %qYYξ5`@@z PŠVزc?ϼ\#zs~(h!:QsVdGG^i_Ѹ ] P il8бI-2 Zd f3-"ӓWH\:Wa: I@W| kus)4 t 0haL&M *N=?W~1|8/#`:9=ZA !^8_/ nH"~ď_@C{zV=8Nq Dd2I8FJ8LOO*PXkzM[fN_ 3ဠ԰,\nd\Hz\xWGy }^?f&VM TK*y`Yܙ?'Yn"ҳO}{I_W"AGB NC*W`l"u)uq l>ЭǢفµW*ۭlIENDB`0 g#Rx+PNG  IHDRabKGD pHYs  tIMEދy"vxPNG  IHDRw=IDATHmTW{g̾uw]`JX(nijlbmR$EAԥ&~1XRI&HӴI,!Y2 };a.'y={3!6.׈~& w tJl+5|ko% Du_ؼH$cB,'dN{OɱAJynO<쿌(5VV*UVj(+uѳJm|o\5/;|;~5&Q6@)`A ̯ce|?~WT@:X:T̥CAD02݇~t@4m/??bibgWH&P|NBq$ g>(r_0ĆкBƻ$3;=\ʔ:C#|EQr9anaIDAT8mMhu33nv5ƶD#֏jkKcEՂ"B&HKTAAKKZ0zPZ/JSM&i4dggwv!m^x{%Ibی>>%ʷkf^7]:葞w%.Od+7e1b:-D|,:,D>P G8 Z;?~ -])3XRP]o}FHw70莶JNj E=7!UN~&@䏫l^PXeH,LAd5RPPBcOI{=ٳwo\IiA'vQ2kϿRsdN^#iFfAudY#XF{(.mnЗ7[8(u>ZɖNMHgdѼVu dR,Z*OZ 0*R/B@z$I"/\^ \ZLh-NsX+k*b]$Ii^3,YׄJ5܁ަxK2j!CjB]`9 x @s52*_|}1ny$<~4Ï  oj VByšogƇVlF`ū*- d#2*WwOt.x6']ځ6 FŶA}}=v-kwFw~jGwcuxTz[>|z?c'&|$RHgsSSGl%Ir51'\g]?Zvs)UIENDB`5n%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxDMlSZ붾uC l- fW?A!zbO4LԃCֹ :v[__ھE;Ul%Rj9{k(S0 m}o}5BPA@j9ʡ^ٹ[Z@@JewO"1Ʒ]vƮտx$aUGNǯ]oS1+ - r[3PY.^% IGA[Q><@b7"%Dh'd~9c˅qF$J'|Iû X979|f)b: "cc [PMRCފeKm;^LQ.2f7Q0JUGXWhtJt+WQSh߮'d9$I.zۈWq;w 5+^0~'2(Zaю>o{Q0ս^.NSnUDEQbb~0{??{%" jՙbԭ_UٟWdƿNIENDB` _<%|x sb``p  $?ORAN ɼrؒ]";,,f`ŒxK<}]oq2 Jq Yx8XNN8С_v׿.ztMYx>7^ ӆF `mxlEN}'`tsY{66 $zxzPNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G s sI(@x sb``p  $RlI. Ap品" 0kH{+m6fv>E_B%%y% E%) % |@E+<]C;O55 ߸ֳ <%CCݱG66s?\bg5?`[0܀%8Y8 Ey8XNNX `;r~[kJ( ky~\9_ %OC:.GT'^i89SMOAKRfsD j eSBB.H N+ x sb``p  $?ORAN ɼrؒ]'E8 <">0܀%8YT8fitq 8@ IJQ_mٿLZ 'p[n I>gIkӽBꙖel;w [+k<]\9%4`b)@x sb``p  $RlI. Ap品" 0kH{+m6fv!9[$K\#JssSJRKRS3K2=}ā<]C5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\k痖XHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F*IDATxڬn0V6@8OPV!ud )s.(Zt4"{I@(p$iz;\sHߗ{<Yw~ \9{]Lᜣ( xJ Qa:o%X 5I;lá2~! U% 91#$IoմgAÚF#elwKE^ͽ$e+UB@$h=@5Ћ-1:|8?n4h [[}JXCъOӣohucu2`M~ $D}AA96LSDq&ϿR]#6"̢`79H"rhGt>\|]0cPNSUk-y˭'/h6C'|css}-0Q𥓽Q56,=r [ \_]-% 6NA jes75KhIENDB`6 j-Xx(PNG  IHDRw= pHYs  tIME (/D MtEXtCommentCreated with GIMPWQIDATHՖ@kH.%-|()V),R"-6Y7?=p | ̹3Lo"H""[DT YxtހEOqQiZuu]kYFQ c2h+@0Ԣ(QEa:Ȫ́yo܀y` h8ve`heO,s} vfwZg+n ]W< #PU>it/To^#p5Sk[kv㸓`$dd=hA| @\^CƲ:CIENDB`0",H x PNG  IHDRw= pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`lJ)0'[Rvo̳z#FA[L}M5J]$hF"mhדCD\5:|tgJK=1.uxMvg}&Y|*12a ]0 +*@#yEҥ̾~uF+Whx3RU(IIi]9^+cif޺šx(lHBDǀ$TvĠOP,/rSBEHl0IQ;;T^Td(gs%Nw[Yg'?!4LH&IVڥ@lg/^w~vba&թ0ha@\e$GK7_4^g1zv J#$ Bpѧi pk<'ܢ_LIB.2yHAǡKa>Ͳ y4̽Dmńto1^ψmv0)(-UpVêe/ᎎ_dN*PV%/ǀdINYq-3Av L  j1_DϜvxr'94R4^0(RM k]˒yΩ>^8;;˩v tV,<\K~M&=bPStyHS.Ps |07GPt9Fhnߣhd:Iڍ,ݦaA1Ӹz:Dǭ>AXDCt RB 3 E[$Kh@ji1uo^·FI^@KÏ~FH/Y9KւEt"(=T:2Gh8vkqE??4ap>ݵbAgސ95a"Jg HHQdc|99WB7nPQőf(2Ylvo9:)Eq/_&oDWB+P =dgS:wRQ+T"qݯε;WiCO3tpTy4tLĬUA.O<xaID!6LҹW7 4c=*K)#J[i) / NppCJ;$) @ hCB1]|ýL)O@';H1 h߄Ife"WrtxB @90y *f _]x ?'uJ> Iζ4.Ko_!ƈ$B~f3YNvkAɨ(FO tknh- QzaS~LBIL悐FqO~Sy}TAyJ D4x hBPI{E^W0k D!T`B}n6 @#7 v&xRl) V> r~pD yf =q|'<~u@Q#b{dz8Ezc:w)HXA- w3 >k"^/,"qE @*A[x?b>`=-ēj)a9:qG|XX1!Aa (Q_.$ PJh;ps _9>չ?$Z0 2o'虳Ơ$G\L/XBΥD ĈDM$8=:z.-Y_\b=\z+ 3:j D눩ƫH~WtIENDB`3 ##W/2x sb``p  $RlI. Ap品" 0kH{+m.n~c*q@!׈ԼĒ̒ wO߀F>qF}Oo5;W0w<0B%cgy?1{M"Ϣ)vơI6(^%z clq?Y2^O\j4]cgK3izüeKcܙس&'0-wpKPbO]v?+YYy 9i}~ceۼ(ojecͰx䇌 ׷ζfxҐo .ڲ1xp]wwSY[1dO_gpu Ykw; ɯ) ;r.h x PNG  IHDR szzsRGBbKGD pHYs  tIME16)tEXtCommentCreated with GIMPW :IDATXŗKuTIݒmg`(vC1xc2C!}6I.0lsH gA-%C~WwuwW}eQhF.\>>8?{_21FŐ)BЖ$jdDA eXI}$h=#CD1N9Oqh "e0i>'%Yxݻ8bdZ$B*͉a (Q 5=!CPq]s;l[LŏkI]J C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIMEFiIDAT8˵OlEƿy3:vݤud$—[H4BK UHE*rR N#D O zM"8Q,T*mi+GwkwC(ny};Oy)pA886؟wrFq(iځuuY:^w]w @0 |+fff lKid#@ŋʶ8i"u)JX5MJr'n_z٫R7ϣ9:jj"*q6+J޿˂ X pҲ׻ϿFR|1V-wMA?uS"*&l{} @'677ϵ'8% AZ8vX&{8[_RʕE066X, J/_ТRPlhZ0 ? Ji)nApzoG"0,"%R&Yw?rxڶa) cv(@Dj\$Np1&+NaznBjjU 4ͬD49qe:y8Nsޭxgggih $> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)Zk+?>󪪪*UT-˂h 4-] %0o\ܾ}>_.R̙(//0UfX]_^Q+++X4( 2t:- )%8 JHMx<Yie˖Öeykma5igp8<v|%0`>킔h>z_i~?^/~ 56~P"gr!{cJW<G08@ oBX!''uk?D"h, ۶A0pa`hh#rRܮX,aR[PJ&p8R$R2 ּr((|hҲx,(/Y:A\.F"nxllcР*(%S _P" #^(?xs~5<^U%% , c!cGOrO`ddh8l9*3DmCuTm#L |F)FGGi:ȴ3gφ^RL[G2}}!%/S)%4MGW?dBJ n1ŕz,YR%`AUU %ΜN<BȂ͛7w۷%DΟ6Mؓ6k\xa(//{g|[Z!kZkR\ @cSSӕ+WğҥM.xvo=qXft:.\dCaȳgJB qM댮0cGA2f_7 LR{/ X^rIENDB` 1(xPNG  IHDRw=IDATHU[lTU]1w*,4~DjPGALy}@`h)3 twLy;9c}>{Cx^44487l@>WZU\ H){Q큃X4&ɔf~ v9`ss;w~ XԺsE!BH~ys^Dze­K;::2HvBokx( ϟ?*.~՚N`p8x'D+LBB`&$;`a, a4MH ؖ 4]TU]iB`}R( (`r[ &2PxPNG  IHDRo pHYsodtIME  pIDAT8;KAlkV MD%rE"Ei.Z"*6 .0эs#&n 9͙s94M)% 7z]R !A\k|WwNPЀA vۈ% 榨VSS2qq|312ϫ9i*Dl;El&o4{eyϙ ؘ6I$ait4.AeZ^~:8gg}RJJgggĶEBA tGdxloc46t$"e=׃h,u ygkKY<` SZx^'f"])赇ѵ>?HUX3 aA 鵧>L$tzȀJ K٤%"IENDB`6R q3f^x^PNG  IHDRw=bKGD pHYsodtIME IxtIDATHǵAKQ49 *P,l< `7?A"A=yDsm=='- ^K٘{=4̛R)yjy#J%,Fl6u  Odo7G>:B*pHONЙ bLw}F&ރ)jp]osx__m 9&[߮WYhC.;E.;5ѧI>OBm)=tEiZZºheD޿˖f]]/\@?{FivϿ,@t3#G)^XTx{z hy*wP@8U0ZR|BͶf6h9?OeV7_q}Q`YKKH<[g@,@Ldry,za᫘* D%B~Max^-Xz1JxQ`WLץK 0"Bگ5q+5>8 n"GXWqZ%\\?c!Zz^0y Wٲx[|߳SUA{ձ1ܻw m`PJ;KdmP[پ}Q28ղ8'O޾hFg4B/FÀjSwFבW"zf1Y1\K{7@Od|}źgYYALμI8Z3JA9^O%p]|ۦdۈRUp Q:56\.'S)y'IENDB`c` m5^ZxZPNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<IDAT8˵NZQy8DF NJ5XBр/DiEmAD0@Դ8Ҵ% Y@41_go,9'(ٹ-;5Cc-^؊֐X >څտN~1ՅW v\N)i7mp- $t+@UVlf0˼߂|@%#ZDD>U㮤##Lz(27ύ > YAW _yydzr7<B8WEeSO`J\''A9-K0BFg}5Հ# w !zBq7˅+đ6s۔CeTH`9ܷyhvע)DH&TiHH9KI$ mֵL\i9IENDB`F s6j`x`PNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<IDAT8˵ORq;Es~Vh7D i)%FW;y ֋lENɜ&UgWZAd:{>sΑd`˚囒}06HWz*``ܶ+z>"Y HE# ]|zE^`%bŢvq<ߎ!l;;qOud_W!D0_"-IJx - tn$%!?[ؕҲגm8UޜBHÝu{N*Aƍck쿞&rPPz>2I)3A.uFk4KܖA.qsjw߈`LwЃK$H wh5G0zg'hcA` 1?1mR"@Qɩ`h70ɒpGZupvUO$M c'qCGH L+@Tk?FEkҼ갺|IENDB`=3Ԩ@{ L+Np{^pGHgEF&NːPc[jv}^P6_x7>?~䶮-~FP qqPlFLIoD{3A}ö2FudaiBvt6U0Ǐa\ M`֧J$4bP$ J {3~-)qz^>;2EJ\돌y-qhX0mCyR TPGU[W"?ϔ~'hzOZmO-].X~,2K T`#,[aŇϧ) |'ӽzoZN-Cd, BTYRF ۏNLgzErpZU]U>f㐑a 4dE((pab*MjU/Nkqe_Wx: *I_! t64j#j 3Y\gdNW¾NU_`"s 7ZP@քU;P^ i"QLΔIw/$s.-Sv]Nm6r"LD׵Jy69T:I"\fNF!; h YQ(ʸ8[|$o,tngRQ87G  YMoabNoXzFI$e 4 /ka鿒"N#IfKʹhDn}Jvat&#V<ΦseU'!R,F,Tx$!:8"92q.Pؾ1`xQVnIGiN{u*ʚ54(}Pgik{_FG/}vyArnl\Dga|ޫ]Y[-.;L7LDoMZWuZz oxUlb1IENDB` Q7&>x>PNG  IHDRw=bKGD pHYsgRtIME&IDATHǭkl[9>$؎رQδi!)Ф^DĆ&ƇNhb`E"- DYHRh!ВigvnN|)QҫGzO+ön65W]g -޿g⍧Rg 'c0B3vNNˋgz`:ݶ}ݞ<ϧqC_6ƒgf)Zۺ܄%X`Nr&tAQ,K 6EfUiU-mI7O\\gEUoBQ'?ȧkCAJ)u4LJ{S]dzr魜$^mr3XaC So*Wyle)skWpm99^f4(OAkUԡ|֖rvj"%Znٶȱhk]T\ p )U pd Ρ2ϠVvьyn1!&b⣇KrJ5݉nzy1wkO&8]N7)vNKBu!$ ɤjJe͹SIv]CYe)I`2'/aLF$ᬤmil{У"ozN$#4"ĞG{eh9Ea^OЉkGC\1{`^_[˫x$lnTȬb;H'MR5N^_C8)qf?xӷWڞ3=<u)LJ%z.xnxigrEۗ>*vTjRpDDGWTBQqY6t2:@܄Tbm08yLZ9Wٳ& @nJT,3kP+)hO@EEr}g@& _B{: ՑM:55:1+dL5rĠV7w\ :Zov 2؋vxn xH @G,07nYjN7nw&ח:r_T8F]2*i-ojγ4ifV7 IENDB`Z )9VxPNG  IHDRw=bKGDC pHYs  tIME4 4TwIDATHǝoUU{rE"%6"bK}%jtk`2фCcX` TZnIBK_MsspnBd׷[Q֧ٓK׮yjݵ+A* ӷnhnn)8WWo] ڲ5,IͿHiæ- .@38j x PNG  IHDRw=bKGD pHYsgRtIME $6IDATHǭU{lSe}ݽ}l=`ma 8t Ȁ OAB&F@ Q'1F yE@A2k7h7mCQ`@wƏcB(+,S' _߶띕rEY`"THٰzy3 u.A.r@gj9%^_z@OWsr+Kf|pXa D^EX 3kw ) 玵g3h8h4$KCr674{2{o@Z=cHE3ۮ )jH" aԎs &A #,Id9O`<*;mF^.wV 'h60<’61bT5J7@ԄrGf.0TSGTHyL L B ("X@x/@!!bG5e@=o"y8( HC] n\r"ťl؁j s$Zcff'Osf=}û Z% b=sQڸ48=6>[G9@BADpBl!ZnO$*y퍷%V&ҹE-ADj2l:2({{|$ӷ}UK^9Ԓ\_R֬]:=9Bssj~ZA&nFߠq2$޹sRӓә.JZjzJdZ} Ѿ9;wpmd2>qTH$Ɏ)c!PjA).69D>tvlkg###8~d0 |Tq804Ej4o|O/w.{am8FΜ9×_͹9"لA.ek&vH|CGڵQ^yE*֚Uz)6IЬ[@lyw0OM,!xRlg-ZƤ`)_?QJZK[jc8IsZB  f߾= ^ȑ>x ZD8Tfzx }}ZV<uCB HyGEDQ\c0pҭ{ 2`hp%uK ק7nؠv Tt:U[|^Gڲi換K[6cMkBp}6JkTb%W?ũSH N!AC;5=]C쩨9Gc?_EH3) Ҍ7|8IԦ.[̜t_N| MÔs1y g^̌~sNDWAׄצ@ӧur2yp)c5jYw~WwXUf̲% ?Q1M ~.Ul6cpCBGT$A$Ȳ 0pر/|߿w^I就EA$A$4 d2ܼy1pAA^ǹs~WF#)@,{,Ba L&@)8jBZ Bp8u[`Y7*f`-x,+ ~:9GWW666`۶[]oooG @*J@^FTU}?a681H&( ζ뭳&!3UUeY~{{{`/k4xJ2SJBH(|F?4Ϳ溮ZVZ__뗅ƮI^?xosj5W(~+?2BJOi#heyB[,kݲ.y70IENDB`z! `=,x sb``p < $Jc) w'ud^9lI. Ap品" 0kPו2;B%%y% E%) % |@E=]C4Oh rֺiOYN>užvU bK Gt m|f Ηܡ.:{g[\ݦd{ޓf}vƦvWg)2qsӥ^ gt|W9aNxmZYr&źPg kOs[ W>?x sb``p < $Jc) w'ud^9lI. Ap品" 0kPוWdkDs~nnj^ sQjbIjByfIo@x#8*nOS'n: ҺrK%"1OL]u,Ly|QIпLr-5QZKȅ &ȴ.mMeVsO.?u)uOި}㰿me W*tY_:q9TbU;^)ԞZ>j;)~=̠s=U$Y8oSvpmޥp/\ްjShڀ>_)%3(tۼ6S|?[dSkONx sb``p < $Jc) w'ud^9lI. Ap品" 0kPוH'[PH59?775(5$5E<$C7 O苧c \ﯙ3KClA&qwnvܜjҡoȟ%Li^$eEfUgg_Ǘp4fje)5ο7<_y澋ç uBmqfDá_c[-~JO+gj_ۿ+o9Mӈ!Ý-]5.I4ȯjն†/wWm|MϫEZ7>[ݰzOLʬw6<}> ~.|J&|3?kkJ~nݼp ,@1@U1T#M=)+ /^{|ۯ0༣<rΜ>ʨ8O(;fuwرc; ~SO9u4;gytG~:{vb]๣Gٸw߯ivUH{Pk)۔s_a'*-B gWÇD#K. *ʧ!ٳ4\s*n&oRp1siZ~#grRo]ܪ9?شmum; fͬ@cNΜw7nbG@vxy@▵Ćd4Юb h#hTǎS<[q4!D& @:֭L,۸u(~C"d`"~5F Bϖ>r ^4_&O %LP #e t\šH;_cAD Bd GIdVQAلItD舴:N@gwDڙ(rv5>;}^JK'S6%V>h+F^!͖m(RJ8}3@AulfTUL ;"Xy(+/I`uYhTVNK a2SHjͥ_شhg[3M1P^^Ngל>{3O]%͒H/Yjjjjx!0`EkdcKtww~z{p wRYYJ(D|:.f K,8.A@o:.zd Z)Nrh׾Zؼl6Pk wsG<=uMr&N?o-hYfVIENDB` | ]]BBxsPNG  IHDRw=SIDATHݖOTA?1DN$\bbrl#LHJr w;c; Nw<)a >zVn 7#fF* w@$dA50U;1˯n{փf~tLJ29)9Wk4T1*ks}z ?a)u\w|3QByc2|N 9`Gɉ^!Ĩճ2i$TϿ7)KVjPU666qg01( 6l6d~~TH߬sOj%7PUO*\^40FtuwDN^̎"Ȉ(rLp_ ȱ;a"wp#&>:W|HVtXZ#`;t:xJtS'80ǃPd4_twRJA}L&j*rH DU.fխ5 3^eQAE%8E,pL t{&{󇏟IɲCM4M>UsJY).9jV'5mciل`IENDB`l' `CDx2PNG  IHDRw=bKGD pHYs  tIME "##ZIDATH핱kTAwI BiM * )R6EH (B gu6? (5ф"xݱxw]49}7;3_ gqc   4`6lUs˅+wؿq{ē$} 15Xcpr8{\§/ #5Qo$iYixn_l5qb W/aKC:IR։q!"8,\BE]Dlll^ ˱s j5'{1c!X,R*X^^:$SSSO>$֣jBF-5#Ն)T*"w2Ri 7 0(=MOOEz[DC03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATx\S[L=t2jiBNGnme"OHbu>l MOLc$^lDG0a,mƍ"z@;hzcK8'眜pX"V_%I\./MӗZ.r\LJh :HG_ح @ pB"*++˼suWgŖo'[ťy?k_*fX-Xo+9ʫ?>^^_d2 "ւ"pb&p'[\|y6,hp#p-, @zz:ͰΎ~}JGckji/).>>dm?`jj k+!bNwކ*] 򊊊:'8W܋n`>`fCCHJ>/sx84k2nv8ͪ soT»g{=( Ϟaq |aTQVʕ@4!pLNb7Xbx g$ F"#Wڡfi80D"Sc7MQ P)B[=\R\y8D,]yxW{/& H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G% 4+5 MLv};>:=2?~*q   @^78<\su),_X7`ag_>sGa.)Ywv8eW|:ٻW+O0?}|PaժH*7զ/F2zrK WojBԜw [x==B Ԣ}[4 Kv CE#5'C<ćNQYoCEncB8A :wĂ4 F3"D1Y%J'5dK,">DW"u.-ד$wFz%fS9)^ lMp˜+^`Jn#!`spN;$pϚq_#&&x9FQhqqd0!T ި's*j=n}=zQ~"i``וmֱhmllT"%D&n5=Kh=|{>ߴXّYfwȯ]!oLoZYsir? 쿏;fw"ThȢYf17{>΍.&&_Oy}}ü09 j#O/bdA"rNtź{5aݴ˘{c%\F Fw(y=lܑl%IzCa)g8SjTqur}[-/ȿ ,ne!:#z%b<#l-("> Z/a1.($(%z,8qJlNt!f ٰ#xݥYPCT\$\e1#mԚ?Ny`u ~4Sd ZdΤAw?}z#trmcD+8 _U48LJ9 !qYLH-QN%|E.AE|xG5ڤַE;RomuXwMߏ#TG~4AО%h[==Dd\͍oPRNΒڊ8dEH s}(ŁF\SCWNffb8k#;RrBj1N$`3צƬ܌}FT|YQӽQRBcw T<U"|9#|a- GHw 5l$\9r,"E*)1AVPf}niD05.h1"DXlC_.Dp,$%vGBDNU͜.jĐ($) 1){N<+aȒ$ s)js\\NLyv3U$Akygv %r;ʊ})C)";.ת眂G'&Y G猛t]ؕ恳Z:O+S+g)D~_TFeX#tWhGLDc6إN\fyi/ j=JA!@7ij %4#bꉸVaY:~efvkS%Յ?oUJh#_EY)E C3+@]䂲C kCBu:_Jtμ~}"UR8^O7tI1'_#YGL"V AcS-FK*`luN"vf0,KHA.ؿF*xb{)ょxGKHn}hYѲD9T5d I"ßJ⺺|?ׅ۬`^ ({,?`?eH]#?߇JD8F6aH`F RH/f>>C:̚"NJZ 1qr*J>uonɚ]ןKu͋'"tE{ǁƉ$183e*f$?]ff08xh}C@\?p-7P/qM:ĵ:D_Juu(/:v_֩^ZtV.DA<Ac m:rVb!R2hg:;jshMo[IbH jO&#ûw=\ьz'qG;,+?\HP@3F591V(TK xfiB]j/lpay׸52ͥM$ 4hÖAhgkr OuUceݡWGbGE d0OY5 r{AY [=}FvGj_Ƚ;~[֏Ld ,pK%ZtxHmAR!ᆧƤ-/f MY'I xu?xܙج`{U7ަZZrk(KS>LH'Q[Ҧv eDi@NoA_UͅVK7K_1sivNxOi+' H+Rhv[cˆs%'d>zf2$qc׽Yi[/l4]OAL[AZZO j F9}b0sD{7R#o@O'GꌞE>gijӽn-_3)dx^zt[_S^'KjGabs?{W%J XdLDIh)w*,/5N&҆/WGdsqJYFQ~,! +X  k g(E2{ @*YQ/xO;3B zWkӉ$Ȝ|J^hn{nlEn.&'f'6sOX Yk-H0~ۿO]+{0j1cZǠg Vx4𗷅{=K .SbAc~zrSxZ}2_]">*rbu$\4=(Ѹ 9ڲ7=, \-9ga Þ=_E6^xk9Ї;SEz29b6H [>! QSaEfySqJ$XZAR"Irϥlj@?aӯU环oǼar6cypTbzih$S;: ^['QCӾ[ڃVGܩ5$G~4{ 9~3s#F.2謤m}c&.5 `tqoo;yB]`=ؒޠByT 1WmJTN ֙yμz9 Z: ;$m"JhdTLK 6t V̗6L\+SSFkr%& zlvw)9ѿ-BVD̯՝Y=[Ԃk.4qx̭ҦfS͞[IG.S.l&hLHEr6F o.Uq@Zw$A>k!st #I7|,H-K~Te701d6Ɂن;]5i7k"y܅!tZ>=AMc63/-6Mψ͟&sIo3>TTF2+h 6(`jM(7{ei":( HMao{>,?RWG( ӷ?+eD]k-?Ք4ע( !859 ~I 74Hj|6r~r7qn>oT%Ž|]J+=e0uӮh r/EbUƸ=c{4 LBAĺن0$ְ>У%iHhuX˄ p1_1*WRT3WlrRAzBEDdm}&ݭ?g W?< 4ُX3zGQ" r<߬pg2,Ƃssklu;,B:F[WA,>{3Q!yj zQ4 :3 j+p։iy~I#lsn ]񠇦Y8}7\Z Se&5 ~/iJ-8SϐW jf=me+z ,]g?z\ZUF nzW (?8M )vꡲ'}1?e+#YӗA=o30ufj5:y3// Of~A<_oq8w@D'Ħ(2ήuUB4nWHG^GCtd l'ZwZ^7ęQX5/eٲ,aϘKi6ؕ`!Ł?4jÍI1:vɋJ)OI5'&9JR^ .Dh Nsc)۪jf+[ѩ0nHb&LW1?,!.K .#+tWJAhS(T8,ɪ$tb˄y""Z/%O ^cbش^^LDB^z(Yx! TjY4f _[t9h\3_ >nD;dTmh[!.=7~E2TY[O='])-X-!ٗ?Kl;~fC\u W۪p'n?YqҪFX2od`[&ę /wR U25j #%EDL*}SvH_D6#6&bX%$h>tj5 zneob?o r;;3[E)Ip*Ȧk1= s.az5\^7u$Qeiy%YNK vg 0 VQPbo^r3|o鶼maN\=.]ŐnL^mx#ŚͣzO2$aWJNGʖ $B" k/ZnjGFb '5ڐ͟7];J:~|JMfrg @& (P!O %sF-P̕f?)a|oD0Gr 濃:|pmeV ;bӶx[ܠ7pjVt6.Wҳ'gN [q;g}NLF[yQ1ù=͘F A !7Zn8rWaVS7$؍یĚYԳA)ғ3N<~9pE peO;$DZ, | WHAhN,m ;RbܲloœB44 | .l\[%P^:@tX=pe+gHËRG46S^Oո- =ʣ=i&o/iنCy$fȏp0s>{¥rP"MU` BHe#YZhabdS͗ ”nЗɻf&|ό7P7iDlNW%YJV7t0Ā+Xٜր,鲕 חXO xߺD3Q\TVw@L*g)VRキU #fce.ef !ij%vD+ˤ=(G'Y)95Agq<7 %b jGg]c7h!ړe$3IXS Bq'p+ˊ]LYE>{i mi*Э#pW~*BQ»,qEW@ +̬"2WObT.$2lVdEΉ C,`KO0 }.PbH$OiPKjb!C--WHQ*n:h򧤦,f |Ո9Wy7Ca+k`{㸍{P睲]hԷuC]t0v÷?4DiB2Xs?563s<>Ks N~ ?NSƸInscd_i!NtUtFk^T6->'ȕ3t/+67D. t{rmHS7mx"+#߈zVzD62>ht`҄ QmY Q_֢-cl-&.ԽK<W Qtd<>jGK{AVBk۳ak}9wk80of73L]]b_<keJ}Ÿv]R-A\܌N}QG"}/Sn͔vqpblm2dsb'g#TP4FO.Z[=4Kq><䏉mb!-)ܢP jM#1 RdElѢWl.S$>Uļå%ICjR$EU2=5'ORƜ@wGRᇹLlxQ-)|z/r/,=t(>F C9 ,k߬؉^AG\B Yrd2R~tOU jкVOs^+ Bկ}b-rLu.Y zY$11޶k 03F {k !k|_{uigžoXxyv&)qٗMÃR1 dO]&r$cZwP-;)BI@;bEr4oro/Ѷ8*]VMĺZTƨ;/| K(/=G]3QqqV:%ƘirE~+_֋!z01AEت[5C(Q1EٷcI>5.?~;=U^Ç]An@M(ՂE$՞dtbn) |>Jݱr\Za8jXE(vZϹ/ӷlU 9:aΊo1Dṛ.Hh|a +Λ@~3n""ӲX<Ɍ# Fd3~.vsuȻӜMP̑ڞdf܄=ߣ!@ i %h:kRqe4M&>!b^.uGiHMF*m z;t^5_kInU=cŸ79wIn vMR,È a +3ى z`-eՒ{8mlIrỸz;c3X&<-sTӕK F8 *[THLoh&C.}vOApKҐjϨkIP7ɨ͊~Xf>/tL8dimK6V R$GUp9ز\[C%ssFڠYC]hu, KK&M~z?kvܐyG_ߞa/UV}Q|Y貚"1[?mNAay:sz~v\;[߃ͼwX Y0B^^D9ڄ]M!41nUm!MKbd 98hzjOAaGߧHlu-(`8Y^N"^ QXU}MM75RӼ)?kQPvqd=!E< )=30CذϹ}\I$ >yB.=jV,f`U>=JqFV?Mvr4;:Z3뇷j8 +\jۿ ԧ ysv7Ox(Ԇm3ju nx8>h?AVIXš9Di L֝dH__L 9qW8_{0\ '(h+ة= 8n`$g+L_ BPQm 3P,J# }$ `yd%+jC.((,C1g'\S1X8L_UkۋnDIlޑ-}:SͤRx069C"ϫ^IW>"nmpC~7|_ӈ-wQ)nZ>Շa#%fjG( t]W<#!pc4"0ۑt6JxWMvE<*i,/Yݟ߳=˫L!PD̸>1̱D,O $6#TH:4yS8 L]")&\ж]|zva*Tm<?Y[`%Lvϓ|z,3/kʞTˆʡ HBI~-5'Pj_.VBvb;1\;IX׷#7ʹ~ayA .4ILX:kܖ2i6!78d I1M|4Yt| f_&;Xv%wG‚~wLGE؝X |NA)B99#ZΕhfT2|B*i n뮑C8w"./veF[&?r߫;ĈK &si('zݛ-Gr\ʟB27pڔ@GѝL7fT ^f؋%h@l7OT/CsD=yC|fbiAWQ9Ȯ )SR+HY" Wә9nmv%axt1_HGh37Ӄ~3]>Q3Nl.ߞÅMr)xG.Wx=ptL:oIG"^ܣ+ߟ( 3oY;9r v\ K(zlh$;;Bӑ5UE~xj; ̳NٝLGNeeJjrUҺxKqL`,LwhFPeE=`]fַVYJ6G')_AwŃܮM4^/Mj3omU%5U[nB;ߥ1S䅄yڳ1O*u00#|D!$P0iqV¢A2Ks9_xšDsF0 Y {s x##}d@?45Ƥ]oJ՚"']j<;*6±{Lwk, Ł6b /\ Zݕp-3wf"Rw ?=ٲ,3\X=63q]Kxd1ݚkufm|رmi˂Te3v̧_Bja̙P)$r:G ނI8+j,8 7a' [h8mSAF[hisZr P}U3DSJtt\{UwreЦ>k&[s!̞ANEwN-J*| PhjEk+G[,QJii"hr4AYh@0o& "kPL,[ZybSy#YU0EEFK5:=%aT0xp!OhНЖ8`p'}+Üj?t:-q8KgBjUu/Hˍ$qhYspA5S8~JfF 9X;N3TҘ36azG@tpr6oHkh Ilq(}3z鏼ނ7HB0'~O}?hy&Joof4W:m/Q !t#MW*~h8/䂕yl[Ǧd ]D# iQ-#!G|0u'!^>୮xV5/JL ̢Zc L`,f/V(YV*ʋ; ;z,K>@q@W+IfFX4VĎK뾕}3AIĄa[ऍMf()Ν1zֈ$k2ֻ$^/-6 R!4,([umO̗=y1aJ0@_שXfj"S+G4o31S.T"mrp:C/ ^SFK,riKAƏykwfG!@޿"m;`ƃۧU~[WwwR&ۻA`ŗXוL2,/ƐPM2-R@ )KqCzbA "tLOijfQ/,M#Y,'璜ymBmn)+6:q`VPq{!VS),iLm!ݝ=fyFss=Vb8IF! E̒[ G fZUC#ƈh[c<.⽊GјkFjPzY?҈*Pڬo51W cI,ĆD:Ml˽=M.!et>$2ETƀvד7@H8ySR7( ׾`4aּǣ{{3 F_wYܛ1?#v|3'ra.ow{ ٤)BHJYYzқ5҆0(3E]Lq:kԭDdO4l@(!i*U PJyC1=f)֑3y4Jtt(0ʳ ô5  F]XV$l(|+NF22[ #CruNKԓ2]PpRQ5uh|E v@ ƌ*x sOJ)|JSUTtØ%c OWvXY_ݟڟ*Yeŕҥ?+ dJ#D[篲u?_r/*׮lȝRkã#g1&4Pc9XI U }sLzlvR0W6>e٪xKMqyyXǜO^(0JT" @h{+ gkzIϊ`]]ˆC/S /ǡfiȒc:#6QxbNMMtiY@F $0TXT64Zc0tlnm*LSmg Qa 7@_'_`N˰+驳> ;JniN/-ɬ$ٓ3c 5qzzFHE E"\3`$]LT2@#v&M2T٩+h 1 _id /ly.WX80{U.i[1}{dEwo{Ow*1m{=gmF9hЙfb>߬K]/Xl$T%) <|X ]θ{Jd.3J;J1 ti|]Wt0KƵ-vy CGv.S΍\>dwˬn@Tit] `Š6¬{0p!>UX P|hz4¬9ṽ].dc\zaxF:yB{R Qb be2z {.U;>wXU4N}8㱄>v#hwE!oC1 pNLwbw0Piz(G'4w,&CM7jkC>ܽs/opٿpʣ txsl27Lv?ŗZy?,Co/lt/}y0/JNϫ)HxK2e36Rk Yo=.YauM0 m1 REr7?ġVTzUrVx@qbRLN*P}-7,+T7F\I*siNku,w&:P0ZE"'pe4FCaTg˞koG?d >d~zŗ>A3/p{o80ΩF5ݸy O#aZUtV{wi?O Z8J-nFogMϞ)_G/:o *=\1rDO RI&qTսrk|,= V'v"tPd6 IAcZj4#99eړ$,i,CZ,A{0@ Z!u=uUSHG5R׆lo  *ABChajfC g:gTfo ]7A>T-A$b)-8-ʠo"a>:ь(4ȣQDΖ䱀)c3rujOfx{') IDAT{ [W{Aу}ۼqhk iOEzn${[_ePbWJN&A{E zS5LJRK#/mRDA*mIlAWfEw9=tju]ldfcCRrjGɨDЏttb\4jn uBZ#p4 gOZNv¸V2pFP0*Q5Aͨaf\9F*55)`}OG=:4zᣢG>,u1z)CRP( 4z'f1|$#em&ykU08:F\"z٦# V>YD.]K@?)ʕdZeWc@""#m6f7ݤ )J3M 1 -,$HAfm FCH dlզ˛Jߵ-}&6@i{|v*m09mޠU Qwbid&j,sK1'p[T3:QJWa(+s n=OZ@Uxy$}NPnfX7c0&|Cdd{:i%S/4#iTN! Jd.Oyw U$#1~w*H2Zd#RAHS1SXdfJq`X?r-h{zdd"9r:RSz뵨.*qbH;T;-ܲWy#8vt(x?dl ) l㬐Ba{$Q?]ז8$s- :³V_Fi?CȖyN:'E j\%@R3*79n9RCzc"1֖37Y^5JUAg U f,E5lrdsdؙ ̴Y\7=LʔO,e暐 ѥD;+'p/ nSNgK|e! "`Bx%e@P,yʒKl P.['?kiPkL+q8ԥ37y* )fɌEٺIFf2LDqu!ɳB&IZX*I{2yɉdG9sNf~$f6/:!9[h&3=L~0J_rxfn/Y'H#+ ,(vpL%whAP,rowlF1H=q չ"g.h; x^oPn|z #9Td!wTlit3>( lv\'f1I1iS(d2l6m1~yEkK ~;<Zy99KӠN;_9ʙ)ENxtu֏<1iNƟM|ϳMWn6Qr Fpp/i~:.u޲I%2j͑Mf+X{&vb(SqN&00rԌo2iZRm&Ďѱn3@U>P7 1$L~a7(ٮUM\a).;^eUIwPGuOh-_5N[cEAHBѸG$רZ(upDedRdܻ#4=K,TW w~UytV..إP7p+W 'WF}7ziňޅ>do l2%k7=vp,K"&8IE83#g2'ᰓ/औX)2ݧJ9 Gez !Lİ TI>{wF'1V13__pDGI_܁p*'`t xBdz:K9+:Ymi!ԩx}\$gz3]v+p#Ar˝ݦ1D ϓ$t%gԦLP_zAU箰Z"Zc ( juQ 2FQ"|\<7O=]4.O6:QCL}pyH'يiyT(Eɾu2_K q5K4bٿD4E#\ڸI8yX~os+D?3gF ts/^~=͗&_PUPڣR*Mn3& b#+ACGiRO6rs<˝ !~X%[GuR;^q?("$¼Np&Ur9GR~2WvY^CM%.ՔR\о@y G 2%zf9]/3Jz lQ!_fy\KjF KHi&_5զ)5 : sHNٳb6rXmɤ(a'c iqOv-(p0KɶO14$,`@hctfWI8̪Y%՚".)!8"f M)9ARof-qٻb&nQ3]q{ƒ9iBls'ri'd-,!4c<yքy)[qW2 `3ݵrYB9v/r&;J ,)%5ѣPg瘴oY2l["&u;+(b6XtL!ާ^[Vq="k +(o4O詔+מ؍FlYr+#ZJ iU`EǠ3䀣=g -on̨]{P`#Tڢ? nM>,RiJ0<5 O:%QʕRf9^uhDz1KMT&l19FUM/<8RsjlӜQD=}4gh)h#чӚC+rDxn9c*&T]x ={~Yӥ{R١/l9 /cF2x6sE'4_xp|spx*F35IqrJ< R=&{;M\0[Zh(b1%% ܔ9$n|aZ_as鴡P0>0A6iU="q`A]AO9u(hn!tɳDQAt \<?ʵeZ0/~-%\{b5?b Sig{O0/}C&/~ѧ]°݃w(ӱ)0W9f i đr34kz*N̂'Y[h2p-U%!.Typ#cxnut#jד\\YT4)qX4G0b= qHg\qOwh2֐!Ȕ Ғu?rSt1^c}';Thp[iԦS IӪZqł9T+ĩ* :a8p}ѵTdId:1X$J=TX)Tls]8Qƪb16=TFf;AOJe1P#Y89yb*%J&~1p=q-Gnx|H/m`IҔVg8RT_hЩ`4ܡX:Ɯ.mVqF57wysC;|GWÛl?Hv \^ɯHFؼJ,4n $ewڋE 6~0=(Q"9v>qθ8r<)^K9y a}Z唥Vf#$Ϯ4X4ʒR!Syx uH!9>AF6RgYɪ=eT'`%#IAg&##IG[H!!h'!O\rx鸒ĦzE4UA"{偪l$eH*)eDf'y[ݱDAIy&slgvnaSvJ&Jmcyr|{`G=m\Udq Jy݀3 ,5+7URsev9?B Hpn*4KI1NC~_wx_?iy2 gW8w}ڇ?%.TÏ (<~IMg_$nRDˇTty,z'z}~t~l8JBrk- ZNrZ$^=J\AFEAlt6+!f2,hyxQa\;W fh!!-&L84ݝv(tbtb"xp@Xdq\A4u'ZKl t A)U]#46$/@% M2PA/"M M- OC$1#9N}ʡf'OOd&;* epIBMQؔxLrx7ėϑ3:=Kڱ5f"X;ݙvUirRI6B)3d8!\IIkLa3 ɝYN}\FIOTHYCy_TX[m 1lh0 J@^,7p]~ nik( Y].At.r{!=+}Je *j[GF$MϣV?srqVp#% nm&BhN'2Bfq؄Z)ltd}W打 I.k/>r]PK߾}܍LkD$(ҸE[p /hcp\GI(ے97I VKD䜜|D|jV495'BGxG1qH%Xh%)/Hz~|eq*ړ@T 82dH05g!A凋A|H 5bY_M IDAT{QЬ/ϕ9W+h_.|=|WRaMRC /q{2+:bgA3sD^up{^ -q-+e^z {`w^|`˭[O[(RtWH]K`StbM">X9Ï!>Ni,QjN{晨IpCo9VPu(Z= Bfa:!YId_Wx#Jnv- C0k6=OT׍T;#aHNdKG͒Eh HT,87MʮH|~2kuQgQ{Dϟ$OfY1qZ,&sk%J(>&yE),/;YfpFBŔ%-YZ_B40|u>=RR/SP`9c{ ϵeM Mf.V)ǂRKP*ukic1ZqH (q+z,/zinv=t SWD\=ߠ4QBiH&1#vnKR3 1fsGx j~k4 _ C-ոtEI&)p j AKhCXJ%'Kw8l ,*.Q"Pr(USe =aF=feXvT#DfY(j ݾF(Y64?=6}3t/S6_zrF+\)Y^s&q}+`ޛgq!).ۊ+Jlb3Ogx^cp:X`EXjX_+e#$ᔸ~! %H#^Q:j&$dt7l8.sTmLͳ1eN+[k$@sD4\1{,(Fa&_R{N_[IiQpp-<|霈Sjk C'lr_.KYEe2vX9 r]Xzu[c>|.ҪI`)/D);dc6łK>peLUaC=INKeblY>w>zm7hxE~84R,qٯgyCi=(bo{@u}5?%b78MV%ZEH]1͚ X>Wp(lm/ΓD!Ҁ-R|BȷG,s t6~HV luٺۣ(sB>ޫ\lrꊽMRlQ6au')x19_AHV}{N!s&2I# CYE!aL$4)Cb; hbbCfֵ$I\v >"!CW(p 싈blÀ0B@m1ՊG?i+6EpO8=%IZ5p0@i9: rV/v\1sOA8~J[k-$#o $[HIb-WP#|xay S[ICLǺ4"})2 B&qUI bM4EUp988ꍰZP/k*UAH5;8Rc, <#ܔA7Ťj+" ~H8'b@bFTr@9)~űš_BA3PqpL !E3wUC0!X/'&Ďg V̨Cg3Fbp8#iHn4b45gø /3Rbfa%tHGɌ!f\7.ۙ^5%gcauN;:97,VxnJ$>'8.N<(t9MV5Rq" ¡Tqi=~ԗh}Zs<8{|ĕUK1H% jIjQIUvi-;/?/OGOx* eS ,=Ӎܾyp`aB7h6b7Ao tH" )Q_&ì],PZAjasxr%TSQ?:^=sdiWV‚Q.608!(X} +"U&]smgqR @ aNyF/vJyKO "<\*-Ey:3JPUw8e*$gVruqw{?61Ns>BZ.trjEAvn~+W9 w)|y> XCZiRDs<K uο-6":[wxmyO%ǝ Jc2JG$N#m lnT]a}}!W׹wWy?/:/pş24 т`;$2`Vc6W.._p8n>7?#YZ|Y͇ͯi籢ANDc$ %![տLjR*)׏iHIWtah0LbT( a$8"ϲIp5&ALH*Hrt"aR)9v3|)#i<Ę JbmOmD=&<쎥5& k8`g7Ԛ>'@8@SY@95c[=9, 8SȲI;A" fF(EVaGnCV, z=^V3d͔ 3^Z9avɀO.1N/Q6UVt)669!CXIA`uȠd8΋Wk~fbFj'i[=!ɶҟRy!fo<8Gx˜zx;|[,9J8IHƚa$b,pDG; 8\7n?貾>cA? 1nzHZ!=ވͽ{]>n [7#ZϽʯubo|s6E9IF} /耻~̷}&~-`W(ի~|qp!zg]W{<`}R=ӢZZd4}P.!DQ\ijx*/I&- \{ih07 `2pmq&B~Kx2ȰsA:Ajx ʐDݡ` +ԉz|X%! ^Q9 3ECMзlc$:%pL^SXY`Ȥ:>h $Ao\z'DZZSq@+z ?B  b (>'hc@<SgV81a(TMTktPJbQJNY>YEm;G|zi #?qhcd³/0|0@Ͽcb)Ҙw|ȫg,ww}/":o{1qIBMu=n+O/\bYz#6qFAHX^1X_M>U/rQL۷c*="k| ݦ1׸Wwu^/Sa!>ǝwez!vv7֑BQWݠZ(-7y ET(Av{ BZi>BF_( bFÐ`H8"& Gz@zC`@AO G$­ t7gah{aCC K ,6|k8Qd *N5a-4Ṋڽ8(GRtQ$%Q}:24+YTet݃+ P&J@zeQXgS;̑9LqLh!y'aa0\six-1a̱[J4M@噿N]2 [ Y?o}"Z"&Q*H҈15m&QBf93VA:)lo3ӏ0 Σmr 1|pms$aQFeШ%lǷ>`sc5J,4\.^^e>^) W/,\YjT7 J,l&;Y3/;$ Ŵ[9%[6;͏H%,Kʍ?$*pϽGGtDCVg~, *FC5af'Fx*Ɉ8XCѓHh{ GCxD!hHqίHd%J9.PrfO6xp+u/?NX(%j5>+Vԙ%}zbIc1 TgX\&45hrdnI'd6;)>GS677޸'7Uɏ~oyxNp:}>ͺ~~$1n |蕏oytϼțo?,'==5n8[|Cby5 {{(KZibrA)%yw=xa8dAe ,!8)C 8bS'Gn<18[إ{r\'<"/1,N;|P[ =:ewy3P|,i D-)#\s[,q)>qJ>Dǻtcl%<8NDP6z2kNR7w^DTynͧ^0ق+[e[a=KZfG7o|UH"ҭlZOUU:GGL_d}JlS@w?&g<4>iRs|3_f-kS_ 'o-4 CҲa>)؞*zY2$ϽEg >p|to8]\;x?"y IDAT—Xw0g3zƻx/?5&ifIz_|-3^~9oXN**~ů{ݻ{ lmm#c^)l@x4 QѹpNKɜ՛bƎrQj8 DxD}ϋeK{unwqy\Zl=P^X2壬4iL+E6h\?:bRhA@Qjsy 9RD@8ڞaӗZs"2q̺0B(8^;x""qyf 磸B]Y_ߦ-Rxr/.%ل sx Us"Bd ԕdwg_~0rlY Kg=H!a54, _yt>5vwNY.Vgg2q̋,Wu NB'fx8o4mMKg 18jm8Gg8/sM1x镂aӆ^U?1^bwutcDi5x";<v{ºikMX7|+sޢiz)ͷ--6/0 xsPJ1+֔( &wSsUkKl;d'"E]@IQ "ǟmd4!14RBMCz_RAܡnv H:?MԵ*.۠V SAaˡ2)mys8w71g Bti"^DQI "iLO(#*G!V4ITpph-19zH5m nw3Wy Ǐi[6PIN[GW\5p脳OxOi@J@8ʊ_'?w%l;K%^]Ζ-m3[W/k~7 zo?Z:YaN!l(>x x?@JHyt9sV>L&X!:?9|Z>*RP/CLBc\,x,f_Zxg:Pd|6{,IMܹsU(UBu{AQJT $Hiie* ,\SCB><َ$YA`:]SŴ4TEÇ+YGQYRT^JK/'<7vc$L+M]sJ@ L/x$ -1*m߸.ք̞zIJcǷ &{eVdI<*HO,'%NJ$#iSIBg8Tak{xEÓ#EI 5>d٭)pmٛUs(}ÎTՌg׿E{޺֚~ X 8i+j]_|-?xD bJ &+e@+M "Hʱ5b |ɢG$MJB:vJ*P$&Q̧[|W)EAW*Q((1P)oXr5f9:vdF\.I0̘Ϸ켛RZi$ؓ_< #x)u "#TQ{m@UQF0 ;1ZHI"5n,zcq;]%}UeǺ$gf2SVR{o]ngm.%I=^ѫ)*ڞ#+T;T"f6}X_~?q-J}K78%uX7Q g-Wv~>9Z\d %0!}jfgkF/rDNOO;ת+͕=Gl9;3Ɋeg`{[X4=/"(}@+{\A_4#ob+M%'u7+ApٯRQc1HvKɇ%zwwRP/\eR>̹C.xtIGHGpG1eţ5(/'ԠD͒JH>My|Q(&)sx ɑjL2CE6XxSLlmm‡mgP/㢥m,iDD y:reyܺIeH|.`m PDPFB"Ąr6y]:hW}8TReÒ#aD|K 6;_`% -WR˱^%!J(FP)@:URLX6ލH 1,i)YkI(.eænʷh﨑,-)il(,zʧSl$Uao#W Dٛl_ök:FEv&LP ~7_hOٞMػrl,< 6[ySc*QnX!elg݂_㳿;`$C{zP }d%^,J&a$ƁS H]"4DhRZ#TA/yF'ryFȔ@g!W[h3“O(rwU)ni0:bAfT*$A&Ht8w!b79l>8Ց)wc.1PS|4-vuLT5x0ZhIi{Vaej4`kW0Q'XB$'N|[՗q i)x˖}U;5nypx71ן!׷v8qyUw^cm lPO|*{SUK\*XX*q`bYA45"Q]m!@QQX_9<{%H|@:bƶkD(JE!(E"L "!hk'lH4YPҜuٜPJB.PsرHٴdhRU b G0R[r0RD:wlsuz"u)z~Cɤ.KjPc踒( La(˂GʼndN)ɍ&AJ/&Lr/v|l,)2q`GAѝh"*£#rcA;z'htwv'?":wx1Q^(ȁB%k)):f`-CKAAlg)Dއ%XٞVx wO)n˟IR9gg۱m_uTX(0)jȣ(UV2d%il5 8xuL* ׷ۑ?,ٟ)eER|a[l- VH80NV*L7T)B~0 .fퟲKJa#uB*35[LO`ߝeIsLQ dP%}W}k||bkv >[\//j-`guKMd@8Z=Dj}LW:%|tJt-sϵ2]M=JE< dp>:EnhڎJ+bJLg3[¿w˽h!>DJok~k@`"\KC| sqB ^GJx0J'瞽O)wͷrVHUy4 1ڭ!dLv`#<q;g$nl1  ad_a_81]?F{-`|3dF{8"S!~*^VLvr\ƌ@"!DB8c O8Y4#舐98zOb04`J^Dz)33BSZXW>O3E@JC)$N{WԫLf6c6}U-R+\f"'h%Nq3|>VNyƢ0A%>Z6ڣS| }ǤҚWtQ À6 ZC(+OQC%mXiUPϵ2b׈ļrL*l<Ѵx Q"t^8MZs}EKX Y׳\,\!t2a>#${dKDt<_Qnc0 ?B]߫8Z,XWqdLz=*9J #Ɗf<-I5){Ǣ{8 %"f .QAF"Q^м8?WiC+s?*-əH Gs;/\#1c"1ddL#g)V:8ph5)*#B:wx #IHÐA)xD7P?I eextvɟg݃Sɂc:|yɜY}O{H.Ҝ|lCZ4!(ٞ#k֫oq3Ƙ!=CVd,ƢѺz27=BQ&tMK˻kے!G vuBAB#f{^ &P$"J5kEQj!q\q>!xkw~gģ=!'Ҽ&ξ5K?I VCS_~^hbIk;n@5qehf Ϡ%S΃4(e@U(SFkQ2O2 e4&*ݸ*=d'kOdc<:%$06y{\=/OIRbVK/mWWgY4jE(s(pfLd` DԒiR{ k- G2jVl_zv-]bEfѱ8[ $Fd2a{k}^\)g#!k"1DtCp]^y<$]ps[?j?G5=T6ѯH>vnH $EAN3O(G,!RkH1ZaADJIBHRc#ذHG 6$F}A7|_&6DP")t`=O8!&uTI)\wY+`$GGZ?>g3!$bȩn23*X- !̘*")@Q$heA,eCL5{@e*B]tXS/sKIԄ* !#XdXU4o97(R A :.TMk;lEe޳6FPV{ /\>nm]\6aG;EC&0%[ƱW&Zi6Liٚ ~F>:f] e"gvy&u@QvZ jոʎ+J)>xZpwStlݻ ٚ0O),`HH73:x##p"3Gn*L)i>Iy'N"CB\L!`6)BcmHr>D>]"{AF]{^\x"rx>RAU N/yjwƪr+0'}d IDATQ)! !*|e\DzXwfմ(zh-'t{=VX;0z c~@>JJ B!Bu|MrF4 if3|4:Rb>r؂B i =+7rmUrb uE52RD)"O+(B; 1cO:aCkvɣR`&h4.ᰃBF o9;[H^lA_=yޅI)68Y!! I•f>'Et}M8v)Bd|(QJS"T2wxa5bTHKI)"vUDZDɎ"Q)#q"B)I!KsR)K.rf4DӶ)`F+S2a: H@uD%[R4}HSгD# ^"LAIfkI"QG %q R{:zMOR/Cw|5>!.;ѹ.sǃ޺(DBq(M.#FM! |C":BB$GtHtC\ M^h!,|$kf=^o,h{{5q$5#:C Rf)ÌRnx؟ع%~L,."D%<.8‡8}n=o?0Hvuϭ[l sԁVԓ(z(3ۿR'%.)H 0hD$O,*00#2\n]K0$Z,_v,N 1wx׮^;\2τgVzl%z Tu"btG(DsVX.vFq$1'L 2% ̚c-Ai=i(3+$JGyEl!)M #c+!i,{.HKZ`D_ƀH#wݖ925>a]"p!Nf"\"*$(r**7]0hIaE 5 f[Th0F}^r4 aDNZѼ2-)5 x=g@;Չp T6*n-ۢO+s/R12mV݊c*rzFg=H?O<* O5R27ѝ_D0,1@*4R8$B(ΕTð,8:ĕ X3 %f-^¥;flEJ'-X*+B`UŽ`fWIt`>+ $ũ4kb*V1pK$vv=Gw<3{wHRbUtd}xϹ":Bߡe$f^3UؐDCJ94\/|n{x鹗LʡC%PtĻ@=z 6$!ȄX1yt̻>'PW"D 0D2g4q +Q2=Ǖ} f E/0,! ! rLBOpoԈrvWÀlNI=R)T36`H> a\+8'Ë0A3C*YFFK &!~xIUW 4iyUߒD* xȢ$@je/A8 "psw~Ӡ SlU׾~*ڏ;aq2К)rB78l=YnV-֚ɂk5(*C: 7#* v+ +zU"]:{D"R;ԓ+t7:~wR{UdŤ(.Z,=^%['e1 0$A$3@| 8 Qc<Ṍj0) ĄC\>&i7.-V+P$㌅9$a0AEjjVh<k&F;Td 9HFP貓7ILX9ҽ5.S>AG0[ף C>R ?<5cnsMET*<'M5 ^GCA*g*7 ڋHӂFy&O=$Ybd0WM(Oū=I0Vьv29zDӐ; ނq쑙Ji$i>iZ:N/a: <5o}qZ.FČDNdag%"O͍-]mqK!l $l9OtX ݋N`Ht\YJs8унcKXn*kSWШАwĹs2=@Hht 6n8Rߨ[ZQ$hE&u !XNxZ_9Ǐ@:H&\ QVu%)mʍK9%S67'Ր˹ḧfE5lQ@4ʱW:dZe)T5;uVW/ƥ h^'| iQ`%C,!$F+br? 6X:2z?ftDR9BQŠbnyK+YU>,%TaElҞ˙Lhw#:}qhD؜#G%rh0Qy+g{@LXf1VQ lcpy(&*<.ABOrzRh?zP*ƍNB@!=j xCC<# 04@h-cp(i1T`F1J"C"`]B2+MĈ9!юLjԔX; JjWv~]T5a>8 c e8KaJ9_X4s a_Yt\2֠91ՠ}QmxˍpPCV%):MPN)pܼ]R88]C+,-)>\NҞ3./b,FN|rۛ=0T|G 8Ѣ=(vSíۗi;,w9t~Q>7i۴4f{{9 a\iEOQ80"|2 D#spjfol;4\q-p ԇ1MbZC :սph8ycEJgcu- !fwuO?6W~VJ{b k>OIrק5Iu#*¸y?eiJ $KfHX B=@¿)&h4ݝa9Uo4:T5x؉r/⯾:TfGw7oEU&x92L&]$i"& wQ@`D y0T}(a^ru| 83FKZh4= eTJG53pS`[}\9w&_RvWMUI8dYS8-0◐(E*?g5.ޅk/a9X]6: E .$“JmcwV &N4Ng9=ڠx/AjN^tx>W>c:su:QQ86fgJK]ELa21O84a; RX:_V;"ۥ%+Yjpal; nuxqiHGn=+̘Gk[LYwLZpy^ʭM w{YޘnE30O՗(,^jʒ*)}"vã4* ӂ$V67.1IN 7k-fVֻc1:VV{A!݀  Ch6VYy`2H hbXpa5/$QQId{->VyiH/@+)}lceDO8Hqi)"@Ȅ2aAUJǗOj(={PئzJZw`u>qMm£*ke`6+%Ti%~ס*@-FB ^'qbGM/U ]o&q[d|-b bx?`E6{aţk^|clQF 30#dd-B*rF9 j%@*Ik.&dBF~/WuZhe+sy!G2IEIv,qdYNtfHOA'%W?VߠRaɓD-^Ԙa|;{|옊woh703/~uNgschnZy >W'OݐLaV`4f0&s"*BTHC&EقvG+lKҩ@G.OG(=z;"EQ[GޠjC"cڏA&7uvS/":?Q.d׏-ytmIm0 H@-P:CuCE ּwpSl"JᔇTRX/@y!HOP`4%e@4P&*et"GFeFVOir:{ivm/]1sa@q"eҜrjWwM|iɐ?F!=ܸx(!3',&|U8IgU y0"UOॐ,^L^#p<+Rv@&+iaEBt6ZMj (b.h2;?='pyPq @[6.ɘ7&qZ7(rKT)T9vSPMI`p[|#uiz1 -;hاŗ.^eOL2԰خS3爪5ȼ.SO:&͹0HYӳKsl#_ ęr}{[0w,8Tq8'6"4H{P8C#jDg Qa•$o(&FC*:Yvnv1 Pu{ ~C" N2.5> ~?#vkjr>";VJyUE{W@; /nlnVY"O'q6=t2"O/D}PyI;;T_w w`|m tYmOP(ط%*Nü7 L0x#S' m[RPcx]$ɘB~RzhO51v(/W) t.i! nM .`o-4& IDATۻ*=h+e:A(K`r {!8)DvJ/ V $CgAߢhρ#U ΖR ,D~{C=e|}y81Цtːk,~*|>= f2l3{ 2"/S@:I8'3,-\j)ڍ?Tc&[fG5v _z䣭c36aX nˑĊQo0mPb? Fev62p I\J V,1Hȍosec/ݸA2Ҩ̶6'br-JJ(aK]sX#|]. VY3~xr c NN,>~ %oo~{/L?./C6,a^*K +%xG+./ 1$ȣ{U!m=,L)nE .C=M>A/y,UT stHSuߑ=~'5 9]K^d?m?K:|'uxJ@a$xJ\ȌOx'tsHKj, *z["xppjR .J d` IeCz2-@J ˋ fxx􃴢s_bmŵ1e{O1F' -p'aa(A֐IFݝzP;T L sYn03fav%Nbz{kXsV Fne $Х:!0^,[1WWD^فdaT-qjt`FdxB .$Kx7*"A<6Q(Ql(MSr. H% e‚q|yJ)/4<`4!$hci;̔"D3^6/_8۸ ld8 YW@1*]XY?;W @~4CLCJusN  tn}cҁ,9!t)% + Kn#X! AY(N*;]wIm{}n^? J?5=&Iih+])pLbAyኩ7&'y/1D0?{q6GDu(rܤ_ xudrZL .E ӌv7n0Nr}34.`qv8AhT$V _HPܳ /<AN˫\3A3"w4HaJ4KX$/aQ؂:/=%+5& Z vviDXc 33du/C#ҽ=zsqZsnm̍QW,Ks([JKkbLZqMLd%ALUiALSh e%Vd-Vjs=Nwx~~o$7$I^Cxԫ ߼ͣkIIIgzҝXڻqVEGC|}/~q 2&L0V JjT`rSJi#iUJdhNq'8GSה򀞝0{YzC JGe-A6J߀'!@8C8dTXA f,;: ߄| O iרˉIͲ[Cj'6߻SKUww{u匛SL FTjsBD+`":Q:ød/'A2;`TXaӬc4x.a@O"@(ҥpTNr!xy<)) Rcp!=Rd,ED\'_p)8g~gKK:̩xn i 6Uԑem_bp<ʼn?%VWIRӒA#'-J~9Ɉ µ=F1vߢ]kP #t2a)2 AD!akT*-+sa4%)vxsG+OS'y:7V'T+^~骓&a䱵sأ_>Et8#<)\z`N̹8c:AV,HA T('!KN@g8sdbQ$ihA/0ˑ!YU4t[l Q132h8I9<3w6ȓhad5/~ݢ'|_ѐ B/M>0\_ZF`" 'ܹVSczV lǗ_U>9Au۫6BWy/Og~{DU'3t˜\\  PB$Ya&I'dYV.j +ˋba 8 KK+X]Ƶ:[F=Vdl x tZ&Is۟,pJ)i 븽nHtDSxu+`L ?8~]J;x{qMUݝˏ _1yRv(y7Ǜ&;G)V]NG "h&m>*p#Zmt"a+*+G;ϜЌw (pEFcN0Pկc Ivz;D5?C m#g~~|[pZo'92M>(`z=f|Y^z Rxh{d~RVIBY*QPH2?ע7HؼAďrPR }F&'$qDas~p-)\ [<yGᅦӭ&/_FMj"$ 㗞yW+97{81bKoԩ1xk=jqnMe7x| gV8s4;L8#|e!@zdip8^!nK$J#<>"Bks{Ao|Ru`&j/2S>'ľA-uɂrQewSfbBj; 033CH)RY(n7w8Zhw)hPҕ6'ݤJgݻ.*BA 6(!WEp@>N GNc%8W 4GTFclKw :yNBe^~_;s?SV^"In}!MHGX]<AHoo0cCi-qm 9~䃬o[gebw:C)JxPY9Eҩ1h \iiUF|2B(VHҔW^ĩ:W9ء +}"5 z 5?[lÇ$A_*?/Vn840>*ϐ &788['xN?ᾅ%C uy.W3(3a-Ɉg?v?Gܚ -[ݚGX'>{ۛU5~S?3vEm(BɈMo价bƲǟ7_C>y9‘{O3بst'iO u^~:YnY_D\?o*[|_VadFGdGC` %I=y~o"233?Σ>‘#G_X <nݺy9w܏=<(O8莬BIRB[aM<)!×?QIOEg6w7xW'ۘވӾ~'r";v4qm{j M nng0!B!석u8GI+4VɵfGBb'[8a1ORxw V{{\E/]#tg3x ]`|w~w8zh|%Χo^&|gye]\\>s=o'ޓ'!w,c`8am#RV#qDhmEi*A[4[0{I!BcHMn/ j<5;?9-w}/$R%]I*qC%rŻ>xW/cEa9IoucRkh`J7ZW,:2%UPсE6m$f q:)5O lvTNWd)`L-Ԁ?k0svB©qY5>/?WRq9Iz2Édc8Fd YTEz>zf5OFCa!j\p(n GXڪ{k̭j-WqAH>aVvY[Ĥ?V99L+r<,!T?}m&DּGm SO np)|̧~ܻ=czx?p_cwo7ř`c'uG|gY‰c1k?ڥw*v*!y|:y7pQ$y(~I5c/ OO{<o~> !vq=;@qN6S?k1SXu9E^"P,#/2<+<9XT)s\.{QfRcUhwpNAfm9Wzp,GY$/ "j0m˔" &\^uT:Mp\3<}"^g;!:]'K?S>~ù}Il _9?޾SO>Jl~K?*y]?șޘ?ƵK0S[`d׿1뛚_Y/>&Q xQ;Cޤ1?Ws: _Leqv$ǥсw֚ťE~7~[>,--Qwg{!]v}|{W_ CR/ۿX](H@M1HWoEA^*ye]X-p./Ls8$h9*N"ZvYNq&c4$q 7W ,vvTY*Қ  >!A!~A@ERzr̽ieY{߳}=MRIb˲$ a` t ggcaiƆ dVi)Tzw>s۶茸^{s'PI".o}kxwolP tq vq<5T^&'tF +M"L=F CBe>FZ pd[0Y=,98~OX%ܕ .!,*7.Sml^T t"_G{{GX9 m ؤt.'cl]AaQ'l7p."(N|--)fo1nO%%on:Gvfnl#4KY,o\nUyevve xm*3\nh8{{מ$?⯟{#3ДbfkYW y=Nl{rD/QLs`UD yU?DlKvv|>O̱gC2."w6Vag΁)66&Yc|%|t-3a;N~~5O'4<{ ?|/Ocqۛ !X]]T*S(طwKPSG%]mFB;"DJuQJ D* PQЍđ&eJwA&dG=uB\}HÐL52FH%~GF ׇGp)Vu rF)1"i0biT\*45qYAz,JkaڄaA%a% a$d H"sXjvF@yubE V[ -f&5 F5)C$G'A+a9g6yd^}s 3cvϣV ෮!B'(Ex>5컏Dg5:t:N[*"tf[Jh:@61R>\[4_:LeA;3^XXdg4bN/cXt.%ivLMŎ2lV_mNp;  >8tB~̇yϱ=<41McBx9rvp'Zsy~ϟ[y`?-C1;wc%~O>k|'xUZ\gQ kRpc'!箬n}n /c 0 #ҳnvMFoDJ0|2Ѥ`mm qT*JIkI!Fzmh12J t"Ӆ(l459H0"EmVORY˼u\(LCTs:Y֦(HU"$0(R7\D@: >!RhHM R q>)1 ENpjt6h NAGyS`C-{juU(B֜Bꊎ, *9ԓc|/ 묮S$N/Ynuu0 _Ų~f6C4 J$o 9HXAD(uUcN]\ïw|KHK )#RB2>ZaV!ulc$wrh_ 9{?'2Ȑ$aCq y;?A!ķ0յxXކc~MZzRovC= . |'~t耎ߛi90t.y.>AtL] XZL8:[& NgL"ΒVM"( !E0Xi]"GC+dgs`8RO`SlLa#8>6/-Bu.xԊYjq(eCqt'p5NqAdF͐O\ *2Q*~U/d"gPDf3^L5f*+ ;,Hمm-]cZ+oڥch.uǾ)[[Ԧg1E~l(ts0U>t?K[\z3`,Y~XƇ380ҍX*S BqѦS'b Jp6mn %66qda&l>%Iee}[UcDQ,,,Pat;t#ce$viJS6T@' ,MC, ۲=Ѝ$2S.[&^ 米L4bE6_RK\ _t5"XX.BN# kZReb&3;-9N]4-D钙];]pܳu"TjSt wB@X!ETB-B+'[Tڳ##Ѝ&VF2V* K\=s]:k\/b4<*n+3t2ĭK! D]}({| * c1JeM<Le4ʕ1;H~D.!/s)F#wCwbzF8zPj Qwo]о on94CXݤ0 q=MhQ49Uڹyl)Nf>| H4]L]70M0EQ#yMV*]6,-ܾwb<EDEe&KsD KQLnb![WIDF95:(Ra\mB8-ή.*d|>CXC12$QhS,H,Ca!"ͥg)WN0K7!ktkk;D&1]S|y݃ih{qj ~c,ftJڗYm6cLVw1mKOZ2117Nwk{"ō lw7yYt_;:?N`wsؼXF87]6-x߻V@ynĒSAA #ѽCmXT9=io9KڤALec' _fAriz_Y6|&ɷ~-V705L# $N_(!uZ:Q'4h0 /t;q.J}AgsH_K`/;B}彏>zp <=s'Yf1,#l{DHiv h.|$q@GVB>HI{rUN}k8!VV}!_(fc|E~1 ;,a#i "wPa9U&ʳ\tO>EP|+;[׈5Ʃw^Y9Oqڭ#ԃ''Ү7vs𕧟eaD evf,w-WǍE>kLEmh] { U~HtULP~7n,:8yxߋ0*ϝ9ӯ2VcG9q\XdsAtlhJ9NB} i>f5apZm8@R%cnrv=IN8hWFlA{UdܠJ,(g]EQLvOgH=¶a6scy"/,.^`Q(;h/'Xm^euf:xsku5h.\&ո2m}ay\ap\iwh90&?P$/`JߝZg/o\3.arL:Q vT)$HS;.]h&n||MA7> ӆ]M%ERm"c(KdRxTDD!0-8%lF7Ȝ:Lh@(%W08S;A'"ozq2U "59BQ"K)V|l'Q1o$븝=QK(kt˯bW9yJ(ФF'2<]&ͽ~K9PR:NkW2s&a*c{ *W ޢ'+Cd>8}!vaskSVk^cXHpz@wy|CՀ.Ч %S|MgZ;%b+)N>٧i:alX Im@} "|O|}Yln`w}*Ͽv{r}e%"[>g_0u IDAT4!Mֶ|UܶG" )V Oaj|*NA:u Q+ؓbZ&3s-JR}8R4͛0jR:iH0b C1 #Q\ f4b ,EL.j4}bg2iq.-e1LNN^j}i&WL2V Lw\"cGDSR qZf͊M>-\_RJ0FBx8K..= JǩcK-A ].4T;in,[;[dVW*#~@&-A0{% nM*aX$"}XdLB3DQXM.# + mQ0#FXQ7LMq0Xل&՗s/ )}~&m2 *[AhW8w<ܓDlvZ*8D3̉5IVfY\Z#ckt- :Y8$n L/)%a"4 d,La9H3۶хX|S~&w >Ĩb/GSR2eZLB;7-;1W[4! X)FnZ@Rl?KHmt,q+G~ *)7e}:]er?4N7Jƪ^`B8r׮3oɕl.X4֗zfcbq4e*]%BO FfvYZí31azpAdf mS)dsȕwf4walBbFK2\^ӥvx:U>`3,:%OQҹz}cp⯞zf 8 Ï<~0M̢2C܆FsAbr3ob4:n70]WĔ*Sa鄬{>W.-ŖjD)* #8<d&rĚO<~1 W5uܮFF+0?W_z?Øҡnh<}+ll?7K"Zstbs!qf3Tm}8u/5YXU,E b!bJ<=$|ni]6!%*i'?M\ r=B'3iN$kHEY˶M!>xòjl~-L9n%:m%V!0t<55 f*R^jmxrM^nۜBSh iTÅH v`o44 1d7@$,[ ja`]%F6鑌N@Y)HRӹ76T*HOuVQ,)M`Uf%Wqq+=_ڇnL s(ْxWfЋjq%ML-#"ӊѭ:'؜" ɢ$Ofrvݩ$,)Y^ORQ*H.y/XZCӸG~i%'Գvx DeVd{8wehŃDbBu o_f^JLe "y5y #V]:DN)^䳲|= JJ*sLB7PH<̌zυj.G!;O.ѥG+zL3g"Ο+א* %nXUcyמ_\nre{ab>)9vHm•n@7hB]Dx>PR& JcqngB0,2V c0_ # b~f;fo\JT̚yp( ci<u%@GP[D U* ]˅ujmZF6s۷) :Rɚ#wnc. Є iPz[PrgN11lp Tꄣ^@E:P $翯:T *-Pҽpk0-4zHad" }~yCo,߸CwCPds}&-N|'_?crmT :,+Fw{'O_VtB۽..p}S MXIMcZF]b2LaR7@ @&RHb32Y&fw߇9ܓ|~oJ|O 7ǫJ 4ڭ.Gwy!j7_g ʛ_%llqxn^ PNrmIYiJ}UOؼDeb1ds/PЄō+7R8NK"E,e)QʈPdt 1q;†1My6z.fv=\lPc}M'?}ZM₂*|,Inb ? 1:NLy\JaD\EHICVR+TU 4-p!44KOQ= t Cj?NB#6)}f+UV: $c[4;u=\!Q( ,Q~ZtY~n#Gu7n035._\0DQD6uD6f077zInbbW(@Ղ1 f,#n=YhrûSEk`ڧ M]Kn*=GOuKW2IXy7.؏0hԷnjM2uu(6!p:ڭFi |#  ffnrt_?drv7qaZ6NO>gcl{7tdj:lllRЄI'2Q+{jhzR$pu]0q|LCP,T0h8lH{v0!$Cˢ'Ǧ$RӉz~P*C4G R\_({)r=\j%bqē#q#hZXL6ԵdIFGsj44kw0 m9N?iQRVi5\r ]78xR !vL"A/,zW׉B*xgQJ1;;$a0; 4ŭtB&C$rysm`0OglvǢ ~/F0tUimJt )V-Ak4MO,F8q]oipUPqI~>ce0L=[~>tu4X'iܯgW/z_}K>4ݠ)8{DB ˯/mrz_e8g8K\afzv7蘢g r‡?~ |+_go4z._yoX]YgGlln3R)y?㸔+)TŲd^:׮]Iqy~_xŅ+-ŏ!M0y.O>$= f{$щw~rWx:,\Ŀ?,/? sگ2{OQO~?$~Ԣ(bqqW4mf_xׯ%vUb0dԓ@Arܛ\|kz'165NM69r(ǎݙdhiԛ2L94MI.I&#$>(,bl|0 JU wR1Mc;08Ȥ9Nu\<O;R#*dG{7154!Hnh}k{1Jt_86֡[UsazzwWY{ _WyKAE7n~`]ܸzw=!>v}%#N/O)J߬NV} *Kx3<9tSMK`^3H%QꦕO*_78uss4t:oB;#djz_yW_Eyi^c(;8NiO^x''>A>?)M~w={wO_v ƣ}Goŧ?}=K\rhݾkܸqtI -[]W._aqiyNύ%Nq96t#Hb u]<666Y c&sP7ZXbY&'& RW"b #Y>[-,"azaeeFN- wN)NPS3s,vf42b]r#t X[]6@Շ~ֆ̵_n"Ø}oHWp3/rH:Odm6Q"ݴN\{EN蓣o>(=q6@&:>?g<س9߽uzY4Ҍ@!aO2MIT8Ux'v+F$!@hF3ez~9}gwz$R$xZ]}{~<|NdaEZ&LZ>[&, Y_~EOOxp>}trm6wXsXI+\buu3 14-іB*~W~c G͛|gΒQR}S&_Ef}}K4r^Gqm4?C)MҥKK4[*Q,Hs5!!|}sy?'?G (n 4 /# sy'?f^Z8֘R_{m67p .r4RIwBJwN4_ B*gI}0}yǏ@+]Tbի+ /nwJ(brr.Qˬ@/?jZ%)biQT,(E58eZ]]ad 38TNUԗbʨ16Xgr߅RܘdW,,x?kӌ^oG|v]85+(Qrc0bw~$8~_g&k<ċWm#^pt/e^yc?Y@%--<s+0I4-^2[}f+FTN,ϙ_Hcx̧S@xqx,+ Ql/:nV] = bh[c~>A87K)DuK)*"#1:.\;.z) ZF82J)f~lStڒ3> ۝n4MzUO>|Ghw:255I..TD RFC Lfz a YLEl\"+u(J,' IDATiaGabZq‰=<-bXkN"csKr~VPVM($IlHZ!Eo?e4qDz!h4;I,K5rν|1[L&LLcAG8`3L|(xGrltLdVdYƵ/}s2;R2DkK1pyz\2=;ñSp #@i RpaͪR9?Bgo=G}Z,/a&&&8v,Nnj 8pqIDYh0u'6B sO r)R":Q D ut_)i^X>nC31ά#xT8U&g2ȝBR m`tFJ]fG{bKC=q̾C0h9~Uuhe!8R+Nx}'!Q%:>4'>N5I,޿CjsgH풓9J:/K8;MMuVunbյUƩ--u[17]n#"Ǟ#Ԍ|WRȲ< I2X}p쓘Z_޵}QmuxʎQU ERp)NZll3??ϑ#+K"(]=q;&&z\z"W^ennSO3;;G@!}H`kkv*[ȏ33́=Zi-dY^ALXI/(HmmPfXJyN=Gq="PTEh^u% 9$4wxuU- HkOg?>P5 D?VqV8 <#NOᱷg;>rv"LVNqS~)tTg$ڥ>ez@鉷DxG*EojsO< vG|^oc BB+lm0g՛h Fͫ9x[8vTܔ*EO~m"e?L++ðLQĩso# ?Lwo\F>7MLknq2p !KKt]zwe9/ #$iġk41&wNzH~ۇOjƬ.-|w-woH8GXCg4[mYN#n1{Α$ W;ps?Ĥ=bJ:1=Gw,MQ,I9Ab<M20Fo-;]S!v::|;?fbbD F!B%i83^+"XYGY\ؙC*JcZy\lo0ZS td7'ͅKW_ZǑgLnhu_9w 2&>x5YE~#^̇};]͛7Y]]eyy#"zI>o!?8)MFo!%#&ȂGVa-NST(hZ_E(S\D[Q\ * 9pA.8EfEyЈߺ=Bآ@] W lϰpGO rc-t-ޯsrWֿm?B.DVW4%71SvȟJT - Ő \V tQRaTlomo./Doz.h\/"*1W/]+x뾉S ] "i7S8H|m$qQЬ#:"h\(Nt'qU6֖G~8B_<8I4܍h8:&Y:W^"9p<"i9[d<ƕBm<&˂,Q:VILhDhQ ␓,Kj֡h D+P~-*"+GHҞ"БDG8đBGU&ޥ%~.b K^%,B6mnHx$n]^Ԭ1=KQz=/p/eiujVhX{ZHl$?Ggx&Rk~8@Uv`껵",Gqe-~,UU}މ c}fT+ lCg޺OH"N9|2o#gH$N*6!vH(X _ȉ|{O>hCT;IE#nűyd)Z:VHd8bY䋦Z(N/[җkLNMDk ), *&r9.DƲx6FCb߾+w¾Iڸi Q*X[Z`fkmt4p֠t:L;pLT>|bk}Npi&gy;4m?<XÇ҆ 8]yO{%^Ydt?L4vn$~il%D2XT9r P`E>W5+/HOsEH*ܚ*Wi ٰXkʬbp󴫹F}1Vc\d1zȀR4HWMI> DF \†Sхb9Rd<;Ccf;-n\}FK$íMrF|@x\ QpgU&"f K:v/ P5t>Ků:En^ikJVZ5-#B?-b4MMwvYq.V9$:,:h#gΓ$M.rNp]9t@ዛxJJC<VH'*KyΕW.0}&OQ:̟!*%D' L MJvMe-B'lq6:$a<L̢#e(ͰF=mO~o~Gy]NOM!gK$%6Zjrq%<v:&!iwy&g% ӳ</|\{yVYtc&Qﵢl`4N7WZ_F:be;;;~JF ؿ k|kl91fggtWif@{ R%aνnI R-XYdޙV[Q !u;{Ol)d^̵{]{::V`Cn,Qg vˇ )^PQN;ZTAV<σ(>ڍ RpTv!.qYË8$Rf( J5?-I6k++Omkeyiwd(! מlRkP$7IND)^~Kyɭ ƣ!na&/|=H"׿[y/?$GN"NH[&&7cAH >{g~kw83a+ ;tLNrS|>Ջ#]!,%N<'#Ou E k'cVҙ!&gqe'XaH 1Z \{эYѠwOpX:Rv"w_S&I VB:H9~wo\eߑ>6$&.?FJ)%"w89G~9^sl]RE1QܤݛdV78nN^CH<a`'`ld1pXh$wUp3.e\JeEMRvUbL[4.@Y. ݧP)N/N6Ԡ4Ƙ'q>'r[FYf/ϭZ)>ӿf oLR59&f tf-~h1o0,[le4r N>G6>ԣs˼[>LPp]iJ/ + 9*~dS;q\`8Ce(kKܻ}}sp <,ٕY8s)N9Nj~ۯʁG5HgMD8%0FqU8gG4M"))H#L>d4ءӝ R9fH#ir٢j"Ln\{|G4YY_Y:677hLNq5-ڭ靖~5ka-)WoXavDNA4-<.G!yP) rcJKZUp«g: WB ]w;Lj.Q(!<096X{jui_xEP,HMQxv-rޏ,cN g$[[$L@֢˲emKW~8z9v$Ȼ8?)DZ!!R8bsm#IFcz)ffzy6h1y_2ƒ[GlI)^E̚ nYrv41UY 'XSG.?u쭃rUR@]{My7{r!PB cL6Ĺʲ4🊀uo+$8sr'O?  [>WۀdY0<s_5D*Bqrɷ{`瓿1ܸLIܺ~엱ovg4aHay7𻘚 $^Bx:(MW^ԣOt)"RLX^`g{Wv%b{c4R8:?RO>1XjhThR)RXc^)%`cm%F"nH-A$-&'z;p$Ydkט}`h"2"h7#zMA3$ڐȜX(R5ȺQ8s]M M<rQQXh?i(EH R!d5(sRԔ"{NԎ1vCA{a}8OMV3C\l_2f7I=l\Rn:_`gۿ{e-'Q;70ﰹrl #@X2ˋ ;,Y8ٽ5 ю^n5>'>__? }?O=S.Ud!˪amtΤ N=XՏ3[kQ1Z`c^wo]Бao3s1 8a ݂.a}uv2Q#gjs汧Yb1lmXpr4Ϲ^2F}PZ M#k,/ܡhx~y:A%$qBӡ\F" &: M7;t6q+-! iSM./]S(0#1EXertrE8TaP8()k>?;)5JH_WYA|MVB-K!6W}pE8zӯ;˳$woR+^䋟[G wW FHC ei~|FZMfވʇ zw~Ӈhhv:ۑoZ315G~=V=p(`Uv5Y:.]zw6˅pI͈O}wDP (*(Ȓɧ`:&6Taa Z.^/|G3IOLJ='Up.ڌgQi1 BmIoqaS|?@7I +8!w~o1cyr"a_Hἡ4M3_ʏ5֕$QpC'{J*R y:"Iw@B#5(Ƙ-,G%ɞY6!1.'4db- "r*RtS_`,@vM %' وH{'*BqQ>Η ) fTݔE}Gp#ezO(*"(U6/o!>ǕD)KWaqV}ܮ}:?ՏW+?[7?399E,//Н'~oWpN)ɳ-RF5z^p^m"Ep*MBb˛+ \YPq7H*^q?8O[gb\H?Y?G Zir 4inJkFҖ&ZȫCd 2p޸:KH.#!pAtB V*tn"RpY$B p:N얿{BTZPDIBk\ɛVY(`Z#]s8B<ؐ:e<^|`'x݉g?)]yI}?("OSVX]^dyiMΜ{Gw^C_-{ h=L>FK]HpasD.Vѹ Y~R)!\_]KK2!C)`@wNm%~BCߡ )1 $Ry1܊`(:]4¡#,ӆk $ANBD(J]&/" t䐛'}S3$qDn$[8U" 8k‡D˩KW![!0NS0  eWP-eUXBXBZ `]QU5']Qr:BQ+M>s"--vLLNmX×шwXZ"m:O=u|7;qx:"vipDq4t֟ƀ.5?i \} \Ί d4-Y+–O#)-J ?F*Jt*SsHE1#V Ч&gQuA9`xP=R2"5rΛ;8g&:3)DMj1",ŊFҠ4BϺ596ψDhuQHQ>g 7I1,%"Ґ!hT&]/ fc偦8 |N)d[Y7TO3*ͯD&="]f֌~ kXoHxDLcff<ϙwycjfXp(=u!P$7%THDik ^GAEBA[hx0E8 Y㬖c[m\NjL.YuUQņkZ Ь"z]7 Gijʼn9E0!eIQRAD@R \\u$X_t}V,Slg0NcTƬ> U]|t.,j YsZ 39Bh),JJ(Ň$2(!~t_@0",J'hcf`RTxmoH 773V")ܟGcO0ՕE@Hk|Zo3om1:sO<-ѠϽs⋬.-pK<Ӭ6MZ[l^},i[שׂ/ őBqU s(U|'eEƕ:SF<R(p;VG4:>=,ncm&HDASVߒTHb8S6]GQD%a̱2gng,J8O&S׉岳XLؔ>26PY@ky#I Fx<Ƶ+l$ I8.'uL "K360 IՂ元8|b4˸Dk4< QRqQZvp:UFD@$y2MLL$I4Q䭵Lt w6IbM9C,e4x~1^>3XGhiHH=$^Hb(|&&J)&PI "-ANqbIpLu$:R;mLQa!PBj4=[Yݕ*r!&L䊖ܽV!:WTaǯ h(eĮ,]foU*ÅQ35=Mբ2==C|zLLL4r_+8j6 xpn]h8bg{}܆B-qľlh \&3Ơ"9|( őr!cX&r9OJ3154YghaY|'!UKqyiwSgÕ/smz^h\XHVnLZkXGcvnBE DQ֪<`Jl68v$fC EFȡ71I!"2١ahiw^,?$S YYZ?O&1sLLY(B$*GJ?{YIoBއzrgT !Kk{Wp[g:B1vŚUrQUjrjי0A\_CU`jEj I FB'!W}Yd_1N6*vJV55 ^plm3;3WlRn(ڇ 5 Uqn&"1JWt4i4fy y|nё*[ؠuςK ȱB09='u:[t:ݪ˕u$=KgUl4Sӡ'%AG53ǣ2yftu;+oV5'r(b<ꣵ))VWdvnfU51FQ䃶h< ?XWn8&'Y\W>8MJGLOM VaB ύT xD5xyXɵDi"t4NĉVH;4'- ud=N'69
Ą_WE dM58 +\fqc_t-dE|Q 'Qj jWB5$PJ{sZJ">a;/wpvIΕn6C9Z"0k[c@ QT@XPE=Iպp#e >ubJ)(J"Q6]9F0k i1QЦcHzp43݅JL):$M%]q\-G(hl'`D0=7|2,+HKj͙('o1 i2 /P&Mo)Df'OdudMx0o U s@%ƺ20U}kh,Yb*Έ]am|]u pq!O;^Wu V<&›I'CUӈှqq&ȨfW?~.3gpE5jT H&~hy:GHKàR}˗/`9 Gg\#]`ů~_-\=cMm.Q)˄w.0 F)m#")?7 8C[mր\. t(ڔ Q Q2TA {@b$#d )azlצTF') 2T<ߢhdD x0ȺZSMs!܈$1a/jݥTnbP)K1XS |.)NPJ;}E q{pp:8x$SI OJ /'Կ$UNT lT#GLYKlrE*@* QHKP=` [~T Rav2'W(4̾4# b&V@|4 8EEiܿ$t/8 '}3|9fĦDe͝ #&kJ.R{ޙ(dY)pss@ן~ƧO NV:nU]ONSt§ߴk{83`"' DC>KMɂ&RO~o\0SSgHHT.:7w8Ͽ)`}{*(kLjD?kz877wx '\.gk%SD쒺݀~OuKɚO*,2fE!bp=u !Z^"djAĄׁMMȾlXН|q.sx6,2 "Ri 'dqlor2~7&&%~8VJ?HLJ_>ƭyTl1Č.j D:Z't1b .޿lysRQ&fF#ܲ}_뒑Àۻ'UoF}iQz?iJ/FT7>0U01+.&4m>ɔuqmH#}4ibPi-t5b (Bpa?j`z Ҙ %M-f 'ݽ|H_nn~rI&nwB<,&4]MsY;L1À̄?`/X bzvZog0܋4CCЫii tقm<"C 1NYl5R1i9E9/:dA,|O,HMdʏӸATb( h`X=NI*sj4:UBtr$6:N"NQ ɦ .1& t}ٞI]0jFaMY'P>$]bS*э" itޢLMy$immGtmIDQwT"'N'<\S 0F YʶGٚ1&HOS%+H4*;;ETr%A%+窮<)1<-#xj~intXh^G06rJKk) V)kKSJZw!x~ۂEQ'9G Dh R4_ʥ5 YLD.Iwb1r*RȲЫJ*2dOdBPZxx|hj-=Cp`!, RU*H2fNfUHBBegFQzuo AL: D Vn餣IHVGY;E#i$IiJiՇJ+~; \_l78H&izk ٌmS;jk/< *Kh8cdvIeЭC!(4d𢚃U(P-.NΌ'2 +Y M$ ʗMLAZ7yu&pСCM`;?ԤRPyT@#ezeɫCh (#J6\UeRRZJ!`ͲJ#C̣f3k.O-FS=Kkq(fϮ%2`O9,4wAS;'*/dYC c ,UZ(>e!5)07[d)<C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑk.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME IDATHUKKkW#ۊʭ#!:PAA"PJ;upN:@\(\[JmX[j)Z 1BR8v';bQk'tgoo}km{F5Ƙo~J4巜Ͽ899ѧD=!"۞Dd262|h\.W7Y88H&ciqtt$Php ukBmuuؘyTUqmmn/ }&B +9iauz<+TUt^Ӵׇf\.)"<~CXZZnoo/$PD|>Oay<4榪zPRdƧTyM[[[F"V, !8888x~ڦi~1Ƃ RA!O`4M} t:m @yee{,.r_#j2 ;|LDzJRQUUW%; +~٭ dj_Bs"B.Ӄ`ZvΛוRohh|ND ?dh4J ujaa8fP ڝq, mR)[ m׳ɲ-Y]?^ŞkpΝT*ۑֵ^d~nnn溮a]Q+pն R???81ltt4dm>Sd<;;$Fs˲NH=*-YHMZu)[+ qnN3IENDB` / aFFNxNPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xti **RG(x@PNG  IHDRw=bKGD pHYs  tIME 'wLIDATHǽKh\e߽߼'EhccQBDD Th|l4]I|4RD;E)B uJ0"$L43y;3ozs~?.偶D~S%dns|qfS~4}w}g[-^[)9֩ό? .XF 8U0@ъjUx?"54a(W)E)1LNR.`PB&M0籮b o-[8a:oCH Jy/ޏuܒBѱJt+vvA~K9 @k%2t7q:(I9IYʎa [bPExˇׂKgj<(;ch V&&/'@^?Ƕϐ.\M%2 @c qRɕ|V Y+ɹɹrX֜Z `drPJv=?\+JdNpi<]?5B$}tCIENDB`~%J:ibJ(R"ߏǭ/0KmT’.^Zb B` icJ@`;{!X[AN?尮0Ʋ?8JlN]Q\.lPӲ;K#Zu5q!P| _Jcc#X0VxtM>LER !-ac| o|GɍR[ l @Ӭ UQU6/rj86x\?zΛG6ќNq9.>n;%QA3鄂O$X,JjNᶦ2@˩@}#j*3Ї5!~կ} g=>\P(@1@kx=tMKW(͜_"c4|_ٵ>ݽ=/IqQ| `h =#dӕCf3i(UXz7/W>B**| Xr,D G"dC~ Hߚ162L._ L aRR\p,S}1@X"Q(XqѱNM|/p!2Ka -,aa AQs-ȪYD撻ѱu JǾgּ{7Μ1 ./{J!jjBX"uY|2RI۲_ouzii];WxMc|tpK- ֆ%nm<1:6jNHO411띝;~:_|GOʒKihlի8)-0arCǎ MkEQnޛ /_v۷d{{D2td[Jcc\2TKK)FfD(6 ܱ`ZdQ}}}iL&iyMlxroBKRӛ.\M^ɖr3Xr[ULW8,ZV_ovIENDB` ZZI xPNG  IHDRw=bKGD pHYs  tIME &p+HZxPNG  IHDRw=IDATHklٛ]&@H )R.UDP#zKT %R j4 IF\ZR¥u b\`].;3;gfNٺKIgEJr (@8 8u[V 044ȍl)%ukk#>`C~@? 3[!NH$6l[ꋛ +ik#EAhhh`hh .ŽNfΚ!PWB{ﺛ*gz.ǫ~C --OQ/h455|v:&)n|z3P0(+VSq{4䉓xUv[x<'}Iq/Ⴧ6/9C1T QEI7chj^MU108LSSaqfQ*W?+.8~8x|  [w`:Vi´,H)Q,+Z:te$MxoxWzPŋ)A(k ÿV+KoKa:;;YLss."a-B1J)b:bk0M ۇP~t!wrZ;'R4chm@2@ PJaZ&\7wў={^~^{.RJ$@J@{{&E {7R^pv{_Dw.UV#ASs kxxc.|7GPk[HI-[|H$nbp##BۋP155L ,Da ,8iju]CB,B<ibL R9HXؿVL۶h7rcWR<999}Ӎ7y'$q7㚮隢( TR yAh4\.?*cIENDB`xoB R@~R1MfxaPNG  IHDRw=eIDATHI3ozCBwLBD!BAğ@쐐. A8@hw-߭Λ"ye0R5W??xۣ#qr7#t.L`xPNG  IHDRw=IDATHoEں8v,O؇HE D(8q@\s>Kx sb``p  $'L0RAN ɼr8 <"Aa {+mF6cESB%%y% E%) % |@E.!}n26f*Qtw:)Y޾ ) Q34Jlx^PNG  IHDRw=hIDATHYlTU眻;]fDvFlQ(/_Ԁ&Dc1%. &q&*4H`ki;[9>(BQ_R }ǟxw,IT^| AZ brVg6MMrE׸\" EQFٔ9HQض}{q WW,xȿ>7lX@B)\B )!iuKP =၁WEؾSExMEEGB" C%KfB3t  B*SgX!)%9>qDDKAbl1Nb{`zʫwd3],'y0ǎ,ZZ29y}=uwsٝ/ONw0Й+b۷`(*u1`k]ǥ[lmɓSݨr˫ 8H\fiyWN{=ċ/癜bo_;R A@+8}4.׏rF3A@?4 333͛\>5 !CF#i]{@AE֊BᡙIkQiy9 9@CAp6mh"ҌJ -(%"|@p!4@kkާwE$^VkRKBb@Pp1J2*AkڻEQDhCEmqudcPcpEDƴ7]2C)"޵ӻol00$hPExVJkxՃ]ٵK\sZҥBBHdS?r.Clm5`{݅}|DžT? \H_ߞ)ӏBHZKG93Bl6|h._n>i)IEX 8&.pQR ZkN:67k޹0Vc Ru6VrlX__ZwfkOT*:I7WVV~v\cB2Zc!bL?+ZֳU>8c."1f %~>lNIENDB` BPa9{6z7vz'i\|ѻsmgWWW\xNB.FΙRf{zGױ2/~w||d$$#$UN""_#~[?RJVwϏ38 ͐)Y(IP ;{5j|?<Dfy?I@K''!r#0;v}wĩqлѤҚ!ޱB@ 2YtR檄$j(wޙ̾6R"AV`TeFJHֆNYfFyn`ޝw !R"{0FmJm dJG;V P3(K&$UfPUHN^z_2wڸfFiJJ4]jJډd c$QuPfCoΐ3!Z In3s_;jt8"{=PmHI6UЮnBB,ͺ݄D'D HJH)/6=0Xu!/E3Rq@Uyސ(Cr렃ҠB:֝C~ <sN2aJJ ɂ "[j7:74)s?;(q/|{)'2#"dH)1#9` ,eqAD͆c/r a0fCJ‹/w RhhQJJϴhM򳫵߹~?y=11D%8!IH^2.n_tqr=ztɓ8m㓓v-lK)G)Qj=@*&ح붘dF~c.o5s>,]fƷcIENDB`,Bvm%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxLMoU1xƎcI0   B5?.@"lB|@]*D7B#qg{Y8r|9:f8B{]漫RzKD*p`G1AzME LgNs]WrC%UWu7hh5f>8"i5! k(6 31ć)pr>p_OTn\}Wz s`X yR [ ˃M-gӓj;('0"#'!&'dQJ}ӃZ0ZZWW.<ͭk}%Y~9zJI%`dZۿ_"sZ,Ӛ.%]JRY\jSkW bOr e_^+ :wY(o\oW0] ^xou{o&:1Ekkڣ۞ O<ƀsDdma9- 2yMG /<S) ȑDc BNLw,\.˭=߶e5]qʴArIJ =V KJIENDB`#X? { {OsxsPNG  IHDRw=:IDATHˏW[]]3qbma A@[0XH,A  ;d!@b (DEJLxf<ϪzârJG::Dz`jϧ'qf D0ss Or,"ks6_|:%74lE f{:μ%l.G Kn% #_MO ڰL@=pUTA^ױ%[ݭ?Λ[f56؝aA+WU}N˽ĥ%T2+NѺ V.M^xy_NB x 3PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;u NJ=խ՗ٻnvm.#WۛBH`b_~+rivJx5Cf@LF&X,x*+"'K Lh.]SGVϿ1ʨ:U[kYL3iF1AJ RtN2Hᢥ4YYZdl3}s _t廤)Eg|5vQ!1q$b=T39i1&Lv& ~>Yj63Z_^\zZmK?ӏWXj/"]h3gȐ !Y3eCl ť ڬp rXk ~Lo_qڛE`ƉEDTZRF6x+%!XI1v_%^BwBB+h4FOޅv'836-_S̭ cÈFqGf6.N(NLS^- A8?Oj@vQ]$ `fbrNJX:6zjҩ+g9b?Ї-k"H&bJZ:QAD J sg16o6<695 џ~m~B{mª&UQa*]Pdӑlx|)})w4lg.]Re4oT%s$rܑ9Q)a6IgfɫIOG (ga7ZV%IџIQ]{sgƥ A-xG @sjUv/쀈IENDB`v{$4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:|@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 4 oIDATHǍylUΔQ(DE"Q ѪD\\ DWBSWт(P@W_)ケǝ5dfΛ{o#V4^mzBڌe7^Á$ŅԾ4O WꪥK MϠjT+iIGkdOlcn^?@`{#pT)2Ǎ#1(" PAAՃ Κ¥7&"A1#  4$9m*9OċO$D!BOa 2OU 0w$uGqϜϛiZc ՠf Vaٹ%TU[_&P~F)!QD'߲yA:",]9u9[>@;!PT2WL TF~tVUDU%?4mmcLA||M8(NK+"`BEm &-kwƥnRP:uR1{W]MlY2Ш/ `| kA]rM$R (!;ğ᪃R1@AJ<{p?DAC8gi&C"@Bψ_!""L!]Eϒ$wDreÞ yH ]DAPD1xW9-sFЖ4vd&(ye91 @*_oiCU.7p= 흍4(((]6IENDB`>yq ggPrxrPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH z0q}pl܊!}EEpvyv᝺[\AH֪iKE-[zowV3Ȩ wtmRF5k(,坽8ypG[Giss +Q ؃ _ϳK<=,N NK1KRY56YOkjJ)hCf6łxuŎ0fa1z@ a 󫑑lO:5$.J~s(CB1}OӛRwo"l Ry? A$L<T{r =xͤ;=5U \.`vXQЅ~TγS} +AWx쌤mcGڳAuȝ<>h F%O~*V6 twr(Dm 9@,:uwwd4V xN%2杘[G./c-!n/b}*䴱Y)T gt7̧bdkХS)%UiR+dȍrC-kf3\dk"f++i#o[죣N{R AElpvմvў,Q@&&_f|i 0e}rʉ۴ܹ?Omn2#ߜbY[P&ī۰B0īuuu n \)jɕq?*=jBHŠ.lj:ӧ_֝dC|Q#7q&xy'07ߓL'>qJmR0k^k)"kmm5N 02S3ڭ[&, s{oiP[- (˼y N1(S@#}+#8qOF}">Ȭ@&T1gDWcѽ K{my.ԥ`gVn.3(@-zx^6[$+T)qlωA?'^{Vc!"N7zzd ,gC/uhVau\|]&Q3vmy_IRD%Rv\!18BKw GA{v^ﴔ" Ngi_Uzf՞`2`B}u/6\TxK5 l4 >$dKY+4% naI=!FcJH– B!GwM(23G3JT2]tw2(e1l-qW~,isH) {`=DwCP@+[Kxo-_⍤(hKLf:6>.ƅӄ洜ӹ,PQ6@% Nq;~A8zݻ'? SJ39Xεr YU%W0SkĜSW~@Ɋᘨ[H>>>99;B^w7t x³X2 +i4!Jl:Qʀ2; L+o!-,p3j˫̗?fbՌw{X7~Z:|㌲9W`PziдkfčI9zGrm0'zXsC| ]>>uq 5aͤvi׮\D!ϕv֎w  S ]xWy4]QJٲEЃU}F3[1TĄJV2*0B # cIh<{9{~?ߛdm4Rl x͖7sjk*j҈P[B#(JpEV Q[MZ/J"r%jTcJTziϻw?pg̜o̙3o빳RG$ )jD!!&%EXY`[aH1 [PZ p;=b{"IoƟ jgᮞפvx\_.E<ܗ:x켷w Z _|OH{@Z5YVb3X~=̽=H/o챇iЬ<?YG۞N.t=OcL~@?9 c +4eLŶVÈb1]wQ{@Lݤ~\Qm2d}Ny\"QH xV{84/ cմT-?Q K5;-3_rRSRsɬ]~0iXEe:<9y}|?>7v9-X1 el|_gK".rUHUJs: -(GW# ݈VP Dׇӊ $h98^Q-q%`~5fHh,o6ׯLIH!&v( XZ>^ ~}1q6̦~i76ḦT-To.Wj xBBXGdᚲTl5nsQIu5%\p^$ ǘC[gN|)][%7"^^ ۲ 2(m"@D;)'gG"֊<`d1u:/NZp:̹BXdy&fS8ۗ`c)/~s5BP4YpAnm@S WƂyl PQF "{P^</}^b _w H5{ qq?d67_@p`=VU[hVb6@6" m`o:L>kaklLz,>|KS]^\@gwvF,Ic*Y=C6E Hk3gdx2~y;/;vQ[I6OExc) wo25Jm'|.Y,>{MkSh̯ڵxBRe2Nh.D7={pd7uz/ˏܝ𖵟}X3}yhi,Z3sZtDѽɐCP@7ס&_QXy;#_8Lp vk:N5} …4D!~r9a%E|Xfa} eH?7_D}8Ы5-r:S[Ծ#]^cXҦ!j~KyLA OUhMM0der:H UoL >3*]֥4$ i 9h OߑUhʦ/!o`581b?30Dܼ$)!66LB'Y!Ue䍥/}9޺ufru A!U0 M[iNb:Er0Yc rQ xҌ3V߱X1x)mHp 톯&Xxd>R\nD65+ؙmz4-)j-sjsY;]ͥ KF̢3)&- )za+ ȄۍF.{& *v,A-ޒ}vUmhrVJ5 s޹0L-Ϳ Q঄z{POe˿X%\(@^=IܧE3Z|i&}V8ڝ^/oiu\8\&F6L,da#&076~'1-ǂM0k\ah)rt7 [z`Z2t*bjB"BoPo/pP_)cSBjj]G 'LI6ǵ4e V׷2:P^(39)T5 T16WCM 6ǝ _D~4gZzT#y6+f/(wΞ6;k`[KquzކsFTn+W4NAI$mP#Of"*XQmp$V+/~ii600cqnmEق-8/.-}P>or}"p59rUk_|E4Mu55{pױyq[!޶孚7== 4^UnC; "QxiJdTJ2Ow.Y\3_`z!U ꚯ;o Rԭ6 =I? ]*i&؂T3~LJ2Pe]-V" ][8H{ώWyؒWD ?i:Vba[ɳYT'--ioJ(0c?ƣje= [۫˩NZ C59 *u Y^sxh735%9JS]7ŪK xvUMM[ -|3I{pe+`aa! #R~D$νMsωYnqUѽzG{{{ 7 FqQn1m k٘שel^6T|=yU<TH  ,O*q1[B;1ZRNeV{ɼ];n"վ&ewr3I5ǣ8$#=J9^ @kp]Ex؂GߨR6.+J'˚3jVVU ͓H3/1uJ.v0|iu b^ 8 M 6em7wQjL5[/lG.fL|[AUŕ`kDnܾ\ξ̐]rd[g'tIb|LjWT`$v1YؼSE{P~e5;bCH1C}լ ֜R= )K:|Kԃz8bfj!{mN5TIYXaً֪)A\@s R9c xYD%qSG̺CA.֮g]e )>;F4!LĚCdKx$KMv $߇oJ_TB:k@^LO<ܵ`'ܓb~HTdO R4#cOժ_bW?Oi^x KV"w찾cT˒X1uʡt Di#i.M[o~}hJ%,ܷb\50<v7m'֛ƘmYt _±SQB9Ԇi ܁J0jz֩^r-VУ;;;Kf@~bo˶MXLlLܹs6 3*[WᜤFOSE: t-T)<}QY_},1eært|&B#jmMTINK]q=MirOwBy݀5 E x$3)UW+ 'o`ĕ]jfWF^0C@ '&XxbsjdW"/Mum(;m4"EbSAd-$0 "OW;IՓvI^NՈ$ *ZZ ;T1S) |L\!"!!J78M6}6d)ϭ:NGGU4mdrݩoɊhzWp[x8*d>ШѪ2Rs%]8HpX]f~š/g =ӕ~̶ΣZޓ?r>3|XwWUK5rno~Q e/S gk,/:<pB)Z$J|<ҭ+n  #+~;UM$7t*fo1{Jo/ ܅+Wk~iUP z4Fj't,"S/8fV*-Z3\:_?iޒzXVRf9yCi[h1l/P}I A`.\&aZ=_'Ԫ4pI6TGeǤW!LG[Joitzk:(C 8,PZAI0X n $CoQ){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 0:=vjIDATHǽolSoP'Ɛ 8FT* JuedѦIӤMX5+&`-Ѝ%$FHĉcv\۹w}弟=Gy1ݻ7/JuF B>z᣽ݤj @1 |avC2u%0$`B|-3$ إz;`^mpAqYqs8(ꁧɺ' TWWN!!~/%%IR. !>J`+QӴFG/\Fg6oLбcǒmmm庮;Ѭ/8O>=AuuTWWbx^en;}`wwΝ;~7o[O?Yk===$]lYN[ccco v6gd2bcUUioP߲=AZQΝ]\A~~u!Z[[Kf-L/o_=V!8{eH5 ~7@Ӵ`Xdma}9wtD.).>x>bݻwTU||+q H-)Sx)Q(0ʌ[<7^}k'' bXly Zil1&s8Ba;Ah!Ϊ*e1%qMZwwhnnn V].5558Nv;-[ ^6@$ڲ̬h6ݺuҮ]"%Z8n߿?$N};)/FH-R (.su/`bbb,8h4B8 Er_ijjzt:QEQtvv  /$SwMFcF___~:. 麞鼼aXD"Qv)Ft(0B8-l:o|!^fe9*UVV~ ˲f͚5\Dm#32GXgF^b65E4~zOeeeǏHwQKJJeff*~Cєe>9X \Z׮"4&TȲc:asLytt0LFf$lL$FGIamE9qRd~TX@}g$) %) H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@FKT8x8PNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME *>d@IDATHǽO[ǿ{6<1!clL UQThED΢nˢXYD.RU.J !H˯}=.TɨJ~7,9?ߗ{qӲ ! !Żw?|Y]]a BD!! @ tlf4 ! L9٪$ !l)d2pAq |fR<3ZXX'tz  BEyt:҂;B[mbx*jmllpbNj;wTU&''Iӑ;ڽ{ꪪd2zBMH$b|܃_ !!,//a!/F)(>z7o$m l6}tt:,\*J<>5mTRqvZn7CV}YD򋋑TJfGmaaT!BZ5!p\ U>[]&o702C#" %geYVw7yG2<(]|YB p2ƠjUU;XlYVʴW<__twQ+KScN;4;;۸~aqq1v@ Nj]^^v躾ѵ]tf~~<~S P?G [p&+Ws`8h&M$#ZmK1~kL}y?$hS !0q ߥ;gf'OST4!f:D"csɤw~ q/~?`[CS,Ư;@'p%UͦAI䤉D󥥥ᥥkΩ4[ 2^ BNMS€`~!x]+BGB2R88y lu7 (kFp+,pnC&.$rl'''@ UŐEUUxv[uLR.z'<LN`^Y`kCmGh4 ˲Fm۾ZT۷oDjn,s~#װaH0Bi []$M6lA 2\.4ҒNիWv;td((ITr:C1hӰ ۸~9,fs`04HdRJyeq]|hݒ\Մ0ML 0&)jD,01Ei(J`Z<>ʅ VlL;  Ce1qc6jrr3-*! xO>F~hbfz,Ro T͎hܲ,^[GGGV~{{;gFǍ2IӴ<9ν=lllǍJRu8Q֭[:<OZj=S3˙g?iHrJ6IENDB`W.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 1 JIDATHǕ_LT9sf`A`Eg+6j41&H6‹^46zEslLĘX7mTdX-?F@fa`f9s^,v}s> 8qmF-,tv!]t)7xurdRʷeRJ'`, BWO[Ku}򈔲&4e+,{!GRʇ`0T@ P HJ8WzB|Bl`#0<חwW&P?\C!E!uMn9^UUn ! k}0ߟPuvv,@1;~ŋ3(XŮ\tvvJ)K)877qpM88ve`LJy' ~RnR@Vxtڵ!s)㕹\C' μfQccWUտ55/--jeOŢ#of;2;߮ohpRD~{7O*O18y$tNONNzMܟZ\(S/X92ۤ'E\]CP:NHxMN&I!D(EmOQBﴍG1 SAsR)ع!߆lM\FTJR 0P^^qZPCpk3E136*S"6POb8={n24&''JKK㚦%@ 04M69\H,8r ̏ P.] m}+s @:.:a&''K+u`` [UUܙپ[,^ȑUx7R}u6=XFɞ #'6 H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qW b0XdxPNG  IHDRw=sRGBbKGD pHYs  W8xxPNG  IHDRw=bKGD pHYs  tIME (tEXtCommentCreated with GIMPWIDATHUk@}  <\`^B|Ch=%:@ԡKnSHڎN6% 1 b0ؕ#~ֵR}%-jhZ&زmZ`LS,M͙vdֻTkJ ^W‡5b<^y5 y vu0Vʈ`5U)"ycqs!oW2UpzvM<۔VO$k~R)8p_ O/Փ՗^GJC .f4nU|S/K5^WWy^WZ|E5yV5I /7"AwLc$:B"N;($ƓYOt 7ʼql>4Jn<,Rm.rPJG#n(3Y8NI;gׄœ//g(|NLZuy}ʆW?}s s&D2ͦ4MSLl, X[?RqBضM6e{{%L\inn~ǿ %onn>**ضa gcc cq9wLQ$p@ @}}=pB~Ogg'ʽTKK˯7/t]IQ)~?`~?^˅|s||,ONN4/$@wwwҶ jjja<. )%RDJ磭t:MXOVdT2 Gmm-B!>rhww7DUUS)x<B"bbWB0<#ssslll@ţ¶mb(+#ե޹\fgg4<-qBBRb* |{{.( "֟^=pqqq!H<{E_5tUd-EQLȽ%ɪNh4j5rX oR> jU<IENDB`b %%WY2x;PNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<VIDAT8˥kRQ`A nozѨK?!eMmm9%Mٲñ&5d^lxusnSA/ ** խ(6ZDsŵ>9Gׁ 5lcf l"|n^'iṞ![>DQDί'r::;Hjle pg,.\ ZqBx5K$b+M,*$GmiQWI2V&ahQQU8Qt)!?D~s Ht+TZ4 Y h,Y9t)>;#(D{k |sG,â\6o7`֧GKD6,8|w#ûUK3A.߮X  4w6p^8{x}u6xYWí\O"bKe1!ޱc[ 'zf>]"-Sl܃<^ = ɲ 0ۍan2^=D6ܴ`cw)䫠iJ|rRIENDB`? hZTx*PNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<gIDAT8˥Kq zäqV(uD).Vۚ:nWS$#aKkz+mmL36v„"=>>}1: /8y>o??#TX|M-Rv,n1O1Eirf&F@lN.`9QXһ pg\{?~+E4  @[ˤ:!9%)ʅx.D F8]ND3deH']\ӍNtqP|PSt jʙЈ2A>"eƍ헮?F>3eh=,RA$!d8 «Y97'@77DQf5Ž֧@x&_mjn-̶/=e,ZbT\y—Gu+{!V%E[&ת+C0o2A Q{`:Nپ:ZpۅHy ;{`dSTyWF CT>;/좓IENDB`[DB /+/x\tx sb``p  $)$ow `@bnafd5G(^~[ae@!׈ԼĒ̒ wO߀F>qOǐ) ?446ij;f ́<;#>x~o[͍dXp|\j*pOKZCv ~~c;YV\+.4?4(=S71Ohz|_ۖno|+IT3X)찿E+f%vNiZ^;579/䶋KG68jG]ϟg?$Y?+xˬOխ9إxsNY3NY++I6EJobƇk;az/ύ5xrCyF{|Ro) xQ[&x sb``p  $) w'ud^9lI. 1 Q%I@bnafd5G(^~Eߔ@!׈ԼĒ̒ wO߀F>qU2.!^b z>LJ]SF= "{r,Qd:cC ) K[EN l"[m& S:LZUu.KLk3.O_qm[⏩3̴ Xҳ00<]\9%4q L9^vx sb``p  $)$ow `@bnafd5G(^~[I]OdkDs~nnj^ sQjbIjByfIo@x#8PcH 8^7wDc^,NQ!VEeSBB/~0]dxbPNG  IHDR szzbKGD pHYs  tIME Z tEXtCommentCreated with GIMPWIDATXcd``0#5q@,1{>Q XIcMg72h8\cu0U:T>آ:Eg"-TuT rR=գOq\hE%_?QOHcrc?Qٍ |!a#~:[[/vݐ`yDOV+OO&%Aε;Eغ b/j3d>gJk1fmŐkz1010rp0XaR`ʍX[‚آ 14\bp/Wb`C^"pd# sry`aF)Z we`]9nQB->NjSHѐg$431;v͙IDE#ZuL>*.Y7 ;&%a _1iM4 hDŽq餸IENDB`*',j "',16;@EJOTY^chmrw| !&+05:?DINSX^djpv| & +0359:;=CK"P$R'[)^*_+a,d.j/k0s1v2w4z6{7|8~:;=?ABDGJKMNPQRSTVXZ\]^_`abcdeghijmnprsu vxyz{~ "$%')* / 3 6:>āƁȁɁʁ́Ёԁ؁ځ!݁#%(+-|1 &,28>DJPV\bhntz "(.4:@FLRX^djpv|~xrlf`ZTNHB<60*$0d)c!ba_[YXWVUTS R PONMLIHGFEDC?;7012345679;=?ABCDhElFmGoIrMxO}PSUVXYZ\^`abcdefghijklmnopqsuwy{}    ‚ĂƂȂʂ˂̂͂΂ςЂт҂ӂԂՂւ ׂ!؂"ق#ڂ%܂)߂+./45ks}8*EPvaqo7vmkFA#{\]dεV֊e/<,J`  ݮDD!*SZUw e-)-Z[#n Jgn"I#UY+תZ.M|fYm1jWeKЀeFY Dpdfj]Oq-kfE0 $<` H&33"Wq7q˷U &'n~ M<|3n"ȈX\ ^d$Q&d6M0\"",3 ,z)]d} # =L3%{y˱ /Ai/+7ǿ4'|vpqލPEv ~Cɠ^6;. E_6 8/xCiD6!i+vo?R]޻&ϿvX͇ۡDA-R㻫.QiwwkoS]qf w|v^h':U507̃.ld"B{IENDB`5iYh //v`pcxcPNG  IHDR szzsRGBbKGD pHYs  tIME9&e@tEXtCommentCreated with GIMPWIDATXW1n@u@F%)ME7D\!  4 ,d9cÇϰ%K>kvg@F l׿ x0a1fyˇpe@c>`*R&QWWF@Tub5K^ez렞ۮ"To.OyH #Z;NB" ?MǁzZU wAw4.{[V+2beAI`>% YD$*qBUlX9'<;SNg5}O[U#B"sUh9xw4e"{wn #x]@?gE("OH Z\,8S d=}TQ[ʑHOdO> \,gT]p:~aAReF}h])8 F2a-IENDB`HK_8x8PNG  IHDR  pHYs  tIME  *4tנctEXtCommentCreated with GIMPWIDATHUV@o1s ,sn+T9c-*f$H m%Ctitq-܋kq-T2|9 L7&l@6|>2f<`(usy]\*fFDA d /#t;FU\k㺢VTEdL &=pc˒fЃ'ag X //MaxEPNG  IHDR szzsRGBbKGD pHYs  tIME **3-"tEXtCommentCreated with GIMPWIDATXWJA=jBMRt!DM =G3MDdxeڍR,Hm6:;;53glqH"xor"YZ{ooQO!z&֢|e[кc+f-kvNSǜ ` b7O7εL/Yqm ;K*:4mED Ţvڻš4 baXJڻ%sA(,oΫݓ ؅n+JJJ0h"9mdW!mw\#?&p2Xp0}*:+P2/Z玏 76Bz ֲTʨQyioBS&9xFVG&R:vg{|([[$8lh IW:Fj+4U># Eڠ5JQ4FR𮧒S9|IhaK4tx%dgz R6߱~IENDB`a0 wwbrxrPNG  IHDR szzsRGBbKGD pHYs  tIME;;tEXtCommentCreated with GIMPWIDATXW=n0}A ԅ3pЩĀQ$.VX:1%+CEP!H␀?2`1h:Pǽxmn΍xddu)]S /$pC$"p ! j#\0컶`Ԝg !Eջ:59 Ry.^~[@%SG@dSjiXG Vkf/*r]F'kD͸^{^uhʟ)F`MH̐R!U%[ Gp&<0vdYX==8IFB׈01?e9-EP^ ͟r| V5"il~;]f\%n<0o]:Q|fa8IENDB`j e.xPNG  IHDR szzsRGBbKGD pHYs  tIME |tEXtCommentCreated with GIMPW]IDATXWn@5,HɅTK9Pġ~>ws;N<D 6 =ZEB2 3[x#YZyfwv- O84PnÅ=g Y I*=D[;ѮJOOlŬQ8>9V)<@ qlhQD8~ wf2 $ɦnW?D @@D@@uHu/t"~pxo\?h~Z;3 {@6!p[Y[1aÊ@1aSglU3eri⪵@fbgǻ>Z@IENDB`@- ??=g~xUPNG  IHDR szzsRGBbKGD pHYs  tIME ultEXtCommentCreated with GIMPWIDATX햿k@?R햂m4쥆AK]ZJ%;-N]l2$ESc! I|-YDg}?޻'Y`VtݭO S=,Cl|V{<;8X^6XP. ڛ e\O&VA0s{L-TMQ!rTP>ў,kTMYU\X>e-3jz@Hڞ$>6l5' ŋrފµaZ,4Ve+.siE .\ b}`;KpcOΏxSN0Q^ۻ<: vq`/ CQ@|g0p z`e{~L ^|T{G?NCP2 ARe!h*wR]y1l^C'Q= !aE`1Uc,t6W-6():Ihri+ ́gYq3\$,#A'<_?s@ RoS5xUvoiF*u`Ċ\0 PԬU"yY=xا?r;ne"R{K@[zΔc,@\ "8;# G WGÁ7BtL¨ ٍ"~gXXaC;T7Jaa,tTZi(v#c.O2O"͚QfaȨIENDB` !iFxPNG  IHDR szzsRGBbKGD pHYs  tIME , tEXtCommentCreated with GIMPWiIDATXWO@}+.EBk)a=՜!zGp7ߦ_A)KZ [Xl]C03${{ @qXF~4! D//PoLH!ޜ}DӞZ F4gn[h% ]'y HoskE"@3F3sL'AӞA-_miϘ2T;c %E4uy22JC(_E Pw $GS mA M&ä}䟁9XUwoةӒwnP@_+g|v4~y Jc"k,Xd Bo9]rʢkgaSP ,Bh$MPR@)0,*qf/S%@ 0-C} ӥ"Y!U~_͑-kx6sܟݨYas:w)(#;:w׈&no'QF gx !#wr@drB$~ɷj?IDn{[] wd2uIENDB`Pw sjj`x`PNG  IHDR szzsRGBbKGD pHYs  tIMEDbtEXtCommentCreated with GIMPWIDATXW;n@}Xb# J3pBRXP \ m 4R6AS$K 쮝ɲdy=3d/jN_#7:w7m.lZK1g\>ex:箌 E`;|{y'r>\JMsHlt r_UThNMC5@D{qko:D"WɾR2,(o4 ^H;PDcWّϞ~a@ngEw4@lb;%p:͢ŧ NC;{_fcBg!҃( kb)M(:)0Q;섍totf֠IENDB` Jk7x7PNG  IHDR szzsRGBbKGD pHYs  tIME %7)ЎtEXtCommentCreated with GIMPWIDATXWOoAeG 5D#)HMx{ Ջ݋LLi\lM lb#Hʎ .R%μv ǢrF2 rv+^,:;:-@CIЫkWT贰szPRh()]\Dfz St>b5 wni߆al_IZ0}Kf{#Tb7;m+&3 c w7/ vX9Ν _c0EDf'BWȕ ׾+劖W"""f:J"J"u0ȢS*}%i#3ܰj!9p4ZC@Ղ0XT>Cm`3dn̟ds o)DsأqSS1]]ȃ?dҸID kZWEa8Vۖft[Jf3>D9be0$ Yd+o7ebe\Z2gdl0dYmQIENDB`Zlh DD8ltxZPNG  IHDR szzsRGBbKGD pHYs  tIMEɄtEXtCommentCreated with GIMPWIDATXWJA=nܕD+tR(DV $"J F-Lt׸ kfg.{Ξ{av ` $p'KIwCU ` }'zq? -4Ŵe7zܛC [ea/1r7'H 6`x:=}TL.0&^sc% mք.z*h%Ԇ 4ڊJQ֝25l) $^v">vHBQ]Zo%QQ/"X0DV\Jʳ2U,5m,0I@T1cqiyDW`|{;\xP5x_5\,&¶ "jz;M1aVv7cC1m[+?,lV܆=r &7dqj!z?ϲ]IENDB`u cmJx/PNG  IHDR szzsRGBbKGD pHYs  tIME tEXtCommentCreated with GIMPW+IDATXWJQΌ*B@AΓ+o+ a+E0A&zZ s9QE?b̜;߆أ }k|qVx6i;BvGRÞ6߄|vYb<-1}Ld,QcN ޛE'rfTgJ 7:FʺaGdxFYIJ:*)n?PuY@XH;Dٿzf= #Ld@̣kzcs ;$0&CTxzfJ:Nf:r Q+h+hq^߹kVDu`9lr<|2HkIENDB`qp0. 66FnxLPNG  IHDR szzsRGBbKGD pHYs  tIME^=tEXtCommentCreated with GIMPWIDATXW1K@}צQ(urr'C$D9jAt?]]EDl5sB\bc?4K{ 10*鼝sȿ]!܋9p8&ohWߵ0t.h3nqzdoklty_| '?>S ]tiCM%vMݻ{i᳚<\@rE{ @a~{q]of~QÄ~-smF:#Y[X^JX-5LĠDk @%"ZS+8r ܗ' >1:\`eMb"D5$Х?с$ a1:5̄Q>b& X,DcqŁпJJL%epbAMЮlBwư_&`|mT!NM}DecvA`pY]erxܞZ7]-iAq IENDB`D)J boHx0PNG  IHDR szzsRGBbKGD pHYs  tIME !9C8tEXtCommentCreated with GIMPW*IDATXW=K@~mBPł(duj7gտЪछFTX2iuiu T)!4 %Ku>ׅ _7&qf~ L!f0a< $ -בZ`e|(>3Z`fR|!4Yd2J*" I?YO$H5aS*(Y2lU+ÇX, UvV> 6{!|{1ۊU@} K~fegQi{[jCy|el/=\9c7왱,lg6$/7Z]@[/YZOO jEYֿY="z1} "{exG4%WzWz!@.~koRvp5 AjuCaHUYMJ~>"2aTnwB0x]Y$)|$ve?`Fu~b 1Z&uX2#2ĚP"ՃoσTLr[Q#gRb>t0{.N( Ŷ$rYUbub%/F8 )\yDLϲrUIM.N_V$w[ѧL(F(US5o­4a''4Us@FH8NZ;8kl~jP9 fJT\p3J`LgķL7> :nqXV*ݜufl|`j`yhM %uh(IIdNiFyIENDB`R 3 [q:HxHPNG  IHDR szzsRGBbKGD pHYs  tIME1_tEXtCommentCreated with GIMPWIDATXW;r0\CSq*70Rb \!4r* 祀g$!!O $E&1^Xe.!)9x4"M[ {=`r/b,@2"m`p&#:`-=V~) lBt|\^Qx*hUD 3(Yt|ή9}dLq8Wxz9zwnk30Lf]lp%hK Q{PMf}ӾIضTd1l|\FD5^~@DUqvݑEFMk-snm]չ43sV_Xu7bනj&̾?+CIENDB`Wz z+z-s^x sb``p  $) w'ud^9lI. Ap品" 0kPו ndkDs~nnj^ sQjbIjByfIo@x#8P?Oǐ) ?446*ӯ}s<><qUʞ.!S~7hhhm.}IOT<^u+3Ąw{Z*'8;,ԶMˣmf9zBԊ#ڋ]1;C3@֭Ȳn}#1/&;JHHCYɄĔ"/.P8!ȭ]VI?0{iR‰7)IHIIx}x˜b@_cE*ȎSnhW4ǀ+#yӅÏ)M匐q=]irKGU҂^Ɵٺ/0L<]\9%4t+ $/$ux sb``p  $) w'ud^9lI. Ap品" 0kPוʗz@!׈ԼĒ̒ wO߀F>qU.!NuAm?#.[6z&m_Cu% YIYq q5ةNaF3U7.?3. B͉ڳOj01X>A.7:- Jkg}yGd׎'òc5Yf<޸}{'B&~{mSɭxM~{:닽'kɐ6-L2zJnq3[WL = ^>5QU fE6gwqh1łj2b"罨=ڤƴ·)#tUEUnjכYQ3/n)Ծ" ט 1) /Mtx sb``p  $) w'ud^9lI. Ap品" 0kPו«igʀB%%y% E%) % |@=]C"'$$8o]W/)zgo:)mKXV9IqBǝx'Ip3z=bp ".[6Ԡx(@L)Cٶ| |]b>a'=r#=<<))aO/eSBC҃[v:x sb``p  $) w'ud^9lI. Ap品" 0kPו+ @!׈ԼĒ̒ wO߀F>qU.!߆[596H7`jm-ma}]lK^rp\n?)bV _\W|wc[ s)w"9|cVZp5QҵJD #|gz(B>+Ã@U{j̙Xp0{|vT.L XOW?uN Mw&) AALyx sb``p  $) w'ud^9lI. Ap品" 0kPו+t5@!׈ԼĒ̒ wO߀F>qU2.!S~7hhhme:w.ؙppsκwm_B~ 3kORN@xy!WrGHظcڂo2[a`ĥ1CyߟuZ"U%%%%*npqGԩ 5 Oبodʮ!>Aj͒ןᱟ~à Kmk`'{ˍѲls֒EO|dsx;F򾯱 J_ uf*|BL1S[[ ^"grW``2xsJh@PhkxZx sb``p  $) w'ud^9lI. Ap品" 0kPו+dkDs~nnj^ sQjbIjByfIo@x#8*3Oǐo59$cqS?p4I-Lة#m{NV6##5rj#5?sfÌs1?r[~dwr]u'W31\|3I"=~SKh#v$SGjSm\ 0L)ϿpFZ%_s2\0`&Roϒ~֩gxxA]ƾ~[o1|D8M+rRszj}cVvo)R[rLd&3~[#0SGo Yw v"Ô2 翟(9a|eSBB >+{Zx sb``p  $) w'ud^9lI. Ap品" 0kPו6 7n_-PH59?775(5$5E<$C7 O菧cH䔄 Z`dU77Vf7Y| Wީ\vJo|Dwt1eqnދ1F?6({Ⱦ V7(|JXfC,6 ps:UˉO8*:hqYV"g⼚lO5ny"% v|pQ\R-yYaJC̎IYX$%jK+9G310<]\9%4=T>zx sb``p  $) w'ud^9lI. Ap品" 0kPו6 7 W9@!׈ԼĒ̒ wO߀F>qU.!S~7hhhme3sV>м~<><yɲOwxQqIq{M bL1{8I,*= 3J 6%6P0ź9z!0v<]\9%49ґ 99Z8x sb``p  $) w'ud^9lI. Ap品" 0kPו6 7ϒ@!׈ԼĒ̒ wO߀F>qU.!߆5H^2ݵQœf7gXZ,`Lz3ܼg [tKD{Rw`]ǯsg1#۷n raOWV|tԩRc [iSsBʾ:SK]QLrli_Ya\xϦ/w=]v͖"Z SUR/Aitwk?> WOW?uN M'e~Nx sb``p  $) w'ud^9lI. Ap品" 0kPו6 7U@!׈ԼĒ̒ wO߀F>qU&.!߆Y2M4}-K[j;8N`08ܺ-"jGCV.~oNhl-j;WoLQZξz?۬Bk ~lֹ3T-ǽLk]zQ,9|oڜ57d;ܯ pK|Ks驵 =z 4YbףKT8tD,bu`PZ0e˼Q.:Uk/V /!yÔ x sb``p  $) w'ud^9lI. Ap品" 0kPו6 7Ci߁B%%y% E%) % |@<]C"'$$8o]t_*ؙpp3F*Ss/-匴@U[lWl\qB /xI9O|įWD:BF,_6:?8(Si#bNiq_nmH(6ꧬxmFܷNMY43RV}(IQm=l{_`(9-)!!1#BBKswxd-<,wAo}N|b\ɝpq{~n%BE0̟iٖ,`1xsJhߤfPx sb``p  $) w'ud^9lI. Ap品" 0kPו6 7G.PH59?775(5$5E<$C7 OhcHa}M:/m5 BԆZ\)}dцw }Gob>XU}ߧ 3r[OUK`Ÿ#a}\,Z7"S=:I|ph[c ug!}Gғγ=&V;JZAKy`3xsJhCK x sb``p  $)$ow `@bnafd5G(^~[Oв/B%%y% E%) % | 1.!Sg`3a@yno{]F򬍧vX&k/FyҊIڇo3oN0yypXQcN5fǥm/bz` fG+L ;O8zcwsfee\5}ur$2mV`.ݔ@lc5mU\ir!*㕌%%~Ü+%v#eSBJ޿ 2xPNG  IHDR szzbKGD pHYs  tIME  ;tEXtCommentCreated with GIMPWlIDATXVn0N]Wȃ$s^R'OLx֖SlHi#wH`RU}#Dmo8Et8ݵJSc"S#Wkoo<[ܽe]_or$O;.8Ar2"wU>O }'D绮!|p.eDg/<1A?6`?k Ɗs\hGXM#քMM 5%, D%;:/>U1kro)n[c6fKV\h ,2 *ųӕ7>GAo>w2/JЋIENDB`( 2xPNG  IHDR szzbKGD pHYs  tIME  $;tEXtCommentCreated with GIMPWlIDATXV9R@ZH\~3(刈H !<(Q䜄0"bDU{uwf@ yi]s fc ˼"Md?%'fV֭qLN5֋Qn&\;Oe081 |:px'E N2\%'Ⱥ!k=?v^jLtǿ*) Nu$>7*PdY*DD&|[HK3M$wN`tD\Bڄu/Pٖ7M8ݢRv忻bגlE@{`*+ͫ=T#IȆԀIENDB`v xPNG  IHDR szzbKGD pHYs  tIME  ;<tEXtCommentCreated with GIMPWVIDATXWN0EݺKIg^)SJ@g }.ق $3@d9lSHl$9???m캟@4e~"vIi?<\2P IB(AB":*I(NUO4eԈ> u j |HD~\!EX_F$ӽQXXVv lzGB.!T&#[*Udn4ea5a_{[ULC>6t~Pm7=cNH39^ɪt;Y߰;:OP[ituKdWjחIENDB`׍t kZx'PNG  IHDR szzbKGD pHYs  tIME  ! ˢ%tEXtCommentCreated with GIMPW@IDATXõWN0=vB:!J2e6V>!S;Vtb!1AUE%5CIbN4.r} PW\׈ n)gh]?DOC7 Pgu1rS݉k4Cg}0M.&& i2Ip~ d+"%KRN5!^!i!fԑI$f DĜlpR%X{q%;+.T _E\U6?Am۶]i@m ieG1$$ mT|9Wb7lHYgwW],^>7ihe_Wg $_y|٩ \_o&T6:odD_ Fn ġYD5H%:tv&$;ӣ89hY9>acȎ ٲe Wtm#MIOZ5}KN y~hj^7cѕ~L*5CRU>Jb6 uC`1FA hãn 07ԤdM/^͖!IENDB`v3 unxPNG  IHDR szzbKGD pHYs  tIME  t"tEXtCommentCreated with GIMPWJIDATXõW=n0q"C >FQ4E\ @' E@Arf!"@6\UA!MQOYodQHtc0|>|܏ S'X+qm>KK{aT_$GZw\妅s_ƺ@e|\FxFKCM#ܐ#qr}u#&6# Gޑ8rbH14\;iUIK|+)ꦔ,' y wzΡ$XN}|I,w7 lֿ?yгf~F;Ad l\~}k-C}[8Z 8 n ꁮ; qt!E8<k/{ mkc65 Y ԅgN|  A5ńc٠8=lJ]Tȷw]` xX )VT6%CfF#ńO-v<^h$ݘ[-!$V4 q:˿͵Y>K+JXPi*gy! t%a;1B.Ͽ5[wzd}+-a-IENDB`^? __6 px sb``p  $) w'ud^9lI. Ap品" 0kPוan؎@!׈ԼĒ̒ wO߀F>qU.!S~7hhhme3sV>м~<></.)qDT 2 mӘ_򟟬Έ0͚x*OI/~;0 *=ZȐH=gD`2xsJh/w LcL *x sb``p  $) w'ud^9lI. Ap品" 0kPו:@!׈ԼĒ̒ wO߀F>qU.!߆;l O&FH3d6 'Ks7Pb[ơS̪!{A A+nF-$Jg3<ذCaGl8xB1XLK/'MakJpkvvFm3-84|I v35U _{ U͹+6!ĖY7.f>E=`\z_XN=:Ʌgߝe|bV-m-84eW>n&/xsՁW> r+#Ga\/ nش7oS]ncȪlTs,MuLoՖiȼ F Vs:'_vZ/5G`l0xsJh̤Ǔ 6x sb``p  $) w'ud^9lI. Ap品" 0kPוb s%K\#JssSJRKRS3K2=}ā{8DNNIHqޠ^R\gU)?b%$`aEÍfrg$JlH tX4a)'xedDVYa_ ~oYc @!YdTtZbb)קɵԩ[̝$HɌ :w5zhn)sZrE3='Nt(3jVR:WP2 /^6[M笴) O\p yy  pxpPNG  IHDR szzsRGBbKGD pHYs  tIME % rtEXtCommentCreated with GIMPWIDATXVk@Ζlv1K<@M@E0-K[vb:xr= !Pׅx*q3Xd(tO?NnɁN:{߻/(un0D bRPBql Hp 3_&"~L%aM#Ifr`<3|!TH"L.UeD:k%R@heļ8~~h!=&-h!Nkxz%0K\7%KU6cdh1RKΗ[Pvy. H׆fڤh*v {( hc4d&yEc:8(>71J+`Ih*MEV࠶aeK;3B I=T*ӿ`!g!|Eߥ/P5fESͺyq}rUZsot)!/Z@|Zf0ܙE=^$ O=B\2c{X}HR| Z–'B} 48"/W&/VqC*RrЩ\2s(=|+z?U64tG5!w?\l\X׼~&pyfQuO~H0)%p^v`1vIENDB`}{ }} lxlPNG  IHDR szzsRGBbKGD pHYs  tIME &2OtEXtCommentCreated with GIMPWIDATXKA?dTbVZ E m4([Q{ ri_`B)\(%Aha(ژLawf'{&z-)DuAv)iD!UWZb.=t)-84ı0pOB T26()s }fd:G[- `LptnɋB! H ֏b7 M᎘  HIx#!5+G;|xH.;!-6g2],'eXUVvq֪QI$S.z00tiU $S ~F_ *Iل2A /Z5U#kU%רAXB0lʱ?U~Ǻ$|nEKgBU%ّ~WOB9pʘD7KS] X$~1Ɨo#7v'2VU|"D~ICZа(w'Νy |v򫃪V) / vRNLz^8؝GO]Owg_c~a`C!s~KCip"A[pv~0zֻ+u JHp a1\kMk7( MIENDB`J G4x4PNG  IHDR szzsRGBbKGD pHYs  tIME *):%LtEXtCommentCreated with GIMPWIDATXW=oA}9cɗ)%KP ("M ߐ&I*lr+db#H'H9ΰ)=-(#yocg G*TSEez2m/"0:} I?K2#!΢ۍe'~m:1*sF!#.7"HKWc`Dխ-6! v0quƖɏ/}=[O R5es9rbIgs9Dfv!7pp"q:yesE׾pCBv=ktYXM0&sS 넭3l^y9><$ߝ49nBC$hD $~nG Cf`cwm% B7a;v]bƫ-L`vuK'ʾr_ÌE;T~0w\: g| մc.ۭSf|v?Ƶl'29F2:'I(4]xX$4ԒPn yלdBsyՖɏH zuZE[o H{D!D }1FS9 cPHTHAr/KB9f2ȢԎWL6D>RIENDB`7b ;z(x(PNG  IHDR szzsRGBbKGD pHYs  tIME , tEXtCommentCreated with GIMPWIDATXV1o@^bjHZQ$&g ډ.l-3] NSVZ&JTBB-Pɪ!81Dw}-޽{wᄐ{dcfhdv*dIbLئ3bM*q{LmNLqq>02fl {33ay0Ȃe $J7+X݁0e%(!xd o8(s  '!0x3\_wh rݡ5s'j=x\xq w)sߙ׭a{u ۫[ք=;{x%Zl:m^mk?ZfTuï*&IENDB`Zfv@ӍmnzX ?zn^~'טzgx{w i }A Cs]˴?U4V4\ޛecYX b]Z9~gfi8aɎ#BDhshԯ =|9b :+HG'mt. W ӸZt]Xŝ[xIKĕO0>pibv]ac0 D2[\KD] *A(R v@wZ>o__۷;ܡi#1Hc"`?4)pwnpitPŐj8o˧r}&T/xy ݓp}!rhg~ߜ;+~L_$gpgA5v6jKcQŔuP=~n<鎬=Ʀ"v$o6N[mKh~ QԨ#GW~{Cg]@)ZPʮ#68ܳ?T_߿zݺkJs/#O8EM[/)F4mW1c4Ņk,ujL?4zթլoAZ"UHv7HO?.TZX]/()}yVs&|F`74[ jQ! ,ٓ{B&ڸrg#Q)D!F; 3 &fF5QyKN_4dDcZ ]m* |xIENDB`o 4l!x!PNG  IHDR szzbKGD pHYs  tIME19tEXtCommentCreated with GIMPWIDATXåKl\?qqEM*B*PlXTRvl@B(UhYTE+6D$ Accܹs.3s/՟{|Y*C-]wĨD *^j+U wlqbl?/bgϰ%~E9&I:IR$)d4˭?q%,!$}3Kc0II#t/?F3]pYe! 89[1}0H7OL:o<00(`fؿ@5tF:ro>go_)R|G_AX6 51 - ,wd34 = Ӻ7jTrXh  xor]7z¹Ħ?{9;S2q3wg~e4Ɂ&\DhpIh> (WB1롣:l/ Enfqkt-.2vD5PJo9\\`P1^"oy5"M?ѭp<6%$Z8ٳ9t(1 bFJ̅m]@H OZŽyթu釾p ꬶkrO)ʮS2-ozt5좤}=cT x.~`z2h\xVBS }*N&'Rgv㻤Q* _?Лz;[7p n7ȩ_H b!y{fsems\*߁UMb1.-ŋ*dO}]P;sp= @:њOi~8e7&6(A@$7pAUT}?la?ʲz()QJ|V^˗2sygJyX,o/@Ḟ-jvGhNT)?/ 4yyF'' A&l?zT)^e.:iҦl^OQy*y-k,|)פu?++Fp&Baquiv ;/_BۿSgn fp6qmZ&:&>>JRcic52Z[Nj~Q} L#t>bX[>0 oɾ<4b41!hczʀ1o>3`Bmnna*'D`<"hFԞ iLK!zTS 6vIENDB`r5 D 1x1PNG  IHDR szzbKGD pHYs  tIME+<tEXtCommentCreated with GIMPWIDATXåKl\WcflҺie"D+`Ŋ%f uW!udžJV  BiS5jIc}scdҞ=/7\^,<|9oGRy]&PB轎R-֊z@K @HYv1糖OKaI]x ϽB~?|!`8X|C>{"қB80I8,ww2 қ&+7M\%Avj;ڪ򃝛(!eq`b,!I-?;18@>o`}c4JϹ՝.Ѐ9B 473SdfE_zb a!lSZGE`WQ4t<x=QyRIU{hR{<é8ؔ!jh?$+I*\UұHiAEbBV* }|r}f9q^6&cT[1t)ّbBr"°Qtv/p`Ws!;O[!% =>fx"GC1۫r%Pt,{Ǯk*8|Q??5qV*yV6^a]:#a5烵6b<|3 (pxFδ7سnMo9<=ˁT:a%ҪN/`z wgC6hym'Bzlᓦv"/f@VTZfhj@ >{NEZU3|U{ ͋W:giän,KQ9[4=G *ˮqϗ ʯPO k^߄3szO_AJ4h1%kT\歄zJ"T!x??4  o?VY$kvj̅Sz~M-n`MkbW3IENDB`i b6bHxJPNG  IHDR szzbKGD pHYs  tIMEĢtEXtCommentCreated with GIMPWIDATXýYlTUs{gtN[RXe !DC"11`4B0D|BLL411LxAc7 h= *i}nLJ N1'̝9#P5}fM羊UvݬDZB-]u<7M J>&ъ7iÆ0ۇ6@w]_-nXC+ -)@cB`E< n#1,W5BIS)KY zSQ+PDųkxTPNG  IHDR szzbKGD pHYs  tIME /tEXtCommentCreated with GIMPWIDATXýYlTU.sgt Zh@Jbx  FM\/>i рFqRіtvZtJ'7;C-*TMptLkn]]Vu3Ұ/<%@x]Z3 \!58B)%Hl!u؜chq< Hc'jW)I!"$4 %OŮҵ< 9U#d43ԙyɚVLE-D "u,vxvgQ:eG )<([;6=8bq&@ʵ [E BrfO%3_K1#>Ί㑒><^.U0@9 aWy^]U|[HɈcD5skDJy.;PpEۆ:z}Z`d9E#x]5^ .*]q@,qX;'kcdH31ڱqLv^&z ͙vDL)׼Cv3i>9H7iKМ+ejN/'r CD@Zy/Wp?dJi\EB]tb&z(iHҹ;f15vUOvE+OݳgL~{|;=JO,Nqg97 ^L4o:-1bУ#c= Y- ͍Y)7%u{ߎڸГ/x "j6-u@5~`GKq ֺFQܜma%zpr w X7bjU&xu _:oP7:Iܕe?@"% UDnfe8$ju#/ZUVS߂9p&";5EUO'u03R}A7lz6<%myѣN\HQl%=#0$$JU=EJ R▲e] 1s4w iadDF`&`xNjkCo 'r䠹) Q5 CzwBfX*N.C"h׳ alZ{M<3}moJqWI6~4B_ݸ$ G#IENDB`)v ::BxPPNG  IHDR szzbKGD pHYs  tIME 74IFtEXtCommentCreated with GIMPWIDATXݗoPٍK(&Mi! dS#BbABLWS:G 5 bCHUKې؉? `[,t=c?("a5d旒[>y%tO+!2CZ6ƱkkH|@ I(!sV9:wYr [ EtZ_HT)#L})PdΉIʱH:v0*`"GCh(fZ̥ܤ!uԋ'0(?@SjBQ! XR'n"<~ͥQWHy<(~<K#HTdق#(<\u/$Mf ~΂\Jާ- ӣs˷،O )1!v{ A߂\eUcLj1W~%gćORI.k>ŝe߻G=>S%ZRD?AӼR 7ؚ|VտisW"WtBCIENDB`(s$} ..N xDPNG  IHDR szzbKGD pHYs  tIME 9ƽtEXtCommentCreated with GIMPW#IDATXKkQLIi.uUܤU .ЍJRqQ\D̢XFKncsd.DžB;.I2933Ho\]Ѩ!*?~m"ƍ$@o,_l,p:_g+Ȯn%B@&w7sOx+0_/@m6+{W0a\mˆŔ$oN@X)6 9bPmlaofCy=Փ~m inWnk `A+b'6܏ }ςFȶ(Ko6e^4:3- )$ P !^mǣ9MNtzكI>=ډYJ8Sߘ)&zgD6!W@Lwne]C As6$'m,}x.p2\H}υ ]Jk{/b˃V5%IENDB` & ff0x|PNG  IHDR szzbKGD pHYs  tIME .QtEXtCommentCreated with GIMPWIDATX=Q3s3~m媅.( 6He@EqN- "fw3ɝ{,Bę̘5njf==s9W0Z< 3ibu+xŧBLU^kj 뙢Y-h7[c+OBۏQmiw0$T\ P %p"w"Nf^p;~Jly[;ƅq? 0@$(G]rW]`ibBxD}mVSķû\ܦ.w~]qrJo+ٝ6l2bUKg`qgVHM|(/q?@P۪H$~?GfH"P-~Nɪ$t1?7f_"[@"aP>^D-\.D| l, H\5SIENDB`#9 `Dx2PNG  IHDR szzbKGD pHYs  tIME  'xq#MtEXtCommentCreated with GIMPW5IDATX헿OSQ?OijBE 3q0qͰ]Lb\M' 6BH0H]ju Z(Bϡ'9}{|{$@@-He{Z|U.H+@aHnЯ mbkj${em>tkC(z\i;<8EIC`[2MnSZDvAOdSTuL4eE)+99$ ņm% TU6hjYk| gU-c\Z M]/QV =A^*1Baw]y\kI-DYP(#2eIAqbl֠M|lCIdH$v3ŃGJ!o֪hje"F&z@m&$qz{ &{Ȥaz͒^RTB?:J5ғLo>' *IENDB`= dd4xzPNG  IHDR szzbKGD pHYs  tIME2/&ltEXtCommentCreated with GIMPWIDATXW=l@:1$QHeD4AA (*uΔS+ Js•(e!?N RI4a5! 'yw~߽{w()λv"L t)фo߽c|#;)ʀ;49Lh*v'(NRy^os Ws?@ S*@Zg..5{M(D*Q10G gI>oW6@L/-pp>a| Uej|Ղ f0y$T6 /O$&I$'1Ȩ(24 }o~"`i@9GG_.L QG95r ty&ƎNιN,@eIZ@#Q:0ݳ.Fas oݜg~Zݛ𖆭lOq7M+OmeBl =M=h#2-"v+vv z0T50T5г8vv:Nl#PT X`%bP򕒮i >k;ߪ2l ѷMc 󣪌W7oV<"DѕHƈ,N.7=j"~.&o]ǭIIZ#$5b,!hMIH%S(&'wO^Xi 4$ŴkU\Q Lh`vgjG׎ iq?x e-S ݣ>[IENDB`[ _BLxLPNG  IHDR szzbKGD pHYs  tIME39ftEXtCommentCreated with GIMPWIDATX͗Oa?mjZ2<ڦFTqp0 . CM aف.R7cpVBI[8)*Rgs~. VYɥx=w#=x>FA@%`O@m[R0֖x1<}uoczcdc-Sno0AAÏ:퍍[ԍkoY + '"GG+8˔*5xX W [)M#GG쯫~ n§ؚLaInU+5?XM}ࠠ0ƛ]N vpansq\zW5>)@ TW1Y __sa !~vK*` o糒آ3R' οͤ%UW[ ҊJN:&CF;VfA$#蹷MZQZUk~s{ fTIENDB`l KK1fxaPNG  IHDR szzsRGBbKGD pHYs  tIME #]yXtEXtCommentCreated with GIMPWIDATXŗ1K#AG@KPA;Q:YXf!~*Wrj abo/&;d}0 ̾ov޾70`ARn-mZ~?"T*y@e%>/Ғ;60$};=՟ soO_άħJ[Gnhcc^j3ᐽbvY KdMU|ߧn U4U*Ic;Nئ"Śf׽G=MvV41_|>^ͽ!A긕d<R=BVF#Ёx)a^rdtm_8)4A #QO& |hөNжڷ_{@Z@% Ih_[}O:YWzJ5k݌ `6Hle^u氠IENDB`% ee2x{PNG  IHDRabKGD pHYs  tIME~IDAT8˥kQ?om5X[(VMX00|g|]Oܭ܄mU HoOyōA&\;6-gR^k_^:&v[*4ca5F"Rsd;M< M+HZZvuH .4YجWFz< d0@*5GSpّܸɍ67_\<3$FIENDB`b2 unbxbPNG  IHDRabKGD pHYs  tIME wJIDAT8ݒ=kSa7iBVC.]\-BvpQ:8t)XB~TŐR"MHғ9}Nqcy_g"۾`@jtKivD+yn6.)g%EK@aӛk+_j_%d3UE<t9cJG-Bv*/@tʧ|,ܨW@毧{ /uFIENDB`hP &  0xPNG  IHDRabKGD pHYs  tIME 9IDAT8˥OQrؚ̙ؐ 񫠁 v&„@V?Drx`w -;X3Nf޼f@jK/jKvV/7h`ulwr+≠~UvF铷Oʹtb'G8!N$puƳNAw{>P>eԃ H.W'1S@zv%RnTpa|Za}|&^W4 0v ^7A©$>n2- (o].2]> ›M &Ru6h`~)$n}10v妯]cAa<˷k[&Ͱ6~6AKue+E^He#'gSxP&^;11_!&ip)YpBڠqЅ"L*D d/N9?`\k /KiAph䇣jZD߂53W v(4E$2lK_m\ %6_z0)P~I$$#Z(A 0$` ^>;iN\:[YAIENDB` D" 1x1PNG  IHDRabKGD pHYs  tIME.jIDAT8˥kaywrS  6bEJ,X ""v 1hj؝!_#d;03|BesowS]4FPePۘܣx>PNG  IHDRabKGD pHYs  tIME/6@IDAT8ˍ=kQ33;!"р2+ X)b'X6J*/)VJ*(ggv\Y' 9p9{{ιxtM|H.L{V @+i\^Y Р:?7o_t VZ8$@*||^} /H^B@|`K2< A&:V!,'mזpۧ=̅2@ukfZ)ז8}7vk쌄}Dkp]պ%΃^]=Jh An ?0O2#T49?IvߟpEGږ_K$ UȴR$ѿ% =f بtQ餐p$83G2C(22;ՋbtsYyx$txPNG  IHDRabKGD pHYs  tIMEBYrIDAT8œ?/ 9իowB֖C:ϵ1@ @p~ܬ}r#vv|=A-8  Ȳq6(@=VLv UdKBĂBFY[HS0hZDd{QH!p͉ <[0I5=hBj~c -)3gon5<9m߇B4EE}ɻ8~i]>hwSg BD?+GM u-HlIENDB`Zǫ=#:IDATH[h\U\93ܓ1m.5ViJS3NR(yCEC/J)HTTВNmjjbMӴc55צs|7 ܋ ٩&+b)@ ذ΍ZǶm4B6رK}3<\X 4ll@!аQu׈D"z]; %RHMJLZ)[\i boKB! 'f] @ Mj8L;Z;L< 鿽$DRP+^ӁSBAR۶5;D"LbPHL3#R A emMi9(?e~j~PTH!vf|^7DSU{zz:rz(*0YI6GB`x`x`ҝ%i)0u'---$ (熻gwAZIAJN`7g/7L}Eݴ5B*16rK~_z:O_G0f.#&䴛L@6Gkkkz[ָ\&?ύI>|iKQla9LS󮲻p8̓餪( U͙[.iNS_nj+qzyX H{p;ovu5xyuœ\i i:Np6N9EU$OPXRNL@,+ ]5Ldz"9ߚarnE◯;{uZB+̣83WȆ_2###)AG ãu rOyp恐P =&?o@om15!nIENDB`w A A )xPNG  IHDRw=bKGD pHYs  tIME {ބY(6FxFPNG  IHDRw=bKGD pHYs  tIME 4 [tEXtCommentCreated with GIMPWIDATHǵ1k@iXiB&-&`* ]D t%_& I$!/^P-ERN?=ݽ"rDlN܊5.񵐈X5Zϧ-pJJ)u2R? yp8<~,KfyGJ\$"'I(*Ea$1"r,Kc,"w{1vaV Ð83[aEN%m]s:O.AK+p7Mc\4{s(s'\dYv[UUȲp9 ڻrv ;cHkWuނ2U VE*]_p24 yv:r\G,*T+Qd(˪An- %SEĢbP \K`pO"%QRu@]"D2 B&C9Q|!k-Al5XUꑕn$ATD X21H*#lQ|P*ׂ%NmN"{&|_(C ܭP 0C'YB_ W$Y4^w~֤h"?z1xepx.:1.,3~]ݘ$SohK绫/ nLq dJ.7 80$i'QoҨЙCc>&Zm툫WƹW%>9.qζ5شs|= j,Мϩy~~{dix9&J JRcker{ؒzt=]8OލƼZ =O:܃ $&Q |Vdzw7x21˶89~o>]h,Tk;/Q,6 x$܏32+RKpsA>`;Ǜpp [^it䏵rU;Wb&(]Q,>MS m;Qw/Bȫi9%aƎ}`@j(g L_>666vyÇ3NEg(V{17i= IENDB`},IDATHMlTUfZj @ ejAL43JmR7ƕ7D.ݻBÂ&5*6ą h̀LiK!x3:)+↓Mxla2==m%fs$L05è*'i"ZQT,.Z~(ֹ DDZ^aZW}B  *8ĢaD1qy E#mbV "Xupcz΃<6/"5." X*"UiHo1)UTU>v X1XqP+ FS@8J3l3ߟak;{u j*# ]j@z^1= JC?">͵kn?/\v?GB~\?Y]ZgQЄLV,'.u-111Ars7~P@X#|Iⷜ;wZOGDۢAÇ) aHP`qq@!Jx}׻Y/p(!j8 8|bH" ɐH$H =9DJ9oGp9 ~v{߾}3|RD& uX,ə~+ͦ kǩs<_w3^SՀH$8Z }d2y 0m? ;8wKlLqp,L]Y HRd2(###`!QT[P.9~c.hn;=+M &ϭ:16jѾ8Zq`5jXu(lr;cn<^cIENDB`kк +< x PNG  IHDRw=bKGD pHYs  tIME 9,tEXtCommentCreated with GIMPWqIDATH핽jP#M At(.FEMEܼބd9h3.PQ$BS83Ԥn~ܔ"@kݐRIwJ)W1ZZ@0 ,,6 >ϞU8 w=^@x ذ8QwZF&s`C'\~!nZSΛlM\?H)wZF<)cc/U!oc4OY|N&[y?uؖ*myE:@)N -D) B̗k; Ƭ_L+$l(-0#80 T%BR3qJcV!iyQܔ'ݟz#(IENDB`)]*>Tx sb``p  $RlI. Ap品" 0kH{+m.n~f6sB%%y% E%) % |@E{<]C<(Ԭ*Lzg~`c^L3WԵ!MY|x&Lyv}B# }~!>'q^1{Юfz/8/u9?ŧ3{3U~\~zwߣwW[ OzÑ8c_ XnR OW?uN M:}+rzH]Sˌ#[yMܹwM`Y吖j[gNIf UɼXﮠD+'ZyTCJc*v3t ##4ȕSrd6ފ$XH'zrQckm*I.cyda2cVѳå}sEAI7 FFyhǢhyC^ɣؗ4o'g ^/ o¹a2r]$2`_ F'cCryOIv3]_~c^^}EQV>f;'.K)ƍhȪYcX!'2?Iw6FƴKXB.o!>4 _)#7ωmt"OTPS5CIFYSfރ.01H$",)+[\ gjjdH0ɜr$4  3GR g"H"x|P"9̵&ֵQ@՟]"bI`fIENDB`A | .x PNG  IHDRw=bKGD pHYs  tIME 6b-Hx0PNG  IHDRw=bKGD pHYs  tIME &x,texePNG  IHDRw=bKGD pHYs  tIME  fIDATHmLeX4\IDATHKhU?1MbliҴy(j, .&WD*TAqA ]J@ ]4AXiJ 6}6NŤi vyr{Ofz±XwZ;u,CM9302dyqzpOn&= $]ym_ )愓CsD#-7߯nՑ$I)RaY ACq湁'!g p&r!hzbeXke~݊{^6v3W"A'^'Ā"‰$\ -c0G8 = 뛙IGZڏ Ӫ&,@yE21O;Uڏş':vӦ}4*!fyx~oZ-EPFۑN. rIs6;Mav_!)bbCHYcb'JOӰqӔ&h'}\KE}u8 3靰wafLpT4]ew) oHBK'/ϯ jqw!LE u1XȅsG3*M;ef;8:9^IENDB`9IDATHKlU~|ϡfK21Pd&dƋ<pL ơvI^'yк.V)bۅ _۽x) 4&褊T58|+n!=@4ÁWޢ=Ea?_I@FzI`0p3 "5ݼo6fg2>7dZr䮰3cHf.KNZ@ϰέ-nyh}a7Zk>I Azl^eω:yd f=*ƽ'&-GN@7?PFִ1qcd߅rȱ<# ýCgnBf} ?ïNҙ 8rccw/˿RQqλIENDB`Rg c[4:HxHPNG  IHDRw=bKGD pHYs  tIME  (63p#x#PNG  IHDRw=bKGD pHYs  tIME ;>2+x+PNG  IHDRw=bKGD pHYs  tIME :{1zxPNG  IHDRw=bKGD pHYs  tIME F*0X#x sb``p  $EWRlI. Ap品" 0kH{+m.n~c!@!׈ԼĒ̒ wO߀F>qnOkmP`pUl3f<`喊2|/1dzrBusV ^^mSΦbn[כ,"DjNam2\ W/sә}|r*d=p5Xß'Q_z) *pg>uIDATHO\esp/ô vH@E„FM[X4]ǒDuC$qS&bMbbLh%TJ̘dܹ302DX4qٜy=Rd8ed29i$ϟڢ N\krS3'}{ )KcL+IajDQ1Xjac? NN2՟ 4*`-pUEDZMvQD FK-l7:mX,@a%elD1DT,ThZwŰm("(" C+++uX\\K6燔޴20 NQ'k>r^CN$8Ӷ1rapp<ywWҹRvp<˲PU a>sssA(YXgq~x+S~/W߳l3K(}U677) A@u0$PT}0=aQ[?orE Y/L; ja|ddbHѠd2$k,[&3]]]r9jdD"A >J5J^7xo~koK3ʽҗZ;,vwwަhEQk]gc `Y{>x'0=:2x< F0 [vpÑ?OmjM=IENDB`pWE lIDATHo[U{79~MICJBH_@ ;$ĊJ !EPtHqۉ{ F !UlGxu%8 c)^*.~Z -沂S3\OiT8O/VlZݍw Ճ_t5Ʋ9Lh )Sg;x"@ 2$(xPK*AIdG˸f* 6D :1qn# yPa`AKlV"{۫@/O:i7;T*QoyEXza=5sg! ܿZߓFfO751(!F zT7hl#x%HGQD}]^G7k1AJrA.ëKsLGZ)2\>^'` ǁl•kwhni5ꄩ> >Q_?6vciA~!Oo *{x퀓GWuh(~?KLfpVĭ{4/.s RSy!f$ȉ,8_ebCZ6x,><K^#Wc,=Vw\:SRP=h6Y8P )GRLOγ|n3,<DQ.z8'-gyu:U8st ο?RŖ +4IENDB`<s IDATHKhUI23MIsiܨmFPjB"҅H^.DDi 1kmswLaEv~ysWl(<u{ֶf v qnMh+ k DVSm' `jDQ8j鹱3໾=IE⣬0\|  *8r$<?i0Ia@"` hV6XUD-VGܐ$<nktT Ze[`yjk}rl!T,`)PF%u'OW姏&8;7M&`36c?%&6sQ7OSDf&ٽ*Ƨg\ޕ pÅ;B aۢ~[6+l{-[,MGiԕ''X h] 5)q.B,csQ.|?IS<Уt_fV&z)*^mg& 9aRy]37Ki8Hlpba_ y b8)H*Y@`"j@@E0"Xjaɥc <ͺ`ꭏ727X"!AB܌xǙmL&:j[Ds3jYV$33F0A TYIH:p[>]d%@\$?A{SddS0KI /Nb<cSC,{m0_ǙB]e}_Yȳp``ϑ4/ƞg+i8NU{ oVh5Q 5?:L n{tzv=~<"NDdeMX_,:EQH[+sf`6eWCǎu'@HWP{a 8L~.rnڥsi 746|zDB5-fw!\)@C£8{SS.koÔ860Rz3{Xwe;sY& qT?H83>M /V |T 2CY $bly}McMC?H%p|-B,xxN@Xũz(iIJPr< ?f5ΫY$ q# QB! kj1u[_oG|Ir>b>wPea-*5vƲ13Q15DKDvCy'8tg#n Y UsIĉ8i粕d2.Ic{yǹ9<2?_s/䒿_H :;H$ljWX\j91YxMʶ8y{˳_"d~?@ϗXf`6 vw)NAvOvne3KP)]ap^}mkגɌP,B` RhB.6 ]cY1b1 0PUqg NC{n7φ3HP2pwwwڬUP pX:IENDB`?0 HH,5\xfPNG  IHDRw=bKGD pHYs  tIME  1z&IDATHՖYh\ewܙ;wܙ2IS.%$P}qCPAŇ""jZ}J(.]UkƤdLf ) R!o.ibwlwwwHsp6x b4MTU%j>a&U}( Ci꣢[ik_.DF^RF pC#L\N2`'W-<6 ]|L@G[aۙ`~~Sei*ct)[7XVuZ,,,L&@ AEQB^o3g0x؍4)8j<'"%^zVVI&\XF6?:iȧ'ﮬ,mx=(62Qlnn~ӾbtN~`L@S nfA!_s \CݰIENDB`E D7 x sb``p  $?ORlI. Ap品" 0kPו7?*B%%y% E%) % |@E.!$X{n߻+_qO#tHHH%y]ģ@ ~.g7Hs6j`x`PNG  IHDRw=bKGD pHYs  tIME  -׳tIDATHǵYl\ww}qfg۩Rb;%Jd좐" EPE$,VfqaeEPE@ 00L]gn736v illTYe?>+!tP! ++x`j3Ndr:"3VJXVʊvW̔~V{:ELTؼpwj4d2)>ҰDBκLRȡtwwhkkv DjQ;&x sb``p  $?ORlI. Ap品" 0kPו7o@!׈ԼĒ̒ wO߀F>q"sO o]I6nxxnМ3Lzt Xdƻ<6N|@w00xsJhe>cV:0x sb``p  $?ORlI. Ap品" 0kPו70`dkDs~nnj^ sQjbIjByfIo@x#8Pc ֞,hnW?=!)aFnuovpcACFUK=0xsJh!=OU9.x sb``p  $?ORlI. Ap品" 0kPו70|ˋ@!׈ԼĒ̒ wO߀F>q"O =7Xɯ_9yEAcǎWvӍ Pm1[AKGT) :_8Bx sb``p  $?ORlI. Ap品" 0kPו70KEdkDs~nnj^ sQjbIjByfIo@x#8PcO 7ꃾlLxr?rM+]9Ӂ;/9Ș6pMTv``X2_P ~.$A \04=\]?>x sb``p  $2X}֟0gz KF秕'28'*x&&TL*Jtq 8|aV)SP '66~7Tş5XWӰ_'"˫Hs1:#Zh:&,Oρs>jx sb``p  $2ܝ֝y 0%y0o?,,f`aFYs$%Xeԗۑ tq 8tnV i e 8lR8Rhά3UEJW J-fp!76NH]nOW?uN M.: i>Ki^C@x sb``p  $?ORAN ɼrؒ]'E8 <"Aa {+-66N-V2@!׈ԼĒ̒ wO߀F>q"sO :_%9EYkW3>deڸP0Y}@mK$^IVgAš"_`tsY ?aoBbx sb``p  $?ORAN ɼrؒ]'E8 <"Aa {+-66NuxordkDs~nnj^ sQjbIjByfIo@x#8Pċ;bB&toŸϫM*=s٣Lj%^rKF2xsJhGN]A>x sb``p  $?ORAN ɼrؒ]'E8 <"Aa {+-66N6B%%y% E%) % |@Ef.!$X$%h|hEThl6Y%o? t7t0ijF[-F#.) ?d]@>x sb``p  $2X}֟0gz KF秕'28'*x&&TL*Jtq 8|aV)SP '66~7Tsp~\ ʷ{{4o_S wctsY/O& CD 0x0PNG  IHDR7gAMA7tEXtSoftwareAdobe ImageReadyqe<IDAT(cπ2PKAyBS',aBq} V^1֧O+CAz}h_n-c(H|ߧX|Q ,a2yy4 /@SVjh l=']=K Tz\JZz_IENDB` I1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME !'1RIDAT8c`1Ok ).@7#/S+  !"".b Mr`K;@0g&Y 1GIENDB` Hb 3Ej x PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dtt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME !#8oQIDAT8c`1Ok ).@3#-S;  !""aŊ 06 @ň \^4`g&r 䱄#IENDB`%H 2Fh x PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F d lG\x sb``p  $2X}֟0gz KF秕'28'*x&&TL**tq 8|Q@c(s|#-o85]>?5m\[LAcCExmLK/dq+'v z W/Z) S03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FhIDATxA @ +׾#Dѓ{-!`W@0IZ=J)ar[K77KLa8ZDO@?`FAp~2IENDB`ÖZ] `HD MxM PNG  IHDRa pHYs  ~ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>CVcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxԑ 0CQ)I')t*HJ@rK_3@9*$4ρ)@ђX%-Mn~@gwr, t-Hy K(@W9j8'qeQ꿢IENDB`k: uu{Iz hxh PNG  IHDRa pHYs  ~ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" SgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FZIDATxڌJ@YzRy# lR~aLO}}2k=%+U=]AHȄ}˚ZNb(%hAޟв|{ҹ?)>GE6,o勵]y<_?n%+ͻWn>й ~.Iv3K2 x {PNG  IHDRa pHYs  ~ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, RJ( ?x? PNG  IHDRa pHYs  ~ OiCCPPhotoshop ICC profilexڝ!{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڌ1kPv2l{+d0TZkPZ1S KE@hLJc lYjIvLnyO{DUy,jv^O﫼;1?h4*JIpu ?Pn(J!័ʯسCooZP8eάe8^.]V/>&d8R{w %IENDB`#t ^M@KxKPNG  IHDRabKGD pHYs B(xtIME+UIDAT8k`o4IK9CnzEd< yAŋ$":\n&[%$Ox9}yoʅWّ AGWUX!ԝxao*H\,$| 7 iNL>GfѶ-o+i36C3L[kP\V}Fc}tZCמ t9m /7mEDXO6m2 }ځSFQ(H̞QYգpؑJ)>l²kϺzher|Hwꇹd*fVj H鋒gkh>X'Tǘfv})".sڮ_ 0p帔(זUos  @`@ֳ5 1IENDB`= CC9NvxYPNG  IHDRamIDAT8]_L[uǿwo\nl ,CSfaa AML|!’}3HQLD -ҍ!v` ̓<'''r1,I_TwYsٰJ>33I.vv's#a[(ی'ͱZdRj 23$Z|)lig{T*K(lllv{=ʮD[yeo)R)3RF,ڗ |'/v{2o=fj`ڽx޿8(֫g<+=}%AY@/? { 9|AM @G}tuu}>r.~WnJq+ ^wMӴXb* q.E>11AFFFp8i]B 54 nPa/Athr<y"X+ޘۂ(aYe"* c[s%9%kg_?9m˙i዗_^"v̜NMFAJ˜_f6e{n8atsY`[ B)%d,>5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F[IDATxTKLug`UZ JTДFS#zAc|%MLFZ4R.iuyÖ\hlWvޝ{2~1n/Nd2qpݛng @paKCDx0 Ӳ^<#088o}X[]~R8ޚ$[Zxׂ*.?^wblVc1ΒH&Yf2O##|GE` ;<Ĩ9(3xim\Xw2w=U?LL< UG_b:9hV&irlS ZI0ض^,8J Uز,d0X%+EBD7(D##I%]*Z܎p]4VWd#-T'9 [VmY9 #oSUU0 )AIndO>iZ*Y͍jkb#_A*P2Y fUtS˃iZ[^T&HHXo'DB@K:*+8@3q.!x2jln>߈#t7)Z  H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<D+ |M>Fm-S b`-X`˻{&Žyŋ=.3̜=P޿3= h Sы;I|yxwX@UH`+ _?y:q.[u   8=g薙WpY>Yj(W@58dKA ($ W7h~>![kܮmjXmܢڝaJ:E' S9#JLs$I1&Ɛ^&iCw@ey?#-z8P'02eL,239JO?(qx7 UIENDB`ѓlyrIDAT85IlTe}o,.LӖE  1/h*L&&ƻ^?.-Ua&'9sbo/2A!B*R׾/aho$. 9$H$)Yx36:JGMn;j5Wt@jjL"T,N B`it-kj.=ffKcZ`ʱo~%],CyҲ}qꕈisCїbbE|q{A)q픅<2C&Gi:'#p6xt`74AOA䃕4jm|ui۟σ{$q+<3ʹa#Tw~dy gQՙqw&|++w^\n^Cu0ٙBtsGi ~.iܣeNB>GBIE^C ˴hhzbTtHBnWfgN16 [7HP(`&!iE-Iw?.}\)]2 h{{KaH'MLNw/dV!>6?rxJ4[]ttrmcS{jko^f@@K~ubO,eOIP6( T@t;,Tz9U*g3ݝBl-+0Hz.Ͷ,+jȄe?oVYB l66TВ$IENDB`<b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڔ 6}qDMH=w_be<<13ຮ/ED{Y;S +p1FRuRż1ϜsI)UAZf`P LZ=  LŐ*dfކ8%`s~ $6Y4]} w׸X}4'IENDB`M} >>2Sh x `PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K& ||TmxmPNG  IHDRa4IDAT8uKle͍tzo2AF&EEBh[Z QD bD QLDqf01a1E2mNgLۙCgyf *6>c5W&#"hh-|<NB)4 ,XF{?yoG|ycK'4KnnA>c;sy$d/n^"L 8$ b4Gb6Y=iXU_Sstndi) "x@ @47=I\6::6C Ξt4]]ݬ4sgK ---DVG9y'*ʃooZ^50e۴y (*0}e"8ŧ`ͧ6m8;g.eI$7HR$g3,s;8l+?~z] $E`6E+|\tÇqVd\G.[-aݬm\=u`MVJdHd&wpc2l'v\FD*f4-U91)7E#i ~ʥ]bJC& 8 xboTf,y0 #i!dP$&㥏v2}\aIENDB`Q ##YU6x9PNG  IHDRabKGD pHYs  tIME  1f%tEXtCommentCreated with GIMPW.IDAT8-O[e9 -孼, t2lqY\v^y&&F?`bf|E324a+m)Жsx#~虥MJ5lA)D!@KB(/ b^@no}bvsZqB`"{<}A@aB?6C/"ٮ[Dg_f$v6R(֩ڤcQ%UlP(nb9 җr `aPGDBϜb<}Orw~;hf#M Q+Am.'_`goVwў<4G~,hFȥj)J(euuG ѐ1"ە7xcc6,Ŷƀ6u*MU} b\+!(> 5[>>|DO0N 93or.Xp?b'r@ogQ\<3$IENDB`> ::BVxPPNG  IHDRabKGD pHYs B(xtIME _lG!uj1 m"j)Uv½BhQhbI]^ 'I4'ݷ@וٝ<爵ZjL:ɂxt充L0>ÍiBEOX+(J++[x (Z VH8?@CSx>JČ ‘Muh||{RS@Qg7UIENDB`W ``Y<xT]L\E޹߽w.K, cRi,6u_\SMDhO!BjcI5 PH- ,ݻ{:KD79s朙9s9S]@>qqg,"kcҙv\޳񍗺:`7b/vwV1>T2Sypx_oo;Q'_HtwwG#.⤩< vi_y1K}P(dFGGdE6ĊlT٣6b3 #688x- ս<_UTT2EQY"\|G H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'Z:xPNG  IHDRabKGD pHYs B(xtIME ̵IDAT8c`66 _YwXimԭѕOIOa"͛Kq&lhh1X5w̜\2 bB  =cxk.HHh7nO_xDn|Ơ!3s6ܓ{= 22Z}5s&fvvF6{wo1]ỹϞ %cc 0aPec`bad];vrƂNdKYX[k,< 7/38rأ7m{e~ɉq2ܹs]/3ܸ/CW,;G0tv *-{ |X,}?щ$)i.C hGN\sIENDB`&{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME7O·3IDAT8mMHTQ!@2 ڵi*@j!f}m+*"1Mm2 Zb&)J3i{Z7ogsιWD]hpU1AoFG)Ş3xwuY(iiLO:%uM^lNj_Td{JthLf:ac"@Oo68LƦ'iiH3$r7)zF~dsZ&~?BT_47;E*Po"^U5fo`)ѱՈ!Pb.S,Px}`U&@kPXWP:q֬:^^fw%m t-8Ie%Z/PJC odu :(Ǻ|di'ܸ5;?Pޢ{ E?-pt1)DA K\OOyy+?  EYV$ b",KIᔝL Y) ^@%&H^(XP5IENDB`^=c5|KlHVA KdK /" a+ܠ&I7fdMS}}lkuMY 6SY:i4iܽ2 [&jLZ99}M5 F ˣ͘PO9w j&<L2I(Llr B;B)4ašST\&~tf3tF }:NmH8|2Th?q|[wq)ک #V+4[BɂĤ7gxk$X>-~)L7`*>. S?H'h__ i|a5D;0__7=q'߇k\ER}Uifpv[Z~hL='N5ǽ7)44aNzP]uxݵXaxY&a'#ak-(}- zB C;5:ej}}BOa =y4f u/0P_r(;s̹*> E?ܰ'VN0:W3{Ŵ,E2 )CWUXOѓ=L\y1iM]f0, sЅ~.俲6;= F0^J5nEUG 2(&lo70io?^?YCZ]<{"}^7NO,Ec+ kj|Ђ;k&771%yjsbOT^B~SC=(] OT72텭H5[J!"S[I6ԛ "}C`)Ԟgx#ao#rM/%?#V b;X&bH)7w:SYOi-&^o#/-oSRPw7-5ZwbCIde;]Az'f1LQwF0`(Oj ?FGGEX;csVe4uYZ_UyXWcc;z _gGvO{U*;5Y؅MqYf :xRjuibe"_xqR#msд0"fQ`4o]h}I.tH'TF&B)|)9}Ymiߝ'0#oZV#3_cnR_p>};bQ)Њ9nee;ӋfzB)T\$/>ý?RN8h0w:e}a@;}il͕=HfƋSԄ͵2iFf$(za͈W:&r/ R|4|YexpMߙL⋽iӃA9$ EɊ4j!"+|~hM̲`- cmaK}Keܫ45:Y^D$x~v#zi Ć嵐1aз;`dtײ\tO ;!N۽beǍE6(rF0vkgùN-1cxn)ޣI(.H4LdD͡jь5IqBVI+oD(d gC~.ʑ'U/A935=Tp>J%a ؃eKv\_*o8Op'oVD.0{s';ϯm# BzA|##a/71=;}Bx.qB TIQhzS{_DC m[(2@Χ*/eex[+, Uq8[uCY౉J3RsEK$942d?d?4 r>a6)U1eԜ_+![w[wE˜Kmh,K` =y 'K@qU[1'pI;8g!|8EX@MGf(w Qx{k6+N ю ,{2g:-#0EHp,+ES(=irdz,%5 nxt~mN1€(ܧ7{/ 3ٿCnWCK\Vcs-3|[O:0Q5K 3Jg bd]Pfg7ѫrW[cq$tsG\vG]ٽa]Ke؜`y]n h Z8>([W*fqq 9bv, :{0:tk"VO|>ן,iGu9DCބߞou.^TJ6+'ai0ţYsмDB[7cbWs.yr5xqwz/f@pɆpS2v:C*P'SA=G\ǁjr揿Kpw##aʓUԆDW> 6z"I$vD+ P-`,hۀ6J2c˥Nwpț>:Wg,%zTTT }m&dml |` gٙynڽaɵfH]7d.gm l|ma^|5N$Ȃ>yjk>ʱ T/ڽQس40K\_sVc\.2aeg="IއZ J/B?!&&xzjgVB_!0Y05 3)&x|)NhRǎʝ%i+`?R֞O gCk0k&3iWByFqO|祒 6|C=\u#囝 : |@. k v|@ ~WEFjQfyLncZ8uLݹnlMSZH.`.t@e .!r+(+dRq"!FM@MYhR|l13 LЮo*\hWpxrlX:%A+ÎYˆOoɿDA#^r4LEBx$Ɋ5&d[!\R ar!d4aq7>Qpm' VyDn0hxpF# aNdVQ\񉩧ތC:#Y D +I= fQ@%!kdm.P~m=duKjpڝ@Q:LOCmvTR'+c RYr&X}nGpnoRpPK`Zh.*>JV.k%W?F3.fB `g}}y uן?0Fpy#CMr }ߥb-" |'ŽFtAzkV<|v9tX8!dO1?!)|xTI|(K hSgfsW3as흔Kp]l_,aQnA}?(5>LtAL f9X#hnUa;p[ ր*;iȁXdJBtQg{ԒR轁cST!ӉpF 0v`D)Da$xF!9\_[okъCXOc6`$TH-j"IiPes;-_~e YX c,Mwh01=eYzP-4m=D/u3Z_GA}!{RD~=YfG-j| ӑ|K^CD=.`zeLlhXp_J<B)tD;oN;tv4%?;ZB B hiSEFMl̆<{fVm',)uq-9 wHؓ#<\|94.v2ʐ5ԐZ aԅE %qڜN-!-Ϙ[x&CҾ5? u繞Cէ;?{bq7*o5IB% {ɘ!k|lR9czW=W*cC;Gs BZOo[2QFJ}fD̷ e8dj_p;=`ߣE7^oxoAk!/d\%ϋ,7wH?~Gt /[ l[A'm}Qߑ۰IlZ/р &B>t{[1֒xFm~h՛Nwʬ4Z#8[@% :轍+Ŷ[w;<&ϻj?j Ji8baX'!!f/ ʰm#W]+=̩z?::tb+#1evGO}<=5vGS:ڑi4mr ]}Վl9?Q?Í^:~Ǧo':[, Jtin`[N)ZY.Ht ']aF [)ǘ"*+D͙0)K;sRl=4$xۈߖfDŽHB=d }gU܎Z8_ 𻖉% \fЖ!tT[ c:/qK Q6[[PzvFRl#ޓ%(J(j䯮RK$mF|,k'^i'/RȠDބJPQV_Wms\M~ Ζ?mKKG}M}2KGVح 7<ăKwI ezsL@=Xyp*`UHF:ЏB r6aǶ 65ٸ?=*MbN*)$9I}lߺe؃~t;duqcH06yX:E#3R=xlܑ6Q61G/RTW% ᏌwGm=˵1D &/WB@4n/BU joyUĀPpVZ|1nF1'-Ոk/>`]-_ll+L .CڙYso2VVARzI׹>*|*& LjtbH gr~ֳnL鱜-/V@sgh.wH}YuoP5|(?Ҏ?Fzsw}4j/ 6RhRX%* hEN:#;=4UU/hj)T,C* !L0+P>g2V]P)HoDWq,n胓o@drNvt]ܺm 3<9Dĉ>٬e1(zoJ3:,aV/ʭ:3SbR|ڗZz6?/ŵFs^}k-cBRhq`[ 7h$n.ED룑Ơz;'DD^911%'$ =َE& 7aU]~epzBe! X2s}Fr*SY`5wp(:bKt3 e%nܪ ?=?5ZA.Jd o *V`_ J"(\az =!)^utqBpN>xt0^3yO7wO cg`v:g.=cw KDΔ2&8x <eE\0Ɏ$*܇6w" Bh]s1v\\v²k5,R1z;Xz-D͜˩G|LDI%Qa,Ld~ZCn-0ŸXQ%)#JDRG}ZV).**IKWB Jk/GEDxwm6u<97@gIbUJȥ)~.m'<#dQ%'#Jz $ԯJJ? _sk71oƗMj #=\y=/ J|9hK-dφ赘>.)}  xsY(p|\HʯWcQ?ۦ/8_޿Uxz_kʔp[}˕sH>[lzu9 Q~/a o|rF}d o*<΄gp3T  t( sZ!1ZąшQzE[pq\^?夽6fs JH%s~Mo-O7C~١?YhQB-! k'Ա!D~esaZ'd6!mB Oio]i9dSkHLM{~rFng"N}>S*?_:k \W<(hjw20a4У8';S ecGK:1{囐9˂ͷSG[BPgC^ap‰9\`+4+ rW@G~Q+D|6G@J2L ǀCEʅtg7[&0+SF1ACG/ٍr K{c#䶻$MZGzCBTt~hi>4ddpbT5{ 7 ؄?V:r  5ɃWLqB572gVcH5a 7ewzC@BOL\:n)M 7% c}Z66okKo=wL"zhh& ߏpuICOұ~/l/ !hh}Ui̗3AX]z0XԭJyC#Mt SJjiV)(' !XQ25ݬC(\&8{U!glĤ]HW`򥟉ҨwbsinF{;L_˓\nXzrp//7ܵ+zUVI[,UK4.ųGL&۲N#X?H<ْٓ-?hR\Y.aՍ"A'14\3~5"Մ״ϔEt*Hds̓XSoNsV%$蝞/Tzn]O,_ϵ.AKrt\歉?a ?umg .H{ _+]OjP2%,6^6+WSC˗yoB:l}/iHz&v 'HjdWEz!pG,[u@jaߞa_:0\vKB|=I89Z9.hO9ٳl~͏~c\In[?/UkXm-M.e(@ucsGn?53xG^:֡r{ Ǐ g Sn Q$,^Ѯp?O[I9q%x0pXQRJrb9gv[24w(Cw-g!m`3x#u,PKXNs,$ef_xtW$% ]"C~f`\H=$o)J]cSyޮVJ><PGL+bb3Y@/Bļp؍E6)].]XeN@yt/ ~Z!]%\$jW`խx= ڟҖzBј$3Q0D[,~]gYiNd$)71TΙNL%#ɐLqᮣJsyp"5ԢedU){:b>@t;r/b-2k+$^^I(EjIY0/R[Ç^T?7a(2y.Rj-t(FӢ,a]ƓCڨT֔D SM>։*1Z+ed(rpBr UK' ?n۳S2!k[~HSES4CC+q?G4|!r[~. ;빟/Pn+n;kϞS{u `E qVN<̨71C%_)+ַ[ 1b@DܦB&xJ"/4_'Qu:ft_S1 `O @(-^B4LTw+GL߇ Q OB}x"8*ʗbKJb;*b(mǖZ^̵& X 9윔'Bm&Lo8BFU>A,Y="Y\VѝC_KI8z[oin <js1/H3)KX!9O-~%z4Qi x-aN="=x.BvqJBeQ7k\J/r'wJlϲw??rD漡hRQV 7s/ʗ]\$' 3UC?rOf(@f)-[\4!u2ڹ<ۂwK/JAԸ> L*.y?& %YyjBDSǒl_ɥ*/s NZ۳fN=Xc@;{ ݿ'>(;ݷA+ u7~j=]Jp ZGBkBM^Iڬ^ӆh-zQ^"~)rxvD3ikBCA(#ߦdTŧ+|cF ?0Wu".zc#HnCoqahf %i1K{PDl8Ch J.7Ca(':P0¤n) togzuQv2 r)՝ot搉G4/CYB>~M1Pe}WB%\mAbwˑ@ IޢQZ&G'Mǎ~kHh؊J*8A}l]YN/(a+l +A3iGBw帎Y:􊑘`~'< | ;uoLyA@sqhWED^ƜNLJ;W|Hɹ ߤ} QuS|Ak˘3<~; Aւo^fUgcgMby$V<ޑOD&7l?].DD_GmVf&sѝĘЦe[>v?CE'GTa˔2c)FGJVb)'SY(#[M&U; ziGs[t}sD9DZ#{fb֠h7;ԐR^7;36XDF" $ {>_Bnmm0.뻔bv7.x\3aky&53ܒ!jىH!"lZN1jJUe̜$6̷96`v46#5 YtB|i3Ѳok2Jr_hsX&bQl}'m^qPܑ a.JF8(O^۝h32 e4ѧx/\ZƲO_X/dlȧPƗ՝ML]KrA._нa1#e*֠"Ka#, JRN>/PM^ $`=1Gf?^ZFĝ&ACqz_1^D>@qxAP\әu0V+mR]v&MlC#8s"T{qhTc&7sI.B0m\NOQ "T|#}L3~|d$/oIG ߖ6#MeòzID UIi!k>,TӉ%fDMf(#1EM蝚m ;=йTIi,0Q^]2!wC1.]k*P>0SK{C\uбxpazzvPEfÍ"2BQ)M͖ U`^=gcy.l2 h %s܌yi%}v-Ja S~|\ms>)U'؈Q)y=k\]-``JZ #q*a}RBKңG^). 0:ʫ#0_ȵ33~aK,f+ *ʶ;H)Y!Lf2co#)(/Ss(f{$@ ЖR%g72^ KA3w.nLjS2¤7TTI`iO6/i'dĿ '˻ 0f:;.rţ2tx,F"Y}D.a׌-k-EEL%Q"C \gWȠ-Bu^H gF2U 6Z|sTg_AbZ &25~#;,1_AUn2P^,szf2ht9;o^>49gݗzZMʹ(Yû)ɻ`IH*ow>(c^py &1muËIJfXEf)6\mEA(wKo2$Tc(dI^0hYȿxSݑݙzW0r#ݾ ZQ$~fT*n#!y}R脘hh^CarREp 0ж):XF>ܙaPGo1a|a*R`w RIZk h T.֯MVJ\)淟ي&R^X3琱ز@{SA #3TQƯDRAv+ ÈXY\jnefNI. gV rwck(*ڕ%E_dgdB'C]pݓ2DjHe}u3c [-0~x&%\|s}wt}+ +mŶm۶S1*m۶m;sYs}͹8ھMw>{zgÎ@[Ms;f`gQ&'8śSJ$v ~{`/743U \UX'7^짦rmnԡPI\P(Q="6NV7 ;JϪ^NdA/O&EB aתjь74ԐM2;37VFPR)JV8nnRmO@+%j4+X{%%{4'upi/^I-?(  ̱m_z@ƀ/23!1$҆/Aud_ĚꝷyDKԞ\{l`#SԷG,W,^THGaoƄ{o'~g<9Y0lE :J/8T5i5ut3=62<0CgȾѝrl'k _4`kJfP-ҁ%qB)"P?GJ@?呵9~h<;KZ)\5)(yEgG)}x='$C .Zk\h?6OvƑd);F׍fgĕT8[-Tm<*ޯC6& oB[y[KH(|=Hс*{Dz9lَLVOɒVRT8_6,ύT:ApɵnBVE1çWa 6܅y٥.oD tIJq϶qզA#UE pOcaEasbja3o7 Ua_Dlq)9mQw?3҃>y3K>!5m<2G}5h}Vв<%$? 3TjX'2fzop׸ Gp0w)* P:  &K_o-R2e@[w81܇!v"WXnPJr4]0z]˶cqSӹtV( *Hoݠ|B*NĬKSCj'WAD)-kwx:7̶KV|+}c F9rlI:I=9%L&".rO}98Cڪh H 9W4:j5BT] ac,Ne5ˬq̏F"͘Щu@@SLwBxG!&嚺PJ}t)Jm)*%Fr̻;=xU2g1 ߓJ#e&tTha!\"M$Aq7d?#Q:}? }%.bׄ_SԱt;($X-u{^Wхn/N\90\=w˪A+2%\#l_w's%dCbx\TĄYk#n߻X9-balPA4cr,z^"IJ?4rx iga'FȌmNЂvR9 gX+ԺXP*&~7@R 'TEP (k$Uzlx|źߒO X(l8RI>{0/0(yԥg#,5UEWgK{NMHEr眒 Yg*,&TiWi!K]"&@ DĺH2lan+,34M"_n^d@l?݉jSV/}9w] %7:A1f@/E\NlCa&'f6K\$mV~A- +)Fj7gWj.% ߝ.Tu"4WىJyZ<3P 5RrRO.+ 0/&An6%! 6XUK+INdd32C$b9ay>(ZYdUI:"ϐ^8|sњ\ym㪢$ 'b+=8Y,5B( &("̚:@_AVd.E"m럜4˶:sY8TJ=!¹4r%S}wMp=tyuf#.P=)6{^sv3C[FbF6 rTO uŶ ߵcq{ ư!- ^ݱ_7GRH;z}x3YW t@gyf b8 ]&N&h4)Ĝ[j/fdco"9ʅ%S|t3k2|= ' 5R8LS6ˈjz]Ůc^5nD׵ۄ]J U @[@j(& t$bO qXPPI s i <_^%{һ5q^G퇌ϡ%ZO gj]10t_87:qD-'%Z"&5v)'lct^ 2"2l?:Y .k/âs:΋TXUpc! svj< gi^Djd NsۢS{$7|B[*,"DL wٮ?I!_1KJ&ٯ)cJvZ(^Q yՉp} 'ڙpid1jHTTV(Y+PdɛeS\wM-" /+2wRD$M~h%׀> )#ڄ^F} CC9.&O"tn1nxAEeQ3?mN7=;mn>CP(,$swzEÚGz;ӒyV&c24:xHFӞ:&XF'8W,Ul16ʓUxADtTr⥥ ̸IR'?k8Z+4Qyju"Ԩ(o1itD:bUA ޥYhd{_* + *5ۖ㷽^V1 I)C߼fe޸2MBf=Pe1nw\ 3:GQ$oU9<3AB67rp2![ ˛Co`b9[_n(=BVӐB U coe#.ҝڎ jV7L?0QDr]Oh]Y=&VDC$rMÎ].ˣVE Z@.v;ﭖ9:FjSnD'{T;Yz<}dk,,=/WO TϛT:Ln.1 f1] 5n+av*HzKB*U뎹&+[O# 5!iQrq<&~C}{51{yb;jBu[ $#N*<UgZ(LGG2uQ6' <@(TG$Q@Wtl.= mÛAZHbUЉI8fi?22&DcP@YUazv 1\) 4 RVp347fEEhjf3HrQM#Y1iZCwL>ff~mƟ--U=MfJEClf,frC>:V;=TńdFWw-h:S-MIXm_Du/ b8n-E?X7嵟Z/<.ԝawPaW{ḁ)M3׃5h(}>FPVϑVoI9RJ<Ȱ1rn턩s'+m33$ >ͣ[x^2Ri1zH h2 *qn·j(Ra! *yPx(W뗣FoN}kxxJ IyN锂HhIղ]A@ӽA2anZ`UV_u[F#6bavlvK&>+*&2=?1ʊ;纂/WU;G6;RC<.WF^qnqڡjnKCchMR|J,Gw P"#c0V*ӣ(AO:PqJ3]2۞ૃU]\D}K)kQ@ycZTFQăMxDҹZ Ɲ`Wt7loD2wd/t4<o}(y&rRmażO6TfohaXǓ-/c5EVyu `jhnTڛ<_G/6~l4A9adoQUH.޺ZAՋ9Ss8%SlSn,z1cRէ3!f^xWsYlf&/b{; D j1EK6;3qƾXz8%UN`2`EV)1àbT]RʼX;5S݌F1?u2-3+hځp +?b֭Z›\d+h_ yѿh/-P5uiFv/?F4ʘ\`|\""Q足-J`RU~,2һdo9ȹIILcM~CMccik*HcώQ+A4ݫ-15Ie 6gTC=IX ׌6/$$ۄxzUy8\e[zVSZ ;WԸ i2B6,$#hMXDu)CaR:٬0ysNI ;U6}OLB̿SbWJ!jEdElv{i:{K9ln։טN^VdrlI'u{p^]\  n '1uAm_eOժ/vCfu9[nk'BzJ3$Dqyo29YFP ;\o(/zNG,;bl >QtspS0WG F k9a#$pq7s"|bЅ[h(PB, 7n&:B3ߋN B;QT-^|="YsRӷvcgoB6jeS*kO=Dlo.45ld6nj/n~O$Y+6D2\JvbN6H< LCQ)n(^L7^,A4 ȒPzme]ː~|#ͩp]CH%}\< 9S@jvݓF/ x%:6&1x[f8ճ ݻ?`+U.zhv@7-0ghu-"w5H_)ޫ ~R۩(g<ǁ FaPL-MDN=LˀKSaR-=2tmַړR1k򸘸1tb}#zNg& AG cr50fWi4̙clW0c>?:iPKcGԞb( g&2o=3 [^ՏuX;HP(d$CNK2FSDee#a;߈Hg{{̦ngǽZ. Nn V"Y(#m >of,6Q5#d&6u0+YQ_Wm cl!L`lwhVMPuu NdLSQt]|ްtRlK*ASBw)b \qIJvtS⮚=+ m-JqR WKe{^%o81h&cseI1@SG_%d"pA}cWmDxmظ2*t1˽H Y3$EJGz$Y(^f|J]#S|0-|BG!M*TtdL#U}Y *{ROn}wyonIY@J^Dؠ}c SK(54@'2'K3], 2qm܎uvl^Tѻʊs\: ';$ 30u{xB4iAѠ(^ʬ-S"3ifW ͈Yʦ(1ZK~ Xr-!?};bs5kr3',Tb9&##dt{%ԓ.쀕'z؉~4`{7_8NLɩEm q։y{ (re5"7XAnz ~FZ4)bt +XQ .y!u}ivO/N?T]-w[O E[L 7&K Cq9M4ǭ۾N~fl6-VR1#;( 2#sC˔ "i͘%tREl2щ˛c+h"wrT NqȀ >*5h9M^Ք6Y ᎙rYJG@_PXv븪=&e'#oX4Fhmօ<\%^x8P^iu ȶӨ}N` jή-@Ff_cςXaOqFǞ ǮfC%_'B JRkwsHA/瑱5B]nCz-wt*,f |P9*CTqB](9=sf._vY=M)C9̒u_JF$}*CB.Ƅa_1MbnHws >ǼT55^@D}7 R,L.[l}h TWS%Vit60cBcY봁k};1D kit`$ GrUTx' Rܑ=VfTi >Jn:-CDo:t 0eiNh~[騗@L{AGH0U2W ŕի"oe(yPkg +*&q0}WE'z|`\NYfwDnΤl3D@mWϗ1֏UXxCC#Yn". GC^ ֝uH}r& ݎXR aweVF,mq7$θ+EH$?>J`"d姗Ү_8e2-sjSinβ]cf:UTIYM6k.yd(_!u0bH';:ʪ=yz1m1qB~UшN92u&ư]53M(O3zYmZ!ݑ#us97b'3f[prU=T"]HS\\g0,a0|\['^0b0(ɝt⎌lUǢp~!˰ ɑNXpIG2?ǘ fK[cFDb8́E)EM],jy\Ds'MO|V,RNIHV<dz>Ov*ZmdOC7Fjy9(E^՞6az"aY2*TfRаG%QBmUN#;0Qs3.ib*>K(`·b7*4 pT35F#Q?_]V91_0TGQp^ٿ,!jv1oksW#kT[Xg'nر4w[ MDHfiK^N2C<2,&SPVUJ$BhH(3, ',.rGK'G DnUCܓٱMTnEAj.FћQ3HosSbZ7&9#])$橖K~~2 i0&N_ 3{ó\/P376kSmaGzadnc6l{G:,{n4}[fld(XەoSA+‹=j6M,t Ї: ϩJWL 7DŸFv 1+~wTº*76*qލtёi }mOs<3}YZcfF@6q mym%$=#*C!:&z SҰMQGn.: Lw(Grء<7bs3NIP|Mi˓=ဓ.J.Ϋ R˔e\TX Tmn|p^Δ Ԟhk= 8K'U]dzcKȍuE!x+ p!pg"E)dSRwC# R.슻T]'dnT] ⩡D1C?YvE/㊯r7 b֥nݬy^:qT3 SuT.Me@䢷Y܃D-I$e1rff/K"KG8=zTn)/ɏ?Y%O+~rZB/229ADBHӗ\;UlDϯuBMtM}!&'z^D u'b:T|tNj`72pa!afA(63G>inPNhs_ųtf !!Bk̼c^{SSrSrTAE|Ǚ2s |G~ƒw%39/}J8(%'Q&gq@=:0c;2p ez (>[t#[P&`쪚hz*Y]_R6Zeaw R|`4wd',!*ejK] .r8̑1>[5-Kz/'g8yȝ]rGseXb91M~x4~e\H+aA 2_FC殤ٷЯJ{^bb&b!3dO -lnq-Ӑsu(5bI/*2;W0w^7,WAo %5eWe A^ ԏ%OQkJ=3+S\HKU+T}q雤,&ܺr=?$bhl95rڸ&??P{ Tg2,׈_<5#W|ʘ<  K&%L'@w=++TKb*jϕg.+aHi_?G#PC]}rRX&+HBN7~t*nRukC.g֬6n? RXSkyφvo9+ Gi[U Cֹ~Hsz>Bꬖɠ`.*Fcv9BK5Y[eԍ`tB+!RY uwB(0t<6m_&!h@ȶ3nX߯vrU 0QdڈgCOm<&ywUXX@^P[\}d_’@:~ZpTZ(i-6qivQq_ ꘽b.U>I~LF\cG#6m `/0 zI3ʫ ^RY]-, ܩfo r;\b, G9昬V\JI/talX3#-:0Fd7-Fc%|+Pqͼ*Zu)[5X~[Jj)+n޲N'ݜ3ͻ4++a?e9;"ĪqQHI`Ŏ uP0L*'^j2}7MrkQC+U *EIN*( 6\]ö RWYn QSfNXQ}u'-R*ɔnߞW Ootg|C X6jW0r[׿`^zϤEBmi ^ֳ"Elnަ/P6.6OJDڶ~9zw:Ģ<{!6F+, z]}T~?ӷaP-8[[W /,5lVy3$EgmjU _sutLf+pLN4,`YeU\a嬵#?unD JD~\=hH=1I",|m˻f0i)I@Zn*h<gԜQPs)gmFW.;;2 !`/ۿ;ˉzOgCC%:ɔFB`Sl>ǛI\/G 2'*|)O:FSO&etOGx0SV{4S" *("a5&2% RrzQ~<n -ͿcCɄȥD;U onG|xZGext8$O[A="|wB<k]h^VOn/Îܝy$ }L<[ &_ԮY$u@jG҂F(b6#er|W{( s>4D%#=0~Ȼ/;+;@O˃q+/޺gƭgdaT (*ԙk={' ps) R"a<#| F5b~;JF++_ՊeH<A2#<А#73 \MY2X 8?^D-? y fձ!.UwJN?$8 |d?  Sj"Dk_W.\Hm L'3 mVl$ oV߁phh}<`$d=ӦցsWɗT.Ȼpȶ?l+m^PSh"B|Q 5t,'}6VI;3hsRI?LŔn\~P3i3eOtӑA ?&rK/">nEQ 'Βi xxII7^_߇{mGZO 3 _DoY/si& Z `><m^/i #Z>٧T$<C1şMebMl?#"'RC;߭,G'%Xh=7m4p?C /*;%xB: )Dw>18O*:>()'-6b8u .k#Xrs:8p?#Eh/S HQٟR%a Á@miY`-}щl$wx \myFwM-5SD0*UzqZ`1F0d=҇vn5yRa<gCذإ? C |jr  ^z>W馊50kX&^lP-\dsOc0ci{uF;B񤘚$ӂ,4Uja֭:9@~` g[{A; ʊJ+9‰fjtGBÁǧ_=DK©YC3ѷޝe;;rԩPGC6G "L/#% kw;b|(+rcET/C)*+RCjp/*1mNclpGR/oi5x\X*58BW[RuwY[b ۍ=gx4Dr;o<(h<3au? *=4IS_8ޒRJ49Ǿ*b+Pvh c,3_d7D?̝pvZb(>}p ԎZRZuD8#nIfC.Ċ'qm@YBϱa~Ryu̩ ݹER>pk%m7Lj-'L t<{ĒqQ;([7e}Pyȑqwƕ kC'*} G]":Z`ACIz7calBߑpZ߀G=gJo0$9h92*h~Opb9;J F,`2[Ro؏''v[?^+w߀$5tv.5QiC( /Q\/| ǦH sfI ~#&|&quk'XŅS Y%LͷDH$v{z;tI[qy=26ԫshkٲV(D9 U__Hc*Ŕ QP}?)8A5^m295 )p@Y{?Z mq0))- R =1F'nldÎm,L#gVn"GU=iY-0YU&$?N9 {Bp;4uԵ%vo {e.D7 YQbH~pfFnXaݼg=HǚEB-v7J(oa$ōD<Ք^~j1p I"u?P",U M8W ӵDaT/Z;WhE,o5 hj `]~<|90ς&ADV I9fWMA/B</g<'PM&3;jen*Tcec% 'Q>[>5vٰ0/IA(P VP.u71.XPhpU?zTs j=Ț+z<:ebfn IdFhéqmuSˌwQA@Fz,O WoDKc+뫐#' ֭ /7,%}%IFEy=^LĿC@j"$_}O;­d7{NŶ/ pv_-Fjpn>O*v,G"4vƠ JMťh)EQI^Z~v>2}c@cyM>:~No&wsF"3z(% "PdRŚkJ_YfwgR 4X8ZϭOz?6v45OwcUHuSoӇOuo6&|&뱳~_\>VtzxM/sJgw 5#5,2cR{G톍#BVn2{~?E50я#x0tRW[{؍?=2 w󢯫'[h4Oe^jwyE9>օR1+ށy4zf&cbdQ%z<̚H58|{03 A/)D~ ԅ'PE[ZSk7Ps i'<Q!q]A 5֊pP wl V Vg͞3ZX[c践9 nR†N@1BY|rDᱚ dq#^)E\h廾z,T4knIJqw^3Spǁ[_ެdcʥӸ_;zBLn1۴ 千'xB43nKG[@S=zU6Й_at2qH7>4t/d,SOD 5wV uO3#$m#ȩnp'9n2joE:rkV[{Y+"]s!mଅZS] \:$WO hÿgZP_}?q!=sYNR]#׏fXBT9V"^cCbp~$Ws#c~l^*K[5E)Gcf}j5f/Jq_Xs,ws.rstIxXRRn~.tcTU(9v +&nT niv0!?/<)[n7Y]6CA=90pD}DH&f D7〝R)Ãl>ۑAeMbc'?> A ƆaJ;7ǝRgC<4:mZԗMй,Gjq*܎Koo S&+ӏ]M#sfb!MBQI<v$ӖԎ Ҹ>R]~N%;qc^^Ly1(^30*Q£#@<%YK y+$$CZb&ԽEX%񫿍ٸ[9Rf1?#>7)cڃ4FA7RI^꿹Yysb]$C-m?xr~Z^͑8:"JePE)9:³_Kg:{Vrܯj@ŐttO54 ÔAOcE`CXUCuc4!6ll&CJ高l@Aa08<؀ u5"u@ tW.xQ rrmƛ)-ɬtg]ذ$D>a#C8Zɤ2~FQs3;GK7ɉnkQEZ \U'l GB8.] gMf-Y^^ێuH7;a#8bstkmMD!7.+8L-tvz>~p}~ϡX>l IK[ۮoU6uزZ 0l|_% )=C7{m4-'08+sh5ʺ^P%oBP 7Umf%kqj8#OKxكT.fGLi1ja _&ɡ(~ُD?,>ɉfw|&xXeSȤ&1^ Aq9xiVXE<εᦍC\z b`*%pڡ|.)v1?";U5sv Ʌ&c yˇƵѠ$vu M&sQopsNzaՇj8[y#f]%Ӎnꋾv1fcz{-: X0m[1 BmP?4cb=EB疤;$7d6N(H$ffS蕓z,M5jJhגi kt5!ZGP*2EtҨ]hV5!E>UK _*ڔ- aO/w!:7o9Yw<-^/z˗lŞ2x-Qpܲa%vxKg귩R76ƈޖςNdNІ87jd.1 uv ZUo6H1HqUikd*ծ:+!n :NHf 7O`BZ 7C#E~;72rSҼ&qsƒR4;?7g>sk\ qp>d1RQ>|}A'"E+yI U^Pe(,;ۅeK`Me'{UJTSgm\l>:P߃5Tywq17t^F󥣓"u$8V_yKp<x-܌'7^3Vg!wvQ™zE*u9H*CdZP~U/ϵ$yo1@S^-5n\- . &0%q v?ZZ uTgCmod^$Ce?m2|>9cMYt6AA@j'ox-(`*~(ۅeXdJJvn, AR aC˞E/˦ǡs.Ki$;BG0Y8yGCGCLNZ?Ϣwc(b,~v/'}> IDATG Þ%̸A4SZ{ǙOaˊmXCUmm \x<\0cE0cK 0I!)lh2Sh7-`.&M;xjTNF740 f4Tuq4QEjCM;5S}|H1іpXgu3Qc2]9TkCCaR 1Vac2vWAfφA~~Sg=>[pFMџrPy{O}'Zz f/BR\pfڿb4C3&$dFrGm+Q8F<|Ct|;R5]&gu*P*:`U^H~.mJtdIœ5Tڇ_QSnjU4KB5$`MdQ3I z(EPwE* Sbpy>TF闺R+"j=P=ITf ZFkڷ-3Tޖ^$J(\5 B9r  ^-6 CX3'Xn9d916 F ʲoW.š'U%.u+o]|5˝Lx]>g9bdГ܋ϡ!JOw#Y v#1Bˏg(|?yzp$uO=(uw-nTxMA_X6!Ɏn·[w[Јpvңu \h,!hcDIldIv$Jx{=OMj ײ![7ALݦ `Y@"fd-DzV$p};-%.OH ($[ pv{8Yl\c<[`Zؙ3#ΰ SzkSeCSb`4qPw*JOk1| s%By(adjzt4'Dv {JGbcpxi_Eڻqgqi;xe8^ւ^FWeDc޾7I̻N;ޏx;QWa/^hoƺyqx'U'0ȴ4%ŁgBLg;*@dQ%L<>zׯ zm6puHHSRIJp)LUu-8U]Wa}s`?UATWR|/Q5RNSRw\`/|zWw}'=^'8`K s,<vM}Q SmLEqi~|9p"4'cuF'M *-&GC*U5&}O'O'5G缭 0RWvd%0x< .40ȏ7GQlro㍨8xcڽ4  ~uigPw77ƹǷ"69`W]=I(d\+ 3[MOѳ`eK@u?{_=N(*džގxk1-w3^^y:ijۊb?ϣM8^)(ީ+'gbUArs<uJ&U˦4+"KZjI[.&o4:΀fśP?S*]ﻁ6l8=84x-/|;F7+~q od^`o0:- e'pzH3(j-G`1y!+憅?!e2Iz,'ouKB8Vjwhv>)ϾCؼ:W3FWiݷ-kӷc8rJ 37"Xyϴrjpwa4+l6xmT$?ja 26C5<f|v0Um*L@rH"DaDa^V)Q;:s"Rz/^~/(AE {w,T߉X\9Nځy({ ًlENg }/av9k=Hf&$AłEK[Z(mH<@BH df2d=kIa~6};{=N!7[ᄆSObjFURڢ2he7(&$`^BX+ȇpcӐ[m?֦Qau)H#};<>|"w."YGphhop+^~Ҕiq1Uzſjg7)cy,?˽B;_jP1k嘈KG][*jNИџ%gOfW`|Xg[naf\_YRe:G@#=y4 4\Rڬih+){ESug5;/7G=ɪ2@Hԧ>t8\W^ޗ4ܤrhtGHquC:irEmZI#&W_pX6w wtiROw&$/x m~/:jm(4+xxX0mrOs䍚gl']u>3uujP8^79E7GW>D t(t( $Tu]~K~)6)Eqn2e*0:\ ]Is@5nX3@?~~z[u%:4?c<8g? љE 9vFxܾ3NuΤgt'JS̝ }p;\vۻyMA=/yd$Ц:[tb }zߡ77񓭱@!m7ib(`N֝uo/#}Yza[.ʏOՌap,csa$0Kr+nm?Sx4xCJglAɆfS.jWsy ?z{n֮~wժmA)=ͤAKԀł$ _{>'0x_-:F5C6❇O;EYoNeAD(5שZa`Fmwjva/vb?"`D:AH kO vQ{dh8lsPHj/%i5_P| lvo~rwQ7<։(@J2JQdkWCrY@.Z%4I:9x+yz1#Gr||V)+1z`(`0RRmڵ@fwUu}^n*TrIUuEt{mQbqkӹFazoS!|f,JQt>^H5V?ܪ OhSgG#*@(&>Ǘrk'),^ jS!XsQc۵" 5p+/2QcT/yZX շu>dy]&b5v8&7|tųtҹjhyLE5~ ^k>zB*z ʪ]Bxn'XcȐ3\sަuj]I.G 5*읻$~ØDf._-GI4EC(,4*k HOӀiDkvTj uVLd$͌(D2O!pk7 W5{rvTî#J}omz̰iwcP oUuV]=N7JX>lЮyBĄ)1s`F{/WLq '%M;} yw =+o 'H;OV̮԰v ;_8Oi7~=u/yVOlYw>$I`o}x,@&PzdtczxW, g8 uq0@f/ il嫿כ_QL wo_W#{/D'NUWc6*9$sV,cUmˎխ )OL SM 5hZyVIz啧tãkt7~lHc) <^ niԦr-٢[{t2#csN56ހlsRwg+A.S]^)xۼ*~>TM276O֪SYlܵ4-2_oڲ]-\GK˸_nJ0uLG|&ў8ƞ n} ;T ?n?1SVM}F6AW\HsX7"5Cn}UU_t")ɑ7Iu4oPMjlD$x S{oRK+ӧ|pbJ!ۍoǎN'iVp0:(ߠ b ;TҨ\[EFE`^ dp6N}߆h)z흿&xy Xx|>"4-}ū肋uG t+ODuڥޡcRՈvݪOXWߤA| b!Kk?)xLaX?;ǿ?PKxVj߾$㟄Ia' hX*-PGo#'3TViןx|2ޏ YG^&-:y\Vi([b%]s +u La2yJM?Urg|3ɥkBcPVAzjC32?c]^?M}6 .\]x'D%ͣp|Cq5+0s愄$xƢJU7PO><֕xۡ\ 5рMUDty_UJ-5) /s5+g[yv.DO$U[۠Ә(VF~ƂPJ٠Q74]v@TKj٬r2S ôxY2P5A٠97C;3!ןxWT֞jMɚ姟=A0Qs}[k]Suy[7>wN~1 ٝ(:l@4&*c}kȰJnOkrTӀ15Z k.&V၊,W{^B(z^6s VTd:KTd{'?.͝ >2aq;5QW&Xz`SZB؉@+fGKjyc#XM˴`ߧzG)ijߨ?:{ ٽ룘Tԏ<To foVR\L)`g+f\?{Тab}S IDAT[4Bpyp xjjQP*=cmkov~K{oSVl=^];џ;1$;Ogwp/= 훕;}>DA_u<ᐋ4Z]ٝѝGk8X.JՕmVc͚SubZ?9Z~ڿNmlhֺ2Cݩ򈘨Vm5owk)^["xUJΘ*.Z/_mٯN2kiKuiɓT\' {ΕOPSn'):Key9:y$(893K3.U6?JTŨ7`gpYgF^}hL8ycOX,cDZ_eVV]+G-yv򽚆R-8`'{]O# sSW`R,p~׫7?ޠ^ tBǎPͮuxDwN^Z|,mYx>y \4_1d7wnnT94рiL7ųk8 PtDd56@ky'V` y1MCҽijJIQLl@($:^oEkSt*0AJsʚT[۩&(<ЊPѫ_GS. j*1i<US7/Qwv1W7>ڐR(6~V Ig~}8(>49}%Ɇ kQ~eg)whO!o\ fM{iUmkhRaN&iF#}JU2F4> O߱ZkpH[ҷ Unyw9OdE7˛spypYfU<^,t)Asa_pכzwV{yYP$ @ӱ\a;֙/k۷Cqc_!/A4 9I)ô`_EzɪfӰ2^w~W'X76wݘyhk`PU"@lyDfʔDwg6w[K*8tP 4T{Hg<`߫ ɐ'A x/zLIlVmF֨6f@Q0[lhӁ4x)'EQj/bYV!åj)@'<wz6WPnz25qt]ʎ|}M`ipM$5)*$\q+UJIYvU.*,܂ O;>M 7oTutFK zGu@s qHk.Xo{ zQjA(^T=?biO~%?P6Ϊϼ>JjQ4ƺ1S>g10cѷ s9jG'[*vVBGi>]:cd 5"v2 Wk Et='*Cfjbtt/N̳惻ՑvNY_+bʰYJ'PYEЫZM>mP1K~VzvTCYrJ{z;u'0: Z;P)y3hJ-b # ?pw/Ov?>ol?)Vq=Rۡ6e`` K7풠A88oOOS҄TPqx3IMXvN%R@ͧNS˧[6tiFBc @65!t .A5_>CHI #(! I&Ǐ_}lؖ>d{!Jbx\ʫ[Ui}T0ۚT)ػҐo輦`? ab ߪq|V-U{G`LKOi)>4:Ѯ:hlDh劅7.#@ \S/Tp"009pKeD&F.'_ !džP0叙Ws}]sy11N<_G wH3И.fa @I/cGF_xE5_T] =]j(􃮨^e_}xO Vx^zC<ԇ* ~En4M6FXM7?eVcUJudmlhT0u4*V?6{0R>߆;[@Rݞ9Lx}d *" F-؛BtI:sPTݣx0ù ΃Y-\ẋqާ0&`v\Bb5š36OW+`-DDDo2u*49j+{43~qVcwD']|kW.# +=N>fjo흼w^9FTCOߪ[-!mp!mؽIKN_ êh?=H[UMS?oZjENѤIWҽ0hyi\ #B3O>_;,}feW:PFӦNԏOLT|4-f::ZQ7(Ũ&N%De:ݷGlնiԳ^97RC\k?%E#5ʺ&Twog `^No;QQ!^bLޘf Ψ^cAyVܖPWacbD%ū#r18"R>!Dnò.ƑlA؏4ƾ ۃMeVt)#Hl}M840ڛѥ!vjr(FM a$G`Z7(g9 ?@+j'Z'Ѵ C!.??L1򸯾NH r W2%DӨN$ Xc(#tniK@T o{D}aGׂ(ϲ##>ܝ ?; aAksy'_H䷏ݮGpxV3/RHvߢ* ^llB_R٢rZXR'_Mb%HnĨ,]:մ0`ϻ!W6f!\V\W7V8'L55-h z D~x^>,dPCZ4chtk;~C&Uux2Pf0:$'c@kk*/آE τ&=J_~BZ UC[kRfP ԿY+|,V~# ڌ\÷eN^8kzÕzgxQbjƌ *@^__ƠE/?&?~+x CM1<]xc_ #h\ɥOHcV͜Lx'LL&J)}od 28Q`aՓ;̼%Xl\:K1wghFBE&'0:zHo9|P@Kxcljq:IF7;qw6@w"p+Lz Hq1|ɁmCF7D!%̝ gXMq!;^pDbzfKNSl#{`W?;b\ -_%QL߼:o Sę()X#"/X͞@ o^ځ G4O~p-VkNLPb}eE`|=meZ֮7e7:9:pOu6[H4D+lEsȉϾ85w\u{swH]seȳI6C{>B795?Gg]*Ztfҹz9Dp+iCW1gewgZ|_e.a}A`J5PQc7Ӄ[Cg\VGKDK.y@>@ c; At ZӦr8(*0 'Hx ~/rmtyf럪d(NV0i.Rb10d7ˈD ܔVA$GIeױ;\N?yΜ} kV102;8]y F.@1_ |3WYOxpdArqoSh/d>FNMti (_ oG\888Z*pه44PQ=@;N:HHu e/0Ƹw$Q8Йu ԡ6a:L:|HHsz$|deS&FYgP(קЀ0lPtxFһ;e1w;['P; 7X2W@B\,Hڕ9!Jcsfc 6uh`0(2Ɗ=myC/T[Z}c8eAbsɘlV["saF:ңYڼc7ҧSczy Y_?ǝ1pU6%cHHxF\ybr]0[ܖ>(j9zA_[DW]!B GZuE6R}>} zpj&|Ƶ͞Rq:_47_]پ= ]1R5o |* }bv7ZAmg}@YTI! wԍԈ`֬P[Nqa$V$.v%+fW!8<|!ۦv~Rmp(˸&NUt>gˎqXuLJy8R4z쭇)I Y{i)tV˫?]1ݖgpfQAuNFr" C>˼ʛU|P(0zEQvT y6u w.?WY臟P˴ 1NEm8l^UD,fdÉP\'*Vdr""@BQdF*_ ኖ6EO4ɋۋUSK?6hܬ>ªv tF6Fݥ/@FwM9f .%OyE0aƳ\^:j0u7c;  Q2+ y?`f>b jɘżYMq o €?$?kn2b؀=0AA!`ԅ*6>Fa&ub}&C9 p`Zb=͘.I_|͙s'#MMm@tS4!~.lݶل; /t& :M RG'G!Dؤ56}j-dhuu ,[m-.i8 8鐎4vFX'$_yCBt$-\z~rA_!J5K;S7?\=d~RO^HxT .x]w 77Ȟ]@yxq{w gך Wɺrq$t 3`HbJyFɄ"SU"Q_0"ݢ6ҋi)Y@ "T`w74 2 Ke.%;TӐ%^ 8(> 0n9J ) LA}=߽t͇S̤1(teCi#GY4g:!25`Ѯ;AK;s,uPE755c=^ht}=fjr7xwج!2n53&?aCCnhFj 0`֦\˘XHvK~rϕ!N@Mtgs*3c[:I,Of7N#F/3yR}ffJy7]ơ%{f\<ˀd8qF]_gq$ N %7Ste5o^ #bG#$8'Z@z6|Ɍ!96 Wɳ`|m߻Ozt#rWXd)c.I lKTKE_"=]#SʁI}KՎ#߽ OR -T%E9J c*k^AWOj b )Rf8!x̠YZ{o8oFqw=+X/_z"en@F\L[joo ;n:siώS:&=q$5!0%?^a}rVlќ1Qw+vQT 0LfxR"wtŗ}ٌ[-gcVK1?H-<15j"5  =@acR :PG|_W\ YjZZ0LqY(* ^]}n<~ x0mV:*)/а~#E..R&|܂^3kJZ֯۫ yXB^i!jà ϝwt, 3 46fd%h>8It9pRKN{Blz;`6ilX,=W>;xg>9"j|%vҗ_i$Ęp=7w'<5Zy/?۠*KZ3]L^nKŚ93H}YMXZp >_y}(+J5MT^TMiצ4=( yE: ڑS"sޗ0fTf9Kс%`#f%$w^fլ;H yvSQn$ND 6JәgϿʼݍ+aJ 4wD]~NN_jױR~:M"Jv=ntp8 E$sY F+pf4C/dר0B^q :Џk t+dI;6d`+C7:5:NA{E^K#2$,N1P`5Q V"yw` T7䡕fHu3qȊ**8\5* m\chD'`M`ٻ06@of.HxF{vɌ\.e^@Ftһ!tn確.Њ6:1xa0ogf?:`q?Q̟GG>vDV׮i0˘`YU7`>&|X ΃+vD/֪yڠq3/# 'Za6f &TZh2tp ¢؛B1wXMqƯ"w`iW@I0ЫkJ(W#mkG[^q 4>x7 Qb˸#.GUU`1١:͘ĬYZ9.>&-:ڼm.bz ƽ ~֫:Mݰ!xhɻTX|м/H#0W $V#@EXt\ oylزC Eh#L;n{Kߨmۧ'5c|b$ϗgȼa8 +PaRƤD%QG.^}>f]LDNJC7oz,(Ug[=˺䚇4܇W a]pe*x,#$xDk4e܊3~En'-nW`|+AGO H}LVݡ]u8Q۬XzQT}eOi^Pz[!+Q=2oV< 7OT[:<w͊72۶Zb`֡Q5CxhLb y1/wc `%3ou>]-K0}E"ñτ񎻎Wys(tC7`AuI Y" Y ] ޵{x@Gex=-}w( FģϷ4&W3OQ[r(#I*ySh @|*{fLYfuqa\W+,(E4(E>* & 3\P x&\ Kg8uvv[]N4ű=5Ü݆w3bfݧvSta[_7n,mg-ѢVݥxyVij)K9Dj0kA=WA#Y rS"6y|R@b]ԯ WW=/ކJ:6,D'M;I&X TWh P;"`Y B)ɓ#,y^|W{ ߆'[܁9 4%j CGFȋ =0_$$U륇&؍{ dU<ăğn 2OO?>x?.䡸HZ g:yn̻} g_IQrsٽc%NH?c߼_o+tD3;ц^Mu` `i&v̬BgqIs)8b-Nh 1C'BH1+_b,u^FEzcЉTOLy]S٪tQtR^thꇥ߃O[qG~F)#fR "dQ@ PXS7'&PHfʻdCB'e;} q PKL_6Yl0x+{6MRA^aq - aJ2.O#"XuWcX27T ZX1܆tNnJd# D4A2 f†l(Jqd~ǾG;)wcQ 6"L>KAt ԄbZ0xǯ bW{jbSBUz_:4۪Lsg*,CaL/`+Z4[/hNL5}R8LRED&wTYzVַddaJacBVúߪB v;I8h:Hse#d&=&Px30-TY]B6X:d3&S =TTR5\ғdGu:@6[&1gm*‚6&DS6YX8Y٠#Ih IPF7~a%]+3>ZN1Bz`Ԧg;`蒪Z{ h:0!VbI5U &isƎ>:v_ft|t~mUxKYY`Rp#h$6?k$.5r 7?A7 pÇAo[0NލN4f+Aj9t3B51#GԀat\eqF4K.~5؞ __ "HΆAU6{CL|rd^!KNf=u0iqx@ː~#IDstMTŧKC&WQ)¤z ~o^w눏2TVg^gɗN T9NWA]jqS}2G;< v!wiJJ]26e$LbaBF0JO0ä)_OfnJp%xFа֏$n؟CܬXm[و"8x*LOSZ6S[stʲs]_ɳemc'jT>хܫ}1:L\'u͌ǏG7 F!^ml/V}3mf@eثE45);;ת:C1>IikXйVVM7icJ}ꔑ潓Qh.xNa7ڣVG T4f~Z`jEg]Ң86N6`xYi9#Ac*W),JG*PMDqO/A7]uW0i r vO8^6a 3'VEYa1nƆk8\z8yA."9,K $F+`Xzw5e=q;_A*1Lo` BR2?XPu=08$㖄H68sF+p f:+!_@Ǿ6Â5QV VݫfH|,UTE_GUP9L!y# xuA7h IlJv颻4%+эZ3?8Q 2nz/dyzJЯ ct47t᪋:}]Ub#|茏FkHZqrxb+Eg/,+n!a<ȡϷA%r7=B2~Im@}۸}6&|/*ȝĖ[_m_<*#+T2);p{1?k0h–ќѱ֖wC(c~MOx,p{-Cb#B$t5Qm0i׊%u$'HPW%+|k|:g{^ӽ T Dd4ԞnF|1Z{A`N[G4i-b6Mi^!toyYy"mkPK]™[`ۻ< !9̊ݼ﹂0Xz@M025/ݰ0@.#h.h4^ t.]}rPU`UI{t.`G! 27<(t<0H=8t0hl0?c0߰#d otW3pM y#5Y(G:wpx2>Q%ڿ ;HC}hYyddiixZ}NАWZ%Ax1ԑlG'CZ%D`?xʹsp?TU5J[cFh<5e:[%k#S$-׼-r}};:^۠%ӧ)ONy!4 ㉰;VsrURL}W:\Y_٪V`OS)jccXئeKompwitl\gLϫxdgChcW_\jF+/d2:ȸ*,/pok#MY܃}}9\?H5 j;:E; 6k&=Sͱ0q~x}oZחP {6Ey;YuA!.e$yqsx 7>Ȁi_"DMC3nյ@Ѕo6s끳?`n^UEQ¶Xbʜ_@'7$h?:f:X@%es"S~Cퟆ(^9+c,vv/5;|{[v2/ Dbbsѫ}إ_:OTk/3 r;1]'1 d~ 35|:ګ;5Y 4"YDNlhNo1VLqs}Se=7QT(-Xpc_Y^r|RܾW/G{/{tەIb_duu5D/,f" &V-L$;p+?b~dO໅~K 6 9mP~He y+~Q-wSfz=D(lYIq_E[Ou2-0/# @@ϙZeh. Ğ[ -H|;{\\4LB؁簅5 m,dht14 fbhabfFQ:Vٷ`,cBZFH vkI+qH92r"=3;U4e hh٬$lZX!@n#5 IDAT$X-ϖ Hd ӛ j aM4!ˀ{KF@{WW zua%L@hB-u)r{<o)ЋM9D<.:q`]#/k_~GZGƳF]m9o|Mez;٢'"{O|^=o&x`eÕP{G)~*k;h>yq{HviY}Gg-d5aV9+ P"M! INlq=LDOnAĆس>EJ ݽqY-ձ.n3_AHS˺ey^–8GBxZ]*u`*KW 8FQl#"yW i4 SFIϛ鋯jb5J>&`b翨gQDU汊ʄ> " \ʤ8]5Ϋ鿀K`F>{^n]xU*ۋč/B.'?/ GɽN͕Y jrp8-z_:Ԏ ȋg| »F$qI[#Kng) XݤzX,MpJK/*"z\CW`0\՝EX PF0@5!L@>0w"LӍ0wtYU_7&ҶV)ݿZe;N{5$Kn6v 놐&VbU&'ǹ,}}|7&&|œB@@LmcAo,PO+ggRQt mϿ Y8@(VltMPI V=P݁2d| 4,@Hb^LUNTb5xk+L Hx+W QL_yiܗխ٧OoA-p^~ķ?, f2~TM>gڦjuwhgCzZcc&= W0U}yVױM(DAO>}_?|3Z_fO(a M@!x9#Z{ǑJfd-)z<6C3ouy۾P"yɦ,+gncv4ŬnpPaucZ4$Gu;@Hvfّc ԉTܫ`)Ёg0k–|p՛'cnM55gY|ƕveuIޑA5?5Wb\CHGf֑ ~2~?{ǯRNVB˄ Tnĵ䰐QUHDȱoթix|B02D_{F7 ymQ^Udě]lXń ~XA~26BEj|B×|Z}\̉JuOa!Ab6O_s]_' |A+jeBVT0?'^Mp Gj\> [ +lŠM4lPШYq{ʟ}F䦮 .btE1Fj+uUԪ ƶ+u3b?j$Q{P$gh 5q_A4r@ed /ˎcu2Y 1^#WBsrS?j5N`N u K(@׿43xq oeX(x' ~E?xuc 7mCOQlU~]Lgk`߀-l*oQ#=^IEZZThHZɷ)aHVIHS69d /ATG+S!}d#rdfezͷA"9)^;l 6PEŻFNA"#vs>n:N hd-%7R;vp̄Ml#Uh:y9@L}ny wgpƱ,r@2^LP8YCfr<:m$ ϡMMGs\hme?LSA}+%o,DRi}v}O>KIhU0߅[2Tf MA,VnݤV|) (=}6dl_?#@LGP,<4uy$~Cz5ߓ*$\]bj?9 &'9/<<"ǒIth[^~h]C}/jmK#`Dg,FPؠ7ZA8$@ʹ9D}=FbyHQj`v?; Hv{,7C+s\}c?o<*?GO(b-a< H[%`bD"#sӦ4!(h|P(vfiieEy[! V|@Z]|OK2[^1N`N`k8rg F @{-v_w)Ryb9蘭1EPρU4<ͰKW;%0PCqU93= ̽CM ѰUDZ`l~; /XV^7 qZ(VS L~W^l͈C†=yާ{Eg~,{$0>L.{JMSIKnT^՗)B_DK )p<?N :("+e)A IN]4E1TcO3ǻ]01M ՘>\Ӝ3T$V]=.RjYASv {v8mD=ۖj="FQ}^{&mfjkYWW}ʯcp LѷO}]<s$>&wٶ. 5!M.N1=pna鱓ut?*[{HS`4UyM%KHS>A ?wtellDu,'~_|Ih}``7*g5a5B%x^}kC9 1C!T[WN{iNyFL*WlvA{ycvӷ^z^̢d )S')^rUpJ9j4PՋ\2_t0Uq4][5`UPBZ}  LȇJZx婂ekGq$ rDzgYhq<rly ѵ1`23UMI{<*E#c]a=+k3  \h>-ņO2Egj줠vX1 yc`30nvwfɽsET!Ev+( L4$ dIAmw<g>|s4ADfCuG7o+gE14"Id0k52j&_>Q*:?OAqV8[E&:L6{yyR4NTA Y7_^u^Lҹ϶K!4b&-}%W7}rp+8 !޽ Ydl_&=1{byW|6&s(HLꬢ'!]6ףQ>(Ji&AV&@pP=k*VLڙ^. j.=UYOΜQC jй\MM/`h FDk`3 ѐ/};*X[>h`~Aq?gc䙕4SM⒏ 4)ZKf]53H7 QW迟O̽;2G^YAn/<8xI# Ο=ў@N~)A/l$Ͼv"o1=_x'qޅmo jpCl]R%put-e|߽'1#)Tq'Ԝ$GDt W]^+XZ=Ld25{f{x6 I VéE ͈ VI;c6Upix}4 % d4~&p]^0bNKo𠶁z0!c:;O.^fI%Z dIom`s:a[HA%y6RX| Sуն}hB65̜8r~N";N݆0; |&x$*VƓ?Cl78ᡃ|Xtg L%ё#GG槑jW2NήI\^B}jTeu{%"llwU]aVC]<%LL+N9(suQ >eK`Vvګà@>Y 8@eE:jQm#rŃvqaYcũ&ɵkD0V - h)>coȗ)gAFC+o{ZYe7mp0L.5- w!1pICZ<' 0î2.g2b.bA@{!H>3jȅq+$hƵV_iB*dO:E.pAbgZdL3D6SOnߥaqn܉]u2ؓ7 -D{  ς"Xq1(ЦB1,ZӖH`Ꟙ'آjۯ? c:HG1q&#@ {tW&c5r=gLuHY_GuvTDQ?|vex T?tl!)FIe\(GB2r ~i uM-񟆉R4L%Fit'{mE6`#lOVAA,GZ?İ}K(Z ]N]4!+v*ٻVrTHy68دO(-tZ43*y.C(y𣭜?kq~!ǩ^]ˏ |u9$mCiau/2ɗ{4ryMcU*8i4oS~E:zꔦǟIuUwmV<0AfԴ_!M"#E;sF }Wh*nM4˙*QNרҎ(c]AFO^͌ J1|o^\*A&o)5u;ڇߵ_-PR\_1E2s5ֽF=V$RLivB⿥X1)wAҲgvjtPԘze|kSr% IDAT>7Np]h3mq,^AM6QHCֳbc&/_aa '4m5?ʮK?\FcSsa쟪QǚQeqo:D/48 n4 $l\2P8WϴݎS_qPYݙjt皉Xc n4Ьdb<[,VK[0w|5Uү)VL)uoQ@ Mc=vϞ>̎ٙ .U9H 9{hIPph[|5l8M]vSz4ڎ|0"&tg kcSgT5 h> kY; G1M=F_z VU\Wж3b,t\)9,h$ױ>#ȓ?2zاdD1퉫Dr-akW09nͩ++Ҿ]BAkZҊfϏcP'W:ם۟1@P*T]k7GtLe(I`/OPpU\Ih\FCu 5Z0?fפțtu` y.bg2N(F*U{0V!4jevA%iا~mT3b=C'1iw~~@맿R}M tUkҹevGd*KE7@ǰ|] g~kK 8,CcZe^_ ա)åMFʱ4> 4E֛P0*,`e2l JȋR{S30iLGYxZbMUbk_\6 LFbwk#';t98I+"u =pѣ f`"Yy'eU5bSSEHq~V Ry\zJQ*g*`ݢ2 V`񗕻&vGgdə0dZV!Tq3Kjn"NX[`RYEJdS%4 ҙмw}N;c:0n=ykQ$j-2dbT%4e R@;ɕpaf1tg0P 3%&+eBZ8O^}O+Fu{H[RS|\SsUqF aDe&NoݓDuc£GrU1!1ߞoSyY$3L IquCO}eek'ܖE!(ukOHct.ƒ06$֝k隘gu bcC58>hc>! >+<8MT8(]*Qqn&|x]dҐDBTh84uh1/z43d `E\_Tkއq7l7V<֖ JAη+B;@ &i{Oޞ+ڏR3׆ 4b @~c4u鳆ӍEvV.jU M$Pp#:R, p[F!5+} í\EC =.w?0_3*),oѽw!VC~%Ka5I=5{ M:~u_E˺i} RF+Gf%ޤÖpB[d<_ו$m!߭ qf",  N#-䃯`7Ӻ; #|=!'1;3qs=b Әrcv0gò%V7.,Q3LYZuY\:{uaǙ* 5Ap=~3c`yu  ||N$X5 ؀K0x%{cdARXEX 89RjTQ`eYyx  ѡC3PC`o@wc}VY.4]-9K=hv sdi<򳘾]g7`7TSM- Q ^|ZUiB$a =XqOX بvKsa8hѷa7i}z4@b!ݫ-4TdLg?" g # q I&8?q^3 _"HeHcΜ`ߎO!"$'2I|R{-z{)0ya7JT] GU+=gA'vFhg4ʮɮ+OA~p#d_sUJ+(ٙD x-Ĺuu> 2"G\iؚ݅e(A6('*YR Ɏ |ffĄ?\ &&Psxw8%iMT7FYc 9k +똡7.jp4>s>~uh{g{'}?ف\9LT>i)hi'Vv;dR;HlUL+r: ]Kf/ eBrU؁Śǯ v+rb@J2?c\kj?YOJЙ q4I`-4ц^9Zg~Ee&<޻hR=&!B0腁B3;5d kݷ\H}P(H5ĸǏԌiz~zri&hizan1qxC~c9;|',=H>B|(!\=v&';*0I\؁yO-HJ ?#fvX#ѱOǾ7±$1@l<;=1ILqlbyh~xh`ֺ I*.~Heg4T4WqwcقM؍!G\TKߢ(͠?m*@R7 ^0OLaɚaVk$!a40m<}ByyXmr7 d2f`(Mo9-x?6 qIj+DM]7oԾ2hh'(ܺ|&xBix#|+\4"u¡E~YQ3If|oP<.9/@@'D`UHagiv˭G-k.lXgy4D&x.c,X;ZpR{WX->k{;q 1ք )/`+a>CJxcWd[xRi0o~E!+̚JC1Εv`u^|;?N@.Z <+Zv~D eEyzB.-'x}fe?!$gއ!T4Hܥh13a9Haa5a,lo.2e m&qKvc#,8Q,|L(3'6Y\E$u!M Ѱ[A~li :;Et۪ 5{*,~ ΁+qF&Acf_N$Y&2̍ӱ΀M1*3Blh 5mĘd:#P!ӴL9hɋtr(4UH\$|h6oQX-1ᯰlVri@LM4vI q 79WpU#0Ho>,:rZ!"b,8iOHgUN}g=Njwgtefc"Gәݞa¥A<Pծ.C#[Dc҃^ڂ׉*`xm !+r/}u߬nA;~/{ݺl"r!z91cݯM*>NOG_gc3Bt#MN`~bNn!a<Ϯ1&X shY(Мƀ !t{倭썐؅{pk|:9<։\/3(VvE n̐S(}iYr;[;U}F!ww>-N+x x#%ڡ0;? )ķ0InX! YyvA+pzUkpmLmF}@v9(J!޾6$_R .~_|;:[ۙq5cߒ:$u6~kO~8n0 JxoN+O#盧DL,t1ʂ,%j \@_`؀Eo*ɽm bo⵫*Ʉ[rc_WI "ԤGFrσz9V[dA/Kq[{|'.u]gO>~ B^c BLUȇc4`! ;r+T[bAs!S@F9?[4K~Pfӗ,8TޑE>_Yh}7>8Sg0䙠+Yِ^9_|uн_{OLMٻ}^ojG$@̞&53!EP3a,OOmV6cCmŕ i[K29(@ehy6Kټ:*'&-5$AZ[T=cJez&{3${vqCB| nwm zs>r)1}A &S5>i0S>H̆SD iI[M1-FR;c4 VlgPb;7 v008I-*BBEһ]䈑(a9LF2x_uPE"r ue08S0( []L1><#w8,\S QH،Z0C<1n &I=ĥ07@3sS4D6 {nvx+`z#5AIe&nVn$u&IBLvKN%☻/χ9'/E>gMӄ/Dܦ~&up*$ZTIP.<Ԩ^}Cڄdq#>D :k8['${'w |y{askVt>'ߖAv;waTHz`| v> hF.L%^tsT"s Aל4T֢vװ!Ywu`t ~{FH"l=JQ9 `j!. @э9 )o{z|uE̬(/Rx< ?ny\Y-S(M$ܙh( .;(SUx)"g!{_fHP.M&0cumuK}1Rk3 2$ɣRɽG"A $<1N+3H24WO0"M L NHь;^sږF&5 }ddFGY6gН[`b?duL- (zb!mŪa};ufȉDnhiqBCR>ao okìJݺ! ]vh(֙![c!s(# l@^bZP*P#֨L| E33!(E3s3ǑUy:a:C]hl`^tkt(nCFȊd34 pG=^~gt4;v<&b@&=rLD#I'V!21Gtћ2M ݰ}:i OK'O?џ}̠vW;iCc68>5=4#D"A+{^{Uh~ '_3Oߛz/7ohN#RE9m&cg@HL `B҉?8.U G5M|6(r; fM5M@cK;(0}77#ԆLb^<\VF8RQ#mpI3\P& M/@V_X Ch;u`:LNtumR -v$T9eNֽJEB@QsstJ9a<7tk,fۋ 9E%{{Y$cԑiU!U&>^,7lתC}w Z=<{o~/ ٸ俸T5LBeia\!lisI jja+9b'5dU=Ok5gA.֭˨ljF'˴̊X_oy< {ګu_ڡo}NO$q]F=N:ҟ2uH' ڨ֜W}ݾFY}?w`0SV[W $;nfG>ƃ+BC0$.w9d6FK푝 [MdSnjF!Pk_XyqW]Iӽ4DI JLrs͐Q0^R> }@mP.a86Vdop $5Q˰shB bJ#bE; S \eu.#&oiL3nrvY C 49<:bZ#4AF>]lDgƟ7GEafXMo- ATFnʼ o,!yqn]4-T)0 PSP,31+f-s~R5s5 1}!LDO*F H OO69p `jkyJAɔ\S)vſ~,emiNb@ {`W_\KC9zAZSFPo FZ"_[(pi.~O .D";_[_G|/2: ۊѨg_Z5U6ٓB4wU~l 13s =ɮuB-Nځf8A&<Y̥5Jjd+M/ ߥ0[R8Y9jR+Щs؅F;÷v Z}ٸTeՅsYnwImNhѡEzݲ 60AAσ8e}G~]ː q[DB+X5i6Bà%\&M[qÜ q<4@><ͣ&~ľpb3LQR[ &>tAPVMGoj,,w쇖i-dJ/ip$Ox9Ζeqj`E9!74B| vhQ$@^llGAI+6^`l&E:nQz6V8vƅ1VZ1f߮m|"#瞝.? MNtL(XAZȇ ;8mx5)|ddX[++4c0jT\ Haƀf$9m ( #72yԀ,,$*B\Qk2u}̀=D6+4Mfu0Mfᆔy2iivxfʢwI-N)v=}wH9kO !]E0$([+ 4nYnz~h׀#XޖwE_LLW^=Բ STDL{Fcv1*>upGD9Ae3wY*Vb!d܆^~CCZe@peu므 }qJSL$( aА ƶq_PL%κ@hȌF2"a3nz~IS6u6fNV6H<(;m#g'f=Uu8E : ^ѡ{~\H3ڜa1ÑEr:~Ͷf8"Si)"9hͧ Da!Ǟnx=_W{4#,>'3^?Wǡ\}ISRb9+ _|VaoGj1ɷN']Muxd uSg(F]F0 RӭE*m<(,G_O2zZē.˿fz4AL\*{E=% M˂T.? d9͙vL.U!AM+K,⿲44 <δY/~Psy^o I$nI8a=>/0|j]11쭸Yx+sf*jq)@ h˷u"`hs P @vAXg!3$5D.Es vUAR4!28(x~F%T+@5ȀKUCMcρ+LH7nc" AxLJ/y~>gZV`[N$!}eLqմaIvfyb79z>}ū֧ΘS4lN95~F&Y)JzT-{dw?4']~NoxH+Uef>ǵM.D9jT=wήߦMF؏}n wHʣF=eL,./iB!*X_{(KwSSu*꜓Z9"@`3=3c/ﲙYc1kl&"0BIHBRu:wWwO3H==j+z~x5Up_妁NijZkA-aSrU% C:vZkx@*zqK~aa3} r\4;mKv|m*+V [V"SE&bquΟU3h *\5>G1p4jwFBˎҰh@tqʯosw`")$?/v찧$!CV18^eWe8'&$!}.2nzv-M,})`Vy0NJ!xvo?xă D/FC3ÎuO0bvl %E"gAzDZт dR-?@ 8aV'Yډ^ȄS_ xLv>Ț&-|J&if؃m5/J,ǬͽtbE;C_wA]i8 VjN9IxpcO^H9Ɍ&#<7A Wd)(A]D{_i@>ϑ'`)M(TԨNsh}_IPKڄzoB6N=DL!,H/`(>7<$(hF9 `-. wiTSdSO,WgrvqZ{ ȗ{EnGuxwIִ 6d_ɚdb~GıZUFu Gu4a}7Hr Hl.()~/=p+9MNzoJf2S@ը%Ynx^΃0;6z2p_!ukHS_Ż>׼8tJ'ywԸ^ sJȹxw`Hdgr2d~!{mPSih;ԉ4 ďZSA l ѮN .&H9$ Su^4D]^``OAŴ AaEƚL B'En^Lo Y H@6f]|*ÊƸ .I?DE9x +6V=%fAFa~$oAm^X 8{ճsB\e}ѰNXD% W1 gahr :Oo5"2;,(bs`z lĄtjO%NZ/7oj H܇&P+ruLc7:tQFjw=K:u^XzfNZzekNOɳG/ApKzv:( И ofT=s$N`Q+O~ΑqPdn 'д&&w-L}TKo̊6(K@3|e %jȽN`:VjrH_>FiE½r,y&-}^~ 9C/>57.v%bj7AS,z # gpa;n}D;I ,Z~vN`yf[znW W܄|czL'm0MjG!s@&+atѠl7#daϻjxث 踫M4Z!HֶqUX.XISc7@#>3!CN#%sP4`qX?uO2uٝy`cewAѣ k!KuO֨kSrX>95EsX$ X%(geIm"{qi%ѭN$ކ_tȡ] oAÚ66fk[ɓljnk Cd/ q%xlX%,wU4?'֘k#d=,8)@@jjÉnE]-$U"Nن)4Ic²ia5i1`Z̦y^#C -ZU`v G毄t1. I k㽟s4x41/Q\&J.:$+o~Q ~[h(m !S&ᒤ+y 4z_g&1MG^zqmw7/W6 +L! o*ceӓ80gse|ID=o/؈PdF9z3a2lj5LT"R[hF됃fZ 3xhdHwdQ)T7x;5O0`/-[حF1B!U=) hVbw"ftd|6[Z_1*\5?mc<[#[?lNo<5c@u&jk·ʃ^gL@JL_]o-[el9hL ӟr <> y89::I|h)ql|?m)p2 cOWROπyν@]IQ>6;.^_VI@Kg9裱s˱s*6#?B"jZbLjXV-Ҩl, p 8 `S_XYL?wy4iap3e"?LKJ^2YtO3*D]lKr~iӔ(@+,~ɻ PcՑZZygU䥓}r) OQ/˝JqsW09o4(@lB237p7c) RlJ-T L~α6/H*Gf@ ه'0Q|4r(*q"qL,}Io]\o&++p.NL%2l4UE( Y\_3y׍tONFfː) ?(l kl9C7y~Ä,q\\vWyOSe8n9p?fFBazY;d=m㾢SLf9sNt8Id3"󣕀YRYs`O7.fq'𦟀B Y`"2 =Kr}/GwX.,jF<2r 0ׁVqX[G)- g( ۜI7l!@pb gb:<)1[ЃiFedYj|9 W_+; q =kWa~@/dHs@>LT7Bw,fP!ǯҜh4!MgwDNEwqKH5&X`sN]ed TB[L2ܼuf&>_#}o6KByI}fǪOc=nZp{F)p> a9Ku9sfoVW}›bb7wЉoU/p~*GKyZ|e<4!I~`-IN ~ vMF  :@ 2 +˫\k{&m R! v0j \]k 1b&p0u,VG֒^bg?o}U7O9P7+H{pB}Vylpf {kLZI9R˲)ri-+i HOb'BTfo]ʎǑb1Y40~:QhUZ6!!cЍ׼V-$EgSwAgA/cf29i쏷߂L*fڌ T}f|{K'&߽(Va)pMSt3hYa뱄' x^^s>Sb>) x?YIT [4_)Bln2xr`t _B@`A"!) _]_;Z(XcepPP)0Hgoh)#MSxA\RVzVV/Ax 5d{v2(')E7dٕxoǺ#mjQͼY"Qa$ef8 p_M&J|aY&Q+R@HEy7<+bC`EZy |ΧKb '>kbkoJ>Їo=@noń}q5q3 va {(  ~B~ eD^?ggBAu%o[9F(#r ,_v;b/m73A]_F7OGv/ia(/@$/^N&U1pʃEfz 6)A-ƞ]$ €wB b`wd@% iQ P)\9-֬K`)jno'ԧU 3.q' 9l8`PuX5 POd r\K;Ѽ"is"'Ek#U<׀JﻃF(΢xX/MW7Jᨩ E8"kʹP4;$};.6'Icu]ݘUMXD&(`Lw@cE fؽyS:[f;/HRKsSB" OdaP]1&oۛ4uu5' >@AeLZFpixljƞ8lyt8Q|9\0`b"s 63LLQK,)֐ly_(8+k3e >2F}*Ah$݅ rC% a4`BZg;A˨1(kއmidfhm$A}R0Ի#bt!AXgXmH,#m\\s!QziO۲t0ǔYC(.4IdjdQ@cu]!D ʓr4ȇtNciFKͮˋ/bh7;} L5\ӸgK AS7 N( kL$&$2F*6HNp_>tD<}u4Cv.`B5.5 ԍNVڿSDw#tB;O1țW˙Y,{$M22~ EaE) Q~& pt"u~FtQq)C2Twg I؊b#.ĥ /  +VA>a9c^勨,|FFDC#(/ VaMMfp=jou~q߸~κz "T?ofDTV~;;Wτ -퉯=sme wava:9$G/{i*|)c0 *3= :E:o\p,teSk<:dJdzH=ģ}ei3qv6&D3'c[d?ѧ䱯}=nu"gaJJ$؉ HE W~)yŠ$JY SyTb(LX"3$E.HDQӤ=E(0ム+UAi\` av)#ǵ6h(XZOhaqV/Ξ7).V0kx/(Et C`;|uF" r1 ou-0@p"NMK 踫"5Ț3-db!X$bT 5GCdk|E4x ,~C4ref ve S .d^䐪=i¶n13&0A7jЀO!ecĊb]} @Iɜm,0*܈26&F&gFX ,oݦ*U*.tM)$ey&PLޏ [2tf-QȷY IYiLvvj5>mƮ(fbS0eiԞՅ`:wQ t_`;82]{iN|;f_>}~ Ü㲮aN@v97E D&Ƅ4ohORfxSN5 Ez=x-i=Zޅ0$^ {x.IJ0<'dz1^3cֈfعh0IYB(Ӕ2>AO87ULh%>N ِ k kP #c,wuQD3'I|[?)$G-ࢩ֊)[,N{k(KkHis(uRLKd,4$Ӿ2k O[k:ãs &~}rbG-]S(xdv_νRLvu ejiU\;Ca"䒺ʵc hjP$Xy'…=|RfqP h㾶xS '=fN:M@1 Ө3U[gLymc|Rb_wښ:<͆X3Юܛn}\<7 &kn6\斎`r }a|GiLiRD3#݃W< +]0=2J$|Ag"]Z,[_\rk)1@3a+(:(SITCh-vFEnLkS_z/7nG~m\ \''@I:g-:.[PIGRc3^&2aO8[Mo&X,{nWַǑ̑l'<<$%\4`=2^cglDԹl<&t!;kh z\vҊڎ @',{vMTfJOqd:1ӳh5} 󙽲C <ÚBE_kQ{ gF#9Xf&"Up5Js%~r:dl~9 #[rGEHya绱@Kog%f¼~if1!:%寅KL~m!l 8k}@S&=nSqȊ$ [\nȽ$` \|zAvn zDړ^R{P 3EC;U)#PM{vuɒɏ;6 } tF'ʆ{i&7G{? X 0s"=Wg' ɲGpl%Gfՙ9S%H\\!|S2$1MA y+"ϬJ\4Nm.NDLQ!mZj, XQzva6g޼P=deIQ\MYt2AXgaQ9_<L{߮RK 5x;F+rP bqML"|n9iFQ Z YSCaK5 Q0%;X)ʎR]JLdfYo/ 8Z`X<1aI6FCae^2ϴX.C3}@Us//bj#/I?mPWV4{A`uZ8#/iy!A Z &(;Ek`/sm5kGP'GQ0S3,r oa+I֌g?-Xm]<*ߓPw=q+~kKl):p܌tvJ3y o J <%i a6}p/9pC+^ S@68􊸘t xl31`/+a&^(`$E^Fc]9m4^ ?hQ:yQpS4KIθ+]Ygy'fgS_KgdmofŃ'+ر.B0%a^!=`Uf'lf 8% s9a};Ʃ[^xJI2$nc/@3e %3};F~ v>zֈ͠y\qq{:{zʳx_'iLI(u&eڗ[Za^-T/R!s–Nr1  Ziجi& l59;#3w[o6ih<}7` V$Ķpz} z`_ӛ+dE Y5g0U kUY9f0h6>(F"`#X)ؤB21k/Il'}4ֵmfvv$5'U zY&w;hJ+@:kÂoU:|/{)Zt%PGϾ8pD v4~u'5YeG5sr) ڷKp0$nВ& a$P㵇vN6JoCxP(:{obc,^JzPv"9!Z_hUIӣBSeBԯW`+E=4iPݰN0 kV΀4HUZuy+ta#r۹iY74ɉ9C{ȕU [VKϞdm{e^å3rFH\; ÅPդ2gI5JU3j)TYƸŘ4'=:/%!m,/!M 0w#>9D$͙KHȖq˙iV\i~rx+bE|qbVPdA ^4OK[7pv`uȗi/XnA]nAQcU!YU, U`44xM۱DVȧlǨ z%ih$MjLb4õZ) rm1)ukS BdV̸` y0bW t>Tam&kzqTeDesϯAq:/ |~~(hZq ҸAn]HsF>t+~*8[Y5AUlXLzI>G  ٧ d-ۍ87Y9?RA)FQ*p)R6 NZUi>~#+ws tLT\g7M.P<FVp)9=%'ݮ΃ĥ1sI&2j)c4ldWgx9d;"=z-L+Ts _`N:J@J,dFC% %@ ))<=msKvt$[1ٲ )YdH1f_cпÀ["0#ps`# `ݺ0yFcV" a}>*ޚ{{ aPB4MrEL~ðhGV=(CFN$)4d^d#)T瓒 NV2A 9^S GFdtZ)`?B lI׊\ ;h|A`tUU*`켄<E44"ΒðFAYv+oD<.0h:#&X4~Aq & [ZCU4HTSyy J-fm90qV[I#-ݚU ms:21g mjuBO d,4 #̤ v;`_ݹs9 B*wop^bk3L])Q4\멟H@fsQF30&CTZ'¥I4ꗏ!d\]}k_\3V aT L"4+@j(3 OAk4t5[VUa_H X9kl]Cl0ȃ\e>_@ v Y"v[_},dj0AUv9ІoTqulf/Uewor.JZ׮G DE|tub֎NXŜHٜ)%&ɭmׂ-`:c]])_#/Qܞ@ sԂQ 33 '9ك].;y ͅޗ=8ER(5 +*M\U6 >mxyU5>rfLIs^c33dNMTC(,p7!d:V :a~D|+4 >} _~VI]~KQ}p-u4ǚG UDf5Tӡd&LH qdV?=\+74Jch)* ?w]k1+E04~Z/>b!?KĹvb>4!v㷟=kLʰW]U {6S9!Pa2|>Oe~&},r,+i({s6qFeο-h”#01|ڰNmn #jqo\*z)&R~`@Z`c L JpÌfF"[c?!ҰH &ҲsE5OE "e.or&e ##BW@¦"EĕqcO_e"HB  2ҼM=0q^%mp`a3I??Eն9Kd޷/W=Y]8P4=>'r- ;v%&t{=kRJd5ΊDE02ى<} ,ȇ:0Qc=)2_]s\C`!9$~Drjx I2e(TLީr-ku3 צF"^N5glL05B`E^85ыpURelGNbs&GrޭDOqҸ>}6Y09 PJMqipߦ!>KXL7]?wEٷuА#j))竌iDQAՅ60Ljk>Lr!`-k3XPŹfeW_|LNJ&4_^or=w#ֵIcㆤGcĨ{'ŘjOa8gD6fy-KCx_?B_x(X.& `:7(ò G،L/~/peȭsf޳:4xHDh$D4FY^*g8)l%`͓[cx3k+i&U;d3[ck|K4uO@/lͣǔL#LmB80b֊RV^7CoY7Bf@F4on>zR':TZQgB57Fƭ$(;]|o64(AB +[Xog+Rf;}-| naW\$%kU):q5G᠈n"T%H;|60uc3~CsbȟݷS_p$Ln >2;u!N k-dĺne+φY u A&.A$jwJP+j6MՃ y'Gd _@ uOrI,Sig9_l?@F4owG_Μ8!.;jkp (09&O )pȃ;86\ eRx YЕ0b()[d6aPwpvG _H՝0S'z!hdd/^pO4C^LBÈE=[}eO0{eAoVXYoDeL=r~+<HA IDAT4u H@]GsIDV &)R&.\L,ChULVk#^tf6 u5M?1hzvoly o`2}-1S> R}pP3)Zu@ј?rV/SCvvHEU$ᄄ&6<}TG9ɏю4wd T(kE p/W{œS S>S#t36@ڏ>VljɺG'f kO4P YWƮ":[b c aK¾=O3⋲Zer2)mn/nJ!] Z5-*A x#iQr\Ii!r$ƹ9`C3[ "QϽvְm5{iN@ ]W/vƒ,nτgY#r AlKҀSfDֶ~0%\q;@Ba$|Hl 5tyd CY4gB&|f /EZ٭?%$|d\3B<"^8Z 7hhuqmS/pcs~35;,VNtw`ރ_9EePJkam4>K^ ?.4~HVhƼ\S:K,nEVAtz㸓o!bQ";@:il|4G|r 49}#;;ɓO|W 4C{&{z7LjӠ{< K){uã':05 UG~qsuUo[FV,xD6:d_d.*`q!;c9PZV _țG?$wsask ^[g2nmgdnfWYR82qˣ/w [AeYiFOF}lJ& %7pHexH6X-(l:$D?9%E^թC+YS ^S"=}En!Lb̹x Zyㆧ2V^'^R? :MQ7RGl4Ǻ/ _rFj/kE/ӑo|]Fk6N'{h2NY ZxHl:ՙv4CJ/T)&?quǪIpq5wQ@uWl-=Ecnw=,TdUz*]Ln|yɇSd-_HhbZ<īE^H|rʥ4 >^BO+߿srO(P6H?aTWy*9(C蚽@535rӸ(._ {pw}(6.#GwnRR$ wh] ڥfP@(Osa*z2֮[YCVIJ[~\kZp1<| u?/S~Bg.=o|;1kx1dUNUfFG y9^]~GB7JsVJ;$G,1EsYyl)^ΪƊ͎ *XZ)aADtgLvui'.K2swc"tͳ{[˜mo#E8܊, r7͋sGJ<)5BjWT%Ǫdž</rRFhVPqֈ``&YUtHE$5f1S3/fj0k`Y9SSʬ[C̵zIů/@~Ck6N:9UTz%w3Vؕfh_2hڟTΤ O-huR}`<0z>FH7s&`&vy beb:am"h\Ce|-Y\5iQ7ʻ-07mGUt.?ymYp6:KDz_Gc0$. ߔ/%"k95 {MF2 E\&, +߮~^PxfC\cIXD楥#@Z |ıh 1i{(BeD9ef08?+'<;|Mɉ*}aPFCf"|+ȁf"2NwRt7Ȍ",nbzy49.ƪC8)('3rsrǗ_+pbnos3!v5Y\$#?tUx&| a%}+Aj @r~~mz"T"[78%|Տ^m0.H4 33҄INw\ j|9$!;Z)A~ ;Nڦ })>gPK\Q' t*>͸/z׭r{8YrJ/ȎfOO#2:"QP p)J!.0~`rAC'tr7?dW oV5VQf\r8f5dRr, |6к{s_6뤤l̷ (Re`"d75µa1$jI@}dJk'5w03W߆_5ߺ03jl֬:}ބgRRFz}2'6ܫ-w\X^hoX$e-{edrELȵ꘡ P@3u˴ 'e'mrʑ aqbyAoHӹ#DO/O*&XO韝vyr.O,*E wte߁]hBS&5u*qv UWS3WƒA`Ii1];K{GP(Tn Lx+5"fO\ 3},.=.eo^~\}LVVWjNxͱO@-Em{l&S4憺Jm~n#1㖯 8K.~ q6LY#6'?@E:kelb  Cvʅ+pCHf:cI80!Z;4Q=Phb.(5+ȅ 3+-Lh2׳L*CGXjJ]3p1^@i,_PeGf7.kXA7&3߿f)z%OF$)S࡜X%pA+4x S^)$XgP;erFhfFZ)yYykh-xs [꩷q1'p}LwH%<('_>8V#– VBCe ˖[>"GͬHv;ol[wG7Y>r-]{FH]pK[+AKF4T\{۲L: rYUU|L;v@6[y'^a͚U=r\<[G8J% 蔬}s oggF@gS Q Wu 5e,ո82_iĊBi0EP<5WY>ؓUEgw` FC IMf$ ne9l&Yv$'rm.x gEȬ@ dGȘ8mjk)&w>Ɗ(^dyYTKjC : rVhk@<#kGSoM4~kB& 7?ym@~U_'{ܩsӯʧ>ru:r&i4547S z&VQ).}6*<ٳ3M)fP &fS 97P]6~F&^C?gXD䟿O[.B鑅i`v$pϓk2 V>o/0A@X2Pmc2_qغwb"r=f_}NuΙs̮H+VdrƸR 7]ronB S.$!@ġ ca#jڢіK=DaDg\vw>{~ef#!t_g@Mг/_~&vsŹ!]O.ǥ+aËu01=vM>CVGoBI1dv}&NoMI+8w> 89,Hx焣|"4>EV;ey4r0)κ xX7˃r^>?E|Cr,y[940AÄc$N Do&b[<.MM ;tXy*&IÈM`E'LRHd3N\qh8P뭲b'G& P8W!HHקI M\Yk1ZGO`(ȈtW*Ugm~\>пL/=>GGa.)&}`E~qMĿ?! ZpNlQ/Z1\Tvpâ$'}YD4s[-)*ɎۚaTcTJ\V_o+myg} 5)򘺏t@V*Zسqe6卧F?C9ƽ. 9n&#*{;Yy,'&,C7!Nq1 7nJ?H*^@Z'7S\f\/A_"sLYy''3>&oޢ"Iuno,"94[bV>Ŋba$xlm|. y;Z:mIɶNY|&_J1FMf]g`o˙Wɔ2wlH_Ea%(IᶱJHR(lQXdC܅ӧ-z%/3I|*[AoߓoxhiPػw!0OGCȱw|äva+T yGL]7nپNX > .>S<7ȳ_EȄu!v:{}9 |QWD~0 ?R%}(NPD'wӶ>,//>w>j@uKqr m|&EU ?}9YYe~gWcޓww z+G;{GVqc!]`&ZzFS#:c8Mf|^#;s}j`0_/om]G_<_ȯ7?>VQ{Oīfq֖5صEUH.2dr&f ^O Q*@GeN>!@JNp\)dʮҰP=`}!)9#Tmߏ,ځLrP]9 G=D[Eޑ'/:܂_ ]w$W`6`­ CoqXRأkݣŋ9;vnƬ;%'R؃d׮ S~4Ez2vҫimY-L.ǵK$d`MB%C@4=wN7n:$V9u@uO=#N<7ʥJ[eI,lЇ=g/[KOJx/D < .@M*MK IS$4 N&B(&.t6̉r? ib}~ޚodu}ävRF?a%4k{ vlw y"zd߂}'_soq&;+'R^# 9U{Xp\ՈpFhLq|oȞwJ•wQM>yym Fn{ ga)01ے 1YߺDx˾1R^D6f;x'~Mu1S+H AxW;H^(> XjP@=hD:y\jkD'K+$w4 \TW @Sgc'؜9JrbxL0>`q{=$/?Yy;By9.3:,1ajqk;AK#@zlS4fS0iA2F5=߹.T;LfLx$!uBA^6 |Ͻ8ޏ䩻1ِcL?cʏ)|x*͓&dq SupCp}$3&Ż4 I96'0y:DP8#cslS*FGn,ZEsYĒ \b]”jҎl=~ba_B9_ Md ,b/S¢W &J ŽfB !fh<5;~ ߏ?}~yݘu/'[G`ĺ/N(c82ME]YYkgOZ)1!Liv"pJBo_*CEW;^^Aң vRi-03,5qXv)ZaG IDATvj:{X~HqR_^]ô;IfmҴfd{*'5̝I$(ь=Ԝ} {DŽ0Ł:D)]\X*RtHajq P\kȫJ/Μu91Ǯ׼l堟 ihvG}ujC`P!EQz$ |N /#IqbI>]#+,KMC jlHVlP<^u@-1<\Nih*LL2ga]XW<߇/ߡ<~yd3|&-RI>UY!W3.HJ*knG(58Uz)xylT4/a~/&Hkm1w/_<)L6܇”G.y$AyV Ii[I؜Nth3@j]ʞLHv6@*cbVqPFaUx*ߎ.:)eҗN:S`DM9ƞ[ hN@Ի{dP{4L}=PͿFM> 9ͫY`vSx w.V n&pAуu~ulqQWaU-ژiUWX=D!Eé7r౏iݬ4BwvyWU_VO5\' J@}~ڭXDL˴8nb!w-F5/H%z0i{k`K4^^39OŽ,"Hט1idfna}thk T}y8?j4 mmuCԈ҇Oe,xAὬBn`7aV^w4 !y, eQTe}'&&e~kTڠh£5S=·fTjH::a}A]||n?25]09[ƚA]oYWg8#/D]<>#0:%^INV }yz 6a[eɣtt`i3eh»5&~Q`M>Źp/~B>T3m u52Ö7\yF% ^=2PaE݆R8![y& rf8h-<+p0:TL_|X5$e`tMasQ<}p T۝B!}sUr)LsQ|Re vmsAט^ŝ}K̇P؀}Ut}t"} wf׾@:%)\(rsظE!ui~(ZS'T?fi6MYWa+!^ׂaEjaI3mFefLr*Rv- 1|33N$0E7m]Q67Ʉ ӥ]zYyKY+z7; ̃Se 6z[jsgpQwDI}O+ClzlUh4 {xu.j"6&L zO1龟֬Ri{ds Ej) QsU&H8=DB iSorzV{<CvJ%K5 @0A&'b9󓼟 q,ajrs=l#?^j7׍K@'5|&fŃViY`؃='9Oin^i[u!1n[4=,4Ip>k- sdE/mHRh{?t/SOc9J4(L\7?{Q10O ]k00һ.'L)(@׿؊Rؑw\3ⵐA'"ϧn+FMHip'h8qUOAvW;p`^e:yV#tl=RFeb k'^;UST_8SGzguSؘN~{)oT>I^E`a`y%PW-h6L+A~ 8=.Z46׿|7*P'U "MR:ϮYlC+iV o$8?ϊeUsfY%\27@8V wo#1_V(L|:zMeY7i40I*_}5 tAܜ )KS>drdŕ^-7-e{2C9xy`Xe=$r0Qq/́b`&TKWr|pJi[~KNf}*8M }ݾB?fݿu C IcF0fs7Hƅ Xifz ncNrHpRAR\А^Qw4rn+:Z+ "\0HX& u5BL&=κPf|VaRيWeԵ&dYCy~v!p!ncL1)0l%]X1(00ԝQg\huNz(TU8em'FBѮ9>^炙|ky]Vxc'lM5TFIͅn]~ i .:Sy#6mѭ1=Bn ;yF[*|Nd`l=ZIrӸt5]yngՠ x4VijC4<:sRhӁulx^r!|CpPmnVašjzIxX xAh5] d1meO ]3y~à8'qߣImRix-Ur*[ÒJhڤyNdp=v~pyJP PFp;{ˬOs.)v }ѩ{9N4U9pPΫ 94$yQϯr^‰d@z+pC*}A'dj5m#'/3% 83# y/n]/h|^~GjN^ReD9tˎd;\t4!UM͐:!2Y95Fյ j@!<\m kѠxXj839 b_Eg2{k׽,Ej[&=w0EW g<~ 5X<,4 FӢ )wx ӑ:>Q`pI\Ex=aN{CK72|ygݢqsGhPK`:E%4zpN z&u}e:vCHkNV/n3"kO}zh ẖFT"Un=OwASn8ӾFV؟*<Yf3jӕ8g`ܑ=>ųl4YAp~9Y": ۓ*Z(6T>@Mq?qCJc셁c)B43d.A+/O񧐕x7e`h%BZ _M$=v!h\w'L}>k) :|cp y0 #IT\58~r(I;EFx1VE Mjhi^YbGXv.QC4^9燧Йw gPݲtxLcp\l?XY'E~1F`jʪАPtԨRM~1ne eBS63n_\Ưd|^G<T8tQ,LM GD3=:ڠ!8WjAkIR,}2 9=ӕ2]_(zF(򕤥c5BneF(>  z&L4^qbJ⤑5-dLzX6wu_NG8:9zu@"khxi (&mgHvV]t5ldGKlk7>ME hOos 'RNhB4$0󕡯;ukS=]w`~}M>VDөj'X 3MSp4XZ@{1bkkNIvnɎ[ qavA>Aϥv@Cv'8)S34% (mbNڧKqHxWկ^? J)ǁu@?=A^F$h*kS۬W:(q~=[iаsc3o= Jx}EtK`&rcV&~ʂlyXF_!z_k3; HT2& ukbUu (h<C(ޞ_ )><*vHۂ; jxQ4'AԦ0Aq{Q!N%;4BXGdV !`ې"!75 ݫ2 AcMM4Fx~:!oM9{osB0nה1 O>'$N㱆+í; D"悭VF;Lv.,?W)]!2?Zyݩ#Y$`LEɻL]&Mi7E 9ЏjZ;U-_ݡX|%Mz3P"[vvIozVl >C4")eEA& ;[$7l3FwAjk$J?0cѬGtL Y R =s5'H%VT{^ˊ7Hyo-Ώ {f*?4UFƎEvXt"[! _eWtrbjag;>:ݨ Trq<%h Ґ>|=QȄĩ"$r hmYgѨPM7%㶘QNGƻ ]998Ec0pHX j"\F)kOeZo[1ĉ;'FJSX~#`{T44h=Ќ> ˬY8U $b&\p>ʎ@W$ۜ?=oi~\GpFiF\@2pXeؾmh Zj=}8u E&`6nn4&rA65;yLb $:w>h&MLs:!/H .Z#C{L^}P%!Jix7h+Wم@Q8/u楈>?_u~g1PNzF-0V VXlB֡6.L7f}B8̈́cLu:CAfJƔq^K>x7ٝF0P8uf K/jA ,n՜~iM E88f,rPmh䷕|Dž}O퐕QIdR VC58TB-4 &)̚rM5B||Fw|gЭI_KL9jxL#%t]`mJ՜3s$Kvc![,mGMֺyCLL%=WCs9qJg[iSZZ8>y@{6A B%pEIPCxȻ0ȧ4 Q4$2 ihPeIjꣿY . MWU>}票u8.&]VPŃ HVNðkӝ8`k{y`b@Ą(f o%ϵҢx)A&v;ӬHY`#,ϢaL=2Q)9(^%PpۧA,MV8shqc|$ _BJ$:E r.>2J.@*^+A "ۆ}|My9rɩ]@|xO>Ή5"saFo"! IDAT͊L Av߹**ʓ?>;kx uCtjA+sQtUqʬ|4a~ 6huQl;rM? 0Z$$ZnXMA`A ¹Sbi$*@m^ne] }/u up?wtLO75 BBՍ:^7Kג3 y(ΐGu!}e!.'D:Pkb]AZB_-G/H9`E>]$SRnR2?d7pfrbNr9.GcRҥߓȩ^GwG"f73!ЩLKҌͪ]tݯ?>YE[]3߽` 䯨-g޲/|X̢S´o}SLo 4;a>8Pq ] BP""P!8>0-)^%4[+{E]Lov?@yeag _rpƈj4p}Mv4m3'syn͡勲MfۖY /H"X%'qli7qAYr-@T>'ǣCc%F1ܧQ_P}4AJYD HyȎĐ>}zk 8@+b> RxlJL`a)gI# @h>΋(Rm>s`7I#D#Ʈ];| O0C, C>_ г0fHe{E㭦@Kp/H4=Ӭh!aKF{*!]rhayU?/no6>#w#]}ƅ`GOe^iǢԁmEͥ ; <~UZ\dc2 r6'dD œ^<ҠbX=F.H4&>DﵿO`MEZ2Հץx LR8h6Q$kj`"4?{yKfMG?bXj,z[LkLb0{0){ ހ9űz0 hЉPYoau\flI&_<!uQ]_gd2-Qe.Nl Tp00h+`p"$ pDe  ow%£(Xd:,` l{ڗivj7 a.&gzU"idlIȞy ؟9 F?ZNCS`aQ8ڧ&_'N-4r6,pm߽,̤I::I@\S pr:>5Y NSV]/GizS25<]~yj DQBw1K fcMI _]zxo rFT4b (NR iܶΰS~j)i`Mf(qrNdVp,( _s#?&+ʌf/{!duU(N%t:}v5WTY.\TܚBC Նml<VSFeBZ'c>S|nZcbBI:w%>n4>fܡ09)6(7ӝts jMQvfjQdon`<Ǵ?<_#V:Y_G!<@ލHbh#;9$:{^{gV8t+1hRor&Pdꗧ[@u0־x=4wUD&'N/2603#"1}I@+bO@+l2M)L8tFmѸFd@6oRHI\A#X^0pX8\0i fePu(r;uFNF0Gnvp[&_ Hژ%hDz R-^i|Wٝƫ&{J ]&QAuU!/Ál_Ib !X'yRAcqf6gM7x$REiZh@9օLqHN5Ӎj]51>EG~LnvUBPpJ; q4%݋K@b/f;kLZ72 : ِ iH~z<9T7tD1Jy; Rq+\`W/=)ϥ:ecv0&^9 쇭1g2nqb?5GsmoM5G,눕o[69&q\x0@'fedyv]986&Ucx- Tt}4I晑(޷(A5;y8H)u2 }C*5<~V8W7ol4M aG5 AFQn_p3phRTkR903D %vj4w:rX4pĂ# <( <A2L NQ!wрץu ekuW 68r}9\W降 h }ݾB?f]A}F^oBzsفJŽBLxjdY~'q_?&`_kJ4;wB|WarQ˒ دP yT#(B;`2?`*q:'uEDjSYF'ӰQF\ɥ7zQaFfnZ3s7>QO~Z] &lQnP!n0>`OH2)CgT8Ѹl o|E>r-BV5琒A*CpJBNdRjj|_9^g5ri -iD%\KoH㕴.IH$8Q+Д`-)Goؿ>iv~",_w0Fi.W3JGh8(P7~f3h|mzƐi>0 3 qq}mFM#5#dhLK1?1i%1Q3;r9ɏzE KV| kfNE 3j{;5WQ,cwAP<i/.$n*tWܯ؛f,ZN8+}'i^fU6g$HBҔ@"䱿x&MnuDzt,#]_W]>G`|#`1ySAg:!P]2)B_I"ka"頞ޓCr)n>mugo DživmyM&(nQ\%|տx驝P+6Epw< J';Ւ/Ʉ|uF,fsFou8YQVAj-GEaѾ\'l3PhGS@%n Z1d7оIRO"fX][)s=}|75zz69S.@G5@% #!d, pCxϯccEο9 \&v+׎#U=?a _SuZȇېD0D)?q,R2-'Mzh[ G5Jѝ*ӄ`ePpkf$@X_]g_wwH4_'OdNix]+L^|yİ_@YǏ!BІpբB diks qW(=RxOAEbnV՗h*G?m쀣MeBt uAv/Y1 9A 54|%&'B{TPYYD+Ix.2ЦL!$яeca9EJEbGc5RtQ.#uP߅2||r^6qC 'Cib L h󫛒<~'M!{v!|1y@e5C$4E\]1ytMw+ h| }33X%k<NLNlAb {o^T|VE>>~UF8ݜS3܆1kcCPmTQAc Į2!k5tqOփ 7aL~X$l y w"=J^KkDJቫA'铘Uk>~,x/=KWHm^04*S'ٻcM[cVBp1c^*1Mr/{MSEKH|$[s)$R17InFƃ&|q X =$Zl{7)v]`;!`!U98n?6E!s0%ClןnH$BÅ [^M} n&P "r @TCI5(v5̋ؿ![Kc}blfrwq0V oew^.0F:7sŻ(n*! 9vLYݢt#.454S`?0TAMi粜Kk?HMoJgF'=l@|:h_r.|Ay0܃`ED_n9cK\mXYLO!$ Nc5=quK";E,62ns5z*y}P=vZ&P8RgIȚ^ i,3(^| oyܙJKlYD__@QƄSeHpta O׍|e4vA.n PZצ`cPvg ==l"kd8; dQIs>2#dE#LB@=fnx#hЏ嵸+>brdo ?-(}4SLvt6(hׂ~+"tnΠvh)_o7B,_M+Շ|{>uCbǓ(KrR^A>gMa[k.ՎKa[W +!-0Ŀ`!By8- ̑܇uUC%.4N͢8 ? {7% )P!V+Jz#U\x⋰iggI|#FaOf"˳R0wDv'$Q_3}\.S Wc7܉%xHzkZizb?DZXF NS(4˾Nl11¨GB,q)xgVwSِD-d( dA&+vR\uRSDLNqKvIcL] kSIʛk1 iI ofmMllo-?7[yhG?ZeAV7;x.ƻL H]>)#}5[~}Qm%pHh1)ǽ YMs'O~4|r|E C,)nzmyAL@)Ǧr3Seߞ<4R9@\VrXaW~ÜjxZ(C '#H6 %bY$$oB`d8N2w.9nqXɅ:Q4 0r?W<9v4cfL@EB!oY3T`UW ʩB$ VFCR?E OZH"$1H S 5l@ɀ!dC[vu&Q4c!ui 9%9x$ i]J{2DgHg(Gṕ$o F, u{8!uT, P(/<}9h >)0+%wG 8aF'.LVⶈK^ZbF"pGVoZ[ULjT,ֽ,^N-xj\{OZ'ts?DgNWiWF ΡIdIcvR335ktk5ki6phCupT~Mkp 1vj7MCcs=y.IDAT:WK?3ZCtV"EiMyܰSey3ryY>u>InIvǪDCS4q g ➷l8@,`UJR8b+ęD4miuO>z{CN/܂SN‰EI LN?dI1SWgn ?uEH)i>38׳M|XnU%v ؑc %dAm>k2vZ4.3iX#i"gsCԹ9ЛTe@$1NuH1;v/k8Ȳwً,BX-tdt>ϴ ~HG&rmj4p%HifM &%܆<OTm~SSo yڸߐn[j2D`(džqu }x:;~xqh]?@jœE`j'JhZogLX*ږk(>:j<هv @8`B;ثژzLi4DmN0yZN{&d*I\04(MH^=.lLO,H>^t7l1 sp3|~daktt56mFw< wPȁy#s$ϿoR\[=lZ 1׭U@Cppc!5eo@ڄ ^Ȁ.vV3B4q{󬾑)V[&mO{N=p4 (E܉~;cGΡ:DX{lG9s"Ŋ aљdÏoLBUMFp`?Wя 78YyQsY֟>omhmޘ1qS}vDAm,(:1v^LtQW-3f[Klzlwe/K_.'8 ;㗥;ژ̮9S JL9)ˎ. H,oyP*1(˕Ucf4gbhShțۚ0Y@<(?"Kwr_إge /ˮ! o)8@&WvdBmQXz9%擬wʜmA?iM$TgttE̟} :WSR:6oϹMoムؐ]x+<P 5 ҕ\.v&X g1lysP~ĺ9]1z ?/{}aOMFfcĸ@ Zcqf22Uzx۷Q/o'#@|@2fkGN |l0a| I&JT4sJw֙ ')@vMw l*XZ-&o1{1Q1{EiXƩS5erFk0߼⏴jq~J021#GtUe{f9k9+ @A͛7<} ӫv켵xSOE0*O d2vMs͒-2_>Wָ(ݯC0)@GKŀ^g>UIϋ{-8YۙҰ-v׮Qpυd‰0,{mֲj}\GZi#׫RO0ɮRcՏ70 3fj:jM蘢19 8(B_3brOkN&QLk63}V 5 BP=E\|Dӡu ~ P!nCSh_cW;z7$2%;2; {s#v}J^J 2bwN.^YY[]cEu#tmuUaWaca찅 lz4$ mC`$?9Moz,FR40}#{3L+p\o$ Xz>]rdH[HȔMVIPfo?"O`\xJP cf&(Lenc =c+=\1)9Da^;Zs m jT⦚e,bn]?'&[:og~)>˵[嬢mqLV#*G7O1WZE3Y{^s.skXH[ޟYQP% zm]g?^qDƥG!*FG95oC/m*^Ň)dr*{{Ln`;ZIy C$"Ryb~4 [+/SSܑ!+էF[}RKp 8 >&o uo/-X\Gs?Cg-q 萏Qݑ5l9bEY7)x/0l%Px76/ֶ.$wq hq:W[Dw%Sk0!sUnF671}:$.)yn)6;2(Lf&7h*T )%SkU`O4 Q|jIȩ~04]4;e! {$[{_3$? Y$H]ĪG&q,w"UJ   |ݾe~xQ5xkL. T< ^7'!Gw$Ȅis׀P70ᐼo֋Xz%Kpi=g۹p/&իa+H暰u ;yKrf*BhyzjyU~lƣLToc&GHۮ)#ot9o1acjylSGzϾGM>YPYq&4Vӡ6:yLBFao;W"+?.+X 2'|m}2fǟe* vY!ݢ v/ʓ#P68'Sp [J~`%P|LRjA'1>%1 1N4 4"aݯHsﰾMcE8\|uݝnʎݹRn|LHN v0q|ވaO.=B2րS> 8]aYI1Sb'/-@ݻ! yly p ~I°o6rڦU 7Ep za͎}bv(!O[b~ _D-ボ8'^IG}d'u?uDm&KF$%$_\CWNSƬ?~ـ-9+m|mǔ5`rbb*9F:%uJ6 zPgy[SU`e8VQ-in0ѴnwJrPʂPhh2) c(.^2jcE m1ץ ߼[m#uh9b߼`,OUs!9%}—eSHOqRoO0cJw p>yv}euL͎ɮȴvwI4ٕ\ ;|]u3ri^U$e=#!m|H Ddfz6~I"Y`j챫Εrs)XRߞؕ$k !Q6v.-DåaDrLJ ;k z ԉsܮ /4cu|I AqփgoBNFf IvX La!жHޫci'c?ϠfҰ@ڃ!gMSc@%7ru2a> "g6A"+g9-m:'tO3> ͦ<5sr'VD~;?))'q\CQ] Č1`2jкSLU m3 _OKgѸ`~cmD./B Ff/o:!M: 7Ze_?{B.l#xII|3Bm@ʢǀeo)G8*Q3yNX9s=7h5s[x͏y.C0%}ajw ! ympoZ\-WLO~ $=yj6y`d[y'PIasb@n I->aN|P`|uN8$!yS(+:hw@wOPW,Mecs 34[Vz5OraϿ.8:X`P}vO`ND"wPErGɛ/OϳGQ$ @$L&eˬbo g(L`_|HBY~<5]ÀFc4DvC8&A4nj]sV,޾] $tD&V[2aGڈ&1<(Ѯ_eQ$Jj?L3tK_y1kr̔  ڕ ^5Lz:W;D.+'gAVN&Uk]>na 1|M!_Џ#0>/ڡZL^$]bgᒱ5Udy.?7RwIHҐ#e& P OEWJ hO7}L?VGoYmߌVVqV:nZ 99SPGqmnU(_;(iҤ$mJcufʀ.u5"qF]+ A|md@*#ATTjai&Mȣi>vi}߽-INIosns^?D.ُ ߸f6m2flk]mszcj+L<7Blu2<"Rs~-͛?s[3猃YdoϐDxPΝo*/\( Qpz"1)JPmL^neD)ރ콟K%Y`{qhDVP𻉬+Ql_8:vd^Ck%syBH+/ذcVڢ B'bޯt9x}}0 QXǩe`wHB5IV/#{h8vPc48 <=j}Ա7pJc!z:"}fuό f25F=DT.ǘC.L# Vmk@\tP Yi J=sNTqE;{F] PIktVpT²d ڹ#Eb1U'AH'}dlBř&`ikk9 ̨?z H._Ξ/H[W=&uv6wV'!o#EmѮ ɗd 1&0A6l_R#d*YiMM8ȧ[uz^71 6&q/yFc^< nT.A#KW۞y׳v^79QL%ȼw7`:4>M{. usͺn?ܮ IoG ÑpgOSYNi$">E|y$?V>e?̂wRg&ĵ#I;"R>":wv&m׶DzC.WO$FJBD-Eޥ#9>#%|NwW,C&Acn3܇O;KL#PQ, sP#0| ^Wu*~5:}RWdzl ]B>@Q>9b0 SI 'G-I^\HJdޜ, ߑåF6ZFI轐~'~iGJ9&gsaח(dQ2e-S!+#)tnvN?>Ddr^A?a@$|}g( <7h B8qP?"xLMd_SW!p~[C#t_0k&mE@PEm("40jxsui"(zFG2ju7:tϛfs5Ms7B}eޔ4u|Y޿o[BW("Do֥*"4jouŊ"(MU3MPE@PCYUUW("X/x,\4IENDB`* h;hj_Vx|uL_6R;)nenuqȶhqwww](lE;ŭ8~={99d2'=יIDaySA^Z͛" ?  BIN <Ut7Y9$=TdޯRb 6I'"rqrv|#nmimEciG-7 ھ+~ C]uP7oq~b^h Zr1{hIKь߫1p:u:Y(?.'Y]%+ %tux^LG}NFD$֘^Otɛ?l '-!!ەzq<[wa69;3AX_.VTى?@  o  H+5/O'8a%ޏ1m^\nx4[p%Ѷm۞`b۶mؓd≭m6n?Twꪮs>;ZIA  IK`F ,R$8 ]r_x>@PNG  IHDR^d=3sRGB pHYs  tIME 3|D\ nxLct&QӮc۶m;@gc 7:K8c~-]~"aQOt<{Ib!(BBi. Vr(;#Tk"p0 @ů[k!hDMgSEڈ)]a$[6nR}2ˍ1 \3Z &EVPyJhYkRJaeR X]*),n}ܟlRw%DWTߣx@]; 3x`QDH;siN1BO\W.~ +[_w.lxſ޺ K0wxO,FG.ugu6Od<yUIhy%v_Y&ƅ4-Miq~m%%sbuSA\i^yUO % ;psG?@U .Ur{&tKM 4'L(R> ^V!WZl+b20ST J8@B9T5N &c >d(ǢP\譬2(Br\*29F@@cFHZ-aq4QLHH U4q#6XV5i "Pvit_to@i,F+'K'v=rJ>YEI+TTY]eH(6>i>Tv>;Sn@,P+_L,9 A0֌re!&wB z@-ZDҩ8&RHδ{@!X "9-;";ܻ=Y}rv}<[ ;g "D 8BZ(,~+j t|J7S'G|ß]ٺU)?.t+&K~?GhՊ)JcE6k[hĕ HBg/\<4%b}atZwWYQ i8^~qI,$[@rg s:6̝Š̋z_'6" Hk#SߊMK˝ÝI/!@%v\u.5C TBCR+/6 son?v: QJԿq\iREJX~ng!":Fd@(RH"slP 8£U0B+{ڭTwKHq53֬p k_hؽ${@G8;k n3PDD䔵ɹ0ax-oͻt[mx/b2|A%E$(W⤝g(2Zk%!(B.P TL!d4ZyfP(B* ~RgIlKV++ McrOXXRWB.E2A 9 8 7ZPyM@,g?__J'C?ӃS_އ?ȴpwOB(Skh eqǎt8OӜExscg<<[kkX) kz؀7uԞH*TcՑ/N9=*Z,S=5d -i#nE @ yjyY)8R!IZyY @Θ4 aUծ@w1"(D&HE=ueX췿8<]k+CE6V\Qdk2> 03( 5!* "FSXa/t3"KBYi"#Bh#mQUQ5FCx&³/y ?+4UD,&" v}hLRyx'k4wO&ɥ֥^"R_쮮@?*]-NAdMƏ<ÛJZ7Ej[ :eƹr*>P+ ~ k@SDJ?IڿE^H3:$&`A*K&@AF"߭Aas.) # CH(0+",PӠ uE$Vx’k PAXEaiITIA.w_7PwbvRGVcx4*x/Hm-+g/rR E0`Eg$(G\ǭ5 Y|VnEjT}uO<AHALԤXKɒ. (J&}}+ϯgEF:8B."B!T0 f{JnRWv@*} v )鮖EV'IIP'\Z`t1"\X"q{D@s=BcY, K[m Q H3(BQ ZKEA%Y$nyJ\kA"3@U dЊEj> V|39hWdk+|?~8aku|6Ng^ᄆriRn^[IhρILͨ};n]X\Nxy9J3R7/ )d5d դ|#YP9` 0'j#⒪*T'Wt,w[׶Kp@!*/eN :&*bF]Ś  `'+]]I&ZT}λ[j#ƭթ%ջke((bZ"|to/YVfG-yLL`[t4mR 1VJD,">xhW:u.2Fhk yDDD t\LՍFf7te#̳lMhjN5g$,ߟxFVxNT,4b.! C1&*!x߯cZTCsݥn>4 EG{JQgiE}*]3 cX{VDCG82V@i3_Gc#c[ |Ab((>0P9Uoyq*Ys&K0+y\Tk;x݆SAeU=W,SXyflۚRRkF#\lj-wmE/'V'g괻+̻ģ[]=iE6DZ)2,dɰWut~W~4n\ܼ0xggY ѤPiY&´4! 75zì bݗ @HPx6 `UA_5'i)3k4" )PW9/_JN\ ^8Tj $T{M@,(<8pIG QI9Y5 pAs&_D`Dy᭻__'CZdF#IڽN/iwȐ"ΡNq̾ZlfP+5sy;imH)"$ 6TZy\U kŖѳ &:1L@^zJD6.|'ssIӻ_'v5rU jBS(Ahbap.Q4/~z~Xs,уiFTWnOk$"(AVbA4*]ҷm+ҢRVkKJ!"  At""Ie犠\0V)V MDڱ}U'!xN'KDyv9 WHx% ( @DK ܄S{aۍ F;wǓ z;w*G?#vig9Oo+AڥK}i}dp$+W/|`;y绿_Z(\Yȧ߼YZJ'ڙ۷;ʵzۋ/ )5jEuYEgWs>U8QӃPmpFsa:+޸}hzhA:9k_w.yV U 5bjEa`9]qWUn: VDfQ$VA'R$a;֠OYm: Jj hj: :CXwx3G?'>cc"swlVcci]9:)EZ)vgMZl鵕Zka$$*giiS;Vr@ D炯{c,DT\H 犤J)m@ؕl>Y+AG'D}<"i E㡤Ap+pnTL Y*! QYZ X@뼫f瞳^EѼV/0gW ( 'ǡHIv@s^P:k JH1"aȦDJ[Q"A,0m BHJ|;d!畎lH,fyɁwZk9 [n \1Y|r?{VݥSfpFz4R("Df B:"鬀pҒy*),]k,蛯=k&.~SYmO(iΕEko/n9w[{?Y[)Y9ivv_wk+mNԭۃ^{d <|AqxT^("9[W]M;N79Q uҍٹ;<ػRYnoyw")4 [/~7;L~_~jQ@,0PZӺU\-0wrd/ D&Ӌ7-;ؾ9WPuW9]T |(xM|s>/K{D)|l\)i$Zm5Is(2nsuc`8I'#3_8I$F R!^HB8@XlsJc ~Y %0+R B]ZV }`/ i}mj 6xf=˼+^CMOXm (6RYhA p4b#{ry"Kk'$I`o;-Q[FPAV*2ւF"ljs!QdYDKٲLޕZI,$:'`QQJDkAF4ǥ"Έ|+vD80#^̄@#(@> QD._ڊha7 ]AЈ 꾻r"j. @ 4"T,C,N!ԧn*>|Dy}qe"-t6*TG%߱J<<~k[o?Gb dzן;Vo5xO6~<}tg^ ,/u 'ER)&eޱp3vݍ:/ʢ%QZEy/~?CϼlD+OM&O|O_~Wzyq6'09ͶC<bM@2pA-qN/i/wkV:Fn~8REA^(Sْ4& Lfkُ|Ay:I4[0?W~)YΛwn?~޻^Zf'?mJQ$♀R/VX] SU53ԫ\''S!Λ|;Xo|_: yzB…~XD4!0 I,0,4^y,+OUB @42 NZAWNhFħFta#H1_ïr#돬n4{9>=glcr"(ƀ6ڕ>M %]g  rf[ y\QfQZeaYd"3;W@AFYPg2f99t26:a<Zu+/nwyfGDSOnBij>@u¾RSbe9]gq`pJU\h"հL&`2t$JhA07%gRyE"#FD5hc}Y8>*0c&.0 j4f}9+Y6uzxG? xf曥ȋ,@Z jM)z7_x[n>^w>c_"RԈT&f Ŋ. @@V?Qڴj xŭ5HmTNdD%D.4 (%{k]Y$%x׊i^ {2i2˳EJ׏P9Dq+0 T]4&t̼5cA5(5`YT4<&8Bddve>Q IG*·V+U;e#\'HԉejTTjBj83߾*M|CZ ;4BԹNT^f"gؗAƕʚj_A5;wY&$P"qEM@ASڸҗL8xa zW pAأJ٤R aii%/b.\9&L!8G̉! EZDP 0 K2 sE"]CI:hyq|p7 mŭ2$GwFλ˝V:vݾsA"Tw]Rd w3md* }:@@DV BQ% sλODdp](qdHS MtF Py ZKi2y_ OIQF; MC37T@7oъKW?Yw7?٭՝Nww'NvGe>6 '٠ĻKk `YpA̹vj pRzzv5T"nKtt2b)/_y>Iuye3${Y1Y^~/>_Ϳ8y'sl-;CjptT<ۗz1-tTlNh^fouk+<b:˯z^~.'?se*/_/*SjM</̠8:d[>]!Eʑ.I%ڶ}qsΕEltΆcvY"ŌgjJ,A"Mn0!j LHs(6-`0WYi MY!֤px蜘A@)FSff'nW*,b: RLa .fvB `2"hJ*?* =GkT\γi@kڭd$hZ1Blw./n+M@Ds֨ЙHG1,J©9i Y+?>Ҳ( g2}.@qs\FCEl'VաHc˔|j90_Yl !I!z9ṞrX uwC{ N[5GG0nu95ME ػ8N:%ծ{ y{@/{̬(ejň^ prZβ& [e: I1$IK<6:7V+ QHUzoO@| O=- -( Z[v4<8ܫU3%Nl<ERIQ2=~imm뉬u)/~Z@hozҝ2vȇKUziծIVdO,w&)r_8XNu%uR\˽0;|tpMۯfpYDcO擨z='CuѴ86Ӊ35#w|7/DR-FPy{4SX P_szt|<αLh+E9.л}}/n2D"P,ȡ{Zk9=s.D+R*^`80fWYs]DB{!D7eYx/IeYy"ؤ# qEmMSiqd+ ꯐTs5bB,hdŔ+4֒jxEQ̢|9!y=iq\œ`f:",IZ.=܊өRi "a}j",2NsYRCd , #f@PQXbiXZ]Hc_d@"⊴B(2ɗ.!V 5 3 ,sNY"tɅKR/@\1,.ʽu/ jMӻxbG 3%P AHsp!a@.db0׎zs(2DW FfV&+~6T,NߙNRA-!KJ.@Ѕ M$ncAԉi6ͪ Z DZk7_KBVg7r/ ;K[';w?~o$kkC:Syv^fuwFZzIdSwUQ'ɀ4 m +e͕ ?nB52jҋմ7\kw;6] olOȥY7 F~ Tδ ߽qyo_R֥旿t>űhcA"l V{{\ҷ_J{9ɍΏIn]F|g>?x|yZ7?Ꮧac]~KO}wKo}RQp˪n|Og^Z[M7}տO~(i9(턝 Hjג"ǝg}ŃՃi&B*ˋ斈< H1Q553iW>HYBD^yF3J4>@ FN "@HCacmf6A) <"kJ`^IP n8ɜb$hcs@2"tuFҼHJzvSUz~S2Mn Ԫ%J"5d5F%fRvɕPcD{RY`$:NZUdMl6WW9`iI KV, 9.F& Fa>xGsX}1ey>C!2 RQg H\N7/ HAؕE>$Wd zT1G\yCvlZ@RE^"H F |4mێhQHU"E(gE!vw%Lhly ߋTuUMDJ )-,.FYvXIdB$X=CbmĭnMƣAp(4Vq6L&cQ]Оt2݉"Ŝs _4<#3kE8Vf!1Uu`‚ADW<泉w^6 Njl9:^ TdNp.xNw(tߌlE^9޽y|}VOq )F;jleirf32[Z/\OI뵟{Mpyyg?'~__n8΃E[|`DN BB6}?>yyePj{7 rYݺiO}_D`\NPGphu>4h=1H+jx+W6ׇedxa `[_PSҟ/}߿ȵkk/=_Pv2@~5oyշehv}lmu#I80wedcp wVqg`VTVFju:ÓI:2eFQ(e(a:}_Lj^@Fh4M>89ʲ5:#jz/̵MN .ׄ, G@EP#|f# A&]+e鐔2Q{R읱Qό)e|\PE3"R A`W{FUs)"ƽ( tVDi/a'D "ZQ HEYdMD9gf/Zц`7(Y^Zj2# i[{VewCiqbLh8Ba\PX-f6Zwd6MOK{u@DQOyj@WIg)N!/rWf'A,>!("+cu>˚00K=QqZm:H:UCwy,~vh;`DZOv{IB'@0>4hK/|T7k_lm "M̲խヷ't[C[Da2/m>O(簷no=ajvzpw&eWj>ejRRI.0+lW` jde U J@ 2LeNLa{w#g{iۯu;_K?3<:k+ǫjV|;ު9by_=3Ž@}(ή\~/>;O+f&9c2Ej{UDS+""MT4UYzqzpogd2|79Dtg`m ϴ$,B}،}[TćK:|yg㩚ż(BC@.Q\nȼ\8vg'}߭ "D1MjqbՈ̦9h9+Q: ZNΝ.ߣwnZXr2KR$3XFp,N?I}h '&(z4atQ"j̙1w0̠ӍUY$/ww.G"9⤬e}T&E=ލjkkx9_&֮NUȁAJQ޽^^t.pD?zY7C(]LYnj}Y 4wԩI &^ܗj y蚪`M}Ʀn< }4 ZE; f]fݬαa]ׇb߈XY`JIǓ]U>NGϦ3gh/}skҬ+EW6/%ih{KGMd{7y+)ŁN~4f^V|9j{'5A~ɏ,__ rq'Gw^ "wCPic৯_;DXa̚g^|o2Qն䋋[w@4&;.ʂ]ׯ]|KD.a"QōG}կmxou[u9kiQ痮\~/i1U מgW.kA޺o{^IFYF*o|_(G#f:òڽr6\Wk;y_Cm|zG&'_֍7^&1~0$'KYr/I$ƔMɲ+F^$f"oW1HB† 2G;.Y]};qbMe<9j/sֺ.4٪YiN!8Gz_iʕkѸ*KvUC uIDMc̉)Ljm׈FA%eT~2ͦLE5ќvIv}Z䣓,砆A;Q0E&6ӲT̔z4 IDAT6v`s)9ߩަ,1,}̩ $!k"F$h9&p^9v"!¹"do9ǫűo/B 뛮Y ;E ju,ƌIrĔҹ8HM`1*ĜBr6>aSޘU{{Դ<)vu:{x'>/=Uӎ+;xmuվ._+kޝ(O$asFrq+iy8=8\;XO&Ӯ/ڬ6Y=}/3z'~0cдnTlWknc<&|pp(,v?//'ewph(y o}i}xLַ5 mD@L%|o+;{Oo/^J$+_핣x|v>|=ĸ\w]5\OyZz̳~xֽ&W[Eg5ޥy˓|O-9v e5i._sօbEdbrSR]O9g[9erjrLUR̔XD/ڮFU%@C"H)**+__9_@%$R8) >k"rD'g'wvXMM)ݽs܉  WJ4\^$#(?#Sw BC\j-@U(;V`̹4z9NRCf$$NUۮcDR>Oɕ.ޅЙfԣNM[%.Ũѭy+ML-~,U9'u @}ߍ cS~\r)o90I"9hV8 0"bv*Ğ\"EQ :G(㜳ЯCl1EeL-*CL뛲,TTQը(*3]{[[CC9( gӶdɒəsZAY@H"YrYẅiQrsH<#6 S9zRLL}"OZIja=.l\M1)e0%vSLRlmحљX߮6j{]v2, O1+P[ZDGDChb63,fq<38|ZW|}:_^kZbW]vtǵA_94Sպ58zw>;]˰>k4NY89$?]ϏU5qu{pPlN-W?3O&vv-}x2ԭ#cWl2hݵo||.I?2 P}w>;4U}—?s1#~|[VYɼbz`t?ԧ֨شoxyfwɍ݃_,ܽ̄ʋ^N@3sϣ~wx4>zSn~] ^R-v/lTbAr7t_Ὼsf> }{XCSJWŘC@!_9jRH)wفi FլY}RVUuW#svuB)!"#3!NO5ֈx6eNFUș sԮW9sE"d4!fvjJVLk4XOz6ٌOa勚!g14 nާ{|B^eA`c MSU5""a9Q@JU4)l0s9 '9PӲ2v[[.s]MrjL# slbB|t"SJUb 7Q$9(!%d4u) T%1. Irn3j rR@ fSG")1;Kyvթ[(3S s1UjB]}:v Ck1e1v$){a= @arj@NGDSq< cS[.F#L!G˨C|,'ɚ Rf>1c}_^MM >|%xƐE$G-<К/,EL̬Dt\܇*Ftc"m(h Z ˶oSq 9=;r~gщcp aIia2qh~לֳӃ`ZN8z;fc4IB(^Bp"DY mQrU*;)c>CgpxΕb13ٹ?FnA??k鮄ӓ|y::<]zŝúpI}]eس?967ҡ34 Zz_3&?ӿ/;/>'}lݥiN/^z}Szz+_:Wb7<[u[3l8iVo#pzxg%Ϟzaܭ$oܾ"g=Xb增NƳQ؅qQ@h6d_޺7̧aMɄ%ϒ$/L. i5d4="8c6C̡֮09yff'*0!cSE <Q8E=DYC"v9&C;9&*rxx<냣X'yQTTuASlYrj@EŘrjZTl;?+./߸ WL[>tf^>x¥>+%_'ٽ 7@EQ>wR66ks<4e1sJGbbqezjAR=k/g~U~z/_/,Nc谬K:l~W~婧/Lմj ι. 3 3$$mFݐf)g&R3UCDb f$tf}3&fFfo)@D TUU0Я/Q];5@!;TKbu_s@*+;FCD5C$ViQV޹E4C&,KH`QyӜ5][2jĮ*h@FADC ,ifӓÃo%J"YyM۶[o߹5XQTCC<%E -KvΫ* b$b$ȞrnxY@~d`z._Tc*<y K$6ِRuj2r~RFT IT#{DBʒއ;DŽĄ` <шUϑ!E芔ڡnΕy4hʝH&*s (Yts|f$›/ :ar|rrp0x^",C#y^'7V|9dz`A=h+jLeHBp78tF rfh<^X8b3UӢ9ʺk4Ijcӡ »tp7*JJobҝͪ툰|zpQm ٶodA)P3^y/|LxT*"Q6b5̟|CkJG=R뎺좸ݽfן'u-rYOZus~i޸ݮ{9_~6w^VY?_O֧.]vvn|{2B-}70MmJq ]5ݺ|[`jijY׿/p.^8|;5gGgx<ܧ㇀܇?͏LѯʓO>_S_VcU-@@cJM 1BJL LU7lU!#4#A8kf(9! s+J1+9Dؠg`">j)gQI)QUϐ(ވU!J"tOʐ1PuARbدA 4Isn؏d#0QSÔ"$ADC }|Rttza}6?<*$)4"Ƹ\,Մ]1aȩ~#}\e띝ϚV5=KIvoV;_ll[rXɢf@TN 1jMB;0ޘLR`rhfӍtEbU_J5q~JXEVڍlW$2[/՟?gM/~va]#6Errh{4uV5k߼_ !;hZuvɏ޺'@O?y.7xz}xjW&nl-޸v}/]|vjo?] w.jl?\zv!.^x|yV<"RqyQ]pR /}GέdlxlNo"6akg ]7O&da`j QnXRPzh 2*dN$k0bFL9FTS}ij2 ZLb5朕@M%"HJ2 sN9ѬD#B=3Q}!m[Ue,;>U=,.<r~Xd2260>w u,4 _+qYnvI/*\<7Qfs% 3K}r4mU-(qYTԥTT[:Ud2@C1ٍ} I(|V2RfuȣVUsrDҮl<Ms90PI9D& INR.|!)i LrtBQ 5*jdjUQdCY M5bULR6C.bHQi4k֫p,*}̮qD@L{'Yu6gLI o'G.\xY] @4|4 89&$_^w>N£RV86vzIEfQ(,=$E\ه+H-":Mȱh:I)cHBޗр-#Dw>SřYǜY,@[",|C9k$SIIQ]!K:>Ƿn޼u΍f11?]7߿;\Y? /txqݦeӬb˚4Dՠ^euFOM#Mǒl *UhhQŪT*[[¢=$cJuRwl_;\QQaހrpޏ->c=QƿwMܼ~{oxڏᕝ~ʵxas'?|/nk_3t;f/]YkjZgX ;=YfWcz߾0j.j݅kO'ګA%=?7ԫ_w*?ܜ6/}l'>g+kǟ~b6^4h]s5PIc߇ÝbV1sh)FiAA&]_rY+hSF@``HDFYAB61tf\E\.,@e< 瘋᲍GwVM/ĵgrmlnNB53hQ8Q|n-ff8D !v}cN*hwgB;@ǓM$dJ"YdS8tP!&I1У D5Bd"͖sFC"V I15DM QA2ࣩAh #|NBĢSjF1ƪ/9 ]I9 hg:BͪjNGtUǻ!r6m챨9j&us`9%轗ba68mx9Lrt#9܅H׫eJNc(C6ڶ_,EYnmK4m0qQD1;fW1o?y<3>ڿsm{O=cW½~52o]M^s7v[؏=;/}w-?O?lz4dԳU{eݔ#jb2R )tb̄m&4sJE(KM! Cm&ULI  U2'9@Ly<{T@cBd/zQKjLx.@@S1P HLTCLGMFcHDkVr)&YX]vEdպm(qׯ4ΩYJln"ٱ IDAT'R!?"TrugBi#EQ33,prz:?]֣*vMUͪ.XmY)N'{iߧ̗ՐzC %!M/Iաoced"%Ps*@ C8 r&1C28D -&ZebF,`@hj8xyܳH8$bŔ ;iLjj0dSIT ,a]E5=xx:;;j]Y$/OD|]Vh^dˑN"qU64GqgŢ'e=nUb);@RTƴٶ+QN!Qh#&xL)rx}ߔl<*'wQ2"s+`Z;W_O7.$[h:&yX7l:2{c7[KVygޞN]Ph\Jbn!0_` /OCt ڮ{@˲"y+9{羼}ikrKU?$Tl5[4oͯ\xkT]-fME*­y\U}ȶXӃ{ۻ=L<].>9NΖ}t{ |ƫ_ud%N?@Cuͣ1@rT'Z.1v}:)G.b@)PW̘s?'Ī N L''ǔRH!(sJb*4¼gkO^im0$ukU%GsiNyhGF5( I53( ƬJAEY A]AV1z S%:AHܾDT4geS v^1"֎ !A=gV1_89$,XTsRP$0M\BŽws:>)3+EUC,Kf.=fms S ԗyLf4}c( *,g0*sCnNK!z<^rV:IQNZlq "<3{[[};LѸ s&#飈36r]Ǘ޸СǤE5[M ˬ)6UQWMV}{ewNe5S*u[մ1lmH'Ne( Gu*!5u=VAZݣ1HN\.xzkXjR 0)]:[ ;]G~R {U/Fv)/aU\z{Xh:|;_fվ}uoomT魓QN/?|,{;{i{ppgswG[7o~ ٚT42whʑ,sͼfKrLޛVYylE4TC4̂؅D*G l\U@ʒ6YI'@7lV>޺u{{$_CiJ8#ۂي( XBA4@33 $dQN DwHbHbV_f$HpjPEo?A n Q@|HLSwWs) f6i[Mw ۧrIYKsUHUCd2Mz+"S8f*:$68礔8iK=凈v= &ۦ*hwV2I9L㳗W.AΪw˛'Gs퓺'.<<>hA$mqq ({@hie\u]l}wuyR5<:sc~=^N E],qTR<WˣP}U;'a^{zOojߍ28īG7=Ï=Or՟Aܽ{)RNU;_*d_ g7J<Lv*[=o秛-t^ɟ~O~;_Ę9:珞ǤG$ UAR=u2$*BĜɥ{BLIA&MU{$ NuC4cG =JQ30vMUwT ,E{A˱]<@ #)_<1\I!2;i´JbNYj>׹Ķy9\|eS;bJT `u"dE;[Ah:BIrlij |4hih&h X&H.ЋysKI1e(Y Ir.RHiU'VJcBjεsfBF21zEpQ3&b&b9H)W4i@A*Ls8>0zJvlrԢL)cW5A5xuh6M)YӤ< L!D14 p1E{4/M9j&\e;bdc=9KPUdQ#u;c@TDTЧD8N4qFuJ6,yEiC]\gVtlܺ1}f-1!Kivp\8sa_\m$U}u1[mEAT̡jv!J^̛Pn?R4 d>F^Lf=hnZ*57xFG! 7VqOm< ym͏?\_~;7^_\Pf 1>Nb}J|̓?vz[Z?׏O?Z./ח)~qx[sHus w0Ɠ̗mU/ɵv rkH*o{o#y֫:aߟ-/nW>7~ܭoP_|ދ?׋3oi[/ b9fv u*0x"BBޕRD$3E&& Ds=;s\yLbQPDޱc$(Y̔bQE͜gBPiLS #71Tqi |q6~\`\q}I9KCIYSՒͲRSԢ|MVҨEcM%yUy.Of*iS*LE;7EST5!iAMs*|]>>f1_]Ϯ \. (qWʿC?~aÇ{_f~twQ10S (Ld>R c&b}.L#>y uF0e3sĪ =Ĩ.8UT s*8gu%qL4&5s*5CvQ>9E3cuR׹ f r ـJ.ޓd&E8GR#]7uM۴Wۏ]9>J>^qg]_ X>ݺ9;:<gMuuGv7/7oN7#Rry9"Q\@A!)r&5^, Y|·3v~W}ӯxn/|lw+>j3+岱|3_ޗ;ܽ۩ W%Dj)"@TJ]7;&B*0@vCT4EB0Fǔz߶ vRt/fGiRJ`BӅҐLӫjZ3@vc /u~#'9#&<-Ōܧ\O>'q3up0Ӌssv]?ES8G7nSʣCLA;3'gvRKco6x#{əzk<==k\”xAmD`8rB HXrV0KӔ!Wg\T>"Ʉm4pIrI״?F%3!ONj3C(x\5TM x*LC X"bm: &`)*p,62 Rlק>|~9KMmn{%Jj6eE25@v~/B=cj0 :4bf"ErruMBDd+Ϊc֡+~T5xFSTuclLH0Fpr.q@H?tul[UAh޹٬%QMgU5us d0-{Wr)"1FCTI\8ZJqsupR@-xvTMsVcQ'UNV*MD.,#NPrxf:-G'_!J.(~.9y$,F}D`Q0hS,!,g#6s$b<ՋR.CDHT5W1 ᬭ-RDWČV$!+/8Fd\ƔL ̲p`E$:Mƺ’n?l>\3oLuja珟4uHv\ׯj?hCoCŋy~ Ao9ݼ]@jv;1^]cfC;9!vZaBhCT ٻ7Vss<(xs>a0Y8M q,U hf3V w8dg'~ڗ~#>z'KJwwyCzW'rv:J;_p|rѻ?ɓ{/&|={ѭW?{_;Oߨj}`y2~ ?nߦ^>|JwZ5ݗO~O}_Fհlo>ߝV {?}g=n7A0 lqPbDk+` :UBUCRWu+"f(jXhȚDjTMM\r"rq+1w1f`&A@ !f((6HR$DDŴ:$8LadfCq|TKoal~f} >*(UUZןՋlqPЋ u$/rB5oz{18DdR\ &CQ|hfM~?n(6]825u c{vōvcomP̘9w]PR$"fhJ}뭷~'~⭷ArHK.߉sٍyUC+9"S JirE gW$3bizhrn*11\| QTK.@LDvM>@|Lk6Ժvw_>#s>☂E;/#[cjuk߯N8+Bcc1RFpJnJNjQM C |H9S8@v~x͜G7ΎWRڒ@@4eۜ_#ۼwݾ`ypqu\̅4_.~bfޜ?y&H< f7BdP, ,1n3"w.ИߧvY;iL"0`[J,㻮r@hN>q}ŕO@?v6 IDAT~}~l> A}}i|rxWsZCJwWǻ&vw/.|ϼRy^ G3~_x~ރW 7gu6Cޙv] 1~z._+o;|W^{ٟo67Xc9څݏ{7x]߿ ] p8ir9{/?PS'\5EEDgj9#goZhcvՄASJyc"G<+"!xh(R @Ęuds,R{F1-E'1!N qd$"4G+ fR"(ёyaODE*ziUͻl}**}ØխY#zB]0yd@b%g0E3{(IU\J v1tv5䂟u<8}9!{mCfUU{13aLyD"D@hf4Gu///|oܸ}0)Wu qHS4+ 0SFR!,Vs) s\DDS0Lm^bRL$B렇(;4)xǓ1[7կzs MeQ"Hq,8StB1k6hh̨?=TF) UU]aHiY7իL]EP2 "" > eIinliRξM'T5Uc :1&t#Bm*Tri}ӒHDd`f"#5MSX=x zuզC=kη-f3+)@4^*c5\Uqe/KasfXt(:uk%Rءd&.QQB4 2R0(sJ#*`Ž&M{SD0v㠂Hy`8末YB*΍11J2KEDKNUYUK)s\49|#%kw_kW^}k'''˙dS/AQTRH) ח @ h:6KΓLQ]s2{? c@$1M^>0qSz#"V7`:"*"R't>" ;H~LgBtDcQv0]みKʀRu)I%":1U1_A*U,*:Gޙ1\2(Rp2#r /@II0 l$9G"e3깙iS* & `%hfmӤ]Q͕Y]9w8]ŌgRh9C4y[ v}ux½ M,cTêIܽsHγv~yyjT.A 1zOc=yph8klϷE}χMQ|.9;#˒W}[DMsnpCn|^Am9o7.8(],bю4cNfM]ׁO?ug>5Zl.EQ(R U̝cXy{R1%=}}ϱc:JÃ4lN3hN1fmC2 CUeePU)GN>OW@iFcFgW1qtxq1k훫'߼Zuw4KQUD5ĠM_^{/w?/cfNĩT,FSA'B#)6 L-x7Ɣbp3X&#”˵:Lui=M7IUr3FK*uS3#B2 a:U` Ġc$d)=iEChp2i"gE$1"3^[:ΘL80sATXy &*[) 2o&0hA1" q$35R*匀.Ԏ!=p%yps.Z_o~7}B%.  &LB(uO?ּ9&Bc*k\pNE "8@+79x6OU-T!'}"$Ӏ D/!$F1 3hA!&ƪBD7 TFq뀪 C;4E+..}V#b@`)L'>1!0JMq}v"LS{J(T-X*Z \WAe"MdUy0s(͛E'V'9o,6~ֻhZpXc'g:ܼql} jcT+ͣ~T}qvLbŐG6PMˇ.T*\R1wlrBR]-5bV#?}9{yUEՍ!_=;݂䰬(rZC+Ǹa7>c >[Nݦt[m@)ɓnWSRW&ϼyRp􎁐YQ.윊*1w9s|[C;DvpՐ`Fu!CM؃OB8Q}g-6.vm}`^^^=l͏xv;:-v>u<^o@]5/ϟvХ窌_>|ӯ(Oʃ;wN>by{9߿*/nyvO>x쟾=曓÷OO"?{Ke5 :hMUv;?8XD`f<c2v%gfVS(""9h hZ096QbsE!t[5C6)郆g<ѹsd) "3CUb&*2BNZLU $rv7&@dbyɚ%))&#' mj)fv.B)X;~<,h@HDIF0014dSV͞HB㠢˪2Kַ#@ǦhS;9U+ e` tOKó77~ݻO&Q7ߠA?3?[o+{xxY U0~DB1ƈ`" CYĔj 1"QYVbH0`$8yHe1(@ TY]KØ#HhE 0eQ#3(`H40ddf:#1L[m"Ƙf ̤@j:1hL)N]Ǥdb!$Y r%@v30sY0yGI3V9+-8DP$&j9YL)OD`%R]UإHC"f9+ys^C(GҡKNA%;q8aOQb%_TAɭ6e=uv+.7ŬlB٥[hkfù~@%&p1|y]/_(+*BkcߦиO֋#Q_&>wMO²nvm78 czjI(i9©eՕC:wGtxu+qy4ra{gG.V.eYEa㘖99k~o=X>'<oՏ("uYޤKrQwɨCSn^ˋGb5,Nnm7}ž:8\ {O/gXty蝯բ|.~x9?eY~Se _ݻw뻾|E XNĔ)3!1'0p cDn~_EF./OONEG#_W`}̚(mmt:*pMXTa!Џev;.*mFb*e;\ 5,fM?vIrS+juMm:/ qJ)@)82HUsV lA0;O, MbV3yG)i̲|q=sL.9EIYdiQ #BJ95Sfƨ"CR@9S̾lR싢@E)il#0oA%ص  ./v(۶'.7Er_;w>}+_n)"`Ā`IHhN9$)c7Ĉ &TJ\y!(!("y&$)AUTj IDAT#$%%&CDSYTq׍E Cn;ӹNs&aj:ii"fQxshِP&LUL%) QrU"E!"Y\c %xF 2&dr;6*(M7;=zrLeYidvlcd@C7P̫L%&q*Dfiq 91]9+wk5t8mꫯ\}$Zzا|I u./.ʢwuUcG.I*ƒ=yAYήwnn W{d6 e>>Z"*bXj5؃{GDS_:#3XBD<bC/ ?Hn't b׻y48==&}c*6۫@8o73䝎ۮ }YY B {f]~8:9ZG'^{x# >=??לcqZwn>uӮ~lÓr5lѻcw~}ۋwnh6jSm~z+Q8Nh1n{WW?OOk A f`DfY:&D~Zг(\gMSxyo\.aydsxqy~58usjspTl-4i& s.&ui?`JبΖsܯb,X!ΊR&L ٗM .儨7 Ȧ,&̰yUKsh D|]Q43!Q!69p0^QURA»!BYDcƮM,MO, &{b2QW;/9Q}PռY>&:IJ/\D7_{oo}w*QLHP2}6sN0+uC&"S @mj{C$1""9 䜧> PAQ !,uD L\qΓD DxL"i6CUWr,EIr,6ɓIL5%d)&@,cYGrކ>#6C1N P wbSfbC:HL ̩f<:\bUH`}?$Amcell̊eA d4KQ>$cхhQi\)n|pvOӭ~oOOrSU_O>XB?[={^fۃ*OyWz쯾⽧Oo_tI5e6 b~(~{?hUhjqۛƜ&z>}Y/ϞQgy?=9RﺶU1ϯ6mWO|vWj`V\^ulBDȧ'l"w^|ӷ|ڮ_\ml9ʗ~p~1 .g D?4n?=g`<1q&krL&zl~b?ͪ"EʑPDot*2qPHƘdD"ÐRdC0v|DØ1q?D D4rV !SQ\EY5<9 TDUIW/CO\]/ƎsEyvcD5&cÇ#OOܺuC_7CDΫNF DbN8uħݐbιi ǖR[P}{'2Q(1yM]zY')e02YSe/lV“Ę9"4DU Q<L4)vC 6#&% )d+UME S| `)!*N/>@c"F= }HYRΙ񃬛gbtΫ1!! D TMS%FAu],"jޏ DcLKL&ľY硫s p~9,ŬnW[+,99x{grU?4bڍ#ק@5M]ۮ|(yNTcg[yiDEC3 ZV!'O˪*RjBY0;TE&s%ߞ^6y0'<9\4e ?/TO-E޹w_lNj*0_m>uBј583xBo۶达#o69 W׏DS)PŜc;>{rs1먃9==Lh1Wwi N^RBQk?r;ƔpN v~}vlMe}FvЭ }1;H7A??;;gv7mrYٌv4}쇔GؽSƾtA= ;8ZlwdXL)pn{(vL2no|VeW8﯏ݵWb)1-MeͬU|fhnr0d1d-'1D)(*!uE@͈̑8Z`S&&20 )ĤuS 9a ۍ s֢TjJJf4=AI,BTd@ \(58&Zθc q:", j959ɎcJ& ?{<~޽{ՕsM4Ew@`d)gH'735CbDu]A*·9b2#PxEd2fUéMH9"sN%^q6Mz9 "ĸc24DpL%O5$$)O<|)0D-BQzP9*w7~'74gfy c1 y{g"ղMeR3Ff &ABY#L|8<&$eH9gU%1*KNhs7r*ۜw%ZʶuS3/3bf^,W߹ZfK<_v$ٱwVQ7o'_^ƽ7۪`Ub^U|r=J}@8>7՝rkBD]|Ůlk|=DҗnDL}ۛQ]. ǘr,LDe(z>lKI|a5WE`P6G$]_^7 wN%߽u2 jܸEGڸ_Ip\_ mߍ'a.ɝuhX,톔fv ]3ѲdUцM Hs&ZAU2Ĕ@45 0iBBGHU*&r)+19DŽ)+.' md&L#L9"O-+"FhYMKl 0Lb/E]{tMUY8 s9_; {/>???1o\A#B(aLILmzL}3yhS!"Iىj*y|H *&YpzN,{@@Ď$+"1ZYDabܤL8t3\9'3Ydd2Pc98"jЍcZeEȞ=۶di PHlhŒ(`9JV&"FQQQ a]"d:7D " 2d$RTah;!tɳH] S*hDh*+w>eD#yZ.98լߎiDrvYz׾ZI_\]s1"XNwoX^6; E nݐSfr1iڥ1"RKh4Dw8zrzQ$fjZs*K<8/CY@<M.>O|D0W4^_|%gw]nn4ozO'ؐn? jq7P/k,k:Ćd4溬#}~* YUv.8iO=;ϾL5S5J~np,m[wY.|suW];?ԯ߿[N_q,+,riM|/| =B K?=?c6@pc`Ɔ9i;v$z}% T}_V5޽{oIt.8!-拜&bU?+eM<\85+&1ًWWۧ/toq{>C7e3q4tBRƲ u\fQUIHb}p{h<4E"TDDDɉ/ C|Vfu@TUADT,tBF Dr`y !jxD$LkHqhy9\@]o1% ;C43@5fcb]̆!y6uS sUUY`<nK1W~W~~7|nVZ0[Aao'``d sN"sN)Gc&FtR""ދ!d X(:DG7x)K׍ hEɪ)YcGα399T;ff& rRGH)%S#BckYS(@w*,"8 9OIcD. !2H.0#OBS"Ӑ(XQxgUf#~m,ĖbPS&vLEYVuL⽋}.E]5fV#bpvYm*y®]g_yQfxHf*,9 >oyraqpZ{Z./LJc?B 2؍i{gCl -1_]F@=K,TC#~/GjpƘhQ AY2=[RRJMyi}׻a)6keQrF,Wݐ6 ^Tmu::9 ߶q9WLM"ڹ0j-}ExnusD-Kݶ7Ēv?/믿|ѣG%e9Sd4T @DCHTVaSBBe);@Ϥ7M4`&",<=!NJyhɲUvЬf21K @Y ݤ~'R?R@`朋9# fT4fC&3Cs,Y!{?C-h)k6\ RLeƔ9ǬD*-hb,(1MU_5̦"9&$j CDgNAt#/˪nq>q_sI(1|SVʢe<źʘ+_lguO<\YL]1*d(a8 NU "1P??_q8u4#yS% !J,,!Zkipc~(L!XHЭw/z!eS^.f`]:9-+_<{l޻!&++pY͗_jNkҳUdT/d}#ku7ȮܽȶW}hFAtEU?}f3BI蝻sYӴl~^4,˥쯙 .VY {٢L(PH4q@\ϟ=::\4{ω!m Hj)[Nbbý~뷪?=qTiqʘkX}!'_|;'\hY4% #2/8U}!@s9')w )P IDAT-c&"Hzbwb^۫%iQlLQ(%qD1 Z n{SͲ.E*9"cΒP4O+& LZ!e,MI.d;553/zr9%d4 }`D̘zODvcr!ahTL L '?XiG_:o/ЪѺ-ߵ;w06~VW_s}'>lfl-=msSwf}yّwÐIp8&hDLEAߥxeӼ\ErWm\9oQm:YzVKֺdDv>~";^.Жy#dX<)&mjƘmw!UdՅظٜ/^O/_Ղr'gE0`qeq 385W"4.wβApnۜ\dq<98H6gݍ>(EpK^,K h0ZBmێ0+|xusW_w%϶۔01 q0Iؕ~OrԴvU(b5ĺ<b07sP(CoػOϯϯ 37c;ÐS6yѶ;S]V[݋j71]R5t:B"`j$ ܶfލT̫f(Sι) I7fݶ7fM5#zgD\Ywα` "I $1Pis/HRFT6 TStDJRrssF 0Ȗ*8Hn}eCɊlFfcycDM1w414#CpYhMN%͏z_g?__j6j XʐS;"(<>n6m[AzW1g3 dbxC0C {)3NF"7#|؝p$5sL$gmd$Vq9<(}I.M3U"Cu\VȒl.18y:ըc]JB,v'yyx]`bƼc-Z?||0dc2P+#?#//hx8[n6kSP,켂JV1f3m~og:9/3qpv[4ݶ%ǒeTE&Y#ZYY"^w8Jh{MoT_UW2Hqp2YHD"RPDBnABB)x qE(7XHD2{Ov==}XkbUn< .K]{7qUtHypo ELB꽵K%:{Q`HSD^MH S]SNw1""Ġf:s)i 4 B("B%ds.mj1E""HL 1|aGCd"5$=%sI)F)|lQ3;B"@@50pS:X%kT 4 @`E/2EU]??'^4gLZ]hЦTK.MpYun ̨ʳYbvPJA5Or`'6eD\Bl@QjEŬ2k$= VsQ% T#vw;Y[-Drv!u椱}ѻf^G&t(͂p Mpĭ'W r7z}y14\<-nvYx_!iUkafZ3A)k(jVu(Ť33hi  hWŀXRکM1i8in߽uw fiaX̖^dz嵗~yb8>uדvS{K-Y8̳~cX-6qٵw~G~>Qh5܍TYQ P\Z˲Z3q",7Wfʠwͼ~XA ~iqwwS޽x\ׅ+p }wo׳%7M]>tTV9"Ƙʑ^w+4NAԐu7wK_d K̅Sq}W dxH"'GQ`qjكW^?=y"ž[6׸ dhhFy/7~7/?zۖ8G3$tʤb.e`$z_Orqu f;wn};k󓷯7'qjKVbw(۔q?r场'ɗnykW@ zlxL n\̧~~a Q#,$EAG1DP51 ` ZT%)AYWVBh|L!qM-"&rE&tHňB^@U2Tb%jccƍ!oDŐ]쐐ԸbTOiNڳhK`I(cN \f`H8B;#V<43wcf<vM@ʷ#0$wA$;M M0OA d4.WAq7 [;oV|غ]o~Hk_F7odG_}m[P6MfӔqJhy2NEyE_oֻqcȇ?_$11"`;Ǥ>xb;@p`W!xj<a3 @mh%Ny6o)ϝRԐChr|p[vm|x{ǫ!5E3kfj ^z}f8ł3ݦާsl5?;9h{v}LVR*C,*@\hf,95b'2n#`>sߒ vЭ(> )O-2"i(ȘrWW->Qʬ(9΋gx owrsRV5{ͷ=~h;}Lu7W7~o=FaNݻݤiDt\.nۘzM1n><=vs4.tF19djFPp}Ƣx\̽)&f"83ybgJ$&Băji޵@ƎSմɋ~̐,R840O U,@ &fjT.4bV  1!:)Yj5:OH`6TTL9bD5U!LS 9-TQ$P?|/o._z!840@baYMTr*cL$rǬ*k[1$")E3bbCcrTcL6MITm֧UTiןJ 3"(:}`9жl1䵘-0La޽ޫ/M0CXmӴ 8%7VAZ@mf]ӥ0>c? ˡ_.g]K)/×?~ƭNiوʔ1>Cb[o Q.` ozIQŜwhhC3F?%9f>RQmTPc %vZ̽߶$ d gӣhu\2E݋oIdjk؋Mc/rʻRXJ}HJC~ mKH1WS3Uj%(ZъfLcՒQ!1"yrUkm"Yb*bMN 0BԺcfB4y"j&b)Wnd`ghv)B{30ǎsÐT8!b*E*  c͙>}C?O~vDHZ,K.B`FH$Rih;AըhXMc΢=1qB\Jǩ6I:g:cPD))G6zrmYT*R|"b/24 A *Y~UQܑ0;ZmO/)e-wm;wg ۵h'].fq? اTc$%9"#/^\ߵ7k܌c.LjrtR RJ*ńt֐rJ*:\T( x KsdBh`Ԃ)o@'sx_\n1iIӫg1'GRJQoo7S]3[tsﴬ構3CzvwSN׻~R߅}6ތM)NW?}~'kV014$YswӳsBMc$":t呙 5 SR*~%ݬ4۫qz|q9NX,.o5fV`΅F,}L҄&N?Y,qm{Nj>GS^R'Sf 4L9F xHS]gO=o'Ɛ棧݉G{;=9wGLw:~Q=ϻݛ\,fMGu-L4~׿bmϞ=7]@$gQ]O1ʹ T Tovvl1 sS W'tP>W'4xqI˾gח7w4ŔE+/}򟝿M3!sZbqL(MsfdƔz6ljĪ/Ӕ"wdQ)%3CR$*R0@^LD"\9'DpID)ALL VN2!(1f4(&"9%H)$u{B&9[U51#M1,`PV`6|,+ޏ؏SbYS$isQb%@6@(j̜r"3gU 4"r-RJ~`0S^1Q0g9KQE&jB"T|/j;t@"5t蘉0Ra}bgnnOvmET-g mvS>Z...o1Y?|h=ccN㧥n6 f|{HZaʱӐR69,MMkQxF>T+pUW# TTs%0,Q@LL}s"ZNIݑ;S)auqPKbKdr7k1{1)짬y1; |%!27[-ڿ_-7}"Zz>#%4t#BK$61v>0,~7ƕjx~~wiQiEfT󖉐fv׫3#bz8]x&2핝ˀ<ƤmqkAMLJXǨl,)*NS?4~7ZEerp!,ݥ(OНO!^Oo]7cUS߅9b)U܈/S_?O}Rg>m++'5o%o>#EhDNU($meB)EkYh|vs\wui{I8lvy*o6RC2\q |6)#Z&Y}`TT9!*"!4NԼc3"{!j'_O{ţnلM0dPCcCR&]*{7v]+J’t 0Q.9G%Efn7Pt5{/ IDAToMaZj{w|:{Njwn3/ˋ=lmoզP 0fmlg:en-r ;M9h,˓bq˶ w@0)2pd:Mj"]o^dq,,4I"NFA4Qs`Ec3y޽{[oگڋ+s7xK_ҋߎ2&*&&VFsT*Y7 /g0nnķ J5]bѾ!b%PH?(Mh&^mַ}֛#Y,:qѵPna;-@*R$瘱$dlzGȄ밋ֵ̤:%f4RDXѲeHe\ȲlKH.hȠZ;IQrJ*a"jy)X~pn~ۖ}s ߉26U5RE$"3_S#U4sI~2óXk~;YUMONq):i,dZ}F`Pb4 40Bfh;Ebj N;߀!b~m>NE_M`G}4-bX8fq6o_\=MDJKUhZ>Mwq9O@TɳdebFf%"vSLL4H V >`S֢fr,=h19L\L"jbV?bLn?כ-fyD&2h1;?aJZdnR[]+nK S"Wr^xw=_L8Ma3*gOջ=Ov=Mf%ΝXN[o4%6Ѳ-swsӷW[0b՜J!<&pKQHsAo·QdU~闼_Wڊ)'U!32jsr&xD|u<1h51e&kvz`c)fzv_vkcZ2DSkԵ 4|]CZzh8fn$)5 8#PH]e'4q7]TtRs^m0m0R)@U 8R*mHI30"$" H,UIjkOUs?kE5I=jHٔ'9"5ߘw wR*Nq&bjo aTN 1#\FrQv(Eٓ22F4U CUZ/@\t 9B>]=y┆:n hR^ڻsv 2n}x߮w]\ۛvn]S4(d/E)l6}) # 1`*6a"kAS-&U)#R2)jD@5 1Y b) `l*#, *9GrV%h <&S|r/gWv۞p(YiU)_OLjZw$쵶?~gn8 1bfuavRdž꨽#r8ŀk/N*-;1EyX6f]aSiڻy˞P8%^.]N2N|秼+s_AG's4 fBdSN؈@$@ڏg\4kSj&laz'.m''q]1f=D'q7{TH=['G^?q۶r>:YuSQH;jPJ1DMZ // _^),ZqHHjQr)蘻6㙃gW=pv~&9$hޮO{|q!ETWtv 䡪lyviq3l>MC~#&4Q_x$5 yĞ{.Zs)őC1+("!8TEHh=OQ1U@vN L9) ,a"b#b)Wox *?L=wKQE~jP J@X!,R.x-1bMEQ39 @ѪEphVjC@$1v@m}oNWsp9x 9cJ(bDUeDDP9K 0("ed @V0Ń쒹ƟT61IeτP8&rc9,, W'O@638Mǫ7/W~EN^zinzS`-^ YYvqO.CS."߼]Mgh @3vm l+JȸT2I`3UFMz5SSjU0*9?n3Pr 8yQОf1{7`DzkA=W3!Vp;F{NvR  0"&4Ͷ鵹0Li;$Kb;P-Gv\VsU5v"2f3V8&]J=/s$\QP-yXhr]X1X />ns=j`blyw8z/JI}l gWۦuRBS$~Kuċ@]lTvU _r47dYȍfiɇvwFQAcPId=/[J @v͆{M(QQE暧81v;ZƜs66/k?w T,;MB&N7% 2 PE>j-~^ыwYVp=}+4 5!$,DYX=~tգg0"j^# :D cHXtEq<`hfm;+9S˾yQdx~v2Lc3kb݊ѮOvDD of&80(jĀPӻ ѓT3PLK6@U3D14ۋf jƎJ$*}@Uޕ,*ƎHVP<ĎYT ɴHEԮa @5Dq06 )J"!0XPU 027j]?ԧ[1csw@ \(R PM9%9L IDKB U|fYOܴq Xkvڑ ru(L58e'G4"Zm6cx3ӳo~L/?yYo] aO'_gs;kYDz)è13H1A8KJ 0eQL@l{-}LiuJƃ|vSJD\Y)w*RJt !v\r~ XxOEȡRuק9QD2\$/"ZNP\pTtcJEPqc\@t*`ZɰT 2;:T)g(U kc~??l^ .J* VP (R4sʥza֌Ȧ^51 @"Sź`f- V,Uwj;V"UE Ɯ̈DL\h}}f*jXkg6N8zvsӶҀ)'zr'1Rd[o?- waָj=(΅p4o%i pLXJQI@C@dEvLmtu E Gu YQGMIeumI)sE!!3=MαxlݍenͶc{'{GuO&E\hs3cF&xLvMSBQ)ټgƈ$e= NYY3YA4d%t(\|?%#;o(& 38mXpnwErTbΈp˦ \-EΣMY>y$8?O_{yK붩 YS"` s?yzyOV~,&LyķkD􎙹RGU4t j6NW]@#dhJUD}V2n63UG\ؾeA Lax)E)𞦜ETjM>xDt)Ev5FD#U7Tꖪ`lË$"}CvXîNb ZU #"1>6"b`&r̄5iV/Bx뭷ڶ͟6bw:5ímU[DBTlMEKZ)"5]V#Ü]EA5אSZݵn:AEԼmzY9XS$ ;s08Dȸ޽oI~];97t8Zvw  c˒jBLILNi9kŜ-i.,Y41c*ITp4l,!oHB.h@W"`fHE~@FfNUL Ȏ02D!KV<X v~v?Z@mRҫ?Rҷy赇S1|m5``s:xf3(eƔGD՘ ,|ޡ½.Nʙ?{˧/@B ʃӓ(-Ypo4˴ _a]U%;9ӴonET4O$9-n<:oª JHst-I~">Є@gglB.CNc")MS&n\KHC@B? 卯[8b\V\rfEnc17Ǝq{)ٟ?/| WN|>%j}@~,l_;SIff}3|ƪ:5uGv۝mD`p D@ d  $G\q%@`DX IPlv܃{Ts{}Zp]݊w"\ZӳŦ61oXUmg$BG!x3X\tW?vzSx({i'Bpݭsu&ٖ^DM3 W.xjG{ry##ֵP_;vFTeERZ4 NG &\YGeEP:TR ͌9ϦLj )GBt*y-f@$(ThLId;,aXJ_Vf&Y9eeU/Q};y~~9ͿPa޾6*>آʓnUhY oBed&R!3YRՌ[/)9X%5 #9v7P1Q_HĵӋqn֎o>{Tp)7M)z暯lgR9]|=_hԀ8E.aѸX\VlIU՚q+pXwLURQ ֹW$+1wP>]&v\BL.L$## ʶ3r]~R`, 12d0m'X (n{M,gQb]A!g,Vj&Rú g|.ȷMZU` bN,9:z:3ivz[6DIbr?Ȧ!>zz~;q*`HyXya2abd7'ئL~H<lW= ݵDѵ5V0qu3>MPTY+<{Vs PcҔcU?:p{ xΝov۶[,],B+r!Q9G;''gj(EkNM76>]6gx6.z!QXQHQ}굏7ӽ7s+A]B:9O- eԶA`ȎIL e1Q٘vZ@20"SHRfFL3L)0-퇨e5MY%Ky4ZV0SU) VBCAU J;&"OT՘`XD\1C"1 $ *C?o%*hAԉȹ)o{{Ew'`*{ !vi),YT0Q6+]︔[b_Vrd`x9u*ЯYBaA(9$,;j,vA+Ax+9]ٙu_v3(^BדYYaG0i^zggk}?PlP4&sNBwL (inՎrPJOHrYw)vM3LF!Ǯ1 5-io&\l{$׆jr lAt-_I mT1dXdIYaR̆ IDAT?8~ք'm{lrd^] X FT搐$!1|u"g ,ԜÇkG;[,ygs,<U_됖t+rPlxxoGM5@ʿ Xm2 2u!m"%5Bb9xZ-iH9fZb wJ"Jm q%ˈ .h E[M `+MȊƆ)jG, $9"92͙0LMQY62- 6PC5az9S3me[짔ȉ _¿]yc9e}g!@`tre((ny4Xe-H뒉2cJiq֫˛MWZ太Ʈ0(hX(d"#t~tCΛ w~0j;f:MfXEI q%`Uu[:@0@bd14&*m/H(*n0Mʋĭ韶QMEp.PcQ)*50K!ΗCߧ,,CSJĦÐV}J"1b@શ~'lPU5QDBpWɶ1fv(fZWԎ|΁^9VƼwLvP.j՗xY^:)W#_j:5u]vT:Ͼ K .$7yCԮsШm}C 6h-Gfjפ0\1wTb6@̷'fλaͼ$_ΙƬhjI""ݣN'o Ia+Z5WiG!i\*orޕlBu&&x) #ޅek,"=;JBd- Qp9ߨa9"dbf"&*~|~9Ŕ!@HK29b)&(o„YV^-K.,IL/L.(EEtb!g-?8L9]kG,XTv~Nܶya[<:CᶋjV"Jv f0ƾ7J "ŶscX( LҨr>n:W7F;bҰX'T+/j~0:tmk_l:iںL.nIKY%x|> AѼ3f]`a2)"Qּ-.em*1DS -ɦ-͐,\U-Z10 j|^a{D3Y\lŝ*&F"ΑJI(K&v49_y J 4iP90l*Vh'_Li":D~ *ϣi;hʐ TUFQ7O}Rl^~nQD "B拳SW_v+F8GݢppJ>wxuT1O_6~zh6Q@pM֠AE;UӦRWT&^/frHI,k=CCr.4Ӛ,CRݫF3grM07qp3öѡj7Ŵ VUKVl#pܖ|oWQۇaYmnhjƜ#xT!9U!jRئKj!;^3|[}z||7E_!Ylo2NƒUq8xLZqXGRlzoG9M/\D y5"2䜐wjX,#k@ss (8Hds\(҂"rj(gCPujfȤE DZRO(GU8^6Gt&IKh=Jqh]TXi*B*?r"8k`l]%VW >$v^ŭQ|jۓ [7>JSUaMLf*D$R0#@TF Ь޶*W B#٫ }8 \uݚ=0|1wB87ll|qv; v94m埽՝l&5LK2w]E]ettX3tTC@LCTPrmۙJYF<(nr̒]̈ 2'j"vP+.ϥAsJ&j,ΡZYޤ&ON}Lj.\۝=z|`4'_otJhy8xEڕPx<,'~L0spn2?=~;X^yq3gg|/7ueh[J-D/IdRɛ>r=hb2P4tx` jgk[&#Z(qzYtv!t_i6EtsԪ庮\_lj]b%\3W_Kc}<:8]CTQ/#+qkĴ 2 <Ѝˮ_m=;h\urrPOySLr?R7hٰt:Λog7>orp4zxݼNfD#QLk8VDRVAU5P) [V!Tt߼qq;,@3j>,L[OBNI4UXFc|pljٺb;g]yz|FT}'?f'uQ%uPWA*18\DX|{|  Ĩ PhT~ME s`&Kp `):G1fA`-_&GdrЬbZ S(5 n8(I΅H-8T)])fє@-1Z]@`굝wgX8T䌽MY=iyWv;/Me۫Q^zϿ;iġ['=<~zz۹聫ۿ鋛A|g>(>;r<{`rSս]c2/.֣v9%dK2s^U-sוw]xa/pͷgsdcהjnvbOү^;45btCD LH0-02y X21$*\cYĀICvn~g>588gz˓OO}r?{y _Lc@w7n .N$fqN&_{{|rM3*dD L%bNR6ƪyߘ7]Tj21,CLYs z؜M]H3uv1CJY?C5+P3!e"5Cj0m LHFT C͔ 4uP.V+ fF)Km@_P ǣЂ_J*b|V)eB'9!Ŝ-^o|.1@0uYr鸋CN6 in[:AJ鸩4Nc.'6ÀܬסzοgwwqrS>ߺvZTϖ'_erɔ.<>l 㟼:}=y|n_swxB:Nh`SVCQ;@ )p'ޖW#!jv*DkW3$h{t >m˧o`-˷mtU1T ,UH.vW28HrR %iMEz>o_+=^?o^yrާ?kO_w75W^~??X~鋻GW&oq?C mC&1ElCS2 N!O=ncN )FuU_xc_w?i=/~_ȠB#jqX뿿g'g??9]_䡡6aTvs"ո { ؑWQӧǏ/ LPkr{N{G{psGg>w܍]x';>=}g}CΗ)o~jt Q뾥/|g_gwWb~z|SG<;6 }%>>yO̞ftM4t|`*\=:(@@4KW GM Vj$M1Aj{,jJÀE}RZD.|IUM sJ8D!F1Yȡ*:֜bxG#rg%fPFb.?|8gZQ pR,CVK9 "*$tgF{fG M70a|Fm@i488D[ lp+G-1./ 9,@ze١)cBS~߽Mc8 z>]앆i?O`W?c??o_?l꯬+UVE靯~uW?a`p]I+̮f>>:шi{߿.hX*"Cιs-l% iKKh9gǸw(;l׼DhbH@t\oh~8p ubFBJu D9PJLR8 Uo5 d*j)}wߟc_9^z&{|q֍hs~ߎNkKv׵;7_]L?Xf߽`Q/p8lHQ&s-dVn?f̹o{ߺoݾq}wn}_MWOC#rU5U~Ͻ7w~kŏ|{jU6)0h0 Y yn,V^QF 5-?W=yҁc-TU;ޣ nx|Zb3My5j}S! y}Rt$HȀDFchF.`*(&ʹuXŭ|U&$Q+GY0Nn<;{z~oʳ7x4vo7OdJׯ7]ztxpsM;׿`Z󃋅% m@a38 sV`P77MƜ}z5U1`T0U9偆,!Sw)g3[|NM{+4alS^wĘ!(*P݇r͋aΖm lqFf hՔ?U76D%5M9_$ %O DK4bj +Du $$ %+1| ܞKbQ(ڇa3@P]VCF M*? prB͠dS"Y^V5//b|qpO.P@v'Tg![vdÐԌ;Gջ:i𝊋ü'߿..CwGӟr+UgwoM/[o8Xz?/>~roGhrUls' lֲ@ejdQɶ?MT IA KE RVhjg0DB&U!ªqf[31E HfE5+}(bˍCp׮[ջoƽ> 0P"* !!!iL.8Bd[fϽv}`{ ?l;}<9 wԩYFF7ʞmA4EY-{wy|џ]/~ٝC޹nwjZ}Y I9d|s̑Mhĝ.j 3Γ ECrhQ$%]8d]-3rȾG .!e1n]\\W'8e6(˾ڴ*ȹٙ1:f*ٌs|$`L˕ \KhL9>GRgbt>èP_%Y<}#w8"EZ7N4 WBh4Ó.׫ux&_,YzwKY._>d>S= Ρ4䇔GJՆ^,\M@vdf@qlr6mg0db5Q$PQ(jJ)SN05,VT`Pf5Bh8U1BN`*InFąʂfF Z":\p)pd2UɂTjv3DP?ȎwLbˍ\z4nU+>|9~myFFhI%tm`j` żÔe6ɉ2 0 V{"GCj!x&UTQ5~!9ODu!p8 ;'iq=|za`%_usm?[$֫|>O) C)Dƒ'v-O2X3ý$wO֖iv<(a t*Aͪ D f U(fC&R6-~tD"ZkTH@Ls/q޹઺N389p^p<{tpŏg\Pj+:$)A`R}uj&û{Y_GF'e6: #OO/vbHG8&Ųm&ٹ'D0 >mfM Ԍ[!Wo\/N_5qh'u\$PQ]}\L;$#rcJL,RlEY F/I ʓ#OL= (uݽ`~E|pלt; IDAT<[ݺ/+c4惄%''N߫ebhr΃t,!C>u~/R=쌪i5C4l-f{0 TMss6KzgYHv4'=:3S;OD)I,|^ofx|"S*Y,)[FQeC1fU@qe3ChJ)KKY8dV{gU w&#R^(u"&d}`\՜zQ)r6eEˡEfsl < K9A1|qHyyw1QNAА0E3leyf@Nا"bJjWz%X9H1#WWSVjy) Đ1+X "+Hd_ji|`fUpDl4']]*Y<9;r瘉ZU%|q1Jl'Ոrx_Td2a軳zZHB"Ǩ*J+&v L(U'+v<j<>i`ѯ6E?rf\L)"dR6vU-QC**T$ھ.yZ51t̋jUCq,]'4u Zhun4J rS3s}ǔZ@ ypY3BĻ]W^|ٳ'?]d 8 V#bY:^rqT޳EsbVftGUjZxO>fH~|OQ" ?ȿijPZVa3O'痧n(7T*&'.z?ʴLo^ϟz:/?JؗV00o N#2MV9yx bn,W !pb><}~a=|"I?zz̞TϘшMЦyYfR7tr9YG}$64G{rn%Ni]e'#f%d j1,y@x_cJ0sgN.rA[jx}'fD;B&s3cdU{ޔ*Җzyji2Z* ݉E \z zsۛl:#PxO>cgrdzrw` M6`*R}} imǃlmq| nM?lt @pܜ%v[䫂Ng9auyOVӢgc)c'FZ1wEa>vGw)2 xmm&j )Pʄ\uS7}c 9QΜ([# cap,p"Wյi^ˬ2E]IIqcEt C6vI<@D"s),L>n~tdsnDNjh$B"->et,ˬUuj ]/8)* TD h-$BdS $<'PyO =0C jqUe!$D-2#9 69:I TS9gq@diXt&H&A,b֓Z"e˃tEg~/h 7r7_\ypZH@CD%ms)V )S0H8!AR=_ $r_B,ZV4Ts"p}D ݭH0wy/KZ8aqf̔`۔_jSNZD2e)K vzwyw>m, um c 3ƥ[66iۻÛoٛ_~s]Ne?\!̥xeF1k} RVwDUN`ZG;QF:<0=ɗ귷Sѩtm۝#0v2sQ#v2]\Ъó'yxdim[2[Yק޽r*@ VOk$¥ L s@sono2d٦qm!D#0!Pf&$D pSD{؟sl6y"u]^\ΰ)".RE/K)2W ֥T@"Sb旱GNX"!j .mE' L%f%8iV$ HQG͝ ]QrbS9;""r)gJ]'给A(  N:@V:QZ+Vi @פgT$\), b€$3%Bd"w\)ywGY /OJm)53o?^矍x<ϗsa/^=|XXi&KĮZިWPvY+Gj *:2##`YMNӗ`Dp(-~@`n`Di@!IZ&Ii(]HljKQ" ZɄK](IG յF.pSꈀL+DerG٠D3Z]7<ӛl30gf!$$n&^ lj]w#[[fM<03''?y:??y<4YMݱV5]؁S nlL)w Li;0y 3:8QFCR/|pbx;-xqGI" ~eX%x뺔zu.urOe͋OtۜJ-R oߞr>Lq:M^?|1+"%a{LW`4#>V^lͪvco#rSzhL °WSqH^ͪ9@bL]bb$0Lp5_P{B V+ŘSB\fZLMM?ޏ cվhONX#cѨ-}b & i+nB#P#uDFЉIr3wLHQ5A2Ek 䧿 N_zMp,4^U?|STR;Eܬ,ݮuwСBv$b@-º.hn! 2>eN"(NiĖmLƱfNV'!I$37ݵVWeeYT:$' w8'N#X=-Íe2t9d#Ҳ,]txrKecmr&DZ^q!ǷϾ;|CM'Ёuk\@`2/r>3vnӘ -1b9*L/O???{};o.e$䜹$ @JoPͳ0CɛgnC7#etrG%Ng}7%vLwwEDno@_'Mn{&v7 TLtX2i ,.%x7uDDFc @LaC l"#ֆ rIg5$wDF3-LH$WH DL87Έힾ؄648f xU+ bIb3PΒTէ \fW]$LY{;QIZ| 8"1DgBsjk4c䀈Ctb>o|(I;׮1.G y,8HXV5u3"WO\ZuUx &UkZ̗ɬM ERrUM}ZYl##E01;轈@JF}כ\*T"shz,4.]!$I@YKi.m}L$ÀDrooo>|~ٮ.ga1L@#[%UqYfD, 2/s]^}.v\N/Ф}_?AqW?>8jbv>41'm'ʒLaQ_<3fnw$'`e 'ϛyZKbךr,:-_/n~x .YH0y>ИznJ W$`!eR1hGB@-Q!:(#nD4Zjs\ZZl)e1Z"|3l@|* @f݌Q%. 5i!p)jp]UՔBk"RuHC p`J5jXHRK83I1. nހ nqP`åU5"}@<.Uܡ‚Lw[PfufsZr`Rօ9m6?$?ko|o>m6QjЩz:EzdL ň!1~@8>pN_0qSgnj+@PsԱ.?J;##0TfY L4|9np>i"ƍPb^Q$%`L쓽&mok IDAT2u`2Z,v1e)ZXk-nsUÇÅ5AhP2<\KYY1O\796\)N3mMd8O&R5 =}]!]ft_&,836_eD1#'‰óN0$T5sybgwvB e|} "n'`L x\m# ##zZ9TU3ڢR #aӭ\̉QPmEz4Ԥ '5p jYH\A= zmӣ)%\" P1-:%o6[9=iT#{LZƧ~{7R8 "+:- 4y?Fh"i-:gwkwcϺ ɛmo9PNs',|eq$]-e9k{f#|!uuL'fuf- O_W>ՇSu}-8]cQJyFEhx8ëfx(eR+"BN(nw?]ۻav6˸4/h F,rpMuV&dgKx{C˩cfeKT-α=3_J(ŵ /+BϿ?G$[̙h} Iq/aZN7GՉ?zذ~ȊJj.Kt,jÛK-4q\j]TkTߦ~'7ͷn'wƱ,vq4tuzJZLՑ9s&IfBhfBbRHy)ZkeUS&Pe}"mWOcT ZBD$ª5F{h;<Lg$itZU;tZeZzyWffU(o_w~F`H qc@UV_ ^ը8bމ@9N!!0[t([5l0JHPE0%IȠ]J,QU:нzj%"S/mFᒧByzyzjD\c.hnsk FQ1Y'tT׉5k#~_97zݙkJ6T/<{DeR =!JA%#`!`NGS'&"`|[EwU:X\ƒvLΈHDX:%j ;x]2w&!-^>C֎[ŋ[Kpj_+]i^=(jzJڔb(|6yU|,\q4<)ownU-<5ڽ_a'UCUsHt̩>v_Nzy, 2t}u_#!o64w)ãZ4pJA2Nn_ݍn膞TݲT:Wt9-\^/+Y e2$&405e.{7sWϥ*dr-]X$2[s@6톸Oa~ QbUj 1u/S21~ó?lXjKfzǹTf$On/z|s3w9ڼRv~x<\t>Su$N ՒH" (  DH5mVUM =q}LZgN[ҪRU&>qWy"4z\'qmM@ۤIfg[EKH W՜YLRH G]PfJG-x$$`HS Yo$GZ j2{la 2̼y5C&F%b92W&0jAUG-TuB3Gt5393 8[9RjaU96Yf䀄]iAi,Ra<}!mhfl[6PD_11-]N prhĥ`]MTV?%tf" -!H=P㕇hmgd$13&ai'ݵZ-L5W@PXԄXX"x:,a2'(^uJҹ0!Ff(@N6:Z1R/d Tj1")wxLBѳ___~|$Ĕ7+2 rR>o [V=}z#U @'9S1Kʻ{ynm:t!oG\c_Uuy;8t:qԩTrޛqLð6 wVܥgVP+sY\~3q? 'O axKz@4hC"=q||aK;ؠ2O-Q1!״<DDwI h5nx:_aZ]#(4r,,0h܈:U0+jF`̔3g,2XqQc.hm!iNv+k4HxMMhUnފ`i?ft'hߊStXDrJDSJ4f`ZܨjbfȌV(%6 a;yRYEDzpB` Zr}P#:T`bDRhc@CsdR VjZV4QuD@:\C3fN̛2 <:Zp9(]!bVNk-neqy*ӈ\uy|:ERQV"EgӦ,~CCpH HsCv3B Sln 26gn8nښqѰkxJ~ @7r+=;B)ˣ3Q'ecƠNA(+#P"t!Cxߠ3)I||739Vu ǎKL39 f1#s$HMǶ㤒|<.Nͽ;p~}S?[MRwrڶp Y:ߎU,Z׆bKg])'-*:~e$ ApK*Ot}w^\'z7:J5\R px㣯|?Żj%2Mݪ6ʴj }j}iRj׽*T0yy?UVy?׭١IMw=>Ǜ! &^cr便+a:y>_MӠQݱk~'{mIDATǹ$Dqis)\8CȑWs 7(RDR0,\e\C$b0G2$ ̊k@H I*J<<UpC rHb5{g-,3j}ՉΟk[=C (Q)20I (00y"ёTPHT#5 B7LLD\Mg$d8ĖUݝ9E+ЅEDGMEJjX >.Ն>5XܨB ,?Q胺IMwgs(RqO-wG'_MS46[#n$XZp aI~J& :ZqcR ƱܻeqP53+v)lV㑋0B5z:,Z&+9sdrrs ȋ'CYENE!5]FӃ-(:/UUaqxrm;MyJ4JÝkGg_/iJ-s$ QV[p(/ҷ2G47v<}vӤt:tX\{`"WM;Xtb)q3顕dMa"FxG<~t9q`َ \T{pUuϚl| 3t딘qPni*VzzK~6xqE˽]b+I={&j=@^ⷼ'DM)OE\]|'c()o7,瞘-9kӜI|[ߙ.<5DXCIDZ9Y 55wP4J7Bs-6'j !˩غQ+!DTtv=a܍bܺX.J1GJj؅:F@'_Xpqў7H$BiWݷQWZ&'wqAM%t93{D݁JvWw" ȡ;"A ]́JTP#IոnG@W^FXsV$@n@IM8b< 4&nf莼XL  `(TkMK4y,!`Z{um/޿txپfHqlha2 36[U3&lQӪ+Emԛzw7'_ tw\dlq'].FtݦRl8i7øc<;&#!A5ufCѹO Jb0GIDuKwji:﯎ӑno$67s"y$vݧ|JI8Abnt]#ffHd+wJ!tJ(uFT=`qHwhLJ tikُƇ>5r9"2Ep=*4v P6x]uiRbTN` . U{:ǖ:xPxf 'nKG?_%DZmn[ռ[ezCk$Y: y,:O]]w]5 1En8 +؜Gж}ˇW4?=I.9~6tƸT;4Vf6M? C@ޘ|Ts[v@ޘn^_ȬV]ܻ{݃2"80H_&bP ^4R蒬8sKBfPFdTuu 7"$WpbP+Ө`D5&8`X qMC "tH w"Ȗ Bt\LM]Y)U&Rѳ4! <=#yѲX aP5cj5%B8[?v BBZx:}a+0-{C[Ҁ:o[ 012Y39+]Fd7d$kL!t rW/Z w @Y`!{IiB@yy`PƾM46IV"q?p;3+6 C=Y F8`?>~tr 8;3_l^(H#Uv+鴘j$h^^Jg~ާ?˿~#Ko +(utm. L9+ax|7{~ʮɾZ=I9vTJ<<65mBBip̻cNZ?gX{ן7m3ê_movYmܬ005FDM„g-Y1 ; ,k˵"Fp(kgDT+uLhL.G;ۋiر DBTGD5Z\nM(W-VrONHaeQ~\j%olpF9l΃<n] 1Yfb:@B8 TwF9#$# |Z *@QO8z؉r r@B03&aעJj2 kQG00Nz)sY hZrb3vL,(;汄\l y8PaѠ,u]tX˩ebdKќU)8iX ÞbDWRcme-Nt!j#;fֻwUxrD +[$dH TlTW"V!EB} S@ hɥ>lmK$smg)I.s] lGufЄ9(8:cB@?LdbU5䴔iw7_.!|y !LӬ_g nݭ_qQk"ihdE8ل^K,BU^뾩䛛-6{O0wp9oyiT#׾?s~M}1 17WMS*: e"$h"`4%9_ N@4R$m9%JE &aӤZnw'%ٛ DR#{0QZ-`eea)V`?Ds"AHV݅(1cv }и2'wg_/}7lިpU, "$?<IqN#YĠ#̷_>6xzo[?^"ɏ/zPBsIENDB`Сt?GAWYʿ+qY&ģcHռ.r=۞AB]@6O|8 <<RX0Q1)^8^8^о .zFmK׉!nnaSZK}fZȴδ뒔sΞ9&uns‚CF03`$$M}}HTQ@D4"<,! 1z<A8qoJCVhāG爮:A sqRAfQ2TbVX{ߓHD+;p!zȹ+5l9rWTˡ_]pvKb-BFʨ"͇*Ui?77,|尺 S]C2;(eG=M;>2sq]u M?690v,Z*K7:@ݪ[[M,-YKTe18r w&WbZxP/R``BÏ09;Ȉ[Xq#HrVHY[7]>Nn*@4"Dz06= D xj.84$lR!ءZXi޽QOa*Km¯r,׼|ٮ^ŶvNW[I_# 6K)+f.:9>Cmd:{i .Bx9̃D7 Ȋ[MVB ;|_\r̿,{6f}Bl5jyr*0a¤+/Mll"n8jsx΄p3=K C.#7{[WD$X d [wvIrC5ꯆ'\4In=5t&]"67_[N#n$u+?xsCtKSڞ%KDITR$7cf %qv3:{jΫϿnvy?ڒưxKp35kx0q@ 3?,=9}zWVUO_3B؄Ӏ3|9F^^|fgN;bZ!\\EܦpH>'tg7DĽo$AJ2:)YhI ?3'_-dI#-{fol }Wةa%Õ  8zo,uL2Z_Ai>eۢlGOkO߾ j˶~ 7e>p͙"yKnQbRtߧ~ #SFn6l#{[P~ P^C;̡zLY19sWU/"9 p6 q@3X{ <_s2`r"2RA*bb< wh.#*xZhtrQ!A늸؏+$# D(GNyp[&xJ[yp!n"yvn^}iHAUc_pDJH־=FGد˥dg"vO<@B28> %'g@_;:uv <ɉ|Zn}J(eߞD7\ypg߲,J#x}" "'#X9e`Za$1v8GcW>CdԑvJ$F;?S$|a,ae,AIA`ʰ%;K*=Dq H "gȲY1 ^XcqOٱ<=tjd̼דXo2YmYIzՆK:(p0ֆB/V` M_p C4LHpL&lP"/q빜J| 7 v:|vF%G&'>.ah om^K M9|J6 5 O2>9oҐaOf|z}yɥ~̕59"81sf铜2f@n^ؿ;G<- RRT ?WrK̹jݥF.{Y[HU' 7QNs=f!0-^J[c~j)pozΝ_wr~ȯ}yU^ixuT>ކ?9cPk| d{;R˜y(Z@MJ@;(r:(N1z)8:ј;Eȳhx+>_: `\Ƹ9 0‹F;^c<u|ߐ֌8\dQǧQa+K8'csu*0e,z?Sӷg8r}]Ȣ%D+g~^, CH 'FidƓ]#k 00i UK(]EYej|y" G%R ?ם[);NocLn>d7TZ]_Jb_1 [-XRI~8i#`Io\xzq]01ԾG"7j<1D2"5o|{iucs3y7P8b w`2F&;$/ s Kq1mű T$@SVbᚯ+w ABTwYQnӴ,x~Ryا r%J]&N>pCx H\+d<-塪yg1:4c+~MןR[:rZ}#BW_wvY;+؉HO;Ƨݠ䧧g)=3a*8-D1* :_mE\67`*Ҽ7?/dw ]U`G`f2EG'p`YN1l֯5bXs|Km-5eŃ)z@7K(OyA~BuݟjwNJ}s+d^zc~K4p۾'.㓯rztLV];tPp`qU6,k;wU6,XW 8׭!m ;c;_^it̏jAUKb4aA u&بfJ+^Zzex05^|wz˲!}lYNJV`ԫ\AMb~:pL嵠5l@dz.deͅIz'=ں>߹J@۸YnߘA&b> 1h23𨻽2kG6!>=Lq#磰v!mRsa#(qn@ z8OӿT|=3kMZq\NoK#-Ft }Sl-b }_mFH*A,#-0i DzVWKu해L,5m ;7W#bN $suuX*{I;-/Wft$P]gk _aL}ܞ~!Fm55w3~v@jrs`nm `/Dw9Ba_t$g5]sT?TpXej9W,]H~&ˣ @ v?7[|[ ,6Lp=#_68rr[>k98Į 灅Yds+Gm*j!cvvAk{C_N A0%X>*\+͌oR^g.qEPUgrBs{ըsR㝫ǽKIcmsbmBH?nXgzͧ{q㨑7i.^skGy5mV[&w R (kSQr| l'V+k?$=^h +:B\nbR@7S n۞q涅D2+Nn?"~L]<XH>, ;O:@Uy-^Hfoݯ]晦PyKo^|rLZj ˏTF,Ew.<\CR_?wyJ09?l ՞ (,d)GDY뙂8I^/He**+X Ωn.6AA.Eܐg}Ȉz?O5rd_R ?\HY`(bNY@IL;gFۈ]h?rkj)Ca}[uޏ͇ة+r"c^oAkvL!$v$5K\ vՎT=x@z$MS ]fByZK!c|DzxOvAM 8œeC_$}b.JbqqH2VDĥXʎU_O-3ߴO0!͏ fo"Vx]Y]Α{޺uyˑ[8kbQ8]W VNY_瘞>||~GHQ6[e&Z?bxŝ1U#m^Z5Ϙ΁u_/`F&n@X֑wLO00/ÐEv\e]kZd2ړxSO^B |z6<`U9lL↧WT"PA[/YIͨIE `5/IoPE5;(8j.Q._(@ݷof;3RgIA˞p#S4ɣQ FhY?,hdaоc 1|q_ٔcbcr ⩤4GbBQt'9^0%miYBj:WS]d?ts yxǷʬZZWUaaa෷+8NS0J=@HݾaCOSM^VJ{vv1n6֌־F &A*EbH&H[t\Q Zp7]t69jh^|fP(6z8e$緜S,(w>\z7UuO˫\9-k|^ZáUDKs)Ke|KG W)ԋqHO LHْ edN+b*bk^vZZ_Zλ7U9j5 .n=rG\ h YcbFF+=pI \$KYVm^H˹s} rzTid h8YA*9xգb8 &ǹ,;ZƃOR[Ļ8.ξ+Gўbi;p{`A"QߖĮIv#NZIH w]i;P{dB"}g wYM:rjI5ӪD"v=>_Xʘ0ɂN[{Ggѭ.4V ޯ-*n$ }r(_U(yG hNlcڬbex+MNYg/1lwXR৉ximH9Xad)ei-o }  ׯo-X.ϕr9B!j'/Fyi1d$M' R^mNrȷÔi YǙ^C?~_Up :0rw㈯zSCHQwA[5Di% hm_ :mU!<]oI-qX¹3‚wc;YivvC Y9aGw}q'P8E2=bF-+{y*CnGm\ &<.c P:iqIX3`;C]>"L뀲1[y?]®ya&g ytst񱿂g.MR𮋽TA_ ܽ}eOEa:s`;9ip*S¶u<1ϋ6C"o 1ف˻&ƅۚY64HxEU*8;o-O͘>>ez, eXHV6tzw876ȖN?h2ft] <"INWV;;l$3 X/A ]?ELUI߯3{[ЂȘ(X]Ę6cdFC"8#X0PmCpԽ^) Kɵt<[NTjzlx 4?y`kC"KlY yFEBUn`0-Nׇd8UoHsz!QR3J[4EJ]h 䮋!*1$g-/4"Z8m,-LCwvXNԉ "9~xA%L0p@)MZ| J<;ij+(&T:ݶ*&QDNҬ {\סd Q-Ď(x:oe+0 S+n9Å"dٗC\羘350VZ~W5N+ļe\US:e.%GӠ%rW@-Gx})$sRT/HADY^\m1pK_c%'["\|Pm"hsRAwGfmQV3O>&ZII|tolX^[SH$FYhY: 2℞6;Ca#Q\Q`6hƷJОz  /ߑwPE ?^NcBQn=+جLaw Yc{TZCu2Wm#4ufaΔA'{OYɷ' PPw럊j MQcC:k(}Sca$(90f*->uQMJڒ2-Mv_]w" }v"M29 ?=A^yz5eBg+҇ GD>LdٚI= '4t S@ (^lH2V9T y|weWUoacLaG+v>eDŽX>3W<դ-snJei룦Š %DIpʴII3Xd%PhER 4&8\Kre9 kK4-AnPSWXɴ.<4yƳj^Y򸷳<گ:ky_NHht"|[uHΜ#[Z}2T5{Ov7]::D'|v;P^sC,ٙo R-.5=oHp,nGHR[8(1#MTM:A6O_%^B<b3~\l8Nc4ة@;MdHF K$ P ǐ;mY&O21*=BV=esv{?}SVG*a"a]ay@:QoH>EPQC.hE^]h4^TzMlnV͎N$^C5<)_UV0Š.A?grYs{,ԋi/'3b=Qd$W!z㙂Hc%fmy 2􃇳8 Z@Qr3YBF$a߬{DP3AoT'~>L# DUur 5|[8<&TՅWh䮪y?S{F>_Rj #KzH2 &%T_kaVJhl{Vy yK!F3Ex(mKH_6r4>ʀxxp_Zp#ez? Qx 35xx~X*t뛝JLnӚrTaЊ4B8,Vl  W5b5g`l_-DZńHa:{RH]D8]Eg 7cVGnDkUnDZVuT Z65UȺmȎLg&>&,cALv>^8@ْ5AtdbAYXK)/wz⳼oQTYv`ydr6%waO* *&R^[ӆ-ׯ?}Y{9OLGGfG7=[Դ If;i ~CaqvOI+;3_ v}[cjYk91jϖ.re=%P\A"Y)ITsǹpU&KBZ*+t58"1hީ?=|nqwe9ss_FVַ"JQ'xVlh-Vc'>` 뢥~K9*n!U+Q-I̍xSiAwq@#I dqQӥ: M[$SĈQ .3~Qa͆YjF"ÊiIi>~ŒpϾ W,vOÂu;׸>굑sNC^Y5qS}#eJ~!̏CQuu7Tnc~kLjݵ_ଡ{$!_jK!{R5#B򛯎界%cwC}oࡌ97dZd>k#^7< &l*PAHOo?Z"UhK`ӳ5vnuaȧ g#dFvxtcEQAo T $>c0R,_+KbSK-\b0Ah*Y%C97A"G鞖&~9LdA@ЖZJ裖 4úz62ǂ0‘-uVK[彅AGR{Gbp`j,N,5phX8·@G"*MgR (3^e FCjtdw;U^]s?k#dcɞ9a[n݅Fg"tACZǑe''OnbfxsS?=I&$+2>V;v/_#Ѳ AJ㦞6- '_7OzRt0kY]n J!1`^Vf tѼHlr.L1 ZP@c?Yd7Wǔr:xmbdXq\g~Q?py]_u[Ei9j\ɝ*^MFag!#!i_z1TNAtz`/+ ]R\Ӈ)Lւg)K<ezbjfXda_įK,9l|]۸DTY%: We  d%=ENʙDE)V.q#gl{/$KTD3s鐾,jr)O0Ò9dIJUxqcl.T%M(kZޞ^ z~Ww'YpTc8Ɇ"= He}"!$G|& 6a`&otE#2/CE鴙g p{۬9:i_T =/-5&b)Ikܵ]oߑ*v ==?uLқzC{ޖjjt׿ڮ/p^"!*ABq;|=h.Q&-$F ZmUiDf5C>52 Ыp6 XU~Vv*4JV(Ю&Y#!KE&Ѹe/&_3Ԅd'3u(mɎt雃+ xOl;9ƶmsc`cllv6v6ɉ{{S=U35TM|C!r]JQ݈D$ Jl`ӵ!fHd3{Pd*[d>%n"n 4mRɚUv 2!6ZC%K*ZxkJX{0 x1.u!,Ux,/mmA,y Ɵh<}v\SUV8pFU Ll(kq $9a*Ad&H6Uc\8 D.?Z;,<'&զ-%`)Eni.NG!1(0̤&ېQav,qsZ%[k/%(!'x/:gGY.+„'M|\eXpYL|+~5W[WݑX"#W\祫Z}`8Svq8Te9{h!Vb~%C"ak}'NMV9,nL*xu(v@gˍ╆ ?l^>Ψ!kxæ puFcN$٢zqv+i^uIn‘y(ݔN_S!we9$3L %7ǘJ1IF-z,n -r,,8E"mo:s^z i+Qh qP)V(_P{w-h5(X.qpp85sW9V@v R.8| v Xb=9Dd@H 6P\;# g2ZFfos05 bC9fJ)D|eK BzHt7źwe"hA(ք4UT*i|0<א*j0Mksen|9[?ۛۜC",dOq@XTD߯4ѽ z8(LUG,2uHǭjEjl/Fuh37bҐZ'qTYq!2Q:* 7;e,FE)!zMgX_~]\\v-]ot)<{@/9nO>*귲D>dQ0:?̨G]]41t]U$E e8 ʂ5 Bu޹޷Sw@@^x:t%`#4.9tQ6`9V]PcHjMȆڜfEs7&2Z{܍l a]ivFHP"#wRXXYDM3QyxѸ)Adv6Sm3asٮ,:7K蛋jaZW?ф QA#Pղ;5XUg 5cmfLJڲ!BwBEYzEQKߗ"T_3cb`Pm\s*+ rH"z즧cֱ٘P&Sdrdch)-Ci da(b&;eL2P41ohni׭It 6icrwY#sSgz6E6aɨeXWn44VEstI p߮CyA)a{x)?J$b2(Zp)N5A;.+ 0N]>KLH;X%w)[17v/wxwS}c~G?DK@6L%wc(j$ނdD2DG$t 9׈گQW6ך׀kFw "th*s\K6?~ŲkC ~Pp64u1CDx"rtƹ+/a$(3"C#uӻY(A"%M SsT::9sND[}Cd"ZʖADUlʡFKqtK6(b zfN'], R_d1]u~& |HN[ǩ뼼jnduEd_DOQKIk,mE*Qѫ5nCNgN-ѳo>PtlTV%k/! oֽNocؒ[~,QUlx!fX?W+hqG&R EB,-v> ?0_a$;v@''W{+{kapI& FA= ^Vq<7&6Ӿ~/m2DʅHpz\VjUmJrE":[ Kbtg2}ɹFw}yBF$$#^@ n86<Į]qrVCX@;+ijǚgʗ|#(ׯ#x4QvEr'^oo2!d YbkpHKuם﫤XY(OV~44>= = _~^߶Yl "]i}An)}TqDYOD]7 &zr7pdʷu9[ ! V2wbX640=˕뱖Dhk0"-7~ǮIRt!5j(HD ׈QbCp甧BlU1+se:'D{l~ST\t.ZkS{~mADMkA !6/a[`4.kUrn|`r!1!$1L|Ou)PwJLZt?J,f |'b::0 _gUɴhx2'Ķ, 󶧘Fه1y߻Î.H f%k[?hP^/2O3>oZ)ݻKy~wK"dK *c5$_JEɬ ]?3; "ؗmldBx~" N~ ; D=Gεr!%و5 qvbbE~e]@gf5/rDüar rq)-W,pR!:T<UkkL(O݉ O 5Ysxg3 _m :-~`=R2W\N Azq3tf=yE2TYyb X{J1=ȊKޮa>Wگ_{/o$x!9h>;M^k(5Œ[m54232JfSoAMTefRg#bma(%Cݳ͖s8,խJ  t5b]^UjHa XTߏ噬|3Η|gcu8T!!KQƮ75oI2K{i"RTQQ@Z% hPHVg'79i.Tow'ulb?* {E mGg4$ˇL%.;[gSBώQ%4~5lp(άEA-6R014N&̮@À 쇉jXQמ-㮹ԛ*RWZ* |~yCB͸6ɩ30Tc5y4l_.o'PϤi,Ԉe·|[f~k[+܇E.F S/*'RM^s Z0ЎxŶ&qW☞'Z?jf߾jZ?`Rо>}*rث-؏>"yq@UE>am1ђ(4UlYq;gc闼KJϥf< fhC4a\^#S>~m-NY&tYXm_aBYŽ*rآk=7ztaK?} :NЎ}*#j>)inUe*KivI0ӂݙj&q"W8kݠ}7عoqo( H|,ۘczuMFU׵G! NE}_4$ n"ACi6VJ J34o}ŠfKi < ̈-WYh<h>Xi;kbW>R7}X!v20V̨I̒@iLb Av"e$ yNےNug՜$> Xߖ;¨FZ1T23IA+AjQƷq7!VῈ F@(Ihy._:ioK0vk1P{ A!Dѥ}W: ;P >>ҁr 4{)98]]Xw99D=|;=t}קaS Zs^QXY?#wi?4Ʊ8җ#ycZaAxr^e(כsw3$0;ɌzfUa_XzriQ`fb{}Ro]Yjzs~6o洆8I3%1D#hjd 7Bx߫$̓F)~D1D )wO\{uDNc qlZ@:{#h>tz>J1m1Mo9Os1N؏#p[J/S2DxWMnq Q午P]:CZD6$F[6VZ =EpBei-hWuVj0ARPr҃*\ f2 !$us~oCKOWw՝5$J!.Wٯ.GU ,tVN)(P3bDG$I;6vq\ Jo>oL5OG ^9;YߏFa$0B"pzR‹5?9/gS?Hٽ,(pId^h[Fٰ&QZyALt3!ff7 L/=Z177qiA6A1є]ʚJXų`r&SDp-b8Ȍ o{}Zo։@D 6uJɰPSa-gZxfq10Qqe}wCَhKeǚ-Fn[Ct]ClC/Qֳa=n|S<"iԱl`{t{O럦/=W5pr`Cޕ$emQPwlU^7͖ZɡǮ-vGM6m_ܿg6ro2li9 p_|'H&ChPG6a+h{:IXߌk ,]Q )+JRbǠl]r{aȷ/G(O =dFె')Q=oXvm9r}7;ޕS[F~!ϠQ68nrl;`z%;97yY V_^^8p*ed)qMV"&-j2Zw(IuJ+PGSjǯf03t(d_NO:oF`)lw?cú:4ڸ9YG({G־~Ε+5)%:KxZRӂ7-1kh>S8qH &Z)nS*LĘ`VKg ;#A| U@Bv% 8Y6>iLUm Ɵ:(^+ ̒@'r|^776tTĵ8=-Vf"QN1~>{D dWO,h۷/6FSء(0АSR TYMHђ_uM-y9* )' UZ Ȗ uϬϴAqLѻ^`<>彝\?WdYttKӚ[}Cnη5U&b^ v{~ gAJM\RL&ē7UGJ"mh4g6/p@ːcnP4\5AB8⺚쨐t1L B5=̼>Р']#@,=П9c,WПIztdͽFYtNuפQ/3:S>uRxgYW47luth%Q;|z?0P?NR'Q/?P&KV3O2bطЂ  )KdAlqcof2 :o}$/}[>OF>R0RR0)vMSVa438}#rd/m_t}~u"*?4ȱ2%ǝlԫ';6G˨ *$_UH(` @D0`33pl? 9Bwu/r+:!Cffh[ZY&?ZW2(A„ frl홏Ŗ3izl* E {L7ve%&hdv9'(,m<4r#d3dD(ȀNzfE-Z3 hWQ~_͕*+1>o~.ݫ2˻ؿ'goD3JKx}&kqåɾ- a)M&Aܜ| RG7⑆wQaG ,[.!V/T+Dl:qS21 ;!֝N.Y13X4Tx@|X`QD6OIC|ΎBQI)lFˌsy7fMwUt!N^o7n!\E"p \Ȏay)[ Ū'G]S,r/B\L7rwY{5b]zGe S#Bf"_.EΊ=qTqR9{DږX#+ -JԔ5"X ŞhT4{#NY݃~y-hAOm<+JޕTS( JJDJQl;n%iX2W;xI~5cֺP&r .Y9Zm<-VqLs? hND vN3~q*I (CڧҙM&;yW]\2oL 4jh4D"zXْWaPŖD 4 -Á@ƠDr@1leYt(R9#D< {<EuWk%}|Ө:LBh9joz?82^+@ɑ7a`RfzS{. GMdKmGCdAFntaCh#Iw<`6 mt!a*̬XgGmo0Ѥ#XL\ Y¤*f@@gh`_>\eWka?9CZkge<sKID8ޓUkrs740p1eѡa;]{ªK~ͤʗ.rq$17m*\ 28mοh岵 MxDt[W(++ɥBmy1qƣ%u`:=ƛ͇vX9%'mWNSa" gAqs`eZ[@< E\וW`Yѡ#m׾IIyφLۆyjľjprᣬקM? $~l{l,v IڞWCd<=O3u.:YPqLB̆\QuU?"ۊA9`ДfL6rrI^]kaEZ ^Lۆ($S 7}/|~ oI?*cX^h|.ay:}*߳?X˚;ZalսVAI:Y9U\w94TT8N9[}uM;uA1ÓOaǎ:X-L$U]םꮔCF+ûK'$d{\|\4i_ˠUHHNTvs?rPvoⷱfH$13`P!,w|t96偵3D覒BV2NJ_ {Ro[Kr `8a"v/J^ffMgÿ2#7;VO\)qs%˞_Q_TK=N*9:3xރt wjJtF_~t 7*AH#% A)|x*  ģ]Iݨsļ~{Y{a {= "TBB4~PeG<=CCAW-b{|"˺A[[PӂTdd\览56P/4Ayz)77UzŃP/ޕtufV].%Q'VsSQvFRxq9UO(P5>ݳ+~Xiuy~ N'{ֺ{+qGڞ_ն7?=RwGmaRV zةBkJMX:nӃ+g s~Wb }Ϡ|1k ߑQT*U^w.֞]),\~MSTV~ϳTr4HDxJrD*6 20-me @X%ݫ+ǐ߻:}:yR:z6> F]H[wC]`]i¡]{y iQN FJ`h C@b}͉٤|yEGn#`0P@yrj܃RE']l+\^ #r^C+‚w¡72\ЭrO)~}'nBWGg[h `>bC ]B}SvrU0&9}v)۳<{r~16o "s Pgt ( >9ڗbnj`P[:!AVYA'3Qtv(6j+1ISgeA Z˱́p :J1iV0U7Kݝ[wK9"Dpttk }9=IowOf'51{ J>Mi>u/mH,29WАMcm=k4IҘ]7׼ΪY7fSȱ1d?Sa6p囄DrX>EY2@ݪΗsukjҕkZ\Ql wQ @BL |U ÉxrzZ5z÷yHEL\d$;SB{)+Mi(ߙfpW6@9֩dC'QY*3uV)wu~کXy*w8,#MhB=q+;.hKKuhH$*~-c}Rezq~jUGsWcV_cRΥQ=w67n=6g!5{C$y?^}A3\_\ }mkњ=Z||,?|v`tn|pjskOyZ1oNH.\>?5[녟}:na~6-Ih+&X(ܨiﯭ-0]2j T]MG$n7#rQt/kzȷf*^BȂ1DOm L&1= 3ir g11)4*GiAgBS2݌ @X (*a~EP |r'PIrRx}h @)mP@{@p<ΓhK!!fv?L pudŀ $ҁ~P@HI͔[^$POf<.S >m>ʡ4!!;&VXҏ w̐|vgǞd|5/DPPb0%W zdUͺ>W䋊'pu5X ojwW"-z[1SRӈԒb Cg:C$c&f,ͷxњemBߩB&dλM/3x6s/ٟ_ovUv\.5|mi7V~+tg~3$pN߾,abAPWLc8ԶAah_3)e?Xl*TN*Ή8g1|"HbOw/NQA8#zょ}c|ۂ݁NCx!E$̷P8^$Vx,q̟1>+6'.!$Ms+>s%^f|R&e<_/9mb^|N>ɋE.g.OFCDsY8DUW?UpF4!?KhZy>SuՉt `&T ^,z$(ٔɜ*a$,Qm4M,IC,)oP&?9!Gɽj 8@*Bny̷un^?e|M !^/EğD#^%,+aռ6-.ƴ @A&YʼwLGܭǢ/_"gXZ4ݮi'At7u}\%h\mWY&*DB'kNAp .k_q&K I\z&F%yy<]`t`H&ffsbNVnѭ.]z6Qp\?xk4?mcHV,]Z6B=p4ɩ٩nnz[Jf`m l=M ¼#0zgQJ!0sx)HGRgu)nbA7@ӬY-1xQ@ma^#rb;k|Ah ͪ:TB |K;~[otù^tZ-ew$5?~nm><8`ae{HУUG>*ًms,Qkluq˹K]qMdz 9hb y*?v3@Ch-b#C}_7Id91i%NP-2 B=u4g0 3fdiJā$Wͳsv~u|"1)r1 x\4 @_Yd9 nf)M@俰hlPal"0 !0RĴ`@:g&fE&D[Msݐq`:sğsb"A.X(0l0C,$ԀVV %ĩ I"H{{ݪ P%~7VVȘ#2Ac&cO͓!8SXqc塑{t 9>k}+cfC=q0<BU뮐ߣkxpn~_*$>:q[`R?gnt\ %`OxzVHev"92T% [nKV8:5V-iV_BV6 $ύEOyEo%]T]n^Rc]UѱUū&] aٿbmnkWoqA_auaQ}EI!}hrXZz?GajTUo ˵cۖ #|N7vV;fEeRtL8+46Qj^=zwSBfђGE^x+5J)8+ ^|b^' :J@]1G( B,ͽ`'\FQ J"Fe3ܳb=n`Cula@JR- |LHMhՆ ʂ;bguӴ~!~Gwc_^8ȏ0j B4";V::e 9 L(h#'`u8Xol$@/>w2oT8*bH^DHW%ϭjb;R"^ds pLyUsШ9ѩmHͥ_|O#:6E= -PHLqgQ葹M4qBonJV6ҡ7Z:7,{׭]k=9>Riyw+NOBv_Vf]R(d͢-68p¦VMWmUW{1OꞮ5t{E۽.`ULxUTQ-b**`ߩJ٧&7H" K[ؿUs237[(6^qa6a@ IiN.Q#ID32Gchx{ςk^ ڈ$ٸA֊9R{K @eY:b_#*ԯpM+h`''Z}Bh d٩:?+r3A\C8ba,k׊vŸ=uA$¯OzX ofeƳ2<;32M5<03kX^ѱj4SDz(Yg]̠P"YY.-juK; QԨ& >Qj y #b+i#2dAeqLNR1+sƷP4x;!tV4Uv&l=g33Ζ<9`,4` @?/sjmͶ?w˶skث?Yu&RMwܵCRnB+OʪPAڂݚ'|XN׷'7Xc6::})aʺjk6T -vYubVJ|}{< y.8;p]U,33PkWRϲ{!4-n⭱\.*;zVOSަK+}"3ǘJȴ/.\+kjl5.YNB~`X[NO,nDFn@Z 詪^Α%VKie(Qm"ո/$)%"9^0"Kbv"o2RkNirNCVN4sƷ^e5$"05wV;:*6'KGTUxf)zZLOfi 7C`t/ZˤlsDc YKR]kz&n2;{gP8Q/tX(ͫB;zHh"ZC*0"q2lca G!KPF:9W\l];?)V's8Y'saY-EHH@"e"hB71YA_IA7̱`zAyvUpStv9h;{CBo8H Bðx1sKO;G"3w,,&GSuU^4%eջ= v~8NL%,YX[1s.DZ/i݆*.hr% |bFƐxeѲj'g3pi=lqTuЙ9-UwE7K$FDTBye":{@ā2r 8Y 28YA1D`s8Nu'ɤ4 7l,)`< hF_&g~ʨ^̀ UẶ_3~+'tJDmB\!6fC+x,iYnPu܀ْmc:&(tJr7/|Ȯ/ĸ{g: ߛͩ?z[N6VL Q؋G=˟ ’U!t9W]^ y?Y LdS?veWg%f'ʖ *>|K21A3#ӂPuu1)OH?+Hz=Cp@!9(YUÁE܇rtGGĹjB'FrS3WuVUx"U.î ֈ2+$lfNʋ잻󵳒nyïOm\Uwa5]C0JdM~%ÿ3aYy1di#4[%=zwt/8f#b9 s̬v9N TK|Ρ&'woɃAO4A`KV,?7xKe@ʠ00Z*smQsC|9亸IRtde }*}:vN˿dѨV_ȿ;ȱLLV?t\L- T,ơ.$\;3Z@TL"NW{(K` *zD:AD26?j\eG37VX3 5#YoTzaoXL&zC U-*˩cn"*_J9ͫrҵZ|& Q|9lmpemڳ2W!FMu//CS 'TstWOG.;dfӅ|7bb˹ra(5*ݱndrPbSd>"Ԯ-m}_k nS׿7&,ku+m_W*-rmu,&nXs AXO;{Ymܡ{z.VS=;NxCk>ZZ%nHc  b{%6LVBJ 72XXIqmqr"ߴ>Wܜ\Nk$׈'_]y}%[ݱCVV챁3%Z!pcAE@B5L`APnA[#M@Qȶ:G `ynL8[xsuA) -0"Gri_&j' OxD+"{'ٝo2Ù3LTaGm.cL3 Eٝ@yK*B.F; :9^'*880 lY D9aaVˬMGvM:m5*WDa&.T9xA{pf|"y%9[H䴻6=4AEf YUQ!,g"G#Ǽ=$Nfd6ݲucu$-`}8RyT mh9X "DʫB%9`6 i9ԸRuݗ.g>oju7/ |cݵԉx7g] jUcFzT6hekӝ=3[9 oP3>w[Z;Nhv~[z/{'2縫ŝޭ-г_ 'v /拤?W"DI" &R/Q  s 1#рH0m># DEr'34]l3(,:W kGASPGn-=o=)LvW5uVՆ,o.Ɠ~ɸHX'X2FcyΜeMp̳b*!2Mΰ*8|^(Z$:*؍#< A'1R^Yr6)~#> PJ9ɓ44G\K"|aas Rm]H0;Eᩄ9΋<(JPGBC6[7H \W@F6 Yd,(JgCa= GlrqϲPM~g +z zk|LD^K>Em[o^xgνuK ]E]*3uO!noxseDQ>+ds9]Mg3[6ASSWo<(jJȲ`k'O|r+xFba5[ƔWWhnpTpE{ nΫ?+]}]7T wfĹ7Cg )Sק_)H_U|'K)=^x{b'O`T.Ʉ&c34ywH~*ݥ5iw;r6휸' ).S;UV[ul*UW=p|/V}~Izr4E5p:\N5yNs1(p*'1NCF0L@P#F?q@kѺјo{#o$]sgJ̚egG3Qxk^\)jЭ,ȴ|(ջ.fäCx|MQx-Om-kٔhNxݞiߪjYnٸ;mOj⮉#bMOgZFJWщ†T{x21OjKnTulB[ᇝ}w@\ᚥW< wmQ^~uI~U<딋(9U1-@&Fq( 8 "ω&S܈[ eR}dacPqnv#QtؒXvDH$qrKزFkRȍ6WAK3DXYg-cn}ec);T9IZTu!lQD2d\*@8_X̒ej9C4[4!@j!f dGCB&$χ"$! # a#5b&q7=LHHi< IDAT 0 4[S_E@h$Xv>7U$<)<ץӽT\ɤ];#ru}W5*28.#%au5F(z4f#D jl5@f{3'jG2 Hhs@ ?`8s@Q"NHH[iQp]3vJQQocJxG?ݲM0꺿;>WNZdWIQ1 t,X_Z! -[BZ |kkƮ}53IW=Ɵc\4|G6$'+=$DPXruUNΌͥ:ɞ:YtEӓJM|f\y7^ յ\E=5Xq=)umw>BA]{2U8z˺ ,-mIY/}l:Q0Z2ɼڲ w XJ@XH!@jrHZ!4ٯ0 5YP( |WCZ)TXӉG+=wߛn$&n[3{o웗Ӝl@l(ﺏq||~`a&.F#4^0cŇ6 MOy}40Y*&cw(u< E,? JX E<:O~k3;޲y+6)j'I3 gFŵ# )Fˆt q $M䗴nZ%5%LO/C++ψE?osZbwVg ^QP T~D&4"lԹ",3 lDeZ'@PpW*'{}I7__\vY(C;I2M,jǵ<;s'zdz[oɓ׾{L϶S7L' mSkm} Gf=7ڥ_Ɇ Ƙs-// 9<޳ne!gǖ, 7LV⚓Z.kNez%i* +L]QYEx37mMu7 LǎS%iXfD%RE5DVKL.wCXʫܣ>(;ٶfɉϷn$/*ݑdu,-̢2>y<6'CkyBʾU<].c\*h$ L<.Ar}on\QIfBQc%zP=U "#]oe* k1B!2h[V`&q36c.gǣ '(˃,,扏E_3gz]!=뽕\-x"$z%lfemer4@a9`yˮ mA)d6ϖ~[yOndg"Tz4NNo\N`X6; f1 ښerx'>"3Þ5Ա-~S2DB-yobnf୑:r^-om@rc|̾Dj9 -`oΛm:p+Ur37,-hE#[DEuF^[صOemDyܻGػW<{;0U7U@1-O* r"/CQ$(=sSI4@Ilv3:tyiIn~qCZC"C3ԶA.>/~"z"Kk;7e_Ҋ>ާ7vGG{yY궠QɶR侀@<(_$xs#sX`+voȏ$A*E#!zcLF $  9x0 6_ߞݺi-l_X{kϹl&X7:Rig*dg*ԅOdsOyu7{tNxM'olb2f%񡧎Uֻ6/h`pm'1dէ^=ۼUL`O}4p1y8Aeغ>6v<ٵ(C5AK+\.#XH@ĉ".>H *+d5C;TvlU+ۃ2qoDKiDug_d ;TU5 A%KSwÎGܘP ڐIψ:72g!nJ:a`)x"j8*f [7;H;/+9(=";+b%aY:?jpHxa%7 ˪JTzGp"+JW_.Y BZd>TpGk  &Y@'rn>S9˚feX^/N<\L(֖X:q#ɞF鞈1.Ͽ0؎_a?Y}f\Ȫ^??1o#~Ujc4]ro 9]m 9j0^-JD]BGX,0>^Б\VD$ \ոE5yH%+r om sR22WxU%CEÒ*19BeKzp@mZwWޚK|5WHgI&rV u %. x`h\ƕz..]~uB^pxX)IBvTi {C "pM. rʬR!#a26 vz\>QT)v_$( ;^ DCk%LIͨQKfZ&rtt*7*ļ,@fȡ*e)3J ʱH,Dzbx89ɹlo/wu, -n m͕~ 6Ѩ,$#82o)YWlW۴l: t(Ch![(Xm? GBٗ:AΒ':6)F7Fq ?wu_rJA8WJ4,EE-*Ą\:KQ$FF#bi2ŹKd.Pe0TݢD҈4 %A@$D& xdgJU75?y&_GDo-" %(5$+-1J:+hTKBP >OK +] eR$[J6jT[yK>uC%?ml}#ǩt2GҬ%V[Ik%q?K0>yBBȍkb8;&2HL xPxQ%Γ߅eNmbOMohgjj?)#Vl2+ dI-U+aÓN*F8Ojk^ư_Sh>/SP*"n,}/$({KtS _tM+;V+w\Ggen MQi"YP@>4y\ZҮ,\%a ']P+R FD%K$SU1ЈJZ,̜S46Wjinpe"Xn ,DzTV>,1q zB32fME'ȁF=lӷ^\.9|kw~Otyj=,[;>&Hcn ֱX]s_#C]ڞW>ʱ8?hi [1Yc.SCtKX0,-uG[B@2yDj= $8caIeq`p0)rY*8']n=IHMDi$!j*> 4+*lAHP,KJ "idO%ZHq-&ٛ! d%s2r=v*V8Q{(vpq~J] ²r=f|'o;+Owb_O׬*>~?>O.{apv,[*Lδ-ZTeT),ҥ/B\U2NJE \ CBx*=7tDŔP~7+\^^Y?O|.H gfW@/f'j|c%WF S<_=6L~.>ғj?[C2>|g߶kW'cjz\3?gټfݵ͍^9[Wlu;O~p4O.Jk -d 0גk, yE I%էĹ}mB|\x9BDnшrj@bn *h w15pV=͛Uɘ*DY2OZc@ƍ0\ tqQ0'eJ<_U) tsȔT>*șbA|[~v C1ªZ!wQA F`` ̟Z.U6jΉ]%5y/7ŷЩ 6ՄI=j)}ڕeNM 53U@ Bԃummpye"HE4 D&{uUk}b媮Y9ٖdIlpdL 03CqH30ɶ$#YRKS|~S-7{9?]\>kײ)垐(%Bl);8H2X ch@94iDW`6u%Up𮳺몊8 B rJ@T L9И,\(b]/D9Nu?>뮾Oq2L2byd'3J˟팍|2_1k4JM@s,vkK̓J)<0(Y# =Fnۺg8TV%NXJħ@H^9mE[%&'=(Wo]|l'3 -hxT$gEAr}t6KyD G; .>>;=~׮[;9zrPw=%گ|܍_ɯ~ǖ,[d믿>+wmCKPP@=IRgt3D1nr LBΞ_D"_P"zu 6Wzxe(TfQue~C^ojrRW#t뫱mWסApp,$[`uTPZ@)\ֹS[[[MOL856IKX,qjzpp;aW>衖V} FT9pl.Dd@.u>|}]k!к?1Zb~iNy.V\*ꯪ KG~OYY>s_kCX)?r {@˭wt'RsXz<՜r XVz^;K\aW]gD2ǩj;F3"7үh.FnpE2[ex>t$>rzO|fJ?yjwkWB=  IDATRA&W_}Gх X4,K'+̲Nu&~ B lq`awxBn_fp3J&s,{>Ue߇p҈;IV`]v1  @h/penwyZˤ.wmsNpGk[{4&p=^UCL b~:|.K ʸNn}A"Fwh]_m4ݑxnPn Go5*FjމC#3lW#G@8 IBU@`|WhCJ6_(Ni ' T#lG-+B"ټQy,RjuG ;tLcc5BV,[VJa@@KS$H}x?󎼮 Qr \%wvXCf nB/(jؠ&Vmzo.,`Bcv"m8qzq'~+L ,^7o\(ԾgIC&s.iYic}8]AH1#>UJ%fLn %gUtxQX z7o\8T*AhAsa2x=ku;n~)S{zo}ۡhO1{ܒK!ى4!b uJ࣬Ppܔ(+7'َ+ݽH)k:3KM;_Xyٚuu9IRd'mMD,,}erO$zc=D>rz5 IFIL<`*`Ypw1r{OWZL-oao|RG\2Op1en֕dsZ;VYZu+)%7^J}N) /&m{eFm %˯*R!U H!伒/]uֺneOv,ymB)MP Xe*xTip BGV̀K2jDwp 7ˁZBsr6#)0s˘ )EP?;uc>wź^n^]0ic(C*>%%Po8NzGڝOSG=ݥIT@@nZ.)4Ү<6v@<ؘB: rn, & qPګ[ˡnb+# ФO{N@"!}o-x 2Cl"% ABDU LUytU'9cݣH % "Bcq2IٴE@rNc[D<%a%-(XaH$dW\Q@ȔA*#rBQ GL'P bP_x'eNgG(SW 4K[&U "}…Vjuu>FQumU{>sZ/bP8"_d z/=9vsE>KS]mk"Ɩm\j噗2stɣS ˆ2߉+}'ENL 3~?L9/)M,E[B?/f /'>A\zŸ~W/w,tQ(葢!E؂ 0`" hǒҀ̈emQ=ޖMWccҖ~'=ͽK.ZWV"ҍj['5д9qӑvn}mqeZ K4y*׳ QPM]G/=+Vtzg$=a^OxgXחE#L:]-Tp*"rBբѕ]jEhfKXϓI}EµʘT=E mS@ơ(E@F2B/~uw8vS`\ }3Cgl*k~$e+t{qOf/5;931ң kS59E Px!yVF@8[ G:|ն;xg^!Ե|!}^.3YK_\xv$DuOAX$Y҉5!I">e -K0" 6fK%ee۶ØLarD8%XL05ۡ9GB) P8;@ %$PdMCMeITpdl&;- A0Ucͺئ%  tUUYYWHSE&'~׭1^xN" b<&|k-V۫YN`CJ} IRR|I|^&4ʂBte}WSy_\}˷?{v,!.XgvtPT3UĴnJ$tOLGYlM3go9H|Ύ_ .=D7)pS.>aJ噲iSv,Ys/$uWa{~3m]XH6'<| d(äy2 ~x᝴D = }eyO]cEM;ڷpQno 4IgfَѼ#qy0]Zvhٳ[7k;7PGԐZsfM>x䐊eD"JkPԍJ>Ս8g"U>T(hN1$ɿqwN4 :0yDu~'|C ̛\ x)@#"hQϩN?|<8qbN"=Ȧ ʖhJl(a0`4鲐0m4AD`Я@1_l Vq`@ 9%Ш&p-xE*``"Ib %+)\ FP%L8Ѧ@2]~3}&ַ9|61`TN6&D\7NMGaꡮhT%X#.n.)Ֆl%NBx^s7O'y[7tSϳqi\zfL˝ѝRW"lC!e@,g_mmϦ8e'zƇ{ T_0ʳ9FrS9֥ŭe&7>i}ۏ.^PR__q-ƜMR0(CG)B:5&Ϗz@~ѝwrEb$e~߿1)H)(^4G⓾%Bʏ{Wnv)Zv$YkNϞ:VdqJ;vj6y셲5괴ؽ5Lwz"JT̡攊T<O#T&)FV[LI:: <WI 3KUa>6)̝(zL0Sb(TZ=K\4i&~%^J9Ç_],8'9ėK}!18 Wcx:MQ xMDFYx&勣C/<>6 1^d՛2Lj<7wyL@*\Oq^~="^Y?fNb& ²k_Jz%YWKe 2w6s[$+sm:Q kR`iA`ap;M%IrUpBOEoˉ0K&a`[̶wx DATVJ%I+Ù][Eˆ\>|vS3Wr_G˞=VtOU|Dk>ut7=ݥܟ> _OCt@kpD8z-=lptM^]Ze^'Lirb6 x2G %4>Gx5㿨N %+wmujc"3P y`lL7_1_N}mٳ 5=m;HHa O9'b<%[(c7ݿ[o%J& @vif<$ҭvn{!?־67E6oë6=$9v~yacZ]捏%l)3TVNybdPݖB5yb}턤g F?o*侎PKZ*7гm#IkfLS6Ox)G&hTVǜ )ԾCgZ5Ե患{\Ep}H+ R Sa#T]0Q i5UCqkbuw\aCooQ~Gh>=cu,px_|tIZtõU@;{PY8}"] ٗ+[_MP쀪vG_n9}7(Q-uJjV=7EKi҈F$4Q|>Mj;t\iX Ѫm:u*l񒍨*CkL^L X4C2!Pp88)K XXOz{ Td2f>瀦#ɠfDFgJ <@k/~G>ԟ3嶖7#mW>x uڥy/qt6۠opٙqg p} .]uS:ӗI)˕_ɂD̖̩DlJ(IL@!<*$3 ^ rZ)D)p *\備("TNR @8P6 ۴lD%PUq[`Z6PV@RP pVQ^f0 c|o;_6+$y;-8`q2/&ĥx.]]F5J,j&V6u)jyBh%,+Mh@]0,Gi58Q\`3i,.Z[oW) s,9.zKoY=_ڔ &UΎx=wvk]-j,Jܻ IDATM}mш6mz+Aۀs? >ݕҠ wwu& 澊ʢƃHmX 9]_­P(ȟ}(6\{\;zHʮ\e|YY WU X[׉NԟvT<*蜹 Z5ua- f-m86&,ڭ"l[sGwg;?_@i8 ,eҼv79ޱv`b0}aAێcFJzǠb~OW:}8u6еFvr?60^}f0Z9^}{Z]qfz?:RmԞS)3k=̄x[[ \V (Bh J؝1]&Zz(48HXϊb^ncyN^[u~C-jOjpJ F'T(Ē%6w8hNW&ࡐm>T }?\0sT#Q_eE-YKݟKSۧIkf9Sxd9%fK6p!t'=wfzۏ:_h/hwh|:w, :7!z$@ƶU_SՈu 8;G$u\LUY-*P {?KLW=ۖ PIVi4pS4x--xIhpA!BA8o PՒa[ [`ጃ`BpD{,"( 0&kc\$YDd,D $&ȚcMQ^dF$A0MBQPF Dpɴ$h[]OTp4@¸cJR@䄀i2䗿RQv !+ X v6Ll V>jBWkyuH&$]|?t/9D|/~ *[ZБSs[п<"!P(C{رwٙaE״?<%iv f] R+66EBaӣHJ ȸJG/D{ G $K3/o癅{`x xE_̴Y(f:{$XsGJtϺM`kD& ĹC'DwHN<38)l8 [tǞ_\.+nҘuL+ɯ2v[L1.ks. )r Em.ҖI"TdŢQkXNFFaG>{4/ WV]D9f&J-Q%aJd Ų!{,Wǿ~fֿOCn^x^Wګqo=1msE _<}t钖q)Hu=k70"-fѫOS>5iu_?6DZq׆caEn(xaJccҙU&Qn Ղζp?T;\}DE+IL?X]r+\ $#Jp؄ zZ::=>(TJ̖/[N&UhsK)t7[#h( PDᒔ'9w8s3PkYR B$tn+c-I,AAZ":H:P.FDaf$ෘ%Q W2U((0FA?!l1B(l[!T(*3L̴˩,޸!ĦtE7K*Q.jf=sP]6o_FuK)xf[FHPسCSً A}jZD@G?Қgf&n,Ik"D:W3߭&ISTxrHe\(Ӗ٘ cz')DcEo5dӗN[&MSڅd:(DvJƃOo._jBpUӯȜ뮷9ߕofGXߛv{IX*'9pbsߖO֜;VUw5ȁ\nV}dr)C6s~Ϲ MMWGmɊ<30}b BhУ(3lAlX|ٺMڍNpՆшg͖`P^:>m:X1Ci$ !`?E Gh5$yr%FH !sVXxBSO]:JkO>b=1UT"^l Z|J@]VN='lvttcV6 f)~k5fRkX"(c{׾_?upF*cޮ\bqL6_I&~[u5Nا^8go*U$էsH2uN^Fue.xr.|6jHZa`<ަVO)ͦ{FGkXp}^9&I @&Ho@( ?I7MbYL|t"Ud"Si~U҃aye]/ۜ;"r}^Ed"I`-Q׫eYT$PT<15S(`2%VmCH)DJ!thȦRm0Y@pJ%Ll\pGP*Ȏs%.ۜsJCU9 l@B" ܴ#y$M!&BXr/K~GWF"%dEv,[ؼ{w8Pp)\:u$ :"a>g.mD&މ=o~Ͻm~RnϘ)+.m->EWG/D^xtEs}ZfƘ1…z~&@W`'l5DN!z0R#-A=M7ܘLT?1WS30C*==>ӄBrr)#y86BĚ1b ^0&,UD$:lpŚW_]x٩N==>m(O6ďrՋxn;O˚䒱 7]Ѻp`93Gr<^86u5[nL&'! \5b!y!~FJw/-aP?R'pO(+Lږ͗8Q߳.1x0y\{8,$mJZ=xG&)rv(y``&H2x[ffǠHEѶP )!PdJ ¦L:2ym =M}bd0 >T&®W 5;.VN !Q p up8YeHRyk82y J^y,) MLѽ&K2*kn>vbeIvj/ȡv8=F~N_WKdsT: S= _S@V4*Y',yxSssKGKdXE,LnMyٛ?;܁'_#;g _b+kh4!%tJqڷAQ.Y@IcL:` G'<Y ΎͱTI7qc3ɩ)K 8cB"@3CCl*pPIҐ{)iVTUJJU*&Y䲃T&Ẃ`A 5McE\B$vIT,@Wv`\LʵF7l8"WtJR.[ RY%*I":rq;E)TD y"涞jףeӆ>Y,YpWĒP9,۶&b( g2c7/&uB0]v}~" xGT}RtJmWI&fTg֭[}L:$ klE+'S_xtZSp*PNO S_ #d{uEyj*ruˢ]7c83Oۊeݡp̎s3[HvS3$~th=;M?պ&I̖~>yV;=]۽/S7r'| _(nxzT3t$sjdf:խ=}|3d-_w]qhohZ{Kύ;g4O M6ӹBэ Ķ7cK?>;p1{e k/ް2B)::d5Gybм1ɛ6OƢ#4/湏'H@sBkCT\n:Yd8X vuxJ 2K- ˞+LÙ&xlۯF@Tf/т5Ϝ<8zagѩyR7݉Foc:OjlQ)ȥx($ cU&t6NgR鮶D:Ð|XUr ٿkdH\U̵^OjVDGb~ߋisZDlsViBB>c\Chf'暥MF S_qZ0RP˗gљ\9e ᡑѱ ;514KMWePIiŒe*ɲW!S% *H:Lٕ1WU"^]aيBIdl]QF.QMdIQ$ɲ0.m0ESg[S"T%"lTTE?DBEʖe J5=9LtɧYTL a>pLlQ~ِ~;}JYuec+޳9Z@^߄*~nyǎIK>_į}nmmS-8V1J,AZm-5W=G&WoV龖ȑ;xpD0>f[>uTh-rL<[ׯX̐R0tˣ~|謶Frc֖be >=tvS Ƥ5Vk^v}ƅ^ek/\s;VpQ#7rG{iuP>}N?P Y4+NӁRko'VR +Ս;FN<m] Zӱ;hA6*iۺsӴΜ?ӷ;+մT7ht־ַ7FN|Ș}+'~%%(~MVfuUTveֵml/pE+K,ԆKӶUtP2{`]k$ hm6v(ZH9z(-(4΄qV{Q[uk@ bz򶷮UkR cD׮gJ,9ATjv)Mɠ&6 (AcPjҖY 9x $ \EM|0I ^ kѫ yrU@`SN([K`Uks@ r|.05p\WMx K˰ w $aZ$1,M`%rb 3@u}mH|>ii Lh2ܼ}6ݣò}{?_쿘SMl!J@YXP pXmEi@v9 Q BN(&p#.ϱLQqS"^R9!#뗬wAWxNk+)J/s!BrMYJ<^+C[ EO}0b+:Q>'>sZY|[ZS+Պ @:2ܱ{{2@"ћ^kTxKVՂ3-kҦ(TnXl>L7=Ww5ZKG^lDj^V,[9`㎮hmصVf\~cW-ozd̏L{;/™orW%SsE:" IDATP0< "%Do(H>=򅎭 M9w pHF7-ax /KB<̎ %4_-gn2i?eA 6kzLU[ze6l SM>$PLvtf߹XhQ]FjR^G0Y4,h29$(+?L A@=&8L\C0.>VW:Ks$LWė%@ڿO$.ݛyO\4= >0?~l~!f{[CԦh%!wM1WU׵MQ!Qu݆Yf5]PZ(WXP˶׿V&aZH (kOah~Nd # kfe_#N\!/V6_1G >./_0kahY2.k4yPܹッwdص@w,ɛoؘfs:v,5EdYU>Ac,BL*Am-ic"+ٜŅR)P,P;0\ #leܣGEY"g5,i!$( tS'ʡ5 j&[_]QI`έ^ sm3@a#X i@0`X B3E@8uhͦ90| l6K@xdQ;EJ9E l ۼG0AKY.>"Ze]<_5>49Ĉby 2}-Wّ'pêxMkw\s˅SCg?Ou?Jھ& $lΩQTٸfMƼB1w^liD_uXG&kjWV{Vmuu8Z m뮾38^cM4pw*ح+6 jV ]mZ߲qtkcDZ43n2қd֮'y[F<!ዣG-VpɱW.}|Hk)7pbReCӪ|KdlNnxzf>/NW E1z%Ig`/=2?Ku;տMd U;֧ɦ]e {-*x`sbw.4mZQ.& N@ \BLTHaG'/쮲I,e:V>90Ζ?M90\< 6p0Rk 3I Fz)JQ@OWu#_<́+Ź*IeQ]o{adD kV5'ڮPd c~޳T(FlI#9!\u`[t+C}9` U)$l6@+ˍXWÛUZڞ.Vˤ|G#Tٙd#Kۻdw) 0LJ+ rMJ'|~TnlyB "  eZݬ^*px\ysEջ+MGLoכ- O܈njÛ9תy- ^ct882gaIikhBந D?$J9[?ޗU|%l:ۙ9R~?z2[EFO.kCOwfΏ'Snj-op^(Dh.FriU)B+O{x+kzv Р( ƥ )pUP+OؕRɐG([ Z /zT3LcȗBYAD5"b5 ;)^t&*΍-&ɜ:]W5W7$+9ǶSk6A-khtˮ> U<5r$mtvq ùGDž0)+uoQ8 sc ǥ½"\yT'@}zVKUc @ }pp xQױ8f*\xÖ7yq&&pە>B&b[;  Em9q匚,a|{>Zrz~$`5M24mR.%CAh(] &**`l:8Lsٴ ⒬sdQ8瞞IupQ0n-j$Rhؓ3sNvQ[l*"$ N;ͦ$q!rFmk0ȁе"4Sv,Wo3A^*gDt4uzr@UYqBd/jN(q9pY$NZ@E_*M0a32BD_X^x4CeFP\|'>CkTuJe/CVPɧM%㿭/|EFB,P 7_'h{qEΕU׶n::}]2ٰ'1m]4fFÓ5:%_kTC3ry{/|XZ ރ.ּXΡgd-Uvx`vugzo~STMmm86|[o|_8 ;{+/oqH_Q69|sО8>w%K+7DFq\~z,j)(?JnKͶ~h ^E XpTW֐h5`lR๣.zc{ךb1B?OǞ 3OV[o ۶͐B-3%?nO'i87dϝRksp5*9ht؜wvO6{X)P7Ė$+V*,KQ?Khh)!U2>RZO]|Ugc"C  f~7ΡCswxL]ɱ&+4B m).F=9wѶ!TL3}1܄]$Q[SƁSXHӈ ';3/}ɯ~M-񽡠 [[ 86hZ*M-A3zy -8Z 8Ɨ K7JxY 'HU2; ~!u2;mw;<|AO9C_LU /Ζ˰ؑ&6^3AA|8FӽO75˧_y[0fL ]=HZ*ukF¼AE1y.s8kf-gepM3\򞷿 ^}s ~`~]s=ݘNS݃Kobp:h3e?޴c'Mq"j2(St'76؂/Ŏ`,w!8U'> = A% c1qIhGGvQs1X>ׂ=[/ž}gW\e)Ce`pZ+rXSiDVvG,,ia#JgFΑɆÃAiՐE 騲{bɑ^MEuQ539wxOac̷uȷюkidE&h{9+Ga,[/G.SQW10a4- O 2̔wk %&-[qs_Ğ(V#A%H(i.Ʀx90FBGG8L!5 2DXX`$jX0LnXxq%JĩȚ⸮}-;7)sw)ul-p > (۷lnpX`#}`zg&S)I"# eOݦ(e` KDL|Ɋ:E*9B">0ĩ%GI,B@&sB "қCAS>>(Sð_򤎈BrD@ǁ'`U]`et{ /r? "@\wEǫ!*DfOD&vܴyRf .ǝݨMww?yfrʫE-u\/g'F DHb .1-hu4Gi߶Isi]lsL 0}uG6r*970}jCwegG߽tJ# 6922ܻSmcGN<ݗJͲۨltTȜMՀbЫd ^,>*Nyn4ꮳ5L`)7m#junL[;mMUzJL_̦}kfϟ&+Wll\0=F0wu#g>-{PVl虤6~izu[lwZ{Eۮl{uZy:k'=~:]kHb47wH=CO խw}#55v[;23pU7+5cvpɗl]d:*3'o|]k:r.!2;w]q"Ci֜oM5]c9%\FUع+s_ٔjk6hi \%29~6q^/o!MxH5b(jN5]<0k3*nٳY-䏌ͻHj0[ʥ9-=+m85stLN5Rd΁kʣ/lضhD¢(Bp4jM ۨ5J`Zm滦竺SKR$K|K_}e`"K0ԖZK%p*MJ[Tt>LI1ZQQNDIp=R?r{Wl؛ ? ?,}A;tPOUX&օkSe͆G^>:qp&*|{Ϫ/Z?۷ڹGMZzm{zxM[L6OĢ,cZ2M"f흊Ӝ3lx{ņ-R_Zqd*4EYO"<69SYxĥLI }L0JBj\H& U ^\wǟFjpE<ٓvm.Au5VkZם;Cب5kPbkw͖y0hȒHxL.1|K,`GWʖJK> ^kC+C+wrhE߽:S8o[!aAı&woD=pxGx1e=?7wg,j2 ,'Ⱦ咴 ʁ)[zѬ-o*Ba7MU*oͤKn{ᅖ ~R+yȣDY*z'={u1+NP\wM(˶U8:o_˩u "޺$qncܘύ_vM 㳥WsBR?Bwl[ٖȶT%[n!.\3S_`S :ODٜ;?V?p. G#(H6'gBPic/)P$@TIpibL:E5 4?p-XbXB3 G tIEБ_8Rtȣs'Dh=F be;]2q{Aa*sC-d:ԥ ˷u%}mI-ȻLpvDy|]\}olòmE%8-"ucѬtzDPw&yWb/B13@8pEUZլYTAUH*RY\~ 3>O i {\%ƣ0˵E5m{S="o,{2]SEIWc7`S_ ;[8y}[$>Ec23"AVqUVw B{Dyώ|C|gal6GxkuLGrSz啟Č# QN>Ƃ#ڦbsD*s]HI:_'"ZJ\qӖk˝8y|>~|j }G?ǘ'S9V2C91v'J:trꝭug篼mpfd,7\pzhM2gfiaQ?DiVkꖪJfmX+W YIfH'&d-M&ͺΩ}xxۛZFm"PS~Q@WGE|s57kٔa@6X Pvx@Ʈd2!- w]g>kRXp9"}soq3pf7L7\#D;: 8"*c JWD( ܵ\\L׊2®[\*CB1낪dsd"׊JzY?:Et(ڳo! `yfQ{ h5)eew%]in,nw r(pA2wo?}[S}ч>hD`!TAUT)aL}D5IIp̏M\k[%hሖNDCִݦ:0A1@ϩ)`||pD9SϧOa]luu- a0# ̀3p"Ev;䎻nʬۆG{6\ݳjb H]sM5Ep-ñ w<ߣGm<ag^,3L{xn|zn|;1QĀ Ȓbchvrvvr֬չrCK CwxQrN0"ICk֯ߴůP=WHf#")*51x8W:,HvcP;a2=0mt}W%B@ﺿ|߭̕ ;(Zk&S;?i)^xv^JLGB\[ /[xyO8w;yŖ嚁c>=vύkSo硣{|O-6ţ39?+#m=mHk:bR-7nrplx᱓9z^f}d ON4pkzZ1i",’" 5֡FBcD$ME\i^ eMz!}ZͲMDx*QE!^7}0Qe!:\[=Pr/5ݑ|nܨsTn}E&/2Z%`<Ͼ5ŅDU[^oVm' g;zVM`H){̞ػLڊ5 !aTƯ\!6o- }ѹ].=PD*d ϕF" -N$12\?(\R:Gӵ/l=QI=>PRT&+%Pu[քYx,4=KGK%q'ZVB+,m6Lu x8s$tLI Ezw=v}"$ǁcE YVRe" A2g@󀆙`Q}S-MF>GƀAD ;`s G. 0K1a "j-ж& D/:1'\b8$F o{ 8=nUz;69Ta,ڶ/RVh-oj< ԎAݭo-=q55pdw[fjΐ aT7+gČnHtouk>rflM<\) Gu8ۧ (ϟ~;:oVh; '.q%%Z5p'HUtQbPYRNoݙ NLz.m7;FbN̟U'3<{ɬٌφ?L͗FOTa_mݾc%+#Pep)oX<<*\wXXÞGg"ΡfRnB*v|#W+?q}og\P  8{sSg5eSw|v1*098f Y0:ɐ=6K]H(pI]X(/,?33=656_MSDaPv]L(Fox[W˴"2eiw]XKWFkYg ^P_!h,- 9zO߽Z8}Я>s̪!'OO _ԏ?ok4>?So7n~CO`u}+E.=ew6~$wzٱy0KIOfd˾6Y^˵SN'_Qe;ix+< ;?Skzɗ}W xwN: y3qסYyh#֒:bVfv do8-Ú9;˴!(;zǪsR];IQ5g&f2i*DG@s yʘ 3+Ve+JyZ:r2O?Lէhq'LM~g+m^Φo;_1Z&dz+o8h@ՇzƑH uH:Ae6F2a6n?xWJOlXG9<ӣP[O7ŧ3dy P Ț㋘HBV% C" n=wt6.%a3fv2F71,u}cVybHwz>)U{on5bN9ܾP0=L0aqE,ŒG(o7)6ppW% s܏N.3d|)B-IП%%l?_KHW(Sq Ǐ<_kxQ7M<_o,>5\SY~7nFb +Z9kZc3!J"$4,I}?HдMCZ}#r,! LMv+T2f#PtSQ4e۩Km vA"I # T$ @bW3)'Ss[[hz^(qBQy L \H 9T5O-~Dq!R!* ^;e?eQ E!O #$`|c4[ČHrJT1ƄT"CO0_x:Yl~Ϟ8w]U "y쥓c{g ! #@7>>~,/ň]ajXskhD(m30\2&8Qpq6;RVц [kr1syE᧫qın0MAV{^xS}Вp|bאN'Siwf'Qk _Wn}-?)gBro߾gb7]w߼׼t%PJϼ|68gXyՖ5s2F! '`ؑ7bԄuGi1Wj5ЌէA,kBM&nm=3jh2 DzHRxck}b>7*|S`634bg3\Q"5`xv6 DHT-iZAT98Ss`vb̪'4ƿ><8<18aI#ƉB $BTXFX%* [T j$1& J,LQ@f!c"(fK.풄"B BK۾TӢIH*BU s!D?x{Ӕӕ?gK3_ED nN h.1+ ojW )L~//6@1 JW=q̘Bma ئacoqLS_j[t[^|prQbw^7Xk;}s7欞ԕAgcei)LkkU+7=x--)&Ueⅾd*%گ*랱{g~=s&r뫋c j/s?|kM驛ubJcdy? -O.vuH)f dVO9|A IDATӧuǝv/y/W]EtGߌ8OwѺdv׭…fz)(%`,HɅ0B Ie$8~EjPP6a9<s3K^N2Yb&,eNR@/tg|2]^F#c:Ls~eaN\ G|lU Oa6I5Vªmө鉍ũ=ֆԡLb y?8FRwk'qX{s 㦷$A 7{kQrA^/I NHs2G K2r3V~ YzSʎ>h67^}{{&:SQ45_?ܣG.2cGAiXTF3֫Sqw]QsUG&DRAQ`ER=oب5{^zX̥zvhtqEm$Sتf/MوI6^Ox1I}r/7fA#JxîahVvI}E[젩`i➔MC\ao}́ g?N`"g抹`9}EA .@p/ϩ a@P6 ^>=ZlKW臭z[~#n-_vz;v/m%v=$¦sPt)׼gOwL BFTnfEqX\lb"gd X)%`9 (GawumxyʖO*7 L@nWV J5.RqIǗ ZmERfBĂ擏{h7Ӎ^u=|~7/ MNQc@ =/ "+5fLljNM A5yۖ!,1)0I$3ΙB#7Jsd+M aA_~ IUT8ĸ  .]L*T( mJ"wK88!Ubh\S(0Hb1#u-Y@!$1B ]r݁I2N8`A(gr %M3~0SzS"h&!*&I6D5SB)3& (cPᧈK)'+Ō #DX8Ov}󦷬)أ~KW @09 0`+X$|RSm*x?c qF6R3t0SR.GRU3M,wm?{"Ʀ*pT~SZQ5"M* y 7t,3klخ &wɽbyql!&Jrf:p6^Mۀy_":Қ+[_Ե7ZZ\foa#d"t#]%t=/k0fHSX,7*L]\7}0bgs#[Ga`(j/N2Yd$"S!`B %ǘݳk50a p>%,"8MA In:˶"$BHU$i G (A))jSEMPLs GJ㊪#jr{&+zmss(VjXʥ%XJ&t$\oAA\@Tӹ C@aYםRT(J-337W+I*T!eu]Kc C8$ H8Ob&#TJ+#Uyqm[rpc%1LPI(Fe,$`05jt3$ť_aϏ?YMGDwר3, ylfOl8%S 5ʼnq*P)cIdF{αO]بMN*F6b{Ϸ , ag-]lRh]¬B 嬲ž}כݘ 1muj!ʎڬ'|Mq}{oMgvX?ٌw U?$z.qGm%0UjQY~<)6f[&Y04A[ ia˫}dǜ,Iԭ$[ KXr`2U j;0kku1S4BMK,4*s Ytn0D>vTU'J\of$T(cjL;t{[mb9Ө&wpegT滋t:Lf^[s8 n&aF!vj ;o3kbtcu}' ܘ* 詋M^8۽f96QTٶ箪LMۅSj{hui7"Ju4b9Cwo1ngV[^͕0JgeΜ75b:kNJLdq+KK, fI\OţIr_f𝧎?կ= =G_x!INj_NX,"5ZZ. Y+Q9cݐ {ő7I  ƄuHA0v(D BX(fiN12u;M31LQ1Tռ4fvISrI8嬕nNhZYgmAN䝬ؔ EDQH$| ' dB-;Y_( -Hu-c tܷcH{vvxL7JĠ'&j~1DʎFPPf*R.tdϯ414 8)MЃ؛mt O+7z0S~w#'~;g_:>LW>::uU7V?D?ܓmىyiINe-zJƱЈʹXhհ'y<;=a+(k(Z>sak$EZ& b\.%BQUpGAsyy^?G+4jqf*gt"65(u*+q,|9p+X BIyW||[G@D񇿺L.t{7O=_Lafvz^:FNm~3 |ŘNm2c*"ZN0- EQ5-Mym` 1 D bWDl8qĤ tm;&\`| 1F!B T Td>Pd%TՄR!'ҡxf2'V%/(WRjkӻW7VjQ&qJ)V( X zƌ p TRF1ÈΤFq$8X !ɣxISz31^"p{7 D H&B("cࠨm뚪C 6sv"S0T-RAT{R˫ 8K/[n]_)3TF21 $٦T7P$,I83lEqh`&fɕv`Py?j;HCYߗ D(z0BzXN/le\>~IjPl,}{榯s qNTzODH>^x[fm'cJTTƊ#qGAǬްDmlu< 8fLp,$K]JJ [aI!D1fUU'L IDJ1!)DF4OOXfTUbq! HE#D5:[=>C5[BY)`5NL!a`,9( A#.Vg)Q(YT$ # LL d)ʘFRy\Q%w0(MA$9`)oy1M-nDUCĠmF>_$1"9AK(0dA8EHI1IwsjG8I7n\sbF"׼5ꣿ;>(_Ïz{/ cS ݅` _w?/$ >V.B6L va SQH)A65GHQD$<Б;o?G/N*v-mL> z RX"t^L4EAD)\4@\"X*g~T lc}T0%ouҺfk?ܧϜ]>aZP հi$eLfTͩ8#3VR IDAT3G]rԈX_٤K77?g8uel2\mԲ(OIbP@ع\/54%řW1|Kj<hc3z-~W;8c})WV<7nj3lf,^aS^(rq$n9GKjhfRvvԤѨ/4-D65d2=ƖoXM'w5H&yb9l?ZXOQgwWqpʅm Y\lviŗYzP[,tu vbzv[,/fu67_/ISġ]7s^xown/?{p+/<۫yDO&*(KƊn0D)3LH`vDr*k`t U֓aDHڠsNu !& ^-8czi{+GWO.u7lC#Vg(_D4S2wÄ9PoAHI.)[|yo'Zr|ڗo翊18qăKՙ {oyGIJ'/߽|S|5@5 7h7GľoW$@1(p+MHIB @ U[9"Dؕ# Eldru;f $Bh`eXpC7`] .TswRIDCya:z$AZμs4|+7f$);,apd:dmk*@r g Y'&)2m AĴm 0F^[]% q'ߧxFV>H6n[J"e 7a dG|p}?C;8߷dgq5I?t DI4C_G``00L RkLFpzE˿B>.hp]GiǺ.% ^\_˙ª]ݺ$cىTQ-.$B-mg|w}_tfՆZ{u=f#Dm+t9e;u@cmoga/;6lbp5u ~aJibBm:z$nPKHYn#}7 QuZk$^_l46t jޙJ14|WVU m\y|g1;m+ڝbىmQ͕D[87cK|1VtzFw4ꚓ12f> Fղn4L~/R??[d66*N+k}~q34`RG(%G9NTmde9Nu^Ya|5҈Zg?T?W?x+KKkן]<݇JUauCH)yM(DT]՜`лzߵ[-7 =9+:vVSU[*AtVEq4RH8% x,9 M@>_;e T4j*5)|.x\&cN& qnH'W~goG9H৲I[A*A $!G^_,\z2?İDO-rw݈"yjz盏}幧{ϝu~z?s)}.cLD0KxT R-K34{JeIvJ`0A@HRr+Jt}?Jo5A/6ۣie]36YcϿDN?X5,T;s4[?> ˋi2Ĉ:r6PPl0U+LWI=}z=,eou}o]{No)vce]2%!٥%\3#?PR(} c20DOQ(ݎa*wϴ7]8CMQ h,VX4o";b(iT;[KzaX/2,++n@A FP/ӓ'ϗju.@pD^h~h;g6;͂UՈ@_!v̍i3>r"kX-o{1s\WplQxFfy @NU>O(ov'ֱ|FqvN1+a6/:wxWrv#'_LLeo>u۵N<G<VP\j؅Նu(`JeIrkz7=|YX\5H$Z1rtE (KR`S6)"ٞtd"-hO,FMԱ"1cRY_wHED^(>:%X y^R^+}cj,n}ˋ#~ʱW:g{_ugbm223k|J*$JB>H4L@Gh iĴ  P[׻s7ۛ3s #:{7c?lV}Nyk:|eqh9_)JsE:YFD1& h8oH׊JtKuIJezaIe  * !JqD"H$%pH)A @ 8K 8YQ(J0 ##r8Gy{K:Zl4gq7޹q5la !;㚦c92Ew4'+xy=\ c{ %!K%y$BP0($~ƅM|?JBc 4GebB *$9W{0F$`!1Q0nnA#ΞU~'"2g(rΟ{^:_g5LP'eqZ2UT@!)ظɶMIӘLr%\JR ȲY0S5UrNL,]v=Z4OpǩWV EV:z"@#;]PgK[j&.$Jjo7vFbQ.H).A<>_>5azՕVi ֶ=Q3ȹy:}t`nx ˬ./ܸj֣wn",lkño ;$46PɝGZK_[s#R4Ds[ yx߿e)>OO`9t~7gc>TʘاZ$JYN҆ c&q,`gy=,̝ID`SoWѭgd9f*|AL3 !@aʩeG$#/P*G6TST]Sսݎif"X-{lU1.x+%b])R |,|;,,wnozxoQO>׽mQo}6&97BwX~CkU_Z]%+} ȾߧئO<^*>3WGܑ{^$~w>rБ& DG>kK'g@x&)BB8H4I%tc?=+lE)XG.S ,HZ'r~@ jTr[\i4{jӘWnlηYQG3( ?vv:KUٞ{4>ykZGNfS.MԼ=鬶n,4:1;[!%[-aq{~!`b{o"5k[jn{0&,N8 Rgueм4rY6)a3o+b󊓷P%{Au$v0 @G^Vs.9G5Jr+7m-趴\RV>H4HR13>7w^?D{n2z/ǬDɷ=j.\zsP_*#G-e"w+*fFK0*BM\9U)'9@ϮV_(<s,v~0sx#W_+妑; KS<\/4i|N#nb^+TIҘfRwx8A MvvE;9lVo+JL҉2ݛ!:Xyhn{‰&P8TpC'o竏>sױJIg1$󷟰OzgQ冝%0pMsJTn f<~5v]$nX+xH,={J߼.QxXLU0(BTN/_谒F:UjYnĩoUEH9zK`n0V)9|niVh{(Lh I^v\Xl7sAO$9񢆑F2TȔ$wF!^\&$@ ku~+˯[mݑ$+ߢ ߧ).|n}}hsRl?>AGY6Xj! b>?ߏN @Jba99[$eZH$Q(_o=(׮X)Mcb i?7~_n¡XOF"_|3aj 2A̓\,wdBȉQN͆"KhYxĒKY~λ3d{oV+CYiLA +zml2̢Bw鸵l+uLiJS}%OƑ"x, FrKq ,{a`J{hUkEQ!U&*R则_ $/ً$F ymEӌj$ p>q٤~ꊆ1|)  \*%V0aIBBc7i7jR퍀 sIWV(;TE #=`[>Y!=P7rb{LbosodK<LY*:[z~ȀrVo|+:^Dgqٹjo|u:ԫ9EusnTؿ vGu]dzTh (*zΩ:{C 2 D&B,)Ig)/:ȊI-\Y.+|Q~wH%826+P%+#&$<q)d" B{-ܽ\;|.j-=3ފ??n. ciXIʥYQ0 "CG46:~o莇h84O{q@AJƄ)Y)9DbP,M ܤkK1BJD HFRAAFRyStcDXvcyÚ'}ÌǏtBDtsZ5-Z<ۚAxȔ!1łR9PUJW}1'!%R&x?$dY D"Ȧhm[M\`MնW{"1FKIRjH؎UU4J)cXcБc*cR (H q J1&HL0R2'/]Kjw%]8v.\EMopz=y?4Os !PuTžfuGN/m^E]wE)FRd1N~'.Օxz=)`zUwk~1=Wg0x$wC4"JƋ;k㗮{N>9<3W>\YFة6vz 5* d8L4MHƓh*A_xj%tED9[ҹ;-Bt}R;qV +t ÈgT x{쮨s )h̰(] }y˅{gI$aU^b;f/#/^GWJ2$t^.ްY*j #RH’f~\7hZX]벹ClFy>z)3i1RӨU Wo4sR+w- -k7^sT%1y!{^{ 91v /?pSJd]3xgοXUͯ^>o.8/n{k?o> HIfJP.`"&D7 j?UDRr?c525lX8$Mׂ @Ę ]PX(%Af˒dOdH<h3C$[ lvs쇌ݏ<ߛ}9&ܾP-`HOSnFtp0[c1lRb1IST9 B3/-39@ )wC؊R`< Xd h7gg<ͻO7j-?| RLRX9Z[~Xu3.NYj|Ο{^ޏ- ccVrdQE~CgDFK'O̒FY"p83AF-TW"Clr*0K N.c]B^x2o?>ڮfÿ:rE$.UL U]=of`b4%w- t0}_K W_ʷiYONMk{+/ϝ^ǍęM,렪Yq)3(fйʍЭ,LD937;9Sޗ弭ZzU,L+T$US &iLAmJ>CYHԲhFӛ-u:;T0Kdzk|.p-/];t1 8~_2f=<H!Q%2T2F)F<Ҩؒwk۽PkzFdp|NlvvV0sHhkLJ^*~F ]5N%4g54t$q |4 65 `c&j[u* Séh7FIj_뤿TmTzfd* w92 zTqޣX " ˱HFӟ LC'Ox$IZcÄM,ӈd.^%_~Ch04 ?3v^y[+oFwZ7ckzGebяUU}?t:Om7 q_j֮_@(ZhZKo0ޝw~~eA2쫔&IX3dm[[N;tO?~zg7ή7 ֫Z*aH;W^8c5h㹋+O EQj[~Bt翢V{I1wPV)\P_m Hq6t&c"R4,գRѴJǑH,t rnt63 BN4y"%d*J9bBM8 /0өDEF+Jq'- kgUjhadZ?lieRGf{â"PA劌ndzVrponzw0ȢnEL}Z"4-4K)saL*0sՍ7ZU!C-N>ߔ8VߌAqZ($Qe~"8CV=3ii0uH,0pƓZd0tVPe{mWJp1B\z^X/Z483*i޲w{xr@TɴZ϶, LD^ɟ@cSfk|kd (vc3i<)__Ʋ< Hr3'SiH{?.o7|T攻Ozjqa}>\,!L"l )  gJ5Q, KDA0(%eLH"RJJxs$@H? nR#_~$BJ,a@X0&pB (xv>Txm4(٭I‹$+DjBݍBKf!&rkyno|h8}׻~x_m_v0FX4{ٔf> `΍>W쥴'o\ˈ"Iŋo֭BdύO4c\r7۾5Fy^V^JZCtjEcpi(6p :Q,jUK4K3,a*Zl &Å}`aW_ = jnǮ ȊÆU2FBk~6]T[t#8v J{}RB*G~^Nb},4*S5=1rwXSSUjRaenH$ eL$~pioc) a,8wa,|χ$eqFr%e7BLĝEIݤZ0\a{oA*k+]ib8zY 8uds2 05$-*?5D'O3IETح;1Llv E5*vvIqh8HE ]+ApΉfI* `&C `RQ /dʙ$3T2sRo$iR,L$ֈ*OMgaflTykBh{k~ߘ_)w?ôFgk{V(Zd4 BI?wSn ؃$ DJ|q-V?vRA#V/>j?,]q`f9_.r,~"C3_͂@Wg5ˠ!cIFa`ВiU?y*f"E ,72xDB%"omBF XJ s.J!H,'<{o=L(*.͗6w]NJci9), Tzf})۸vR5Dٟ2H$'_y%1H87$c@:5ge$Ƙ9isa i%{.M%IϘI"X  ZS"0MU]3jʩ&\f`&H &HH25]AX',J ]QT7vq#$ qݍٍ]/ 6Dkۤ}IG|9]/6~đC=c7Z3ir>4RZ:ʧ^HWrWzәLwW0Q5 ݵJ:y罺T'/H/%t۫+yۏئ3{Mp~Ij@DWrKR͗Z(JK׭2Br nYEIV)ֶtwraԛ +HD`iwz;UR7[߾^Tַ0B$S*x6 Y2C2OVP.oj!-aa !E0Ky[mQ))յ?ze-ƽ ,])ɘhg5*ϤQmX6W:$5k3iDmo4I"(HS]d Bbt8 1T-א#TNfViږ4nwtp9vF:NcnNMXAvGԏ+WjIL:K7`\99sue}GRi2ƳSQr 4TH Ln $\J>ocɩNTp *0@ Nӌ(,JihKKYZ9}&B۟yQ‹<ˆat ņ^w{ CޚNzť/=@0 whW^wky)LiʑA$ 3TA;=O'5%R)&4( Rb*܉'8 ) y=7kTEa$Wt ̼$&4"prLec8B0ĜeRJD1&̕U@h`! pχ8B|_68vΤz}kmzh{]O|;'Kx_3؟`: aV7?3U YjZݻzn}jC7 |BR b I4,zjT-tv=o7'$oc_}{~g:RFug2b\"L7VV\2M(^}ON=o߰%[8sGEZSl%Q4rY|$φj-nnsK%jm_~2 ŵݽ΀vgfմzP4\z5><;0qZ3b\_/h-. IDAT.^餉 /W*n^VJ(f u#Cf櫵4LQ'iR}'ŁMj=Cu(dezHY )=̦(l؞y^\0 Ε52wXE^wbk[9/o9T!PLןyڭn%_fyEVqVdE!Y1T_dR xVTEl3+&K" ϡJqh As-@"Ĕ @di a* #2E@R)%u`1\yXi+{TG$/ӂgٜ2/x8Zk g6'/`jq˿g/zu<2Zq 1H#RIi 4B q4YRYeLVJD@0Pzt4/R.1`0i^PLmBQ;tcjl:cLq5s,- dQkwm@*wGxK/_oW3m<+jE̓gbuiw~Ŗ {4gAUJ8RSOW5wES{#gV+^ʳw;qWNhg(v+ 젱2j zA|+%-=O+w_amel+Sr/ډk/|σؼ؟Xi~?bl2Ү-Zc?v>Gu϶ݝ_[[S,5~L-t4?ͤ>p8҂:_iPٌ3˧kӻnB4՞VoYbm{_m]^s,J-̣htz?-o{zN*O U)Xr%^ژQ/_s@``nܐ漠&MzN'^CtUZnrs6+}\qmf$ kN0N,5iVP/Q=gzVƇ.i2=ZqmMN,w)^|~ϭge=w2Y"tJ8G۔B;w`o2P2=T /eP(fض $4궂־U+] Aw4˚ՊI&֙Ru0lu#$&kZ.,pSgK1ߟj6aKW^+K_թT-⸐ä|(i;DHX[ǭ903oc_K|xynٯ}bc?#?Ѩgi{@P5)̧j@Q#ǖR˞ABe(A BS9 UJ7 i&JI7:W*awm(0J4;oт-%!2"I)a Ę!|F{v? Pt`L)TB :^ ((Ѐ?|W\}K_zꧯN%Bd}>OX x{:t8e\_]o-=_q'*kTduw"SG^e*f5eQ\6JQyThs[WVOB,Ay􅲵 ]N͸eWO b8bf: g!z0}[p_%jxau󯺄ϟYi5uٗꕥ|ڨIuKܳusW?!n`^v 7wDH)U:_;{/^2=k.mGlFÀw꨹.D<q*ɠFų9yPX?WlV 2I._,񬵶{8=]X2EjcH*ҪewWٌg,͆$d*UB]}mo *- 2&37t3ʪU,M,T :erC8am98A qp8629,ZL"ڱ ($^A|[I:7{W["jȠ,Km*8 =}Ɛs}4I独,˂mhUU䝺G=4\̌#KԢ:K-PVR|B%E4ʹDJhU")~99FH 56kPD0@Y31@DYJεҀJkK-1(Ơb%dBhN?|~`m \uk.AR*#,;;? +']G_/F5$.+*Yȼ=S5zDc晐JeqB}{?oΞ<6:+;[u^1X?^u}=<bٴc\'I%ݷ՚٫v+Dz^kyqf[r?n[3_ -Wpi?F[of8rj-Nml%vuߙ"eA}lL8۰N/Un3KF#z eo,nشRCh!JKr 4.?w|χXk.e ;sη^gU}yRJ-D=ƙԈP@(%D@xX̣l4.CJJp$1AYQzH{ڴPPJ0`-0T XkЀR фa2ԠcCژc0҆b1 († Cu@LJҶJ~Q c,Sj@j JId ,1Kt_^w;B_ ::jhP9A5p+\imy+al, ``HP-EN@QUkz=pju.JT kQjvI"ϤAU0Tڭ(J @peZȢyJ1Bf  e3ށ Hӟ!A[u')'h8WIf}>ڭgᅱO~>^- 6}^r)gmN<%IP Dٯڿɟ~;>qBmξJ5O~ƕe|e@󾏼v7:C V:VԹw,c=Tܗ{~ac5Fo$qN8ԧ?ڶMqtG[=s0Aˡ^Fcy]:㹼=\\ݾ)YZ]Σ28omݞpY=wCVځYohvbk±2Y!;DWoСƫ5f1Z6Q2ZNR<ʊPa*÷FA=K-%/ %vƳ#wy|zME-y(P]1`d Wr6tWn@kB,R Eq 4 kAPћ'"elb)ķotk$4 s +J]+_ DsLEſɟV>v">;ߺ7==|;pczs{xc?VtM-|Ƒ/N, ܨ9ባEkT|ܙ7Ae BhY+;d9|rPfv]v=kw>vs]*spQ۷.\|(OvohŃb<2F u}5Um,wal<]Z_Sn%/XTj|OIunٮ˨J&oۻ; plCo}t^9I.|$<>e~*Ɩ[:%3V+/ ]CU1( H %J˜reBzݷu7p{69<*/m;"SFn,ͽiϢxqp0;n98e/ FESnonR[jVpk)1"΄I#yBĩBA'KJFr=Qq\t˽7}ɝi~}܄w<P"\;GecD ;tM;XJ_3'>{J1: /|?W_t?dΟ?#:my-qteʤo VUqܟ<!}מ+1XXTksJVFnm5*ZJx/[KO?gG#Zkݼ{nyguЎ|>wzJ`=3WgJk}rv,C( v5, Ss]ԼWE R$s|{Omԝ$Kŵ{P 5ݩd ]+Oaͣ߸kQfzl>>h ܟ].6$FͰިxa{4lʈF+ ]ןLF=Mt$qZi+>ءvPq$y彥AMXn+8`J+O y7l6{t{^"}jWɝf=V'ł9֝f?R\v\ji cJʩCO'g6Zy"- Ac Lt 2jgHBU1JgЬ:FWnnkV%{Ө<70 Nw>EFI yE@Fc;/q9/uƃ~SK!Y w+VG0c: 2t2`R%t  sfJTpͽޮmTjw)uVwn$ZsYg{D߹OT]z5#իI`e ڝ̊K]s eniUmÕ'u^n؜E27􁓛]_׷ f`xyf1ض ZC* !",)81`g2yV䠄C4!eWFQo$҄QF1!Z= IDATl߳!`6mw;AS..K1.<,(bc F-wk~!CyεZ뺖ۖ aY!cO.wՋ zA&,`gbk^]9{^MJΏ]Z)0H)eJmK%0t )A%҆2RkT< ul˳cZòlhjQ%JLl1*/D*ɨ'Q^oUBaJ(LlR2Fya kк5?` xRץ2ڴ:s] 2;>@~/<*S!X"De'Bv-J,8JOyZ9=ǛNg%Z~`t[ۛ׮\ܸyl2)dB0}=N+ȫصPGKpS#Rq) 8yprVq"83R TL^X &l%wF:=ں+lp|Nomeoݸ1%i]}sW6:;[;{xrɍfU{=i~!OI8+ɨ9XuXZU>Iכ^˄t4mZG Qm4*+,/h\;}"E !z6|^TہN0>`Vm \dalb[l,>S- ۝άy*>mg::5NWiNfi+Jy2jWi^"(1& !x:UG2-N.gq3^uwJǶm(,jPk:+}аHXCaĊcL8ƸTREFێJdT1QѸeoP+)Z;^c1#B5``eDQ1*.Rjg40]2&yVZMʬD"ˣl(lߑv`JbX|S+|b?,߰SnJ,T`(C,8wfyYk 4O}8S_g$ɏNq!8/˜n?Pk2 %|ϷaJ9 l clQ(*@( ^ʲR) 1 !R u1h BF Z1J\ lDQi  mz6 \ |# LҢHѐ%%`p(fC , Q 9urRa /̹0d$i0j@%:sz4ݥ0Ƙh`@ kUd# PuzSHAlj!TK(!4^Dtz\UJj){b'YR m4B+6()xQdn@,XiabbaSdYNȒ A83kE/jeI\~]__q"'a o>Osએg/lRXKf(Ċ)EiIdJh{n^&sU^緿{?V_Igú|}ٚ'.7Λo vuoD |b^&rt8;qq"Qw4 &;i ;V=-Q~x%tQPJSQIM]wz}MAbS\6]5FW1.E.RF^}DI<\G1b:^]G\ka*NG'lx-p9P<w4E n-2o;|c+WC$v{©A!Qĭbˋ,jVXXGtw'YD8"Y@* 'ܲ4zեyqW*WNtج0a`O#R:L9jTFW^hK3^p[&#O'fmX[uxc߳>~t$"/*W{5d2K}?h j'pbb)zڬjG0SNam2F&Q6>ZZn ܽ\ׯxxpl6N\JKO'+kp̬o0nO={pu<ݿ5 zLj$4 37D%&G?n|p _ՃcoXoRiylARܱ`bcRnE"2(q`#o?o#h[?# X%5"ER2أcm l@H`}u :GG"y)80F=F")%(ڤZ Jx?FQJ-0jaPfW_ ]-q'32f3ml@!ưt%%B K5`@)y CJ=$ B@ }LOP|ZP Ƣ㙔FcHOqwn.#?ǣ΋7^?ŭ/"N䉓*l8տ]߱7JlTKcs?pn%xkA糣}IҲWY՛b]זϴ܌ Cyh(ˣīJx;gb݃KgVRngXd4 Vyn|Փ+;wgυdQTŠF!v/׉TktQKۓ p! u&P1`^H!vo|>-V앛ݺbi0HZe2ֆGsWOh΢ta;N8v|"']'nUimy4yZZc8lrT~<*ã43 2IkftTkzk43/ jhO{N C'6 8Mm`se$)J.!X`4(ٛ&Bj(sT qD\s)KAeVJWIBH9V"S't.qpʱKdo*\(rϳܲh flZJC%דr3q)bίhZw(ӖM%Qqj?&bc*X,F[뫃f?uVluWFO4_̓3_}{Ϯȅcv9FBHܥ酾'!y'&)2`VyRR)]ϧ)7F Fu(B FQ0Z6 PZB1cL4oM1&ju;,ש(f ]u[puWZDm itkN*mv$Լ(1J(|۶,HJĩ_<=p4K\II`2BtYjcT4(*;*HiG/M2i Jf(Y2!A]1 DPx'Qٶ}\ڹ\*BRZJic6Fz4ycQPh9߽ b :WzO֣n;H`[|{o~"W7_) '7s,I&+wn,fӯ^~ķ|ӿMsKgvBrMIص*#lWDd^!NƱۨy=:g9`op O.U({~gWj04kVXoU|b/Th-l^HUcVug& 9 x j-7Oi?+NoWҙ_~9{O;R{v?qeŽE-xsO~{.~hRL^(hd%HeiSۉ$bQǪժ: -%L(I.m(Bk6b^ղ$+#5H%R@5BABi@`h2F#ز0"0UVRD.,euw$\D+cL^@BX軚%y= ݕZiKYQJY(4Wy^ouH)dł {ę;;H,`%||F϶TJQd@_aaKv%@s!Ҡy)EY"!vΚjqZhBP2BRj20` ໶h^/$e{vs"#a!Y )?{txwUT]@Tm뷞?G׻s;B|wsCx~`{Atv, |tH2؏طdۿ[}e8~(ٟKoؽZ^ah锱14<dR'A18 Yfc~-J;O9wta2 @̴LLd>RIe$ETv*L EI @ 0yz:7{r9;4vڵzkoO@PB9M7K .Z8JyQf*y^JLei8H*3d)6)zG}I*"լ\RUkAwd2TWWW֢7 ŏ޿ŵW[{eǭ1 x,O<ܷoNíofd[ ^o9_n%F[%zϝ8+Hs.ZcL` eV-ڍFݯfI@I !\(J. Cc`YJi ј0ƥˆ"D&cLSK Zi%$xKkP)1c"8ǀ"ԉ6vQ2F( $̂h0 'Y'iy0t< 0g,00(J0 Ƴ b!tlx>LJ48 m\tz G[\BiZ!2/EVHXdʰ֚S!1N\kd3(F)!;&(U%7 lD0MRŹTJk%R`U]< p2IhiKOu0B!L("aLJJM`Kg<@;߶^?#yL)ϊӧ-papvwh'ANsE5ňf9׼/ s ߍcrɚ\Yk>_|U/iS[;gFwpt&%ymSn٧6|~d8..kom1r8 WAOos+I8/fuW>uZon=Tv^޻|e]F3Ӱ`3פGܳMJ07~կ {S|wÚFu뷰b.w7on?O\+=֪^\X.x1$t. r+ ujnǃ45A,IYN6[Nm<97Ng-<}^ՕU@ZQ1ײ^zͷߍ.)3TBt~u0Irv 7o>0zaO>w?6XMٴq;-V':\F^9#Z*C_'p&ӳ'`ebRcv쵪,nxI!j<>(#DH^Μ9`)T40iNUh(2*NIrQyweiŖA,˖Lš Bhi̶-QUN4l[qܨz;9uM3,Ӵpb4 FEv6̴l7~ɽ.Go'[? .#Hc m<_xmhuj3?+|g^|ԡٍ/ƹ f҇^eTWj}/a_ ^Z-SV1ڕr!דk '% ׶3ASAZ'{o{[GuQ%v뮫\"&G_#_p5veIo`ε zk|#|.߸zi!>OJjʣS.eŠHb ǣˆ`$@]JH hRO< d&t2 Y$qqYfi2yB,((4K'AN'`6t:Ù.!64H$bT*Khg{t5!é4 p T!ĄhDc%\"Ȅ( \H^JrbkDy.Bj#jJ-ӞXSD#0|N IDATLȴ$SXƳZzc hIW{\:t4.L z>Z8x4ii{S?|fYj/U5sìŸ|饚<ڶ.s]ozϋ ~Ji%Cםq*yPJyԪ;%EU1z(4H$ÔItJ&i^2^w1ai ΕJQc矼{Fw7<ׄQ^HJI,3NR+())Х~0EYHYuEZ"K@Suju/I HxnA8>ɵ٬٨GCBAb: VA8?qqT=|L CtqsPQfza~S?}w~럵;Z%н__݌/_\?qዿ󅊿xn7NYx z񕻯Vd!ǃ=ok[׭?rS ،Ԥ!m 0H!JIɣ(R@rYHИh0"D,EӢHF&c`r4ȥܶmJi.4R$( 1 ی1̈ˆ2ĀarBFXJNB*WLQ^6ֆes^&IIQa%q<,`d8CxO͊N ~㝇_>|e1V3/ ޸׬h8+ ?FA VvbmU֣[w^-wbݮ0-k9m7?s|&Éf*†CO"gIX&9'B *I={S|̼?jLoo $K1׮WK/+ߺqT(Fp鷾`̅sAO.uηʼd!͌\u69/(§. $kJi//Du۽ޣIWuKF0.u M r}kU^Yk(ʒW:W|F9ӬU .,wnb`mʕDa(*E2P\Yag,`S(vv#J0Ӆ_5ɅQ˅K+V.:h5g^}><|K6ŏO0WO2 /ԏ׮=ē?5k/[GL}__Oy'2cKϕկ}[+'\+G(٫v.ƨU};|gpq~}CpgW7>U]s, *1`6:Os=>w{9>ڛv3e]RΟ m?N֨TkBWąъvM]LtY+J\Y~Jqzoogq\i gsbnͨzq[++JbZA<2LhfBbjRάȊ TXg B+!$ň&yA)K)AhJzY9h5]DYRp]* 0YX|՞wd0amَoU6MprЙ}x~}eҟ/Cp/h)ޕkHFa^'oPu^xQ_z֨Z54ҕ/$MseНzE,?JrD~WZ1VJ)}ˤ|0RhД" 0IJ&TRIR+!%" M2Lô\4 55@FQJ R c4(!c(K$5R %J e)FZk!11]H$^S.4\j 4 ˱FmڮT4MLXR+Y ǭ%fT{l0f umstPFqM1}󵷲x(ZF@ *BJFi$kmY)J:&# <-$WXI^u,:WyS%Xs(-RQhQh-fHp1PAcϱV{y,K Jj?W4Q7+ӧ';{kOi頾/i l9ϵ{?#>> p?faΑؕť8bSY[X1x`|ο 8. g'k܏~'FO/O( G=Xy(D]},x&a^m~4̂b[jwÃIvy}EWgaLJ}dgG7pt4yM,]/fȲgOh.s,XLɍ;yFzx*bF+J-:9-exw4]8'5w;hUݩÐBʖYcdR -GҮYYkT+Y2:LqV-ogA zUw2I}oqddV(tjeVq6߶yF"LsmTN_QmEZ02Y0Fv' LA٬p-phUۮEHiJ-guӳ* Z ި7[J^.ηz-F0-1l:xm6-lW2}[qXz)8Ȱy71Tk͵ɤӨԚW$S-ҫfE&"jnLO.'CMYKP{v~ZS"icE2-dmNve ܫV\QT9sޥ5a?yx$PX]VY<|wq!a_>; kg Fwk~OlcO~/e׿YSFkעQ ̥B !D)ASeKεPRjRHDx)J^̎$!cL(h4`5400`B# c(2 RkD 5`^YVRhiJKp.x(ZcYFKaBHiJ#<58JevPLF4-pմ<ޥ^+v6̵ZF5@k_KU1HiBFZ_fYŕD*}<1bRb""+ԄaۢmbkͺUJ9/5\۠Y֬7+SKmwa@VZj-V!-e B[-qt B΄@<)&uӲމ6hT&;?l~B̓ [5~ӟK>TI1c9j1LJy֛߬n2}jj`ǯMS teyhONwoksDo7޾& I1-R02rݠ  sݣ#S1gUƴ Yangqҝ\c9SzQbuLȩ%'34*]ۛhm0*a^^Z}^g~;|l:<ٝåSyY: l?a^˒qi{Zm 19-\iՕe$ dI^he0nQrQ'/K0ȸ$Y^=Ѭ.H2`|{q1sp'%CZY:Ӫ\Ho6Vzu<՛`JK="p+9O<ܚQǔDi&)0J ӯ,/W;7m.تك8Hz8.~Cg={C}xxU5VMur}sn<~{wUriBrA/mi8ɨʚQFQ!D4e0Jp[ifDՅ[N_vCck/:KfXi1SХ ͺA/K,Ms-QF\F%tmbXňJլ7NJ:yjU1ŕ?P1gYphh`@ o'X47&80 ) LP| PJs)E`5pLFL$ ,b@?ZR00J8GqȏǫS\ Fъ >fn f{!(so*yK;>nQfiA6_Cʬ#F@P3`8/ A(R:Q|a O}oM~sG iÃq>Sή=?}/ޗEř|pie(# rUwY' <2\+~X^VƉ#s(Dn͝mlie:}jmwoWFU5 F7ߩyz#Z~HMZk-E$ Ž0TeA$Bi: "A`,@#=~Kr!18FKH eKcBcҵi{.LIa9%+@PiQP!& "lSV(H*Y@YH<k;@a8H׿ >%I6=[0:^;"xCHL@"BD X!pВj X+#AtS1Gѱ0rl+^#`!oIh4wg)߸ɞNffe)ċqd whiʛ/]TJHA  R$H1Qwy/~ý[[nݨ6UT5=z?|6$2bUr ӪS]}q0+,N%us%j4`V"tԛ7_w`Tii:$V`Xe&r"r~:< rҩv-azFra˫)8|Y]r"NIⅪ$;o뭋O=D9\gq󨈧pEMPQ~$V&ͺE3ߚ:9˝7sGjZ [ _t,8K.;\wJԓd IDATpױF hT3!1M`[AMB)Jj`BBaTw盔`ԠE1F)!Xe҅19cc"i „PD2)=eZ#U̵Wj]iܻDJ Z 2!M&APara3R+#$pL@HT1تֲBDQ:E23 c,J9/^ !Qꭺ&$ +jagF\F%/\k+gw^[듽7zaVJJuN,T\وȫ\85ƂK ڲ|˯nO˿[}[so4~7^iPoΆl̷vkjqnٝ' z~PDzV]^JWo;_|A7p1Yb2?puy cCϵ[Ҋ߫^o͎\~{o֯z`Q^C d+τG"4Q˔HiV.qJHγ;wq_=Ջ/Jff䩚ۨ[VZf[/?{a{w+kӝ?% ר-t4wtn: 05}m]R%M$aIM+ + (0YkFYdR|&2/ݪSk˻Y5H*&9Gp+qK/&PRcjD8Սz+ܬ=$%4:+w145ּ.vmI+ԜkɲUlNȱ*p8%0+O2;<ò=~8-]72 ]ƂEq{k`()J8}8 q~3qdYre0w:68UJ:zi&zXrht~$mrǮT6zɜ V&yTI#5PEQfb\kO_xô4 bh*k,1\خAMXTLtaY&(MҔ&^_[f)H0L=8I8 =9ȋܭU8 &%A'7:r,)$8Ad 3ShWN|ׄH"f|c_?w;UBeo7i1b5VWVU`A3A0v0 眀:nfrQFE^ʒ[bÜdiZYh!@khʼ1AAjFa%%>>_ SJBf%DVB"JcRZkM 1ŀ/QP)iZ!XjgR @BiEFTh Bp/aZab f8{odiOܳ*k뽧GAvC mA 6H4H=]]kVUfVy˻>?d?@u_Ar_:{cƸ([օ5%ƪqiۃI&O3Z k1X@t!epSCH PE㋳9X/oZ"1JjשּׂJl2%`BatVK"Ȏ&y9.DDȅ*#\sjr#HY Ku, ?'GwCT.'뵕b;}}ڛl• _er4R,M\K+,֐HSgn?i6Wl4)ʪ{<&HcT糁˫RSbNk]ya9ru>ZY%=FA~tô^k #$/D>>yj{>8xGxn4ןY!4py lGY--D  gE.Iz(cK+.̒=L禜g׋]^D%Pkצm-C̟x_~k[fWjLg!sIҨ"+UV+zdʋBERTX#RyV 0jY`A9؂&!)V^XR.j5 {qZ@U(M #bV#Lc5`4UD}L`D QBFy qʈV]'b'n5IAnjV{Y`. z%+_orvj/OeXFc%5Y]iWjA4X4F^Zjd k1$.sneDSB,8/R@Z.sZj(R-s+,BthVvGYI!5Kr̭EOA?9G??Ί\~j57o{e{Nb^TGGk+otTJxgTvجap϶.U>:l.^޶TpGi?LV_>7.&F3nݸ|xTKvy(+TJ :|`pzpm}g_ .j/qOR٭yQyئӵKF{~wAF܆,Qᓽ˞z~s][=krtir6OlUVVҳq#. rQBlE|d|]EXǭ9gg˝TZ-ZZX"Ҩ!Ri:$QX:+{4G00GXLE\m^Y_m7%iV9dBRLb 0dѵ+DyifIʥI r P24iCw0)f椄YRlqY˗=`Yt3rF}i\^[0v;Jx8B v–X-6yZ2 uš%t%276o:!R|(F=eHlM1OҼT3ksQJy2gw^8yZtʙL'3(pjTid^Jx\IR:͒ `UgխQ᳙\}/<+k탿_?_?l>J]+RU:魐_fl)y/Ӱɟ.j;d;]%T)?^]j-OxTwo~JyuP"%`?iw3aˋm/lm.t*ٯq7n\;qX(V;٥͵rk4w^o}mW^ݼlˋ-/ O whTAxD >*/?DJ8~Pj sW^, /4^yp:N(]~nV`dgpvҒ+ Ͽ%m݇ea (ؓqQin?;<wtEӟ}{p{;#N)sUZk]Ṳjq`k뛷Ofݩ:4ILKGk'O0CV2S a@Hi$(66r;B$yt8h!9XڹFW_ye7iǓJeF'B+ժy)H䀌r՜,,NH<9΁!KZh{éݩS2b9 #bw2ҨYw55ihi3g`29׾~;x<>9OA^mU+#sZVH߾{[U*F[/?wɊ[p !壏GYk5 e<`3_|+~yVfѸi9KfOf_`U3J1ܹX{Ϳz>!~w>_/}et?w}?y?Pd;/;//OZ+jHHݹ@eEi$սkOt5b+չOf/zI#/c7\K$%ÁՍxN.{`wӤa! {)Og~'˫^]y~kZ^%ө\q"Ӄdqy+EXR#Kj+k;kɇޓNP?)nte_~e˗/_`ƅ '>^mZy:ySCXLb[ں9ƋhLXQ}wNS ?sG_hG[Zj=g*^Xܟ&y^ɆSt(i%B*/m:L#3!e.wNt=i5jwa23HbFgH SOnhQ#.~1in{dPLKVii*r]- q3lklƟ lLL.Fi՛@:t M`ƄcңZKQm-LyPV(kͭϬn  T6) 7D$鼘e^8E\j/SOg/-~/'·[YhKNFF5a!T 0w+z$Yڸ$GnJXz9ԽbMAc3u||*u^bFAP^hAqa™>AJseX+. 3ocR e1c1rRdspL/a $ZFԀhXWhKV 0sܘmpl\4@Oᑘq-w_7? 0xڛ/X S,`ZL.\H öПA[Z6ea* #ȥ^`dr=MB0@T**4uz6iiZ Nܢ,D Љ#H\0/$*dcfg{|?kTވT}o~|_5>x㭭[i{Vl2}R{}QY|`~w:awsȯhY9)'9KM^=Si>I_Hy2\[[83\%bC}I=Nm͎hԆB "X oqZ}|I>fs^̇OWs`cBÝfˢxeGsmÇV;/FՅ`vsj*8YxiSDf`64ϋ|qwT>ヌc?VYf.cKR;}*j NF0Uj)`>YnU{~#p8ϑͧ")Fјo^ZMe1IDb }+K7Q, )v:Lxq%hE$'X˭k5Keq$YZsOrX-t4`@ϦSf80 Z+G>rR \awj"JKѭ,c䥵V;đ2cYIiԨ`c9g!BX[%M:(؂(K00`qBgVfaR`Z;% IDAT ˥PFBHQJsTic ,ƀ9bO1%G/wG~o {WO{Gg"|k ,Jm݁ӳ+ K(o5K??u?yw )ed|ueadE;gP {fӨ~C}U6s #>2Q3.vS ʝ"70.F~/|P%SϳY`5Ac1QaTlX:@y˼"rM\?||ZhƯcY'5FBd ,ij~`guq} 6ߺ!rY]==tEj{t8^Hȴ67gӝGGݓ[rGW>+Y: Z6iCՖ?xJgu kg{pm2 3e2S())eBV6V9Äd2`Qb\4!$2h&`qjTJh-41j_ `a%,\B #+ZFY+B/pN,;KR(c:cD_di0D(1{љ!BpW[!+#,5ڵW׿2=5RjS|c TY0#LC1!B(l"؀,2Z0@(Kd:#+2(3)EQeT*R NygeYD]VSdF`TiV;,B΋RhJ+c-1k1F/Xj4Wׯ}ǿk_$ԿOԗ6Nщ*+/mUf pv|x\_|ո/3~6b]yXmo9Hk!Ҋd:|i3t7aԩ[x%4!/ɟwx:4v"KkW|o|D ga_'?}G8 66VZ'tʳ'QĚEcsrphjwKu5%n\9=a\㕅Zno/on8NFk4jNjՍg@^ν l8MEta8|p6x!QbQOԂʕh>HJo7VM}C~9|Hd=YkR\S̑Os}km*=;„a7bVWڣh ĩ; \H<ɡD̏}[R`Hמo~U*Ǧ nJ=ߛ͹@=OĥÝ>?7Ko/[[(K$_ i&'Ј`6A#տ¿NrD?=x7ǙFR;'`JrK;YgTi30Rծo+ r -,7)!Yj\'swW(4(}zql|㐢y1$v+fXʬ^^~|4-\S"Llj.t"㫯O}LF'*P, eay6+Dfhn(RBaV#s[[] ϥЭz %Ç``楐U5bmA!8 0Nu'a5˓(t>+֕8jh0_tUErҨ`]6Z;Հ a6N]m r$Bzʓ4I') ŕz<ϼq")52"ylYV-FHmM౅vZl&p\w>IWg? _kT9FRuo5.ZB3H{lp~6J|V_^;=ڼVĞO~g:|=9皏>v~@R)u<*)Fa D0 TI]J(PVX Fe`kEF)Mѧ)]%yL(&( 3*/c 1XkZ!0PJ^)khb  % zjD4R0"Hak eXkZk^z~ a/=0ApȞbG;W}9y\/:׌EYeBR* ,VXzF co'RX+R d.D)J (,Җ; Rb=AD&0.բLJ b`7\)k(!Ap9Å`,B`aSJ0Ƙ a6d~ㅇy|tO|x痾lM#Avpp9~z[ K$~织_~╗_Yy#O@*ް"v__;Nyaֹ1c?k7} ^6ˢNOG򴵾tq//nS#]˵56*wz+eoQdɴϵq1 zV%0( j{,%ȺC ]Gpsx>z֥7?jGJfÏi|Beie5v\>~ΛŖpz̬[/ ~ЧI鮴bQrv>-EIv/+֮l)W:jW:7BF-/J{D+W%UrzwVn!Ueh>4ilVn>2H݃6T4VL^^t6iJQjL}]o5{RJh{פ`uJۙDk9XXʹ*)#̺IAtEkRhjgI:lOi^y ;X 8'o\u}'GYFf#Pw©^YO"rTF=pkeX `pޗi 6Qdej!7ء`M*5O"PxUWw=+s#Z.d^]..-޺B=kIU)L6bl\BY/_^~[빘,:>wD!KZ9kU kzW$ {8ߪ,y}SKcߛWY4P[:' GQny1sgmy<ޝQ kWчQ#es qt'ŐڋUҿB `~>Z{Ha7:K{՘q{kSϕ~_wQÍkHdUY $IQu6W/_^;nw2z389_h~~}hngq)t>NdPׯmJKx:>+gEk3I}qELORy/~+_ܺ<}WƋz &:Z+rMӼiQh %jX|zt?{TVQ2O|"76lwgiuq?WYwص0yppWfxSFv'EVIԐL2)2Wbʐn>qLZwL !H97Jb &$)Rku@)s9ub:UEE!Lc ㈵@0 00N Ah- 2Ն0JmE 3BZJ8BdcDPQ0AÈK-FE0&ƍ")(%jz.&RJ!baBQ5xkuoXc5Lk W~=u,ʒ0q_T 0(1% 8gRjU Kp8.3D]sB|_˒"R m0JРaYأs -YPHLz^c%]8aZ}bic60X!JZѠ""mt()cHbL%6qgǍ d1ED icJY(K JPN5 ckjc,Do]EfFH)`>%BRX?Ä#!,,AX, s86lWCRsz 8"rWjaSf0`c3eZRD<ܡY+A*mV yaB)@)rBI),Z+BOܿMoy;Go|am:s\Ƈ$GoVW'j6&v%"ҷw_p~3f6O͘'tCebnK׼NSs]n nlH( !p,+r8qj]5y>98{so%<^׿ F-> QMgZ8[EQjGAInMUtwNN[lϜ>X_)hKq30QUϵD|?:+XDQMSI7bsS(74g;p0Zk.yZkn~/vwU!h8rhYGi8E(yɵR]9bK[H 'jcE IDAT+"GfVj^xyu NiR$U`Iw0vm?>;~jVţI?=1덟R3NreZr: #00xPxFjN yA"d^i;%bR\$iFSAIZj( b$T-j(2k B``lf,ie&#9B!8~0ZiQ`4BT u<=LƄ3PYL)1cFJƔ Ri-FC*u |FFi1~OS(`m;A`ae|Ʃ "e8#@ܿH|mܯ^&mK&OGlMQƓ3Rlaf*s4B)^VJF8ǔ$f1bBK Jlc1F AuGk(זDjzb9GL=b]z1}~JDi,gPv^A3ǝ$Ok7W<~?'wprVmc1oP.jl&XD[k~h\fAaۀԔ%{;)n:^cgy?(Z*:pj}oK`p~<y4`]^ޚS9)-\Fn+W6R&3<FΞL>~#&Q}φQG-OIDtM|ltԼuuw?Ht!Ù6XC*//j5v<%vT:%(:6PY|1 aqܨ8B!`;l}ePwgު5lc,@Εt8:^$6ֹ%$Z*1뛸^vnwxiߦ+u?ZOr"\d6 "cJFiX.ƀ *Řq}o03?b}gI<V&%ZJ"VV7 eq,%1 5b+U֕Egƶ<8Z|{/ҸXL:p8 $(\_\P#Mp1j7n-/KH/9߲\F,|wG ??Zm?Zݻ"Oq1;:>XjgoO/Gk˥n*7=}:j:'~bi_/ML@ϰ bx6T^;x$tztq:86ׄqF;ͿѻO>Jn8Gݺq1L }mcQ[/Nʕ۾@׮H( fఋq$+WLQg{W4;=9xXΪUuh:T#Wa甘>@ 6H2J̶-Th)J94Pƌ &r 2PB0Ơ 1B1d`ah3N0€,FsKdm;se͵zh+\h.8*$Cw9 0HpZ]"k  7„Kle6р)!B9D.6׮QM Èa#eK1Ar@Fit,;K"K "UhPt%QTrY6l2\'SQ*`$1@1e2J1!Zض*M󼐩HQe4" @(D.gBښ_>62>A6*}/>GZ6$jx=N;qjmqO;"&z:w77<ߕܲ =ztq9Sa!QaқwfDϢJy`VMxVɉ}NxHR:|V}qN횫 Rol/"`J^i~ZӣA@ԓ4(/^]7_L߯]yr0Ɩ-:vp齍׿~YI@SAf:>C=[i7!YPlP cǣ`&kr7/џn/7E*kk͵"5N{RR'tAB%\BMu-FQ^" 9?R!T*^ltd{K}nt~>m5Q\HiLr8DIRyy>\ؕƋTlɗO&(WrmA꓃%vl;й`y x1͢U{qF  A[l<3a9H)FfTFik9NF3Gg{G"ɱc͔6GnrV.p^!a*1B%KE6b0aCq59lol>2_LGnݺ9y~pkf\//GQ!.5vB_2R%AEt/m)Lukb(%ܦ\*F (\lq'g,rfQP`ӖP? Ss šRܖYaQh%(@0)0c% K "4ЈJ$HL#Dhca$%}=(&sj#79,f^8c`"KB^\Pc03h%RkYR ŸvQzp t.ȦBDd +\\^@&r (0 sX?1" ^~1BTLli#@F MY@`8g1pD&Ҹ hItxH86zƥg\O~nz#1,_Tlls0¹}kRn+x/hVeת$~[TBqp~f9qmkmCx,f7NxxpTXW\VwLw"&}o믮~PgvW~y HNY/W\fb65"޺ɝQx04՟gi5M ;VJbb{2/dQ`sSS B]FD9LaDDGޥ_yVhުgQ4ƣ||oVCr<+ڕ81:\R^Z?K'~Y#\rdd!9{QR;XZ'O&x歧^Q" yE5yb#YJ˕OO+>0Yv BW.ΟfÃzx\a'p:Kl7JVͅH@i&qLœ31/G'FZ^+?߱U< (JFޭWw9=k/?WV}i4P2 F1G=O+t8~4Nzq8OH$PTYetgm)3zܙPcL3 '8pmLW+E]]__J4tWwOr#{֨MjMOV-;,I Keէ׮_չAS=NvV[2ut3Ur&Ō縊FAڈhr;8m8@-^]98ʌ63)L$6Xs҅\3)ARg*Emyٓ{2f}8AQ4kY4{׸˫k'G BY:/%٣$aD;N;vj&;vpZw,^(+AO.g䜝:ƨB!\bLh!,0" eT,:ԶlYqDu-NJ2VjqPH p,n0&c5`4RRb% , FB(c2YeiVBH RBMUWDKAM Y#maL&!"`Q(%B(%YPi "/6evu +}63}oF"FȘBȲosF,rf9[t"!Z/&Rh-a @(6FH56-B  APriB(Řb!V*ODV2# `0B  (22( Uo {a:f?f}v1A&LJϣD4lx6qQD*7.à#Q0Mv؞JC.;hތesDvݕ+7*t4>?޼9,NugWgoekpg=BZ.LJOgduɴ#66~Jmŷ;׸o(Zr]b'Q1WH(tYͭ|QͳY,K}E+$h AiC*>V:AJ̔!AI(3yl:M"Q;pyd < gm3FUUBkU(NIJXfZXDj`ToQgڸ 06wIs4YpZQ#zc~.Fo &ի{G c4SNӬC{s^|c?!G/fR.X<b$-uQH 3 -T$QlA-ǡ U9f$ Y,HILRE4cQ@bvBD ZB@ܪE)e@/: tZi#`"FF# ,l;2TSl@9S&w< \l,wlF#bP>1FBYHcB:qei FEQȅgdB0G1׵T@tlCIX)Bh)NrP,rT6'/޽\דի8Kn\+[~ї:,fߺwtu{620oOK 7*Jeq=~nL \YN;ywl(~sXrr(^[VHr#h6eͲ,wFnq #9_ 5;Bf+Ou:6,2 ;.k (GI]}|oyi)SsZW>P`)/ I;>k-~ݛEq[Yg/vn6-(ɀ~gzZ}퍭/TX Vi>.֪tt8^m}qpbĢ}$ SIRBhZ;;~mW "^:9y9,ͦ'Ln~%?y|*(eeQnv671UI46'RCqóӝ[vwQnX ~a/cT<);C\^ڏOŌZ) ^,Z)fHRdzot(Rdl> R37FhI9]`X%T%Ю1^ 注{zFkr[ QFXh-  :¨!-bwa &Bc0*04VB-^g"ƴ.^PkRh 2/ %`p4\(/1ZfZ=6zZ ~X@ (Z8\g't"!_V懓b 4TX6WXPEqt2(^l4]@e1bTE+MD+YAb>%E] mB0[;(8 yčzk+NqmҮhU.?[o4=8]rv岗?ƄhJV^kɝUZI߻s6L4gx
6/sDeN8%s/ℂu8vwT*W*dqOa,~oʕa/##A2Ԛ ޚ XJ zÓg7_}kUI7VO¾L^Z+;Z&I@1J[} t'H^~v4^]n"/Lzm^! QITBW{՛w?_><;{JX'Ȳ pI0fN-ě'}LFg冭Q`2q Q  mH7BrJl2G)6 QU˵  0"@-pbc@a BeB`*r"U4e E<1"^V+@( Ahm QpkH+5@/h"MXDic^^ N< 3hVe7J^x PE2 6",MRK`@YAZI,* $"H/[@(#-'A(xQbm/@2/`~m.Q:4pA q,*Pq:3L0!2($ɟ WګSSOyZF8茰e|unyI燝O|(-.aΒʛ^rf:UJ4$ ޽;onpi0ݸht/mhlVJfI!=t,EIO4Iξw:d;JO+ݍ0p4Pҁ 0 #qy}-Jyzi %BJ.j8^x.d?X]gk}7 #2>yrx:OtIj+ Fs 08y .6LrH_{ *mb]ia;3M:>st$(0"۶ƹȢqˎK˓pv֛f)q,ZͥLv^:I =%,tONHr0 )6oKjjCp*382 @6"ө´yˍe#,i8T<~"2)Xl< VdHcjs:E؀6U-a0 תjt4عUꌰOTWw^}/n]kmy7}獷6Y:|ݮpd^-9cO}|#TRԦq0PumjQ(gEKS%bH!u0 2(r:ˮ뺎:`m4Safcf+Mr8Γld&I1ʘB0hPB(c #0iPHG+FFÈaα iP͍a!D!PFdsB=a3a@ڀ2JiD5c #q 4BZۣ h`mw*9u,A^jy<,'(R+ mۖ((RF67!ogW?O[X]ST^OIRWrNNiɶgEEaͭuCǺq!&tzk n#bgk~ЛK G{z~lυW޸f{[QceT(eDo=on#N{vӣuշ`{oe1+Gu;rZ$/ Y8Y1ؚd^sy9phLDzR1"Q(HB[6d2Ai??NŶ6()e056[I{tRoaDHD˅J~+OȷgZztܓ P ~l~T'r Q i KMn9Ԋͽ凟EC6[RbZı__"Y)!M(%呞[F۾8߿o\w!v%5Y__){˕R-vO12V;_Y CMV\~zf{:F,5WW i8|5GW6?:wO0 9ƈ8G`(57_m wP9dX/?:kd"e\jLƶaf9 YĪHZ., S(@**le΢Y/ dYu=}o>,=ye-Y ڗ׉O&*+Ӌ,ʾKՊQ+hbrU\˿BA8 872o.mxq\i [X ǃx ƄJ!x+qYs{YJ=J%z,SYF""mk0( 4diR(a,(ub@J@c@<ϝɢ%);R xU}/CL,nkZ ) 1E/5sB_X\"/$(Z8 ~Hh2/Re Be"l_A@( ;/,z5c Xc4Ƅ! % &*v(H/\|)r 4EQwVP*O^|-XٵM>W_/6]?fvy0J\l&'(7RJB0D@F?p{B;!.2 CE gإAsbƊZ뗗?՛7G<ַOijw`IfRs8U[+ rd Q"~pZ4'G:]*;]Aqltp6q<|:\VJյ4?x]ޠGVzgE+g1Us[2/˭U}Rc~QPYwZ<;Fٻ|LAw僻k&[ ,Rn l,*θSF>/*QDG0FbijLl"y._%oqV&׶W'8~Jlmwj6`~tgv}|p+ΣX(vdi$ͳ"^YZj,?[[H{hz\n7޼qrqr8I-呒kgsoogPJ{>ԛi6gV!_-G۲!Ga,a`>_D9us꾛&Ddrơq࡙S%fcvӣQZ*wNq.O/^eqRq=,M0"ǃaR{ޟPlBn]>y1IBmũ,D soL=qk҈qo<}euc\$SteLJ7{ol[vׇ״3{HT֣2P®`+*3F~ /7VO΢He,KLH;tZQ !u[Q|哫6C_FzUtqfuZ lآ,ъ?='fLP2)}6+U+q?J5Ϟ T:7DFrVIT7-d4WR5 W&vP(Y?ݺ^b+2E6ZR͋J{W ;zYeoQ<| F7)Wi$m0#mA`bA>>>x?{/D@J볳3\Y]^RjQ T98UYhfm$5ضug@1ѨJ! Ke^3Sg!)}p8Vi'HYiCa GJkTfqE5^Ŷ(YF-Y%;͢jeDBM-o~X`g?`cgng$ZuC~o~uX!Ӟ,QB!ijԲAcs u uR %iyׅBBy!1Ҙ /\ۓGijo>2<V;Gr{9  ]|1 A-<4#N{s߽V3鏥Xy9)7R5 Zu\5u"? s̈Z ۯ6˫wn^S<\l>7ÙGGߚm԰幅6tfP*a?Yyz4_{#:pmEEQ*ASJh쪵V/%u]ǵE sXp1rfW?˚hK\ByTjHV[V+PmnAwlnEZpo8۝$჉Izv+~ vZ=̅FHP$hPsݭ^~{i4Sqm@0ۦo3L,E{y_`=> 3M)1*SF=>brI.U7o[߻u}F#q9?[|~cbQ+;>>J4 c&޽ѩ3%]9M1"m@'}L9}ΣE2>tfYfΊ5C/j\%u~?|~e4u"OQk+,(RKV8\G67۬5t^w,xAs]Nyh`l8rJ< 5+?zy:!%FӣӏxauCdi\&VK bi;I 0 0$bSv8.N#lŚsVmRn5ARB`$׹ҧϮ<}S heevFmu9? 3wVpBYƂ&8jRiBC0VNXsʃ=۳Fݴ?^nq礷lȹָH8ڤi$ YFy.(k&ť!j5ݽkۻGq{X w$sh: mHT$`s4A^a4W?}j坷KBe4D b3keRJeFRx \ e$P`)@VL@h PIJ)Q0ZhBpTZh0Iv'F{-AicZk0dB"Xs j4RJH./S@1%X. nCPǶΖY̢Ԛxc`1B0& `1+gf 1V d1_ͼ h4R_͐mKBB]$/ ZLnf6Mukp=,gAhge/޸8_931S!k խj~ݛܷgNoy;8}vOxĜxyd<.fkڝ73sr}0GP+ݹc֗#kzάѣVRuP-H0;do/<$IݠT{h>_ĽN;gJrܦŇbOK /~`^c30*<[j$O7Lݞڞc¶3x; pʙEN7nji0yJ@JhSZfHC^ r?㏝ꎆJ a?nw\wuJ0T1tCO(|F4ʼ3J8pmZwK<力cF s V KqVK!B('-\I( jiZ  Kf$\baq=;Gp0)e|#9"ffi#x]Hʍӫ+o:ƲY2ɃjM'jM a Nmj8v0zɍrVȓk\Ofg7jIaʋ,ı8@!8f2(ͥ0mם@TZ4,$*Щ*7SG("(`4ekI)m eJiÖieӉ6ٍsKWVuX^WʑGӛ>ڷhc ++*u./QGʼn砅&hB& Ե 被 w٤,ãҕ[%ޑq_v͛Ki.NWe8[>S0tv$gƱG;H#71!.LsJ:ASbO7s7OƱ*[1XD ޏSwHpQOYlʬ>Ů"=u&9 =TRz;BwK8òJJosG3eKC!jR>x<}Tzm@ sХVtv;uuۦ\ (W`Ids'~aQ/S2!2*BWO&3Pۢ^^d_4 h35T2TrmwL틧3w@OH)a4E /:L)Iij-VcF OeJY0ذ|8⊪S=E362}a_- N7 L JE궤yppAqXm9mRy,{`yYʙdCa;RXQmz€D$i8\6#^;åvB0 ph)g\ibo)P#].$0`rM^l(pn %n8Ad 0.tB?O&{0"NEiwCe؇r8:ӓ%zu|ra:\\&fN_MZwb/RH(0 x AŸU~L.. y3(X)#*gCV蟴2 Ld8y! S@,"lJ9slB1%2Q^vXfH`;>Z FC+e@씃?UU.]8 ZsK=^P/#,jIA7;{"Z-^֋E(#_J̦r 6fWS_5U$6To%F!BHT~D^WȫfF~=P|[xZ鳳>DԷndi$:/*cM("RB-+{'jS.o?HZ7e::DJu^ Wɤ&HϊcmhSKoI,:qմsUx@GьSQΎrS"di8J-cUS"'5CeTIK3UHWD^jLa(Mk|(_Wݯ-`9Ѿꑲ{Isoːa F"ux?>z|YO).el~(2h.orxU각YBgƭ}Mg3"=>Kљܒ Pq_lYdQ گ%׍l/=)g;IKo AOb_u3lɋ'Cq9uԢ2B)mS,q!;FPo3'hC^fYA,ܦuEׅJmaRѝ*+X>QzoK! pDbwx{s|NwKdګ%N?ȋZefG뽉sG Ӵeضm3oODSI|MNiE3f;޶-⪬EWfKԙkF;'ZH G31Ͱ*q~ eIvS3E(shJ|T49íZ[]Q7O`sbyi`m=g*U \b_"%>H4a9ieITGt0Pz2Jj-c3.H c ңAOm[2uc;k`-G?ge/W3|I8Sȱ zQKSi%!.e}.e`F1UY3c`'ҧ#1#gb\GʰqzAzD6aTأv`VzL 9^eӦdY( */ ӱ=G8Ł?/f~i Wz_:1=94a')Dg(̓TQC-thwXt?3ƈə6ek+˨%Ǩ}& E*cߣIŒAW5%΃f=ȇ]ȣAd OpІ$5P@sxaf*בW `NҀ\P{wB^V_NHߏEITz ό) *BBF)p-PMCeBɊՑ@K3o'[v.Z!Q>9ES^řghR_.A n=#SS˼,5s\Ȑ1Wӆ?4otr_\ \Wr1DK".% CʤAxP{(|.rӶGvvPEcRՓ2P ,`$":xfBZWeoX{S@]PtBإm4ʄY118,*G۞BuLIipWHLL $&)2%S0b5Q98AY~ԗ@d}uDm }XD,tqaNF/:3?ơwo7ۧ1KoXE[ET eyCNg!Os7 *6\V3Z2ϐ읪mI3ʕPˍ$=:ýc·JRsM{Nr˫)~pqŎ>?rЮbXgcco,zc]NYSe`^h=p٫cu]T@;QC`Xԧ e:gtg#[1وUW@_J‡'yˎQЫ7wEHsD0 g8 eaM>Y=ԥakaFpY*,/ uG'-ONw臮\JྸH[][SZ'ʙ^ <8[ݓ1^kujڽ~m]{Յ$ȇw!e\߸> :.$ Ö6p F(AZabx $MF77OvF#xァe'\Ʉdx(6=!I?yzԟ5? V@HYFyw.[1tF4RCsEg=| 9 ;EcxD(#?*dVؠ6\^,x?vXtX .훹E~xFGܗ2LXaCc2b&HsdX\6݆"3y#F1i V'*k=\ 2GZ+5XQa?fY{ ۙR~>CTI+VfqNN+1՜g2<55Z"j R#Фӛ961*c:K{(vTu,S f^5KvbY QݑQy<#{F0b(3n%sWtpۊ;º EI΍bGBw>@ȏRKrR{X*]^IueeOk%)wT=-Li0c,Ő Sz?ǛB1Z(xwp9T_!lL"Sk哢/q)D1efrdSیE8* 1?` UΑq[UO0<8ĬxF"L@M j<`$FF5> JL  Jhhdu.xXyg٢5I@ 5M) t?9{IhFH!c}Me{.F̕VSDGt CGT:Qs=$KcDPq=ng*يÚ͙ߊn8X*b(j U:Ux%%X" vD;mZskHk#ǣn__Q&i)Iv~n=֥"9a`0( #JMց.} dQJSkpf UOż5kWEA5؝$~0:=pJ>m=OOϵ8-mXmV56h9[Qx6\03H=dPa7I$]wqxʸ/S uVI|$=Ws>UgH% Y Hw:F?䎎 4Ͻo5|K{>EҏXvܭ{c:O76_BAQBb404cuBBJqPC5 {61?QDW(@4b,Jć<K%qk98l:hx@]zwAMVJRQ b]۵,n#bFp,aĊ~K`\OKWP_xUNlZ,!sƏ/ӥ0Kr %`t?rrn:5便:\'xЀ>zv-PކnYH"Z.*T@FF GP\ ;n'_1![SX`dĐ @y>L 4B{DwDj/2R ,~S%ހ$u&o@|0p畗6cgmC@aK(ky:w|`\;π^ôs;;-׻Ff~vem2]R2novV7z.[FY03)oj|f4Z,4fU44"z" ^Aڴ睩 \u[ rq~DR3ep}҄_XȭAv;esY^!ט{p*B{ƽcrqq_ׯ*Lyf6ffoUgs<Ēe?;X8[x7dm}A`￰:lZL\`cTf_$ciľZg9:P\g|$|6U=vʛ]]D1M;GjZñ 1OGPvs:S;Y{p^Y~Zeu<ȌV _E *QB"~9rȖbƀܕ23䟍c)J|ãy86Ni`!^։2h3bD]$k3au^*G:!z\tlT :\'Xbo#<dϗVL`(`NY{<rz)`ӣ^asLKG{.we#{zmMxsnH'VM[9|"@1$-67X dP@E ˒; mE/쏔>"mpW+!6B-hp ߰4PN!)[2\ ke] $li.L$oЀ~\`؁f@;jK;J%s42PZfsLT|S4+F9 ͮɜmM׳w,:lqKʢ?e1D06_&:`%|3+w_܂h= EB9 Tܨ $\ o GL9TMA>xSZ>CDFfgۿi; ,n20 wO`ò]!hk{PGP4Njh] þ:ժŋreEm%DZgZ<%^mbvy(t]ګVB)yc4U}Xm"<LDTt_=ط~|^s$l <{>dTEjO\t^|~}mMq:JQ7(©H{e#3]C~}ln x_t5w?~.բ/b<:͠?F >X<͗@$Oފ܏#ǧU.3,݇ ?=lgfLM4o^/~d!tPx?hT:vE k+'?r]f]XHfN˖׀Ihl#ԛHk߶eQ4l3OKxm;{\iǢ'ۦ`l;\x|i#H`X,[Ɓ'| 8V{qq+ؠOm)ݝzdKg^ݦfM±?s!L~Dpת))y85$RN[LZ|!X"ب3!,R4dʎ.g{wfqx_~m6M_RA8xr*~ 72YRu4uBIs**>JC!NGuP!a!I 'ATSÊlx?`zTT32*0 udп}S \1UK SZ UAOD111=2@0:OZ/YpY,EehriԠ?dqDF)(PԺ#_,v^d ϻ?;Ps,j6h1,Fl7$:(XlH 4B!.!fYj(=/Gʘ~Џ49@l2B-BB5ʡLpK1rRz(Od|^?,=|yzt]LkɌi5f 93)M TJZ=\sfX"Lzv! jܕyx0zmRJ\$q18k5GB%m!yAsA/Ac~"^8/6 &繅`Ƶ1z ZNb#"hBz"V*BMaU3[~Kxrc(" zvl}}eXnA3ԙO_lY ofdj W;_FN)K,3I=֖͜NHp YJYAXԗ(ݷ= ʋ!2."waCG3vw N]ݝIޫD7KX΍ uy&1[Owe4ؖK!Ҫȅp&MLq7-Z[4.01QəeCVGFkđLćZj\|T.oS@6(\.\/ـ$SY:SWymԦ"mkXOĊ@e ˳ڪě-2lN\~MV:edS݅^)V};W+IdfsݑM{i& z&>i_Ib eU+| "elquK᲻9^,50t<%xEgyuIH &?wm*(U58b*RDMí9u`M˹Q~I c^V䩸ǏxP}^ ңdɁ:4G !¢$e$K$K_pl/'h^R}ag\`^_kPLZ ITXhˏ  f ?#D&uuD2x,Έ)E7,:o~9*gpG JLIVp`%hߒ @@2s#+p.>˄ЀޢGG1<@|yFSZ%:4#C@ˈ {=rHLYt34>yߣI6JvQ b$ .J F,JέIW5SkԦ-D$MAg @%)tN;_eJ6+.d䬼 )E$.yQ ">|۞_~6ZzC{oXq@cyypXUJr՘Ϣf? W2S |d-2 ҍ~Sd,S%%A@ [ǓO9T;p60 Іbhr!-VC)5W#r"+LgĝKz;y>eob誯Z7Ov \e -l䦶gVUV7uPSR5`2,׍U!}qg׸s*:ፍbz`MrZL5M<LF&2++ B<Ő" OlNHk^ΏߞT  t;S|vҺ-0zKpS 9z&tׯ|?=VVV&UL57}v <*\Jbҵ4scS*`߸eE`>F[}<]2!|:jZOoo fM* ȔMr"Y%qݳ<^8q:RCy.̮#ris= 3{y8`Q6Nzԥst:>e>BF<+ɵp{|g>q !i}mcdv$=3noDSI01$PIP(vF6 x}yP3,I1h\$MoNC~,O-8eB?MrȊG' eEaRJD3Qc[ϑHQՃ)i3#'(alW–j*P`t\}rA.IIvh8ٚO4;Z n!;(S<ƇF8!SZ%W?HnU+2_(vJtn+d_q1VoIyd;$Iqͧgjo2jݯ3=Ose_H>?;d\ofO\\\'q :C_ۺ>u FÖtQcfc=6鄶MQv$ 0Xvg+dM%-yz_毊h㍐'3:w>Yq㧧K\ݐ[iT 憥mnMeP,Ǭ Nr:e;4-fp[߶BH]ũr! ;^ёQ4JGjۣcmQ DNbrlw؀'R1hT0_v MM"v";ӗ=Op);s_`輦ei9 75FؚXӰfo;( 1> ~-krn ?z?\ii^d|۲%/+UJx@Ю1P?΄eI b8$ڱ͋JFOvhCJJXl/+,Q@I%LmTأj5F4  !ApO$a8P`DTJM_ԦP߶-pD1([E )bpr%+<} v؄N_QȨx[B Lĕc( 46D֣QOr.;NbE\m Q64:9g&Ì0_g7]҃ LV%0abxo4 $ֺ*&AH2o/> -b%OkIrT a)oH@3lqTh`Cj|vU5;=K 3 Qv)!JBCvh֎jM5^M 37ӸpEP 2 BB~3D(Xi~L6i~Xe24~ӵO:>yyʟ[M(I!)LkSw0&kMTGn~:M;wJ.^/+~ԏ[gHiAJ)U0Anz )W())mC}B`uKˏnG酶f\+Ien9>y .L-)IS+t6SmSm@üxږ(# J9ii6k쌓HDI ҜoDH"dY\$co۵ΩPWiXL)nϞJJc,BҠ".&ՒM-!'jV;[/d1i 4O88u2<nMG5/SƁeSDǣ(OrF.aK0 [TJTq+>[0L \J6{=Y&3o/<8b0k*Rݒ' Cd0Nee/҅zK"~`ΖOMth<HUi)xea!.٣Hh6=:T Pu*x*@4byF G=7A[ A?PANs?ʄ$#pk :YDA]&T)BCuE*ͪ]Ț1C!}ml r}I%pTK,rZ_V{e-= =nyJ})heyKm6=6VQg>G ķ-Bz)[IEH'Y J~|#FJ? <]fܞfƦD+ojp3}֨P8N/DHL'KB4צMSO)S~yζo:`쯲 _4<ZȍKۄR֠ZnR3J6c8HjФ>u/V/\CbZH?xRFNPɵK§` D jZ僇 :s"ΐw`#I5Ce8nzv0ũl}3cHz#D`'Ň7=7TJBy^x92crր,x*s'; 1:ԗCٌ=!iYVIBCYvUpA&TCuh(\Nx?otLVr?@5-3ǁ;E79'ܰI!k|&.|4^7zޖk?o-ec~y#}[m~ABe-o,FU0ͣ8?yύr@'0ziKփ6Q6FYW;=&HN>&ACYFgyE+C:b"2v̦ Mg8?>H[5'e  k I lӋ$ߗO=T>EgK0rɬE ne:w ),]G> lYa%SLxo\[_w ƁNRsoenT\vEzꡮ[= ),Tc^`Pejgee[$۩ Xl-AI[ulɌXL~ FrIf, C锴SqxQ#-~PF\@(ԁhY(JH%Ad^-!gO 9|O:׵sg}3øI^"10S>ЈCcĺfVզSK话יRȔJP0Q  @>6AoPfƀP!CdDCB[$O5 K$2 C?.c@ָ)1P(j9|~~}V)[@SD1~YE' Hl[]w&d?yq6rMAeᔺ7 m*t%|k m)[nCG{[i8/ +zK#hsl>?~Z5J"'U;{>a y(ꗖNdzPN>54QyCsI;UeAϽUh9zTsJmexY wI9|<3a|5I׹$~һ5!v+ɽ`TqON?ZtX-o=gL޿ͪ$YdDc!ĔICY÷xjx-~BWHm^DkWh(OˬΖX"( /6j}%N]v"/ +1r?( (+>dc=0C]NVn0B#b ia 3]X]!VnEP 0 B^SFhDx,ÁPMWҢZ2]X#Iur'_Wv^bLz1eeיe\W}Ӣ ^G z ՘x^@[i{H#?wZ&ܲ;wXӢF_SfCEx-FXcTpvNpPGqki^<)ߢW_h0:u%_qxe_c]ywp+Zдy=?'Q܇j6ZlyzzYV_|[-[`gYpDծcōQݚseߦ{S3犲RD)_^ jd;oS!ZiVYm^FqCăb)ʔcCM4`{|g;5u-b_WFB禎>Kf,hۣUMiN\W+nE՘y\ò1`_ Ɔ[״Y-dwWq' `+*`z<u߿Y;&Dg!MaU+v #GC(ctV Lw]& *3YcRS>ۓ^ JPE Z48 c?FR4U! ;IgjQ }DZuI?!iI7cQDbF|دAI;1ipEfDԽ 8)6}|tw 2b3t&>ăLJ aQbZ{(&ʑ03&c&Fo]Pr@3A=32M/ V8!z>PZPK۶<@OZ m(o_]`Yg@Q Ͽ[<:._~EըVԭ.V_vcwƞ#ˈCx:g2^X(4H/dqH֥TdaF2hemH'i0[,ύRSUMYZECX2}mUlG1#_^5ig,ORrFjO z?d|TKBgXzcJd*vIz()P<σkR )?aB{ xP8Pvƛld!檡|0B-cd/mb# "Kpb{;2I  EÐ1sg3O$ O%KHe#*Q!Rct#RׅPs8"(qu$-2c罡&TqVBt!KKK)8l {qsQ`-+1$зD'vyR|<֛]e+:2p:\kG>DQ3wv;\-(jΫҭzç{}) A]hQ7wv7yb=w 4z.x4"^*tO^ lP}pb|̅HXL(li*LpiԿe$FfE!*F<7Wsא8B`\gB"Ա}iuH cW'*eL`0B?_6E/N+-+5ښ'b 1'j_ZAB?O7tj,TsܖԱD1ف 냈±Cz}]}9Z]흫&hzEê-ݖLI}N, IH0jd0L>yݲ  7x7(2` 0pLnc^?O8LF+É2Gw.!qa^?LdEiʖY6WEwgYLdA0@JgA&UP ɭA8]<"&M~>v|(($ăQ1@I~6VѶJ}#WX<-MY낿m73[fZ;j ý3[UPG7/4$k͐a6Epr{w(B:stq0CPAmo,I4˄}E?.ߛn!^}˿LL_F_j+Y-%Ys| : |_!juN(.mUa-yHЍ"禺Կ?˙,$iW}I6ң}޽ѷp v.}c/e'6q(il5vxB?k%8! =˗;p}sW e;&_Ya ]2SvRkD&T챕i %*]8!'D(>[ICpӄCD`0 ۋ\FlA:N `DBz쉼vY"~*HA*>zdePO"%lO*=mN uħ<*2Hds1䙿ph ON$^-o4MqKx9$ J(K˺/_} fn$-?D_Nf+jrx~[z0F$Dh{*b5)k!vVO0n>}5SQ>2ɒ)z,u[j!pUlt@JDaIaA' *]Ix:i%hX0?r\Oo+7g~/Nr );Վ7-d‘qCTR<-m-ͲG}jZWАtF3I51#JfWW}re^H3k<wMN`6oEY;Qz8*n.iIn1,f{W x{.-?ڙU\Kw\UPMX鸺Ka}J})F쓾|zg›X2q^s1N;WZz^ΘA ǥB$Fom矙>^n A6>SՓ6b*;Zæk)ZYam@| Lӵ> sEg&uw?h~g.kM %ya`DB> O@[N.R^nmZԓ葪j[Gx8W^c8ija-,uO!C5RGD_#ġ$:n_j]?M`E.͕*jk~ /Hh#'۝c* ǃu:T8'2"DIGwq$ E[ܱ`j,tX\^e%N8}*Dz ?R636@f=X1",fnԔn?\"2!o dMęJTm1.l jˍOeŢf0@#ԟzx`㚎&ŸG -A  G#Rx@ɏ٣Ǫ:/{kgHf!T I. :"5K@,>_ E)s%Hwf'Ap~~jǖ[]<£UJI a-X>`Cq~! 3o&k$UZ1t&0~31u:Xm0赔QOqKBO 59d)ɔ,Z&#l>EH"_f{uWf] 1Jz"qRe=T<ޠfC3PGD7db앀FtWɗ4DUBr/XwTV"!u 9Y[&')qV$+J>-𹻶<~pQ-4MeUJz/nOO"պħםsߣƷ |#Q+ ` ;hbP eλgzѤv%M/ο;>^?wQ>/+%q_'\딧ai)+ĔlR齕$6n,Ջ>[ ӝC6l|C9$`30Oje*H$ģvRyuW-iVBD\ "皅&5wWǧͻLkKp]u!&3P ';öDQ܍A{$m09 G[!Ew.yq _ w 秩2$& {yբ$/;LVoL~Q?GrS`)d=tGF`ܒ(H͝GD+~'W_Iٳ&5<7˵ Q[k%9tX@ rh}EJ",v[z I`d,h _ȥ@7Dx߄_ J Sb(Ƞ" B[ZŕQ |] 0 -6E?"LΤT& (]ӱAn&LʠҜ%5EV@:xz94`~H1#LL㳑%::>fx((AxV w姴ȁhy8 5jbؙ˺Q~Ԓ#?GzUѮ l`f|c/$󱟳ךSrf׬b ], JũѯvJyn?Vp.w橏f;K$|r- ԌI;:+J"?%?iyS c×*rÛ8(" I&=؆"Txuʞ?=7$_xϏ❃t;ےe3b |ۨ ;\,?<Za' bPˆ5Da8w׎{gy,:8̩[FK{R&\̢ajĆNMlwۣgeWNXH-< ɤ <بmdf/=[\"a5W ]g/Ar}nźpJuMv+EM'|Afךz}T5hN5vp͸ŵv93 I}eU}W֥6k)#?q~Do$C]\d] (Rhrc;S{8ܾAݧ@lX`S퍗lro>r'29GYr4o/57EKj4<10BMO5U6fB+lsռU*2t#̗ş:Vi{g]]>4s,waN civTBnr7r;ى v{Nڕ|Q\G%antI]⅔8؋aѨj!I~)ӳ1QBs=Xc/'ZMac3/buCA͸^ِݷ&y|r-bNԕzR"IAmBy瑏lcJ"2=Z#zIdlRbU؊~ dXn)%!Tdϟ^Al/C.)o/Q6rhH?s0 1c} ruG1@~rΖubNx6c¦i~|߳PfubqtDd!+?rZԕ,΄~Z⡛L5|8_ _!**u6ӗ &2x|X͡tU5P?\ #N>EG14(-kZ{+K mq?3p@lk'0;ߐzIhK7ٌk"ՊKx$ȎX;Lc(&T' r̈T-\e7#K~*L!8ƼY*s8j(Y$)@3&8F!($BP6ch@t l(GHS?[]w8L;؋*`_Iqʄb&N~vvxxym>RƎވKMZA#Es|ڸ2aĹa0,쏉O~]D۔0هJyVqww#q́n"V g-[ЃL9׽kQ^S&ʺ%h9_,h`$۔5p;&[6%^\ygV.}vZөՆ|V8˄<`3rO4G5G1_h&3$߈h~$et`%_\>rTD,Cq q|y%z`YfMm'Bzw( s{Y?UǚNº ׹vGnP|z}lv&a21>u? Mrf`M>is)yO>\kK%{4oKY \"5Ta("OxzS n_33XILj_Uܚen1ө.7: OSs_2싈N 3VL$sd5_<]_c|Khw)8뜌*A1A r-(R((1z.UWiS>M:o\Ε.E-jb4oJs?䃛rԿ&:R2e^%M i%ܯF.LHI:M4@ȉV*(ҪH"9(7^I_3R*/$.,N1)yqE-vnA@R:Wwɩrx!&kwao&W=PS v^ß}vb^t=m:I;3MdP˸z#oӻ7(ZqYj%Ck]7ew/Qg9OYvzz]^`ϳ@wͭ*&/Gy4^h8xWHz?J(Ap..1p'( nFrl"iDT0R#!G3t>ns4//1,2V HuA1I\gF5EHgDSۅ}(t)P4Kw@4'3z'lo:trX8I$7UIOz|DYh׌Zc#N .a8\T!q (;+bl՜l($dk9{!9$j ": ^2 K&dE?"Z S/ԡAֆ9ĵG4 bPvyֱԪ4sazن*wx^c}c_.ي{ֶ/W==G8˶JHQbcEE6Hk Z cOVI&??-m0<.d(GoJ&2>_ Cp`V]"PFJCXj6s5k"[U{%_bNђ|msB? jB[K \ q?]>Brj4lF g$FV݅W[w8}Լh0/I hݗX~c}m^F#VBku(8~dpY P~XEaZa!cXG<~s4@*%#1 FB*/Cxc` wu`}Qu,"#6";J@ L뺙Ȑ%̩BYSaP*ncJ zMT7coMȼRJ994z' QrHYFCv֙`f_ SfLg0mno YML#TJ(}-vTONίΞ&4خz.~KKL1(Gn^c_cB5kƺmpyruT#-K}߸?ۋd]pݮ.+ЙuJKg2B]ߚKg+MOYZ&UEiy=.P)>A jJ0DU51@οE\C{6jJ_ @:cLD)(f6]Ur5X.uCwRdP!Q,+Ư"5 0-$] 1ź5&ˍHFr1)@L-Äp'ty[V{># <ba]NF `k106!l89lx֍e4XjN'÷Ǘ=/+p2]lw{eO5V%o",gΝ{.\oNC#t6ScLZ=MŤVUIta?8YfJ/NN./i-i+;7[QKlrO?( H:lyc٣ql16}60$K˜[Z \!HV`2gG)aeaRi$eU'(CMWJ\N39ǫmɕ Yl0uWۭFGr18|zRcueZ`EQAK"5iS&Er}9LUddgk9- P]ƙ`RUJlGٚ9VUJ˰Jq43\QJQncT9yf%25 f.5B$H|D(E0Vjxr+;3VWӤm4GAL27wW]m姏R;/Ģr㧧XY> r!2<}b[2-Hc,_ۺ#+.e%Ǟsm}㵍mf[W ha)mk{xeU߽wdhcX`,BhA0FQ1J m;?L4s/8dˡQH Y) ^`2^YH 'cAƯ輼 yV2H̴1$% JYY a(]A*Hڟ^=w!+@&[Kwn@-9 *Dtl,;-B BԢ k. XHE06@U\_مt^p ^<'Fj  f8ҋ/ Z([pD<Šay cc7<@ T%ܿʟ=WD1F `tYꐔbS(f1,0B)Rh4~(]GTY6M@5Z7`)@cZ -'2D$g>'1֟񓉑@/G /89>a3SkC6a훟w"˭~׷z 2)'aJgj'U ;<TU60D8JEp]tnS* 6_drkKܿq=<'΍ jw𚭬VwZ~~wWKE-Abf0P%p.JšW\rLk+ui LQ`0  ;)R̾Ryu7{_oY@Q.s^֛ jeT!Kway L"V=DS خ<3:iln<.G绫;ݸ]*<[oX7ƕà]{j/'oэ7nOkRg,+?hhc5lZE$g7ZHP.O1%dǮ_Ew|?>6d43I)$P hi\ud|t|V+P~3pRNY*LGdPkyCq4U3fL)ɕF, ,=\ae NK6kEXH3Pdzk|d(*(xY8ZryRܢmXRRz rq$&ϣHW[scg3Emd^5T4+KLJyyRQ3F:07Z|=v]+RxNǻG ϶"usW(Au˒ՙg8_1 Txn,pX]ݵV45Weg}=F OgNk0jE%+womr)BoFM7ܹ2_E+RFfck~r6iciVEG7lm?^[Ezrַ7q}{ك?[['4u.^u+jL'?7n\=`9y&_j tt}t9OBPN ) 8׋:O0`{`@UB76%Q0>q4ihup曝Ammd$}.DlBSy&7W`κdKy9/-LTy~{o^|ZeϑHV Q0-.8Ir>!pഛ70 >O uLfl 9}'e")LBn,DJm#ecdbuЧ1Rһ*gЀ\]{|Y*q ߸򤮬#.*GT'H{2$Q}:NᣓV̂#'":崄Lk&PE[s3M,'zb|52P ώGgS][j=pArXW+\;;3{vʗuſ>ޠwڍ~{vgo,Eg?>VnnDnwautꦄwz~7/g}K{}2*f'v/5׹y7"OʙOѣt' h-^:' 4)C-)x9*bP"jQNx UXޡRhdupև B$ o+]NDžF`AnwA#(^V-uӿ8~䇯{mo^C"ƕk?~z޺zG3o?x2Қ˛7/N}cV׮ nŃ{vg'7^TO6ӻ#)Ͽ%}#l# 罢AGKGE-" ε']&UtRR׷NΔҺ僣3akkwinWgH`IB R#FG6R))xa-?:ibOn/YLԛ K/?9,C+_,u"R'!N*UO?q$ʥ~w4\\xE8HKuÊUO&hk)JBEѴ%Lc2RB)U(ThI:'%ontR]ho柝yר]ӜF$ /BKj46/'/Ff)IV|U-ő+-Aa}A$Lq4l]i0PR,nms琵6QL]<#WV EQGS~2)!dl™^\ӫ˩Źj^Ȓs<%Ir|^9 E mt֟g58 H@KѸ0NM}UZThI#Zoi?T"NpkQ\pA$H#ͲvLR |D4d~uk򛷖udDD[/o]o7nEgckr`x}Օđ192Ad6DrQw.y] q/D{|tAuU/wo>yo|teiɨozʕ{W_hw/vw]jFg9շ޼f_dr.$XYҦוǣJ$)G,2-bpżYnYe1`r wW޸P-Q3ϫFV/tX"7;I΋I%qdJL LL&QZN"m QЕcp{k 0Z+'hJ:qemH,R t;<\_Ϧ <&ⵍi6b n'i%  B\+uQImÒs "UkY0:J҃"{ZbksW9y;lKO\g۷o{xmyNhoՏ>oWw֗}ۯ%R_}@@Tu4 d~ニ[?gW{-L0NuZ<>Rm#7 "B 5oj *Y :0v7ͣ0G-l([;4@c#~܁:uaisnwXы]v. vV6z=_%AgE l>N@we: ݎ@&` Ƴo 8bd(-mRݹ!k@<77`=\LEˈu0sl5o|]l nLiq @J%eUN%Q`%xgb^(E2Sg\&GA E"ɘ*%^ @P(zTBC&U ĿrAXw&sg\ZXƓr8Z[Y?=<_1g:^V0a)EDz.,v3Z]̫kb.mnM\xq7_;~|qd n\~/'Z {"r|Ivz|OWViٽ惫7ILҋWoln=.\8b<}~Vc'ĝϿdwКD[+{Ps'Ie!H'BR%Rt .Hd6X+ɾrYeJKY3/wQuU%Ao>p Rjc'k>r "D:ΧQ,i^$QmQ\k|PkiQ[Wǟ? C䄸~|z{7^>9غn殚gV'C -LȋiUV5K\?yH\P]$kk޸tv|V8.Å~ov*Q'_fTÓWݺQ@t$T$W._LS@Ѡ%~1XNr2 h&(&}dvi/_p^jCf%1K-  IDAT@PHZbQ-:YmmfY.Y2D"F2`4Gݵ [tG(gkk`me~NBG52$)1A Ө 1^Idl9VR6YACRSY\ ) )ex#f#$55O~Qӓ1~'obT61nox}RHo]$qQ,iijfͪN >D5) sT.ym  "yy/kt??3xx(ؽHd +bQ(Eȍ!?>C!e$R 3vqշ>k>~ʒ;tTJկg?EO?|_~j2.}~ѓǏ?N[_9-N^>;uݎwvY+uvjˢm om,}{!kN,2Y q AHdV{a#(}dyy_\2:KL"Ͷx6˓`<N*md)cO;;RHF Bpc"[{ŁyXqKIb>.llG>k_:2Kg/= **xR';NV4E-:S6P ҝٴb*2FXlbLC#rBP>cYKEhTj/=HSf)dHRR .P+b D쉄2<3)|B*rc$\2qK7?Gj'cM!n^J t`歏\|g{oOqrY*jΖacoogt7ǼwQqz}JŅOv:gSXQ{=]IYy1TT>l@J)s ƴz(N[Cy9F {b6닛 *IHɴff{7̋'I IRQ+VYJ> zQ $t!r1$ J((PQJR_W嶪#)_U|Фsrs`c4XY%v#G2CDQPR:`A\F#6ERr4Z տo][WEt~~O)z0+wV̏}g?r|#?}u+޾zy묨qR^K>N{g=[eo}|P}*%RmY/tq=?bd$^!I l[ `adБ8,T/ʅ%WmŊKI22DvuZ|YXgbF)u`g+\$V, g dDfl*xwE/>[}yW1?^%a>ywFbp:{<˒RNE9O3"v˃a?IkW!"d4JUuPҨP5ĢFñ*%%j+BO{0Vn?yi* abcTUri/08fY0&r>q퍣ӽrgezk)13C_WDAP"9#5s>Het bǺm͛֯qBt" !Te.HA:J#AZq>!!& *&20jPdRctuǰsGI7M6Dh$O{t2~έۯ>'g_㾐{HF죃6g;GT*묗읜.o)%NÜ]tcs:)*a~}IuMd)pR,=lqMU]LiL0G+WAJULN'Z$up!0D]"ʴhjܸv]\KD!MvkvZ1r,h4Jfy[䪮| 2QHp_=JtqI,Ov2Kn,U%ZBA@6P Jr]dY:/]$,H,텅2 ) L\C􁄬ʍPJ.v,\Ԩ,UI*Ϗדͭo?wx8 6mCyN7/՛[ÓG]eV.f)= u=jR^^?<~曯Ə3I;wϞ-1,`fzGҳY6ӝLNjH7IRdݘ0 ηe-Zo|E\A|fI>zӹ"Zܸu;Tl%pɱ}sXD$UE1I鬖VV:1YW/^.$[~t<-*&lWy-`"i>Wi3ڝWn4&=ܣº~Ç۳*|kمz'/V8`2GBQ[?y[|]_NGφ#btTĚ;=d2I b{ڄ^S.rg?~_|_y0QHMt8A3M5ҋ̤M\zW4wRĆ8JWLfjҬ{r`ZeYXpTf gg]V UYm#L )tr@CSt.Vk3M'd& &|ii֪}bi,EEogKdn+5?[ "[sl\6.#{7HdL:*@A0,j \ty_:|;\{*( Gc!z$Dk~Xg)Y'BB(q6+{gVfH:ĔC u>X*ziDV" Ƙ "*GA18v5Xj:@) Rx 062kvDS* BT?⫨TVN12J(i׿VSVz궮~h}NKleM-ql)+VfCj'"YWU HIZ.:G f0/=GfE9W_LE YaB T8:M:Dir^ rVp/#sN\xG$7VVJ"(#·H.Mt@Tre,m[l',9;4qr\ͪ *u,hPsDa)r49 J<) Rv<ꩭDj GS| fOח lt&BĈT 7*˞ X !.,:yw:Nozݯ8gSk}̓ӽWB7ӕd8 Z.>ڿYX۪[>~b«W~A)b)Z˃n+z^U([FDvB(}A J'w?Qd|<Ȁ V<p³o2WyЗcc^%T:uz`b2QPBJsYϬ PM8WTڄFQ@pi(Γv/~kV?K$ևFjk\38ȌY_Ypfg I&?TfEkji}fu+,cc> ,γ'Fiݞ9%DgpSR28c19NBt&(Q l,'g/<% &)KPTZB΄$ [R? !Bz?3-6FNHo/HƗU"Ҋ満.DEQÜj–,e t `) 5t"d8Kzqe`PTe#u :h--,v8=m0+'ʺ@B7bQX2*2- .k4H+QT%a`Z @fLBٴT\$EF@t{ 1 e"v+%v`@J4.x2mb{T')2ٸx>e;Ik^q2Y$M-yrrg"c_=Aix L"p+&w\_9}~9w2.d` $Cdz:,K>x3[zL1\ٳry7s/t?{ul>< A[p/Tyw89~(ueY_|\ cU i[TEUɵ<}kʦ ?B:9z.]}b'G0"N~ywOЊ[DϪ 2z+ 1" P\:$崿Ԯa#a7 }ƒgg[b؋rvpkv_vMQq: Rcƈ>g,H ^ %y)d2ϕƾc"yZ3 THj[WKcǮBq\ЙYyy"TM~rLݒ5(Yx)@ֿkY6;jʏŶu)pބY)\US}"Դ\BjhRq\spj8@j%L$Hf'"52 ffN9+)`+'dl`|:_ c?R?WԪ]fAox왏C3;:s2zpQͻtL]Ok7Ud\E.,w.^|ѭ̸wk^Tv?#9*b_{#{hbI.PRWi6),_͋o5HsG{{ld2?|XZ_;xckW7trځDb0۳ycBBäJ b1WAVG~xvhԇ}Eh?it?3__xrzjhἕ.,>?y$@,iSCjO̪RR*>,*.Ffh#H)d³?{vϭMNgN&~''"5/tSdv˫Wԙѹkoj>zᣟܼy޽󏞻5ݼQvB]lV'zcoN~3DԩIcCqr7g`%0l1B veD]) !hL_ol/B߮<մ"$VY&cMv"R(d!23%2b6.58MNI`[6&QrhPCW**u )yiը1T =bhu֞S90{>= @PL&rՌ˛Y% ~ 7E ֪r@5CuI)"- 'e.f,'pxh"C H{0lCS<-G#Y2XލrlITUs_zU8(9Eis$-B |&vpztUDЮ\pN>S*HHFD$Kļ|'fb!akt)è-(GcLJ܁cI Pe֓5=glVդHFW{Bg(U=p/Ok%z}oB+|aUդRi؅[GbфԧIC猆x9:(LO5bX$֖[bm[bcP֕ncHUj6*,nec9wiUNf53s-/`lO_tOGz vչх> fN%)YD96d" <;'f n7&ٽgi~iH䄽;we}εAI,!Ԝ5{.).0-ڶs0ה` fA]NON|ש=^Dkhk~#5(6p`Go޼w޺|k?gx78{V)G]7%waskk?Xї^}tvbv2l۹Ͽw'+7>l 6G>V׿M vm˻}/|I`L $Ѹӷf1-ʘ{pjo~&:sLpxdoTsؤLa*]b+BJKD64i$Sb *Wzkh.j1p?fƮue26I"*ғQƐ!,O$QIDP1dQf[g5$9'1G)d"3BFlF/MYS br$[%4Vޣ 1'GFP*76nmUmȱ\v.{Kx8^([r21{no$KE:c}lR:;Xn->V%QaomgEeި)m'GWF?Yȯ61`%Qa7+?K4}mwxOO=ğwLPT9R!\p9D&j7GzL<}s捣Rk,Ɗ歱)WnXtk߻3K8 wg6!ׄT=Gن^z=P(,x:gWU8,99sztʕYGnw2v_ʹ:eqk_O_ڮ^$ٽ4NM Įbhqkٸ;{nK#7s&[2X.-=&]5-]\47"@Ia B4-;uvg7;w.%fILҭa |Z))H#NFu]& ,)dfFB 7u-E$ĮlmaD+7Z7 6eg>_7;ΦlrJJx%v"gxcu1iL !!f*,Dd-LΘnՊ,U%'or.{⠲VҬCJIb>[FEvFĵ+So*h}\Lnwk߭Z`;uv>/ [dIN wG"gvRk;n{FF TŐY2kg>$b`n9Ѡ*W ^ukdG߽qy#kϽ(gN*9?;qӏɫ[ lLu97'ӪpQ5dG9$ 84i\6=(k.ˢug䒦8ӓEΤX~ŗN7+&m 2NN \b j?8X"آpvegqu&]}6핺c/|Tk}mS+Cz0o߹+{/_ʢ2fc{{ޜN<{e9;:|^ٕڢ.99[OS;&wٕ?|n<l*ǶԿnSKN26ϭ??'/<>ٮ/̸rѴt<0qU IMl(ljvFs,ՖW}o t9ggG_w,mxk6Za{׾i piod$T{Uv>;ήwݳ*>Gn~BQxcOܼtp=aAB؝7r{=WUiߗ٦[zA6q̻@ sPʪ m$%CC($/Ϲ`2ItXJᖡX;²SacP>V``:wipMI]G6p /<{Q  {3.31=)/bƘf1Y E+<ӓ:U@.C BVMKF Y`:+똗╭g-Ar52bFjR(\?;PXn `͕[r,6a8{a{'@0Qi܄koFy%Z蕢.(s$DLM̋جq 3귫'6=8Yk r H&lrlH3"!$$"̔@Eo䨎JE39W>*4tU.s6H}X;2 !0rVHrQC2^~O&ZvRJXQըY/TJΑg.&wΞ=usf[K<%hiJ{'d~Ihz%*(1+6gͤD1%QQ<7}g~qer0M"rl_\?,p?[Cn?3X;kahi`Vi6t Ua;p9 m&ZIƅ$ZJ])u Yg7u9mOzf8>U-".X+,^AMVYSu덳 &6%2vU>e4>E;;ݸޝ{0m}hVT"xU(xI|aGk+둥ir,G]3V 7{ޭ?O+,*.hQKo>0;{yث_V7X P%L)i^jSw|md!΂v q-id21CU٨ W7lο<?U]=9ۣGYJޑ/j(Q'GUr6ne2)F5F.hz̦yf)ɩP IU`ec' ^ڤ8e95HiH3j((IKytD6wCJ-Qzn%fQ0ⲃ%8[N~8-zak{09ɶd, 6zY5ƩNTڜZ(BfdLGPEڕ & JR$%>U ݻ7*m9d&cdU{r+t;ʽ[{r}7v._kf ~e/d$lj)ϻT Gl⤝.+dS}иǞVi\ q6Pκ1RЃ^wd Ic*"3LI"@L$ CYbKC$5a,acmr<=tFCEjwu䇞wx`rld.d"eIrۓTzm+Tk,1`+2/}+֠'{=dB}xy#@⪢2e਽+K"s1b__&r%,9ڏY@ /ƽָN+흶Ǔ>f\UT Jk;KļKdO~stEA(,)\Jt_V4M ;cD3m'P˃u5 mOmw81'KqΪp&Q)srx3 #x|e*~sk J&.q gW#յxͭ"eب,2`컨G(_xҗVY/FzS _4FxEh:L%u!j=LfRSLv6{Ҝ=! /&Ǡ~9?^h$͕#iJĒ<;K21L 93hJx%&5 u4(-P9"V2&I,:աa&dUUG ̀r 6l^vm"<(- eYDDr/!%d!oԗYU>j`_hi$m[H)ɽ46 UJ0b` 4!|ped-H$.dӅݳ3gSK&΋{o޻E9E Dٚf74r]NbD3t+[fM٪ں[`DAdʺ{ﮄe [Vl*px˥ d{;;4䊨0H1TVơo%U3E K,`yLʄl䇯5#v7w؇Frhs?`stvA|w ]ܝ/у{k8qyr\rlTWF.Z7^}eRM݅s3=ia&ӽPz{LJ -7iw4/WBk?H'>w|OIZXgɃÓ>tShS]O)B ;ԣ1!ӟ}m+:s ]Vq{NHR*C040mO&EEǨ:HXc$Jzȃ/@ꓣ%1-uU8!er),v(`ԃQc7hObdX$-be)Cc~Q1D9!d94+b$l@͈B I \LֆN)Ҩs,sj[4ӞtXFEBD @NEma WEw,dAD`oLfP"ΊD\,Bb "2 Y%z&TOXRrvFJ3UhTGhHšaam/tyyQAj=mi0xrkw_o^0[wև?^rըѠ9u͠!p"eA߻ye0+[ks+k#kiڍժm"2@!>;^ڸw{u^~SO?^~xrBӣ]w^ԗǟ|p8k>;ٺz5m.\:gcc^{(RLf'f/ɼYۦX<>[ǟƝ[vm\7e귝°kԮ?hf?'15d|pwc4 W"*JlEE/׿cOs!KCRQ#$}0زZ-ntxmC*A51懙0Yƅmg `0셭Y\\`/@25 M(9Wݹ2W^z$qZ$^4,q]cOq>xx ?9G?G\L@z)pNʪKr+YaX]0?¢@h'811,k1%IܴS}j'Ο>:.r>zo^Qga+WuWnuP[l%Krd8bc66lca {cm0p8㬄dN]+ syU5֨1s=wRFPApXfj`uuu\lֻL3%-)F˶TvgN͟hg AH()FZ8J[b :Z7koڲ~|dVð/ ŲVn$If4-?#כޔri竵Z}*޶ŏ{h'[- 2#!L,eO sO Pg<-J&IΚJIia+ª?6[Cv igiIl`,E43rmbbz5'VʅqA$*0] Y )YBqNMt,lV eBAffر݅0+0['$)-95^^nK]ǞAc`8fO%ˑv (rIOPHJXTz=Y>qv~Qv_C돬4 h'I\.s-;q|/w^{7"$ HQڱКHR* X.EnѾ:3g[Be-8o_K_{ɆLz|齷ݸX֛zxhyiA౳BE!ݜȥ9 +Y#ЀoۙI4itmH2V Yw]FAd -p%WR˗m߂k3`rT^mvbԬpYy1XmܶvbN푃'7\C߃b5.jb~*!V5\sbh8\_8yZj3 p@˔tfHF3bCC1r&MW2voDڀyQcaR VᕍOD@B$R0{(&멣֭p@2*IoUK! T pהvlRb5 jLv qe $%zuBڜv+(l~}Ͷ8b ^;:f|NN{&Z˕,w\7s A nZZ=S7cJLp9rO<C۵B²7V™܋2PiRe2TYu-4fJD3q,08+X/{n)ZU7/.K_Yxh_J|eX!")W,/.d}/UzkݼtÏ7nv:,.vvjˋQ:Sq7>7K&Η^Y%(FvؤL, B1+o[S7E?=ya|@|0gX ^7?o^yvT>h.5Wj征3'']n˜v[ IgYHrOIn <l|RsNhjT t^3XXO^Y."'T/̬FV>Pty7*ZVn)Fz#P;pNG\-$qA^Cn߽3s+rE9ΜbJJD$TnU :Pq!Vm g,֏U۳zenaid4e:~bo%_q_T$\!pk;ycw/sw-1s\x7͎;GdFҵNbAk54346Z0?=),tkm{`|@Lbb@bQX=le0cQ`ӦN_xf#ge{B'`BOX\]o˓# fpZ}Ɨ.ׯ޽W67W.`Bi (TtmyK*_Dc;̮'b?3yq U`Cjg`А߬1Z+C)W:y復s|{' I-E~w) 2JfRhCBqj,B-ɑ\z"RR pXxGJi9i/ z^ج<J؜bz{4p`5 0{&a ɦb5Ad;^ 5Hˍ RYnpJ>Kv Z~h(Dd9_xy2`iTLm|@8$P(ӟ{2YعcXv@kc@}sXiMp2AG^4R=_l|r;3>TBn˿Rl-y殗g_w,V+1Tu%VC+Ku FR {A&B 2S QYv*B횹,]4Ѕ|@ IDATZjZ- $W$];Յ@1Rq0\TJPEAjWV-WR*,v7Wo6a˖v-UV(#-7jt,vb/U3lf05}j P9"+6kgN_\dt_9|^H=//S|fc㊅B%uZ.3\ǟ%3x]{z/K""8m[A(\, d8ouزR)>'+,@x/B*1kցv?P鬬>;gz]<{/yYf2D =1+ᕒ0)C˞.BHi OR\P9 !}) oͽV&l> ]!ԑh< ɖBzA^!2y/P MF<%",dXRx760nu2O!Mwz}C$@ۿ߿c|_z}/ߺּzKݿOz//~sw菮S˩ )U_]ܽqa~]/|¶T-?s/\lCgݶyS<4BdXi9O>'^ȿK2E82`rM:[`5 0;-c]U7(:-iti ' JrT²t팊aRZ! yH+.˜chik QquI}嶻~ʊ2vy7O)&gxxjSNZC]v+R8İNJmo펕],6Kn\- [W6n׾y`\XKNƂHVm'?79Ao}+YpCG@[V>zY4WIpZ:s.qn%د,5Cio߭]wel}5RO'+1( Tzp͛F@'vsHyRG.a@HJ@aliYV"$( cx\.q9 ˵nB/ɳC*Sm5`&m]@[z`jx8O{6Vo1Vn%0[S#}~Zd{=bs;5llF:hW,HZ6&${Қ=ɞ+Rɍw,se6#<[e88^!<`&ǐPcr 霋 fPBJX(5^)*R)zߡ;o`eۿ箾s[?~H'^G6|_p]>xϹֽ[nWw֏3mYE'v+m{=>g/%g?n~_+w 'TW:@wtˆ [m×S޴C_@Y:8Ӛ_!-$!$jUH#am. T3Q 5")l1_r #PZB<3#kWN1 OR1J:c[W|)ZiŭF;MS(FB9nJfHb-Ʌr~ؚz-\.(m˸+ErjVfY˂`m,}Yg5&hl 9p[_^2<2}[)" r<[B$ ,ei"J4W7ݹM+fJ @ݰcΧLa\}$lZj;!"p쭳]%>ׂz8< %gX]C3ىj@ M{? u4RJaX=pT%RT d!$ ˁ3q2Ф Z3t'3is yˑJ*<NYJff 0/5]׬/Ul3~@Khpi⢙<`#|lKs3Ɓ &K{PqܛR8@^#p= ȔEcXmHIZkB{п $Mk k= Y!=z"GJ1[rtN8Vp(XgkAPj&֩ى5;+J/w<n׋7]( RUǦPͥn2V%&ύ }2;gS{,xL\+* #MҸR1{nQ,F$2Rf\޶͞ko8qM8HMydJt[B9Xh:*PvB2C$iuET̚yCc卛 .MRV_[[W5FBkfE^0Cnqoc'.Dz`dKټZnuCnWfxл<1cfxd6:йn7cf % :w#2yBJ \a|?cSz2L@ BNBHugatL8E =ArAZIY'[py+!dY|jꁕ覫4 a {˩#CO=mhODk}dc({sk*SiRkƛ+ݶ':qRk}?r]rC.{ ~f0mw8Np]{/m:_M|M>/NLr*+e d%E# dF9iȱO{o e "0iKcuVD6TD!uؑ/Ũ=uEd|erup9SZ^fS]~WKs=33y~BP]**diOD2l- bKH(Ir=Oh:m$Qayph MAPS+ v56 B &yW(T;NXigOZ @UoV8W*qTI!H˅x(J [8UJjPA!"ofyQ#N ɭ$F:$70:lן8uκ٩'{/1!s.("VI: cg@0GF&^YQmbjuwG{A0vzSb;yS9#YP>8C;)# `exv=SZȒ}tq ƒd(ai~{c}eJ m0r l;?54'Œओlr ̖=2HHas^"玥(D[]GRd9)󮞚G^җ% ) @ 8)}PW-ϬLONL\:sutr(3ZoLBIvmE75rYk3/ͬYe)H fI܅+F^k%P +f2qEsLN2(TFLNGVT}a)湳Ã}pc'syP8xqxvڕutHzcjƍ \DSO0?z`\ݶsje,O2ɿCS.}e&wtVl'T*i*K5sfÿo/\/m+VM ]]^\~薫XAtR\4vm/UFM6<Ǟx֟}'F<:-pyb~zr֚.|=kܳ? RV`J-CKL˛xgz@&O(%<8uǶ&+KRm蚞 n 6 wDPi4~Z߹ōgBJ,U*2f5[kD5YXXuRw=NqB =E#sgZ-ŵ۷G7>)2rA -x,yr>*?b}TBxY9ke򌴰:$,K8gJgp gP>,GD 4{bxV [y =!B3{f/pV*a]N"_iACJ')={i^g^VyOLԬcSޓ F쉡PΉ({k!IC+~`UvM7'4!޲s8<3LzU?3uKQkx٧}83U*o} §^Ia`dJL}k@ՊqXw,i3HuKWw8{. 3?o{%.I 2u (^%07z=ڳ,[ aڻormsO.WJ+CY\+y;7$$eȴ0 x4yoAϭ$R-Xй #pskzgyy(T}{k&Yafp@+@z -IZoJfZ"X# [1D $ dÀJH7@i-AxX/Ϭ1 H!JJ%lØgKB2a 3KBK5}o|ޯ*W"7/?xey}'S^?}Rmr#UͿPx˽_};*/ŕJaqXyqg\ttMyvua:7ݼiCg/sjxJw28rj\ndsNJsw޳cZ)όyn },V'46ؗ_\Z9W+O(LGHalw];u|pmՙ2\2(*I]Efd +J0VN+ͲJSqT36q,VWyIDRuDitYy V\doھ33E .O./.N`x0jDžaj=U6nn>s0yri徝.&~q &/ݗ°_8,[fl0SI.KnylMirlei\1Ym~hnRGƫ#&O \; "G<&wG_]|}ڰG>˲3qTAT4a?l5(jz\Gٱz..yHRE`%< D^(&-PK_…-~F^OlϺK\J#ow}7|k:ْvad<I ?= <1'<3 /Izr䙥"Ϟ IsZJz/ ʳ佇 d `ĹP23c!E1ڻN~:[CP_3M=<;/oݽCsO}Wxdl4[osz@u5طK4&]6JԴ+^YՎ_[P _R/Wٶ[W(jvߴkFZKnRJˋdS~L_n/M^ssS|߇: Kf~ёjno=T苷o}9,kfVOOwxnX9y(TE.Hl{M* |cW/NڴS/..__:|n}sٱ>'[+L/09/Eb lL`r#Yenb@nY0TzVn(gV:m5IT*%DPPJwqM8 @MNpBZ_%Va(%Ji @ >yWyכ2C AJ`׽r1i3+ KsIb @HyʆbohK>q]ϾN;:*"iCyXb!33/',(O3 kk]X}ۮy͑]nzf햭C}e?z 3gy1s-˟Z0⽺=~uyeYf$)I 2T6 !'ƒ{x@& B*yXJA .EI' 5e" J:x=rX)2Ƨ@Y DntP5طO{˶wSՁ܉3۾>ū|݇~ursy#[מ>[/MKIrGKŤmRmCr7=ГÅN4s۽n5O>|j75;ĕ#ӵ:V?~VlgW0u@L5y;lTQP 4˗' >fAguz=oΤ3H:,Ye! N3@h8! Th.:TQթt @cc%ْeMG: wz3:)]{߭[j=MgnFԭGKf=;ҭS\^yap4[O'>ʽݗ[9)zP`FVhj$cqѝή]fQWӱ2l{K˨&D޴fWN.` l0^|ۋg+{D,JSu~MHj:m<%r\XTߜ'ՕsOp@\j6.¹F`""0'F9[=; q:ʲ_|ȼ+Q_} KsGrd'q/i+)`$8g!˖Y)b,g k=r!!rx|8+̋vRbʹsѶ7Q1 ŤprNir, s{` R0`ȁsg6nÊp,$MVEHi,gm3V$ޑS kiyhHDm9wkܶqhGk/b%jn^9綿|]ܾs޺'ׯ׷/ ǵ?sFASTL8#m"t=5^ISYE!, ƭ`mUxۦMR˚aT<}2 l8.nhڊVSe֖M1mvƔ֍vdͨReL߲sQp+ZU.W3Օ)m{4*ƷǓɶEey jAySDSsj?gL+oJ?w/>WKffP/^./׍~u:=S;G_βjJ]x= i %q(މ?v7,Ojf2хO>>Gr46]^*шiQL~TX'{SIqPeM[]!#?)9 dT7坝,q>_~n+o;+K)SƒٍxV=uz(vik0uƅwl,e&;wz?^?wrWgͩO4=uNe9"utP?s)dEGmXİǗVVUuRt"p0"ƃsWy ƶm< Z'\J)8T:&8;/p/GzOtV,bIֵxXB;t ХP5gh^d9#N91ͧ1F 4'Hi|BqQx:AF*@ZqNP@ZM@ dܖu0PO$I(8Vn|˗ͽ SY2m-փ%ZA$ђ܇$b)V /nVc5' Apf݉3gj~{}ͮtRp2"tx矹~<~ִo'k]vtVH4LU6,,Vd۲2J)CzbbaԢru?9ҩ*?a{0"6otﰘQD>z1ֿO?@Gs#]c&iϒ:J 󭑴\"D2Xh*FU,w#0NE+MYwm0.!&I"MT0NdlɩA]qyADdR'ubnE]hl&*"Tш(n\޹mwsC0qĕ1"1\?ëo?]5N%ÍUyo;k&%Lۦ,&؈F|sk_m\'KYg浝sŧ悉8tjZ₴U0gB¶ueqOH4+ۯLII[\=j̀U-xHXZ~K|E,زkK;L yBQabL>3{K/,ҎE'R Y%~s3Lzſ~SD,ID[@Q.k$DsoW'/:${./8>LҮ:qfX2D5B >1: RH8JL4>UQۙiwɋlITbmnۃyOgLP{KiX;{d4J(ot\A[p([;Q׺NS"# )xc ܓ1-F3gԟ8*F۞ȋ۟'|3RX]=Oyj9z詇ɤQkDMD8?Y^;uDiˣJxr㊺Zs.XQ %YuKӹB.rz.wA`^ۿsz8|0Sj8?q[ű,?]/g0-oͽ]m:k=8裧\ڇ|w>}N`8 ߘgdP bd]ۦ Ȗ$DBM ϜZQ_诬-ek+B@]I g.̛<]< `;p91{Nʵh7-je\Y>~T@jXW8BY'{C(' fF'-B ޟ3S+ےc+%g~2eErbN&rszw\K~zRv^sqw'7Wއ;&E3,*KTYwVYi*Cef65֐ U!Ȉ %ݰP1fRM*U@ A6ʒ3MɘK(8 rM8&hyv0/M2`KEԦ[ϞE,p*׫Uk6Nnԍ\qfl u[j jj"R2@k+-NMjXZHÇ-Xd]sLl0νD"8s\$ye %3%+A5 )e\u%cf^"ٸ ZSe`BY%Ir81qGdg3֖֮<>f݃CrSS.,/֣rWVӃbs%'z f=VŨ>@xtcWWmU٪I:ŷ_n¶uexWΦζ6D]rO{"A($O<& ru3+ӟ{3lQY!}G˷>(q饛Gh떟 ^Lq4FKcgXדB߭-E3Z,gu*Tw~3iAQqbMmXxKLGkU{@㿻YsX->sJ +JrgiJ g~Ř`TEitlV\~>w_]ٴv18:T;EX:W !gnO鉇/<~esX^X%cvtRrg7qL|SgvۃEw37}msL{5b/)g47F`}u<_[w\xfm~^܂ ѵ6<#֯\P)&\9]zJ2; bk4|֧8)jF Q4.ORX @VH@u S{O^/k<\8I]͍1Yc8Ր @aJ0Ɉh>eg<51~>w=ιJ՟k$0=J@I@+y.@s8t~ m<3ٻQD_8v3E9qm\rXO 1.LU=p+48tFӍT\F`7S vbr#X7[D;9ǃ+Nԛg/}ᡈ{L'shye!ئ--c4Y kη_5$GKz|{d"n}{|X3.s=cm .,c/A?sr{/yZ$ <ػ};% :Y[ bnx7 vG.n ~oU*z1&3ze{o/@-/?;9  Rq:K)L?x @?̣Ͼ6:j8!`<ЩZ^;Hh&,,sv@VD5_IUB?+Wv*;/@f|$ !|wؿ?./L?K_.E›:.ʸ|L6D\sHθwNe]%{YcR콸S &AtL<;{SYcqĄZgىMoÛmZɴ?լu:kKȣ[wWfa:AOA]U7\~UۥZ|t4D[^$y+kGt}olA ]'i56[KX^KX3kSS[.|uxjguȪ<*ۚ3I.JK4 PJI}!p&ʦރ8% \j.C:[3df(BmMNsV}O I,.80͑䚾o pM S ;S-cbRWe깎"qjxŹ*a2bI>WĹbqAPtVeQ$R : \qXT@x "g 򶩥yH6A+5\ n\ȎNb|ֶ7SŒ~T6t!DIn鍳 [*@ݹa8%Bk`lp=Igc [}G߸;l,Jqo̕+ `.{yڝՙ7Hl~~أ;~ `Ĺ#lUv,zl[ZZ|3f{z>=z,)oJ_?v g_O;{v/Ǟ8 P3:yt‚;#OQG;o6@Y'_8_3XQ0D|>yA`K㸴ݿ \x.}EHE[<."I"4"8^ԆR'Ym|W֍xl%qow3.g ``;@+Uc@#|0+'"p D9(0& ?r 11F# c<boGu82tԢ(Q{excZ׶kv"=W٧χHLTƼ5+۽y7}ͅԭдx=~.d[ݾsa 3s|@{|}.me_7p9_]r{Ms,h8x @z}nO8Oiivwog>wU]vm)8!)@(!@AQD$$G1Hf1 ƸGUmt[w:{wZϽU}Ϸ9ҳ]k2:8q1J挮Do},pmrZW2~;ws3 HOF? wgNxS[/ͫ=XޒWk2T)_w'? w_xlw X7Ms$TLXMm_+ CfSϤ b/IEiiq!HPny$i,|&}捽oVɩ˥=]KQ*e~X)AWۯ{tj QYb{3$Eb\Y'VZG&`nҺVA;>czwASDHTe5׆8S*NW<-SrPiLbm|pq'j-(ۺR]tetkǣ,ߏ~y'$1Dpy*fδ*JL@RXGyTU/|߸wo ΃F=+mߛTOȷh۪1)g~'?ܼc]|0(~l"'D2>/ |δ{f^vb~E\M/89Rke$dxݫ*| O'^it$d\$QziƚD2L :Vl.bHo: u6rڛnJeU7\aa|dvG*ޟ^l|uhV2n"D FݮH)$[Rlԍ&醘K.Mw~T&oy%Ec6!r1!:ӦNs;1'0kZ~k [}ge[np:wԋDdB:\3iMѬ\d_Wt{?ۉu AuH2~蛧Q\ :8FטZh#<].ۧ0368m`MDa<!a#l@M\x`4C `@ f؄l @[-Ag;qV4z4nTao$]m'R@+KoROf 2[W6GSiZT4~ ErNʅh|맮'? ͢Fa_ye>ޛgv[FM}燯E.ӸHtDzzvY\'s]=^~~ޞ<-UyC/X%IK8JcYN'bBØB0+<3hKP 㳳G?/~8?'ߧ]-D)ٙRNj}R:_}tjq2 EkK7]Ohl$Ss?mCBU\@UTGU )H%y`';SUOp@HNh.ټ`҂kcxF6k%QۯD Gq+JDž#`\8z/(S ,a;Fn!X+smh,-Ⅎ$Z.ʲZiN<(HFtEzIt\duU j 't)p[} "6:J"a(qJ$2d:-c [+CJӱꩰCrۺR$Nj(]Ve8>kBx:.V:HQ3biYW$0 IDATrBDBhFNcdj N E$CwkR<2LblMhle77^f]W B2";dm3eL_X>d"nc XxYIE/ 1(V.̱jDHEZHx{]W[y<*tb &0I"xoLDɌٺv7Q"ƣ  p xbx#vz |i|Lȳ./^_O|Bnc?mwGY_ѝW̎o+ w|[?[okL7Tpkn@:,NNyX4mߤϮYZyP: xzv4?8$ShB|ѻO}Yb'h<'nh>yrpE٣" cc#.׾PNn!Kx׽ ׮g[G'.O"ogl< wqF!ms<{X {aG=;/\G޺72! `iWFGĘ;вib8U$hH;Cn s$>NSziSiecL|'l%:2Yם Qv%Aq?iRi5 `FR&'K.'מV齓Q1+Dl#)^]]O`Q}Diwcb٘h3~%(N(v)JcsZ/4Z,2*E%Y5}&^iW)zYٔ*CLVu=ΤҵDe=޺!MhM7 DɕerS|x+۞d;JHozdza!g ")|q}qq $fV} l_7@!\lB<_X`&lkiyo?ysdIT@ῌt_k$#jXķƓKҾnd䭁o}gG?1;G~x{1K-\Wy zͻIol+QIԺmZǪ5b0,8:cYTM`oZz}+)x/&`o V:]jvFV (K/olPPIiU/8=MHliz3մ @It3-?ze'B :c >? ǻ}@,_.pu捿po?O|&D6@*Zއ4IQ*T4y-؜;33X< >GFG1{dW/g:ψIB*͂f)0tD=ms1jNj0 08-q?ɶIR!Л7c]$Dnt8 Y" x8H8}o\<:XAIk}kc ;$JĩZ(.`ڮ+4Vظ.wI6kuȤ: ,Cב_/fGHH%!YQά ηΧSi]g'y"ҲXr{U϶fvMl<5lI{!Q0޸fX2OsO2YE}o Υbk IG~gZ>Șl+HNE^VY Ekx׍"H<`>-%E;Bj)T젮@$H<#H3R6KK_ އT^}HM/ "z7 !9__홢@Du8f7,N_޾]*7&u7qDJXgrQZZr1 z5;CY\`'\dG!/+N( {fc}dA{u?%5ٮah:ocD}̼q}gI2l_~9*6y2NDg \5DongnH`V=T3{Ko\ /f,!"ςY~|p{~;ԛ l_|kNN 7nc}FȶiDDLo =a8ՊA8 N)g:>HZδiXҺo8 zS6HZUٵS\ozO;.Ăy58wo>|g>yZ()cUK&^f9>ehj͐ahUV>֦_ZwNKMGҴmW橖xB(yF,Y8g5 {יςCw!eTjպ(6"H'1aoܮQ9t!R J!k:/๪Αy1}ze=H6.a0Q],h'd<8RtyjWIp}*uI<EWvnw閵>R&IUX92=x=wz.Κ5'?}}I%.!W6aQ"Ʉ@=I6.btis̙>CG!|Mdo~|pyq2n\J`võ7Vgy×c,1L1<d7ԙ=}wxo;_/x?m*ZѺ9>ǟlg< Djغ:C$ds0.Ì JF%\&v"aoS!ȳ$eŔEX:nSM AG"sq k_A?2۝w_;@dNn}.rclmOC#%B5th;a|2ͯ<Wn\mXne_!;L :@涻࣯޸;Nu8tmݭ&Fj6Gzu5UœY`X<-ThTq5Lyl;O{fVdzx/،3.v!|mAW\v-+7?>{?].&o*_iȉGqY .,NUW=hٵi5tIRmeX=YDMcW#=Y.HuZ>=H"٬ һʄ<тYhmeFk L'/W~>{Ait)VRr\֦ې|eo1t:.GU߇O?m[iշ6J#:rMg|jUQ;;t-gk1eOF1tA+>)u4 `ٚj-&(#:U7lA6˪/ݹ!0YrӬ7IҼLH/j-/VQN.Mݲ_7NE_"vʍsC ACk]p?ټ[\R4r-dv"Dqu|a" k}I't2%!PQ..1 !e73HLB/w3myS_sM @TGIwRn kq@XC 'QT'a^pHY(~o0),,0;m!S^4ж]]yFe?\TX* g< h j GEx_n_y>I12mkCk߅ZMX 1}қ'<S;G2m'SC_RˊփD4Ҹc)=R*YvߥT}RΉ ~8flsG;iԊn\n<+oHvQ4;ZCVqﵴQ*L/VIso|tzE( H%%RCUw󥱽oک[פNIAMh,>/ҥ>l >x 33U(3on8]ek#0HB )ORQ$PXipԊ8)Hi:/i($r@B&"OR&$E,yxg2x ZHBzro/ݾYwsqx )`_xK4n )ڦcW΍[Vi!{v2܇@2'[cM@`gP9Fu+(R§֩R&_ǥ׀ulN.rWy4sW0͹i/8Ns|(RˠQ93׷ԯs}BZo-JYEŴVY_V-zcGJhҷ"#H{:cE*0P(Lcy?.um^7 32+z2R!,.67}2<ܙ a}B"tRGPZ*Aq "")8](Jg=Ű }_ϚO8!^ڣy9 d<3X/VVZ›zNwcqx `{l*_$O}+~o<>=ye7'7TM-+c)[?t_ξsݜ_ n*'O8<͡iX@OF)ϼF#^ $ӭ<n CBֲȻo\ ]ljfcݞ+'[=^uS~M[mUmͼMU@TRdh"~uLNj⮱y>ovNz]Y>H$y`l6mEb8IH?j@aYR};㮅")e9v^]~VH ?BWu}sTB4q'A ! I$Æ?#0J˥-}s 6 .]⊈Hhf\u90+BHâk6B<-$CR$6b8}Wo %EvEΝqSpAȡ3{ q)lgl:;] \Dn$7 IDAT|t,4?j9ow&NGӉmՋ7fcI!%v윥̵kb)% R馻Ӻ&o 뻊t %rZD$ڽt`("1[x?2uL8Y7ugQ-QiZ5Ntek[BNWn~|/~:7tֻw%~EY?]Ŏ21m `M/k7xƕL!kKl敿{\utxvӺ#S{f\y0v ҇c6H:͏.Zyqj |z+vp:#j @I@"#MO~׾045Åp^@ #gXo~2ԫ%+Ϻ On?ctjEϼ{ϭ!VS!sk Bʳ ^1zd2Ie9t Y@忯[)hT=QGZGbuzrE-J /ȼeހX5.v[Wx:yp>o=^w.r 2ҒzJ9}<8sfjXz Tqݙhb(Q^(Q R3;=:J-a+X;];u['ӑ_hI"^}c+ؘXDA>\gLHӧ6ݻXQZZ^h釸Qu^{;{k anVՂ\6Jyu5 Q'y7n|o| `ݦh])Hd~zC} ]$. !zLe 77!ڞ N%~: ~6<ŸQY6y_+/SbE ([)6UY0r;g%)RIn"J 7jeY $L=~ce ]jveJ2݃ˮ(>r;^e={XW>uxQC_}ӟ9u4aFNڽ$Xi0Ԑ97k`Tn#5rj%|=~Ͽ{{>o"m{??>YV]? O՟WIUViFbbت5Yt&z䜉`EWɈ̵dl=$[7"ex|D̬cg8\3v 9X 3L<('Rɳrv*[=_l?ۙR8ۥԚV3$ڪi lQ&DCem'±hz+4UuAkb!TХumX-O$kq-e͂l]Mk^=u&4F l6 qLš\'/PEpU*Ʒ CL@b  Igg=y};buGuջv?L.-WmMYo$w^3/W+ئ {zgHbxPGZbt].E.ɡ3&dJm$d8Y/fX84VJH*qkL(KF;='R{lbDw23 !G!xxF"NÕ@D=Ӱ\ -cP"~@`1@ѕsvAS@ 0~myf cX?C^@|X}my],I7{rFcS۝$R(œA`&J0i6a?nu_;'ǙJQF28I1G^/ǃ$ٴ5}g1g[lU^ˢT2P}6J%l!\q1ztؗL7ñ^BT Zp5M7#k$-ɋ=&%pɑ lueݶVs#βho0b`yӶjɼ(bT_ ^mqx,eTl%0Cw;? x T3K.s2x{Mqփs {ψvGg#kc;ߝc[(eoߘ/õ}!jM`16`) ` {Y/ځ'" xU,jc`WPxD<}Z,AxW ;86L'21s)TM&4;Q7;(K[v|B/#fwY_h;a\ޑLoV!&|]d4A| 賈<_s1Q̏]!"eu0!%ih!A Ţi'qj4=(6lUPڜgz$YmVb[<ȋG_}E0,H'} n]M\,Z;?JpbAh :\bN*4\or} @낷5`۔(0ƶ9^]3F=qz~ @^kc@ڧEbTlr{O3 O]5IlZʔa%Y?IJt?[9cvzyr=aek]h(6:u yqڹyB ɃtFxיzMM; LئrrE( ntW\<񉈋-JUi_mYM&Isqn[Wn\7U-x8U-"OCe&b0ToqO-~Vwnڷ60MY/]QvvqYm\&˪țFv݃$_<-6HE~~Ї_3|=;̟8^؜ޔ::PKE0n|ˇ @cgU/^K8SXk/P~I|fqH[G*  dp]˄hArs~rÒb{w-8K8X_wgmV_x??2z2x(9&6_yo1t"8=t~C.&OUL] B26NlUYyY*ˮhvpR8@ .!8$1Oa9}G՟M?ĺ$eǹպցEx+"!j#!s$)ςH<ݿ~$5,Snkx>i{nLY[DVz% %*btSe\:Z˷{:PHi!8p0NͲl*\CΫ-3o L]1/tU%0|epB^(U2NxU,IHJ&'ylKʐ[M֫5Tl.) ~znlX;y0{9L}[+q6ΰ@1!g3[%- ƈ;oW5y3nb!\o tyK bw>`*歫7nbז4ԟ|:Ӯԛpu9K">!Wt|٬eae 3:1+i;o|ЃS#'(u#D{WjCwͲ2f>RGe][fM`uI@p]Qűl%ًS6TEQEbۙpk2 d됈٢t,9/q_XE<1tzն,=?m[RX/DV smZԛ/yp iD]H1a4k_|6?/7{O%g~w/f~ᙢ``U霠[ @elgBYͲ"x}:wQ"faL"2՜E8 146x "qVa#6C@pAF mYj  vZq6ɳmQ+]Q@$"32)Dl4(.pynFVNm:gf}I2ϳ%ѱH$$T886d%L'2I'[z:!CSA&*'Ll~v-]Ulmh@ׅtǽ{DpWoϣmˇˋP7!IW]eUzWeJ$uvѱL1jq~3-mQfI X/R7L*Ή"\HƘ: #N"$`iYwZպC#x"Xn5oeއAa7ʥfkp @-!qs'{GW0Tnk_kˉu3{< ޿n6Y*S]Y2MDdE9߶i䃵5֬Pw՜;g4nq(q^&JU)ۦX~ E7ȏxZFZ+@ \lǓۍƯoEwb[GFXu[+ = m]T~ ">}.I`ɭ0Fv ഩ%w9x[8:xQ !&j6}w4/^,t(jw0ex4c^ @2p8<4몔M.UeH)`"QO<b ƵX2,ZTolm2DW2?lu6m/5fiW8ͥhV١nuIT:6B s꼖!fI2zT,BQea(o~2l*rAd[(eE*$qhHq]kن80B/J=mݞTw״v{/v[Uu%(2 18R=x{`3N/ngL]5*򨸆ܜ="VÍW?\ٕ?pS.-38O7L]OQN'^EV ~2WuqySh\?@lYխ8!Nb Bygu|cT<.WVi04MEt 4Zm'$$K1Y 2{g_d 7:""gqU[q]?llGAh!tjwou{;=K(i/pa?ɳ1f{x 0H3Q-((:'EvV1.{R8`(jZ8t(dqxۯ\f[*9ܛvOK~_?FMI_9he.t[mu7׺KD EO݊3xo/Ov#LtΖg-l>WCwǺ&Mpk?7T <\kj3$o~6]kvP6}┻a`h`ҡ6kI̸YLr֥0p|W~?I۹!_tołUE%X8lx Z Un^/k(&in6vibR'},Ӳ]S-XD"N+./ $cʴ&*Ţc]1؛8ڂ4'p0,6ئX<ɷ'|1mz`|w0Hpw>c;io7#sسb:<[RcuPIvbWC8*/wf]m'e[ =oVR\cL'"ݮ??LTԸ7ss<FRc^Yĩ̢^nkK+8 g]5!ϲYA^6^Ù5Vnkng6֫^,!պ3GI03s$^()25Ĭ Vu >/..OT3z &x8mXY)lGU_\r;ONl."%8Qۈ#8&H'ol32O]E";Z;FObз?_h>1??s/~ޗ$:~xlΦ<Q_%sf~7"&cQǞ4 #cjVV1.Fղ̝uM͊~68$=H_ ZlNFD&H' w"8O|-0کꌮaO$*?" _+tʆۑgmX>~c7),!7Jy[|<p;M@IFY@t|ڲNc|KoJsUS8O> *sQܹݯvhOiQ]8&@H\4-}bktIԏ$"gnnomlmYaInF j]rMJzsF^[lic5mA!8ƆZ݂'RG8/dHz]Hy2"\2N7 ]j$q]Z>_G҄ƥ ^B_Ru$6(pރ1v; !<6EUP `:$NdQtۯsG9^ĝmf{g&Q΅ K"Eei6kUDx;{9ӂ^ khY|"=W/>5P=z3 "efK^SmMPh, 1N__44^>Ț"Z1pUD~ecmc XCB±Rl68<˺ap؋ڶi/nqF R:M.ԫUg[U•߼-/|2Hzht RuJ&m:{bՌ⩒(Mj(Yl{;'D*O$! K!Δ^hؤ a @q/ZfioLJy"6zY15eQqzN{{Ixܻ(Cݶ&qnI̹Χd}G^궴Ggǂ8mQ61`68DI!;ؿ9v&7Yz{Q9CpuYqۄ+2ׯ? W|fo_ f>{wZnJpէ(x/?^FdL`WI"roهˢO6A;HfLd,u_d|zKF e9K~쪜ZO2uL%kZRoZW >9ນumUh'PGԻz9Ugޑ Dqp[E=s\:d4*VLrqNr7L O4vqlX(+^oLO\V}H EcH*7`mH;ڢLW=}X?/oU~wۊf}ͭXJ6j 97P$tVݯf(z]肭.O}/􏏾ƽnu?j;M-uPwh`W7cJyh5k]+:Ϲ lcj@p gKӓR*[7+8=}pԵhyi  ~olw-Fr9bL4eNd]H ۯ<26O?{*Lze0aTܑGh,ΈS'aIY_%1'AqVsUڨC8KumHs,ɒ0/lEKjYXApҮ(mh6R M2Lcvum]-k*.;\*1u€+[u"(=vIP۶rVDI%7#۫uU4xUm5uL4i؜ MgYGɦ޺bYO=*JόoבP,sl0MriTۃk>";ﺍA# 9}Nt[@NH1F`_61.vuA CtuQ{Bo_sL5[7\ovk!"ɂ^}`UÝ?ȸΟE5|Ϗ??kO;SIgYLyEm+COU;LưvzEXǥAo/EB}`j۴~B_ƤjmU=SEgs#L'_^E4h'utf~?]^^lx,=EwN3ˆ$ {N('fE*Cׄm }~Xd<<-*m\("8֓F!,K{3, s?\^'d$&|10|7n?;C5S>b_{#1PgNV݅=.v;ļ.Y a'ɰ."#oҸ rr|!)xb"ئY$PԇӠNۘ Cl6QcyQ+'Ce6E1I cqm'ђChs07,}[zmJX[k-OMd./HH[\cC"d AӼsl5ԋ 'd]JkAzxu/]ޘ#V.+6KٞRs 00qܴ\EQGqZF下U֮W:J <2ԡy خՏб,W瑄B>@S=1 &#&@~G: gt]${͍1='ڎ+_C<lWi$m+nZ6I'o{3n|kM&333 > ܔ0Gp.tz/~>R2Vdr`:c6-ژ!iƴ ?ԁ:F޷qϫ,!M>\<tx8[^vtvxCQ /V竢Hy7qT#u'Xj)}b|_U[1"&Bs뫢`,c$d82%ZKBw4~3^$r`a(Ok_,>r)6D izw xٶ5;^[;jO\lY.7^5ȐvѸ. z6_yoărW?{T˗ˢпL, Pk/0|3Pms `ϲ=N=ȼ?0W#Q 0Z.um^q$z)յCB<! DM)TTd=Gbv$=|~?hEs0_jr2G-yɻ7Ef6Nz1朄`+]0Eq b['4<(bdDs!< bU8 K8${Xęȓv!qpf]`/6u5fָ1 \$IBi=up6 1׮ԨrdhOmh|(({m m@mv& 4XOV:(HX:z]4M-b0"튻>ԫzL+O,s =B6;Y~5EvKFDG3};|!F6\g୵cli{*-f@z{emyzH?j}+8.BpCJ'N;zcķ1~Go3[WQa80m$R9hRkE1 \c;6uI+rV.f] F?_C*t$|[h$3]u8N'ߜo^&N3{'喑d׎(ֶZr4f6]] Uz*c.z1Lygpgnݲ56dIh_U\^NG.WVƕk/f&0j<>x}٠BbXW>mxD2ubKڔ@1Ĕ2 ?{΢tzq uX{a~]/_/zX:Vf7wl˅$@p3`Z߹鏧,p~ݮYlܞNK=I‘ AQО.;pu^`ua|srYЏhgw"(in 0-9Ỿ?K|'&Ѡ%]V[R'',x@W] H "Ll{&!N  >hg۸z'Be+=v%k gAIAƳ,O8y"Lw2 z6v{\"'@]ܟZg ?O|3vM#wXPAΚT Rm8u @ee5bY!{o{ kŦomGA˚*V\:e,uyҵ[O,[8!BLDuixgLk2DqЎ@z1PAW%ǩ&JoP?3yǷmfJוyDہbf>:]{ L]nYd8h)p T`Wu{[dSXy[ճ|쵹n[oK|MӅkiF!ȇj#Rʒ%΃q"1.zkEj]vD'C[&y0"NeJU{|eo6F|b'a}vrfd_E ޔtfuIQb*"ʽ'oty ].enG`JǫbtM/{olkzw {< ܱՃj&Krdv'*`T( S(\T*qbWb;$[,eZ=޾}ŇPp?w]z~N4om[pN梫 kv#n_cSՒd9H3%kA G3_;k"ֳ>chzK[z9<進xp0~Vo:)esYe~ 9LT&l)k{|c8Ǫye֋E%Tm;,ra?fG&ؿUU uzB?fzUuV$N?bRá5ϗi5! Z gYgכ g’_tEQ^i=cޜaM YneL[ص`J]@b)UqɃ(M;LWnNrGFr\!.9ы#.GNCshF@cs"K*B2Gݮsr5mm{sG{^&# kf7>pWCa,v/Kjt CΌ5۱.!s֐Sͽ z%{cnj Y.8Jl,V5k0~IEvlBp׿: HBh_" VcIZ z&V+dIۘ*q e&9u3{pibSWF0iuxCm:KBRHFe5q::k{Ug]A1Y7vԶ4Y0`EvM@t<8~/GGJMq)s nV _׼E^@$.`FGwsfmA n@c̃=\u'wLmIm hsm M dт|.5@`Q(L^6bËX=|'o-U>r6܀8iCjZ=/,\SgCm@Sc:"a$˄Q˦]H0bNu? ;|UE^}2j_+~ԣcxƋ͢8r*b ܚrM8c0Ս*nJΒ2*@Ӗ3CJ=oP"m_^mk,*_JS+ |+Jq^"^Ԧqxs>LDԕn* ?4,_ͻf8y HQP0Ɲ#D`oM%Z%;"cxlCN_[9Mz AW7]-2؅fGG,5 WN!wE\ G檔aώ -GgW¾B8Bb5"aA3Ɯ#k-ZG6#Q ˋZQSW٭O-齳7Ɠ8 S5sjO7m 2?F֫< $㒱fC!A89:uՆls7~0.8ȒVHݺtB8,VU[L-G! =x0p.hl@r.7Z zȝ6~3nFKtzѲU3A>_Z)TUG9X0ZPp{=4%2/ Jd*<~`؝qq([V IDATOi\7oo~؋ɴ#A]9N1Ɣ2ǩ7]Fa_ky>덨|W{̮pp8 Q,}U;֭q᭬7ښi!zv2o*\r.7φ{_/@?8n:Dz t`MZlښFi XE0osq^"4U45Ul]wec"=:C%2FuX`=?b_~#|mLo^k?'+GME`F~ RKTD^VFU-pm`b~'Xx8>:em?^Y~:8Rr `bdk %('=u`!̶["곟^F/~dv4:'c~yei/N˦KF V-E;բ&d*^-zdʵji5i#|ԦrDmЪP8vڀAv 1 un/= ڲ3%C7T*<<ʳ`'e Fb9+YuWO~jot:FWms(rsHkj  $c~z>[ i?CRS~!o`Iy=68Zxq΅ )c1 yTYGQ{#mEMZaY[d|#;G>ߺw᷊a 9;n&_V}1tJ02- %%3ȘeÝ:Vlp̲- Yh9~Kh|a1c[eZwIR``v[Gn7yF"ݶ/;r YkE@ۻ 3Đ)qs!i^B$,+v9<^}MܓZ"Jr:8/M?3^/6M{|,3zbm/C6\gqIt>Gڷ bY4`iA\K]߄v5<2$nf[z>y`gd}{ 2w210c{ZTť<⣛:['$K \*l[5ǃ[ܘ4n,Cɣ=yE>[φ]oVy)*q&Eun5 S5:};Jϟ?g_}Opӟ~/w?>Ho m~˲s|Q&/9 AX'CeV:>vukqDPŽ"Y)D-7!\,3v~0 CܒMH *L""ۮsfg:E#Vo͟rlzHʬYu/}.SW4,-ׅ"9|O%h/ rlGZmy8 p[18s\u*xuq-9\AyQ& G[z{˕vW<$lkw"V 75b:DMڽ}AFPpFdfː9YkAĄ78|mW( ǾŇ~/_ޏ?yw[]t] dQU?J_"8޻q^t*;wi-buյjttY-A>H_."rV[csr.e}tj6e~T EvÐD>`1?8bRy'W&eT=GJ+uYvdoei`);2a BߑY̌Xm˲WJWNh! 4>+r-?o Y|dK|>#2""2C$@$'pNlo#1hŝa#h|*?ͿDz];B rv':{eyzܭZO%~/bZ4;oZuV|_%# R kVAc8#[Xe8.'A:z!:H!y5|gYLIbzҔK_&CyLZ pI@-ʕya{"bX&d+?y-K [fiY+LxaMu. 8ɄG@k5qZVefC)њ}hywno'8|%1g`|0 IxrUhv2 u@oPNPp\]^3 -P|p ƙ<Xչ ^OZ|Yy vO}GBh~mPe/9;?ӊzCؠqś䧞wHv}9}9b?:޴u|n2PkM [[hU^$QN;k|-vmwhrֿ>/\{\j(ヱ*C9ow5wKu]ר. <%mQJ/<]oi_mj$)B6*mľ{ǏƕżQf6{ Bִ:owT{X†"m^.s?#',^[TlYSQ$ c,KRϼ?2E"fLF|f6g?RG7qvms &C"= %!9{eꥷ :2c)own NiwunO BM%Hĕ+t#g رv[fɽ˼Up;zخ+;9Yȴ\xs"HY_|矌n>, ;ݨx` km], .U-0Iq'~'?V|oܽK}FڹB e;C+)kK*_) <-y8"hFt+k=XtH7y(rZIW,`rFA54w8󒢙FTu9VݻϬD]vڣnnݍOwuE\_\<[d4Mkz&~PֻLMJ87gS`E87SG>ޞls+MW8=ȱ^:Q_k" ұ/^{4Y@R;͈Sސ~?_u/ 7E'YJ MTKլ2q|ق{,ڌ4iя @~ y?VDlhs.{)21Dbq . }B|lzWv|ۢCD O&6M 'v{m o{鯨WI]Z|얝 1b %&D܁ q[ηO;#)l;238[%˄$ADdN,Zp[G_zE>o.Ec٬şΗR4Q?8\Zy>_'cm}]nL t9HFqۿ5{޸wg3} 6{>q1[@-;] %2 8I5{>g~rwWټ{ӹǬF4vٖ";%%ͦdRLȉVQQߚqFJIE뚸nʮ{8[iCO65ݪ3tzQC?誙&rx:D^B7M+녴()iCEtIE-֤kŚنA zQ:{݉~/_w=UYrɈy#ؗ"rtI? EDgb5g7or|~z덓Ak1UwF ҡ75-7&msV"s@5Ƹݻ8{?{߶-I?Ƴ[bl} `=%4KI+T1'%|[wuh:Bv ,cpӎ WNWuWr.N |{JVwdp{`qk|81~[GCՖni+_ R}rGĐ EdW{A!sAȕ%qQ^ n鵏^o}>cMSnIǡx~d|=. D ÐAvtNezûgUu?N*o\<ʬ]Z9Q IDATr׉4S^*j%&Tֵi5޺D.bV([ffv]/pNdy.2, z0Len|`,M7iߙrx~oENLJҦQ4# iaSYso6lѠt @%fꎯ@'Zܜ}4{xZ F T 7 Z?K(R ta "ouGrv݆e2A弽xdU3,H[n^4|WJ(KC'c2o%^62)= v}o{jbWp4w]9"8c.Bh7uunic2TvN\],5ء+nI9wׂ@t-9rqtğLb7޾$zUrv̆15QpȋW流 |#fok:sdxtvU6d xP״4/OYH(|k" Y5*Hak.`tG ng&벶R.=i##pY%7e )x z"u}-ZG~8nܮ3ku)[{f[Ϋz9YnEKtz!l*֖X*[ÜQ耙1t6$z'|i+U^`V_JUˎG] $D*d0 *kG W# E?@ XlLgu,u`{d|{į=>S,6~eKM=uϵO.oϿx0-JH|?ngw^tݛKDe泟~3Ӽ|~#lH[po`z5O ,x)GGks3p]TЏrhEB=(5gT~?jvPu7pݢKL?egs̕e^u21AE:F1xTsæ}"LFI?4y9/ʬ*%UJ n fMƋ@#llZnhMh56,4X 1ƚU_n3/KLַXrs߯յu4M w68G9 $^6 k2I8W/lg|^i^ )K_3a?{g Ӳ?8lTjܿ_Қy&HyReLJ]ri=5&)EAjYhi+8us٢ ju@ @KI kӬK!U6ϖ~ʥCb-h73R'!<wOզ*2)QUAC|-fE<2l1s~ٗ>{)W'^FC'YPUM$Ynz]PSZ!F@F a@KQHQF<۬0"枾:$Z>MzL&%uBEVT6#E<'<4 hpÁ>Oq+DkZ))KD  %*-5)Hk@DTRks ےBb:-Mv2gh#k͢A?v;?J +wݗҗ[̽>eWu.^s>@Sðf{),fÑҾW•+_N.s7IFlwMY^Jqc8RJwǵJ=ao͓}-.@X8oZI1iTaDeNʹB*;=ST-Gb2KHIZSk (dYQh:a QIz@u O~Qe 0[)ȹd(2RCňP{0*\U 3EXն.u_\}y!J]VuC#˄ xq/AEqQ:2be(jEwy!2ЧR1j3`("}?!EV,hMb*&kYQv Pnj\{_CTR:>3IVy:coc^bFT iDk[&P2AQB4tu&ܥl7 ] dEU[B-U}BRMs}Rk$ >s^G\}&6j%(65j j0J!!͍^H@V18J) Qk!MDHJP% FU-)#!Dex! %GEZUɲ,e]eN>꘎w l͗>z~k5o sыm߸EFm(3Q1Q…'󫛏:N,WBV^8Wi!lskEd\X.uRU]shI@ 0t I}x@ɀ^)4CVybݴH~=5?oL-tZ'g}vDb5ѺO,D;Ǔe6w6M!qWz7}|RÍi;DN'NW lbFxwoj_-6wzہc}[tNՆ*mj jXizŻR&mG?X޼ٍjczㄞdFS|cWL'Kjؗ#꨿FPlGFR^_il9y jE~g>cWO\fNN&T9QAdTQT{iA#U嶿{xAi`QG'KiYaklv6igY([TGe0ϔ:^89o?w|)/U!\+)%ĮmuU[^XWaq4~#R|x[k?k_>ǾhumX9TYoԠ $;2<{كKXR[p%}mA>h>Bjۛi4 zD^[[^G%;-meNZvviy֢&Dv*K]$vrV\$Zʓgely KZlb9A՝FFkE“El2xbN8Ŀ:ܾ\H݃pIg@][ֱEygh瑫--~u!=:-X獢ұۼ#.?ԓn0cx"ښ'f/%Ƒ\P]a!dvX[{Tb/ r#Sito;%B2,f&^w:-yHFiQ{3pcܟAץ v[WJn^h c"-rm*$t(Neo)>^\͊#q蔜R(Pp$R%Zu9Ȧ#7& JWRURտ.Xcl(jYRɩm.)-G*QO'N3K똖?{fZ6%T3[hFϜ:j) o.*E\E2'=++~w Y.YuּkCο2@kZ!ֿv 5$U~4)k45f`K_UM&I NR F@l!"8GНCsDl7Y@4!V3"U B !4&DM niu/R8^.1dPI*u5'?c[è_LN6[$f[q-DK nXSzEQԒ'p|L';&Nd<^YlU߯o*Ha ׆#/1[hrqG5`Sdd=Gn&ɍsҭ,0H8{W\[KLdM?|卷 /^ydž7k^2ha,}O2O/.)ɩB#n];8|b!u_'E/ѾLz1{'x IDAT6L+!NsZ;qbj#/?K V^} ">>8g9=3"?@w2.o 7xtiz}Nd_/etV%X1v>Z]iIsϏLXwʰGL'Mir:)~/»[>d3So7~ճ֏Fկ=zf.*;?/@Ϝafov~2:mqb_J˸/>#>mK߶<뽒͖k[i%ޙd}DG7[kkuYcIL ө)4~ v QxWE֟0K~9o耍LZ$)Kuf @߅NE TKs7t%oxacwjY+$# 6N_P-H Jn%s#`cQI(EРJu&VJ"!Z+qR5`p=XiWElڡGKAx!(/OS5}d" ??wt9Q=`CGiax8$xv5cq<.^~,Di( a.2o^]N.}('(O~6sM,eVH8eM7Nۗin6s2 q'7BݙPogr>ڕ#'Gw{4sjӄ;O֩'{돒u_̣-_m>4?|? K7!ID`㇛ta<ۖ 8q%i]BOѬ80ȇ;Cu/aqgQbqlo,s[?"AZdhk_afAJgبXƌZZfʷbd{aYlbI!1magx~8~p]&7ae1MӵaIVd' Z$x[n-~nM.zԿMs3>k6y~(lZ&ٖ5QeKqUTCֶBVYmQ$}],Gz_{Su aP~DJ>oI:43^W|"b+oyZGcKa G5ˑ򑖩M:jom/#3{cm~o~zȻnuFLDJAXˢ?vZf:>ke((/[vg~c-#"4*:(`Ef(uv/&`ץn,xLo~ 5Zqܷi֟$ҀJH 55UG4샐VՊ R"(8F@H 6:VDz,:h-ҷ{I6=EkMUapu}on,i䓽36 R~H xkǙ&0ۯK*f/N|Ak웰bȔyP`ĘW/2ŌӺ0(2Id,]I Afǝ%,k9)QT\RrB()18"xT/-jԋG(,KW[QՔ)7< ["臣lu 3C4/uctvnj^IeBӼƪWU 3fQ/ӵQ%Rb'X!WNkMPľB#|mCl*_AhԨ@!!Dn@PѨuWW'Ps/i,1 CU6RD#Q70jLi#1 n4{L੍o?M'i}Pş} |xt7R$e⥣h`vnO{/M3=/õKWu_T7Yl[G8ݣTXg'W/>.DbD=g3'yq:O4s?arL qlW F:'î㊸*~IyfۻQ+5ڝMiEغ;?ktZ|ty^Tӳ0.9V] 7Il^DE\ʓ,x|?|+f=axRΨ΢-x~ZqF@ZY\-:"7WNǎ;7w6g1]u2oȂ_W-o9;A,7h4ho8n6m͜>IhhMN=&ёqM[w۽*+|?<|!&tGA@D+jک&dQst\B6[Y6ĴQUZR; .fB)QsBNŒ|,eUCY /2FJazfehÖwss긆uX&QMRO_S'Vb ! 7eY Ggg>GтjRrG\O=O}me}]y۽vȉǺӿg',|G{ZZv'K&I]Zx̎2&;u\XU$|pF>ݶIaֺBYǚ_uX5v7e@I)A ڿ޹A [j TZp!xԜ+(*ADE4jiQE=mTN 7_zV+|0~Mew?Y<7u٣b7'|!ݻoUyrpqA<pB?<jvfE;ٯtŗli-$`!:U4*sZ}p`}FN/Y áA\e e5jl4F\Nmʴdirϴ7"v1/VgBXQG-YPpݺ?m\={ݗO].lպrIupnҽLΊ RlQU'?hWf`{qo}BvRk/&ͥb̅ y$hB# 6A]E޾_`Qd-8gEmZ˲^LIWKg?oy/AO-y'zd|]( I˪E$Ml;}Kg˂\Ӫ=j.jpԂӼ.2-ark;ݝeo`$5 DJRu262G ^9ehDƔRs0B֌1sALV+֍ҠA"Uak +ڪ-$)6b jɑμ7iX o y à^ihn߫ +2V!@UJ?\+c+Ϻln|ZAde$z(jt5fJU'KBVRbZTRDB=7L w^ j2ZjhqtG">3dGK7"%{p=]N]q pƼӳYg>=vڶѰl3l y$sJ|WgsFA7Q[nU^_Yē^tҪg(E;l;c\Β(d=2qBn̓MD^ qr^<̗HS1;wwd`VG,=zt[9$hdCɐXMlz:. [~)14NhQϲȷ“$p^|ks3z.Y&î-LJY޷_A}N*wa,C狈4քX2/%jyde!M(Icj3DbnsY~O& ՙI˔TkS@ < +Ye֥bqV6(JKUy bB`$V/=DCeveL$ ):>2ɢNSI%w-9$}/ךEf.c[KHeX2;~ 7V܏ލ'_o7vَt.Q̅S4yQ7NV"'V\"[̒G؎ݧL(u}_흔,,R,w2; wף`Z+)8AUYʔTR45!)yg^e<+uj >omV' 7on3EXyAR~88~ḢW}͠j?he:W諑*J9On BJ+DAP@Q %s:M4X`8-lԪϖ?=?)~7q-jQCEK-mJ O!knludM.LY^;`k;I1[ȝC$D0RB@p?>xdgo^1B $ɲlI*HnRZfQ˦FEɴ,Whצ*),k.! 0+edљ?NraFQ-K]{6+$w\ϖ@+l[L Mg/vhY9.eYTsQ2Аd9W% _,I\TZZ֌ye˭7'f)dRo'% ,ZDH9 ۢ!QܠmzyV̲z1ck>A*-x̐1ԉp"J+L GԥBejEh3-3а+7kut{=t}8a{-7XZچ2zmvq;[ξݭn-]]=K 30 0LU lECl!am"Y;""[B1a zz0aYk=-qAJD~F*{ginE;Jmλ]2j_gsKVQ[U~ƢReqn˱ L:85K2w/s>V4¢st 9Dhz#2zsY;VTwY PwK}!+A΂\j U  eEX!l0&B0"$HTZ#!%IB5&})%@*Iׄq!Moiu&9emtg 9Xzkg\׍X}qrCף[R㙒p}G\~Y LH1®eDe۬Q]Y>pdYF5d<=B<˥ha0zC72ӡRҖ?:yڼx;oMB" $E텛bB)&AYYJ5=|0F"BX*@ 6dyfv]ؼSLɤMƽHa"1&ӊ/~*Q9"hZ(5Kih%& +R~GN,#Pݮrn+Q}9.L~'%(@,TR{QN6)ͣ.Kyo<ԏLT ؽSDH¨Ps((k"yj QY[#LZDkXR )EpX-P`9UIJ 3_s wáBNt>F1 T۞yzyغMOQ?j3NRlJOռ4~0l{'lR(+ r<iR,sv@m~L :AE+`)-!Ksp^u퍭!60f{kP횒-./vP#6/[`BYĴy؎S3<=oK㽟F?Ǻ_+K4ƙ2\2FC6}\Ɍ:)>!:7]aa3-[9+MiW/bdֲVwM{I(Rs 12DٺiEIJh g/ѺKh4(-Xz:ds|wseb ڭ{)*I  ˣP,v BxD=s@HhZo }.8hi{pw/'R-%3a"~(1/r-Dae|m1*}qUv]ĊHPB +DBJ#EuaY&[WH0RɛB"Ίb<~j.s"GQpu-W+Mq:Md]kD'G]4d9%P4Gec"X5j'K+ Γ<_awwF{ q*5@T!`A*늢 L´b'iqTVidJ ͍DUJU1ĖhڋX _B?zً}]:L+%0`% ,Ysvpʍw_ G`Db0bꫂ2R&i˫]9=k]:QOGMdA0 FgRV)1Sz=UѓdFy`]<6`Qhj\"*ĄS&dodŊ&3KzHQRCBLXkz}qʉ#sL۲2呢k,o1nOŪcjqTPHM#g(gi%ҨíW%X0TێaK ̋Nhky I/(i. vn(rfKg#Y) £ō,-G Q]j-I1{۽F]g2E)isY ~J";3 e0Q:*6$Ѭ;L,&˱xENj1$%Z ,oҸ,wf%]'vZ/G?jjَmr`<ػ1@M^cQ E[GZ9 6 ihLEQs5[-%I2.9d{=ն1n4⋪HiUj/UWm՚y./>5$W`457- /%vC&XͶR wqtjfSf^DaXԸ6=EUl\߸Bf0IR]%-ks۽f%#]̩iU/ u Tm.+H;NSD9R`;c15iքPA+'WJکc0.1! FBHH@1ɤI)Ĉ1R0 pQb`Lfm*1.܍~?uşd?q48*o^i^)Fv;:v˱+Q ENz=fk9A lqm~;a; G50/!ܠXUQ!S*I*JWms[!@bb*0 B2!vhǩKIJqX0q˸?>d}h$KFk?Љk:QDR(0ڊ*[SG Rpv_ӜӵGeݜCh#FcnmHsOٙ%I\M2/*d֊,evKI)4w ^zql)JHNsC(ᖊq-(9 漩005`g;O#ՖD׋$ -Vp2j~^_HT8]8YLA˳J04R0Xl.Nwdzܸt"וAR@aȁ<7HOpd9N3iʰP+tGŕ_ԄL,.CZE5r}1JF \FhvK(#ݏٱ%:^:gs/J]"HFW;Ĭ<Ҍʌ*Ys.ʬDp9 L$:~ok[ϾKBluwB'?6?xyk^_Xg}ߡ<>sT\ґy%oӿ,n{_~▏ռ2c~/kIw|ȯ߃n7!{7}_7P̍seymF>1!噵5@cL:cgN&7R=F6$*{ a9amLuVW\ϭFgTQ"~#V t) r?sfhccCJv26Ο3Zt~ccm>9 ؁u$ٵmll&m66659@hi??( 8: V׮96`ՠЙ5R"@ll<VV+ بU)enyV9`c#ؙ|Þq6an]}Ͼ'ngg_ݺElE}_k0'֗]W1͛ں[X}hGߴ;zy~8w;cِyzۛr!G)>TY>s Ǐ<ܥk0>qvG N}AfI o.n=Z ò(8/6g\w(W~!YCqq.elSe"fR|xJ/31Jj_syG-;8ַKAjij;^:/-?-j-[_ړFt+C\wɓCxwzo~Ͽ{<7?n ?W ?޽??/s:{[vOtojý^KoaC3GS|֡?ۛtW~i[}xyݼw[/}ƒX=T_}f(_]b6qB5A煷AC_96z 'EO=qaQV[޽ôOʿ'>)нW[~_~xuߛ>>YZZ/@ٳaf[yOlIENDB`6~2ynHte>3$%.kO>mMKhǢ&W'k GNoaj)һr~n`6f{q߫*N0/mǻ08p! 2łlQ.{p>/Rq7^.=Op\w]$|Yy ^ ?jkNPH#lh| SDnzJeqo~F<] }{1#Va͜3h=}Ԁ0ūI/ðxJ&fiwV(4i.uQfUI^6$ 71mʧ'b"47!\ `aڨySVcRiTj@G^HT퉠kl+9E]}{} ޜ~NGjiPG'2~ ie|Mٸo\6ybt#"~{q5=&$+@~H44RVt}LVD{XL Ve,6tZ)NUy#9GQpD hHxq}kec*"pT_Xk'ܬDݾQvrH~ܢ㻩{waBaCİIvEO`kˀEFA;?ƻhy4=!|jxPRYIZu |$ki!29a3.@bR+l)WI'y"6)T{fߦ̫:*l ]n[H|<#^U*J'7u)|RoguüHdy v'tQ3эdz)J?ȴo)ק 9ȥYpAw“DK"4-u"xh"ˡq3Z5PMbIၰ9+ MD%ARHnnUh!pPfWܨޭ8/唉?wD 0NhcsWiv}t N\y=t$̻Mk[(\()$WizZk~~&\=+SZEփ|B2iܱ_ܢ'e[aQ-Qb?=| %<51IqQm9-ŎP1PIe-FʬQ$Cbbߺ=W(𓐔wKPe$q_جuo㍶ |Kh L~QJl)RίF}Ԛ6}L%3>Uk冐T@D;Ip7+u<;ptL[B:`o_c<5'ţqaHǟn6"Q9QfCa<?ɬ`$wo \qec\n)!S`:EpIQk"{4"}e$]ZHN~sw1LRIC^ [S=HwJeKYm8˥@OvXLgcNmLWѫK17qB >v%a3AB/,0\R:Vx} Β{맽eތxDvE;B5@CcƯn>>Fנּp }6| 7:J:$!}R8<Ɗ:zbzWy( R^.teDZ:m/tnokG# 3IxS DI?3?_߭*^8 8N":[ued=DEĥMS u!jau:,&M^+A6C3>f^ !5In9[K Lu>J%A=>kG A_nxMM?cRUyB)GpÞ~'@48/v2ϣyBO_&#FpC]e+;HɆR,]oǰ H LU<+Fwr䎛7#mɥHYrզսvdf&f [iƍVdMἔBA11_b?2ee.H A FJz/F!c!/. O%5m֣a)i1C6/&/{ &`,/pJ?W7yrMzN>Ct߃~4E*$/̅PP%2%mR"BX:hf&`qMV"q IbnS_H+_!`!B!k:i5uWx*N6xt"[wp%E7&"+~bC]}#d bjVWXBZ1 }֎cI%- gG<њY7~]DVI0 RB3 Cc8e롇M'x~|Vp75[6~կ {̷]5w'{R)҇Ќa~Z#0~G[J;Vs.(o%Pؾ 㕓咗OWV#cewa(0E-MWhӔ jDEq.Q蟃n"#9_7Fn?aAmLih{8WK6U(҈8uB8"ػHDo+t?TxصGFk#(ԞZ~ѵ2Tg1] l S4:!AKoG8FP,]hTz=CPir/Jg|[twc000_~1Pu`% !3{=JS(\G'6ӯ46:3 wMl?+6i+$ؒJl_<*5#.Dg0Zt}PMւo޵9Wz9:όn%u]=4,XIF*\,WpB)#zhWJ1.Ftc`xA *{Et/E1/3.VZRYB"|LdzuQ[/'TΓd6ק+8\2ГvJ`2jWcbVHwmjb&z@cU5}ol#Ga{G#RC*n)kj%҅3DmsܓH>Ko SHsI]0M({uNǞE(xR)l7\gߑPV F4$ _W0&.y.FW$ fb&31! GӔJ986DCS>CᜢSʣg2_Q# m>`ٳ~tGdd )9ρ h%-^y^.A@ |))i$By[-m+VǏp^7@k?g?-b&b>KtB^QGvҤ3U*=H6pLCHuҕĀ y$.4D7)R +x|8,S,`[2I; ?Q}Э$k9^*6 @?,Wjfܨ`]H%3ֳh).){|)4^+ƆJV1i)ƱMK&QIRI$_iO[ Hx>n/ z-\ o#IBT^g\V* jJ1fҌyE(- `r5If ;NAZSPMk% @UY k7݂pZ7 lU_(hfD$cu-'~uAQ.c0xs#Z'^``ȞhMDv2d$4?#dk1.T ?&ؠe>C@ d!:İx}ƶע(sȷJr:E[ g \HR =ma'>xʬ+Fp$ cW18|eRxNb@_pCJ2co$MG ֖k PuEǩn'g^d qrzo=dWwĺ)J@Y.bseăqd9Zg32 ͪ h#FM{?9Xf-VYke[mNoD]y7"5m^Pcf ?3<{;ݻ)ȓlm+}lmD~vk .j3q &5o(W= vFΝp(jV5@\n \%K! /L]߅ejzanzp@,UUxF6]Ltո ~S1^^?J^ 8J`dL_1!*>b|^Pa #GO:;J5L&=É;9 r%K <]iϐ}(-~l| Z>]U"LYE[8J$>gLa*b_ݑ#|Qg@8~YdM2;ͣd d^1)*̚c7mw~OW@&]d׳^.tE>a&5) 5U~=,89nƀ@vcNzA4sNJĈ$uVCXYwgj8:N?_u4{'5e]6YNnr?͌ʳo)T"X {R]_x"6A wKCnoNv1 *=ة:~.d"i\-D0jI!2{-wՌHIzrL-85@I +QK^N߿]޺YwrJp vlis 2Y%>k~6~"A #(_` `WULngIJ4UŏXƂEhҝ;&jWr?+౞XE{pFXm,|7M;b1t; E6dֶF.ݷCy a=R &Px1تzZidh^u;7kqvy# d`qVފyFzaV'x)>}mCM|Sٞ4O|{aՖo4qG6>!2MĞR dJg?7H`ApВ jZg*ݠujzX )7P&aJWFAIz{zl΅<]#mu;_~@(ot7M/,ffrrMC?Mwӌ{VA;wxӷEaH3X`(}QCMVW;KD WI]!,mh-(1^O9Ћm)?gJ@R3/F };Z1}3[Q};m JhDr)xFb]Xg#,gl!G43Y}tzm9`aLvܫc̸vW1gN!~w|P"9$k&g5^;TPFyc覷*kPJ\ronϢ:}C莒e]Ys\zE#"'T6c:r=:Ⱥ Ya jFa*Wv܆=?E⤧B [vi(_58_b詜0gv # [`vŭQ_–3&>rxw }6\1$wYe`=` uy݃naao5RMfsK';3PSkT?~|ZjE^.'⸼~;ʲRS/2p+U2rcIl}rKcew}SHy|X,l9+VnB\hFUŧ~;3abJ&m'z ?{ I-Qt MD?6$}pا|424쬘%1I)|MBAXX]}%'UxA3قPYbѮ=SUa ȅXvC鎞FEcˇ O6M s]pʵ*׿m)ջ;]fmuH P֟0q W"ñp"#RWY Q x4B8탫Mghpúr)}%"$YmQ/e3fB=S?#؈=Tc<'OGQiyf{wuc]*FGG `zfiMQ<Δ[4MUqDW%vJ \+¢{iݹe>T~L}q;P_˒bĩ 6Sb?:]% n['đWDžkkz9Ibn= YAO=i={2Tm{Uު-4bڄb'Uqki **dYX?wۯ+[0]:@Rk;PrɃZ:%(4B^C_8^ $^4 sIPNʜ ӟRۀ h]p=XםSŲBi՜_i lh[Gr^ھ zg/ˈSbQ ZnO5戶*npƛ P=84_|xka ^}(E43p ^F'J59I\aj UlfNd |oLD-9!Q֊TͼO[A=7ݼ=@G6FӍz5\b'gh1R o>{?@͛35]t8Me4 "R3~v i @7Kd{ M]!f=Xc43v?vB:>Iɿ$gp5 20M-nՈ՟afӃe`JO֤G|!6ښ X) M/ !X]GOE_\I3Jm@_!d<w;ߜқNeC{5 PMd< /"M1؈ l>y{{xE z&HUa0"Y~X`M,<xU`!laƴ.+^zm&}wȡ[共71oY_A0+ Mu5A.$ۑ#*?&/Ž/"v0M+q8gV+N 8{Fm55U܀gmH+6M@e\O"{֘:9ջ.gb$B؟+%!mD@vEKYg%bُ$bϿ ?; ~P'p:Īf4a`#P7+6=*& /A&GEU¢i) >ЩZ'x:. cʼnJbIL/oQ*aKB@ԆT@U}Su-ùK'ߧ{j[fduEsU<<8@?Vԁo8汙:swcnŹF ;KQStώ-v >r3B} O'^7ϔ:!p9h_isގ&Hklٯ˦t1ᯫA̋f91@[?J o6-w!D ]⤄L TnGwx.~Q# KkB]*:JҙuwE(P plqI"Y:tXt.C i0"O A܉Ju>/WGP-짘`)K$I-e LkD#ZKDh%2bRS7cLhQ}4Cldz/Ϛ]+SNN=FS?SgƄ7NCɻ޵WGEcwWTY{w#[A@ +RVf*7NDk3_wׁ{=q;"GzTKM+/Lf^cg&ek;Zvb~ %۱w+Q"Eiybnz[| ?py|'wXo^1v`ɸ[ɤVK(W}W/)F+R h8dT+kW1-]%AҎ*SSviIxi,(T83 ٠݇$B$xǴ;ۨ]T#*cU)rL{DSHDOkTo8LBJ!T,.  JDT ?˕* /TB S<P㴵OBq~VG0D+&(e9O;#*~- v ;$ I𷋭wr5jV2Ӥ\5ZϵYkwM?w"Yt3J 4Ѥv3#["Պ6tg9bboyз*- W%ɪG&+&|aLEWr뀟d$8(d4Hd⼓CO^p7^vQiw0Ezhj;8Gv+aqWTq>whAT4h-\%{9w|xGERӌuzp=}>x ˆ{b>]GVf$d _5;Q)[yxiy3R8k$ I"249]K(MvDcC_j_cSN؃Jo3-[f[3X9jy| Vng ~}ƴݮ{c{ΟYk*e$x>]3V'~* '.FZ9J)Ө@ >e(ox<؞-Gwԙx|}{[N_1I?G+vݗ2Nq֮q0(q/!7p26*DfV>F~tq: ܮy wBnos~s,-z+"K'xFA>6o$(*&FiǴO~Sf| > h \'H–iUXƨKD1iG+ 8ѥ87Hb!hP8m4fBO@ B)o#сAgj8ax=Thcr, mYLf.mrB+Tk CpuI#EyI,]hxR;ZlY.YW9--FDy;n#l0[*{kL#a3Ƥ(KUy 3Q]f6$)yG{bH:yX&s .AW"qAE]qjD$=҂hIBɫW N Q/8fkŚE< AklAv3ͳ5Gm6|ςϊO$&].'`j*iϏN* 8.B^.{=2;Wn3* `nD3RzĄ+SNC!),O=偑AoJqor;i\wrk;d+Ь&Js8g 鬬_.P 0&sEct5k :Viϝ,͘lzg|R :m{L Z=+Ӈ\ ; r}Q({*nTu X>`s-+ֶoϮё.-{mOnq1`7lG;a^3Z"HiDZ#Jr} MP7puYYcJ0M<'6!z0qV7ŕK_A:7틟bLҪ ?G *j+p"N-Ӣ1RY{gp|'ڼ! yH"L|Aoc59sn|G{+?I5ηy&|Pt{^'yRo ȓ3EԁȽGLwCwOGv[}v:ȷ@?nTcBBm!g5S9.9{F#ݦOtƸ/m/|X-ΧtvX+[`}3ǵ %WcyL2"-.\RcNWj@q56r4z7J .\J~"KgTLJ~\t8KԖ#fffffضْ,f13b,ffffY<3{}o#6ή̬'rN2,^z1EC> )=x=N irϢO/+iSW @gKm&0e ՟܏xÛ.o/9m-qVI|K #B1իޜ,ؚWD|gf4 w#Tt9ot$O;7DMT|BTGaӶ<|0W5ҖЩdfQH4ɑO* )2.Ii'Vx_7R0z0|x D14YCM3'*loױ>MOx1zZ*5 !/`O\W,< xyH>/!>͞0"0JaMDt"p"Օ;{xf߬f nic!yrЂ<`R UVOpVNE뽦}|ڇ` |Z>NC *J^tݺ{Vovg:\ߖ4ML )mU u+#LO/v4U #ưP*W5@.疐6AZL9Ϥ,B Үv|sF9E[RmOD؄u4.KE|!ǞNQ**Sp#De&+$>;Wn! 7g'=oj}S:= "Dˁ&o=Jj="MtMw8u,%Z#@2d81+=o:?(X>֔xD.A+b ZC HpL΀x&$6XsW:Sq>ceS2ޭJh\nܲGyqK~ΫSјoJ<Eql]6}ۑ;>CsW(ꮄw:EۓPZ6k (t^K C~v!Zk\uaȆ@2Jxt dU'$H)JI/"PꪫpNskulPԮoeݵ JgZ9cBz4cj  .@A0{4pEP6 Osچ%"<8ceVBT(fڹ $(aɿs@Q6 DʙEOU)0b-Q-֗0oOl|`&rL>?&YjL@diPܢFq Ǿ5}6!dfY' Ge5D\,\"RhĤNW;rzIpG#d>&wVc nl)jC|yryQ\ǒ2BhIuea^=`,3lc%Kp獋sAh03cSDg- >0 f^E~"Gk FXh 3G "jm4] 9^.53j^p hcJj PC(n%1䟄 5c[E: "YH 4xp i{}óUR"Mڙ<235摄,wu o)'IBJ~(,!/w`z(Qp ʡZL$K@`aao>U3.x 1rYwl\AՏ` A|i8]LxX'ŗJ*z,Kߓe3G{?1I8aX銗NJuC99H<^FSL]2yеK]@`7ahŦZ% 'a@IBeb;fgѭ'BE2/]t48Ǩى0"0C|06= !{.wSVmo@C))lڣ1枅.Ug|vt_S{°=A}(b5mg/ ֵIP+$򂥼^m-beRt8]<$+X Y|*H~o^ֽuT k߿q.ҳEN+ըWζ(Ӑ9<Ŧup,19inV6# BHvKOpnq>bri:ƊPeffb,4Bw@X^ dj܈Psc7/18DoknL9(jۢ%N}](je\k7]RK<39AHބLu'PWgZK;uDK2Xti`S{.\/!ai4MOӔޤWǣ&}{jpTQ98 Z" dH5JlRClcl3팫z۱&oEh۔d](5|fd#e!5AV̉?vQ퇈bRc=Dލ^9jE7-4xjgľ:~r&o4~-"^1 wTU5ʛ:b'5 ݮ#qkCvl!!Tj_QKjzE {Ù:Q@&8̟8p?n!)˨gV20O@ٔќOl:<21ƇaD22Ix$:0IL_iu/G$I}~"_txܱQ5B7m}zޏS]ʕ/}BY  Bbt5zj:lj@4nbkrahXF1)߇KIV |#-aT=bٲmXg|iqS[2M:~XGx{Grf59ZvO5~d0fRK[o>_fo ;6(e<^WGyV_ω,΅HGd:׃X[-/90@E&EQGS}FY 1P<۵&߷K~;oP#KAp{ysns:qʰ{&( R܃BnT '!|jPjZD(x L!rrTwD#'d~qyba4s*Et,~?9Lݟzc~fBZP~A<+DeMI'MH.GFue"_d׽=Tp_Rft1iEUtʮ'iJ-":P4Ũq8^+ d*4 `䞟ǼLI𡃜"2_ߟ: }/!ںl)/ҖfFǙo uƋoxdfS$˨e]T3ˆMgtIdR0Zs \Y}'c#SA:_E,["sI`sM||?y(Tj(6TA VUOD*7,n.r|#YXd֌J^zoҿu#2vJ`ts?Z@ڄtk72H9f1&@E׽ǐEO6hG4$ψ%S2nGU5pL@]U=!|pooeL=۫?Cm蕵(vg xI|5Yv=mi*Cw)W&ܒu kjA@R,49tUm< t֍؃Yo3|N*zo-=auB]/qlL,?RB>B~;I^fV H#xIp1_}3 U$*DE~D8x6/1ş> Tnp SdRUnF!"ny2 ogMR~^ 59#ς]jckE${[<=Ko#$%!3x"gcv[bo{03r 5!>v>n:'@Ho߅I[Rcd ;{?@SH? x0 YS)"+9pjiרz]I=~` x4 bXx)W&xqhbB9cc 7Z9xtFs]s\otُtE~"Ca LjWu/DWLGfG9D"^HED&kD<nEQY~2 Vd1pbR`IRZj8n BhI̎Ry:k_tC&2!Q'].u,n:jMSi WȽDbiV'h'Y8eInH&4|Fֆ2F>38ߋ HZ p@( ю(w}425~xlتO&Qw-<#kQY_${C%傾t vDb|Mw F7,,"84gUT|j)Yl*6̥8jU A&آO-Z y6x%[?ˣyd[myÝnAǡhU'޻Ǿ /4ex'X|Pi?2(-cF`"8:5צr5-m {al}*$ Z^Ɇ; i˂bz.kH!#=R?IhY^E @LƊ#ˌ#⤲1m!!m?ňVD' +i*aI9Lz|CXug%@kuP6R ʯ4+zNn/?w8߰CJGqUUbro h,rQXl.tB4 t!~150Ai[H4tZ{2*O_չ2bb|b(Le} pQ;?3ԕzM!LqzyVR8VL%3wNxܘ3gbׅ`af%Ju7H7!W^+=~ ^i,$qrh(;J9]r,s&U&"q4lj\d ʊP22Ր);bwiRpȩh8 aqeHĺQ\͖]V<*x[DBXk$Hu>h{EH ]?fE3uz*mW++ѤVwU$j2f }bl B cVh9kbCj>OΣ8kgo_*KdɷڏQ^F{8JIѓ>z<.N"zxҚDu@?0L0Xp@K$UJSÛHܑ -ǩarwnhs`e>, PY4OʀǟyΙel3 Ak7&"ͬCPXoqH%Nbe-L94֕Q4ݭ7v7ΟRPF$gTKX?xQ uᇕ]V]il㛊zrs"] W8J%ޯGzQan?]5e$Ͼ6|/>utu{mAWapL_KbO09m`G޺GL|0Mgm}# W0]o ~C35߈gҕ;4륓c)XOBF2e s97ocz`SR͵+?o}Mƻ\z<R !p*/Xw90)G"ޏ?s!ډb=޵+~,ζ^/ܹeKD8 Jᓒm7ә+D??fG2d%&^ޫmFmȴ_>7Q٤50]0YQ|/N3uRlcdf3 {eu'{(=LA AKwяf!-mKYz `$/~Jzý .:b&bsB~JBҾR`S?嚘: UrfifLSA} & ]ϻ吻~ZWUyӆH)$O1SG %N4o[I6 6WX;r&~="w\}OjEC r lRFhkJAA ]x4LbcZ`uhc㙘Aϐn H̓a6s.^("pz?@+h`3rh=ш~ź%=88{֬SlIcFDh*N`J ko=FjЃf\;ˆ!n"@2!>k';N@.6& *cPz0R3yGV0:}Y2 +c G1Г6vbC+s䬟`((WwKXp.f.oX+;^]]B"X-S95RʢɡGIEdX+)  PHPww@0q:з4d/$~]&=ȓOf#?bDk3w'%-09Z} r |^ A=׏5T058{p*ͤfBL>x13~Eo΍ϋd0~gS5V#)H)@؀9Lj<ʭ(&VIC\|\<5ʼg _!Nۃhe4,Obաdhlث+o,Q[xr8_r?6h49}"v /2c3 pg_[&ݗ'8- %aʉsoQkb {̝S}t>Y ViE4`ep{:e.Qs5#_HR)_Ѕ޿25) M~t5ⓡ!3ۯfoXw y|^.6jL@*UTuQTS=8 N,[!93kN/.ү}_]OI4涛+sloh;'? ZȺDu!=Ogrrt)КnVnf#P4.- {]_$6#PTŦ>|UWUZKb.$ګǏ9 [ pqpR(GC&a#ƕ뗏Pۅjr7tme(?(2rtM$-QZFJPWSa/>S:?8K`wqŇu S9kݏ_d4eEd~4X/mZ &NPދc!z"@68\S\Hd9O+ʜUZS^fiZ>.uf1! i<$՘*@DMxWQ^ 0;5P<-o@yH si/\J~`[Ӈ|ن樽7t@O@3yM? lQ4noُ[/2$s @*±d*,.T.ִJ@NoNcHZ˜|^FQU-\<*b[M".`L79~{(0$ +O vB<@Ȋ.zR+=O9gg"0`$_]|+J7%XqTBB>I5n^ ~<~_{P/BȒ]Vv+LT sqafUMuV#_Jj=ML<8awڎ~\= {YDg"-3p;suⶎ YO`(Vg噣uiJuUW\_fPn:|4d4O9ag惐4CuBH%}@` m@WQ{?P|ív1]v㞎J:5`ߪ S@P~a;R{ydSJM s&~D0>SGۏWqz+]6syK&(M{&iW/yV_FX|aJ'K$ /A ]T3* 951ĊEffCF>J !0OqoiQI 6B |+^Np""i>xE{R%>Zg{6Ý'sؾ}ݺNfzWS(mf[7nyw)k//#,cZ4쳬~xA5#ln1xK!#r~ ԦR]>~OxElp`mWSBlˮ?m{Xĩ␧!1{5HA5vm3X7}U,_.k|079$pVjsݍ6 jL-~ue䘑aOoO uM!vњ{g kaW-'qάvAWxL"c17s8=Mú1L.ޝ'aW]~=jXUkϕUƝf]8ID A6$o|Voehd󟈘|=7C`?ԋRUvEIT^9KHQJ;&¹fawW}aҽ0x%֡߸7AY/on W#|{jn[C+=C69d>IVWm߳/6_ֳRb㿐-]0.f)Sd0KHO\`YA,,2Wv!!tHS>_ o}g,6;mNne[OӞJ%O`.4n:y<'v{sZnLtTel / ]FȷgWY-’S${!YX~6!KPe_?g5^Hy[:ZzFt]u/G,5s]-rQSٺ~>uCJ{r0Z9A Y^ drfv/$vEU}ŲnoOI ]݉7i2fd 2| y{}nxNX9O@|37B|^|S"R JÔ4`wVC>'௨#&hvYlO z 7:P{s=X{}wɵR$z`1z 98H9̭?qd>y:A?ޒT]C6NםG.!̓G`Īui x~ jbaʼ6}(:_v 'Q[WjUUK rdٟB/uشĞm351 Ny,4OH*fheYkt5a/:Ee)͝|A5,٩FqW="Ey5҅3WP¢U:ҹvkCqyo?NAVh۽k$XzlTT̹5j D{N߁e1+_tw4G}{fWj[v`Lg>g#^ƴ$󗗠v*gz'7ij[{qq;6ou󎜏?¤ &On0!hzS|Pp}C>; H1p!2 N`MSjqpΞ4&VVNo-9̂VeB* ?MJܝdRD]5v? ~3q~'5xmTžҮnH5wwܲe#`Ps3^X:F9o~_{n]䑘X y;}AsYw u9TCfz@vqV$\_kZu\|YhY\{\iild N ?*&0%.Wä҉p;ӺW]_ >'Ga ra IH:%Q9SV4?7Zg c<'\.U\=`*k _Z@j'GS MgH$'j PBPT_<렆GshVbim,KP:%!qϖTB@Y-<2|Puc?LPT2 ϣgE*/ o|L‹#SFg;; L d)Y0./4߶dp3s'A^3#֣˒('s#:CmH'N^ϡ+\*c!q?G^_騬 Bks- τP;Zm喁a=|3wYXWpI`CuKhcQA(&]yK*@J>b֟-xGu˷;F"H`CXT;y[D-[%f=SY2S<>ߞv<@3:ci"/mM_V6Ųm̌<Ҹ ?PoQ<|ݯ-N*b6%96JZ[m d!UH>*)l`.ʌ)J\[3/ki(۷o݉?(kP* CUgb&_r?oX'ݙn V\Hh%7N-<0*GWNA,Fx`xHMNŃa2ɚWlA\ͲH(IQS'?*#r*"LidD~)([g$ܣC ZHByz톊4PQYn ڐ Og|4P1"FD1z 8#Sp0[@26sѩ3ⴳ 'J2>J[c$P/pSb̈́GKsYZ օBOpXfU54ǒ%M̄Z"#ʙC(g󊨐2Tż H!1 IŴgGc) `Wz^ݸ*+= aR@ LRiM)a EQ͜aaq/4 YxYؗNQKJ%dl[c%sP7 ,%2,U l@pm,Tu:xhe=Z˼8bE}܊ Uu YL4d=GP1dT!=Ai"q?:H*T:HvxBڵ3˕]Y mlp2w+gq5іx]݀Ljqmpm36*q%o9}JYabzhdť PX_G`A&99k !Md ß `CS#'Tbu 4{m-?f$׷ZM{m($|M`:Y* 䟤h4e0Α %2Pnوd\#0aeJ'5|hgmPLSS[|BI[l2Ѝ+F`':̩on{>VMZ|#pXցl@gST3٨GBMU4~Č,R!U֌f(>OO %$4հC,`1<'"׍wBʄuo>Dp8u)Dнs2\ FxlZ獉p߸YKrUXrtxOTmf!<$JRH(e?o$C˼Xd="pL =3Y#`S_Q4|o?NuG%@/MH8Tծd4 Xō6Y%4,Wv(Jߧ% x0(@W b#x7JM(romd tQ9\8XEtLƳ!$gA.>>gfd~iid/APE )X9렒GR-R/2R(hځ mp Nw 3@._jwﵞuT{lJx3=0TlMxh6T:\f0O<4[BCH.c6:Jth#&Fͪ8f5d_ )d"%Fh ۶xdU8X5 ajH,*9ec46+G%CT(J{!.lMFF9W0qS_&.$0A£r`֙V +dlS&V XEb鲍}dg<𻻖Bw,K<< 1YzCNuk$v7, v(\Wκ¶z {  B#- ٬UZS lfRFУ@Ǡi={hZ3spI)~+2{Fd~V#_ VfwBz&hlpoe 6QILT*I0*FVDƝT]Xl|B!%fmK8!caBNIEXKZg=$RXO0Q6ԏncf7J FX?p]8^C.݃)$]~)Ǥ@}J{31w!}:muQFYD2K(Ti)aj4,b1:ѭsQKJe@`8T %FJjK7 ׈v8SG+sc.g'ycԓ/Xpq9sJtAΑ"e8|C&HcHMpEtBd:c:Df@EX]yr̟0Icx$Oro+~ݲ^AU&}B28L-y4vW*oE-2˙2vh*G~ae 8ZMoJYyu;=2eyl?SVfU Qx(pj<[av AyX0)+k67xSC~oQHQ}m4&8ǒv X`K(IFϫ@vAF /fFKq=Is d@;Ha䛉jjjпCp ,N6S!IOk"iB^gGwBW4mÚj e0!#>rh ] nދ 0LXt懦ǔRcG鳦b asð(qf nHy%bbKT}MD&. qE ~&Mm.d]ȖDW{ #g1O1ڤ۹Ovo:"`70L!h[yEj]!t_VJ""mCA1 MKǫ{9#( &GՀss7e%2FW]⨄jhtEw#6N5;ǚUxzƼ>K TU{3G0k+!'Ii!Ba Sc/ɏ(3>d N{xNdiCPdtĎ63 C9vo|nxO_&C)D\r9m7e߰DJjxaⵢز9#8ʀRz4܌<| `aJC> V'a9{w^eBY`:v!ɼ(MY 1kS'VJ RJ  ӒvS aIklӚ gpn#-=΍ig3&::Zrz!osPho 3*&8l^^CV% p? P8 IqHIft) D [%箞T(*5:3C'gZـӴ_-ouJ{MBP@}Q9Wzc03A:%s?oQ)R,+2zlfb.;Б@i*-/V>AbfDJhP]ʟW +T3rEGu\ 9Hhβ2WRvFfDZѴ̆h1`YEDx hGC+Ӷ{˕;'w.(9zNBOq0yV88]k',P`cDƒYI̩J;49 SkF#KD5s~.(`$v2nYW)B/vss*YڋzP^#/Bf~P7ή2%Rڒ|& {;/zYn.p*!@7hM E[<\ؒ8P6`˯96?8?"DSX@n-y!@Lp+Au@ff9:>+xݡ?!Ҭ'._g7#Yk=n"NvW`88u;_5z64i)t7OQh) &2[Q0ы(Ч\S74J^SLcQlZBayqر9r6BX? NZŇ9"zm#zXhk`fS[L6xrM\-l:$]&^WIz瓵j]$iL%$ok^~dރxW"T(f˃ >O]PM]hR&$ۖ9a{ӕ KmHa8V !6htXE?\Cƞ̏ߚ Ar(%g@Vс؃4==$98E&+; k䰘^(*CI(Uev{q)BUSl3|{kbYa=u(2!Ƕ`JeR P(? kDS$r8?X3ysD ..l 9,ȹ lst6ڝ]\f=%"ݮk⒊`0.X_%f~^{)pB=9#(CC:@ӻsʼnjh<ا%(#O'SVU"<%GۦZ$+_vQW燶IX%QfRyLSx{mT -]'b>2g8crLP60Y%Т'=3눍#" = /)У a`f`y@r2܃b|l$۟М6<,*lTҟ 0 Cviy[Z>T#[0և+T#X#7naֻEevfW1 Z5- q_{); NcUmtr+REcV5, yۇ+:%V!aoo~rŬ_<Ѵ̡ۿr7p|"w+5̚ g0[_)(i*ۺI"&P=xgҚt6ome ~mŮBnjK8g5uuu_A4Ii)E">3;/nDZnlof2 cMh L'hFUՉNWvgG陧ǤK^0cFl?.:QQ D?1Ϊ󽘛PНr P*3^1/كd+S˹pIL煮 S3,fOr?ʠRl|= qS_M .,Y0Vp%Ep(=W x \e\8Y#{BO2IE2T^n=du*DYA-q/`2 V(D+6K=~?b#"W֌*"׊Yu+\@"#? C L`rMDs} > n겸 IgY$No=߹y{_9?UBQZ1= 773:NFƂw!O ;x 0,ђVmiˡ] ~%kc#oؾ`G90h[Y[$7Z+gcԿSE[r:Tƞ\`3U-iI^ԔXsJ,76y93!tWKUDUe^7H$I/"u:=51UME_Œ  ujߝ g9gPS??MLz(~xZJ4je] 2*BQ!hf_-^?8x>(-1")mSDDS$\-\jd,~uakSGfPa l%20b+v)x&" ؂~ciU1M %|_I(/ 4rF@(߅S?t,PDFws֡U\>-޻Kg81 "J$6R!vwعG%гn*oZE<~HXJ"Wl)knZ]]N,ҫl c:To1خ]&rt#i{g&\b{7J%{kGjhr5uu['dgu[`=P?GOZ^D!;C(MT?q_ƉTLYǼVH wPh4iFp]עA^bqE&XDhZ[2 'lL KJ'B˱%JpC 'Xh`.Qv<=޻S㊠悐~<ܤu<-olaᳵo#m k̇ H++dmRvjD骐RLQKE-Qoޗh -I墍U5JyQDt VA&fuKrS!c^u҈>[V&ho]J9y'? r[CG k]t{"Mo&X6,q59dT$' `9AL}]0V B ciw+-J{pb᯲N ƕ[ddޛ\O2u! U9\At,T -H)cfa9w|kn|Ӱ؝{ñVIx 'g[|qg@%6߱}y,᝘ jM-6VC\]o ƚy 9=~+3 sgj1Hw2 ԅU4缜 e&Su[/ю>M GY˭v5.NX:$v4hG-YL /tJ$c8$lR./\6R6+l*,q?~q&ZnXp5s7oa#M*YعVvWyoMCohݶk͌+#"sEa4ewű +Sfw8Y~?BuLcF:eL)CW G&PY=&LO=`4D(]譫jA).\0gfYGx/n' \7QOL y1(:S 6>&V'Y}C#vp{<0}KNs[.e];^zԩ Plb8zwo%)9u,3/ `fWzQN1C8ࠠly`aɭHToBa-5sħ01*Hٽ3pq[(_˗*7tum#h&]w 1ьht*w++4D@O(NϨ~H)fbbWY4Oeax(TDƽ 36gwX2iB"θj4x6;THۋGjo -ސ˷=áwd;gckK'i`Dv;AV%~HmXinU0:唲Vc›@'8ܱ9  3:#Dqe.f4i:?hquw$Ҽ@ceڲ~d.h>w0F~w[CYĉ(-tvew6F/}{{ z݊__ۨ/6QN+B\zQ+ɩ嬋M ^Gp&ZNH&[o^wi|'B_׽{ 1$c&n $-UYTS;N1z$OfMCu(k#ZJXգqˠOx;h'tɱ8%戭()?&*n><)Jv3xd^y(u¤m'lSN+}#vE#b$WŘ_9Ko?;_ƒŴF/e.:ߓ"(&A\6?EpC`<`}[eb&(IϊKd_cVpFf:Ո!x * uܺ0sgRJLzC>ߠ7̓$~s뚶@z|Ec'=^xgwժb\$w.,գ՘ZdN]kYVFǚJGx2D\]>zN<mu¢l~V-3)N@T ጆ<}=>?"k:_Py8Υ&EL<>xd]%v\uwz{B :{Wt|Cyxڸ >)&U_;&AAVf}%[t`$In˙8KqZqIqc{U3vU&ƺF#8l-{?y) n۸t=49v&QߌH`] N"b|)-Z,+z}X$bD9Ucԋ5fKXۙ01@5?U F< ځG҅>9R0Aь`тW {z' {]1jOR7 *"|3tyk\iԕmDk" :Hdf 9}0uL$z73Q"8sDIzu^;hgj ,^Kȥq?}ߣ"ϲ?+tQyazW}rjK"zNJ;3yuu] JyUXO;8p Yw2U#XE~[ (#ZElqR8QYV0QX;$[^ABmzI)>%4;IEi|c~z cbN_{S[oSU?5T^v](q0sΆu$(HSt7Uke&Dy**U6%1ۉ^^B9i efJJX]?) 8:0 ̞FC[?κ)0jýjZMPv j.NJ;ÚGO~V.qGk _ еT\j}ۙ Uz,RZ\f/AM-rGl,#v9g8 s%+th)0512rT|xJS6KQi;N |U&CC鵃9Ɲأb 'JUT,e !Uy14|FE$ M6M)ƃFf!VUc_ay2ަ_S-bM/ X=OO"ݷW,N LnETbԿE(k=N^1f6Jp~̍,|SXeHm waY S(Dbr>?e<(=MV tBq)oC/3v%ŝv#*q/SIp`ɓ荵 \,|6y4{}#gjܷgu  +{MׇXp>SӥVf m_7  F(7lq:1d`hO\cM*3NrE}g,v@AV! S[|!*E[XJTt YHAs2<ﴪomrXÌlT;S`by.Z_.u~v@$3By)nbow^1A\&br0[CϏ %hY/6|P<~E L4%OGxE-ͥfVj'pn̚Y3mEb,t"@0uQ95խFr-^(cHpx} v_[4\orL7ۨFoQӪ]4r6i1ik/("qݑrk?~4)!ԯ9Zv{%cŀ#{ ]]k̲C>{G@.vH g8xE3"CRu7~ǝwLlH2Rs(H;M6zk F;;N=sVL#!\nF,mI37 L)@7gu@<#(V({ rBRQ*x鏗H鄨¦T[٩eU=.t!wrv zae]SNVyNq>i%pZ/Xp pٞAbURzJ"ݣ>3IڪTujΔR{6n3hLnjՌAQeӗѝ-w͜xf[U$Ǣ  zȌD4[j*||@( ezY:t<ķ淌zbT F(?|p|N6cE}(} xse'hv; įX{_sBu}`SϏaӌ8H<֐Iu}@o(tCi_0 C);o=H7y{_)pF >dE[qLG9m}Tje2w`0ۢW8F-x DŧF] stj =D*DY!T|p%}S=MrZPL[at񗍍c_3!{\CbLC48NBMX<OWlJ}8MA1<eU㟕Ҹhbo?X PBm 図J_ҫ65<7 "uR<^q9RƇ 7`.or\>@b@{+#YK n 1Ҧ.3*&D"z)`໹| 蔐iD(rGXb"O!X/X 6Q4QÃ3*+^]"ags7vP;)oj-v;e͝h汞#I:ۆUIXp+춈?mݲȚv4$ RD+ c hBc ;+qY7v{S2븾A|5B]\]Hp0*^4ń1#+C˻`WNUdDF#c+Ϩ /RWE1 x-UWT p“ӆ)mJZo.w쟉ޓdj31n Y\3 t7+[W*tM̀,V^qˆ V8Pw N>t3qB` 5.gT$lMNyAhr [9Bk+"BGNLE|Ic2_L8y_#8Ya)W=RpI 7R]]W}qc.A**TP{vPzY1'Il+A-/?hvyQJ9*HPZ{} ݲH3("K~4=xa8W,?pNW@ϙďpI. mJCI0i9\޾m0lC)|/M^\z|%Y!c(bB{f)T^9Fo9eivwIM46M!]鷉x\%Vwo}Wƨvn; \%LdDμv[_E`Ӌ%^xǷWXY^1$ ~5 :jiHj=y퉙HtO31V3dvR">Qg$^G@_a -պ+fJ|^/ڞ>;$+D뿅,s=ys"a%#J痖9 ȑ+)ghb_ `G39(?Gx!V4=Xli ے,4km;.MSuiMrI:B.^. !3)*jjrTj{-=Z@書O*rgXAaݪ"a~ _OWLa)ixlVہ*fd5iXa(Fqi<㞼n!3@ҎPLZB`JF~dfV!oDW'( KS[ PO ?n}I)yQtNX .F=]|܊V)7Z{ Fw '9SF)iߙe&B:U9K!n3"tDH(I .P۶@ifI/hx_û%po8~H^ճG9l6+&>^C灮_3fZSm}+Mo Dql:W ;Q=?n+؜- w*B,MD O|o; _<cЋKoidQϒ AVfWKfa2wDIsۈW=d>|u3 9J6|:DGrvAcVB;Ei%K+l7ȋАgbB>A~ŏl/?mε)7 / '}S8i"U]ԓ@Y^'6뻇X.C4|!.Iw3ii mi3}+(A.L: UF0-l$b.js ψ*—SS~b Fpّm2dR*i|S%d K(FI~ 9Nc7q- HD`D5KR?*ajBJ#55DCMf.m!aQ&2쮑z/' e;ΐ}d olzoB3:bvπ)őؒu(ł *2>5ApNǍb6Zڤ{g}5*Iof+]{Ki/k&ʻٗRdbCQ#V ck,C6ceAl5Osf]s ﶖ@硘GOPFi߭f; k E;1uϱb% ѾakϷ,+5".JO,; ^k7`u%ԖJrA$4ƙ{F <@ubY}7"Y}wCO2Ă~N,& mQՑD7[dD~kˀ(ȭB:5?ϸҨ&6%9];ҋtNHnu8Ixej\6rIlnzvN}pͱnIr|is^KNwYߥFo4hFbF2ʭvf:8 n-QDq %%k90FcZW y='q=wp?F%gp>'KJɦ"qT3Bw^qQm8U->#Y:aSe6iD걌Sۡj?!7n?cDz]PC5|9;XvDϞh ̏mȈ)6cD#s#Lʢ1aiX5|6n6nNvZ& pS@ڥVʃ53{s5X\_/ԖOB*p74(jjiв.Q9u'?~,{Mo}AۇG_Bh3,9=_<]nEaKCO/jpHJǖN?0sрNS'h)3m2 0[[oxp޿aq hj艭fYQ4&[6yge~PTOBg 8Ϻ@~C ωF²ɍ +q7xG>AxBoʲКEr""b,i޳ \lmxVV'n6Jۺ@GnFtS,laId, sM&O\%fokaIU'@d<{}a-X۪0liWP):z&րT62UJbi ٖ/0wfh,UЊRVq>B%nk1`NY(2ٕ(Z^ vL emYg ԍ:0lی"9c$j. J9_[,^|gB6uUW@?ăg\٫O_2zND#[,Ʀ+6].=Ac8Nk6Q~;󢕅:a _@aU |/(ٜ[QO;S%R2 xR=;+yztQQ]ZBXiPZXZARZYzi$%TDia?|gy33<z(f ;] C {r+6}1)K]+L_#U.[ԯQd3mww~3wL`WP7} &G5 qxM4-cޣW>P/啼b#a ]b6[ǭh/D~T"9*O1gưfv*5W92u# .C7g~yCb"P iM[f b0{9Ui[]Qh /6&bӁPpr%%JȒbgcU%dCƨViаF/^|Ej?,RQu}:mwjZz.ljp l3dnEOb^( *-z N%&3R@0v=Bb=~Bψ Ls^ejm뿁[\f֞sX2`.v# wK4k8Gʯr-w2׼wH{ƛG'Eϧ *VŪG"h]yA%C]_RakhKY{x~Ȍl-Qe O׈K)bu*gV*L>ni8󅴺_=u@]Cg\z2yn\{ėO?c XL-If&okWk+1NBaID57z7{oēw̒Px~bfp@ܾis{Aٷ!L/5.m2{ r!bEOEw_W8t;%ק?Y&'wѰ/UЃ V>T. `eTk#R7s{eٌ]L>OeC+}c78\YrƒUqϹ/6]t8$mda?ږ`di.d7e¦w(yk_<= I$/i78d6_ EqVKN% "Tu?y*y`2$Il,""BZ+bfs^VQ\h[.6ԴjZ_}5YX"3:;TO::Zw|+ [|rzhܓF[ H5voĕ(iEߘb 8n M'nc*@A"aYwn@ڵJrVZţ !Ie`z5Hb^G܆-M{)3w)P'\[J-+41> J{aS73xhK($2左jHw?xwvfĒ XAΞFy05'F'Z !M`'g+ݿC+A޼z_4Idm0K3՗" UI>7ֲ~3-v<5SgXi7ߴ!..i*[=i9M_x/M%|)=#w9z=KIAo4a+F]Ɲϟ^a-Ɉv\)Xw< Evbi=3fP ޣ'BǗlɼٵJ !lB$o)J Y wi^QepX0_/NY(d C&k^ʱpĜy(!{4kʍ,YN0=BF82dNK󡐚$B{ ;Ѯ5h7c@^mbi !zycע`wü~u=sQGK i!ΤE p*a- Ls}4}TB% j &/V,({FxCMYh=8O=Fũ c1Oi~ou7p[Q86|BҘ&+F%f(ρ^L<ڪK8t\nr*"RQNO/ Ů4);dIiܩA J[wƹ[KI<+p(Xf9|Y"~DVWyG:fP)/+L'G`D0y*SBnGʖ1xvYsdgHwdteOUcK:f,$8DnJlc% 9ǗaMMF& 'ADs!Su^\;q^j&Q "*!$'aAIfNǴ~"%#7`{2lNi|Of8*zgM1K5{3b6u u8(UPd*yr~h=A~4xѵiD;};6:6гrv1 ԴnvKlyߙ Oӣ9E?v`&'3a,}( Aڱt{پ`|[J/}p[7Ӝ5sIqu{y_ϓ$%PR@{Z 1ȷN஗ )d JmLnj#>9qqӗw\aAעo4tn l36 4,,, >)} W}KsH>W\җOꈕh4!|Q~CoԽ퍸٩7W8ēy3!dw R/ej@~HF+#CA_8qAQRf<E'%CgA RJx$cRya1L0Ί8=cF2뷗b..zNk dD 1(CGjnM&gz 'b/fQc5U~)9c^6TH2خ=#0c#blNG; )s Z]*`ȭfYn>Q%[!L'1KIg+9 ]gk%|:^7Yǧ '&9"C&5^/Fj{ٜmd|hv_py!cRVh(l2HdXUŐʁD>q]9$EWTkC]=48,݁8;|ó.!m) ;T9\5[X>}%A yEBBWPe"2|O)qe.,ZY㹗RIm"DVԴ'cAEՅ#IӸ{bIxWcק4p94HrHVd|;f[{p&l@ə6dwoRЗ) / {Y}⯝aA9O2U&E3:4-8pBp?륥00KFʯT8HKp*+R!a8oQ'@g`εQԻ&MBjJ;9>ƠS9 o\4{@$B{Ij:Q?YmE(z ^a &4t"a=7bh}_ y-4\@cl̲ܕt m);ڻ;ڿ>TeV\$ !A4 pYH ͬE@U0n{@L?H5 %}߰Hhm`[:[.jr.|)@GHzv;}[N*tݓ0玝?66V$ip>V-0wJ6mƎheM0;Q_#ߓ[JV!Y,`*%.D: `2BV% j|9DݜT~Tz-֗*Ö j tI΅sI5NDp}Ud;*`{ghB+!IA"`R^W?p_ou(t={gA+fv6`e_Ye\$D#B3:JU~_ *@ͧú6Jb8BѸZ}6pzG&0QḃY`4.VumN7 ^yjv7^ʮ٣Z.aO鶒IՇzEgG>y0N#vрkom> d5OuxbG_|$1dREr} vzʟj:˟֗LU>&E6EV=/0_@dyFD<%iiJ헁P/§jw۩:ׇOZ}J+7a{%AԠddCVNvr&+(ؒozZh%w{&7A࣡'@'g{'ᬩo|.؃1+x t.jWwۥ\Z]{IET`<ܮ;[O!ۀxs!7 !PLJ:3=7 a?=۠x=h͵]_w -z B[L9z.ՄSOκ`H;/cכ%Z3Sq e5ڪ*:o}nYb}kspm`ˀIV)!X& =c޶Ω ouyؑ=[))m`+*TC <}L>zzczndb_lcm(} = 2pcƜv&vg| r%o5o镹Y&Eyl|gNu 'ƭvY{YI5G܄GEK4P/)&:VTAćdPPr}}?N;χKp WXt}fӖ%J0X6pշ9;6'ͮy= `Ir}4(}zGkD@R0kRH@0OWx;b3GM/.:7PHm% %9ג*W<.Q@v[w O5[lmXLaKo>54 s1q[v[g^PZ AHi]ox졾j^WzV\Wq; sT׭Tm]AmLUuAwRd޸΄qg;4Fpta +W.Ƈ!}@Ljhq"kɍJk: AבTكfg@iwf#֖e%*\v[<B$yuVBᢙa&SGG!Ȗქ! Y-_9J{ʢ 8vتwD/a< 45U?k~:PWbN<$>Qb8ɾwXsqpjwNO% ydt"SDf*,}?ۍ8OĸOgeJh5MLMjHB,}\kX'Z|+wj0U ]ZVX!Vh% zׄ[O/[y3揯(N%F݂c(hV{|45%~i ~Si5;b.]JsecZUǃѦF|nBRh_uSv7NE4y4YEK=jcㅎlЗ>/)Mx݌ǧ1,3wbBp$6M u#xm\܊ѷO5xGⲬW-ƅUAGXX|\3 WC b94#8C"^B#4솇 # b>4PEE2x! ǶeA5щ';yRz`yAϋH!#е PyY-N(zȱ'̍3׹x^w)u3ȦDً7ߏ>gF24qg$M,Ti*wͧSXD خgIT6RN ꯴)04XR8}?H΄1V] (8LMv u{NX8l8uxI3(95h5J,71Xpl\-(F+rUrvs3_q (ۺvG|ez2''Aq{wBHZҾc~HJuzͻ#:*,->D1Oaqumy|DO~p^?*J4ڔ%g~]~"{4`IT훒 (9o2Od} [Lڡ.1ĆŌS{_'+oXG~?nƯ||gŲ[=0[>}x<^^x| ~'ס`A򺽑1u?(:YoQ)/Qjo=_ ߹]R!fVN=; W.1p вn bԂh#YKwf%NLfIZsDV&6%Pq[ws'@%Eͧ*'V{"Ru:~^LKnLFBt W7 *:%"7Пco6]o#e'}i_~תZ0v u+Ja}/B&$_|'DNl@܂ ˴'&6Cwv.{gݦj|qmdl|)9 #ֿH`[XȣCC "3ǡR&޻]{f}hwnsy j:]1j!ihwGَG 2w{Nbe8?Ar6yċK+'Oد5f{=ep 5%% a3G2Y?,O UZ|f]sF^A٢&4dH &qCJi'p)pPՇm]`gR"C7 {*EOū0Pk!]B1GG<(ȨTR[#oS:8J>h ١":U q?p]r`Q se5\S\7$gt30V0zWm|A"4\?#p WCa*׏AoV0YLNhl,!O!iQB܍Xa!M|FLSRàrA^>~%7MIȌa s:*v2!G;+'X}ZൈU{&kmN E"c̼׿$ y?¹{?fgZ-!v$1;[p*LdNT,m`gj*_w&CqVMvqcے3O`v<8PHSP"ΌK'3m>H),CϒTMav-{dž$-=Ŝ>;xFGS_E[R`Am `4[DG-=U`bZ3Pf)zeLRFָk# pFƝ={y]/a9 4z}cS޻ߊQK|)k<ܠmç `U YUޖm"G1TY}44k'N/#}ikL$?{xѳH7g8 PI_2 E0P[*_||/ G ed(X0::5F2 )zѓjS6Mbj5/BŐHN +BtX #Y*cWsM?7cbk d57_Uܢ}VX FVrF`:?JMIp@pqVf@_ '(6anzA>5 2+12DzN#2nNHFxI*}֙CgW]*4JR5z2mTjOV~w"hϗ.Y2r\IW`;M#^#9A ؽ9I<{x'ė(;Ô$ |7}^Y'sfX=Uӌ|G#1.sa x`9r}#{F 먞o]EG}`i1 ;N\w65ґ x |#ʬ-mI&L2Ըajbܽ"[X0t {ق jŢNDFxWc1p1  vj&H44TcK' rL *W,(=Np4W)uf8oAjTGh'7c){&,(`w}|h)XY7<'$Sl7blV1y{ߡ*h81MUωUfǔhuL}G_e>ԩiP*h2E,r%`HYUMxHw 5&l+RIZE q. ؍q|Zm=kO\ߓ"`nZj;iݻۃcچS hce!QpnK8Q;iNcn 0y)UpF f>%5Mדٌ_n F ~0Ѻr;). ZQ焇n.|$ޞ?yjXP>beeadDסQ­\c݀I\ߡe6HW#~M18o=tzO{jŽ6pIL5sxϖ%5i+2syA. |-p@} =pΛB죏Pw .ϋN hqQ|?kss1an[`M$|[5gW)' ==&T39pAjК`k[LzپgM\p&a.nQPu%~\'ӱfwk[cyLeˮE *~-k*)N%M-v }XiF(#ȏ{jBemR?0^8FhDo?vxyxwӖb;Ѝ2.PmDz`_]7<  N =M;^P/{KH _c~4҉n)t4 ^.Y2WT AeO(g\;pܜ} D#%ԛ:!~p\WEV aݕiAW =9'n>3goQ[3; *ně7S+G[OK2ӽ Ed':4蠑_ F~ɷ&鿴To:_0zN}3[{[ДfBB oY c6zjR~AQtj\i>5dWSS6LMF:F`'c~H{ھZ_έn,S}ׯ9~O<-Izo Jk6h4fVQ}ONmQ( (̿<Ѽi'iaI9 L\<.ǯ!yal,j d"ԆJp~IVRHz oH&mBM=o$"\(Zp Ag6yizLy0г{BQtQF_={~;of6[Syå*/-WFc[80咎'4UZco([oO%ը OU25APW'^sf!1E8ZUpjlR79S8$T n}%1k0y AJV렧(ac0\RƝA'9KVCcV0EHhrFSr{ШŸ']nxtxv"IƬU%ʄ޵ `êm{]sr'oQ+ %nX•nOu d4)/m诉%.c\34NX| ?F*5G3 fT.DaLJM+`IkA` mig"R'>2A2+ #V{y)ƣf#lo =z;(pl1V҄{s&%6A6ڰ@y#sȬ`[7lx;$b+ ?dž!8omE"#k'o@3NeQe0ڛpѶǩc+J __Bk!B͑~y0>=g&Q|}U^{KG5lB@@vw;tᘓ7jX'^{oUȮOkWecpCLqZҫRhH&_kF>P^6o^I⯰AҘ|$[PrH-;$⎹iVfZKV./ AduFB-vފ%aS (Jrs jR ^$f3(2ƵNEJ.+Ɏ=u9~Y]i.bTS\J㯌"\e?yaw-AѬ%.U*Fy4d ºPi5]5$j~IIrd n)8^ #,58)m2g˰lC⼻* -!;kf ZCM 1(RD "}U#γUގ(Oqd_*c\OT~+b66um*Y<1ܤjrZFP8I6 EHO ϟwyoFզ1[I?缿mGd@o2d]p]DqP-o̘q) ?.41\yjig28wf[Nd}(!NA"sdcՐ*D*ʘ3bQFt'RzD:V Z3`y6j~u7Hg$Ȧ\3C \hj(.Bah5J[؆k -+rbAb-R ڞ̊_p_&VKO;r42ͣ%wЈ'L /uGLB7'w cWU&.- { @ z0%윎HAQ{ʔ+Y}l/۹m)5JysG9z =uQy_6Q^B ym"}ᒵ,S7 偭'&IpH`ʵxd4j'PlT\P-vF!C۪O [sB5g 1\hmLϖox/*.t(V|\'7cq] D("BV5CsoFߊۗ壜dWMάEKq+8>!g23oM[z43`*:2%aDˎ\GusSoFMZWE>| SH~CI*xN>B>Lۙ;^-) QU~Wm6#(!DNOA&ph>tFH5uY!`l7*x~xFx_8-n:"&tF:7 ],L17Y4:-R6g,Å.b|#[,UqH)_ BHI"NF cA|-ͲMjMP{JC PdK*zP"WMZ[O^]æމ ұV.,Yg+ly7XgH(ڞ' cgmU[ڽzcҚt*x+E9]$g[Ic3:0X,`1[h%ɦS{=dFLŲכs= 9 K;3$jkfQXzd3pLD+1ܟ_x{?eTpp Lw?G-gȡB'+ԧs\6.1%m']w&NGH s~r/u:Xx@D PջI( e)e9~>{˜+AqKQbZ'atSOoıFqK Fc L'̮}Z(" Wd_e\Kĥ*JR| c7L s\kH~u9oEu30tj?dmX7B%R,J&:MO'q]z@{.B৶2W\ht%Мt} GCJ̠+ukX ru_:^Va4l?XsKip5w7ۈGe5<6B|L -U;C6 hk̲( -Xm EI47&8Ffk- U\ D",! A5-HadL*4㘂 G*ZBK_ '2AR5_k,nE } )(եz~N ,TA{Z &lAmANE.U~ʲ"l7X#gVbqU.ZAcL\H@q'iBKO25f8Jlg}1fyV<#5&DT8 '(YPB.+QV`c!y20 Tn\Q<&qiP ׋=1;#7J+2ْ9hB&Iq4IiBtE4BUOS8e$8<6i욬WلKx=]Xdq2qO߹ڌ)éLA^T)jiekF e;% QqYfCt(-$4KQSBOjC*iay>.ՓsO.=a)& *P纲Ds_ZU*2'ȗ\FjqéC,#|Bc;N\f:뾬*:X"A}(JȈ e4z.^HRf{kxSyDW?jSiC%(bP)gq6 Wj |!XbYgx/%\5"+1E}8udd͹wip nY .˧̔Fr7T$QvqŊʸq5 ϒfbC"dzy ا]nuqTui foa%E݅ݑAzyO?$`Gea ZJY9S$Q(U⼘~":օc%IlWjzw&RDq1{aj Q?c7|rޤ *%^)B@K案Zz̺yBfUVZ$Y¥ f(87QaHvBD+r 40`JؼiތľND%>+y W}aI#AGHF*~!݆2S'uI)o/-K͊ Lɂ'[ ĚIjۺ`KV"_Qy--8r;}(з A Y:UUKjI7!DE"/Kŀ%O%&hr}V h=g3j=8aNhyU6/q1kn\?k{RB*zhnLx- sPa`,&+iu"qk$ zJu<d+'o:Q$ ͞fi@CuT /wc >'<؉VbB:̠@mtV5ֿw7K;>7mP!w9pZ aЯ=:j\Sg ҕ0!6^>.:0ݟ[ ^<.@c$j>Lzj3 *k"p$0)%<+k#dwLRRcL!)c ^@RoBU9CMuaX^26(9+,o*\0coa-%=>M^($C%b:.9(ZWObƞA2t'ֱ3WYCwݥ/ g*עqȋdpWepC^nI;fJ(?S:μbL*gX-pv eϹs3ke/aA'\`7}!X1lۗRF+1V 5t*Ba`H` ̗u9:ަ7!,zP{F$C='wUZqÜՅ8Rߨ,ا/;sfyB;+CQ,51Ҍʷ)Td[x *«SoЕQ%ט"y6_~5C@v[HB@wv#8w ueCuYoqzR]Cj:ƶvVv<3Bb4/X}rO+PUb_oЅӽOJ!K=>:Pi Klď!\< DI%%I~S`/(5ŕm k"NڐGҸ՗R@EpU9HCnHJ,ۇqDW/g#&EX[ ʵnj @qq<qhAz^9Vw_e|Dž %Z@fmIn7V挒9N7 _)ӝrΌ '( .km0DqzpƖMȶQb8f4Do?2MO4D$u`}^ ^o}nS |f"42& c6=2i""#- Ee:$QV$VLu|u[aM;A &?%ps'N! B((.f~:@mq}H.y;=0qG64_Ud@պB]P>ԍUp@mVM֡ONϲvrřQ][iZɬ20n)]uK5q }6I3 ͑mh'Fӯ efg#erK><{ #ilЈǃڪ;[run8F::dx7kEM3ÑO dK?DZh?oh8{[ՑB ܤl"%?%*AZ2E7(h,>bUDdKVKҒ88QBE\gv1b{?饅e!rJj A}d2+p׼ S/Z4|DS9t n`ү}pexh#9f+۲k!O((YE\Sv驔U}̢b8fFO \59(XV<vkV"U.Q/~(& vNx6nPaY2h8xԠd~~bw;:>NR*C#ҏ0O^Uv;;|ۂ%FT}^'>~B1+ ;C TB%QFжCB: S%/z*7JCQLE#bkA)Woqv׫skRqp-@`A`WU|{*M;]ʹJ h5[Zo?GI}WYSȿa}ГJhK"͢a)gKyjLjLBŃhTm6-G]=1!?"a4lyvg (۶`{eՖٿDA}~~Q_֧(d?oO %~T]Jk5vśp&߽VPPYr?G%ΘڈI\9j/7շn6( hXxOD3VCi;sS;vl.DHr|?&E'!~$DFwg`GeB=.9us3/[YgڍbЂռ $96W;y& +]lلʟ"lvG-ض/n7>N!M^=& j+uj띫qrLQ^F 9t]]U-t>ߠI#/O 6AΛC-/ o/y(hՉV.ZFQȂouPr"ܱ4x;\r;8@F 1 FmT($bip.t4r9z[p'IpB2=ubHVf7qy7Ÿ;>n[6*?I&=KIqt'0 5~BDp{țCO=җᨳ>A0BܢM_R0, UV}r*jE<sŊ1́y/8y{z>4ƯPD>yZ澏X?fo_6o_׺a fqA3C蚆{YB~¸0#>ErGιZ]*$&DiRBe-H;~_TI ((dq9-P4,grMV.띓cz#z#MzLcKLDjssBvo(\Ib=TF&C;umoʊlXъ۶ƶm۶ƶmgk}><9ns*Ca!^IMc%4n.MZ55\DAL_og4HĸMAΞ:'%}0pbR,dhHq xy&J^EYSuYƊP"NɈ(';7P9'[Ll~8|9|v_ @(:B&_$gy&sKx L|nޔպp84{2Y瓇E3aJݟ hDUg^eŪes@9Ser˘wm2Rzgb]Z\AڦP0zCK|JiKUW+FOͼ0%OD XB 嫹? fdf'uʆqN~=/P;4aYQh9`'m?o $T6?Ahg.* lB.ocHBR a \.fX)A>JTgv7Fڒ7s:A`ęGEH|B10*,O.:?Q !Y_OL_ tS;lu+PE#H<_~va!QV\ժ/ /}TW %??wN$W_ ~"n-fmpZ+')R_y}|TW;`D=_՟&[knfYRk t #7__!r?fy l/\Q.rΑY9ʵ㖲%)Z %(sbG:ƗxJ *ͩ"U0- f1|tiC6I#MIK+IEa v88\ فypPa~BCbC!qxx4h JI`Rht\sA|hW8yi?@~q]1ڪĘN4$"UiYI{.a8* V6~n1լ]A&r YN[2Acۿiuo֗nZ~.~>ɔwft抾= O4n#DX(b73?,hAc+l_^q]Xr0, .>pD5]%UP?v;XÃppg4We?ŤoU͹(M s U;Bwpx9i*dq>Q='뼑hQzc@X}&9?|@Misd"uu C_h NB=qnjIAJ~C=8P,݂<"TKL ى[u'SAG4Zb<ғ>˷H>GZ;;,bs J:K+#H$ $Cn6)cGg,Dl}~&4(cRQ WQkYj$x {Eb^ܓ8'o=&/ Lq4>]ZL^p -bRebw\¸>_O2|VRg4oNy3;&ӧ\>՜]lV\6ּ6?򷆆ߵ<ӯ7k&jՖZn0"kh(-&Sp]h8hlP uwTc)a~\]RF "׮,ilq~-uU!5xLF)OyW̢"c5r!B)]{E6NXPVxafM"Œ(7HN^3sԿ'C};pā*;i (}t1glTR\'d/%5N@bksp[j ) -#avJ>l1g(j"eyrklCrʫ@H\أS>w ];!e&'"l4FW$v,:w0a>-G C?Pt]] %$b 6Mls&Fv7v^[ d=wz<}{Y0̙CQ*RCsű籑IX¨ D jzkOsU4sAŤIAi i1;Mrc }4n3JCA^.зW=[9;o]InhhȰ1f~JIx(-gGaS u Fßξlԭ˜yxm*$ǕmO#5̣JR_ڟO?'^7U5F?Yw?7w >x߷u>}.T{Cd:8a2\G4 V೔CM~lhHe!K\s1R|CSVSY緇?"ͧ^Gwp`u_O/0>}.Q:}||Aԫ3,bߘlBC) 4kYݾC$Quy~1Uc`syEGj'\"_9̙S 83c\2 ,I'gYam"S'j#ht2C6ˎqzD tGgBNG!M7CȏGhSzڼG ڰesc{U7l]O[ވVo{ZYC0Bé"d t_ ]j.hO 4а:$\-\ѪDh\F:dy*볳ioj[M:ؠe-r-tM,.Y){-¬+k|<.}VO_ eCqeLЎ ry b%™HIG(!RT  5YpWڜ8ǑHOpkڋ6`2 z,BU$ɵI**FRk ,ӝBq@#恋IiR9j_F-^H 2әD U"y@L&_ pZ[}q~IX8SxzWe`7}w ?>Gm |uÑ%.z}=?dgfG1>{.>nuӱ2V겦WJ)AszN$e읡ŘGϓ𯔆bUmd"IjkK/[d*l!M< @y0ĶdN8\o$ci.r(10Dv 9AMx_PMHLG7LbW8Pr5!mmCh6hQ&31-#>n6fGIߘ|˝Ᾱۿx#@>d=DIo,eCϝOχw'(Hg:;ƅN/#DYfika}ǯe}M#yvXDIEQf*Q-Ӳ;`{D 6j{A:A65՞ȫkjQZO%֧K椵 \pU!I A2(YK/.h$;"$f?ce$D4_l]\D^z.H?.FI+T<$,߹βHQ?y@XdTboEy>WAI#.̣bcBSa&$(YWd<hq߯Zi\[iOy נyZFNJ/W:7uHǑR4ˆbϑ3&(0g#B$n_].Mw4El1@(`AwuRvS,E n+&]F ]t_3:z1E.>1S4?<~dnLT K7R̘vudMZuجڴF?ï(hm_C&R)X=e}XuQ}L1/3NJ$Ci _Jfؼ!l`PF|o~qp61,Xt V^|aܝ>&!®1 oq!r*2NƷ 24 93Lu# C^=/FT<ȚopIK2MeҢ϶\3yGIT׳jI<@@ՇQe}mqq^D0ծ`{QBX z(Rx_ekw;sęS\(42(C_Eu\yp[~K 6»PdĽ@BSFDG>`ڲv~) 'pr6Ko螈8y3yY~G11x4o8#j('Uk/ۀ2&H,lw cFJ9CAN>Vb܋A-"A&*bu_MT{EyhN&[I'mT!AGN"E]~(E}Y!5+dƔw;qVv ! ;=@p W@!o*sB 0l%9]'6u;!ѱsBu.ʺq2mk_9c!Ӟݠ*F"(|"Ca t(/&q9&/LJ}<]bsﯣV塴9!#1䪤Eef]Oޤ7Y@]5쯸Uy"fhTr̪53FPMO쯵wn/u8G웤ۋ$竝/Pܧh+g?ll FF 5D(›2yR\Kl"¸ R`Dd6<e@h*Y `d.'\kd d~V+ 5|`z}TҴyu5hyX@6tؓ@6$M -?rY-c`g*ͽAJǥ%YXuj(N-=} {ׇw]N'-b*7r. .`X)~(x\BANhf< ~ s&ׁd),=;y & pP}a|ɷatHNX*[P:=cʌCX)74yaӶϡ/uYe|6šJt52k|Tڶak~i/. k~ ;f'Z"T8\(+`rۡlSEk2gk77fC L֐V$Jɯwկu;)ibB<|)u8ev_9|]n=~UL޸^CdsT'wd6ˇi?e+mEq  /Qܡ[r)).t.-N8=2%('\4oH0yc =jya83 518ᓴ Q;Wf2N1hZ(z[GPM€$C #8kH%ˤoer=0RW S3쉴O:>I8zv r~[!%T"{[ٟu~AR;`gY+Dm5{8J!Y% ׄ;0!@QZuN[\3# Qy)_(Ϩٟ.wDy$a%OoHAVr)Yss˕ϯn./l K5㖒M%`b @Y<;'bDCVF.;u7Bb6m`|qf1lz>\".z<@cAZF,zZ|%<%\߰U̜,ZbMd@{7Alr׿yh)i('"ezAIaP|:^,6Q!4hc3+I(in2 5G= *Aٍe3}}T ]>[u7M"H 4DJ7nT =wϳCn30g?xߴo3[( )ń[O2&q.\ex!:zHSzc@@Fj]ʺJHl  X$cfװƚI[bִtU?\K cFWhIyoNfM*ndqMGyehѸ*C%+Vr/B *֝%v|$jo:٥'ry㗺v[׬1 &1"Lծ{tL7S7s'N OcTCy؏&K|$f%k]%i/c6{^k/[ F'\Z;=BU*-7:3DZT6lj0%a~fd` .$'J++Jb GLH'D[  EwsSMQ6HF|1f,4O#:*i^YT.: '.%^k+KkWPrswlstz Ɛj*&hh⊃ie& , RTJFfrNoϑ]/5/ʵ%uncY5\'gʃ_i{N/)$NַTye68XcPs0NzWu#,afYet X^m :(xv~܏L S);&!{WA"]k-" O*7M>_;)HScWT "货Ohbpn ǑcTe͐(& \ڪ ԉة΢k?I߂xͤ#nT p9# 4{?6fT׭Oy[~'/iK_xX Ur{ɧkѢt,,Vq CbW(HMyTb rP0t=Y`l'#f=r9:Te|nu px=IbS\LVy)%1鲹YjX}$mpU_+8%," BYYAxj>e",oR>WH[pYK0#,@]ΈҐDꮔB/'vET)"\ۇcj$}\#7\ЛLtZa5QB+ŝW@ X7홷L~MbJXN-jP*AK-5ܮȫ5/4 G_kCEeҴh:ZCVݺ3.f05~F]S9x( `i4+ǁfuͦkt /ҤAʵdu eoGRip_v{:XUh,&vfê}<&{f m-eMniTA9)0iXU&n&=;̕ңWS\)w|*45P)IJofܟO[_޷0Un5Sb[vQlBejF[='>u^\u~Ec :EEE"d[ud$,~_rf&6$ SV%d %Ƞ. ͠ UIVC-d-vo\1uh,m^COw^\ÙTl{t}M=w+7Da ߖ`qQr5,Lk 3 m>V9g ?f qVe_$Xdo'\2|=,_EK(ZD@rm %~][T^{~]x :vld4 KZ3{G] Iqڒ/7GM loe$ nhWJM83؞:.h=_fwK>py?{/ ~sK{Y E9Ç#54ljR3Fg G&Rp_9Е,C_of:sS+MvuREJF8u5LM[[\g=4[$UҴ}9VPe8E,DUu#v\+D KqSX)0jK'ɵYư(ulwWq sIj}YIWcB38HnG2$X{\8u0D'&xb? D#{G1l#֞&X"Su~x~V2,.[f/ո ^ĘSdyX(ƽv1D9 pCXR[5OoP"I^-GmȽgJ`IYPQxu*BI0t}Y ~kbkll(fj2 wwKTʐv}XN3ay.ܞaKNȎ0Xu8vӄcu+5f*kmH^jtqk}nY8$H@9 YRQތ;0Ʀ:BԞf &RxJ5'l0ɇ Д:K[KH՟O>$P T)DTDB\NlGdcB6K3 ir# LJlL|Dhz lp=?2b2ܱyUWqlgm4)u<{ٹ 2ʣABMd߁qn;d5o4-/a଱n*24 P1t~iq=d^&Wş=xqԖp)=s9a<ѴT`a0Cx]=S/w+N6\잯3ׯw8M)9̠utFK~y-03bA"!u`aA؁w3a`ey;p%$$N}I $M ےfxXys!UL%K_'8.drxL^bjVTY[fߌJEgKx$(!TM:LΗߚ%KQJ)³"RYʕZAX[aDRkmuÝgk0ƢrYʥ ˷ ZO*-T鋝/k)!.qvfIAq6ݶop`2Xp';unsϭvStZ{{wQG PǯUR?{yapSj ~ᣚuLӜV1q* DUl}CqeSVr<[3;OC'p^Qc]?L'ZE-^qt^ŰTljwFdz9`@+RLS@`CЯm3~\<9nm':M;=#xVYBx.H;/3b`[((&C?R/_L_0HD _DKʗsyc"ge,G8D0f6:9=$?HA7 fliZv噘9(OhU D8kVBUs9iUg5Ib9 zP`_UFGou{%U҈нl>%rZ5qN%ݺbJ66$Zo@ Hfbu8^1کFtVj 6~Y"o];E W[ R>GyqaN?bȜ5$Rdи@|f2gݚ`bx°P2 EYawg>[v>\zz6O8VaM+7m)T8*2 ; 4x3l~:$%}8RX k-yt qe"c=8~tٕs &;mZy{Z;JEe ]r0쭮CWIVPi7P| z>/#%o6X;$[w# o<`X\ZN?Pl)8e0ch}˾R>w$Oi$%EY/= 9JXIipRcuF<ͿN'H8s1la+ZİP%Z7?ɞ(F16aENLjmѓlvߍM%4$(߮:.% fR ze+;evGV Մq>y])϶JmZ_ѥɿ4=[V?X|΅ TlVj ֮^e>enߍy= Zy[p=Y8;J,l _3=!Rҏ6#M5zM!@"qmR}='3%ا'T?;8\Xg?+ZJ?U˽_6{b T[(f~ΐ>! vwyErxsOZ`t=jLD6~:{;rL?91 ձ[\(d"v#NA<Ԃ<ʨl<3/5pO;Y `G^㏇ C.B*+!jGՕ CeFaggv"2|5]QvA]^XslYY˸VЫih&l220o9h%unHu0qHtnWT*^tݯLNbN^΃(^א*۴^1W-~D"#U0W.r,3⒒0"fwY[Yr`A(8ٕdR}">_e|Pb%~IrD(ׁ\LKFh&<0; BbvĤH>ԼӘT48fqY"i^o7)v7/ߥK߯#M2hҲXB_XE(an6,4So$ eL*\Q`oIr$,Mu,ݐGOVVo~L:+mxaYr#sngĝznz`|j<}󅏭^:fj Z ϥ\5YY:ū1,'U\pwqۆy>? $7m7 XY'VcWq|^şxSUSx6[ ~//On(Yz!zqpk~f/{!|:|X$rvÙX&pyiҀ0m)`X~~{Mk"𜍙7׏Nd %*E~0xjShgpAdJ[n8i(>.=( W/iscv߳mQ4VROڬFf ;}ڲ"7GU.݂ Lِ v}"A`Y|I.ލRS'd0%o e|P7$Ywj}т H;#~'ݲtmɛ~Q/ c'e%E~ɖ \g K |1s&z}!h?̚J#8+QXfRR4b֙c]#OE7;[_Z6}!.)/j& +FV_*Dk4ADru dI"u^^{$g|wê~JYJ"7<+/cƇ'|;OU&>>Yaۀs!UW,S:wE}_2rQ EP&#SՐ_^.bۋ~BR14[$:xE$,B)6۲QV[:܆E,h$mJvmpLS"@Lp6(k5q * l׺$A?H2oYݻ9 I)2 HY sPUֈ3E9|)"hU'8[bD òtZȮ3YgZ|M8NC^2OG)sBH b;a[%Y)ي X%"+g@&IUu.$'ە- Ѩә[bw'|_ňu$y_<Dlu8)L)?([M{Fzm^X鲾5"pQy.F×% ޗeIx€{F\:~CTl7-Kv}$&,[M#_W,i?m ~pT̩VM ~_&IZTs^_]ELxn7)Z OzN@IIãCY4,p;RO2m ~s[sy_~ꅕ̦kda|_nɳ0v?Zd*IANheiLwv[ K;axjWVM[]1^CS!21/Za l?[ 5-Wj>l ]#2Ew St&;*POn$<-k1U%`aJ2"C#w]t(*٢3dXʍ!.L>/p-(xپ-xsg?4eƷc ~րs9J].^Os#)C6p󬘜G'YDɝQ[(LWB|s,͗f7Io20?pP|?ݲN=ju&$id:8u:ڶvS2^¯ͯsLV1(=m Gbk"&ӥ6|A {3>z^DMwØ@52]緅}ޖK~HY{u˩E17(قCNLސ=0R̈*8\ %(,mmYI|:ʟ ;lsiI"*'4D𴡜 |==vb>v.'=`LA3Q{ɥ:a`ʌ-|іJkLry"kǯB8訅_\LZ^'^ 1F}Q @ uo/ cvŷY0\XuC#G^@BØꏓm-NpDGxٞP$&ay3[b; ]PEM~$BX()&e\IKdJI6ZVǴ)i5@TՀo E=cë_Ig?1`mXB%u0A,Z ]SD[K;s@'>-ڸSǫ(/NtMsA]@I'5S!PI"@[ xrĬ ºIɤk攒+.nԁzD3$vLKjw5MѻY݋2sZ&/P3&cF?to]΃pM8:TN#+ol[ ^\R.#rxVEXϭmʹg94Ҭ;<5nn5ĎS"N̞7`15ݡ' DžNG1_^$7̎Θm"UHH.J /K8j"VŹu$m∳F~T3WVY?k<sd\[m-LͤqbѨ -1JZ[ Vi :oQmZwK?7⪇#h]:]vs!s؏&ڀwR?, ֎R#<fHLk&w>;X#\D0(#فr69"yݟ!RI.U~G@z5Ee6=ZakTo>M=K =Gc34SCπ:5B[&{ OV-bVpӮ9'_ kqi»At|C{;-(FdU{l0I5}ashhfԢ]?Vk`ҼGC0awQnA}zd4~x7fPiprg*>za04W!w:HcNjeR~CYrd>EP<6)D~VBRaK9,~WFdhUNrR"AS 4!+>@[wKK_ٖ?0Œlu^9S>-w^wCh +tYI6F[ϟ}'`S0*EsO=9|:yӀŸ K ɠ0ed =@ m3 \f_W;pv>?jwkӗ>vD `̬Ğu:~CaK&%rs9߮~ݲ mf7 xjc\Ur Ќ` *oT9E HU Hq2> tձ[wVrA#Ukyg 'zd|F^(*QB!9h%ɴ۱obƒ(k.IgPViX mȳƟt2l"8Sɸe*gQErE1Ƶ6l~c8Z3LN(Dλ엹Sil/g(x$EufS05)4&c^#%r>~ WEyn?DkYyM-yIjЄ2̅v$䄾/yR ߇X|7nxC׃KjkYi8^8~ 7 <<1tGd`e߹_7W#FraԂkD8bP{5'7Ї+PTPsNG:t+τ?Xl4TN?9{8TT%pl oBxIGޖS&9dS_¾+nI-ld 5㼻zSMp򓬳3":غXcl$\VȿBCS6ߠ9{1>l!eH^Tc'N*p}gG Veپ%eM Ur D->Lv/i9FH>CI*\eDv:]Kj$ N\=%ڑ2զZB2^C4:yO$v-vbzub+}()]x|2a\AQNϷMxsQrr3:~q DK ?6n+*zn;)V{ȼjH;Кb=GLi1z0|1pEOSR6WHE"?9B(5Gb \Z' P,6A'PZ"i^V_K]Y䪉5~'|jJ'פ<3X4C I1,nG!);8ۻY n'! MbĹs1[}1Nr?JWowMoveGJPwҘrE#z3 WLȐ Fݲ\jْh{&[+ÌIt&e?ޘ߿!.p3vWc5d};Kryd,c=Vu00PP=qԤ\+s.n16dҗ  L1E12 6m 3hJrߓ{0t&tهn=$ n1y|.5pd/ !Zi qs d2aX^<}O7߮G£Jax2){Kp\)!]k'hC>.y!Q/Ue5ٙeL?HO8rKH'3Ml¨M1!E?ļm@RcV/gWgQlytQ-\&$WzՈa(-&16x|1Lgߘ\r6-]r08B35wJUXKhv?%aTS=,li,^9IJYApJ#Qz:VJZ55S. $0?2Lf/V/BjHz98#h5-gwJ}U񸺨3q,ns3,df?LSiucH O:;:*{&3ׅ7SUO[&M)"3.Hy:# S_b珀SUvQNT 3zbGgŒCm F܉#^V!L' M:SǖtaV!FG+W.[5K*8ϹB__h}f*[B0t . JW*PϡA8oTŹ!R}cFřwޱ8w_λ>rmP5BO$Ե{̝ϣR88fl'\ho<>2HLV76TRW!6#I󱗅ɗE4(3}YrND].C—_ǥ5Likіàre)53hd%lۨuT/_Y/PyZ !P,wp&ύF_GZk輰㎠ՋGa|OByr3äkUY"TƗmg֜ig,~n̋ %E)Dp'{y8 6[/v e94v7]1-*+sn7k #})ciО۬EJ0/l<#9ٷ!3lnx{vt?)7&d>}m&>ϙHVΙH_^2b^1 NY?nPzOLxL2byg""-Uo]*] ˨0>uJ؍i."ܩ^X&gǞEA:rVt 0EƖrryZߤ I ٪[^s?- Ca"D?SYj44gR(y$b;& &Q*z+_-@vt!n1O UCrmG(]t^,1Cwzy[;!I,8b4yLys)˷%9s$EMsM9 o'9&*.{ ?ejc?/rL]lR*/kO9SDk<=v|vqeIk3 {]';Tl2RaܜLICpoY26:'NYvd(H㛰=a`<.2ݿ;!+ U;&g!~Y6et6`##lj_C0Y-Nd[?dD>n\}Eq!- 'bYt9KEÐ2/l6OyY ,Ă+>LNG<ϲ\sUTdH Z숯K(M" l#ʎvH\ mPdLTV~7ۀko>w<WDZz,;%ԩkW{N(Ei ugq718-<{ *`╨(AFkdPq'm=G2J$z fq{ o[!Tmn’`d-aү Ws&Ig C*e-Zᥙ&ӈ\?KTK*B9ҙ.mq;oVy7 QH[Hh쌫bٮrI|R;jy =rT+/ִ*e+~a2|v#N/:`HJ9&0o\o?u)~ y80s94" &Ʊ^ps|q ~蘒tzĒA-cC3}×hg7uKw "8exiv8}\^aY<"|/v>ŀT?D]A4#ڂmMR>čuB):_CPChe(>"Kzrq| 'i7&W9c4}݆[L'g0pPop3v9;yu/ i[PEʑ ]X[ÒV |  t,kI拪pfJ50 NHH~}6l2_ۄv'hvf̸ӛj\Nݢ3;B % F1KK /Q9\VATarS0؂I!.B94C.K3K?ۖHbȨ'j;67 >VtB $1q PWg)vꨑ6<8?\;ڑ7,G$YU=|ӄOM͎;"A97$ziCfvEw=?d .?scO8_tg?kJ/r ]:&}@⧑13T[24.XvG8bֳk$F~I nj0Z7)7i=udDD Ȭ ~N#WP KҺ6{fEo+N[[ l(@\vKjn]j9'F[>{ WUB8L+Xۏ\ P)O,>WzBZ1dF]}- p2\0fǬـ8vtr)Fb"Su;|s}AFw;Fi#*?:vsytL^ylї!}J&шL^]3 |:`gJ)=mq%A6/ecQk ;R/5ȊX]9P\@dK>t '?۞pGέ.}ry_#%@hk4Ԗiv.ήը5I*BR%5V뢛8xw.?D)<˸GR^pͥ猪\WGfV8*qC9l/_$ta_~aS+E)k|/a7 UJ.ωO//74|4j|rRg dQ &!+'%$N>04$&K\{ΧMz60HFa͏d_]#̳uy+>QH%=4glfpWO_c1{2|X)Xe@:~P@W"H H|B82Hr@OS1,Nb(a|$/(0l?\CO,d24Vk˗es[mNSҪ`/MͿ մ:EYW~QIܔP̠KI6FeV+82%oG  q4%U:O02<)&o+Kj(/iDqIEU'}vH5ig^ GdiNȪt>VY}-^۱HØo DלEm'1JDn5>0~˹/)8^k >7 3_=\^rO30ePY,9ΰVWſlMvss2G:+ |S>'~@x牧Pw  !Esd۩3QD>>VZbm"HL= ~GЀ͗}Rh IJBMR`Xbb$ƀ<:b%N~A2SC" RtgƣFç>)=ǑB! ]Pa5U(jQɨۊng %n r @!Qد[.:=Fb\CQsQ%VLJؘ 9Y3NrIeTWz)_9G9ӟekU8}pPB-|/qrd4yKC*?y;GJefos337޸_F-scL) 1Ƅ JX(K(˳ϮfoOi^AC|JdF3 _X 5wfD賆oJYa|vb4(B~(#v4$~ V)(_buOO}[kqRh'8a<[Xvv,Iβ l\d7PꜦxj#RO@7>LFx-tN-Ř:eydC=r%xp1Y1٦]*XQ|W*o}{9zв: (7 ]WGi d3Œ^E= NBJED%F(r(ss Ơτo/<*73y۷[-VKH%!1YeTp \1!IT+NyH)`8 Zj[=o;{i4E?$Y[}={}{]z'B@ia$ rFw!@f \%DQe>BJW͒[57*ΆI+-^q!;- l84zU|X>y !"8]r1o giD liZ1׍3󜘋(]=DH.\QʕI҈ճl )˒VҚýuΟ;jpȭמgoJK6xJ[?ec}]G|??Q42*9͝!۔Y|;%C~G}YYa$*5!Dž)DcKK 4ZiH)qBtFQĉ!ҒD$~Q=l!$b*kg9A(IM,t\@i]+@U9ʲ|+KSY Rh8^~^}8Q^1p_!L(rA=Ax~ɧ9,.pɨ$jz\%ohZHositg:ܣarΣfwH"x4`}}+!;|=O_|i+=ibFQMkogSygX\\l4[',:po 9 zge*隈߇yw>Cnt-)|OP2ns"wҹag6ha@8> zW_ /&+J @CB0pkpԒ2"2T(B*)$mspVxlت?B 4/LG x4q>  Lgw^)y^0(7:W4`Mq !Ql2 Rt) 7(ImZ;'54ykzO Vg0mqx l SUuAZ=go*EΣo{I||GsAhOSOph1fp> lOђi ꡧx_}XW+AڒX)"xKB 1>@E11^r)j2ψML@|R\V(&gi2k!f!ѦnLLpGpd47+>[Pՠ CY􈒻60f7j<1jJ6[7-oӒ| ;;dÊ1.2^FdsbVk^@k1 @$RkD l9S" R፮ZJ 4^5Eƺ4iRhgF/C=hQQBB<en^WC Ϸ񶪛1wqZ_XT-tG!|//"7ȗ+ L>&b*︠/aʌJI 2-s2Lm&)={ d4*m:$loݥ vG>dbs0B(APdBemD9?ͅ%VGP6_c:Hcc>{ѨhWsc+2{'"V[ZCd2!DFDu!ND0*(|Q#0JJ3 T4H AC,kFhkr30S{OQd9LDQ00LqXƃi^Xp.b"y5F՞ 0q|C4Bƴ{T2ÏA|aeɕGB~W& )x3>҆t:Mr yLWɂHw8"-&Y`{4_}""We47oݤ)gvƈ nwd?sl^fk{osʗKlRM;~'z{/"Kp EMƓ xҟ~}'i֯-s/cG)#idt#:MÈ".;ISĈK$i0]'3ɇ鈸w}oћK:8!? .Q#֮%1 c*nn쓗CZI`4Yq`2P,\NYRnGD MD:]e-qק`)mT$I'\U!MmE1fD6W3@kJ$)DS`!HRd _mCIw7FRV,Y#ISwH)@J%kJ2YT"ȋ +eNRh(e$cC8 !G^dVڦ`o1{[/0"X<}Sz=/D2W,DbHVRҞ'Sƙ6naG!D-srS*e0)xᕫ!Xlh{ko?HC0N'bBIQfXR8M#Bs? /sI th5,#|D#K?S=;HqBY( HҔ812gxog)>D 8rMrƈϯ5ڸLrqaQ!`Iwآ4o+/|{[N]d:Ϡgni.UC//s84%E!!ɷҸʂ4PpX``TaF[|!4 !cDmcѢY`uE>ȆDU.GVZ$1q+8 *),+Uf<RBAW&xsxҊΰ:S 1&%aNW$HNQ Cק=Ai+v&)98,F"YmYzy[v'҂6զ608C}7>G[ BDyRBX`{=TrĠɊ卝m-5UY7uJD@l:KT`m"#lA*F&Sx b}NDLcyl\h5П86Q5emwɀ*V81]V4'Q.oa2|[##!sdV1. 6z)}o} Hxwr w|=e~CWo|6Gc,-pk/ 'VJa1]4j o)\ۂ<x.Bt)F;|LđxRzy1?%VW(?̿F1/ Y~3si\R~S Gu,6Bs/Ї-> Y![d%?!K"%X?|ɟ[OO?\h5M#薒X wpOz&rYLYiE nܾ. '"ݨhL-yo}c̙_LŅFMIOYN4 ۛbi:g/|/..wU qCfȚDG4I4e}cNϝ cn\GEƎ8G3#TǤvO?kobnrl7=+wnF)t/2ܿpM&38 clĝ{ttt_Gǣ Y^bKKYUXklYMiJF-5vF EUPSV FZ>8T$IPDT%Z VO'zϤDڐwc4|?!Tv`gB[bGHr `5 bT"ݘaoy/nO ͍;4{"kק JJQu)@$Az$i贺IBd 6&A|ԂbVJk8A#xoMbY҈cw $B`8Ǎ1*^!M"`]Em/h W@ T#"d͜ W4Mi͵Q:A*Ml@.x 6.1x=~sTcv7J9`8'`{&^"[,a*<~?y-.>pwa+mJΚݜ'NdŘ(i MBٮApGkSh)D` (ꛍYC)d}"h\Vݬ' 5*z2Jh]j#P,-z!e)~%yZm8cgwPR_XEYI՚G5RBeSq8*i374p#oG g3<9N͏?-ؼ(+VNh$$VHJDhUVq}g3 8OUMɏeÜq`t#ewB*IUY_еXWWHF)RslVoZNWVǕ\(.G&qĖ1^aT8},R}v[9>@w$ޕh\RRh̑ HS4&='IJt  2i1*88pEHc| L .f;]MA(#^ŋ3|P^P}΋-ǷS80(HFC%<Ok7/bZGł CE>hLF;:m&o s-Գ$mn[Z=/tG!H:Fh cslJhbSyT1;6x W#_B@!&-7Cf 4ɘqYXDΗ{#A/ڨF5j-`L(QECMd(i !Ost 4G!HO;DqMnx|e: A>MUd zj'h74')G!]hzn"qQ1ū+=u,r>K/n+K4)>f9ڝ c[la&9(Q  gN#E]6֮31ml$ V݇`}wqczUɱGqR umHieIY8 IN6($n]$6QD=*r!)B]*5. BUH@HADIA3 HLs$m""R^oyBzm{9뱑[!8+*W"e=reA10iB<$nFd0$fpc{kL8Ƌw5nr[o K.g 6"Rp6gmoрqv2M N3'jޏ$wGWY9{Ic+h,Ɋ[_ĤF?efEܨ;TޑvM={b&/0\=[ởz'A<=HqBj%KZ&&Hm.Aj)c{$Q!fo}KA,e!x BHuRAL H̩yLb~<5Z q!}NKŜ\Yi:`r*rnoAE1eX8{(egOvU] ƐGĝ[ػƆܿb+qpgP9^#+*WE*Ah1L 4 Lffh^mzD)@P; קf7K-[X_#F1*j/\) [3gz{|u}]ֆU#D@H?YxDZPNHq_BY5Y|&IB,XyPL=iܨq]$a4`J BOBHpGm̃,;ݵgg4] laqAXb'(P9)@ !N1`*0Tc"0m /X5fF}.gi$Ug;5ݧ{{ϻ<hD<^XyR` r"O)g>Ib:R"D L4!Rk3m!TQ"4M"GOѣ6L fs(kb̈́Ǟij o:dxѐ"UЄ0&GȊ} SC)+n|6ր¢`24`GyOpߦ5YkŬ>Q$IBcvkTmo<քd _:D_z;] XEDcf' _B" QH BHiQOU2AHAc\)4B)M8=|"ٸ,t*"45(-hmw{pΣDFR'&$ ]t { :oVg=A:ZFfȨYGb&-c$hgI*W D2x麧:pE] C*$Δ˻Ծa͟){V{봘L81xUaqdB_'ZEE'w_L]7dJS7;`sE \%Ӄ#C &+zFGC^w^/oy?E[^E+5;ðCUhgԍdT-i1.-hŸٵJ2ʪDɄZDD Z% `אrAhi8yX$#nMRq>$*Y"6 y1Ơ¡v~_ qIDATCa8֊8KGHՆq2W~gO_L?%ޫ8A@hJ+Bq*(5Hsx<(1qY4LMG!^HJdPThϻf!5Z>s8LrcYS!8rJE B< gj 7~ [Ldy"^:S)60'>={(+y[?{Z-꬜ZI>ɏ Em: cc[;]{(g <wpB(t"|MǤ[tB%4M0$ޡHMEE$HeB(F;}L N+woyZiJ~;칳f406cy>u/q㬎7rU:G쉞 1W1w_ ϯڷärr?༛&"g!'A(qt[i Ov";R`Ӭ~'O3ܩ妛̡r*!%fjM N]Q”`A\޸V񟛛Tf60ΐ%JL;g %rV"Պab"IH7͑mIUh_2A5mYc< d7ď~kL ])kcOAE9١1獌0'LcL9*RhMVilL uEg%c)T 0tM4x#{G -g!H)P7A4˹KbB@*xgR /A!zssrijHqh E;Gk 8Զzw 5Nbw2wǧy{R@cPeIc*:A gkv<`\EZ:'3i'DHcLw&n8 ȦA,Sdh!SU`lAb&6c%GO|''}իFl \\HMz<ٓHF:&6\%xO8|Fӌ60GЋ;4IÅEg%T:! )w5"+e+|pe1u$,\HVS<]QB Uo.xX7Mh^`ǚ3D;;%D@iMD5uęF$ik:_#u B@_}!Bo'odqV'+m!"wb2ܢ2kؿAHH}Jvɒ-%\D7QhPjoRd x&MV66X_@]J4!)y4 $Zwv[6غFuB,r%}/#}vxnEҙgM9b`R4O!/X+6h`ʧ}$dᨹ.?,!\MUTr*=!eBJ!2X9GUMLNR$+/=!@৥d B"B yrU-Dc8sajR3.K=LVd ^<;h5{gt;x[d;P G9(%%mNn,zifi^$%xO|^;~7GiK-EZ1&NM%ϓ}AXƜ9pPWp!ńX0!T X$mdr]{+yca!᾿\ yN>ſ7qalO!֯fn>R@P&>eCIkɫ}2ϳkͫ^jtWtJҽ"3|l9Z$C) 2N g%qԎq W5q18O@FMݏ h Uk{ab}N@Vdwq2[|dI5:H Q̮E"6a03S#TP2Pis) GXQ:إCH\+!nyk׽8gs{;﹗SO-iev .P.P !GOPZPhU\IbA%A &*!$tA]">kwq SҢM IDKp! o9=\,=EBڿ4&MSsxqKkd~!:[Prg1%A34.xK^r+ӌG{Ny?ìB JVFɴ9Khދ=$i?8rC( !0 $Aʄ ^D#Nа }Wk 5m1H%IZ]c!DgY0 -RaGT֊dB^&X|/?|w+ O,ljh'6Hn I _|s%- /.?ìB ι(-Tu#˃*zubB!&QԘ0*b "Yh$J!B$$BQ65lY`i^.*a)>YLR UdrdMPZQL[):{α9\aia?&Y3jKrf݋-6r }=7)>OCh7½ӟ#``K~7_Oo殻^d3\stT|:] zi fmZ9f2ܠ!"mKצ'm^o4 ߣh嘱'3.qMMeHCJ^`!ԥs̝Z_u/ԙ3,uq8yf+oo?^n9~m>z9B?×ABb! 'CWH˔;$9-dtTB@"P:1fuT4O] j8Q41 iU5'[\t,i"06ZpuLRI.PU $t[;cC9Y!L`E9{)q!U1d~k}elu^;ȑCx+/l o_M,lMvhZQ/p2deI(`qa~s BN Z P $2hd4$h:{ k5%EO;Ҍ!0"IH(XXfx(O{_y ဝ!=֖G}!p1Sg.qqkBg~oza}Goc8d\roVXؾ9ʚYhbΎ>E 3\ !4>xǨjFPw3)lr@p# IRJ+w(q 2\Y4AD9h8zIF{uGc yRmi@YWX(mTyAj4c*3yr<5I nji*`N?C3n |x8"L.rk_˫{,2… ݻ-Uz^Fam\a@fv2⡧/$)Yh<$QTk-RZΐ `a""~q5,j9Qqꜗ,$2M4'nb}а|^9Atakyҍֹa8_uˋZ?w::ȍVWX]?K5ZE+C=y(R%vN__B'W|gCN%*"xG4_+ra}@  GOV tNhkI8Vd bk S1sOB+^~/_=`Exsz]mo/1}h4"MS Uo-r])|DF<6j! YQ;iBΘp =w}{XG*dgH[*1 :[[kJdT8cE4(RxR-1xԶS'4OY RxyA]7l6yH&"bLC'3 <|#46{a%w&ǯ)!^;t[d|}/X *#i-0j HP$؆AEjQT$ 'HnXqI-`-b<3l1^`"ϰcD=a2ޡ4釸ȋrN 0X '$h;kTA.Ґ'5K*$ݜ y|Sll^t2EݦPrH*Ν[=_sOԛXMՔW}YB (2i#2L!喏Ĵ !,)Zkʰ>~Xې&yRP#|o!n8oȲZ+jSZDcuMgZ.Jp)MJ!9$xP TO[?oҔoo`{p`jш{{ j]8̓?׿i4 YׄZ-!~ɲXj.dVIlH eֶ&T5RxI&&@(O>zc_ك?ʚΞc<[do{;~g=O:G9z0!!Òs|bt'i1O2;RZ.930 45 hp>{GÄu|oͿzk[7OwF[(r<n eRjj"yxdaݼ۷xxgw}Zs?Rk<8<`cS=YgaYBXk9;8J%w"elT?|<[_B'-tox<<$Yu;Lg;0,!|9 @U۩e0u<ϩ i,ɲ !۸p`M,Kdr%d!Dev􆈞xjLnqc.0R{nA4 rv8 %t;"zGzJefsU$$yfse4ὧ<fag=syٝafq^~ufaf>1af ٝafdIENDB`P"} XWa0)x}TQ.:$4'4X}pwlwgp2wwz{^==ݽ];HAN )f'EznNR J\֦$+yy3!6mBBG{M3S.))dDZi[00S'UNs#kO\*b,\{3bBY163#[# jƈv3*iI)d100_.QZh8ؘ:51GgcW gso @L $8XpQ\bsTXc1d=X{3.M']瘖$->@E={J~_ ,6IetRH{zau=S0H`IM僬(ذIk'IIg8& TR*% h&G\:+$J )0%%̧b~p@IFzokvG^nӣV׫ rf%#32h@8~=Diב RpHhhu]|xXzq0w4a;CXJV2TKIgt! {mmmfN/P[ǀ`-\@FI&$;:xZVSð8՝}䷚* 3`"J  CiuX_$a` WkaP\_mr9\p%,s|I7ݽBXXX}Zk7{2fC`vïRjԍcgw4??!@_.aw}qq\ `4K䚘߾Ps\]SipJ8)mmm;;;u]c>8c^ c@~+]Ve+nֲkܦqj7fv/=pҗEA* N/Ejf"J"A`C.'N2əXW dhݔ&''zc_##'/ε 89ap0X`m-0kk׷Op@C-L<:\c:SHT6#)K*̸46ΌZ 6QQM+111=FbNN"'7FB(^JGyyyN}fB*ӡ2iDɩ)Nyvѷ_|0B}6qo@^^8AHζ!KsME\?ItHtXa):@Ԓu](}@ymoB<Lzw)T=ĠGvE/ݾb|WlttSD*2kzKaTbsj>6䤌M@a;SKO&@9w j_ 0yI'} g>&}?U–J9 9Qž({ ךgQ|KC;'46\smw|Br⟪'H!b{ǩ m3N=MzoFVc8)A_ͺ՘|9>|WΦ.lH<2  *3ʟV.lv~^/8' I:ؗQz>q-?( Lv^سkc>l9b=W{#׿a5Bi,;|/7+w<9-*~QnP ōgRpGͩBVZ VH,uG~A5Ju̠BT%.zNrMN##r}gYW-k|d'A3di 싲*O->#Yw uIQO`7`?vtrr0oj߇2dbWzqƸa #iGyGzJ t#) fHo1Icl1j<TFW,z|(N_sJjy~N(cB 3DR&78*}.7"ih_K'ꗊsSo͵V8cXhߜ?wbx }pr]Q"ɏ/1hy1a ǣD+|?{/bHpơMKڦ J. */ǢL$X9MBébWfƤv3E$Xws8ʋ{NPh)k籵u{ꓨlJz{i13{!һzBvCDDD\*k u9yvQg3>rc\gwxWڛ~.T) 08zUlTG☗!r0?=ۛg6,y'DFfQ{9 ~-KRޞ0 Zu7Sg ?̨~sz`ϾlF]Y8U͕$4mIvjRX(S? |cy$v(k<@ ;f!NI; _ڔRӵLfb8S269 n? bYt73.[ޕk0Otyk@1 }8 8),ܱнXԊ=5N'd*+M] b_G^g>>3JښrkKucۄժb~`ʃr>U}! a\~}̧k]oӳg l? 8;ZĂ6jLشf:WƋg>ۀB?2OUu͵ǻzG[ soE1 3- GKX&eA.^6e`gks#N6É!2<Sb5d;ד=5_ݯʄ|#ҪnrZ=zƄm7{냄[M nhWUcqQY>![MG5W!:wLh "oD#nэI:0wjۿy((iV]K{74h]'A=Ƹ'eBtHmR *"?o⬫6^mloa1YuF-n}w:mMe(e`%iv?8+ c9\`{{k?J}y1ii9c0 }03q ~ZC}5Y}Auߩc; 儂PiZgFO1YYY E>زJ{0|%̉UԻka{ \;qT$#/cEPPTWug- j|fE$x22ggMP+GUFD-43"]QU*uBaFos O^~ iOd϶uHd]7Vg(2ny/Jc7-bU% >i,bѮ=;qbSSeAj:tJDi^ԛEߟL|raa;~[׻jZl )'&VVVMB_CssrζGߢssЙrL\\\krX@ hJ\ ЬE:mX$~=>Y @Qc}>T*zeD>Qǧ~>l>h1Zyl;?'XG|cP|`qLg<&:<0\8G5x6BFսa$[C=/+kn9H]&O°+G_Nʟ[-%xׁCWm{cZDLB<ϭ^5Ull6[=QDEj ^?%m)mueDs\ܸOQaZ*FMRd.>4'+jw~j:PAeL-(p*dfgg`;Y ! !^7; ˗#g{AqB5+^fLqE4)%,J:iWo 41Pz*O c6Wקjk}d*h9Lfme%3VvQqqz@@\o3Їq]3ҮFda1>'ߌ lknjGEI/Ytq?5l9#͘ЄȘ><gx\5kNOrXnzs?迆'WxT!|44Ko7 RFƪr䇷#"PR# tdU_Ba}yl|0?44yt4l0 -1? xCؘ)mVzi%5c;pdvQe{lYZ!<':+5m`nG[բF|$ڜ74\-fBeoþ܎ovj2bGov5;Pgv&v:.jXO3+T_#Y?#xu?M +_~8'/uD[C0jJɓbbb( mZdj!aVUvq{3!3Cĭ6l%JFKameOa9.+0M kg*9Kwt 6vHxF@N~GWĀ5$quxC]9첓ۮɯٱC#g+|@(/m9QM8Cc`Hp쓯J.] >y=]GOX<~&&d%@Mx& %n,a{ƑbqĨ\3ՔlR*8X@{i*u\~:kmt_%YUs?oM;NӬl]R-}JM):e-=Bi+2 J4bF"?!Ia1#-cܗEk%!$dzBO8BD0/oֲ 4͎N'Iɠ2ݯ=,b222JCna;?ۖ',,nigkt>)ao7$&ǐԱ UD٭_11p50#-+:Ca1F9,!, lfe̋DMɺ0Q")h8RxYSO\h­uys3@υ*qoWhUs(BהHdKB}ӉGsvB$T@@άnfars$8@ {7m,Tb,w\i꺓 ,ZTGT @@vNVi\ڋ,Qk$㯅#CǿU#e\ϡs?O^\@VPZ&׾Uri\uţ8Q~OÁ_/>m=9f}l/CY۝^mB" LRI_Lc^&~ j"ZBuR7l{!fLȫ^'ֵ4Z쟇olMe~< o0[b5HF!= (uvI$5^J#K^w'=ă&|8'ѹ =KdxW82C#k:fV ;ʷ#hcʧpd!I#*k'~}x;);"p;f0ix Io;,;>6ŝPnձՅ BG֚2mnHj-vYf-$va%X)C,Q<5J)P|C]z2tum%@@ZIo GE2F7C>9{V ~~aroů*v9}=h|97x[XBeߕUXVta>wW{S1ީa+VPt";jN'KUL+9Ghܩ@O[S?OsR@/+3xȼF+ᙠɩjň~۔A%%с@cіYP7 ٍ3N:%M?/meCؿ880١ջ"2&2/s5!0Ů ? >˂ekA8 T?`⬄8d<ۉF.Ũj;db=#11QM]`m䘚!1)bVJOA$E[J/;ܬ؏7 um 6}Y\0lKz˔7lt( F=Bx(  BՀz-Od?$)asVE՟/@^2clu\өݿ[o aS)3g_[{$Õ} flī''KѷQѬĨfF/5 &̝6YS=\㊚ <_*$%,u=t:5#TC}w6 PvBr5O4u-AU oRab3s!|5tL|{_y?n-i/4na!~iik$OTPeanuiOϑx5~zE0gz4K=D?o{5Pŀ%3PUWȆ뎛q!@5Ȋ׷z'B KZlI<ئa o:Ua ',qpDT/%Ƕ=QY' oИ'BC0j\x'S46U4$*2 */_f`5Q4 cFoRAs-)#+Uge_߈n7 DʲFň'z)Yp"f͟3(w>.,P#'%+RdJ4텥#,K#֦>/*}M\T*F;:ۇTs%^OVؤ<?I#c9wL]\.#TYwvH}j2Y!]EǐD%̗0Lr( ܖ9.%ͳ&̭xv?+/ezYAz=~"9Hn/z>>nF?~g 4=<.;y4g(w:ysƽKGeicZ/׋@2)IIi4ǝ>̰k i`M,_0]gdLn?K(<怾>!,уg{*$:sH\6 8b25K20`D`H};!PSG3IjIyeRsLOEϵqA _!a|~<*{۞b0тj4SfRu]RsvB.G@jS=UQc+ n6'$D$%C78 5(J:Nfq}σӄ/Qj1VTvP zB-cK9AVقx@h Y>?]HSK/5>lo/V{%+й;GDN9"c'N-:s ::yS`2%B'>8lI{>_!\g||UUfgavYIIAR pdon3G`b.'~ A|"{/e"yX}0KĤ(E+l~^O;Ec""WYNWUIIIq } 7{?v9M _A璔eNANm%8q=+[tcYq8ACPպauK &/SOf7v{#)">2E!ǧy_Kh -o9{ 7 bT:1xt!5A fpKaXUter{p,R o!7@KHIɎ7EpP/*R ͫ. IK-"#'vq?ˑuT;!3čwW:RZl?[z8ecя?T^|㗢בE3Vĭ`Pdh|cjzc71Ep 5cj|h;`QvLB2D] ]L 9{?(&?$F*)?&X Z^E:3-3,R&dW]MUHJ7&:[>nwU,Lp.RKfj%_hLxV}Nh~/8JOn{w4v[ qW!l-zcǶ+h5y 9R 6TyY =bw%uЪ N(n QYUc'6o=VH֜/,`3yNA璴[5iJ5[`"3hgqq _6a(k)S ))?n޾w%޼DaW:O 1/XAi߃w/kv;j)ʉGy!/%Uir~$=Ԍ"\o&ϐݢǪ==h Kʋ.5@)%E,(Ts@E8:FϔS͒8>Fv)/;So<)Uu\5{k_- ʹFmzmxevaGt'EdMͭNYRC=`]4(Į`9h܍852{qT&)}T!h܀7:|LU'z0=Y(*:)'9* 3KLC?ȝQՑW*AU)3vc^T˸HG쏯WQCf89,JZdO% NΖi-t`Pr,;B*,i{~Ru93-ywo?:^7*bSe+EWsIx=unkӆ 8ExIa+}Yc?n^٨;5["%{M:s' hUH(`B۾{} q 7-EWl؎'v|'N((l{ʜqAl|h;30@G¼O-Ɗs}wzJdD-Eh;ktH1ǮRϚ~7}F/(Ii%uX}7knG?+ZoLIY3bs"Z׌_(REDLXҘ|v8:~g)H3VHⳝL.P@ BjESt:Eh~[qbb$|79L0RG# u(laݪ쎰S{VV)V'H1$rBk9}#QW0X|dNSȸOe7ǂ+nŁ6 aqnxs7_TOj;L2R1`FZz?Sbpw| W:ټɛ"<VtCKܨ Jgdy*C7.}}[E~:AP(\Ζ*[ cX7߭2/__fKgkgqdI@6\un$3d:*æx~ E2Mo98ꬉKE%LyXpuݾ#64laxI2;3yT>RWy>bI&? MS0eZq V&5áLv80|V3xAqTPeJJW:a3 1bU@lP^BIчՙWϘns5-bUe %GW56l&䇗ɁIbieCt_\f@6| MȮG /iQQIsǍhƍZIL7>EfνG*iNׂG(Va vj'䨪s~&~$9)9uѫ04f=#{3pWWv6 [U0˻/70̻?u) d9[}4w;r|$hjlᲽ*zpE:(DD@V/ [DOy閣'_I!w[Sm|y zc$'!;[>]W$3I:a0*`2y-d0\8Jm\>h$xUng(+rzڐ|8[=xBC˩~8LYMo=-[ldK>6SwVĻ<f@ӤsnIsI<)8j#x䨍Dl&OD`pdvm.8O#+Q[ K=9K.Ǝ4%&do* )q\KgO[Ks[mxhaXY^A]_NCN2 l3q##h{$i;AH{o:oC&a*@h>dBvi'/noB?(3,Ytk#saѸ'wJ{)H=WTBg;NQRU,"@RZN* [Ni&Ud6XFebfhζT v1td|y#0v%F=;??U_ {b̉`cKO]=mibGB֘ l8 p+Iy>_ɦ2hx&)䰦ݶV Ե]B4Նi$჆2ɹ.?sۥM4<ʽf̛֤mwKfs9)6>i2jڣ =w4):}iFlMtTI"A y8>[p:o,fR93SmGͶ}Ya%'Q4cY) t̩ڿ}{dЅ7XOgfYaN["V]Og כG%d-3y~#A7=V \.E&Ȥ,-CE.}D{|?Nu9[߹lɅCDEM p"}7FO!T@uǓ'̖|ҳep伦\( $)7߻b_ҙΊ~wutt^H )\_A1YRm2ƇdШ".#E<;!8?7u d߫=˞sf " ~z6[Z|u|a{I~>6UQIjp?*lߍ]2v ߾~녪$ٖօt@KMJ!Ym3r%Gp|y[m*!V]΄FM0p \i|pB-BwOn)^/,Fy>Jkjsp-X[+H:0zݺsr7lh59⦱(^yخE 9zPRRx9nw%b+PUr19T+_BP[fB7zK ` K y!Nj &YK}; j5| gqm)\Bq|#?kkDj5C?osc% E:. t.g`Hj:!>쯗UUTPAz}J><(>-EſrZ__f=gp"=aK|ɬH1zɑ&xaorZ~2{jy=dhO8+\49'q~XfWOM*z36!'Ƕ\vyy/߇S-5ohUy>gx)ްSM/%:,lll =6KL탆`}MzEt7)K++l.`ؼ|f̼g*zBbbn5i-mYOHxɷ71G~29 #(γ/ wva>Wm]Ù_|qQ俕ݶϋZ_c_#\NqO:]4Op 9Wj'3WTͳ}zZەp]CFW1քD!Pu+ɩ*MG4&ol&09.F_6۠"6,[ .Ra-5 AcBS` xHI>a,?u@ڥAzujDYUj†iMΊo;WQQMv9_RTU]rZՉT+ٿYg ddhXx-J]ƈIpֿsD<4;"C<l`k/kj'-ͥGYGgX !߼9;Rrb,4Nڧq_I{vdXT PZ}$S6x{ <3Z/TLaYщ |Z )=-^w1AOeI1Ƴ̱$%e$44lMB ;ޞǹ&~.\%^(7F[c<ŕq3NBv׎HD&;Y\N*y=~Qf;~~]dmMߏY  8㒭Zs+1XR-R~F?`\/5+fz"Fr&$?A%Q"gГ2ٕ^[`ΊDXFˀPs.6x0=ui*Twcv~Rwś+!cru?Oo%Р?`^~?U |kNCJNd&?4,ڐX "|U1*b β&Xj|bbH<)6) ˵jxLL`,+VsVtj}EQAz@8ZR~/XYVWD׸q`VQR,w1J͕w&FM2--<{J?_T<"$( ӌI,vԇǓJ^?(;QzII+!FDdojʝ^qECJ/ VT_f@LOb\7]3?D6}iBޜejQ&5`^/o(fphL.jl> /[Ү3{."7@F q12 k m;ͫw42wTƆ\I2W6ӻ x#j$~cC #G65L'bt>(YB]4P [[l@Br\ve!s9"ϒM Y 2P%D( qhǺ?+F1A%:DϛB D)H'jwuܶ/~sBL 0#:JNo%)̨?ܳ!Hw{ (h|](Z#-vƃʆ'-޶"қy@ڇw/> o:Q܉ކcD#ACBY1K%b IQCCRC{٦滍e2.ovޚLF2T ())5hXQ=66kz+>_yM! (*s,W 4(2քd*yոuF` _Q ROwK{gK(ra%L*x jL-^Hpylא!@fYDm Ff;n м@#I:2sȤEN |J֛j8F@QkKֵL(@ac>4MUgw:tN9ỽ[<|{Xm`2e4549)K"N{\r;6veZUs =CѾє r`dS!Qs_Uv,&|#QI/iqFf6:̚ADIFV<jqs9t5p3LJtͲ ~,,sGn3I>\8W$Πrg:AA<; A tY3FGTf~n6bꅁ=$s˝Ǔ,XP,_-~hfǺ \ТQKV_Pl!swR+g C{hEn= (55*j Otv4.aF3v=]=O˺ʀ0(R2yHluX(7WZ0brTx0^lPy4z ,["d㽶ayQ#fA$̶US-%Vg7B*50Fb`]q)$vZ)&*:긱ZL̸*鯶IQkcC󵼢"ʮ}ZB*͚]5"CDZNLh076X$J}=6>BxZXX`e+\7;5r*&wT>@YI[2.#T&)?GE5axgvZz3quPìW素kSn֥j8?<]TbQ:,*"D=ܷF*eͮm8BR'+3c3WhBkh J87 u7zS,;ΰ8OzJ)#s::*~SBK <МWO E2^>zs7Ш,Tܘ^F48$w?'ﮒ 5J-k/AF'5:q{NyPkd@TW)i(`Wݞ{;m՛&y66\|;ӥVgo 7o/ ӔV7}O\XnCPxϒh/$i>LD{4 WY}A+2O>1@>^rb -gPgt#of3C"gQt iIC+Qy3x={%FB 1C;7g|y)zÚY|S:D"-Anree]'!cɕ[Rw7ߙYmd8t ] љxWg7CHWJajN7= v5xzi(_ZAٶwYSN.kY+wkOtnMίX&(X$[[bp7)gH7Pnkq BjR]Rw|aDÐR˧@gO5ɉ`5P1a6AnQWѶֳ3i2B,u#8fw , EܿSeڣNulXbRBR[L1twl~u2}ʦN. jk#O#+fpF%4[MxF׹ER|_k})̳G(U)]4h+LqɈVbUtI9:6hR5QeĎ7xvua W[=f7ˤ+lJJaPpG?ɢ^d%cKZSϪ?i7A=SHqЀ]D(a.'+,?܂t\#1 z}W}y>U)䂑i!\v> =x,U (ܿ'rJh谌).P8 MiUpdC.y窍ǂjp"C׫`c 5FI|p 8(Î$`2{즲S!6qKV+)Rף?`E:' }Ļhj/@ Ѧv.4sc/Vkmsȋj ~%;!pvkw6Tdyåy.B)j8q?rmzY?N/(1xi 톬MCU39RjOFLP 9 K+_ySNfo Ō4иo ۵GYێ'BųsfɦZ D/ɫlģÅ('_[ֲiV)U$~~z&$V+:̟}I ˌqM|u{؜T!&(a $Jwp4d6 qt* |i]@mQ-J'Z@2}m?|:d 4?r}0~W}uENI\R-1I`;Z[^|OcxttKm52< 6Iy}MXF=L\Dv2 âNM)TE30JOaI$%n/*Q4JT R_pIoQ{%%pw6<]W\F!c!Z{KK^cŘzM p@{C7\m/I7{>s恏Nѵ?Jw"[/|?Ibo QMN.cokPGҕl;, EΓ}׌P|nP4R3h8eN ]+Ls}:q+MZN+h}q |~<\k57v7|J@J w1S&Z T)/"({:8a-ۗMzn$3D7Eڿ<\a0`F\^Ì鹕]H;H|qDtAV8?]Vp1_X| zm?;/<^S%$0x":ҸGhhݩ2&&7|v]˷PP,jHV=H" ד f>>5:1 ZX`|G/λξoJ(68 |ɾV\TھӼd~' \ϼSiO|g@n|;t/d P#w %q7<뮎h|qب$" e(2@ٸBBJo֢,{.̷s=gl 7a2K!G .Qi{掹A`tlaǛ(J4QϳgvrPd^W=,7fj\6&%t1A}Hj]tȖn)GXa.O̿y{Dlr"Ԙ͑,q.G6~ٕ岤alf4s6 |'b DWeí%۶GpppH^U|Crgd ۗ(A1:m~j}QA%̭m寊gbsJ*Wi2bXRIG7O =o`:et+ |]oK@li3i7C¯'SS{rU;quEHuܿe E ؄zt)N|t}R eUڏ_ZsM)٤'ė\+Ylƨxuо+iÉQ9Vix*<[q>7էl۫ ",z}nh\4f3. NgΤ+, !ob!w('PeYX+>ة̈́IW M.W0h'W?;eۖ"aۍT:.Hm]E(:3%/H`Vwcڅ2YbmOO~e9q$=kTV4iX}p׷I9xmj!tI?2:!%\ g㪼Ђw !Dagd'%%W>>%Ev[: ?~74Z/",K+)<1Gh,8~ udz(3EO3W?iL6ql?f1W>۟dl\'7>(x=!6gO,5yVtgQxF\NK|+ʔβe :>aу<(``! s4lٙ M/cYR7+#U5{b!a҂*h%&9h+c6ܳ+u:R?6KmߐT{zP.^ `؆&4vr;q doy 'W啁wxdM&ɉi#P:˛c'Enn ~} qtHݜ| }%]ظo!0GRl cg/nm%޻ΐ B:^w4ד\XO<|dPaH3y)"5Qb7Z|$71p%.1ls oW\y-l `E4!][Dr=ǛJp (0;:ѳ|1-|_xL6g(W(H-"ot˖Q{Z(CYp"K " NPrl\3"9 WTpݕW\- @A~(W}CkTJ ʱmJsI3Ux< Նv7.PC.=C@W{聅.Pbe,/hv@n?7ūliNR_ C?+GQ)kN GMD-8P3ɉ:RWMw'KS͕k,`-6;-r&Ì D9 /\ۙY~N}\,$HRsrup *\}"eLb:<#AP(7?Pxʑ'_/Xؘġ,A/T&+><\'=z[DJeς3yxo.@`hAd3)ͨ'w1wWJ^9H KbQak[]嵿|];'YEO$9f`GRe|0S~/t4`XѿK WsL3TEkPj|Y34о7F \^jrYhQE\OھMyW­`k/TOET"B<AMtfO[i]f9E}ؿ>Ժ86/Thq:P]O|)]@|7i[,>7M߼vHʶp%/(szICH|F,#O.GdDZm,~qx|utyJbb"Fb֣w1lx)wu'CGһ_? W_Mō\M6mD$iډԥTIJJtbp8ƒEnn.qqq8QQQ$&&Gzz:. ݎrN^^ DGGQ?iOqѥˣgVoz8zl+~㿪U%Z_Cܿ0DGCU6OV/vzvs2F0X90{`ӱ#lٌ;gObU\<]O6P75@[w ;N ŦFU]\; 99coUwhز2;t}f==bɰ|nGCCF,xrh+l/ߏu/MEm?Q`K1ojĨ}&$V.[鞋ǫs_#B/f=ɤɓ[dϝEY"#l;iͯbh$lEa:,+ɔ LG}\݃9*vKM7iWbXf )u;8! 73c<9MQj>dEkn&:ɓ'zÍ\xL22XTT+60aD yj,$ןbn@EQ\Z% (fHK}kÔΨ!Ԯ`^ )ޕԾs%\9B{`>=.CW:inNg脈,"Li !ןrMC@tih Yԓ8=H~K̑#O!o,>M"6$=jt>š_z@nkCԧϲZ>ʧg5-sS.#1h $** !%Ϥwhp$%=II}mHX~K@ImJHsA]L\r7&ȌGg%vDZLF\J;l`ԩ --իQ5zkRog,6'>kqߌ+aBڷA)ShiNB A_HL¤ 5ŘX1YuVI 쩬fLa hW1tD[5j9QϹ#KՄnj<1& U ASF c&'.?֭hkqM}H&R٢GfÞ]>X1ay#sG'P|Z_AШ9~n,{JҰAƓ錡tR1 -2<^ԩHxs%c黟mD;iii!0u4 w_(yduMSFd4"RȒ QC AQ}جxav?ߍ1g_# (l?.hxs1 6 I5(DR~%gN; 4L2Aj0钱kU$:$~8hg&\mmlS8l!5JЙrpJ[p;aF''} ;Yi iL~^d;5~3cmYQm Epso#99nQBT4D C]DHSDbvq:8Bqqq'Xn7vN'tm].X|t:ѴS1IR, dP!gŏ,El3b10\ٮG2qȬ߹n ==}^bf!?ƠEVnx"JBSr}:]uk{a=g' 74X5{PIfX}NO.9JƐЈd _DsQD$kSPO("57Lt<Q1x;z`ܵ Xh֏&gVo8*C#~}1!W3etX6 &LjG%3*]IGN!Pt|Wt/d.'%5#հ%9HOL$-?hр=6ɉR]AY] *TT`ћT\X&=fZګ9tGRc4)1Xs5+-}n|Z2[gtzFA9Y (?V'/@yB{ho%Ez̜,J its\~ؿ?b1ΐطk7$qFyTVj /|dYfС"t1H턇ldsHʚ'xOc)\BHt^tX ݷ!6;su=b/u(;;v{F,zMXni (76XHKM!37Gg4arkq;BylO chh@8d$.?Oe^Ѥ%&C&# 8bb0 r՟QR3MUcpf##&OB~NQEDzwrכY2{} ;?XDNJl\b "P^YM=Z{5ep -53:HL'=3-.炙gNY 0l֯Q}dIֳk0jUUDMb`2ODΆ'oUdIp=W晴S¦ |FZI pۨS#;t:F$oukV"= Mr&њWR1aP'p["5%%#ы@РF0g@p?`Y?D'پQslb&6ZCRbI,aDX8iqPMQoP5p0lěA4DOczi:Iش~=#1b(,ZbfhFI~GĠ *'y>[DM1ubf+VDz×crxBf3F͹ң\Bv|&"yL <Z80\f{*::~c~iZoqt>o:JE4Gg (tA, _|1La]g zQ$4_ ^Ce鴅tLm>x<)6Q'|h)ZUM([&>usfߊװ[7!X-DOaC7rd_D\bl~aCKqc)2abiɌ8X-uAֶ4qboK8̍gAs&= RB-,]-WǾsٿy6 ȁkH; S06܌bc5DwEQv:=h ֥î #3ںe3︘@+}/$6-Q_9:w-tYDw C^'L.Rz 'tHd z-mǑ/bWM;4M8럘`-8e bO84 , ~G)8N-)&*pŌJ)e쟎%]f LKu6si R҈y8Tegq%cGnfcq)mS~<&R37A\UFRl%x|NXy DכZHmUWZΖ:|rV{qߘPL * Sc=kUEkSL\7DirܳC"[:& z !c9ضy eeGK$hiil`K]]xM_}Cmc}m^F fPN5h>:ʎg߰#f&Pq-+7CK "{c$varwnF n厞:Zfق|(>|9? [Ѽ- "ͻwqꨠܻ=X$:K 5VKVf:F{zU5姧>i.TڊYi JG<#ā/q̐3,e.ٲyǪP!^:$ &~W7p<‚g( M"ՕU'ӫ5=G I1g]e$ .:>`ό@ z lce?fDH=w63UXvD"mnRcckPfM"F':90W9~{p:]:4mXĎ>os;l 8p 7F6G.!g>v7Yx[u2CQ%rmM+>ZLM^6א[ [q!ei6~w[:p,o桯0lV\Y*emt,Z/P8'uhܹĺXtDE*Ie-E0C]g/h:pX3U!T n.t3? @((1kxKrn"xNz^ݍR0A0`nl )M-k[wN#?o49&%"K2UKvw4_coЩ |EtmcZ2JXfw\?Ԓ+XkʨBݏlma$o%?|yMG9™؏v$0vd -b[u :QDԳYazJXl%M-!1k<{KˁV)7\#زa |^F YUKPf`;NIC2xYf ꙵf&SkQUxC>ϜCxJDաF\:/qDǑKԧhI/wFEoFP.^ rN/L#}9<#Lxt1FD4h_IE$#+NK-^0I.vSQ+1WȸF 20Jг[TʂWtRĮG^bǬYo>FhmcyhJ g>l|zw*0~x_k~fBIETbúIzq)F;Ē箥o1/yW.WԱ˞'g9 (HM7d , A0i%lͺ54]?$W|:'.{" y,~nHdT;pK$v-@vI!wW`|sjyr0\z%17ih?Nćh/vPTn|D&=%$jΧG0X]zS8zf_>l&1O'+o_j]c &EMKK](mxLt/Q=(}u3Q`'/%q@lQ nMjgOQSȵ߆hJ1q(֮X7 DtHhki`Сb۩EU[1ӭ=E@]N ׋;sZw6L"He5 ""≚흖f򟊢Bc$fHMb1 Jd9He3Ћz-A[Lj^SD>3IV.z!IP53Cgj'Qy?rH",D1>EE3g*:AFhB8,i*`^  ejk ZDA(ZF/O0i|wl Q&KHZE -#2N~eD~~ϝϝ.aU"=#NpYum o9)'Y}ݣA͵a4GbhhYx7l &knWoFk^pi#.擇!-[0ZmE{؇&iB!YH8WLx#&?!WA1&խ/Y0(HJ2HWrqbⲆUBO+⭕B@7hF$COzxϮp˦/2v17տLyuw^:~ƴ'I~1dGI6RW[MH^p(V[ ;;=T.!A=FBDCc=>_rƦ\ѠQPPF: ժ4pB x!y\z0`6mx"hH 1ې*2ʬNLVd;^4 Ef1E'HaBa mZzEQ=CR0Èfkc」$>ryfzrd3CT$IDD "*\E1 D%(b$ Q09ιr8aD-f-:u} 88Aȉqe'4MXy8c*,bʼn1P-FiZ>qF%g_ҐVR'U se"-BH{\;l&m:J2Lax[dV*OJh,ZES ]p²Ŝz4Zy%ꗟe/߉bwMo/2:~\a6{@جN~EQBx+Vq `&l 7S(c&jDk=%SSeoyx<@`a9pã0ac;.o`CwcqST[7 E>U.5t~˸{]6 /ɐɤҘ łNk>OmCd<ضOEEd 9) 4}5{L?1l`,P2Ec$(Z)C mmTMd^@pr`6D^1L]X}~C<ЯCB6C<&?8H.aμ  bDiv+n0~Y=\r9rK`>8W\r] ӛҳq-]s)3ʙǑH ;f-FFW5So׮G:\D ЛMN%I!![Eo̫¶;fT.[J6E68KZL6Nu|CQR'cdj)v@y]٫?MCS ?Gl~ÄѲ,fϞ}Xih˲([{Rn|ZMlغf $BXԱoE4EAVKB)5,yITQIΙ @UK} Ƌs((y2}td(6H00MմLq?ټyぶ d)D:&JP[WO2`UΦMyV`]p!{cm%(,~ /_M0Dʒ y  IDAT\>;~8EaSd>UV<޽{)'BzdR֭;La,E&[P:7{>۶ihhqd(2}_9')m4l.F:HXz7߹g޵gi^/jk(\d޵k"0 0Tt:}<2~j _){@lݲyMfs;Cy_aŢf cAd]he% h:p84nw20C|"sgu\ [۾iVu7| ?-լ8l2 M_AE~[ waXU%^~'0#J!xnMXvrp88\.^۶q\8I}JMy=)%. ǃrUbbYv/Zؼ5_z5?f3gMH;m1eQ^%R;]ҍ"48! ~̦;yhhŕ,4yT2sC^ǽ?+sF1>vR шQ(O:h"@v%9X0DWx $| Ci^ #١Q4PaeXXy/wW"F nmx@,/\@P$ O%) x~s\{M d F"t3ϱ̦]6N8v _ _0u#6isöKq߾Kgm٨b4=bX*TPt N@ mDM!GSBWJ `X@J46m Ŗ )!Q5J4,c U[o:\JҐ^O(s=4Ϝ0!Ćv)Tp{$(Bc$'<%zxlȣM F'>%;F4u}JgTF; Ø+5 J q糬RRd %>sR…iyY8gvģtݗ38h6ь4o(fZS4mȄ MɜraBpɿw'_w(Bh2Nfi9%<i7#8/EuYX/B#"uj?yʰoO6)tʭy+!zFZxm4-l$13Q'^MG`ݹoաF-#(v3ȬBk;-RfֶltfdBzG0 ~Os)ߋ@?2MSxVϿoR8aIxv>$b(g[IY>U~|#sn=$EƩn VR)2ØFk~O N RJrfiөBEP^O^D`JPlpk ? #H)QP(HIrgv0os) MJ_QTTT$ĩͧp<|TJTUJ9afUUM p'}qĭs{9O5C˶mZ9Ө'/00؏Os/_OÉr "'2_ӈH'aCCCtuuM !Hgض&vBeeeP 9V؈>w%83Y|Y]7S`M3uU ݺFI(s/(2RP4_+m;new ~V숓d&GՂedֲg-IÂٴn߁(h^1RH ӻg/ZK}l~26u0aOџA дhq6V^F۾3=jpūxuؖ=CBJ%r9~rsg{r k[jR~O{.6b8 ̚͵<O熿[}3oi0αK%ˏ=r9f$/r׿AǁKu(iۤ-K!bx|4Kb*MSW=$`Xk#CqzoOLbZO(0\P_m U-RvocGpZye3{L]zTH:8LӜr?=Xw?EQ]0wSq׿zNmڶY3fx;} P ;]Y!Ȑmd,V64EjvΞzÛq;^/@@ Gc8rl:H$R:0LTt6! *%b쟍 EֱcǐSw(蠼*ʶ Qm =8yu#65!^؋;|SzGTG:'pᕚNzz_?545Y#U1@ӡ"$R va!'@E -H cLvRyp)*RcJRD۶N~vW_dg79ˤKQt!ll W0 [h),۵d6tQ*!ްP`l8K*?|>Ϯ];ƛش  WK6ib>*;2 djx'cH׍c\o#备q7X` qk^}s17_{H J" |.qB?nW Uщuruײ}BN !%7>}p)͏;uk6;}*Z;[$=;PAKk7hY~r!l'Vi 8L^~ CrpN62OOW*}5Cif:/5e4 y oWM6tYD5xU!ۦhX㡡|20s~=Mr^ZEC<׿qύ_+> ` ~v.IdIsϯy9ˠ6T:ÿ !JmoZ[[7mz!< x76<d7KBɔrXz{{DuDhS,4 JdHR Jee%3f )QzI&S: 3GĮ(#ۏ4cmAtSQ| uMQzUTOy8L_ !Au6[1UzSҵi">?ZN>*D!vTLǨ*8$4/ymi,>+I$CR$|#4P/6U⠨GC_jm ;GF5#o)6UaN:CXqncOŵ vmJ|׳kfH&4:JMa,k\f/\HYD_Q;uK!ڴ-`BQ:PGTj/'ch[OKgSZzPf%h+kҜ5K7?(|}+ݻ x}  <:$2,m㡾NQ nǃ  wS򪒥gH@4z#eY<y894)1mڡ5U5ԗHrZΡlώbKL"௯QllpiobH|Uc`3S:i,3i mQ̦Izng 8Qe6ڈӾ!Ml(b"Z&oEPBJ$*UAU@LH.o(T3N>U!6f& KA KR"Rks!J']Uh ł1dw^uc}*\^`(7vJH)p8|)5bw&7ϘEy!=/!RȒg>yEs2n&G,v"LdQ*V->g.7DeCdhzS#*~(i6Hnq-Ү ܾt'(/wxK]+rYq÷"U7uzhl@5PT폠,= LJ_ed~tFyMd ^&Ӳ{=teX̽={_;I%8}O~<-J&;*!ֿ@5Oҷl .h 8`hd>Cel߽Զ-{mZ9 i {PFˏ3-x8{iC+i3=;v2yB:XMP_Y?Dq(D͗JfhGg"?XEO硽{vxRjE6L`=>*!.(LӤX,Nh`Ygx|zxdar9qAɹ:/.1t?IYҒZ 𞝔M2RairVp4Mk>q_݊ԣyKϠ7ia =ϣ4Fq9XlQ6~ ۢ"&t}s/s~u9zO<0 xE*t CV4F5ϘF~R,j)I (lٱWo2k5h(Oķ([mB>h'::}-dZ櫱҅AWƌ8MH9BB%c)Q, Us X)U@TQ*bZؔI: -GロT);p4P8}K"\Ţt^%sM<FJat*AeE߻./I&)F SV^hbZrO>$pT"A$ad8N]m5G}4exH0&_ ^}V4LfUm]r:a.'z0&ʩ`? 'çBPM9.3eMJrIc…ŗHœC! @8ӧ5lR pd&ehJϻ8^/HǃiP(a8ΉPz]qD"~?cpDpfM4~#V[`v[6pIG@$zro25r9^)J Iա擤y-hnNݠ;E>{PmTUе0ioDZM(`ǖC1^~QT-J_`ԍi4D*ٷ܎],\vNE"lY*vlz 2.}OKVN~<PS1Y'}}8-: qVѶey OP A_O7\.sq:Pix^Fb̞3ŋd)b0!CESN\%51cV1ߏq`VE? S y;3Yzt!wg4N˪ /GHeŶd߿I.9%F}`q#/I$|a݌DatMtey̝3d*Eu}C#1,DQP*zۍ3Q,9i{8mƺ0Qxet )elo>~C~s':SCx" #IS+NGW7RD&T)/C"q(iB鈿((퐺tneHcxsxgeU&ٟeE!^,:*U(cg%b(*fB j aJ1ntN<*B Х%m)QD r_c$|J,$>:iLnF û=8U%‰ү i#lolhd^6(Fj,;f+=4$CFoض} B=ϯG~e,;h4l颾 6bK.9||n#]7lVt^[;5]I}CgֱuvlL8j?ėo9Jǟp>6s/Szڶ]I3~̪ȬIR;35*n|NWٯw'Bs]/#>2B0p\TԲnZ[hbK IDATgf41.?l>|^4Z^^AC `Q0-0^Ef 7dTdi磸ü%xh[h +S4w/gn> ".ĥ|۷0|YsXx}}X룲5k&  RC<$Fu*++ MpF<>rf̘A8& xMT|d(&tU 8g“+ﭤnFL>l܅a!|!thd LFW|Fgsk~7"-(п{C¤Jcݞ#CI 'Bat溺Aڊ:*o?Kq*/# ۥ(IdQC:Y e3d% };[8v,]8@B*jUqn<icˏp gS_OބΊeeeӷjPW&ݟnwŧ߼F4Ӧ71{\z:;?&RY͚5o0ҿWHWœs*ܚEu.`KliaX,2h r厝K AԚABPCy#DYw#xTb>>z$xPU̓Rʱ$v{w'EU3F-rܫYԑ.Ɵ*g}#2ӱȜyRԥ"&J)'B1܍/ S}7<*(3|Si|ܑ3s <'hig,_QvmAgwmm >(t^ ަalTg(9Lg;0;ҘP4mv'iypycq(JF*{±tVFp;x=3cn;6^ 4Ar"d 14U?q4thn|A ˁ04e$nRUC(NF1E{F%! LSce=#nn2C#*?q}zҔ誂a9OY|7Oʲz" y7t-{8Oycѭ\dT%ӕԥsO VP,?j|KװmFOsɧwمE:yo/1سyӝarbF>qEyiEU_̬9 A`%9GC?邛 ڇCه1]Z͠D)r"- }sşp=x]p;Ceж)+C; ϠiayXpPɡ8R4_-|s>pW]>ϳk.:::htwo/S0 4>uJnGJK) BTTT@ L۶'Z AʨEUU~?-***hll$PSSC4=fJ U㛏1s# C=νқD"\vp~v3P`n,K{O :ò {5Wpd5M qzǣil=j!D;BjoUlۆR_fen3~\\MdYvCG~E(s.nB>ySY'_̇,ڏ7:=<|Bzן+/:ہNTUÅ0: 0 u;  L.*(tn&D|96M}uI>NO9sǙ0$CNqn8t8WL]:TtwEQ2Uaw.۞m8or9t.%\po#o_ -BMilGTVTʡsׅ&MBl_gL͘c[vKyykEj8c\ϱxlaŋzBfuNYɗ?WB-oe>fa42-.]:r曇p4Y`s!> ]xQD:i9zG#d,^z)A)cxf j)ı(uz@U_'4bJ:ٍ n˳38qyǞ[C1U@<褬RJl EEAB{c"HHFjE4&B?u֑Q=rG. B!"MF;d2Ɇ [,ir '?;Jܗ:9 HJTrm9HW^KNc:dO-QdɖdR rf0ɩgs~q?=g0w߽uݺUuV!LLD $& /O_ zķyn]?Yx6!tyy6"Ӽ%=3' tqfdšm]_UUرcMrPy ,s5V=eY>|2Nפix< :ñcǚӔ&EQx, S'SO G}8CZYXy#=r٦4=XeYnx;K_؂[JXYjoì<.r1埐B[y Y_d~j.77&Y\a}`;S~YH\6K(Tlm~2U FBP#C2SCPX1p$p #i-[5jR W%j#f3~yB|eæR,ɐjK׈EgfGwq p\Xڑ[QKGٶKٔMΟ}>  W][2^ET*C5usԩ:C/oڴi|e#GznqMe(:ujUg?>ؔ禓'O"  'O$bq<R!@eB0x;wB_EZv:epXFe~T>ėu'b??Qp+|d$-zrxn>xᲗp?%$Lׯ3nnYw2Jf(ͯ|Qq08 Ǒp0(UxB>#7'vH?)&#UAl@PH5ӳ^#fZ}l0p6pqez4R2b)M"$[{$!-%Jq$ ۩WJ8HmJp#uirWz:ek׮eO@#n_4*r+JflݔʥkD[+i>{ȶj|KTT$͏yX7D|9]v5424kkx/ ߌvEYh}c_ ǹ}nfm^ESCw ֞,#IBu$Ibm85ijx|t;Hk݌WWJ =4(ٷu#vs NZJS̘Xәܸ9p j<(N>3RLgns*AE)(sCTx@Đ5_%jTL  jc[FĨdX!m%#40=7e˸.BaOLvUU12NԀs '[eƮ1U(s Lf=IXb߲~FSx[u3(Uݜ1/줖/s·zZ?Ƴ!z{}Qv{#/߁!MS-nI牴F1*S`ZERcD7pi7M죘ֻPE":HC]z?(<_222A>"zεCs6~0*8$05P?"/WI;5t'y֎Q3Z h*ϰnd謽Mk鍶hj4 ߏeYj50!:EQ39r8 !r3::ZN,L, C:&JdxxX,F"X.1L&!8}}}۟O@Po9w/L }1huWZ\4" ͉x'M_Dx\X1!H`ZNB(-$5m!4J(jM"錍-q %ʕ,hŐ#LjI$&*3;Ba/~KbY&fX׃8mfIcT%+ac74x{y0m:Ԧ@O%g8@׋4\>@/~?Ow/3w>ǹ˒ilȡK`mIVZo!i3aDC69BQMz9N4tDv}/hZ)5M# տJ>B$iڲjn7Vʟe}hg6dbCV麎/9 ngnc~-(r ~a3??EҚgpG#U7FCuo0gPBg6Hkq - pTE29r9J$p{/KF' _pS=#$8ȸ%u1b`n7ɔ)~n\ ե$4Mƭ(XmdQϣR}MV4IBU%\KQ$ 26BMe&St)HJYog" H$!C+q7e CN6wIv_~+b+y?nh<,tEq9;ȕLpmnT|VG8&P0v7+7ׂ8#D#~8?9*)0T7rP(JMرifsWHUF8;|1-^']2S~R2-. eqc/]ۙIVdla=..Rӫ[h6*MwgTXԩl~.YEơl,$ LM/R)WnGU_3D<.~K3tlbL/r·dtfk00 RQ&ֲW羃tQ{C8;ZXLSf:ϳOsI͌se!Ͻ;qvL]!iUeWVQ"Qs'PlѓD:Tj65Ӽ- E<~ٵ;yBUZ)7ӹ2Rdm~=k>^74d,\$!HDvnCߩT*E$**r|>$¿ jbH*bttY jJBP`vvQ4RùYŋhęag1D+RB룄%t@2L .pn aRsȥoMjbL:7b Cv:ۙ*x@H>L~jGDې jNg{T%b9ߍ&)X535ǡ%02=̎IdZc݌LGp$W]}yʸ c~1-TL-G|nLsNzS8uhȡ~~;^kNFX,F<'q\9ƾS9d M\./5T8HUj~"??_(R!&Q亵+{ ^*FKIvKzs(YE8*S\2dKH$zJB%,lP4sי-p kG~ zlMGVT\ض,98BE%@4!a9BH(2FD$À8Rm;nmz:H~0(T_(.ۢ*FKnv ̱%UG,:qWzJwWOrpYw7A$Hf|, X&Hȥ,"   ˄-TRhg?pi^ΏORЫD1Z0<>Gv 0:9Mzb+UQ] VgxG]P$vU<ҳht0yOel݀םwl1^<)c*]8sq #|HmF:nNZqgVR6vg9tⴲM ̲s;¢5( e]^8f(+芉U걫! i؁&XaYnݔJ%ɂi> ;'I‹v208K/3UdM>= IDAT!NQ5K.v䙯E0?}었!3jQ}iŴ\"Qn9 zz+oiÔ_d8=0]qL 1?4x;C㣔%vmҕg)>G]Hin!(T44_2L KLuA8h ˮ+^[&h|rȩ7JtuuDzhiLv5P&>xH$!#`0V"AmoذylH])lMJ|mڽ3?=(- ڃϭS1Mvog.=C`f(і5>憆(,f1#qf*DyF8z C G}";":xT4E"ʕ!q1lEW%tafA6ojp\tuv1O}">\Z GBY0H_vf%vmsslvCC1LAOgJlɑ!2SÜpCff=ÓJoOynlmQƪ^Zގ 3e[S<{dǭ*Z_;ُ09*m:JKQ\دZ:{6~rr_ jW,xn"2(xB²P]?!8$\AJx\`{ٶM8Zv%IRSfB2ךŭJ4nEVPnT[6AFH ^>$cKM ᰇp cG'f~}<թf}_gwa&a%$GR6 {j[,Vd^o B #dF݈CC@р۶ɕ cHVZg ҫ؀m׳ JK菉'D#[+p4.&[_"\ٖJu{=8o;ujq?4xN4η5xkiƯ,yqgEQn=o䡡)ARpužmdR}ARhE*xIngW[7mf8@XXHeq)UbS8P) bmSX*7%*-4$^^)vذ-b*R:3| N@Es$e^ѨJʳO}X6\:5}|mDb7"S<*t7ؿo[;讒-6Fohw!=Jesa.4! ]"6N!다YK3wއߊ~I=x=X w$^{KB \8D"¡ un-$I.•hvj34B3kɮdw$(lj!T\ . 3\J28O=$۷DnܸP(r_~UZF>G ߅ ;f $0dp*2Y‘$\m`Yq~gg{n8 57DMDoL$i!Y ##eٻm+O }3pplᨀ[hO&SkI_7hmmmʌ@ӌPW|W]B0>>rbSO>o%Heva^ ASezxbr&ǁ9v([m<4::tKĆ BS>z8ݽzv[U4Ͽ4h[&ϷfMiMRXgtx7i#Ԫ56oB&o˶y1nF d "ֱ /toa޽x^\ I&y9s4oX++5F),oFɪQ,!HHȡb1 Rb>E>* JԲI&E}1`PEYp$JUAjHKp܏-$JWERdFxވ!bF%_GqI*Bq< .i -(gJݰ1|h'/rljcfl:8̽lh,H!P/ dU"R8=zX7\֙J$晞,C̷SUTʦc1ݴp&nhM0|}Dׯӧt*L]5 :>Yx`]/cc*%o܄㼾FŅ_FҼmhk)WV]l6K:noynY7ol:g;::^Z84e2RT~%M+ealڴZիYLh ,/?NR 4-]$ѶT_.ri #x~Ee|bq&&&g3m(:ό +=爇CLf؉|ztnc+V VM䲋mފHu64E+itk4XrYjHo 3YIln2_jTY5+a<#1.ub= ?Rw*}HL\!#"!!jӧO*-/_}kLeB_:zNbikm# f㡿U$I dVm7 Md2IP$JX3 }˒e:HMEUw T<%mz@'}ev72Th cq WI%?3gCj}rah |O񞷼#g8h5ҋUnLVV Yַ7n ^RTLOOsrV(,ԩSֶdY楗^lR)èbY~Mg>VPSz|lǡPOMP&ɦF\8oɲŋ)W !B0==*`YN uA4mi&>$qĉn4]pa Mw_SSZ󯚦Ǐ#IL,:xoщ$̀{_e!o 233LNM!;{gΞEe~:099ĒN9ituuzpzi7s!B~J7Ƙ[,A,"ZKf`f&pfm#Utv Bغq3<!M&9OX'Jy׸1>U3\6#<;6mz&%JX"._E8$Q0<.&'SDp@ccWY,Cރr3B¢AU.N ī*af& [F%0m$Z0,5ƃ݂ѬYS,R|'G^@s\[ž}V)}PO̙|ݺu𶶾*kFSC74ATB $H}xey̆KzAlsGJŒxgRNtOLnLI_bA PY@0 _Oś*%g$_("VLέJdY{iZȶmNyEQycV!-xO$L#Q9{4E% &H_ua[rab+L|Gq.I pc Y;'GQ4$B#6:[|h><>-|yIZ"WΓ.` =l1jl_a>45 < :P܉OtwsgwJӝ}g$IKԭtزu;ÿM2_CȲիW 21V#Eu!x2FK&jE*YG0r<^a`NΣj!Xzxȋ,K $|_M!%Ҙp5!\ЉD]s=b좵5dI$idZ-ILV\2"SsBҹyf'jk%)FHY)y)9J>+ZXeXB0J ̜#.$*}4 tDUpR9voI*5I( >4vb6tJ@DF@SZh15C# >K L3>R%j:={VV;f^/S(s@E+r2n}w^<_Ofkg-<^^7~ҴRvu~?ˡ7zAUUyl&'XD5k IN m0>A [e,Sq_\h-dg-Zz{vws߾FT m!}py4l&[p[k=<Y0-->\$H Vu1` RmK/qk.<>r(XQW^KZBP*hu./ sLD;y)* %ڃ; @WZUH^=IвD[1W|˴ AR~㷘= [˧%Txn`멌 4gϜ~_{H\@mیS=AՐ93KNο\8R ѻ]>Cΰ~7H/@>uu~o~:6S7x?B$ƅIߍ ،,Y+zSS<\֑j Zv}zإ$ǵm{,KM#!^)@Qo|[_S\.N>Q ;Hc›`9"8s=Eĝ09wH.(XDFgdjORdRYɖ L tt&TJ#o=S bj|\Wi"~Mb;Drx\2R $㸱cVktv a~{߸ IDAT. ;W;VwELR%%JTBQ.+aST|Qy*Uz* .M"+.oz;s&2vJEm2᠊驑́n +6FQlv׿򟿏\G?kbcv'KwJTUc-/p\Yr|/ R033##)TJEX/qثJ,;$IN*LMMgqx<㚦EZŶ$Ai!KX],}VݠVkˍ,* 8E68r_YP{8.[5mmKO,=w=fҹe;v=&$E=F:X*H ,%D4K=&d</ 2PpP[e*D}@8?E/n S4<; `9LggkZQBvpa/]_c>sIvoJ\ sJ,}ǟvz3 H@H! xx t'=!@F0~zLO._Y.+cYU]ZVU'Db;v zE<>di?z_ú ݐou7p a:DjT'/%1x:J5"ѡAi x SkU\Ӑ(g2x}1|? +y" /ӓ!"/jcYw =}a^Ut<~JhG\LYAmRtZA0EbQ/I0ڨ#+~]t Cl%_\4`5'L[ ޥsEEfV49ez;oڎ/"k{x8EOr%U+QnM'Y'?b hBwc7x92iν |{9) AfK2z>]wK_Osq[ek }j^"23T)k4Tx<2icn.K`#I" [8tvZi)We4M5.]Z0tR%^m??I{{Bi星"I6r0uQzzH>uWGQZ+r_emL"TL O"j8%lELN֤;.'.Lt)w qpL@,#1޾M]n$C߸J28Ά @fPsh"~&xQJB"Œj\Ȭ%VʘI C%Q[äW= g> A__~Y~NjCt Lb_{-&ca`&dd߁ zHs0n($G9gďZ W`mH:]?ʮ]Iorp'BPH25v0< r,&.,q}b^oO0:a6B|6Q%l4Kx\bd$NW={ڸwNN$}ױ<1{+g ?юgo"F5FvphW?$\_>w}cQG`ShCe)E0afz<~Der<7H+Q$݋E4с(Ex%ik C?Y'I;J4L!,ƣ ׎*(WTpmфm1rJT&&&7"Rd sAabm~RsC~8*uEv}! ~kRp$z9j2Y#yU}=TcjQD:er0{2@׷Mx"Qwp8ei=qoR.4eh(Ğ= ٳ'PXL;[{cϞ(T *" %i4yg?=m y Q woev `rK/=ymFܙώ1ɁrKZh((\$o囝t|# !wH]Q+C.#}ZQ+:<;h"3\_|䳌&Cr y"5[@1*mxTD0&MPhԇ4$cK`'DnpidqEdd CÐQEQŶ$ʈh4ix}2\hC瀋լ0GLM7#8NRP74>YP2>N$`"eyjZz$)+x!j5: TNА t\"EE^ 31V]vnK=K=IgCb#M"|3B[|oꋱ}>PAfs9˗ ϧ h8x={ڀ:bH!8tbđ#>܉\CvG;0*~"("rͽJešCGwYXX@kv;#F n4~;#tv*{ 8NC: :lg׮6v튱C )uwh[{\u/m %|ߧHK: 3;xz&@|)%Îo35Klc~mOyf"K\Ĺa[? fGݠo|AiZrPC:*ma5Xkؖk8V⭭S\YY.Qϯrf"ȁߦ\SxGXȔ;I6W(?W qni\Ȓ[fy*,ώ3L u6|T(mφEe&JIOsvlONjVzT|7ҵo|6[ u\`;{ g.O}lֺ.H$$ۿ ,舨Dz-"ޮa╓G ,/CF28 ]Ά ݨާi^={ػRm8N+h׮~We߾TUQF}tum>yJu4t] zٱWnhL&S4TUSQUn}.TUszT/Ε2ؿ3/_~bZŕ#=l>='̀>'~Q*p@ 7_}RlXÁO? /L9a=D xȬfKҿsϞţ+ ũ.0k4MPDtUbXQ{)U+x5Bݤ^q#rE `vr|rN+M-.8FaHfMj>r Pďpl錍m4kuRK4٥P#"sO}gZ昛"k^%LcۭRx{bT+9F~iM2Q-XD4BJ~j7Á~<8Ӓ5ncSx:IԞoX%]o"">*O=1Xu2\?6!o4&r,K|*Y"$AFGۉBUnct]AQ$ >F<##o_/]]QAwwjȲLk|*ͶD"@rtBQ$"}}Q<Fouv6۷i2%:;#nkT,_c.j5Hćm;D>EfmDޖn"B>ߤ+Fi/H(Dggf]}銄8ߙlw\\Akf@瓿S*qt~7O%eHB{_QGI9ʦҾuhWj=z\z:aVeAWOިdr+kvdn.~D<@g{1BYBv-~/k9\ 8@DWFɯ%EJKyD&SZj"y\j:gϦR\.!I‘3x>*&mq?O1>ֲ&٤^1iQ@tm5VxK<"UgXZACn"&p;.kȺ(iT&Z tt ۍ'0*(LX$WiR5fp,RV`G})*ᰀehqK~tn fc4x %p)*VJqMd HĻ3CAț[8Ca?+HHS>~[FV 8w$ӏepn^uq(D"!.]7VvhGU7B!a.QPUr@5v@Mm4묭U8thtn+2gvۃtv躂ǣL]:$O'00'h zUj5Z<x<@OOs疸*##m9mo|-]!QhuIc`}DSFj1l3/1{yfSl a;/)P0+{I}(~%_+r|8癷6qP/{+,&4 ~kΕmQFF]E73A7 L_"lŵMZT5{]BR4*qO']3gŧ>oC$26 GO`ǧ<mtIdn"d>Q.U|sC S0\ufS nuI`U3F6Μ9CټDQ䮻².[(_XXnVD˲3|BM>dOK-$">un7$]:hYn&u+wJ{m]^^,~? W3^^y3oο4/ao/~LSZݿ}=WjO@<Sg)&-KZ"MqyT33Y#P9$'Ȃ!YiO/lRɠVd~z~\3u`7bIQ)M+xUAuR`,LOdOPL2D .M`[CI5GY^aaꑙv9'cZG81rjۑt,K4\GVrx >$º2A׼$2K%"mh4*}0_:!:;HRc'kx'.\XJMU8I Ḟ/ٹcX$r+ֵ7:E-pc~LS೟=m[뺛{YߟfP7Ʊc*2+(2xG?B@E uADƩH(d <ߏ$IXB{5dY.je vYuٱopfnwt4:~OwӼ辣 *|ca|O3{~xRǿ^RB|7\)*8~]њZI5tt MMkb|jFoTA DXRT*rHfcH;%L/Y3xriLv4+G&={F[G x,dbz~Uԡ&U3iMLK,=Fz(J hLGa. eL]ci^zoRIAO(,-Q5]pdm"9s'=YGpv]&ܧC5?m4kcuoc|Y=:ʷ=ѡ~zzB5cS3(xGhLT*%29H)7ryqNr;p,@Yw.x g.ugrltqAM摷o/򫯻1>2|ɿJ{*({\S/D[ydY=JꄩTj3ss"'O.!*1?0 |+Lf Ü9SVa6F(B˿^wۿ=i~,fuuu)*x<|">2mm]G]p"brWLߏ Tl#dң_;p< IDAT_K j9&x+YƦg4LX,,r^E^fLô.4mQ72YSOr]21veᵷe_#`0x*1Vūu#/ hT0/A|1`qKƑ}6]f߼J\oxq8wfYRٳF]۶ٽ{7~O<$]y`$ DQɓaB[ɲ̎;f` ɎVFiVWWy'۶[(r*egϞ+is|kRqH& nz7<]o:wb~Og(xe~C㕟`H—(G"T'mt=vZ(;0jĞ0NxQd&xiC[oᡧ U˰jJ. oK8q)C"ކ늤R.axI-)6yenqz8ۈʄs s DhcVfK4,`P'NfIfTYFR-R|I1EGgh$JG"N1J.Quؽse:zX(Ұs|d+, :5''DTtDΓMުra,Ef-`6\Qϰ*(64IWcET$؂MWG 8,L? sϟc '򮷽ǹ_;1LOPj BEN?7ro^s7å5 F8 5NCJ|!svv+#1/j'U:z{>z,=zq L8y ?@(bt4iDQFGG, EeN:(*;wDc,.MX%]Ի{^][^oFQF\q:`V~ml'nuc`.l9ű]%\\LK:WDrmf+#[Ufp HO62-KGA0:@.١Յ%xv &h6ergqI\tB9[ATe?Mkx(.tMJDl5zb <+9sUrQ;*%/ҜDgN)ؚef7Wv5_}Y*@6/ڠZ@cB?1E.6c4MFF6 TME?ad#Mn3?[0M\ykoaY֕6ʯ^!sgӻ =[6^;z+n|:߸8fec"ů XbU+l)fV8V.jzص}ɅENqvYY!g*&v};Ul2ݎu<}JDpo|tEX#Ybq0lp\VDYwJz%K$Ѭh]IT[ĵDG$><ܓ8Ƥ~ [@/O[ev6dHպoPiʖTMBչV_lѭcײMT4LӼ*}UIyC+Bymή];69LEE܂V0 wm{qm#iy?L~f}]|7ZQl8Ixݖ~cf*yiRs [a""4AEGED "N# "64k$qƘ8#ݶu]뽂6,k3z%Id< 6wnp|YA=WdK%刌wkoevS)p]ЬZtt1mS a-`~jR.& &آZut>З &/&%tYH<Fűy"211=DO7Iݥ?cbr A־?jF2AEꆁ}IrhAGX'%]Cߤ!h9QGHtEp&BX`?H(X$(JzQ'ZN̤f8ݒ)2 ㊹F=w6"MeD&SŸqg`x \O]71-?XZwCZzaBp incElLVsBD1Uwх&%3m|c4v& 1$I*]IN.a< ngg&f0jMr2gXY)Aj@ۺ8}徛:+i 2f5pMERT1.`J +M\::4KTe,cMLI\Bq즉+:.\Z%D`ΠU4UZQ_d t8szBja;AYcr@"ގm6L'N AEtl\:{ U;cx"*rgNXh`S&Ipt).m H(\BK6>U5*8JKVZ- \eYXVDŽ h M2T^cc>O o$g8iзoDǗhG+<͔CYAMoC~ˎxFuk?Tdibszk$I0da߰] //NԞ~ qiw򾛶}o<1ήf/zчy׾>?v+]Sp6Y]3ik"{0$ 7RY#ogen 8Ikx쓄>#Ͽu .\h:Hpi9a}+J9^p{2u U DN{jXwI_oϟc9Mmc f+Z&K&XOAdyC"+%b[^C;dN E*9#EeGx3n7U+=(u6@ Vx賏Αwx14{>g iDV =p(“ S~Avt/f!'e-iK (u2 ؃ga;YMG8FӼH6WTPkZXkT+ j<Ն,\8, ,=q`8H4`yf_B HTWX \G0lh]<A +5 BQ\̺bĎfW׍KUDC1Sr$L|A|*K,VCp]L&2MZx2Z_it7@I4(A%Akimb!?Α; QQծR,AT*Qm:TO @k*5z'HDzBy">bK4wFO݅?%;9o\!ު=y֛Mw'8Ώ1?\[/k O=ɹ>E#Yw>J| Ex}brw,I^ӿBO勯{7Nq/a YR -2RTkMx\vV8 Hҳ>D 1L- P\]G<3Y,JfUdi:H-*K,0 OŰeH}J".NM"ݨn'W.#Z&P[*RQڤrBAL^Ύ { jUXT!z(CW*xUmbJ9P-ź9w f _hB"6T&"P˚4 #1oj$ZAT ex]"ƿU{F٣jDC޺-v͊jIWno,vk,_ԏ cπ(n$4ε+Z C$3O1QZ,v9//ip7n u2Gxk#J߳re\-۲0 B ĀifڙǨ=dAvz` ]?=6Y޽X5ygǾccce Ww/wf7/|<],p|c_#*g>bdsqO0o3oy8Hi!bpsXֶ,7|p7\Yڔ>r]ҷe/ \ܵ ^x[οOE~5zJ;uzEo]b&CZC.h=G*,a,>6>)]] oH1ar~vF\*b>4(2d ̵DBFV2A8sό1;3CնYՙ:Wf2lwi&o䋿 j $ d*A #gb&uZtd dbXhGmb#&$+W3 4T*vMhu L ְyNOVhVm{1Ϝs"35&ýE\-+<13Yf޹(+ jІHmIJƪ!9;bhp+)}׈p<;b<ºBP%dtNϣ%Q R y^B b؃<0S]8DL2Α bagd[']$a!~)x | ג [B. ;\ZD2PB#4]4ʥ| Oηɩr@ '3X\!_HSd9\Q1])pi?oͷ%&s}Ӊx EB+ H),kIE\KLxeE\-v [ttZr /|JxH-8}64X|OX,1&XRz9_8m7nQgwi?~cL&曗$;kƱc8ww}wG.JLOOjvf|2Fښ]VoTI.- ]/W d9un# 6{o$@1>V'QI*4H'M{61X?wW38'GxM8FύxO}޳WǷ𭉧dT6PqLVcyX(G]bJ)֮]Ν;<#bnn(ڍA$|܈gفFlwZ΢evnriSUj|W4(#hRGnXb_$$஻ZbwB&&&8| Ð;SDu]tԴuV֭[DF4z衎{uQuڶm[Gî951&5fgg.`[ {q1ǎcmJf kԪeICifQLڊ$Zq&rj|L!C.i2Ey&C ₁uRi C3hUHb'Fl0@uKUZ,u% -<4P!(D]N|hgFKvGQÇpRwUM.RdYn%>X*=."c% `ffCun x;6l`ڵuz;t:pfst7[lnYxűs.-n+ wi϶Z0"{$/q/de.w񙞘ov+;Tʳ P4kvƙs9:2I5 XViᩐӠFBLKjs.Mim+Hru%ui7i4y%ə))$M0𕳳}CYCIOї\s][YĮ5ipqr? }@ =֥Y !h4>|RIEv^URJo߾~zjvڵ$u}u+vY"sؽRp%0 [:ƹWi͚5Ws;JRݻNGZ.QJq=t\0v{mi}7N/%Ǖ!x9tSJu~9Bty q\ױTژfZJ#G@,TZi2R{8[QӘKV1?}%b|eQh6VL]#P R]HՏ13Η8ux7IO<|~~mvwN3\ԈBE2]W"6d܋_Ib5s{9iKY˫])岶&6av,ߋkgNr6|uZC<Rnh!@R# R[WMx' *]`~9#Bb[HZ[w1fb& Wdђ|>ͮ;z%4eL#x5z{Smz$VWCǎre/I>W Tud~R N@vC6U/TS)h9#l -1JD)\Ds iHoDMZ@ u1R3mMiS 9Ϝ |ɪUC)`72# '}jz^|i9?xYn(8*VjkS-_Xt9w%^f!PiG@*x(ND=~-(ٳŢЃeVdhϱj3@2R(=BWDc'PwZ+ZߋIP,.S"M" PD&]]3;W+NDgN۬)tT. ['qTG dC&݌$nbgv`aaH7!l8 Hcn#\ d2C!ӅoATiMNӒR #XY0AA7tffN iJb_%MLRwwNǗ ổi}ZbE_t]_ϯEX%ǯ]-7YOӴgCo{`{ h8ΥHJ3~iϠygV-J`d  m}+*Vm'ex0VHh7Ҳ~̏D5*U2~.ص(e+.]џnu/i>_ eS,9pO>$׮|?ky5iˇ?a|#"::ɤ$ "BoaI BXj 2M %=apn I4-f+U8ɳt !iFMLKPc-{oXǪݔN?LnhmJS.ǏMz70MAX jcYIbGp[Y ivd9~$-uk zwe,Ҍc(hGUJJSq[ @͡c13We푎ILO$L^`!4 t*u]XYI(bRQ+$ߛ#ו$ix1\ϥ410B!R@.$:wCQ1 <ĆbbM[:ǎBP z&鳣\2Z$evEn&D!ȮkZ7?k 4)O{81a٘ |AH2Ay&bYn( wST;dC=<}&C+&R" @lR@Q̖#[M6>3UV&i%2[k3Q` P T[2Q(f ^' t'D]KлH&c`j1 >gN%#xB7 ۅ(v\q/!㕴yhFHMH~|"VDQD٠T*110u!  qZHgvU38Åqvm8J/T9?8ÓO{ܔe0~p=s׍߼o}ƞ[^EG1fpTeRl(?@븎#E1kAD,|LS@G# c SgB2W 5 !$A+" hY O╷l|GNfi` &F`DDba)Vs[J1?ZaRܾo~`tlh"FG2)FWԧ}l~hNG*mt DՓ!+Xhcs Jl^cSAح&χD B\3v2ZM#j hniwR7xUn&#T=zb"V1.b]R J@*2>Q,q[&iE]!KRKOyOi~;ٺa3wm#+@hس 0sLM{H2MTe 6fZb$FGرsRLõ}d"@O-Qњ1RU"Ѱ8j3&vVȐHH6ٞP V>nt8=7M{0i56^dPq@\GX P-58Hq q CgMXi"ђaۧxC/bC*8?(u<' }l?CĀ#0Bn淽H(;Q;Nqft4Wvf,Cn|A4\%4yL} O/[hWywfA-WflۥѨ33=E֯_U,N䦛n&166!::THiB $*a.BDt]{t&@]ا1PIQHzbdˆnA&"e)54Z,b_'(Ujn֯ى9j.``z&oBWܲo?zD2EmJO3K&19Eed_9q[Fݭ0?[si0 ,X[:BO+2-Ҧ3$԰d=$5 Y3\MF_Wh BL> n%DQ뷓(Yt-$rbs=zㅥے 0 х- UfhD _E6&"?a,XBa(m/ R TLeMZ؅Ճ9v8Lw5'@{X?3>5D$MB!yd _Jظq>yz(M^M"$[ȣIQ70i=I"Yd$rcZ|\fhBzNZ8J(̜E$gk XtcmNYzeb%\ȶ "!-L`l&Gsy,hkIZA!&22335mH R\x{bܚV0:]\C:rXOJD04ha't6&!R1ЪUC_"eHwQ m=Ԁ^Hrz#4q |XL2ӳ|%N8S'30xyƏ͘B2I.]|)dl(wp+O>̻f>ϓ6 BFFb".PjD4-p]Bd""&LZxBNe&ىIFNr8~nYlJn}gc$cO-CHPc,b6ݖjҗIe3D2Lʦ~ƚԬ (H&ko>LIci3gГ9OG bO70@RӾwxr\-&\kոkg:{{תrWi1Zlk1zx'qQP!aR(-Xi/c$7x#F5J*sh<W"D%cg7?m{sXF}o+ɖ3xix(6gN=0I*8|s?Q?S8M4J8)n,RR)\*|){X9<ė8.bسg.\X6zѣG;&hnݺ!`b,ժa/اbKu;V/SJ1<<)v1lcU#)%O脚uo)%JRԱ;#qU\.N'OS\fff:EQtT2޾^ΏE \O E F"$Mǎ"D v'#A^; x<.4_,7GlB+ŷ|"˯d-̙?W|x B!T4AEQSԚ5zr 4/F/5R !zW#o~3l:,S&JQ]heT\MBOT QkΝ;TDRRV۷w XreG~ qN;VRrܹcrY?|_YrdM:aHoo/TD"qMAԋ 0(F T$JJ""^42Ti& \X, ]]YwQ:wVܺĦ.6E/)۷G Xi>F J`R^+[O˙sc&lo꽓GOa0BH?rjz!}H)/K@ Go~cc:hQV2rA7-WipC?z98;na >_~#G~&*u&Y{;13ۻB c?:G dOjHieFEW_9VlXK$ D`&E6$P^DM(zf,T#,ӧBޮ.j&f&Ig0ifj!]f3\咦icW Ʋ~N;]r~~-:=W˙8r׿U81 ci;$eR\ DYժݳG=JY z-"iZLNO_޸qgP ղ9wkcp=4)B϶;|jBK/lID,8?z??d޽ou4] '>!wr=b#?0 ٻkK~X 9_(p{&Zz: Et{>\X9$(*?MRFƧu?.ҝN㨘| R4nnظf#r y=|$Eճbn'MNek϶pvdy nVޑt&2SO45l72?"Veh[V!*0c X$D/ >bpGs-Id c ڱΚIΟkv[hBO֢ЯS ZX`iX&-&T +Z5lZӾ!- q])VaKfl;bqds6Iω$aVNP.eN覆T&gϐXHs679h$VN. r oxtfZOq]ɵD(vF!ua6ΟG8vėwN$8?:ß!"Y-Lc ҳh"͇mS=$Օ#NX=k̓=Rk7`6f b`%{Vy`s]+y45h/'.õȽ2ϧ?X>Frϭ*pLĽBP*x[LRi&K oF2ab&B0ؾu+C+8u8oz5{aΟ=O0:6Ɵ|,~ի矾%_*~~OqiJ=ƈC={^qF"I:OT\^}4M 䟿`br; u _"Ν{|"h(4]'R?/_u\RO7xO?ud0})lft<ؒ}icYX 'k呱8㙒O1\r=@FW*ED.-EH )i"C?ybl|.I@Bsn"hl_K. 6p '&0gQ9CW.M:*vqfYO}nXdtop_Wkw拿WՌ3 ҙiC԰K6Vd'ʆϷ 31]2@`Gҥ-alr 2yI4ӗ\v>6w\U O _i8&&[6Hv ڈK&wL})oO$SWW8ׯH$Z9kx. |!tI߻ޢEk? -bzYzc7oC1"5VOڢҦd($j&F ÞC+Zb>@|@ (*Չ(.`6S(Zp "Q5P5!= !TP4@<|O:Fja3`P|ݽͯ 19}8#\π|ɪ^x 7FEB"^G%܂Ɩ`H KA$QK`z :$jb&T "t8, ߗe _>N<G`?-Strjk4%m b^*ö$34BqJgFo+uQ*vi0t)a4#Ȫ 䛨jQSS_'[c9P]Ө2?HDȺE . #G&!"F2!ϡ Md Q%8c敄tFӓhIfX0\M \CBTZ.Nq3kw??D0hr6f[z*"J\2f;o^6h Ez E28a`PTO:I}uDU PQ5H8&&W=T]%exM[@'Yk:>E}cxxI "y (H$zM}YlˁpLbLƗrtgǙ>mX}EEQB`-t&9>bBn\nhGW_w17}c?25{ua>O6}wJP5?̜EFccFz[ CT%wݬ8$zzz_X""uAm;e=gbp+XSiFG=Jx=cxݳǑ \i !:'w§~!@\Fy;$M/>nx1|']SWxp6GEGx5=HϢ\:M w]\j]SUx<v]r&xwxu]Uba 50.C,`:@TJӄuUp!z`$kxgOaB*D GSL'f?bC<@ S kT50='hiٴ50PN_7\|Pd9) |$.{ď+HYc[\Ogz:\>TV Km6V2>Osz{ݏGl*XuniP'>{EU(3YHA5|Eзg7Ghl?4Yխd#G4е \'̾&YĢ)LE'iS. R((lnRˑ> 9bޫ*}!}v{k/WJ/y{x4Xs a|TLF4KӋcC\{:/݉4G}b`0ʕ+GeRU-[}Q}|gŊ3 pws~z,ןqGC ,+98< .$XjըTRJXt(SUիW>}}IXu,S񄪪]nT d2GilذB0+VTjtA֬Y3fuYlYg(JuropǾŒC᫿\L;N`Zj.abs}Gd:d~1N?$ry#&`vyt E1i:>U 8x*7:K@h>BIB 4lb! b"[ M04gx`˲hml:ZuĭGt>}!Bxkӷ҉>c '0Ns`L_OH=A767747N/~U+ ݾDؼ_/?jV얟?f۩&USM*erlV5TX# &L`ɒ%C=D%Dъ2*O>$LbJNAww7W>zTnyoLlGu]MR*PaYEVb@*Y6mE(]<4M#N=otT(ű{5@UՊ*Dc%~PeLGVUTrJc q4 9K51߷+͓󫗲d\ĸ鴚n\/e_,{y}]Ǩ{3l۸mrΘSKރJ߽Rˠ xA*X<42FbDEAJyl7\K00'YPKy Q,fP,wl+le.7x♬MIf80~p%;s![b0[%]2F2-Kۢ>?P--:S:ZHh@a V.ǝTYx!|4"d]R1݈RUJ݄eĦk>Ma 6ؠZGdy[q'{={UT(};|[y5%=Okd8=D4UK,>MUMSvr~J肫Iފ1̴y6r.dɓUGr Rx珮ԅ3jU/SVc^9|z0%W.^jż7m/ٸ=v^VYKv@.c |ߡs6:̧FTM845)LnMzH @JJl_=;lȾэ|>$Ё;)̣~oyb:}C H?q6h<-GP{XTg5bg2Ը7UeD)dh}g"6k:(b CѡpkPؠE8R;g|յƋ)-]A$0sΥC˚7R!zِR 顇 ,p.!B__9‘ ÞFT8+OدuGhj ĘJL_gsp5Iޭ;9"xgmj6~#+9]~W{p7<~̼|6/\@KK>Ckؐ0tN7qZٿ[К$,$F|x#@h׿5-ܑ̓_eI|wsSdlW}r Sr`=|ױvetYyZ{ǛgsA{FHLPmmbE7E*QױYR)4)I^|_*DywJ^9q9rn!s?}9diҳ|ki^6\;΢z:2 f4k]%tn!<+|r`P%K.0cr* *quX"kp'%8ytNqU"Ce'1kBK<)1O/t<.:BNyMA)좁X--f_"#Yf0vWoΣ .y@n cAJG&T䖈$@pI~ #bI$P\1BN2-.]mL7OAɡQiA/pw>+&3kTW-9|RK%rKa/I]"R}zyrm_14gx&Inm?5qBÇ9 7KRF2s<}p΅Yfk#}A[[G6쥪 b!h 'DW(fjvwC2ǡ:^ΕN4(s:EQH) 1O UyC"/BesR3?؄dg7=kǷfsxfI ]Sغe\<f!<HP;mriߵTi{5@ O~Fۅ̱cheZJCU$>bל䇲X9A"`NFƸTES0mFEE8u=+ P9F@QӢ/R=g}W_|lf|sݽY'Җ޻bDZqɯoY7G6t!7dfSۿMy銁1|oq9CtTkCkSK24&XU#=C{0Ux Ɂݽ$AҖ" &Xs#c̞/(]oa߾,w˻Oz M5]؂9mx_GW&Ѓz?!W|'ϮY24 .C` Bz;G UCgkYT)r.?Lׅ3eˢi4hŹ"Ӧ-"۸N CAfϟyu'BV$kC:>ɚ ]ĬH,!BP # O2Yt]nJc:TO|#20 j||& NV2PAz ˮdj] 7 \<| (}@/ZH&ͤe7ypGx4?W9PŽ,㎋t|y[ 6r%_ k'?ˮ=7KPts׏si>F!tN/9汿|{~w1?iG YJ Zk) tv&X#ӇKq13fP_c*ւp))95IUU"s J$'#Kƒ>_3~= Q6b"Ol̥of@+C@|=;-j(Rvl~guN/:#Iȡ< 8AU#O m^PZNC'R sSSSE(TE4P$#=I#l@RaoɵOÙ"S$~4Y&{`re'=EE$ZCC}9&~KW` +Wn7oSg61wu-[)Gο/4j]3>qao;r Wsi涯~-~3nZ7fKaR6RJzzz*yX!ıf2,RQ뺎eYEAJU)y nSܿiCYclx_˺Mjf̛Y ߏe;68XS8:xlW}G u 3s"62~χx^!ǛvUU+X,F$wPW]]]UM7G}>C_M_~~lVDze-װ~PsO% {%umW_g@MY?H[%Xu,BP[[d3X 0*f;p 1 A-Z'&LK ENC7XqՆǴ lD\GUJD?$%0yǷ8Kvߓ;$ndAc&[Yt9p4CHwbA)jõ{!i$9uCh/1g<"UWm3s'Lz& O|N:.5fu WLgbT%M'hD)SU5hJ#q3*nN:A,*tx$ A1Vg UO(b<+86LT(cpb9[]ץn̮Ol9C*feynٴo=9%KO6^͵C"x;usD+L , 9Ǎ.q躎jĆSqJ12|o3eF#!Ä0ya!r!;X~7.X(I ]圕ݕcY<[1Κ,ϜAPUOa_SN8x&y񫝇 Χ39XFE`:a:Mww>S:J(ŋC<xLL18!?eeWy [{:%4:_zKR &Ԏv%swf !=y9C p2w-ljsaCCH"_JOTDxKO) &긮J.`]*/E˶Y jPgH9pǛ$aR[[;j^Rs+a,&Wb;;f{.jv1 O~׭aoE~Kܿz ӧ(BaC7p$o[gLQzܱhz! Ge揌`0^B$sN8ƍHdXdÆ 2渮˴iHR1A/SK:2x~zJ#ޞզ*˖-q#Lе2GWQ[qŠ }@{>/霩dYc K9k:Lh"H6m|3Wpl׵5@`!)`4mݺQyzG"(9<|B1HTyGH$4b&qڒ72j6xSD öJ 8"$֓y{V_h!S) z/ߚ/3f3c_+])֗lB௿ςYm/hno@eLX:$G% p!Ա65ZRt7XZҙ ŒЛNsWNשl]+%9'"V±.~/rIM:jZd!JsyU4hJ!4eB^'g2HS ò-Jخ7{nmk%c{n>\Q._Jr<u׬Yb!x+f꭫cTv5Mk'vmc$4v=)oONLلI>t]Ezѣ E!ʻBQl͍#=)R^ӓ*x2Q%Hؙvu>m"#I(U;lEH:ZZ)4M>d29 #tvvp@ Pq32ʺ;qӧO%W4]ץeQS{u%zˑ|ƭҮ(WTB+L8Lfα^6ʻ{--- 45g˻I꺍T^1S9Eӄ d25B@4q/sfFSW*8.P]]]Eb$Q|( 555 UUijjZZZ( ǻJ%:&OHSSSShkUJ4_1Mh"?Wl(̛;aJf}ߧ9gG D9b)IDATG"*lmmhEQ7n\e9on!˽l&LPٯ<,X7D"1 % ᙇHV/:UBē`Y),Oķ% HM|$xDUG/xYצGu)\>{㏰8|0ilO~7rŽLC7k ` T Ѓ.(> "RG" P(Ĵ589)#OsiR BFG“ UhɥEdtP X"kR 8CdU^pGEtl &6JD7D!Z1Sg(AHEh,u &WYx1 ٹ---cع%J%^SSC(vzٶ{mm?G&Nx7'N+eg|߯8I Xj%'ʆgp !\b'$˲m{u)ǿ2M_`3/橧6Lλ+ BY*-e@TF$%F@aAKrn钡;/ )5RCw8?ku\aRmϕqM䖔+PHQo307E%'Ԩ,H-9,ε,X[*CE;231l56||R:\8BG Z1:롢`۟1b| p@BS_ 6xFBφAv,w|s*J'cox}YqvMHGbtJJtWZɣ +3 |#Oռ_ս.'}/)uD63.*=0y8H(ܖ-,ni/Ux+-ZИa-;<4o~2$̔Yhzreeo 7ά&.B!iW]Δ(FfHO+G՘q^>3+ *3-J=ӥap^(ylFpӛ"dQ'mP{5Eec9Nls"3imi ȋR#)q-vtIL`-s) Jjs"z9)Kkfc Twٳ8:r2+TcgQ;{s)AN>ᆐ>a Rob1e u\VoOx!AXBiHK @껑`'UA7pGnV/S bdKȂol [_]w݄wwOJ Ŕ,l_lOtyb lKIf65PdIk&%{9qWVEEkCvHA"~ˆ-?eXڧ@v""vyH  붿ph[^lȣN1J:H.U,*ɵ˟y7 xu̷)a(xV)QW|-]9$eRYq'yO`YaEQLv#H2J;MW0[k6CldPnxi},?|U hb29v|%kوfKh$"L"L6#!#_F`mIDevpZV_MVHڑ}IK=/rڤʾ[=Ag?x.Ų?-P>e4\s0N2oعj'#fo06rSdqT3)Rx|mk#beo ]/|xC&&0Fj㹯 Ll:eob+LR^ޜW9m}0J>H8]Ơ;0pK; aϷAj)'ktȇOA-5oyu 9g6K XĠz?wQѴ!HFiK:FQ3!h C'*]%Mpꏶ˛VɥuV#N/ 9thL0{g\#ht nt VW1rʲihf L7vا_*Jmoޒ/K Zn$@3ݠ@Lu)ێA :bP^ttkJd.w1d۲oFJL|_l|8a=bci*eV V{QuC0dԭ=~xE,cZ#y{ZVE+GTe/CNACjGb֍*vhGX´Uww.=4YkRI c$@-O K?@/x/#]O*3uoP~gE<GbF{&'ߦ`W]'` _+5~ٞ ] ioûK]dyy5&e]15{Vby-U}LJ#24Z*Yjv 2K%vo.{w:2l2rTxbmHcmDPź O ZWI(0O'.lc>Df UYs&;z 93Ӥ#߸ 8IR|C>5B雮tTt2~ĩB5'oRjN50dȳ\Uk^F ZKNtHjzZ43V $<],L&'/|iTE #KCA brk2aIfIDmq y_))L[d!խc=PO;Y+tdNR'XQ ƶQ5- A+%_.+2P-ؿ-RȴF.8u;j+PA4M+RKW!a+7Ye9 Sl&Ϭ4BOD,`~pj-h[Ċ+jCa)bzVIeq ~qd(*#8<3e T&olWySDE[ ? GP$tWY'vU5V=$j > rYXWӝ{դE徎1T4y1p {P^s)p )e)AA@Ek>d(͵1~e[sRR>SNqGZ':"u> =\B)_etxчg1k܄D~ bca/êk,OTv%!EƳ<~MMo*{ޯ]ZsnBH7+GꕡXq,rT:>$b; >(x¶U`2Ysp <.3Fk0j8|/kr굈 JV{=1¿E{;/63 yI&bԙ̈́8ϧ<̅ AIkI+n>$ew6ja[7i|Mі4G6{׍nGC-$w>!%j;@ t6p+8o.v _E@|n7EN8ZmnS4$j~?6VP9t =<;-Y9ߤI2S e\@4p踻W41>.;v501hpNZ%-q;hO*¦ P`WϨ)\tޫR(VW-?*1lLCgԾg}䔠w^!W7Ҳ#d؋_câf ƌ 7V(Ԙ|84yҲBxNd3M T'&R\jp.ęvje'|4_IjYKP0 Gncl'm4>I>Si!~ÚxVSGRv( F2o1'y0JlijNin0 Tc!]2 ZbVg^P.#+i;?s%3aHv.QJnVnTxqM,ʓauP{ ƎŇw]fy2qq5@FȌX$YR?1mxPN_- ]BV\ ɳgӝƽH ?TH2wOċcxG1ʵ6y:$~%FІȞo u.{ɄPF@4O0͆xcDi"4Jis9rN1]NE[тrLY)>@%%VHT.lUŠ |vN~4$#aK:u{%~,1htRت{f*r1au,\qg,l"]GЊ= wRT-Z~oɷ*Jz:k7\6%~ĭ慥e\WG+tQeh V&ec`ϘchQkP?Enf/2%{$%BzWTH8+ aϟQ̳岡℉')O Rg=F~]09Qr T@q-/D8]?O|Srr6VJEa\>5dvgю1SvKeTh*y =;lZDe SMu/>MOvh?VYJ')BJ=qiw'JKH0=pu9=F:EY}2+eK$ 8ճeXrޡ&PP]Z,4x $bJxTT#]-63;wapww0; ;YI+ݝJUkwN$@T {;$C IIBz {PZBG^Wi84,)+D癙mv,bgccb "hblbLflN$!)DRTH]"[me$4U_0U!R磩I0FjPIjIhS JW,'c yXjaͷW[tW=ױ^ @ρ2⠿6kkݮWp:&eBBc/l\Ƒ]BC O/ *Zmӡ(lٜ\ʲDy~eX2wD/1/\]N9/mKt1J9VoYU.H,f|vl%uΧ +"jFʽ;YhUZWܵo&Oo^D ! @'UϿqƞdu]bh'nc3ǥt#;w`~ēNbUx~9xSOUowu>tLB@n4we[]ddbR:0 A*V}TH)ඛoD)ͩg(O}jػwݣ|Cz>Rᡯ}mᛷl~xY-mST @* Aࣕ\@HT>Jkd( ٳ0 ЇOUObinnΎrcgA?y6l嗷-+84V2M6m܈eYamXM2v*c#w sf ]y|k:AM?<yKRCT"1yʔ $455GJB%QR"BAAH(b; *S,ʾ /[tqM۶].WhN$B)M"4Mz0 عcsȔ)S&Fss3lD"lQs=۷+۶ViZ8ŦaH$mRVCU;3::%QLH&Yl \JAL: fG0GIIFX,Ps(#X(pZk(mL&CWg^~=ceR]]tL&I&O!P(pwm6tS -{6m:}D޴El>|JV> CCR(%.\۶ d2Icc6rXI)1M gR0m4uG2uT#i-'!DCaص#v~{}w[9%QJq􃘵}i5QXȰntDZ bu1@Ci;:8'0LԔEK9uPJ_R'0 IM,dBg2R0 Ca(vءKBק-ZD&1 %ZW1́Ӧ.׭ŋY|e̘1D"{@IE&AarA:!!ISPVR04ӟcuض=q|<hR4Zk hl>9"%a4MyYu70:: |GkQ,,%L&׾ 9=o|,`Su,5ܹT*Ŏ;xPX"q8D!Qi`;ȻjS ]vh'DhjZ[Zikmn Aǝ>o޼[n٨Ν;ŦMa1GlF#c_4_ .]˗o?/.^LwOON 38}čTsv% bA0 ks-048*Һz(hkkӅB5lV_Շz1ZeT*ao4;wy'ӧOgѥQn5fۮ0f<۶qn}*839ʎ鋟߰5WS.ܢESK=K d2s=::<sil̢f јCtvv"c'H) RUR4Cd2iRxOgreYT]bǟxlADk{V1q$$wanYtݽ^ J"BCO:()E;w`xp{Vqh C)Wp,َCJ}i}H---mc446,84\$ yUEƸK;mY:lzSOoa0>>N&$SI'M_?A4ŭVI _+LJ '@XAȊGd(m[:l2W~/<@.g``mmmr9 à\*k. >+ NI8YB5n(]]dbUY؆ұ,la^gg'Bt:Ʃޱ)S"b,Fk+J$Sma 0׸z-h-id<|naH" Fg0 1M~'MD0M : Rp/}_*2 _]c+#J@2FWg2 >޵4D k)SU4ZL ,k1-$UGl6 Қeٴqlynm0ضY~3/C)En4_R/~_{T}UdPJ36T*A0MߏX{/l̛ĉH6mp yQ47Gzce8H))!% €KRu%C9TazٻwD2QBnfjatt485ҩϠ_+~zzzxy˖ol۶C4$F_DjKp9G>S2R 4ٳkgTIRPJ<#J>:aH?:}u]֭]Òo t_ĭ b@\Pȓˍb6]y5XeKk (vDz nn\fv,"Lx!DGePD hmop+ƃ͛6"o F{ҢC)ٶ};i ͔JKFURNgH҄%"1A txCQJ6Fww7ik+$ȱI(R R4eFOEYHi@IQV=4a0< M`ʔ̟2?<8AfCxax0gl{>?j| 3 8-\eLذa=,7lϬ|j[#⢋1+;Xv-cڹ| 9fN}]3M>u7\\sE5kػwotk׮c/3}}}  ns]5kײfZN-[+~;0A0 x'fʕV[1r)2 +V\ /r{CZ\Oń>fϙ9BT*9֭[1-+ZT0Jr]`A@&\_XX>:{vR.Sٰa= Z~]uيeŷKlp+W]u#{n''pXzf8=…gѢE̝;02DmO\"#J)tML2);l&0<}ԑqzϤS(K #hjiŴL?I&d.ZN}{ xWXӏ]dɚ|PAMg``p}s;g̙3qzypT,fڴW@.. C?D2 e!V=*V\I[km?%ou ,?~]ssC{wOss;.xZk:,nVOJE" _Q"eT2$g8)y:h)iΌˁKo_t<ꨣK^ފ~x=^x?rgp9g}۶z*tHRuW\0B')"aQAR֮;oN:)ŸXNn{U~֭[w1s͛O4d6uC{yH)ԧ>e^@1FtJQI$S1y1G׉{[/,<4,ˢqǟ@dڵ_xZOjoV:Yc3)A*i Pugn&d:hLCJ\w= ihlzC|? ' B0|ɅWfÝɤRbiF[ԚMq AP*F( ٰ~=39$n5Fu'R.d8  wnz{'q3_ڴ'z;co֖.]ʐj8$޽tuw344H6%ϳzJ>Ab7O$bLӤZu}[l0MДzz{#_{s䥩7jgQ,hnj" %wd"Vq#hw$n4'sHdA)&+?Xr/~Ë[cu9D @IҚJoJAܿs+W6f[S[־_?Ƈ[Zg76f[Եpl2!đe-i73Wv~r,7zc:T,gWtwvO{F箿8sT.y3܂*h ϵʏ#i۷nزmc+?Ӌ2`͛;vmmkifZJTt*s!˔WYi;+%ɳϼ"+SfZ[Tr熊g_Oz|B:RU;+dK}D~i̫sek+TypM~wUO}>P%VO!G@M&e_}Zm]@ƒWK]gW] `iɪ ו\9Zozn_nZtZ-:G$Ӕ^N(N2/q=eN$\>E|lm.o 1ۧd0iߪ}4yA|MެsJk˙C\h×!E۸o[4ntӟÖD2zp{'"\:C<+P%%vr|.ǣf+ۛ 9ߏʮz{OW9׳M=8Ҏ]vv9`t饞u S:l[&[e_$`g/)PyQ<~if6uh,xh`_ ?77bz3"qaE OE?7≉'ƒRYUf\14殯Tr>\UY iNXvBrEʈ;DdEgb( r\ԪxRb8i5ry pT.zkr,s(S-1C7jG4Ԋ2i4et*Yl@jM)n2NkO+"u5Y9LTU$j2"[alPQ"#< %jmE7Mw+9P_.FVaSRϸF@š ^Jyųuy̤sh:%þ25HX_6ʮz3BC)\G?#a].aqS.GeױM}űʜ,!-°?7ÃQMJ5M,MQ$U+ʽ p9nu˖S\L?Dʼr+" :n焻>|_F e4u\N%Ф(:řNk`i^:`kϏ2-]~&ܚMJx3D`TbQ7dױ0i `K8\mkZkYz{+JGXt547Tۡrs$H^$"-۪x%P֠O=ǻK,Wk}^١e^[es{ NʵM;\,tR=^";%C Τ*Yo!,25S& azP3\vH|K&eə |6+PnK@}]4YRQj+ץB6I?)*r`mqgڦK5E ot!0ͬXS)֡YvPM&Po HYW~bNIQ`p7*}cevmiY);GuK9rYOFDnה:G^=@8bfH6Q|{S_(ooM~R]&}|x.Tˡd/&Wu׍i^-W%o שѩC};cڅFXOHXJeM*|n9zֻLʇN8ASTȡ.\V7*s 7]RIh/_-q0uJ~=TQ"_i#oceEuiSSH@P6W_izyh̸#ּs+/nv.0 ~f˩U67GCľgXp"P;vܞcmz6kIW=Pi{)Q v iX|͑nq1Ctwk-Kcu\њ*jICiK݁U: ?X_LkX"X;quu׷ 55ǏS)39xšzL 1LrcY"v9 R#k`t/<ػ~ד9y:ZD:d[yق Osx6R#*Z[?Fq,"Ū-IT.*m.mu+ :Lg(D5nޓ(. Q$*`b+:s'l92} /.s27WKX<1Җu|yH%*+ hߖzޗo_uU7&|/_7fcjh?r;BFT,hK#D` %LYw>k@s#ilt3 OʮNsʼz0X}4Eyx!4H u4ێߜRc džbO Ǘ'h>߭@["I95m3vbÐ^ƱLhʴ].t^ P*˚IBRgYX3|TVy@0juoF ]F+JsoH> i.TxS!B$e.6%v HX/4::/L}U rie=޸!ߐu : =i޽Z|/˽Oִ7h\qq+Yd9 J;K0CoG]g6_ʮNms97Sp4 8ԛgL5R#8>Ҽy(.º2iGŐVE(KӔpB~Siwb Z $6į&߻@I2"P7| 87Cӥ+v|#`;[K3Z ${&tTD݄l`]G2h)^p=NiQ, U׆M/r;y18 XuMáIi,i@b?ŒpXK|«[y\ng_5A`g-3ߞd qGu{{jId^8BfZ]l CoYZug+]F+ٗX y=J84?J.4Ra<u㒃]O5Uaȓ~ eDig8g%+e>ZOaoANaiGSj9mokyغg?P1+e-f4aT|[޽W?0a\-<3^+eo-Ggnhڜ/o0N5m rd[ūUu$7a,mˁx~Lf=e5(D]E]uWʮI5[8͒/x5MF/x.ui8'{M[ֺ5UqI)TQ `iXKc Ӟ irѫY'Gh@oo>"-?XJC 8>0wf+=Z#v./>6~jݺLv8m4͡qesK{ozb(~-i; gƓtByNy\Q氎 (W5~v<q_ jHK6?0C"Z{׵@ԕhOe~ W (v,[Mp;0ٜQ{ kP+E5=Jh~]z8{@٨W\ok}@>)`rh&Js{[2w% 3,S(zϱ8w-g@me}rbX2%R퉦횖UC< J~ I33*d^u(fX2,#7cYF&M*~Np#rtnԌr4xM4nY|W+yRt(*1 <Ќrј7maQLCsXX/?Ё*< ]*@>\W_=ix2Y@anӀVv=ɰn')"` f](]L$"v)7IENDB`W d< x PNG  IHDR9pbKGD pHYstIME(5qIDATxw|\ՕǿMU̓4Tc@Pm 77' B %1) dٔ%.KL섄jۡVF%YҴwH3x~H={{946{z/+ڮ[)" j vThKR_mk]Z(bzMquc=ջW"@.x3ƸE7-_>dѲXEE[nwt^SMw8wBuLsElmk-\bPG3u:;_SKEXwklLX+?8a4|/m˻A74.cCxqL|cz8xK!ZZ :_8g>\1k:/ M0035.html Para a WEB 4 W0034.htmlSistema multimédia (cinema em casa) ' =0033.htmlDispositivos portáteis : c0032.html Smartphones e tablets ) A0031.htmlRenderização de vídeos ) A0030.htmlRenderização de vídeos 3  U0024.html O navegador de arquivos multimédia 5  Y0023.html A linha do tempo ;  e0022.html A barra de ferramentas 7  ]0021.html A janela principal '  =0020.html Interface - Descrição 5 Y0016.html Folhas de estilo K 0015.htmlRegras “Todas os disparos” versus “Disparo actual” K 0014.htmlA propriedade "Visível" dos blocos e a gestão das pausas % 90013.htmlVariáveis dinâmicas 0 O0012.htmlTitulos de slides pré-definidos & ;0011.htmlPrincípios funcionais > k0010.html Como trabalha ffDiaporama  LZy2p1wL)# A0105.html#Propriedades do Capítulo :" c0104.html" Propriedades do fundo F! {0103.html!Adicionar ou modificar um slide de título predefinido 4  W0102.html Caixa de diálogo Gerir dispositivos = i0101.htmlCaixa de diálogo das opções da aplicação E y0045.html Tipos de objectos no ffDiaporama 7 ]0044.html Ficheiros XBMC nfo @ o0043.htmlOs arquivos de configuração para o ffDiaporama E y0042.html Arquivos de projecto ffDiaporama P  0041.html Argumentos de linha de comando ffDiaporama 9 a0040.htmlInformações técnicas sobre ffDiaporama R 003A.html Ficheiros anexados (Miniaturas, nfo, etc...) 1 Q0039.htmlPadrões de vídeo e resoluções / M0038.html Recipiente  -0037.htmlCodec de áudio  -0036.htmlCodec de vídeo G^"K"7vG-4 I0122.html4Propriedades das transições N3  0121.html3Selecione duração da transição para um conjunto de slides 12 Q0120.html2 Editar texto <1 g0119.html1 Propriedades dos slides R0 0118.html0Define a duração do primeiro disparo para um conjunto de slides @/ o0117.html/ Editar modelo de miniaturas (. ?0116.html.Propriedades das réguas )- A0115.html-Renderização de vídeos ', =0114.html,Propriedades da música 2+ S0113.html+ Gerir estilos 4* W0112.html* Gerir favoritos )) A0111.html)Informações do ficheiro @( o0110.html(Corrigir, reenquadrar ou cortar imagem ou vídeo :' c0109.html' Selecione os arquivos <& g0108.html& Projecto - propriedades 6% [0107.html% Exportar projecto *$ C0106.html$Verificar a configuração 8P"~Pb@|X8K )!img/AutoTS.pngKAutoTS.png"J -%img/arrow_up.pngJarrow_up.png(I 3+img/arrow_right.pngIarrow_right.png&H 1)img/arrow_left.pngHarrow_left.png&G 1)img/arrow_down.pngGarrow_down.png$F /'img/Alignment.pngFAlignment.png"E -%img/AdjustWH.pngEAdjustWH.png D +#img/AdjustW.pngDAdjustW.png C +#img/AdjustH.pngCAdjustH.png$B /'img/AddFolder.pngBAddFolder.png"A -%img/add_text.pngAadd_text.png(@ 3+img/add_project.png@add_project.png$? /'img/add_image.png?add_image.png0> ;3img/add_cliparttext.png>add_cliparttext.png,= 7/img/Action_Wizard.png=Action_Wizard.png(< 3+img/Action_Open.png -%img/SmallRed.pngSmallRed.png'= 1)img/SmallGreen.pngSmallGreen.png< )!img/Shadow.pngShadow.png!; +#img/ScrollY.pngScrollY.png!: +#img/ScrollX.pngScrollX.png'9 1)img/SaveAsMenu.pngSaveAsMenu.png#8 -%img/ruler_ok.pngruler_ok.png#7 -%img/ruler_ko.pngruler_ko.png%6 /'img/rotationg.pngrotationg.png%5 /'img/rotationd.pngrotationd.png!4 +#img/RotateZ.pngRotateZ.png!3 +#img/RotateY.pngRotateY.png!2 +#img/RotateX.pngRotateX.png1 )!img/render.pngrender.png!0 +#img/Refresh.pngRefresh.png/ #img/Red.pngRed.png. )!img/random.pngrandom.png- )!img/Radius.pngRadius.png-, 7/img/PrjProperties.pngPrjProperties.png#+ -%img/PosStart.pngPosStart.png%* /'img/PosSize_Y.pngPosSize_Y.png%) /'img/PosSize_X.pngPosSize_X.png B`8|P0t<`BX %img/zoom.pngzoom.pngW )!img/Yellow.pngYellow.png'V 1)img/Visible_OK.pngVisible_OK.png+U 5-img/Visible_MASK.pngVisible_MASK.png'T 1)img/Visible_KO.pngVisible_KO.png5S ?7img/VideoMask_162x216.pngVideoMask_162x216.png5R ?7img/VideoMask_150x200.pngVideoMask_150x200.png5Q ?7img/VideoMask_120x180.pngVideoMask_120x180.png'P 1)img/Video_File.pngVideo_File.pngO )!img/undo24.pngundo24.pngN %img/undo.pngundo.pngM !img/tv.pngtv.pngL 'img/trash.pngtrash.png)K 3+img/transparent.pngtransparent.png%J /'img/Transform.pngTransform.png/I 91img/tr-00-01_small.pngtr-00-01_small.png-H 7/img/TimelineShots.pngTimelineShots.png/G 91img/TimelineBlocks.pngTimelineBlocks.png%F /'img/TextStyle.pngTextStyle.pngE )!img/splash.pngsplash.png#D -%img/sound_KO.pngsound_KO.png+C 5-img/SortByNumber.pngSortByNumber.png'B 1)img/SortByName.pngSortByName.png 4T"Z(`.f4/l E%img/Transitions/tr-01-12.pngtr-01-12.png/k E%img/Transitions/tr-01-11.pngtr-01-11.png/j E%img/Transitions/tr-01-10.pngtr-01-10.png/i E%img/Transitions/tr-01-09.pngtr-01-09.png/h E%img/Transitions/tr-01-08.pngtr-01-08.png/g E%img/Transitions/tr-01-07.pngtr-01-07.png/f E%img/Transitions/tr-01-06.pngtr-01-06.png/e E%img/Transitions/tr-01-05.pngtr-01-05.png/d E%img/Transitions/tr-01-04.pngtr-01-04.png/c E%img/Transitions/tr-01-03.pngtr-01-03.png/b E%img/Transitions/tr-01-02.pngtr-01-02.png/a E%img/Transitions/tr-01-01.pngtr-01-01.png/` E%img/Transitions/tr-01-00.pngtr-01-00.png/_ E%img/Transitions/tr-00-04.pngtr-00-04.png/^ E%img/Transitions/tr-00-03.pngtr-00-03.png/] E%img/Transitions/tr-00-02.pngtr-00-02.png/\ E%img/Transitions/tr-00-01.pngtr-00-01.png/[ E%img/Transitions/tr-00-00.pngtr-00-00.pngZ )!img/zoomup.pngzoomup.png#Y -%img/zoomdown.pngzoomdown.png Jj8p> vD|J/ E%img/Transitions/tr-02-13.pngtr-02-13.png/~ E%img/Transitions/tr-02-12.pngtr-02-12.png/} E%img/Transitions/tr-02-11.pngtr-02-11.png/| E%img/Transitions/tr-02-10.pngtr-02-10.png/{ E%img/Transitions/tr-02-09.pngtr-02-09.png/z E%img/Transitions/tr-02-08.pngtr-02-08.png/y E%img/Transitions/tr-02-07.pngtr-02-07.png/x E%img/Transitions/tr-02-06.pngtr-02-06.png/w E%img/Transitions/tr-02-05.pngtr-02-05.png/v E%img/Transitions/tr-02-04.pngtr-02-04.png/u E%img/Transitions/tr-02-03.pngtr-02-03.png/t E%img/Transitions/tr-02-02.pngtr-02-02.png/s E%img/Transitions/tr-02-01.pngtr-02-01.png/r E%img/Transitions/tr-02-00.pngtr-02-00.png/q E%img/Transitions/tr-01-17.pngtr-01-17.png/p E%img/Transitions/tr-01-16.pngtr-01-16.png/o E%img/Transitions/tr-01-15.pngtr-01-15.png/n E%img/Transitions/tr-01-14.pngtr-01-14.png/m E%img/Transitions/tr-01-13.pngtr-01-13.png Jj8p> vD|J/ E%img/Transitions/tr-03-10.pngtr-03-10.png/ E%img/Transitions/tr-03-09.pngtr-03-09.png/ E%img/Transitions/tr-03-08.pngtr-03-08.png/ E%img/Transitions/tr-03-07.pngtr-03-07.png/ E%img/Transitions/tr-03-06.pngtr-03-06.png/  E%img/Transitions/tr-03-05.png tr-03-05.png/  E%img/Transitions/tr-03-04.png tr-03-04.png/  E%img/Transitions/tr-03-03.png tr-03-03.png/  E%img/Transitions/tr-03-02.png tr-03-02.png/  E%img/Transitions/tr-03-01.png tr-03-01.png/ E%img/Transitions/tr-03-00.pngtr-03-00.png/ E%img/Transitions/tr-02-21.pngtr-02-21.png/ E%img/Transitions/tr-02-20.pngtr-02-20.png/ E%img/Transitions/tr-02-19.pngtr-02-19.png/ E%img/Transitions/tr-02-18.pngtr-02-18.png/ E%img/Transitions/tr-02-17.pngtr-02-17.png/ E%img/Transitions/tr-02-16.pngtr-02-16.png/ E%img/Transitions/tr-02-15.pngtr-02-15.png/ E%img/Transitions/tr-02-14.pngtr-02-14.png Cj8p>tHrC,& ='img/Filter/Antialias.png&Antialias.png)% ;#img/Arrange/arrange.png%arrange.png%$ 7img/Arrange/aotop.png$aotop.png)# ;#img/Arrange/aoright.png#aoright.png'" 9!img/Arrange/aoleft.png"aoleft.png)! ;#img/Arrange/aodistV.png!aodistV.png)  ;#img/Arrange/aodistH.png aodistH.png- ?'img/Arrange/aocenterv.pngaocenterv.png- ?'img/Arrange/aocenterh.pngaocenterh.png+ =%img/Arrange/aobottom.pngaobottom.png9 O/img/Transitions/tr-icon-error.pngtr-icon-error.png/ E%img/Transitions/tr-10-03.pngtr-10-03.png/ E%img/Transitions/tr-10-02.pngtr-10-02.png/ E%img/Transitions/tr-10-01.pngtr-10-01.png/ E%img/Transitions/tr-10-00.pngtr-10-00.png/ E%img/Transitions/tr-03-15.pngtr-03-15.png/ E%img/Transitions/tr-03-14.pngtr-03-14.png/ E%img/Transitions/tr-03-13.pngtr-03-13.png/ E%img/Transitions/tr-03-12.pngtr-03-12.png/ E%img/Transitions/tr-03-11.pngtr-03-11.png A}PuNsN'~A:; I7img/Text/Shadow upper left.png;Shadow upper left.png>: M;img/Text/Shadow bottom right.png:Shadow bottom right.png<9 K9img/Text/Shadow bottom left.png9Shadow bottom left.png&8 5#img/Text/outline.png8outline.png$7 3!img/Text/normal.png7normal.png"6 3img/Filter/Wave.png6Wave.png$5 5img/Filter/Swirl.png5Swirl.png*4 ;%img/Filter/Oilpaint.png4Oilpaint.png*3 ;%img/Filter/Negative.png3Negative.png(2 9#img/Filter/Implode.png2Implode.png,1 ='img/Filter/Grayscale.png1Grayscale.png$0 5img/Filter/Gamma.png0Gamma.png*/ ;%img/Filter/Equalize.png/Equalize.png&. 7!img/Filter/Emboss.png.Emboss.png"- 3img/Filter/Edge.png-Edge.png,, ='img/Filter/Despeckle.png,Despeckle.png.+ ?)img/Filter/Desaturate.png+Desaturate.png** ;%img/Filter/Contrast.png*Contrast.png*) ;%img/Filter/Charcoal.png)Charcoal.png.( ?)img/Filter/Brightness.png(Brightness.png"' 3img/Filter/Blur.png'Blur.png ,GUP#],.M Iimg/MediaIcons/16x16/audio.pngMaudio.png4L C1img/Text/text_underline.pngLtext_underline.png,K ;)img/Text/text_super.pngKtext_super.png(J 7%img/Text/text_sub.pngJtext_sub.png2I A/img/Text/text_list_nbr.pngItext_list_nbr.png*H 9'img/Text/text_list.pngHtext_list.png.G =+img/Text/text_italic.pngGtext_italic.png6F E3img/Text/text_indent_out.pngFtext_indent_out.png4E C1img/Text/text_indent_in.pngEtext_indent_in.png*D 9'img/Text/text_bold.pngDtext_bold.png4C C1img/Text/text_align_vup.pngCtext_align_vup.png I7img/Text/text_align_justif.png>text_align_justif.png:= I7img/Text/text_align_center.png=text_align_center.png<< K9img/Text/Shadow upper right.png cc .Pn6Qh4Vx"Gimg/Text/text_align_right.png@$Kimg/Text/text_align_vbottom.pngA$Kimg/Text/text_align_vcenter.pngB Cimg/Text/text_align_vup.pngC9img/Text/text_bold.pngD Cimg/Text/text_indent_in.pngE!Eimg/Text/text_indent_out.pngF=img/Text/text_italic.pngG9img/Text/text_list.pngHAimg/Text/text_list_nbr.pngI7img/Text/text_sub.pngJ;img/Text/text_super.pngK Cimg/Text/text_underline.pngL/img/TextStyle.png9img/TimelineBlocks.png7img/TimelineShots.png/img/Transform.png!Eimg/Transitions/tr-00-00.png!Eimg/Transitions/tr-00-01.png!Eimg/Transitions/tr-00-02.png!Eimg/Transitions/tr-00-03.png!Eimg/Transitions/tr-00-04.png!Eimg/Transitions/tr-01-00.png!Eimg/Transitions/tr-01-01.png!Eimg/Transitions/tr-01-02.png!Eimg/Transitions/tr-01-03.png!Eimg/Transitions/tr-01-04.png!Eimg/Transitions/tr-01-05.png!Eimg/Transitions/tr-01-06.png HHj6Xz$Fh4Vx!Eimg/Transitions/tr-01-08.png!Eimg/Transitions/tr-01-09.png!Eimg/Transitions/tr-01-10.png!Eimg/Transitions/tr-01-11.png!Eimg/Transitions/tr-01-12.png!Eimg/Transitions/tr-01-13.png!Eimg/Transitions/tr-01-14.png!Eimg/Transitions/tr-01-15.png!Eimg/Transitions/tr-01-16.png!Eimg/Transitions/tr-01-17.png!Eimg/Transitions/tr-02-00.png!Eimg/Transitions/tr-02-01.png!Eimg/Transitions/tr-02-02.png!Eimg/Transitions/tr-02-03.png!Eimg/Transitions/tr-02-04.png!Eimg/Transitions/tr-02-05.png!Eimg/Transitions/tr-02-06.png!Eimg/Transitions/tr-02-07.png!Eimg/Transitions/tr-02-08.png!Eimg/Transitions/tr-02-09.png!Eimg/Transitions/tr-02-10.png!Eimg/Transitions/tr-02-11.png!Eimg/Transitions/tr-02-12.png!Eimg/Transitions/tr-02-13.png!Eimg/Transitions/tr-02-14.png!Eimg/Transitions/tr-02-15.png!Eimg/Transitions/tr-02-16.png!Eimg/Transitions/tr-02-17.png VVx"Df2Tv Bd!Eimg/Transitions/tr-02-19.png!Eimg/Transitions/tr-02-20.png!Eimg/Transitions/tr-02-21.png!Eimg/Transitions/tr-03-00.png!Eimg/Transitions/tr-03-01.png !Eimg/Transitions/tr-03-02.png !Eimg/Transitions/tr-03-03.png !Eimg/Transitions/tr-03-04.png !Eimg/Transitions/tr-03-05.png !Eimg/Transitions/tr-03-06.png!Eimg/Transitions/tr-03-07.png!Eimg/Transitions/tr-03-08.png!Eimg/Transitions/tr-03-09.png!Eimg/Transitions/tr-03-10.png!Eimg/Transitions/tr-03-11.png!Eimg/Transitions/tr-03-12.png!Eimg/Transitions/tr-03-13.png!Eimg/Transitions/tr-03-14.png!Eimg/Transitions/tr-03-15.png!Eimg/Transitions/tr-10-00.png!Eimg/Transitions/tr-10-01.png!Eimg/Transitions/tr-10-02.png!Eimg/Transitions/tr-10-03.png&Oimg/Transitions/tr-icon-error.png?img/VideoMask_120x180.png?img/VideoMask_150x200.png?img/VideoMask_162x216.png1img/Video_File.png )nn.F[r2GVi}(>Od}5img/Visible_MASK.png1img/Visible_OK.png)img/Yellow.png7img/action_cancel.png83img/action_edit.png9/img/action_ok.png;;img/add_cliparttext.png>/img/add_image.png?3img/add_project.png@-img/add_text.pngA1img/arrow_down.pngG1img/arrow_left.pngH3img/arrow_right.pngI-img/arrow_up.pngJ)img/ccbysa.pngN'img/color.pngQ1img/color_fill.pngR-img/colorize.pngS)img/config.pngT3img/config_menu.pngU-img/contents.pngV!img/db.pngZ)img/db_add.png[+img/db_menu.png\3img/db_menu_big.png]/img/db_remove.png^/img/db_status.png_/img/db_update.png`1img/defaultmap.pnga%img/edit.pngf-img/editcopy.pngg+img/editcut.pngh/img/editpaste.pngl%img/exit.pngn-img/favorite.pngo5img/favorite_add.pngp;img/favorite_manage.pngq7img/favorite_menu.pngr3img/ffdiaporama.pngs7img/fifteenpieces.pngt9img/file_temporary.pngu &mm&<Nq5Om!AZy1img/fileexport.pngw+img/filenew.pngx-img/fileopen.pngy1img/filerecent.pngz-img/filesave.png{1img/filesaveas.png|%img/font.png'img/forum.png%img/gmap.png-img/gmap_add.png%img/help.png"Gimg/inheritance_down_lock.png$Kimg/inheritance_down_unlock.png+img/journal.png/img/kmultiple.png%img/logo.png-img/logo_big.png'img/medal.png5img/object_image.png=img/object_imageHide.png5img/object_movie.png=img/object_movieHide.png5img/object_sound.png3img/object_text.png;img/object_textHide.png5img/pattern_fill.png1img/player_end.png1img/player_fwd.png5img/player_pause.pngAimg/player_pause_small.png3img/player_play.png?img/player_play_small.png1img/player_rew.png3img/player_stop.png)img/random.png)img/render.png/img/rotationd.png/img/rotationg.png xhVB0qR9/wiki_img/Work.pngd9wiki_img/Wikipedia.pngc7wiki_img/Timeline.pngb3wiki_img/Schema.pnga?wiki_img/AutoFraming2.png`?wiki_img/AutoFraming1.png_=wiki_img/Animation_3.png^=wiki_img/Animation_2.png]=wiki_img/Animation_1.png\ wiki.csse main.html7)img/zoomup.png-img/zoomdown.png%img/zoom.png)img/undo24.png%img/undo.png!img/tv.png'img/trash.png3img/transparent.png9img/tr-00-01_small.png)img/splash.png-img/sound_KO.png-img/ruler_ok.pngYXKKWV 22Nt##/tableFolderTableFolderTableCREATE TABLE FolderTable(Id INTEGER PRIMARY KEY, Name Text, NamespaceID INTEGER )X''qtableMetaDataTableMetaDataTableCREATE TABLE MetaDataTable(Name Text, Value BLOB )J!aindexNameIndexIndexTableHCREATE INDEX NameIndex ON IndexTable(Name)X''oindexFileNameIndexFileNameTableICREATE INDEX FileNameIndex ON FileNameTable(Name)V#'oindexFileIdIndexFileNameTableTCREATE INDEX FileIdIndex ON FileNameTable(FileId)  $*06<BHNTZ`flrx~ &,28>DJPV\bhntz "(.4:@FLRX^djpv|       !!""##$$%%&&''(())**++,,--..//00112233445566778899::;;<<==>>??@@AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ[[\\]]^^__``aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~ e (08@HPX`hpx (08@HPX`hpx (08@HPX`hpx d (08@HPX`hpx (08@HPX`hpx (08@HPX`hpx            !!""##$$%%&&''(())**++,,--..//00112233445566778899::;;<<==>>??@@AABBCCDDEEFFGGHHIIJJ 0xph`XPH@80eeddccbbaa``__^^]]\\[[ZZYYXXWWVVUUTTSSRRQQPPOONNMMLLffDiaporama/locale/wiki_it.qhc0000777000175000001440000002000012275647352016607 0ustar dominiqueusersSQLite format 3@ - ${e'' tableSettingsTableSettingsTableCREATE TABLE SettingsTable (Key TEXT PRIMARY KEY, Value BLOB )9M'indexsqlite_autoindex_SettingsTable_1SettingsTableh##tableFilterTableFilterTableCREATE TABLE FilterTable (NameId INTEGER, FilterAttributeId INTEGER )l++tableFilterNameTableFilterNameTableCREATE TABLE FilterNameTable (Id INTEGER PRIMARY KEY, Name TEXT ){55tableFilterAttributeTableFilterAttributeTableCREATE TABLE FilterAttributeTable (Id INTEGER PRIMARY KEY, Name TEXT )u##1tableFolderTableFolderTableCREATE TABLE FolderTable (Id INTEGER PRIMARY KEY, NamespaceId INTEGER, Name TEXT )x))+tableNamespaceTableNamespaceTableCREATE TABLE NamespaceTable (Id INTEGER PRIMARY KEY, Name TEXT, FilePath TEXT ) )#ffdiaporama_itwiki_it.qch  doc )ffdiaporama_it )ffdiaporama_it  I+ 9FullTextSearchFallback %CreationTimeRMY ) HideAddressBar-EnableAddressBarAEnableDocumentationManager; HideFilterFunctionality?EnableFilterFunctionality6)WLastShownPagesqthelp://ffdiaporama_it/doc/main.html7+WdefaultHomepageqthelp://ffdiaporama_it/doc/main.html#)WindowTitleffDiaporama_it&-3LastRegisterTime2014-02-09T10:41:45 #G\4{9FullTextSearchFallback %CreationTime )HideAddressBar -EnableAddressBarAEnableDocumentationManager;HideFilterFunctionality?EnableFilterFunctionality)LastShownPages+defaultHomepage#WindowTitle- LastRegisterTimeffDiaporama/locale/wiki_it.qch0000777000175000001440000625400012275647346016631 0ustar dominiqueusersSQLite format 3@ V-R  )ffdiaporama_it )ffdiaporama_it )ffdiaporama_it     3 hmain.html:Benvenuto al WIKI ffDiaporama0010.html2Come funziona ffDiaporama0011.html2Principi di funzionamento0012.html<Titolo diapositiva predefinito0014.htmlvLa propriet Visibile dei blocchi e la gestione delle pause0015.htmlTutte le regole degli scatti A )~!h)) tableNamespaceTableNamespaceTableCREATE TABLE NamespaceTable (Id INTEGER PRIMARY KEY,Name TEXT ){55tableFilterAttributeTableFilterAttributeTableCREATE TABLE FilterAttributeTable (Id INTEGER PRIMARY KEY, Name TEXT )l++tableFilterNameTableFilterNameTableCREATE TABLE FilterNameTable (Id INTEGER PRIMARY KEY, Name TEXT )h##tableFilterTableFilterTableCREATE TABLE FilterTable (NameId INTEGER, FilterAttributeId INTEGER ) !! tableIndexTableIndexTableCREATE TABLE IndexTable (Id INTEGER PRIMARY KEY, Name TEXT, Identifier TEXT, NamespaceId INTEGER, FileId INTEGER, Anchor TEXT )c))tableIndexItemTableIndexItemTableCREATE TABLE IndexItemTable (Id INTEGER, IndexId INTEGER )x--#tableIndexFilterTableIndexFilterTableCREATE TABLE IndexFilterTable (FilterAttributeId INTEGER, IndexId INTEGER )   {''5tableContentsTableContentsTable CREATE TABLE ContentsTable (Id INTEGER PRIMARY KEY, NamespaceId INTEGER, Data BLOB ) 33/tableContentsFilterTableContentsFilterTable CREATE TABLE ContentsFilterTable (FilterAttributeId INTEGER, ContentsId INTEGER ) 77#tableFileAttributeSetTableFileAttributeSetTable CREATE TABLE FileAttributeSetTable (Id INTEGER, FilterAttributeId INTEGER )f '' tableFileDataTableFileDataTableCREATE TABLE FileDataTable (Id INTEGER PRIMARY KEY, Data BLOB )t ++tableFileFilterTableFileFilterTableCREATE TABLE FileFilterTable (FilterAttributeId INTEGER, FileId INTEGER )| ''7tableFileNameTableFileNameTableCREATE TABLE FileNameTable (FolderId INTEGER, Name TEXT, FileId INTEGER, Title TEXT ) A @?X>E=4<; :x9e8Q796!5 4t3\2B1/0/  doc "%3CreationDate2014-02-09T10:41:44!qchVersion1.0TJfM%JY5UpžHx"+\k#J!YU Òv fɊ|RwwJܼ;_G%x&~=k/s4m--ֆ ;tf{ޡUH3X::h*acгMZ-^W.ضݵ6|`.K Yx,)>`Y`92ƒXS^8TVYYxU&\eCJrWyFrPD(m]38* t<=]yYkDy΁z"56 K`BZ\:(*dGzE*z\"sZKE@:J`XtZ!@ eR* %G-gıׁ%6? IZ;`@Ä$ccuxo+DyL/f 1 ;( a`@{6YDlʱ:ܤ! p8lO*Rl&6Q>Oscqә/H 5I'˜Sp³H?֌?4P$n43 jmx*#~%!s坼F;sm,,g(oHzd}kH.{5yMdv~xa|jO1I@"+t(gbhczhgrfc>"Ț4l&\89/J8 3(~ 6 X vUۇc:>I}nzmL+[$REuAZ>!" utͤ=mW(1 /6r @T+ )+V F*jcvf^dvu3*ʽC=5M5o [8o" Hy6e'Oϝuu+VL2kw[Q>Y ڝk'D>bgA2vҞk`sGi04LM?`UA:oG  ;VoB|.g 0{c)xhTEw.k }+)Jjo?*dZI&a7lasO*4Ӈ7tR[?^~=_Ο!FRzYr$uy\zF ߋbQ*]Fh&Ġ >vfLvhis;$jFS,-MKԿGʉ!d|-{ã;ߢr/e?2/jFz:)RmޚKaP9ܧۮ'0I #GOV!r1̳6δǬl pdz'ix F 5nxTn0 +8S[6 K ; MDeɓ_cq`aŒL=>>)}uivjn,(gʰW`2Eg #Qidbu ݐtnTrp,m52Z'%9W‘ 1SC-\x+tBC",!3,Q7 n0S1!M DFCyc@q R&;-ӕ+֣=RSAPnĸ}_QujL';R0v eBtq A(L A *1l\ۯ`fk!7X gѾ";1XMۧKw#?CwӋ95dsjҞ}܈1\#_z\;1=jh=XSۈZOȿ@+2rC $XulM 4] VNP1 OH;t}v7]E'nt*[Bt0'y3kOZw/;el4پ>Y,2 1 g4)0B}E>[VUupy󟏿[goH\2gF"bDn'J4:rjGCyB"bQwsV]kHtpȩ)F$+ir_n~;:͉ZbT^~mԨV|ey5Rȥ5ȝu/W$7ȵ7JGwp1[i(K])RʍkT"Z ?-;a1wDPRlAR8΃̓ҫ0uo|.#uk:8vٽԺnpD-nY O `cV*sth?NV^(k$|ܢ}vsC Tȴ G8v5ۊ?THwiIC`Hg+oC[g,-Q˞g)iѮl)XSCr%[HV? R(Ï/R>@IUI|߆vA%J/N*THn`)@XcNo2 @~@?qЪM㾮 綡n墮>}S/EV7CQYd%^hy3Ul57OP I=yGȍV͍Tv9;`BC{Vc>iPdxK l/;m UqֵS |9[AN#B.9J3g"I,R։KK|$)fC#V\ ( g.$_CPJAކK\BI<]&/~KX&eo? hW5}5 mX<ԑNcƲ]hK. 3N3og&5)?m7{;(*eMhv PrҊ<-G\/Sq3&0٦a Ŭ\툃nH^ݳE?TM-J=_ʶSL“ G xWnF+<- [hCQS  ؇9!wݥZDJ:/R˝޼Y߼_*VT?L.~'$[tŔw_eXֿ;2w*XPW⻊!?u7%F SAюјzk`qPDBA*ѦKz+ EdݍDAt5Zֲ׋=_Ǎ=AnzfZV\aϬ(4j4.JaPY2#֦BaAs1`P&2h-2kR) Ù*n( xRrH Rg9:Ex*HP{/>ee(tf}oTaBK+hZ;ܯЈO0Ԡ_V T&#I X\xĞ^\<;?yq-_Dwfh |ÒÂ([G7TނYmO# +979K(w+(Jp5gYRͦ'[;瘭FVVD} eDL=71ur5_,. %SEp0hBD$#+R_}"G((^KX/ np.ܯF.[')wE@\} #2+Ш E ..)kpH ZdH._2$%pق94414U}/$G cH ;*Pߒ!Hl'PiEHb 2/ioLp -W4bhP0,6AU`(L6*sA_!|W8NxprȚS'E_.YtG|giؒ{2J"bTq\(VˢPput{ 5hkЃ߱|Y Urfq"y&;=FHoYYc^ 0o8.߽ب~3PNPI$VnQ 9?>(YD/ hv1):lP Ԏ>HV[{#/n gdɴI ߌW㩞D>aj<17~ t Y>G4@QLX 1`a0BYSEr"Ao'mt&?&@9Zk^UY:|x/3į$@؟ v#bJ[N<XREUW|"\.A0N{v}%Wc  Zqr}",\;n&:uPksքܡ. Aӵ.՘2Տ@/4%bZwXl9}k, *ۺ%xIf2aQf1tE' κ_E $2dt9K& 91C=*ka- +;Ŝp3eŮyS&s\UNktMN}`lXxNZ)d^zyY;ha<iD?IemJ\} R 6Tmza*1W ab(Y:NfaBVTbƙnLu5 R ]ڷ53*S}߯CdCehPYĦ àƾve.!3IvU] 5:Vyխ8ÖʢtLDb]lUV4GVlvI7ti^;v}':&@yb֌ qХmOuHk"&'. g|Ү3Wɻmo+ҋ QzfгKkB9Τ۶ f[Z8Cfg+7\$lu([8}2^38퉷!|$Ǒ[Cu; ߮ʥhAAV?y{[ꠡ~ xy$wwk;< ʽϊ-K470y@i[챛7U=u4I*xf`Iώ?5 f%+Á>&тQіRX8tϱ8ˋnpf#'Q糼-zwHJ^Եoff*O ɤ ,[vɚu#ehsQtqOdGvrF^iIWbA@=J7"յs礼%WO+SxE4Ǥq i.}<^d8os9CD 8_g>]BwŷW$2}L^ztc ނj&R{f  }q~e[M&%aDj"i{\Z\Z2WN6XB$%kbAglsh" /0)X'C_a|S [H[F*rwt w uKyp/V&r;4V;1qXNaXo{hڽHv##FK<r;@c=ncc3Z`<4p;pPpTS_gcm66|ږWtkϋJ3T9lTX)T{詑 _7*,P[ RЩo ] vuW{5(iud+}zPb 3%|Kg9u3bT TT)V0xVMs0W,:bvMۙ0|6٩,(;-` sH<}VIlBY|]tp 4*WVc 4yO! @itZG7 G,Ba#hǚf5 5S(Vu]?jdYE_ :Ec,dw7 --P$ xWnF+<- K‘N]Hu=dK/j[HJVEp͛7wO}j~(װl Yv*Ә}E[ἻmF+t*TM} ozp!1ƫw4fNK;2#ǥ2nևa,3VH(!0u A6/[ \}0nR27j`i3* aA+ZViR2Tgr %Χ0O:nįBR񂷶OxrurQZ[oVg&{Br $ r-)M$1%l$/ߪo813I \wR>3I${P;yrx>QʐOɅ:Si )E4ubE.ÈZ),(t-Z/=c2 ,ObV~|BUs(8^c_\ [LjYP \Y,'+Wdc+[-NlLUPVaJ"4r}mӉXc?N!ݍU"ÉsL}&Ux-]Q0a&/c™S /@ jFV&N;8-`(CHԿeіD6A0g$r_㸩3_tB-@Blax;[z^1n@/C^SU+jN7FX-Vdj pa1MؤgjC!?r8:Z^~9r}7 9C k=3' \ L ssL\x T۞-k?ke|M|[.K•"]$oI8*tKF 搦Þp)V@j?У8 l.bq0BW.CM$/MX·| MWXƂqAa@Vn뒤EX] <iU1jyMtΐ`xi-4&Uʦ Y4kIAm8})~cWzqYn%̀v$0=Ė]ۊ[txw]8^aƶIsJG`W9EG^[9i6QZ) 1aBp8) `YY$>SF&)ptǝKɁP$ UKG 3sV%KH kj-R#}(b ˪x=bVjdKp+keb=4r'Oҧdn;@9{1_}eN{ q^a{ YKY( TfxV8}Bm39r$ &@viՍ6r'[%I?n_WlmhBy=Hd1 ͦ. ٺ`4_OeOHFg|J(D&f"uǟ>@_ h?ujn\l!=%It}uOWJcqPDBC۔8rA!H0st-1 ;kC&=4|Dl4:N3EvCQ-E)BnadcSZ ` DxXn6}W*оt-qZ' q\HuTJ#(5XZy'jJ$gg\w|Fgb#2I wr@O}:I/xp[ V2_%Pi`M B6Tq{\#)7t,(QRR X1RtAB 6$ wݶTo㈻@||d?JI;'E^$9E-'qӠ}7}B[V4j5%G}@IșKhf@ٽ0!c3$\PBIfޕV'Qh5u_dq4Ge @LxSGo{GcaϞ[_523RBF)m,<]dlh9*rTnv h)h~Y09xckg+@JR% =HCQ0mIO RHc U!#ggkVZF[H_E\@QOSRho{ᴍԩ- RAJ[3\Qj*{f#Jps91Y`"`*:3^5;U(㋺l=E_a Ƽ.=}"7} e7>NVvn4̗rSg:g&vY|E,wG6é r 뮘\NPRJz6<aCw+M7Xf\X?=T j^bсozX"qkbrΘ6 Lp` "84a^ _:ߗh'trJ9ӧ6DVjU7հ`(16*̋o-F"x"cquLhmj8kWUvl4Kd gqD?FQݖKeeAGaF5Ko㼪/,{A*<K n`)L{xtao9Q}㏶tHy61U2-@,)J̔iиk2KIz}$Dc G.^<6as>9o5 /<..<4aL\F/9͔)%="iʎz4cùQo1cGb1@f7AV/U-7;grPJbTD$yQwZE>Z,f5 șV ' X31S<*`Lm$T$HdT፸2ꨗRp#'ތ F,dBP95fh.#Qe,\ st@@.`1GMF#}A֙6=gqt <hx'RB˭m?=}tHF ;_Oư[JĠ/cnYsϙVB֨츫 ='!-<>`8 `י}@M'a8 gÃ&5Urē\I.sb\ :wUKEI%(kC88mH%ׂuWTd*arMa^*)d SӥJoP``/TBM1cZUw0=n7` @P!`>6ę@ D\KRtDາO4{Q(Z8MDB lQ:bNJTȝx 6Uwphwmt?u'mj3*LQ^( N%0 0!ez SIr<>_:m.|S*b4]\%\m4L\OK.慹ܼ4vTت] ;;Z}1Gǽ;SsX# UgE2R#bםcCvJ#\ Q +2NFDYN|&5̄,FpY3g38^4ݼj%?Wpkgzep\:{#sCCrLj1:AEy7/e1O]~.LuVuE@яQ `Mh^tU^sI[8!bqB<#%`lovn)g[Q3ƾ򶑉&h7%9lfLǂH?pc$p˃jWP4&]!gm}EA5ҟ5ˉ\Isp0v'Z3w%J_K"\Yz0MK`ٓXYsLɩ`D"LCR ;<ѐEnf̫zU>Ahu_RfT_t/%v?EJRm۔{r.KOohf! v =.Opnxp96 DpIoJ!~fpuV=+asXVUX#J:y.胼rΒyaTku.]" Zp(KyC 96U&cCo7lL$nn510Yк }E ~8}k"D-<4rJӬtzߴgxIs; 䢠V5]_[:-6֔ 6 ھ8(Q_ C pra YBH D 6ڀG]Q}kYFUvDxS"QB!8Zba(x2RΛI\Z>c$v Mקw-kBpE-CF1cGKP/-4y5Ws؈,c2,jqmɕ] +}uA5Uqp3G 8-Lߖd5J)z{3&c&#d+ j6vM57p7±ذ)ċ!119Vl.ΖH9aUS]"`vfejYY@CwXlUYɤ6ϼ |7A`yug7S59ޡ }MrYp'+7Ml$\ ]i%vO{z8Icn> g@Kբ݆.pHăϹDͥ*˧{T \sb"HݨWn_%b.  u*A?XoJL6wviE6P{V|De$QO[<ֱl\,zV/7hzFS;}~lxA?Lܔ~ܵyxOCzgKMaU=*bƃkn5b=mFN4)-kR+;iX Oy[wK6Fu?m) fei7j<-GJѡrOȉ93:yX`!%NMcj2*D 닖U<3vWDOu%ic1mC lh BR0k}tBbT{7(XǼ~9, {6d*V@؝J/}Ԅs^ UlǠZKXY X^AL <ziZ)_K3zwjh9 =p8/|WN?ЂF%dׇuZu|:ɔT 4A򤨲Gж@lG^fC$5Eh 0<#5|18G>-#pITh %H]$Hl5q?!Cl0PD"K\וHOgȖv ,%kG)%MRez-=xVJ=eQm81Ěi-zӒ#^sHt#*oSEa2 5Z#zusūK50-ٽ$i:aV#hy@ S edT@?R<*OtN܁{\iԦJbC|'L = db-xKz0OZuD\'2DdZ"M>k=N0vo|d-NV܎{],d/܉'%Oͧu Ei2KՒ%O7; ÏVE,{Wx]\dK_-=*+ȩ \Ui;ZfAIeH6_'j<%Rg2Ƃ"ZW3WsU<:'R.Gd'*xJg3+$ s@DSJ=N(ug,(7CXxF=*8B| OyVPs>>r琲GeɊsnJ—@Z*PБ, h@(49H+&ic dg+,RTf,3oo̳i s5aQY\7f\g`!O@;p5wMKPpk<+S?a0˷QM $ EU8f0 = Q HF&r"1(3ZO+6h=Sf=vX2atb 6xS[e`N$mL4sFEU\{=g ?×MQNǕ _m3e7Q'J,0`MXEZurWuzG@ M %MknaC f^,F-d-4HZD ]p&B$˿ @v0En#JYh,`7Afnh^Ua ϩ%?1U*TG*y^JҶE4VhSpET_edbdB+!w6zB|zˈy^ 'b s DU2bZc-& ~"SE5ZүR.v18daBNǃn+Bg?81Yt1ޙ4r&0H?h+:C(nuD-H.dIsYѐȴz\б+`]#N\kE=hT3DxN<3K<0a-<%;̵dEj&:t@AƣلgҲGC(y^t:7C=cVc~ ;[b2rX\niaGÑqY $s׉s/A2T̰h^si:Gc' RQsE6 S?$,UAY#:s j%WqŕɄ%ȰJO>Yל꽺d+TB8cɉάc!  [iziRA:zRwVRJ)&-8LWF c% bBnf - 5}>AXә_P\,@ӊX(zw2Zru&1#H0˜9m9E̊isx9 kCeLpUl{S3E}mYvDCFe9QPKt%ajm,P ȵE/ Xm}_ЍWڙҕ{]gLٷd'R|XjjU{^c2߮gnǤ=9 qB[Zߦ'B],wúJE\E/BSe)nڴ@q|` dq/ D{)P/c+|&|A[49(>`:s 2xt[jTCM X6V<`k`Sf);5[L]b{9@Wj1:Vm:Z?{K{w?хlvM߭^EGw8ExRcw*Cl*Nm-P)an4Xu6)bX5 U"fIєlH49ڄ;\dz3ͥNUܺ+ .KSmភ:@0Na eN@ݐCz՛k-yk@&|oR* ~[OF]iw@#._9׾%gPѲA],0ks}6""B?9>Ͻӝ>nȧN{`缣}E[,#CbFU<ߠVc_~{/kiIyŃ޺G'>fw5 'xyXO?BP笸gqJmsmߵ ̰ӶP?f2j &ct_?|/14~z9$ڿ`bh{PN-t轐͎QKh񞊰UZ KG(hjk8?~c山&)a%5r^W-VG+QЇž~.܅O -sA>0w{ yTޭ L=\6dUOQSC$ewpަ1zC̵y3ykuoom?.>fwI$y4ǫC9!\IfxOGYZơōכocV&p;@V6uJsfrT5zra.3K nZx# ۈ EZQz\%5#k{#nxh!ocۄ[9ipgic)RB%7=LPknD`.>'ϣ4tzaǒ9+VsG}ݪz꽴70i]Q=Ax[rJ?OѫI0R?l$٭s3H LYG#su-IGG` Biz{{^x=o, xWnG }WLM j@i1P'E]jExvf=חI{G\Mz߳j:}l*TCnV*BuLgDh1Pи}G4Azc>0+5nExMo@Þ؁(ԎI @8=qF; uǍP^3j<M~^$R P 'WW&V=tY6:'YBf T0s\/!Koޅڸᯊh{,QtsGMPB% [qf"lLNj ZS!+[f)2wPR#ZQSE}PptGQ}&S/[ysZ63!]wYXRhˉwK)K>q=| 323jrB\.ó(C_V"ְ6Π##Sqq7VmN S870a=%of&v>k=9Izޠ\k˩B><켁ɗӂ %3j])&9IEp`02ó_4[t@ _;WuЁ:G*eY1,d.C=|藈RdQ{Ϩ.f7Cy '[s\ 6d"-(h=|Q %1`i5Wo8gH:N`o2 x3'.#z{dUpvScG 'ʪb`GꚊlP9Ũe iXb%`Q.a6N>gNc-},C 퉽7$Y5>|*>\<*X^b`mPj:l:w1SPCv8%5 _4tܦ!nR:6ě'Z ~Ezòw\keP]T 2zR].ךT< bFN vǕ'$X#ϣ E,lHj8yѱwG0!^7}(Qlݰ\?2 ڝ dwm8vN`@qϖtl]Ǟ(BI},)nƶa#>~ -|359] >l;d]"E㽈`Ӝ(\V!q eKu6d.Ӛl57@RE>5 E~Tg%a*(mݚ$:L#ijg;.+H/ILGִ=vw"洨c1bq}+jw4q@M7.m{m>JWNĿ7BU*FC>Iqq!2'3^#:P A--p_GHr?8O ahm/Rx2|YH\;SBX,@uOX>7ЯZ1!j FC+("v~:ўxҖ]F<E*.\2$u:P|%7+1FڴF}0)؟ln0)PDfPfUHפ5`Q6-ɞ5WvG2$Ha Qg KVFSO4S5tcCTg}i%kzE1^= s/q5#гL2 }OJ[M74hۘ -W1{/X0f927RAHːtiHd$/ѵg@Jz"Q}$.jMSz #A}ZTrWKGr5C =O t.VtZ15?L@pV7]%cR=sdMghGQ*$Y4 m<$,Ő!dbqg1ïU? <|RXJc1F@2ڵ 8IVyC~': gEؼ ڜ&Yvֿ֠>k0Ǣ+y44(jχYowI{h0ϞLr `4kELrB\$RPR#s&3 BG*A1' ( # ;edl_tŒ/ ʁ-M8#58ݍLk Os]Pz $ϯ6羱*`dl2CHCl`)!-)Cz}N+3jMT;2JQ,p\;]sQ̹`yD՚շXZi%Ű^+qH.w}qq.-켣 X2ػGHN=A~mqϠb4Bvмίl&jd{S, =r^g>M{2!P!Y2Wz$Y+r3@ߔ[2v{ ={gpO7E'4l;O.%͵鳔A<861SrQP ҎC:'@K 4Q#rlvD: ݵ٪?b2|E~ 3p_?7vrwlao>p1 ߹Orlr:. Ny_629ygNxs7DkW݉}†@-3?J5m͊` O@ uDfJWeI/A:.VAg].nҍڏ o*|C:S!Bb$VmHIÔQ@ub{6 jH =d3U hb^7R1+1S'MD ]g*˹VYbߏj4w)/i,=[ŏJ!28<(e",źLݚ჊Ok]࿽FsWd?f $ i0mKOV=,fwwߙ𧱸R3cFT_i:Ef}GkRl|n9+rԆ!]!i1(*,+x\ P eKIvMqe|_3ko:I1`t$X[øaU5nSJsٸ}IoöuMjNaM@ H8"6-'л8I!pA!6N-T_=MsnK Q>߅Hpc։eE3">rY:T_ M)!H1J$Xv4c, M)oC[> ^4Q!HS F`; 9y`6zZhd5dXM{1G2r< Q^ulkT͠4ŨcStLE^z}w?b$<|F _m-)Z mQ[vE]sX4R?>A޸?bgv-T!ɒB.^xPyd翖픿Lȷ~{OJvjI @&tN*?~V׫-7eNahlOS8(f m'J4 ,`Д4,$5\ZIGg_g=hd_OF>yb)HP %4R+} O%ש,ƽ˗^7}iJl|~O4ˎW~l L>xXO8—q ѦMK)ى+Mi>UN6yg{+Ƙ.Tqda•1F.xYkOH_qXIiB l- ~7qB6-Ъ"}͸sl>k?Ĵؚbہ`iXE/Z19r"#Q;0r6f [ [EN-Xu'#ergY?2n5{q8WcgұLr0[Il,X\0ʴQ3VI@JŽKzAv I4A96N\Yޚ7H,HvݹIG19 GoD8ODPQ5elzٻD1Lg( hmzLI(;0X4-xXmOH_1瓪 8!&! 6icOk^诿Y;!&NZZ{ǻKm9D݋AHH"w2λWg",!#q׀Dd('H6 oH'B# PtƳ:B:Eo$.~(:IU_nD=Mـ-">ȁXD.&&Ɋ lJLcɰz mBD%r&f yI#<A>)%bVak” u;P*Pͮ(`T2T*Ѥ$j)cc,GMazr5)lbI<7B5X*M*2n@ᯘ~Pq\@ BMUs37vW"jMC&[P\-Wz;=^zSoa -N[]w b#Z%;w0#b˔:ǧw ''NW/_7J4,|r駙U/2Y >8jz\gଯu{⠚xFsBBS{7r'cT|a)$R^1w0˨"ԚX+nn;w~ zHiIAGZ{e_g<, rqE |'UdFP zLvcѯv$b2vGHcGG0,)l dp&L`)TWedn#O37nxzfCiί]VHB EPasш;VF6T솞\}&Be.{6!n}e1i \$iWOAj%/Ak]gR4Jb:Hї,7(()҉P.v)c$JNm9ڴp;+erNIuFh3"SnsiF{;G+VH .mO5Kr2QXD(/(qmb![O㬳a:ksf $)>7( ݉r#jLZq?XMb:Mc0·Ɛ KI Dm-Gc+D &NoclI@qf2R 0A#S2)K t|̒H!UOj*n$N d/U$->OYr 3N3Ņ` &7%nKBvf*L(i"um7 6*Wȣ6xt0Ot _2ƧGexĀGP29Upan;EzqFf842M|??2 _w]L6rV*r[ iϱeۢffr OGN^DZA-%ٴ j뫀+}޿p/yXkuS)t _#''sʹ,Sy/]Aˌ̙ ViDvJçg4u~2v/ds/y$Hܶٛq싋s) &3\*R x=R|#!Ee {V7 MLp6y,|~'r*}l<~lB/7a2q@i ƬͮfxgT:2{FFr!s297.OAb?UTRPO1{SE^+[ܶ{{ĮN J9(&QR }2F.4n+>SQlde@p H  r̢Keڕ*.PۛD*j&ֻ}m>e~^[>xSgό_bp.?GRkZۆ-/KSW5J6cHVy2&gP$;Vw5V!oL22_0|:ow٤ b)Ӄ?yRrn_[f ' n[| ƪ ''N +xYmS8_ah; r:q4-#ɡoe;$i0ĖY=^im:mX^yB0p^5,,SÍm{2eʐT41#F5[:Ax՘ao6W8X*J2l)f'Q{54>',Iyvkx`"E>0s&v*/^D 010 .^ !onVҲV\hJ!ʒ1 m&hJ񇛫WT"+1bx`DZVvN|9Lx+7S 3DչPw`HƬsI2.t cv/ĉoE\G()<)I@T {UV=KQrRd'ZY)@FWڴ~ri]4J_,Mɿ  Նeߩ/sY:onu]OͲ|<. >g3~aȯLRƶ Y?y˫6=|b[΋mX Km_RCˏzJÌO>sIKŽ}]|ag a:9Jn!3H)۲/p}NZSwMV8dIGS+Vh%>f!nے77߃ߩs2&࿑R 2ژ:L ;{[l(HfE ;]Qrd, x|t]tL( Zhm,jPhD[\|ϥCp`w+|C \JZ\%H8ZU X8Y4ZG1XfakC窟?g_HAWwĿ|,Ga}ýGKgoj]I%E_6$DTryD;INM,ᛴD$ XY%2|y..kyb;I?#&*˽^?SsABF@B"Br `M;@b-QxI0i[zCuʝg-gܿ[?cIP#AI!ho)e$̡f2;b(P4>𒒓|C@2)W<.e@]I ZK@D(YĻ E~㌋]*>ձZ/WcmŸy0+Z`jfL :b0 D$J ߻5D9| 4ʺ|tJhIXl%AHv&e|V:t%x{{y8jtCi(R/@ݧ×'@mNWعe]/ƔWt$_-Lݲ :|J,ݳEY +9$e3FJO-hjoYҷ Uv v_[qZBV[O,=R$g]L,ql.!MBHF .;<gRxpϞ%==ERQ3x{ L.ի2Ө6ީBsxA>!ջ}߷Op4IPH:0Xl$Bo!1=}Q0͜_y'Hw skp)ߛӵkw" [{[O;z2LQRykLZ{Q+-t= NGM+#\N\+I 0v^>~Ԙ@-jd+X"meiPv7m C4ؙMJm-wʨl-Fem}RGۯP8PڮM ]fCjfegS zn4tcwGwc!ni zX`h(Ny/G) ZRꭓ6oiJa7$p)uzLC'*v$kɍ$!S1Gѽ?q v=*T-%a֢ME< 0QiBAq'O Hsx7rI3ިd܎}xQ0F?4 )ƴFphSʅw "TcG1 xnbP!b^D q)` fBKqGA{@drD)hnUxg%Y:PHJxt#AMIG(2Pec"ГBܦb.rF`Ĭ.܋ljIIيT]^#G 3+ }`GܭcQ&<ռs}fm'fxK+{Zȋ]=uHhX{Fg*jsL"2kB~t(⎖)+GxbqF+'$2hv YY'% EЇ7Ӽ*吪XDS1M a7s<Ƚ E9/~忉O%dؿo'SM[rɾ7 _nGf1-jn|e}",1B"2viǨ&d_̍MAFĴ,e^'/Z_.E=B)/+fI.*yoo+(|.rѺAI?/zC'k~yEfXt k\ZHuajkx$hT*ǭ3nv*:VdjkZ5ڋI!X( 1e_[D'6QFEtӠ9KkŠOmco]xF2 #͖ZY@{hZK2TSnGy9Kno.KoꤹצNzO?~3]n҆>ggD} =Pu3,φ#2n$WX5 mMmlxDZecr(pi]=,nC^(y#ejI:Zq%҆6Yü47gz$36TR/X]u`46o 2=`(0! &UoI>HnWwmqɣ4ppF_Ԧ_JK[=l&ξ[͡_Jˣ4SZ_=>lؚѝ5/IXByD9S>T阋d:ɡ]AXۯ|fxCP.{thܑ`}7Q,Ft 0lKiolUƑwVNٿDzIj |K$&w՛/k`HgS^ˇ Qi#.Fe茦M}l=;nxK 卤գ_84޽}\ޤ ?znM,tJ#Ǝ# 2՗U~J:.m sJ۵v-?_Lr ll[x[s8}>fCδMۙlݤ= ʒ+4sd@rI)Lct7H|s˷oc6H$W0}Q}Jrq@3`FZf߅Vb/1XB,({Vpck) ܤ`>]= 6م/Uw*c|S`pEpPaKKsYv&[KqI hEceRuEa5g*\inVڜzIRg:I 6 s;څ!zT+jUR^:[c#yT\@"\; [xΖwN8RDa dmUJ[,{l65}pQ=|7Ovw1'7dytKE:N@ 7-WTk,˥H+1]S I.kkxB1, oc\&Q xCRi;;ǂ"p|^% i!P't GuϤ+8eZ3\Rů>`vw#ˌzs$fwlWgаRٚI>]. Uj: %T${/Ʌ_5{aK9;=Ê*y<tEs:MF\!lm_jp9ˇO^ cJ{xXmo6_qӇbmh= uH<ɍLv6!I{9].ޝO~ ك8@Bnivh;hTSxM0+_8.P$&J@Rd,z4iX!X_b˓ywfwP5,= AQNX. FU im\U򎀱pTmUuEAYuJ '2q.Y&IP*안rr1xߠU4xي),Bu\0frFdIhۨ:`tKtCU婬ΗQޒ뛑І"JZyX<{/ۅ?h5 {(,*ށy1:|qgp.v >rG40Ɇ*hr3墹g}54bX>7A{7r[J?IH>H;M ^###_ ȍ*Qc۠o0<.9' fKM?^R7NL?L?\aeQD=d=Lq; $ 4Tbf6S&a8_ʭS߲gJ2,FhC-ȣ_'z?G~.E_ݶ^F+TqoM5D&o%%0'v(3On^T#LKPvUPOsY5CyDMf\Ѹ殧4f<]&ɻ ӇO@?{4dDJwբ6SmB''?0Z4mJ JȤ:tJ>FjFQKJڹ ;{"=[kxTc@tκN}̀H  OwpڏrZVo]hRk, UɊH/5Tpu(֡rB-44U-o!<()$[)ֵh'H;ޑw'6AJfHg=4lxTN0SHZ  qHf#;ؓ;Nɮ*ű=l'tzIcNAš0V. :m?Xǩݲ%hIv{ λmyCPz'0B%P0DaslT+z/T}KkYx=ޫk23ncaCpPaK. D[;"1M.Uuma^iMQfs ܊Bm),&J~}O>Zz֋É~t`pʐbRҷLPQmR24nb3n\%(]iuwZY]Uk9 AP~v z(+gȯRI!ȷ,0.hGCnB A~ YdKR >/=]&eO@@cviR_=8H`]ٓV@(] mwjT}~/ɮ/HJI=<{y6><dv}MBe\(:rwcJؒDV[*#H+ l'$JmD!vZ‘@'jʭw.~ ɅWo+ztsw_b0tgZ%2 vO/p@ׁ\Mߖ$u:^]ޣ.Zv -8 wFN{zS {(+qg _tHb:SӐV8E B NN%2Y9V+x,Ixyncu~ QlBEIz9#-, & ,4(Ga0qVEeGQ 2c!۴vcD2IPe=d}1lt\^X{? BIáH6syPt}hlS>n] aeMhyWci({W"L[bB[Jrs?a\](~t'%9{` Tq^:Ɂ"w(7>$X2_5qk.Ҕ tb4U:y;˧ 5WAb[FGEbW0Yn ka_WTh:*Kܺ%:.VPAiQS9]r=/zJrZQi8 9a&>KfEꄄMs\а"6k"J~n{iJdS;H( [nL$K9P5 olBR_A,Js^L<+r7"e9k͹?o-I Wm`Y&C8q9oG\lz]A9:Rկ ֔V]SRT-k KՔoӾ~#ɛ_7/w xqEVtRe$#?ea{q3{U4W1 ۛ?s " MM0d xVMo6ﯘ@NE%d,n hO Z[D%_ߡ$Gwu)/7oCf}]=TM.O0<,BQ͔$)qK--L# (!4'{Jp)\~I3.O:jLNL?-&'Ifs'EmV(tFhnKIUx:("%uQ3k<[>y|i_a[XRYFѵ'k,R:`'KEN5F(=A:Fƾ9q)-x q aL;If,ՂdM-'CK_\@M32Y$qBೳx8fhN"뭣ŗ#=Ag;z]2zMdj'XN=pLsDRPs -q$|T'R|k v0Xpk(mЫCIR>0!͹Ҵy׺[M)q?iJO_bC ޟҍe|öv-1 /NL}neim @Y80$`a$KuA?r@_\Wp8A?jnz_ޱ4]w/Rص8sYpWY[aՒg EIQa-1"o8 FdO'vh2vAm>ӛ>ak1.V#XB䶃~`7sY8_7"de  D +/ɿn8);lTOnYc m@P 8- Y"('KDO i _!~U [>c7imM|MZv=I9q)`OX$J2tMOج`I!}HX&J>딯}.YF[s?ȓ S΅7݂?։_*3y>+uw|7=ej:[NFCNeOd;Oj;f~5G:p+ƆE BgX^% 9A;͕ _Q Ki⇏bk_d![/w!cQKsJC0<jL~*Zby؛%gդ_AÁ${pç -8P5Zfģ3Zh$AY Ye!.-kHlF$ *؞cEEنYC_K$9Dp]_4]e:'NFTM2nUij CJ*Z`=-y 9x/>7pz'J 5إDs:mVTF Ye(Y[xRi]|FyTKFR $WADƮ|C۵PXyAphDc\T<+@<ɿB(*2RռR>l5/ ݔ:&0}U:I'kŽT>R@T(h<lT(l <*1 Xߟ 5Xr2ؤE7t-7*96z>b@'sq)J3|F 4e7`͵1yjs6W/ xT/@I_$ 3x!Vcܐ-E X75?Whۯ%@1.Һe 2 {!mnZ6S62YK6ovr7~eeMBDF̀p2pUf2p/reVU-@̀/zfTʂ@aKs}ؑBOK_A^Y= s,Rd's_BvDvE8N(@.W j1g -:*eW>@8z=x/|Й$(=0E޽7/ەwXA*-#CQWu*J GOz.1䆌<Ӧ#k ږ$cmϲ6iƘ:ʗܱmPӲ;Y'rH$gָmפ\$ =%zK=dGݶg֐PϪ920'dc{dQchipQ`GᎶ]kݪgSoXLLQfD)ԼI ӂYQB?ö:tdWnK̷-։N[,6 jt"NQF[FeSsLG`O.shѡ[# u .iet=&{Rǫ\քE\^DHlkL!u@#IjƉ1Ɛ1`6v!;Ƚئ渶؉zxi[Ͷmȫ)DsF]' XGq}ɢZd-uWm"ˁlΪttrʼn?NmjcRK ضPgݴ(Qˬvu{';#T)eP¥CSGN]M4:ݑɉ7ږS67Zwoj[2]pbojzitp5МѺ{u*%1B{U Ѻo~sASӍ;OtO <}[ZN䰟H"yNrÒCE{bt ZaMGy|F:A_M|_E#˃^"PKxVL)wZDY >ԃ> Õ R < |ĭg/_zY2zD?z~x]:Az}"bN;ex}ɠUym@7Ճ~G-VwEwCD+He_||㵲f@>]4 ^@|Ox]ms6_Sg2#C|Ȟiv}@$DB _d'vRdɕc=Ҥ2EgKͿ^_Od^wC]"둈%EO|&s~7~D*"Ð "!RNl;y/'E7yE9r^\|lA.W5?+WᯠOB[$W2+IX/z,2kxtˋ/=UZyRg|vѻ߃ʞA'S|iźe'"I r"?"i67fwuI~/yj W ",fWLͲ@A sNR298) _kOɺ>M4 6 6fD,Yg9qUv[LQa\}Kg2`[:leߕ{?Y=ƏYZ "☁?DTCxK 8HֿJ Y()[A>1HYLD, Jө۵t#.WaG@Wg"E@yR) #9L=/£R<5WF_IઑSڜr92?s o DM&BȁA~3%0ТD!M"\+X hk}\%kNk 䜊Jr)H(ݾضrYw ,DvoQdžզ~!P9a0Z^V:5H ! `5?tĎ dD\_|El)GL5ilMj) jx&V5-6`X7z x Kmy'O`$W9@:T<ϚƒVQ=}.`* ב!%q%zWUjE+B'חٖ\  U4[M'3n|No>'+iGTʄVVlշ (6uk WCǾ8wS ?Cw9%i%@䐽څ;iNr1%"Ҡ[*2tje%kLIe ^bP]F)uF&Aߔ(9rPq09XoDpeDHdac\Hdib]<)TAe F@3k( xnTk:\dg(eݥ.hJ !e*.`9I794TS1n*L}^iVjfEW$4 sn(Ř) H ,d`09X`Jר63G&␝=sp=`W00G,T.MfgNEzدQOtR ~Q.& 5i1K5UyqׇƖBKW(SPVΌ%_\^ Bx-Up9@kUQ,5}!` >@đ0 u 3H=GQ!Zq<*`F*0*%?9H!S6Y ,bzb9ߌD\76DVY\M8U/=^0p߯" WbZ pSƶye F.o% `;`HD {cnxῆzWyoDTصntE26IXД˥%F+a(Db%Ԫt 3.!hA ZpTRa |]aZֵA-)恿ډ>h|\ ;Wa8b͙%*i݆^]ܞ:+AMAԤ/mi`Աk2:O5p2s!p[wg+ Dj[VL1ҵKhJ(Fnm 23C6O ]5ب*;5(֜` 1|!.4!rTF WxpXޞȇOJO[PEP,QvAW N|-A? O֛!fMovVQVk ]IT^e@ik\[4,kx]Ͱ +foApo#M67XѸ#-ör mӵ:d|k*T", ho XSSn niݶ lnkp}e6vxC9-VX8g},ĈBw;:=vDahJMvi8޵<4\-|{819H&Us7n7hMRn(.kKUh*+c ̛4[lkVdYOZNx/<k7t3fm臷iқ_ԃ7b%iy7F# #LK-bޫj%C4$eQue+LCۏ!;i4>y PJkPj7#ҹZe)FxQM7X*7Gnk8oo _!чneToD:~ db*$[w^V͏oj'(WIgU}5kǁ- *\t48N+;Xc0ZE ;^D~&g~vw5r <6ujS#3Ql <(5Fلz|^i,f",EH>(TaRyz`V%Y1e "x]Sh@v9b9Ax̓U%:n& U Gx-/UxLZ[ )_n$==pi*=niJ.;vd=e5KK#f[m mmQa`aIˤPDWEFTT B+-vkvc<g*,'jO0;=.ek]~6QՋDpBsU C,iKRFnڅ^$?ö%9NIh?9KE|/+7l רwCf- % =J㝽P,U~ /#RM4ЀYD5ΰr5,?YFO3>(6. RQmod~_#ynl%Eoa89rZs] O&H{9=bsHUT^9cn9]剀 #+cuI?+"<NaOCTȆa$F'GEo!(4=<+qѭh-pa;ybG/Gf,w2'29dϿу~ܞ`u8zڅh.~ OT:`o(4-xH4O#z}iZw eY0cI~Ȍ*Lh} @D%K"3KDO3mv.Rx 7||Hs(2>0 /Q$OD1*W锓27LAYJ$S"\W`ieٲ Hw j# Q;7Z_ eXk86|@Xl'4[Kp)ei`pW9|*UIC@(ْ_`ux)Y)#OSrx#YXq 4#WqdJmnMAj_uvv\ԕ X ?i;}EHMX"URd=b)%L"ZRTIY!d*_%]8#%|n?_d/ȅ)ȇycggh oH>%*3H`Ȍl :ng6ٜC ᝖ q6sebHЌ6ve +G|=Υp,y&SssbmFKi1l32dC913vha,sib"6:㤒}#4T"WeΙ<>9Q vHp~x@6 r_>WSD%) 7ˈ)\ dTfUwu4Dw F}l+g&}Q(UK <!j̉Xy6|%洖$o*2>ULRŸ@L- 1lh2dUO;XJG w82pt;+GlAouO/tӵ "̾ Ű0r)hT3r-woMlTqu-c>rA-Zv0NPrhh A*/^%^R<~6zy _hOP ,W.HYAiAYy1 M@3XY9T_h,WGYVQ_W ]eVtO(ht lms[}UkuBCw߆M"No%_hR VqM6͠Yn~vgFنr]"oۉ%uM;x,|O̧ ؛hD#7`A"4:¹IΞT_TZsdiDp`C푉,Mڎک¡#LL6 YRoCes"/? f'JhX F &"BvxXKSFﯘ⑪$ ;e!EզrJܵ1y>=zX[^ ]@Lc>^us!6w#"2cOZ *{d;O0GWKVbSCh 63ʹtm  B,*;,>Zߡ8Lv|wymz9-^>eW ?!95\y}GTH@!$P؃εi뒤> reIb6Gp*+,cgc }{+G'Zr#Zt] Čfր{ȵM%!N/JxZmo6_v9[@$'u`Tp%vTEJioVj^~˵Eggf9}?,rI[FLrM#WN_]ŋq R&orgb?$fLTT$BS! U~nl{.VXƉJ>Q9r6N-aCphj݌]bILD++FVa'$ K4N?^WPO#?|~)D>W8@Y VPkUn-|u6FmwOS 0o>}Û̓)QL"<+(z6<Ħ}Q5e)嚲u5nFt9xK&8aB[rQ%fN;N'bD8G߷,0ts@@9HnQͫ_B~ gλ xF1KBΫ]3AxfNnYɋ) y%(& C!Y"vF@pYhijc|@^%lt\jT+ߞ /KÉU>hӐtA#/.K0VrtDnH0`iԺa"]ᒪ-JnPͺ=[ &zAP03M \#՜gcM^^+~ߜTUzk ߆8'2s*)n&tC2϶)i3c Tnq]ċ'E ͅX,P'SuuW ~[c\z e禞 #PvcI÷a-)`3 S@ VR +`(BZ=ۚwϥh MZ8O64Ɍ!\X4D^8Cmke! Y@A@DM yz;ls8{lŎ!|ʄA%BY7*txbj;g ǰۡӶ![[AUڝ nx뒛Zp-jQ8`z$ƺy]]CSg='^tJ+ XcxK znIrݥ,o<A.{YXY7(aU+h.V.Ќ’̤r >b 0XLWQ8G'xh߄lʠ B\ C9DlB,|W ]SR^43w$p.tixWJX"qYrI,ݺ* 0LPIt)j!CάAR"r5zRÞ{wE,_ bbiVznP)ӒYoAuâ; ƹ8I%NaEu/ w q ^Jpmo錓7u^WI/ij|k8 i;Š`:`{ ͢hirKtTtڸRRFdE%eG ю.k3Vl/"W[jvUMGʛ4w3\;jbXWc-o|%a?'J87+āYmM;+nOZ])VAhx 眏lUӹı=0ČOy>͸ǒWlפiH /oZ~a25}yJeٕo1EPx @ ˞" H݉B1 [D;1\`߂jgo^{¾p]UaH(S:V iO2m(ЌckuK=c §.LW%񽝒1xM~((<+:"Ω56);BQA 9A׋}׳U(q63YyF<8ʻaװiK{N]L]fn7.(3(XD-" /]燌GUi0!snnR, ZibNSn U7a}D2Td?=LQyE}(m@SWnk&ZM%\rpnUn͢Zlwum`hR؞7go2A&IVO vR}P0nyѫCmY~&Ҡ>dWeJǁ)ǎ vvQsU*SDR yyBwPB_o׊23\rçl594:^bH f%P xWKo6`U`{HEH8z<ErpReʺ]bof컛ܲkջ,Mg&]P $8xTn0 +8_%aGڦmђGdTt7yڠf) bk <܀#) ,vzkGEUUSȅz YqU2R(~?o> <fI߄@:q$>$[2g${s4=c輬,W2E5Z)o~mE,e^[tHRl.rFx'Q2,BZDb`#Bvs2_*Ow0"*ܖ'h-k Uh[{`_9x)6ݧ1$C:R&Qjbh)eÒQkVbP^ŋ*Nrѓmk\:tuxnVq95+t ]8ץ%+6Xp◄\sz=n_ T׾u'xOx^C2XB[%SUu| g+M$o Owem ̀^ KX𨋢6P?˰N;lʗ=%nXJ59d rĠCÛs>`" w(c|O% Ɓ|/U#W2d1q)4 Hu$npf!AGq[hbncSHK*8/(wjNgFqh7azGm_(n=4h>0[T 9&tq%XddJly@+pH`zǺնJñ oeO-i?-Cj(Ԉ{x*a3:[«XEl>#SXucnܧr݀roUBK>*qɋOBeyWXҷBt8PԍWQ>$ꖵ.OtWtW']EQ~ip붞n怾uO''! ݛMey5*e1Ē f;\vO7şש\uIV9|8:'?\,- 5n35'&>0Xe]bZx!_5[kO.Ӷr!|)u7 y<&_댋\H?ڒOWvh::Z@*\vZmO>o_oo3Sby{ n)~7.)"ƒheޮ%nsLWx+/S*V5GMvI?;}h ''J&Nxio۸ >/&@b#u ds!dE.ާh[T(Ji u˖l7vBF5=á9<1@i0G~޻\^5VuU93iޒP+ʷkJ\% fg' o;:bfo=ф>~/iCkª<Rb^97g74ѠG$ ~ftu.GEQhĘ([EfxdtJZXNTw"q%- ˀUc3׌F*\IsrSܥ0!}RcpfsV@20 }%̯);)΀W=$q|̃ћẌ"ti{Ns ]?uΐ&uXI()H,) )9 ]pDErq$㴯squ|ko2zx&Ж{ң#Q,1 |l8 bax( 3pԴb3 bMQd$*@Q}!:6SԱ5PPjaDKOa޺vUZv89c,,8U85QSh! B@@0ձx Scp2!ByNzԵ[ LݪT;~ Szhnmk_ X "0↽]~ CULCuI;,Ճ!I@} Jh2R4e3CBآj~-b!)mYÐcj VKãVCcܯ6G4=Qrh$46͈6^̤ $ t*b +_Z 5 ƺ#2V:v]0<ȍ,G>$ %DREɆ?z exHQ ]]!(F$xks۸{Ngj[Nri;3$JeYwL&Db8+G/pPAdE<+C+iD7+ŵTfZL1'TL1Hd*Cba8 TbDbF ,:ś |;{*ͱ݃`9A54;kSyم%<+"|aZD|Dv%0ȭ"2Z"wBH߽qC9133`VApNx$9לFE=.o+5ׂ g)8ГLTs,(VQ@V4mXi }H Г>Ud'LxSK0T.Mzه(d_$nYTcyfr4v}2c%̰ Jk9t7tdJ4&iC{'$3B%W"I}8dTs>3c\-K»"31̟6撿,[A66˲A (K&ETfxџ1d 0p[e_;*d{@QpO+-Vr }mk9ǡ_-cS1t΃gXPk4Pb[?w{SAn!qK1맫piהi9VoCE !:RL v&Te|̀Tx\!!*Acj(!{?t^[;kI~nbKaۣb8 e'YV{e*3Fa.N>b9blc[8p9qZ3z(jc㙏j,/0EN$TGp^[v<.TBV'MӏeH^QGfaGGS☯qF= (L&3;VSBbzB^)c1(|"%gNEUKZǕ@nANdbnI@*,nkJX5<R}Y`,'0Z2NjP"@-#qd$K;Fn#*πb$ TWq`稘yrFJ:(٘p| zF^4S-щ\ 4PMF O{Fa- 7Y,B`v$6SpaR go@\@u:$OeȦ<L^vs-rCΝg4@ƞW1b]`d)<3,A89R60> c%yu2Osd$W[#kkX~=ǟE}m]bc2Լ5[ahM]Ɋ`;ciUTɱ>tc-4+}iޒ.>U7/r=Ɠ Rpr~gFaa_||W# /8܌; rE_`YmP]Vށtf߱1gC]7zkUtrZa7ݜu(( Hry_X*IW;[{HBh𷘠kst`aɼg,Il!۝uyD`ީ` >kd|ib "| 6ۨ[(M~T˘D)ĩ$0nnLVԋzYޚf8UR̯H1-JIDe8c?H idR=M2PO~UĹ?i2N[sqT*lOQGDPQOBN̊Ic[E1̒Uđ  zX".tݐ|(.MLY/f%*F/_`;hBIBR X&#`%$ϦHKĝkO{i[ٝD׻ELA`JHkPؼPWr 1DP̣֒U'd??/k <)_ @50#=*g$.R\KvdvZNXϣDt_xsXS@+3B y`)+L*7 Wg׆ɥM9`Aǎ֍V*z-~s>`tj=C=&ʢ(Ҝ&oa[#1#S,Ob+E}UWs D)(VWWMP.Av4S[tz5Zh^ӆf pM $Ђ `Q/YkG6ʗ %4b6OhXq21)N9er gD^s>V-ß=Y<.dJ骸 cXtfbaV0)}LG:\,DF"& ,V7kӟ+JHK|5 Ũ* m4/`i_4U@[up-Z(ȓF^E7TYVI>ACN>E˚*1+VMe:nv[ N3ߧRL]!0c[11:VPe8-Fij';G@ 4_-ZZ=n+3n:G^cmѱI1ݔu솁`;n8d ׁzͭ| A(>îܚJCVg*g/וSοIǦ +.la{m/84v )|diF*\yiawmm@~=j9~ՙpO-7Sh,ZGfcDqCrf9Qų}afn?P6vժVj*g{c+Mj;/3hoIوkMB|ʓkK7*f9P?SJW0jHmnXr'UuWaH[ꐠ-R41xDmX-|v^itKԿPT m:I$hXU6- m'҈bA\jޭS)CeS"%imʶnvbXHaT[2Y4<ի_ BH[J`a67y19jO;#ֵi WɌP;Cl +,ZL>@[bօ9@fkBwk.PZ0BFej j"6Nh;6Zs `fpQӬRvQ)G)@-ڡL-9Î10{WQGY)ޞTpTSM ~4Yp9PXc~QHR" "VTHV6PXXvd*n6.;]y}E KuԼ\Z› 1QZHlo+lge*w}atc۟N/UaPh5vDuOP]¿:(MҋFTNʷMBg,/9Z§.X%Vm)SJHʱTg _ {Y~? IOQǕl_RXѼΡsX7"P`pO\"V.@C$rd!oR,! '* I)J9 4BLR40\",cx"S`tcBL!F.`PƱD*uf4 )Wއ59FA5<05ggݫ)l8{bEPφOH1?q!2h}3?R90gz0fRjmncU 42V9\ ҃d >W=`3u!he/h&|5@`)mwBR 4l#Şsa]_Rnp8V` |PuX}*ˑsx(Sh%g)J (j4ňW1ZպJWxS SVcZO|29Qj }Kuhx`! vH&{hу^_ZqnNx|VAd%<=+~P`x"e ) (ђm^ՆMxn-hPF7jX4YGpAK6miU>"F|asAuEnPi.8R#aGs<ۤ)ϑ첳$C)PXrN*<|FD؏aQ `("4b,ƾz'5X5R-O ?2|iV-炸@~ͱy:f)wTb GJ-mGtEt;MXE=%^c?7 7=1L)-i`ɹ!bDFVVb< 8 `LX\IUO Jg bʙR섽冘 }(ߠKaH*eJ[. ID3JVJ=J'ʶ]Ei%!ӌP0) nvo?!n)k)p_%3NXw޷ݖ0p- ͂+p=ͭˊST8of^#n582M L"pK{kXV|y!;7}qE5eXo?,Ҙ+;(#}p0]k@ݷR0 _N+> {w:pY)ȕimYtX@ ;"l4+gG<+#s ^؜aKkDWJUfSKyH5~>pª祦5Haĺ:ũrncyPK)p/˅?X"'iOiC#{EADd}}' >W ,e7Ҫ}1.hͬVvڈ:)'/w} f}ĈOr;=)Q5J&'nj-lA s.`~sڽ7=Z91S ;^n]_f\̻R`Q"3+߈ XaJk0$7Kˍ]2틗~ccC\>o7f.}=¿(jo?8s=>ɒpc69 6p8ӄ:_t>d &yW v!/garp0@$w]42;d$O`lؑoEu^8PLtvk,44$͗B~ looPcoI 5|kMwI$I4/~ѻ –Q`Ba ^F#2|6De4(cցz`6Z\uԭi^[14 ԲigGcSL2T\1E[e :ѣNBvX3.^?Ⱥ]MOEKHߨ?Dg![DADE%.I?E3B{Rx}(.!>KRDՋӔY]R75PKi}MBQ[h+x $ v&$v9ɿQ ԸԚ$̺˳yֿ<-8Aro)bAnx\Y8~_ m嘽:vMAlӳǓAKeT(})-w:DK[ͪXX"{%Tnh(FZ W+2xWKoFWLЦ- H\4(`Az*F5rwTj̒DҖa+uj^}p73*`I_9,IAA[/' Sn u[&NYy>\-fwˆBl"*ѿ_A)-?8İk˻KOj.k|pBo&uϕl2zAX6 ,6Tئ c]d*KCqKd/@_xŀ_q\;}9y7EaV (zl<$G;d#yekōF~>u [ u"3Ft6P%ٴN Kbh ;QbVHjKEip%~˨Cl <XRc뽄/Y;1 Y`AbFrOw/] =r.[_Yޒ+b?|< MB%EG9yXGU~fin@|rSC P ^x[#rcn 5J5FtٽZ1;ٽ)~#ٙկ˹8RgB>dv{\oh\ ry_W0d$[X-?O$]+.R#9ٴ?ypG,Nf]A8:/,|ۮ%<;e!~tZ?Rs=e8̧t0w@.~F^=t2ܜVݎ0 QO11kj1M.I_[ tRv+}KBC$WU ys#* `< <`ݷ@ j<Wˢkt 1RMCQ=FL.)[y'$솈NU 7(ěo=c(㌳Q`d@M[GD$}%.^[pPQJ__Qrƶ֐§RD!ilUS͈[`bU鎂ڄߡsܮHS(4g>u)]t wƴ@0*P1`U/)@d3ޡQ1ZQçRDoBP]$e G.Jet%O{s-;YA< kV<ĸy=nUx(]#E"c%U@i4&mVDW _cB[+ -XuTK]X\f5#kSpCD3ka?z7%*!S:υWyH NcUGE-(<@ce0ۢc N~7oj5]ݾMpvpS& `3D6œCT˯|8)Q1F {K=TNT8B\8i<\3 >y:4VEphL_p{R^̒Diri5bZu:G"B'P ڜB%̊!_,Kf*9Za^9o6ȝ a͆ۯqiEw Pa p:Tqvj7h7J*SXRkE &&@~+'u(+GңOo p( I6jLͫ%,gs=Ș}i!N*'] ɲ eZ0ՒO[(_(蔉x*E <qB袁- <=7 t^79,=v""W5?XN ?sXjTՂX6w*ھ[ObR[N+ZAivވjmؙ ߓڎ_[0 `ehجj"~i~~k: S,* nxZmo6_ihCb(i}*h,sH/J_;R8H;u>&G  3L3 \D`1Č-ba'do^e{(귣Fl0X{hޟ|oZIDž&Ev_ ,@ ̖j˦T<>H Td i!)c)՝31cMTs@u}?*HN#('mar&3.qw$)w,)M.{_ÈxS4k $ 6!#p. r40I7om.}_1jS^G53" .D" C}F%P06v;gj?> IN}nKPRa\pTn%*"]XgXۂz}mfmfU'DyےMjBg49Űj1 !{>$*\'4̓+|/9dMd~R6{Md{'b^4?ep83DӅ4sƶjpUjRk,9ڪIͤijYY -˩lvp\[WڈZ<τ:QϦw@F\T42]27u)&/S̩tQTHi>s Ӈ\( =xFK0CeKlg?8֒ZsX:G53tB1,qW8YMMՖ(] I6a]jv?F^iE+O\j*Hb_ֺhWjVreXAu]jׅjmBKv]J[QV7VڊV CA'ݑ4U2A3u 8c|U;bcϖq͞Ep?H5;UiKpb%d &}5#>!,,r|iZ;qB]ͮRDi9t i'PUv>' 4ԼV.p+Ⱦ rT'NaⓏ]h{,߱ &Nq&0M_uMy嚍;[DwZ9q6=Kxl o޼؈Oo)廱qꪳK| TvZHÀm>j W@w$gfRdZHϧՆIn! 绹LM(X~\R iHNe> `"j}=~B"V3rQAC>DMoW޹¥4O)Հdj mdJW3Q myc;|MmܡFp_8s{ޓF/-)2U oLTQJlXh=Lseo\X1 8I5.o!}eС m5N e<<;; ??2-hZx\ms۸~U'3Dq-{ƑϩN˝ DB&$r.wQG>J~Egw]Pz8/df#W'Ш tD G{j Yq{&\ D9,j "f(0La8&*>'|~Io1*8Lo$t:EOt/Gz9T4dh!FC3W'Xxk1!(Q: _kZI {x M2Zj7JM'\ee Ԫ[1C+9eH!b SJ*NŊaGPC:39D3"wT9) SIBMA%pK }r%i=CWLz/ٜ$CJ!3)`bz~vPU9Ӿ)X))j;DTMlba?Sm}0{]H4f( ڄWoc`i,U^BŘG;p:=wE*Tw1X~ D g[jne_">B,#05!J hl <|pԻ!(:fi+Ђ$dtD1XDPD acfFo'\Y2Mwj]Ocu=P{-~BISOۘiLKp:7ﴻ];{|!ei2KO ,eʍ` YПԍr|BS},mQ@ %%AF$U 1:Dz RKNY)4l_M[h̭uk y!Р6XUOl`rN2z!(,m@R"-p®׹JN7|FkY ǃX$;xt[ dNF6 lb|9mT # FBtp4h9pSPy''Z'/>a3ge71xDYhd{3qn z5dC$Oԗ4<$+g{А \ܺ) NDapDDX &K}fsm]E"g冣v֪&)e7:S >{Jk c @H !@ (E.eZn_oFWɟ17ᩙ厴V"u/cO\}q=T\ yq*DqFdEƦv㑎1CwF< [< )眾sĊUG-c}m T \I΁-A)G@8j |yS2*p>ZQ3yCnn1{csmLULɆ!/Tb7rݑN!U;^x!C0N2wT;&zy/ w:R3zFS'DHoGJ3l  SEٱR)v)b+ewa`;hG;էK $ZF;䃿An3R/b^Wfvԑґ0O=;bdH9gj :"\ރ2O}ǔ2߃LvɧPiwVf 3'M0r:fxVL-:<⤐ˇc-5Hlî|ҳ1B xH4YhY ?Yb"}ken!ΕN5ImU槺Zݒ(]U)|T݉1ʿG@,Њ*,#XGɾ/H k6"bñ5|pv˫q"];V/*ղ Uqd4m(C1P nC}mid<jiZ}T~Lg7XaVT_Kѯ1Ufl`G#Io48Y wNL^P D6c/u9a`7fϲv5\>LaP$7$hTXRTdV&fٍۘ*Ip}Wpp);)(0U=S|Au~>ߜ$XX9`G!Y>ĂP j: ?)ت%m+LoZ**tMа-5@.7d k/jUvh=qF1W{WHM}: A7bʘOlb:UW%ڠ ]u=q#ASF uWƶ#: 4rbrOHw|FC/Eˍmb)g3[vJDV' gIp]8ڹrUu:3v6}4f6Hc7FgtdSך)9> !X٘Ǒ`ʧ#Ң0kL} &#-Vt9ÐepUзmbg#5CDMʰ27}*#UdgJL }zR(&3Pf zRK hٸGZ*J/~|: ݿqα/̸=on 7Z;O0ϝ]hdx-НV2BGêr +6@xQv@7Wؕz\kA7Iw~;DkuT]C-vSd)k0hLec}2{aMZ칲KQ!Kz3k3c ٦Ϩ6y+ӹ$G֭1I& ˷ewGSE EiFt|*)6W33 #"ಜ?pПKϘtPsUpսh|o7ẉ~WcW7I] , P7G,ʔ<)]DPzŪ6t8k+t%%ޘ/v6zܱV01 ,ɆZg.h75PQ}Wz> o@mVU`y^`zlv+~3U)]!QX֢l{A>fdF'LHGPWOxe^Te˄ wee|# nl-(RuKȰS|$ yMZf1GcD _bm9d|`ҋq ]n>>⁤ OAׅ6Hu>:ʹE"x:ӢwʚhM _[{)ڻwmNJRZΟr˽^[-Pc6TFk"3.|,U+sQwnm0L6NQ2j\_Y)f1-6XH;0H 2ӓyӮ^ RQ]3C>`i Q9X:z E7Yl%[x|L>XM;O|XuE(|i)8ds:R\+ ߃vxM+\1~Sp!U~Gih6(wZV}؛on>l;3]5r!"<ceeT1Y@gIB,d'U.Th 1Nʮ|#z2}pq#mVZekE;.r7wұx^K^as6ti刓kJMo ,C7MUSr dkԛOu<'Wף {S<)7۽[vOַ(`9IOŝE|`Iz)[6Sծ loPçzf!:Odc{[hPM3qyHv9;3g)[Ͼ{ fSLZ+24٧ j *x_":Z;A5maYܭdxX"# @k:u6kDru4r:1 =Bؾe `% i^dFV٤(}~ {FQ]DkiF1eff;E?/&RrOi-g8/gЉa{F24nŽvh+HsGUOwY7+̌LؘP (CszZ]497sKʶYNI M fX~ 66Q|O{=88I{XpKo4(?ʗ#q)_b%7mN"a8TlDlN{F|6捹N9}{}C4ɾɛӞ|^sgWW>I^ѹ_8,Jò0{%24.,8Ha+p`US<92I𘑨hB`2x&O,cBxoe6pO y3@c 4`aĹAҾ1 '%ZAnNL]ֿ_/}vp1\CfBf,X(8ߣ>H`d II`1Dcx=is6W z\;$JT"9DB#lH1v_w HsHJf*k8$@7/rd#{w7>77|,db; )g{,xZX~gH(Bdf%@]'{>>|^ ث2@X)QEauu2=ݒ [:iOۈ 4REhBhHȇmD-@wL+ =D\}_^|PRl͡R'iV*mqGfUFAX6 6T)ly05"J%>ZJ{"VSԑe2řrqWØo-eʷ?vX`)&1Hʇh]_pKo`7%/7`&;! ɺy߯S[Uc%+;cc7X=V|(χȇtHL]t>rR@ښF0 ]jxM ANd,"F̗0ڙz$h.F-/+a8 3{f:8h'In!R 5]Oie1tp ˢLY_Tko_YxRSnf K;N$9Y%OSP!HrL!9# ~R+q3SoV#F3?V9]fr陿0 Qr=>t}X4T8n\^8UzyP7@%̔.Tv&%*%\ L$n5禁yziѶ{wɣDžaU|=՛^vY5YËYU׏:͎w[ 5w>=XfqUO_Fkbm+'TE,@<%.Gu9ڬ[A <΀u|#ae:feGOLJϯyϼ<Oy$Qʿ*g^7Ae.L4-{͠Ɲr^V8X-ە׆FMUw=7]yE?<.xUn KbޝnQǪ;ٶv(8ݏܭN-%`y%PNZs7O1Is HG_@wT`{Tf xr Loʹ3i(d XP"0+ F#@ *Џ+t`4?|D|y2:"Z ̚1Ȝ;ء,%^6PdA7Cn|伌@T'T#ߥsç,:Ju6ݑF;]bm&* #B\(?V#Gהy>%*II;\W a<ؑ K.C_Lyswa[n=Kgr[m9j/dѵ0$bz;G;o `c3wn7Řg_|saWog0Iw ┝haMlr1ϟwkYXz1wZJq~Sj+!/afumm'jڶY}+ye JJVd #ۏĉ(ռCa'޼qB ҄\~B%a7J;qX}˔P@^axvt jJm/,kF.R ;qu6_3v>gj9ݾAkѲH˔6u"Fޛ<"J&DG &i6}jT{AQWRim[E>Z2f,6lXJy'ZEC<6} m7-ZM饴שl:25$@eS@䊟^ WbIeDyd4Nte"(>oA %G@*S?p,s,7gQ`lfx??UU\ 3 B ?Zd2ud舸Jr5费'4OkޤtjX€QVE<ez;V -H!gy,@22xNԵBgkIalNdmjϷQp\<ֱ̹vGG/O!bMfD΅iWHڵD܆eL{vY|eutW /YIEs;NOV@ u2 krMq rN'*i.Id bgMBPc#Qdv뮿˳Ea*Lb_2( x\v(z>jnөV9⹏Mش 4vzo"c^W53*WEi;2&=Xa6zM6$;U.]o 8)ذsawmۥr\X)( yk[ 2ƶ_%3sbz] JPI?FyнMŨV$VϝH/iZ ł\ NXۧeqsqKS.g]ZE{-i&k|4者nH)&W]YX:N`LfdJ72[x&-(>7A;7g0'd%6E#C4̬&0Ӗbn07_;u oqN]¾|f c文,&[tA!m_/gH9ax[[dÎd<ɶP6S,t|^us;~g;-s됻$+xWjx1L&{Y޸.`͑tC;Â3|f9X-X$)թNM|\ȱ\}JXwthP($*RQ]zum]&k5 7<B;K'2풝>{z^>{ mF2ۅ7s(LH3 ~B}QjQ4uux~J)mw7c9 @¸=0OaPhp}wԢ`M5G>< {TFgaȆjkps3KUo*K]} pUEVmƁ +[衩9L5#J{!}a+ /TЫW7:QzᾨB(颕1s[|ԃfE})@)ZI08k:vmrt%g JڵGZN-ׁNkżXwB}7Po:f&+/5=5xD}z#^+2J<܋Jh8t+6D\|Ȟa Ϛ+ @}Մ.,-i_׮Kĭ6>paf N8UJwm'".$}Sh*3!(N=!lЅ_3: DԱ<'?_}ݢN['mGUOi|jQV0JY*NЙ. c a9M?d}Y!$BU]j]pSΦ tȜknƵ6~G֫Q49˦E#J1%V u/ҋ&֫eno.;_H.M#uUŬ[I 41NR`l`*yEVY=Ǟ𳌫YVl$:i|Ƥ57,,ی`Qk^qx:W 6q* 1"+q a6(7z[ë\*ëVo~g&3u{t\2;?]ϫuۄ& @Ur2߹}SGqNiroqe]xnXyG*`iw f`չmxsa\š,؞^` ObI'm*ޕ{Zk7~bkCߙ8;rau2/2׽cWr m 躴 :0fq] aڬa`MEEg~bj7dC iQ`k)W;-+.V" evT ɞws!مM6La,# mֱ! 28>u{4+߿`zt "7gx٣o>)E71\Ѳ\Hz$cG >g&wY@odq/zLK,dE4 @2D',cIOrqqo)ήse:ژ61 &$ Rh7mj=.(s^ֲ>^F5\=Agאϧ[G8Rr̡tSCXyfz7A{0@ 2t T v+ꭖC[Y46ד?R<.Wlor#Ď纝mU$0mx =<4?*亘PckXZ:Iw"u *rs]M=U [OQrc?/+f*[ou3p\%Qn}˨x4J|+;.B{E+V8ˎCM mk`}@ Zj i뙑TlV*U5s@6;x,}oJ[w Y>_8yl3Rfgx”آn3= /tɰR~[:} ;&ؖz"EЉ)J?h#(zrIikǔ/qH I5ݨJS{|zS~zOk]###uE R'$Cw_DA쩐4Ce np_+Lns7$ں%{ٸlGu.Q-r{~s396&7:ُ4[kttXsѓuW1E;פhiIxXLaFPݐAwgJS| /ai 5oGq{8Hfy؀"Լj\jB{jXT}v5ZѤN/#Zoku<)"6 9m! ۆ_e>{6yBǾ}XLr% IٗmBcͯGG:3$-gSmٔg WE|_Y;ax7IӋ9e& 1mYپ!ca z*2騩*Z{XFJlPϠguj^M r̜NKyCfanY$^7VbﴋwU\ĒOQ2j&sI;C|tPb2*iO5Ƃ xl\s(4S S9a4Eo?hJa|ّr:6 ^ Gp ƍgpMd:Gov@PzZ'< T&<>+u~U ŐHfh#fM&z.*&*ZppBȤNd FpKQ$HpHecRt. jMOB@UnC6Č~?[Ki.ArJ<vQVH:7FM扥{rH):-) ♻$M[^,+ #}ܐ%{'>2N/8B}ZTs*@*hz9`Tw@(*1px i?y'G.=U.g OACS@cN6/H%< HYWa)ŋN(FG@4kݴU|N?R4l[] AW]xlQ?PUD>,TTmOçe'lRxu?HADƨJO!u{b8s u橛e|*7}> k)Xط: 񮍐~9)BuX[Vl{Δg$ȂBf7xZ&\ɼĴ@*#3ϡ ,3_eaD#2S,(Q$seQu0%u%ɯ()s񖟟k<gحv(Ph0Rg?gfk9Vˉ-; 7^fG絖BWS xj#,_S:-2Z\Д'L/М`M W㣯CU"jݦ a8}Qg%P.&[~F"ڕꁅ}z%n>W V^MS'y/&V'Y۟-{t+͜mXla0H2 :ڿ~{n%7c)l]'ar7uwִOZ[sFj4矴Ef GMY2=sOkr".Ӵ/U.H8{%vht0ը~HikӸ2<4e!ىr"BPJ9RS~{&,8An7+_g[J|b)@TLDO/~N1A[vV^0B/) vG'1De@IWSo)/:<&mR:_ȑ:^":2<ξBQ /g K2O"XZ 0ڃzҷ ^Oo>~5zU]琽}L16<:@O Fl]B-%BM.,Lt4e ݃C/kAIX˅##/&'3nq,j YrJ.FUbteT9y$3ZI&eY4GMϻg}aCiŁ'M(Ӓ_GK3=уDM_[WyQx|<|M}7+6 YlK>f}}xU,1",9`f-Vg#gԑCw¾{qک.>F8 Q̒cJpsԱPHqce3ic@V|<F3I<^0=2G ^Ps*hS4xeqR{?N#T:Dy.Goms.t,0UJTn=~^,}!q dgdx4txXmo6_ hХr!΀YnKAKgPT,;R-ɖ#gM3T_$Gs/c x,/G .m'YϪ0hҪ/4/5K$ƝITI Ҏ# ؋K G"Ga9j#{S@ݫIx^^6/ ZsB{4' yx1sG٥M^gA#co%u30pxUn0 +4KweX\ vdl&!*KDek~6&-QLr',OPBZB剒5N >As5Uz $?h\ =fytrrp.T_ϳZjfwA=5xo&Fآ>d"}Yi*PZ!ZYy0!{4 U ghLUE_.:;4Py\;i]E?t-erjh)G*NJDͬ%5y r** %(2&@Ymۏ>ŭ=.4kRY. UpV20iy1hm8mm:+O] TC ^t<,J;%L>TwQ}tDיH.dkq8p0I$wQ(K$wa^Bsysz)s^ԑ(yK%WW@>I8y^xUd%V>AEyy68φ}0y5{u/b"50GG~hk8nfXqe80$%5gY@c j 5!ghI3K>b-Ly^Y;oC%L4xo4g( `s\l21KH[,FyCfAkE ͝X0Y jJhm.,u{m ?-|Fx͔΀ꘜx[6eԿU7+X%'y\9M5:t0<`؅psn@I15/"}ނ18[DO✱KΤSe;n eM hR ⩄4]b7v=P<5$SA2.pN go&h%[`e Ui  2W*%9T+k_UZa8\L=I<Զ‰8Kd3n4a\CChmt gేC0}{RK['"/uR\]TKfT}rۙѝd5 H;WA)(@wC_u(- //R hkJ,XyEi!j5~)뒺/m2 eq 4T,J=TimzGw،JY~('TU m=(vD[e۹l룋kvVJ`UgBkE"/ ƭܡ!Camib H8o㎜3G_Ϸ\C㈸D0}8;9 :mևc#\6#Y|DOq#1_06?]Ш{j~^_;ɳ89^ɬ"W%f<qK~iWI\]J AHB>yDm8%\%պ$a2m(Qk ?B/遑LQe/T/D/?\tcˆ}u755ˤ~o+Lm7^uj(1;08 `kH i3 :㪰"BV!-6}ۚ,ȁ5?. $zԂZkPF! *Ά\ C~uk\pBdJlΝTc ut9 uYu%C7^yt7H:! h쵛n ˈywJD]m7m_ꁚS('?X Hզ#.t<27/I?8h%b@6L"_Z۫sinH1d=;e&9(2@kiϚ̚Y7HUA1=1ނ| a}B]\E0N\IʹZgl:_&̜hy]_!ħЎCl p(AAWyϗ! Qz;4Zi>w}0/Gc9h=C3F擾+uu$j/}· PRܙ!l}^䙃4~G_b}oM --b6H gxW]O0}WmڤEt64О4\۳]i@H0Su|9M8;Ҏ8]?V7 {Y>fOa/b4Y&ax;I8CVR"yh师U=FdDuZa2BK ¢gqj%mz}acvzݺf o @@;zj9pm?(sF B\Rl>8*\5%42RikFx jVtf"b`?\jw[Q6+YN*A22DeFɀ# r\J\}^Eq{bWsu^o&hp6m, zU3ȃfW`gBK`awٿZcߟkޣD~=0k c <[=O\VpUrw[nNz}Cc`M/.6SF ߍ3744:(r=j2\uӯ+yz?5)OF6n7~Q!g"?Y83P(Z(L~m0$} eʜHtkDϠeW;Y[,SvG4mcz&)6܂CaR8GʪTGFմՐ?8w%>tA/2++\D+4haJx8(3lI"=X9\:*zfikvyeBtR p1ǵ)͋]ktN sz$/wIޡFPQ/vK]mr \ơu5meM$7ӛf܎\ "R{!g%Ŋ#[:McMIH8,`D{眗e+v})؊cP[wYc)N#ùoAP;AwMMx7uލ6 gg80x|PNG  IHDRaJIDAT8]KL\e;wy1 tʣMZ"GB4I҇ XMĝ&…&4q6`Q iBLM1Z"0w}.p}}9>U %/!of͇WEmش,VJt ?L˲_˧qW^gI@pHK"H96ҕC:8CCxv(U7낦ҚFȵO1]Q§s,Fś{akw<u@xC;::n!q1ܙ' Xr E4r ORϿta =,2<$k>ZK}iNϐl6 Y+$I&}~kA, 쭥HR=r AS b YQAҲ~JSE =HΕE%TY;Y5sϬE,"" 1arheSإ)1z,&o?ȥPW'P1n`Na2x%1é4ڷiz컵kz'jgj[Wѳ޻g#|¯ tnyi} mM=\iI04~#A#̞@ %ibۺGY,RUKMN['3o'8}_hl|$9LxPNG  IHDRw=bKGD pHYs  tIME*5zTB%=~߾}VzKxkAyЙ{JK,+K)t@yb"Ȭp&`!'VR\l@`S#p)E?k}'nRƸy4a!G> p]!W7EX8<*ZBw+A &8 -0I%S4iG,x>dsBo[dxư'oHY#O (0 ZVn}k_ԀI!nA SkQ)b3e:,r@_\@4$m: iD H( k? i3ܱ!C#zFp"ZļXƶS,L;㣜s\<{ ŵO^ @+Boo/y0Y6 %o=m.Np^fxEl.s '_<(FP=_z=##caSoacpOSVm(Fu `;7#6")+E+EҸECxFvnZ|禨V jB3}GlWPfupZ#~k4J9$!!P+*J_;'?~_ajnE\,G8=] %9YQ:<+Z3M j麷)Wm~;vla&_f4YW2+(@nc<WU忉Op1Y/ &f*ԒLG{`C!Փ?%:~4ހ^-! G#hlD}Q.KեզŤ'YqWS=tHYs䲭= :B#$&8pL8 ?,QOѪsg/=poL;A.KJ4Ovj/1b tMIK[ؑbx Wj"o!M`2t\}̩\?P<OJqv=vYobf$RWqjyxQ2{K§Y_+5K RwH9]doi:R6dI?IENDB`O%DqՏjtR/E6c{,fU+=1hHu[Gc@>HXiTͻk3n>A@ O[r@!d2YSձ_^Z 7{Ƈ|Cit掮,~H,DGݱ$|(,>VO)MAH@ڞn"1@=ʺ"[ηō- $UHsDV!X4ǣ;{݃#즳~y[t==z̜"Qv^6[%gR+lv555S-;۶@׭߳k?Xׅ~yU;ϱp߳KmiVOjBz#n<"eHDw=g dO$P$XI4 դp1 (RBJO:e90V!-=CxLdX"/TFMx&TROkxCѽdNfrօDTQ(} 0'-Fwr4`&tU_5gP ?lHW CnF0s6Ҫ^6Z<>ڋ,W04p_I2s\'㩗AWYq]@ٹ":1BDsUOtu+.bx(]kZy73M]-ɶKP B% _}fzQ*XP<\p.7\fN 8" 5lj|C4HzIp]ȍ`u~?<^pDRʴ˞o@ 6cǻw|o_x !p4wԊڙ, 0Ud]->~O;i,Up\ H '҃=9 O>lIENDB`d ;3;m=^x%PNG  IHDRw=bKGD pHYs  tIME %ϜgIDATHǵV[oU]6}3e%jgh5$`-D|%>F#&F 6ȥ)Zv:t:3Uxb?gsf7oe}AλkAwmCkwC=y :p`%󼍶]B$RU5(JQ6)!OsοBtٻ7vM=wFfMsS}KC+m|~eA(KH"!!"P5 - JKӽ\U}CC/-^|rvv@.8P4ApB0RHVA3t @ww7Tbuc#67KJ-(tf!y>AVfk,Tft2pcchubR6 ;S JKzjcjɬ`<h FwVѲpSsgoQYܴIn~_$i׼xˆ ,YZF܋?{ EC {sԬqM˗6 p׌Xx{56qHB| -[U((/S Z4.5~{xttUJeH 2|χAJt:=݋K.8Xn)hdMu-)^:uyK%0 h!H`]ѐJaxx>10PH }d>" fUK*SS]A_-ߙ?JՌbU8At}.8TEA2ˊ!30 1gvtPxhjfyM^Ր C?ظuuuطTl#1PJ1 ֕\ׁa/?p6?>ֹBD:sK1)UUa,]x *BA(iBµG>Ν`ؐIÊ@B+0ϣO{ ۶[l_}@K:cEm$\'Ɩ/R&?#²,0BBH\8ls( !]( @7 Xh4 ]D`t]s!bZj5&J W % C US՚dMu cA;by U\"{M& ͅBPJ* ${D(֮mLo_Y̙3:;;.\+ UeW}\M@{??!kDžT*n߾}kX(A]y$$*6mMO8m6-[4.xD.gg8=cb"lvlsY[v*Jf{zzNOkkkDb23==}o8 #QЍeɥɳ*K#^ޗ~_E__QMtMQRH)<}w'd25k/ `2eIENDB`ӥ9X"IDATHUMHcW=y1%IMc03+kZn"ųAH@#E,DP$PI@ L_b̏~]tH5tS(={=6oA"x_8Z*++˲"d6MW=5L$}F/yv8vvvn4ĩa`` [eFFFN]..kwg) ^ ?ܜs#NX%B`/GGGQ__.Ȳ\vok3 RT{Ael@HTƃU|SaT1ؖAՖ> !`v_R>\^^|(njnn&I`0EY}.#1&ZMl$I K\0,[˲X,z/--X,T( Φ˕xHӑ($"tedmh  &mmm4UTT70suprrj5KyPSSe;v~?Sbm{KΙ32k&I'IlƶcR!*"}ŀłRZ*Z(b%j23$Lf&99sCڊ"z[|o-XPc#'&&ӟ6 !D<=4;96:F=@l{e! 17?W8 LȁloWzbpojzݏLN]ddb^,m7ԫ2͖ dg'|+_s u[XՓV&i6mj&-o<K ,%iEܖEHF0k>gWg~"Յ:g}KBȂ,I(a!@H BHRԄ{{}Om[%;3 )@  ! !R RJ 56tON%:;vtKql2ŽRȇ*@H@8@J%{BG U`P&˗*yrݐtU!B 7(L -BJEȑG#zz.ܾwFrvnѝr6H%Q0UIu.JH)PR!$d P%>NxPNG  IHDRw=bKGD pHYs B(xtIME  .2οW;:u,vݵR_xZ(A!t9s^\ 0;(=o?S?}=S'$`q~n? M4lXD6^| 팑˫x%tƕK\7y}ɑÇ,k||G;{+O|C# --`@i"J6sOpgyD/8GzČ$lR$5@<q /hIdz=ERo@J`G^b6V%<3q 22w:SX,v"I-yC!X*Di9v=:#$DaЬ_;'L `uBeMIuOcG=74<|j s7(jEjXI"ƒ!NDb !aTl2E!FFR>|5^D:T{rl"9z>r0LxK\FHA@ڤڪ,h*u>u(޷`YJ~A'Lc݅|};?yFe 06ahC: \5}ã aKfɻEyB"f:cVQj5!Z+Vx!O S.չ~*B(lV07r^L IaQmayM]7B m?F "?8Mȭo"ssk4^˻Ṳ~nSO81hi4C x^!0dy;()8[vxKOo2CGG_~/~4 J6m6A!N`Jyw,S3x˶D?]fԹ<ĉ(~~ƫyƗп,R1k.PxօW {;w8IENDB`> vvBA/x/PNG  IHDRw=bKGDC pHYs  tIME5 o@6xPNG  IHDRw=sRGBbKGD pHYs  tIME1 `IDATHǵKUAǿsW̲ !p$ZE,[ bwF /}^L^ǁsΜϜs{zzpny0;6H)B8ѣ5Fc DT9X"R D"mb! !N8CU1z)`Yv1}Zf)mXe#R8)]Z M)}46&#@7OjFW*"˵]\<ՊާJT۞\wRtSm;u OE`#mnVW'秐=5.ljz\ w1272/}t&WWxe-wq:`'l|+|><opjq7) [+)dԶe4 njA6P80?~G@:,h[-Ha+؞ɧg_}<P1 J)}%3.+t^=x{ג0==+}{v׀fZx&'&8@*0ǽyg_PJԩf:+nJ$NM;L#  Era1qIENDB`2Q!ZIDATHǭKle\ۍ;uB&Mۨ)Jhx Ur!. \@ Nq*#HH)T"0cuw㮝6Ů\7`Ѯfo矙NH$gUUqo*YJ>ae1FGG|>ib p`š!O8f``00qPx<4MRlR \ :iLMM177: P>,"Nvmaaa4Mn˲dY^^Ʋ,4MxppQ4oX$ϓdyqKX'NQYUU, Wul&Y4 ۶D" ^gBЩJidY_}e˲rwP< 9׋eYiV}jeo[B?zE\.S*.5s\s`p}އ{qܷO.ʫ?^6[zln|mB4W+mw"0H;?Z:>x @JU@6~W ?-d;Ds[aA@]^{+"fv߉7d1+4+cKB aNkB<}w_b[hE9,bR$\ x?M#-eqwnnhbG6p<(Ufѡ4&kw !5ѣ꧱P]ڐB6XT h@DGp%t]R~*- t]hC{4'9yLN^I{"@lӗZ!˱o)&{ 8o]uݗL&ud2y5 zt IENDB`Q@ bBHOxOPNG  IHDRosRGBbKGD pHYs  tIME /$>IDAT8˝SnE=Y{P JCʟU!O x+K$*Q!Ԧ UMq]{wpMT=Zͬf4gw7p1 Aj.fs0xR(CAEdi,D ww#$S+4'U(4;߹6(Y'$H%ј/{ 4>OIꦊ.L e~t@<'!T3Q4Y $@2` \"* c@'G83'_Z8Y  p HP݃&U[ <=<8!hK9ED, )zf4'Dhcԓ.?(@b|qM y[@:x$* &s#I}JjGUD0X=&{pSy$cc/%:Sw]Tљ癩/MROpVȤh,Ǫ s`mC]9g?gbk>a bԷ؟zffu̦.AGN;` y6RpBӁl_ޞT,whg4Vsg~n35ĢW{'\;xqMwd㺗SzO_U}Sk>)k} &U~7%S+_,䕵?2?_2cPQ+~fQܷlv׿/]zlmhťJIlobxU[uSI-0<]\9%4ZoJCx sb``p  $) w'ud^9lI. Ap品" 0kPו6HdkDs~nnj^ sQjbIjByfIo@x#8*Oǐ <GV}/sxWK%l/^e&_yփd9Z֟w|Y]VwӍE)Ζ+ B}K}Q0l f-b8y $g[uS-E ;,C,aԣV|V0at^mtMpéhpp|U[ٔqڳ!匌~yʵ\gE7ߐYPy)4/u^/m쩽=269Wh`kBB1jG:S) /dw"Om5RqÔ(xlZTGPJ7b;0&_ A8L'>:Fq%UXKJ)]k 3bzA/?X U/WPozVJ@1""bT3J1o-T0^G);ԃ8R$M 5K+gePo+i-#d4tAmG{3;]@֮lh=.3MCg(c ֈDdӤTrFԀ{Rvlc- US( u+@uSV( z~H+Qki(p.{ T8p9O?u1wVRzlϧPn@[f.]<xޒ?]I+yL(-'R0/4?{έ<{фnض#V~# k Bp'*$W~ٱJ܏".'`@X\s:6a?T. 錽qnzc<5h~ݚW?ݝʇ?SПR=_:'sZ/\J6ҩ/ >E<,Xt8AznxՂOɹ Vѩ̤g( RΙBDYD^çS͞~u--dmQqKpQp]()GC`UG_}%LӔ?^gң=f ojrNR]ځկ᳇SXnUHp,Tq.gIt\X4Fu$'NG(D|IENDB`=f KG8 x PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`XF4ExEPNG  IHDR BbKGD pHYs  tIME +utEXtCommentCreated with GIMPWIDATHǵOTW;o>v€MVD҆0% FcLtQUM4n wn솽.Pi56.`2f1o޻ j$ws{H@)(z qW'{? ?+J[+:%&LR$OE7|ay hٳgHc b&ERR)ǡR.GE4x4PNG  IHDR szzsRGBbKGD pHYs  tIME 6b+tEXtCommentCreated with GIMPWIDATXWYlTU{m8!P$Ұe}mF D &b01$HHx񁄚hdi1DIQmtss|!VPp}d2ɟsI^x۶)9Zk1oeG`Ym#aB"mS.!Ç.e.B eEs$Zk,B)EZEp]qPJaYR) J)JRJkN) An-Ֆn>mW[k*kH)Zn 6NO?QLG풖0E1LOOSر5wknbdd& R`YdZseRCCC6qҥtuu嘜dhhl6ŋ\zuY\r% [\8mۦ ۶QJI,DX(oqL&Ñ#GyM=blll9יLL&8??薌n>OFα- nUuux)z77ҲоNn޼+RpqZYާ9t> (9ȭ:5gΜ޽{b1fffx%!p]rL6u]1.a61556FNk8K[[ǎc߾}qOKK b``t:ͩSZsq,d2Ҭb>m $N>Vؽ{7ܹbtyybq*j6^*l:Su,As#8j j5JKXJD " +cIENDB`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F"IDATxڔKTa{SC%Sr ڴhSPQA)h"[ ShA(b:8w>- Ph9爪r>_,KjSH:[tÿ>3 f4jՊ6Xc.ibP[n6|'LŪRCø':hLTPkqgա|c@,hIoUIO",$hkظ\x٦Z|=FԹiW_0"!j`RҕiQUsҩWkY ٭&ީ$ ]vk;E &j$hik8gwpν-F}_Cv2dGuALM14A R?!x|pgD8j ܝ#4Ƃ7;Dיԯ> SsOVXHF:^떫zՓr&!nRwp$ڴ6 ҏѸ_9/{k"G;M?=7]Z\XI|\d`?͝\kOl$'{/K[Z~v0*ZO*($*ecmJD}hÂz%dBLĠ"8OJ$)>Ï `!0#(L@aT;^ [m-Ml)<^ڙO٧]k orӝMc`~{۟k<3ijj*xb,qLCNf#E3ĦXVb(Nì>aJ9EsnMB H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  )IVxPNG  IHDRw=IDATHk\U?sιݦͯkm(Vˀ҂"h_$}2HhxPNG  IHDRw=IDATHnUUksZn[ҖHMCB@L$A1)#'N/0G S RJ56?fp&iv;pasfs3wF~+Zq #X8a #cG <MpBRC 8$ F3PUR4T:zgX\T# S*dШ>1_^2a6ًY}ߒKEI,QTs^kwozėvÒEd%fJGC=۷{~@q0,G?!R 6ʝkkOZLxUVHEyJ<% غ~wmŽm1 գj@.*#s s̴tHAY.rqM8cI2 o6."rS @kxL0Kl{d7v~sJBخ!_#ĬCsŞ4LEvh[ xeU/aMBre,ISM1ڕPYjHg t{i ._O!xusKIi*$RʾV(;Pw:lP3V fNt?=A  2@& AB7Τd2+LS! GO#Hunl8bҢ~'aנEebv#Wym︎!Vg Mǘ{Žh4 ;͓S~ZSF1ֈuއji:Z{yd5s ]0AU۔3D03NenҠ Y:nuÜ-ٸ sBK `yh} N0qJQ' 1%NOb1<&i+L(7F/0\f =0M c— ^ `TCTеV+OZ'ԠC9CeRBQIENDB`_0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FkIDATxڤۋMq?k޳9GSͳq)I)"%S`P1=DSSjxY^)^C\A39xKXZZpyu$A4P 8u"n0ta@BPjǗW yb\[لߜ>8NN|3(ƍ TF`&LS$)W+G7 ySg:i宮$:::7u!c$$ RD5 9\M1g?ǽ!~4غV:!x*}'n}(]uC;q&BA(n`\u'T\p{졇 ۷c0a B@Z˅<~꫘':8q~7E&ShjN@U#p.^9s~ K$m|4oFQDc18}sJes=:(EmPվiXæg,UF8|mO aFoIZ-e<N{%Flق( .$dm$=h4P0Z{EPUEae2.$[JB(PdK%6L>= whB@QHr š[ceRȊCס*<KpɓΝ=rM`ja²,7yӭ;صk@̈;t<B$D[Bݘ:qX iQ,/.\ ػwI,222Ҹю=j8Γ/^o4:17$!F)1chO9ئtbСCuK'_TJ$w .rR&s[ J5U>oZWԈzngW1=Q#jDeR* !8c,}o4a.oO t]RIENDB` OK"$*%eY%*Q#G wo{~Zns_OL' /qBaڶ 3A J$L6#@?u:>:Y>1jRn9 CABp.|Cgg&D4׮"Ctwu>A)q8אָϞ; 3v^!(Pwl9<σl78nܸ`磴ZDDJZHPސ;Z\-Jvu 77>MxTPNG  IHDRw=bKGD#Iw{ pHYs  tIME[8IDATHǕileYNKWn"dB Qck@R A&&,D%@55PbPFE.r{};?Z "M&9w93B4v[$'BQO)VLUYYyS6ϫ\N- +ۉ$ñ=ۺx/,7Yְa!B50t PmΰX7֍o9IENDB`mDA8A(aA( 3Loi RߎTںɁ+WX=J -iYmcRY ֕-gtC2BQstP]=5^_VW|yq.}2SfϤ|- U[޵jKD(AENΪ]QyQR.tHل mͮO3@%v$3ILL)f$?)]GĜ_m]j݉aHksY-: `dFeYi#!ڤR9i)Y y_IlFQĘm8E\:4{otQYK,$NJ 캁jUɤtK#frDQޫ}@M=#L&d]ׯ,TG! D{r G%݄;!e5V,Nl9a)cDkkea~t:ښeo kv +-jw_V6"sd+(14G}E8ryT-na9q6Nr} VɂO lgem#_4TYKFWn:,f&L_BwFFyw ?Wx(CR-C3g<6^TF\9u6s?cƻiѵYΩ-FT~iT -'ɸn%hjGutC8)_޴cԸH:os,|.b /( Gpb6AB^ŝL^<Oɷ?\-Y^]S6wkNS^#%Sh..EVŢ C S &|Xgˉ:O\X{dShyn Q~A{_>^+Q R$KXG.~m筨&>2bIENDB`%k JJ3Njx_PNG  IHDRPgAMAOX2tEXtSoftwareAdobe ImageReadyqe<2IDATxb`a?R|aٴYbϮ3(//zԩVq q W^V㇏ܷxe”xqvmff6 ‚¡X<| aaa\`pܼqsڍ@O<|<}/]d={VYYi@ō]\\]5 EK?0Тpaϟ>d@[dgg'П޽{@;S50c@q4$led._IAAA`=90JJJ@񴴴PXuϟ?Y{ùh EKan -o@cR,@?+**f͚89'ĪMV{ 9 m!!!$9sFQYK_XQauI)mx }]ϟ>>m111ren:a`hb)޾}R5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  @AtIME#<IDAT8EMhTW̛y'1HpaZR)EB tEIp.\+ n ".\,TP](nҴAbәL{|p\оsؽǏJ&sH\=ͮ;ĻwW_WP=ZT3=LʕǿL=Y_GAE {=lL%_3?x o-..WWANc&'1,a|吩) ؽ%[\*[.|U_qσaiAI;-߽*ks~/0(nk6V8YKZ*B*EMMUUV#*h s"̈8rTbmk}o|*KClj8GUz/^6Eڷn!SSU 1Z'LE2=uj0,l]F9NRsJQl"yǏ͛Pu:stRvC CJQQs߿//4T9R 9Wg GƘqLߦIENDB`G f:f=P~xUPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd3Oj x _PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"b!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻC<e;?TTTT6ݵan{4[>ɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  @AtIME9$jڂIDATHUˋ\SU{ M^cIH"F ٙA y^?R "Ƞ,R< "(R<=GO?n}T,% ;SuΕwߥy">i󛛿US.bL` rBעpe4w?Ĺ/|c?׼xLKKQ4xTʀ!Lk6V`͕IL{\qի3~7ڄzh ᰆ=ѣkS^DFBu,vyw7EB,Ѣ@MoSh|9x.ysQJt:>uʹ,:3Zsz& H1󀪒 Ķۂ $U,t {BtDDōD++;I!*`P[[)"Gj?zc9۽Y[}VVMQCƐ!dde`0bB`d8u>ݻyE"}T"(42hiOp(bZu:$_|ē'm-l^Ɵo v2`!z=c315]z`բw6r,K{R1; ea8Dj5i~ -iJiJ9k5J&!`B`ݙTA IkGT*ΜᗧO3ǘ) _߾?.,C8td""TU51^GwzEz^y8|0:Dp 0ekŪ9R8ytJƑ#?{Et{j!6Ԝ#6Ƽt"TlcU?3;Cm"޿ΝE:2ZDT"oߠfR[|`i s&%!U Ρq1$d[[w~tJ苈0s֞[KKiK[K@J=`EȀy3:3EyϞfw^p!}wEo̯MDXVE?b#58@ d"7_q*jKFO?ϟoކ1sƹA$Tѱ@;"-o̵R_~D$x"睧bicNZ+F$q^HT#Oܷyt8^IENDB`E1> m]ncvRGwqj'zo]? "2vGnnҿpF԰?֌v3E0:-ZLOwonEFpu >}%҃R?l}sdL4 Lqx2@1 ҭ"\s+ O-vDQւ|`{Sfen9pu?{8((VVZmx(ׅ6.PgT5* g]Xy~S*y݉2\}א\-/o4_BZnj 8#TZ/cq1\Q1M\M]tRjv`P1@JQX!+P(NO_8/w Ìa:IVeBSUPBA0@i붥~WnWW|Rm0b(g0T:vTSS~HДnDW D# ۀ0T}0&Rw^SO=REDe6I}i6&-ؚJ(\sO}o*9O4jnN^軬`:fetC54*z=_ i" <E:ZsxtYi -"47be`phq5׼+_DlIENDB`L  QxPNG  IHDRw=IDATH}luǿ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڌkLW,PZ0K/D` [ n-t37lED̶aN>,~ZT,ٌɾ(Bb1`X#R b[!OrrN#(³f)`ŧEsTWWVWWiZV50OQm6ۧQ.Ԝ4f^P$A"Q@>Q'!;p?V5PYYXVpF,C˓+++'ڢ$I60\=|؋qpmIKMMY(++K:~PL}}=nN"F Ż)xFuuuo^eYz){%v"''梍"BMs?n^mIJNl= KkfOc8Nv;MM~=wϔ, /KNFmbU pq:L&iiA GJ`[BgP"pd->@!$$l, JgUTT d_b,c||\\4;D.\DL}r,xnIn$^_}Yj:`G!ɜL{uZZfVԡjSh±feb0Ģի&u5 hTƒ?--q $$atxѱq 2ccDhw=(ݳјh*ijr#!f3IIIn֭/**QFE/;Ts ^'*Vcl|XD|>?w\.Z:@JJhTTn`Xz7-G[]]$IFXMFhmi&..nLfGtʕsTќp8p{<&n&nZ`dŋ^I6])mll].׎bтleeewO @d:u6]9} q.$ӟ3xIENDB`Y %%HRxJPNG  IHDRĴl; pHYs  ~ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$CG "IbX*QqD2"B)%d,>5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FC4%LEZ1;yj!xvXJL5GŸpe7UN愷]o_\|b~$?Njct>}i) (՟~G ,cL־x#R5pPwCK&CΩcPiޑ\qJ^פ֟?sЅۼ ?73&^c^t \ H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<0rr*YU[QREٙwI@[hl1i~zhe9[8 TeessnFPUӭc<׍yLD}mI OG(Dr^nԕ47q+ h]Hδ'S'dZRHL_{ u>6-qIO(DCi) :&IWK$_];*96}k.0~2!^{A,v vFϟ ]vK*eg ]iik1My$ͽ꘸XOyK\ 1w Hna!ః;MJ~)߄ DPKbighi;{h)n!Mn|'9׬A]e $]ZuϽ5h4&%j׈>V@(itm((Z8wVX8C`E.%kxje//ϟ7v|NHdl 77gL2HO-cKJfܩKO;X"mii)5?PcgfFnvd #΄Q7l)驧Syw&.Y6 MHKK#щ ω1 7<3{>߮>IUUTV  VxPNG  IHDRw=IDATHMLG]7"NHPH6PJ ( N8wUrxPNG  IHDRabKGD pHYs  tIME :t'qIDAT8cL`ڿo>3%3wE ˠHK?yΝ;300cr…'O?k3*"BBܹk 9X }ӗϟ//-yP[]CW~._doػw+/^y6ȍWmZ.&V.Uϝʕk2s`ݳKCBqoشy^هDX0\tcWUM <*/,^e ^yۻ8eeHwɋT3./0ƎS֬[)e5]Ԣt[]]'gBۇ";(N6=oM#vS8E`M$3xiS M IbfYD"mb-m h"f, jz@)3S=H$ZTś(dE>ѧ֝3:*XY-'q޶c?4I* wezz{XCǗ>/LEb~IšFUщ*~čPR\ |@wԕpLfPcjG1|P݀(QV T҃gHKa;:ƿk#ZLCÞ:8]N|>(N.LzhOb~W[>pVrW9ae-ϯ.̑ɡ#zd$=}0tJչ xebd FYd*H^^T-,4MC. Y-}-<'+Ӥ\ $JO&> @da4fn!IZHCn !u?x]Q#ϤԥKRP zof]4p Ƅ4Қ?rm"ӗzZHoAO|",X;X| HEE" Atr?00F 7s G^Q@cCMMM577~O&IENDB` ^ 9X&xPNG  IHDRo OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\FC03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME1i0IDAT8˭oTEƟwΜ9_%B0@4.XL3k21A c \@$X"KKnv?vi{Ιy8-x 73߼ϛ̼xxIzi n<["V5[Rru}L@L H ӇNg$v\!` Xг  ""A .$t;s 'vw<"m+" m(6v ZA$DP&Ғ#' A$uAgVВm)=WNf  f&0ACHØ 'l򽎑(s,va8(WEGvfBKRPӝ8ytA'-pz~tQ/՗#-)wn5_̭Qk5[[ԀAB'+sՅjȺionn~0 Q*&&ƉhwOBP,%4J rܸ8Xj}#7* qrlRjvvАdם؀zw~|8)8r+WFGG??{6c˲| Vz{~p9̮EFTͭ?aΟԟ |>KRgAcXڶ簾ggMyPo:gNVέo9tb3{w)_@tѸrF(v 4 VzIicfJ ##GM>xP. w`hdzkb_? w I{A `#e[6؁Ո"W[O7jήZ9el.nc]Z]$MƵ̺X@ ^3sRJG))R&vF:&2D㭯_J4 !H3FF;Wr9NvfDZڧ4|jp$ >G{WJ麮--a aIVAq(x.l6/]t&wNP]/Q,^±1)%?6fE1 JR|>&DM;lIENDB`8RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME%#{GJIDATH}{lef3mC K[n",FR/(^Ͳ@61k`]pFcnT$@P j (ePzv:Muti}dGH;SW=_Ԅcǹ8ٙ&&(%d%g?^eM3X>X &>VM<㥦cF^uu-D^ȧO\CͿvEț3AclAX畓mިkլ4oz &xO{:=wTqt <>.9l>J/e +nK} NaGٝwqtpbJ&fy_~Mse>l86xbLt†8}1JKؽjMS;On=N^E@/xAyPUplcMn2${cؠJU Q@ Ơ"_RP'~ .ȸ1e!pL.y',D(Pq Qt,uypq/2r/B"@FƸ4ZWׯ<Ϗ0BXYv_')Sd1 #F[|oVz9UP:bGAn ¢ƒ=@u܀:xWr7}$$v2I_<δӘ=N9Mπ#ʱ1_:\NEikov&O 4}r ` }lnu hXXA5~]WG+S+]wb'bʤ|&c\ L|+czˈϮ[Ϻ?WDf RXXHV0`(g⟝.0P "4utֹn^?_)e4?xBC46~֭[ 2ډ1w@,V.奋g!9r=e($D]7MS 8⸮x_my<<}pAܘH_oX@Fƨx߀/dc g[@8;_חAgg'm&WVUU.㆗)O:"  ߐ_sFͭj m d'p%NHuP|Ri#jk/ H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@+YZxPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxLMoU{$mR.@T"A,P$ĂBIJ ]bV"X!QI˪hhv3;9y_} "NU8~BDt6ݎdæӧNrB&"r:j7&e>J)Dk-}N{e{.I=sY3ck-;A8 pdxwZ!_z N+_~6X0FS DP[[lxz/NV=bFk29 B*8!7>-ac 0FF);R'4%}rIAXk֒)6uåm G F*qDZ%=6(}` M`"NyiFkea0H)&О!0|M\Z# 5N :]e<էIFpbH&᧟7hmnn4(hoɍ" ZeDQtm [[O>~eyy#uP[^}Axa48Bnkv07ϵ[/rp/P*8:je}nnnX,^Z@Wgd 0$ڒ2 2Ll0IENDB`JB[aW}g_Wl~<$2]GLϒ bG "IbX*QqD2"B)%d,>5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F IDATxLoTe}wL;fڦe,ADB]9@;IXqFw.R ihhRmCcK;mѡ{b>9GTU\w9H$ZJ2l;Q]yO{DTٹwW*++l65"X8(4]]]ө;3Uۨ*27W..T O1,Z@+Å2'dDZAD@QmojEbxU׫^-1ck0";r@XuJUMX#"xZC:b84gH>ߙc-;9:.P7w ٳ'KQg_> cӎ㍟xcxll8v +ϣt$rJɤ1ՠFdpT*kˇ^TRBX$Ǘ?m>gHڢS(t[[[Sc=zOR 0~ޡng3{>xBu%zuzkߜ9q8gN& #_"BbZqHl0 r dllvkUR).ݸRz?"-=  ţ+~6f>'ι'__:svH_?'8L~8ɡ0G|5w)"GFF>+ [F+C8d]JUdkq0)"";l.y q)ʅW/m&ݝq׾+:| mIENDB`ñ 7\r x [PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bb[ x PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME .!HIDAT8uo[U?l'cǩ6DHBG*Pu`P`$V`(ATB:~.qÐ|?G"4k^ p9MӇEDgi:f]=uJ)ln""arZ2].0 QJ "Xkw:*cci}cCk-[qx t|֊K7>;VZ1jϞP (d>~xz!}z2Fk6(J"r؋$N'cL15J#&z=rIqZ8[wm |!ϡpi::3C&7A(mPz?v̝:p֫Cd [6hњrYb.{wi$e9RrAljk}2Gk#.SSSd2pVхG̿nӕ'PJ&:ЌDgֳ:mJƛo| _~5 ͥKj1O-A#"*x'g-߬^!7c4DQD8"Hm}}g񾠏~5f=DQD^?y#I,o\jv\.7fJBчY̍cڒ23Lr^kYLzIENDB`K U=R4TF<<(ZC>ָ b+HT.kr]\7 8A@'$  pB.@`0뺴<ւc[ظiHdŲEJyŋlb:}lv5] B@ ?kg=˲R{T_L>+.ꍦ~okNʕwR7q"-$V XךMrŽb}|_X;w=ٱ1Zl߶-C;wj\]3'9·f9w}?{aʵ*udfۇ00\3/\e+LvPٷ~+d2fff(. `Eܶd*f2Y^H;@-Ƒرc,]v1qku][&y{db-73SVZ!r~4/EK .[/] nx'pEZ n(&{3.Z@@0P(zrR*l@ Dn"=oIv. [^- @\.:ɭ_:u=]-VT cFlIENDB`&" ==8]txZPNG  IHDRw=bKGD pHYs  tIME22IDATH}oT3ٳ׬?m JM&@"%Fr U޴RorҪzQ5iIbH (%䃀 f׻f93@p#^=9;3LLlk6Ohm6Aۖ!J >q 맾LCk>}B)R8>ODQ,zFkMRP(ho}eLM#̯yym?Hg hX(F"m@yMRhG{ n+Zc0`A !A(R,.p}|<׿e{իժh5 !bTX^46$p,fl߶c{oow0X]+)J4MTISxMMS)l*J-R4 Ѡju\7DP~gtԩwmL;pRFJ)m`!@Z`0Wc0Ơ 7D(J5J)H["D i |5â0h`1(h4 `d粳hòllBJR 6ڠFk>h5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxDOo[Ul'c;6R.B@H6J%, ]u@| v-R!'IB$s޽wX$1͙37^Zlψi-[g>O'XQ_[[GDIQ^Z0 Z~Fsg .촚OMYkiF=J4 c JǛK}NM~hcJ)(@9RbBmnn\:t.Wj>aFk28 APBDΞdqZ1QZ= 9$ T*x/Xb9u=zhch7#F#IRHj Camx!{mQ8Հ`XN`R:0ĽCzOe}ug^(4Ξ!,~= KĽCFGGr2;Q-t:nW̼R?VсXah$ٗfjMwk_ wՊyjuz=~ 毰6x酅~FQ}Z- ޢEgwث9z{{?t>3QësUQY˾2~Xi6>8]y˅BaY!ch:Z(ST!MꟻJD1`*˲ӷ.]#mZ{"Ҍ$C?}7ū t*IENDB`H {^z x PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<G "IbX*QqD2"B)%d,>5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F=;wXDADP =z2x =J4 c "[7뭩2X1FB)"wH64-}Ae}v6l`Fk2Ԗ ^H4'8a6ʥbZ1QZsxsjMRmX,`Zyx΢/ҒjDPTk*Eչx"I,A^h(j@s*%\^hM:-;Z[[Ё!Dz]F T_z֨`އ(K\ |FNI|syR/ٹ٫/<}Bs:;;)<]WHG3D˂{}gZ*8vщOy8-fLϣW[sV@ݍFY&1] ~;TM&!e^|_v}CIENDB`.yc 4_l!x!PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxDMh\eL&4if H;jqQ V;ѕ;-J$BђI6N27:s3M̽}q+tct:D$GTdJ^}px]U֭ٹVVW]Tk:9ZmZZ:;7mׅUyTY\\zr}@w&:z`ʝwRёkKkz@DPTIqytt ѓ{o `DvU*\!j6´ H) ưzWs4[MƞSp Z8[wt;HZ-)$Í2fC79slEMOOǟ/~X{(J4#|G&M_n8RǏCN `#Ʉo̽'"n ƙ:IENDB`x  ` x PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<&I>,}yI}>D #/&a&,)TLP2`|~|=˱mPl. A$T%"B O:Gn ID!>7ͮԭ@V0..º-c,λ#X7+n B// |lz- Ah7% O3Y]{R~(?ߧW-ӧG'T&4JZTXU"nI GVO@U"TG^R!Mz)\a*<nf{ghAFFB%i(kfT+ղRn[f0iQ,WVHzıqLgJ_ Tg|q~5;/|ꎿ/0zr)L-!-1-ϩ|tH*y;I=;Ik( 2,zK%:XU*`gJ\:,~* }D&JlLfQO`(n9^>b÷gP|0GoϢq9~? vW--?­o1Rp<*3:ӀyrS݃˩<xϼ]dd9@ D e͟+XvM&9<1U^TjNIFo`#XzJJ9}vs|j,2zn)E0k7󟾂K2Jzg9Q$tNXdx=:YSW䀖#ͩl_v%]@h]h?d1(/9ڿ_)W8v{m+?lJeٹs.b"J C K_G#gC(2DbsgWW(p?oY>UM7nį 2CQ | _SIEɔ7#oY7`8%ZƁ(nbPf(j0Zvp,eHbJ68,0?Tϧ|V׷oν|@on;T΅ί{O]$SAE&&^_M#$2ۊsI/?!y*evD\e$9`gm&λ0 =΢VM MHew*S8 NVY?ND}<~؇X52y( NĹpma*KkÿWU09F!vSJPH'0y|!uRO<4CMuQpXCdk8" I2jfNшb Nvc\d 4Zi_sp\0JFV:O_*Djbo\ɾ$<dȀ,ُ{#*9/($FΪWƶ+ŌFҷqΟ?h$, xE3sWA) 8YSzlnAA2,PJTaLZ`@IJ]$?JQ I2WL8"Ǹػ>Nd2lφ!PTlg-%D'_Ʋ^SJ> I| ~c3Ӯ+km$̘Loc%(5Ǣ {}&ѫ=SNݮsi:Csw("B@@@ J{v4Φ!|lQ+āLPLHQu߆c,5TS.+8X/;Se .#%Y͋O;~Nv9( Ԯ' m]&K60tN痊#̹ANIQ^X'v@'V19AV'a)7bMK!h񨀱SkFٰUm]zn/MDru>Ɋ jOg8~YI-Zs(#/?:1s^@tњ/i6q~L"7rH,z[Ń)1!)Fͨ38q2TGmp F3)XQoFO~|x`鶽8kx̽=#xIG낰D  㤱Graab5H&df`8A;͉$T IFY<#hxU6r iKiu 7>u5,)+\,duI"i;;}8u5!$s9D)G=xqq4aVx]BN:Ϩ.L$>ɏ1(3݄=LJ,~ٖ'rㆼf}7o;uC+|~">&xR;A5كmkCAx`Qq$x05|6#4 n`7O]OɚvL>eOGϐ#bUӜl8!:U "PrXߩ*/QP^rrhG |g`[{:p#RЄz~ob0 SjHݺ!iS 0W;;},~g㰚^~jx` E|LZmP5s^l[=!Y8 OaiS“/z~} .jY!H 1{9TY@l,\n Oj9ƽvf[̶n/ 1Ma~$AFae AFG `aB\Ԃz#{Jܝ̲.1FW? :G֐mK |}8b۴ǵؒdL΍HdUiWX~o(#S c)Y e 2&1hb53hwPKLtSk$QGXaCjSDD⧳x^z`e "7'V܂3Մ=&hZBǹ0zE/cv#K)#Qjz 9VKE&/V-e4VJﶶ PQHYMYQvOS}\=co`$%ݥ\8@P]em~4EDdn;)~Nphp|'ChIk9oY-mt7RSDy)~ǦwE"KŘ!>ӍF7QQ[uPi$2s+7L:{os.}BVl9,5'ba:_~Q'gt#^ f-Ż[V 8VCNrD_L/AxsNGF^xF=C]mH#/@>/d3UM1|8o2SYn䪫w * ex&vȏ-K>϶/{^- %:q 朑0LpavJA3?3%]w{&& ᰵaM YbHtTEi8DEuL-E05̒϶gE^ ĵ Odg^^J$褱-nO2Oax9+/1\M|똎TdK~ EjQ㶫0ɼŁ|`O;07EZ4O߉n|ZX]#({!|'[[Sħ5Ei믺 VQBߎs[#І7s'>,<3/4׫O_qj/BT;MbN,5ek`qQKNeި:tPD9 x)md'ʀEi^]JQon73wV[I+B˯gE6E B8Om]Y7;.'g&-&5w(VͦFu+,:mef"kc뢽[tڝZO~1[-}d?Sfo㢛wm >Nh]Qv䅛Y QzɌCw}^F6a˄f @aM6uK9uS|dp-9$ <68(Tmjyi>m+iC=34m*곰FuOmU^/p '^ tͦSw#Z B8V/Өa;e+uzR{W kbG6NݒF{h[:Dj-_<Ǟ9Wd / 7hql(L8WsT.YkOSSS>j@&؈§u5{ܟ] $*=mZ̅s&ow(-Owp:|qČ DI aKhU eՇ઴⨬:3 Q i0IC6RN~{I2(Bٴ.=EI7cM3n0"[Cė!Z@xOo\sE sV$lވ.¸nY #λINDFE6׷o ^Gl7*dIDOs;'('p^jj9*Z⑍"R|sUFFhw$QPK |Z]w`mӋܿ*2߯ }mZ6{IL#M6ޛ9InO!+\R*PvXFT(m݅"g1%3W9.NUUwϻՁQ,|k%M0:kگ?~Lv/d󗣹zמMx0,PZ#Wo'Co?HXI\>.w <j* 'K3Y}2ee>R '5hSvge_v IDATWo+g<^^ZŠct7SǠENuIKM֚ե:xcXUYm7DV7DZ$6.+=K=G#&%'5DxgDmM(˗fGH;"q86k@,yksDBr'eWЧoϽlͧ\{O=1I>ʻ`-5d?)WkZ+$ظ^ ~i ;eڏ)5ָ@@d2Eߗ] )$eh֛Zzlnrh[ ZB#\vOY$Ƹ7)O Rhmqy%^: Rmۙ^)0>6 CfFd(594ׇt(XC$sF c'I]]qڃ0qTVE`ّo&FkG5R7HK>@0 *7Ü%|LdG P[MӪFو_pц(fr-Lqbգ1/ cw,~eT3R'YHnWӍ-F֐3B A顮$?͸Ga.V?WxZ{Bt~4ԞT>_|9%gOc\^}lYrJf?Cr|Č m]Ǧui\AԍM6?Va.>N>|RPJGPl3bj>4ַ(=f+u7e]E*ưo WqvqA/{&Q#ߴ5k[9H~k w<|Afz~|縟y#⦡pO>ۋ!~e'<2FQBNe]z*[j5@ C)p6#/z$Hrk z[_ړg V桯0.MdUeϘZ/O\yPR#R$NfG$ B#g^B>g#+$ ~ü?w{>lNK. ;| fo|rYS5oy<}fXĬvAه.ʬ?<Ko$&Q껕0I@~(o&Һ$[p>ȒA'~l{ /ྗWrT{2 Hz.R4Q_-%$N/GwY>QTT$P>-ggz,3Moc{_$,c,zdFW7o)ho7䥹N+cΧQ JL{ \Oͤq?9;1eHͦ}r+(9aΈ#+15M㭿^>C Y4-{D 8ZϽ-_tN֖!#AkX[2uP*]Ѥ?x@m nR{0PfS\r#XF> DG5Z:W :sh,e?=j:b5NqE [qa5w`j#.3 DZK#%x_'y5۹ 2bL^My稩QLWlو}'!"Tߘv|~QwJF[M dӾ >?{ׅ!I"֜Lt30;sG.oI1#=*9BE~sGX}]QL`N}=;w#9>|z乳 SܴȾ{z, jWUsOsg7z^Uvczz,7>ޔx:e~4ZyNm|OoR/ Ι{'z=쉞`O'zt@HIENDB`ѻ eelaZ+XxX+ԉPNG  IHDRZ?]RbKGD pHYs  tIME etEXtCommentCreated with GIMPW IDATxw|Uܕ{or3o;q)jbZjժ:PZ'8Q{dܑ=G+ H|}3>*LO `O'zG=? @$&ItDٽ#7+;%XCV'K\"UL~<.%fY)LG@I"I@xDBDBr)2I)Y/r|f(AU 7$'^BIS9qe$UrN(\ L%Lf&W*rMlm\$KHRNj&Phr?KV!I*$R ±t B:|k6lFT,zjvQι(p_ݬ0j>-Zb~I]M&C%l :̄HwI͜o8,# Y_۱9`dR ·_{Ts. P%41ݿKol^(d(Y~LPSP3(؝xn[ f#S&b |b|xPNG  IHDRw=bKGD pHYs  tIME kKvIDATHjAE)"^|w{ L I0! bW3af3Y^_UWwUO-՛;;8S X!`B2f!sE﭂sJml 3Qy[v>0aK>鴹sf``,}issqTPT+i,lyk}}jm1"o` fEf+`*px\A$|vF}hui&''3azjz}2߅~8n=ВX|ե7:W@TQ02SFQut>L 0*aze9}7BAGVi8ZD >ma!L.{"/Q>!tPJElvÓz71~nF取Ito3R(sF/բX畽 LBO"4IQ׉K=]'7(ujL: L ,jlll -gDzmqq7^xoSJiuuW3\.ϾEN1=HtE,KIfߙX"Sc4;Jr81 ] ;m7WVXI؉{O SS$LOH$ r|WT8P-U{JBVw!9vzVXt͙S*AKgx 1W.FަB*D6F33314IR;r8d2NQjji0XquI[5ƨrW{1x/#=6I&PJai% !Dmi" e;W>nzwED!tӷ;W0Xc\:o31Ǝ\A]o*WvTSIENDB`b 6dp#x#PNG  IHDRw=IDATHoU?޳cJIJUҪrC(rÙw↸ 'AJ4m7"7q}3qFvV}}}bfcϿ4i4T50b8NQ*13(Pxzjn)YY$"YT,E%|w9B\򣧼wmV7Piso˲ȻFIJcܸ6ۋ  ÀnҥwƸ^l؏(2o  1cu}WB|='[{N/}RR9 pP~˔g7TUEP*z20뼳bbĖs\~(K#%GKsj޵jm(""XH/F!0 , g_|~i_13u}̲_}f>LLI/`mTIENDB`q ""[e:x7PNG  IHDRw=bKGD pHYs  tIME 1h+UIDATH핱K+Y3Ơ XDU  X(V"vBD,ӼBB6vYR]AcɬI&f2sgg<} 0;ss^o@Tj?45ybtt4;77 H$I]_ɲeY\%uW(4BtޙeYeYnjV5M5MӽpWWW( wwwE,ƒ$1/ɲ$IDQBm 3Rqz{{uFѕk2DQPױm;+h6xB@<gzzڏiJ%lFQ8DQ6]M6MuiZh9D1EAUU^^^0 ۶?T8Cksxt]zNR\.Ni6\^^299I,hP*xzzT*Q.jAVCu] %j4T**777`YۄaVVVH$y<( 躎8q4M* 2gggdY*leH&i666HRhP!e}4MTUUTUrjvwwY[[##[[[T*QUcea6f]?kkgfff۶@e8Ÿp||,$O2d}} xxLL&db!D6 4M#355եw댌;5,,,t%B۲yn)^Hէ۟+jTU= .W_B-~N+V0 IENDB`IDATHǭoLeǿw,55EL4%5YLro|W2}h/|;Mɤ=HYl[kA^K|1a+Ma\.'}'?4y~:ɦTη]O> oޛYT-7b?zs:( BOў7h{'OZIBQgGĵ& Ib-2@-jfA(MUpHeG/q:͸r2B;%Ⓧb|PnO=Լ X";(拐Zƈy`^9wSEcAz/aze> B2LbP$m0W 5-Tk׈е+w$s*{7 +Ŵv\-j݂@"Y @H2w֥7 T.r@5 `=u#_DsT#IENDB` ll#gJxPNG  IHDRw=IDATHUMO@}NZޑ8?Gqo^8^Ďm) I&k{Hk9YyofQ"qeesa" c alnn~a9S^^^57(IR~`ppu:!o+XSSsR++-!! ]S,m| PWWך0PEE3(0:: }} 9-B3,@O瓩ee !Ii>98wPS_Bp)kEvVUzh01MMEAV_RJ?\&ie ȫM7ߊY.hLҨZR[Ar} {*a`cL8Ueeeև^Ai)T٭99EnW,!$V mPjbE]U*YsVI3!nf P=waH՞fCA^e1G9-˰Bh>k%; i[DA<Yz|C!Fį,BVM+!q>==pKެ(J^A_f(pb4Fxw$|D1.KRxsff t㸡֮4 `*ҭ$cSZ1V1cB1n(`5pIENDB`<`#"$" A !R%X2$܇%5eavk;~* ""rZRݴgvS3U $@%5*{y3_ܩ`m40s X􇸘cr7.=LCc/ J|[dMB^ztdm:Lsj⮇" VP:X΃%FPx;|hjZbgZQr\V|F__v2gQrU]fjs㈬2Kepq!) NL1|mP.=s/&و6׿O2{fg-"Zu|L SL/vvtBwkj8Z&hz ̩c{j[m ȹWhO8B 8soO R 5uuc,szث_eO@ ϲXc_:m cu ZK ;=W "c(GǶS,9y$=C?y.܌SZ6x=+¿Bd,Se*JhQJfqO|IENDB`wI? i*xPNG  IHDRw=bKGD pHYs  tIME "|nIDATHu[o\W={1;N☤iRIRHi1jIUMR EH AETq$$TB*mZT$j$PUIcrt{\'!>͌3{^%\>H5yf7&m ZirpPhV(@)@K{ 7k%93kalQ1\4" kEXFHsXop$ThIrtۓW94!IMҐh܍XFh:=cf}1[HѓN֮f 9no\"xnum j\Y|Y,D 4MoLdq*k[<8H6׀Y F_c-Z*EJ׋^ @̉әRp BjP?Wъ+79(gh-+ԕ ځ5`("& ﮏ*9NUP,zkA7,mp zHDdj(UXrX`k`/ c cd,oHiLyo'& 2+-ܘ\f-b4&#!ֆX 16H ?,F0F }uZDaHP{qfr̈́Jds&Qlk'["K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 0QOhIDATHoLU?<}>.`ԋJ ekj-67ڲzV2fEٜ8+f/h҈"L( \+\yӋ+ ֦]W9hll콓⁜;<mgg/PD.  )T)BhR3G/6Q ' E2@J H!4)-gaLB3$qAzU*W̉$P(%R)J4bbaY 皋H%Pn5D4T )@+%#YJ@J}J: t \Kwb%tLᢄFIf^EDoLUkeu ӵ/;(Qp'kAMMf0>}P$55AU.vM_-PjnM{ ̠kemǽE͇i ēOpK@@_)y6fI6G8O ˀAbSvNݞOS?&|>q;JyyVqjUUU /xɷj~]Oe$Yan"IENDB` zjxxPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQD磢zf:QgVd:㫴=o%E: Y_ X:R78kqc|R4pߚ3X2 AߊMA cJk_II ΅V=Â6l.ބ:TWn>Z=!;n TxqN%N֖UKTbG?5@}eaƞm }0UMd 3$< 'L@Vn G9kwo"^""toCd^Z45=p_H貨ddC# J@R2FNȰ&P(&s_@9l)z%XG<@? > oz+7^;|b#$H"x4= ®o_~LDA—|))!PHA^k;i஻;=0z0/s=shvN~jɓ'֘j@KZ=;^hu̬i 7U7J>|!~is۽s9Bۂ^+zbAnnV7g~wd[+Wa_`)ڷbLavTp8v~gfp G|p 6L &y/NTpγT|;!VQ$uZԌ"UpR]u[XE%,QŐܮ@bD ۯsdLE$kDAD1#S0ƠN!1 1xhkk, 9ɼnTSTQS<J5/^YrߞKS'^zyTbԸs8v3t8.rdyѹfO'& < #i'G71pfdaxLٵ,#wGI\4jj~Jb1pq~oBny.=>`X abn!c%CH $NJz^q3OQnzDLa_3L2NQdBU6di-Ͷ_#Pchh<`.q"uUpu6C; ^Z*חK; 1BpvujX.W 7b8ST[|[|]>Ģo02sLyL bȬ*3dzx` hzި -,a2( z35*5ͦHbZC՗H*Luo53-Ws]OڍuTk[u ~4*4ҁ&W󅙫}Rʶ橬Ȉ B*($kXsuWQQib~(1@qxTJ=n\PS:mNiM`p^Tչ <@￵r" !<@?pϦmmmr#e`Dr gFvw;;˳ G__@~(B\GrE(.7h%jkk"NY0z_IENDB`AC03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FbIDATxڤMlTU3SJA,DS] LH`EbX Ą(& bI I@ɂ%-RKi鴝vf|.LiJ==7y~?‹~.Ο_<pJ1foo߹%]SSbLr6W`̈9՜8+o߱C&FFU1Xc0!,qUaYw G묿󸈤\Ȼ_)a91-]0Ƙs\_cgXcxYTBaT%CjZZZ[kldMTJU[pc8F*1Z,"`-QP"2<8 av0@&7ozF*(B ({U{Б͒1%kX57#P σ*fE‰ K[ұa&T5c*4\C /_B'Os9:;IyN"A.,YB<`4 ɬ\I/0D}L{;7n?|O8:>D#Iմ-GH΃]AUT~tdž!ikI-]-z{)ߺIjzszY-ǓMT%YgIi&?yl ("|ɻw۲8|' !DE?N = @}hڴ#G"Fs9L`9k+RmmhDMF墋'Q^'xq#˗۶|*p3J_Ej=x|ӞҞ󈵸J짟P1R55;j'!`WWzKo'lY0n-_͍ ^P<%.F. ,UG4>Jbg2D$ Z?G=y&IENDB`@v Zn8GxGPNG  IHDRĴl; pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڌ[h\U}.9s2m&3& U4Cjmˠް4mE>j }QA R!4ڛоLIDmSM&dsC4a^ouT3 >}3p4>[,οx~T'>LO4+]*ֽz6x^-CD֯vd"dfly]Sk> o}UC;;}vcQG^>-/{Ol5uӪ-humө 򭟢S_(l"?9)7 ?۹bSXT*Yׁ2@thճx]`l:L#D <\RRjbCjfZX.ޝ:|O[nп.H8)q3|8|oYDkG x7=ұ^T br"Mx[;HǪ%o BƁdڗbq~-Wkw [?Rk拐)dkC.-5KcZݑsٶwwF[)Vzi_;{F*VLΎ&һ.? {A祏sS9'G(_ D?g&u) SWgW~2yX5nPbUMs']?Uo;H,J^]-FIENDB`~ + ;[p: HxH PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##2oh x `PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME/3ڷ*zIDAT8˕]Ha|72Z"Z ¨ @΋.*"¬.*ꪛ* KT$,3ŨpNݦmۅ(*-9?s37kň.KhsGp]yb.FFu\i:En>'>h8Qu6=1vpPt,7\HN"%I+ͳUVJ$90A˗ax+Q}ZGPptoaơ2PAT@JACCX g^?1*mʌFB~)Pt m"O&g*b-/rtz7'vQD œ FÛ@/+F$Qtw~VkL{ @81Ok_-+wtp־vWlVA@N|_jb /زV(`f4@(v+>2+)VWXYд"H oULn`MEsq{6Kђ@'%Ä8O!:Z{}STx#GP FޖnyNZ{D2t.3l/VsnFIENDB`̖]ϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME/*IDAT8˕]HT w&IfƦܘt6 >H{zb-vYb6H, ǂLÏ)uqt;ssd 9j{~='g߷8Vٛcyb[UmkT,/uЙWį *?flo"sc~)~'[$k_^G}+G²BgJ>d$AB|F>ź7J׊:0<68LYS!5(͝w % ۂ"F]ꌟhc8␌CZ%U:ioCWJn)^bs/t+H2h&2,wv& ]m^>d d0D H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##x5qn x ]PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIMEWюIDAT8˕OHTQ7ofSGLLK B3^ nkdI;-**4WAV-, A(JQI I0K 'QgFg͛y3^PI{9DUi1Jppfkn8o9n3ZJkdǥbQѶ'nNt'A9=""RV{!kpPB2)E̕QE9`@sUW|!cYjNg 2!\Ixq,TmC5HD`@L  7-yYQt[jUe@__eP["FFͷwH89lAJ{PXVAW{HmnG&-׻f\DK ~V,G 胈sqkӑM͇D6rPpA3 h08~ޒ;Vb`aICY؀.n@ikOӕeY9@k5g6 {FELvsYQEЂi2//Ψ)Oc7&% 䠢(ȲLE")@f<̤A_Ӯ=@jQ2@3ubk'y@}uIENDB`O%^U{u8~f9=.9FwlN\iSvlKv. ˋ+b]2L KKhGhu@Hpc:JsU>ǗX~`X" (;Hy=sm<'_ MK`4:SV>V\aYjѦX=X$Qcҏm8?P*8Θ>dq~bbr +ӿyT0 ^t q?#1Q)ܲ8S8/OȽ?~?WL XZsߩx%^IK}ZK:$/MpřUC8mjBqj1P4KG(rq*Gc<'O{g ^ԩS8t=[1AN=Cɏyn棝w&P7xo.^)"3zmpIvw;ĝ Bv J c >~l#r>s_;Hqϵ׷h|*I=A Rȕ<nqxs E,Y4"9"6o=zap8' ՘G)t; ĦH0㈭tڻ4M-/pkAH/1c*nRDYr}bG;\C*MD1xPA])B &J)zo *(KLOϐ Il6 BBHmI5bjnb-G4 JɠF' g`&b|@`p0@뜙Y*q)odٺLy=DX'uV2j_#Klv8vk̭>ydb<1(WP(ؼWvv?q/NĄ! Y}@wq#pv A^B1=}n{SOT+`JfIRິZ-~?o0'l-R"p\<υ1,8ql)s`po7lAuZSܵzZ—4|h4q~ _OȻtmS,/bs/L'b4j߱׮mٯ{jz&`2Iyc0h4ZqHС%2s{1f%/(zn`=OOJmWfkhݝ5sʛzM0x< Cywfv%u /̳p`Z"3- wSOmڈزuscruJL̙ ´w~ٽcsovc$1Ln\1믽T~zJӱe L)^>|D" "\'_Sjs[;;ʥ:ǶAt(Ub%r0Aay<\8R\buth"2m+x7IS`tQ٥rQ#t 2reqFx%$a NN j5V޳:33W#%Bkomm9hر,+-;t7,+Z #%2S){TtD 눒o6"()px'R84])'r!cٖB$/n}Ӳ JliLD^3ͲqD V)٩S Ԡ)H#kN_2 `Av00 $I)ڵ^ǡ*S(ܪIENDB` ^^s* x PNG  IHDR szz pHYs.#.#x?v cHRMz%u0`:o_F IDATxt[]Yk~33cǎ[4D\HVQE AxI*"<!Aj!EIJĹ؍cg친9r^{xZa˷[W_/c Buw@H)<ϵR*Y9oϜ9<+W68v!rr=8'0 4LzȤMعF&MV)8~>k<R ՒӟHsL |?.pߟ'LOeT <կXghLQ ?GL6$b@H@8vB#<8c|K?9<g?{$ǨtBgc4!RF)?(Z 2K:Ò9V |DbabκixE|˲nt?~&F!qa#L"}]@%wn/ v͢2U K@ݵX혩 ꅐc0P*61=RgX:D?.jNbz0"E3R*0Rn0ZS$8bXobimrm;JIRy~3dҧVV>/<|O_%jw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڤϋU?YAC"ūE[<`HAAAν=_[j{gj̫Fէ+_~t(˲(GQ{Oá5ig_C@zw;wNuW^[^]%F3MaFTm#N+RV3>ϯxWpBD‘6돛;ǎl0wfMɳO?si{;`TyR&*jUQs Z|P Dڎ{<7HP5)gq9c\LÖYTn"Uݰ?7.LQ,Rd&Pj}JҲ1'eדL1#&1,:̃uoޙsG;f6ߧO[*@(]7xIY=3u=]9f6'83qwg:dKom:#*MvdA;s{/p^e2dZ\xu]wd xBK>Pԡb2zHx kBdϟjj.jJT(hGA{S3vvs;sEX%ݸk.!z :8a@GtRhhY}Dl@拤JjV{ H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(h7s-7lm2e:.&3\d/i5D Es}9"yg=0831c ZH)SCвy1455)d[R Cx>j7H)I<`nNm_Caa!fhS1r:簄 5=36:ʎv0v2pmtvvRSSDsl71"IJKK ˟Eѣ]]M^^RJ$r?~z~xDwj~tcv6a£tttаغi+===ϛ R|ϗ.|e%[ 5Zn)$uPJc $cƐ?>F!.)!\L,X ׮yFz.R] 48 E\)/@# feSz/\䵍{"U+8 aI~!_f!mdD7%,n a eHXYz=]VXƝ$V>ND JJ;VU\Mbc+J,ǓܙDzbFS"AYY:Y 8R0'[&q H._ .*֮I%=|^,)ܼ h+Ь`b.Ϯ&_$),|>龘/cs[twtI9l[p,C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6i ܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATx4[h[ewnɭ=INڠIVtV\k+st֮"XPQT7߄ CPX 7C\Qk:[R99ߏϿC(Pٽ(M1 a1t:8@ 9[woVK"JB]>ņ8ɠeZ} FKgDBkחwGO|x۶ c puNN_~Ź'`Ox8 fkR5NyM|bz'fbG15ykSKK%/El:1cyBCoPg.ixg,_x#܍AEtţJ۠'a>RJąn%rv^d#>%9*&((.}ZbH];͎f# -Zn s+kn<xER= /j \O6w0J):I%Ǩk>^xjn_ⳕ@V"….h``rYժ,Xvg{!ؖcUыTք,!J2DQNsQњͨ4g]YaSJT(FtF"$PS(J~!OtAC7ѕzWK.b1weUz;xY)\BdFUC6+twZͨH+]fh&d9aF@!% wh4`b\Y0Dl-'xQ@ IF@6RoQ݄$,kʑȫZC$UfkG7aIENDB`f XXv.x}PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq* RKk%[H<;\0 imi!`Z|Ƿ}$ź"25UAXs8~Z5LUhjj_d޿*kXR(J!R*TƅGPZ#c$e )7 a$|c͚Nrb,s$I8wb44D 02vFF0rJݫTyjĵ Z24I' }==#"29?njƆ.G'~_JtUR&R2I'a/~S*or.^mۨjLOOӱAj@02vKH_=zcẤщړRnLTDV0xAnO Hw޹CL,[bihhhٱZ??|S2ɧRYnqLoll/ \dE{;!1cô-YR{jww.`pH غeL f|rrwu>ԙG?vMM-}}{U7 B1OezbyԷZ(;SU%#VtR.Q*/_EIENDB`5E $nx`[x[PNG  IHDRw="IDATHA0 DǦH\ˆ=ʆojϞؤR/QX+eY`gffcD4a۶zPU`*RJPU*q|YCc|s=G @Dι[.̥aqfvsP>5,[tL._/R1ndlK(ǣb GĚ>gSZP:f^9W˴J-Qn=-QMˀZmB /*!zذÇ;RsɯU4S?IENDB`OLQw&xAPNG  IHDRw=IDATH[pgaɁUb#ˆ  F#3\0w EZ(;)1 RbEvHhKMN^yoךw}bٲ7I|3]nhÆG8KI{{KWJW}2NO)7\{̯'t){%:O\m5Lh_T (N]<EF{.֢R¶,@{c N @`k->XPJcEXc,8 v.``%Iy;RcXkf1ĊD ~*#dPJqT_JPB@ XIAEЧS&mbc;a:7.؜}k}ŽgW&i:Fsv*(>$}c֭dH+|(DQtP(-so.xܫ+dHcGem@fgg&4riH!j.DP?'i`=@KP@"bnfJ֨xmB xi} XhjuëEQ@UAw/^x9InSof}eSyV *}$:R*E@P.GFF"}ie)Bumz5O 6J9 OkҩScJi*I(BEbXLmE`of{t{yZf8BG@M̊s qoFdJh u/,rTz ij~]s 8tn\^ݒw4( |}OJUsyfο=wss ܽ4~s҉jO. Z$]^+W~trr??IENDB`_ąk!j& FшBK@ko̽縘~/'s{s3FU?׉ |n 1וۍg YWnm)tٖ߱={kw{(Φնj)s0x7"c{|w[{,9NJ0\4R(uVamcgqvqYWcCpjSH:eE:Q+:oqQET"41#M:>Q4[%XZ"^R SHDJ*q,.n^D*6* V6U)/YDv :WwnR%*H]kk[,9g@ * 5L*%N74a R,H&BWj(rtr9nA,B30 c4̓64&[9dZ'$Y%e7:yk8puQ5-wq8:}+ ui'ufrt21c*||ϣ#o KPQS[_/tss<ٷ%4Vo" &y Ҟ܉ < g I]'nEʙ#kRQxc [ nP=e?#"0LH3+sQEtȺ,0.iC :ݽM~gWs<C&l@8\j~riEmYR-Is}3N}e|׹t|켿p7} W.*9Rn߾1:OPR[I~^9kraSt?*$ԀȂhbbraF6.Lp  ]{>x5PNG  IHDRw=IDATHˋUqB"@ >0Wwʽ wnD\ хd#$Wɀ&F2t=yNDnzݯ9{Y==r)ec<9}˭ȉ?>qcGyzƥK/G67`dRK-M5)Tc_NAQ#HyDf- D@)ned̰E 7_dAL  H8=j)/S5PEH3bk@7l@Dj@R/2ww6Ͽ WO2T{|ч4_˥b0od{3m!RB$ ḳ{r9j693;,2 Z\@07hPZhL0-P`;׸rU6&*6']!ң䜹~:_~-hJ5,ՀAiyDKM|2ɧUmY=uj${*BhQAUDhF "Գ--3Wk0/p)nG0ͨz0`PJ M,TΙ(׾-D tR mRJ!"ږѶ"Wf+w_ "E̓)mҶ*RP-AXģ=ϹGߪt/\xkx4f<lF G g666L6GmۜN|䩜DzȐT"ǼwVEfvik_v9#)LEd l h#xTU=028͛{A$! a-ATԚ@! !xf$ ׹$"aɠ @@+sM9{vZc]eJQ((`ڕ0li;s淬!:mm*gŅim`2uB>91(kJzՎ; (kj4H\oC 4Ǿdn|+ilvT9G-.FIX,C{|i8~ًP(8kEC$M\.sv9hJ[ҋyak>Di1Y s2(J(*gR}{xrijSCΝgGJ*`Y T %<믽_8qff.R,QX^^&M14 #"{bs9}کSJeHxISo94ͦ?bc_Jō ֛LNLp1:;;iii{%O%$!MS4%I"fݵJ֮CLNNǘRhD $IB ϒ(99>>p}Tj59Z6''P|.O>[wcX|zYbT5}{}Z'|Zvt[R9[m:c5&kLj&gϞ+fWNTUUM<LMo_1 cLS@pMUmc_/X[c^ܾKQ S: wp]!i2)6߸@pIENDB`77e hh(~T x sb``p  $?ORAN ɼrؒ]fHopxD30p 0#ì9@AO_W[윒VW_O IF808&(gd({7U{8X~;4o1淇pz㴝w~~-u})-)iy?$]=*_Pps)-:w{Ek +SkCe(wU{G/_"!3vlT)qmWmV@g0xsJhit]8}r!$x$!މPNG  IHDRXbKGD pHYs  tIME") IDATx}ɒ,Gv9cM^M )B&d&fZZ;-RЂ qA62ӎb4,dֲ)݀0PUeF"&9ބǬ|uBP( BP>,X8ˣ/Mҳso Dl^?!l}!2x?km=.h^G^#~->߿WI\=P| xPNG  IHDRw=IDATHO]U}Ki/[-UJԑ)5?9hu`H8G^6O s^{98R=:YZۨ*==K۶Nc (XX|c̊U ?T6Oyͳo_];T.[(YǞ}Ǚ B(Eb!F%#~-{ 4%>Y` p5 B])^`˶JE@^'` ["-q;o>{B|0Sq07 L=6O~Y_#J٤FE/{ Q{ R0Wˍ<>:mw_3\=^N @`S#sYB⅙;T7E ϑ5Ddؑ5yG,/?/6c89Bohr ۇY䀅KavחG kt<f+iAC(ABrDeۧzE 8#@7FjH& cX" bs z-s`x~or 0 NK0 D+.lz/sO4yc!θ!U`O=" 6ɩ}r5 a@&~Z8b˘͂E2/i~R%k'GL6IU ulۇgGh5NO@XGp<.ooH~6͐P4]@y)JdBteb[ǫD/fe:X 24 =W+޽p?{ݧg` A$q~ e-870lNv51pw]--ROQ[xpAO?_~>GVᛪZ }]`ס21$"p;ѓ%NZ"BnZG<9^3o[/6ÃΛ Yդ 'o?_S\RyAbnr7d vq ,9Oﬥ DCSRYMHE^4vL~._~W' ՛!RI˓yђOS1"0+k I®bnVbk./Ƹh&fg>`%+&"|{m޿ه:K\^%r) z a= >#MY/ƛ[<6IsR A682k?LSb[A*7ֿ{?\$'`q2z0˵V4F1'H2t1W˘:uGITGzI~]c}x"csK.Uҭb5JRF|} _ZԆ>!K`Y?kI.J9 i"!֧K,6 4rg -llR8cK-iAl8M.kYtӰÅ]wE= z G1Dr\mzX(}vigEDYoVswrtʹ {I $Xb u C|73%=%GK.\s U^ύWX7XX\3~BZ$&m׍u!b2W-b/_O"BPۧjdd@XvI@h`u="#n<!As 2Yj |S\ƖNnq1U.+"1ǏN!tS.^'!XwLh.RW3Q|}jE Rea N H!)C\,i x'HDbј(oxg y &Rhz/`ySXӴzgd`g{H걿X)9^Xd8A.)>O.X A|~?EAϗ RYu4 ld`lvm^wPdX99?a ZH*HI.21wE;Xs,ҽF@t VOjRzy A`WR5JDz< Wf u);)}jRmt 3?6" 92!yyOH ڵAz)F˵O#uGM0b`\$;utSHŃ i2{2ƋC''z35n5F_8 u~KﰻN&(НGOɬN7~LpX-  -[@KAjQDKx+$܆ߠ+;ݒ+HBb*;OMAbSnt۴Vuf5H1Ac}r?fxA3"'<oۮם4Q(fOdBbAڮH}Q(Oa㦮ٜ~+ӓD1$#|R6w)Cb}6P̅ d6Kt0-H| I69)HQ雓ӲXYM>n{o(H%$b !٦T13IWa 5Q̋ R )љ @RO.bF" ѿ+U>/"I OB Y) kADDg " )JRjҜ ( <h]lm& >W@;*fDLA|ڵx a Ҵ"2D1~0ۂ(-& LJsO$it cZ%i%yI.VIED$)pfI}DqT,R .jz_ Yb 8rIZIxDڮ9ڨt:9{^2ڑFuLI%c^kH6/[]i[{+#Y![6)ĭt#a#`bUyo\+pG,Ù4o ݃v%)om&:$gc`c,lMʤ>)ѽ T(f8@t8W3JqljlOuy\-K:VDUͧ:v),fC:"a} ><^aOEb[?Qr'5y{_PtM4,wCp3fu]βrK})7=>ŷv3og\lN#7[YRWEʶUn|eOW^ hCľ)o¢_Ƥk#dT!|B>=Go /\l:=V RUnA ,ON؜0^ <%HMb\Z囘^js~e 5 c ްo16HVWI(0+9u ƺݫ =k0UyWE?tTz]@W^WٸXla-M(+Oc^~Y2I&YyZy ,-`ⶉH^LU*FY6i kKyEU˷*uB-oWHPQDEʢM?R/ePIEu+SN(f izpC18GIA+4ͫ@-=A7mZXP@@ZxV7RnQ$Q&z˙du mHZ9Irt<0ߖE* f '7Б$"htD$w3r ȍkUA3eit"R(AFz4ZM*fb&}` `bUJui^Ō`YI.VX1ۇ+s|i7Ab,V1כQ ² 4a\"E;ӢDb617P v $] e&RLt|@Aw6a DSH})bki5#2Rk'p$`QCtŜ!AGLI@D1G yhESlȐhN]3b~൚W13">1qQJ(CAցx]Q"Œ2eLA4Q9)&AC17LV.IWSAB ?=j^%b`QP!7QiDITE>T;7ܠԤPퟣ%I,Ou&1b1 7q#RkŜBk9WXջ[q;_ 7[QH4?Je5t)3hVNd +])}oz#1aҺmSJ%$A )kĨ,>Cb(& eho ~8C2Rà/5KrܱP:y#ӿ%AUif )Dp5/Š=.O"9rP {Eu,LPLv4G\Tx̴C V Hj  '=])@2xL{dU`]ph{=";J Lþ );e*HqEUGki_*'4,A K.: bN ;JT`)^eݤ;cZu)R~\M}gug(~wGfXX`2t0hW'eL|R’߹Ҍ@Pk[(r{=v|{:SOX%HaƢ0&0O:B\ؖ8(c TVJ/K[I*RSXSR3UM@K7 GD)7Ɣ*W/-<[1ù f Xٷdl;2zue띃zɅ] mY7肩VdZH$CB {Sԓ|՜={_%U&To2v $Pj:b`LWIjsDѳˬzdć+q?M(In*f4.NW|ӃhAғ#Y XG rV][NDGŜ]B9h&YM Ũӱbg 1QRUv4^Q^P+HoCK"UcJ9.g{,e<؀ɀaUeGtr#:-GW2M~Vb"i"f0d@F ӛx(^D&$!,H&]46sHd9܊;hf>4=A0~޼u wAFCf˚NK;fATR(3*5yՋWWo:24c;K7zw ꡸q$(9w mRKK1h P,`[;*BˑC],XS{b!@QP(SbY%BcCI;nցA y>J38,Cqȡռ E5YA E`PcŝQ(tD Pr }Y,ytŝ" KNަPF?z]' ZkwE "ۣ,QQ6r5mݏr0;•Dռ@ IP9Hϕ){ "$R"[{ B"1 %PQ)LVX$!yX$ z C "*b-%˘Y QI#ם$zRӼyJ'D1{7rM's'"ZjM}b]ؒYE? "{Gui^GH6AbUYN'>H:P>tB ž hIDAT-~ gW"k d"ԃW{ _ |/?3v~}ws>?W'ݿO:S>]"V,-q) ۢP(&![IENDB`PU @@=~xUPNG  IHDRw=qIDATHϋUǿGK6f""9IAaeY  Bt%^QP$bDDC0Qv]q6q~<0;;LQ]>G[{ɓO \ADz"ebX$/DyqJ >;v"8s恿_W}Q,>>}VI7n|xރ~|t4tNܭ8Bnl?^>A;UcVj _]T~"ok7YqP9sf*eQFѷ,̤ ٹ(ѤYasZ5grxUP3|D~8C|k\y0PrFx0*"ªH}*B5tEiEOD`Edk'Xl-$|.~Q`? WWW/.677H]充 J4]3@Ǜ7(zSUSVk-U5c~Gyz 1:*A|yC-xl4pt97G$oE"PNS28c U`ʘ2D1kC@6Eba`U~|OvrD3ph΄jL&"PDsg*rp~ni4I`i?rBtyC٤ 4y=n4V8bV7[B& %`h͝,:8'RP{$^`KcU2OƘSBr19cP*^+ Ext~~|׫}an B /=2IENDB`;`J(IDAT8͓]lSuƟ9sڞ~Ӯk0brЄ bf q1J4b%#I;1u]ڱ ''yrCTOJ _J:]He.M!Tr'}a_o6djZ#pq ɣDriN}|CڞcYEZ R9 ]#'DVxHp? 9/6:thq(f>\Pm>D"u` Sd72{GGޮg850p3 ab̻-O*p}/.)I_=}sM~?Tam`{]dN^RJޏ 6WyhmP Y)0quR"!clI7o9<W@~gp &Y`Ѭ(ϰ,ZY+'v5m c1h2D;m 4j F;ܡq<cvvdLǏ)L=OUln,v ߻n LZ3QQApm]<27bߐ`9O#+(VpIBw۠sܿgtoocݱsh^ C"D9WMޞ̝>z"t,5=B}C YN(dfear:`eCjƃ]Ywʼl%7m Sד,M ?ǭO4j+f\ any;uv>twE7~Xs/y+GJW^h-}lfEuS*f!.J(~X%Pl//~.;2hxPNG  IHDR bKGD pHYs  tIME +.Zuw֙qfsad'~O98 ե%ho_|O{{W.0gF=' GRA)4BRsR8X8;f 45Q_4h)B"RlCIY\WlѨOꐿ14-%i-40wPm[(eaM²X %T|Kc.G4SrB(ĉjcb` 4hM;ŞܨiCACEcf\?HDD@4"jh $9'=hn:%8R 4:ls&풪qLsCZWdˏm}Y S3] rerd75f&Zj(]D1GZkt`N2)̭[N>@+ɤGrYJb1^ᇭ[9S^M qTcAu}s>Jbf+E&Y'x(B1}:S&+83W#lk;!TQNdD",eB 8r9:;;qMIVa~>Å޷z:fZLDkM\}|G;Ϙy6n|2W0UnbFj6;P!p(%(.qX[C+N5`#<£b+%ɖ!ij>s|)`(]6ͼɺ ֎pl9Lofe |h.ܖ!R +y(tn.Ҋzd3>x&n+xal%oqye{_wY'z{{y- ~`/[#&;rl\x˫? /[<-Z+aZ6 &3s(;2j„VhIENDB`X 1fxPNG  IHDRw=bKGD pHYs  tIME 7 G*rIDATHU]HSa~al;;ڦGfsE ] !(Q.v;)Ќ ~̛ %".2b*nja -vs6ξJŸ.|{{A0<uRLftm/rqؼ׭ҙ&&s}!;oOOh4,ᑄu("ci g/։kϑJ}wg?`dY{Qʢg 6mBkͦ= dI7iM+Ǚ_Vbƭ^B^-߱\9;'OsגdjmlhO&[rɧ}&b.}0-vSPYfp͍ϟ5&9o|J䁄_YE^2)^p5V1a3.n$E'ba.PqG-k7 Ҿ|yo31-~jQ1J]v˖mN<剛N來29?sR6+ޜ,TW'*,~dz[>f8r>N./+wƮ^~!u٬㢸0-87Ff7^͜3ŵ~}=96UÝ83o7>nqu[;tqq梸pP%aj7g+恡{vܑjxB(3`2t Ksu,K_,+Z^ +cN'c:DJF#HӔx-Ou_S+W mذe)D n1u O[YWRJtwgZ+ΤҾ!kɩsIiej.Kl֊ Zᶚ8GuX*U*n5ulhoIENDB`m_ 66>xTPNG  IHDRw=bKGD pHYs.#.#x?vtIME  !ȴL8IDATHUe@73}nwRj[imI`UB01&0&QQH !F&P4 Эm}{}̝$D?pr~8Ͻq5V!Rk!R t"Сq(t$  LŚ "cmW/Mx[{ %-W d/ I/r ߠ٨3|?_!Ja ؀)sSF5aB5'[Dnjg٣_\8J6( ʐٰ|[2LAH) F,#4f5Y8k>֬4B4R!QQ*&_AJGH-|_H%4+H/1AjR!9N]*7 H"bZ`y'1 h e%vz=:zUm~ Z|ho!!€V veƘ&A[Ȕ2HGJ2mXPtu4-t֚ǎj M!K҂DV# A4Q22X,[A 7\^8F"gr6t|WhC!W--0ؕ'o zؙ2ԷсNRzzx_Pvk7fdtCm:3g. PP4߲nۃ89*<[ X8w|{<5!x<زeV ^.+RDQ(\D*Rp:^6FcIe; v*+_(q= i ,ƭV\* @ x PNG  IHDRw=bKGD pHYs  tIME 8 nIDATHU]HSa~ώvs[.("#ZL( !ћ.]$!UKAX D&dӛ( E9wv"qNo"|/}حJ ]]]Sd2=\%8&ZZZڿsd Bn{ezz<ϹḨSFJ`3a`nnV"Pu- z6If~!yB9 \.wW_Y-;P ˭lh  *hpp0zvLF'h4`0aR)NUՒF}]z#, V+'I!0L`Yattey+SH<((uR 4 ؒwV^i"#&3M2^P1l_+zӨL%N|2 16]63UPat:կIT&*]yW" mScs Jkm2 YEnA,WZ$~%""bPτ+IU2Vc ZO@_\/Nh`-YbʕQ7f?*YRN Y>ܽYOAD1 g_Wڕ()w?}Lެ+i0E3Ik{'ËRJa*f ;tTfG3~f5{Bo+8msf^J`ht6΍;Sú=?za1o?0$"cLw=ɈUJrI~m[w~iO~w~%z""QJ@؃`b&"U sj'-'*tIENDB`˯@ pdx"PNG  IHDRo pHYs  tIME  #O41|IDAT8=KoYSꛯ#ac!240 $4Â#! H؂ Q2d8'nw{uUzR=z~hO28C@D@@L\tEWc+un0dD$y/LNl0HĤ@T;'_~C[ /K;Y1|(W.t]\2$/)g8Im,'രr|v3 KSGk RP( $"OHɲ SGFãA eZ+d8!2+{DKpI}J&1=OuREМ,R{Cu\,##{^F7*hsfױI/)S0TN"?ѓZ9R r(L0JG)yll-rev5AΌ}jrt0c6F#!>fs!eJbMr *2 '/8=U*aʡ)?0ݹPgk#4l4ZGb Q({2vw;R lȱL s;W:@)x>:3\)S s0ZQ 2^Oޖ9R4#*](koM·w(r csT[dasYHl^ff˻wlD3,cc/3P*"^09[ZEfw?WޤPڠ ghx~xri֟gF9<6$EV3֠g{oU.%" -Vwx泜9n.A)aIi݄a_:}W95HE޿{fo_+#"8ݟ} k%p)l9񝳿+|/~E]{c*Gs9JzRXLpI埙W':`,4uIENDB`o<' :::xxXPNG  IHDRw=bKGD pHYs  tIME +: 4IDATHuoge{f*(("|tn=@ݓx"UMl}N?gFiƽѴ{8:vq7o7pM~tCSK YtgqatMCcagRe((?oE^<\'T2@al(2hx sb``p  $RlI. Ap品" 0kH{+m.n~cڪc;B%%y% E%) % | <.!N՝ вaS55=1Irf/ xǡ8%K*^_L9Ugo?QRJg4tU[sBOgRZXpuiZn L;J5UfieU$έ~55I7e$ܜw)MTck쎓jpi  ??^s$鑝֙~sL}3 lGV h(xaghgd%5v]R#_O$K=GC{rxN b Asc [vitǫy|]j宆 ۂcS&\'IJYIENDB`h*, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? +0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 4õ:IDATHϏU?Uv! f w%HBcHƄOML7ɓG/&F$\G4ȮeXaggz3 \E\^=3<Ӛ7p{8Z)BD]tcG _U5Zy瘞+~ A?t~bv䣝Jy毝T6L$#ñRlk%$Bb+ cֆ}Fz뫀 a" leB́J͂~߫FI|HX?1%ӧOyaߡ"+~{נ?JY>q쮼$xfvyoEcOG`͖e{'ʈu;;IENDB`n U$ LxnPNG  IHDRw=bKGD pHYs  tIME 6 [͌IDATHǕoTUk}ҡR I* >Bb˫_Oň. wxwPNG  IHDRw=bKGD pHYs  tIME 9IDATH[lTU3眹0e:LW@B[J*- 2x{PNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A)8iEUcP@A!⃉@L$@AA -Zzaҹ3shFB؏k׆n=ڤ凪습En_)2~gPby˴Ɯr>zG@2i%%r0gqH;5 U'EB }igвOa[FN!,K`SCD+חdS+[Le3[0]3L2N soHx:a;t_k`_74Z>cFo[0/|ެм%O$ %eo:}&'J4E Oj:6vzSIp";Edb]]75;0Ny%n=d`9EliU)"V4^w M*#5 P\*r\윎 Kp5Rt`o4d;-iI%i;mSfqm ^8{*k<~XOuOЅ˧7A k`lq"">_,cobv._5A5(dD,Y?F躪{u˯)ZSuZV=aZ@0,t٣}-!ݫ8K{7q㶄W|$[baچ״ 󅚣z8H0(na3A1NTT"ni㖛=aնl humx^Y@b*IƑ#tWqhC$RlB,; QZ_yv.UȔ - ?Y*y}fAɖNle67O @|^5?OF$?HiԖJB g'-='W$@@F,vU.)Ǫ& w>n_@MSy#O?MLUql44w'7ݟyo<k;> OIENDB`j] 7J4 FD[oQL[9콗 V2g}k#߻H#N+9n]SL#̇ ̤bb$g18)$xL!D%*‚* ^1^-0>*aIZѨ"ؼCo7|2%]RUy6,gGBz{W5+vb+ynJ[h6,]V\' y@}ESφWA0et&;vᝍͫh!R: gKȣ>(;ish־ď*sF.##1 PM&Jl)[3{ ^?ԧ! l~gvȠưGDzaFoZO#mO0Pyt}=Tqn}?9\od8/bj˩&YH1+FlTA'jLj @Dl"E|Bvɕ#~w笡9jU5נ>؞U *Nl?E=eU.2s;%TF<,iMhNdhзmJV^WNTS:qliYYSo̎e.;L*1Bz/?qڇgDUf t'p3l$Pb,P|GhťQΧrAckW = "NC>@p3 @d~CTOK+- .4'gOA`g |{\hj p{Վw#`]aŒ6_tsTE@ǖɪJ*61 `E0y~?:tj-SJO/fǮuRսZ B/ * ˅[FR#㱝jgΧWϿ/Dd ]jclSR/ W{wW5ov|0I#f85ydCL!?`AߧIENDB`ႌxXX6I=9ֲ5@0%#K9?CM/ Å.g^+yl̹7+RIq\y`rJ?V.8X)t}ƪ_B]3̷D/o7$͘It5ǵse3YX4'(uHÞFxk5#x" dBK7쫇9pzbPN @@#h|(ϝ0w~Ѭ̈́pfdQ 1dܑDw 5zFWLOVF  IXdu2]8Q0됞 ! odF 7H ZmCHe5*U W7`'0o½` ބ:xIlvp"̨Xdߋ&M=?'ۏDZEjDvQ<DEDF-=/q3UмLPge CAX 8j4, Vf ݻLeXw YalHEO4݆!NbZ=:A.~Z߮7] DGO4bcL4hJ.G۫c s7+.2^Β@ @9kI6PVHC^(Qjm2\p (@3]K ;. "[#f5>ЭczzB@ TE'Ӟ$t F Ƃ8&H*8IENDB`, Z 8GxGPNG  IHDRw=IDATHeklof/.k|0m_(. RF*jB#@5!@B88JJ J@15$zsc]ᕎfy3 "ᘣMPr-O;S`j5ŬRT|w{[߫r;iG/x<{<#DUר=l~&?/-P뿚j:i)(ò.7/X+c<hȆV;37VzqVn2W.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGDC pHYs  ~tIME->7IDAT8퓽Q][k[y^D<Pid#{! 83'ߙɘ$BdT^rvvoAeTsY2@,0KI QqHx =$bp#e4J<]%Q;fvo}IENDB`ܿ~y XX4 x zPNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"15ϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڤUMO@}NZޑ8?GqoRq|#RB(}'ƁHid%yV"qeesa10unTy_dLlmm]MNNrx"xApQ011{S,.,wogg__[[E1ƃ$7555bQ%LY{a*́mt<QIvJ;x=dC;h̷-p8@p5}FS6iȩ@V;Nozff3f{r f~y ,,!+YDACR eY}(ʾw@Dʣ(`ݣR@  6& (=n6 }l9d_P#clll$Š@e(Yaj8?B(O0E^L VW?!61nnnpռ*nq܊_t:|!wfzHqzR&Zu]oowVN|߷ϫUhHSD̓>Y|>__m4v}-ЏM&IENDB`jo~ " xPNG  IHDRw=IDATHMlTU}̛ymiiPZ)k qE;Ibjܸpi\1`Bt!+ \`E\BaJeڙS/=JDx9~w{;\d2'vbճ=QJ)dYnܸm?߀}}}/_w]۷o H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bb4lK\<\䎎O.~on}|Сɓ'===A&N|T5ۿ3::::88(G9_M#":u ٷoijP:}Ҷo !qTL="[Zk,Kc_X*sJŒDQ$Q)E1E,bHEDq\X5u]r3qE!A9` *,[nwwRs V3t=zEZ۶ήLytvv5voM=U<JSS6jkkd6H)E&Ak8LLܧX,nV c/sE-"LRcfS\B)¶l2c6֚8 ,1sbq]^#5I䅢B *&T*EcW+͍WyXw\.(x Fؼa?&S\gbb֖(;v{9rco,n]" ˉ"Ɏ)n6Y.gNx"!RdViknEooR?ƛsaml槳 y!$8}4um,es:lA%@gaÊ0D3e BcJ?sJy"S4~%Slڌ8XxW{لm "=▐U+VR'k"P}ytW6pBoqjH$<c0ڠT'̣{LMe΢}O¢ΥV>?EP\.S.@ eD `>KBl~%Q6rq"/؎Z"D#FhMFa8 lE짒U-x,v]SJI("@2B "8#cٴi{}y}TIENDB`D/a^:!@ w0 %xﰒ:&G%%iO?/!%IN* }Nw| ɫ60.*pQBU̒va$ ڨGcS#@Jz&cz8DK&)Rx;UVLRąOeQ_߆eY{thV B+ja."H}FAZ%j>|89gNaV 酐ct:ݮR1 @:X"$oCo&R%\Z Llchnb_QgskF8rH*ONdI/iw[L6 ۶}ǎ"O (oǬnB&yXA@)%~"֎:&"<Ї4 Rh,l;٨kY --f- fYf +GсTd1`L"}unĉi.34NplH9I\" eRھB_N1m7v>G}e70m6oyt2c#4HIcSdm8Z 2e[bgDB!kh> $Ku>7wB>pǞ"{'m 4Isk)\iGvꃌo?>mH1eFNJ*CC#] :gh4Xɗ\vn*1%F9i3w!t[FZCaŋ1j+ #ʓD29pK ]w@G+iy! qzIc%X6r; ;q:?Sݿ Ws?,M[!z..S]%w8pu5WۋyQ`8iIK2TAkIu=RϖVTRO(D޼q^najjz{'_ǏGo>KJ KQwIkŲ1o",{W1Yw3՘k.̱u| }{RtЗS.sS)* /EA si8yhc I6qJ% `JRaa~ѨשTٱsbsQأT*1888y(I<`)^<]ߧT][+x9t/x_}WۑD 錋mKl'oC_Y<:Q 1^'{kqkr#GtMxHiaFkzW+_KY!z;IENDB`wn - x sb``p  $RAN ɼrؒ]'E8 <"Aa%wDdE,q(qM+ap.JM,IMQ(,Pp o*qj#_OV8bywu Ʉl?7ֿ^uDÉ0iyο;u g4/ Wepwç?{>[9O֑d{a㑬fh6+OwLʁu׵"ؘ%:Lۘλ. o5nxFNw[5fۿueE_d;k\O -p Q~Sn`Ns듀^etsYxZSs% LlLlĶdbLl۶m۶m'7~?bQ]_:\,,@U@ ?Аy~hVRDDAށHJD\i3LK˔jTbb$iL$`4&%A/<`"|A*H` "PJT Lι̙s^ˇ)#xO앵w_}>1AB^_ !BJ$ J)>i̯uHH0 䑖Cp€k *9CةUD/\p9=pVvH" էVA!k ' Q`1P$Ua%(̅"´"Uu8oJ}y3WOD<YԺNTA/c 6X6c| }9dhWzA6qq"eWM0ALI=Q߆܍4ī(n s~#'J!'%&cܔ+R._@̒9n"JoCOKdpy.hpH :`}u~z>8*iDm]Պ͐.[>¸ʌnfAB?̝|Z*QRTS"ڨpXr_fFM)VaVQG+!$X`2 ^ __l_fPWx\x\\8t];g?aMMT-(L>ƹXh^|.ܪ^]ڞzj8Nff<Ɲ2&o̢Ya23}9 )!!]My}xuοF0k0Btb(6hNHx~ axMBD>7c-sڌy l -w) YY]d_7= 6BKt7t*j &eG JՑyw}lyT;ϦU_*+%6b.hd0GCkC|Π6,YG*).5['39nlqޜi ǁD XǥvrhAb=mҼ 'j/<>"!#,0J4 rj+;Ut\IYIYJ)M4f44G'#7M `&_ e4XmݒZK,fop5Hz:F*c3*u[-?LZL6|)h(>Xyl=(.&'OxfN}UWSlny="c&]u5Ӹ[w<-lvnIz{A^Zl6*GHr;god^g5;hQ#-:T8˟Mk}Yu+=*×ie:4veU˦; H<,5)#LU6tm?u9<6[ej$|%k/M5.Or<~V}Ϋݷ#Wvxmϯ_1`odt=ck?{6.ޑ.Ml^ f5naBs~C$$IIc qpLfKJf'|~<.+Ow>df5>"g{k<n+kGIG fg6}nn;vG )?ߍGKߟ \%(%4?ARC_ddaBHɉAmBDDa8RB*Wu&;@tʝ̝FC~2e&zB rDtuݱC~epBM|\0 ӳԫؽۣ)a\PH$w|tWxڙ!¯ ?Vm6Ԋ ] vtED_ۭo\ oֶ>o5o8S#PI$ ]`LW Omķiݫ[O;g;l {FYꊈ Þݔ37`ت+{7$}wKz2zc7WS1=Hp[s{cglsWx{'N߅j]*Է@7+AQO!fy ^7Z.RwC;庶tӓVѭ?⑚e-dW=- @uw8L#%wɯuž;- DEU,NP&igC{AcǾ%ree2kOpŽ<(ܜWC,Qt ZD$|ǿMjP3ˡB7SQQ@EF-Xjl$o\ B.6d4\@9åq%2NW9p~G1>b ܅daUUk_ i쥹[#QOm/J +kaS=QVIn rZ{XYVPy!#^3g̱a4RHšnokA"ɣa0BUJ݂ jCzte&0E ~˩LzaEWjKΞ1Ճ˘qd NǏ=CVZR#./yI.3;DZNX.3n.D]gXpuD)hPt;# iF8Hq7hOёE4=1;N;R25>q7 5gw9 PGy9|0=4*X5*?w7FB:FH2P:R+UfzN L0jLwNmV f%9/ N{vRbΚ_V.&aR ڰ(4{A8 ܨ_*1 % 6STgn\{1S_.;HYChh)Eqv۝^>%}.{g>m +x`e/hmJ#% vг"{ނbqf&R9~ٽo+?6A߼uֻ֫z[x[ oDN@,9jfǒa;ToY$<'ǨH0.wlVۣuӄ& j~3=_8tR,}dg4w|q@8Ph&rU{ȥkpZwOwPG?Fq<1 ortNdDGs蹲U9 v]Ӣ^2XYr-K*Tk,R`;6zto,p2>}Ժ4}J/nY=>qdDwKmmG 4|6Ky.O$U "Ekl2ۛdKUprQHjUBP qA5T[%2Xb1bpVJ$ʞ9/j,l[vn`va+FDn cQwhXŲ#؈Ffvwd4S{'f3/θϢ~s Qtr6;4){f8 t"*[5(_XkoU#R+ZmS dSTАN$NS^aWV@rKku$1 VDzI O\gJjk[Ac3 >nvͳB',"NkSLג@/4Q,Jx妈"KOEI4:`(^3Au7 eB ~C۸q)͎Ϙ#axJܔ3ukiMeS+Ыf Gk|<)?|?fO|B!njh|nVJ3b9O}hf nGm~<^33u~r>/v2rEq!TֹL[@BcjN@ڣkC{s'Y;UEr.![] " Ehv!:񗃛 /%"ð ͸ L|FP'%=#ʂ~{sHV |B8ꞻkڢ8gb| UOY\UOP*_-A G8DiZ VU:R}O5 Yt{xG~ޙysl3p n>P園iq0/EJu(0b1a(bjF@Go[Gn+yLEVZ.lܔ=:h5e څӂ)›;В7 #G_#s"^Q8d";ljWv>9ZŠLG.B# E4*ZR"3#CjbQ _͖ Ǻb"{/ A揮/O0-xuWnFɕ:9ha:R-H(03ynHY =~\Hٶ"1 :C HHT. 4wE!E y 7c67s|Q{o!gJ[tJs>xy'[,}.2ΐZW.S*O^?̣#fG-eVAOrht mC\4D p ֚5xս(J4"pIL̈p0D`{ɱܮm$ CB,b]{!-1YѦ#ZyBJ*y(?6= ,Vּwh\vgc8"'lrcTϗ(Q jSlRn q_󔆫#z6F^Uh.snkm?"#TGyZ;0/ۧItΙMz kCdIGX;i,ws=YMSBYgj[s 9BJAy*=3ەkd|xX0 g _pRg@zo!fm\0,zeJF(~Q W\k}kF{ V1C- bY07.AД *4Etɧ=xBP|8],`5:Sl )hPi[Y3dɛ{aKcɼ,ۊjHTzCR쳋H_Y m\M/&RjVD뷙کRD# K16y^pPzxF.cY}k`}ټޠFE<0w=]awNL]6z 2['Pvnd#pɕzeb'<|~ ,pP +eӎFij\D #q eua,ZX_#/Fe[I2^oJC4N-lǠ7ph^I$V4tέ!-Xv5-5(k.Z2pJpttfG.ye8Ts;g$w6 g;%5NU | "ܾҀY-#s%~"n!#~S+2-lVn604^@ڈֈ81`m"D`,UpP{5QM%K1.l{M0^l2ұ3,aӀ0> à+PCg-Ռˇb0 ZO#jƨSv;e PB5X;4]ijUfsMYwXyE͐U0hQBmý!Y+b7*m ˔p :Ow]s2nuXtK+^Y@ToSg}+"=[bQ.ie"T,/Qo[O-:Eڛ;\5׻]s"G~_S=>Cg]/;;NH߅Y~N7,Uuw(4B+C>W6 _kxrro7[mJ׺\j7TFR߸u P΅ O 89p@ AN$_LA~?T0vy|}w+C'F Iyfgj$6@& ybL;#7\!>:vݳTA +G*k󗚽r]tuz?bbV*n~5Yapw<2?U! %yA 6 IABS;:\N&tKTCqbYxkhxcZ2tv[GQ6[`P%pVp)s.Sm[]#S{$y ;uj;>C]`Ɩָ5: ;gcfsG/g;r䍞b4ؽb`nH7qo]w5nCO2\WWlX j=5:W9\SY9fޚ'QlgADNF}0 䤔Sb1 g,6$ \fQ/x(BȖro_KH郮#dfjR})ULkQZ *PKUk~Ղc,lcS43>  (:uk=)_'fHC o7kӟWbz\̝}қnnfϺsW&d]x~6bc#gaJt9S|n¯. S7~紷0v%B9E5ȢwR'Q[7(i qAe/fq_t-D*_qm7XJF\ uyZ|qY2%硃Q=v`=L&+l(F%3l*yFXr4#XK/mgXbVC_](k:+^-C'RpoXkJY2̣·^xaxPIHƀUb1A\F5U|Zb24V1/ޘ_~ۊb Ȗy b!VPQ H}gY j[#n$Uvh~O5pCήy4TCS3'D 9Qk{]fN;;:v~ta0uohu>b/aoJDIݸ2+dixNWOw>"u]۽l7 ^׭ҩjstLx/eôxXPknȂ2e5կiolkl;` #Ov[Яps6RAl{)*J~ٽ,KZdd}!q9EƘ"xNc"2 :K 4ӯ_/5HZƒ P7`:?0% '${-:Iʨ./]IʆAEIzͿY!ջ[xG?c&DqH7l}%ӯEڭ%gEe3x{5lmvA'w@X<2l[!tWBźEp:&\Yv1TaT+&XG3pi8#U%wLc_KI7:bI85t703%YjFK)!2{BE}f4Lc֯b֞]){5NC;Imx2r0I>u"]ujSI[|V>lGBX+o'IL|`liq$g@n*VXK[k}5LaqrZ eN3swg0^hZwNj70ɴg 4ozI֥qYQCA]Yd<Y>4y%2|N?$ĸ-7LpV,(X~ ጢ<-* C]%Fe=840Ȓ VӠ|ܵy: n٧QXƟ Z:Cc[S/ yBCV`V{(Z>fߜe09,wqjsZ&ÝC:Q|)9e(>ߵ?,wjU:3:s1ԋ"7g:ߎ'E<) |Lȶ9v S6S2wj)a_G猥 ܒKT3nnHx*h2@qZyY4)PnaM*-w7WK%ڎ,ξ'JjfkA&meI?8,v&wyexZk-@rg-\mgּo1,PoEDQaM@HqFb5X6&0m00o6uAIIJ}NNΛwѿxGmu_Q*3ƼO/:ԣzoX"nc>Kp֧< ^* MIo|*xpޮj~'~nN |7Men4alBfr0v y.DcxͨU%u1AÐAmG@^J)X DF\iQ MM2?W**-Z|dIzZS X.<'TbF(jlFULcRH8AwE>,@bxDi!1)D ȸ1uc%*eRVycYƵpD?Р-aj5j -j>r]{1snǫzqP'|xo8QhJ#ڜ*j$e{x=P":h!sB]D1;1q/ŲhQk%ڞ9Z>L#q0 "ZWFiV(QbxD'h/ص#bbft>._ ~A3+z29Tobyu;6E``;(9]5"p,BdGUL0v@[ :oni. ,|ێ$T@#hzE(ڀyX FS5kH$ԽeCn9#Eȝ0["f+Qi*Sbmo nM'DR3'Ĵ|; o"9x+{gOL7F::fN~'ڬٴ jv*7 WKlSMNwU˅k~1s=Knьeeic;V y1[-ξ@B],l"W!vM;[!8ŵln<.} ų64([|]2/ܽ|"+*)sPؙvfY+ZF=tQ Mw9AQk^#B*@ kbge1Y9hjtQZ:21Cr8ZAs’V*^w(KATp٤#$Y  *]LӍi]}u_s-OH-ԷCK+XE/l5+m#.Zbs0_V5XttzzL?^4PA# $fNIH=5sFb15iΔ]GWExg$DFc./;2%$ò?#|WӏL-v4%9}89EU3H{-뀞Z#$ ueVͷWQEI--Մ"¯yyYSEэк\ω4DKT. q'&-P"AG(e?)KGa[aK SRE.CFQqDžsRO% |xo{!|4`(8LJ yD2uZ28y>r?E[=BIM3k3 P|i04sy`ot{-P9商v2Ivdr;*K6h&'8y}tfbygvGqriմh7av>d6d8,6h^_6{BpLd FחOb~<Kd:PP-Ce!+Yp'Mjr}3D+r:.'jri|[L7br$(%pM:hK"T-ŭrzg #k6p-YMXw!J/EƼ'DNw(m:UIљJ\@be@vs! |esެVk`R-"hF((Z^ܱƷm&>ի>R4Ϭ_45C'm˕njqP^>el\଴ 6$;x"̞sHi3gl-3R53U.w/Fc$%fa|FUn -fL ='cWZcenGV ok܇ocD[:'ċtJi1VԱvN,BdžˈtROoRֻܐюU;o  ў/`D6B,X.B1¡JzE$#luʭ*,Q;`thXRʘ=h࢟hrj9„$ltTfyНI@QRtzPKD&vѬ#>ӥ ~wo_,;ٴuNiatRm[ka ~Z&/HYW%OgQA,W[OeP.$.F< @1<brgGxޔ]Wѣ^K-Zr$5@yT".#6+єDwK66p>ܶ)\~9Abߚ> ~?8|2=Nh J>oiRJ8 }&EЪDMiEނ;K8llAw@,VwںΔreVRI:#SSGqPmB^G&1 fܱGM fC0eU.׼*σkJmBIHfiw,_<6SΣqSd/fchFJ7X{>pu<M/4st%USrQd9~j+$@S@UyZ%p+CVimp |@khkh+ {3nD1y2$IF`|FzӦƞG!W$UNunh\Ъ2UI3\ڷӟC.]S {|_\ڏަ!e@[@4 /!x4H PƶT{v"T:}3e$u=M 3Z(W0 @PK C2Evm/8G8@g2tH>_}!>c|Gq_oقūh61c}2OVuq|LSzV:#i>CoʕJnߤj|ϲw1{*hi;ȸ]cױx^Z9sB==@$R'"ZiYBOܥ~Mƀk9>Rs%znLbM]) W ,1ASSTU%=brHuΥ1meǑ`k$e彚 MGgpk o XӇk+O:` ckk1/}FGG{TR#%*$ F^#`'8ŕ12?[U:L`ҧ=&ZBkE$Kf?=G,/ŋgƝ)'V?Js w/Wm<2kc;yv[Pw'?va\=3_8֟`+ ~Rb;1,2"/̶&m~.?[lK]s2a$u|04Oھ&Ji`fPFEܨx'hW;UjO>$玽̎fc U0(RXS_Hه4E꒘L*LĝOJ׵S3O?Q ܄N00xgoE_EQ2acQOuEzQ$ٞP$Ρ!\Z[9y>]aQZ45rR8J>MK!3*՚1 jO2GZX3Q(S|Ԭ oRЬu@ГΚ!嗨h+P'4Ln6*,EOw'?΂#gzh+K7Ì-+\_ڂs<>"sKξ2ˉsa}L;gP2խUkS廹>fLf8RU|RKnlI:|.7E" >>u#<7 s7mZ߇8<=4^kgG-M(iCz|݉5R5VDj@Xr æy uQu6#ufJt踺ko}8LG:3sd7mO)%i"%Cj Bp^re6h #bX4'}9O+]k Ɍ. Z* %%P7EkMpt2<G8u\ebt/?l}Cq^..1~/v8w`m\|/}V 2ʹc/pr-oi^}髴W63}#,,ʒ9;hw)u#0|(BMMNa6ɤvOJ^Viv{mi1sa\bh##[9=(CT\wlg`mͰi3"S U+2sdw-1;XX??`bX;˺Ĭ!V]_7Fꐰ<(ƚF*5!'tUUUuJsW|7ntQN}%y Wwyk4 AyyJu/'-fy ^gH74fjYJX%(iZ4 PQ7Vl})4):)E_r@D,ZE4}IEcEqx\1bSԝR +`T1.zk5?R6TBƂ&K,CG7ƶRXfzXX'rE+YojG6 n if|jڋi3/?p;';q?]l߳׏{'[_#;-5QЩ=ٗ 8ۙ` IDATԩȺa;б N3 a-\7*ֵMxRoqri.Ӷ0!IP%KS ֺ 7<=̊92dYCa C*<1|`cc?r?[ WǛo2<}a,%VuEI#jjX0/h_"WRX d&AKZ<\kV9nͳ8ߘl7Ot߾ޟ[ gro. =Do=12^H٩>#AJw"2Zv~iui%gGSJu|gBiUUe$ǘ.wiՉ2n?=ҧzAb c%CD)R HNJS¦(k9ghu*AGV7Zv."SnRvSY\k,[/Y  u su&iV$%58 3iG\?EeDҋ*RB.=D>/!ӰN+,BM1#>@^97x8\r SB)A|)-9 Bi3EulSQ˸EIbۛ!u֒XAVr:Otj vA HIN=n'`4d{JҨ/^hl@Ņ _F93=@uq3?Ɵ#w3xKk|9<78u/=]ҵ&(V&’2:6B,Z4E{)DžRl ݲ\mD)ԣ2]J$cǤ䭠`%otS`! O{mAAnjzB%t6#Rڹ s\{ނ 4}wP՛=@4@ VQx7e!׺~VE<ݵڻUgʬǨ h-:7 n# Z: lKJkgdDX r_@*D&M!ogz}N!oA)JϮU3QʟE&6iR ǖ_g"B.>NT~}jűۘoGjy/?S?A~g/lF|^f;ÙDܚ%H#b,~ Bl2B]e$9tLƋgda:NR)L3t^J#\N?)IFH%*D}! RkD¿Bv1}9۶^S.سq>|ۣ,FOKs|/>rOw@1O/>EAUI\_Q\kh[pD%N1bOKAH"ވ=(޲,4dLWd?¸M^ZZ,IJ`ޤw6/Z8{62v>w c:Nc ҁh]y{giY aI:~7pKcfHb\HBAa[Al1k%!)P;MT-t@BJI)Xa(& ĴZ{4p煛b ڍb̷-3fpIos$"æu7v;\~8f%ߤfV(%ܻ6&,\JKK5'xݟ&cͱ2J)i^]i//py$nS% s3D"FjxO"{}X]%ogJ2VأjHkSnlhz'OQ k tZzD-^8Iٓ2!zy.Iu~pvӪ8;2m/ ^Q?rY{=M^|鯕WHBvɛL@=Z0tY+pK)퍯a}"A+TCydN616mJ$FI )ڦZ7S~aHcѱY*")2.)E- y3c Mw8A&)2 = $""8vI3Qc 9# Ν5*Vtz+g/UƇs+3^X!IJ%-B}bPgS$-uO T4EZ҉SsJGSg‘Z&@ ِdL;VleRnh 4PPI*}TrS-ywV}2Mvt==3U@6KTۅ5^m 6 {PX 2Aa -3yt|%{{i@ w7|? 3 z"\kRP)Z T.Ph+ H G8B9h㢐BZfS2#ٷqI1&r!A+XMlS4@ WJ!! E6A*$ߝVܷa^߂`yBhh_klƱFY%^~%بpu9_XǴ" ><;EͥyJ9wAU0~0&&-jK" rR;qF0ѼmW qe{8NiGi?~,Hӧ&Ws]XMq6!Hgӓ6MSVGCz%c-$G[gbN 7n! i5K'100 ,{)K"z}Ӟ-?$د^s *i҅ޅf dhs&ԸL6oa7ʴLҤi©4E_GҴB'ɉ)bBQ vUم?>tT6"ef~1TڌD->e֢iX_ftVZK-ff1v-\- X]Y 4i\I%ā"CSvt"z+̍PJAd[Pi23NF#F5uMyz"E2re#n2 , :#< sIj֯{B?T@d0RG1$yJ$17G'I%>ZhpZC!P>ե3ZA "S~p(ORK%;ѣ{^ LiaIFYKQSbӄEn9IL %gF:B hB!n9xaCeB5`'h`(,\^feaJ 239yŹETbJLl"D" E#/[?<X[!/]c<& h˜.H6g_^b=3^:+ɅHiXmJI/r !8CV&Dz}@WxY)-˜/#6&L\\!{c&eXUKT"T?G(U 9Z$P(9QP%E_gOhkԆri;pר$cBWQF̝]#Hmcpw`Yʹ ~M`MxIa'>vf?V%}5`L'ҶӢIV Ul\rteHKJ0A$I֢?$Kk*U)iI. l|GM ×Mي*뱺R]a i6:!i=x?[<ŤߣY VfGCKrg=Lrg~Ȣ}zIN^dd f~c)U/!s3s k䟲q+W8xO k) j]m`/y\yafoG-QKm:"l>]OA$Ylf߾׬wp>%YZfbN_ٿeSh^ z4[d2{LUH8p̱p͍)TWB7[gG९;b&ʺ̇)Թzfrm܆Vthړk HfY^DO>G /HrsWvс%YglEWV#X^`'됡8kudk,$B#ʵ}$Ut[D ' {cEXr߂$I;G sm%VgEc=6''uɾ}+g-J4d&Bz@c߶7]KX{W#zz< k@6no$:}`#=TRJD*ƺ4ӡ9(Rs26E hǯ#3R*wHI7BiAD[XmQ"8`HNKGdҷ'++18~ЗK9IA)_&-io3}^9MZsrn l"s<_c烟䪤5ţG$-&& z`;T LE%WgKkX#kJe e~m $hg P6ZkHm 2AgF&ڌmk`e {orâ"։Mֽg h48<>[U|cntqz&K"rsԗ\:hW>xFm$y B R1(Kþ yCAƦmuhJ0LlBԤmR;+-)Tڛ,=s鼙6MM i3$̸Iz;u^e7)>[gypD^OfQBKr2F(Ȅ[/7MvF$ΏZi:)?bP';o(t:lp#Slcў"{<XK /}J&Xs' ET0X0c[ >b>ӧcg>2DZS1I5ڤI yEVNޏ}+Xر&.\ce&`dbԮmb)d27m;ebfJS5OI\ a^"ezPW#?%Ƚ-*#Yo~9th>9JN?+_&_hүH􇷣?{`C~ Wwe n/Á;ΐ+>3//!"(I EH`(7 uIW\ 6׋z.5uެ|tZM&)S┳Eaf?Q zg˄Ba ^+#*$19Y㵳r,[k<ڒӃԓi ںbiJ G (HXZɭnb^˟[mklg3ua2H Ibi[3{]en~w}STÜ;chD~ᛴI{NTlCL1m/r79pN,;FE5jO_>eFTa}<{5ZkjȷA8ʄPhI0!M7i?iLR.=Oh-q߃G8uw/6wh ٺl,!DgH!?N^T1&'S;\SyS:R׉e@xkf(JKDp .Н8?\ZQ%J?3ˑGpo}G"ArՔ72R.-5ܿ{ ?r;Xl:f|Yo2q5Ny:iy+ JAXR>Ϸq̫J֧mo]Ҍs-`3|C7/Q#J0/1V:_~*Pn!ؤyG:{Ŗ iZrBw3 }m M3\d)t"9e[~=fz&T66 KWغgkkY\Ж2{yj)\x/q,ܳ}<)FJ WOäEKӀpXQnո&aD,3gY1G[K_>@fY=S÷klw{T~ J71DhaQ>عZ3?7O¾"w`jp 8mCԶY֓6/-v 6?HCE˖T.9TMIPhtƫIzļ5Ƈ֛F:ŪcѡTg R$Q !aPr-㴓J75~M1PTT'j3P M LE Kڎm 4 d !Yg I؁I^r7k9DZ /|9r}4fWG P/&GI'_ɩ'KuH)NRR)na`p{&Gk0@z+XjGxRɿ>K1ȶ#ۙ[^aE'_s{v*L_kG8ϩ稔߃uQ5ؐ2+DwN 5}WAg') Dy*9$v IuT T i2RSK96MVZ KjBl҆mKpnqrB:OʒO7ZIx`~WzxE/aV F4J*QoX ?'7 iu6e#|類wʬ׆~1:!:ٲYhH6UnCh?ȑI&s\e`Xy?1-8]oE0?{/?K{4,/ctm[,MFa)Vߣvm9lM}F8pW_8.Usw/h$%׾HM9K3Q}[֟%n[ḏ_E$k1/]/?Ɂ16!;"g/>KXR{Ԙ[;H>1ow/f+ː%WB'EX6m׭ENj}ĦU _]` Lޑ"{wU( 0iVBW.R)9)0Y\ܕEN_YcfYڈht@ra*GI|%cse <wLݴt(yS<}"+֩XRmVf:E-*<tZoJ\nK~|$u} 4ZCeqZr2+ukIM܍&?R$c79NLGc7- 2 nvP?bN}'mʑ^`H8:@5o3;]gTeNyҥ5W_kPњ|"u>bKrz]J7du&!mk :z-B ؽ6RJ5TCf곟tw抯<X}-Eհs5V#L-}<B3Y_aԖCDpwʉLQޖqf`Dc-7ǽO.$2,MCnpd8$n4\Mт3&}w+C>M,Z!iM~+&Řyv~Gą*SP@E˘+ L!۶0k iZ[A-TC|ĭEE7F a`{ kK:B}] b4expVkgk|7R?J:q<43;ub|i&k_}JD\'5\biqEtpl1ܢEBmͧ>XjJήy#]/q(YȰXycMcb=Eϓn$<~cEǀiq{e2K-$FX"@%qa0_mZ6$%E!BWaX)BX^RDXC@XeڌSiD=ŞG2Ms -q&r3q^/q~z!̏#UR6DB$vB܁^`a o>RnS:ӴrtV#GkY*8xʩrAuj 3С:t;> HB7,玝f`Or-ŔR>ss,^cbd'3Uv]1*aŰk|7W98_=Ɖ疱MK4#I(`qؿvaA@IƇdj{#?=wľe/OhR̅NYRZEK! R.*CX(ڈ(R))WbBF5A2'iD5G' $ql1Wat`Xv&RQ Urȕˊٶ3Po/B@SQ ֔] XİE 9.,4#Ty|.]WC 颪9)<nlMSlm;0(؃pƽyN\ILaA*퐎)H r]K9Fi:I:VJ=Q6tN$Փͽwo察"_o1rwkm&P˗ɍ yDRMFw2(#*#CQ!-.L[ %sq@TY[O23=Zel\dK߯RطիOR ֫癛]+7(׸{yϫ\``[ga=c|}+'6C}9:ke6r8 /'9KM|%%%( 4ڄJţOqZB&g7Bꔹ+KY!5AI:^$MpyZ ?{ȋ:X7vZLl=Z#{j͚SHiM^lĂCBΛ,FmAF`^)PIXE!ΰ&/H) ʋ*xULlp2JC*tV!,tn`Aa8N5o5C-x)L"7ޡcmH Cc%.·λ7 ~5Ugmxx5^|\YoYkə>v_}-'YN]AJ IDATT.k-~)KIl%1 /}=Z %=`Wmpa]rzEVoÌ[P8VR+vBQ$ υyh3qN=ΩCGy/G#:/:mS1mp *?멏hJZl^O-/l'~1}~49h0UN>9ny ~q2ᎳsmWTZLGfX>m΄|\v6!K͈ ;I!w];xb}8|w/cMLLmefǞIʥ!n=#8yt8}jgwחca6]ઉ[{[&o}6=ӸnE6t~yw/|:L*Qee~UA9;/^H6!'86Bc0R*CCf"C6e5q?BDnBIX$52^`i_Au< S$g ^ĦZctŸǑkx# A~V'Ow_7DqFspaCdQs[b6{Jmp4aBf輀PDW܎[*|K;"5rm73xų JG.F.ast=[[xM[=j\Î-3|9uGZzMJjJ27FQafeqM;9WHIn暫ľd# Ge=7\㝼p l%MK?ӉZaJIQ?1J@gh ~JeyŵͶ"ڔg@#5 ld=XL^\ h `-FyiW6ȳ Ok^Egb%h.tGaz{T&o<@A6_\?qs^,Kg@ ׍0$+i0.mr R3ZejdOw?)+L3R]QԐs$y$,qq܈/?Dj W>gjKXϝV_k'WY]1NI☍Vȑ㫔k{ڢsI>p[-/5FwitQ3qABsiX2x=<'f|Je sɿ".1NZ`%Qm,she'>WϾKvUxw+M+ N4e9(\D1_< ɓj5\r:GɰFáQ4aܣd)iclN>Y&Õ0kȬ!"voZ ],rIS앱)Xiw"ݜ8_f2>d_ ~.A$霠>NJcΡgzխeٵt!F7 }!֍Dq7p L(qWsVЅА(j9 " b9ZXV+f)$ P朝F&h\3=缸iu\u\;vb)wBjy1*d h^|ÇF >gOԱofM゚ !ןC'xOα&$.ŭm;ϓ//q>qN>ɧ]7r;~]6[O~|!sqspwpSD8su7132Eux3k˴ ;·}w%_nnWc$f5R +v3,&JC Jg$\0KvqHs\jeE5p);09VU1xœ~9y֣鲼ޥƴMVVVX^p*YȲaէDbݥpN4QnxdaF&9IfVva!lLd~F [⍿?m%2Ne%dnV3e:%o2=bȱ 87Է5׾H23/;~]lJFDdn~+:wA&zZp{L%{V- /⹛YZX!O<ָw;N~'?2Qmk;LN9NKlf>D7 IŒ|Ie|I畩׫cIL *aZĽ(R.zqFP*f]~F:'@fya88tp/nRE s(:_NӔ/7oZJg؁:B*Ͷ)X2 r:UK+h @c!P0Dk/Y?6en&N]$9t">RbYt/b)`v0rMq Ҡj00vX+sGy%h8{h=Dm, y*gn4KpxDu^<:4LKeF P w-<8c*8%(UJn,Gg^"(q_dNv/tBMji$e9'rŦ*,b){yk$9j1Xbc7=fv0:R+o|?D*g|O[}FG!W\,D2Y|sk>fŽ_{}1t $7 ;ؼCb mؙod"\ҝ>z76O?Ȧ}7gӦZ*S_!U`-zw\.no93TGtY@]HLN 3:[~7Y\I:6ɕE'W_Zw/Ix9­W_N-nwhTk#\gN W7tl(*6q*WISV6]MR"X$]"ffR%e;o,֣AݤY#t{օCeΗ o@t1 U8++J`JOXIfFUbq_ET:K}oΓslsź2UI[^X8TIm.Qưdg}~ck2,y2qD\ Gnʖ]'> ot-Yv_{:6|ټHuV "0eoijqמ[#_![ ﻓo~IaJM¢>Jr;[Xe9A@fK䱳Ԇ`q@z__>aR)*nYxO_χoP|6~J)qkj\^zO}1O⢰"Eq2׼RDP哴ϴ6*Y\㹽ᇶM*BK0MsnRxfOIztSn.a&n}oܿc+I. ~P%!QN:ξb׮7f@nriI@ =Óx_wC|o?շ]Oc˱G=V8׉I~A { +:0LFucPeOTJUyاY<@k%rvN?̓? _wKj[9jϞ'oCB[V/unZZZ" bfuK;k|A*Xtn#,-aG88@ Uo/$ oϠ[xi R"3}.5KBH. fp }j #y9C+V#g{26B:2@ہMR(cC),^VŠq29~kI}m=q0I(c)9懮g=FQ%=J%Q? 99Muze)2&VN/>Mdn"j2Qӏ^%$_{as,=ª./~zp:]]GTxxJkuqY9ҡTȶ <.Yfhw+ICgCqq;%WscUڭmS&KS!b KRoV2~7?}w?1Y=.RzNmv3W^?.gg݄%D+k!=\{PPJ=?"q8_H#qSrB+srSre)ei"iϫ.Z|GG *q'v2Ra0CV8SJaq\yt {4!Z=q2f9v 1f\G>{ m z~~diK91\AƓ Yl2iأ[&fbd++'-MN:LR)V\N^;9 O;?d1A1xoKt1G46I*KQK˸Ak QY_@^ LR:>IPyN"ᬎ8׉1VmULg[E3+/6GVh=@::LK#۸b&_/efNӗ[|-ަfq9qIZ\R<0㐧%G"yU3p*im~0v(% uƐk'bƜx"(H1XĮX IDAT9۬5v{P9&+`>1/<\q U< 98$ ̠iIW(2A#1jG$8}9lF{1TiCЖ 8sX³ܷ;ʿBaJHܰAۑSM)+>yBfDi7opՖuSRi3uUlD ~Tb9<ؓQɩmבALWiVl垷4w]S yDiA"HGh:y'C)Ee򄹑qУ݋I L2^CSb cJAZKQ*I)adumhڭ;UF)NR. y~+b`HkpukHjR9s梇 28Vl."43ԖfTD QeHJ$J-'W./i89)2BZ.#Jr4 `@Q$΅B;:z CF G?W[0BdEA#bA 1ծ'|aDQZl&sCSQ $qFmN?\NMa'IJ%dG?Gcӛv%Ju::d8Yq%Gс=ב9UJG>NI!#<#d^V$d7q]N3w8NthgpFgxn =.5ˉSxIu}u0ZLj(7j8f{k$F:dZ$Q(DO$dc]j"RqvpK=k6XXo"v_(b<:%ynHkB[yZ, Q =S]~/ZN>MeuZkβv+{qCCfo4&F1ilv ]jXWRAfmF6J E!3(2H"F*p|?/-6E|#=5X3([.(LIV>ky (_vB3kVxuLXzl|/;v:~x|%_% =062-e>kYơ+Q_5$JlŸa13muI.(O>CuZ׿~e~)`dx{̌'lI;_826 s*#1qow Eeqqrm-Pk86#ЙKE܁TNd2'%#$mR8$C F FWi,$qD/pCYs󈪂~i2Ij+&by5-6Tj5|?={|Ͻ;e^69KELjmmIrf^Acr\tP[{-$:H%U:G*P hD%<Ɋ^zV"3 [x0/a*HIM_H~K4P6HC8V/6)k{9mW51wʨ_', sW:#Kf\>rԇH7c+Gnk+|_SSa&nd Q9<"nq]ளT㛀e26Z!.1DUR&h˔_N6IqC34A:I?J@&EKK-CjUNT)K8J#:HW)U4Z\ic"Y_Ŭh[lr(h48{Rw}{~O/`pM%c$'۔DܫrE6+{0pi),Z35~%rGZ%׭+)ǤȊV[9SXS~^^!k*.yL8 R>΀)(KQʠddG QOE {7f \v C\ѧZ .%y,VZ/&A}W>lяsb{fryo0e'{MS+n!nU֓<1Ʊg$ꮓ&1ʩV+:JM9(.3u4 KO_Tyԡ :>H0B8̱^@+r&g\:ʥ.B6ȌG܏q+2JCC̯c!Nz!7P2ViHilwTicr(JcB *^NjW/3ԨgaDDN#Z腮β @J"Ig 53*u|Z*A"+NyN7>gvT9J߽ `xIq&ǘBmdϳSxMN52 Tsr[ l>i 5 -)\oAP9(}D#3sq !tȬ*z8b;&p XTkl, 3k*a=25C}MmͤdC iJ+bS6׽nfzƝ_˗xϗz=HRCP '0iJ^A9 V+1i[lReшq|N;gLVgIDb4%1e5{G,T^dj@0qlR K꒤,iˤIJ6glܣVJA`mTkjÒՕ Ҩ+&j#%QvU8F8@:vLX$kc[u>j^:>Z pl ɵ!3)a!qqUN?'7:E8aDdJHߣq9r,w溂8LMMO~V~޵U8u",4##'qdc,D68t*U'T;=Z#lD=͢s[ncA)(cВMkW*Z#PEG cH5VJ)0"/NF dE R"b ڂ x륯:-J!x2ǯ:la&0 InN!-j31ituHʯabGwT0 q(S8,N1*=o+qjg/E:^׏˧(<"a2 gT)C&pd-(9k zN;VKYZ_bzf^o>ʇnͧ?Q׾y]?eW eRcus3#rV$/7X^YzdRFg(BfѹʼnOi3LLzDHvF@, 䔏^JBg،:qkSA L$0#J|q L4a.}AZsBzfNyN-hQW쩐utiNc%.=\ayt*GWR~=@1(#iXDxt?|Ϗ_&G*C>F(Ł5ؿs IV [P惚_ `3O&RRM30=#~_%(Gc2  堂/`5J<sw=%wr%c5^HbO#-L-3<dKJF+cx%Aa3,YQ&PQ =՘bFJsu 0~Cfcmyg>w佗H5[lyȰlu&Fm4:M?lZn` (AnnZHP+bIc,QH|y c^")ʃ8g~kIӚ>{|Kͷ+̧5O?}`{1YY! oQ|:fB.Ƈ92B/^̧ [_b=ZZ%<bULI=z#/T _~zqOwFxgs׽rc%(ՠ¶ !Øeٲz.A_6_TXΟ~oY9uٛR:WHiښ8vt[;1m\tV}ALm1FـH >q`8r3tA+DW A5oS/C/]\ɯ/&&(qCDSp, :^4 ׺8%)fzxW?b ah+Oo ¤ٹlr_oOжF:ʦfqrȝ;0Bk.8/hQ:DL!@޿& U+|ˠhmZ !o*E͝-m 8XX$ F1HsR6,+b<{j;AcM 7,J.Z{^)HAzZ>qKW_ckt<΁-Fcq:Rr9btXʁqVe.Z/3˝&`8 D=fc䪥Jp0TB*0@IѐIJW8f\9? h謿чdیtz(dqpH'|/}DWHvv6բ VnFL&D,y:UkZuH#e#~ǹ͛OkxbckA!Y6W7ޛEW yR }/ۭKY=FT'6@;<`VȺ)l7Nih FG,t@N kVSV{ )r< s)*XYdCDF)Q,j. \7i[St?uoZo 3| TSϳs\~E~Bޓu; iA"`cIjR)ꓻH{,?-5J t(Zc,. E i,TsWW84@`!kʢnXg1%)wJ-Xc0,vDsy1U B4 &p|<q tdbT"]9JC^))ZjgGXuK4q~ϲ8ؿ{7qH'x+yGw.p3OxPay5c*nLXke Nj4QK1 G2b΃5~u1,@'kjUR-OqMW}SCzKG^6Dq֊K~|g_:goNP:ɴJ?c\b>`׹vYDȲ…l'%ݨB棖Y(ٚU #O A#[xQF.$! SCa $wSt g-bvQhqjM5__nݺSQŨ8ڑz䌫Mߡplx>Wq<|K2ۤN;Bbcss|UaцYpSߞR~_wj>r]"[NI/۞ vLQؙHw-hф~ۂdExqV9ӏKZ“vRNR댣g{3E70 =QpxLy؀S8"g`p4>9g\ /t U3akl`<$#Z$ Ɩh |Zs}6i߳xմυVX,,G6 [8U1m٧%wn~scjB-8G~Y4GHH%CcWmH$\gv;5ZԂzNؿ{L-S4szpm^)W24+W AkǵI)ǣD8Z[SUb֒{x 7A3;FLݲ.3%G¤ϢƘd}AXms=q¦O8o8I+Z6bw)kz.lC4+[ Tm] 㠮 ]Fx}ßg2ĻSx'$%˹/2e(hM%cN%ZOk_,u٠G1O*¨DIЁ`~<'$q!"3zj wKKuX'/ p_4\Ԟk& ĭ4)mgNZ() A@t9.ic?C{'Hz'? gV{cf?@ I[xP=ơ$bd7lY RÌDDRR/JN$ed~BuCF %TMu)tc~灳q&&fL;EC%:Z=A>#8i ǒ2—!BB66-e 䭡W,8.h ;E谆K %cz6=8ͥ<0|AD789>N{ӊnT93k!Em&=!eR_xi@9  *%XUUm)݉l_?cY4Bp± ˌ?X6Cyal2z+pg RwZGk 8בT/MeXJ&9% oZͩ&'E (#լmTM։ۊ^ "oLsa2y;GE u,E <uK?jXƓaC Vp2Bĝ;<kA{},'ZiD$TG:iRRVHTcE(-1I0׋h [cH\||\+x\neiGO,Q'd?zzw.wq9ܽ{4ם;wp%lsp֤GyC <qd+ZY$T0>u=$ ϧ& "l(EP4\YG_>@}. >N- A :x1B[n2/bzeCv%zNpxt||w\ ,{yt:! {ibu-ApBoS63T魄tucWH4%;'h.%.8P(&yM^5SK8%iZ*9Ɉ}d[cM#y \.%r)6r',Ak)-mUՂ%x>J5:g˘^ƸB4( ([Ӓ(xꘙ,E#,Jxqdk&b$š+3I.?s3G?+Trg: dΡT0mTB.XbQU|[Nf1Rڊ)p})֦N:W,BNJuU:b̜JD[ɃC._BV9&?V}b1/( w3<%{sǕ}ǴFqyÂȤJAĠ*5pO[~y1! ݚw1ã[Mղ[K|0uhY&)¬&Hh42~CY uFx&gHLJ!xU Y"Q:mD$&QT*—SP(J#G ӼA'Ԁ ,4h8+5A*%UK)64MxrF t p ôG:̩ u K.3m_~;ݻw⩔yڂ,rI)$G]򢢗Tc ڿHYv/I sWr\92g^,([ˢp7],9Qzn޶*|qvg/cW֖ ihJ`mDђhTpAaejdņ*hGwܛ|WnN&Jm؈ ޾yJy%v#rErC}WH62"ŅnQ*X2)9[frNf,j#f9~~f. ۩]jm*hB9E:F%?}RyI0L"`hXҕaqϨ.vPِT(p#T#%z{H+%Rй/ׄZT} gru-yBϯlånD܋(f ʑ1а@23-$ "=q #-NFtI"Q{IJ~[I]5$DT6GT]F3ߡ0rjA+i_5 ys9e :]&* aqWăԫֆK?[d'TaqV`A:]4H*c(WKp d .{Pa!}fD cdŵcT3bv!<U_gH )sJ"~ /MBDArAMDž}qB_0\0eg6s1tbp 6ĭ6ᤵʸ2X+;%ڒ(&1ߜ ¸-򄼘d<)kzYWop $YF;lpd}=fV Lc4S/,FHB H\>%򎞰M<}kNbU g"Sƻϳ扭>3Dm&& l'!?cOT1V)  1Z.% +M UqFkű/ BC, HVr2)"jP +J\QQPy(#Z|FNCBB7o|=50=:0:zY7NS3[PJ) |dX'Tz0[Lkс5KT8lFqpNNqWJxԹ4mh # M|a߂?!Xƨ0\ .?AwWy_ \Y^2،9 #"d/X_i c)ZѴQ80ZHnîGjxKe5'lgSpb .䭧2jm`“vz!+S{lv t7) VKS)C!SyO.wKAJ^aGc͜z/CizIR[CW&p͂6:cQͽ9io$98beBM4't:!lN͎YbZs2 ҈ajLy$-ac>Xf?gn1?ڡy݆iC%3!5:$m/cxP,0NBhZhT3C( O9s51tɟh֭[K[is OKoZA#d,Htk dgR7ҖQ"ǣEE՚GX#ר0Yu Ҙӡj-MYڒLTm\-y-=d'@ b; Y)>e=Rgd\4AK%VC\bt;/[e _ilNjbeHv" jXַ؝9V[;.f z+jv:+O 8nW %bZ- cj:YdaPWppttMȲONߖ_1x 0wD$hEPev4rmcB1\Q ;UE$uă͊%XEo%.HB\EuA@[DS6α f:QIތ 4"Qqtѿr=Wt[iV&s{kz޼gSع"iwtH1K4 Xi4bʅA)Y@[Hh)8]ѶKk T($Exce+I\z :ܺu?_H꼠.4i>{7tch &`.McfWѶYB.޴<|[ !B?ѩ;kkViI*xʻM8tfpbXgt7Lpueqvv HZn9D OO TOƯv^׮=;{; 5ʨpѬ8fXgŒZM`G O7 Ё'KchdOg(&Z $Rx7[mbueoAV0rְ+g8t5!* ,won )݁I RLJilL{o}'xd廯nrM|7{_ڷ$8lcon2iazPN >q6JmKfNgфgFǜـ~i;9ضa2]ƳE`\!v8T>1 ۛS[ߺ_={W-#?݅|xmPrx8>\m>}_'W93Wx9y|?(O7ػ Ő_"U VOb#3_Akh(JVmΟ_$K"&,~("Ӛv6„1ke%tiL'ON:I=_# _| -D$$f|pTM?>V|v>3G?fP4 &cu F"F4GݘBHNA: S&am{H>\ jI#W6鋔` c ^s$,1_ ~yc$5Ƴt|d`^d?Eɨ͏ޔQp-7hMJj R[T% ~iMf 8\L<ү]k|x%3Ls/09s}z/ CH:<;s^Wv7W?4~ 1!Z/?V~_=~ؖ6Ÿf# vTnAiDd1UL:)Yya$GGwXT95"2i9$/ݩ_):Z x?GGKM?,?@<@=r߀j w?O{x_wG ηx^uQ?a9Xh+4(J+ݩB h#wVSv4kCG?фz)3{V9}U0Lzt>EVBG% d2fr,n]1A1&غ۾ՋaŚl_f<9ftg[ݥ*KҸG#(>o7vu{q>xb,i7 ZK&i i^Q? ɔjYHjW<4!w<s/<,/O?u9äX}sjLsv#NK T 3DIt[>@ Zckv& կ\7j}YՋ9KvUx`m@TU IDATLOx|{o3#"wHĔaF]U9VC5Sz]&2.-ʔ,>3$tX:7yg |eTN*ˢaZbcOrvrXXxJ̽w\u;7ʡs7hdI(RM eJ[9<۔oY35l9ȖlIV,DQ"  9W[73T ޛ?|x^U]]9go_;byi2v q./Hg oC'>7s)nsgݬRlBO$E@}h9&{;sG4oeq;ti/} j/物y+j 툖fbr-9 mK2XJ,Kd"PP&mq{\#$(2"oY]Z`dlBزlm/rmn+++f"Bw?գp{l.OМe-j85d^hL#6݌|Ћcuu PXBT4 $b8r Wqm*Nj8'`@+rzv-D'%TN,@"դU׉Q]iY3)006Jcu–a A:*Mb!\T(BlH'!kz>_E $NC4Ml# mFuYbum;mZHYvV#"}"T%.P֘.y]6Os buw?%صyOEFAf4١u{i| _//r78E%,vZ.e6ks>u+?xYaSFLKyBʕ/`o0:WɌv]&'xy޻|#P)25}jbY+Dst3cэ v"1qHILVcb34bܠj躁x(P,]g Jã']ٲe:IO{$qmP f!0y2cQ:k~CˡWCW!H}8+}VuLBbCAÐPSIyg˄3<$B!{*1qG H0{V#ՊHg59=UFDbN"&]XbdH`xhM%0$9s/@sڄm"!R B<~}Eg [9.jBP(ei]DA$J鸨BJJ"`6o"B`Cwxs8$mmB4[2VDqBtUVt_'g)W Xa9R!(Z)DUr] 4Q4ڳ>6m~ 3ψmO4G߀˄/XzQhy񯿎}d4ysHvuHr _xfNYf0H܉it] _*M; d+xUn,+[XI-Q(Hi⸒a1v۶ \R"H1FQZyDJ)Qh7^;ǰf}?~ּ Kg!'O k@3@_@> >De/!rC0pXi$Z$)XH?D D~OqT]!mihF,%`+F C} 1n|6 S*hD1hKsn.T6j8NМ&Y2Pt!]d*f!>b߽$`*i֩n=:!:(aJ!uVQBh1N:ªŨAr-Ʒ0X{!'S`Qc$euai5Q nSL$L5a\m U`uK0. :3l)a6z|zc{ β&,bG:NHsdNi&e[%nQTrM#G/ZǏ|lTRs^u?1NzuJtD wjF'qB';ʗ}|Ls߂W"˲QF2iM0 Bj&tH#nR/!it7N  ɚVHzk+=f8A>O\9w9^@# FECq 2t7br#z#ү#aaD",A.2ho^+4Nx]tBl LLW _^#qCI_J#I0-dtz' zLEnv6J:Awym$:Lnedt>eT[R\NlɀY'Pb| j QAT^W#yv-˯J,6T 7aTtba 榨:>Qvi6i4,-p\V;MZmNuHjk)\s$SX͈ÍYUAkD:M$4: t0c_~ @2dKVO׎nFўe0D5N0Yh |aD8݄ Qm8->I %D!(@j$4"DgQqEpxhXKOH#tlKiAEfAOa,#&DtfXZ;Fxz8 =uV򗿈*\}?Ͼ#$8f`0 )"\AӺO.2 f^ASlVg;LFFηJ+GYmxBĬW`zᷪD. wv%QkP-FW<ۡv0En'I2xw{c VhhQBxh}Oq uQg}¢GRDI Cwq݁=8*U -~M)ߏjnN"|KGU$;/GXB*+E*rFLiDx:F3! &7^nLO~8zbNG?ՌȦutPQsR6k:V?OP[9eBfzVN<׸ٶzZd!q _{:EȦV]d2;tZK' 2[|ՉS6|^CF iՓ% 8pB 0-tC'ʌ^׫$ Qc(m7Ci ?KEhF &g SP }'p#Ay/@_`Ϭy©6y|lR%~UE` %'e4UHjDAFG P/Cɗx| zyId@';@:InL.GJH#H? kJtE_57Gl zEe]~^ @ r:a6[DjoUĖA5C7rvy}dYxS3+?ES+7Љ4UBlvP$\ ^m ?JqZ>%M×Z]ðMy/E &$%nX,~&" Teښpw)suFc{6n,iХO8eC+u|?(mnӥ'[+G1R&ӨqLRu)NvHDS^@}T  1W[v!:NBUapW&BHu9{v@|6Hg06ݖFJɡ-t'f{kw}U_nC1i{]) h*OzYf.M# $?6BvUqMHm 6Yiw )+'5ƣjU1GWa׎ )@Ihk"Ha0g !1q*n1B7at 7B~#(JOC(*<򥹲n?T*]!{ ddD=u3ID)Z2r'`n VJcE@s2JPpϪ"0mDcʴ)fra-6 mk/|槧aqDQ!#5iMDUQ}RYC.^&'GS2:e~aq[8dhHe^>wsM`g k]h@4֛+d)M*9 khNN!?D.mVM% CMf= v 7 rW WΒR-<Et:fue%:3P&sd=b{Ѿh3|GDN22iPLbA"i6lͳجs閫*q I`k鈄 l<#O3lVquk9[;ŗ?̳etnRF kl#v#ȧsH hx<͐VnRUTF>@0 ^ y q$vmt<&8($A ګʙhN]_"t礼VK-V'DQrM]4Z.NIk}@7 x#̙h`S@)vܵ*:6b@!R1Vh""m[W~nZ WY\~d' 26+muF)27H,--%4 d-jk)%CC,1i߾9}Gg9Pַf}#yr9Qy8q ՅWBmK.2؈ 39쁟 #%M^Ƕ-ӤdXiV)M4&%Mu2}\ksMcX%m5*SoDh$ z8MWg)Gw$qrיY mf( 蒟}sS}R]mwG{rN6_.R|ͭW][n{}џ>py?qpcdd'wЭ,1MtCj#Qʈ0f0;7_շo~,^4$ɋɿ5P E@^6d俼HbiS c}MMV 1-8UaxNs=D\4MD ZZ]cѬQ6D(3 IP u;Fx节 U7XK*dgv*Vo36ňScf vyգr݁yJe>%ih8uE,9k7(ܼ>|;E`lx' NL8,|߃'bEFdM@RtM]G6fvZFCM]4@s)% N}8),ԣIglG=kF_a+rj[y!-JTwnbʗyܪCyl*iTyv^vU/2]MeD4̦-}x=smͬ}g{ ]➿ܲIR-;}&E"TNcm/s(ػw/O>$@al߶q x/ĶLVU,IJ-,zj\QГUo\2 $hZj6ҋ ^EI@rpVU f&5ͶIUC8`xiK[L NB :$GՠyI^6) ~0H8%2W`o} p Da}R1kzu7S=Gun]WE 0PRl3O`dh-Jw]c6ӡݩs?Qk:պ0Q a,'3/dmd=Dvi4]9֗)~fcbr'={ǩ(quH#;نN–a7m}C,='( ӷ2CO7t[,eaz׋ g,/@[u1>L3Myx^m(DmRuoY."y-[`nfR8UpڽٻsCc"6Qt!4gH]%&i..24-wpZmWHVy]a撨&" ?v ɯo\X<8&c,=~O>$ccc}(]S/j??qYl6#BGAdaugcH{L˼8|_/„I\x@Q]0 (1'E}B̝C,D/l|f$8L UC(FbPRYdA <EEҘAWu!a?6] 5O3TJW\u9'QrA+RsrC4^Cm:k -_eL6gN=O LBݦ2Duζi:j"B6;HեĊȨI L_- ܖOKZCD(xųx?F I*l뜚9Ϧ"L,4쿒ZK*jN?N8Llij/M,S Okor% o~ .ۢEtodKGyw&?i=F0ӈV aE-RJ|AKny(zuRl` zo}Ѿc:j4;oxṳJ" C$vJEJE^M=pM̄Wr~y|dpNH6]8lK~n8(p oBu`#Ӈ؛'[y4ne橳D/Opn$gk8Z{rk#;yw4=,<}Wlghx*qªhew:~O˯DHL>vN8^B+5ֻW?Oqwb6q:z)&Ϟ6G>Nj d]of~~~MpÍDQr*0M.VUz R$ٟٵaKچ)/y]{5Mӄ/DͧcrqD3pɂTg2eFF`q~'$$u0"( =4MǴӗA~%`kn&ػJ¥Gh-?ї%;:!*ZEwpΓ[el0^E6lWC5.ّ1:fjGDl1Ѣ*" lt)Cg(p\Fk"Lb!"!A- K~8Y`LJ_FQ*6&0ͱl5IZIΑsIdDo<0WW C8e%ֹ)F^o|f7Y*qxj/tenaiq&Ft獤v^ÙK[Ιcǝ;4p3fV9{NgG}7ќ:ίwrqvw..Ɯ82g}|Yg0{ynםu|qQRvˮG~t^KkB [֋-wu'1M$Ie3zKx(7(^ ^뮻9~?ħ>>7x E*v RoYiz ?4!t)S2/1 Ԇ7ޗݰ7?IQ$3eB3/fM֋Y҅7МF 5E =KM٬E,<ֺ WIg&^'`a cu:4VjeH9)dK c;&鬉mz~}9uA{2O^MPu]hlAF/N! &*Mqr 0~ B&kLmaݓ|o5fQ:珞ۀمu] F:{KW0[8n?\W>6}vy,bag>K?˹{sc{-YL_a*>:~f'|Ӌ[v^>a6J 'i4سbxiap뭷|"J~|#!^+46)#cc-կfq399oot_I.HVHdBQs$*l미THb5W_kaF_0!|v]׍;3͗u:Smw18[k }RBYFK +*} XJDMQ#IL$e 8s0 %LJ.V>}0ى C1tբ:M`( T׫LjUS8$~=F8+,Meeh.9;dZBL))+SݍZ E`LU4"Q|RPFTbqi]"QoD6x0n}uatdOS*8I/lXf~yH]c"4[C[yWy\{M4"8rAn9p!>a{1{v៞&1;3[nEwZgYݲ̠B*kX][~'y,qh}KLdx-gYq{o>dR"6 VɉɄUUR084w qqt$!W,Po?̡ ?wX;d(s4 s 0Ԥ  4B,iFKc%%nXUQ[UU~= 7_K:3H٤ek㺝b4ѭr͘#T|~vٳJܻJڿ?\|>4ql/z4u;▻vLUi&&6_g)2NtF ma̶]c2Bn_p% t7ٰ6Z5?OQ )ٵ::uUaPƈh9dD6֠ CJvl McTTHK+dOVi-ZY=N0PNU]?淀CS)c; +׏Tl* rk#߁D@׍A63R觜SQFUuԔAD#L,$L]V]B>ziF'T|%mz[6 qD!s:2Yb BF1Z|"E34f9~$eM#lWk&Qrfztru˶7(ˤLe͘"`]<}UXtlTᩅE=콣$:Ͻχ7VfFmՍ%BŒeeg={Xsva0a+$@"-WuwyEfdx?" }qxס{UO}pk xǃȁq(`Oބ={CG8pamTFnng0 4N$D/{ =[C,1=aꡢ-.p A Ht:t[8q!p,jslB_- (LAJsc3JGK&xyH@γ֬2+5R"ŜS/sgsln`U%xVr9e39:~Idf#3Ы]$}q*?]"{$/XSStvd0{ⶃ`e8ۻ5^|9~CA[=\e"7')NRZs]C|#w/<`.8d8p g{8ݔKo<sst:w޸{wmd}/uBpپ/#\]}_ףso B Cf~{nݦa}'nSѥ$ѩ7-4|7{.5Bܰj44Iߎy.z"ϓ@XPqh4Ndkk뗰I,evKIli˧ՏNgkX#iS!>qm<"sS$eO_?3wp)LE׏X)oЍw!k2MgYݫT*A@add-pq0殕]ï(\w:a a\C͈O]&;0RX{ ⛭-VDߌESg.b"o3؟YǘX˴h0ez[F Š̈)_aD a(_`blQrY@Ҥ)fIׄb2V DZD蕉\8>CKa@ @RiJF3N!,v"OY;E,ð28aD7\(p)o&6DӀytrmS,^>K6c9D.6?}f JE@ [K$Slf!j+t͗)lDШWgFm[ PH'p ͭruw{N"A>1u*uOq9wzzhV4y/| cX{ KKg.>CVG)|Cv a N<ˉ[}Bb=ëgN MNg#+k>zF/ެH3d4:FטyG]_R `ssT*EDQ_9n86B/Ngu)%^Q_/ؠT*!|õ^[1e ta8DŒxđd||MMOހFs,?ߍ,_h} Nݱ/uDA|KORހ&jIܠ֟k6ӌ*0 } ·a{h'm`%ʢөi/0\841l+Ci> MOBQ4Qqnkn@vH DXq+o|z^tW(?EHv2zn'oe79ڠhfٍ yti*0qQqjL.cGeꁤ[ׁfU0=JÑ# ./`8/-}ـ=44gK39*d6G)Wb{ϢBmސlYHӡѬ366އ AL4 vvvm0 es4JM&]O)ER t$aT~_z=fNm !$ ØXuīny*6 Mבz2Ga(0-]ꖁRH#R ~?+RJ絴uQ- kz_Xk)R0??{g'ic'@ƘAܭvt0E4F} L6RՑBCBc a4p{- AW7SN"D_=I RK&Igdrd+\޼`'m[Y0XHB15<ԑ{,M1T}h=F{ddYi 9xnX )Ҏ)5/|#Էtv*=6W\ zǻ`o翊:r i@I*$",0 ^K-Aa\SDaǏY]Y!JS(0_3 [[ ?ı$ibpx]& TZuCZHy{]dRj ^ 3Vq!LWv)ЅK)zիUz%A pBҀR >LGuL#* t4M4!z )J+h@a&qϤP HԐ(BjA࢛iL'n:?tD6ђIsϏ=혖jmMPXJ-~ w=&6 uL`mm_1q臡M7C)|2|(VT*;8n /lz]8eQ[7BH֖,T:.kMo^$n~Ȅ-FSZ cBI)H)d b%iG +PR)%H!PRD+8Fı( )_ D(RJDaJaHJ # s/~`%ry|6h4H+4jMiJFm\'w'p=GjZ i=P~"/i f^ԭ{FBb0 4xQS=hR~eMn?t~X#I*EbBSQ?nM6Aq ͍$4*XݥgnҌ=/-wsv;m.3-NynwH7͜_drA`֋$ldq+29y]{~'YX0!u*J:_{o(_~0[\7iG;6jχX{M)T QJ R HM*BJJek\<{qcz89B=ƃH[q]Rb"܁äRdO%Ϳ{==O=MƱ,?t#tI~>)F%1&ۜҪF<~Ez~тuW?A# h?y`L2 گM7b'E]lOf}m^GPuk A)%Ο勨(n'۩ec;BH.grj <մ}p=ēO>O%qO>\ebb0vW'B ,ƬX3pᄅnHoop `\"mYҊ",!1tS aD!XB[)($Q}"ILBAR@D EERADR(8&"ŤdHƪN$UB)I)\O}S^OiN.Awřx_ɥVDL*G&%t=JEĪGMnpd]D3< + @R=^t[$V1`h)!dѴ *o|K~|a?"p1b[B^]|6FՅ) &:ݐ@*&~(GS-<GtLy#Q^JQq]LLGgdzi#_ ^hw=Gܥ ^:J7 _km]2s'xG_]܊cy c|K_(rOG)C?yɡyN{awgXowOe 5JSNȣοOw\\bs'$i깘ඛnXݟwoxL&YYY&LAΞ>ٳYZ\dzv!a06> =uػvy.q(׾Tz 6#5FoahfTA%ت5(Ĥbj}女$cƏ`G|\+̓ vt^1n\6/8{zD6pka MRmrZODI*]D244yƦfYC>wg9vY]WNV76Iڃl֯ܭҒd#iB;O1=K 8qzIek^hwF1.`&۫(46J1=4hi60ܻAƁq4.3Iv;LMMS,.?-+ˤәkMȄum@yivKy!pL(1t񉉷lЀa M(CǗ@ӄxRgiI:FǰiD[ESD0DSiJM4tM4@4LCktMԤu)EMRQBԐJAM*$U)**Ů*'?Go A&Sq4M_m)bL$K44 5 =&I*':,|Pt7Qk/d Tbd6bI $^~5(qmZ!_hmץ\'k쮿 l384mN FqcLK_e,ҳ,,hXYCw篾yۻBZucAv˻@..퀝 F3k4~Z P(1Z:% EUT31~4He$@B6^Dnd 6.\o؝232F0EH?/+B/=ѱ!o'l8NAQk/8weO&A2\Hއ:Ixn3ϒ,Qٍ^YÏ34DEx8zCvCZch]`8:q6O= n;.̷=ϟk!F|xyO,q.~6]Ff&tۄn‡)$cn5Un~&r]  a||!24nh:N^uM5c!D",ۤ{]-;!HY"#[[ "N±c!)LBh1(i AA^6|?ԅBᶔ]za]DbB(&b.JH)z!)Dq҄ CiN,Rٍ/B%#M,F?7u0s'O78pmTje`d8O'aS0=QK ޥRfcE޶ !I #4ˣ*I^ :x;FJ!Gs)^c|?Nm!]eM^7ȥD eDk;D$FC4Jx ._!Wefat;B \ED䫏;g'sK=O neHL Ü"@dskC&!w2~ϣ\ǽG7K kY"o'RdƋXi{/)fЭ6a0D(;Uw""[Q"g/n0>lk )=_~6c6ҭ}?&=bfpa,|;܉;NxLO`xH#~Ubg_l4#ZI\˦'E]ksz;︍o>d@S>D^{W+uyra=4˯^/>qX^vIriE$\҅ q:[;-v=D~DHmIS:K4>@-r)+_ۢj\9xKuk5Orjz>%`{Ai,C*,]Y$P,n?%Iervݷ*S H)n\z~7`_ׄ`act;2-^@D!&aE(0W}|ZRhOh!M#H"M/Tovlw# H6BVdL!;j՘dnpòpH26̨ ʷ+8A7Hm_hg5BpCԶ;?P]m5GjA, v0^":7US‹oB"8D(jz MDaX #?종K8b6{{;u} =̎H&`%R ^/ o[R瞻o*>S;ˀm_[67jYH|aEמϞ_᳿/HgbyWk.8o*t@4B亄btzMLNK&mBa^vJ䉣t*e,{*_Ӥ3yNQ^ ;QrD2H;IWEOhM207JmwC*Ud{n.V !o_CRJLӼ6⚦57N\gmFRAzm 1(T(dHFRaMR %  u}( 9KH#EŴF K'8x>l64X~gc܍O١2IX?Wεg;ɉFWC jp0ΰJf躻L|JvY9s=*f9{8~Ě9Hx.U&&M[ XF]9CnAt] M հ-_C D.N zҢSclD2& ) Mp /SGvRK[X1,w3sl-ympQ ۻ4hgs»n$.*H^ؓR^(TױpMj4k:s3h RʗRN'6$J*"7&]Z\R*c -m]]Nf.l*m.q$IA~ w` gtAzf`CsO|mt/Q=>Y+{ 7-rA %z@qv}N6[Z]ty݆#xmfE)?0,R職qyVZxmV}a 1n;U$ DfLa C]#e@D*D 2ft V(iI| 5sqr87R[u9/z>n{Lʡ6"V6wyw˙AVN¿?Kq579~ "vHXQtj je"jD"Apq671>QfbdFᵺdJloPRIv+BBL,zM\&N2}\06:ǠfqF hQ!뺘GdB6cV*QD&0J&ׂDض}CDͶ$ee8ˁ|G1LZ'} *uݐL/ta$:؆Fy#TٜT˦)?@QWQ^ci8=Ih]F~{^g*$ :x]ooo}Vkz3o@+ 9sn!eR9k4.H:x"z afJvvi4]`P2X2<:(wj[;dgO>w܋8LDDncM<8x}OލDb=C3hDQ8nbyB?BJHI(D)/02:AvH2&}}z6M4x)`y~"tMlf;1 H dlU5#cӫ#G;36F_ .I00IcĶ0 tvnVy7L^i !ئj}ZJnOjFfggI&qSV]gWla"kx,^zsoןvB(_p"B_#JШi a`&cH OEJ6Jmf ŦQ!錃+"(nNidB?MDŽ"p;|ϻV{Av]\~|+fi^t) qˌ ugKZ]AF=@qtfY&f%fRd zn²,'H5;l_Z% LD,A2y=q]F3V3E"LlɅ zx#׾+jK?VM'5UN4 .^āPJ1;;4^?a@Q5b]ׯW]7+ WLPX2F׵7+j"O*DRNgVRz ϓot1R($ҩUaN~t*DRzBU4NvhL% bԙǢ {G[o=|:j^[ " Cs/|O?_H:Ԃ:^}SBMw )phmN^~ŵW\`DyL0 0M6봃& 0:FȖ:)-a`dq]҅aNA;K[/A.<QE&?RCj B"B7u쫲 -EUF7L 4 ]zZ?ɥԠkĜ8C Iq9HTv(W%-sWOf%^@ 5ō::[ZA֮2fvpmuk4DRY:=%^"@q=\>Gi)/o\"0I8m8MۭG!-ݘdԱ4\V(ת] 'E!3?go%Q~oD3k}@HB,cb<ˆ1<cofg!@m lRcO^q*0 ۾ J? 8﹩pāĜ N(\L-Leh*p<깬؊oܹD f pA Qо򾨑ZAlX⺷/֖^vرsno_~ۛ &ZQ ah Ck :+}(c)8ʆ$+d'WkZ`#:.(@$l`@0I r$D@ava\ ,BRV:mB@ tlp*D2PVAuND@D)DHSIX)\Q@ sV a $a C6j+0Q$ `PBh$4` 6h":Hu" cCeNh5kkYl:x`ÐJAJ&^z3@ݑqt%pZDXZ\H;Fz+M7ᒈYdlz _J@hhÊbEϾZ04ǮeYTU<||Q딥!IB A*mHlp!lo^ƻzG7j*m7`lJvfumz{{'A.lί==PZ)[uel}ݳ'E.~~öm;eP' f B)y dt$"LMMFmel_~%vlVqzJ<A"MRElۈB>'=a$O/_G>Iq||/2k},(Zo?zzp 7As i^GF\<$ƾ^^Fazzba.?A5%h<ع}l9~5ub#Febcesӟ^S<6lٻMf' bP4Z{i%ى߽8Ǝ]{f̕\.. "Is&_8n|חe[.rד)<4~owmlݺ-›~g}\wݵ?륔ضc'y]ux'y5Eݚnmqغqn#K}Y=0s:۲u֭_Iѝd:E\yEbQ./qr';8 +}}-?}q!z.7.gyŕ^=}.mej14~frwI.kEGpfEǟb5{1{$xbU{ }QPbaժM{j|^_q]w-b GBկƶo{_qJC_O:fƦMwJ`A[/ g <#˿NEx[rM}- ?;:nwZĉx?2nmL??Lcyy'uk>9avvSS8;~ʔ DoZHeall eV;OJǤp;a@uU8%a$ @D ^?RƵϾ˺@wb3 @³2Pe²Hҍ^Am_q׼> avv{yڵkǏ;@$j++O:)"I>. ?uI  ĉBJtM|e9$֯9oc-+qNϮmS'/@'_AUxJ4w]>6I yW61 !(ֈb|AOծж\$nu{ӕgu3^/}Օo:a(i,!#4ځysAy\Í>I#; B*CJRNf&>&J%v*l" $$,),K'Ж;=uBHaRJ)$ [ -l%^7vlAU̚o7`QBGl;N[ k+;Rq[ךWNJ;Va)98oYL |t]}i;CMǫC//k:]鹥:?I/3(Lhت?o~'*KJ2طnefrTH$< $u)y"(ʶ-7#c0_bIϗsp.v\%N,;C'+`9Yc^Y8I4 kn9|GN<8dAs5c?|%<3xkn\ tT!\HR>ǟЫGnMB)gdAEt7F@뻖k&%ɱ;QĀI` "Bī -jAk:hN66G+ܮ.Q5SI[( )HGi@ZN-(5/<[_ZlYqϰRpAHRr$-C$(򙫯l(Pɷ,a Afƅ\ҢYHM\i4۲saM@4Z5A%d+<' Ht؈Ȗ ρHȡ͛$Jpf6 a X|$R/HjR"a13@lsUoiM*S@`0Tݕ/` %D83m ]v> VI)EN( ״ $@X!׷5R_Tk$AJJ J\"f:ncfFk;PIָy(q^s:UqV!e $2 "0""I\.(NDٶ粕$r-n5[\(. u\<ƞq)l߾]7݄^Z8p㠯|k'^-8z/Sa3gNcƍ, l}jG ؒtؖe$N ؑJ1z0YGc8NU0L0ZHbA02uj,Di.@/ UE9f.e- 9S;\_ t3T6QIb~y`i;m<ǑiLteER3|O߿ח޼3(rƓTrma+HSԌl-[9kM-VI )(|6OVF32 :8Q©5R(k6!El&QEdYH:dI$t;LWW\vs 'NcfNL{lafP6#)@#R:{UP*Ƴ,lXCf&!edqf܁8 r\I'1,禧 Zrw ^y1BIEdB&d{ 0EaADL V8"QɗZF#AR@`)0#y)V 8vOm -&"@/̴bVϝC ZϐAe[-٢[sԟ|r1"# ضm$zFH"\{isO PqF4M_"qAO0t]Jc84Gca"C,L1 =_uGg`=`CGƠPe:~%ډQzrLM*m{6BlK1:BAvC Pd$(jTέB$rN M!Ȗ,v!BJ3Ӗm$;p-J$JW{J J~) zZXwjKdnl,<)3O<%I _7EQkJ\Ay?!I 0H!fFZ|'Y$,iX* `օBE!-˥L6GSb#\ zp h*U*;fgG[(TJ#mJ:X׭*@NK\8 w3IJ,%,Y-743"$H*0@KDR4 v rPo;/-"f)q! ͭqJ9jY3pSO&kCle+nEP %)cڮrS ڭV?bO\Qe/hJ0 !Z&^xYm۶#ϟ\syi|_zMT*Lg'N҄=xbkk?M9!;؀%,۸ !Rh4N , \džNbhCplߖHt`͒J R A69 E'ǀ i ]Hַ kn[ 0"2t ؾscaȘSb(0;0;;YaKu|U&&œG0ؕW*EGrt˥Fn&3<[l-;=O}$ 1hx +2h6aأs;4l&KB)Cdu=qL18AȸB_|̆4e[$YGDQhuGu5& KBEqJQRJXh6]=8m/Ii9lڴ_m6l߾CCQT`+#J; fi<8x >ߏt3GX r۲3G añ( 4 $8dv•xEmfxِJ3.&OӕOվz$SÚ\φ0 g Dpmih./vx;B˲ Ԉ|Vv*d)+ Υ,{uKS`dՇVSEcZWԙ㩁DFiO%*b,+%A8*uBT`绑U~ 'o㹜xxcǮ{g CZ>kxJԒIĭmىF]s ,W[tn&IA14p3sSٵ]uoSgXN$D p /5ݓqB d0d{2 û/ d\pUƉSsj|HUtP _*`X/L5[ё^XV8^"]Fҍ:|hnrbP6%aP@AqBz^g u;xn$,Iqw]?0; RL 2vT e)`2iܪuBYȵZ-3io߾ #.>_ΞtuSk_nnT.UW ͞;:Pjq qN@D\ח/Ce`hᾂ85,$A=.CB+H؍#S@IrG~n[?t`O&!̖A`R`#mf۶r|+ :JwI@du L#D NuH85c[: bH G*HV6I̮evJQ IDATTX>UL4cژUU1N٫)}G.cPZqjv#ٲUOrOqѱڒ.ƎPl I:52y Se\j̬YZZ,_;nMm!Ѩ50Z#ӥ!%~8y*ӡ7;uuˍv-8`ALʈnhO]JQc LaﮛYdCPeGgWfD%" -# nױkK|lҾz(DHPڳ"lucwIzOJIRP|?K6H)\H&Hr\y' ^o?7-H* ٺmaav;I),X !,vgcl IԆ("-QjA/>bYֵZٷn8IYݦ.> <mذaBkZ0 _!wS)K)@~`8诿s$m\D䊎a@!,Ipxhb(3G??֩8vs=9YM(b MS亣1>vgO},cF{"80Q@`++YC*I/UC,CX&$ %LZ~&Nb]@ ~v٭掣Jqš}h.!cpI =Dӧ$J|x)Skѿ]734~\ުM1 K(B(x LV4ؿUJlQ4|2SgOZYP*u\Pʬ7QEeHY?#IC-8n[/ !a3j# Mr(?wmp%4DGB9]O3j \:2"݃qt nņ,=L$(rڍE4k+r̋%q2S(YIvD9!aS),aB:J9N IKp?( Hg\VVE5y%qLn.@7*IE"C@@D}Aw؈\ۧ K~P_^RF qɧկ ꯼z!D' \WrtI9x~R_NAk *W1e$R~gv#$3L&`Ƕ߳P:6 #,BBo @ե%^\XX$eL["- VB`)F޵X Cl;mb|6NDeBR-m@% gaE-bAr~W3"j3׫lUNj НHOq cRyEkVX+`=n0:EGj=so3S$q q gO-$C#w*8ƙS3c +"hB]y8<Ö[PNi TN^{WمٙW_`a^1$ Ve3)@e\+1f].t1$>ؽDr)"nњХray6+Q@Dͣz-sceO0u7]kv{&J} &R=Fz([GpMOO I!YUW~$DK{tceerƆ N(Ncc M4Z3D(J(r_8L7RR7g򅩵Taa|Led}zua_F}nbLYԪU2agJǻͿ}[7 )c.'

eX: X+P5r5檇ţO?]Te  ! bĮq]AWdظizC|0]_ 9vﭯ;ڮ%Rp#_PN\ARs+c̈°j]~ۏH8".Y*gs%㜗^\\1iHeuU2O3 ( [wrim9Mb{? bzf^d)byU ~e7qÆHEnI3,yb[/]˾``erX eKybh- 1&E$H蘢 \W_IM7 H1S\vaZ FfXh9^0jƊ`2b"4Z-$ea *+rMnEU$`ff^5ZZ}|{z\ B5kd\w.qrYbu/1gPtWŃFny/|4޹k7͗]}Gl/E)!!Y-^ӇN Ϯ{AK$Q,ICqu$aȞgc6''5.$W8XX\QDھ}Jfnn K3oDW8,kS;;/=鶫$sIS&澹I )N=UDO#/d1%UI0ϿJ]cnQgE|mql$톌T6;KS1HR$"Mb7k 'n9RР Z G_Dœ<&U0Z+];[kmv\o 'NCl^^Oӿ Q:{/~+_XZZyfu_ 8jV=%'KD=Ɵ$ }~呲$ H 3K$XHT@>8A;5PM:IwHh `gg$""HD1lߎBÀaM=a\UR5X>aY}>mK6\?C"4p`e,穓ujDf}EQ//%,^gs$V=cCne( qAsz *niU$1vOLO&ش*>yj6+E׾}gHSx:51~Cde)kNhŀg]$,PˬnwZ[t1,R cC B(17,`nf*Z%WU7]3Z4`hp3#xʆ I`<=mo݃4O" \7kv>K%;x艇hY+l㯏]P-%R-3{wVt8ٕj*1F&l&&َ cҩPEd#8Gs݊A[GI)SmI79+—X7B>G^|# B N!0=ۼ>fFtb߀8Luo;}:xo nG[sa+ W"?{jɯ|O41JV-%2ĩF탘QKZ0I) ƶ$l! lXMiIFh|QVUbF!XD+ϵdUD-if8̰p(Mvd;TJZ技NwsgvkKma eEELMM"H<ın4z/i *l0;U%LF{5s(Z!f0CRqq {/.ALpeΎu{І3lφTKYqR 3\)W֪@`&KIf!oܮ7|9?{ *9 $i_ˀ緡]^ǣFQmMҶFbR8OVSi**]WL{{q7^Yۊ$d5LBJJU7K<ֽ Df$`C \8cf#&x jCKAI % dK'+<|Û4:w0V.v7-X4^:zċUrf#N CNz0终a؝ aDiޙk.;sLDm`` [1E7+/ÿ059()mg# _*Ec~j 咣q3T۷\G*;)#m5 6лgQxm|EA=H0S]6^:,u[k╬M ]]ώ'6©%t8qYo [D}G_.__]NP^B%o#* A!LjX6l4Up8Cs3C=bar٠D>qmWN4FvV:LYM)g#[x v}$kM.uwQCH%P[;;A H`эhՕ ( o[Qv?ŭf`iVv|^s%pF 79^_qVϐ6F֌" eK^6l uh۰ΨK+صҘ7UWdM̌wc )9[_:hG8[AP,~ J.JX-•@GޒfmKj*[{4 ?w/@п*Qn(sRE,aMq0'CcfzYhVW;#V:T,Z bhg>>+}DAkAjPʾvixM? AakI{֕hብ %ͦC*y0uz0aSN_1UaW!M,,+Zmc5zݔ.媈`n{}x͕ݼ}vqhyM@JËk}!A>37?|ӋJ.# NXXm01p,LsJ'Ũǂm)Ch֊aDG .`.\R:MnaL#vuT)YNU*$YkDN_kG(V ӈLr˰JtHJ͒i5 +%/"T eIF@]`ֈ&~CϽk:I#d1]]2==!(2Bp'+Xg\ rUWuu7* ,c0qx3fll0N81c B9|oswu媓~ 0xkz]=~߳Z_7kUw??ovo770t b_9+;[dnx P19q5WG{U!'&cWM;zjD1>3RgPA5*yZ ;G^~OBUx:03#!*OzZ842E|9W̡XZGj3:5igry봅릶Ƨ7z3!!NqlY !\R(c 5Q#3;anAPXvOgX_@*~ (f'&%%eMA6 aDD,lC{431.|~Z1:cὅBɤB0ISHifA Ew9q^w׋5%*]l>* "!;uڽx%kՙMNgP tCfmFRex37[?4R]3.;~$itGیl\:%z˨GqѯIQUheX7OG˯??( >?_yknκE!mR9^90-N; '+[AkXf-t7ـBZ|B^34˚ks *M"i/aH 0v8BօfZ! RCx6 iL"!)cf-L)3;M{zt:mbQVe W_. @f&qhm\<^-u߮G(\J0\, R'4>`p1e@z1dg ̈́!zJ$1w~5Dv"Coy7O3ny{vG9"adf&f<BmnN)}Af[PZHtnd~=.*B!f[[ۖd^6st.W%vh* zMu"(k`)lr!]F,ut L x};ΞNKgg3ic7sqm!Vs'& ,l盶`H8d|PT;VW~wjR{c3 _GtUHԎ`Egv^?r 6xskS$Io)>p6gl Ln]rY5VQ? D)bx/;T|E$=7͝8tK[+fW@B#mqgܫ~n^َrHCX! JC_kjY5 ̯2, 'ɠ~!E69 L"R~h19tWVUu,0(3 0 JCbC`e|b:+x~z||v>$ @ C9`ׄk R&"YQ@[aB_c /ǛO#{G^叼_x-f[~|Oˇr~z=׾?5l^~[ \v;ԫD7喯ڞ^Y8W=|(;Q[($>v9{^>ո) ~xkY5rŃZ9?x3/ixį9z sْh~ɭ_OQ~䉳SR di1 a޻<^;Ea~=}ߟ711LҎ)BFDc?o|+'+#DIG-^:u+ܫאMwujsw_|`񳟛=s#nǿ}~VczFƳgSO>2)|swɧLo}wãc/ٚ>{ygx;d`|\ga62XդkoR({*tVxr4z ƦYʼ OI $bMm ҽ!MGaCuB@gvT܆euNb Eh=H~3D9oZ )D6c`h'L >6@N ">X-8e#k9qEx'xh \-!qi blCV=$/cr`ok"#@I ]kgq!)ت^BΠ/rudR-%+E7@uoTFJky^d<[C(v!= mX_L!A*3ؐ:[kh6ppP4G聆Kb? #= : TN]O1U٨#_XCPYpP % 2VڄH弃v [phM-p2B7 Fh# ʹA<~CLjAda~4fw"A/0pl-wv!\qXD%<|"L8I^Z&Գ3t|nVz7B۠ev$-4jR) R/.ameᤁlڄ`R*֛MԶVPʔPv- ֘0pЏynw #FBH)Q[S EXhˮdBHn*ÆhyسkgQ& B fp'p- zABH0T`C)YX VlW,:6N.Ξ])y^0l{i(I@BvT'SEj(g_Mc4c~|oXs0`jz'Jx=.o5k߿bm?#8z`WwyH9?vK|6xÏ,zwUϻvi&я9t VVA ǩȥ +OxxCw \~M~;gQ5p5&0e鬏c^3Ps0;7 Var\BL Ǯ] 8{!' PpYҒT2wv?:3Pl`us/Ν[j~ ajΓY ҩ=X=~s +O>ʞ.%1=vbd.{=qтc43:M%R˜"@q6'aQLr d#liά)<82vX3)4mXPqzCqkO0$__=@a t0:Xr2AGEdPh=sfzjR8N&Hb)Iin  5Cz[Q+8!`bF4 Z35d[B_I!Ě5(`Pkgx]y<]H#W" ҹi4z~[7dGU׋~1Vn*yn^{  0PŅn:aIh4j`5`rrXЭȍ"h$ȩu$$J1_9n -m K* ȎD3+k9tzm@2Ɇ;͜ ~Wss})'8 DȆrUZ\$1M۫vʕX5pt8WcC y<=zf7s=;nmb~ /ߏ(H>WluaiR"tspK!'e.5뛼g|n ctI-su ;e!BO pў} lBQ,qh Fv1%Hy2 H]I~513d)ŬYJRRZ4Xk! dAn-Җei0)0cZmsza,a$g~S'NDirLDZRҬ5o'1Xkżg"`Ě5 Vq0,@"%e\fL z]O|o,;>On.˶fDQ`]ݺkL[?-VOqqP( tjR vsah@bO4";N#FFma`ddn ܌ǟXh!ka8alןj$7pžN%VWqhvO _h cL^sKв7Epa`b&26<'Q- co'IlaCLel!Om=mđ /q,^>| u+ 6Npv->pֻq<6yHēO9n&+!iaU (7(VLNz` m,)I@V N)u+ KjlģXmð a0tZjl Qy4:+"_!inpr(2p GOBaZen|qiנ/l0 r'A9NyFh(M$AʶݩL 0jX,13#Lkk裏C ) v(ml5>BS0Ɵ{#h:>rٿRmFx6l/0{>= _}iBuP00S {Nઋyu w?q+n߃+c~,[uT*SbmqdȬDae\|rl6Ϡ@n^'Fs~ZdP@}mk𕯁v}dReNRq2U IDATc6'_YJCShtBfS7\Ba8'XYdC7~5 .da4^egAyϭ ?)}X4@emNa.} ʷ0jdHka/-+~؅a2icN]2vE9ם">90025\u##9V 5DtjȱY)AL:0=N=I[^2|jf ZOaRT)Q@Yأ8i&<k|Ü(b~(+js{ mF?48g9|`z/ryXٲB:Rٌ  l Ծ&f2v.ff )w&@h4[(A}dG†Jm.f\@ՂmYp\l?ݱ#G^SJa9@J @<HusPH ah(C-ᱱCzC )X+ 72C'OaouhN#Y r],8~Α+;>zbruoGn(Iܽ@nԉ+/|\wM1H{꣘U`p_taHbB8֏f / }vMfH8495tѴ[ 6VjjX*+Į+bo2Μ?gϝZ !HokrhEyKi{RXZ܀04:_=iLշ%Ӕс=c|OԖWyjjz~B 0A5EB„Fɚ&v>&Oۏ/Xw}}}Nes9zɏ9wv_l' p|VF4PBy5SBZ)w.vjݵx hrz'Czx{v8$HRX/zϜ2a$ķzێ7Φ2m=:<x"P*ԮөLH F.aP# s 1V/6 [+Ȓ$АΎ t>XKspNL_k 9*<Im?/\(H%W%WNtPm3`ðB\O;ewFzz כm7/ŌSdJo}Gf.o-U#O=^v80|BB6{v:6ti.wIڵ ozًj:!t'zכ6{`R[dy>N]5{fM)H$% Ipnrnz͍`E{$fhN)Q.xMscyqYNfN4:bDc>qzNo:+t:a$ 5'&zV׶f b!+( `ôؐHGQq8It,@N,BV 0&IL۴@4 l5R GI$8 `K!Parck+zNJlnG{?}o:M!ČZoll8{^ׇkuU F^nEЊYJ Q"#;ގ]`bx:vwF3Ѐ$T#h~F,M|;&uț#v3Ȇ&X^Zg/pɣ\uλ,2"ø dJ&qAeWugӛ1J5K$#Al Mc7AGnƴm0`@HЀ*RcVfeUN\۞`H||3i"~C fv7?f75(z4M ̄O~MP.C՚3`ExKsj)>$~o-x'd Gy7=ll_xܸ) =sMg(/9nP^B$=C>rpwx+V{DDbo!*<1}'mv=AjG?7>0][9OhW_2h1(鱻v7qg7lי1^HEn>Wv-odF;* :XOkK+fٷr'tc-I){s@H< Οqhpxߍy\|.㑇lfUf@M{BVC_zjߌ˭5[V쐄0B5Q,u<*"Q0/s/౯]T-){J]%bvWPsW)~%O~r߯>hѾmuOc-[݉qPpOʹJ(?J؛ ny滒ݏ? >۰rX:w%oOAJ޹垘PE(]0H4xm{bB) V62b>y|ᇱ83tAbso?+[ܛqSao9Zw1=x8rg _r\F^>˘{El]٣~)P : rX둥k`8h!ikl_BjIlV׏Wůѣ(Kx"iv>~{%C/J~\c>lӧv: lUyin<O|X ~ Dv-s'`\^/C)& 5: b?r{sc0zb89ŭ'໿oܭGgO弿v ;l^2w† C Z $#0`L&qBapt Xtq@:zwvzxq,֠jRc"eqc;^ ZGgg/^{ѯh~}ld %|4$%  R\TD3h3߃g?!0}8>EQ5tZ8ȽmXۦ4:ƣU 6ηމ>6/ vy0[OObn.Ƶ18Эp n|mo=e;[v*ߞerޞ8}|*k5yO6^~AVWʪ[*,2$hV(w t6D@>MMdOS[T%"z3^oWU8*BkJ(X?<#O' _F qDiJo 0nwj3 "VRʢXٴϯ2N43?L-@N@ `(d3xv%HI%f:>B0&AW<6c8pCJ &r2Aʲ3=MG Zb2Cӄ d k̚B01 !xﰱ9&Ei8v^kMp[Apeɕ%L0M/@Lݽ,tEV psf{gp2e D5!VQYs=_HP8(% 0f "dXT $ 3* [}Q\ ABI7' *4Uit ,CF^r8 ,?:;|D=76]+Er+ +3xiwΠOxMp(KTeG"ԡ$mYXC!,.ͭ]4M4gz~c8@* 5wK>|T._~[s5JhDi_<(¼N.ZV֖pnOt@:gD{m/-hgJ A0I`sc F^O]ơSm8`Y4kPG/_ۏ0#}_?2jg?~l;T;Nb:d©3BRxKB|} ߙdxq]A~odu/n9mo6Zt!)spm4E>鯭VAbFbِׯ'\AUQ"Ig\H+e՝m\[_e`f-ݖG?Pj _H$&sx$Vz*Y xB*JkUm:pΔUҔN ca)qlrr᠄ ,$zdbHEfNssߔT0ᑗaD:i m\ BЈ@PׁY @ߴ-BوM7_߬}$XOƚDfCR=k [Z= W4Y{s ^zxq v_x0 B)0Ƹ_ՒE)zڞ"솨'=)9\ƒ_&L1ww+Z!OC+KoLIPcDn$И3~g?1+˜P;+ƒ: !&Ny`քRْ=J^xEgJN釾-\wQb;Y_M'ti^8sO~Uh6 #-#n7iI.ny:9&07!pֲZQ5 =ёǍ 8\Ju1rQ9jBqek{`Z9LY{[H`4NJyh!٢,kǘ$zP1Êb**,Pn@1j%!JKgI {1|2Q *(PQ@Da= bj !Z"A f=|7 QK(), " @x~cc8n !nsu3:A&u>k!j`e_x<}V{c'x<]x}߃>eĽyisuB?K(5+jmb)aG%hMqw %v#ƒ4|H?#?kG{~QC@a('(!{B$]uo_;y0aq?E@&hco'nM4 _‘(}dMOSwoo|(|/g?^ŧ|Y&yjZcUby#\ 5d՛ tAD 3G ;c>"cx;}x׷MPz_n{M v7C'Dr#ߩu1|rQ*B2m?śkML^(+c;sxjt%qV@1LaLpK(!Q%w""`gT(*8[ NKL'9tR8D[YHl@GH|8iDUjڃ] !ܬ<,,a ,(-PCj[M^ &7Bl yvg]MQt#,tzS}E+%3;_`xkޓ]N3,.mo>GKӌqbe :d4ZtiW§Q܀xӫN1Z%Q$NqCx_>OaI<eޣ~IݿRcP?sXx1p;uBЌק!6/tdQm S0 !nb5ۡV+{m _=^D '?2>TVo'ynWiO.w߃? @;/9tn=Fhd 2" 7ߺTuLwi:P%/GyCŦӪg.^t֤l^:cım+pރDFP\Ia6^FQȄ{U=H{4ɹ(NOn-F;~TMÖ̀ `%I@0h6b$'lHѨd!P<,,yXp{3D;t0KMNJ`⪬je^Z{.@PJ4g(RIHx];˳?=% ?UU"]e3¡5A-ﺟQ~hC/zFieV"z1ȉ[5q׿{Fsqǂkͦ[>ZEyEﰞ ޱعE1[܆F}$ p|#KL5n끼‘Cll7IlcAAQ@ zcTΠ^oh (mj PqҿE|y=e"XL>o.wM^j8w]eYsjn$,yis9ʦtkw)J_ aKcEe4 UzƲK9eR!% !i>FYdy%@ tM[$<|YɃAD |( ZvU^-4<< BAd)3PA zb2" W`o5a1ICpZ(hFf%pR`(Ay.UY/_9%0^R2kT(3Z 0y”U!"BHlfY@DFNrTT NJ"$u,& [Z<3B8Ȳ,$]c.b  B@MN-D-rQYOG(-"V!! P%jCAk'Q9@*rP6 <9T&rq,IQB3PxF4cOʲ Dn^iM/~ߋ^>Z,7[8w%(y͚8iw5DE80؇?ҥ~g9~8x<^ą-_ 5qvsmN^Q컋'ʻ~;9p1I~nF!3Hupa3W:m(Fir5?p䰭":!p@50^YlG%,yP4BF*m58b ܍# !Ҍ4Map9, eaZU߁2:cJa;HY#$b/fs5[JMp? v'~%+I5(wM0&{DFsKDQU>  P k8Tدw4PPqX*NjF\(7šG;,>2qҡfN󝈅֖t Eno_LB9dJc)Ǐj?q0R'Ƙ?WhB:쮯mq{7P`Lpjiz} $BR1՛Qi0adEP)p5@1LG ~[h(j-f}@hVTÈ%b2搰VpJT &D2acIñ :s6++ 12$+ 67d1IˊkG;t*L@D`XSf$|-3vF)k@vFp*ED&Zs1e"[҃@Dp0570MPc`=!Jdi$Ig':lZuƁn0Q˲b牅V 8(0Waa^U Z1S"x5ر+ow2M6aTөc'>}of7ʁJA>Y\p.dlOwh HI.NNϯH+q%PABXW%X9(A2&޼2G4„81}\ORK-,83\Nshq-YXo9HWEH5yԓVy^2-6ĵ&!_yS5);xjg_]c]TKta?^'g$*7BCYmm"&cA(g\~uQ&ݬDŽF6#JP%%EIʠjpiK(gQj8XTAh5䅅SL DY + fmXW7BHE Fz=0܌U(H0;L & P!0E TPAҤ /R@.jvrUYa 硷٤fuӧ bx!kLYQ͕j@P;w;=cin(./Xg&O.iW|9dIJCK ј^ BD1Lӡ;O&a_?e[:pt1ƨ"OCpuD'cFʌ{ p:N4ރK&b<Qu*(Ev^/vM722a>'o}9\6Dmn?y|Cvh('s`o7D pa}GS_'3tkřr ["$0,85_G06@'FҭQӁ [F='&I̲\Dfv(DBU aa>BX0.2H^Y!5- cد@FP@$ZV(/`c’ <]~SCUWI@T D'sQ!$ȇd -k a<-y1AY*0+HrH"SsLַk`G: tX^U⎆*jH0\UreiaxUK`* 7P P ٌBlµV'O/󅧮#Uu< 34L0ݕBy `M9;},CgG*oRJ@/:r]{ҫ|ǻӿ>DB#/r˘L 6PTLYra+ڞ'F[ whR,%]os^|N8y,\Q4+19J>Bv|8JS9=iWPc~׬Z =ޝ?!jdsozn 'j>+WDuھ{o R=`-&йĉV8č$N?J-n;w?o$Jo1Up(`>._qjz} J5˫[4)%9W=͍Wa&"hsA)G4J`0vHB -Tc<ك SBj9rV55a=DDuz/>bg#l 0)71wxqTg=7FN:D݀0b,tbHaxhc<3eeIDAT(iw?EYDEj٘QL^% ">rUi{Hkup!M䶄R ͭvRayyedv{EQB 4\k hC,{KP  `4~3?s\'MdrSɳg/& K],_wnv-ġ:e:O !GU9l^A.X3l8' ȒdR%[~ r-7CPDPr0S8%-]CO>uQjHJSUuo6._۾9H/_S,v/`zEQ=oWW7hm=W; *@b^;B$TUtVM5}ľoyϬXӺL7E>_|,:װA4.W f|JYc>~:d߾E|zp!iբ*\u \gM} &Wx}{}={{"%֒c*qe-Aj /"0i!|tg/g3?YD@ Ԋh;ߦU%(ʺAf[.C n܄psX 4,s ]҂5V߉%ې83x>WH( *Ұ3.\! Yn4X/\xᐹ1/ahժ$b V荺CKE548E1G(BA?N:,A9X&0*IENDB`F}FZq+k+kq;Rf H3~nM8pH.:G9wHM̦1KV֦Z jZk팆"!I) )IYɩx5KK՟^jsGBi9vf@Pm"9ab%JYc'LؖsVwFt]*z~ؖeE).,ϛ 7!*>I,f`ؙأƣw)W0t1~?GmvYElP(Y!U\+ԝHsS+j*,GJh{!]}'yf,E] 31SY ,łbEa4ƛ'h\ǍP]kuxÝy=wj33 a`Ljht;"xNx_k}P s6SR46blg>swqwʿYၬIENDB`1 -L:x 'x' PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9M x EPNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"GxKPNG  IHDRw=bKGD pHYs-ItIME :*AIDATHՕ[lTU9sLLN̴ h ʥ!FM$1h b&5AVI_ hbШB(&}b#m-X40u{x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME *|1IDAT8͒=LSa}_mjlDML\CB ] q`pE:8q89dttC j({/~4aapѳ=uhy|,5a:/"_wa|f3ptëW\vi!ޙ< @*rMs~\c-*†-P`B"Fh,3h(%m!MƘn! ^6)M6Et@ z>Y/OQ<ҋ # [ѶgۿXbMP:0,յmOmⱱ:). {B&Alb xv,_2q28pG>ptE"U;6Zu{0XW48t"(e}}L 8kK7:lƮ+4/P(3J=Έ uA/Jc#Z俈?:p.@IENDB`9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME$4 Y YIDAT8͒KTq?{Ό^gtPR$hcm 60EղjѪZQ !`RHrt|$83wBZp}=mǵc"1@s k*t9"\oaG)rMt#L#6(>BZq5K//ZkIcDdJeÚ:9],FRvyF]H%:8P("Ecu]S T.EY xn:Mcl" X2ROd|U3RU -a=c903}ʍXU, Jm4 s<1;oqx. .IX.M>W(듩+NL8Z 15I 0  eDn`]Nf6MΏP_[#*+˄Lk1Bv(>mxGPh3\ܱ6ti] `jYj(B\m4mIEoBS9/<2,૬F\:@L|}oZ~䖤p_䦟ԯx, ;U7%fs7m` KBh@V>;#7Q"MI`t8za<EӂzEƲ5xU$8rەj**y?D%( U ܖ-w2ѹy뗷 >Ud ˜5<+jB*skJdDx/,Ǧs-08.pt r " $@D!M\U_-Bc S+6d "$(ITl^LgϮH\ -H)I~D6-%UѩݽݸvK"IgVe\ BEjj47NiP>oCCcQJ #SQ"{0MN(q(Xɪ7M,Ӊ׾IENDB`? T,AxAPNG  IHDRw=IDATHoUsϹm] L$`RRi!PE4j>D-E6@ є6*CEԀPخOpνg}pdK[ei[YL0o`9 s|%;/q!@ be-b .I:˵䖳"Xlɲ3l݇qp\`.%p,8LnbU_ZtPgiD2ʢwͪUU5ۃc`k{;^>\D+>fSr/1p,x5{nC0]X+cc Qm ym}Սc$.x챉p)qp]UpjtN,ɢ_7#Pi{q$CA,*E4KHbWåݝ#C_42C {^?q96DªbBsS>3 Lo뀮{\0Oϙك'N()UΤ4gtx= }SL2mCP2 X^u lZ4n:F|cm.Oƾ=/vg3j޹=ؗЕїO߻p0@DLDg<+Rk6 Ʀ4ݍ=)P[&@NҲ'[2/plˏbPQB[si vكQ$:r>^bb6%S}˂S[[g/x[qekf&"7λdED)~uz)j|E):9U"!yB P%zty9hE >\cmlB"c׎N- |sZg&b( -So3<"K==ݳBUHb}0ZYu3RY4nHrBXC?@$N9(G 88Or%! mXMLwQ,yXYvѱI`+c P Vy_iXʅxIL]yXj0=t^ y} Ndokp{JDa>~@Yq\VT2},_9vВaҤtäΛ43}=1'Gzh0en#I39!FĀ1ch%\1M -ѧ_=!Kg):vOzpv`i9gϲ`y> %7o`|n ᅫPHblK&} _>E>v^6Ȋ.P0{/ ,"U`Yff2L +"P#@g<2jB2 S π IENDB`?$ ]]2x{PNG  IHDRw=bKGD pHYs  tIME%IDATH[l\gwn{cױdז@CRu4T*HUp RR" U. "'NI1bx޳{~HHHh4H3S'QWP`d@SV“{#ڵѱԧƗ9 l~޺ EOǻ|罨##O|IQWLyuR>o03kͿo/p]D>t3ނ|Ngvf )5,Z)ݲ%;DYRӸ Uɳ$-*Jd| 9 {{P]U55u}2̥DMAtթ燇 uRׇd7gl+:7Q</7oO7 ,!.Zq5֒_9y2elprDB;x}A&1=*X92 @y:ě"xSzq}Jli[KVb-Xʤ*[|ʽOn ~?:eyc*y}?{-0> l#h4wWx<;||YՕOoE=B-J.ƍ_C%uw| ,˦P(23=eY,^B[,OQU?Kޅt]kضMsEQq\!=>NVC4FLNN4Hufgg Jh Yò,~?_CQff(IP  :.ab$d ¼$IhZ-@UUUEE24ȲeY%&2L H`& !`|>ACGGz(CV$I=`tb EU-rHZs47Q:LE4D{&.U*t*( N֮[:iDxaFUdEaUP*||ڕOMɓoܾ?y9 J^ALf&zjuDQ`ǎﰴӧOضm={r<|s|q .H4Bz]*"/D|,P(̜;w~s#(2~7(jmۘiYXIHYf5mǎ{9˽JvrWF~z,)QVm>%iB!x^ ԩSG++WLoٲ|,ANʲ͛77L6?:s˲χ(..tʶT˭cR$ 5e2%RiK,ڲeD`SSq2SSS7?D"qǝ'0 !|><==xvvv8i$zRdEQ ?D"#D"Q2|_,}sssj\i* I(Jj6i  9pIENDB`.0 zzzxgxgPNG  IHDRw=.IDATHoS?>'>Nl'FnTi/ƴ &mڥ۴M(-P`@D[krȊP dI_`Dp]gi떭Ç|+P,]K/m]-}}u]V?񐮟سgϦXp(46.:  x l޺Vǹu:X>")x,|G<'O`llEQ45m: .2y b=,5GcK_+ϑCNN܌u]ڢQ:SIC:=Fnj q0 b@Oo/ [:HxHPNG  IHDRw=IDATHk$U?f̤g4$t@I Qi .tsXu'=+d^earr:IF4v ɌF҉vd }[ZT~&"_wG5۪[_@uddZtqqQ/aU7xcnn\(0 '_b?p_>33CZ- u]<xcccFGGZFѠn3;; pI,LOO8&"X[[cww(EdƘ&&&Rٹ "DIx\"2SV_XkY__wXk<ɝGyAz?u K+g"18-Z70dooJbϪDQD@UCkfH1檈BZ0$߁flvt: ³=FCQD]a-J |9#\rrYuApYD.I:^ޗ!Cee_鱫"2o" /@izUDYdzD`$u/,Ick\?έ#y-iTuX9 z{?em0c"P!0E֏@(]@;٫JLEXD=( NVd]oׁFSU΄=WC<UL#ތ^IENDB`9( WW%NxmPNG  IHDRw=bKGD pHYs  tIME% 9IDATHǥnD:1iz=FP5gT H*4M8jv<.Yд2H{;7> l ײp0~>tcz_jpR W|*aH*"Ym|]BP-Jh4V`0R~y*qwvv,V#NOOǬcS`/2nyѐRJ X, J>90j\\\4ft:%ɬOonnަQ@۫+|0mw=Eqfv<Nsn(H$-e8/l61H)O>7^ahQJi-LRdd2fs {޷A @a ! ZXB/Rp8}<=})( 50 Z T|@!0RJ)1'LWot@a"ZD"p~}Qnp8Q?/ !'1ih b΅lRd.\ZEz/@k]Bc:"ZHZ?u`b㡡C=G͊-hV╵kyWq |1 2oWjOt3#| oLBx5B2ioJl^4rS˸>bU~YWs[8 z`- lά4:ߔw ]:HDbtوȒL![ł]:P…LY_oL&ȌK xksv̝ɀ4dǮ;3ybw}OGvd@8\^| ܙ P!ˌM@BѮ}Ka ʋohd0tj E9.K0`Z,ה6ǫ$cַKk#g2uAm+0>,d:5Yɗrg>U8+S֣X=?3NF++v͙s;2i'.<W֮( _bsvٱ/p Ng0Y$0a1z!S &Fdc89-+LZoMdS>uQR+nrU<"Bt$1۬$GPӗ-~w;%L6kv;ʉIENDB`8: qfx!PNG  IHDR& ~d bKGD pHYsodtIME t45kIDATXõX]l[g~ǩ&iuqUqM?C0UBӰMCii7H;Ґ`$v:6 R.FK`Ij$M8c;^.xbu{gsޟy2 D^T/-JD4Myrh8 94 1iV)ăZv #nBUջBBwV"&2 5B&0+еSw̷d"F,mb ev!]{^^D 2iςuCmۮ 2ˁmLY}VTluWۣr l۞aRn_Gf$LPJ/Cv~f| M ?>('"n*@!S~#0B0p;u>MY/;`-ھ{G?9P5p@KO;*˥CF0PH/ñF."Z G Vbd,@-P(7j6S$=@/63݈ 8(4T0 enepWoŠ{̦3Vz6 wJ\_ɥ|q2:T]yo NrZt- 7J]!W 95==Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME .4g-IDAT8˕]LU[ZM?llj@t#0YnpƘfwr fi8e&Ʃ|l -+m߾^ 3sr_y#(³fPܹ#>(Ãq49s`0l7k A+кYO@\E:fM>Iӝb|Av.-/<ۂnP(vKKH""MM8rxfs=8t]'Or%vԲ:wv<8{=jZUUUEgg'}}}RWWNE)wttv>R&B,*׮]C5ju>h2W&ar P]UM:&H$X,JlZEhhs㣟R˃ZVVVjx}>@!:%JQz3t wwuuڍfgy9 ? E0]nss?333 EQ٬ zT"`P~l7L& $e2jjjK2. ͆$X^^&!'IȲJ"ɠѨo9+FG&3\SN:jR]]MP$L JERdñ,;C>?NͅKxQTa0$ KEŢLfupH$Yueۮ߇ߦgf奥e(EՂ&%4;`~q|4M(淃Oݻ{[ʭ݌'bH*#( fBd3Y1&Y?pw^Pek x<67lӹdYϝ;T9 IENDB` ^^ {x{PNG  IHDRĴl; OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATx4KLufv,tPC( !шiIMIfZ/=4ML؋MxhZ< .,2=uwaewI|)G[6BR(U=QdV[o>5*+RG/t=LߟqyL.N_*d9?|ԧJ: ,e3aYΞ:k`{+OI%MN>yHдjBhZ"ǢSd׷m Non*nX&cb] GF?t}n(躀BPXf *]F#9X W끽nI ߼/klN$wP\:qwv(+Ky.?Wp VDE(QkΞ_G69j7V)9._ 2l0_ĚPu?EkUIENDB`"D kknxnPNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zԯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxD[h[u.'Iڤ7zYڹծvkcÂd->'烾0|Qal+Zu)mmKdINN/xoP*h5 nmP06m'DKZBҳF1- Eq_ߑSP>'f:- k;G\#k1|Gl(:ַhfN⛟fH&Mj$v}4 "Zsު__ɎcV!/vX(8-+8BZ8H:+_̂K7Huwvf5~?Y],Z\ dۢ}{hjh"X\*m&ݙ*7+MAvFp? Ձ{:=Z7ZE9*|3S4o$$ H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%[}׾6guܩ,i(Op'ol:ۢ< ?`Hm,26;Eunbw...x.i B (M [xCjlT,17EZX{#OXq`ok #@UD5њ\.]ەJlvi~` DnJCH21d/dXiI2^e њB@ ]W)|DkP-BA"k7[vkVR~e1M4C|`VP_7Aã^B0x~Kٖ9Zc(DSZ #Q ^&-T$uĶ MPAJ  F{$hfN#&\uiS(APFtϡE>6<$vZͷ P[IU ѺhzFzҨd gچ# VběYc`/" {e}9oFiP:xȞ{svz F8bmcfn%Ţ1 F N;`ƚFk6lm_صm7p=☎PCe+"hz >4*ĻzL{lx@߮oko`a!B*&N0 XZZ"SVADg?Cog>>+<8;GscŠK,74Lj"\|Dr`[/]LNC#;_H؝iVڒ.E*RBݧ`,zZ^e]пGюׇnOI)L%䋌OegΝyy~ryW_ז=!uzPj3A|F\o/шIENDB`.~ zz_!Bx3PNG  IHDRabKGD pHYs  tIME ، xPNG  IHDRw=IDATHm\Uޙ3;]tnE[$m6~@bHP 4ИR V]P?ňC 4 6FbhL0!&Fj-v̝̾{y0ۭmIν99y<(zM]7nz0ᕫِ{%=T-_ھg玍kH(b,>66sR̍DsWqyˣo0&2^TD&"g>YLD^?)ډ5pS/=_ܖFjPJŕjN -EOfMuԡ~~rD0`%MZu%A.Mi}kBOٸ.E5\4pHu|zeeشs].|xo~RzY V_|/uu(XRWfH%\^dHéEFA+o@$[HYIDAT8mML[u^飅BR>€i]â&x͖mO^\"yǖR`J{}{'G4/GCNyD"RnnX㿞^ziCo__YV6,2+%e>5T=l&G>9wi7VIW%y(*+ǺC>8Ue>⟎oパ-0;T@![$VG{.osvl)=bKeNr3!*=\#ֹ6'Ighj 6:3qN<~1C_ KZЉ0FRP Yc{%[/<Úp{cK;[ѨQېR)JE);6ww)%m{j:{;{ToNpd *W@Hɐ+H(hʠv1A)}YڦbN [XM~&e#vW[.^k[PwUs* Bk@Ѽ(BVPi<[Kp8r^jd:9FrmE}'ߟJtǿZQ5En<:eǃLXdרr)"~Q]WG\`(CWG_:U-J9+J_A{@k 3DFGԧӭG>NF>8s;.wO[+JgY*[Ny'zoճ3SіV*Bv3go0.7uIENDB`mUudRhl{͋粸vMH)i6l% 9_2$5f} $K^ȢeOt}05&4 )$B " B j S%zt+9{$kVov \0>&b8s9}EŪ~z}<}UC іʭ+@Oͯ+EMh[,ifJ9,e{Xj> RD,}WXXKx>z$ܥ CW5Jc E:1FjuAYB0MX³Kx^%K,n 󼫺@3%kx2eĨB"wOd\^6/+uY:f7` tTX)k={xdR)V@@E K %qYYξ5`@@z PŠVزc?ϼ\#zs~(h!:QsVdGG^i_Ѹ ] P il8бI-2 Zd f3-"ӓWH\:Wa: I@W| kus)4 t 0haL&M *N=?W~1|8/#`:9=ZA !^8_/ nH"~ď_@C{zV=8Nq Dd2I8FJ8LOO*PXkzM[fN_ 3ဠ԰,\nd\Hz\xWGy }^?f&VM TK*y`Yܙ?'Yn"ҳO}{I_W"AGB NC*W`l"u)uq l>ЭǢفµW*ۭlIENDB`0 g#Rx+PNG  IHDRabKGD pHYs  tIMEۋy"vxPNG  IHDRw=IDATHmTW{g̾uw]`JX(nijlbmR$EAԥ&~1XRI&HӴI,!Y2 };a.'y={3!6.׈~& w tJl+5|ko% Du_ؼH$cB,'dN{OɱAJynO<쿌(5VV*UVj(+uѳJm|o\5/;|;~5&Q6@)`A ̯ce|?~WT@:X:T̥CAD02݇~t@4m/??bibgWH&P|NBq$ g>(r_0ĆкBƻ$3;=\ʔ:C#|EQr9anaIDAT8mMhu33nv5ƶD#֏jkKcEՂ"B&HKTAAKKZ0zPZ/JSM&i4dggwv!m^x{%Ibی>>%ʷkf^7]:葞w%.Od+7e1b:-D|,:,D>P G8 Z;?~ -])3XRP]o}FHw70莶JNj E=7!UN~&@䏫l^PXeH,LAd5RPPBcOI{=ٳwo\IiA'vQ2kϿRsdN^#iFfAudY#XF{(.mnЗ7[8(u>ZɖNMHgdѼVu dR,Z*OZ 0*R/B@z$I"/\^ \ZLh-NsX+k*b]$Ii^3,YׄJ5܁ަxK2j!CjB]`9 x @s52*_|}1ny$<~4Ï  oj VByšogƇVlF`ū*- d#2*WwOt.x6']ځ6 FŶA}}=v-kwFw~jGwcuxTz[>|z?c'&|$RHgsSSGl%Ir51'\g]?Zvs)UIENDB`5nݠ%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zިۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxDMlSZ붾uC l- fW?A!zbO4LԃCֹ :v[__ھE;Ul%Rj9{k(S0 m}o}5BPA@j9ʡ^ٹ[Z@@JewO"1Ʒ]vƮտx$aUGNǯ]oS1+ - r[3PY.^% IGA[Q><@b7"%Dh'd~9c˅qF$J'|Iû X979|f)b: "cc [PMRCފeKm;^LQ.2f7Q0JUGXWhtJt+WQSh߮'d9$I.zۈWq;w 5+^0~'2(Zaю>o{Q0ս^.NSnUDEQbb~0{??{%" jՙbԭ_UٟWdƿNIENDB` _<%|x sb``p  $?ORAN ɼrؒ]";,,f`ŒxK<}]oq2 Jq Yx8XNN8С_v׿.ztMYx>7^ ӆF `mxlEN}'`tsY{66 $zxzPNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G s sI(@x sb``p  $RlI. Ap品" 0kH{+m6fv>E_B%%y% E%) % |@E+<]C;O55 ߸ֳ <%CCݱG66s?\bg5?`[0܀%8Y8 Ey8XNNX `;r~[kJ( ky~\9_ %OC:.GT'^i89SMOAKRfsD j eSBB.H N+ x sb``p  $?ORAN ɼrؒ]'E8 <">0܀%8YT8fitq 8@ IJQ_mٿLZ 'p[n I>gIkӽBꙖel;w [+k<]\9%4`b)@x sb``p  $RlI. Ap品" 0kH{+m6fv!9[$K\#JssSJRKRS3K2=}ā<]C5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\k䗖XHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F*IDATxڬn0V6@8OPV!ud )s.(Zt4"{I@(p$iz;\sHߗ{<Yw~ \9{]Lᜣ( xJ Qa:o%X 5I;lá2~! U% 91#$IoմgAÚF#elwKE^ͽ$e+UB@$h=@5Ћ-1:|8?n4h [[}JXCъOӣohucu2`M~ $D}AA96LSDq&ϿR]#6"̢`79H"rhGt>\|]0cPNSUk-y˭'/h6C'|css}-0Q𥓽Q56,=r [ \_]-% 6NA jes75KhIENDB`6 j-Xx(PNG  IHDRw= pHYs  tIME (/D MtEXtCommentCreated with GIMPWQIDATHՖ@kH.%-|()V),R"-6Y7?=p | ̹3Lo"H""[DT YxtހEOqQiZuu]kYFQ c2h+@0Ԣ(QEa:Ȫ́yo܀y` h8ve`heO,s} vfwZg+n ]W< #PU>it/To^#p5Sk[kv㸓`$dd=hA| @\^CƲ:CIENDB`0",H x PNG  IHDRw= pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`lJ)0'[Rvo̳z#FA[L}M5J]$hF"mhדCD\5:|tgJK=1.uxMvg}&Y|*12a ]0 +*@#yEҥ̾~uF+Whx3RU(IIi]9^+cif޺šx(lHBDǀ$TvĠOP,/rSBEHl0IQ;;T^Td(gs%Nw[Yg'?!4LH&IVڥ@lg/^w~vba&թ0ha@\e$GK7_4^g1zv J#$ Bpѧi pk<'ܢ_LIB.2yHAǡKa>Ͳ y4̽Dmńto1^ψmv0)(-UpVêe/ᎎ_dN*PV%/ǀdINYq-3Av L  j1_DϜvxr'94R4^0(RM k]˒yΩ>^8;;˩v tV,<\K~M&=bPStyHS.Ps |07GPt9Fhnߣhd:Iڍ,ݦaA1Ӹz:Dǭ>AXDCt RB 3 E[$Kh@ji1uo^·FI^@KÏ~FH/Y9KւEt"(=T:2Gh8vkqE??4ap>ݵbAgސ95a"Jg HHQdc|99WB7nPQőf(2Ylvo9:)Eq/_&oDWB+P =dgS:wRQ+T"qݯε;WiCO3tpTy4tLĬUA.O<xaID!6LҹW7 4c=*K)#J[i) / NppCJ;$) @ hCB1]|ýL)O@';H1 h߄Ife"WrtxB @90y *f _]x ?'uJ> Iζ4.Ko_!ƈ$B~f3YNvkAɨ(FO tknh- QzaS~LBIL悐FqO~Sy}TAyJ D4x hBPI{E^W0k D!T`B}n6 @#7 v&xRl) V> r~pD yf =q|'<~u@Q#b{dz8Ezc:w)HXA- w3 >k"^/,"qE @*A[x?b>`=-ēj)a9:qG|XX1!Aa (Q_.$ PJh;ps _9>չ?$Z0 2o'虳Ơ$G\L/XBΥD ĈDM$8=:z.-Y_\b=\z+ 3:j D눩ƫH~WtIENDB`3 ##W/2x sb``p  $RlI. Ap品" 0kH{+m.n~c*q@!׈ԼĒ̒ wO߀F>qF}Oo5;W0w<0B%cgy?1{M"Ϣ)vơI6(^%z clq?Y2^O\j4]cgK3izüeKcܙس&'0-wpKPbO]v?+YYy 9i}~ceۼ(ojecͰx䇌 ׷ζfxҐo .ڲ1xp]wwSY[1dO_gpu Ykw; ɯ) ;r.h x PNG  IHDR szzsRGBbKGD pHYs  tIME16)tEXtCommentCreated with GIMPW :IDATXŗKuTIݒmg`(vC1xc2C!}6I.0lsH gA-%C~WwuwW}eQhF.\>>8?{_21FŐ)BЖ$jdDA eXI}$h=#CD1N9Oqh "e0i>'%Yxݻ8bdZ$B*͉a (Q 5=!CPq]s;l[LŏkI]J C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIMEFiIDAT8˵OlEƿy3:vݤud$—[H4BK UHE*rR N#D O zM"8Q,T*mi+GwkwC(ny};Oy)pA886؟wrFq(iځuuY:^w]w @0 |+fff lKid#@ŋʶ8i"u)JX5MJr'n_z٫R7ϣ9:jj"*q6+J޿˂ X pҲ׻ϿFR|1V-wMA?uS"*&l{} @'677ϵ'8% AZ8vX&{8[_RʕE066X, J/_ТRPlhZ0 ? Ji)nApzoG"0,"%R&Yw?rxڶa) cv(@Dj\$Np1&+NaznBjjU 4ͬD49qe:y8Nsޭxgggih $> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)Zk+?>󪪪*UT-˂h 4-] %0o\ܾ}>_.R̙(//0UfX]_^Q+++X4( 2t:- )%8 JHMx<Yie˖Öeykma5igp8<v|%0`>킔h>z_i~?^/~ 56~P"gr!{cJW<G08@ oBX!''uk?D"h, ۶A0pa`hh#rRܮX,aR[PJ&p8R$R2 ּr((|hҲx,(/Y:A\.F"nxllcР*(%S _P" #^(?xs~5<^U%% , c!cGOrO`ddh8l9*3DmCuTm#L |F)FGGi:ȴ3gφ^RL[G2}}!%/S)%4MGW?dBJ n1ŕz,YR%`AUU %ΜN<BȂ͛7w۷%DΟ6Mؓ6k\xa(//{g|[Z!kZkR\ @cSSӕ+WğҥM.xvo=qXft:.\dCaȳgJB qM댮0cGA2f_7 LR{/ X^rIENDB` 1(xPNG  IHDRw=IDATHU[lTU]1w*,4~DjPGALy}@`h)3 twLy;9c}>{Cx^44487l@>WZU\ H){Q큃X4&ɔf~ v9`ss;w~ XԺsE!BH~ys^Dze­K;::2HvBokx( ϟ?*.~՚N`p8x'D+LBB`&$;`a, a4MH ؖ 4]TU]iB`}R( (`r[ &2PxPNG  IHDRo pHYsodtIME  pIDAT8;KAlkV MD%rE"Ei.Z"*6 .0эs#&n 9͙s94M)% 7z]R !A\k|WwNPЀA vۈ% 榨VSS2qq|312ϫ9i*Dl;El&o4{eyϙ ؘ6I$ait4.AeZ^~:8gg}RJJgggĶEBA tGdxloc46t$"e=׃h,u ygkKY<` SZx^'f"])赇ѵ>?HUX3 aA 鵧>L$tzȀJ K٤%"IENDB`6R q3f^x^PNG  IHDRw=bKGD pHYsodtIME IxtIDATHǵAKQ49 *P,l< `7?A"A=yDsm=='- ^K٘{=4̛R)yjy#J%,Fl6u  Odo7G>:B*pHONЙ bLw}F&ރ)jp]osx__m 9&[߮WYhC.;E.;5ѧI>OBm)=tEiZZºheD޿˖f]]/\@?{FivϿ,@t3#G)^XTx{z hy*wP@8U0ZR|BͶf6h9?OeV7_q}Q`YKKH<[g@,@Ldry,za᫘* D%B~Max^-Xz1JxQ`WLץK 0"Bگ5q+5>8 n"GXWqZ%\\?c!Zz^0y Wٲx[|߳SUA{ձ1ܻw m`PJ;KdmP[پ}Q28ղ8'O޾hFg4B/FÀjSwFבW"zf1Y1\K{7@Od|}źgYYALμI8Z3JA9^O%p]|ۦdۈRUp Q:56\.'S)y'IENDB`c` m5^ZxZPNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<IDAT8˵NZQy8DF NJ5XBр/DiEmAD0@Դ8Ҵ% Y@41_go,9'(ٹ-;5Cc-^؊֐X >څտN~1ՅW v\N)i7mp- $t+@UVlf0˼߂|@%#ZDD>U㮤##Lz(27ύ > YAW _yydzr7<B8WEeSO`J\''A9-K0BFg}5Հ# w !zBq7˅+đ6s۔CeTH`9ܷyhvע)DH&TiHH9KI$ mֵL\i9IENDB`F s6j`x`PNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<IDAT8˵ORq;Es~Vh7D i)%FW;y ֋lENɜ&UgWZAd:{>sΑd`˚囒}06HWz*``ܶ+z>"Y HE# ]|zE^`%bŢvq<ߎ!l;;qOud_W!D0_"-IJx - tn$%!?[ؕҲגm8UޜBHÝu{N*Aƍck쿞&rPPz>2I)3A.uFk4KܖA.qsjw߈`LwЃK$H wh5G0zg'hcA` 1?1mR"@Qɩ`h70ɒpGZupvUO$M c'qCGH L+@Tk?FEkҼ갺|IENDB`=3Ԩ@{ L+Np{^pGHgEF&NːPc[jv}^P6_x7>?~䶮-~FP qqPlFLIoD{3A}ö2FudaiBvt6U0Ǐa\ M`֧J$4bP$ J {3~-)qz^>;2EJ\돌y-qhX0mCyR TPGU[W"?ϔ~'hzOZmO-].X~,2K T`#,[aŇϧ) |'ӽzoZN-Cd, BTYRF ۏNLgzErpZU]U>f㐑a 4dE((pab*MjU/Nkqe_Wx: *I_! t64j#j 3Y\gdNW¾NU_`"s 7ZP@քU;P^ i"QLΔIw/$s.-Sv]Nm6r"LD׵Jy69T:I"\fNF!; h YQ(ʸ8[|$o,tngRQ87G  YMoabNoXzFI$e 4 /ka鿒"N#IfKʹhDn}Jvat&#V<ΦseU'!R,F,Tx$!:8"92q.Pؾ1`xQVnIGiN{u*ʚ54(}Pgik{_FG/}vyArnl\Dga|ޫ]Y[-.;L7LDoMZWuZz oxUlb1IENDB` Q7&>x>PNG  IHDRw=bKGD pHYsgRtIME&IDATHǭkl[9>$؎رQδi!)Ф^DĆ&ƇNhb`E"- DYHRh!ВigvnN|)QҫGzO+ön65W]g -޿g⍧Rg 'c0B3vNNˋgz`:ݶ}ݞ<ϧqC_6ƒgf)Zۺ܄%X`Nr&tAQ,K 6EfUiU-mI7O\\gEUoBQ'?ȧkCAJ)u4LJ{S]dzr魜$^mr3XaC So*Wyle)skWpm99^f4(OAkUԡ|֖rvj"%Znٶȱhk]T\ p )U pd Ρ2ϠVvьyn1!&b⣇KrJ5݉nzy1wkO&8]N7)vNKBu!$ ɤjJe͹SIv]CYe)I`2'/aLF$ᬤmil{У"ozN$#4"ĞG{eh9Ea^OЉkGC\1{`^_[˫x$lnTȬb;H'MR5N^_C8)qf?xӷWڞ3=<u)LJ%z.xnxigrEۗ>*vTjRpDDGWTBQqY6t2:@܄Tbm08yLZ9Wٳ& @nJT,3kP+)hO@EEr}g@& _B{: ՑM:55:1+dL5rĠV7w\ :Zov 2؋vxn xH @G,07nYjN7nw&ח:r_T8F]2*i-ojγ4ifV7 IENDB`Z )9VxPNG  IHDRw=bKGDC pHYs  tIME4 4TwIDATHǝoUU{rE"%6"bK}%jtk`2фCcX` TZnIBK_MsspnBd׷[Q֧ٓK׮yjݵ+A* ӷnhnn)8WWo] ڲ5,IͿHiæ- .@38j x PNG  IHDRw=bKGD pHYsgRtIME $6IDATHǭU{lSe}ݽ}l=`ma 8t Ȁ OAB&F@ Q'1F yE@A2k7h7mCQ`@wƏcB(+,S' _߶띕rEY`"THٰzy3 u.A.r@gj9%^_z@OWsr+Kf|pXa D^EX 3kw ) 玵g3h8h4$KCr674{2{o@Z=cHE3ۮ )jH" aԎs &A #,Id9O`<*;mF^.wV 'h60<’61bT5J7@ԄrGf.0TSGTHyL L B ("X@x/@!!bG5e@=o"y8( HC] n\r"ťl؁j s$Zcff'Osf=}û Z% b=sQڸ48=6>[G9@BADpBl!ZnO$*y퍷%V&ҹE-ADj2l:2({{|$ӷ}UK^9Ԓ\_R֬]:=9Bssj~ZA&nFߠq2$޹sRӓә.JZjzJdZ} Ѿ9;wpmd2>qTH$Ɏ)c!PjA).69D>tvlkg###8~d0 |Tq804Ej4o|O/w.{am8FΜ9×_͹9"لA.ek&vH|CGڵQ^yE*֚Uz)6IЬ[@lyw0OM,!xRlg-ZƤ`)_?QJZK[jc8IsZB  f߾= ^ȑ>x ZD8Tfzx }}ZV<uCB HyGEDQ\c0pҭ{ 2`hp%uK ק7nؠv Tt:U[|^Gڲi換K[6cMkBp}6JkTb%W?ũSH N!AC;5=]C쩨9Gc?_EH3) Ҍ7|8IԦ.[̜t_N| MÔs1y g^̌~sNDWAׄצ@ӧur2yp)c5jYw~WwXUf̲% ?Q1M ~.Ul6cpCBGT$A$Ȳ 0pر/|߿w^I就EA$A$4 d2ܼy1pAA^ǹs~WF#)@,{,Ba L&@)8jBZ Bp8u[`Y7*f`-x,+ ~:9GWW666`۶[]oooG @*J@^FTU}?a681H&( ζ뭳&!3UUeY~{{{`/k4xJ2SJBH(|F?4Ϳ溮ZVZ__뗅ƮI^?xosj5W(~+?2BJOi#heyB[,kݲ.y70IENDB`z! `=,x sb``p < $Jc) w'ud^9lI. Ap品" 0kPו2;B%%y% E%) % |@E=]C4Oh rֺiOYN>užvU bK Gt m|f Ηܡ.:{g[\ݦd{ޓf}vƦvWg)2qsӥ^ gt|W9aNxmZYr&źPg kOs[ W>?x sb``p < $Jc) w'ud^9lI. Ap品" 0kPוWdkDs~nnj^ sQjbIjByfIo@x#8*nOS'n: ҺrK%"1OL]u,Ly|QIпLr-5QZKȅ &ȴ.mMeVsO.?u)uOި}㰿me W*tY_:q9TbU;^)ԞZ>j;)~=̠s=U$Y8oSvpmޥp/\ްjShڀ>_)%3(tۼ6S|?[dSkONx sb``p < $Jc) w'ud^9lI. Ap品" 0kPוH'[PH59?775(5$5E<$C7 O苧c \ﯙ3KClA&qwnvܜjҡoȟ%Li^$eEfUgg_Ǘp4fje)5ο7<_y澋ç uBmqfDá_c[-~JO+gj_ۿ+o9Mӈ!Ý-]5.I4ȯjն†/wWm|MϫEZ7>[ݰzOLʬw6<}> ~.|J&|3?kkJ~nݼp ,@1@U1T#M=)+ /^{|ۯ0༣<rΜ>ʨ8O(;fuwرc; ~SO9u4;gytG~:{vb]๣Gٸw߯ivUH{Pk)۔s_a'*-B gWÇD#K. *ʧ!ٳ4\s*n&oRp1siZ~#grRo]ܪ9?شmum; fͬ@cNΜw7nbG@vxy@▵Ćd4Юb h#hTǎS<[q4!D& @:֭L,۸u(~C"d`"~5F Bϖ>r ^4_&O %LP #e t\šH;_cAD Bd GIdVQAلItD舴:N@gwDڙ(rv5>;}^JK'S6%V>h+F^!͖m(RJ8}3@AulfTUL ;"Xy(+/I`uYhTVNK a2SHjͥ_شhg[3M1P^^Ngל>{3O]%͒H/Yjjjjx!0`EkdcKtww~z{p wRYYJ(D|:.f K,8.A@o:.zd Z)Nrh׾Zؼl6Pk wsG<=uMr&N?o-hYfVIENDB` | ]]BBxsPNG  IHDRw=SIDATHݖOTA?1DN$\bbrl#LHJr w;c; Nw<)a >zVn 7#fF* w@$dA50U;1˯n{փf~tLJ29)9Wk4T1*ks}z ?a)u\w|3QByc2|N 9`Gɉ^!Ĩճ2i$TϿ7)KVjPU666qg01( 6l6d~~TH߬sOj%7PUO*\^40FtuwDN^̎"Ȉ(rLp_ ȱ;a"wp#&>:W|HVtXZ#`;t:xJtS'80ǃPd4_twRJA}L&j*rH DU.fխ5 3^eQAE%8E,pL t{&{󇏟IɲCM4M>UsJY).9jV'5mciل`IENDB`l' `CDx2PNG  IHDRw=bKGD pHYs  tIME "##ZIDATH핱kTAwI BiM * )R6EH (B gu6? (5ф"xݱxw]49}7;3_ gqc   4`6lUs˅+wؿq{ē$} 15Xcpr8{\§/ #5Qo$iYixn_l5qb W/aKC:IR։q!"8,\BE]Dlll^ ˱s j5'{1c!X,R*X^^:$SSSO>$֣jBF-5#Ն)T*"w2Ri 7 0(=MOOEz[DC03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATx\S[L=t2jiBNGnme"OHbu>l MOLc$^lDG0a,mƍ"z@;hzcK8'眜pX"V_%I\./MӗZ.r\LJh :HG_ح @ pB"*++˼suWgŖo'[ťy?k_*fX-Xo+9ʫ?>^^_d2 "ւ"pb&p'[\|y6,hp#p-, @zz:ͰΎ~}JGckji/).>>dm?`jj k+!bNwކ*] 򊊊:'8W܋n`>`fCCHJ>/sx84k2nv8ͪ soT»g{=( Ϟaq |aTQVʕ@4!pLNb7Xbx g$ F"#Wڡfi80D"Sc7MQ P)B[=\R\y8D,]yxW{/& H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%4+5 MLv};>:=2?~*q   @^78<\su),_X7`ag_>sGa.)Ywv8eW|:ٻW+O0?}|PaժH*7զ/F2zrK WojBԜw [x==B Ԣ}[4 Kv CE#5'C<ćNQYoCEncB8A :wĂ4 F3"D1Y%J'5dK,">DW"u.-ד$wFz%fS9)^ lMp˜+^`Jn#!`spN;$pϚq_#&&x9FQhqqd0!T ި's*j=n}=zQ~"i``וmֱhmllT"%D&n5=Kh=|{>ߴXّYfwȯ]!oLoZYsir? 쿏;fw"ThȢYf17{>΍.&&_Oy}}ü09 j#O/bdA"rNtź{5aݴ˘{c%\F Fw(y=lܑl%IzCa)g8SjTqur}[-/ȿ ,ne!:#z%b<#l-("> Z/a1.($(%z,8qJlNt!f ٰ#xݥYPCT\$\e1#mԚ?Ny`u ~4Sd ZdΤAw?}z#trmcD+8 _U48LJ9 !qYLH-QN%|E.AE|xG5ڤַE;RomuXwMߏ#TG~4AО%h[==Dd\͍oPRNΒڊ8dEH s}(ŁF\SCWNffb8k#;RrBj1N$`3צƬ܌}FT|YQӽQRBcw T<U"|9#|a- GHw 5l$\9r,"E*)1AVPf}niD05.h1"DXlC_.Dp,$%vGBDNU͜.jĐ($) 1){N<+aȒ$ s)js\\NLyv3U$Akygv %r;ʊ})C)";.ת眂G'&Y G猛t]ؕ恳Z:O+S+g)D~_TFeX#tWhGLDc6إN\fyi/ j=JA!@7ij %4#bꉸVaY:~efvkS%Յ? oUJh#_EY)E C3+@]䂲C kCBu:_Jtμ~}"UR8^O7tI1'_#YGL"V AcS-FK*`luN"vf0,KHA.ؿF*xb{)ょxGKHn}hYѲD9T5d I"ßJ⺺|?ׅ۬`^ ({,?`?eH]#?߇JD8F6aH`F RH/f>>C:̚"NJZ 1qr*J>uonɚ]ןKu͋'"tE{ǁƉ$183e*f$?]ff08xh}C@\?p-7P/qM:ĵ:D_Juu(/:v_֩^ZtV.DA<Ac m:rVb!R2hg:;jshMo[IbH jO&#ûw=\ьz'qG;,+?\HP@3F591V(TK xfiB]j/lpay׸52ͥM$ 4hÖAhgkr OuUceݡWGbGE d0OY5 r{AY [=}FvGj_Ƚ;~[֏Ld ,pK%ZtxHmAR!ᆧƤ-/f MY'I xu?xܙج`{U7ަZZrk(KS>LH'Q[Ҧv eDi@NoA_UͅVK7K_1si vNxOi+' H+Rhv[cˆs%'d>zf2$qc׽Yi[/l4]OAL[AZZO j F9}b0sD{7R#o@O'GꌞE>gijӽn-_3)dx^zt[_S^'KjGabs?{W%J XdLDIh)w*,/5N&҆/WGdsqJYFQ~,! +X  k g(E2{ @*YQ/xO;3B zWkӉ$Ȝ|J^hn{nlEn.&'f'6sOX Yk-H0~ۿO]+{0j1cZǠg Vx4𗷅{=K .SbAc~zrSxZ}2_]">*rbu$\4=(Ѹ 9ڲ7=, \-9ga Þ=_E6^xk9Ї;SEz29b6H [>! QSaEfySqJ$XZAR"Irϥlj@?aӯU环oǼar6cypTbzih$S;: ^['QCӾ[ڃVGܩ5$G~4{ 9~3s#F.2謤m}c&.5 `tqoo;yB]`=ؒޠByT 1WmJTN ֙yμz9 Z: ;$m"JhdTLK 6t V̗6L\+SSFkr%& zlvw)9ѿ-BVD̯՝Y=[Ԃk.4qx̭ҦfS͞[IG.S.l&hLHEr6F o.Uq@Zw$A>k!st #I7|,H-K~Te701d6Ɂن;]5i7k"y܅!tZ>=AMc63/-6Mψ͟&sIo3>TTF2+h 6(`jM(7{ei":( HMao{>,?RWG( ӷ?+eD]k-?Ք4ע( !859 ~I 74Hj|6r~r7qn>oT%Ž|]J+=e0uӮh r/EbUƸ=c{4 LBAĺن0$ְ>У%iHhuX˄ p1_1*WRT3WlrRAzBEDdm}&ݭ?g W?< 4ُX3zGQ" r<߬pg2,Ƃssklu;,B:F[WA,>{3Q!yj zQ4 :3 j+p։iy~I#lsn ]񠇦Y8}7\Z Se&5 ~/iJ-8SϐW jf=me+z ,]g?z\ZUF nzW (?8M )vꡲ'}1?e+#YӗA=o30ufj5:y3// Of~A<_oq8w@D'Ħ(2ήuUB4nWHG^GCtd l'ZwZ^7ęQX5/eٲ,aϘKi6ؕ`!Ł?4jÍI1:vɋJ)OI5'&9JR^ .Dh Nsc)۪jf+[ѩ0nHb&LW1?,!.K .#+tWJAhS(T8,ɪ$tb˄y""Z/%O ^cbش^^LDB^z(Yx! TjY4f _[t9h\3_ >nD;dTmh[!.=7~E2TY[O='])-X-!ٗ?Kl;~fC\u W۪p'n?YqҪFX2od`[&ę /wR U25j #%EDL*}SvH_D6#6&bX%$h>tj5 zneob?o r;;3[E)Ip*Ȧk1= s.az5\^7u$Qeiy%YNK vg 0 VQPbo^r3|o鶼maN\=.]ŐnL^mx#ŚͣzO2$aWJNGʖ $B" k/ZnjGFb '5ڐ͟7];J:~|JMfrg @& (P!O %sF-P̕f?)a|oD0Gr 濃:|pmeV ;bӶx[ܠ7pjVt6.Wҳ'gN [q;g}NLF[yQ1ù=͘F A !7Zn8rWaVS7$؍یĚYԳA)ғ3N<~9pE peO;$DZ, | WHAhN,m ;RbܲloœB44 | .l\[%P^:@tX=pe+gHËRG46S^Oո- =ʣ=i&o/iنCy$fȏp0s>{¥rP"MU` BHe#YZhabdS͗ ”nЗɻf&|ό7P7iDlNW%YJV7t0Ā+Xٜր,鲕 חXO xߺD3Q\TVw@L*g)VRキU #fce.ef !ij%vD+ˤ=(G'Y)95Agq<7 %b jGg]c7h!ړe$3IXS Bq'p+ˊ]LYE>{i mi*Э#pW~*BQ»,qEW@ +̬"2WObT.$2lVdEΉ C,`KO0 }.PbH$OiPKjb!C--WHQ*n:h򧤦,f |Ո9Wy7Ca+k`{㸍{P睲]hԷuC]t0v÷?4DiB2Xs?563s<>Ks N~ ?NSƸInscd_i!NtUtFk^T6->'ȕ3t/+67D. t{rmHS7mx"+#߈zVzD62>ht`҄ QmY Q_֢-cl-&.ԽK<W Qtd<>jGK{AVBk۳ak}9wk80of73L]]b_<keJ}Ÿv]R-A\܌N}QG"}/Sn͔vqpblm2dsb'g#TP4FO.Z[=4Kq><䏉mb!-)ܢP jM#1 RdElѢWl.S$>Uļå%ICjR$EU2=5'ORƜ@wGRᇹLlxQ-)|z/r/,=t(>F C9 ,k߬؉^AG\B Yrd2R~tOU jкVOs^+ Bկ}b-rLu.Y zY$11޶k 03F {k !k|_{uigžoXxyv&)qٗMÃR1 dO]&r$cZwP-;)BI@;bEr4oro/Ѷ8*]VMĺZTƨ;/| K(/=G]3QqqV:%ƘirE~+_֋!z01AEت[5C(Q1EٷcI>5.?~;=U^Ç]An@M(ՂE$՞dtbn) |>Jݱr\Za8jXE(vZϹ/ӷlU 9:aΊo1Dṛ.Hh|a +Λ@~3n""ӲX<Ɍ# Fd3~.vsuȻӜMP̑ڞdf܄=ߣ!@ i %h:kRqe4M&>!b^.uGiHMF*m z;t^5_kInU=cŸ79wIn vMR,È a +3ى z`-eՒ{8mlIrỸz;c3X&<-sTӕK F8 *[THLoh&C.}vOApKҐjϨkIP7ɨ͊~Xf>/tL8dimK6V R$GUp9ز\[C%ssFڠYC]hu, KK&M~z?kvܐyG_ߞa/UV}Q|Y貚"1[?mNAay:sz~v\;[߃ͼwX Y0B^^D9ڄ]M!41nUm!MKbd 98hzjOAaGߧHlu-(`8Y^N"^ QXU}MM75RӼ)?kQPvqd=!E< )=30CذϹ}\I$ >yB.=jV,f`U>=JqFV?Mvr4;:Z3뇷j8 +\jۿ ԧ ysv7Ox(Ԇm3ju nx8>h?AVIXš9Di L֝dH__L 9qW8_{0\ '(h+ة= 8n`$g+L_ BPQm 3P,J# }$ `yd%+jC.((,C1g'\S1X8L_UkۋnDIlޑ-}:SͤRx069C"ϫ^IW>"nmpC~7|_ӈ-wQ)nZ>Շa#%fjG( t]W<#!pc4"0ۑt6JxWMvE<*i,/Yݟ߳=˫L!PD̸>1̱D,O $6#TH:4yS8 L]")&\ж]|zva*Tm<?Y[`%Lvϓ|z,3/kʞTˆʡ HBI~-5'Pj_.VBvb;1\;IX׷#7ʹ~ayA .4ILX:kܖ2i6!78d I1M|4Yt| f_&;Xv%wG‚~wLGE؝X |NA)B99#ZΕhfT2|B*i n뮑C8w"./veF[&?r߫;ĈK &si('zݛ-Gr\ʟB27pڔ@GѝL7fT ^f؋%h@l7OT/CsD=yC|fbiAWQ9Ȯ )SR+HY" Wә9nmv%axt1_HGh37Ӄ~3]>Q3Nl.ߞÅMr)xG.Wx=ptL:oIG"^ܣ+ߟ( 3oY;9r v\ K(zlh$;;Bӑ5UE~xj; ̳NٝLGNeeJjrUҺxKqL`,LwhFPeE=`]fַVYJ6G')_AwŃܮM4^/Mj3omU%5U[nB;ߥ1S䅄yڳ1O*u00#|D!$P0iqV¢A2Ks9_xšDsF0 Y {s x##}d@?45Ƥ]oJ՚"']j<;*6±{Lwk, Ł6b /\ Zݕp-3wf"Rw ?=ٲ,3\X=63q]Kxd1ݚkufm|رmi˂Te3v̧_Bja̙P)$r:G ނI8+j,8 7a' [h8mSAF[hisZr P}U3DSJtt\{UwreЦ>k&[s!̞ANEwN-J*| PhjEk+G[,QJii"hr4AYh@0o& "kPL,[ZybSy#YU0EEFK5:=%aT0xp!OhНЖ8`p'}+Üj?t:-q8KgBjUu/Hˍ$qhYspA5S8~JfF 9X;N3TҘ36azG@tpr6oHkh Ilq(}3z鏼ނ7HB0'~O}?hy&Joof4W:m/Q !t#MW*~h8/䂕yl[Ǧd ]D# iQ-#!G|0u'!^>୮xV5/JL ̢Zc L`,f/V(YV*ʋ; ;z,K>@q@W+IfFX4VĎK뾕}3AIĄa[ऍMf()Ν1zֈ$k2ֻ$^/-6 R!4,([umO̗=y1aJ0@_שXfj"S+G4o31S.T"mrp:C/ ^SFK,riKAƏykwfG!@޿"m;`ƃۧU~[WwwR&ۻA`ŗXוL2,/ƐPM2-R@ )KqCzbA "tLOijfQ/,M#Y,'璜ymBmn)+6:q`VPq{!VS),iLm!ݝ=fyFss=Vb8IF! E̒[ G fZUC#ƈh[c<.⽊GјkFjPzY?҈*Pڬo51W cI,ĆD:Ml˽=M.!et>$2ETƀvד7@H8ySR7( ׾`4aּǣ{{3 F_wYܛ1?#v|3'ra.ow{ ٤)BHJYYzқ5҆0(3E]Lq:kԭDdO4l@(!i*U PJyC1=f)֑3y4Jtt(0ʳ ô5  F]XV$l(|+NF22[ #CruNKԓ2]PpRQ5uh|E v@ ƌ*x sOJ)|JSUTtØ%c OWvXY_ݟڟ*Yeŕҥ?+ dJ#D[篲u?_r/*׮lȝRkã#g1&4Pc9XI U }sLzlvR0W6>e٪xKMqyyXǜO^(0JT" @h{+ gkzIϊ`]]ˆC/S /ǡfiȒc:#6QxbNMMtiY@F $0TXT64Zc0tlnm*LSmg Qa 7@_'_`N˰+驳> ;JniN/-ɬ$ٓ3c 5qzzFHE E"\3`$]LT2@#v&M2T٩+h 1 _id /ly.WX80{U.i[1}{dEwo{Ow*1m{=gmF9hЙfb>߬K]/Xl$T%) <|X ]θ{Jd.3J;J1 ti|]Wt0KƵ-vy CGv.S΍\>dwˬn@Tit] `Š6¬{0p!>UX P|hz4¬9ṽ].dc\zaxF:yB{R Qb be2z {.U;>wXU4N}8㱄>v#hwE!oC1 pNLwbw0Piz(G'4w,&CM7jkC>ܽs/opٿpʣ txsl27Lv?ŗZy?,Co/lt/}y0/JNϫ)HxK2e36Rk Yo=.YauM0 m1 REr7?ġVTzUrVx@qbRLN*P}-7,+T7F\I*siNku,w&:P0ZE"'pe4FCaTg˞koG?d >d~zŗ>A3/p{o80ΩF5ݸy O#aZUtV{wi?O Z8J-nFogMϞ)_G/:o *=\1rDO RI&qTսrk|,= V'v"tPd6 IAcZj4#99eړ$,i,CZ,A{0@ Z!u=uUSHG5R׆lo  *ABChajfC g:gTfo ]7A>T-A$b)-8-ʠo"a>:ь(4ȣQDΖ䱀)c3rujOfx{') IDAT{ [W{Aу}ۼqhk iOEzn${[_ePbWJN&A{E zS5LJRK#/mRDA*mIlAWfEw9=tju]ldfcCRrjGɨDЏttb\4jn uBZ#p4 gOZNv¸V2pFP0*Q5Aͨaf\9F*55)`}OG=:4zᣢG>,u1z)CRP( 4z'f1|$#em&ykU08:F\"z٦# V>YD.]K@?)ʕdZeWc@""#m6f7ݤ )J3M 1 -,$HAfm FCH dlզ˛Jߵ-}&6@i{|v*m09mޠU Qwbid&j,sK1'p[T3:QJWa(+s n=OZ@Uxy$}NPnfX7c0&|Cdd{:i%S/4#iTN! Jd.Oyw U$#1~w*H2Zd#RAHS1SXdfJq`X?r-h{zdd"9r:RSz뵨.*qbH;T;-ܲWy#8vt(x?dl ) l㬐Ba{$Q?]ז8$s- :³V_Fi?CȖyN:'E j\%@R3*79n9RCzc"1֖37Y^5JUAg U f,E5lrdsdؙ ̴Y\7=LʔO,e暐 ѥD;+'p/ nSNgK|e! "`Bx%e@P,yʒKl P.['?kiPkL+q8ԥ37y* )fɌEٺIFf2LDqu!ɳB&IZX*I{2yɉdG9sNf~$f6/:!9[h&3=L~0J_rxfn/Y'H#+ ,(vpL%whAP,rowlF1H=q չ"g.h; x^oPn|z #9Td!wTlit3>( lv\'f1I1iS(d2l6m1~yEkK ~;<Zy99KӠN;_9ʙ)ENxtu֏<1iNƟM|ϳMWn6Qr Fpp/i~:.u޲I%2j͑Mf+X{&vb(SqN&00rԌo2iZRm&Ďѱn3@U>P7 1$L~a7(ٮUM\a).;^eUIwPGuOh-_5N[cEAHBѸG$רZ(upDedRdܻ#4=K,TW w~UytV..إP7p+W 'WF}7ziňޅ>do l2%k7=vp,K"&8IE83#g2'ᰓ/औX)2ݧJ9 Gez !Lİ TI>{wF'1V13__pDGI_܁p*'`t xBdz:K9+:Ymi!ԩx}\$gz3]v+p#Ar˝ݦ1D ϓ$t%gԦLP_zAU箰Z"Zc ( juQ2FQ"|\<7O=]4.O6:QCL}pyH'يiyT(Eɾu2_K q5K4bٿD4E#\ڸI8yX~os+D?3gF ts/^~=͗&_PUPڣR*Mn3& b#+ACGiRO6rs<˝ !~X%[GuR;^q?("$¼Np&Ur9GR~2WvY^CM%.ՔR\о@y G 2%zf9]/3Jz lQ!_fy\KjF KHi&_5զ)5 : sHNٳb6rXmɤ(a'c iqOv-(p0KɶO14$,`@hctfWI8̪Y%՚".)!8"f M)9ARof-qٻb&nQ3]q{ƒ9iBls'ri'd-,!4c<yքy)[qW2 `3ݵrYB9v/r&;J ,)%5ѣPg瘴oY2l["&u;+(b6XtLާ^[Vq="k +(o4O詔+מ؍FlYr+#ZJ iU`EǠ3䀣=g -on̨]{P`#Tڢ? nM>,RiJ0<5 O:%QʕRf9^uhDz1KMT&l19FUM/<8RsjlӜQD=}4gh)h#чӚC+rDxn9c*&T]x ={~Yӥ{R١/l9 /cF2x6sE'4_xp|spx*F35IqrJ< R=&{;M\0[Zh(b1%% ܔ9$n|aZ_as鴡P0>0A6iU="q`A]AO9u(hn!tɳDQAt \<?ʵeZ0/~-%\{b5?b Sig{O0/}C&/~ѧ]°݃w(ӱ)0W9f i đr34kz*N̂'Y[h2p-U%!.Typ#cxnut#jד\\YT4)qX4G0b= qHg\qOwh2֐!Ȕ Ғu?rSt1^c}';Thp[iԦS IӪZqł9T+ĩ* :a8p}ѵTdId:1X$J=TX)Tls]8Qƪb16=TFf;AOJe1P#Y89yb*%J&~1p=q-Gnx|H/m`IҔVg8RT_hЩ`4ܡX:Ɯ.mVqF57wysC;|GWÛl?Hv \^ɯHFؼJ,4n $ewڋE 6~0=(Q"9v>qθ8r<)^K9y a}Z唥Vf#$Ϯ4X4ʒR!Syx uH!9>AF6RgYɪ=eT'`%#IAg& #IG[H!!h'!O\rx鸒ĦzE4UA"{偪l$eH*)eDf'y[ݱDAIy&slgvnaSvJ&Jmcyr|{`G=m\Udq Jy݀3 ,5+7URsev9?B Hpn*4KI1NC~_wx_?iy2 gW8w}ڇ?%.TÏ (<~IMg_$nRDˇTty,z'z}~t~l8JBrk- ZNrZ$^=J\AFEAlt6+!f2,hyxQa\;W fh!!-&L84ݝv(tbtb"xp@Xdq\A4u'ZKl t A)U]#46$/@% M2PA/"M M- OC$1#9N}ʡf'OOd&;* epIBMQؔxLrx7ėϑ3:=Kڱ5f"X;ݙvUirRI6B)3d8!\IIkLa3 ɝYN}\FIOTHYCy_TX[m 1lh0 J@^,7p]~ nik( Y].At.r{!=+}Je *j[GF!MϣV?srqVp#% nm&BhN'2Bfq؄Z)ltd}W打 I.k/>r]PK߾}܍LkD$(ҸE[p /hcp\GI(ے97I VKD䜜|D|jV495'BGxG1qH%Xh%)/Hz~|eq*ړ@T 82dH05g!A凋A|H 5bY_M IDAT{QЬ/ϕ9W+h_.|=|WRaMRC /q{2+:bgA3sD^up{^ -q-+e^z {`w^|`˭[O[(RtWH]K`StbM">X9Ï!>Ni,QjN{晨IpCo9VPu(Z= Bfa:!YId_Wx#Jnv- C0k6=OT׍T;#aHNdKG͒Eh HT,87MʮH|~2kuQgQ{Dϟ$OfY1qZ,&sk%J(>&yE),/;YfpFBŔ%-YZ_B40|u>=RR/SP`9c{ ϵeM Mf.V)ǂRKP*ukic1ZqH (q+z,/zinv=t SWD\=ߠ4QBiH&1#vnKR3 1fsGx j~k4 _ C-ոtEI&)p j AKhCXJ%'Kw8l ,*.Q"Pr(USe =aF=feXvT#DfY(j ݾF(Y64?=6}3t/S6_zrF+\)Y^s&q}+`ޛgq!).ۊ+Jlb3Ogx^cp:X`EXjX_+e#$ᔸ~! %H#^Q:j#$dt7l8.sTmLͳ1eN+[k$@sD4\1{,(Fa&_R{N_[IiQpp-<|霈Sjk C'lr_.KYEe2vX9 r]Xzu[c>|.ҪI`)/D);dc6łK>peLUaC=INKeblY>w>zm7hxE~84R,qٯgyCi=(bo{@u}5?%b78MV%ZEH]1͚ X>Wp(lm/ΓD!Ҁ-R|BȷG,s t6~HV luٺۣ(sB>ޫ\lrꊽMRlQ6au$)x19_AHV}{N!s&2I# CYE!aL$4)Cb; hbbCfֵ$I\v >"!CW(p 싈blÀ0B@m1ՊG?i+6EpO8=%IZ5p0@i9: rV/v\1sOA8~J[k-$#o $[HIb-WP#|xay S[ICLǺ4"})2 B&qUI bM4EUp988ꍰZP/k*UAH5;8Rc, <#ܔA7Ťj+" ~H8'b@bFTr@9)~űš_BA3PqpL !E3wUC0!X/'&Ďg V̨Cg3Fbp8#iHn4b45gø /3Rbfa%tHGɌ!f\7.ۙ^5%gcauN;:97,VxnJ$>'8.N<%t9MV5Rq" ¡Tqi=~ԗh}Zs<8{|ĕUK1H% jIjQIUvi-;/?/OGOx* eS ,=Ӎܾyp`aB7h6b7Ao tH" )Q_&ì],PZAjasxr%TSQ?:^=sdiWV‚Q.608!(X} +"U&]smgqR @ aNyF/vJyKO "<\*-Ey:3JPUw8e*$gVruqw{?61Ns>BZ.trjEAvn~+W9 w)|y> XCZiRDs<K uο-6":[wxmyO%ǝ Jc2JG$N#m lnT]a}}!W׹wWy?/:/pş24 т`;$2`Vc6W.._p8n>7?#YZ|Y͇ͯi籢ANDc$ %![տLjR*)׏iHIWtah0LbT( a$8"ϲIp5&ALH*Hrt"aR)9v3|&#i<Ę JbmOmD=&<쎥5& k8`g7Ԛ>'@8@SY@95c[=9, 8SȲI;A" fF(EVaGnCV, z=^V3d͔ 3^Z9avɀO.1N/Q6UVt)669!CXIA`uȠd8΋Wk~fbFj'i[=!ɶҟRy!fo<8Gx˜zx;|[,9J8IHƚa$b,pDG; 8\7n?貾>cA? 1nzHZ!=ވͽ{]>n [7#ZϽʯubo|s6E9IF} /耻~̷}&~-`W(ի~|qp!zg]W{<`}R=ӢZZd4}P.!DQ\ijx*/I&- \{ih07 `2pmq&B~Kx2ȰsA:Ajx ʐDݡ` +ԉz|X%! ^Q9 3ECMзlc$:%pL^SXY`Ȥ:>h $Ao\z'DZZSq@+z ?B  b (>'hc@<SgV81a(TMTktPJbQJNY>YEm;G|zi #?qhcd³/0|0@Ͽcb)Ҙw|ȫg,ww}/":o{1qIBMu=n+O/\bYz#6qFAHX^1X_M>U/rQL۷c'="k| ݦ1׸Wwu^/Sa!>ǝwez!vv7֑BQWݠZ(-7y ET(Av{ BZi>BF_( bFÐ`H8"& Gz@zC`@AO G$­ t7gah{aCC K ,6|k8Qd *N5a-4Ṋڽ8(GRtQ$%Q}:24+YTet݃+ P&J@zeQXgS;̑9LqLh!y'aa0\six-1a̱[J4M@噿N]2 [ Y?o}"Z"&Q*H҈15m&QBf93VA:)lo3ӏ0 Σmr 1|pms$aQFeШ%lǷ>`sc5J,4\.^^e>^) W/,\YjT7 J,l&;Y3/;$ Ŵ[9%[6;͏H%,Kʍ?$*pϽGGtDCVg~, *FC5af'Fx*Ɉ8XCѓHh{ GCxD!hHqίHd%J9.PrfO6xp+u/?NX(%j5>+Vԙ%}zbIc1 TgX\&45hrdnI'd6;)>GS677޸'7Uɏ~oyxNp:}>ͺ~~$1n |蕏oytϼțo?,'==5n8[|Cby5 {{(KZibrA)%yw=xa8dAe )!8)C 8bS'Gn<18[إ{r\'<"/1,N;|P[ =:ewy3P|,i D-)#\s[,q)>qJ>Dǻtcl%<8NDP6z2kNR7w^DTynͧ^0ق+[e[a=KZfG7o|UH"ҭlZOUU:GGL_d}JlS@w?&g<4>iRs|3_f-kS_ 'o-4 CҲa>)؞*zY2$ϽEg >p|to8]\;x?"y IDAT—Xw0g3zƻx/?5&ifIz_|-3^~9oXN**~ů{ݻ{ lmm#c^)l@x4 QѹpNKɜ՛bƎrQj8 DxD}ϋeK{unwqy\Zl=P^X2壬4iL+E6h\?:bRhA@Qjsy 9RD@8ڞaӗZs"2q̺0B(8^;x""qyf 磸B]Y_ߦ-Rxr/.%ل sx Us"Bd ԕdwg_~0rlY Kg=H!a54, _yt>5vwNY.Vgg2q̋,Wu NB'fx8o4mMKg 18jm8Gg8/sM1x镂aӆ^U?1^bwutcDi5x";<v{ºikMX7|+sޢiz)ͷ*-6/0 xsPJ1+֔( &wSsUkKl;d'"E]@IQ "ǟmd4!14RBMCz_RAܡnv H:?MԵ*.۠V SAaˡ2)mys8w71g Bti"^DQI "iLO(#*G!V4ITpph-19zH5m nw3Wy Ǐi[6PIN[GW\5p脳OxOi@J@8ʊ_'?w%l;K%^]Ζ-m3[W/k~7 zo?Z:YaN!l(>x x?@JHyt9sV>L&X!:?9|Z>*RP/CLBc\,x,f_Zxg:Pd|6{,IMܹsU(UBu{AQJT $Hiie* ,\SCB><َ$YA`:]SŴ4TEÇ+YGQYRT^JK/'<7vc$L+M]sJ@ L/x$ -1*m߸.ք̞zIJcǷ &{eVdI<*HO,'%NJ$#iSIBg8Tak{xEÓ#EI 5>d٭)pmٛUs(}ÎTՌg׿E{޺֚~ X 8i+j]_|-?xD bJ &+e@+M "Hʱ5b |ɢG$MJB:vJ*P$&Q̧[|W)EAW*Q((1P)oXr5f9:vdF\+I0̘Ϸ켛RZi$ؓ_< #x)u "#TQ{m@UQF0 ;1ZHI"5n,zcq;]%}UeǺ$gf2SVR{o]ngm.%I=^ѫ)*ڞ#+T;T"f6}X_~?q-J}K78%uX7Q g-Wv~>9Z\d %0!}jfgkF/rDNOO;ת+͕=Gl9;3Ɋeg`{[X4=/"(}@+{\A_4#ob+M%'u7+ApٯRQc1HvKɇ%zwwRP/\eR>̹C.xtIGHGpG1eţ5(/'ԠD͒JH>My|Q(&)sx ɑjL2CE6XxSLlmm‡mgP,㢥m,iDD y:reyܺIeH|.`m PDPFB"Ąr6y]:hW}8TReÒ#aD|K 6;_`% -WR˱^%!J(FP)@:URLX6ލH 1,i)YkI(.eænʷh﨑,-)il(,zʧSl$Uao#W Dٛl_ök:FEv&LP ~7_hOٞMػrl,< 6[ySc*QnX!elg݂_㳿;`$C{zP }d%^,J&a$ƁS H]"4DhRZ#TA/yF'ryFȔ@g!W[h3“O(rwU)ni0:bAfT*$A&Ht8w!b79l>8Ց)wc.1PS|4-vuLT5x0ZhIi{Vaej4`kW0Q'XB$'N|[՗q i)x˖}U;5nypx71ן!׷v8qyUw^cm lPO|*{SUK\*XX*q`bYA45"Q]m!@QQX_9<{%H|@:bƶkD(JE!(E"L "!hk'lH4YPҜuٜPJB.PsرHٴdhRU b G-R[r0RD:wlsuz"u)z~Cɤ.KjPc踒( La(˂GʼndN)ɍ&AJ/&Lr/v|l,)2q`GAѝh"*£#rcA;z'htwv'?":wx1Q^(ȁB%k)):f`-CKAAlg)Dއ%XٞVx wO)n˟IR9gg۱m_uTX(0)jȣ(UV2d%il5 8xuL* ׷ۑ?,ٟ)eER|a[l- VH80NV*L7T)B~0 .fퟲKJa#uB*35[LO`ߝeIsLQ dP%}W}k||bkv >[\//j-`guKMd@8Z=Dj}LW:%|tJt-sϵ/]M=JE< dp>:EnhڎJ+bJLg3[¿w˽h!>DJok~k@`"\KC| sqB ^GJx0J'瞽O)wͷrVHUy4 1ڭ!dLv`#<q;g$nl1  ad_a_81]?F{-`|3dF{8"S!~*^VLvr\ƌ@"!DB8c O8Y4#舐98zOb04`J^Dz)33BSZXW>O3E@JC)$N{WԫLf6c6}U-R+\f"'h%Nq3|>VNyƢ0A%>Z6ڣS| }ǤҚWtQ À6 ZC(+OQC%mXiUPϵ2b׈ļrL*l<Ѵx Q"t^8MZs}EKX Y׳\,\!t2a>#${dKDt<_Qnc0 ?B]߫8Z,XWqdLz=*9J #Ɗf<-I5){Ǣ{8 %"f .QAF"Q^м8?WiC+s?*-əH Gs;/\#1c"1ddL#g)V:8ph5)*#B:wx #IHÐA)xD7P?I eextvɟg݃Sɂc:|yɜY}O{H.Ҝ|lCZ4!(ٞ#k֫oq0Ƙ!=CVd,ƢѺz27=BQ&tMK˻kے!G vuBAB#f{^ &P$"J5kEQj!q\q>!xkw~gģ=!'Ҽ&ξ5K?I VCS_~^hbIk;n@5qehf Ϡ%S΃4(e@U(SFkQ2O2 e4&*ݸ*=d'kOdc<:%$06y{\=/OIRbVK/mWWgY4jE(s(pfLd` DԒiR{ k- G2jVl_zv-]bEfѱ8[ $Fd2a{k}^\)g#!k"1DtCp]^y<$]ps[?j?G5=T6ѯH>vnH $EAN3O(G,!RkH1ZaADJIBHRc#ذHG 6$F}A7|_&6DP")t`=O8!&uTI)\wY+`$GGZ?>g3!$bȩn23*X- !̘*")@Q$heA,eCL5{@e*B]tXS/sKIԄ* !#XdXU1o97(R A :.TMk;lEe޳6FPV{ /\>nm]\6aG;EC&0%[ƱW&Zi6Liٚ ~F>:f] e"gvy&u@QvZ jոʎ+J)>xZpwStlݻ ٚ0O),`HH73:x##p"3Gn*L)i>Iy'N"CB\L!`6)BcmHr>D>]"{AF]{^\x"rx>RAU N/yjwƪr+0'}d IDATQ)! !*|e\DzXwfմ(zh-'t{=VX;0z c~@>JJ B!Bu|MrF4 if3|4:Rb>r؂B i =+7rmUrb uE52RD)"O+(B; 1cO:aCkvɣR`&h4.ᰃBF o9;[H^lA_=yޅI)68Y!! I•f>'Et}M8v)Bd|(QJS"T2wxa5bTHKI)"vUDZDɎ"Q)#q"B)I!KsR)K.rf4DӶ)`F+S2a: H@uD%[R4}HSгD# ^"LAIfkI"QG %q R{:zMOR/Cw|5>!.;ѹ.sǃ޺(DBq(M.#FM! |C":BB$GtHtC\ M^h!,|$kf=^o,h{{5q$5#:C Rf)ÌRnx؟ع%~L,."D%<.8‡8}n=o?0Hvuϭ[l sԁVԓ(z(3ۿR'%.)H 0hD$O,*00#2\n]K0$Z,_v,N 1wx׮^;\2τgVzl%z Tu"btG(DsVX.vFq$1'L 2% ̚c-Ai=i(3+$JGyEl!)M #c+!i,{.HKZ`D_ƀH#wݖ925>a]"p!Nf"\"*$(r**7]0hIaE 5 f[Th0F}^r4 aDNZѼ2-)5 x=g@;Չp T3*n-ۢO+s/R12mV݊c*rzFg=H?O<* O5R27ѝ_D0,1@*4R8$B(ΕTð,8:ĕ X3 %f-^¥;flEJ'-X*+B`UŽ`fWIt`>+ $ũ4kb*V1pK$vv=Gw<3{wHRbUtd}xϹ":Bߡe$f^3UؐDCJ94\/|n{x鹗LʡC%PtĻ@=z 6$!ȄX1yt̻>'PW"D 0D2g4q +Q2=Ǖ} f E/0,! ! rLBOpoԈrvWÀlNI=R)T36`H> a\+8'Ë0A3C*YFFK &!~xIUW 4iyUߒD* xȢ$@je/A8 "psw~Ӡ SlU׾~*ڏ;aq2К)rB75l=YnV-֚ɂk5(*C: 7#* v+ +zU"]:{D"R;ԓ+t7:~wR{UdŤ(.Z,=^%['e1 0$A$3@| 8 Qc<Ṍj0) ĄC\>&i7.-V+P$㌅9$a0AEjjVh<k&F;Td 9HFP貓7ILX9ҽ5.S>AG0[ף C>R ?<5cnsMET*<'M5 ^GCA*g*7 ڋHӂFy&O=$Ybd0WM(Oū=I0Vьv29zDӐ; ނq쑙Ji$i>iZ:N/a: <5o}qZ.FČDNdag%"O͍-]mqK!l $l6OtX ݋N`Ht\YJs8унcKXn*kSWШАwĹs2=@Hht 6n8Rߨ[ZQ$hE&u !XNxZ_9Ǐ@:H&\ QVu%)mʍK9%S67'Ր˹ḧfE5lQ@4ʱW:dZe)T5;uVW/ƥ h^'| iQ`%C,!$F+br? 6X:2z?ftDR9BQŠbnyK+YU>,%TaElҞ˙Lhw#:}qhD؜#G%rh0Qy+g{@LXf1VQ lcpy(&*<.ABOrzRh?zP*ƍNB@!=j xCC<# 04@h-cp(i1T`F1J"C"`]B2+MĈ9!юLjԔX; JjWv~]T5a>8 c e8KaJ9_X4s a_Yt\2֠91ՠ}QmxˍpPCV%):MPN)pܼ]R88]C+,-)>\NҞ3./b,FN|rۛ=0T|G 8Ѣ=(vSíۗi;,w9t~Q>7i۴4f{{9 a\iEOQ80"|2 D#spjfol;4\q-p ԇ1MbZC :սph8ycEJgcu- !fwuO?6W~VJ{b k>OIrק5Iu#*¸y?eiJ $KfHX B=@¿)&h4ݝa9Uo47T5x؉r/⯾:TfGw7oEU&x92L&]$i"& wQ@`D y0T}(a^ru| 83FKZh4= eTJG53pS`[}\9w&_RvWMUI8dYS8-0◐(E*?g5.ޅk/a9X]6: E .$“JmcwV &N4Ng9=ڠx/AjN^tx>W>c:su:QQ86fgJK]ELa21O84a; RX:_V;"ۥ%+Yjpal; nuxqiHGn=+̘Gk[LYwLZpy^ʭM w{YޘnE30O՗(,^jʒ*)}"vã4* ӂ$V67.1IN 7k-fVֻc1:VV{A!݀  Ch6VYy`2H hbXpa5/$QQId{->VyiH/@+)}lceDO8Hqi)"@Ȅ2aAUJǗOj(={PئzJZw`u>qMm£*ke`6+%Ti%~ס*@-FB ^'qbGM/U ]o&q[d|-b bx?`E6{aţk^|clQF 30#dd-B*rF9 j%@*Ik.&dBF~/WuZhe+sy!G2IEIv,qdYNtfHOA'%W?VߠRaɓD-^Ԙa|8{|옊woh703/~uNgschnZy >W'OݐLaV`4f0&s"*BTHC&EقvG+lKҩ@G.OG(=z;"EQ[GޠjC"cڏA&7uvS/":?Q.d׏-ytmIm0 H@-P:CuCE ּwpSl"JᔇTRX/@y!HOP`4%e@4P&*et"GFeFVOir:{ivm/]1sa@q"eҜrjWwM|iɐ?F!=ܸx(!3',&|U8IgU y0"UOॐ,^L^#p<+Rv@&+iaEBt6ZMj (b.h2;?='pyPq @[6.ɘ7&qZ7(rKT)T9vSPMI`p[|#uiz1 -;hاŗ.^eOL2԰خS3爪5ȼ.SO:&͹0HYӳKsl#_ ęr}{[0w,8Tq8'6"4H{P8C#jDg Qa•$o(&FC*:Yvnv1 Pu{ ~C" N2.5> ~?#vkjr>";VJyUE{W@; /nlnVY"O'q6=t2"O/D}PyI;;T_w w`|m tYmOP(ط%*Nü7 L0x#S' m[RPcx]$ɘB~RzhO51v(/W) t.i! nM .`o-4& IDATۻ*=h+e:A(K`r {!8)DvJ/ V $CgAߢhρ#U ΖR ,D~{C=e|}y81Цtːk,~*|>= f2l3{ 2"/S@:I8'3,-\j)ڍ?Tc&[fG5v _z䣭c36aX nˑĊQo0mPb? Fev62p I\J V,1Hȍosec/ݸA2Ҩ̶6'br-JJ(aK]sX#|]. VY3~xr c NN,>~ %oo~{/L?./C6,a^*K +%xG+./ 1$ȣ{U!m:,L)nE .C=M>A/y,UT stHSuߑ=~'5 9]K^d?m?K:|'uxJ@a$xJ\ȌOx'tsHKj, *z["xppjR .J d` IeCz2-@J ˋ fxx􃴢s_bmŵ1e{O1F' -p'aa(A֐IFݝzP;T L sYn03fav%Nbz{kXsV Fne $Х:!0^,[1WWD^فdaT-qjt`FdxB .$Kx7*"A<6Q(Ql(MSr. H% e‚q|yJ)/4<`4!$hci;̔"D3^6/_8۸ ld8 YW@1*]XY?;W @~4CLCJusN  tn}cҁ,9!t)% + Kn#X! AY(N*;]wIm{}n^? J?5=&Iih+])pLbAyኩ7&'y/1D0?{q6GDu(rܤ_ xudrZL .E ӌv7n0Nr}34.`qv8AhT$V _HPܳ /<AN˫\3A3"w4HaJ4KX$/aQ؂:/=%+5& Z vviDXc 33du/C#ҽ=zsqZLSh e%Vd-Vjs=Nwx~~o$7$I^Cxԫ ߼ͣkIIIgzҝXڻqVEGC|}/~q 2&L0V JjT`rSJi#iUJdhNq'8GSה򀞝0{YzC JGe-A6J߀'!@8C8dTXA f,;: ߄| O iרˉIͲ[Cj'6߻SKUww{u匛SL FTjsBD+`":Q:ød/'A2;`TXaӬc4x.a@O"@(ҥpTNr!xy<)) Rcp!=Rd,ED\'_p)8g~gKK:̩xn i 6Uԑem_bp<ʼn<%VWIRӒA#'-J~9Ɉ µ=F1vߢ]kP #t2a)2 AD!akT*-+sa4%)vxsG+OS'y:7V'T+^~骓&a䱵sأ_>Et8#<)\z`N̹8c:AV,HA T('!KN@g8sdbQ$ihA/0ˑ!YU4t[l Q132h8I9<3w6ȓhad5/~ݢ'|_ѐ B/M>0\_ZF`" 'ܹVSczV lǗ_U>9Au۫6BWy/Og~{DU'3t˜\\  PB$Ya&I'dYV.j +ˋba 8 KK+X]Ƶ:[F=Vdl x tZ&Is۟,pJ)i 븽nHtDSxu+`L ?8~]J;x{qMUݝˏ _1yRv(y7Ǜ&;G)V]NG "h&m>*p#Zmt"a+*+G;ϜЌw (pEFcN0Pկc Ivz;D5?C m#g~~|[pZo'92M>(`z=f|Y^z Rxh{d~RVIBY*QPH2?ע7HؼAďrPR }F&'$qDas~p-)\ [<yGᅦӭ&/_FMj"$ 㗞yW+97{81bKoԩ1xk=jqnMe7x| gV8s4;L8#|e!@zdip8^!nK$J#<>"Bks{Ao|Ru`&j/2S>'ľ>-uɂrQewSfbBj; 033CH)RY(n7w8Zhw)hPҕ6'ݤJgݻ.*BA 6(!WEp@>N GNc%8W 4GTFclKw :yNBe^~_;s?SV^"In}!MHGX]<AHoo0cCi-qm 9~䃬o[gebw:C)JxPY9Eҩ1h \iiUF|2B(VHҔW^ĩ:W9ء +}"5 z 5?[lÇ$A_*?/Vn840>*ϐ &788['xN?ᾅ%C uy.W3(3a-Ɉg?v?Gܚ -[ݚGX'>{ۛU5~S?3vEm(?ɈMo价bƲǟ7_C>y9‘{O3بst'iO u^~:YnY_D\?o*[|_VadFGdGC` %I=y~o"233?Σ>‘#G_X <nݺy9w܏=<(O8莬BIRB[aM<)!×?QIOEg6w7xW'ۘވӾ~'r";v4qm{j M nng0!B!석u8GI+4VɵfGBb'[8a1ORxw V{{\E/]#tg3x ]`|w~w8zh|%Χo^&|gye]\\>s=o'ޓ'!w,c`8am#RV#qDhmEi*A[4[0{I!BcHMn/ j<5;?9-w}/$R%]I*qC%rŻ>xW/cEa9IoucRkh`J7ZW,:2%UPсE6m$f q:)5O lvTNWd)`L-Ԁ?k0svB©qY5>/?WRq9Iz2Édc8Fd YTEz>zf5OFCa!j\p(n GXڪ{k̭j-WqAH>aVvY[Ĥ?V99L+r<,!T?}m&AּGm SO np)|̧~ܻ=czx?p_cwo7ř`c'uG|gY‰c1k?ڥw*v*!y|:y7pQ$y(~I5c/ OO{<o~> !vq=;@qN6S?k1SXu9E^"P,#/2<+<9XT)s\.{QfRcUhwpNAfm9Wzp,GY$/ "j0m˔" &\^uT:Mp\3<}"^g;!:]'K?S>~ù}Il _9?޾SO>Jl~K?*y]?șޘ?ƵK0S[`d׿1뛚_Y/>&Q xQ;Cޤ1?Ws: _Leqv$ǥсw֚ťE~7~[>,--Qwg{!]v}|{W_ CR/ۿX](H@M1HWoBA^*ye]X-p./Ls8$h9*N"ZvYNq&c4$q 7W ,vvTY*Қ  >!A!~A@ERzr̽ieY{߳}=MRIb˲$ a` t ggcaiƆ dVi)Tzw>s۶茸^{s'PI".o}kxwolP tq vq<5T^&'tF +M"L=F CBe>FZ pd[0Y=,98~OX%ܕ .!,*7.Sml^T t"_G{{GX9 m ؤt.'cl]AaQ'l7p."(N|--)fo1nO%%on:Gvfnl#4KY,o\nUyevve xm*3\nh8{{מ$?⯟{#3ДbfkYW y=Nl{rD/QLs`UD yU?DlKvv|>O̱gC2."w6Vag΁)66&Yc|%|t-3a;N~~5O'4<{ ?|/Ocqۛ !X]]T*S(طwKPSG%]mFB;"DJuQJ D* PQЍđ&eJwA&dG=uB\}HÐL52FH%~GF ׇGp)Vu rF)1"i0biT\*45qYAz,JkaڄaA%a% a$d H"sXjvC@yubE V[ -f&5 F5)C$G'A+a9g6yd^}s 3cvϣV ෮!B'(Ex>5컏Dg5:t:N[*"tf[Jh:@61R>\[4_:LeA;3^XXdg4bN/cXt.%ivLMŎ2lV_mNp;  >8tB~̇yϱ=<41McBx9rvp'Zsy~ϟ[y`?-C1;wc%~O>k|'xUZ\gQ kRpc'!箬n}n /c 0 #ҳnvMFoDJ0|2Ѥ`mm qT*JIkI!Fzmh12J t"Ӆ(l459H0"EmVORY˼u\(LCTs:Y֦(HU"$0(R7\D@: >!RhHM R q>)1 ENpjt6h NAGyS`C-{juU(B֜Bꊎ, *9ԓc|/ 묮S$N/Ynuu0 _Ų~f6C4 J$o 9HXAD(uUcN]\ïw|KHK )#RB2>ZaV!ulc$wrh_ 9{?'2Ȑ$aCq y;?A!ķ0յxXކc~MZzRovC= . |'~t耎ߛi90t.y.>AtL] XZL8:[& NgL"ΒVM"( !E0Xi]"GC+dgs`8RO`SlLa#8>6/-Bu.xԊYjq(eCqt'p5NqAdF͐O\ *2Q*~U/d"gPDf3^L5f*+ ;,Hمm-]cZ+oڥch.uǾ)[[Ԧg1E~l(ts0U>t?K[\z3`,Y~XƇ380ҍX*S BqѦS'b Jp6mn %66qda&l>%Fee}[UcDQ,,,Pat;t#ce$viJS6T@' ,MC, ۲=Ѝ$2S.[&^ 米L4bE6_RK\ _t5"XX.BN# kZReb&3;-9N]4-D钙];]pܳu"TjSt wB@X!ETB-B+'[Tڳ##Ѝ&VF2V* K\=s]:k\/b4<*n+3t2ĭK! D]}({| * c1JeM<Le4ʕ1;H~D.!/s)F#wCwbzF8zPj Qwo]о on94CXݤ0 q=MhQ49Uڹyl)Nf>| H4]L]70M0EQ#yMV*]6,-ܾwb<EDEe&KsD KQLnb![WIDF95:(Ra\mB8-ή.*d|>CXC12$QhS,H,Ca!"ͥg)WN0K7!ktkk;D&1]S|y݃ih{qj ~c,ftGڗYm6cLVw1mKOZ2117Nwk{"ō lw7yYt_;:?N`wsؼXF87]6-x߻V@ynĒSAA #ѽCmXT9=io9KڤALec' _fAriz_Y6|&ɷ~-V705L# $N_(!uZ:Q'4h0 /t;q.J}AgsH_K`/;B}彏>zp <=s'Yf1,#l{DHiv h.|$q@GVB>HI{rUN}k8!VV}!_(fc|E~1 ;,a#i "wPa9U&ʳ\tO>EP|+;[׈5Ʃw^Y9Oqڭ#ԃ''Ү7vs𕧟eaD evf,w-WǍE>kLEmh] { U~HtULP~7n,:8yxߋ0*ϝ9ӯ2VcG9q\XdsAtlhJ9NB} i>f5apZm8@R%cnrv=IN8hWFlA{UdܠJ,(g]EQLvOgH=¶a6scy"/,.^`Q(;h/'Xm^euf:xsku5h.\&ո2m}ay\ap\iwh90&?P$/`JߝZg/o\3.arI:Q vT)$HS;.]h&n||MA7> ӆ]M%ERm"c(KdRxTDD!0-8%lF7Ȝ:Lh@(%W08S;A'"ozq2U "59BQ"K)V|l'Q1o$븝=QK(kt˯bW9yJ(ФF'2<]&ͽ~K9PR:NkW2s&a*c{ *W ޢ'+Cd>8}!vaskSVk^cXHpz@wy|CՀ.Ч %S|MgZ;%b+)N>٧i:alX Im@} "|O|}Yln`w}*Ͽv{r}e%"[>g_0u IDAT4!Mֶ|UܶG" )V Oaj|*NA:u Q+ؓbZ&3s-JR}8R4͛0jR:iH0b C1 #Q\ f4b ,EL.j4}bg2iq.-e1LNN^j}i&WL2V Lw\"cGDSR qZf͊M>-\_RJ0FBx8K..= JǩcK-A ].4T;in,[;[dVW*#~@&-A0{% nM*aX$"}XdLB3DQXJ.# + mQ0#FXQ7LMq0Xل&՗s/ )}~&m2 *[AhW8w<ܓDlvZ*8D3̉5IVfY\Z#ckt- :Y8$n L/)%a"4 d,La9H3۶хX|S~&w >Ĩb/GSR2eZLB;7-;1W[4! X)FnZ@Rl?KHmt,q+G~ *)7e}:]er?4N7Jƪ^`B8r׮3oɕl.X4֗zfcbq4e*]%BO FfvYZí31azpAdf mS)dsȕwf4walBbFK2\^ӥvx:U>`3,:%OQҹz}cp⯞zf 8 Ï<~0M̢2C܆FsAbr3ob4:n70]WĔ*Sa鄬{>W.-ŖjD)* #8<d&rĚO<~1 W5uܮFF+0?W_z?Øҡnh<}+ll?7K"Zstbs!qf3Tm}8u/5YXU,E b!bJ<=$|ni]6!%*i'?M\ r=B'3iN$kHEY˶M!>xòjl~-L9n%:m%V!0t<55 f*R^jmxrM^nۜBSh iTÅH v`o44 1d7@$,[ ja`]%F6鑌N@Y)HRӹ76T*HLuVQ,)M`Uf%Wqq+=_ڇnL s(ْxWfЋjq%ML-#"ӊѭ:'؜" ɢ$Ofrvݩ$,)Y^ORQ*H.y/XZCӸG~i%'Գvx DeVd{8wehŃDbBu o_f^JLe "y5y #V]:DN)^䳲|= JJ*sLB7PH<̌zυj.G!;O.ѥG+zL3g"Ο+א* %nXUcyמ_\nre{ab>)9vHm•n@7hB]Dx>PR& JcqngB0,2V c0_ # b~f;fo\JT̚yp( ci<u%@GP[D U* ]˅ujmZF6s۷) :Rɚ#wnc. Є iMz[PrgN11lp Tꄣ^@E:P $翯:T *-Pҽpk0-4zHad" }~yCo,߸CwCPds}&-N|'_?crmT :,+Fw{'O_VtB۽..p}S MXIMcZF]b2LaR7@ @&RHb32Y&fw߇9ܓ|~oJ|O 7ǫJ 4ڭ.Gwy!j7_g ʛ_%llqxn^ PNrmIYiJ}UOؼDeb1ds/PЄō+7R8NK"E,e)QʈPdt 1q;†1My6z.fv=\lPc}M'?}ZM₂*|,Inb ? 1:NLy\JaD\EHICVR+TU 4-p!44KON= t Cj?NB#6)}f+UV: $c[4;u=\!Q( ,Q~ZtY~n#Gu7n035._\0DQD6uD6f077zInbbW(@Ղ1 f,#n=YhrûSEk`ڧ M]Kn*=GOuKW2IXy7.؏0hԷnjM2uu(6!p:ڭFi |#  ffnrt_?drv7qaZ6NO>gcl{7tdj:lllRЄI'2Q+{jhzR$pu]0q|LCP,T0h8lH{v0!$Cˢ'Ǧ$RӉz~P*C4G R\_({)r=\j%bqē#q#hZXL6ԵdIFGsj44kw0 m9N?iQRVi5\r ]78xR !vL"A/,zW׉B*xgQJ1;;$a0; 4ŭtB&C$rysm`0OglvǢ ~/F0tUimJt )V-Ak4MO,F8q]oipUPqI~>ce0L=[~>tu4X'iܯgW/z_}K>4ݠ)8{DB ˯/mrz_e8g8K\afzv7蘢g r‡?~ |+_go4z._yoX]YgGlln3R)y?㸔+)TŲd^:׮]Iqy~_xŅ+-ŏ!M0y.O>$= f{$щw~rWx:,\Ŀ?,/? sگ2{OQO~?$~Ԣ(bqqW4mf_xׯ%vUb0dԓ@Arܛ\|kz'165NM69r(ǎݙdhiԛ2L94MI.I&#$>(,bl|0 JU wR1Mc;08Ȥ9Nu\<O;R#*dG{7154!Hnh}k{1Jt_86֡[UsazzwWY{ _WyKAE7n~`]ܸzw=!>v}%#N/O)J߬NV} *Kx3<9tPMK`^3H%QꦕO*_78uss4t:oB;#djz_yW_Eyi^c(;8NiO^x''>A>?)M~w={wO_v ƣ}Goŧ?}=K\rhݾkܸqtI -[]W._aqiyNύ%Nq96t#Hb u]<666Y c&sP7ZXbY&'& RW"b #Y>[-,"azaeeFN- wN)NPS3s,vf42b]r#t X[]6@Շ~ֆ̵_n"Ø}oHWp3/rH:Odm6Q"ݴN\{EN蓣o>(=q6@&:>?g<س9߽uzY4Ҍ@!aO2MIT8Ux'v+F$!@hF3ez~9}gwz$R$xZ]}{~<|NdaEZ&LZ>[&, Y_~EOOxp>}trm6wXsXI+\buu3 14-іB*~W~c G͛|gΒQR}S&_Ef}}K4r^Gqm4?C)MҥKK4[*Q,Hs5!!|}sy?'?G (n 4 /# sy'?f^Z8֘R_{m67p .r4RIwBJwN4_ B*gI}0}yǏ@+]Qbի+ /nwJ(brr.Qˬ@/?jZ%)biQT,(E58eZ]]ad 38TNUԗbʨ16Xgr߅RܘdW,,x?kӌ^oG|v]85+(Qrc0bw~$8~_g&k<ċWm#^pt/e^yc?Y@%--<s+0I4-^2[}f+FTN,ϙ_Hcx̧S@xqx,+ Ql/:nV] = bh[c~>A87K)DuK)*"#1:.\;.z) ZF82J)f~lStڒ3> ۝n4MzUO>|Ghw:255I..TD RFC Lfz a YLEl\"+u(J,' IDATiaGabZq‰=<-bXkN"csKr~VPVM($IlHZ!Eo?e4qDz!h4;I,K5rν|1[L&LLcAG8`3L|(xGrltLdVdYƵ/}s2;R2DkK1pyz\2=;ñSp #@i RpaͪR9?Bgo=G}Z,/a&&&8v,Nnj 8pqIDYh0u'6B sO r)R":Q D ut_)i^X>nC31ά#xT8U&g2ȝBR m`tFJ]fG{bKC=q̾C0h9~Uuhe!8R+Nx}'!Q%:>4'>N5I,޿CjsgH풓9J:/K8;MMuVunbյUƩ--u[17]n#"Ǟ#Ԍ|WRȲ< I2X}p쓘Z_޵}QmuxʎQU ERp)NZll3??ϑ#+K"(]=q;&&z\z"W^ennSO3;;G@!}H`kkv*[ȏ33́=Zi-dY^ALXI/(HmmPfXJyN=Gq="PTEh^u% 9$4wxuU- HkOg?>P5 D?VqV8 <#NOᱷg;>rv"LSNqS~)tTg$ڥ>ez@鉷DxG*EojsO< vG|^oc BB+lm0g՛h Fͫ9x[8vTܔ*EO~m"e?L++ðLQĩso# ?Lwo\F>7MLknq2p !KKt]zwe9/ #$iġk41&wNzH~ۇOjƬ.-|w-woH8GXCg4[mYN#n1{Α$ W;ps?Ĥ=bJ:1=Gw,MQ,I9Ab<M20Fo-;]S!v::|;?fbbD F!B%i83^+"XYGY\ؙC*JcZy\lo0ZS td7'ͅKW_ZǑgLnhu_9w 2&>x5YE~#^̇};]͛7Y]]eyy#"zI>o!?8)MFo!%#&ȂGVa-NST(hZ_E(S\D[Q\ * 9pA.8EfEyЈߺ=Bآ@] W lϰpGO rc-t-ޯsrWֿm?B.DVT4%71SvȟJT - Ő \V tQRaTlomo./Doz.h\/"*1W/]+x뾉S ] "i7S8H|m$qQЬ#:"h\(Nt'qU6֖G~8B_<8I4܍h8:&Y:W^"9p<"i9[d<ƕBm<&˂,Q:VILhDhQ ␓,Kj֡h D+P~-*"+GHҞ"БDG8đBGU&ޥ%~.b K^%,B6mnHx$n]^Ԭ1=KQz=/p/eiujVhU{ZHl$?Ggx&Rk~8@Uv`껵",Gqe-~,UU}މ c}fT+ lCg޺OH"N9|2o#gH$N*6!vH(X _ȉ|{O>hCT;IE#nűyd)Z:VHd8bY䋦Z(N/[җkLNMDk ), *&r9.DƲx6FCb߾+w¾Iڸi Q*X[Z`fkmt4p֠t:L;pLT>|bk}Npi&gy;4m?<XÇ҆ 8]yO{%^Ydt?L4vn$~il%D2XT9r P`E>W5+/HOsEH*ܚ*Wi ٰXkʬbp󴫹F}1Vc\d1zȀR4HWMI> DF \†Sхb9Rd<;Ccf;-n\}FK$íMrF|@x\ QpgU&"f K:v/ P5t>Ků:En^ikJVZ5-#B?-b4MMwvVq.V9$:,:h#gΓ$M.rNp]9t@ዛxJJC<VH'*KyΕW.0}&OQ:̟!*%D' L MJvMe-B'lq6:$a<L̢#e(ͰF=mO~o~Gy]NOM!gK$%6Zjrq%<v:&!iwy&g% ӳ</|\{yVYtc&Qﵢl`4N7WZ_F:be;;;~JF ؿ k|kl91fggtWif@{ R%aνnI R-XYdޙV[Q !u;{Ol)d^̵{]{::V`Cn,Qg vˇ )^PQN;ZTAV<σ(>ڍ RpTv!.qYË8$Rf( J5?-I6k++Omkeyiwd(! מlRkP$7IND)^~Kyɭ ƣ!na&/|=H"׿[y/?$GN"NH[&&7cAH >{g~kw83a+ ;tLNrS|>Ջ#]!,%N<'#Ou E k'cVҙ!&gqe'XaH 1Z \{эYѠwOpX:Rv"w_S&I VB:H9~wo\eߑ>6$&.?FJ)%"w89G~9^sl]RE1QܤݛdV78nN^CH<a`'`ld1pXh$wUp3.e\JeEMRvUbL[4.@Y. ݧP)N/N6Ԡ4Ƙ'q>'r[FYf/ϭZ)>ӿf oLR59&f tf-~h1o0,[le4r N>G6>ԣs˼[>LPp]iJ/ + 9*~dS;q\`8Ce(kKܻ}}sp <,ٕY8s)N9Nj~ۯʁG5HgMD8%0FqU8gG4M"))H#L>d4ءӝ R9fH#ir٢j"Ln\{|G4YY_Y:677hLNq5-ڭ靖~5ka-)WoXavDNA4-<.G!yP) rcJKZUp«g: WB ]w;Lj.Q(!<096X{jui_xEP,HMQxv-rޏ,cN g$[X$L@֢˲emKW~8z9v$Ȼ8?)DZ!!R8bsm#IFcz)ffzy6h1y_2ƒ[GlI)^E̚ nYrv41UY 'XSG.?u쭃rUR@]{My7{r!PB cL6Ĺʲ4🊀uo+$8sr'O?  [>WۀdY0<s_5D*Bqrɷ{`瓿1ܸLIܺ~엱ovg4aHay7𻘚 $^Bx:(MW^ԣOt)"RLX^`g{Wv%b{c4R8:?RO>1XjhThR)RXc^)%`cm%F"nH-A$-&'z;p$Ydkט}`h"2"h7#zMA3$ڐȜX(R5ȺQ8s]M M<rQQXh?i(EH R!d5(sRԔ"{NԎ1vCA{a}8OMV3CYl_2f7I=l\Rn:_`gۿ{e-'Q;70ﰹrl #@X2ˋ ;,Y8ٽ5 ю^n5>'>__? }?O=S.Ud!˪amtΤ N=XՏ3[kQ1Z`c^wo]Бao3s1 8a ݂.a}uv2Q#gjs汧Yb1lmXpr4Ϲ^2F}PZ M#k,/ܡhx~y:A%$qBӡ\F" &: M7;t6q+-! iSM./]S(0#1EXertrE8TaP8()k>?;)5JH_WYA|MVB-K!6W}pE8zӯ;˳$woR+^䋟[G wW FHC ei~|FZMfވʇ zw~Ӈhhv:ۑoZ315G~=V=p(`Uv5Y:.]zw6˅pI͈O}wDP (*(Ȓɧ`:&6Taa Z.^/|G3IOLJ='Up.ڌgQi1 BmIoqaS|?@7I +8!w~o1cyr"a_Hἡ4M3_ʏ5֕$QpC'{J*R y:"Iw@B#5(Ƙ-,G%ɞY6!1.'4db- "r*RtS_`,@vM %' وH{'*BqQ>Η ) fTݔE}Gp#ezO(*"(U6/o!>ǕD)KWaqV}ܮ}:?ՏW+?[7?399E,//Н'~oWpN)ɳ-RF5z^p^m"Ep*MBb˛+ \YPq7H*^q?8O[gb\H?Y?G Zir 4inJkFҖ&ZȫCd 2p޸:KH.#!pAtB V*tn"RpY$B p:N얿{BTZPDIBk\ɛVY(`Z#]s8B<ؐ:e<^|`'x݉g?)]yI}?("OSVX]^dyiMΜ{Gw^C_-{ h=L>FK]HpasD.Vѹ Y~R)!\\]KK2!C)`@wNm%~BCߡ )1 $Ry1܊`(:]4¡#,ӆk $ANBD(J]&/" t䐛'}S3$qDn$[8U" 8k‡D˩KW![!0NS0  eWP-eUXBXBZ `]QU5']Qr:BQ+M>s"--vLLNmX×шwXZ"m:O=u|7;qx:"vipDq4t֟ƀ.5?i \} \Ί d4-Y+–O#)-J ?F*Jt*SsHE1#V Ч&gQuA9`xP=R2"5rΛ;8g&:3)DMj1",ŊFҠ4BϺ596ψDhuQHQ>g 7I1,%"Ґ!hT&]/ fc偦8 |N)d[Y7TO3*ͯD&="]f֌~ kXoHxDLcff<ϙwycjfXp(=u!P$7%THDik ^GAEBA[hx0E8 Y㬖c[m\NjL.YuUQņkZ Ь"z]7 Gijʼn9E0!eIQRAD@R \\u$X_t}V,Slg0NcTƬ> U]|t.,j YsZ 39Bh),JJ(Ň$2(!~t_@0",J'hcf`RTxmoH 773V")ܟGcO0ՕE@Hk|Zo3om1:sO<-ѠϽs⋬.-pK<Ӭ6MZ[l^},i[שׂ/ őBqU s(U|'eEƕ:SF<R(p;VG4:>=,ncm&HDASVߒTHb8S6]GQD%a̱2gng,J8O&S׉岳XLؔ>26PY@ky#I Fx<Ƶ+l$ I8.'uL "K360 IՂ元8|b4˸Dk4< QRqQZvp:UFD@$y2MLL$I4Q䭵Lt w6IbM9C,e4x~1^>3XGhiHH=$^Hb(|&&J)&PI "-ANq_IpLu$:R;mLQa!PBj4=[Yݕ*r!&L䊖ܽV!:WTaǯ h(eĮ,]foU*ÅQ35=Mբ2==C|zLLL4r_+8j6 xpn]h8bg{}܆B-qľlh \&3Ơ"9|( őr!cX&r9OJ3154YghaY|'!UKqyiwSgÕ/smz^h\XHVnLZkXGcvnBE DQ֪<`Jl68v$fC EFȡ71I!"2١ahiw^,?$S YYZ?O&1sLLY(B$*GJ?{YIoBއzrgT !Kk{Wp[g:B1vŚUrQUjrjי0A\_CU`jEj I FB'!W}Yd_1N6*vJV55 ^plm3;3WlRn(ڇ 5 Uqn&"1JWt4i4fy y|nё*[ؠuςK ȱB09='u:[t:ݪ˕u$=KgUl4Sӡ'%AG53ǣ2yftu;+oV5'r(b<ꣵ))VWdvnfU51FQ䃶h< ?XWn8&'Y\W>8MJGLOM VaB ύT xD5xyXɵDi"t4NĉVH;4'- ud=N'69
Ą_WE dM58 +\fqc_t-dE|Q 'Qj jWB5$PJ{sZJ">a;/wpvIΕn6C9Z"0k[c@ QT@XPE=Iպp#e >ubJ)(J"Q6]9F0k i1QЦcHzp43݅JL):$M%]q\-G(hl'`D0=7|2,+HKj͙('o1 i2 /P&Mo)Df'OdudMx0o U s@%ƺ20U}kh,Yb*Έ]am|]u pq!O;^Wu V<&›I'CUӈှqq&ȨfW?~.3gpE5jT H&~hy:GHKàR}˗/`9 Gg\#]`ů~_-\=cMm.Q)˄w.0 F)m#")?7 8C[mր\. t(ڔ Q Q2TA {@b$#d )azlצTF') 2T<ߢhdD x0ȺZSMs!܈$1a/jݥTnbP)K1XS |.)NPJ;}E q{pp:8x$SI OJ /'Կ$UNT lT#GLYKlrE*@* QHKP=` [~T Rav2'W(4̾4# b&V@|4 8EEiܿ$t/8 '}3|9fĦDb͝ #&kJ.R{ޙ(dY)pss@ן~ƧO NV:nU]ONSt§ߴk{83`"' DC>KMɂ&RO~o\0SSgHHT.:7w8Ͽ)`}{*(kLjD?kz877wx '\.gk%SD쒺݀~OuKɚO*,2fE!bp=u !Z^"djAĄׁMMȾlXН|q.sx6,2 "Ri 'dqlor2~7&&%~8VJ?HLJ_>ƭyTl1Č.j D:Z't1b .޿lysRQ&fF#ܲ}_뒑Àۻ'UoF}iQz?iJ/FT7>0U01+.&4m>ɔuqmH#}4ibPi-t5b (Bpa?j`z Ҙ %M-f 'ݽ|H_nn~rI&nwB<,&4]MsY;L1À̄?`/X bzvZog0܋4CCЫii tقm<"C 1NYl5R1i9E9/:dA,|O,HMdʏӸATb( h`X=NI*sj4:UBtr$6:N"NQ ɦ .1& t}ٞI]0jFaMY'P>$]bS*э" itޢLMy$immGtmIDQwT"'N'<\S 0F YʶGٚ1&HOS%+H4*;;ETr%A%+窮<)1<-#xj~intXh^G06rJKk) V)kKSJZw!x~ۂEQ'9G Dh R4_ʥ5 YLD.Iwb1r*RȲЫJ*2dOdBPZxx|hj-=Cp`!, RU*H2fNfUHBBegFQzuo AL: D Vn餣IHVGY;E#i$IiJiՇJ+~; \_l78H&izk ٌmS;jk/< *Kh8cdvIeЭC!(4d𢚃U(P-.NΌ'2 +Y M$ ʗMLAZ7yu&pСCM`;?ԤRPyT@#ezeɫCh (#J6\UeRRZJ!`ͲJ#C̣f3k.O-FS=Kkq(fϮ%2`O9,4wAS;'*/dYC c ,UZ(>e!5)07[d)<C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑh.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME IDATHUKKkW#ۊʭ#!:PAA"PJ;upN:@\(\[JmX[j)Z 1BR8v';bQk'tgoo}km{F5Ƙo~J4巜Ͽ899ѧD=!"۞Dd262|h\.W7Y88H&ciqtt$Php ukBmuuؘyTUqmmn/ }&B +9iauz<+TUt^Ӵׇf\.)"<~CXZZnoo/$PD|>Oay<4榪zPRdƧTyM[[[F"V, !8888x~ڦi~1Ƃ RA!O`4M} t:m @yee{,.r_#j2 ;|LDzJRQUUW%; +~٭ dj_Bs"B.Ӄ`ZvΛוRohh|ND ?dh4J ujaa8fP ڝq, mR)[ m׳ɲ-Y]?^ŞkpΝT*ۑֵ^d~nnn溮a]Q+pն R???81ltt4dm>Sd<;;$Fs˲NH=*-YHMZu)[+ qnN3IENDB` / aFFNxNPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xtf **RG(x@PNG  IHDRw=bKGD pHYs  tIME 'wLIDATHǽKh\e߽߼'EhccQBDD Th|l4]I|4RD;E)B uJ0"$L43y;3ozs~?.偶D~S%dns|qfS~4}w}g[-^[)9֩ό? .XF 8U0@ъjUx?"54a(W)E)1LNR.`PB&M0籮b o-[8a:oCH Jy/ޏuܒBѱJt+vvA~K9 @k%2t7q:(I9IYʎa [bPExˇׂKgj<(;ch V&&/'@^?Ƕϐ.\M%2 @c qRɕ|V Y+ɹɹrX֜Z `drPJv=?\+JdNpi<]?5B$}tCIENDB`~%J:ibJ(R"ߏǭ/0KmT’.^Zb B` icJ@`;{!X[AN?尮0Ʋ?8JlN]Q\.lPӲ;K#Zu5q!P| _Jcc#X0VxtM>LER !-ac| o|GɍR[ l @Ӭ UQU6/rj86x\?zΛG6ќNq9.>n;%QA3鄂O$X,JjNᶦ2@˩@}#j*3Ї5!~կ} g=>\P(@1@kx=tMKW(͜_"c4|_ٵ>ݽ=/IqQ| `h =#dӕCf3i(UXz7/W>B**| Xr,D G"dC~ Hߚ162L._ L aRR\p,S}1@X"Q(XqѱNM|/p!2Ka -,aa AQs-ȪYD撻ѱu JǾgּ{7Μ1 ./{J!jjBX"uY|2RI۲_ouzii];WxMc|tpK- ֆ%nm<1:6jNHO411띝;~:_|GOʒKihlի8)-0arCǎ MkEQnޛ /_v۷d{{D2td[Jcc\2TKK)FfD(6 ܱ`ZdQ}}}iL&iyMlxroBKRӛ.\M^ɖr3Xr[ULW8,ZV_ovIENDB` ZZI xPNG  IHDRw=bKGD pHYs  tIME &m+HZxPNG  IHDRw=IDATHklٛ]&@H )R.UDP#zKT %R j4 IF\ZR¥u b\`].;3;gfNٺKIgEJr (@8 8u[V 044ȍl)%ukk#>`C~@? 3[!NH$6l[ꋛ +ik#EAhhh`hh .ŽNfΚ!PWB{ﺛ*gz.ǫ~C --OQ/h455|v:&)n|z3P0(+VSq{4䉓xUv[x<'}Iq/Ⴧ6/9C1T QEI7chj^MU108LSSaqfQ*W?+.8~8x|  [w`:Vi´,H)Q,+Z:te$MxoxWzPŋ)A(k ÿV+KoKa:;;YLss."a-B1J)b:bk0M ۇP~t!wrZ;'R4chm@2@ PJaZ&\7wў={^~^{.RJ$@J@{{&E {7R^pv{_Dw.UV#ASs kxxc.|7GPk[HI-[|H$nbp##BۋP155L ,Da ,8iju]CB,B<ibL R9HXؿVL۶h7rcWR<999}Ӎ7y'$q7㚮隢( TR yAh4\.?*cIENDB`xoB R@~R1MfxaPNG  IHDRw=eIDATHI3ozCBwLBD!BAğ@쐐. A8@hw-߭Λ"ye0R5W??xۣ#qr7#q.L`xPNG  IHDRw=IDATHoEں8v,O؇HE D(8q@\p>Kx sb``p  $'L0RAN ɼr8 <"Aa {+mF6cESB%%y% E%) % |@E.!}n26f*Qtw:)Y޾ ) Q34Jlx^PNG  IHDRw=hIDATHYlTU眻;]fDvFlQ(/_Ԁ&Dc1%. &q&*4H`ki;[9>(BQ_R }ǟxw,IT^| AZ brVg6MMrE׸\" EQFٔ9HQض}{q WW,xȿ>7lX@B)\B )!iuKP =၁WEؾSExMEEGB" C%KfB3t  B*SgX!)%9>nDDKAbl1Nb{`zʫwd3],'y0ǎ,ZZ29y}=uwsٝ/ONw0Й+b۷`(*u1`k]ǥ[lmɓSݨr˫ 8H\fiyWN{=ċ/癜bo_;R A@+8}4.׏rF3A@?4 333͛\>5 !CF#i]{@AE֊BᡙIkQiy9 9@CAp6mh"ҌJ -(%"|@p!4@kkާwE$^VkRKBb@Pp1J2*AkڻEQDhCEmqudcPcpEDƴ7]2C)"޵ӻol00$hPExVJkxՃ]ٵK\sZҥBBHdS?r.Clm5`{݅}|DžT? \H_ߞ)ӏBHZKG93Bl6|h._n>i)IEX 8&.pQR ZkN:67k޹0Vc Ru6VrlX__ZwfkOT*:I7WVV~v\cB2Zc!bL?+ZֳU>8c."1f %~>lNIENDB` BPa9{6z7vz'i\|ѻsmgWWW\xNB.FΙRf{zGױ2/~w||d$$#$UN""_#~[?RJVwϏ38 ͐)Y(IP ;{5j|?<Dfy?I@K''!r#0;v}wĩqлѤҚ!ޱB@ 2YtR檄$j(wޙ̾6R"AV`TeFJHֆNYfFyn`ޝw !R"{0FmJm dJG;V P3(K&$UfPUHN^z_2wڸfFiJJ4]jJډd c$QuPfCoΐ3!Z In3s_;jt8"{=PmHI6UЮnBB,ͺ݄D'D HJH)/6=0Xu!/E3Rq@Uyސ(Cr렃ҠB:֝C~ <sN2aJJ ɂ "[j7:74)s?;(q/|{)'2#"dH)1#9` ,eqAD͆c/r a0fCJ‹/w RhhQJJϴhM򳫵߹~?y=11D%8!IH^2.n_tqr=ztɓ8m㓓v-lK)G)Qj=@*&ح붘dF~c.o5s>,]fƷcIENDB`,Bsm%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxLMoU1xƎcI0   B5?.@"lB|@]*D7B#qg{Y8r|9:f8B{]漫RzKD*p`G1AzME LgNs]WrC%UWu7hh5f>8"i5! k(6 31ć)pr>p_OTn\}Wz s`X yR [ ˃M-gӓj;('0"#'!&'dQJ}ӃZ0ZZWW.<ͭk}%Y~9zJI%`dZۿ_"sZ,Ӛ.%]JRY\jSkW bOr e_^+ :wY(o\oW0] ^xou{o&:1Ekkڣ۞ O<ƀsDdma9- 2yMG /<S) ȑDc BNLw,\.˭=߶e5]qʴArIJ =V KJIENDB`#X? { {OsxsPNG  IHDRw=:IDATHˏW[]]3qbma A@[0XH,A  ;d!@b (DEJLxf<ϪzârJG::Dz`jϧ'qf D0ss Or,"ks6_|:%74lE f{:μ%l.G Kn% #_MO ڰL@=pUTA^ױ%[ݭ?Λ[f56؝aA+WU}N˽ĥ%T2+NѺ V.M^xv_NB x 3PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;r NJ=խ՗ٻnvm.#WۛBH`b_~+rivJx5Cf@LF&X,x*+"'K Lh.]SGVϿ1ʨ:U[kYL3iF1AJ RtN2Hᢥ4YYZdl3}s _t廤)Eg|5vQ!1q$b=T39i1&Lv& ~>Yj63Z_^\zZmK?ӏWXj/"]h3gȐ !Y3eCl ť ڬp rXk ~Lo_qڛE`ƉEDTZRF6x+%!XI1v_%^BwBB+h4FOޅv'836-_S̭ cÈFqGf6.N(NLS^- A8?Oj@vQ]$ `fbrNJX:6zjҩ+g9b?Ї-k"H&bJZ:QAD J sg16o6<695 џ~m~B{mª&UQa*]Pdӑlx|)})w4lg.]Re4oT%s$rܑ9Q)a6IgfɫIOG (ga7ZV%IџIQ]{sgƥ A-xG @sjUv/쀈IENDB`vx$4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:y@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 4 oIDATHǍylUΔQ(DE"Q ѪD\\ DWBSWт(P@W_)ケǝ5dfΛ{o#V4^mzBڌe7^Á$ŅԾ4O WꪥK MϠjT+iIGkdOlcn^?@`{#pT)2Ǎ#1(" PAAՃ Κ¥7&"A1#  4$9m*9OċO$D!BOa 2OU 0w$uGqϜϛiZc ՠf Vaٹ%TU[_&P~F)!QD'߲yA:",]9u9[>@;!PT2WL TF~tVUDU%?4mmcLA||M8(NK+"`BEm &-kwƥnRP:uR1{W]MlY2Ш/ `| kA]rM$R (!;ğ᪃R1@AJ<{p?DAC8gi&C"@Bψ_!""L!]Eϒ$wDreÞ yH ]DAPD1xW9-sFЖ4vd&(ye91 @*_oiCU.7p= 흍4(((]6IENDB`>yq ggPrxrPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH w|0q}pl܊!}EEpvyv᝺[\AH֪iKE-[zowV3Ȩ wtmRF5k(,坽8ypG[Giss +Q ؃ _ϳK<=,N NK1KRY56YOkjJ)hCf6łxuŎ0fa1z@ a 󫑑lO:5$.J~s(CB1}OӛRwo"l Ry? A$L<T{r =xͤ;=5U \.`vXQЅ~TγS} +AWx쌤mcGڳAuȝ<>h F%O~*V6 twr(Dm 9@,:uwwd4V xN%2杘[G./c-!n/b}*䴱Y)T gt7̧bdkХS)%UiR+dȍrC-kf3\dk"f++i#o[죣N{R AElpvմvў,Q@&&_f|i 0e}rʉ۴ܹ?Omn2#ߜbY[P&ī۰B0īuuu n \)jɕq?*=jBHŠ.lj:ӧ_֝dC|Q#7q&xy'07ߓL'>qJmR0k^k)"kmm5N 02S3ڭ[&, s{oiP[- (˼y N1(S@#}+#8qOF}">Ȭ@&T1gDWcѽ K{my.ԥ`gVn.3(@-zx^6[$+T)qlωA?'^{Vc!"N7zzd ,gC/uhVau\|]&Q3vmy_IRD%Rv\!18BKw GA{v^ﴔ" Ngi_Uzf՞`2`B}u/6\TxK5 l4 >$dKY+4% naI=!FcJH– B!GwM(23G3JT2]tw2(e1l-qW~,isH) {`=DwCP@+[Kxo-_⍤(hKLf:6>.ƅӄ洜ӹ,PQ6@% Nq;~A8zݻ'? SJ39Xεr YU%W0SkĜSW~@Ɋᘨ[H>>>99;B^w7t x³X2 +i4!Jl:Qʀ2; L+o!-,p3j˫̗?fbՌw{X7~Z:|㌲9W`PziдkfčI9zGrm0'zXsC| ]>>uq 5aͤvi׮\D!ϕv֎w  S ]xWy4]QJٲEЃU}F3[1TĄJV2*0B # cIh<{9{~?ߛdm4Rl x͖7sjk*j҈P[B#(JpEV Q[MZ/J"r%jTcJTziϻw?pg̜o̙3o빳RG$ )jD!!&%EXY`[aH1 [PZ p;=b{"IoƟ jgᮞפvx\_.E<ܗ:x켷w Z _|OH{@Z5YVb3X~=̽=H/o챇iЬ<?YG۞N.t=OcL~@?9 c +4eLŶVÈb1]wQ{@Lݤ~\Qm2d}Ny\~"QH xV{84/ cմT-?Q K5;-3_rRSRsɬ]~0iXEe:<9y}|?>7v9-X1 el|_gK".rUHUJs: -(GW# ݈VP Dׇӊ $h98^Q-q%`~5fHh,o6ׯLIH!&v( XZ>^ ~}1q6̦{i76ḦT-To.Wj xBBXGdᚲTl5nsQIu5%\p^$ ǘC[gN|)][%7"^^ ۲ 2(m"@D;)'gG"֊<`d1u:/NZp:̹BXdy&fS8ۗ`c)/~s5BP4YpAnm@S WƂyl PQF "{P^</}^b _w H5{ qq?d67_@p`=VU[hVb6@6" m`o:L>kaklLz,>|KS]^\@gwvF,Ic*Y=C6E Hk3gdx2~y;/;vQ[I6OExc) wo25Jm'|.Y,>{MkSh̯ڵxBRe2Nh.D7={pd7uz/ˏܝ𖵟}X3}yhi,Z3sZtDѽɐCP@7ס&_QXy;#_8Lp vk:N5} …4D!~r9a%E|Xfa} eH?7_D}8Ы5-r:S[Ծ#]^cXҦ!j~KyLA OUhMM0der:H UoL >3*]֥4$ i 9h OߑUhʦ/!o`581b?30Dܼ$)!66LB'Y!Ue䍥/}9޺ufru A!U0 M[iNb:Er0Yc rQ xҌ3V߱X1x)mHp 톯&Xxd>R\nD65+ؙmz4-)j-sjsY;]ͥ KF̢3)&- )za+ ȄۍF.{& *v,A-ޒ}vUmhrVJ5 s޹0L-Ϳ Q঄z{POe˿X%\(@^=IܧE3Z|i&}V8ڝ^/oiu\8\&F6L,da#&076~'1-ǂM0k\ah)rt7 [z`Z2t*bjB"BoPo/pP_)cSBjj]G 'LI6ǵ4e V׷2:P^(39)T5 T16WCM 6ǝ _D~4gZzT#y6+f/(wΞ6;k`[KquzކsFTn+W4NAI$mP#Of"*XQmp$V+/~ii600cqnmEق-8/.-}P>or}"p59rUk_|E4Mu55{pױyq[!޶孚7== 4^UnC; "QxiJdTJ2Ow.Y\3_`z!U ꚯ;o Rԭ6 =I? ]*i&؂T3~LJ2Pe]-V" ][8H{ώWyؒWD ?i:Vba[ɳYT'--ioJ(0c?ƣje= [۫˩NZ C59 *u Y^sxh735%9JS]7ŪK xvUMM[ -|3I{pe+`aa! #R~D$νMsωYnqUѽzG{{{ 7 FqQn1m k٘שel^6T|=yU<TH  ,O*q1[B;1ZRNeV{ɼ];n"վ&ewr3I5ǣ8$#=J9^ @kp]Ex؂GߨR6.+J'˚3jVVU ͓H3/1uJ.v0|iu b^ 8 M 6em7wQjL5[/lG.fL|[AUŕ`kDnܾ\ξ̐]rd[g'tIb|LjWT`$v1YؼSE{P~e5;bCH1C}լ ֜R= )K:|Kԃz8bfj!{mN5TIYXaً֪)A\@s R9c xYD%qSG̺CA.֮g]e )>;F4!LĚCdKx$KMv $߇oJ_TB:k@^LO<ܵ`'ܓb~HTdO R4#cOժ_bW?Oi^x KV"w찾cT˒X1uʡt Di#i.M[o~}hJ%,ܷb\50<v7m'֛ƘmYt _±SQB9Ԇi ܁J0jz֩^r-VУ;;;Kf@~bo˶MXLlLܹs6 3*[WᜤFOSE: t-T)<}QY_},1eært|&B#jmMTINK]q=MirOwBy݀5 E x$3)UW+ 'o`ĕ]jfWF^0C@ '&XxbsjdW"/Mum(;m4"EbSAd-$0 "OW;IՓvI^NՈ$ *ZZ ;T1S) |L\!"!!J78M6}6d)ϭ:NGGU4mdrݩoɊhzWp[x8*d>ШѪ2Rs%]8HpX]f~š/g =ӕ~̶ΣZޓ?r>3|XwWUK5rno~Q e/S gk,/:<pB)Z$J|<ҭ+n  #+~;UM$7t*fo1{Jo/ ܅+Wk~iUP z4Fj't,"S/8fV*-Z3\:_?iޒzXVRf9yCi[h1l/P}I A`.\&aZ=_'Ԫ4pI6TGeǤW!LG[Joitzk:(C 8,PZAI0X n $CoQ){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 0:=vjIDATHǽolSoP'Ɛ 8FT* JuedѦIӤMX5+&`-Ѝ%$FHĉcv\۹w}弟=Gy1ݻ7/JuF B>z᣽ݤj @1 |avC2u%0$`B|-3$ إz;`^mpAqYqs8(ꁧɺ' TWWN!!~/%%IR. !>J`+QӴFG/\Fg6oLбcǒmmm庮;Ѭ/8O>=AuuTWWbx^en;}`wwΝ;~7o[O?Yk===$]lYN[ccco v6gd2bcUUioP߲=AZQΝ]\A~~u!Z[[Kf-L/o_=V!8{eH5 ~7@Ӵ`Xdma}9wtD.).>x>bݻwTU||+q H-)Sx)Q(0ʌ[<7^}k'' bXly Zil1&s8Ba;Ah!Ϊ*e1%qMZwwhnnn V].5558Nv;-[ ^6@$ڲ̬h6ݺuҮ]"%Z8n߿?$N};)/FH-R (.su/`bbb,8h4B8 Er_ijjzt:QEQtvv  /$SwMFcF___~:. 麞鼼aXD"Qv)Ft(0B8-l:o|!^fe9*UVV~ ˲f͚5\Dm#32GXgF^b65E4~zOeeeǏHwQKJJeff*~Cєe>9X \Z׮"4&TȲc:asLytt0LFf$lL$FGIamE9qRd~TX@}g$) %) H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@FKT8x8PNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME *>d@IDATHǽO[ǿ{6<1!clL UQThED΢nˢXYD.RU.J !H˯}=.TɨJ~7,9?ߗ{qӲ ! !Żw?|Y]]a BD!! @ tlf4 ! L9٪$ !l)d2pAq |fR<3ZXX'tz  BEyt:҂;B[mbx*jmllpbNj;wTU&''Iӑ;ڽ{ꪪd2zBMH$b|܃_ !!,//a!/F)(>z7o$m l6}tt:,\*J<>5mTRqvZn7CV}YD򋋑TJfGmaaT!BZ5!p\ U>[]&o702C#" %geYVw7yG2<(]|YB p2ƠjUU;XlYVʴW<__twQ+KScN;4;;۸~aqq1v@ Nj]^^v躾ѵ]tf~~<~S P?G [p&+Ws`8h&M$#ZmK1~kL}y?$hS !0q ߥ;gf'OST4!f:D"csɤw~ q/~?`[CS,Ư;@'p%UͦAI䤉D󥥥ᥥkΩ4[ 2^ BNMS€`~!x]+BGB2R88y lu7 (kFp+,pnC&.$rl'''@ UŐEUUxv[uLR.z'<LN`^Y`kCmGh4 ˲Fm۾ZT۷oDjn,s~#װaH0Bi []$M6lA 2\.4ҒNիWv;td((ITr:C1hӰ ۸~9,fs`04HdRJyeq]|hݒ\Մ0ML 0&)jD,01Ei(J`Z<>ʅ VlL;  Ce1qc6jrr3-*! xO>F~hbfz,Ro T͎hܲ,^[GGGV~{{;gFǍ2IӴ<9ν=lllǍJRu8Q֭[:<OZj=S3˙g?iHrJ6IENDB`W.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 1 JIDATHǕ_LT9sf`A`Eg+6j41&H6‹^46zEslLĘX7mTdX-?F@fa`f9s^,v}s> 8qmF-,tv!]t)7xurdRʷeRJ'`, BWO[Ku}򈔲&4e+,{!GRʇ`0T@ P HJ8WzB|Bl`#0<חwW&P?\C!E!uMn9^UUn ! k}0ߟPuvv,@1;~ŋ3(XŮ\tvvJ)K)877qpM88ve`LJy' ~RnR@Vxtڵ!s)㕹\C' μfQccWUտ55/--jeOŢ#of;2;߮ohpRD~{7O*O18y$tNONNzMܟZ\(S/X92ۤ'E\]CP:NHxMN&I!D(EmOQBﴍG1 SAsR)ع!߆lM\FTJR 0P^^qZPCpk3E136*S"6POb8={n24&''JKK㚦%@ 04M69\H,8r ̏ P.] m}+s @:.:a&''K+u`` [UUܙپ[,^ȑUx7R}u6=XFɞ #'6 H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qW b0XdxPNG  IHDRw=sRGBbKGD pHYs  W8xxPNG  IHDRw=bKGD pHYs  tIME (tEXtCommentCreated with GIMPWIDATHUk@}  <\`^B|Ch=%:@ԡKnSHڎN6% 1 b0ؕ#~ֵR}%-jhZ&زmZ`LS,M͙vdֻTkJ ^W‡5b<^y5 y vu0Vʈ`5U)"ycqs!oW2UpzvM<۔VO$k~R)8p_ O/Փ՗^GJC .f4nU|S/K5^WWy^WZ|E5yV5I /7"AwLc$:B"N;($ƓYOt 7ʼql>4Jn<,Rm.rPJG#n(3Y8NI;gׄœ//g(|NLZuy}ʆW?}s s&D2ͦ4MSLl, X[?RqBضM6e{{%L\inn~ǿ %onn>**ضa gcc cq9wLQ$p@ @}}=pB~Ogg'ʽTKK˯7/t]IQ)~?`~?^˅|s||,ONN4/$@wwwҶ jjja<. )%RDJ磭t:MXOVdT2 Gmm-B!>rhww7DUUS)x<B"bbWB0<#ssslll@ţ¶mb(+#ե޹\fgg4<-qBBRb* |{{.( "֟^=pqqq!H<{E_5tUd-EQLȽ%ɪNh4j5rX oR> jU<IENDB`b %%WY2x;PNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<VIDAT8˥kRQ`A nozѨK?!eMmm9%Mٲñ&5d^lxusnSA/ ** խ(6ZDsŵ>9Gׁ 5lcf l"|n^'iṞ![>DQDί'r::;Hjle pg,.\ ZqBx5K$b+M,*$GmiQWI2V&ahQQU8Qt)!?D~s Ht+TZ4 Y h,Y9t)>;#(D{k |sG,â\6o7`֧GKD6,8|w#ûUK3A.߮X  4w6p^8{x}u6xYWí\O"bKe1!ޱc[ 'zf>]"-Sl܃<^ = ɲ 0ۍan2^=D6ܴ`cw)䫠iJ|rRIENDB`? hZTx*PNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<gIDAT8˥Kq zäqV(uD).Vۚ:nWS$#aKkz+mmL36v„"=>>}1: /8y>o??#TX|M-Rv,n1O1Eirf&F@lN.`9QXһ pg\{?~+E4  @[ˤ:!9%)ʅx.D F8]ND3deH']\ӍNtqP|PSt jʙЈ2A>"eƍ헮?F>3eh=,RA$!d8 «Y97'@77DQf5Ž֧@x&_mjn-̶/=e,ZbT\y—Gu+{!V%E[&ת+C0o2A Q{`:Nپ:ZpۅHy ;{`dSTyWF CT>;/좓IENDB`[DByzz $).38=BGLQV[`ejoty~ "(.4:@FLRX^djpv| */3489:<>BHJ"O%S&T(\*]+_,b-c.h/i1s2t4w6x7y8{:};=?ABDGJKMNPQRSTVXZ\]^_`abcdeghijmnprsu v x yz{~!"$&' , 0 37;ÁŁƁǁɁ́сՁׁ!ځ#߁%(+-/012345679;=?of.flrx~ &,28>DJPV\bhntz "(.4:@FLRX^djpv|BCDeEiFjGlIoMuOzP}SUVXYZ\^`abcdefghijklmnopqsuwy{}    ÂłǂȂɂʂ˂̂͂΂ςЂт҂ӂ Ԃ!Ղ"ւ#ׂ%ق)܂+ނ./457;?CDEFGHILMNO P RSTUVWXY[_ab&c-d /+/x\tx sb``p  $)$ow `@bnafd5G(^~[ae@!׈ԼĒ̒ wO߀F>qOǐ) ?446ij;f ́<;#>x~o[͍dXp|\j*pOKZCv ~~c;YV\+.4?4(=S71Ohz|_ۖno|+IT3X)찿E+f%vNiZ^;579/䶋KG68jG]ϟg?$Y?+xˬOխ9إxsNY3NY++I6EJobƇk;az/ύ5xrCyF{|Ro) xQ[&x sb``p  $) w'ud^9lI. 1 Q%I@bnafd5G(^~Eߔ@!׈ԼĒ̒ wO߀F>qU2.!^b z>LJ]SF= "{r,Qd:cC ) K[EN l"[m& S:LZUu.KLk3.O_qm[⏩3̴ Xҳ00<]\9%4q L9^vx sb``p  $)$ow `@bnafd5G(^~[I]OdkDs~nnj^ sQjbIjByfIo@x#8PcH 8^7wDc^,NQ!VEeSBB/~0]dxbPNG  IHDR szzbKGD pHYs  tIME Z tEXtCommentCreated with GIMPWIDATXcd``0#5q@,1{>Q XIcMg72h8\cu0U:T>آ:Eg"-TuT rR=գOq\hE%_?QOHcrc?Qٍ |!a#~:[[/vݐ`yDOV+OO&%Aε;Eغ b/j3d>gJk1fmŐkz1010rp0XaR`ʍX[‚آ 14\bp/Wb`C^"pd# sry`aF)Z we`]9nQB->NjSHѐg$431;v͙IDE#ZuL>*.Y7 ;&%a _1iM4 hDŽq餸IENDB`*',ks}8*EPvaqo7vmkFA#{\]dεV֊e/<,J`  ݮDD!*SZUw e-)-Z[#n Jgn"I#UY+תZ.M|fYm1jWeKЀeFY Dpdfj]Oq-kfE0 $<` H&33"Wq7q˷U &'n~ M<|3n"ȈX\ ^d$Q&d6M0\"",3 ,z)]d} # =L3%{y˱ /Ai/+7ǿ4'|vpqލPEv ~Cɠ^6;. E_6 8/xCiD6!i+vo?R]޻&ϿvX͇ۡDA-R㻫.QiwwkoS]qf w|v^h':U507̃.ld"B{IENDB`5iYh //v`pcxcPNG  IHDR szzsRGBbKGD pHYs  tIME9&e@tEXtCommentCreated with GIMPWIDATXW1n@u@F%)ME7D\!  4 ,d9cÇϰ%K>kvg@F l׿ x0a1fyˇpe@c>`*R&QWWF@Tub5K^ez렞ۮ"To.OyH #Z;NB" ?MǁzZU wAw4.{[V+2beAI`>% YD$*qBUlX9'<;SNg5}O[U#B"sUh9xw4e"{wn #x]@?gE("OH Z\,8S d=}TQ[ʑHOdO> \,gT]p:~aAReF}h])8 F2a-IENDB`HK_8x8PNG  IHDR  pHYs  tIME  *4tנctEXtCommentCreated with GIMPWIDATHUV@o1s ,sn+T9c-*f$H m%Ctitq-܋kq-T2|9 L7&l@6|>2f<`(usy]\*fFDA d /#t;FU\k㺢VTEdL &=pc˒fЃ'ag X //MaxEPNG  IHDR szzsRGBbKGD pHYs  tIME **3-"tEXtCommentCreated with GIMPWIDATXWJA=jBMRt!DM =G3MDdxeڍR,Hm6:;;53glqH"xor"YZ{ooQO!z&֢|e[кc+f-kvNSǜ ` b7O7εL/Yqm ;K*:4mED Ţvڻš4 baXJڻ%sA(,oΫݓ ؅n+JJJ0h"9mdW!mw\#?&p2Xp0}*:+P2/Z玏 76Bz ֲTʨQyioBS&9xFVG&R:vg{|([[$8lh IW:Fj+4U># Eڠ5JQ4FR𮧒S9|IhaK4tx%dgz R6߱~IENDB`a0 wwbrxrPNG  IHDR szzsRGBbKGD pHYs  tIME;;tEXtCommentCreated with GIMPWIDATXW=n0}A ԅ3pЩĀQ$.VX:1%+CEP!H␀?2`1h:Pǽxmn΍xddu)]S /$pC$"p ! j#\0컶`Ԝg !Eջ:59 Ry.^~[@%SG@dSjiXG Vkf/*r]F'kD͸^{^uhʟ)F`MH̐R!U%[ Gp&<0vdYX==8IFB׈01?e9-EP^ ͟r| V5"il~;]f\%n<0o]:Q|fa8IENDB`j e.xPNG  IHDR szzsRGBbKGD pHYs  tIME |tEXtCommentCreated with GIMPW]IDATXWn@5,HɅTK9Pġ~>ws;N<D 6 =ZEB2 3[x#YZyfwv- O84PnÅ=g Y I*=D[;ѮJOOlŬQ8>9V)<@ qlhQD8~ wf2 $ɦnW?D @@D@@uHu/t"~pxo\?h~Z;3 {@6!p[Y[1aÊ@1aSglU3eri⪵@fbgǻ>Z@IENDB`@- ??=g~xUPNG  IHDR szzsRGBbKGD pHYs  tIME ultEXtCommentCreated with GIMPWIDATX햿k@?R햂m4쥆AK]ZJ%;-N]l2$ESc! I|-YDg}?޻'Y`VtݭO S=,Cl|V{<;8X^6XP. ڛ e\O&VA0s{L-TMQ!rTP>ў,kTMYU\X>e-3jz@Hڞ$>6l5' ŋrފµaZ,4Ve+.siE .\ b}`;KpcOΏxSN0Q^ۻ<: vq`/ CQ@|g0p z`e{~L ^|T{G?NCP2 ARe!h*wR]y1l^C'Q= !aE`1Uc,t6W-6():Ihri+ ́gYq3\$,#A'<_?s@ RoS5xUvoiF*u`Ċ\0 PԬU"yY=xا?r;ne"R{K@[zΔc,@\ "8;# G WGÁ7BtL¨ ٍ"~gXXaC;T7Jaa,tTZi(v#c.O2O"͚QfaȨIENDB` !iFxPNG  IHDR szzsRGBbKGD pHYs  tIME , tEXtCommentCreated with GIMPWiIDATXWO@}+.EBk)a=՜!zGp7ߦ_A)KZ [Xl]C03${{ @qXF~4! D//PoLH!ޜ}DӞZ F4gn[h% ]'y HoskE"@3F3sL'AӞA-_miϘ2T;c %E4uy22JC(_E Pw $GS mA M&ä}䟁9XUwoةӒwnP@_+g|v4~y Jc"k,Xd Bo9]rʢkgaSP ,Bh$MPR@)0,*qf/S%@ 0-C} ӥ"Y!U~_͑-kx6sܟݨYas:w)(#;:w׈&no'QF gx !#wr@drB$~ɷj?IDn{[] wd2uIENDB`Pw sjj`x`PNG  IHDR szzsRGBbKGD pHYs  tIMEDbtEXtCommentCreated with GIMPWIDATXW;n@}Xb# J3pBRXP \ m 4R6AS$K 쮝ɲdy=3d/jN_#7:w7m.lZK1g\>ex:箌 E`;|{y'r>\JMsHlt r_UThNMC5@D{qko:D"WɾR2,(o4 ^H;PDcWّϞ~a@ngEw4@lb;%p:͢ŧ NC;{_fcBg!҃( kb)M(:)0Q;섍totf֠IENDB` Jk7x7PNG  IHDR szzsRGBbKGD pHYs  tIME %7)ЎtEXtCommentCreated with GIMPWIDATXWOoAeG 5D#)HMx{ Ջ݋LLi\lM lb#Hʎ .R%μv ǢrF2 rv+^,:;:-@CIЫkWT贰szPRh()]\Dfz St>b5 wni߆al_IZ0}Kf{#Tb7;m+&3 c w7/ vX9Ν _c0EDf'BWȕ ׾+劖W"""f:J"J"u0ȢS*}%i#3ܰj!9p4ZC@Ղ0XT>Cm`3dn̟ds o)DsأqSS1]]ȃ?dҸID kZWEa8Vۖft[Jf3>D9be0$ Yd+o7ebe\Z2gdl0dYmQIENDB`Zlh DD8ltxZPNG  IHDR szzsRGBbKGD pHYs  tIMEɄtEXtCommentCreated with GIMPWIDATXWJA=nܕD+tR(DV $"J F-Lt׸ kfg.{Ξ{av ` $p'KIwCU ` }'zq? -4Ŵe7zܛC [ea/1r7'H 6`x:=}TL.0&^sc% mք.z*h%Ԇ 4ڊJQ֝25l) $^v">vHBQ]Zo%QQ/"X0DV\Jʳ2U,5m,0I@T1cqiyDW`|{;\xP5x_5\,&¶ "jz;M1aVv7cC1m[+?,lV܆=r &7dqj!z?ϲ]IENDB`u cmJx/PNG  IHDR szzsRGBbKGD pHYs  tIME tEXtCommentCreated with GIMPW+IDATXWJQΌ*B@AΓ+o+ a+E0A&zZ s9QE?b̜;߆أ }k|qVx6i;BvGRÞ6߄|vYb<-1}Ld,QcN ޛE'rfTgJ 7:FʺaGdxFYIJ:*)n?PuY@XH;Dٿzf= #Ld@̣kzcs ;$0&CTxzfJ:Nf:r Q+h+hq^߹kVDu`9lr<|2HkIENDB`qp0. 66FnxLPNG  IHDR szzsRGBbKGD pHYs  tIME^=tEXtCommentCreated with GIMPWIDATXW1K@}צQ(urr'C$D9jAt?]]EDl5sB\bc?4K{ 10*鼝sȿ]!܋9p8&ohWߵ0t.h3nqzdoklty_| '?>S ]tiCM%vMݻ{i᳚<\@rE{ @a~{q]of~QÄ~-smF:#Y[X^JX-5LĠDk @%"ZS+8r ܗ' >1:\`eMb"D5$Х?с$ a1:5̄Q>b& X,DcqŁпJJL%epbAMЮlBwư_&`|mT!NM}DecvA`pY]erxܞZ7]-iAq IENDB`D)J boHx0PNG  IHDR szzsRGBbKGD pHYs  tIME !9C8tEXtCommentCreated with GIMPW*IDATXW=K@~mBPł(duj7gտЪछFTX2iuiu T)!4 %Ku>ׅ _7&qf~ L!f0a< $ -בZ`e|(>3Z`fR|!4Yd2J*" I?YO$H5aS*(Y2lU+ÇX, UvV> 6{!|{1ۊU@} K~fegQi{[jCy|el/=\9c7왱,lg6$/7Z]@[/YZOO jEYֿY="z1} "{exG4%WzWz!@.~koRvp5 AjuCaHUYMJ~>"2aTnwB0x]Y$)|$ve?`Fu~b 1Z&uX2#2ĚP"ՃoσTLr[Q#gRb>t0{.N( Ŷ$rYUbub%/F8 )\yDLϲrUIM.N_V$w[ѧL(F(US5o­4a''4Us@FH8NZ;8kl~jP9 fJT\p3J`LgķL7> :nqXV*ݜufl|`j`yhM %uh(IIdNiFyIENDB`R 3 [q:HxHPNG  IHDR szzsRGBbKGD pHYs  tIME1_tEXtCommentCreated with GIMPWIDATXW;r0\CSq*70Rb \!4r* 祀g$!!O $E&1^Xe.!)9x4"M[ {=`r/b,@2"m`p&#:`-=V~) lBt|\^Qx*hUD 3(Yt|ή9}dLq8Wxz9zwnk30Lf]lp%hK Q{PMf}ӾIضTd1l|\FD5^~@DUqvݑEFMk-snm]չ43sV_Xu7bනj&̾?+CIENDB`Wz z+z-s^x sb``p  $) w'ud^9lI. Ap品" 0kPו ndkDs~nnj^ sQjbIjByfIo@x#8P?Oǐ) ?446*ӯ}s<><qUʞ.!S~7hhhm.}IOT<^u+3Ąw{Z*'8;,ԶMˣmf9zBԊ#ڋ]1;C3@֭Ȳn}#1/&;JHHCYɄĔ"/.P8!ȭ]VI?0{iR‰7)IHIIx}x˜b@_cE*ȎSnhW4ǀ+#yӅÏ)M匐q=]irKGU҂^Ɵٺ/0L<]\9%4t+ $/$ux sb``p  $) w'ud^9lI. Ap品" 0kPוʗz@!׈ԼĒ̒ wO߀F>qU.!NuAm?#.[6z&m_Cu% YIYq q5ةNaF3U7.?3. B͉ڳOj01X>A.7:- Jkg}yGd׎'òc5Yf<޸}{'B&~{mSɭxM~{:닽'kɐ6-L2zJnq3[WL = ^>5QU fE6gwqh1łj2b"罨=ڤƴ·)#tUEUnjכYQ3/n)Ծ" ט 1) /Mtx sb``p  $) w'ud^9lI. Ap品" 0kPו«igʀB%%y% E%) % |@=]C"'$$8o]W/)zgo:)mKXV9IqBǝx'Ip3z=bp ".[6Ԡx(@L)Cٶ| |]b>a'=r#=<<))aO/eSBC҃[v:x sb``p  $) w'ud^9lI. Ap品" 0kPו+ @!׈ԼĒ̒ wO߀F>qU.!߆[596H7`jm-ma}]lK^rp\n?)bV _\W|wc[ s)w"9|cVZp5QҵJD #|gz(B>+Ã@U{j̙Xp0{|vT.L XOW?uN Mw&) AALyx sb``p  $) w'ud^9lI. Ap品" 0kPו+t5@!׈ԼĒ̒ wO߀F>qU2.!S~7hhhme:w.ؙppsκwm_B~ 3kORN@xy!WrGHظcڂo2[a`ĥ1CyߟuZ"U%%%%*npqGԩ 5 Oبodʮ!>Aj͒ןᱟ~à Kmk`'{ˍѲls֒EO|dsx;F򾯱 J_ uf*|BL1S[[ ^"grW``2xsJh@PhkxZx sb``p  $) w'ud^9lI. Ap品" 0kPו+dkDs~nnj^ sQjbIjByfIo@x#8*3Oǐo59$cqS?p4I-Lة#m{NV6##5rj#5?sfÌs1?r[~dwr]u'W31\|3I"=~SKh#v$SGjSm\ 0L)ϿpFZ%_s2\0`&Roϒ~֩gxxA]ƾ~[o1|D8M+rRszj}cVvo)R[rLd&3~[#0SGo Yw v"Ô2 翟(9a|eSBB >+{Zx sb``p  $) w'ud^9lI. Ap品" 0kPו6 7n_-PH59?775(5$5E<$C7 O菧cH䔄 Z`dU77Vf7Y| Wީ\vJo|Dwt1eqnދ1F?6({Ⱦ V7(|JXfC,6 ps:UˉO8*:hqYV"g⼚lO5ny"% v|pQ\R-yYaJC̎IYX$%jK+9G310<]\9%4=T>zx sb``p  $) w'ud^9lI. Ap品" 0kPו6 7 W9@!׈ԼĒ̒ wO߀F>qU.!S~7hhhme3sV>м~<><yɲOwxQqIq{M bL1{8I,*= 3J 6%6P0ź9z!0v<]\9%49ґ 99Z8x sb``p  $) w'ud^9lI. Ap品" 0kPו6 7ϒ@!׈ԼĒ̒ wO߀F>qU.!߆5H^2ݵQœf7gXZ,`Lz3ܼg [tKD{Rw`]ǯsg1#۷n raOWV|tԩRc [iSsBʾ:SK]QLrli_Ya\xϦ/w=]v͖"Z SUR/Aitwk?> WOW?uN M'e~Nx sb``p  $) w'ud^9lI. Ap品" 0kPו6 7U@!׈ԼĒ̒ wO߀F>qU&.!߆Y2M4}-K[j;8N`08ܺ-"jGCV.~oNhl-j;WoLQZξz?۬Bk ~lֹ3T-ǽLk]zQ,9|oڜ57d;ܯ pK|Ks驵 =z 4YbףKT8tD,bu`PZ0e˼Q.:Uk/V /!yÔ x sb``p  $) w'ud^9lI. Ap品" 0kPו6 7Ci߁B%%y% E%) % |@<]C"'$$8o]t_*ؙpp3F*Ss/-匴@U[lWl\qB /xI9O|įWD:BF,_6:?8(Si#bNiq_nmH(6ꧬxmFܷNMY43RV}(IQm=l{_`(9-)!!1#BBKswxd-<,wAo}N|b\ɝpq{~n%BE0̟iٖ,`1xsJhߤfPx sb``p  $) w'ud^9lI. Ap品" 0kPו6 7G.PH59?775(5$5E<$C7 OhcHa}M:/m5 BԆZ\)}dцw }Gob>XU}ߧ 3r[OUK`Ÿ#a}\,Z7"S=:I|ph[c ug!}Gғγ=&V;JZAKy`3xsJhCK x sb``p  $)$ow `@bnafd5G(^~[Oв/B%%y% E%) % | 1.!Sg`3a@yno{]F򬍧vX&k/FyҊIڇo3oN0yypXQcN5fǥm/bz` fG+L ;O8zcwsfee\5}ur$2mV`.ݔ@lc5mU\ir!*㕌%%~Ü+%v#eSBJ޿ 2xPNG  IHDR szzbKGD pHYs  tIME  ;tEXtCommentCreated with GIMPWlIDATXVn0N]Wȃ$s^R'OLx֖SlHi#wH`RU}#Dmo8Et8ݵJSc"S#Wkoo<[ܽe]_or$O;.8Ar2"wU>O }'D绮!|p.eDg/<1A?6`?k Ɗs\hGXM#քMM 5%, D%;:/>U1kro)n[c6fKV\h ,2 *ųӕ7>GAo>w2/JЋIENDB`( 2xPNG  IHDR szzbKGD pHYs  tIME  $;tEXtCommentCreated with GIMPWlIDATXV9R@ZH\~3(刈H !<(Q䜄0"bDU{uwf@ yi]s fc ˼"Md?%'fV֭qLN5֋Qn&\;Oe081 |:px'E N2\%'Ⱥ!k=?v^jLtǿ*) Nu$>7*PdY*DD&|[HK3M$wN`tD\Bڄu/Pٖ7M8ݢRv忻bגlE@{`*+ͫ=T#IȆԀIENDB`v xPNG  IHDR szzbKGD pHYs  tIME  ;<tEXtCommentCreated with GIMPWVIDATXWN0EݺKIg^)SJ@g }.ق $3@d9lSHl$9???m캟@4e~"vIi?<\2P IB(AB":*I(NUO4eԈ> u j |HD~\!EX_F$ӽQXXVv lzGB.!T&#[*Udn4ea5a_{[ULC>6t~Pm7=cNH39^ɪt;Y߰;:OP[ituKdWjחIENDB`׍t kZx'PNG  IHDR szzbKGD pHYs  tIME  ! ˢ%tEXtCommentCreated with GIMPW@IDATXõWN0=vB:!J2e6V>!S;Vtb!1AUE%5CIbN4.r} PW\׈ n)gh]?DOC7 Pgu1rS݉k4Cg}0M.&& i2Ip~ d+"%KRN5!^!i!fԑI$f DĜlpR%X{q%;+.T _E\U6?Am۶]i@m ieG1$$ mT|9Wb7lHYgwW],^>7ihe_Wg $_y|٩ \_o&T6:odD_ Fn ġYD5H%:tv&$;ӣ89hY9>acȎ ٲe Wtm#MIOZ5}KN y~hj^7cѕ~L*5CRU>Jb6 uC`1FA hãn 07ԤdM/^͖!IENDB`v3 unxPNG  IHDR szzbKGD pHYs  tIME  t"tEXtCommentCreated with GIMPWJIDATXõW=n0q"C >FQ4E\ @' E@Arf!"@6\UA!MQOYodQHtc0|>|܏ S'X+qm>KK{aT_$GZw\妅s_ƺ@e|\FxFKCM#ܐ#qr}u#&6# Gޑ8rbH14\;iUIK|+)ꦔ,' y wzΡ$XN}|I,w7 lֿ?yгf~F;Ad l\~}k-C}[8Z 8 n ꁮ; qt!E8<k/{ mkc65 Y ԅgN|  A5ńc٠8=lJ]Tȷw]` xX )VT6%CfF#ńO-v<^h$ݘ[-!$V4 q:˿͵Y>K+JXPi*gy! t%a;1B.Ͽ5[wzd}+-a-IENDB`^? __6 px sb``p  $) w'ud^9lI. Ap品" 0kPוan؎@!׈ԼĒ̒ wO߀F>qU.!S~7hhhme3sV>м~<></.)qDT 2 mӘ_򟟬Έ0͚x*OI/~;0 *=ZȐH=gD`2xsJh/w LcL *x sb``p  $) w'ud^9lI. Ap品" 0kPו:@!׈ԼĒ̒ wO߀F>qU.!߆;l O&FH3d6 'Ks7Pb[ơS̪!{A A+nF-$Jg3<ذCaGl8xB1XLK/'MakJpkvvFm3-84|I v35U _{ U͹+6!ĖY7.f>E=`\z_XN=:Ʌgߝe|bV-m-84eW>n&/xsՁW> r+#Ga\/ nش7oS]ncȪlTs,MuLoՖiȼ F Vs:'_vZ/5G`l0xsJh̤Ǔ 6x sb``p  $) w'ud^9lI. Ap品" 0kPוb s%K\#JssSJRKRS3K2=}ā{8DNNIHqޠ^R\gU)?b%$`aEÍfrg$JlH tX4a)'xedDVYa_ ~oYc @!YdTtZbb)קɵԩ[̝$HɌ :w5zhn)sZrE3='Nt(3jVR:WP2 /^6[M笴) O\p yy  pxpPNG  IHDR szzsRGBbKGD pHYs  tIME % rtEXtCommentCreated with GIMPWIDATXVk@Ζlv1K<@M@E0-K[vb:xr= !Pׅx*q3Xd(tO?NnɁN:{߻/(un0D bRPBql Hp 3_&"~L%aM#Ifr`<3|!TH"L.UeD:k%R@heļ8~~h!=&-h!Nkxz%0K\7%KU6cdh1RKΗ[Pvy. H׆fڤh*v {( hc4d&yEc:8(>71J+`Ih*MEV࠶aeK;3B I=T*ӿ`!g!|Eߥ/P5fESͺyq}rUZsot)!/Z@|Zf0ܙE=^$ O=B\2c{X}HR| Z–'B} 48"/W&/VqC*RrЩ\2s(=|+z?U64tG5!w?\l\X׼~&pyfQuO~H0)%p^v`1vIENDB`}{ }} lxlPNG  IHDR szzsRGBbKGD pHYs  tIME &2OtEXtCommentCreated with GIMPWIDATXKA?dTbVZ E m4([Q{ ri_`B)\(%Aha(ژLawf'{&z-)DuAv)iD!UWZb.=t)-84ı0pOB T26()s }fd:G[- `LptnɋB! H ֏b7 M᎘  HIx#!5+G;|xH.;!-6g2],'eXUVvq֪QI$S.z00tiU $S ~F_ *Iل2A /Z5U#kU%רAXB0lʱ?U~Ǻ$|nEKgBU%ّ~WOB9pʘD7KS] X$~1Ɨo#7v'2VU|"D~ICZа(w'Νy |v򫃪V) / vRNLz^8؝GO]Owg_c~a`C!s~KCip"A[pv~0zֻ+u JHp a1\kMk7( MIENDB`J G4x4PNG  IHDR szzsRGBbKGD pHYs  tIME *):%LtEXtCommentCreated with GIMPWIDATXW=oA}9cɗ)%KP ("M ߐ&I*lr+db#H'H9ΰ)=-(#yocg G*TSEez2m/"0:} I?K2#!΢ۍe'~m:1*sF!#.7"HKWc`Dխ-6! v0quƖɏ/}=[O R5es9rbIgs9Dfv!7pp"q:yesE׾pCBv=ktYXM0&sS 넭3l^y9><$ߝ49nBC$hD $~nG Cf`cwm% B7a;v]bƫ-L`vuK'ʾr_ÌE;T~0w\: g| մc.ۭSf|v?Ƶl'29F2:'I(4]xX$4ԒPn yלdBsyՖɏH zuZE[o H{D!D }1FS9 cPHTHAr/KB9f2ȢԎWL6D>RIENDB`7b ;z(x(PNG  IHDR szzsRGBbKGD pHYs  tIME , tEXtCommentCreated with GIMPWIDATXV1o@^bjHZQ$&g ډ.l-3] NSVZ&JTBB-Pɪ!81Dw}-޽{wᄐ{dcfhdv*dIbLئ3bM*q{LmNLqq>02fl {33ay0Ȃe $J7+X݁0e%(!xd o8(s  '!0x3\_wh rݡ5s'j=x\xq w)sߙ׭a{u ۫[ք=;{x%Zl:m^mk?ZfTuï*&IENDB`Zfv@ӍmnzX ?zn^~'טzgx{w i }A Cs]˴?U4V4\ޛecYX b]Z9~gfi8aɎ#BDhshԯ =|9b :+HG'mt. W ӸZt]Xŝ[xIKĕO0>pibv]ac0 D2[\KD] *A(R v@wZ>o__۷;ܡi#1Hc"`?4)pwnpitPŐj8o˧r}&T/xy ݓp}!rhg~ߜ;+~L_$gpgA5v6jKcQŔuP=~n<鎬=Ʀ"v$o6N[mKh~ QԨ#GW~{Cg]@)ZPʮ#68ܳ?T_߿zݺkJs/#O8EM[/)F4mW1c4Ņk,ujL?4zթլoAZ"UHv7HO?.TZX]/()}yVs&|F`74[ jQ! ,ٓ{B&ڸrg#Q)D!F; 3 &fF5QyKN_4dDcZ ]m* |xIENDB`o 4l!x!PNG  IHDR szzbKGD pHYs  tIME19tEXtCommentCreated with GIMPWIDATXåKl\?qqEM*B*PlXTRvl@B(UhYTE+6D$ Accܹs.3s/՟{|Y*C-]wĨD *^j+U wlqbl?/bgϰ%~E9&I:IR$)d4˭?q%,!$}3Kc0II#t/?F3]pYe! 89[1}0H7OL:o<00(`fؿ@5tF:ro>go_)R|G_AX6 51 - ,wd34 = Ӻ7jTrXh  xor]7z¹Ħ?{9;S2q3wg~e4Ɂ&\DhpIh> (WB1롣:l/ Enfqkt-.2vD5PJo9\\`P1^"oy5"M?ѭp<6%$Z8ٳ9t(1 bFJ̅m]@H OZŽyթu釾p ꬶkrO)ʮS2-ozt5좤}=cT x.~`z2h\xVBS }*N&'Rgv㻤Q* _?Лz;[7p n7ȩ_H b!y{fsems\*߁UMb1.-ŋ*dO}]P;sp= @:њOi~8e7&6(A@$7pAUT}?la?ʲz()QJ|V^˗2sygJyX,o/@Ḟ-jvGhNT)?/ 4yyF'' A&l?zT)^e.:iҦl^OQy*y-k,|)פu?++Fp&Baquiv ;/_BۿSgn fp6qmZ&:&>>JRcic52Z[Nj~Q} L#t>bX[>0 oɾ<4b41!hczʀ1o>3`Bmnna*'D`<"hFԞ iLK!zTS 6vIENDB`r5 D 1x1PNG  IHDR szzbKGD pHYs  tIME+<tEXtCommentCreated with GIMPWIDATXåKl\WcflҺie"D+`Ŋ%f uW!udžJV  BiS5jIc}scdҞ=/7\^,<|9oGRy]&PB轎R-֊z@K @HYv1糖OKaI]x ϽB~?|!`8X|C>{"қB80I8,ww2 қ&+7M\%Avj;ڪ򃝛(!eq`b,!I-?;18@>o`}c4JϹ՝.Ѐ9B 473SdfE_zb a!lSZGE`WQ4t<x=QyRIU{hR{<é8ؔ!jh?$+I*\UұHiAEbBV* }|r}f9q^6&cT[1t)ّbBr"°Qtv/p`Ws!;O[!% =>fx"GC1۫r%Pt,{Ǯk*8|Q??5qV*yV6^a]:#a5烵6b<|3 (pxFδ7سnMo9<=ˁT:a%ҪN/`z wgC6hym'Bzlᓦv"/f@VTZfhj@ >{NEZU3|U{ ͋W:giän,KQ9[4=G *ˮqϗ ʯPO k^߄3szO_AJ4h1%kT\歄zJ"T!x??4  o?VY$kvj̅Sz~M-n`MkbW3IENDB`i b6bHxJPNG  IHDR szzbKGD pHYs  tIMEĢtEXtCommentCreated with GIMPWIDATXýYlTUs{gtN[RXe !DC"11`4B0D|BLL411LxAc7 h= *i}nLJ N1'̝9#P5}fM羊UvݬDZB-]u<7M J>&ъ7iÆ0ۇ6@w]_-nXC+ -)@cB`E< n#1,W5BIS)KY zSQ+PDųkxTPNG  IHDR szzbKGD pHYs  tIME /tEXtCommentCreated with GIMPWIDATXýYlTU.sgt Zh@Jbx  FM\/>i рFqRіtvZtJ'7;C-*TMptLkn]]Vu3Ұ/<%@x]Z3 \!58B)%Hl!u؜chq< Hc'jW)I!"$4 %OŮҵ< 9U#d43ԙyɚVLE-D "u,vxvgQ:eG )<([;6=8bq&@ʵ [E BrfO%3_K1#>Ί㑒><^.U0@9 aWy^]U|[HɈcD5skDJy.;PpEۆ:z}Z`d9E#x]5^ .*]q@,qX;'kcdH31ڱqLv^&z ͙vDL)׼Cv3i>9H7iKМ+ejN/'r CD@Zy/Wp?dJi\EB]tb&z(iHҹ;f15vUOvE+OݳgL~{|;=JO,Nqg97 ^L4o:-1bУ#c= Y- ͍Y)7%u{ߎڸГ/x "j6-u@5~`GKq ֺFQܜma%zpr w X7bjU&xu _:oP7:Iܕe?@"% UDnfe8$ju#/ZUVS߂9p&";5EUO'u03R}A7lz6<%myѣN\HQl%=#0$$JU=EJ R▲e] 1s4w iadDF`&`xNjkCo 'r䠹) Q5 CzwBfX*N.C"h׳ alZ{M<3}moJqWI6~4B_ݸ$ G#IENDB`)v ::BxPPNG  IHDR szzbKGD pHYs  tIME 74IFtEXtCommentCreated with GIMPWIDATXݗoPٍK(&Mi! dS#BbABLWS:G 5 bCHUKې؉? `[,t=c?("a5d旒[>y%tO+!2CZ6ƱkkH|@ I(!sV9:wYr [ EtZ_HT)#L})PdΉIʱH:v0*`"GCh(fZ̥ܤ!uԋ'0(?@SjBQ! XR'n"<~ͥQWHy<(~<K#HTdق#(<\u/$Mf ~΂\Jާ- ӣs˷،O )1!v{ A߂\eUcLj1W~%gćORI.k>ŝe߻G=>S%ZRD?AӼR 7ؚ|VտisW"WtBCIENDB`(s$} ..N xDPNG  IHDR szzbKGD pHYs  tIME 9ƽtEXtCommentCreated with GIMPW#IDATXKkQLIi.uUܤU .ЍJRqQ\D̢XFKncsd.DžB;.I2933Ho\]Ѩ!*?~m"ƍ$@o,_l,p:_g+Ȯn%B@&w7sOx+0_/@m6+{W0a\mˆŔ$oN@X)6 9bPmlaofCy=Փ~m inWnk `A+b'6܏ }ςFȶ(Ko6e^4:3- )$ P !^mǣ9MNtzكI>=ډYJ8Sߘ)&zgD6!W@Lwne]C As6$'m,}x.p2\H}υ ]Jk{/b˃V5%IENDB` & ff0x|PNG  IHDR szzbKGD pHYs  tIME .QtEXtCommentCreated with GIMPWIDATX=Q3s3~m媅.( 6He@EqN- "fw3ɝ{,Bę̘5njf==s9W0Z< 3ibu+xŧBLU^kj 뙢Y-h7[c+OBۏQmiw0$T\ P %p"w"Nf^p;~Jly[;ƅq? 0@$(G]rW]`ibBxD}mVSķû\ܦ.w~]qrJo+ٝ6l2bUKg`qgVHM|(/q?@P۪H$~?GfH"P-~Nɪ$t1?7f_"[@"aP>^D-\.D| l, H\5SIENDB`#9 `Dx2PNG  IHDR szzbKGD pHYs  tIME  'xq#MtEXtCommentCreated with GIMPW5IDATX헿OSQ?OijBE 3q0qͰ]Lb\M' 6BH0H]ju Z(Bϡ'9}{|{$@@-He{Z|U.H+@aHnЯ mbkj${em>tkC(z\i;<8EIC`[2MnSZDvAOdSTuL4eE)+99$ ņm% TU6hjYk| gU-c\Z M]/QV =A^*1Baw]y\kI-DYP(#2eIAqbl֠M|lCIdH$v3ŃGJ!o֪hje"F&z@m&$qz{ &{Ȥaz͒^RTB?:J5ғLo>' *IENDB`= dd4xzPNG  IHDR szzbKGD pHYs  tIME2/&ltEXtCommentCreated with GIMPWIDATXW=l@:1$QHeD4AA (*uΔS+ Js•(e!?N RI4a5! 'yw~߽{w()λv"L t)фo߽c|#;)ʀ;49Lh*v'(NRy^os Ws?@ S*@Zg..5{M(D*Q10G gI>oW6@L/-pp>a| Uej|Ղ f0y$T6 /O$&I$'1Ȩ(24 }o~"`i@9GG_.L QG95r ty&ƎNιN,@eIZ@#Q:0ݳ.Fas oݜg~Zݛ𖆭lOq7M+OmeBl =M=h#2-"v+vv z0T50T5г8vv:Nl#PT X`%bP򕒮i >k;ߪ2l ѷMc 󣪌W7oV<"DѕHƈ,N.7=j"~.&o]ǭIIZ#$5b,!hMIH%S(&'wO^Xi 4$ŴkU\Q Lh`vgjG׎ iq?x e-S ݣ>[IENDB`[ _BLxLPNG  IHDR szzbKGD pHYs  tIME39ftEXtCommentCreated with GIMPWIDATX͗Oa?mjZ2<ڦFTqp0 . CM aف.R7cpVBI[8)*Rgs~. VYɥx=w#=x>FA@%`O@m[R0֖x1<}uoczcdc-Sno0AAÏ:퍍[ԍkoY + '"GG+8˔*5xX W [)M#GG쯫~ n§ؚLaInU+5?XM}ࠠ0ƛ]N vpansq\zW5>)@ TW1Y __sa !~vK*` o糒آ3R' οͤ%UW[ ҊJN:&CF;VfA$#蹷MZQZUk~s{ fTIENDB`l KK1fxaPNG  IHDR szzsRGBbKGD pHYs  tIME #]yXtEXtCommentCreated with GIMPWIDATXŗ1K#AG@KPA;Q:YXf!~*Wrj abo/&;d}0 ̾ov޾70`ARn-mZ~?"T*y@e%>/Ғ;60$};=՟ soO_άħJ[Gnhcc^j3ᐽbvY KdMU|ߧn U4U*Ic;Nئ"Śf׽G=MvV41_|>^ͽ!A긕d<R=BVF#Ёx)a^rdtm_8)4A #QO& |hөNжڷ_{@Z@% Ih_[}O:YWzJ5k݌ `6Hle^u氠IENDB`% ee2x{PNG  IHDRabKGD pHYs  tIME~IDAT8˥kQ?om5X[(VMX00|g|]Oܭ܄mU HoOyōA&\;6-gR^k_^:&v[*4ca5F"Rsd;M< M+HZZvuH .4YجWFz< d0@*5GSpّܸɍ67_\<3$FIENDB`b2 unbxbPNG  IHDRabKGD pHYs  tIME wJIDAT8ݒ=kSa7iBVC.]\-BvpQ:8t)XB~TŐR"MHғ9}Nqcy_g"۾`@jtKivD+yn6.)g%EK@aӛk+_j_%d3UE<t9cJG-Bv*/@tʧ|,ܨW@毧{ /uFIENDB`hP &  0xPNG  IHDRabKGD pHYs  tIME 9IDAT8˥OQrؚ̙ؐ 񫠁 v&„@V?Drx`w -;X3Nf޼f@jK/jKvV/7h`ulwr+≠~UvF铷Oʹtb'G8!N$puƳNAw{>P>eԃ H.W'1S@zv%RnTpa|Za}|&^W4 0v ^7A©$>n2- (o].2]> ›M &Ru6h`~)$n}10v妯]cAa<˷k[&Ͱ6~6AKue+E^He#'gSxP&^;11_!&ip)YpBڠqЅ"L*D d/N9?`\k /KiAph䇣jZD߂53W v(4E$2lK_m\ %6_z0)P~I$$#Z(A 0$` ^>;iN\:[YAIENDB` D" 1x1PNG  IHDRabKGD pHYs  tIME.jIDAT8˥kaywrS  6bEJ,X ""v 1hj؝!_#d;03|BesowS]4FPePۘܣx>PNG  IHDRabKGD pHYs  tIME/6@IDAT8ˍ=kQ33;!"р2+ X)b'X6J*/)VJ*(ggv\Y' 9p9{{ιxtM|H.L{V @+i\^Y Р:?7o_t VZ8$@*||^} /H^B@|`K2< A&:V!,'mזpۧ=̅2@ukfZ)ז8}7vk쌄}Dkp]պ%΃^]=Jh An ?0O2#T49?IvߟpEGږ_K$ UȴR$ѿ% =f بtQ餐p$83G2C(22;ՋbtsYyx$txPNG  IHDRabKGD pHYs  tIMEBYrIDAT8œ?/ 9իowB֖C:ϵ1@ @p~ܬ}r#vv|=A-8  Ȳq6(@=VLv UdKBĂBFY[HS0hZDd{QH!p͉ <[0I5=hBj~c -)3gon5<9m߇B4EE}ɻ8~i]>hwSg BD?+GM u-HlIENDB`Zǫ=#:IDATH[h\U\93ܓ1m.5ViJS3NR(yCEC/J)HTTВNmjjbMӴc55צs|7 ܋ ٩&+b)@ ذ΍ZǶm4B6رK}3<\X 4ll@!аQu׈D"z]; %RHMJLZ)[\i boKB! 'f] @ Mj8L;Z;L< 鿽$DRP+^ӁSBAR۶5;D"LbPHL3#R A emMi9(?e~j~PTH!vf|^7DSU{zz:rz(*0YI6GB`x`x`ҝ%i)0u'---$ (熻gwAZIAJN`7g/7L}Eݴ5B*16rK~_z:O_G0f.#&䴛L@6Gkkkz[ָ\&?ύI>|iKQla9LS󮲻p8̓餪( U͙[.iNS_nj+qzyX H{p;ovu5xyuœ\i i:Np6N9EU$OPXRNL@,+ ]5Ldz"9ߚarnE◯;{uZB+̣83WȆ_2###)AG ãu rOyp恐P =&?o@om15!nIENDB`w A A )xPNG  IHDRw=bKGD pHYs  tIME {ۄY(6FxFPNG  IHDRw=bKGD pHYs  tIME 4 [tEXtCommentCreated with GIMPWIDATHǵ1k@iXiB&-&`* ]D t%_& I$!/^P-ERN?=ݽ"rDlN܊5.񵐈X5Zϧ-pJJ)u2R? yp8<~,KfyGJ\$"'I(*Ea$1"r,Kc,"w{1vaV Ð83[aEN%m]s:O.AK+p7Mc\4{s(s'\dYv[UUȲp9 ڻrv ;cHkWuނ2U VE*]_p24 yv:r\G,*T+Qd(˪An- %SEĢbP \K`pO"%QRu@]"D2 B&C9Q|!k-Al5XUꑕn$ATD X21H*#lQ|P*ׂ%NmN"{&|_(C ܭP 0C'YB_ W$Y4^w~֤h"?z1xepx.:1.,3~]ݘ$SohK绫/ nLq dJ.7 80$i'QoҨЙCc>&Zm툫WƹW%>9.qζ5شs|= j,Мϩy~~{dix9&J JRcker{ؒzt=]8OލƼZ =O:܃ $&Q |Vdzw7x21˶89~o>]h,Tk;/Q,6 x$܏32+RKpsA>`;Ǜpp [^it䏵rU;Wb&(]Q,>MS m;Qw/Bȫi9%aƎ}`@j(g L_>666vyÇ3NEg(V{17i= IENDB`},IDATHMlTUfZj @ ejAL43JmR7ƕ7D.ݻBÂ&5*6ą h̀LiK!x3:)+↓Mxla2==m%fs$L05è*'i"ZQT,.Z~(ֹ DDZ^aZW}B  *8ĢaD1qy E#mbV "Xupcz΃<6/"5." X*"UiHo1)UTU>v X1XqP+ FS@8J3l3ߟak;{u j*# ]j@z^1= JC?">͵kn?/\v?GB~\?Y]ZgQЄLV,'.u-111Ars7~P@X#|Iⷜ;wZOGDۢAÇ) aHP`qq@!Jx}׻Y/p(!j8 8|bH" ɐH$H =9DJ9oGp9 ~v{߾}3|RD& uX,ə~+ͦ kǩs<_w3^SՀH$8Z }d2y 0m? ;8wKlLqp,L]Y HRd2(###`!QT[P.9~c.hn;=+M &ϭ:16jѾ8Zq`5jXu(lr;cn<^cIENDB`kк +< x PNG  IHDRw=bKGD pHYs  tIME 9,tEXtCommentCreated with GIMPWqIDATH핽jP#M At(.FEMEܼބd9h3.PQ$BS83Ԥn~ܔ"@kݐRIwJ)W1ZZ@0 ,,6 >ϞU8 w=^@x ذ8QwZF&s`C'\~!nZSΛlM\?H)wZF<)cc/U!oc4OY|N&[y?uؖ*myE:@)N -D) B̗k; Ƭ_L+$l(-0#80 T%BR3qJcV!iyQܔ'ݟz#(IENDB`)]*>Tx sb``p  $RlI. Ap品" 0kH{+m.n~f6sB%%y% E%) % |@E{<]C<(Ԭ*Lzg~`c^L3WԵ!MY|x&Lyv}B# }~!>'q^1{Юfz/8/u9?ŧ3{3U~\~zwߣwW[ OzÑ8c_ XnR OW?uN M:}+rzH]Sˌ#[yMܹwM`Y吖j[gNIf UɼXﮠD+'ZyTCJc*v3t ##4ȕSrd6ފ$XH'zrQckm*I.cyda2cVѳå}sEAI7 FFyhǢhyC^ɣؗ4o'g ^/ o¹a2r]$2`_ F'cCryOIv3]_~c^^}EQV>f;'.K)ƍhȪYcX!'2?Iw6FƴKXB.o!>4 _)#7ωmt"OTPS5CIFYSfރ.01H$",)+[\ gjjdH0ɜr$4  3GR g"H"x|P"9̵&ֵQ@՟]"bI`fIENDB`A | .x PNG  IHDRw=bKGD pHYs  tIME 6b-Hx0PNG  IHDRw=bKGD pHYs  tIME &߈x,texePNG  IHDRw=bKGD pHYs  tIME  fIDATHmLeX4\IDATHKhU?1MbliҴy(j, .&WD*TAqA ]J@ ]4AXiJ 6}6NŤi vyr{Ofz±XwZ;u,CM9302dyqzpOn&= $]ym_ )愓CsD#-7߯nՑ$I)RaY ACq湁'!g p&r!hzbeXke~݊{^6v3W"A'^'Ā"‰$\ -c0G8 = 뛙IGZڏ Ӫ&,@yE21O;Uڏş':vӦ}4*!fyx~oZ-EPFۑN. rIs6;Mav_!)bbCHYcb'JOӰqӔ&h'}\KE}u8 3靰wafLpT4]ew) oHBK'/ϯ jqw!LE u1XȅsG3*M;ef;8:9^IENDB`9IDATHKlU~|ϡfK21Pd&dƋ<pL ơvI^'yк.V)bۅ _۽x) 4&褊T58|+n!=@4ÁWޢ=Ea?_I@FzI`0p3 "5ݼo6fg2>7dZr䮰3cHf.KNZ@ϰέ-nyh}a7Zk>I Azl^eω:yd f=*ƽ'&-GN@7?PFִ1qcd߅rȱ<# ýCgnBf} ?ïNҙ 8rccw/˿RQqλIENDB`Rg c[4:HxHPNG  IHDRw=bKGD pHYs  tIME  (63p#x#PNG  IHDRw=bKGD pHYs  tIME ;>2+x+PNG  IHDRw=bKGD pHYs  tIME :{1zxPNG  IHDRw=bKGD pHYs  tIME F*0X#x sb``p  $EWRlI. Ap品" 0kH{+m.n~c!@!׈ԼĒ̒ wO߀F>qnOkmP`pUl3f<`喊2|/1dzrBusV ^^mSΦbn[כ,"DjNam2\ W/sә}|r*d=p5Xß'Q_z) *pg>uIDATHO\esp/ô vH@E„FM[X4]ǒDuC$qS&bMbbLh%TJ̘dܹ302DX4qٜy=Rd8ed29i$ϟڢ N\krS3'}{ )KcL+IajDQ1Xjac? NN2՟ 4*`-pUEDZMvQD FK-l7:mX,@a%elD1DT,ThZwŰm("(" C+++uX\\K6燔޴20 NQ'k>r^CN$8Ӷ1rapp<ywWҹRvp<˲PU a>sssA(YXgq~x+S~/W߳l3K(}U677) A@u0$PT}0=aQ[?orE Y/L; ja|ddbHѠd2$k,[&3]]]r9jdD"A >J5J^7xo~koK3ʽҗZ;,vwwަhEQk]gc `Y{>x'0=:2x< F0 [vpÑ?OmjM=IENDB`pWE lIDATHo[U{79~MICJBH_@ ;$ĊJ !EPtHqۉ{ F !UlGxu%8 c)^*.~Z -沂S3\OiT8O/VlZݍw Ճ_t5Ʋ9Lh )Sg;x"@ 2$(xPK*AIdG˸f* 6D :1qn# yPa`AKlV"{۫@/O:i7;T*QoyEXza=5sg! ܿZߓFfO751(!F zT7hl#x%HGQD}]^G7k1AJrA.ëKsLGZ)2\>^'` ǁl•kwhni5ꄩ> >Q_?6vciA~!Oo *{x퀓GWuh(~?KLfpVĭ{4/.s RSy!f$ȉ,8_ebCZ6x,><K^#Wc,=Vw\:SRP=h6Y8P )GRLOγ|n3,<DQ.z8'-gyu:U8st ο?RŖ +4IENDB`<s IDATHKhUI23MIsiܨmFPjB"҅H^.DDi 1kmswLaEv~ysWl(<u{ֶf v qnMh+ k DVSm' `jDQ8j鹱3໾=IE⣬0\|  *8r$<?i0Ia@"` hV6XUD-VGܐ$<nktT Ze[`yjk}rl!T,`)PF%u'OW姏&8;7M&`36c?%&6sQ7OSDf&ٽ*Ƨg\ޕ pÅ;B aۢ~[6+l{-[,MGiԕ''X h] 5)q.B,csQ.|?IS<Уt_fV&z)*^mg& 9aRy]37Ki8Hlpba_ y b8)H*Y@`"j@@E0"Xjaɥc <ͺ`ꭏ727X"!AB܌xǙmL&:j[Ds3jYV$33F0A TYIH:p[>]d%@\$?A{SddS0KI /Nb<cSC,{m0_ǙB]e}_Yȳp``ϑ4/ƞg+i8NU{ oVh5Q 5?:L n{tzv=~<"NDdeMX_,:EQH[+sf`6eWCǎu'@HWP{a 8L~.rnڥsi 746|zDB5-fw!\)@C£8{SS.koÔ860Rz3{Xwe;sY& qT?H83>M /V |T 2CY $bly}McMC?H%p|-B,xxN@Xũz(iIJPr< ?f5ΫY$ q# QB! kj1u[_oG|Ir>b>wPea-*5vƲ13Q15DKDvCy'8tg#n Y UsIĉ8i粕d2.Ic{yǹ9<2?_s/䒿_H :;H$ljWX\j91YxMʶ8y{˳_"d~?@ϗXf`6 vw)NAvOvne3KP)]ap^}mkגɌP,B` RhB.6 ]cY1b1 0PUqg NC{n7φ3HP2pwwwڬUP pX:IENDB`?0 HH,5\xfPNG  IHDRw=bKGD pHYs  tIME  1z&IDATHՖYh\ewܙ;wܙ2IS.%$P}qCPAŇ""jZ}J(.]UkƤdLf ) R!o.ibwlwwwHsp6x b4MTU%j>a&U}( Ci꣢[ik_.DF^RF pC#L\N2`'W-<6 ]|L@G[aۙ`~~Sei*ct)[7XVuZ,,,L&@ AEQB^o3g0x؍4)8j<'"%^zVVI&\XF6?:iȧ'ﮬ,mx=(62Qlnn~ӾbtN~`L@S nfA!_s \CݰIENDB`E D7 x sb``p  $?ORlI. Ap品" 0kPו7?*B%%y% E%) % |@E.!$X{n߻+_qO#tHHH%y]ģ@ ~.g7Hs6j`x`PNG  IHDRw=bKGD pHYs  tIME  -׳tIDATHǵYl\ww}qfg۩Rb;%Jd좐" EPE$,VfqaeEPE@ 00L]gn736v illTYe?>+!tP! ++x`j3Ndr:"3VJXVʊvW̔~V{:ELTؼpwj4d2)>ҰDBκLRȡtwwhkkv DjQ;&x sb``p  $?ORlI. Ap品" 0kPו7o@!׈ԼĒ̒ wO߀F>q"sO o]I6nxxnМ3Lzt Xdƻ<6N|@w00xsJhe>cV:0x sb``p  $?ORlI. Ap品" 0kPו70`dkDs~nnj^ sQjbIjByfIo@x#8Pc ֞,hnW?=!)aFnuovpcACFUK=0xsJh!=OU9.x sb``p  $?ORlI. Ap品" 0kPו70|ˋ@!׈ԼĒ̒ wO߀F>q"O =7Xɯ_9yEAcǎWvӍ Pm1[AKGT) :_8Bx sb``p  $?ORlI. Ap品" 0kPו70KEdkDs~nnj^ sQjbIjByfIo@x#8PcO 7ꃾlLxr?rM+]9Ӂ;/9Ș6pMTv``X2_P ~.$A \04=\]?>x sb``p  $2X}֟0gz KF秕'28'*x&&TL*Jtq 8|aV)SP '66~7Tş5XWӰ_'"˫Hs1:#Zh:&,Oρs>jx sb``p  $2ܝ֝y 0%y0o?,,f`aFYs$%Xeԗۑ tq 8tnV i e 8lR8Rhά3UEJW J-fp!76NH]nOW?uN M.: i>Ki^C@x sb``p  $?ORAN ɼrؒ]'E8 <"Aa {+-66N-V2@!׈ԼĒ̒ wO߀F>q"sO :_%9EYkW3>deڸP0Y}@mK$^IVgAš"_`tsY ?aoBbx sb``p  $?ORAN ɼrؒ]'E8 <"Aa {+-66NuxordkDs~nnj^ sQjbIjByfIo@x#8Pċ;bB&toŸϫM*=s٣Lj%^rKF2xsJhGN]A>x sb``p  $?ORAN ɼrؒ]'E8 <"Aa {+-66N6B%%y% E%) % |@Ef.!$X$%h|hEThl6Y%o? t7t0ijF[-F#.) ?d]@>x sb``p  $2X}֟0gz KF秕'28'*x&&TL*Jtq 8|aV)SP '66~7Tsp~\ ʷ{{4o_S wctsY/O& CD 0x0PNG  IHDR7gAMA7tEXtSoftwareAdobe ImageReadyqe<IDAT(cπ2PKAyBS',aBq} V^1֧O+CAz}h_n-c(H|ߧX|Q ,a2yy4 /@SVjh l=']=K Tz\JZz_IENDB` I1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME !'1RIDAT8c`1Ok ).@7#/S+  !"".b Mr`K;@0g&Y 1GIENDB` Hb 3Ej x PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dtt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME !#8oQIDAT8c`1Ok ).@3#-S;  !""aŊ 06 @ň \^4`g&r 䱄#IENDB`%H 2Fh x PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F d lG\x sb``p  $2X}֟0gz KF秕'28'*x&&TL**tq 8|Q@c(s|#-o85]>?5m\[LAcCExmLK/dq+'v z W/Z) S03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FhIDATxA @ +׾#Dѓ{-!`W@0IZ=J)ar[K77KLa8ZDO@?`FAp~2IENDB`ÖZ] `HD MxM PNG  IHDRa pHYs  ~ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>CVcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxԑ 0CQ)I')t*HJ@rK_3@9*$4ρ)@ђX%-Mn~@gwr, t-Hy K(@W9j8'qeQ꿢IENDB`k: uu{Iz hxh PNG  IHDRa pHYs  ~ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" SgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FZIDATxڌJ@YzRy# lR~aLO}}2k=%+U=]AHȄ}˚ZNb(%hAޟв|{ҹ?)>GE6,o勵]y<_?n%+ͻWn>й ~.Iv3K2 x {PNG  IHDRa pHYs  ~ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, RJ( ?x? PNG  IHDRa pHYs  ~ OiCCPPhotoshop ICC profilexڝ!{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڌ1kPv2l{+d0TZkPZ1S KE@hLJc lYjIvLnyO{DUy,jv^O﫼;1?h4*JIpu ?Pn(J!័ʯسCooZP8eάe8^.]V/>&d8R{w %IENDB`#t ^M@KxKPNG  IHDRabKGD pHYs B(xtIME+UIDAT8k`o4IK9CnzEd< yAŋ$":\n&[%$Ox9}yoʅWّ AGWUX!ԝxao*H\,$| 7 iNL>GfѶ-o+i36C3L[kP\V}Fc}tZCמ t9m /7mEDXO6m2 }ځSFQ(H̞QYգpؑJ)>l²kϺzher|Hwꇹd*fVj H鋒gkh>X'Tǘfv})".sڮ_ 0p帔(זUos  @`@ֳ5 1IENDB`= CC9NvxYPNG  IHDRamIDAT8]_L[uǿwo\nl ,CSfaa AML|!’}3HQLD -ҍ!v` ̓<'''r1,I_TwYsٰJ>33I.vv's#a[(ی'ͱZdRj 23$Z|)lig{T*K(lllv{=ʮD[yeo)R)3RF,ڗ |'/v{2o=fj`ڽx޿8(֫g<+=}%AY@/? { 9|AM @G}tuu}>r.~WnJq+ ^wMӴXb* q.E>11AFFFp8i]B 54 nPa/Athr<y"X+ޘۂ(aYe"* c[s%9%kg_?9m˙i዗_^"v̜NMFAJ˜_f6e{n8atsY`[B)%d,>5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F[IDATxTKLug`UZ JTДFS#zAc|%MLFZ4R.iuyÖ\hlWvޝ{2~1n/Nd2qpݛng @paKCDx0 Ӳ^<#088o}X[]~R8ޚ$[Zxׂ*.?^wblVc1ΒH&Yf2O##|GE` ;<Ĩ9(3xim\Xw2w=U?LL< UG_b:9hV&irlS ZI0ض^,8J Uز,d0X%+EBD7(D##I%]*Z܎p]4VWd#-T'9 [VmY9 #oSUU0 )AIndO>iZ*Y͍jkb#_A*P2Y fUtS˃iZ[^T&HHXo'DB@K:*+8@3q.!x2jln>߈#t7)Z  H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<D+ |M>Fm-S b`-X`˻{&Žyŋ=.3̜=P޿3= h Sы;I|yxwX@UH`+ _?y:q.[u   8=g薙WpY>Yj(W@58dKA ($ W7h~>![kܮmjXmܢڝaJ:E' S9#JLs$I1&Ɛ^&iCw@ey?#-z8P'02eL,239JO?(qx7 UIENDB`ѓlyrIDAT85IlTe}o,.LӖE  1/h*L&&ƻ^?.-Ua&'9sbo/2A!B*R׾/aho$. 9$H$)Yx36:JGMn;j5Wt@jjL"T,N B`it-kj.=ffKcZ`ʱo~%],CyҲ}qꕈisCїbbE|q{A)q픅<2C&Gi:'#p6xt`74AOA䃕4jm|ui۟σ{$q+<3ʹa#Tw~dy gQՙqw&|++w^\n^Cu0ٙBtsGi ~.iܣeNB>GBIE^C ˴hhzbTtHBnWfgN16 [7HP(`&!iE-Iw?.}\)]2 h{{KaH'MLNw/dV!>6?rxJ4[]ttrmcS{jko^f@@K~ubO,eOIP6( T@t;,Tz9U*g3ݝBl-+0Hz.Ͷ,+jȄe?oVYB l66TВ$IENDB`< b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڔ 6}qDMH=w_be<<13ຮ/ED{Y;S +p1FRuRż1ϜsI)UAZf`P LZ=  LŐ*dfކ8%`s~ $6Y4]} w׸X}4'IENDB`M} >>2Sh x `PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K& ||TmxmPNG  IHDRa4IDAT8uKle͍tzo2AF&EEBh[Z QD bD QLDqf01a1E2mNgLۙCgyf *6>c5W&#"hh-|<NB)4 ,XF{?yoG|ycK'4KnnA>c;sy$d/n^"L 8$ b4Gb6Y=iXU_Sstndi) "x@ @47=I\6::6C Ξt4]]ݬ4sgK ---DVG9y'*ʃooZ^50e۴y (*0}e"8ŧ`ͧ6m8;g.eI$7HR$g3,s;8l+?~z] $E`6E+|\tÇqVd\G.[-aݬm\=u`MVJdHd&wpc2l'v\FD*f4-U91)7E#i ~ʥ]bJC& 8 xboTf,y0 #i!dP$&㥏v2}\aIENDB`Q ##YU6x9PNG  IHDRabKGD pHYs  tIME  1f%tEXtCommentCreated with GIMPW.IDAT8-O[e9 -孼, t2lqY\v^y&&F?`bf|E324a+m)Жsx#~虥MJ5lA)D!@KB(/ b^@no}bvsZqB`"{<}A@aB?6C/"ٮ[Dg_f$v6R(֩ڤcQ%UlP(nb9 җr `aPGDBϜb<}Orw~;hf#M Q+Am.'_`goVwў<4G~,hFȥj)J(euuG ѐ1"ە7xcc6,Ŷƀ6u*MU} b\+!(> 5[>>|DO0N 93or.Xp?b'r@ogQ\<3$IENDB`> ::BVxPPNG  IHDRabKGD pHYs B(xtIME _lG!uj1 m"j)Uv½BhQhbI]^ 'I4'ݷ@וٝ<爵ZjL:ɂxt充L0>ÍiBEOX+(J++[x (Z VH8?@CSx>JČ ‘Muh||{RS@Qg7UIENDB`W ``Y<xT]L\E޹߽w.K, cRi,6u_\SMDhO!BjcI5 PH- ,ݻ{:KD79s朙9s9S]@>qqg,"kcҙv\޳񍗺:`7b/vwV1>T2Sypx_oo;Q'_HtwwG#.⤩< vi_y1K}P(dFGGdE6ĊlT٣6b3 #688x- ս<_UTT2EQY"\|G H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'Z:xPNG  IHDRabKGD pHYs B(xtIME ̵IDAT8c`66 _YwXimԭѕOIOa"͛Kq&lhh1X5w̜\2 bB  =cxk.HHh7nO_xDn|Ơ!3s6ܓ{= 22Z}5s&fvvF6{wo1]ỹϞ %cc 0aPec`bad];vrƂNdKYX[k,< 7/38rأ7m{e~ɉq2ܹs]/3ܸ/CW,;G0tv *-{ |X,}?щ$)i.C hGN\sIENDB`&{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME7O·3IDAT8mMHTQ!@2 ڵi*@j!f}m+*"1Mm2 Zb&)J3i{Z7ogsιWD]hpU1AoFG)Ş3xwuY(iiLO:%uM^lNj_Td{JthLf:ac"@Oo68LƦ'iiH3$r7)zF~dsZ&~?BT_47;E*Po"^U5fo`)ѱՈ!Pb.S,Px}`U&@kPXWP:q֬:^^fw%m t-8Ie%Z/PJC odu :(Ǻ|di'ܸ5;?Pޢ{ E?-pt1)DA K\OOyy+?  EYV$ b",KIᔝL Y) ^@%&H^(XP5IENDB`^=c5|KlHVA KdK /" a+ܠ&I7fdMS}}lkuMY 6SY:i4iܽ2 [&jLZ99}M5 F ˣ͘PO9w j&<L2I(Llr B;B)4ašST\&~tf3tF }:NmH8|2Th?q|[wq)ک #V+4[BɂĤ7gxk$X>-~)L7`*>. S?H'h__ i|a5D;0__7=q'߇k\ER}Uifpv[Z~hL='N5ǽ7)44aNzP]uxݵXaxY&a'#ak-(}- zB C;5:ej}}BOa =y4f u/0P_r(;s̹*> E?ܰ'VN0:W3{Ŵ,E2 )CWUXOѓ=L\y1iM]f0, sЅ~.俲6;= F0^J5nEUG 2(&lo70io?^?YCZ]<{"}^7NO,Ec+ kj|Ђ;k&771%yjsbOT^B~SC=(] OT72텭H5[J!"S[I6ԛ "}C`)Ԟgx#ao#rM/%?#V b;X&bH)7w:SYOi-&^o#/-oSRPw7-5ZwbCIde;]Az'f1LQwF0`(Oj ?FGGEX;csVe4uYZ_UyXWcc;z _gGvO{U*;5Y؅MqYf :xRjuibe"_xqR#msд0"fQ`4o]h}I.tH'TF&B)|)9}Ymiߝ'0#oZV#3_cnR_p>};bQ)Њ9nee;ӋfzB)T\$/>ý?RN8h0w:e}a@;}il͕=HfƋSԄ͵2iFf$(za͈W:&r/ R|4|YexpMߙL⋽iӃA9$ EɊ4j!"+|~hM̲`- cmaK}Keܫ45:Y^D$x~v#zi Ć嵐1aз;`dtײ\tO ;!N۽beǍE6(rF0vkgùN-1cxn)ޣI(.H4LdD͡jь5IqBVI+oD(d gC~.ʑ'U/A935=Tp>J%a ؃eKv\_*o8Op'oVD.0{s';ϯm# BzA|##a/71=;}Bx.qB TIQhzS{_DC m[(2@Χ*/eex[+, Uq8[uCY౉J3RsEK$942d?d?4 r>a6)U1eԜ_+![w[wE˜Kmh,K` =y 'K@qU[1'pI;8g!|8EX@MGf(w Qx{k6+N ю ,{2g:-#0EHp,+ES(=irdz,%5 nxt~mN1€(ܧ7{/ 3ٿCnWCK\Vcs-3|[O:0Q5K 3Jg bd]Pfg7ѫrW[cq$tsG\vG]ٽa]Ke؜`y]n h Z8>([W*fqq 9bv, :{0:tk"VO|>ן,iGu9DCބߞou.^TJ6+'ai0ţYsмDB[7cbWs.yr5xqwz/f@pɆpS2v:C*P'SA=G\ǁjr揿Kpw##aʓUԆDW> 6z"I$vD+ P-`,hۀ6J2c˥Nwpț>:Wg,%zTTT}m&dml |` gٙynڽaɵfH]7d.gm l|ma^|5N$Ȃ>yjk>ʱ T/ڽQس40K\_sVc\.2aeg="IއZ J/B?!&&xzjgVB_!0Y05 3)&x|)NhRǎʝ%i+`?R֞O gCk0k&3iWByFqO|祒 6|C=\u#囝 : |@. k v|@ ~WEFjQfyLncZ8uLݹnlMSZH.`.t@e .!r+(+dRq"!FM@MYhR|l13 LЮo*\hWpxrlX:%A+ÎYˆOoɿDA#^r4LEBx$Ɋ5&d[!\R ar!d4aq7>Qpm' VyDn0hxpF# aNdVQ\񉩧ތC:#Y D +I= fQ@%!kdm.P~m=duKjpڝ@Q:LOCmvTR'+c RYr&X}nGpnoRpPK`Zh.*>JV.k%W?F3.fB `g}}y uן?0Fpy#CMr }ߥb-" |'ŽFtAzkV<|v9tX8dO1?!)|xTI|(K hSgfsW3as흔Kp]l_,aQnA}?(5>LtAL f9X#hnUa;p[ ր*;iȁXdJBtQg{ԒR轁cST!ӉpF 0v`D)Da$xF!9\_[okъCXOc6`$TH-j"IiPes;-_~e YX c,Mwh01=eYzP-4m=D/u3Z_GA}!{RD~=YfG-j| ӑ|K^CD=.`zeLlhXp_J<B)tD;oN;tv4%?;ZB B hiSEFMl̆<{fVm',)uq-9 wHؓ#<\|94.v2ʐ5ԐZ aԅE %qڜN-!-Ϙ[x&CҾ5? u繞Cէ;?{bq7*o5IB% {ɘ!k|lR9czW=W*cC;Gs BZOo[2QFJ}fD̷ e8dj_p;=`ߣE7^oxoAk!/d\%ϋ,7wH?~Gt /[ l[A'm}Qߑ۰IlZ/р &B>t{[1֒xFm~h՛Nwʬ4Z#8[@% :轍+Ŷ[w;<&ϻj?j Ji8baX'!!f/ ʰm W]+=̩z?::tb+#1evGO}<=5vGS:ڑi4mr ]}Վl9?Q?Í^:~Ǧo':[, Jtin`[N)ZY.Ht ']aF [)ǘ"*+D͙0)K;sRl=4$xۈߖfDŽHB=d }gU܎Z8_ 𻖉% \fЖ!tT[ c:/qK Q6[[PzvFRl#ޓ%(J(j䯮RK$mF|,k'^i'/RȠDބJPQV_Wms\M~ Ζ?mKKG}M}2KGVح 7<ăKwI ezsL@=Xyp*`UHF:ЏB r6aǶ 65ٸ?=*MbN*)!9I}lߺe؃~t;duqcH06yX:E#3R=xlܑ6Q61G/RTW% ᏌwGm=˵1D &/WB@4n/BU joyUĀPpVZ|1nF1'-Ոk/>`]-_ll+L .CڙYso2VVARzI׹>*|*& LjtbH gr~ֳnL鱜-/V@sgh.wH}YuoP5|(?Ҏ?Fzsw}4j/ 6RhRX%* hEN:#;=4UU/hj)T,C* !L0+P>g2V]P)HoDWq,n胓o@drNvt]ܺm 3<9Dĉ>٬e1(zoJ3:,aV/ʭ:3SbR|ڗZz6?/ŵFs^}k-cBRhq`[ 7h$n.ED룑Ơz;'DD^911%'$ =َE& 7aU]~epzBe! X2s}Fr*SY`5wp(:bKt3 e"nܪ ?=?5ZA.Jd o *V`_ J"(\az =!)^utqBpN>xt0^3yO7wO cg`v:g.=cw KDΔ2&8x <eE\0Ɏ$*܇6w" Bh]s1v\\v²k5,R1z;Xz-D͜˩G|LDI%Qa,Ld~ZCn-0ŸXQ%)#JDRG}ZV).**IKWB Jk/GEDxwm6u<97@gIbUJȥ)~.m'<#dQ%'#Jz $ԯJJ? _sk71oƗMj #=\y=/ J|9hK-dφ赘>.)}  xsY(p|\HʯWcQ?ۦ/8_޿Uxz_kʔp[}˕sH>[lzu9 Q~/a o|rF}d o*<΄gp3T  t( sZ!1ZąшQzE[pq\^?夽6fs JH%s~Mo-O7C~١?YhQB-! k'Ա!D~esaZ'd6!mB Oio]i9dSkHLM{~rFng"N}>S*?_:k \W<(hjw20a4У8';S ecGK:1{囐9˂ͷSG[BPgC^ap‰9\`+4+ rW@G~Q+D|6G@J2L ǀCEʅtg7[#0+SF1ACG/ٍr K{c#䶻$MZGzCBTt~hi>4ddpbT5{ 7 ؄?V:r  5ɃWLqB572gVcH5a 7ewzC@BOL\:n)M 7% c}Z66okKo=wL"zhh& ߏpuICOұ~/l/ !hh}Ui̗3AX]z0XԭJyC#Mt SJjiV)(' !XQ25ݬC(\&8{U!glĤ]HW`򥟉ҨwbsinF{;L_˓\nXzrp//7ܵ+zUVI[,UK4.ųGL&۲N#X?H<ْٓ-?hR\Y.aՍ"A'14\3~5"Մ״ϔEt*Hds̓XSoNsV%$蝞/Tzn]O,_ϵ.AKrt\歉?a ?umg .H{ _+]OjP2%,6^6+WSC˗yoB:l}/iHz&v $HjdWEz!pG,[u@jaߞa_:0\vKB|=I89Z9.hO9ٳl~͏~c\In[?/UkXm-M.e(@ucsGn?53xG^:֡r{ Ǐ g Sn Q$,^Ѯp?O[I9q%x0pXQRJrb9gv[24w(Cw-g!m`3x#u,PKXNs,$ef_xtW$% ]"C~f`\H=$o)J]cSyޮVJ><PGL+bb3Y@/Bļp؍E6)].]XeN@yt/ ~Z!]%\$jW`խx= ڟҖzBј$3Q0D[,~]gYiNd$)71TΙNL%#ɐLqᮣJsyp"5ԢedU){:b>@t;r/b-2k+$^^I(EjIY0/R[Ç^T?7a(2y.Rj-t(FӢ,a]ƓCڨT֔D SM>։*1Z+ed(rpBr UK' ?n۳S2!k[~HSES4CC+q?G4|!r[~. ;빟/Pn+n;kϞS{u `E qVN<̨71C%_)+ַ[ 1b@DܦB&xJ"/4_'Qu:ft_S1 `O @(-^B4LTw+GL߇ Q OB}x"8*ʗbKJb;*b(mǖZ^̵& X 9윔'Bm&Lo8BFU>A,Y="Y\VѝC_KI8z[oin <js1/H3)KX!9O-~%z4Qi x-aN="=x.BvqJBeQ7k\J/r'wJlϲw??rD漡hRQV 7s/ʗ]\$' 3UC?rOf(@f)-[\4!u2ڹ<ۂwK/JAԸ> L*.y?& %YyjBDSǒl_ɥ*/s NZ۳fN=Xc@;{ ݿ'>(;ݷA+ u7~j=]Jp ZGBkBM^Iڬ^ӆh-zQ^"~)rxvD3ikBCA(#ߦdTŧ+|cF ?0Wu".zc#HnCoqahf %i1K{PDl8Ch J.7Ca(':P0¤n) togzuQv2 r)՝ot搉G4/CYB>~M1Pe}WB%\mAbwˑ@ IޢQZ&G'Mǎ~kHh؊J*8A}l]YN/(a+l +A3iGBw帎Y:􊑘`~'< | ;uoLyA@sqhWED^ƜNLJ;W|Hɹ ߤ} QuS|Ak˘3<~; Aւo^fUgcgMby$V<ޑOD&7l?].DD_GmVf&sѝĘЦe[>v?CE'GTa˔2c)FGJVb)'SY(#[M&U; ziGs[t}sD9DZ#{fb֠h7;ԐR^7;36XDF" $ {>_Bnmm0.뻔bv7.x\3aky&53ܒ!jىH!"lZN1jJUe̜$6̷96`v46#5 YtB|i3Ѳok2Jr_hsX&bQl}'m^qPܑ a.JF8(O^۝h32 e4ѧx/\ZƲO_X/dlȧPƗ՝ML]KrA._нa1#e'֠"Ka#, JRN>/PM^ $`=1Gf?^ZFĝ&ACqz_1^D>@qxAP\әu0V+mR]v&MlC#8s"T{qhTc&7sI.B0m\NOQ "T|#}L3~|d$/oIG ߖ6#MeòzID UIi!k>,TӉ%fDMf(#1EM蝚m ;=йTIi,0Q^]2!wC1.]k*P>0SK{C\uбxpazzvPEfÍ"2BQ)M͖ U`^=gcy.l2 h %s܌yi%}v-Ja S~|\ms>)U'؈Q)y=k\]-``JZ #q*a}RBKңG^). 0:ʫ#0_ȵ33~aK,f+ *ʶ;H)Y!Lf2co#)(/Ss(f{$@ ЖR%g72^ KA3w.nLjS2¤7TTI`iO6/i'dĿ '˻ 0f:;.rţ2tx)F"Y}D.a׌-k-EEL%Q"C \gWȠ-Bu^H gF2U 6Z|sTg_AbZ &25~#;,1_AUn2P^,szf2ht9;o^>49gݗzZMʹ(Yû)ɻ`IH*ow>(c^py &1muËIJfXEf)6\mEA(wKo2$Tc(dI^0hYȿxSݑݙzW0r#ݾ ZQ$~fT*n#!y}R脘hh^CarREp 0ж):XF>ܙaPGo1a|a*R`w RIZk h T.֯MVJ\)淟ي&R^X3琱ز@{SA #3TQƯDRAv+ ÈXY\jnefNI. gV rwck(*ڕ%E_dgdB'C]pݓ2DjHe}u3c [*0~x&%\|s}wt}+ +mŶm۶S1*m۶m;sYs}͹8ھMw>{zgÎ@[Ms;f`gQ&'8śSJ$v ~{`/743U \UX'7^짦rmnԡPI\P(Q="6NV7 ;JϪ^NdA/O&EB aתjь74ԐM2;37VFPR)JV8nnRmO@+%j4+X{%%{4'upi/^I-?(  ̱m_z@ƀ/23!1$҆/Aud_ĚꝷyDKԞ\{l`#SԷG,W,^THGaoƄ{o'~g<9Y0lE :J/8T5i5ut3=62<0CgȾѝrl'k _4`kJfP-ҁ%qB)"P?GJ@?呵9~h<;KZ)\5)(yEgG)}x='$C .Zk\h?6OvƑd);F׍fgĕT8[-Tm<*ޯC6& oB[y[KH(|=Hс*{Dz9lَLVOɒVRT8_6,ύT:ApɵnBVE1çWa 6܅y٥+oD tIJq϶qզA#UE pOcaEasbja3o7 Ua_Dlq)9mQw?3҃>y3K>!5m<2G}5h}Vв<%$? 3TjX'2fzop׸ Gp0w)* P:  &K_o-R2e@[w81܇!v"WXnPJr4]0z]˶cqSӹtV( *Hoݠ|B*NĬKSCj'WAD)-kwx:7̶KV|+}c F9rlI:I=9%L&".rO}98Cڪh H 9W4:j5BT] ac,Ne5ˬq̏F"͘Щu@@SLwBxG!&嚺PJ}t)Jm)*%Fr̻;=xU2g1 ߓJ#e&tTha!\"M$Aq7d?#Q:}? }%.bׄ_SԱt;($X-u{^Wхn/N\90\=w˪A+2%\#l_w's%dCbx\TĄYk#n߻X9-balPA4cr,z^"IJ?4rx iga'FȌmNЂvR9 gX+ԺXP*&~7@R 'TEP (k$Uzlx|źߒO X(l8RI>{0/0(yԥg#,5UEWgK{NMHEr眒 Yg*,&TiWi!K]"&@ DĺH2lan+,34M"_n^d@l?݉jSV,}9w] %7:A1f@/E\NlCa&'f6K\$mV~A- +)Fj7gWj.% ߝ.Tu"4WىJyZ<3P 5RrRO.+ 0/&An6%! 6XUK+INdd32C$b9ay>(ZYdUI:"ϐ^8|sњ\ym㪢$ 'b+=8Y,5B( &("̚:@_AVd.E"m럜4˶:sY8TJ=!¹4r%S}wMp=tyuf#.P=)6{^sv3C[FbF6 rTO uŶ ߵcq{ ư!- ^ݱ_7GRH;z}x3YW t@gyf b8 ]&N&h4)Ĝ[j/fdco"9ʅ%S|t3k2|= ' 5R8LS6ˈjz]Ůc^5nD׵ۄ]J U @[@j(& t$bO qXPPI s i <_^%{һ5q^G퇌ϡ%ZO gj]10t_87:qD-'%Z"&5v)'lct^ 2"2l?:Y .k/âs:΋TXUpc! svj< gi^Djd NsۢS{$7|B[*,"DL wٮ?I!_1KJ&ٯ)cJvZ(^Q yՉp} 'ڙpid1jHTTV(Y+PdɛeS\wM-" /+2wRD$M~h%׀> )#ڄ^F} CC9.&O"tn1nxAEeQ3?mN7=;mn>CP(,$swzEÚGz;ӒyV&c24:xHFӞ:&XF'8W,Ul16ʓUxADtTr⥥ ̸IR'?k8Z+4Qyju"Ԩ(o1itD:bUA ޥYhd{_* + *5ۖ㷽^V1 I)C߼fe޸2MBf=Pe1nw\ 3:GQ$oU9<3AB67rp2![ ˛Co`b9[_n(=BVӐB U coe#.ҝڎ jV7L?0QDr]Oh]Y=&VDC$rMÎ].ˣVE Z@.v;ﭖ9:FjSnD'{T;Yz<}dk,,=/WO TϛT:Ln.1 f1] 5n+av*HzKB*U뎹&+[O# 5!iQrq<&~C}{51{yb;jBu[ $#N*<UgZ(LGG2uQ6' <@(TG$Q@Wtl.= mÛAZHbUЉI8fi?22&DcP@YUazv 1\) 4 RVp347fEEhjf3HrQM#Y.iZCwL>ff~mƟ--U=MfJEClf,frC>:V;=TńdFWw-h:S-MIXm_Du/ b8n-E?X7嵟Z/<.ԝawPaW{ḁ)M3׃5h(}>FPVϑVoI9RJ<Ȱ1rn턩s'+m33$ >ͣ[x^2Ri1zH h2 *qn·j(Ra! *yPx(W뗣FoN}kxxJ IyN锂HhIղ]A@ӽA2anZ`UV_u[F#6bavlvK&>+*&2=?1ʊ;纂/WU;G6;RC<.WF^qnqڡjnKCchMR|J,Gw P"#c0V*ӣ(AO:PqJ3]2۞ૃU]\D}K)kQ@ycZTFQăMxDҹZ Ɲ`Wt7loD2wd/t4<o}(y&rRmażO6TfohaXǓ-/c5EVyu `jhnTڛ<_G/6~l4A9adoQUH.޺ZAՋ9Ss8%SlSn,z1cRէ3!f^xWsYlf&/b{; D j1EK6;3qƾXz8%UN`2`EV)1àbT]RʼX;5S݌F1?u2-3+hځp +?b֭Z›\d+h_ yѿh/-P5uiFv/?F4ʘ\`|\""Q足-J`RU~,2һdo9ȹIILcM~CMccik*HcώQ+A4ݫ-15Ie 6gTC=IX ׌6/$$ۄxzUy8\e[zVSZ ;WԸ i2B6,$#hMXDu)CaR:٬0ysNI ;U6}OLB̿SbWJ!jEdElv{i:{K9ln։טN^VdrlI'u{p^]\  n '1uAm_eOժ/vCfu9[nk'BzJ0$Dqyo29YFP ;\o(/zNG,;bl >QtspS0WG F k9a#$pq7s"|bЅ[h(PB, 7n&:B3ߋN B;QT-^|="YsRӷvcgoB6jeS*kO=Dlo.45ld6nj/n~O$Y+6D2\JvbN6H< LCQ)n(^L7^,A4 ȒPzme]ː~|#ͩp]CH%}\< 9S@jvݓF/ x%:6&1x[f8ճ ݻ?`+U.zhv@7-0ghu-"w5H_)ޫ ~R۩(g<ǁ FaPL-MDN=LˀKSaR-=2tmַړR1k򸘸1tb}#zNg& AG cr50fWi1̙clW0c>?:iPKcGԞb( g&2o=3 [^ՏuX;HP(d$CNK2FSDee#a;߈Hg{{̦ngǽZ. Nn V"Y(#m >of,6Q5#d&6u0+YQ_Wm cl!L`lwhVMPuu NdLSQt]|ްtRlK*ASBw)b \qIJvtS⮚=+ m-JqR WKe{^%o81h&cseI1@SG_%d"pA}cWmDxmظ2*t1˽H Y3$EJGz$Y(^f|J]#S|0-|BG!M*TtdL#U}Y *{ROn}wyonIY@J^Dؠ}c SK(54@'2'K3], 2qm܎uvl^Tѻʊs\: ';$ 30u{xB4iAѠ(^ʬ-S"3ifW ͈Yʦ(1ZK~ Xr-!?};bs5kr3',Tb9&##dt{%ԓ.쀕'z؉~4`{7_8NLɩEm q։y{ (re2"7XAnz ~FZ4)bt +XQ .y!u}ivO/N?T]-w[O E[L 7&K Cq9M4ǭ۾N~fl6-VR1#;( 2#sC˔ "i͘%tREl2щ˛c+h"wrT NqȀ >*5h9M^Ք6Y ᎙rYJG@_PXv븪=&e'#oX4Fhmօ<\%^x8P^iu ȶӨ}N` jή-@Ff_cςXaOqFǞ ǮfC%_'B JRkwsHA/瑱5B]nCz-wt*,f |P9*CTqB](9=sf._vY=M)C9̒u_JF$}*CB.Ƅa_1MbnHws >ǼT55^@D}7 R,L.[l}h TWS%Vit60cBcY봁k};1D kit`$ GrUTx' Rܑ=VfTi >Jn:-CDo:t 0eiNh~[騗@L{AGH0U2W ŕի"oe(yPkg +*&q0}WE'z|`\NYfwDnΤl3D@mWϗ1֏UXxCC#Yn". GC^ ֝uH}r& ݎXR aweVF,mq7$θ+EH$?>J`"d姗Ү_8e2-sjSinβ]cf:UTIYM3k.yd(_!u0bH';:ʪ=yz1m1qB~UшN92u&ư]53M(O3zYmZ!ݑ#us97b'3f[prU=T"]HS\\g0,a0|\['^0b0(ɝt⎌lUǢp~!˰ ɑNXpIG2?ǘ fK[cFDb8́E)EM],jy\Ds'MO|V,RNIHV<dz>Ov*ZmdOC7Fjy9(E^՞6az"aY2*TfRаG%QBmUN#;0Qs3.ib*>K(`·b7*4 pT35F#Q?_]V91_0TGQp^ٿ,!jv1oksW#kT[Xg'nر4w[ MDHfiK^N2C<2,&SPVUJ$BhH(3, ',.rGK'G DnUCܓٱMTnEAj.FћQ3HosSbZ4&9#])$橖K~~2 i0&N_ 3{ó\/P376kSmaGzadnc6l{G:,{n4}[fld(XەoSA+‹=j6M,t Ї: ϩJWL 7DŸFv 1+~wTº*76*qލtёi }mOs<3}YZcfF@6q mym%$=#*C!:&z SҰMQGn.: Lw(Grء<7bs3NIP|Mi˓=ဓ.J.Ϋ R˔e\TX Tmn|p^Δ Ԟhk= 8K'U]dzcKȍuE!x+ p!pg"E)dSRwC# R.슻T]'dnT] ⩡D1C?YvE/㊯r7 b֥nݬy^:qT3 SuT.Me@䢷Y܃D-I$e1rff/K"KG8=zTn)/ɏ?Y%O+~rZB/229ADBHӗ\;UlDϯuBMtM}!&'z^D u'b:T|tNj`72pa!afA(63G>inPNhs_ųtf !!Bk̼c^{SSrSrTAE|Ǚ2s |G~ƒw%39/}J5(%'Q&gq@=:0c;2p ez (>[t#[P&`쪚hz*Y]_R6Zeaw R|`4wd',!*ejK] .r8̑1>[5-Kz/'g8yȝ]rGseXb91M~x4~e\H+aA 2_FC殤ٷЯJ{^bb&b!3dO -lnq-Ӑsu(5bI/*2;W0w^7,WAo %5eWe A^ ԏ%OQkJ=3+S\HKU+T}q雤,&ܺr=?$bhl65rڸ&??P{ Tg2,׈_<5#W|ʘ<  K&%L'@w=++TKb*jϕg.+aHi_?G#PC]}rRX&+HBN7~t*nRukC.g֬6n? RXSkyφvo9+ Gi[U Cֹ~Hsz>Bꬖɠ`.*Fcv9BK5Y[eԍ`tB+!RY uwB(0t<6m_&!h@ȶ3nX߯vrU 0QdڈgCOm<&ywUXX@^P[\}d_’@:~ZpTZ(i-6qivQq_ ꘽b.U>I~LF\cG#6m `/0 zI3ʫ ^RY]-, ܩfo r;\b, G9昬V\JI/talX3#-70Fd7-Fc%|+Pqͼ*Zu)[5X~[Jj)+n޲N'ݜ3ͻ4++a?e9;"ĪqQHI`Ŏ uP0L*'^j2}7MrkQC+U *EIN*( 6\]ö RWYn QSfNXQ}u'-R*ɔnߞW Ootg|C X6jW0r[׿`^zϤEBmi ^ֳ"Elnަ/P6.6OJDڶ~9zw:Ģ<{!6F+, z]}T~?ӷaP-8[[W /,5lVy3$EgmjU _sutLf+pLN4,`YeU\a嬵#?unD JD~\=hH=1I",|m˻f0i)I@Zn*h<gԜQPs)gmFW.;;2 !`/ۿ;ˉzOgCC%:ɔFB`Sl>ǛI\/G 2'*|)O:FSO&etOGx0SV{4S" *("a5&2% RrzQ~<n -ͿcCɄȥD;U onG|xZGext8$O[A="|wB<k]h^VOn/Îܝy$ }L<[ &_ԮY$u@jG҂F(b6#er|W{( s>4D%#=0~Ȼ/8+;@O˃q+/޺gƭgdaT (*ԙk={' ps) R"a<#| F5b~;JF++_ՊeH<A2#<А#73 \MY2X 8?^D-? y fձ!.UwJN?$8 |d?  Sj"Dk_W.\Hm L'3 mVl$ oV߁phh}<`$d=ӦցsWɗT.Ȼpȶ?l+m^PSh"B|Q 5t,'}6VI;3hsRI?LŔn\~P3i3eOtӑA ?&rK/">nEQ 'Βi xxII7^_߇{mGZO 3 _DoY/si& Z `><m^/i #Z>٧T$<C1şMebMl?#"'RC;߭,G'%Xh=7m4p?C /*;%xB: )Dw>18O*:>()'-6b8u .k#Xrs:8p?#Eh/S HQٟR%a Á@miY`-}щl$wx \myFwM-5SD0*UzqZ`1F0d=҇vn5yRa9gCذإ? C |jr  ^z>W馊50kX&^lP-\dsOc0ci{uF;B񤘚$ӂ,4Uja֭:9@~` g[{A; ʊJ+9‰fjtGBÁǧ_=DK©YC3ѷޝe;;rԩPGC6G "L/#% kw;b|(+rcET/C)*+RCjp/*1mNclpGR/oi5x\X*58BW[RuwY[b ۍ=gx4Dr;o<(h<3au? *=4IS_8ޒRJ49Ǿ*b+Pvh c,3_d7D?̝pvZb(>}p ԎZRZuD8#nIfC.Ċ'qm@YBϱa~Ryu̩ ݹER>pk%m7Lj-'L t<{ĒqQ;([7e}Pyȑqwƕ kC'*} G]":Z`ACIz7calBߑpZ߀G=gJo0$9h92*h~Opb9;J F,`2[Ro؏''v[?^+w߀$5tv.5QiC( /Q\/| ǦH sfI ~#&|&quk'XŅS Y%LͷDH$v{z;tI[qy=26ԫshkٲV(D9 U__Hc*Ŕ QP}?)8A5^m295 )p@Y{?Z mq0))- R :1F'nldÎm,L#gVn"GU=iY-0YU&$?N9 {Bp;4uԵ%vo {e.D7 YQbH~pfFnXaݼg=HǚEB-v7J(oa$ōD<Ք^~j1p I"u?P",U M8W ӵDaT/Z;WhE,o5 hj `]~<|90ς&ADV I9fWMA/B</g<'PM&3;jen*Tcec% 'Q>[>5vٰ0/IA(P VP.u71.XPhpU?zTs j=Ț+z<:ebfn IdFhéqmuSˌwQA@Fz,O WoDKc+뫐#' ֭ /7,%}%IFEy=^LĿC@j"$_}O;­d7{NŶ/ pv_-Fjpn;O*v,G"4vƠ JMťh)EQI^Z~v>2}c@cyM>:~No&wsF"3z(% "PdRŚkJ_YfwgR 4X8ZϭOz?6v45OwcUHuSoӇOuo6&|&뱳~_\>VtzxM/sJgw 5#5,2cR{G톍#BVn2{~օR1+ށy4zf&cbdQ%z<̚H58|{03 A/)D~ ԅ'PE[ZSk7Ps i'<Q!q]A 5֊pP wl V Vg͞3ZX[c践9 nR†N=1BY|rDᱚ dq#^)E\h廾z,T4knIJqw^3Spǁ[_ެdcʥӸ_;zBLn1۴ 千'xB43nKG[@S=zU6Й_at2qH7>4t/d,SOD 5wV uO3#$m#ȩnp'9n2joE:rkV[{Y+"]s!mଅZS] \:$WO hÿgZP_}?q!=sYNR]#׏fXBT9V"^cCbp~$Ws#c~l^*K[5E)Gcf}j5f/Jq_Xs,ws.rstIxXRRn~.tcTU(9v +&nT niv0!?/<)[n7Y]6CA=90pD}DH&f D7〝R)Ãl>ۑAeMbc'?> A ƆaJ;7ǝRgC<4:mZԗMй,Gjq*܎Koo S&+ӏ]M#sfb!MBQI<v$ӖԎ Ҹ>R]~N%;qc^^Ly1(^30*Q£#@<%YK y+$$CZb&ԽEX%񫿍ٸ[9Rf1?#>7)cڃ4FA7RI^꿹Yysb]$C-m?xr~Z^͑8:"JePE)9:³_Kg:{Vrܯj@ŐttO54 Ô>OcE`CXUCuc4!6ll&CJ高l@Aa08<؀ u5"u@ tW.xQ rrmƛ)-ɬtg]ذ$D>a#C8Zɤ2~FQs3;GK7ɉnkQEZ \U'l GB8.] gMf-Y^^ێuH7;a#8bstkmMD!7.+8L-tvz>~p}~ϡX>l IK[ۮoU6uزZ 0l|_% )=C7{m4-'08+sh5ʺ^P%oBP 7Umf%kqj8#OKxكT.fGLi1ja _&ɡ(~ُD?,>ɉfw|&xXeSȤ&1^ Aq9xiVXE<εᦍC\z b`*%pڡ|.)v1?";U5sv Ʌ&c yˇƵѠ$vu M&sQopsNzaՇj8[y#f]%Ӎnꋾv1fcz{-: X0m[1 BmP?4cb=E?疤;$7d6N(H$ffS蕓z,M5jJhגi kt5!ZGP*2EtҨ]hV5!E>UK _*ڔ- aO/w!:7o9Yw<-^/z˗lŞ2x-Qpܲa%vxKg귩R76ƈޖςNdNІ87jd.1 uv ZUo6H1HqUikd*ծ:+!n :NHf 7O`BZ 7C#E~;72rSҼ&qsƒR4;?7g>sk\ qp>d1RQ>|}A'"E+yI U^Pe(,;ۅeK`Me'{UJTSgm\l>:P߃5Tywq17t^F󥣓"u$8V_yKp<x-܌'7^3Vg!wvQ™zE*u9H*CdZP~U/ϵ$yo1@S^-5n\- . &0%q v?ZZ uTg@mod^$Ce?m2|>9cMYt6AA@j'ox-(`*~(ۅeXdJJvn, AR aC˞E/˦ǡs.Ki$;BG0Y8yGCGCLNZ?Ϣwc(b,~v/'}> IDATG Þ%̸A4SZ{ǙOaˊmXCUmm \x<\0cE0cK 0I!)lh2Sh7-`.&M;xjTNF740 f4Tuq4QEjCM;5S}|H1іpXgu3Qc2]9TkCCaR 1Vac2vWAfφA~~Sg=>[pFMџrPy{O}'Zz f/BR\pfڿb4C3&$dFrGm+Q8F<|Ct|;R5]&gu*P*:`U^H~.mJtdIœ5Tڇ_QSnjU4KB5$`MdQ3I z(EPwE* Sbpy>TF闺R+"j=P=ITf ZFkڷ-3Tޖ^$J(\5 B9r  ^-6 CX3'Xn9d916 F ʲoW.š'U%.u+o]|5˝Lx]>g9bdГ܋ϡ!JOw#Y v#1Bˏg(|?yzp$uO=(uw-nTxMA_X6!Ɏn·[w[Јpvңu \h,!hcDIldIv$Jx{=OMj ײ![7ALݦ `Y@"fd-DzV$p};-%.OH ($[ pv{8Yl\c<[`Zؙ3#ΰ SzkSeCSb`4qPw*JOk1| s%By(adjzt4'Dv {JGbcpxi_Bڻqgqi;xe8^ւ^FWeDc޾7I̻N;ޏx;QWa/^hoƺyqx'U'0ȴ4%ŁgBLg;*@dQ%L<>zׯ zm6puHHSRIJp)LUu-8U]Wa}s`?UATWR|/Q5RNSRw\`/|zWw}'=^'8`K s,<vM}Q SmLEqi~|9p"4'cuF'M *-&GC*U5&}O'O'5G缭 0RWvd%0x< .40ȏ7GQlro㍨8xcڽ4  ~uigPw77ƹǷ"69`W]=I(d\+ 3[MOѳ`eK@u?{_=N(*džގxk1-w3^^y:ijۊb?ϣM8^)(ީ+'gbUArs<uJ&U˦4+"KZjI[.&o4:΀fśP?S*]ﻁ6l8=84x-/|;F7+~q od^`o0:- e'pzH3(j-G`1y!+憅?!e2Iz,'ouKB8Vjwhv>)ϾCؼ:W3CWiݷ-kӷc8rJ 37"Xyϴrjpwa4+l6xmT$?ja 26C5<f|v0Um*L@rH"DaDa^V)Q;:s"Rz/^~/(AE {w,T߉X\9Nځy({ ًlENg }/av9k=Hf&$AłEK[Z(mH<@BH df2d=kIa~6};{=N!7[ᄆSObjFURڢ2he7(&$`^BX+ȇpcӐ[m?֦Qau)H#};<>|"w."YGphhop+^~Ҕiq1Uzſjg7)cy,?˽B;_jP1k嘈KG][*jNИџ%gOfW`|Xg[naf\_YRe:G@#=y4 4\Rڬih+){ESug5;/7G=ɪ2@Hԧ>t8\W^ޗ4ܤrhtDHquC:irEmZI#&W_pX6w wtiROw&$/x m~/:jm(4+xxX0mrOs䍚gl']u>3uujP8^79E7GW>D t(t( $Tu]~K~)6)Eqn2e*0:\ ]Is@5nX3@?~~z[u%:4?c<8g? љE 9vFxܾ3NuΤgt'JS̝ }p;\vۻyMA=/yd$Ц:[tb }zߡ77񓭱@!m7ib(`N֝uo/#}Yza[.ʏOՌap,csa$0Kr+nm?Sx4xCJglAɆfS.jWsy ?z{n֮~wժmA)=ͤAKԀł$ _{>'0x_-:F5C6❇O;EYoNeAD(5שZa`Fmwjva/vb?"`D:AE kO vQ{dh8lsPHj/%i5_P| lvo~rwQ7<։(@J2JQdkWCrY@.Z%4I:9x+yz1#Gr||V)+1z`(`0RRmڵ@fwUu}^n*TrIUuEt{mQbqkӹFazoS!|f,JQt>^H5V?ܪ OhSgG#*@(&>Ǘrk'),^ jS!XsQc۵" 5p+/2QcT/yZX շu>dy]&b5v8&7|tųtҹjhyLE5~ ^k>zB*z ʪ]Bxn'XcȐ3\sަuj]I.G 5*읻$~ØDf._-GF4EC(,4*k HOӀiDkvTj uVLd$͌(D2O!pk7 W5{rvTî#J}omz̰iwcP oUuV]=N7JX>lЮyBĄ)1s`F{/WLq '%M;} yw =+o 'H;OV̮԰v ;_8Oi7~=u/yVOlYw>$I`o}x,@&PzdtczxW, g8 uq0@f/ il嫿כ_QL wo_W#{/D'NUWc6*9$sV,cUmˎխ )OL SM 5hZyVIz啧tãkt7~lHc) <^ niԦr-٢[{t2#csN56ހlsRwg+A.S]^)xۼ*~>TM276O֪SYlܵ4-2_oڲ]-\GK˸_nJ0uLG|&ў8ƞ n} ;T ?n?1SVM}F6AW\HsX7"5Cn}UU_t")ɑ7Iu4oPMjlD$x S{oRK+ӧ|pbG!ۍoǎN'iVp0:(ߠ b ;TҨ\[EFE`^ dp6N}߆h)z흿&xy Xx|>"4-}ū肋uG t+ODuڥޡcRՈvݪOXWߤA| b!Kk?)xLaX?;ǿ?PKxVj߾$㟄Ia' hX*-PGo#'3TViןx|2ޏ YG^&-:y\Vi([b%]s +u La2yJM?Urg|3ɥkBcPVAzjC32?c]^?M}6 .\]x'D%ͣp|Cq5+0s愄$xƢJU7PO><֕xۡ\ 5рMUDty_UJ-5) /s5+g[yv.DO$U[۠Ә(VF~ƂPJ٠Q74]v@TKj٬r2S ôxY2P5A٠97C;3!ןxWT֞jMɚ姟=A0Qs}[k]Suy[7>wN~1 ٝ(:l@4&*c}kȰJnOkrTӀ15Z k.&V၊,W{^B(z^6s VTd:KTd{'?.͝ >2aq;5QW&Xz`SZB؉@+fGKjyc#XM˴`ߧzG)ijߨ?:{ ٽ룘Tԏ<To foVR\L)`g+f\?{Тab}S IDAT[4Bpyp xjjQP*=cmkov~K{oSVl=^];џ;1$;Ogwp/= 훕;}>DA_u<ᐋ4Z]ٝѝGk8X.JՕmVc͚SubZ?9Z~ڿNmlhֺ2Cݩ򈘨Vm5owk)^["xUJΘ*.Z/_mٯN2kiKuiɓT\' {ΕOPSn'):Key9:y$(893K3.U6?JTŨ7`gpYgF^}hL8ycOX,cDZ_eVV]+G-yv򽚆R-8`'{]O# sSW`R,p~׫7?ޠ^ tBǎPͮuxDwN^Z|,mYx>y \4_1d7wnnT94рiI7ųk8 PtDd56@ky'V` y1MCҽijJIQLl@($:^oEkSt*0AJsʚT[۩&(<ЊPѫ_GS. j*1i<US7/Qwv1W7>ڐR(6~V Ig~}8(>49}%Ɇ kQ~eg)whO!o\ fM{iUmkhRaN&iF#}JU2F4> O߱ZkpH[ҷ Unyw9OdE7˛spypYfU<^,t)Asa_pכzwV{yYP$ @ӱ\a;֙/k۷Cqc_!/A4 9I)ô`_EzɪfӰ2^w~W'X76wݘyhk`PU"@lyDfʔDwg6w[K*8tP 4T{Hg<`߫ ɐ'A x/zLIlVmF֨6f@Q0[lhӁ4x)'EQj/bYV!åj)@'<wz6WPnz25qt]ʎ|}M`ipM$5)*$\q+UJIYvU.*,܂ O;>M 7oTutFK zGu@s qHk.Xo{ zQjA(^T=?biO~%?P6Ϊϼ>JjQ4ƺ1S>g10cѷ s9jG'[*vVBGi>]:cd 5"v2 Wk Et='*Cfjbtt/K̳惻ՑvNY_+bʰYJ'PYEЫZM>mP1K~VzvTCYrJ{z;u'0: Z;P)y3hJ-b # ?pw/Ov?>ol?)Vq=Rۡ6e`` K7풠A88oOOS҄TPqx3IMXvN%R@ͧNS˧[6tiFBc @65!t .A5_>CHI #(! I&Ǐ_}lؖ>d{!Jbx\ʫ[Ui}T0ۚT)ػҐo輦`? ab ߪq|V-U{G`LKOi)>4:Ѯ:hlDh劅7.#@ \S/Tp"009pKeD&F.'_ !džP0叙Ws}]sy11N<_G wH3И.fa @I/cGF_xE5_T] =]j(􃮨^e_}xO Vx^zC<ԇ* ~En4M6FXM7?eVcUJudmlhT0u4*V?6{0R>߆;[@Rݞ9Lx}d *" F-؛BtI:sPTݣx0ù ΃Y-\ẋqާ0&`v\Bb5š36OW+`-DDDo2u*49j+{43~qVcwD']|kW.# +=N>fjo흼w^9FTCOߪ[-!mp!mؽIKN_ êh?=H[UMS?oZjENѤIWҽ0hyi\ #B3O>_;,}feW:PFӦNԏOLT|4-f::ZQ7(Ũ&N%De:ݷGlնiԳ^97RC\k?%E#5ʺ&Twog `^No;QQ!^bLޘf Ψ^cAyVܖMWacbD%ū#r18"R>!Dnò.ƑlA؏4ƾ ۃMeVt)#Hl}M840ڛѥ!vjr(FM a$G`Z7(g9 ?@+j'Z'Ѵ C!.??L1򸯾NH r W2%DӨN$ Xc(#tniK@T o{D}aGׂ(ϲ##>ܝ ?; aAksy'_H䷏ݮGpxV3/RHvߢ* ^llB_R٢rZXR'_Mb%HnĨ,]:մ0`ϻ!W6f!\V\W7V8'L55-h z D~x^>,dPCZ4chtk;~C&Uux2Pf0:$'c@kk*/آE τ&=J_~BZ UC[kRfP ԿY+|,V~# ڌ\÷eN^8kzÕzgxQbjƌ *@^__ƠE/?&?~+x CM1<]xc_ #h\ɥOHcV͜Lx'LL&J)}od 28Q`aՓ;̼%Xl\:K1wghFBE&'0:zHo9|P@Kxcljq:IF7;qw6@w"p+Lz Hq1|ɁmCF7D!%̝ gXMq!;^pDbzfKNSl#{`W?;b\ -_%NL߼:o Sę()X#"/X͞@ o^ځ G4O~p-VkNLPb}eE`|=meZ֮7e7:9:pOu6[H4D+lEsȉϾ85w\u{swH]seȳI6C{>B795?Gg]*Ztfҹz9Dp+iCW1gewgZ|_e.a}A`J5PQc7Ӄ[Cg\VGKDK.y@>@ c; At ZӦr8(*0 'Hx ~/rmtyf럪d(NV0i.Rb10d7ˈD ܔVA$GIeױ;\N?yΜ} kV102;8]y F.@1_ |3WYOxpdArqoSh/d>FNMti (_ oG\888Z*pه44PQ=@;N:HHu e/0Ƹw$Q8Йu ԡ6a:L:|HHsz$|deS&FYgP(קЀ0lPtxFһ;e1w;['P; 7X2W@B\,Hڕ9!Jcsfc 6uh`0(2Ɗ=myC/T[Z}c8eAbsɘlV["saF:ңYڼc7ҧSczy Y_?ǝ1pU6%cHHxF\ybr]0[ܖ>(j9zA_[DW]!B GZuE6R}>} zpj&|Ƶ͞Rq:_47_]پ= ]1O5o |* }bv7ZAmg}@YTI! wԍԈ`֬P[Nqa$V$.v%+fW!8<|!ۦv~Rmp(˸&NUt>gˎqXuLJy8R4z쭇)I Y{i)tV˫?]1ݖgpfQAuNFr" C>˼ʛU|P(0zEQvT y6u w.?WY臟P˴ 1NEm8l^UD,fdÉP\'*Vdr""@BQdF*_ ኖ6EO4ɋۋUSK?6hܬ>ªv tF6Fݥ/@FwM9f .%OyE0aƳ\^:j0u7c;  Q2+ y?`f>b jɘżYMq o €?$?kn2b؀=0AA!`ԅ*6>Fa&ub}&C9 p`Zb=͘.I_|͙s'#MMm@tS4!~.lݶل; /t& :M RG'G!Dؤ56}j-dhuu ,[m-.i8 8鐎4vFX'$_yCBt$-\z~rA_!J5K;P7?\=d~RO^HxT .x]w 77Ȟ]@yxq{w gך Wɺrq$t 3`HbJyFɄ"SU"Q_0"ݢ6ҋi)Y@ "T`w74 2 Ke.%;TӐ%^ 8(> 0n9J ) LA}=߽t͇S̤1(teCi#GY4g:!25`Ѯ;AK;s,uPE755c=^ht}=fjr7xwج!2n53&?aCCnhFj 0`֦\˘XHvK~rϕ!N@Mtgs*3c[:I,Of7N#F/3yR}ffJy7]ơ%{f\<ˀd8qF]_gq$ N %7Ste5o^ #bG#$8'Z@z6|Ɍ!96 Wɳ`|m߻Ozt#rWXd)c.I lKTKE_"=]#SʁI}KՎ#߽ OR -T%E9J c*k^AWOj b )Rf8!x̠YZ{o8oFqw=+X/_z"en@F\L[joo ;n:siώS:&=q$5!0%?^a}rVlќ1Qw+vQQ 0LfxR"wtŗ}ٌ[-gcVK1?H-<15j"5  =@acR :PG|_W\ YjZZ0LqY(* ^]}n<~ x0mV:*)/а~#E..R&|܂^3kJZ֯۫ yXB^i!jà ϝwt, 3 46fd%h>8It9pRKN{Blz;`6ilX,=W>;xg>9"j|%vҗ_i$Ęp=7w'<5Zy/?۠*KZ3]L^nKŚ93H}YMXZp >_y}(+J5MT^TMiצ4=( yE: ڑS"sޗ0fTf9Kс%`#f%$w^fլ;H yvSQn$ND 6JәgϿʼݍ+aJ 4wD]~NN_jױR~:M"Jv=ntp8 E$sY F+pf4C/dר0B^q :Џk t+dI;6d`+C7:5:NA{E^K#2$,N1P`5Q V"yw` T7䡕fHu3qȊ**8\5* m\chD'`M`ٻ06@of.HxF{vɌ\.e^@Ftһ!tn確.Њ6:1xa0ogf?:`q?Q̟GG>vDV׮i0˘`YR7`>&|X ΃+vD/֪yڠq3/# 'Za6f &TZh2tp ¢؛B1wXMqƯ"w`iW@I0ЫkJ(W#mkG[^q 4>x7 Qb˸#.GUU`1١:͘ĬYZ9.>&-:ڼm.bz ƽ ~֫:Mݰ!xhɻTX|м/H#0W $V#@EXt\ oylزC Eh#L;n{Kߨmۧ'5c|b$ϗgȼa8 +PaRƤD%QG.^}>f]LDNJC7oz,(Ug[=˺䚇4܇W a]pe*x,#$xDk4e܊3~En'-nW`|+AGO H}LVݡ]u8Q۬XzQT}eOi^Pz[!+Q=2oV< 7OT[:<w͊72۶Zb`֡Q5CxhLb y1/wc `%3ou>]-K0}E"ñτ񎻎Wys(tC7`AuI Y" Y ] ޵{x@Gex=-}w( FģϷ4&W3OQ[r(#I*ySh @|*{fLYfuqa\W+,(E4(E>* & 3\P x&\ Kg8uvv[]N4ű=5Ü݆w3bfݧvSta[_7n,mg-ѢVݥxySij)K9Dj0kA=WA#Y rS"6y|R@b]ԯ WW=/ކJ:6,D'M;I&X TWh P;"`Y B)ɓ#,y^|W{ ߆'[܁9 4%j CGFȋ =0_$$U륇&؍{ dU<ăğn 2OO?>x?.䡸HZ g:yn̻} g_IQrsٽc%NH?c߼_o+tD3;ц^Mu` `i&v̬BgqIs)8b-Nh 1C'BH1+_b,u^FEzcЉTOLy]S٪tQtR^thꇥ߃O[qG~F)#fR "dQ@ PXS7'&PHfʻdCB'e;} q PKL_6Yl0x+{6MRA^aq - aJ2.O#"XuWcX27T ZX1܆tNnJd# D4A2 f†l(Jqd~ǾG;)wcQ 6"L>KAt ԄbZ0xǯ bW{jbSBUz_:4۪Lsg*,CaL/`+Z4[/hNL5}R8LRED&wTYzVַddaJacBVúߪB v;I8h:Hse#d&=&Px30-TY]B6U:d3&S =TTR5\ғdGu:@6[&1gm*‚6&DS6YX8Y٠#Ih IPF7~a%]+3>ZN1Bz`Ԧg;`蒪Z{ h:0!VbI5U &isƎ>:v_ft|t~mUxKYY`Rp#h$6?k$.5r 7?A7 pÇAo[0NލN4f+Aj9t3B51#GԀat\eqF4K.~5؞ __ "HΆAU6{CL|rd^!KNf=u0iqx@ː~#IDstMTŧKC&WQ)¤z ~o^w눏2TVg^gɗN T9NWA]jqS}2G;< v!wiJJ]26e$LbaBF0JO0ä)_OfnJp%xFа֏$n؟CܬXm[و"8x*LOSZ6S[stʲs]_ɳemc'jT>хܫ}1:L\'u͌ǏG7 F!^ml/V}3mf@eثE45);;ת:C1>IikXйVVM7icJ}ꔑ潓Qh.xNa7ڣVG T4f~Z`jEg]Ң86N6`xYi9#Ac*W),JG*PMDqO/A7]uW0i r vO8^6a 3'VEVa1nƆk8\z8yA."9,K $F+`Xzw5e=q;_A*1Lo` BR2?XPu=08$㖄H68sF+p f:+!_@Ǿ6Â5QV VݫfH|,UTE_GUP9L!y# xuA7h IlJv颻4%+эZ3?8Q 2nz/dyzJЯ ct47t᪋:}]Ub#|茏FkHZqrxb+Eg/,+n!a<ȡϷA%r7=B2~Im@}۸}6&|/*ȝĖ[_m_<*#+T2);p{1?k0h–ќѱ֖wC(c~MOx,p{-Cb#B$t5Qm0i׊%u$'HPW%+|k|:g{^ӽ T Dd4ԞnF|1Z{A`N[G4i-b6Mi^!toyYy"mkPK]™[`ۻ< !9̊ݼ﹂0Xz@M025/ݰ0@.#h.h4^ t.]}rPU`UI{t.`G! 27<(t<0H=8t0hl0?c0߰#d otW3pM y#5Y(G:wpx2>Q%ڿ ;HC}hYyddiixW}NАWZ%Ax1ԑlG'CZ%D`?xʹsp?TU5J[cFh<5e:[%k#S$-׼-r}};:^۠%ӧ)ONy!4 ㉰;VsrURL}W:\Y_٪V`OS)jccXئeKompwitl\gLϫxdgChcW_\jF+/d2:ȸ*,/pok#MY܃}}9\?H5 j;:E; 6k&=Sͱ0q~x}oZחP {6Ey;YuA!.e$yqsx 7>Ȁi_"DMC3nյ@Ѕo6s끳?`n^UEQ¶Xbʜ_@'7$h?:f:X@%es"S~Cퟆ(^9+c,vv/5;|{Xv2/ Dbbsѫ}إ_:OTk/3 r;1]'1 d~ 35|:ګ;5Y 4"YDNlhNo1VLqs}Se=7QT(-Xpc_Y^r|RܾW/G{/{tەIb_duu5D/,f" &V-L$;p+?b~dO໅~K 6 9mP~He y+~Q-wSfz=D(lYIq_E[Ou2-0/# @@ϙZeh. Ğ[ -H|;{\\4LB؁簅5 m,dht14 fbhabfFQ:Vٷ`,cBZFH vkI+qH92r"=3;U4e hh٬$lZX!@n#5 IDAT$X-ϖ Hd ӛ j aM4!ˀ{KF@{WW zua%L@hB-u)r{<o)ЋM9D<.:q`]#/k_~GZGƳF]m9o|Mez;٢'"{O|^=o&x`eÕP{G)~*k;h>yq{HviY}Gg-d5aV9+ P"M! INlq=LDOnAĆس>EJ ݽqY-ձ.n3_AHS˺ey^–8GBxZ]*u`*KW 8FQl#"yW i4 SFIϛ鋯jb5J>&`b翨gQDU汊ʄ> " Yʤ8]5Ϋ鿀K`F>{^n]xU*ۋč/B.'?/ GɽN͕Y jrp8-z_:Ԏ ȋg| »F$qI[#Kng) XݤzX,MpJK/*"z\CW`0\՝EX PF0@5!L@>0w"LӍ0wtYU_7&ҶV)ݿZe;N{5$Kn6v 놐&VbU&'ǹ,}}|7&&|œB@@LmcAo,PO+ggRQt mϿ Y8@(VltMPI V=P݁2d| 4,@Hb^LUNTb5xk+L Hx+W QL_yiܗխ٧OoA-p^~ķ?, f2~TM>gڦjuwhgCzZcc&= W0U}yVױM(DAO>}_?|3Z_fO(a M@!x9#Z{ǑJfd-)z<6C3ouy۾P"yɦ,+gncv4ŬnpPaucZ4$Gu;@Hvfّc ԉTܫ`)Ёg0k–|p՛'cnM55gY|ƕveuIޑA5?5Wb\CHGf֑ ~2~?{ǯRNVB˄ Tnĵ䰐QUHDȱoթix|B02D_{F7 ymQ^Udě]lXń ~XA~26BEj|B×|Z}\̉JuOa!Ab6O_s]_' |A+jeBVT0?'^Mp Gj\> [ +lŠM4lPШYq{ʟ}F䦮 .btE1Fj+uUԪ ƶ+u3b?j$Q{P$gh 5q_A4r@ed /ˎcu2Y 1^#WBsrS?j5N`N u K(@׿43xq oeX(x' ~E?xuc 7mCOQlU~]Lgk`߀-l*oQ#=^IEZZThHZɷ)aHVIHS69d /ATG+S!}d#rdfezͷA"9)^;l 6PEŻFNA"#vs>n:N hd-%7R;vp̄Ml#Uh:y9@L}ny wgpƱ,r@2[LP8YCfr<:m$ ϡMMGs\hme?LSA}+%o,DRi}v}O>KIhU0߅[2Tf MA,VnݤV|) (=}6dl_?#@LGP,<4uy$~Cz5ߓ*$\]bj?9 &'9/<<"ǒIth[^~h]C}/jmK#`Dg,FPؠ7ZA8$@ʹ9D}=FbyHQj`v?; Hv{,7C+s\}c?o<*?GO(b-a< H[%`bD"#sӦ4!(h|P(vfiieEy[! V|@Z]|OK2[^1N`N`k8rg F @{-v_w)Ryb9蘭1EPρU4<ͰKW;%0PCqU93= ̽CM ѰUDZ`l~; /XV^7 qZ(VS L~W^l͈C†=yާ{Eg~,{$0>L.{JMSIKnT^՗)B_DK )p<?N :("+e)A IN]4E1TcO3ǻ]01M ՘>\Ӝ3T$V]=.RjYASv {v8mD=ۖj="FQ}^{&mfjkYWW}ʯcp LѷO}]<s$>&wٶ. 5!M.N1=pna鱓ut?*[{HS`4UyM%KHS>A ?wtellDu,'~_|Ih}``7*g5a5B%x^}kC9 1C!T[WN{iNyFL*WlvA{ycvӷ^z^̢d )S')^rUpJ9j4PՋ\2_t0Uq4][5`UPBZ}  LȇJZx婂ekGq$ rDzgYhq<rly ѵ1`23UMI{<*E#c]a=+k3  \h>-ņO2Egj줠vX1 yc`30nvwfɽsET!Ev+( L4$ dIAmw<g>|s4ADfCuG7o+gE14"Id0k52j&_>Q*:?OAqV8[E&:L6{yyR4NTA Y7_^u^Lҹ϶K!4b&-}%W7}rp+8 !޽ Ydl_&=1{byW|6&s(HLꬢ'!]6ףQ>(Ji&AV&@pP=k*VLڙ^. j.=UYOΜQC jй\MM/`h FDk]3 ѐ/};*X[>h`~Aq?gc䙕4SM⒏ 4)ZKf]53H7 QW迟O̽;2G^YAn/<8xI# Ο=ў@N~)A/l$Ͼv"o1=_x'qޅmo jpCl]R%put-e|߽'1#)Tq'Ԝ$GDt W]^+XZ=Ld25{f{x6 I VéE ͈ VI;c6Upix}4 % d4~&p]^0bNKo𠶁z0!c:;O.^fI%Z dIom`s:a[HA%y6RX| Sуն}hB65̜8r~N";N݆0; |&x$*VƓ?Cl78ᡃ|Xtg L%ё#GG槑jW2NήI\^B}jTeu{%"llwU]aVC]<%LL+N9(suQ >eK`Vvګà@>Y 8@eE:jQm#rŃvqaYcũ&ɵkD0V - h)>coȗ)gAFC+o{ZYe7mp0L.5- w!1pICZ<' 0î2.g2b.bA@{!H>3jȅq+$hƵV_iB*dO:E.pAbgZdL3D6SOnߥaqn܉]u2ؓ7 -D{  ς"Xq1(ЦB1,ZӖH`Ꟙ'آjۯ? c:HG1q&#@ {tW&`5r=gLuHY_GuvTDQ?|vex T?tl!)FIe\(GB2r ~i uM-񟆉R4L%Fit'{mE6`#lOVAA,GZ?İ}K(Z ]N]4!+v*ٻVrTHy68دO(-tZ43*y.C(y𣭜?kq~!ǩ^]ˏ |u9$mCiau/2ɗ{4ryMcU*8i4oS~E:zꔦǟIuUwmV<0AfԴ_!M"#E;sF }Wh*nM4˙*QNרҎ(c]AFO^͌ J1|o^\*A&o)5u;ڇߵ_-PR\_1E2s5ֽF=V$RLivB⿥X1)wAҲgvjtPԘze|kSr% IDAT>7Np]h3mq,^AM6QHCֳbc&/_aa '4m5?ʮK?\FcSsa쟪QǚQeqo:D/48 n4 $l\2P8WϴݎS_qPYݙjt皉Xc n4Ьdb<[,VK[0w|5Uү)VL)uoQ@ Mc=vϞ>̎ٙ .U9H 9{hIPph[|5l8M]vSz4ڎ|0"&tg kcSgT5 h> kY; G1M=F_z VU\Wж3b,t\)9,h$ױ>#ȓ?2zاdD1퉫Dr-akW09nͩ++Ҿ]BAkZҊfϏcP'W:ם۟1@P*T]k7GtLe(I`/OPpU\Ih\FCu 5Z0?fפțtu` y.bg2N(F*U{0V!4jevA%iا~mT3b=C'1iw~~@맿R}M tUkҹevGd*KE7@ǰ|] g~kK 8,CcZe^_ ա)åMFʱ4> 4E֛P0*,`b2l JȋR{S30iLGYxZbMUbk_\6 LFbwk#';t98I+"u =pѣ f`"Yy'eU5bSSEHq~V Ry\zJQ*g*`ݢ2 V`񗕻&vGgdə0dZV!Tq3Kjn"NX[`RYEJdS%4 ҙмw}N;c:0n=ykQ$j-2dbT%4e R@;ɕpaf1tg0P 3%&+eBZ8O^}O+Fu{H[RS|\SsUqF aDe&NoݓDuc£GrU1!1ߞoSyY$3L IquCO}eek'ܖE!(ukOHct.ƒ06$֝k隘gu bcC58>hc>! >+<8MT8(]*Qqn&|x]dҐDBTh84uh1/z43d `E\_Tkއq7l7V<֖ JAη+B;@ &i{Oޞ+ڏR3׆ 4b @~c4u鳆ӍEvV.jU M$Pp#:R, p[F!5+} í\EC =.w?0_3*),oѽw!VC~%Ka5I=5{ M:~u_E˺i} RF+Gf%ޤÖpB[d<_ו$m!߭ qf",  N#-䃯`7Ӻ; #|=!'1;3qs=b Әrcv0gò%V7.,Q3LYZuY\:{uaǙ* 5Ap=~3c`yu  ||N$X5 ؀K0x%{cdARXEX 89RjTQ`eYyx  ѡC3PC`o@wc}VY.4]-9K=hv sdi<򳘾]g7`7TSM- Q ^|ZUiB$a =XqOX بvKsa8hѷa7i}z4@b!ݫ-4TdLg?" g # q I&8?q^3 _"HeHcΜ`ߎO!"$'2I|R{-z{)0ya7JT] GU+=gA'vFhd4ʮɮ+OA~p#d_sUJ+(ٙD x-Ĺuu> 2"G\iؚ݅e(A6('*YR Ɏ |ffĄ?\ &&Psxw8%iMT7FYc 9k +똡7.jp4>s>~uh{g{'}?ف\9LT>i)hi'Vv;dR;HlUL+r: ]Kf/ eBrU؁Śǯ v+rb@J2?c\kj?YOJЙ q4I`-4ц^9Zg~Ee&<޻hR=&!B0腁B3;5d kݷ\H}P(H5ĸǏԌiz~zri&hizan1qxC~c9;|',=H>B|(!\=v&';*0I\؁yO-HJ ?#fvX#ѱOǾ7±$1@l<;=1ILqlbyh~xh`ֺ I*.~Heg4T4WqwcقM؍!G\TKߢ(͠?m*@R7 ^0OLaɚaVk$!a40m<}ByyXmr7 d2f`(Mo9-x?6 qIj+DM]7oԾ2hh'(ܺ|&xBix#|+\4"u¡E~YQ3If|oP<.9/@@'D`UHagiv˭G-k.lXgy4D&x.c,X;ZpR{WX->k{;q 1ք )/`+a>CJxcWd[xRi0o~E!+̚JC1Εv`u^|;?N@.Z <+Zv~D eEyzB.-'x}fe?!$gއ!T4Hܥh13a9Haa5a,lo.2e m&qKvc#,8Q,|L(3'6Y\E$u!M Ѱ[A~lf :;Et۪ 5{*,~ ΁+qF&Acf_N$Y&2̍ӱ΀M1*3Blh 5mĘd:#P!ӴL9hɋtr(4UH\$|h6oQX-1ᯰlVri@LM4vI q 79WpU#0Ho>,:rZ!"b,8iOHgUN}g=Njwgtefc"Gәݞa¥A<Pծ.C#[Dc҃^ڂ׉*`xm !+r/}u߬nA;~/{ݺl"r!z91cݯM*>NOG_gc3Bt#MN`~bNn!a<Ϯ1&X shY(Мƀ !t{倭썐؅{pk|:9<։\/3(VvE n̐S(}iYr;[;U}F!ww>-N+x x#%ڡ0;? )ķ0InX! YyvA+pzUkpmLmF}@v9(J!޾6$_R .~_|;:[ۙq5cߒ:$u6~kO~8n0 JxoN+O#盧DL,t1ʂ,%g \@_`؀Eo*ɽm bo⵫*Ʉ[rc_WI "ԤGFrσz9V[dA/Kq[{|'.u]gO>~ B^c BLUȇc4`! ;r+T[bAs!S@F9?[4K~Pfӗ,8TޑE>_Yh}7>8Sg0䙠+Yِ^9_|uн_{OLMٻ}^ojG$@̞&53!EP3a,OOmV6cCmŕ i[K29(@ehy6Kټ:*'&-5$AZ[T=cJez&{3${vqCB| nwm zs>r)1}A &S5>i0S>H̆SD iI[M1-FR;c4 VlgPb;7 v008I-*BBEһ]䈑(a9LF2x_uPE"r ue08S0( []L1><#w8,\S QH،Z0C<1n &I=ĥ07@3sS4D6 {nvx+`z#5AIe&nVn$u&IBLvKN%☻/χ9'/E>gMӄ/Dܦ~&up*$ZTIP.<Ԩ^}Cڄdq#>D :k8['${'w |y{askVt>'ߖAv;waTHz`| v> hF.L%^tsT"s Aל4T֢vװ!Ywu`t ~{FH"i=JQ9 `j!. @э9 )o{z|uE̬(/Rx< ?ny\Y-S(M$ܙh( .;(SUx)"g!{_fHP.M&0cumuK}1Rk3 2$ɣRɽG"A $<1N+3H24WO0"M L NHь;^sږF&5 }ddFGY6gН[`b?duL- (zb!mŪa};ufȉDnhiqBCR>ao okìJݺ! ]vh(֙![c!s(# l@^bZP*P#֨L| E33!(E3s3ǑUy:a:C]hl`^tkt(nCFȊd34 pG=^~gt4;v<&b@&=rLD#I'V!21Gtћ2M ݰ}:i OK'O?џ}̠vW;iCc68>5=4#D"A+{^{Uh~ '_3Oߛz/7ohN#RE9m&cg@HL `B҉?8.U G5M|6(r; fM5M@cK;(0}77#ԆLb^<\VF8RQ#jpI3\P& M/@V_X Ch;u`:LNtumR -v$T9eNֽJEB@QsstJ9a<7tk,fۋ 9E%{{Y$cԑiU!U&>^,7lתC}w Z=<{o~/ ٸ俸T5LBeia\!lisI jja+9b'5dU=Ok5gA.֭˨ljF'˴̊X_oy< {ګu_ڡo}NO$q]F=N:ҟ2uH' ڨ֜W}ݾFY}?w`0SV[W $;nfG>ƃ+BC0$.w9d6FK푝 [MdSnjF!Pk_XyqW]Iӽ4DI JLrs͐Q0^R> }@mP.a86Vdop $5Q˰shB bJ#bE; S \eu.#&oiL3nrvY C 49<:bZ#4AF>]lDgƟ7GEafXMo- ATFnʼ o,!yqk]4-T)0 PSP,31+f-s~R5s5 1}!LDO*F H OO69p `jkyJAɔ\S)vſ~,emiNb@ {`W_\KC9zAZSFPo FZ"_[(pi.~O .D";_[_G|/2: ۊѨg_Z5U6ٓB4wU~l 13s =ɮuB-Nځf8A&<Y̥5Jjd+M/ ߥ0[R8Y9jR+Щs؅F;÷v Z}ٸTeՅsYnwImNhѡEzݲ 60AAσ8e}G~]ː q[DB+X5i6Bà%\&M[qÜ q<4@><ͣ&~ľpb3LQR[ &>tAPVMGoj,,w쇖i-dJ/ip$Ox9Ζeqj`E9!74B| vhQ$@^llGAI+6^`l&E:nQz6V8vƅ1VZ1f߮m|"#瞝.? MNtL(XAZȇ ;8mx5)|ddX[++4c0jT\ Haƀf$9m ( #72yԀ,,$*B\Qk2u}̀=D6+4Mfu0Mfᆔy2iivxfʢwI-N)v=}wH9kO !]E0$([+ 4nYnz~h׀#XޖwE_LLW^=Բ STDL{Fcv1*>upGD9Ae3wY*Vb!d܆^~CCZe@peu므 }qJSL$( aА ƶq_PL%κ@hȌF2"a3nz~IS6u6fNV6H<(;m#g'f=Uu8E : ^ѡ{~\H3ڜa1ÑEr:~Ͷf8"Si)"9hͧ Da!Ǟnx=_W{4#,>'3^?Wǡ\}ISRb9+ _|VaoGj1ɷN']Muxd uSg(F]F0 RӭE*m<(,G_O2zZē.˿fz4AL\*{E=% M˂T.? d9͙vL.U!AM+K,⿲44 <δY/~Psy^o I$nI8a=>/0|j]11쭸Yx+sf*jq)@ h˷u"`hs P @vAXg!3$5D.Es vUAR4!28(x~F%T+@5ȀKUCMcρ+LH7nc" AxLJ/y~>gZV`[N$!}eLqմaIvfyb79z>}ū֧ΘS4lN95~F&Y)JzT-{dw?4']~NoxH+Uef>ǵM.D9jT=wήߦMF؏}n wHʣF=eL,./iB!*X_{(KwSSu*꜓Z9"@`3=3c/ﲙYc1kl&"0BIHBRu:wWwO3H==j+z~x5Up_妁NijZkA-aSrU% C:vZkx@*zqK~aa3} r\4;mKv|m*+V [V"SE&bquΟU3h *\5>G1p4jwFBˎҰh@tnʯosw`")$?/v찧$!CV18^eWe8'&$!}.2nzv-M,})`Vy0NJ!xvo?xă D/FC3ÎuO0bvl %E"gAzDZт dR-?@ 8aV'Yډ^ȄS_ xLv>Ț&-|J&if؃m5/J,ǬͽtbE;C_wA]i8 VjN9IxpcO^H9Ɍ&#<7A Wd)(A]D{_i@>ϑ'`)M(TԨNsh}_IPKڄzoB6N=DL!,H/`(>7<$(hF9 `-. wiTSdSO,WgrvqZ{ ȗ{EnGuxwIִ 6d_ɚdb~GıZUFu Gu4a}7Hr Hl.()~/=p+9MNzoJf2S@ը%Ynx^΃0;6z2p_!ukHS_Ż>׼8tJ'ywԸ^ sJȹxw`Hdgr2d~!{mPSih;ԉ4 ďZSA l ѮN .&H9$ Su^4D]^``OAŴ AaEƚL B'En^Lo Y H@6f]|*ÊƸ .I?DE9x +6V=%fAFa~$oAm^X 8{ճsB\e}ѰNXD% W1 gaho :Oo5"2;,(bs`z lĄtjO%NZ/7oj H܇&P+ruLc7:tQFjw=K:u^XzfNZzekNOɳG/ApKzv:( И ofT=s$N`Q+O~ΑqPdn 'д&&w-L}TKo̊6(K@3|e %jȽN`:VjrH_>FiE½r,y&-}^~ 9C/>57.v%bj7AS,z # gpa;n}D;I ,Z~vN`yf[znW W܄|czL'm0MjG!s@&+atѠl7#daϻjxث 踫M4Z!HֶqUX.XISc7@#>3!CN#%sP4`qX?uO2uٝy`cewAѣ k!KuO֨kSrX>95EsX$ X%(geIm"{qi%ѭN$ކ_tȡ] oAÚ66fk[ɓljnk Cd/ q%xlX%,wU4?'֘k#d=,8)@@jjÉnE]-$U"Nن)4Ic²ia5i1`Z̦y^#C -ZU`v G毄t1. I k㽟s4x41/Q\&J.:$+o~Q ~[h(m !S&ᒤ+y 4z_g&1MG^zqmw7/W6 +L! o*ceӓ80gpe|ID=o/؈PdF9z3a2lj5LT"R[hF됃fZ 3xhdHwdQ)T7x;5O0`/-[حF1B!U=) hVbw"ftd|6[Z_1*\5?mc<[#[?lNo<5c@u&jk·ʃ^gL@JL_]o-[el9hL ӟr <> y89::I|h)ql|?m)p2 cOWROπyν@]IQ>6;.^_VI@Kg9裱s˱s*6#?B"jZbLjXV-Ҩl, p 8 `S_XYL?wy4iap3e"?LKJ^2YtO3*D]lKr~iӔ(@+,~ɻ PcՑZZygU䥓}r) OQ/˝JqsW09o4(@lB237p7c) RlJ-T L~α6/H*Gf@ ه'0Q|4r(*q"qL,}Io]\o&++p.NL%2l4UE( Y\_3y׍tONFfː) ?(l kl9C7y~Ä,q\\vWyOSe8n9p?fFBazY;d=m㾢SLf9sNt8Id3"󣕀YRYs`O7.fq'𦟀B Y`"2 =Kr}/GwX.,jF<2r 0ׁVqX[G)- g( ۜI7l!@pb gb:<)1[ЃiFedYj|9 W_+; q =kWa~@/dHs@>LT7Bw,fP!ǯҜh4!MgwDNEwqKH5&X`sN]ed TB[L2ܼrf&>_#}o6KByI}fǪOc=nZp{F)p> a9Ku9sfoVW}›bb7wЉoU/p~*GKyZ|e<4!I~`-IN ~ vMF  :@ 2 +˫\k{&m R! v0j \]k 1b&p0u,VG֒^bg?o}U7O9P7+H{pB}Vylpf {kLZI9R˲)ri-+i HOb'BTfo]ʎǑb1Y40~:QhUZ6!!cЍ׼V-$EgSwAgA/cf29i쏷߂L*fڌ T}f|{K'&߽(Va)pMSt3hYa뱄' x^^s>Sb>) x?YIT [4_)Bln2xr`t _B@`A"!) _]_;Z(XcepPP)0Hgoh)#MSxA\RVzVV/Ax 5d{v2(')E7dٕxoǺ#mjQͼY"Qa$ef8 p_M&J|aY&Q+R@HEy7<+bC`EZy |ΧKb '>kbkoJ>Їo=@noń}q5q3 sa {(  ~B~ eD^?ggBAu%o[9F(#r ,_v;b/m73A]_F7OGv/ia(/@$/^N&U1pʃEfz 6)A-ƞ]$ €wB b`wd@% iQ P)\9-֬K`)jno'ԧU 3.q' 9l8`PuX5 POd r\K;Ѽ"is"'Ek#U<׀JﻃF(΢xX/MW7Jᨩ E8"kʹP4;$};.6'Icu]ݘUMXD&(`Lw@cE fؽyS:[f;/HRKsSB" OdaP]1&oۛ4uu5' >@AeLZFpixljƞ8lyt8Q|9\0`b"s 63LLQK,)֐ly_(8+k3e >2F}*Ah$݅ rC% a4`BZg;A˨1(kއmidfhm$A}R0Ի#bt!AXgXmH,#m\\s!QziO۲t0ǔYC(.4IdjdQ@cu]!D ʓr4ȇtNciFKͮˋ/bh7;} L5\ӸgK AS7 N( kL$&$2F*6HNp_>tD<}u4Cv.`B5.5 ԍNVڿSDw#tB;O1țW˙Y,{$M22~ EaE) Q~& pt"u~FtQq)C2Twg I؊b#.ĥ /  +VA>a9c^勨,|FFDC#(/ VaMMfp=jou~q߸~κz "T?ofDTV~;;Wτ -퉯=sme wava:9$G/{i*|)c0 *3= :E:o\p,teSk<:dJdzH=ģ}ei3qv6&D3'c[d?ѧ䱯}=nu"gaJJ$؉ HE W~)yŠ$JY SyTb(LX"3$E.HDQӤ=E(0ム+UAi\` av)#ǵ6h(XZOhaqV/Ξ7).V0kx/(Et C`;|uF" r1 ou-0@p"NMK 踫"5Ț3-db!X$bT 5GCdk|E4x ,~C4ref ve S .d^䐪=i¶n13&0A7jЀO!ecĊb]} @Iɜm,0*܈26&F&gFX ,oݦ*U*.tM)$ey&PLޏ [2tf-QȷY IYiLvvj5>mƮ(fbS0eiԞՅ`:wQ t_`;82]{iN|;f_>}~ Ü㲮aN@v97E D&Ƅ4ohORfxSN5 Ew=x-i=Zޅ0$^ {x.IJ0<'dz1^3cֈfعh0IYB(Ӕ2>AO87ULh%>N ِ k kP #c,wuQD3'I|[?)$G-ࢩ֊)[,N{k(KkHis(uRLKd,4$Ӿ2k O[k:ãs &~}rbG-]S(xdv_νRLvu ejiU\;Ca"䒺ʵc hjP$Xy'…=|RfqP h㾶xS '=fN:M@1 Ө3U[gLymc|Rb_wښ:<͆X3Юܛn}\<7 &kn6\斎`r }a|GiLiRD3#݃W< +]0=2J$|Ag"]Z,[_\rk)1@3a+(:(SITCh-vFEnLkS_z/7nG~m\ \''@I:g-:.[PIGRc3^&2aO8[Mo&X,{nWַǑ̑l'<<$%\4`=2^cglDԹl<&t!;kh z\vҊڎ @',{vMTfJOqd:1ӳh5} 󙽲C <ÚBE_kQ{ gF#9Xf&"Up5Js%~r:dl~9 #[rGEHya绱@Kog%f¼~if1!:%寅KL~m!l 8k}@S&=nSqȊ$ [\nȽ$` \|zAvn zDړ^R{P 3EC;U)#PM{vuɒɏ;6 } tF'ʆ{i&7G{? X 0s"=Wg' ɲGpl%Gfՙ9S%H\\!|S2$1MA y+"ϬJ\4Nm.NDLQ!mZj, XQzva6g޼P=deIQ\MYt2AXgaQ9_<L{߮RK 5x;F+rP bqML"|n9iFQ Z YSCaK5 Q0%;X)ʎR]JLdfYo/ 8Z`X<1aI6FCae^2ϴX.C3z@Us//bj#/I?mPWV4{A`uZ8#/iy!A Z &(;Ek`/sm5kGP'GQ0S3,r oa+I֌g?-Xm]<*ߓPw=q+~kKl):p܌tvJ3y o J <%i a6}p/9pC+^ S@68􊸘t xl31`/+a&^(`$E^Fc]9m4^ ?hQ:yQpS4KIθ+]Ygy'fgS_KgdmofŃ'+ر.B0%a^!=`Uf'lf 8% s9a};Ʃ[^xJI2$nc/@3e %3};F~ v>zֈ͠y\qq{:{zʳx_'iLI(u&eڗ[Za^-T/R!s–Nr1  Ziجi& l59;#3w[o6ih<}7` V$Ķpz} z`_ӛ+dE Y5g0U kUY9f0h6>(F"`#X)ؤB21k/Il'}4ֵmfvv$5'U zY&w;hJ+@:kÂoU:|/{)Zt%PGϾ8pD v4~u'5YeG5sr) ڷKp0$nВ& a$P㵇vN6JoCxP(:{obc,^JzPv"9!Z_hUIӣBSeBԯW`+E=4iPݰN0 kV΀4HUZuy+ta#r۹iY74ɉ9C{ȕU [VKϞdm{e^å3rFH\; ÅPդ2gI5JU3j)TYƸŘ4'=:/%!m,/!M 0w#>9D$͙KHȖq˙iV\i~rx+bE|qbVPdA ^4OK[7pv`uȗi/XnA]nAQcU!YU, U`44xM۱DVȧlǨ z%ih$MjLb4õZ) rm1)ukS BdV̸` y0bW t>Tam&kzqTeDesϯAq:/ |~~(hZq ҸAn]HsF>t+~*8[Y5AUlXLzI>G  ٧ d-ۍ87Y9?RA)FQ*p)R6 NZUi>~#+ws t|LT\g7M.P<FVp)9=%'ݮ΃ĥ1sI&2j)c4ldWgx9d;"=z-L+Ts _`N:J@J,dFC% %@ ))<=msKvt$[1ٲ )YdH1f_cпÀ["0#ps`# `ݺ0yFcV" a}>*ޚ{{ aPB4MrEL~ðhGV=(CFN$)4d^d#)T瓒 NV2A 9^S GFdtZ)`?B lI׊\ ;h|A`tUU*`켄<E44"ΒðFAYv+oD<.0h:#&X4~Aq & [ZCU4HTSyy J-fm90qV[I#-ݚU ms:21g mjuBO d,4 #̤ v;`_ݹs9 B*wop^bk3L])Q4\멟H@fsQF30&CTZ'¥I4ꗏ!d\]}k_\3V aT L"4+@j(3 OAk4t5[VUa_H X9kl]Cl0ȃ\e>_@ v Y"v[_},dj0AUv9ІoTqulf/Uewor.JZ׮G DE|tub֎NXŜHٜ)%&ɭmׂ-`:c]])_#/Qܞ@ sԂQ 33 '9ك].;y ͅޗ=8ER(5 +*M\U6 >mxyU5>rfLIs^c33dNMTC(,p7!d~:V :a~D|+4 >} _~VI]~KQ}p-u4ǚG UDf5Tӡd&LH qdV?=\+74Jch)* ?w]k1+E04~Z/>b!?KĹvb>4!v㷟=kLʰW]U {6S9!Pa2|>Oe~&},r,+i({s6qFeο-h”#01|ڰNmn #jqo\*z)&R~`@Z`c L JpÌfF"[c?!ҰH &ҲsE5OE "e.or&e ##BW@¦"EĕqcO_e"HB  2ҼM=0q^%mp`a3I??Eն9Kd޷/W=Y]8P4=>'r- ;v%&t{=kRJd5ΊDE02ى<} ,ȇ:0Qc=)2_]s\C`!9$~Drjx I2e(TLީr-ku3 צF"^N5glL05B`E^85ыpURelGNbs&GrޭDOqҸ>}6Y09 PJMqipߦ!>KXL7]?wEٷuА#j))竌iDQAՅ60Ljk>Lr!`-k3XPŹfeW_|LNJ&4_^or=w#ֵIcㆤGcĨ{'ŘjOa8gD6fy-KCx_?B_x(X.& `:7(ò G،L/~/peȭsf޳:4xHDh$D4FY^*g8)l%`͓[cx3k+i&U;d3[ck|K4uO@/lͣǔL#LmB80b֊RV^7CoY7Bf@F4on>zR':TZQgB57Fƭ$(;]|o64(AB +[Xog+Rf;}-| naW\$%kU):q5G᠈n"T%H;|60uc3~CsbȟݷS_p$Ln >2;u!N k-dĺne+φY u A&.A$jwJP+j6MՃ y'Gd _@ uOrI,Sig9_l?@F4owG_Μ8!.;jkp (09&O )pȃ;86\ eRx YЕ0b()[d6aPwpvG _H՝0S'z!hdd/^pO4C^LBÈE=[}eO0{eAoVXYoDeL=r~+<HA IDAT4u H@]GsIDV &)R&.\L,ChULVk#^tf6 u5M?1hzvoly o`2}-1S> R}pP3)Zu@ј?rV/SCvvHEU$ᄄ&6<}TG9ɏю4wd T(kE p/W{œS S>S#t36@ڏ>VljɺG'f kO4P YWƮ":[b c aK¾=O3⋲Zer2)mn/nJ!] Z5-*A x#iQr\Ii!r$ƹ9`C3[ "QϽvְm5{iN@ ]W/vƒ,nτgY#r AlKҀSfDֶ~0%\q;@Ba$|Hl 5tyd CY4gB&|f /EZ٭?%$|d\3B<"^8Z 7hhuqmS/pcs~35;,VNtw`ރ_9EePJkam4>K^ ?.4~HVhƼ\S:K,nEVAtz㸓o!bQ";@:il|4G|r 49}#;;ɓO|W 4C{&{z7LjӠ{< K){uã':05 UG~qsuUo[FV,xD6:d_d.*`q!;c9PZV _țG?$wsask ^[g2nmgdnfWYR82qˣ/w [AeYiFOF}lJ& %7pHexH6X-(l:$D?9%E^թC+YS ^S"=}En!Lb̹x Zyㆧ2V^'^R? :MQ7RGl4Ǻ/ _rFj/kE/ӑo|]Fk6N'{h2NY ZxHl:ՙv4CJ/T)&?quǪIpq5wQ@uWl-=Ecnw=,TdUz*]Ln|yɇSd-_HhbZ<īE^H|rʥ4 >^BO+߿srO(P6H?aTWy*9(C蚽@535rӸ(._ {pw}(6.#GwnRR$ wh] ڥfP@(Osa*z2֮[YCVIJ[~\kZp1<| u?/S~Bg.=o|;1kx1dUNUfFG y9^]~GB7JsVJ;$G,1EsYyl)^ΪƊ͎ *XZ)aADtgLvui'.K2swc"tͳ{[˜mo#E8܊, r7͋sGJ<)5BjWT%Ǫdž</rRFhVPqֈ``&YUtHE$5f1S3/fj0k`Y9SSʬ[C̵zIů/@~Ck6N:9UTz%w3Vؕfh_2hڟTΤ O-huR}`<0z>FH7s&`&vy beb:am"h\Ce|-Y\5iQ7ʻ-07mGUt.?ymYp6:KDz_Gc0$. ߔ/%"k95 {MF2 E\&, +߮~^PxfC\cIXD楥#@Z |ıh 1i{(BeD9ef08?+'<;|Mɉ*}aPFCf"|+ȁf"2NwRt7Ȍ",nbzy49.ƪC8)('3rsrǗ_+pbnos3!v5Y\$#?tUx&| a%}+Aj @r~~mz"T"[78%|Տ^m0.H4 33҄INw\ j|9$!;Z)A~ ;Nڦ })>gPK\Q' t*>͸/z׭r{8YrJ/ȎfOO#2:"QP p)J!.0~`rAC'tr7?dW oV5VQf\r8f5dRr, |6к{s_6뤤l̷ (Re`"d75µa1$jI@}dJk'5w03W߆_5ߺ03jl֬:}ބgRRFz}2'6ܫ-w\X^hoX$e-{edrELȵ꘡ P@3u˴ 'e'mrʑ aqbyAoHӹ#DO/O*&XO韝vyr.O,*E wte߁]hBS&5u*qv UWS3WƒA`Ii1];K{GP(Tn Lx+5"fO\ 3},.=.eo^~\}LVVWjNxͱO@-Em{l&S4憺Jm~n#1㖯 8K.~ q6LY#6'?@E:kelb  Cvʅ+pCHf:cI80!Z;4Q=Phb.(5+ȅ 3+-Lh2׳L*CGXjJ]3p1^@i,_PeGf7.kXA7&3߿f)z%OF$)S࡜X%pA+4x S^)$XgP;erFhfFZ)yYykh-xs [꩷q1'p}LwH%<('_>8V#– VBCe ˖[>"GͬHv;ol[wG7Y>r-]{FH]pK[+AKF4T\{۲L: rYUU|L;v@6[y'^a͚U=r\<[G8J% 蔬}s oggF@gS Q Wu 5e,ո82_iĊBi0EP<5WY>ؓUEgw` FC IMf$ ne9l&Yv$'rm.x gEȬ@ dGȘ8mjk)&w>Ɗ(^dyYTKjC : rVhk@<#kGSoM4~kB& 7?ym@~U_'{ܩsӯʧ>ru:r&i4547S z&VQ).}6*<ٳ3M)fP &fS 97P]6~F&^C?gXD䟿O[.B鑅i`v$pϓk2 V>o/0A@X2Pmc2_qغwb"r=f_}NuΙs̮H+VdrƸR 7]ronB S.$!@ġ ca#jڢіK=DaDg\vw>{~ef#!t_g@Mг/_~&vsŹ!]O.ǥ+aËu01=vM>CVGoBI1dv}&NoMI+8w> 89,Hx焣|"4>EV;ey4r0)κ xX7˃r^>?E|Cr,y[940AÄc$N Do&b[<.MM ;tXy*&IÈM`E'LRHd3N\qh8P뭲b'G& P8W!HHקI M\Yk1ZGO`(ȈtW*Ugm~\>пL/=>GGa.)&}`E~qMĿ?! ZpNlQ/Z1\Tvpâ$'}YD4s[-)*ɎۚaTcTJ\V_o+myg} 5)򘺏t@V*Zسqe6卧F?C9ƽ. 9n&#*{;Yy,'&,C7!Nq1 7nJ?H*^@Z'7S\f\/A_"sLYy''3>&oޢ"Iuno,"94[bV>Ŋba$xlm|. y;Z:mIɶNY|&_J1FMf]g`o˙Wɔ2wlH_Ea%(IᶱJHR(lQXdC܅ӧ-z%/3I|*[AoߓoxhiPػw!0OGCȱw|äva+T yGL]7nپNX > .>S<7ȳ_EȄu!v:{}9 |QWD~0 ?R%}(NPD'wӶ>,//>w>j@uKqr m|&EU ?}9YYe~gWcޓww z+G;{GVqc!]`&ZzFS#:c8Mf|^#;s}j`0_/om]G_<_ȯ7?>VQ{Oīfq֖5صEUH.2dr&f ^O Q*@GeN>!@JNp\)dʮҰP=`}!)9#Tmߏ,ځLrP]9 G=D[Eޑ'/:܂_ ]w$W`6`­ CoqXRأkݣŋ9;vnƬ;%'R؃d׮ S~4Ez2vҫimY-L.ǵK$d`MB%C@4=wN7n:$V9u@uO=#N<7ʥJ[eI,lЇ=g/[KOJx/D < .@M*MK IS$4 N&B(&.t6̉r? ib}~ޚodu}ävRF?a%4k{ vlw y"zd߂}'_soq&;+'R^# 9U{Xp\ՈpFhLq|oȞwJ•wQM>yym Fn{ ga)01ے 1YߺDx˾1R^D6f;x'~Mu1S+H AxW;H^(> XjP@=hD:y\jkD'K+$w4 \TW @Sgc'؜9JrbxL0>`q{=$/?Yy;By9.3:,1ajqk;AK#@zlS4fS0iA2F5=߹.T;LfLx$!uBA^6 |Ͻ8ޏ䩻1ِcL?cʏ)|x*͓&dq SupCp}$3&Ż4 I96'0y:DP8#cslS*FGn,ZEsYĒ \b]”jҎl=~ba_B9_ Md ,b/S¢W &J ŽfB !fh<5;~ ߏ?}~yݘu/'[G`ĺ/N(c82ME]YYkgOZ)1!Liv"pJBo_*CEW;^^Aң vRi-03,5qXv)ZaG IDATvj:{X~HqR_^]ô;IfmҴfd{*'5̝I$(ь=Ԝ} {DŽ0Ł:D)]\X*RtHajq P\kȫJ/Μu91Ǯ׼l堟 ihvG}ujC`P!EQz$ |N /#IqbI>]#+,KMC jlHVlP<^u@-1<\Nih*LL2ga]XW<߇/ߡ<~yd3|&-RI>UY!W3.HJ*knG(58Uz)xylT4/a~/&Hkm1w/_<)L6܇”G.y$AyV Ii[I؜Nth3@j]ʞLHv6@*cbVqPFaUx*ߎ.:)eҗN:S`DM9ƞ[ hN@Ի{dP{4L}=PͿFM> 9ͫY`vSx w.V n&pAуu~ulqQWaU-ژiUWX=D!Eé7r౏iݬ4BwvyWU_VO5\' J@}~ڭXDL˴8nb!w-F5/H%z0i{k`K4^^39OŽ,"Hט1idfna}thk T}y8?j4 mmuCԈ҇Oe,xAὬBn`7aV^w4 !y, eQTe}'&&e~kTڠh£5S=·fTjH::a}A]||n?25]09[ƚA]oYWg8#/D]<>#0:%^INV }yz 6a[eɣtt`i3eh»5&~Q`M>Źp/~B>T3m u52Ö7\yF% ^=2PaE݆R8![y& rf8h-<+p0:TL_|X5$e`tMasQ<}p T۝B!}sUr)LsQ|Re vmsAט^ŝ}K̇P؀}Ut}t"} wf׾@:%)\(rsظE!ui~(ZS'T?fi6MYWa+!^ׂaEjaI3mFefLr*Rv- 1|33N$0E7m]Q67Ʉ ӥ]zYyKY+z7; ̃Se 6z[jsgpQwDI}O+ClzlUh4 {xu.j"6&L zO1龟֬Ri{ds Ej) QsU&H8=DB iSorzV{<CvJ%K5 @0A&'b9󓼟 q,ajrs=l#?^j7׍K@'5|&fŃViY`؃='9Oin^i[u!1n[4=,4Ip>k- sdE/mHRh{?t/SOc9J4(L\7?{Q10O ]k00һ.'L)(@׿؊Rؑw\3ⵐA'"ϧn+FMHip'h8qUOAvW;p`^e:yV#tl=RFeb k'^;UST_8SGzguSؘN~{)oT>I^E`a`y%PW-h6L+A~ 8=.Z46׿|7*P'U "MR:ϮYlC+iV o$8?ϊeUsfY%\27@8V wo#1_V(L|:zMeY7i40I*_}5 tAܜ )KS>drdŕ^-7-e{2C9xy`Xe=$r0Qq/́b`&TKWr|pJi[~KNf}*8M }ݾB?fݿu C IcF0fs7Hƅ Xifz ncNrHpRAR\А^Qw4rn+:Z+ "\0HX& u5BL&=κPf|VaRيWeԵ&dYCy~v!p!ncL1)0l%]X1(00ԝQg\huNz(TU8em'FBѮ9>^炙|ky]Vxc'lM5TFIͅn]~ i .:Sy#6mѭ1=Bn ;yF[*|Nd`l=ZIrӸt5]yngՠ x4VijC4<:sRhӁulx^r!|CpPmnVašjzIxX xAh5] d1meO ]3y~à8'qߣImRix-Ur*[ÒJhڤyNdp=v~pyJP PFp;{ˬOs.)v }ѩ{9N4U9pPΫ 94$yQϯr^‰d@z+pC*}A'dj5m#'/3% 83# y/n]/h|^~GjN^ReD9tˎd;\t4!UM͐:!2Y95Fյ j@!<\m kѠxXj839 b_Eg2{k׽,Ej[&=w0EW g<~ 5X<,4 FӢ )wx ӑ:>Q`pI\Ex=aN{CK72|ygݢqsGhPK`:E%4zpN z&u}e:vCHkNV/n3"kO}zh ẖFT"Un=OwASn8ӾFV؟*<Yf3jӕ8g`ܑ=>ųl4YAp~9Y": ۓ*Z(6T>@Mq?qCJc셁c)B43d.A+/O񧐕x7e`h%BZ _M$=v!h\w'L}>k) :|cp y0 #IT\58~r(I;EFx1VE Mjhi^YbGXv.QC4^9燧Йw gPݲtxLcp\l?XY'E~1F`jʪАPtԨRM~1ne eBS63n_\Ưd|^G<T8tQ,LM GD3=:ڠ!8WjAkIR,}2 9=ӕ2]_(zF(򕤥c5BneF(>  z&L4^qbJ⤑5-dLzX6wu_NG8:9zu@"khxi (&mgHvV]t5ldGKlk7>ME hOos 'RNhB4$0󕡯;ukS=]w`~}M>VDөj'X 3MSp4XZ@{1bkkNIvnɎ[ qavA>Aϥv@Cv'8)S34% (mbNڧKqHxWկ^? J)ǁu@?=A^F$h*kS۬W:(q~=[iаsc3o= Jx}EtK`&rcV&~ʂlyXF_!z_k3; HT2& ukbUu (h<C(ޞ_ )><*vHۂ; jxQ4'AԦ0Aq{Q!N%;4BXGdV !`ې"!75 ݫ2 AcMM4Fx~:!oM9{osB0nה1 O>'$N㱆+í; D"悭VF;Lv.,?W)]!2?Zyݩ#Y$`LEɻL]&Mi7E 9ЏjZ;U-_ݡX|%Mz3P"[vvIozVl >C4")eEA& ;[$7l3FwAjk$J?0cѬGtL Y R =s5'H%VT{^ˊ7Hyo-Ώ {f*?4UFƎEvXt"[! _eWtrbjag;>:ݨ Trq<%h Ґ>|=QȄĩ"$r hmYgѨPM7%㶘QNGƻ ]998Ec0pHX j"\F)kOeZo[1ĉ;'FJSX~#`{T44h=Ќ> ˬY8U $b&\p>ʎ@W$ۜ?=oi~\GpFiF\@2pXeؾmh Zj=}8u E&`6nn4&rA65;yLb $:w>h&MLs:!/H .Z#C{L^}P%!Jix7h+Wم@Q8/u楈>?_u~g1PNzF-0V VXlB֡6.L7f}B8̈́cLu:CAfJƔq^K>x7ٝF0P8uf K/jA ,n՜~iM E88f,rPmh䷕|Dž}O퐕QIdR VC58TB-4 &)̚rM5B||Fw|gЭI_KL9jxL#%t]`mJ՜3s$Kvc![,mGMֺyCLL%=WCs9qJg[iSZZ8>y@{6A B%pEIPCxȻ0ȧ4 Q4$2 ihPeIjꣿY . MWU>}票u8.&]VPŃ HVNðkӝ8`k{y`b@Ą(f o%ϵҢx)A&v;ӬHY`#,ϢaL=2Q)9(^%PpۧA,MV8shqc|$ _BJ$:E r.>2J.@*^+A "ۆ}|My9rɩ]@|xO>Ή5"saFo"! IDAT͊L Av߹**ʓ?>;kx uCtjA+sQtUqʬ|4a~ 6huQl;rM? 0Z$$ZnXMA`A ¹Sbi$*@m^ne] }/u up?wtLO75 BBՍ:^7Kג3 y(ΐGu!}e!.'D:Pkb]AZB_-G/H9`E>]$SRnR2?d7pfrbNr9.GcRҥߓȩ^GwG"f73!ЩLKҌͪ]tݯ?>YE[]3߽` 䯨-g޲/|X̢S´o}SLo 4;a>8Pq ] BP""P!8>0-)^%4[+{E]Lov?@yeag _rpƈj4p}Mv4m3'syn͡勲MfۖY /H"X%'qli7qAYr-@T>'ǣCc%F1ܧQ_P}4AJYD HyȎĐ>}zk 8@+b> RxlJL`a)gI# @h>΋(Rm>s`7I#D#Ʈ];| O0C, C>_ г0fHe{E㭦@Kp/H4=Ӭh!aKF{*!]rhayU?/no6>#w#]}ƅ`GOe^iǢԁmEͥ ; <~UZ\dc2 r6'dD œ^<ҠbX=F.H4&>DﵿO`MEZ2Հץx LR8h6Q$kj`"4?{yKfMG?bXj,z[LkLb0{0){ ހ9űz0 hЉPYoau\flI&_<!uQ]_gd2-Qe.Nl Tp00h+`p"$ pDe  ow%£(Xd:,` l{ڗivj7 a.&gzU"idlIȞy ؟9 F?ZNCS`aQ8ڧ&_'N-4r6,pm߽,̤I::I@\S pr:>5Y NSV]/GizS25<]~yj DQBw1K fcMI _]zxo rFT4b (NR iܶΰS~j)i`Mf(qrNdVp,( _s#?&+ʌf/{!duU(N%t:}v5WTY.\TܚBC Նml<VSFeBZ'c>S|nZcbBI:w%>n4>fܡ09)6(7ӝts jMQvfjQdon`<Ǵ?<_#V:Y_G!<@ލHbh#;9$:{^{gV8t+1hRor&Pdꗧ[@u0־x=4wUD&'N/2603#"1}I@+bO@+l2M)L8tFmѸFd@6oRHI\A#X^0pX8\0i fePu(r;uFNF0Gnvp[&_ Hژ%hDz R-^i|Wٝƫ&{J ]&QAuU!/Ál_Ib !X'yRAcqf6gM7x$REiZh@9օLqHN5Ӎj]51>EG~LnvUBPpJ; q4%݋K@b/f;kLZ72 : ِ iH~z<9T7tD1Jy; Rq+\`W/=)ϥ:ecv0&^9 쇭1g2nqb?5GsmoM5G,눕o[69&q\x0@'fedyv]986&Ucx- Tt}4I晑(޷(A5;y8H)u2 }C*5<~V8W7ol4M aG5 AFQn_p3phRTkR903D %vj4w:rX4pĂ# <( <A2L NQ!wрץu ekuW 68r}9\W降 h }ݾB?f]A}F^oBzsفJŽBLxjdY~'q_?&`_kJ4;wB|WarQ˒ دP yT#(B;`2?`*q:'uEDjSYF'ӰQF\ɥ7zQaFfnZ3s7>QO~Z] &lQnP!n0>`OH2)CgT8Ѹl o|E>r-BV5琒A*CpJBNdRjj|_9^g5ri -iD%\KoH㕴.IH$8Q+Д`-)Goؿ>iv~",_w0Fi.W3JGh8(P7~f3h|mzƐi>0 3 qq}mFM#5#dhLK1?1i%1Q3;r9ɏzE KV| kfNE 3j{;5WQ,cwAP<i/.$n*tWܯ؛f,ZN8+}'i^fU6g$HBҔ@"䱿x&MnuDzt,#]_W]>G`|#`1ySAg:!P]2)B_I"ka"頞ޓCr)n>mugo DživmyM&(nQ\%|տx驝P+6Epw< J';Ւ/Ʉ|uF,fsFou8YQVAj-GEaѾ\'l3PhGS@%n Z1d7оIRO"fX][)s=}|75zz69S.@G5@% #!d, pCxϯccEο9 \&v+׎#U=?a _SuZȇېD0D)?q,R2-'Mzh[ G5Jѝ*ӄ`ePpkf$@X_]g_wwH4_'OdNix]+L^|yİ_@YǏ!BІpբB diks qW(=RxOAEbnV՗h*G?m쀣MeBt uAv/Y1 9A 54|%&'B{TPYYD+Ix.2ЦL!$яeca9EJEbGc5RtQ.#uP߅2||r^6qC 'Cib L h󫛒<~'M!{v!|1y@e5C$4E\]1ytMw+ h| }33X%k<NLNlAb {o^T|VE>>~UF8ݜS3܆1kcCPmTQAc Į2!k5tqOփ 7aL~X$l y w"=J^KkDJቫA'铘Uk>~,x/=KWHm^04*S'ٻcM[cVBp1c^*1Mr/{MSEKH|$[s)$R17InFƃ&|q X =$Zl{7)v]`;!`!U98n?6E!s0%ClןnH$BÅ [^M} n&P "r @TCI5(v5̋ؿ![Kc}blfrwq0V oew^.0F:7sŻ(n*! 9vLYݢt#.454S`?0TAMi粜Kk?HMoJgF'=l@|:h_r.|Ay0܃`ED_n9cK\mXYLO!$ Nc5=quK";E,62ns5z*y}P=vZ&P8RgIȚ^ i,3(^| oyܙJKlYD__@QƄSeHpta O׍|e4vA.n PZצ`cPvg ==l"kd8; dQIs>2#dE#LB@=fnx#hЏ嵸+>brdo ?-(}4SLvt6(hׂ~+"tnΠvh)_o7B,_M+Շ|{>uCbǓ(KrR^A>gMa[k.ՎKa[W +!-0Ŀ`!By8- ̑܇uUC%.4N͢8 ? {7% )P!V+Jz#U\x⋰iggI|#FaOf"˳R0wDv'$Q_3}\.S Wc7܉%xHzkZizb?DZXF NS(4˾Nl11¨GB,q)xgVwSِD-d( dA&+vR\uRSDLNqKvIcL] kSIʛk1 iI ofmMllo-?7[yhG?ZeAV7;x.ƻL H]>)#}5[~}Qm%pHh1)ǽ YMs'O~4|r|E C,)nzmyAL@)Ǧr3Seߞ<4R9@\VrXaW~ÜjxZ(C '#H6 %bY$$oB`d8N2w.9nqXɅ:Q4 0r?W<9v4cfL@EB!oY3T`UW ʩB$ VFCR?E OZH"$1H S 5l@ɀ!dC[vu&Q4c!ui 9%9x$ i]J{2DgHg(Gṕ$o F, u{8!uT, P(/<}9h >)0+%wG 8aF'.LVⶈK^ZbF"pGVoZ[ULjT,ֽ,^N-xj\{OZ'ts?DgNWiWF ΡIdIcvR335ktk5ki6phCupT~Mkp 1vj7MCcs=y.IDAT:WK?3ZCtV"EiMyܰSey3ryY>u>InIvǪDCS4q g ➷l8@,`UJR8b+ęD4miuO>z{CN/܂SN‰EI LN?dI1SWgn ?uEH)i>38׳M|XnU%v ؑc %dAm>k2vZ4.3iX#i"gsCԹ9ЛTe@$1NuH1;v/k8Ȳwً,BX-tdt>ϴ ~HG&rmj4p%HifM &%܆<OTm~SSo yڸߐn[j2D`(džqu }x:;~xqh]?@jœE`j'JhZogLX*ږk(>:j<هv @8`B;ثژzLi4DmN0yZN{&d*I\04(MH^=.lLO,H>^t7l1 sp3|~daktt56mFw< wPȁy#s$ϿoR\[=lZ 1׭U@Cppc!5eo@ڄ ^Ȁ.vV3B4q{󬾑)V[&mO{N=p4 (E܉~;cGΡ:DX{lG9s"Ŋ aљdÏoLBUMFp`?Wя 78YyQsY֟>omhmޘ1qS}vDAm,(:1v^LtQW-3f[Klzlwe/K_.'8 ;㗥;ژ̮9S JL9)ˎ. H,oyP*1(˕Ucf4gbhShțۚ0Y@<(?"Kwr_إge /ˮ! o)8@&WvdBmQXz9%擬wʜmA?iM$TgttE̟} :WSR:6oϹMoムؐ]x+<P 5 ҕ\.v&X g1lysP~ĺ9]1z ?/{}aOMFfcĸ@ Zcqf22Uzx۷Q/o'#@|@2fkGN |l0a| I&JT4sJw֙ ')@vMw l*XZ-&o1{1Q1{EiXƩS5erFk0߼⏴jq~J021#GtUe{f9k9+ @A͛7<} ӫv켵xSOE0*O d2vMs͒-2_>Wָ(ݯC0)@GKŀ^g>UIϋ{-8YۙҰ-v׮Qpυd‰0,{mֲj}\GZi#׫RO0ɮRcՏ70 3fj:jM蘢19 8(B_3brOkN&QLk63}V 5 BP=E\|Dӡu ~ P!nCSh_cW;z7$2%;2; {s#v}J^J 2bwN.^YY[]cEu#tmuUaWaca찅 lz4$ mC`$?9Moz,FR40}#{3L+p\o$ Xz>]rdH[HȔMVIPfo?"O`\xJP cf&(Lenc =c+=\1)9Da^;Zs m jT⦚e,bn]?'&[:og~)>˵[嬢mqLV#*G7O1WZE3Y{^s.skXH[ޟYQP% zm]g?^qDƥG!*FG95oC/m*^Ň)dr*{{Ln`;ZIy C$"Ryb~4 [+/SSܑ!+էF[}RKp 8 >&o uo/-X\Gs?Cg-q 萏Qݑ5l9bEY7)x/0l%Px76/ֶ.$wq hq:W[Dw%Sk0!sUnF671}:$.)yn)6;2(Lf&7h*T )%SkU`O4 Q|jIȩ~04]4;e! {$[{_3$? Y$H]ĪG&q,w"UJ   |ݾe~xQ5xkL. T< ^7'!Gw$Ȅis׀P70ᐼo֋Xz%Kpi=g۹p/&իa+H暰u ;yKrf*BhyzjyU~lƣLToc&GHۮ)#ot9o1acjylSGzϾGM>YPYq&4Vӡ6:yLBFao;W"+?.+X 2'|m}2fǟe* vY!ݢ v/ʓ#P68'Sp [J~`%P|LRjA'1>%1 1N4 4"aݯHsﰾMcE8\|uݝnʎݹRn|LHN v0q|ވaO.=B2րS> 8]aYI1Sb'/-@ݻ! yly p ~I°o6rڦU 7Ep za͎}bv(!O[b~ _D-ボ8'^IG}d'u?uDm&KF$%$_\CWNSƬ?~ـ-9+m|mǔ5`rbb*9F:%uJ6 zPgy[SU`e8VQ-in0ѴnwJrPʂPhh2) c(.^2jcE m1ץ ߼[m#uh9b߼`,OUs!9%}—eSHOqRoO0cJw p>yv}euL͎ɮȴvwI4ٕ\ ;|]u3ri^U$e=#!m|H Ddfz6~I"Y`j챫Εrs)XRߞؕ$k !Q6v.-DåaDrLJ ;k z ԉsܮ /4cu|I AqփgoBNFf IvX La!жHޫci'c?ϠfҰ@ڃ!gMSc@%7ru2a> "g6A"+g9-m:'tO3> ͦ<5sr'VD~;?))'q\CQ] Č1`2jкSLU m3 _OKgѸ`~cmD./B Ff/o:!M: 7Ze_?{B.l#xII|3Bm@ʢǀeo)G8*Q3yNX9s=7h5s[x͏y.C0%}ajw ! ympoZ\-WLO~ $=yj6y`d[y'PIasb@n I->aN|P`|uN8$!yS(+:hw@wOPW,Mecs 34[Vz5OraϿ.8:X`P}vO`ND"wPErGɛ/OϳGQ$ @$L&eˬbo g(L`_|HBY~<5]ÀFc4DvC8&A4nj]sV,޾] $tD&V[2aGڈ&1<(Ѯ_eQ$Jj?L3tK_y1kr̔  ڕ ^5Lz:W;D.+'gAVN&Uk]>na 1|M!_Џ#0>/ڡZL^$]bgᒱ5Udy.?7RwIHҐ#e& P OEWJ hO7}L?VGoYmߌVVqV:nZ 99SPGqmnU(_;(iҤ$mJcufʀ.u5"qF]+ A|md@*#ATTjai&Mȣi>vi}߽-INIosns^?D.ُ ߸f6m2flk]mszcj+L<7Blu2<"Rs~-͛?s[3猃YdoϐDxPΝo*/\( Qpz"1)JPmL^neD)ރ콟K%Y`{qhDVP𻉬+Ql_8:vd^Ck%syBH+/ذcVڢ B'bޯt9x}}0 QXǩe`wHB5IV/#{h8vPc48 <=j}Ա7pJc!z:"}fuό f25F=DT.ǘC.L# Vmk@\tP Yi J=sNTqE;{F] PIktVpT²d ڹ#Eb1U'AH'}dlBř&`ikk9 ̨?z H._Ξ/H[W=&uv6wV'!o#EmѮ ɗd 1&0A6l_R#d*YiMM8ȧ[uz^71 6&q/yFc^< nT.A#KW۞y׳v^79QL%ȼw7`:4>M{. usͺn?ܮ IoG ÑpgOSYNi$">E|y$?V>e?̂wRg&ĵ#I;"R>":wv&m׶DzC.WO$FJBD-Eޥ#9>#%|NwW,C&Acn3܇O;KL#PQ, sP#0| ^Wu*~5:}RWdzl ]B>@Q>9b0 SI 'G-I^\HJdޜ, ߑåF6ZFI轐~'~iGJ9&gsaח(dQ2e-S!+#)tnvN?>Ddr^A?a@$|}g( <7h B8qP?"xLMd_SW!p~[C#t_0k&mE@PEm("40jxsui"(zFG2ju7:tϛfs5Ms7B}eޔ4u|Y޿o[BW("Do֥*"4jouŊ"(MU3MPE@PCYUUW("X/x,\4IENDB`* h;hj_Vx|uL_6R;)nenuqȶhqwww](lE;ŭ8~={99d2'=יIDaySA^Z͛" ?  BIN <Ut7Y9$=TdޯRb 6I'"rqrv|#nmimEciG-7 ھ+~ C]uP7oq~b^h Zr1{hIKь߫1p:u:Y(?.'Y]%+ %tux^LG}NFD$֘^Otɛ?l '-!!ەzq<[wa69;3AX_.VTى?@  o  H+5/O'8a%ޏ.m^\nx4[p%Ѷm۞`b۶mؓd≭m6n?Twꪮs>;ZIA  IK`F ,R$8 ]r_x>@PNG  IHDR^d=3sRGB pHYs  tIME 3|D\ nxLct&QӮc۶m;@gc 7:K8c~-]~"aQOt<{Ib!(BBi. Vr(;#Tk"p0 @ů[k!hDMgSEڈ)]a$[6nR}2ˍ1 \3Z &EVPyJhYkRJaeR X]*),n}ܟlRw%DWTߣx@]; 3x`QDH;siN1BO\W.~ +[_w.lxſ޺ K0wxO,FG.ugu6Od<yUIhy%v_Y&ƅ4-Miq~m%%sbuSA\i^yUO % ;psG?@U .Ur{&tKM 4'L(R> ^V!WZl+b20ST J8@B9T5N &c >d(ǢP\譬2(Br\*29F@@cFHZ-aq4QLHH U4q#6XV5i "Pvit_to@i,F+'K'v=rJ>YEI+TTY]eH(6>i>Tv>;Sn@,P+_L,9 A0֌re!&wB z@-ZDҩ8&RHδ{@!X "9-;";ܻ=Y}rv}<[ ;g "D 8BZ(,~+j t|J7S'G|ß]ٺU)?.t+&K~?GhՊ)JcE6k[hĕ HBg/\<4%b}atZwWYQ i8^~qI,$[@rg s:6̝Š̋z_'6" Hk#SߊMK˝ÝI/!@%v\u.5C TBCR+/6 son?v: QJԿq\iREJX~ng!":Fd@(RH"slP 8£U0B+{ڭTwKHq53֬p k_hؽ${@G8;k n3PDD䔵ɹ0ax-oͻt[mx/b2|A%E$(W⤝g(2Zk%!(B.P TL!d4ZyfP(B* ~RgIlKV++ McrOXXRWB.E2A 9 8 7ZPyM@,g?__J'C?ӃS_އ?ȴpwOB(Skh eqǎt8OӜExscg<<[kkX) kz؀7uԞH*TcՑ/N9=*Z,S=5d -i#nE @ yjyY)8R!IZyY @Θ4 aUծ@w1"(D&HE=ueX췿8<]k+CE6V\Qdk2> 03( 5!* "FSXa/t3"KBYi"#Bh#mQUQ5FCx&³/y ?+4UD,&" v}hLRyx'k4wO&ɥ֥^"R_쮮@?*]-NAdMƏ<ÛJZ7Ej[ :eƹr*>P+ ~ k@SDJ?IڿE^H3:$&`A*K&@AF"߭Aas.) # CH(0+",PӠ uE$Vx’k PAXEaiITIA.w_7PwbvRGVcx4*x/Hm-+g/rR E0`Eg$(G\ǭ5 Y|VnEjT}uO<AHALԤXKɒ. (J&}}+ϯgEF:8B."B!T0 f{JnRWv@*} v )鮖EV'IIP'\Z`t1"\X"q{D@s=BcY, K[m Q H3(BQ ZKEA%Y$nyJ\kA"3@U dЊEj> V|39hWdk+|?~8aku|6Ng^ᄆriRn^[IhρILͨ};n]X\Nxy9J3R7/ )d5d դ|#YP9` 0'j#⒪*T'Wt,w[׶Kp@!*/eN :&*bF]Ś  `'+]]I&ZT}λ[j#ƭթ%ջke((bZ"|to/YVfG-yLL`[t4mR 1VJD,">xhW:u.2Fhk yDDD t\LՍFf7te#̳lMhjN5g$,ߟxFVxNT,4b.! C1&*!x߯cZTCsݥn>4 EG{JQgiE}*]3 cX{VDCG82V@i3_Gc#c[ |Ab((>0P9Uoyq*Ys&K0+y\Tk;x݆SAeU=W,SXyflۚRRkF#\lj-wmE/'V'g괻+̻ģ[]=iE6DZ)2,dɰWut~W~4n\ܼ0xggY ѤPiY&´4! 75zì bݗ @HPx6 `UA_5'i)3k4" )PW9/_JN\ ^8Tj $T{M@,(<8pIG QI9Y5 pAs&_D`Dy᭻__'CZdF#IڽN/iwȐ"ΡNq̾ZlfP+5sy;imH)"$ 6TZy\U kŖѳ &:1L@^zJD6.|'ssIӻ_'v5rU jBS(Ahbap.Q4/~z~Xs,уiFTWnOk$"(AVbA4*]ҷm+ҢRVkKJ!"  At""Ie犠\0V)V MDڱ}U'!xN'KDyv9 WHx% ( @DK ܄S{aۍ F;wǓ z;w*G?#vig9Oo+AڥK}i}dp$+W/|`;y绿_Z(\Yȧ߼YZJ'ڙ۷;ʵzۋ/ )5jEuYEgWs>U8QӃPmpFsa:+޸}hzhA:9k_w.yV U 5bjEa`9]qWUn: VDfQ$VA'R$a;֠OYm: Jj hj: :CXwx3G?'>cc"swlVcci]9:)EZ)vgMZl鵕Zka$$*giiS;Vr@ D炯{c,DT\H 犤J)m@ؕl>Y+AG'D}<"i E㡤Ap+pnTL Y*! QYZ X@뼫f瞳^EѼV/0gW ( 'ǡHIv@s^P:k JH1"aȦDJ[Q"A,0m BHJ|;d!畎lH,fyɁwZk9 [n \1Y|r?{VݥSfpFz4R("Df B:"鬀pҒy*),]k,蛯=k&.~SYmO(iΕEko/n9w[{?Y[)Y9ivv_wk+mNԭۃ^{d <|AqxT^("9[W]M;N79Q uҍٹ;<ػRYnoyw")4 [/~7;L~_~jQ@,0PZӺU\-0wrd/ D&Ӌ7-;ؾ9WPuW9]T |(xM|s>/K{D)|l\)i$Zm5Is(2nsuc`8I'#3_8I$F R!^HB8@XlsJc ~Y %0+R B]ZV }`/ i}mj 6xf=˼+^CMOXm (6RYhA p4b#{ry"Kk'$I`o;-Q[FPAV*2ւF"ljs!QdYDKٲLޕZI,$:'`QQJDkAF4ǥ"Έ|+vD80#^̄@#(@> QD._ڊha7 ]AЈ 꾻r"j. @ 4"T,C,N!ԧn*>|Dy}qe"-t6*TG%߱J<<~k[o?Gb dzן;Vo5xO6~<}tg^ ,/u 'ER)&eޱp3vݍ:/ʢ%QZEy/~?CϼlD+OM&O|O_~Wzyq6'09ͶC<bM@2pA-qN/i/wkV:Fn~8REA^(Sْ4& Lfkُ|Ay:I4[0?W~)YΛwn?~޻^Zf'?mJQ$♀R/VX] SU53ԫ\''S!Λ|;Xo|_: yzB…~XD4!0 I,0,4^y,+OUB @42 NZAWNhFħFta#H1_ïr#돬n4{9>=glcr"(ƀ6ڕ>M %]g  rf[ y\QfQZeaYd"3;W@AFYPg2f99t26:a<Zu+/nwyfGDSOnBij>@u¾RSbe9]gq`pJU\h"հL&`2t$JhA07%gRyE"#FD5hc}Y8>*0c&.0 j4f}9+Y6uzxG? xf曥ȋ,@Z jM)z7_x[n>^w>c_"RԈT&f Ŋ. @@V?Qڴj xŭ5HmTNdD%D.4 (%{k]Y$%x׊i^ {2i2˳EJ׏P9Dq+0 T]4&t̼5cA5(5`YT4<&8Bddve>Q IG*·V+U;e#\'HԉejTTjBj83߾*M|CZ ;4BԹNT^f"gؗAƕʚj_A5;wY&$P"qEM@ASڸҗL8xa zW pAأJ٤R aii%/b.\9&L!8G̉! EZDP 0 K2 sE"]CI:hyq|p7 mŭ2$GwFλ˝V:vݾsA"Tw]Rd w3md* }:@@DV BQ% sλODdp](qdHS MtF Py ZKi2y_ OIQF; MC37T@7oъKW?Yw7?٭՝Nww'NvGe>6 '٠ĻKk `YpA̹vj pRzzv5T"nKtt2b)/_y>Iuye3${Y1Y^~/>_Ϳ8y'sl-;CjptT<ۗz1-tTlNh^fouk+<b:˯z^~.'?se*/_/*SjM</̠8:d[>]!Eʑ.I%ڶ}qsΕEltΆcvY"ŌgjJ,A"Mn0!j LHs(6-`0WYi MY!֤px蜘A@)FSff'nW*,b: RLa .fvB `2"hJ*?* =GkT\γi@kڭd$hZ1Blw./n+M@Ds֨ЙHG1,J©9i Y+?>Ҳ( g2}.@qs\FCEl'VաHc˔|j90_Yl !I!z9ṞrX uwC{ N[5GG0nu95ME ػ8N:%ծ{ y{@/{̬(ejň^ prZβ& [e: I1$IK<6:7V+ QHUzoO@| O=- -( Z[v4<8ܫU3%Nl<ERIQ2=~imm뉬u)/~Z@hozҝ2vȇKUziծIVdO,w&)r_8XNu%uR\˽0;|tpMۯfpYDcO擨z='CuѴ86Ӊ35#w|7/DR-FPy{4SX P_szt|<αLh+E9.л}}/n2D"P,ȡ{Zk9=s.D+R*^`80fWYs]DB{!D7eYx/IeYy"ؤ# qEmMSiqd+ ꯐTs5bB,hdŔ+4֒jxEQ̢|9!y=iq\œ`f:",IZ.=܊өRi "a}j",2NsYRCd , #f@PQXbiXZ]Hc_d@"⊴B(2ɗ.!V 5 3 ,sNY"tɅKR/@\1,.ʽu/ jMӻxbG 3%P AHsp!a@.db0׎zs(2DW FfV&+~6T,NߙNRA-!KJ.@Ѕ M$ncAԉi6ͪ Z DZk7_KBVg7r/ ;K[';w?~o$kkC:Syv^fuwFZzIdSwUQ'ɀ4 m +e͕ ?nB52jҋմ7\kw;6] olOȥY7 F~ Tδ ߽qyo_R֥旿t>űhcA"l V{{\ҷ_J{9ɍΏIn]F|g>?x|yZ7?Ꮧac]~KO}wKo}RQp˪n|Og^Z[M7}տO~(i9(턝 Hjג"ǝg}ŃՃi&B*ˋ斈< H1Q553iW>HYBD^yF3J4>@ FN "@HCacmf6A) <"kJ`^IP n8ɜb$hcs@2"tuFҼHJzvSUz~S2Mn Ԫ%J"5d5F%fRvɕPcD{RY`$:NZUdMl6WW9`iI KV, 9.F& Fa>xGsX}1ey>C!2 RQg H\N7/ HAؕE>$Wd zT1G\yCvlZ@RE^"H F |4mێhQHU"E(gE!vw%Lhly ߋTuUMDJ )-,.FYvXIdB$X=CbmĭnMƣAp(4Vq6L&cQ]Оt2݉"Ŝs _4<#3kE8Vf!1Uu`‚ADW<泉w^6 Njl9:^ TdNp.xNw(tߌlE^9޽y|}VOq )F;jleirf32[Z/\OI뵟{Mpyyg?'~__n8΃E[|`DN BB6}?>yyePj{7 rYݺiO}_D`\NPGphu>4h=1H+jx+W6ׇedxa `[_PSҟ/}߿ȵkk/=_Pv2@~5oyշehv}lmu#I80wedcp wVqg`VTVFju:ÓI:2eFQ(e(a:}_Lj^@Fh4M>89ʲ5:#jz/̵MN .ׄ, G@EP#|f# A&]+e鐔2Q{R읱Qό)e|\PE3"R A`W{FUs)"ƽ( tVDi/a'D "ZQ HEYdMD9gf/Zц`7(Y^Zj2# i[{VewCiqbLh8Ba\PX-f6Zwd6MOK{u@DQOyj@WIg)N!/rWf'A,>!("+cu>˚00K=QqZm:H:UCwy,~vh;`DZOv{IB'@0>4hK/|T7k_lm "M̲խヷ't[C[Da2/m>O(簷no=ajvzpw&eWj>ejRRI.0+lW` jde U J@ 2LeNLa{w#g{iۯu;_K?3<:k+ǫjV|;ު9by_=3Ž@}(ή\~/>;O+f&9c2Ej{UDS+""MT4UYzqzpogd2|79Dtg`m ϴ$,B}،}[TćK:|yg㩚ż(BC@.Q\nȼ\8vg'}߭ "D1MjqbՈ̦9h9+Q: ZNΝ.ߣwnZXr2KR$3XFp,N?I}h '&(z4atQ"j̙1w0̠ӍUY$/ww.G"9⤬e}T&E=ލjkkx9_&֮NUȁAJQ޽^^t.pD?zY7C(]LYnj}Y 4wԩI &^ܗj y蚪`M}Ʀn< }4 ZE; f]fݬαa]ׇb߈XY`JIǓ]U>NGϦ3gh/}skҬ+EW6/%ih{KGMd{7y+)ŁN~4f^V|9j{'5A~ɏ,__ rq'Gw^ "wCPic৯_;DXa̚g^|o2Qն䋋[w@4&;.ʂ]ׯ]|KD.a"QōG}կmxou[u9kiQ痮\~/i1U מgW.kA޺o{^IFYF*o|_(G#f:òڽr6\Wk;y_Cm|zG&'_֍7^&1~0$'KYr/I$ƔMɲ+F^$f"oW1HB† 2G;.Y]};qbMe<9j/sֺ.4٪YiN!8Gz_iʕkѸ*KvUC uIDMc̉)Ljm׈FA%eT~2ͦLE5ќvIv}Z䣓,砆A;Q0E&6ӲT̔z4 IDAT6v`s)9ߩަ,1,}̩ $!k"F$h9&p^9v"!¹"do9ǫűo/B 뛮Y ;E ju,ƌIrĔҹ8HM`1*ĜBr6>aSޘU{{Դ<)vu:{x'>/=Uӎ+;xmuվ._+kޝ(O$asFrq+iy8=8\;XO&Ӯ/ڬ6Y=}/3z'~0cдnTlWknc<&|pp(,v?//'ewph(y o}i}xLַ5 mD@L%|o+;{Oo/^J$+_핣x|v>|=ĸ\w]5\OyZz̳~xֽ&W[Eg5ޥy˓|O-9v e5i._sօbEdbrSR]O9g[9erjrLUR̔XD/ڮFU%@C"H)**+__9_@%$R8) >k"rD'g'wvXMM)ݽs܉  WJ4\^$#(?#Sw BC\j-@U(;V`̹4z9NRCf$$NUۮcDR>Oɕ.ޅЙfԣNM[%.Ũѭy+ML-~,U9'u @}ߍ cS~\r)o90I"9hV8 0"bv*Ğ\"EQ :G(㜳ЯCl1EeL-*CL뛲,TTQը(*3]{[[CC9( gӶdɒəsZAY@H"YrYẅiQrsH<#6 S9zRLL}"OZIja=.l\M1)e0%vSLRlmحљX߮6j{]v2, O1+P[ZDGDChb63,fq<38|ZW|}:_^kZbW]vtǵA_94Sպ58zw>;]˰>k4NY89$?]ϏU5qu{pPlN-W?3O&vv-}x2ԭ#cWl2hݵo||.I?2 P}w>;4U}—?s1#~|[VYɼbz`t?ԧ֨شoxyfwɍ݃_,ܽ̄ʋ^N@3sϣ~wx4>zSn~] ^R-v/lTbAr7t_Ὼsf> }{XCSJWŘC@!_9jRH)wفi FլY}RVUuW#svuB)!"#3!NO5ֈx6eNFUș sԮW9sE"d4!fvjJVLk4XOz6ٌOa勚!g14 nާ{|B^eA`c MSU5""a9Q@JU4)l0s9 '9PӲ2v[[.s]MrjL# slbB|t"SJUb 7Q$9(!%d4u) T%1. Irn3j rR@ fSG")1;Kyvթ[(3S s1UjB]}:v Ck1e1v$){a= @arj@NGDSq< cS[.F#L!G˨C|,'ɚ Rf>1c}_^MM >|%xƐE$G-<К/,EL̬Dt\܇*Ftc"m(h Z ˶oSq 9=;r~gщcp aIia2qh~לֳӃ`ZN8z;fc4IB(^Bp"DY mQrU*;)c>CgpxΕb13ٹ?FnA??k鮄ӓ|y::<]zŝúpI}]eس?967ҡ34 Zz_3&?ӿ/;/>'}lݥiN/^z}Szz+_:Wb7<[u[3l8iVo#pzxg%Ϟzaܭ$oܾ"g=Xb增NƳQ؅qQ@h6d_޺7̧aMɄ%ϒ$/L. i5d4="8c6C̡֮09yff'*0!cSE <Q8E=DYC"v9&C;9&*rxx<냣X'yQTTuASlYrj@EŘrjZTl;?+./߸ WL[>tf^>x¥>+%_'ٽ 7@EQ>wR66ks<4e1sJGbbqezjAR=k/g~U~z/_/,Nc谬K:l~W~婧/Lմj ι. 3 3$$mFݐf)g&R3UCDb f$tf}3&fFfo)@D TUU0Я/Q];5@!;TKbu_s@*+;FCD5C$ViQV޹E4C&,KH`QyӜ5][2jĮ*h@FADC ,ifӓÃo%J"YyM۶[o߹5XQTCC<%E -KvΫ* b$b$ȞrnxY@~d`z._Tc*<y K$6ِRuj2r~RFT IT#{DBʒއ;DŽĄ` <шUϑ!E芔ڡnΕy4hʝH&*s (Yts|f$›/ :ar|rrp0x^",C#y^'7V|9dz`A=h+jLeHBp78tF rfh<^X8b3UӢ9ʺk4Ijcӡ »tp7*JJobҝͪ툰|zpQm ٶodA)P3^y/|LxT*"Q6b5̟|CkJG=R뎺좸ݽfן'u-rYOZus~i޸ݮ{9_~6w^VY?_O֧.]vvn|{2B-}70MmJq ]5ݺ|[`jijY׿/p.^8|;5gGgx<ܧ㇀܇?͏LѯʓO>_S_VcU-@@cJM 1BJL LU7lU!#4#A8kf(9! s+J1+9Dؠg`">j)gQI)QUϐ(ވU!J"tOʐ1PuARbدA 4Isn؏d#0QSÔ"$ADC }|Rttza}6?<*$)4"Ƹ\,Մ]1aȩ~#}\e띝ϚV5=KIvoV;_ll[rXɢf@TN 1jMB;0ޘLR`rhfӍtEbU_J5q~JXEVڍlW$2[/՟?gM/~va]#6Errh{4uV5k߼_ !;hZuvɏ޺'@O?y.7xz}xjW&nl-޸v}/]|vjo?] w.jl?\zv!.^x|yV<"RqyQ]pR /}GέdlxlNo"6akg ]7O&da`j QnXRPzh 2*dN$k0bFL9FTS}ij2 ZLb5朕@M%"HJ2 sN9ѬD#B=3Q}!m[Ue,;>U=,.<r~Xd2260>w u,4 _+qYnvI/*\<7Qfs% 3K}r4mU-(qYTԥTT[:Ud2@C1ٍ} I(|V2RfuȣVUsrDҮl<Ms90PI9D& INR.|!)i LrtBQ 5*jdjUQdCY M5bULR6C.bHQi4k֫p,*}̮qD@L{'Yu6gLI o'G.\xY] @4|4 89&$_^w>N£RV86vzIEfQ(,=$E\ه+H-":Mȱh:I)cHBޗр-#Dw>SřYǜY,@[",|C9k$SIIQ]!K:>Ƿn޼u΍f11?]7߿;\Y? /txqݦeӬb˚4Dՠ^euFOM#Mǒl *UhhQŪT*[[¢=$cJuRwl_;\QQaހrpޏ->c=QƿwMܼ~{oxڏᕝ~ʵxas'?|/nk_3t;f/]YkjZgX ;=YfWcz߾0j.j݅kO'ګA%=?7ԫ_w*?ܜ6/}l'>g+kǟ~b6^4h]s5PIc߇ÝbV1sh)FiAA&]_rY+hSF@``HDFYAB61tf\E\.,@e< 瘋᲍GwVM/ĵgrmlnNB53hQ8Q|n-ff8D !v}cN*hwgB;@ǓM$dJ"YdS8tP!&I1У D5Bd"͖sFC"V I15DM QA2ࣩAh #|NBĢSjF1ƪ/9 ]I9 hg:BͪjNGtUǻ!r6m챨9j&us`9%轗ba68mx9Lrt#9܅H׫eJNc(C6ڶ_,EYnmK4m0qQD1;fW1o?y<3>ڿsm{O=cW½~52o]M^s7v[؏=;/}w-?O?lz4dԳU{eݔ#jb2R )tb̄m&4sJE(KM! Cm&ULI  U2'9@Ly<{T@cBd/zQKjLx.@@S1P HLTCLGMFcHDkVr)&YX]vEdպm(qׯ4ΩYJln"ٱ IDAT'R!?"TrugBi#EQ33,prz:?]֣*vMUͪ.XmY)N'{iߧ̗ՐzC %!M/Iաoced"%Ps*@ C8 r&1C28D -&ZebF,`@hj8xyܳH8$bŔ ;iLjj0dSIT ,a]E5=xx:;;j]Y$/OD|]Vh^dˑN"qU64GqgŢ'e=nUb);@RTƴٶ+QN!Qh#&xL)rx}ߔl<*'wQ2"s+`Z;W_O7.$[h:&yX7l:2{c7[KVygޞN]Ph\Jbn!0_` /OCt ڮ{@˲"y+9{羼}ikrKU?$Tl5[4oͯ\xkT]-fME*­y\U}ȶXӃ{ۻ=L<].>9NΖ}t{ |ƫ_ud%N?@Cuͣ1@rT'Z.1v}:)G.b@)PW̘s?'Ī N L''ǔRH!(sJb*4¼gkO^im0$ukU%GsiNyhGF5( I53( ƬJAEY A]AV1z S%:AHܾDT4geS v^1"֎ !A=gV1_89$,XTsRP$0M\BŽws:>)3+EUC,Kf.=fms S ԗyLf4}c( *,g0*sCnNK!z<^rV:IQNZlq "<3{[[};LѸ s&#飈36r]Ǘ޸СǤE5[M ˬ)6UQWMV}{ewNe5S*u[մ1lmH'Ne( Gu*!5u=VAZݣ1HN\.xzkXjR 0)]:[ ;]G~R {U/Fv)/aU\z{Xh:|;_fվ}uoomT魓QN/?|,{;{i{ppgswG[7o~ ٚT42whʑ,sͼfKrLޛVYylE4TC4̂؅D*G l\U@ʒ6YI'@7lV>޺u{{$_CiJ8#ۂي( XBA4@33 $dQN DwHbHbV_f$HpjPEo?A n Q@|HLSwWs) f6i[Mw ۧrIYKsUHUCd2Mz+"S8f*:$68礔8iK=凈v= &ۦ*hwV2I9L㳗W.AΪw˛'Gs퓺'.<<>hA$mqq ({@hie\u]l}wuyR5<:sc~=^N E],qTR<WˣP}U;'a^{zOojߍ28īG7=Ï=Or՟Aܽ{)RNU;_*d_ g7J<Lv*[=o秛-t^ɟ~O~;_Ę9:珞ǤG$ UAR=u2$*BĜɥ{BLIA&MU{$ NuC4cG =JQ30vMUwT ,E{A˱]<@ #)_<1\I!2;i´JbNYj>׹Ķy9\|eS;bJT `u"dE;[Ah:BIrlij |4hih&h X&H.ЋysKI1e(Y Ir.RHiU'VJcBjεsfBF21zEpQ3&b&b9H)W4i@A*Ls8>0zJvlrԢL)cW5A5xuh6M)YӤ< L!D14 p1E{4/M9j&\e;bdc=9KPUdQ#u;c@TDTЧD8N4qFuJ6,yEiC]\gVtlܺ1}f-1!Kivp\8sa_\m$U}u1[mEAT̡jv!J^̛Pn?R4 d>F^Lf=hnZ*57xFG! 7VqOm< ym͏?\_~;7^_\Pf 1>Nb}J|̓?vz[Z?׏O?Z./ח)~qx[sHus w0Ɠ̗mU/ɵv rkH*o{o#y֫:aߟ-/nW>7~ܭoP_|ދ?׋3oi[/ b9fv u*0x"BBޕRD$3E&& Ds=;s\yLbQPDޱc$(Y̔bQE͜gBPiLS #71Tqi |q6~\`\q}I9KCIYSՒͲRSԢ|MVҨEcM%yUy.Of*iS*LE;7EST5!iAMs*|]>>f1_]Ϯ \. (qWʿC?~aÇ{_f~twQ10S (Ld>R c&b}.L#>y uF0e3sĪ =Ĩ.8UT s*8gu%qL4&5s*5CvQ>9E3cuR׹ f r ـJ.ޓd&E8GR#]7uM۴Wۏ]9>J>^qg]_ X>ݺ9;:<gMuuGv7/7oN7#Rry9"Q\@A!)r&5^, Y|·3v~W}ӯxn/|lw+>j3+岱|3_ޗ;ܽ۩ W%Dj)"@TJ]7;&B*0@vCT4EB0Fǔz߶ vRt/fGiRJ`BӅҐLӫjZ3@vc /u~#'9#&<-Ōܧ\O>'q3up0Ӌssv]?ES8G7nSʣCLA;3'gvRKco6x#{əzk<==k\”xAmD`8rB HXrV0KӔ!Wg\T>"Ʉm4pIrI״?F%3!ONj3C(x\5TM x*LC X"bm: &`)*p,62 Rlק>|~9KMmn{%Jj6eE25@v~/B=cj0 :4bf"ErruMBDd+Ϊc֡+~T5xFSTuclLH0Fpr.q@H?tul[UAh޹٬%QMgU5us d0-{Wr)"1FCTI\8ZJqsupR@-xvTMsVcQ'UNV*MD.,#NPrxf:-G'_!J.(~.9y$,F}D`Q0hS,!,g#6s$b<ՋR.CDHT5W1 ᬭ-RDWČV$!+/8Fd\ƔL ̲p`E$:Mƺ’n?l>\3oLuja珟4uHv\ׯj?hCoCŋy~ Ao9ݼ]@jv;1^]cfC;9!vZaBhCT ٻ7Vss<(xs>a0Y8M q,U hf3V w8dg'~ڗ~#>z'KJwwyCzW'rv:J;_p|rѻ?ɓ{/&|={ѭW?{_;Oߨj}`y2~ ?nߦ^>|JwZ5ݗO~O}_Fհlo>ߝV {?}g=n7A0 lqPbDk+` :UBUCRWu+"f(jXhȚDjTMM\r"rq+1w1f`&A@ !f((6HR$DDŴ:$8LadfCq|TKoal~f} >*(UUZןՋlqPЋ u$/rB5oz{18DdR\ &CQ|hfM~?n(6]825u c{vōvcomP̘9w]PR$"fhJ}뭷~'~⭷ArHK.߉sٍyUC+9"S JirE gW$3bizhrn*11\| QTK.@LDvM>@|Lk6Ժvw_>#s>☂E;/#[cjuk߯N8+Bcc1RFpJnJNjQM C |H9S8@v~x͜G7ΎWRڒ@@4eۜ_#ۼwݾ`ypqu\̅4_.~bfޜ?y&H< f7BdP, ,1n3"w.ИߧvY;iL"0`[J,㻮r@hN>q}ŕO@?v6 IDAT~}~l> A}}i|rxWsZCJwWǻ&vw/.|ϼRy^ G3~_x~ރW 7gu6Cޙv] 1~z._+o;|W^{ٟo67Xc9څݏ{7x]߿ ] p8ir9{/?PS'\5EEDgj9#goZhcvՄASJyc"G<+"!xh(R @Ęuds,R{F1-E'1!N qd$"4G+ fR"(ёyaODE*ziUͻl}**}ØխY#zB]0yd@b%g0E3{(IU\J v1tv5䂟u<8}9!{mCfUU{13aLyD"D@hf4Gu///|oܸ}0)Wu qHS4+ 0SFR!,Vs) s\DDS0Lm^bRL$B렇(;4)xǓ1[7կzs MeQ"Hq,8StB1k6hh̨?=TF) UU]aHiY7իL]EP2 "" > eIinliRξM'T5Uc :1&t#Bm*Tri}ӒHDd`f"#5MSX=x zuզC=kη-f3+)@4^*c5\Uqe/KasfXt(:uk%Rءd&.QQB4 2R0(sJ#*`Ž&M{SD0v㠂Hy`8末YB*΍11J2KEDKNUYUK)s\49|#%kw_kW^}k'''˙dS/AQTRH) ח @ h:6KΓLQ]s2{? c@$1M^>0qSz#"V7`:"*"R't>" ;H~LgBtDcQv0]みKʀRu)I%":1U1_A*U,*:Gޙ1\2(Rp2#r /@II0 l$9G"e3깙iS* & `%hfmӤ]Q͕Y]9w8]ŌgRh9C4y[ v}ux½ M,cTêIܽsHγv~yyjT.A 1zOc=yph8klϷE}χMQ|.9;#˒W}[DMsnpCn|^Am9o7.8(],bю4cNfM]ׁO?ug>5Zl.EQ(R U̝cXy{R1%=}}ϱc:JÃ4lN3hN1fmC2 CUeePU)GN>OW@iFcFgW1qtxq1k훫'߼Zuw4KQUD5ĠM_^{/w?/cfNĩT,FSA'B#)6 L-x7Ɣbp3X&#”˵:Lui=M7IUr3FK*uS3#B2 a:U` Ġc$d)=iEChp2i"gE$1"3^[:ΘL80sATXy &*[) 2o&0hA1" q$35R*匀.Ԏ!=p%yps.Z_o~7}B%.  &LB(uO?ּ9&Bc*k\pNE "8@+79x6OU-T!'}"$Ӏ D/!$F1 3hA!&ƪBD7 TFq뀪 C;4E+..}V#b@`)L'>1!0JMq}v"LS{J(T-X*Z \WAe"MdUy0s(͛E'V'9o,6~ֻhZpXc'g:ܼql} jcT+ͣ~T}qvLbŐG6PMˇ.T*\R1wlrBR]-5bV#?}9{yUEՍ!_=;݂䰬(rZC+Ǹa7>c >[Nݦt[m@)ɓnWSRW&ϼyRp􎁐YQ.윊*1w9s|[C;DvpՐ`Fu!CM؃OB8Q}g-6.vm}`^^^=l͏xv;:-v>u<^o@]5/ϟvХ窌_>|ӯ(Oʃ;wN>by{9߿*/nyvO>x쟾=曓÷OO"?{Ke5 :hMUv;?8XD`f<c2v%gfVS(""9h hZ096QbsE!t[5C6)郆g<ѹsd) "3CUb&*2BNZLU $rv7&@dbyɚ%))&#' mj)fv.B)X;~<,h@HDIF0014dSV͞HB㠢˪2Kַ#@ǦhS;9U+ e` tOKó77~ݻO&Q7ߠA?3?[o+{xxY U0~DB1ƈ`" CYĔj 1"QYVbH0`$8yHe1(@ TY]KØ#HhE 0eQ#3(`H40ddf:#1L[m"Ƙf ̤@j:1hL)N]Ǥdb!$Y r%@v30sY0yGI3V9+-8DP$&j9YL)OD`%R]UإHC"f9+ys^C(GҡKNA%;q8aOQb%_TAɭ6e=uv+.7ŬlB٥[hkfù~@%&p1|y]/_(+*BkcߦиO֋#Q_&>wMO²nvm78 czjI(i9©eՕC:wGtxu+qy4ra{gG.V.eYEa㘖99k~o=X>'<oՏ("uYޤKrQwɨCSn^ˋGb5,Nnm7}ž:8\ {O/gXty蝯բ|.~x9?eY~Se _ݻw뻾|E XNĔ)3!1'0p cDn~_EF./OONEG#_W`}̚(mmt:*pMXTa!Џev;.*mFb*e;\ 5,fM?vIrS+juMm:/ qJ)@)82HUsV lA0;O, MbV3yG)iɲ|q=sL.9EIYdiQ #BJ95Sfƨ"CR@9S̾lR싢@E)il#0oA%ص  ./v(۶'.7Er_;w>}+_n)"`Ā`IHhN9$)c7Ĉ &TJ\y!(!("y&$)AUTj IDAT#$%%&CDSYTq׍E Cn;ӹNs&aj:ii"fQxshِP&LUL%) QrU"E!"Y\c %xF 2&dr;6*(M7;=zrLeYidvlcd@C7P̫L%&q*Dfiq 91]9+wk5t8mꫯ\}$Zzا|I u./.ʢwuUcG.I*ƒ=yAYήwnn W{d6 e>>Z"*bXj5؃{GDS_:#3XBD<bC/ ?Hn't b׻y48==&}c*6۫@8o73䝎ۮ }YY B {f]~8:9ZG'^{x# >=??לcqZwn>uӮ~lÓr5lѻcw~}ۋwnh6jSm~z+Q8Nh1n{WW?OOk A f`DfY:&D~Zг(\gMSxyo\.aydsxqy~58usjspTl-4i& s.&ui?`JبΖsܯb,X!ΊR&L ٗM .儨7 Ȧ,&̰yUKsh D|]Q43!Q!69p0^QURA»!BYDcƮM,MO, &{b2QW;/9Q}PռY>&:IJ/\D7_{oo}w*QLHP2}6sN0+uC&"S @mj{C$1""9 䜧> PAQ !,uD L\qΓD DxL"i6CUWr,EIr,6ɓIL5%d)&@,cYGrކ>#6C1N P wbSfbC:HL ̩f<:\bUH`}?$Amcell̊eA d4KQ>$cхhQi\)n|pvOӭ~oOOrSU_O>XB?[={^fۃ*OyWz쯾⽧Oo_tI5e6 b~(~{?hUhjqۛƜ&z>}Y/ϞQgy?=9RﺶU1ϯ6mWO|vWj`V\^ulBDȧ'l"w^|ӷ|ڮ_\ml9ʗ~p~1 .g D?4n?=g`<1q&krL&zl~b?ͪ"EʑPDot*2qPHƘdD"ÐRdC0v|DØ1q?D D4rV !SQ\EY5<9 TDUIW/CO\]/ƎsEyvcD5&cÇ#OOܺuC_7CDΫNF DbN8uħݐbιi ǖR[P}{'2Q(1yM]zY')e02YSe/lV“Ę9"4DU Q<L4)vC 6#&% )d+UME S| `)!*N/>@c"F= }HYRΙ񃬛gbtΫ1!! D TMS%FAu],"jޏ DcLKL&ľY硫s p~9,ŬnW[+,99x{grU?4bڍ#ק@5M]ۮ|(yNTcg[yiDEC3 ZV!'O˪*RjBY0;TE&s%ߞ^6y0'<9\4e ?/TO-E޹w_lNj*0_m>uBј583xBo۶达#o69 W׏DS)PŜc;>{rs1먃9==Lh1Wwi N^RBQk?r;ƔpN v~}vlMe}Fvͭ }1;H7A??;;gv7mrYٌv4}쇔GؽSƾtA= ;8ZlwdXL)pn{(vL2no|VeW8﯏ݵWb)1-MeͬU|fhnr0d1d-'1D)(*!uE@͈̑8Z`S&&20 )ĤuS 9a ۍ s֢TjJJf4=AI,BTd@ \(58&Zθc q:", j959ɎcJ& ?{<~޽{ՕsM4Ew@`d)gH'735CbDu]A*·9b2#PxEd2fUéMH9"sN%^q6Mz9 "ĸc24DpL%O5$$)O<|)0D-BQzP9*w7~'74gfy c1 y{g"ղMeR3Ff &ABY#L|8<&$eH9gU%1*KNhs7r*ۜw%ZʶuS3/3bf^,W߹ZfK<_v$ٱwVQ7o'_^ƽ7۪`Ub^U|r=J}@8>7՝rkBD]|Ůlk|=DҗnDL}ۛQ]. ǘr,LDe(z>lKI|a5WE`P6G$]_^7 wN%߽u2 jܸEGڸ_Ip\_ mߍ'a.ɝuhX,톔fv ]3ѲdUцM Hs&ZAU2Ĕ@45 0iBBGHU*&r)+19DŽ)+.' md&L#L9"O-+"FhYMKl 0Lb/E]{tMUY8 s9_; {/>???1o\A#B(aLILmzL}3yhS!"Iىj*y|H *&YpzN,{@@Ď$+"1ZYDabܤL8t3\9'3Ydd2Pc98"jЍcZeEȞ=۶di PHlhŒ(`9JV&"FQQQ a]"d:7D " 2d$RTah;!tɳH] S*hDh*+w>eD#yZ.98լߎiDrvYz׾ZI_\]s1"XNwoX^6; E nݐSfr1iڥ1"RKh4Dw8zrzQ$fjZs*K<8/CY@<M.>O|D0W4^_|%gw]nn4ozO'ؐn? jq7P/k,k:Ćd4溬#}~* YUv.8iO=;ϾL5S5J~np,m[wY.|suW];?ԯ߿[N_q,+,riM|/| =B K?=?c6@pc`Ɔ9i;v$z}% T}_V5޽{oIt.8!-拜&bU?+eM<\85+&1ًWWۧ/toq{>C7e3q4tBRƲ u\fQUIHb}p{h<4E"TDDDɉ/ C|Vfu@TUADT,tBF Dr`y !jxD$LkHqhy9\@]o1% ;C43@5fcb]̆!y6uS sUUY`<nK1W~W~~7|nVZ0[Aao'``d sN"sN)Gc&FtR""ދ!d X(:DG7x)K׍ hEɪ)YcGα399T;ff& rRGH)%S#BckYS(@w*,"8 9OIcD. !2H.0#OBS"Ӑ(XQxgUf#~m,ĖbPS&vLEYVuL⽋}.E]5fV#bpvYm*y®]g_yQfxHf*,9 >oyraqpZ{Z./LJc?B 2؍i{gCl -1_]F@=K,TC#~/GjpƘhQ AY2=[RRJMyi}׻a)6keQrF,Wݐ6 ^Tmu::9 ߶q9WLM"ڹ0j-}ExnusD-Kݶ7Ēv?/믿|ѣG%e9Sd4T @DCHTVaSBBe);@Ϥ7M4`&",<=!NJyhɲUvЬf21K @Y ݤ~'R?R@`朋9# fT4fC&3Cs,Y!{?C-h)k6\ RLeƔ9ǬD*-hb,(1MU_5̦"9&$j CDgNAt#/˪nq>q_sI(1|SVʢe<źʘ+_lguO<\YL]1*d(a8 NU "1P??_q8u4#yS% !J,,!Zkipc~(L!XHЭw/z!eS^.f`]:9-+_<{l޻!&++pY͗_jNkҳUdT/d}#ku7ȮܽȶW}hFAtEU?}f3BI蝻sYӴl~^4,˥쯙 .VY {٢L(PH4q@\ϟ=::\4{ω!m Hj)[Nbbý~뷪?=qTiqʘkX}!'_|;'\hY4% #2/8U}!@s9')w )P IDAT-c&"Hzbwb^۫%iQlLQ(%qD1 Z n{SͲ.E*9"cΒP4O+& LZ!e,MI.d;553/zr9%d4 }`D̘zODvcr!ahTL L '?XiG_:o/ЪѺ-ߵ;w06~VW_s}'>lfl-=msSwf}yّwÐIp8&hDLEAߥxeӼ\ErWm\9oQm:YzVKֺdDv>~";^.Жy#dX<)&mjƘmw!Ud҅ظٜ/^O/_Ղr'gE0`qeq 385W"4.wβApnۜ\dq<98H6gݍ>(EpK^,K h0ZBmێ0+|xusW_w%϶۔01 q0Iؕ~OrԴvU(b5ĺ<b07sP(CoػOϯϯ 37c;ÐS6yѶ;S]V[݋j71]R5t:B"`j$ ܶfލT̫f(Sι) I7fݶ7fM5#zgD\Ywα` "I $1Pis/HRFT6 TStDJRrssF 0Ȗ*8Hn}eCɊlFfcycDM1w414#CpYhMN%͏z_g?__j6j XʐS;"(<>n6m[AzW1g3 dbxC0C {)3NF"7#|؝p$5sL$gmd$Vq9<(}I.M3U"Cu\VȒl.18y:ըc]JB,v'yyx]`bƼc-Z?||0dc2P+#?#//hx8[n6kSP,켂JV1f3m~og:9/3qpv[4ݶ%ǒeTE&Y#ZYY"^w8Jh{MoT_UW2Hqp2YHD"RPDBnABB)x qE(7XHD2{Ov==}XkbUn< .K]{7qUtHypo ELB꽵K%:{Q`HSD^MH S]SNw1""Ġf:s)i 4 B("B%ds.mj1E""HL 1|aGCd"5$=%sI)F)|lQ3;B"@@50pS:X%kT 4 @`E/2EU]??'^4gLZ]hЦTK.MpYun ̨ʳYbvPJA5Or`'6eD\Bl@QjEŬ2k$= VsQ% T#vw;Y[-Drv!u椱}ѻf^G&t(͂p Mpĭ'W r7z}y14\<-nvYx_!iUkafZ3A)k(jVu(Ť33hi  hWŀXRکM1i8in߽uw fiaX̖^dz嵗~yb8>uԓvS{K-Y8̳~cX-6qٵw~G~>Qh5܍TYQ P\Z˲Z3q",7Wfʠwͼ~XA ~iqwwS޽x\ׅ+p }wo׳%7M]>tTV9"Ƙʑ^w+4NAԐu7wK_d K̅Sq}W dxH"'GQ`qjكW^?=y"ž[6׸ dhhFy/7~7/?zۖ8G3$tʤb.e`$z_Orqu f;wn};k󓷯7'qjKVbw(۔q?r场'ɗnykW@ zlxL n\̧~~a Q#,$EAG1DP51 ` ZT%)AYWVBh|L!qM-"&rE&tHňB^@U2Tb%jccƍ!oDŐ]쐐ԸbTOiNڳhK`I(cN \f`H8B;#V<43wcf<vM@ʷ#0$wA$;M M0OA d4.WAq7 [;oV|պ]o~Hk_F7odG_}m[P6MfӔqJhy2NEyE_oֻqcȇ?_$11"`;Ǥ>xb;@p`W!xj<a3 @mh%Ny6o)ϝRԐChr|p[vm|x{ǫ!5E3kfj ^z}f8ł3ݦާsl5?;9h{v}LVR*C,*@\hf,95b'2n#`>sߒ vЭ(> )O-2"i(ȘrWW->Qʬ(9΋gx owrsRV5{ͷ=~h;}Lu7W7~o=FaNݻݤiDt\.nۘzM1n><=vs4.tF19djFPp}Ƣx\̽)&f"83ybgJ$&Băji޵@ƎSմɋ~̐,R840O U,@ &fjT.4bV  1!:)Yj5:OH`6TTL9bD5U!LS 9-TQ$P?|/o._z!840@baYMTr*cL$rǬ*k[1$")E3bbCcrTcL6MITm֧UTiןJ 3"(:}`9жl1䵘-0La޽ޫ/M0CXmӴ 8%7VAZ@mf]ӥ0>c? ˡ_.g]K)/×?~ƭNiوʔ1>Cb[o Q.` ozIQŜwhhC3F?%9f>RQmTPc %vZ̽߶$ d gӣhu\2E݋oIdjk؋Mc/rʻRXJ}HJC~ mKH1WS3Uj%(ZъfLcՒQ!1"yrUkm"Yb*bMN 0BԺcfB4y"j&b)Wnd`ghv)B{30ǎsÐT8!b*E*  c͙>}C?O~vDHZ,K.B`FH$Rih;AըhXMc΢=1qB\Jǩ6I:g:cPD))G6zrmYT*R|"b/24 A *Y~UQܑ0;ZmO/)e-wm;wg ۵h'].fq? اTc$%9"#/^\ߵ7k܌c.LjrtR RJ*ńt֐rJ*:\T( x KsdBh`Ԃ)o@'sx_\n1iIӫg1'GRJQoo7S]3[tsﴬ構3CzvwSN׻~R߅}6ތM)NW?}~'kV014$YswӳsBMc$":t呙 5 SR*~%ݬ4۫qz|q9NX,.o5fV`΅F,}L҄&N?Y,qm{Nj>GS^R'Sf 4L9F xHS]gO=o'Ɛ棧݉G{;=9wGLw:~Q=ϻݛ\,fMGu-L4~׿bmϞ=7]@$gQ]O1ʹ T Tovvl1 sS W'tP>W'4xqI˾gח7w4ŔE+/}򟝿M3!sZbqL(MsfdƔz6ljĪ/Ӕ"wdQ)%3CR$*R0@^LD"\9'DpID)ALL VN2!(1f4(&"9%H)$u{B&9[U51#M1,`PV`6|,+ޏ؏SbYS$isQb%@6@(j̜r"3gU 4"r-RJ~`0S^1Q0g9KQE&jB"T|/j;t@"5t蘉0Ra}bgnnOvmET-g mvS>Z...o1Y?|h=ccN㧥n6 f|{HZaʱӐR69,MMkQxF>T+pUW# TTs%0,Q@LL}s"ZNIݑ;S)auqPKbKdr7k1{1)짬y1; |%!27[-ڿ_-7}"Zz>#%4t#BK$61v>0,~7ƕjx~~wiQiEfT󖉐fv׫3#bz8]x&2핝ˀ<ƤmqkAMLJXǨl,)*NS?4~7ZEerp!,ݥ(OНO!^Oo]7cUS߅9b)U܈/S_?O}Rg>m++'5o%o>#EhDNU($meB)EkYh|vs\wui{I8lvy*o6RC2\q |6)#Z&Y}`TT9!*"!4NԼc3"{!j'_O{ţnلM0dPCcCR&]*{7v]+J’t 0Q.9G%Efn7Pt5{/ IDAToMaZj{w|:{Njwn3/ˋ=lmoզP 0fmlg:en-r ;M9h,˓bq˶ w@0)2pd:Mj"]o^dq,,4I"NFA4Qs`Ec3y޽{[oگڋ+s7xK_ҋߎ2&*&&VFsT*Y7 /g0nnķ J5]bѾ!b%PH?(Mh&^mַ}֛#Y,:qѵPna;-@*R$瘱$dlzGȄ밋ֵ̤:%f4RDXѲeHe\ȲlKH.hȠZ;IQrJ*a"jy)X~pn~ۖ}s ߉26U5RE$"3_S#U4sI~2óXk~;YUMONq):i,dZ}F`Pb4 40Bfh;Ebj N;߀!b~m>NE_M`G}4-bX8fq6o_\=MDJKUhZ>Mwq9O@TɳdebFf%"vSLL4H V >`S֢fr,=h19L\L"jbV?bLn?כ-fyD&2h1;?aJZdnR[]+nK S"Wr^xw=_L8Ma3*gOջ=Ov=Mf%ΝXN[o4%6Ѳ-swsӷW[0b՜J!<&pKQHsAo·QdU~闼_Wڊ)'U!32jsr&xD|u<1h51e&kvz`c)fzv_vkcZ2DSkԵ 4|]CZzh8fn$)5 8#PH]e'4q7]TtRs^m0m0R)@U 8R*mHI30"$" H,UIjkOUs?kE5I=jHٔ'9"5ߘw wR*Nq&bjo aTN 1#\FrQv(Eٓ22F4U CUZ/@\t 9B>]=y┆:n hR^ڻsv 2n}x߮w]\ۛvn]S4(d/E)l6}) # 1`*6a"kAS-&U)#R2)jD@5 1Y b) `l*#, *9GrV%h <&S|r/gWv۞p(YiU)_OLjZw$쵶?~gn8 1bfuavRdž꨽#r8ŀk/N*-;1EyX6f]aSiڻy˞P8%^.]N2N|秼+s_AG's4 fBdSN؈@$@ڏg\4kSj&laz'.m''q]1f=D'q7{TH=['G^?q۶r>:YuSQH;jPJ1DMZ // _^),ZqHHjQr)蘻6㙃gW=pv~&9$hޮO{|q!ETWtv 䡪lyviq3l>MC~#&4Q_x$5 yĞ{.Zs)őC1+("!8TEHh=OQ1U@vN L9) ,a"b#b)Wox *?L=wKQE~jP J@X!,R.x-1bMEQ39 @ѪEphVjC@$1v@m}oNWsp9x 9cJ(bDUeDDP9K 0("ed @V0Ń쒹ƟT61IeτP8&rc9,, W'O@638Mǫ7/W~EN^zinzS`-^ YYvqO.CS."߼]Mgh @3vm l+JȸT2I`3UFMz5SSjU0*9?n3Pr 8yQОf1{7`DzkA=W3!Vp;F{NvR  0"&4Ͷ鵹0Li;$Kb;P-Gv\VsU5v"2f3V8&]J=/s$\QP-yXhr]X1X />ns=j`blyw8z/JI}l gWۦuRBS$~Kuċ@]lTvU _r47dYȍfiɇvwFQAcPId=/[J @v͆{M(QQE暧81v;ZƜs66/k?w T,;MB&N7% 2 PE>j-~^ыwYVp=}+4 5!$,DYX=~tգg0"j^# :D cHXtEq<`hfm;+9S˾yQdx~v2Lc3kb݊ѮOvDD of&80(jĀPӻ ѓT3PLK6@U3D14ۋf jƎJ$*}@Uޕ,*ƎHVP<ĎYT ɴHEԮa @5Dq06 )J"!0XPU 027j]?ԧ[1csw@ \(R PM9%9L IDKB U|fYOܴq Xkvڑ ru(L58e'G4"Zm6cx3ӳo~L/?yYo] aO'_gs;kYDz)è13H1A8KJ 0eQL@l{-}LiuJƃ|vSJD\Y)w*RJt !v\r~ XxOEȡRuק9QD2\$/"ZNP\pTtcJEPqc\@t*`ZɰT 2;:T)g(U kc~??l^ .J* VP (R4sʥza֌Ȧ^51 @"Sź`f- V,Uwj;V"UE Ɯ̈DL\h}}f*jXkg6N8zvsӶҀ)'zr'1Rd[o?- waָj=(΅p4o%i pLXJQI@C@dEvLmtu E Gu YQGMIeumI)sE!!3=MαxlݍenͶc{'{GuO&E\hs3cF&xLvMSBQ)ټgƈ$e= NYY3YA4d%t(\|?%#;o(& 38mXpnwErTbΈp˦ \-EΣMY>y$8?O_{yK붩 YS"` s?yzyOV~,&LyķkD􎙹RGU4t j6NW]@#dhJUD}V2n63UG\ؾeA Lax)E)𞦜ETjM>xDt)Ev5FD#U7Tꖪ`lË$"}CvXîNb ZU #"1>6"b`&r̄5iV/Bx뭷ڶ͟6bw:5ímU[DBTlMEKZ)"5]V#Ü]EA5אSZݵn:AEԼmzY9XS$ ;s08Dȸ޽oI~];97t8Zvw  c˒jBLILNi9kŜ-i.,Y41c*ITp4l,!oHB.h@W"`fHE~@FfNUL Ȏ02D!KV<X v~v?Z@mRҫ?Rҷy赇S1|m5``s:xf3(eƔGD՘ ,|ޡ½.Nʙ?{˧/@B ʃӓ(-Ypo4˴ _a]U%;9ӴonET4O$9-n<:oª JHst-I~">Є@gglB.CNc")MS&n\KHC@B? 卯[8b\V\rfEnc17Ǝq{)ٟ?/| WN|>%j}@~,l_;SIff}3|ƪ:5uGv۝mD`p D@ d  $G\q%@`DX IPlv܃{Ts{}Zp]݊w"\ZӳŦ61oXUmg$BG!x3X\tW?vzSx({i'Bpݭsu&ٖ^DM3 W.xjG{ry##ֵP_;vFTeERZ4 NG &\YGeEP:TR ͌9ϦLj )GBt*y-f@$(ThLId;,aXJ_Vf&Y9eeU/Q};y~~9ͿPa޾6*>آʓnUhY oBed&R!3YRՌ[/)9X%5 #9v7P1Q_HĵӋqn֎o>{Tp)7M)z暯lgR9]|=_hԀ8E.aѸX\VlIU՚q+pXwLURQ ֹW$+1wP>]&v\BL.L$## ʶ3r]~R`, 12d0m'X (n{M,gQb]A!g,Vj&Rú g|.ȷMZU` bN,9:z:3ivz[6DIbr?Ȧ!>zz~;q*`HyXya2abd7'ئL~H<lW= ݵDѵ5V0qu3>MPTY+<{Vs PcҔcU?:p{ xΝov۶[,],B+r!Q9G;''gj(EkNM76>]6gx6.z!QXQHQ}굏7ӽ7s+A]B:9O- eԶA`ȎIL e1Q٘vZ@20"SHRfFL3L)0-퇨e5MY%Ky4ZV0SU) VBCAU J;&"OT՘`XD\1C"1 $ *C?o%*hAԉȹ)o{{Ew'`*{ !vi),YT0Q6+]︔[b_Vrd`x9u*ЯYBaA(9$,;j,vA+Ax+9]ٙu_v3(^BדYYaG0i^zggk}?PlP4&sNBwL (inՎrPJOHrYw)vM3LF!Ǯ1 5-io&\l{$׆jr lAt-_I mT1dXdIYaR̆ IDAT?8~ք'm{lrd^] X FT搐$!1|u"g ,ԜÇkG;[,ygs,<U_됖t+rPlxxoGM5@ʿ Xm2 2u!m"%5Bb9xZ-iH9fZb wJ"Jm q%ˈ .h E[M `+MȊƆ)jG, $9"92͙0LMQY62- 6PC5az9S3me[짔ȉ _¿]yc9e}g!@`tre((ny4Xe-H뒉2cJiq֫˛MWZ太Ʈ0(hX(d"#t~tCΛ w~0j;f:MfXEI q%`Uu[:@0@bd14&*m/H(*n0Mʋĭ韶QMEp.PcQ)*50K!ΗCߧ,,CSJĦÐV}J"1b@શ~'lPU5QDBpWɶ1fv(fZWԎ|΁^9VƼwLvP.j՗xY^:)W#_j:5u]vT:Ͼ K .$7yCԮsШm}C 6h-Gfjפ0\1wTb6@̷'fλaͼ$_ΙƬhjI""ݣN'o Ia+Z5WiG!i\*orޕlBu&&x) #ޅek,"=;JBd- Qp9ߨa9"dbf"&*~|~9Ŕ!@HK29b)&(o„YV^-K.,IL/L.(EEtb!g-?8L9]kG,XTv~Nܶya[<:CᶋjV"Jv f0ƾ7J "ŶscX( LҨr>n:W7F;bҰX'T+/j~0:tmk_l:iںL.nIKY%x|> AѼ3f]`a2)"Qּ-.em*1DS -ɦ-͐,\U-Z10 j|^a{D3Y\lŝ*&F"ΑJI(K&v49_y J 4iP90l*Vh'_Li":D~ *ϣi;hʐ TUFQ7O}Rl^~nQD "B㋳SW_v+F8GݢppJ>wxuT1O_6~zh6Q@pM֠AE;UӦRWT&^/frHI,k=CCr.4Ӛ,CRݫF3grM07qp3öѡj7Ŵ VUKVl#pܖ|oWQۇaYmnhjƜ#xT!9U!jRئKj!;^3|[}z||7E_!Ylo2NƒUq8xLZqXGRlzoG9M/\D y5"2䜐wjX,#k@ss (8Hds\(҂"rj(gCPujfȤE DZRO(GU8^6Gt&IKh=Jqh]TXi*B*?r"8k`l]%VW >$v^ŭQ|jۓ [7>JSUaMLf*D$R0#@TF Ь޶*W B#٫ }8 \uݚ=0|1wB87ll|qv; v94m埽՝l&5LK2w]E]ettX3tTC@LCTPrmۙJYF<(nr̒]̈ 2'j"vP+.ϥAsJ&j,ΡZYޤ&ON}Lj.\۝=z|`4'_otJhy8xEڕPx<,'~L0spn2?=~;X^yq3gg|/7ueh[J-D/IdRɛ>r=hb2P4tx` jgk[&#Z(qzYtv!t_i6EtsԪ庮\_lj]b%\3W_Kc}<:8]CTQ/#+qkĴ 2 <Ѝˮ_m=;h\urrPOySLr?R7hٰt:Λog7>orp4zxݼNfD#QLk8VDRVAU5P) [V!Tt߼qq;,@3j>,L[OBNI4UXFc|pljٺb;g]yz|FT}'?f'uQ%uPWA*18\DX|{|  Ĩ PhT~ME s`&Kp `):G1fA`-_&GdrЬbZ S(5 n8(I΅H-8T)])fє@-1Z]@`굝wgX8T䌽MY=iyWv;/Me۫Q^zϿ;iġ['=<~zz۹偫ۿ鋛A|g>(>;r<{`rSս]c2/.֣v9%dK2s^U-sוw]xa/pͷgsdcהjnvbOү^;45btCD LH0-02y X21$*\cYĀICvn~g>588gz˓OO}r?{y _Lc@w7n .N$fqN&_{{|rM3*dD L%bNR6ƪyߘ7]Tj21,CLYs z؜M]H3uv1CJY?C5+P3!e"5Cj0m LHFT C͔ 4uP.V+ fF)Km@_P ǣЂ_J*b|V)eB'9!Ŝ-^o|.1@0uYr鸋CN6 in[:AJ鸩4Nc.'6ÀܬסzοgwwqrS>ߺvZTϖ'_erɔ.<>l 㟼:}=y|n_swxB:Nh`SVCQ;@ )p'ޖW#!jv*DkW3$h{t >m˧o`-˷mtU1T ,UH.vW28HrR %iMEz>o_+=^?o^yrާ?kO_w75W^~??X~鋻GW&oq?C mC&1ElCS2 N!O=ncN )FuU_xc_w?i=/~_ȠB#jqX뿿g'g??9]_䡡6aTvs"ո { ؑWQӧǏ/ LPkr{N{G{psGg>w܍]x';>=}g}CΗ)o~jt Q뾥/|g_gwWb~z|SG<;6 }%>>yO̞ftM4t|`*\=:(@@4KW GM Vj$M1Aj{,jJÀE}RZD.|IUM sJ8D!F1Yȡ*:֜bxG#rg%fPFb.?|8gZQ pR,CVK9 "*$tgF{fG M70a|Fm@i488D[ lp+G-1./ 9,@ze١)cBS~߽Mc8 z>]앆i?O`W?c??o_?l꯬+UVE靯~uW?a`p]I+̮f>>:шi{߿.hX*"Cιs-l% iKKh9gǸw(;l׼DhbH@t\oh~8p ubFBJu D9PJLR8 Uo5 d*j)}wߟc_9^z&{|q֍hs~ߎNkKv׵;7_]L?Xf߽`Q/p8lHQ&s-dVn?f̹o{ߺoݾq}wn}_MWOC#rU5U~Ͻ7w~kŏ|{jU6)0h0 Y yn,V^QF 5-?W=yҁc-TU;ޣ nx|Zb3My5j}S! y}Rt$HȀDFchF.`*(&ʹuXŭ|U&$Q+GY0Nn<;{z~oʳ7x4vo7OdJׯ7]ztxpsM;׿`Z󃋅% m@a38 sV`P77MƜ}z5U1`T0U9偆,!Sw)g3[|NM{+4alS^wĘ!(*P݇r͋aΖm lqFf hՔ?U76D%5M9_$ %O DK4bj +Du $$ %+1| ܞKbQ(ڇa3@P]VCF M*? prB͠dS"Y^V5//b|qpO.P@v'Tg![vdÐԌ;Gջ:i𝊋ü'߿..CwGӟr+UgwoM/[o8Xz?/>~roGhrUls' lֲ@ejdQɶ?MT IA KE RVhjg0DB&U!ªqf[31E HfE5+}(bˍCp׮[ջoƽ> 0P"* !!!iL.8Bd[fϽv}`{ ?l;}<9 wԩYFF7ʞmA4EY-{wy|џ]/~ٝC޹nwjZ}Y I9d|s̑Mhĝ.j 3Γ ECrhQ$%]8d]-3rȾG .!e1n]\\W'8e6(˾ڴ*ȹٙ1:f*ٌs|$`L˕ \KhL9>GRgbt>èP_%Y<}#w8"EZ7N4 WBh4Ó.׫ux&_,YzwKY._>d>S= Ρ4䇔GJՆ^,\M@vdf@qlr6mg0db5Q$PQ(jJ)SN05,VT`Pf5Bh8U1BN`*InFąʂfF Z":\p)pd2UɂTjv3DP?ȎwLbˍ\z4nU+>|9~myFFhI%tm`j` żÔe6ɉ2 0 V{"GCj!x&UTQ5~!9ODu!p8 ;'iq=|za`%_usm?[$֫|>O) C)Dƒ'v-O2X3ý$wO֖iv<(a t*Aͪ D f U(fC&R6-~tD"ZkTH@Ls/q޹઺N389p^p<{tpŏg\Pj+:$)A`R}uj&û{Y_GF'e6: #OO/vbHG8&Ųm&ٹ'D0 >mfM Ԍ[!Wo\/N_5qh'u\$PQ]}\L;$#rcJL,RlEY F/I ʓ#OL= (uݽ`~E|pלt; IDAT<[ݺ/+c4惄%''N߫ebhr΃t,!C>u~/R=쌪i5C4l-f{0 TMss6KzgYHv4'=:3S;OD)I,|^ofx|"S*Y,)[FQeC1fU@qe3ChJ)KKY8dV{gU w&#R^(u"&d}`\՜zQ)r6eEˡEfsl < K9A1|qHyyw1QNAА0E3leyf@Nا"bJjWz%X9H1#WWSVjy) Đ1+X "+Hd_ji|`fUpDl4']]*Y<9;r瘉ZU%|q1Jl'Ոrx_Td2a軳zZHB"Ǩ*J+&v L(U'+v<j<>i`ѯ6E?rf\L)"dR6vU-QC**T$ھ.yZ51t̋jUCq,]'4u Zhun4J rS3s}ǔZ@ ypY3BĻ]W^|ٳ'?]d 8 V#bY:^rqT޳EsbVftGUjZxO>fH~|OQ" ?ȿijPZVa3O'痧n(7T*&'.z?ʴLo^ϟz:/?JؗV00o N#2MV9yx bn,W !pb><}~a=|"I?zz̞TϘшMЦyYfR7tr9YG}$64G{rn%Ni]e'#f%d j1,y@x_cJ0sgN.rA[jx}'fD;B&s3cdU{ޔ*Җzyji2Z* ݉E \z zsۛl:#PxO>cgrdzrw` M6`*R}} imǃlmq| nM?lt @pܜ%v[䫂Ng9auyOVӢgc)c'FZ1wEa>vGw)2 xmm&j )Pʄ\uS7}c 9QΜ([# cap,p"Wյi^ˬ2E]IIqcEt C6vI<@D"s),L>n~tdsnDNjh$B"->et,ˬUuj ]/8)* TD h-$BdS $<'PyO =0C jqUe!$D-2#9 69:I TS9gq@diXt&H&A,b֓Z"e˃tEg~/h 7r7_\ypZH@CD%ms)V )S0H8!AR=_ $r_B,ZV4Ts"p}D ݭH0wy/KZ8aqf̔`۔_jSNZD2e)K vzwyw>m, um c 3ƥ[66iۻÛoٛ_~s]Ne?\!̥xeF1k} RVwDUN`ZG;QF:<0=ɗ귷Sѩtm۝#0v2sQ#v2]\Ъó'yxdim[2[Yק޽r*@ VOk$¥ L s@sono2d٦qm!D#0!Pf&$D pSD{؟sl6y"u]^\ΰ)".RE/K)2W ֥T@"Sb旱GNX"!j .mE' L%f%8iV$ HQG͝ ]QrbS9;""r)gJ]'给A(  N:@V:QZ+Vi @פgT$\), b€$3%Bd"w\)ywGY /OJm)53o?^矍x<ϗsa/^=|XXi&KĮZިWPvY+Gj *:2##`YMNӗ`Dp(-~@`n`Di@!IZ&Ii(]HljKQ" ZɄK](IG յF.pSꈀL+DerG٠D3Z]7<ӛl30gf!$$n&^ lj]w#[[fM<03''?y:??y<4YMݱV5]؁S nlL)w Li;0y 3:8QFCR/|pbx;-xqGI" ~eX%x뺔zu.urOe͋OtۜJ-R oߞr>Lq:M^?|1+"%a{LW`4#>V^lͪvco#rSzhL °WSqH^ͪ9@bL]bb$0Lp5_P{B V+ŘSB\fZLMM?ޏ cվhONX#cѨ-}b & i+nB#P#uDFЉIr3wLHQ5A2Ek 䧿 N_zMp,4^U?|STR;Eܬ,ݮuwСBv$b@-º.hn! 2>eN"(NiĖmLƱfNV'!I$37ݵVWeeYT:$' w8'N#X=-Íe2t9d#Ҳ,]txrKecmr&DZ^q!ǷϾ;|CM'Ёuk\@`2/r>3vnӘ -1b9*L/O???{};o.e$䜹$ @JoPͳ0CɛgnC7#etrG%Ng}7%vLwwEDno@_'Mn{&v7 TLtX2i ,.%x7uDDFc @LaC l"#ֆ rIg5$wDF3-LH$WH DL87Έힾ؄648f xU+ bIb3PΒTէ \fW]$LY{;QIZ| 8"1DgBsjk4c䀈Ctb>o|(I;׮1.G y,8HXV5u3"WO\ZuUx &UkZ̗ɬM ERrUM}ZYl##E01;轈@JF}כ\*T"shz,4.]!$I@YKi.m}L$ÀDrooo>|~ٮ.ga1L@#[%UqYfD, 2/s]^}.v\N/Ф}_?AqW?>8jbv>41'm'ʒLaQ_<3fnw$'`e 'ϛyZKbךr,:-_/n~x .YH0y>ИznJ W$`!eR1hGB@-Q!:(#nD4Zjs\ZZl)e1Z"|3l@|* @f݌Q%. 5i!p)jp]UՔBk"RuHC p`J5jXHRK83I1. nހ nqP`åU5"}@<.Uܡ‚Lw[PfufsZr`Rօ9m6?$?ko|o>m6QjЩz:EzdL ň!1~@8>pN_0qSgnj+@PsԱ.?J;##0TfY L4|9np>i"ƍPb^Q$%`L쓽&mok IDAT2u`2Z,v1e)ZXk-nsUÇÅ5AhP2<\KYY1O\796\)N3mMd8O&R5 =}]!]ft_&,836_eD1#'‰óN0$T5sybgwvB e|} "n'`L x\m# ##zZ9TU3ڢR #aӭ\̉QPmEz4Ԥ '5p jYH\A= zmӣ)%\" P1-:%o6[9=iT#{LZƧ~{7R8 "+:- 4y?Fh"i-:gwkwcϺ ɛmo9PNs',|eq$]-e9k{f#|!uuL'fuf- O_W>ՇSu}-8]cQJyFEhx8ëfx(eR+"BN(nw?]ۻav6˸4/h F,rpMuV&dgKx{C˩cfeKT-α=3_J(ŵ /+BϿ?G$[̙h} Iq/aZN7GՉ?zذ~ȊJj.Kt,jÛK-4q\j]TkTߦ~'7ͷn'wƱ,vq4tuzJZLՑ9s&IfBhfBbRHy)ZkeUS&Pe}"mWOcT ZBD$ª5F{h;<Lg$itZU;tZeZzyWffU(o_w~F`H qc@UV_ ^ը8bމ@9N!!0[t([5l0JHPE0%IȠ]J,QU:нzj%"S/mFᒧByzyzjD\c.hnsk FQ1Y'tT׉5k#~_97zݙkJ6T/<{DeR =!JA%#`!`NGS'&"`|[EwU:X\ƒvLΈHDX:%j ;x]2w&!-^>C֎[ŋ[Kpj_+]i^=(jzJڔb(|6yU|,\q4<)ownU-<5ڽ_a'UCUsHt̩>v_Nzy, 2t}u_#!o64w)ãZ4pJA2Nn_ݍn膞TݲT:Wt9-\^/+Y e2$&405e.{7sWϥ*dr-]X$2[s@6톸Oa~ QbUj 1u/S21~ó?lXjKfzǹTf$On/z|s3w9ڼRv~x<\t>Su$N ՒH" (  DH5mVUM =q}LZgN[ҪRU&>qWy"4z\'qmM@ۤIfg[EKH W՜YLRH G]PfJG-x$$`HS Yo$GZ j2{la 2̼y5C&F%b92W&0jAUG-TuB3Gt5393 8[9RjaU96Yf䀄]iAi,Ra<}!mhfl[6PD_11-]N prhĥ`]MTV?%tf" -!H=P㕇hmgd$13&ai'ݵZ-L5W@PXԄXX"x:,a2'(^uJҹ0!Ff(@N6:Z1R/d Tj1")wxLBѳ___~|$Ĕ7+2 rR>o [V=}z#U @'9S1Kʻ{ynm:t!oG\c_Uuy;8t:qԩTrޛqLð6 wVܥgVP+sY\~3q? 'O axKz@4hC"=q||aK;ؠ2O-Q1!״<DDwI h5nx:_aZ]#(4r,,0h܈:U0+jF`̔3g,2XqQc.hm!iNv+k4HxMMhUnފ`i?ft'hߊStXDrJDSJ4f`ZܨjbfȌV(%6 a;yRYEDzpB` Zr}P#:T`bDRhc@CsdR VjZV4QuD@:\C3fN̛2 <:Zp9(]!bVNk-neqy*ӈ\uy|:ERQV"EgӦ,~CCpH HsCv3B Sln 26gn8nښqѰkxJ~ @7r+=;B)ˣ3Q'ecƠNA(+#P"t!Cxߠ3)I||739Vu ǎKL39 f1#s$HMǶ㤒|<.Nͽ;p~}S?[MRwrڶp Y:ߎU,Z׆bKg])'-*:~e$ ApK*Ot}w^\'z7:J5\R px㣯|?Żj%2Mݪ6ʴj }j}iRj׽*T0yy?UVy?׭١IMw=>Ǜ! &^cr便+a:y>_MӠQݱk~'{mIDATǹ$Dqis)\8CȑWs 7(RDR0,\e\C$b0G2$ ̊k@H I*J<<UpC rHb5{g-,3j}ՉΟk[=C (Q)20I (00y"ёTPHT#5 B7LLD\Mg$d8ĖUݝ9E+ЅEDGMEJjX >.Ն>5XܨB ,?Q胺IMwgs(RqO-wG'_MS46[#n$XZp aI~J& :ZqcR ƱܻeqP53+v)lV㑋0B5z:,Z&+9sdrrs ȋ'CYENE!5]FӃ-(:/UUaqxrm;MyJ4JÝkGg_/iJ-s$ QV[p(/ҷ2G47v<}vӤt:tX\{`"WM;Xtb)q3顕dMa"FxG<~t9q`َ \T{pUuϚl| 3t딘qPni*VzzK~6xqE˽]b+I={&j=@^ⷼ'DM)OE\]|'c()o7,瞘-9kӜI|[ߙ.<5DXCIDZ9Y 55wP4J7Bs-6'j !˩غQ+!DTtv=a܍bܺX.J1GJj؅:F@'_Xpqў7H$BiWݷQWZ&'wqAM%t93{D݁JvWw" ȡ;"A ]́JTP#IոnG@W^FXsV$@n@IM8b< 4&nf莼XL  `(TkMK4y,!`Z{um/޿txپfHqlha2 36[U3&lQӪ+Emԛzw7'_ tw\dlq'].FtݦRl8i7øc<;&#!A5ufCѹO Jb0GIDuKwji:﯎ӑno$67s"y$vݧ|JI8Abnt]#ffHd+wJ!tJ(uFT=`qHwhLJ tikُƇ>5r9"2Ep=*4v P6x]uiRbTN` . U{:ǖ:xPxf 'nKG?_%DZmn[ռ[ezCk$Y: y,:O]]w]5 1En8 +؜Gж}ˇW4?=I.9~6tƸT;4Vf6M? C@ޘ|Ts[v@ޘn^_ȬV]ܻ{݃2"80H_&bP ^4R蒬8sKBfPFdTuu 7"$WpbP+Ө`D5&8`X qMC "tH w"Ȗ Bt\LM]Y)U&Rѳ4! <=#yѲX aP5cj5%B8[?v BBZx:}a+0-{C[Ҁ:o[ 012Y39+]Fd7d$kL!t rW/Z w @Y`!{IiB@yy`PƾM46IV"q?p;3+6 C=Y F8`?>~tr 8;3_l^(H#Uv+鴘j$h^^Jg~ާ?˿~#Ko +(utm. L9+ax|7{~ʮɾZ=I9vTJ<<65mBBip̻cNZ?gX{ן7m3ê_movYmܬ005FDM„g-Y1 ; ,k˵"Fp(kgDT+uLhL.G;ۋiر DBTGD5Z\nM(W-VrONHaeQ~\j%olpF9l΃<n] 1Yfb:@B8 TwF9#$# |Z *@QO8z؉r r@B03&aעJj2 kQG00Nz)sY hZrb3vL,(;汄\l y8PaѠ,u]tX˩ebdKќU)8iX ÞbDWRcme-Nt!j#;fֻwUxrD +[$dH TlTW"V!EB} S@ hɥ>lmK$smg)I.s] lGufЄ9(8:cB@?LdbU5䴔iw7_.!|y !LӬ_g nݭ_qQk"ihdE8ل^K,BU^뾩䛛-6{O0wp9oyiT#׾?s~M}1 17WMS*: e"$h"`4%9_ N@4R$m9%JE &aӤZnw'%ٛ DR#{0QZ-`eea)V`?Ds"AHV݅(1cv }и2'wg_/}7lިpU, "$?<IqN#YĠ#̷_>6xzo[?^"ɏ/zPBsIENDB`Сt?GAWYʿ+qY&ģcHռ.r=۞AB]@6O|8 <<RX0Q1)^8^8^о .zFmK׉!nnaSZK}fZȴδ뒔sΞ9&uns‚CF03`$$M}}HTQ@D4"<,! 1z<A8qoJCVhāG爮:A sqRAfQ2TbVX{ߓHD+;p!zȹ+5l9rWTˡ_]pvKb-BFʨ"͇*Ui?77,|尺 S]C2;(eG=M;>2sq]u M?690v,Z*K7:@ݪ[[M,-YKTe18r w&WbZxP/R``BÏ09;Ȉ[Xq#HrVHY[7]>Nn*@4"Dz06= D xj.84$lR!ءZXi޽QOa*Km¯r,׼|ٮ^ŶvNW[I_# 6K)+f.:9>Cmd:{i .Bx9̃D7 Ȋ[MVB ;|_\r̿,{6f}Bl5jyr*0a¤+/Mll"n8jsx΄p3=K C.#7{[WD$X d [wvIrC5ꯆ'\4In=5t&]"67_[N#n$u+?xsCtKSڞ%KDITR$7cf %qv3:{jΫϿnvy?ڒưxKp35kx0q@ 3?,=9}zWVUO_3B؄Ӏ3|9F^^|fgN;bZ!\\EܦpH>'tg7DĽo$AJ2:)YhI ?3'_-dI#-{fol }Wةa%Õ  8zo,uL2Z_Ai>eۢlGOkO߾ j˶~ 7e>p͙"yKnQbRtߧ~ #SFn6l#{[P~ P^C;̡zLY19sWU/"9 p6 q@3X{ <_s2`r"2RA*bb< wh.#*xZhtrQ!A늸؏+$# D(GNyp[&xJ[yp!n"yvn^}iHAUc_pDJH־=FGد˥dg"vO<@B28> %'g@_;:uv <ɉ|Zn}J(eߞD7\ypg߲,J#x}" "'#X9e`Za$1v8GcW>CdԑvJ$F;?S$|a,ae,AIA`ʰ%;K*=Dq H "gȲY1 ^XcqOٱ<=tjd̼דXo2YmYIzՆK:(p0ֆB/V` M_p C4LHpL&lP"/q빜J| 7 v:|vF%G&'>.ah om^K M9|J6 5 O2>9oҐaOf|z}yɥ~̕59"81sf铜2f@n^ؿ;G<- RRT ?WrK̹jݥF.{Y[HU' 7QNs=f!0-^J[c~j)pozΝ_wr~ȯ}yU^ixuT>ކ?9cPk| d{;R˜y(Z@MJ@;(r:(N1z)8:ј;Eȳhx+>_: `\Ƹ9 0‹F;^c<u|ߐ֌8\dQǧQa+K8'csu*0e,z?Sӷg8r}]Ȣ%D+g~^, CH 'FidƓ]#k 00i UK(]EYej|y" G%R ?ם[);NocLn>d7TZ]_Jb_1 [-XRI~8i#`Io\xzq]01ԾG"7j<1D2"5o|{iucs3y7P8b w`2F&;$/ s Kq1mű T$@SVbᚯ+w ABTwYQnӴ,x~Ryا r%J]&N>pCx H\+d<-塪yg1:4c+~MןR[:rZ}#BW_wvY;+؉HO;Ƨݠ䧧g)=3a*8-D1* :_mE\67`*Ҽ7?/dw ]U`G`f2EG'p`YN1l֯5bXs|Km-5eŃ)z@7K(OyA~BuݟjwNJ}s+d^zc~K4p۾'.㓯rztLV];tPp`qU6,k;wU6,XW 8׭!m ;c;_^it̏jAUKb4aA u&بfJ+^Zzex05^|wz˲!}lYNJV`ԫ\AMb~:pL嵠5l@dz.deͅIz'=ں>߹J@۸YnߘA&b> 1h23𨻽2kG6!>=Lq#磰v!mRsa#(qn@ z8OӿT|=3kMZq\NoK#-Ft }Sl-b }_mFH*A,#-0i DzVWKu해L,5m ;7W#bN $suuX*{I;-/Wft$P]gk _aL}ܞ~!Fm55w3~v@jrs`nm `/Dw9Ba_t$g5]sT?TpXej9W,]H~&ˣ @ v?7[|[ ,6Lp=#_68rr[>k98Į 灅Yds+Gm*j!cvvAk{C_N A0%X>*\+͌oR^g.qEPUgrBs{ըsR㝫ǽKIcmsbmBH?nXgzͧ{q㨑7i.^skGy5mV[&w R (kSQr| l'V+k?$=^h +:B\nbR@7S n۞q涅D2+Nn?"~L]<XH>, ;O:@Uy-^Hfoݯ]晦PyKo^|rLZj ˏTF,Ew.<\CR_?wyJ09?l ՞ (,d)GDY뙂8I^/He**+X Ωn.6AA.Eܐg}Ȉz?O5rd_R ?\HY`(bNY@IL;gFۈ]h?rkj)Ca}[uޏ͇ة+r"c^oAkvL!$v$5K\ vՎT=x@z$MS ]fByZK!c|DzxOvAM 8œeC_$}b.JbqqH2VDĥXʎU_O-3ߴO0!͏ fo"Vx]Y]Α{޺uyˑ[8kbQ8]W VNY_瘞>||~GHQ6[e&Z?bxŝ1U#m^Z5Ϙ΁u_/`F&n@X֑wLO00/ÐEv\e]kZd2ړxSO^B|z6<`U9lL↧WT"PA[/YIͨIE `5/IoPE5;(8j.Q._(@ݷof;3RgIA˞p#S4ɣQ FhY?,hdaоc 1|q_ٔcbcr ⩤4GbBQt'9^0%miYBj:WS]d?ts yxǷʬZZWUaaa෷+8NS0J=@HݾaCOSM^VJ{vv1n6֌־F &A*EbH&H[t\Q Zp7]t69jh^|fP(6z8e$緜S,(w>\z7UuO˫\9-k|^ZáUDKs)Ke|KG W)ԋqHO LHْ edN+b*bk^vZZ_Zλ7U9j5 .n=rG\ h YcbFF+=pI \$KYVm^H˹s} rzTid h8YA*9xգb8 &ǹ,;ZƃOR[Ļ8.ξ+Gўbi;p{`A"QߖĮIv#NZIH w]i;P{dB"}g wYM:rjI5ӪD"v=>_Xʘ0ɂN[{Ggѭ.4V ޯ-*n$ }r(_U(yG hNlcڬbex+MNYg/1lwXR৉ximH9Xad)ei-o }  ׯo-X.ϕr9B!j'/Fyi1d$M' R^mNrȷÔi YǙ^C?~_Up :0rw㈯zSCHQwA[5Di% hm_ :mU!<]oI-qX¹3‚wc;YivvC Y9aGw}q'P8E2=bF-+{y*CnGm\ &<.c P:iqIX3`;C]>"L뀲1[y?]®ya&g ytst񱿂g.MR𮋽TA_ ܽ}eOEa:s`;9ip*S¶u<1ϋ6C"o 1ف˻&ƅۚY64HxEU*8;o-O͘>>ez, eXHV6tzw876ȖN?h2ft] <"INWV;;l$3 X/A ]?ELUI߯3{[ЂȘ(X]Ę6cdFC"8#X0PmCpԽ^) Kɵt<[NTjzlx 4?y`kC"KlY yFEBUn`0-Nׇd8UoHsz!QR3J[4EJ]h 䮋!*1$g-/4"Z8m,-LCwvXNԉ "9~xA%L0p@)MZ| J<;ij+(&T:ݶ*&QDNҬ {\סd Q-Ď(x:oe+0 S+n9Å"dٗC\羘350VZ~W5N+ļe\US:e.%GӠ%rW@-Gx})$sRT/HADY^\m1pK_c%'["\|Pm"hsRAwGfmQV3O>&ZII|tolX^[SH$FYhY: 2℞6;Ca#Q\Q`6hƷJОz  /ߑwPE ?^NcBQn=+جLaw Yc{TZCu2Wm#4ufaΔA'{OYɷ' PPw럊j MQcC:k(}Sca$(90f*->uQMJڒ2-Mv_]w" }v"M29 ?=A^yz5eBg+ ҇ GD>LdٚI= '4t S@ (^lH2V9T y|weWUoacLaG+v>eDŽX>3W<դ-snJei룦Š %DIpʴII3Xd%PhER 4&8\Kre9 kK4-AnPSWXɴ.<4yƳj^Y򸷳<گ:ky_NHht"|[uHΜ#[Z}2T5{Ov7]::D'|v;P^sC,ٙo R-.5=oHp,nGHR[8(1#MTM:A6O_%^B<b3~\l8Nc4ة@;MdHF K$ P ǐ;mY&O21*=BV=esv{?}SVG*a"a]ay@:QoH>EPQC.hE^]h4^TzMlnV͎N$^C5<)_UV0Š.A?grYs{,ԋi/'3b=Qd$W!z㙂Hc%fmy 2􃇳8 Z@Qr3YBF$a߬{DP3AoT'~>L# DUur 5|[8<&TՅWh䮪y?S{F>_Rj #KzH2 &%T_kaVJhl{Vy yK!F3Ex(mKH_6r4>ʀxxp_Zp#ez? Qx 35xx~X*t뛝JLnӚrTaЊ4 B8,Vl  W5b5g`l_-DZńHa:{RH]D8]Eg 7cVGnDkUnDZVuT Z65UȺmȎLg&>&,cALv>^8@ْ5AtdbAYXK)/wz⳼oQTYv`ydr6%waO* *&R^[ӆ-ׯ?}Y{9OLGGfG7=[Դ If;i ~CaqvOI+;3_ v}[cjYk91jϖ.re=%P\A"Y)ITsǹpU&KBZ*+t58"1hީ?=|nqwe9ss_FVַ"JQ'xVlh-Vc'>` 뢥~K9*n!U+Q-I̍xSiAwq@#I dqQӥ: M[$SĈQ .3~Qa͆YjF"ÊiIi>~ŒpϾ W,vOÂu;׸>굑sNC^Y5qS}#eJ~!̏CQuu7Tnc~kLjݵ_ଡ{$!_jK!{R5#B򛯎界%cwC}oࡌ97dZd>k#^7< &l*PAHOo?Z"UhK`ӳ5vnuaȧ g#dFvxtcEQAo T $>c0R,_+KbS K-\b0Ah*Y%C97A"G鞖&~9LdA@ЖZJ裖 4úz62ǂ0‘-uVK[彅AGR{Gbp`j,N,5phX8·@G"*MgR (3^e FCjtdw;U^]s?k#dcɞ9a[n݅Fg"tACZǑe''OnbfxsS?=I&$+2>V;v/_#Ѳ AJ㦞6- '_7OzRt0kY]n J!1`^Vf tѼHlr.L1 ZP@c?Yd7Wǔr:xmbdXq\g~Q?py]_u[Ei9j\ɝ*^MFag!#!i_z1TNAtz`/+ ]R\Ӈ)Lւg)K<ezbjfXda_įK,9l|]۸DTY%: We  d%=ENʙDE)V.q#gl{/$KTD3s鐾,jr)O0Ò9dIJUxqcl.T%M(kZޞ^ z~Ww'YpTc8Ɇ"= He}"!$G|& 6a`&otE#2/CE鴙g p{۬9:i_T =/-5&b)Ikܵ]oߑ*v ==?uLқzC{ޖjjt׿ڮ/p^"!*ABq;|=h.Q&-$F ZmUiDf5C>52 Ыp6 XU~Vv*4JV(Ю&Y#!KE&Ѹe/&_3Ԅd'3u(mɎt雃+ xOl;9ƶmsc`cllv6v6ɉ{{S=U35TM|C!r]JQ݈D$ Jl`ӵ!fHd3{Pd*[d>%n"n 4mRɚUv 2!6ZC%K*ZxkJX{0 x1.u!,Ux,/mmA,y Ɵh<}v\SUV8pFU Ll(kq $9a*Ad&H6Uc\8 D.?Z;,<'&զ-%`)Eni.NG!1(0̤&ېQav,qsZ%[k/%(!'x/:gGY.+„'M|\eXpYL|+~5W[WݑX"#W\祫Z}`8Svq8Te9{h!Vb~%C"ak}'NMV9,nL*xu(v@gˍ╆ ?l^>Ψ!kxæ puFcN$٢zqv+i^uIn‘y(ݔN_S!we9$3L %7ǘJ1IF-z,n -r,,8E"mo:s^z i+Qh qP)V(_P{w-h5(X.qpp85sW9V@v R.8| v Xb=9Dd@H 6P\;# g2ZFfos05 bC9fJ)D|eK BzHt7źwe"hA(ք4UT*i|0<א*j0Mksen|9[?ۛۜC",dOq@XTD߯4ѽ z8(LUG,2uHǭjEjl/Fuh37bҐZ'qTYq!2Q:* 7;e,FE)!zMgX_~]\\v-]ot)<{@/9nO>*귲D>dQ0:?̨G]]41t]U$E e8 ʂ5 Bu޹޷Sw@@^x:t%`#4.9tQ6`9V]PcHjMȆڜfEs7&2Z{܍l a]ivFHP"#wRXXYDM3QyxѸ)Adv6Sm3asٮ,:7K蛋jaZW?ф QA#Pղ;5XUg 5cmfLJڲ!BwBEYzEQKߗ"T_3cb`Pm\s*+ rH"z즧cֱ٘P&Sdrdch)-Ci da(b&;eL2P41ohni׭It 6icrwY#sSgz6E6aɨeXWn44VEstI p߮CyA)a{x)?J$b2(Zp)N5A;.+ 0N]>KLH;X%w)[17v/wxwS}c~G?DK@6L%wc(j$ނdD2DG$t 9׈گQW6ך׀kFw "th*s\K6?~ŲkC ~Pp64u1CDx"rtƹ+/a$(3"C#uӻY(A"%M SsT::9sND[}Cd"ZʖADUlʡFKqtK6(b zfN'], R_d1]u~& |HN[ǩ뼼jnduEd_DOQKIk,mE*Qѫ5nCNgN-ѳo>PtlTV%k/! oֽNocؒ[~,QUlx!fX?W+hqG&R EB,-v> ?0_a$;v@''W{+{kapI& FA= ^Vq<7&6Ӿ~/m2DʅHpz\VjUmJrE":[ Kbtg2}ɹFw}yBF$$#^@ n86<Į]qrVCX@;+ijǚgʗ|#(ׯ#x4QvEr'^oo2!d YbkpHKuם﫤XY(OV~44>= = _~^߶Yl "]i}An)}TqDYOD]7 &zr7pdʷu9[ ! V2wbX640=˕뱖Dhk0"-7~ǮIRt!5j(HD ׈QbCp甧BlU1+se:'D{l~ST\t.ZkS{~mADMkA !6/a[`4.kUrn|`r!1!$1L|Ou)PwJLZt?J,f |'b::0 _gUɴhx2'Ķ, 󶧘Fه1y߻Î.H f%k[?hP^/2O3>oZ)ݻKy~wK"dK *c5$_JEɬ ]?3; "ؗmldBx~" N~ ; D=Gεr!%و5 qvbbE~e]@gf5/rDüar rq)-W,pR!:T<UkkL(O݉ O 5Ysxg3 _m :-~`=R2W\N Azq3tf=yE2TYyb X{J1=ȊKޮa>Wگ_{/o$x!9h>;M^k(5Œ[m54232JfSoAMTefRg#bma(%Cݳ͖s8,խJ  t5b]^UjHa XTߏ噬|3Η|gcu8T!!KQƮ75oI2K{i"RTQQ@Z% hPHVg'79i.Tow'ulb?* {E mGg4$ˇL%.;[gSBώQ%4~5lp(άEA-6R014N&̮@À 쇉jXQמ-㮹ԛ*RWZ* |~yCB͸6ɩ30Tc5y4l_.o'PϤi,Ԉe·|[f~k[+܇E.F S/*'RM^s Z0ЎxŶ&qW☞'Z?jf߾jZ?`Rо>}*rث-؏>"yq@UE>am1ђ(4UlYq;gc闼KJϥf< fhC4a\^#S>~m-NY&tYXm_aBYŽ*rآk=7ztaK?} :NЎ}*#j>)inUe*KivI0ӂݙj&q"W8kݠ}7عoqo( H|,ۘczuMFU׵G! NE}_4$ n"ACi6VJ J34o}ŠfKi < ̈-WYh<h>Xi;kbW>R7}X!v20V̨I̒@iLb Av"e$ yNےNug՜$> Xߖ;¨FZ1T23IA+AjQƷq7!VῈ F@(Ihy._:ioK0vk1P{ A!Dѥ}W: ;P >>ҁr 4{)98]]Xw99D=|;=t}קaS Zs^QXY?#wi?4Ʊ8җ#ycZaAxr^e(כsw3$0;ɌzfUa_XzriQ`fb{}Ro]Yjzs~6o洆8I3%1D#hjd 7Bx߫$̓F)~D1D )wO\{uDNc qlZ@:{#h>tz>J1m1Mo9Os1N؏#p[J/S2DxWMnq Q午P]:CZD6$F[6VZ =EpBei-hWuVj0ARPr҃*\ f2 !$us~oCKOWw՝5$J!.Wٯ.GU ,tVN)(P3bDG$I;6vq\ Jo>oL5OG ^9;YߏFa$0B"pzR‹5?9/gS?Hٽ,(pId^h[Fٰ&QZyALt3!ff7 L/=Z177qiA6A1є]ʚJXų`r&SDp-b8Ȍ o{}Zo։@D 6uJɰPSa-gZxfq10Qqe}wCَhKeǚ-Fn[Ct]ClC/Qֳa=n|S<"iԱl`{t{O럦/=W5pr`Cޕ$emQPwlU^7͖ZɡǮ-vGM6m_ܿg6ro2li9 p_|'H&ChPG6a+h{:IXߌk ,]Q )+JRbǠl]r{aȷ/G(O =dFె')Q=oXvm9r}7;ޕS[F~!ϠQ68nrl;`z%;97yY V_^^8p*ed)qMV"&-j2Zw(IuJ+PGSjǯf03t(d_NO:oF`)lw?cú:4ڸ9YG({G־~Ε+5)%:KxZRӂ7-1kh>S8qH &Z)nS*LĘ`VKg ;#A| U@Bv% 8Y6>iLUm Ɵ:(^+ ̒@'r|^776tTĵ8=-Vf"QN1~>{D dWO,h۷/6FSء(0АSR TYMHђ_uM-y9* )' UZ Ȗ uϬϴAqLѻ^`<>彝\?WdYttKӚ[}Cnη5U&b^ v{~ gAJM\RL&ē7UGJ"mh4g6/p@ːcnP4\5AB8⺚쨐t1L B5=̼>Р']#@,=П9c,WПIztdͽFYtNuפQ/3:S>uRxgYW47luth%Q;|z?0P?NR'Q/?P&KV3O2bطЂ  )KdAlqcof2 :o}$/}[>OF>R0RR0)vMSVa438}#rd/m_t}~u"*?4ȱ2%ǝlԫ';6G˨ *$_UH(` @D0`33pl? 9Bwu/r+:!Cffh[ZY&?ZW2(A„ frl홏Ŗ3izl* E {L7ve%&hdv9'(,m<4r#d3dD(ȀNzfE-Z3 hWQ~_͕*+1>o~.ݫ2˻ؿ'goD3JKx}&kqåɾ- a)M&Aܜ| RG7⑆wQaG ,[.!V/T+Dl:qS21 ;!֝N.Y13X4Tx@|X`QD6OIC|ΎBQI)lFˌsy7fMwUt!N^o7n!\E"p \Ȏay)[ Ū'G]S,r/B\L7rwY{5b]zGe S#Bf"_.EΊ=qTqR9{DږX#+ -JԔ5"X ŞhT4{#NY݃~y-hAOm<+JޕTS( JJDJQl;n%iX2W;xI~5cֺP&r .Y9Zm<-VqLs? hND vN3~q*I (CڧҙM&;yW]\2oL 4jh4D"zXْWaPŖD 4 -Á@ƠDr@1leYt(R9#D< {<EuWk%}|Ө:LBh9joz?82^+@ɑ7a`RfzS{. GMdKmGCdAFntaCh#Iw<`6 mt!a*̬XgGmo0Ѥ#XL\ Y¤*f@@gh`_>\eWka?9CZkge<sKID8ޓUkrs740p1eѡa;]{ªK~ͤʗ.rq$17m*\ 28mοh岵 MxDt[W(++ɥBmy1qƣ%u`:=ƛ͇vX9%'mWNSa" gAqs`eZ[@< E\וW`Yѡ#m׾IIyφLۆyjľjprᣬקM? $~l{l,v IڞWCd<=O3u.:YPqLB̆\QuU?"ۊA9`ДfL6rrI^]kaEZ ^Lۆ($S 7}/|~ oI?*cX^h|.ay:}*߳?X˚;ZalսVAI:Y9U\w94TT8N9[}uM;uA1ÓOaǎ:X-L$U]םꮔCF+ûK'$d{\|\4i_ˠUHHNTvs?rPvoⷱfH$13`P!,w|t96偵3D覒BV2NJ_ {Ro[Kr `8a"v/J^ffMgÿ2#7;VO\)qs%˞_Q_TK=N*9:3xރt wjJtF_~t 7*AH#% A)|x*  ģ]Iݨsļ~{Y{a {= "TBB4~PeG<=CCAW-b{|"˺A[[PӂTdd\览56P/4Ayz)77UzŃP/ޕtufV].%Q'VsSQvFRxq9UO(P5>ݳ+~Xiuy~ N'{ֺ{+qGڞ_ն7?=RwGmaRV zةBkJMX:nӃ+g s~Wb }Ϡ|1k ߑQT*U^w.֞]),\~MSTV~ϳTr4HDxJrD*6 20-me @X%ݫ+ǐ߻:}:yR:z6> F]H[wC]`]i¡]{y iQN FJ`h C@b}͉٤|yEGn#`0P@yrj܃RE']l+\^ #r^C+‚w¡72\ЭrO)~}'nBWGg[h `>bC ]B}SvrU0&9}v)۳<{r~16o "s Pgt ( >9ڗbnj`P[:!AVYA'3Qtv(6j+1ISgeA Z˱́p :J1iV0U7Kݝ[wK9"Dpttk }9=IowOf'51{ J>Mi>u/mH,29WАMcm=k4IҘ]7׼ΪY7fSȱ1d?Sa6p囄DrX>EY2@ݪΗsukjҕkZ\Ql wQ @BL |U ÉxrzZ5z÷yHEL\d$;SB{)+Mi(ߙfpW6@9֩dC'QY*3uV)wu~کXy*w8,#MhB=q+;.hKKuhH$*~-c}Rezq~jUGsWcV_cRΥQ=w67n=6g!5{C$y?^}A3\_\ }mkњ=Z||,?|v`tn|pjskOyZ1oNH.\>?5[녟}:na~6-Ih+&X(ܨiﯭ-0]2j T]MG$n7#rQt/kzȷf*^BȂ1DOm L&1= 3ir g11)4*GiAgBS2݌ @X (*a~EP |r'PIrRx}h @)mP@{@p<ΓhK!!fv?L pudŀ $ҁ~P@HI͔[^$POf<.S >m>ʡ4!!;&VXҏ w̐|vgǞd|5/DPPb0%W zdUͺ>W䋊'pu5X ojwW"-z[1SRӈԒbCg:C$c&f,ͷxњemBߩB&dλM/3x6s/ٟ_ovUv\.5|mi7V~+tg~3$pN߾,abAPWLc8ԶAah_3)e?Xl*TN*Ή8g1|"HbOw/NQA8#zょ}c|ۂ݁NCx!E$̷P8^$Vx,q̟1>+6'.!$Ms+>s%^f|R&e<_/9mb^|N>ɋE.g.OFCDsY8DUW?UpF4!?KhZy>SuՉt `&T ^,z$(ٔɜ*a$,Qm4M,IC,)oP&?9!Gɽj 8@*Bny̷un^?e|M !^/EğD#^%,+aռ6-.ƴ @A&YʼwLGܭǢ/_"gXZ4ݮi'At7u}\%h\mWY&*DB'kNAp .k_q&K I\z&F%yy<]`t`H&ffsbNVnѭ.]z6Qp\?xk4?mcHV,]Z6B=p4ɩ٩nnz[Jf`m l=M ¼#0zgQJ0sx)HGRgu)nbA7@ӬY-1xQ@ma^#rb;k|Ah ͪ:TB |K;~[otù^tZ-ew$5?~nm><8`ae{HУUG>*ًms,Qkluq˹K]qMdz 9hb y*?v3@Ch-b#C}_7Id91i%NP-2 B=u4g0 3fdiJā$Wͳsv~u|"1)r1 x\4 @_Yd9 nf)M@俰hlPal"0 !0RĴ`@:g&fE&D[Msݐq`:sğsb"A.X(0l0C,$ԀVV %ĩ I"H{{ݪ P%~7VVȘ#2Ac&cO͓!8SXqc塑{t 9>k}+cfC=q0<BU뮐ߣkxpn~_*$>:q[`R?gnt\ %`OxzVHev"92T% [nKV8:5V-iV_BV6 $ύEOyEo%]T]n^Rc]UѱUū&] aٿbmnkWoqA_auaQ}EI!}hrXZz?GajTUo ˵cۖ #|N7vV;fEeRtL8+46Qj^=zwSBfђGE^x+5J)8+ ^|b^' :J@]1G( B,ͽ`'\FQ JFe3ܳb=n`Cula@JR- |LHMhՆ ʂ;bguӴ~!~Gwc_^8ȏ0j B4";V::e 9 L(h#'`u8Xol$@/>w2oT8*bH^DHW%ϭjb;R"^ds pLyUsШ9ѩmHͥ_|O#:6E= -PHLqgQ葹M4qBonJV6ҡ7Z:7,{׭]k=9>Riyw+NOBv_Vf]R(d͢-68p¦VMWmUW{1OꞮ5t{E۽.`ULxUTQ-b**`ߩJ٧&7H" K[ؿUs237[(6^qa6a@ IiN.Q#ID32Gchx{ςk^ ڈ$ٸA֊9R{K @eY:b_#*ԯpM+h`''Z}Bh d٩:?+r3A\C8ba,k׊vŸ=uA$¯OzX ofeƳ2<;32M5<03kX^ѱj4SDz(Yg]̠P"YY.-juK; QԨ& >Qj y #b+i 2dAeqLNR1+sƷP4x;!tV4Uv&l=g33Ζ<9`,4` @?/sjmͶ?w˶skث?Yu&RMwܵCRnB+OʪPAڂݚ'|XN׷'7Xc6::})aʺjk6T -vYubVJ|}{< y.8;p]U,33PkWRϲ{!4-n⭱\.*;zVOSަK+}"3ǘJȴ/.\+kjl5.YNB~`X[NO,nDFn@Z 詪^Α%VKie(Qm"ո/$)%"9^0"Kbv"o2RkNirNCVN4sƷ^e5$"05wV;:*6'KGTUxf)zZLOfi 7C`t/ZˤlsDc YKR]kz&n2;{gP8Q/tX(ͫB;zHh"ZC*0"q2lca G!KPF:9W\l];?)V's8Y'saY-EHH@"e"hB71YA_IA7̱`zAyvUpStv9h;{CBo8H Bðx1sKO;G"3w,,&GSuU^4%eջ= v~8NL%,YX[1s.DZ/i݆*.hr% |bFƐxeѲj'g3pi=lqTuЙ9-UwE7K$FDTBye":{@ā2r 8Y 28YA1D`s8Nu'ɤ4 7l,)`< hF_&g~ʨ^̀ UẶ_3~+'tJDmB\!6fC+x,iYnPu܀ْmc:&(tJr7/|Ȯ/ĸ{g: ߛͩ?z[N6VL Q؋G=˟ ’U!t9W]^ y?Y LdS?veWg%f'ʖ *>|K21A3#ӂPuu1)OH?+Hz=Cp@!9(YUÁE܇rtGGĹjB'FrS3WuVUx"U.î ֈ2+$lfNʋ잻󵳒nyïOm\Uwa5]C0JdM~%ÿ3aYy1di#4[%=zwt/8f#b9 s̬v9N TK|Ρ&'woɃAO4A`KV,?7xKe@ʠ00Z*smQsC|9亸IRtde }*}:vN˿dѨV_ȿ;ȱLLV?t\L- T,ơ.$\;3Z@TL"NW{(K` *zD:AD26?j\eG37VX3 5#YoTzaoXL#zC U-*˩cn"*_J9ͫrҵZ|& Q|9lmpemڳ2W!FMu//CS 'TstWOG.;dfӅ|7bb˹ra(5*ݱndrPbSd>"Ԯ-m}_k nS׿7&,ku+m_W*-rmu,&nXs AXO;{Ymܡ{z.VS=;NxCk>ZZ%nHc  b{%6LVBJ 72XXIqmqr"ߴ>Wܜ\Nk$׈'_]y}%[ݱCVV챁3%Z!pcAE@B5L`APnA[#M@Qȶ:G `ynL8[xsuA) -0"Gri_&j' OxD+"{'ٝo2Ù3LTaGm.cL3 Eٝ@yK*B.F; :9^'*880 lY D9aaVˬMGvM:m5*WDa&.T9xA{pf|"y%9[H䴻6=4AEf YUQ!,g"G#Ǽ=$Nfd6ݲucu$-`}8RyT mh9X "DʫB%9`6 i9ԸRuݗ.g>oju7/ |cݵԉx7g] jUcFzT6hekӝ=3[9 oP3>w[Z;Nhv~[z/{'2縫ŝޭ-г_ 'v /拤?W"DI" &R/Q  s 1#рH0m># DEr'34]l3(,:W kGASPGn-=o=)LvW5uVՆ,o.Ɠ~ɸHX'X2FcyΜeMp̳b*!2Mΰ*8|^(Z$:*؍#< A'1R^Yr6)~#> PJ9ɓ44G\K"|aas Rm]H0;Eᩄ9΋<(JPGBC6[7H \W@F6 Yd,(JgCa= GlrqϲPM~g +z zk|LD^K>Em[o^xgνuK ]E]*3uO!noxseDQ>+ds9]Mg3[6ASSWo<(jJȲ`k'O|r+xFba5[ƔWWhnpTpE{ nΫ?+]}]7T wfĹ7Cg )Sק_)H_U|'K)=^x{b'O`T.Ʉ&c34ywH~*ݥ5iw;r6휸' ).S;UV[ul*UW=p|/V}~Izr4E5p:\N5yNs1%p*'1NCF0L@P#F?q@kѺјo{#o$]sgJ̚egG3Qxk^\)jЭ,ȴ|(ջ.fäCx|MQx-Om-kٔhNxݞiߪjYnٸ;mOj⮉#bMOgZFJWщ†T{x21OjKnTulB[ᇝ}w@\ᚥW< wmQ^~uI~U<딋(9U1-@&Fq( 8 "ω&S܈[ eR}dacPqnv#QtؒXvDH$qrKزFkRȍ6WAK3DXYg-cn}ec&;T9IZTu!lQD2d\*@8_X̒ej9C4[4!@j!f dGCB&$χ"$! # a#5b&q7=LHHi< IDAT 0 4[S_E@h$Xv>7U$<)<ץӽT\ɤ];#ru}W5*28.#%au5F(z4f#D jl5@f{3'jG2 Hhs@ ?`8s@Q"NHH[iQp]3vJQQocJxG?ݲM0꺿;>WNZdWIQ1 t,X_Z! -[BZ |kkƮ}53IW=Ɵc\4|G6$'+=$DPXruUNΌͥ:ɞ:YtEӓJM|f\y7^ յ\E=5Xq=)umw>BA]{2U8z˺ ,-mIY/}l:Q0Z2ɼڲ w XJ@XH!@jrHZ!4ٯ0 5YP( |WCZ)TXӉG(=wߛn$&n[3{o웗Ӝl@l(ﺏq||~`a&.F#4^0cŇ6 MOy}40Y*&cw(u< E,? JX E<:O~k3;޲y+6)j'I3 gFŵ# )Fˆt q $M䗴nZ%5%LO/C++ψE?osZbwVg ^QP T~D&4"lԹ",3 lDeZ'@PpW*'{}I7__\vY(C;I2M,jǵ<;s'zdz[oɓ׾{L϶S7L' mSkm} Gf=7ڥ_Ɇ Ƙs-// 9<޳ne!gǖ, 7LV⚓Z.kNez%i* +L]QYEx37mMu7 LǎS%iXfD%RE5DVKL.wCXʫܣ>(;ٶfɉϷn$/*ݑdu)-̢2>y<6'CkyBʾU<].c\*h$ L<.Ar}on\QIfBQc%zP=U "#]oe* k1B!2h[V`&q36c.gǣ '(˃,,扏E_3gz]!=뽕\-x"$z%lfemer4@a9`yˮ mA)d6ϖ~[yOndg"Tz4NNo\N`X6; f1 ښerx'>"3Þ5Ա-~S2DB-yobnf୑:r^-om@rc|̾Dj9 *`oΛm:p+Ur37,-hE#[DEuF^[صOemDyܻGػW<{;0U7U@1-O* r"/CQ$(=sSI4@Ilv3:tyiIn~qCZC"C3ԶA.>/~"z"Kk;7e_Ҋ>ާ7vGG{yY궠QɶR侀@<(_$xs#sX`+voȏ$A*E#!zcLF $  9x0 6_ߞݺi-l_X{kϹl&X7:Rig*dg*ԅOdsOyu7{tNxM'olb2f%񡧎Uֻ6/h`pm'1dէ^=ۼUL`O}4p1y8Aeغ>6v<ٵ(C5AK+\.#XH@ĉ".>H *+d5C;TvlU+ۃ2qoDKiDug_d ;TU5 A%KSwÎGܘP ڐIψ:72g!nJ:a`)x"j8*f [7;H;/+9(=";+b%aY:?jpHxa%7 ˪JTzGp"+JW_.Y BZd>TpGk  &Y@'rn>S9˚feX^/N<\L(֖X:q#ɞF鞈1+Ͽ0؎_a?Y}f\Ȫ^??1o#~Ujc4]ro 9]m 9j0^-JD]BGX,0>^Б\VD$ \ոE5yH%+r om sR22WxU%CEÒ*19BeKzp@mZwWޚK|5WHgI&rV u %. x`h\ƕz..]~uB^pxX)IBvTi {C "pM. rʬR!#a26 vz\>QT)v_$( ;^ DCk%LIͨQKfZ&rtt*7*ļ,@fȡ*e)3J ʱH,Dzbx89ɹlo/wu, -n m͕~ 6Ѩ,$#82o)YWlW۴l: t(Ch![(Xm? GBٗ:AΒ':6)F7Fq ?wu_rJA8WJ4,EE-*Ą\:KQ$FF#bi2ŹKd.Pe0TݢD҈4 %A@$D& xdgJU75?y&_GDo-" %(5$+-1J:+hTKBP >OK +] eR$[J6jT[yK>uC%?ml}#ǩt2GҬ%V[Ik%q?K0>yBBȍkb8;&2HL xPxQ%Γ߅eNmbOMohgjj?)#Vl2+ dI-U+aÓN*F8Ojk^ư_Sh>,SP*"n,}/$({KtS _tM+;V+w\Ggen MQi"YP@>4y\ZҮ,\%a ']P+R FD%K$SU1ЈJZ,̜S46Wjinpe"Xn ,DzTV>,1q zB32fME'ȁF=lӷ^\.9|kw~Otyj=,[;>&Hcn ֱX]s_#C]ڞW>ʱ8?hi [1Yc.SCtKX0,-uG[B@2yDj= $8caIeq`p0)rY*8']n=IHMDi$!j*> 4+*lAHP,KJ "idO%ZHq-&ٛ! d%s2r=v*V8Q{(vpq~J] ²r=f|'o;+Owb_O׬*>~?>O.{apv,[*Lδ-ZTeT),ҥ/B\U2NJE \ CBx*=7tDŔP~7+\^^Y?O|.H gfW@/f'j|c%WF S<_=6L~.>ғj?[C2>|g߶kW'cjz\3?gټfݵ͍^9[Wlu;O~p4O.Jk -d 0גk, yE I%էĹ}mB|\x9BDnшrj@bn *h w15pV=͛Uɘ*DY2OZc@ƍ-\ tqQ0'eJ<_U) tsȔT>*șbA|[~v C1ªZ!wQA F`` ̟Z.U6jΉ]%5y/7ŷЩ 6ՄI=j)}ڕeNM 53U@ Bԃummpye"HE4 D&{uUk}b媮Y9ٖdIlpdL 03CqH30ɶ$#YRKS|~S-7{9?]\>kײ)垐(%Bl);8H2X ch@94iDW`6u%Up𮳺몊8 B rJ@T L9И,\(b]/D9Nu?>뮾Oq2L2byd'3J˟팍|2_1k4JM@s,vkK̓J)<0(Y# =Fnۺg8TV%NXJħ@H^9mE[%&'=(Wo]|l'3 -hxT$gEAr}t6KyD G; .>>;=~׮[;9zrPw=%گ|܍_ɯ~ǖ,[d믿>+wmCKPP@=IRgt3D1nr LBΞ_D"_P"zu 6Wzxe(TfQue~C^ojrRW#t뫱mWסApp,$[`uTPZ@)\ֹS[[[MOL856IKX,qjzpp;aW>衖V} FT9pl.Dd@.u>|}]k!к?.Zb~iNy.V\*ꯪ KG~OYY>s_kCX)?r {@˭wt'RsXz<՜r XVz^;K\aW]gD2ǩj;F3"7үh.FnpE2[ex>t$>rzO|fJ?yjwkWB=  IDATRA&W_}Gх X4,K'+̲Nu&~ B lq`awxBn_fp3J&s,{>Ue߇p҈;IV`]v1  @h/penwyZˤ.wmsNpGk[{4&p=^UCL b~:|.K ʸNn}A"Fwh]_m4ݑxnPn Go5*FjމC#3lW#G@8 IBU@`|WhCJ6_(Ni ' T#lG-+B"ټQy,RjuG ;tLcc5BV,[VJa@@KS$H}x?󎼮 Qr \%wvXCf nB/(jؠ&Vmzo.,`Bcv"m8qzq'~+L ,^7o\(ԾgIC&s.iYic}8]AH1#>UJ%fLn %gUtxQX z7o\8T*AhAsa2x=ku;n~)S{zo}ۡhO1{ܒK!ى4!b uJ࣬Ppܔ(+7'َ+ݽH)k:0KM;_Xyٚuu9IRd'mMD,,}erO$zc=D>rz5 IFIL<`*`Ypw1r{OWZL-oao|RG\2Op1en֕dsZ;VYZu+)%7^J}N) /&m{eFm %˯*R!U H!伒/]uֺneOv,ymB)MP Xe*xTip BGV̀K2jDwp 7ˁZBsr6#)0s˘ )EP?;uc>wź^n^]0ic(C*>%%Po8NzGڝOSG=ݥIT@@nZ.)1Ү<6v@<ؘB: rn, & qPګ[ˡnb+# ФO{N@"!}o-x 2Cl"% ABDU LUytU'9cݣH % "Bcq2IٴE@rNc[D<%a%-(XaH$dW\Q@ȔA*#rBQ GL'P bP_x'eNgG(SW 4K[&U "}…Vjuu>FQumU{>sZ/bP8"_d z/=9vsE>KS]mk"Ɩm\j噗2stɣS ˆ2߉+}'ENL 3~?L9/)M,E[B?/f /'>A\zŸ~W/w,tQ(葢!E؂ 0`" hǒҀ̈emQ=ޖMWccҖ~'=ͽK.ZWV"ҍj['5д9qӑvn}mqeZ K4y*׳ QPM]G/=+Vtzg$=a^OxgXחE#L:]-Tp*"rBբѕ]jEhfKXϓI}EµʘT=E mS@ơ(E@F2B/~uw8vS`\ }3Cgl*k~$e+t{qOf/5;931ң kS59E Px!yVF@8[ G:|ն;xg^!Ե|!}^.3YK_\xv$DuOAX$Y҉5!I">e -K0" 6fK%ee۶ØLarD8%XL02ۡ9GB) P8;@ %$PdMCMeITpdl&;- A0Ucͺئ%  tUUYYWHSE&'~׭1^xN" b<&|k-V۫YN`CJ} IRR|I|^&4ʂBte}WSy_\}˷?{v,!.XgvtPT3UĴnJ$tOLGYlM3go9H|Ύ_ .=D7)pS.>aJ噲iSv,Ys/$uWa{~3m]XH6'<| d(äy2 ~x᝴D = }eyO]cEM;ڷpQno 4IgfَѼ#qy0]Zvhٳ[7k;7PGԐZsfM>x䐊eD"JkPԍJ>Ս8g"U>T(hN1$ɿqwN4 :0yDu~'|C ̛\ x)@#"hQϩN?|<8qbN"=Ȧ ʖhJl(a0`4鲐0m4AD`Я@1_l Vq`@ 9%Ш&p-xE*``"Ib %+)\ FP%L8Ѧ@2]~3}&ַ9|61`TN3&D\7NMGaꡮhT%X#.n.)Ֆl%NBx^s7O'y[7tSϳqi\zfL˝ѝRW"lC!e@,g_mmϦ8e'zƇ{ T_0ʳ9FrS9֥ŭe&7>i}ۏ.^PR__q-ƜMR0(CG)B:5&Ϗz@~ѝwrEb$e~߿1)H)(^4G⓾%Bʏ{Wnv)Zv$YkNϞ:VdqJ;vj6y셲5괴ؽ5Lwz"JT̡攊T<O#T&)FV[LI:: <WI 3KUa>6)̝(zL0Sb(TZ=K\4i&~%^J9Ç_],8'9ėK}!18 Wcx:MQ xMDFYx&勣C/<>6 1^d՛2Lj<7wyL@*\Oq^~="^Y?fNb& ²k_Jz%YWKe 2w6s[$+sm:Q kR`iA`ap;M%IrUpBOEoˉ0K&a`[̶wx DATVJ%I+Ù][Eˆ\>|vS3Wr_G˞=VtOU|Dk>ut7=ݥܟ> _OCt@kpD8z-=lptM^]Ze^'Lirb6 x2G %4>Gx5㿨N %+wmujc"3P y`lL4_1_N}mٳ 5=m;HHa O9'b<%[(c7ݿ[o%J& @vif<$ҭvn{!?־67E6oë6=$9v~yacZ]捏%l)3TVNybdPݖB5yb}턤g F?o*侎PKZ*7гm#IkfLS6Ox)G&hTVǜ )ԾCgZ5Ե患{\Ep}H+ R Sa#T]0Q i5UCqkbuw\aCooQ~Gh>=cu,px_|tIZtõU@;{PY8}"] ٗ+[_MP쀪vG_n9}7(Q-uJjV=7EKi҈F$4Q|>Mj;t\iX Ѫm:u*l񒍨*CkL^L X4C2!Pp88)K XXOz{ Td2f>瀦#ɠfDFgJ <@k/~G>ԟ3嶖7#mW>x uڥy/qt6۠opٙqg p} .]uS:ӗI)˕_ɂD̖̩DlJ(IL@!<*$3 ^ rZ)D)p *\備("TNR @8P6 ۴lD%PUq[`Z6PV@RP pVQ^f0 c|o;_6+$y;-8`q2/&ĥx.]]F5J,j&V6u)jyBh%,+Mh@]0,Gi58Q\`3i,.Z[oW) s,9.zKoY=_ڔ &UΎx=wvk]-j,Jܻ IDATM}mш6mz+Aۀs? >ݕҠ wwu& 澊ʢƃHmX 9]_­P(ȟ}(6\{\;zHʮ\e|YY WU X[׉NԟvT<*蜹 Z5ua- f-m86&,ڭ"l[sGwg;?_@i8 ,eҼv79ޱv`b0}aAێcFJzǠb~OW:}8u6еFvr?60^}f0Z9^}{Z]qfz?:RmԞS)3k=̄x[[ \V (Bh J؝1]&Zz(48HXϊb^ncyN^[u~C-jOjpJ F'T(Ē%6w8hNW&ࡐm>T }?\0sT#Q_eE-YKݟKSۧIkf9Sxd9%fK6p!t'=wfzۏ:_h/hwh|:w, 77!z$@ƶU_SՈu 8;G$u\LUY-*P {?KLW=ۖ PIVi4pS4x--xIhpA!BA8o PՒa[ [`ጃ`BpD{,"( 0&kc\$YDd,D $&ȚcMQ^dF$A0MBQPF Dpɴ$h[]OTp4@¸cJR@䄀i2䗿RQv !+ X v6Ll V>jBWkyuH&$]|?t/9D|/~ *[ZБSs[п<"!P(C{رwٙaE״?<%iv f] R+66EBaӣHJ ȸJG/D{ G $K3/o癅{`x xE_̴Y(f:{$XsGJtϺM`kD& ĹC'DwHN<38)l8 [tǞ_\.+nҘuL+ɯ2v[L1.ks. )r Em.ҖI"TdŢQkXNFFaG>{4/ WV]D9f&J-Q%aJd Ų!{,Wǿ~fֿOCn^x^Wګqo=1msE _<}t钖q)Hu=k70"-fѫOS>5iu_?6DZq׆caEn(xaJccҙU&Qn Ղζp?T8\}DE+IL?X]r+\ $#Jp؄ zZ::=>(TJ̖/[N&UhsK)t7[#h( PDᒔ'9w8s3PkYR B$tn+c-I,AAZ":H:P.FDaf$ෘ%Q W2U((0FA?!l1B(l[!T(*3L̴˩,޸!ĦtE7K*Q.jf=sP]6o_FuK)xf[FHPسCSً A}jZD@G?Қgf&n,Ik"D:W3߭&ISTxrHe\(Ӗ٘ cz')DcEo5dӗN[&MSڅd:(DvJƃOo._jBpUӯȜ뮷9ߕofGXߛv{IX*'9pbsߖO֜;VUw5ȁ\nV}dr)C6s~Ϲ MMWGmɊ<30}b BhУ(3lAlX|ٺMڍNpՆшg͖`P^:>m:X1Ci$ !`?E Gh5$yr%FH !sVXxBSO]:JkO>b=1UT"^l Z|J@]VN='lvttcV6 f)~k5fRkX"(c{׾_?upF*cޮ\bqL6_I&~[u5Nا^8go*U$էsH2uN^Fue.xr.|6jHZa`<ަVO)ͦ{FGk9m;>Xp}^9&I @&Ho@( ?I7MbYL|t"Ud"Si~U҃aye]/ۜ;"r}^Ed"I`-Q׫eYT$PT<15S(`2%VmCH)DJ!thȦRm0Y@pJ%Ll\pGP*Ȏs%.ۜsJCU9 l@B" ܴ#y$M!&BXr/K~GWF"%dEv,[ؼ{w8Pp)\:u$ :"a>g.mD&މ=o~Ͻm~RnϘ)+.m->EWG/D^xtEs}ZfƘ1…z~&@W`'l5DN!z0R#-A=M7ܘLT?1WS30C*==>ӄBrr)#y86BĚ1b ^0&,UD$:lpŚW_]x٩N==>m(O6ďrՋxn;O˚䒱 7]Ѻp`93Gr<^86u5[nL&'! \5b!y!~FJw/-aP?R'pO(+Lږ͗8Q߳.1x0y\{8,$mJZ=xG&)rv(y``&H2x[ffǠHEѶP )!PdJ ¦L:2ym =M}bd0 >T&®W 5;.VN !Q p up8YeHRyk82y J^y,) MLѽ&K2*kn>vbeIvj/ȡv8=F~N_WKdsT: S= _S@V4*Y',yxSssKGKdXE,LnMyٛ?;܁'_#;g _b+kh4!%tJqڷAQ.Y@IcL:` G'<Y ΎͱTI7qc3ɩ)K 8cB"@3CCl*pPIҐ{)iVTUJJU*&Y䲃T&Ẃ`A 5McE\B$vIT,@Wv`\LʵF7l8"WtJR.[ RY%*I":rq;E)TD y"涞jףeӆ;Y,YpWĒP9,۶&b( g2c7/&uB0]v}~" xGT}RtJmWI&fTg֭[}L:$ klE+'S_xtZSp*PNO S_ #d{uEyj*ruˢ]7c83Oۊeݡp̎s3[HvS3$~th=;M?պ&I̖~>yV;=]۽/S7r'| _(nxzT3t$sjdf:խ=}|3d-_w]qhohZ{Kύ;g4O M6ӹBэ Ķ7cK?>;p1{e k/ް2B)::d5Gybм1ɛ6OƢ#4/湏'H@sBkCT\n:Yd8X vuxJ 2K- ˞+LÙ&xlۯF@Tf/т5Ϝ<8zagѩyR7݉Foc:OjlQ)ȥx($ cU&t6NgR鮶D:Ð|XUr ٿkdH\U̵^OjVDGb~ߋisZDlsViBB>c\Chf'暥MF S_qZ0RP˗gљ\9e ᡑѱ ;514KMWePIiŒe*ɲW!S% *H:Lٕ1WU"^]aيBIdl]QF.QMdIQ$ɲ0.m0ESg[S"T%"lTTEpLlQ~ِ~;}JYuec+޳9Z@^߄*~nyǎIK>_į}nmmS-8V1J,AZm-5W=G&WoV龖ȑ;xpD0>f[>uTh-rL<[ׯX̐R0tˣ~|謶Frc֖be >=tvS Ƥ5Vk^v}ƅ^ek/\s;VpQ#7rG{iuP>}N?P Y4+NӁRko'VR +Ս;FN<m] Zӱ;hA6*iۺsӴΜ?ӷ;+մT7ht־ַ7FN|Ș}+'~%%(~MVfuUTveֵml/pE+K,ԆKӶUtP2{`]k$ hm6v(ZH9z(-(4΄qV{Q[uk@ bz򶷮UkR cD׮gJ,9ATjv)Mɠ&6 (AcPjҖY 9x $ \EM|0I ^ kѫ yrU@`SN([K`Uks@ r|.05p\WMx K˰ w $aZ$1,M`%rb 3@u}mH|>ii Lh2ܼ}6ݣò}{?_쿘SMl!J@YXP pXmEi@v9 Q BN(&p#.ϱLQqS"^R9!#뗬w>WxNk+)J/s!BrMYJ<^+C[ EO}0b+:Q>'>sZY|[ZS+Պ @:2ܱ{{2@"ћ^kTxKVՂ3-kҦ(TnXl>L7=Ww5ZKG^lDj^V,[9`㎮hmصVf\~cW-ozd̏L{;/™orW%SsE:" IDATP0< "%Do(H>=򅎭 M9w pHF7-ax /KB<̎ %4_-gn2i?eA 6kzLU[ze6l SM>$PLvtf߹XhQ]FjR^G0Y4,h29$(+?L A@=&8L\C0.>VW:Ks$LWė%@ڿO$.ݛyO\4= >0?~l~!f{[CԦh%!wM1WU׵MQ!Qu݆Yf5]PZ(WXP˶׿V&aZH (kOah~Nd # kfe_#N\!/V6_1G >./_0kahY2.k4yPܹッwdص@w,ɛoؘfs:v,5EdYU>Ac,BL*Am-ic"+ٜŅR)P,P;0\ #leܣGEY"g5,i!$( tS'ʡ5 j&[_]QI`έ^ sm3@a#X i@0`X ?3E@8uhͦ90| l6K@xdQ;EJ9E l ۼG0AKY.>"Ze]<_5>49Ĉby 2}-Wّ'pêxMkw\s˅SCg?Ou?Jھ& $lΩQTٸfMƼB1w^liD_uXG&kjWV{Vmuu8Z m뮾38^cM4pw*ح+6 jV ]mZ߲qtkcDZ43n2қd֮'y[F<!ዣG-VpɱW.}|Hk)7pbReCӪ|KdlNnxzf>/NW E1z%Ig`/=2?Ku;տMd U;֧ɦ]e {-*x`sbw.4mZQ.& N@ \BLTHaG'/쮲I,e:V>90Ζ?M90\< 6p0Rk 3I Fz)JQ@OWu#_<́+Ź*IeQ]o{adD kV5'ڮPd c~޳T(FlI#9!\u`[t+C}9` U)$l6@+ˍXWÛUZڞ.Vˤ|G#Tٙd#Kۻdw) 0LJ+ rMJ'|~TnlyB "  eZݬ^*px\ysEջ+MGLoכ- O܈njÛ9תy- ^ct882gaIikhBந D?$J9[?ޗU|%l:ۙ9R~?z2[EFO.kCOwfΏ'Snj-op^(Dh.FriU)B+O{x+kzv Р( ƥ )pUP+OؕRɐG([ Z /zT3LcȗBYAD5"b5 ;)^t&*΍-&ɜ:]W5W7$+9ǶSk6A-khtˮ> U<5r$mtvq ùGDž0)+uoQ8 sc ǥ½"\yT'@}zVKUc @ }pp xQױ8f*\xÖ7yq&&pە>B&b[;  Em9q匚,a|{>Zrz~$`5M24mR.%CAh(] &**`l:8Lsٴ ⒬sdQ8瞞IupQ0n-j$Rhؓ3sNvQ[l*"$ N;ͦ$q!rFmk0ȁе"4Sv,Wo3A^*gDt4uzr@UYqBd/jN(q9pY$NZ@E_*M0a32BA_X^x4CeFP\|'>CkTuJe/CVPɧM%㿭/|EFB,P 7_'h{qEΕU׶n::}]2ٰ'1m]4fFÓ5:%_kTC3ry{/|XZ ރ.ּXΡgd-Uvx`vugzo~STMmm86|[o|_8 ;{+/oqH_Q69|sО8>w%K+7DFq\~z,j)(?JnKͶ~h ^E XpTW֐h5`lR๣.zc{ךb1B?OǞ 3OV[o ۶͐B-3%?nO'i87dϝRksp5*9ht؜wvO6{X)P7Ė$+V*,KQ?Khh)!U2>RZO]|Ugc"C  f~7ΡCswxL]ɱ&+4B m).F=9wѶ!TL3}1܄]$Q[SƁSXHӈ ';3/}ɯ~M-񽡠 [[ 86hZ*M-A3zy -8Z 8Ɨ K7JxY 'HU2; ~!u2;mw;<|AO9C_LU /Ζ˰ؑ&6^3AA|8FӽO75˧_y[0fL ]=HZ*ukF¼AE1y.s8kf-gepM3\򞷿 ^}s ~`~]s=ݘNS݃Kobp:h3e?޴c'Mq"j2(St'76؂/Ŏ`,w!8U'> = A% c1qIhGGvQs1X>ׂ=[/ž}gW\e)Ce`pZ+rXSiDVvG,,ia#JgFΑɆÃAiՐE 騲{bɑ^MEuQ539wxOac̷uȷюkidE&h{9+Ga,[/G.SQW10a4- O 2̔wk %&-[qs_Ğ(V#A%H(i.Ʀx90FBGG8L!5 2DXX`$jX0LnXxq%JĩȚ⸮}-;7)sw)ul-p > (۷lnpX`#}`zg&S)I"# eOݦ(e` KDL|Ɋ:E*9B">0ĩ%DI,B@&sB "қCAS>>(Sð_򤎈BrD@ǁ'`U]`et{ /r? "@\wEǫ!*DfOD&vܴyRf .ǝݨMww?yfrʫE-u\/g'F DHb .1-hu4Gi߶Isi]lsL 0}uG6r*970}jCwegG߽tJ# 6922ܻSmcGN<ݗJͲۨltTȜMՀbЫd ^,>*Nyn4ꮳ5L`)7m#junL[;mMUzJL_̦}kfϟ&+Wll\0=F0wu#g>-{PVl虤6~izu[lwZ{Eۮl{uZy:k'=~:]kHb47wH=CO խw}#55v[;23pU7+5cvpɗl]d:*3'o|]k:r.!2;w]q"Ci֜oM5]c9%\FUع+s_ٔjk6hi \%29~6q^/o!MxH5b(jN5]<0k3*nٳY-䏌ͻHj0[ʥ9-=+m85stLN5Rd΁kʣ/lضhD¢(Bp4jM ۨ5J`Zm滦竺SKR$K|K_}e`"K0ԖZK%p*MJ[Tt>LF1ZQQNDIp=R?r{Wl؛ ? ?,}A;tPOUX&օkSe͆G^>:qp&*|{Ϫ/Z?۷ڹGMZzm{zxM[L6OĢ,cZ2M"f흊Ӝ3lx{ņ-R_Zqd*4EYO"<69SYxĥLI }L0JBj\H& U ^\wǟFjpE<ٓvm.Au5VkZם;Cب5kPbkw͖y0hȒHxL.1|K,`GWʖJK> ^kC+C+wrhE߽:S8o[!aAı&woD=pxGx1e=?7wg,j2 ,'Ⱦ咴 ʁ)[zѬ-o*Ba7MU*oͤKn{ᅖ ~R+yȣDY*z'={u1+NP\wM(˶U8:o_˩u "޺$qncܘύ_vM 㳥WsBR?Bwl[ٖȶT%[n!.\3S_`S :ODٜ;?V?p. G#(H6'gBPic/)P$@TIpibL:E5 4?p-XbXB3 G tIEБ_8Rtȣs'Dh=F be;]2q{Aa*sC-d:ԥ ˷u%}mI-ȻLpvDy|]\}olòmE%8-"ucѬtzDPw&yWb/B13@8pEUZլYTAUH*RY\~ 3>O i {\%ƣ0˵E5m{S="o,{2]SEIWc7`S_ ;[8y}[$>Ec23"AVqUVw B{Dyώ|C|gal6GxkuLGrSz啟Č# QN>Ƃ#ڦbsD*s]HI:_'"ZJ\qӖk˝8y|>~|j }G?ǘ'S9V2C91v'J:trꝭug篼mpfd,7\pzhM2gfiaQ?DiVkꖪJfmX+W YIfH'&d-M&ͺΩ}xxۛZFm"PS~Q@WGE|s57kٔa@6X Pvx@Ʈd2!- w]g>kRXp9"}soq3pf7I7\#D;: 8"*c JWD( ܵ\\L׊2®[\*CB1낪dsd"׊JzY?:Et(ڳo! `yfQ{ h5)eew%]in,nw r(pA2wo?}[S}ч>hD`!TAUT)aL}D5IIp̏M\k[%hሖNDCִݦ:0A1@ϩ)`||pD9SϧOa]luu- a0# ̀3p"Ev;䎻nʬۆG{6\ݳjb H]sM5Ep-ñ w<ߣGm<ag^,3L{xn|zn|;1QĀ Ȓbchvrvvr֬չrCK CwxQrN0"ICk֯ߴůP=WHf#")*51x8W:,HvcP;a2=0mt}W%B@ﺿ|߭̕ ;(Zk&S;?i)^xv^JLGB\[ /[xyO8w;yŖ嚁c>=vύkSo硣{|O-6ţ39?+#m=mHk:bR-7nrplx᱓9z^f}d ON4pkzZ1i",’" 5֡FBcD$ME\i^ eMz!}ZͲMDx*QE!^7}0Qe!:\[=Pr/5ݑ|nܨsTn}E&/2Z%`<Ͼ5ŅDU[^oVm' g;zVJ`H){̞ػLڊ5 !aTƯ\!6o- }ѹ].=PD*d ϕF" -N$12\?(\R:Gӵ/l=QI=>PRT&+%Pu[քYx,4=KGK%q'ZVB+,m6Lu x8s$tLI Ezw=v}"$ǁcE YVRe" A2g@󀆙`Q}S-MF>GƀAD ;`s G. 0K1a "j-ж& D/:1'\b8$F o{ 8=nUz;69Ta,ڶ/RVh-oj< ԎAݭo-=q55pdw[fjΐ aT7+gČnHtouk>rflM<\) Gu8ۧ (ϟ~;:oVh; '.q%%Z5p'HUtQbPYRKoݙ NLz.m7;FbN̟U'3<{ɬٌφ?L͗FOTa_mݾc%+#Pep)oX<<*\wXXÞGg"ΡfRnB*v|#W+?q}og\P  8{sSg5eSw|v1*098f Y0:ɐ=6K]H(pI]X(/,?33=656_MSDaPv]L(Fox[W˴"2eiw]XKWFkYg ^P_!h,- 9zO߽Z8}Я>s̪!'OO _ԏ?ok4>?So7n~CO`u}+E.=ew6~$wzٱy0KIOfd˾6Y^˵SN'_Qe;ix+< ;?Skzɗ}W xwN: y3qסYyh#֒:bVfv do8-Ú9;˴!(;zǪsR];IQ5g&f2i*DG@s yʘ 3+Ve+JyZ:r2L?Lէhq'LM~g+m^Φo;_1Z&dz+o8h@ՇzƑH uH:Ae6F2a6n?xWJOlXG9<ӣP[O7ŧ3dy P Ț㋘HBV% C" n=wt6.%a3fv2F71,u}cVybHwz>)U{on5bN9ܾP0=L0aqE,ŒG(o7)6ppW% s܏N.3d|)B-IП%%l?_KHW(Sq Ǐ<_kxQ7M<_o,>5\SY~7nFb +Z9kZc3!J"$4,I}?HдMCZ}#r,! LMv+T2f#PtSQ4e۩Km vA"I # T$ @bW3)'Ss[[hz^(qBQy L \H 9T5O-~Dq!R!* ^;e?eQ E!O #$`|c4[ČHrJT1ƄT"CO0_x:Yl~Ϟ8w]U "y쥓c{g ! #@7>>~,/ň]ajXskhD(m30\2&8Qpq6;RVц [kr1syE᧫qın0MAV{^xS}Вp|bאN'Siwf'Qk _Wn}-?)gBro߾gb7]w߼׼t%MJϼ|68gXyՖ5s2F! '`ؑ7bԄuGi1Wj5ЌէA,kBM&nm=3jh2 DzHRxck}b>7*|S`634bg3\Q"5`xv6 DHT-iZAT98Ss`vb̪'4ƿ><8<18aI#ƉB $BTXFX%* [T j$1& J,LQ@f!c"(fK.풄"B BK۾TӢIH*BU s!D?x{Ӕӕ?gK3_ED nN h.1+ ojW )L~//6@1 JW=q̘Bma ئacoqLS_j[t[^|prNbw^7Xk;}s7欞ԕAgcei)LkkU+7=x--)&Ueⅾd*%گ*랱{g~=s&r뫋c j/s?|kM驛ubJcdy? -O.vuH)f dVO9|A IDATӧuǝv/y/W]EtGߌ8OwѺdv׭…fz)(%`,HɅ0B Ie$8~EjPP6a9<s3K^N2Yb&,eNR@/tg|2]^F#c:Ls~eaN\ G|lU Oa6I5Vªmө鉍ũ=ֆԡLb y?8FOwk'qX{s 㦷$A 7{kQrA^/I NHs2G K2r3V~ YzSʎ>h67^}{{&:SQ45_?ܣG.2cGAiXTF3֫Sqw]QsUG&DRAQ`ER=oب5{^zX̥zvhtqEm$Sتf/MوI6^Ox1I}r/7fA#JxîahVvI}E[젩`i➔MC\ao}́ g?N`"g抹`9}EA .@p/ϩ a@P6 ^>=ZlKW臭z[~#n-_vz;v/m%v=$¦sPt)׼gOwL BFTnfEqX\lb"gd X)%`9 (GawumxyʖO*7 L@nWV J5.RqIǗ ZmERfBĂ擏{h7Ӎ^u=|~7/ MNQc@ =/ "+5fLljNM A5yۖ!,1)0I$3ΙB#7Jsd+M aA_~ IUT8ĸ  .]L*T( mJ"wK88!Ubh\S(0Hb1#u-Y@!$1B ]r݁I2N8`A(gr %M3~0SzS"h&!*&I6D5SB)3& (cPᧈK)'+Ō #DX8Ov}󦷬)أ~KW @09 0`+X$|RSm*x?c qF6R3t0PR.GRU3M,wm?{"Ʀ*pT~SZQ5"M* y 7t,3klخ &wɽbyql!&Jrf:p6^Mۀy_":Қ+[_Ե7ZZ\foa#d"t#]%t=/k0fHSX,7*L]\7}0bgs#[Ga`(j/N2Yd$"S!`B %ǘݳk50a p>%,"8MA In:˶"$BHU$i G (A))jSEMPLs GJ㊪#jr{&+zmss(VjXʥ%XJ&t$\oAA\@Tӹ C@aYםRQ(J-337W+I*T!eu]Kc C8$ H8Ob&#TJ+#Uyqm[rpc%1LPI(Fe,$`05jt3$ť_aϏ?YMGDwר3, ylfOl8%S 5ʼnq*P)cIdF{αO]بMN*F6b{Ϸ , ag-]lRh]¬B 嬲ž}כݘ 1muj!ʎڬ'|Mq}{oMgvX?ٌw U?$z.qGm%0UjQY~<)6f[&Y04A[ ia˫}dǜ,Iԭ$[ KXr`2U j;0kku1S4BMK,4*s Ytn0D>vTU'J\of$T(cjL;t{[mb9Ө&wpegT滋t:Lf^[s8 n&aF!vj ;o3kbtcu}' ܘ* 詋M^8۽f96QTٶ箪LMۅSj{hui7"Ju4b9Cwo1ngV[^͕0JgeΜ75b:kNJLdq+KK, fI\OţIr_f𝧎?կ= =G_x!INj_NX,"5ZZ. Y+Q9cݐ {ő7I  ƄuHA0v(D BX(fiN12u;M31LQ1Tռ4fvISrI8嬕nNhZYgmAN䝬ؔ EDQH$| ' dB-;Y_( -Hu-c tܷcH{vvxL7JĠ'&j~1DʎFPPf*R.tdϯ414 8)MЃ؛mt O+7z0S~w#'~;g_:>LW>::uU7V?D?ܓmىyiINe-zJƱЈʹXhհ'y<;=a+(k(Z>sak$EZ& b\.%BQUpGAsyy^?G+4jqf*gt"65(u*+q,|9p+X BIyW||[G@D񇿺L.t{7O=_Lafvz^:FNm~3 |ŘNm2c*"ZN0- EQ5-Mym` 1 D bTDl8qĤ tm;&\`| 1F!B T Td>Pd%TՄR!'ҡxf2'V%/(WRjkӻW7VjQ&qJ)V( X zƌ p TRF1ÈΤFq$8X !ɣxISz31^"p{7 D H&B("cࠨm뚪C 6sv"S0T-RAT{R˫ 8K/[n]_)3TF21 $٦T7P$,I83lEqh`&fɕv`Py?j;HCYߗ D(z0BzUN/le\>~IjPl,}{榯s qNTzODH>^x[fm'cJTTƊ#qGAǬްDmlu< 8fLp,$K]JJ [aI!D1fUU'L IDJ1!)DF4OOXfTUbq! HE#D5:[=>C5[BY)`5NL!a`,9( A#.Vg)Q(YT$ # LL d)ʘFRy\Q%w0(MA$9`)oy1M-nDUCĠmF>_$1"9AK(0dA8EHI1IwsjG8I7n\sbF"׼5ꣿ;>(_Ïz{/ cS ݅` _w?/$ >V.B6L va SQH)A65GHQD$<Б;o?G/N*v-mL> z RX"t^L4EAD)\4@\"X*g~T lc}T0%ouҺfk?ܧϜ]>aZP հi$eLfTͩ8#3VR IDAT3G]rԈX_٤K77?g8uel2\mԲ(OIbP@ع\/54%řW1|Kj<hc3z-~W;8c})WV<7nj3lf,^aS^(rq$n9GKjhfRvvԤѨ/4-D65d2=ƖoXM'w5H&yb9l?ZXOQgwWqpʅm Y\lviŗYzP[,tu vbzv[,/fu67_/ISġ]7s^xown/?{p+/<۫yDO&*(KƊn0D)3LH`vDr*k`t U֓aDHڠsNu !& ^-8czi{+GWO.u7lC#Vg(_D4S2wÄ9PoAHI.)[|yo'Wr|ڗo翊18qăKՙ {oyGIJ'/߽|S|5@5 7h7GľoW$@1(p+MHIB @ U[9"Dؕ# Eldru;f $Bh`eXpC7`] .TswRIDCya:z$AZμs4|+7f$);,apd:dmk*@r g Y'&)2m AĴm 0F^[]% q'ߧxFV>H6n[J"e 7a dG|p}?C;8߷dgq5I?t DI4C_G``00L RkLFpzE˿B>.hp]GiǺ.% ^\_˙ª]ݺ$cىTQ-.$B-mg|w}_tfՆZ{u=f#Dm+t9e;u@cmoga/;6lbp5u ~aJibBm:z$nPKHYn#}7 QuZk$^_l46t jޙJ14|WVU m\y|g1;m+ڝbىmQ͕D[87cK|1VtzFw4ꚓ12f> Fղn4L~/R??[d66*N+k}~q34`RG(%G9NTmde9Nu^Ya|5҈Zg?T?W?x+KKkן]<݇JUauCH)yM(DT]՜`лzߵ[-7 =9+:vVSUX*AtVEq4RH8% x,9 M@>_;e T4j*5)|.x\&cN& qnH'W~goG9H৲I[A*A $!G^_,\z2?İDO-rw݈"yjz盏}幧{ϝu~z?s)}.cLD0KxT R-K34{JeIvJ`0A@HRr+Jt}?Jo5A/6ۣie]36YcϿDN?X5,T;s4[?> ˋi2Ĉ:r6PPl0U+LWI=}z=,eou}o]{No)vce]2%!٥%\3#?PR(} c20DOQ(ݎa*wϴ7]8CMQ h,VX4o";b(iT;[KzaX/2,++n@A FP/ӓ'ϗju.@pD^h~h;g6;͂UՈ@_!v̍i3>r"kX-o{1sYWplQxFfy @NU>O(ov'ֱ|FqvN1+a6/:wxWrv#'_LLeo>u۵N<G<VP\j؅Նu(`JeIrkz7=|YX\5H$Z1rtE (KR`S6)"ٞtd"-hO,FMԱ"1cRY_wHED^(>:%X y^R^+}cj,n}ˋ#~ʱW:g{_ugbm223k|J*$JB>H4L@Gh iĴ  P[׻s7ۛ3s #:{7c?lV}Nyk:|eqh9_)JsE:YFD1& h8oH׊JtKuIJezaIe  * !JqD"H$%pH)A @ 8K 8YQ(J0 ##r8Gy{K:Zl4gq7޹q5la !;㚦c92Ew4'+xy=\ c{ %!K%y$BP0($~ƅM|?JBc 4GebB *$9W{0F$`!1Q0nnA#ΞU~'"2g(rΟ{^:_g5LP'eqZ2UT@!)ظɶMIӘLr%\JR ȲY0S5UrNL,Zv=Z4OpǩWV EV:z"@#;]PgK[j&.$Jjo7vFbQ.H).A<>_>5azՕVi ֶ=Q3ȹy:}t`nx ˬ./ܸj֣wn",lkño ;$46PɝGZK_[s#R4Ds[ yx߿e)>OO`9t~7gc>TʘاZ$JYN҆ c&q,`gy=,̝ID`SoWѭgd9f*|AL3 !@aʩeG$#/P*G6TST]Sսݎif"X-{lU1.x+%b])R |,|;,,wnozxoQO>׽mQo}6&97BwX~CkU_Z]%+} ȾߧئO<^*>3WGܑ{^$~w>rБ& DG>kK'g@x&)BB8H4I%tc?=+lE)XG.S ,HZ'r~@ jTr[\i4{jӘWnlηYQG3( ?vv:KUٞ{4>ykZGNfS.MԼ=鬶n,4:1;[!%[-aq{~!`b{o"5k[jn{0&,N8 Rgueм4rY6)a3o+b󊓷P%{Au$v0 @G[Vs.9G5Jr+7m-趴\RV>H4HR13>7w^?D{n2z/ǬDɷ=j.\zsP\*#G-e"w+*fFK0*BM\9U)'9@ϮV_(<s,v~0sx#W_+妑; KS<\/4i|N#nb^+TIҘfRwx8A MvvE;9lVo+JL҉2ݛ!:Xyhn{‰&P8TpC'o竏>sױJIg1$󷟰OzgQ冝%0pMsJTn f<~5v]$nX+xH,={J߼.QxXLU0(BTN/_谒F:UjYnĩoUEH9zK`n0V)9|niVh{(Lh I^v\Xl7sAO$9񢆑F2TȔ$wF!^\&$@ ku~+˯[mݑ$+ߢ ߧ).|n}}hsRl?>AGY6Xj! b>?ߏN @Jba99[$eZH$Q(_o=(׮X)Mc_ i?7~_n¡XOF"_|3aj 2A̓\,wdBȉQN͆"KhYxĒKY~λ3d{oV+CYiLA +zml2̢Bw鸵l+uLiJS}%OƑ"x, FrKq ,{a`J{hUkEQ!U&*R则_ $/ً$F ymEӌj$ p>q٤~ꊆ1|)  \*%V0aIBBc7i7jR퍀 sIWV(;TE #=`[>Y!=P7rb{LbosodK<LY*:[z~ȀrVo|+:^Dgqٹjo|u:ԫ9EusnTؿ vGu]dzTh (*zΩ:{C 2 D&B,)Ig)/:ȊI-\Y.+|Q~wH%826+P%+#&$<q)d" B{-ܽ\;|.j-=3ފ??n. ciXIʥYQ0 "CG46:~o莇h84O{q@AJƄ)Y)9DbP,M ܤkK1BJD HFRAAFRyStcDXvcyÚ'}ÌǏtBDtsZ5-Z<ۚAxȔ!1łR9PUJW}1'!%R&x?$dY D"Ȧhm[M\`MնW{"1FKIRjH؎UU4J)cXcБ`*cR (H q J1&HL0R2'/]Kjw%]8v.\EMopz=y?4Os !PuTžfuGN/m^E]wE)FRd1N~'.Օxz=)`zUwk~1=Wg0x$wC4"JƋ;k㗮{N>9<3W>\YFة6vz 5* d8L4MHƓh*A_xj%tED9[ҹ;-Bt}R;qV +t ÈgT x{쮨s )h̰(] }y˅{gI$aU^b;f/#/^GWJ2$t^.ްY*j #RH’f~\7hZX]벹ClFy>z)3i1RӨU Wo4sR+w- -k7^sT%1y!{^{ 91v /?pSJd]3xgοXUͯ^>o.8/n{k?o> HIfJP.`"&D7 j?UDRr?c525lX8$Mׂ @Ę ]PX(%Af˒aOdH<h3C$[ lvs쇌ݏ<ߛ}9&ܾP-`HOSnFtp0[c1lRb1IST9 B3/-39@ )wC؊R`< Xd h7gg<ͻO7j-?| RLRX9Z[~Xu3.NYj|Ο{^ޏ- ccVrdQE~CgDFK'O̒FY"p83AF-TW"Clr*0K N.c]B^x2o?>ڮfÿ:rE$.UL U]=of`b4%w- t0}_K W_ʷiYONMk{+/ϝ^ǍęM,렪Yq)3(fйʍЭ,LD937;9Sޗ弭ZzU,L+T$US &iLAmJ>CYHԲhFӛ-u:;T0Kdzk|.p-/];t1 8~_2f=<H!Q%2T2F)F<Ҩؒwk۽PkzFdp|NlvvV0sHhkLJ^*~F ]5N%4g54t$q |4 65 `c&j[u* Séh7FIj_뤿TmTzfd* w92 zTqޣX " ˱HFӟ LC'Ox$IZcÄM,ӈd.^%_~Ch04 ?3v^y[+oFwZ7ckzGbbяUU}?t:Om7 q_j֮_@(ZhZKo0ޝw~~eA2쫔&IX3dm[[N;tO?~zg7ή7 ֫Z*aH;W^8c5h㹋+O EQj[~Bt翢V{I1wPV)\P_m Hq6t&c"R4,գRѴJǑH,t rnt63 BN4y"%d*J9bBM8 /0өDEF+Jq'- kgUjhadZ?lieRGf{â"PA劌ndzVrponzw0ȢnEL}Z"4-4K)saL*0sՍ7ZU!C-N>ߔ8VߌAqZ($Qe~"8CV=3ii0uH,0pƓZd0tVPe{mWJp1B\z^X/Z483*i޲w{xr@TɴZ϶, LD^ɟ@cSfk|kd (vc3i<)__Ʋ< Hr3'SiH{?.o7|T攻Ozjqa}>\,!L"l )  gJ5Q, KDA0(%eLH"RJJxs$@H? nR#_~$BJ,a@X0&pB (xv>Txm4(٭I‹$+DjBݍBKc!&rkyno|h8}׻~x_m_v0FX4{ٔf> `΍>W쥴'o\ˈ"Iŋo֭BdύO4c\r7۾5Fy^V^JZCtjEcpi(6p :Q,jUK4K3,a*Zl &Å}`aW_ = jnǮ ȊÆU2FBk~6]T[t#8v J{}RB*G~^Nb},4*S5=1rwXSSUjRaenH$ eL$~pioc) a,8wa,|χ$eqFr%e7BLĝEIݤZ0\a{oA*k+]ib8zY 8uds2 05$-*?5D'O3IETح;1Llv E5*vvIqh8HE ]+ApΉfI* `&C `RQ /dʙ$3T2sRo$iR,L$ֈ*OMgaflTykBh{k~ߘ_)w?ôFgk{V(Zd4 BI?wSn ؃$ DJ|q-V?vRA#V/>j?,]q`f9_.r,~"C3_͂@Wd5ˠ!cIFa`ВiU?y*f"E ,72xDB%"omBF XJ s.J!H,'<{o=L(*.͗6w]NJci9), Tzf})۸vR5Dٟ2H$'_y%1H87$c@:5ge$Ƙ9isa i%{.M%IϘI"X  ZS"0MU]3jʩ&\f`&H &HH25]AX',J ]QT7vq#$ qݍٍ]/ 6Dkۤ}IG|9]/6~đC=c7Z3ir>4RZ:ʧ^HWrWzәLwW0Q5 ݵJ:y罺T'/H/%t۫+yۏئ3{Mp~Ij@DWrKR͗Z(JK׭2Br nYEIV)ֶtwraԛ +HD`iwz;UR7[߾^Tַ0B$S*x6 Y2C2OVP.oj!-aa !E0Ky[mQ))յ?ze-ƽ ,])ɘhg5*ϤQmX6W:$5k3iDmo4I"(HS]d Bbt8 1T-א#TNfViږ4nwtp9vF:NcnNMXAvGԏ+WjIL:K7`\99sue}GRi2ƳSQr 4TH Ln $\J>ocɩNTp *0@ Nӌ(,JihKKYZ9}&B۟yQ‹<ˆat ņ^w{ CޚNzť/=@0 weW^wky)LiʑA$ 3TA;=O'5%R)&4( Rb*܉'8 ) y=7kTEa$Wt ̼$&4"prLec8B0ĜeRJD1&̕U@h`! pχ8B|_68vΤz}kmzh{]O|;'Kx_3؟`: aV7?3U YjZݻzn}jC7 |BR b I4,zjT-tv=o7'$oc_}{~g:RFug2b\"L7VV\2M(^}ON=o߰%[8sGEZSl%Q4rY|$φj-nnsK%jm_~2 ŵݽ΀vgfմzP4\z5><;0qZ3b\_/h-. IDAT.^餉 /W*n^VJ(f u#Cf櫵4LQ'iR}'ŁMj=Cu(dezHY )=̦(l؞y^\0 Ε52wXE^wbk[9/o9T!PLןyڭn%_fyEVqVdE!Y1T_dR xVTEl3+&K" ϡJqh As-@"Ĕ @di a* #2E@R)%u`1\yXi+{TG$/ӂgٜ2/x8Zk g6'/`jq˿g/zu<2Zq 1H#RIi 4B q4YRYeLVJD@0Pzt4/R.1`0i^PLmBQ;tcjl:cLq5s,- dQkwm@*wGxK/_oW3m<+jE̓gbuiw~Ŗ {4gAUJ8RSOW5wES{#gV+^ʳw;qWNhg(v+ 젱2j zA|+%-=O+w_amel+Sr/ډk/|σؼ؟Xi~?bl2Ү-Zc?v>Gu϶ݝ_[[S,5~L-t4?ͤ>p8҂:_iPٌ3˧kӻnB4՞VoYbm{_m]^s,J-̣htz?-o{zN*O U)Xr%^ژQ/_s@``nܐ漠&MzN'^CtUZnrs6+}\qmf$ hN0N,5iVP/Q=gzVƇ.i2=ZqmMN,w)^|~ϭge=w2Y"tJ8G۔B;w`o2P2=T /eP(fض $4궂־U+] Aw4˚ՊI&֙Ru0lu#$&kZ.,pSgK1ߟj6aKW^+K_թT-⸐ä|(i;DHX[ǭ903oc_K|xynٯ}bc?#?Ѩgi{@P5)̧j@Q#ǖR˞ABe(A BS9 UJ7 i&JI7:W*awm(0J4;oт-%!2"I)a Ę!|F{v? Pt`L)TB :^ ((Ѐ?|W\}K_zꧯN%Bd}>OX x{:t8e\_]o-=_q'*kTduw"SG^e*f5eQ\6JQyThs[WVOB,Ay􅲵 ]N͸eWO b8bf: g!z0}[p_%jxau󯺄ϟYi5uٗꕥ|ڨIuKܳusW?!n`^v 7wDH)U:_;{/^2=k.mGlFÀw꨹.D<q*ɠFų9yPX?WlV 2I._,񬵶{8=]X2EjcH*ҪewWٌg,͆$d*UB]}mo *- 2&37t3ʪU,M,T :erC8am98A qp8629,ZL"ڱ ($^A|[I:7{W["jȠ,Km*8 =}Ɛs}4I独,˂jhUU䝺G=4\̌#KԢ:K-PVR|B%E4ʹDJhU")~99FH 56kPD0@Y31@DYJεҀJkK-1(Ơb%dBhN?|~`m \uk.AR*#,;;? +']G_/F5$.+*Yȼ=S5zDc晐JeqB}{?oΞ<6:+;[u^1X?^u}=<bٴc\'I%ݷ՚٫v+Dz^kyqf[r?n[3_ -Wpi?F[of8rj-Nml%vuߙ"eA}lL8۰N/Un3KF#z eo,nشRCh!JKr 4.?w|χXk.e ;sη^gU}yRJ-D=ƙԈP@(%D@xX̣l4.CJJp$1AYQzH{ڴPPJ0`-0T XkЀR фa2ԠcCژc0҆b1 († Cu@LJҶJ~Q c,Sj@j JId ,1Kt_^w;B_ ::jhP9A5p+\imy+al, ``HP-EN@QUkz=pju.JT kQjvI"ϤAU0Tڭ(J @peZȢyJ1Bf  e3ށ Hӟ!A[u')'h8WIf}>ڭgᅱO~>^- 6}^r)gmN<%IP Dٯڿɟ~;>qBmξJ5O~ƕe|e@󾏼v7:C V:VԹw,c=Tܗ{~ac5Fo$qN8ԧ?ڶMqtG[=s0Aˡ^Fcy]:㹼=\\ݾ)YZ]Σ28omݞpY=wCVځYlhvbk±2Y!;DWoСƫ5f1Z6Q2ZNR<ʊPa*÷FA=K-%/ %vƳ#wy|zME-y(P]1`d Wr6tWn@kB,R Eq 4 kAPћ'"elb)ķotk$4 s +J]+_ DsLEſɟV>v">;ߺ7==|;mczs{xc?VtM-|Ƒ/N, ܨ9ባEkT|ܙ7Ae BhY+;d9|rPfv]v=kw>vs]*spQ۷.\|(OvohŃb<2F u}5Um,wal<]Z_Sn%/XTj|OIunٮ˨J&oۻ; plCo}t^9I.|$<>e~*Ɩ[:%3V+/ ]CU1( H %J˜reBzݷu7p{69<*/m;"SFn,ͽiϢxqp0;n98e/ FESnonR[jVpk)1"΄I#yBĩBA'KJFr=Qq\t˽7}ɝi~}܄w<P"\;GecD ;tM;XJ_3'>{J1: /|?W_t?dΟ?#:my-qteʤo VUqܟ<!}מ+1XXTksJVFnm5*ZJx/[KO?gG#Zkݼ{nyguЎ|>wzJ`=3WgJk}rv,C( v5, Ss]ԼWE R$s|{Omԝ$Kŵ{P 5ݩd ]+Oaͣ߸kQfzl>>h ܟ].6$FͰިxa{4lʈF+ ]ןLF=Mt$nZi+>ءvPq$y彥AMXn+8`J+O y7l6{t{^"}jWɝf=V'ł9֝f?R\v\ji cJʩCO'g6Zy"- Ac Lt 2jgHBU1JgЬ:FWnnkV%{Ө<70 Nw>EFI yE@Fc;/q9/uƃ~SK!Y w+VG0c: 2t2`R%t  sfJTpͽޮmTjw)uVwn$ZsYg{D߹OT]z5#իI`e ڝ̊K]s eniUmÕ'u^n؜E27􁓛]_׷ f`xyf1ض ZC* !",)81`g2yV䠄C4!eWFQo$҄QF1!Z= IDATl߳!`6mw;AS..K1.<,(bc F-wk~!CyεZ뺖ۖ aY!cO.wՋ zA&,`gbk^]9{^MJΏ]Z)0H)eJmK%0t )A%҆2RkT< ul˳cZòlhjQ%JLl1*/D*ɨ'Q^oUBaJ(LlR2Fya kк5?` xRץ2ڴ:s] 2;>@~/<*S!X"De'Bv-J,8JOyZ9=ǛNg%Z~`t[ۛ׮\ܸyl2)dB0}=N+ȫصPGKpS#Rq) 8ypoVq"83R TL^X &l%wF:=ں+lp|Nomeoݸ1%i]}sW6:;[;{xrɍfU{=i~!OI8+ɨ9XuXZU>Iכ^˄t4mZG Qm4*+,/h\;}"E !z6|^TہN0>`Vm \dalb[l,>S- ۝άy*>mg::5NWiNfi+Jy2jWi^"(1& !x:UG2-N.gq3^uwJǶm(,jPk:+}аHXCaĊcL8ƸTREFێJdT1QѸeoP+)Z;^c1#B5``eDQ1*.Rjg40]2&yVZMʬD"ˣl(lߑv`JbX|S+|b?,߰SnJ,T`(C,8wfyYk 4O}8S_g$ɏNq!8/˜n?Pk2 %|ϷaJ9 l clQ(*@( ^ʲR) 1 !R u1h BF Z1J\ lDQi  mz6 \ |# LҢHѐ%%`p(fC , Q 9urRa /̹0d$i0j@%:sz4ݥ0Ƙh`@ kUd# PuzSHAlj!TK(!4^Dtz\UJj){b'YR m4B+6()xQdn@,XiabbaSdYNȒ A83kE/jeI\~]__q"'a o>Opએg/lRXKf(Ċ)EiIdJh{n^&sU^緿{?V_Igú|}ٚ'.7Λo vuoD |b^&rt8;qq"Qw4 &;i ;V=-Q~x%tQPJSQIM]wz}MAbS\6]5FW1.E.RF^}DI<\G1b:^]G\ka*NG'lx-p9P<w4E n-2o;|c+WC$v{©A!Qĭbˋ,jVXXGtw'YD8"Y@* 'ܲ4zեyqW*WNtج0a`O#R:L9jTFW^hK3^p[&#O'fmX[uxc߳>~t$"/*W{5d2K}?h j'pbb)zڬjG0SNam2F&Q6>ZZn ܽ\ׯxxpl6N\JKO'+kp̬o0nO={pu<ݿ5 zLj$4 37D%&G?n|p _ՃcoXoRiylARܱ`bcRnE"2(q`#o?o#h[?# X%5"ER2أcm l@H`}u :GG"y)80F=F")%(ڤZ Jx?FQJ-0jaPfW_ ]-q'32f3ml@!ưq%%B K5`@)y CJ=$ B@ }LOP|ZP Ƣ㙔FcHOqwn.#?ǣ΋7^?ŭ/"N䉓*l8տ]߱7JlTKcs?pn%xkA糣}IҲWY՛b]זϴ܌ Cyh(ˣīJx;gb݃KgVRngXd4 Vyn|Փ+;wgυdQTŠF!v/׉TktQKۓ p! u&P1`^H!vo|>-V앛ݺbi0HZe2ֆGsWOh΢ta;N8v|"']'nUimy4yZZc8lrT~<*ã43 2IkftTkzk43/ jhO{N C'6 8Mm`se$)J.!X`4(ٛ&Bj(sT qD\s)KAeVJWIBH9V"S't.qpʱKdo*\(rϳܲh flZJC%דr3q)bίhZw(ӖM%Qqj?&bc*X,F[뫃f?uVluWFO4_̓3_}{Ϯȅcv9FBHܥ酾'!y'&)2`VyRR)]ϧ)7F Fu(B FQ0Z6 PZB1cL4oM1&jr;,ש(f ]u[puWZDm itkN*mv$Լ(1J(|۶,HJĩ_<=p4K\II`2BtYjcT4(*;*HiG/M2i Jf(Y2!A]1 DPx'Qٶ}\ڹ\*BRZJic6Fz4ycQPh9߽ b :WzO֣n;H`[|{o~"W7_) '7s,I&+wn,fӯ^~ķ|ӿMsKgvBrMIص*#lWDd^!NƱۨy=:g9`op O.U({~gWj04kVXoU|b/Th-l^HUcVug& 9 x j-7Oi?+NoWҙ_~9{O;R{s?qeŽE-xsO~{.~hRL^(hd%HeiSۉ$bQǪժ: -%L(I.m(Bk6b^ղ$+#5H%R@5BABi@`h2F#ز0"0UVRD.,euw$\D+cL^@BX軚%y= ݕZiKYQJY(4Wy^ouH)dł {ę;;H,`%||F϶TJQd@_aaKv%@s!Ҡy)EY"!vΚjqZhBP2BRj20` ໶h^/$e{vs"#a!Y )?{txwUT]@Tm뷞?G׻s;B|wsCx~`{Atv, |tH2؏طdۿ[}e8~(ٟKoؽZ^ah锱14<dR'A18 Yfc~-J;O9tta2 @̴LLd>RIe$ETv*L EI @ 0yz:7{r9;4vڵzkoO@PB9M7K .Z8JyQf*y^JLei8H*3d)6)zG}I*"լ\RUkAwd2TWWW֢7 ŏ޿ŵW[{eǭ1 x,O<ܷoNíofd[ ^o9_n%F[%zϝ8+Hs.ZcL` eV-ڍFݯfI@I !\(J. Cc`YJi ј0ƥˆ"D&cLSK Zi%$xKkP)1c"8ǀ"ԉ6vQ2F( $̂h0 'Y'iy0t< 0g,00(J0 Ƴ b!tlx>LJ48 m\tz G[\BiZ!2/EVHXdʰ֚S!1N\kd3(F)!;&(U%7 lD0MRŹTJk%R`U]< p2IhiKOu0B!L("aLJJM`Kg<@;߶^?#yL)ϊӧ-papvwh'ANsE5ňf9׼/ s ߍcrɚ\Yk>_|U/iS[;gFwpt&%ymSn٧6|~d8..kom1r8 WAOos+I8/fuW>uZon=Tv^޻|e]F3Ӱ`3פGܳMJ07~կ {S|wÚFu뷰b.w7on?O\+=֪^\X.u1$t. r+ ujnǃ45A,IYN6[Nm<97Ng-<}^ՕU@ZQ1ײ^zͷߍ.)3TBt~u0Irv 7o>0zaO>w?6XMٴq;-V':\F^9#Z*C_'p&ӳ'`ebRcv쵪,nxI!j<>(#DH^Μ9`)T40iNUh(2*NIrQyweiŖA,˖Lš Bhi̶-QUN4l[qܨz;9uM3,Ӵpb4 FEv6̴l7~ɽ.Go'[? .#Hc m<_xmhuj3?+|g^|ԡٍ/ƹ f҇^eTWj}/a_ ^Z-SV1ڕr!דk '% ׶3ASAZ'{o{[GuQ%v뮫\"&G_#_p5veIo`ε zk|#|.߸zi!>OJjʣS.eŠHb ǣˆ`$@]JH hRO< d&t2 Y$qqYfi2yB,((4K'AN'`6t:Ù.!64H$bT*Khg{t5!é4 p T!ĄhDc%\"Ȅ( \H^JrbkDy.Bj#jJ-ӞXSD#0|N IDATLȴ$SXƳZwc hIW{\:t4.L z>Z8x4ii{S?|fYj/U5sìŸ|饚<ڶ.s]ozϋ ~Ji%Cםq*yPJyԪ;%EU1z(4H$ÔItJ&i^2^w1ai ΕJQc矼{Fw7<ׄQ^HJI,3NR+())Х~0EYHYuEZ"K@Suju/I HxnA8>ɵ٬٨GCBAb: VA8?qqT=|L CtqsPQfza~S?}w~럵;Z%н__݌/_\?qዿ󅊿xn7NYx z񕻯Vd!ǃ=ok[׭?rS ،Ԥ!m 0H!JIɣ(R@rYHИh0"D,EӢHF&c`r4ȥܶmJi.4R$( 1 ی1̈ˆ2ĀarBFXJNB*WLQ^6ֆes^&IIQa%q<,`d8CxO͊N ~㝇_>|e1V3/ ޸׬h8+ ?FA VvbmU֣[w^-wbݮ0-k9m7?s|&Éf*†CO"gIX&9'B *I={S|̼?jLoo $K1׮WK/+ߺqT(Fp鷾`̅sAO.uηʼd!͌\u69/(§. $kJi//Du۽ޣIWuKF0.u M r}kU^Yk(ʒW:W|F9ӬU .,wnb`mʕDa(*E2P\Yag,`S(vv#J0Ӆ_5ɅQ˅K+V.:h5g^}><|K6ŏO0WO2 /ԏ׮=ē?5k/[GL}__Oy'2cKϕկ}[+'\+G(٫v.ƨU};|gpq~}CpgW7>U]s, *1`6:Os=>w{9>ڛv3e]RΟ m?N֨TkBWąъvM]LtY+J\Y~Jqzoogq\i gsbnͨzq[++JbZA<2LhfBbjRάȊ TXg B+!$ň&yA)K)AhJzY9h5]DYRp]* 0YX|՞wd0amَoU6MprЙ}x~}eҟ/Cp/h)ޕkHFa^'oPu^xQ_z֨Z54ҕ/$MseНzE,?JrD~WZ1VJ)}ˤ|0RhД" 0IJ&TRIR+!%" M2Lô\4 55@FQJ R c4(!c(K$5R %J e)FZk!11]H$^S.4\j 4 ˱FmڮT4MLXR+Y ǭ%fT{l0f umstPFqM1}󵷲x(ZF@ *BJFi$kmY)J:&# <-$WXI^u,:WyS%Xs(-RQhQh-fHp1PAcϱV{y,K Jj?W4Q7+ӧ';{kOi頾/i l9ϵ{?#>> p?faΑؕť8bSY[X1x`|ο 8. g'k܏~'FO/O( G=Xy(D]},x&a^m~4̂b[jwÃIvy}EWgaLJzdgG7pt4yM,]/fȲgOh.s,XLɍ;yFzx*bF+J-:9-exw4]8'5w;hUݩÐBʖYcdR -GҮYYkT+Y2:LqV-ogA zUw2I}oqddV(tjeVq6߶yF"LsmTN_QmEZ02Y0Fv' LA٬p-phUۮEHiJ-guӳ* Z ި7[J^.ηz-F0-1l:xm6-lW2}[qXz)8Ȱy71Tk͵ɤӨԚW$S-ҫfE&"jnLO.'CMYKP{v~ZS"icE2-dmNve ܫV\QT9sޥ5a?yx$PX]VY<|wq!a_>; kg Fwk~OlcO~/e׿YSFkעQ ̥B !D)ASeKεPRjRHDx)J^̎$!cL(h4`5400`B# c(2 RkD 5`^YVRhiJKp.x(ZcYFKaBHiJ#<58JevPLF4-pմ<ޥ^+v6̵ZF5@k_KU1HiBFZ_fYŕD*}<1bRb""+ԄaۢmbkͺUJ9/5\۠Y֬7+SKmwa@VZj-V!-e B[-qt B΄@<)&uӲމ6hT&;?l~B̓ [5{ӟK>TI1c9j1LJy֛߬n2}jj`ǯMS teyhONwoksDo7޾& I1-R02rݠ  sݣ#S1gUƴ Yangqҝ\c9SzQbuLȩ%'34*]ۛhm0*a^^Z}^g~;|l:<ٝåSyY: l?a^˒qi{Zm 19-\iՕe$ dI^he0nQrQ'/K0ȸ$Y^=Ѭ.H2`|{q1sp'%CZY:Ӫ\Ho6Vzu<՛`JK="p+9O<ܚQǔDi&)0J ӯ,/W;7m.تك8Hz8.~Cg={C}xxU5VMur}sn<~{wUriBrA/mi8ɨʚQFQ!D4e0Jp[ifDՅ[N_vCck/:KfXi1SХ ͺA/K,Ms-QF\F%tmbXňJլ7NJ:yjU1ŕ?P1gYphh`@ o'X47&80 ) LP| PJs)E`5pLFL$ ,b@?ZR00J8GqȏǫS\ Fъ >fn f{!(so*yK;>nQfiA6_Cʬ#F@P3`8/ A(R:Q|a O}oM~sG iÃq>Sή=?}/ޗEř|pie(# rUwY' <2\+~X^VƉ#s(Dn͝mlie:}jmwoWFU5 F7ߩyz#Z~HMZk-E$ Ž0TeA$Bi: "A`~,@#=~Kr!18FKH eKcBcҵi{.LIa9%+@PiQP!& "lSV(H*Y@YH<k;@a8H׿ >%I6=[0:^;"xCHL@"BD X!pВj X+#AtS1Gѱ0rl+^#`!oIh4wg)߸ɞNffe)ċqd whiʛ/]TJHA  R$H1Qwy/~ý[[nݨ6UT5=z?|6$2bUr ӪS]}q0+,N%us%j4`V"tԛ7_w`Tii:$V`Xe&r"r~:< rҩv-azFra˫)8|Y]r"NIⅪ$;o뭋O=D9\gq󨈧pEMPQ~$V&ͺE3ߚ:9˝7sGjZ [ _t,8K.;\wJԓd IDATpױF hT3!1M`[AMB)Jj`BBaTw盔`ԠE1F)!Xe҅19cc"i „PD2)=eZ#U̵Wj]iܻDJ Z 2!M&APara3R+#$pL@HT1تֲBDQ:E23 c,J9/^ !Qꭺ&$ +jagF\F%/\k+gw^[듽7zaVJJuN,T\وȫ\85ƂK ڲ|˯nO˿[}[so4~7^iPoΆl̷vkjqnٝ' z~PDzV]^JWo;_|A7p1Yb2?puy cCϵ[Ҋ߫^o͎\~{o֯z`Q^C d+τG"4Q˔HiV.qJHγ;wq_=Ջ/Jff䩚ۨ[VZf[/?{a{w+kӝ?% ר-t4wtn: 05}m]R%M$aIM+ + (0YkFYdR|&2/ݪSk˻Y5H*&9Gp+qK/&PRcjD8Սz+ܬ=$%4:+w145ּ.vmI+ԜkɲUlNȱ*p8%0+O2;<ò=~8-]72 ]ƂEq{k`()J8}8 q~3qdYre0w:68UJ:zi&zXrht~$mrǮT6zɜ V&yTI#5PEQfb\kO_xô4 bh*k,1\خAMXTLtaY&(MҔ&^_[f)H0L=8I8 =9ȋܭU8 &%A'7:r,)$8Ad 3ShWN|ׄH"f|c_?w;UBeo7i1b5VWVU`A3A0v0 眀:nfrQFE^ʒ[bÜdiZYh!@khʼ1AAjFa%%>>_ SJBf%DVB"JcRZkM 1ŀ/QP)iZ!XjgR @BiEFTh Bp/aZab f8{odiOܳ*k뽧GAvC mA 6H4H=]]kVUfVy˻>?d?@u_Ar_:{cƸ([օ5%ƪqiۃI&O3Z k1X@t!epSCH PE㋳9X/oZ"1JjשּׂJl2%`BatVK"Ȏ&y9.DDȅ*#\sjr#HY Ku, ?'GwCT.'뵕b;}}ڛl• _er4R,M\K+,֐HSgn?i6Wl4)ʪ{<&HcT糁˫RSbNk]ya9ru>ZY%=FA~tô^k #$/D>>yj{>8xGxn4ןY!4py lGY--D  gE.Iz(cK+.̒=L禜g׋]^D%Pkצm-C̟x_~k[fWjLg!sIҨ"+UV+zdʋBERTX#RyV 0jY`A9؂&!)V^XR.j5 {qZ@U(M #bV#Lc5`4UD}L`D QBFy qʈV]'b'n5IAnjV{Y`. z%+_orvj/OeXFc%5Y]iWjA4X4F^Zjd k1$.sneDSB,8/R@Z.sZj(R-s+,BthVvGYI!5Kr̭EOA?9G??Ί\~j57o{e{Nb^TGGk+otTJxgTvجap϶.U>:l.^޶TpGi?LV_>7.&F3nݸ|xTKvy(+TJ :|`pzpm}g_ .j/qOR٭yQyئӵKF{~wAF܆,Qᓽ˞z~s][=krtir6OlUVVҳq#. rQBlE|d|]EXǭ9gg˝TZ-ZZX"Ҩ!Ri:$QX:+{4G00GXLE\m^Y_m7%iV9dBRLb 0dѵ+DyifIʥI r P24iCw0)f椄YRlqY˗=`Yt3rF}i\^[0v;Jx8B v–X-6yZ2 uš%t%276o:!R|(F=eHlM1OҼT3ksQJy2gw^8yZtʙL'3(pjTid^Jx\IR:͒ `UgխQ᳙\}/<+k탿_?_?l>J]+RU:魐_fl)y/Ӱɟ.j;d;]%T)?^]j-OxTwo~JyuP"%`?iw3aˋm/lm.t*ٯq7n\;qX(V;٥͵rk4w^o}mW^ݼlˋ-/ O whTAxD >*/?DJ8~Pj sW^, /4^yp:N(]~nV`dgpvҒ+ Ͽ%m݇ea (ؓqQin?;<wtEӟ}{p{;#N)sUZk]Ṳjq`k뛷Ofݩ:4ILKGk'O0CV2S a@Hi$(66r;B$yt8h!9XڹFW_ye7iǓJeF'B+ժy)H䀌r՜,,NH<9΁!KZh{éݩS2b9 #bw2ҨYw55ihi3g`29׾~;x<>9OA^mU+#sZVH߾{[U*F[/?wɊ[p !壏GYk5 e<`3_|+~yVfѸi9KfOf_`U3J1ܹX{Ϳz>!~w>_/}et?w}?y?Pd;/;//OZ+jHHݹ@eEi$սkOt5b+չOf/zI#/c7\K$%ÁՍxN.{`wӤa! {)Og~'˫^]y~kZ^%ө\q"Ӄdqy+EXR#Kj+k;kɇޓNP?)nte_~e˗/_`ƅ '>^mZy:ySCXLb[ں9ƋhLXQ}wNS ?sG_hG[Zj=g*^Xܟ&y^ɆSt(i%B*/m:L#3!e.wNt=i5jwa23HbFgH SOnhQ#.~1in{dPLKVii*r]- q3lklƟ lLL.Fi՛@:t M`ƄcңZKQm-LyPV(kͭϬn  T6) 7D$鼘e^8E\j/SOg/-~/'·[YhKNFF5a!T 0w+z$Yڸ$GnJXz9ԽbMAc3u||*u^bFAP^hAqa™>AJseX+. 3ocR e1c1rRdspL/a $ZFԀhXWhKV 0sܘmpl\4@Oᑘq-w_7? 0xڛ/X S,`ZL.\H öПA[Z6ea* #ȥ^`dr=MB0@T**4uz6iiZ Nܢ,D Љ#H\0/$*dcfg{|?kTވT}o~|_5>x㭭[i{Vl2}R{}QY|`~w:awsȯhY9)'9KM^=Si>I_Hy2\[[83\%bC}I=Nm͎hԆB "X oqZ}|I>fs^̇OWs`cBÝfˢxeGsmÇV;/FՅ`vsj*8YxiSDf`64ϋ|qwT>ヌc?VYf.cKR;}*j NF0Uj)`>YnU{~#p8ϑͧ")Fјo^ZMe1IDb }+K7Q, )v:Lxq%hE$'X˭k5Keq$YZsOrX-t4`@ϦSf80 Z+G>rR \awj"JKѭ,c䥵V;đ2cYIiԨ`c9g!BX[%M:(؂(K00`qBgVfaR`Z;% IDAT ˥PFBHQJsTic ,ƀ9bO1%G/wG~o {WO{Gg"|k ,Jm݁ӳ+ K(o5K??u?yw )ed|ueadE;gP {fӨ~C}U6s #>2Q3.vS ʝ"70.F~/|P%SϳY`5Ac1QaTlX:@y˼"rM\?||ZhƯcY'5FBd ,ij~`guq} 6ߺ!rY]==tEj{t8^Hȴ67gӝGGݓ[rGW>+Y: Z6iCՖ?xJgu kg{pm2 3e2S())eBV6V9Äd2`Qb\4!$2h&`qjTJh-41j_ `a%,\B #+ZFY+B/pN,;KR(c:cD_di0D(1{љ!BpW[!+#,5ڵW׿2=5RjS|c TY0#LC1!B(l"؀,2Z0@(Kd:#+2(3)EQeT*R NygeYD]VSdF`TiV;,B΋RhJ+c-1k1F/Xj4Wׯ}ǿk_$ԿOԗ6Nщ*+/mUf pv|x\_|ո/3~6b]yXmo9Hk!Ҋd:|i3t7aԩ[x%4!/ɟwx:4v"KkW|o|D ga_'?}G8 66VZ'tʳ'QĚEcsrphjwKu5%n\9=a\㕅Zno/on8NFk4jNjՍg@^ν l8MEta8|p6x!QbQOԂʕh>HJo7VM}C~9|Hd=YkR\S̑Os}km*=;„a7bVWڣh ĩ; \H<ɡD̏}[R`Hמo~U*Ǧ nJ=ߛ͹@=OĥÝ>?7Ko/[[(K$_ i&'Ј`6A#տ¿NrD?=x7ǙFR;'`JrK;YgTi30Rծo+ r -,7)!Yj\'swW(4(}zql|㐢y1$v+fXʬ^^~|4-\S"Llj.t"㫯O}LF'*P, eay6+Dfhn(RBaV#s[[] ϥЭz %Ç``楐U5bmA!8 0Nu'a5˓(t>+֕8jh0_tUErҨ`]6Z;Հ a6N]m r$Bzʓ4I') ŕz<ϼq")52"ylYV-FHmM౅vZl&p\w>IWg? _kT9FRuo5.ZB3H{lp~6J|V_^;=ڼVĞO~g:|=9皏>v~@R)u<*)Fa D0 TI]J(PVX Fe`kEF)Mѧ)]%yL(&( 3*/c 1XkZ!0PJ^)khb  % zjD4R0"Hak eXkZk^z~ a/=0ApȞbG;W}9y\/:׌EYeBR* ,VXzF co'RX+R d.D)J (,Җ; Rb=AD&0.բLJ b`7\)k(!Ap9Å`,B`aSJ0Ƙ a6d~ㅇy|tO|x痾lM#Avpp9~z[ K$~织_~╗_Yy#O@*ް"v__;Nyaֹ1c?k7} ^6ˢNOG򴵾tq//nS#]˵56*wz+eoQdɴϵq1 zV%0( j{,%ȺC ]Gpsx>z֥7?jGJfÏi|Beie5v\>~ΛŖpz̬[/ ~ЧI鮴bQrv>-EIv/+֮l)W:jW:7BF-/J{D+W%UrzwVn!Ueh>4ilVn>2H݃6T4VL^^t6iJQjL}]o5{RJh{פ`uJۙDk9XXʹ*)#̺IAtEkRhjgI:lOi^y ;X 8'o\u}'GYFf#Pw©^YO"rTF=pkeX `pޗi 6Qdej!7ء`M*5O"PxUWw=+s#Z.d^]..-޺B=kIU)L6bl\BY/_^~[빘,:>wD!KZ9kU kzW$ {8ߪ,y}SKcߛWY4P[:' GQny1sgmy<ޝQ kWчQ#es qt'ŐڋUҿB `~>Z{Ha7:K{՘q{kSϕ~_wQÍkHdUY $IQu6W/_^;nw2z389_h~~}hngq)t>NdPׯmJKx:>+gEk3I}qELORy/~+_ܺ<}WƋz &:Z+rMӼiQh %jX|zt?{TVQ2O|"76lwgiuq?WYwص0yppWfxSFv'EVIԐL2)2Wbʐn>qLZwL !H97Jb &$)Rku@)s9ub:UEE!Lc ㈵@0 00N Ah- 2Ն0JmE 3BZJ8BdcDPQ0AÈK-FE0&ƍ")(%jz.&RJ!baBQ5xkuoXc5Lk W~=u,ʒ0q_T 0(1% 8gRjU Kp8.3D]sB|_˒"R m0JРaYأs -YPHLz^c%]8aZ}bic60X!JZѠ""mt()cHbL%6qgǍ d1ED icJY(K JPN5 ckjc,Do]EfFH)`>%BRX?Ä#!,,AX, s86lWCRsz 8"rWjaSf0`c3eZRD<ܡY+A*mV yaB)@)rBI),Z+BOܿMoy;Go|am:s\Ƈ$GoVW'j6&v%"ҷw_p~3f6O͘'tCebnK׼NSs]n nlH( !p,+r8qj]5y>98{so%<^׿ F-> QMgZ8[EQjGAInMUtwNN[lϜ>X_)hKq30QUϵD|?:+XDQMSI7bsS(74g;p0Zk.yZkn~/vwU!h8rhYGi8E(yɵR]9bK[H 'jcE IDAT+"GfVj^xyu NiR$U`Iw0vm?>;~jVţI?=1덟R3NreZr: #00xPxFjN yA"d^i;%bR\$iFSAIZj( b$T-j(2k B``lf,ie&#9B!8~0ZiQ`4BT u<=LƄ3PYL)1cFJƔ Ri-FC*u |FFi1~OS(`m;A`ae|Ʃ "e8#@ܿH|mܯ^&mK&OGlMQƓ3Rlaf*s4B)^VJF8ǔ$f1bBK Jlc1F AuGk(זDjzb9GL=b]z1}~JDi,gPv^A3ǝ$Ok7W<~?'wprVmc1oP.jl&XD[k~h\fAaۀԔ%{;)n:^cgy?(Z*:pj}oK`p~<y4`]^ޚS9)-\Fn+W6R&3<FΞL>~#&Q}φQG-OIDtM|ltԼuuw?Ht!Ù6XC*//j5v<%vT:%(:6PY|1 aqܨ8B!`;l}ePwgު5lc,@Εt8:^$6ֹ%$Z*1뛸^vnwxiߦ+u?ZOr"\d6 "cJFiX.ƀ *Řq}o03?b}gI<V&%ZJ"VV7 eq,%1 5b+U֕Egƶ<8Z|{/ҸXL:p8 $(\_\P#Mp1j7n-/KH/9߲\F,|wG ??Zm?Zݻ"Oq1;:>XjgoO/Gk˥n*7=}:j:'~bi_/ML@ϰ bx6T^;x$tztq:86ׄqF;ͿѻO>Jn8Gݺq1L }mcQ[/Nʕ۾@׮H( fఋq$+WLQg{W4;=9xXΪUuh:T#Wa甘>@ 6H2J̶-Th)J94Pƌ &r 2PB0Ơ 1B1d`ah3N0€,FsKdm;se͵zh+\h.8*$Cw9 0HpZ]"k  7„Kle6р)!B9D.6׮QM Èa#eK1Ar@Fit,;K"K "UhPt%QTrY6l2\'SQ*`$1@1e2J1!Zض*M󼐩HQe4" @(D.gBښ_>62>A6*}/>GZ6$jx=N;qjmqO;"&z:w77<ߕܲ =ztq9Sa!QaқwfDϢJy`VMxVɉ}NxHR:|V}qN횫 Rol/"`J^i~ZӣA@ԓ4(/^]7_L߯]yr0Ɩ-:vp齍׿~YI@SAf:>C=[i7!YPlP cǣ`&kr7/џn/7E*kk͵"5N{RR'tAB%\BMu-FQ^" 9?R!T*^ltd{K}nt~>m5Q\HiLr8DIRyy>\ؕƋTlɗO&(WrmA꓃%vl;й`y x1͢U{qF  A[l<3a9H)FfTFik9NF3Gg{G"ɱc͔6GnrV.p^!a*1B%KE6b0aCq59lol>2_LGnݺ9y~pkf\//GQ!.5vB_2R%AEt/m)Lukb(%ܦ\*F (\lq'g,rfQP`ӖP? Ss šRܖYaQh%(@0)0c% K "4ЈJ$HL#Dhca$%}=(&sj#79,f^8c`"KB^\Pc03h%RkYR ŸvQzp t.ȦBDd +\\^@&r (0 sX?1" ^~1BTLli#@F MY@`8g1pD&Ҹ hItxH86zƥg\O~nz#1,_Tlls0¹}kRn+x/hVeת$~[TBqp~f9qmkmCx,f7NxxpTXW\VwLw"&}o믮~PgvW~y HNY/W\fb65"޺ɝQx04՟gi5M ;VJbb{2/dQ`sSS B]FD9LaDDGޥ_yVhުgQ4ƣ||oVCr<+ڕ81:\R^Z?K'~Y#\rdd!9{QR;XZ'O&x歧^Q" yE5yb#YJ˕OO+>0Yv BW.ΟfÃzx\a'p:Kl7JVͅH@i&qLœ31/G'FZ^+?߱U< (JFޭWw9=k/?WV}i4P2 F1G=O+t8~4Nzq8OH$PTYetgm)3zܙPcL3 '8pmLW+E]]__J4tWwOr#{֨MjMOV-;,I Keէ׮_չAS=NvV[2ut3Ur&Ō縊FAڈhr;8m8@-^]98ʌ63)L$6Xs҅\3)ARg*Emyٓ{2f}8AQ4kY4{׸˫k'G BY:/%٣$aD;N;vj&;vpZw,^(+AO.g䜝:ƨB!\bLh!,0" eT,:ԶlYqDu-NJ2VjqPH p,n0&c5`4RRb% , FB(c2YeiVBH RBMUWDKAM Y#maL&!"`Q(%B(%YPi "/6evu +}63}oF"FȘBȲosF,rf9[t"!Z/&Rh-a @(6FH56-B  APriB(Řb!V*ODV2# `0B  (22( Uo {a:f?f}v1A&LJϣD4lx6qQD*7.à#Q0Mv؞JC.;hތesDvݕ+7*t4>?޼9,NugWgoekpg=BZ.LJOgduɴ#66~Jmŷ;׸o(Zr]b'Q1WH(tYͭ|QͳY,K}E+$h AiC*>V:AJ̔!AI(3yl:M"Q;pyd < gm3FUUBkU(NIJXfZXDj`ToQgڸ 06wIs4YpZQ#zc~.Fo &ի{G c4SNӬC{s^|c?!G/fR.X<b$-uQH 3 -T$QlA-ǡ U9f$ Y,HILRE4cQ@bvBD ZB@ܪE)e@/: tZi#`"FF# ,l;2TSl@9S&w< \l,wlF#bP>1FBYHcB:qei FEQȅgdB0G1׵T@tlCIX)Bh)NrP,rT6'/޽\דի8Kn\+[~ї:,fߺwtu{620oOK 7*Jeq=~nL \YN;ywl(~sXrr(^[VHr#h6eͲ,wFnq #9_ 5;Bf+Ou:6,2 ;.k (GI]}|oyi)SsZW>P`)/ I;>k-~ݛEq[Yg/vn6-(ɀ~gzZ}퍭/TX Vi>.֪tt8^m}qpbĢ}$ SIRBhZ;;~mW "^:9y9,ͦ'Ln~%?y|*(eeQnv671UI46'RCqóӝ[vwQnX ~a/cT<);C\^ڏOŌZ) ^,Z)fHRdzot(Rdl> R37FhI9]`X%T%Ю1^ 注{zFkr[ QFXh-  :¨!-bwa &Bc0*04VB-^g"ƴ.^PkRh 2/ %`p4\(/1ZfZ=6zZ ~X@ (Z8\g't"!_V懓b 4TX6WXPEqt2(^l4]@e1bTE+MD+YAb>%E] mB0[;(8 yčzk+NqmҮhU.?[o4=8]rv岗?ƄhJV^kɝUZI߻s6L4gx
6/sDeN8%s/ℂu8vwT*W*dqOa,~oʕa/##A2Ԛ ޚ XJ zÓg7_}kUI7VO¾L^Z+;Z&I@1J[} t'H^~v4^]n"/Lzm^! QITBW{՛w?_><;{JX'Ȳ pI0fN-ě'}LFg冭Q`2q Q  mH7BrJl2G)6 QU˵  0"@-pbc@a BeB`*r"U4e E<1"^V+@( Ahm QpkH+5@/h"MXDic^^ N< 3hVe7J^x PE2 6",MRK`@YAZI,* $"H/[@(#-'A(xQbm/@2/`~m.Q:4pA q,*Pq:3L0!2($ɟ WګSSOyZF8茰e|unyI燝O|(-.aΒʛ^rf:UJ4$ ޽;onpi0ݸht/mhlVJfI!=t,EIO4Iξw:d;JO+ݍ0p4Pҁ 0 #qy}-Jyzi %BJ.j8^x.d?X]gk}7 #2>yrx:OtIj+ Fs 08y .6LrH_{ *mb]ia;3M:>st$(0"۶ƹȢqˎK˓pv֛f)q,ZͥLv^:I =%,tONHr0 )6oKjjCp*382 @6"ө´yˍe#,i8T<~"2)Xl< VdHcjs:E؀6U-a0 תjt4عUꌰOTWw^}/n]kmy7}獷6Y:|ݮpd^-9cO}|#TRԦq0PumjQ(gEKS%bH!u0 2(r:ˮ뺎:`m4Safcf+Mr8Γld&I1ʘB0hPB(c #0iPHG+FFÈaα iP͍a!D!PFdsB=a3a@ڀ2JiD5c #q 4BZۣ h`mw*9u,A^jy<,'(R+ mۖ((RF67!ogW?O[X]ST^OIRWrNNiɶgEEaͭuCǺq!&tzk n#bgk~ЛK G{z~lυW޸f{[QceT(eDo=on#N{vӣuշ`{oe1+Gu;rZ$/ Y8Y1ؚd^sy9phLDzR1"Q(HB[6d2Ai??NŶ6()e056[I{tRoaDHD˅J~+OȷgZztܓ P ~l~T'r Q i KMn9Ԋͽ凟EC6[RbZı__"Y)!M(%呞[F۾8߿o\w!v%5Y__){˕R-vO12V;_Y CMV\~zf{:F,5WW i8|5GW6?:wO0 9ƈ8G`(57_m wP9dX/?:kd"e\jLƶaf9 YĪHZ., S(@**le΢Y/ dYu=}o>,=ye-Y ڗ׉O&*+Ӌ,ʾKՊQ+hbrU\˿BA8 872o.mxq\i [X ǃx ƄJ!x+qYs{YJ=J%z,SYF""mk0( 4diR(a,(ub@J@c@<ϝɢ%);R xU}/CL,nkZ ) 1E/5sB_X\"/$(Z8 ~Hh2/Re Be"l_A@( ;/,z5c Xc4Ƅ! % &*v(H/\|)r 4EQwVP*O^|-XٵM>W_/6]?fvy0J\l&'(7RJB0D@F?p{B;!.2 CE gإAsbƊZ뗗?՛7G<ַOijw`IfRs8U[+ rd Q"~pZ4'G:]*;]Aqltp6q<|:\VJյ4?x]ޠGVzgE+g1Us[2/˭U}Rc~QPYwZ<;Fٻ|LAw僻k&[ ,Rn l,*θSF>/*QDG0FbijLl"y._%oqV&׶W'8~Jlmwj6`~tgv}|p+ΣX(vdi$ͳ"^YZj,?[[H{hz\n7޼qrqr8I-呒kgsoogPJ{>ԛi6gV!_-G۲!Ga,a`>_D9us꾛&Ddrơq࡙S%fcvӣQZ*wNq.O/^eqRq=,M0"ǃaR{ޟPlBn]>y1IBmũ,D soL=qk҈qo<}euc\$SteLJ7{ol[vׇ״3{HT֣2P®`+*3F~ /7VO΢He,KLH;tZQ !u[Q|哫6C_FzUtqfuZ lآ,ъ?='fLP2)}6+U+q?J5Ϟ T:7DFrVIT7-d4WR5 W&vP(Y?ݺ^b+2E6ZR͋J{W ;zYeoQ<| F7)Wi$m0#mA`bA>>>x?{/D@J볳3\Y]^RjQ T98UYhfm$5ضug@1ѨJ! Ke^3Sg!)}p8Vi'HYiCa GJkTfqE5^Ŷ(YF-Y%;͢jeDBM-o~X`g?`cgng$ZuC~o~uX!Ӟ,QB!ijԲAcs u uR %iyׅBBy!1Ҙ /\ۓGijo>2<V;Gr{9  ]|1 A-<4#N{s߽V3鏥Xy9)7R5 Zu\5u"? s̈Z ۯ6˫wn^S<\l>7ÙGGߚm԰幅6tfP*a?Yyz4_{#:pmEEQ*ASJh쪵V/%u]ǵE sXp1rfW?˚hK\ByTjHV[V+PmnAwlnEZpo8۝$჉Izv+~ vZ=̅FHP$hPsݭ^~{i4Sqm@0ۦo3L,E{y_`=> 3M)1*SF=>brI.U7o[߻u}F#q9?[|~cbQ+;>>J4 c&޽ѩ3%]9M1"m@'}L9}ΣE2>tfYfΊ5C/j\%u~?|~e4u"OQk+,(RKV8\G67۬5t^w,xAs]Nyh`l8rJ< 5+?zy:!%FӣӏxauCdi\&VK bi;I 0 0$bSv8.N#lŚsVmRn5ARB`$׹ҧϮ<}S heevFmu9? 3wVpBYƂ&8jRiBC0VNXsʃ=۳Fݴ?^nq礷lȹָH8ڤi$ YFy.(k&ť!j5ݽkۻGq{X w$sh: mHT$`s4A^a4W?}j坷KBe4D b3keRJeFRx \ e$P`)@VL@h PIJ)Q0ZhBpTZh0Iv'F{-AicZk0dB"Xs j4RJH./S@1%X. nCPǶΖY̢Ԛxc`1B0& `1+gf 1V d1_ͼ h4R_͐mKBB]$/ ZLnf6Mukp=,gAhge/޸8_931S!k խj~ݛܷgNoy;8}vOxĜxyd<.fkڝ73sr}0GP+ݹc֗#kzάѣVRuP-H0;do/<$IݠT{h>_ĽN;gJrܦŇbOK /~`^c30*<[j$O7Lݞڞc¶3x; pʙEN7nji0yJ@JhSZfHC^ r?㏝ꎆJ a?nw\wuJ0T1tCO(|F4ʼ3J8pmZwK<力cF s V KqVK!B('-\I( jiZ  Kf$\baq=;Gp0)e|#9"ffi#x]Hʍӫ+o:ƲY2ɃjM'jM a Nmj8v0zɍrVȓk\Ofg7jIaʋ,ı8@!8f2(ͥ0mם@TZ4,$*Щ*7SG("(`4ekI)m eJiÖieӉ6ٍsKWVuX^WʑGӛ>ڷhc ++*u./QGʼn砅&hB& Ե 被 w٤,ãҕ[%ޑq_v͛Ki.NWe8[>S0tv$gƱG;H#71!.LsJ:ASbO7s7OƱ*[1XD ޏSwHpQOYlʬ>Ů"=u&9 =TRz;BwK8òJJosG3eKC!jR>x<}Tzm@ sХVtv;uuۦ\ (W`Ids'~aQ/S2!2*BWO&3Pۢ^^d_4 h35T2TrmwL틧3w@OH)a4E /:L)Iij-VcF OeJY0ذ|8⊪S=E362}a_- N7 L JE궤yppAqXm9mRy,{`yYʙdCa;RXQmz€D$i8\6#^;åvB0 ph)g\ibo)P#].$0`rM^l(pn %n8Ad 0.tB?O&{0"NEiwCe؇r8:ӓ%zu|ra:\\&fN_MZwb/RH(0 x AŸU~L.. y3(X)#*gCV蟴2 Ld8y! S@,"lJ9slB1%2Q^vXfH`;>Z FC+e@씃?UU.]8 ZsK=^P/#,jIA7;{"Z-^֋E(#_J̦r 6fWS_5U$6To%F!BHT~D^WȫfF~=P|[xZ鳳>DԷndi$:/*cM("RB-+{'jS.o?HZ7e::DJu^ Wɤ&HϊcmhSKoI,:qմsUx@GьSQΎrS"di8J-cUS"'5CeTIK3UHWD^jLa(Mk|(_Wݯ-`9Ѿꑲ{Isoːa F"ux?>z|YO).el~(2h.orxU각YBgƭ}Mg3"=>Kљܒ Pq_lYdQ گ%׍l/=)g;IKo AOb_u3lɋ'Cq9uԢ2B)mS,q!;FPo3'hC^fYA,ܦuEׅJmaRѝ*+X>QzoK! pDbwx{s|NwKdګ%N?ȋZefG뽉sG Ӵeضm3oODSI|MNiE3f;޶-⪬EWfKԙkF;'ZH G31Ͱ*q~ eIvS3E(shJ|T49íZ[]Q7O`sbyi`m=g*U \b_"%>H4a9ieITGt0Pz2Jj-c3.H c ңAOm[2uc;k`-G?ge/W3|I8Sȱ zQKSi%!.e}.e`F1UY3c`'ҧ#1#gb\GʰqzAzD6aTأv`VzL 9^eӦdY( */ ӱ=G8Ł?/f~i Wz_:1=94a')Dg(̓TQC-thwXt?3ƈə6ek+˨%Ǩ}& E*cߣIŒAW5%΃f=ȇ]ȣAd OpІ$5P@sxaf*בW `NҀ\P{wB^V_NHߏEITz ό) *BBF)p-PMCeBɊՑ@K3o'[v.Z!Q>9ES^řghR_.A n=#SS˼,5s\Ȑ1Wӆ?4otr_\ \Wr1DK".% CʤAxP{(|.rӶGvvPEcRՓ2P ,`$":xfBZWeoX{S@]PtBإm4ʄY118,*G۞BuLIipWHLL $&)2%S0b5Q98AY~ԗ@d}uDm }XD,tqaNF/:3?ơwo7ۧ1KoXE[ET eyCNg!Os7 *6\V3Z2ϐ읪mI3ʕPˍ$=:ýc·JRsM{Nr˫)~pqŎ>?rЮbXgcco,zc]NYSe`^h=p٫cu]T@;QC`Xԧ e:gtg#[1وUW@_J‡'yˎQЫ7wEHsD0 g8 eaM>Y=ԥakaFpY*,/ uG'-ONw臮\JྸH[][SZ'ʙ^ <8[ݓ1^kujڽ~m]{Յ$ȇw!e\߸> :.$ Ö6p F(AZabx $MF77OvF#xァe'\Ʉdx(6=!I?yzԟ5? V@HYFyw.[1tF4RCsEg=| 9 ;EcxD(#?*dVؠ6\^,x?vXtX .훹E~xFGܗ2LXaCc2b&HsdX\6݆"3y#F1i V'*k=\ 2GZ+5XQa?fY{ ۙR~>CTI+VfqNN+1՜g2<55Z"j R#Фӛ961*c:K{(vTu,S f^5KvbY QݑQy<#{F0b(3n%sWtpۊ;º EI΍bGBw>@ȏRKrR{X*]^IueeOk%)wT=-Li0c,Ő Sz?ǛB1Z(xwp9T_!lL"Sk哢/q)D1efrdSیE8* 1?` UΑq[UO0<8ĬxF"L@M j<`$FF5> JL  Jhhdu.xXyg٢5I@ 5M) t?9{IhFH!c}Me{.F̕VSDGt CGT:Qs=$KcDPq=ng*يÚ͙ߊn8X*b(j U:Ux%%X" vD;mZskHk#ǣn__Q&i)Iv~n=֥"9a`0( #JMց.} dQJSkpf UOż5kWEA5؝$~0:=pJ>m=OOϵ8-mXmV56h9[Qx6\03H=dPa7I$]wqxʸ/S uVI|$=Ws>UgH% Y Hw:F?䎎 4Ͻo5|K{>EҏXvܭ{c:O76_BAQBb404cuBBJqPC5 {61?QDW(@4b,Jć<K%qk98l:hx@]zwAMVJRQ b]۵,n#bFp,aĊ~K`\OKWP_xUNlZ,!sƏ/ӥ0Kr %`t?rrn:5便:\'xЀ>zv-PކnYH"Z.*T@FF GP\ ;n'_1![SX`dĐ @y>L 4B{DwDj/2R ,~S%ހ$u&o@|0p畗6cgmC@aK(ky:w|`\;π^ôs;;-׻Ff~vem2]R2novV7z.[FY03)oj|f4Z,4fU44"z" ^Aڴ睩 \u[ rq~DR3ep}҄_XȭAv;esY^!ט{p*B{ƽcrqq_ׯ*Lyf6ffoUgs<Ēe?;X8[x7dm}A`￰:lZL\`cTf_$ciľZg9:P\g|$|6U=vʛ]]D1M;GjZñ 1OGPvs:S;Y{p^Y~Zeu<ȌV _E *QB"~9rȖbƀܕ23䟍c)J|ãy86Ni`!^։2h3bD]$k3au^*G:!z\tlT :\'Xbo#<dϗVL`(`NY{<rz)`ӣ^asLKG{.we#{zmMxsnH'VM[9|"@1$-67X dP@E ˒; mE/쏔>"mpW+!6B-hp ߰4PN!)[2\ ke] $li.L$oЀ~\`؁f@;jK;J%s42PZfsLT|S4+F9 ͮɜmM׳w,:lqKʢ?e1D06_&:`%|3+w_܂h= EB9 Tܨ $\ o GL9TMA>xSZ>CDFfgۿi; ,n20 wO`ò]!hk{PGP4Njh] þ:ժŋreEm%DZgZ<%^mbvy(t]ګVB)yc4U}Xm"<LDTt_=ط~|^s$l <{>dTEjO\t^|~}mMq:JQ7(©H{e#3]C~}ln x_t5w?~.բ/b<:͠?F >X<͗@$Oފ܏#ǧU.3,݇ ?=lgfLM4o^/~d!tPx?hT:vE k+'?r]f]XHfN˖׀Ihl#ԛHk߶eQ4l3OKxm;{\iǢ'ۦ`l;\x|i#H`X,[Ɓ'| 8V{qq+ؠOm)ݝzdKg^ݦfM±?s!L~Dpת))y85$RN[LZ|!X"ب3!,R4dʎ.g{wfqx_~m6M_RA8xr*~ 72YRu4uBIs**>JC!NGuP!a!I 'ATSÊlx?`zTT32*0 udп}S \1UK SZ UAOD111=2@0:OZ/YpY,EehriԠ?dqDF)(PԺ#_,v^d ϻ?;Ps,j6h1,Fl7$:(XlH 4B!.!fYj(=/Gʘ~Џ49@l2B-BB5ʡLpK1rRz(Od|^?,=|yzt]LkɌi5f 93)M TJZ=\sfX"Lzv! jܕyx0zmRJ\$q18k5GB%m!yAsA/Ac~"^8/6 &繅`Ƶ1z ZNb#"hBz"V*BMaU3[~Kxrc(" zvl}}eXnA3ԙO_lY ofdj W;_FN)K,3I=֖͜NHp YJYAXԗ(ݷ= ʋ!2."waCG3vw N]ݝIޫD7KX΍ uy&1[Owe4ؖK!Ҫȅp&MLq7-Z[4.01QəeCVGFkđLćZj\|T.oS@6(\.\/ـ$SY:SWymԦ"mkXOĊ@e ˳ڪě-2lN\~MV:edS݅^)V};W+IdfsݑM{i& z&>i_Ib eU+| "elquK᲻9^,50t<%xEgyuIH &?wm*(U58b*RDMí9u`M˹Q~I c^V䩸ǏxP}^ ңdɁ:4G !¢$e$K$K_pl/'h^R}ag\`^_kPLZ ITXhˏ  f ?#D&uuD2x,Έ)E7,:o~9*gpG JLIVp`%hߒ @@2s#+p.>˄ЀޢGG1<@|yFSZ%:4#C@ˈ {=rHLYt34>yߣI6JvQ b$ .J F,JέIW5SkԦ-D$MAg @%)tN;_eJ6+.d䬼 )E$.yQ ">|۞_~6ZzC{oXq@cyypXUJr՘Ϣf? W2S |d-2 ҍ~Sd,S%%A@ [ǓO9T;p60 Іbhr!-VC)5W#r"+LgĝKz;y>eob誯Z7Ov \e -l䦶gVUV7uPSR5`2,׍U!}qg׸s*:ፍbz`MrZL5M<LF&2++ B<Ő" OlNHk^ΏߞT  t;S|vҺ-0zKpS 9z&tׯ|?=VVV&UL57}v <*\Jbҵ4scS*`߸eE`>F[}<]2!|:jZOoo fM* ȔMr"Y%qݳ<^8q:RCy.̮#ris= 3{y8`Q6Nzԥst:>e>BF<+ɵp{|g>q !i}mcdv$=3noDSI01$PIP(vF6 x}yP3,I1h\$MoNC~,O-8eB?MrȊG' eEaRJD3Qc[ϑHQՃ)i3#'(alW–j*P`t\}rA.IIvh8ٚO4;Z n!;(S<ƇF8!SZ%W?HnU+2_(vJtn+d_q1VoIyd;$Iqͧgjo2jݯ3=Ose_H>?;d\ofO\\\'q :C_ۺ>u FÖtQcfc=6鄶MQv$ 0Xvg+dM%-yz_毊h㍐'3:w>Yq㧧K\ݐ[iT 憥mnMeP,Ǭ Nr:e;4-fp[߶BH]ũr! ;^ёQ4JGjۣcmQ DNbrlw؀'R1hT0_v MM"v";ӗ=Op);s_`輦ei9 75FؚXӰfo;( 1> ~-krn ?z?\ii^d|۲%/+UJx@Ю1P?΄eI b8$ڱ͋JFOvhCJJXl/+,Q@I%LmTأj5F4  !ApO$a8P`DTJM_ԦP߶-pD1([E )bpr%+<} v؄N_QȨx[B Lĕc( 46D֣QOr.;NbE\m Q64:9g&Ì0_g7]҃ LV%0abxo4 $ֺ*&AH2o/> -b%OkIrT a)oH@3lqTh`Cj|vU5;=K 3 Qv)!JBCvh֎jM5^M 37ӸpEP 2 BB~3D(Xi~L6i~Xe24~ӵO:>yyʟ[M(I!)LkSw0&kMTGn~:M;wJ.^/+~ԏ[gHiAJ)U0Anz )W())mC}B`uKˏnG酶f\+Ien9>y .L-)IS+t6SmSm@üxږ(# J9ii6k쌓HDI ҜoDH"dY\$co۵ΩPWiXL)nϞJJc,BҠ".&ՒM-!'jV;[/d1i 4O88u2<nMG5/SƁeSDǣ(OrF.aK0 [TJTq+>[0L \J6{=Y&3o/<8b0k*Rݒ' Cd0Nee/҅zK"~`ΖOMth<HUi)xea!.٣Hh6=:T Pu*x*@4byF G=7A[ A?PANs?ʄ$#pk :YDA]&T)BCuE*ͪ]Ț1C!}ml r}I%pTK,rZ_V{e-= =nyJ})heyKm6=6VQg>G ķ-Bz)[IEH'Y J~|#FJ? <]fܞfƦD+ojp3}֨P8N/DHL'KB4צMSO)S~yζo:`쯲 _4<ZȍKۄR֠ZnR3J6c8HjФ>u/V/\CbZH?xRFNPɵK§` D jZ僇 :s"ΐw`#I5Ce8nzv0ũl}3cHz#D`'Ň7=7TJBy^x92crր,x*s'; 1:ԗCٌ=!iYVIBCYvUpA&TCuh(\Nx?otLVr?@5-3ǁ;E79'ܰI!k|&.|4^7zޖk?o-ec~y#}[m~ABe-o,FU0ͣ8?yύr@'0ziKփ6Q6FYW;=&HN>&ACYFgyE+C:b"2v̦ Mg8?>H[5'e  k I lӋ$ߗO=T>EgK0rɬE ne:w ),]G> lYa%SLxo\[_w ƁNRsoenT\vEzꡮ[= ),Tc^`Pejgee[$۩ Xl-AI[ulɌXL~ FrIf, C锴SqxQ#-~PF\@(ԁhY(JH%Ad^-!gO 9|O:׵sg}3øI^"10S>ЈCcĺfVզSK话יRȔJP0Q  @>6AoPfƀP!CdDCB[$O5 K$2 C?.c@ָ)1P(j9|~~}V)[@SD1~YE' Hl[]w&d?yq6rMAeᔺ7 m*t%|k m)[nCG{[i8/ +zK#hsl>?~Z5J"'U;{>a y(ꗖNdzPN>54QyCsI;UeAϽUh9zTsJmexY wI9|<3a|5I׹$~һ5!v+ɽ`TqON?ZtX-o=gL޿ͪ$YdDc!ĔICY÷xjx-~BWHm^DkWh(OˬΖX"( /6j}%N]v"/ +1r?( (+>dc=0C]NVn0B#b ia 3]X]!VnEP 0 B^SFhDx,ÁPMWҢZ2]X#Iur'_Wv^bLz1eeיe\W}Ӣ ^G z ՘x^@[i{H#?wZ&ܲ;wXӢF_SfCEx-FXcTpvNpPGqki^<)ߢW_h0:u%_qxe_c]ywp+Zдy=?'Q܇j6ZlyzzYV_|[-[`gYpDծcōQݚseߦ{S3犲RD)_^ jd;oS!ZiVYm^FqCăb)ʔcCM4`{|g;5u-b_WFB禎>Kf,hۣUMiN\W+nE՘y\ò1`_ Ɔ[״Y-dwWq' `+*`z<u߿Y;&Dg!MaU+v #GC(ctV Lw]& *3YcRS>ۓ^ JPE Z48 c?FR4U! ;IgjQ }DZuI?!iI7cQDbF|دAI;1ipEfDԽ 8)6}|tw 2b3t&>ăLJ aQbZ{(&ʑ03&c&Fo]Pr@3A=32M/ V8!z>PZPK۶<@OZ m(o_]`Yg@Q Ͽ[<:._~EըVԭ.V_vcwƞ#ˈCx:g2^X(4H/dqH֥TdaF2hemH'i0[,ύRSUMYZECX2}mUlG1#_^5ig,ORrFjO z?d|TKBgXzcJd*vIz()P<σkR )?aB{ xP8Pvƛld!檡|0B-cd/mb# "Kpb{;2I  EÐ1sg3O$ O%KHe#*Q!Rct#RׅPs8"(qu$-2c罡&TqVBt!KKK)8l {qsQ`-+1$зD'vyR|<֛]e+:2p:\kG>DQ3wv;\-(jΫҭzç{}) A]hQ7wv7yb=w 4z.x4"^*tO^ lP}pb|̅HXL(li*LpiԿe$FfE!*F<7Wsא8B`\gB"Ա}iuH cW'*eL`0B?_6E/N+-+5ښ'b 1'j_ZAB?O7tj,TsܖԱD1ف 냈±Cz}]}9Z]흫&hzEê-ݖLI}N, IH0jd0L>yݲ  7x7(2` 0pLnc^?O8LF+É2Gw.!qa^?LdEiʖY6WEwgYLdA0@JgA&UP ɭA8]<"&M~>v|(($ăQ1@I~6VѶJ}#WX<-MY낿m73[fZ;j ý3[UPG7/4$k͐a6Epr{w(B:stq0CPAmo,I4˄}E?.ߛn!^}˿LL_F_j+Y-%Ys| : |_!juN(.mUa-yHЍ"禺Կ?˙,$iW}I6ң}޽ѷp v.}c/e'6q(il5vxB?k%8! =˗;p}sW e;&_Ya ]2SvRkD&T챕i %*]8!'D(>[ICpӄCD`0 ۋ\FlA:N `DBz쉼vY"~*HA*>zdePO"%lO*=mN uħ<*2Hds1䙿ph ON$^-o4MqKx9$ J(K˺/_} fn$-?D_Nf+jrx~[z0F$Dh{*b5)k!vVO0n>}5SQ>2ɒ)z,u[j!pUlt@JDaIaA' *]Ix:i%hX0?r\Oo+7g~/Nr );Վ7-d‘qCTR<-m-ͲG}jZWАtF3I51#JfWW}re^H3k<wMN`6oEY;Qz8*n.iIn1,f{W x{.-?ڙU\Kw\UPMX鸺Ka}J})F쓾|zg›X2q^s1N;WZz^ΘA ǥB$Fom矙>^n A6>SՓ6b*;Zæk)ZYam@| Lӵ> sEg&uw?h~g.kM %ya`DB> O@[N.R^nmZԓ葪j[Gx8W^c8ija-,uO!C5RGD_#ġ$:n_j]?M`E.͕*jk~ /Hh#'۝c* ǃu:T8'2"DIGwq$ E[ܱ`j,tX\^e%N8}*Dz ?R636@f=X1",fnԔn?\"2!o dMęJTm1.l jˍOeŢf0@#ԟzx`㚎&ŸG -A  G#Rx@ɏ٣Ǫ:/{kgHf!T I. :"5K@,>_ E)s%Hwf'Ap~~jǖ[]<£UJI a-X>`Cq~! 3o&k$UZ1t&0~31u:Xm0赔QOqKBO 59d)ɔ,Z&#l>EH"_f{uWf] 1Jz"qRe=T<ޠfC3PGD7db앀FtWɗ4DUBr/XwTV"!u 9Y[&')qV$+J>-𹻶<~pQ-4MeUJz/nOO"պħםsߣƷ |#Q+ ` ;hbP eλgzѤv%M/ο;>^?wQ>/+%q_'\딧ai)+ĔlR齕$6n,Ջ>[ ӝC6l|C9$`30Oje*H$ģvRyuW-iVBD\ "皅&5wWǧͻLkKp]u!&3P ';öDQ܍A{$m09 G[!Ew.yq _ w 秩2$& {yբ$/;LVoL~Q?GrS`)d=tGF`ܒ(H͝GD+~'W_Iٳ&5<7˵ Q[k%9tX@ rh}EJ",v[z I`d,h _ȥ@7Dx߄_ J Sb(Ƞ" B[ZŕQ |] 0 -6E?"LΤT& (]ӱAn&LʠҜ%5EV@:xz94`~H1#LL㳑%::>fx((AxV w姴ȁhy8 5jbؙ˺Q~Ԓ#?GzUѮ l`f|c/$󱟳ךSrf׬b ], JũѯvJyn?Vp.w橏f;K$|r- ԌI;:+J"?%?iyS c×*rÛ8(" I&=؆"Txuʞ?=7$_xϏ❃t;ےe3b |ۨ ;\,?<Za' bPˆ5Da8w׎{gy,:8̩[FK{R&\̢ajĆNMlwۣgeWNXH-< ɤ <بmdf/=[\"a5W ]g/Ar}nźpJuMv+EM'|Afךz}T5hN5vp͸ŵv93 I}eU}W֥6k)#?q~Do$C]\d] (Rhrc;S{8ܾAݧ@lX`S퍗lro>r'29GYr4o/57EKj4<10BMO5U6fB+lsռU*2t#̗ş:Vi{g]]>4s,waN civTBnr7r;ى v{Nڕ|Q\G%antI]⅔8؋aѨj!I~)ӳ1QBs=Xc/'ZMac3/buCA͸^ِݷ&y|r-bNԕzR"IAmBy瑏lcJ"2=Z#zIdlRbU؊~ dXn)%!Tdϟ^Al/C.)o/Q6rhH?s0 1c} ruG1@~rΖubNx6c¦i~|߳PfubqtDd!+?rZԕ,΄~Z⡛L5|8_ _!**u6ӗ &2x|X͡tU5P?\ #N>EG14(-kZ{+K mq?3p@lk'0;ߐzIhK7ٌk"ՊKx$ȎX;Lc(&T' r̈T-\e7#K~*L!8ƼY*s8j(Y$)@3&8F!($BP6ch@t l(GHS?[]w8L;؋*`_Iqʄb&N~vvxxym>RƎވKMZA#Es|ڸ2aĹa0,쏉O~]D۔0هJyVqww#q́n"V g-[ЃL9׽kQ^S&ʺ%h9_,h`$۔5p;&[6%^\ygV.}vZөՆ|V8˄<`3rO4G5G1_h&3$߈h~$et`%_\>rTD,Cq q|y%z`YfMm'Bzw( s{Y?UǚNº ׹vGnP|z}lv&a21>u? Mrf`M>is)yO>\kK%{4oKY \"5Ta("OxzS n_33XILj_Uܚen1ө.7: OSs_2싈N 3VL$sd5_<]_c|Khw)8뜌*A1A r-(R((1z.UWiS>M:o\Ε.E-jb4oJs?䃛rԿ&:R2e^%M i%ܯF.LHI:M4@ȉV*(ҪH"9(7^I_3R*/$.,N1)yqE-vnA@R:Wwɩrx!&kwao&W=PS v^ß}vb^t=m:I;3MdP˸z#oӻ7(ZqYj%Ck]7ew/Qg9OYvzz]^`ϳ@wͭ*&/Gy4^h8xWHz?J(Ap..1p'( nFrl"iDT0R#!G3t>ns4//1,2V HuA1I\gF5EHgDSۅ}(t)P4Kw@4'3z'lo:trX8I$7UIOz|DYh׌Zc#N .a8\T!q (;+bl՜l($dk9{!9$j ": ^2 K&dE?"Z S/ԡAֆ9ĵG4 bPvyֱԪ4sazن*wx^c}c_.ي{ֶ/W==G8˶JHQbcEE6Hk Z cOVI&??-m0<.d(GoJ&2>_ Cp`V]"PFJCXj6s5k"[U{%_bNђ|msB? jB[K \ q?]>Brj4lF g$FV݅W[w8}Լh0/I hݗX~c}m^F#VBku(8~dpY P~XEaZa!cXG<~s4@*%#1 FB*/Cxc` wu`}Qu,"#6";J@ L뺙Ȑ%̩BYSaP*ncJ zMT7coMȼRJ994z' QrHYFCv֙`f_ SfLg0mno YML#TJ(}-vTONίΞ&4خz.~KKL1(Gn^c_cB5kƺmpyruT#-K}߸?ۋd]pݮ.+ЙuJKg2B]ߚKg+MOYZ&UEiy=.P)>A jJ0DU51@οE\C{6jJ_ @:cLD)(f6]Ur5X.uCwRdP!Q,+Ư"5 0-$] 1ź5&ˍHFr1)@L-Äp'ty[V{># <ba]NF `k106!l89lx֍e4XjN'÷Ǘ=/+p2]lw{eO5V%o",gΝ{.\oNC#t6ScLZ=MŤVUIta?8YfJ/NN./i-i+;7[QKlrO?( H:lyc٣ql16}60$K˜[Z \!HV`2gG)aeaRi$eU'(CMWJ\N39ǫmɕ Yl0uWۭFGr18|zRcueZ`EQAK"5iS&Er}9LUddgk9- P]ƙ`RUJlGٚ9VUJ˰Jq43\QJQncT9yf%25 f.5B$H|D(E0Vjxr+;3VWӤm4GAL27wW]m姏R;/Ģr㧧XY> r!2<}b[2-Hc,_ۺ#+.e%Ǟsm}㵍mf[W ha)mk{xeU߽wdhcX`,BhA0FQ1J m;?L4s/8dˡQH Y) ^`2^YH 'cAƯ輼 yV2H̴1$% JYY a(]A*Hڟ^=w!+@&[Kwn@-9 *Dtl,;-B BԢ k. XHE06@U\_مt^p ^<'Fj  f8ҋ/ Z([pD<Šay cc7<@ T%ܿʟ=WD1F `tYꐔbS(f1,0B)Rh4~(]GTY6M@5Z7`)@cZ -'2D$g>'1֟񓉑@/G /89>a3SkC6a훟w"˭~׷z 2)'aJgj'U ;<TU60D8JEp]tnS* 6_drkKܿq=<'΍ jw𚭬VwZ~~wWKE-Abf0P%p.JšW\rLk+ui LQ`0  ;)R̾Ryu7{_oY@Q.s^֛ jeT!Kway L"V=DS خ<3:iln<.G绫;ݸ]*<[oX7ƕà]{j/'oэ7nOkRg,+?hhc5lZE$g7ZHP.O1%dǮ_Ew|?>6d43I)$P hi\ud|t|V+P~3pRNY*LGdPkyCq4U3fL)ɕF, ,=\ae NK6kEXH3Pdzk|d(*(xY8ZryRܢmXRRz rq$&ϣHW[scg3Emd^5T4+KLJyyRQ3F:07Z|=v]+RxNǻG ϶"usW(Au˒ՙg8_1 Txn,pX]ݵV45Weg}=F OgNk0jE%+womr)BoFM7ܹ2_E+RFfck~r6iciVEG7lm?^[Ezrַ7q}{ك?[['4u.^u+jL'?7n\=`9y&_j tt}t9OBPN ) 8׋:O0`{`@UB76%Q0>q4ihup曝Ammd$}.DlBSy&7W`κdKy9/-LTy~{o^|ZeϑHV Q0-.8Ir>!pഛ70 >O uLfl 9}'e")LBn,DJm#ecdbuЧ1Rһ*gЀ\]{|Y*q ߸򤮬#.*GT'H{2$Q}:NᣓV̂#'":崄Lk&PE[s3M,'zb|52P ώGgS][j=pArXW+\;;3{vʗuſ>ޠwڍ~{vgo,Eg?>VnnDnwautꦄwz~7/g}K{}2*f'v/5׹y7"OʙOѣt' h-^:' 4)C-)x9*bP"jQNx UXޡRhdupև B$ o+]NDžF`AnwA#(^V-uӿ8~䇯{mo^C"ƕk?~z޺zG3o?x2Қ˛7/N}cV׮ nŃ{vg'7^TO6ӻ#)Ͽ%}#l# 罢AGKGE-" ε']&UtRR׷NΔҺ僣3akkwinWgH`IB R#FG6R))xa-?:ibOn/YLԛ K/?9,C+_,u"R'!N*UO?q$ʥ~w4\\xE8HKuÊUO&hk)JBEѴ%Lc2RB)U(ThI:'%ontR]ho柝yר]ӜF$ /BKj46/'/Ff)IV|U-ő+-Aa}A$Lq4l]i0PR,nms琵6QL]<#WV EQGS~2)!dl™^\ӫ˩Źj^Ȓs<%Ir|^9 E mt֟g58 H@KѸ0NM}UZThI#Zoi?T"NpkQ\pA$H#ͲvLR |D4d~uk򛷖udDD[/o]o7nEgckr`x}Օđ192Ad6DrQw.y] q/D{|tAuU/wo>yo|teiɨozʕ{W_hw/vw]jFg9շ޼f_dr.$XYҦוǣJ$)G,2-bpżYnYe1`r wW޸P-Q3ϫFV/tX"7;I΋I%qdJL LL&QZN"m QЕcp{k 0Z+'hJ:qemH,R t;<\_Ϧ <&ⵍi6b n'i%  B\+uQImÒs "UkY0:J҃"{ZbksW9y;lKO\g۷o{xmyNhoՏ>oWw֗}ۯ%R_}@@Tu4 d~ニ[?gW{-L0NuZ<>Rm#7 "B 5oj *Y :0v7ͣ0G-l([;4@c#~܁:uaisnwXы]v. vV6z=_%AgE l>N@we: ݎ@&` Ƴo 8bd(-mRݹ!k@<77`=\LEˈu0sl5o|]l nLiq @J%eUN%Q`%xgb^(E2Sg\&GA E"ɘ*%^ @P(zTBC&U ĿrAXw&sg\ZXƓr8Z[Y?=<_1g:^V0a)EDz.,v3Z]̫kb.mnM\xq7_;~|qd n\~/'Z {"r|Ivz|OWViٽ惫7ILҋWoln=.\8b<}~Vc'ĝϿdwКD[+{Ps'Ie!H'BR%Rt .Hd6X+ɾrYeJKY3/wQuU%Ao>p Rjc'k>r "D:ΧQ,i^$QmQ\k|PkiQ[Wǟ? C䄸~|z{7^>9غn殚gV'C -LȋiUV5K\?yH\P]$kk޸tv|V8.Å~ov*Q'_fTÓWݺQ@t$T$W._LS@Ѡ%~1XNr2 h&(&}dvi/_p^jCf%1K-  IDAT@PHZbQ-:YmmfY.Y2D"F2`4Gݵ [tG(gkk`me~NBG52$)1A Ө 1^Idl9VR6YACRSY\ ) )ex#f#$55O~Qӓ1~'obT61nox}RHo]$qQ,iijfͪN >D5) sT.ym  "yy/kt??3xx(ؽHd +bQ(Eȍ!?>C!e$R 3vqշ>k>~ʒ;tTJկg?EO?|_~j2.}~ѓǏ?N[_9-N^>;uݎwvY+uvjˢm om,}{!kN,2Y q AHdV{a#(}dyy_\2:KL"Ͷx6˓`<N*md)cO;;RHF Bpc"[{ŁyXqKIb>.llG>k_:2Kg/= **xR';NV4E-:S6P ҝٴb*2FXlbLC#rBP>cYKEhTj/=HSf)dHRR .P+b D쉄2<3)|B*rc$\2qK7?Gj'cM!n^J t`歏\|g{oOqrY*jΖacoogt7ǼwQqz}JŅOv:gSXQ{=]IYy1TT>l@J)s ƴz(N[Cy9F {b6닛 *IHɴff{7ɋ'I IRQ+VYJ> zQ $t!r1$ J((PQJR_W嶪#)_U|Фsrs`c4XY%v#G2CDQPR:`A\F#6ERr4Z տo][WEt~~O)z0+wV̏}g?r|#?}u+޾zy묨qR^K>N{g=[eo}|P}*%RmY/tq=?bd$^!I l[ `adБ8,T/ʅ%WmŊKI22DvuZ|YXgbF)u`g+\$V, g dDfl*xwE/>[}yW1?^%a>ywFbp:{<˒RNE9O3"v˃a?IkW!"d4JUuPҨP5ĢFñ*%%j+BO{0Vn?yi* abcTUri/08fY0&r>q퍣ӽrgezk)13C_WDAP"9#5s>Het bǺm͛֯qBt" !Te.HA:J#AZq>!!& *&20jPdRctuǰsGI7M6Dh$O{t2~έۯ>'g_㾐{HF죃6g;GT*묗읜.o)%NÜ]tcs:)*a~}IuMd)pR,=lqMU]LiL0G+WAJULN'Z$up!0D]"ʴhjܸv]\KD!MvkvZ1r,h4Jfy[䪮| 2QHp_=JtqI,Ov2Kn,U%ZBA@6P Jr]dY:/]$,H,텅2 ) L\C􁄬ʍPJ.v,\Ԩ,UI*Ϗדͭo?wx8 6mCyN7/՛[ÓG]eV.f)= u=jR^^?<~曯Ə3I;wϞ-1,`fzGҳY6ӝLNjH7IRdݘ0 ηe-Zo|E\A|fI>zӹ"Zܸu;Tl%pɱ}sXD$UE1I鬖VV:1YW/^.$[~t<-*&lWy-`"i>Wi3ڝWn4&=ܣº~Ç۳*|kمz'/V8`2GBQ[?y[|]_NGφ#btTĚ;=d2I b{ڄ^S.rg?~_|_y0QHMt8A3M5ҋ̤M\zW4wRĆ8JWLfjҬ{r`ZeYXpTf gg]V UYm#L )tr@CSt.Vk3M'd& &|ii֪}bi,EEogKdn+5?[ "[sl\6.#{7HdL:*@A0,j \ty_:|;\{*( Gc!z$Dk~Xg)Y'BB(q6+{gVfH:ĔC u>X*ziDV" Ƙ "*GA18v5Xj:@) Rx 062kvDS* BT?⫨TVN12J(i׿VSVz궮~h}NKleM-ql)+VfCj'"YWU HIZ.:G f0/=GfE9W_LE YaB T8:M:Dir^ rVp/#sN\xG$7VVJ"(#·H.Mt@Tre,m[l',9;4qr\ͪ *u,hPsDa)r49 J<) Rv<ꩭDj GS| fOח lt&BĈT 7*˞ X !.,:yw:Nozݯ8gSk}̓ӽWB7ӕd8 Z.>ڿYX۪[>~b«W~A)b)Z˃n+z^U([FDvB(}A J'w?Qd|<Ȁ V<p³o2WyЗcc^%T:uz`b2QPBJsYϬ PM8WTڄFQ@pi(Γv/~kV?K$ևFjk\38ȌY_Ypfg I&?TfEkji}fu+,cc> ,γ'Fiݞ9%DgpSR28c19NBt&(Q l,'g/<% &)KPTZB΄$ [R? !Bz?3-6FNHo/HƗU"Ҋ満.DEQÜj–,e t `) 5t"d8Kzqe`PTe#u :h--,v8=m0+'ʺ@B7bQX2*2- .k4H+QT%a`Z @fLBٴT\$EF@t{ 1 e"v+%v`@J4.x2mb{T')2ٸx>e;Ik^q2Y$M-yrrg"c_=Aix L"p+&w\_9}~9w2.d` $Cdz:,K>x3[zL1\ٳry7s/t?{ul>< A[p/Tyw89~(ueY_|\ cU i[TEUɵ<}kʦ ?B:9z.]}b'G0"N~ywOЊ[DϪ 2z+ 1" P\:$崿Ԯa#a7 }ƒgg[b؋rvpkv_vMQq: Rcƈ>g,H ^ %y)d2ϕƾc"yZ3 THj[WKcǮBq\ЙYyy"TM~rLݒ5(Yx)@ֿkY6;jʏŶu)pބY)\US}"Դ\BjhRq\spj8@j%L$Hf'"52 ffN9+)`+'dl`|:_ c?R?WԪ]fAox왏C3;:s2zpQͻtL]Ok7Ud\E.,w.^|ѭ̸wk^Tv?#9*b_{#{hbI.PRWi6),_͋o5HsG{{ld2?|XZ_;xckW7trځDb0۳ycBBäJ b1WAVG~xvhԇ}Eh?it?3__xrzjhἕ.,>?y$@,iSCjO̪RR*>,*.Ffh#H)d³?{vϭMNgN&~''"5/tSdv˫Wԙѹkoj>zᣟܼy޽󏞻5ݼQvB]lV'zcoN~3DԩIcCqr7g`%0l1B veD]) !hL_ol/B߮<մ"$VY&cMv"R(d!23%2b6.58MNI`[6&QrhPCW**u )yiը1T =bhu֞S90{>= @PL&rՌ˛Y% ~ 7E ֪r@5CuI)"- 'e.f,'pxh"C H{0lCS<-G#Y2XލrlITUs_zU8(9Eis$-B |&vpztUDЮ\pN>S*HHFD$Kļ|'fb!akt)è-(GcLJ܁cI Pe֓5=glVդHFW{Bg(U=p/Ok%z}oB+|aUդRi؅[GbфԧIC猆x9:(LO5bX$֖[bm[bcP֕ncHUj6*,nec9wiUNf53s-/`lO_tOGz vչх> fN%)YD96d" <;'f n7&ٽgi~iH䄽;we}εAI,!ќ5{.).0-ڶs0ה` fA]NON|ש=^Dkhk~#5(6p`Go޼w޺|k?gx78{V)G]7%waskk?Xї^}tvbv2l۹Ͽw'+7>l 6G>V׿M vm˻}/|I`L $Ѹӷf1-ʘ{pjo~&:sLpxdoTsؤLa*]b+BJKD64i$Sb *Wzkh.j1p?fƮue26I"*ғQƐ!,O$QIDP1dQf[g5$9'1G)d"3BFlF/MYS br$[%4Vޣ 1'GFP*76nmUmȱ\v.{Kx8^([r21{no$KE:c}lR:;Xn->V%QaomgEeި)m'GWF?Yȯ61`%Qa7+?K4}mwxOO=ğwLPT9R!\p9D&j7GzL<}s捣Rk,Ɗ歱)WnXtk߻3K8 wg6!ׄT=Gن^z=P(,x:gWU8,99sztʕYGnw2v_ʹ:eqk_O_ڮ^$ٽ4NM Įbhqkٸ;{nK#7s&[2X.-=&]5-]\47"@Ia B4-;uvg7;w.%fILҭa |Z))H#NFu]& ,)dfFB 7u-E$ĮlmaD+7Z7 6eg>_7;ΦlrJJx%v"gxcu1iL !!f*,Dd-LΘnՊ,U%'or.{⠲VҬCJIb>[FEvFĵ+So*h}\Lnwk߭Z`;uv>/ [dIN wG"gvRk;n{FF TŐY2kg>$b`n9Ѡ*W ^ukdG߽qy#kϽ(gN*9?;qӏɫ[ lLu97'ӪpQ5dG9$ 84i\6=(k.ˢug䒦8ӓEΤX~ŗN7+&m 2NN \b j?8X"آpvegqu&]}6핺c/|Tk}mS+Cz0o߹+{/_ʢ2fc{{ޜN<{e9;:|^ٕڢ.99[OS;&wٕ?|n<l*ǶԿnSKN26ϭ??'/<>ٮ/̸rѴt<0qU IMl(ljvFs,ՖW}o t9ggG_w,mxk6Za{׾i piod$T{Uv>;ήwݳ*>Gn~BQxcOܼtp=aAB؝7r{=WUiߗ٦[zA6q̻@ sPʪ m$%CC($/Ϲ`2ItXJᖡX;²SacP>V``:wipMI]G6p /<{Q  {3.31=)/bƘf1Y E+<ӓ:U@.C BVMKF Y`:+똗╭g-Ar52bFjR(\?;PXn `͕[r,6a8{a{'@0Qi܄koFy%Z蕢.(s$DLM̋جq 3귫'6=8Yk r H&lrlH3"!$$"̔@Eo䨎JE39W>*4tU.s6H}X;2 !0rVHrQC2^~O&ZvRJXQըY/TJΑg.&wΞ=usf[K<%hiJ{'d~Ihz%*(1+6gͤD1%QQ<7}g~qer0M"rl_\?,p?[Cn?3X;kahi`Vi6t Ua;p9 m&ZIƅ$ZJ])u Yg7u9mOzf8>U-".X+,^AMVYSu덳 &6%2vU>e4>E;;ݸޝ{0m}hVT"xU(xI|aGk+둥ir,G]3V 7{ޭ?O+,*.hQKo>0;{yث_V7X P%L)i^jSw|md!΂v q-id21CU٨ W7lο<?U]=9ۣGYJޑ/j(Q'GUr6ne2)F5F.hz̦yf)ɩP IU`ec' ^ڤ8e95HiH3j((IKytD6wCJ-Qzn%fQ0ⲃ%8[N~8-zak{09ɶd, 6zY5ƩNTڜZ(BfdLGPEڕ & JR$%>U ݻ7*m9d&cdU{r+t;ʽ[{r}7v._kf ~e/d$lj)ϻT Gl⤝.+dS}иǞVi\ q6Pκ1RЃ^wd Ic*"3LI"@L$ CYbKC$5a,acmr<=tFCEjwu䇞wx`rld.d"eIrۓTzm+Tk,1`+2/}+֠'{=dB}xy#@⪢2e਽+K"s1b__&r%,9ڏY@ /ƽָN+흶Ǔ>f\UT Jk;KļKdO~stEA(,)\Jt_V4M ;cD3m'P˃u5 mOmw81'KqΪp&Q)srx3 #x|e*~sk J&.q gW#յxͭ"eب,2`컨G(_xҗVY/FzS _4FxEh:L%u!j=LfRSLv6{Ҝ=! /&Ǡ~9?^h$͕#iJĒ<;K21L 93hJx%&5 u4(-P9"V2&I,:աa&dUUG ̀r 6l^vm"<(- eYDDr/!%d!oԗYU>j`_hi$m[H)ɽ46 UJ0b` 4!|ped-H$.dӅݳ3gSK&΋{o޻E9E Dٚf74r]NbD3t+[fM٪ں[`DAdʺ{ﮄe [Vl*px˥ d{;;4䊨0H1TVơo%U3E K,`yLʄl䇯5#v7w؇Frhs?`stvA|w ]ٝ/у{k8qyr\rlTWF.Z7^}eRM݅s3=ia&ӽPz{LJ -7iw4/WBk?H'>w|OIZXgɃÓ>tShS]O)B ;ԣ1!ӟ}m+:s ]Vq{NHR*C040mO&EEǨ:HXc$Jzȃ/@ꓣ%1-uU8!er),v(`ԃQc7hObdX$-be)Cc~Q1D9!d94+b$l@͈B I \LֆN)Ҩs,sj[4ӞtXFEBD @NEma WEw,dAD`oLfP"ΊD\,Bb "2 Y%z&TOXRrvFJ3UhTGhHšaam/tyyQAj=mi0xrkw_o^0[wև?^rըѠ9u͠!p"eA߻ye0+[ks+k#kiڍժm"2@!>;^ڸw{u^~SO?^~xrBӣ]w^ԗǟ|p8k>;ٺz5m.\:gcc^{(RLf'f/ɼYۦX<>[ǟƝ[vm\7e귝°kԮ?hf?'15d|pwc4 W"*JlEE/׿cOs!KCRQ#$}0زZ-ntxmC*A51懙0Yƅmg `0셭Y\\`/@25 M(9Wݹ2W^z$qZ$^4,q]cOq>xx ?9G?G\L@z)pNʪKr+YaX]0?¢@h'811,k1%IܴS}j'Ο>:.r>zo^Qga+WuWnuP[l%Krd8bc66lca {cm0p8㬄dN]+ syU5֨1s=wRFPApXfj`uuu\lֻL3%-)F˶TvgN͟hg AH()FZ8J[b :Z7koڲ~|dVð/ ŲVn$If4-?#כޔri竵Z}*޶ŏ{h'[- 2#!L,eO sO Pg<-J&IΚJIia+ª?6[Cv igiIl`,E43rmbbz5'VʅqA$*0] Y )YBqNMt,lV eBAffر݅0+0['$)-95^^nK]ǞAc`8fO%ˑv (rIOPHJXTz=Y>qv~Qv_C돬4 h'I\.s-;q|/w^{7"$ HQڱКHR* X.EnѾ:3g[Be-8o_K_{ɆLz|齷ݸX֛zxhyiA౳BE!ݜȥ9 +Y#ЀoۙI4itmH2V Yw]FAd -p%WR˗m߂k3`rT^mvbԬpYy1XmܶvbN푃'7\C܃b5.jb~*!V5\sbh8\_8yZj3 p@˔tfHF3bCC1r&MW2voDڀyQcaR VᕍOD@B$R0{(&멣֭p@2*IoUK! T pהvlRb5 jLv qe $%zuBڜv+(l~}Ͷ8b ^;:f|NN{&Z˕,w\7s A nZZ=S7cJLp9rO<C۵B²7V™܋2PiRe2TYu-4fJD3q,08+X/{n)ZU7/.K_Yxh_J|eX!")W,/.d}/UzkݼtÏ7nv:,.vvjˋQ:Sq7>7K&Η^Y%(FvؤL, B1+o[S7E?=ya|@|0gX ^7?o޼^yvT>h.5Wj征3'']n˜v[ IgYHrOIn <l|RsNhjT t^3XXO^Y."'T/̬FV>Pty7*ZVn)Fz#P;pNG\-$qA^Cn߽3s+rE9ΜbJJD$TnU :Pq!Vm g,֏U۳zenaid4e:~bo%_q_T$\!pk;ycw/sw-1s\x7͎;GdFҵNbAk54346Z0?=),tkm{`|@Lbb@bQX=le0cQ`ӦN_xf#ge{B'`BOX\]o˓# fpZ}Ɨ.ׯ޽W67W.`Bi (TtmyK*_Dc;̮'b?3yq U`Cjg`А߬1Z+C)W:y復s|{' I-E~w) 2JfRhCBqj,B-ɑ\z"RR pXxGJi9i/ z^ج<J؜bz{4p`5 0{&a ɦb5Ad;^ 5Hˍ RYnpJ>Kv Z~h(Dd9_xy2`iTLm|@8$P(ӟ{2YعcXv@kc@}sXiMp2AG^4R=_l|r;3>TBn˿Rl-y殗g_w,V+1Tu%VC+Ku FR {A&B 2S QYv*B횹,]4Ѕ|@ IDATZjZ- $W$];Յ@1Rq0\TJPEAjWV-WR*,v7Wo6a˖v-UV(#-7jt,vb/U3lf05}j P9"+6kgN_\dt_9|^H=//S|fc㊅B%uZ.3\ǟ%3x]{z/K""8m[A(\, d8ouزR)>'+,@x/B*1kցv?P鬬>;gz]<{/yYf2D =1+ᕒ0)C˞.BHi OR\P9 !}) oͽV&l> ]!ԑh< ɖBzA^!2y/P MF<%",dXRx760nu2O!Mwz}C$@ۿ߿c|_z}/ߺּzKݿOz//~sw菮S˩ )U_]ܽqa~]/|¶T-?s/\lCgݶyS<4BdXi9O>'^ȿK2E82`rM:[`5 0;-c]U7(:-iti ' JrT²t팊aRZ! yH+.˜chik QquI}嶻~ʊ2vy7O)&gxxjSNZC]v+R8İNJmo펕],6Kn\- [W6n׾y`\XKNƂHVm'?79Ao}+YpCG@[V>zY4WIpZ:s.qn%د,5Cio߭]wel}5RO'+1( Tzp͛F@'vsHyRG.a@HJ@aliYV"$( cx\.q9 ˵nB/ɳC*Sm5`&m]@[z`jx8O{6Vo1Vn%0[S#}~Zd{=bs;5llF:hW,HZ6&${Қ=ɞ+Rɍw,se6#<[e88^!<`&ǐPcr 霋 fPBJX(5^)*R)zߡ;o`eۿ箾s[?~H'^G6|_p]>xϹֽ[nWw֏3mYE'v+m{=>g/%g?n~_+w 'TW:@wtˆ [m×S޴C_@Y:8Ӛ_!-$!$jUH#am. T3Q 5")l1_r #PZB<3#kWN1 OR1J:c[W|)ZiŭF;MS(FB9nJfHb-Ʌr~ؚz-\.(m˸+ErjVfY˂`m,}Yg5&hl 9p[_^2<2}[)" r<[B$ ,ei"J4W7ݹM+fJ @ݰcΧLa\}$lZj;!"p쭳]%>ׂz8< %gX]C3ىj@ M{? u4RJaX=pT%RT d!$ ˁ3q2Ф Z3t'3is yˑJ*<NYJff 0/5]׬/Ul3~@Khpi⢙<`#|lKs3Ɓ &K{PqܛR8@^#p= ȔEcXmHIZkB{п $Mk k= Y!=z"GJ1[rtN8Vp(XgkAPj&֩ى5;+J/w<n׋7]( RUǦPͥn2V%&ύ }2;gS{,xL\+* #MҸR1{nQ,F$2Rf\޶͞ko8qM8HMydJt[B9Xh:*PvB2C$iuET̚yCc卛 .MRV_[[W5FBkfE^0Cnqoc'.Dz`dKټZnuCnWfxл<1cfxd6:йn7cf % :w#2yBJ \a|?cSz2L@ BNBHugatL8E =ArAZIY'[py+!dY|jꁕ覫4 a {˩#CO=mhODk}dc({sk*SiRkƛ+ݶ':qRk}?r]rC.{ ~f0mw8Np]{/m:_M|M>/NLr*+e d%E# dF9iȱO{o e "0iKcuVD6TD!uؑ/Ũ=uEd|erup9SZ^fS]~WKs=33y~BP]**diOD2l- bKH(Ir=Oh:m$Qayph MAPS+ v56 B &yW(T;NXigOZ @UoV8W*qTI!H˅x(J [8UJjPA!"ofyQ#N ɭ$F:$70:lן8uκ٩'{/1!s.("VI: cg@0GF&^YQmbjuwG{A0vzSb;yS9#YP>8C;)# `exv=SZȒ}tq ƒd(ai~{c}eJ m0r l;?54'Œओlr ̖=2HHas^"玥(D[]GRd9)󮞚G^җ% ) @ 8)}PW-ϬLONL\:sutr(3ZoLBIvmE75rYk3/ͬYe)H fI܅+F^k%P +f2qEsLN2(TFLNGVT}a)湳Ã}pc'syP8xqxvڕutHzcjƍ \DSO0?z`\ݶsje,O2ɿCS.}e&wtVl'T*i*K5sfÿo/\/m+VM ]]^\~薫XAtR\4vm/UFM6<Ǟx֟}'F<:-pyb~zr֚.|=kܳ? RV`J-CKL˛xgz@&O(%<8uǶ&+KRm蚞 n 6 wDPi4~Z߹ōgBJ,U*2f5[kD5YXXuRw=NqB =E#sgZ-ŵ۷G7>)2rA -x,yr>*?b}TBxY9ke򌴰:$,K8gJgp gP>,GD 4{bxV [y =!B3{f/pV*a]N"_iACJ')={i^g^VyOLԬcSޓ F쉡PΉ({k!IC+~`UvM7'4!޲s8<3LzU?3uKQkx٧}83U*o} §^Ia`dJL}k@ՊqXw,i3HuKWw8{. 3?o{%.I 2u (^%07z=ڳ,[ aڻormsO.WJ+CY\+y;7$$eȴ0 x4yoAϭ$R-Xй #pskzgyy(T}{k&Yafp@+@z -IZoJfZ"X# [1D $ dÀJH7@i-AxX/Ϭ1 H!JJ%lØgKB2a 3KBK5}o|ޯ*W"7/?xey}'S^?}Rmr#UͿPx˽_};*/ŕJaqXyqg\ttMyvua:7ݼiCg/sjxJw28rj\ndsNJsw޳cZ)όyn },V'46ؗ_\Z9W+O(LGHalw];u|pmՙ2\2(*I]Efd +J0VN+ͲJSqT36q,VWyIDRuDitYy V\doھ33E .O./.N`x0jDžaj=U6nn>s0yri徝.&~q &/ݗ°_8,[fl0SI.KnylMirlei\1Ym~hnRGƫ#&O \; "G<&wG_]|}ڰG>˲3qTAT4a?l5(jz\Gٱz..yHRE`%< D^(&-PK_…-~F^OlϺK\J#ow}7|k:ْvad<I ?= <1'<3 /Izr䙥"Ϟ IsZJz/ ʳ佇 d `ĹP23c!E1ڻN~:[CP_3M=<;/oݽCsO}Wxdl4[osz@u5طK4&]6JԴ+^YՎ_[P _R/Wٶ[W(jvߴkFZKnRJˋdS~L_n/M^ssS|߇: Kf~ёjno=T苷o}9,kfVOOwxnX9y(TE.Hl{M* |cW/NڴS/..__:|n}sٱ>'[+L/09/Eb lL`r#Yenb@nY0TzVn(gV:m5IT*%DPPJwqM8 @MNpBZ_%Va(%Ji @ >yWyכ2C AJ`׽r1i3+ KsIb @HyʆbohK>q]ϾN;:*"iCyXb!33/',(O3 kk]X}ۮy͑]nzf햭C}e?z 3gy1s-˟Z0⽺=~uyeYf$)I 2T6 !'ƒ{x@& B*yXJA .EI' 5e" J:x=rX)2Ƨ@Y DntP5طO{˶wSՁ܉3۾>ū|݇~ursy#[מ>[/MKIrGKŤmRmCr7=ГÅN4s۽n5O>|j75;ĕ#ӵ:V?~VlgW0u@L5y;lTQP 4˗' >fAguz=oΤ3H:,Ye! N3@h8! Th.:TQթt @cc%ْeMG: wz3:)]{߭[j=MgnFԭGKf=;ҭS\^yap4[O'>ʽݗ[9)zP`FVhj$cqѝή]fQWӱ2l{K˨&D޴fWN.` l0^|ۋg+{D,JSu~MHj:m<%r\XTߜ'ՕsOp@\j6.¹F`""0'F9[=; q:ʲ_|ȼ+Q_} KsGrd'q/i+)`$8g!˖Y)b,g k=r!!rx|8+̋vRbʹsѶ7Q1 ŤprNir, s{` R0`ȁsg6nÊp,$MVEHi,gm3V$ޑS kiyhHDm9wkܶqhGk/b%jn^9綿|]ܾs޺'ׯ׷/ ǵ?sFASTL8#m"t=5^ISYE!, ƭ`mUxۦMR˚aT<}2 l8.nhڊVSe֖M1mvƔ֍vdͨReL߲sQp+ZU.W3Օ)m{4*ƷǓɶEey jAySDSsj?gL+oJ?w/>WKffP/^./׍~u:=S;G_βjJ]x= i %q(މ?v7,Ojf2хO>>Gr46]^*шiQL~TX'{SIqPeM[]!#?)9 dT7坝,q>_~n+o;+K)SƒٍxV=uz(vik0uƅwl,e&;wz?^?wrWgͩO4=uNe9"utP?s)dEGmXİǗVVUuRt"p0"ƃsWy ƶm< Z'\J)8T:&8;/p/GzOtV,bIֵxXB;t ХP5gh^d9#N91ͧ1F 4'Hi|BqQx:AF*@ZqNP@ZM@ dܖu0PO$I(8Vn|˗ͽ SY2m-փ%ZA$ђ܇$b)V /nVc5' Apf݉3gj~{}ͮtRp2"tx矹~<~ִo'k]vtVH4LU6,,Vd۲2J)CzbbaԢru?9ҩ*?a{0"6otﰘQD>z1ֿO?@Gs#]c&iϒ:J 󭑴\"D2Xh*FU,w#0NE+MYwm0.!&I"MT0NdlɩA]qyADdR'ubnE]hl&*"Tш(n\޹mwsC0qĕ1"1\?ëo?]5N%ÍUyo;k&%Lۦ,&؈F|sk_m\'KYg浝sŧ悉8tjZ₴U0gB¶ueqOH4+ۯLII[\=j̀U-xHXZ~K|E,زkK;L yBQabL>3{K/,ҎE'R Y%~s3Lzſ~SD,ID[@Q.k$DsoW'/:${./8>LҮ:qfX2D5B >1: RH8JL4>UQۙiwɋlITbmnۃyOgLP{KiX;{d4J(ot\A[p([;Q׺NS"# )xc ܓ1-F3gԟ8*F۞ȋ۟'|3RX]=Oyj9z詇ɤQkDMD8?Y^;uDiˣJxr㊺Zs.XQ %YuKӹB.rz.wA`^ۿsz8|0Sj8?q[ű,?]/g0-oͽ]m:k=8裧\ڇ|w>}N`8 ߘgdP bd]ۦ Ȗ$DBM ϜZQ_诬-ek+B@]I g.̛<]< `;p91{Nʵh7-je\Y>~T@jXW8BY'{C(' fF'-B ޟ3S+ےc+%g~2eErbN&rszw\K~zRv^sqw'7Wއ;&E3,*KTYwVYi*Cef65֐ U!Ȉ %ݰP1fRM*U@ A6ʒ3MɘK(8 rM8&hyv0/M2`KEԦ[ϞE,p*׫Uk6Nnԍ\qfl u[j jj"R2@k+-NMjXZHÇ-Xd]sLl0νD"8s\$ye %3%+A5 )e\u%cf^"ٸ ZSe`BY%Ir81qGdg3֖֮<>f݃CrSS.,/֣rWVӃbs%'z f=VŨ>@xtcWWmU٪I:ŷ_n¶uexWΦζ6D]rO{"A($O<& ru3+ӟ{3lQY!}G˷>(q饛Gh떟 ^Lq4FKcgXדB߭-E3Z,gu*Tw~3iAQqbMmXxKLGkU{@㿻YsX->sJ +JrgiJ g~Ř`TEitlV\~>w_]ٴv18:T;EX:W !gnO鉇/<~esX^X%cvtRrg7qL|SgvۃEw37}msL{5b/)g47F`}u<_[w\xfm~^܂ ѵ6<#֯\P)&\9]zJ2; bk4|֧8)jF Q4.ORX @VH@u S{O^/k<\8I]͍1Yc8Ր @aJ0Ɉh>eg<51~>w=ιJ՟k$0=J@I@+y.@s8t~ m<3ٻQD_8v3E9qm\rXO 1.LU=p+48tFӍT\F`7S vbr#X7[D;9ǃ+Nԛg/}ᡈ{L'shye!ئ--c4Y kη_5$GKz|{d"n}{|X3.s=cm .,c/A?sr{/yZ$ <ػ};% :Y[ bnx7 vG.n ~oU*z1&3ze{o/@-/?;9  Rq:K)L?x @?̣Ͼ6:j8!`<ЩZ^;Hh&,,sv@VD5_IUB?+Wv*;/@f|$ !|wؿ?./L?K_.E›:.ʸ|L6D\sHθwNe]%{YcR콸S &AtL<;{SYcqĄZgىMoÛmZɴ?լu:kKȣ[wWfa:AOA]U7\~UۥZ|t4D[^$y+kGt}olA ]'i56[KX^KX3kSS[.|uxjguȪ<*ۚ3I.JK4 PJI}!p&ʦރ8% \j.C:[3df(BmMNsV}O I,.80͑䚾o pM S ;S-cbRWe깎"qjxŹ*a2bI>WĹbqAPtVeQ$R : \qXT@x "g 򶩥yH6A+5\ n\ȎNb|ֶ7SŒ~T6t!DIn鍳 [*@ݹa8%Bk`lp=Igc [}G߸;l,Jqo̕+ `.{yڝՙ7Hl~~أ;~ `Ĺ#lUv,zl[ZZ|3f{z>=z,)oJ_?v g_O;{v/Ǟ8 P3:yt‚;#OQG;o6@Y'_8_3XQ0D|>yA`K㸴ݿ \x.}EHE[<."I"4"8^ԆR'Ym|W֍xl%qow3.g ``;@+Uc@#|0+'"p D9(0& ?r 11F# c<boGu82tԢ(Q{excZ׶kv"=W٧χHLTƼ5+۽y7}ͅԭдx=~.d[ݾsa 3s|@{|}.me_7p9_]r{Ms,h8x @z}nO8Oiivwog>wU]vm)8!)@(!@AQD$$G1Hf1 ƸGUmt[w:{wZϽU}Ϸ9ҳ]k2:8q1J挮Do},pmrZW2~;ws3 HOF? wgNxS[/ͫ=XޒWk2T)_w'? w_xlw X7Ms$TLXMm_+ CfSϤ b/IEiiq!HPny$i,|&}捽oVɩ˥=]KQ*e~X)AWۯ{tj QYb{3$Eb\Y'VZG&`nҺVA;>czwASDHTe5׆8S*NW<-SrPiLbm|pq'j-(ۺR]tetkǣ,ߏ~y'$1Dpy*fδ*JL@RXGyTU/|߸wo ΃F=+mߛTOȷh۪1)g~'?ܼc]|0(~l"'D2>/ |δ{f^vb~E\M/89Rke$dxݫ*| O'^it$d\$QziƚD2L :Vl.bHo: u6rڛnJeU7\aa|dvG*ޟ^l|uhV2n"D FݮH)$[Rlԍ&醘K.Mw~T&oy%Ec6!r1!:ӦNs;1'0kZ~k [}ge[np:wԋDdB:\3iMѬ\d_Wt{?ۉu AuH2~蛧Q\ :8FטZh#<].ۧ0368m`MDa<!a#l@M\x`4C `@ f؄l @[-Ag;qV4z4nTao$]m'R@+KoROf 2[W6GSiZT4~ ErNʅh|맮'? ͢Fa_ye>ޛgv[FM}燯E.ӸHtDzzvY\'s]=^~~ޞ<-UyC/X%IK8JcYN'bBØB0+<3hKP 㳳G?/~8?'ߧ]-D)ٙRNj}R:_}tjq2 EkK7]Ohl$Ss?mCBU\@UTGU )H%y`';SUOp@HNh.ټ`҂kcxF6k%QۯD Gq+JDž#`\8z/(S ,a;Fn!X+smh,-Ⅎ$Z.ʲZiN<(HFtEzIt\duU j 't)p[} "6:J"a(qJ$2d:-c [+CJӱꩰCrۺR$Nj(]Ve8>kBx:.V:HQ3biYW$0 IDATrBDBhFNcdj N E$CwkR<2LblMhle77^f]W B2";dm3eL_X>d"nc XxYIE/ 1(V.̱jDHEZHx{]W[y<*tb &0I"xoLDɌٺv7Q"ƣ  p xbx#vz |i|Lȳ./^_O|Bnc?mwGY_ѝW̎o+ w|[?[okL7Tpkn@:,NNyX4mߤϮYZyP: xzv4?8$ShB|ѻO}Yb'h<'nh>yrpE٣" cc#.׾PNn!Kx׽ ׮g[G'.O"ogl< wqF!ms<{X {aG=;/\G޺72! `iWFGĘ;вib8U$hH;Cn s$>NSziSiecL|'l%:2Yם Qv%Aq?iRi5 `FR&'K.'מV齓Q1+Dl#)^]]O`Q}Diwcb٘h3~%(N(v)JcsZ/4Z,2*E%Y5}&^iW)zYٔ*CLVu=ΤҵDe=޺!MhM7 DɕerS|x+۞d;JHozdza!g ")|q}qq $fV} l_7@!\lB<_X`&lkiyo?ysdIT@ῌt_k$#jXķƓKҾnd䭁o}gG?1;G~x{1K-\Wy zͻIol+QIԺmZǪ5b0,8:cYTM`oZz}+)x/&`o V:]jvFV (K/olPPIiU/8=MHliz3մ @It3-?ze'B :c >? ǻ}@,_.pu捿po?O|&D6@*Zއ4IQ*T4y-؜;33X< >GFG1{dW/g:ψIB*͂f)0tD=ms1jNj0 08-q?ɶIR!Л7c]$Dnt8 Y" x8H8}o\<:XAIk}kc ;$JĩZ(.`ڮ+4Vظ.wI6kuȤ: ,Cב_/fGHH%!YQά ηΧSi]g'y"ҲXr{U϶fvMl<5lI{!Q0޸fX2OsO2YE}o Υbk IG~gZ>Șl+HNE^VY Ekx׍"H<`>-%E;Bj)T젮@$H<#H3R6KK_ އT^}HM/ "z7 !9__홢@Du8f7,N_޾]*7&u7qDJXgrQZZr1 z5;CY\`'\dG!/+N( {fc}dA{u?%5ٮah:ocD}̼q}gI2l_~9*6y2NDg \5DongnH`V=T3{Ko\ /f,!"ςY~|p{~;ԛ l_|kNN 7nc}FȶiDDLo =a8ՊA8 N)g:>HZδiXҺo8 zS6HZUٵS\ozO;.Ăy58wo>|g>yZ()cUK&^f9>ehj͐ahUV>֦_ZwNKMGҴmW橖xB(yF,Y8g5 {יςCw!eTjպ(6"H'1aoܮQ9t!R J!k:/๪Αy1}ze=H6.a0Q],h'd<8RtyjWIp}*uI<EWvnw閵>R&IUX92=x=wz.Κ5'?}}I%.!W6aQ"Ʉ@=I6.btis̙>CG!|Mdo~|pyq2n\J`võ7Vgy×c,1L1<d7ԙ=}wxo;_/x?m*ZѺ9>ǟlg< Djغ:C$ds0.Ì JF%\&v"aoS!ȳ$eŔEX:nSM AG"sq k_A?2۝w_;@dNn}.rclmOC#%B5th;a|2ͯ<Wn\mXne_!;L :@涻࣯޸;Nu8tmݭ&Fj6Gzu5UœY`X<-ThTq5Lyl;O{fVdzx/،3.v!|mAW\v-+7?>{?].&o*_iȉGqY .,NUW=hٵi5tIRmeX=YDMcW#=Y.HuZ>=H"٬ һʄ<тYhmeFk L'/W~>{Ait)VRr\֦ې|eo1t:.GU߇O?m[iշ6J#:rMg|jUQ;;t-gk1eOF1tA+>)u4 `ٚj-&(#:U7lA6˪/ݹ!0YrӬ7IҼLH/j-/VQN.Mݲ_7NE_"vʍsC ACk]p?ټ[\R4r-dv"Dqu|a" k}I't2%!PQ..1 !e73HLB/w3myS_sM @TGIwRn kq@XC 'QT'a^pHY(~o0),,0;m!S^4ж]]yFe?\TX* g< h j GEx_n_y>I12mkCk߅ZMX 1}қ'<S;G2m'SC_RˊփD4Ҹc)=R*YvߥT}RΉ ~8flsG;iԊn\n<+oHvQ4;ZCVqﵴQ*L/VIso|tzE( H%%RCUw󥱽oک[פNIAMh,>/ҥ>l >x 33U(3on8]ek#0HB )ORQ$PXipԊ8)Hi:/i($r@B&"OR&$E,yxg2x ZHBzro/ݾYwsqx )`_xK4n )ڦcW΍[Vi!{v2܇@2'[cM@`gP9Fu+(R§֩R&_ǥ׀ulN.rWy4sW0͹i/8Ns|(RˠQ93׷ԯs}BZo-JYEŴVY_V-zcGJhҷ"#H{:cE*0P(Lcy?.um^7 32+z2R!,.67}2<ܙ a}B"tRGPZ*Aq "")8](Jg=Ű }_ϚO8!^ڣy9 d<3X/VVZ›zNwcqx `{l*_$O}+~o<>=ye7'7TM-+c)[?t_ξsݜ_ n*'O8<͡iX@OF)ϼF#^ $ӭ<n CBֲȻo\ ]ljfcݞ+'[=^uS~M[mUmͼMU@TRdh"~uLNj⮱y>ovNz]Y>H$y`l6mEb8IH?j@aYR};㮅")e9v^]~VH ?BWu}sTB4q'A ! I$Æ?#0J˥-}s 6 .]⊈Hhf\u90+BHâk6B<-$CR$6b8}Wo %EvEΝqSpAȡ3{ q)lgl:;] \Dn$7 IDAT|t,4?j9ow&NGӉmՋ7fcI!%v윥̵kb)% R馻Ӻ&o 뻊t %rZD$ڽt`("1[x?2uL8Y7ugQ-QiZ5Ntek[BNWn~|/~:7tֻw%~EY?]Ŏ21m `M/k7xƕL!kKl敿{\utxvӺ#S{f\y0v ҇c6H:͏.Zyqj |z+vp:#j @I@"#MO~׾045Åp^@ #gXo~2ԫ%+Ϻ On?ctjEϼ{ϭ!VS!sk Bʳ ^1zd2Ie9t Y@忯[)hT=QGZGbuzrE-J /ȼeހX5.v[Wx:yp>o=^w.r 2ҒzJ9}<8sfjXz Tqݙhb(Q^(Q R3;=:J-a+X;];u['ӑ_hI"^}c+ؘXDA>\gLHӧ6ݻXQZZ^h釸Qu^{;{k anVՂ\6Jyu5 Q'y7n|o| `ݦh])Hd~zC} ]$. !zLe 77!ڞ N%~: ~6<ŸQY6y_+/SbE ([)6UY0r;g%)RIn"J 7jeY $L=~ce ]jveJ2݃ˮ(>r;^e={XW>uxQC_}ӟ9u4aFNڽ$Xi0Ԑ97k`Tn#5rj%|=~Ͽ{{>o"m{??>YV]? O՟WIUViFbbت5Yt&z䜉`EWɈ̵dl=$[7"ex|D̬cg8\3v 9X 3L<('Rɳrv*[=_l?ۙR8ۥԚV3$ڪi lQ&DCem'±hz+4UuAkb!TХumX-O$kq-e͂l]Mk^=u&4F l6 qLš\'/PEpU*Ʒ CL@b  Igg=y};buGuջv?L.-WmMYo$w^3/W+ئ {zgHbxPGZbt].E.ɡ3&dJm$d8Y/fX84VJH*qkL(KF;='R{lbDw23 !G!xxF"NÕ@D=Ӱ\ -cP"~@`1@ѕsvAS@ 0~myf cX?C^@|X}my],I7{rFcS۝$R(œA`&J0i6a?nu_;'ǙJQF28I1G^/ǃ$ٴ5}g1g[lU^ˢT2P}6J%l!\q1ztؗL7ñ^BT Zp5M7#k$-ɋ=&%pɑ lueݶVs#βho0b`yӶjɼ(bT_ ^mqx,eTl%0Cw;? x T3K.s2x{Mqփs {ψvGg#kc;ߝc[(eoߘ/õ}!jM`16`) ` {Y/ځ'" xU,jc`WPxD<}Z,AxW ;86L'21s)TM&4;Q7;(K[v|B/#fwY_h;a\ޑLoV!&|]d4A| 賈<_s1Q̏]!"eu0!%ih!A Ţi'qj4=(6lUPڜgz$YmVb[<ȋG_}E0,H'} n]M\,Z;?JpbAh :\bN*4\or} @낷5`۔(0ƶ9^]3F=qz~ @^kc@ڧEbTlr{O3 O]5IlZʔa%Y?IJt?[9cvzyr=aek]h(6:u yqڹyB ɃtFxיzMM; LئrrE( ntW\<񉈋-JUi_mYM&Isqn[Wn\7U-x8U-"OCe&b0ToqO-~Vwnڷ60MY/]QvvqYm\&˪țFv݃$_<-6HE~~Ї_3|=;̟8^؜ޔ::PKE0n|ˇ @cgU/^K8SXk/P~I|fqH[G*  dp]˄hArs~rÒb{w-8K8X_wgmV_x??2z2x(9&6_yo1t"8=t~C.&OUL] B26NlUYyY*ˮhvpR8@ .!8$1Oa9}G՟M?ĺ$eǹպցEx+"!j#!s$)ςH<ݿ~$5,Snkx>i{nLY[DVz% %*btSe\:Z˷{:PHi!8p0NͲl*\CΫ-3o L]1/tU%0|epB^(U2NxU,IHJ&'ylKʐ[M֫5Tl.) ~znlX;y0{9L}[+q6ΰ@1!g3[%- ƈ;oW5y3nb!\o tyK bw>`*歫7nbז4ԟ|:Ӯԛpu9K">!Wt|٬eae 3:1+i;o|ЃS#'(u#D{WjCwͲ2f>RGe][fM`uI@p]Qűl%ًS6TEQEbۙpk2 d됈٢t,9/q_XE<1tzն,=?m[RX/DV smZԛ/yp iD]H1a4k_|6?/7{O%g~w/f~ᙢ``U霠[ @elgBYͲ"x}:wQ"faL"2՜E8 146x "qVa#6C@pAF mYj  vZq6ɳmQ+]Q@$"32)Dl4(.pynFVNm:gf}I2ϳ%ѱH$$T886d%L'2I'[z:!CSA&*'Ll~v-]Ulmh@ׅtǽ{DpWoϣmˇˋP7!IW]eUzWeJ$uvѱL1jq~3-mQfI X/R7L*Ή"\HƘ: #N"$`iYwZպC#x"Xn5oeއAa7ʥfkp @-!qs'{GW0Tnk_kˉu3{< ޿n6Y*S]Y2MDdE9߶i䃵5֬Pw՜;g4nq(q^&JU)ۦX~ E7ȏxZFZ+@ \lǓۍƯoEwb[GFXu[+ = m]T~ ">}.I`ɭ0Fv ഩ%w9x[8:xQ !&j6}w4/^,t(jw0ex4c^ @2p8<4몔M.UeH)`"QO<b ƵX2,ZTolm2DW2?lu6m/5fiW8ͥhV١nuIT:6B s꼖!fI2zT,BQea(o~2l*rAd[(eE*$qhHq]kن80B/J=mݞTw״v{/v[Uu%(2 18R=x{`3N/ngL]5*򨸆ܜ="VÍW?\ٕ?pS.-38O7L]OQN'^EV ~2WuqySh\?@lYխ8!Nb Bygu|cT<.WVi04MEt4Zm'$$K1Y 2{g_d 7:""gqU[q]?llGAh!tjwou{;=K(i/pa?ɳ1f{x 0H3Q-((:'EvV1.{R8`(jZ8t(dqxۯ\f[*9ܛvOK~_?FMI_9he.t[mu7׺KD EO݊3xo/Ov#LtΖg-l>WCwǺ&Mpk?7T <\kj3$o~6]kvP6}┻a`h`ҡ6kI̸YLr֥0p|W~?I۹!_tołUE%X8lx Z Un^/k(&in6vibR'},Ӳ]S-XD"N+./ $cʴ&*Ţc]1؛8ڂ4'p0,6ئX<ɷ'|1mz`|w0Hpw>c;io7#sسb:<[RcuPIvbWC8*/wf]m'e[ =oVR\cL'"ݮ??LTԸ7ss<FRc^Yĩ̢^nkK+8 g]5!ϲYA^6^Ù5Vnkng6֫^,!պ3GI03s$^()25ĬVu >/..OT3z &x8mXY)lGU_\r;ONl."%8Qۈ#8&H'ol32O]E";Z;FObз?_h>1??s/~ޗ$:~xlΦ<Q_%sf~7"&cQǞ4 #cjVV1.Fղ̝uM͊~68$=H_ ZlNFD&H' w"8O|-0کꌮaO$*?" _+tʆۑgmX>~c7),!7Jy[|<p;M@IFY@t|ڲNc|KoJsUS8O> *sQܹݯvhOiQ]8&@H\4-}bktIԏ$"gnnomlmYaInF j]rMJzsF^[lic5mA!8ƆZ݂'RG8/dHz]Hy2"\2N7 ]j$q]Z>_G҄ƥ ^B_Ru$6(pރ1v; !<6EUP `:$NdQtۯsG9^ĝmf{g&Q΅ K"Eei6kUDx;{9ӂ^ khY|"=W/>5P=z3 "efK^SmMPh, 1N__44^>Ț"Z1pUD~ecmc XCB±Rl68<˺ap؋ڶi/nqF R:M.ԫUg[U•߼-/|2Hzht RuJ&m:{bՌ⩒(Mj(Yl{;'D*O$! K!Δ^hؤ a @q/ZfioLJy"6zY15eQqzN{{Ixܻ(Cݶ&qnI̹Χd}G^궴Ggǂ8mQ61`68DI!;ؿ9v&7Yz{Q9CpuYqۄ+2ׯ? W|fo_ f>{wZnJpէ(x/?^FdL`WI"roهˢO6A;HfLd,u_d|zKF e9K~쪜ZO2uL%kZRoZW >9ນumUh'PGԻz9Ugޑ Dqp[E=s\:d4*VLrqNr7L O4vqlX(+^oLO\V}H EcH*7`mH;ڢLW=}X?/oU~wۊf}ͭXJ6j 97P$tVݯf(z]肭.O}/􏏾ƽnu?j;M-uPwh`W7cJyh5k]+:Ϲ lcj@p gKӓR*[7+8=}pԵhyi  ~olw-Fr9bL4eNd]H ۯ<26O?{*Lze0aTܑGh,ΈS'aIY_%1'AqVsUڨC8KumHs,ɒ0/lEKjYXApҮ(mh6R M2Lcvum]-k*.;\*1u€+[u"(=vIP۶rVDI%7#۫uU4xUm5uL4i؜ MgYGɦ޺bYO=*JόoבP,sl0MriTۃk>";ﺍA# 9}Nt[@NH1F`_61.vuA CtuQ{Bo_sL5[7\ovk!"ɂ^}`UÝ?ȸΟE5|Ϗ??kO;SIgYLyEm+COU;LưvzEXǥAo/EB}`j۴~B_ƤjmU=SEgs#L'_^E4h'utf~?]^^lx,=EwN3ˆ$ {N('fE*Cׄm }~Xd<<-*m\("8֓F!,K{3, s?\^'d$&|10|7n?;C5S>b_{#1PgNV݅=.v;ļ.Y a'ɰ."#oҸ rr|!)xb"ئY$PԇӠNۘ Cl6QcyQ+'Ce6E1I cqm'ђChs07, }[zmJX[k-OMd./HH[\cC"d AӼsl5ԋ 'd]JkAzxu/]ޘ#V.+6KٞRs 00qܴ\EQGqZF下U֮W:J <2ԡy خՏб,W瑄B>@S=1 &#&@~G: gt]${͍1='ڎ+_C<lWi$m+nZ6I'o{3n|kM&333 > ܔ0Gp.tz/~>R2Vdr`:c6-ژ!iƴ ?ԁ:F޷qϫ,!M>\<tx8[^vtvxCQ /V竢Hy7qT#u'Xj)}b|_U[1"&Bs뫢`,c$d82%ZKBw4~3^$r`a(Ok_,>r)6D izw xٶ5;^[;jO\lY.7^5ȐvѸ. z6_yoărW?{T˗ˢпL, Pk/0|3Pms `ϲ=N=ȼ?0W#Q 0Z.um^q$z)յCB<! DM)TTd=Gbv$=|~?hEs0_jr2G-yɻ7Ef6Nz1朄`+]0Eq b['4<(bdDs!< bU8 K8${Xęȓv!qpf]`/6u5fָ1 \$IBi=up6 1׮Ԩrd hOmh|(({m m@mv& 4XOV:(HX:z]4M-b0"튻>ԫzL+O,s =B6;Y~5EvKFDG3};|!F6\g୵cli{*-f@z{emyzH?j}+8.BpCJ'N;zcķ1~Go3[WQa80m$R9hRkE1 \c;6uI+rV.f] F?_C*t$|[h$3]u8N'ߜo^&N3{'喑d׎(ֶZr4f6]] Uz*c.z1Lygpgnݲ56dIh_U\^NG.WVƕk/f&0j<>x}٠BbXW>mxD2ubKڔ@1Ĕ2 ?{΢tzq uX{a~]/_/zX:Vf7wl˅$@p3`Z߹鏧,p~ݮYlܞNK=I‘ AQО.;pu^`ua|srYЏhgw"(in 0-9Ỿ?K|'&Ѡ%]V[R'',x@W] H "Ll{&!N  >hg۸z'Be+=v%k gAIAƳ,O8y"Lw2 z6v{\"'@]ܟZg ?O|3vM#wXPAΚT Rm8u @ee5bY!{ o{ kŦomGA˚*V\:e,uyҵ[O,[8!BLDuixgLk2DqЎ@z1PAW%ǩ&JoP?3yǷmfJוyDہbf>:]{ L]nYd8h)p T`Wu{[dSXy[ճ|쵹n[oK|MӅkiF!ȇj#Rʒ%΃q"1.zkEj]vD'C[&y0"NeJU{|eo6F|b'a}vrfd_E ޔtfuIQb*"ʽ'oty ].enG`JǫbtM/{olkzw {< ܱՃj&Krdv'*`T( S(\T*qbWb;$[,eZ=޾}ŇPp?w]z~N4om[pN梫 kv#n_cSՒd9H3%kA G3_;k"ֳ>chzK[z9<進xp0~Vo:)esYe~ 9LT&l)k{|c8Ǫye֋E%Tm;,ra?fG&ؿUU uzB?fzUuV$N?bRá5ϗi5! Z gYgכ g’_tEQ^i=cޜaM YneL[ص`J]@b)UqɃ(M;LWnNrGFr\!.9ы#.GNCshF@cs"K*B2Gݮsr5mm{sG{^&# kf7>pWCa,v/Kjt CΌ5۱.!s֐Sͽ z%{cnj Y.8Jl,V5k0~IEvlBp׿: HBh_" VcIZ z&V+dIۘ*q e&9u3{pibSWF0iuxCm:KBRHFe5q::k{Ug]A1Y7vԶ4Y0`EvM@t<8~/GGJMq)s nV _׼E^@$.`FGwsfmA n@c̃=\u'wLmIm hsm M dт|.5@`Q(L^6bËX=|'o-U>r6܀8iCjZ=/,\SgCm@Sc:"a$˄Q˦]H0bNu? ;|UE^}2j_+~ԣcxƋ͢8r*b ܚrM8c0Ս*nJΒ2*@Ӗ3CJ=oP"m_^mk,*_JS+ |+Jq^"^Ԧqxs>LDԕn* ?4,_ͻf8y HQP0Ɲ#D`oM%Z%;"cxlCN_[9Mz AW7]-2؅fGG,5 WN!wE\ G檔aώ -GgW¾B8Bb5"aA3Ɯ#k-ZG6#Q ˋZQSW٭O-齳7Ɠ8 S5sjO7m 2?F֫< $㒱fC!A89:uՆls7~0.8ȒVHݺtB8,VU[L-G! =x0p.hl@r.7Z zȝ6~3nFKtzѲU3A>_Z)TUG9X0ZPp{=4%2/ Jd*<~`؝qq([V IDATOi\7oo~؋ɴ#A]9N1Ɣ2ǩ7]Fa_ky>덨|W{̮pp8 Q,}U;֭q᭬7ښi!zv2o*\r.7φ{_/@?8n:Dz t`MZlښFi XE0osq^"4U45Ul]wec"=:C%2FuX`=?b_~#|mLo^k?'+GME`F~ RKTD^VFU-pm`b~'Xx8>:em?^Y~:8Rr `bdk %('=u`!̶["곟^F/~dv4:'c~yei/N˦KF V-E;բ&d*^-zdʵji5i#|ԦrDmЪP8vڀAv 1 un/= ڲ3%C7T*<<ʳ`'e Fb9+YuWO~jot:FWms(rsHkj  $c~z>[ i?CRS~!o`Iy=68Zxq΅ )c1 yTYGQ{#mEMZaY[d|#;G>ߺw᷊a 9;n&_V}1tJ02- %%3ȘeÝ:Vlp̲- Yh9~Kh|a1c[eZwIR``v[Gn7yF"ݶ/;r YkE@ۻ 3Đ)qs!i^B$,+v9<^}MܓZ"Jr:8/M?3^/6M{|,3zbm/C6\gqIt>Gڷ bY4`iA\K]߄v5<2$nf[z>y`gd}{ 2w210c{ZTť<⣛:['$K \*l[5ǃ[ܘ4n,Cɣ=yE>[φ]oVy)*q&Eun5 S5:};Jϟ?g_}Opӟ~/w?>Ho m~˲s|Q&/9 AX'CeV:>vukqDPŽ"Y)D-7!\,3v~0 CܒMH *L""ۮsfg:E#Vo͟rlzHʬYu/}.SW4,-ׅ"9|O%h/ rlGZmy8 p[18s\u*xuq-9\AyQ& G[z{˕vW<$lkw"V 75b:DMڽ}AFPpFdfː9YkAĄ78|mW( ǾŇ~/_ޏ?yw[]t] dQU?J_"8޻q^t*;wi-buյjttY-A>H_."rV[csr.e}tj6e~T EvÐD>`1?8bRy'W&eT=GJ+uYvdoei`);2a BߑY̌Xm˲WJWNh! 4>+r-?o Y|dK|>#2""2C$@$'pNlo#1hŝa#h|*?ͿDz];B rv':{eyzܭZO%~/bZ4;oZuV|_%# R kVAc8#[Xe8.'A:z!:H!y5|gYLIbzҔK_&CyLZ pI@-ʕya{"bX&d+?y-K [fiY+LxaMu. 8ɄG@k5qZVefC)њ}hywno'8|%1g`|0 IxrUhv2 u@oPNPp\]^3 -P|p ƙ<Xչ ^OZ|Yy vO}GBh~mPe/9;?ӊzCؠqś䧞wHv}9}9b?:޴u|n2PkM [[hU^$QN;k|-vmwhrֿ>/\{\j(ヱ*C9ow5wKu]ר. <%mQJ/<]oi_mj$)B6*mľ{ǏƕżQf6{ Bִ:owT{X†"m^.s?#',^[TlYSQ$ c,KRϼ?2E"fLF|f6g?RG7qvms &C"= %!9{eꥷ :2c)own NiwunO BM%Hĕ+t#g رv[fɽ˼Up;zخ+;9Yȴ\xs"HY_|矌n>, ;ݨx` km], .U-0Iq'~'?V|oܽK}FڹB e;C+)kK*_) <-y8"hFt+k=XtH7y(rZIW,`rFA54w8󒢙FTu9VݻϬD]vڣnnݍOwuE\_\<[d4Mkz&~PֻLMJ87gS`E87SG>ޞls+MW8=ȱ^:Q_k" ұ/^{4Y@R;͈Sސ~?_u/ 7E'YJ MTKլ2q|ق{,ڌ4iя @~ y?VDlhs.{)21Dbq . }B|lzWv|ۢCD O&6M 'v{m o{鯨WI]Z|얝 1b %&D܁ q[ηO;#)l;238[%˄$ADdN,Zp[G_zE>o.Ec٬şΗR4Q?8\Zy>_'cm}]nL t9HFqۿ5{޸wg3} 6{>q1[@-;] %2 8I5{>g~rwWټ{ӹǬF4vٖ";%%ͦdRLȉVQQߚqFJIE뚸nʮ{8[iCO65ݪ3tzQC?誙&rx:D^B7M+녴()iCEtIE-֤kŚنA zQ:{݉~/_w=UYrɈy#ؗ"rtI? EDgb5g7or|~z덓Ak1UwF ҡ75-7&msV"s@5Ƹݻ8{?{߶-I?Ƴ[bl} `=%4KI+T1'%|[wuh:Bv ,cpӎ WNWuWr.N |{JVwdp{`qk|81~[GCՖni+_ R}rGĐ EdW{A!sAȕ%qQ^ n鵏^o}>cMSnIǡx~d|=. D ÐAvtNezûgUu?N*o\<ʬ]Z9Q IDATr׉4S^*j%&Tֵi5޺D.bV([ffv]/pNdy.2, z0Len|`,M7iߙrx~oENLJҦQ4# iaSYso6lѠt @%fꎯ@'Zܜ}4{xZ F T 7 Z?K(R ta "ouGrv݆e2A弽xdU3,H[n^4|WJ(KC'c2o%^62)= v}o{jbWp4w]9"8c.Bh7uunic2TvN\],5ء+nI9wׂ@t-9rqtğLb7޾$zUrv̆15QpȋW流 |#fok:sdxtvU6d xP״4/OYH(|k" Y5*Hak.`tG ng&벶R.=i##pY%7e )x z"u}-ZG~8nܮ3ku)[{f[Ϋz9YnEKtz!l*֖X*[ÜQ耙1t6$z'|i+U^`V_JUˎG] $D*d0 *kG W# E?@ XlLgu,u`{d|{į=>S,6~eKM=uϵO.oϿx0-JH|?ngw^tݛKDe泟~3Ӽ|~#lH[po`z5O ,x)GGks3p]TЏrhEB=(5gT~?jvPu7pݢKL?egs̕e^u21AE:F1xTsæ}"LFI?4y9/ʬ*%UJ n fMƋ@#llZnhMh56,4X 1ƚU_n3/KLַXrs߯յu4M w68G9 $^6 k2I8W/lg|^i^ )K_3a?{g Ӳ?8lTjܿ_Қy&HyReLJ]ri=5&)EAjYhi+8us٢ ju@ @KI kӬK!U6ϖ~ʥCb-h73R'!<wOզ*2)QUAC|-fE<2l1s~ٗ>{)W'^FC'YPUM$Ynz]PSZ!F@F a@KQHQF<۬0"枾:$Z>MzL&%uBEVT6#E<'<4 hpÁ>Oq+DkZ))KD  %*-5)Hk@DTRks ےBb:-Mv2gh#k͢A?v;?J +wݗҗ[̽>eWu.^s>@Sðf{),fÑҾW•+_N.s7IFlwMY^Jqc8RJwǵJ=ao͓}-.@X8oZI1iTaDeNʹB*;=ST-Gb2KHIZSk (dYQh:a QIz@u O~Qe 0[)ȹd(2RCňP{0*\U 3EXն.u_\}y!J]VuC#˄ xq/AEqQ:2be(jEwy!2ЧR1j3`("}?!EV,hMb*&kYQv Pnj\{_CTR:>3IVy:coc^bFT iDk[&P2AQB4tu&ܥl7 ] dEU[B-U}BRMs}Rk$ >s^G\}&6j%(65j j0J!!͍^H@V18J) Qk!MDHJP% FU-)#!Dex! %GEZUɲ,e]eN>꘎w l͗>z~k5o sыm߸EFm(3Q1Q…'󫛏:N,WBV^8Wi!lskEd\X.uRU]shI@ 0t I}x@ɀ^)4CVybݴH~=5?oL-tZ'g}vDb5ѺO,D;Ǔe6w6M!qWz7}|RÍi;DN'NW lbFxwoj_-6wzہc}[tNՆ*mj jXizŻR&mG?X޼ٍjczㄞdFS|cWL'Kjؗ#꨿FPlGFR^_il9y jE~g>cWO\fNN&T9QAdTQT{iA#U嶿{xAi`QG'KiYaklv6igY([TGe0ϔ:^89o?w|)/U!\+)%ĮmuU[^XWaq4~#R|x[k?k_>ǾhumX9TYoԠ $;2<{كKXR[p%}mA>h>Bjۛi4 zD^[[^G%;-meNZvviy֢&Dv*K]$vrV\$Zʓgely KZlb9A՝FFkE“El2xbN8Ŀ:ܾ\H݃pIg@][ֱEygh瑫--~u!=:-X獢ұۼ#.?ԓn0cx"ښ'f/%Ƒ\P]a!dvX[{Tb/ r#Sito;%B2,f&^w:-yHFiQ{3pcܟAץ v[WJn^h c"-rm*$t(Neo)>^\͊#q蔜R(Pp$R%Zu9Ȧ#7& JWRURտ.Xcl(jYRɩm.)-G*QO'N3K똖?{fZ6%T3[hFϜ:j) o.*E\E2'=++~w Y.YuּkCο2@kZ!ֿv 5$U~4)k45f`K_UM&I NR F@l"8GНCsDl7Y@4!V3"U B !4&DM niu/R8^.1dPI*u5'?c[è_LN6[$f[q-DK nXSzEQԒ'p|L';&Nd<^YlU߯o*Ha ׆#/1[hrqG5`Sdd=Gn&ɍsҭ,0H8{W\[KLdM?|卷 /^ydž7k^2ha,}O2O/.)ɩB#n];8|b!u_'E/ѾLz1{'x IDAT6L+!NsZ;qbj#/?K V^} ">>8g9=3"?@w2.o 7xtiz}Nd_/etV%X1v>Z]iIsϏLXwʰGL'Mir:)~/»[>d3So7~ճ֏Fկ=zf.*;?/@Ϝafov~2:mqb_J˸/>#>mK߶<뽒͖k[i%ޙd}DG7[kkuYcIL ө)4~ v QxWE֟0K~9o耍LZ$)Kuf @߅NE TKs7t%oxacwjY+$ 6N_P-H Jn%s#`cQI(EРJu&VJ"!Z+qR5`p=XiWElڡGKAx!(/OS5}d" ??wt9Q=`CGiax8$xv5cq<.^~,Di( a.2o^]N.}('(O~6sM,eVH8eM7Nۗin6s2 q'7BݙPogr>ڕ#'Gw{4sjӄ;O֩'{돒u_̣-_m>4?|? K7!ID`㇛ta<ۖ 8q%i]BOѬ80ȇ;Cu/aqgQbqlo,s[?"AZdhk_afAJgبXƌZZfʷbd{aYlbI!1magx~8~p]&7ae1MӵaIVd' Z$x[n-~nM.zԿMs3>k6y~(lZ&ٖ5QeKqUTCֶBVYmQ!}],Gz_{Su aP~DJ>oI:43^W|"b+oyZGcKa G5ˑ򑖩M:jom/#3{cm~o~zȻnuFLDJAXˢ?vZf:>ke((/[vg~c-#"4*:(`Ef(uv/&`ץn,xLo~ 5Zqܷi֟$ҀJH 55UG4샐VՊ R"(8F@H 6:VDz,:h-ҷ{I6=EkMUapu}on,i䓽36 R~H xkǙ&0ۯK*f/N|Ak웰bȔyP`ĘW/2ŌӺ0(2Id,]I Afǝ",k9)QT\RrB()18"xT/-jԋG(,KW[QՔ)7< ["臣lu 3C4/uctvnj^IeBӼƪWU 3fQ/ӵQ%Rb'X!WNkMPľB#|mCl*_AhԨ@!!Dn@PѨuWW'Ps/i,1 CU6RD#Q70jLi#1 n4{L੍o?M'i}Pş} |xt7R$e⥣h`vnO{/M3=/õKWu_T7Yl[G8ݣTXg'W/>.DbD=g3'yq:O4s?arL qlW F:'î㊸*~IyfۻQ+5ڝMiEغ;?ktZ|ty^Tӳ0.9V] 7Il^DE\ʓ,x|?|+f=axRΨ΢-x~ZqF@ZY\-:"7WNǎ;7w6g1]u2oȂ_W-o9;A,7h4ho8n6m͜>IhhMN=&ёqM[w۽*+|?<|!&tGA@D+jک#dQst\B6[Y6ĴQUZR; .fB)QsBNŒ|,eUCY /2FJazfehÖwss긆uX&QMRO_S'Vb ! 7eY Ggg>GтjRrG\O=O}me}]y۽vȉǺӿg',|G{ZZv'K&I]Zx̎2&;u\XU$|pF>ݶIaֺBYǚ_uX5v7e@I)A ڿ޹A [j TZp!xԜ+(*ADE4jiQE=mTN 7_zV+|0~Mew?Y<7u٣b7'|!ݻoUyrpqA<pB?<jvfE;ٯtŗli-$`!:U4*sZ}p`}FN/Y áA\e e5jl4F\Nmʴdirϴ7"v1/VgBXQG-YPpݺ?m\={ݗO].lպrIupnҽLΊ RlQU$?hWf`{qo}BvRk/&ͥb̅ y$hB# 6A]E޾_`Qd-8gEmZ˲^LIWKg?oy/AO-y'zd|]( I˪E$Ml;}Kg˂\Ӫ=j.jpԂӼ.2-ark;ݝeo`$5 DJRu262G ^9ehDƔRs0B֌1sALV+֍ҠA"Uak +ڪ-$)6b jɑμ7iX o y à^ihn߫ +2V!@UJ?\+c+Ϻln|ZAde$z(jt5fJU'KBVRbZTRDB=7L w^ j2ZjhqtG">3dGK7"%{p=]N]q pƼӳYg>=vڶѰl3l y$sJ|WgsFA7Q[nU^_Yē^tҪg(E;l;c\Β(d=2qBn̓MD^ qr^<̗HS1;wwd`VG,=zt[9$hdCɐXMlz:. [~)14NhQϲȷ“$p^|ks3z.Y&î-LJY޷_A}N*wa,C狈4քX2/%jyde!M%Icj3DbnsY~O& ՙI˔TkS@ < +Ye֥bqV6(JKUy bB`$V/=DCeveL$ ):>2ɢNSI%w-9$}/ךEf.c[KHeX2;~ 7V܏ލ'_o7vَt.Q̅S4yQ7NV"'V\"[̒G؎ݧL(u}_흔,,R,w2; wף`Z+)8AUYʔTR45!)yg^e<+uj >omV' 7on3EXyAR~88~ḢW}͠j?he:W諑*J9On BJ+DAP@Q %s:M4X`8-lԪϖ?=?)~7q-jQCEK-mJ O!knludM.LY^;`k;I1[ȝC$D0RB@p?>xdgo^1B $ɲlI*HnRZfQ˦FEɴ,Whצ*),k.! 0+edљ?NraFQ-K]{6+$w\ϖ@+l[L Mg/vhY9.eYTsQ2Аd9W% _,I\TZZ֌ye˭7'f)dRo'% ,ZDH9 ۢ!QܠmzyV̲z1ck>A*-x̐1ԉp"J+L GԥBejEh3-3а(7kut{=t}8a{-7XZچ2zmvq;[ξݭn-]]=K 30 0LU lECl!am"Y;""[B1a zz0aYk=-qAJD~F*{ginE;Jmλ]2j_gsKVQ[U~ƢReqn˱ L:85K2w/s>V4¢st 9Dhz#2zsY;VTwY PwK}!+A΂\j U  eEX!l0&B0"$HTZ#!%IB5&})%@*Iׄq!Moiu&9emtg 9Xzkg\׍X}qrCף[R㙒p}G\~Y LH1®eDe۬Q]Y>pdYF5d<=B<˥ha0zC72ӡRҖ?:yڼx;oMB" $E텛bB)&AYYJ5=|0F"BX*@ 6dyfv]ؼSLɤMƽHa"1&ӊ/~*Q9"hZ(5Kih%& +R~GN,#Pݮrn+Q}9.L~'%(@,TR{QN6)ͣ.Kyo<ԏLT ؽSDH¨Ps((k"yj QY[#LZDkXR )EpX-P`9UIJ 3_s wáBNt>F1 T۞yzyغMOQ?j3NRlJOռ4~0l{'lR(+ r<iR,sv@m~L :AE+`)-!Ksp^u퍭!60f{kP횒-./vP#6/[`BYĴy؎S3<=oK㽟F?Ǻ_+K4ƙ2\2FC6}\Ɍ:)>!:7]aa3-[9+MiW/bdֲVwM{I(Rs 12DٺiEIJh g/ѺKh4(-Xz:ds|wseb ڭ{)*I  ˣP,v BxD=s@HhZo }.8hi{pw/'R-%3a"~(1/r-Dae|m1*}qUv]ĊHPB +DBJ#EuaY&[WH0RɛB"Ίb<~j+s"GQpu-W+Mq:Md]kD'G]4d9%P4Gec"X5j'K+ Γ<_awwF{ q*5@T!`A*늢 L´b'iqTVidJ ͍DUJU1ĖhڋX _B?zً}]:L+%0`% ,Ysvpʍw_ G`Db0bꫂ2R&i˫]9=k]:QOGMdA0 FgRV)1Sz=UѓdFy`]<6`Qhj\"*ĄS&dodŊ&3KzHQRCBLXkz}qʉ#sL۲2呢k,o1nOŪcjqTPHM#g(gi%ҨíW%X0TێaK ̋Nhky I,(i. vn(rfKg#Y) £ō,-G Q]j-I1{۽F]g2E)isY ~J";3 e0Q:*6$Ѭ;L,&˱xENj1$%Z ,oҸ,wf%]'vZ/G?jjَmr`<ػ1@M^cQ E[GZ9 6 ihLEQs5[-%I2.9d{=ն1n4⋪HiUj/UWm՚y./>5$W`457- /%vC&XͶR wqtjfSf^DaXԸ6=EUl\߸Bf0IR]%-ks۽f%#]̩iU/ u Tm.+H;NSD9R`;c15iքPA+'WJکc0.1! FBHH@1ɤI)Ĉ1R0 pQb`Lfm*1.܍~?uşd?q48*o^i^)Fv;:v˱+Q ENz=fk9A lqm~;a; G50/!ܠXUQ!S*I*JWms[!@bb*0 B2!vhǩKIJqX-q˸?>d}h$KFk?Љk:QDR(0ڊ*[SG Rpv_ӜӵGeݜCh#FcnmHsOٙ%I\M2/*d֊,evKI)4w ^zql)JHNsC(ᖊq-(9 漩005`g;O#ՖD׋$ -Vp2j~^_HT8]8YLA˳J04R0Xl.Nwdzܸt"וAR@aȁ<7HOpd9N3iʰP+tGŕ_ԄL,.CZE5r}1JF \FhvK(#ݏٱ%:^:gs/J]"HFW;Ĭ<Ҍʌ*Ys.ʬDp9 L$:~ok[ϾKBluwB'?6?xyk^_Xg}ߡ<>sT\ґy%oӿ,n{_~▏ռ2c~/kIw|ȯ߃n7!{7}_7P̍seymF>1!噵5@cL:cgN&7R=F6$*{ a9amLuVW\ϭFgTQ"~#V t) r?sfhccCJv26Ο3Zt~ccm>9 ؁u$ٵmll&m66659@hi??( 8: V׮96`ՠЙ5R"@ll<VV+ بU)enyV9`c#ؙ|Þq6an]}Ͼ'ngg_ݺElE}_k0'֗]W1͛ں[X}hGߴ;zy~8w;cِyzۛr!G)>TY>s Ǐ<ܥk0>qvG N}AfI o.n=Z ò(8/6g\w(W~!YCqq.elSe"fR|xJ/31Jj_syG-;8ַKAjij;^:/-?-j-[_ړFt+C\wɓCxwzo~Ͽ{<7?n ?W ?޽??/s:{[vOtojý^KoaC3GS|֡?ۛtW~i[}xyݼw[/}ƒX=T_}f(_]b6qB5A煷AC_96z 'EO=qaQV[޽ôOʿ'>)нW[~_~xuߛ>>YZZ/@ٳaf[yOlIENDB`6~/ynHte>3$%.kO>mMKhǢ&W'k GNoaj)һr~n`6f{q߫*N0/mǻ08p! 2łlQ.{p>/Rq7^.=Op\w]$|Yy ^ ?jkNPH#lh| SDnzJeqo~F<] }{1#Va͜3h=}Ԁ0ūI/ðxJ&fiwV(4i.uQfUI^6$ 71mʧ'b"47!\ `aڨySVcRiTj@G^HT퉠kl+9E]}{} ޜ~NGjiPG'2~ ie|Mٸo\6ybt#"~{q5=&$+@~H44RVt}LVD{XL Ve,6tZ)NUy#9GQpD hHxq}kec*"pT_Xk'ܬDݾQvrH~ܢ㻩{waBaCİIvEO`kˀEFA;?ƻhy4=!|jxPRYIZu |$ki!29a3.@bR+l)WI'y"6)T{fߦ̫:*l ]n[H|<#^U*J'7u)|RoguüHdy v'tQ3эdz)J?ȴo)ק 9ȥYpAw“DK"4-u"xh"ˡq0Z5PMbIၰ9+ MD%ARHnnUh!pPfWܨޭ8/唉?wD 0NhcsWiv}t N\y=t$̻Mk[(\()$WizZk~~&\=+SZEփ|B2iܱ_ܢ'e[aQ-Qb?=| %<51IqQm9-ŎP1PIe-FʬQ$Cbbߺ=W(𓐔wKPe$q_جuo㍶ |Kh L~QJl)RίF}Ԛ6}L%3>Uk冐T@D;Ip7+u<;ptL[B:`o_c<5'ţqaHǟn6"Q9QfCa<?ɬ`$wo \qec\n)!S`:EpIQk"{4"}e$]ZHN~sw1LRIC^ [S=HwJeKYm8˥@OvXLgcNmLWѫK17qB >v%a3AB/,0\R:Vx} Β{맽eތxDvE;B5@CcƯn>>Fנּp }6| 7:J:$!}R8<Ɗ:zbzWy( R^.teDZ:m/tnokG# 3IxS DI?3?_߭*^8 8N":[ued=DEĥMS u!jau:,&M^+A6C3>f^ !5In9[K Lu>J%A=>kG A_nxMM?cRUyB)GpÞ~'@18/v2ϣyBO_&#FpC]e+;HɆR,]oǰ H LU<+Fwr䎛7#mɥHYrզսvdf&f [iƍVdMἔBA11_b?2ee.H A FJz/F!c!/. O%2m֣a)i1C6/&/{ &`,/pJ?W7yrMzN>Ct߃~4E*$/̅PP%2%mR"BX:hf&`qMV"q IbnS_H+_!`!B!k:i5uWx*N6xt"[wp%E7&"+~bC]}#d bjVWXBZ1 }֎cI%- gG<њY7~]DVI0 RB3 Cc8e롇M'x~|Vp75[6~կ {̷]5w'{R)҇Ќa~Z#0~G[J;Vs.(o%Pؾ 㕓咗OWV#cewa(0E-MWhӔ jDEq.Q蟃n"#9_7Fn?aAmLih{8WK6U(҈8uB8"ػHDo+t?TxصGFk#(ԞZ~ѵ2Tg1] l S4:!AKoG8FP,]hTz=CPir/Jg|[twc000_~1Pu`% !3{=JS(\G'3ӯ46:3 wMl?+6i+$ؒJl_<*5#.Dg0Zt}PMւo޵9Wz9:όn%u]=4,XIF*\,WpB)#zhWJ1.Ftc`xA *{Et/E1/3.VZRYB"|LdzuQ[/'TΓd6ק+8\2ГvJ`2jWcbVHwmjb&z@cU5}ol#Ga{G#RC*n)kj%҅3DmsܓH>Ko SHsI]0M({uNǞE(xR)l7\gߑPV F4$ _W0&.y.FW$ fb&31! GӔJ986DCS>CᜢSʣg2_Q# m>`ٳ~tGdd )9ρ h%-^y^.A@ |))i$By[-m+VǏp^7@k?g?-b&b>KtB^QGvҤ3U*=H6pLCHuҕĀ y$.4D7)R +x|8,S,`[2I; ?Q}Э$k9^*6 @?,Wjfܨ`]H%3ֳh).){|)4^+ƆJV1i)ƱMK&QIRI$_iO[ Hx>n/ z-\ o#IBT^g\V* jJ1fҌyE(- `r5If ;NAZSPMk% @UY k7݂pZ4 lU_(hfD$cu-'~uAQ.c0xs#Z'^``ȞhMDv2d$4?#dk1.T ?&ؠe>C@ d!:İx}ƶע(sȷJr:E[ g \HR =ma'>xʬ+Fp$ cW18|eRxNb@_pCJ2co$MG ֖k PuEǩn'g^d qrzo=dWwĺ)J@Y.bseăqd6Zg32 ͪ h#FM{?9Xf-VYke[mNoD]y7"5m^Pcf ?3<{;ݻ)ȓlm+}lmD~vk .j3q &5o(W= vFΝp(jV5@\n \%K! /L]߅ejzanzp@,UUxF6]Ltո ~S1^^?J^ 8J`dL_1!*>b|^Pa #GO:;J5L&=É;9 r%K <]iϐ}(-~l| Z>]U"LYE[8J$>gLa*b_ݑ#|Qg@8~YdM2;ͣd d^1)*̚c7mw~OW@&]d׳^.tE>a&5) 5U~=,89nƀ@vcNzA4sNJĈ$uVCXYwgj87N?_u4{'5e]6YNnr?͌ʳo)T"X {R]_x"6A wKCnoNv1 *=ة:~.d"i\-D0jI!2{-wՌHIzrL-85@I +QK^N߿]޺YwrJp vlis 2Y%>k~6~"A #(_` `WULngIJ4UŏXƂEhҝ;&jWr?+౞XE{pFXm,|7M;b1t; E6dֶF.ݷCy a=R &Px1تzZidh^u;7kqvy# d`qVފyFzaV'x)>}mCM|Sٞ4O|{aՖo4qG6>!2MĞR dJg?7H`ApВ jZg*ݠujzX )7P&aJWFAIz{zl΅<]#mu;_~@(ot7M/,ffrrMC?Mwӌ{VA8wxӷEaH3X`(}QCMVW;KD WI]!,mh-(1^O9Ћm)?gJ@R3/F };Z1}3[Q};m JhDr)xFb]Xg#,gl!G43Y}tzm9`aLvܫc̸vW1gN!~w|P"9$k&g5^;TPFyc覷*kPJ\ronϢ:}C莒e]Ys\zE#"'T6c:r=:Ⱥ Ya jFa*Wv܆=?E⤧B [vi(_58_b詜0gv # [`vŭQ_–3&>rxw }6\1$wYe`=` uy݃naao5RMfsK';3PSkT?~|ZjE^.'⸼~;ʲRS/2p+U2rcIl}rKcew}SHy|X,l9+VnB\hFUŧ~;3abJ&m'z ?{ I-Qt MD?6$}pا|424쬘%1I)|MBAXX]}%'UxA3قPYbѮ=SUa ȅXvC鎞FEcˇ O6M s]pʵ*׿m)ջ;]fmuH P֟0q W"ñp"#RW9HEѧE*@f79uFEuр"5<Ϻ2`qs_ş=vFjtL='og6ڄw(fbY6)%N]w :ܯ=Xx\pi/A6!r=ݪ%Gu؊oJOR,sS|nhEcֶc \Cz:1:=%y>Y Q x4B8탫Mghpúr)}%"$YmQ/e3fB=S?#؈=Tc<'OGQiyf{wuc]*FGG `zfiMQ<Δ[4MUqDW%vJ \+¢{iݹe>T~L}q;P_˒bĩ 6Sb?:]% n['đWDžkkz9Ibn= YAO=i={2Tm{Uު-4bڄb'Uqki **dYX?wۯ+[0]:@Rk;PrɃZ:%(4B^C_8^ $^4 sIPNʜ ӟRۀ h]p=XםSŲBi՜_i lh[Gr^ھ zg/ˈSbQ ZnO5戶*npƛ P=84_|xka ^}(E43p ^F'J59I\aj UlfNd |oLD-9!Q֊TͼO[A=7ݼ:@G6FӍz5\b'gh1R o>{?@͛35]t8Me4 "R3~v i @7Kd{ M]!f=Xc43v?vB:>Iɿ$gp5 20M-nՈ՟afӃe`JO֤G|!6ښ X) M/ !X]GOE_\I3Jm@_!d<w;ߜқNeC{5 PMd< /"M1؈ l>y{{xE z&HUa0"Y~X`M,<xU`!laƴ.+^zm&}wȡ[共71oY_A0+ Mu5A.$ۑ#*?&/Ž/"v0M+q8gV+N 8{Fm55U܀gmH+6M@e\O"{֘:9ջ.gb$B؟+%!mD@vEKYg%bُ$bϿ ?; ~P'p:Īf4a`#P7+6=*& /A&GEU¢i) >ЩZ'x:. cʼnJbIL/oQ*aKB@ԆT@U}Su-ùK'ߧ{j[fduEsU<<8@?Vԁo8汙:swcnŹF ;KQStώ-v ;r3B} O'^7ϔ:!p9h_isގ&Hklٯ˦t1ᯫA̋f91@[?J o6-w!D ]⤄L TnGwx.~Q# KkB]*:JҙuwE(P plqI"Y:tXt.C i0"O A܉Ju>/WGP-짘`)K$I-e LkD#ZKDh%2bRS7cLhQ}4Cldz/Ϛ]+SNN=FS?SgƄ7NCɻ޵WGEcwWTY{w#[A@ +RVf*7NDk3_wׁ{=q;"GzTKM+/Lf^cg&ek;Zvb~ %۱w+Q"Eiybnz[| ?py|'wXo^1v`ɸ[ɤVK(W}W/)F+R h8dT+kW1-]%AҎ*SSviIxi,(T83 ٠݇$B$xǴ;ۨ]T#*cU)rL{DSHDOkTo8LBJ!T,.  JDT <˕* /TB S<P㴵OBq~VG0D+&(e9O;#*~- v ;$ I𷋭wr5jV2Ӥ\5ZϵYkwM?w"Yt3J 4Ѥv3#["Պ6tg9bboyз*- W%ɪG&+&|aLEWr뀟d$8(d4Hd⼓CO^p7^vQiw0Ezhj;8Gv+aqWTq>whAT4h-\%{9w|xGERӌuzp=}>x ˆ{b>]GVf$d _5;Q)[yxiy3R8k$ I"249]K(MvDcC_j_cSN؃Jo3-[f[3X9jy| Vng ~}ƴݮ{c{ΟYk*e$x>]3V'~* '.FZ9J)Ө= >e(ox<؞-Gwԙx|}{[N_1I?G+vݗ2Nq֮q0(q/!7p26*DfV>F~tq: ܮy wBnos~s,-z+"K'xFA>6o$(*&FiǴO~Sf| > h \'H–iUXƨKD1iG+ 8ѥ87Hb!hP8m4fBO@ B)o#сAgj8ax=Thcr, mYLf.mrB+Tk CpuI#EyI,]hxR;ZlY.YW9--FDy;n#l0[*{kL#a3Ƥ(KUy 3Q]f6$)yG{bH:yX&s .AW"qAE]qjD$=҂hIBɫW N Q/8fkŚE< AklAv3ͳ5Gm6|ςϊO$&].'`j*iϏN* 8.B^.{=2;Wn3* `nD3RzĄ+SNC!),O=偑AoJqor;i\wrk;d+Ь&Js8g 鬬_.P 0&sEct5k :Viϝ,͘lzg|R :m{L Z=+Ӈ\ ; r}Q({*nTu X>`s-+ֶoϮё.-{mOnq1`7lG;a^3Z"HiDZ#Jr} MP7puYYcJ0M<'6!z0qV7ŕK_>:7틟bLҪ ?G *j+p"N-Ӣ1RY{gp|'ڼ! yH"L|Aoc59sn|G{+?I5ηy&|Pt{^'yRo ȓ3EԁȽGLwCwOGv[}v:ȷ@?nTcBBm!g5S9.9{F#ݦOtƸ/m/|X-ΧtvX+[`}3ǵ %WcyL2"-.\RcNWj@q56r4z7J .\J~"KgTLJ~\t8KԖ#fffffضْ,f13b,ffffY<3{}o#6ή̬'rN2,^z1EC> )=x=N irϢO/+iSW @gKm&0e ՟܏xÛ.o/9m-qVI|K #B1իޜ,ؚWD|gf4 w#Tt9ot$O;7DMT|?TGaӶ<|0W5ҖЩdfQH4ɑO* )2.Ii'Vx_7R0z0|x D14YCM3'*loױ>MOx1zZ*5 !/`O\W,< xyH>/!>͞0"0JaMDt"p"Օ;{xf߬f nic!yrЂ<`R UVOpVNE뽦}|ڇ` |Z>N@ *J^tݺ{Vovg:\ߖ4ML )mU u+#LO/v4U #ưP*W5@.疐6AZL9Ϥ,B Үv|sF9E[RmOD؄u4.KE|!ǞNQ**Sp#De&+$>;Wn! 7g'=oj}S:= "Dˁ&o=Jj="MtMw8u,%Z#@2d81+=o:?(X>֔xD.A+b ZC HpL΀x&$6XsW:Sq>ceS2ޭJh\nܲGyqK~ΫSјoJ<Eql]6}ۑ;>CsW(ꮄw:EۓPZ6k (t^K C~v!Zk\uaȆ@2Jxt dU'$H)JI/"PꪫpNskulPԮoeݵ JgZ9cBz4cj  .@A0{4pEP6 Osچ%"<8ceVBT(fڹ $(aɿs@Q6 DʙEOU)0b-Q-֗0oOl|`&rL>?&YjL@diPܢFq Ǿ5}6!dfY' Ge5D\,\"RhĤNW;rzIpG#d>&wVc nl)jC|yryQ\ǒ2BhIuea^=`,3lc%Kp獋sAh03cSAg- >0 f^E~"Gk FXh 3G "jm4] 9^.53j^p hcJj PC(n%1䟄 5c[E: "YH 4xp i{}óUR"Mڙ<235摄,wu o)'IBJ~(,!/w`z(Qp ʡZL$K@`aao>U3.x 1rYwl\AՏ` A|i8]LxX'ŗJ*z,Kߓe3G{?1I8aX銗NJuC99H<^FSL]2yеK]@`7ahŦZ% 'a@IBeb;fgѭ'BE2/]t48Ǩى0"0C|06= !{.wSVmo@C))lڣ1枅.Ug|vt_S{°=A}(b5mg/ ֵIP+$򂥼^m-beRt8]<$+X Y|*H~o^ֽuT k߿q.ҳEN+ըWζ(Ӑ9<Ŧup,19inV6# BHvKOpnq>bri:ƊPeffb,4Bw@X^ dj܈Psc7/18DoknL9(jۢ%N}](je\k7]RK<39AHބLu'PWgZK;uDK2Xti`S{.\/!ai4MOӔޤWǣ&}{jpTQ98 Z" dH5JlRClcl3팫z۱&oEh۔d](5|fd#e!5AV̉?vQ퇈bRc=Dލ^9jE7-4xjgľ:~r&o4~-"^1 wTU5ʛ:b'5 ݮ#qkCvl!!Tj_QKjzE {Ù:Q@&8̟8p?n!)˨gV20O@ٔќOl:<21ƇaD22Ix$:0IL_iu/G$I}~"_txܱQ5B7m}zޏS]ʕ/}BY  Bbt5zj:lj@4nbkrahXF1)߇KIV |#-aT=bٲmXg|iqS[2M:~XGx{Grf59ZvO5~d0fRK[o>_fo ;6(e<^WGyV_ω,΅HGd:׃X[-/90@E&EQGS}FY 1P<۵&߷K~;oP#KAp{ysns:qʰ{&( R܃BnT '!|jPjZD(x L!rrTwD#'d~qyba4s*Et,~?9Lݟzc~fBZP~A<+DeMI'MH.GCue"_d׽=Tp_Rft1iEUtʮ'iJ-":P4Ũq8^+ d*4 `䞟ǼLI𡃜"2_ߟ: }/!ںl)/ҖfFǙo uƋoxdfS$˨e]T3ˆMgtIdR0Zs \Y}'c#SA:_E,["sI`sM||?y(Tj(6TA VUOD*7,n.r|#YXd֌J^zoҿu#2vJ`ts?Z@ڄtk72H9f1&@E׽ǐEO6hG4$ψ%S2nGU5pL@]U=!|pooeL=۫?Cm蕵(vg xI|5Yv=mi*Cw)W&ܒu kjA@R,49tUm< t֍؃Yo3|N*zo-=auB]/qlL,?RB>B~;I^fV H#xIp1_}3 U$*DE~D8x6/1ş> Tnp SdRUnF!"ny2 ogMR~^ 59#ς]jckE${[<=Ko#$%!3x"gcv[bo{03r 5!>v>n:'@Ho߅I[Rcd ;{?@SH? x0 YS)"+9pjiרz]F=~` x4 bXx)W&xqhbB9cc 7Z9xtFs]s\otُtE~"Ca LjWu/DWLGfG9D"^HED&kD<nEQY~2 Vd1pbR`IRZj8n BhI̎Ry:k_tC&2!Q'].u,n:jMSi WȽDbiV'h'Y8eInH&4|Fֆ2F>38ߋ HZ p@( ю(w}425~xlتO&Qw-<#kQY_${C%傾t vDb|Mw F7,,"84gUT|j)Yl*6̥8jU A&آO-Z y6x%[?ˣyd[myÝnAǡhU'޻Ǿ /4ex'X|Pi?2(-cF`"8:5צr5-m {al}*$ Z^Ɇ; i˂bz.kH!#=R?IhY^E @LƊ#ˌ#⤲1m!!m?ňVD' +i*aI9Lz|CXug%@kuP6R ʯ4+zNn/?w8߰CJGqUUbro h,rQXl.tB4 t!~150Ai[H4tZ{2*O_չ2bb|b(Le} pQ;?3ԕzM!LqzyVR8VL%3wNxܘ3gbׅ`af%Ju7H7!W^+=~ ^i,$qrh(;G9]r,s&U&"q4lj\d ʊP22Ր);bwiRpȩh8 aqeHĺQ\͖]V<*x[DBXk$Hu>h{EH ]?fE3uz*mW++ѤVwU$j2f }bl B cVh9kbCj>OΣ8kgo_*KdɷڏQ^F{8JIѓ>z<.N"zxҚDu@?0L0Xp@K$UJSÛHܑ -ǩarwnhs`e>, PY4OʀǟyΙel3 Ak7&"ͬCPXoqH%Nbe-L94֕Q4ݭ7v7ΟRPF$gTKX?xQ uᇕ]V]il㛊zrs"] W8J%ޯGzQan?]5e$Ͼ6|/>utu{mAWapL_KbO09m`G޺GL|0Mgm}# W0]o ~C35߈gҕ;4륓c)XOBF2e s97ocz`SR͵+?o}Mƻ\z<R !p*/Xw90)G"ޏ?s!ډb=޵+~,ζ^/ܹeKD8 Jᓒm7ә+D??fG2d%&^ޫmFmȴ_>7Q٤50]0YQ|/N3uRlcdf3 {eu'{(=LA AHwяf!-mKYz `$/~Jzý .:b&bsB~JBҾR`S?嚘: UrfifLSA} & ]ϻ吻~ZWUyӆH)$O1SG %N4o[I6 6WX;r&~="w\}OjEC r lRFhkJAA ]x4LbcZ`uhc㙘Aϐn H̓a6s.^("pz?@+h`3rh=ш~ź%=88{֬SlIcFDh*N`J ko=FjЃf\;ˆ!n"@2!>k';N@.6& *cPz0R3yGV0:}Y2 +c G1Г6vbC+s䬟`((WwKXp.f.oX+;^]]B"X-S95RʢɡGIEdX+)  PHPww@0q:з4d/$~]&=ȓOf#?bDk3w'%-09Z} r |^ A=׏5T058{p*ͤfBI>x13~Eo΍ϋd0~gS5V#)H)@؀9Lj<ʭ(&VIC\|\<5ʼg _!Nۃhe4,Obաdhlث+o,Q[xr8_r?6h49}"v /2c3 pg_[&ݗ'8- %aʉsoQkb {̝S}t>Y ViE4`ep{:e.Qs5#_HR)_Ѕ޿25) M~t5ⓡ!3ۯfoXw y|^.6jL@*UTuQTS=8 N,[!93kN/.ү}_]OI4涛+sloh;'? ZȺDu!=Ogrrt)КnVnf#P4.- {]_$6#PTŦ>|UWUZKb.$ګǏ9 [ pqpR(GC&a#ƕ뗏Pۅjr7tme(?(2rtM$-QZFJPWSa/>S:?8K`wqŇu S9kݏ_d4eEd~4X/mZ &NPދc!z"@68\S\Hd9O+ʜUZS^fiZ>.uf1! i<$՘*@DMxWQ^ 0;5P<-o@yH si/\J~`[Ӈ|ن樽7t@O@3yM? lQ4noُ[/2$s @*±d*,.T.ִJ@NoNcHZ˜|^FQU-\<*b[J".`L79~{(0$ +O vB<@Ȋ.zR+=O9gg"0`$_]|+J7%XqTBB>I5n^ ~<~_{P/BȒ]Vv+LT sqafUMuV#_Jj=ML<8awڎ~\= {YDg"-3p;suⶎ YO`(Vg噣uiJuUW\_fPn:|4d4O9ag惐4CuBH%}@` m@WQ{?P|ív1]v㞎J:5`ߪ S@P~a;R{ydSJM s&~D0>SGۏWqz+]6syK&(M{&iW/yV_FX|aJ'K$ /A ]T3* 951ĊEffCF>J !0OqoiQI 6B |+^Np""i>xE{R%>Zg{6Ý'sؾ}ݺKfzWS(mf[7nyw)k//#,cZ4쳬~xA5#ln1xK!#r~ ԦR]>~OxElp`mWSBlˮ?m{Xĩ␧!1{5HA5vm3X7}U,_.k|079$pVjsݍ6 jL-~ue䘑aOoO uM!vњ{g kaW-'qάvAWxL"c17s8=Mú1L.ޝ'aW]~=jXUkϕUƝf]8ID A6$o|Voehd󟈘|=7C`?ԋRUvEIT^9KHQJ;&¹fawW}aҽ0x%֡߸7AY/on W#|{jn[C+=C69d>IVWm߳/6_ֳRb㿐-]0.f)Sd0KHO\`YA,,2Wv!!tHS>_ o}g,6;mNne[OӞJ%O`.4n:y<'v{sZnLtTel / ]FȷgWY-’S${!YX~6!KPe_?g5^Hy[:ZzFt]u/G,5s]-rQSٺ~>uCJ{r0Z9A Y^ drfv/$vEU}ŲnoOI ]݉7i2fd 2| y{}nxNX9O@|37B|^|S"R JÔ4`wVC>'௨#&hvYlL z 7:P{s=X{}wɵR$z`1z 98H9̭?qd>y:A?ޒT]C6NםG.!̓G`Īui x~ jbaʼ6}(:_v 'Q[WjUUK rdٟB/uشĞm351 Ny,4OH*fheYkt5a/:Ee)͝|A5,٩FqW="Ey5҅3WP¢U:ҹvkCqyo?NAVh۽k$XzlTT̹5j D{N߁e1+_tw4G}{fWj[v`Lg>g#^ƴ$󗗠v*gz'7ij[{qq;6ou󎜏?¤ &On0!hzS|Pp}C>; H1p!2 N`MSjqpΞ4&VVNo-9̂VeB* ?MJܝdRD]5v? ~3q~'5xmTžҮnH5wwܲe#`Ps3^X:F9o~_{n]䑘X y;}AsYw u9TCfz@vqV$\_kZu\|YhY\{\iild N ?*&0%.Wä҉p;ӺW]_ >'Ga ra IH:%Q9SV4?7Zg c<'\.U\=`*k _Z@j'GS MgH$'j PBMT_<렆GshVbim,KP:%!qϖTB@Y-<2|Puc?LPT2 ϣgE*/ o|L‹#SFg;; L d)Y0./4߶dp3s'A^3#֣˒('s#:CmH'N^ϡ+\*c!q?G^_騬 Bks- τP;Zm喁a=|3wYXWpI`CuKhcQA(&]yK*@J>b֟-xGu˷;F"H`CXT;y[D-[%f=SY2S<>ߞv<@3:ci"/mM_V6Ųm̌<Ҹ ?PoQ<|ݯ-N*b6%96JZ[m d!UH>*)l`.ʌ)J\[3/ki(۷o݉?(kP* CUgb&_r?oX'ݙn V\Hh%7N-<0*GWNA,Fx`xHMNŃa2ɚWlA\ͲH(IQS'?*#r*"LidD~)([g$ܣC ZHByz톊4PQYn ڐ Og|4P1"FD1z 8#Sp0[@26sѩ3ⴳ 'J2>J[c$P/pSb̈́GKsYZ օBOpXfU54ǒ%M̄Z"#ʙC(g󊨐2Tż H!1 IŴgGc) `Wz^ݸ*+= aR@ LRiM)a EN͜aaq/4 YxYؗNQKJ%dl[c%sP7 ,%2,U l@pm,Tu:xhe=Z˼8bE}܊ Uu YL4d=GP1dT!=Ai"q?:H*T:HvxBڵ3˕]Y mlp2w+gq5іx]݀Ljqmpm36*q%o9}JYabzhdť PX_G`A&99k !Md ß `CS#'Tbu 4{m-?f$׷ZM{m($|M`:Y* 䟤h4e0Α %2Pnوd\#0aeJ'5|hgmPLSS[|BI[l2Ѝ+F`':̩on{>VMZ|#pXցl@gST3٨GBMU4~Č,R!U֌f(>OO %$4հC,`1<'"׍wBʄuo>Dp8u)Dнs2\ FxlZ獉p߸YKrUXrtxOTmf!<$JRH(e?o$C˼Xd="pL =3Y#`S_Q4|o?NuG%@/MH8Tծd4 Xō6Y%4,Wv(Jߧ% x0(@W b#x7JM(romd tQ9\8XEtLƳ!$gA.>>gfd~iid/APE )X9렒GR-R/2O(hځ mp Nw 3@._jwﵞuT{lJx3=0TlMxh6T:\f0O<4[BCH.c6:Jth#&Fͪ8f5d_ )d"%Fh ۶xdU8X5 ajH,*9ec46+G%CT(J{!.lMFF9W0qS_&.$0A£r`֙V +dlS&V XEb鲍}dg<𻻖Bw,K<< 1YzCNuk$v7, v(\Wκ¶z {  B#- ٬UZS lfRFУ@Ǡi={hZ3spI)~+2{Fd~V#_ VfwBz&hlpoe 6QILT*I0*FVDƝT]Xl|B!%fmK8!caBNIEXKZg=$RXO0Q6ԏncf7J FX?p]8^C.݃)$]~)Ǥ@}J{31w!}:muQFYD2K(Ti)aj4,b1:ѭsQKJe@`8T %FJjK7 ׈v8SG+sc.g'ycԓ/Xpq9sJtAΑ"e8|C&HcHMpEtBd:c:Df@EX]yr̟0Icx$Oro+~ݲ^AU&}B28L-y4vW*oE-2˙2vh*G~ae 8ZMoJYyu;=2eyl?PVfU Qx(pj<[av AyX0)+k67xSC~oQHQ}m4&8ǒv X`K(IFϫ@vAF /fFKq=Is d@;Ha䛉jjjпCp ,N6S!IOk"iB^gGwBW4mÚj e0!#>rh ] nދ 0LXt懦ǔRcG鳦b asð(qf nHy%bbKT}MD&. qE ~&Mm.d]ȖDW{ #g1O1ڤ۹Ovo:"`70L!h[yEj]!t_VJ""mCA1 MKǫ{9#( &GՀss7e%2FW]⨄jhtEw#6N5;ǚUxzƼ>K TU{3G0k+!'Ii!Ba Sc/ɏ(3>d N{xNdiCPdtĎ63 C9vo|nxO_&C)D\r9m7e߰DJjxaⵢز9#8ʀRz4܌<| `aJC> V'a9{w^eBY`:v!ɼ(MY 1kS'VJ RJ  ӒvS aIklӚ gpn#-=΍ig3&::Zrz!osPho 3*&8l^^CV% p? P8 IqHIft) D [%箞Q(*5:3C'gZـӴ_-ouJ{MBP@}Q9Wzc03A:%s?oQ)R,+2zlfb.;Б@i*-/V>AbfDJhP]ʟW +T3rEGu\ 9Hhβ2WRvFfDZѴ̆h1`YEDx hGC+Ӷ{˕;'w.(9zNBOq0yV88]k',P`cDƒYI̩J;49 SkF#KD5s~.(`$v2nYW)B/vss*YڋzP^#/Bf~P7ή2%Rڒ|& {;/zYn.p*!@7hM E[<\ؒ8P6`˯96?8?"DSX@n-y!@Lp+Au@ff9:>+xݡ?!Ҭ'._g7#Yk=n"NvW`88u;_5z64i)t7OQh) &2[Q0ы(Ч\S74J^SLcQlZBayqر9r6BX? NZŇ9"zm#zXhk`fS[L6xrM\-l:$]&^WIz瓵j]$iL%$ok^~dރxW"T(f˃ >O]PM]hR&$ۖ9a{ӕ KmHa8V !6htXE?\Cƞ̏ߚ Ar(%g@Vс؃4==$98E&+; k䰘^(*CI(Uev{q)BRSl3|{kbYa=u(2!Ƕ`JeR P(? kDS$r8?X3ysD ..l 9,ȹ lst6ڝ]\f=%"ݮk⒊`0.X_%f~^{)pB=9#(CC:@ӻsʼnjh<ا%(#O'SVU"<%GۦZ$+_vQW燶IX%QfRyLSx{mT -]'b>2g8crLP60Y%Т'=3눍#" = /)У a`f`y@r2܃b|l$۟М6<,*lTҟ 0 Cviy[Z>T#[0և+T#X#7naֻEevfW1 Z5- q_{); NcUmtr+REcV5, yۇ+:%S!aoo~rŬ_<Ѵ̡ۿr7p|"w+5̚ g0[_)(i*ۺI"&P=xgҚt6ome ~mŮBnjK8g5uuu_A4Ii)E">3;/nDZnlof2 cMh L'hFUՉNWvgG陧ǤK^0cFl?.:QQ D?1Ϊ󽘛PНr P*3^1/كd+S˹pIL煮 S3,fOr?ʠRl|= qS_M .,Y0Vp%Ep(=W x \e\8Y#{BO2IE2T^n=du*DYA-q/`2 V(D+6K=~?b#"W֌*"׊Yu+\@"#? C L`rMDs} > n겸 IgY$No=߹y{_9?UBQZ1= 773:NFƂw!O ;x 0,ђVmiˡ] ~%kc#oؾ`G90h[Y[$7Z+gcԿSE[r:Tƞ\`3U-iI^ԔXsJ,76y93!tWKUDUe^7H$I/"u:=51UME_Œ  ujߝ g9gPS??MLz(~xZJ4je] 2*BQ!hf_-^?8x>(-1")mSDDS$\-\jd,~uakSGfPa l%20b+v)x&" ؂~ciU1M %|_I(/ 4rF@(߅S?t,PDFws֡U\>-޻Kg81 "J$6R!vwعG%гn*oZE<~HXJ"Wl)knZ]]N,ҫl c:To1خ]&rt#i{g&\b{7J%{kGjhr5uu['dgu[`=P?GOZ^D!;C(MT?q_ƉTLYǼVH wPh4iFp]עA^bqE&UDhZ[2 'lL KJ'B˱%JpC 'Xh`.Qv<=޻S㊠悐~<ܤu<-olaᳵo#m k̇ H++dmRvjD骐RLQKE-Qoޗh -I墍U5JyQDt VA&fuKrS!c^u҈>[V&ho]J9y'? r[CG k]t{"Mo&X6,q59dT$' `9AL}]0V B ciw+-J{pb᯲N ƕ[ddޛ\O2u! U9\At,T -H)cfa9w|kn|Ӱ؝{ñVIx 'g[|qg@%6߱}y,᝘ jM-6VC\]o ƚy 9=~+3 sgj1Hw2 ԅU4缜 e&Su[/ю>M GY˭v5.NX:$v4hG-YL /tJ$c8$lR./\6R6+l*,q?~q&ZnXp5s7oa#M*YعVvWyoMCohݶk͌+#"sEa4ewű +Sfw8Y~?BuLcF:eL)CW G&PV=&LO=`4D(]譫jA).\0gfYGx/n' \7QOL y1(:S 6>&V'Y}C#vp{<0}KNs[.e];^zԩ Plb8zwo%)9u,3/ `fWzQN1C8ࠠly`aɭHToBa-5sħ01*Hٽ3pq[(_˗*7tum#h&]w 1ьht*w++4D@O(NϨ~H)fbbWY4Oeax(TDƽ 36gwX2iB"θj4x6;THۋGjo -ސ˷=áwd;gckK'i`Dv;AV%~HmXinU0:唲Vc›@'8ܱ9  3:#Dqe.f4i:?hquw$Ҽ@ceڲ~d.h>w0F~w[CYĉ(-tvew6F/}{{ z݊__ۨ/6QN+B\zQ+ɩ嬋M ^Gp&ZNH&[o^wi|'B_׽{ 1$c&n $-UYTS;N1z$OfMCu(k#ZJXգqˠOx;h'tɱ8%戭()?&*n><)Jv3xd^y(u¤m'lSN+}#vE#b$WŘ_9Ko?;_ƒŴF/e.:ߓ"(&A\6?EpC`<`}[eb&(IϊKd_cVpFf:Ո!x * uܺ0sgRJLzC>ߠ7̓$~s뚶@z|Ec'=^xgwժb\$w.,գ՘ZdN]kYVFǚJGx2D\]>zN<mu¢l~V-3)N@T ጆ<}=>?"k:_Py8Υ&EL<>xd]%v\uwz{B :{Wt|Cyxڸ >)&U_;&AAVf}%Xt`$In˙8KqZqIqc{U3vU&ƺF#8l-{?y) n۸t=49v&QߌH`] N"b|)-Z,+z}X$bD9Ucԋ5fKXۙ01@5?U F< ځG҅>9R0Aь`тW {z' {]1jOR7 *"|3tyk\iԕmDk" :Hdf 9}0uL$z73Q"8sDIzu^;hgj ,^Kȥq?}ߣ"ϲ?+tQyazW}rjK"zNJ;3yuu] JyUXO;8p Yw2U#XE~[ (#ZElqR8QYV0QX;$[^ABmzI)>%4;IEi|c~z cbN_{S[oSU?5T^v](q0sΆu$(HSt7Uke&Dy**U6%1ۉ^^B9i efJJX]?) 8:0 ̞FC[?κ)0jýjZMPv j.NJ;ÚGO~V.qGk _ еT\j}ۙ Uz,RZYf/AM-rGl,#v9g8 s%+th)0512rT|xJS6KQi;N |U&CC鵃9Ɲأb 'JUT,e !Uy14|FE$ M6M)ƃFf!VUc_ay2ަ_S-bM/ X=OO"ݷW,N LnETbԿE(k=N^1f6Jp~̍,|SXeHm waY S(Dbr>?e<(=MV tBq)oC/3v%ŝv#*q/SIp`ɓ荵 \,|6y4{}#gjܷgu  +{MׇXp>SӥVf m_7  F(7lq:1d`hO\cM*3NrE}g,v@AV! S[|!*E[XJTt YHAs2<ﴪomrXÌlT;S`by.Z_.u~v@$3By)nbow^1A\&br0[CϏ %hY/6|P<~E L4%OGxE-ͥfVj'pn̚Y3mEb,t"@0uQ95խFr-^(cHpx} v_[4\orL7ۨFoQӪ]4r6i1ik/("qݑrk?~4)!ԯ9Zv{%cŀ#{ ]Zk̲C>{G@.vH g8xE3"CRu7~ǝwLlH2Rs(H;M6zk F;;N=sVL#!\nF,mI37 L)@7gu@<#(V({ rBRQ*x鏗H鄨¦T[٩eU=.t!wrv zae]SNVyNq>i%pZ/Xp pٞAbURzJ"ݣ>3IڪTujΔR{6n3hLnjՌAQeӗѝ-w͜xf[U$Ǣ  zȌD4[j*||@( ezY:t<ķ淌zbT F(?|p|N6cE}(} xse'hv; įX{_sBu}`SϏaӌ8H<֐Iu}@o(tCi_0 C);o=H7y{_)pF >dE[qLG9m}Tje2w`0ۢW8F-x DŧF] stj =D*DY!T|p%}S=MrZPL[at񗍍c_3!{\CbLC48NBMX<OWlJ}8MA1<eU㟕Ҹhbo?X PBm 図J_ҫ65<7 "uR<^q9RƇ 7`.or\>@b@{+#YK n 1Ҧ.3*&D"z)`໹| 蔐iD(rGXb"O!X/X 6Q4QÃ3*+[]"ags7vP;)oj-v;e͝h汞#I:ۆUIXp+춈?mݲȚv4$ RD+ c hBc ;+qY7v{S2븾A|5B]\]Hp0*^4ń1#+C˻`WNUdDF#c+Ϩ /RWE1 x-UWT p“ӆ)mJZo.w쟉ޓdj31n Y\3 t7+[W*tM̀,V^qˆ V8Pw N>t3qB` 5.gT$lMNyAhr [9Bk+"BGNLE|Ic2_L8y_#8Ya)W=RpI 7R]]W}qc.A**TP{vPzY1'Il+A-/?hvyQJ9*HPZ{} ݲH3("K~4=xa8W,?pNW@ϙďpI. mJCI0i9\޾m0lC)|/M^\z|%Y!c(bB{f)T^9Fo9eivwIM46M!]鷉x\%Vwo}Wƨvn; \%LdDμv[_E`Ӌ%^xǷWXY^1$ ~5 :jiHj=y퉙HtO31V3dvR">Qg$^G@_a -պ+fJ|^/ڞ>;$+D뿅,s=ys"a%#J痖9 ȑ+)ghb\ `G39(?Gx!V4=Xli ے,4km;.MSuiMrI:B.^. !3)*jjrTj{-=Z@書O*rgXAaݪ"a~ _OWLa)ixlVہ*fd5iXa(Fqi<㞼n!3@ҎPLZB`JF~dfV!oDW'( KS[ PO ?n}I)yQtNX .F=]|܊V)7Z{ Fw '9SF)iߙe&B:U9K!n3"tDH(I .P۶@ifI/hx_û%po8~H^ճG9l6+&>^C灮_3fZSm}+Mo Dql:W ;Q=?n+؜- w*B,MD O|o; _<cЋKoidQϒ AVfWKfa2wDIsۈW=d>|u3 9J6|:DGrvAcVB;Ei%K+l7ȋАgbB>A~ŏl/?mε)7 / '}S8i"U]ԓ@Y^'6뻇X.C4|!.Iw3ii mi3}+(A.L: UF0-l$b.js ψ*—SS~b Fpّm2dR*i|S%d K(FI~ 9Nc7q- HD]D5KR?*ajBJ#55DCMf.m!aQ&2쮑z/' e;ΐ}d olzoB3:bvπ)őؒu(ł *2>5ApNǍb6Zڤ{g}5*Iof+]{Ki/k&ʻٗRdbCQ#V ck,C6ceAl5Osf]s ﶖ@硘GOPFi߭f; k E;1uϱb% ѾakϷ,+5".JO,; ^k7`u%ԖJrA$4ƙ{F <@ubY}7"Y}wCO2Ă~N,& mQՑD7[dD~kˀ(ȭB:5?ϸҨ&6%9];ҋtNHnu8Ixej\6rIlnzvN}pͱnIr|is^KNwYߥFo4hFbF2ʭvf:8 n-QDq %%k90FcZW y='q=wp?F%gp>'KJɦ"qT3Bw^qQm8U->#Y:aSe6iD걌Sۡj?!7n?cDz]PC5|9;XvDϞh ̏mȈ)6cD#s#Lʢ1aiX5|6n6nNvZ& pS@ڥVʃ53{s5X\_/ԖOB*p74(jjiв.Q9u'?~,{Mo}AۇG_Bh3,9=_<]nE^KCO/jpHJǖN?0sрNS'h)3m2 0[[oxp޿aq hj艭fYQ4&[6yge~PTOBg 8Ϻ@~C ωF²ɍ +q7xG>AxBoʲКEr""b,i޳ \lmxVV'n6Jۺ@GnFtS,laId, sM&O\%fokaIU'@d<{}a-X۪0liWP):z&րT62UJbi ٖ/0wfh,UЊRVq>B%nk1`NY(2ٕ(Z^ vL emYg ԍ:0lی"9c$j. J9_[,^|gB6uUW@?ăg\٫O_2zND#[,Ʀ+6].=Ac8Nk6Q~;󢕅:a _@aU |/(ٜ[QO;S%R2 xR=;+yztQQ]ZBXiPZXZARZYzi$%TDia?|gy33<z(f ;] C {r+6}1)K]+L_#U.[ԯQd3mww~3wL`WP7} &G5 qxM4-cޣW>P/啼b#a ]b6[ǭh/D~T"9*O1gưfv*5W92u# .C7g~yCb"P iM[f b0{9Ui[]Qh /6&bӁPpr%%JȒbgcU%dCƨViаF/^|Ej?,RQu}:mwjZz.ljp l3dnEOb^( *-z N%&3R@0v=Bb=~Bψ Ls^ejm뿁[\f֞sX2`.v# wK4k8Gʯr-w2׼wH{ƛG'Eϧ *VŪG"h]yA%C]_RakhKY{x~Ȍl-Qe O׈K)bu*gV*L>ni8󅴺_=u@]Cg\z2yn\{ėO?` XL-If&okWk+1NBaID57z7{oēw̒Px~bfp@ܾis{Aٷ!L/5.m2{ r!bEOEw_W8t;%ק?Y&'wѰ/UЃ V>T. `eTk#R7s{eٌ]L>OeC+}c78\YrƒUqϹ/6]t8$mda?ږ`di.d7e¦w(yk_<= I$/i78d6_ EqVKN% "Tu?y*y`2$Il,""BZ+bfs^VQ\h[.6ԴjZ_}5YX"3:;TO::Zw|+ [|rzhܓF[ H5voĕ(iEߘb 8n M'nc*@A"aYwn@ڵJrVZţ !Ib`z5Hb^G܆-M{)3w)P'\[J-+41> J{aS73xhK($2左jHw?xwvfĒ XAΞFy05'F'Z !M`'g+ݿC+A޼z_4Idm0K3՗" UI>7ֲ~3-v<5SgXi7ߴ!..i*[=i9M_x/M%|)=#w9z=KIAo4a+F]Ɲϟ^a-Ɉv\)Xw< Evbi=3fP ޣ'BǗlɼٵJ !lB$o)J Y wi^QepX0_/NY(d C&k^ʱpĜy(!{4kʍ,YN0=BF82dNK󡐚$B{ ;Ѯ5h7c@^mbi !zycע`wü~u=sQGK i!ΤE p*a- Ls}4}TB% j &/V,({FxCMYh=8O=Fũ c1Oi~ou7p[Q86|BҘ&+F%f(ρ^L<ڪK8t\nr*"RQNO/ Ů4);dIiܩA J[wƹ[KI<+p(Xf9|Y"~DVWyG:fP)/+L'G`D0y*SBnGʖ1xvYsdgHwdteOUcK:c,$8DnJlc% 9ǗaMMF& 'ADs!Su^\;q^j&Q "*!$'aAIfNǴ~"%#7`{2lNi|Of8*zgM1K5{3b6u u8(UPd*yr~h=A~4xѵiD;};6:6гrv1 ԴnvKlyߙ Oӣ9E?v`&'3a,}( Aڱt{پ`|[J/}p[7Ӝ5sIqu{y_ϓ$%PR@{Z 1ȷN஗ )d JmLnj#>9qqӗw\aAעo4tn l36 4,,, >)} W}KsH>W\җOꈕh4!|Q~CoԽ퍸٩7W8ēy3!dw R/ej@~HF+#CA_8qAQRf<E'%CgA RJx$cRya1L0Ί8=cF2뷗b..zNk dD 1(CGjnM&gz 'b/fQc5U~)9c^6TH2خ=#0c#blNG; )s Z]*`ȭfYn>Q%[!L'1KIg+9 ]dk%|:^7Yǧ '&9"C&5^/Fj{ٜmd|hv_py!cRVh(l2HdXUŐʁD>q]9$EWTkC]=48,݁8;|ó.!m) ;T9\5[X>}%A yEBBWPe"2|O)qe.,ZY㹗RIm"DVԴ'cAEՅ#IӸ{bIxWcק4p94HrHVd|;f[{p&l@ə6dwoRЗ) / {Y}⯝aA9O2U&E3:4-8pBp?륥00KFʯT8HKp*+R!a8oQ'@g`εQԻ&MBjJ;9>ƠS9 o\4{@$B{Ij:Q?YmE(z ^a &4t"a=7bh}_ y-4\@cl̲ܕt m);ڻ;ڿ>TeV\$ !A4 pYH ͬE@U0n{@L?H5 %}߰Hhm`[:[.jr.|)@GHzv;}[N*tݓ0玝?66V$ip>V-0wJ6mƎeeM0;Q_#ߓ[JV!Y,`*%.D: `2BV% j|9DݜT~Tz-֗*Ö j tI΅sI5NDp}Ud;*`{ghB+!IA"`R^W?p_ou(t={gA+fv6`e_Ye\$D#B3:JU~_ *@ͧú6Jb8BѸZ}6pzG&0QḃY`4.VumN7 ^yjv7^ʮ٣Z.aO鶒IՇzEgG>y0N#vрkom> d5OuxbG_|$1dREr} vzʟj:˟֗LU>&E6EV=/0_@dyFD<%iiJ헁P/§jw۩:ׇOZ}J+7a{%AԠddCVNvr&+(ؒozZh%w{&7A࣡'@'g{'ᬩo|.؃1+x t.jWwۥ\Z]{IET`<ܮ;[O!ۀxs!7 !PLJ:3=7 a?=۠x=h͵]_w -z B[L9z.ՄSOκ`H;/cכ%Z3Sq e5ڪ*:o}nYb}kspm`ˀIV)!X& =c޶Ω ouyؑ=[))m`+*TC <}L>zzczndb_lcm(} = 2pcƜv&vg| r%o5o镹Y&Eyl|gNu 'ƭvY{YI5G܄GEK4P/)&:VTAćdPPr}}?N;χKp WXt}fӖ%J0X6pշ9;6'ͮy= `Ir}4(}zGkD@R0kRH@0OWx;b3GM/.:7PHm% %9ג*W<.Q@v[w O5[lmXLaKo>54 s1q[v[g^PZ AHi]ox졾j^WzV\Wq; sT׭Tm]AmLUuAwRd޸΄qg;4Fpta +W.Ƈ!}@Ljhq"kɍJk: AבTكfg@iwf#֖e%*\v[<B$yuVBᢙa&SGG!Ȗქ! Y-_9J{ʢ 8vتwD/a< 45U?k~:PWbN<$>Qb8ɾwXsqpjwNO% ydt"SDf*,}?ۍ8OĸOgeJh5MLMjHB,}\kX'Z|+wj0U ]ZVX!Vh% zׄ[O/[y3揯(N%F݂c(hV{|45%~i ~Si5;b.]JsecZUǃѦF|nBRh_uSv7NE4y4YEK=gcㅎlЗ>/)Mx݌ǧ1,3wbBp$6M u#xm\܊ѷO5xGⲬW-ƅUAGXX|\3 WC b94#8C"^B#4솇 # b>4PEE2x! ǶeA5щ';yRz`yAϋH!#е PyY-N(zȱ'̍3׹x^w)u3ȦDً7ߏ>gF24qg$M,Ti*wͧSXD خgIT6RN ꯴)04XR8}?H΄1V] (8LMv u{NX8l8uxI3(95h5J,71Xpl\-(F+rUrvs3_q (ۺvG|ez2''Aq{wBHZҾc~HJuzͻ#:*,->D1Oaqumy|DO~p^?*J4ڔ%g~]~"{4`IT훒 (9o2Od} [Lڡ.1ĆŌS{_'+oXG~?nƯ||gŲ[=0[>}x<^^x| ~'ס`A򺽑1u?(:YoQ)/Qjo=_ ߹]R!fVN=; W.1p вn bԂh#YKwf%NLfIZsDV&6%Pq[ws'@%Eͧ*'V{"Ru:~^LKnLFBt W7 *:%"7Пco6]o#e'}i_~תZ0v u+Ja}/B&$_|'DNl@܂ ˴'&6Cwv.{gݦj|qmdi|)9 #ֿH`[XȣCC "3ǡR&޻]{f}hwnsy j:]1j!ihwGَG 2w{Nbe8?Ar6yċK+'Oد5f{=ep 5%% a3G2Y?,O UZ|f]sF^A٢&4dH &qCJi'p)pPՇm]`gR"C7 {*EOū0Pk!]B1GG<(ȨTR[#oS:8J>h ١":U q?p]r`Q se5\S\7$gt30V0zWm|A"4\?#p WCa*׏AoV0YLNhl,!O!iQB܍Xa!M|FLSRàrA^>~%7MIȌa s:*v2!G;+'X}ZൈU{&kmN E"c̼׿$ y?¹{?fgZ-!v$1;[p*LdNT,m`gj*_w&CqVMvqcے3O`v<8PHSP"ΌK'3m>H),CϒTMav-{dž$-=Ŝ>;xFGS_E[R`Am `4[DG-=U`bZ3Pf)zeLRFָk# pFƝ={y]/a9 4z}cS޻ߊQK|)k<ܠjç `U YUޖm"G1TY}44k'N/#}ikL$?{xѳH7g8 PI_2 E0P[*_||/ G ed(X0::5F2 )zѓjS6Mbj5/BŐHN +BtX #Y*cWsM?7cbk d57_Uܢ}VX FVrF`:?JMIp@pqVf@_ '(6anzA>5 2+12DzN#2nNHFxI*}֙CgW]*4JR5z2mTjOV~w"hϗ.Y2r\IW`;M#^#9A ؽ9I<{x'ė(;Ô$ |7}^Y'sfX=Uӌ|G#1.sa x`9r}#{F 먞o]EG}`i1 ;N\w65ґ x |#ʬ-mI&L2Ըajbܽ"[X0t {ق jŢNDFxWc1p1  vj&H44TcK' rL *W,(=Np4W)uf8oAjTGh'7c){&,(`w}|h)XY7<'$Sl7blV1y{ߡ*h81MUωUfǔhuL}G_e>ԩiP*h2E,r%`HYUMxHw 5&l+RIZE q. ؍q|Zm=kO\ߓ"`kZj;iݻۃcچS hce!QpnK8Q;iNcn 0y)UpF f>%5Mדٌ_n F ~0Ѻr;). ZQ焇n.|$ޞ?yjXP>beeadDסQ­\c݀I\ߡe6HW#~M18o=tzO{jŽ6pIL5sxϖ%5i+2syA. |-p@} =pΛB죏Pw .ϋN hqQ|?kss1an[`M$|[5gW)' ==&T39pAjК`k[LzپgM\p&a.nQPu%~\'ӱfwk[cyLeˮE *~-k*)N%M-v }XiF(#ȏ{jBemR?0^8FhDo?vxyxwӖb;Ѝ2.PmDz`_]7<  N =M;^P/{KH _c~4҉n)t4 ^.Y2WT AeO(g\;pܜ} D#%ԛ:!~p\WEV aݕiAW =9'n>3goQ[3; *ně7S+G[OK2ӽ Ed':4蠑_ F~ɷ&鿴To:_0zN}3[{[ДfBB oY c6zjR~AQtj\i>5dWSS6LMF:F`'c~H{ھZ_έn,S}ׯ9~O<-Izo Jk6h4fVQ}ONmQ( (̿<Ѽi'iaI9 L\<.ǯ!yal,j d"ԆJp~IVRHz oH&mBM=o$"\(Zp Ag6yizLy0г{BQtQF_={~;of6[Syå*/-WFc[80咎'4UZco([oO%ը OU25APW'^sf!1E8ZUpjlR79S8$T n}%1k0y AJV렧(ac0\RƝA'9KVCcV0EHhrFSr{ШŸ']nxtxv"IƬU%ʄ޵ `êm{]sr'oQ+ %nX•nOu d4)/m诉%.c\34NX| ?F*5G3 fT.DaLJM+`IkA` mig"R'>2A2+ #V{y)ƣf#lo =z;(ml1V҄{s&%6A6ڰ@y#sȬ`[7lx;$b+ ?dž!8omE"#k'o@3NeQe0ڛpѶǩc+J __Bk!B͑~y0>=g&Q|}U^{KG5lB@@vw;tᘓ7jX'^{oUȮOkWecpCLqZҫRhH&_kF>P^6o^I⯰AҘ|$[PrH-;$⎹iVfZKV./ AduFB-vފ%aS (Jrs jR ^$f3(2ƵNEJ.+Ɏ=u9~Y]i.bTS\J㯌"\e?yaw-AѬ%.U*Fy4d ºPi5]5$j~IIrd n)8^ #,58)m2g˰lC⼻* -!;kf ZCM 1(RD "}U#γUގ(Ond_*c\OT~+b66um*Y<1ܤjrZFP8I6 EHO ϟwyoFզ1[I?缿mGd@o2d]p]DqP-o̘q) ?.41\yjig28wf[Nd}(!NA"sdcՐ*D*ʘ3bQFt'RzD:V Z3`y6j~u7Hg$Ȧ\3C \hj(.Bah5J[؆k -+rbAb-R ڞ̊_p_&VKO;o42ͣ%wЈ'L /uGLB7'w cWU&.- { @ z0%윎HAQ{ʔ+Y}l/۹m)5JysG9z =uQy_6Q^B ym"}ᒵ,S7 偭'&IpH`ʵxd4j'PlT\P-vF!C۪O [sB5g 1\hmLϖox/*.t(V|\'7cq] D("BV5CsoFߊۗ壜dWMάEKq+8>!g23oM[z43`*:2%aDˎ\GusSoFMZWE>| SH~CI*xN>B>Lۙ;^-) QU~Wm6#(!DNOA&ph>tFH5uY!`l7*x~xFx_8-n:"&tF:7 ],L17Y4:-R6g,Å.b|#[,UqH)_ BHI"NF cA|-ͲMjMP{JC PdK*zP"WMZ[O^]æމ ұV.,Yg+ly7XgH(ڞ' cgmU[ڽzcҚt*x+E9]$g[Ic3:0X,`1[h%ɦS{=dFLŲכs= 9 K;3$jkfQXzd3pLD+1ܟ_x{?eTpp Lw?G-gȡB'+ԧs\6.1%m']w&NGH p~r/u:Xx@D PջI( e)e9~>{˜+AqKQbZ'atSOoıFqK Fc L'̮}Z(" Wd_e\Kĥ*JR| c7L s\kH~u9oEu30tj?dmX7B%R,J&:MO'q]z@{.B৶2W\ht%Мt} GCJ̠+ukX ru_:^Va4l?XsKip5w7ۈGe5<6B|L -U;C6 hk̲( -Xm EI47&8Ffk- U\ D",! A5-HadL*4㘂 G*ZBK_ '2AR5_k,nE } )(եz~N ,TA{Z &lAmANE.U~ʲ"l7X#gVbqU.ZAcL\H@q'iBKO25f8Jlg}1fyV<#5&DT8 '(YPB.+QV`c!y20 Tn\Q<&qiP ׋=1;#7J+2ْ9hB&Iq4IiBqE4BUOS8e$8<6i욬WلKx=]Xdq2qO߹ڌ)éLA^T)jiekF e;% QqYfCt(-$4KQSBOjC*iay>.ՓsO.=a)& *P纲Ds_ZU*2'ȗ\FjqéC,#|Bc;N\f:뾬*:X"A}(JȈ e4z.^HRf{kxSyDW?jSiC%(bP)gq6 Wj |!XbYgx/%\5"+1E}8rdd͹wip nY .˧̔Fr7T$QvqŊʸq5 ϒfbC"dzy ا]nuqTui foa%E݅ݑAzyO?$`Gea ZJY9S$Q(U⼘~":օc%IlWjzw&RDq1{aj Q?c7|rޤ *%^)B@K案Zz̺yBfUVZ$Y¥ f(87QaHsBD+r 40`JؼiތľND%>+y W}aI#AGHF*~!݆2S'uI)o/-K͊ Lɂ'[ ĚIjۺ`KV"_Qy--8r;}(з A Y:UUKjI7!DE"/Kŀ%O%&hr}V h=g3j=8aNhyU6/q1kn\?k{RB*zhnLx- sPa`,&+iu"qk$ zJu<d+'o:Q$ ͞fi@CuT /wc >'<؉VbB:̠@mtV5ֿw7K;>7mP!w9pZ aЯ=:j\Sg ҕ0!6^>.:0ݟ[ ^<.@c$j>Lzj3 *k"p$0)%<+k#dwLRRcL!)c ^@RoBU9CMuaX^26(9+,o*\0coa-%=>M^($C%b:.9(ZWObƞA2t'ֱ3WYCwݥ/ g*עqȋdpWepC^nI;fJ(?S:μbL*gX-pv eϹs3ke/aA'\`7}!X1lۗRF+1V 5t*Ba`H` ̗u9:ަ7!,zP{F$C='wUZqÜՅ8Rߨ,ا/;sfyB;+CQ,51Ҍʷ)Td[x *«SoЕQ%ט"y6_~5C@v[HB@tv#8w ueCuYoqzR]Cj:ƶvVv<3Bb4/X}rO+PUb_oЅӽOJ!K=>:Pi Klď!\< DI%%I~S`/(5ŕm k"NڐGҸ՗R@EpU9HCnHJ,ۇqDW/g#&EX[ ʵnj @qq<qhAz^9Vw_e|Dž %Z@fmIn7V挒9N7 _)ӝrΌ '( .km0DqzpƖMȶQb8f4Do?2MO4D$u`}^ ^o}nS |f"42& c6=2i""#- Ee:$QV$VLu|u[aM;A &?%ps'N! B((.f~:@mq}H.y;=0qG64_Ud@պB]P>ԍUp@mVM֡ONϲvrřQ][iZɬ20n)]uK5q }6I3 ͑mh'Fӯ efg#erK><{ #ilЈǃڪ;[run8F::dx7kEM3ÑO dK?DZh?oh8{[ՑB ܤl"%?%*AZ2E7(h,>bUDdKVKҒ88QBE\gv1b{?饅e!rJj A}d2+p׼ S/Z4|DS9t n`ү}peuh#9f+۲k!O((YE\Sv驔U}̢b8fFO \59(XV<vkV"U.Q/~(& vNx6nPaY2h8xԠd~~bw;:>NR*C#ҏ0O^Uv;;|ۂ%FT}^'>~B1+ ;C TB%QFжCB: S%/z*7JCQLE#bkA)Woqv׫skRqp-@`A`WU|{*M;]ʹJ h5[Zo?GI}WYSȿa}ГJhK"͢a)gKyjLjLBŃhTm6-G]=1!?"a4lyvg (۶`{eՖٿDA}~~Q_֧(d?oO %~T]Jk5vśp&߽VPPYr?G%ΘڈI\9j/7շn6( hXxOD3VCi;sS;vl.DHr|?&E'!~$DFwg`GeB=.9us3/[YgڍbЂռ $96W;y& +]lلʟ"lvG-ض/n7>N!M^=& j+uj띫qrLQ^F 9t]]U-t>ߠI#/O 6AΛC-/ o/y(hՉV.ZFQȂouPr"ܱ4x;\r;8@F 1 FmT($bip.t4r9z[p'IpB2=ubHVf7qv7Ÿ;>n[6*?I&=KIqt'0 5~BDp{țCO=җᨳ>A0BܢM_R0, UV}r*jE<sŊ1́y/8y{z>4ƯPD>yZ澏X?fo_6o_׺a fqA3C蚆{YB~¸0#>ErGιZ]*$&DiRBe-H;~_TI ((dq9-P4,grMV.띓cz#z#MzLcKLDjssBvo(\Ib=TF&C;umoʊlXъ۶ƶm۶ƶmgk}><9ns*Ca!^IMc%4n.MZ55\DAL_og4HĸMAΞ:'%}0pbR,dhHq xy&J^EYSuYƊP"NɈ(';7P9'[Ll~8|9|v_ @(:B&_$gy&sKx L|nޔպp84{2Y瓇E3aJݟ hDUg^eŪes@9Ser˘wm2Rzgb]Z\AڦP0wCK|JiKUW+FOͼ0%OD XB 嫹? fdf'uʆqN~=/P;4aYQh9`'m?o $T6?Ahg.* lB.ocHBR a \.fX)A>JTgv7Fڒ7s:A`ęGEH|B10*,O.:?Q !Y_OL_ tS;lu+PE#H<_~va!QV\ժ/ /}TW %??wN$W_ ~"n-fmpZ+')R_y}|TW;`D=_՟&[knfYRk t #7__!r?fy l/\Q.rΑY9ʵ㖲%)Z %(sbG:ƗxJ *ͩ"U0- f1ytiC6I#MIK+IEa v88\ فypPa~BCbC!qxx4h JI`Rht\sA|hW8yi?@~q]1ڪĘN4$"UiYI{.a8* V6~n1լ]A&r YN[2Acۿiuo֗nZ~.~>ɔwft抾= O4n#DX(b73?,hAc+l_^q]Xr0, .>pD5]%UP?v;XÃppg4We?ŤoU͹(M s U;Bwpx9i*dq>Q='뼑hQzc@Xz&9?|@Misd"uu C_h NB=qnjIAJ~C=8P,݂<"TKL ى[u'SAG4Zb<ғ>˷H>GZ;;,bs J:K+#H$ $Cn6)cGg,Dl}~&4(cRQ WQkYj$x {Eb^ܓ8'o=&/ Lq4>]ZL^p -bRebw\¸>_O2|VRg4oNy3;&ӧ\>՜]lV\6ּ6?򷆆ߵ<ӯ7k&jՖZn0"kh(-&Sp]h8hlP uwTc)a~\]RF "׮,ilq~-uU!5xLF)OyW̢"c5r!B)]{E6NXPVxafM"Œ(7HN^3sԿ'C};pā*;i (}t1glTR\'d/%5N@bksp[j ) -#avJ>l1g(j"eyrklCrʫ@H\أS>w ];!e&'"l4FW$v,:w0a>-G C?Pt]] %$b 6Mls&Fv7v^[ d=wz<}{Y0̙CQ*RCsű籑IX¨ D jzkOsU4sAŤIAi i1;Mrc }4n3JCA^.зW=[9;o]InhhȰ1f{JIx(-gGaS u Fßξlԭ˜yxm*$ǕmO#5̣JR_ڟO?'^7U5F?Yw?7w >x߷u>}.T{Cd:8a2\G4 V೔CM~lhHe!K\s1R|CSVSY緇?"ͧ^Gwp`u_O/0>}.Q:}||Aԫ3,bߘlBC) 4kYݾC$Quy~1Uc`syEGj'\"_9̙S 83c\2 ,I'gYam"S'j#ht2C6ˎqzD tGgBNG!M7CȏGhSzڼG ڰesc{U7l]O[ވVo{ZYC0Bé"d t_ ]j.hO 4а:$\-\ѪDh\F:dy*볳ioj[M:ؠe-r-tM,.Y){-¬+k|<.}VO_ eCqeLЎ ry b%™HIG(!RT  5YpWڜ8ǑHOpkڋ6`2 z,BU$ɵI**FRk ,ӝBq@#恋IiR9j_F-^H 2әD U"y@L&_ pZ[}q~IX8SxzWe`7}w ?>Gm |uÑ%.z}=?dgfG1>{.>nuӱ2V겦WJ)AszN$e읡ŘGϓ𯔆bUmd"IjkK/[d*l!M< @y0ĶdN8\o$ci.r(10Dv 9AMx_PMHLG7LbW8Pr5!mmCh6hQ&31-#>n6fGIߘ|˝Ᾱۿx#@>d=DIo,eCϝOχw'(Hg:;ƅN/#DYfika}ǯe}M#yvXDIEQf*Q-Ӳ;`{D 6j{A:A65՞ȫkjQZO%֧K椵 \pU!I A2(YK/.h$;"$f?ce$D4_l]\D^z.H?.FI+T<$,߹βHQ?y@XdTboEy>WAI#.̣bcBSa&$(YWd<hq߯Zi\[iOy נyZFNJ/W:7uHǑR4ˆbϑ3&(0g#B$n_].Mw4El1@(`AwuRvS,E n+&]F ]t_3:z1E.>1S4?<~dnLT K7R̘vudMZuجڴF?ï(hm_C&R)X=e}XuQ}L1/3NJ$Ci _Jfؼ!l`PF|o~qp61,Xt V^|aܝ>&!®1 oq!r*2NƷ 24 93Lu# C^=/FT<ȚopIK2MeҢ϶\3yGIT׳jI<@@ՇQe}mqq^D0ծ`{QBX z(Rx_ekw;sęS\(42(C_Eu\yp[~K 6»PdĽ@BSFDG>`ڲv~) 'pr6Ko螈8y3yY~G11x4o8#j('Uk/ۀ2&H,lw cFJ9CAN>Vb܋A-"A&*bu_MT{EyhN&[I'mT!AGN"E]~(E}Y!5+dƔw;qV~v ! ;=@p W@!o*sB 0l%9]'6u;!ѱsBu.ʺq2mk_9c!Ӟݠ*F"(|"Ca t(/&q9&/LJ}<]bsﯣV塴9!#1䪤Eef]Oޤ7Y@]5쯸Uy"fhTr̪53FPMO쯵wn/u8G웤ۋ$竝/Pܧh+g?ll FF 5D(›2yR\Kl"¸ R`Dd6<e@h*Y `d.'\kd d~V+ 5|`z}TҴyu5hyX@6tؓ@6$M -?rY-c`g*ͽAJǥ%YXuj(N-=} {ׇw]N'-b*7r. .`X)~(x\BANhf< ~ s&ׁd),=;y & pP}a|ɷatHNX*[P:=cʌCX)74yaӶϡ/uYe|6šJt52k|Tڶak~i/. k~ ;f'Z"T8\(+`rۡlSEk2gk77fC L֐V$Jɯwկu;)ibB<|)u8ev_9|]n=~UL޸^CdsT'wd6ˇi?e+mEq  /Qܡ[r)).t.-N8=2%('\4oH0yc =jya83 518ᓴ Q;Wf2N1hZ(z[GPM€$C #8kH%ˤoer=0RW S3쉴O:>I8zv r~[!%T"{[ٟu~AR;`gY+Dm5{8J!Y% ׄ;0!@QZuN[\3# Qy)_(Ϩٟ.wDy$a%OoHAVr)Yss˕ϯn./l K5㖒M%`b @Y<;'bDCVF.;u7Bb6m`|qf1lz>\".z<@cAZF,zZ|%<%\߰U̜,ZbMd@{7Alr׿yh)i('"ezAIaP|:^,6Q!4hc3+I(in2 5G= *Aٍe3}}T ]>[u7M"H 4DJ7nT =wϳCn30g?xߴo3[( )ń[O2&q.\ex!:zHSzc@@Fj]ʺJHl  X$cfװƚI[bִtU?\K cFWhIyoNfM*ndqMGyehѸ*C%+Vr/B *֝%v|$jo:٥'ry㗺v[׬1 &1"Lծ{tL7S7s'N OcTCy؏&K|$f%k]%i/c6{^k/[ F'\Z;=BU*-7:3DZT6lj0%a~fd` .$'J++Jb GLH'D[  EwsSMQ6HF|1f,4O#:*i^YT.: '.%^k+KkWPrswlstz Ɛj*&hh⊃ie& , RTJFfrNoϑ]/5/ʵ%uncY5\'gʃ_i{N/)$NַTye68XcPs0NzWu#,afYet X^m :(xv~܏L S);&!{WA"]k-" O*7M>_;)HScWT "货Ohbpn ǑcTe͐(& \ڪ ԉة΢k?I߂xͤ#nT p9# 4{?6fT׭Oy[~'/iK_xX Ur{ɧkѢt,,Vq CbW(HMyTb rP0t=Y`l'#f=r9:Te|nu px=IbS\LVy)%1鲹YjX}$mpU_+8%," BYYAxj>e",oR>WH[pYK0#,@]ΈҐDꮔB/'vET)"\ۇcj$}\#7\ЛLtZa5QB+ŝW@ X7홷L~MbJXN-jP*AK-5ܮȫ5/4 G_kCEeҴh:ZCVݺ3.f05~F]S9x( `i4+ǁfuͦkt /ҤAʵdu eoGRip_v{:XUh,&vfê}<&{f m-eMniTA9)0iXU&n&=;̕ңWS\)w|*45P)IJofܟO[_޷0Un5Sb[vQlBejF[='>u^\u~Ec :EEE"d[ud$,~_rf&6$ SV%d %Ƞ. ͠ UIVC-d-vo\1uh,m^COw^\ÙTl{t}M=w+7Da ߖ`qQr5,Lk 3 m>V9g ?f qVe_$Xdo'\2|=,_EK(ZD@rm %~][T^{~]x :vld4 KZ3{G] Iqڒ/7GM loe$ nhWJM83؞:.h=_fwK>py?{/ ~sK{Y E9Ç#54ljR3Fg G&Rp_9Е,C_of:sS+MvuREJF8u5LM[[\g=4[$UҴ}9VPe8E,DUu#v\+D KqSX)0jK'ɵYư(ulwWq sIj}YIWcB38HnG2$X{\8u0D'&xb? D#{G1l#֞&X"Su~x~V2,.[f/ո ^ĘSdyX(ƽv1D9 pCXR[5OoP"I^-GmȽgJ`IYPQxu*BI0t}Y ~kbkll(fj2 wwKTʐv}XN3ay.ܞaKNȎ0Xu8vӄcu+5f*kmH^jtqk}nY8$H@9 YRQތ;0Ʀ:BԞf &RxJ5'l0ɇ Д:K[KH՟O>$P T)DTDB\NlGdcB6K3 ir# LJlL|Dhz lp=?2b2ܱyUWqlgm4)u<{ٹ 2ʣABMd߁qn;d5o4-/a଱n*24 P1t~iq=d^&Wş=xqԖp)=s9a<ѴT`a0Cx]=S/w+N6\잯3ׯw8M)9̠utFK~y-03bA"!u`aA؁w3a`ey;p%$$N}I $M ےfxXys!UL%K_'8.drxL^bjVTY[fߌJEgKx$(!TM:LΗߚ%KQJ)³"RYʕZAX[aDRkmuÝgk0ƢrYʥ ˷ ZO*-T鋝/k)!.qvfIAq6ݶop`2Xp';unsϭvStZ{{wQG PǯUR?{yapSj ~ᣚuLӜV1q* DUl}CqeSVr<[3;OC'p^Qc]?L'ZE-^qt^ŰTljwFdz9`@+RLS@`CЯm3~\<9nm':M;=#xVYBx.H;/3b`[((&C?R/_L_0HD _DKʗsyc"ge,G8D0f6:9=$?HA7 fliZv噘9(OhU D8kVBUs9iUg5Ib9 zP`_UFGou{%U҈нl>%rZ5qN%ݺbJ66$Zo@ Hfbu8^1کFtVj 6~Y"o];E W[ R>GyqaN?bȜ5$Rdи@|f2gݚ`bx°P2 EYawg>[v>\zz6O8VaM+7m)T8*2 ; 4x3l~:$%}8RX k-yt qe"c=8~tٕs &;mZy{Z;JEe ]r0쭮CWIVPi7P| z>/#%o6X;$[w# o<`X\ZN?Pl)8e0ch}˾R>w$Oi$%EY/= 9JXIipRcuF<ͿN'H8s1la+ZİP%Z7?ɞ(F16aENLjmѓlvߍM%4$(߮:.% fR ze+;evGV Մq>y])϶JmZ_ѥɿ4=[V?X|΅ TlVj ֮^e>enߍy= Zy[p=Y8;J,l _3=!Rҏ6#M5zM!@"qmR}='3%ا'T?;8\Xg?+ZJ?U˽_6{b T[(f~ΐ>! vwyErxsOZ`t=jLD6~:{;rL?91 ձ[\(d"v#NA<Ԃ<ʨl<3/5pO;Y `G^㏇ C.B*+!jGՕ CeFaggv"2|5]QvA]^XslYY˸VЫih&l220o9h%unHu0qHtnWT*^tݯLNbN^΃(^א*۴^1W-~D"#U0W.r,3⒒0"fwY[Yr`A(8ٕdR}">_e|Pb%~IrD(ׁ\LKFh&<0; BbvĤH>ԼӘT48fqY"i^o7)v7/ߥK߯#M2hҲXB_XE(an6,4So$ eL*\Q`oIr$,Mu,ݐGOVVo~L:+mxaYr#sngĝznz`|j<}󅏭^:fj Z ϥ\5YY:ū1,'U\pwqۆy>? $7m7 XY'VcWq|^şxSUSx6[ ~//On(Yz!zqpk~f/{!|:|X$rvÙX&pyiҀ0m)`X~~{Mk"𜍙7׏Nd %*E~0xjShgpAdJ[n8i(>.=( W/iscv߳mQ4VROڬFf ;}ڲ"7GU.݂ Lِ v}"A`Y|I.ލRS'd0%o e|P7$Ywj}т H;#~'ݲtmɛ~Q/ c'e%E~ɖ \g K |1s&z}!h?̚J#8+QXfRR4b֙c]#OE7;[_Z6}!.)/j& +FV_*Dk4ADru dI"u^^{$g|wê~JYJ"7<+/cƇ'|;OU&>>Yaۀs!UW,S:wE}_2rQ EP&#SՐ_^.bۋ~BR14[$:xE$,B)6۲QV[:܆E,h$mJvmpLS"@Lp6(k5q * l׺$A?H2oYݻ9 I)2 HY sPUֈ3E9|)"hU'8[bD òtZȮ3YgZ|M8NC^2OG)sBH b;a[%Y)ي X%"+g@&IUu.$'ە- Ѩә[bw'|_ňu$y_<Dlu8)L)?([M{Fzm^X鲾5"pQy.F×% ޗeIx€{F\:~CTl7-Kv}$&,[M#_W,i?m ~pT̩VM ~_&IZTs^_]ELxn7)Z OzN@IIãCY4,p;RO2m ~s[sy_~ꅕ̦kda|_nɳ0v?Zd*IANheiLwv[ K;axjWVM[]1^CS!21/Za l?[ 5-Wj>l ]#2Ew St&;*POn$<-k1U%`aJ2"C#w]t(*٢3dXʍ!.L>/p-(xپ-xsg?4eƷc ~րs9J].^Os#)C6p󬘜G'YDɝQ[(LWB|s,͗f7Io20?pP|?ݲN=ju&$id:8u:ڶvS2^¯ͯsLV1(=m Gbk"&ӥ6|A {3>z^DMwØ@52]緅}ޖK~HY{u˩E17(قCNLސ=0R̈*8\ %(,mmYI|:ʟ ;lsiI"*'4D𴡜 |==vb>v.'=`LA3Q{ɥ:a`ʌ-|іJkLry"kǯB8訅_\LZ^'^ 1F}Q @ uo/ cvŷY0\XuC#G^@BØꏓm-NpDGxٞP$&ay3[b; ]PEM~$BX()&e\IKdJI6ZVǴ)i5@TՀo E=cë_Ig?1`mXB%u0A,Z ]SD[K;s@'>-ڸSǫ(/NtMsA]@I'5S!PI"@[ xrĬ ºIɤk攒+.nԁzD3$vLKjw5MѻY݋2sZ&/P3&cF?to]΃pM8:TN#+ol[ ^\R.#rxVEXϭmʹg94Ҭ;<5nn5ĎS"N̞7`15ݡ' DžNG1_^$7̎Θm"UHH.J /K8j"VŹu$m∳F~T3WVY?k<sd\[m-LͤqbѨ -1JZ[ Vi :oQmZwK?7⪇#h]:]vs!s؏&ڀwR?, ֎R#<fHLk&w>;X#\D0(#فr69"yݟ!RI.U~G@z5Ee6=ZakTo>M=K =Gc34SCπ:5B[&{ OV-bVpӮ9'_ kqi»At|C{;-(FdU{l0I5}ashhfԢ]?Vk`ҼGC0awQnA}zd4~x7fPiprg*>za04W!w:HcNjeR~CYrd>EP<6)D~VBRaK9,~WFdhUNrR"AS 4!+>@[wKK_ٖ?0Œlu^9S>-w^wCh +tYI6F[ϟ}'`S0*EsO=9|:yӀŸ K ɠ0ed =@ m3 \f_W;pv>?jwkӗ>vD `̬Ğu:~CaK&%rs9߮~ݲ mf7 xjc\Ur Ќ` *oT9E HU Hq2> tձ[wVrA#Ukyg 'zd|F^(*QB!9h%ɴ۱obƒ(k.IgPViX mȳƟt2l"8Sɸe*gQErE1Ƶ6l~c8Z3LN(Dλ엹Sil/g(x$EufS05)4&c^#%r>~ WEyn?DkYyM-yIjЄ2̅v$䄾/yR ߇X|7nxC׃KjkYi8^8~ 7 <<1tGd`e߹_7W#FraԂkD8bP{5'7Ї+PTPsNG:t+τ?Xl4TN?9{8TT%pl oBxIGޖS&9dS_¾+nI-ld 5㼻zSMp򓬳3":غXcl$\VȿBCS6ߠ9{1>l!eH^Tc'N*p}gG Veپ%eM Ur D->Lv/i9FH>CI*\eDv:]Kj$ N\=%ڑ2զZB2^C4:yO$v-vbzub+}()]x|2a\AQNϷMxsQrr3:~q DK ?6n+*zn;)V{ȼjH;Кb=GLi1z0|1pEOSR6WHE"?9B(5Gb \Z' P,6A'PZ"i^V_K]Y䪉5~'|jJ'פ<3X4C I1,nG!);8ۻY n'! MbĹs1[}1Nr?JWowMoveGJPwҘrE#z3 WLȐ Fݲ\jْh{&[+ÌIt&e?ޘ߿!.p3vWc5d};Kryd,c=Vu00PP=qԤ\+s.n16dҗ  L1E12 6m 3hJrߓ{0t&tهn=$ n1y|.5pd/ !Zi qs d2aX^<}O7߮G£Jax2){Kp\)!]k'hC>.y!Q/Ue5ٙeL?HO8rKH'3Ml¨M1!E?ļm@RcV/gWgQlytQ-\&$WzՈa(-&16x|1Lgߘ\r6-]r08B35wJUXKhv?%aTS=,li,^9IJYApJ#Qz:VJZ55S. $0?2Lf/V/BjHz98#h5-gwJ}U񸺨3q,ns3,df?LSiucH O:;:*{&3ׅ7SUO[&M)"3.Hy:# S_b珀SUvQNT 3zbGgŒCm F܉#^V!L' M:SǖtaV!FG+W.[5K*8ϹB__h}f*[B0t . JW*PϡA8oTŹ!R}cFřwޱ8w_λ>rmP5BO$Ե{̝ϣR88fl'\ho<>2HLV76TRW!6#I󱗅ɗE4(3}YrND].C—_ǥ5Likіàre)53hd%lۨuT/_Y/PyZ !P,wp&ύF_GZk輰㎠ՋGa|OByr3äkUY"TƗmg֜ig,~n̋ %E)Dp'{y8 6[/v e94v7]1-*+sn7k #})ciО۬EJ0/l<#9ٷ!3lnx{vt?)7&d>}m&>ϙHVΙH_^2b^1 NY?nPzOLxL2byg""-Uo]*] ˨0>uJ؍i."ܩ^X&gǞEA:rVt 0EƖrryZߤ I ٪[^s?- Ca"D?SYj44gR(y$b;& &Q*z+_-@vt!n1O UCrmG(]t^,1Cwzy[;!I,8b4yLys)˷%9s$EMsM9 o'9&*.{ ?ejc?/rL]lR*/kO9SDk<=v|vqeIk3 {]';Tl2RaܜLICpoY26:'NYvd(H㛰=a`<.2ݿ;!+ U;&g!~Y6et6`##lj_C0Y-Nd[?dD>n\}Eq!- 'bYt9KEÐ2/l6OyY ,Ă+>LNG<ϲ\sUTdH Z숯K(M" l#ʎvH\ mPdLTV~7ۀko>w<WDZz,;%ԩkW{N(Ei ugq718-<{ *`╨(AFkdPq'm=G2J$z fq{ o[!Tmn’`d-aү Ws&Ig C*e-Zᥙ&ӈ\?KTK*B9ҙ.mq;oVy7 QH[Hh쌫bٮrI|R;jy =rT+/ִ*e+~a2|v#N/:`HJ9&0o\o?u)~ y80s94" &Ʊ^ps|q ~蘒tzĒA-cC3}×hg7uKw "8exiv8}\^aY<"|/v>ŀT?D]A4#ڂmMR>čuB):_CPChe(>"Kzrq| 'i7&W9c4}݆[L'g0pPop3v9;yu/ i[PEʑ ]X[ÒV |  t,kI拪pfJ50 NHH~}6l2_ۄv'hvf̸ӛj\Nݢ3;B % F1KK /Q9\VATarS0؂I!.B94C.K3K?ۖHbȨ'j;67 >VtB $1q PWg)vꨑ6<8?\;ڑ7,G$YU=|ӄOM͎;"A97$ziCfvEw=?d .?scO8_tg?kJ/r ]:&}@⧑13T[24.XvG8bֳk$F~I nj0Z7)7i=udDD Ȭ ~N#WP KҺ6{fEo+N[[ l(@\vKjn]j9'F[>{ WUB8L+Xۏ\ P)O,>WzBZ1dF]}- p2\0fǬـ8vtr)Fb"Su;|s}AFw;Fi#*?:vsytL^ylї!}J&шL^]3 |:`gJ)=mq%A6/ecQk ;R/5ȊX]9P\@dK>t '?۞pGέ.}ry_#%@hk4Ԗiv.ήը5I*BR%5V뢛8xw.?D)<˸GR^pͥ猪\WGfV8*qC9l/_$ta_~aS+E)k|/a7 UJ.ωO//74|4j|rRg dQ &!+'%$N>04$&K\{ΧMz60HFa͏d_]#̳uy+>QH%=4glfpWO_c1{2|X)Xe@:~P@W"H H|B82Hr@OS1,Nb(a|$/(0l?\CO,d24Vk˗es[mNSҪ`/MͿ մ:EYW~QIܔP̠KI6FeV+82%oG  q4%U:O02<)&o+Kj(/iDqIEU'}vH5ig^ GdiNȪt>VY}-^۱HØo DלEm'1JDn5>0~˹/)8^k >7 3_=\^rO30ePY,9ΰVWſlMvss2G:+ |S>'~@x牧Pw  !Esd۩3QD>>VZbm"HL= ~GЀ͗}Rh IJBMR`Xbb$ƀ<:b%N~A2SC" RtgƣFç>)=ǑB! ]Pa5U(jQɨۊng %n r @!Qد[.:=Fb\CQsQ%VLJؘ 9Y3NrIeTWz)_9G9ӟekU8}pPB-|/qrd4yKC*?y;GJefos337޸_F-scL) 1Ƅ JX(K(˳ϮfoOi^AC|JdF3 _X 5wfD賆oJYa|vb4(B~(#v4$~ V)(_buOO}[kqRh'8a<[Xvv,Iβ l\d7PꜦxj#RO@7>LFx-tN-Ř:eydC=r%xp1Y1٦]*XQ|W*o}{9zв: (7 ]WGi d3Œ^E= NBJED%F(r(ss Ơτo/<*73y۷[-VKH%!1YeTp \1!IT+NyH)`8 Zj[=o;{i4E?$Y[}={}{]z'B@ia$ rFw!@f \%DQe>BJW͒[57*ΆI+-^q!;- l84zU|X>y !"8]r1o giD liZ1׍3󜘋(]=DH.\QʕI҈ճl )˒VҚýuΟ;jpȭמgoJK6xJ[?ec}]G|??Q42*9͝!۔Y|;%C~G}YYa$*5!Dž)DcKK 4ZiH)qBtFQĉ!ҒD$~Q=l!$b*kg9A(IM,t\@i]+@U9ʲ|+KSY Rh8^~^}8Q^1p_!L(rA=Ax~ɧ9,.pɨ$jz\%ohZHositg:ܣarΣfwH"x4`}}+!;|=O_|i+=ibFQMkogSygX\\l4[',:po 9 zge*隈߇yw>Cnt-)|OP2ns"wҹag6ha@8> zW_ /&+J @CB0pkpԒ2"2T(B*)$mspVxlت?B 4/LG x4q>  Lgw^)y^0(7:W4`Mq !Ql2 Rt) 7(ImZ;'54ykzO Vg0mqx l SUuAZ=go*EΣo{I||GsAhOSOph1fp> lOђi ꡧx_}XW+AڒX)"xKB 1>@E11^r)j2ψML@|R\V(&gi2k!f!ѦnLLpGpd47+>[Pՠ CY􈒻60f7j<1jJ6[7-oӒ| ;;dÊ1.2^FdsbVk^@k1 @$RkD l9S" R፮ZJ 4^5Eƺ4iRhgF/C=hQQBB<en^WC Ϸ񶪛1wqZ_XT-tG!|//"7ȗ+ L>&b*︠/aʌJI 2-s2Lm&)={ d4*m:$loݥ vG>dbs0B(APdBemD9?ͅ%VGP6_c:Hcc>{ѨhWsc+2{'"V[ZCd2!DFDu!ND0*(|Q#0JJ3 T4H AC,kFhkr30S{OQd9LDQ00LqXƃi^Xp.b"y5F՞ 0q|C4Bƴ{T2ÏA|aeɕGB~W& )x3>҆t:Mr yLWɂHw8"-&Y`{4_}""We47oݤ)gvƈ nwd?sl^fk{osʗKlRM;~'z{/"Kp EMƓ xҟ~}'i֯-s/cG)#idt#:MÈ".;ISĈK$i0]'3ɇ鈸w}oћK:8!? .Q#֮%1 c*nn쓗CZI`4Yq`2P,\NYRnGD MD:]e-qק`)mT$I'\U!MmE1fD6W3@kJ$)DS`!HRd _mCIw7FRV,Y#ISwH)@J%kJ2YT"ȋ +eNRh(e$cC8 !G^dVڦ`o1{[/0"X<}Sz=/D2W,DbHVRҞ'Sƙ6naG!D-srS*e0)xᕫ!Xlh{ko?HC0N'bBIQfXR8M#Bs? /sI th5,#|D#K?S=;HqBY( HҔ812gxog)>D 8rMrƈϯ5ڸLrqaQ!`Iwآ4o+/|{[N]d:Ϡgni.UC//s84%E!!ɷҸʂ4PpX``TaF[|!4 !cDmcѢY`uE>ȆDU.GVZ$1q+8 *),+Uf<RBAW&xsxҊΰ:S 1&%aNW$HNQ Cק=Ai+v&)98,F"YmYzy[v'҂6զ608C}7>G[ BDyRBX`{=TrĠɊ卝m-5UY7uJD@l:KT`m"#lA*F&Sx b}NDLcyl\h5П86Q5emwɀ*V81]V4'Q.oa2|[##!sdV1. 6z)}o} Hxwr w|=e~CWo|6Gc,-pk/ 'VJa1]4j o)\ۂ<x.Bt)F;|LđxRzy1?%VW(?̿F1/ Y~3si\R~S Gu,6Bs/Ї-> Y![d%?!K"%X?|ɟ[OO?\h5M#薒X wpOz&rYLYiE nܾ. '"ݨhL-yo}c̙_LŅFMIOYN4 ۛbi:g/|/..wU qCfȚDG4I4e}cNϝ cn\GEƎ8G3#TǤvO?kobnrl7=+wnF)t/2ܿpM&38 clĝ{ttt_Gǣ Y^bKKYUXklYMiJF-5vF EUPSV FZ>8T$IPDT%Z VO'zϤDڐwc4|?!Tv`gB[bGHr `5 bT"ݘaoy/nO ͍;4{"kק JJQu)@$Az$i贺IBd 6&A|ԂbVJk8A#xoMbY҈cw $B`8Ǎ1*^!M"`]Em/h W@ T#"d͜ W4Mi͵Q:A*Ml@.x 6.1x=~sTcv7J9`8'`{&^"[,a*<~?y-.>pwa+mJΚݜ'NdŘ(i MBٮApGkSh)D` (ꛍYC)d}"h\Vݬ' 5*z2Jh]j#P,-z!e)~%yZm8cgwPR_XEYI՚G5RBeSq8*i374p#oG g3<9N͏?-ؼ(+VNh$$VHJDhUVq}g3 8OUMɏeÜq`t#ewB*IUY_еXWWHF)RslVoZNWVǕ\(.G&qĖ1^aT8},R}v[9>@w$ޕh\RRh̑ HS4&='IJt  2i1*88pEHc| L .f;]MA(#^ŋ3|P^P}΋-ǷS80(HFC%<Ok7/bZGł CE>hLF;:m&o s-Գ$mn[Z=/tG!H:Fh cslJhbSyT1;6x W#_B@!&-7Cf 4ɘqYXDΗ{#A/ڨF5j-`L(QECMd(i !Ost 4G!HO;DqMnx|e: A>MUd zj'h74')G!]hzn"qQ1ū+=u,r>K/n+K4)>f9ڝ c[la&9(Q  gN#E]6֮31ml$ V݇`}wqczUɱGqR umHieIY8 IN6($n]$6QD=*r!)B]*5. BUH@HADIA3 HLs$m""R^oyBzm{9뱑[!8+*W"e=reA10iB<$nFd0$fpc{kL8Ƌw5nr[o K.g 6"Rp6gmoрqv2M N3'jޏ$wGWY9{Ic+h,Ɋ[_ĤF?efEܨ;TޑvM={b&/0\=[ởz'A<=HqBj%KZ&&Hm.Aj)c{$Q!fo}KA,e!x BHuRAL H̩yLb~<5Z q!}NKŜ\Yi:`r*rnoAE1eX8{(egOvU] ƐGĝ[ػƆܿb+qpgP9^#+*WE*Ah1L 4 Lffh^mzD)@P; קf7K-[X_#F1*j/\) [3gz{|u}]ֆU#D@H?YxDZPNHq_BY5Y|&IB,XyPL=iܨq]$a4`J BOBHpGm̃,;ݵgg4] laqAXb'(P9)@ !N1`*0Tc"0m /X5fF}.gi$Ug;5ݧ{{ϻ<hD<^XyR` r"O)g>Ib:R"D L4!Rk3m!TQ"4M"GOѣ6L fs(kb̈́Ǟij o:dxѐ"UЄ0&GȊ} SC)+n|6ր¢`24`GyOpߦ5YkŬ>Q$IBcvkTmo<քd _:D_z;] XEDcf' _B" QH BHiQOU2AHAc\)4B)M8=|"ٸ,t*"45(-hmw{pΣDFR'&$ ]t { :oVg=A:ZFfȨYGb&-c$hgI*W D2x麧:pE] C*$Δ˻Ծa͟){V{봘L81xUaqdB_'ZEE'w_L]7dJS7;`sE \%Ӄ#C &+zFGC^w^/oy?E[^E+5;ðCUhgԍdT-i1.-hŸٵJ2ʪDɄZDD Z% `אrAhi8yX$#nMRq>$*Y"6 y1Ơ¡v~_ qIDATCa8֊8KGHՆq2W~gO_L?%ޫ8A@hJ+Bq*(5Hsx<(1qY4LMG!^HJdPThϻf!5Z>s8LrcYS!8rJE B< gj 7~ [Ldy"^:S)60'>={(+y[?{Z-꬜ZI>ɏ Em: cc[;]{(g <wpB(t"|MǤ[tB%4M0$ޡHMEE$HeB(F;}L N+woyZiJ~;칳f406cy>u/q㬎7rU:G쉞 1W1w_ ϯڷärr?༛&"g!'A(qt[i Ov";R`Ӭ~'O3ܩ妛̡r*!%fjM N]Q”`A\޸V񟛛Tf60ΐ%JL;g %rV"Պab"IH7͑mIUh_2A5mYc< d7ď~kL ])kcOAE9١1獌0'LcL9*RhMVilL uEg%c)T 0tM4x#{G -g!H)P7A4˹KbB@*xgR /A!zssrijHqh E;Gk 8Զzw 5Nbw2wǧy{R@cPeIc*:A gkv<`\EZ:'3i'DHcLw&n8 ȦA,Sdh!SU`lAb&6c%GO|''}իFl \\HMz<ٓHF:&6\%xO8|Fӌ60GЋ;4IÅEg%T:! )w5"+e+|pe1u$,\HVS<]QB Uo.xX7Mh^`ǚ3D;;%D@iMD5uęF$ik:_#u B@_}!Bo'odqV'+m!"wb2ܢ2kؿAHH}Jvɒ-%\D7QhPjoRd x&MV66X_@]J4!)y4 $Zwv[6غFuB,r%}/#}vxnEҙgM9b`R4O!/X+6h`ʧ}$dᨹ.?,!\MUTr*=!eBJ!2X9GUMLNR$+/=!@৥d B"B yrU-Dc8sajR3.K=LVd ^<;h5{gt;x[d;P G9(%%mNn,zifi^$%xO|^;~7GiK-EZ1&NM%ϓ}AXƜ9pPWp!ńX0!T X$mdr]{+yca!᾿\ yN>ſ7qalO!֯fn>R@P&>eCIkɫ}2ϳkͫ^jtWtJҽ"3|l9Z$C) 2N g%qԎq W5q18O@FMݏ h Uk{ab}N@Vdwq2[|dI5:H Q̮E"6a03S#TP2Pis) GXQ:إCH\+!nyk׽8gs{;﹗SO-iev .P.P !GOPZPhU\IbA%A &*!$tA]">kwq SҢM IDKp! o9=\,=EBڿ4&MSsxqKkd~!:[Prg1%A34.xK^r+ӌG{Ny?ìB JVFɴ9Khދ=$i?8rC( !0 $Aʄ ^D#Nа }Wk 5m1H%IZ]c!DgY0 -RaGT֊dB^&X|/?|w+ O,ljh'6Hn I _|s%- /.?ìB ι(-Tu#˃*zubB!&QԘ0*b "Yh$J!B$$BQ65lY`i^.*a)>YLR UdrdMPZQL[):{α9\aia?&Y3jKrf݋-6r }=7)>OCh7½ӟ#``K~7_Oo殻^d3\stT|:] zi fmZ9f2ܠ!"mKצ'm^o4 ߣh嘱'3.qMMeHCJ^`!ԥs̝Z_u/ԙ3,uq8yf+oo?^n9~m>z9B?×ABb! 'CWH˔;$9-dtTB@"P:1fuT4O] j8Q41 iU5'[\t,i"06ZpuLRI.PU $t[;cC9Y!L`E9{)q!U1d~k}elu^;ȑCx+/l o_M,lMvhZQ/p2deI(`qa~s BN Z P $2hd4$h:{ k5%EO;Ҍ!0"IH(XXfx(O{_y ဝ!=֖G}!p1Sg.qqkBg~oza}Goc8d\roVXؾ9ʚYhbΎ>E 3\ !4>xǨjFPw3)lr@p# IRJ+w(q 2\Y4AD9h8zIF{uGc yRmi@YWX(mTyAj4c*3yr<5I nji*`N?C3n |x8"L.rk_˫{,2… ݻ-Uz^Fam\a@fv2⡧/$)Yh<$QTk-RZΐ `a""~q5,j9Qqꜗ,$2M4'nb}а|^9Atakyҍֹa8_uˋZ?w::ȍVWX]?K5ZE+C=y(R%vN__B'W|gCN%*"xG4_+ra}@  GOV tNhkI8Vd bk S1sOB+^~/_=`Exsz]mo/1}h4"MS Uo-r])|DF<6j! YQ;iBΘp =w}{XG*dgH[*1 :[[kJdT8cE4(RxR-1xԶS'4OY RxyA]7l6yH&"bLC'3 <|#46{a%w&ǯ)!^;t[d|}/X *#i-0j HP$؆AEjQT$ 'HnXqI-`-b<3l1^`"ϰcD=a2ޡ4釸ȋrN 0X '$h;kTA.Ґ'5K*$ݜ y|Sll^t2EݦPrH*Ν[=_sOԛXMՔW}YB (2i#2L!喏Ĵ !,)Zkʰ>~Xې&yRP#|o!n8oȲZ+jSZDcuMgZ.Jp)MJ!9$xP TO[?oҔoo`{p`jш{{ j]8̓?׿i4 YׄZ-!~ɲXj.dVIlH eֶ&T5RxI&&@(O>zc_ك?ʚΞc<[do{;~g=O:G9z0!!Òs|bt'i1O2;RZ.930 45 hp>{GÄu|oͿzk[7OwF[(r<n eRjj"yxdaݼ۷xxgw}Zs?Rk<8<`cS=YgaYBXk9;8J%w"elT?|<[_B'-tox<<$Yu;Lg;0,!|9 @U۩e0u<ϩ i,ɲ !۸p`M,Kdr%d!Dev􆈞xjLnqc.0R{nA4 rv8 %t;"zGzJefsU$$yfse4ὧ<fag=syٝafq^~ufaf>1af ٝafdIENDB`P"} XWa0)x}TQ.:$4'4X}pwlwgp2wwz{^==ݽ];HAN )f'EznNR J\֦$+yy3!6mBBG{M3S.))dDZi[00S'UNs#kO\*b,\{3bBY163#[# jƈv3*fI)d100_.QZh8ؘ:51GgcW gso @L $8XpQ\bsTXc1d=X{3.M']瘖$->@E={J~_ ,6IetRH{zau=S0H`IM僬(ذIk'IIg8& TR*% h&G\:+$J )0%%̧b~p@IFzokvG^nӣV׫ rf%#32h@8~=Diב RpHhhu]|xXzq0w4a;CXJV2TKIgt! {mmmfN/P[ǀ`-\@FI&$;:xZVSð8՝}䷚* 3`"J  CiuX_$a` WkaP\_mr9\p%,s|I7ݽBXXX}Zk7{2fC`vïRjԍcgw4??!@_.aw}qq\ `4K䚘߾Ps\]SipJ8)mmm;;;u]c>8c^ c@~+]Ve+nֲkܦqj7fv/=pҗEA* N/Ejf"J"A`C.'N2əXW dhݔ&''zc_##'/ε 89ap0X`m-0kk׷Op@C-L<:\c:SHT6#)K*̸46ΌZ 6QQM+111=FbNN"'7FB(^JGyyyN}fB*ӡ2iDɩ)Nyvѷ_|0B}6qo@^^8AHζ!KsME\?ItHtXa):@Ԓu](}@ymoB<Lzw)T=ĠGvE/ݾb|WlttSD*2kzKaTbsj>6䤌M@a;SKO&@9w j_ 0yI'} g>&}?U–J9 9Qž({ ךgQ|KC;'46\smw|Br⟪'H!b{ǩ m3N=MzoFVc8)A_ͺ՘|9>|WΦ.lH<2  *3ʟV.lv~^/8' I:ؗQz>q-?( Lv^سkc>l9b=W{#׿a5Bi,;|/7+w<9-*~QnP ōgRpGͩBVZ VH,uG~A5Ju̠BT%.zNrMN##r}gYW-k|d'A3di 싲*O->#Yw uIQO`7`?vtrr0oj߇2dbWzqƸa #iGyGzJ t#) fHo1Icl1j<TFW,z|(N_sJjy~N(cB 3DR&78*}.7"ih_K'ꗊsSo͵V8cXhߜ?wbx }pr]Q"ɏ/1hy1a ǣD+|?{/bHpơMKڦ J. */ǢL$X9MBébWfƤv3E$Xws8ʋ{NPh)k籵u{ꓨlJz{i13{!һzBvCDDD\*k u9yvQg3>rc\gwxWڛ~.T) 08zUlTG☗!r0?=ۛg6,y'DFfQ{9 ~-KRޞ0 Zu7Sg ?̨~sz`ϾlF]Y8U͕$4mIvjRX(S? |cy$v(k<@ ;f!NI; _ڔRӵLfb8S269 n? bYt73.[ޕk0Otyk@1 }8 8),ܱнXԊ=5N'd*+M] b_G^g>>3JښrkKucۄժb~`ʃr>U}! a\~}̧k]oӳg l? 8;ZĂ6jLشf:WƋg>ۀB?2OUu͵ǻzG[ soE1 3- GKX&eA.^6e`gks#N6É!2<Sb5d;ד=5_ݯʄ|#ҪnrZ=zƄm7{냄[M nhWUcqQY>![MG5W!:wLh "oD#nэI:0wjۿy((iV]K{74h]'A=Ƹ'eBtHmR *"?o⬫6^mloa1YuF-n}w:mMe(e`%iv?8+ c9\`{{k?J}y1ii9c0 }03q ~ZC}5Y}Auߩc; 儂PiZgFO1YYY E>زJ{0|%̉UԻka{ \;qT$#/cEPPTWug- j|fE$x22ggMP+GUFD-43"]QU*uBaFos O^~ iOd϶uHd]7Vg(2ny/Jc7-bU% >i,bѮ=;qbSSeAj:tJDi^ԛEߟL|raa;~[׻jZl )'&VVVMB_CssrζGߢssЙrL\\\krX@ hJ\ ЬE:mX$~=>Y @Qc}>T*zeD>Qǧ~>l>h1Zyl;?'XG|cP|`qLg<&:<0\8G5x6BFսa$[C=/+kn9H]&O°+G_Nʟ[-%xׁCWm{cZDLB<ϭ^5Ull6[=QDEj ^?%m)mueDs\ܸOQaZ*FMRd.>4'+jw~j:PAeL-(p*dfgg`;Y ! !^7; ˗#g{AqB5+^fLqE4)%,J:iWo 41Pz*O c6Wקjk}d*h9Lfme%3VvQqqz@@\o3Їq]3ҮFda1>'ߌ lknjGEI/Ytq?5l9#͘ЄȘ><gx\5kNOrXnzs?迆'WxT!|44Ko7 RFƪr䇷#"PR# tdU_Ba}yl|0?44yt4l0 -1? xCؘ)mVzi%5c;pdvQe{lYZ!<':+5m`nG[բF|$ڜ74\-fBeoþ܎ovj2bGov5;Pgv&v:.jXO3+T_#Y?#xu?M +_~8'/uD[C0jJɓbbb( mZdj!aVUvq{3!3Cĭ6l%JFKameOa9.+0M kg*9Kwt 6vHxF@N~GWĀ5$quxC]9첓ۮɯٱC#g+|@(/m9QM8Cc`Hp쓯J.] >y=]GOX<~&&d%@Mx& %n,a{ƑbqĨ\3ՔlR*8X@{i*u\~:kmt_%YUs?oM;NӬl]R-}JM):e-=Bi+2 J4bF"?!Ia1#-cܗEk%!$dzBO8BD0/oֲ 4͎N'Iɠ2ݯ=,b222JCna;?ۖ',,nigkt>)ao7$&ǐԱ UD٭_11p50#-+:Ca1F9,!, lfe̋DMɺ0Q")h8RxYSO\h­uys3@υ*qoWhUs(BהHdKB}ӉGsvB$T@@άnfars$8@ {7m,Tb,w\i꺓 ,ZTGT @@vNVi\ڋ,Qk$㯅#CǿU#e\ϡs?O^\@VPZ&׾Uri\uţ8Q~OÁ_/>m=9f}l/CY۝^mB" LRI_Lc^&~ j"ZBuR7l{!fLȫ^'ֵ4Z쟇olMe~< o0[b5HF!= (uvI$5^J#K^w'=ă&|8'ѹ =KdxW82C#k:fV ;ʷ#hcʧpd!I#*k'~}x;);"p;f0ix Io;,;>6ŝPnձՅ BG֚2mnHj-vYf-$va%X)C,Q<5J)P|C]z2tum%@@ZIo GE2F7C>9{V ~~aroů*v9}=h|97x[XBeߕUXVta>wW{S1ީa+VPt";jN'KUL+9Ghܩ@O[S?OsR@/+3xȼF+ᙠɩjň~۔A%%с@cіYP7 ٍ3N:%M?/meCؿ880١ջ"2&2/s5!0Ů ? >˂ekA8 T?`⬄8d<ۉF.Ũj;db=#11QM]`m䘚!1)bVJOA$E[J/;ܬ؏7 um 6}Y\0lKz˔7lt( F=Bx(  BՀz-Od?$)asVE՟/@^2clu\өݿ[o aS)3g_[{$Õ} flī''KѷQѬĨfF/5 &̝6YS=\㊚ <_*$%,u=t:5#TC}w6 PvBr5O4u-AU oRab3s!|5tL|{_y?n-i/4na!~iik$OTPeanuiOϑx5~zE0gz4K=D?o{5Pŀ%3PUWȆ뎛q!@5Ȋ׷z'B KZlI<ئa o:Ua ',qpDT/%Ƕ=QY' oИ'BC0j\x'S46U4$*2 */_f`5Q4 cFoRAs-)#+Uge_߈n7 DʲFň'z)Yp"f͟3(w>.,P#'%+RdJ4텥#,K#֦>/*}M\T*F;:ۇTs%^OVؤ<?I#c9wL]\.#TYwvH}j2Y!]EǐD%̗0Lr( ܖ9.%ͳ&̭xv?+/ezYAz=~"9Hn/z>>nF?~g 4=<.;y4g(w:ysƽKGeicZ/׋@2)IIi4ǝ>̰k i`M,_0]gdLn?K(<怾>!,уg{*$:sH\6 8b25K20`D`H};!PSG3IjIyeRsLOEϵqA _!a|~<*{۞b0тj4SfRu]RsvB.G@jS=UQc+ n6'$D$%C78 5(J:Nfq}σӄ/Qj1VTvP zB-cK9AVقx@h Y>?]HSK/5>lo/V{%+й;GDN9"c'N-:s ::yS`2%B'>8lI{>_!\g||UUfgavYIIAR pdon3G`b.'~ A|"{/e"yX}0KĤ(E+l~^O;Ec""WYNWUIIIq } 7{?v9M _A璔eNANm%8q=+[tcYq8ACPպauK &/SOf7v{#)">2E!ǧy_Kh -o9{ 7 bT:1xt!5A fpKaXUter{p,R o!7@KHIɎ7EpP/*R ͫ. IK-"#'vq?ˑuT;!3čwW:RZl?[z8ecя?T^|㗢בE3Vĭ`Pdh|cjzc71Ep 5cj|h;`QvLB2D] ]L 9{?(&?$F*)?&X Z^E:3-3,R&dW]MUHJ7&:[>nwU,Lp.RKfj%_hLxV}Nh~/8JOn{w4v[ qW!l-zcǶ+h5y 9R 6TyY =bw%uЪ N(n QYUc'6o=VH֜/,`3yNA璴[5iJ5[`"3hgqq _6a(k)S ))?n޾w%޼DaW:O 1/XAi߃w/kv;j)ʉGy!/%Uir~$=Ԍ"\o&ϐݢǪ==h Kʋ.5@)%E,(Ts@E8:FϔS͒8>Fv)/;So<)Uu\5{k_- ʹFmzmxevaGt'EdMͭNYRC=`]4(Į`9h܍852{qT&)}T!h܀7:|LU'z0=Y(*:)'9* 3KLC?ȝQՑW*AU)3vc^T˸HG쏯WQCf89,JZdO% NΖi-t`Pr,;B*,i{~Ru93-ywo?:^7*bSe+EWsIx=unkӆ 8ExIa+}Yc?n^٨;5["%{M:s' hUH(`B۾{} q 7-EWl؎'v|'N((l{ʜqAl|h;30@G¼O-Ɗs}wzJdD-Eh;ktH1ǮRϚ~7}F/(Ii%uX}7knG?+ZoLIY3bs"Z׌_(REDLXҘ|v8:~g)H3VHⳝL.P@ BjESt:Eh~[qbb$|79L0RG# u(laݪ쎰S{VV)V'H1$rBk9}#QW0X|dNSȸOe7ǂ+nŁ6 aqnxs7_TOj;L2R1`FZz?Sbpw| W:ټɛ"<VtCKܨ Jgdy*C7.}}[E~:AP(\Ζ*[ cX7߭2/__fKgkgqdI@6\un$3d:*æx~ E2Mo98ꬉKE%LyXpuݾ#64laxI2;3yT>RWy>bI&? MS0eZq V&5áLv80|V3xAqTPeJJW:a3 1bU@lP^BIчՙWϘns5-bUe %GW56l&䇗ɁIbieCt_\f@6| MȮG /iQQIsǍhƍZIL7>EfνG*iNׂG(Va vj'䨪s~&~$9)9uѫ04f=#{3pWWv6 [U0˻/70̻?u) d9[}4w;r|$hjlᲽ*zpE:(DD@V/ [DOy閣'_I!w[Sm|y zc$'!;[>]W$3I:a0*`2y-d0\8Jm\>h$xUng(+rzڐ|8[=xBC˩~8LYMo=-[ldK>6SwVĻ<f@ӤsnIsI<)8j#x䨍Dl&OD`pdvm.8O#+Q[ K=9K.Ǝ4%&do* )q\KgO[Ks[mxhaXY^A]_NCN2 l3q##h{$i;AH{o:oC&a*@h>dBvi'/noB?(3,Ytk#saѸ'wJ{)H=WTBg;NQRU,"@RZN* [Ni&Ud6XFebfhζT v1td|y#0v%F=;??U_ {b̉`cKO]=mibGB֘ l8 p+Iy>_ɦ2hx&)䰦ݶV Ե]B4Նi$჆2ɹ.?sۥM4<ʽf̛֤mwKfs9)6>i2jڣ =w4):}iFlMtTI"A y8>[p:o,fR93SmGͶ}Ya%'Q4cY) t̩ڿ}{dЅ7XOgfYaN["V]Og כG%d-3y~#A7=V \.E&Ȥ,-CE.}D{|?Nu9[߹lɅCDEM p"}7FO!T@uǓ'̖|ҳep伦\( $)7߻b_ҙΊ~wutt^H )\_A1YRm2ƇdШ".#E<;!8?7u d߫=˞sf " ~z6[Z|u|a{I~>6UQIjp?*lߍ]2v ߾~녪$ٖօt@KMJ!Ym3r%Gp|y[m*!V]΄FM0p \i|pB-BwOn)^/,Fy>Jkjsp-X[+H:0zݺsr7lh59⦱(^yخE 9zPRRx9nw%b+PUr19T+_BP[fB7zK ` K y!Nj &YK}; j5| gqm)\Bq|#?kkDj5C?osc% E:. t.g`Hj:!>쯗UUTPAz}J><(>-EſrZ__f=gp"=aK|ɬH1zɑ&xaorZ~2{jy=dhO8+\49'q~XfWOM*z36!'Ƕ\vyy/߇S-5ohUy>gx)ްSM/%:,lll =6KL탆`}MzEt7)K++l.`ؼ|f̼g*zBbbn5i-mYOHxɷ71G~29 #(γ/ wva>Wm]Ù_|qQ俕ݶϋZ_c_#\NqO:]4Op 9Wj'3WTͳ}zZەp]CFW1քD!Pu+ɩ*MG4&ol&09.F_6۠"6,[ .Ra-5 AcBS` xHI>a,?u@ڥAzujDYUjiMΊo;WQQMv9_RTU]rZՉT+ٿYg ddhXx-J]ƈIpֿsD<4;"C<l`k/kj'-ͥGYGgX !߼9;Rrb,4Nڧq_I{vdXT PZ}$S6x{ <3Z/TLaYщ |Z )=-^w1AOeI1Ƴ̱$%e$44lMB ;ޞǹ&~.\%^(7F[c<ŕq3NBv׎HD&;Y\N*y=~Qf;~~]dmMߏY  8㒭Zs+1XR-R~F?`\/5+fz"Fr&$?A%Q"gГ2ٕ^[`ΊDXFˀPs.6x0=ui*Twcv~Rwś+!cru?Oo%Р?`^~?U |kNCJNd&?4,ڐX "|U1*b β&Xj|bbH<)6) ˵jxLL`,+VsVtj}EQAz@8ZR~/XYVWD׸q`VQR,w1J͕w&FM2--<{J?_T<"$( ӌI,vԇǓJ^?(;QzII+!FDdojʝ^qECJ/ VT_f@LOb\7]3?D6}iBޜejQ&5`^/o(fphL.jl> /[Ү3{."7@F q12 k m;ͫw42wTƆ\I2W6ӻ x#j$~cC #G65L'bt>(YB]4P [[l@Br\ve!s9"ϒM Y 2P%D( qhǺ?+F1A%:DϛB D)H'jwuܶ/~sBL 0#:JNo%)̨?ܳ!Hw{ (h|](Z#-vƃʆ'-޶"қy@ڇw/> o:Q܉ކcD#ACBY1K%b IQCCRC{٦滍e2.ovޚLF2T ())5hXQ=66kz+>_yM! (*s,W 4(2քd*yոuF` _Q ROwK{gK(ra%L*x jL-^Hpylא!@fYDm Ff;n м@#I:2sȤEN |J֛j8F@QkKֵL(@ac>4MUgw:tN9ỽ[<|{Xm`2e4549)K"N{\r;6veZUs =CѾє r`dS!Qs_Uv,&|#QI/iqFf6:̚ADIFV<jqs9t5p3LJtͲ ~,,sGn3I>\8W$Πrg:AA<; A tY3FGTf~n6bꅁ=$s˝Ǔ,XP,_-~hfǺ \ТQKV_Pl!swR+g C{hEn= (55*j Otv4.aF3v=]=O˺ʀ0(R2yHluX(7WZ0brTx0^lPy4z ,["d㽶ayQ#fA$̶US-%Vg7B*50Fb`]q)$vZ)&*:긱ZL̸*鯶IQkcC󵼢"ʮ}ZB*͚]5"CDZNLh076X$J}=6>BxZXX`e+\7;5r*&wT>@YI[2.#T&)?GE5axgvZz3quPìW素kSn֥j8?<]TbQ:,*"D=ܷF*eͮm8BR'+3c3WhBkh J87 u7zS,;ΰ8OzJ)#s::*~SBK <МWO E2^>zs7Ш,Tܘ^F48$w?'ﮒ 5J-k/AF'5:q{NyPkd@TW)i(`Wݞ{;m՛&y66\|;ӥVgo 7o/ ӔV7}O\XnCPxϒh/$i>LD{4 WY}A+2O>1@>^rb -gPgt#of3C"gQt iIC+Qy3x={%FB 1C;7g|y)zÚY|S:D"-Anree]'!cɕ[Rw7ߙYmd8t ] љxWg7CHWJajN7= v5xzi(_ZAٶwYSN.kY+wkOtnMίX&(X$[[bp7)gH7Pnkq BjR]Rw|aDÐR˧@gO5ɉ`5P1a6AnQWѶֳ3i2B,u#8fw , EܿSeڣNulXbRBR[L1twl~u2}ʦN. jk#O#+fpF%4[MxF׹ER|_k})̳G(U)]4h+LqɈVbUtI9:6hR5QeĎ7xvua W[=f7ˤ+lJJaPpG?ɢ^d%cKZSϪ?i7A=SHqЀ]D(a.'+,?܂t\#1 z}W}y>U)䂑i!\v> =x,U (ܿ'rJh谌).P8 MiUpdC.y窍ǂjp"C׫`c 5FI|p 8(Î$`2{즲S!6qKV+)Rף?`E:' }Ļhj/@ Ѧv.4sc/Vkmsȋj ~%;!pvkw6Tdyåy.B)j8q?rmzY?N/(1xi 톬MCU39RjOFLP 9 K+_ySNfo Ō4иo ۵GYێ'BųsfɦZ D/ɫlģÅ('_[ֲiV)U$~~z&$V+:̟}I ˌqM|u{؜T!&(a $Jwp4d6 qt* |i]@mQ-J'Z@2}m?|:d 4?r}0~W}uENI\R-1I`;Z[^|OcxttKm52< 6Iy}MXF=L\Dv2 âNM)TE30JOaI$%n/*Q4JT R_pIoQ{%%pw6<]W\F!c!Z{KK^cŘzM p@{C7\m/I7{>s恏Nѵ?Jw"[/|?Ibo QMN.cokPGҕl;, EΓ}׌P|nP4R3h8eN ]+Ls}:q+MZN+h}q |~<\k57v7|J@J w1S&Z T)/"({:8a-ۗMzn$3D7Eڿ<\a0`F\^Ì鹕]H;H|qDtAV8?]Vp1_X| zm?;/<^S%$0x":ҸGhhݩ2&&7|v]˷PP,jHV=H" ד f>>5:1 ZX`|G/λξoJ(68 |ɾV\TھӼd~' \ϼSiO|g@n|;t/d P#w %q7<뮎h|qب$" e(2@ٸBBJo֢,{.̷s=gl 7a2K!G .Qi{掹A`tlaǛ(J4QϳgvrPd^W=,7fj\6&%t1A}Hj]tŖn)GXa.O̿y{Dlr"Ԙ͑,q.G6~ٕ岤alf4s6 |'b DWeí%۶GpppH^U|Crgd ۗ(A1:m~j}QA%̭m寊gbsJ*Wi2bXRIG7O =o`:et+ |]oK@li3i7C¯'SS{rU;quEHuܿe E ؄zt)N|t}R eUڏ_ZsM)٤'ė\+Ylƨxuо+iÉQ9Vix*<[q>7էl۫ ",z}nh\4f3. NgΤ+, !ob!w('PeYX+>ة̈́IW M.W0h'W?;eۖ"aۍT:.Hm]E(:3%/H`Vwcڅ2YbmOO~e9q$=kTV4iX}p׷I9xmj!tI?2:!%\ g㪼Ђw !Dagd'%%W>>%Ev[: ?~74Z/",K+)<1Gh,8~ udz(3EO3W?iL6ql?f1W>۟dl\'7>(x=!6gO,5yVtgQxF\NK|+ʔβe :>aу<(``! s4lٙ M/cYR7+#U5{b!a҂*h%&9h+c6ܳ+u:R?6KmߐT{zP.^ `؆&4vr;q doy 'W啁wxdM&ɉi#P:˛c'Enn ~} qtHݜ| }%]ظo!0GRl cg/nm%޻ΐ B:^w4ד\XO<|dPaH3y)"5Qb7Z|$71p%.1ls oW\y-l `E4!][Dr=ǛJp (0;:ѳ|1-|_xL6g(W(H-"ot˖Q{Z(CYp"K " NPrl\3"9 WTpݕW\- @A~(W}CkTJ ʱmJsI3Ux< Նv7.PC.=C@W{聅.Pbe,/hv@n?7ūliNR_ C?+GQ)kN GMD-8P3ɉ:RWMw'KS͕k,`-6;-r&Ì D9 /\ۙY~N}\,$HRsrup *\}"eLb:<#AP(7?Pxʑ'_/Xؘġ,A/T&+><\'=z[DJeς3yxo.@`hAd3)ͨ'w1wWJ^9H KbQak[]嵿|];'YEO$9f`GRe|0S~/t4`XѿK WsL3TEkPj|Y34о7F \^jrYhQE\OھMyW­`k/TOET"B<AMtfO[i]f9E}ؿ>Ժ86/Thq:P]O|)]@|7i[,>7M߼vHʶp%/(szICH|F,#O.GdDZm,~qx|utyJbb"Fb֣w1lx)wu'CGһ_? W_Mō\M6mD$iډԥTIJJtbp8ƒEnn.qqq8QQQ$&&Gzz:. ݎrN^^ DGGQ?iOqѥȣgVoz8zl+~㿪U%Z_Cܿ0DGCU6OV/vzvs2F0X90{`ӱ#lٌ;gObU\<]O6P75@[w ;N ŦFU]\; 99coUwhز2;t}f==bɰ|nGCCF,xrh+l/ߏu/MEm?Q`K1ojĨ}&$V.[鞋ǫs_#B/f=ɤɓ[dϝEY"#l;iͯbh$lEa:,+ɔ LG}\݃9*vKM7iWbXf )u;8! 73c<9MQj>dEkn&:ɓ'zÍ\xL22XTT+60aD yj,$ןbn@EQ\Z% (fHK}kÔΨ!Ԯ`^ )ޕԾs%\9B{`>=.CW:inNg脈,"Li !ןrMC@tih Yԓ8=H~K̑#O!o,>M"6$=jt>š_z@nkCԧϲZ>ʧg5-sS.#1h $** !%Ϥwhp$%=II}mHX~K@ImJHsA]L\r7&ȌGg%vDZLF\J;l`ԩ --իQ5zkRog,6'>kqߌ+aBڷA)ShiNB A_HL¤ 5ŘX1YuVI 쩬fLa hW1tD[5j9QϹ#KՄnj<1& U ASF c&'.?֭hkqM}H&R٢GfÞ]>X1ay#sG'P|Z_AШ9~n,{JҰAƓ錡tR1 -2<^ԩHxs%c黟mD;iii!0u4 w_(yduMSFd4"RȒ QC AQ}جxav?ߍ1g_# (l?.hxs1 6 I5(DR~%gN; 4L2Aj0钱kU$:$~8hg&\mmlS8l!5JЙrpJ[p;aF''} ;Yi iL~^d;5~3cmYQm Epso#99nQBT4D C]DHSDbvq:8Bqqq'Xn7vN'tm].X|t:ѴS1IR, dP!gŏ,El3b10\ٮG2qȬ߹n ==}^bf!?ƠEVnx"JBSr}:]uk{a=g' 74X5{PIfX}NO.9JƐЈd _DsQD$kSPO("57Lt<Q1x;z`ܵ Xh֏&gVo8*C#~}1!W3etX6 &LjG%3*]IGN!Pt|Wt/d.'%5#հ%9HOL$-?hр=6ɉR]AY] *TT`ћT\X&=fZګ9tGRc4)1Xs5+-}n|Z2[gtzFA9Y (?V'/@yB{ho%Ez̜,J its\~ؿ?b1ΐطk7$qFyTVj /|dYfС"t1H턇ldsHʚ'xOc)\BHt^tX ݷ!6;su=b/u(;;v{F,zMXni (76XHKM!37Gg4arkq;BylO chh@8d$.?Oe^Ѥ%&C&# 8bb0 r՟QR3MUcpf##&OB~NQEDzwrכY2{} ;?XDNJl\b "P^YM=Z{5ep -53:HL'=3-.炙gNY 0l֯Q}dIֳk0jUUDMb`2ODΆ'oUdIp=W晴S¦ |FZI pۨS#;t:F$oukV"= Mr&њWR1aP'p["5%%#ы@РF0g@p?`Y?D'پQslb&6ZCRbI,aDX8iqPMQoP5p0lěA4DOczi:Iش~=#1b(,ZbfhFI~GĠ *'y>[DM1ubf+VDz×crxBf3F͹ң\Bv|&"yL <Z80\f{*::~c~iZoqt>o:JE4Gg (tA, _|1La]g zQ$4_ ^Ce鴅tLm>x<)6Q'|h)ZUM([&>usfߊװ[7!X-DOaC7rd_D\bl~aCKqc)2abiɌ8X-uAֶ4qboK8̍gAs&= RB-,]-WǾsٿy6 ȁkH; S06܌bc5DwEQv:=h ֥î #3ںe3︘@+}/$6-Q_9:w-tYDw C^'L.Rz 'tHd z-mǑ/bWM;4M8럘`-8e bO84 , ~G)8N-)&*pŌJ)e쟎%]f LKu6si R҈y8Tegq%cGnfcq)mS~<&R37A\UFRl%x|NXy DכZHmUWZΖ:|rV{qߘPL * Sc=kUEkSL\7DirܳC"[:& z !c9ضy eeGK$hiil`K]]xM_}Cmc}m^F fPN5h>:ʎg߰#f&Pq-+7CK "{c$varwnF n厞:Zfق|(>|9? [Ѽ- "ͻwqꨠܻ=X$:K 5VKVf:F{zU5姧>i.TڊYi JG<#ā/q̐3,e.ٲyǪP!^:$ &~W7p<‚g( M"ՕU'ӫ5=G I1g]e$ .:>`ό@ z lce?fDH=w63UXvD"mnRcckPfM"F':90W9~{p:]:4mXĎ>os;l 8p 7F6G.!g>v7Yx[u2CQ%rmM+>ZLM^6א[ [q!ei6~w[:p,o桯0lV\Y*emt,Z/P8'uhܹĺXtDE*Ie-E0C]g/h:pX3U!T n.t3? @((1kxKrn"xNz^ݍR0A0`nl )M-k[wN#?o49&%"K2UKvw4_coЩ |EtmcZ2JXfw\?Ԓ+XkʨBݏlma$o%?|yMG9™؏v$0vd -b[u :QDԳYazJXl%M-!1k<{KˁV)7\#زa |^F YUKPf`;NIC2xYf ꙵf&SkQUxC>ϜCxJDաF\:/qDǑKԧhI/wFEoFP.^ rN/L#}9<#Lxt1FD4h_IE$#+NK-^0I.vSQ+1WȸF 20Jг[TʂWtRĮG^bǬYo>FhmcyhJ g>l|zw*0~x_k~fBIETbúIzq)F;Ē箥o1/yW.WԱ˞'g9 (HM7d , A0i%lͺ54]?$W|:'.{" y,~nHdT;pK$v-@vI!wW`|sjyr0\z%17ih?Nćh/vPTn|D&=%$jΧG0X]zS8zf_>l&1O'+o_j]c &EMKK](mxLt/Q=(}u3Q`'/%q@lQ nMjgOQSȵ߆hJ1q(֮X7 DtHhki`Сb۩EU[1ӭ=E@]N ׋;sZw6L"He5 ""≚흖f򟊢Bc$fHMb1 Jd9He3Ћz-A[Lj^SD>3IV.z!IP53Cgj'Qy?rH",D1>EE3g*:AFhB8,i*`^  ejk ZDA(ZF/O0i|wl Q&KHZE -#2N~eD~~ϝϝ.aU"=#NpYum o9)'Y}ݣA͵a4GbhhYx7l &knWoFk^pi#.擇!-[0ZmE{؇&iB!YH8WLx#&?!WA1&խ/Y0(HJ2HWrqbⲆUBO+⭕B@7hF$COzxϮp˦/2v17տLyuw^:~ƴ'I~1dGI6RW[MH^p(V[ ;;=T.!A=FBDCc=>_rƦ\ѠQPPF: ժ4pB x!y\z0`6mx"hH 1ې*2ʬNLVd;^4 Ef1E'HaBa mZzEQ=CR0Èfkc」$>ryfzrd3CT$IDD "*\E1 D%(b$ Q09ιr8aD-f-:u} 88Aȉqe'4MXy8c*,bʼn1P-FiZ>qF%g_ҐVR'U se"-BH{\;l&m:J2Lax[dV*OJh,ZES ]p²Ŝz4Zy%ꗟe/߉bwMo/2:~\a6{@جN~EQBx+Vq `&l 7S(c&jDk=%SSeoyx<@`a9pã0ac;.o`CwcqST[7 E>U.5t~˸{]6 /ɐɤҘ łNk>OmCd<ضOEEd 9) 4}5{L?1l`,P2Ec$(Z)C mmTMd^@pr`6D^1L]X}~C<ЯCB6C<&?8H.aμ  bDiv+n0~Y=\r9rK`>8W\r] ӛҳq-]s)3ʙǑH ;f-FFW5So׮G:\D ЛMN%I!![Eo̫¶;fT.[J6E68KZL6Nu|CQR'cdj)v@y]٫?MCS ?Gl~ÄѲ,fϞ}Xih˲([{Rn|ZMlغf $BXԱoE4EAVKB)5,yITQIΙ @UK} Ƌs((y2}td(6H00MմLq?ټyぶ d)D:&JP[WO2`UΦMyV`]p!{cm%(,~ /_M0Dʒ y  IDAT\>;~8EaSd>UV<޽{)'BzdR֭;La,E&[P:7{>۶ihhqd(2}_9')m4l.F:HXz7߹g޵gi^/jk(\d޵k"0 0Tt:}<2~j _){@lݲyMfs;Cy_aŢf cAd]he% h:p84nw20C|"sgu\ [ؾiVu7| ?-լ8l2 M_AE~[ waXU%^~'0#J!xnMXvrp88\.^۶q\8I}JMy=)%. ǃrUbbYv/Zؼ5_z5?f3gMH;m1eQ^%R;]ҍ"48! ~̦;yhhŕ,4yT2sC^ǽ?+sF1>vR шQ(O:h"@v%9X0DWx $| Ci^ #١Q4PaeXXy/wW"F nmx@,/\@P$ O%) x~s\{M d F"t3ϱ̦]6N8v _ _0u#6isöKq߾Kgm٨b4=bX*TPt N@ mDM!GSBWJ `X@J46m Ŗ )!Q5J4,c U[o:\JҐ^O(s=4Ϝ0!Ćv)Tp{$(Bc$'<%zxlȣM F'>%;F4u}JgTF; Ø+5 J q糬RRd %>sR…iyY8gvģtݗ38h6ь4o(fZS4mȄ MɜraBpɿw'_w(Bh2Nfi9%<i7#8/EuYX/B#"uj?yʰoO6)tʭy+!zFZxm4-l$13Q'^MG`ݹoաF-#(v3ȬBk;-RfֶltfdBzG0 ~Os)ߋ@?2MSxVϿoR8aIxv>$b(g[IY>U~|#sn=$EƩn VR)2ØFk~O N RJrfiөBEP^O^D`JPlpk ? #H)QP(HIrgv0os) MJ_QTTT$ĩͧp<|TJTUJ9afUUM p'}qĭs{9O5C˶mZ9Ө'/00؏Os/_OÉr "'2_ӈH'aCCCtuuM !Hgض&vBeeeP 9V؈>w%83Y|Y]7S`M3uU ݺFI(s/(2RP4_+m;new ~V숓d&GՂedֲg-IÂٴn߁(h^1RH ӻg/ZK}l~26u0aOџA дhq6V^F۾3=jpūxuؖ=CBJ%r9~rsg{r k[jR~O{.6b8 ̚͵<O熿[}3oi0αK%ˏ=r9f$/r׿AǁKu(iۤ-K!bx|4Kb*MSW=$`Xk#CqzoOLbZO(0\P_m U-RvocGpZye3{L]zTH:8LӜr?=Xw?EQ]0wSq׿zNmڶY3fx;} P ;]Y!Ȑmd,V64EjvΞzÛq;^/@@ Gc8rl:H$R:0LTt6! *%b쟍 EֱcǐSw(蠼*ʶ Qm =8yu#65!^؋;|SzGTG:'pᕚNzz_?545Y#U1@ӡ"$R va!'@E -H cLvRyp)*RcJRD۶N~vW_dg79ˤKQt!ll W0 [h),۵d6tQ*!۰P`l8K*?|>Ϯ];ƛش  WK6ib>*;2 djx'cH׍c\o#备q7X` qk^}s17_{H J" |.qB?nW Uщuruײ}BN !%7>}p)͏;uk6;}*Z;[$=;PAKk7hY~r!l'Vi 8L^~ CrpN62OOW*}5Cif:/5e4 y oWM6tYD5xU!ۦhX㡡|20s~=Mr^ZEC<׿qύ_+> ` ~v.IdIsϯy9ˠ6T:ÿ !JmoZ[[7mz!< x76<d7KBɔrXz{{DuDhS,4 JdHR Jee%3f )QzI&S: 3GĮ(#ۏ4cmAtSQ| uMQzUTOy8L_ !Au6[1UzSҵi">?ZN>*D!vTLǨ*8$4/ymi,>+I$CR$|#4P/6U⠨GC_jm ;GF5#o)6UaN:CXqncOŵ vmJ|׳kfH&4:JMa,k\f/\HYD_Q;uK!ڴ-`BQ:PGTj/'ch[OKgSZzPf%h+kҜ5K7?(|}+ݻ x}  <:$2,m㡾NQ nǃ  wS򪒥gH@4z#eY<y894)1mڡ5U5ԗHrZΡlώbKL"௯QllpiobH|Uc`3S:i,3i mQ̦Izng 8Qe6ڈӾ!Ml(b"Z&oEPBJ$*UAU@LH.o(T3N>U!6f& KA KR"Rks!J']Uh ł1dw^uc}*\^`(7vJH)p8|)5bw&7ϘEy!=/!RȒg>yEs2n&G,v"LdQ*V->g.7DeCdhzS#*~(i6Hnq-Ү ܾt'(/wxK]+rYq÷"U7uzhl@5PT폠,= LJ_ed~tFyMd ^&Ӳ{=teX̽={_;I%8}O~<-J&;*!ֿ@5Oҷl .h 8`hd>Cel߽Զ-{mZ9 i {PFˏ3-x8{iC+i3=;v2yB:XMP_Y?Dq(D͗JfhGg"?XEO硽{vxRjE6L`=>*!ݑ.(LӤX,Nh`Ygx|zxdar9qAɹ:/.1t?IYҒZ 𞝔M2RairVp4Mk>q_݊ԣyKϠ7ia =ϣ4Fq9XlQ6~ ۢ"&t}s/s~u9zO<0 xE*t CV4F5ϘF~R,j)I (lٱWo2k5h(Oķ([mB>h'::}-dZ櫱҅AWƌ8MH9BB%c)Q, Us X)U@TQ*bZؔI: -GロT);p4P8}K"\Ţt^%sM<FJat*AeE߻./I&)F SV^hbZrO>$pT"A$ad8N]m5G}4exH0&_ ^}V4LfUm]r:a.'z0&ʩ`? 'çBPM9.3eMJrIc…ŗHœC! @8ӧ5lR pd&ehJϻ8^/HǃiP(a8ΉPz]qD"~?cpDpfM4~#V[`v[6pIG@$zro25r9^)J Iա擤y-hnNݠ;E>{PmTUе0ioDZM(`ǖC1^~QT-J_`ԍi4D*ٷ܎],\vNE"lY*vlz 2.}OKVN~<PS1Y'}}8-: qVѶey OP A_O7\.sq:Pix^Fb̞3ŋd)b0!CESN\%51cV1ߏq`VE? S y;3Yzt!wg4N˪ /GHeŶd߿I.9%F}`q#/I$|a݌DatMtey̝3d*Eu}C#1,DQP*zۍ3Q,9i{8mƺ0Qxet )elo>~C~s':SCx" #IS+NGW7RD&T)/C"q(iB鈿((퐺tneHcxsxgeU&ٟeE!^,:*U(cg%b(*fB j aJ1ntN<*B Х%m)QD r_c$|J,$>:iLnF û=8U%‰ү i#lolhd^6(Fj,;f+=4$CFoض} B=ϯG~e,;h4l颾 6bK.9||n#]7lVt^[;5]I}CgֱuvlL8j?ėo9Jǟp>6s/Szڶ]I3~̪ȬIR;35*n|NWٯw'Bs]/#>2B0p\TԲnZ[hbK IDATgf41.?l>|^4Z^^AC `Q0-0^Ef 7dTdi磸ü%xh[h +S4w/gn> ".ĥ|۷0|YsXx}}X룲5k&  RC<$Fu*++ MpF<>rf̘A8& xMT|d(&tU 8g“+ﭤnFL>l܅a!|!thd LFW|Fgsk~7"-(п{C¤Jcݞ#CI 'Bat溺Aڊ:*o?Kq*/# ۥ(IdQC:Y e3d% };[8v,]8@B*jUqn<icˏp gS_OބΊeeeӷjPW&ݟnwŧ߼F4Ӧ71{\z:;?&RY͚5o0ҿWHWœs*ܚEu.`KliaX,2h r厝K AԚABPCy#DYw#xTb>>z$xPU̓Rʱ$v{w'EU3F-rܫYԑ.Ɵ*g}#2ӱȜyRԥ"&J)'B1܍/ S}7<*(3|Si|ܑ3s <'hig,_QvmAgwmm >(t^ ަalTg(9Lg;0;ҘP4mv'iypycq(JF*{±tVFp;x=3cn;6^ 4Ar"d 14U?q4thn|A ˁ04e$nRUC(NF1E{F%! LSce=#nn2C#*?q}zҔ誂a9OY|7Oʲz" y7t-{8Oycѭ\dT%ӕԥsO VP,?j|KװmFOsɧwمE:yo/1سyӝarbF>qEyiEU_̬9 A`%9GC?邛 ڇCه1]Z͠D)r"- }sşp=x]p;Ceж)+C; ϠiayXpPɡ8R4_-|s>pW]>ϳk.:::htwo/S0 4>uJnGJK) BTTT@ L۶'Z AʨEUU~?-***hll$PSSC4=fJ U㛏1s# C=νқD"\vp~v3P`n,K{O :ò {5Wpd5M qzǣil=j!D;BjoUlۆR_fen3~\\MdYvCG~E(s.nB>ySY'_̇,ڏ7:=<|Bzן+/:ہNTUÅ0: 0 u;  L.*(tn&D|96M}uI>NO9sǙ0$CNqn8t8WL]:TtwEQ2Uaw.۞m8or9t.%\po#o_ -BMilGTVTʡsׅ&MBl_gL͘c[vKyykEj8c\ϱxlaŋzBfuNYɗ?WB-oe>fa42-.]:r曇p4Y`s!> ]xQD:i9zG#d,^z)A)cxf j)ı(uz@U_'4bJ:ٍ n˳38qyǞ[C1U@<褬RJl EEAB{c"HHFjE4&B?u֑Q=rG. B!"MF;d2Ɇ [,ir '?;Jܗ:9 HJTrm9HW^KNc:dO-QdɖdR rf0ɩgs~q?=g0w߽uݺUuV!LLD $& /O_ zķyn]?Yx6!tyy6"Ӽ%=3' tqfdšm]_UUرcMrPy ,s5V=eY>|2Nפix< :ñcǚӔ&EQx, S'SO G}8CZYXy#=r٦4=XeYnx;K_؂[JXYjoì<.r1埐B[y Y_d~j.77&Y\a}`;S~YH\6K(Tlm~2U FBP#C2SCPX1p$p #i-[5jR W%j#f3~yB|eæR,ɐjK׈EgfGwq p\Xڑ[QKGٶKٔMΟ}>  W][2^ET*C5usԩ:C/oڴi|e#GznqMe(:ujUg?>ؔ䦓'O"  'O$bq<R!@eB0x;wB_EZv:epXFe~T>ėu'b??Qp+|d$-zrxn>xᲗp?%$Lׯ3nnYw2Jf(ͯ|Qq08 Ǒp0(UxB>#7'vH?)&#UAl@PH5ӳ^#fZ}l0p6pqez4R2b)M"$[{$!-%Jq$ ۩WJ8HmJp#uirWz:ek׮eO@#n_4*r+JflݔʥkD[+i>{ȶj|KTT$͏yX7D|9]v5424kkx/ ߌvEYh}c_ ǹ}nfm^ESCw ֞,#IBu$Ibm85ijx|t;Hk݌WWJ =4(ٷu#vs NZJS̘Xәܸ9p j<(N>3RLgns*AE)(sCTx@Đ5_%jTL  jc[FĨdX!m%#40=7e˸.BaOLvUU12NԀs '[eƮ1U(s Lf=IXb߲~FSx[u3(Uݜ1/줖/s·zZ?Ƴ!z{}Qv{#/߁!MS-nI牴F1*S`ZERcD7pi7M죘ֻPE":HC]z?(<_222A>"zεCs6~0*8$05P?"/WI;5t'y֎Q3Z h*ϰnd嬽Mk鍶hj4 ߏeYj50!:EQ39r8 !r3::ZN,L, C:&JdxxX,F"X.1L&!8}}}۟O@Po9w/L }1huWZ\4" ͉x'M_Dx\X1!H`ZNB(-$5m!4J(jM"錍-q %ʕ,hŐ#LjI$&*3;Ba/~KbY&fX׃8mfIcT%+ac74x{y0m:Ԧ@O%g8@׋4\>@/~?Ow/3w>ǹ˒ilȡK`mIVZo!i3aDC69BQMz9N4tDv}/hZ)5M# տJ>B$iڲjn7Vʟe}hg6dbCV麎/9 ngnc~-(r ~a3??EҚgpG#U7FCuo0gPBg6Hkq - pTE29r9J$p{/KF' _pS=#$8ȸ%u1b`n7ɔ)~n\ ե$4Mƭ(XmdQϣR}MV4IBU%\KQ$ 26BMe&St)HJYog" H$!C+q7e CN6wIv_~+b+y?nh<,tEq9;ȕLpmnT|VG8&P0v7+7ׂ8#D#~8?9*)0T7rP(JMرifsWHUF8;|1-^']2S~R2-. eqc/]ۙIVdla=..Rӫ[h6*MwgTXԩl~.YEơl,$ LM/R)WnGU_3D<.~K3tlbL/r·dtfk00 RQ&ֲW羃tQ{C8;ZXLSf:ϳOsI͌se!Ͻ;qvL]!iUeWVQ"Qs'PlѓD:Tj65Ӽ- E<~ٵ;yBUZ)7ӹ2Rdm~=k>^74d,\$!HDvnCߩT*E$**r|>$¿ jbH*bttY jJBP`vvQ4RùYŋhęag1D+RB룄%t@2L .pn aRsȥoMjbL:7b Cv:ۙ*x@H>L~jGDې jNg{T%b9ߍ&)X535ǡ%02=̎IdZc݌LGp$W]}yʸ c~1-TL-G|nLsNzS8uhȡ~~;^kNFX,F<'q\9ƾS9d M\./5T8HUj~"??_(R!&Q亵+{ ^*FKIvKzs(YE8*S\2dKH$zJB%,lP4sי-p kG~ zlMGVT\ض,98BE%@4!a9BH(2FD$À8Rm;nmz:H~0(T_(.ۢ*FKnv ̱%UG,:qWzJwWOrpYw7A$Hf|, X&Hȥ,"   ˄-TRhg?pi^ΏORЫD1Z0<>Gv 0:9Mzb+UQ] VgxG]P$vU<ҳht0yOel݀םwl1^<)c*]8sq #|HmF:nNZqgVR6vg9tⴲM ̲s;¢5( e]^8f(+芉U걫! i؁&XaYnݔJ%ɂi> ;'I‹v208K/3UdM>= IDAT!NQ5K.v䙯E0?}었!3jQ}iŴ\"Qn9 zz+oiÔ_d8=0]qL 1?4x;C㣔%vmҕg)>G]Hin!(T44_2L KLuA8h ˮ+^[&h|rȩ7JtuuDzhiLv5P&>xH$!#`0V"AmoذylH])lMJ|mڽ3?=(- ڃϭS1Mvog.=C`f(і5>憆(,f1#qf*DyF8z C G}";":xT4E"ʕ!q1lEW%tafA6ojp\tuv1O}">\Z GBY0H_vf%vmsslvCC1LAOgJlɑ!2SÜpCff=ÓJoOynlmQƪ^Zގ 3e[S<{dǭ*Z_;ُ09*m:JKQ\دZ:{6~rr_ jW,xn"2(xB²P]?!8$\AJx\`{ٶM8Zv%IRSfB2ךŭJ4nEVPnT[6AFH ^>$cKM ᰇp cG'f~}<թf}_gwa&a%$GR6 {j[,Vd^o B #dF݈CC@р۶ɕ cHVZg ҫ؀m׳ JK菉'D#[+p4.&[_"\ٖJu{=8o;ujq?4xN4η5xkiƯ,yqgEQn=o䡡)ARpužmdR}ARhE*xIngW[7mf8@XXHeq)UbS8P) bmSX*7%*-4$^^)vذ-b*R:3| N@Es$e^ѨJʳO}X6\:5}|mDb7"S<*t7ؿo[;讒-6Fohw!=Jesa.4! ]"6N!다YK3wއߊ~I=x=X w$^{KB \8D"¡ un-$I.•hvj34B3kɮdw$(lj!T\ . 3\J28O=$۷DnܸP(r_~UZF>G ߅ ;f $0dp*2Y‘$\m`Yq~gg{n8 57DMDoL$i!Y ##eٻm+O }3pplᨀ[hO&SkI_7hmmmʌ@ӌPW|W]B0>>rbSO>o%Heva^ ASezxbr&ǁ9v([m<4::tKĆ BS>z8ݽzv[U4Ͽ4h[&ϷfMiMRXgtx7i#Ԫ56oB&o˶y1nF d "ֱ /toa޽x^\ I&y9s4oX++5F),oFɪQ,!HHȡb1 Rb>E>* JԲI&E}1`PEYp$JUAjHKp܏-$JWERdFxވ!bF%_GqI*Bq< .i -(gJݰ1|h'/rljcfl:8̽lh,H!P/ dU"R8=zX7\֙J$晞,C̷SUTʦc1ݴp&nhM0|}Dׯӧt*L]5 :>Yx`]/cc*%o܄㼾FŅ_FҼmhk)WV]l6K:noynY7ol:g;::^Z84e2RT~%M+ealڴZիYLh ,/?NR 4-]$ѶT_.ri #x~Ee|bq&&&g3m(:ό +=爇CLf؉|ztnc+V VM䲋mފHu64E+itk4XrYjHo 3YIln2_jTY5+a<#1.ub= ?Rw*}HL\!#"!!jӧO*-/_}kLeB_:zNbikm# f㡿U$I dVm7 Md2IP$JX3 }˒e:HMEUw T<%mz@'}ev72Th cq WI%?3gCj}rah |O񞷼#g8h5ҋUnLVV Yַ7n ^RTLOOsrV(,ԩSֶdY楗^lR)èbY~Mg>VPSz|lǡPOMP&ɦF\8oɲŋ)W !B0==*`YN uA4mi&>$qĉn4]pa Mw_SSZ󯚦Ǐ#IL,:xoщ$̀{_e!o 233LNM!;{gΞEe~:099ĒN9ituuzpzi7s!B~J7Ƙ[,A,"ZKf`f&pfm#Utv Bغq3<!M&9OX'Jy׸1>U3\6#<;6mz&%JX"._E8$Q0<.&'SDp@ccWY,Cރr3B¢AU.N ī*af& [F%0m$Z0,5ƃ݂ѬYS,R|'G^@s\[ž}V)}PO̙|ݺu*kFSC74ATB $H}xey̆KzAlsGJŒxgRNtOLnLI_bA PY@0 _Oś*%g$_("VLέJdY{iZȶmNyEQycV!-xO$L#Q9{4E% &H_ua[rab+L|Gq.I pc Y;'GQ4$B#6:[|h><>-|yIZ"WΓ.` =l1jl_a>45 < :P܉OtwsgwJӝ}g$IKԭtزu;ÿM2_CȲիW 21V#Eu!x2FK&jE*YG0r<^a`NΣj!Xzxȋ,K $|_M!%Ҙp5!\ЉD]s=b좵5dI$idZ-ILV\2"SsBҹyf'jk%)FHY)y)9J>+ZXeXB0J ̜#.$*}4 tDUpR9voI*5I( >4vb6tJ@DF@SZh15C# >K L3>R%j:={VV;f^/S(s@E+r2n}w^<_Ofkg-<^^7~ҴRvu~?ˡ7zAUUyl&'XD5k IN m0>A [e,Sq_\h-dg-Zz{vws߾FT m!}py4l&[p[k=<Y0-->\$H Vu1` RmK/qk.<>r(XQW^KZBP*hu./ sLD;y)* %ڃ; @WZUH^=IвD[1W|˴ AR~㷘= [˧%Txn`멌 4gϜ~_{H\@mیS=AՐ93KNο\8R ѻ]>Cΰ~7H/@>uu~o~:6S7x?B$ƅIߍ ،,Y+zSS<\֑j Zv}zإ$ǵm{,KM#!^)@Qo|[_S\.N>Q ;Hc›`9"8s=Eĝ09wH.(XDFgdjORdRYɖ L tt&TJ#o=S bj|\Wi"~Mb;Drx\2R $㸱cVktv a~{߸ IDAT. ;W;VwELR%%JTBQ.+aST|Qy*Uz* .M"+.oz;s&2vJEm2᠊驑́n +6FQlv׿򟿏\G?kbcv'KwJTUc-/p\Yr|/ R033##)TJEX/qثJ,;$IN*LMMgqx<㚦EZŶ$Ai!KX],}VݠVkˍ,* 8E68r_YP{8.[5mmKO,=w=fҹe;v=&$E=F:X*H ,%D4K=&d</ 2PpP[e*D}@8?E/n S4<; `9LggkZQBvpa/]_c>sIvoJ\ sJ,}ǟvz3 H@H! xx t'=!@F0~zLO._Y.+cYU]ZVU'Db;v zE<>di?z_ú ݐou7p a:DjT'/%1x:J5"ѡAi x SkU\Ӑ(g2x}1|? +y" /ӓ!"/jcYw =}a^Ut<~JhG\LYAmRtZA0EbQ/I0ڨ#+~]t Cl%_\4`5'L[ ޥsEEfV49ez;oڎ/"k{x8EOr%U+QnM'Y'?b hBwc7x92iν |{9) AfK2z>]wK_Osq[ek }j^"23T)k4Tx<2icn.K`#I" [8tvZi)We4M5.]Z0tR%^m??I{{Bi星"I6r0uQzzH>uWGQZ+r_emL"TL O"j8%lELN֤;.'.Lt)w qpL@,#1޾M]n$C߸J28Ά @fPsh"~&xQJB"Œj\Ȭ%VʘI C%Q[äW= g> A__~Y~NjCt Lb_{-&ca`&dd߁ zHs0n($G9gďZ W`mH:]?ʮ]Iorp'BPH25v0< r,&.,q}b^oO0:a6B|6Q%l4Kx\bd$NW={ڸwNN$}ױ<1{+g ?юgo"F5FvphW?$\_>w}cQG`ShCe)E0afz<~Der<7H+Q$݋E4с(Ex%ik C?Y'I;J4L!,ƣ ׎*(WTpmфm1rJT&&&7"Rd sAabm~RsC~8*uEv}! ~kRp$z9j2Y#yU}=TcjQD:er0{2@׷Mx"Qwp8ei=qoR.4eh(Ğ= ٳ'PXL;[{cϞ(T *" %i4yg?=m y Q woev `rK/=ymFܙώ1ɁrKZh((\$o囝t|# !wH]Q+C.#}ZQ+:<;h"3\_|䳌&Cr y"5[@1*mxTD0&MPhԇ4$cK`'DnpidqEdd CÐQEQŶ$ʈh4ix}2\hC瀋լ0GLM7#8NRP74>YP2>N$`"eyjZz$)+x!j5: TNА t\"EE^ 31V]vnK=K=IgCb#M"|3B[|oꋱ}>PAfs9˗ ϧ h8x={ڀ:bH!8tbđ#>܉\CvG;0*~"("rͽJešCGwYXX@kv;#F n4~;#tv*{ 8NC: :lg׮6v튱C )uwh[{\u/m %|ߧHK: 3;xz&@|)%Îo35Klc~mOyf"K\Ĺa[? fGݠo|AiZrPC:*ma5Xkؖk8V⭭S\YY.Qϯrf"ȁߦ\SxGXȔ;I6W(?W qni\Ȓ[fy*,ώ3L u6|T(mφEe&JIOsvlONjVzT|7ҵo|6[ u\`;{ g.O}lֺ.H$$ۿ ,舨Dz-"ޮa╓G ,/CF28 ]Ά ݨާi^={ػRm8N+h׮~We߾TUQF}tum>yJu4t] zٱWnhL&S4TUSQUn}.TUszT/Ε2ؿ3/_~bZŕ#=l>='̀>'~Q*p@ 7_}RlXÁO? /L9a=D xȬfKҿsϞţ+ ũ.0k4MPDtUbXQ{)U+x5Bݤ^q#rE `vr|rN+M-.8FaHfMj>r Pďpl錍m4kuRK4٥P#"sO}gZ昛"k^%LcۭRx{bT+9F~iM2Q-XD4BJ~j7Á~<8Ӓ5ncSx:IԞoX%]o"">*O=1Xu2\?6!o4&r,K|*Y"$AFGۉBUnct]AQ$ >F<##o_/]]QAwwjȲLk|*ͶD"@rtBQ$"}}Q<Fouv6۷i2%:;#nkT,_c.j5Hćm;D>EfmDޖn"B>ߤ+Fi/H(Dggf]}銄8ߙlw\\Akf@瓿S*qt~7O%eHB{_QGI9ʦҾuhWj=z\z:aVeAWOިdr+kvdn.~D<@g{1BYBv-~/k9\ 8@DWFɯ%EJKyD&SZj"y\j:gϦR\.!I‘3x>*&mq?O1>ֲ&٤^1iQ@tm5VxK<"UgXZACn"&p;.kȺ(iT&Z tt ۍ'0*(LX$WiR5fp,RV`G})*ᰀehqK~tn fc4x %p)*VJqMd HĻ3CAț[8Ca?+HHS>~[FV 8w$ӏepn^uq(D"!.]7VvhGU7B!a.QPUr@5v@Mm4묭U8thtn+2gvۃtv躂ǣL]:$O'00'h zUj5Z<x<@OOs疸*##m9mo|-]!QhuIc`}DSFj1l3/1{yfSl a;/)P0+{I}(~%_+r|8癷6qP/{+,&4 ~kΕmQFF]E73A7 L_"lŵMZT5{]BR4*qO']3gŧ>oC$26 GO`ǧ<mtIdn"d>Q.U|sC S0\ufS nuI`U3F6Μ9CټDQ䮻².[(_XXnVD˲3|BM>dOK-$">un7$]:hYn&u+wJ{m]^^,~? W3^^y3oο4/ao/~LSZݿ}=WjO@<Sg)&-KZ"MqyT33Y#P9$'Ȃ!YiO/lRɠVd~z~\3u`7bIQ)M+xUAuR`,LOdOPL2D .M`[CI5GY^aaꑙv9'cZG81rjۑt,K4\GVrx >$º2A׼$2K%"mh4*}0_:!:;HRc'kx'.\XJMU8I Ḟ/ٹcX$r+ֵ7:E-pc~LS೟=m[뺛{YߟfP7Ʊc*2+(2xG?B@E uADƩH(d <ߏ$IXB{5dY.je vYuٱopfnwt4:~OwӼ辣 *|ca|O3{~xRǿ^RB|7\)*8~]њZI5tt MMkb|jFoTA DXRT*rHfcH;%L/Y3xriLv4+G&={F[G x,dbz~Uԡ&U3iMLK,=Fz(J hLGa. eL]ci^zoRIAO(,-Q5]pdm"9s'=YGpv]&ܧC5?m4kcuoc|Y=:ʷ=ѡ~zzB5cS3(xGhLT*%29H)7ryqNr;p,@Yw.x g.ugrltqAM摷o/򫯻1>2|ɿJ{*({\S/D[ydY=JꄩTj3ss"'O.!*1?0 |+Lf Ü9SVa6F(B˿^wۿ=i~,fuuu)*x<|">2mm]G]p"brWLߏ Tl#dң_;p< IDAT_K j9&x+YƦg4LX,,r^E^fLô.4mQ72YSOr]21veᵷe_#`0x*1Vūu#/ hT0/A|1`qKƑ}6]f߼J\oxq8wfYRٳF]۶ٽ{7~O<$]y`$ DQɓaB[ɲ̎;f` ɎVFiVWWy'۶[(r*egϞ+is|kRqH& nz7<]o:wb~Og(xe~C㕟`H—(G"T'mt=vZ(;0jĞ0NxQd&xiC[oᡧ U˰jJ. oK8q)C"ކ늤R.axI-)6yenqz8ۈʄs s DhcVfK4,`P'NfIfTYFR-R|I1EGgh$JG"N1J.Quؽse:zX(Ұs|d+, :5''DTtDΓMުra,Ef-`6\Qϰ*(64IWcET$؂MWG 8,L? sϟc '򮷽ǹ_;1LOPj BEN?7ro^s7å5 F8 5NCJ|!svv+#1/j'U:z{>z,=zq L8y ?@(bt4iDQFGG, EeN:(*;wDc,.MX%]Ի{^][^oFQF\q:`V~ml'nuc`.l9ű]%\\LK:WDrmf+#[Ufp HO62-KGA0:@.١Յ%xv &h6ergqI\tB9[ATe?Mkx(.tMJDl5zb <+9sUrQ;*%/ҜDgN)ؚef7Wv5_}Y*@6/ڠZ@cB?1E.6c4MFF6 TME?ad#Mn3?[0M\ykoaY֕6ʯ^!sgӻ =[6^;z+n|:߸8fec"ů XbU+l)fV8V.jzص}ɅENqvYY!g*&v};Ul2ݎu<}JDpo|tEX#Ybq0lp\VDYwJz%K$Ѭh]IT[ĵDG$><ܓ8Ƥ~ [@/O[ev6dHպoPiʖTMBչV_lѭcײMT4LӼ*}UIyC+Bymή];69LEE܂V0 wm{qm#iy?L~f}]|7ZQl8Ixݖ~cf*yiRs [a""4AEGED "N# "64k$qƘ8#ݶu]뽂6,k3z%Id< 6wnp|YA=WdK%刌wkoevS)p]ЬZtt1mS a-`~jR.& &آZut>З &/&%tYH<Fűy"211=DO7Iݥ?cbr A־?jF2AEꆁ}IrhAGX'%]Cߤ!h9QGHtEp&BX`?H(X$(JzQ'ZN̤f8ݒ)2 ㊹F=w6"MeD&SŸqg`x \O]71-?XZwCZzaBp incElLVsBD1Uwх&%3m|c4v& 1$I*]IN.a< ngg&f0jMr2gXY)Aj@ۺ8}徛:+i 2f5pMERT1.`J +M\::4KTe,cMLI\Bq즉+:.\Z%D`ΠU4UZQ_d t8szBja;AYcr@"ގm6L'N AEtl\:{ U;cx"*rgNXh`S&Ipt).m H(\BK6>U5*8JKVZ- \eYXVDŽ h M2T^cc>O o$g8iзoDǗhG+<͔CYAMoC~ˎxFuk?Tdibszk$I0da߰] //NԞ~ qiw򾛶}o<1ήf/zчy׾>?v+]Sp6Y]3ik"{0$ 7RY#ogen 8Ikx쓄>#Ͽu .\h:Hpi9a}+J9^p{2u U DN{jXwI_oϟc9Mmc f+Z&K&XOAdyC"+%b[^C;dN E*9#EeGx3n7U+=(u6@ Vx賏Αwx14{>g iDV =p(“ S~Avt/f!'e-iK (u2 ؃ga;YMG8FӼH6WTPkZXkT+ j<Ն,\8, ,=q`8H4`yf_B HTWX \G0lh]<A +5 BQ\̺bĎfW׍KUDC1Sr$L|A|*K,VCp]L&2MZx2Z_it7@I4(A%Akimb!?Α; QQծR,AT*Qm:TO @k*5z'HDzBy">bK4wFO݅?%;9o\!ު=y֛Mw'8Ώ1?\[/k O=ɹ>E#Yw>J| Ex}brw,I^ӿBO勯{7Nq/a YR -2RTkMx\vV8 Hҳ>D 1L- P\]G<3Y,JfUdi:H-*K,0 OŰeH}J".NM"ݨn'W.#Z&P[*RQڤrBAL^Ύ { jUXT!z(CW*xUmbJ9P-ź9w f _hB"6T&"P˚4 #1oj$ZAT ex]"ƿU{F٣jDC޺-v͊jIWno,vk,_ԏ cπ(n$4ε+Z C$3O1QZ,v9//ip7n u2Gxk#J߳re\-۲0 B ĀifڙǨ=dAvz` ]?=6Y޽X5ygǾccce Ww/wf7/|<],p|c_#*g>bdsqO0o3oy8Hi!bpsXֶ,7|p7\Yڔ>r]ҷe/ \ܵ ^x[οOE~5zJ;uzEo]b&CZC.h=G*,a,>6>)]] oH1ar~vF\*b>4(2d ̵DBFV2A8sό1;3CնYՙ:Wf2lwi&o䋿 j $ d*A #gb&uZtd dbXhGmb#&$+W3 4T*vMhu L ְyNOVhVm{1Ϝs"35&ýE\-+<13Yf޹(+ jІHmIJƪ!9;bhp+)}׈p<;b<ºBP%dtNϣ%Q R y^B b؃<0S]8DL2Α bagd[']$a!~)x | ג [B. ;\ZD2PB#4]4ʥ| Oηɩr@ '3X\!_HSd9\Q1])pi?oͷ%&s}Ӊx EB+ H),kIE\KLxeE\-v [ttZr /|JxH-8}64X|OX,1&XRz9_8m7nQgwi?~cL&曗$;kƱc8ww}wG.JLOOjvf|2Fښ]VoTI.- ]/W d9un# 6{o$@1>V'QI*4H'M{61X?wW38'GxM8FύxO}޳WǷ𭉧dT6PqLVcyX(G]bJ)֮]Ν;<#bnn(ڍA$|܈gفFlwZ΢evnriSUj|W4(#hRGnXb_$$஻ZbwB&&&8| Ð;SDu]tԴuV֭[DF4z衎{uQuڶm[Gî951&5fgg.`[ {q1ǎcmJf kԪeICifQLڊ$Zq&rj|L!C.i2Ey&C ₁uRi C3hUHb'Fl0@uKUZ,u% -<4P!(D]N|hgFKvGQÇpRwUM.RdYn%>X*=."c% `ffCun x;6l`ڵuz;t:pfst7[lnYxűs.-n+ wi϶Z0"{$/q/de.w񙞘ov+;Tʳ P4kvƙs9:2I5 XViᩐӠFBLKjs.Mim+Hru%ui7i4y%ə))$M0𕳳}CYCIOї\s][YĮ5ipqr? }@ =֥Y !h4>|RIEv^URJo߾~zjvڵ$u}u+vY"sؽRp%0 [:ƹWi͚5Ws;JRݻNGZ.QJq=t\0v{mi}7N/%Ǖ!x9tSJu~9Bty q\ױTژfZJ#G@,TZi2R{8[QӘKV1?}%b|eQh6VL]#P R]HՏ13Η8ux7IO<|~~mvwN3\ԈBE2]W"6d܋_Ib5s{9iKY˫])岶&6av,ߋkgNr6|uZC<Rnh!@R# R[WMx' *]`~9#Bb[HZ[w1fb& Wdђ|>ͮ;z%4eL#x5z{Smz$VWCǎre/I>W Tud~R N@vC6U/TS)h9#l -1JD)\Ds iHoDMZ@ u1R3mMiS 9Ϝ |ɪUC)`72# '}jz^|i9?xYn(8*VjkS-_Xt9w%^f!PiG@*x(ND=~-(ٳŢЃeVdhϱj3@2R(=BWDc'PwZ+ZߋIP,.S"M" PD&]]3;W+NDgN۬)tT. ['qTG dC&݌$nbgv`aaH7!l8 Hcn#\ d2C!ӅoATiMNӒR #XY0AA7tffN iJb_%MLRwwNǗ ổi}ZbE_t]_ϯEX%ǯ]-7YOӴgCo{`{ h8ΥHJ3~iϠygV-J`d  m}+*Vm'ex0VHh7Ҳ~̏D5*U2~.ص(e+.]џnu/i>_ eS,9pO>$׮|?ky5iˇ?a|#"::ɤ$ "BoaI BXj 2M %=apn I4-f+U8ɳt !iFMLKPc-{oXǪݔN?LnhmJS.ǏMz70MAX jcYIbGp[Y ivd9~$-uk zwe,Ҍc(hGUJJSq[ @͡c13We푎ILO$L^`!4 t*u]XYI(bRQ+$ߛ#ו$ix1\ϥ410B!R@.$:wCQ1 <ĆbbM[:ǎBP z&鳣\2Z$evEn&D!ȮkZ7?k 4)O{81a٘ |AH2Ay&bYn( wST;dC=<}&C+&R" @lR@Q̖#[M6>3UV&i%2[k3Q` P T[2Q(f ^' t'D]KлH&c`j1 >gN%#xB7 ۅ(v\q/!㕴yhFHMH~|"VDQD٠T*110u!  qZHgvU38Åqvm8J/T9?8ÓO{ܔe0~p=s׍߼o}ƞ[^EG1fpTeRl(?@븎#E1kAD,|LS@G# c SgB2W 5 !$A+" hY O╷l|GNfi` &F`DDba)Vs[J1?ZaRܾo~`tlh"FG2)FWԧ}l~hNG*mt DՓ!+Xhcs Jl^cSAح&χD B\3v2ZM#j hniwR7xUn&#T=zb"V1.b]R J@*2>Q,q[&iE]!KRKOyOi~;ٺa3wm#+@hس 0sLM{H2MTe 6fZb$FGرsRLõ}d"@O-Qњ1RU"Ѱ8j3&vVȐHH6ٞP V>nt8=7M{0i56^dPq@\GX P-58Hq q CgMXi"ђaۧxC/bC*8?(u<' }l?CĀ#0Bn淽H(;Q;Nqft4Wvf,Cn|A4\%4yL} O/[hWywfA-WflۥѨ33=E֯_U,N䦛n&166!::THiB $*a.BDt]{t&@]ا1PIQHzbdˆnA&"e)54Z,b_'(Ujn֯ى9j.``z&oBWܲo?zD2EmJO3K&19Eed_9q[Fݭ0?[si0 ,X[:BO+2-Ҧ3$԰d=$5 Y3\MF_Wh BL> n%DQ뷓(Yt-$rbs=zㅥے 0 х- UfhD _E6&"?a,XBa(m/ R TLeMZ؅Ճ9v8Lw5'@{X?3>5D$MB!yd _Jظq>yz(M^M"$[ȣIQ70i=I"Yd$rcZ|\fhBzNZ8J(̜E$gk XtcmNYzeb%\ȶ "!-L`l&Gsy,hkIZA!&22335mH R\x{bܚV0:]\C:rXOJD04ha't6&!R1ЪUC_"eHwQ m=Ԁ^Hrz#4q |XL2ӳ|%N8S'30xyƏ͘B2I.]|)dl(wp+O>̻f>ϓ6 BFFb".PjD4-p]Bd""&LZxBNe&ىIFNr8~nYlJn}gc$cO-CHPc,b6ݖjҗIe3D2Lʦ~ƚԬ (H&ko>LIci3gГ9OG bO70@RӾwxr\-&\kոkg:{{תrWi1Zlk1zx'qQP!aR(-Xi/c$7x#F5J*sh<W"D%cg7?m{sXF}o+ɖ3xix(6gN=0I*8|s?Q?S8M4J8)n,RR)\*|){X9<ė8.bسg.\X6zѣG;&hnݺ!`b,ժa/اbKu;V/SJ1<<)v1lcU#)%O脚uo)%JRԱ;#qU\.N'OS\fff:EQtT2޾^ΏE \O E F"$Mǎ"D v'#A^; x<.4_,7GlB+ŷ|"˯d-̙?W|x B!T4AEQSԚ5zr 4/F/5R!zW#o~3l:,S&JQ]heT\MBOT QkΝ;TDRRV۷w XreG~ qN;VRrܹcrY?|_YrdM:aHoo/TD"qMAԋ 0(F T$JJ""^42Ti& \X, ]]YwQ:wVܺĦ.6E/)۷G Xi>F J`R^+[O˙sc&lo꽓GOa0BH?rjz!}H)/K@ Go~cc:hQV2rA7-WipC?z98;na >_~#G~&*u&Y{;13ۻB c?:G dOjHieFEW_9VlXK$ D`&E6$P^DM(zf,T#,ӧBޮ.j&f&Ig0ifj!]f3\咦icW Ʋ~N;]r~~-:=W˙8r׿U81 ci;$eR\ DYժݳG=JY z-"iZLNO_޸qgP ղ9wkcp=4)B϶;|jBK/lID,8?z??d޽ou4] '>!wr=b#?0 ٻkK~X 9_(p{&Zz: Et{>\X9$(*?MRFƧu?.ҝN㨘| R4nnظf#r y=|$Eճbn'MNek϶pvdy nVޑt&2SO45l72?"Veh[V!*0c X$D/ >bpGs-Id c ڱΚIΟkv[hBO֢ЯS ZX`iX&-&T +Z5lZӾ!- q])VaKfl;bqds6Iω$aVNP.eN覆T&gϐXHs679h$VN. r oxtfZOq]ɵD(vF!ua6ΟG8vėwN$8?:ß!"Y-Lc ҳh"͇mS=$Օ#NX=k̓=Rk7`6f b`%{Vy`s]+y45h/'.õȽ2ϧ?X>Frϭ*pLĽBP*x[LRi&K oF2ab&B0ؾu+C+8u8oz5{aΟ=O0:6Ɵ|,~ի矾%_*~~OqiJ=ƈC={^qF"I:OT\^}4M 䟿`br; u _"Ν{|"h(4]'R?/_u\RO7xO?ud0})lft<ؒ}icYX 'k呱8㙒O1\r=@FW*ED.-EH )i"C?ybl|.I@Bsn"hl_K. 6p '&0gQ9CW.M:*vqfYO}nXdtop_Wkw拿WՌ3 ҙiC԰K6Vd'ʆϷ 31]2@`Gҥ-alr 2yI4ӗ\v>6w\U O _i8&&[6Hv ڈK&wL})oO$SWW8ׯH$Z9kx. |!tI߻ޢEk? -bzYzc7oC1"5VOڢҦd($j&F ÞC+Zb>@|@ (*Չ(.`6S(Zp "Q5P5!= !TP4@<|O:Fj a3`P|ݽͯ 19}8#\π|ɪ^x 7FEB"^G%܂Ɩ`H KA$QK`z :$jb&T "t8, ߗe _>N<G`?-Strjk4%m b^*ö$34BqJgFo+uQ*vi0t)a4#Ȫ 䛨jQSS_'[c9P]Ө2?HDȺE . #G&!"F2!ϡ Md Q%8c敄tFӓhIfX0\M \CBTZ.Nq3kw??D0hr6f[z*"J\2f;o^6h Ez E28a`PTO:I}uDU PQ5H8&&W=T]%exM[@'Yk:>E}cxxI "y (H$zM}YlˁpLbLƗrtgǙ>mX}EEQB`-t&9>bBn\nhGW_w17}c?25{ua>O6}wJP5?̜EFccFz[ CT%wݬ8$zzz_X""uAm;e=gbp+XSiFG=Jx=cxݳǑ \i !:'w§~!@\Fy;$M/>nx1|']SWxp6GEGx5=HϢ\:M w]\j]SUx<v]r&x wxu]Uba 50.C,`:@TJӄuUp!z`$kxgOaB*D GSL'f?bC<@ S kT50='hiٴ50PN_7\|Pd9) |$.{ď+HYc[\Ogz:\>TV Km6V2>Osz{ݏGl*XuniP'>{EU(3YHA5|Eзg7Ghl?4Yխd#G4е \'̾&YĢ)LE'iS. R((lnRˑ> 9bޫ*}!}v{k/WJ/y{x4Xs a|TLF4KӋcC\{:/݉4G}b`0ʕ+GeRU-[}Q}|gŊ3 pws~z,ןqGC ,+98< .$XjըTRJXt(SUիW>}}IXu,S񄪪]nT d2GilذB0+VTjtA֬Y3fuYlYg(JuropǾŒC᫿\L;N`Zj.abs}Gd:d~1N?$ry#&`vyt E1i:>U 8x*7:K@h>BIB 4lb! b"[ M04gx`˲hml:ZuĭGt>}!Bxkӷ҉>c '0Ns`L_OH=A767747N/~U+ ݾDؼ_/?jV얟?f۩&USM*erlV5TX# &L`ɒ%C=D%Dъ2*O>$LbJNAww7W>zTnyoLlGu]MR*PaYEVb@*Y6mE(]<4M#N=otT(ű{5@UՊ*Dc%~PeLGVUTrJc q4 9K51߷+͓󫗲d\ĸ鴚n\/e_,{y}]Ǩ{3l۸mrΘSKރJ߽Rˠ xA*X<42FbDEAJyl7\K00'YPKy Q,fP,wl+le.7x♬MIf80~p%;s![b0[%]2F2-Kۢ>?P--:S:ZHh@a V.ǝTYx!|4"d]R1݈RUJ݄eĦk>Ma 6ؠZGdy[q'{={UT(};|[y5%=Okd8=D4UK,>MUMSvr~J肫Iފ1̴y6r.dɓUGr Rx珮ԅ3jU/SVc^9|z0%W.^jż7m/ٸ=v^VYKv@.c |ߡs6:̧FTM845)LnMzH @JJl_=;lȾэ|>$Ё;)̣~oyb:}C H?q6h<-GP{XTg5bg2Ը7UeD)dh}g"6k:(b CѡpkPؠE8R;g|յƋ)-]A$0sΥC˚7R!zِR 顇 ,p.!B__9‘ ÞFT8+OدuGhj ĘJL_gsp5Iޭ;9"xgmj6~#+9]~W{p7<~̼|6/\@KK>Ckؐ0tN7qZٿ[К$,$F|x#@h׿5-ܑ̓_eI|wsSdlW}r Sr`=|ױvetYyZ{ǛgsA{FHLPmmbE7E*QױYR)4)I^|_*DywJ^9q9rn!s?}9diҳ|ki^6\;΢z:2 f4k]%tn!<+|r`P%K.0cr* *quX"kp'%8ytNqU"Ce'1kBK<)1O/t<.:BNyMA)좁X--f_"#Yf0vWoΣ .y@n cAJG&T䖈$@pI~ #bI$P\1BN2-.]mL7OAɡQiA/pw>+&3kTW-9|RK%rKa/I]"R}zyrm_14gx&Inm?5qBÇ9 7KRF2s<}p΅Yfk#}A[[G6쥪 b!h 'DW(fjvwC2ǡ:^ΕN4(s:EQH) 1O UyC"/BesR3?؄dg7=kǷfsxfI ]Sغe\<f!<HP;mriߵTi{5@ O~Fۅ̱cheZJCU$>bל䇲X9A"`NFƸTES0mFEE8u=+ P9F@QӢ/R=g}W_|lf|sݽY'Җ޻bDZqɯoY7G6t!7dfSۿMy銁1|oq9CtTkCkSK24&XU#=C{0Ux Ɂݽ$AҖ" &Xs#c̞/(]oa߾,w˻Oz M5]؂9mx_GW&Ѓz?!W|'ϮY24 .C` Bz;G UCgkYT)r.?Lׅ3eˢi4hŹ"Ӧ-"۸N CAfϟyu'BV$kC:>ɚ ]ĬH,!BP # O2Yt]nJc:TO|#20 j||& NV2PAz ˮdj] 7 \<| (}@/ZH&ͤe7ypGx4?W9PŽ,㎋t|y[ 6r%_ k'?ˮ=7KPts׏si>F!tN/9汿|{~w1?iG YJ Zk) tv&X#ӇKq13fP_c*ւp))95IUU"s J$'#Kƒ>_3~= Q6b"Ol̥of@+C@|=;-j(Rvl~guN/:#Iȡ< 8AU#O m^PZNC'R sSSSE(TE4P$#=I#l@RaoɵOÙ"S$~4Y&{`re'=EE$ZCC}9&~KW` +Wn7oSg61wu-[)Gο/4j]3>qao;r Wsi涯~-~3nZ7fKaR6RJzzz*yX!ıf2,RQ뺎eYEAJU)y nSܿiCYclx_˺Mjf̛Y ߏe;68XS8:xlW}G u 3s"62~χx^!ǛvUU+X,F$wPW]]]UM7G}>C_M_~~lVDze-װ~PsO% {%umW_g@MY?H[%Xu,BP[[d3X 0*f;p 1 A-Z'&LK ENC7XqՆǴ lD\GUJD?$%0yǷ8Kvߓ;$ndAc&[Yt9p4CHwbA)jõ{!i$9uCh/1g<"UWm3s'Lz& O|N:.5fu WLgbT%M'hD)SU5hJ#q3*nN:A,*tx$ A1Vg UO(b<+86LT(cpb9[]ץn̮Ol9C*feynٴo=9%KO6^͵C"x;usD+L , 9Ǎ.q躎jĆSqJ12|o3eF#!Ä0ya!r!;X~7.X(I ]圕ݕcY<[1Κ,ϜAPUOa_SN8x&y񫝇 Χ39XFE`:a:Mww>S:J(ŋC<xLL18!?eeWy [{:%4:_zKR &Ԏv%swf !=y9C p2w-ljsaCCH"_JOTDxKO) &긮J.`]*/E˶Y jPgH9pǛ$aR[[;j^Rs+a,&Wb;;f{.jv1 O~׭aoE~Kܿz ӧ(BaC7p$o[gLQzܱhz! Ge揌`0^B$sN8ƍHdXdÆ 2渮˴iHR1A/SK:2x~zJ#ޞզ*˖-q#Lе2GWQ[qŠ }@{>/霩dYc K9k:Lh"H6m|3Wpl׵5@`!)`4mݺQyzG"(9<|B1HTyGH$4b&qڒ72j6xSD öJ 8"$֓y{V_h!S) z/ߚ/3f3c_+])֗lB௿ςYm/hno@eLX:$G% p!Ա65ZRt7XZҙ ŒЛNsWNשl]+%9'"V±.~/rIM:jZd!JsyU4hJ!4eB^'g2HS ò-Jخ7{nmk%c{n>\Q._Jr<u׬Yb!x+f꭫cTv5Mk'vmc$4v=)oONLلI>t]Ezѣ E!ʻBQl͍#=)R^ӓ*x2Q%Hؙvu>m"#I(U;lEH:ZZ)4M>d29 #tvvp@ Pq32ʺ;qӧO%W4]ץeQS{u%zˑ|ƭҮ(WTB+L8Lfα^6ʻ{--- 45g˻I꺍T^1S9Eӄ d25B@4q/sfFSW*8.P]]]Eb$Q|( 555 UUijjZZZ( ǻJ%:&OHSSSShkUJ4_1Mh"?Wl(̛;aJf}ߧ9gG D9b)IDATG"*lmmhEQ7n\e9on!˽l&LPٯ<,X7D"1 % ᙇHV/:UBē`Y),Oķ% HM|$xDUG/xYצGu)\>{㏰8|0ilO~7rŽLC7k ` T Ѓ.(> "RG" P(Ĵ589)#OsiR BFG“ UhɥEdtP X"kR 8CdU^pGEtl &6JD7D!Z1Sg(AHEh,u &WYx1 ٹ---cع%J%^SSC(vzٶ{mm?G&Nx7'N+eg|߯8I Xj%'ʆgp !\b'$˲m{u)ǿ2M_`3/橧6Lλ+ BY*-e@TF$%F@aAKrn钡;/ )5RCw8?ku\aRmϕqM䖔+PHQo307E%'Ԩ,H-9,ε,X[*CE;231l56||R:\8BG Z1:롢`۟1b| p@BS_ 6xFBφAv,w|s*J'cox}YqvMHGbtJJtWZɣ +3 |#Oռ_ս.'}/)uD63.*=0y8H(ܖ-,ni/Ux+-ZИa-;<4o~2$̔Yhzreeo 7ά&.B!iW]Δ(FfHO+G՘q^>3+ *3-J=ӥap^(ylFpӛ"dQ'mP{5Eec9Nls"3imi ȋR#)q-vtIL`-s) Jjs"z9)Kkfc Twٳ8:r2+TcgQ;{s)AN>ᆐ>a Rob1e u\VoOx!AXBiHK @껑`'UA7pGnV/S bdKȂol [_]w݄wwOJ Ŕ,l_lOtyb lKIf65PdIk&%{9qWVEEkCvHA"~ˆ-?eXڧ@v""vyH  붿ph[^lȣN1J:H.U,*ɵ˟y7 xu̷)a(xV)QW|-]9$eRYq'yO`YaEQLv#H2J;MW0[k6CldPnxi},?|U hb29v|%kوfKh$"L"L6#!#_F`mIDevpZV_MVHڑ}IK=/rڤʾ[=Ag?x.Ų?-P>e4\s0N2oعj'#fo06rSdqT3)Rx|mk#beo ]/|xC&&0Fj㹯 Ll:eob+LR^ޜW9m}0J>H8]Ơ;0pK; aϷAj)'ktȇOA-5oyu 9g6K XĠz?wQѴ!HFiK:FQ3!h C'*]%Mpꏶ˛VɥuV#N/ 9thL0{g\#ht nt VW1rʲihf L7vا_*Jmoޒ/K Zn$@3ݠ@Lu)ێA :bP^ttkJd.w1d۲oFJL|_l|8a=bci*eV V{QuC0dԭ=~xE,cZ#y{ZVE+GTe/CNACjGb֍*vhGX´Uww.=4YkRI c$@-O K?@/x/#]O*3uoP~gE<GbF{&'ߦ`W]'` _+5~ٞ ] ioûK]dyy5&e]15{Vby-U}LJ#24Z*Yjv 2K%vo.{w:2l2rTxbmHcmDPź O ZWI(0O'.lc>Df UYs&;z 93Ӥ#߸ 8IR|C>5B雮tTt2~ĩB5'oRjN50dȳ\Uk^F ZKNtHjzZ43V $<],L&'/|iTE #KCA brk2aIfIDmq y_))L[d!խc=PO;Y+tdNR'XQ ƶQ5- A+%_.+2P-ؿ-RȴF.8u;j+PA4M+RKW!a+7Ye9 Sl&Ϭ4BOD,`~pj-h[Ċ+jCa)bzVIeq ~qd(*#8<3e T&olWySDE[ ? GP$tWY'vU5V=$j > rYXWӝ{դE徎1T4y1p {P^s)p )e)AA@Ek>d(͵1~e[sRR>SNqGZ':"u> =\B)_etxчg1k܄D~ bca/êk,OTv%!EƳ<~MMo*{ޯ]ZsnBH7+GꕡXq,rT:>$b; >(x¶U`2Ysp <.3Fk0j8|/kr굈 JV{=1¿E{;/63 yI&bԙ̈́8ϧ<̅ AIkI+n>$ew6ja[7i|Mі4G6{׍nGC-$w>!%j;@ t6p+8o.v _E@|n7EN8ZmnS4$j~?6VP9t =<;-Y9ߤI2S e\@4p踻W41>.;v501hpNZ%-q;hO*¦ P`WϨ)\tޫR(VW-?*1lLCgԾg}䔠w^!W7Ҳ#d؋_câf ƌ 7V(Ԙ|84yҲBxNd3M T'&R\jp.ęvje'|4_IjYKP0 Gncl'm4>I>Si!~ÚxVSGRv( F2o1'y0JlijNin0 Tc!]2 ZbVg^P.#+i;?s%3aHv.QJnVnTxqM,ʓauP{ ƎŇw]fy2qq5@FȌX$YR?1mxPN_- ]BV\ ɳgӝƽH ?TH2wOċcxG1ʵ6y:$~%FІȞo u.{ɄPF@4O0͆xcDi"4Jis9rN1]NE[тrLY)>@%%VHT.lUŠ |vN~4$#aK:u{%~,1htRت{f*r1au,\qg,l"]GЊ= wRT-Z~oɷ*Jz:k7\6%~ĭ慥e\WG+tQeh V&ec`ϘchQkP?Enf/2%{$%BzWTH8+ aϟQ̳岡℉')O Rg=F~]09Qr T@q-/D8]?O|Srr6VJEa\>5dvgю1SvKeTh*y =;lZDe SMu/>MOvh?VYJ')BJ=qiw'JKH0=pu9=F:EY}2+eK$ 8ճeXrޡ&PP]Z,4x $bJxTT#]-63;wapww0; ;YI+ݝJUkwN$@T {;$C IIBz {PZBG^Wi84,)+D癙mv,bgccb "hblbLflN$!)DRTH]"[me$4U_0U!R磩I0FjPIjIhS JW,'c yXjaͷW[tW=ױ^ @ρ2⠿6kkݮWp:&eBBc/l\Ƒ]BC O/ *Zmӡ(lٜ\ʲDy~eX2wD/1/\]N9/mKt1J9VoYU.H,f|vl%uΧ +"jFʽ;YhUZWܵo&Oo^D ! @'UϿqƞdu]bh'nc3ǥt ;w`~ēNbUx~9xSOUowu>tLB@n4we[]ddbR:0 A*V}TH)ඛoD)ͩg(O}jػwݣ|Cz>Rᡯ}mᛷl~xY-mST @* Aࣕ\@HT>Jkd( ٳ0 ЇOUObinnΎrcgA?y6l嗷-+84V2M6m܈eYamXM2v*c#w sf ]y|k:AM?<yKRCT"1yʔ $455GJB%QR"BAAH(b; *S,ʾ /[tqM۶].WhN$B)M"4Mz0 عcsȔ)S&Fss3lD"lQs=۷+۶ViZ8ŦaH$mRVCU;3::%QLH&Yl \JAL: fG0GIIFX,Ps(#X(pZk(mL&CWg^~=ceR]]tL&I&O!P(pwm6tS -{6m:}D޴El>|JV> CCR(%.\۶ d2Icc6rXI)1M gR0m4uG2uT#i-'!DCaص#v~{}w[9"QJq􃘵}i5QXȰntDZ bu1@Ci;:8'0LԔEK9uPJ_R'0 IM,dBg2R0 Ca(vءKBק-ZD&1 %ZW1́Ӧ.׭ŋY|e̘1D"{@IE&AarA:!!ISPVR04ӟcuض=q|<hR4Zk hl>9"%a4MyYu70:: |GkQ,,%L&׾ 9=o|,`Su,5ܹT*Ŏ;xPX"q8D!Qi`;ȻjS ]vh'DhjZ[Zikmn Aǝ>o޼[n٨Ν;ŦMa1GlF#c_4_ .]˗o?/.^LwOON 38}čTsv% bA0 ks-048*Һz(hkkӅB5lV_Շz1ZeT*ao4;wy'ӧOgѥQn5fۮ0f<۶qn}*839ʎ鋟߰5WS.ܢESK=K d2s=::<sil̢f јCtvv"c'H) RUR4Cd2iRxOgreYT]bǟxlADk{V1q$$wanYtݽ^ J"BCO:()E;w`xp{Vqh C)Wp,َCJ}i}H---mc446,84\$ yUEƸK;mY:lzSOoa0>>N#$SI'M_?A4ŭVI _+LJ '@XAȊGd(m[:l2W~/<@.g``mmmr9 à\*k. >+ NI8YB5n(]]dbUY؆ұ,la^gg'Bt:Ʃޱ)S"b,Fk+J$Sma 0׸z-h-id<|naH" Fg0 1M~'MD0M : Rp/}_*2 _]c+#J@2FWg2 >޵4D k)SU4ZL ,k1-$UGl6 Қeٴqlynm0ضY~3/C)En4_R/~_{T}UdPJ36T*A0MߏX{/l̛ĉH6mp yQ47Gzce8H))!% €KRu%C9TazٻwD2QBnfjatt485ҩϠ_+~zzzxy˖ol۶C4$F_DjKp9G>S2R 4ٳkgTIRPJ<#J>:aH?:}u]֭]Òo t_ĭ b@\Pȓˍb6]y5XeKk (vDz nn\fv,"Lx!DGePD hmop+ƃ͛6"o F{ҢC)ٶ};i ͔JKFURNgH҄%"1A txCQJ6Fww7ik+$ȱI(R R4eFOEYHi@IQV=4a0< M`ʔ̟2?<8AfCxax0gl{>?j| 3 8-\eLذa=,7lϬ|j[#⢋1+;Xv-cڹ| 9fN}]3M>u7\\sE5kػwotk׮c/3}}}  ns]5kײfZN-[+~;0A0 x'fʕV[1r)2 +V\ /r{CZ\Oń>fϙ9BT*9֭[1-+ZT0Jr]`A@&\_XX>:{vR.Sٰa= Z~]uيeŷKlp+W]u#{n''pXzf8=…gѢE̝;02DmO\"#J)tML2);l&0<}ԑqzϤS(K #hjiŴL?I&d.ZN}{ xWXӏ]dɚ|PAMg``p}s;g̙3qzypT,fڴW@.. C?D2 e!V=*V\I[km?%ou ,?~]ssC{wOss;.xZk:,nVOJE" _Q"eT2$g8)y:h)iΌˁKo_t<ꨣK^ފ~x=^x?rgp9g}۶z*tHRuW\0B')"aQAR֮;oN:)ŸXNn{U~֭[w1s͛O4d6uC{yH)ԧ>e^@1FtJQI$S1y1G׉{[/,<4,ˢqǟ@dڵ_xZOjoV:Yc3)A*i Pugn&d:hLCJ\w= ihlzC|? ' B0|ɅWfÝɤRbiF[ԚMq AP*F( ٰ~=39$n5Fu'R.d8  wnz{'q3_ڴ'z;co֖.]ʐj8$޽tuw344H6%ϳzJ>Ab7O$bLӤZu}[l0MДzz{#_{s䥩7jgQ,hnj" %wd"Vq#hw$n4'sHdA)&+?Xr/~Ë[cu9D @IҚJoJAܿs+W6f[S[־_?Ƈ[Zg76f[Եpl2!đe-i73Wv~r,7zc:T,gWtwvO{F箿8sT.y3܂*h ϵʏ#i۷nزmc+?Ӌ2`͛;vmmkifZJTt*s!˔WYi;+%ɳϼ(SfZ[Tr熊g_Oz|B:RU;+dK}D~i̫sek+TypM~wUO}>P%VO!G@M&e_}Zm]@ƒWK]gW] `iɪ ו\9Zozn_nZtZ-:G$Ӕ^N(N2/q=eN$\>E|lm.o 1ۧd0iߪ}4yA|MެsJk˙C\h×!E۸o[4ntӟÖD2zp{'"\:C<+P%%vr|.ǣf+ۛ 9ߏʮz{OW9׳M=8Ҏ]vv9`t饞u S:l[&[e_$`g/)PyQ<~if6uh,xh`_ ?77bz3"qaE OE?7≉'ƒRYUf\14殯Tr>\UY iNXvBrEʈ;DdEgb( r\ԪxRb8i5ry pT.zkr,s(S-1C7jG4Ԋ2i4et*Yl@jM)n2NkO+"u5Y9LTU$j2"[alPQ"#< %jmE7Mw+9P_.FVaSRϸF@š ^Jyųuy̤sh:%þ25HX_6ʮz3BC)\G?#a].aqS.GeױM}űʜ,!-°?7ÃQMJ5M)MQ$U+ʽ p9nu˖S\L?Dʼr+" :n焻>|_F e4u\N%Ф(:řNk`i^:`kϏ2-]~&ܚMJx3D`TbQ7dױ0i `K8\mkZkYz{+JGXt547Tۡrs$H^$"-۪x%P֠O=ǻK,Wk}^١e^[es{ NʵM;\,tR=^";%C Τ*Yo!,25S& azP3\vH|K&eə |6+PnK@}]4YRQj+ץB6I?)*r`mqgڦK5E ot!0ͬXS)֡YvPM&Po HYW~bNIQ`p7*}cevmiY);GuK9rYOFDnה:G^=@8bfH6Q|{S_(ooM~R]&}|x.Tˡd/&Wu׍i^*W%o שѩC};cڅFXOHXJeM*|n9zֻLʇN8ASTȡ.\V7*s 7]RIh/_-q0uJ~=TQ"_i#oceEuiSSH@P6W_izyh̸#ּs+/nv.0 ~f˩U67GCľgXp"P;vܞcmz6kIW=Pi{)Q v iX|͑nq1Ctwk-Kcu\њ*jICiK݁U: ?X_LkX"X;quu׷ 55ǏS)39xšzL 1LrcY"v9 R#k`t/<ػ~ד9y:ZD:d[yق Osx6R#*Z[?Fq,"Ū-IT.*m.mu+ :Lg(D5nޓ(. Q$*`b+:s'l92} /.s27WKX<1Җu|yH%*+ hߖzޗo_uU7&|/_7fcjh?r;BFT,hK#D` %LYw>k@s#ilt3 OʮNsʼz0X}4Eyx!4H u4ێߜRc džbO Ǘ'h>߭@["I95m3vbÐ^ƱLhʴ].t^ P*˚IBRgYX3|TVy@0juoF ]F+JsoH> i.TxS!B$e.6%v HX/4::/L}U rie=޸!ߐu : =i޽Z|/˽Oִ7h\qq+Yd9 J;K0CoG]g6_ʮNms97Sp4 8ԛgL5R#8>Ҽy(.º2iGŐVE(KӔpB~Siwb Z $6į&߻@I2"P7| 87Cӥ+v|#`;[K3Z ${&tTD݄l`]G2h)^p=NiQ, U׆M/r;y18 XuMáIi,i@b?ŒpXK|«[y\ng_5A`g-3ߞd qGu{{jId^8BfZ]l CoYZug+]F+ٗX y=J84?J.4Ra<u㒃]O5Uaȓ~ eDig8g%+e>ZOaoANaiGSj9mokyغg?P1+e-f4aT|[޽W?0a\-<3^+eo-Ggnhڜ/o0N5m rd[ūUu$7a,mˁx~Lf=e5(D]E]uWʮI5[8͒/x5MF/x.ui8'{M[ֺ5UqI)TQ `iXKc Ӟ irѫY'Gh@oo>"-?XJC 8>0wf+=Z#v./>6~jݺLv8m4͡qesK{ozb(~-i; gƓtByNy\Q氎 (W5~v<q_ jHK6?0C"Z{׵@ԕhOe~ W (v,[Mp;0ٜQ{ kP+E5=Jh~]z8{@٨W\ok}@>)`rh&Js{[2w% 3,S(zϱ8w-g@me}rbX2%R퉦횖UC< J~ I33*d^u(fX2,#7cYF&M*~Np#rtnԌr4xM4nY|W+yRt(*1 <Ќrј7maQLCsXX/?Ё*< ]*@>\W_=ix2Y@anӀVv=ɰn')"` f](]L$"v)7IENDB`W d< x PNG  IHDR9pbKGD pHYstIME(5qIDATxw|\ՕǿMU̓4Tc@Pm 77' B %1) dٔ%.KL섄jۡVF%YҴwH3x~H={{946{z/+ڮ[)" j vThKR_mk]Z(bzMquc=ջW"@.x3ƸE7-_>dѲXEE[nwt^SMw8wBuLsElmk-\bPG3u:;_SKEXwklLX+?8a4|/m˻A74.cCxqL|cz8xK!ZZ @y4!q2x@6 [0031.html Generazione video 6 [0030.html Generazione video G  }0024.html Il navigatore di file multimediali 7  ]0023.html La linea temporale =  i0022.html La barra degli strumenti ;  e0021.html La finestra principale <  g0020.html Descrizione interfaccia 3 U0016.html Fogli di stile  k0015.html Regolazione di tutte le inquadrature rispetto alla regolazione dell'inquadratura corrente V 0014.htmlLa proprietà "visibile" dei blocchi e la gestione delle interruzioni 8 _0013.html Variabili dinamiche C u0012.html Titolo diapositiva predefinito > k0011.html Principi di funzionamento > k0010.html Come funziona ffDiaporama  ?Az7I ?C u0045.html Tipo di oggetti in ffDiaporama 2 S0044.html File XBMC nfo O  0043.html Il file di configurazione per ffDiaporama > k0042.html File progetto ffDiaporama R 0041.html Argomenti da linea di comando di ffDiaporama J 0040.html Informazioni tecniche su ffDiaporama L 003A.html File allegati (Miniature, nfo, ecc...) A q0039.html Standard video e risoluzioni 0 O0038.html Contenitore 0 O0037.html Codec audio 0 O0036.html Codec video / M0035.html Per il WEB G }0034.html Sistemi multimediali (Home cinema) : c0033.html Dispositivi portatili 8 _0032.html Smartphone e tablet <x]8o8}<?/ m0117.html/ Modifica modello miniatura #. 50116.html.Proprietà righelli <- g0115.html- Generazione di un video !, 10114.html,Proprietà musica 3+ U0113.html+ Gestione stili 5* Y0112.html* Gestore favoriti 6) [0111.html) Informazione file Z( !0110.html( Correzione, riformulazione o taglio immagine o video 3' U0109.html' Selezione file #& 50108.html&Proprietà progetto 5% Y0107.html% Esporta progetto =$ i0106.html$ Controllo configurazione ## 50105.html#Proprietà capitolo !" 10104.html"Proprietà sfondo [! #0103.html! Aggiungi o modifica un titolo diapositiva predefinito B  s0102.html Finestra gestione dispositivi B s0101.html Finestra opzioni applicazione HxCXlBnH$B /'img/AddFolder.pngBAddFolder.png"A -%img/add_text.pngAadd_text.png(@ 3+img/add_project.png@add_project.png$? /'img/add_image.png?add_image.png0> ;3img/add_cliparttext.png>add_cliparttext.png,= 7/img/Action_Wizard.png=Action_Wizard.png(< 3+img/Action_Open.png -%img/SmallRed.pngSmallRed.png'= 1)img/SmallGreen.pngSmallGreen.png< )!img/Shadow.pngShadow.png!; +#img/ScrollY.pngScrollY.png!: +#img/ScrollX.pngScrollX.png `f8T"Z(`/e E%img/Transitions/tr-01-05.pngtr-01-05.png/d E%img/Transitions/tr-01-04.pngtr-01-04.png/c E%img/Transitions/tr-01-03.pngtr-01-03.png/b E%img/Transitions/tr-01-02.pngtr-01-02.png/a E%img/Transitions/tr-01-01.pngtr-01-01.png/` E%img/Transitions/tr-01-00.pngtr-01-00.png/_ E%img/Transitions/tr-00-04.pngtr-00-04.png/^ E%img/Transitions/tr-00-03.pngtr-00-03.png/] E%img/Transitions/tr-00-02.pngtr-00-02.png/\ E%img/Transitions/tr-00-01.pngtr-00-01.png/[ E%img/Transitions/tr-00-00.pngtr-00-00.pngZ )!img/zoomup.pngzoomup.png#Y -%img/zoomdown.pngzoomdown.pngX %img/zoom.pngzoom.pngW )!img/Yellow.pngYellow.png'V 1)img/Visible_OK.pngVisible_OK.png+U 5-img/Visible_MASK.pngVisible_MASK.png'T 1)img/Visible_KO.pngVisible_KO.png5S ?7img/VideoMask_162x216.pngVideoMask_162x216.png5R ?7img/VideoMask_150x200.pngVideoMask_150x200.png Jj8p> vD|J/x E%img/Transitions/tr-02-06.pngtr-02-06.png/w E%img/Transitions/tr-02-05.pngtr-02-05.png/v E%img/Transitions/tr-02-04.pngtr-02-04.png/u E%img/Transitions/tr-02-03.pngtr-02-03.png/t E%img/Transitions/tr-02-02.pngtr-02-02.png/s E%img/Transitions/tr-02-01.pngtr-02-01.png/r E%img/Transitions/tr-02-00.pngtr-02-00.png/q E%img/Transitions/tr-01-17.pngtr-01-17.png/p E%img/Transitions/tr-01-16.pngtr-01-16.png/o E%img/Transitions/tr-01-15.pngtr-01-15.png/n E%img/Transitions/tr-01-14.pngtr-01-14.png/m E%img/Transitions/tr-01-13.pngtr-01-13.png/l E%img/Transitions/tr-01-12.pngtr-01-12.png/k E%img/Transitions/tr-01-11.pngtr-01-11.png/j E%img/Transitions/tr-01-10.pngtr-01-10.png/i E%img/Transitions/tr-01-09.pngtr-01-09.png/h E%img/Transitions/tr-01-08.pngtr-01-08.png/g E%img/Transitions/tr-01-07.pngtr-01-07.png/f E%img/Transitions/tr-01-06.pngtr-01-06.png Jj8p> vD|J/  E%img/Transitions/tr-03-03.png tr-03-03.png/  E%img/Transitions/tr-03-02.png tr-03-02.png/  E%img/Transitions/tr-03-01.png tr-03-01.png/ E%img/Transitions/tr-03-00.pngtr-03-00.png/ E%img/Transitions/tr-02-21.pngtr-02-21.png/ E%img/Transitions/tr-02-20.pngtr-02-20.png/ E%img/Transitions/tr-02-19.pngtr-02-19.png/ E%img/Transitions/tr-02-18.pngtr-02-18.png/ E%img/Transitions/tr-02-17.pngtr-02-17.png/ E%img/Transitions/tr-02-16.pngtr-02-16.png/ E%img/Transitions/tr-02-15.pngtr-02-15.png/ E%img/Transitions/tr-02-14.pngtr-02-14.png/ E%img/Transitions/tr-02-13.pngtr-02-13.png/~ E%img/Transitions/tr-02-12.pngtr-02-12.png/} E%img/Transitions/tr-02-11.pngtr-02-11.png/| E%img/Transitions/tr-02-10.pngtr-02-10.png/{ E%img/Transitions/tr-02-09.pngtr-02-09.png/z E%img/Transitions/tr-02-08.pngtr-02-08.png/y E%img/Transitions/tr-02-07.pngtr-02-07.png Fj8p> vDvF- ?'img/Arrange/aocenterh.pngaocenterh.png+ =%img/Arrange/aobottom.pngaobottom.png9 O/img/Transitions/tr-icon-error.pngtr-icon-error.png/ E%img/Transitions/tr-10-03.pngtr-10-03.png/ E%img/Transitions/tr-10-02.pngtr-10-02.png/ E%img/Transitions/tr-10-01.pngtr-10-01.png/ E%img/Transitions/tr-10-00.pngtr-10-00.png/ E%img/Transitions/tr-03-15.pngtr-03-15.png/ E%img/Transitions/tr-03-14.pngtr-03-14.png/ E%img/Transitions/tr-03-13.pngtr-03-13.png/ E%img/Transitions/tr-03-12.pngtr-03-12.png/ E%img/Transitions/tr-03-11.pngtr-03-11.png/ E%img/Transitions/tr-03-10.pngtr-03-10.png/ E%img/Transitions/tr-03-09.pngtr-03-09.png/ E%img/Transitions/tr-03-08.pngtr-03-08.png/ E%img/Transitions/tr-03-07.pngtr-03-07.png/ E%img/Transitions/tr-03-06.pngtr-03-06.png/  E%img/Transitions/tr-03-05.png tr-03-05.png/  E%img/Transitions/tr-03-04.png tr-03-04.png 9xN"zIjAf9*4 ;%img/Filter/Oilpaint.png4Oilpaint.png*3 ;%img/Filter/Negative.png3Negative.png(2 9#img/Filter/Implode.png2Implode.png,1 ='img/Filter/Grayscale.png1Grayscale.png$0 5img/Filter/Gamma.png0Gamma.png*/ ;%img/Filter/Equalize.png/Equalize.png&. 7!img/Filter/Emboss.png.Emboss.png"- 3img/Filter/Edge.png-Edge.png,, ='img/Filter/Despeckle.png,Despeckle.png.+ ?)img/Filter/Desaturate.png+Desaturate.png** ;%img/Filter/Contrast.png*Contrast.png*) ;%img/Filter/Charcoal.png)Charcoal.png.( ?)img/Filter/Brightness.png(Brightness.png"' 3img/Filter/Blur.png'Blur.png,& ='img/Filter/Antialias.png&Antialias.png)% ;#img/Arrange/arrange.png%arrange.png%$ 7img/Arrange/aotop.png$aotop.png)# ;#img/Arrange/aoright.png#aoright.png'" 9!img/Arrange/aoleft.png"aoleft.png)! ;#img/Arrange/aodistV.png!aodistV.png)  ;#img/Arrange/aodistH.png aodistH.png- ?'img/Arrange/aocenterv.pngaocenterv.png ad%h+z;a4E C1img/Text/text_indent_in.pngEtext_indent_in.png*D 9'img/Text/text_bold.pngDtext_bold.png4C C1img/Text/text_align_vup.pngCtext_align_vup.png I7img/Text/text_align_justif.png>text_align_justif.png:= I7img/Text/text_align_center.png=text_align_center.png<< K9img/Text/Shadow upper right.png: M;img/Text/Shadow bottom right.png:Shadow bottom right.png<9 K9img/Text/Shadow bottom left.png9Shadow bottom left.png&8 5#img/Text/outline.png8outline.png$7 3!img/Text/normal.png7normal.png"6 3img/Filter/Wave.png6Wave.png$5 5img/Filter/Swirl.png5Swirl.png 1i4 rA a2b1.X Iimg/MediaIcons/16x16/image.pngXimage.png*W Eimg/MediaIcons/16x16/hdd.pngWhdd.png2V M#img/MediaIcons/16x16/hdd-lan.pngVhdd-lan.png.U Iimg/MediaIcons/16x16/gmaps.pngUgmaps.png:T U+img/MediaIcons/16x16/folder_home.pngTfolder_home.png,S Gimg/MediaIcons/16x16/file.pngSfile.png:R U+img/MediaIcons/16x16/ffDiaporama.pngRffDiaporama.png6Q Q'img/MediaIcons/16x16/directory.pngQdirectory.png2P M#img/MediaIcons/16x16/delayed.pngPdelayed.png2O M#img/MediaIcons/16x16/clipart.pngOclipart.png.N Iimg/MediaIcons/16x16/cdrom.pngNcdrom.png.M Iimg/MediaIcons/16x16/audio.pngMaudio.png4L C1img/Text/text_underline.pngLtext_underline.png,K ;)img/Text/text_super.pngKtext_super.png(J 7%img/Text/text_sub.pngJtext_sub.png2I A/img/Text/text_list_nbr.pngItext_list_nbr.png*H 9'img/Text/text_list.pngHtext_list.png.G =+img/Text/text_italic.pngGtext_italic.png6F E3img/Text/text_indent_out.pngFtext_indent_out.png g6nGe wiki.cssewiki.css d /wiki_img/Work.pngdWork.png*c 9'wiki_img/Wikipedia.pngcWikipedia.png(b 7%wiki_img/Timeline.pngbTimeline.png$a 3!wiki_img/Schema.pngaSchema.png0` ?-wiki_img/AutoFraming2.png`AutoFraming2.png0_ ?-wiki_img/AutoFraming1.png_AutoFraming1.png.^ =+wiki_img/Animation_3.png^Animation_3.png.] =+wiki_img/Animation_2.png]Animation_2.png.\ =+wiki_img/Animation_1.png\Animation_1.png.[ Iimg/MediaIcons/16x16/video.png[video.png*Z Eimg/MediaIcons/16x16/usb.pngZusb.png8Y S)img/MediaIcons/16x16/Thumbnails.pngYThumbnails.pngBrispetto alle regole scatto corrente0016.htmlFogli di stile0013.html&Variabili dinamiche0020.html.Descrizione interfaccia0021.html,La finestra principale0022.html0La barra degli strumenti0023.html$La linea temporale0024.htmlDIl navigatore di file multimediali0020.html&Fienstra di dialogo0020.html4Finestra di configurazione0101.html(Opzioni applicazione0102.html(Gestione dispositivi0106.html0Controllo configurazione0116.html$Propriet righelCli0117.html4Modifica modello miniatura0020.html"Fienstra modifica0103.htmljAggiungi o modifica un titolo diapositiva predefinito0119.html*Propriet diapositiva0118.htmlpImposta durata primo scatto per una serie di diapositive0104.html Propriet sfondo0105.html$Propriet capitolo0114.html Propriet musica0122.html*Propriet transizione0121.htmlrSelezione durata transizione per una serie di diapositive0110.html^Correggi, ri-inquadra o taglia immagine o Dvideo0120.htmlModifica testo0123.htmlBAggiungi o modifica una posizione0020.html:Finestre relative al progetto0108.html$Propriet progetto0115.htmlGenera video0107.html Esporta progetto0020.htmlFinestre varie0109.htmlSelezione file0111.html"Informazione file0112.html"Gestione favoriti0113.htmlGestione stili0030.html"Generazione video0031.html"Generazione video0032.html&Smartphone e tablet0033.html*Dispositivi portatili0034.htmlDSistemi multimediali (Home cinema)0035.htmlPer il WEB0036.htmlCodec video0037.htmlCodec audio0038.htmlContenitori0039.html8Standard video e risoluzioni003A.htmlLAllegati file (Miniature, nfo, ecc...)0040.htmlHInformazioni tecniche su ffDiaporama0041.htmlLArgomenti linea di comando ffDiaporama0042.html2File progetto ffDiaporama0043.htmlLIl file configurazione per ffDiaporama0044.htmlFile nfo XBMC0045.html<Tipi di oggetti in ffDiaporama  P{U/O-img/ruler_ko.pngN/img/fileclose.pngvM1img/Visible_KO.pngL!Eimg/Transitions/tr-02-18.pngK!Eimg/Transitions/tr-01-07.pngJ!Eimg/Text/text_align_left.png?I#Iimg/MediaIcons/16x16/image.pngXH5img/Filter/Gamma.png0G-img/AdjustWH.pngE <!/=KYgu+9GUcq '5CQ_mx 0010.html 0011.html 0012.html 0013.html 0014.html 0015.html 0016.html 0020.html 0021.html 0022.html 0023.html 0024.html 0030.html 0031.html 0032.html 0033.html 0034.html 0035.html 0036.html 0037.html 0038.html 0039.html 003A.html 0040.html 0041.html 0042.html 0043.html 0044.html 0045.html 0101.html 0102.html 0103.html! 0104.html" 0105.html# 0106.html$ 0107.html% 0108.html& 0109.html' 0110.html( 0111.html) 0112.html* 0113.html+ 0114.html, 0115.html- 0116.html. 0117.html/ 0118.html0 0119.html1 0120.html2 0121.html3 0122.html4 0123.html5 1.html63img/Action_Info.png:3img/Action_Open.png<7img/Action_Wizard.png=/img/AddFolder.pngB+img/AdjustH.pngC+img/AdjustW.pngD $``v (E`})B^v8Ur/img/Alignment.pngF=img/Arrange/aobottom.png?img/Arrange/aocenterh.png?img/Arrange/aocenterv.png;img/Arrange/aodistH.png ;img/Arrange/aodistV.png!9img/Arrange/aoleft.png";img/Arrange/aoright.png#7img/Arrange/aotop.png$;img/Arrange/arrange.png%)img/AutoTS.pngK%img/Blue.pngL)img/Camera.pngM+img/Chapter.pngO3img/Chapter_big.pngP5img/ConvertAudio.pngW1img/ConvertImg.pngX5img/ConvertVideo.pngY5img/DISPLAY_DATA.pngb;img/DISPLAY_JUKEBOX.pngc3img/DISPLAY_WEB.pngd-img/Distance.pnge/img/EditGMaps.pngi/img/EditImage.pngj/img/EditMovie.pngk-img/EditText.pngm=img/Filter/Antialias.png&3img/Filter/Blur.png'?img/Filter/Brightness.png(;img/Filter/Charcoal.png);img/Filter/Contrast.png*?img/Filter/Desaturate.png+=img/Filter/Despeckle.png,3img/Filter/Edge.png-7img/Filter/Emboss.png.;img/Filter/Equalize.png/ dd &=Ss"8aGj=img/Filter/Grayscale.png19img/Filter/Implode.png2;img/Filter/Negative.png3;img/Filter/Oilpaint.png45img/Filter/Swirl.png53img/Filter/Wave.png69img/FolderMask_200.png}1img/FolderOpen.png~-img/Geometry.pngAimg/Geometry_ImageLock.png7img/Geometry_Lock.png!Eimg/Geometry_ProjectLock.png;img/Geometry_Unlock.png'img/Green.png1img/Image_File.png-img/Internet.png)img/Lock24.png-img/Lossless.png(Simg/MediaIcons/16x16/Thumbnails.pngY#Iimg/MediaIcons/16x16/audio.pngM#Iimg/MediaIcons/16x16/cdrom.pngN%Mimg/MediaIcons/16x16/clipart.pngO%Mimg/MediaIcons/16x16/delayed.pngP'Qimg/MediaIcons/16x16/directory.pngQ)Uimg/MediaIcons/16x16/ffDiaporama.pngR"Gimg/MediaIcons/16x16/file.pngS)Uimg/MediaIcons/16x16/folder_home.pngT#Iimg/MediaIcons/16x16/gmaps.pngU%Mimg/MediaIcons/16x16/hdd-lan.pngV!Eimg/MediaIcons/16x16/hdd.pngW #qq1H^y 4H`v<`!Eimg/MediaIcons/16x16/usb.pngZ#Iimg/MediaIcons/16x16/video.png[1img/Opensource.png)img/PosEnd.png9img/PosSize_Height.png7img/PosSize_Width.png/img/PosSize_X.png/img/PosSize_Y.png-img/PosStart.png7img/PrjProperties.png)img/Radius.png#img/Red.png+img/Refresh.png+img/RotateX.png+img/RotateY.png+img/RotateZ.png1img/SaveAsMenu.png+img/ScrollX.png+img/ScrollY.png)img/Shadow.png1img/SmallGreen.png-img/SmallRed.png3img/SmallYellow.png1img/Smartphone.png1img/SortByDate.png1img/SortByName.png5img/SortByNumber.png$Kimg/Text/Shadow bottom left.png9%Mimg/Text/Shadow bottom right.png:#Iimg/Text/Shadow upper left.png;$Kimg/Text/Shadow upper right.png<3img/Text/normal.png75img/Text/outline.png8#Iimg/Text/text_align_center.png=#Iimg/Text/text_align_justif.png> cc .Pn6Qh4Vx"Gimg/Text/text_align_right.png@$Kimg/Text/text_align_vbottom.pngA$Kimg/Text/text_align_vcenter.pngB Cimg/Text/text_align_vup.pngC9img/Text/text_bold.pngD Cimg/Text/text_indent_in.pngE!Eimg/Text/text_indent_out.pngF=img/Text/text_italic.pngG9img/Text/text_list.pngHAimg/Text/text_list_nbr.pngI7img/Text/text_sub.pngJ;img/Text/text_super.pngK Cimg/Text/text_underline.pngL/img/TextStyle.png9img/TimelineBlocks.png7img/TimelineShots.png/img/Transform.png!Eimg/Transitions/tr-00-00.png!Eimg/Transitions/tr-00-01.png!Eimg/Transitions/tr-00-02.png!Eimg/Transitions/tr-00-03.png!Eimg/Transitions/tr-00-04.png!Eimg/Transitions/tr-01-00.png!Eimg/Transitions/tr-01-01.png!Eimg/Transitions/tr-01-02.png!Eimg/Transitions/tr-01-03.png!Eimg/Transitions/tr-01-04.png!Eimg/Transitions/tr-01-05.png!Eimg/Transitions/tr-01-06.png HHj6Xz$Fh4Vx!Eimg/Transitions/tr-01-08.png!Eimg/Transitions/tr-01-09.png!Eimg/Transitions/tr-01-10.png!Eimg/Transitions/tr-01-11.png!Eimg/Transitions/tr-01-12.png!Eimg/Transitions/tr-01-13.png!Eimg/Transitions/tr-01-14.png!Eimg/Transitions/tr-01-15.png!Eimg/Transitions/tr-01-16.png!Eimg/Transitions/tr-01-17.png!Eimg/Transitions/tr-02-00.png!Eimg/Transitions/tr-02-01.png!Eimg/Transitions/tr-02-02.png!Eimg/Transitions/tr-02-03.png!Eimg/Transitions/tr-02-04.png!Eimg/Transitions/tr-02-05.png!Eimg/Transitions/tr-02-06.png!Eimg/Transitions/tr-02-07.png!Eimg/Transitions/tr-02-08.png!Eimg/Transitions/tr-02-09.png!Eimg/Transitions/tr-02-10.png!Eimg/Transitions/tr-02-11.png!Eimg/Transitions/tr-02-12.png!Eimg/Transitions/tr-02-13.png!Eimg/Transitions/tr-02-14.png!Eimg/Transitions/tr-02-15.png!Eimg/Transitions/tr-02-16.png!Eimg/Transitions/tr-02-17.png VVx"Df2Tv Bd!Eimg/Transitions/tr-02-19.png!Eimg/Transitions/tr-02-20.png!Eimg/Transitions/tr-02-21.png!Eimg/Transitions/tr-03-00.png!Eimg/Transitions/tr-03-01.png !Eimg/Transitions/tr-03-02.png !Eimg/Transitions/tr-03-03.png !Eimg/Transitions/tr-03-04.png !Eimg/Transitions/tr-03-05.png !Eimg/Transitions/tr-03-06.png!Eimg/Transitions/tr-03-07.png!Eimg/Transitions/tr-03-08.png!Eimg/Transitions/tr-03-09.png!Eimg/Transitions/tr-03-10.png!Eimg/Transitions/tr-03-11.png!Eimg/Transitions/tr-03-12.png!Eimg/Transitions/tr-03-13.png!Eimg/Transitions/tr-03-14.png!Eimg/Transitions/tr-03-15.png!Eimg/Transitions/tr-10-00.png!Eimg/Transitions/tr-10-01.png!Eimg/Transitions/tr-10-02.png!Eimg/Transitions/tr-10-03.png&Oimg/Transitions/tr-icon-error.png?img/VideoMask_120x180.png?img/VideoMask_150x200.png?img/VideoMask_162x216.png1img/Video_File.png )nn.F[r2GVi}(>Od}5img/Visible_MASK.png1img/Visible_OK.png)img/Yellow.png7img/action_cancel.png83img/action_edit.png9/img/action_ok.png;;img/add_cliparttext.png>/img/add_image.png?3img/add_project.png@-img/add_text.pngA1img/arrow_down.pngG1img/arrow_left.pngH3img/arrow_right.pngI-img/arrow_up.pngJ)img/ccbysa.pngN'img/color.pngQ1img/color_fill.pngR-img/colorize.pngS)img/config.pngT3img/config_menu.pngU-img/contents.pngV!img/db.pngZ)img/db_add.png[+img/db_menu.png\3img/db_menu_big.png]/img/db_remove.png^/img/db_status.png_/img/db_update.png`1img/defaultmap.pnga%img/edit.pngf-img/editcopy.pngg+img/editcut.pngh/img/editpaste.pngl%img/exit.pngn-img/favorite.pngo5img/favorite_add.pngp;img/favorite_manage.pngq7img/favorite_menu.pngr3img/ffdiaporama.pngs7img/fifteenpieces.pngt9img/file_temporary.pngu &mm&<Nq5Om!AZy1img/fileexport.pngw+img/filenew.pngx-img/fileopen.pngy1img/filerecent.pngz-img/filesave.png{1img/filesaveas.png|%img/font.png'img/forum.png%img/gmap.png-img/gmap_add.png%img/help.png"Gimg/inheritance_down_lock.png$Kimg/inheritance_down_unlock.png+img/journal.png/img/kmultiple.png%img/logo.png-img/logo_big.png'img/medal.png5img/object_image.png=img/object_imageHide.png5img/object_movie.png=img/object_movieHide.png5img/object_sound.png3img/object_text.png;img/object_textHide.png5img/pattern_fill.png1img/player_end.png1img/player_fwd.png5img/player_pause.pngAimg/player_pause_small.png3img/player_play.png?img/player_play_small.png1img/player_rew.png3img/player_stop.png)img/random.png)img/render.png/img/rotationd.png/img/rotationg.png xhVB0qR9/wiki_img/Work.pngd9wiki_img/Wikipedia.pngc7wiki_img/Timeline.pngb3wiki_img/Schema.pnga?wiki_img/AutoFraming2.png`?wiki_img/AutoFraming1.png_=wiki_img/Animation_3.png^=wiki_img/Animation_2.png]=wiki_img/Animation_1.png\ wiki.csse main.html7)img/zoomup.png-img/zoomdown.png%img/zoom.png)img/undo24.png%img/undo.png!img/tv.png'img/trash.png3img/transparent.png9img/tr-00-01_small.png)img/splash.png-img/sound_KO.png-img/ruler_ok.pngVUKKTS 22Nt##/tableFolderTableFolderTableCREATE TABLE FolderTable(Id INTEGER PRIMARY KEY, Name Text, NamespaceID INTEGER )X''qtableMetaDataTableMetaDataTableCREATE TABLE MetaDataTable(Name Text, Value BLOB )J!aindexNameIndexIndexTableECREATE INDEX NameIndex ON IndexTable(Name)X''oindexFileNameIndexFileNameTableFCREATE INDEX FileNameIndex ON FileNameTable(Name)V#'oindexFileIdIndexFileNameTableQCREATE INDEX FileIdIndex ON FileNameTable(FileId)  $*06<BHNTZ`flrx~ &,28>DJPV\bhntz "(.4:@FLRX^djpv|       !!""##$$%%&&''(())**++,,--..//00112233445566778899::;;<<==>>??@@AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ[[\\]]^^__``aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~ e (08@HPX`hpx (08@HPX`hpx (08@HPX`hpx d (08@HPX`hpx (08@HPX`hpx (08@HPX`hpx            !!""##$$%%&&''(())**++,,--..//00112233445566778899::;;<<==>>??@@AABBCCDDEEFFGGHHIIJJ 0xph`XPH@80eeddccbbaa``__^^]]\\[[ZZYYXXWWVVUUTTSSRRQQPPOONNMMLLffDiaporama/locale/wiki_fr.qhc0000777000175000001440000002000012275647345016604 0ustar dominiqueusersSQLite format 3@ - ${e'' tableSettingsTableSettingsTableCREATE TABLE SettingsTable (Key TEXT PRIMARY KEY, Value BLOB )9M'indexsqlite_autoindex_SettingsTable_1SettingsTableh##tableFilterTableFilterTableCREATE TABLE FilterTable (NameId INTEGER, FilterAttributeId INTEGER )l++tableFilterNameTableFilterNameTableCREATE TABLE FilterNameTable (Id INTEGER PRIMARY KEY, Name TEXT ){55tableFilterAttributeTableFilterAttributeTableCREATE TABLE FilterAttributeTable (Id INTEGER PRIMARY KEY, Name TEXT )u##1tableFolderTableFolderTableCREATE TABLE FolderTable (Id INTEGER PRIMARY KEY, NamespaceId INTEGER, Name TEXT )x))+tableNamespaceTableNamespaceTableCREATE TABLE NamespaceTable (Id INTEGER PRIMARY KEY, Name TEXT, FilePath TEXT ) )#ffdiaporama_frwiki_fr.qch  doc )ffdiaporama_fr )ffdiaporama_fr  I+ 9FullTextSearchFallback %CreationTimeRMT ) HideAddressBar-EnableAddressBarAEnableDocumentationManager; HideFilterFunctionality?EnableFilterFunctionality6)WLastShownPagesqthelp://ffdiaporama_fr/doc/main.html7+WdefaultHomepageqthelp://ffdiaporama_fr/doc/main.html#)WindowTitleffDiaporama_fr&-3LastRegisterTime2014-02-09T10:41:40 #G\4{9FullTextSearchFallback %CreationTime )HideAddressBar -EnableAddressBarAEnableDocumentationManager;HideFilterFunctionality?EnableFilterFunctionality)LastShownPages+defaultHomepage#WindowTitle- LastRegisterTimeffDiaporama/locale/wiki_fr.qch0000777000175000001440000626600012275647352016624 0ustar dominiqueusersSQLite format 3@ [-W  )ffdiaporama_fr )ffdiaporama_fr )ffdiaporama_fr     ! Dmain.htmlJBienvenue dans le WIKI de ffDiaporE )~!h)) tableNamespaceTableNamespaceTableCREATE TABLE NamespaceTable (Id INTEGER PRIMARY KEY,Name TEXT ){55tableFilterAttributeTableFilterAttributeTableCREATE TABLE FilterAttributeTable (Id INTEGER PRIMARY KEY, Name TEXT )l++tableFilterNameTableFilterNameTableCREATE TABLE FilterNameTable (Id INTEGER PRIMARY KEY, Name TEXT )h##tableFilterTableFilterTableCREATE TABLE FilterTable (NameId INTEGER, FilterAttributeId INTEGER ) !! tableIndexTableIndexTableCREATE TABLE IndexTable (Id INTEGER PRIMARY KEY, Name TEXT, Identifier TEXT, NamespaceId INTEGER, FileId INTEGER, Anchor TEXT )c))tableIndexItemTableIndexItemTableCREATE TABLE IndexItemTable (Id INTEGER, IndexId INTEGER )x--#tableIndexFilterTableIndexFilterTableCREATE TABLE IndexFilterTable (FilterAttributeId INTEGER, IndexId INTEGER )   {''5tableContentsTableContentsTable CREATE TABLE ContentsTable (Id INTEGER PRIMARY KEY, NamespaceId INTEGER, Data BLOB ) 33/tableContentsFilterTableContentsFilterTable CREATE TABLE ContentsFilterTable (FilterAttributeId INTEGER, ContentsId INTEGER ) 77#tableFileAttributeSetTableFileAttributeSetTable CREATE TABLE FileAttributeSetTable (Id INTEGER, FilterAttributeId INTEGER )f '' tableFileDataTableFileDataTableCREATE TABLE FileDataTable (Id INTEGER PRIMARY KEY, Data BLOB )t ++tableFileFilterTableFileFilterTableCREATE TABLE FileFilterTable (FilterAttributeId INTEGER, FileId INTEGER )| ''7tableFileNameTableFileNameTableCREATE TABLE FileNameTable (FolderId INTEGER, Name TEXT, FileId INTEGER, Title TEXT ) ? DC]BKA:@%?>~=k2y^:ۑ7<㢩>ڼVF9g7bZq 7AFω=, 5i憬Pc,Xhad='|&ˈ:P/ d=}3MtWYd+UB* $-7tED׵ azg@o%gksCMv7Kp //]uh@Ws'[헉4L.is#ָNxALI%֞ fHNh ~&cD02Nfrj^Tq6M Y NW ~G4n85eE4GSX>JZ+ rk7;׶RqIX~9A{xbM{I#ڞ9WErW\d1[rW^p^c1sb57n"eR]ε`Fo|r:BzJ:Di Ӳ#N:Zϑ8z$ZN1iDEp&]UTB6|Y}mPIj*Mͩg [|r6ԌئIz[xT1z %/frW@W}C݄ +xe~"t6ןYWgS[Le褋+@U*~ԯ8^ uwN khބ|kz].W{ٞHD_*7M^5jp3юRybCNoPdai4:~G0FyHRUYNϑ؆)!*=׍3RH'e {w`BM@i6`׀x۩Q<&U(hkUܯ+@ϖ½`x#o/(l } tܮGnv7_=W/N_pUI^&eU5t=a7'HׁN򷂢e-w5~xc)Y[uX&y`Q~yE)=ntŪF+ e:Ok$.nc<oƛ^B|D|24Y=6"#a]QO㇪{ {C, x\A{kGoužcC,/*G>ٮ}xw6P֩)BQ9jHxѠFS MC6qlQ#]e[F*LYZ׶>u,OfhUEtAa >OpRvxb(P: UrpS3N'NC$p Ζ/XأkYz{Vg dȉ/6C-5SjQ=k _7nQbR^<"ogu+ Yf::Sb^a̿jqGt6:Zu["bl kvCln/TCbjd15y GWxUr0)80%Ё 'FNeɕ֡y y1-L.Z$/.>-߯?Š 5? RPl(HdVp2m v=-Jt"dF'LFk,Ps% Y+ y h"xAMlJZ}]^ OVD>Mb|nQ2;,=ΰDYвHȊW"xЭY@ͨ"qγE'иalM/nJ*Tl ͏q>\2#8l:dOmΌ-d 2gz Pd%;@nbUK_UL\_x@tُ/($Y< ut%9Œ?tRøTh#N&Zb~@>"{e\R*\MBzjck)nf%(+`c0Z)KnܝSŒS@kfx RA=Rq >`)5 ŧf\^s 5"p,OBt~sSZќiHۛE|IBmybaJ0Ir^UyZh/:?Jc?Rbڑ}nkn#Q {5c8S oOoI8zFR.+ Z<+ņTQgHU~s~ 78 KKޭ[ߜWÔӌdOK(zө4{:32RJNYqVs>Vrܜu/0@n[~dijnק(J=ʊfE q-ov:φ#R)qCNbXHn0Ff+"Kt |`B@fծ:(CDŝʞr3X(*)J,D1̀CyL!G.Gi1+ߠڣ&[zk7xu?̀*Un{ž ˖ڣ@/#[s + ّ8Ff\'hA{]^:JnJ :\[ Xƛ8?7ސbťuU_)(saQM2i >tB08S#o$jx;l@U"w1]4{KGYM3^Hb<'NL.r۟.(!FCZpQl+$:Rh(^ 2:'N`B>]cKDjŊExTx}'RF ,J.h0K¿%8qrpF9Ubc"PLANQI%a= 1 y#ވ/I+Pnԧ&X ⱸ9EA @SAb I(  Z;$UtId-e qu1BnhCz в7@_p=n<0CF {@_b<p%ݾ3JjIP.GdYXld xOe5=7]ES.|V;U}jSvCwX<t<8q{v-IwW tB`\83s-YîLfSu{#M;R!f1h`wu`c,ӥ7FGT6]xgvmz1L^Xk-A<0BףD/A@UXx/|z}N#v}~[5U~DFx̧CE 0N(AUùC&$m]E5~mcxI?j,%LI1 bpJ|ڠW hIn>CM`*ȓFqN_^ xCpt)/ _]iNmV`29\J2m1LotFc`%g\haX|$zP`O% 2=zg%[j Q}##ru-48 XBނfw!S ~C`eV0DybdfmJĢI3x%JS>}\|\<ӟۆ:XSF6_xst36;,mP9;(c)鸬 {S9yֱ9EX ^>99qpfvP>V5nx;JS'9 N髽;ͪkwo,zqvE?.(CQV>3 כcP`d`=qyɪVz^+SrdT9DUa?cRw=+ ixO2P`CL'zZJ/M,ƗBƬnu'Y&'wُD7-Ur:0Ԯ(xjI%5G)>[^3HROT]f|H󂼢6 =ۄ@19xWQ(DzF1MOuF556F"WHKRE{8(R e3?~dL,2ɫm !$9Zd>;Ң}KEW|#zD+>y?˼j&”0 c7o^'ˬKp22mzp31KRUbMiŗ+r^,?yrl;DQ@%a,M ͕ F xD PQm=SYi-nڈnMl2W+&O5=8BW ~$Krz6Z`OT~ΖzXD,!VjB;#go~Z{QN̠| "F|\F;nS8w%;eg~S gb+? ^m8XهO~]_UϨjqS(vb)=4;DW@hd-֛/NҰ:a}kLoEIBFt;üU{]O&+%x p4Cv"‚n9>VɢIMPb .z~x ,ɖ-J! LxQk,QH%Tɛ4M׎N%I%1KwtRQZ=XM]8S~%oKUeP3vy edgA@SꚆ:NYGr\%ctqlCoDjlCWyoMؖ}Ꝗ0.;YaRfS} PNu H'f^x +S@䩚k)eb>s"cӿ36;~;vS}#nPWW^ x<CU]S&lKK4yqu1YR t^ XUjUA3:JO#/[EeMx /D+9 7qBDb QE<'u`]LҴ'a$ 2Bkv)&q=g@ F"XQt{WBʒ=GYdbiyĦP:R!-RaPӭR:&GKآS \jSv_9@42٦-gC|Se v ?G͐yO6`ޜbyA' xR>g%%G6?/}A%78[eCՅ:.@c2+kG ɕ(CcLRtu3M(Q]LzBA'HMTi_5 KTU,E1<.!akdC<֫CgT ::4 lx͘]n6 $/udomXHݴ@ ZɳH\ ֽnғtvv"Ӥ8?!|qwWlfE^BxWɒ6+:=J \o в.SQX1$+yښN9;;dGvmE H2dr{\gvgۚ"amnxj@JiLē!d Y;6>Uo50|yH6vl2M'[%"*U`.I ]E_DLC'K/6` lED`Pjl<[8MC wmV!zyEG Ng z0LX !pfn94SdMFY9v'qw&qG7U+r"il0(y#8߱mYHk<<>Ep r+ȡ_vC|5ǠvY>fc[Åw{DYiCec%*KW~kiK+ *K g5,spT<^ :! $vx[bTQ*6B&(dx[hV#4\[ˏ V{X-״Ge>Ir椟GnQ!`-֘Z[S:`BX US Ջz크6R("8lAZ8@њacJ{q>!쭭8'|k}>B{,dkBn E4bP\PFmَ<Тx5ĊfeM*]J paV2L!$~p]cHP2g|+mh k1QΑX.HRe*"_d¼2E6MU:Vj?qj6"aVW)Փ/^ҫȉlÁg=*ߏ(&825yLa#$f uP3@T1%[n֝]vЅ;ǡE{&׽lpHN&b qNI^_;8t; J(pRh츷Of)u>*_,~ewoǗK{`"I D:LzUga꧵^$a*Ҽtg?\qƆT o4e`(tl5 }Τkhbb *ΧKvmb8.?2fe}{Z?R.FL? L749N'izH9|80FmJ^UwkjtkϽqxBP'+mlyX$Z.oϠ>M,B=R=rLX{/= xT,m m=`Bʢ,is1 :!_XBI-xw8cθ6`'?^zn1%~,>i%^unȭ#1x` o)H@t>!(_Z`} më"ftsH!My/O[tM$9 wɔi0GO϶D؊foK4/7{k77|I0)fXխ]ܟib ̢J[M,I csnعk6Y[-I?sbin5LRsMVB{e+ \,O5YK:s ֮~T@{ʕyW鈢p_-éϲW@]-wCM`CbMsbrnk-XO߭ұ*zxUى[sgq D1Z ̕bBՈo_@5C}11U2ߣM^[E n\HxD*FYMA4SkȊOrd_iC na1i7(_LFJE(f03DTVng7"Q{n+Ÿ`AHdkfM &2s:z6䳾 &#NXn R#A<1 s܃H>ڌ:>} rjlo6pvV\P2~YJt)]˜>0P}5KߖTuʬvo~} D{jꋳ`vÆQXW"̣ >>K mx]RHZcTeH2L†Uv'-n2W4`${N%ld@QdKs}Ԍ"Sߍ : zDxr١=5V[JΩR[J_H ]3i1CI cbs3 #LO=$"=w O܅oNXiv_͎?4F|d4ꑘFGS3K QL&2fz)r\ZՊ{_>a9s~˙)e4XLjgh`(&[aGp.RjO!Y 6xYKoFWlyP[@6] q}2p ȡrهjg*4y1Z~f8~:z{ݟl2y"?,fHg&Z/g/^xRK'fM%g) gFX\B^{1qk@e΅d 7ѫQ>y]#wCЗxx9)5G\\qv < ,FYR[f@.% !EeǴ+c5N[r=ج,FAuX23 HSÜ,Cx!)"pE?5X'[\L+؂=ny.Zw"3H#:;PQ%*%S`6FN 2}P(&DBÐd:=ߛ!qd.?Wf_9TTI|Hp@/(8 ꐨ^Ϟ1W'Ss)B¯Sҫ~O<4=cĉr]! 3z _h7>e)*rLmEԎx4!Z=8c1:HI=KMx] hx'K_; ㇷ˧LAư\BނG/9b=8-1q\mD]i Hx'Σ!}>hV]ş3]kBm d!10ds6FF4Hp9&? DM*x?-'ŕYld𤻶*lKpƷe[" @SuT(-#aW\0Ձ- r.,r/Eo`y)S0OW9eNI;,~8I!c ٙ硠=4(K BCU|T-#$9UH =ywKtx` KcVjPȩͪ+vMqt)wm2CZ| UE()(xTi+bk\uLa0-g ZWbNw[٦lP6qͳ ƍ"DAoݷ2)M yLx֯[ӾW} $ Ȉ8X?,kQ,fPcw( R.,/CX 3;VKa  Cܥ&+H9VNph}' @T+m.\*T$ZW#U׏~yJ^\tVv &&0s]5J\JpLۮu/kAUeoۥubcЪZ%33>NK;{p[쨟cWm )7>EƼk<0u4 m+ĭ4Ȏ_w4SB^ -d)U`ޟѪD.`tg"C]m$3 #0\6\}]|15Fbo-zuH٢&&,ʲ(5^/ 2~<'ReP)ׅ1Tԩ!&뫶\XuPXx8$&,V_+&vgࡢQ|T(!mb5GN~'xrKO2!<-߼ko^+MTJ+9Qtn߰td%"՜!v?q@V$\ɔ^^5"H{*ĥm dYi5C[,H@@ /G0ItR{.Bʧ&-f f )W\H3T5[u,7-%~4G{ ?Ds`_81:M&7݁Uv &PD̽͸\U c1+KگMj H}솪[뺚ޖl`'7)mFa(ֿA զD q͹NeY] Blg5 L^d_;VN`CQuW]GjA5!nj j5 ypW_wӫ07eBmz ,.lE~W̯s@ҡLq1:i\˿7~oZgC(#Xi!Ӳ4jwoowoFK.c&B-oTe9eU裏6P8Ssb/ܸQm/H,Tӧ޳RFs`35NK+M6 ~=8]濏Geʕ%M3cyS ӌC~ 1OȖʆ R5gv;AKp뚗Nip ܗ"yVWwiXJr a)14M hB x毇FAu))RZ,*JgvD1EI0eYyj܏hkw|Ps5>6)?&4v. wmomoOuۂۂ9W~]~®N.eLNdF#^d=4쭗Jm_>so6%!KR:%NۢlM>$纄9o Sڴ03rhȎa7P68WZmd,6Ƒ*HߛgKsAm[PmwP)8qLxJ^â7]ZUz bo*ڊu޶-" $#XlmSjE|@olpU_ŃJ݊ :=6KKRjS5 y1k$;1KK&pmAy (f<,/a[ __MU_@r|ͭhy c2s66ԡqaNUﭲ-Tܝ1Hb>񸈇*qc*n]{M 0 pW=hR.RdɡzdtJbVnu÷6rЀ0c򽦳,Pc@]2 v1w]K$atSӦL* =3Gz&=LD?dz50G3\)7馄jXql!km䢭%_E ߕ̐ߠ$}4̾ 1%yl*3:}«ɭ\.]Z\{MKF6}ҙT儦agQi}߄%{;u{|h#!.^ؿIT,t|cdr%ao\HJ2S"BL7dTf97wAE"._hnC`mLF0'Tn)Z ΅'}T&Cj%K6 !A_4l1I;iU.b(; ¬(i :>\=-ɖPko+Զi՝U<`ȅհI76DcK,?XKXX'{o\{B&⾑Bik̴ "Ԣ6P &mtʗʪA4,veHK,Kف%':d5\\H$, Wq5󟩊 WQSg83ʰ5C&bXR+?}),n` 7k[\8^@h躧fDߨ, Mrj8U.) i|m2Vfc**|'?U7/h\ǐ{>Q5z#@O|G_Yr[0v[-ԍ/ͭXlj`Hfa),GIy/ot }-e-Ҙ]NΝ)43LW=[xXN^^ ų'/'t(o݁uzq=E7К5%ALUpG{Ҡ);+͞ g5Si}BЂr'yaͮYɾo3qg |zFKL:?O 7"ɨϙRZ9*Uszi<,+o7o1R|Ӷ7Y3=br3fqj~z.S<+V{g Nߜ JvIST-dyY%UYMmBEkz@#5c4~'Bxz.Ҳ7+m)iNvNkD G4YZwGE F]ã{W/zCav}SJnjLCd}?|!l j."^爴'B 5c;1|IѦ-Q&^')XQG6*/xfbS iHx)"pT`>jh4{)=:b,8(ar@捂*!B%+euvyJ[3^t ][ QKۚݓ$˷ N+}d1]»+t ݆yuҿfp_؈7=0limܶ=@4NP[IM>N=kD ̰ɎI{~5OL*T! <- 1(+Z]?Վ-UdU")¥g&O9LK zܸ=1k*lyKV%ֱz Y:T4PRo42ۓ'Et=7;)pWt XH-;B֏A ?Vk/7[ѷXĿIfy\aӼH/HC!ϰ fX0l`r{=9&ׄ- AE -j;\>v! [ H2RdHj^1*'{#aۙCnRZ6fKj8AIxu: o i kk~ psxr6_ՃRv;_['vvHHB ^ _ %Y-ؒHvdE}CB.""h<=L;Wx&X_[R'M*I3K223HG[y^VG,$H c7{EeWov9سt^ݦl\˽^x(tN㠹dri 8E\1 HL#v0y6KD2q'q f,rxZYo~_љ:I~HDhɶfG}p- )a>؜Ѱxǖ6K4X"EZE4۟~KI/)lƵ~zy|,V҂/vBxɵ{/fcwbuۇZ/Q;ߣ<x13K{B1 EdC f `#FZƠNpRc8䡱n"Vd0FBab2* Tr>egQ.͊d z{HgI6s'$}+'W1g.,TG-LYH$)0t _G)Lg*bD B$" &% UYa AkHMfB\b/Gq8OEpp ˂T5AEZ(,⻰e򌃠WDģ$%<\'lT)cȵ ֥; {-[KuNǭX#3K/2IDK:E-?F3P'x&J8֚xURNlM'@'&ƔNW9@#つ]4 (3GǂҖBY!Vcbf6Y;j۳wlrꆽvk(yzr!m] !pCm$%#s:;zʍ/"qUv U,WV0$ v+( hGoÖ&vXԗ7ND'UӪz HO4hV; : 50)2)aܦ"sLs+;-j%j*ѲfQlRƨmo1*\IyjmKNV (ͯ@YNSە[Jl{کgm -E )70+ Z8C ~`(R^*~CsTCY/X0>4V3=Ђ,ܭ{,_|[ͺzES}du=nFDmkZLcYS1 ݎIJ>eQ [{z[CVXp rw;>ጁSG{`v>$Jdh~/Z Xѕw7JihB_+AY~3rL%GMHw@g{m^ uKc7I@|1L<ТOU6 j`gM-پ2!G28oZˉnMBt'I=8UwvZZRpCUKD:X r^0A[U%W^ k/[iewdzJOd.gvj& nP.; &|~0\2&CL[-80SKkιK{ȦIr_QI /Ŏ,G5uNg,x^GmofVC!^wu/YitBm l4gQ}|h;3$LQrߐ\xf'QJfәXu*> N r׉^M(QV"R}s3-We翯{}῏ _gH9JcÞmw:F"NJQf1> ?x}|`#s%\$ӭQOX34ffcO1AJdq1D{ٻ_xO/wȻOgٿ??i0iPlÖ{Œ6_?Q< b?SLZ,ԟ\XFR GcNHgt\|~ntۥIfέ<}ߩu?*="Jc  K# (Nד#|uߕ%=ĠSvӿ~x&7%ڵxdaY?OXs7w뱆A8喠 ->c05Ugq u>$^ʭ"pX'f C*L0[x,=y|?2?1e #JBx\r8?Oq[TlMg\:T6tUd-4_4`${dc0`4+lܾsdݿ`}#ki'AIOGk@ƗiNDp  T&]NjǞ&@@Ymh-GxWn6}WzX ]$\4h}K#-y] -6rW_vzׇsq:yf](g @76 AIpzϻBZQKirgECօ/nhEcѭ?^=|SRⵗuݵi`1E,_BrxUn@}W @jBjWB)*Qтc{^84Nriw93gΌ'F.?@Z%rR PhTNAXIE/#KV:w)a0Ƒ<Rio]N41Bf T0rEs Y_G"D~6r|ӚĶuQoxj$B*/Su R W֭c)inJ"_.>"䍌sM6dDR6>eTr=x^2vs #b&𔱴f %Ma߸ (Vwn/X eF`zH U jѦemڥsSѕ _/የ89ogm(8nU31 ו5{Z&!qԻ{aw5Q,u;%ZfzK(üaF6mQl`G9b!bxSkgުf1iF[{3U2$?,M7 >ʢ(zċċ?_Aߋu}& .Bhhq]w䱔ԟA.Qh7((%u,}]N&[۹5];};,= NxMJIK]wQ /_9bRY-!ñهuڊǨj5/A(HnمXXg׊A1NQS7{c}㴫ffDbE|%?8q ~q#n.<*-=0%y{H5mЎx" >Oa$Z-t9hTLGx̳vue9 JΪ "m4 l lTEV̄py&s1P4PꣲޠDd-z5̩p?t҄ xى) D :%/&f8;QY=cAѓ4LA9ïDk#٧N7 RC&z:&l\&,PAhCa.1#H݀N*iG*׽~5Bio- }!qa( xߵ(N(Į=Xޅ "NI7~ tnҔ8MQg{KVFků]LjOQv$jAZJ֯ rR}J< dKTf3l*^^ɯfK;D!X(eeVћ0Eo[j#RPrp;n3wޣ!l{%k"zC&-HW[UJbr+8ߒshSN,]bIlϽTwoaJo"^Q{ü<:Jct$]Gd{̎ !8Aw )g]N@ƺᴣkrrLJB q=0 '[j#e\%!%įV]CyȞơbJI78t5떉..yD*(zߌeQrXv[-2".; RQ}ށp~?Cj͏}t >zr5O;c$(-O,遐YZ )?~T (RJ!גU̵=V=d+̸Ϊ$՗H4#i\z7E%ni3HO$ . 9X7y.69KoBcʀÌfXjE|?l9qN\IN@mJH3'##߳4y"T)GK/ɐ6}>&MG!LDKWmY `STKASw/Q0Z_ "B2t06؅JI`LBWԀˤLMh.33 UUYj[] Io2JcAhhdK X nPFQ 62BMMah$ pK;?r El؈Qy|/=!GV})sx8NzXtULLl06Bzw#<$L %ǍkNz6 Mbcr[8~S:1'_?>zǽު؛gt8{O{EK&/!8i@ AyMpR|M?>. M [sBx2/Tbn%mfeV .?,!xR6$[5^7$]S! !q@6('uKB4|* ɔ%SSmELei דʊŸFajuK\!Fu[f(\5CcXt2T7 6h z'OtNHYLɊ`8vJGԠ8#~#$Xro=Mg e&/ֲBkGZN JBْLZHĀN'f%2BXNs8.>QWX(.}bE׀QqF/,^&#9@]zqʭej=54L9U,U#g*>-̸̃5sPe we$?Lۿh?pS NV;Ĭ +kTkhَ~!rQgN!mn~q)xf4vKtGqIZ5-RV'@ܶˈ3Yh3q1.d6\sx>nKְ]1WNmnL:&S8NH9Clu%f޿.'K# aR*B3zoUam؃O{Ľ 6t(5{Su" m}*{͜բMIg<ɶ}bd{;N܇.JG_e~ju.6}+w'H,C|}89>+x?t-PEǻ[EUB9e2Z/̥; *\gT?^dm}i]EW/,+f~2Cf{r-)y()~i6on,*u2AթG OCl *wUZ Dxc#xJ@R<ăMչ+ÝP%p.8bDݱ ^[ jAjZ;pFkExWs퇣o@RWkg!2DzpbYG 5#tG_^qZ,?b`yY_WOV+V+07pC&\9_)v[f7Uid Jγkn=gl9 q[E|Yk TpmF)Y4`uGMA'r'1!| RBdC`Ɩکh%S |LY.i%2qm&ers#2JxNOFQrwt@ GX"eQnŜڴiWXכFUpУ`v; ØU n#&/Gc{Fz蹛vk\ݳFmcuZtZE%\~T[jIO` =|$90w<Su]>e.DMn pi1*3 R4raR", 9XY8U W730*iJcWMxtoоwZmgp;Ƃ-(,̄G g.v-5wP3Gܠ׃^x"^M[̶Fܤʸhé/3|@.hdnc2oB9V0׀1rքty8LrHHrKRÓT);`2' (0v=oT!OӧC'grJTDu\퟼\,& "XyofˁCM% 1⢑F|%$)Z."q{Ak3DeoQ(~`GZ0>Ob:F S DQ Bg`ynzJ(Շey٣a9$2iD WnӅ݋y?f2WM#y݃<< W<+a/=ڵ/uʽ#*ӟ/ mov0ـSEz099?zF#~\8-F1&v{#7B='O saShq:i_~i{NΟ/ËNjebd~spOR`z`)& E'#qp9Q ҄Z΂Y'W/E}iP.Hj9O1' %NxYnHSRJM (JPX)@E bNd`1sI'3ع˲Xcϙ|snsҺݻLL"j¨K V=5Ap#p6+6fXaxRAZ͈342]Hi%h25v`pfjW SMEi@MVOO0XaoTlbXU/qL*0Bf"ZAhDC4"ԚP+5OsmNmmmk$%C U !!>YلWTJVNCS,0)ârVi$Ad!*aoTmLC*JH0p e ys[#DǸMr0(VMC}@mE,[, Ε5X׌#I*oA?YԧЙba mM:V,am cL#H Mi1%pA$Tل?Ȁ+}DXM >N@[o!1 xXn6ߧ8#q8Kl5Pґͅ"Ur'v(YuVL0`^;CSgc"[{ iE0Zn.XYl|x Jk Uڲ@Y\l&hJZ,>ڪiyxHLH'-ovܷuZ;WMF-8?q3% $K̎^%;%Lj'LZc=?t̚/*A,zYKt89P 3R3Vě#Q#X  sExB.74<Bd$O&CH9L!vbuJf1mKF< ?iT ɲT fp;}%鬙 Inre#\ )^?@Bd, gvjYE8~A"u>|=!hnAQT'AzhLw]Qh-}dcw/;g\!9QJ~_I--vHOw=%GA]c $>C&eSW\~ppnąU"S1s%uKݣmFck rU]|%EޒLY}G1%pJ27/*-iY96U)B:J1=ixD%Jfog}lw||,_"/neOJO]%qvxN:'3SpBXZJk1v]mADĵ3U83Wcf^@][XTqc(4кV}XB G?4Whc2on/iJ{3s jɔdCb/?.SUpg9GFwN /}Jw۩;@($;6]{je2N#%]>bڱ&dO|S +233rq+/~bju0c/}5?kX{\-u&)"Y߼LՖ xb9‰k-e7Ĺ@=%,)浮I&^-(  oͷu/dS=/>tY,D#Ka]K l?ɠsغz@/`48lwWAk_dloGA"3B&x|Y*2":)DX'נP68`5*&}gίmܕnﻒ!*Br~4F!RE2P/:eauwt~yg1An,̒J!UTy@5O 7x<),ost.=}C*Jd,LqJmu-+]}3Sj`ܾ*+6S)$ !U&xt1ݯ0 Ƃ p;{(3 63 \ "R$`CÛa d<}(f:얾([Ųl42qU=-I\T"\SEۀ4ޢޤo5EM/'-oq\)lzQޓZI \kū'v𩁛[;^"7Zr^"5%r 'qdž^PI"F# I[[ EW6iK*9/Ύi1PJ5 !ePlYQf& b5݊`MK\З6ݴKb wC[ML&xbϳh]Sn ODbW_c0im7Onjϴ)ҚnBK"ɰ,{,(sBٌ$ }h Un P 3`\BXӧ\ORٛ(I[2.'cc.z_Sf7򻅘#2(IiJc@E]n%%!EnQH/B}e7n%SK6Je@≕((?:ۭb區׍BGS;ACbwH%]GKQC8_GhFy0ˆ8Ue٣E_r7*5Y]Zpx{ИGNsEi%%ٿRz6nlnx6c0Jg:'d֯ލje_EΛoʷȻ=]#.Wm3`<.cmFp(5wYPY"NO3 'uW !1ل"/_X_l 1zUڦfgslـl6E#лۓV56J2H-Hb}uɽ]ۛx9\4Wр9YNv??9L Yxi 8zؿ<%g.Oek!ry& mʣ͇8K͹;`445+YZR}N8Ak(0;bV\đh*Όdz(ep>7G؟9ut1uHM"tDThkP t=)ƪ}1Y/˽90l`fֶCٵov7?+jmIiPh (xvf$l+iόy1f8eJc3Ah g4&SDgik64gIkM/.uWЁP(ۛvc*?TFy ⼇^)<π Z&|釠 Yvӱ ''-^$xZmoH_1'UwĄЪ)%$M x5iP^ U Ċwg^Wv8naIB4 6hTfxXa8_1u']6[]ud% K W~BN<kM{'P`pE`!a;{p}yx 7UW/"B)g(g1vEVC'ط/+a4E!չ?.NnP"/lay챯u°OK![E{;)[S9bx&ڬR2*f c-Xj={y"y*{Q|ͯ4O,%Crl$×a@I2G. dfz$L唶X[ D-x%<ό.sZixեv~dW5ybf:|a{ % 9 x$oKs!yr_@h!g~.Нi~Ke1hE:շwdȷg)ǒ7=Ex 9I^`R(%b[FkRǩV[&Bu<GAdY<>v*CGfqud򨰍ņݧ?6w$jPh`q.`xykpd]W4x''E/! Jdp G+OٯzWnv " =⚳^"?h fX-o:QX* KYdql|l4W|sMǕ&᩠TtL1yTZ EtM臐'#5 ?IPkŇMr/ā;S9s21Y%M!)$h4"RN̆-hHS x^e x˩jވf' /18l6%Dd /)^ZTIbY`͍s 5СLCDuP7'A*%n`\\#]G[Bր@oʘWlkC&\ipfX05CZy,̫2,+ âN}9y98B),GU}^+E}c~z_\][r鴓0Mqxt`z3A 3rwt^,s 9tO[߱G %tTأM=B^6z+AQ NNZucU$SKܻܷZL( vˋ>/Jps^?Q_Li,I 돝v,_f*!3#v1!wޙ=B ?jVko=4څ}hVwY(< VK6-AdE(N{}{S{~Eq{abn]|^Y--zvi,h;kvf Gi~p/MkiPzok+H ey'm'"%fSr Yɾ'\':@8X58=y JvZ[ k1cL0ω1/1rВfj%{4)w2|COU!N쎠(84rŶ C;T0e~)VEʤ{ԏf"~BZ=[BPO"5Q1l)X11Lph,xH $S&qdf&'Cek2ȴ >wzϹԼI޴jau CCݕĐ|"˨8]:92dȭVeB ;L9 Ϟ 8~ԟS1 UIM !%C!q߳>>uF݃d6J·ey3RzH'Ȣ 2192h:'j<> M; 0td O@ձ|n`k #tyM$%$;$ ! v'LSc >&Sv;VdY_;w4SVw=F[`~x/+9 e9݄6l-P(kH4KB ]\db8T`s6ef 5xX$8dJ<ߒ[s67;??~}!,>yzfnsTnB׻ͬ/K+XȖѴ[Mj8 X+4vE5w,2b$T(fx'sb3'!u4t#!\sBl q97>{8@z͗HV2x%#4b-}1iV .N%"h$.kBc@V~~KbyR2Gx%XH0uީ|_]mk{ _$gaiHyOҫ=A"Zzfr{O3\vL"M'kfUꏫGb)mMO+Pyl( 1Xu-e ֿu&bu-5VC[R_Z,Q6WGnM> H@sض+vS|A](U$n^M`^y1a a, 9n[W3YS\@EX&AT}Kl6}haw,''-O?ij⼥SNX6lL,MlXy CJ;lΖԐO,hu|y_N,]Z]=\gEgL+Y[;.;#MvQ Yvunoz?}d08& vg|24sh~s?(RXOgħD.+y\Ͷ({Yx#Mv2nf2Ym{0olhpI߶nr &g윕DUL铮?MO*[Z)bQbU,#œ܈ۖedhX$\k{|'0SXwJ*ɅC<}@rٷE}T9ˮN7zn-xlݘ=A&yGx *"= jm5,j/Mn՟l$(g8Ev܊ׇpw|9ùXDGV쒝I5)x|ZS_r;o|vJA;=ځ %%L` xr8}]%Y,˗$N&Jf9fw!0A91ߴ!R,똥*I$WĄ/"W aT*Ǘj<50?_Í`x}2TT0C~b؅Dbx$5 &<Dz[{A %~$ aԴ O\~uMb~}ȚM}:fH#z1?hti)RѰA$ e&fX˯D1qF0=a4Bak P+6l|_!og$nh<FM߀_D'S(V`[ ^KbT\܉",[pSA >~XgbO" _ 3OBhڐ, Cr8T"`ayIq2 H%:%-qM'Y 6F7)=2Ax)v2Dȴ󌵯+"%A=ReX݊o?>*}jt 7 yvxUMs0W,:t =S;te(Q/$94U|6^Ii5|sytLїGBt 4u&]lfRIZ)"j)a<;qIEqRDL mXTfX l<Yr}5]3%;p &*5ICHTR.3׫*_Bŵ^%9Thv2e* 'VgNR;2)5M|(.H5֩Z 9$IR#+Ȭa4 ;9dr9^޴t>|48p^a*Q Hm>)3lQ1ʺ1&s u*<5 DFatM˾rl~7'T]`HmKmG1嘎<.ٹ52#xb)ȇn0}jwZ&M^tTaAt7'UiIStJf(:nF Q 1DZ#ɐUp:ÍxOUR,j7.]! &\ x|ćh_׶JEfWBܠ(#ТI$^KI} jYw]j0D y+O8^oM&қ.ѿk'#ǰ6هpc sFƒ+$҇-w&S6* ^0;T%Loxٌm%z<]yd cB]FfIl?#P1LEz[:F@?Cζ.P37⽨l +L:G`nQ.rY) 'lZq9TCgcV,zoM ـ7c!oGt0@S,"Lr)8^lAT{x?͑|XPD qÉwRIt zǔΈ%9υBO,GXaīËJ^I *iрKgw%>L]`Z7Q C cXt}AG GB/a!$ M1jܟq;b8bwXP6"q8y/Aykm[b =W IJ }жZy}XwrX\IXy(@ZVIhR/;t}Xu:f-%\'Zʺ9]V $J| o?nK*Q>ƅ.z{q)W L1O0̇!Ti{McY҂׸>gO\ &u-Ͻ>R 2AUJ>*炸 $n> :R5) //"HxW[oD~_qC RXJPJ%j)B}lvq璦/vΌNT,bj{`DxTKo0 Wp:- zʰbtU\J?ʏI.D_n~-7,OʰW` d[ULlpN޻_P׷[uI~ k(e\(%[rnQ 8niW!}ί-Zě!q%ޠ:t:? V7X(y!M [DV ,ǺPHt U\a-V8UIޏ+ k s[ (E]W'G=h㋴nNٱK)c--auf4*.fjw3I $/AI1.@m\ѦwS!v ~98r}Lfx[yG < ]8O0OpM Оdyf3fGeE^.mz1̻qS/o =eg@u!ڤqѥpBΤGFܻ,2Ꝡf.Qr`N"+ZIΒ|L\i>;=,#_l%YC ŵE++*ͭ4> 5d<)8* )B"V1e삳Z*VpGRTa,k:Li4m >ZZy1ؕ߸l7^wl5ejr[g3"+XYSH%x "Y.M΢֋DkZaE72}Mj 2Y% SVׂ' bԒ{S#V1d58G= CjՌ+/;5=g߻(V;2ƲQ9V|஻ j%YY֏mdС)4nխԨa/&2fjG ` \3‡wع5#Q'+¹Q nO힛{`n*Oz9V)ᒓy2x +^Qy*Ԕ(<^h DS:5RְDG+=ꏄYdƅ#LLlBTj r}gπ> p ~@-/A^e=)>)}HMɦ~tnpjq͵=zXpv#*^x+Ͱ^7 M-Wz=n!0|7l\ŪVs_NJ*n WɼD^E30j%۱oSM@x@gXLK"M?_LB,Miu|Od {Fr¤Xymro9q„ W3p!WVJ5_}Ws7 c)9 N0yx>o&Lܸkx7݊&JѭY3xʒe՞rĀOhT@vwmSٚ7<0s04-n~J-a%>$whk:Qb37vhek/ͨ*l^Fa@p &&W2 xVn6}߯`U}-"RnETH"rC]lIP3g!o?Jn_˄I&`" rl_1zxW(HK\Z;{sYN gV ሡ&O/z /N _㩆`5 _S\r޽y x 8{^L ;,rIOl ,RkI< >gagcx14alk`yfd*zڏ*GHI#4H;lEO's`">,]}G/m8 4<716 ?0t[+掄EWwW. uWF"*.뛦m%owcl'ot 2U^ڇj\Nv˾7UFG y0YW4O0C$2 a|a.a̅//]~Hq'sj9e)Nq;.K5 - a$0ŸxH1Fɴ{[1)g'<綌  (w#xnIۀLW^=S1!%BT/c01.,|M+TL&x9a?g$VE3P*f$Pb2+$! S2hRwp ; ]tsٗD Yg@y;&A!ō+竹4e=5O?+n "g栗Wg#T zi36&aBABAIb ӘYLs` PVgB[xQ0 wۛ_n A  $e1"HU(yQ%3NZB?Smu }Υ8nAQ&7')YL^<Ŷ1sܦ6'ub GDjLU EW*b) ̯~* i9:b"@rU  8EAw1X+9=+=PuEǼEb'8ND%妗 ~s*)D\"|`JH 9lYLЪFj,@Ɂ~8tmq !0c.sJi*Z ^cc )X$sVZ1aʚyʑ1p} -*KT)a f ǜ$8YOׄRwHT`U"ҹKo)xQ;> sV~+oK0Td0z#_y*T!)sA@.n 9Ȃ!H$&x,BNQ)-D7(H8KzCeFjui30^&k>M-]<{BTҷ ![A|O ,sc4hG U^_=hHtt~~PI](8͕᤺=9, n.I_SP%Mb>- i"8A%n^`_ru@KqwDyDJQRmt wr?+nT:br mVWk,JM4:6y(7v> ?ZLZ YYԓ%3k )^t*+ jJ$o5*@9!v,+k~y^D#$%hxEh8zڑt|hf{Ra} +3)_tM>dNnҁ1%;? = дgMO7lmH-KYԨn-?Mvc$R1lK\nO\p}Ǣeͦe@GgFv?UoaTOqdCs`PoY ;v]qڎI~C01-9Cj f؎CM A1i7m@p[˄XFiNtrhдljB0Sר֊ptҴ69 C:hC0Av!c(L[ cpI.HϜ0CZN:LچV$UHJ"1!HWN<1oSa iމE dCZ b+Yqo՛5(!\(,VA-5nZ3HcEٜQN.hj읚0Kii Q^:hNԱwFP*RLCކ[KǦƝu:%5o 5 é!=6o4?D5epTw Ұnn9ql%jEJс݆1J=Ћ@E~q ql$MOb|yz)ъ-Kf 5Ca?t.Er6%='h!4n:v/Iˀm]IݶH~p0Y¡\o]{7&B!(BMqe)\?S㙿=sv%ʕ|>+7w6r|-r]Еidue+/x2u4\IKݪ(O;z ͦb4bUQ+CeK/Mܩu l"z9ze @x=vF^=H94%NNƖGw6=3O9M)u~?/٪ 7(͓$ب{ߎ5;/DaF~x]msHb*<.e\6٫/[4IDHc=@`+f{~rK!H:~tUgt qj7ϗy5xg#O%R >BI&[(a[[kh7 SWJvI;H^}x|S~''26eOջz{΂ Y:,Kڗ/O$UG_A;A -\)AO:_'AqWhy_+zbjD&U6z~4~)iUuqIrӔTD^ă$J$yƦ K'QIuBZv,MbͰg{&3,嗒@3njY8&4|~[?5&jX:K"<$ /;֘<Š1= *MXM#ViM&۹~%;IgiJGޙ/$! "8aP8p)yb8Egg<">zQיŲs}Ò4)`O0s.j3׮ea@Ew~z%<;{5[/c:8<6R띊T Q0Re+kuy׻,RY)V).]9ι.D7~XTɋ[G\l /<J?[ћ_N_I+[,xū\^`Z$/3}.D"ET[?Z4=sn,/=ld)v?U9%6s  o Ux>ލ1{$\g SY"ʂ@Dς lxP%Mh.m] f]@ox'2,| );s_g]&tmoDIs6 LdL-RLUW˅T= mt!,+mv ~%5˃ݐ7 h'`O\1:/Rd({_>js;=sgہIȹdirt,@샠I8 E#zսAٔdt̅%<<˞Ri9 JF\o@I}SZ m|*%NG^ DO{Z*K&XDUR מKQ0d}gNxp%T\fwPU᥁2ɋ`;%")j1/D7i{{Ӿe Ra~ِ#̛*$,E ?T& .̃R^sQn gSPHjoj^pW|?Q}徃=Ӫ}N/9Z醊m8fY$گOLmOQFJҫ| !*?gH&m#n lvt#"wB脬1НA;49 Mke"MYecj) k~Sb1H`x@"Ri b(ڞ R)VH4-t,39pp\@ǠYp_^?<>^X=]]1My;8>R?BD:K'%j`d\KO$3 l /D}c'4Ÿ-aap&84#BswbK  zcN*Ř+qFzF)=U:E*:Ϋ3 ,$`)IO^g CxN="hf.16_!4%p^"fHng]Zv9Fp "Jb(ܮ@ք+(r/+ENqg78`Hm25Fj!6og(nZttw7ˢ@wA$NgqcbTÛp=$=P#*<(z򛏩y*tO\FU?0 g;&!٠A|P6J ҥq`te\K8$7Iu2,3uէ_Yc&4hEp~%C`fUuưBجEGIFFxoY"H,h%7zѡPS|OG1g$r-}:":Aa/%UNHqg%q?1';軩߳CcˋK@& .G|X;~7H^dЂyk0”3Gge~˗x$ZLMbfW2g^_MU=Ӝ!tK?3qE S= Y1ZBZeo_m%p4) yP Mw{Iكݷ/G<1MjH 0M- `wxIb˕-Րw,]ԍ09ipegi芒YZ( IP~Km&qF<ͪ)ݥ!b88PfrO dAkPΓDE ~;,n(2CpUG v#;<޻G 7Ou}S(q7mUND)'2=WBGQ5i* NVxo$뫐$?bVPvPH1xAVuYbd 3VQ$N&1w*/YTR JCTra/cb$p1j)E d]:8kTJh yb3,k8Tc!s3 ETsQHٻS.=h]jՑ0ThDdd ݭM穨),K{SfI܀+"fz&|su,m2CxtYnywBF_5!H4Ӂʹ$FKRq3뾚 9Glݵ.4Z|]PK3ђw$Ll؞\'V *#ܢ.Sc0Ɉ$5ءп?$Xe0 lȹ>wo3 8 6J9' _~ ]q+قƶKvx Y(6'^=-Pu_UkO*zA`TZBЊ~6|6f[>5x'6.(Lag;@ *°]tI-'ՐIْwUPpBGXqkYtiV >"oM1G^_r2d;roGn؄7 fA'Qz "K i,lC Vj3TZcfkȄlgGԱg556zˠl!$ZSl6S bsOƈN6<,~iTutgGj=jx,S'nBbNsi5A^ }: ׀L d^`<Osv@]Ja )w7,Szi9( P%[l2.Rg6M!Js&2lϐ+!{3c<;9-NR ;b=MY12ATO[U#u$eRodG 5id_?bʴ,8&;xƅ7שwLꎘߗoy=(_V匨I*/_9na HtR8[إ] ']։xO'cUMp ?@3)z)+A6؍pa .hk,9[ŝF>#A15wpXrc{ֻU]Xpz'CPKXw`ljMBS)u1oqg{lϔ)kv+WpI9oX֬EEI+p&>MGfXE]ࠏzjN?`՛t&:ldSDѡѤFov6H00[U1ɤhlvqo{-x5RO쏤UiS@gы-cЈU:γzacW}t`E"8/& ߥ*ϝidhrx G{{Uphfj::WA'8w): >yh7.7q[cyb3`7Mk Aw&O1;[u6452 N;^Gx<~82:Dk|(ivV{{A#6cbLٱf0`[Xl`"7+3e+މsy&yH' q%0 (4Xr@9"d1r_0g(cd<}"c‰ ;Dz.+a*nCgG44쁏L9n,s} q?M}~L\AD޷7"_bWr\빉Dhg8`:؄QABT DVhެYfأ5ϩxBשf5tm9,59{#z]w> C[g|WL' O/J+'⺔wt Lwg v ֵB豦+cmc .Ґ9FNg8ft Z< 6:rq&z_[V'.ͶR6d`+W@7-bF{,м|u&ϐ=߷W%9.:8ugk_itsx'gu w1`/薥Yg@Ҿ*??OuLGoo* eŒli3i5-x=S_^}2Vѝ%|5'*lYgrnDW"a8{T=g`<{^ʰE]w?2g&ؐ`}sD'vt˽3#_v5v6lʤe7V%h;n4_:XiѸoQ {ta'4i8NhF78mwMC~3/?;=ka~;wk5; wSHe8rSe~)>ΣB^dkNˆ\2cFj42N,3TlYb8jvj2z3{PWw*no5>,KL(u+}F3Q|_b}Fw'tEc_m{#_~轵(tgqJ, pjdGsiaChnNI gf"{:b'ǘLl9XkD^qս/D|'%5mOQV q_ëX߉!،mh]i ga"Q[6f]YMnfW?|X [|aszmDxrh*ll6Wg?kޭk}hVG*ʳYVl;iU U]hl Ҽ{4>,m<k"d*>8b|AW 0l5^Td"JV+Uү:2~@^5By`ikJa 'ɔR}__sv6J.ԙQ5v^y`ܗ(e905q0 8߻Ϧ2ԦH?#TФ&My,Yq}ֶƪ#;E|0ʓ= MԹBmS2 24<E`ti@`s 'BᎸGqB9na)GAU&RO +s)q4)Ɉde.Cv&Ň{8Q(e1y<[ (`hRrYy؍%Rl-w, f Vd #%A:&;|Dm\ A_/vMk:^4R=ڛkKe578Ŧ*aV``8xq2W]GnƗ}_2+n{nFlG~BMJYn% tsD-.ȍ.-_"+4Rϓ4LON4!l2hxko6{O-`{zv)Wu ܧ+qt(Rc JWzՇD+y?o~_\L̾?r=TRGo\5i?-տric4' 25#f$Ty䒳zIg8cDIˤF}$L6 pxY_o6笠iyb;@6{` 쩠̅"Yr?HY*u*$D~wd_0x6 vHoL$3gc֡vw!!m#M9$K0lε*x|E*YIRf׿&g `pH@' +LյP`QNh3D@h im1$ĽҨ֪NVM|ݼW=T=K.JMTfl~>:F 8//`㎮XTԇo/opSf\1EDҌM#͵fbY0s͘RT"1l9Ԝ*u[sf-# 3O=Z9F3 d`JJ/*)J5@2$ k=6I\*QDmTR[MN%F |Xidz(?u||;g`o1IITk&S -P\ <y/׳ݬInœwxza,)i{ĴЋWGQ1ٳ\k0PЦN.360lJkʊh< RSxyb ].yr]LUYɰZh|:eD0!r=i'Q_m[w\o> /R"՟dM_Ip&*T?MFrkv ? tN:L{aZgy 7M;xVdD-n@@\yuNQ X@̇1cɪ4Y9P*X,2&B]2%\3?B KQubwbb /6~Vy4 $nsʸY(Ĭ\-BNk;q"\jk^i> .[%0Jjx琿@:ǂgJzEiC苠Y:eTFFv,4KvNDZ`LKzcڣA0t|,ĔX mRBEDm_#"_}E ;2\%1U6R]FB2aJ%=@#IV>.|a/HZZ̋[~م']'R(Z^4?]_ޔIV*|u([$~7_K@gn=(&OHFե l`}~,nj]^JϕL *l+mM: AG6F u!Y)cRujY_[b'zx,xH.zR_vq\:#=~Bb)pOsbmMC1V`ft^䞛ZO8oXUe~С”XH?JJ;?xҔS.6A|UfFSܒq0niP Od̄n k.`O{מ3B9 8pjB Pex]ҵp\U~kU9!jjڑ/r;F5| Yn55bsͳ/ȷ5Ow_v`بoB͝Cd1ml%f# aW}XY3w k˴tcPg_oףmSژ}lYMYiĭ3#Ox$ Z.͕4O !. q(7͟=Jr^W-!"\='e< W?3HCZ.<”DCέV7SOݽ'Qtܞ/Շ ␢%Cr%l#07esCvdå *f6 bd܀[%b C=e'>ys̾Hzi IW1s_em}e㖬@#X=}!&cbtN$J{IQ,%f5,s__-Qy!~ OÇ\2i̐d4QIk\1Yeg_ZAhv5nOI\ 8BT,˸oVצbi>;P~ZXQ5`/$HU 9jrgx6ۺvm08r;o6JȟZ6=nk=T|e|c~/2dW>׌Q TL 0@o!*5ӝ,OqOvס\+q(|F/Aͩ8P̨X` iKꈀKcci8e*y:Kng7tQ,&,HrYɊ&?tqg4CJ.&J^ο<';7[h,ֹ`<,m3U`tQ?lT e(OAp6ha)n\SW;̳Vs 0QkՠFr^֮3bUfN#: /|UTS2Z+!C~vzF - U߭v/cv I tyX< Janf@|?ޕc79PSyrK{b>.U~f1e&󡍩j٢ہ"{ZΧy-_uu{XVR t r@s<<$=nzߛaogho8s9R%ë4l 'G䜖 !7.OQϹba&Ji< ޫkm@-GLIb P!j-@SaywȱPzCCOkp@moClvyqϰ'NT]Aߥ1XvQjVv&6l!%ʈ6R|Aձ{'d]˭R^ޖw57 n$Ć~Ğ9&S׉ _ҢФa}^j.k:^Qm md62$Ԅǂ< !eQ&^eSw3v$}],nYӋa}.E3''ϲt9*Ar\#4 aH-}i b˦] ~KJSQrQrVXloz[4./opu`"EEdw =#D]fŀC|a&;/p,N&'r"6J0B(] g7jX, c{q$!ěz.lSkfM>O&}V%q`ݵޡC,ڃQ#l]&PqSx [m^ՈK4o!t{'tF Y1Ł,1MM [W@ÆAbPۊ~ Ktό~i׷[C&V`_u M6 MooMS2 0w0D$ xTr0+TK_;cINivGىjE~}Wml]Ⱦ<<[prms]~Sre j %#[8{ kK蝪@T]HcuC2\3*Z1_w-[[>SkyfJ܊hϕjZ>MɴFZ9BMӼEl,J&eš_|^MƮf3 K7 (wBc>ꀄ{Mq_rEV+r)bA %O2fyA p`,^XB+^DBT0D I]|O d!=am޳_Mi>Akd UR L@\~*N /Tr+(SjJ-9J~>A2+r%y@>V#}=VI1Zq[ l46&{LM‚B74dhD^.D*N0bRTqX ̥`2QH' nf|ěal5~Ej݊~#yxXKoFWlY@nȴ(,J@<`i9"G:]f_ߙ]R")I;͡Vy kK5${I+3}&_ ^iKή Sy½hӖ%z ybG vFj-rk< މczNk{fK]|l-Ķk_vў ‰->- D |)J;Cԝc-Qܼ`'+-=r8)D|lK^OpC~g]ҴOyyMy2rGOotfꄓsC6ot;d$V8Z9T.c?$XBƢn29~bV|kd㳆׭NSiXYf{fK eƬ{h7A@Z[K GnWqcpXvF] ߒ@PpOB7\HTi=DKB`"(3u]Q:/a .F˦^N\̾ Pr]UD mpϮ=\L'緊Z}yGOS٢OoCjg<ţIӭXpE8[ Rt) ~;8*.zDft7!vp:P4M MZ $' oxT͎0SL]M…]N+udB,;c }$(nև'ٻ/ܨ]'(ͅb+@梲bqad5a-!KV4q|)UT4ZT%Y7NnNg 1Ba4\09tR(j8^M?@)OŢS8צ]P)_a֌/r:9 {xVL43 H]ۜ.vm'<@͜?~M,'IpAB-UY],~/Ŵ_G&Rx\R8?ORm3;I J 0(-Gk3{96C LMѹ~Ho>;"3S%"xWn6}߯ҢE, P4I>fCZ^MCQeYR LRCΙ*뇿o`*y& P1 :caQTr@|N9xk4cԳQs3)"ucvuzHkםiJ\j꽁fAv;R1?@טI-}Abà )S6GȭTǟL9%Ҁ hgByH 1)Jf*TK6/|NS'gh,BKN( ƌ\K E 현Ip"d@5"D|2,72^^B,x\ 7R .G=13ȜgD E}l V zWnTb&ȿG#~PȒ8d$o%J͙=#h^CT :|:;:uL,^Am~OV[<4%>$v 5y#=u:MleA[ 3DUR ,nP*xL. sL"]rC)T9 uzv1e oB%Kbv""κyyP_"))yfo*dF0fڤ% iD"y" FfGLe*Ez[ Z!9olo_킫PttK73YFF{J:{Pme'Cq#iD!WusyAe ~bZ:Q!tĸC&K^BXĚ<{DƘ["-z5DZM1֨yWkI <jY3#b[[@rir@>A}TCrFD $':R|lï pA εK"cCcd+bgCzi5'h쳀+>_&1jÝîpg[R9~z)}>N7 5-σk"M\n $k5%Uf|oZ#]"Hcz;vJX,a hž5׽q6\LgJlƴzVaqTgN˗?=r'58-Eq =.:onnnpS1wG/;mqYcW!<->I)>٩UZ"H`´<[kZXƢ}S!yBD__ 1<71vN,;ջk.C-y{ DIwo7`eqq>i.@iZ2}S "7uiS%qcQ>LaͶXdSS(M"_pA(w_eZ=PS<_sr(l5) @T]Xy_(LM%pH ϯ-G(IuĦ#H7 )^WD^E 5zw"| hj"m X_l 3^N glurRݜ5a.,[&elp_ܯ]©$ϔA C<͓PK`'DiQ8I.~p1&ҫr#f,mֳRTߨ<,VFA5ʀ';7\Hǽ6-i~z( c3YƜ5GgT(<MxlvmHUDk0:9^Yz?@jlLZ|a{N|z0Cᚵͱ^KlZ9,`ECG[BU-J >{F>[&ŽC 7cQnԣKCN4А9dT BJ"Bhbh:/D`KĬ 6qKn<~R@i5ԅix9$V c˜lBSIsA`xXr4 J6QjUCO7TNy峉~GnG՝OuNv Xx+1A*Pi9R0QO$ZG4o /ە+bA|>GAy@hY)iHuAծa`EdG$XAkQXvjX&U:`X7Vi^:KfE6G!X|L٘LM_:c\k|y3MZwk% z=SYfrXW,92YTM@L$.@!CdKneQ _$C>{"06mhr]L5]W; KX&tu~lSn}0@("+b2G>ݴJ9!=X:I'X_ ƾ6j;$_")?|#zocfߒym *!fs΃r~Ķ1HK(vtv:}ë(;?!lMc)5MwԖ M0'`OW\wVkgֺK*qܼMV1N(aWrE 0a\|,f\:ǗΟGX\؏]e ~zjjSl)!^I\B/_EYT^WQUW9ŢKEK)| PuֽGҹRv=iJ΢-&vUmF7mZNsn]2HޥA$x)c>'`X Q_){h5SOX̟ExDYXBqwtaͩF@X@UZ&;ډɿG4y'CMn0ȿB"w '$JɄ!i* _8P:U`O+@F Z;s[g*1RV--H.p.(3D4lN9I$GgQ0xd?|iuS]E?Gr&^%mP;.=b? 7}YZ[7鱌$Kr$LSՉt5]NP1Qz"$b$Ε|^ɜ)˳ʠ磄nQSiBK-^ i8l3W8݌׍Qҍn~_:Lr*u0MZꩂKD6<<^>]v =JɒKU{ I o&Xdue/ eFaZHM_YۜXl@%f[cNK[uS|+ty7O!kN$m3A~*e FS%=kL.&RɎzYl]JYfIgg\}xNkyZa :V]N6cMk,4Pw:w/Krߙ6Q\0k[2F]aDʢ x$2;H-G 4´٘fa:)1FX+y呦{57XxrI?<KfցmOq~nXi}'8 (djFydfݜOMQ]o%  Nz)Vzڙ1fo``93@)^)SR;c Na49j < (4W;VƒKW7&ؑj5W%'p.h 5]8Ru6Gy4(-Ξ5<f>Q wB;se>`Ӗ; y3]o]E]qh9)6$Io'xjpqKm ; oG~HiL_3XR@f d-9$h㛌yTl[m?[x@4aQ ܊J&i{qb$ON.t}X)migLFecr]뜊_V^,G~\!5-[+*-VTLGU@?`X*-ne>Z?[JFYb@~ڔ9Vk4|u۴%JOHvTtT7|7[זQ_ Xjۛ_?.%0Y٦rHYթ ȣ =?c~sHXj=`7&()KO[Z!,n'eGٚTr zTbW,iK/m8[mSpd̥0T]~/'Mr%}jft8xQ<Ǯ1ܞC/|?<񯂧\Y]1-M{"ȫ -լrf/L ?R]tM٘!QOTNwxx[8n _i^8,Ҩm6pi,L&/93|-ڦ`-QWk"ځKgV C@?ۿmGx82OJ,y !.,ͮf7ZֱNg\2 nJȮ[=~mVl b+X-U[ӊ"ZX^ Uh3`X(NE۹3s[ a|DA'Dn+ t)"8FO5[@<Lm vqrZjM)Lέ?bbt8X$ll;*%\Qlv: ԺR-;5)$Sk]$6v0gd˒!'cţ,3mI2^Sif*igEEp1M굫^)R@F컱]#Zqx R޿NS&xW8Jɽ$ nO"8P7ڶ,˧"AqaH`u j<9ڡw2bDj95?[Fl zrڤ~kB9}Aq]Fs{ުK٩@mxY[9~G:p_\[h5jhX1k"M.[ rsOaV9YY G(J7jdxܘoWSCN]߄uh-S$B_] Om:+[t+ |iJ F7pcZu$uԅuW}Bi!ΒؿuIZ|Fsׯ 3mnfBAd2NaipFAnAvv Y#ԋwC{Jdmjܴʦy[ N?rsiKؖc=MVL˕>(g%]׼!o5oJYke$g/fG N@mNRloI/&!:ܽʅdsx|/Y_B;MAm $wķUj캋Wihh[jBI\mg}g>!Q' ]=dGlTKMK rﵖNqao}K.!iީpf;S~t7n ee}gyݪg;#b_o|-\ /0UX 4$v(i y*yt݊wzU- k1rn+h/$PZamNWWlF14nqvrR]b`~U><ކyDKQ2H>  k}Ņ'neīh=nm;̖|bo'.wWED]ɮ ƐT\k -ûNfn/DOjwԮsTȱ0@wCl;ݞkٷTu::J@`4@=WчtaUyToR>x^[PcwCxꍺӏ0Y1lBrV8xfQ$bLV"36PE Ȭ Cl~^V[1sEԝ3Zġ79$n'?Թ.qj`8\D6"׊[C2zc1;{Rq;2db |l)vMqdj{]3{$Iw"^؈?\%Xk7Bɭ*o1X; O!l/,{Q}ͬJqq2./1Eb7/mEpVʶNyK^!v"O釅LANŭ_XeN`$BhxF2gOFajʕ͛-lSx~ui )sa/<4t\MU}Ku (VRfegDe `X4j $Vc{IpN8Ac/+{L{Hox(N+sY5]V窖+ HD(rkg&&o摗q&O} PzOycsa/ :[ + F`4lEl&#M.mKVeZ6Ǻw.}&DS -0pP+>{P  DW|ł  K >鱘OQgX\0-I#aB=UZ z߇^ e'"M( {24{RBj,Vaǀ"H>X;"f&_$T5A&\R߯Nӯ:F*3NT(¤<(q~I5i?޺'vA,l!3drri~)(e$rM4,ֈGb0֘FQvCK/xEVQԊTb=4亡X)ۋHD/C,79(ԴhTnCxyeHu(8 ^ .@l~< Wwз *7Ns͗2 Ȭ!V k։z[` 骬̫B !')D!JhxBlRa f!rZ|FZbFY-yuP0X!1>wJC |eYb}_8P$, $Uq/<vgVfyw9zJy m["-+|bQ*]%; JB1uqF$S߯7z؀ As2:@Dd.D?c@ؔCyd2FC gAb&YmV+U]W+3mQ/eY+&ܺ 4D*Qjگ-/ˮ-/\ꖗmyٷt@$˰_qWo4tgR* ˜qPL&d}FG`Oְ${oyO:TNA ;*ֹڰ6Hig9zn*kKDL>K(y5ǸD[#k*pIndmm&ntY毐,GΘx\=.هzBՑaau <D4aw`efYE +x.+%TWaÔkauf1g|=+]cOPNt?n]@׊|ĥ F hj6&,h .@]g2؆x/tG9ˊW"пJ0 ɤT)oܗ``ձ}6Ak5* /Nx0cے-9/<,2S[ӹ|uN/|B[M)ĬЭl 51zyy#roԒvm6- `=uy#rR_4^mZ]t-WAkbAlqMsuվb8#W9%)u8+PjxlO=,6a>0yu L>zKk`] ߌP t7)FwDWUh .IBgA3J[eکɓBW n4l/}c t J>*zIp q|7HA3~quWy.1Uh7`+ƕlۘY&U )`%$qGWy7VmpK03&sy]Lo,xR9J\>|hhnxaw, v.>NxsǾ`& H1!%X#bոW>YQaO`-|_:{z%C4vei.ZȢ{cd7'#=-ظgo?^^bDbOU.ǾϮΚ10ps?Guv-tsl7!:xAEM"lFXC%7c{ %7b0?k0T޷x2tK'woѸڧ၃3nl;d{۾fOx+53dfD a$ʁQtkhz~[iOdQK=? *xTMo0 Wp8$v.Kmvie"K.Ee~^o T0`{_ߟ>C͍Yޤ M0LU&J+QdOvLP $0衔[GڟQV KP2Z㎓T-#g֫'!r;נçoQkISg1_Zd#a`ekG罌 4TkD!Y(#j2?F:;LNR+gu QB&ZiR F(⣥qUr-R$%Tp=KgVZ8D.զ"l1U8\uw#}8>h9p L>Lh%F`*eH7X;k`Ű25Drn>J\2qpO*qqJ h] ʁs%d m %-H?8ߋ2M]xI IEf` d+LxWn0+<-X(),E SA#E2$$x&N`̼ٔ;qtơT;i!]Tp ף=h^aAlo4z^mOz:d,]HW_>Trv~7CGf zXrk/9\!/h^bxRR_C10(rjEnqrHLFrN-1 A*/rx3q 3Ԣ8 Ԧ,ͫ;aox?Ree=d7Zs%. xි~Z呢J7z Z-B(~ W5bA0`YӺiL S qQwcZ_j`oiKg#"|NOh]v7 G0<&/ |H HE*e2v-gֳֻy<, ,G]1zIp`QC릷ZvG0ߕ(q+hS 'H3|Ԏ)aOȉɤUc0;;; Z ښ*ƻn>Ucͭv\nUg G93ރ~Uy D<-LkFOgsiMYHoCz Usj7]S EzQ_%WE޲HXز E5DT)rlBi_V> {("_\ߑ+2N$&&cgQ,ǰP+2wm*ܫf*{}G}Iw >!)a Fˆ(بmՒg{Z++n?ޚD_FffB:TuwD}?CiլTf2S*+s,j1փi4<1oc:1Rl؊8l- gc,⿏{[r ;EKDu@[["Lqo+}Bz{@NDAGeVT>IJ},[ Ul>q ˹;.yGP5TVoG%DsJQPؒ|=;1՟FكVD,z}hXjE3z3:@{l**q϶F"WwN92 v(CvF*$Ps'Vs^޷°c6ףM9yŲ/DNF|[j alGoVHl hQ7l# "޳ #zkGEڋtLg; uuzDֽa2J-o՟'k5h{ѓA8raDdN0h,5%`gb  h,T"xZoH_6)/$HI ''z#-7k;Kczfvy^}rٟlr΄Li"Ij1M&yv5Yp넓ˆ;e 5{+>{XuhLrpZ9Pn8t#j%7?ً4)/$]Z͍'S< H֜囤>!x 9;'L nM3 u_$%KIT"60&hLg_t3jk@^r60q{Hں`hk!,ҥR. fj1W,sxiaWa6ǿh<H)ѻ RG]*sR'R54_",97 %1{rT\6uv 8,roǖrXHce M[nT2:={"UG-cj($YQ!{. v:a_n>,(#׶‰쐽xυޅpS?)3OF]Ĭp=Gp]m콡c= q\W,k ҾVdp,ړC| 厐7tA@@XMn)3ལ͛s L r;ª,x *{dݜHˎ_S Վ.z84\n9rN?h-_9'@LݸXiM4ZR,u!bJDUmXM:NIx`cGW\OAp} |ޕTxR Rd!:3 ,0+c9YpՖZcVj"xT,5|y#.עCD,,C 3 8Q[>a}{HBaӀ! ?È%) 9B2sAGVsnYkK/樌y(U^ΚK]7[d(RP j,e:.8;,@H^iq@S!BTWok$kݛ;Xsos`N `iAn1W0d pRϽ']tTxxe_B0ՅΉ%FfYä _q7fc*#t:Mx1v}*Ԥk,#F/;dtCHZ~mľx}DABMBqr$* 66WLhƣB3aNVVMX7wԏsx"RN\=]^0|Z% ڐ{ybRpxZmʌuk| &O/k8, Uc61ŌX'Ϊ" ΖV!lnPӪW[ Zi6!o6!oeytt1A3uN瞊QP] Ӭiksp, !7m-uw~G {Ӗ:RǺ:*.At C~e1Ev73Jy!)xW۔R/{x ZݹVv\#IZ6J(RL k:ݩkwڝYv&"mwڝ'Sz6fct]v]n׵uvFv u۶VW[ i+VV hj\[mF\?aT6בVvB%)\~pOܐ!`$[~]C(K4l(A `q0|k`\yǝ&Ȧ,"P.V'ȑC* Q#aj(jPO+k9=ix7' w$Ȧv[UV=rS\ʴ>Rc`L}:wq*Lh)i*_Oȋޛ^2,/L&:nfr~\9v2WmXW$7ipz-v €:V dӋA$ҥYpF[~?@fYR_? y[͉oĘ; Կ&c<2V] 6/jgrioG jR(:# I~s"r8%zƅ@9 S`b&@>HC-` 67q`fҌ\nZ"˱ki EozT_9𙏿qy!bqsfuY?}>2/dk/\<",+p/5[Q A\sFѸ Z1(U+6s-Nl,UQU8tm}ڼfisn4a?CՅ2W)dUHxTߪlco.90Kˮ>Urpbܖ<`t5yV7zi@/EY9}Su#AAtw2`!Dm& j0` .J^%R)튳P_pŚO ?(;]'[qRsǯX\1hhT}$8f~>b>#T<0X؎ң.u?o3 n 08k6SQ[ew}7* R-(b\x]r۸Oۙڒ$Ԗ=qxNhTFs*b;-9;圃\ ?|:;28@XA 'Wh[˭`=^7 SeC3M#C.gֵ3KIe].ҲO1Նكϗ;o&;*哃`|~OXPx ILCskP8<4QƔ\2DҘ4cs .A`w̘1hEh P ƿwT4n'U3k rTQD$L|Լ Lx=Q$JIf;Lf1$T32|3`aBIrK'$*j7Nr$̻q*Q;# Ģͬ1,{b7ۮu;SZ[:2`Dɮ N 7Q$nuN 5O>P*˽qՉAS=rG#z~P?~Y}׻Ϻ ]}KWG h"Q{٩ ;¿딇c\:hS}Ւ*F5萅cUG S%@&;5| O&3uK-0&`!*-I2nв+tFkֹK0$4v1W#tYdfNXb 66G. 6xWݏ8篘Dy6 MiW‰'4Mqﶋjx>3&\lo_AJQ fIg"u7GORfY:$ k] LkGW{3gB#֑.]AZo/Gl.s-epwEsYcM1hд7k6X"l v6c]RO`H#$قE-jHe I:nQMv:a 9Gӂ3: Pa {2놩OBG}.VdL%;3N4Wk2bh<ȑfxֶ´Y_FS7ukcbNo»%~U]jPw6lUX7ӺjzğhrC}-e ,W7,$`1X! tFcµJ[1Òyɬ-b*tyed;)؜~V&6/ LqTXPZĽG+ m sE#'BȮ%#hV zKء]BuZmf~BYji8NXJ2qәG9 [љ1OR˙)My3   ^y5ce~LGΰW+P*Yj\iKy ZZli6l:'F !N|SѰP6k˩ F}.{*i@xN~cI}e(`}i@P;s?#5aȄo%»,9Mq<,̄o>xx65&v q9e\nOkF"IÅRytFu2sܻn4to&O,>uh;G(H9gT1Z07i!vXCZW{L5rEȅ"%ܩy x9v|bjK> $OiQ&)ĥH̻~`qodo݁\shh"TM1=w2;Pڄ~{e ٛ{Ͻ{05^ھMtZFmE|wE߱ HH'&fDx Z`j±Ha8Fb2rhe?nŔƽI|"%M'숚twymcXӛk5Z!wJkf{9ZO8+vn$\5FtgnUk{Dl}-"sE&)wl7{&l _K=$)W8-w(lk&sIH)|,o!0&K a|qE,ia No7옰 %0LpG>b%=Q7@tjA_cI30an9eXD}Lg"wU%o.=i>Tw)ɏfEa9L */z +4*x$m_fB]^()o.biL] ɨzHb[ >ȘN-? 钧fY ff򪆀hj+1QΤHc;ܓyiRZ]tݣ6#\JHNWdT*t><8\3"͍HUyQmX>f^]uS6ken:9,$vYi 5NbX_):s#|XX<-$+`" #%JVu(nFQ)G/_֯^^{ ϡs.b0?qZK#XqcשCqūY,^ W,[“bvce5,ZUܶAX> #En pJR]q薢p8w/%UޭQ^Hr8Ԕ+J*X[Qv\piVIk|)>`]EY3 A/vxE$G=(V (OU@i$0RD,j{(7-{[Jf'Z^0}-] &Q?2+7C 2R·C.ѿM_םbsٮ* <Ŋ}tX2sH; [S!0vMEqmJ u)Y{}#۫9p@lcS&j `+Z궗4˻)*^΄j7lL{e=Oc4͘#MNǴ}ڞ0EmuMqjګsߵq92K#8!-wwB$5 <7v&Ϳ9]>5w_p됮*̜J9i ̅!|48PvAdY!Ew" œd̓\tbX?|:н9M3&[C#{Cu-qZ<og%`k&(xԮzЎKLV}L >a֍1Qa}Ya,< _ zk@Uɵ@LR]a}y\G)qֹXŪLe3fa4证S[ R VfXsq_0ւWq Љ弆,@8͉ȩ>tXbقs_x C/v n,3} _Z!k-يCr~}bf<Esԓ9%OrMKÕVJ~N2)jU|$YvXYjh?8ޚqv9NLXJFj.a?CAX, |\yzԵD4yl/,̚dά\WlsR ~a~ANPB{En.&1;5L<Ą:k*0-kw9a[ 9|mYw HYlW,o,w:2szu=6*^m[wLnʎ.\2"i#&յ䳒ʹLb)"CdGГ;i7ʬ'g._  Tp.Ó2ijb |RHڞ#<#[$ TTik)Ewug;yNUNBN{ɜ7ۢlF`k'p2 [J"`r&igVU!g Ў҉ojc7zoOݨ6޿?nnc돢//Җ:}+s}/C/#L/H} X. }fA!ȈL9~qA+d: #'}t1!Pt]C~s|t_O=]"]aDH{66W)m{tkv_wl3fuoh8Hʘ 7v"lt'2j}cvo}xBğ͸x:]N8C m&҉J%G%Nvg%zPW٪|V(S\&ʷ#^;rK5[e~%_@\u~Lsϣ6T dk.:yRw u9:=KD'MbN{H=0}52gK99OGX`G7 d)8x~c4~MϘ,HӌoGH  P!#%Ps> 8c ##F/qx=Y7} 4;TamrOEH%H!ܶ`&HJ&R@f "s>ɼ-+*.% [E&3os2g?sy1Hr9 M'<ؼs'1s&IDkv03r')sVpT|rJ",/9ɏ3MT,pgs/׌ c7^_ò :ar?]QG!>i5xFI:FG!ADhi"EH< x VKG*;3PG]Vy*jlP֞T qf> gA3*'<=H8?%>nY2^ S ā{3+6/ҟO[6b-3U Q2## Y:yxqxx `Ɯͩ(-4Q  p Do"C($Xuڿ*NjXzTRCv#yo7*H_X/8xo[B*|]ڀ" JsAf W02txUMo0 Wp:$%^wd@!;t"TUʚQv<m"R2(o6/@G}s?(˄&'@KDPͲ6IΎf2R8>dс` ػ*X⟒ $(KzDWP&(e ?H瑲.1S&.t(Ʊחw<=.S8YnbN%lQyL@sie΄F@$ {aA-\O:]U{q u`DjrjNU`1jìãjṼAƍ׻Am)ɝYa-jmeQ(kJi󻿝F1Q ђ½/Rw=#m$5/%ݍ| JrσZ7.PeT!bɽ'\qV(=j4*cDCҠ'(j3͈LC`}tx#`i}Q? OCԕIof9:䒻Ks}% pByTc{vrHIux的#Q2ibO=DMY䨅SqX<M=ҀUCʓ_iO+#A_淔Rd-}BIx.7+eN(Z1 r tqs-hIyY5j=Hrq`PZIdi\}%pRRKJNTl {[XyV\蚆ΕqZ^78IZ#6I#(\ .0g~pWrPLtTV}.vR64 Y^+ŭ۠ذ7]lar_#` cʭt&`NGe%hќ Ԗ0IeWcZCաoPM.x߈7r{%)HBG@qae Q1tpugSDԽ.Q@V"&@M'QzCf'Ab}0') қ$KD/h r$a@C|6DS卶> D,$x)JZ}>\Ê!Y/[AlͿ<S)YĬbR|Js&䞌S!‚ߚ@OL>|$c?HxvXd/ʲܹeYb;uI[Uoo(t*c[!nG ΍%?sJQcOgV6 o 8O>}/oH8&r3tΎ 7n楉&K**g*jjۍ1oi:`ѤEwMn+C5F+ErsLoin5慬mԷ~^n$.2ήs }gD$M'- ,g-#UG'p81rxCU}s,V"+/%]0867AdJ.*yUzGX#Evan>!e}/Um )i/om2=ncNǨB!!&+&MtL[ /bVa[^ԜoRjEG` $E\8ݨǡbmJjE\E^-[P=>j#34˔,YG]%*bmFI]R*d={4|^KI[ޡxg26CɮE0DIGzeX&OY*)y)*6O4Dҩ%;0xryWdy(hBB06lSPVZ7Fvf)AiEIׅ+TqPzen5َKuo>99*CPا:'L#URz]]D/z14BoS {؟0bh5=xO`틭4R'u`C&|p\9><<8zb!Eh@+{1A "-8ϊΒz2ث쥳LCd#%XV?\gޗżAգ:! dRVMO<,Ͽwr @ur$l&ydRiJ#e"Do9c _f+i'<{==JUm0_rKj8ZSn>osޔ=1#%Mu(Eȧ`c d}c;Y'ڭ6O(]9>`D0^A̿Ao<$1X\V+<,un_?SA\wQ2S$E iPm0DS$R26:!~S?$ӡDA Ҟ]=F/0>-,G*t!3@uTw @uyȴPpwfK5#i;qm o(gB*^>1iTlׇ:A 2Φܺ\B1tBI:'~"&9H&ۆUKAۦ=jU bm9XJ |3SqΗmǕǙ,3Hkx)P<Ղ73€~ ĆkQUqZHB.m"ud2= ;-ug<nCԠke 'uokGJ@^@w(pAuQNvG`?q՛vaQ)[fO\8--i"-MU+!rPg .? {OmKgJnqeo:]N孙i6.@mG vXx6 gYOKHH:IХ'r,J<NÑV{^n]ޥiQs`KIⷉdO+R.8o5n37xiGC$bI?+ĮT۷#/ +H >dAi(MJaN eɞq نJ*{ȂbA>EN5| DgzґpXE\j]^PuϨ|1 ܽcFF)VNnwn&LF53ϺxDŽ.vB$l)j8{b6I _sXEtVͬ,Z+/J1vAR`˕p5HYbXݮ ȟg_s߻ѯy )U6zL uN:GxqԭoaNK{aqQȣEp?+ARkk8';-Ka<ɣuf0vXe3E-kPLg=\ϼׂ+](4S[wp/N PSd7 Dl"z.վuPRCSY8yeOcsiVǸNh_fG|VeJ:sL5ס~uP_Ɍf%f(N}.u8!|oRS x:R6jǯy-u=j}aD1UlAފV{҇:E>XspjҚz+Ԩfʇm`F,6R?m(QNo j~۳4DGG C#Trӛz2]/SЅEUkw^1i4bDp^=D{njTuwe-V ~Z,;ݴKlPG%I&GRj@}bt !|$VTZu %Y1eڳ҆W{-v!ׅFlf I*Lڋ KU0"_VLynMEk^9LAW lz|ѽ[yli:'}?og:s>霊Jc8lV묯NsF">tn<$4 QyVWe?O-]gΚڤea:Y2]N:]S8s]Ѽo2O?|z6t2~]9,PWꪏxTfoAzjXa'\-wMI lzC5{صO͐mm5烫Ue+1e)e|l4oN]#τN?tr8&tit:?V~Eej&ek҂,0`Eyh@Y0$\`ӷoze1zKue#!#-M{jT*o,==:';U39. =8x~2J`3O0ZJh A*zTGe]xHܜMM+   R1(x=rܸ F#ɵw7g#ˮ%{,yo/.a!)k|#O%7nL%k ݍFp7W?}dɟ`(;ADy>g7 ՟kƲ')gyFe )C4,c4لf$8qx'w(o4{w;trvxG~ҝX0N?xndB+J&;AL&ɳX14z##*n(vH"txQܳd3X~Me4؍oyڃ]I)y CsŌxͥq(a;8 G XF|IL9wSgyO_883$ $X$Ύȓk'NȐw)YJpa2XM?`i&q{F\luAfJkMq %c9iZ9l}7LJb?O(\2r}F͔+! vt8L=kXi/~-L!ނ,K`$_/d z4%ڢ+I,0K %rPR `#1ɼ*Y#.0kL-8ȶJrYbR;Su:4"1p,;6Nr7+DYr5D p]q[b1A #wPT"5I0 O 'axHD'B{zH3_?e >>OB~Fw},yW{ cWʢV,>ˌ%t<4c 1Ylls_æoF6sV~qVc(:i,]i1@6v;$R}˞cC>W.BV-&6w^V&\+vAE0'ňϊFGl 4nkih567 Gr/c ;\4 bAd͸ݼPiDF[`UArNs-0 wJ8` 4AX{VDj<OW]RTzK=0Ip;lHQItqD`wxN4ҚJ7\^3y8Y.I-`5,ֻ18d_wnhʕ&u6LadwΚ;IenD }O&d-sfT`>VVԿz(IKY#@mwI顦eLt ]q J2A1\|[. J!F ENSuB%?2\nJL%izmըn򫉚}LaYUIzn^(g!u]~"B Wl#ev\i-rg/ʵOwc]Śp=;qt|!]qnG_}^jr?xh~.9/BB+0k2bbj+6 __2(UDx\[o8~_5i$vv2X$NNH<Dl)R%)7aKRW[RqK|478#S\="ƺwph迺K˭`5~Bn&ˮ,+#f) LG$Rm=`e6c_>;uzcI:ab)4#QHMT\/D3q3Z03e(E` Zqx=H 8((84ngURS2R@M%D3$UIL9fDBF"1/ F$#~ ʼE\hk6bHMJ LW)4hyq:ETOllOQ:9jp)llZ+|K C5av G |`3֯,j8sT͏8@Q 5sBv <x}$5%qLEv7;9$C2?(z ec(2V2@$pXSp@OLz/'1n29ez OZ@)HtP@FJ ~?aQ5&<;!^M Ɍt ==@3xUKs0W,:.9^)rXDSYRUh{ο v x2I2qy}q[XQGbTg6_חj/7(F4X2ie0V<zV WAQX컺Uy\l/zʇA\ֻ:\ NT|5-.#=/vWc›z;q K^&vQk'Tl88Q3 .~Ov Bkç?o>F5"3zgh~|1 ) #;[TZE|Dnud \;(s9Le"^q%?%RA'evQ L2uR[dgj#DRZGA6Bc"X!'T+}(3DbgӴKI&5 5hbwSD׮$]Ҙe@z׏飏sG˱, S:;;u`6_;O`/\Ta_\um]4pg_;//bhċxѽ> Pgv=OxGf pR7^2Ǖx)1Y')vgoq 6mH)KM2ȹlJU!3r(%` Ce( &*pT9`4@͝vh5- rTynna8Q3-0ekPC#T'JSq( M@Ifb7) ȕİPEO i6nیҞMGcC*ޢ[bK}!y@ 4eb,v,' 1gJΠҸ >fNAT홆riOj1v/KC%/E?ƸE!O:ʊB NZa|T%|}صp?dmqiț}~RCﺞJ*N˼LbgQ8 WtqZ0B["Ş}b3[S䐰@DLق V@ P1#a=P 7',\dΫ$e5ˇI\8- KK%5NxXKoFWLyp.TTqNS$NRȡrއwv(YeIC0oת۳˿a@eaHʐ+$9@I;,uNav1:E[cPͫNx%hV,ڟGC4@nYή%L4̚1h+5Qk͢;O:ު66Y7囦RqDSNP&\Z0{B]m[xfɞ?~a^ 'i=ϋ;2=4w.Q NhoI(rVf<@:rƒ~|u[p]{LW^,Y]mn<6^U甭5ջl[]j %a†zfK ifݵ$ rDP=>Obyjz M~ጜ##Q S{{Z2lG?",m5+LDp3Q,,Ƅp*a  X `9{lMoiXx=se=#|+*K_+D3ki/yKmؚR~Ҫȗt~i(h!)p7HCxJKp%1,X:O?".|!Lɭ|{]seUL%Ve }8s04qo$<2NNCL -qmfNé&_lSxiű4_k<ܺLv*呎*KjEñwR7̟XYYQ ]EhIߛT՟uæ4,5ulOOU7̄WG8vq!APgC(ܫTKMnSsr]>nvū[ho`UKQai0CPѺgu{HA.IPbIz2.9W<v" b6H gxW]O0}WmڤEt64О4\۳]i@H0Su|9M8;Ҏ8]?V7 {Y>fOa/b4Y&ax;I8CVR"yh师U=FdDuZa2BK ¢gqj%mz}acvzݺf o @@;zj9pm?(sF B\Rl>8*\5%42RikFx jVtf"b`?\jw[Q6+YN*A22DeFɀ# r\J\}^Eq{bWsu^o&hp6m, zU3ȃfW`gBK`awٿZcߟkޣD~=0k c <[=O\VpUrw[nNz}Cc`M/.6SF ߍ3744*h5=HҥTGLptz@p$b q%L)1kz) ܚ&4u`ӄwBb>xEop6탰sn`/ϛ .>C(oa1/7@V֤TsWJ3P ˜ w57FGtze bYG^%@]WÝϝW6!Ğq(H/;77ƁCOT? qpfuzUq*䕑Wͪ_뇾+xElcAnus}MdS`C;;z튌m52S ;V3&DZp-rh]].%dgk#Fک<#mp_IwJ~:cn]Q#_K)pַTֿY gg80x|PNG  IHDRaJIDAT8]KL\e;wy1 tʣMZ"GB4I҇ XMĝ&…&4q6`Q iBLM1Z"0w}.p}}9>U %/!of͇WEmش,VJt ?L˲_˧qW^gI@pHK"H96ҕC:8CCxv(U7낦ҚFȵO1]Q§s,Fś{akw<u@xC;::n!q1ܙ' Xr E4r ORϿta =,2<$k>ZK}iNϐl6 Y+$I&}~kA, 쭥HR=r AS b YQAҲ~JSE =HΕE%TY;Y5sϬE,"" 1arheSإ)1z,&o?ȥPW'P1n`Na2x%1é4ڷiz컵kz'jgj[Wѳ޻g#|¯ tnyi} mM=\iI04~#A#̞@ %ibۺGY,RUKMN['3o'8}_hl$9LxPNG  IHDRw=bKGD pHYs  tIME*5~TB%=~߾}VzKxkAyЙ{JK,+K)t@yb"Ȭp&`!'VR\l@`S#p)E?k}'nRƸy4a!G> p]!W7EX8<*ZBw+A &8 -0I%S4iG,x>dsBo[dxư'oHY#O (0 ZVn}k_ԀI!nA SkQ)b3e:,r@_\@4$m: iD H( k? i3ܱ!C#zFp"ZļXƶS,L;㣜s\<{ ŵO^ @+Boo/y0Y6 %o=m.Np^fxEl.s '_<(FP=_z=##caSoacpOSVm(Fu `;7#6")+E+EҸECxFvnZ|禨V jB3}GlWPfupZ#~k4J9$!!P+*J_;'?~_ajnE\,G8=] %9YQ:<+Z3M j麷)Wm~;vla&_f4YW2+(@nc<WU忉Op1Y/ &f*ԒLG{`C!Փ?%:~4ހ^-! G#hlD}Q.KեզŤ'YqWS=tHYs䲭= :B#$&8pL8 ?,QOѪsg/=poL;A.KJ4Ovj/1b tMIK[ؑbx Wj"o!M`2t\}̩\?P<OJqv=vYobf$RWqjyxQ2{K§Y_+5K RwH9]doi:R6dI?IENDB`O%DqՏjtR/E6c{,fU+=1hHu[Gc@>HXiTͻk3n>A@ O[r@!d2YSձ_^Z 7{Ƈ|Cit掮,~H,DGݱ$|(,>VO)MAH@ڞn"1@=ʺ"[ηō- $UHsDV!X4ǣ;{݃#즳~y[t==z̜"Qv^6[%gR+lv555S-;۶@׭߳k?Xׅ~yU;ϱp߳KmiVOjBz#n<"eHDw=g dO$P$XI4 դp1 (RBJO:e90V!-=CxLdX"/TFMx&TROkxCѽdNfrօDTQ(} 0'-Fwr4`&tU_5gP ?lHW CnF0s6Ҫ^6Z<>ڋ,W04p_I2s\'㩗AWYq]@ٹ":1BDsUOtu+.bx(]kZy73M]-ɶKP B% _}fzQ*XP<\p.7\fN 8" 5lj|C4HzIp]ȍ`u~?<^pDRʴ˞o@ 6cǻw|o_x !p4wԊڙ, 0Ud]->~O;i,Up\ H '҃=9 O>lIENDB`d ;3;m=^x%PNG  IHDRw=bKGD pHYs  tIME %ϜgIDATHǵV[oU]6}3e%jgh5$`-D|%>F#&F 6ȥ)Zv:t:3Uxb?gsf7oe}AλkAwmCkwC=y :p`%󼍶]B$RU5(JQ6)!OsοBtٻ7vM=wFfMsS}KC+m|~eA(KH"!!"P5 - JKӽ\U}CC/-^|rvv@.8P4ApB0RHVA3t @ww7Tbuc#67KJ-(tf!y>AVfk,Tft2pcchubR6 ;S JKzjcjɬ`<h FwVѲpSsgoQYܴIn~_$i׼xˆ ,YZF܋?{ EC {sԬqM˗6 p׌Xx{56qHB| -[U((/S Z4.5{xttUJeH 2|χAJt:=݋K.8Xn)hdMu-)^:uyK%0 h!H`]ѐJaxx>10PH }d>" fUK*SS]A_-ߙ?JՌbU8At}.8TEA2ˊ!30 1gvtPxhjfyM^Ր C?ظuuuطTl#1PJ1 ֕\ׁa/?p6?>ֹBD:sK1)UUa,]x *BA(iBµG>Ν`ؐIÊ@B+0ϣO{ ۶[l_}@K:cEm$\'Ɩ/R&?#²,0BBH\8ls( !]( @7 Xh4 ]D`t]s!bZj5&J W % C US՚dMu cA;by U\"{M& ͅBPJ* ${D(֮mLo_Y̙3:;;.\+ UeW}\M@{??!kDžT*n߾}kX(A]y$$*6mMO8m6-[4.xD.gg8=cb"lvlsY[v*Jf{zzNOkkkDb23==}o8 #QЍeɥɳ*K#^ޗ~_E__QMtMQRH)<}w'd25k/ `2eIENDB`ӥ9X"IDATHUMHcW=y1%IMc03+kZn"ųAH@#E,DP$PI@ L_b̏~]tH5tS(={=6oA"x_8Z*++˲"d6MW=5L$}F/yv8vvvn4ĩa`` [eFFFN]..kwg) ^ ?ܜs#NX%B`/GGGQ__.Ȳ\vok3 RT{Ael@HTƃU|SaT1ؖAՖ> !`v_R>\^^|(njnn&I`0EY}.#1&ZMl$I K\0,[˲X,z/--X,T( Φ˕xHӑ($"tedmh  &mmm4UTT70suprrj5KyPSSe;v~?Sbm{KΙ32k&I'IlƶcR!*"}ŀłRZ*Z(b%j23$Lf&99sCڊ"z[|o-XPc#'&&ӟ6 !D<=4;96:F=@l{e! 17?W8 LȁloWzbpojzݏLN]ddb^,m7ԫ2͖ dg'|+_s u[XՓV&i6mj&-o<K ,%iEܖEHF0k>gWg~"Յ:g}KBȂ,I(a!@H BHRԄ{{}Om[%;3 )@  ! !R RJ 56tON%:;vtKql2ŽRȇ*@H@8@J%{BG U`P&˗*yrݐtU!B 7(L -BJEȑG#zz.ܾwFrvnѝr6H%Q0UIu.JH)PR!$d P%>NxPNG  IHDRw=bKGD pHYs B(xtIME  .2οW;:u,vݵR_xZ(A!t9s^\ 0;(=o?S?}=S'$`q~n? M4lXD6^| 팑˫x%tƕK\7y}ɑÇ,k||G;{+O|C# --`@i"J6sOpgyD/8GzČ$lR$5@<q /hIdz=ERo@J`G^b6V%<3q 22w:SX,v"I-yC!X*Di9v=:#$DaЬ_;'L `uBeMIuOcG=74<|j s7(jEjXI"ƒ!NDb !aTl2E!FFR>|5^D:T{rl"9z>r0LxK\FHA@ڤڪ,h*u>u(޷`YJ~A'Lc݅|};?yFe 06ahC: \5}ã aKfɻEyB"f:cVQj5!Z+Vx!O S.չ~*B(lV07r^L IaQmayM]7B m?F "?8Mȭo"ssk4^˻Ṳ~nSO81hi4C x^!0dy;()8[vxKOo2CGG_~/~4 J6m6A!N`Jyw,S3x˶D?]fԹ<ĉ(~~ƫyƗп,R1k.PxօW {;w8IENDB`> vvBA/x/PNG  IHDRw=bKGDC pHYs  tIME5 o@6xPNG  IHDRw=sRGBbKGD pHYs  tIME1 `IDATHǵKUAǿsW̲ !p$ZE,[ bwF /}^L^ǁsΜϜs{zzpny0;6H)B8ѣ5Fc DT9X"R D"mb! !N8CU1z)`Yv1}Zf)mXe#R8)]Z M)}46&#@7OjFW*"˵]\<ՊާJT۞\wRtSm;u OE`#mnVW'秐=5.ljz\ w1272/}t&WWxe-wq:`'l|+|><opjq7) [+)dԶe4 njA6P80?~G@:,h[-Ha+؞ɧg_}<P1 J)}%3.+t^=x{ג0==+}{v׀fZx&'&8@*0ǽyg_PJԩf:+nJ$NM;L#  Era1qIENDB`2Q!ZIDATHǭKle\ۍ;uB&Mۨ)Jhx Ur!. \@ Nq*#HH)T"0cuw㮝6Ů\7`Ѯfo矙NH$gUUqo*YJ>ae1FGG|>ib p`š!O8f``00qPx<4MRlR \ :iLMM177: P>,"Nvmaaa4Mn˲dY^^Ʋ,4MxppQ4oX$ϓdyqKX'NQYUU, Wul&Y4 ۶D" ^gBЩJidY_}e˲rwP< 9׋eYiV}jeo[B?zE\.S*.5s\s`p}އ{qܷO.ʫ?^6[zln|mB4W+mw"0H;?Z:>x @JU@6~W ?-d;Ds[aA@]^{+"fv߉7d1+4+cKB aNkB<}w_b[hE9,bR$\ x?M#-eqwnnhbG6p<(Ufѡ4&kw !5ѣ꧱P]ڐB6XT h@DGp%t]R~*- t]hC{4'9yLN^I{"@lӗZ!˱o)&{ 8o]uݗL&ud2y5 zt IENDB`Q@ bBHOxOPNG  IHDRosRGBbKGD pHYs  tIME /$>IDAT8˝SnE=Y{P JCʟU!O x+K$*Q!Ԧ UMq]{wpMT=Zͬf4gw7p1 Aj.fs0xR(CAEdi,D ww#$S+4'U(4;߹6(Y'$H%ј/{ 4>OIꦊ.L e~t@<'!T3Q4Y $@2` \"* c@'G83'_Z8Y  p HP݃&U[ <=<8!hK9ED, )zf4'Dhcԓ.?(@b|qM y[@:x$* &s#I}JjGUD0X=&{pSy$cc/%:Sw]Tљ癩/MROpVȤh,Ǫ s`mC]9g?gbk>a bԷ؟zffu̦.AGN;` y6RpBӁl_ޞT,whg4Vsg~n35ĢW{'\;xqMwd㺗SzO_U}Sk>)k} &U~7%S+_,䕵?2?_2cPQ+~fQܷlv׿/]zlmhťJIlobxU[uSI-0<]\9%4ZoJCx sb``p  $) w'ud^9lI. Ap品" 0kPו6HdkDs~nnj^ sQjbIjByfIo@x#8*Oǐ <GV}/sxWK%l/^e&_yփd9Z֟w|Y]VwӍE)Ζ+ B}K}Q0l f-b8y $g[uS-E ;,C,aԣV|V0at^mtMpéhpp|U[ٔqڳ!匌~yʵ\gE7ߐYPy)4/u^/m쩽=269Wh`kBB1jG:S) /dw"Om5RqÔ(xlZTGPJ7b;0&_ A8L'>:Fq%UXKJ)]k 3bzA/?X U/WPozVJ@1""bT3J1o-T0^G);ԃ8R$M 5K+gePo+i-#d4tAmG{3;]@֮lh=.3MCg(c ֈDdӤTrFԀ{Rvlc- US( u+@uSV( z~H+Qki(p.{ T8p9O?u1wVRzlϧPn@[f.]<xޒ?]I+yL(-'R0/4?{έ<{фnض#V~# k Bp'*$W~ٱJ܏".'`@X\s:6a?T. 錽qnzc<5h~ݚW?ݝʇ?SПR=_:'sZ/\J6ҩ/ >E<,Xt8AznxՂOɹ Vѩ̤g( RΙBDYD^çS͞~u--dmQqKpQp]()GC`UG_}%LӔ?^gң=f ojrNR]ځկ᳇SXnUHp,Tq.gIt\X4Fu$'NG(D|IENDB`=f KG8 x PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`XF4ExEPNG  IHDR BbKGD pHYs  tIME +utEXtCommentCreated with GIMPWIDATHǵOTW;o>v€MVD҆0% FcLtQUM4n wn솽.Pi56.`2f1o޻ j$ws{H@)(z qW'{? ?+J[+:%&LR$OE7|ay hٳgHc b&ERR)ǡR.GE4x4PNG  IHDR szzsRGBbKGD pHYs  tIME 6b+tEXtCommentCreated with GIMPWIDATXWYlTU{m8!P$Ұe}mF D &b01$HHx񁄚hdi1DIQmtss|!VPp}d2ɟsI^x۶)9Zk1oeG`Ym#aB"mS.!Ç.e.B eEs$Zk,B)EZEp]qPJaYR) J)JRJkN) An-Ֆn>mW[k*kH)Zn 6NO?QLG풖0E1LOOSر5wknbdd& R`YdZseRCCC6qҥtuu嘜dhhl6ŋ\zuY\r% [\8mۦ ۶QJI,DX(oqL&Ñ#GyM=blll9יLL&8??薌n>OFα- nUuux)z77ҲоNn޼+RpqZYާ9t> (9ȭ:5gΜ޽{b1fffx%!p]rL6u]1.a61556FNk8K[[ǎc߾}qOKK b``t:ͩSZsq,d2Ҭb>m $N>Vؽ{7ܹbtyybq*j6^*l:Su,As#8j j5JKXJD " +cIENDB`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F"IDATxڔKTa{SC%Sr ڴhSPQA)h"[ ShA(b:8w>- Ph9爪r>_,KjSH:[tÿ>3 f4jՊ6Xc.ibP[n6|'LŪRCø':hLTPkqgա|c@,hIoUIO",$hkظ\x٦Z|=FԹiW_0"!j`RҕiQUsҩWkY ٭&ީ$ ]vk;E &j$hik8gwpν-F}_Cv2dGuALM14A R?!x|pgD8j ܝ#4Ƃ7;Dיԯ> SsOVXHF:^떫zՓr&!nRwp$ڴ6 ҏѸ_9/{k"G;M?=7]Z\XI|\d`?͝\kOl$'{/K[Z~v0*ZO*($*ecmJD}hÂz%dBLĠ"8OJ$)>Ï `!0#(L@aT;^ [m-Ml)<^ڙO٧]k orӝMc`~{۟k<3ijj*xb,qLCNf#E3ĦXVb(Nì>aJ9EsnMB H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  )IVxPNG  IHDRw=IDATHk\U?sιݦͯkm(Vˀ҂"h_$}2HhxPNG  IHDRw=IDATHnUUksZn[ҖHMCB@L$A1)#'N/0G S RJ56?fp&iv;pasfs3wF~+Zq #X8a #cG <MpBRC 8$ F3PUR4T:zgX\T# S*dШ>1_^2a6ًY}ߒKEI,QTs^kwozėvÒEd%fJGC=۷{~@q0,G?!R 6ʝkkOZLxUVHEyJ<% غ~wmŽm1 գj@.*#s s̴tHAY.rqM8cI2 o6."rS @kxL0Kl{d7v~sJBخ!_#ĬCsŞ4LEvh[ xeU/aMBre,ISM1ڕPYjHg t{i ._O!xusKIi*$RʾV(;Pw:lP3V fNt?=A  2@& AB7Τd2+LS! GO#Hunl8bҢ~'aנEebv#Wym︎!Vg Mǘ{Žh4 ;͓S~ZSF1ֈuއji:Z{yd5s ]0AU۔3D03NenҠ Y:nuÜ-ٸ sBK `yh} N0qJQ' 1%NOb1<&i+L(7F/0\f =0M c— ^ `TCTеV+OZ'ԠC9CeRBQIENDB`_0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FkIDATxڤۋMq?k޳9GSͳq)I)"%S`P1=DSSjxY^)^C\A39xKXZZpyu$A4P 8u"n0ta@BPjǗW yb\[لߜ>8NN|3(ƍ TF`&LS$)W+G7 ySg:i宮$:::7u!c$$ RD5 9\M1g?ǽ!~4غV:!x*}'n}(]uC;q&BA(n`\u'T\p{졇 ۷c0a B@Z˅<~꫘':8q~7E&ShjN@U#p.^9s~ K$m|4oFQDc18}sJes=:(EmPվiXæg,UF8|mO aFoIZ-e<N{%Flق( .$dm$=h4P0Z{EPUEae2.$[JB(PdK%6L>= whB@QHr š[ceRȊCס*<KpɓΝ=rM`ja²,7yӭ;صk@̈;t<B$D[Bݘ:qX iQ,/.\ ػwI,222Ҹю=j8Γ/^o4:17$!F)1chO9ئtbСCuK'_TJ$w .rR&s[ J5U>oZWԈzngW1=Q#jDeR* !8c,}o4a.oO t]RIENDB` OK"$*%eY%*Q#G wo{~Zns_OL' /qBaڶ 3A J$L6#@?u:>:Y>1jRn9 CABp.|Cgg&D4׮"Ctwu>A)q8אָϞ; 3v^!(Pwl9<σl78nܸ`磴ZDDJZHPސ;Z\-Jvu 77>MxTPNG  IHDRw=bKGD#Iw{ pHYs  tIME[8IDATHǕileYNKWn"dB Qck@R A&&,D%@55PbPFE.r{};?Z "M&9w93B4v[$'BQO)VLUYYyS6ϫ\N- +ۉ$ñ=ۺx/,7Yְa!B50t PmΰX7֍o9IENDB`mDA8A(aA( 3Loi RߎTںɁ+WX=J -iYmcRY ֕-gtC2BQstP]=5^_VW|yq.}2SfϤ|- U[޵jKD(AENΪ]QyQR.tHل mͮO3@%v$3ILL)f$?)]GĜ_m]j݉aHksY-: `dFeYi#!ڤR9i)Y y_IlFQĘm8E\:4{otQYK,$NJ 캁jUɤtK#frDQޫ}@M=#L&d]ׯ,TG! D{r G%݄;!e5V,Nl9a)cDkkea~t:ښeo kv +-jw_V6"sd+(14G}E8ryT-na9q6Nr} VɂO lgem#_4TYKFWn:,f&L_BwFFyw ?Wx(CR-C3g<6^TF\9u6s?cƻiѵYΩ-FT~iT -'ɸn%hjGutC8)_޴cԸH:os,|.b /( Gpb6AB^ŝL^<Oɷ?\-Y^]S6wkNS^#%Sh..EVŢ C S &|Xgˉ:O\X{dShyn Q~A{_>^+Q R$KXG.~m筨&>2bIENDB`%k JJ3Njx_PNG  IHDRPgAMAOX2tEXtSoftwareAdobe ImageReadyqe<2IDATxb`a?R|aٴYbϮ3(//zԩVq q W^V㇏ܷxe”xqvmff6 ‚¡X<| aaa\`pܼqsڍ@O<|<}/]d={VYYi@ō]\\]5 EK?0Тpaϟ>d@[dgg'П޽{@;S50c@q4$led._IAAA`=90JJJ@񴴴PXuϟ?Y{ùh EKan -o@cR,@?+**f͚89'ĪMV{ 9 m!!!$9sFQYK_XQauI)mx }]ϟ>>m111ren:a`hb)޾}R5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  @AtIME#<IDAT8EMhTW̛y'1HpaZR)EB tEIp.\+ n ".\,TP](nҴAbәL{|p\оsؽǏJ&sH\=ͮ;ĻwW_WP=ZT3=LʕǿL=Y_GAE {=lL%_3?x o-..WWANc&'1,a|吩) ؽ%[\*[.|U_qσaiAI;-߽*ks~/0(nk6V8YKZ*B*EMMUUV#*h s"̈8rTbmk}o|*KClj8GUz/^6Eڷn!SSU 1Z'LE2=uj0,l]F9NRsJQl"yǏ͛Pu:stRvC CJQQs߿//4T9R 9Wg GƘqLߦIENDB`G f:f=P~xUPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd3Oj x _PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"b!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻC<e;?TTTT6ݵan{4[>ɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  @AtIME9$jڂIDATHUˋ\SU{ M^cIH"F ٙA y^?R "Ƞ,R< "(R<=GO?n}T,% ;SuΕwߥy">i󛛿US.bL` rBעpe4w?Ĺ/|c?׼xLKKQ4xTʀ!Lk6V`͕IL{\qի3~7ڄzh ᰆ=ѣkS^DFBu,vyw7EB,Ѣ@MoSh|9x.ysQJt:>uʹ,:3Zsz& H1󀪒 Ķۂ $U,t {BtDDōD++;I!*`P[[)"Gj?zc9۽Y[}VVMQCƐ!dde`0bB`d8u>ݻyE"}T"(42hiOp(bZu:$_|ē'm-l^Ɵo v2`!z=c315]z`բw6r,K{R1; ea8Dj5i~ -iJiJ9k5J&!`B`ݙTA IkGT*ΜᗧO3ǘ) _߾?.,C8td""TU51^GwzEz^y8|0:Dp 0ekŪ9R8ytJƑ#?{Et{j!6Ԝ#6Ƽt"TlcU?3;Cm"޿ΝE:2ZDT"oߠfR[|`i s&%!U Ρq1$d[[w~tJ苈0s֞[KKiK[K@J=`EȀy3:3EyϞfw^p!}wEo̯MDXVE?b#58@ d"7_q*jKFO?ϟoކ1sƹA$Tѱ@;"-o̵R_~D$x"睧bicNZ+F$q^HT#Oܷyt8^IENDB`E1> m]ncvRGwqj'zo]? "2vGnnҿpF԰?֌v3E0:-ZLOwonEFpu >}%҃R?l}sdL4 Lqx2@1 ҭ"\s+ O-vDQւ|`{Sfen9pu?{8((VVZmx(ׅ6.PgT5* g]Xy~S*y݉2\}א\-/o4_BZnj 8#TZ/cq1\Q1M\M]tRjv`P1@JQX!+P(NO_8/w Ìa:IVeBSUPBA0@i붥~WnWW|Rm0b(g0T:vTSS~HДnDW D# ۀ0T}0&Rw^SO=REDe6I}i6&-ؚJ(\sO}o*9O4jnN^軬`:fetC54*z=_ i" <E:ZsxtYi -"47be`phq5׼+_DlIENDB`L  QxPNG  IHDRw=IDATH}luǿ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڌkLW,PZ0K/D` [ n-t37lED̶aN>,~ZT,ٌɾ(Bb1`X#R b[!OrrN#(³f)`ŧEsTWWVWWiZV50OQm6ۧQ.Ԝ4f^P$A"Q@>Q'!;p?V5PYYXVpF,C˓+++'ڢ$I60\=|؋qpmIKMMY(++K:~PL}}=nN"F Ż)xFuuuo^eYz){%v"''梍"BMs?n^mIJNl= KkfOc8Nv;MM~=wϔ, /KNFmbU pq:L&iiA GJ`[BgP"pd->@!$$l, JgUTT d_b,c||\\4;D.\DL}r,xnIn$^_}Yj:`G!ɜL{uZZfVԡjSh±feb0Ģի&u5 hTƒ?--q $$atxѱq 2ccDhw=(ݳјh*ijr#!f3IIIn֭/**QFE/;Ts ^'*Vcl|XD|>?w\.Z:@JJhTTn`Xz7-G[]]$IFXMFhmi&..nLfGtʕsTќp8p{<&n&nZ`dŋ^I6])mll].׎bтleeewO @d:u6]9} q.$ӟ3xIENDB`Y %%HRxJPNG  IHDRĴl; pHYs  ~ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$CG "IbX*QqD2"B)%d,>5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FC4%LEZ1;yj!xvXJL5GŸpe7UN愷]o_\|b~$?Njct>}i) (՟~G ,cL־x#R5pPwCK&CΩcPiޑ\qJ^פ֟?sЅۼ ?73&^c^t \ H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<0rr*YU[QREٙwI@[hl1i~zhe9[8 TeessnFPUӭc<׍yLD}mI OG(Dr^nԕ47q+ h]Hδ'S'dZRHL_{ u>6-qIO(DCi) :&IWK$_];*96}k.0~2!^{A,v vFϟ ]vK*eg ]iik1My$ͽ꘸XOyK\ 1w Hna!ః;MJ~)߄ DPKbighi;{h)n!Mn|'9׬A]e $]ZuϽ5h4&%j׈>V@(itm((Z8wVX8C`E.%kxje//ϟ7v|NHdl 77gL2HO-cKJfܩKO;X"mii)5?PcgfFnvd #΄Q7l)驧Syw&.Y6 MHKK#щ ω1 7<3{>߮>IUUTV  VxPNG  IHDRw=IDATHMLG]7"NHPH6PJ ( N8wUrxPNG  IHDRabKGD pHYs  tIME :t'qIDAT8cL`ڿo>3%3wE ˠHK?yΝ;300cr…'O?k3*"BBܹk 9X }ӗϟ//-yP[]CW~._doػw+/^y6ȍWmZ.&V.Uϝʕk2s`ݳKCBqoشy^هDX0\tcWUM <*/,^e ^yۻ8eeHwɋT3./0ƎS֬[)e5]Ԣt[]]'gBۇ";(N6=oM#vS8E`M$3xiS M IbfYD"mb-m h"f, jz@)3S=H$ZTś(dE>ѧ֝3:*XY-'q޶c?4I* wezz{XCǗ>/LEb~IšFUщ*~čPR\ |@wԕpLfPcjG1|P݀(QV T҃gHKa;:ƿk#ZLCÞ:8]N|>(N.LzhOb~W[>pVrW9ae-ϯ.̑ɡ#zd$=}0tJչ xebd FYd*H^^T-,4MC. Y-}-<'+Ӥ\ $JO&> @da4fn!IZHCn !u?x]Q#ϤԥKRP zof]4p Ƅ4Қ?rm"ӗzZHoAO|",X;X| HEE" Atr?00F 7s G^Q@cCMMM577~O&IENDB` ^ 9X&xPNG  IHDRo OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\FC03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME1i0IDAT8˭oTEƟwΜ9_%B0@4.XL3k21A c \@$X"KKnv?vi{Ιy8-x 73߼ϛ̼xxIzi n<["V5[Rru}L@L H ӇNg$v\!` Xг  ""A .$t;s 'vw<"m+" m(6v ZA$DP&Ғ#' A$uAgVВm)=WNf  f&0ACHØ 'l򽎑(s,va8(WEGvfBKRPӝ8ytA'-pz~tQ/՗#-)wn5_̭Qk5[[ԀAB'+sՅjȺionn~0 Q*&&ƉhwOBP,%4J rܸ8Xj}#7* qrlRjvvАdם؀zw~|8)8r+WFGG??{6c˲| Vz{~p9̮EFTͭ?aΟԟ |>KRgAcXڶ簾ggMyPo:gNVέo9tb3{w)_@tѸrF(v 4 VzIicfJ ##GM>xP. w`hdzkb_? w I{A `#e[6؁Ո"W[O7jήZ9el.nc]Z]$MƵ̺X@ ^3sRJG))R&vF:&2D㭯_J4 !H3FF;Wr9NvfDZڧ4|jp$ >G{WJ麮--a aIVAq(x.l6/]t&wNP]/Q,^±1)%?6fE1 JR|>&DM;lIENDB`8RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME%#{GJIDATH}{lef3mC K[n",FR/(^Ͳ@61k`]pFcnT$@P j (ePzv:Muti}dGH;SW=_Ԅcǹ8ٙ&&(%d%g?^eM3X>X &>VM<㥦cF^uu-D^ȧO\CͿvEț3AclAX畓mިkլ4oz &xO{:=wTqt <>.9l>J/e +nK} NaGٝwqtpbJ&fy_~Mse>l86xbLt†8}1JKؽjMS;On=N^E@/xAyPUplcMn2${cؠJU Q@ Ơ"_RP'~ .ȸ1e!pL.y',D(Pq Qt,uypq/2r/B"@FƸ4ZWׯ<Ϗ0BXYv_')Sd1 #F[|oVz9UP:bGAn ¢ƒ=@u܀:xWr7}$$v2I_<δӘ=N9Mπ#ʱ1_:\NEikov&O 4}r ` }lnu hXXA5~]WG+S+]wb'bʤ|&c\ L|+czˈϮ[Ϻ?WDf RXXHV0`(g⟝.0P "4utֹn^?_)e4?xBC46~֭[ 2ډ1w@,V.奋g!9r=e($D]7MS 8⸮x_my<<}pAܘH_oX@Fƨx߀/dc g[@8;_חAgg'm&WVUU.㆗)O:"  ߐ_sFͭj m d'p%NHuP|Ri#jk/ H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@+YZxPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxLMoU{$mR.@T"A,P$ĂBIJ ]bV"X!QI˪hhv3;9y_} "NU8~BDt6ݎdæӧNrB&"r:j7&e>J)Dk-}N{e{.I=sY3ck-;A8 pdxwZ!_z N+_~6X0FS DP[[lxz/NV=bFk29 B*8!7>-ac 0FF);R'4%}rIAXk֒)6uåm G F*qDZ%=6(}` M`"NyiFkea0H)&О!0|M\Z# 5N :]e<էIFpbH&᧟7hmnn4(hoɍ" ZeDQtm [[O>~eyy#uP[^}Axa48Bnkv07ϵ[/rp/P*8:je}nnnX,^Z@Wgd 0$ڒ2 2Ll0IENDB`JB[aW}g_Wl~<$2]GLϒ bG "IbX*QqD2"B)%d,>5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F IDATxLoTe}wL;fڦe,ADB]9@;IXqFw.R ihhRmCcK;mѡ{b>9GTU\w9H$ZJ2l;Q]yO{DTٹwW*++l65"X8(4]]]ө;3Uۨ*27W..T O1,Z@+Å2'dDZAD@QmojEbxU׫^-1ck0";r@XuJUMX#"xZC:b84gH>ߙc-;9:.P7w ٳ'KQg_> cӎ㍟xcxll8v +ϣt$rJɤ1ՠFdpT*kˇ^TRBX$Ǘ?m>gHڢS(t[[[Sc=zOR 0~ޡng3{>xBu%zuzkߜ9q8gN& #_"BbZqHl0 r dllvkUR).ݸRz?"-=  ţ+~6f>'ι'__:svH_?'8L~8ɡ0G|5w)"GFF>+ [F+C8d]JUdkq0)"";l.y q)ʅW/m&ݝq׾+:| mIENDB`ñ 7\r x [PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbĜ[ x PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME .!HIDAT8uo[U?l'cǩ6DHBG*Pu`P`$V`(ATB:~.qÐ|?G"4k^ p9MӇEDgi:f]=uJ)ln""arZ2].0 QJ "Xkw:*cci}cCk-[qx t|֊K7>;VZ1jϞP (d>~xz!}z2Fk6(J"r؋$N'cL15J#&z=rIqZ8[wm |!ϡpi::3C&7A(mPz?v̝:p֫Cd [6hњrYb.{wi$e9RrAljk}2Gk#.SSSd2pVхG̿nӕ'PJ&:ЌDgֳ:mJƛo| _~5 ͥKj1O-A#"*x'g-߬^!7c4DQD8"Hm}}g񾠏~5f=DQD^?y#I,o\jv\.7fJBчY̍cڒ23Lr^kYLzIENDB`K U=R4TF<<(ZC>ָ b+HT.kr]\7 8A@'$  pB.@`0뺴<ւc[ظiHdŲEJyŋlb:}lv5] B@ ?kg=˲R{T_L>+.ꍦ~okNʕwR7q"-$V XךMrŽb}|_X;w=ٱ1Zl߶-C;wj\]3'9·f9w}?{aʵ*udfۇ00\3/\e+LvPٷ~+d2fff(. `Eܶd*f2Y^H;@-Ƒرc,]v1qku][&y{db-73SVZ!r~4/EK .[/] nx'pEZ n(&{3.Z@@0P(zrR*l@ Dn"=oIv. [^- @\.:ɭ_:u=]-VT cFlIENDB`&" ==8]txZPNG  IHDRw=bKGD pHYs  tIME22IDATH}oT3ٳ׬?m JM&@"%Fr U޴RorҪzQ5iIbH (%䃀 f׻f93@p#^=9;3LLlk6Ohm6Aۖ!J >q 맾LCk>}B)R8>ODQ,zFkMRP(ho}eLM#̯yym?Hg hX(F"m@yMRhG{ n+Zc0`A !A(R,.p}|<׿e{իժh5 !bTX^46$p,fl߶c{oow0X]+)J4MTISxMMS)l*J-R4 Ѡju\7DP~gtԩwmL;pRFJ)m`!@Z`0Wc0Ơ 7D(J5J)H["D i |5â0h`1(h4 `d粳hòllBJR 6ڠFk>h5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxDOo[Ul'c;6R.B@H6J%, ]u@| v-R!'IB$s޽wX$1͙37^Zlψi-[g>O'XQ_[[GDIQ^Z0 Z~Fsg .촚OMYkiF=J4 c JǛK}NM~hcJ)(@9RbBmnn\:t.Wj>aFk28 APBDΞdqZ1QZ= 9$ T*x/Xb9u=zhch7#F#IRHj Camx!{mQ8Հ`XN`R:0ĽCzOe}ug^(4Ξ!,~= KĽCFGGr2;Q-t:nW̼R?VсXah$ٗfjMwk_ wՊyjuz=~ 毰6x酅~FQ}Z- ޢEgwث9z{{?t>3QësUQY˾2~Xi6>8]y˅BaY!ch:Z(ST!MꟻJD1`*˲ӷ.]#mZ{"Ҍ$C?}7ū t*IENDB`H {^z x PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<G "IbX*QqD2"B)%d,>5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F=;wXDADP =z2x =J4 c "[7뭩2X1FB)"wH64-}Ae}v6l`Fk2Ԗ ^H4'8a6ʥbZ1QZsxsjMRmX,`Zyx΢/ҒjDPTk*Eչx"I,A^h(j@s*%\^hM:-;Z[[Ё!Dz]F T_z֨`އ(K\ |FNI|syR/ٹ٫/<}Bs:;;)<]WHG3D˂{}gZ*8vщOy8-fLϣW[sV@ݍFY&1] ~;TM&!e^|_v}CIENDB`.yc 4_l!x!PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxDMh\eL&4if H;jqQ V;ѕ;-J$BђI6N27:s3M̽}q+tct:D$GTdJ^}px]U֭ٹVVW]Tk:9ZmZZ:;7mׅUyTY\\zr}@w&:z`ʝwRёkKkz@DPTIqytt ѓ{o `DvU*\!j6´ H) ưzWs4[MƞSp Z8[wt;HZ-)$Í2fC79slEMOOǟ/~X{(J4#|G&M_n8RǏCN `#Ʉo̽'"n ƙ:IENDB`x  ` x PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<&I>,}yI}>D #/&a&,)TLP2`|~|=˱mPl. A$T%"B O:Gn ID!>7ͮԭ@V0..º-c,λ#X7+n B// |lz- Ah7% O3Y]{R~(?ߧW-ӧG'T&4JZTXU"nI GVO@U"TG^R!Mz)\a*<nf{ghAFFB%i(kfT+ղRn[f0iQ,WVHzıqLgJ_ Tg|q~5;/|ꎿ/0zr)L-!-1-ϩ|tH*y;I=;Ik( 2,zK%:XU*`gJ\:,~* }D&JlLfQO`(n9^>b÷gP|0GoϢq9~? vW--?­o1Rp<*3:ӀyrS݃˩<xϼ]dd9@ D e͟+XvM&9<1U^TjNIFo`#XzJJ9}vs|j,2zn)E0k7󟾂K2Jzg9Q$tNXdx=:YSW䀖#ͩl_v%]@h]h?d1(/9ڿ_)W8v{m+?lJeٹs.b"J C K_G#gC(2DbsgWW(p?oY>UM7nį 2CQ | _SIEɔ7#oY7`8%ZƁ(nbPf(j0Zvp,eHbJ68,0?Tϧ|V׷oν|@on;T΅ί{O]$SAE&&^_M#$2ۊsI/?!y*evD\e$9`gm&λ0 =΢VM MHew*S8 NVY?ND}<~؇X52y( NĹpma*KkÿWU09F!vSJPH'0y|!uRO<4CMuQpXCdk8" I2jfNшb Nvc\d 4Zi_sp\0JFV:O_*Djbo\ɾ$<dȀ,ُ{#*9/($FΪWƶ+ŌFҷqΟ?h$, xE3sWA) 8YSzlnAA2,PJTaLZ`@IJ]$?JQ I2WL8"Ǹػ>Nd2lφ!PTlg-%D'_Ʋ^SJ> I| ~c3Ӯ+km$̘Loc%(5Ǣ {}&ѫ=SNݮsi:Csw("B@@@ J{v4Φ!|lQ+āLPLHQu߆c,5TS.+8X/;Se .#%Y͋O;~Nv9( Ԯ' m]&K60tN痊#̹ANIQ^X'v@'V19AV'a)7bMK!h񨀱SkFٰUm]zn/MDru>Ɋ jOg8~YI-Zs(#/?:1s^@tњ/i6q~L"7rH,z[Ń)1!)Fͨ38q2TGmp F3)XQoFO~|x`鶽8kx̽=#xIG낰D  㤱Graab5H&df`8A;͉$T IFY<#hxU6r iKiu 7>u5,)+\,duI"i;;}8u5!$s9D)G=xqq4aVx]BN:Ϩ.L$>ɏ1(3݄=LJ,~ٖ'rㆼf}7o;uC+|~">&xR;A5كmkCAx`Qq$x05|6#4 n`7O]OɚvL>eOGϐ#bUӜl8!:U "PrXߩ*/QP^rrhG |g`[{:p#RЄz~ob0 SjHݺ!iS 0W;;},~g㰚^~jx` E|LZmP5s^l[=!Y8 OaiS“/z~} .jY!H 1{9TY@l,\n Oj9ƽvf[̶n/ 1Ma~$AFae AFG `aB\Ԃz#{Jܝ̲.1FW? :G֐mK |}8b۴ǵؒdL΍HdUiWX~o(#S c)Y e 2&1hb53hwPKLtSk$QGXaCjSDD⧳x^z`e "7'V܂3Մ=&hZBǹ0zE/cv#K)#Qjz 9VKE&/V-e4VJﶶ PQHYMYQvOS}\=co`$%ݥ\8@P]em~4EDdn;)~Nphp|'ChIk9oY-mt7RSDy)~ǦwE"KŘ!>ӍF7QQ[uPi$2s+7L:{os.}BVl9,5'ba:_~Q'gt#^ f-Ż[V 8VCNrD_L/AxsNGF^xF=C]mH#/@>/d3UM1|8o2SYn䪫w * ex&vȏ-K>϶/{^- %:q 朑0LpavJA3?3%]w{&& ᰵaM YbHtTEi8DEuL-E05̒϶gE^ ĵ Odg^^J$褱-nO2Oax9+/1\M|똎TdK~ EjQ㶫0ɼŁ|`O;07EZ4O߉n|ZX]#({!|'[[Sħ5Ei믺 VQBߎs[#І7s'>,<3/4׫O_qj/BT;MbN,5ek`qQKNeި:tPD9 x)md'ʀEi^]JQon73wV[I+B˯gE6E B8Om]Y7;.'g&-&5w(VͦFu+,:mef"kc뢽[tڝZO~1[-}d?Sfo㢛wm >Nh]Qv䅛Y QzɌCw}^F6a˄f @aM6uK9uS|dp-9$ <68(Tmjyi>m+iC=34m*곰FuOmU^/p '^ tͦSw#Z B8V/Өa;e+uzR{W kbG6NݒF{h[:Dj-_<Ǟ9Wd / 7hql(L8WsT.YkOSSS>j@&؈§u5{ܟ] $*=mZ̅s&ow(-Owp:|qČ DI aKhU eՇ઴⨬:3 Q i0IC6RN~{I2(Bٴ.=EI7cM3n0"[Cė!Z@xOo\sE sV$lވ.¸nY #λINDFE6׷o ^Gl7*dIDOs;'('p^jj9*Z⑍"R|sUFFhw$QPK |Z]w`mӋܿ*2߯ }mZ6{IL#M6ޛ9InO!+\R*PvXFT(m݅"g1%3W9.NUUwϻՁQ,|k%M0:kگ?~Lv/d󗣹zמMx0,PZ#Wo'Co?HXI\>.w <j* 'K3Y}2ee>R '5hSvge_v IDATWo+g<^^ZŠct7SǠENuIKM֚ե:xcXUYm7DV7DZ$6.+=K=G#&%'5DxgDmM(˗fGH;"q86k@,yksDBr'eWЧoϽlͧ\{O=1I>ʻ`-5d?)WkZ+$ظ^ ~i ;eڏ)5ָ@@d2Eߗ] )$eh֛Zzlnrh[ ZB#\vOY$Ƹ7)O Rhmqy%^: Rmۙ^)0>6 CfFd(594ׇt(XC$sF c'I]]qڃ0qTVE`ّo&FkG5R7HK>@0 *7Ü%|LdG P[MӪFو_pц(fr-Lqbգ1/ cw,~eT3R'YHnWӍ-F֐3B A顮$?͸Ga.V?WxZ{Bt~4ԞT>_|9%gOc\^}lYrJf?Cr|Č m]Ǧui\AԍM6?Va.>N>|RPJGPl3bj>4ַ(=f+u7e]E*ưo WqvqA/{&Q#ߴ5k[9H~k w<|Afz~|縟y#⦡pO>ۋ!~e'<2FQBNe]z*[j5@ C)p6#/z$Hrk z[_ړg V桯0.MdUeϘZ/O\yPR#R$NfG$ B#g^B>g#+$ ~ü?w{>lNK. ;| fo|rYS5oy<}fXĬvAه.ʬ?<Ko$&Q껕0I@~(o&Һ$[p>ȒA'~l{ /ྗWrT{2 Hz.R4Q_-%$N/GwY>QTT$P>-ggz,3Moc{_$,c,zdFW7o)ho7䥹N+cΧQ JL{ \Oͤq?9;1eHͦ}r+(9aΈ#+15M㭿^>C Y4-{D 8ZϽ-_tN֖!#AkX[2uP*]Ѥ?x@m nR{0PfS\r#XF> DG5Z:W :sh,e?=j:b5NqE [qa5w`j#.3 DZK#%x_'y5۹ 2bL^My稩QLWlو}'!"Tߘv|~QwJF[M dӾ >?{ׅ!I"֜Lt30;sG.oI1#=*9BE~sGX}]QL`N}=;w#9>|z乳 SܴȾ{z, jWUsOsg7z^Uvczz,7>ޔx:e~4ZyNm|OoR/ Ι{'z=쉞`O'zt@HIENDB`ѻ eelaZ+XxX+ԉPNG  IHDRZ?]RbKGD pHYs  tIME etEXtCommentCreated with GIMPW IDATxw|Uܕ{or3o;q)jbZjժ:PZ'8Q{dܑ=G+ H|}3>*LO `O'zG=? @$&ItDٽ#7+;%XCV'K\"UL~<.%fY)LG@I"I@xDBDBr)2I)Y/r|f(AU 7$'^BIS9qe$UrN(\ L%Lf&W*rMlm\$KHRNj&Phr?KV!I*$R ±t B:|k6lFT,zjvQι(p_ݬ0j>-Zb~I]M&C%l :̄HwI͜o8,# Y_۱9`dR ·_{Ts. P%41ݿKol^(d(Y~LPSP3(؝xn[ f#S&b |b|xPNG  IHDRw=bKGD pHYs  tIME kKvIDATHjAE)"^|w{ L I0! bW3af3Y^_UWwUO-՛;;8S X!`B2f!sE﭂sJml 3Qy[v>0aK>鴹sf``,}issqTPT+i,lyk}}jm1"o` fEf+`*px\A$|vF}hui&''3azjz}2߅~8n=ВX|ե7:W@TQ02SFQut>L 0*aze9}7BAGVi8ZD >ma!L.{"/Q>!tPJElvÓz71~nF取Ito3R(sF/բX畽 LBO"4IQ׉K=]'7(ujL: L ,jlll -gDzmqq7^xoSJiuuW3\.ϾEN1=HtE,KIfߙX"Sc4;Jr81 ] ;m7WVXI؉{O SS$LOH$ r|WT8P-U{JBVw!9vzVXt͙S*AKgx 1W.FަB*D6F33314IR;r8d2NQjji0XquI[5ƨrW{1x/#=6I&PJai% !Dmi" e;W>nzwED!tӷ;W0Xc\:o31Ǝ\A]o*WvTSIENDB`b 6dp#x#PNG  IHDRw=IDATHoU?޳cJIJUҪrC(rÙw↸ 'AJ4m7"7q}3qFvV}}}bfcϿ4i4T50b8NQ*13(Pxzjn)YY$"YT,E%|w9B\򣧼wmV7Piso˲ȻFIJcܸ6ۋ  ÀnҥwƸ^l؏(2o  1cu}WB|='[{N/}RR9 pP~˔g7TUEP*z20뼳bbĖs\~(K#%GKsj޵jm(""XH/F!0 , g_|~i_13u}̲_}f>LLI/`mTIENDB`q ""[e:x7PNG  IHDRw=bKGD pHYs  tIME 1h+UIDATH핱K+Y3Ơ XDU  X(V"vBD,ӼBB6vYR]AcɬI&f2sgg<} 0;ss^o@Tj?45ybtt4;77 H$I]_ɲeY\%uW(4BtޙeYeYnjV5M5MӽpWWW( wwwE,ƒ$1/ɲ$IDQBm 3Rqz{{uFѕk2DQPױm;+h6xB@<gzzڏiJ%lFQ8DQ6]M6MuiZh9D1EAUU^^^0 ۶?T8Cksxt]zNR\.Ni6\^^299I,hP*xzzT*Q.jAVCu] %j4T**777`YۄaVVVH$y<( 躎8q4M* 2gggdY*leH&i666HRhP!e}4MTUUTUrjvwwY[[##[[[T*QUcea6f]?kkgfff۶@e8Ÿp||,$O2d}} xxLL&db!D6 4M#355եw댌;5,,,t%B۲yn)^Hէ۟+jTU= .W_B-~N+V0 IENDB`IDATHǭoLeǿw,55EL4%5YLro|W2}h/|;Mɤ=HYl[kA^K|1a+Ma\.'}'?4y~:ɦTη]O> oޛYT-7b?zs:( BOў7h{'OZIBQgGĵ& Ib-2@-jfA(MUpHeG/q:͸r2B;%Ⓧb|PnO=Լ X";(拐Zƈy`^9wSEcAz/aze> B2LbP$m0W 5-Tk׈е+w$s*{7 +Ŵv\-j݂@"Y @H2w֥7 T.r@5 `=u#_DsT#IENDB` ll#gJxPNG  IHDRw=IDATHUMO@}NZޑ8?Gqo^8^Ďm) I&k{Hk9YyofQ"qeesa" c alnn~a9S^^^57(IR~`ppu:!o+XSSsR++-!! ]S,m| PWWך0PEE3(0:: }} 9-B3,@O瓩ee !Ii>98wPS_Bp)kEvVUzh01MMEAV_RJ?\&ie ȫM7ߊY.hLҨZR[Ar} {*a`cL8Ueeeև^Ai)T٭99EnW,!$V mPjbE]U*YsVI3!nf P=waH՞fCA^e1G9-˰Bh>k%; i[DA<Yz|C!Fį,BVM+!q>==pKެ(J^A_f(pb4Fxw$|D1.KRxsff t㸡֮4 `*ҭ$cSZ1V1cB1n(`5pIENDB`<`#"$" A !R%X2$܇%5eavk;~* ""rZRݴgvS3U $@%5*{y3_ܩ`m40s X􇸘cr7.=LCc/ J|[dMB^ztdm:Lsj⮇" VP:X΃%FPx;|hjZbgZQr\V|F__v2gQrU]fjs㈬2Kepq!) NL1|mP.=s/&و6׿O2{fg-"Zu|L SL/vvtBwkj8Z&hz ̩c{j[m ȹWhO8B 8soO R 5uuc,szث_eO@ ϲXc_:m cu ZK ;=W "c(GǶS,9y$=C?y.܌SZ6x=+¿Bd,Se*JhQJfqO|IENDB`wI? i*xPNG  IHDRw=bKGD pHYs  tIME "|nIDATHu[o\W={1;N☤iRIRHi1jIUMR EH AETq$$TB*mZT$j$PUIcrt{\'!>͌3{^%\>H5yf7&m ZirpPhV(@)@K{ 7k%93kalQ1\4" kEXFHsXop$ThIrtۓW94!IMҐh܍XFh:=cf}1[HѓN֮f 9no\"xnum j\Y|Y,D 4MoLdq*k[<8H6׀Y F_c-Z*EJ׋^ @̉әRp BjP?Wъ+79(gh-+ԕ ځ5`("& ﮏ*9NUP,zkA7,mp zHDdj(UXrX`k`/ c cd,oHiLyo'& 2+-ܘ\f-b4&#!ֆX 16H ?,F0F }uZDaHP{qfr̈́Jds&Qlk'["K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 0QOhIDATHoLU?<}>.`ԋJ ekj-67ڲzV2fEٜ8+f/h҈"L( \+\yӋ+ ֦]W9hll콓⁜;<mgg/PD.  )T)BhR3G/6Q ' E2@J H!4)-gaLB3$qAzU*W̉$P(%R)J4bbaY 皋H%Pn5D4T )@+%#YJ@J}J: t \Kwb%tLᢄFIf^EDoLUkeu ӵ/;(Qp'kAMMf0>}P$55AU.vM_-PjnM{ ̠kemǽE͇i ēOpK@@_)y6fI6G8O ˀAbSvNݞOS?&|>q;JyyVqjUUU /xɷj~]Oe$Yan"IENDB` zjxxPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQD磢zf:QgVd:㫴=o%E: Y_ X:R78kqc|R4pߚ3X2 AߊMA cJk_II ΅V=Â6l.ބ:TWn>Z=!;n TxqN%N֖UKTbG?5@}eaƞm }0UMd 3$< 'L@Vn G9kwo"^""toCd^Z45=p_H貨ddC# J@R2FNȰ&P(&s_@9l)z%XG<@? > oz+7^;|b#$H"x4= ®o_~LDA—|))!PHA^k;i஻;=0z0/s=shvN~jɓ'֘j@KZ=;^hu̬i 7U7J>|!~is۽s9Bۂ^+zbAnnV7g~wd[+Wa_`)ڷbLavTp8v~gfp G|p 6L &y/NTpγT|;!VQ$uZԌ"UpR]u[XE%,QŐܮ@bD ۯsdLE$kDAD1#S0ƠN!1 1xhkk, 9ɼnTSTQS<J5/^YrߞKS'^zyTbԸs8v3t8.rdyѹfO'& < #i'G71pfdaxLٵ,#wGI\4jj~Jb1pq~oBny.=>`X abn!c%CH $NJz^q3OQnzDLa_3L2NQdBU6di-Ͷ_#Pchh<`.q"uUpu6C; ^Z*חK; 1BpvujX.W 7b8ST[|[|]>Ģo02sLyL bȬ*3dzx` hzި -,a2( z35*5ͦHbZC՗H*Luo53-Ws]OڍuTk[u ~4*4ҁ&W󅙫}Rʶ橬Ȉ B*($kXsuWQQib~(1@qxTJ=n\PS:mNiM`p^Tչ <@￵r" !<@?pϦmmmr#e`Dr gFvw;;˳ G__@~(B\GrE(.7h%jkk"NY0z_IENDB`AC03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FbIDATxڤMlTU3SJA,DS] LH`EbX Ą(& bI I@ɂ%-RKi鴝vf|.LiJ==7y~?‹~.Ο_<pJ1foo߹%]SSbLr6W`̈9՜8+o߱C&FFU1Xc0!,qUaYw G묿󸈤\Ȼ_)a91-]0Ƙs\_cgXcxYTBaT%CjZZZ[kldMTJU[pc8F*1Z,"`-QP"2<8 av0@&7ozF*(B ({U{Б͒1%kX57#P σ*fE‰ K[ұa&T5c*4\C /_B'Os9:;IyN"A.,YB<`4 ɬ\I/0D}L{;7n?|O8:>D#Iմ-GH΃]AUT~tdž!ikI-]-z{)ߺIjzszY-ǓMT%YgIi&?yl ("|ɻw۲8|' !DE?N = @}hڴ#G"Fs9L`9k+RmmhDMF墋'Q^'xq#˗۶|*p3J_Ej=x|ӞҞ󈵸J짟P1R55;j'!`WWzKo'lY0n-_͍ ^P<%.F. ,UG4>Jbg2D$ Z?G=y&IENDB`@v Zn8GxGPNG  IHDRĴl; pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڌ[h\U}.9s2m&3& U4Cjmˠް4mE>j }QA R!4ڛоLIDmSM&dsC4a^ouT3 >}3p4>[,οx~T'>LO4+]*ֽz6x^-CD֯vd"dfly]Sk> o}UC;;}vcQG^>-/{Ol5uӪ-humө 򭟢S_(l"?9)7 ?۹bSXT*Yׁ2@thճx]`l:L#D <\RRjbCjfZX.ޝ:|O[nп.H8)q3|8|oYDkG x7=ұ^T br"Mx[;HǪ%o BƁdڗbq~-Wkw [?Rk拐)dkC.-5KcZݑsٶwwF[)Vzi_;{F*VLΎ&һ.? {A祏sS9'G(_ D?g&u) SWgW~2yX5nPbUMs']?Uo;H,J^]-FIENDB`~ + ;[p: HxH PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##2oh x `PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME/3ڷ*zIDAT8˕]Ha|72Z"Z ¨ @΋.*"¬.*ꪛ* KT$,3ŨpNݦmۅ(*-9?s37kň.KhsGp]yb.FFu\i:En>'>h8Qu6=1vpPt,7\HN"%I+ͳUVJ$90A˗ax+Q}ZGPptoaơ2PAT@JACCX g^?1*mʌFB~)Pt m"O&g*b-/rtz7'vQD œ FÛ@/+F$Qtw~VkL{ @81Ok_-+wtp־vWlVA@N|_jb /زV(`f4@(v+>2+)VWXYд"H oULn`MEsq{6Kђ@'%Ä8O!:Z{}STx#GP FޖnyNZ{D2t.3l/VsnFIENDB`̖]ϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME/*IDAT8˕]HT w&IfƦܘt6 >H{zb-vYb6H, ǂLÏ)uqt;ssd 9j{~='g߷8Vٛcyb[UmkT,/uЙWį *?flo"sc~)~'[$k_^G}+G²BgJ>d$AB|F>ź7J׊:0<68LYS!5(͝w % ۂ"F]ꌟhc8␌CZ%U:ioCWJn)^bs/t+H2h&2,wv& ]m^>d d0D H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##x5qn x ]PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIMEWюIDAT8˕OHTQ7ofSGLLK B3^ nkdI;-**4WAV-, A(JQI I0K 'QgFg͛y3^PI{9DUi1Jppfkn8o9n3ZJkdǥbQѶ'nNt'A9=""RV{!kpPB2)E̕QE9`@sUW|!cYjNg 2!\Ixq,TmC5HD`@L  7-yYQt[jUe@__eP["FFͷwH89lAJ{PXVAW{HmnG&-׻f\DK ~V,G 胈sqkӑM͇D6rPpA3 h08~ޒ;Vb`aICY؀.n@ikOӕeY9@k5g6 {FELvsYQEЂi2//Ψ)Oc7&% 䠢(ȲLE")@f<̤A_Ӯ=@jQ2@3ubk'y@}uIENDB`O%^U{u8~f9=.9FwlN\iSvlKv. ˋ+b]2L KKhGhu@Hpc:JsU>ǗX~`X" (;Hy=sm<'_ MK`4:SV>V\aYjѦX=X$Qcҏm8?P*8Θ>dq~bbr +ӿyT0 ^t q?#1Q)ܲ8S8/OȽ?~?WL XZsߩx%^IK}ZK:$/MpřUC8mjBqj1P4KG(rq*Gc<'O{g ^ԩS8t=[1AN=Cɏyn棝w&P7xo.^)"3zmpIvw;ĝ Bv J c >~l#r>s_;Hqϵ׷h|*I=A Rȕ<nqxs E,Y4"9"6o=zap8' ՘G)t; ĦH0㈭tڻ4M-/pkAH/1c*nRDYr}bG;\C*MD1xPA])B &J)zo *(KLOϐ Il6 BBHmI5bjnb-G4 JɠF' g`&b|@`p0@뜙Y*q)odٺLy=DX'uV2j_#Klv8vk̭>ydb<1(WP(ؼWvv?q/NĄ! Y}@wq#pv A^B1=}n{SOT+`JfIRິZ-~?o0'l-R"p\<υ1,8ql)s`po7lAuZSܵzZ—4|h4q~ _OȻtmS,/bs/L'b4j߱׮mٯ{jz&`2Iyc0h4ZqHС%2s{1f%/(zn`=OOJmWfkhݝ5sʛzM0x< Cywfv%u /̳p`Z"3- wSOmڈزuscruJL̙ ´w~ٽcsovc$1Ln\1믽T~zJӱe L)^>|D" "\'_Sjs[;;ʥ:ǶAt(Ub%r0Aay<\8R\buth"2m+x7IS`tQ٥rQ#t 2reqFx%$a NN j5V޳:33W#%Bkomm9hر,+-;t7,+Z #%2S){TtD 눒o6"()px'R84])'r!cٖB$/n}Ӳ JliLD^3ͲqD V)٩S Ԡ)H#kN_2 `Av00 $I)ڵ^ǡ*S(ܪIENDB` ^^s* x PNG  IHDR szz pHYs.#.#x?v cHRMz%u0`:o_F IDATxt[]Yk~33cǎ[4D\HVQE AxI*"<!Aj!EIJĹ؍cg친9r^{xZa˷[W_/c Buw@H)<ϵR*Y9oϜ9<+W68v!rr=8'0 4LzȤMعF&MV)8~>k<R ՒӟHsL |?.pߟ'LOeT <կXghLQ ?GL6$b@H@8vB#<8c|K?9<g?{$ǨtBgc4!RF)?(Z 2K:Ò9V |DbabκixE|˲nt?~&F!qa#L"}]@%wn/ v͢2U K@ݵX혩 ꅐc0P*61=RgX:D?.jNbz0"E3R*0Rn0ZS$8bXobimrm;JIRy~3dҧVV>/<|O_%jw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڤϋU?YAC"ūE[<`HAAAν=_[j{gj̫Fէ+_~t(˲(GQ{Oá5ig_C@zw;wNuW^[^]%F3MaFTm#N+RV3>ϯxWpBD‘6돛;ǎl0wfMɳO?si{;`TyR&*jUQs Z|P Dڎ{<7HP5)gq9c\LÖYTn"Uݰ?7.LQ,Rd&Pj}JҲ1'eדL1#&1,:̃uoޙsG;f6ߧO[*@(]7xIY=3u=]9f6'83qwg:dKom:#*MvdA;s{/p^e2dZ\xu]wd xBK>Pԡb2zHx kBdϟjj.jJT(hGA{S3vvs;sEX%ݸk.!z :8a@GtRhhY}Dl@拤JjV{ H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(h7s-7lm2e:.&3\d/i5D Es}9"yg=0831c ZH)SCвy1455)d[R Cx>j7H)I<`nNm_Caa!fhS1r:簄 5=36:ʎv0v2pmtvvRSSDsl71"IJKK ˟Eѣ]]M^^RJ$r?~z~xDwj~tcv6a£tttаغi+===ϛ R|ϗ.|e%[ 5Zn)$uPJc $cƐ?>F!.)!\L,X ׮yFz.R] 48 E\)/@# feSz/\䵍{"U+8 aI~!_f!mdD7%,n a eHXYz=]VXƝ$V>ND JJ;VU\Mbc+J,ǓܙDzbFS"AYY:Y 8R0'[&q H._ .*֮I%=|^,)ܼ h+Ь`b.Ϯ&_$),|>龘/cs[twtI9l[p,C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6i ܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATx4[h[ewnɭ=INڠIVtV\k+st֮"XPQT7߄ CPX 7C\Qk:[R99ߏϿC(Pٽ(M1 a1t:8@ 9[woVK"JB]>ņ8ɠeZ} FKgDBkחwGO|x۶ c puNN_~Ź'`Ox8 fkR5NyM|bz'fbG15ykSKK%/El:1cyBCoPg.ixg,_x#܍AEtţJ۠'a>RJąn%rv^d#>%9*&((.}ZbH];͎f# -Zn s+kn<xER= /j \O6w0J):I%Ǩk>^xjn_ⳕ@V"….h``rYժ,Xvg{!ؖcUыTք,!J2DQNsQњͨ4g]YaSJT(FtF"$PS(J~!OtAC7ѕzWK.b1weUz;xY)\BdFUC6+twZͨH+]fh&d9aF@!% wh4`b\Y0Dl-'xQ@ IF@6RoQ݄$,kʑȫZC$UfkG7aIENDB`f XXv.x}PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq * RKk%[H<;\0 imi!`Z|Ƿ}$ź"25UAXs8~Z5LUhjj_d޿*kXR(J!R*TƅGPZ#c$e )7 a$|c͚Nrb,s$I8wb44D 02vFF0rJݫTyjĵ Z24I' }==#"29?njƆ.G'~_JtUR&R2I'a/~S*or.^mۨjLOOӱAj@02vKH_=zcẤщړRnLTDV0xAnO Hw޹CL,[bihhhٱZ??|S2ɧRYnqLoll/ \dE{;!1cô-YR{jww.`pH غeL f|rrwu>ԙG?vMM-}}{U7 B1OezbyԷZ(;SU%#VtR.Q*/_EIENDB`5E $nx`[x[PNG  IHDRw="IDATHA0 DǦH\ˆ=ʆojϞؤR/QX+eY`gffcD4a۶zPU`*RJPU*q|YCc|s=G @Dι[.̥aqfvsP>5,[tL._/R1ndlK(ǣb GĚ>gSZP:f^9W˴J-Qn=-QMˀZmB /*!zذÇ;RsɯU4S?IENDB`OLQw&xAPNG  IHDRw=IDATH[pgaɁUb#ˆ  F#3\0w EZ(;)1 RbEvHhKMN^yoךw}bٲ7I|3]nhÆG8KI{{KWJW}2NO)7\{̯'t){%:O\m5Lh_T (N]<EF{.֢R¶,@{c N @`k->XPJcEXc,8 v.``%Iy;RcXkf1ĊD ~*#dPJqT_JPB@ XIAEЧS&mbc;a:7.؜}k}ŽgW&i:Fsv*(>$}c֭dH+|(DQtP(-so.xܫ+dHcGem@fgg&4riH!j.DP?'i`=@KP@"bnfJ֨xmB xi} XhjuëEQ@UAw/^x9InSof}eSyV *}$:R*E@P.GFF"}ie)Bumz5O 6J9 OkҩScJi*I(BEbXLmE`of{t{yZf8BG@M̊s qoFdJh u/,rTz ij~]s 8tn\^ݒw4( |}OJUsyfο=wss ܽ4~s҉jO. Z$]^+W~trr??IENDB`_ąk!j& FшBK@ko̽縘~/'s{s3FU?׉ |n 1וۍg YWnm)tٖ߱={kw{(Φնj)s0x7"c{|w[{,9NJ0\4R(uVamcgqvqYWcCpjSH:eE:Q+:oqQET"41#M:>Q4[%XZ"^R SHDJ*q,.n^D*6* V6U)/YDv :WwnR%*H]kk[,9g@ * 5L*%N74a R,H&BWj(rtr9nA,B30 c4̓64&[9dZ'$Y%e7:yk8puQ5-wq8:}+ ui'ufrt21c*||ϣ#o KPQS[_/tss<ٷ%4Vo" &y Ҟ܉ < g I]'nEʙ#kRQxc [ nP=e?#"0LH3+sQEtȺ,0.iC :ݽM~gWs<C&l@8\j~riEmYR-Is}3N}e|׹t|켿p7} W.*9Rn߾1:OPR[I~^9kraSt?*$ԀȂhbbraF6.Lp  ]{>x5PNG  IHDRw=IDATHˋUqB"@ >0Wwʽ wnD\ хd#$Wɀ&F2t=yNDnzݯ9{Y==r)ec<9}˭ȉ?>qcGyzƥK/G67`dRK-M5)Tc_NAQ#HyDf- D@)ned̰E 7_dAL  H8=j)/S5PEH3bk@7l@Dj@R/2ww6Ͽ WO2T{|ч4_˥b0od{3m!RB$ ḳ{r9j693;,2 Z\@07hPZhL0-P`;׸rU6&*6']!ң䜹~:_~-hJ5,ՀAiyDKM|2ɧUmY=uj${*BhQAUDhF "Գ--3Wk0/p)nG0ͨz0`PJ M,TΙ(׾-D tR mRJ!"ږѶ"Wf+w_ "E̓)mҶ*RP-AXģ=ϹGߪt/\xkx4f<lF G g666L6GmۜN|䩜DzȐT"ǼwVEfvik_v9#)LEd l h#xTU=028͛{A$! a-ATԚ@! !xf$ ׹$"aɠ @@+sM9{vZc]eJQ((`ڕ0li;s淬!:mm*gŅim`2uB>91(kJzՎ; (kj4H\oC 4Ǿdn|+ilvT9G-.FIX,C{|i8~ًP(8kEC$M\.sv9hJ[ҋyak>Di1Y s2(J(*gR}{xrijSCΝgGJ*`Y T %<믽_8qff.R,QX^^&M14 #"{bs9}کSJeHxISo94ͦ?bc_Jō ֛LNLp1:;;iii{%O%$!MS4%I"fݵJ֮CLNNǘRhD $IB ϒ(99>>p}Tj59Z6''P|.O>[wcX|zYbT5}{}Z'|Zvt[R9[m:c5&kLj&gϞ+fWNTUUM<LMo_1 cLS@pMUmc_/X[c^ܾKQ S: wp]!i2)6߸@pIENDB`77e hh(~T x sb``p  $?ORAN ɼrؒ]fHopxD30p 0#ì9@AO_W[윒VW_O IF808&(gd({7U{8X~;4o1淇pz㴝w~~-u})-)iy?$]=*_Pps)-:w{Ek +SkCe(wU{G/_"!3vlT)qmWmV@g0xsJhit]8}r!$x$!މPNG  IHDRXbKGD pHYs  tIME") IDATx}ɒ,Gv9cM^M )B&d&fZZ;-RЂ qA62ӎb4,dֲ)݀0PUeF"&9ބǬ|uBP( BP>,X8ˣ/Mҳso Dl^?!l}!2x?km=.h^G^#~->߿WI\=P| xPNG  IHDRw=IDATHO]U}Ki/[-UJԑ)5?9hu`H8G^6O s^{98R=:YZۨ*==K۶Nc (XX|c̊U ?T6Oyͳo_];T.[(YǞ}Ǚ B(Eb!F%#~-{ 4%>Y` p5 B])^`˶JE@^'` ["-q;o>{B|0Sq07 L=6O~Y_#J٤FE/{ Q{ R0Wˍ<>:mw_3\=^N @`S#sYB⅙;T7E ϑ5Ddؑ5yG,/?/6c89Bohr ۇY䀅KavחG kt<f+iAC(ABrDeۧzE 8#@7FjH& cX" bs z-s`x~or 0 NK0 D+.lz/sO4yc!θ!U`O=" 6ɩ}r5 a@&~Z8b˘͂E2/i~R%k'GL6IU ulۇgGh5NO@XGp<.ooH~6͐P4]@y)JdBteb[ǫD/fe:X 24 =W+޽p?{ݧg` A$q~ e-870lNv51pw]--ROQ[xpAO?_~>GVᛪZ }]`ס21$"p;ѓ%NZ"BnZG<9^3o[/6ÃΛ Yդ 'o?_S\RyAbnr7d vq ,9Oﬥ DCSRYMHE^4vL~._~W' ՛!RI˓yђOS1"0+k I®bnVbk./Ƹh&fg>`%+&"|{m޿ه:K\^%r) z a= >#MY/ƛ[<6IsR A682k?LSb[A*7ֿ{?\$'`q2z0˵V4F1'H2t1W˘:uGITGzI~]c}x"csK.Uҭb5JRF|} _ZԆ>!K`Y?kI.J9 i"!֧K,6 4rg -llR8cK-iAl8M.kYtӰÅ]wE= z G1Dr\mzX(}vigEDYoVswrtʹ {I $Xb u C|73%=%GK.\s U^ύWX7XX\3~BZ$&m׍u!b2W-b/_O"BPۧjdd@XvI@h`u="#n<!As 2Yj |S\ƖNnq1U.+"1ǏN!tS.^'!XwLh.RW3Q|}jE Rea N H!)C\,i x'HDbј(oxg y &Rhz/`ySXӴzgd`g{H걿X)9^Xd8A.)>O.X A|~?EAϗ RYu4 ld`lvm^wPdX99?a ZH*HI.21wE;Xs,ҽF@t VOjRzy A`WR5JDz< Wf u);)}jRmt 3?6" 92!yyOH ڵAz)F˵O#uGM0b`\$;utSHŃ i2{2ƋC''z35n5F_8 u~KﰻN&(НGOɬN7~LpX-  -[@KAjQDKx+$܆ߠ+;ݒ+HBb*;OMAbSnt۴Vuf5H1Ac}r?fxA3"'<oۮם4Q(fOdBbAڮH}Q(Oa㦮ٜ~+ӓD1$#|R6w)Cb}6P̅ d6Kt0-H| I69)HQ雓ӲXYM>n{o(H%$b !٦T13IWa 5Q̋ R )љ @RO.bF" ѿ+U>/"I OB Y) kADDg " )JRjҜ ( <h]lm& >W@;*fDLA|ڵx a Ҵ"2D1~0ۂ(-& LJsO$it cZ%i%yI.VIED$)pfI}DqT,R .jz_ Yb 8rIZIxDڮ9ڨt:9{^2ڑFuLI%c^kH6/[]i[{+#Y![6)ĭt#a#`bUyo\+pG,Ù4o ݃v%)om&:$gc`c,lMʤ>)ѽ T(f8@t8W3JqljlOuy\-K:VDUͧ:v),fC:"a} ><^aOEb[?Qr'5y{_PtM4,wCp3fu]βrK})7=>ŷv3og\lN#7[YRWEʶUn|eOW^ hCľ)o¢_Ƥk#dT!|B>=Go /\l:=V RUnA ,ON؜0^ <%HMb\Z囘^js~e 5 c ްo16HVWI(0+9u ƺݫ =k0UyWE?tTz]@W^WٸXla-M(+Oc^~Y2I&YyZy ,-`ⶉH^LU*FY6i kKyEU˷*uB-oWHPQDEʢM?R/ePIEu+SN(f izpC18GIA+4ͫ@-=A7mZXP@@ZxV7RnQ$Q&z˙du mHZ9Irt<0ߖE* f '7Б$"htD$w3r ȍkUA3eit"R(AFz4ZM*fb&}` `bUJui^Ō`YI.VX1ۇ+s|i7Ab,V1כQ ² 4a\"E;ӢDb617P v $] e&RLt|@Aw6a DSH})bki5#2Rk'p$`QCtŜ!AGLI@D1G yhESlȐhN]3b~൚W13">1qQJ(CAցx]Q"Œ2eLA4Q9)&AC17LV.IWSAB ?=j^%b`QP!7QiDITE>T;7ܠԤPퟣ%I,Ou&1b1 7q#RkŜBk9WXջ[q;_ 7[QH4?Je5t)3hVNd +])}oz#1aҺmSJ%$A )kĨ,>Cb(& eho ~8C2Rà/5KrܱP:y#ӿ%AUif )Dp5/Š=.O"9rP {Eu,LPLv4G\Tx̴C V Hj  '=])@2xL{dU`]ph{=";J Lþ );e*HqEUGki_*'4,A K.: bN ;JT`)^eݤ;cZu)R~\M}gug(~wGfXX`2t0hW'eL|R’߹Ҍ@Pk[(r{=v|{:SOX%HaƢ0&0O:B\ؖ8(c TVJ/K[I*RSXSR3UM@K7 GD)7Ɣ*W/-<[1ù f Xٷdl;2zue띃zɅ] mY7肩VdZH$CB {Sԓ|՜={_%U&To2v $Pj:b`LWIjsDѳˬzdć+q?M(In*f4.NW|ӃhAғ#Y XG rV][NDGŜ]B9h&YM Ũӱbg 1QRUv4^Q^P+HoCK"UcJ9.g{,e<؀ɀaUeGtr#:-GW2M~Vb"i"f0d@F ӛx(^D&$!,H&]46sHd9܊;hf>4=A0~޼u wAFCf˚NK;fATR(3*5yՋWWo:24c;K7zw ꡸q$(9w mRKK1h P,`[;*BˑC],XS{b!@QP(SbY%BcCI;nցA y>J38,Cqȡռ E5YA E`PcŝQ(tD Pr }Y,ytŝ" KNަPF?z]' ZkwE "ۣ,QQ6r5mݏr0;•Dռ@ IP9Hϕ){ "$R"[{ B"1 %PQ)LVX$!yX$ z C "*b-%˘Y QI#ם$zRӼyJ'D1{7rM's'"ZjM}b]ؒYE? "{Gui^GH6AbUYN'>H:P>tB ž hIDAT-~ gW"k d"ԃW{ _ |/?3v~}ws>?W'ݿO:S>]"V,-q) ۢP(&![IENDB`PU @@=~xUPNG  IHDRw=qIDATHϋUǿGK6f""9IAaeY  Bt%^QP$bDDC0Qv]q6q~<0;;LQ]>G[{ɓO \ADz"ebX$/DyqJ >;v"8s恿_W}Q,>>}VI7n|xރ~|t4tNܭ8Bnl?^>A;UcVj _]T~"ok7YqP9sf*eQFѷ,̤ ٹ(ѤYasZ5grxUP3|D~8C|k\y0PrFx0*"ªH}*B5tEiEOD`Edk'Xl-$|.~Q`? WWW/.677H]充 J4]3@Ǜ7(zSUSVk-U5c~Gyz 1:*A|yC-xl4pt97G$oE"PNS28c U`ʘ2D1kC@6Eba`U~|OvrD3ph΄jL&"PDsg*rp~ni4I`i?rBtyC٤ 4y=n4V8bV7[B& %`h͝,:8'RP{$^`KcU2OƘSBr19cP*^+ Ext~~|׫}an B /=2IENDB`;`J(IDAT8͓]lSuƟ9sڞ~Ӯk0brЄ bf q1J4b%#I;1u]ڱ ''yrCTOJ _J:]He.M!Tr'}a_o6djZ#pq ɣDriN}|CڞcYEZ R9 ]#'DVxHp? 9/6:thq(f>\Pm>D"u` Sd72{GGޮg850p3 ab̻-O*p}/.)I_=}sM~?Tam`{]dN^RJޏ 6WyhmP Y)0quR"!clI7o9<W@~gp &Y`Ѭ(ϰ,ZY+'v5m c1h2D;m 4j F;ܡq<cvvdLǏ)L=OUln,v ߻n LZ3QQApm]<27bߐ`9O#+(VpIBw۠sܿgtoocݱsh^ C"D9WMޞ̝>z"t,5=B}C YN(dfear:`eCjƃ]Ywʼl%7m Sד,M ?ǭO4j+f\ any;uv>twE7~Xs/y+GJW^h-}lfEuS*f!.J(~X%Pl//~.;2hxPNG  IHDR bKGD pHYs  tIME + .Zuw֙qfsad'~O98 ե%ho_|O{{W.0gF=' GRA)4BRsR8X8;f 45Q_4h)B"RlCIY\WlѨOꐿ14-%i-40wPm[(eaM²X %T|Kc.G4SrB(ĉjcb` 4hM;ŞܨiCACEcf\?HDD@4"jh $9'=hn:%8R 4:ls&풪qLsCZWdˏm}Y S3] rerd75f&Zj(]D1GZkt`N2)̭[N>@+ɤGrYJb1^ᇭ[9S^M qTcAu}s>Jbf+E&Y'x(B1}:S&+83W#lk;!TQNdD",eB 8r9:;;qMIVa~>Å޷z:fZLDkM\}|G;Ϙy6n|2W0UnbFj6;P!p(%(.qX[C+N5`#<£b+%ɖ!ij>s|)`(]6ͼɺ ֎pl9Lofe |h.ܖ!R +y(tn.Ҋzd3>x&n+xal%oqye{_wY'z{{y- ~`/[#&;rl\x˫? /[<-Z+aZ6 &3s(;2j„VhIENDB`X 1fxPNG  IHDRw=bKGD pHYs  tIME 7 G*rIDATHU]HSa~al;;ڦGfsE ] !(Q.v;)Ќ ~̛ %".2b*nja -vs6ξJŸ.|{{A0<uRLftm/rqؼ׭ҙ&&s}!;oOOh4,ᑄu("ci g/։kϑJ}wg?`dY{Qʢg 6mBkͦ= dI7iM+Ǚ_Vbƭ^B^-߱\9;'OsגdjmlhO&[rɧ}&b.}0-vSPYfp͍ϟ5&9o|J䁄_YE^2)^p5V1a3.n$E'ba.PqG-k7 Ҿ|yo31-~jQ1J]v˖mN<剛N來29?sR6+ޜ,TW'*,~dz[>f8r>N./+wƮ^~!u٬㢸0-87Ff7^͜3ŵ~}=96UÝ83o7>nqu[;tqq梸pP%aj7g+恡{vܑjxB(3`2t Ksu,K_,+Z^ +cN'c:DJF#HӔx-Ou_S+W mذe)D n1u O[YWRJtwgZ+ΤҾ!kɩsIiej.Kl֊ Zᶚ8GuX*U*n5ulhoIENDB`m_ 66>xTPNG  IHDRw=bKGD pHYs.#.#x?vtIME  !ȴL8IDATHUe@73}nwRj[imI`UB01&0&QQH !F&P4 Эm}{}̝$D?pr~8Ͻq5V!Rk!R t"Сq(t$  LŚ "cmW/Mx[{ %-W d/ I/r ߠ٨3|?_!Ja ؀)sSF5aB5'[Dnjg٣_\8J6( ʐٰ|[2LAH) F,#4f5Y8k>֬4B4R!QQ*&_AJGH-|_H%4+H/1AjR!9N]*7 H"bZ`y'1 h e%vz=:zUm~ Z|ho!!€V veƘ&A[Ȕ2HGJ2mXPtu4-t֚ǎj M!K҂DV# A4Q22X,[A 7\^8F"gr6t|WhC!W--0ؕ'o zؙ2ԷсNRzzx_Pvk7fdtCm:3g. PP4߲nۃ89*<[ X8w|{<5!x<زeV ^.+RDQ(\D*Rp:^6FcIe; v*+_(q= i ,ƭV\*$ @ x PNG  IHDRw=bKGD pHYs  tIME 8 nIDATHU]HSa~ώvs[.("#ZL( !ћ.]$!UKAX D&dӛ( E9wv"qNo"|/}حJ ]]]Sd2=\%8&ZZZڿsd Bn{ezz<ϹḨSFJ`3a`nnV"Pu- z6If~!yB9 \.wW_Y-;P ˭lh  *hpp0zvLF'h4`0aR)NUՒF}]z#, V+'I!0L`Yattey+SH<((uR 4 ؒwV^i"#&3M2^P1l_+zӨL%N|2 16]63UPat:կIT&*]yW" mScs Jkm2 YEnA,WZ$~%""bPτ+IU2Vc ZO@_\/Nh`-YbʕQ7f?*YRN Y>ܽYOAD1 g_Wڕ()w?}Lެ+i0E3Ik{'ËRJa*f ;tTfG3~f5{Bo+8msf^J`ht6΍;Sú=?za1o?0$"cLw=ɈUJrI~m[w~iO~w~%z""QJ@؃`b&"U sj'-'*tIENDB`˯@ pdx"PNG  IHDRo pHYs  tIME  #O41|IDAT8=KoYSꛯ#ac!240 $4Â#! H؂ Q2d8'nw{uUzR=z~hO28C@D@@L\tEWc+un0dD$y/LNl0HĤ@T;'_~C[ /K;Y1|(W.t]\2$/)g8Im,'രr|v3 KSGk RP( $"OHɲ SGFãA eZ+d8!2+{DKpI}J&1=OuREМ,R{Cu\,##{^F7*hsfױI/)S0TN"?ѓZ9R r(L0JG)yll-rev5AΌ}jrt0c6F#!>fs!eJbMr *2 '/8=U*aʡ)?0ݹPgk#4l4ZGb Q({2vw;R lȱL s;W:@)x>:3\)S s0ZQ 2^Oޖ9R4#*](koM·w(r csT[dasYHl^ff˻wlD3,cc/3P*"^09[ZEfw?WޤPڠ ghx~xri֟gF9<6$EV3֠g{oU.%" -Vwx泜9n.A)aIi݄a_:}W95HE޿{fo_+#"8ݟ} k%p)l9񝳿+|/~E]{c*Gs9JzRXLpI埙W':`,4uIENDB`o<' :::xxXPNG  IHDRw=bKGD pHYs  tIME +: 4IDATHuoge{f*(("|tn=@ݓx"UMl}N?gFiƽѴ{8:vq7o7pM~tCSK YtgqatMCcagRe((?oE^<\'T2@al,2hx sb``p  $RlI. Ap品" 0kH{+m.n~cڪc;B%%y% E%) % | <.!N՝ вaS55=1Irf/ xǡ8%K*^_L9Ugo?QRJg4tU[sBOgRZXpuiZn L;J5UfieU$έ~55I7e$ܜw)MTck쎓jpi  ??^s$鑝֙~sL}3 lGV h(xaghgd%5v]R#_O$K=GC{rxN b Asc [vitǫy|]j宆 ۂcS&\'IJYIENDB`h., `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? /0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 4õ:IDATHϏU?Uv! f w%HBcHƄOML7ɓG/&F$\G4ȮeXaggz3 \E\^=3<Ӛ7p{8Z)BD]tcG _U5Zy瘞+~ A?t~bv䣝Jy毝T6L$#ñRlk%$Bb+ cֆ}Fz뫀 a" leB́J͂~߫FI|HX?1%ӧOyaߡ"+~{נ?JY>q쮼$xfvyoEcOG`͖e{'ʈu;;IENDB`n U$ LxnPNG  IHDRw=bKGD pHYs  tIME 6 [͌IDATHǕoTUk}ҡR I* >Bb˫_Oň2 wxwPNG  IHDRw=bKGD pHYs  tIME 9IDATH[lTU3眹0e:LW@B[J*1 2x{PNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A-8iEUcP@A!⃉@L$@AA -Zzaҹ3shFB؏k׆n=ڤ凪습En_)2~gPby˴Ɯr>zG@2i%%r0gqH;5 U'EB }igвOa[FN!,K`SCD+חdS+[Le3[0]3L2N soHx:a;t_k`_74Z>cFo[0/|ެм%O$ %eo:}&'J4E Oj:6vzSIp";Edb]]75;0Ny%n=d`9EliU)"V4^w M*#5 P\*r\윎 Kp5Rt`o4d;-iI%i;mSfqm ^8{*k<~XOuOЅ˧7A k`lq"">_,cobv._5A5(dD,Y?F躪{u˯)ZSuZV=aZ@0,t٣}-!ݫ8K{7q㶄W|$[baچ״ 󅚣z8H0(na3A1NTT"ni㖛=aնl humx^Y@b*IƑ#tWqhC$RlB,; QZ_yv.UȔ - ?Y*y}fAɖNle67O @|^5?OF$?HiԖJB g'-='W$@@F,vU.)Ǫ& w>n_@MSy#O?MLUql44w'7ݟyo<k;> OIENDB`j] 7J4 FD[oQL[9콗 V2g}k#߻H#N+9n]SL#̇ ̤bb$g18)$xL!D%*‚* ^1^-0>*aIZѨ"ؼCo7|2%]RUy6,gGBz{W5+vb+ynJ[h6,]V\' y@}ESφWA0et&;vᝍͫh!R: gKȣ>(;ish־ď*sF.##1 PM&Jl)[3{ ^?ԧ! l~gvȠưGDzaFoZO#mO0Pyt}=Tqn}?9\od8/bj˩&YH1+FlTA'jLj @Dl"E|Bvɕ#~w笡9jU5נ>؞U *Nl?E=eU.2s;%TF<,iMhNdhзmJV^WNTS:qliYYSo̎e.;L*1Bz/?qڇgDUf t'p3l$Pb,P|GhťQΧrAckW = "NC>@p3 @d~CTOK+- .4'gOA`g |{\hj p{Վw#`]aŒ6_tsTE@ǖɪJ*61 `E0y~?:tj-SJO/fǮuRսZ B/ * ˅[FR#㱝jgΧWϿ/Dd ]jclSR/ W{wW5ov|0I#f85ydCL!?`AߧIENDB`ႌxXX6I=9ֲ5@0%#K9?CM/ Å.g^+yl̹7+RIq\y`rJ?V.8X)t}ƪ_B]3̷D/o7$͘It5ǵse3YX4'(uHÞFxk5#x" dBK7쫇9pzbPN @@#h|(ϝ0w~Ѭ̈́pfdQ 1dܑDw 5zFWLOVF  IXdu2]8Q0됞 ! odF 7H ZmCHe5*U W7`'0o½` ބ:xIlvp"̨Xdߋ&M=?'ۏDZEjDvQ<DEDF-=/q3UмLPge CAX 8j4, Vf ݻLeXw YalHEO4݆!NbZ=:A.~Z߮7] DGO4bcL4hJ.G۫c s7+.2^Β@ @9kI6PVHC^(Qjm2\p (@3]K ;. "[#f5>ЭczzB@ TE'Ӟ$t F Ƃ8&H*8IENDB`, Z 8GxGPNG  IHDRw=IDATHeklof/.k|0m_(. RF*jB#@5!@B88JJ J@15$zsc]ᕎfy3 "ᘣMPr-O;S`j5ŬRT|w{[߫r;iG/x<{<#DUר=l~&?/-P뿚j:i)(ò.7/X+c<hȆV;37VzqVn2W.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGDC pHYs  ~tIME->7IDAT8퓽Q][k[y^D<Pid#{! 83'ߙɘ$BdT^rvvoAeTsY2@,0KI QqHx =$bp#e4J<]%Q;fvo}IENDB`ܿ~y XX4 x zPNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"59ϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڤUMO@}NZޑ8?GqoRq|#RB(}'ƁHid%yV"qeesa10unTy_dLlmm]MNNrx"xApQ011{S,.,wogg__[[E1ƃ$7555bQ%LY{a*́mt<QIvJ;x=dC;h̷-p8@p5}FS6iȩ@V;Nozff3f{r f~y ,,!+YDACR eY}(ʾw@Dʣ(`ݣR@  6& (=n6 }l9d_P#clll$Š@e(Yaj8?B(O0E^L VW?!61nnnpռ*nq܊_t:|!wfzHqzR&Zu]oowVN|߷ϫUhHSD̓>Y|>__m4v}-ЏM&IENDB`jo~ " xPNG  IHDRw=IDATHMlTU}̛ymiiPZ)k qE;Ibjܸpi\1`Bt!+ \`E\BaJeڙS/=JDx9~w{;\d2'vbճ=QJ)dYnܸm?߀}}}/_w]۷o H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bb8lK\<\䎎O.~on}|Сɓ'===A&N|T5ۿ3::::88(G9_M#":u ٷoijP:}Ҷo !qTL="[Zk,Kc_X*sJŒDQ$Q)E1E,bHEDq\X5u]r3qE!A9` *,[nwwRs V3t=zEZ۶ήLytvv5voM=U<JSS6jkkd6H)E&Ak8LLܧX,nV c/sE-"LRcfS\B)¶l2c6֚8 ,1sbq]^#5I䅢B *&T*EcW+͍WyXw\.(x Fؼa?&S\gbb֖(;v{9rco,n]" ˉ"Ɏ)n6Y.gNx"!RdViknEooR?ƛsaml槳 y!$8}4um,es:lA%@gaÊ0D3e BcJ?sJy"S4~%Slڌ8XxW{لm "=▐U+VR'k"P}ytW6pBoqjH$<c0ڠT'̣{LMe΢}O¢ΥV>?EP\.S.@ eD `>KBl~%Q6rq"/؎Z"D#FhMFa8 lE짒U-x,v]SJI("@2B "8#cٴi{}y}TIENDB`D/a^>!@ w0 %xﰒ:&G%%iO?/!%IN* }Nw| ɫ60.*pQBU̒va$ ڨGcS#@Jz&cz8DK&)Rx;UVLRąOeQ_߆eY{thV B+ja."H}FAZ%j>|89gNaV 酐ct:ݮR1 @:X"$oCo&R%\Z Llchnb_QgskF8rH*ONdI/iw[L6 ۶}ǎ"O (oǬnB&yXA@)%~"֎:&"<Ї4 Rh,l;٨kY --f- fYf +GсTd1`L"}unĉi.34NplH9I\" eRھB_N1m7v>G}e70m6oyt2c#4HIcSdm8Z 2e[bgDB!kh> $Ku>7wB>pǞ"{'m 4Isk)\iGvꃌo?>mH1eFNJ*CC#] :gh4Xɗ\vn*1%F9i3w!t[FZCaŋ1j+ #ʓD29pK ]w@G+iy! qzIc%X6r; ;q:?Sݿ Ws?,M[!z..S]%w8pu5WۋyQ`8iIK2TAkIu=RϖVTRO(D޼q^najjz{'_ǏGo>KJ KQwIkŲ1o",{W1Yw3՘k.̱u| }{RtЗS.sS)* /EA si8yhc I6qJ% `JRaa~ѨשTٱsbsQأT*1888y(I<`)^<]ߧT][+x9t/x_}WۑD 錋mKl'oC_Y<:Q 1^'{kqkr#GtMxHiaFkzW+_KY!z;IENDB`wn - x sb``p  $RAN ɼrؒ]'E8 <"Aa%wDdE,q(qM+ap.JM,IMQ(,Pp o*qj#_OV8bywu Ʉl?7ֿ^uDÉ0iyο;u g4/ Wepwç?{>[9O֑d{a㑬fh6+OwLʁu׵"ؘ%:Lۘλ. o5nxFNw[5fۿueE_d;k\O -p Q~Sn`Ns듀^etsYxZSs% LlLlĶdbLl۶m۶m'7~?bQ]_:\,,@U@ ?Аy~hVRDDAށHJD@J 7x7 PNG  IHDR szzbKGD pHYs  tIME hIDATXՖ[]Uk>\i3LK˔jTbb$iL$`4&%A/<`"|A*H` "PJT Lι̙s^ˇ)#xO앵w_}>1AB^_ !BJ$ J)>i̯uHH0 䑖Cp€k *9CةUD/\p=ApVvH" էVA!k ' Q`1P$Ua%(̅"´"Uu8oJ}y3WOD<YԺNTA/c 6X6c| }9dhWzA6qq"eWM0ALI=Q߆܍4ī(n s~#'J!'%&cܔ+R._@̒9n"JoCOKdpy.hpH :`}u~zB8*iDm]Պ͐.[>¸ʌnfAB?̝|Z*QRTS"ڨpXr_fFM)VaVQG+!$X`2 ^ __l_fPWx\x\\8t];g?aMMT-(L>ƹXh^|.ܪ^]ڞzj8Nff<Ɲ2&o̢Ya23}9 )!!]My}xuοF0k0Btb(6hNHx~ axMBD>7c-sڌy l -w) YY]d_7= 6BKt7t*j &eG JՑyw}lyT;ϦU_*+%6b.hd0GCkC|Π6,YG*).5['39nlqޜi ǁD XǥvrhAb=mҼ 'j/<>"!#,0J4 rj+;Ut\IYIYJ)M4f44G'#7M `&_ e4XmݒZK,fop5Hz:F*c3*u[-CLZL6|)h(>Xyl=(.&'OxfN}UWSlny="c&]u5Ӹ[w<-lvnIz{A^Zl6*GHr;god^g5;hQ#-:T8˟Mk}Yu+=*×ie:4veU˦; H<,5)#LU6tm?u9<6[ej$|%k/M5.Or<~V}Ϋݷ#Wvxmϯ_1`odt=ck?{6.ޑ.Ml^ f5naBs~C$$IIc qpLfKJf'|~<.+Ow>df5>"g{k<n+kGIG fg6}nn;vG )?ߍGKߟ \%(%4?ARC_ddaBHɉAmBDDa8RB*Wu&;@tʝ̝FC~2e&zB rDtuݱC~epBM|\0 ӳԫؽۣ)a\PH$w|tWxڙ!¯ ?Vm6Ԋ ] vtED_ۭo\ oֶ>o5o8S#PI$ ]`LW Omķiݫ[O;g;l {FYꊈ Þݔ37`ت+{7$}wKz2zc7WS1=Hp[s{cglsWx{'N߅j]*ԷD7+AQO!fy ^7Z.RwC;庶tӓVѭ?⑚e-dW=- @uw8L#%wɯuž;- DEU,NP&igC{AcǾ%ree2kOpŽ<(ܜWC,Qt ZD$|ǿMjP3ˡB7SQQ@EF-Xjl$o\ B.6d4\@9åq%2NW9p~G1>b ܅daUUk_ i쥹[#QOm/J +kaS=QVIn rZ{XYVPy!#^3g̱a4RHšnokA"ɣa0BUJ݂ jCzte&0E ~˩LzaEWjKΞ1Ճ˘qd NǏ=CVZR#./yI.3;DZNX.3n.D]gXpuD)hPt;# iF8Hq7hOёE4=1;N;R25>q7 5gw9 PGy9|0=4*X5*?w7FB:FH2P:R+UfzN L0jLwNmV f%9/ N{vRbΚ_V.&aR ڰ(4{A8 ܨ_*1 % 6STgn\{1S_.;HYChh)Eqv۝^>%}.{g>m +x`e/hmJ#% vг"{ނbqf&R9~ٽo+?6A߼uֻ֫z[x[ oDN@,9jfǒa;ToY$<'ǨH0.wlVۣuӄ& j~3=_8tR,}dg4w|q@8Ph&rU{ȥkpZwOwPG?Fq<1 ortNdDGs蹲U9 v]Ӣ^2XYr-K*Tk,R`;6zto,p2>}Ժ4}J/nY=>qdDwKmmG 4|6Ky.O$U "Ekl2ۛdKUprQHjUBP qA5T[%2Xb1bpVJ$ʞ9/j,l[vn`va+FDn cQwhXŲ#؈Ffvwd4S{'f3/θϢ~s Qtr6;4){f8 t"*[5(_XkoU#R+ZmS dSTАN$NS^aWV@rKku$1 VDzI O\gJjk[Ac3 >nvͳB',"NkSLג@/4Q,Jx妈"KOEI4:`(^3Au7 eB ~C۸q)͎Ϙ#axJܔ3ukiMeS+Ыf Gk|<)?|?fO|B!njh|nVJ3b9O}hf nGm~<^33u~r>/v2rEq!TֹL[@BcjN@ڣkG{s'Y;UEr.![] " Ehv!:񗃛 /%"ð ͸ L|FP'%=#ʂ~{sHV |B8ꞻkڢ8gb| UOY\UOP*_-A G8DiZ VU:R}O5 Yt{xG~ޙysl3p n>P園iq0/EJu(0b1a(bjF@Go[Gn+yLEVZ.lܔ=:h5e څӂ)›;В7 #G_#s"^Q8d";ljWv>9ZŠLG.B# E4*ZR"3#CjbQ _͖ Ǻb"{/ A揮/O0-xuWnFɕ:9ha:R-H(03ynHY =~\Hٶ"1 :C HHT. 4wE!E y 7c67s|Q{o!gJ[tJs>xy'[,}.2ΐZW.S*O^?̣#fG-eVAOrht mC\4D p ֚5xս(J4"pIL̈p0H`{ɱܮm$ CB,b]{!-1YѦ#ZyBJ*y(?6= ,Vּwh\vgc8"'lrcTϗ(Q jSlRn q_󔆫#z6F^Uh.snkm?"#TGyZ;0/ۧItΙMz kCdIGX;i,ws=YMSBYgj[s 9BJAy*=3ەkd|xX0 g _pRg@zo!fm\0,zeJF(~Q W\k}kF{ V1C- bY07.AД *4Etɧ=xBP|8],`5:Sl )hPi[Y3dɛ{aKcɼ,ۊjHTzCR쳋H_Y m\M/&RjVD뷙کRD# K16y^pPzxF.cY}k`}ټޠFE<0w=]awNL]6z 2['Pvnd#pɕzeb'<|~ ,pP +eӎFij\D #q eua,ZX_#/Fe[I2^oJC4N-lǠ7ph^I$V4tέ!-Xv5-5(k.Z2pJpttfG.ye8Ts;g$w6 g;%5NU | "ܾҀY-#s%~"n!#~S+2-lVn604^@ڈֈ81`m"D`,UpP{5QM%K1.l{M0^l2ұ3,aӀ0> à+PCg-Ռˇb0 ZO#jƨSv;e PB5X;4]ijUfsMYwXyE͐U0hQBmý!Y+b7*m ˔p :Ow]s2nuXtK+^Y@ToSg}+"=[bQ.ie"T,/Qo[O-:Eڛ;\5׻]s"G~_S=>Cg]/;;NH߅Y~N7,Uuw(4B+C>W6 _kxrro7[mJ׺\j7TJR߸u P΅ O 89p@ AN$_LA~?T0vy|}w+C'F Iyfgj$6@& ybL;#7\!>:vݳTA +G*k󗚽r]tuz?bbV*n~5Yapw<2?U! %yA 6 IABS;:\N&tKTCqbYxkhxcZ2tv[GQ6[`P%pVp)s.Sm[]#S{$y ;uj;>C]`Ɩָ5: ;gcfsG/g;r䍞b4ؽb`nH7qo]w5nCO2\WWlX j=5:W9\SY9fޚ'QlgADNF}0 䤔Sb1 g,6$ \fQ/x(BȖro_KH郮#dfjR})ULkQZ *PKUk~Ղc,lcS43>  (:uk=)_'fHC o7kӟWbz\̝}қnnfϺsW&d]x~6bc#gaJt9S|n¯. S7~紷0v%B9E5ȢwR'Q[7(i qAe/fq_t-D*_qm7XJF\ uyZ|qY2%硃Q=v`=L&+l(F%3l*yFXr4#XK/mgXbVC_](k:+^-C'RpoXkJY2̣·^xaxPIHƀUb1A\F5U|Zb24V1/ޘ_~ۊb Ȗy b!VPQ H}gY j[#n$Uvh~O5pCήy4TCS3'D 9Qk{]fN;;:v~ta0uohu>b/aoJDIݸ2+dixNWOw>"u]۽l7 ^׭ҩjstLx/eôxXPknȂ2e5կiolkl;` #Ov[Яps6RAl{)*J~ٽ,KZdd}!q9EƘ"xNc"2 :K 4ӯ_/5HZƒ P7`:?0% '${-:Iʨ./]IʆAEIzͿY!ջ[xG?c&DqH7l}%ӯEڭ%gEe3x{5lmvA'w@X<2l[!tWBźEp:&\Yv1TaT+&XG3pi8#U%wLc_KI7:bI85t703%YjFK)!2{BE}f4Lc֯b֞]){5NC;Imx2r0I>u"]ujSM[|V>lGBX+o'IL|`liq$g@n*VXK[k}5LaqrZ eN3swg0^hZwNj70ɴg 4ozI֥qYQCA]Yd<Y>4y%2|N?$ĸ-7LpV,(X~ ጢ<-* C]%Fe=840Ȓ VӠ|ܵy: n٧QXƟ Z:Cc[S/ yBCV`V{(Z>fߜe09,wqjsZ&ÝC:Q|)9e(>ߵ?,wjU:3:s1ԋ"7g:ߎ'E<) |Lȶ9v S6S2wj)a_G猥 ܒKT3nnHx*h2@qZyY4)PnaM*-w7WK%ڎ,ξ'JjfkA&meI?8,v&wyexZk-@rg-\mgּo1,PoEDQaM@HqFb5X6&0m00o6uAIIJ}NNΛwѿxGmu_Q*3ƼO/:ԣzoX"nc>Kp֧< ^* MIo|*xpޮj~'~nN |7Men4alBfr0v y.DcxͨU%u1AÐAmG@^N)X DF\iQ MM2?W**-Z|dIzZS X.<'TbF(jlFULcRH8AwE>,@bxDi!1)D ȸ1uc%*eRVycYƵpD?Р-aj5j -j>r]{1snǫzqP'|xo8QhJ#ڜ*j$e{x=P":h!sB]D1;1q/ŲhQk%ڞ9Z>L#q0 "ZWFiV(QbxD'h/ص#bbft>._ ~A3+z29Tobyu;6E``;(9]5"p,BdGUL0v@[ :oni. ,|ێ$T@#hzE(ڀyX FS5kH$ԽeCn9#Eȝ0["f+Qi*Sbmo nM'DR3'Ĵ|; o"9x+{gOL7F::fN~'ڬٴ jv*7 WKlSMNwU˅k~1s=Knьeeic;V y1[-ξ@B],l"W!vM;[!8ŵln<.} ų64([|]2/ܽ|"+*)sPؙvfY+ZF=tQ Mw9AQk^#B*@ kbge1Y9hjtQZ:21Cr8ZAs’V*^w(KATp٤#$Y  *]LӍi]}u_s-OH-ԷCO+XE/l5+m#.Zbs0_V5XttzzL?^4PA# $fNIH=5sFb15iΔ]GWExg$DFc./;2%$ò?#|WӏL-v4%9}89EU3H{-뀞Z#$ ueVͷWQEI--Մ"¯yyYSEэк\ω4DKT. q'&-P"AG(e?)KGa[aK SRE.CFQqDžsRO% |xo{!|4`(8LJ yD2uZ28y>r?E[=BIM3k3 P|i04sy`ot{-P9商v2Ivdr;*K6h&'8y}tfbygvGqriմh7av>d6d8,6h^_6{BpLd FחOb~<Kd:PP-Ce!+Yp'Mjr}3D+r:.'jri|[L7br$(%pM:hK"T-ŭrzg #k6p-YMXw!J/EƼ'DNw(m:UIљJ\@be@vs! |esެVk`R-"hF((Z^ܱƷm&>ի>R4Ϭ_45C'm˕njqP^>el\଴ 6$;x"̞sHi3gl-3R53U.w/Fc$%fa|FUn -fP ='cWZcenGV ok܇ocD[:'ċtJi1VԱvN,BdžˈtROoRֻܐюU;o  ў/`D6B,X.B1¡JzE$#luʭ*,Q;`thXRʘ=h࢟hrj9„$ltTfyНI@QRtzPKD&vѬ#>ӥ ~wo_,;ٴuNiatRm[ka ~Z&/HYW%OgQA,W[OeP.$.F< @1<brgGxޔ]Wѣ^K-Zr$5@yT".#6+єDwK66p>ܶ)\~9Abߚ> ~?8|2=Nh J>oiRJ8 }&EЪDMiEނ;K8llAw@,VwںΔreVRI:#SSGqPmB^G&1 fܱGM fC0eU.׼*σkJmBIHfiw,_<6SΣqSd/fchFJ7X{>pu<Q/4st%USrQd9~j+$@S@UyZ%p+CVimp |@khkh+ {3nD1y2$IF`|FzӦƞG!W$UNunh\Ъ2UI3\ڷӟC.]S {|_\ڏަ!e@[@4 /!x4H PƶT{v"T:}3e$u=M 3Z(W0 @PK C2Evm/8G8@g2tH>_}!>c|Gq_oقūh61c}2OVuq|LSzV:#i>CoʕJnߤj|ϲw1{*hi;ȸ]cױx^Z9sB==@$R'"ZiYBOܥ~Mƀk9>Rs%znLbM]) W ,1ASSTU%=brHuΥ1meǑ`k$e彚 MGgpk o XӇk+O:` ckk1/}FGG{TR#%*$ F^#`'8ŕ12?[U:L`ҧ=&ZBkE$Kf?=G,/ŋgƝ)'V?Js w/Wm<2kc;yv[Pw'?va\=3_8֟`+ ~Rb;1,2"/̶&m~.?[lK]s2a$u|04Oھ&Ji`fPFEܨx'hW;UjO>$玽̎fc U0(RXS_Hه4E꒘L*LĝOJ׵S3O?Q ܄R00xgoE_EQ2acQOuEzQ$ٞP$Ρ!\Z[9y>]aQZ45rR8J>MK!3*՚1 jO2GZX3Q(S|Ԭ oRЬu@ГΚ!嗨h+P'4Ln6*,EOw'?΂#gzh+K7Ì-+\_ڂs<>"sKξ2ˉsa}L;gP2խUkS廹>fLf8RU|RKnlI:|.7E" >>u#<7 s7mZ߇8<=4^kgG-M(iCz|݉5R5VDj@Xr æy uQu6#ufJt踺ko}8LG:3sd7mO)%i"%Cj Bp^re6h #bX4'}9O+]k Ɍ. Z* %%P7EkMpt2<G8u\ebt/?l}Cq^..1~/v8w`m\|/}V 2ʹc/pr-oi^}髴W63}#,,ʒ9;hw)u#0|(BMMNa6ɤvSJ^Viv{mi1sa\bh##[9=(CT\wlg`mͰi3"S U+2sdw-1;XX??`bX;˺Ĭ!V]_7Fꐰ<(ƚF*5!'tUUUuJsW|7ntQN}%y Wwyk4 AyyJu/'-fy ^gH74fjYJX%(iZ4 PQ7Vl})4):)E_r@D,ZE4}IEcEqx\1bSԝR +`T1.zk5?R6TBƂ&K,CG7ƶRXfzXX'rE+YojG6 n if|jڋi3/?p;';q?]l߳׏{'[_#;-5QЩ=ٗ 8ۙ` IDATԩȺa;б N3 a-\7*ֵMxRoqri.Ӷ0!IP%KS ֺ 7<=̊92dYCa C*<1|`cc?r?[ WǛo2<}a,%VuEI#jjX0/h_"WRX d&AKZ<\kV9nͳ8ߘl7Ot߾ޟ[ gro. =Do=12^H٩>#AJw"2Zv~iui%gGSJu|gBiUUe$ǘ.wiՉ2n?=ҧzAb c%CD)R HNJS¦(k9ghu*AGV7Zv."SnRvSY\k,[/Y  u su&iV$%58 3iG\?EeDҋ*RB.=D>/!ӰN+,BM1#>@^97x8\r SB)A|)-9 Bi3EulSQ˸EIbۛ!u֒XAVr:Otj vA HIN=n'`4d{JҨ/^hl@Ņ _F93=@uq3?Ɵ#w3xKk|9<78u/=]ҵ&(V&’2:6B,Z4E{)DžRl ݲ\mD)ԣ2]J$cǤ䭠`%otS`! O{mAAnjzB%t6#Rڹ s\{ނ 4}wP՛=@4@ VQx7e!׺~VE<ݵڻUgʬǨ h-:7 n# Z: lKJkgdDX r_@*D&M!ogz}N!oA)JϮU3QʟE&6iR ǖ_g"B.>NT~}jűۘoGjy/?S?A~g/lF|^f;ÙDܚ%H#b,~ Bl2B]e$9tLƋgda:NV)L3t^J#\N?)IFH%*D}! RkD¿Bv1}9۶^S.سq>|ۣ,FOKs|/>rOw@1O/>EAUI\_Q\kh[pD%N1bOKAH"ވ=(޲,4dLWd?¸M^ZZ,IJ`ޤw6/Z8{62v>w c:Nc ҁh]y{giY aI:~7pKcfHb\HBAa[Al1k%!)P;MT-t@BJI)Xa(& ĴZ{4p煛b ڍb̷-3fpIos$"æu7v;\~8f%ߤfV(%ܻ6&,\JKK5'xݟ&cͱ2J)i^]i//py$nS% s3D"FjxO"{}X]%ogJ2VأjHkSnlhz'OQ k tZzD-^8Iٓ2!zy.Iu~pvӪ8;2m/ ^Q?rY{=M^|鯕WHBvɛL@=Z0tY+pK)퍯a}"A+TCydN616mJ$FI )ڦZ7S~aHcѱY*")2.)E- y3c Mw8A&)2 = $""8vI3Qc 9# Ν5*Vtz+g/UƇs+3^X!IJ%-B}bPgS$-uO T4EZ҉WsJGSg‘Z&@ ِdL;VleRnh 4PPI*}TrS-ywV}2Mvt==3U@6KTۅ5^m 6 {PX 2Aa -3yt|%{{i@ w7|? 3 z"\kRP)Z T.Ph+ H G8B9h㢐BZfS2#ٷqI1&r!A+XMlS4@ WJ!! E6A*$ߝVܷa^߂`yBhh_klƱFY%^~%بpu9_XǴ" ><;EͥyJ9wAU0~0&&-jK" rR;qF0ѼmW qe{8NiGi?~,Hӧ&Ws]XMq6!Hgӓ6MSVGCz%c-$G[gbN 7n! i5K'100 ,{)K"z}Ӟ-?$د^s *i҅ޅf dhs&ԸL6oa7ʴLҤi©4E_GҴB'ɉ)bBQ vUم?>tT6"ef~1TڌD->e֢iX_ftVZK-ff1v-\- X]Y 4i\I%ā"CSvt"z+̍PJAd[Pi23NF#F5uMyz"E2re#n2 , :#< sIj֯{B?X@d0RG1$yJ$17G'I%>ZhpZC!P>ե3ZA "S~p(ORK%;ѣ{^ LiaIFYKQSbӄEn9IL %gF:B hB!n9xaCeB5`'h`(,\^feaJ 239yŹETbJLl"D" E#/[?<X[!/]c<& h˜.H6g_^b=3^:+ɅHiXmJI/r !8CV&Dz}@WxY)-˜/#6&L\\!{c&eXYKT"T?G(U 9Z$P(9QP%E_gOhkԆri;pר$cBWQF̝]#Hmcpw`Yʹ ~M`MxIa'>vf?V%}5`L'ҶӢIV Ul\rteHKJ0A$I֢?$Kk*U)iI. l|GM ×Mي*뱺R]a i6:!i=x?[<ŤߣY VfGCKrg=Lrg~Ȣ}zIN^dd f~c)U/!s3s k䟲q+W8xO k) j]m`/y\yafoG-QKm:"l>]OA$Ylf߾׬wp>%YZfbN_ٿeSh^ z4[d2{LUH8p̱p͍)TWB7[gG९;b&ʺ̇)Թzfrm܆Zthړk HfY^DO>G /HrsWvс%YglEWV#X^`'됡8kudk,$B#ʵ}$Ut[D ' {cEXr߂$I;G sm%VgEc=6''uɾ}+g-J4d&Bz@c߶7]KX{W#zz< k@6no$:}`#=TRJD*ƺ4ӡ9(Rs26E hǯ#3R*wHI7BiAD[XmQ"8`HNKGdҷ'++18~ЗK9IA)_&-io3}^9MZsrn l"s<_c烟䪤5ţG$-&& z`;T LE%WgKkX#kJe e~m $hg P6ZkHm 2AgF&ڌmk`e {orâ"։Mֽg h48<>[U|cntqz&K"rsԗ\:hW>xFm$y B R1(Kþ yCAƦmuhJ0LlBԤmR;+-)Tڛ,=s鼙6MM i3$̸Iz;u^e7)>[gypD^OfQBKr2F(Ȅ[/7MvF$ΏZi:)?bP';o(t:lp#Slcў"{<XK /}J&Xs' ET0X0c[ >b>ӧcg>2DZS1I5ڤI yEVNޏ}+Xر&.\ce&`dbԮmb)d27m;ebfJS5OI\ a^"ezP[#?%Ƚ-*#Yo~9th>9JN?+_&_hүH􇷣?{`C~ Wwe n/Á;ΐ+>3//!"(I EH`(7 uIW\ 6׋z.5uެ|tZM&)S┳Eaf?Q zg˄Ba ^+#*$19Y㵳r,[k<ڒӃԓi ںbiJ G (HXZɭnb^˟[mklg3ua2H Ibi[3{]en~w}STÜ;chD~ᛴI{NTlCL1m/r79pN,;FE5jO_>eFTa}<{5ZkjȷA8ʄPhI0!M7i?iLR.=Oh-q߃G8uw/6wh ٺl,!DgH!?N^T1&'S;\SyS:R׉e@xkf(JKDp .Н8?\ZQ%J?3ˑGpo}G"ArՔ72R.-5ܿ{ ?r;Xl:f|]o2q5Ny:iy+ JAXR>Ϸq̫J֧mo]Ҍs-`3|C7/Q#J0/1V:_~*Pn!ؤyG:{Ŗ iZrBw3 }m M3\d)t"9e[~=fz&T66 KWغgkkY\Ж2{yj)\x/q,ܳ}<)FJ WOäEKӀpXQnո&aD,3gY1G[K_>@fY=S÷klw{T~ J71DhaQ>عZ3?7O¾"w`jp 8mCԶY֓6/-v 6?HCE˖T.9TMIPhtƫIzļ5Ƈ֛F:ŪcѡTg R$Q !aPr-㴓J75~M1PTT'j3P M LE Kڎm 4 d !Yg I؁I^r7k9D^ /|9r}4fWG P/&GI'_ɩ'KuH)NRR)na`p{&Gk0@z+XjGxRɿ>K1ȶ#ۙ[^aE'_s{v*L_kG8ϩ稔߃uQ5ؐ2+DwN 5}WAg') Dy*9$v IuT T i2RSK96MVZ KjBl҆mKpnqrB:OʒO7ZIx`~WzxE/aV F4J*QoX ?'7 iu6e#|類wʬ׆~1:!:ٲYhH6UnCh?ȑI&s\e`Xy?1-8]oE0?{/?K{4,/ctm[,MFa)Vߣvm9lM}F8pW_8.Usw/h$%׾HM9K3Q}[֟%n_ḏ_E$k1/]/?Ɂ16!;"g/>KXR{Ԙ[;H>1ow/f+ː%WB'EX6m׭ENj}ĦU _]` Lޑ"{wU( 0iVBW.R)9)0Y\ܕEN_YcfYڈht@ra*GI|%cse <wLݴt(yS<}"+֩XRmVf:E-*<tZoJ\nK~|$u} 4ZCeqZr2+ukIM܍&?R$c79NLGc7- 2 nvP?bN}'mʑ^`H8:@5o3;]gTeNyҥ5W_kPњ|"u>bKrz]J7du&!mk :z-B ؽ6RJ5TCf곟tw抯<X}-Eհs5V#L-}<B3Y_aԖCDpwʉLQޖqf`Dc-7ǽO.$2,MCnpd8$n4\Mт3&}w+C>M,Z!iM~+&Řyv~Gą*SP@E˘+ L!۶0k iZ[A-TC|ĭEE7F a`{ kK:B}] b4expVkgk|7R?J:q<43;ub|i&k_}JD\'5\biqEtpl1ܢEBmͧ>XjJήy#]/q(YȰXycMcb=Eϓn$<~cEǀiq{e2K-$FX"@%qa0_mZ6$%E!BWaX)BX^RDXC@XeڌSiD=ŞG2Ms -q&r3qb/q~z!̏#UR6DB$vB܁^`a o>RnS:ӴrtV#GkY*8xʩrAuj 3С:t;> HB7,玝f`Or-ŔR>ss,^cbd'3Uv]1*aŰk|7W98_=Ɖ疱MK4#I(`qؿvaA@IƇdj{#?=wľe/OhR̅NYRZEK! R.*CX(ڈ(R))WbBF5A2'iD5G' $ql1Wat`Xv&RQ Urȕˊٶ3Po/B@SQ ֔] XİE 9.,4#Ty|.]WC 颪9)<nlMSlm;0(؃pƽyN\ILaA*퐎)H r]K9Fi:I:VJ=Q6tN$Փͽwo察"_o1rwkm&P˗ɍ yDRMFw2(#*#CQ!-.L[ %sq@TY[O23=Zel\dK߯RطիOR ֫癛]+7(׸{yϫ\``[ga=c|}+'6C}9:ke6r8 /'9KM|%%%( 4ڄJţOqZB&g7Bꔹ+KY!5AI:^$MpyZ ?{ȋ:X7vZLl=Z#{j͚SHiM^lĂCBΛ,FmAF`^)PIXE!ΰ&/H) ʋ*xULlp2JC*tV!,tn`Aa8N5o5C-x)L"7ޡcmH Cc%.·λ7 ~5Ugmxx5^|\YoYkə>v_}-'YN]AJ IDATT.k-~)KIl%1 /}=Z %=dWmpa]rzEVoÌ[P8VR+vBQ$ υyh3qN=ΩCGy/G#:/:mS1mp *?멏hJZl^O-/l'~1}~49h0UN>9ny ~q2ᎳsmWTZLGfX>m΄|\v6!K͈ ;I!w];xb}8|w/cMLLmefǞIʥ!n=#8yt8}jgwחca6]ઉ[{[&o}6=ӸnE6t~yw/|:L*Qee~UA9;/^H6!'86Bc0R*CCf"C6e5q?BDnBIX$52^`i_Au< S$g ^ĦZctŸǑkx# A~V'Ow_7DqFspaCdQs[b6{Jmp4aBf輀PDW܎[*|K;"5rm73xų JG.F.ast=[[xM[=j\Î-3|9uGZzMJjJ27FQefeqM;9WHIn暫ľd# Ge=7\㝼p l%MK?ӉZaJIQ?1J@gh ~JeyŵͶ"ڔg@#5 ld=XL^\ h `-FyiW6ȳ Ok^Egb%h.tGaz{T&o<@A6_\?qs^,Kg@ ׍0$+i0.mr R3ZejdOw?)+L3R]QԐs$y$,qq܈/?Dj W>gjKXϝV_k'WY]1NI☍Vȑ㫔k{ڢsI>p[-/5FwitQ3qABsiX2x=<'f|Je sɿ".1NZ`%Qm,she'>WϾKvUxw+M+ N4e9(\D1_< ɓj5\r:GɰFáQ4aܣd)iclN>Y&Õ0kȬ!"voZ ],rIS앱)Xiw"ݜ8_f2>d_ ~.A$霠>NJcΡgzխeٵt!F7 }!֍Dq7p L(qWsVЅА(j9 " b9ZXV+f)$ P朝F&h\3=缸iu\u\;vf)wBjy1*d h^|ÇF >gOԱofM゚ !ןC'xOα&$.ŭm;ϓ//q>qN>ɧ]7r;~]6[O~|!sqspwpSD8su7132Eux3k˴ ;·}w%_nnWc$f5R +v3,&JC Jg$\0KvqHs\jeE5p);09VU1xœ~9y֣鲼ޥƴMVVVX^p*YȲaէDbݥpN4QnxdaF&9IfVva!lLd~F [⍿?m%2Ne%dnV3e:%o2=bȱ 87Է5׾H23/;~]lJFDdn~+:wA&zZp{L%{V- /⹛YZX!O<ָw;N~'?2Qmk;LN9NKlf>D7 IŒ|Ie|I畩׫gIL *aZĽ(R.zqFP*f]~F:'@fya88tp/nRE s(:_NӔ/7oZJg؁:B*Ͷ)X2 r:UK+h @c!P0Dk/Y?6en&N]$9t">RbYt/b)`v0rMq Ҡj00vX+sGy%h8{h=Dm, y*gn4KpxDu^<:4LKeF P w-<8c*8%(UJn,Gg^"(q_dNv/tBMji$e9'rŦ*,b){yk$9j1Xbc7=fv0:R+o|?D*g|O[}FG!W\,D2Y|sk>fŽ_{}1t $7 ;ؼCb mؙoh"\ҝ>z76O?Ȧ}7gӦZ*S_!U`-zw\.no93TGtY@]HLN 3:[~7Y\I:6ɕE'W_Zw/Ix9­W_N-nwhTk#\gN W7tl(*6q*WISV6]MR"X$]"ffR%e;o,֣AݤY#t{օCeΗ o@t1 U8++J`JOXIfFUbq_ET:K}oΓslsź2UI[^X8TIm.Qưdg}~ck2,y2qD\ Gnʖ]'> ot-Yv_{:6|ټHuV "0eoijqמ[#_![ ﻓo~IaJM¢>Jr;[Xe9A@fK䱳Ԇ`q@z__>aR)*nYxO_χoP|6~J)qkj\^zO}1O⢰"Eq2׼RDP哴ϴ6*Y\㹽ᇶM*BK0MsnRxfOIztSn.a&n}oܿc+I. ~P%!QN:ξb׮7f@nriI@ =Óx_wC|o?շ]Oc˱G=V8׉I~A { +:0LFucPeOTJUyاY<@k%rvN?̓? _wKj[9jϞ'oCB[V/unZZZ" bfuK;k|A*Xtn#,-aG88@ Uo/$ oϠ[xi R"3}.5KBH. fp }j #y9C+V#g{26B:2@ہMR(cC),^VŠq29~kI}m=q0I(c)9懮g=FQ%=J%Q? 99Muze)2&VN/>Mdn"j2Qӏ^%$_{as,=ª./~zp:]]GTxxJkuqY9ҡTȶ <.Yfhw+ICgCqq;%WscUڭmS&KS!b KRoV2~7?}w?1Y=.RzNmv3W^?.gk݄%D+k!=\{PPJ=?"q8_H#qSrB+srSre)ei"iϫ.Z|GG *q'v2Ra0CV8SJaq\yt {4!Z=q2f9v 1f\G>{ m z~~diK91\AƓ Yl2iأ[&fbd++'-MN:LR)V\N^;9 O;?d1A1xoKt1G46I*KQK˸Ak QY_@^ LR:>IPyN"ᬎ8׉1VmULg[E3+/6GVh=@::LK#۸b&_/efNӗ[|-ަfq9qIZ\R<0㐧%G"yU3p*im~0v(% uƐk'bƜx"(H1XĮX IDAT9۬5v{P9&+`>1/<\q U< 98$ ̠iIW(2A#1jG$8}9lF{1TiCЖ 8sX³ܷ;ʿBaJHܰAۑSM)+>yBfDi7opՖuSRi3uUlD ~Tb9<ؓQɩmבALWiVl垷4w]S yDiA"HGh:y'C)Ee򄹑qУ݋I L2^CSb cJAZKQ*I)adumlڭ;UF)NR. y~+b`HkpukHjR9s梇 28Vl."43ԖfTD QeHJ$J-'W./i89)2BZ.#Jr4 `@Q$΅B;:z CF G?W[0BdEA#bA 1ծ'|aDQZl&sCSQ $qFmN?\NMa'IJ%dG?Gcӛv%Ju::d8Yq%Gс=ב9UJG>NI!#<#d^V$d7q]N3w8NthgpFgxn =.5ˉSxIu}u0ZLj(7j8f{k$F:dZ$Q(DO$dc]j"RqvpK=k6XXo"v_(b<:%ynHkB[yZ, Q =S]~/ZN>MeuZkβv+{qCCfo4&F1ilv ]jXWRAfmF6J E!3(2H"F*p|?/-6E|#=5X3([.(LIV>ky (_vB3kVxuLXzl|/;v:~x|%_% =062-e>kYơ+Q_5$JlŸa13muI.(O>CuZ׿~e~)`dx{̌'lI;_826 s*#1qow Eeqqrm-Pk86#ЙKE܁TNd2'%#$mR8$C F FWi,$qD/pCYs󈪂~m2Ij+&by5-6Tj5|?={|Ͻ;e^69KELjmmIrf^Acr\tP[{-$:H%U:G*P hD%<Ɋ^zV"3 [x0/a*HIM_H~K4P6HC8V/6)k{9mW51wʨ_', sW:#Kf\>rԇH7c+Gnk+|_SSa&nd Q9<"nq]ளT㛀e26Z!.1DUR&h˔_N6IqC34A:I?J@&EKK-CjUNT)K8J#:HW)U4Z\ic"Y_Ŭh[lr(h48{Rw}{~O/`pM%c$'۔DܫrE6+{0pi),Z35~%rGZ%׭+)ǤȊV[9SXS~^^!k*.yL8 R>΀)(KQʠddG QOE {7f \v C\ѧZ .%y,VZ/&A}W>lяsb{fryo0e'{MS+n!nU֓<1Ʊg$ꮓ&1ʩV+:JM9(.3u4 KO_Tyԡ :>H0B8̱^@+r&g\:ʥ.B6ȌG܏q+2JCC̯c!Nz!7P2ViHilwTicr(JcB *^NnW/3ԨgaDDN#Z腮β @J"Ig 53*u|Z*A"+NyN7>gvT9J߽ `xIq&ǘBmdϳSxMN52 Tsr[ l>i 5 -)\oAP9(}D#3sq !tȬ*z8b;&p XTkl, 3k*a=25C}MmͤdC iJ+bS6׽nfzƝ_˗xϗz=HRCP '0iJ^A9 V+1i[lReшq|N;gLVgIDb4%1e5{G,T^dj@0qlR K꒤,iˤIJ6glܣVJA`mTkjÒՕ Ҩ+&j#%QvU8F8@:vLX$oc[u>j^:>Z pl ɵ!3)a!qqUN?'7:E8aDdJHߣq9r,w溂8LMMO~V~޵U8u",4##'qdc,D68t*U'T;=Z#lD=͢s[ncA)(cВMkW*Z#PEG cH5VJ)0"/NF dE R"b ڂ x륯:-J!x2ǯ:la&0 InN!-j31ituHʯabGwT0 q(S8,N1*=o+qjg/E:^׏˧(<"a2 gT)C&pd-(9k zN;VKYZ_bzf^o>ʇnͧ?Q׾y]?eW eRcus3#rV$/7X^YzdRFg(BfѹʼnOi3LLzDHvF@, 䔏^JBg،:qkSA L$0#J|q L4a.}AZsBzfNyN-hQW쩐utiNc%.=\ayt*GWR~=@1(#iXDxt?|Ϗ_&G*C>F(Ł5ؿs IV [P惚_ `3O&RRM30=#~_%(Gc2  堂/`5J<sw=%wr%c5^HbO#-L-3<dKJF+cx%Aa3,YQ&PQ =՘bFJsu 0~Cfcmyg>w佗H5[lyȰlu&Fm4:M?pZn` (AnnZHP+bIc,QH|y c^")ʃ8g~kIӚ>{|Kͷ+̧5O?}`{1YY! oQ|:fB.Ƈ92B/^̧ [_b=ZZ%<bULI=z#/T _~zqOwFxgs׽rc%(ՠ¶ !Øeٲz.A_6_TXΟ~oY9uٛR:WHiښ8vt[;1m\tV}ALq1FـH >q`8r3tA+DW A5oS/C/]\ɯ/&&(qCDSp, :^4 ׺8%)fzxW?b ah+Oo ¤ٹlr_oOжF:ʦfqrȝ;0Bk.8/hQ:DL!@޿& U+|ˠhmZ !o*E͝-m 8XX$ F1HsR6,+b<{j;AcM 7,J.Z{^)HAzZ>qKW_ckt<΁-Fcq:Rr9btXʁqVe.Z/3˝&`8 D=fc䪥Jp0TB*0@IѐIJW8f\9? h謿чdیtz(dqpH'|/}DWHvv6բ VnFL&D,y:UkZuH#e#~ǹ͛OkxbckA!Y6W7ޛEW yR }/ۭKY=FT'6@;<`VȺ)l7Nih FG,t@N kVSV{ )r< s)*XYdCDF)Q,j. \7i[St?uoZo 3| TSϳs\~E~Bޓu; iA"`cIjR)ꓻH{,?-5J t(Zc,. E i,TsWW84@`!kʢrXg1%)wJ-Xc0,vDsy1U B4 &p|<q tdbT"]9JC^))ZjgGXuK4q~ϲ8ؿ{7qH'x+yGw.p3OxPay5c*nLXke Nj4QK1 G2b΃5~u1,@'kjUR-OqMW}SCzKG^6Dq֊K~|g_:goNP:ɴJ?c\b>`׹vYDȲ…l'%ݨB棖Y(ٚU #O A#[xQF.$! SCa $wSt g-bvQhqjM5__nݺSQŨ8ڑz䌫Mߡplx>Wq<|K2ۤN;Bbcss|UaцYpSߞR~_wj>r]"[NI/۞ vLQؙHw-hф~ۂdExqV9ӏKZ“vRNR댣g{3E70 =QpxLy؀S8"g`p4>9g\ /t U3akl`<$#Z$ Ɩh |Zs}6i߳xմυVX,,G6 [8U1m٧%wn~scjB-8G~Y4GHH%CcWmH$\gv;5ZԂzNؿ{L-S4szpm^)W24+W AkǵI)ǣD8Z[SUb֒{x 7A3;FLݲ.3%G¤ϢƘd}AXms=q¦O8s8I+Z6bw)kz.lC4+[ Tm] 㠮 ]Fx}ßg2ĻSx'$%˹/2e(hM%cN%ZOk_,u٠G1O*¨DIЁ`~<'$q!"3zj wKKuX'/ p_4\Ԟk& ĭ4)mgNZ() A@t9.ic?C{'Hz'? gV{cf?@ I[xP=ơ$bd7lY RÌDDRR/JN$ed~BuCF %TMu)tc~灳q&&fL;EC%:Z=A>#8i ǒ2—!BB66-e 䭡W,8.h ;E谆K %cz6=8ͥ<0|AD789>N{ӊnT93k!Em&=!eR_xi@9  *%XUUm)݉l_?cY4Bp± ˌ?X6Cyal2z+pg RwZGk 8בT/MeXJ&9% oZͩ&'E (#լmTM։ۊ^ "oLsa2y;GE u,E <uK?jXƓaC Vp2Bĝ;<kA{},'ZiD$TG:iRRVHTcE(-1I0׋h [cH\||\+x\neiGO,Q'd?zzw.wq9ܽ{4ם;wp%lst֤GyC <qd+ZY$T0>u=$ ϧ& "l(EP4\YG_>@}. >N- A :x1B[n2/bzeCv%zNpxt||w\ ,{yt:! {ibu-ApBoS63T魄tucWH4%;'h.%.8P(&yM^5SK8%iZ*9Ɉ}d[cM#y \.%r)6r',Ak)-mUՂ%x>J5:g˘^ƸB4( ([Ӓ(xꘙ,E#,Jxqdk&b$š+3I.?s3G?+Trg: dΡT0mTB.XbQU|[Nf1Rڊ)p})֦N:W,BNJuU:b̜JD[ɃC._BV9&?V}b1/( w3<%{sǕ}ǴFqyÂȤJAĠ*5pO[~y1! ݚw1ã[Mղ[K|0uhY&)¬&Hh42~CY uFx&gHLJ!xU Y"Q:mD$&QT*—SP(J#G ӼA'Ԁ ,4h8+5A*%UK)64MxrF t p ôG:̩ u K.3m_~;ݻw⩔yڂ,rI)$G]򢢗Tc ڿHYv/I sWr\92g^,([ˢp7],9Qzn޶*|qvg/cW֖ ihJ`mDђhTpAaejdņ*hGwܛ|WnN&Jm؈ ޾yJy%v#rErC}WH62"ŅnQ*X2)9[frNf,j#f9~~f. ۩]jm*hB9E:F%?}RyI0L"`hXҕaqϨ.vPِT(p#T#%z{H+%Rй/ׄZT} gru-yBϯlånD܋(f ʑ1а@23-$ "=q #-NFtI"Q{IJ~[I]5$DT6GT]F3ߡ0vjA+i_5 ys9e :]&* aqWăԫֆK?[d'TaqV`A:]4H*c(WKp d .{Pa!}fD cdŵcT3bv!<U_gH )sJ"~ /MBDArAMDž}qB_0\0eg6s1tbp 6ĭ6ᤵʸ2X+;%ڒ(&1ߜ ¸-򄼘d<)kzYWop $YF;lpd}=fV Lc4S/,FHB H\>%򎞰M<}kNbU g"Sƻϳ扭>3Dm&& l'!?cOT1V)  1Z.% +M UqFkű/ BC, HVr2)"jP +J\QQPy(#Z|FNCBB7o|=50=:0:zY7NS3[PJ) |dX'Tz0[Lkс5KT8lFqpNNqWJxԹ4mh # M|a߂?!Xƨ0\ .?AwWy_ \Y^2،9 #"d/X_i c)ZѴQ80ZHnîGjxKe5'lgSpb .䭧2jm`“vz!+S{lv t7) VKS)C!SyO.wKAJ^aGc͜z/CizIR[CW&p͂6:cQͽ9io$98beBM4't:!lN͎YbZs2 ҈ajLy$-ac>Xf?gn1?ڡy݆iC%3!5:$m/cxP,0NBhZhT3C( O9w51tɟh֭[K[is OKoZA#d,Htk dgR7ҖQ"ǣEE՚GX#ר0Yu Ҙӡj-MYڒLTm\-y-=d'@ b; Y)>e=Rgd\4AK%VC\bt;/[e _ilNjbeHv" jXַ؝9V[;.f z+jv:+O 8nW %bZ- cj:YdaPWppttMȲONߖ_1x 0wD$hEPev4rmcB1\Q ;UE$uă͊%XEo%.HB\EuA@[DS6α f:QIތ 4"Qqtѿr=Wt[iV&s{kz޼gSع"iwtH1K4 Xi4bʅA)Y@[Hh)8]ѶKk T($Exce+I\z :ܺu?_H꼠.4i>{7tch &`.McfWѶYB.޴<|[ !B?ѩ;kkViI*xʻM8tfpbXgt7Lpueqvv HZn9D OO TOƯv^׮=;{; 5ʨpѬ8fXgŒZM`G O7 Ё'KchdOg(&Z $Rx7[mbueoAV0rְ+g8t5!* ,won )݁I RLJilL{o}'xd廯nrM|7{_ڷ$8lcon2iazPN >q6JmKfNgфgFǜـ~i;9ضa2]ƳE`\!z8T>1 ۛS[ߺ_={W-#?݅|xmPrx8>\m>}_'W93Wx9y|?(O7ػ Ő_"U VOb#3_Akh(JVmΟ_$K"&,~("Ӛv6„1ke%tiL'ON:I=_# _| -D$$f|pTM?>V|v>3G?fP4 &cu F"F4GݘBHNA: S&am{H>\ jI#W6鋔` c ^s$,1_ ~yc$5Ƴt|d`^d?Eɨ͏ޔQp-7hMJj R[T% ~iMf 8\L<ү]k|x%3Ls/09s}z/ CH:<;s^Wv7W?4~ 1!Z/?V~_=~ؖ6Ÿf# vTnAiDd1UL:)Yya$GGwXT95"2i9$/ݩ_):Z x?GGKM?,?@<@=r߀j w?O{x_wG ηx^uQ?a9Xh+4(J+ݩB h#{VSv4kCG?фz)3{V9}U0Lzt>EVBG% d2fr,n]1A1&غ۾ՋaŚl_f<9ftg[ݥ*KҸG#(>o7vu{q>xb,i7 ZK&i i^Q? ɔjYHjW<4!w<s/<,/O?u9äX}sjLsv#NK T 3DIt[>@ Zckv& կ\7j}YՋ9KvUx`m@TU IDATLOx|{o3#"wHĔaF]U9VC5Sz]&2.-ʔ,>3$tX:7yg |eTN*ˢaZbcOrvrXXxJ̽w\u;7ʡs7hdI(RM eJ[9<۔oY35l9ȖlIV,DQ"  9W[73T ޛ?||^U]]9go_;byi2v q./Hg oC'>7s)nsgݬRlBO$E@}h9&{;sG4oeq;ti/} j/物y+j 툖fbr-9 mK2XJ,Kd"PP&mq{\#$(2"oY]Z`dlBزlm/rmn+++f"Bw?գp{l.OМe-j85d^hL#6݌|Ћcuu PXBT4 $b8r Wqm*Nj8'`@+rzv-D'%TN,@"դU׉Q]iY3)006Jcu–a A:*Mb!\T(BlH'!kz>_E $NC4Ml# mFuYbum;mZHYvV#"}"T%.P֘.y]6Os buw?%صyOEFAf4١u{i| _//r78E%,vZ.e6ks>u+?xYaSFLKyBʕ/`o0:WɌv]&'xy޻|#P)25}jbY+Dst3cэ v"1qHILVcb34bܠj躁x(P,]g Jã']ٲe:IO{$qmP f!0y2cQ:k~CˡWCW!H}8+}VuLBbCAÐPSI}g˄3<$B!{*1qG H0{V#ՊHg59=UFDbN"&]XbdH`xhM%0$9s/@sڄm"!R B<~}Eg [9.jBP(ei]DA$J鸨BJJ"`6o"B`Cwxs8$mmB4[2VDqBtUVt_'g)W Xa9R!(Z)DUr] 4Q4ڳ>6m~ 3ψmO4G߀˄/XzQhy񯿎}d4ysHvuHr _xfNYf0H܉it] _*M; d+xUn,+[XI-Q(Hi⸒a1v۶ \R"H1FQZyDJ)Qh7^;ǰf}?~ּ Kg!'O k@3@_@> >De/!rC0pXi$Z$)XH?D D~OqT]!mihF,%`+F C} 1n|6 S*hD1hKsn.T6j8NМ&Y2Pt!]d*f!>b߽$`*i֩n=:!:(aJ!uVQBh1N:ªŨAr-Ʒ0X{!'S`Qc$euai5Q nSL$L5a\m U`uK0. :3l)a6z|zc{ β&,bG:NHsdNi&e[%nQTrM#G/ZǏ|lTRs^u?1N~uJtD wjF'qB';ʗ}|Ls߂W"˲QF2iM0 Bj&tH#nR/!it7N  ɚVHzk+=f8A>O\9w9^@# FECq 2t7br#z#ү#aaD",A.2ho^+4Nx]tBl LLW _^#qCI_J#I0-dtz' zLEnv6J:Awym$:Lnedt>eT[R\NlɀY'Pb| j QAT^W#yv-˯J,6T 7aTtba 榨:>Qvi6i4,-p\V;MZmNuHjk)\s$SX͈ÍYUAkD:M$4: t0c_~ @2dKVO׎nFўe0D5N0Yh |aD8݄ Qm8->I %D!(@j$4"DgQqEpxhXKOH#tlKiAEfAOa,#&DtfXZ;Fxz8 =uV򗿈*\}?Ͼ#$8f`0 )"\AӺO.2 f^ASlVg;LFFηJ+GYmxBĬW`zᷪD. wv%QkP-FW<ۡv0En'I2xw{c VhhQBxh}Oq uQg}¢GRDI Cwq݁=8*U -~M)ߏjnN"|KGU$;/GXB*+E*rFLiDx:F3! &7^nLO~8zbNG?ՌȦutPQsR6k:V?OP[9eBfzVN<׸ٶzZd!q _{:EȦV]d2;tZK' 2[ՉS6|^CF iՓ% 8pB 0-tC'ʌ^׫$ Qc(m7Ci ?KEhF &g SP }'p#Ay/@_`Ϭy©6y|lR%~UE` %'e4UHjDAFG P/Cɗx| zyId@';@:InL.GJH#H? kJtE_57Gl zEe]~^ @ r:a6[DjoUĖA5C7rvy}dYxS3+?ES+7Љ4UBlvP$\ ^m ?JqZ>%M×Z]ðMy/E &$%nX,~&" Teښpw)suFc{6n,iХO8eC+u|?(mnӥ'[+G1R&ӨqLRu)NvHDS^@T  1W[v!:NBUapW&BHu9{v@|6Hg06ݖFJɡ-t'f{kw}U_nC1i{]) h*OzYf.M# $?6BvUqMHm 6Yiw )+'5ƣjU1GWa׎ )@Ihk"Ha0g !1q*n1B7at 7B~#(JOC(*<򥹲n?T*]!{ ddD=u3ID)Z2r'`n VJcE@s2JPpϪ"0mDcʴ)fra-6 mk/|槧aqDQ!#5iMDUQ}RYC.^&'GS2:e~aq[8dhHe^>wsM`g k]h@4֛+d)M*9 khNN!?D.mVM% CMf= v 7 rW WΒR-<Et:fue%:3P&sd=b{Ѿh3|GDN22iPLbA"i6lͳجs閫*q I`k鈄 l<#O3lVquk9[;ŗ?̳etnRF kl#v#ȧsH hx<͐VnRUTF>@0 ^ y q$vmt<&8($A ګʙhN]_"t礼VK-V'DQrM]4Z.NIk}@7 x#̙h`S@)vܵ*:6b@!R1Vh""m[W~nZ WY\d' 26+muF)27H,--%4 d-jk)%CC,1i߾9}Gg9Pַf}#yr9Qy8q ՅWBmK.2؈ 39쁟 #%M^Ƕ-ӤdXiV)M4&%Mu2}\ksMcX%m5*SoDh$ z8MWg)Gw$qrיY mf( 蒟}sS}R]mwG{rN6_.R|ͭW][n{}џ>py?qpcdd'wЭ,1MtCj#Qʈ0f0;7_շo~,^4$ɋɿ5P E@^6d俼HbiS c}MMV 1-8UaxNs=D\4MD ZZ]cѬQ6D(3 IP u;Fx节 U7XK*dgv*Vo36ňScf vyգr݁yJe>%ih8uE,9k7(ܼ>|;E`lx' NL8,|߃'bEFdM@RtM]G6fvZFCM]4@s)% N}8),ԣIglG=kF_a+rj[y!-JTwnbʗyܪCyl*iTyv^vU/2]MeD4̦-}x=smͬ}g{ ]➿ܲIR-;}&E"TNcm/s(ػw/O>$@al߶q x/ĶLVU,IJ-,zj\QГUo\2 $hZj6ҋ ^EI@rpVU f&5ͶIUC8`xiK[L NB :$GՠyI^6) ~0H8%2W`o} p Da}R1kzu7S=Gun]WE 0PRl3O`dh-Jw]c6ӡݩs?Qk:պ0Q a,'3/dmd=Dvi4]9֗)~fcbr'={ǩ(quH#;نN–a7m}C,='( ӷ2CO7t[,eaz׋ g,/@[u1>L3Myx^m(DmRuoY."y-[`nfR8UpڽٻsCc"6Qt!4gH]%&i..24-wpZmWHVy]a撨&" ?v ɯo\X<8&c,=~O>$ccc}(]S/j??qYl6#BGAdaugcH{L˼8|_/„I\x@Q]0 (1'E}B̝C,D/l|f$8L UC(FbPRYdA <EEҘAWu!a?6] 5O3TJW\u9'QrA+RsrC4^Cm:k -_eL6gN=O LBݦ2Duζi:j"B6;HեĊȨI L_- ܖOKZCD(xųx?F I*l뜚9Ϧ"L,4쿒ZK*jN?N8Llij/M,S Okor% o~ .ۢEtodKGyw&?i=F0ӈV aE-RJ|AKny(zuRl` zo}Ѿc:j4;oxṳJ" C$vJEJE^M=pM̄Wr~y|dpNH6]8lK~n8(p oBu`#Ӈ؛'[y4ne橳D/Opn$gk8Z{rk#;yw4=,<}Wlghx*qªhew:~O˯DHL>vN8^B+5ֻW?Oqwb6q:z)&Ϟ6G>Nj d]of~~~MpÍDQr*0M.VUz R$ٟٵaKچ)/y]{5Mӄ/DͧcrqD3pɂTg2eFF`q~'$$u0"( =4MǴӗA~%`kn&ػJ¥Gh-?ї%;:!*ZEwpΓ[el0^E6lWC5.ّ1:fjGDl1Ѣ*" lt)Cg(p\Fk"Lb!"!A- K~8Y`LJ_FQ*6&0ͱl5IZIΑsIdDo<0WW C8e%ֹ)F^o|f7Y*qxj/tenaiq&Ft獤v^ÙK[Ιcǝ;4p3fV9{NgG}7ќ:ίwrqvw..Ɯ82g}|Yg0{ynםu|qQRvˮG~t^KkB [֋-wu'1M$Ie3zKx(7(^ ^뮻9~?ħ>>7x E*v RoYiz ?4!t)S2/1 Ԇ7ޗݰ7?IQ$3eB3/fM֋Y҅7МF 5E =KM٬E,<ֺ WIg&^'`a cu:4VjeH9)dK c;&鬉mz~}9uA{2O^MPu]hlAF/N! &*Mqr 0~ B&kLmaݓ|o5fQ:珞ۀمu] F:{KW0[8n?\W>6}vy,bag>K?˹{sc{-YL_a*>:~f'|Ӌ[v^>a6J 'i4سbxiap뭷|"J~|#!^+46)#cc-կfq399oot_I.HVHdBQs$*l미THb5W_kaF_0!|v]׍;3͗u:Smw18[k }RBYFK +*} XJDMQ#IL$e 8s0 %LJ.V>}0ى C1tբ:M`( T׫LjUS8$~=F8+,Meeh.9;dZBL))+SݍZ E`LU4"Q|RPFTbqi]"QoD6x0n}uatdOS*8I/lXf~yH]c"4[C[yWy\{M4"8rAn9p!>a{1{v៞&1;3[nEwZgYݲ̠B*kX][~'y,qh}KLdx-gYq{o>dR"6 VɉɄUUR084w qqt$!W,Po?̡ ?wX;d(s4 s 0Ԥ  4B,iFKc%%nXUQ[UU~= 7_K:3H٤ek㺝b4ѭr͘#T|~vٳJܻJڿ?\|>4ql/z4u;▻vLUi&&6_g)2NtF ma̶]c2Bn_p% t7ٰ6Z5?OQ )ٵ::uUaPƈh9dD6֠ CJvl McTTHK+dOVi-ZY=N0PNU]?淀CS)c; +׏Tl* rk#߁D@׍A63R觜SQFUuԔAD#L,$L]V]B>ziF'T|%mz[6 qD!s:2Yb BF1Z|"E34f9~$eM#lWk&Qrfztru˶7(ˤLe͘"`]<}UXtlTᩅE=콣$:Ͻχ7VfFmՍ%BŒeeg={Xsva0a+$@"-WuwyEfdx?" }qxס{UO}pk xǃȁq(`Oބ={CG8pamTFnng0 4N$D/{ =[C,1=aꡢ-.p A Ht:t[8q!p,jslB_- (LAJsc3JGK&xyH@γ֬2+5R"ŜS/sgsln`U%xVr9e39:~Idf#3Ы]$}q*?]"{$/XSStvd0{ⶃ`e8ۻ5^|9~CA[=\e"7')NRZs]C|#w/<`.8d8p g{8ݔKo<sst:w޸{wmd}/uBpپ/#\]}_ףso B Cf~{nݦa}'nSѥ$ѩ7-4|7{.5Bܰj44Iߎy.z"ϓ@XPqh4Ndkk뗰I,evKIli˧ՏNgkX#iS!>qm<"sS$eO_?3wp)LE׏X)oЍw!k2MgYݫT*A@add-pq0殕]ï(\w:a a\C͈O]&;0RX{ ⛭-VDߌESg.b"o3؟YǘX˴h0ez[F Š̈)_aD a(_`blQrY@Ҥ)fIׄb2V DZD蕉\8>CKa@ @RiJF3N!,v"OY;E,ð28aD7\(p)o&6DӀytrmS,^>K6c9D.6?}f JE@ [K$Slf!j+t͗)lDШWgFm[ PH'p ͭruw{N"A>1u*uOq9wzzhV4y/| cX{ KKg.>CVG)|Cv a N<ˉ[}Bb=ëgN MNg#+k>zF/ެH3d4:FטyG]_R `ssT*EDQ_9n86B/Ngu)%^Q_/ؠT*!|õ^[1e ta8DŒxđd||MMOހFs,?ߍ,_h} Nݱ/uDA|KORހ&jIܠ֟k6ӌ*0 } ·a{h'm`%ʢөi/0\841l+Ci> MOBQ4Qqnkn@vH DXq+o|z^tW(?EHv2zn'oe79ڠhfٍ yti*0qQqjL.cGeꁤ[ׁfU0=JÑ# ./`8/-}ـ=44gK39*d6G)Wb{ϢBmސlYHӡѬ366އ AL4 vvvm0 es4JM&]O)ER t$aT~_z=fNm !$ ØXuīny*6 Mבz2Ga(0-]ꖁRH#R ~?+RJ絴uQ- kz_Xk)R0??{g'ic'@ƘAܭvt0E4F} L6RՑBCBc a4p{- AW7SN"D_=I RK&Igdrd+\޼`'m[Y0XHB15<ԑ{,M1T}h=F{ddYi 9xnX )Ҏ)5/|#Էtv*=6W\ zǻ`o翊:r i@I*$",0 ^K-Aa\SDaǏY]Y!JS(0_3 [[ ?ı$ibpx]& TZuCZHy{]dRj ^ 3Vq!LWv)ЅK)zիUz%A pBҀR >LGuL#* t4M4!z )J+h@a&qϤP HԐ(BjA࢛iL'n:?tD6ђIsϏ=혖jmMPXJ-~ w=&6 uL`mm_1q臡M7C)|2|(VT*;8n /lz]8eQ[7BH֖,T:.kMo^$n~Ȅ-FSZ cBI)H)d b%iG +PR)%H!PRD+8Fı( )_ D(RJDaJaHJ # s/~`%ry|6h4H+4jMiJFm\'w'p=GjZ i=P~"/i f^ԭ{FBb0 4xQS=hR~eMn?t~X#I*EbBSQ?nM6Aq ͍$4*XݥgnҌ=/-wsv;m.3-NynwH7͜_drA`֋$ldq+29y]{~'YX0!u*J:_{o(_~0[\7iG;6jχX{M)T QJ R HM*BJJek\<{qcz89B=ƃH[q]Rb"܁äRdO%Ϳ{==O=MƱ,?t#tI~>)F%1&ۜҪF<~Ez~тuW?A# h?y`L2 گM7b'E]lOf}m^GPuk A)%Ο勨(n'۩ec;BH.grj <մ}p=ēO>O%qO>\ebb0vW'B ,ƬX3pᄅnHoop `\"mYҊ",!1tS aD!XB[)($Q}"ILBAR@D EERADR(8&"ŤdHƪN$UB)I)\O}S^OiN.Awřx_ɥVDL*G&%t=JEĪGMnpd]D3< + @R=^t[$V1`h)!dѴ *o|K~|a?"p1b[B^]|6FՅ) &:ݐ@*&~(GS-<GtLy#Q^JQq]LLGgdzi#_ ^hw=Gܥ ^:J7 _km]2s'xG_]܊cy c|K_(rOG)C?yɡyN{awgXowOe 5JSNȣοOw\\bs'$i깘ඛnXݟwoxL&YYY&LAΞ>ٳYZ\dzv!a06> =uػvy.q(׾Tz 6#5FoahfTA%ت5(Ĥbj}女$cƏ`G|\+̓ vt^1n\6/8{zD6pka MRmrZODI*]D244yƦfYC>wg9vY]WNV76Iڃl֯ܭҒd#iB;O1=K 8qzIek^hwF1.`&۫(46J1=4hi60ܻAƁq4.3Iv;LMMS,.?-+ˤәkMȄum@yivKy!pL(1t񉉷lЀa M(CǗ@ӄxRgiI:FǰiD[ESD0DSiJM4tM4@4LCktMԤu)EMRQBԐJAM*$U)**Ů*'?Go A&Sq4M_m)bL$K44 5 =&I*':,|Pt7Qk/d Tbd6bI $^~5(qmZ!_hmץ\'k쮿 l384mN FqcLK_e,ҳ,,hXYCw篾yۻBZucAv˻@..퀝 F3k4~Z P(1Z:% EUT31~4He$@B6^Dnd 6.\o؝232F0EH?/+B/=ѱ!o'l8NAQk/8weO&A2\Hއ:Ixn3ϒ,Qٍ^YÏ34DEx8zCvCZch]`8:q6O= n;.̷=ϟk!F|xyO,q.~6]Ff&tۄn‡)$cn5Un~&r]  a||!24nh:N^uM5c!D",ۤ{]-;!HY"#[[ "N±c!)LBh1(i AA^6|?ԅBᶔ]za]DbB(&b.JH)z!)Dq҄ CiN,Rٍ/B%#M,F?7u0s'O78pmTje`d8O'aS0=QK ޥRfcE޶ !I #4ˣ*I^ :x;FJ!Gs)^c|?Nm!]eM^7ȥD eDk;D$FC4Jx ._!Wefat;B \ED䫏;g'sK=O neHL Ü"@dskC&!w2~ϣ\ǽG7K kY"o'RdƋXi{/)fЭ6a0D(;Uw""[Q"g/n0>lk )=_~6c6ҭ}?&=bfpa,|;܉;NxLO`xH#~Ubg_l4#ZI\˦'E]ksz;︍o>d@S>D^{W+uyra=4˯^/>qX^vIriE$\҅ q:[;-v=D~DHmIS:K4>@-r)+_ۢj\9xKuk5Orjz>%`{Ai,C*,]Y$P,n?%Iervݷ*S H)n\z~7`_ׄ`act;2-^@D!&aE(0W}|ZRhOh!M#H"M/Tovlw# H6BVdL!;j՘dnpòpH26̨ ʷ+8A7Hm_hg5BpCԶ;?P]m5GjA, v0^":7US‹oB"8D(jz MDaX #?종K8b6{{;u} =̎H&`%R ^/ o[R瞻o*>S;ˀm_[67jYH|aEמϞ_᳿/HgbyWk.8o*t@4B亄btzMLNK&mBa^vJ䉣t*e,{*_Ӥ3yNQ^ ;QrD2H;IWEOhM207JmwC*Ud{n.V !o_CRJLӼ6⚦57N\gmFRAzm 1(T(dHFRaMR %  u}( 9KH#EŴF K'8x>l64X~gc܍O١2IX?Wεg;ɉFWC jp0ΰJf躻L|JvY9s=*f9{8~Ě9Hx.U&&M[ XF]9CnAt] M հ-_C D.N zҢSclD2& ) Mp /SGvRK[X1,w3sl-ympQ ۻ4hgs»n$.*H^ؓR^(TױpMj4k:s3h RʗRN'6$J*"7&]Z\R*c -m]]Nf.l*m.q$IA~ w` gtAzf`CsO|mt/Q=>Y+{ 7-rA %z@qv}N6[Z]ty݆#xmfE)?0,R職qyVZxmV}a 1n;U$ DfLa C]#e@D*D 2ft V(iI| 5sqr87R[u9/z>n{Lʡ6"V6wyw˙AVN¿?Kq579~ "vHXQtj je"jD"Apq671>QfbdFᵺdJloPRIv+BBL,zM\&N2}\06:ǠfqF hQ!뺘GdB6cV*QD&0J&ׂDض}CDͶ$ee8ˁ|G1LZ'} *uݐL/ta$:؆Fy#TٜT˦)?@QWQ^ci8=Ih]F~{^g*$ :x]ooo}Vkz3o@+ 9sn!eR9k4.H:x"z afJvvi4]`P2X2<:(wj[;dgO>w܋8LDDncM<8x}OލDb=C3hDQ8nbyB?BJHI(D)/02:AvH2&}}z6M4x)`y~"tMlf;1 H dlU5#cӫ#G;36F_ .I00IcĶ0 tvnVy7L^i !ئj}ZJnOjFfggI&qSV]gWla"kx,^zsoןvB(_p"B_#JШi a`&cH OEJ6Jmf ŦQ!錃+"(nNidB?MDŽ"p;|ϻV{Av]\~|+fi^t) qˌ ugKZ]AF=@qtfY&f%fRd zn²,'H5;l_Z% LD,A2y=q]F3V3E"LlɅ zx#׾+jK?VM'5UN4 .^āPJ1;;4^?a@Q5b]ׯW]7+ WLPX2F׵7+j"O*DRNgVRz ϓot1R($ҩUaN~t*DRzBU4NvhL% bԙǢ {G[o=|:j^[ " Cs/|O?_H:Ԃ:^}SBMw )phmN^~ŵW\`DyL0 0M6봃& 0:FȖ:)-a`dq]҅aNA;K[/A.<QE&?RCj B"B7u쫲 -EUF7L 4 ]zZ?ɥԠkĜ8C Iq9HTv(W%-sWOf%^@ 5ō::[ZA֮2fvpmuk4DRY:=%^"@q=\>Gi)/o\"0I8m8MۭG!-ݘdԱ4\V(ת] 'E!3?go%Q~oD3k}@HB,cb<ˆ1<cofg!@m lRcO^q*0 ۾ J? 8﹩pāĜ N(\L-Leh*p<깬؊oܹD f pA Qо򾨑ZAlX⺷/֖^vرsno_~ۛ &ZQ ah Ck :+}(c)8ʆ$+d'WkZ`#:.(@$l`@0I r$D@ava\ ,BRV:mB@ tlp*D2PVAuND@D)DHSIX)\Q@ sV a $a C6j+0Q$ `PBh$4` 6h":Hu" cCeNh5kkYl:x`ÐJAJ&^z3@ݑqt%pZDXZ\H;Fz+M7ᒈYdlz _J@hhÊbEϾZ04ǮeYTU<||Q딥!IB A*mHlp!lo^ƻzG7j*m7`lJvfumz{{'A.lί==PZ)[uel}ݳ'E.~~öm;eP' f B)y dt$"LMMFmel_~%vlVqzJ<A"MRElۈB>'=a$O/_G>Iq||/2k},(Zo?zzp 7As i^GF\<$ƾ^^Fazzba.?A5%h<ع}l9~5ub#Febcesӟ^S<6lٻMf' bP4Z{i%ى߽8Ǝ]{f̕\.. "Is&_8n|חe[.rד)<4~owmlݺ-›~g}\wݵ?륔ضc'y]ux'y5Eݚnmqغqn#K}Y=0s:۲u֭_Iѝd:E\yEbQ./qr';8 +}}-?}q!z.7.gyŕ^=}.mej14~frwI.kEGpfEǟb5{1{$xbU{ }QPbaժM{j|^_q]w-b GBկƶo{_qJC_O:fƦMwJ`A[/ g <#˿NEx[rM}- ?;:nwZĉx?2nmL??Lcyy'uk>9avvSS8;~ʔ DoZHeall eV;OJǤp;a@uU8%a$ @D ^?RƵϾ˺@wb3 @³2Pe²Hҍ^Am_q׼> avv{yڵkǏ;@$j++O:)"I>. ?uI  ĉBJtM|e9$֯9oc-+qNϮmS'/@'_AUxJ4w]>6I yW61 !(ֈb|AOծж\$nu{ӕgu3^/}Օo:a(i,!#4ځysAy\Í>I#; B*CJRNf&>&J%v*l" $$,),K'Ж;=uBHaRJ)$ [ -l%^7vlAU̚o7`QBGl;N[ k+;Rq[ךWNJ;Va)98oYL |t]}i;CMǫC//k:]鹥:?I/3(Lhت?o~'*KJ2طnefrTH$< $u)y"(ʶ-7#c0_bIϗsp.v\%N,;C'+`9Yc^Y8I4 kn9|GN<8dAs5c?|%<3xkn\ tT!\HR>ǟЫGnMB)gdAEt7F@뻖k&%ɱ;QĀI` "Bī -jAk:hN66G+ܮ.Q5SI[( )HGi@ZN-(5/<[_ZlYqϰRpAHRr$-C$(򙫯l(Pɷ,a Afƅ\ҢYHM\i4۲saM@4Z5A%d+<' Ht؈Ȗ ρHȡ͛$Jpf6 a X|$R/HjR"a13@lsUoiM*S@`0Tݕ/` %D83m ]v> VI)EN( ״ $@X!׷5R_Tk$AJJ J\"f:ncfFk;PIָy(q^s:UqV!e $2 "0""I\.(NDٶ粕$r-n5[\(. u\<ƞq)l߾]7݄^Z8p㠯|k'^-8z/Sa3gNcƍ, l}jG ؒtؖe$N ؑJ1z0YGc8NU0L0ZHbA02uj,Di.@/ UE9f.e- 9S;\_ t3T6QIb~y`i;m<ǑiLteER3|O߿ח޼3(rƓTrma+HSԌl-[9kM-VI )(|6OVF32 :8Q©5R(k6!El&QEdYH:dI$t;LWW\vs 'NcfNL{lafP6#)@#R:{UP*Ƴ,lXCf&!edqf܁8 r\I'1,禧 Zrw ^y1BIEdB&d{ 0EaADL V8"QɗZF#AR@`)0#y)V 8vOm -&"@/̴bVϝC ZϐAe[-٢[sԟ|r1"# ضm$zFH"\{isO PqF4M_"qAO0t]Jc84Gca"C,L1 =_uGg`=`CGƠPe:~%ډQzrLM*m{6BlK1:BAvC Pd$(jTέB$rN M!Ȗ,v!BJ3Ӗm$;p-J$JW{J J~) zZXwjKdnl,<)3O<%I _7EQkJ\Ay?!I 0H!fFZ|'Y$,iX* `օBE!-˥L6GSb#\ zp h*U*;fgG[(TJ#mJ:X׭*@NK\8 w3IJ,%,Y-743"$H*0@KDR4 v rPo;/-"f)q! ͭqJ9jY3pSO&kCle+nEP %)cڮrS ڭV?bO\Qe/hJ0 !Z&^xYm۶#ϟ\syi|_zMT*Lg'N҄=xbkk?M9!;؀%,۸ !Rh4N , \džNbhCplߖHt`͒J R A69 E'ǀ i ]Hַ kn[ 0"2t ؾscaȘSb(0;0;;YaKu|U&&œG0ؕW*EGrt˥Fn&3<[l-;=O}$ 1hx +2h6aأs;4l&KB)Cdu=qL18AȸB_|̆4e[$YGDQhuGu5& KBEqJQRJXh6]=8m/Ii9lڴ_m6l߾CCQT`+#J; fi<8x >ߏt3GX r۲3G añ( 4 $8dv•xEmfxِJ3.&OӕOվz$SÚ\φ0 g Dpmih./vx;B˲ Ԉ|Vv*d)+ Υ,{uKS`dՇVSEcZWԙ㩁DFiO%*b,+%A8*uBT`绑U~ 'o㹜xxcǮ{g CZ>kxJԒIĭmىF]s ,W[tn&IA14p3sSٵ]uoSgXN$D p /5ݓqB d0d{2 û/ d\pUƉSsj|HUtP _*`X/L5[ё^XV8^"]Fҍ:|hnrbP6%aP@AqBz^g u;xn$,Iqw]?0; RL 2vT e)`2iܪuBYȵZ-3io߾ #.>_ΞtuSk_nnT.UW ͞;:Pjq qN@D\ח/Ce`hᾂ85,$A=.CB+H؍#S@IrG~n[?t`O&!̖A`R`#mf۶r|+ :JwI@du L#D NuH85c[: bH G*HV6I̮evJQ IDATTX>UL4cژUU1N٫)}G.cPZqjv#ٲUOrOqѱڒ.ƎPl I:52y Se\j̬YZZ,_;nMm!Ѩ50Z#ӥ!%~8y*ӡ7;uuˍv-8`ALʈnhO]JQc LaﮛYdCPeGgWfD%" -# nױkK|lҾz(DHPڳ"lucwIzOJIRP|?K6H)\H&Hr\y' ^o?7-H* ٺmaav;I),X !,vgcl IԆ("-QjA/>bYֵZٷn8IYݦ.> <mذaBkZ0 _!wS)K)@~`8诿s$m\D䊎a@!,Ipxhb(3G??֩8vs=9YM(b MS亣1>vgO},cF{"80Q@`++YC*I/UC,CX&$ %LZ~&Nb]@ ~v٭掣Jqš}h.!cpI =Dӧ$J|x)Skѿ]734~\ުM1 K(B(x LV4ؿUJlQ4|2SgOZYP*u\Pʬ7QEeHY?#IC-8n[/ !a3j# Mr(?wmp%4DGB9]O3j \:2"݃qt nņ,=L$(rڍE4k+r̋%q2S(YIvD9!aS),aB:J9N IKp?( Hg\VVE5y%qLn.@7*IE"C@@D}Aw؈\ۧ K~P_^RF qɧկ ꯼z!D' \WrtI9x~R_NAk *W1e$R~gv#$3L&`Ƕ߳P:6 #,BBo @ե%^\XX$eL["- VB`)F޵X Cl;mb|6NDeBR-m@% gaE-bAr~W3"j3׫lUNj НHOq cRyEkVX+`=n0:EGj=so3S$q q gO-$C#w*8ƙS3c +"hB]y8<Ö[PNi TN^{WمٙW_`a^1$ Ve3)@e\+1f].t1$>ؽDr)"nњХray6+Q@Dͣz-sceO0u7]kv{&J} &R=Fz([GpMOO I!YUW~$DK{tceerƆ N(Ncc M4Z3D(J(r_8L7RR7g򅩵Taa|Led}zua_F}nbLYԪU2agJǻͿ}[7 )c.'

eX: X+P5r5檇ţO?]Te  ! bĮq]AWdظizC|0]_ 9vﭯ;ڮ%Rp#_PN\ARs+c̈°j]~ۏH8".Y*gs%㜗^\\1iHeuU2O3 ( [wrim9Mb{? bzf^d)byU ~e7qÆHEnI3,yb[/]˾``erX eKybh- 1&E$H蘢 \W_IM7 H1S\vaZ FfXh9^0jƊ`2b"4Z-$ea *+rMnEU$`ff^5ZZ}|{z\ B5kd\w.qrYbu/1gPtWŃFny/|4޹k7͗]}Gl/E)!!Y-^ӇN Ϯ{AK$Q,ICqu$aȞgc6''5.$W8XX\QDھ}Jfnn K3oDW8,kS;;/=鶫$sIS&澹I )N=UDO#/d1%UI0ϿJ]cnQgE|mql$톌T6;KS1HR$"Mb7k 'n9RР Z G_Dœ<&U0Z+];[kmv\o 'NCl^^Oӿ Q:{/~+_XZZyfu_ 8jV=%'KD=Ɵ$ }~呲$ H 3K$XHT@>8A;5PM:IwHh `gg$""HD1lߎBÀaM=a\UR5X>aY}>mK6\?C"4p`e,穓ujDf}EQ//%,^gs$V=cCne( qAsz *niU$1vOLO&ش*>yj6+E׾}gHSx:51~Cde)kNhŀg]$,PˬnwZ[t1,R cC B(17,`nf*Z%WU7]3Z4`hp3#xʆ I`<=mo݃4O" \7kv>K%;x艇hY+l㯏]P-%R-3{wVt8ٕj*1F&l&&َ cҩPEd#8Gs݊A[GI)SmI79+—X7B>G^|# B N!0=ۼ>fFtb߀8Luo;}:xo nG[sa+ W"?{jɯ|O41JV-%2ĩF탘QKZ0I) ƶ$l! lXMiIFh|QVUbF!XD+ϵdUD-if8̰p(Mvd;TJZ技NwsgvkKma eEELMM"H<ın4z/i *l0;U%LF{5s(Z!f0CRqq {/.ALpeΎu{І3lφTKYqR 3\)W֪@`&KIf!oܮ7|9?{ *9 $i_ˀ緡]^ǣFQmMҶFbR8OVSi**]WL{{q7^Yۊ$d5LBJJU7K<ֽ Df$`C \8cf#&x jCKAI % dK'+<|Û4:w0V.v7-X4^:zċUrf#N CNz0终a؝ aDiޙk.;sLDm`` [1E7+/ÿ059()mg# _*Ec~j 咣q3T۷\G*;)#m5 6лgQxm|EA=H0S]6^:,u[k╬M ]]ώ'6©%t8qYo [D}G_.__]NP^B%o#* A!LjX6l4Up8Cs3C=bar٠D>qmWN4FvV:LYM)g#[x v}$kM.uwQCH%P[;;A H`эhՕ ( o[Qv?ŭf`iVv|^s%pF 79^_qVϐ6F֌" eK^6l uh۰ΨK+صҘ7UWdM̌wc )9[_:hG8[AP,~ J.JX-•@GޒfmKj*[{4 ?w/@п*Qn(sRE,aMq0'CcfzYhVW;#V:T,Z bhg>>+}DAkAjPʾvixM? AakI{֕hብ %ͦC*y0uz0aSN_1UaW!M,,+Zmc5zݔ.媈`n{}x͕ݼ}vqhyM@JËk}!A>37?|ӋJ.# NXXm01p,LsJ'Ũǂm)Ch֊aDG .`.\R:MnaL#vuT)YNU*$YkDN_kG(V ӈLr˰JtHJ͒i5 +%/"T eIF@]`ֈ&~CϽk:I#d1]]2==!(2Bp'+Xg\ rUWuu7* ,c0qx3fll0N81c B9|oswu媓~ 0xkz]=~߳Z_7kUw??ovo770t b_9+;[dnx P19q5WG{U!'&cWM;zjD1>3RgPA5*yZ ;G^~OBUx:03#!*OzZ842E|9W̡XZGj3:5igry봅릶Ƨ7z3!!NqlY !\R(c 5Q#3;anAPXvOgX_@*~ (f'&%%eMA6 aDD,lC{431.|~Z1:cὅBɤB0ISHifA Ew9q^w׋5%*]l>* "!;uڽx%kՙMNgP tCfmFRex37[?4R]3.;~$itGیl\:%z˨GqѯIQUheX7OG˯??( >?_yknκE!mR9^90-N; '+[AkXf-t7ـBZ|B^34˚ks *M"i/aH 0v8BօfZ! RCx6 iL"!)cf-L)3;M{zt:mbQVe W_. @f&qhm\<^-u߮G(\J0\, R'4>`p1e@z1dg ̈́!zJ$1w~5Dv"Coy7O3ny{vG9"adf&f<BmnN)}Af[PZHtnd~=.*B!f[[ۖd^6st.W%vh* zMu"(k`)lr!]F,ut L x};ΞNKgg3ic7sqm!Vs'& ,l盶`H8d|PT;VW~wjR{c3 _GtUHԎ`Egv^?r 6xskS$Io)>p6gl Ln]rY5VQ? D)bx/;T|E$=7͝8tK[+fW@B#mqgܫ~n^َrHCX! JC_kjY5 ̯2, 'ɠ~!E69 L"R~h19tWVUu,0(3 0 JCbC`e|b:+x~z||v>$ @ C9`ׄk R&"YQ@[aB_c /ǛO#{G^叼_x-f[~|Oˇr~z=׾?5l^~[ \v;ԫD7喯ڞ^Y8W=|(;Q[($>v9{^>ո) ~xkY5rŃZ9?x3/ixį9z sْh~ɭ_OQ~䉳SR di1 a޻<^;Ea~=}ߟ711LҎ)BFDc?o|+'+#DIG-^:u+ܫאMwujsw_|`񳟛=s#nǿ}~VczFƳgSO>2)|swɧLo}wãc/ٚ>{ygx;d`|\ga62XդkoR({*tVxr4z ƦYʼ OI $bMm ҽ!MGaCuB@gvT܆euNb Eh=H~3D9oZ )D6c`h'L >6@N ">X-8e#k9qEx'xh \-!qi blCV=$/cr`ok"#@I ]kgq!)ت^BΠ/rudR-%+E7@uoTFJky^d<[C(v!= mX_L!A*3ؐ:[kh6ppP4G聆Kb? #= : TN]O1U٨#_XCPYpP % 2VڄH弃v [phM-p2B7 Fh# ʹA<~CLjAda~4fw"A/0pl-wv!\qXD%<|"L8I^Z&Գ3t|nVz7B۠ev$-4jR) R/.ameᤁlڄ`R*֛MԶVPʔPv- ֘0pЏynw #FBH)Q[S EXhˮdBHn*ÆhyسkgQ& B fp'p- zABH0T`C)YX VlW,:6N.Ξ])y^0l{i(I@BvT'SEj(g_Mc4c~|oXs0`jz'Jx=.o5k߿bm?#8z`WwyH9?vK|6xÏ,zwUϻvi&я9t VVA ǩȥ +OxxCw \~M~;gQ5p5&0e鬏c^3Ps0;7 Var\BL Ǯ] 8{!' PpYҒT2wv?:3Pl`us/Ν[j~ ajΓY ҩ=X=~s +O>ʞ.%1=vbd.{=qтc43:M%R˜"@q6'aQLr d#liά)<82vX3)4mXPqzCqkO0$__=@a t0:Xr2AGEdPh=sfzjR8N&Hb)Iin  5Cz[Q+8!`bF4 Z35d[B_I!Ě5(`Pkgx]y<]H#W" ҹi4z~[7dGU׋~1Vn*yn^{  0PŅn:aIh4j`5`rrXЭȍ"h$ȩu$$J1_9n -m K* ȎD3+k9tzm@2Ɇ;͜ ~Wss})'8 DȆrUZ\$1M۫vʕX5pt8WcC y<=zf7s=;nmb~ /ߏ(H>WluaiR"tspK!'e.5뛼g|n ctI-su ;e!BO pў} lBQ,qh Fv1%Hy2 H]I~513d)ŬYJRRZ4Xk! dAn-Җei0)0cZmsza,a$g~S'NDirLDZRҬ5o'1Xkżg"`Ě5 Vq0,@"%e\fL z]O|o,;>On.˶fDQ`]ݺkL[?-VOqqP( tjR vsah@bO4";N#FFma`ddn ܌ǟXh!ka8alןj$7pžN%VWqhvO _h cL^sKв7Epa`b&26<'Q- co'IlaCLel!Om=mđ /q,^>| u+ 6Npv->pֻq<6yHēO9n&+!iaU (7(VLNz` m,)I@V N)u+ KjlģXmð a0tZjl Qy4:+"_!inpr(2p GOBaZen|qiנ/l0 r'A9NyFh(M$AʶݩL 0jX,13#Lkk裏C ) v(ml5>BS0Ɵ{#h:>rٿRmFx6l/0{>= _}iBuP00S {Nઋyu w?q+n߃+c~,[uT*SbmqdȬDae\|rl6Ϡ@n^'Fs~ZdP@}mk𕯁v}dReNRq2U IDATc6'_YJCShtBfS7\Ba8'XYdC7~5 .da4^egAyϭ ?)}X4@emNa.} ʷ0jdHka/-+~؅a2icN]2vE9ם">90025\u##9V 5DtjȱY)AL:0=N=I[^2|jf ZOaRT)Q@Yأ8i&<k|Ü(b~(+js{ mF?48g9|`z/ryXٲB:Rٌ  l Ծ&f2v.ff )w&@h4[(A}dG†Jm.f\@ՂmYp\l?ݱ#G^SJa9@J @<HusPH ah(C-ᱱCzC )X+ 72C'OaouhN#Y r],8~Α+;>zbruoGn(Iܽ@nԉ+/|\wM1H{꣘U`p_taHbB8֏f / }vMfH8495tѴ[ 6VjjX*+Į+bo2Μ?gϝZ !HokrhEyKi{RXZ܀04:_=iLշ%Ӕс=c|OԖWyjjz~B 0A5EB„Fɚ&v>&Oۏ/Xw}}}Nes9zɏ9wv_l' p|VF4PBy5SBZ)w.vjݵx hrz'Czx{v8$HRX/zϜ2a$ķzێ7Φ2m=:<x"P*ԮөLH F.aP# s 1V/6 [+Ȓ$АΎ t>XKspNL_k 9*<Im?/\(H%W%WNtPm3`ðB\O;ewFzz כm7/ŌSdJo}Gf.o-U#O=^v80|BB6{v:6ti.wIڵ ozًj:!t'zכ6{`R[dy>N]5{fM)H$% Ipnrnz͍`E{$fhN)Q.xMscyqYNfN4:bDc>qzNo:+t:a$ 5'&zV׶f b!+( `ôؐHGQq8It,@N,BV 0&IL۴@4 l5R GI$8 `K!Parck+zNJlnG{?}o:M!ČZoll8{^ׇkuU F^nEЊYJ Q"#;ގ]`bx:vwF3Ѐ$T#h~F,M|;&uț#v3Ȇ&X^Zg/pɣ\uλ,2"ø dJ&qAeWugӛ1J5K$#Al Mc7AGnƴm0`@HЀ*RcVfeUN\۞`H||3i"~C fv7?f75(z4M ̄O~MP.C՚3`ExKsj)>$~o-x'd Gy7=ll_xܸ) =sMg(/9nP^B$=C>rpwx+V{DDbo!*<1}'mv=AjG?7>0][9OhW_2h1(鱻v7qg7lי1^HEn>Wv-odF;* :XOkK+fٷr'tc-I){s@H< Οqhpxߍy\|.㑇lfUf@M{BVC_zjߌ˭5[V쐄0B5Q,u<*"Q0/s/౯]T-){J]%bvWPsW)~%O~r߯>hѾmuOc-[݉qPpOʹJ(?J؛ ny滒ݏ? >۰rX:w%oOAJ޹垘PE(]0H4xm{bB) V62b>y|ᇱ83tAbso?+[ܛqSao9Zw1=x8rg _r\F^>˘{El]٣~)P : rX둥k`8h!ikl_BjIlV׏Wůѣ(Kx"iv>~{%C/J~\c>lӧv: lUyin<O|X ~ Dv-s'`\^/C)& 5: b?r{sc0zb89ŭ'໿oܭGgO弿v ;l^2w† C Z $#0`L&qBapt Xtq@:zwvzxq,֠jRc"eqc;^ ZGgg/^{ѯh~}ld %|4$%  R\TD3h3߃g?!0}8>EQ5tZ8ȽmXۦ4:ƣU 6ηމ>6/ vy0[OObn.Ƶ18Эp n|mo=e;[v*ߞerޞ8}|*k5yO6^~AVWʪ[*,2$hV(w t6D@>MMdOS[T%"z3^oWU8*BkJ(X?<#O' _F qDiJo 0nwj3 "VRʢXٴϯ2N43?L-@N@ `(d3xv%HI%f:>B0&AW<6c8pCJ &r2Aʲ3=MG Zb2Cӄ d k̚B01 !xﰱ9&Ei8v^kMp[Apeɕ%L0M/@Lݽ,tEV psf{gp2e D5!VQYs=_HP8(% 0f "dXT $ 3* [}Q\ ABI7' *4Uit ,CF^r8 ,?:;|D=76]+Er+ +3xiwΠOxMp(KTeG"ԡ$mYXC!,.ͭ]4M4gz~c8@* 5wK>|T._~[s5JhDi_<(¼N.ZV֖pnOt@:gD{m/-hgJ A0I`sc F^O]ơSm8`Y4kPG/_ۏ0#}_?2jg?~l;T;Nb:d©3BRxKB|} ߙdxq]A~odu/n9mo6Zt!)spm4E>鯭VAbFbِׯ'\AUQ"Ig\H+e՝m\[_e`f-ݖG?Pj _H$&sx$Vz*Y xB*JkUm:pΔUҔN ca)qlrr᠄ ,$zdbHEfNssߔT0ᑗaD:i m\ BЈ@PׁY @ߴ-BوM7_߬}$XOƚDfCR=k [Z= W4Y{s ^zxq v_x0 B)0Ƹ_ՒE)zڞ"솨'=)9\ƒ_&L1ww+Z!OC+KoLIPcDn$И3~g?1+˜P;+ƒ: !&Ny`քRْ=J^xEgJN釾-\wQb;Y_M'ti^8sO~Uh6 #-#n7iI.ny:9&07!pֲZQ5 =ёǍ 8\Ju1rQ9jBqek{`Z9LY{[H`4NJyh!٢,kǘ$zP1Êb**,Pn@1j%!JKgI {1|2Q *(PQ@Da= bj !Z"A f=|7 QK(), " @x~cc8n !nsu3:A&u>k!j`e_x<}V{c'x<]x}߃>eĽyisuB?K(5+jmb)aG%hMqw %v#ƒ4|H?#?kG{~QC@a('(!{B$]uo_;y0aq?E@&hco'nM4 _‘(}dMOSwoo|(|/g?^ŧ|Y&yjZcUby#\ 5d՛ tAD 3G ;c>"cx;}x׷MPz_n{M v7C'Dr#ߩu1|rQ*B2m?śkML^(+c;sxjt%qV@1LaLpK(!Q%w""`gT(*8[ NKL'9tR8D[YHl@GH|8iDUjڃ] !ܬ<,,a ,(-PCj[M^ &7Bl yvg]MQt#,tzS}E+%3;_`xkޓ]N3,.mo>GKӌqbe :d4ZtiW§Q܀xӫN1Z%Q$NqCx_>OaI<eޣ~IݿRcP?sXx1p;uBЌק!6/tdQm S0 !nb5ۡV+{m _=^D '?2>TVo'ynWiO.w߃? @;/9tn=Fhd 2" 7ߺTuLwi:P%/GyCŦӪg.^t֤l^:cım+pރDFP\Ia6^FQȄ{U=H{4ɹ(NOn-F;~TMÖ̀ `%I@0h6b$'lHѨd!P<,,yXp{3D;t0KMNJ`⪬je^Z{.@PJ4g(RIHx];˳?=% ?UU"]e3¡5A-ﺟQ~hC/zFieV"z1ȉ[5q׿{Fsqǂkͦ[>ZEyEﰞ ޱعE1[܆F}$ p|#KL5n끼‘Cll7IlcAAQ@ zcTΠ^oh (mj PqҿE|y=e"XL>o.wM^j8w]eYsjn$,yis9ʦtkw)J_ aKcEe4 UzƲK9eR!% !i>FYdy%@ tM[$<|YɃAD |( ZvU^-4<< BAd)3PA zb2" W`o5a1ICpZ(hFf%pR`(Ay.UY/_9%0^R2kT(3Z 0y”U!"BHlfY@DFNrTT NJ"$u,& [Z<3B8Ȳ,$]c.b  B@MN-D-rQYOG(-"V!! P%jCAk'Q9@*rP6 <9T&rq,IQB3PxF4cOʲ Dn^iM/~ߋ^>Z,7[8w%(y͚8iw5DE80؇?ҥ~g9~8x<^ą-_ 5qvsmN^Q컋'ʻ~;9p1I~nF!3Hupa3W:m(Fir5?p䰭":!p@50^YlG%,yP4BF*m58b ܍# !Ҍ4Map9, eaZU߁2:cJa;HY#$b/fs5[JMp? v'~%+I5(wM0&{DFsKDQU>  P k8Tدw4PPqX*NjF\(7šG;,>2qҡfN󝈅֖t Eno_LB9dJc)Ǐj?q0R'Ƙ?WhB:쮯mq{7P`Lpjiz} $BR1՛Qi0adEP)p5@1LG ~[h(j-f}@hVTÈ%b2搰VpJT &D2acIñ :s6++ 12$+ 67d1IˊkG;t*L@D`XSf$|-3vF)k@vFp*ED&Zs1e"[҃@Dp0570MPc`=!Jdi$Ig':lZuƁn0Q˲b牅V 8(0Waa^U Z1S"x5ر+ow2M6aTөc'>}of7ʁJA>Y\p.dlOwh HI.NNϯH+q%PABXW%X9(A2&޼2G4„81}\ORK-,83\Nshq-YXo9HWEH5yԓVy^2-6ĵ&!_yS5);xjg_]c]TKta?^'g$*7BCYmm"&cA(g\~uQ&ݬDŽF6#JP%%EIʠjpiK(gQj8XTAh5䅅SL DY + fmXW7BHE Fz=0܌U(H0;L & P!0E TPAҤ /R@.jvrUYa 硷٤fuӧ bx!kLYQ͕j@P;w;=cin(./Xg&O.iW|9dIJCK ј^ BD1Lӡ;O&a_?e[:pt1ƨ"OCpuD'cFʌ{ p:N4ރK&b<Qu*(Ev^/vM722a>'o}9\6Dmn?y|Cvh('s`o7D pa}GS_'3tkřr ["$0,85_G06@'FҭQӁ [F='&I̲\Dfv(DBU aa>BX0.2H^Y!5- cد@FP@$ZV(/`c’ <]~SCUWI@T D'sQ!$ȇd -k a<-y1AY*0+HrH"SsLַk`G: tX^U⎆*jH0\UreiaxUK`* 7P P ٌBlµV'O/󅧮#Uu< 34L0ݕBy `M9;},CgG*oRJ@/:r]{ҫ|ǻӿ>DB#/r˘L 6PTLYra+ڞ'F[ whR,%]os^|N8y,\Q4+19J>Bv|8JS9=iWPc~׬Z =ޝ?!jdsozn 'j>+WDuھ{o R=`-&йĉV8č$N?J-n;w?o$Jo1Up(`>._qjz} J5˫[4)%9W=͍Wa&"hsA)G4J`0vHB -Tc<ك SBj9rV55a=DDuz/>bg#l 0)71wxqTg=7FN:D݀0b,tbHaxhc<3eeIDAT(iw?EYDEj٘QL^% ">rUi{Hkup!M䶄R ͭvRayyedv{EQB 4\k hC,{KP  `4~3?s\'MdrSɳg/& K],_wnv-ġ:e:O !GU9l^A.X3l8' ȒdR%[~ r-7CPDPr0S8%-]CO>uQjHJSUuo6._۾9H/_S,v/`zEQ=oWW7hm=W; *@b^;B$TUtVM5}ľoyϬXӺL7E>_|,:װA4.W f|JYc>~:d߾E|zp!iբ*\u \gM} &Wx}{}={{"%֒c*qe-Aj /"0i!|tg/g3?YD@ Ԋh;ߦU%(ʺAf[.C n܄psX 4,s ]҂5V߉%ې83x>WH( *Ұ3.\! Yn4X/\xᐹ1/ahժ$b V荺CKE548E1G(BA?N:,A9X&0*IENDB`F}FZq+k+kq;Rf H3~nM8pH.:G9wHM̦1KV֦Z jZk팆"!I) )IYɩx5KK՟^jsGBi9vf@Pm"9ab%JYc'LؖsVwFt]*z~ؖeE).,ϛ 7!*>I,f`ؙأƣw)W0t1~?GmvYElP(Y!U\+ԝHsS+j*,GJh{!]}'yf,E] 31SY ,łbEa4ƛ'h\ǍP]kuxÝy=wj33 a`Ljht;"xNx_k}P s6SR46blg>swqwʿYၬIENDB`1 -L:x 'x' PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9M x EPNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"GxKPNG  IHDRw=bKGD pHYs-ItIME :*AIDATHՕ[lTU9sLLN̴ h ʥ!FM$1h b&5AVI_ hbШB(&}b#m-X40u{x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME *|1IDAT8͒=LSa}_mjlDML\CB ] q`pE:8q89dttC j({/~4aapѳ=uhy|,5a:/"_wa|f3ptëW\vi!ޙ< @*rMs~\c-*†-P`B"Fh,3h(%m!MƘn! ^6)M6Et@ z>Y/OQ<ҋ # [ѶgۿXbMP:0,յmOmⱱ:). {B&Alb xv,_2q28pG>ptE"U;6Zu{0XW48t"(e}}L 8kK7:lƮ+4/P(3J=Έ uA/Jc#Z俈?:p.@IENDB`9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME$4 Y YIDAT8͒KTq?{Ό^gtPR$hcm 60EղjѪZQ !`RHrt|$83wBZp}=mǵc"1@s k*t9"\oaG)rMt#L#6(>BZq5K//ZkIcDdJeÚ:9],FRvyF]H%:8P("Ecu]S T.EY xn:Mcl" X2ROd|U3RU -a=c903}ʍXU, Jm4 s<1;oqx. .IX.M>W(듩+NL8Z 15I 0  eDn`]Nf6MΏP_[#*+˄Lk1Bv(>mxGPh3\ܱ6ti] `jYj(B\m4mIEoBS9/<2,૬F\:@L|}oZ~䖤p_䦟ԯx, ;U7%fs7m` KBh@V>;#7Q"MI`t8za<EӂzEƲ5xU$8rەj**y?D%( U ܖ-w2ѹy뗷 >Ud ˜5<+jB*skJdDx/,Ǧs-08.pt r " $@D!M\U_-Bc S+6d "$(ITl^LgϮH\ -H)I~D6-%UѩݽݸvK"IgVe\ BEjj47NiP>oCCcQJ #SQ"{0MN(q(Xɪ7M,Ӊ׾IENDB`? T,AxAPNG  IHDRw=IDATHoUsϹm] L$`RRi!PE4j>D-E6@ є6*CEԀPخOpνg}pdK[ei[YL0o`9 s|%;/q!@ be-b .I:˵䖳"Xlɲ3l݇qp\`.%p,8LnbU_ZtPgiD2ʢwͪUU5ۃc`k{;^>\D+>fSr/1p,x5{nC0]X+cc Qm ym}Սc$.x챉p)qp]UpjtN,ɢ_7#Pi{q$CA,*E4KHbWåݝ#C_42C {^?q96DªbBsS>3 Lo뀮{\0Oϙك'N()UΤ4gtx= }SL2mCP2 X^u lZ4n:F|cm.Oƾ=/vg3j޹=ؗЕїO߻p0@DLDg<+Rk6 Ʀ4ݍ=)P[&@NҲ'[2/plˏbPQB[si vكQ$:r>^bb6%S}˂S[[g/x[qekf&"7λdED)~uz)j|E):9U"!yB P%zty9hE >\cmlB"c׎N- |sZg&b( -So3<"K==ݳBUHb}0ZYu3RY4nHrBXC?@$N9(G 88Or%! mXMLwQ,yXYvѱI`+c P Vy_iXʅxIL]yXj0=t^ y} Ndokp{JDa>~@Yq\VT2},_9vВaҤtäΛ43}=1'Gzh0en#I39!FĀ1ch%\1M -ѧ_=!Kg):vOzpv`i9gϲ`y> %7o`|n ᅫPHblK&} _>E>v^6Ȋ.P0{/ ,"U`Yff2L +"P#@g<2jB2 S π IENDB`?$ ]]2x{PNG  IHDRw=bKGD pHYs  tIME%IDATH[l\gwn{cױdז@CRu4T*HUp RR" U. "'NI1bx޳{~HHHh4H3S'QWP`d@SV“{#ڵѱԧƗ9 l~޺ EOǻ|罨##O|IQWLyuR>o03kͿo/p]D>t3ނ|Ngvf )5,Z)ݲ%;DYRӸ Uɳ$-*Jd| 9 {{P]U55u}2̥DMAtթ燇 uRׇd7gl+:7Q</7oO7 ,!.Zq5֒_9y2elprDB;x}A&1=*X92 @y:ě"xSzq}Jli[KVb-Xʤ*[|ʽOn ~?:eyc*y}?{-0> l#h4wWx<;||YՕOoE=B-J.ƍ_C%uw| ,˦P(23=eY,^B[,OQU?Kޅt]kضMsEQq\!=>NVC4FLNN4Hufgg Jh Yò,~?_CQff(IP  :.ab$d ¼$IhZ-@UUUEE24ȲeY%&2L H`& !`|>ACGGz(CV$I=`tb EU-rHZs47Q:LE4D{&.U*t*( N֮[:iDxaFUdEaUP*||ڕOMɓoܾ?y9 J^ALf&zjuDQ`ǎﰴӧOضm={r<|s|q .H4Bz]*"/D|,P(̜;w~s#(2~7(jmۘiYXIHYf5mǎ{9˽JvrWF~z,)QVm>%iB!x^ ԩSG++WLoٲ|,ANʲ͛77L6?:s˲χ(..tʶT˭cR$ 5e2%RiK,ڲeD`SSq2SSS7?D"qǝ'0 !|><==xvvv8i$zRdEQ ?D"#D"Q2|_,}sssj\i* I(Jj6i  9pIENDB`.0 zzzxgxgPNG  IHDRw=.IDATHoS?>'>Nl'FnTi/ƴ &mڥ۴M(-P`@D[krȊP dI_`Dp]gi떭Ç|+P,]K/m]-}}u]V?񐮟سgϦXp(46.:  x l޺Vǹu:X>")x,|G<'O`llEQ45m: .2y b=,5GcK_+ϑCNN܌u]ڢQ:SIC:=Fnj q0 b@Oo/ [:HxHPNG  IHDRw=IDATHk$U?f̤g4$t@I Qi .tsXu'=+d^earr:IF4v ɌF҉vd }[ZT~&"_wG5۪[_@uddZtqqQ/aU7xcnn\(0 '_b?p_>33CZ- u]<xcccFGGZFѠn3;; pI,LOO8&"X[[cww(EdƘ&&&Rٹ "DIx\"2SV_XkY__wXk<ɝGyAz?u K+g"18-Z70dooJbϪDQD@UCkfH1檈BZ0$߁flvt: ³=FCQD]a-J |9#\rrYuApYD.I:^ޗ!Cee_鱫"2o" /@izUDYdzD`$u/,Ick\?έ#y-iTuX9 z{?em0c"P!0E֏@(]@;٫JLEXD=( NVd]oׁFSU΄=WC<UL#ތ^IENDB`9( WW%NxmPNG  IHDRw=bKGD pHYs  tIME% 9IDATHǥnD:1iz=FP5gT H*4M8jv<.Yд2H{;7> l ײp0~>tcz_jpR W|*aH*"Ym|]BP-Jh4V`0R~y*qwvv,V#NOOǬcS`/2nyѐRJ X, J>90j\\\4ft:%ɬOonnަQ@۫+|0mw=Eqfv<Nsn(H$-e8/l61H)O>7^ahQJi-LRdd2fs {޷A @a ! ZXB/Rp8}<=})( 50 Z T|@!0RJ)1'LWot@a"ZD"p~}Qnp8Q?/ !'1ih b΅lRd.\ZEz/@k]Bc:"ZHZ?u`b㡡C=G͊-hV╵kyWq |1 2oWjOt3#| oLBx5B2ioJl^4rS˸>bU~YWs[8 z`- lά4:ߔw ]:HDbtوȒL![ł]:P…LY_oL&ȌK xksv̝ɀ4dǮ;3ybw}OGvd@8\^| ܙ P!ˌM@BѮ}Ka ʋohd0tj E9.K0`Z,ה6ǫ$cַKk#g2uAm+0>,d:5Yɗrg>U8+S֣X=?3NF++v͙s;2i'.<W֮( _bsvٱ/p Ng0Y$0a1z!S &Fdc89-+LZoMdS>uQR+nrU<"Bt$1۬$GPӗ-~w;%L6kv;ʉIENDB`8: qfx!PNG  IHDR& ~d bKGD pHYsodtIME t45kIDATXõX]l[g~ǩ&iuqUqM?C0UBӰMCii7H;Ґ`$v:6 R.FK`Ij$M8c;^.xbu{gsޟy2 D^T/-JD4Myrh8 94 1iV)ăZv #nBUջBBwV"&2 5B&0+еSw̷d"F,mb ev!]{^^D 2iςuCmۮ 2ˁmLY}VTluWۣr l۞aRn_Gf$LPJ/Cv~f| M ?>('"n*@!S~#0B0p;u>MY/;`-ھ{G?9P5p@KO;*˥CF0PH/ñF."Z G Vbd,@-P(7j6S$=@/63݈ 8(4T0 enepWoŠ{̦3Vz6 wJ\_ɥ|q2:T]yo NrZt- 7J]!W 95==Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME .4g-IDAT8˕]LU[ZM?llj@t#0YnpƘfwr fi8e&Ʃ|l -+m߾^ 3sr_y#(³fPܹ#>(Ãq49s`0l7k A+кYO@\E:fM>Iӝb|Av.-/<ۂnP(vKKH""MM8rxfs=8t]'Or%vԲ:wv<8{=jZUUUEgg'}}}RWWNE)wttv>R&B,*׮]C5ju>h2W&ar P]UM:&H$X,JlZEhhs㣟R˃ZVVVjx}>@!:%JQz3t wwuuڍfgy9 ? E0]nss?333 EQ٬ zT"`P~l7L& $e2jjjK2. ͆$X^^&!'IȲJ"ɠѨo9+FG&3\SN:jR]]MP$L JERdñ,;C>?NͅKxQTa0$ KEŢLfupH$Yueۮ߇ߦgf奥e(EՂ&%4;`~q|4M(淃Oݻ{[ʭ݌'bH*#( fBd3Y1&Y?pw^Pek x<67lӹdYϝ;T9 IENDB` ^^ {x{PNG  IHDRĴl; OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATx4KLufv,tPC( !шiIMIfZ/=4ML؋MxhZ< .,2=uwaewI|)G[6BR(U=QdV[o>5*+RG/t=LߟqyL.N_*d9?|ԧJ: ,e3aYΞ:k`{+OI%MN>yHдjBhZ"ǢSd׷m Non*nX&cb] GF?t}n(躀BPXf *]F#9X W끽nI ߼/klN$wP\:qwv(+Ky.?Wp VDE(QkΞ_G69j7V)9._ 2l0_ĚPu?EkUIENDB`"D kknxnPNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zد6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxD[h[u.'Iڤ7zYڹծvkcÂd->'烾0|Qal+Zu)mmKdINN/xoP*h5 nmP06m'DKZBҳF1- Eq_ߑSP>'f:- k;G\#k1|Gl(:ַhfN⛟fH&Mj$v}4 "Zsު__ɎcV!/vX(8-+8BZ8H:+_̂K7Huwvf5~?Y],Z\ dۢ}{hjh"X\*m&ݙ*7+MAvFp? Ձ{:=Z7ZE9*|3S4o$$ H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%[}׾6guܩ,i(Op'ol:ۢ< ?`Hm,26;Eunbw...x.i B (M [xCjlT,17EZX{#OXq`ok #@UD5њ\.]ەJlvi~` DnJCH21d/dXiI2^e њB@ ]W)|DkP-BA"k7[vkVR~e1M4C|`VP_7Aã^B0x~Kٖ9Zc(DSZ #Q ^&-T$uĶ MPAJ  F{$hfN#&\uiS(APFtϡE>6<$vZͷ P[IU ѺhzFzҨd gچ# VběYc`/" {e}9oFiP:xȞ{svz F8bmcfn%Ţ1 F N;`ƚFk6lm_صm7p=☎PCe+"hz >4*ĻzL{lx@߮oko`a!B*&N0 XZZ"SVADg?Cog>>+<8;GscŠK,74Lj"\|Dr`[/]LNC#;_H؝iVڒ.E*RBݧ`,zZ^e]пGюׇnOI)L%䋌OegΝyy~ryW_ז=!uzPj3A|F\o/шIENDB`.~ zz_!Bx3PNG  IHDRabKGD pHYs  tIME ܌ xPNG  IHDRw=IDATHm\Uޙ3;]tnE[$m6~@bHP 4ИR V]P?ňC 4 6FbhL0!&Fj-v̝̾{y0ۭmIν99y<(zM]7nz0ᕫِ{%=T-_ھg玍kH(b,>66sR̍DsWqyˣo0&2^TD&"g>YLD^?)ډ5pS/=_ܖFjPJŕjN -EOfMuԡ~~rD0`%MZu%A.Mi}kBOٸ.E5\4pHu|zeeشs].|xo~RzY V_|/uu(XRWfH%\^dHéEFA+o@$[HYIDAT8mML[u^飅BR>€i]â&x͖mO^\"yǖR`J{}{'G4/GCNyD"RnnX㿞^ziCo__YV6,2+%e>5T=l&G>9wi7VIW%y(*+ǺC>8Ue>⟎oパ-0;T@![$VG{.osvl)=bKeNr3!*=\#ֹ6'Ighj 6:3qN<~1C_ KZЉ0FRP Yc{%[/<Úp{cK;[ѨQېR)JE);6ww)%m{j:{;{ToNpd *W@Hɐ+H(hʠv1A)}YڦbN [XM~&e#vW[.^k[PwUs* Bk@Ѽ(BVPi<[Kp8r^jd:9FrmE}'ߟJtǿZQ5En<:eǃLXdרr)"~Q]WG\`(CWG_:U-J9+J_A{@k 3DFGԧӭG>NF>8s;.wO[+JgY*[Ny'zoճ3SіV*Bv3go0.7uIENDB`mUudRhl{͋粸vMH)i6l% 9_2$5f} $K^ȢeOt}05&4 )$B " B j S%zt+9{$kVov \0>&b8s9}EŪ~z}<}UC іʭ+@Oͯ+EMh[,ifJ9,e{Xj> RD,}WXXKx>z$ܥ CW5Jc E:1FjuAYB0MX³Kx^%K,n 󼫺@3%kx2eĨB"wOd\^6/+uY:f7` tTX)k={xdR)V@@E K %qYYξ5`@@z PŠVزc?ϼ\#zs~(h!:QsVdGG^i_Ѹ ] P il8бI-2 Zd f3-"ӓWH\:Wa: I@W| kus)4 t 0haL&M *N=?W~1|8/#`:9=ZA !^8_/ nH"~ď_@C{zV=8Nq Dd2I8FJ8LOO*PXkzM[fN_ 3ဠ԰,\nd\Hz\xWGy }^?f&VM TK*y`Yܙ?'Yn"ҳO}{I_W"AGB NC*W`l"u)uq l>ЭǢفµW*ۭlIENDB`0 g#Rx+PNG  IHDRabKGD pHYs  tIMEߋy"vxPNG  IHDRw=IDATHmTW{g̾uw]`JX(nijlbmR$EAԥ&~1XRI&HӴI,!Y2 };a.'y={3!6.׈~& w tJl+5|ko% Du_ؼH$cB,'dN{OɱAJynO<쿌(5VV*UVj(+uѳJm|o\5/;|;~5&Q6@)`A ̯ce|?~WT@:X:T̥CAD02݇~t@4m/??bibgWH&P|NBq$ g>(r_0ĆкBƻ$3;=\ʔ:C#|EQr9anaIDAT8mMhu33nv5ƶD#֏jkKcEՂ"B&HKTAAKKZ0zPZ/JSM&i4dggwv!m^x{%Ibی>>%ʷkf^7]:葞w%.Od+7e1b:-D|,:,D>P G8 Z;?~ -])3XRP]o}FHw70莶JNj E=7!UN~&@䏫l^PXeH,LAd5RPPBcOI{=ٳwo\IiA'vQ2kϿRsdN^#iFfAudY#XF{(.mnЗ7[8(u>ZɖNMHgdѼVu dR,Z*OZ 0*R/B@z$I"/\^ \ZLh-NsX+k*b]$Ii^3,YׄJ5܁ަxK2j!CjB]`9 x @s52*_|}1ny$<~4Ï  oj VByšogƇVlF`ū*- d#2*WwOt.x6']ځ6 FŶA}}=v-kwFw~jGwcuxTz[>|z?c'&|$RHgsSSGl%Ir51'\g]?Zvs)UIENDB`5n%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxDMlSZ붾uC l- fW?A!zbO4LԃCֹ :v[__ھE;Ul%Rj9{k(S0 m}o}5BPA@j9ʡ^ٹ[Z@@JewO"1Ʒ]vƮտx$aUGNǯ]oS1+ - r[3PY.^% IGA[Q><@b7"%Dh'd~9c˅qF$J'|Iû X979|f)b: "cc [PMRCފeKm;^LQ.2f7Q0JUGXWhtJt+WQSh߮'d9$I.zۈWq;w 5+^0~'2(Zaю>o{Q0ս^.NSnUDEQbb~0{??{%" jՙbԭ_UٟWdƿNIENDB` _<%|x sb``p  $?ORAN ɼrؒ]";,,f`ŒxK<}]oq2 Jq Yx8XNN8С_v׿.ztMYx>7^ ӆF `mxlEN}'`tsY{66 $zxzPNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G s sI(@x sb``p  $RlI. Ap品" 0kH{+m6fv>E_B%%y% E%) % |@E+<]C;O55 ߸ֳ <%CCݱG66s?\bg5?`[0܀%8Y8 Ey8XNNX `;r~[kJ( ky~\9_ %OC:.GT'^i89SMOAKRfsD j eSBB.H N+ x sb``p  $?ORAN ɼrؒ]'E8 <">0܀%8YT8fitq 8@ IJQ_mٿLZ 'p[n I>gIkӽBꙖel;w [+k<]\9%4`b)@x sb``p  $RlI. Ap品" 0kH{+m6fv!9[$K\#JssSJRKRS3K2=}ā<]C5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\k藖XHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F*IDATxڬn0V6@8OPV!ud )s.(Zt4"{I@(p$iz;\sHߗ{<Yw~ \9{]Lᜣ( xJ Qa:o%X 5I;lá2~! U% 91#$IoմgAÚF#elwKE^ͽ$e+UB@$h=@5Ћ-1:|8?n4h [[}JXCъOӣohucu2`M~ $D}AA96LSDq&ϿR]#6"̢`79H"rhGt>\|]0cPNSUk-y˭'/h6C'|css}-0Q𥓽Q56,=r [ \_]-% 6NA jes75KhIENDB`6 j-Xx(PNG  IHDRw= pHYs  tIME (/D MtEXtCommentCreated with GIMPWQIDATHՖ@kH.%-|()V),R"-6Y7?=p | ̹3Lo"H""[DT YxtހEOqQiZuu]kYFQ c2h+@0Ԣ(QEa:Ȫ́yo܀y` h8ve`heO,s} vfwZg+n ]W< #PU>it/To^#p5Sk[kv㸓`$dd=hA| @\^CƲ:CIENDB`0",H x PNG  IHDRw= pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`lJ)0'[Rvo̳z#FA[L}M5J]$hF"mhדCD\5:|tgJK=1.uxMvg}&Y|*12a ]0 +*@#yEҥ̾~uF+Whx3RU(IIi]9^+cif޺šx(lHBDǀ$TvĠOP,/rSBEHl0IQ;;T^Td(gs%Nw[Yg'?!4LH&IVڥ@lg/^w~vba&թ0ha@\e$GK7_4^g1zv J#$ Bpѧi pk<'ܢ_LIB.2yHAǡKa>Ͳ y4̽Dmńto1^ψmv0)(-UpVêe/ᎎ_dN*PV%/ǀdINYq-3Av L  j1_DϜvxr'94R4^0(RM k]˒yΩ>^8;;˩v tV,<\K~M&=bPStyHS.Ps |07GPt9Fhnߣhd:Iڍ,ݦaA1Ӹz:Dǭ>AXDCt RB 3 E[$Kh@ji1uo^·FI^@KÏ~FH/Y9KւEt"(=T:2Gh8vkqE??4ap>ݵbAgސ95a"Jg HHQdc|99WB7nPQőf(2Ylvo9:)Eq/_&oDWB+P =dgS:wRQ+T"qݯε;WiCO3tpTy4tLĬUA.O<xaID!6LҹW7 4c=*K)#J[i) / NppCJ;$) @ hCB1]|ýL)O@';H1 h߄Ife"WrtxB @90y *f _]x ?'uJ> Iζ4.Ko_!ƈ$B~f3YNvkAɨ(FO tknh- QzaS~LBIL悐FqO~Sy}TAyJ D4x hBPI{E^W0k D!T`B}n6 @#7 v&xRl) V> r~pD yf =q|'<~u@Q#b{dz8Ezc:w)HXA- w3 >k"^/,"qE @*A[x?b>`=-ēj)a9:qG|XX1!Aa (Q_.$ PJh;ps _9>չ?$Z0 2o'虳Ơ$G\L/XBΥD ĈDM$8=:z.-Y_\b=\z+ 3:j D눩ƫH~WtIENDB`3 ##W/2x sb``p  $RlI. Ap品" 0kH{+m.n~c*q@!׈ԼĒ̒ wO߀F>qF}Oo5;W0w<0B%cgy?1{M"Ϣ)vơI6(^%z clq?Y2^O\j4]cgK3izüeKcܙس&'0-wpKPbO]v?+YYy 9i}~ceۼ(ojecͰx䇌 ׷ζfxҐo .ڲ1xp]wwSY[1dO_gpu Ykw; ɯ) ;r.h x PNG  IHDR szzsRGBbKGD pHYs  tIME16)tEXtCommentCreated with GIMPW :IDATXŗKuTIݒmg`(vC1xc2C!}6I.0lsH gA-%C~WwuwW}eQhF.\>>8?{_21FŐ)BЖ$jdDA eXI}$h=#CD1N9Oqh "e0i>'%Yxݻ8bdZ$B*͉a (Q 5=!CPq]s;l[LŏkI]J C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIMEFiIDAT8˵OlEƿy3:vݤud$—[H4BK UHE*rR N#D O zM"8Q,T*mi+GwkwC(ny};Oy)pA886؟wrFq(iځuuY:^w]w @0 |+fff lKid#@ŋʶ8i"u)JX5MJr'n_z٫R7ϣ9:jj"*q6+J޿˂ X pҲ׻ϿFR|1V-wMA?uS"*&l{} @'677ϵ'8% AZ8vX&{8[_RʕE066X, J/_ТRPlhZ0 ? Ji)nApzoG"0,"%R&Yw?rxڶa) cv(@Dj\$Np1&+NaznBjjU 4ͬD49qe:y8Nsޭxgggih $> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)Zk+?>󪪪*UT-˂h 4-] %0o\ܾ}>_.R̙(//0UfX]_^Q+++X4( 2t:- )%8 JHMx<Yie˖Öeykma5igp8<v|%0`>킔h>z_i~?^/~ 56~P"gr!{cJW<G08@ oBX!''uk?D"h, ۶A0pa`hh#rRܮX,aR[PJ&p8R$R2 ּr((|hҲx,(/Y:A\.F"nxllcР*(%S _P" #^(?xs~5<^U%% , c!cGOrO`ddh8l9*3DmCuTm#L |F)FGGi:ȴ3gφ^RL[G2}}!%/S)%4MGW?dBJ n1ŕz,YR%`AUU %ΜN<BȂ͛7w۷%DΟ6Mؓ6k\xa(//{g|[Z!kZkR\ @cSSӕ+WğҥM.xvo=qXft:.\dCaȳgJB qM댮0cGA2f_7 LR{/ X^rIENDB` 1(xPNG  IHDRw=IDATHU[lTU]1w*,4~DjPGALy}@`h)3 twLy;9c}>{Cx^44487l@>WZU\ H){Q큃X4&ɔf~ v9`ss;w~ XԺsE!BH~ys^Dze­K;::2HvBokx( ϟ?*.~՚N`p8x'D+LBB`&$;`a, a4MH ؖ 4]TU]iB`}R( (`r[ &2PxPNG  IHDRo pHYsodtIME  pIDAT8;KAlkV MD%rE"Ei.Z"*6 .0эs#&n 9͙s94M)% 7z]R !A\k|WwNPЀA vۈ% 榨VSS2qq|312ϫ9i*Dl;El&o4{eyϙ ؘ6I$ait4.AeZ^~:8gg}RJJgggĶEBA tGdxloc46t$"e=׃h,u ygkKY<` SZx^'f"])赇ѵ>?HUX3 aA 鵧>L$tzȀJ K٤%"IENDB`6R q3f^x^PNG  IHDRw=bKGD pHYsodtIME IxtIDATHǵAKQ49 *P,l< `7?A"A=yDsm=='- ^K٘{=4̛R)yjy#J%,Fl6u  Odo7G>:B*pHONЙ bLw}F&ރ)jp]osx__m 9&[߮WYhC.;E.;5ѧI>OBm)=tEiZZºheD޿˖f]]/\@?{FivϿ,@t3#G)^XTx{z hy*wP@8U0ZR|BͶf6h9?OeV7_q}Q`YKKH<[g@,@Ldry,za᫘* D%B~Max^-Xz1JxQ`WLץK 0"Bگ5q+5>8 n"GXWqZ%\\?c!Zz^0y Wٲx[|߳SUA{ձ1ܻw m`PJ;KdmP[پ}Q28ղ8'O޾hFg4B/FÀjSwFבW"zf1Y1\K{7@Od|}źgYYALμI8Z3JA9^O%p]|ۦdۈRUp Q:56\.'S)y'IENDB`c` m5^ZxZPNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<IDAT8˵NZQy8DF NJ5XBр/DiEmAD0@Դ8Ҵ% Y@41_go,9'(ٹ-;5Cc-^؊֐X >څտN~1ՅW v\N)i7mp- $t+@UVlf0˼߂|@%#ZDD>U㮤##Lz(27ύ > YAW _yydzr7<B8WEeSO`J\''A9-K0BFg}5Հ# w !zBq7˅+đ6s۔CeTH`9ܷyhvע)DH&TiHH9KI$ mֵL\i9IENDB`F s6j`x`PNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<IDAT8˵ORq;Es~Vh7D i)%FW;y ֋lENɜ&UgWZAd:{>sΑd`˚囒}06HWz*``ܶ+z>"Y HE# ]|zE^`%bŢvq<ߎ!l;;qOud_W!D0_"-IJx - tn$%!?[ؕҲגm8UޜBHÝu{N*Aƍck쿞&rPPz>2I)3A.uFk4KܖA.qsjw߈`LwЃK$H wh5G0zg'hcA` 1?1mR"@Qɩ`h70ɒpGZupvUO$M c'qCGH L+@Tk?FEkҼ갺|IENDB`=3Ԩ@{ L+Np{^pGHgEF&NːPc[jv}^P6_x7>?~䶮-~FP qqPlFLIoD{3A}ö2FudaiBvt6U0Ǐa\ M`֧J$4bP$ J {3~-)qz^>;2EJ\돌y-qhX0mCyR TPGU[W"?ϔ~'hzOZmO-].X~,2K T`#,[aŇϧ) |'ӽzoZN-Cd, BTYRF ۏNLgzErpZU]U>f㐑a 4dE((pab*MjU/Nkqe_Wx: *I_! t64j#j 3Y\gdNW¾NU_`"s 7ZP@քU;P^ i"QLΔIw/$s.-Sv]Nm6r"LD׵Jy69T:I"\fNF!; h YQ(ʸ8[|$o,tngRQ87G  YMoabNoXzFI$e 4 /ka鿒"N#IfKʹhDn}Jvat&#V<ΦseU'!R,F,Tx$!:8"92q.Pؾ1`xQVnIGiN{u*ʚ54(}Pgik{_FG/}vyArnl\Dga|ޫ]Y[-.;L7LDoMZWuZz oxUlb1IENDB` Q7&>x>PNG  IHDRw=bKGD pHYsgRtIME&IDATHǭkl[9>$؎رQδi!)Ф^DĆ&ƇNhb`E"- DYHRh!ВigvnN|)QҫGzO+ön65W]g -޿g⍧Rg 'c0B3vNNˋgz`:ݶ}ݞ<ϧqC_6ƒgf)Zۺ܄%X`Nr&tAQ,K 6EfUiU-mI7O\\gEUoBQ'?ȧkCAJ)u4LJ{S]dzr魜$^mr3XaC So*Wyle)skWpm99^f4(OAkUԡ|֖rvj"%Znٶȱhk]T\ p )U pd Ρ2ϠVvьyn1!&b⣇KrJ5݉nzy1wkO&8]N7)vNKBu!$ ɤjJe͹SIv]CYe)I`2'/aLF$ᬤmil{У"ozN$#4"ĞG{eh9Ea^OЉkGC\1{`^_[˫x$lnTȬb;H'MR5N^_C8)qf?xӷWڞ3=<u)LJ%z.xnxigrEۗ>*vTjRpDDGWTBQqY6t2:@܄Tbm08yLZ9Wٳ& @nJT,3kP+)hO@EEr}g@& _B{: ՑM:55:1+dL5rĠV7w\ :Zov 2؋vxn xH @G,07nYjN7nw&ח:r_T8F]2*i-ojγ4ifV7 IENDB`Z )9VxPNG  IHDRw=bKGDC pHYs  tIME4 4TwIDATHǝoUU{rE"%6"bK}%jtk`2фCcX` TZnIBK_MsspnBd׷[Q֧ٓK׮yjݵ+A* ӷnhnn)8WWo] ڲ5,IͿHiæ- .@38j x PNG  IHDRw=bKGD pHYsgRtIME $6IDATHǭU{lSe}ݽ}l=`ma 8t Ȁ OAB&F@ Q'1F yE@A2k7h7mCQ`@wƏcB(+,S' _߶띕rEY`"THٰzy3 u.A.r@gj9%^_z@OWsr+Kf|pXa D^EX 3kw ) 玵g3h8h4$KCr674{2{o@Z=cHE3ۮ )jH" aԎs &A #,Id9O`<*;mF^.wV 'h60<’61bT5J7@ԄrGf.0TSGTHyL L B ("X@x/@!!bG5e@=o"y8( HC] n\r"ťl؁j s$Zcff'Osf=}û Z% b=sQڸ48=6>[G9@BADpBl!ZnO$*y퍷%V&ҹE-ADj2l:2({{|$ӷ}UK^9Ԓ\_R֬]:=9Bssj~ZA&nFߠq2$޹sRӓә.JZjzJdZ} Ѿ9;wpmd2>qTH$Ɏ)c!PjA).69D>tvlkg###8~d0 |Tq804Ej4o|O/w.{am8FΜ9×_͹9"لA.ek&vH|CGڵQ^yE*֚Uz)6IЬ[@lyw0OM,!xRlg-ZƤ`)_?QJZK[jc8IsZB  f߾= ^ȑ>x ZD8Tfzx }}ZV<uCB HyGEDQ\c0pҭ{ 2`hp%uK ק7nؠv Tt:U[|^Gڲi換K[6cMkBp}6JkTb%W?ũSH N!AC;5=]C쩨9Gc?_EH3) Ҍ7|8IԦ.[̜t_N| MÔs1y g^̌~sNDWAׄצ@ӧur2yp)c5jYw~WwXUf̲% ?Q1M ~.Ul6cpCBGT$A$Ȳ 0pر/|߿w^I就EA$A$4 d2ܼy1pAA^ǹs~WF#)@,{,Ba L&@)8jBZ Bp8u[`Y7*f`-x,+ ~:9GWW666`۶[]oooG @*J@^FTU}?a681H&( ζ뭳&!3UUeY~{{{`/k4xJ2SJBH(|F?4Ϳ溮ZVZ__뗅ƮI^?xosj5W(~+?2BJOi#heyB[,kݲ.y70IENDB`z! `=,x sb``p < $Jc) w'ud^9lI. Ap品" 0kPו2;B%%y% E%) % |@E=]C4Oh rֺiOYN>užvU bK Gt m|f Ηܡ.:{g[\ݦd{ޓf}vƦvWg)2qsӥ^ gt|W9aNxmZYr&źPg kOs[ W>?x sb``p < $Jc) w'ud^9lI. Ap品" 0kPוWdkDs~nnj^ sQjbIjByfIo@x#8*nOS'n: ҺrK%"1OL]u,Ly|QIпLr-5QZKȅ &ȴ.mMeVsO.?u)uOި}㰿me W*tY_:q9TbU;^)ԞZ>j;)~=̠s=U$Y8oSvpmޥp/\ްjShڀ>_)%3(tۼ6S|?[dSkONx sb``p < $Jc) w'ud^9lI. Ap品" 0kPוH'[PH59?775(5$5E<$C7 O苧c \ﯙ3KClA&qwnvܜjҡoȟ%Li^$eEfUgg_Ǘp4fje)5ο7<_y澋ç uBmqfDá_c[-~JO+gj_ۿ+o9Mӈ!Ý-]5.I4ȯjն†/wWm|MϫEZ7>[ݰzOLʬw6<}> ~.|J&|3?kkJ~nݼp ,@1@U1T#M=)+ /^{|ۯ0༣<rΜ>ʨ8O(;fuwرc; ~SO9u4;gytG~:{vb]๣Gٸw߯ivUH{Pk)۔s_a'*-B gWÇD#K. *ʧ!ٳ4\s*n&oRp1siZ~#grRo]ܪ9?شmum; fͬ@cNΜw7nbG@vxy@▵Ćd4Юb h#hTǎS<[q4!D& @:֭L,۸u(~C"d`"~5F Bϖ>r ^4_&O %LP #e t\šH;_cAD Bd GIdVQAلItD舴:N@gwDڙ(rv5>;}^JK'S6%V>h+F^!͖m(RJ8}3@AulfTUL ;"Xy(+/I`uYhTVNK a2SHjͥ_شhg[3M1P^^Ngל>{3O]%͒H/Yjjjjx!0`EkdcKtww~z{p wRYYJ(D|:.f K,8.A@o:.zd Z)Nrh׾Zؼl6Pk wsG<=uMr&N?o-hYfVIENDB` | ]]BBxsPNG  IHDRw=SIDATHݖOTA?1DN$\bbrl#LHJr w;c; Nw<)a >zVn 7#fF* w@$dA50U;1˯n{փf~tLJ29)9Wk4T1*ks}z ?a)u\w|3QByc2|N 9`Gɉ^!Ĩճ2i$TϿ7)KVjPU666qg01( 6l6d~~TH߬sOj%7PUO*\^40FtuwDN^̎"Ȉ(rLp_ ȱ;a"wp#&>:W|HVtXZ#`;t:xJtS'80ǃPd4_twRJA}L&j*rH DU.fխ5 3^eQAE%8E,pL t{&{󇏟IɲCM4M>UsJY).9jV'5mciل`IENDB`l' `CDx2PNG  IHDRw=bKGD pHYs  tIME "##ZIDATH핱kTAwI BiM * )R6EH (B gu6? (5ф"xݱxw]49}7;3_ gqc   4`6lUs˅+wؿq{ē$} 15Xcpr8{\§/ #5Qo$iYixn_l5qb W/aKC:IR։q!"8,\BE]Dlll^ ˱s j5'{1c!X,R*X^^:$SSSO>$֣jBF-5#Ն)T*"w2Ri 7 0(=MOOEz[DC03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATx\S[L=t2jiBNGnme"OHbu>l MOLc$^lDG0a,mƍ"z@;hzcK8'眜pX"V_%I\./MӗZ.r\LJh :HG_ح @ pB"*++˼suWgŖo'[ťy?k_*fX-Xo+9ʫ?>^^_d2 "ւ"pb&p'[\|y6,hp#p-, @zz:ͰΎ~}JGckji/).>>dm?`jj k+!bNwކ*] 򊊊:'8W܋n`>`fCCHJ>/sx84k2nv8ͪ soT»g{=( Ϟaq |aTQVʕ@4!pLNb7Xbx g$ F"#Wڡfi80D"Sc7MQ P)B[=\R\y8D,]yxW{/& H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G% 4+5 MLv};>:=2?~*q   @^78<\su),_X7`ag_>sGa.)Ywv8eW|:ٻW+O0?}|PaժH*7զ/F2zrK WojBԜw [x==B Ԣ}[4 Kv CE#5'C<ćNQYoCEncB8A :wĂ4 F3"D1Y%J'5dK,">DW"u.-ד$wFz%fS9)^ lMp˜+^`Jn#!`spN;$pϚq_#&&x9FQhqqd0!T ި's*j=n}=zQ~"i``וmֱhmllT"%D&n5=Kh=|{>ߴXّYfwȯ]!oLoZYsir? 쿏;fw"ThȢYf17{>΍.&&_Oy}}ü09 j#O/bdA"rNtź{5aݴ˘{c%\F Fw(y=lܑl%IzCa)g8SjTqur}[-/ȿ ,ne!:#z%b<#l-("> Z/a1.($(%z,8qJlNt!f ٰ#xݥYPCT\$\e1#mԚ?Ny`u ~4SdZdΤAw?}z#trmcD+8 _U48LJ9 !qYLH-QN%|E.AE|xG5ڤַE;RomuXwMߏ#TG~4AО%h[==Dd\͍oPRNΒڊ8dEH s}(ŁF\SCWNffb8k#;RrBj1N$`3צƬ܌}FT|YQӽQRBcw T<U"|9#|a- GHw 5l$\9r,"E*)1AVPf}niD05.h1"DXlC_.Dp,$%vGBDNU͜.jĐ($) 1){N<+aȒ$ s)js\\NLyv3U$Akygv %r;ʊ})C)";.ת眂G'&Y G猛t]ؕ恳Z:O+S+g)D~_TFeX#tWhGLDc6إN\fyi/ j=JA!@7ij %4#bꉸVaY:~efvkS%Յ?oUJh#_EY)E C3+@]䂲C kCBu:_Jtμ~}"UR8^O7tI1'_#YGL"V AcS-FK*`luN"vf0,KHA.ؿF*xb{)ょxGKHn}hYѲD9T5d I"ßJ⺺|?ׅ۬`^ ({,?`?eH]#?߇JD8F6aH`F RH/f>>C:̚"NJZ 1qr*J>uonɚ]ןKu͋'"tE{ǁƉ$183e*f$?]ff08xh}C@\?p-7P/qM:ĵ:D_Juu(/:v_֩^ZtV.DA<Ac m:rVb!R2hg:;jshMo[IbH jO&#ûw=\ьz'qG;,+?\HP@3F591V(TK xfiB]j/lpay׸52ͥM$ 4hÖAhgkr OuUceݡWGbGE d0OY5 r{AY [=}FvGj_Ƚ;~[֏Ld ,pK%ZtxHmAR!ᆧƤ-/f MY'I xu?xܙج`{U7ަZZrk(KS>LH'Q[Ҧv eDi@NoA_UͅVK7K_1sivNxOi+' H+Rhv[cˆs%'d>zf2$qc׽Yi[/l4]OAL[AZZO j F9}b0sD{7R#o@O'GꌞE>gijӽn-_3)dx^zt[_S^'KjGabs?{W%J XdLDIh)w*,/5N&҆/WGdsqJYFQ~,! +X  k g(E2{ @*YQ/xO;3B zWkӉ$Ȝ|J^hn{nlEn.&'f'6sOX Yk-H0~ۿO]+{0j1cZǠg Vx4𗷅{=K .SbAc~zrSxZ}2_]">*rbu$\4=(Ѹ 9ڲ7=, \-9ga Þ=_E6^xk9Ї;SEz29b6H [>! QSaEfySqJ$XZAR"Irϥlj@?aӯU环oǼar6cypTbzih$S;: ^['QCӾ[ڃVGܩ5$G~4{ 9~3s#F.2謤m}c&.5 `tqoo;yB]`=ؒޠByT 1WmJTN ֙yμz9 Z: ;$m"JhdTLK 6t V̗6L\+SSFkr%& zlvw)9ѿ-BVD̯՝Y=[Ԃk.4qx̭ҦfS͞[IG.S.l&hLHEr6F o.Uq@Zw$A>k!st #I7|,H-K~Te701d6Ɂن;]5i7k"y܅!tZ>=AMc63/-6Mψ͟&sIo3>TTF2+h 6(`jM(7{ei":( HMao{>,?RWG( ӷ?+eD]k-?Ք4ע( !859 ~I 74Hj|6r~r7qn>oT%Ž|]J+=e0uӮh r/EbUƸ=c{4 LBAĺن0$ְ>У%iHhuX˄ p1_1*WRT3WlrRAzBEDdm}&ݭ?g W?< 4ُX3zGQ" r<߬pg2,Ƃssklu;,B:F[WA,>{3Q!yj zQ4 :3 j+p։iy~I#lsn ]񠇦Y8}7\Z Se&5 ~/iJ-8SϐW jf=me+z ,]g?z\ZUF nzW (?8M )vꡲ'}1?e+#YӗA=o30ufj5:y3// Of~A<_oq8w@D'Ħ(2ήuUB4nWHG^GCtd l'ZwZ^7ęQX5/eٲ,aϘKi6ؕ`!Ł?4jÍI1:vɋJ)OI5'&9JR^ .Dh Nsc)۪jf+[ѩ0nHb&LW1?,!.K .#+tWJAhS(T8,ɪ$tb˄y""Z/%O ^cbش^^LDB^z(Yx! TjY4f _[t9h\3_ >nD;dTmh[!.=7~E2TY[O='])-X-!ٗ?Kl;~fC\u W۪p'n?YqҪFX2od`[&ę /wR U25j #%EDL*}SvH_D6#6&bX%$h>tj5 zneob?o r;;3[E)Ip*Ȧk1= s.az5\^7u$Qeiy%YNK vg 0 VQPbo^r3|o鶼maN\=.]ŐnL^mx#ŚͣzO2$aWJNGʖ $B" k/ZnjGFb '5ڐ͟7];J:~|JMfrg @& (P!O %sF-P̕f?)a|oD0Gr 濃:|pmeV ;bӶx[ܠ7pjVt6.Wҳ'gN [q;g}NLF[yQ1ù=͘F A !7Zn8rWaVS7$؍یĚYԳA)ғ3N<~9pE peO;$DZ, | WHAhN,m ;RbܲloœB44 | .l\[%P^:@tX=pe+gHËRG46S^Oո- =ʣ=i&o/iنCy$fȏp0s>{¥rP"MU` BHe#YZhabdS͗ ”nЗɻf&|ό7P7iDlNW%YJV7t0Ā+Xٜր,鲕 חXO xߺD3Q\TVw@L*g)VRキU #fce.ef !ij%vD+ˤ=(G'Y)95Agq<7 %b jGg]c7h!ړe$3IXS Bq'p+ˊ]LYE>{i mi*Э#pW~*BQ»,qEW@ +̬"2WObT.$2lVdEΉ C,`KO0 }.PbH$OiPKjb!C--WHQ*n:h򧤦,f |Ո9Wy7Ca+k`{㸍{P睲]hԷuC]t0v÷?4DiB2Xs?563s<>Ks N~ ?NSƸInscd_i!NtUtFk^T6->'ȕ3t/+67D. t{rmHS7mx"+#߈zVzD62>ht`҄ QmY Q_֢-cl-&.ԽK<W Qtd<>jGK{AVBk۳ak}9wk80of73L]]b_<keJ}Ÿv]R-A\܌N}QG"}/Sn͔vqpblm2dsb'g#TP4FO.Z[=4Kq><䏉mb!-)ܢP jM#1 RdElѢWl.S$>Uļå%ICjR$EU2=5'ORƜ@wGRᇹLlxQ-)|z/r/,=t(>F C9 ,k߬؉^AG\B Yrd2R~tOU jкVOs^+ Bկ}b-rLu.Y zY$11޶k 03F {k !k|_{uigžoXxyv&)qٗMÃR1 dO]&r$cZwP-;)BI@;bEr4oro/Ѷ8*]VMĺZTƨ;/| K(/=G]3QqqV:%ƘirE~+_֋!z01AEت[5C(Q1EٷcI>5.?~;=U^Ç]An@M(ՂE$՞dtbn) |>Jݱr\Za8jXE(vZϹ/ӷlU 9:aΊo1Dṛ.Hh|a +Λ@~3n""ӲX<Ɍ# Fd3~.vsuȻӜMP̑ڞdf܄=ߣ!@ i %h:kRqe4M&>!b^.uGiHMF*m z;t^5_kInU=cŸ79wIn vMR,È a +3ى z`-eՒ{8mlIrỸz;c3X&<-sTӕK F8 *[THLoh&C.}vOApKҐjϨkIP7ɨ͊~Xf>/tL8dimK6V R$GUp9ز\[C%ssFڠYC]hu, KK&M~z?kvܐyG_ߞa/UV}Q|Y貚"1[?mNAay:sz~v\;[߃ͼwX Y0B^^D9ڄ]M!41nUm!MKbd 98hzjOAaGߧHlu-(`8Y^N"^ QXU}MM75RӼ)?kQPvqd=!E< )=30CذϹ}\I$ >yB.=jV,f`U>=JqFV?Mvr4;:Z3뇷j8 +\jۿ ԧ ysv7Ox(Ԇm3ju nx8>h?AVIXš9Di L֝dH__L 9qW8_{0\ '(h+ة= 8n`$g+L_ BPQm 3P,J# }$ `yd%+jC.((,C1g'\S1X8L_UkۋnDIlޑ-}:SͤRx069C"ϫ^IW>"nmpC~7|_ӈ-wQ)nZ>Շa#%fjG( t]W<#!pc4"0ۑt6JxWMvE<*i,/Yݟ߳=˫L!PD̸>1̱D,O $6#TH:4yS8 L]")&\ж]|zva*Tm<?Y[`%Lvϓ|z,3/kʞTˆʡ HBI~-5'Pj_.VBvb;1\;IX׷#7ʹ~ayA .4ILX:kܖ2i6!78d I1M|4Yt| f_&;Xv%wG‚~wLGE؝X |NA)B99#ZΕhfT2|B*i n뮑C8w"./veF[&?r߫;ĈK &si('zݛ-Gr\ʟB27pڔ@GѝL7fT ^f؋%h@l7OT/CsD=yC|fbiAWQ9Ȯ )SR+HY" Wә9nmv%axt1_HGh37Ӄ~3]>Q3Nl.ߞÅMr)xG.Wx=ptL:oIG"^ܣ+ߟ( 3oY;9r v\ K(zlh$;;Bӑ5UE~xj; ̳NٝLGNeeJjrUҺxKqL`,LwhFPeE=`]fַVYJ6G')_AwŃܮM4^/Mj3omU%5U[nB;ߥ1S䅄yڳ1O*u00#|D!$P0iqV¢A2Ks9_xšDsF0 Y {s x##}d@?45Ƥ]oJ՚"']j<;*6±{Lwk, Ł6b /\ Zݕp-3wf"Rw ?=ٲ,3\X=63q]Kxd1ݚkufm|رmi˂Te3v̧_Bja̙P)$r:G ނI8+j,8 7a' [h8mSAF[hisZr P}U3DSJtt\{UwreЦ>k&[s!̞ANEwN-J*| PhjEk+G[,QJii"hr4AYh@0o& "kPL,[ZybSy#YU0EEFK5:=%aT0xp!OhНЖ8`p'}+Üj?t:-q8KgBjUu/Hˍ$qhYspA5S8~JfF 9X;N3TҘ36azG@tpr6oHkh Ilq(}3z鏼ނ7HB0'~O}?hy&Joof4W:m/Q !t#MW*~h8/䂕yl[Ǧd ]D# iQ-#!G|0u'!^>୮xV5/JL ̢Zc L`,f/V(YV*ʋ; ;z,K>@q@W+IfFX4VĎK뾕}3AIĄa[ऍMf()Ν1zֈ$k2ֻ$^/-6 R!4,([umO̗=y1aJ0@_שXfj"S+G4o31S.T"mrp:C/ ^SFK,riKAƏykwfG!@޿"m;`ƃۧU~[WwwR&ۻA`ŗXוL2,/ƐPM2-R@ )KqCzbA "tLOijfQ/,M#Y,'璜ymBmn)+6:q`VPq{!VS),iLm!ݝ=fyFss=Vb8IF! E̒[ G fZUC#ƈh[c<.⽊GјkFjPzY?҈*Pڬo51W cI,ĆD:Ml˽=M.!et>$2ETƀvד7@H8ySR7( ׾`4aּǣ{{3 F_wYܛ1?#v|3'ra.ow{ ٤)BHJYYzқ5҆0(3E]Lq:kԭDdO4l@(!i*U PJyC1=f)֑3y4Jtt(0ʳ ô5  F]XV$l(|+NF22[ #CruNKԓ2]PpRQ5uh|E v@ ƌ*x sOJ)|JSUTtØ%c OWvXY_ݟڟ*Yeŕҥ?+ dJ#D[篲u?_r/*׮lȝRkã#g1&4Pc9XI U }sLzlvR0W6>e٪xKMqyyXǜO^(0JT" @h{+ gkzIϊ`]]ˆC/S /ǡfiȒc:#6QxbNMMtiY@F $0TXT64Zc0tlnm*LSmg Qa 7@_'_`N˰+驳> ;JniN/-ɬ$ٓ3c 5qzzFHE E"\3`$]LT2@#v&M2T٩+h 1 _id /ly.WX80{U.i[1}{dEwo{Ow*1m{=gmF9hЙfb>߬K]/Xl$T%) <|X ]θ{Jd.3J;J1 ti|]Wt0KƵ-vy CGv.S΍\>dwˬn@Tit] `Š6¬{0p!>UX P|hz4¬9ṽ].dc\zaxF:yB{R Qb be2z {.U;>wXU4N}8㱄>v#hwE!oC1 pNLwbw0Piz(G'4w,&CM7jkC>ܽs/opٿpʣ txsl27Lv?ŗZy?,Co/lt/}y0/JNϫ)HxK2e36Rk Yo=.YauM0 m1 REr7?ġVTzUrVx@qbRLN*P}-7,+T7F\I*siNku,w&:P0ZE"'pe4FCaTg˞koG?d >d~zŗ>A3/p{o80ΩF5ݸy O#aZUtV{wi?O Z8J-nFogMϞ)_G/:o *=\1rDO RI&qTսrk|,= V'v"tPd6 IAcZj4#99eړ$,i,CZ,A{0@ Z!u=uUSHG5R׆lo  *ABChajfC g:gTfo ]7A>T-A$b)-8-ʠo"a>:ь(4ȣQDΖ䱀)c3rujOfx{') IDAT{ [W{Aу}ۼqhk iOEzn${[_ePbWJN&A{E zS5LJRK#/mRDA*mIlAWfEw9=tju]ldfcCRrjGɨDЏttb\4jn uBZ#p4 gOZNv¸V2pFP0*Q5Aͨaf\9F*55)`}OG=:4zᣢG>,u1z)CRP( 4z'f1|$#em&ykU08:F\"z٦# V>YD.]K@?)ʕdZeWc@""#m6f7ݤ )J3M 1 -,$HAfm FCH dlզ˛Jߵ-}&6@i{|v*m09mޠU Qwbid&j,sK1'p[T3:QJWa(+s n=OZ@Uxy$}NPnfX7c0&|Cdd{:i%S/4#iTN! Jd.Oyw U$#1~w*H2Zd#RAHS1SXdfJq`X?r-h{zdd"9r:RSz뵨.*qbH;T;-ܲWy#8vt(x?dl ) l㬐Ba{$Q?]ז8$s- :³V_Fi?CȖyN:'E j\%@R3*79n9RCzc"1֖37Y^5JUAg U f,E5lrdsdؙ ̴Y\7=LʔO,e暐 ѥD;+'p/ nSNgK|e! "`Bx%e@P,yʒKl P.['?kiPkL+q8ԥ37y* )fɌEٺIFf2LDqu!ɳB&IZX*I{2yɉdG9sNf~$f6/:!9[h&3=L~0J_rxfn/Y'H#+ , (vpL%whAP,rowlF1H=q չ"g.h; x^oPn|z #9Td!wTlit3>( lv\'f1I1iS(d2l6m1~yEkK ~;<Zy99KӠN;_9ʙ)ENxtu֏<1iNƟM|ϳMWn6Qr Fpp/i~:.u޲I%2j͑Mf+X{&vb(SqN&00rԌo2iZRm&Ďѱn3@U>P7 1$L~a7(ٮUM\a).;^eUIwPGuOh-_5N[cEAHBѸG$רZ(upDedRdܻ#4=K,TW w~UytV..إP7p+W 'WF}7ziňޅ>do l2%k7=vp,K"&8IE83#g2'ᰓ/औX)2ݧJ9 Gez !Lİ TI>{wF'1V13__pDGI_܁p*'`t xBdz:K9+:Ymi!ԩx}\$gz3]v+p#Ar˝ݦ1D ϓ$t%gԦLP_zAU箰Z"Zc ( juQ!2FQ"|\<7O=]4.O6:QCL}pyH'يiyT(Eɾu2_K q5K4bٿD4E#\ڸI8yX~os+D?3gF ts/^~=͗&_PUPڣR*Mn3& b#+ACGiRO6rs<˝ !~X%[GuR;^q?("$¼Np&Ur9GR~2WvY^CM%.ՔR\о@y G 2%zf9]/3Jz lQ!_fy\KjF KHi&_5զ)5 : sHNٳb6rXmɤ(a'c iqOv-(p0KɶO14$,`@hctfWI8̪Y%՚".)!8"f M)9ARof-qٻb&nQ3]q{ƒ9iBls'ri'd-,!4c<yքy)[qW2 `3ݵrYB9v/r&;J ,)%5ѣPg瘴oY2l["&u;+(b6XtL"ާ^[Vq="k +(o4O詔+מ؍FlYr+#ZJ iU`EǠ3䀣=g -on̨]{P`#Tڢ? nM>,RiJ0<5 O:%QʕRf9^uhDz1KMT&l19FUM/<8RsjlӜQD=}4gh)h#чӚC+rDxn9c*&T]x ={~Yӥ{R١/l9 /cF2x6sE'4_xp|spx*F35IqrJ< R=&{;M\0[Zh(b1%% ܔ9$n|aZ_as鴡P0>0A6iU="q`A]AO9u(hn!tɳDQAt \<?ʵeZ0/~-%\{b5?b Sig{O0/}C&/~ѧ]°݃w(ӱ)0W9f i đr34kz*N̂'Y[h2p-U%!.Typ#cxnut#jד\\YT4)qX4G0b= qHg\qOwh2֐!Ȕ Ғu?rSt1^c}';Thp[iԦS IӪZqł9T+ĩ* :a8p}ѵTdId:1X$J=TX)Tls]8Qƪb16=TFf;AOJe1P#Y89yb*%J&~1p=q-Gnx|H/m`IҔVg8RT_hЩ`4ܡX:Ɯ.mVqF57wysC;|GWÛl?Hv \^ɯHFؼJ,4n $ewڋE 6~0=(Q"9v>qθ8r<)^K9y a}Z唥Vf#$Ϯ4X4ʒR!Syx uH!9>AF6RgYɪ=eT'`%#IAg&$#IG[H!!h'!O\rx鸒ĦzE4UA"{偪l$eH*)eDf'y[ݱDAIy&slgvnaSvJ&Jmcyr|{`G=m\Udq Jy݀3 ,5+7URsev9?B Hpn*4KI1NC~_wx_?iy2 gW8w}ڇ?%.TÏ (<~IMg_$nRDˇTty,z'z}~t~l8JBrk- ZNrZ$^=J\AFEAlt6+!f2,hyxQa\;W fh!!-&L84ݝv(tbtb"xp@Xdq\A4u'ZKl t A)U]#46$/@% M2PA/"M M- OC$1#9N}ʡf'OOd&;* epIBMQؔxLrx7ėϑ3:=Kڱ5f"X;ݙvUirRI6B)3d8!\IIkLa3 ɝYN}\FIOTHYCy_TX[m 1lh0 J@^,7p]~ nik( Y].At.r{!=+}Je *j[GF%MϣV?srqVp#% nm&BhN'2Bfq؄Z)ltd}W打 I.k/>r]PK߾}܍LkD$(ҸE[p /hcp\GI(ے97I VKD䜜|D|jV495'BGxG1qH%Xh%)/Hz~|eq*ړ@T 82dH05g!A凋A|H 5bY_M IDAT{QЬ/ϕ9W+h_.|=|WRaMRC /q{2+:bgA3sD^up{^ -q-+e^z {`w^|`˭[O[(RtWH]K`StbM">X9Ï!>Ni,QjN{晨IpCo9VPu(Z= Bfa:!YId_Wx#Jnv- C0k6=OT׍T;#aHNdKG͒Eh HT,87MʮH|~2kuQgQ{Dϟ$OfY1qZ,&sk%J(>&yE),/;YfpFBŔ%-YZ_B40|u>=RR/SP`9c{ ϵeM Mf.V)ǂRKP*ukic1ZqH (q+z,/zinv=t SWD\=ߠ4QBiH&1#vnKR3 1fsGx j~k4 _ C-ոtEI&)p j AKhCXJ%'Kw8l ,*.Q"Pr(USe =aF=feXvT#DfY(j ݾF(Y64?=6}3t/S6_zrF+\)Y^s&q}+`ޛgq!).ۊ+Jlb3Ogx^cp:X`EXjX_+e#$ᔸ~! %H#^Q:j'$dt7l8.sTmLͳ1eN+[k$@sD4\1{,(Fa&_R{N_[IiQpp-<|霈Sjk C'lr_.KYEe2vX9 r]Xzu[c>|.ҪI`)/D);dc6łK>peLUaC=INKeblY>w>zm7hxE~84R,qٯgyCi=(bo{@u}5?%b78MV%ZEH]1͚ X>Wp(lm/ΓD!Ҁ-R|BȷG,s t6~HV luٺۣ(sB>ޫ\lrꊽMRlQ6au()x19_AHV}{N!s&2I# CYE!aL$4)Cb; hbbCfֵ$I\v >"!CW(p 싈blÀ0B@m1ՊG?i+6EpO8=%IZ5p0@i9: rV/v\1sOA8~J[k-$#o $[HIb-WP#|xay S[ICLǺ4"})2 B&qUI bM4EUp988ꍰZP/k*UAH5;8Rc, <#ܔA7Ťj+" ~H8'b@bFTr@9)~űš_BA3PqpL !E3wUC0!X/'&Ďg V̨Cg3Fbp8#iHn4b45gø /3Rbfa%tHGɌ!f\7.ۙ^5%gcauN;:97,VxnJ$>'8.N<)t9MV5Rq" ¡Tqi=~ԗh}Zs<8{|ĕUK1H% jIjQIUvi-;/?/OGOx* eS ,=Ӎܾyp`aB7h6b7Ao tH" )Q_&ì],PZAjasxr%TSQ?:^=sdiWV‚Q.608!(X} +"U&]smgqR @ aNyF/vJyKO "<\*-Ey:3JPUw8e*$gVruqw{?61Ns>BZ.trjEAvn~+W9 w)|y> XCZiRDs<K uο-6":[wxmyO%ǝ Jc2JG$N#m lnT]a}}!W׹wWy?/:/pş24 т`;$2`Vc6W.._p8n>7?#YZ|Y͇ͯi籢ANDc$ %![տLjR*)׏iHIWtah0LbT( a$8"ϲIp5&ALH*Hrt"aR)9v3|*#i<Ę JbmOmD=&<쎥5& k8`g7Ԛ>'@8@SY@95c[=9, 8SȲI;A" fF(EVaGnCV, z=^V3d͔ 3^Z9avɀO.1N/Q6UVt)669!CXIA`uȠd8΋Wk~fbFj'i[=!ɶҟRy!fo<8Gx˜zx;|[,9J8IHƚa$b,pDG; 8\7n?貾>cA? 1nzHZ!=ވͽ{]>n [7#ZϽʯubo|s6E9IF} /耻~̷}&~-`W(ի~|qp!zg]W{<`}R=ӢZZd4}P.!DQ\ijx*/I&- \{ih07 `2pmq&B~Kx2ȰsA:Ajx ʐDݡ` +ԉz|X%! ^Q9 3ECMзlc$:%pL^SXY`Ȥ:>h $Ao\z'DZZSq@+z ?B  b (>'hc@<SgV81a(TMTktPJbQJNY>YEm;G|zi #?qhcd³/0|0@Ͽcb)Ҙw|ȫg,ww}/":o{1qIBMu=n+O/\bYz#6qFAHX^1X_M>U/rQL۷c+="k| ݦ1׸Wwu^/Sa!>ǝwez!vv7֑BQWݠZ(-7y ET(Av{ BZi>BF_( bFÐ`H8"& Gz@zC`@AO G$­ t7gah{aCC K ,6|k8Qd *N5a-4Ṋڽ8(GRtQ$%Q}:24+YTet݃+ P&J@zeQXgS;̑9LqLh!y'aa0\six-1a̱[J4M@噿N]2 [ Y?o}"Z"&Q*H҈15m&QBf93VA:)lo3ӏ0 Σmr 1|pms$aQFeШ%lǷ>`sc5J,4\.^^e>^) W/,\YjT7 J,l&;Y3/;$ Ŵ[9%[6;͏H%,Kʍ?$*pϽGGtDCVg~, *FC5af'Fx*Ɉ8XCѓHh{ GCxD!hHqίHd%J9.PrfO6xp+u/?NX(%j5>+Vԙ%}zbIc1 TgX\&45hrdnI'd6;)>GS677޸'7Uɏ~oyxNp:}>ͺ~~$1n |蕏oytϼțo?,'==5n8[|Cby5 {{(KZibrA)%yw=xa8dAe -!8)C 8bS'Gn<18[إ{r\'<"/1,N;|P[ =:ewy3P|,i D-)#\s[,q)>qJ>Dǻtcl%<8NDP6z2kNR7w^DTynͧ^0ق+[e[a=KZfG7o|UH"ҭlZOUU:GGL_d}JlS@w?&g<4>iRs|3_f-kS_ 'o-4 CҲa>)؞*zY2$ϽEg >p|to8]\;x?"y IDAT—Xw0g3zƻx/?5&ifIz_|-3^~9oXN**~ů{ݻ{ lmm#c^)l@x4 QѹpNKɜ՛bƎrQj8 DxD}ϋeK{unwqy\Zl=P^X2壬4iL+E6h\?:bRhA@Qjsy 9RD@8ڞaӗZs"2q̺0B(8^;x""qyf 磸B]Y_ߦ-Rxr/.%ل sx Us"Bd ԕdwg_~0rlY Kg=H!a54, _yt>5vwNY.Vgg2q̋,Wu NB'fx8o4mMKg 18jm8Gg8/sM1x镂aӆ^U?1^bwutcDi5x";<v{ºikMX7|+sޢiz)ͷ.-6/0 xsPJ1+֔( &wSsUkKl;d'"E]@IQ "ǟmd4!14RBMCz_RAܡnv H:?MԵ*.۠V SAaˡ2)mys8w71g Bti"^DQI "iLO(#*G!V4ITpph-19zH5m nw3Wy Ǐi[6PIN[GW\5p脳OxOi@J@8ʊ_'?w%l;K%^]Ζ-m3[W/k~7 zo?Z:YaN!l(>x x?@JHyt9sV>L&X!:?9|Z>*RP/CLBc\,x,f_Zxg:Pd|6{,IMܹsU(UBu{AQJT $Hiie* ,\SCB><َ$YA`:]SŴ4TEÇ+YGQYRT^JK/'<7vc$L+M]sJ@ L/x$ -1*m߸.ք̞zIJcǷ &{eVdI<*HO,'%NJ$#iSIBg8Tak{xEÓ#EI 5>d٭)pmٛUs(}ÎTՌg׿E{޺֚~ X 8i+j]_|-?xD bJ &+e@+M "Hʱ5b |ɢG$MJB:vJ*P$&Q̧[|W)EAW*Q((1P)oXr5f9:vdF\/I0̘Ϸ켛RZi$ؓ_< #x)u "#TQ{m@UQF0 ;1ZHI"5n,zcq;]%}UeǺ$gf2SVR{o]ngm.%I=^ѫ)*ڞ#+T;T"f6}X_~?q-J}K78%uX7Q g-Wv~>9Z\d %0!}jfgkF/rDNOO;ת+͕=Gl9;3Ɋeg`{[X4=/"(}@+{\A_4#ob+M%'u7+ApٯRQc1HvKɇ%zwwRP/\eR>̹C.xtIGHGpG1eţ5(/'ԠD͒JH>My|Q(&)sx ɑjL2CE6XxSLlmm‡mgP0㢥m,iDD y:reyܺIeH|.`m PDPFB"Ąr6y]:hW}8TReÒ#aD|K 6;_`% -WR˱^%!J(FP)@:URLX6ލH 1,i)YkI(.eænʷh﨑,-)il(,zʧSl$Uao#W Dٛl_ök:FEv&LP ~7_hOٞMػrl,< 6[ySc*QnX!elg݂_㳿;`$C{zP }d%^,J&a$ƁS H]"4DhRZ#TA/yF'ryFȔ@g!W[h3“O(rwU)ni0:bAfT*$A&Ht8w!b79l>8Ց)wc.1PS|4-vuLT5x0ZhIi{Vaej4`kW0Q'XB$'N|[՗q i)x˖}U;5nypx71ן!׷v8qyUw^cm lPO|*{SUK\*XX*q`bYA45"Q]m!@QQX_9<{%H|@:bƶkD(JE!(E"L "!hk'lH4YPҜuٜPJB.PsرHٴdhRU b G1R[r0RD:wlsuz"u)z~Cɤ.KjPc踒( La(˂GʼndN)ɍ&AJ/&Lr/v|l,)2q`GAѝh"*£#rcA;z'htwv'?":wx1Q^(ȁB%k)):f`-CKAAlg)Dއ%XٞVx wO)n˟IR9gg۱m_uTX(0)jȣ(UV2d%il5 8xuL* ׷ۑ?,ٟ)eER|a[l- VH80NV*L7T)B~0 .fퟲKJa#uB*35[LO`ߝeIsLQ dP%}W}k||bkv >[\//j-`guKMd@8Z=Dj}LW:%|tJt-sϵ3]M=JE< dp>:EnhڎJ+bJLg3[¿w˽h!>DJok~k@`"\KC| sqB ^GJx0J'瞽O)wͷrVHUy4 1ڭ!dLv`#<q;g$nl1  ad_a_81]?F{-`|3dF{8"S!~*^VLvr\ƌ@"!DB8c O8Y4#舐98zOb04`J^Dz)33BSZXW>O3E@JC)$N{WԫLf6c6}U-R+\f"'h%Nq3|>VNyƢ0A%>Z6ڣS| }ǤҚWtQ À6 ZC(+OQC%mXiUPϵ2b׈ļrL*l<Ѵx Q"t^8MZs}EKX Y׳\,\!t2a>#${dKDt<_Qnc0 ?B]߫8Z,XWqdLz=*9J #Ɗf<-I5){Ǣ{8 %"f .QAF"Q^м8?WiC+s?*-əH Gs;/\#1c"1ddL#g)V:8ph5)*#B:wx #IHÐA)xD7P?I eextvɟg݃Sɂc:|yɜY}O{H.Ҝ|lCZ4!(ٞ#k֫oq4Ƙ!=CVd,ƢѺz27=BQ&tMK˻kے!G vuBAB#f{^ &P$"J5kEQj!q\q>!xkw~gģ=!'Ҽ&ξ5K?I VCS_~^hbIk;n@5qehf Ϡ%S΃4(e@U(SFkQ2O2 e4&*ݸ*=d'kOdc<:%$06y{\=/OIRbVK/mWWgY4jE(s(pfLd` DԒiR{ k- G2jVl_zv-]bEfѱ8[ $Fd2a{k}^\)g#!k"1DtCp]^y<$]ps[?j?G5=T6ѯH>vnH $EAN3O(G,!RkH1ZaADJIBHRc#ذHG 6$F}A7|_&6DP")t`=O8!&uTI)\wY+`$GGZ?>g3!$bȩn23*X- !̘*")@Q$heA,eCL5{@e*B]tXS/sKIԄ* !#XdXU5o97(R A :.TMk;lEe޳6FPV{ /\>nm]\6aG;EC&0%[ƱW&Zi6Liٚ ~F>:f] e"gvy&u@QvZ jոʎ+J)>xZpwStlݻ ٚ0O),`HH73:x##p"3Gn*L)i>Iy'N"CB\L!`6)BcmHr>D>]"{AF]{^\x"rx>RAU N/yjwƪr+0'}d IDATQ)! !*|e\DzXwfմ(zh-'t{=VX;0z c~@>JJ B!Bu|MrF4 if3|4:Rb>r؂B i =+7rmUrb uE52RD)"O+(B; 1cO:aCkvɣR`&h4.ᰃBF o9;[H^lA_=yޅI)68Y!! I•f>'Et}M8v)Bd|(QJS"T2wxa5bTHKI)"vUDZDɎ"Q)#q"B)I!KsR)K.rf4DӶ)`F+S2a: H@uD%[R4}HSгD# ^"LAIfkI"QG %q R{:zMOR/Cw|5>!.;ѹ.sǃ޺(DBq(M.#FM! |C":BB$GtHtC\ M^h!,|$kf=^o,h{{5q$5#:C Rf)ÌRnx؟ع%~L,."D%<.8‡8}n=o?0Hvuϭ[l sԁVԓ(z(3ۿR'%.)H 0hD$O,*00#2\n]K0$Z,_v,N 1wx׮^;\2τgVzl%z Tu"btG(DsVX.vFq$1'L 2% ̚c-Ai=i(3+$JGyEl!)M #c+!i,{.HKZ`D_ƀH#wݖ925>a]"p!Nf"\"*$(r**7]0hIaE 5 f[Th0F}^r4 aDNZѼ2-)5 x=g@;Չp T7*n-ۢO+s/R12mV݊c*rzFg=H?O<* O5R27ѝ_D0,1@*4R8$B(ΕTð,8:ĕ X3 %f-^¥;flEJ'-X*+B`UŽ`fWIt`>+ $ũ4kb*V1pK$vv=Gw<3{wHRbUtd}xϹ":Bߡe$f^3UؐDCJ94\/|n{x鹗LʡC%PtĻ@=z 6$!ȄX1yt̻>'PW"D 0D2g4q +Q2=Ǖ} f E/0,! ! rLBOpoԈrvWÀlNI=R)T36`H> a\+8'Ë0A3C*YFFK &!~xIUW 4iyUߒD* xȢ$@je/A8 "psw~Ӡ SlU׾~*ڏ;aq2К)rB79l=YnV-֚ɂk5(*C: 7#* v+ +zU"]:{D"R;ԓ+t7:~wR{UdŤ(.Z,=^%['e1 0$A$3@| 8 Qc<Ṍj0) ĄC\>&i7.-V+P$㌅9$a0AEjjVh<k&F;Td 9HFP貓7ILX9ҽ5.S>AG0[ף C>R ?<5cnsMET*<'M5 ^GCA*g*7 ڋHӂFy&O=$Ybd0WM(Oū=I0Vьv29zDӐ; ނq쑙Ji$i>iZ:N/a: <5o}qZ.FČDNdag%"O͍-]mqK!l $l:OtX ݋N`Ht\YJs8унcKXn*kSWШАwĹs2=@Hht 6n8Rߨ[ZQ$hE&u !XNxZ_9Ǐ@:H&\ QVu%)mʍK9%S67'Ր˹ḧfE5lQ@4ʱW:dZe)T5;uVW/ƥ h^'| iQ`%C,!$F+br? 6X:2z?ftDR9BQŠbnyK+YU>,%TaElҞ˙Lhw#:}qhD؜#G%rh0Qy+g{@LXf1VQ lcpy(&*<.ABOrzRh?zP*ƍNB@!=j xCC<# 04@h-cp(i1T`F1J"C"`]B2+MĈ9!юLjԔX; JjWv~]T5a>8 c e8KaJ9_X4s a_Yt\2֠91ՠ}QmxˍpPCV%):MPN)pܼ]R88]C+,-)>\NҞ3./b,FN|rۛ=0T|G 8Ѣ=(vSíۗi;,w9t~Q>7i۴4f{{9 a\iEOQ80"|2 D#spjfol;4\q-p ԇ1MbZC :սph8ycEJgcu- !fwuO?6W~VJ{b k>OIrק5Iu#*¸y?eiJ $KfHX B=@¿)&h4ݝa9Uo4;T5x؉r/⯾:TfGw7oEU&x92L&]$i"& wQ@`D y0T}(a^ru| 83FKZh4= eTJG53pS`[}\9w&_RvWMUI8dYS8-0◐(E*?g5.ޅk/a9X]6: E .$“JmcwV &N4Ng9=ڠx/AjN^tx>W>c:su:QQ86fgJK]ELa21O84a; RX:_V;"ۥ%+Yjpal; nuxqiHGn=+̘Gk[LYwLZpy^ʭM w{YޘnE30O՗(,^jʒ*)}"vã4* ӂ$V67.1IN 7k-fVֻc1:VV{A!݀  Ch6VYy`2H hbXpa5/$QQId{->VyiH/@+)}lceDO8Hqi)"@Ȅ2aAUJǗOj(={PئzJZw`u>qMm£*ke`6+%Ti%~ס*@-FB ^'qbGM/U ]o&q[d|-b bx?`E6{aţk^|clQF 30#dd-B*rF9 j%@*Ik.&dBF~/WuZhe+sy!G2IEIv,qdYNtfHOA'%W?VߠRaɓD-^Ԙa|<{|옊woh703/~uNgschnZy >W'OݐLaV`4f0&s"*BTHC&EقvG+lKҩ@G.OG(=z;"EQ[GޠjC"cڏA&7uvS/":?Q.d׏-ytmIm0 H@-P:CuCE ּwpSl"JᔇTRX/@y!HOP`4%e@4P&*et"GFeFVOir:{ivm/]1sa@q"eҜrjWwM|iɐ?F!=ܸx(!3',&|U8IgU y0"UOॐ,^L^#p<+Rv@&+iaEBt6ZMj (b.h2;?='pyPq @[6.ɘ7&qZ7(rKT)T9vSPMI`p[|#uiz1 -;hاŗ.^eOL2԰خS3爪5ȼ.SO:&͹0HYӳKsl#_ ęr}{[0w,8Tq8'6"4H{P8C#jDg Qa•$o(&FC*:Yvnv1 Pu{ ~C" N2.5> ~?#vkjr>";VJyUE{W@; /nlnVY"O'q6=t2"O/D}PyI;;T_w w`|m tYmOP(ط%*Nü7 L0x#S' m[RPcx]$ɘB~RzhO51v(/W) t.i! nM .`o-4& IDATۻ*=h+e:A(K`r {!8)DvJ/ V $CgAߢhρ#U ΖR ,D~{C=e|}y81Цtːk,~*|>= f2l3{ 2"/S@:I8'3,-\j)ڍ?Tc&[fG5v _z䣭c36aX nˑĊQo0mPb? Fev62p I\J V,1Hȍosec/ݸA2Ҩ̶6'br-JJ(aK]sX#|]. VY3~xr c NN,>~ %oo~{/L?./C6,a^*K +%xG+./ 1$ȣ{U!m>,L)nE .C=M>A/y,UT stHSuߑ=~'5 9]K^d?m?K:|'uxJ@a$xJ\ȌOx'tsHKj, *z["xppjR .J d` IeCz2-@J ˋ fxx􃴢s_bmŵ1e{O1F' -p'aa(A֐IFݝzP;T L sYn03fav%Nbz{kXsV Fne $Х:!0^,[1WWD^فdaT-qjt`FdxB .$Kx7*"A<6Q(Ql(MSr. H% e‚q|yJ)/4<`4!$hci;̔"D3^6/_8۸ ld8 YW@1*]XY?;W @~4CLCJusN  tn}cҁ,9!t)% + Kn#X! AY(N*;]wIm{}n^? J?5=&Iih+])pLbAyኩ7&'y/1D0?{q6GDu(rܤ_ xudrZL .E ӌv7n0Nr}34.`qv8AhT$V _HPܳ /<AN˫\3A3"w4HaJ4KX$/aQ؂:/=%+5& Z vviDXc 33du/C#ҽ=zsqZLSh e%Vd-Vjs=Nwx~~o$7$I^Cxԫ ߼ͣkIIIgzҝXڻqVEGC|}/~q 2&L0V JjT`rSJi#iUJdhNq'8GSה򀞝0{YzC JGe-A6J߀'!@8C8dTXA f,;: ߄| O iרˉIͲ[Cj'6߻SKUww{u匛SL FTjsBD+`":Q:ød/'A2;`TXaӬc4x.a@O"@(ҥpTNr!xy<)) Rcp!=Rd,ED\'_p)8g~gKK:̩xn i 6Uԑem_bp<ʼn@%VWIRӒA#'-J~9Ɉ µ=F1vߢ]kP #t2a)2 AD!akT*-+sa4%)vxsG+OS'y:7V'T+^~骓&a䱵sأ_>Et8#<)\z`N̹8c:AV,HA T('!KN@g8sdbQ$ihA/0ˑ!YU4t[l Q132h8I9<3w6ȓhad5/~ݢ'|_ѐ B/M>0\_ZF`" 'ܹVSczV lǗ_U>9Au۫6BWy/Og~{DU'3t˜\\  PB$Ya&I'dYV.j +ˋba 8 KK+X]Ƶ:[F=Vdl x tZ&Is۟,pJ)i 븽nHtDSxu+`L ?8~]J;x{qMUݝˏ _1yRv(y7Ǜ&;G)V]NG "h&m>*p#Zmt"a+*+G;ϜЌw (pEFcN0Pկc Ivz;D5?C m#g~~|[pZo'92M>(`z=f|Y^z Rxh{d~RVIBY*QPH2?ע7HؼAďrPR }F&'$qDas~p-)\ [<yGᅦӭ&/_FMj"$ 㗞yW+97{81bKoԩ1xk=jqnMe7x| gV8s4;L8#|e!@zdip8^!nK$J#<>"Bks{Ao|Ru`&j/2S>'ľB-uɂrQewSfbBj; 033CH)RY(n7w8Zhw)hPҕ6'ݤJgݻ.*BA 6(!WEp@>N GNc%8W 4GTFclKw :yNBe^~_;s?SV^"In}!MHGX]<AHoo0cCi-qm 9~䃬o[gebw:C)JxPY9Eҩ1h \iiUF|2B(VHҔW^ĩ:W9ء +}"5 z 5?[lÇ$A_*?/Vn840>*ϐ &788['xN?ᾅ%C uy.W3(3a-Ɉg?v?Gܚ -[ݚGX'>{ۛU5~S?3vEm(CɈMo价bƲǟ7_C>y9‘{O3بst'iO u^~:YnY_D\?o*[|_VadFGdGC` %I=y~o"233?Σ>‘#G_X <nݺy9w܏=<(O8莬BIRB[aM<)!×?QIOEg6w7xW'ۘވӾ~'r";v4qm{j M nng0!B!석u8GI+4VɵfGBb'[8a1ORxw V{{\E/]#tg3x ]`|w~w8zh|%Χo^&|gye]\\>s=o'ޓ'!w,c`8am#RV#qDhmEi*A[4[0{I!BcHMn/ j<5;?9-w}/$R%]I*qC%rŻ>xW/cEa9IoucRkh`J7ZW,:2%UPсE6m$f q:)5O lvTNWd)`L-Ԁ?k0svB©qY5>/?WRq9Iz2Édc8Fd YTEz>zf5OFCa!j\p(n GXڪ{k̭j-WqAH>aVvY[Ĥ?V99L+r<,!T?}m&EּGm SO np)|̧~ܻ=czx?p_cwo7ř`c'uG|gY‰c1k?ڥw*v*!y|:y7pQ$y(~I5c/ OO{<o~> !vq=;@qN6S?k1SXu9E^"P,#/2<+<9XT)s\.{QfRcUhwpNAfm9Wzp,GY$/ "j0m˔" &\^uT:Mp\3<}"^g;!:]'K?S>~ù}Il _9?޾SO>Jl~K?*y]?șޘ?ƵK0S[`d׿1뛚_Y/>&Q xQ;Cޤ1?Ws: _Leqv$ǥсw֚ťE~7~[>,--Qwg{!]v}|{W_ CR/ۿX](H@M1HWoFA^*ye]X-p./Ls8$h9*N"ZvYNq&c4$q 7W ,vvTY*Қ  >!A!~A@ERzr̽ieY{߳}=MRIb˲$ a` t ggcaiƆ dVi)Tzw>s۶茸^{s'PI".o}kxwolP tq vq<5T^&'tF +M"L=F CBe>FZ pd[0Y=,98~OX%ܕ .!,*7.Sml^T t"_G{{GX9 m ؤt.'cl]AaQ'l7p."(N|--)fo1nO%%on:Gvfnl#4KY,o\nUyevve xm*3\nh8{{מ$?⯟{#3ДbfkYW y=Nl{rD/QLs`UD yU?DlKvv|>O̱gC2."w6Vag΁)66&Yc|%|t-3a;N~~5O'4<{ ?|/Ocqۛ !X]]T*S(طwKPSG%]mFB;"DJuQJ D* PQЍđ&eJwA&dG=uB\}HÐL52FH%~GF ׇGp)Vu rF)1"i0biT\*45qYAz,JkaڄaA%a% a$d H"sXjvG@yubE V[ -f&5 F5)C$G'A+a9g6yd^}s 3cvϣV ෮!B'(Ex>5컏Dg5:t:N[*"tf[Jh:@61R>\[4_:LeA;3^XXdg4bN/cXt.%ivLMŎ2lV_mNp;  >8tB~̇yϱ=<41McBx9rvp'Zsy~ϟ[y`?-C1;wc%~O>k|'xUZ\gQ kRpc'!箬n}n /c 0 #ҳnvMFoDJ0|2Ѥ`mm qT*JIkI!Fzmh12J t"Ӆ(l459H0"EmVORY˼u\(LCTs:Y֦(HU"$0(R7\D@: >!RhHM R q>)1 ENpjt6h NAGyS`C-{juU(B֜Bꊎ, *9ԓc|/ 묮S$N/Ynuu0 _Ų~f6C4 J$o 9HXAD(uUcN]\ïw|KHK )#RB2>ZaV!ulc$wrh_ 9{?'2Ȑ$aCq y;?A!ķ0յxXކc~MZzRovC= . |'~t耎ߛi90t.y.>AtL] XZL8:[& NgL"ΒVM"( !E0Xi]"GC+dgs`8RO`SlLa#8>6/-Bu.xԊYjq(eCqt'p5NqAdF͐O\ *2Q*~U/d"gPDf3^L5f*+ ;,Hمm-]cZ+oڥch.uǾ)[[Ԧg1E~l(ts0U>t?K[\z3`,Y~XƇ380ҍX*S BqѦS'b Jp6mn %66qda&l>%Jee}[UcDQ,,,Pat;t#ce$viJS6T@' ,MC, ۲=Ѝ$2S.[&^ 米L4bE6_RK\ _t5"XX.BN# kZReb&3;-9N]4-D钙];]pܳu"TjSt wB@X!ETB-B+'[Tڳ##Ѝ&VF2V* K\=s]:k\/b4<*n+3t2ĭK! D]}({| * c1JeM<Le4ʕ1;H~D.!/s)F#wCwbzF8zPj Qwo]о on94CXݤ0 q=MhQ49Uڹyl)Nf>| H4]L]70M0EQ#yMV*]6,-ܾwb<EDEe&KsD KQLnb![WIDF95:(Ra\mB8-ή.*d|>CXC12$QhS,H,Ca!"ͥg)WN0K7!ktkk;D&1]S|y݃ih{qj ~c,ftKڗYm6cLVw1mKOZ2117Nwk{"ō lw7yYt_;:?N`wsؼXF87]6-x߻V@ynĒSAA #ѽCmXT9=io9KڤALec' _fAriz_Y6|&ɷ~-V705L# $N_(!uZ:Q'4h0 /t;q.J}AgsH_K`/;B}彏>zp <=s'Yf1,#l{DHiv h.|$q@GVB>HI{rUN}k8!VV}!_(fc|E~1 ;,a#i "wPa9U&ʳ\tO>EP|+;[׈5Ʃw^Y9Oqڭ#ԃ''Ү7vs𕧟eaD evf,w-WǍE>kLEmh] { U~HtULP~7n,:8yxߋ0*ϝ9ӯ2VcG9q\XdsAtlhJ9NB} i>f5apZm8@R%cnrv=IN8hWFlA{UdܠJ,(g]EQLvOgH=¶a6scy"/,.^`Q(;h/'Xm^euf:xsku5h.\&ո2m}ay\ap\iwh90&?P$/`JߝZg/o\3.arM:Q vT)$HS;.]h&n||MA7> ӆ]M%ERm"c(KdRxTDD!0-8%lF7Ȝ:Lh@(%W08S;A'"ozq2U "59BQ"K)V|l'Q1o$븝=QK(kt˯bW9yJ(ФF'2<]&ͽ~K9PR:NkW2s&a*c{ *W ޢ'+Cd>8}!vaskSVk^cXHpz@wy|CՀ.Ч %S|MgZ;%b+)N>٧i:alX Im@} "|O|}Yln`w}*Ͽv{r}e%"[>g_0u IDAT4!Mֶ|UܶG" )V Oaj|*NA:u Q+ؓbZ&3s-JR}8R4͛0jR:iH0b C1 #Q\ f4b ,EL.j4}bg2iq.-e1LNN^j}i&WL2V Lw\"cGDSR qZf͊M>-\_RJ0FBx8K..= JǩcK-A ].4T;in,[;[dVW*#~@&-A0{% nM*aX$"}XdLB3DQXN.# + mQ0#FXQ7LMq0Xل&՗s/ )}~&m2 *[AhW8w<ܓDlvZ*8D3̉5IVfY\Z#ckt- :Y8$n L/)%a"4 d,La9H3۶хX|S~&w >Ĩb/GSR2eZLB;7-;1W[4! X)FnZ@Rl?KHmt,q+G~ *)7e}:]er?4N7Jƪ^`B8r׮3oɕl.X4֗zfcbq4e*]%BO FfvYZí31azpAdf mS)dsȕwf4walBbFK2\^ӥvx:U>`3,:%OQҹz}cp⯞zf 8 Ï<~0M̢2C܆FsAbr3ob4:n70]WĔ*Sa鄬{>W.-ŖjD)* #8<d&rĚO<~1 W5uܮFF+0?W_z?Øҡnh<}+ll?7K"Zstbs!qf3Tm}8u/5YXU,E b!bJ<=$|ni]6!%*i'?M\ r=B'3iN$kHEY˶M!>xòjl~-L9n%:m%V!0t<55 f*R^jmxrM^nۜBSh iTÅH v`o44 1d7@$,[ ja`]%F6鑌N@Y)HRӹ76T*HPuVQ,)M`Uf%Wqq+=_ڇnL s(ْxWfЋjq%ML-#"ӊѭ:'؜" ɢ$Ofrvݩ$,)Y^ORQ*H.y/XZCӸG~i%'Գvx DeVd{8wehŃDbBu o_f^JLe "y5y #V]:DN)^䳲|= JJ*sLB7PH<̌zυj.G!;O.ѥG+zL3g"Ο+א* %nXUcyמ_\nre{ab>)9vHm•n@7hB]Dx>PR& JcqngB0,2V c0_ # b~f;fo\JT̚yp( ci<u%@GP[D U* ]˅ujmZF6s۷) :Rɚ#wnc. Є iQz[PrgN11lp Tꄣ^@E:P $翯:T *-Pҽpk0-4zHad" }~yCo,߸CwCPds}&-N|'_?crmT :,+Fw{'O_VtB۽..p}S MXIMcZF]b2LaR7@ @&RHb32Y&fw߇9ܓ|~oJ|O 7ǫJ 4ڭ.Gwy!j7_g ʛ_%llqxn^ PNrmIYiJ}UOؼDeb1ds/PЄō+7R8NK"E,e)QʈPdt 1q;†1My6z.fv=\lPc}M'?}ZM₂*|,Inb ? 1:NLy\JaD\EHICVR+TU 4-p!44KOR= t Cj?NB#6)}f+UV: $c[4;u=\!Q( ,Q~ZtY~n#Gu7n035._\0DQD6uD6f077zInbbW(@Ղ1 f,#n=YhrûSEk`ڧ M]Kn*=GOuKW2IXy7.؏0hԷnjM2uu(6!p:ڭFi |#  ffnrt_?drv7qaZ6NO>gcl{7tdj:lllRЄI'2Q+{jhzR$pu]0q|LCP,T0h8lH{v0!$Cˢ'Ǧ$RӉz~P*C4G R\_({)r=\j%bqē#q#hZXL6ԵdIFGsj44kw0 m9N?iQRVi5\r ]78xR !vL"A/,zW׉B*xgQJ1;;$a0; 4ŭtB&C$rysm`0OglvǢ ~/F0tUimJt )V-Ak4MO,F8q]oipUPqI~>ce0L=[~>tu4X'iܯgW/z_}K>4ݠ)8{DB ˯/mrz_e8g8K\afzv7蘢g r‡?~ |+_go4z._yoX]YgGlln3R)y?㸔+)TŲd^:׮]Iqy~_xŅ+-ŏ!M0y.O>$= f{$щw~rWx:,\Ŀ?,/? sگ2{OQO~?$~Ԣ(bqqW4mf_xׯ%vUb0dԓ@Arܛ\|kz'165NM69r(ǎݙdhiԛ2L94MI.I&#$>(,bl|0 JU wR1Mc;08Ȥ9Nu\<O;R#*dG{7154!Hnh}k{1Jt_86֡[UsazzwWY{ _WyKAE7n~`]ܸzw=!>v}%#N/O)J߬NV} *Kx3<9tTMK`^3H%QꦕO*_78uss4t:oB;#djz_yW_Eyi^c(;8NiO^x''>A>?)M~w={wO_v ƣ}Goŧ?}=K\rhݾkܸqtI -[]W._aqiyNύ%Nq96t#Hb u]<666Y c&sP7ZXbY&'& RW"b #Y>[-,"azaeeFN- wN)NPS3s,vf42b]r#t X[]6@Շ~ֆ̵_n"Ø}oHWp3/rH:Odm6Q"ݴN\{EN蓣o>(=q6@&:>?g<س9߽uzY4Ҍ@!aO2MIT8Ux'v+F$!@hF3ez~9}gwz$R$xZ]}{~<|NdaEZ&LZ>[&, Y_~EOOxp>}trm6wXsXI+\buu3 14-іB*~W~c G͛|gΒQR}S&_Ef}}K4r^Gqm4?C)MҥKK4[*Q,Hs5!!|}sy?'?G (n 4 /# sy'?f^Z8֘R_{m67p .r4RIwBJwN4_ B*gI}0}yǏ@+]Ubի+ /nwJ(brr.Qˬ@/?jZ%)biQT,(E58eZ]]ad 38TNUԗbʨ16Xgr߅RܘdW,,x?kӌ^oG|v]85+(Qrc0bw~$8~_g&k<ċWm#^pt/e^yc?Y@%--<s+0I4-^2[}f+FTN,ϙ_Hcx̧S@xqx,+ Ql/:nV] = bh[c~>A87K)DuK)*"#1:.\;.z) ZF82J)f~lStڒ3> ۝n4MzUO>|Ghw:255I..TD RFC Lfz a YLEl\"+u(J,' IDATiaGabZq‰=<-bXkN"csKr~VPVM($IlHZ!Eo?e4qDz!h4;I,K5rν|1[L&LLcAG8`3L|(xGrltLdVdYƵ/}s2;R2DkK1pyz\2=;ñSp #@i RpaͪR9?Bgo=G}Z,/a&&&8v,Nnj 8pqIDYh0u'6B sO r)R":Q D ut_)i^X>nC31ά#xT8U&g2ȝBR m`tFJ]fG{bKC=q̾C0h9~Uuhe!8R+Nx}'!Q%:>4'>N5I,޿CjsgH풓9J:/K8;MMuVunbյUƩ--u[17]n#"Ǟ#Ԍ|WRȲ< I2X}p쓘Z_޵}QmuxʎQU ERp)NZll3??ϑ#+K"(]=q;&&z\z"W^ennSO3;;G@!}H`kkv*[ȏ33́=Zi-dY^ALXI/(HmmPfXJyN=Gq="PTEh^u% 9$4wxuU- HkOg?>P5 D?VqV8 <#NOᱷg;>rv"LWNqS~)tTg$ڥ>ez@鉷DxG*EojsO< vG|^oc BB+lm0g՛h Fͫ9x[8vTܔ*EO~m"e?L++ðLQĩso# ?Lwo\F>7MLknq2p !KKt]zwe9/ #$iġk41&wNzH~ۇOjƬ.-|w-woH8GXCg4[mYN#n1{Α$ W;ps?Ĥ=bJ:1=Gw,MQ,I9Ab<M20Fo-;]S!v::|;?fbbD F!B%i83^+"XYGY\ؙC*JcZy\lo0ZS td7'ͅKW_ZǑgLnhu_9w 2&>x5YE~#^̇};]͛7Y]]eyy#"zI>o!?8)MFo!%#&ȂGVa-NST(hZ_E(S\D[Q\ * 9pA.8EfEyЈߺ=Bآ@] W lϰpGO rc-t-ޯsrWֿm?B.DVX4%71SvȟJT - Ő \V tQRaTlomo./Doz.h\/"*1W/]+x뾉S ] "i7S8H|m$qQЬ#:"h\(Nt'qU6֖G~8B_<8I4܍h8:&Y:W^"9p<"i9[d<ƕBm<&˂,Q:VILhDhQ ␓,Kj֡h D+P~-*"+GHҞ"БDG8đBGU&ޥ%~.b K^%,B6mnHx$n]^Ԭ1=KQz=/p/eiujVhY{ZHl$?Ggx&Rk~8@Uv`껵",Gqe-~,UU}މ c}fT+ lCg޺OH"N9|2o#gH$N*6!vH(X _ȉ|{O>hCT;IE#nűyd)Z:VHd8bY䋦Z(N/[җkLNMDk ), *&r9.DƲx6FCb߾+w¾Iڸi Q*X[Z`fkmt4p֠t:L;pLT>|bk}Npi&gy;4m?<XÇ҆ 8]yO{%^Ydt?L4vn$~il%D2XT9r P`E>W5+/HOsEH*ܚ*Wi ٰXkʬbp󴫹F}1Vc\d1zȀR4HWMI> DF \†Sхb9Rd<;Ccf;-n\}FK$íMrF|@x\ QpgU&"f K:v/ P5t>Ků:En^ikJVZ5-#B?-b4MMwvZq.V9$:,:h#gΓ$M.rNp]9t@ዛxJJC<VH'*KyΕW.0}&OQ:̟!*%D' L MJvMe-B'lq6:$a<L̢#e(ͰF=mO~o~Gy]NOM!gK$%6Zjrq%<v:&!iwy&g% ӳ</|\{yVYtc&Qﵢl`4N7WZ_F:be;;;~JF ؿ k|kl91fggtWif@{ R%aνnI R-XYdޙV[Q !u;{Ol)d^̵{]{::V`Cn,Qg vˇ )^PQN;ZTAV<σ(>ڍ RpTv!.qYË8$Rf( J5?-I6k++Omkeyiwd(! מlRkP$7IND)^~Kyɭ ƣ!na&/|=H"׿[y/?$GN"NH[&&7cAH >{g~kw83a+ ;tLNrS|>Ջ#]!,%N<'#Ou E k'cVҙ!&gqe'XaH 1Z \{эYѠwOpX:Rv"w_S&I VB:H9~wo\eߑ>6$&.?FJ)%"w89G~9^sl]RE1QܤݛdV78nN^CH<a`'`ld1pXh$wUp3.e\JeEMRvUbL[4.@Y. ݧP)N/N6Ԡ4Ƙ'q>'r[FYf/ϭZ)>ӿf oLR59&f tf-~h1o0,[le4r N>G6>ԣs˼[>LPp]iJ/ + 9*~dS;q\`8Ce(kKܻ}}sp <,ٕY8s)N9Nj~ۯʁG5HgMD8%0FqU8gG4M"))H#L>d4ءӝ R9fH#ir٢j"Ln\{|G4YY_Y:677hLNq5-ڭ靖~5ka-)WoXavDNA4-<.G!yP) rcJKZUp«g: WB ]w;Lj.Q(!<096X{jui_xEP,HMQxv-rޏ,cN g$[\$L@֢˲emKW~8z9v$Ȼ8?)DZ!!R8bsm#IFcz)ffzy6h1y_2ƒ[GlI)^E̚ nYrv41UY 'XSG.?u쭃rUR@]{My7{r!PB cL6Ĺʲ4🊀uo+$8sr'O?  [>WۀdY0<s_5D*Bqrɷ{`瓿1ܸLIܺ~엱ovg4aHay7𻘚 $^Bx:(MW^ԣOt)"RLX^`g{Wv%b{c4R8:?RO>1XjhThR)RXc^)%`cm%F"nH-A$-&'z;p$Ydkט}`h"2"h7#zMA3$ڐȜX(R5ȺQ8s]M M<rQQXh?i(EH R!d5(sRԔ"{NԎ1vCA{a}8OMV3C]l_2f7I=l\Rn:_`gۿ{e-'Q;70ﰹrl #@X2ˋ ;,Y8ٽ5 ю^n5>'>__? }?O=S.Ud!˪amtΤ N=XՏ3[kQ1Z`c^wo]Бao3s1 8a ݂.a}uv2Q#gjs汧Yb1lmXpr4Ϲ^2F}PZ M#k,/ܡhx~y:A%$qBӡ\F" &: M7;t6q+-! iSM./]S(0#1EXertrE8TaP8()k>?;)5JH_WYA|MVB-K!6W}pE8zӯ;˳$woR+^䋟[G wW FHC ei~|FZMfވʇ zw~Ӈhhv:ۑoZ315G~=V=p(`Uv5Y:.]zw6˅pI͈O}wDP (*(Ȓɧ`:&6Taa Z.^/|G3IOLJ='Up.ڌgQi1 BmIoqaS|?@7I +8!w~o1cyr"a_Hἡ4M3_ʏ5֕$QpC'{J*R y:"Iw@B#5(Ƙ-,G%ɞY6!1.'4db- "r*RtS_`,@vM %' وH{'*BqQ>Η ) fTݔE}Gp#ezO(*"(U6/o!>ǕD)KWaqV}ܮ}:?ՏW+?[7?399E,//Н'~oWpN)ɳ-RF5z^p^m"Ep*MBb˛+ \YPq7H*^q?8O[gb\H?Y?G Zir 4inJkFҖ&ZȫCd 2p޸:KH.#!pAtB V*tn"RpY$B p:N얿{BTZPDIBk\ɛVY(`Z#]s8B<ؐ:e<^|`'x݉g?)]yI}?("OSVX]^dyiMΜ{Gw^C_-{ h=L>FK]HpasD.Vѹ Y~R)!\`]KK2!C)`@wNm%~BCߡ )1 $Ry1܊`(:]4¡#,ӆk $ANBD(J]&/" t䐛'}S3$qDn$[8U" 8k‡D˩KW![!0NS0  eWP-eUXBXBZ `]QU5']Qr:BQ+M>s"--vLLNmX×шwXZ"m:O=u|7;qx:"vipDq4t֟ƀ.5?i \} \Ί d4-Y+–O#)-J ?F*Jt*SsHE1#V Ч&gQuA9`xP=R2"5rΛ;8g&:3)DMj1",ŊFҠ4BϺ596ψDhuQHQ>g 7I1,%"Ґ!hT&]/ fc偦8 |N)d[Y7TO3*ͯD&="]f֌~ kXoHxDLcff<ϙwycjfXp(=u!P$7%THDik ^GAEBA[hx0E8 Y㬖c[m\NjL.YuUQņkZ Ь"z]7 Gijʼn9E0!eIQRAD@R \\u$X_t}V,Slg0NcTƬ> U]|t.,j YsZ 39Bh),JJ(Ň$2(!~t_@0",J'hcf`RTxmoH 773V")ܟGcO0ՕE@Hk|Zo3om1:sO<-ѠϽs⋬.-pK<Ӭ6MZ[l^},i[שׂ/ őBqU s(U|'eEƕ:SF<R(p;VG4:>=,ncm&HDASVߒTHb8S6]GQD%a̱2gng,J8O&S׉岳XLؔ>26PY@ky#I Fx<Ƶ+l$ I8.'uL "K360 IՂ元8|b4˸Dk4< QRqQZvp:UFD@$y2MLL$I4Q䭵Lt w6IbM9C,e4x~1^>3XGhiHH=$^Hb(|&&J)&PI "-ANqcIpLu$:R;mLQa!PBj4=[Yݕ*r!&L䊖ܽV!:WTaǯ h(eĮ,]foU*ÅQ35=Mբ2==C|zLLL4r_+8j6 xpn]h8bg{}܆B-qľlh \&3Ơ"9|( őr!cX&r9OJ3154YghaY|'!UKqyiwSgÕ/smz^h\XHVnLZkXGcvnBE DQ֪<`Jl68v$fC EFȡ71I!"2١ahiw^,?$S YYZ?O&1sLLY(B$*GJ?{YIoBއzrgT !Kk{Wp[g:B1vŚUrQUjrjי0A\_CU`jEj I FB'!W}Yd_1N6*vJV55 ^plm3;3WlRn(ڇ 5 Uqn&"1JWt4i4fy y|nё*[ؠuςK ȱB09='u:[t:ݪ˕u$=KgUl4Sӡ'%AG53ǣ2yftu;+oV5'r(b<ꣵ))VWdvnfU51FQ䃶h< ?XWn8&'Y\W>8MJGLOM VaB ύT xD5xyXɵDi"t4NĉVH;4'- ud=N'69
Ą_WE dM58 +\fqc_t-dE|Q 'Qj jWB5$PJ{sZJ">a;/wpvIΕn6C9Z"0k[c@ QT@XPE=Iպp#e >ubJ)(J"Q6]9F0k i1QЦcHzp43݅JL):$M%]q\-G(hl'`D0=7|2,+HKj͙('o1 i2 /P&Mo)Df'OdudMx0o U s@%ƺ20U}kh,Yb*Έ]am|]u pq!O;^Wu V<&›I'CUӈှqq&ȨfW?~.3gpE5jT H&~hy:GHKàR}˗/`9 Gg\#]`ů~_-\=cMm.Q)˄w.0 F)m#")?7 8C[mր\. t(ڔ Q Q2TA {@b$#d )azlצTF') 2T<ߢhdD x0ȺZSMs!܈$1a/jݥTnbP)K1XS |.)NPJ;}E q{pp:8x$SI OJ /'Կ$UNT lT#GLYKlrE*@* QHKP=` [~T Rav2'W(4̾4# b&V@|4 8EEiܿ$t/8 '}3|9fĦDf͝ #&kJ.R{ޙ(dY)pss@ן~ƧO NV:nU]ONSt§ߴk{83`"' DC>KMɂ&RO~o\0SSgHHT.:7w8Ͽ)`}{*(kLjD?kz877wx '\.gk%SD쒺݀~OuKɚO*,2fE!bp=u !Z^"djAĄׁMMȾlXН|q.sx6,2 "Ri 'dqlor2~7&&%~8VJ?HLJ_>ƭyTl1Č.j D:Z't1b .޿lysRQ&fF#ܲ}_뒑Àۻ'UoF}iQz?iJ/FT7>0U01+.&4m>ɔuqmH#}4ibPi-t5b (Bpa?j`z Ҙ %M-f 'ݽ|H_nn~rI&nwB<,&4]MsY;L1À̄?`/X bzvZog0܋4CCЫii tقm<"C 1NYl5R1i9E9/:dA,|O,HMdʏӸATb( h`X=NI*sj4:UBtr$6:N"NQ ɦ .1& t}ٞI]0jFaMY'P>$]bS*э" itޢLMy$immGtmIDQwT"'N'<\S 0F YʶGٚ1&HOS%+H4*;;ETr%A%+窮<)1<-#xj~intXh^G06rJKk) V)kKSJZw!x~ۂEQ'9G Dh R4_ʥ5 YLD.Iwb1r*RȲЫJ*2dOdBPZxx|hj-=Cp`!, RU*H2fNfUHBBegFQzuo AL: D Vn餣IHVGY;E#i$IiJiՇJ+~; \_l78H&izk ٌmS;jk/< *Kh8cdvIeЭC!(4d𢚃U(P-.NΌ'2 +Y M$ ʗMLAZ7yu&pСCM`;?ԤRPyT@#ezeɫCh (#J6\UeRRZJ!`ͲJ#C̣f3k.O-FS=Kkq(fϮ%2`O9,4wAS;'*/dYC c ,UZ(>e!5)07[d)<C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑl.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME IDATHUKKkW#ۊʭ#!:PAA"PJ;upN:@\(\[JmX[j)Z 1BR8v';bQk'tgoo}km{F5Ƙo~J4巜Ͽ899ѧD=!"۞Dd262|h\.W7Y88H&ciqtt$Php ukBmuuؘyTUqmmn/ }&B +9iauz<+TUt^Ӵׇf\.)"<~CXZZnoo/$PD|>Oay<4榪zPRdƧTyM[[[F"V, !8888x~ڦi~1Ƃ RA!O`4M} t:m @yee{,.r_#j2 ;|LDzJRQUUW%; +~٭ dj_Bs"B.Ӄ`ZvΛוRohh|ND ?dh4J ujaa8fP ڝq, mR)[ m׳ɲ-Y]?^ŞkpΝT*ۑֵ^d~nnn溮a]Q+pն R???81ltt4dm>Sd<;;$Fs˲NH=*-YHMZu)[+ qnN3IENDB` / aFFNxNPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xtj **RG(x@PNG  IHDRw=bKGD pHYs  tIME 'wLIDATHǽKh\e߽߼'EhccQBDD Th|l4]I|4RD;E)B uJ0"$L43y;3ozs~?.偶D~S%dns|qfS~4}w}g[-^[)9֩ό? .XF 8U0@ъjUx?"54a(W)E)1LNR.`PB&M0籮b o-[8a:oCH Jy/ޏuܒBѱJt+vvA~K9 @k%2t7q:(I9IYʎa [bPExˇׂKgj<(;ch V&&/'@^?Ƕϐ.\M%2 @c qRɕ|V Y+ɹɹrX֜Z `drPJv=?\+JdNpi<]?5B$}tCIENDB`~%J:ibJ(R"ߏǭ/0KmT’.^Zb B` icJ@`;{!X[AN?尮0Ʋ?8JlN]Q\.lPӲ;K#Zu5q!P| _Jcc#X0VxtM>LER !-ac| o|GɍR[ l @Ӭ UQU6/rj86x\?zΛG6ќNq9.>n;%QA3鄂O$X,JjNᶦ2@˩@}#j*3Ї5!~կ} g=>\P(@1@kx=tMKW(͜_"c4|_ٵ>ݽ=/IqQ| `h =#dӕCf3i(UXz7/W>B**| Xr,D G"dC~ Hߚ162L._ L aRR\p,S}1@X"Q(XqѱNM|/p!2Ka -,aa AQs-ȪYD撻ѱu JǾgּ{7Μ1 ./{J!jjBX"uY|2RI۲_ouzii];WxMc|tpK- ֆ%nm<1:6jNHO411띝;~:_|GOʒKihlի8)-0arCǎ MkEQnޛ /_v۷d{{D2td[Jcc\2TKK)FfD(6 ܱ`ZdQ}}}iL&iyMlxroBKRӛ.\M^ɖr3Xr[ULW8,ZV_ovIENDB` ZZI xPNG  IHDRw=bKGD pHYs  tIME &q+HZxPNG  IHDRw=IDATHklٛ]&@H )R.UDP#zKT %R j4 IF\ZR¥u b\`].;3;gfNٺKIgEJr (@8 8u[V 044ȍl)%ukk#>`C~@? 3[!NH$6l[ꋛ +ik#EAhhh`hh .ŽNfΚ!PWB{ﺛ*gz.ǫ~C --OQ/h455|v:&)n|z3P0(+VSq{4䉓xUv[x<'}Iq/Ⴧ6/9C1T QEI7chj^MU108LSSaqfQ*W?+.8~8x|  [w`:Vi´,H)Q,+Z:te$MxoxWzPŋ)A(k ÿV+KoKa:;;YLss."a-B1J)b:bk0M ۇP~t!wrZ;'R4chm@2@ PJaZ&\7wў={^~^{.RJ$@J@{{&E {7R^pv{_Dw.UV#ASs kxxc.|7GPk[HI-[|H$nbp##BۋP155L ,Da ,8iju]CB,B<ibL R9HXؿVL۶h7rcWR<999}Ӎ7y'$q7㚮隢( TR yAh4\.?*cIENDB`xoB R@~R1MfxaPNG  IHDRw=eIDATHI3ozCBwLBD!BAğ@쐐. A8@hw-߭Λ"ye0R5W??xۣ#qr7#u.L`xPNG  IHDRw=IDATHoEں8v,O؇HE D(8q@\t>Kx sb``p  $'L0RAN ɼr8 <"Aa {+mF6cESB%%y% E%) % |@E.!}n26f*Qtw:)Y޾ ) Q34Jlx^PNG  IHDRw=hIDATHYlTU眻;]fDvFlQ(/_Ԁ&Dc1%. &q&*4H`ki;[9>(BQ_R }ǟxw,IT^| AZ brVg6MMrE׸\" EQFٔ9HQض}{q WW,xȿ>7lX@B)\B )!iuKP =၁WEؾSExMEEGB" C%KfB3t  B*SgX!)%9>rDDKAbl1Nb{`zʫwd3],'y0ǎ,ZZ29y}=uwsٝ/ONw0Й+b۷`(*u1`k]ǥ[lmɓSݨr˫ 8H\fiyWN{=ċ/癜bo_;R A@+8}4.׏rF3A@?4 333͛\>5 !CF#i]{@AE֊BᡙIkQiy9 9@CAp6mh"ҌJ -(%"|@p!4@kkާwE$^VkRKBb@Pp1J2*AkڻEQDhCEmqudcPcpEDƴ7]2C)"޵ӻol00$hPExVJkxՃ]ٵK\sZҥBBHdS?r.Clm5`{݅}|DžT? \H_ߞ)ӏBHZKG93Bl6|h._n>i)IEX 8&.pQR ZkN:67k޹0Vc Ru6VrlX__ZwfkOT*:I7WVV~v\cB2Zc!bL?+ZֳU>8c."1f %~>lNIENDB` BPa9{6z7vz'i\|ѻsmgWWW\xNB.FΙRf{zGױ2/~w||d$$#$UN""_#~[?RJVwϏ38 ͐)Y(IP ;{5j|?<Dfy?I@K''!r#0;v}wĩqлѤҚ!ޱB@ 2YtR檄$j(wޙ̾6R"AV`TeFJHֆNYfFyn`ޝw !R"{0FmJm dJG;V P3(K&$UfPUHN^z_2wڸfFiJJ4]jJډd c$QuPfCoΐ3!Z In3s_;jt8"{=PmHI6UЮnBB,ͺ݄D'D HJH)/6=0Xu!/E3Rq@Uyސ(Cr렃ҠB:֝C~ <sN2aJJ ɂ "[j7:74)s?;(q/|{)'2#"dH)1#9` ,eqAD͆c/r a0fCJ‹/w RhhQJJϴhM򳫵߹~?y=11D%8!IH^2.n_tqr=ztɓ8m㓓v-lK)G)Qj=@*&ح붘dF~c.o5s>,]fƷcIENDB`,Bwm%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxLMoU1xƎcI0   B5?.@"lB|@]*D7B#qg{Y8r|9:f8B{]漫RzKD*p`G1AzME LgNs]WrC%UWu7hh5f>8"i5! k(6 31ć)pr>p_OTn\}Wz s`X yR [ ˃M-gӓj;('0"#'!&'dQJ}ӃZ0ZZWW.<ͭk}%Y~9zJI%`dZۿ_"sZ,Ӛ.%]JRY\jSkW bOr e_^+ :wY(o\oW0] ^xou{o&:1Ekkڣ۞ O<ƀsDdma9- 2yMG /<S) ȑDc BNLw,\.˭=߶e5]qʴArIJ =V KJIENDB`#X? { {OsxsPNG  IHDRw=:IDATHˏW[]]3qbma A@[0XH,A  ;d!@b (DEJLxf<ϪzârJG::Dz`jϧ'qf D0ss Or,"ks6_|:%74lE f{:μ%l.G Kn% #_MO ڰL@=pUTA^ױ%[ݭ?Λ[f56؝aA+WU}N˽ĥ%T2+NѺ V.M^xz_NB x 3PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;v NJ=խ՗ٻnvm.#WۛBH`b_~+rivJx5Cf@LF&X,x*+"'K Lh.]SGVϿ1ʨ:U[kYL3iF1AJ RtN2Hᢥ4YYZdl3}s _t廤)Eg|5vQ!1q$b=T39i1&Lv& ~>Yj63Z_^\zZmK?ӏWXj/"]h3gȐ !Y3eCl ť ڬp rXk ~Lo_qڛE`ƉEDTZRF6x+%!XI1v_%^BwBB+h4FOޅv'836-_S̭ cÈFqGf6.N(NLS^- A8?Oj@vQ]$ `fbrNJX:6zjҩ+g9b?Ї-k"H&bJZ:QAD J sg16o6<695 џ~m~B{mª&UQa*]Pdӑlx|)})w4lg.]Re4oT%s$rܑ9Q)a6IgfɫIOG (ga7ZV%IџIQ]{sgƥ A-xG @sjUv/쀈IENDB`v|$4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:}@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 4 oIDATHǍylUΔQ(DE"Q ѪD\\ DWBSWт(P@W_)ケǝ5dfΛ{o#V4^mzBڌe7^Á$ŅԾ4O WꪥK MϠjT+iIGkdOlcn^?@`{#pT)2Ǎ#1(" PAAՃ Κ¥7&"A1#  4$9m*9OċO$D!BOa 2OU 0w$uGqϜϛiZc ՠf Vaٹ%TU[_&P~F)!QD'߲yA:",]9u9[>@;!PT2WL TF~tVUDU%?4mmcLA||M8(NK+"`BEm &-kwƥnRP:uR1{W]MlY2Ш/ `| kA]rM$R (!;ğ᪃R1@AJ<{p?DAC8gi&C"@Bψ_!""L!]Eϒ$wDreÞ yH ]DAPD1xW9-sFЖ4vd&(ye91 @*_oiCU.7p= 흍4(((]6IENDB`>yq ggPrxrPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH {0q}pl܊!}EEpvyv᝺[\AH֪iKE-[zowV3Ȩ wtmRF5k(,坽8ypG[Giss +Q ؃ _ϳK<=,N NK1KRY56YOkjJ)hCf6łxuŎ0fa1z@ a 󫑑lO:5$.J~s(CB1}OӛRwo"l Ry? A$L<T{r =xͤ;=5U \.`vXQЅ~TγS} +AWx쌤mcGڳAuȝ<>h F%O~*V6 twr(Dm 9@,:uwwd4V xN%2杘[G./c-!n/b}*䴱Y)T gt7̧bdkХS)%UiR+dȍrC-kf3\dk"f++i#o[죣N{R AElpvմvў,Q@&&_f|i 0e}rʉ۴ܹ?Omn2#ߜbY[P&ī۰B0īuuu n \)jɕq?*=jBHŠ.lj:ӧ_֝dC|Q#7q&xy'07ߓL'>qJmR0k^k)"kmm5N 02S3ڭ[&, s{oiP[- (˼y N1(S@#}+#8qOF}">Ȭ@&T1gDWcѽ K{my.ԥ`gVn.3(@-zx^6[$+T)qlωA?'^{Vc!"N7zzd ,gC/uhVau\|]&Q3vmy_IRD%Rv\!18BKw GA{v^ﴔ" Ngi_Uzf՞`2`B}u/6\TxK5 l4 >$dKY+4% naI=!FcJH– B!GwM(23G3JT2]tw2(e1l-qW~,isH) {`=DwCP@+[Kxo-_⍤(hKLf:6>.ƅӄ洜ӹ,PQ6@% Nq;~A8zݻ'? SJ39Xεr YU%W0SkĜSW~@Ɋᘨ[H>>>99;B^w7t x³X2 +i4!Jl:Qʀ2; L+o!-,p3j˫̗?fbՌw{X7~Z:|㌲9W`PziдkfčI9zGrm0'zXsC| ]>>uq 5aͤvi׮\D!ϕv֎w  S ]xWy4]QJٲEЃU}F3[1TĄJV2*0B # cIh<{9{~?ߛdm4Rl x͖7sjk*j҈P[B#(JpEV Q[MZ/J"r%jTcJTziϻw?pg̜o̙3o빳RG$ )jD!!&%EXY`[aH1 [PZ p;=b{"IoƟ jgᮞפvx\_.E<ܗ:x켷w Z _|OH{@Z5YVb3X~=̽=H/o챇iЬ<?YG۞N.t=OcL~@?9 c +4eLŶVÈb1]wQ{@Lݤ~\Qm2d}Ny\"QH xV{84/ cմT-?Q K5;-3_rRSRsɬ]~0iXEe:<9y}|?>7v9-X1 el|_gK".rUHUJs: -(GW# ݈VP Dׇӊ $h98^Q-q%`~5fHh,o6ׯLIH!&v( XZ>^ ~}1q6̦i76ḦT-To.Wj xBBXGdᚲTl5nsQIu5%\p^$ ǘC[gN|)][%7"^^ ۲ 2(m"@D;)'gG"֊<`d1u:/NZp:̹BXdy&fS8ۗ`c)/~s5BP4YpAnm@S WƂyl PQF "{P^</}^b _w H5{ qq?d67_@p`=VU[hVb6@6" m`o:L>kaklLz,>|KS]^\@gwvF,Ic*Y=C6E Hk3gdx2~y;/;vQ[I6OExc) wo25Jm'|.Y,>{MkSh̯ڵxBRe2Nh.D7={pd7uz/ˏܝ𖵟}X3}yhi,Z3sZtDѽɐCP@7ס&_QXy;#_8Lp vk:N5} …4D!~r9a%E|Xfa} eH?7_D}8Ы5-r:S[Ծ#]^cXҦ!j~KyLA OUhMM0der:H UoL >3*]֥4$ i 9h OߑUhʦ/!o`581b?30Dܼ$)!66LB'Y!Ue䍥/}9޺ufru A!U0 M[iNb:Er0Yc rQ xҌ3V߱X1x)mHp 톯&Xxd>R\nD65+ؙmz4-)j-sjsY;]ͥ KF̢3)&- )za+ ȄۍF.{& *v,A-ޒ}vUmhrVJ5 s޹0L-Ϳ Q঄z{POe˿X%\(@^=IܧE3Z|i&}V8ڝ^/oiu\8\&F6L,da#&076~'1-ǂM0k\ah)rt7 [z`Z2t*bjB"BoPo/pP_)cSBjj]G 'LI6ǵ4e V׷2:P^(39)T5 T16WCM 6ǝ _D~4gZzT#y6+f/(wΞ6;k`[KquzކsFTn+W4NAI$mP#Of"*XQmp$V+/~ii600cqnmEق-8/.-}P>or}"p59rUk_|E4Mu55{pױyq[!޶孚7== 4^UnC; "QxiJdTJ2Ow.Y\3_`z!U ꚯ;o Rԭ6 =I? ]*i&؂T3~LJ2Pe]-V" ][8H{ώWyؒWD ?i:Vba[ɳYT'--ioJ(0c?ƣje= [۫˩NZ C59 *u Y^sxh735%9JS]7ŪK xvUMM[ -|3I{pe+`aa! #R~D$νMsωYnqUѽzG{{{ 7 FqQn1m k٘שel^6T|=yU<TH  ,O*q1[B;1ZRNeV{ɼ];n"վ&ewr3I5ǣ8$#=J9^ @kp]Ex؂GߨR6.+J'˚3jVVU ͓H3/1uJ.v0|iu b^ 8 M 6em7wQjL5[/lG.fL|[AUŕ`kDnܾ\ξ̐]rd[g'tIb|LjWT`$v1YؼSE{P~e5;bCH1C}լ ֜R= )K:|Kԃz8bfj!{mN5TIYXaً֪)A\@s R9c xYD%qSG̺CA.֮g]e )>;F4!LĚCdKx$KMv $߇oJ_TB:k@^LO<ܵ`'ܓb~HTdO R4#cOժ_bW?Oi^x KV"w찾cT˒X1uʡt Di#i.M[o~}hJ%,ܷb\50<v7m'֛ƘmYt _±SQB9Ԇi ܁J0jz֩^r-VУ;;;Kf@~bo˶MXLlLܹs6 3*[WᜤFOSE: t-T)<}QY_},1eært|&B#jmMTINK]q=MirOwBy݀5 E x$3)UW+ 'o`ĕ]jfWF^0C@ '&XxbsjdW"/Mum(;m4"EbSAd-$0 "OW;IՓvI^NՈ$ *ZZ ;T1S) |L\!"!!J78M6}6d)ϭ:NGGU4mdrݩoɊhzWp[x8*d>ШѪ2Rs%]8HpX]f~š/g =ӕ~̶ΣZޓ?r>3|XwWUK5rno~Q e/S gk,/:<pB)Z$J|<ҭ+n  #+~;UM$7t*fo1{Jo/ ܅+Wk~iUP z4Fj't,"S/8fV*-Z3\:_?iޒzXVRf9yCi[h1l/P}I A`.\&aZ=_'Ԫ4pI6TGeǤW!LG[Joitzk:(C 8,PZAI0X n $CoQ){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 0:=vjIDATHǽolSoP'Ɛ 8FT* JuedѦIӤMX5+&`-Ѝ%$FHĉcv\۹w}弟=Gy1ݻ7/JuF B>z᣽ݤj @1 |avC2u%0$`B|-3$ إz;`^mpAqYqs8(ꁧɺ' TWWN!!~/%%IR. !>J`+QӴFG/\Fg6oLбcǒmmm庮;Ѭ/8O>=AuuTWWbx^en;}`wwΝ;~7o[O?Yk===$]lYN[ccco v6gd2bcUUioP߲=AZQΝ]\A~~u!Z[[Kf-L/o_=V!8{eH5 ~7@Ӵ`Xdma}9wtD.).>x>bݻwTU||+q H-)Sx)Q(0ʌ[<7^}k'' bXly Zil1&s8Ba;Ah!Ϊ*e1%qMZwwhnnn V].5558Nv;-[ ^6@$ڲ̬h6ݺuҮ]"%Z8n߿?$N};)/FH-R (.su/`bbb,8h4B8 Er_ijjzt:QEQtvv  /$SwMFcF___~:. 麞鼼aXD"Qv)Ft(0B8-l:o|!^fe9*UVV~ ˲f͚5\Dm#32GXgF^b65E4~zOeeeǏHwQKJJeff*~Cєe>9X \Z׮"4&TȲc:asLytt0LFf$lL$FGIamE9qRd~TX@}g$) %) H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@FKT8x8PNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME *>d@IDATHǽO[ǿ{6<1!clL UQThED΢nˢXYD.RU.J !H˯}=.TɨJ~7,9?ߗ{qӲ ! !Żw?|Y]]a BD!! @ tlf4 ! L9٪$ !l)d2pAq |fR<3ZXX'tz  BEyt:҂;B[mbx*jmllpbNj;wTU&''Iӑ;ڽ{ꪪd2zBMH$b|܃_ !!,//a!/F)(>z7o$m l6}tt:,\*J<>5mTRqvZn7CV}YD򋋑TJfGmaaT!BZ5!p\ U>[]&o702C#" %geYVw7yG2<(]|YB p2ƠjUU;XlYVʴW<__twQ+KScN;4;;۸~aqq1v@ Nj]^^v躾ѵ]tf~~<~S P?G [p&+Ws`8h&M$#ZmK1~kL}y?$hS !0q ߥ;gf'OST4!f:D"csɤw~ q/~?`[CS,Ư;@'p%UͦAI䤉D󥥥ᥥkΩ4[ 2^ BNMS€`~!x]+BGB2R88y lu7 (kFp+,pnC&.$rl'''@ UŐEUUxv[uLR.z'<LN`^Y`kCmGh4 ˲Fm۾ZT۷oDjn,s~#װaH0Bi []$M6lA 2\.4ҒNիWv;td((ITr:C1hӰ ۸~9,fs`04HdRJyeq]|hݒ\Մ0ML 0&)jD,01Ei(J`Z<>ʅ VlL;  Ce1qc6jrr3-*! xO>F~hbfz,Ro T͎hܲ,^[GGGV~{{;gFǍ2IӴ<9ν=lllǍJRu8Q֭[:<OZj=S3˙g?iHrJ6IENDB`W.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 1 JIDATHǕ_LT9sf`A`Eg+6j41&H6‹^46zEslLĘX7mTdX-?F@fa`f9s^,v}s> 8qmF-,tv!]t)7xurdRʷeRJ'`, BWO[Ku}򈔲&4e+,{!GRʇ`0T@ P HJ8WzB|Bl`#0<חwW&P?\C!E!uMn9^UUn ! k}0ߟPuvv,@1;~ŋ3(XŮ\tvvJ)K)877qpM88ve`LJy' ~RnR@Vxtڵ!s)㕹\C' μfQccWUտ55/--jeOŢ#of;2;߮ohpRD~{7O*O18y$tNONNzMܟZ\(S/X92ۤ'E\]CP:NHxMN&I!D(EmOQBﴍG1 SAsR)ع!߆lM\FTJR 0P^^qZPCpk3E136*S"6POb8={n24&''JKK㚦%@ 04M69\H,8r ̏ P.] m}+s @:.:a&''K+u`` [UUܙپ[,^ȑUx7R}u6=XFɞ #'6 H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qW b0XdxPNG  IHDRw=sRGBbKGD pHYs  W8xxPNG  IHDRw=bKGD pHYs  tIME (tEXtCommentCreated with GIMPWIDATHUk@}  <\`^B|Ch=%:@ԡKnSHڎN6% 1 b0ؕ#~ֵR}%-jhZ&زmZ`LS,M͙vdֻTkJ ^W‡5b<^y5 y vu0Vʈ`5U)"ycqs!oW2UpzvM<۔VO$k~R)8p_ O/Փ՗^GJC .f4nU|S/K5^WWy^WZ|E5yV5I /7"AwLc$:B"N;($ƓYOt 7ʼql>4Jn<,Rm.rPJG#n(3Y8NI;gׄœ//g(|NLZuy}ʆW?}s s&D2ͦ4MSLl, X[?RqBضM6e{{%L\inn~ǿ %onn>**ضa gcc cq9wLQ$p@ @}}=pB~Ogg'ʽTKK˯7/t]IQ)~?`~?^˅|s||,ONN4/$@wwwҶ jjja<. )%RDJ磭t:MXOVdT2 Gmm-B!>rhww7DUUS)x<B"bbWB0<#ssslll@ţ¶mb(+#ե޹\fgg4<-qBBRb* |{{.( "֟^=pqqq!H<{E_5tUd-EQLȽ%ɪNh4j5rX oR> jU<IENDB`b %%WY2x;PNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<VIDAT8˥kRQ`A nozѨK?!eMmm9%Mٲñ&5d^lxusnSA/ ** խ(6ZDsŵ>9Gׁ 5lcf l"|n^'iṞ![>DQDί'r::;Hjle pg,.\ ZqBx5K$b+M,*$GmiQWI2V&ahQQU8Qt)!?D~s Ht+TZ4 Y h,Y9t)>;#(D{k |sG,â\6o7`֧GKD6,8|w#ûUK3A.߮X  4w6p^8{x}u6xYWí\O"bKe1!ޱc[ 'zf>]"-Sl܃<^ = ɲ 0ۍan2^=D6ܴ`cw)䫠iJ|rRIENDB`?y{{  %*/49>CHMRW\afkpuz "(.4:@FLRX^djpv| & +0359:;=?CK"P$R'[)^*_+a,d-e.j/k0s1v2w3y5{6|7}8:;=?ABDGJKMNPQRSTVXZ\]^_`abcdeghijmnprs uvxyz{~!#%&(*+ 0 4 7;?ŁǁɁʁˁ́сՁفہ!ށ#%(+-/012345679;=p`2flrx~ &,28>DJPV\bhntz "(.4:@FLRX^djpv|`1dABC DiEmFnGpIsMyO~PSUVXYZ\^`abcdefghijklmnopqsuwy{}    ‚Âłǂɂ˂̂͂΂ςЂт҂ӂԂՂւׂ ؂!ق"ڂ#ۂ%݂)+./457;?CDEFGHILMN O PRSTUVWXY[_a"b*c hZTx*PNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<gIDAT8˥Kq zäqV(uD).Vۚ:nWS$#aKkz+mmL36v„"=>>}1: /8y>o??#TX|M-Rv,n1O1Eirf&F@lN.`9QXһ pg\{?~+E4  @[ˤ:!9%)ʅx.D F8]ND3deH']\ӍNtqP|PSt jʙЈ2A>"eƍ헮?F>3eh=,RA$!d8 «Y97'@77DQf5Ž֧@x&_mjn-̶/=e,ZbT\y—Gu+{!V%E[&ת+C0o2A Q{`:Nپ:ZpۅHy ;{`dSTyWF CT>;/좓IENDB`[DB /+/x\tx sb``p  $)$ow `@bnafd5G(^~[ae@!׈ԼĒ̒ wO߀F>qOǐ) ?446ij;f ́<;#>x~o[͍dXp|\j*pOKZCv ~~c;YV\+.4?4(=S71Ohz|_ۖno|+IT3X)찿E+f%vNiZ^;579/䶋KG68jG]ϟg?$Y?+xˬOխ9إxsNY3NY++I6EJobƇk;az/ύ5xrCyF{|Ro) xQ[&x sb``p  $) w'ud^9lI. 1 Q%I@bnafd5G(^~Eߔ@!׈ԼĒ̒ wO߀F>qU2.!^b z>LJ]SF= "{r,Qd:cC ) K[EN l"[m& S:LZUu.KLk3.O_qm[⏩3̴ Xҳ00<]\9%4q L9^vx sb``p  $)$ow `@bnafd5G(^~[I]OdkDs~nnj^ sQjbIjByfIo@x#8PcH 8^7wDc^,NQ!VEeSBB/~0]dxbPNG  IHDR szzbKGD pHYs  tIME Z tEXtCommentCreated with GIMPWIDATXcd``0#5q@,1{>Q XIcMg72h8\cu0U:T>آ:Eg"-TuT rR=գOq\hE%_?QOHcrc?Qٍ |!a#~:[[/vݐ`yDOV+OO&%Aε;Eغ b/j3d>gJk1fmŐkz1010rp0XaR`ʍX[‚آ 14\bp/Wb`C^"pd# sry`aF)Z we`]9nQB->NjSHѐg$431;v͙IDE#ZuL>*.Y7 ;&%a _1iM4 hDŽq餸IENDB`*',ks}8*EPvaqo7vmkFA#{\]dεV֊e/<,J`  ݮDD!*SZUw e-)-Z[#n Jgn"I#UY+תZ.M|fYm1jWeKЀeFY Dpdfj]Oq-kfE0 $<` H&33"Wq7q˷U &'n~ M<|3n"ȈX\ ^d$Q&d6M0\"",3 ,z)]d} # =L3%{y˱ /Ai/+7ǿ4'|vpqލPEv ~Cɠ^6;. E_6 8/xCiD6!i+vo?R]޻&ϿvX͇ۡDA-R㻫.QiwwkoS]qf w|v^h':U507̃.ld"B{IENDB`5iYh //v`pcxcPNG  IHDR szzsRGBbKGD pHYs  tIME9&e@tEXtCommentCreated with GIMPWIDATXW1n@u@F%)ME7D\!  4 ,d9cÇϰ%K>kvg@F l׿ x0a1fyˇpe@c>`*R&QWWF@Tub5K^ez렞ۮ"To.OyH #Z;NB" ?MǁzZU wAw4.{[V+2beAI`>% YD$*qBUlX9'<;SNg5}O[U#B"sUh9xw4e"{wn #x]@?gE("OH Z\,8S d=}TQ[ʑHOdO> \,gT]p:~aAReF}h])8 F2a-IENDB`HK_8x8PNG  IHDR  pHYs  tIME  *4tנctEXtCommentCreated with GIMPWIDATHUV@o1s ,sn+T9c-*f$H m%Ctitq-܋kq-T2|9 L7&l@6|>2f<`(usy]\*fFDA d /#t;FU\k㺢VTEdL &=pc˒fЃ'ag X //MaxEPNG  IHDR szzsRGBbKGD pHYs  tIME **3-"tEXtCommentCreated with GIMPWIDATXWJA=jBMRt!DM =G3MDdxeڍR,Hm6:;;53glqH"xor"YZ{ooQO!z&֢|e[кc+f-kvNSǜ ` b7O7εL/Yqm ;K*:4mED Ţvڻš4 baXJڻ%sA(,oΫݓ ؅n+JJJ0h"9mdW!mw\#?&p2Xp0}*:+P2/Z玏 76Bz ֲTʨQyioBS&9xFVG&R:vg{|([[$8lh IW:Fj+4U># Eڠ5JQ4FR𮧒S9|IhaK4tx%dgz R6߱~IENDB`a0 wwbrxrPNG  IHDR szzsRGBbKGD pHYs  tIME;;tEXtCommentCreated with GIMPWIDATXW=n0}A ԅ3pЩĀQ$.VX:1%+CEP!H␀?2`1h:Pǽxmn΍xddu)]S /$pC$"p ! j#\0컶`Ԝg !Eջ:59 Ry.^~[@%SG@dSjiXG Vkf/*r]F'kD͸^{^uhʟ)F`MH̐R!U%[ Gp&<0vdYX==8IFB׈01?e9-EP^ ͟r| V5"il~;]f\%n<0o]:Q|fa8IENDB`j e.xPNG  IHDR szzsRGBbKGD pHYs  tIME |tEXtCommentCreated with GIMPW]IDATXWn@5,HɅTK9Pġ~>ws;N<D 6 =ZEB2 3[x#YZyfwv- O84PnÅ=g Y I*=D[;ѮJOOlŬQ8>9V)<@ qlhQD8~ wf2 $ɦnW?D @@D@@uHu/t"~pxo\?h~Z;3 {@6!p[Y[1aÊ@1aSglU3eri⪵@fbgǻ>Z@IENDB`@- ??=g~xUPNG  IHDR szzsRGBbKGD pHYs  tIME ultEXtCommentCreated with GIMPWIDATX햿k@?R햂m4쥆AK]ZJ%;-N]l2$ESc! I|-YDg}?޻'Y`VtݭO S=,Cl|V{<;8X^6XP. ڛ e\O&VA0s{L-TMQ!rTP>ў,kTMYU\X>e-3jz@Hڞ$>6l5' ŋrފµaZ,4Ve+.siE .\ b}`;KpcOΏxSN0Q^ۻ<: vq`/ CQ@|g0p z`e{~L ^|T{G?NCP2 ARe!h*wR]y1l^C'Q= !aE`1Uc,t6W-6():Ihri+ ́gYq3\$,#A'<_?s@ RoS5xUvoiF*u`Ċ\0 PԬU"yY=xا?r;ne"R{K@[zΔc,@\ "8;# G WGÁ7BtL¨ ٍ"~gXXaC;T7Jaa,tTZi(v#c.O2O"͚QfaȨIENDB` !iFxPNG  IHDR szzsRGBbKGD pHYs  tIME , tEXtCommentCreated with GIMPWiIDATXWO@}+.EBk)a=՜!zGp7ߦ_A)KZ [Xl]C03${{ @qXF~4! D//PoLH!ޜ}DӞZ F4gn[h% ]'y HoskE"@3F3sL'AӞA-_miϘ2T;c %E4uy22JC(_E Pw $GS mA M&ä}䟁9XUwoةӒwnP@_+g|v4~y Jc"k,Xd Bo9]rʢkgaSP ,Bh$MPR@)0,*qf/S%@ 0-C} ӥ"Y!U~_͑-kx6sܟݨYas:w)(#;:w׈&no'QF gx !#wr@drB$~ɷj?IDn{[] wd2uIENDB`Pw sjj`x`PNG  IHDR szzsRGBbKGD pHYs  tIMEDbtEXtCommentCreated with GIMPWIDATXW;n@}Xb# J3pBRXP \ m 4R6AS$K 쮝ɲdy=3d/jN_#7:w7m.lZK1g\>ex:箌 E`;|{y'r>\JMsHlt r_UThNMC5@D{qko:D"WɾR2,(o4 ^H;PDcWّϞ~a@ngEw4@lb;%p:͢ŧ NC;{_fcBg!҃( kb)M(:)0Q;섍totf֠IENDB` Jk7x7PNG  IHDR szzsRGBbKGD pHYs  tIME %7)ЎtEXtCommentCreated with GIMPWIDATXWOoAeG 5D#)HMx{ Ջ݋LLi\lM lb#Hʎ .R%μv ǢrF2 rv+^,:;:-@CIЫkWT贰szPRh()]\Dfz St>b5 wni߆al_IZ0}Kf{#Tb7;m+&3 c w7/ vX9Ν _c0EDf'BWȕ ׾+劖W"""f:J"J"u0ȢS*}%i#3ܰj!9p4ZC@Ղ0XT>Cm`3dn̟ds o)DsأqSS1]]ȃ?dҸID kZWEa8Vۖft[Jf3>D9be0$ Yd+o7ebe\Z2gdl0dYmQIENDB`Zlh DD8ltxZPNG  IHDR szzsRGBbKGD pHYs  tIMEɄtEXtCommentCreated with GIMPWIDATXWJA=nܕD+tR(DV $"J F-Lt׸ kfg.{Ξ{av ` $p'KIwCU ` }'zq? -4Ŵe7zܛC [ea/1r7'H 6`x:=}TL.0&^sc% mք.z*h%Ԇ 4ڊJQ֝25l) $^v">vHBQ]Zo%QQ/"X0DV\Jʳ2U,5m,0I@T1cqiyDW`|{;\xP5x_5\,&¶ "jz;M1aVv7cC1m[+?,lV܆=r &7dqj!z?ϲ]IENDB`u cmJx/PNG  IHDR szzsRGBbKGD pHYs  tIME tEXtCommentCreated with GIMPW+IDATXWJQΌ*B@AΓ+o+ a+E0A&zZ s9QE?b̜;߆أ }k|qVx6i;BvGRÞ6߄|vYb<-1}Ld,QcN ޛE'rfTgJ 7:FʺaGdxFYIJ:*)n?PuY@XH;Dٿzf= #Ld@̣kzcs ;$0&CTxzfJ:Nf:r Q+h+hq^߹kVDu`9lr<|2HkIENDB`qp0. 66FnxLPNG  IHDR szzsRGBbKGD pHYs  tIME^=tEXtCommentCreated with GIMPWIDATXW1K@}צQ(urr'C$D9jAt?]]EDl5sB\bc?4K{ 10*鼝sȿ]!܋9p8&ohWߵ0t.h3nqzdoklty_| '?>S ]tiCM%vMݻ{i᳚<\@rE{ @a~{q]of~QÄ~-smF:#Y[X^JX-5LĠDk @%"ZS+8r ܗ' >1:\`eMb"D5$Х?с$ a1:5̄Q>b& X,DcqŁпJJL%epbAMЮlBwư_&`|mT!NM}DecvA`pY]erxܞZ7]-iAq IENDB`D)J boHx0PNG  IHDR szzsRGBbKGD pHYs  tIME !9C8tEXtCommentCreated with GIMPW*IDATXW=K@~mBPł(duj7gտЪछFTX2iuiu T)!4 %Ku>ׅ _7&qf~ L!f0a< $ -בZ`e|(>3Z`fR|!4Yd2J*" I?YO$H5aS*(Y2lU+ÇX, UvV> 6{!|{1ۊU@} K~fegQi{[jCy|el/=\9c7왱,lg6$/7Z]@[/YZOO jEYֿY="z1} "{exG4%WzWz!@.~koRvp5 AjuCaHUYMJ~>"2aTnwB0x]Y$)|$ve?`Fu~b 1Z&uX2#2ĚP"ՃoσTLr[Q#gRb>t0{.N( Ŷ$rYUbub%/F8 )\yDLϲrUIM.N_V$w[ѧL(F(US5o­4a''4Us@FH8NZ;8kl~jP9 fJT\p3J`LgķL7> :nqXV*ݜufl|`j`yhM %uh(IIdNiFyIENDB`R 3 [q:HxHPNG  IHDR szzsRGBbKGD pHYs  tIME1_tEXtCommentCreated with GIMPWIDATXW;r0\CSq*70Rb \!4r* 祀g$!!O $E&1^Xe.!)9x4"M[ {=`r/b,@2"m`p&#:`-=V~) lBt|\^Qx*hUD 3(Yt|ή9}dLq8Wxz9zwnk30Lf]lp%hK Q{PMf}ӾIضTd1l|\FD5^~@DUqvݑEFMk-snm]չ43sV_Xu7bනj&̾?+CIENDB`Wz z+z-s^x sb``p  $) w'ud^9lI. Ap品" 0kPו ndkDs~nnj^ sQjbIjByfIo@x#8P?Oǐ) ?446*ӯ}s<><qUʞ.!S~7hhhm.}IOT<^u+3Ąw{Z*'8;,ԶMˣmf9zBԊ#ڋ]1;C3@֭Ȳn}#1/&;JHHCYɄĔ"/.P8!ȭ]VI?0{iR‰7)IHIIx}x˜b@_cE*ȎSnhW4ǀ+#yӅÏ)M匐q=]irKGU҂^Ɵٺ/0L<]\9%4t+ $/$ux sb``p  $) w'ud^9lI. Ap品" 0kPוʗz@!׈ԼĒ̒ wO߀F>qU.!NuAm?#.[6z&m_Cu% YIYq q5ةNaF3U7.?3. B͉ڳOj01X>A.7:- Jkg}yGd׎'òc5Yf<޸}{'B&~{mSɭxM~{:닽'kɐ6-L2zJnq3[WL = ^>5QU fE6gwqh1łj2b"罨=ڤƴ·)#tUEUnjכYQ3/n)Ծ" ט 1) /Mtx sb``p  $) w'ud^9lI. Ap品" 0kPו«igʀB%%y% E%) % |@=]C"'$$8o]W/)zgo:)mKXV9IqBǝx'Ip3z=bp ".[6Ԡx(@L)Cٶ| |]b>a'=r#=<<))aO/eSBC҃[v:x sb``p  $) w'ud^9lI. Ap品" 0kPו+ @!׈ԼĒ̒ wO߀F>qU.!߆[596H7`jm-ma}]lK^rp\n?)bV _\W|wc[ s)w"9|cVZp5QҵJD #|gz(B>+Ã@U{j̙Xp0{|vT.L XOW?uN Mw&) AALyx sb``p  $) w'ud^9lI. Ap品" 0kPו+t5@!׈ԼĒ̒ wO߀F>qU2.!S~7hhhme:w.ؙppsκwm_B~ 3kORN@xy!WrGHظcڂo2[a`ĥ1CyߟuZ"U%%%%*npqGԩ 5 Oبodʮ!>Aj͒ןᱟ~à Kmk`'{ˍѲls֒EO|dsx;F򾯱 J_ uf*|BL1S[[ ^"grW``2xsJh@PhkxZx sb``p  $) w'ud^9lI. Ap品" 0kPו+dkDs~nnj^ sQjbIjByfIo@x#8*3Oǐo59$cqS?p4I-Lة#m{NV6##5rj#5?sfÌs1?r[~dwr]u'W31\|3I"=~SKh#v$SGjSm\ 0L)ϿpFZ%_s2\0`&Roϒ~֩gxxA]ƾ~[o1|D8M+rRszj}cVvo)R[rLd&3~[#0SGo Yw v"Ô2 翟(9a|eSBB >+{Zx sb``p  $) w'ud^9lI. Ap品" 0kPו6 7n_-PH59?775(5$5E<$C7 O菧cH䔄 Z`dU77Vf7Y| Wީ\vJo|Dwt1eqnދ1F?6({Ⱦ V7(|JXfC,6 ps:UˉO8*:hqYV"g⼚lO5ny"% v|pQ\R-yYaJC̎IYX$%jK+9G310<]\9%4=T>zx sb``p  $) w'ud^9lI. Ap品" 0kPו6 7 W9@!׈ԼĒ̒ wO߀F>qU.!S~7hhhme3sV>м~<><yɲOwxQqIq{M bL1{8I,*= 3J 6%6P0ź9z!0v<]\9%49ґ 99Z8x sb``p  $) w'ud^9lI. Ap品" 0kPו6 7ϒ@!׈ԼĒ̒ wO߀F>qU.!߆5H^2ݵQœf7gXZ,`Lz3ܼg [tKD{Rw`]ǯsg1#۷n raOWV|tԩRc [iSsBʾ:SK]QLrli_Ya\xϦ/w=]v͖"Z SUR/Aitwk?> WOW?uN M'e~Nx sb``p  $) w'ud^9lI. Ap品" 0kPו6 7U@!׈ԼĒ̒ wO߀F>qU&.!߆Y2M4}-K[j;8N`08ܺ-"jGCV.~oNhl-j;WoLQZξz?۬Bk ~lֹ3T-ǽLk]zQ,9|oڜ57d;ܯ pK|Ks驵 =z 4YbףKT8tD,bu`PZ0e˼Q.:Uk/V /!yÔ x sb``p  $) w'ud^9lI. Ap品" 0kPו6 7Ci߁B%%y% E%) % |@<]C"'$$8o]t_*ؙpp3F*Ss/-匴@U[lWl\qB /xI9O|įWD:BF,_6:?8(Si#bNiq_nmH(6ꧬxmFܷNMY43RV}(IQm=l{_`(9-)!!1#BBKswxd-<,wAo}N|b\ɝpq{~n%BE0̟iٖ,`1xsJhߤfPx sb``p  $) w'ud^9lI. Ap品" 0kPו6 7G.PH59?775(5$5E<$C7 OhcHa}M:/m5 BԆZ\)}dцw }Gob>XU}ߧ 3r[OUK`Ÿ#a}\,Z7"S=:I|ph[c ug!}Gғγ=&V;JZAKy`3xsJhCK x sb``p  $)$ow `@bnafd5G(^~[Oв/B%%y% E%) % | 1.!Sg`3a@yno{]F򬍧vX&k/FyҊIڇo3oN0yypXQcN5fǥm/bz` fG+L ;O8zcwsfee\5}ur$2mV`.ݔ@lc5mU\ir!*㕌%%~Ü+%v#eSBJ޿ 2xPNG  IHDR szzbKGD pHYs  tIME  ;tEXtCommentCreated with GIMPWlIDATXVn0N]Wȃ$s^R'OLx֖SlHi#wH`RU}#Dmo8Et8ݵJSc"S#Wkoo<[ܽe]_or$O;.8Ar2"wU>O }'D绮!|p.eDg/<1A?6`?k Ɗs\hGXM#քMM 5%, D%;:/>U1kro)n[c6fKV\h ,2 *ųӕ7>GAo>w2/JЋIENDB`( 2xPNG  IHDR szzbKGD pHYs  tIME  $;tEXtCommentCreated with GIMPWlIDATXV9R@ZH\~3(刈H !<(Q䜄0"bDU{uwf@ yi]s fc ˼"Md?%'fV֭qLN5֋Qn&\;Oe081 |:px'E N2\%'Ⱥ!k=?v^jLtǿ*) Nu$>7*PdY*DD&|[HK3M$wN`tD\Bڄu/Pٖ7M8ݢRv忻bגlE@{`*+ͫ=T#IȆԀIENDB`v xPNG  IHDR szzbKGD pHYs  tIME  ;<tEXtCommentCreated with GIMPWVIDATXWN0EݺKIg^)SJ@g }.ق $3@d9lSHl$9???m캟@4e~"vIi?<\2P IB(AB":*I(NUO4eԈ> u j |HD~\!EX_F$ӽQXXVv lzGB.!T&#[*Udn4ea5a_{[ULC>6t~Pm7=cNH39^ɪt;Y߰;:OP[ituKdWjחIENDB`׍t kZx'PNG  IHDR szzbKGD pHYs  tIME  ! ˢ%tEXtCommentCreated with GIMPW@IDATXõWN0=vB:!J2e6V>!S;Vtb!1AUE%5CIbN4.r} PW\׈ n)gh]?DOC7 Pgu1rS݉k4Cg}0M.&& i2Ip~ d+"%KRN5!^!i!fԑI$f DĜlpR%X{q%;+.T _E\U6?Am۶]i@m ieG1$$ mT|9Wb7lHYgwW],^>7ihe_Wg $_y|٩ \_o&T6:odD_ Fn ġYD5H%:tv&$;ӣ89hY9>acȎ ٲe Wtm#MIOZ5}KN y~hj^7cѕ~L*5CRU>Jb6 uC`1FA hãn 07ԤdM/^͖!IENDB`v3 unxPNG  IHDR szzbKGD pHYs  tIME  t"tEXtCommentCreated with GIMPWJIDATXõW=n0q"C >FQ4E\ @' E@Arf!"@6\UA!MQOYodQHtc0|>|܏ S'X+qm>KK{aT_$GZw\妅s_ƺ@e|\FxFKCM#ܐ#qr}u#&6# Gޑ8rbH14\;iUIK|+)ꦔ,' y wzΡ$XN}|I,w7 lֿ?yгf~F;Ad l\~}k-C}[8Z 8 n ꁮ; qt!E8<k/{ mkc65 Y ԅgN|  A5ńc٠8=lJ]Tȷw]` xX )VT6%CfF#ńO-v<^h$ݘ[-!$V4 q:˿͵Y>K+JXPi*gy! t%a;1B.Ͽ5[wzd}+-a-IENDB`^? __6 px sb``p  $) w'ud^9lI. Ap品" 0kPוan؎@!׈ԼĒ̒ wO߀F>qU.!S~7hhhme3sV>м~<></.)qDT 2 mӘ_򟟬Έ0͚x*OI/~;0 *=ZȐH=gD`2xsJh/w LcL *x sb``p  $) w'ud^9lI. Ap品" 0kPו:@!׈ԼĒ̒ wO߀F>qU.!߆;l O&FH3d6 'Ks7Pb[ơS̪!{A A+nF-$Jg3<ذCaGl8xB1XLK/'MakJpkvvFm3-84|I v35U _{ U͹+6!ĖY7.f>E=`\z_XN=:Ʌgߝe|bV-m-84eW>n&/xsՁW> r+#Ga\/ nش7oS]ncȪlTs,MuLoՖiȼ F Vs:'_vZ/5G`l0xsJh̤Ǔ 6x sb``p  $) w'ud^9lI. Ap品" 0kPוb s%K\#JssSJRKRS3K2=}ā{8DNNIHqޠ^R\gU)?b%$`aEÍfrg$JlH tX4a)'xedDVYa_ ~oYc @!YdTtZbb)קɵԩ[̝$HɌ :w5zhn)sZrE3='Nt(3jVR:WP2 /^6[M笴) O\p yy  pxpPNG  IHDR szzsRGBbKGD pHYs  tIME % rtEXtCommentCreated with GIMPWIDATXVk@Ζlv1K<@M@E0-K[vb:xr= !Pׅx*q3Xd(tO?NnɁN:{߻/(un0D bRPBql Hp 3_&"~L%aM#Ifr`<3|!TH"L.UeD:k%R@heļ8~~h!=&-h!Nkxz%0K\7%KU6cdh1RKΗ[Pvy. H׆fڤh*v {( hc4d&yEc:8(>71J+`Ih*MEV࠶aeK;3B I=T*ӿ`!g!|Eߥ/P5fESͺyq}rUZsot)!/Z@|Zf0ܙE=^$ O=B\2c{X}HR| Z–'B} 48"/W&/VqC*RrЩ\2s(=|+z?U64tG5!w?\l\X׼~&pyfQuO~H0)%p^v`1vIENDB`}{ }} lxlPNG  IHDR szzsRGBbKGD pHYs  tIME &2OtEXtCommentCreated with GIMPWIDATXKA?dTbVZ E m4([Q{ ri_`B)\(%Aha(ژLawf'{&z-)DuAv)iD!UWZb.=t)-84ı0pOB T26()s }fd:G[- `LptnɋB! H ֏b7 M᎘  HIx#!5+G;|xH.;!-6g2],'eXUVvq֪QI$S.z00tiU $S ~F_ *Iل2A /Z5U#kU%רAXB0lʱ?U~Ǻ$|nEKgBU%ّ~WOB9pʘD7KS] X$~1Ɨo#7v'2VU|"D~ICZа(w'Νy |v򫃪V) / vRNLz^8؝GO]Owg_c~a`C!s~KCip"A[pv~0zֻ+u JHp a1\kMk7( MIENDB`J G4x4PNG  IHDR szzsRGBbKGD pHYs  tIME *):%LtEXtCommentCreated with GIMPWIDATXW=oA}9cɗ)%KP ("M ߐ&I*lr+db#H'H9ΰ)=-(#yocg G*TSEez2m/"0:} I?K2#!΢ۍe'~m:1*sF!#.7"HKWc`Dխ-6! v0quƖɏ/}=[O R5es9rbIgs9Dfv!7pp"q:yesE׾pCBv=ktYXM0&sS 넭3l^y9><$ߝ49nBC$hD $~nG Cf`cwm% B7a;v]bƫ-L`vuK'ʾr_ÌE;T~0w\: g| մc.ۭSf|v?Ƶl'29F2:'I(4]xX$4ԒPn yלdBsyՖɏH zuZE[o H{D!D }1FS9 cPHTHAr/KB9f2ȢԎWL6D>RIENDB`7b ;z(x(PNG  IHDR szzsRGBbKGD pHYs  tIME , tEXtCommentCreated with GIMPWIDATXV1o@^bjHZQ$&g ډ.l-3] NSVZ&JTBB-Pɪ!81Dw}-޽{wᄐ{dcfhdv*dIbLئ3bM*q{LmNLqq>02fl {33ay0Ȃe $J7+X݁0e%(!xd o8(s  '!0x3\_wh rݡ5s'j=x\xq w)sߙ׭a{u ۫[ք=;{x%Zl:m^mk?ZfTuï*&IENDB`Zfv@ӍmnzX ?zn^~'טzgx{w i }A Cs]˴?U4V4\ޛecYX b]Z9~gfi8aɎ#BDhshԯ =|9b :+HG'mt. W ӸZt]Xŝ[xIKĕO0>pibv]ac0 D2[\KD] *A(R v@wZ>o__۷;ܡi#1Hc"`?4)pwnpitPŐj8o˧r}&T/xy ݓp}!rhg~ߜ;+~L_$gpgA5v6jKcQŔuP=~n<鎬=Ʀ"v$o6N[mKh~ QԨ#GW~{Cg]@)ZPʮ#68ܳ?T_߿zݺkJs/#O8EM[/)F4mW1c4Ņk,ujL?4zթլoAZ"UHv7HO?.TZX]/()}yVs&|F`74[ jQ! ,ٓ{B&ڸrg#Q)D!F; 3 &fF5QyKN_4dDcZ ]m* |xIENDB`o 4l!x!PNG  IHDR szzbKGD pHYs  tIME19tEXtCommentCreated with GIMPWIDATXåKl\?qqEM*B*PlXTRvl@B(UhYTE+6D$ Accܹs.3s/՟{|Y*C-]wĨD *^j+U wlqbl?/bgϰ%~E9&I:IR$)d4˭?q%,!$}3Kc0II#t/?F3]pYe! 89[1}0H7OL:o<00(`fؿ@5tF:ro>go_)R|G_AX6 51 - ,wd34 = Ӻ7jTrXh  xor]7z¹Ħ?{9;S2q3wg~e4Ɂ&\DhpIh> (WB1롣:l/ Enfqkt-.2vD5PJo9\\`P1^"oy5"M?ѭp<6%$Z8ٳ9t(1 bFJ̅m]@H OZŽyթu釾p ꬶkrO)ʮS2-ozt5좤}=cT x.~`z2h\xVBS }*N&'Rgv㻤Q* _?Лz;[7p n7ȩ_H b!y{fsems\*߁UMb1.-ŋ*dO}]P;sp= @:њOi~8e7&6(A@$7pAUT}?la?ʲz()QJ|V^˗2sygJyX,o/@Ḟ-jvGhNT)?/ 4yyF'' A&l?zT)^e.:iҦl^OQy*y-k,|)פu?++Fp&Baquiv ;/_BۿSgn fp6qmZ&:&>>JRcic52Z[Nj~Q} L#t>bX[>0 oɾ<4b41!hczʀ1o>3`Bmnna*'D`<"hFԞ iLK!zTS 6vIENDB`r5 D 1x1PNG  IHDR szzbKGD pHYs  tIME+<tEXtCommentCreated with GIMPWIDATXåKl\WcflҺie"D+`Ŋ%f uW!udžJV  BiS5jIc}scdҞ=/7\^,<|9oGRy]&PB轎R-֊z@K @HYv1糖OKaI]x ϽB~?|!`8X|C>{"қB80I8,ww2 қ&+7M\%Avj;ڪ򃝛(!eq`b,!I-?;18@>o`}c4JϹ՝.Ѐ9B 473SdfE_zb a!lSZGE`WQ4t<x=QyRIU{hR{<é8ؔ!jh?$+I*\UұHiAEbBV* }|r}f9q^6&cT[1t)ّbBr"°Qtv/p`Ws!;O[!% =>fx"GC1۫r%Pt,{Ǯk*8|Q??5qV*yV6^a]:#a5烵6b<|3 (pxFδ7سnMo9<=ˁT:a%ҪN/`z wgC6hym'Bzlᓦv"/f@VTZfhj@ >{NEZU3|U{ ͋W:giän,KQ9[4=G *ˮqϗ ʯPO k^߄3szO_AJ4h1%kT\歄zJ"T!x??4  o?VY$kvj̅Sz~M-n`MkbW3IENDB`i b6bHxJPNG  IHDR szzbKGD pHYs  tIMEĢtEXtCommentCreated with GIMPWIDATXýYlTUs{gtN[RXe !DC"11`4B0D|BLL411LxAc7 h= *i}nLJ N1'̝9#P5}fM羊UvݬDZB-]u<7M J>&ъ7iÆ0ۇ6@w]_-nXC+ -)@cB`E< n#1,W5BIS)KY zSQ+PDųkxTPNG  IHDR szzbKGD pHYs  tIME /tEXtCommentCreated with GIMPWIDATXýYlTU.sgt Zh@Jbx  FM\/>i рFqRіtvZtJ'7;C-*TMptLkn]]Vu3Ұ/<%@x]Z3 \!58B)%Hl!u؜chq< Hc'jW)I!"$4 %OŮҵ< 9U#d43ԙyɚVLE-D "u,vxvgQ:eG )<([;6=8bq&@ʵ [E BrfO%3_K1#>Ί㑒><^.U0@9 aWy^]U|[HɈcD5skDJy.;PpEۆ:z}Z`d9E#x]5^ .*]q@,qX;'kcdH31ڱqLv^&z ͙vDL)׼Cv3i>9H7iKМ+ejN/'r CD@Zy/Wp?dJi\EB]tb&z(iHҹ;f15vUOvE+OݳgL~{|;=JO,Nqg97 ^L4o:-1bУ#c= Y- ͍Y)7%u{ߎڸГ/x "j6-u@5~`GKq ֺFQܜma%zpr w X7bjU&xu _:oP7:Iܕe?@"% UDnfe8$ju#/ZUVS߂9p&";5EUO'u03R}A7lz6<%myѣN\HQl%=#0$$JU=EJ R▲e] 1s4w iadDF`&`xNjkCo 'r䠹) Q5 CzwBfX*N.C"h׳ alZ{M<3}moJqWI6~4B_ݸ$ G#IENDB`)v ::BxPPNG  IHDR szzbKGD pHYs  tIME 74IFtEXtCommentCreated with GIMPWIDATXݗoPٍK(&Mi! dS#BbABLWS:G 5 bCHUKې؉? `[,t=c?("a5d旒[>y%tO+!2CZ6ƱkkH|@ I(!sV9:wYr [ EtZ_HT)#L})PdΉIʱH:v0*`"GCh(fZ̥ܤ!uԋ'0(?@SjBQ! XR'n"<~ͥQWHy<(~<K#HTdق#(<\u/$Mf ~΂\Jާ- ӣs˷،O )1!v{ A߂\eUcLj1W~%gćORI.k>ŝe߻G=>S%ZRD?AӼR 7ؚ|VտisW"WtBCIENDB`(s$} ..N xDPNG  IHDR szzbKGD pHYs  tIME 9ƽtEXtCommentCreated with GIMPW#IDATXKkQLIi.uUܤU .ЍJRqQ\D̢XFKncsd.DžB;.I2933Ho\]Ѩ!*?~m"ƍ$@o,_l,p:_g+Ȯn%B@&w7sOx+0_/@m6+{W0a\mˆŔ$oN@X)6 9bPmlaofCy=Փ~m inWnk `A+b'6܏ }ςFȶ(Ko6e^4:3- )$ P !^mǣ9MNtzكI>=ډYJ8Sߘ)&zgD6!W@Lwne]C As6$'m,}x.p2\H}υ ]Jk{/b˃V5%IENDB` & ff0x|PNG  IHDR szzbKGD pHYs  tIME .QtEXtCommentCreated with GIMPWIDATX=Q3s3~m媅.( 6He@EqN- "fw3ɝ{,Bę̘5njf==s9W0Z< 3ibu+xŧBLU^kj 뙢Y-h7[c+OBۏQmiw0$T\ P %p"w"Nf^p;~Jly[;ƅq? 0@$(G]rW]`ibBxD}mVSķû\ܦ.w~]qrJo+ٝ6l2bUKg`qgVHM|(/q?@P۪H$~?GfH"P-~Nɪ$t1?7f_"[@"aP>^D-\.D| l, H\5SIENDB`#9 `Dx2PNG  IHDR szzbKGD pHYs  tIME  'xq#MtEXtCommentCreated with GIMPW5IDATX헿OSQ?OijBE 3q0qͰ]Lb\M' 6BH0H]ju Z(Bϡ'9}{|{$@@-He{Z|U.H+@aHnЯ mbkj${em>tkC(z\i;<8EIC`[2MnSZDvAOdSTuL4eE)+99$ ņm% TU6hjYk| gU-c\Z M]/QV =A^*1Baw]y\kI-DYP(#2eIAqbl֠M|lCIdH$v3ŃGJ!o֪hje"F&z@m&$qz{ &{Ȥaz͒^RTB?:J5ғLo>' *IENDB`= dd4xzPNG  IHDR szzbKGD pHYs  tIME2/&ltEXtCommentCreated with GIMPWIDATXW=l@:1$QHeD4AA (*uΔS+ Js•(e!?N RI4a5! 'yw~߽{w()λv"L t)фo߽c|#;)ʀ;49Lh*v'(NRy^os Ws?@ S*@Zg..5{M(D*Q10G gI>oW6@L/-pp>a| Uej|Ղ f0y$T6 /O$&I$'1Ȩ(24 }o~"`i@9GG_.L QG95r ty&ƎNιN,@eIZ@#Q:0ݳ.Fas oݜg~Zݛ𖆭lOq7M+OmeBl =M=h#2-"v+vv z0T50T5г8vv:Nl#PT X`%bP򕒮i >k;ߪ2l ѷMc 󣪌W7oV<"DѕHƈ,N.7=j"~.&o]ǭIIZ#$5b,!hMIH%S(&'wO^Xi 4$ŴkU\Q Lh`vgjG׎ iq?x e-S ݣ>[IENDB`[ _BLxLPNG  IHDR szzbKGD pHYs  tIME39ftEXtCommentCreated with GIMPWIDATX͗Oa?mjZ2<ڦFTqp0 . CM aف.R7cpVBI[8)*Rgs~. VYɥx=w#=x>FA@%`O@m[R0֖x1<}uoczcdc-Sno0AAÏ:퍍[ԍkoY + '"GG+8˔*5xX W [)M#GG쯫~ n§ؚLaInU+5?XM}ࠠ0ƛ]N vpansq\zW5>)@ TW1Y __sa !~vK*` o糒آ3R' οͤ%UW[ ҊJN:&CF;VfA$#蹷MZQZUk~s{ fTIENDB`l KK1fxaPNG  IHDR szzsRGBbKGD pHYs  tIME #]yXtEXtCommentCreated with GIMPWIDATXŗ1K#AG@KPA;Q:YXf!~*Wrj abo/&;d}0 ̾ov޾70`ARn-mZ~?"T*y@e%>/Ғ;60$};=՟ soO_άħJ[Gnhcc^j3ᐽbvY KdMU|ߧn U4U*Ic;Nئ"Śf׽G=MvV41_|>^ͽ!A긕d<R=BVF#Ёx)a^rdtm_8)4A #QO& |hөNжڷ_{@Z@% Ih_[}O:YWzJ5k݌ `6Hle^u氠IENDB`% ee2x{PNG  IHDRabKGD pHYs  tIME~IDAT8˥kQ?om5X[(VMX00|g|]Oܭ܄mU HoOyōA&\;6-gR^k_^:&v[*4ca5F"Rsd;M< M+HZZvuH .4YجWFz< d0@*5GSpّܸɍ67_\<3$FIENDB`b2 unbxbPNG  IHDRabKGD pHYs  tIME wJIDAT8ݒ=kSa7iBVC.]\-BvpQ:8t)XB~TŐR"MHғ9}Nqcy_g"۾`@jtKivD+yn6.)g%EK@aӛk+_j_%d3UE<t9cJG-Bv*/@tʧ|,ܨW@毧{ /uFIENDB`hP &  0xPNG  IHDRabKGD pHYs  tIME 9IDAT8˥OQrؚ̙ؐ 񫠁 v&„@V?Drx`w -;X3Nf޼f@jK/jKvV/7h`ulwr+≠~UvF铷Oʹtb'G8!N$puƳNAw{>P>eԃ H.W'1S@zv%RnTpa|Za}|&^W4 0v ^7A©$>n2- (o].2]> ›M &Ru6h`~)$n}10v妯]cAa<˷k[&Ͱ6~6AKue+E^He#'gSxP&^;11_!&ip)YpBڠqЅ"L*D d/N9?`\k /KiAph䇣jZD߂53W v(4E$2lK_m\ %6_z0)P~I$$#Z(A 0$` ^>;iN\:[YAIENDB` D" 1x1PNG  IHDRabKGD pHYs  tIME.jIDAT8˥kaywrS  6bEJ,X ""v 1hj؝!_#d;03|BesowS]4FPePۘܣx>PNG  IHDRabKGD pHYs  tIME/6@IDAT8ˍ=kQ33;!"р2+ X)b'X6J*/)VJ*(ggv\Y' 9p9{{ιxtM|H.L{V @+i\^Y Р:?7o_t VZ8$@*||^} /H^B@|`K2< A&:V!,'mזpۧ=̅2@ukfZ)ז8}7vk쌄}Dkp]պ%΃^]=Jh An ?0O2#T49?IvߟpEGږ_K$ UȴR$ѿ% =f بtQ餐p$83G2C(22;ՋbtsYyx$txPNG  IHDRabKGD pHYs  tIMEBYrIDAT8œ?/ 9իowB֖C:ϵ1@ @p~ܬ}r#vv|=A-8  Ȳq6(@=VLv UdKBĂBFY[HS0hZDd{QH!p͉ <[0I5=hBj~c -)3gon5<9m߇B4EE}ɻ8~i]>hwSg BD?+GM u-HlIENDB`Zǫ=#:IDATH[h\U\93ܓ1m.5ViJS3NR(yCEC/J)HTTВNmjjbMӴc55צs|7 ܋ ٩&+b)@ ذ΍ZǶm4B6رK}3<\X 4ll@!аQu׈D"z]; %RHMJLZ)[\i boKB! 'f] @ Mj8L;Z;L< 鿽$DRP+^ӁSBAR۶5;D"LbPHL3#R A emMi9(?e~j~PTH!vf|^7DSU{zz:rz(*0YI6GB`x`x`ҝ%i)0u'---$ (熻gwAZIAJN`7g/7L}Eݴ5B*16rK~_z:O_G0f.#&䴛L@6Gkkkz[ָ\&?ύI>|iKQla9LS󮲻p8̓餪( U͙[.iNS_nj+qzyX H{p;ovu5xyuœ\i i:Np6N9EU$OPXRNL@,+ ]5Ldz"9ߚarnE◯;{uZB+̣83WȆ_2###)AG ãu rOyp恐P =&?o@om15!nIENDB`w A A )xPNG  IHDRw=bKGD pHYs  tIME {߄Y(6FxFPNG  IHDRw=bKGD pHYs  tIME 4 [tEXtCommentCreated with GIMPWIDATHǵ1k@iXiB&-&`* ]D t%_& I$!/^P-ERN?=ݽ"rDlN܊5.񵐈X5Zϧ-pJJ)u2R? yp8<~,KfyGJ\$"'I(*Ea$1"r,Kc,"w{1vaV Ð83[aEN%m]s:O.AK+p7Mc\4{s(s'\dYv[UUȲp9 ڻrv ;cHkWuނ2U VE*]_p24 yv:r\G,*T+Qd(˪An- %SEĢbP \K`pO"%QRu@]"D2 B&C9Q|!k-Al5XUꑕn$ATD X21H*#lQ|P*ׂ%NmN"{&|_(C ܭP 0C'YB_ W$Y4^w~֤h"?z1xepx.:1.,3~]ݘ$SohK绫/ nLq dJ.7 80$i'QoҨЙCc>&Zm툫WƹW%>9.qζ5شs|= j,Мϩy~~{dix9&J JRcker{ؒzt=]8OލƼZ =O:܃ $&Q |Vdzw7x21˶89~o>]h,Tk;/Q,6 x$܏32+RKpsA>`;Ǜpp [^it䏵rU;Wb&(]Q,>MS m;Qw/Bȫi9%aƎ}`@j(g L_>666vyÇ3NEg(V{17i= IENDB`},IDATHMlTUfZj @ ejAL43JmR7ƕ7D.ݻBÂ&5*6ą h̀LiK!x3:)+↓Mxla2==m%fs$L05è*'i"ZQT,.Z~(ֹ DDZ^aZW}B  *8ĢaD1qy E#mbV "Xupcz΃<6/"5." X*"UiHo1)UTU>v X1XqP+ FS@8J3l3ߟak;{u j*# ]j@z^1= JC?">͵kn?/\v?GB~\?Y]ZgQЄLV,'.u-111Ars7~P@X#|Iⷜ;wZOGDۢAÇ) aHP`qq@!Jx}׻Y/p(!j8 8|bH" ɐH$H =9DJ9oGp9 ~v{߾}3|RD& uX,ə~+ͦ kǩs<_w3^SՀH$8Z }d2y 0m? ;8wKlLqp,L]Y HRd2(###`!QT[P.9~c.hn;=+M &ϭ:16jѾ8Zq`5jXu(lr;cn<^cIENDB`kк +< x PNG  IHDRw=bKGD pHYs  tIME 9,tEXtCommentCreated with GIMPWqIDATH핽jP#M At(.FEMEܼބd9h3.PQ$BS83Ԥn~ܔ"@kݐRIwJ)W1ZZ@0 ,,6 >ϞU8 w=^@x ذ8QwZF&s`C'\~!nZSΛlM\?H)wZF<)cc/U!oc4OY|N&[y?uؖ*myE:@)N -D) B̗k; Ƭ_L+$l(-0#80 T%BR3qJcV!iyQܔ'ݟz#(IENDB`)]*>Tx sb``p  $RlI. Ap品" 0kH{+m.n~f6sB%%y% E%) % |@E{<]C<(Ԭ*Lzg~`c^L3WԵ!MY|x&Lyv}B# }~!>'q^1{Юfz/8/u9?ŧ3{3U~\~zwߣwW[ OzÑ8c_ XnR OW?uN M:}+rzH]Sˌ#[yMܹwM`Y吖j[gNIf UɼXﮠD+'ZyTCJc*v3t ##4ȕSrd6ފ$XH'zrQckm*I.cyda2cVѳå}sEAI7 FFyhǢhyC^ɣؗ4o'g ^/ o¹a2r]$2`_ F'cCryOIv3]_~c^^}EQV>f;'.K)ƍhȪYcX!'2?Iw6FƴKXB.o!>4 _)#7ωmt"OTPS5CIFYSfރ.01H$",)+[\ gjjdH0ɜr$4  3GR g"H"x|P"9̵&ֵQ@՟]"bI`fIENDB`A | .x PNG  IHDRw=bKGD pHYs  tIME 6b-Hx0PNG  IHDRw=bKGD pHYs  tIME &x,texePNG  IHDRw=bKGD pHYs  tIME  fIDATHmLeX4\IDATHKhU?1MbliҴy(j, .&WD*TAqA ]J@ ]4AXiJ 6}6NŤi vyr{Ofz±XwZ;u,CM9302dyqzpOn&= $]ym_ )愓CsD#-7߯nՑ$I)RaY ACq湁'!g p&r!hzbeXke~݊{^6v3W"A'^'Ā"‰$\ -c0G8 = 뛙IGZڏ Ӫ&,@yE21O;Uڏş':vӦ}4*!fyx~oZ-EPFۑN. rIs6;Mav_!)bbCHYcb'JOӰqӔ&h'}\KE}u8 3靰wafLpT4]ew) oHBK'/ϯ jqw!LE u1XȅsG3*M;ef;8:9^IENDB`9IDATHKlU~|ϡfK21Pd&dƋ<pL ơvI^'yк.V)bۅ _۽x) 4&褊T58|+n!=@4ÁWޢ=Ea?_I@FzI`0p3 "5ݼo6fg2>7dZr䮰3cHf.KNZ@ϰέ-nyh}a7Zk>I Azl^eω:yd f=*ƽ'&-GN@7?PFִ1qcd߅rȱ<# ýCgnBf} ?ïNҙ 8rccw/˿RQqλIENDB`Rg c[4:HxHPNG  IHDRw=bKGD pHYs  tIME  (63p#x#PNG  IHDRw=bKGD pHYs  tIME ;>2+x+PNG  IHDRw=bKGD pHYs  tIME :{1zxPNG  IHDRw=bKGD pHYs  tIME F*0X#x sb``p  $EWRlI. Ap品" 0kH{+m.n~c!@!׈ԼĒ̒ wO߀F>qnOkmP`pUl3f<`喊2|/1dzrBusV ^^mSΦbn[כ,"DjNam2\ W/sә}|r*d=p5Xß'Q_z) *pg>uIDATHO\esp/ô vH@E„FM[X4]ǒDuC$qS&bMbbLh%TJ̘dܹ302DX4qٜy=Rd8ed29i$ϟڢ N\krS3'}{ )KcL+IajDQ1Xjac? NN2՟ 4*`-pUEDZMvQD FK-l7:mX,@a%elD1DT,ThZwŰm("(" C+++uX\\K6燔޴20 NQ'k>r^CN$8Ӷ1rapp<ywWҹRvp<˲PU a>sssA(YXgq~x+S~/W߳l3K(}U677) A@u0$PT}0=aQ[?orE Y/L; ja|ddbHѠd2$k,[&3]]]r9jdD"A >J5J^7xo~koK3ʽҗZ;,vwwަhEQk]gc `Y{>x'0=:2x< F0 [vpÑ?OmjM=IENDB`pWE lIDATHo[U{79~MICJBH_@ ;$ĊJ !EPtHqۉ{ F !UlGxu%8 c)^*.~Z -沂S3\OiT8O/VlZݍw Ճ_t5Ʋ9Lh )Sg;x"@ 2$(xPK*AIdG˸f* 6D :1qn# yPa`AKlV"{۫@/O:i7;T*QoyEXza=5sg! ܿZߓFfO751(!F zT7hl#x%HGQD}]^G7k1AJrA.ëKsLGZ)2\>^'` ǁl•kwhni5ꄩ> >Q_?6vciA~!Oo *{x퀓GWuh(~?KLfpVĭ{4/.s RSy!f$ȉ,8_ebCZ6x,><K^#Wc,=Vw\:SRP=h6Y8P )GRLOγ|n3,<DQ.z8'-gyu:U8st ο?RŖ +4IENDB`<s IDATHKhUI23MIsiܨmFPjB"҅H^.DDi 1kmswLaEv~ysWl(<u{ֶf v qnMh+ k DVSm' `jDQ8j鹱3໾=IE⣬0\|  *8r$<?i0Ia@"` hV6XUD-VGܐ$<nktT Ze[`yjk}rl!T,`)PF%u'OW姏&8;7M&`36c?%&6sQ7OSDf&ٽ*Ƨg\ޕ pÅ;B aۢ~[6+l{-[,MGiԕ''X h] 5)q.B,csQ.|?IS<Уt_fV&z)*^mg& 9aRy]37Ki8Hlpba_ y b8)H*Y@`"j@@E0"Xjaɥc <ͺ`ꭏ727X"!AB܌xǙmL&:j[Ds3jYV$33F0A TYIH:p[>]d%@\$?A{SddS0KI /Nb<cSC,{m0_ǙB]e}_Yȳp``ϑ4/ƞg+i8NU{ oVh5Q 5?:L n{tzv=~<"NDdeMX_,:EQH[+sf`6eWCǎu'@HWP{a 8L~.rnڥsi 746|zDB5-fw!\)@C£8{SS.koÔ860Rz3{Xwe;sY& qT?H83>M /V |T 2CY $bly}McMC?H%p|-B,xxN@Xũz(iIJPr< ?f5ΫY$ q# QB! kj1u[_oG|Ir>b>wPea-*5vƲ13Q15DKDvCy'8tg#n Y UsIĉ8i粕d2.Ic{yǹ9<2?_s/䒿_H :;H$ljWX\j91YxMʶ8y{˳_"d~?@ϗXf`6 vw)NAvOvne3KP)]ap^}mkגɌP,B` RhB.6 ]cY1b1 0PUqg NC{n7φ3HP2pwwwڬUP pX:IENDB`?0 HH,5\xfPNG  IHDRw=bKGD pHYs  tIME  1z&IDATHՖYh\ewܙ;wܙ2IS.%$P}qCPAŇ""jZ}J(.]UkƤdLf ) R!o.ibwlwwwHsp6x b4MTU%j>a&U}( Ci꣢[ik_.DF^RF pC#L\N2`'W-<6 ]|L@G[aۙ`~~Sei*ct)[7XVuZ,,,L&@ AEQB^o3g0x؍4)8j<'"%^zVVI&\XF6?:iȧ'ﮬ,mx=(62Qlnn~ӾbtN~`L@S nfA!_s \CݰIENDB`E D7 x sb``p  $?ORlI. Ap品" 0kPו7?*B%%y% E%) % |@E.!$X{n߻+_qO#tHHH%y]ģ@ ~.g7Hs6j`x`PNG  IHDRw=bKGD pHYs  tIME  -׳tIDATHǵYl\ww}qfg۩Rb;%Jd좐" EPE$,VfqaeEPE@ 00L]gn736v illTYe?>+!tP! ++x`j3Ndr:"3VJXVʊvW̔~V{:ELTؼpwj4d2)>ҰDBκLRȡtwwhkkv DjQ;&x sb``p  $?ORlI. Ap品" 0kPו7o@!׈ԼĒ̒ wO߀F>q"sO o]I6nxxnМ3Lzt Xdƻ<6N|@w00xsJhe>cV:0x sb``p  $?ORlI. Ap品" 0kPו70`dkDs~nnj^ sQjbIjByfIo@x#8Pc ֞,hnW?=!)aFnuovpcACFUK=0xsJh!=OU9.x sb``p  $?ORlI. Ap品" 0kPו70|ˋ@!׈ԼĒ̒ wO߀F>q"O =7Xɯ_9yEAcǎWvӍ Pm1[AKGT) :_8Bx sb``p  $?ORlI. Ap品" 0kPו70KEdkDs~nnj^ sQjbIjByfIo@x#8PcO 7ꃾlLxr?rM+]9Ӂ;/9Ș6pMTv``X2_P ~.$A \04=\]?>x sb``p  $2X}֟0gz KF秕'28'*x&&TL*Jtq 8|aV)SP '66~7Tş5XWӰ_'"˫Hs1:#Zh:&,Oρs>jx sb``p  $2ܝ֝y 0%y0o?,,f`aFYs$%Xeԗۑ tq 8tnV i e 8lR8Rhά3UEJW J-fp!76NH]nOW?uN M.: i>Ki^C@x sb``p  $?ORAN ɼrؒ]'E8 <"Aa {+-66N-V2@!׈ԼĒ̒ wO߀F>q"sO :_%9EYkW3>deڸP0Y}@mK$^IVgAš"_`tsY ?aoBbx sb``p  $?ORAN ɼrؒ]'E8 <"Aa {+-66NuxordkDs~nnj^ sQjbIjByfIo@x#8Pċ;bB&toŸϫM*=s٣Lj%^rKF2xsJhGN]A>x sb``p  $?ORAN ɼrؒ]'E8 <"Aa {+-66N6B%%y% E%) % |@Ef.!$X$%h|hEThl6Y%o? t7t0ijF[-F#.) ?d]@>x sb``p  $2X}֟0gz KF秕'28'*x&&TL*Jtq 8|aV)SP '66~7Tsp~\ ʷ{{4o_S wctsY/O& CD 0x0PNG  IHDR7gAMA7tEXtSoftwareAdobe ImageReadyqe<IDAT(cπ2PKAyBS',aBq} V^1֧O+CAz}h_n-c(H|ߧX|Q ,a2yy4 /@SVjh l=']=K Tz\JZz_IENDB` I1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME !'1RIDAT8c`1Ok ).@7#/S+  !"".b Mr`K;@0g&Y 1GIENDB` Hb 3Ej x PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dtt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME !#8oQIDAT8c`1Ok ).@3#-S;  !""aŊ 06 @ň \^4`g&r 䱄#IENDB`%H 2Fh x PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F d lG\x sb``p  $2X}֟0gz KF秕'28'*x&&TL**tq 8|Q@c(s|#-o85]>?5m\[LAcCExmLK/dq+'v z W/Z) S03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FhIDATxA @ +׾#Dѓ{-!`W@0IZ=J)ar[K77KLa8ZDO@?`FAp~2IENDB`ÖZ] `HD MxM PNG  IHDRa pHYs  ~ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>CVcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxԑ 0CQ)I')t*HJ@rK_3@9*$4ρ)@ђX%-Mn~@gwr, t-Hy K(@W9j8'qeQ꿢IENDB`k: uu{Iz hxh PNG  IHDRa pHYs  ~ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" SgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FZIDATxڌJ@YzRy# lR~aLO}}2k=%+U=]AHȄ}˚ZNb(%hAޟв|{ҹ?)>GE6,o勵]y<_?n%+ͻWn>й ~.Iv3K2 x {PNG  IHDRa pHYs  ~ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, RJ( ?x? PNG  IHDRa pHYs  ~ OiCCPPhotoshop ICC profilexڝ!{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڌ1kPv2l{+d0TZkPZ1S KE@hLJc lYjIvLnyO{DUy,jv^O﫼;1?h4*JIpu ?Pn(J!័ʯسCooZP8eάe8^.]V/>&d8R{w %IENDB`#t ^M@KxKPNG  IHDRabKGD pHYs B(xtIME+UIDAT8k`o4IK9CnzEd< yAŋ$":\n&[%$Ox9}yoʅWّ AGWUX!ԝxao*H\,$| 7 iNL>GfѶ-o+i36C3L[kP\V}Fc}tZCמ t9m /7mEDXO6m2 }ځSFQ(H̞QYգpؑJ)>l²kϺzher|Hwꇹd*fVj H鋒gkh>X'Tǘfv})".sڮ_ 0p帔(זUos  @`@ֳ5 1IENDB`= CC9NvxYPNG  IHDRamIDAT8]_L[uǿwo\nl ,CSfaa AML|!’}3HQLD -ҍ!v` ̓<'''r1,I_TwYsٰJ>33I.vv's#a[(ی'ͱZdRj 23$Z|)lig{T*K(lllv{=ʮD[yeo)R)3RF,ڗ |'/v{2o=fj`ڽx޿8(֫g<+=}%AY@/? { 9|AM @G}tuu}>r.~WnJq+ ^wMӴXb* q.E>11AFFFp8i]B 54 nPa/Athr<y"X+ޘۂ(aYe"* c[s%9%kg_?9m˙i዗_^"v̜NMFAJ˜_f6e{n8atsY`[ B)%d,>5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F[IDATxTKLug`UZ JTДFS#zAc|%MLFZ4R.iuyÖ\hlWvޝ{2~1n/Nd2qpݛng @paKCDx0 Ӳ^<#088o}X[]~R8ޚ$[Zxׂ*.?^wblVc1ΒH&Yf2O##|GE` ;<Ĩ9(3xim\Xw2w=U?LL< UG_b:9hV&irlS ZI0ض^,8J Uز,d0X%+EBD7(D##I%]*Z܎p]4VWd#-T'9 [VmY9 #oSUU0 )AIndO>iZ*Y͍jkb#_A*P2Y fUtS˃iZ[^T&HHXo'DB@K:*+8@3q.!x2jln>߈#t7)Z  H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<D+ |M>Fm-S b`-X`˻{&Žyŋ=.3̜=P޿3= h Sы;I|yxwX@UH`+ _?y:q.[u   8=g薙WpY>Yj(W@58dKA ($ W7h~>![kܮmjXmܢڝaJ:E' S9#JLs$I1&Ɛ^&iCw@ey?#-z8P'02eL,239JO?(qx7 UIENDB`ѓlyrIDAT85IlTe}o,.LӖE  1/h*L&&ƻ^?.-Ua&'9sbo/2A!B*R׾/aho$. 9$H$)Yx36:JGMn;j5Wt@jjL"T,N B`it-kj.=ffKcZ`ʱo~%],CyҲ}qꕈisCїbbE|q{A)q픅<2C&Gi:'#p6xt`74AOA䃕4jm|ui۟σ{$q+<3ʹa#Tw~dy gQՙqw&|++w^\n^Cu0ٙBtsGi ~.iܣeNB>GBIE^C ˴hhzbTtHBnWfgN16 [7HP(`&!iE-Iw?.}\)]2 h{{KaH'MLNw/dV!>6?rxJ4[]ttrmcS{jko^f@@K~ubO,eOIP6( T@t;,Tz9U*g3ݝBl-+0Hz.Ͷ,+jȄe?oVYB l66TВ$IENDB`<b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڔ 6}qDMH=w_be<<13ຮ/ED{Y;S +p1FRuRż1ϜsI)UAZf`P LZ=  LŐ*dfކ8%`s~ $6Y4]} w׸X}4'IENDB`M} >>2Sh x `PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K& ||TmxmPNG  IHDRa4IDAT8uKle͍tzo2AF&EEBh[Z QD bD QLDqf01a1E2mNgLۙCgyf *6>c5W&#"hh-|<NB)4 ,XF{?yoG|ycK'4KnnA>c;sy$d/n^"L 8$ b4Gb6Y=iXU_Sstndi) "x@ @47=I\6::6C Ξt4]]ݬ4sgK ---DVG9y'*ʃooZ^50e۴y (*0}e"8ŧ`ͧ6m8;g.eI$7HR$g3,s;8l+?~z] $E`6E+|\tÇqVd\G.[-aݬm\=u`MVJdHd&wpc2l'v\FD*f4-U91)7E#i ~ʥ]bJC& 8 xboTf,y0 #i!dP$&㥏v2}\aIENDB`Q ##YU6x9PNG  IHDRabKGD pHYs  tIME  1f%tEXtCommentCreated with GIMPW.IDAT8-O[e9 -孼, t2lqY\v^y&&F?`bf|E324a+m)Жsx#~虥MJ5lA)D!@KB(/ b^@no}bvsZqB`"{<}A@aB?6C/"ٮ[Dg_f$v6R(֩ڤcQ%UlP(nb9 җr `aPGDBϜb<}Orw~;hf#M Q+Am.'_`goVwў<4G~,hFȥj)J(euuG ѐ1"ە7xcc6,Ŷƀ6u*MU} b\+!(> 5[>>|DO0N 93or.Xp?b'r@ogQ\<3$IENDB`> ::BVxPPNG  IHDRabKGD pHYs B(xtIME _lG!uj1 m"j)Uv½BhQhbI]^ 'I4'ݷ@וٝ<爵ZjL:ɂxt充L0>ÍiBEOX+(J++[x (Z VH8?@CSx>JČ ‘Muh||{RS@Qg7UIENDB`W ``Y<xT]L\E޹߽w.K, cRi,6u_\SMDhO!BjcI5 PH- ,ݻ{:KD79s朙9s9S]@>qqg,"kcҙv\޳񍗺:`7b/vwV1>T2Sypx_oo;Q'_HtwwG#.⤩< vi_y1K}P(dFGGdE6ĊlT٣6b3 #688x- ս<_UTT2EQY"\|G H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'Z:xPNG  IHDRabKGD pHYs B(xtIME ̵IDAT8c`66 _YwXimԭѕOIOa"͛Kq&lhh1X5w̜\2 bB  =cxk.HHh7nO_xDn|Ơ!3s6ܓ{= 22Z}5s&fvvF6{wo1]ỹϞ %cc 0aPec`bad];vrƂNdKYX[k,< 7/38rأ7m{e~ɉq2ܹs]/3ܸ/CW,;G0tv *-{ |X,}?щ$)i.C hGN\sIENDB`&{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME7O·3IDAT8mMHTQ!@2 ڵi*@j!f}m+*"1Mm2 Zb&)J3i{Z7ogsιWD]hpU1AoFG)Ş3xwuY(iiLO:%uM^lNj_Td{JthLf:ac"@Oo68LƦ'iiH3$r7)zF~dsZ&~?BT_47;E*Po"^U5fo`)ѱՈ!Pb.S,Px}`U&@kPXWP:q֬:^^fw%m t-8Ie%Z/PJC odu :(Ǻ|di'ܸ5;?Pޢ{ E?-pt1)DA K\OOyy+?  EYV$ b",KIᔝL Y) ^@%&H^(XP5IENDB`^=c5|KlHVA KdK /" a+ܠ&I7fdMS}}lkuMY 6SY:i4iܽ2 [&jLZ99}M5 F ˣ͘PO9w j&<L2I(Llr B;B)4ašST\&~tf3tF }:NmH8|2Th?q|[wq)ک #V+4[BɂĤ7gxk$X>-~)L7`*>. S?H'h__ i|a5D;0__7=q'߇k\ER}Uifpv[Z~hL='N5ǽ7)44aNzP]uxݵXaxY&a'#ak-(}- zB C;5:ej}}BOa =y4f u/0P_r(;s̹*> E?ܰ'VN0:W3{Ŵ,E2 )CWUXOѓ=L\y1iM]f0, sЅ~.俲6;= F0^J5nEUG 2(&lo70io?^?YCZ]<{"}^7NO,Ec+ kj|Ђ;k&771%yjsbOT^B~SC=(] OT72텭H5[J!"S[I6ԛ "}C`)Ԟgx#ao#rM/%?#V b;X&bH)7w:SYOi-&^o#/-oSRPw7-5ZwbCIde;]Az'f1LQwF0`(Oj ?FGGEX;csVe4uYZ_UyXWcc;z _gGvO{U*;5Y؅MqYf :xRjuibe"_xqR#msд0"fQ`4o]h}I.tH'TF&B)|)9}Ymiߝ'0#oZV#3_cnR_p>};bQ)Њ9nee;ӋfzB)T\$/>ý?RN8h0w:e}a@;}il͕=HfƋSԄ͵2iFf$(za͈W:&r/ R|4|YexpMߙL⋽iӃA9$ EɊ4j!"+|~hM̲`- cmaK}Keܫ45:Y^D$x~v#zi Ć嵐1aз;`dtײ\tO ;!N۽beǍE6(rF0vkgùN-1cxn)ޣI(.H4LdD͡jь5IqBVI+oD(d gC~. ʑ'U/A935=Tp>J%a ؃eKv\_*o8Op'oVD.0{s';ϯm# BzA|##a/71=;}Bx.qB TIQhzS{_DC m[(2@Χ*/eex[+, Uq8[uCY౉J3RsEK$942d?d?4 r>a6)U1eԜ_+![w[wE˜Kmh,K` =y 'K@qU[1'pI;8g!|8EX@MGf(w Qx{k6+N ю ,{2g:-#0EHp,+ES(=irdz,%5 nxt~mN1€(ܧ7{/ 3ٿCnWCK\Vcs-3|[O:0Q5K 3Jg bd]Pfg7ѫrW[cq$tsG\vG]ٽa]Ke؜`y]n h Z8>([W*fqq 9bv, :{0:tk"VO|>ן,iGu9DCބߞou.^TJ6+'ai0ţYsмDB[7cbWs.yr5xqwz/f@pɆpS2v:C*P'SA=G\ǁjr揿Kpw##aʓUԆDW> 6z"I$vD+ P-`,hۀ6J2c˥Nwpț>:Wg,%zTTT!}m&dml |` gٙynڽaɵfH]7d.gm l|ma^|5N$Ȃ>yjk>ʱ T/ڽQس40K\_sVc\.2aeg="IއZ J/B?!&&xzjgVB_!0Y05 3)&x|)NhRǎʝ%i+`?R֞O gCk0k&3iWByFqO|祒 6|C=\u#囝 : |@. k v|@ ~WEFjQfyLncZ8uLݹnlMSZH.`.t@e .!r+(+dRq"!FM@MYhR|l13 LЮo*\hWpxrlX:%A+ÎYˆOoɿDA#^r4LEBx$Ɋ5&d[!\R ar!d4aq7>Qpm' VyDn0hxpF# aNdVQ\񉩧ތC:#Y D +I= fQ@%!kdm.P~m=duKjpڝ@Q:LOCmvTR'+c RYr&X}nGpnoRpPK`Zh.*>JV.k%W?F3.fB `g}}y uן?0Fpy#CMr }ߥb-" |'ŽFtAzkV<|v9tX8"dO1?!)|xTI|(K hSgfsW3as흔Kp]l_,aQnA}?(5>LtAL f9X#hnUa;p[ ր*;iȁXdJBtQg{ԒR轁cST!ӉpF 0v`D)Da$xF!9\_[okъCXOc6`$TH-j"IiPes;-_~e YX c,Mwh01=eYzP-4m=D/u3Z_GA}!{RD~=YfG-j| ӑ|K^CD=.`zeLlhXp_J<B)tD;oN;tv4%?;ZB B hiSEFMl̆<{fVm',)uq-9 wHؓ#<\|94.v2ʐ5ԐZ aԅE %qڜN-!-Ϙ[x&CҾ5? u繞Cէ;?{bq7*o5IB% {ɘ!k|lR9czW=W*cC;Gs BZOo[2QFJ}fD̷ e8dj_p;=`ߣE7^oxoAk!/d\%ϋ,7wH?~Gt /[ l[A'm}Qߑ۰IlZ/р &B>t{[1֒xFm~h՛Nwʬ4Z#8[@% :轍+Ŷ[w;<&ϻj?j Ji8baX'!!f/ ʰm$W]+=̩z?::tb+#1evGO}<=5vGS:ڑi4mr ]}Վl9?Q?Í^:~Ǧo':[, Jtin`[N)ZY.Ht ']aF [)ǘ"*+D͙0)K;sRl=4$xۈߖfDŽHB=d }gU܎Z8_ 𻖉% \fЖ!tT[ c:/qK Q6[[PzvFRl#ޓ%(J(j䯮RK$mF|,k'^i'/RȠDބJPQV_Wms\M~ Ζ?mKKG}M}2KGVح 7<ăKwI ezsL@=Xyp*`UHF:ЏB r6aǶ 65ٸ?=*MbN*)%9I}lߺe؃~t;duqcH06yX:E#3R=xlܑ6Q61G/RTW% ᏌwGm=˵1D &/WB@4n/BU joyUĀPpVZ|1nF1'-Ոk/>`]-_ll+L .CڙYso2VVARzI׹>*|*& LjtbH gr~ֳnL鱜-/V@sgh.wH}YuoP5|(?Ҏ?Fzsw}4j/ 6RhRX%* hEN:#;=4UU/hj)T,C* !L0+P>g2V]P)HoDWq,n胓o@drNvt]ܺm 3<9Dĉ>٬e1(zoJ3:,aV/ʭ:3SbR|ڗZz6?/ŵFs^}k-cBRhq`[ 7h$n.ED룑Ơz;'DD^911%'$ =َE& 7aU]~epzBe! X2s}Fr*SY`5wp(:bKt3 e&nܪ ?=?5ZA.Jd o *V`_ J"(\az =!)^utqBpN>xt0^3yO7wO cg`v:g.=cw KDΔ2&8x <eE\0Ɏ$*܇6w" Bh]s1v\\v²k5,R1z;Xz-D͜˩G|LDI%Qa,Ld~ZCn-0ŸXQ%)#JDRG}ZV).**IKWB Jk/GEDxwm6u<97@gIbUJȥ)~.m'<#dQ%'#Jz $ԯJJ? _sk71oƗMj #=\y=/ J|9hK-dφ赘>.)}  xsY(p|\HʯWcQ?ۦ/8_޿Uxz_kʔp[}˕sH>[lzu9 Q~/a o|rF}d o*<΄gp3T  t( sZ!1ZąшQzE[pq\^?夽6fs JH%s~Mo-O7C~١?YhQB-! k'Ա!D~esaZ'd6!mB Oio]i9dSkHLM{~rFng"N}>S*?_:k \W<(hjw20a4У8';S ecGK:1{囐9˂ͷSG[BPgC^ap‰9\`+4+ rW@G~Q+D|6G@J2L ǀCEʅtg7['0+SF1ACG/ٍr K{c#䶻$MZGzCBTt~hi>4ddpbT5{ 7 ؄?V:r  5ɃWLqB572gVcH5a 7ewzC@BOL\:n)M 7% c}Z66okKo=wL"zhh& ߏpuICOұ~/l/ !hh}Ui̗3AX]z0XԭJyC#Mt SJjiV)(' !XQ25ݬC(\&8{U!glĤ]HW`򥟉ҨwbsinF{;L_˓\nXzrp//7ܵ+zUVI[,UK4.ųGL&۲N#X?H<ْٓ-?hR\Y.aՍ"A'14\3~5"Մ״ϔEt*Hds̓XSoNsV%$蝞/Tzn]O,_ϵ.AKrt\歉?a ?umg .H{ _+]OjP2%,6^6+WSC˗yoB:l}/iHz&v (HjdWEz!pG,[u@jaߞa_:0\vKB|=I89Z9.hO9ٳl~͏~c\In[?/UkXm-M.e(@ucsGn?53xG^:֡r{ Ǐ g Sn Q$,^Ѯp?O[I9q%x0pXQRJrb9gv[24w(Cw-g!m`3x#u,PKXNs,$ef_xtW$% ]"C~f`\H=$o)J]cSyޮVJ><PGL+bb3Y@/Bļp؍E6)].]XeN@yt/ ~Z!]%\$jW`խx= ڟҖzBј$3Q0D[,~]gYiNd$)71TΙNL%#ɐLqᮣJsyp"5ԢedU){:b>@t;r/b-2k+$^^I(EjIY0/R[Ç^T?7a(2y.Rj-t(FӢ,a]ƓCڨT֔D SM>։*1Z+ed(rpBr UK' ?n۳S2!k[~HSES4CC+q?G4|!r[~. ;빟/Pn+n;kϞS{u `E qVN<̨71C%_)+ַ[ 1b@DܦB&xJ"/4_'Qu:ft_S1 `O @(-^B4LTw+GL߇ Q OB}x"8*ʗbKJb;*b(mǖZ^̵& X 9윔'Bm&Lo8BFU>A,Y="Y\VѝC_KI8z[oin <js1/H3)KX!9O-~%z4Qi x-aN="=x.BvqJBeQ7k\J/r'wJlϲw??rD漡hRQV 7s/ʗ]\$' 3UC?rOf(@f)-[\4!u2ڹ<ۂwK/JAԸ> L*.y?& %YyjBDSǒl_ɥ*/s NZ۳fN=Xc@;{ ݿ'>(;ݷA+ u7~j=]Jp ZGBkBM^Iڬ^ӆh-zQ^"~)rxvD3ikBCA(#ߦdTŧ+|cF ?0Wu".zc#HnCoqahf %i1K{PDl8Ch J.7Ca(':P0¤n) togzuQv2 r)՝ot搉G4/CYB>~M1Pe}WB%\mAbwˑ@ IޢQZ&G'Mǎ~kHh؊J*8A}l]YN/(a+l +A3iGBw帎Y:􊑘`~'< | ;uoLyA@sqhWED^ƜNLJ;W|Hɹ ߤ} QuS|Ak˘3<~; Aւo^fUgcgMby$V<ޑOD&7l?].DD_GmVf&sѝĘЦe[>v?CE'GTa˔2c)FGJVb)'SY(#[M&U; ziGs[t}sD9DZ#{fb֠h7;ԐR^7;36XDF" $ {>_Bnmm0.뻔bv7.x\3aky&53ܒ!jىH!"lZN1jJUe̜$6̷96`v46#5 YtB|i3Ѳok2Jr_hsX&bQl}'m^qPܑ a.JF8(O^۝h32 e4ѧx/\ZƲO_X/dlȧPƗ՝ML]KrA._нa1#e+֠"Ka#, JRN>/PM^ $`=1Gf?^ZFĝ&ACqz_1^D>@qxAP\әu0V+mR]v&MlC#8s"T{qhTc&7sI.B0m\NOQ "T|#}L3~|d$/oIG ߖ6#MeòzID UIi!k>,TӉ%fDMf(#1EM蝚m ;=йTIi,0Q^]2!wC1.]k*P>0SK{C\uбxpazzvPEfÍ"2BQ)M͖ U`^=gcy.l2 h %s܌yi%}v-Ja S~|\ms>)U'؈Q)y=k\]-``JZ #q*a}RBKңG^). 0:ʫ#0_ȵ33~aK,f+ *ʶ;H)Y!Lf2co#)(/Ss(f{$@ ЖR%g72^ KA3w.nLjS2¤7TTI`iO6/i'dĿ '˻ 0f:;.rţ2tx-F"Y}D.a׌-k-EEL%Q"C \gWȠ-Bu^H gF2U 6Z|sTg_AbZ &25~#;,1_AUn2P^,szf2ht9;o^>49gݗzZMʹ(Yû)ɻ`IH*ow>(c^py &1muËIJfXEf)6\mEA(wKo2$Tc(dI^0hYȿxSݑݙzW0r#ݾ ZQ$~fT*n#!y}R脘hh^CarREp 0ж):XF>ܙaPGo1a|a*R`w RIZk h T.֯MVJ\)淟ي&R^X3琱ز@{SA #3TQƯDRAv+ ÈXY\jnefNI. gV rwck(*ڕ%E_dgdB'C]pݓ2DjHe}u3c [.0~x&%\|s}wt}+ +mŶm۶S1*m۶m;sYs}͹8ھMw>{zgÎ@[Ms;f`gQ&'8śSJ$v ~{`/743U \UX'7^짦rmnԡPI\P(Q="6NV7 ;JϪ^NdA/O&EB aתjь74ԐM2;37VFPR)JV8nnRmO@+%j4+X{%%{4'upi/^I-?(  ̱m_z@ƀ/23!1$҆/Aud_ĚꝷyDKԞ\{l`#SԷG,W,^THGaoƄ{o'~g<9Y0lE :J/8T5i5ut3=62<0CgȾѝrl'k _4`kJfP-ҁ%qB)"P?GJ@?呵9~h<;KZ)\5)(yEgG)}x='$C .Zk\h?6OvƑd);F׍fgĕT8[-Tm<*ޯC6& oB[y[KH(|=Hс*{Dz9lَLVOɒVRT8_6,ύT:ApɵnBVE1çWa 6܅y٥/oD tIJq϶qզA#UE pOcaEasbja3o7 Ua_Dlq)9mQw?3҃>y3K>!5m<2G}5h}Vв<%$? 3TjX'2fzop׸ Gp0w)* P:  &K_o-R2e@[w81܇!v"WXnPJr4]0z]˶cqSӹtV( *Hoݠ|B*NĬKSCj'WAD)-kwx:7̶KV|+}c F9rlI:I=9%L&".rO}98Cڪh H 9W4:j5BT] ac,Ne5ˬq̏F"͘Щu@@SLwBxG!&嚺PJ}t)Jm)*%Fr̻;=xU2g1 ߓJ#e&tTha!\"M$Aq7d?#Q:}? }%.bׄ_SԱt;($X-u{^Wхn/N\90\=w˪A+2%\#l_w's%dCbx\TĄYk#n߻X9-balPA4cr,z^"IJ?4rx iga'FȌmNЂvR9 gX+ԺXP*&~7@R 'TEP (k$Uzlx|źߒO X(l8RI>{0/0(yԥg#,5UEWgK{NMHEr眒 Yg*,&TiWi!K]"&@ DĺH2lan+,34M"_n^d@l?݉jSV0}9w] %7:A1f@/E\NlCa&'f6K\$mV~A- +)Fj7gWj.% ߝ.Tu"4WىJyZ<3P 5RrRO.+ 0/&An6%! 6XUK+INdd32C$b9ay>(ZYdUI:"ϐ^8|sњ\ym㪢$ 'b+=8Y,5B( &("̚:@_AVd.E"m럜4˶:sY8TJ=!¹4r%S}wMp=tyuf#.P=)6{^sv3C[FbF6 rTO uŶ ߵcq{ ư!- ^ݱ_7GRH;z}x3YW t@gyf b8 ]&N&h4)Ĝ[j/fdco"9ʅ%S|t3k2|= ' 5R8LS6ˈjz]Ůc^5nD׵ۄ]J U @[@j(& t$bO qXPPI s i <_^%{һ5q^G퇌ϡ%ZO gj]10t_87:qD-'%Z"&5v)'lct^ 2"2l?:Y .k/âs:΋TXUpc! svj< gi^Djd NsۢS{$7|B[*,"DL wٮ?I!_1KJ&ٯ)cJvZ(^Q yՉp} 'ڙpid1jHTTV(Y+PdɛeS\wM-" /+2wRD$M~h%׀> )#ڄ^F} CC9.&O"tn1nxAEeQ3?mN7=;mn>CP(,$swzEÚGz;ӒyV&c24:xHFӞ:&XF'8W,Ul16ʓUxADtTr⥥ ̸IR'?k8Z+4Qyju"Ԩ(o1itD:bUA ޥYhd{_* + *5ۖ㷽^V1 I)C߼fe޸2MBf=Pe1nw\ 3:GQ$oU9<3AB67rp2![ ˛Co`b9[_n(=BVӐB U coe#.ҝڎ jV7L?0QDr]Oh]Y=&VDC$rMÎ].ˣVE Z@.v;ﭖ9:FjSnD'{T;Yz<}dk,,=/WO TϛT:Ln.1 f1] 5n+av*HzKB*U뎹&+[O# 5!iQrq<&~C}{51{yb;jBu[ $#N*<UgZ(LGG2uQ6' <@(TG$Q@Wtl.= mÛAZHbUЉI8fi?22&DcP@YUazv 1\) 4 RVp347fEEhjf3HrQM#Y2iZCwL>ff~mƟ--U=MfJEClf,frC>:V;=TńdFWw-h:S-MIXm_Du/ b8n-E?X7嵟Z/<.ԝawPaW{ḁ)M3׃5h(}>FPVϑVoI9RJ<Ȱ1rn턩s'+m33$ >ͣ[x^2Ri1zH h2 *qn·j(Ra! *yPx(W뗣FoN}kxxJ IyN锂HhIղ]A@ӽA2anZ`UV_u[F#6bavlvK&>+*&2=?1ʊ;纂/WU;G6;RC<.WF^qnqڡjnKCchMR|J,Gw P"#c0V*ӣ(AO:PqJ3]2۞ૃU]\D}K)kQ@ycZTFQăMxDҹZ Ɲ`Wt7loD2wd/t4<o}(y&rRmażO6TfohaXǓ-/c5EVyu `jhnTڛ<_G/6~l4A9adoQUH.޺ZAՋ9Ss8%SlSn,z1cRէ3!f^xWsYlf&/b{; D j1EK6;3qƾXz8%UN`2`EV)1àbT]RʼX;5S݌F1?u2-3+hځp +?b֭Z›\d+h_ yѿh/-P5uiFv/?F4ʘ\`|\""Q足-J`RU~,2һdo9ȹIILcM~CMccik*HcώQ+A4ݫ-15Ie 6gTC=IX ׌6/$$ۄxzUy8\e[zVSZ ;WԸ i2B6,$#hMXDu)CaR:٬0ysNI ;U6}OLB̿SbWJ!jEdElv{i:{K9ln։טN^VdrlI'u{p^]\  n '1uAm_eOժ/vCfu9[nk'BzJ4$Dqyo29YFP ;\o(/zNG,;bl >QtspS0WG F k9a#$pq7s"|bЅ[h(PB, 7n&:B3ߋN B;QT-^|="YsRӷvcgoB6jeS*kO=Dlo.45ld6nj/n~O$Y+6D2\JvbN6H< LCQ)n(^L7^,A4 ȒPzme]ː~|#ͩp]CH%}\< 9S@jvݓF/ x%:6&1x[f8ճ ݻ?`+U.zhv@7-0ghu-"w5H_)ޫ ~R۩(g<ǁ FaPL-MDN=LˀKSaR-=2tmַړR1k򸘸1tb}#zNg& AG cr50fWi5̙clW0c>?:iPKcGԞb( g&2o=3 [^ՏuX;HP(d$CNK2FSDee#a;߈Hg{{̦ngǽZ. Nn V"Y(#m >of,6Q5#d&6u0+YQ_Wm cl!L`lwhVMPuu NdLSQt]|ްtRlK*ASBw)b \qIJvtS⮚=+ m-JqR WKe{^%o81h&cseI1@SG_%d"pA}cWmDxmظ2*t1˽H Y3$EJGz$Y(^f|J]#S|0-|BG!M*TtdL#U}Y *{ROn}wyonIY@J^Dؠ}c SK(54@'2'K3], 2qm܎uvl^Tѻʊs\: ';$ 30u{xB4iAѠ(^ʬ-S"3ifW ͈Yʦ(1ZK~ Xr-!?};bs5kr3',Tb9&##dt{%ԓ.쀕'z؉~4`{7_8NLɩEm q։y{ (re6"7XAnz ~FZ4)bt +XQ .y!u}ivO/N?T]-w[O E[L 7&K Cq9M4ǭ۾N~fl6-VR1#;( 2#sC˔ "i͘%tREl2щ˛c+h"wrT NqȀ >*5h9M^Ք6Y ᎙rYJG@_PXv븪=&e'#oX4Fhmօ<\%^x8P^iu ȶӨ}N` jή-@Ff_cςXaOqFǞ ǮfC%_'B JRkwsHA/瑱5B]nCz-wt*,f |P9*CTqB](9=sf._vY=M)C9̒u_JF$}*CB.Ƅa_1MbnHws >ǼT55^@D}7 R,L.[l}h TWS%Vit60cBcY봁k};1D kit`$ GrUTx' Rܑ=VfTi >Jn:-CDo:t 0eiNh~[騗@L{AGH0U2W ŕի"oe(yPkg +*&q0}WE'z|`\NYfwDnΤl3D@mWϗ1֏UXxCC#Yn". GC^ ֝uH}r& ݎXR aweVF,mq7$θ+EH$?>J`"d姗Ү_8e2-sjSinβ]cf:UTIYM7k.yd(_!u0bH';:ʪ=yz1m1qB~UшN92u&ư]53M(O3zYmZ!ݑ#us97b'3f[prU=T"]HS\\g0,a0|\['^0b0(ɝt⎌lUǢp~!˰ ɑNXpIG2?ǘ fK[cFDb8́E)EM],jy\Ds'MO|V,RNIHV<dz>Ov*ZmdOC7Fjy9(E^՞6az"aY2*TfRаG%QBmUN#;0Qs3.ib*>K(`·b7*4 pT35F#Q?_]V91_0TGQp^ٿ,!jv1oksW#kT[Xg'nر4w[ MDHfiK^N2C<2,&SPVUJ$BhH(3, ',.rGK'G DnUCܓٱMTnEAj.FћQ3HosSbZ8&9#])$橖K~~2 i0&N_ 3{ó\/P376kSmaGzadnc6l{G:,{n4}[fld(XەoSA+‹=j6M,t Ї: ϩJWL 7DŸFv 1+~wTº*76*qލtёi }mOs<3}YZcfF@6q mym%$=#*C!:&z SҰMQGn.: Lw(Grء<7bs3NIP|Mi˓=ဓ.J.Ϋ R˔e\TX Tmn|p^Δ Ԟhk= 8K'U]dzcKȍuE!x+ p!pg"E)dSRwC# R.슻T]'dnT] ⩡D1C?YvE/㊯r7 b֥nݬy^:qT3 SuT.Me@䢷Y܃D-I$e1rff/K"KG8=zTn)/ɏ?Y%O+~rZB/229ADBHӗ\;UlDϯuBMtM}!&'z^D u'b:T|tNj`72pa!afA(63G>inPNhs_ųtf !!Bk̼c^{SSrSrTAE|Ǚ2s |G~ƒw%39/}J9(%'Q&gq@=:0c;2p ez (>[t#[P&`쪚hz*Y]_R6Zeaw R|`4wd',!*ejK] .r8̑1>[5-Kz/'g8yȝ]rGseXb91M~x4~e\H+aA 2_FC殤ٷЯJ{^bb&b!3dO -lnq-Ӑsu(5bI/*2;W0w^7,WAo %5eWe A^ ԏ%OQkJ=3+S\HKU+T}q雤,&ܺr=?$bhl:5rڸ&??P{ Tg2,׈_<5#W|ʘ<  K&%L'@w=++TKb*jϕg.+aHi_?G#PC]}rRX&+HBN7~t*nRukC.g֬6n? RXSkyφvo9+ Gi[U Cֹ~Hsz>Bꬖɠ`.*Fcv9BK5Y[eԍ`tB+!RY uwB(0t<6m_&!h@ȶ3nX߯vrU 0QdڈgCOm<&ywUXX@^P[\}d_’@:~ZpTZ(i-6qivQq_ ꘽b.U>I~LF\cG#6m `/0 zI3ʫ ^RY]-, ܩfo r;\b, G9昬V\JI/talX3#-;0Fd7-Fc%|+Pqͼ*Zu)[5X~[Jj)+n޲N'ݜ3ͻ4++a?e9;"ĪqQHI`Ŏ uP0L*'^j2}7MrkQC+U *EIN*( 6\]ö RWYn QSfNXQ}u'-R*ɔnߞW Ootg|C X6jW0r[׿`^zϤEBmi ^ֳ"Elnަ/P6.6OJDڶ~9zw:Ģ<{!6F+, z]}T~?ӷaP-8[[W /,5lVy3$EgmjU _sutLf+pLN4,`YeU\a嬵#?unD JD~\=hH=1I",|m˻f0i)I@Zn*h<gԜQPs)gmFW.;;2 !`/ۿ;ˉzOgCC%:ɔFB`Sl>ǛI\/G 2'*|)O:FSO&etOGx0SV{4S" *("a5&2% RrzQ~<n -ͿcCɄȥD;U onG|xZGext8$O[A="|wB<k]h^VOn/Îܝy$ }L<[ &_ԮY$u@jG҂F(b6#er|W{( s>4D%#=0~Ȼ/<+;@O˃q+/޺gƭgdaT (*ԙk={' ps) R"a<#| F5b~;JF++_ՊeH<A2#<А#73 \MY2X 8?^D-? y fձ!.UwJN?$8 |d?  Sj"Dk_W.\Hm L'3 mVl$ oV߁phh}<`$d=ӦցsWɗT.Ȼpȶ?l+m^PSh"B|Q 5t,'}6VI;3hsRI?LŔn\~P3i3eOtӑA ?&rK/">nEQ 'Βi xxII7^_߇{mGZO 3 _DoY/si& Z `><m^/i #Z>٧T$<C1şMebMl?#"'RC;߭,G'%Xh=7m4p?C /*;%xB: )Dw>18O*:>()'-6b8u .k#Xrs:8p?#Eh/S HQٟR%a Á@miY`-}щl$wx \myFwM-5SD0*UzqZ`1F0d=҇vn5yRa=gCذإ? C |jr  ^z>W馊50kX&^lP-\dsOc0ci{uF;B񤘚$ӂ,4Uja֭:9@~` g[{A; ʊJ+9‰fjtGBÁǧ_=DK©YC3ѷޝe;;rԩPGC6G "L/#% kw;b|(+rcET/C)*+RCjp/*1mNclpGR/oi5x\X*58BW[RuwY[b ۍ=gx4Dr;o<(h<3au? *=4IS_8ޒRJ49Ǿ*b+Pvh c,3_d7D?̝pvZb(>}p ԎZRZuD8#nIfC.Ċ'qm@YBϱa~Ryu̩ ݹER>pk%m7Lj-'L t<{ĒqQ;([7e}Pyȑqwƕ kC'*} G]":Z`ACIz7calBߑpZ߀G=gJo0$9h92*h~Opb9;J F,`2[Ro؏''v[?^+w߀$5tv.5QiC( /Q\/| ǦH sfI ~#&|&quk'XŅS Y%LͷDH$v{z;tI[qy=26ԫshkٲV(D9 U__Hc*Ŕ QP}?)8A5^m295 )p@Y{?Z mq0))- R >1F'nldÎm,L#gVn"GU=iY-0YU&$?N9 {Bp;4uԵ%vo {e.D7 YQbH~pfFnXaݼg=HǚEB-v7J(oa$ōD<Ք^~j1p I"u?P",U M8W ӵDaT/Z;WhE,o5 hj `]~<|90ς&ADV I9fWMA/B</g<'PM&3;jen*Tcec% 'Q>[>5vٰ0/IA(P VP.u71.XPhpU?zTs j=Ț+z<:ebfn IdFhéqmuSˌwQA@Fz,O WoDKc+뫐#' ֭ /7,%}%IFEy=^LĿC@j"$_}O;­d7{NŶ/ pv_-Fjpn?O*v,G"4vƠ JMťh)EQI^Z~v>2}c@cyM>:~No&wsF"3z(% "PdRŚkJ_YfwgR 4X8ZϭOz?6v45OwcUHuSoӇOuo6&|&뱳~_\>VtzxM/sJgw 5#5,2cR{G톍#BVn2{~@E50я#x0tRW[{؍?=2 w󢯫'[h4Oe^jwyE9>օR1+ށy4zf&cbdQ%z<̚H58|{03 A/)D~ ԅ'PE[ZSk7Ps i'<Q!q]A 5֊pP wl V Vg͞3ZX[c践9 nR†NA1BY|rDᱚ dq#^)E\h廾z,T4knIJqw^3Spǁ[_ެdcʥӸ_;zBLn1۴ 千'xB43nKG[@S=zU6Й_at2qH7>4t/d,SOD 5wV uO3#$m#ȩnp'9n2joE:rkV[{Y+"]s!mଅZS] \:$WO hÿgZP_}?q!=sYNR]#׏fXBT9V"^cCbp~$Ws#c~l^*K[5E)Gcf}j5f/Jq_Xs,ws.rstIxXRRn~.tcTU(9v +&nT niv0!?/<)[n7Y]6CA=90pD}DH&f D7〝R)Ãl>ۑAeMbc'?> A ƆaJ;7ǝRgC<4:mZԗMй,Gjq*܎Koo S&+ӏ]M#sfb!MBQI<v$ӖԎ Ҹ>R]~N%;qc^^Ly1(^30*Q£#@<%YK y+$$CZb&ԽEX%񫿍ٸ[9Rf1?#>7)cڃ4FA7RI^꿹Yysb]$C-m?xr~Z^͑8:"JePE)9:³_Kg:{Vrܯj@ŐttO54 ÔBOcE`CXUCuc4!6ll&CJ高l@Aa08<؀ u5"u@ tW.xQ rrmƛ)-ɬtg]ذ$D>a#C8Zɤ2~FQs3;GK7ɉnkQEZ \U'l GB8.] gMf-Y^^ێuH7;a#8bstkmMD!7.+8L-tvz>~p}~ϡX>l IK[ۮoU6uزZ 0l|_% )=C7{m4-'08+sh5ʺ^P%oBP 7Umf%kqj8#OKxكT.fGLi1ja _&ɡ(~ُD?,>ɉfw|&xXeSȤ&1^ Aq9xiVXE<εᦍC\z b`*%pڡ|.)v1?";U5sv Ʌ&c yˇƵѠ$vu M&sQopsNzaՇj8[y#f]%Ӎnꋾv1fcz{-: X0m[1 BmP?4cb=EC疤;$7d6N(H$ffS蕓z,M5jJhגi kt5!ZGP*2EtҨ]hV5!E>UK _*ڔ- aO/w!:7o9Yw<-^/z˗lŞ2x-Qpܲa%vxKg귩R76ƈޖςNdNІ87jd.1 uv ZUo6H1HqUikd*ծ:+!n :NHf 7O`BZ 7C#E~;72rSҼ&qsƒR4;?7g>sk\ qp>d1RQ>|}A'"E+yI U^Pe(,;ۅeK`Me'{UJTSgm\l>:P߃5Tywq17t^F󥣓"u$8V_yKp<x-܌'7^3Vg!wvQ™zE*u9H*CdZP~U/ϵ$yo1@S^-5n\- . &0%q v?ZZ uTgDmod^$Ce?m2|>9cMYt6AA@j'ox-(`*~(ۅeXdJJvn, AR aC˞E/˦ǡs.Ki$;BG0Y8yGCGCLNZ?Ϣwc(b,~v/'}> IDATG Þ%̸A4SZ{ǙOaˊmXCUmm \x<\0cE0cK 0I!)lh2Sh7-`.&M;xjTNF740 f4Tuq4QEjCM;5S}|H1іpXgu3Qc2]9TkCCaR 1Vac2vWAfφA~~Sg=>[pFMџrPy{O}'Zz f/BR\pfڿb4C3&$dFrGm+Q8F<|Ct|;R5]&gu*P*:`U^H~.mJtdIœ5Tڇ_QSnjU4KB5$`MdQ3I z(EPwE* Sbpy>TF闺R+"j=P=ITf ZFkڷ-3Tޖ^$J(\5 B9r  ^-6 CX3'Xn9d916 F ʲoW.š'U%.u+o]|5˝Lx]>g9bdГ܋ϡ!JOw#Y v#1Bˏg(|?yzp$uO=(uw-nTxMA_X6!Ɏn·[w[Јpvңu \h,!hcDIldIv$Jx{=OMj ײ![7ALݦ `Y@"fd-DzV$p};-%.OH ($[ pv{8Yl\c<[`Zؙ3#ΰ SzkSeCSb`4qPw*JOk1| s%By(adjzt4'Dv {JGbcpxi_Fڻqgqi;xe8^ւ^FWeDc޾7I̻N;ޏx;QWa/^hoƺyqx'U'0ȴ4%ŁgBLg;*@dQ%L<>zׯ zm6puHHSRIJp)LUu-8U]Wa}s`?UATWR|/Q5RNSRw\`/|zWw}'=^'8`K s,<vM}Q SmLEqi~|9p"4'cuF'M *-&GC*U5&}O'O'5G缭 0RWvd%0x< .40ȏ7GQlro㍨8xcڽ4  ~uigPw77ƹǷ"69`W]=I(d\+ 3[MOѳ`eK@u?{_=N(*džގxk1-w3^^y:ijۊb?ϣM8^)(ީ+'gbUArs<uJ&U˦4+"KZjI[.&o4:΀fśP?S*]ﻁ6l8=84x-/|;F7+~q od^`o0:- e'pzH3(j-G`1y!+憅?!e2Iz,'ouKB8Vjwhv>)ϾCؼ:W3GWiݷ-kӷc8rJ 37"Xyϴrjpwa4+l6xmT$?ja 26C5<f|v0Um*L@rH"DaDa^V)Q;:s"Rz/^~/(AE {w,T߉X\9Nځy({ ًlENg }/av9k=Hf&$AłEK[Z(mH<@BH df2d=kIa~6};{=N!7[ᄆSObjFURڢ2he7(&$`^BX+ȇpcӐ[m?֦Qau)H#};<>|"w."YGphhop+^~Ҕiq1Uzſjg7)cy,?˽B;_jP1k嘈KG][*jNИџ%gOfW`|Xg[naf\_YRe:G@#=y4 4\Rڬih+){ESug5;/7G=ɪ2@Hԧ>t8\W^ޗ4ܤrhtHHquC:irEmZI#&W_pX6w wtiROw&$/x m~/:jm(4+xxX0mrOs䍚gl']u>3uujP8^79E7GW>D t(t( $Tu]~K~)6)Eqn2e*0:\ ]Is@5nX3@?~~z[u%:4?c<8g? љE 9vFxܾ3NuΤgt'JS̝ }p;\vۻyMA=/yd$Ц:[tb }zߡ77񓭱@!m7ib(`N֝uo/#}Yza[.ʏOՌap,csa$0Kr+nm?Sx4xCJglAɆfS.jWsy ?z{n֮~wժmA)=ͤAKԀł$ _{>'0x_-:F5C6❇O;EYoNeAD(5שZa`Fmwjva/vb?"`D:AI kO vQ{dh8lsPHj/%i5_P| lvo~rwQ7<։(@J2JQdkWCrY@.Z%4I:9x+yz1#Gr||V)+1z`(`0RRmڵ@fwUu}^n*TrIUuEt{mQbqkӹFazoS!|f,JQt>^H5V?ܪ OhSgG#*@(&>Ǘrk'),^ jS!XsQc۵" 5p+/2QcT/yZX շu>dy]&b5v8&7|tųtҹjhyLE5~ ^k>zB*z ʪ]Bxn'XcȐ3\sަuj]I.G 5*읻$~ØDf._-GJ4EC(,4*k HOӀiDkvTj uVLd$͌(D2O!pk7 W5{rvTî#J}omz̰iwcP oUuV]=N7JX>lЮyBĄ)1s`F{/WLq '%M;} yw =+o 'H;OV̮԰v ;_8Oi7~=u/yVOlYw>$I`o}x,@&PzdtczxW, g8 uq0@f/ il嫿כ_QL wo_W#{/D'NUWc6*9$sV,cUmˎխ )OL SM 5hZyVIz啧tãkt7~lHc) <^ niԦr-٢[{t2#csN56ހlsRwg+A.S]^)xۼ*~>TM276O֪SYlܵ4-2_oڲ]-\GK˸_nJ0uLG|&ў8ƞ n} ;T ?n?1SVM}F6AW\HsX7"5Cn}UU_t")ɑ7Iu4oPMjlD$x S{oRK+ӧ|pbK!ۍoǎN'iVp0:(ߠ b ;TҨ\[EFE`^ dp6N}߆h)z흿&xy Xx|>"4-}ū肋uG t+ODuڥޡcRՈvݪOXWߤA| b!Kk?)xLaX?;ǿ?PKxVj߾$㟄Ia' hX*-PGo#'3TViןx|2ޏ YG^&-:y\Vi([b%]s +u La2yJM?Urg|3ɥkBcPVAzjC32?c]^?M}6 .\]x'D%ͣp|Cq5+0s愄$xƢJU7PO><֕xۡ\ 5рMUDty_UJ-5) /s5+g[yv.DO$U[۠Ә(VF~ƂPJ٠Q74]v@TKj٬r2S ôxY2P5A٠97C;3!ןxWT֞jMɚ姟=A0Qs}[k]Suy[7>wN~1 ٝ(:l@4&*c}kȰJnOkrTӀ15Z k.&V၊,W{^B(z^6s VTd:KTd{'?.͝ >2aq;5QW&Xz`SZB؉@+fGKjyc#XM˴`ߧzG)ijߨ?:{ ٽ룘Tԏ<To foVR\L)`g+f\?{Тab}S IDAT[4Bpyp xjjQP*=cmkov~K{oSVl=^];џ;1$;Ogwp/= 훕;}>DA_u<ᐋ4Z]ٝѝGk8X.JՕmVc͚SubZ?9Z~ڿNmlhֺ2Cݩ򈘨Vm5owk)^["xUJΘ*.Z/_mٯN2kiKuiɓT\' {ΕOPSn'):Key9:y$(893K3.U6?JTŨ7`gpYgF^}hL8ycOX,cDZ_eVV]+G-yv򽚆R-8`'{]O# sSW`R,p~׫7?ޠ^ tBǎPͮuxDwN^Z|,mYx>y \4_1d7wnnT94рiM7ųk8 PtDd56@ky'V` y1MCҽijJIQLl@($:^oEkSt*0AJsʚT[۩&(<ЊPѫ_GS. j*1i<US7/Qwv1W7>ڐR(6~V Ig~}8(>49}%Ɇ kQ~eg)whO!o\ fM{iUmkhRaN&iF#}JU2F4> O߱ZkpH[ҷ Unyw9OdE7˛spypYfU<^,t)Asa_pכzwV{yYP$ @ӱ\a;֙/k۷Cqc_!/A4 9I)ô`_EzɪfӰ2^w~W'X76wݘyhk`PU"@lyDfʔDwg6w[K*8tP 4T{Hg<`߫ ɐ'A x/zLIlVmF֨6f@Q0[lhӁ4x)'EQj/bYV!åj)@'<wz6WPnz25qt]ʎ|}M`ipM$5)*$\q+UJIYvU.*,܂ O;>M 7oTutFK zGu@s qHk.Xo{ zQjA(^T=?biO~%?P6Ϊϼ>JjQ4ƺ1S>g10cѷ s9jG'[*vVBGi>]:cd 5"v2 Wk Et='*Cfjbtt/O̳惻ՑvNY_+bʰYJ'PYEЫZM>mP1K~VzvTCYrJ{z;u'0: Z;P)y3hJ-b # ?pw/Ov?>ol?)Vq=Rۡ6e`` K7풠A88oOOS҄TPqx3IMXvN%R@ͧNS˧[6tiFBc @65!t .A5_>CHI #(! I&Ǐ_}lؖ>d{!Jbx\ʫ[Ui}T0ۚT)ػҐo輦`? ab ߪq|V-U{G`LKOi)>4:Ѯ:hlDh劅7.#@ \S/Tp"009pKeD&F.'_ !džP0叙Ws}]sy11N<_G wH3И.fa @I/cGF_xE5_T] =]j(􃮨^e_}xO Vx^zC<ԇ* ~En4M6FXM7?eVcUJudmlhT0u4*V?6{0R>߆;[@Rݞ9Lx}d *" F-؛BtI:sPTݣx0ù ΃Y-\ẋqާ0&`v\Bb5š36OW+`-DDDo2u*49j+{43~qVcwD']|kW.# +=N>fjo흼w^9FTCOߪ[-!mp!mؽIKN_ êh?=H[UMS?oZjENѤIWҽ0hyi\ #B3O>_;,}feW:PFӦNԏOLT|4-f::ZQ7(Ũ&N%De:ݷGlնiԳ^97RC\k?%E#5ʺ&Twog `^No;QQ!^bLޘf Ψ^cAyVܖQWacbD%ū#r18"R>!Dnò.ƑlA؏4ƾ ۃMeVt)#Hl}M840ڛѥ!vjr(FM a$G`Z7(g9 ?@+j'Z'Ѵ C!.??L1򸯾NH r W2%DӨN$ Xc(#tniK@T o{D}aGׂ(ϲ##>ܝ ?; aAksy'_H䷏ݮGpxV3/RHvߢ* ^llB_R٢rZXR'_Mb%HnĨ,]:մ0`ϻ!W6f!\V\W7V8'L55-h z D~x^>,dPCZ4chtk;~C&Uux2Pf0:$'c@kk*/آE τ&=J_~BZ UC[kRfP ԿY+|,V~# ڌ\÷eN^8kzÕzgxQbjƌ *@^__ƠE/?&?~+x CM1<]xc_ #h\ɥOHcV͜Lx'LL&J)}od 28Q`aՓ;̼%Xl\:K1wghFBE&'0:zHo9|P@Kxcljq:IF7;qw6@w"p+Lz Hq1|ɁmCF7D!%̝ gXMq!;^pDbzfKNSl#{`W?;b\ -_%RL߼:o Sę()X#"/X͞@ o^ځ G4O~p-VkNLPb}eE`|=meZ֮7e7:9:pOu6[H4D+lEsȉϾ85w\u{swH]seȳI6C{>B795?Gg]*Ztfҹz9Dp+iCW1gewgZ|_e.a}A`J5PQc7Ӄ[Cg\VGKDK.y@>@ c; At ZӦr8(*0 'Hx ~/rmtyf럪d(NV0i.Rb10d7ˈD ܔVA$GIeױ;\N?yΜ} kV102;8]y F.@1_ |3WYOxpdArqoSh/d>FNMti (_ oG\888Z*pه44PQ=@;N:HHu e/0Ƹw$Q8Йu ԡ6a:L:|HHsz$|deS&FYgP(קЀ0lPtxFһ;e1w;['P; 7X2W@B\,Hڕ9!Jcsfc 6uh`0(2Ɗ=myC/T[Z}c8eAbsɘlV["saF:ңYڼc7ҧSczy Y_?ǝ1pU6%cHHxF\ybr]0[ܖ>(j9zA_[DW]!B GZuE6R}>} zpj&|Ƶ͞Rq:_47_]پ= ]1S5o |* }bv7ZAmg}@YTI! wԍԈ`֬P[Nqa$V$.v%+fW!8<|!ۦv~Rmp(˸&NUt>gˎqXuLJy8R4z쭇)I Y{i)tV˫?]1ݖgpfQAuNFr" C>˼ʛU|P(0zEQvT y6u w.?WY臟P˴ 1NEm8l^UD,fdÉP\'*Vdr""@BQdF*_ ኖ6EO4ɋۋUSK?6hܬ>ªv tF6Fݥ/@FwM9f .%OyE0aƳ\^:j0u7c;  Q2+ y?`f>b jɘżYMq o €?$?kn2b؀=0AA!`ԅ*6>Fa&ub}&C9 p`Zb=͘.I_|͙s'#MMm@tS4!~.lݶل; /t& :M RG'G!Dؤ56}j-dhuu ,[m-.i8 8鐎4vFX'$_yCBt$-\z~rA_!J5K;T7?\=d~RO^HxT .x]w 77Ȟ]@yxq{w gך Wɺrq$t 3`HbJyFɄ"SU"Q_0"ݢ6ҋi)Y@ "T`w74 2 Ke.%;TӐ%^ 8(> 0n9J ) LA}=߽t͇S̤1(teCi#GY4g:!25`Ѯ;AK;s,uPE755c=^ht}=fjr7xwج!2n53&?aCCnhFj 0`֦\˘XHvK~rϕ!N@Mtgs*3c[:I,Of7N#F/3yR}ffJy7]ơ%{f\<ˀd8qF]_gq$ N %7Ste5o^ #bG#$8'Z@z6|Ɍ!96 Wɳ`|m߻Ozt#rWXd)c.I lKTKE_"=]#SʁI}KՎ#߽ OR -T%E9J c*k^AWOj b )Rf8!x̠YZ{o8oFqw=+X/_z"en@F\L[joo ;n:siώS:&=q$5!0%?^a}rVlќ1Qw+vQU 0LfxR"wtŗ}ٌ[-gcVK1?H-<15j"5  =@acR :PG|_W\ YjZZ0LqY(* ^]}n<~ x0mV:*)/а~#E..R&|܂^3kJZ֯۫ yXB^i!jà ϝwt, 3 46fd%h>8It9pRKN{Blz;`6ilX,=W>;xg>9"j|%vҗ_i$Ęp=7w'<5Zy/?۠*KZ3]L^nKŚ93H}YMXZp >_y}(+J5MT^TMiצ4=( yE: ڑS"sޗ0fTf9Kс%`#f%$w^fլ;H yvSQn$ND 6JәgϿʼݍ+aJ 4wD]~NN_jױR~:M"Jv=ntp8 E$sY F+pf4C/dר0B^q :Џk t+dI;6d`+C7:5:NA{E^K#2$,N1P`5Q V"yw` T7䡕fHu3qȊ**8\5* m\chD'`M`ٻ06@of.HxF{vɌ\.e^@Ftһ!tn確.Њ6:1xa0ogf?:`q?Q̟GG>vDV׮i0˘`YV7`>&|X ΃+vD/֪yڠq3/# 'Za6f &TZh2tp ¢؛B1wXMqƯ"w`iW@I0ЫkJ(W#mkG[^q 4>x7 Qb˸#.GUU`1١:͘ĬYZ9.>&-:ڼm.bz ƽ ~֫:Mݰ!xhɻTX|м/H#0W $V#@EXt\ oylزC Eh#L;n{Kߨmۧ'5c|b$ϗgȼa8 +PaRƤD%QG.^}>f]LDNJC7oz,(Ug[=˺䚇4܇W a]pe*x,#$xDk4e܊3~En'-nW`|+AGO H}LVݡ]u8Q۬XzQT}eOi^Pz[!+Q=2oV< 7OT[:<w͊72۶Zb`֡Q5CxhLb y1/wc `%3ou>]-K0}E"ñτ񎻎Wys(tC7`AuI Y" Y ] ޵{x@Gex=-}w( FģϷ4&W3OQ[r(#I*ySh @|*{fLYfuqa\W+,(E4(E>* & 3\P x&\ Kg8uvv[]N4ű=5Ü݆w3bfݧvSta[_7n,mg-ѢVݥxyWij)K9Dj0kA=WA#Y rS"6y|R@b]ԯ WW=/ކJ:6,D'M;I&X TWh P;"`Y B)ɓ#,y^|W{ ߆'[܁9 4%j CGFȋ =0_$$U륇&؍{ dU<ăğn 2OO?>x?.䡸HZ g:yn̻} g_IQrsٽc%NH?c߼_o+tD3;ц^Mu` `i&v̬BgqIs)8b-Nh 1C'BH1+_b,u^FEzcЉTOLy]S٪tQtR^thꇥ߃O[qG~F)#fR "dQ@ PXS7'&PHfʻdCB'e;} q PKL_6Yl0x+{6MRA^aq - aJ2.O#"XuWcX27T ZX1܆tNnJd# D4A2 f†l(Jqd~ǾG;)wcQ 6"L>KAt ԄbZ0xǯ bW{jbSBUz_:4۪Lsg*,CaL/`+Z4[/hNL5}R8LRED&wTYzVַddaJacBVúߪB v;I8h:Hse#d&=&Px30-TY]B6Y:d3&S =TTR5\ғdGu:@6[&1gm*‚6&DS6YX8Y٠#Ih IPF7~a%]+3>ZN1Bz`Ԧg;`蒪Z{ h:0!VbI5U &isƎ>:v_ft|t~mUxKYY`Rp#h$6?k$.5r 7?A7 pÇAo[0NލN4f+Aj9t3B51#GԀat\eqF4K.~5؞ __ "HΆAU6{CL|rd^!KNf=u0iqx@ː~#IDstMTŧKC&WQ)¤z ~o^w눏2TVg^gɗN T9NWA]jqS}2G;< v!wiJJ]26e$LbaBF0JO0ä)_OfnJp%xFа֏$n؟CܬXm[و"8x*LOSZ6S[stʲs]_ɳemc'jT>хܫ}1:L\'u͌ǏG7 F!^ml/V}3mf@eثE45);;ת:C1>IikXйVVM7icJ}ꔑ潓Qh.xNa7ڣVG T4f~Z`jEg]Ң86N6`xYi9#Ac*W),JG*PMDqO/A7]uW0i r vO8^6a 3'VEZa1nƆk8\z8yA."9,K $F+`Xzw5e=q;_A*1Lo` BR2?XPu=08$㖄H68sF+p f:+!_@Ǿ6Â5QV VݫfH|,UTE_GUP9L!y# xuA7h IlJv颻4%+эZ3?8Q 2nz/dyzJЯ ct47t᪋:}]Ub#|茏FkHZqrxb+Eg/,+n!a<ȡϷA%r7=B2~Im@}۸}6&|/*ȝĖ[_m_<*#+T2);p{1?k0h–ќѱ֖wC(c~MOx,p{-Cb#B$t5Qm0i׊%u$'HPW%+|k|:g{^ӽ T Dd4ԞnF|1Z{A`N[G4i-b6Mi^!toyYy"mkPK]™[`ۻ< !9̊ݼ﹂0Xz@M025/ݰ0@.#h.h4^ t.]}rPU`UI{t.`G! 27<(t<0H=8t0hl0?c0߰#d otW3pM y#5Y(G:wpx2>Q%ڿ ;HC}hYyddiix[}NАWZ%Ax1ԑlG'CZ%D`?xʹsp?TU5J[cFh<5e:[%k#S$-׼-r}};:^۠%ӧ)ONy!4 ㉰;VsrURL}W:\Y_٪V`OS)jccXئeKompwitl\gLϫxdgChcW_\jF+/d2:ȸ*,/pok#MY܃}}9\?H5 j;:E; 6k&=Sͱ0q~x}oZחP {6Ey;YuA!.e$yqsx 7>Ȁi_"DMC3nյ@Ѕo6s끳?`n^UEQ¶Xbʜ_@'7$h?:f:X@%es"S~Cퟆ(^9+c,vv/5;|{\v2/ Dbbsѫ}إ_:OTk/3 r;1]'1 d~ 35|:ګ;5Y 4"YDNlhNo1VLqs}Se=7QT(-Xpc_Y^r|RܾW/G{/{tەIb_duu5D/,f" &V-L$;p+?b~dO໅~K 6 9mP~He y+~Q-wSfz=D(lYIq_E[Ou2-0/# @@ϙZeh. Ğ[ -H|;{\\4LB؁簅5 m,dht14 fbhabfFQ:Vٷ`,cBZFH vkI+qH92r"=3;U4e hh٬$lZX!@n#5 IDAT$X-ϖ Hd ӛ j aM4!ˀ{KF@{WW zua%L@hB-u)r{<o)ЋM9D<.:q`]#/k_~GZGƳF]m9o|Mez;٢'"{O|^=o&x`eÕP{G)~*k;h>yq{HviY}Gg-d5aV9+ P"M! INlq=LDOnAĆس>EJ ݽqY-ձ.n3_AHS˺ey^–8GBxZ]*u`*KW 8FQl#"yW i4 SFIϛ鋯jb5J>&`b翨gQDU汊ʄ> " ]ʤ8]5Ϋ鿀K`F>{^n]xU*ۋč/B.'?/ GɽN͕Y jrp8-z_:Ԏ ȋg| »F$qI[#Kng) XݤzX,MpJK/*"z\CW`0\՝EX PF0@5!L@>0w"LӍ0wtYU_7&ҶV)ݿZe;N{5$Kn6v 놐&VbU&'ǹ,}}|7&&|œB@@LmcAo,PO+ggRQt mϿ Y8@(VltMPI V=P݁2d| 4,@Hb^LUNTb5xk+L Hx+W QL_yiܗխ٧OoA-p^~ķ?, f2~TM>gڦjuwhgCzZcc&= W0U}yVױM(DAO>}_?|3Z_fO(a M@!x9#Z{ǑJfd-)z<6C3ouy۾P"yɦ,+gncv4ŬnpPaucZ4$Gu;@Hvfّc ԉTܫ`)Ёg0k–|p՛'cnM55gY|ƕveuIޑA5?5Wb\CHGf֑ ~2~?{ǯRNVB˄ Tnĵ䰐QUHDȱoթix|B02D_{F7 ymQ^Udě]lXń ~XA~26BEj|B×|Z}\̉JuOa!Ab6O_s]_' |A+jeBVT0?'^Mp Gj\> [ +lŠM4lPШYq{ʟ}F䦮 .btE1Fj+uUԪ ƶ+u3b?j$Q{P$gh 5q_A4r@ed /ˎcu2Y 1^#WBsrS?j5N`N u K(@׿43xq oeX(x' ~E?xuc 7mCOQlU~]Lgk`߀-l*oQ#=^IEZZThHZɷ)aHVIHS69d /ATG+S!}d#rdfezͷA"9)^;l 6PEŻFNA"#vs>n:N hd-%7R;vp̄Ml#Uh:y9@L}ny wgpƱ,r@2_LP8YCfr<:m$ ϡMMGs\hme?LSA}+%o,DRi}v}O>KIhU0߅[2Tf MA,VnݤV|) (=}6dl_?#@LGP,<4uy$~Cz5ߓ*$\]bj?9 &'9/<<"ǒIth[^~h]C}/jmK#`Dg,FPؠ7ZA8$@ʹ9D}=FbyHQj`v?; Hv{,7C+s\}c?o<*?GO(b-a< H[%`bD"#sӦ4!(h|P(vfiieEy[! V|@Z]|OK2[^1N`N`k8rg F @{-v_w)Ryb9蘭1EPρU4<ͰKW;%0PCqU93= ̽CM ѰUDZ`l~; /XV^7 qZ(VS L~W^l͈C†=yާ{Eg~,{$0>L.{JMSIKnT^՗)B_DK )p<?N :("+e)A IN]4E1TcO3ǻ]01M ՘>\Ӝ3T$V]=.RjYASv {v8mD=ۖj="FQ}^{&mfjkYWW}ʯcp LѷO}]<s$>&wٶ. 5!M.N1=pna鱓ut?*[{HS`4UyM%KHS>A ?wtellDu,'~_|Ih}``7*g5a5B%x^}kC9 1C!T[WN{iNyFL*WlvA{ycvӷ^z^̢d )S')^rUpJ9j4PՋ\2_t0Uq4][5`UPBZ}  LȇJZx婂ekGq$ rDzgYhq<rly ѵ1`23UMI{<*E#c]a=+k3  \h>-ņO2Egj줠vX1 yc`30nvwfɽsET!Ev+( L4$ dIAmw<g>|s4ADfCuG7o+gE14"Id0k52j&_>Q*:?OAqV8[E&:L6{yyR4NTA Y7_^u^Lҹ϶K!4b&-}%W7}rp+8 !޽ Ydl_&=1{byW|6&s(HLꬢ'!]6ףQ>(Ji&AV&@pP=k*VLڙ^. j.=UYOΜQC jй\MM/`h FDka3 ѐ/};*X[>h`~Aq?gc䙕4SM⒏ 4)ZKf]53H7 QW迟O̽;2G^YAn/<8xI# Ο=ў@N~)A/l$Ͼv"o1=_x'qޅmo jpCl]R%put-e|߽'1#)Tq'Ԝ$GDt W]^+XZ=Ld25{f{x6 I VéE ͈ VI;c6Upix}4 % d4~&p]^0bNKo𠶁z0!c:;O.^fI%Z dIom`s:a[HA%y6RX| Sуն}hB65̜8r~N";N݆0; |&x$*VƓ?Cl78ᡃ|Xtg L%ё#GG槑jW2NήI\^B}jTeu{%"llwU]aVC]<%LL+N9(suQ >eK`Vvګà@>Y 8@eE:jQm#rŃvqaYcũ&ɵkD0V - h)>coȗ)gAFC+o{ZYe7mp0L.5- w!1pICZ<' 0î2.g2b.bA@{!H>3jȅq+$hƵV_iB*dO:E.pAbgZdL3D6SOnߥaqn܉]u2ؓ7 -D{  ς"Xq1(ЦB1,ZӖH`Ꟙ'آjۯ? c:HG1q&#@ {tW&d5r=gLuHY_GuvTDQ?|vex T?tl!)FIe\(GB2r ~i uM-񟆉R4L%Fit'{mE6`#lOVAA,GZ?İ}K(Z ]N]4!+v*ٻVrTHy68دO(-tZ43*y.C(y𣭜?kq~!ǩ^]ˏ |u9$mCiau/2ɗ{4ryMcU*8i4oS~E:zꔦǟIuUwmV<0AfԴ_!M"#E;sF }Wh*nM4˙*QNרҎ(c]AFO^͌ J1|o^\*A&o)5u;ڇߵ_-PR\_1E2s5ֽF=V$RLivB⿥X1)wAҲgvjtPԘze|kSr% IDAT>7Np]h3mq,^AM6QHCֳbc&/_aa '4m5?ʮK?\FcSsa쟪QǚQeqo:D/48 n4 $l\2P8WϴݎS_qPYݙjt皉Xc n4Ьdb<[,VK[0w|5Uү)VL)uoQ@ Mc=vϞ>̎ٙ .U9H 9{hIPph[|5l8M]vSz4ڎ|0"&tg kcSgT5 h> kY; G1M=F_z VU\Wж3b,t\)9,h$ױ>#ȓ?2zاdD1퉫Dr-akW09nͩ++Ҿ]BAkZҊfϏcP'W:ם۟1@P*T]k7GtLe(I`/OPpU\Ih\FCu 5Z0?fפțtu` y.bg2N(F*U{0V!4jevA%iا~mT3b=C'1iw~~@맿R}M tUkҹevGd*KE7@ǰ|] g~kK 8,CcZe^_ ա)åMFʱ4> 4E֛P0*,`f2l JȋR{S30iLGYxZbMUbk_\6 LFbwk#';t98I+"u =pѣ f`"Yy'eU5bSSEHq~V Ry\zJQ*g*`ݢ2 V`񗕻&vGgdə0dZV!Tq3Kjn"NX[`RYEJdS%4 ҙмw}N;c:0n=ykQ$j-2dbT%4e R@;ɕpaf1tg0P 3%&+eBZ8O^}O+Fu{H[RS|\SsUqF aDe&NoݓDuc£GrU1!1ߞoSyY$3L IquCO}eek'ܖE!(ukOHct.ƒ06$֝k隘gu bcC58>hc>! >+<8MT8(]*Qqn&|x]dҐDBTh84uh1/z43d `E\_Tkއq7l7V<֖ JAη+B;@ &i{Oޞ+ڏR3׆ 4b @~c4u鳆ӍEvV.jU M$Pp#:R, p[F!5+} í\EC =.w?0_3*),oѽw!VC~%Ka5I=5{ M:~u_E˺i} RF+Gf%ޤÖpB[d<_ו$m!߭ qf",  N#-䃯`7Ӻ; #|=!'1;3qs=b Әrcv0gò%V7.,Q3LYZuY\:{uaǙ* 5Ap=~3c`yu  ||N$X5 ؀K0x%{cdARXEX 89RjTQ`eYyx  ѡC3PC`o@wc}VY.4]-9K=hv sdi<򳘾]g7`7TSM- Q ^|ZUiB$a =XqOX بvKsa8hѷa7i}z4@b!ݫ-4TdLg?" g # q I&8?q^3 _"HeHcΜ`ߎO!"$'2I|R{-z{)0ya7JT] GU+=gA'vFhh4ʮɮ+OA~p#d_sUJ+(ٙD x-Ĺuu> 2"G\iؚ݅e(A6('*YR Ɏ |ffĄ?\ &&Psxw8%iMT7FYc 9k +똡7.jp4>s>~uh{g{'}?ف\9LT>i)hi'Vv;dR;HlUL+r: ]Kf/ eBrU؁Śǯ v+rb@J2?c\kj?YOJЙ q4I`-4ц^9Zg~Ee&<޻hR=&!B0腁B3;5d kݷ\H}P(H5ĸǏԌiz~zri&hizan1qxC~c9;|',=H>B|(!\=v&';*0I\؁yO-HJ ?#fvX#ѱOǾ7±$1@l<;=1ILqlbyh~xh`ֺ I*.~Heg4T4WqwcقM؍!G\TKߢ(͠?m*@R7 ^0OLaɚaVk$!a40m<}ByyXmr7 d2f`(Mo9-x?6 qIj+DM]7oԾ2hh'(ܺ|&xBix#|+\4"u¡E~YQ3If|oP<.9/@@'D`UHagiv˭G-k.lXgy4D&x.c,X;ZpR{WX->k{;q 1ք )/`+a>CJxcWd[xRi0o~E!+̚JC1Εv`u^|;?N@.Z <+Zv~D eEyzB.-'x}fe?!$gއ!T4Hܥh13a9Haa5a,lo.2e m&qKvc#,8Q,|L(3'6Y\E$u!M Ѱ[A~lj :;Et۪ 5{*,~ ΁+qF&Acf_N$Y&2̍ӱ΀M1*3Blh 5mĘd:#P!ӴL9hɋtr(4UH\$|h6oQX-1ᯰlVri@LM4vI q 79WpU#0Ho>,:rZ!"b,8iOHgUN}g=Njwgtefc"Gәݞa¥A<Pծ.C#[Dc҃^ڂ׉*`xm !+r/}u߬nA;~/{ݺl"r!z91cݯM*>NOG_gc3Bt#MN`~bNn!a<Ϯ1&X shY(Мƀ !t{倭썐؅{pk|:9<։\/3(VvE n̐S(}iYr;[;U}F!ww>-N+x x#%ڡ0;? )ķ0InX! YyvA+pzUkpmLmF}@v9(J!޾6$_R .~_|;:[ۙq5cߒ:$u6~kO~8n0 JxoN+O#盧DL,t1ʂ,%k \@_`؀Eo*ɽm bo⵫*Ʉ[rc_WI "ԤGFrσz9V[dA/Kq[{|'.u]gO>~ B^c BLUȇc4`! ;r+T[bAs!S@F9?[4K~Pfӗ,8TޑE>_Yh}7>8Sg0䙠+Yِ^9_|uн_{OLMٻ}^ojG$@̞&53!EP3a,OOmV6cCmŕ i[K29(@ehy6Kټ:*'&-5$AZ[T=cJez&{3${vqCB| nwm zs>r)1}A &S5>i0S>H̆SD iI[M1-FR;c4 VlgPb;7 v008I-*BBEһ]䈑(a9LF2x_uPE"r ue08S0( []L1><#w8,\S QH،Z0C<1n &I=ĥ07@3sS4D6 {nvx+`z#5AIe&nVn$u&IBLvKN%☻/χ9'/E>gMӄ/Dܦ~&up*$ZTIP.<Ԩ^}Cڄdq#>D :k8['${'w |y{askVt>'ߖAv;waTHz`| v> hF.L%^tsT"s Aל4T֢vװ!Ywu`t ~{FH"m=JQ9 `j!. @э9 )o{z|uE̬(/Rx< ?ny\Y-S(M$ܙh( .;(SUx)"g!{_fHP.M&0cumuK}1Rk3 2$ɣRɽG"A $<1N+3H24WO0"M L NHь;^sږF&5 }ddFGY6gН[`b?duL- (zb!mŪa};ufȉDnhiqBCR>ao okìJݺ! ]vh(֙![c!s(# l@^bZP*P#֨L| E33!(E3s3ǑUy:a:C]hl`^tkt(nCFȊd34 pG=^~gt4;v<&b@&=rLD#I'V!21Gtћ2M ݰ}:i OK'O?џ}̠vW;iCc68>5=4#D"A+{^{Uh~ '_3Oߛz/7ohN#RE9m&cg@HL `B҉?8.U G5M|6(r; fM5M@cK;(0}77#ԆLb^<\VF8RQ#npI3\P& M/@V_X Ch;u`:LNtumR -v$T9eNֽJEB@QsstJ9a<7tk,fۋ 9E%{{Y$cԑiU!U&>^,7lתC}w Z=<{o~/ ٸ俸T5LBeia\!lisI jja+9b'5dU=Ok5gA.֭˨ljF'˴̊X_oy< {ګu_ڡo}NO$q]F=N:ҟ2uH' ڨ֜W}ݾFY}?w`0SV[W $;nfG>ƃ+BC0$.w9d6FK푝 [MdSnjF!Pk_XyqW]Iӽ4DI JLrs͐Q0^R> }@mP.a86Vdop $5Q˰shB bJ#bE; S \eu.#&oiL3nrvY C 49<:bZ#4AF>]lDgƟ7GEafXMo- ATFnʼ o,!yqo]4-T)0 PSP,31+f-s~R5s5 1}!LDO*F H OO69p `jkyJAɔ\S)vſ~,emiNb@ {`W_\KC9zAZSFPo FZ"_[(pi.~O .D";_[_G|/2: ۊѨg_Z5U6ٓB4wU~l 13s =ɮuB-Nځf8A&<Y̥5Jjd+M/ ߥ0[R8Y9jR+Щs؅F;÷v Z}ٸTeՅsYnwImNhѡEzݲ 60AAσ8e}G~]ː q[DB+X5i6Bà%\&M[qÜ q<4@><ͣ&~ľpb3LQR[ &>tAPVMGoj,,w쇖i-dJ/ip$Ox9Ζeqj`E9!74B| vhQ$@^llGAI+6^`l&E:nQz6V8vƅ1VZ1f߮m|"#瞝.? MNtL(XAZȇ ;8mx5)|ddX[++4c0jT\ Haƀf$9m ( #72yԀ,,$*B\Qk2u}̀=D6+4Mfu0Mfᆔy2iivxfʢwI-N)v=}wH9kO !]E0$([+ 4nYnz~h׀#XޖwE_LLW^=Բ STDL{Fcv1*>upGD9Ae3wY*Vb!d܆^~CCZe@peu므 }qJSL$( aА ƶq_PL%κ@hȌF2"a3nz~IS6u6fNV6H<(;m#g'f=Uu8E : ^ѡ{~\H3ڜa1ÑEr:~Ͷf8"Si)"9hͧ Da!Ǟnx=_W{4#,>'3^?Wǡ\}ISRb9+ _|VaoGj1ɷN']Muxd uSg(F]F0 RӭE*m<(,G_O2zZē.˿fz4AL\*{E=% M˂T.? d9͙vL.U!AM+K,⿲44 <δY/~Psy^o I$nI8a=>/0|j]11쭸Yx+sf*jq)@ h˷u"`hs P @vAXg!3$5D.Es vUAR4!28(x~F%T+@5ȀKUCMcρ+LH7nc" AxLJ/y~>gZV`[N$!}eLqմaIvfyb79z>}ū֧ΘS4lN95~F&Y)JzT-{dw?4']~NoxH+Uef>ǵM.D9jT=wήߦMF؏}n wHʣF=eL,./iB!*X_{(KwSSu*꜓Z9"@`3=3c/ﲙYc1kl&"0BIHBRu:wWwO3H==j+z~x5Up_妁NijZkA-aSrU% C:vZkx@*zqK~aa3} r\4;mKv|m*+V [V"SE&bquΟU3h *\5>G1p4jwFBˎҰh@trʯosw`")$?/v찧$!CV18^eWe8'&$!}.2nzv-M,})`Vy0NJ!xvo?xă D/FC3ÎuO0bvl %E"gAzDZт dR-?@ 8aV'Yډ^ȄS_ xLv>Ț&-|J&if؃m5/J,ǬͽtbE;C_wA]i8 VjN9IxpcO^H9Ɍ&#<7A Wd)(A]D{_i@>ϑ'`)M(TԨNsh}_IPKڄzoB6N=DL!,H/`(>7<$(hF9 `-. wiTSdSO,WgrvqZ{ ȗ{EnGuxwIִ 6d_ɚdb~GıZUFu Gu4a}7Hr Hl.()~/=p+9MNzoJf2S@ը%Ynx^΃0;6z2p_!ukHS_Ż>׼8tJ'ywԸ^ sJȹxw`Hdgr2d~!{mPSih;ԉ4 ďZSA l ѮN .&H9$ Su^4D]^``OAŴ AaEƚL B'En^Lo Y H@6f]|*ÊƸ .I?DE9x +6V=%fAFa~$oAm^X 8{ճsB\e}ѰNXD% W1 gahs :Oo5"2;,(bs`z lĄtjO%NZ/7oj H܇&P+ruLc7:tQFjw=K:u^XzfNZzekNOɳG/ApKzv:( И ofT=s$N`Q+O~ΑqPdn 'д&&w-L}TKo̊6(K@3|e %jȽN`:VjrH_>FiE½r,y&-}^~ 9C/>57.v%bj7AS,z # gpa;n}D;I ,Z~vN`yf[znW W܄|czL'm0MjG!s@&+atѠl7#daϻjxث 踫M4Z!HֶqUX.XISc7@#>3!CN#%sP4`qX?uO2uٝy`cewAѣ k!KuO֨kSrX>95EsX$ X%(geIm"{qi%ѭN$ކ_tȡ] oAÚ66fk[ɓljnk Cd/ q%xlX%,wU4?'֘k#d=,8)@@jjÉnE]-$U"Nن)4Ic²ia5i1`Z̦y^#C -ZU`v G毄t1. I k㽟s4x41/Q\&J.:$+o~Q ~[h(m !S&ᒤ+y 4z_g&1MG^zqmw7/W6 +L! o*ceӓ80gte|ID=o/؈PdF9z3a2lj5LT"R[hF됃fZ 3xhdHwdQ)T7x;5O0`/-[حF1B!U=) hVbw"ftd|6[Z_1*\5?mc<[#[?lNo<5c@u&jk·ʃ^gL@JL_]o-[el9hL ӟr <> y89::I|h)ql|?m)p2 cOWROπyν@]IQ>6;.^_VI@Kg9裱s˱s*6#?B"jZbLjXV-Ҩl, p 8 `S_XYL?wy4iap3e"?LKJ^2YtO3*D]lKr~iӔ(@+,~ɻ PcՑZZygU䥓}r) OQ/˝JqsW09o4(@lB237p7c) RlJ-T L~α6/H*Gf@ ه'0Q|4r(*q"qL,}Io]\o&++p.NL%2l4UE( Y\_3y׍tONFfː) ?(l kl9C7y~Ä,q\\vWyOSe8n9p?fFBazY;d=m㾢SLf9sNt8Id3"󣕀YRYs`O7.fq'𦟀B Y`"2 =Kr}/GwX.,jF<2r 0ׁVqX[G)- g( ۜI7l!@pb gb:<)1[ЃiFedYj|9 W_+; q =kWa~@/dHs@>LT7Bw,fP!ǯҜh4!MgwDNEwqKH5&X`sN]ed TB[L2ܼvf&>_#}o6KByI}fǪOc=nZp{F)p> a9Ku9sfoVW}›bb7wЉoU/p~*GKyZ|e<4!I~`-IN ~ vMF  :@ 2 +˫\k{&m R! v0j \]k 1b&p0u,VG֒^bg?o}U7O9P7+H{pB}Vylpf {kLZI9R˲)ri-+i HOb'BTfo]ʎǑb1Y40~:QhUZ6!!cЍ׼V-$EgSwAgA/cf29i쏷߂L*fڌ T}f|{K'&߽(Va)pMSt3hYa뱄' x^^s>Sb>) x?YIT [4_)Bln2xr`t _B@`A"!) _]_;Z(XcepPP)0Hgoh)#MSxA\RVzVV/Ax 5d{v2(')E7dٕxoǺ#mjQͼY"Qa$ef8 p_M&J|aY&Q+R@HEy7<+bC`EZy |ΧKb '>kbkoJ>Їo=@noń}q5q3 wa {(  ~B~ eD^?ggBAu%o[9F(#r ,_v;b/m73A]_F7OGv/ia(/@$/^N&U1pʃEfz 6)A-ƞ]$ €wB b`wd@% iQ P)\9-֬K`)jno'ԧU 3.q' 9l8`PuX5 POd r\K;Ѽ"is"'Ek#U<׀JﻃF(΢xX/MW7Jᨩ E8"kʹP4;$};.6'Icu]ݘUMXD&(`Lw@cE fؽyS:[f;/HRKsSB" OdaP]1&oۛ4uu5' >@AeLZFpixljƞ8lyt8Q|9\0`b"s 63LLQK,)֐ly_(8+k3e >2F}*Ah$݅ rC% a4`BZg;A˨1(kއmidfhm$A}R0Ի#bt!AXgXmH,#m\\s!QziO۲t0ǔYC(.4IdjdQ@cu]!D ʓr4ȇtNciFKͮˋ/bh7;} L5\ӸgK AS7 N( kL$&$2F*6HNp_>tD<}u4Cv.`B5.5 ԍNVڿSDw#tB;O1țW˙Y,{$M22~ EaE) Q~& pt"u~FtQq)C2Twg I؊b#.ĥ /  +VA>a9c^勨,|FFDC#(/ VaMMfp=jou~q߸~κz "T?ofDTV~;;Wτ -퉯=sme wava:9$G/{i*|)c0 *3= :E:o\p,teSk<:dJdzH=ģ}ei3qv6&D3'c[d?ѧ䱯}=nu"gaJJ$؉ HE W~)yŠ$JY SyTb(LX"3$E.HDQӤ=E(0ム+UAi\` av)#ǵ6h(XZOhaqV/Ξ7).V0kx/(Et C`;|uF" r1 ou-0@p"NMK 踫"5Ț3-db!X$bT 5GCdk|E4x ,~C4ref ve S .d^䐪=i¶n13&0A7jЀO!ecĊb]} @Iɜm,0*܈26&F&gFX ,oݦ*U*.tM)$ey&PLޏ [2tf-QȷY IYiLvvj5>mƮ(fbS0eiԞՅ`:wQ t_`;82]{iN|;f_>}~ Ü㲮aN@v97E D&Ƅ4ohORfxSN5 E{=x-i=Zޅ0$^ {x.IJ0<'dz1^3cֈfعh0IYB(Ӕ2>AO87ULh%>N ِ k kP #c,wuQD3'I|[?)$G-ࢩ֊)[,N{k(KkHis(uRLKd,4$Ӿ2k O[k:ãs &~}rbG-]S(xdv_νRLvu ejiU\;Ca"䒺ʵc hjP$Xy'…=|RfqP h㾶xS '=fN:M@1 Ө3U[gLymc|Rb_wښ:<͆X3Юܛn}\<7 &kn6\斎`r }a|GiLiRD3#݃W< +]0=2J$|Ag"]Z,[_\rk)1@3a+(:(SITCh-vFEnLkS_z/7nG~m\ \''@I:g-:.[PIGRc3^&2aO8[Mo&X,{nWַǑ̑l'<<$%\4`=2^cglDԹl<&t!;kh z\vҊڎ @',{vMTfJOqd:1ӳh5} 󙽲C <ÚBE_kQ{ gF#9Xf&"Up5Js%~r:dl~9 #[rGEHya绱@Kog%f¼~if1!:%寅KL~m!l 8k}@S&=nSqȊ$ [\nȽ$` \|zAvn zDړ^R{P 3EC;U)#PM{vuɒɏ;6 } tF'ʆ{i&7G{? X 0s"=Wg' ɲGpl%Gfՙ9S%H\\!|S2$1MA y+"ϬJ\4Nm.NDLQ!mZj, XQzva6g޼P=deIQ\MYt2AXgaQ9_<L{߮RK 5x;F+rP bqML"|n9iFQ Z YSCaK5 Q0%;X)ʎR]JLdfYo/ 8Z`X<1aI6FCae^2ϴX.C3~@Us//bj#/I?mPWV4{A`uZ8#/iy!A Z &(;Ek`/sm5kGP'GQ0S3,r oa+I֌g?-Xm]<*ߓPw=q+~kKl):p܌tvJ3y o J <%i a6}p/9pC+^ S@68􊸘t xl31`/+a&^(`$E^Fc]9m4^ ?hQ:yQpS4KIθ+]Ygy'fgS_KgdmofŃ'+ر.B0%a^!=`Uf'lf 8% s9a};Ʃ[^xJI2$nc/@3e %3};F~ v>zֈ͠y\qq{:{zʳx_'iLI(u&eڗ[Za^-T/R!s–Nr1  Ziجi& l59;#3w[o6ih<}7` V$Ķpz} z`_ӛ+dE Y5g0U kUY9f0h6>(F"`#X)ؤB21k/Il'}4ֵmfvv$5'U zY&w;hJ+@:kÂoU:|/{)Zt%PGϾ8pD v4~u'5YeG5sr) ڷKp0$nВ& a$P㵇vN6JoCxP(:{obc,^JzPv"9!Z_hUIӣBSeBԯW`+E=4iPݰN0 kV΀4HUZuy+ta#r۹iY74ɉ9C{ȕU [VKϞdm{e^å3rFH\; ÅPդ2gI5JU3j)TYƸŘ4'=:/%!m,/!M 0w#>9D$͙KHȖq˙iV\i~rx+bE|qbVPdA ^4OK[7pv`uȗi/XnA]nAQcU!YU, U`44xM۱DVȧlǨ z%ih$MjLb4õZ) rm1)ukS BdV̸` y0bW t>Tam&kzqTeDesϯAq:/ |~~(hZq ҸAn]HsF>t+~*8[Y5AUlXLzI>G  ٧ d-ۍ87Y9?RA)FQ*p)R6 NZUi>~#+ws tLT\g7M.P<FVp)9=%'ݮ΃ĥ1sI&2j)c4ldWgx9d;"=z-L+Ts _`N:J@J,dFC% %@ ))<=msKvt$[1ٲ )YdH1f_cпÀ["0#ps`# `ݺ0yFcV" a}>*ޚ{{ aPB4MrEL~ðhGV=(CFN$)4d^d#)T瓒 NV2A 9^S GFdtZ)`?B lI׊\ ;h|A`tUU*`켄<E44"ΒðFAYv+oD<.0h:#&X4~Aq & [ZCU4HTSyy J-fm90qV[I#-ݚU ms:21g mjuBO d,4 #̤ v;`_ݹs9 B*wop^bk3L])Q4\멟H@fsQF30&CTZ'¥I4ꗏ!d\]}k_\3V aT L"4+@j(3 OAk4t5[VUa_H X9kl]Cl0ȃ\e>_@ v Y"v[_},dj0AUv9ІoTqulf/Uewor.JZ׮G DE|tub֎NXŜHٜ)%&ɭmׂ-`:c]])_#/Qܞ@ sԂQ 33 '9ك].;y ͅޗ=8ER(5 +*M\U6 >mxyU5>rfLIs^c33dNMTC(,p7!d:V :a~D|+4 >} _~VI]~KQ}p-u4ǚG UDf5Tӡd&LH qdV?=\+74Jch)* ?w]k1+E04~Z/>b!?KĹvb>4!v㷟=kLʰW]U {6S9!Pa2|>Oe~&},r,+i({s6qFeο-h”#01|ڰNmn #jqo\*z)&R~`@Z`c L JpÌfF"[c?!ҰH &ҲsE5OE "e.or&e ##BW@¦"EĕqcO_e"HB  2ҼM=0q^%mp`a3I??Eն9Kd޷/W=Y]8P4=>'r- ;v%&t{=kRJd5ΊDE02ى<} ,ȇ:0Qc=)2_]s\C`!9$~Drjx I2e(TLީr-ku3 צF"^N5glL05B`E^85ыpURelGNbs&GrޭDOqҸ>}6Y09 PJMqipߦ!>KXL7]?wEٷuА#j))竌iDQAՅ60Ljk>Lr!`-k3XPŹfeW_|LNJ&4_^or=w#ֵIcㆤGcĨ{'ŘjOa8gD6fy-KCx_?B_x(X.& `:7(ò G،L/~/peȭsf޳:4xHDh$D4FY^*g8)l%`͓[cx3k+i&U;d3[ck|K4uO@/lͣǔL#LmB80b֊RV^7CoY7Bf@F4on>zR':TZQgB57Fƭ$(;]|o64(AB +[Xog+Rf;}-| naW\$%kU):q5G᠈n"T%H;|60uc3~CsbȟݷS_p$Ln >2;u!N k-dĺne+φY u A&.A$jwJP+j6MՃ y'Gd _@ uOrI,Sig9_l?@F4owG_Μ8!.;jkp (09&O )pȃ;86\ eRx YЕ0b()[d6aPwpvG _H՝0S'z!hdd/^pO4C^LBÈE=[}eO0{eAoVXYoDeL=r~+<HA IDAT4u H@]GsIDV &)R&.\L,ChULVk#^tf6 u5M?1hzvoly o`2}-1S> R}pP3)Zu@ј?rV/SCvvHEU$ᄄ&6<}TG9ɏю4wd T(kE p/W{œS S>S#t36@ڏ>VljɺG'f kO4P YWƮ":[b c aK¾=O3⋲Zer2)mn/nJ!] Z5-*A x#iQr\Ii!r$ƹ9`C3[ "QϽvְm5{iN@ ]W/vƒ,nτgY#r AlKҀSfDֶ~0%\q;@Ba$|Hl 5tyd CY4gB&|f /EZ٭?%$|d\3B<"^8Z 7hhuqmS/pcs~35;,VNtw`ރ_9EePJkam4>K^ ?.4~HVhƼ\S:K,nEVAtz㸓o!bQ";@:il|4G|r 49}#;;ɓO|W 4C{&{z7LjӠ{< K){uã':05 UG~qsuUo[FV,xD6:d_d.*`q!;c9PZV _țG?$wsask ^[g2nmgdnfWYR82qˣ/w [AeYiFOF}lJ& %7pHexH6X-(l:$D?9%E^թC+YS ^S"=}En!Lb̹x Zyㆧ2V^'^R? :MQ7RGl4Ǻ/ _rFj/kE/ӑo|]Fk6N'{h2NY ZxHl:ՙv4CJ/T)&?quǪIpq5wQ@uWl-=Ecnw=,TdUz*]Ln|yɇSd-_HhbZ<īE^H|rʥ4 >^BO+߿srO(P6H?aTWy*9(C蚽@535rӸ(._ {pw}(6.#GwnRR$ wh] ڥfP@(Osa*z2֮[YCVIJ[~\kZp1<| u?/S~Bg.=o|;1kx1dUNUfFG y9^]~GB7JsVJ;$G,1EsYyl)^ΪƊ͎ *XZ)aADtgLvui'.K2swc"tͳ{[˜mo#E8܊, r7͋sGJ<)5BjWT%Ǫdž</rRFhVPqֈ``&YUtHE$5f1S3/fj0k`Y9SSʬ[C̵zIů/@~Ck6N:9UTz%w3Vؕfh_2hڟTΤ O-huR}`<0z>FH7s&`&vy beb:am"h\Ce|-Y\5iQ7ʻ-07mGUt.?ymYp6:KDz_Gc0$. ߔ/%"k95 {MF2 E\&, +߮~^PxfC\cIXD楥#@Z |ıh 1i{(BeD9ef08?+'<;|Mɉ*}aPFCf"|+ȁf"2NwRt7Ȍ",nbzy49.ƪC8)('3rsrǗ_+pbnos3!v5Y\$#?tUx&| a%}+Aj @r~~mz"T"[78%|Տ^m0.H4 33҄INw\ j|9$!;Z)A~ ;Nڦ })>gPK\Q' t*>͸/z׭r{8YrJ/ȎfOO#2:"QP p)J!.0~`rAC'tr7?dW oV5VQf\r8f5dRr, |6к{s_6뤤l̷ (Re`"d75µa1$jI@}dJk'5w03W߆_5ߺ03jl֬:}ބgRRFz}2'6ܫ-w\X^hoX$e-{edrELȵ꘡ P@3u˴ 'e'mrʑ aqbyAoHӹ#DO/O*&XO韝vyr.O,*E wte߁]hBS&5u*qv UWS3WƒA`Ii1];K{GP(Tn Lx+5"fO\ 3},.=.eo^~\}LVVWjNxͱO@-Em{l&S4憺Jm~n#1㖯 8K.~ q6LY#6'?@E:kelb  Cvʅ+pCHf:cI80!Z;4Q=Phb.(5+ȅ 3+-Lh2׳L*CGXjJ]3p1^@i,_PeGf7.kXA7&3߿f)z%OF$)S࡜X%pA+4x S^)$XgP;erFhfFZ)yYykh-xs [꩷q1'p}LwH%<('_>8V#– VBCe ˖[>"GͬHv;ol[wG7Y>r-]{FH]pK[+AKF4T\{۲L: rYUU|L;v@6[y'^a͚U=r\<[G8J% 蔬}s oggF@gS Q Wu 5e,ո82_iĊBi0EP<5WY>ؓUEgw` FC IMf$ ne9l&Yv$'rm.x gEȬ@ dGȘ8mjk)&w>Ɗ(^dyYTKjC : rVhk@<#kGSoM4~kB& 7?ym@~U_'{ܩsӯʧ>ru:r&i4547S z&VQ).}6*<ٳ3M)fP &fS 97P]6~F&^C?gXD䟿O[.B鑅i`v$pϓk2 V>o/0A@X2Pmc2_qغwb"r=f_}NuΙs̮H+VdrƸR 7]ronB S.$!@ġ ca#jڢіK=DaDg\vw>{~ef#!t_g@Mг/_~&vsŹ!]O.ǥ+aËu01=vM>CVGoBI1dv}&NoMI+8w> 89,Hx焣|"4>EV;ey4r0)κ xX7˃r^>?E|Cr,y[940AÄc$N Do&b[<.MM ;tXy*&IÈM`E'LRHd3N\qh8P뭲b'G& P8W!HHקI M\Yk1ZGO`(ȈtW*Ugm~\>пL/=>GGa.)&}`E~qMĿ?! ZpNlQ/Z1\Tvpâ$'}YD4s[-)*ɎۚaTcTJ\V_o+myg} 5)򘺏t@V*Zسqe6卧F?C9ƽ. 9n&#*{;Yy,'&,C7!Nq1 7nJ?H*^@Z'7S\f\/A_"sLYy''3>&oޢ"Iuno,"94[bV>Ŋba$xlm|. y;Z:mIɶNY|&_J1FMf]g`o˙Wɔ2wlH_Ea%(IᶱJHR(lQXdC܅ӧ-z%/3I|*[AoߓoxhiPػw!0OGCȱw|äva+T yGL]7nپNX > .>S<7ȳ_EȄu!v:{}9 |QWD~0 ?R%}(NPD'wӶ>,//>w>j@uKqr m|&EU ?}9YYe~gWcޓww z+G;{GVqc!]`&ZzFS#:c8Mf|^#;s}j`0_/om]G_<_ȯ7?>VQ{Oīfq֖5صEUH.2dr&f ^O Q*@GeN>!@JNp\)dʮҰP=`}!)9#Tmߏ,ځLrP]9 G=D[Eޑ'/:܂_ ]w$W`6`­ CoqXRأkݣŋ9;vnƬ;%'R؃d׮ S~4Ez2vҫimY-L.ǵK$d`MB%C@4=wN7n:$V9u@uO=#N<7ʥJ[eI,lЇ=g/[KOJx/D < .@M*MK IS$4 N&B(&.t6̉r? ib}~ޚodu}ävRF?a%4k{ vlw y"zd߂}'_soq&;+'R^# 9U{Xp\ՈpFhLq|oȞwJ•wQM>yym Fn{ ga)01ے 1YߺDx˾1R^D6f;x'~Mu1S+H AxW;H^(> XjP@=hD:y\jkD'K+$w4 \TW @Sgc'؜9JrbxL0>`q{=$/?Yy;By9.3:,1ajqk;AK#@zlS4fS0iA2F5=߹.T;LfLx$!uBA^6 |Ͻ8ޏ䩻1ِcL?cʏ)|x*͓&dq SupCp}$3&Ż4 I96'0y:DP8#cslS*FGn,ZEsYĒ \b]”jҎl=~ba_B9_ Md ,b/S¢W &J ŽfB !fh<5;~ ߏ?}~yݘu/'[G`ĺ/N(c82ME]YYkgOZ)1!Liv"pJBo_*CEW;^^Aң vRi-03,5qXv)ZaG IDATvj:{X~HqR_^]ô;IfmҴfd{*'5̝I$(ь=Ԝ} {DŽ0Ł:D)]\X*RtHajq P\kȫJ/Μu91Ǯ׼l堟 ihvG}ujC`P!EQz$ |N /#IqbI>]#+,KMC jlHVlP<^u@-1<\Nih*LL2ga]XW<߇/ߡ<~yd3|&-RI>UY!W3.HJ*knG(58Uz)xylT4/a~/&Hkm1w/_<)L6܇”G.y$AyV Ii[I؜Nth3@j]ʞLHv6@*cbVqPFaUx*ߎ.:)eҗN:S`DM9ƞ[ hN@Ի{dP{4L}=PͿFM> 9ͫY`vSx w.V n&pAуu~ulqQWaU-ژiUWX=D!Eé7r౏iݬ4BwvyWU_VO5\' J@}~ڭXDL˴8nb!w-F5/H%z0i{k`K4^^39OŽ,"Hט1idfna}thk T}y8?j4 mmuCԈ҇Oe,xAὬBn`7aV^w4 !y, eQTe}'&&e~kTڠh£5S=·fTjH::a}A]||n?25]09[ƚA]oYWg8#/D]<>#0:%^INV }yz 6a[eɣtt`i3eh»5&~Q`M>Źp/~B>T3m u52Ö7\yF% ^=2PaE݆R8![y& rf8h-<+p0:TL_|X5$e`tMasQ<}p T۝B!}sUr)LsQ|Re vmsAט^ŝ}K̇P؀}Ut}t"} wf׾@:%)\(rsظE!ui~(ZS'T?fi6MYWa+!^ׂaEjaI3mFefLr*Rv- 1|33N$0E7m]Q67Ʉ ӥ]zYyKY+z7; ̃Se 6z[jsgpQwDI}O+ClzlUh4 {xu.j"6&L zO1龟֬Ri{ds Ej) QsU&H8=DB iSorzV{<CvJ%K5 @0A&'b9󓼟 q,ajrs=l#?^j7׍K@'5|&fŃViY`؃='9Oin^i[u!1n[4=,4Ip>k- sdE/mHRh{?t/SOc9J4(L\7?{Q10O ]k00һ.'L)(@׿؊Rؑw\3ⵐA'"ϧn+FMHip'h8qUOAvW;p`^e:yV#tl=RFeb k'^;UST_8SGzguSؘN~{)oT>I^E`a`y%PW-h6L+A~ 8=.Z46׿|7*P'U "MR:ϮYlC+iV o$8?ϊeUsfY%\27@8V wo#1_V(L|:zMeY7i40I*_}5 tAܜ )KS>drdŕ^-7-e{2C9xy`Xe=$r0Qq/́b`&TKWr|pJi[~KNf}*8M }ݾB?fݿu C IcF0fs7Hƅ Xifz ncNrHpRAR\А^Qw4rn+:Z+ "\0HX& u5BL&=κPf|VaRيWeԵ&dYCy~v!p!ncL1)0l%]X1(00ԝQg\huNz(TU8em'FBѮ9>^炙|ky]Vxc'lM5TFIͅn]~ i .:Sy#6mѭ1=Bn ;yF[*|Nd`l=ZIrӸt5]yngՠ x4VijC4<:sRhӁulx^r!|CpPmnVašjzIxX xAh5] d1meO ]3y~à8'qߣImRix-Ur*[ÒJhڤyNdp=v~pyJP PFp;{ˬOs.)v }ѩ{9N4U9pPΫ 94$yQϯr^‰d@z+pC*}A'dj5m#'/3% 83# y/n]/h|^~GjN^ReD9tˎd;\t4!UM͐:!2Y95Fյ j@!<\m kѠxXj839 b_Eg2{k׽,Ej[&=w0EW g<~ 5X<,4 FӢ )wx ӑ:>Q`pI\Ex=aN{CK72|ygݢqsGhPK`:E%4zpN z&u}e:vCHkNV/n3"kO}zh ẖFT"Un=OwASn8ӾFV؟*<Yf3jӕ8g`ܑ=>ųl4YAp~9Y": ۓ*Z(6T>@Mq?qCJc셁c)B43d.A+/O񧐕x7e`h%BZ _M$=v!h\w'L}>k) :|cp y0 #IT\58~r(I;EFx1VE Mjhi^YbGXv.QC4^9燧Йw gPݲtxLcp\l?XY'E~1F`jʪАPtԨRM~1ne eBS63n_\Ưd|^G<T8tQ,LM GD3=:ڠ!8WjAkIR,}2 9=ӕ2]_(zF(򕤥c5BneF(>  z&L4^qbJ⤑5-dLzX6wu_NG8:9zu@"khxi (&mgHvV]t5ldGKlk7>ME hOos 'RNhB4$0󕡯;ukS=]w`~}M>VDөj'X 3MSp4XZ@{1bkkNIvnɎ[ qavA>Aϥv@Cv'8)S34% (mbNڧKqHxWկ^? J)ǁu@?=A^F$h*kS۬W:(q~=[iаsc3o= Jx}EtK`&rcV&~ʂlyXF_!z_k3; HT2& ukbUu (h<C(ޞ_ )><*vHۂ; jxQ4'AԦ0Aq{Q!N%;4BXGdV !`ې"!75 ݫ2 AcMM4Fx~:!oM9{osB0nה1 O>'$N㱆+í; D"悭VF;Lv.,?W)]!2?Zyݩ#Y$`LEɻL]&Mi7E 9ЏjZ;U-_ݡX|%Mz3P"[vvIozVl >C4")eEA& ;[$7l3FwAjk$J?0cѬGtL Y R =s5'H%VT{^ˊ7Hyo-Ώ {f*?4UFƎEvXt"[! _eWtrbjag;>:ݨ Trq<%h Ґ>|=QȄĩ"$r hmYgѨPM7%㶘QNGƻ ]998Ec0pHX j"\F)kOeZo[1ĉ;'FJSX~#`{T44h=Ќ> ˬY8U $b&\p>ʎ@W$ۜ?=oi~\GpFiF\@2pXeؾmh Zj=}8u E&`6nn4&rA65;yLb $:w>h&MLs:!/H .Z#C{L^}P%!Jix7h+Wم@Q8/u楈>?_u~g1PNzF-0V VXlB֡6.L7f}B8̈́cLu:CAfJƔq^K>x7ٝF0P8uf K/jA ,n՜~iM E88f,rPmh䷕|Dž}O퐕QIdR VC58TB-4 &)̚rM5B||Fw|gЭI_KL9jxL#%t]`mJ՜3s$Kvc![,mGMֺyCLL%=WCs9qJg[iSZZ8>y@{6A B%pEIPCxȻ0ȧ4 Q4$2 ihPeIjꣿY . MWU>}票u8.&]VPŃ HVNðkӝ8`k{y`b@Ą(f o%ϵҢx)A&v;ӬHY`#,ϢaL=2Q)9(^%PpۧA,MV8shqc|$ _BJ$:E r.>2J.@*^+A "ۆ}|My9rɩ]@|xO>Ή5"saFo"! IDAT͊L Av߹**ʓ?>;kx uCtjA+sQtUqʬ|4a~ 6huQl;rM? 0Z$$ZnXMA`A ¹Sbi$*@m^ne] }/u up?wtLO75 BBՍ:^7Kג3 y(ΐGu!}e!.'D:Pkb]AZB_-G/H9`E>]$SRnR2?d7pfrbNr9.GcRҥߓȩ^GwG"f73!ЩLKҌͪ]tݯ?>YE[]3߽` 䯨-g޲/|X̢S´o}SLo 4;a>8Pq ] BP""P!8>0-)^%4[+{E]Lov?@yeag _rpƈj4p}Mv4m3'syn͡勲MfۖY /H"X%'qli7qAYr-@T>'ǣCc%F1ܧQ_P}4AJYD HyȎĐ>}zk 8@+b> RxlJL`a)gI# @h>΋(Rm>s`7I#D#Ʈ];| O0C, C>_ г0fHe{E㭦@Kp/H4=Ӭh!aKF{*!]rhayU?/no6>#w#]}ƅ`GOe^iǢԁmEͥ ; <~UZ\dc2 r6'dD œ^<ҠbX=F.H4&>DﵿO`MEZ2Հץx LR8h6Q$kj`"4?{yKfMG?bXj,z[LkLb0{0){ ހ9űz0 hЉPYoau\flI&_<!uQ]_gd2-Qe.Nl Tp00h+`p"$ pDe  ow%£(Xd:,` l{ڗivj7 a.&gzU"idlIȞy ؟9 F?ZNCS`aQ8ڧ&_'N-4r6,pm߽,̤I::I@\S pr:>5Y NSV]/GizS25<]~yj DQBw1K fcMI _]zxo rFT4b (NR iܶΰS~j)i`Mf(qrNdVp,( _s#?&+ʌf/{!duU(N%t:}v5WTY.\TܚBC Նml<VSFeBZ'c>S|nZcbBI:w%>n4>fܡ09)6(7ӝts jMQvfjQdon`<Ǵ?<_#V:Y_G!<@ލHbh#;9$:{^{gV8t+1hRor&Pdꗧ[@u0־x=4wUD&'N/2603#"1}I@+bO@+l2M)L8tFmѸFd@6oRHI\A#X^0pX8\0i fePu(r;uFNF0Gnvp[&_ Hژ%hDz R-^i|Wٝƫ&{J ]&QAuU!/Ál_Ib !X'yRAcqf6gM7x$REiZh@9օLqHN5Ӎj]51>EG~LnvUBPpJ; q4%݋K@b/f;kLZ72 : ِ iH~z<9T7tD1Jy; Rq+\`W/=)ϥ:ecv0&^9 쇭1g2nqb?5GsmoM5G,눕o[69&q\x0@'fedyv]986&Ucx- Tt}4I晑(޷(A5;y8H)u2 }C*5<~V8W7ol4M aG5 AFQn_p3phRTkR903D %vj4w:rX4pĂ# <( <A2L NQ!wрץu ekuW 68r}9\W降 h }ݾB?f]A}F^oBzsفJŽBLxjdY~'q_?&`_kJ4;wB|WarQ˒ دP yT#(B;`2?`*q:'uEDjSYF'ӰQF\ɥ7zQaFfnZ3s7>QO~Z] &lQnP!n0>`OH2)CgT8Ѹl o|E>r-BV5琒A*CpJBNdRjj|_9^g5ri -iD%\KoH㕴.IH$8Q+Д`-)Goؿ>iv~",_w0Fi.W3JGh8(P7~f3h|mzƐi>0 3 qq}mFM#5#dhLK1?1i%1Q3;r9ɏzE KV| kfNE 3j{;5WQ,cwAP<i/.$n*tWܯ؛f,ZN8+}'i^fU6g$HBҔ@"䱿x&MnuDzt,#]_W]>G`|#`1ySAg:!P]2)B_I"ka"頞ޓCr)n>mugo DživmyM&(nQ\%|տx驝P+6Epw< J';Ւ/Ʉ|uF,fsFou8YQVAj-GEaѾ\'l3PhGS@%n Z1d7оIRO"fX][)s=}|75zz69S.@G5@% #!d, pCxϯccEο9 \&v+׎#U=?a _SuZȇېD0D)?q,R2-'Mzh[ G5Jѝ*ӄ`ePpkf$@X_]g_wwH4_'OdNix]+L^|yİ_@YǏ!BІpբB diks qW(=RxOAEbnV՗h*G?m쀣MeBt uAv/Y1 9A 54|%&'B{TPYYD+Ix.2ЦL!$яeca9EJEbGc5RtQ.#uP߅2||r^6qC 'Cib L h󫛒<~'M!{v!|1y@e5C$4E\]1ytMw+ h| }33X%k<NLNlAb {o^T|VE>>~UF8ݜS3܆1kcCPmTQAc Į2!k5tqOփ 7aL~X$l y w"=J^KkDJቫA'铘Uk>~,x/=KWHm^04*S'ٻcM[cVBp1c^*1Mr/{MSEKH|$[s)$R17InFƃ&|q X =$Zl{7)v]`;!`!U98n?6E!s0%ClןnH$BÅ [^M} n&P "r @TCI5(v5̋ؿ![Kc}blfrwq0V oew^.0F:7sŻ(n*! 9vLYݢt#.454S`?0TAMi粜Kk?HMoJgF'=l@|:h_r.|Ay0܃`ED_n9cK\mXYLO!$ Nc5=quK";E,62ns5z*y}P=vZ&P8RgIȚ^ i,3(^| oyܙJKlYD__@QƄSeHpta O׍|e4vA.n PZצ`cPvg ==l"kd8; dQIs>2#dE#LB@=fnx#hЏ嵸+>brdo ?-(}4SLvt6(hׂ~+"tnΠvh)_o7B,_M+Շ|{>uCbǓ(KrR^A>gMa[k.ՎKa[W +!-0Ŀ`!By8- ̑܇uUC%.4N͢8 ? {7% )P!V+Jz#U\x⋰iggI|#FaOf"˳R0wDv'$Q_3}\.S Wc7܉%xHzkZizb?DZXF NS(4˾Nl11¨GB,q)xgVwSِD-d( dA&+vR\uRSDLNqKvIcL] kSIʛk1 iI ofmMllo-?7[yhG?ZeAV7;x.ƻL H]>)#}5[~}Qm%pHh1)ǽ YMs'O~4|r|E C,)nzmyAL@)Ǧr3Seߞ<4R9@\VrXaW~ÜjxZ(C '#H6 %bY$$oB`d8N2w.9nqXɅ:Q4 0r?W<9v4cfL@EB!oY3T`UW ʩB$ VFCR?E OZH"$1H S 5l@ɀ!dC[vu&Q4c!ui 9%9x$ i]J{2DgHg(Gṕ$o F, u{8!uT, P(/<}9h >)0+%wG 8aF'.LVⶈK^ZbF"pGVoZ[ULjT,ֽ,^N-xj\{OZ'ts?DgNWiWF ΡIdIcvR335ktk5ki6phCupT~Mkp 1vj7MCcs=y.IDAT:WK?3ZCtV"EiMyܰSey3ryY>u>InIvǪDCS4q g ➷l8@,`UJR8b+ęD4miuO>z{CN/܂SN‰EI LN?dI1SWgn ?uEH)i>38׳M|XnU%v ؑc %dAm>k2vZ4.3iX#i"gsCԹ9ЛTe@$1NuH1;v/k8Ȳwً,BX-tdt>ϴ ~HG&rmj4p%HifM &%܆<OTm~SSo yڸߐn[j2D`(džqu }x:;~xqh]?@jœE`j'JhZogLX*ږk(>:j<هv @8`B;ثژzLi4DmN0yZN{&d*I\04(MH^=.lLO,H>^t7l1 sp3|~daktt56mFw< wPȁy#s$ϿoR\[=lZ 1׭U@Cppc!5eo@ڄ ^Ȁ.vV3B4q{󬾑)V[&mO{N=p4 (E܉~;cGΡ:DX{lG9s"Ŋ aљdÏoLBUMFp`?Wя 78YyQsY֟>omhmޘ1qS}vDAm,(:1v^LtQW-3f[Klzlwe/K_.'8 ;㗥;ژ̮9S JL9)ˎ. H,oyP*1(˕Ucf4gbhShțۚ0Y@<(?"Kwr_إge /ˮ! o)8@&WvdBmQXz9%擬wʜmA?iM$TgttE̟} :WSR:6oϹMoムؐ]x+<P 5 ҕ\.v&X g1lysP~ĺ9]1z ?/{}aOMFfcĸ@ Zcqf22Uzx۷Q/o'#@|@2fkGN |l0a| I&JT4sJw֙ ')@vMw l*XZ-&o1{1Q1{EiXƩS5erFk0߼⏴jq~J021#GtUe{f9k9+ @A͛7<} ӫv켵xSOE0*O d2vMs͒-2_>Wָ(ݯC0)@GKŀ^g>UIϋ{-8YۙҰ-v׮Qpυd‰0,{mֲj}\GZi#׫RO0ɮRcՏ70 3fj:jM蘢19 8(B_3brOkN&QLk63}V 5 BP=E\|Dӡu ~ P!nCSh_cW;z7$2%;2; {s#v}J^J 2bwN.^YY[]cEu#tmuUaWaca찅 lz4$ mC`$?9Moz,FR40}#{3L+p\o$ Xz>]rdH[HȔMVIPfo?"O`\xJP cf&(Lenc =c+=\1)9Da^;Zs m jT⦚e,bn]?'&[:og~)>˵[嬢mqLV#*G7O1WZE3Y{^s.skXH[ޟYQP% zm]g?^qDƥG!*FG95oC/m*^Ň)dr*{{Ln`;ZIy C$"Ryb~4 [+/SSܑ!+էF[}RKp 8 >&o uo/-X\Gs?Cg-q 萏Qݑ5l9bEY7)x/0l%Px76/ֶ.$wq hq:W[Dw%Sk0!sUnF671}:$.)yn)6;2(Lf&7h*T )%SkU`O4 Q|jIȩ~04]4;e! {$[{_3$? Y$H]ĪG&q,w"UJ   |ݾe~xQ5xkL. T< ^7'!Gw$Ȅis׀P70ᐼo֋Xz%Kpi=g۹p/&իa+H暰u ;yKrf*BhyzjyU~lƣLToc&GHۮ)#ot9o1acjylSGzϾGM>YPYq&4Vӡ6:yLBFao;W"+?.+X 2'|m}2fǟe* vY!ݢ v/ʓ#P68'Sp [J~`%P|LRjA'1>%1 1N4 4"aݯHsﰾMcE8\|uݝnʎݹRn|LHN v0q|ވaO.=B2րS> 8]aYI1Sb'/-@ݻ! yly p ~I°o6rڦU 7Ep za͎}bv(!O[b~ _D-ボ8'^IG}d'u?uDm&KF$%$_\CWNSƬ?~ـ-9+m|mǔ5`rbb*9F:%uJ6 zPgy[SU`e8VQ-in0ѴnwJrPʂPhh2) c(.^2jcE m1ץ ߼[m#uh9b߼`,OUs!9%}—eSHOqRoO0cJw p>yv}euL͎ɮȴvwI4ٕ\ ;|]u3ri^U$e=#!m|H Ddfz6~I"Y`j챫Εrs)XRߞؕ$k !Q6v.-DåaDrLJ ;k z ԉsܮ /4cu|I AqփgoBNFf IvX La!жHޫci'c?ϠfҰ@ڃ!gMSc@%7ru2a> "g6A"+g9-m:'tO3> ͦ<5sr'VD~;?))'q\CQ] Č1`2jкSLU m3 _OKgѸ`~cmD./B Ff/o:!M: 7Ze_?{B.l#xII|3Bm@ʢǀeo)G8*Q3yNX9s=7h5s[x͏y.C0%}ajw ! ympoZ\-WLO~ $=yj6y`d[y'PIasb@n I->aN|P`|uN8$!yS(+:hw@wOPW,Mecs 34[Vz5OraϿ.8:X`P}vO`ND"wPErGɛ/OϳGQ$ @$L&eˬbo g(L`_|HBY~<5]ÀFc4DvC8&A4nj]sV,޾] $tD&V[2aGڈ&1<(Ѯ_eQ$Jj?L3tK_y1kr̔  ڕ ^5Lz:W;D.+'gAVN&Uk]>na 1|M!_Џ#0>/ڡZL^$]bgᒱ5Udy.?7RwIHҐ#e& P OEWJ hO7}L?VGoYmߌVVqV:nZ 99SPGqmnU(_;(iҤ$mJcufʀ.u5"qF]+ A|md@*#ATTjai&Mȣi>vi}߽-INIosns^?D.ُ ߸f6m2flk]mszcj+L<7Blu2<"Rs~-͛?s[3猃YdoϐDxPΝo*/\( Qpz"1)JPmL^neD)ރ콟K%Y`{qhDVP𻉬+Ql_8:vd^Ck%syBH+/ذcVڢ B'bޯt9x}}0 QXǩe`wHB5IV/#{h8vPc48 <=j}Ա7pJc!z:"}fuό f25F=DT.ǘC.L# Vmk@\tP Yi J=sNTqE;{F] PIktVpT²d ڹ#Eb1U'AH'}dlBř&`ikk9 ̨?z H._Ξ/H[W=&uv6wV'!o#EmѮ ɗd 1&0A6l_R#d*YiMM8ȧ[uz^71 6&q/yFc^< nT.A#KW۞y׳v^79QL%ȼw7`:4>M{. usͺn?ܮ IoG ÑpgOSYNi$">E|y$?V>e?̂wRg&ĵ#I;"R>":wv&m׶DzC.WO$FJBD-Eޥ#9>#%|NwW,C&Acn3܇O;KL#PQ, sP#0| ^Wu*~5:}RWdzl ]B>@Q>9b0 SI 'G-I^\HJdޜ, ߑåF6ZFI轐~'~iGJ9&gsaח(dQ2e-S!+#)tnvN?>Ddr^A?a@$|}g( <7h B8qP?"xLMd_SW!p~[C#t_0k&mE@PEm("40jxsui"(zFG2ju7:tϛfs5Ms7B}eޔ4u|Y޿o[BW("Do֥*"4jouŊ"(MU3MPE@PCYUUW("X/x,\4IENDB`* h;hj_Vx|uL_6R;)nenuqȶhqwww](lE;ŭ8~={99d2'=יIDaySA^Z͛" ?  BIN <Ut7Y9$=TdޯRb 6I'"rqrv|#nmimEciG-7 ھ+~ C]uP7oq~b^h Zr1{hIKь߫1p:u:Y(?.'Y]%+ %tux^LG}NFD$֘^Otɛ?l '-!!ەzq<[wa69;3AX_.VTى?@  o  H+5/O'8a%ޏ2m^\nx4[p%Ѷm۞`b۶mؓd≭m6n?Twꪮs>;ZIA  IK`F ,R$8 ]r_x>@PNG  IHDR^d=3sRGB pHYs  tIME 3|D\ nxLct&QӮc۶m;@gc 7:K8c~-]~"aQOt<{Ib!(BBi. Vr(;#Tk"p0 @ů[k!hDMgSEڈ)]a$[6nR}2ˍ1 \3Z &EVPyJhYkRJaeR X]*),n}ܟlRw%DWTߣx@]; 3x`QDH;siN1BO\W.~ +[_w.lxſ޺ K0wxO,FG.ugu6Od<yUIhy%v_Y&ƅ4-Miq~m%%sbuSA\i^yUO % ;psG?@U .Ur{&tKM 4'L(R> ^V!WZl+b20ST J8@B9T5N &c >d(ǢP\譬2(Br\*29F@@cFHZ-aq4QLHH U4q#6XV5i "Pvit_to@i,F+'K'v=rJ>YEI+TTY]eH(6>i>Tv>;Sn@,P+_L,9 A0֌re!&wB z@-ZDҩ8&RHδ{@!X "9-;";ܻ=Y}rv}<[ ;g "D 8BZ(,~+j t|J7S'G|ß]ٺU)?.t+&K~?GhՊ)JcE6k[hĕ HBg/\<4%b}atZwWYQ i8^~qI,$[@rg s:6̝Š̋z_'6" Hk#SߊMK˝ÝI/!@%v\u.5C TBCR+/6 son?v: QJԿq\iREJX~ng!":Fd@(RH"slP 8£U0B+{ڭTwKHq53֬p k_hؽ${@G8;k n3PDD䔵ɹ0ax-oͻt[mx/b2|A%E$(W⤝g(2Zk%!(B.P TL!d4ZyfP(B* ~RgIlKV++ McrOXXRWB.E2A 9 8 7ZPyM@,g?__J'C?ӃS_އ?ȴpwOB(Skh eqǎt8OӜExscg<<[kkX) kz؀7uԞH*TcՑ/N9=*Z,S=5d -i#nE @ yjyY)8R!IZyY @Θ4 aUծ@w1"(D&HE=ueX췿8<]k+CE6V\Qdk2> 03( 5!* "FSXa/t3"KBYi"#Bh#mQUQ5FCx&³/y ?+4UD,&" v}hLRyx'k4wO&ɥ֥^"R_쮮@?*]-NAdMƏ<ÛJZ7Ej[ :eƹr*>P+ ~ k@SDJ?IڿE^H3:$&`A*K&@AF"߭Aas.) # CH(0+",PӠ uE$Vx’k PAXEaiITIA.w_7PwbvRGVcx4*x/Hm-+g/rR E0`Eg$(G\ǭ5 Y|VnEjT}uO<AHALԤXKɒ. (J&}}+ϯgEF:8B."B!T0 f{JnRWv@*} v )鮖EV'IIP'\Z`t1"\X"q{D@s=BcY, K[m Q H3(BQ ZKEA%Y$nyJ\kA"3@U dЊEj> V|39hWdk+|?~8aku|6Ng^ᄆriRn^[IhρILͨ};n]X\Nxy9J3R7/ )d5d դ|#YP9` 0'j#⒪*T'Wt,w[׶Kp@!*/eN :&*bF]Ś  `'+]]I&ZT}λ[j#ƭթ%ջke((bZ"|to/YVfG-yLL`[t4mR 1VJD,">xhW:u.2Fhk yDDD t\LՍFf7te#̳lMhjN5g$,ߟxFVxNT,4b.! C1&*!x߯cZTCsݥn>4 EG{JQgiE}*]3 cX{VDCG82V@i3_Gc#c[ |Ab((>0P9Uoyq*Ys&K0+y\Tk;x݆SAeU=W,SXyflۚRRkF#\lj-wmE/'V'g괻+̻ģ[]=iE6DZ)2,dɰWut~W~4n\ܼ0xggY ѤPiY&´4! 75zì bݗ @HPx6 `UA_5'i)3k4" )PW9/_JN\ ^8Tj $T{M@,(<8pIG QI9Y5 pAs&_D`Dy᭻__'CZdF#IڽN/iwȐ"ΡNq̾ZlfP+5sy;imH)"$ 6TZy\U kŖѳ &:1L@^zJD6.|'ssIӻ_'v5rU jBS(Ahbap.Q4/~z~Xs,уiFTWnOk$"(AVbA4*]ҷm+ҢRVkKJ!"  At""Ie犠\0V)V MDڱ}U'!xN'KDyv9 WHx% ( @DK ܄S{aۍ F;wǓ z;w*G?#vig9Oo+AڥK}i}dp$+W/|`;y绿_Z(\Yȧ߼YZJ'ڙ۷;ʵzۋ/ )5jEuYEgWs>U8QӃPmpFsa:+޸}hzhA:9k_w.yV U 5bjEa`9]qWUn: VDfQ$VA'R$a;֠OYm: Jj hj: :CXwx3G?'>cc"swlVcci]9:)EZ)vgMZl鵕Zka$$*giiS;Vr@ D炯{c,DT\H 犤J)m@ؕl>Y+AG'D}<"i E㡤Ap+pnTL Y*! QYZ X@뼫f瞳^EѼV/0gW ( 'ǡHIv@s^P:k JH1"aȦDJ[Q"A,0m BHJ|;d!畎lH,fyɁwZk9 [n \1Y|r?{VݥSfpFz4R("Df B:"鬀pҒy*),]k,蛯=k&.~SYmO(iΕEko/n9w[{?Y[)Y9ivv_wk+mNԭۃ^{d <|AqxT^("9[W]M;N79Q uҍٹ;<ػRYnoyw")4 [/~7;L~_~jQ@,0PZӺU\-0wrd/ D&Ӌ7-;ؾ9WPuW9]T |(xM|s>/K{D)|l\)i$Zm5Is(2nsuc`8I'#3_8I$F R!^HB8@XlsJc ~Y %0+R B]ZV }`/ i}mj 6xf=˼+^CMOXm (6RYhA p4b#{ry"Kk'$I`o;-Q[FPAV*2ւF"ljs!QdYDKٲLޕZI,$:'`QQJDkAF4ǥ"Έ|+vD80#^̄@#(@> QD._ڊha7 ]AЈ 꾻r"j. @ 4"T,C,N!ԧn*>|Dy}qe"-t6*TG%߱J<<~k[o?Gb dzן;Vo5xO6~<}tg^ ,/u 'ER)&eޱp3vݍ:/ʢ%QZEy/~?CϼlD+OM&O|O_~Wzyq6'09ͶC<bM@2pA-qN/i/wkV:Fn~8REA^(Sْ4& Lfkُ|Ay:I4[0?W~)YΛwn?~޻^Zf'?mJQ$♀R/VX] SU53ԫ\''S!Λ|;Xo|_: yzB…~XD4!0 I,0,4^y,+OUB @42 NZAWNhFħFta#H1_ïr#돬n4{9>=glcr"(ƀ6ڕ>M %]g  rf[ y\QfQZeaYd"3;W@AFYPg2f99t26:a<Zu+/nwyfGDSOnBij>@u¾RSbe9]gq`pJU\h"հL&`2t$JhA07%gRyE"#FD5hc}Y8>*0c&.0 j4f}9+Y6uzxG? xf曥ȋ,@Z jM)z7_x[n>^w>c_"RԈT&f Ŋ. @@V?Qڴj xŭ5HmTNdD%D.4 (%{k]Y$%x׊i^ {2i2˳EJ׏P9Dq+0 T]4&t̼5cA5(5`YT4<&8Bddve>Q IG*·V+U;e#\'HԉejTTjBj83߾*M|CZ ;4BԹNT^f"gؗAƕʚj_A5;wY&$P"qEM@ASڸҗL8xa zW pAأJ٤R aii%/b.\9&L!8G̉! EZDP 0 K2 sE"]CI:hyq|p7 mŭ2$GwFλ˝V:vݾsA"Tw]Rd w3md* }:@@DV BQ% sλODdp](qdHS MtF Py ZKi2y_ OIQF; MC37T@7oъKW?Yw7?٭՝Nww'NvGe>6 '٠ĻKk `YpA̹vj pRzzv5T"nKtt2b)/_y>Iuye3${Y1Y^~/>_Ϳ8y'sl-;CjptT<ۗz1-tTlNh^fouk+<b:˯z^~.'?se*/_/*SjM</̠8:d[>]!Eʑ.I%ڶ}qsΕEltΆcvY"ŌgjJ,A"Mn0!j LHs(6-`0WYi MY!֤px蜘A@)FSff'nW*,b: RLa .fvB `2"hJ*?* =GkT\γi@kڭd$hZ1Blw./n+M@Ds֨ЙHG1,J©9i Y+?>Ҳ( g2}.@qs\FCEl'VաHc˔|j90_Yl !I!z9ṞrX uwC{ N[5GG0nu95ME ػ8N:%ծ{ y{@/{̬(ejň^ prZβ& [e: I1$IK<6:7V+ QHUzoO@| O=- -( Z[v4<8ܫU3%Nl<ERIQ2=~imm뉬u)/~Z@hozҝ2vȇKUziծIVdO,w&)r_8XNu%uR\˽0;|tpMۯfpYDcO擨z='CuѴ86Ӊ35#w|7/DR-FPy{4SX P_szt|<αLh+E9.л}}/n2D"P,ȡ{Zk9=s.D+R*^`80fWYs]DB{!D7eYx/IeYy"ؤ# qEmMSiqd+ ꯐTs5bB,hdŔ+4֒jxEQ̢|9!y=iq\œ`f:",IZ.=܊өRi "a}j",2NsYRCd , #f@PQXbiXZ]Hc_d@"⊴B(2ɗ.!V 5 3 ,sNY"tɅKR/@\1,.ʽu/ jMӻxbG 3%P AHsp!a@.db0׎zs(2DW FfV&+~6T,NߙNRA-!KJ.@Ѕ M$ncAԉi6ͪ Z DZk7_KBVg7r/ ;K[';w?~o$kkC:Syv^fuwFZzIdSwUQ'ɀ4 m +e͕ ?nB52jҋմ7\kw;6] olOȥY7 F~ Tδ ߽qyo_R֥旿t>űhcA"l V{{\ҷ_J{9ɍΏIn]F|g>?x|yZ7?Ꮧac]~KO}wKo}RQp˪n|Og^Z[M7}տO~(i9(턝 Hjג"ǝg}ŃՃi&B*ˋ斈< H1Q553iW>HYBD^yF3J4>@ FN "@HCacmf6A) <"kJ`^IP n8ɜb$hcs@2"tuFҼHJzvSUz~S2Mn Ԫ%J"5d5F%fRvɕPcD{RY`$:NZUdMl6WW9`iI KV, 9.F& Fa>xGsX}1ey>C!2 RQg H\N7/ HAؕE>$Wd zT1G\yCvlZ@RE^"H F |4mێhQHU"E(gE!vw%Lhly ߋTuUMDJ )-,.FYvXIdB$X=CbmĭnMƣAp(4Vq6L&cQ]Оt2݉"Ŝs _4<#3kE8Vf!1Uu`‚ADW<泉w^6 Njl9:^ TdNp.xNw(tߌlE^9޽y|}VOq )F;jleirf32[Z/\OI뵟{Mpyyg?'~__n8΃E[|`DN BB6}?>yyePj{7 rYݺiO}_D`\NPGphu>4h=1H+jx+W6ׇedxa `[_PSҟ/}߿ȵkk/=_Pv2@~5oyշehv}lmu#I80wedcp wVqg`VTVFju:ÓI:2eFQ(e(a:}_Lj^@Fh4M>89ʲ5:#jz/̵MN .ׄ, G@EP#|f# A&]+e鐔2Q{R읱Qό)e|\PE3"R A`W{FUs)"ƽ( tVDi/a'D "ZQ HEYdMD9gf/Zц`7(Y^Zj2# i[{VewCiqbLh8Ba\PX-f6Zwd6MOK{u@DQOyj@WIg)N!/rWf'A,>!("+cu>˚00K=QqZm:H:UCwy,~vh;`DZOv{IB'@0>4hK/|T7k_lm "M̲խヷ't[C[Da2/m>O(簷no=ajvzpw&eWj>ejRRI.0+lW` jde U J@ 2LeNLa{w#g{iۯu;_K?3<:k+ǫjV|;ު9by_=3Ž@}(ή\~/>;O+f&9c2Ej{UDS+""MT4UYzqzpogd2|79Dtg`m ϴ$,B}،}[TćK:|yg㩚ż(BC@.Q\nȼ\8vg'}߭ "D1MjqbՈ̦9h9+Q: ZNΝ.ߣwnZXr2KR$3XFp,N?I}h '&(z4atQ"j̙1w0̠ӍUY$/ww.G"9⤬e}T&E=ލjkkx9_&֮NUȁAJQ޽^^t.pD?zY7C(]LYnj}Y 4wԩI &^ܗj y蚪`M}Ʀn< }4 ZE; f]fݬαa]ׇb߈XY`JIǓ]U>NGϦ3gh/}skҬ+EW6/%ih{KGMd{7y+)ŁN~4f^V|9j{'5A~ɏ,__ rq'Gw^ "wCPic৯_;DXa̚g^|o2Qն䋋[w@4&;.ʂ]ׯ]|KD.a"QōG}կmxou[u9kiQ痮\~/i1U מgW.kA޺o{^IFYF*o|_(G#f:òڽr6\Wk;y_Cm|zG&'_֍7^&1~0$'KYr/I$ƔMɲ+F^$f"oW1HB† 2G;.Y]};qbMe<9j/sֺ.4٪YiN!8Gz_iʕkѸ*KvUC uIDMc̉)Ljm׈FA%eT~2ͦLE5ќvIv}Z䣓,砆A;Q0E&6ӲT̔z4 IDAT6v`s)9ߩަ,1,}̩ $!k"F$h9&p^9v"!¹"do9ǫűo/B 뛮Y ;E ju,ƌIrĔҹ8HM`1*ĜBr6>aSޘU{{Դ<)vu:{x'>/=Uӎ+;xmuվ._+kޝ(O$asFrq+iy8=8\;XO&Ӯ/ڬ6Y=}/3z'~0cдnTlWknc<&|pp(,v?//'ewph(y o}i}xLַ5 mD@L%|o+;{Oo/^J$+_핣x|v>|=ĸ\w]5\OyZz̳~xֽ&W[Eg5ޥy˓|O-9v e5i._sօbEdbrSR]O9g[9erjrLUR̔XD/ڮFU%@C"H)**+__9_@%$R8) >k"rD'g'wvXMM)ݽs܉  WJ4\^$#(?#Sw BC\j-@U(;V`̹4z9NRCf$$NUۮcDR>Oɕ.ޅЙfԣNM[%.Ũѭy+ML-~,U9'u @}ߍ cS~\r)o90I"9hV8 0"bv*Ğ\"EQ :G(㜳ЯCl1EeL-*CL뛲,TTQը(*3]{[[CC9( gӶdɒəsZAY@H"YrYẅiQrsH<#6 S9zRLL}"OZIja=.l\M1)e0%vSLRlmحљX߮6j{]v2, O1+P[ZDGDChb63,fq<38|ZW|}:_^kZbW]vtǵA_94Sպ58zw>;]˰>k4NY89$?]ϏU5qu{pPlN-W?3O&vv-}x2ԭ#cWl2hݵo||.I?2 P}w>;4U}—?s1#~|[VYɼbz`t?ԧ֨شoxyfwɍ݃_,ܽ̄ʋ^N@3sϣ~wx4>zSn~] ^R-v/lTbAr7t_Ὼsf> }{XCSJWŘC@!_9jRH)wفi FլY}RVUuW#svuB)!"#3!NO5ֈx6eNFUș sԮW9sE"d4!fvjJVLk4XOz6ٌOa勚!g14 nާ{|B^eA`c MSU5""a9Q@JU4)l0s9 '9PӲ2v[[.s]MrjL# slbB|t"SJUb 7Q$9(!%d4u) T%1. Irn3j rR@ fSG")1;Kyvթ[(3S s1UjB]}:v Ck1e1v$){a= @arj@NGDSq< cS[.F#L!G˨C|,'ɚ Rf>1c}_^MM >|%xƐE$G-<К/,EL̬Dt\܇*Ftc"m(h Z ˶oSq 9=;r~gщcp aIia2qh~לֳӃ`ZN8z;fc4IB(^Bp"DY mQrU*;)c>CgpxΕb13ٹ?FnA??k鮄ӓ|y::<]zŝúpI}]eس?967ҡ34 Zz_3&?ӿ/;/>'}lݥiN/^z}Szz+_:Wb7<[u[3l8iVo#pzxg%Ϟzaܭ$oܾ"g=Xb增NƳQ؅qQ@h6d_޺7̧aMɄ%ϒ$/L. i5d4="8c6C̡֮09yff'*0!cSE <Q8E=DYC"v9&C;9&*rxx<냣X'yQTTuASlYrj@EŘrjZTl;?+./߸ WL[>tf^>x¥>+%_'ٽ 7@EQ>wR66ks<4e1sJGbbqezjAR=k/g~U~z/_/,Nc谬K:l~W~婧/Lմj ι. 3 3$$mFݐf)g&R3UCDb f$tf}3&fFfo)@D TUU0Я/Q];5@!;TKbu_s@*+;FCD5C$ViQV޹E4C&,KH`QyӜ5][2jĮ*h@FADC ,ifӓÃo%J"YyM۶[o߹5XQTCC<%E -KvΫ* b$b$ȞrnxY@~d`z._Tc*<y K$6ِRuj2r~RFT IT#{DBʒއ;DŽĄ` <шUϑ!E芔ڡnΕy4hʝH&*s (Yts|f$›/ :ar|rrp0x^",C#y^'7V|9dz`A=h+jLeHBp78tF rfh<^X8b3UӢ9ʺk4Ijcӡ »tp7*JJobҝͪ툰|zpQm ٶodA)P3^y/|LxT*"Q6b5̟|CkJG=R뎺좸ݽfן'u-rYOZus~i޸ݮ{9_~6w^VY?_O֧.]vvn|{2B-}70MmJq ]5ݺ|[`jijY׿/p.^8|;5gGgx<ܧ㇀܇?͏LѯʓO>_S_VcU-@@cJM 1BJL LU7lU!#4#A8kf(9! s+J1+9Dؠg`">j)gQI)QUϐ(ވU!J"tOʐ1PuARbدA 4Isn؏d#0QSÔ"$ADC }|Rttza}6?<*$)4"Ƹ\,Մ]1aȩ~#}\e띝ϚV5=KIvoV;_ll[rXɢf@TN 1jMB;0ޘLR`rhfӍtEbU_J5q~JXEVڍlW$2[/՟?gM/~va]#6Errh{4uV5k߼_ !;hZuvɏ޺'@O?y.7xz}xjW&nl-޸v}/]|vjo?] w.jl?\zv!.^x|yV<"RqyQ]pR /}GέdlxlNo"6akg ]7O&da`j QnXRPzh 2*dN$k0bFL9FTS}ij2 ZLb5朕@M%"HJ2 sN9ѬD#B=3Q}!m[Ue,;>U=,.<r~Xd2260>w u,4 _+qYnvI/*\<7Qfs% 3K}r4mU-(qYTԥTT[:Ud2@C1ٍ} I(|V2RfuȣVUsrDҮl<Ms90PI9D& INR.|!)i LrtBQ 5*jdjUQdCY M5bULR6C.bHQi4k֫p,*}̮qD@L{'Yu6gLI o'G.\xY] @4|4 89&$_^w>N£RV86vzIEfQ(,=$E\ه+H-":Mȱh:I)cHBޗр-#Dw>SřYǜY,@[",|C9k$SIIQ]!K:>Ƿn޼u΍f11?]7߿;\Y? /txqݦeӬb˚4Dՠ^euFOM#Mǒl *UhhQŪT*[[¢=$cJuRwl_;\QQaހrpޏ->c=QƿwMܼ~{oxڏᕝ~ʵxas'?|/nk_3t;f/]YkjZgX ;=YfWcz߾0j.j݅kO'ګA%=?7ԫ_w*?ܜ6/}l'>g+kǟ~b6^4h]s5PIc߇ÝbV1sh)FiAA&]_rY+hSF@``HDFYAB61tf\E\.,@e< 瘋᲍GwVM/ĵgrmlnNB53hQ8Q|n-ff8D !v}cN*hwgB;@ǓM$dJ"YdS8tP!&I1У D5Bd"͖sFC"V I15DM QA2ࣩAh #|NBĢSjF1ƪ/9 ]I9 hg:BͪjNGtUǻ!r6m챨9j&us`9%轗ba68mx9Lrt#9܅H׫eJNc(C6ڶ_,EYnmK4m0qQD1;fW1o?y<3>ڿsm{O=cW½~52o]M^s7v[؏=;/}w-?O?lz4dԳU{eݔ#jb2R )tb̄m&4sJE(KM! Cm&ULI  U2'9@Ly<{T@cBd/zQKjLx.@@S1P HLTCLGMFcHDkVr)&YX]vEdպm(qׯ4ΩYJln"ٱ IDAT'R!?"TrugBi#EQ33,prz:?]֣*vMUͪ.XmY)N'{iߧ̗ՐzC %!M/Iաoced"%Ps*@ C8 r&1C28D -&ZebF,`@hj8xyܳH8$bŔ ;iLjj0dSIT ,a]E5=xx:;;j]Y$/OD|]Vh^dˑN"qU64GqgŢ'e=nUb);@RTƴٶ+QN!Qh#&xL)rx}ߔl<*'wQ2"s+`Z;W_O7.$[h:&yX7l:2{c7[KVygޞN]Ph\Jbn!0_` /OCt ڮ{@˲"y+9{羼}ikrKU?$Tl5[4oͯ\xkT]-fME*­y\U}ȶXӃ{ۻ=L<].>9NΖ}t{ |ƫ_ud%N?@Cuͣ1@rT'Z.1v}:)G.b@)PW̘s?'Ī N L''ǔRH!(sJb*4¼gkO^im0$ukU%GsiNyhGF5( I53( ƬJAEY A]AV1z S%:AHܾDT4geS v^1"֎ !A=gV1_89$,XTsRP$0M\BŽws:>)3+EUC,Kf.=fms S ԗyLf4}c( *,g0*sCnNK!z<^rV:IQNZlq "<3{[[};LѸ s&#飈36r]Ǘ޸СǤE5[M ˬ)6UQWMV}{ewNe5S*u[մ1lmH'Ne( Gu*!5u=VAZݣ1HN\.xzkXjR 0)]:[ ;]G~R {U/Fv)/aU\z{Xh:|;_fվ}uoomT魓QN/?|,{;{i{ppgswG[7o~ ٚT42whʑ,sͼfKrLޛVYylE4TC4̂؅D*G l\U@ʒ6YI'@7lV>޺u{{$_CiJ8#ۂي( XBA4@33 $dQN DwHbHbV_f$HpjPEo?A n Q@|HLSwWs) f6i[Mw ۧrIYKsUHUCd2Mz+"S8f*:$68礔8iK=凈v= &ۦ*hwV2I9L㳗W.AΪw˛'Gs퓺'.<<>hA$mqq ({@hie\u]l}wuyR5<:sc~=^N E],qTR<WˣP}U;'a^{zOojߍ28īG7=Ï=Or՟Aܽ{)RNU;_*d_ g7J<Lv*[=o秛-t^ɟ~O~;_Ę9:珞ǤG$ UAR=u2$*BĜɥ{BLIA&MU{$ NuC4cG =JQ30vMUwT ,E{A˱]<@ #)_<1\I!2;i´JbNYj>׹Ķy9\|eS;bJT `u"dE;[Ah:BIrlij |4hih&h X&H.ЋysKI1e(Y Ir.RHiU'VJcBjεsfBF21zEpQ3&b&b9H)W4i@A*Ls8>0zJvlrԢL)cW5A5xuh6M)YӤ< L!D14 p1E{4/M9j&\e;bdc=9KPUdQ#u;c@TDTЧD8N4qFuJ6,yEiC]\gVtlܺ1}f-1!Kivp\8sa_\m$U}u1[mEAT̡jv!J^̛Pn?R4 d>F^Lf=hnZ*57xFG! 7VqOm< ym͏?\_~;7^_\Pf 1>Nb}J|̓?vz[Z?׏O?Z./ח)~qx[sHus w0Ɠ̗mU/ɵv rkH*o{o#y֫:aߟ-/nW>7~ܭoP_|ދ?׋3oi[/ b9fv u*0x"BBޕRD$3E&& Ds=;s\yLbQPDޱc$(Y̔bQE͜gBPiLS #71Tqi |q6~\`\q}I9KCIYSՒͲRSԢ|MVҨEcM%yUy.Of*iS*LE;7EST5!iAMs*|]>>f1_]Ϯ \. (qWʿC?~aÇ{_f~twQ10S (Ld>R c&b}.L#>y uF0e3sĪ =Ĩ.8UT s*8gu%qL4&5s*5CvQ>9E3cuR׹ f r ـJ.ޓd&E8GR#]7uM۴Wۏ]9>J>^qg]_ X>ݺ9;:<gMuuGv7/7oN7#Rry9"Q\@A!)r&5^, Y|·3v~W}ӯxn/|lw+>j3+岱|3_ޗ;ܽ۩ W%Dj)"@TJ]7;&B*0@vCT4EB0Fǔz߶ vRt/fGiRJ`BӅҐLӫjZ3@vc /u~#'9#&<-Ōܧ\O>'q3up0Ӌssv]?ES8G7nSʣCLA;3'gvRKco6x#{əzk<==k\”xAmD`8rB HXrV0KӔ!Wg\T>"Ʉm4pIrI״?F%3!ONj3C(x\5TM x*LC X"bm: &`)*p,62 Rlק>|~9KMmn{%Jj6eE25@v~/B=cj0 :4bf"ErruMBDd+Ϊc֡+~T5xFSTuclLH0Fpr.q@H?tul[UAh޹٬%QMgU5us d0-{Wr)"1FCTI\8ZJqsupR@-xvTMsVcQ'UNV*MD.,#NPrxf:-G'_!J.(~.9y$,F}D`Q0hS,!,g#6s$b<ՋR.CDHT5W1 ᬭ-RDWČV$!+/8Fd\ƔL ̲p`E$:Mƺ’n?l>\3oLuja珟4uHv\ׯj?hCoCŋy~ Ao9ݼ]@jv;1^]cfC;9!vZaBhCT ٻ7Vss<(xs>a0Y8M q,U hf3V w8dg'~ڗ~#>z'KJwwyCzW'rv:J;_p|rѻ?ɓ{/&|={ѭW?{_;Oߨj}`y2~ ?nߦ^>|JwZ5ݗO~O}_Fհlo>ߝV {?}g=n7A0 lqPbDk+` :UBUCRWu+"f(jXhȚDjTMM\r"rq+1w1f`&A@ !f((6HR$DDŴ:$8LadfCq|TKoal~f} >*(UUZןՋlqPЋ u$/rB5oz{18DdR\ &CQ|hfM~?n(6]825u c{vōvcomP̘9w]PR$"fhJ}뭷~'~⭷ArHK.߉sٍyUC+9"S JirE gW$3bizhrn*11\| QTK.@LDvM>@|Lk6Ժvw_>#s>☂E;/#[cjuk߯N8+Bcc1RFpJnJNjQM C |H9S8@v~x͜G7ΎWRڒ@@4eۜ_#ۼwݾ`ypqu\̅4_.~bfޜ?y&H< f7BdP, ,1n3"w.ИߧvY;iL"0`[J,㻮r@hN>q}ŕO@?v6 IDAT~}~l> A}}i|rxWsZCJwWǻ&vw/.|ϼRy^ G3~_x~ރW 7gu6Cޙv] 1~z._+o;|W^{ٟo67Xc9څݏ{7x]߿ ] p8ir9{/?PS'\5EEDgj9#goZhcvՄASJyc"G<+"!xh(R @Ęuds,R{F1-E'1!N qd$"4G+ fR"(ёyaODE*ziUͻl}**}ØխY#zB]0yd@b%g0E3{(IU\J v1tv5䂟u<8}9!{mCfUU{13aLyD"D@hf4Gu///|oܸ}0)Wu qHS4+ 0SFR!,Vs) s\DDS0Lm^bRL$B렇(;4)xǓ1[7կzs MeQ"Hq,8StB1k6hh̨?=TF) UU]aHiY7իL]EP2 "" > eIinliRξM'T5Uc :1&t#Bm*Tri}ӒHDd`f"#5MSX=x zuզC=kη-f3+)@4^*c5\Uqe/KasfXt(:uk%Rءd&.QQB4 2R0(sJ#*`Ž&M{SD0v㠂Hy`8末YB*΍11J2KEDKNUYUK)s\49|#%kw_kW^}k'''˙dS/AQTRH) ח @ h:6KΓLQ]s2{? c@$1M^>0qSz#"V7`:"*"R't>" ;H~LgBtDcQv0]みKʀRu)I%":1U1_A*U,*:Gޙ1\2(Rp2#r /@II0 l$9G"e3깙iS* & `%hfmӤ]Q͕Y]9w8]ŌgRh9C4y[ v}ux½ M,cTêIܽsHγv~yyjT.A 1zOc=yph8klϷE}χMQ|.9;#˒W}[DMsnpCn|^Am9o7.8(],bю4cNfM]ׁO?ug>5Zl.EQ(R U̝cXy{R1%=}}ϱc:JÃ4lN3hN1fmC2 CUeePU)GN>OW@iFcFgW1qtxq1k훫'߼Zuw4KQUD5ĠM_^{/w?/cfNĩT,FSA'B#)6 L-x7Ɣbp3X&#”˵:Lui=M7IUr3FK*uS3#B2 a:U` Ġc$d)=iEChp2i"gE$1"3^[:ΘL80sATXy &*[) 2o&0hA1" q$35R*匀.Ԏ!=p%yps.Z_o~7}B%.  &LB(uO?ּ9&Bc*k\pNE "8@+79x6OU-T!'}"$Ӏ D/!$F1 3hA!&ƪBD7 TFq뀪 C;4E+..}V#b@`)L'>1!0JMq}v"LS{J(T-X*Z \WAe"MdUy0s(͛E'V'9o,6~ֻhZpXc'g:ܼql} jcT+ͣ~T}qvLbŐG6PMˇ.T*\R1wlrBR]-5bV#?}9{yUEՍ!_=;݂䰬(rZC+Ǹa7>c >[Nݦt[m@)ɓnWSRW&ϼyRp􎁐YQ.윊*1w9s|[C;DvpՐ`Fu!CM؃OB8Q}g-6.vm}`^^^=l͏xv;:-v>u<^o@]5/ϟvХ窌_>|ӯ(Oʃ;wN>by{9߿*/nyvO>x쟾=曓÷OO"?{Ke5 :hMUv;?8XD`f<c2v%gfVS(""9h hZ096QbsE!t[5C6)郆g<ѹsd) "3CUb&*2BNZLU $rv7&@dbyɚ%))&#' mj)fv.B)X;~<,h@HDIF0014dSV͞HB㠢˪2Kַ#@ǦhS;9U+ e` tOKó77~ݻO&Q7ߠA?3?[o+{xxY U0~DB1ƈ`" CYĔj 1"QYVbH0`$8yHe1(@ TY]KØ#HhE 0eQ#3(`H40ddf:#1L[m"Ƙf ̤@j:1hL)N]Ǥdb!$Y r%@v30sY0yGI3V9+-8DP$&j9YL)OD`%R]UإHC"f9+ys^C(GҡKNA%;q8aOQb%_TAɭ6e=uv+.7ŬlB٥[hkfù~@%&p1|y]/_(+*BkcߦиO֋#Q_&>wMO²nvm78 czjI(i9©eՕC:wGtxu+qy4ra{gG.V.eYEa㘖99k~o=X>'<oՏ("uYޤKrQwɨCSn^ˋGb5,Nnm7}ž:8\ {O/gXty蝯բ|.~x9?eY~Se _ݻw뻾|E XNĔ)3!1'0p cDn~_EF./OONEG#_W`}̚(mmt:*pMXTa!Џev;.*mFb*e;\ 5,fM?vIrS+juMm:/ qJ)@)82HUsV lA0;O, MbV3yG)iͲ|q=sL.9EIYdiQ #BJ95Sfƨ"CR@9S̾lR싢@E)il#0oA%ص  ./v(۶'.7Er_;w>}+_n)"`Ā`IHhN9$)c7Ĉ &TJ\y!(!("y&$)AUTj IDAT#$%%&CDSYTq׍E Cn;ӹNs&aj:ii"fQxshِP&LUL%) QrU"E!"Y\c %xF 2&dr;6*(M7;=zrLeYidvlcd@C7P̫L%&q*Dfiq 91]9+wk5t8mꫯ\}$Zzا|I u./.ʢwuUcG.I*ƒ=yAYήwnn W{d6 e>>Z"*bXj5؃{GDS_:#3XBD<bC/ ?Hn't b׻y48==&}c*6۫@8o73䝎ۮ }YY B {f]~8:9ZG'^{x# >=??לcqZwn>uӮ~lÓr5lѻcw~}ۋwnh6jSm~z+Q8Nh1n{WW?OOk A f`DfY:&D~Zг(\gMSxyo\.aydsxqy~58usjspTl-4i& s.&ui?`JبΖsܯb,X!ΊR&L ٗM .儨7 Ȧ,&̰yUKsh D|]Q43!Q!69p0^QURA»!BYDcƮM,MO, &{b2QW;/9Q}PռY>&:IJ/\D7_{oo}w*QLHP2}6sN0+uC&"S @mj{C$1""9 䜧> PAQ !,uD L\qΓD DxL"i6CUWr,EIr,6ɓIL5%d)&@,cYGrކ>#6C1N P wbSfbC:HL ̩f<:\bUH`}?$Amcell̊eA d4KQ>$cхhQi\)n|pvOӭ~oOOrSU_O>XB?[={^fۃ*OyWz쯾⽧Oo_tI5e6 b~(~{?hUhjqۛƜ&z>}Y/ϞQgy?=9RﺶU1ϯ6mWO|vWj`V\^ulBDȧ'l"w^|ӷ|ڮ_\ml9ʗ~p~1 .g D?4n?=g`<1q&krL&zl~b?ͪ"EʑPDot*2qPHƘdD"ÐRdC0v|DØ1q?D D4rV !SQ\EY5<9 TDUIW/CO\]/ƎsEyvcD5&cÇ#OOܺuC_7CDΫNF DbN8uħݐbιi ǖR[P}{'2Q(1yM]zY')e02YSe/lV“Ę9"4DU Q<L4)vC 6#&% )d+UME S| `)!*N/>@c"F= }HYRΙ񃬛gbtΫ1!! D TMS%FAu],"jޏ DcLKL&ľY硫s p~9,ŬnW[+,99x{grU?4bڍ#ק@5M]ۮ|(yNTcg[yiDEC3 ZV!'O˪*RjBY0;TE&s%ߞ^6y0'<9\4e ?/TO-E޹w_lNj*0_m>uBј583xBo۶达#o69 W׏DS)PŜc;>{rs1먃9==Lh1Wwi N^RBQk?r;ƔpN v~}vlMe}Fvѭ }1;H7A??;;gv7mrYٌv4}쇔GؽSƾtA= ;8ZlwdXL)pn{(vL2no|VeW8﯏ݵWb)1-MeͬU|fhnr0d1d-'1D)(*!uE@͈̑8Z`S&&20 )ĤuS 9a ۍ s֢TjJJf4=AI,BTd@ \(58&Zθc q:", j959ɎcJ& ?{<~޽{ՕsM4Ew@`d)gH'735CbDu]A*·9b2#PxEd2fUéMH9"sN%^q6Mz9 "ĸc24DpL%O5$$)O<|)0D-BQzP9*w7~'74gfy c1 y{g"ղMeR3Ff &ABY#L|8<&$eH9gU%1*KNhs7r*ۜw%ZʶuS3/3bf^,W߹ZfK<_v$ٱwVQ7o'_^ƽ7۪`Ub^U|r=J}@8>7՝rkBD]|Ůlk|=DҗnDL}ۛQ]. ǘr,LDe(z>lKI|a5WE`P6G$]_^7 wN%߽u2 jܸEGڸ_Ip\_ mߍ'a.ɝuhX,톔fv ]3ѲdUцM Hs&ZAU2Ĕ@45 0iBBGHU*&r)+19DŽ)+.' md&L#L9"O-+"FhYMKl 0Lb/E]{tMUY8 s9_; {/>???1o\A#B(aLILmzL}3yhS!"Iىj*y|H *&YpzN,{@@Ď$+"1ZYDabܤL8t3\9'3Ydd2Pc98"jЍcZeEȞ=۶di PHlhŒ(`9JV&"FQQQ a]"d:7D " 2d$RTah;!tɳH] S*hDh*+w>eD#yZ.98լߎiDrvYz׾ZI_\]s1"XNwoX^6; E nݐSfr1iڥ1"RKh4Dw8zrzQ$fjZs*K<8/CY@<M.>O|D0W4^_|%gw]nn4ozO'ؐn? jq7P/k,k:Ćd4溬#}~* YUv.8iO=;ϾL5S5J~np,m[wY.|suW];?ԯ߿[N_q,+,riM|/| =B K?=?c6@pc`Ɔ9i;v$z}% T}_V5޽{oIt.8!-拜&bU?+eM<\85+&1ًWWۧ/toq{>C7e3q4tBRƲ u\fQUIHb}p{h<4E"TDDDɉ/ C|Vfu@TUADT,tBF Dr`y !jxD$LkHqhy9\@]o1% ;C43@5fcb]̆!y6uS sUUY`<nK1W~W~~7|nVZ0[Aao'``d sN"sN)Gc&FtR""ދ!d X(:DG7x)K׍ hEɪ)YcGα399T;ff& rRGH)%S#BckYS(@w*,"8 9OIcD. !2H.0#OBS"Ӑ(XQxgUf#~m,ĖbPS&vLEYVuL⽋}.E]5fV#bpvYm*y®]g_yQfxHf*,9 >oyraqpZ{Z./LJc?B 2؍i{gCl -1_]F@=K,TC#~/GjpƘhQ AY2=[RRJMyi}׻a)6keQrF,Wݐ6 ^Tmu::9 ߶q9WLM"ڹ0j-}ExnusD-Kݶ7Ēv?/믿|ѣG%e9Sd4T @DCHTVaSBBe);@Ϥ7M4`&",<=!NJyhɲUvЬf21K @Y ݤ~'R?R@`朋9# fT4fC&3Cs,Y!{?C-h)k6\ RLeƔ9ǬD*-hb,(1MU_5̦"9&$j CDgNAt#/˪nq>q_sI(1|SVʢe<źʘ+_lguO<\YL]1*d(a8 NU "1P??_q8u4#yS% !J,,!Zkipc~(L!XHЭw/z!eS^.f`]:9-+_<{l޻!&++pY͗_jNkҳUdT/d}#ku7ȮܽȶW}hFAtEU?}f3BI蝻sYӴl~^4,˥쯙 .VY {٢L(PH4q@\ϟ=::\4{ω!m Hj)[Nbbý~뷪?=qTiqʘkX}!'_|;'\hY4% #2/8U}!@s9')w )P IDAT-c&"Hzbwb^۫%iQlLQ(%qD1 Z n{SͲ.E*9"cΒP4O+& LZ!e,MI.d;553/zr9%d4 }`D̘zODvcr!ahTL L '?XiG_:o/ЪѺ-ߵ;w06~VW_s}'>lfl-=msSwf}yّwÐIp8&hDLEAߥxeӼ\ErWm\9oQm:YzVKֺdDv>~";^.Жy#dX<)&mjƘmw!Udօظٜ/^O/_Ղr'gE0`qeq 385W"4.wβApnۜ\dq<98H6gݍ>(EpK^,K h0ZBmێ0+|xusW_w%϶۔01 q0Iؕ~OrԴvU(b5ĺ<b07sP(CoػOϯϯ 37c;ÐS6yѶ;S]V[݋j71]R5t:B"`j$ ܶfލT̫f(Sι) I7fݶ7fM5#zgD\Ywα` "I $1Pis/HRFT6 TStDJRrssF 0Ȗ*8Hn}eCɊlFfcycDM1w414#CpYhMN%͏z_g?__j6j XʐS;"(<>n6m[AzW1g3 dbxC0C {)3NF"7#|؝p$5sL$gmd$Vq9<(}I.M3U"Cu\VȒl.18y:ըc]JB,v'yyx]`bƼc-Z?||0dc2P+#?#//hx8[n6kSP,켂JV1f3m~og:9/3qpv[4ݶ%ǒeTE&Y#ZYY"^w8Jh{MoT_UW2Hqp2YHD"RPDBnABB)x qE(7XHD2{Ov==}XkbUn< .K]{7qUtHypo ELB꽵K%:{Q`HSD^MH S]SNw1""Ġf:s)i 4 B("B%ds.mj1E""HL 1|aGCd"5$=%sI)F)|lQ3;B"@@50pS:X%kT 4 @`E/2EU]??'^4gLZ]hЦTK.MpYun ̨ʳYbvPJA5Or`'6eD\Bl@QjEŬ2k$= VsQ% T#vw;Y[-Drv!u椱}ѻf^G&t(͂p Mpĭ'W r7z}y14\<-nvYx_!iUkafZ3A)k(jVu(Ť33hi  hWŀXRکM1i8in߽uw fiaX̖^dz嵗~yb8>uؓvS{K-Y8̳~cX-6qٵw~G~>Qh5܍TYQ P\Z˲Z3q",7Wfʠwͼ~XA ~iqwwS޽x\ׅ+p }wo׳%7M]>tTV9"Ƙʑ^w+4NAԐu7wK_d K̅Sq}W dxH"'GQ`qjكW^?=y"ž[6׸ dhhFy/7~7/?zۖ8G3$tʤb.e`$z_Orqu f;wn};k󓷯7'qjKVbw(۔q?r场'ɗnykW@ zlxL n\̧~~a Q#,$EAG1DP51 ` ZT%)AYWVBh|L!qM-"&rE&tHňB^@U2Tb%jccƍ!oDŐ]쐐ԸbTOiNڳhK`I(cN \f`H8B;#V<43wcf<vM@ʷ#0$wA$;M M0OA d4.WAq7 [;oV|ٺ]o~Hk_F7odG_}m[P6MfӔqJhy2NEyE_oֻqcȇ?_$11"`;Ǥ>xb;@p`W!xj<a3 @mh%Ny6o)ϝRԐChr|p[vm|x{ǫ!5E3kfj ^z}f8ł3ݦާsl5?;9h{v}LVR*C,*@\hf,95b'2n#`>sߒ vЭ(> )O-2"i(ȘrWW->Qʬ(9΋gx owrsRV5{ͷ=~h;}Lu7W7~o=FaNݻݤiDt\.nۘzM1n><=vs4.tF19djFPp}Ƣx\̽)&f"83ybgJ$&Băji޵@ƎSմɋ~̐,R840O U,@ &fjT.4bV  1!:)Yj5:OH`6TTL9bD5U!LS 9-TQ$P?|/o._z!840@baYMTr*cL$rǬ*k[1$")E3bbCcrTcL6MITm֧UTiןJ 3"(:}`9жl1䵘-0La޽ޫ/M0CXmӴ 8%7VAZ@mf]ӥ0>c? ˡ_.g]K)/×?~ƭNiوʔ1>Cb[o Q.` ozIQŜwhhC3F?%9f>RQmTPc %vZ̽߶$ d gӣhu\2E݋oIdjk؋Mc/rʻRXJ}HJC~ mKH1WS3Uj%(ZъfLcՒQ!1"yrUkm"Yb*bMN 0BԺcfB4y"j&b)Wnd`ghv)B{30ǎsÐT8!b*E*  c͙>}C?O~vDHZ,K.B`FH$Rih;AըhXMc΢=1qB\Jǩ6I:g:cPD))G6zrmYT*R|"b/24 A *Y~UQܑ0;ZmO/)e-wm;wg ۵h'].fq? اTc$%9"#/^\ߵ7k܌c.LjrtR RJ*ńt֐rJ*:\T( x KsdBh`Ԃ)o@'sx_\n1iIӫg1'GRJQoo7S]3[tsﴬ構3CzvwSN׻~R߅}6ތM)NW?}~'kV014$YswӳsBMc$":t呙 5 SR*~%ݬ4۫qz|q9NX,.o5fV`΅F,}L҄&N?Y,qm{Nj>GS^R'Sf 4L9F xHS]gO=o'Ɛ棧݉G{;=9wGLw:~Q=ϻݛ\,fMGu-L4~׿bmϞ=7]@$gQ]O1ʹ T Tovvl1 sS W'tP>W'4xqI˾gח7w4ŔE+/}򟝿M3!sZbqL(MsfdƔz6ljĪ/Ӕ"wdQ)%3CR$*R0@^LD"\9'DpID)ALL VN2!(1f4(&"9%H)$u{B&9[U51#M1,`PV`6|,+ޏ؏SbYS$isQb%@6@(j̜r"3gU 4"r-RJ~`0S^1Q0g9KQE&jB"T|/j;t@"5t蘉0Ra}bgnnOvmET-g mvS>Z...o1Y?|h=ccN㧥n6 f|{HZaʱӐR69,MMkQxF>T+pUW# TTs%0,Q@LL}s"ZNIݑ;S)auqPKbKdr7k1{1)짬y1; |%!27[-ڿ_-7}"Zz>#%4t#BK$61v>0,~7ƕjx~~wiQiEfT󖉐fv׫3#bz8]x&2핝ˀ<ƤmqkAMLJXǨl,)*NS?4~7ZEerp!,ݥ(OНO!^Oo]7cUS߅9b)U܈/S_?O}Rg>m++'5o%o>#EhDNU($meB)EkYh|vs\wui{I8lvy*o6RC2\q |6)#Z&Y}`TT9!*"!4NԼc3"{!j'_O{ţnلM0dPCcCR&]*{7v]+J’t 0Q.9G%Efn7Pt5{/ IDAToMaZj{w|:{Njwn3/ˋ=lmoզP 0fmlg:en-r ;M9h,˓bq˶ w@0)2pd:Mj"]o^dq,,4I"NFA4Qs`Ec3y޽{[oگڋ+s7xK_ҋߎ2&*&&VFsT*Y7 /g0nnķ J5]bѾ!b%PH?(Mh&^mַ}֛#Y,:qѵPna;-@*R$瘱$dlzGȄ밋ֵ̤:%f4RDXѲeHe\ȲlKH.hȠZ;IQrJ*a"jy)X~pn~ۖ}s ߉26U5RE$"3_S#U4sI~2óXk~;YUMONq):i,dZ}F`Pb4 40Bfh;Ebj N;߀!b~m>NE_M`G}4-bX8fq6o_\=MDJKUhZ>Mwq9O@TɳdebFf%"vSLL4H V >`S֢fr,=h19L\L"jbV?bLn?כ-fyD&2h1;?aJZdnR[]+nK S"Wr^xw=_L8Ma3*gOջ=Ov=Mf%ΝXN[o4%6Ѳ-swsӷW[0b՜J!<&pKQHsAo·QdU~闼_Wڊ)'U!32jsr&xD|u<1h51e&kvz`c)fzv_vkcZ2DSkԵ 4|]CZzh8fn$)5 8#PH]e'4q7]TtRs^m0m0R)@U 8R*mHI30"$" H,UIjkOUs?kE5I=jHٔ'9"5ߘw wR*Nq&bjo aTN 1#\FrQv(Eٓ22F4U CUZ/@\t 9B>]=y┆:n hR^ڻsv 2n}x߮w]\ۛvn]S4(d/E)l6}) # 1`*6a"kAS-&U)#R2)jD@5 1Y b) `l*#, *9GrV%h <&S|r/gWv۞p(YiU)_OLjZw$쵶?~gn8 1bfuavRdž꨽#r8ŀk/N*-;1EyX6f]aSiڻy˞P8%^.]N2N|秼+s_AG's4 fBdSN؈@$@ڏg\4kSj&laz'.m''q]1f=D'q7{TH=['G^?q۶r>:YuSQH;jPJ1DMZ // _^),ZqHHjQr)蘻6㙃gW=pv~&9$hޮO{|q!ETWtv 䡪lyviq3l>MC~#&4Q_x$5 yĞ{.Zs)őC1+("!8TEHh=OQ1U@vN L9) ,a"b#b)Wox *?L=wKQE~jP J@X!,R.x-1bMEQ39 @ѪEphVjC@$1v@m}oNWsp9x 9cJ(bDUeDDP9K 0("ed @V0Ń쒹ƟT61IeτP8&rc9,, W'O@638Mǫ7/W~EN^zinzS`-^ YYvqO.CS."߼]Mgh @3vm l+JȸT2I`3UFMz5SSjU0*9?n3Pr 8yQОf1{7`DzkA=W3!Vp;F{NvR  0"&4Ͷ鵹0Li;$Kb;P-Gv\VsU5v"2f3V8&]J=/s$\QP-yXhr]X1X />ns=j`blyw8z/JI}l gWۦuRBS$~Kuċ@]lTvU _r47dYȍfiɇvwFQAcPId=/[J @v͆{M(QQE暧81v;ZƜs66/k?w T,;MB&N7% 2 PE>j-~^ыwYVp=}+4 5!$,DYX=~tգg0"j^# :D cHXtEq<`hfm;+9S˾yQdx~v2Lc3kb݊ѮOvDD of&80(jĀPӻ ѓT3PLK6@U3D14ۋf jƎJ$*}@Uޕ,*ƎHVP<ĎYT ɴHEԮa @5Dq06 )J"!0XPU 027j]?ԧ[1csw@ \(R PM9%9L IDKB U|fYOܴq Xkvڑ ru(L58e'G4"Zm6cx3ӳo~L/?yYo] aO'_gs;kYDz)è13H1A8KJ 0eQL@l{-}LiuJƃ|vSJD\Y)w*RJt !v\r~ XxOEȡRuק9QD2\$/"ZNP\pTtcJEPqc\@t*`ZɰT 2;:T)g(U kc~??l^ .J* VP (R4sʥza֌Ȧ^51 @"Sź`f- V,Uwj;V"UE Ɯ̈DL\h}}f*jXkg6N8zvsӶҀ)'zr'1Rd[o?- waָj=(΅p4o%i pLXJQI@C@dEvLmtu E Gu YQGMIeumI)sE!!3=MαxlݍenͶc{'{GuO&E\hs3cF&xLvMSBQ)ټgƈ$e= NYY3YA4d%t(\|?%#;o(& 38mXpnwErTbΈp˦ \-EΣMY>y$8?O_{yK붩 YS"` s?yzyOV~,&LyķkD􎙹RGU4t j6NW]@#dhJUD}V2n63UG\ؾeA Lax)E)𞦜ETjM>xDt)Ev5FD#U7Tꖪ`lË$"}CvXîNb ZU #"1>6"b`&r̄5iV/Bx뭷ڶ͟6bw:5ímU[DBTlMEKZ)"5]V#Ü]EA5אSZݵn:AEԼmzY9XS$ ;s08Dȸ޽oI~];97t8Zvw  c˒jBLILNi9kŜ-i.,Y41c*ITp4l,!oHB.h@W"`fHE~@FfNUL Ȏ02D!KV<X v~v?Z@mRҫ?Rҷy赇S1|m5``s:xf3(eƔGD՘ ,|ޡ½.Nʙ?{˧/@B ʃӓ(-Ypo4˴ _a]U%;9ӴonET4O$9-n<:oª JHst-I~">Є@gglB.CNc")MS&n\KHC@B? 卯[8b\V\rfEnc17Ǝq{)ٟ?/| WN|>%j}@~,l_;SIff}3|ƪ:5uGv۝mD`p D@ d  $G\q%@`DX IPlv܃{Ts{}Zp]݊w"\ZӳŦ61oXUmg$BG!x3X\tW?vzSx({i'Bpݭsu&ٖ^DM3 W.xjG{ry##ֵP_;vFTeERZ4 NG &\YGeEP:TR ͌9ϦLj )GBt*y-f@$(ThLId;,aXJ_Vf&Y9eeU/Q};y~~9ͿPa޾6*>آʓnUhY oBed&R!3YRՌ[/)9X%5 #9v7P1Q_HĵӋqn֎o>{Tp)7M)z暯lgR9]|=_hԀ8E.aѸX\VlIU՚q+pXwLURQ ֹW$+1wP>]&v\BL.L$## ʶ3r]~R`, 12d0m'X (n{M,gQb]A!g,Vj&Rú g|.ȷMZU` bN,9:z:3ivz[6DIbr?Ȧ!>zz~;q*`HyXya2abd7'ئL~H<lW= ݵDѵ5V0qu3>MPTY+<{Vs PcҔcU?:p{ xΝov۶[,],B+r!Q9G;''gj(EkNM76>]6gx6.z!QXQHQ}굏7ӽ7s+A]B:9O- eԶA`ȎIL e1Q٘vZ@20"SHRfFL3L)0-퇨e5MY%Ky4ZV0SU) VBCAU J;&"OT՘`XD\1C"1 $ *C?o%*hAԉȹ)o{{Ew'`*{ !vi),YT0Q6+]︔[b_Vrd`x9u*ЯYBaA(9$,;j,vA+Ax+9]ٙu_v3(^BדYYaG0i^zggk}?PlP4&sNBwL (inՎrPJOHrYw)vM3LF!Ǯ1 5-io&\l{$׆jr lAt-_I mT1dXdIYaR̆ IDAT?8~ք'm{lrd^] X FT搐$!1|u"g ,ԜÇkG;[,ygs,<U_됖t+rPlxxoGM5@ʿ Xm2 2u!m"%5Bb9xZ-iH9fZb wJ"Jm q%ˈ .h E[M `+MȊƆ)jG, $9"92͙0LMQY62- 6PC5az9S3me[짔ȉ _¿]yc9e}g!@`tre((ny4Xe-H뒉2cJiq֫˛MWZ太Ʈ0(hX(d"#t~tCΛ w~0j;f:MfXEI q%`Uu[:@0@bd14&*m/H(*n0Mʋĭ韶QMEp.PcQ)*50K!ΗCߧ,,CSJĦÐV}J"1b@શ~'lPU5QDBpWɶ1fv(fZWԎ|΁^9VƼwLvP.j՗xY^:)W#_j:5u]vT:Ͼ K .$7yCԮsШm}C 6h-Gfjפ0\1wTb6@̷'fλaͼ$_ΙƬhjI""ݣN'o Ia+Z5WiG!i\*orޕlBu&&x) #ޅek,"=;JBd- Qp9ߨa9"dbf"&*~|~9Ŕ!@HK29b)&(o„YV^-K.,IL/L.(EEtb!g-?8L9]kG,XTv~Nܶya[<:CᶋjV"Jv f0ƾ7J "ŶscX( LҨr>n:W7F;bҰX'T+/j~0:tmk_l:iںL.nIKY%x|> AѼ3f]`a2)"Qּ-.em*1DS -ɦ-͐,\U-Z10 j|^a{D3Y\lŝ*&F"ΑJI(K&v49_y J 4iP90l*Vh'_Li":D~ *ϣi;hʐ TUFQ7O}Rl^~nQD "B狳SW_v+F8GݢppJ>wxuT1O_6~zh6Q@pM֠AE;UӦRWT&^/frHI,k=CCr.4Ӛ,CRݫF3grM07qp3öѡj7Ŵ VUKVl#pܖ|oWQۇaYmnhjƜ#xT!9U!jRئKj!;^3|[}z||7E_!Ylo2NƒUq8xLZqXGRlzoG9M/\D y5"2䜐wjX,#k@ss (8Hds\(҂"rj(gCPujfȤE DZRO(GU8^6Gt&IKh=Jqh]TXi*B*?r"8k`l]%VW >$v^ŭQ|jۓ [7>JSUaMLf*D$R0#@TF Ь޶*W B#٫ }8 \uݚ=0|1wB87ll|qv; v94m埽՝l&5LK2w]E]ettX3tTC@LCTPrmۙJYF<(nr̒]̈ 2'j"vP+.ϥAsJ&j,ΡZYޤ&ON}Lj.\۝=z|`4'_otJhy8xEڕPx<,'~L0spn2?=~;X^yq3gg|/7ueh[J-D/IdRɛ>r=hb2P4tx` jgk[&#Z(qzYtv!t_i6EtsԪ庮\_lj]b%\3W_Kc}<:8]CTQ/#+qkĴ 2 <Ѝˮ_m=;h\urrPOySLr?R7hٰt:Λog7>orp4zxݼNfD#QLk8VDRVAU5P) [V!Tt߼qq;,@3j>,L[OBNI4UXFc|pljٺb;g]yz|FT}'?f'uQ%uPWA*18\DX|{|  Ĩ PhT~ME s`&Kp `):G1fA`-_&GdrЬbZ S(5 n8(I΅H-8T)])fє@-1Z]@`굝wgX8T䌽MY=iyWv;/Me۫Q^zϿ;iġ['=<~zz۹遫ۿ鋛A|g>(>;r<{`rSս]c2/.֣v9%dK2s^U-sוw]xa/pͷgsdcהjnvbOү^;45btCD LH0-02y X21$*\cYĀICvn~g>588gz˓OO}r?{y _Lc@w7n .N$fqN&_{{|rM3*dD L%bNR6ƪyߘ7]Tj21,CLYs z؜M]H3uv1CJY?C5+P3!e"5Cj0m LHFT C͔ 4uP.V+ fF)Km@_P ǣЂ_J*b|V)eB'9!Ŝ-^o|.1@0uYr鸋CN6 in[:AJ鸩4Nc.'6ÀܬסzοgwwqrS>ߺvZTϖ'_erɔ.<>l 㟼:}=y|n_swxB:Nh`SVCQ;@ )p'ޖW#!jv*DkW3$h{t >m˧o`-˷mtU1T ,UH.vW28HrR %iMEz>o_+=^?o^yrާ?kO_w75W^~??X~鋻GW&oq?C mC&1ElCS2 N!O=ncN )FuU_xc_w?i=/~_ȠB#jqX뿿g'g??9]_䡡6aTvs"ո { ؑWQӧǏ/ LPkr{N{G{psGg>w܍]x';>=}g}CΗ)o~jt Q뾥/|g_gwWb~z|SG<;6 }%>>yO̞ftM4t|`*\=:(@@4KW GM Vj$M1Aj{,jJÀE}RZD.|IUM sJ8D!F1Yȡ*:֜bxG#rg%fPFb.?|8gZQ pR,CVK9 "*$tgF{fG M70a|Fm@i488D[ lp+G-1./ 9,@ze١)cBS~߽Mc8 z>]앆i?O`W?c??o_?l꯬+UVE靯~uW?a`p]I+̮f>>:шi{߿.hX*"Cιs-l% iKKh9gǸw(;l׼DhbH@t\oh~8p ubFBJu D9PJLR8 Uo5 d*j)}wߟc_9^z&{|q֍hs~ߎNkKv׵;7_]L?Xf߽`Q/p8lHQ&s-dVn?f̹o{ߺoݾq}wn}_MWOC#rU5U~Ͻ7w~kŏ|{jU6)0h0 Y yn,V^QF 5-?W=yҁc-TU;ޣ nx|Zb3My5j}S! y}Rt$HȀDFchF.`*(&ʹuXŭ|U&$Q+GY0Nn<;{z~oʳ7x4vo7OdJׯ7]ztxpsM;׿`Z󃋅% m@a38 sV`P77MƜ}z5U1`T0U9偆,!Sw)g3[|NM{+4alS^wĘ!(*P݇r͋aΖm lqFf hՔ?U76D%5M9_$ %O DK4bj +Du $$ %+1| ܞKbQ(ڇa3@P]VCF M*? prB͠dS"Y^V5//b|qpO.P@v'Tg![vdÐԌ;Gջ:i𝊋ü'߿..CwGӟr+UgwoM/[o8Xz?/>~roGhrUls' lֲ@ejdQɶ?MT IA KE RVhjg0DB&U!ªqf[31E HfE5+}(bˍCp׮[ջoƽ> 0P"* !!!iL.8Bd[fϽv}`{ ?l;}<9 wԩYFF7ʞmA4EY-{wy|џ]/~ٝC޹nwjZ}Y I9d|s̑Mhĝ.j 3Γ ECrhQ$%]8d]-3rȾG .!e1n]\\W'8e6(˾ڴ*ȹٙ1:f*ٌs|$`L˕ \KhL9>GRgbt>èP_%Y<}#w8"EZ7N4 WBh4Ó.׫ux&_,YzwKY._>d>S= Ρ4䇔GJՆ^,\M@vdf@qlr6mg0db5Q$PQ(jJ)SN05,VT`Pf5Bh8U1BN`*InFąʂfF Z":\p)pd2UɂTjv3DP?ȎwLbˍ\z4nU+>|9~myFFhI%tm`j` żÔe6ɉ2 0 V{"GCj!x&UTQ5~!9ODu!p8 ;'iq=|za`%_usm?[$֫|>O) C)Dƒ'v-O2X3ý$wO֖iv<(a t*Aͪ D f U(fC&R6-~tD"ZkTH@Ls/q޹઺N389p^p<{tpŏg\Pj+:$)A`R}uj&û{Y_GF'e6: #OO/vbHG8&Ųm&ٹ'D0 >mfM Ԍ[!Wo\/N_5qh'u\$PQ]}\L;$#rcJL,RlEY F/I ʓ#OL= (uݽ`~E|pלt; IDAT<[ݺ/+c4惄%''N߫ebhr΃t,!C>u~/R=쌪i5C4l-f{0 TMss6KzgYHv4'=:3S;OD)I,|^ofx|"S*Y,)[FQeC1fU@qe3ChJ)KKY8dV{gU w&#R^(u"&d}`\՜zQ)r6eEˡEfsl < K9A1|qHyyw1QNAА0E3leyf@Nا"bJjWz%X9H1#WWSVjy) Đ1+X "+Hd_ji|`fUpDl4']]*Y<9;r瘉ZU%|q1Jl'Ոrx_Td2a軳zZHB"Ǩ*J+&v L(U'+v<j<>i`ѯ6E?rf\L)"dR6vU-QC**T$ھ.yZ51t̋jUCq,]'4u Zhun4J rS3s}ǔZ@ ypY3BĻ]W^|ٳ'?]d 8 V#bY:^rqT޳EsbVftGUjZxO>fH~|OQ" ?ȿijPZVa3O'痧n(7T*&'.z?ʴLo^ϟz:/?JؗV00o N#2MV9yx bn,W !pb><}~a=|"I?zz̞TϘшMЦyYfR7tr9YG}$64G{rn%Ni]e'#f%d j1,y@x_cJ0sgN.rA[jx}'fD;B&s3cdU{ޔ*Җzyji2Z* ݉E \z zsۛl:#PxO>cgrdzrw` M6`*R}} imǃlmq| nM?lt @pܜ%v[䫂Ng9auyOVӢgc)c'FZ1wEa>vGw)2 xmm&j )Pʄ\uS7}c 9QΜ([# cap,p"Wյi^ˬ2E]IIqcEt C6vI<@D"s),L>n~tdsnDNjh$B"->et,ˬUuj ]/8)* TD h-$BdS $<'PyO =0C jqUe!$D-2#9 69:I TS9gq@diXt&H&A,b֓Z"e˃tEg~/h 7r7_\ypZH@CD%ms)V )S0H8!AR=_ $r_B,ZV4Ts"p}D ݭH0wy/KZ8aqf̔`۔_jSNZD2e)K vzwyw>m, um c 3ƥ[66iۻÛoٛ_~s]Ne?\!̥xeF1k} RVwDUN`ZG;QF:<0=ɗ귷Sѩtm۝#0v2sQ#v2]\Ъó'yxdim[2[Yק޽r*@ VOk$¥ L s@sono2d٦qm!D#0!Pf&$D pSD{؟sl6y"u]^\ΰ)".RE/K)2W ֥T@"Sb旱GNX"!j .mE' L%f%8iV$ HQG͝ ]QrbS9;""r)gJ]'给A(  N:@V:QZ+Vi @פgT$\), b€$3%Bd"w\)ywGY /OJm)53o?^矍x<ϗsa/^=|XXi&KĮZިWPvY+Gj *:2##`YMNӗ`Dp(-~@`n`Di@!IZ&Ii(]HljKQ" ZɄK](IG յF.pSꈀL+DerG٠D3Z]7<ӛl30gf!$$n&^ lj]w#[[fM<03''?y:??y<4YMݱV5]؁S nlL)w Li;0y 3:8QFCR/|pbx;-xqGI" ~eX%x뺔zu.urOe͋OtۜJ-R oߞr>Lq:M^?|1+"%a{LW`4#>V^lͪvco#rSzhL °WSqH^ͪ9@bL]bb$0Lp5_P{B V+ŘSB\fZLMM?ޏ cվhONX#cѨ-}b & i+nB#P#uDFЉIr3wLHQ5A2Ek 䧿 N_zMp,4^U?|STR;Eܬ,ݮuwСBv$b@-º.hn! 2>eN"(NiĖmLƱfNV'!I$37ݵVWeeYT:$' w8'N#X=-Íe2t9d#Ҳ,]txrKecmr&DZ^q!ǷϾ;|CM'Ёuk\@`2/r>3vnӘ -1b9*L/O???{};o.e$䜹$ @JoPͳ0CɛgnC7#etrG%Ng}7%vLwwEDno@_'Mn{&v7 TLtX2i ,.%x7uDDFc @LaC l"#ֆ rIg5$wDF3-LH$WH DL87Έힾ؄648f xU+ bIb3PΒTէ \fW]$LY{;QIZ| 8"1DgBsjk4c䀈Ctb>o|(I;׮1.G y,8HXV5u3"WO\ZuUx &UkZ̗ɬM ERrUM}ZYl##E01;轈@JF}כ\*T"shz,4.]!$I@YKi.m}L$ÀDrooo>|~ٮ.ga1L@#[%UqYfD, 2/s]^}.v\N/Ф}_?AqW?>8jbv>41'm'ʒLaQ_<3fnw$'`e 'ϛyZKbךr,:-_/n~x .YH0y>ИznJ W$`!eR1hGB@-Q!:(#nD4Zjs\ZZl)e1Z"|3l@|* @f݌Q%. 5i!p)jp]UՔBk"RuHC p`J5jXHRK83I1. nހ nqP`åU5"}@<.Uܡ‚Lw[PfufsZr`Rօ9m6?$?ko|o>m6QjЩz:EzdL ň!1~@8>pN_0qSgnj+@PsԱ.?J;##0TfY L4|9np>i"ƍPb^Q$%`L쓽&mok IDAT2u`2Z,v1e)ZXk-nsUÇÅ5AhP2<\KYY1O\796\)N3mMd8O&R5 =}]!]ft_&,836_eD1#'‰óN0$T5sybgwvB e|} "n'`L x\m# ##zZ9TU3ڢR #aӭ\̉QPmEz4Ԥ '5p jYH\A= zmӣ)%\" P1-:%o6[9=iT#{LZƧ~{7R8 "+:- 4y?Fh"i-:gwkwcϺ ɛmo9PNs',|eq$]-e9k{f#|!uuL'fuf- O_W>ՇSu}-8]cQJyFEhx8ëfx(eR+"BN(nw?]ۻav6˸4/h F,rpMuV&dgKx{C˩cfeKT-α=3_J(ŵ /+BϿ?G$[̙h} Iq/aZN7GՉ?zذ~ȊJj.Kt,jÛK-4q\j]TkTߦ~'7ͷn'wƱ,vq4tuzJZLՑ9s&IfBhfBbRHy)ZkeUS&Pe}"mWOcT ZBD$ª5F{h;<Lg$itZU;tZeZzyWffU(o_w~F`H qc@UV_ ^ը8bމ@9N!!0[t([5l0JHPE0%IȠ]J,QU:нzj%"S/mFᒧByzyzjD\c.hnsk FQ1Y'tT׉5k#~_97zݙkJ6T/<{DeR =!JA%#`!`NGS'&"`|[EwU:X\ƒvLΈHDX:%j ;x]2w&!-^>C֎[ŋ[Kpj_+]i^=(jzJڔb(|6yU|,\q4<)ownU-<5ڽ_a'UCUsHt̩>v_Nzy, 2t}u_#!o64w)ãZ4pJA2Nn_ݍn膞TݲT:Wt9-\^/+Y e2$&405e.{7sWϥ*dr-]X$2[s@6톸Oa~ QbUj 1u/S21~ó?lXjKfzǹTf$On/z|s3w9ڼRv~x<\t>Su$N ՒH" (  DH5mVUM =q}LZgN[ҪRU&>qWy"4z\'qmM@ۤIfg[EKH W՜YLRH G]PfJG-x$$`HS Yo$GZ j2{la 2̼y5C&F%b92W&0jAUG-TuB3Gt5393 8[9RjaU96Yf䀄]iAi,Ra<}!mhfl[6PD_11-]N prhĥ`]MTV?%tf" -!H=P㕇hmgd$13&ai'ݵZ-L5W@PXԄXX"x:,a2'(^uJҹ0!Ff(@N6:Z1R/d Tj1")wxLBѳ___~|$Ĕ7+2 rR>o [V=}z#U @'9S1Kʻ{ynm:t!oG\c_Uuy;8t:qԩTrޛqLð6 wVܥgVP+sY\~3q? 'O axKz@4hC"=q||aK;ؠ2O-Q1!״<DDwI h5nx:_aZ]#(4r,,0h܈:U0+jF`̔3g,2XqQc.hm!iNv+k4HxMMhUnފ`i?ft'hߊStXDrJDSJ4f`ZܨjbfȌV(%6 a;yRYEDzpB` Zr}P#:T`bDRhc@CsdR VjZV4QuD@:\C3fN̛2 <:Zp9(]!bVNk-neqy*ӈ\uy|:ERQV"EgӦ,~CCpH HsCv3B Sln 26gn8nښqѰkxJ~ @7r+=;B)ˣ3Q'ecƠNA(+#P"t!Cxߠ3)I||739Vu ǎKL39 f1#s$HMǶ㤒|<.Nͽ;p~}S?[MRwrڶp Y:ߎU,Z׆bKg])'-*:~e$ ApK*Ot}w^\'z7:J5\R px㣯|?Żj%2Mݪ6ʴj }j}iRj׽*T0yy?UVy?׭١IMw=>Ǜ! &^cr便+a:y>_MӠQݱk~'{mIDATǹ$Dqis)\8CȑWs 7(RDR0,\e\C$b0G2$ ̊k@H I*J<<UpC rHb5{g-,3j}ՉΟk[=C (Q)20I (00y"ёTPHT#5 B7LLD\Mg$d8ĖUݝ9E+ЅEDGMEJjX >.Ն>5XܨB ,?Q胺IMwgs(RqO-wG'_MS46[#n$XZp aI~J& :ZqcR ƱܻeqP53+v)lV㑋0B5z:,Z&+9sdrrs ȋ'CYENE!5]FӃ-(:/UUaqxrm;MyJ4JÝkGg_/iJ-s$ QV[p(/ҷ2G47v<}vӤt:tX\{`"WM;Xtb)q3顕dMa"FxG<~t9q`َ \T{pUuϚl| 3t딘qPni*VzzK~6xqE˽]b+I={&j=@^ⷼ'DM)OE\]|'c()o7,瞘-9kӜI|[ߙ.<5DXCIDZ9Y 55wP4J7Bs-6'j !˩غQ+!DTtv=a܍bܺX.J1GJj؅:F@'_Xpqў7H$BiWݷQWZ&'wqAM%t93{D݁JvWw" ȡ;"A ]́JTP#IոnG@W^FXsV$@n@IM8b< 4&nf莼XL  `(TkMK4y,!`Z{um/޿txپfHqlha2 36[U3&lQӪ+Emԛzw7'_ tw\dlq'].FtݦRl8i7øc<;&#!A5ufCѹO Jb0GIDuKwji:﯎ӑno$67s"y$vݧ|JI8Abnt]#ffHd+wJ!tJ(uFT=`qHwhLJ tikُƇ>5r9"2Ep=*4v P6x]uiRbTN` . U{:ǖ:xPxf 'nKG?_%DZmn[ռ[ezCk$Y: y,:O]]w]5 1En8 +؜Gж}ˇW4?=I.9~6tƸT;4Vf6M? C@ޘ|Ts[v@ޘn^_ȬV]ܻ{݃2"80H_&bP ^4R蒬8sKBfPFdTuu 7"$WpbP+Ө`D5&8`X qMC "tH w"Ȗ Bt\LM]Y)U&Rѳ4! <=#yѲX aP5cj5%B8[?v BBZx:}a+0-{C[Ҁ:o[ 012Y39+]Fd7d$kL!t rW/Z w @Y`!{IiB@yy`PƾM46IV"q?p;3+6 C=Y F8`?>~tr 8;3_l^(H#Uv+鴘j$h^^Jg~ާ?˿~#Ko +(utm. L9+ax|7{~ʮɾZ=I9vTJ<<65mBBip̻cNZ?gX{ן7m3ê_movYmܬ005FDM„g-Y1 ; ,k˵"Fp(kgDT+uLhL.G;ۋiر DBTGD5Z\nM(W-VrONHaeQ~\j%olpF9l΃<n] 1Yfb:@B8 TwF9#$# |Z *@QO8z؉r r@B03&aעJj2 kQG00Nz)sY hZrb3vL,(;汄\l y8PaѠ,u]tX˩ebdKќU)8iX ÞbDWRcme-Nt!j#;fֻwUxrD +[$dH TlTW"V!EB} S@ hɥ>lmK$smg)I.s] lGufЄ9(8:cB@?LdbU5䴔iw7_.!|y !LӬ_g nݭ_qQk"ihdE8ل^K,BU^뾩䛛-6{O0wp9oyiT#׾?s~M}1 17WMS*: e"$h"`4%9_ N@4R$m9%JE &aӤZnw'%ٛ DR#{0QZ-`eea)V`?Ds"AHV݅(1cv }и2'wg_/}7lިpU, "$?<IqN#YĠ#̷_>6xzo[?^"ɏ/zPBsIENDB`Сt?GAWYʿ+qY&ģcHռ.r=۞AB]@6O|8 <<RX0Q1)^8^8^о .zFmK׉!nnaSZK}fZȴδ뒔sΞ9&uns‚CF03`$$M}}HTQ@D4"<,! 1z<A8qoJCVhāG爮:A sqRAfQ2TbVX{ߓHD+;p!zȹ+5l9rWTˡ_]pvKb-BFʨ"͇*Ui?77,|尺 S]C2;(eG=M;>2sq]u M?690v,Z*K7:@ݪ[[M,-YKTe18r w&WbZxP/R``BÏ09;Ȉ[Xq#HrVHY[7]>Nn*@4"Dz06= D xj.84$lR!ءZXi޽QOa*Km¯r,׼|ٮ^ŶvNW[I_# 6K)+f.:9>Cmd:{i .Bx9̃D7 Ȋ[MVB ;|_\r̿,{6f}Bl5jyr*0a¤+/Mll"n8jsx΄p3=K C.#7{[WD$X d [wvIrC5ꯆ'\4In=5t&]"67_[N#n$u+?xsCtKSڞ%KDITR$7cf %qv3:{jΫϿnvy?ڒưxKp35kx0q@ 3?,=9}zWVUO_3B؄Ӏ3|9F^^|fgN;bZ!\\EܦpH>'tg7DĽo$AJ2:)YhI ?3'_-dI#-{fol }Wةa%Õ  8zo,uL2Z_Ai>eۢlGOkO߾ j˶~ 7e>p͙"yKnQbRtߧ~ #SFn6l#{[P~ P^C;̡zLY19sWU/"9 p6 q@3X{ <_s2`r"2RA*bb< wh.#*xZhtrQ!A늸؏+$# D(GNyp[&xJ[yp!n"yvn^}iHAUc_pDJH־=FGد˥dg"vO<@B28> %'g@_;:uv <ɉ|Zn}J(eߞD7\ypg߲,J#x}" "'#X9e`Za$1v8GcW>CdԑvJ$F;?S$|a,ae,AIA`ʰ%;K*=Dq H "gȲY1 ^XcqOٱ<=tjd̼דXo2YmYIzՆK:(p0ֆB/V` M_p C4LHpL&lP"/q빜J| 7 v:|vF%G&'>.ah om^K M9|J6 5 O2>9oҐaOf|z}yɥ~̕59"81sf铜2f@n^ؿ;G<- RRT ?WrK̹jݥF.{Y[HU' 7QNs=f!0-^J[c~j)pozΝ_wr~ȯ}yU^ixuT>ކ?9cPk| d{;R˜y(Z@MJ@;(r:(N1z)8:ј;Eȳhx+>_: `\Ƹ9 0‹F;^c<u|ߐ֌8\dQǧQa+K8'csu*0e,z?Sӷg8r}]Ȣ%D+g~^, CH 'FidƓ]#k 00i UK(]EYej|y" G%R ?ם[);NocLn>d7TZ]_Jb_1 [-XRI~8i#`Io\xzq]01ԾG"7j<1D2"5o|{iucs3y7P8b w`2F&;$/ s Kq1mű T$@SVbᚯ+w ABTwYQnӴ,x~Ryا r%J]&N>pCx H\+d<-塪yg1:4c+~MןR[:rZ}#BW_wvY;+؉HO;Ƨݠ䧧g)=3a*8-D1* :_mE\67`*Ҽ7?/dw ]U`G`f2EG'p`YN1l֯5bXs|Km-5eŃ)z@7K(OyA~BuݟjwNJ}s+d^zc~K4p۾'.㓯rztLV];tPp`qU6,k;wU6,XW 8׭!m ;c;_^it̏jAUKb4aA u&بfJ+^Zzex05^|wz˲!}lYNJV`ԫ\AMb~:pL嵠5l@dz.deͅIz'=ں>߹J@۸YnߘA&b> 1h23𨻽2kG6!>=Lq#磰v!mRsa#(qn@ z8OӿT|=3kMZq\NoK#-Ft }Sl-b }_mFH*A,#-0i DzVWKu해L,5m ;7W#bN $suuX*{I;-/Wft$P]gk _aL}ܞ~!Fm55w3~v@jrs`nm `/Dw9Ba_t$g5]sT?TpXej9W,]H~&ˣ @ v?7[|[ ,6Lp=#_68rr[>k98Į 灅Yds+Gm*j!cvvAk{C_N A0%X>*\+͌oR^g.qEPUgrBs{ըsR㝫ǽKIcmsbmBH?nXgzͧ{q㨑7i.^skGy5mV[&w R (kSQr| l'V+k?$=^h +:B\nbR@7S n۞q涅D2+Nn?"~L]<XH>, ;O:@Uy-^Hfoݯ]晦PyKo^|rLZj ˏTF,Ew.<\CR_?wyJ09?l ՞ (,d)GDY뙂8I^/He**+X Ωn.6AA.Eܐg}Ȉz?O5rd_R ?\HY`(bNY@IL;gFۈ]h?rkj)Ca}[uޏ͇ة+r"c^oAkvL!$v$5K\ vՎT=x@z$MS ]fByZK!c|DzxOvAM 8œeC_$}b.JbqqH2VDĥXʎU_O-3ߴO0!͏ fo"Vx]Y]Α{޺uyˑ[8kbQ8]W VNY_瘞>||~GHQ6[e&Z?bxŝ1U#m^Z5Ϙ΁u_/`F&n@X֑wLO00/ÐEv\e]kZd2ړxSO^B |z6<`U9lL↧WT"PA[/YIͨIE `5/IoPE5;(8j.Q._(@ݷof;3RgIA˞p#S4ɣQ FhY?,hdaоc 1|q_ٔcbcr ⩤4GbBQt'9^0%miYBj:WS]d?ts yxǷʬZZWUaaa෷+8NS0J=@HݾaCOSM^VJ{vv1n6֌־F &A*EbH&H[t\Q Zp7]t69jh^|fP(6z8e$緜S,(w>\z7UuO˫\9-k|^ZáUDKs)Ke|KG W)ԋqHO LHْ edN+b*bk^vZZ_Zλ7U9j5 .n=rG\ h YcbFF+=pI \$KYVm^H˹s} rzTid h8YA*9xգb8 &ǹ,;ZƃOR[Ļ8.ξ+Gўbi;p{`A"QߖĮIv#NZIH w]i;P{dB"}g wYM:rjI5ӪD"v=>_Xʘ0ɂN[{Ggѭ.4V ޯ-*n$ }r(_U(yG hNlcڬbex+MNYg/1lwXR৉ximH9Xad)ei-o }  ׯo-X.ϕr9B!j'/Fyi1d$M' R^mNrȷÔi YǙ^C?~_Up :0rw㈯zSCHQwA[5Di% hm_ :mU!<]oI-qX¹3‚wc;YivvC Y9aGw}q'P8E2=bF-+{y*CnGm\ &<.c P:iqIX3`;C]>"L뀲1[y?]®ya&g ytst񱿂g.MR𮋽TA_ ܽ}eOEa:s`;9ip*S¶u<1ϋ6C"o 1ف˻&ƅۚY64HxEU*8;o-O͘>>ez, eXHV6tzw876ȖN?h2ft] <"INWV;;l$3 X/A ]?ELUI߯3{[ЂȘ(X]Ę6cdFC"8#X0PmCpԽ^) Kɵt<[NTjzlx 4?y`kC"KlY yFEBUn`0-Nׇd8UoHsz!QR3J[4EJ]h 䮋!*1$g-/4"Z8m,-LCwvXNԉ "9~xA%L0p@)MZ| J<;ij+(&T:ݶ*&QDNҬ {\סd Q-Ď(x:oe+0 S+n9Å"dٗC\羘350VZ~W5N+ļe\US:e.%GӠ%rW@-Gx})$sRT/HADY^\m1pK_c%'["\|Pm"hsRAwGfmQV3O>&ZII|tolX^[SH$FYhY: 2℞6;Ca#Q\Q`6hƷJОz /ߑwPE ?^NcBQn=+جLaw Yc{TZCu2Wm#4ufaΔA'{OYɷ' PPw럊j MQcC:k(}Sca$(90f*->uQMJڒ2-Mv_]w" }v"M29 ?=A^yz5eBg+҇ GD>LdٚI= '4t S@ (^lH2V9T y|weWUoacLaG+v>eDŽX>3W<դ-snJei룦Š %DIpʴII3Xd%PhER 4&8\Kre9 kK4-AnPSWXɴ.<4yƳj^Y򸷳<گ:ky_NHht"|[uHΜ#[Z}2T5{Ov7]::D'|v;P^sC,ٙo R-.5=oHp,nGHR[8(1#MTM:A6O_%^B<b3~\l8Nc4ة@;MdHF K$ P ǐ;mY&O21*=BV=esv{?}SVG*a"a]ay@:QoH>EPQC.hE^]h4^TzMlnV͎N$^C5<)_UV0Š.A?grYs{,ԋi/'3b=Qd$W!z㙂Hc%fmy 2􃇳8 Z@Qr3YBF$a߬{DP3AoT'~>L# DUur 5|[8<&TՅWh䮪y?S{F>_Rj #KzH2 &%T_kaVJhl{Vy yK!F3Ex(mKH_6r4>ʀxxp_Zp#ez? Qx 35xx~X*t뛝JLnӚrTaЊ4B8,Vl  W5b5g`l_-DZńHa:{RH]D8]Eg 7cVGnDkUnDZVuT Z65UȺmȎLg&>&,cALv>^8@ْ5AtdbAYXK)/wz⳼oQTYv`ydr6%waO* *&R^[ӆ-ׯ?}Y{9OLGGfG7=[Դ If;i ~CaqvOI+;3_ v}[cjYk91jϖ.re=%P\A"Y)ITsǹpU&KBZ*+t58"1hީ?=|nqwe9ss_FVַ"JQ'xVlh-Vc'>` 뢥~K9*n!U+Q-I̍xSiAwq@#I dqQӥ: M[$SĈQ .3~Qa͆YjF"ÊiIi>~ŒpϾ W,vOÂu;׸>굑sNC^Y5qS}#eJ~!̏CQuu7Tnc~kLjݵ_ଡ{$!_jK!{R5#B򛯎界%cwC}oࡌ97dZd>k#^7< &l*PAHOo?Z"UhK`ӳ5vnuaȧ g#dFvxtcEQAo T $>c0R,_+KbSK-\b0Ah*Y%C97A"G鞖&~9LdA@ЖZJ裖 4úz62ǂ0‘-uVK[彅AGR{Gbp`j,N,5phX8·@G"*MgR (3^e FCjtdw;U^]s?k#dcɞ9a[n݅Fg"tACZǑe''OnbfxsS?=I&$+2>V;v/_#Ѳ AJ㦞6- '_7OzRt0kY]n J!1`^Vf tѼHlr.L1 ZP@c?Yd7Wǔr:xmbdXq\g~Q?py]_u[Ei9j\ɝ*^MFag!#!i_z1TNAtz`/+ ]R\Ӈ)Lւg)K<ezbjfXda_įK,9l|]۸DTY%: We  d%=ENʙDE)V.q#gl{/$KTD3s鐾,jr)O0Ò9dIJUxqcl.T%M(kZޞ^ z~Ww'YpTc8Ɇ"= He}"!$G|& 6a`&otE#2/CE鴙g p{۬9:i_T =/-5&b)Ikܵ]oߑ*v ==?uLқzC{ޖjjt׿ڮ/p^"!*ABq;|=h.Q&-$F ZmUiDf5C>52 Ыp6 XU~Vv*4JV(Ю&Y#!KE&Ѹe/&_3Ԅd'3u(mɎt雃+ xOl;9ƶmsc`cllv6v6ɉ{{S=U35TM|C!r]JQ݈D$ Jl`ӵ!fHd3{Pd*[d>%n"n 4mRɚUv 2!6ZC%K*ZxkJX{0 x1.u!,Ux,/mmA,y Ɵh<}v\SUV8pFU Ll(kq $9a*Ad&H6Uc\8 D.?Z;,<'&զ-%`)Eni.NG!1(0̤&ېQav,qsZ%[k/%(!'x/:gGY.+„'M|\eXpYL|+~5W[WݑX"#W\祫Z}`8Svq8Te9{h!Vb~%C"ak}'NMV9,nL*xu(v@gˍ╆ ?l^>Ψ!kxæ puFcN$٢zqv+i^uIn‘y(ݔN_S!we9$3L %7ǘJ1IF-z,n -r,,8E"mo:s^z i+Qh qP)V(_P{w-h5(X.qpp85sW9V@v R.8| v Xb=9Dd@H 6P\;# g2ZFfos05 bC9fJ)D|eK BzHt7źwe"hA(ք4UT*i|0<א*j0Mksen|9[?ۛۜC",dOq@XTD߯4ѽ z8(LUG,2uHǭjEjl/Fuh37bҐZ'qTYq!2Q:* 7;e,FE)!zMgX_~]\\v-]ot)<{@/9nO>*귲D>dQ0:?̨G]]41t]U$E e8 ʂ5 Bu޹޷Sw@@^x:t%`#4.9tQ6`9V]PcHjMȆڜfEs7&2Z{܍l a]ivFHP"#wRXXYDM3QyxѸ)Adv6Sm3asٮ,:7K蛋jaZW?ф QA#Pղ;5XUg 5cmfLJڲ!BwBEYzEQKߗ"T_3cb`Pm\s*+ rH"z즧cֱ٘P&Sdrdch)-Ci da(b&;eL2P41ohni׭It 6icrwY#sSgz6E6aɨeXWn44VEstI p߮CyA)a{x)?J$b2(Zp)N5A;.+ 0N]>KLH;X%w)[17v/wxwS}c~G?DK@6L%wc(j$ނdD2DG$t 9׈گQW6ך׀kFw "th*s\K6?~ŲkC ~Pp64u1CDx"rtƹ+/a$(3"C#uӻY(A"%M SsT::9sND[}Cd"ZʖADUlʡFKqtK6(b zfN'], R_d1]u~& |HN[ǩ뼼jnduEd_DOQKIk,mE*Qѫ5nCNgN-ѳo>PtlTV%k/! oֽNocؒ[~,QUlx!fX?W+hqG&R EB,-v> ?0_a$;v@''W{+{kapI& FA= ^Vq<7&6Ӿ~/m2DʅHpz\VjUmJrE":[ Kbtg2}ɹFw}yBF$$#^@ n86<Į]qrVCX@;+ijǚgʗ|#(ׯ#x4QvEr'^oo2!d YbkpHKuם﫤XY(OV~44>= = _~^߶Yl "]i}An)}TqDYOD]7 &zr7pdʷu9[ ! V2wbX640=˕뱖Dhk0"-7~ǮIRt!5j(HD ׈QbCp甧BlU1+se:'D{l~ST\t.ZkS{~mADMkA !6/a[`4.kUrn|`r!1!$1L|Ou)PwJLZt?J,f |'b::0 _gUɴhx2'Ķ, 󶧘Fه1y߻Î.H f%k[?hP^/2O3>oZ)ݻKy~wK"dK *c5$_JEɬ ]?3; "ؗmldBx~" N~ ; D=Gεr!%و5 qvbbE~e]@gf5/rDüar rq)-W,pR!:T<UkkL(O݉ O 5Ysxg3 _m :-~`=R2W\N Azq3tf=yE2TYyb X{J1=ȊKޮa>Wگ_{/o$x!9h>;M^k(5Œ[m54232JfSoAMTefRg#bma(%Cݳ͖s8,խJ  t5b]^UjHa XTߏ噬|3Η|gcu8T!!KQƮ75oI2K{i"RTQQ@Z% hPHVg'79i.Tow'ulb?* {E mGg4$ˇL%.;[gSBώQ%4~5lp(άEA-6R014N&̮@À 쇉jXQמ-㮹ԛ*RWZ* |~yCB͸6ɩ30Tc5y4l_.o'PϤi,Ԉe·|[f~k[+܇E.F S/*'RM^s Z0ЎxŶ&qW☞'Z?jf߾jZ?`Rо>}*rث-؏>"yq@UE>am1ђ(4UlYq;gc闼KJϥf< fhC4a\^#S>~m-NY&tYXm_aBYŽ*rآk=7ztaK?} :NЎ}*#j>)inUe*KivI0ӂݙj&q"W8kݠ}7عoqo( H|,ۘczuMFU׵G! NE}_4$ n"ACi6VJ J34o}ŠfKi < ̈-WYh<h>Xi;kbW>R7}X!v20V̨I̒@iLb Av"e$ yNےNug՜$> Xߖ;¨FZ1T23IA+AjQƷq7!VῈ F@(Ihy._:ioK0vk1P{ A!Dѥ}W: ;P >>ҁr 4{)98]]Xw99D=|;=t}קaS Zs^QXY?#wi?4Ʊ8җ#ycZaAxr^e(כsw3$0;ɌzfUa_XzriQ`fb{}Ro]Yjzs~6o洆8I3%1D#hjd 7Bx߫$̓F)~D1D )wO\{uDNc qlZ@:{#h>tz>J1m1Mo9Os1N؏#p[J/S2DxWMnq Q午P]:CZD6$F[6VZ =EpBei-hWuVj0ARPr҃*\ f2 !$us~oCKOWw՝5$J!.Wٯ.GU ,tVN)(P3bDG$I;6vq\ Jo>oL5OG ^9;YߏFa$0B"pzR‹5?9/gS?Hٽ,(pId^h[Fٰ&QZyALt3!ff7 L/=Z177qiA6A1є]ʚJXų`r&SDp-b8Ȍ o{}Zo։@D 6uJɰPSa-gZxfq10Qqe}wCَhKeǚ-Fn[Ct]ClC/Qֳa=n|S<"iԱl`{t{O럦/=W5pr`Cޕ$emQPwlU^7͖ZɡǮ-vGM6m_ܿg6ro2li9 p_|'H&ChPG6a+h{:IXߌk ,]Q )+JRbǠl]r{aȷ/G(O =dFె')Q=oXvm9r}7;ޕS[F~!ϠQ68nrl;`z%;97yY V_^^8p*ed)qMV"&-j2Zw(IuJ+PGSjǯf03t(d_NO:oF`)lw?cú:4ڸ9YG({G־~Ε+5)%:KxZRӂ7-1kh>S8qH &Z)nS*LĘ`VKg ;#A| U@Bv% 8Y6>iLUm Ɵ:(^+ ̒@'r|^776tTĵ8=-Vf"QN1~>{D dWO,h۷/6FSء(0АSR TYMHђ_uM-y9* )' UZ Ȗ uϬϴAqLѻ^`<>彝\?WdYttKӚ[}Cnη5U&b^ v{~ gAJM\RL&ē7UGJ"mh4g6/p@ːcnP4\5AB8⺚쨐t1L B5=̼>Р']#@,=П9c,WПIztdͽFYtNuפQ/3:S>uRxgYW47luth%Q;|z?0P?NR'Q/?P&KV3O2bطЂ  )KdAlqcof2 :o}$/}[>OF>R0RR0)vMSVa438}#rd/m_t}~u"*?4ȱ2%ǝlԫ';6G˨ *$_UH(` @D0`33pl? 9Bwu/r+:!Cffh[ZY&?ZW2(A„ frl홏Ŗ3izl* E {L7ve%&hdv9'(,m<4r#d3dD(ȀNzfE-Z3 hWQ~_͕*+1>o~.ݫ2˻ؿ'goD3JKx}&kqåɾ- a)M&Aܜ| RG7⑆wQaG ,[.!V/T+Dl:qS21 ;!֝N.Y13X4Tx@|X`QD6OIC|ΎBQI)lFˌsy7fMwUt!N^o7n!\E"p \Ȏay)[ Ū'G]S,r/B\L7rwY{5b]zGe S#Bf"_.EΊ=qTqR9{DږX#+ -JԔ5"X ŞhT4{#NY݃~y-hAOm<+JޕTS( JJDJQl;n%iX2W;xI~5cֺP&r .Y9Zm<-VqLs? hND vN3~q*I (CڧҙM&;yW]\2oL 4jh4D"zXْWaPŖD 4 -Á@ƠDr@1leYt(R9#D< {<EuWk%}|Ө:LBh9joz?82^+@ɑ7a`RfzS{. GMdKmGCdAFntaCh#Iw<`6 mt!a*̬XgGmo0Ѥ#XL\ Y¤*f@@gh`_>\eWka?9CZkge<sKID8ޓUkrs740p1eѡa;]{ªK~ͤʗ.rq$17m*\ 28mοh岵 MxDt[W(++ɥBmy1qƣ%u`:=ƛ͇vX9%'mWNSa" gAqs`eZ[@< E\וW`Yѡ#m׾IIyφLۆyjľjprᣬקM? $~l{l,v IڞWCd<=O3u.:YPqLB̆\QuU?"ۊA9`ДfL6rrI^]kaEZ ^Lۆ($S 7}/|~ oI?*cX^h|.ay:}*߳?X˚;ZalսVAI:Y9U\w94TT8N9[}uM;uA1ÓOaǎ:X-L$U]םꮔCF+ûK'$d{\|\4i_ˠUHHNTvs?rPvoⷱfH$13`P!,w|t96偵3D覒BV2NJ_ {Ro[Kr `8a"v/J^ffMgÿ2#7;VO\)qs%˞_Q_TK=N*9:3xރt wjJtF_~t 7*AH#% A)|x*  ģ]Iݨsļ~{Y{a {= "TBB4~PeG<=CCAW-b{|"˺A[[PӂTdd\览56P/4Ayz)77UzŃP/ޕtufV].%Q'VsSQvFRxq9UO(P5>ݳ+~Xiuy~ N'{ֺ{+qGڞ_ն7?=RwGmaRV zةBkJMX:nӃ+g s~Wb }Ϡ|1k ߑQT*U^w.֞]),\~MSTV~ϳTr4HDxJrD*6 20-me @X%ݫ+ǐ߻:}:yR:z6> F]H[wC]`]i¡]{y iQN FJ`h C@b}͉٤|yEGn#`0P@yrj܃RE']l+\^ #r^C+‚w¡72\ЭrO)~}'nBWGg[h `>bC ]B}SvrU0&9}v)۳<{r~16o "s Pgt ( >9ڗbnj`P[:!AVYA'3Qtv(6j+1ISgeA Z˱́p :J1iV0U7Kݝ[wK9"Dpttk }9 =IowOf'51{ J>Mi>u/mH,29WАMcm=k4IҘ]7׼ΪY7fSȱ1d?Sa6p囄DrX>EY2@ݪΗsukjҕkZ\Ql wQ @BL |U ÉxrzZ5z÷yHEL\d$;SB{)+Mi(ߙfpW6@9֩dC'QY*3uV)wu~کXy*w8,#MhB=q+;.hKKuhH$*~-c}Rezq~jUGsWcV_cRΥQ=w67n=6g!5{C$y?^}A3\_\ }mkњ=Z||,?|v`tn|pjskOyZ1oNH.\>?5[녟}:na~6-Ih+&X(ܨiﯭ-0]2j T]MG$n7#rQt/kzȷf*^BȂ1DOm L&1= 3ir g11)4*GiAgBS2݌ @X (*a~EP |r'PIrRx}h @)mP@{@p<ΓhK!!fv?L pudŀ $ҁ~P@HI͔[^$POf<.S >m>ʡ4!!;&VXҏ w̐|vgǞd|5/DPPb0%W zdUͺ>W䋊'pu5X ojwW"-z[1SRӈԒb!Cg:C$c&f,ͷxњemBߩB&dλM/3x6s/ٟ_ovUv\.5|mi7V~+tg~3$pN߾,abAPWLc8ԶAah_3)e?Xl*TN*Ή8g1|"HbOw/NQA8#zょ}c|ۂ݁NCx!E$̷P8^$Vx,q̟1>+6'.!$Ms+>s%^f|R&e<_/9mb^|N>ɋE.g.OFCDsY8DUW?UpF4!?KhZy>SuՉt `&T ^,z$(ٔɜ*a$,Qm4M,IC,)oP&?9!Gɽj 8@*Bny̷un^?e|M !^/EğD#^%,+aռ6-.ƴ @A&YʼwLGܭǢ/_"gXZ4ݮi'At7u}\%h\mWY&*DB'kNAp .k_q&K I\z&F%yy<]`t`H&ffsbNVnѭ.]z6Qp\?xk4?mcHV,]Z6B=p4ɩ٩nnz[Jf`m l=M ¼#0zgQJ"0sx)HGRgu)nbA7@ӬY-1xQ@ma^#rb;k|Ah ͪ:TB |K;~[otù^tZ-ew$5?~nm><8`ae{HУUG>*ًms,Qkluq˹K]qMdz 9hb y*?v3@Ch-b#C}_7Id91i%NP-2 B=u4g0 3fdiJā$Wͳsv~u|"1)r1 x\4 @_Yd9 nf)M@俰hlPal"0 !0RĴ`@:g&fE&D[Msݐq`:sğsb"A.X(0l0C,$ԀVV %ĩ I"H{{ݪ P%~7VVȘ#2Ac&cO͓!8SXqc塑{t 9>k}+cfC=q0<BU뮐ߣkxpn~_*$>:q[`R?gnt\ %`OxzVHev"92T% [nKV8:5V-iV_BV6 $ύEOyEo%]T]n^Rc]UѱUū&] aٿbmnkWoqA_auaQ}EI!}hrXZz?GajTUo ˵cۖ #|N7vV;fEeRtL8+46Qj^=zwSBfђGE^x+5J)8+ ^|b^' :J@]1G( B,ͽ`'\FQ J#Fe3ܳb=n`Cula@JR- |LHMhՆ ʂ;bguӴ~!~Gwc_^8ȏ0j B4";V::e 9 L(h#'`u8Xol$@/>w2oT8*bH^DHW%ϭjb;R"^ds pLyUsШ9ѩmHͥ_|O#:6E= -PHLqgQ葹M4qBonJV6ҡ7Z:7,{׭]k=9>Riyw+NOBv_Vf]R(d͢-68p¦VMWmUW{1OꞮ5t{E۽.`ULxUTQ-b**`ߩJ٧&7H" K[ؿUs237[(6^qa6a@ IiN.Q#ID32Gchx{ςk^ ڈ$ٸA֊9R{K @eY:b_#*ԯpM+h`''Z}Bh d٩:?+r3A\C8ba,k׊vŸ=uA$¯OzX ofeƳ2<;32M5<03kX^ѱj4SDz(Yg]̠P"YY.-juK; QԨ& >Qj y #b+i$2dAeqLNR1+sƷP4x;!tV4Uv&l=g33Ζ<9`,4` @?/sjmͶ?w˶skث?Yu&RMwܵCRnB+OʪPAڂݚ'|XN׷'7Xc6::})aʺjk6T -vYubVJ|}{< y.8;p]U,33PkWRϲ{!4-n⭱\.*;zVOSަK+}"3ǘJȴ/.\+kjl5.YNB~`X[NO,nDFn@Z 詪^Α%VKie(Qm"ո/$)%"9^0"Kbv"o2RkNirNCVN4sƷ^e5$"05wV;:*6'KGTUxf)zZLOfi 7C`t/ZˤlsDc YKR]kz&n2;{gP8Q/tX(ͫB;zHh"ZC*0"q2lca G!KPF:9W\l];?)V's8Y'saY-EHH@"e"hB71YA_IA7̱`zAyvUpStv9h;{CBo8H Bðx1sKO;G"3w,,&GSuU^4%eջ= v~8NL%,YX[1s.DZ/i݆*.hr% |bFƐxeѲj'g3pi=lqTuЙ9-UwE7K$FDTBye":{@ā2r 8Y 28YA1D`s8Nu'ɤ4 7l,)`< hF_&g~ʨ^̀ UẶ_3~+'tJDmB\!6fC+x,iYnPu܀ْmc:&(tJr7/|Ȯ/ĸ{g: ߛͩ?z[N6VL Q؋G=˟ ’U!t9W]^ y?Y LdS?veWg%f'ʖ *>|K21A3#ӂPuu1)OH?+Hz=Cp@!9(YUÁE܇rtGGĹjB'FrS3WuVUx"U.î ֈ2+$lfNʋ잻󵳒nyïOm\Uwa5]C0JdM~%ÿ3aYy1di#4[%=zwt/8f#b9 s̬v9N TK|Ρ&'woɃAO4A`KV,?7xKe@ʠ00Z*smQsC|9亸IRtde }*}:vN˿dѨV_ȿ;ȱLLV?t\L- T,ơ.$\;3Z@TL"NW{(K` *zD:AD26?j\eG37VX3 5#YoTzaoXL'zC U-*˩cn"*_J9ͫrҵZ|& Q|9lmpemڳ2W!FMu//CS 'TstWOG.;dfӅ|7bb˹ra(5*ݱndrPbSd>"Ԯ-m}_k nS׿7&,ku+m_W*-rmu,&nXs AXO;{Ymܡ{z.VS=;NxCk>ZZ%nHc  b{%6LVBJ 72XXIqmqr"ߴ>Wܜ\Nk$׈'_]y}%[ݱCVV챁3%Z!pcAE@B5L`APnA[#M@Qȶ:G `ynL8[xsuA) -0"Gri_&j' OxD+"{'ٝo2Ù3LTaGm.cL3 Eٝ@yK*B.F; :9^'*880 lY D9aaVˬMGvM:m5*WDa&.T9xA{pf|"y%9[H䴻6=4AEf YUQ!,g"G#Ǽ=$Nfd6ݲucu$-`}8RyT mh9X "DʫB%9`6 i9ԸRuݗ.g>oju7/ |cݵԉx7g] jUcFzT6hekӝ=3[9 oP3>w[Z;Nhv~[z/{'2縫ŝޭ-г_ 'v /拤?W"DI" &R/Q  s 1#рH0m># DEr'34]l3(,:W kGASPGn-=o=)LvW5uVՆ,o.Ɠ~ɸHX'X2FcyΜeMp̳b*!2Mΰ*8|^(Z$:*؍#< A'1R^Yr6)~#> PJ9ɓ44G\K"|aas Rm]H0;Eᩄ9΋<(JPGBC6[7H \W@F6 Yd,(JgCa= GlrqϲPM~g +z zk|LD^K>Em[o^xgνuK ]E]*3uO!noxseDQ>+ds9]Mg3[6ASSWo<(jJȲ`k'O|r+xFba5[ƔWWhnpTpE{ nΫ?+]}]7T wfĹ7Cg )Sק_)H_U|'K)=^x{b'O`T.Ʉ&c34ywH~*ݥ5iw;r6휸' ).S;UV[ul*UW=p|/V}~Izr4E5p:\N5yNs1)p*'1NCF0L@P#F?q@kѺјo{#o$]sgJ̚egG3Qxk^\)jЭ,ȴ|(ջ.fäCx|MQx-Om-kٔhNxݞiߪjYnٸ;mOj⮉#bMOgZFJWщ†T{x21OjKnTulB[ᇝ}w@\ᚥW< wmQ^~uI~U<딋(9U1-@&Fq( 8 "ω&S܈[ eR}dacPqnv#QtؒXvDH$qrKزFkRȍ6WAK3DXYg-cn}ec*;T9IZTu!lQD2d\*@8_X̒ej9C4[4!@j!f dGCB&$χ"$! # a#5b&q7=LHHi< IDAT 0 4[S_E@h$Xv>7U$<)<ץӽT\ɤ];#ru}W5*28.#%au5F(z4f#D jl5@f{3'jG2 Hhs@ ?`8s@Q"NHH[iQp]3vJQQocJxG?ݲM0꺿;>WNZdWIQ1 t,X_Z! -[BZ |kkƮ}53IW=Ɵc\4|G6$'+=$DPXruUNΌͥ:ɞ:YtEӓJM|f\y7^ յ\E=5Xq=)umw>BA]{2U8z˺ ,-mIY/}l:Q0Z2ɼڲ w XJ@XH!@jrHZ!4ٯ0 5YP( |WCZ)TXӉG,=wߛn$&n[3{o웗Ӝl@l(ﺏq||~`a&.F#4^0cŇ6 MOy}40Y*&cw(u< E,? JX E<:O~k3;޲y+6)j'I3 gFŵ# )Fˆt q $M䗴nZ%5%LO/C++ψE?osZbwVg ^QP T~D&4"lԹ",3 lDeZ'@PpW*'{}I7__\vY(C;I2M,jǵ<;s'zdz[oɓ׾{L϶S7L' mSkm} Gf=7ڥ_Ɇ Ƙs-// 9<޳ne!gǖ, 7LV⚓Z.kNez%i* +L]QYEx37mMu7 LǎS%iXfD%RE5DVKL.wCXʫܣ>(;ٶfɉϷn$/*ݑdu--̢2>y<6'CkyBʾU<].c\*h$ L<.Ar}on\QIfBQc%zP=U "#]oe* k1B!2h[V`&q36c.gǣ '(˃,,扏E_3gz]!=뽕\-x"$z%lfemer4@a9`yˮ mA)d6ϖ~[yOndg"Tz4NNo\N`X6; f1 ښerx'>"3Þ5Ա-~S2DB-yobnf୑:r^-om@rc|̾Dj9 .`oΛm:p+Ur37,-hE#[DEuF^[صOemDyܻGػW<{;0U7U@1-O* r"/CQ$(=sSI4@Ilv3:tyiIn~qCZC"C3ԶA.>/~"z"Kk;7e_Ҋ>ާ7vGG{yY궠QɶR侀@<(_$xs#sX`+voȏ$A*E#!zcLF $  9x0 6_ߞݺi-l_X{kϹl&X7:Rig*dg*ԅOdsOyu7{tNxM'olb2f%񡧎Uֻ6/h`pm'1dէ^=ۼUL`O}4p1y8Aeغ>6v<ٵ(C5AK+\.#XH@ĉ".>H *+d5C;TvlU+ۃ2qoDKiDug_d ;TU5 A%KSwÎGܘP ڐIψ:72g!nJ:a`)x"j8*f [7;H;/+9(=";+b%aY:?jpHxa%7 ˪JTzGp"+JW_.Y BZd>TpGk  &Y@'rn>S9˚feX^/N<\L(֖X:q#ɞF鞈1/Ͽ0؎_a?Y}f\Ȫ^??1o#~Ujc4]ro 9]m 9j0^-JD]BGX,0>^Б\VD$ \ոE5yH%+r om sR22WxU%CEÒ*19BeKzp@mZwWޚK|5WHgI&rV u %. x`h\ƕz..]~uB^pxX)IBvTi {C "pM. rʬR!#a26 vz\>QT)v_$( ;^ DCk%LIͨQKfZ&rtt*7*ļ,@fȡ*e)3J ʱH,Dzbx89ɹlo/wu, -n m͕~ 6Ѩ,$#82o)YWlW۴l: t(Ch![(Xm? GBٗ:AΒ':6)F7Fq ?wu_rJA8WJ4,EE-*Ą\:KQ$FF#bi2ŹKd.Pe0TݢD҈4 %A@$D& xdgJU75?y&_GDo-" %(5$+-1J:+hTKBP >OK +] eR$[J6jT[yK>uC%?ml}#ǩt2GҬ%V[Ik%q?K0>yBBȍkb8;&2HL xPxQ%Γ߅eNmbOMohgjj?)#Vl2+ dI-U+aÓN*F8Ojk^ư_Sh>0SP*"n,}/$({KtS _tM+;V+w\Ggen MQi"YP@>4y\ZҮ,\%a ']P+R FD%K$SU1ЈJZ,̜S46Wjinpe"Xn ,DzTV>,1q zB32fME'ȁF=lӷ^\.9|kw~Otyj=,[;>&Hcn ֱX]s_#C]ڞW>ʱ8?hi [1Yc.SCtKX0,-uG[B@2yDj= $8caIeq`p0)rY*8']n=IHMDi$!j*> 4+*lAHP,KJ "idO%ZHq-&ٛ! d%s2r=v*V8Q{(vpq~J] ²r=f|'o;+Owb_O׬*>~?>O.{apv,[*Lδ-ZTeT),ҥ/B\U2NJE \ CBx*=7tDŔP~7+\^^Y?O|.H gfW@/f'j|c%WF S<_=6L~.>ғj?[C2>|g߶kW'cjz\3?gټfݵ͍^9[Wlu;O~p4O.Jk -d 0גk, yE I%էĹ}mB|\x9BDnшrj@bn *h w15pV=͛Uɘ*DY2OZc@ƍ1\ tqQ0'eJ<_U) tsȔT>*șbA|[~v C1ªZ!wQA F`` ̟Z.U6jΉ]%5y/7ŷЩ 6ՄI=j)}ڕeNM 53U@ Bԃummpye"HE4 D&{uUk}b媮Y9ٖdIlpdL 03CqH30ɶ$#YRKS|~S-7{9?]\>kײ)垐(%Bl);8H2X ch@94iDW`6u%Up𮳺몊8 B rJ@T L9И,\(b]/D9Nu?>뮾Oq2L2byd'3J˟팍|2_1k4JM@s,vkK̓J)<0(Y# =Fnۺg8TV%NXJħ@H^9mE[%&'=(Wo]|l'3 -hxT$gEAr}t6KyD G; .>>;=~׮[;9zrPw=%گ|܍_ɯ~ǖ,[d믿>+wmCKPP@=IRgt3D1nr LBΞ_D"_P"zu 6Wzxe(TfQue~C^ojrRW#t뫱mWסApp,$[`uTPZ@)\ֹS[[[MOL856IKX,qjzpp;aW>衖V} FT9pl.Dd@.u>|}]k!к?2Zb~iNy.V\*ꯪ KG~OYY>s_kCX)?r {@˭wt'RsXz<՜r XVz^;K\aW]gD2ǩj;F3"7үh.FnpE2[ex>t$>rzO|fJ?yjwkWB=  IDATRA&W_}Gх X4,K'+̲Nu&~ B lq`awxBn_fp3J&s,{>Ue߇p҈;IV`]v1  @h/penwyZˤ.wmsNpGk[{4&p=^UCL b~:|.K ʸNn}A"Fwh]_m4ݑxnPn Go5*FjމC#3lW#G@8 IBU@`|WhCJ6_(Ni ' T#lG-+B"ټQy,RjuG ;tLcc5BV,[VJa@@KS$H}x?󎼮 Qr \%wvXCf nB/(jؠ&Vmzo.,`Bcv"m8qzq'~+L ,^7o\(ԾgIC&s.iYic}8]AH1#>UJ%fLn %gUtxQX z7o\8T*AhAsa2x=ku;n~)S{zo}ۡhO1{ܒK!ى4!b uJ࣬Ppܔ(+7'َ+ݽH)k:4KM;_Xyٚuu9IRd'mMD,,}erO$zc=D>rz5 IFIL<`*`Ypw1r{OWZL-oao|RG\2Op1en֕dsZ;VYZu+)%7^J}N) /&m{eFm %˯*R!U H!伒/]uֺneOv,ymB)MP Xe*xTip BGV̀K2jDwp 7ˁZBsr6#)0s˘ )EP?;uc>wź^n^]0ic(C*>%%Po8NzGڝOSG=ݥIT@@nZ.)5Ү<6v@<ؘB: rn, & qPګ[ˡnb+# ФO{N@"!}o-x 2Cl"% ABDU LUytU'9cݣH % "Bcq2IٴE@rNc[D<%a%-(XaH$dW\Q@ȔA*#rBQ GL'P bP_x'eNgG(SW 4K[&U "}…Vjuu>FQumU{>sZ/bP8"_d z/=9vsE>KS]mk"Ɩm\j噗2stɣS ˆ2߉+}'ENL 3~?L9/)M,E[B?/f /'>A\zŸ~W/w,tQ(葢!E؂ 0`" hǒҀ̈emQ=ޖMWccҖ~'=ͽK.ZWV"ҍj['5д9qӑvn}mqeZ K4y*׳ QPM]G/=+Vtzg$=a^OxgXחE#L:]-Tp*"rBբѕ]jEhfKXϓI}EµʘT=E mS@ơ(E@F2B/~uw8vS`\ }3Cgl*k~$e+t{qOf/5;931ң kS59E Px!yVF@8[ G:|ն;xg^!Ե|!}^.3YK_\xv$DuOAX$Y҉5!I">e -K0" 6fK%ee۶ØLarD8%XL06ۡ9GB) P8;@ %$PdMCMeITpdl&;- A0Ucͺئ%  tUUYYWHSE&'~׭1^xN" b<&|k-V۫YN`CJ} IRR|I|^&4ʂBte}WSy_\}˷?{v,!.XgvtPT3UĴnJ$tOLGYlM3go9H|Ύ_ .=D7)pS.>aJ噲iSv,Ys/$uWa{~3m]XH6'<| d(äy2 ~x᝴D = }eyO]cEM;ڷpQno 4IgfَѼ#qy0]Zvhٳ[7k;7PGԐZsfM>x䐊eD"JkPԍJ>Ս8g"U>T(hN1$ɿqwN4 :0yDu~'|C ̛\ x)@#"hQϩN?|<8qbN"=Ȧ ʖhJl(a0`4鲐0m4AD`Я@1_l Vq`@ 9%Ш&p-xE*``"Ib %+)\ FP%L8Ѧ@2]~3}&ַ9|61`TN7&D\7NMGaꡮhT%X#.n.)Ֆl%NBx^s7O'y[7tSϳqi\zfL˝ѝRW"lC!e@,g_mmϦ8e'zƇ{ T_0ʳ9FrS9֥ŭe&7>i}ۏ.^PR__q-ƜMR0(CG)B:5&Ϗz@~ѝwrEb$e~߿1)H)(^4G⓾%Bʏ{Wnv)Zv$YkNϞ:VdqJ;vj6y셲5괴ؽ5Lwz"JT̡攊T<O#T&)FV[LI:: <WI 3KUa>6)̝(zL0Sb(TZ=K\4i&~%^J9Ç_],8'9ėK}!18 Wcx:MQ xMDFYx&勣C/<>6 1^d՛2Lj<7wyL@*\Oq^~="^Y?fNb& ²k_Jz%YWKe 2w6s[$+sm:Q kR`iA`ap;M%IrUpBOEoˉ0K&a`[̶wx DATVJ%I+Ù][Eˆ\>|vS3Wr_G˞=VtOU|Dk>ut7=ݥܟ> _OCt@kpD8z-=lptM^]Ze^'Lirb6 x2G %4>Gx5㿨N %+wmujc"3P y`lL8_1_N}mٳ 5=m;HHa O9'b<%[(c7ݿ[o%J& @vif<$ҭvn{!?־67E6oë6=$9v~yacZ]捏%l)3TVNybdPݖB5yb}턤g F?o*侎PKZ*7гm#IkfLS6Ox)G&hTVǜ )ԾCgZ5Ե患{\Ep}H+ R Sa#T]0Q i5UCqkbuw\aCooQ~Gh>=cu,px_|tIZtõU@;{PY8}"] ٗ+[_MP쀪vG_n9}7(Q-uJjV=7EKi҈F$4Q|>Mj;t\iX Ѫm:u*l񒍨*CkL^L X4C2!Pp88)K XXOz{ Td2f>瀦#ɠfDFgJ <@k/~G>ԟ3嶖7#mW>x uڥy/qt6۠opٙqg p} .]uS:ӗI)˕_ɂD̖̩DlJ(IL@!<*$3 ^ rZ)D)p *\備("TNR @8P6 ۴lD%PUq[`Z6PV@RP pVQ^f0 c|o;_6+$y;-8`q2/&ĥx.]]F5J,j&V6u)jyBh%,+Mh@]0,Gi58Q\`3i,.Z[oW) s,9.zKoY=_ڔ &UΎx=wvk]-j,Jܻ IDATM}mш6mz+Aۀs? >ݕҠ wwu& 澊ʢƃHmX 9]_­P(ȟ}(6\{\;zHʮ\e|YY WU X[׉NԟvT<*蜹 Z5ua- f-m86&,ڭ"l[sGwg;?_@i8 ,eҼv79ޱv`b0}aAێcFJzǠb~OW:}8u6еFvr?60^}f0Z9^}{Z]qfz?:RmԞS)3k=̄x[[ \V (Bh J؝1]&Zz(48HXϊb^ncyN^[u~C-jOjpJ F'T(Ē%6w8hNW&ࡐm>T }?\0sT#Q_eE-YKݟKSۧIkf9Sxd9%fK6p!t'=wfzۏ:_h/hwh|:w, ;7!z$@ƶU_SՈu 8;G$u\LUY-*P {?KLW=ۖ PIVi4pS4x--xIhpA!BA8o PՒa[ [`ጃ`BpD{,"( 0&kc\$YDd,D $&ȚcMQ^dF$A0MBQPF Dpɴ$h[]OTp4@¸cJR@䄀i2䗿RQv !+ X v6Ll V>jBWkyuH&$]|?t/9D|/~ *[ZБSs[п<"!P(C{رwٙaE״?<%iv f] R+66EBaӣHJ ȸJG/D{ G $K3/o癅{`x xE_̴Y(f:{$XsGJtϺM`kD& ĹC'DwHN<38)l8 [tǞ_\.+nҘuL+ɯ2v[L1.ks. )r Em.ҖI"TdŢQkXNFFaG>{4/ WV]D9f&J-Q%aJd Ų!{,Wǿ~fֿOCn^x^Wګqo=1msE _<}t钖q)Hu=k70"-fѫOS>5iu_?6DZq׆caEn(xaJccҙU&Qn Ղζp?T<\}DE+IL?X]r+\ $#Jp؄ zZ::=>(TJ̖/[N&UhsK)t7[#h( PDᒔ'9w8s3PkYR B$tn+c-I,AAZ":H:P.FDaf$ෘ%Q W2U((0FA?!l1B(l[!T(*3L̴˩,޸!ĦtE7K*Q.jf=sP]6o_FuK)xf[FHPسCSً A}jZD@G?Қgf&n,Ik"D:W3߭&ISTxrHe\(Ӗ٘ cz')DcEo5dӗN[&MSڅd:(DvJƃOo._jBpUӯȜ뮷9ߕofGXߛv{IX*'9pbsߖO֜;VUw5ȁ\nV}dr)C6s~Ϲ MMWGmɊ<30}b BhУ(3lAlX|ٺMڍNpՆшg͖`P^:>m:X1Ci$ !`?E Gh5$yr%FH !sVXxBSO]:JkO>b=1UT"^l Z|J@]VN='lvttcV6 f)~k5fRkX"(c{׾_?upF*cޮ\bqL6_I&~[u5Nا^8go*U$էsH2uN^Fue.xr.|6jHZa`<ަVO)ͦ{FGk=m;>Xp}^9&I @&Ho@( ?I7MbYL|t"Ud"Si~U҃aye]/ۜ;"r}^Ed"I`-Q׫eYT$PT<15S(`2%VmCH)DJ!thȦRm0Y@pJ%Ll\pGP*Ȏs%.ۜsJCU9 l@B" ܴ#y$M!&BXr/K~GWF"%dEv,[ؼ{w8Pp)\:u$ :"a>g.mD&މ=o~Ͻm~RnϘ)+.m->EWG/D^xtEs}ZfƘ1…z~&@W`'llA- W;G @Xʗ$\;wJ/k'Fױ]괖R/C7׈Ї78'z:>5DN!z0R#-A=M7ܘLT?1WS30C*==>ӄBrr)#y86BĚ1b ^0&,UD$:lpŚW_]x٩N==>m(O6ďrՋxn;O˚䒱 7]Ѻp`93Gr<^86u5[nL&'! \5b!y!~FJw/-aP?R'pO(+Lږ͗8Q߳.1x0y\{8,$mJZ=xG&)rv(y``&H2x[ffǠHEѶP )!PdJ ¦L:2ym =M}bd0 >T&®W 5;.VN !Q p up8YeHRyk82y J^y,) MLѽ&K2*kn>vbeIvj/ȡv8=F~N_WKdsT: S= _S@V4*Y',yxSssKGKdXE,LnMyٛ?;܁'_#;g _b+kh4!%tJqڷAQ.Y@IcL:` G'<Y ΎͱTI7qc3ɩ)K 8cB"@3CCl*pPIҐ{)iVTUJJU*&Y䲃T&Ẃ`A 5McE\B$vIT,@Wv`\LʵF7l8"WtJR.[ RY%*I":rq;E)TD y"涞jףeӆ?Y,YpWĒP9,۶&b( g2c7/&uB0]v}~" xGT}RtJmWI&fTg֭[}L:$ klE+'S_xtZSp*PNO S_ #d{uEyj*ruˢ]7c83Oۊeݡp̎s3[HvS3$~th=;M?պ&I̖~>yV;=]۽/S7r'| _(nxzT3t$sjdf:խ=}|3d-_w]qhohZ{Kύ;g4O M6ӹBэ Ķ7cK?>;p1{e k/ް2B)::d5Gybм1ɛ6OƢ#4/湏'H@sBkCT\n:Yd8X vuxJ 2K- ˞+LÙ&xlۯF@Tf/т5Ϝ<8zagѩyR7݉Foc:OjlQ)ȥx($ cU&t6NgR鮶D:Ð|XUr ٿkdH\U̵^OjVDGb~ߋisZDlsViBB>c\Chf'暥MF S_qZ0RP˗gљ\9e ᡑѱ ;514KMWePIiŒe*ɲW!S% *H:Lٕ1WU"^]aيBIdl]QF.QMdIQ$ɲ0.m0ESg[S"T%"lTTE@DBEʖe J5=9LtɧYTL a>pLlQ~ِ~;}JYuec+޳9Z@^߄*~nyǎIK>_į}nmmS-8V1J,AZm-5W=G&WoV龖ȑ;xpD0>f[>uTh-rL<[ׯX̐R0tˣ~|謶Frc֖be >=tvS Ƥ5Vk^v}ƅ^ek/\s;VpQ#7rG{iuP>}N?P Y4+NӁRko'VR +Ս;FN<m] Zӱ;hA6*iۺsӴΜ?ӷ;+մT7ht־ַ7FN|Ș}+'~%%(~MVfuUTveֵml/pE+K,ԆKӶUtP2{`]k$ hm6v(ZH9z(-(4΄qV{Q[uk@ bz򶷮UkR cD׮gJ,9ATjv)Mɠ&6 (AcPjҖY 9x $ \EM|0I ^ kѫ yrU@`SN([K`Uks@ r|.05p\WMx K˰ w $aZ$1,M`%rb 3@u}mH|>ii Lh2ܼ}6ݣò}{?_쿘SMl!J@YXP pXmEi@v9 Q BN(&p#.ϱLQqS"^R9!#뗬wBWxNk+)J/s!BrMYJ<^+C[ EO}0b+:Q>'>sZY|[ZS+Պ @:2ܱ{{2@"ћ^kTxKVՂ3-kҦ(TnXl>L7=Ww5ZKG^lDj^V,[9`㎮hmصVf\~cW-ozd̏L{;/™orW%SsE:" IDATP0< "%Do(H>=򅎭 M9w pHF7-ax /KB<̎ %4_-gn2i?eA 6kzLU[ze6l SM>$PLvtf߹XhQ]FjR^G0Y4,h29$(+?L A@=&8L\C0.>VW:Ks$LWė%@ڿO$.ݛyO\4= >0?~l~!f{[CԦh%!wM1WU׵MQ!Qu݆Yf5]PZ(WXP˶׿V&aZH (kOah~Nd # kfe_#N\!/V6_1G >./_0kahY2.k4yPܹッwdص@w,ɛoؘfs:v,5EdYU>Ac,BL*Am-ic"+ٜŅR)P,P;0\ #leܣGEY"g5,i!$( tS'ʡ5 j&[_]QI`έ^ sm3@a#X i@0`X C3E@8uhͦ90| l6K@xdQ;EJ9E l ۼG0AKY.>"Ze]<_5>49Ĉby 2}-Wّ'pêxMkw\s˅SCg?Ou?Jھ& $lΩQTٸfMƼB1w^liD_uXG&kjWV{Vmuu8Z m뮾38^cM4pw*ح+6 jV ]mZ߲qtkcDZ43n2қd֮'y[F<!ዣG-VpɱW.}|Hk)7pbReCӪ|KdlNnxzf>/NW E1z%Ig`/=2?Ku;տMd U;֧ɦ]e {-*x`sbw.4mZQ.& N@ \BLTHaG'/쮲I,e:V>90Ζ?M90\< 6p0Rk 3I Fz)JQ@OWu#_<́+Ź*IeQ]o{adD kV5'ڮPd c~޳T(FlI#9!\u`[t+C}9` U)$l6@+ˍXWÛUZڞ.Vˤ|G#Tٙd#Kۻdw) 0LJ+ rMJ'|~TnlyB "  eZݬ^*px\ysEջ+MGLoכ- O܈njÛ9תy- ^ct882gaIikhBந D?$J9[?ޗU|%l:ۙ9R~?z2[EFO.kCOwfΏ'Snj-op^(Dh.FriU)B+O{x+kzv Р( ƥ )pUP+OؕRɐG([ Z /zT3LcȗBYAD5"b5 ;)^t&*΍-&ɜ:]W5W7$+9ǶSk6A-khtˮ> U<5r$mtvq ùGDž0)+uoQ8 sc ǥ½"\yT'@}zVKUc @ }pp xQױ8f*\xÖ7yq&&pە>B&b[;  Em9q匚,a|{>Zrz~$`5M24mR.%CAh(] &**`l:8Lsٴ ⒬sdQ8瞞IupQ0n-j$Rhؓ3sNvQ[l*"$ N;ͦ$q!rFmk0ȁе"4Sv,Wo3A^*gDt4uzr@UYqBd/jN(q9pY$NZ@E_*M0a32BE_X^x4CeFP\|'>CkTuJe/CVPɧM%㿭/|EFB,P 7_'h{qEΕU׶n::}]2ٰ'1m]4fFÓ5:%_kTC3ry{/|XZ ރ.ּXΡgd-Uvx`vugzo~STMmm86|[o|_8 ;{+/oqH_Q69|sО8>w%K+7DFq\~z,j)(?JnKͶ~h ^E XpTW֐h5`lR๣.zc{ךb1B?OǞ 3OV[o ۶͐B-3%?nO'i87dϝRksp5*9ht؜wvO6{X)P7Ė$+V*,KQ?Khh)!U2>RZO]|Ugc"C  f~7ΡCswxL]ɱ&+4B m).F=9wѶ!TL3}1܄]$Q[SƁSXHӈ ';3/}ɯ~M-񽡠 [[ 86hZ*M-A3zy -8Z 8Ɨ K7JxY 'HU2; ~!u2;mw;<|AO9C_LU /Ζ˰ؑ&6^3AA|8FӽO75˧_y[0fL ]=HZ*ukF¼AE1y.s8kf-gepM3\򞷿 ^}s ~`~]s=ݘNS݃Kobp:h3e?޴c'Mq"j2(St'76؂/Ŏ`,w!8U'> = A% c1qIhGGvQs1X>ׂ=[/ž}gW\e)Ce`pZ+rXSiDVvG,,ia#JgFΑɆÃAiՐE 騲{bɑ^MEuQ539wxOac̷uȷюkidE&h{9+Ga,[/G.SQW10a4- O 2̔wk %&-[qs_Ğ(V#A%H(i.Ʀx90FBGG8L!5 2DXX`$jX0LnXxq%JĩȚ⸮}-;7)sw)ul-p > (۷lnpX`#}`zg&S)I"# eOݦ(e` KDL|Ɋ:E*9B">0ĩ%HI,B@&sB "қCAS>>(Sð_򤎈BrD@ǁ'`U]`et{ /r? "@\wEǫ!*DfOD&vܴyRf .ǝݨMww?yfrʫE-u\/g'F DHb .1-hu4Gi߶Isi]lsL 0}uG6r*970}jCwegG߽tJ# 6922ܻSmcGN<ݗJͲۨltTȜMՀbЫd ^,>*Nyn4ꮳ5L`)7m#junL[;mMUzJL_̦}kfϟ&+Wll\0=F0wu#g>-{PVl虤6~izu[lwZ{Eۮl{uZy:k'=~:]kHb47wH=CO խw}#55v[;23pU7+5cvpɗl]d:*3'o|]k:r.!2;w]q"Ci֜oM5]c9%\FUع+s_ٔjk6hi \%29~6q^/o!MxH5b(jN5]<0k3*nٳY-䏌ͻHj0[ʥ9-=+m85stLN5Rd΁kʣ/lضhD¢(Bp4jM ۨ5J`Zm滦竺SKR$K|K_}e`"K0ԖZK%p*MJ[Tt>LJ1ZQQNDIp=R?r{Wl؛ ? ?,}A;tPOUX&օkSe͆G^>:qp&*|{Ϫ/Z?۷ڹGMZzm{zxM[L6OĢ,cZ2M"f흊Ӝ3lx{ņ-R_Zqd*4EYO"<69SYxĥLI }L0JBj\H& U ^\wǟFjpE<ٓvm.Au5VkZם;Cب5kPbkw͖y0hȒHxL.1|K,`GWʖJK> ^kC+C+wrhE߽:S8o[!aAı&woD=pxGx1e=?7wg,j2 ,'Ⱦ咴 ʁ)[zѬ-o*Ba7MU*oͤKn{ᅖ ~R+yȣDY*z'={u1+NP\wM(˶U8:o_˩u "޺$qncܘύ_vM 㳥WsBR?Bwl[ٖȶT%[n!.\3S_`S :ODٜ;?V?p. G#(H6'gBPic/)P$@TIpibL:E5 4?p-XbXB3 G tIEБ_8Rtȣs'Dh=F be;]2q{Aa*sC-d:ԥ ˷u%}mI-ȻLpvDy|]\}olòmE%8-"ucѬtzDPw&yWb/B13@8pEUZլYTAUH*RY\~ 3>O i {\%ƣ0˵E5m{S="o,{2]SEIWc7`S_ ;[8y}[$>Ec23"AVqUVw B{Dyώ|C|gal6GxkuLGrSz啟Č# QN>Ƃ#ڦbsD*s]HI:_'"ZJ\qӖk˝8y|>~|j }G?ǘ'S9V2C91v'J:trꝭug篼mpfd,7\pzhM2gfiaQ?DiVkꖪJfmX+W YIfH'&d-M&ͺΩ}xxۛZFm"PS~Q@WGE|s57kٔa@6X Pvx@Ʈd2!- w]g>kRXp9"}soq3pf7M7\#D;: 8"*c JWD( ܵ\\L׊2®[\*CB1낪dsd"׊JzY?:Et(ڳo! `yfQ{ h5)eew%]in,nw r(pA2wo?}[S}ч>hD`!TAUT)aL}D5IIp̏M\k[%hሖNDCִݦ:0A1@ϩ)`||pD9SϧOa]luu- a0# ̀3p"Ev;䎻nʬۆG{6\ݳjb H]sM5Ep-ñ w<ߣGm<ag^,3L{xn|zn|;1QĀ Ȓbchvrvvr֬չrCK CwxQrN0"ICk֯ߴůP=WHf#")*51x8W:,HvcP;a2=0mt}W%B@ﺿ|߭̕ ;(Zk&S;?i)^xv^JLGB\[ /[xyO8w;yŖ嚁c>=vύkSo硣{|O-6ţ39?+#m=mHk:bR-7nrplx᱓9z^f}d ON4pkzZ1i",’" 5֡FBcD$ME\i^ eMz!}ZͲMDx*QE!^7}0Qe!:\[=Pr/5ݑ|nܨsTn}E&/2Z%`<Ͼ5ŅDU[^oVm' g;zVN`H){̞ػLڊ5 !aTƯ\!6o- }ѹ].=PD*d ϕF" -N$12\?(\R:Gӵ/l=QI=>PRT&+%Pu[քYx,4=KGK%q'ZVB+,m6Lu x8s$tLI Ezw=v}"$ǁcE YVRe" A2g@󀆙`Q}S-MF>GƀAD ;`s G. 0K1a "j-ж& D/:1'\b8$F o{ 8=nUz;69Ta,ڶ/RVh-oj< ԎAݭo-=q55pdw[fjΐ aT7+gČnHtouk>rflM<\) Gu8ۧ (ϟ~;:oVh; '.q%%Z5p'HUtQbPYROoݙ NLz.m7;FbN̟U'3<{ɬٌφ?L͗FOTa_mݾc%+#Pep)oX<<*\wXXÞGg"ΡfRnB*v|#W+?q}og\P  8{sSg5eSw|v1*098f Y0:ɐ=6K]H(pI]X(/,?33=656_MSDaPv]L(Fox[W˴"2eiw]XKWFkYg ^P_!h,- 9zO߽Z8}Я>s̪!'OO _ԏ?ok4>?So7n~CO`u}+E.=ew6~$wzٱy0KIOfd˾6Y^˵SN'_Qe;ix+< ;?Skzɗ}W xwN: y3qסYyh#֒:bVfv do8-Ú9;˴!(;zǪsR];IQ5g&f2i*DG@s yʘ 3+Ve+JyZ:r2P?Lէhq'LM~g+m^Φo;_1Z&dz+o8h@ՇzƑH uH:Ae6F2a6n?xWJOlXG9<ӣP[O7ŧ3dy P Ț㋘HBV% C" n=wt6.%a3fv2F71,u}cVybHwz>)U{on5bN9ܾP0=L0aqE,ŒG(o7)6ppW% s܏N.3d|)B-IП%%l?_KHW(Sq Ǐ<_kxQ7M<_o,>5\SY~7nFb +Z9kZc3!J"$4,I}?HдMCZ}#r,! LMv+T2f#PtSQ4e۩Km vA"I # T$ @bW3)'Ss[[hz^(qBQy L \H 9T5O-~Dq!R!* ^;e?eQ E!O #$`|c4[ČHrJT1ƄT"CO0_x:Yl~Ϟ8w]U "y쥓c{g ! #@7>>~,/ň]ajXskhD(m30\2&8Qpq6;RVц [kr1syE᧫qın0MAV{^xS}Вp|bאN'Siwf'Qk _Wn}-?)gBro߾gb7]w߼׼t%QJϼ|68gXyՖ5s2F! '`ؑ7bԄuGi1Wj5ЌէA,kBM&nm=3jh2 DzHRxck}b>7*|S`634bg3\Q"5`xv6 DHT-iZAT98Ss`vb̪'4ƿ><8<18aI#ƉB $BTXFX%* [T j$1& J,LQ@f!c"(fK.풄"B BK۾TӢIH*BU s!D?x{Ӕӕ?gK3_ED nN h.1+ ojW )L~//6@1 JW=q̘Bma ئacoqLS_j[t[^|prRbw^7Xk;}s7欞ԕAgcei)LkkU+7=x--)&Ueⅾd*%گ*랱{g~=s&r뫋c j/s?|kM驛ubJcdy? -O.vuH)f dVO9|A IDATӧuǝv/y/W]EtGߌ8OwѺdv׭…fz)(%`,HɅ0B Ie$8~EjPP6a9<s3K^N2Yb&,eNR@/tg|2]^F#c:Ls~eaN\ G|lU Oa6I5Vªmө鉍ũ=ֆԡLb y?8FSwk'qX{s 㦷$A 7{kQrA^/I NHs2G K2r3V~ YzSʎ>h67^}{{&:SQ45_?ܣG.2cGAiXTF3֫Sqw]QsUG&DRAQ`ER=oب5{^zX̥zvhtqEm$Sتf/MوI6^Ox1I}r/7fA#JxîahVvI}E[젩`i➔MC\ao}́ g?N`"g抹`9}EA .@p/ϩ a@P6 ^>=ZlKW臭z[~#n-_vz;v/m%v=$¦sPt)׼gOwL BFTnfEqX\lb"gd X)%`9 (GawumxyʖO*7 L@nWV J5.RqIǗ ZmERfBĂ擏{h7Ӎ^u=|~7/ MNQc@ =/ "+5fLljNM A5yۖ!,1)0I$3ΙB#7Jsd+M aA_~ IUT8ĸ  .]L*T( mJ"wK88!Ubh\S(0Hb1#u-Y@!$1B ]r݁I2N8`A(gr %M3~0SzS"h&!*&I6D5SB)3& (cPᧈK)'+Ō #DX8Ov}󦷬)أ~KW @09 0`+X$|RSm*x?c qF6R3t0TR.GRU3M,wm?{"Ʀ*pT~SZQ5"M* y 7t,3klخ &wɽbyql!&Jrf:p6^Mۀy_":Қ+[_Ե7ZZ\foa#d"t#]%t=/k0fHSX,7*L]\7}0bgs#[Ga`(j/N2Yd$"S!`B %ǘݳk50a p>%,"8MA In:˶"$BHU$i G (A))jSEMPLs GJ㊪#jr{&+zmss(VjXʥ%XJ&t$\oAA\@Tӹ C@aYםRU(J-337W+I*T!eu]Kc C8$ H8Ob&#TJ+#Uyqm[rpc%1LPI(Fe,$`05jt3$ť_aϏ?YMGDwר3, ylfOl8%S 5ʼnq*P)cIdF{αO]بMN*F6b{Ϸ , ag-]lRh]¬B 嬲ž}כݘ 1muj!ʎڬ'|Mq}{oMgvX?ٌw U?$z.qGm%0UjQY~<)6f[&Y04A[ ia˫}dǜ,Iԭ$[ KXr`2U j;0kku1S4BMK,4*s Ytn0D>vTU'J\of$T(cjL;t{[mb9Ө&wpegT滋t:Lf^[s8 n&aF!vj ;o3kbtcu}' ܘ* 詋M^8۽f96QTٶ箪LMۅSj{hui7"Ju4b9Cwo1ngV[^͕0JgeΜ75b:kNJLdq+KK, fI\OţIr_f𝧎?կ= =G_x!INj_NX,"5ZZ. Y+Q9cݐ {ő7I  ƄuHA0v(D BX(fiN12u;M31LQ1Tռ4fvISrI8嬕nNhZYgmAN䝬ؔ EDQH$| ' dB-;Y_( -Hu-c tܷcH{vvxL7JĠ'&j~1DʎFPPf*R.tdϯ414 8)MЃ؛mt O+7z0S~w#'~;g_:>LW>::uU7V?D?ܓmىyiINe-zJƱЈʹXhհ'y<;=a+(k(Z>sak$EZ& b\.%BQUpGAsyy^?G+4jqf*gt"65(u*+q,|9p+X BIyW||[G@D񇿺L.t{7O=_Lafvz^:FNm~3 |ŘNm2c*"ZN0- EQ5-Mym` 1 D bXDl8qĤ tm;&\`| 1F!B T Td>Pd%TՄR!'ҡxf2'V%/(WRjkӻW7VjQ&qJ)V( X zƌ p TRF1ÈΤFq$8X !ɣxISz31^"p{7 D H&B("cࠨm뚪C 6sv"S0T-RAT{R˫ 8K/[n]_)3TF21 $٦T7P$,I83lEqh`&fɕv`Py?j;HCYߗ D(z0BzYN/le\>~IjPl,}{榯s qNTzODH>^x[fm'cJTTƊ#qGAǬްDmlu< 8fLp,$K]JJ [aI!D1fUU'L IDJ1!)DF4OOXfTUbq! HE#D5:[=>C5[BY)`5NL!a`,9( A#.Vg)Q(YT$ # LL d)ʘFRy\Q%w0(MA$9`)oy1M-nDUCĠmF>_$1"9AK(0dA8EHI1IwsjG8I7n\sbF"׼5ꣿ;>(_Ïz{/ cS ݅` _w?/$ >V.B6L va SQH)A65GHQD$<Б;o?G/N*v-mL> z RX"t^L4EAD)\4@\"X*g~T lc}T0%ouҺfk?ܧϜ]>aZP հi$eLfTͩ8#3VR IDAT3G]rԈX_٤K77?g8uel2\mԲ(OIbP@ع\/54%řW1|Kj<hc3z-~W;8c})WV<7nj3lf,^aS^(rq$n9GKjhfRvvԤѨ/4-D65d2=ƖoXM'w5H&yb9l?ZXOQgwWqpʅm Y\lviŗYzP[,tu vbzv[,/fu67_/ISġ]7s^xown/?{p+/<۫yDO&*(KƊn0D)3LH`vDr*k`t U֓aDHڠsNu !& ^-8czi{+GWO.u7lC#Vg(_D4S2wÄ9PoAHI.)[|yo'[r|ڗo翊18qăKՙ {oyGIJ'/߽|S|5@5 7h7GľoW$@1(p+MHIB @ U[9"Dؕ# Eldru;f $Bh`eXpC7`] .TswRIDCya:z$AZμs4|+7f$);,apd:dmk*@r g Y'&)2m AĴm 0F^[]% q'ߧxFV>H6n[J"e 7a dG|p}?C;8߷dgq5I?t DI4C_G``00L RkLFpzE˿B>.hp]GiǺ.% ^\_˙ª]ݺ$cىTQ-.$B-mg|w}_tfՆZ{u=f#Dm+t9e;u@cmoga/;6lbp5u ~aJibBm:z$nPKHYn#}7 QuZk$^_l46t jޙJ14|WVU m\y|g1;m+ڝbىmQ͕D[87cK|1VtzFw4ꚓ12f> Fղn4L~/R??[d66*N+k}~q34`RG(%G9NTmde9Nu^Ya|5҈Zg?T?W?x+KKkן]<݇JUauCH)yM(DT]՜`лzߵ[-7 =9+:vVSU\*AtVEq4RH8% x,9 M@>_;e T4j*5)|.x\&cN& qnH'W~goG9H৲I[A*A $!G^_,\z2?İDO-rw݈"yjz盏}幧{ϝu~z?s)}.cLD0KxT R-K34{JeIvJ`0A@HRr+Jt}?Jo5A/6ۣie]36YcϿDN?X5,T;s4[?> ˋi2Ĉ:r6PPl0U+LWI=}z=,eou}o]{No)vce]2%!٥%\3#?PR(} c20DOQ(ݎa*wϴ7]8CMQ h,VX4o";b(iT;[KzaX/2,++n@A FP/ӓ'ϗju.@pD^h~h;g6;͂UՈ@_!v̍i3>r"kX-o{1s]WplQxFfy @NU>O(ov'ֱ|FqvN1+a6/:wxWrv#'_LLeo>u۵N<G<VP\j؅Նu(`JeIrkz7=|YX\5H$Z1rtE (KR`S6)"ٞtd"-hO,FMԱ"1cRY_wHED^(>:%X y^R^+}cj,n}ˋ#~ʱW:g{_ugbm223k|J*$JB>H4L@Gh iĴ  P[׻s7ۛ3s #:{7c?lV}Nyk:|eqh9_)JsE:YFD1& h8oH׊JtKuIJezaIe  * !JqD"H$%pH)A @ 8K 8YQ(J0 ##r8Gy{K:Zl4gq7޹q5la !;㚦c92Ew4'+xy=\ c{ %!K%y$BP0($~ƅM|?JBc 4GebB *$9W{0F$`!1Q0nnA#ΞU~'"2g(rΟ{^:_g5LP'eqZ2UT@!)ظɶMIӘLr%\JR ȲY0S5UrNL,^v=Z4OpǩWV EV:z"@#;]PgK[j&.$Jjo7vFbQ.H).A<>_>5azՕVi ֶ=Q3ȹy:}t`nx ˬ./ܸj֣wn",lkño ;$46PɝGZK_[s#R4Ds[ yx߿e)>OO`9t~7gc>TʘاZ$JYN҆ c&q,`gy=,̝ID`SoWѭgd9f*|AL3 !@aʩeG$#/P*G6TST]Sսݎif"X-{lU1.x+%b])R |,|;,,wnozxoQO>׽mQo}6&97BwX~CkU_Z]%+} ȾߧئO<^*>3WGܑ{^$~w>rБ& DG>kK'g@x&)BB8H4I%tc?=+lE)XG.S ,HZ'r~@ jTr[\i4{jӘWnlηYQG3( ?vv:KUٞ{4>ykZGNfS.MԼ=鬶n,4:1;[!%[-aq{~!`b{o"5k[jn{0&,N8 Rgueм4rY6)a3o+b󊓷P%{Au$v0 @G_Vs.9G5Jr+7m-趴\RV>H4HR13>7w^?D{n2z/ǬDɷ=j.\zsP`*#G-e"w+*fFK0*BM\9U)'9@ϮV_(<s,v~0sx#W_+妑; KS<\/4i|N#nb^+TIҘfRwx8A MvvE;9lVo+JL҉2ݛ!:Xyhn{‰&P8TpC'o竏>sױJIg1$󷟰OzgQ冝%0pMsJTn f<~5v]$nX+xH,={J߼.QxXLU0(BTN/_谒F:UjYnĩoUEH9zK`n0V)9|niVh{(Lh I^v\Xl7sAO$9񢆑F2TȔ$wF!^\&$@ ku~+˯[mݑ$+ߢ ߧ).|n}}hsRl?>AGY6Xj! b>?ߏN @Jba99[$eZH$Q(_o=(׮X)Mcc i?7~_n¡XOF"_|3aj 2A̓\,wdBȉQN͆"KhYxĒKY~λ3d{oV+CYiLA +zml2̢Bw鸵l+uLiJS}%OƑ"x, FrKq ,{a`J{hUkEQ!U&*R则_ $/ً$F ymEӌj$ p>q٤~ꊆ1|)  \*%V0aIBBc7i7jR퍀 sIWV(;TE #=`[>Y!=P7rb{LbosodK<LY*:[z~ȀrVo|+:^Dgqٹjo|u:ԫ9EusnTؿ vGu]dzTh (*zΩ:{C 2 D&B,)Ig)/:ȊI-\Y.+|Q~wH%826+P%+#&$<q)d" B{-ܽ\;|.j-=3ފ??n. ciXIʥYQ0 "CG46:~o莇h84O{q@AJƄ)Y)9DbP,M ܤkK1BJD HFRAAFRyStcDXvcyÚ'}ÌǏtBDtsZ5-Z<ۚAxȔ!1łR9PUJW}1'!%R&x?$dY D"Ȧhm[M\`MնW{"1FKIRjH؎UU4J)cXcБd*cR (H q J1&HL0R2'/]Kjw%]8v.\EMopz=y?4Os !PuTžfuGN/m^E]wE)FRd1N~'.Օxz=)`zUwk~1=Wg0x$wC4"JƋ;k㗮{N>9<3W>\YFة6vz 5* d8L4MHƓh*A_xj%tED9[ҹ;-Bt}R;qV +t ÈgT x{쮨s )h̰(] }y˅{gI$aU^b;f/#/^GWJ2$t^.ްY*j #RH’f~\7hZX]벹ClFy>z)3i1RӨU Wo4sR+w- -k7^sT%1y!{^{ 91v /?pSJd]3xgοXUͯ^>o.8/n{k?o> HIfJP.`"&D7 j?UDRr?c525lX8$Mׂ @Ę ]PX(%Af˒eOdH<h3C$[ lvs쇌ݏ<ߛ}9&ܾP-`HOSnFtp0[c1lRb1IST9 B3/-39@ )wC؊R`< Xd h7gg<ͻO7j-?| RLRX9Z[~Xu3.NYj|Ο{^ޏ- ccVrdQE~CgDFK'O̒FY"p83AF-TW"Clr*0K N.c]B^x2o?>ڮfÿ:rE$.UL U]=of`b4%w- t0}_K W_ʷiYONMk{+/ϝ^ǍęM,렪Yq)3(fйʍЭ,LD937;9Sޗ弭ZzU,L+T$US &iLAmJ>CYHԲhFӛ-u:;T0Kdzk|.p-/];t1 8~_2f=<H!Q%2T2F)F<Ҩؒwk۽PkzFdp|NlvvV0sHhkLJ^*~F ]5N%4g54t$q |4 65 `c&j[u* Séh7FIj_뤿TmTzfd* w92 zTqޣX " ˱HFӟ LC'Ox$IZcÄM,ӈd.^%_~Ch04 ?3v^y[+oFwZ7ckzGfbяUU}?t:Om7 q_j֮_@(ZhZKo0ޝw~~eA2쫔&IX3dm[[N;tO?~zg7ή7 ֫Z*aH;W^8c5h㹋+O EQj[~Bt翢V{I1wPV)\P_m Hq6t&c"R4,գRѴJǑH,t rnt63 BN4y"%d*J9bBM8 /0өDEF+Jq'- kgUjhadZ?lieRGf{â"PA劌ndzVrponzw0ȢnEL}Z"4-4K)saL*0sՍ7ZU!C-N>ߔ8VߌAqZ($Qe~"8CV=3ii0uH,0pƓZd0tVPe{mWJp1B\z^X/Z483*i޲w{xr@TɴZ϶, LD^ɟ@cSfk|kd (vc3i<)__Ʋ< Hr3'SiH{?.o7|T攻Ozjqa}>\,!L"l )  gJ5Q, KDA0(%eLH"RJJxs$@H? nR#_~$BJ,a@X0&pB (xv>Txm4(٭I‹$+DjBݍBKg!&rkyno|h8}׻~x_m_v0FX4{ٔf> `΍>W쥴'o\ˈ"Iŋo֭BdύO4c\r7۾5Fy^V^JZCtjEcpi(6p :Q,jUK4K3,a*Zl &Å}`aW_ = jnǮ ȊÆU2FBk~6]T[t#8v J{}RB*G~^Nb},4*S5=1rwXSSUjRaenH$ eL$~pioc) a,8wa,|χ$eqFr%e7BLĝEIݤZ0\a{oA*k+]ib8zY 8uds2 05$-*?5D'O3IETح;1Llv E5*vvIqh8HE ]+ApΉfI* `&C `RQ /dʙ$3T2sRo$iR,L$ֈ*OMgaflTykBh{k~ߘ_)w?ôFgk{V(Zd4 BI?wSn ؃$ DJ|q-V?vRA#V/>j?,]q`f9_.r,~"C3_͂@Wh5ˠ!cIFa`ВiU?y*f"E ,72xDB%"omBF XJ s.J!H,'<{o=L(*.͗6w]NJci9), Tzf})۸vR5Dٟ2H$'_y%1H87$c@:5ge$Ƙ9isa i%{.M%IϘI"X  ZS"0MU]3jʩ&\f`&H &HH25]AX',J ]QT7vq#$ qݍٍ]/ 6Dkۤ}IG|9]/6~đC=c7Z3ir>4RZ:ʧ^HWrWzәLwW0Q5 ݵJ:y罺T'/H/%t۫+yۏئ3{Mp~Ij@DWrKR͗Z(JK׭2Br nYEIV)ֶtwraԛ +HD`iwz;UR7[߾^Tַ0B$S*x6 Y2C2OVP.oj!-aa !E0Ky[mQ))յ?ze-ƽ ,])ɘhg5*ϤQmX6W:$5k3iDmo4I"(HS]d Bbt8 1T-א#TNfViږ4nwtp9vF:NcnNMXAvGԏ+WjIL:K7`\99sue}GRi2ƳSQr 4TH Ln $\J>ocɩNTp *0@ Nӌ(,JihKKYZ9}&B۟yQ‹<ˆat ņ^w{ CޚNzť/=@0 wiW^wky)LiʑA$ 3TA;=O'5%R)&4( Rb*܉'8 ) y=7kTEa$Wt ̼$&4"prLec8B0ĜeRJD1&̕U@h`! pχ8B|_68vΤz}kmzh{]O|;'Kx_3؟`: aV7?3U YjZݻzn}jC7 |BR b I4,zjT-tv=o7'$oc_}{~g:RFug2b\"L7VV\2M(^}ON=o߰%[8sGEZSl%Q4rY|$φj-nnsK%jm_~2 ŵݽ΀vgfմzP4\z5><;0qZ3b\_/h-. IDAT.^餉 /W*n^VJ(f u#Cf櫵4LQ'iR}'ŁMj=Cu(dezHY )=̦(l؞y^\0 Ε52wXE^wbk[9/o9T!PLןyڭn%_fyEVqVdE!Y1T_dR xVTEl3+&K" ϡJqh As-@"Ĕ @di a* #2E@R)%u`1\yXi+{TG$/ӂgٜ2/x8Zk g6'/`jq˿g/zu<2Zq 1H#RIi 4B q4YRYeLVJD@0Pzt4/R.1`0i^PLmBQ;tcjl:cLq5s,- dQkwm@*wGxK/_oW3m<+jE̓gbuiw~Ŗ {4gAUJ8RSOW5wES{#gV+^ʳw;qWNhg(v+ 젱2j zA|+%-=O+w_amel+Sr/ډk/|σؼ؟Xi~?bl2Ү-Zc?v>Gu϶ݝ_[[S,5~L-t4?ͤ>p8҂:_iPٌ3˧kӻnB4՞VoYbm{_m]^s,J-̣htz?-o{zN*O U)Xr%^ژQ/_s@``nܐ漠&MzN'^CtUZnrs6+}\qmf$ lN0N,5iVP/Q=gzVƇ.i2=ZqmMN,w)^|~ϭge=w2Y"tJ8G۔B;w`o2P2=T /eP(fض $4궂־U+] Aw4˚ՊI&֙Ru0lu#$&kZ.,pSgK1ߟj6aKW^+K_թT-⸐ä|(i;DHX[ǭ903oc_K|xynٯ}bc?#?Ѩgi{@P5)̧j@Q#ǖR˞ABe(A BS9 UJ7 i&JI7:W*awm(0J4;oт-%!2"I)a Ę!|F{v? Pt`L)TB :^ ((Ѐ?|W\}K_zꧯN%Bd}>OX x{:t8e\_]o-=_q'*kTduw"SG^e*f5eQ\6JQyThs[WVOB,Ay􅲵 ]N͸eWO b8bf: g!z0}[p_%jxau󯺄ϟYi5uٗꕥ|ڨIuKܳusW?!n`^v 7wDH)U:_;{/^2=k.mGlFÀw꨹.D<q*ɠFų9yPX?WlV 2I._,񬵶{8=]X2EjcH*ҪewWٌg,͆$d*UB]}mo *- 2&37t3ʪU,M,T :erC8am98A qp8629,ZL"ڱ ($^A|[I:7{W["jȠ,Km*8 =}Ɛs}4I独,˂nhUU䝺G=4\̌#KԢ:K-PVR|B%E4ʹDJhU")~99FH 56kPD0@Y31@DYJεҀJkK-1(Ơb%dBhN?|~`m \uk.AR*#,;;? +']G_/F5$.+*Yȼ=S5zDc晐JeqB}{?oΞ<6:+;[u^1X?^u}=<bٴc\'I%ݷ՚٫v+Dz^kyqf[r?n[3_ -Wpi?F[of8rj-Nml%vuߙ"eA}lL8۰N/Un3KF#z eo,nشRCh!JKr 4.?w|χXk.e ;sη^gU}yRJ-D=ƙԈP@(%D@xX̣l4.CJJp$1AYQzH{ڴPPJ0`-0T XkЀR фa2ԠcCژc0҆b1 († Cu@LJҶJ~Q c,Sj@j JId ,1Kt_^w;B_ ::jhP9A5p+\imy+al, ``HP-EN@QUkz=pju.JT kQjvI"ϤAU0Tڭ(J @peZȢyJ1Bf  e3ށ Hӟ!A[u')'h8WIf}>ڭgᅱO~>^- 6}^r)gmN<%IP Dٯڿɟ~;>qBmξJ5O~ƕe|e@󾏼v7:C V:VԹw,c=Tܗ{~ac5Fo$qN8ԧ?ڶMqtG[=s0Aˡ^Fcy]:㹼=\\ݾ)YZ]Σ28omݞpY=wCVځYphvbk±2Y!;DWoСƫ5f1Z6Q2ZNR<ʊPa*÷FA=K-%/ %vƳ#wy|zME-y(P]1`d Wr6tWn@kB,R Eq 4 kAPћ'"elb)ķotk$4 s +J]+_ DsLEſɟV>v">;ߺ7==|;qczs{xc?VtM-|Ƒ/N, ܨ9ባEkT|ܙ7Ae BhY+;d9|rPfv]v=kw>vs]*spQ۷.\|(OvohŃb<2F u}5Um,wal<]Z_Sn%/XTj|OIunٮ˨J&oۻ; plCo}t^9I.|$<>e~*Ɩ[:%3V+/ ]CU1( H %J˜reBzݷu7p{69<*/m;"SFn,ͽiϢxqp0;n98e/ FESnonR[jVpk)1"΄I#yBĩBA'KJFr=Qq\t˽7}ɝi~}܄w<P"\;GecD ;tM;XJ_3'>{J1: /|?W_t?dΟ?#:my-qteʤo VUqܟ<!}מ+1XXTksJVFnm5*ZJx/[KO?gG#Zkݼ{nyguЎ|>wzJ`=3WgJk}rv,C( v5, Ss]ԼWE R$s|{Omԝ$Kŵ{P 5ݩd ]+Oaͣ߸kQfzl>>h ܟ].6$FͰިxa{4lʈF+ ]ןLF=Mt$rZi+>ءvPq$y彥AMXn+8`J+O y7l6{t{^"}jWɝf=V'ł9֝f?R\v\ji cJʩCO'g6Zy"- Ac Lt 2jgHBU1JgЬ:FWnnkV%{Ө<70 Nw>EFI yE@Fc;/q9/uƃ~SK!Y w+VG0c: 2t2`R%t  sfJTpͽޮmTjw)uVwn$ZsYg{D߹OT]z5#իI`e ڝ̊K]s eniUmÕ'u^n؜E27􁓛]_׷ f`xyf1ض ZC* !",)81`g2yV䠄C4!eWFQo$҄QF1!Z= IDATl߳!`6mw;AS..K1.<,(bc F-wk~!CyεZ뺖ۖ aY!cO.wՋ zA&,`gbk^]9{^MJΏ]Z)0H)eJmK%0t )A%҆2RkT< ul˳cZòlhjQ%JLl1*/D*ɨ'Q^oUBaJ(LlR2Fya kк5?` xRץ2ڴ:s] 2;>@~/<*S!X"De'Bv-J,8JOyZ9=ǛNg%Z~`t[ۛ׮\ܸyl2)dB0}=N+ȫصPGKpS#Rq) 8ypsVq"83R TL^X &l%wF:=ں+lp|Nomeoݸ1%i]}sW6:;[;{xrɍfU{=i~!OI8+ɨ9XuXZU>Iכ^˄t4mZG Qm4*+,/h\;}"E !z6|^TہN0>`Vm \dalb[l,>S- ۝άy*>mg::5NWiNfi+Jy2jWi^"(1& !x:UG2-N.gq3^uwJǶm(,jPk:+}аHXCaĊcL8ƸTREFێJdT1QѸeoP+)Z;^c1#B5``eDQ1*.Rjg40]2&yVZMʬD"ˣl(lߑv`JbX|S+|b?,߰SnJ,T`(C,8wfyYk 4O}8S_g$ɏNq!8/˜n?Pk2 %|ϷaJ9 l clQ(*@( ^ʲR) 1 !R u1h BF Z1J\ lDQi  mz6 \ |# LҢHѐ%%`p(fC , Q 9urRa /̹0d$i0j@%:sz4ݥ0Ƙh`@ kUd# PuzSHAlj!TK(!4^Dtz\UJj){b'YR m4B+6()xQdn@,XiabbaSdYNȒ A83kE/jeI\~]__q"'a o>Otએg/lRXKf(Ċ)EiIdJh{n^&sU^緿{?V_Igú|}ٚ'.7Λo vuoD |b^&rt8;qq"Qw4 &;i ;V=-Q~x%tQPJSQIM]wz}MAbS\6]5FW1.E.RF^}DI<\G1b:^]G\ka*NG'lx-p9P<w4E n-2o;|c+WC$v{©A!Qĭbˋ,jVXXGtw'YD8"Y@* 'ܲ4zեyqW*WNtج0a`O#R:L9jTFW^hK3^p[&#O'fmX[uxc߳>~t$"/*W{5d2K}?h j'pbb)zڬjG0SNam2F&Q6>ZZn ܽ\ׯxxpl6N\JKO'+kp̬o0nO={pu<ݿ5 zLj$4 37D%&G?n|p _ՃcoXoRiylARܱ`bcRnE"2(q`#o?o#h[?# X%5"ER2أcm l@H`}u :GG"y)80F=F")%(ڤZ Jx?FQJ-0jaPfW_ ]-q'32f3ml@!ưu%%B K5`@)y CJ=$ B@ }LOP|ZP Ƣ㙔FcHOqwn.#?ǣ΋7^?ŭ/"N䉓*l8տ]߱7JlTKcs?pn%xkA糣}IҲWY՛b]זϴ܌ Cyh(ˣīJx;gb݃KgVRngXd4 Vyn|Փ+;wgυdQTŠF!v/׉TktQKۓ p! u&P1`^H!vo|>-V앛ݺbi0HZe2ֆGsWOh΢ta;N8v|"']'nUimy4yZZc8lrT~<*ã43 2IkftTkzk43/ jhO{N C'6 8Mm`se$)J.!X`4(ٛ&Bj(sT qD\s)KAeVJWIBH9V"S't.qpʱKdo*\(rϳܲh flZJC%דr3q)bίhZw(ӖM%Qqj?&bc*X,F[뫃f?uVluWFO4_̓3_}{Ϯȅcv9FBHܥ酾'!y'&)2`VyRR)]ϧ)7F Fu(B FQ0Z6 PZB1cL4oM1&jv;,ש(f ]u[puWZDm itkN*mv$Լ(1J(|۶,HJĩ_<=p4K\II`2BtYjcT4(*;*HiG/M2i Jf(Y2!A]1 DPx'Qٶ}\ڹ\*BRZJic6Fz4ycQPh9߽ b :WzO֣n;H`[|{o~"W7_) '7s,I&+wn,fӯ^~ķ|ӿMsKgvBrMIص*#lWDd^!NƱۨy=:g9`op O.U({~gWj04kVXoU|b/Th-l^HUcVug& 9 x j-7Oi?+NoWҙ_~9{O;R{w?qeŽE-xsO~{.~hRL^(hd%HeiSۉ$bQǪժ: -%L(I.m(Bk6b^ղ$+#5H%R@5BABi@`h2F#ز0"0UVRD.,euw$\D+cL^@BX軚%y= ݕZiKYQJY(4Wy^ouH)dł {ę;;H,`%||F϶TJQd@_aaKv%@s!Ҡy)EY"!vΚjqZhBP2BRj20` ໶h^/$e{vs"#a!Y )?{txwUT]@Tm뷞?G׻s;B|wsCx~`{Atv, |tH2؏طdۿ[}e8~(ٟKoؽZ^ah锱14<dR'A18 Yfc~-J;O9xta2 @̴LLd>RIe$ETv*L EI @ 0yz:7{r9;4vڵzkoO@PB9M7K .Z8JyQf*y^JLei8H*3d)6)zG}I*"լ\RUkAwd2TWWW֢7 ŏ޿ŵW[{eǭ1 x,O<ܷoNíofd[ ^o9_n%F[%zϝ8+Hs.ZcL` eV-ڍFݯfI@I !\(J. Cc`YJi ј0ƥˆ"D&cLSK Zi%$xKkP)1c"8ǀ"ԉ6vQ2F( $̂h0 'Y'iy0t< 0g,00(J0 Ƴ b!tlx>LJ48 m\tz G[\BiZ!2/EVHXdʰ֚S!1N\kd3(F)!;&(U%7 lD0MRŹTJk%R`U]< p2IhiKOu0B!L("aLJJM`Kg<@;߶^?#yL)ϊӧ-papvwh'ANsE5ňf9׼/ s ߍcrɚ\Yk>_|U/iS[;gFwpt&%ymSn٧6|~d8..kom1r8 WAOos+I8/fuW>uZon=Tv^޻|e]F3Ӱ`3פGܳMJ07~կ {S|wÚFu뷰b.w7on?O\+=֪^\X.y1$t. r+ ujnǃ45A,IYN6[Nm<97Ng-<}^ՕU@ZQ1ײ^zͷߍ.)3TBt~u0Irv 7o>0zaO>w?6XMٴq;-V':\F^9#Z*C_'p&ӳ'`ebRcv쵪,nxI!j<>(#DH^Μ9`)T40iNUh(2*NIrQyweiŖA,˖Lš Bhi̶-QUN4l[qܨz;9uM3,Ӵpb4 FEv6̴l7~ɽ.Go'[? .#Hc m<_xmhuj3?+|g^|ԡٍ/ƹ f҇^eTWj}/a_ ^Z-SV1ڕr!דk '% ׶3ASAZ'{o{[GuQ%v뮫\"&G_#_p5veIo`ε zk|#|.߸zi!>OJjʣS.eŠHb ǣˆ`$@]JH hRO< d&t2 Y$qqYfi2yB,((4K'AN'`6t:Ù.!64H$bT*Khg{t5!é4 p T!ĄhDc%\"Ȅ( \H^JrbkDy.Bj#jJ-ӞXSD#0|N IDATLȴ$SXƳZ{c hIW{\:t4.L z>Z8x4ii{S?|fYj/U5sìŸ|饚<ڶ.s]ozϋ ~Ji%Cםq*yPJyԪ;%EU1z(4H$ÔItJ&i^2^w1ai ΕJQc矼{Fw7<ׄQ^HJI,3NR+())Х~0EYHYuEZ"K@Suju/I HxnA8>ɵ٬٨GCBAb: VA8?qqT=|L CtqsPQfza~S?}w~럵;Z%н__݌/_\?qዿ󅊿xn7NYx z񕻯Vd!ǃ=ok[׭?rS ،Ԥ!m 0H!JIɣ(R@rYHИh0"D,EӢHF&c`r4ȥܶmJi.4R$( 1 ی1̈ˆ2ĀarBFXJNB*WLQ^6ֆes^&IIQa%q<,`d8CxO͊N ~㝇_>|e1V3/ ޸׬h8+ ?FA VvbmU֣[w^-wbݮ0-k9m7?s|&Éf*†CO"gIX&9'B *I={S|̼?jLoo $K1׮WK/+ߺqT(Fp鷾`̅sAO.uηʼd!͌\u69/(§. $kJi//Du۽ޣIWuKF0.u M r}kU^Yk(ʒW:W|F9ӬU .,wnb`mʕDa(*E2P\Yag,`S(vv#J0Ӆ_5ɅQ˅K+V.:h5g^}><|K6ŏO0WO2 /ԏ׮=ē?5k/[GL}__Oy'2cKϕկ}[+'\+G(٫v.ƨU};|gpq~}CpgW7>U]s, *1`6:Os=>w{9>ڛv3e]RΟ m?N֨TkBWąъvM]LtY+J\Y~Jqzoogq\i gsbnͨzq[++JbZA<2LhfBbjRάȊ TXg B+!$ň&yA)K)AhJzY9h5]DYRp]* 0YX|՞wd0amَoU6MprЙ}x~}eҟ/Cp/h)ޕkHFa^'oPu^xQ_z֨Z54ҕ/$MseНzE,?JrD~WZ1VJ)}ˤ|0RhД" 0IJ&TRIR+!%" M2Lô\4 55@FQJ R c4(!c(K$5R %J e)FZk!11]H$^S.4\j 4 ˱FmڮT4MLXR+Y ǭ%fT{l0f umstPFqM1}󵷲x(ZF@ *BJFi$kmY)J:&# <-$WXI^u,:WyS%Xs(-RQhQh-fHp1PAcϱV{y,K Jj?W4Q7+ӧ';{kOi頾/i l9ϵ{?#>> p?faΑؕť8bSY[X1x`|ο 8. g'k܏~'FO/O( G=Xy(D]},x&a^m~4̂b[jwÃIvy}EWgaLJ~dgG7pt4yM,]/fȲgOh.s,XLɍ;yFzx*bF+J-:9-exw4]8'5w;hUݩÐBʖYcdR -GҮYYkT+Y2:LqV-ogA zUw2I}oqddV(tjeVq6߶yF"LsmTN_QmEZ02Y0Fv' LA٬p-phUۮEHiJ-guӳ* Z ި7[J^.ηz-F0-1l:xm6-lW2}[qXz)8Ȱy71Tk͵ɤӨԚW$S-ҫfE&"jnLO.'CMYKP{v~ZS"icE2-dmNve ܫV\QT9sޥ5a?yx$PX]VY<|wq!a_>; kg Fwk~OlcO~/e׿YSFkעQ ̥B !D)ASeKεPRjRHDx)J^̎$!cL(h4`5400`B# c(2 RkD 5`^YVRhiJKp.x(ZcYFKaBHiJ#<58JevPLF4-pմ<ޥ^+v6̵ZF5@k_KU1HiBFZ_fYŕD*}<1bRb""+ԄaۢmbkͺUJ9/5\۠Y֬7+SKmwa@VZj-V!-e B[-qt B΄@<)&uӲމ6hT&;?l~B̓ [5ӟK>TI1c9j1LJy֛߬n2}jj`ǯMS teyhONwoksDo7޾& I1-R02rݠ  sݣ#S1gUƴ Yangqҝ\c9SzQbuLȩ%'34*]ۛhm0*a^^Z}^g~;|l:<ٝåSyY: l?a^˒qi{Zm 19-\iՕe$ dI^he0nQrQ'/K0ȸ$Y^=Ѭ.H2`|{q1sp'%CZY:Ӫ\Ho6Vzu<՛`JK="p+9O<ܚQǔDi&)0J ӯ,/W;7m.تك8Hz8.~Cg={C}xxU5VMur}sn<~{wUriBrA/mi8ɨʚQFQ!D4e0Jp[ifDՅ[N_vCck/:KfXi1SХ ͺA/K,Ms-QF\F%tmbXňJլ7NJ:yjU1ŕ?P1gYphh`@ o'X47&80 ) LP| PJs)E`5pLFL$ ,b@?ZR00J8GqȏǫS\ Fъ >fn f{!(so*yK;>nQfiA6_Cʬ#F@P3`8/ A(R:Q|a O}oM~sG iÃq>Sή=?}/ޗEř|pie(# rUwY' <2\+~X^VƉ#s(Dn͝mlie:}jmwoWFU5 F7ߩyz#Z~HMZk-E$ Ž0TeA$Bi: "A`,@#=~Kr!18FKH eKcBcҵi{.LIa9%+@PiQP!& "lSV(H*Y@YH<k;@a8H׿ >%I6=[0:^;"xCHL@"BD X!pВj X+#AtS1Gѱ0rl+^#`!oIh4wg)߸ɞNffe)ċqd whiʛ/]TJHA  R$H1Qwy/~ý[[nݨ6UT5=z?|6$2bUr ӪS]}q0+,N%us%j4`V"tԛ7_w`Tii:$V`Xe&r"r~:< rҩv-azFra˫)8|Y]r"NIⅪ$;o뭋O=D9\gq󨈧pEMPQ~$V&ͺE3ߚ:9˝7sGjZ [ _t,8K.;\wJԓd IDATpױF hT3!1M`[AMB)Jj`BBaTw盔`ԠE1F)!Xe҅19cc"i „PD2)=eZ#U̵Wj]iܻDJ Z 2!M&APara3R+#$pL@HT1تֲBDQ:E23 c,J9/^ !Qꭺ&$ +jagF\F%/\k+gw^[듽7zaVJJuN,T\وȫ\85ƂK ڲ|˯nO˿[}[so4~7^iPoΆl̷vkjqnٝ' z~PDzV]^JWo;_|A7p1Yb2?puy cCϵ[Ҋ߫^o͎\~{o֯z`Q^C d+τG"4Q˔HiV.qJHγ;wq_=Ջ/Jff䩚ۨ[VZf[/?{a{w+kӝ?% ר-t4wtn: 05}m]R%M$aIM+ + (0YkFYdR|&2/ݪSk˻Y5H*&9Gp+qK/&PRcjD8Սz+ܬ=$%4:+w145ּ.vmI+ԜkɲUlNȱ*p8%0+O2;<ò=~8-]72 ]ƂEq{k`()J8}8 q~3qdYre0w:68UJ:zi&zXrht~$mrǮT6zɜ V&yTI#5PEQfb\kO_xô4 bh*k,1\خAMXTLtaY&(MҔ&^_[f)H0L=8I8 =9ȋܭU8 &%A'7:r,)$8Ad 3ShWN|ׄH"f|c_?w;UBeo7i1b5VWVU`A3A0v0 眀:nfrQFE^ʒ[bÜdiZYh!@khʼ1AAjFa%%>>_ SJBf%DVB"JcRZkM 1ŀ/QP)iZ!XjgR @BiEFTh Bp/aZab f8{odiOܳ*k뽧GAvC mA 6H4H=]]kVUfVy˻>?d?@u_Ar_:{cƸ([օ5%ƪqiۃI&O3Z k1X@t!epSCH PE㋳9X/oZ"1JjשּׂJl2%`BatVK"Ȏ&y9.DDȅ*#\sjr#HY Ku, ?'GwCT.'뵕b;}}ڛl• _er4R,M\K+,֐HSgn?i6Wl4)ʪ{<&HcT糁˫RSbNk]ya9ru>ZY%=FA~tô^k #$/D>>yj{>8xGxn4ןY!4py lGY--D  gE.Iz(cK+.̒=L禜g׋]^D%Pkצm-C̟x_~k[fWjLg!sIҨ"+UV+zdʋBERTX#RyV 0jY`A9؂&!)V^XR.j5 {qZ@U(M #bV#Lc5`4UD}L`D QBFy qʈV]'b'n5IAnjV{Y`. z%+_orvj/OeXFc%5Y]iWjA4X4F^Zjd k1$.sneDSB,8/R@Z.sZj(R-s+,BthVvGYI!5Kr̭EOA?9G??Ί\~j57o{e{Nb^TGGk+otTJxgTvجap϶.U>:l.^޶TpGi?LV_>7.&F3nݸ|xTKvy(+TJ :|`pzpm}g_ .j/qOR٭yQyئӵKF{~wAF܆,Qᓽ˞z~s][=krtir6OlUVVҳq#. rQBlE|d|]EXǭ9gg˝TZ-ZZX"Ҩ!Ri:$QX:+{4G00GXLE\m^Y_m7%iV9dBRLb 0dѵ+DyifIʥI r P24iCw0)f椄YRlqY˗=`Yt3rF}i\^[0v;Jx8B v–X-6yZ2 uš%t%276o:!R|(F=eHlM1OҼT3ksQJy2gw^8yZtʙL'3(pjTid^Jx\IR:͒ `UgխQ᳙\}/<+k탿_?_?l>J]+RU:魐_fl)y/Ӱɟ.j;d;]%T)?^]j-OxTwo~JyuP"%`?iw3aˋm/lm.t*ٯq7n\;qX(V;٥͵rk4w^o}mW^ݼlˋ-/ O whTAxD >*/?DJ8~Pj sW^, /4^yp:N(]~nV`dgpvҒ+ Ͽ%m݇ea (ؓqQin?;<wtEӟ}{p{;#N)sUZk]Ṳjq`k뛷Ofݩ:4ILKGk'O0CV2S a@Hi$(66r;B$yt8h!9XڹFW_ye7iǓJeF'B+ժy)H䀌r՜,,NH<9΁!KZh{éݩS2b9 #bw2ҨYw55ihi3g`29׾~;x<>9OA^mU+#sZVH߾{[U*F[/?wɊ[p !壏GYk5 e<`3_|+~yVfѸi9KfOf_`U3J1ܹX{Ϳz>!~w>_/}et?w}?y?Pd;/;//OZ+jHHݹ@eEi$սkOt5b+չOf/zI#/c7\K$%ÁՍxN.{`wӤa! {)Og~'˫^]y~kZ^%ө\q"Ӄdqy+EXR#Kj+k;kɇޓNP?)nte_~e˗/_`ƅ '>^mZy:ySCXLb[ں9ƋhLXQ}wNS ?sG_hG[Zj=g*^Xܟ&y^ɆSt(i%B*/m:L#3!e.wNt=i5jwa23HbFgH SOnhQ#.~1in{dPLKVii*r]- q3lklƟ lLL.Fi՛@:t M`ƄcңZKQm-LyPV(kͭϬn  T6) 7D$鼘e^8E\j/SOg/-~/'·[YhKNFF5a!T 0w+z$Yڸ$GnJXz9ԽbMAc3u||*u^bFAP^hAqa™>AJseX+. 3ocR e1c1rRdspL/a $ZFԀhXWhKV 0sܘmpl\4@Oᑘq-w_7? 0xڛ/X S,`ZL.\H öПA[Z6ea* #ȥ^`dr=MB0@T**4uz6iiZ Nܢ,D Љ#H\0/$*dcfg{|?kTވT}o~|_5>x㭭[i{Vl2}R{}QY|`~w:awsȯhY9)'9KM^=Si>I_Hy2\[[83\%bC}I=Nm͎hԆB "X oqZ}|I>fs^̇OWs`cBÝfˢxeGsmÇV;/FՅ`vsj*8YxiSDf`64ϋ|qwT>ヌc?VYf.cKR;}*j NF0Uj)`>YnU{~#p8ϑͧ")Fјo^ZMe1IDb }+K7Q, )v:Lxq%hE$'X˭k5Keq$YZsOrX-t4`@ϦSf80 Z+G>rR \awj"JKѭ,c䥵V;đ2cYIiԨ`c9g!BX[%M:(؂(K00`qBgVfaR`Z;% IDAT ˥PFBHQJsTic ,ƀ9bO1%G/wG~o {WO{Gg"|k ,Jm݁ӳ+ K(o5K??u?yw )ed|ueadE;gP {fӨ~C}U6s #>2Q3.vS ʝ"70.F~/|P%SϳY`5Ac1QaTlX:@y˼"rM\?||ZhƯcY'5FBd ,ij~`guq} 6ߺ!rY]==tEj{t8^Hȴ67gӝGGݓ[rGW>+Y: Z6iCՖ?xJgu kg{pm2 3e2S())eBV6V9Äd2`Qb\4!$2h&`qjTJh-41j_ `a%,\B #+ZFY+B/pN,;KR(c:cD_di0D(1{љ!BpW[!+#,5ڵW׿2=5RjS|c TY0#LC1!B(l"؀,2Z0@(Kd:#+2(3)EQeT*R NygeYD]VSdF`TiV;,B΋RhJ+c-1k1F/Xj4Wׯ}ǿk_$ԿOԗ6Nщ*+/mUf pv|x\_|ո/3~6b]yXmo9Hk!Ҋd:|i3t7aԩ[x%4!/ɟwx:4v"KkW|o|D ga_'?}G8 66VZ'tʳ'QĚEcsrphjwKu5%n\9=a\㕅Zno/on8NFk4jNjՍg@^ν l8MEta8|p6x!QbQOԂʕh>HJo7VM}C~9|Hd=YkR\S̑Os}km*=;„a7bVWڣh ĩ; \H<ɡD̏}[R`Hמo~U*Ǧ nJ=ߛ͹@=OĥÝ>?7Ko/[[(K$_ i&'Ј`6A#տ¿NrD?=x7ǙFR;'`JrK;YgTi30Rծo+ r -,7)!Yj\'swW(4(}zql|㐢y1$v+fXʬ^^~|4-\S"Llj.t"㫯O}LF'*P, eay6+Dfhn(RBaV#s[[] ϥЭz %Ç``楐U5bmA!8 0Nu'a5˓(t>+֕8jh0_tUErҨ`]6Z;Հ a6N]m r$Bzʓ4I') ŕz<ϼq")52"ylYV-FHmM౅vZl&p\w>IWg? _kT9FRuo5.ZB3H{lp~6J|V_^;=ڼVĞO~g:|=9皏>v~@R)u<*)Fa D0 TI]J(PVX Fe`kEF)Mѧ)]%yL(&( 3*/c 1XkZ!0PJ^)khb  % zjD4R0"Hak eXkZk^z~ a/=0ApȞbG;W}9y\/:׌EYeBR* ,VXzF co'RX+R d.D)J (,Җ; Rb=AD&0.բLJ b`7\)k(!Ap9Å`,B`aSJ0Ƙ a6d~ㅇy|tO|x痾lM#Avpp9~z[ K$~织_~╗_Yy#O@*ް"v__;Nyaֹ1c?k7} ^6ˢNOG򴵾tq//nS#]˵56*wz+eoQdɴϵq1 zV%0( j{,%ȺC ]Gpsx>z֥7?jGJfÏi|Beie5v\>~ΛŖpz̬[/ ~ЧI鮴bQrv>-EIv/+֮l)W:jW:7BF-/J{D+W%UrzwVn!Ueh>4ilVn>2H݃6T4VL^^t6iJQjL}]o5{RJh{פ`uJۙDk9XXʹ*)#̺IAtEkRhjgI:lOi^y ;X 8'o\u}'GYFf#Pw©^YO"rTF=pkeX `pޗi 6Qdej!7ء`M*5O"PxUWw=+s#Z.d^]..-޺B=kIU)L6bl\BY/_^~[빘,:>wD!KZ9kU kzW$ {8ߪ,y}SKcߛWY4P[:' GQny1sgmy<ޝQ kWчQ#es qt'ŐڋUҿB `~>Z{Ha7:K{՘q{kSϕ~_wQÍkHdUY $IQu6W/_^;nw2z389_h~~}hngq)t>NdPׯmJKx:>+gEk3I}qELORy/~+_ܺ<}WƋz &:Z+rMӼiQh %jX|zt?{TVQ2O|"76lwgiuq?WYwص0yppWfxSFv'EVIԐL2)2Wbʐn>qLZwL !H97Jb &$)Rku@)s9ub:UEE!Lc ㈵@0 00N Ah- 2Ն0JmE 3BZJ8BdcDPQ0AÈK-FE0&ƍ")(%jz.&RJ!baBQ5xkuoXc5Lk W~=u,ʒ0q_T 0(1% 8gRjU Kp8.3D]sB|_˒"R m0JРaYأs -YPHLz^c%]8aZ}bic60X!JZѠ""mt()cHbL%6qgǍ d1ED icJY(K JPN5 ckjc,Do]EfFH)`>%BRX?Ä#!,,AX, s86lWCRsz 8"rWjaSf0`c3eZRD<ܡY+A*mV yaB)@)rBI),Z+BOܿMoy;Go|am:s\Ƈ$GoVW'j6&v%"ҷw_p~3f6O͘'tCebnK׼NSs]n nlH( !p,+r8qj]5y>98{so%<^׿ F-> QMgZ8[EQjGAInMUtwNN[lϜ>X_)hKq30QUϵD|?:+XDQMSI7bsS(74g;p0Zk.yZkn~/vwU!h8rhYGi8E(yɵR]9bK[H 'jcE IDAT+"GfVj^xyu NiR$U`Iw0vm?>;~jVţI?=1덟R3NreZr: #00xPxFjN yA"d^i;%bR\$iFSAIZj( b$T-j(2k B``lf,ie&#9B!8~0ZiQ`4BT u<=LƄ3PYL)1cFJƔ Ri-FC*u |FFi1~OS(`m;A`ae|Ʃ "e8#@ܿH|mܯ^&mK&OGlMQƓ3Rlaf*s4B)^VJF8ǔ$f1bBK Jlc1F AuGk(זDjzb9GL=b]z1}~JDi,gPv^A3ǝ$Ok7W<~?'wprVmc1oP.jl&XD[k~h\fAaۀԔ%{;)n:^cgy?(Z*:pj}oK`p~<y4`]^ޚS9)-\Fn+W6R&3<FΞL>~#&Q}φQG-OIDtM|ltԼuuw?Ht!Ù6XC*//j5v<%vT:%(:6PY|1 aqܨ8B!`;l}ePwgު5lc,@Εt8:^$6ֹ%$Z*1뛸^vnwxiߦ+u?ZOr"\d6 "cJFiX.ƀ *Řq}o03?b}gI<V&%ZJ"VV7 eq,%1 5b+U֕Egƶ<8Z|{/ҸXL:p8 $(\_\P#Mp1j7n-/KH/9߲\F,|wG ??Zm?Zݻ"Oq1;:>XjgoO/Gk˥n*7=}:j:'~bi_/ML@ϰ bx6T^;x$tztq:86ׄqF;ͿѻO>Jn8Gݺq1L }mcQ[/Nʕ۾@׮H( fఋq$+WLQg{W4;=9xXΪUuh:T#Wa甘>@ 6H2J̶-Th)J94Pƌ &r 2PB0Ơ 1B1d`ah3N0€,FsKdm;se͵zh+\h.8*$Cw9 0HpZ]"k  7„Kle6р)!B9D.6׮QM Èa#eK1Ar@Fit,;K"K "UhPt%QTrY6l2\'SQ*`$1@1e2J1!Zض*M󼐩HQe4" @(D.gBښ_>62>A6*}/>GZ6$jx=N;qjmqO;"&z:w77<ߕܲ =ztq9Sa!QaқwfDϢJy`VMxVɉ}NxHR:|V}qN횫 Rol/"`J^i~ZӣA@ԓ4(/^]7_L߯]yr0Ɩ-:vp齍׿~YI@SAf:>C=[i7!YPlP cǣ`&kr7/џn/7E*kk͵"5N{RR'tAB%\BMu-FQ^" 9?R!T*^ltd{K}nt~>m5Q\HiLr8DIRyy>\ؕƋTlɗO&(WrmA꓃%vl;й`y x1͢U{qF  A[l<3a9H)FfTFik9NF3Gg{G"ɱc͔6GnrV.p^!a*1B%KE6b0aCq59lol>2_LGnݺ9y~pkf\//GQ!.5vB_2R%AEt/m)Lukb(%ܦ\*F (\lq'g,rfQP`ӖP? Ss šRܖYaQh%(@0)0c% K "4ЈJ$HL#Dhca$%}=(&sj#79,f^8c`"KB^\Pc03h%RkYR ŸvQzp t.ȦBDd +\\^@&r (0 sX?1" ^~1BTLli#@F MY@`8g1pD&Ҹ hItxH86zƥg\O~nz#1,_Tlls0¹}kRn+x/hVeת$~[TBqp~f9qmkmCx,f7NxxpTXW\VwLw"&}o믮~PgvW~y HNY/W\fb65"޺ɝQx04՟gi5M ;VJbb{2/dQ`sSS B]FD9LaDDGޥ_yVhުgQ4ƣ||oVCr<+ڕ81:\R^Z?K'~Y#\rdd!9{QR;XZ'O&x歧^Q" yE5yb#YJ˕OO+>0Yv BW.ΟfÃzx\a'p:Kl7JVͅH@i&qLœ31/G'FZ^+?߱U< (JFޭWw9=k/?WV}i4P2 F1G=O+t8~4Nzq8OH$PTYetgm)3zܙPcL3 '8pmLW+E]]__J4tWwOr#{֨MjMOV-;,I Keէ׮_չAS=NvV[2ut3Ur&Ō縊FAڈhr;8m8@-^]98ʌ63)L$6Xs҅\3)ARg*Emyٓ{2f}8AQ4kY4{׸˫k'G BY:/%٣$aD;N;vj&;vpZw,^(+AO.g䜝:ƨB!\bLh!,0" eT,:ԶlYqDu-NJ2VjqPH p,n0&c5`4RRb% , FB(c2YeiVBH RBMUWDKAM Y#maL&!"`Q(%B(%YPi "/6evu +}63}oF"FȘBȲosF,rf9[t"!Z/&Rh-a @(6FH56-B  APriB(Řb!V*ODV2# `0B  (22( Uo {a:f?f}v1A&LJϣD4lx6qQD*7.à#Q0Mv؞JC.;hތesDvݕ+7*t4>?޼9,NugWgoekpg=BZ.LJOgduɴ#66~Jmŷ;׸o(Zr]b'Q1WH(tYͭ|QͳY,K}E+$h AiC*>V:AJ̔!AI(3yl:M"Q;pyd < gm3FUUBkU(NIJXfZXDj`ToQgڸ 06wIs4YpZQ#zc~.Fo &ի{G c4SNӬC{s^|c?!G/fR.X<b$-uQH 3 -T$QlA-ǡ U9f$ Y,HILRE4cQ@bvBD ZB@ܪE)e@/: tZi#`"FF# ,l;2TSl@9S&w< \l,wlF#bP>1FBYHcB:qei FEQȅgdB0G1׵T@tlCIX)Bh)NrP,rT6'/޽\דի8Kn\+[~ї:,fߺwtu{620oOK 7*Jeq=~nL \YN;ywl(~sXrr(^[VHr#h6eͲ,wFnq #9_ 5;Bf+Ou:6,2 ;.k (GI]}|oyi)SsZW>P`)/ I;>k-~ݛEq[Yg/vn6-(ɀ~gzZ}퍭/TX Vi>.֪tt8^m}qpbĢ}$ SIRBhZ;;~mW "^:9y9,ͦ'Ln~%?y|*(eeQnv671UI46'RCqóӝ[vwQnX ~a/cT<);C\^ڏOŌZ) ^,Z)fHRdzot(Rdl> R37FhI9]`X%T%Ю1^ 注{zFkr[ QFXh-  :¨!-bwa &Bc0*04VB-^g"ƴ.^PkRh 2/ %`p4\(/1ZfZ=6zZ ~X@ (Z8\g't"!_V懓b 4TX6WXPEqt2(^l4]@e1bTE+MD+YAb>%E] mB0[;(8 yčzk+NqmҮhU.?[o4=8]rv岗?ƄhJV^kɝUZI߻s6L4gx
6/sDeN8%s/ℂu8vwT*W*dqOa,~oʕa/##A2Ԛ ޚ XJ zÓg7_}kUI7VO¾L^Z+;Z&I@1J[} t'H^~v4^]n"/Lzm^! QITBW{՛w?_><;{JX'Ȳ pI0fN-ě'}LFg冭Q`2q Q  mH7BrJl2G)6 QU˵  0"@-pbc@a BeB`*r"U4e E<1"^V+@( Ahm QpkH+5@/h"MXDic^^ N< 3hVe7J^x PE2 6",MRK`@YAZI,* $"H/[@(#-'A(xQbm/@2/`~m.Q:4pA q,*Pq:3L0!2($ɟ WګSSOyZF8茰e|unyI燝O|(-.aΒʛ^rf:UJ4$ ޽;onpi0ݸht/mhlVJfI!=t,EIO4Iξw:d;JO+ݍ0p4Pҁ 0 #qy}-Jyzi %BJ.j8^x.d?X]gk}7 #2>yrx:OtIj+ Fs 08y .6LrH_{ *mb]ia;3M:>st$(0"۶ƹȢqˎK˓pv֛f)q,ZͥLv^:I =%,tONHr0 )6oKjjCp*382 @6"ө´yˍe#,i8T<~"2)Xl< VdHcjs:E؀6U-a0 תjt4عUꌰOTWw^}/n]kmy7}獷6Y:|ݮpd^-9cO}|#TRԦq0PumjQ(gEKS%bH!u0 2(r:ˮ뺎:`m4Safcf+Mr8Γld&I1ʘB0hPB(c #0iPHG+FFÈaα iP͍a!D!PFdsB=a3a@ڀ2JiD5c #q 4BZۣ h`mw*9u,A^jy<,'(R+ mۖ((RF67!ogW?O[X]ST^OIRWrNNiɶgEEaͭuCǺq!&tzk n#bgk~ЛK G{z~lυW޸f{[QceT(eDo=on#N{vӣuշ`{oe1+Gu;rZ$/ Y8Y1ؚd^sy9phLDzR1"Q(HB[6d2Ai??NŶ6()e056[I{tRoaDHD˅J~+OȷgZztܓ P ~l~T'r Q i KMn9Ԋͽ凟EC6[RbZı__"Y)!M(%呞[F۾8߿o\w!v%5Y__){˕R-vO12V;_Y CMV\~zf{:F,5WW i8|5GW6?:wO0 9ƈ8G`(57_m wP9dX/?:kd"e\jLƶaf9 YĪHZ., S(@**le΢Y/ dYu=}o>,=ye-Y ڗ׉O&*+Ӌ,ʾKՊQ+hbrU\˿BA8 872o.mxq\i [X ǃx ƄJ!x+qYs{YJ=J%z,SYF""mk0( 4diR(a,(ub@J@c@<ϝɢ%);R xU}/CL,nkZ ) 1E/5sB_X\"/$(Z8 ~Hh2/Re Be"l_A@( ;/,z5c Xc4Ƅ! % &*v(H/\|)r 4EQwVP*O^|-XٵM>W_/6]?fvy0J\l&'(7RJB0D@F?p{B;!.2 CE gإAsbƊZ뗗?՛7G<ַOijw`IfRs8U[+ rd Q"~pZ4'G:]*;]Aqltp6q<|:\VJյ4?x]ޠGVzgE+g1Us[2/˭U}Rc~QPYwZ<;Fٻ|LAw僻k&[ ,Rn l,*θSF>/*QDG0FbijLl"y._%oqV&׶W'8~Jlmwj6`~tgv}|p+ΣX(vdi$ͳ"^YZj,?[[H{hz\n7޼qrqr8I-呒kgsoogPJ{>ԛi6gV!_-G۲!Ga,a`>_D9us꾛&Ddrơq࡙S%fcvӣQZ*wNq.O/^eqRq=,M0"ǃaR{ޟPlBn]>y1IBmũ,D soL=qk҈qo<}euc\$SteLJ7{ol[vׇ״3{HT֣2P®`+*3F~ /7VO΢He,KLH;tZQ !u[Q|哫6C_FzUtqfuZ lآ,ъ?='fLP2)}6+U+q?J5Ϟ T:7DFrVIT7-d4WR5 W&vP(Y?ݺ^b+2E6ZR͋J{W ;zYeoQ<| F7)Wi$m0#mA`bA>>>x?{/D@J볳3\Y]^RjQ T98UYhfm$5ضug@1ѨJ! Ke^3Sg!)}p8Vi'HYiCa GJkTfqE5^Ŷ(YF-Y%;͢jeDBM-o~X`g?`cgng$ZuC~o~uX!Ӟ,QB!ijԲAcs u uR %iyׅBBy!1Ҙ /\ۓGijo>2<V;Gr{9  ]|1 A-<4#N{s߽V3鏥Xy9)7R5 Zu\5u"? s̈Z ۯ6˫wn^S<\l>7ÙGGߚm԰幅6tfP*a?Yyz4_{#:pmEEQ*ASJh쪵V/%u]ǵE sXp1rfW?˚hK\ByTjHV[V+PmnAwlnEZpo8۝$჉Izv+~ vZ=̅FHP$hPsݭ^~{i4Sqm@0ۦo3L,E{y_`=> 3M)1*SF=>brI.U7o[߻u}F#q9?[|~cbQ+;>>J4 c&޽ѩ3%]9M1"m@'}L9}ΣE2>tfYfΊ5C/j\%u~?|~e4u"OQk+,(RKV8\G67۬5t^w,xAs]Nyh`l8rJ< 5+?zy:!%FӣӏxauCdi\&VK bi;I 0 0$bSv8.N#lŚsVmRn5ARB`$׹ҧϮ<}S heevFmu9? 3wVpBYƂ&8jRiBC0VNXsʃ=۳Fݴ?^nq礷lȹָH8ڤi$ YFy.(k&ť!j5ݽkۻGq{X w$sh: mHT$`s4A^a4W?}j坷KBe4D b3keRJeFRx \ e$P`)@VL@h PIJ)Q0ZhBpTZh0Iv'F{-AicZk0dB"Xs j4RJH./S@1%X. nCPǶΖY̢Ԛxc`1B0& `1+gf 1V d1_ͼ h4R_͐mKBB]$/ ZLnf6Mukp=,gAhge/޸8_931S!k խj~ݛܷgNoy;8}vOxĜxyd<.fkڝ73sr}0GP+ݹc֗#kzάѣVRuP-H0;do/<$IݠT{h>_ĽN;gJrܦŇbOK /~`^c30*<[j$O7Lݞڞc¶3x; pʙEN7nji0yJ@JhSZfHC^ r?㏝ꎆJ a?nw\wuJ0T1tCO(|F4ʼ3J8pmZwK<力cF s V KqVK!B('-\I( jiZ  Kf$\baq=;Gp0)e|#9"ffi#x]Hʍӫ+o:ƲY2ɃjM'jM a Nmj8v0zɍrVȓk\Ofg7jIaʋ,ı8@!8f2(ͥ0mם@TZ4,$*Щ*7SG("(`4ekI)m eJiÖieӉ6ٍsKWVuX^WʑGӛ>ڷhc ++*u./QGʼn砅&hB& Ե 被 w٤,ãҕ[%ޑq_v͛Ki.NWe8[>S0tv$gƱG;H#71!.LsJ:ASbO7s7OƱ*[1XD ޏSwHpQOYlʬ>Ů"=u&9 =TRz;BwK8òJJosG3eKC!jR>x<}Tzm@ sХVtv;uuۦ\ (W`Ids'~aQ/S2!2*BWO&3Pۢ^^d_4 h35T2TrmwL틧3w@OH)a4E /:L)Iij-VcF OeJY0ذ|8⊪S=E362}a_- N7 L JE궤yppAqXm9mRy,{`yYʙdCa;RXQmz€D$i8\6#^;åvB0 ph)g\ibo)P#].$0`rM^l(pn %n8Ad 0.tB?O&{0"NEiwCe؇r8:ӓ%zu|ra:\\&fN_MZwb/RH(0 x AŸU~L.. y3(X)#*gCV蟴2 Ld8y! S@,"lJ9slB1%2Q^vXfH`;>Z FC+e@씃?UU.]8 ZsK=^P/#,jIA7;{"Z-^֋E(#_J̦r 6fWS_5U$6To%F!BHT~D^WȫfF~=P|[xZ鳳>DԷndi$:/*cM("RB-+{'jS.o?HZ7e::DJu^ Wɤ&HϊcmhSKoI,:qմsUx@GьSQΎrS"di8J-cUS"'5CeTIK3UHWD^jLa(Mk|(_Wݯ-`9Ѿꑲ{Isoːa F"ux?>z|YO).el~(2h.orxU각YBgƭ}Mg3"=>Kљܒ Pq_lYdQ گ%׍l/=)g;IKo AOb_u3lɋ'Cq9uԢ2B)mS,q!;FPo3'hC^fYA,ܦuEׅJmaRѝ*+X>QzoK! pDbwx{s|NwKdګ%N?ȋZefG뽉sG Ӵeضm3oODSI|MNiE3f;޶-⪬EWfKԙkF;'ZH G31Ͱ*q~ eIvS3E(shJ|T49íZ[]Q7O`sbyi`m=g*U \b_"%>H4a9ieITGt0Pz2Jj-c3.H c ңAOm[2uc;k`-G?ge/W3|I8Sȱ zQKSi%!.e}.e`F1UY3c`'ҧ#1#gb\GʰqzAzD6aTأv`VzL 9^eӦdY( */ ӱ=G8Ł?/f~i Wz_:1=94a')Dg(̓TQC-thwXt?3ƈə6ek+˨%Ǩ}& E*cߣIŒAW5%΃f=ȇ]ȣAd OpІ$5P@sxaf*בW `NҀ\P{wB^V_NHߏEITz ό) *BBF)p-PMCeBɊՑ@K3o'[v.Z!Q>9ES^řghR_.A n=#SS˼,5s\Ȑ1Wӆ?4otr_\ \Wr1DK".% CʤAxP{(|.rӶGvvPEcRՓ2P ,`$":xfBZWeoX{S@]PtBإm4ʄY118,*G۞BuLIipWHLL $&)2%S0b5Q98AY~ԗ@d}uDm }XD,tqaNF/:3?ơwo7ۧ1KoXE[ET eyCNg!Os7 *6\V3Z2ϐ읪mI3ʕPˍ$=:ýc·JRsM{Nr˫)~pqŎ>?rЮbXgcco,zc]NYSe`^h=p٫cu]T@;QC`Xԧ e:gtg#[1وUW@_J‡'yˎQЫ7wEHsD0 g8 eaM>Y=ԥakaFpY*,/ uG'-ONw臮\JྸH[][SZ'ʙ^ <8[ݓ1^kujڽ~m]{Յ$ȇw!e\߸> :.$ Ö6p F(AZabx $MF77OvF#xァe'\Ʉdx(6=!I?yzԟ5? V@HYFyw.[1tF4RCsEg=| 9 ;EcxD(#?*dVؠ6\^,x?vXtX .훹E~xFGܗ2LXaCc2b&HsdX\6݆"3y#F1i V'*k=\ 2GZ+5XQa?fY{ ۙR~>CTI+VfqNN+1՜g2<55Z"j R#Фӛ961*c:K{(vTu,S f^5KvbY QݑQy<#{F0b(3n%sWtpۊ;º EI΍bGBw>@ȏRKrR{X*]^IueeOk%)wT=-Li0c,Ő Sz?ǛB1Z(xwp9T_!lL"Sk哢/q)D1efrdSیE8* 1?` UΑq[UO0<8ĬxF"L@M j<`$FF5> JL  Jhhdu.xXyg٢5I@ 5M) t?9{IhFH!c}Me{.F̕VSDGt CGT:Qs=$KcDPq=ng*يÚ͙ߊn8X*b(j U:Ux%%X" vD;mZskHk#ǣn__Q&i)Iv~n=֥"9a`0( #JMց.} dQJSkpf UOż5kWEA5؝$~0:=pJ>m=OOϵ8-mXmV56h9[Qx6\03H=dPa7I$]wqxʸ/S uVI|$=Ws>UgH% Y Hw:F?䎎 4Ͻo5|K{>EҏXvܭ{c:O76_BAQBb404cuBBJqPC5 {61?QDW(@4b,Jć<K%qk98l:hx@]zwAMVJRQ b]۵,n#bFp,aĊ~K`\OKWP_xUNlZ,!sƏ/ӥ0Kr %`t?rrn:5便:\'xЀ>zv-PކnYH"Z.*T@FF GP\ ;n'_1![SX`dĐ @y>L 4B{DwDj/2R ,~S%ހ$u&o@|0p畗6cgmC@aK(ky:w|`\;π^ôs;;-׻Ff~vem2]R2novV7z.[FY03)oj|f4Z,4fU44"z" ^Aڴ睩 \u[ rq~DR3ep}҄_XȭAv;esY^!ט{p*B{ƽcrqq_ׯ*Lyf6ffoUgs<Ēe?;X8[x7dm}A`￰:lZL\`cTf_$ciľZg9:P\g|$|6U=vʛ]]D1M;GjZñ 1OGPvs:S;Y{p^Y~Zeu<ȌV _E *QB"~9rȖbƀܕ23䟍c)J|ãy86Ni`!^։2h3bD]$k3au^*G:!z\tlT :\'Xbo#<dϗVL`(`NY{<rz)`ӣ^asLKG{.we#{zmMxsnH'VM[9|"@1$-67X dP@E ˒; mE/쏔>"mpW+!6B-hp ߰4PN!)[2\ ke] $li.L$oЀ~\`؁f@;jK;J%s42PZfsLT|S4+F9 ͮɜmM׳w,:lqKʢ?e1D06_&:`%|3+w_܂h= EB9 Tܨ $\ o GL9TMA>xSZ>CDFfgۿi; ,n20 wO`ò]!hk{PGP4Njh] þ:ժŋreEm%DZgZ<%^mbvy(t]ګVB)yc4U}Xm"<LDTt_=ط~|^s$l <{>dTEjO\t^|~}mMq:JQ7(©H{e#3]C~}ln x_t5w?~.բ/b<:͠?F >X<͗@$Oފ܏#ǧU.3,݇ ?=lgfLM4o^/~d!tPx?hT:vE k+'?r]f]XHfN˖׀Ihl#ԛHk߶eQ4l3OKxm;{\iǢ'ۦ`l;\x|i#H`X,[Ɓ'| 8V{qq+ؠOm)ݝzdKg^ݦfM±?s!L~Dpת))y85$RN[LZ|!X"ب3!,R4dʎ.g{wfqx_~m6M_RA8xr*~ 72YRu4uBIs**>JC!NGuP!a!I 'ATSÊlx?`zTT32*0 udп}S \1UK SZ UAOD111=2@0:OZ/YpY,EehriԠ?dqDF)(PԺ#_,v^d ϻ?;Ps,j6h1,Fl7$:(XlH 4B!.!fYj(=/Gʘ~Џ49@l2B-BB5ʡLpK1rRz(Od|^?,=|yzt]LkɌi5f 93)M TJZ=\sfX"Lzv! jܕyx0zmRJ\$q18k5GB%m!yAsA/Ac~"^8/6 &繅`Ƶ1z ZNb#"hBz"V*BMaU3[~Kxrc(" zvl}}eXnA3ԙO_lY ofdj W;_FN)K,3I=֖͜NHp YJYAXԗ(ݷ= ʋ!2."waCG3vw N]ݝIޫD7KX΍ uy&1[Owe4ؖK!Ҫȅp&MLq7-Z[4.01QəeCVGFkđLćZj\|T.oS@6(\.\/ـ$SY:SWymԦ"mkXOĊ@e ˳ڪě-2lN\~MV:edS݅^)V};W+IdfsݑM{i& z&>i_Ib eU+| "elquK᲻9^,50t<%xEgyuIH &?wm*(U58b*RDMí9u`M˹Q~I c^V䩸ǏxP}^ ңdɁ:4G !¢$e$K$K_pl/'h^R}ag\`^_kPLZ ITXhˏ  f ?#D&uuD2x,Έ)E7,:o~9*gpG JLIVp`%hߒ @@2s#+p.>˄ЀޢGG1<@|yFSZ%:4#C@ˈ {=rHLYt34>yߣI6JvQ b$ .J F,JέIW5SkԦ-D$MAg @%)tN;_eJ6+.d䬼 )E$.yQ ">|۞_~6ZzC{oXq@cyypXUJr՘Ϣf? W2S |d-2 ҍ~Sd,S%%A@ [ǓO9T;p60 Іbhr!-VC)5W#r"+LgĝKz;y>eob誯Z7Ov \e -l䦶gVUV7uPSR5`2,׍U!}qg׸s*:ፍbz`MrZL5M<LF&2++ B<Ő" OlNHk^ΏߞT  t;S|vҺ-0zKpS 9z&tׯ|?=VVV&UL57}v <*\Jbҵ4scS*`߸eE`>F[}<]2!|:jZOoo fM* ȔMr"Y%qݳ<^8q:RCy.̮#ris= 3{y8`Q6Nzԥst:>e>BF<+ɵp{|g>q !i}mcdv$=3noDSI01$PIP(vF6 x}yP3,I1h\$MoNC~,O-8eB?MrȊG' eEaRJD3Qc[ϑHQՃ)i3#'(alW–j*P`t\}rA.IIvh8ٚO4;Z n!;(S<ƇF8!SZ%W?HnU+2_(vJtn+d_q1VoIyd;$Iqͧgjo2jݯ3=Ose_H>?;d\ofO\\\'q :C_ۺ>u FÖtQcfc=6鄶MQv$ 0Xvg+dM%-yz_毊h㍐'3:w>Yq㧧K\ݐ[iT 憥mnMeP,Ǭ Nr:e;4-fp[߶BH]ũr! ;^ёQ4JGjۣcmQ DNbrlw؀'R1hT0_v MM"v";ӗ=Op);s_`輦ei9 75FؚXӰfo;( 1> ~-krn ?z?\ii^d|۲%/+UJx@Ю1P?΄eI b8$ڱ͋JFOvhCJJXl/+,Q@I%LmTأj5F4  !ApO$a8P`DTJM_ԦP߶-pD1([E )bpr%+<} v؄N_QȨx[B Lĕc( 46D֣QOr.;NbE\m Q64:9g&Ì0_g7]҃ LV%0abxo4 $ֺ*&AH2o/> -b%OkIrT a)oH@3lqTh`Cj|vU5;=K 3 Qv)!JBCvh֎jM5^M 37ӸpEP 2 BB~3D(Xi~L6i~Xe24~ӵO:>yyʟ[M(I!)LkSw0&kMTGn~:M;wJ.^/+~ԏ[gHiAJ)U0Anz )W())mC}B`uKˏnG酶f\+Ien9>y .L-)IS+t6SmSm@üxږ(# J9ii6k쌓HDI ҜoDH"dY\$co۵ΩPWiXL)nϞJJc,BҠ".&ՒM-!'jV;[/d1i 4O88u2<nMG5/SƁeSDǣ(OrF.aK0 [TJTq+>[0L \J6{=Y&3o/<8b0k*Rݒ' Cd0Nee/҅zK"~`ΖOMth<HUi)xea!.٣Hh6=:T Pu*x*@4byF G=7A[ A?PANs?ʄ$#pk :YDA]&T)BCuE*ͪ]Ț1C!}ml r}I%pTK,rZ_V{e-= =nyJ})heyKm6=6VQg>G ķ-Bz)[IEH'Y J~|#FJ? <]fܞfƦD+ojp3}֨P8N/DHL'KB4צMSO)S~yζo:`쯲 _4<ZȍKۄR֠ZnR3J6c8HjФ>u/V/\CbZH?xRFNPɵK§` D jZ僇 :s"ΐw`#I5Ce8nzv0ũl}3cHz#D`'Ň7=7TJBy^x92crր,x*s'; 1:ԗCٌ=!iYVIBCYvUpA&TCuh(\Nx?otLVr?@5-3ǁ;E79'ܰI!k|&.|4^7zޖk?o-ec~y#}[m~ABe-o,FU0ͣ8?yύr@'0ziKփ6Q6FYW;=&HN>&ACYFgyE+C:b"2v̦ Mg8?>H[5'e  k I lӋ$ߗO=T>EgK0rɬE ne:w ),]G> lYa%SLxo\[_w ƁNRsoenT\vEzꡮ[= ),Tc^`Pejgee[$۩ Xl-AI[ulɌXL~ FrIf, C锴SqxQ#-~PF\@(ԁhY(JH%Ad^-!gO 9|O:׵sg}3øI^"10S>ЈCcĺfVզSK话יRȔJP0Q  @>6AoPfƀP!CdDCB[$O5 K$2 C?.c@ָ)1P(j9|~~}V)[@SD1~YE' Hl[]w&d?yq6rMAeᔺ7 m*t%|k m)[nCG{[i8/ +zK#hsl>?~Z5J"'U;{>a y(ꗖNdzPN>54QyCsI;UeAϽUh9zTsJmexY wI9|<3a|5I׹$~һ5!v+ɽ`TqON?ZtX-o=gL޿ͪ$YdDc!ĔICY÷xjx-~BWHm^DkWh(OˬΖX"( /6j}%N]v"/ +1r?( (+>dc=0C]NVn0B#b ia 3]X]!VnEP 0 B^SFhDx,ÁPMWҢZ2]X#Iur'_Wv^bLz1eeיe\W}Ӣ ^G z ՘x^@[i{H#?wZ&ܲ;wXӢF_SfCEx-FXcTpvNpPGqki^<)ߢW_h0:u%_qxe_c]ywp+Zдy=?'Q܇j6ZlyzzYV_|[-[`gYpDծcōQݚseߦ{S3犲RD)_^ jd;oS!ZiVYm^FqCăb)ʔcCM4`{|g;5u-b_WFB禎>Kf,hۣUMiN\W+nE՘y\ò1`_ Ɔ[״Y-dwWq' `+*`z<u߿Y;&Dg!MaU+v #GC(ctV Lw]& *3YcRS>ۓ^ JPE Z48 c?FR4U! ;IgjQ }DZuI?!iI7cQDbF|دAI;1ipEfDԽ 8)6}|tw 2b3t&>ăLJ aQbZ{(&ʑ03&c&Fo]Pr@3A=32M/ V8!z>PZPK۶<@OZ m(o_]`Yg@Q Ͽ[<:._~EըVԭ.V_vcwƞ#ˈCx:g2^X(4H/dqH֥TdaF2hemH'i0[,ύRSUMYZECX2}mUlG1#_^5ig,ORrFjO z?d|TKBgXzcJd*vIz()P<σkR )?aB{ xP8Pvƛld!檡|0B-cd/mb# "Kpb{;2I  EÐ1sg3O$ O%KHe#*Q!Rct#RׅPs8"(qu$-2c罡&TqVBt!KKK)8l {qsQ`-+1$зD'vyR|<֛]e+:2p:\kG>DQ3wv;\-(jΫҭzç{}) A]hQ7wv7yb=w 4z.x4"^*tO^ lP}pb|̅HXL(li*LpiԿe$FfE!*F<7Wsא8B`\gB"Ա}iuH cW'*eL`0B?_6E/N+-+5ښ'b 1'j_ZAB?O7tj,TsܖԱD1ف 냈±Cz}]}9Z]흫&hzEê-ݖLI}N, IH0jd0L>yݲ  7x7(2` 0pLnc^?O8LF+É2Gw.!qa^?LdEiʖY6WEwgYLdA0@JgA&UP ɭA8]<"&M~>v|(($ăQ1@I~6VѶJ}#WX<-MY낿m73[fZ;j ý3[UPG7/4$k͐a6Epr{w(B:stq0CPAmo,I4˄}E?.ߛn!^}˿LL_F_j+Y-%Ys| : |_!juN(.mUa-yHЍ"禺Կ?˙,$iW}I6ң}޽ѷp v.}c/e'6q(il5vxB?k%8! =˗;p}sW e;&_Ya ]2SvRkD&T챕i %*]8!'D(>[ICpӄCD`0 ۋ\FlA:N `DBz쉼vY"~*HA*>zdePO"%lO*=mN uħ<*2Hds1䙿ph ON$^-o4MqKx9$ J(K˺/_} fn$-?D_Nf+jrx~[z0F$Dh{*b5)k!vVO0n>}5SQ>2ɒ)z,u[j!pUlt@JDaIaA' *]Ix:i%hX0?r\Oo+7g~/Nr );Վ7-d‘qCTR<-m-ͲG}jZWАtF3I51#JfWW}re^H3k<wMN`6oEY;Qz8*n.iIn1,f{W x{.-?ڙU\Kw\UPMX鸺Ka}J})F쓾|zg›X2q^s1N;WZz^ΘA ǥB$Fom矙>^n A6>SՓ6b*;Zæk)ZYam@| Lӵ> sEg&uw?h~g.kM %ya`DB> O@[N.R^nmZԓ葪j[Gx8W^c8ija-,uO!C5RGD_#ġ$:n_j]?M`E.͕*jk~ /Hh#'۝c* ǃu:T8'2"DIGwq$ E[ܱ`j,tX\^e%N8}*Dz ?R636@f=X1",fnԔn?\"2!o dMęJTm1.l jˍOeŢf0@#ԟzx`㚎&ŸG -A  G#Rx@ɏ٣Ǫ:/{kgHf!T I. :"5K@,>_ E)s%Hwf'Ap~~jǖ[]<£UJI a-X>`Cq~! 3o&k$UZ1t&0~31u:Xm0赔QOqKBO 59d)ɔ,Z&#l>EH"_f{uWf] 1Jz"qRe=T<ޠfC3PGD7db앀FtWɗ4DUBr/XwTV"!u 9Y[&')qV$+J>-𹻶<~pQ-4MeUJz/nOO"պħםsߣƷ |#Q+ ` ;hbP eλgzѤv%M/ο;>^?wQ>/+%q_'\딧ai)+ĔlR齕$6n,Ջ>[ ӝC6l|C9$`30Oje*H$ģvRyuW-iVBD\ "皅&5wWǧͻLkKp]u!&3P ';öDQ܍A{$m09 G[!Ew.yq _ w 秩2$& {yբ$/;LVoL~Q?GrS`)d=tGF`ܒ(H͝GD+~'W_Iٳ&5<7˵ Q[k%9tX@ rh}EJ",v[z I`d,h _ȥ@7Dx߄_ J Sb(Ƞ" B[ZŕQ |] 0 -6E?"LΤT& (]ӱAn&LʠҜ%5EV@:xz94`~H1#LL㳑%::>fx((AxV w姴ȁhy8 5jbؙ˺Q~Ԓ#?GzUѮ l`f|c/$󱟳ךSrf׬b ], JũѯvJyn?Vp.w橏f;K$|r- ԌI;:+J"?%?iyS c×*rÛ8(" I&=؆"Txuʞ?=7$_xϏ❃t;ےe3b |ۨ ;\,?<Za' bPˆ5Da8w׎{gy,:8̩[FK{R&\̢ajĆNMlwۣgeWNXH-< ɤ <بmdf/=[\"a5W ]g/Ar}nźpJuMv+EM'|Afךz}T5hN5vp͸ŵv93 I}eU}W֥6k)#?q~Do$C]\d] (Rhrc;S{8ܾAݧ@lX`S퍗lro>r'29GYr4o/57EKj4<10BMO5U6fB+lsռU*2t#̗ş:Vi{g]]>4s,waN civTBnr7r;ى v{Nڕ|Q\G%antI]⅔8؋aѨj!I~)ӳ1QBs=Xc/'ZMac3/buCA͸^ِݷ&y|r-bNԕzR"IAmBy瑏lcJ"2=Z#zIdlRbU؊~ dXn)%!Tdϟ^Al/C.)o/Q6rhH?s0 1c} ruG1@~rΖubNx6c¦i~|߳PfubqtDd!+?rZԕ,΄~Z⡛L5|8_ _!**u6ӗ &2x|X͡tU5P?\ #N>EG14(-kZ{+K mq?3p@lk'0;ߐzIhK7ٌk"ՊKx$ȎX;Lc(&T' r̈T-\e7#K~*L!8ƼY*s8j(Y$)@3&8F!($BP6ch@t l(GHS?[]w8L;؋*`_Iqʄb&N~vvxxym>RƎވKMZA#Es|ڸ2aĹa0,쏉O~]D۔0هJyVqww#q́n"V g-[ЃL9׽kQ^S&ʺ%h9_,h`$۔5p;&[6%^\ygV.}vZөՆ|V8˄<`3rO4G5G1_h&3$߈h~$et`%_\>rTD,Cq q|y%z`YfMm'Bzw( s{Y?UǚNº ׹vGnP|z}lv&a21>u? Mrf`M>is)yO>\kK%{4oKY \"5Ta("OxzS n_33XILj_Uܚen1ө.7: OSs_2싈N 3VL$sd5_<]_c|Khw)8뜌*A1A r-(R((1z.UWiS>M:o\Ε.E-jb4oJs?䃛rԿ&:R2e^%M i%ܯF.LHI:M4@ȉV*(ҪH"9(7^I_3R*/$.,N1)yqE-vnA@R:Wwɩrx!&kwao&W=PS v^ß}vb^t=m:I;3MdP˸z#oӻ7(ZqYj%Ck]7ew/Qg9OYvzz]^`ϳ@wͭ*&/Gy4^h8xWHz?J(Ap..1p'( nFrl"iDT0R#!G3t>ns4//1,2V HuA1I\gF5EHgDSۅ}(t)P4Kw@4'3z'lo:trX8I$7UIOz|DYh׌Zc#N .a8\T!q (;+bl՜l($dk9{!9$j ": ^2 K&dE?"Z S/ԡAֆ9ĵG4 bPvyֱԪ4sazن*wx^c}c_.ي{ֶ/W==G8˶JHQbcEE6Hk Z cOVI&??-m0<.d(GoJ&2>_ Cp`V]"PFJCXj6s5k"[U{%_bNђ|msB? jB[K \ q?]>Brj4lF g$FV݅W[w8}Լh0/I hݗX~c}m^F#VBku(8~dpY P~XEaZa!cXG<~s4@*%#1 FB*/Cxc` wu`}Qu,"#6";J@ L뺙Ȑ%̩BYSaP*ncJ zMT7coMȼRJ994z' QrHYFCv֙`f_ SfLg0mno YML#TJ(}-vTONίΞ&4خz.~KKL1(Gn^c_cB5kƺmpyruT#-K}߸?ۋd]pݮ.+ЙuJKg2B]ߚKg+MOYZ&UEiy=.P)>A jJ0DU51@οE\C{6jJ_ @:cLD)(f6]Ur5X.uCwRdP!Q,+Ư"5 0-$] 1ź5&ˍHFr1)@L-Äp'ty[V{># <ba]NF `k106!l89lx֍e4XjN'÷Ǘ=/+p2]lw{eO5V%o",gΝ{.\oNC#t6ScLZ=MŤVUIta?8YfJ/NN./i-i+;7[QKlrO?( H:lyc٣ql16}60$K˜[Z \!HV`2gG)aeaRi$eU'(CMWJ\N39ǫmɕ Yl0uWۭFGr18|zRcueZ`EQAK"5iS&Er}9LUddgk9- P]ƙ`RUJlGٚ9VUJ˰Jq43\QJQncT9yf%25 f.5B$H|D(E0Vjxr+;3VWӤm4GAL27wW]m姏R;/Ģr㧧XY> r!2<}b[2-Hc,_ۺ#+.e%Ǟsm}㵍mf[W ha)mk{xeU߽wdhcX`,BhA0FQ1J m;?L4s/8dˡQH Y) ^`2^YH 'cAƯ輼 yV2H̴1$% JYY a(]A*Hڟ^=w!+@&[Kwn@-9 *Dtl,;-B BԢ k. XHE06@U\_مt^p ^<'Fj  f8ҋ/ Z([pD<Šay cc7<@ T%ܿʟ=WD1F `tYꐔbS(f1,0B)Rh4~(]GTY6M@5Z7`)@cZ -'2D$g>'1֟񓉑@/G /89>a3SkC6a훟w"˭~׷z 2)'aJgj'U ;<TU60D8JEp]tnS* 6_drkKܿq=<'΍ jw𚭬VwZ~~wWKE-Abf0P%p.JšW\rLk+ui LQ`0  ;)R̾Ryu7{_oY@Q.s^֛ jeT!Kway L"V=DS خ<3:iln<.G绫;ݸ]*<[oX7ƕà]{j/'oэ7nOkRg,+?hhc5lZE$g7ZHP.O1%dǮ_Ew|?>6d43I)$P hi\ud|t|V+P~3pRNY*LGdPkyCq4U3fL)ɕF, ,=\ae NK6kEXH3Pdzk|d(*(xY8ZryRܢmXRRz rq$&ϣHW[scg3Emd^5T4+KLJyyRQ3F:07Z|=v]+RxNǻG ϶"usW(Au˒ՙg8_1 Txn,pX]ݵV45Weg}=F OgNk0jE%+womr)BoFM7ܹ2_E+RFfck~r6iciVEG7lm?^[Ezrַ7q}{ك?[['4u.^u+jL'?7n\=`9y&_j tt}t9OBPN ) 8׋:O0`{`@UB76%Q0>q4ihup曝Ammd$}.DlBSy&7W`κdKy9/-LTy~{o^|ZeϑHV Q0-.8Ir>!pഛ70 >O uLfl 9}'e")LBn,DJm#ecdbuЧ1Rһ*gЀ\]{|Y*q ߸򤮬#.*GT'H{2$Q}:NᣓV̂#'":崄Lk&PE[s3M,'zb|52P ώGgS][j=pArXW+\;;3{vʗuſ>ޠwڍ~{vgo,Eg?>VnnDnwautꦄwz~7/g}K{}2*f'v/5׹y7"OʙOѣt' h-^:' 4)C-)x9*bP"jQNx UXޡRhdupև B$ o+]NDžF`AnwA#(^V-uӿ8~䇯{mo^C"ƕk?~z޺zG3o?x2Қ˛7/N}cV׮ nŃ{vg'7^TO6ӻ#)Ͽ%}#l# 罢AGKGE-" ε']&UtRR׷NΔҺ僣3akkwinWgH`IB R#FG6R))xa-?:ibOn/YLԛ K/?9,C+_,u"R'!N*UO?q$ʥ~w4\\xE8HKuÊUO&hk)JBEѴ%Lc2RB)U(ThI:'%ontR]ho柝yר]ӜF$ /BKj46/'/Ff)IV|U-ő+-Aa}A$Lq4l]i0PR,nms琵6QL]<#WV EQGS~2)!dl™^\ӫ˩Źj^Ȓs<%Ir|^9 E mt֟g58 H@KѸ0NM}UZThI#Zoi?T"NpkQ\pA$H#ͲvLR |D4d~uk򛷖udDD[/o]o7nEgckr`x}Օđ192Ad6DrQw.y] q/D{|tAuU/wo>yo|teiɨozʕ{W_hw/vw]jFg9շ޼f_dr.$XYҦוǣJ$)G,2-bpżYnYe1`r wW޸P-Q3ϫFV/tX"7;I΋I%qdJL LL&QZN"m QЕcp{k 0Z+'hJ:qemH,R t;<\_Ϧ <&ⵍi6b n'i%  B\+uQImÒs "UkY0:J҃"{ZbksW9y;lKO\g۷o{xmyNhoՏ>oWw֗}ۯ%R_}@@Tu4 d~ニ[?gW{-L0NuZ<>Rm#7 "B 5oj *Y :0v7ͣ0G-l([;4@c#~܁:uaisnwXы]v. vV6z=_%AgE l>N@we: ݎ@&` Ƴo 8bd(-mRݹ!k@<77`=\LEˈu0sl5o|]l nLiq @J%eUN%Q`%xgb^(E2Sg\&GA E"ɘ*%^ @P(zTBC&U ĿrAXw&sg\ZXƓr8Z[Y?=<_1g:^V0a)EDz.,v3Z]̫kb.mnM\xq7_;~|qd n\~/'Z {"r|Ivz|OWViٽ惫7ILҋWoln=.\8b<}~Vc'ĝϿdwКD[+{Ps'Ie!H'BR%Rt .Hd6X+ɾrYeJKY3/wQuU%Ao>p Rjc'k>r "D:ΧQ,i^$QmQ\k|PkiQ[Wǟ? C䄸~|z{7^>9غn殚gV'C -LȋiUV5K\?yH\P]$kk޸tv|V8.Å~ov*Q'_fTÓWݺQ@t$T$W._LS@Ѡ%~1XNr2 h&(&}dvi/_p^jCf%1K-  IDAT@PHZbQ-:YmmfY.Y2D"F2`4Gݵ [tG(gkk`me~NBG52$)1A Ө 1^Idl9VR6YACRSY\ ) )ex#f#$55O~Qӓ1~'obT61nox}RHo]$qQ,iijfͪN >D5) sT.ym  "yy/kt??3xx(ؽHd +bQ(Eȍ!?>C!e$R 3vqշ>k>~ʒ;tTJկg?EO?|_~j2.}~ѓǏ?N[_9-N^>;uݎwvY+uvjˢm om,}{!kN,2Y q AHdV{a#(}dyy_\2:KL"Ͷx6˓`<N*md)cO;;RHF Bpc"[{ŁyXqKIb>.llG>k_:2Kg/= **xR';NV4E-:S6P ҝٴb*2FXlbLC#rBP>cYKEhTj/=HSf)dHRR .P+b D쉄2<3)|B*rc$\2qK7?Gj'cM!n^J t`歏\|g{oOqrY*jΖacoogt7ǼwQqz}JŅOv:gSXQ{=]IYy1TT>l@J)s ƴz(N[Cy9F {b6닛 *IHɴff{7͋'I IRQ+VYJ> zQ $t!r1$ J((PQJR_W嶪#)_U|Фsrs`c4XY%v#G2CDQPR:`A\F#6ERr4Z տo][WEt~~O)z0+wV̏}g?r|#?}u+޾zy묨qR^K>N{g=[eo}|P}*%RmY/tq=?bd$^!I l[ `adБ8,T/ʅ%WmŊKI22DvuZ|YXgbF)u`g+\$V, g dDfl*xwE/>[}yW1?^%a>ywFbp:{<˒RNE9O3"v˃a?IkW!"d4JUuPҨP5ĢFñ*%%j+BO{0Vn?yi* abcTUri/08fY0&r>q퍣ӽrgezk)13C_WDAP"9#5s>Het bǺm͛֯qBt" !Te.HA:J#AZq>!!& *&20jPdRctuǰsGI7M6Dh$O{t2~έۯ>'g_㾐{HF죃6g;GT*묗읜.o)%NÜ]tcs:)*a~}IuMd)pR,=lqMU]LiL0G+WAJULN'Z$up!0D]"ʴhjܸv]\KD!MvkvZ1r,h4Jfy[䪮| 2QHp_=JtqI,Ov2Kn,U%ZBA@6P Jr]dY:/]$,H,텅2 ) L\C􁄬ʍPJ.v,\Ԩ,UI*Ϗדͭo?wx8 6mCyN7/՛[ÓG]eV.f)= u=jR^^?<~曯Ə3I;wϞ-1,`fzGҳY6ӝLNjH7IRdݘ0 ηe-Zo|E\A|fI>zӹ"Zܸu;Tl%pɱ}sXD$UE1I鬖VV:1YW/^.$[~t<-*&lWy-`"i>Wi3ڝWn4&=ܣº~Ç۳*|kمz'/V8`2GBQ[?y[|]_NGφ#btTĚ;=d2I b{ڄ^S.rg?~_|_y0QHMt8A3M5ҋ̤M\zW4wRĆ8JWLfjҬ{r`ZeYXpTf gg]V UYm#L )tr@CSt.Vk3M'd& &|ii֪}bi,EEogKdn+5?[ "[sl\6.#{7HdL:*@A0,j \ty_:|;\{*( Gc!z$Dk~Xg)Y'BB(q6+{gVfH:ĔC u>X*ziDV" Ƙ "*GA18v5Xj:@) Rx 062kvDS* BT?⫨TVN12J(i׿VSVz궮~h}NKleM-ql)+VfCj'"YWU HIZ.:G f0/=GfE9W_LE YaB T8:M:Dir^ rVp/#sN\xG$7VVJ"(#·H.Mt@Tre,m[l',9;4qr\ͪ *u,hPsDa)r49 J<) Rv<ꩭDj GS| fOח lt&BĈT 7*˞ X !.,:yw:Nozݯ8gSk}̓ӽWB7ӕd8 Z.>ڿYX۪[>~b«W~A)b)Z˃n+z^U([FDvB(}A J'w?Qd|<Ȁ V<p³o2WyЗcc^%T:uz`b2QPBJsYϬ PM8WTڄFQ@pi(Γv/~kV?K$ևFjk\38ȌY_Ypfg I&?TfEkji}fu+,cc> ,γ'Fiݞ9%DgpSR28c19NBt&(Q l,'g/<% &)KPTZB΄$ [R? !Bz?3-6FNHo/HƗU"Ҋ満.DEQÜj–,e t `) 5t"d8Kzqe`PTe#u :h--,v8=m0+'ʺ@B7bQX2*2- .k4H+QT%a`Z @fLBٴT\$EF@t{ 1 e"v+%v`@J4.x2mb{T')2ٸx>e;Ik^q2Y$M-yrrg"c_=Aix L"p+&w\_9}~9w2.d` $Cdz:,K>x3[zL1\ٳry7s/t?{ul>< A[p/Tyw89~(ueY_|\ cU i[TEUɵ<}kʦ ?B:9z.]}b'G0"N~ywOЊ[DϪ 2z+ 1" P\:$崿Ԯa#a7 }ƒgg[b؋rvpkv_vMQq: Rcƈ>g,H ^ %y)d2ϕƾc"yZ3 THj[WKcǮBq\ЙYyy"TM~rLݒ5(Yx)@ֿkY6;jʏŶu)pބY)\US}"Դ\BjhRq\spj8@j%L$Hf'"52 ffN9+)`+'dl`|:_ c?R?WԪ]fAox왏C3;:s2zpQͻtL]Ok7Ud\E.,w.^|ѭ̸wk^Tv?#9*b_{#{hbI.PRWi6),_͋o5HsG{{ld2?|XZ_;xckW7trځDb0۳ycBBäJ b1WAVG~xvhԇ}Eh?it?3__xrzjhἕ.,>?y$@,iSCjO̪RR*>,*.Ffh#H)d³?{vϭMNgN&~''"5/tSdv˫Wԙѹkoj>zᣟܼy޽󏞻5ݼQvB]lV'zcoN~3DԩIcCqr7g`%0l1B veD]) !hL_ol/B߮<մ"$VY&cMv"R(d!23%2b6.58MNI`[6&QrhPCW**u )yiը1T =bhu֞S90{>= @PL&rՌ˛Y% ~ 7E ֪r@5CuI)"- 'e.f,'pxh"C H{0lCS<-G#Y2XލrlITUs_zU8(9Eis$-B |&vpztUDЮ\pN>S*HHFD$Kļ|'fb!akt)è-(GcLJ܁cI Pe֓5=glVդHFW{Bg(U=p/Ok%z}oB+|aUդRi؅[GbфԧIC猆x9:(LO5bX$֖[bm[bcP֕ncHUj6*,nec9wiUNf53s-/`lO_tOGz vչх> fN%)YD96d" <;'f n7&ٽgi~iH䄽;we}εAI,!՜5{.).0-ڶs0ה` fA]NON|ש=^Dkhk~#5(6p`Go޼w޺|k?gx78{V)G]7%waskk?Xї^}tvbv2l۹Ͽw'+7>l 6G>V׿M vm˻}/|I`L $Ѹӷf1-ʘ{pjo~&:sLpxdoTsؤLa*]b+BJKD64i$Sb *Wzkh.j1p?fƮue26I"*ғQƐ!,O$QIDP1dQf[g5$9'1G)d"3BFlF/MYS br$[%4Vޣ 1'GFP*76nmUmȱ\v.{Kx8^([r21{no$KE:c}lR:;Xn->V%QaomgEeި)m'GWF?Yȯ61`%Qa7+?K4}mwxOO=ğwLPT9R!\p9D&j7GzL<}s捣Rk,Ɗ歱)WnXtk߻3K8 wg6!ׄT=Gن^z=P(,x:gWU8,99sztʕYGnw2v_ʹ:eqk_O_ڮ^$ٽ4NM Įbhqkٸ;{nK#7s&[2X.-=&]5-]\47"@Ia B4-;uvg7;w.%fILҭa |Z))H#NFu]& ,)dfFB 7u-E$ĮlmaD+7Z7 6eg>_7;ΦlrJJx%v"gxcu1iL !!f*,Dd-LΘnՊ,U%'or.{⠲VҬCJIb>[FEvFĵ+So*h}\Lnwk߭Z`;uv>/ [dIN wG"gvRk;n{FF TŐY2kg>$b`n9Ѡ*W ^ukdG߽qy#kϽ(gN*9?;qӏɫ[ lLu97'ӪpQ5dG9$ 84i\6=(k.ˢug䒦8ӓEΤX~ŗN7+&m 2NN \b j?8X"آpvegqu&]}6핺c/|Tk}mS+Cz0o߹+{/_ʢ2fc{{ޜN<{e9;:|^ٕڢ.99[OS;&wٕ?|n<l*ǶԿnSKN26ϭ??'/<>ٮ/̸rѴt<0qU IMl(ljvFs,ՖW}o t9ggG_w,mxk6Za{׾i piod$T{Uv>;ήwݳ*>Gn~BQxcOܼtp=aAB؝7r{=WUiߗ٦[zA6q̻@ sPʪ m$%CC($/Ϲ`2ItXJᖡX;²SacP>V``:wipMI]G6p /<{Q  {3.31=)/bƘf1Y E+<ӓ:U@.C BVMKF Y`:+똗╭g-Ar52bFjR(\?;PXn `͕[r,6a8{a{'@0Qi܄koFy%Z蕢.(s$DLM̋جq 3귫'6=8Yk r H&lrlH3"!$$"̔@Eo䨎JE39W>*4tU.s6H}X;2 !0rVHrQC2^~O&ZvRJXQըY/TJΑg.&wΞ=usf[K<%hiJ{'d~Ihz%*(1+6gͤD1%QQ<7}g~qer0M"rl_\?,p?[Cn?3X;kahi`Vi6t Ua;p9 m&ZIƅ$ZJ])u Yg7u9mOzf8>U-".X+,^AMVYSu덳 &6%2vU>e4>E;;ݸޝ{0m}hVT"xU(xI|aGk+둥ir,G]3V 7{ޭ?O+,*.hQKo>0;{yث_V7X P%L)i^jSw|md!΂v q-id21CU٨ W7lο<?U]=9ۣGYJޑ/j(Q'GUr6ne2)F5F.hz̦yf)ɩP IU`ec' ^ڤ8e95HiH3j((IKytD6wCJ-Qzn%fQ0ⲃ%8[N~8-zak{09ɶd, 6zY5ƩNTڜZ(BfdLGPEڕ & JR$%>U ݻ7*m9d&cdU{r+t;ʽ[{r}7v._kf ~e/d$lj)ϻT Gl⤝.+dS}иǞVi\ q6Pκ1RЃ^wd Ic*"3LI"@L$ CYbKC$5a,acmr<=tFCEjwu䇞wx`rld.d"eIrۓTzm+Tk,1`+2/}+֠'{=dB}xy#@⪢2e਽+K"s1b__&r%,9ڏY@ /ƽָN+흶Ǔ>f\UT Jk;KļKdO~stEA(,)\Jt_V4M ;cD3m'P˃u5 mOmw81'KqΪp&Q)srx3 #x|e*~sk J&.q gW#յxͭ"eب,2`컨G(_xҗVY/FzS _4FxEh:L%u!j=LfRSLv6{Ҝ=! /&Ǡ~9?^h$͕#iJĒ<;K21L 93hJx%&5 u4(-P9"V2&I,:աa&dUUG ̀r 6l^vm"<(- eYDDr/!%d!oԗYU>j`_hi$m[H)ɽ46 UJ0b` 4!|ped-H$.dӅݳ3gSK&΋{o޻E9E Dٚf74r]NbD3t+[fM٪ں[`DAdʺ{ﮄe [Vl*px˥ d{;;4䊨0H1TVơo%U3E K,`yLʄl䇯5#v7w؇Frhs?`stvA|w ]ݝ/у{k8qyr\rlTWF.Z7^}eRM݅s3=ia&ӽPz{LJ -7iw4/WBk?H'>w|OIZXgɃÓ>tShS]O)B ;ԣ1!ӟ}m+:s ]Vq{NHR*C040mO&EEǨ:HXc$Jzȃ/@ꓣ%1-uU8!er),v(`ԃQc7hObdX$-be)Cc~Q1D9!d94+b$l@͈B I \LֆN)Ҩs,sj[4ӞtXFEBD @NEma WEw,dAD`oLfP"ΊD\,Bb "2 Y%z&TOXRrvFJ3UhTGhHšaam/tyyQAj=mi0xrkw_o^0[wև?^rըѠ9u͠!p"eA߻ye0+[ks+k#kiڍժm"2@!>;^ڸw{u^~SO?^~xrBӣ]w^ԗǟ|p8k>;ٺz5m.\:gcc^{(RLf'f/ɼYۦX<>[ǟƝ[vm\7e귝°kԮ?hf?'15d|pwc4 W"*JlEE/׿cOs!KCRQ#$}0زZ-ntxmC*A51懙0Yƅmg `0셭Y\\`/@25 M(9Wݹ2W^z$qZ$^4,q]cOq>xx ?9G?G\L@z)pNʪKr+YaX]0?¢@h'811,k1%IܴS}j'Ο>:.r>zo^Qga+WuWnuP[l%Krd8bc66lca {cm0p8㬄dN]+ syU5֨1s=wRFPApXfj`uuu\lֻL3%-)F˶TvgN͟hg AH()FZ8J[b :Z7koڲ~|dVð/ ŲVn$If4-?#כޔri竵Z}*޶ŏ{h'[- 2#!L,eO sO Pg<-J&IΚJIia+ª?6[Cv igiIl`,E43rmbbz5'VʅqA$*0] Y )YBqNMt,lV eBAffر݅0+0['$)-95^^nK]ǞAc`8fO%ˑv (rIOPHJXTz=Y>qv~Qv_C돬4 h'I\.s-;q|/w^{7"$ HQڱКHR* X.EnѾ:3g[Be-8o_K_{ɆLz|齷ݸX֛zxhyiA౳BE!ݜȥ9 +Y#ЀoۙI4itmH2V Yw]FAd -p%WR˗m߂k3`rT^mvbԬpYy1XmܶvbN푃'7\Cb5.jb~*!V5\sbh8\_8yZj3 p@˔tfHF3bCC1r&MW2voDڀyQcaR VᕍOD@B$R0{(&멣֭p@2*IoUK! T pהvlRb5 jLv qe $%zuBڜv+(l~}Ͷ8b ^;:f|NN{&Z˕,w\7s A nZZ=S7cJLp9rO<C۵B²7V™܋2PiRe2TYu-4fJD3q,08+X/{n)ZU7/.K_Yxh_J|eX!")W,/.d}/UzkݼtÏ7nv:,.vvjˋQ:Sq7>7K&Η^Y%(FvؤL, B1+o[S7E?=ya|@|0gX ^7?o^yvT>h.5Wj征3'']n˜v[ IgYHrOIn <l|RsNhjT t^3XXO^Y."'T/̬FV>Pty7*ZVn)Fz#P;pNG\-$qA^Cn߽3s+rE9ΜbJJD$TnU :Pq!Vm g,֏U۳zenaid4e:~bo%_q_T$\!pk;ycw/sw-1s\x7͎;GdFҵNbAk54346Z0?=),tkm{`|@Lbb@bQX=le0cQ`ӦN_xf#ge{B'`BOX\]o˓# fpZ}Ɨ.ׯ޽W67W.`Bi (TtmyK*_Dc;̮'b?3yq U`Cjg`А߬1Z+C)W:y復s|{' I-E~w) 2JfRhCBqj,B-ɑ\z"RR pXxGJi9i/ z^ج<J؜bz{4p`5 0{&a ɦb5Ad;^ 5Hˍ RYnpJ>Kv Z~h(Dd9_xy2`iTLm|@8$P(ӟ{2YعcXv@kc@}sXiMp2AG^4R=_l|r;3>TBn˿Rl-y殗g_w,V+1Tu%VC+Ku FR {A&B 2S QYv*B횹,]4Ѕ|@ IDATZjZ- $W$];Յ@1Rq0\TJPEAjWV-WR*,v7Wo6a˖v-UV(#-7jt,vb/U3lf05}j P9"+6kgN_\dt_9|^H=//S|fc㊅B%uZ.3\ǟ%3x]{z/K""8m[A(\, d8ouزR)>'+,@x/B*1kցv?P鬬>;gz]<{/yYf2D =1+ᕒ0)C˞.BHi OR\P9 !}) oͽV&l> ]!ԑh< ɖBzA^!2y/P MF<%",dXRx760nu2O!Mwz}C$@ۿ߿c|_z}/ߺּzKݿOz//~sw菮S˩ )U_]ܽqa~]/|¶T-?s/\lCgݶyS<4BdXi9O>'^ȿK2E82`rM:[`5 0;-c]U7(:-iti ' JrT²t팊aRZ! yH+.˜chik QquI}嶻~ʊ2vy7O)&gxxjSNZC]v+R8İNJmo펕],6Kn\- [W6n׾y`\XKNƂHVm'?79Ao}+YpCG@[V>zY4WIpZ:s.qn%د,5Cio߭]wel}5RO'+1( Tzp͛F@'vsHyRG.a@HJ@aliYV"$( cx\.q9 ˵nB/ɳC*Sm5`&m]@[z`jx8O{6Vo1Vn%0[S#}~Zd{=bs;5llF:hW,HZ6&${Қ=ɞ+Rɍw,se6#<[e88^!<`&ǐPcr 霋 fPBJX(5^)*R)zߡ;o`eۿ箾s[?~H'^G6|_p]>xϹֽ[nWw֏3mYE'v+m{=>g/%g?n~_+w 'TW:@wtˆ [m×S޴C_@Y:8Ӛ_!-$!$jUH#am. T3Q 5")l1_r #PZB<3#kWN1 OR1J:c[W|)ZiŭF;MS(FB9nJfHb-Ʌr~ؚz-\.(m˸+ErjVfY˂`m,}Yg5&hl 9p[_^2<2}[)" r<[B$ ,ei"J4W7ݹM+fJ @ݰcΧLa\}$lZj;!"p쭳]%>ׂz8< %gX]C3ىj@ M{? u4RJaX=pT%RT d!$ ˁ3q2Ф Z3t'3is yˑJ*<NYJff 0/5]׬/Ul3~@Khpi⢙<`#|lKs3Ɓ &K{PqܛR8@^#p= ȔEcXmHIZkB{п $Mk k= Y!=z"GJ1[rtN8Vp(XgkAPj&֩ى5;+J/w<n׋7]( RUǦPͥn2V%&ύ }2;gS{,xL\+* #MҸR1{nQ,F$2Rf\޶͞ko8qM8HMydJt[B9Xh:*PvB2C$iuET̚yCc卛 .MRV_[[W5FBkfE^0Cnqoc'.Dz`dKټZnuCnWfxл<1cfxd6:йn7cf % :w#2yBJ \a|?cSz2L@ BNBHugatL8E =ArAZIY'[py+!dY|jꁕ覫4 a {˩#CO=mhODk}dc({sk*SiRkƛ+ݶ':qRk}?r]rC.{ ~f0mw8Np]{/m:_M|M>/NLr*+e d%E# dF9iȱO{o e "0iKcuVD6TD!uؑ/Ũ=uEd|erup9SZ^fS]~WKs=33y~BP]**diOD2l- bKH(Ir=Oh:m$Qayph MAPS+ v56 B &yW(T;NXigOZ @UoV8W*qTI!H˅x(J [8UJjPA!"ofyQ#N ɭ$F:$70:lן8uκ٩'{/1!s.("VI: cg@0GF&^YQmbjuwG{A0vzSb;yS9#YP>8C;)# `exv=SZȒ}tq ƒd(ai~{c}eJ m0r l;?54'Œओlr ̖=2HHas^"玥(D[]GRd9)󮞚G^җ% ) @ 8)}PW-ϬLONL\:sutr(3ZoLBIvmE75rYk3/ͬYe)H fI܅+F^k%P +f2qEsLN2(TFLNGVT}a)湳Ã}pc'syP8xqxvڕutHzcjƍ \DSO0?z`\ݶsje,O2ɿCS.}e&wtVl'T*i*K5sfÿo/\/m+VM ]]^\~薫XAtR\4vm/UFM6<Ǟx֟}'F<:-pyb~zr֚.|=kܳ? RV`J-CKL˛xgz@&O(%<8uǶ&+KRm蚞 n 6 wDPi4~Z߹ōgBJ,U*2f5[kD5YXXuRw=NqB =E#sgZ-ŵ۷G7>)2rA -x,yr>*?b}TBxY9ke򌴰:$,K8gJgp gP>,GD 4{bxV [y =!B3{f/pV*a]N"_iACJ')={i^g^VyOLԬcSޓ F쉡PΉ({k!IC+~`UvM7'4!޲s8<3LzU?3uKQkx٧}83U*o} §^Ia`dJL}k@ՊqXw,i3HuKWw8{. 3?o{%.I 2u (^%07z=ڳ,[ aڻormsO.WJ+CY\+y;7$$eȴ0 x4yoAϭ$R-Xй #pskzgyy(T}{k&Yafp@+@z -IZoJfZ"X# [1D $ dÀJH7@i-AxX/Ϭ1 H!JJ%lØgKB2a 3KBK5}o|ޯ*W"7/?xey}'S^?}Rmr#UͿPx˽_};*/ŕJaqXyqg\ttMyvua:7ݼiCg/sjxJw28rj\ndsNJsw޳cZ)όyn },V'46ؗ_\Z9W+O(LGHalw];u|pmՙ2\2(*I]Efd +J0VN+ͲJSqT36q,VWyIDRuDitYy V\doھ33E .O./.N`x0jDžaj=U6nn>s0yri徝.&~q &/ݗ°_8,[fl0SI.KnylMirlei\1Ym~hnRGƫ#&O \; "G<&wG_]|}ڰG>˲3qTAT4a?l5(jz\Gٱz..yHRE`%< D^(&-PK_…-~F^OlϺK\J#ow}7|k:ْvad<I ?= <1'<3 /Izr䙥"Ϟ IsZJz/ ʳ佇 d `ĹP23c!E1ڻN~:[CP_3M=<;/oݽCsO}Wxdl4[osz@u5طK4&]6JԴ+^YՎ_[P _R/Wٶ[W(jvߴkFZKnRJˋdS~L_n/M^ssS|߇: Kf~ёjno=T苷o}9,kfVOOwxnX9y(TE.Hl{M* |cW/NڴS/..__:|n}sٱ>'[+L/09/Eb lL`r#Yenb@nY0TzVn(gV:m5IT*%DPPJwqM8 @MNpBZ_%Va(%Ji @ >yWyכ2C AJ`׽r1i3+ KsIb @HyʆbohK>q]ϾN;:*"iCyXb!33/',(O3 kk]X}ۮy͑]nzf햭C}e?z 3gy1s-˟Z0⽺=~uyeYf$)I 2T6 !'ƒ{x@& B*yXJA .EI' 5e" J:x=rX)2Ƨ@Y DntP5طO{˶wSՁ܉3۾>ū|݇~ursy#[מ>[/MKIrGKŤmRmCr7=ГÅN4s۽n5O>|j75;ĕ#ӵ:V?~VlgW0u@L5y;lTQP 4˗' >fAguz=oΤ3H:,Ye! N3@h8! Th.:TQթt @cc%ْeMG: wz3:)]{߭[j=MgnFԭGKf=;ҭS\^yap4[O'>ʽݗ[9)zP`FVhj$cqѝή]fQWӱ2l{K˨&D޴fWN.` l0^|ۋg+{D,JSu~MHj:m<%r\XTߜ'ՕsOp@\j6.¹F`""0'F9[=; q:ʲ_|ȼ+Q_} KsGrd'q/i+)`$8g!˖Y)b,g k=r!!rx|8+̋vRbʹsѶ7Q1 ŤprNir, s{` R0`ȁsg6nÊp,$MVEHi,gm3V$ޑS kiyhHDm9wkܶqhGk/b%jn^9綿|]ܾs޺'ׯ׷/ ǵ?sFASTL8#m"t=5^ISYE!, ƭ`mUxۦMR˚aT<}2 l8.nhڊVSe֖M1mvƔ֍vdͨReL߲sQp+ZU.W3Օ)m{4*ƷǓɶEey jAySDSsj?gL+oJ?w/>WKffP/^./׍~u:=S;G_βjJ]x= i %q(މ?v7,Ojf2хO>>Gr46]^*шiQL~TX'{SIqPeM[]!#?)9 dT7坝,q>_~n+o;+K)SƒٍxV=uz(vik0uƅwl,e&;wz?^?wrWgͩO4=uNe9"utP?s)dEGmXİǗVVUuRt"p0"ƃsWy ƶm< Z'\J)8T:&8;/p/GzOtV,bIֵxXB;t ХP5gh^d9#N91ͧ1F 4'Hi|BqQx:AF*@ZqNP@ZM@ dܖu0PO$I(8Vn|˗ͽ SY2m-փ%ZA$ђ܇$b)V /nVc5' Apf݉3gj~{}ͮtRp2"tx矹~<~ִo'k]vtVH4LU6,,Vd۲2J)CzbbaԢru?9ҩ*?a{0"6otﰘQD>z1ֿO?@Gs#]c&iϒ:J 󭑴\"D2Xh*FU,w#0NE+MYwm0.!&I"MT0NdlɩA]qyADdR'ubnE]hl&*"Tш(n\޹mwsC0qĕ1"1\?ëo?]5N%ÍUyo;k&%Lۦ,&؈F|sk_m\'KYg浝sŧ悉8tjZ₴U0gB¶ueqOH4+ۯLII[\=j̀U-xHXZ~K|E,زkK;L yBQabL>3{K/,ҎE'R Y%~s3Lzſ~SD,ID[@Q.k$DsoW'/:${./8>LҮ:qfX2D5B >1: RH8JL4>UQۙiwɋlITbmnۃyOgLP{KiX;{d4J(ot\A[p([;Q׺NS"# )xc ܓ1-F3gԟ8*F۞ȋ۟'|3RX]=Oyj9z詇ɤQkDMD8?Y^;uDiˣJxr㊺Zs.XQ %YuKӹB.rz.wA`^ۿsz8|0Sj8?q[ű,?]/g0-oͽ]m:k=8裧\ڇ|w>}N`8 ߘgdP bd]ۦ Ȗ$DBM ϜZQ_诬-ek+B@]I g.̛<]< `;p91{Nʵh7-je\Y>~T@jXW8BY'{C(' fF'-B ޟ3S+ےc+%g~2eErbN&rszw\K~zRv^sqw'7Wއ;&E3,*KTYwVYi*Cef65֐ U!Ȉ %ݰP1fRM*U@ A6ʒ3MɘK(8 rM8&hyv0/M2`KEԦ[ϞE,p*׫Uk6Nnԍ\qfl u[j jj"R2@k+-NMjXZHÇ-Xd]sLl0νD"8s\$ye %3%+A5 )e\u%cf^"ٸ ZSe`BY%Ir81qGdg3֖֮<>f݃CrSS.,/֣rWVӃbs%'z f=VŨ>@xtcWWmU٪I:ŷ_n¶uexWΦζ6D]rO{"A($O<& ru3+ӟ{3lQY!}G˷>(q饛Gh떟 ^Lq4FKcgXדB߭-E3Z,gu*Tw~3iAQqbMmXxKLGkU{@㿻YsX->sJ +JrgiJ g~Ř`TEitlV\~>w_]ٴv18:T;EX:W !gnO鉇/<~esX^X%cvtRrg7qL|SgvۃEw37}msL{5b/)g47F`}u<_[w\xfm~^܂ ѵ6<#֯\P)&\9]zJ2; bk4|֧8)jF Q4.ORX @VH@u S{O^/k<\8I]͍1Yc8Ր @aJ0Ɉh>eg<51~>w=ιJ՟k$0=J@I@+y.@s8t~ m<3ٻQD_8v3E9qm\rXO 1.LU=p+48tFӍT\F`7S vbr#X7[D;9ǃ+Nԛg/}ᡈ{L'shye!ئ--c4Y kη_5$GKz|{d"n}{|X3.s=cm .,c/A?sr{/yZ$ <ػ};% :Y[ bnx7 vG.n ~oU*z1&3ze{o/@-/?;9  Rq:K)L?x @?̣Ͼ6:j8!`<ЩZ^;Hh&,,sv@VD5_IUB?+Wv*;/@f|$ !|wؿ?./L?K_.E›:.ʸ|L6D\sHθwNe]%{YcR콸S &AtL<;{SYcqĄZgىMoÛmZɴ?լu:kKȣ[wWfa:AOA]U7\~UۥZ|t4D[^$y+kGt}olA ]'i56[KX^KX3kSS[.|uxjguȪ<*ۚ3I.JK4 PJI}!p&ʦރ8% \j.C:[3df(BmMNsV}O I,.80͑䚾o pM S ;S-cbRWe깎"qjxŹ*a2bI>WĹbqAPtVeQ$R : \qXT@x "g 򶩥yH6A+5\ n\ȎNb|ֶ7SŒ~T6t!DIn鍳 [*@ݹa8%Bk`lp=Igc [}G߸;l,Jqo̕+ `.{yڝՙ7Hl~~أ;~ `Ĺ#lUv,zl[ZZ|3f{z>=z,)oJ_?v g_O;{v/Ǟ8 P3:yt‚;#OQG;o6@Y'_8_3XQ0D|>yA`K㸴ݿ \x.}EHE[<."I"4"8^ԆR'Ym|W֍xl%qow3.g ``;@+Uc@#|0+'"p D9(0& ?r 11F# c<boGu82tԢ(Q{excZ׶kv"=W٧χHLTƼ5+۽y7}ͅԭдx=~.d[ݾsa 3s|@{|}.me_7p9_]r{Ms,h8x @z}nO8Oiivwog>wU]vm)8!)@(!@AQD$$G1Hf1 ƸGUmt[w:{wZϽU}Ϸ9ҳ]k2:8q1J挮Do},pmrZW2~;ws3 HOF? wgNxS[/ͫ=XޒWk2T)_w'? w_xlw X7Ms$TLXMm_+ CfSϤ b/IEiiq!HPny$i,|&}捽oVɩ˥=]KQ*e~X)AWۯ{tj QYb{3$Eb\Y'VZG&`nҺVA;>czwASDHTe5׆8S*NW<-SrPiLbm|pq'j-(ۺR]tetkǣ,ߏ~y'$1Dpy*fδ*JL@RXGyTU/|߸wo ΃F=+mߛTOȷh۪1)g~'?ܼc]|0(~l"'D2>/ |δ{f^vb~E\M/89Rke$dxݫ*| O'^it$d\$QziƚD2L :Vl.bHo: u6rڛnJeU7\aa|dvG*ޟ^l|uhV2n"D FݮH)$[Rlԍ&醘K.Mw~T&oy%Ec6!r1!:ӦNs;1'0kZ~k [}ge[np:wԋDdB:\3iMѬ\d_Wt{?ۉu AuH2~蛧Q\ :8FטZh#<].ۧ0368m`MDa<!a#l@M\x`4C `@ f؄l @[-Ag;qV4z4nTao$]m'R@+KoROf 2[W6GSiZT4~ ErNʅh|맮'? ͢Fa_ye>ޛgv[FM}燯E.ӸHtDzzvY\'s]=^~~ޞ<-UyC/X%IK8JcYN'bBØB0+<3hKP 㳳G?/~8?'ߧ]-D)ٙRNj}R:_}tjq2 EkK7]Ohl$Ss?mCBU\@UTGU )H%y`';SUOp@HNh.ټ`҂kcxF6k%QۯD Gq+JDž#`\8z/(S ,a;Fn!X+smh,-Ⅎ$Z.ʲZiN<(HFtEzIt\duU j 't)p[} "6:J"a(qJ$2d:-c [+CJӱꩰCrۺR$Nj(]Ve8>kBx:.V:HQ3biYW$0 IDATrBDBhFNcdj N E$CwkR<2LblMhle77^f]W B2";dm3eL_X>d"nc XxYIE/ 1(V.̱jDHEZHx{]W[y<*tb &0I"xoLDɌٺv7Q"ƣ  p xbx#vz |i|Lȳ./^_O|Bnc?mwGY_ѝW̎o+ w|[?[okL7Tpkn@:,NNyX4mߤϮYZyP: xzv4?8$ShB|ѻO}Yb'h<'nh>yrpE٣" cc#.׾PNn!Kx׽ ׮g[G'.O"ogl< wqF!ms<{X {aG=;/\G޺72! `iWFGĘ;вib8U$hH;Cn s$>NSziSiecL|'l%:2Yם Qv%Aq?iRi5 `FR&'K.'מV齓Q1+Dl#)^]]O`Q}Diwcb٘h3~%(N(v)JcsZ/4Z,2*E%Y5}&^iW)zYٔ*CLVu=ΤҵDe=޺!MhM7 DɕerS|x+۞d;JHozdza!g ")|q}qq $fV} l_7@!\lB<_X`&lkiyo?ysdIT@ῌt_k$#jXķƓKҾnd䭁o}gG?1;G~x{1K-\Wy zͻIol+QIԺmZǪ5b0,8:cYTM`oZz}+)x/&`o V:]jvFV (K/olPPIiU/8=MHliz3մ @It3-?ze'B :c >? ǻ}@,_.pu捿po?O|&D6@*Zއ4IQ*T4y-؜;33X< >GFG1{dW/g:ψIB*͂f)0tD=ms1jNj0 08-q?ɶIR!Л7c]$Dnt8 Y" x8H8}o\<:XAIk}kc ;$JĩZ(.`ڮ+4Vظ.wI6kuȤ: ,Cב_/fGHH%!YQά ηΧSi]g'y"ҲXr{U϶fvMl<5lI{!Q0޸fX2OsO2YE}o Υbk IG~gZ>Șl+HNE^VY Ekx׍"H<`>-%E;Bj)T젮@$H<#H3R6KK_ އT^}HM/ "z7 !9__홢@Du8f7,N_޾]*7&u7qDJXgrQZZr1 z5;CY\`'\dG!/+N( {fc}dA{u?%5ٮah:ocD}̼q}gI2l_~9*6y2NDg \5DongnH`V=T3{Ko\ /f,!"ςY~|p{~;ԛ l_|kNN 7nc}FȶiDDLo =a8ՊA8 N)g:>HZδiXҺo8 zS6HZUٵS\ozO;.Ăy58wo>|g>yZ()cUK&^f9>ehj͐ahUV>֦_ZwNKMGҴmW橖xB(yF,Y8g5 {יςCw!eTjպ(6"H'1aoܮQ9t!R J!k:/๪Αy1}ze=H6.a0Q],h'd<8RtyjWIp}*uI<EWvnw閵>R&IUX92=x=wz.Κ5'?}}I%.!W6aQ"Ʉ@=I6.btis̙>CG!|Mdo~|pyq2n\J`võ7Vgy×c,1L1<d7ԙ=}wxo;_/x?m*ZѺ9>ǟlg< Djغ:C$ds0.Ì JF%\&v"aoS!ȳ$eŔEX:nSM AG"sq k_A?2۝w_;@dNn}.rclmOC#%B5th;a|2ͯ<Wn\mXne_!;L :@涻࣯޸;Nu8tmݭ&Fj6Gzu5UœY`X<-ThTq5Lyl;O{fVdzx/،3.v!|mAW\v-+7?>{?].&o*_iȉGqY .,NUW=hٵi5tIRmeX=YDMcW#=Y.HuZ>=H"٬ һʄ<тYhmeFk L'/W~>{Ait)VRr\֦ې|eo1t:.GU߇O?m[iշ6J#:rMg|jUQ;;t-gk1eOF1tA+>)u4 `ٚj-&(#:U7lA6˪/ݹ!0YrӬ7IҼLH/j-/VQN.Mݲ_7NE_"vʍsC ACk]p?ټ[\R4r-dv"Dqu|a" k}I't2%!PQ..1 !e73HLB/w3myS_sM @TGIwRn kq@XC 'QT'a^pHY(~o0),,0;m!S^4ж]]yFe?\TX* g< h j GEx_n_y>I12mkCk߅ZMX 1}қ'<S;G2m'SC_RˊփD4Ҹc)=R*YvߥT}RΉ ~8flsG;iԊn\n<+oHvQ4;ZCVqﵴQ*L/VIso|tzE( H%%RCUw󥱽oک[פNIAMh,>/ҥ>l >x 33U(3on8]ek#0HB )ORQ$PXipԊ8)Hi:/i($r@B&"OR&$E,yxg2x ZHBzro/ݾYwsqx )`_xK4n )ڦcW΍[Vi!{v2܇@2'[cM@`gP9Fu+(R§֩R&_ǥ׀ulN.rWy4sW0͹i/8Ns|(RˠQ93׷ԯs}BZo-JYEŴVY_V-zcGJhҷ"#H{:cE*0P(Lcy?.um^7 32+z2R!,.67}2<ܙ a}B"tRGPZ*Aq "")8](Jg=Ű }_ϚO8!^ڣy9 d<3X/VVZ›zNwcqx `{l*_$O}+~o<>=ye7'7TM-+c)[?t_ξsݜ_ n*'O8<͡iX@OF)ϼF#^ $ӭ<n CBֲȻo\ ]ljfcݞ+'[=^uS~M[mUmͼMU@TRdh"~uLNj⮱y>ovNz]Y>H$y`l6mEb8IH?j@aYR};㮅")e9v^]~VH ?BWu}sTB4q'A ! I$Æ?#0J˥-}s 6 .]⊈Hhf\u90+BHâk6B<-$CR$6b8}Wo %EvEΝqSpAȡ3{ q)lgl:;] \Dn$7 IDAT|t,4?j9ow&NGӉmՋ7fcI!%v윥̵kb)% R馻Ӻ&o 뻊t %rZD$ڽt`("1[x?2uL8Y7ugQ-QiZ5Ntek[BNWn~|/~:7tֻw%~EY?]Ŏ21m `M/k7xƕL!kKl敿{\utxvӺ#S{f\y0v ҇c6H:͏.Zyqj |z+vp:#j @I@"#MO~׾045Åp^@ #gXo~2ԫ%+Ϻ On?ctjEϼ{ϭ!VS!sk Bʳ ^1zd2Ie9t Y@忯[)hT=QGZGbuzrE-J /ȼeހX5.v[Wx:yp>o=^w.r 2ҒzJ9}<8sfjXz Tqݙhb(Q^(Q R3;=:J-a+X;];u['ӑ_hI"^}c+ؘXDA>\gLHӧ6ݻXQZZ^h釸Qu^{;{k anVՂ\6Jyu5 Q'y7n|o| `ݦh])Hd~zC} ]$. !zLe 77!ڞ N%~: ~6<ŸQY6y_+/SbE ([)6UY0r;g%)RIn"J 7jeY $L=~ce ]jveJ2݃ˮ(>r;^e={XW>uxQC_}ӟ9u4aFNڽ$Xi0Ԑ97k`Tn#5rj%|=~Ͽ{{>o"m{??>YV]? O՟WIUViFbbت5Yt&z䜉`EWɈ̵dl=$[7"ex|D̬cg8\3v 9X 3L<('Rɳrv*[=_l?ۙR8ۥԚV3$ڪi lQ&DCem'±hz+4UuAkb!TХumX-O$kq-e͂l]Mk^=u&4F l6 qLš\'/PEpU*Ʒ CL@b  Igg=y};buGuջv?L.-WmMYo$w^3/W+ئ {zgHbxPGZbt].E.ɡ3&dJm$d8Y/fX84VJH*qkL(KF;='R{lbDw23 !G!xxF"NÕ@D=Ӱ\ -cP"~@`1@ѕsvAS@ 0~myf cX?C^@|X}my],I7{rFcS۝$R(œA`&J0i6a?nu_;'ǙJQF28I1G^/ǃ$ٴ5}g1g[lU^ˢT2P}6J%l!\q1ztؗL7ñ^BT Zp5M7#k$-ɋ=&%pɑ lueݶVs#βho0b`yӶjɼ(bT_ ^mqx,eTl%0Cw;? x T3K.s2x{Mqփs {ψvGg#kc;ߝc[(eoߘ/õ}!jM`16`) ` {Y/ځ'" xU,jc`WPxD<}Z,AxW ;86L'21s)TM&4;Q7;(K[v|B/#fwY_h;a\ޑLoV!&|]d4A| 賈<_s1Q̏]!"eu0!%ih!A Ţi'qj4=(6lUPڜgz$YmVb[<ȋG_}E0,H'} n]M\,Z;?JpbAh :\bN*4\or} @낷5`۔(0ƶ9^]3F=qz~ @^kc@ڧEbTlr{O3 O]5IlZʔa%Y?IJt?[9cvzyr=aek]h(6:u yqڹyB ɃtFxיzMM; LئrrE( ntW\<񉈋-JUi_mYM&Isqn[Wn\7U-x8U-"OCe&b0ToqO-~Vwnڷ60MY/]QvvqYm\&˪țFv݃$_<-6HE~~Ї_3|=;̟8^؜ޔ::PKE0n|ˇ @cgU/^K8SXk/P~I|fqH[G*  dp]˄hArs~rÒb{w-8K8X_wgmV_x??2z2x(9&6_yo1t"8=t~C.&OUL] B26NlUYyY*ˮhvpR8@ .!8$1Oa9}G՟M?ĺ$eǹպցEx+"!j#!s$)ςH<ݿ~$5,Snkx>i{nLY[DVz% %*btSe\:Z˷{:PHi!8p0NͲl*\CΫ-3o L]1/tU%0|epB^(U2NxU,IHJ&'ylKʐ[M֫5Tl.) ~znlX;y0{9L}[+q6ΰ@1!g3[%- ƈ;oW5y3nb!\o tyK bw>`*歫7nbז4ԟ|:Ӯԛpu9K">!Wt|٬eae 3:1+i;o|ЃS#'(u#D{WjCwͲ2f>RGe][fM`uI@p]Qűl%ًS6TEQEbۙpk2 d됈٢t,9/q_XE<1tzն,=?m[RX/DV smZԛ/yp iD]H1a4k_|6?/7{O%g~w/f~ᙢ``U霠[ @elgBYͲ"x}:wQ"faL"2՜E8 146x "qVa#6C@pAF mYj  vZq6ɳmQ+]Q@$"32)Dl4(.pynFVNm:gf}I2ϳ%ѱH$$T886d%L'2I'[z:!CSA&*'Ll~v-]Ulmh@ׅtǽ{DpWoϣmˇˋP7!IW]eUzWeJ$uvѱL1jq~3-mQfI X/R7L*Ή"\HƘ: #N"$`iYwZպC#x"Xn5oeއAa7ʥfkp @-!qs'{GW0Tnk_kˉu3{< ޿n6Y*S]Y2MDdE9߶i䃵5֬Pw՜;g4nq(q ^&JU)ۦX~ E7ȏxZFZ+@ \lǓۍƯoEwb[GFXu[+ = m]T~ ">}.I`ɭ0Fv ഩ%w9x[8:xQ !&j6}w4/^,t(jw0ex4c^ @2p8<4몔M.UeH)`"QO<b ƵX2,ZTolm2DW2?lu6m/5fiW8ͥhV١nuIT:6B s꼖!fI2zT,BQea(o~2l*rAd[(eE*$qhHq]kن80B/J=mݞTw״v{/v[Uu%(2 18R=x{`3N/ngL]5*򨸆ܜ="VÍW?\ٕ?pS.-38O7L]OQN'^EV ~2WuqySh\?@lYխ8!Nb Bygu|cT<.WVi04MEt 4Zm'$$K1Y 2{g_d 7:""gqU[q]?llGAh!tjwou{;=K(i/pa?ɳ1f{x 0H3Q-((:'EvV1.{R8`(jZ8t(dqxۯ\f[*9ܛvOK~_?FMI_9he.t[mu7׺KD EO݊3xo/Ov#LtΖg-l>WCwǺ&Mpk?7T <\kj3$o~6]kvP6}┻a`h`ҡ6kI̸YLr֥0p|W~?I۹!_tołUE%X8lx Z Un^/k(&in6vibR'},Ӳ]S-XD"N+./ $cʴ&*Ţc]1؛8ڂ4'p0,6ئX<ɷ'|1mz`|w0Hpw>c;io7#sسb:<[RcuPIvbWC8*/wf]m'e[ =oVR\cL'"ݮ??LTԸ7ss<FRc^Yĩ̢^nkK+8 g]5!ϲYA^6^Ù5Vnkng6֫^,!պ3GI03s$^()25Ĭ Vu >/..OT3z &x8mXY)lGU_\r;ONl."%8Qۈ#8&H'ol32O]E";Z;FObз?_h>1??s/~ޗ$:~xlΦ<Q_%sf~7"&cQǞ4 #cjVV1.Fղ̝uM͊~68$=H_ ZlNFD&H' w"8O|-0کꌮaO$*?" _+tʆۑgmX>~c7),!7Jy[|<p;M@IFY@t|ڲNc|KoJsUS8O> *sQܹݯvhOiQ]8&@H\4-}bktIԏ$"gnnomlmYaInF j]rMJzsF^[lic5mA!8ƆZ݂'RG8/dHz]Hy2"\2N7 ]j$q]Z>_G҄ƥ ^B_Ru$6(pރ1v; !<6EUP `:$NdQtۯsG9^ĝmf{g&Q΅ K"Eei6kUDx;{9ӂ^ khY|"=W/>5P=z3 "efK^SmMPh, 1N__44^>Ț"Z1pUD~ecmc XCB±Rl68<˺ap؋ڶi/nqF R:M.ԫUg[U•߼-/|2Hzht RuJ&m:{bՌ⩒(Mj(Yl{;'D*O$! K!Δ^hؤ a @q/ZfioLJy"6zY15eQqzN{{Ixܻ(Cݶ&qnI̹Χd}G^궴Ggǂ8mQ61`68DI!;ؿ9v&7Yz{Q9CpuYqۄ+2ׯ? W|fo_ f>{wZnJpէ(x/?^FdL`WI"roهˢO6A;HfLd,u_d|zKF e9K~쪜ZO2uL%kZRoZW >9ນumUh'PGԻz9Ugޑ Dqp[E=s\:d4*VLrqNr7L O4vqlX(+^oLO\V}H EcH*7`mH;ڢLW=}X?/oU~wۊf}ͭXJ6j 97P$tVݯf(z]肭.O}/􏏾ƽnu?j;M-uPwh`W7cJyh5k]+:Ϲ lcj@pgKӓR*[7+8=}pԵhyi  ~olw-Fr9bL4eNd]H ۯ<26O?{*Lze0aTܑGh,ΈS'aIY_%1'AqVsUڨC8KumHs,ɒ0/lEKjYXApҮ(mh6R M2Lcvum]-k*.;\*1u€+[u"(=vIP۶rVDI%7#۫uU4xUm5uL4i؜ MgYGɦ޺bYO=*JόoבP,sl0MriTۃk>";ﺍA# 9}Nt[@NH1F`_61.vuA CtuQ{Bo_sL5[7\ovk!"ɂ^}`UÝ?ȸΟE5|Ϗ??kO;SIgYLyEm+COU;LưvzEXǥAo/EB}`j۴~B_ƤjmU=SEgs#L'_^E4h'utf~?]^^lx,=EwN3ˆ$ {N('fE*Cׄm }~Xd<<-*m\("8֓F!,K{3, s?\^'d$&|10|7n?;C5S>b_{#1PgNV݅=.v;ļ.Y a'ɰ."#oҸ rr|!)xb"ئY$PԇӠNۘ Cl6QcyQ+'Ce6E1I cqm'ђChs07,}[zmJX[k-OMd./HH[\cC"d AӼsl5ԋ 'd]JkAzxu/]ޘ#V.+6KٞRs 00qܴ\EQGqZF下U֮W:J <2ԡy خՏб,W瑄B>@S=1 &#&@~G: gt]${͍1='ڎ+_C<lWi$m+nZ6I'o{3n|kM&333 > ܔ0Gp.tz/~>R2Vdr`:c6-ژ!iƴ ?ԁ:F޷qϫ,!M>\<tx8[^vtvxCQ /V竢Hy7qT#u'Xj)}b|_U[1"&Bs뫢`,c$d82%ZKBw4~3^$r`a(Ok_,>r)6D izw xٶ5;^[;jO\lY.7^5ȐvѸ. z6_yoărW?{T˗ˢпL, Pk/0|3Pms `ϲ=N=ȼ?0W#Q 0Z.um^q$z)յCB<! DM)TTd=Gbv$=|~?hEs0_jr2G-yɻ7Ef6Nz1朄`+]0Eq b['4<(bdDs!< bU8 K8${Xęȓv!qpf]`/6u5fָ1 \$IBi=up6 1׮ԨrdhOmh|(({m m@mv& 4XOV:(HX:z]4M-b0"튻>ԫzL+O,s =B6;Y~5EvKFDG3};|!F6\g୵cli{*-f@z{emyzH?j}+8.BpCJ'N;zcķ1~Go3[WQa80m$R9hRkE1 \c;6uI+rV.f] F?_C*t$|[h$3]u8N'ߜo^&N3{'喑d׎(ֶZr4f6]] Uz*c.z1Lygpgnݲ56dIh_U\^NG.WVƕk/f&0j<>x}٠BbXW>mxD2ubKڔ@1Ĕ2 ?{΢tzq uX{a~]/_/zX:Vf7wl˅$@p3`Z߹鏧,p~ݮYlܞNK=I‘ AQО.;pu^`ua|srYЏhgw"(in 0-9Ỿ?K|'&Ѡ%]V[R'',x@W] H "Ll{&!N  >hg۸z'Be+=v%k gAIAƳ,O8y"Lw2 z6v{\"'@]ܟZg ?O|3vM#wXPAΚT Rm8u @ee5bY!{o{ kŦomGA˚*V\:e,uyҵ[O,[8!BLDuixgLk2DqЎ@z1PAW%ǩ&JoP?3yǷmfJוyDہbf>:]{ L]nYd8h)p T`Wu{[dSXy[ճ|쵹n[oK|MӅkiF!ȇj#Rʒ%΃q"1.zkEj]vD'C[&y0"NeJU{|eo6F|b'a}vrfd_E ޔtfuIQb*"ʽ'oty ].enG`JǫbtM/{olkzw {< ܱՃj&Krdv'*`T( S(\T*qbWb;$[,eZ=޾}ŇPp?w]z~N4om[pN梫 kv#n_cSՒd9H3%kA G3_;k"ֳ>chzK[z9<進xp0~Vo:)esYe~ 9LT&l)k{|c8Ǫye֋E%Tm;,ra?fG&ؿUU uzB?fzUuV$N?bRá5ϗi5! Z gYgכ g’_tEQ^i=cޜaM YneL[ص`J]@b)UqɃ(M;LWnNrGFr\!.9ы#.GNCshF@cs"K*B2Gݮsr5mm{sG{^&# kf7>pWCa,v/Kjt CΌ5۱.!s֐Sͽ z%{cnj Y.8Jl,V5k0~IEvlBp׿: HBh_" VcIZ z&V+dIۘ*q e&9u3{pibSWF0iuxCm:KBRHFe5q::k{Ug]A1Y7vԶ4Y0`EvM@t<8~/GGJMq)s nV _׼E^@$.`FGwsfmA n@c̃=\u'wLmIm hsm M dт|.5@`Q(L^6bËX=|'o-U>r6܀8iCjZ=/,\SgCm@Sc:"a$˄Q˦]H0bNu? ;|UE^}2j_+~ԣcxƋ͢8r*b ܚrM8c0Ս*nJΒ2*@Ӗ3CJ=oP"m_^mk,*_JS+ |+Jq^"^Ԧqxs>LDԕn* ?4,_ͻf8y HQP0Ɲ#D`oM%Z%;"cxlCN_[9Mz AW7]-2؅fGG,5 WN!wE\ G檔aώ -GgW¾B8Bb5"aA3Ɯ#k-ZG6#Q ˋZQSW٭O-齳7Ɠ8 S5sjO7m 2?F֫< $㒱fC!A89:uՆls7~0.8ȒVHݺtB8,VU[L-G! =x0p.hl@r.7Z zȝ6~3nFKtzѲU3A>_Z)TUG9X0ZPp{=4%2/ Jd*<~`؝qq([V IDATOi\7oo~؋ɴ#A]9N1Ɣ2ǩ7]Fa_ky>덨|W{̮pp8 Q,}U;֭q᭬7ښi!zv2o*\r.7φ{_/@?8n:Dz t`MZlښFi XE0osq^"4U45Ul]wec"=:C%2FuX`=?b_~#|mLo^k?'+GME`F~ RKTD^VFU-pm`b~'Xx8>:em?^Y~:8Rr `bdk %('=u`!̶["곟^F/~dv4:'c~yei/N˦KF V-E;բ&d*^-zdʵji5i#|ԦrDmЪP8vڀAv 1 un/= ڲ3%C7T*<<ʳ`'e Fb9+YuWO~jot:FWms(rsHkj  $c~z>[ i?CRS~!o`Iy=68Zxq΅ )c1 yTYGQ{#mEMZaY[d|#;G>ߺw᷊a 9;n&_V}1tJ02- %%3ȘeÝ:Vlp̲- Yh9~Kh|a1c[eZwIR``v[Gn7yF"ݶ/;r YkE@ۻ 3Đ)qs!i^B$,+v9<^}MܓZ"Jr:8/M?3^/6M{|,3zbm/C6\gqIt>Gڷ bY4`iA\K]߄v5<2$nf[z>y`gd}{ 2w210c{ZTť<⣛:['$K \*l[5ǃ[ܘ4n,Cɣ=yE>[φ]oVy)*q&Eun5 S5:};Jϟ?g_}Opӟ~/w?>Ho m~˲s|Q&/9 AX'CeV:>vukqDPŽ"Y)D-7!\,3v~0 CܒMH *L""ۮsfg:E#Vo͟rlzHʬYu/}.SW4,-ׅ"9|O%h/ rlGZmy8 p[18s\u*xuq-9\AyQ& G[z{˕vW<$lkw"V 75b:DMڽ}AFPpFdfː9YkAĄ78|mW( ǾŇ~/_ޏ?yw[]t] dQU?J_"8޻q^t*;wi-buյjttY-A>H_."rV[csr.e}tj6e~T EvÐD>`1?8bRy'W&eT=GJ+uYvdoei`);2a BߑY̌Xm˲WJWNh! 4>+r-?o Y|dK|>#2""2C$@$'pNlo#1hŝa#h|*?ͿDz];B rv':{eyzܭZO%~/bZ4;oZuV|_%# R kVAc8#[Xe8.'A:z!:H!y5|gYLIbzҔK_&CyLZ pI@-ʕya{"bX&d+?y-K [fiY+LxaMu. 8ɄG@k5qZVefC)њ}hywno'8|%1g`|0 IxrUhv2 u@oPNPp\]^3 -P|p ƙ<Xչ ^OZ|Yy vO}GBh~mPe/9;?ӊzCؠqś䧞wHv}9}9b?:޴u|n2PkM [[hU^$QN;k|-vmwhrֿ>/\{\j(ヱ*C9ow5wKu]ר. <%mQJ/<]oi_mj$)B6*mľ{ǏƕżQf6{ Bִ:owT{X†"m^.s?#',^[TlYSQ$ c,KRϼ?2E"fLF|f6g?RG7qvms &C"= %!9{eꥷ :2c)own NiwunO BM%Hĕ+t#g رv[fɽ˼Up;zخ+;9Yȴ\xs"HY_|矌n>, ;ݨx` km], .U-0Iq'~'?V|oܽK}FڹB e;C+)kK*_) <-y8"hFt+k=XtH7y(rZIW,`rFA54w8󒢙FTu9VݻϬD]vڣnnݍOwuE\_\<[d4Mkz&~PֻLMJ87gS`E87SG>ޞls+MW8=ȱ^:Q_k" ұ/^{4Y@R;͈Sސ~?_u/ 7E'YJ MTKլ2q|ق{,ڌ4iя @~ y?VDlhs.{)21Dbq . }B|lzWv|ۢCD O&6M 'v{m o{鯨WI]Z|얝 1b %&D܁ q[ηO;#)l;238[%˄$ADdN,Zp[G_zE>o.Ec٬şΗR4Q?8\Zy>_'cm}]nL t9HFqۿ5{޸wg3} 6{>q1[@-;] %2 8I5{>g~rwWټ{ӹǬF4vٖ";%%ͦdRLȉVQQߚqFJIE뚸nʮ{8[iCO65ݪ3tzQC?誙&rx:D^B7M+녴()iCEtIE-֤kŚنA zQ:{݉~/_w=UYrɈy#ؗ"rtI? EDgb5g7or|~z덓Ak1UwF ҡ75-7&msV"s@5Ƹݻ8{?{߶-I?Ƴ[bl} `=%4KI+T1'%|[wuh:Bv ,cpӎ WNWuWr.N |{JVwdp{`qk|81~[GCՖni+_ R}rGĐ EdW{A!sAȕ%qQ^ n鵏^o}>cMSnIǡx~d|=. D ÐAvtNezûgUu?N*o\<ʬ]Z9Q IDATr׉4S^*j%&Tֵi5޺D.bV([ffv]/pNdy.2, z0Len|`,M7iߙrx~oENLJҦQ4# iaSYso6lѠt @%fꎯ@'Zܜ}4{xZ F T 7 Z?K(R ta "ouGrv݆e2A弽xdU3,H[n^4|WJ(KC'c2o%^62)= v}o{jbWp4w]9"8c.Bh7uunic2TvN\],5ء+nI9wׂ@t-9rqtğLb7޾$zUrv̆15QpȋW流 |#fok:sdxtvU6d xP״4/OYH(|k" Y5*Hak.`tG ng&벶R.=i##pY%7e )x z"u}-ZG~8nܮ3ku)[{f[Ϋz9YnEKtz!l*֖X*[ÜQ耙1t6$z'|i+U^`V_JUˎG] $D*d0 *kG W# E?@ XlLgu,u`{d|{į=>S,6~eKM=uϵO.oϿx0-JH|?ngw^tݛKDe泟~3Ӽ|~#lH[po`z5O ,x)GGks3p]TЏrhEB=(5gT~?jvPu7pݢKL?egs̕e^u21AE:F1xTsæ}"LFI?4y9/ʬ*%UJ n fMƋ@#llZnhMh56,4X 1ƚU_n3/KLַXrs߯յu4M w68G9 $^6 k2I8W/lg|^i^ )K_3a?{g Ӳ?8lTjܿ_Қy&HyReLJ]ri=5&)EAjYhi+8us٢ ju@ @KI kӬK!U6ϖ~ʥCb-h73R'!<wOզ*2)QUAC|-fE<2l1s~ٗ>{)W'^FC'YPUM$Ynz]PSZ!F@F a@KQHQF<۬0"枾:$Z>MzL&%uBEVT6#E<'<4 hpÁ>Oq+DkZ))KD  %*-5)Hk@DTRks ےBb:-Mv2gh#k͢A?v;?J +wݗҗ[̽>eWu.^s>@Sðf{),fÑҾW•+_N.s7IFlwMY^Jqc8RJwǵJ=ao͓}-.@X8oZI1iTaDeNʹB*;=ST-Gb2KHIZSk (dYQh:a QIz@u O~Qe 0[)ȹd(2RCňP{0*\U 3EXն.u_\}y!J]VuC#˄ xq/AEqQ:2be(jEwy!2ЧR1j3`("}?!EV,hMb*&kYQv Pnj\{_CTR:>3IVy:coc^bFT iDk[&P2AQB4tu&ܥl7 ] dEU[B-U} BRMs}Rk$ >s^G\}&6j%(65j j0J!!͍^H@V18J) Qk!MDHJP% FU-)#!Dex! %GEZUɲ,e]eN>꘎w l͗>z~k5o sыm߸EFm(3Q1Q…'󫛏:N,WBV^8Wi!lskEd\X.uRU]shI@ 0t I}x@ɀ^)4CVybݴH~=5?oL-tZ'g}vDb5ѺO,D;Ǔe6w6M!qWz7}|RÍi;DN'NW lbFxwoj_-6wzہc}[tNՆ*mj jXizŻR&mG?X޼ٍjczㄞdFS|cWL'Kjؗ#꨿FPlGFR^_il9y jE~g>cWO\fNN&T9QAdTQT{iA#U嶿{xAi`QG'KiYaklv6igY([TGe0ϔ:^89o?w|)/U!\+)%ĮmuU[^XWaq4~#R|x[k?k_>ǾhumX9TYoԠ $;2<{كKXR[p%}mA>h>Bjۛi4 zD^[[^G%;-meNZvviy֢&Dv*K]$vrV\$Zʓgely KZlb9A՝FFkE“El2xbN8Ŀ:ܾ\H݃pIg@][ֱEygh瑫--~u!=:-X獢ұۼ#.?ԓn0cx"ښ'f/%Ƒ\P]a!dvX[{Tb/ r#Sito;%B2,f&^w:-yHFiQ{3pcܟAץ v[WJn^h c"-rm*$t(Neo)>^\͊#q蔜R(Pp$R%Zu9Ȧ#7& JWRURտ.Xcl(jYRɩm.)-G*QO'N3K똖?{fZ6%T3[hFϜ:j) o.*E\E2'=++~w Y.YuּkCο2@kZ!ֿv 5$U~4)k45f`K_UM&I NR F@l""8GНCsDl7Y@4!V3"U B !4&DM niu/R8^.1dPI*u5'?c[è_LN6[$f[q-DK nXSzEQԒ'p|L';&Nd<^YlU߯o*Ha ׆#/1[hrqG5`Sdd=Gn&ɍsҭ,0H8{W\[KLdM?|卷 /^ydž7k^2ha,}O2O/.)ɩB#n];8|b!u_'E/ѾLz1{'x IDAT6L+!NsZ;qbj#/?K V^} ">>8g9=3"?@w2.o 7xtiz}Nd_/etV%X1v>Z]iIsϏLXwʰGL'Mir:)~/»[>d3So7~ճ֏Fկ=zf.*;?/@Ϝafov~2:mqb_J˸/>#>mK߶<뽒͖k[i%ޙd}DG7[kkuYcIL ө)4~ v QxWE֟0K~9o耍LZ$)Kuf @߅NE TKs7t%oxacwjY+$$ 6N_P-H Jn%s#`cQI(EРJu&VJ"!Z+qR5`p=XiWElڡGKAx!(/OS5}d" ??wt9Q=`CGiax8$xv5cq<.^~,Di( a.2o^]N.}('(O~6sM,eVH8eM7Nۗin6s2 q'7BݙPogr>ڕ#'Gw{4sjӄ;O֩'{돒u_̣-_m>4?|? K7!ID`㇛ta<ۖ 8q%i]BOѬ80ȇ;Cu/aqgQbqlo,s[?"AZdhk_afAJgبXƌZZfʷbd{aYlbI!1magx~8~p]&7ae1MӵaIVd' Z$x[n-~nM.zԿMs3>k6y~(lZ&ٖ5QeKqUTCֶBVYmQ%}],Gz_{Su aP~DJ>oI:43^W|"b+oyZGcKa G5ˑ򑖩M:jom/#3{cm~o~zȻnuFLDJAXˢ?vZf:>ke((/[vg~c-#"4*:(`Ef(uv/&`ץn,xLo~ 5Zqܷi֟$ҀJH 55UG4샐VՊ R"(8F@H 6:VDz,:h-ҷ{I6=EkMUapu}on,i䓽36 R~H xkǙ&0ۯK*f/N|Ak웰bȔyP`ĘW/2ŌӺ0(2Id,]I Afǝ&,k9)QT\RrB()18"xT/-jԋG(,KW[QՔ)7< ["臣lu 3C4/uctvnj^IeBӼƪWU 3fQ/ӵQ%Rb'X!WNkMPľB#|mCl*_AhԨ@!!Dn@PѨuWW'Ps/i,1 CU6RD#Q70jLi#1 n4{L੍o?M'i}Pş} |xt7R$e⥣h`vnO{/M3=/õKWu_T7Yl[G8ݣTXg'W/>.DbD=g3'yq:O4s?arL qlW F:'î㊸*~IyfۻQ+5ڝMiEغ;?ktZ|ty^Tӳ0.9V] 7Il^DE\ʓ,x|?|+f=axRΨ΢-x~ZqF@ZY\-:"7WNǎ;7w6g1]u2oȂ_W-o9;A,7h4ho8n6m͜>IhhMN=&ёqM[w۽*+|?<|!&tGA@D+jک'dQst\B6[Y6ĴQUZR; .fB)QsBNŒ|,eUCY /2FJazfehÖwss긆uX&QMRO_S'Vb ! 7eY Ggg>GтjRrG\O=O}me}]y۽vȉǺӿg',|G{ZZv'K&I]Zx̎2&;u\XU$|pF>ݶIaֺBYǚ_uX5v7e@I)A ڿ޹A [j TZp!xԜ+(*ADE4jiQE=mTN 7_zV+|0~Mew?Y<7u٣b7'|!ݻoUyrpqA<pB?<jvfE;ٯtŗli-$`!:U4*sZ}p`}FN/Y áA\e e5jl4F\Nmʴdirϴ7"v1/VgBXQG-YPpݺ?m\={ݗO].lպrIupnҽLΊ RlQU(?hWf`{qo}BvRk/&ͥb̅ y$hB# 6A]E޾_`Qd-8gEmZ˲^LIWKg?oy/AO-y'zd|]( I˪E$Ml;}Kg˂\Ӫ=j.jpԂӼ.2-ark;ݝeo`$5 DJRu262G ^9ehDƔRs0B֌1sALV+֍ҠA"Uak +ڪ-$)6b jɑμ7iX o y à^ihn߫ +2V!@UJ?\+c+Ϻln|ZAde$z(jt5fJU'KBVRbZTRDB=7L w^ j2ZjhqtG">3dGK7"%{p=]N]q pƼӳYg>=vڶѰl3l y$sJ|WgsFA7Q[nU^_Yē^tҪg(E;l;c\Β(d=2qBn̓MD^ qr^<̗HS1;wwd`VG,=zt[9$hdCɐXMlz:. [~)14NhQϲȷ“$p^|ks3z.Y&î-LJY޷_A}N*wa,C狈4քX2/%jyde!M)Icj3DbnsY~O& ՙI˔TkS@ < +Ye֥bqV6(JKUy bB`$V/=DCeveL$ ):>2ɢNSI%w-9$}/ךEf.c[KHeX2;~ 7V܏ލ'_o7vَt.Q̅S4yQ7NV"'V\"[̒G؎ݧL(u}_흔,,R,w2; wף`Z+)8AUYʔTR45!)yg^e<+uj >omV' 7on3EXyAR~88~ḢW}͠j?he:W諑*J9On BJ+DAP@Q %s:M4X`8-lԪϖ?=?)~7q-jQCEK-mJ O!knludM.LY^;`k;I1[ȝC$D0RB@p?>xdgo^1B $ɲlI*HnRZfQ˦FEɴ,Whצ*),k.! 0+edљ?NraFQ-K]{6+$w\ϖ@+l[L Mg/vhY9.eYTsQ2Аd9W% _,I\TZZ֌ye˭7'f)dRo'% ,ZDH9 ۢ!QܠmzyV̲z1ck>A*-x̐1ԉp"J+L GԥBejEh3-3а,7kut{=t}8a{-7XZچ2zmvq;[ξݭn-]]=K 30 0LU lECl!am"Y;""[B1a zz0aYk=-qAJD~F*{ginE;Jmλ]2j_gsKVQ[U~ƢReqn˱ L:85K2w/s>V4¢st 9Dhz#2zsY;VTwY PwK}!+A΂\j U  eEX!l0&B0"$HTZ#!%IB5&})%@*Iׄq!Moiu&9emtg 9Xzkg\׍X}qrCף[R㙒p}G\~Y LH1®eDe۬Q]Y>pdYF5d<=B<˥ha0zC72ӡRҖ?:yڼx;oMB" $E텛bB)&AYYJ5=|0F"BX*@ 6dyfv]ؼSLɤMƽHa"1&ӊ/~*Q9"hZ(5Kih%& +R~GN,#Pݮrn+Q}9.L~'%(@,TR{QN6)ͣ.Kyo<ԏLT ؽSDH¨Ps((k"yj QY[#LZDkXR )EpX-P`9UIJ 3_s wáBNt>F1 T۞yzyغMOQ?j3NRlJOռ4~0l{'lR(+ r<iR,sv@m~L :AE+`)-!Ksp^u퍭!60f{kP횒-./vP#6/[`BYĴy؎S3<=oK㽟F?Ǻ_+K4ƙ2\2FC6}\Ɍ:)>!:7]aa3-[9+MiW/bdֲVwM{I(Rs 12DٺiEIJh g/ѺKh4(-Xz:ds|wseb ڭ{)*I  ˣP,v BxD=s@HhZo }.8hi{pw/'R-%3a"~(1/r-Dae|m1*}qUv]ĊHPB +DBJ#EuaY&[WH0RɛB"Ίb<~j/s"GQpu-W+Mq:Md]kD'G]4d9%P4Gec"X5j'K+ Γ<_awwF{ q*5@T!`A*늢 L´b'iqTVidJ ͍DUJU1ĖhڋX _B?zً}]:L+%0`% ,Ysvpʍw_ G`Db0bꫂ2R&i˫]9=k]:QOGMdA0 FgRV)1Sz=UѓdFy`]<6`Qhj\"*ĄS&dodŊ&3KzHQRCBLXkz}qʉ#sL۲2呢k,o1nOŪcjqTPHM#g(gi%ҨíW%X0TێaK ̋Nhky I0(i. vn(rfKg#Y) £ō,-G Q]j-I1{۽F]g2E)isY ~J";3 e0Q:*6$Ѭ;L,&˱xENj1$%Z ,oҸ,wf%]'vZ/G?jjَmr`<ػ1@M^cQ E[GZ9 6 ihLEQs5[-%I2.9d{=ն1n4⋪HiUj/UWm՚y./>5$W`457- /%vC&XͶR wqtjfSf^DaXԸ6=EUl\߸Bf0IR]%-ks۽f%#]̩iU/ u Tm.+H;NSD9R`;c15iքPA+'WJکc0.1! FBHH@1ɤI)Ĉ1R0 pQb`Lfm*1.܍~?uşd?q48*o^i^)Fv;:v˱+Q ENz=fk9A lqm~;a; G50/!ܠXUQ!S*I*JWms[!@bb*0 B2!vhǩKIJqX1q˸?>d}h$KFk?Љk:QDR(0ڊ*[SG Rpv_ӜӵGeݜCh#FcnmHsOٙ%I\M2/*d֊,evKI)4w ^zql)JHNsC(ᖊq-(9 漩005`g;O#ՖD׋$ -Vp2j~^_HT8]8YLA˳J04R0Xl.Nwdzܸt"וAR@aȁ<7HOpd9N3iʰP+tGŕ_ԄL,.CZE5r}1JF \FhvK(#ݏٱ%:^:gs/J]"HFW;Ĭ<Ҍʌ*Ys.ʬDp9 L$:~ok[ϾKBluwB'?6?xyk^_Xg}ߡ<>sT\ґy%oӿ,n{_~▏ռ2c~/kIw|ȯ߃n7!{7}_7P̍seymF>1!噵5@cL:cgN&7R=F6$*{ a9amLuVW\ϭFgTQ"~#V t) r?sfhccCJv26Ο3Zt~ccm>9 ؁u$ٵmll&m66659@hi??( 8: V׮96`ՠЙ5R"@ll<VV+ بU)enyV9`c#ؙ|Þq6an]}Ͼ'ngg_ݺElE}_k0'֗]W1͛ں[X}hGߴ;zy~8w;cِyzۛr!G)>TY>s Ǐ<ܥk0>qvG N}AfI o.n=Z ò(8/6g\w(W~!YCqq.elSe"fR|xJ/31Jj_syG-;8ַKAjij;^:/-?-j-[_ړFt+C\wɓCxwzo~Ͽ{<7?n ?W ?޽??/s:{[vOtojý^KoaC3GS|֡?ۛtW~i[}xyݼw[/}ƒX=T_}f(_]b6qB5A煷AC_96z 'EO=qaQV[޽ôOʿ'>)нW[~_~xuߛ>>YZZ/@ٳaf[yOlIENDB`6~3ynHte>3$%.kO>mMKhǢ&W'k GNoaj)һr~n`6f{q߫*N0/mǻ08p! 2łlQ.{p>/Rq7^.=Op\w]$|Yy ^ ?jkNPH#lh| SDnzJeqo~F<] }{1#Va͜3h=}Ԁ0ūI/ðxJ&fiwV(4i.uQfUI^6$ 71mʧ'b"47!\ `aڨySVcRiTj@G^HT퉠kl+9E]}{} ޜ~NGjiPG'2~ ie|Mٸo\6ybt#"~{q5=&$+@~H44RVt}LVD{XL Ve,6tZ)NUy#9GQpD hHxq}kec*"pT_Xk'ܬDݾQvrH~ܢ㻩{waBaCİIvEO`kˀEFA;?ƻhy4=!|jxPRYIZu |$ki!29a3.@bR+l)WI'y"6)T{fߦ̫:*l ]n[H|<#^U*J'7u)|RoguüHdy v'tQ3эdz)J?ȴo)ק 9ȥYpAw“DK"4-u"xh"ˡq4Z5PMbIၰ9+ MD%ARHnnUh!pPfWܨޭ8/唉?wD 0NhcsWiv}t N\y=t$̻Mk[(\()$WizZk~~&\=+SZEփ|B2iܱ_ܢ'e[aQ-Qb?=| %<51IqQm9-ŎP1PIe-FʬQ$Cbbߺ=W(𓐔wKPe$q_جuo㍶ |Kh L~QJl)RίF}Ԛ6}L%3>Uk冐T@D;Ip7+u<;ptL[B:`o_c<5'ţqaHǟn6"Q9QfCa<?ɬ`$wo \qec\n)!S`:EpIQk"{4"}e$]ZHN~sw1LRIC^ [S=HwJeKYm8˥@OvXLgcNmLWѫK17qB >v%a3AB/,0\R:Vx} Β{맽eތxDvE;B5@CcƯn>>Fנּp }6| 7:J:$!}R8<Ɗ:zbzWy( R^.teDZ:m/tnokG# 3IxS DI?3?_߭*^8 8N":[ued=DEĥMS u!jau:,&M^+A6C3>f^ !5In9[K Lu>J%A=>kG A_nxMM?cRUyB)GpÞ~'@58/v2ϣyBO_&#FpC]e+;HɆR,]oǰ H LU<+Fwr䎛7#mɥHYrզսvdf&f [iƍVdMἔBA11_b?2ee.H A FJz/F!c!/. O%6m֣a)i1C6/&/{ &`,/pJ?W7yrMzN>Ct߃~4E*$/̅PP%2%mR"BX:hf&`qMV"q IbnS_H+_!`!B!k:i5uWx*N6xt"[wp%E7&"+~bC]}#d bjVWXBZ1 }֎cI%- gG<њY7~]DVI0 RB3 Cc8e롇M'x~|Vp75[6~կ {̷]5w'{R)҇Ќa~Z#0~G[J;Vs.(o%Pؾ 㕓咗OWV#cewa(0E-MWhӔ jDEq.Q蟃n"#9_7Fn?aAmLih{8WK6U(҈8uB8"ػHDo+t?TxصGFk#(ԞZ~ѵ2Tg1] l S4:!AKoG8FP,]hTz=CPir/Jg|[twc000_~1Pu`% !3{=JS(\G'7ӯ46:3 wMl?+6i+$ؒJl_<*5#.Dg0Zt}PMւo޵9Wz9:όn%u]=4,XIF*\,WpB)#zhWJ1.Ftc`xA *{Et/E1/3.VZRYB"|LdzuQ[/'TΓd6ק+8\2ГvJ`2jWcbVHwmjb&z@cU5}ol#Ga{G#RC*n)kj%҅3DmsܓH>Ko SHsI]0M({uNǞE(xR)l7\gߑPV F4$ _W0&.y.FW$ fb&31! GӔJ986DCS>CᜢSʣg2_Q# m>`ٳ~tGdd )9ρ h%-^y^.A@ |))i$By[-m+VǏp^7@k?g?-b&b>KtB^QGvҤ3U*=H6pLCHuҕĀ y$.4D7)R +x|8,S,`[2I; ?Q}Э$k9^*6 @?,Wjfܨ`]H%3ֳh).){|)4^+ƆJV1i)ƱMK&QIRI$_iO[ Hx>n/ z-\ o#IBT^g\V* jJ1fҌyE(- `r5If ;NAZSPMk% @UY k7݂pZ8 lU_(hfD$cu-'~uAQ.c0xs#Z'^``ȞhMDv2d$4?#dk1.T ?&ؠe>C@ d!:İx}ƶע(sȷJr:E[ g \HR =ma'>xʬ+Fp$ cW18|eRxNb@_pCJ2co$MG ֖k PuEǩn'g^d qrzo=dWwĺ)J@Y.bseăqd:Zg32 ͪ h#FM{?9Xf-VYke[mNoD]y7"5m^Pcf ?3<{;ݻ)ȓlm+}lmD~vk .j3q &5o(W= vFΝp(jV5@\n \%K! /L]߅ejzanzp@,UUxF6]Ltո ~S1^^?J^ 8J`dL_1!*>b|^Pa #GO:;J5L&=É;9 r%K <]iϐ}(-~l| Z>]U"LYE[8J$>gLa*b_ݑ#|Qg@8~YdM2;ͣd d^1)*̚c7mw~OW@&]d׳^.tE>a&5) 5U~=,89nƀ@vcNzA4sNJĈ$uVCXYwgj8;N?_u4{'5e]6YNnr?͌ʳo)T"X {R]_x"6A wKCnoNv1 *=ة:~.d"i\-D0jI!2{-wՌHIzrL-85@I +QK^N߿]޺YwrJp vlis 2Y%>k~6~"A #(_` `WULngIJ4UŏXƂEhҝ;&jWr?+౞XE{pFXm,|7M;b1t; E6dֶF.ݷCy a=R &Px1تzZidh^u;7kqvy# d`qVފyFzaV'x)>}mCM|Sٞ4O|{aՖo4qG6>!2MĞR dJg?7H`ApВ jZg*ݠujzX )7P&aJWFAIz{zl΅<]#mu;_~@(ot7M/,ffrrMC?Mwӌ{VAc覷*kPJ\ronϢ:}C莒e]Ys\zE#"'T6c:r=:Ⱥ Ya jFa*Wv܆=?E⤧B [vi(_58_b詜0gv # [`vŭQ_–3&>rxw }6\1$wYe`=` uy݃naao5RMfsK';3PSkT?~|ZjE^.'⸼~;ʲRS/2p+U2rcIl}rKcew}SHy|X,l9+VnB\hFUŧ~;3abJ&m'z ?{ I-Qt MD?6$}pا|424쬘%1I)|MBAXX]}%'UxA3قPYbѮ=SUa ȅXvC鎞FEcˇ O6M s]pʵ*׿m)ջ;]fmuH P֟0q W"ñp"#RW=HEѧE*@f79uFEuр"5<Ϻ2`qs_ş=vFjtL='og6ڄw(fbY6)%N]w :ܯ=Xx\pi/A6!r=ݪ%Gu؊oJOR,sS|nhEcֶc \Cz:1:=%y>Y Q x4B8탫Mghpúr)}%"$YmQ/e3fB=S?#؈=Tc<'OGQiyf{wuc]*FGG `zfiMQ<Δ[4MUqDW%vJ \+¢{iݹe>T~L}q;P_˒bĩ 6Sb?:]% n['đWDžkkz9Ibn= YAO=i={2Tm{Uު-4bڄb'Uqki **dYX?wۯ+[0]:@Rk;PrɃZ:%(4B^C_8^ $^4 sIPNʜ ӟRۀ h]p=XםSŲBi՜_i lh[Gr^ھ zg/ˈSbQ ZnO5戶*npƛ P=84_|xka ^}(E43p ^F'J59I\aj UlfNd |oLD-9!Q֊TͼO[A=7ݼ>@G6FӍz5\b'gh1R o>{?@͛35]t8Me4 "R3~v i @7Kd{ M]!f=Xc43v?vB:>Iɿ$gp5 20M-nՈ՟afӃe`JO֤G|!6ښ X) M/ !X]GOE_\I3Jm@_!d<w;ߜқNeC{5 PMd< /"M1؈ l>y{{xE z&HUa0"Y~X`M,<xU`!laƴ.+^zm&}wȡ[共71oY_A0+ Mu5A.$ۑ#*?&/Ž/"v0M+q8gV+N 8{Fm55U܀gmH+6M@e\O"{֘:9ջ.gb$B؟+%!mD@vEKYg%bُ$bϿ ?; ~P'p:Īf4a`#P7+6=*& /A&GEU¢i) >ЩZ'x:. cʼnJbIL/oQ*aKB@ԆT@U}Su-ùK'ߧ{j[fduEsU<<8@?Vԁo8汙:swcnŹF ;KQStώ-v ?r3B} O'^7ϔ:!p9h_isގ&Hklٯ˦t1ᯫA̋f91@[?J o6-w!D ]⤄L TnGwx.~Q# KkB]*:JҙuwE(P plqI"Y:tXt.C i0"O A܉Ju>/WGP-짘`)K$I-e LkD#ZKDh%2bRS7cLhQ}4Cldz/Ϛ]+SNN=FS?SgƄ7NCɻ޵WGEcwWTY{w#[A@ +RVf*7NDk3_wׁ{=q;"GzTKM+/Lf^cg&ek;Zvb~ %۱w+Q"Eiybnz[| ?py|'wXo^1v`ɸ[ɤVK(W}W/)F+R h8dT+kW1-]%AҎ*SSviIxi,(T83 ٠݇$B$xǴ;ۨ]T#*cU)rL{DSHDOkTo8LBJ!T,.  JDT @˕* /TB S<P㴵OBq~VG0D+&(e9O;#*~- v ;$ I𷋭wr5jV2Ӥ\5ZϵYkwM?w"Yt3J 4Ѥv3#["Պ6tg9bboyз*- W%ɪG&+&|aLEWr뀟d$8(d4Hd⼓CO^p7^vQiw0Ezhj;8Gv+aqWTq>whAT4h-\%{9w|xGERӌuzp=}>x ˆ{b>]GVf$d _5;Q)[yxiy3R8k$ I"249]K(MvDcC_j_cSN؃Jo3-[f[3X9jy| Vng ~}ƴݮ{c{ΟYk*e$x>]3V'~* '.FZ9J)ӨA >e(ox<؞-Gwԙx|}{[N_1I?G+vݗ2Nq֮q0(q/!7p26*DfV>F~tq: ܮy wBnos~s,-z+"K'xFA>6o$(*&FiǴO~Sf| > h \'H–iUXƨKD1iG+ 8ѥ87Hb!hP8m4fBO@ B)o#сAgj8ax=Thcr, mYLf.mrB+Tk CpuI#EyI,]hxR;ZlY.YW9--FDy;n#l0[*{kL#a3Ƥ(KUy 3Q]f6$)yG{bH:yX&s .AW"qAE]qjD$=҂hIBɫW N Q/8fkŚE< AklAv3ͳ5Gm6|ςϊO$&].'`j*iϏN* 8.B^.{=2;Wn3* `nD3RzĄ+SNC!),O=偑AoJqor;i\wrk;d+Ь&Js8g 鬬_.P 0&sEct5k :Viϝ,͘lzg|R :m{L Z=+Ӈ\ ; r}Q({*nTu X>`s-+ֶoϮё.-{mOnq1`7lG;a^3Z"HiDZ#Jr} MP7puYYcJ0M<'6!z0qV7ŕK_B:7틟bLҪ ?G *j+p"N-Ӣ1RY{gp|'ڼ! yH"L|Aoc59sn|G{+?I5ηy&|Pt{^'yRo ȓ3EԁȽGLwCwOGv[}v:ȷ@?nTcBBm!g5S9.9{F#ݦOtƸ/m/|X-ΧtvX+[`}3ǵ %WcyL2"-.\RcNWj@q56r4z7J .\J~"KgTLJ~\t8KԖ#fffffضْ,f13b,ffffY<3{}o#6ή̬'rN2,^z1EC> )=x=N irϢO/+iSW @gKm&0e ՟܏xÛ.o/9m-qVI|K #B1իޜ,ؚWD|gf4 w#Tt9ot$O;7DMT|CTGaӶ<|0W5ҖЩdfQH4ɑO* )2.Ii'Vx_7R0z0|x D14YCM3'*loױ>MOx1zZ*5 !/`O\W,< xyH>/!>͞0"0JaMDt"p"Օ;{xf߬f nic!yrЂ<`R UVOpVNE뽦}|ڇ` |Z>ND *J^tݺ{Vovg:\ߖ4ML )mU u+#LO/v4U #ưP*W5@.疐6AZL9Ϥ,B Үv|sF9E[RmOD؄u4.KE|!ǞNQ**Sp#De&+$>;Wn! 7g'=oj}S:= "Dˁ&o=Jj="MtMw8u,%Z#@2d81+=o:?(X>֔xD.A+b ZC HpL΀x&$6XsW:Sq>ceS2ޭJh\nܲGyqK~ΫSјoJ<Eql]6}ۑ;>CsW(ꮄw:EۓPZ6k (t^K C~v!Zk\uaȆ@2Jxt dU'$H)JI/"PꪫpNskulPԮoeݵ JgZ9cBz4cj  .@A0{4pEP6 Osچ%"<8ceVBT(fڹ $(aɿs@Q6 DʙEOU)0b-Q-֗0oOl|`&rL>?&YjL@diPܢFq Ǿ5}6!dfY' Ge5D\,\"RhĤNW;rzIpG#d>&wVc nl)jC|yryQ\ǒ2BhIuea^=`,3lc%Kp獋sAh03cSEg- >0 f^E~"Gk FXh 3G "jm4] 9^.53j^p hcJj PC(n%1䟄 5c[E: "YH 4xp i{}óUR"Mڙ<235摄,wu o)'IBJ~(,!/w`z(Qp ʡZL$K@`aao>U3.x 1rYwl\AՏ` A|i8]LxX'ŗJ*z,Kߓe3G{?1I8aX銗NJuC99H<^FSL]2yеK]@`7ahŦZ% 'a@IBeb;fgѭ'BE2/]t48Ǩى0"0C|06= !{.wSVmo@C))lڣ1枅.Ug|vt_S{°=A}(b5mg/ ֵIP+$򂥼^m-beRt8]<$+X Y|*H~o^ֽuT k߿q.ҳEN+ըWζ(Ӑ9<Ŧup,19inV6# BHvKOpnq>bri:ƊPeffb,4Bw@X^ dj܈Psc7/18DoknL9(jۢ%N}](je\k7]RK<39AHބLu'PWgZK;uDK2Xti`S{.\/!ai4MOӔޤWǣ&}{jpTQ98 Z" dH5JlRClcl3팫z۱&oEh۔d](5|fd#e!5AV̉?vQ퇈bRc=Dލ^9jE7-4xjgľ:~r&o4~-"^1 wTU5ʛ:b'5 ݮ#qkCvl!!Tj_QKjzE {Ù:Q@&8̟8p?n!)˨gV20O@ٔќOl:<21ƇaD22Ix$:0IL_iu/G$I}~"_txܱQ5B7m}zޏS]ʕ/}BY  Bbt5zj:lj@4nbkrahXF1)߇KIV |#-aT=bٲmXg|iqS[2M:~XGx{Grf59ZvO5~d0fRK[o>_fo ;6(e<^WGyV_ω,΅HGd:׃X[-/90@E&EQGS}FY 1P<۵&߷K~;oP#KAp{ysns:qʰ{&( R܃BnT '!|jPjZD(x L!rrTwD#'d~qyba4s*Et,~?9Lݟzc~fBZP~A<+DeMI'MH.GGue"_d׽=Tp_Rft1iEUtʮ'iJ-":P4Ũq8^+ d*4 `䞟ǼLI𡃜"2_ߟ: }/!ںl)/ҖfFǙo uƋoxdfS$˨e]T3ˆMgtIdR0Zs \Y}'c#SA:_E,["sI`sM||?y(Tj(6TA VUOD*7,n.r|#YXd֌J^zoҿu#2vJ`ts?Z@ڄtk72H9f1&@E׽ǐEO6hG4$ψ%S2nGU5pL@]U=!|pooeL=۫?Cm蕵(vg xI|5Yv=mi*Cw)W&ܒu kjA@R,49tUm< t֍؃Yo3|N*zo-=auB]/qlL,?RB>B~;I^fV H#xIp1_}3 U$*DE~D8x6/1ş> Tnp SdRUnF!"ny2 ogMR~^ 59#ς]jckE${[<=Ko#$%!3x"gcv[bo{03r 5!>v>n:'@Ho߅I[Rcd ;{?@SH? x0 YS)"+9pjiרz]J=~` x4 bXx)W&xqhbB9cc 7Z9xtFs]s\otُtE~"Ca LjWu/DWLGfG9D"^HED&kD<nEQY~2 Vd1pbR`IRZj8n BhI̎Ry:k_tC&2!Q'].u,n:jMSi WȽDbiV'h'Y8eInH&4|Fֆ2F>38ߋ HZ p@( ю(w}425~xlتO&Qw-<#kQY_${C%傾t vDb|Mw F7,,"84gUT|j)Yl*6̥8jU A&آO-Z y6x%[?ˣyd[myÝnAǡhU'޻Ǿ /4ex'X|Pi?2(-cF`"8:5צr5-m {al}*$ Z^Ɇ; i˂bz.kH!#=R?IhY^E @LƊ#ˌ#⤲1m!!m?ňVD' +i*aI9Lz|CXug%@kuP6R ʯ4+zNn/?w8߰CJGqUUbro h,rQXl.tB4 t!~150Ai[H4tZ{2*O_չ2bb|b(Le} pQ;?3ԕzM!LqzyVR8VL%3wNxܘ3gbׅ`af%Ju7H7!W^+=~ ^i,$qrh(;K9]r,s&U&"q4lj\d ʊP22Ր);bwiRpȩh8 aqeHĺQ\͖]V<*x[DBXk$Hu>h{EH ]?fE3uz*mW++ѤVwU$j2f }bl B cVh9kbCj>OΣ8kgo_*KdɷڏQ^F{8JIѓ>z<.N"zxҚDu@?0L0Xp@K$UJSÛHܑ -ǩarwnhs`e>, PY4OʀǟyΙel3 Ak7&"ͬCPXoqH%Nbe-L94֕Q4ݭ7v7ΟRPF$gTKX?xQ uᇕ]V]il㛊zrs"] W8J%ޯGzQan?]5e$Ͼ6|/>utu{mAWapL_KbO09m`G޺GL|0Mgm}# W0]o ~C35߈gҕ;4륓c)XOBF2e s97ocz`SR͵+?o}Mƻ\z<R !p*/Xw90)G"ޏ?s!ډb=޵+~,ζ^/ܹeKD8 Jᓒm7ә+D??fG2d%&^ޫmFmȴ_>7Q٤50]0YQ|/N3uRlcdf3 {eu'{(=LA ALwяf!-mKYz `$/~Jzý .:b&bsB~JBҾR`S?嚘: UrfifLSA} & ]ϻ吻~ZWUyӆH)$O1SG %N4o[I6 6WX;r&~="w\}OjEC r lRFhkJAA ]x4LbcZ`uhc㙘Aϐn H̓a6s.^("pz?@+h`3rh=ш~ź%=88{֬SlIcFDh*N`J ko=FjЃf\;ˆ!n"@2!>k';N@.6& *cPz0R3yGV0:}Y2 +c G1Г6vbC+s䬟`((WwKXp.f.oX+;^]]B"X-S95RʢɡGIEdX+)  PHPww@0q:з4d/$~]&=ȓOf#?bDk3w'%-09Z} r |^ A=׏5T058{p*ͤfBM>x13~Eo΍ϋd0~gS5V#)H)@؀9Lj<ʭ(&VIC\|\<5ʼg _!Nۃhe4,Obաdhlث+o,Q[xr8_r?6h49}"v /2c3 pg_[&ݗ'8- %aʉsoQkb {̝S}t>Y ViE4`ep{:e.Qs5#_HR)_Ѕ޿25) M~t5ⓡ!3ۯfoXw y|^.6jL@*UTuQTS=8 N,[!93kN/.ү}_]OI4涛+sloh;'? ZȺDu!=Ogrrt)КnVnf#P4.- {]_$6#PTŦ>|UWUZKb.$ګǏ9 [ pqpR(GC&a#ƕ뗏Pۅjr7tme(?(2rtM$-QZFJPWSa/>S:?8K`wqŇu S9kݏ_d4eEd~4X/mZ &NPދc!z"@68\S\Hd9O+ʜUZS^fiZ>.uf1! i<$՘*@DMxWQ^ 0;5P<-o@yH si/\J~`[Ӈ|ن樽7t@O@3yM? lQ4noُ[/2$s @*±d*,.T.ִJ@NoNcHZ˜|^FQU-\<*b[N".`L79~{(0$ +O vB<@Ȋ.zR+=O9gg"0`$_]|+J7%XqTBB>I5n^ ~<~_{P/BȒ]Vv+LT sqafUMuV#_Jj=ML<8awڎ~\= {YDg"-3p;suⶎ YO`(Vg噣uiJuUW\_fPn:|4d4O9ag惐4CuBH%}@` m@WQ{?P|ív1]v㞎J:5`ߪ S@P~a;R{ydSJM s&~D0>SGۏWqz+]6syK&(M{&iW/yV_FX|aJ'K$ /A ]T3* 951ĊEffCF>J !0OqoiQI 6B |+^Np""i>xE{R%>Zg{6Ý'sؾ}ݺOfzWS(mf[7nyw)k//#,cZ4쳬~xA5#ln1xK!#r~ ԦR]>~OxElp`mWSBlˮ?m{Xĩ␧!1{5HA5vm3X7}U,_.k|079$pVjsݍ6 jL-~ue䘑aOoO uM!vњ{g kaW-'qάvAWxL"c17s8=Mú1L.ޝ'aW]~=jXUkϕUƝf]8ID A6$o|Voehd󟈘|=7C`?ԋRUvEIT^9KHQJ;&¹fawW}aҽ0x%֡߸7AY/on W#|{jn[C+=C69d>IVWm߳/6_ֳRb㿐-]0.f)Sd0KHO\`YA,,2Wv!!tHS>_ o}g,6;mNne[OӞJ%O`.4n:y<'v{sZnLtTel / ]FȷgWY-’S${!YX~6!KPe_?g5^Hy[:ZzFt]u/G,5s]-rQSٺ~>uCJ{r0Z9A Y^ drfv/$vEU}ŲnoOI ]݉7i2fd 2| y{}nxNX9O@|37B|^|S"R JÔ4`wVC>'௨#&hvYlP z 7:P{s=X{}wɵR$z`1z 98H9̭?qd>y:A?ޒT]C6NםG.!̓G`Īui x~ jbaʼ6}(:_v 'Q[WjUUK rdٟB/uشĞm351 Ny,4OH*fheYkt5a/:Ee)͝|A5,٩FqW="Ey5҅3WP¢U:ҹvkCqyo?NAVh۽k$XzlTT̹5j D{N߁e1+_tw4G}{fWj[v`Lg>g#^ƴ$󗗠v*gz'7ij[{qq;6ou󎜏?¤ &On0!hzS|Pp}C>; H1p!2 N`MSjqpΞ4&VVNo-9̂VeB* ?MJܝdRD]5v? ~3q~'5xmTžҮnH5wwܲe#`Ps3^X:F9o~_{n]䑘X y;}AsYw u9TCfz@vqV$\_kZu\|YhY\{\iild N ?*&0%.Wä҉p;ӺW]_ >'Ga ra IH:%Q9SV4?7Zg c<'\.U\=`*k _Z@j'GS MgH$'j PBQT_<렆GshVbim,KP:%!qϖTB@Y-<2|Puc?LPT2 ϣgE*/ o|L‹#SFg;; L d)Y0./4߶dp3s'A^3#֣˒('s#:CmH'N^ϡ+\*c!q?G^_騬 Bks- τP;Zm喁a=|3wYXWpI`CuKhcQA(&]yK*@J>b֟-xGu˷;F"H`CXT;y[D-[%f=SY2S<>ߞv<@3:ci"/mM_V6Ųm̌<Ҹ ?PoQ<|ݯ-N*b6%96JZ[m d!UH>*)l`.ʌ)J\[3/ki(۷o݉?(kP* CUgb&_r?oX'ݙn V\Hh%7N-<0*GWNA,Fx`xHMNŃa2ɚWlA\ͲH(IQS'?*#r*"LidD~)([g$ܣC ZHByz톊4PQYn ڐ Og|4P1"FD1z 8#Sp0[@26sѩ3ⴳ 'J2>J[c$P/pSb̈́GKsYZ օBOpXfU54ǒ%M̄Z"#ʙC(g󊨐2Tż H!1 IŴgGc) `Wz^ݸ*+= aR@ LRiM)a ER͜aaq/4 YxYؗNQKJ%dl[c%sP7 ,%2,U l@pm,Tu:xhe=Z˼8bE}܊ Uu YL4d=GP1dT!=Ai"q?:H*T:HvxBڵ3˕]Y mlp2w+gq5іx]݀Ljqmpm36*q%o9}JYabzhdť PX_G`A&99k !Md ß `CS#'Tbu 4{m-?f$׷ZM{m($|M`:Y* 䟤h4e0Α %2Pnوd\#0aeJ'5|hgmPLSS[|BI[l2Ѝ+F`':̩on{>VMZ|#pXցl@gST3٨GBMU4~Č,R!U֌f(>OO %$4հC,`1<'"׍wBʄuo>Dp8u)Dнs2\ FxlZ獉p߸YKrUXrtxOTmf!<$JRH(e?o$C˼Xd="pL =3Y#`S_Q4|o?NuG%@/MH8Tծd4 Xō6Y%4,Wv(Jߧ% x0(@W b#x7JM(romd tQ9\8XEtLƳ!$gA.>>gfd~iid/APE )X9렒GR-R/2S(hځ mp Nw 3@._jwﵞuT{lJx3=0TlMxh6T:\f0O<4[BCH.c6:Jth#&Fͪ8f5d_ )d"%Fh ۶xdU8X5 ajH,*9ec46+G%CT(J{!.lMFF9W0qS_&.$0A£r`֙V +dlS&V XEb鲍}dg<𻻖Bw,K<< 1YzCNuk$v7, v(\Wκ¶z {  B#- ٬UZS lfRFУ@Ǡi={hZ3spI)~+2{Fd~V#_ VfwBz&hlpoe 6QILT*I0*FVDƝT]Xl|B!%fmK8!caBNIEXKZg=$RXO0Q6ԏncf7J FX?p]8^C.݃)$]~)Ǥ@}J{31w!}:muQFYD2K(Ti)aj4,b1:ѭsQKJe@`8T %FJjK7 ׈v8SG+sc.g'ycԓ/Xpq9sJtAΑ"e8|C&HcHMpEtBd:c:Df@EX]yr̟0Icx$Oro+~ݲ^AU&}B28L-y4vW*oE-2˙2vh*G~ae 8ZMoJYyu;=2eyl?TVfU Qx(pj<[av AyX0)+k67xSC~oQHQ}m4&8ǒv X`K(IFϫ@vAF /fFKq=Is d@;Ha䛉jjjпCp ,N6S!IOk"iB^gGwBW4mÚj e0!#>rh ] nދ 0LXt懦ǔRcG鳦b asð(qf nHy%bbKT}MD&. qE ~&Mm.d]ȖDW{ #g1O1ڤ۹Ovo:"`70L!h[yEj]!t_VJ""mCA1 MKǫ{9#( &GՀss7e%2FW]⨄jhtEw#6N5;ǚUxzƼ>K TU{3G0k+!'Ii!Ba Sc/ɏ(3>d N{xNdiCPdtĎ63 C9vo|nxO_&C)D\r9m7e߰DJjxaⵢز9#8ʀRz4܌<| `aJC> V'a9{w^eBY`:v!ɼ(MY 1kS'VJ RJ  ӒvS aIklӚ gpn#-=΍ig3&::Zrz!osPho 3*&8l^^CV% p? P8 IqHIft) D [%箞U(*5:3C'gZـӴ_-ouJ{MBP@}Q9Wzc03A:%s?oQ)R,+2zlfb.;Б@i*-/V>AbfDJhP]ʟW +T3rEGu\ 9Hhβ2WRvFfDZѴ̆h1`YEDx hGC+Ӷ{˕;'w.(9zNBOq0yV88]k',P`cDƒYI̩J;49 SkF#KD5s~.(`$v2nYW)B/vss*YڋzP^#/Bf~P7ή2%Rڒ|& {;/zYn.p*!@7hM E[<\ؒ8P6`˯96?8?"DSX@n-y!@Lp+Au@ff9:>+xݡ?!Ҭ'._g7#Yk=n"NvW`88u;_5z64i)t7OQh) &2[Q0ы(Ч\S74J^SLcQlZBayqر9r6BX? NZŇ9"zm#zXhk`fS[L6xrM\-l:$]&^WIz瓵j]$iL%$ok^~dރxW"T(f˃ >O]PM]hR&$ۖ9a{ӕ KmHa8V !6htXE?\Cƞ̏ߚ Ar(%g@Vс؃4==$98E&+; k䰘^(*CI(Uev{q)BVSl3|{kbYa=u(2!Ƕ`JeR P(? kDS$r8?X3ysD ..l 9,ȹ lst6ڝ]\f=%"ݮk⒊`0.X_%f~^{)pB=9#(CC:@ӻsʼnjh<ا%(#O'SVU"<%GۦZ$+_vQW燶IX%QfRyLSx{mT -]'b>2g8crLP60Y%Т'=3눍#" = /)У a`f`y@r2܃b|l$۟М6<,*lTҟ 0 Cviy[Z>T#[0և+T#X#7naֻEevfW1 Z5- q_{); NcUmtr+REcV5, yۇ+:%W!aoo~rŬ_<Ѵ̡ۿr7p|"w+5̚ g0[_)(i*ۺI"&P=xgҚt6ome ~mŮBnjK8g5uuu_A4Ii)E">3;/nDZnlof2 cMh L'hFUՉNWvgG陧ǤK^0cFl?.:QQ D?1Ϊ󽘛PНr P*3^1/كd+S˹pIL煮 S3,fOr?ʠRl|= qS_M .,Y0Vp%Ep(=W x \e\8Y#{BO2IE2T^n=du*DYA-q/`2 V(D+6K=~?b#"W֌*"׊Yu+\@"#? C L`rMDs} > n겸 IgY$No=߹y{_9?UBQZ1= 773:NFƂw!O ;x 0,ђVmiˡ] ~%kc#oؾ`G90h[Y[$7Z+gcԿSE[r:Tƞ\`3U-iI^ԔXsJ,76y93!tWKUDUe^7H$I/"u:=51UME_Œ  ujߝ g9gPS??MLz(~xZJ4je] 2*BQ!hf_-^?8x>(-1")mSDDS$\-\jd,~uakSGfPa l%20b+v)x&" ؂~ciU1M %|_I(/ 4rF@(߅S?t,PDFws֡U\>-޻Kg81 "J$6R!vwعG%гn*oZE<~HXJ"Wl)knZ]]N,ҫl c:To1خ]&rt#i{g&\b{7J%{kGjhr5uu['dgu[`=P?GOZ^D!;C(MT?q_ƉTLYǼVH wPh4iFp]עA^bqE&YDhZ[2 'lL KJ'B˱%JpC 'Xh`.Qv<=޻S㊠悐~<ܤu<-olaᳵo#m k̇ H++dmRvjD骐RLQKE-Qoޗh -I墍U5JyQDt VA&fuKrS!c^u҈>[V&ho]J9y'? r[CG k]t{"Mo&X6,q59dT$' `9AL}]0V B ciw+-J{pb᯲N ƕ[ddޛ\O2u! U9\At,T -H)cfa9w|kn|Ӱ؝{ñVIx 'g[|qg@%6߱}y,᝘ jM-6VC\]o ƚy 9=~+3 sgj1Hw2 ԅU4缜 e&Su[/ю>M GY˭v5.NX:$v4hG-YL /tJ$c8$lR./\6R6+l*,q?~q&ZnXp5s7oa#M*YعVvWyoMCohݶk͌+#"sEa4ewű +Sfw8Y~?BuLcF:eL)CW G&PZ=&LO=`4D(]譫jA).\0gfYGx/n' \7QOL y1(:S 6>&V'Y}C#vp{<0}KNs[.e];^zԩ Plb8zwo%)9u,3/ `fWzQN1C8ࠠly`aɭHToBa-5sħ01*Hٽ3pq[(_˗*7tum#h&]w 1ьht*w++4D@O(NϨ~H)fbbWY4Oeax(TDƽ 36gwX2iB"θj4x6;THۋGjo -ސ˷=áwd;gckK'i`Dv;AV%~HmXinU0:唲Vc›@'8ܱ9  3:#Dqe.f4i:?hquw$Ҽ@ceڲ~d.h>w0F~w[CYĉ(-tvew6F/}{{ z݊__ۨ/6QN+B\zQ+ɩ嬋M ^Gp&ZNH&[o^wi|'B_׽{ 1$c&n $-UYTS;N1z$OfMCu(k#ZJXգqˠOx;h'tɱ8%戭()?&*n><)Jv3xd^y(u¤m'lSN+}#vE#b$WŘ_9Ko?;_ƒŴF/e.:ߓ"(&A\6?EpC`<`}[eb&(IϊKd_cVpFf:Ո!x * uܺ0sgRJLzC>ߠ7̓$~s뚶@z|Ec'=^xgwժb\$w.,գ՘ZdN]kYVFǚJGx2D\]>zN<mu¢l~V-3)N@T ጆ<}=>?"k:_Py8Υ&EL<>xd]%v\uwz{B :{Wt|Cyxڸ >)&U_;&AAVf}%\t`$In˙8KqZqIqc{U3vU&ƺF#8l-{?y) n۸t=49v&QߌH`] N"b|)-Z,+z}X$bD9Ucԋ5fKXۙ01@5?U F< ځG҅>9R0Aь`тW {z' {]1jOR7 *"|3tyk\iԕmDk" :Hdf 9}0uL$z73Q"8sDIzu^;hgj ,^Kȥq?}ߣ"ϲ?+tQyazW}rjK"zNJ;3yuu] JyUXO;8p Yw2U#XE~[ (#ZElqR8QYV0QX;$[^ABmzI)>%4;IEi|c~z cbN_{S[oSU?5T^v](q0sΆu$(HSt7Uke&Dy**U6%1ۉ^^B9i efJJX]?) 8:0 ̞FC[?κ)0jýjZMPv j.NJ;ÚGO~V.qGk _ еT\j}ۙ Uz,RZ]f/AM-rGl,#v9g8 s%+th)0512rT|xJS6KQi;N |U&CC鵃9Ɲأb 'JUT,e !Uy14|FE$ M6M)ƃFf!VUc_ay2ަ_S-bM/ X=OO"ݷW,N LnETbԿE(k=N^1f6Jp~̍,|SXeHm waY S(Dbr>?e<(=MV tBq)oC/3v%ŝv#*q/SIp`ɓ荵 \,|6y4{}#gjܷgu  +{MׇXp>SӥVf m_7  F(7lq:1d`hO\cM*3NrE}g,v@AV! S[|!*E[XJTt YHAs2<ﴪomrXÌlT;S`by.Z_.u~v@$3By)nbow^1A\&br0[CϏ %hY/6|P<~E L4%OGxE-ͥfVj'pn̚Y3mEb,t"@0uQ95խFr-^(cHpx} v_[4\orL7ۨFoQӪ]4r6i1ik/("qݑrk?~4)!ԯ9Zv{%cŀ#{ ]^k̲C>{G@.vH g8xE3"CRu7~ǝwLlH2Rs(H;M6zk F;;N=sVL#!\nF,mI37 L)@7gu@<#(V({ rBRQ*x鏗H鄨¦T[٩eU=.t!wrv zae]SNVyNq>i%pZ/Xp pٞAbURzJ"ݣ>3IڪTujΔR{6n3hLnjՌAQeӗѝ-w͜xf[U$Ǣ  zȌD4[j*||@( ezY:t<ķ淌zbT F(?|p|N6cE}(} xse'hv; įX{_sBu}`SϏaӌ8H<֐Iu}@o(tCi_0 C);o=H7y{_)pF >dE[qLG9m}Tje2w`0ۢW8F-x DŧF] stj =D*DY!T|p%}S=MrZPL[at񗍍c_3!{\CbLC48NBMX<OWlJ}8MA1<eU㟕Ҹhbo?X PBm 図J_ҫ65<7 "uR<^q9RƇ 7`.or\>@b@{+#YK n 1Ҧ.3*&D"z)`໹| 蔐iD(rGXb"O!X/X 6Q4QÃ3*+_]"ags7vP;)oj-v;e͝h汞#I:ۆUIXp+춈?mݲȚv4$ RD+ c hBc ;+qY7v{S2븾A|5B]\]Hp0*^4ń1#+C˻`WNUdDF#c+Ϩ /RWE1 x-UWT p“ӆ)mJZo.w쟉ޓdj31n Y\3 t7+[W*tM̀,V^qˆ V8Pw N>t3qB` 5.gT$lMNyAhr [9Bk+"BGNLE|Ic2_L8y_#8Ya)W=RpI 7R]]W}qc.A**TP{vPzY1'Il+A-/?hvyQJ9*HPZ{} ݲH3("K~4=xa8W,?pNW@ϙďpI. mJCI0i9\޾m0lC)|/M^\z|%Y!c(bB{f)T^9Fo9eivwIM46M!]鷉x\%Vwo}Wƨvn; \%LdDμv[_E`Ӌ%^xǷWXY^1$ ~5 :jiHj=y퉙HtO31V3dvR">Qg$^G@_a -պ+fJ|^/ڞ>;$+D뿅,s=ys"a%#J痖9 ȑ+)ghb` `G39(?Gx!V4=Xli ے,4km;.MSuiMrI:B.^. !3)*jjrTj{-=Z@書O*rgXAaݪ"a~ _OWLa)ixlVہ*fd5iXa(Fqi<㞼n!3@ҎPLZB`JF~dfV!oDW'( KS[ PO ?n}I)yQtNX .F=]|܊V)7Z{ Fw '9SF)iߙe&B:U9K!n3"tDH(I .P۶@ifI/hx_û%po8~H^ճG9l6+&>^C灮_3fZSm}+Mo Dql:W ;Q=?n+؜- w*B,MD O|o; _<cЋKoidQϒ AVfWKfa2wDIsۈW=d>|u3 9J6|:DGrvAcVB;Ei%K+l7ȋАgbB>A~ŏl/?mε)7 / '}S8i"U]ԓ@Y^'6뻇X.C4|!.Iw3ii mi3}+(A.L: UF0-l$b.js ψ*—SS~b Fpّm2dR*i|S%d K(FI~ 9Nc7q- HDaD5KR?*ajBJ#55DCMf.m!aQ&2쮑z/' e;ΐ}d olzoB3:bvπ)őؒu(ł *2>5ApNǍb6Zڤ{g}5*Iof+]{Ki/k&ʻٗRdbCQ#V ck,C6ceAl5Osf]s ﶖ@硘GOPFi߭f; k E;1uϱb% ѾakϷ,+5".JO,; ^k7`u%ԖJrA$4ƙ{F <@ubY}7"Y}wCO2Ă~N,& mQՑD7[dD~kˀ(ȭB:5?ϸҨ&6%9];ҋtNHnu8Ixej\6rIlnzvN}pͱnIr|is^KNwYߥFo4hFbF2ʭvf:8 n-QDq %%k90FcZW y='q=wp?F%gp>'KJɦ"qT3Bw^qQm8U->#Y:aSe6iD걌Sۡj?!7n?cDz]PC5|9;XvDϞh ̏mȈ)6cD#s#Lʢ1aiX5|6n6nNvZ& pS@ڥVʃ53{s5X\_/ԖOB*p74(jjiв.Q9u'?~,{Mo}AۇG_Bh3,9=_<]nEbKCO/jpHJǖN?0sрNS'h)3m2 0[[oxp޿aq hj艭fYQ4&[6yge~PTOBg 8Ϻ@~C ωF²ɍ +q7xG>AxBoʲКEr""b,i޳ \lmxVV'n6Jۺ@GnFtS,laId, sM&O\%fokaIU'@d<{}a-X۪0liWP):z&րT62UJbi ٖ/0wfh,UЊRVq>B%nk1`NY(2ٕ(Z^ vL emYg ԍ:0lی"9c$j. J9_[,^|gB6uUW@?ăg\٫O_2zND#[,Ʀ+6].=Ac8Nk6Q~;󢕅:a _@aU |/(ٜ[QO;S%R2 xR=;+yztQQ]ZBXiPZXZARZYzi$%TDia?|gy33<z(f ;] C {r+6}1)K]+L_#U.[ԯQd3mww~3wL`WP7} &G5 qxM4-cޣW>P/啼b#a ]b6[ǭh/D~T"9*O1gưfv*5W92u# .C7g~yCb"P iM[f b0{9Ui[]Qh /6&bӁPpr%%JȒbgcU%dCƨViаF/^|Ej?,RQu}:mwjZz.ljp l3dnEOb^( *-z N%&3R@0v=Bb=~Bψ Ls^ejm뿁[\f֞sX2`.v# wK4k8Gʯr-w2׼wH{ƛG'Eϧ *VŪG"h]yA%C]_RakhKY{x~Ȍl-Qe O׈K)bu*gV*L>ni8󅴺_=u@]Cg\z2yn\{ėO?d XL-If&okWk+1NBaID57z7{oēw̒Px~bfp@ܾis{Aٷ!L/5.m2{ r!bEOEw_W8t;%ק?Y&'wѰ/UЃ V>T. `eTk#R7s{eٌ]L>OeC+}c78\YrƒUqϹ/6]t8$mda?ږ`di.d7e¦w(yk_<= I$/i78d6_ EqVKN% "Tu?y*y`2$Il,""BZ+bfs^VQ\h[.6ԴjZ_}5YX"3:;TO::Zw|+ [|rzhܓF[ H5voĕ(iEߘb 8n M'nc*@A"aYwn@ڵJrVZţ !If`z5Hb^G܆-M{)3w)P'\[J-+41> J{aS73xhK($2左jHw?xwvfĒ XAΞFy05'F'Z !M`'g+ݿC+A޼z_4Idm0K3՗" UI>7ֲ~3-v<5SgXi7ߴ!..i*[=i9M_x/M%|)=#w9z=KIAo4a+F]Ɲϟ^a-Ɉv\)Xw< Evbi=3fP ޣ'BǗlɼٵJ !lB$o)J Y wi^QepX0_/NY(d C&k^ʱpĜy(!{4kʍ,YN0=BF82dNK󡐚$B{ ;Ѯ5h7c@^mbi !zycע`wü~u=sQGK i!ΤE p*a- Ls}4}TB% j &/V,({FxCMYh=8O=Fũ c1Oi~ou7p[Q86|BҘ&+F%f(ρ^L<ڪK8t\nr*"RQNO/ Ů4);dIiܩA J[wƹ[KI<+p(Xf9|Y"~DVWyG:fP)/+L'G`D0y*SBnGʖ1xvYsdgHwdteOUcK:g,$8DnJlc% 9ǗaMMF& 'ADs!Su^\;q^j&Q "*!$'aAIfNǴ~"%#7`{2lNi|Of8*zgM1K5{3b6u u8(UPd*yr~h=A~4xѵiD;};6:6гrv1 ԴnvKlyߙ Oӣ9E?v`&'3a,}( Aڱt{پ`|[J/}p[7Ӝ5sIqu{y_ϓ$%PR@{Z 1ȷN஗ )d JmLnj#>9qqӗw\aAעo4tn l36 4,,, >)} W}KsH>W\җOꈕh4!|Q~CoԽ퍸٩7W8ēy3!dw R/ej@~HF+#CA_8qAQRf<E'%CgA RJx$cRya1L0Ί8=cF2뷗b..zNk dD 1(CGjnM&gz 'b/fQc5U~)9c^6TH2خ=#0c#blNG; )s Z]*`ȭfYn>Q%[!L'1KIg+9 ]hk%|:^7Yǧ '&9"C&5^/Fj{ٜmd|hv_py!cRVh(l2HdXUŐʁD>q]9$EWTkC]=48,݁8;|ó.!m) ;T9\5[X>}%A yEBBWPe"2|O)qe.,ZY㹗RIm"DVԴ'cAEՅ#IӸ{bIxWcק4p94HrHVd|;f[{p&l@ə6dwoRЗ) / {Y}⯝aA9O2U&E3:4-8pBp?륥00KFʯT8HKp*+R!a8oQ'@g`εQԻ&MBjJ;9>ƠS9 o\4{@$B{Ij:Q?YmE(z ^a &4t"a=7bh}_ y-4\@cl̲ܕt m);ڻ;ڿ>TeV\$ !A4 pYH ͬE@U0n{@L?H5 %}߰Hhm`[:[.jr.|)@GHzv;}[N*tݓ0玝?66V$ip>V-0wJ6mƎieM0;Q_#ߓ[JV!Y,`*%.D: `2BV% j|9DݜT~Tz-֗*Ö j tI΅sI5NDp}Ud;*`{ghB+!IA"`R^W?p_ou(t={gA+fv6`e_Ye\$D#B3:JU~_ *@ͧú6Jb8BѸZ}6pzG&0QḃY`4.VumN7 ^yjv7^ʮ٣Z.aO鶒IՇzEgG>y0N#vрkom> d5OuxbG_|$1dREr} vzʟj:˟֗LU>&E6EV=/0_@dyFD<%iiJ헁P/§jw۩:ׇOZ}J+7a{%AԠddCVNvr&+(ؒozZh%w{&7A࣡'@'g{'ᬩo|.؃1+x t.jWwۥ\Z]{IET`<ܮ;[O!ۀxs!7 !PLJ:3=7 a?=۠x=h͵]_w -z B[L9z.ՄSOκ`H;/cכ%Z3Sq e5ڪ*:o}nYb}kspm`ˀIV)!X& =c޶Ω ouyؑ=[))m`+*TC <}L>zzczndb_lcm(} = 2pcƜv&vg| r%o5o镹Y&Eyl|gNu 'ƭvY{YI5G܄GEK4P/)&:VTAćdPPr}}?N;χKp WXt}fӖ%J0X6pշ9;6'ͮy= `Ir}4(}zGkD@R0kRH@0OWx;b3GM/.:7PHm% %9ג*W<.Q@v[w O5[lmXLaKo>54 s1q[v[g^PZ AHi]ox졾j^WzV\Wq; sT׭Tm]AmLUuAwRd޸΄qg;4Fpta +W.Ƈ!}@Ljhq"kɍJk: AבTكfg@iwf#֖e%*\v[<B$yuVBᢙa&SGG!Ȗქ! Y-_9J{ʢ 8vتwD/a< 45U?k~:PWbN<$>Qb8ɾwXsqpjwNO% ydt"SDf*,}?ۍ8OĸOgeJh5MLMjHB,}\kX'Z|+wj0U ]ZVX!Vh% zׄ[O/[y3揯(N%F݂c(hV{|45%~i ~Si5;b.]JsecZUǃѦF|nBRh_uSv7NE4y4YEK=kcㅎlЗ>/)Mx݌ǧ1,3wbBp$6M u#xm\܊ѷO5xGⲬW-ƅUAGXX|\3 WC b94#8C"^B#4솇 # b>4PEE2x! ǶeA5щ';yRz`yAϋH!#е PyY-N(zȱ'̍3׹x^w)u3ȦDً7ߏ>gF24qg$M,Ti*wͧSXD خgIT6RN ꯴)04XR8}?H΄1V] (8LMv u{NX8l8uxI3(95h5J,71Xpl\-(F+rUrvs3_q (ۺvG|ez2''Aq{wBHZҾc~HJuzͻ#:*,->D1Oaqumy|DO~p^?*J4ڔ%g~]~"{4`IT훒 (9o2Od} [Lڡ.1ĆŌS{_'+oXG~?nƯ||gŲ[=0[>}x<^^x| ~'ס`A򺽑1u?(:YoQ)/Qjo=_ ߹]R!fVN=; W.1p вn bԂh#YKwf%NLfIZsDV&6%Pq[ws'@%Eͧ*'V{"Ru:~^LKnLFBt W7 *:%"7Пco6]o#e'}i_~תZ0v u+Ja}/B&$_|'DNl@܂ ˴'&6Cwv.{gݦj|qmdm|)9 #ֿH`[XȣCC "3ǡR&޻]{f}hwnsy j:]1j!ihwGَG 2w{Nbe8?Ar6yċK+'Oد5f{=ep 5%% a3G2Y?,O UZ|f]sF^A٢&4dH &qCJi'p)pPՇm]`gR"C7 {*EOū0Pk!]B1GG<(ȨTR[#oS:8J>h ١":U q?p]r`Q se5\S\7$gt30V0zWm|A"4\?#p WCa*׏AoV0YLNhl,!O!iQB܍Xa!M|FLSRàrA^>~%7MIȌa s:*v2!G;+'X}ZൈU{&kmN E"c̼׿$ y?¹{?fgZ-!v$1;[p*LdNT,m`gj*_w&CqVMvqcے3O`v<8PHSP"ΌK'3m>H),CϒTMav-{dž$-=Ŝ>;xFGS_E[R`Am `4[DG-=U`bZ3Pf)zeLRFָk# pFƝ={y]/a9 4z}cS޻ߊQK|)k<ܠnç `U YUޖm"G1TY}44k'N/#}ikL$?{xѳH7g8 PI_2 E0P[*_||/ G ed(X0::5F2 )zѓjS6Mbj5/BŐHN +BtX #Y*cWsM?7cbk d57_Uܢ}VX FVrF`:?JMIp@pqVf@_ '(6anzA>5 2+12DzN#2nNHFxI*}֙CgW]*4JR5z2mTjOV~w"hϗ.Y2r\IW`;M#^#9A ؽ9I<{x'ė(;Ô$ |7}^Y'sfX=Uӌ|G#1.sa x`9r}#{F 먞o]EG}`i1 ;N\w65ґ x |#ʬ-mI&L2Ըajbܽ"[X0t {ق jŢNDFxWc1p1  vj&H44TcK' rL *W,(=Np4W)uf8oAjTGh'7c){&,(`w}|h)XY7<'$Sl7blV1y{ߡ*h81MUωUfǔhuL}G_e>ԩiP*h2E,r%`HYUMxHw 5&l+RIZE q. ؍q|Zm=kO\ߓ"`oZj;iݻۃcچS hce!QpnK8Q;iNcn 0y)UpF f>%5Mדٌ_n F ~0Ѻr;). ZQ焇n.|$ޞ?yjXP>beeadDסQ­\c݀I\ߡe6HW#~M18o=tzO{jŽ6pIL5sxϖ%5i+2syA. |-p@} =pΛB죏Pw .ϋN hqQ|?kss1an[`M$|[5gW)' ==&T39pAjК`k[LzپgM\p&a.nQPu%~\'ӱfwk[cyLeˮE *~-k*)N%M-v }XiF(#ȏ{jBemR?0^8FhDo?vxyxwӖb;Ѝ2.PmDz`_]7<  N =M;^P/{KH _c~4҉n)t4 ^.Y2WT AeO(g\;pܜ} D#%ԛ:!~p\WEV aݕiAW =9'n>3goQ[3; *ně7S+G[OK2ӽ Ed':4蠑_ F~ɷ&鿴To:_0zN}3[{[ДfBB oY c6zjR~AQtj\i>5dWSS6LMF:F`'c~H{ھZ_έn,S}ׯ9~O<-Izo Jk6h4fVQ}ONmQ( (̿<Ѽi'iaI9 L\<.ǯ!yal,j d"ԆJp~IVRHz oH&mBM=o$"\(Zp Ag6yizLy0г{BQtQF_={~;of6[Syå*/-WFc[80咎'4UZco([oO%ը OU25APW'^sf!1E8ZUpjlR79S8$T n}%1k0y AJV렧(ac0\RƝA'9KVCcV0EHhrFSr{ШŸ']nxtxv"IƬU%ʄ޵ `êm{]sr'oQ+ %nX•nOu d4)/m诉%.c\34NX| ?F*5G3 fT.DaLJM+`IkA` mig"R'>2A2+ #V{y)ƣf#lo =z;(ql1V҄{s&%6A6ڰ@y#sȬ`[7lx;$b+ ?dž!8omE"#k'o@3NeQe0ڛpѶǩc+J __Bk!B͑~y0>=g&Q|}U^{KG5lB@@vw;tᘓ7jX'^{oUȮOkWecpCLqZҫRhH&_kF>P^6o^I⯰AҘ|$[PrH-;$⎹iVfZKV./ AduFB-vފ%aS (Jrs jR ^$f3(2ƵNEJ.+Ɏ=u9~Y]i.bTS\J㯌"\e?yaw-AѬ%.U*Fy4d ºPi5]5$j~IIrd n)8^ #,58)m2g˰lC⼻* -!;kf ZCM 1(RD "}U#γUގ(Ord_*c\OT~+b66um*Y<1ܤjrZFP8I6 EHO ϟwyoFզ1[I?缿mGd@o2d]p]DqP-o̘q) ?.41\yjig28wf[Nd}(!NA"sdcՐ*D*ʘ3bQFt'RzD:V Z3`y6j~u7Hg$Ȧ\3C \hj(.Bah5J[؆k -+rbAb-R ڞ̊_p_&VKO;s42ͣ%wЈ'L /uGLB7'w cWU&.- { @ z0%윎HAQ{ʔ+Y}l/۹m)5JysG9z =uQy_6Q^B ym"}ᒵ,S7 偭'&IpH`ʵxd4j'PlT\P-vF!C۪O [sB5g 1\hmLϖox/*.t(V|\'7cq] D("BV5CsoFߊۗ壜dWMάEKq+8>!g23oM[z43`*:2%aDˎ\GusSoFMZWE>| SH~CI*xN>B>Lۙ;^-) QU~Wm6#(!DNOA&ph>tFH5uY!`l7*x~xFx_8-n:"&tF:7 ],L17Y4:-R6g,Å.b|#[,UqH)_ BHI"NF cA|-ͲMjMP{JC PdK*zP"WMZ[O^]æމ ұV.,Yg+ly7XgH(ڞ' cgmU[ڽzcҚt*x+E9]$g[Ic3:0X,`1[h%ɦS{=dFLŲכs= 9 K;3$jkfQXzd3pLD+1ܟ_x{?eTpp Lw?G-gȡB'+ԧs\6.1%m']w&NGH t~r/u:Xx@D PջI( e)e9~>{˜+AqKQbZ'atSOoıFqK Fc L'̮}Z(" Wd_e\Kĥ*JR| c7L s\kH~u9oEu30tj?dmX7B%R,J&:MO'q]z@{.B৶2W\ht%Мt} GCJ̠+ukX ru_:^Va4l?XsKip5w7ۈGe5<6B|L -U;C6 hk̲( -Xm EI47&8Ffk- U\ D",! A5-HadL*4㘂 G*ZBK_ '2AR5_k,nE } )(եz~N ,TA{Z &lAmANE.U~ʲ"l7X#gVbqU.ZAcL\H@q'iBKO25f8Jlg}1fyV<#5&DT8 '(YPB.+QV`c!y20 Tn\Q<&qiP ׋=1;#7J+2ْ9hB&Iq4IiBuE4BUOS8e$8<6i욬WلKx=]Xdq2qO߹ڌ)éLA^T)jiekF e;% QqYfCt(-$4KQSBOjC*iay>.ՓsO.=a)& *P纲Ds_ZU*2'ȗ\FjqéC,#|Bc;N\f:뾬*:X"A}(JȈ e4z.^HRf{kxSyDW?jSiC%(bP)gq6 Wj |!XbYgx/%\5"+1E}8vdd͹wip nY .˧̔Fr7T$QvqŊʸq5 ϒfbC"dzy ا]nuqTui foa%E݅ݑAzyO?$`Gea ZJY9S$Q(U⼘~":օc%IlWjzw&RDq1{aj Q?c7|rޤ *%^)B@K案Zz̺yBfUVZ$Y¥ f(87QaHwBD+r 40`JؼiތľND%>+y W}aI#AGHF*~!݆2S'uI)o/-K͊ Lɂ'[ ĚIjۺ`KV"_Qy--8r;}(з A Y:UUKjI7!DE"/Kŀ%O%&hr}V h=g3j=8aNhyU6/q1kn\?k{RB*zhnLx- sPa`,&+iu"qk$ zJu<d+'o:Q$ ͞fi@CuT /wc >'<؉VbB:̠@mtV5ֿw7K;>7mP!w9pZ aЯ=:j\Sg ҕ0!6^>.:0ݟ[ ^<.@c$j>Lzj3 *k"p$0)%<+k#dwLRRcL!)c ^@RoBU9CMuaX^26(9+,o*\0coa-%=>M^($C%b:.9(ZWObƞA2t'ֱ3WYCwݥ/ g*עqȋdpWepC^nI;fJ(?S:μbL*gX-pv eϹs3ke/aA'\`7}!X1lۗRF+1V 5t*Ba`H` ̗u9:ަ7!,zP{F$C='wUZqÜՅ8Rߨ,ا/;sfyB;+CQ,51Ҍʷ)Td[x *«SoЕQ%ט"y6_~5C@v[HB@xv#8w ueCuYoqzR]Cj:ƶvVv<3Bb4/X}rO+PUb_oЅӽOJ!K=>:Pi Klď!\< DI%%I~S`/(5ŕm k"NڐGҸ՗R@EpU9HCnHJ,ۇqDW/g#&EX[ ʵnj @qq<qhAz^9Vw_e|Dž %Z@fmIn7V挒9N7 _)ӝrΌ '( .km0DqzpƖMȶQb8f4Do?2MO4D$u`}^ ^o}nS |f"42& c6=2i""#- Ee:$QV$VLu|u[aM;A &?%ps'N! B((.f~:@mq}H.y;=0qG64_Ud@պB]P>ԍUp@mVM֡ONϲvrřQ][iZɬ20n)]uK5q }6I3 ͑mh'Fӯ efg#erK><{ #ilЈǃڪ;[run8F::dx7kEM3ÑO dK?DZh?oh8{[ՑB ܤl"%?%*AZ2E7(h,>bUDdKVKҒ88QBE\gv1b{?饅e!rJj A}d2+p׼ S/Z4|DS9t n`ү}peyh#9f+۲k!O((YE\Sv驔U}̢b8fFO \59(XV<vkV"U.Q/~(& vNx6nPaY2h8xԠd~~bw;:>NR*C#ҏ0O^Uv;;|ۂ%FT}^'>~B1+ ;C TB%QFжCB: S%/z*7JCQLE#bkA)Woqv׫skRqp-@`A`WU|{*M;]ʹJ h5[Zo?GI}WYSȿa}ГJhK"͢a)gKyjLjLBŃhTm6-G]=1!?"a4lyvg (۶`{eՖٿDA}~~Q_֧(d?oO %~T]Jk5vśp&߽VPPYr?G%ΘڈI\9j/7շn6( hXxOD3VCi;sS;vl.DHr|?&E'!~$DFwg`GeB=.9us3/[YgڍbЂռ $96W;y& +]lلʟ"lvG-ض/n7>N!M^=& j+uj띫qrLQ^F 9t]]U-t>ߠI#/O 6AΛC-/ o/y(hՉV.ZFQȂouPr"ܱ4x;\r;8@F 1 FmT($bip.t4r9z[p'IpB2=ubHVf7qz7Ÿ;>n[6*?I&=KIqt'0 5~BDp{țCO=җᨳ>A0BܢM_R0, UV}r*jE<sŊ1́y/8y{z>4ƯPD>yZ澏X?fo_6o_׺a fqA3C蚆{YB~¸0#>ErGιZ]*$&DiRBe-H;~_TI ((dq9-P4,grMV.띓cz#z#MzLcKLDjssBvo(\Ib=TF&C;umoʊlXъ۶ƶm۶ƶmgk}><9ns*Ca!^IMc%4n.MZ55\DAL_og4HĸMAΞ:'%}0pbR,dhHq xy&J^EYSuYƊP"NɈ(';7P9'[Ll~8|9|v_ @(:B&_$gy&sKx L|nޔպp84{2Y瓇E3aJݟ hDUg^eŪes@9Ser˘wm2Rzgb]Z\AڦP0{CK|JiKUW+FOͼ0%OD XB 嫹? fdf'uʆqN~=/P;4aYQh9`'m?o $T6?Ahg.* lB.ocHBR a \.fX)A>JTgv7Fڒ7s:A`ęGEH|B10*,O.:?Q !Y_OL_ tS;lu+PE#H<_~va!QV\ժ/ /}TW %??wN$W_ ~"n-fmpZ+')R_y}|TW;`D=_՟&[knfYRk t #7__!r?fy l/\Q.rΑY9ʵ㖲%)Z %(sbG:ƗxJ *ͩ"U0- f1}tiC6I#MIK+IEa v88\ فypPa~BCbC!qxx4h JI`Rht\sA|hW8yi?@~q]1ڪĘN4$"UiYI{.a8* V6~n1լ]A&r YN[2Acۿiuo֗nZ~.~>ɔwft抾= O4n#DX(b73?,hAc+l_^q]Xr0, .>pD5]%UP?v;XÃppg4We?ŤoU͹(M s U;Bwpx9i*dq>Q='뼑hQzc@X~&9?|@Misd"uu C_h NB=qnjIAJ~C=8P,݂<"TKL ى[u'SAG4Zb<ғ>˷H>GZ;;,bs J:K+#H$ $Cn6)cGg,Dl}~&4(cRQ WQkYj$x {Eb^ܓ8'o=&/ Lq4>]ZL^p -bRebw\¸>_O2|VRg4oNy3;&ӧ\>՜]lV\6ּ6?򷆆ߵ<ӯ7k&jՖZn0"kh(-&Sp]h8hlP uwTc)a~\]RF "׮,ilq~-uU!5xLF)OyW̢"c5r!B)]{E6NXPVxafM"Œ(7HN^3sԿ'C};pā*;i (}t1glTR\'d/%5N@bksp[j ) -#avJ>l1g(j"eyrklCrʫ@H\أS>w ];!e&'"l4FW$v,:w0a>-G C?Pt]] %$b 6Mls&Fv7v^[ d=wz<}{Y0̙CQ*RCsű籑IX¨ D jzkOsU4sAŤIAi i1;Mrc }4n3JCA^.зW=[9;o]InhhȰ1fJIx(-gGaS u Fßξlԭ˜yxm*$ǕmO#5̣JR_ڟO?'^7U5F?Yw?7w >x߷u>}.T{Cd:8a2\G4 V೔CM~lhHe!K\s1R|CSVSY緇?"ͧ^Gwp`u_O/0>}.Q:}||Aԫ3,bߘlBC) 4kYݾC$Quy~1Uc`syEGj'\"_9̙S 83c\2 ,I'gYam"S'j#ht2C6ˎqzD tGgBNG!M7CȏGhSzڼG ڰesc{U7l]O[ވVo{ZYC0Bé"d t_ ]j.hO 4а:$\-\ѪDh\F:dy*볳ioj[M:ؠe-r-tM,.Y){-¬+k|<.}VO_ eCqeLЎ ry b%™HIG(!RT  5YpWڜ8ǑHOpkڋ6`2 z,BU$ɵI**FRk ,ӝBq@#恋IiR9j_F-^H 2әD U"y@L&_ pZ[}q~IX8SxzWe`7}w ?>Gm |uÑ%.z}=?dgfG1>{.>nuӱ2V겦WJ)AszN$e읡ŘGϓ𯔆bUmd"IjkK/[d*l!M< @y0ĶdN8\o$ci.r(10Dv 9AMx_PMHLG7LbW8Pr5!mmCh6hQ&31-#>n6fGIߘ|˝Ᾱۿx#@>d=DIo,eCϝOχw'(Hg:;ƅN/#DYfika}ǯe}M#yvXDIEQf*Q-Ӳ;`{D 6j{A:A65՞ȫkjQZO%֧K椵 \pU!I A2(YK/.h$;"$f?ce$D4_l]\D^z.H?.FI+T<$,߹βHQ?y@XdTboEy>WAI#.̣bcBSa&$(YWd<hq߯Zi\[iOy נyZFNJ/W:7uHǑR4ˆbϑ3&(0g#B$n_].Mw4El1@(`AwuRvS,E n+&]F ]t_3:z1E.>1S4?<~dnLT K7R̘vudMZuجڴF?ï(hm_C&R)X=e}XuQ}L1/3NJ$Ci _Jfؼ!l`PF|o~qp61,Xt V^|aܝ>&!®1 oq!r*2NƷ 24 93Lu# C^=/FT<ȚopIK2MeҢ϶\3yGIT׳jI<@@ՇQe}mqq^D0ծ`{QBX z(Rx_ekw;sęS\(42(C_Eu\yp[~K 6»PdĽ@BSFDG>`ڲv~) 'pr6Ko螈8y3yY~G11x4o8#j('Uk/ۀ2&H,lw cFJ9CAN>Vb܋A-"A&*bu_MT{EyhN&[I'mT!AGN"E]~(E}Y!5+dƔw;qVv ! ;=@p W@!o*sB 0l%9]'6u;!ѱsBu.ʺq2mk_9c!Ӟݠ*F"(|"Ca t(/&q9&/LJ}<]bsﯣV塴9!#1䪤Eef]Oޤ7Y@]5쯸Uy"fhTr̪53FPMO쯵wn/u8G웤ۋ$竝/Pܧh+g?ll FF 5D(›2yR\Kl"¸ R`Dd6<e@h*Y `d.'\kd d~V+ 5|`z}TҴyu5hyX@6tؓ@6$M -?rY-c`g*ͽAJǥ%YXuj(N-=} {ׇw]N'-b*7r. .`X)~(x\BANhf< ~ s&ׁd),=;y & pP}a|ɷatHNX*[P:=cʌCX)74yaӶϡ/uYe|6šJt52k|Tڶak~i/. k~ ;f'Z"T8\(+`rۡlSEk2gk77fC L֐V$Jɯwկu;)ibB<|)u8ev_9|]n=~UL޸^CdsT'wd6ˇi?e+mEq  /Qܡ[r)).t.-N8=2%('\4oH0yc =jya83 518ᓴ Q;Wf2N1hZ(z[GPM€$C #8kH%ˤoer=0RW S3쉴O:>I8zv r~[!%T"{[ٟu~AR;`gY+Dm5{8J!Y% ׄ;0!@QZuN[\3# Qy)_(Ϩٟ.wDy$a%OoHAVr)Yss˕ϯn./l K5㖒M%`b @Y<;'bDCVF.;u7Bb6m`|qf1lz>\".z<@cAZF,zZ|%<%\߰U̜,ZbMd@{7Alr׿yh)i('"ezAIaP|:^,6Q!4hc3+I(in2 5G= *Aٍe3}}T ]>[u7M"H 4DJ7nT =wϳCn30g?xߴo3[( )ń[O2&q.\ex!:zHSzc@@Fj]ʺJHl  X$cfװƚI[bִtU?\K cFWhIyoNfM*ndqMGyehѸ*C%+Vr/B *֝%v|$jo:٥'ry㗺v[׬1 &1"Lծ{tL7S7s'N OcTCy؏&K|$f%k]%i/c6{^k/[ F'\Z;=BU*-7:3DZT6lj0%a~fd` .$'J++Jb GLH'D[  EwsSMQ6HF|1f,4O#:*i^YT.: '.%^k+KkWPrswlstz Ɛj*&hh⊃ie& , RTJFfrNoϑ]/5/ʵ%uncY5\'gʃ_i{N/)$NַTye68XcPs0NzWu#,afYet X^m :(xv~܏L S);&!{WA"]k-" O*7M>_;)HScWT "货Ohbpn ǑcTe͐(& \ڪ ԉة΢k?I߂xͤ#nT p9# 4{?6fT׭Oy[~'/iK_xX Ur{ɧkѢt,,Vq CbW(HMyTb rP0t=Y`l'#f=r9:Te|nu px=IbS\LVy)%1鲹YjX}$mpU_+8%," BYYAxj>e",oR>WH[pYK0#,@]ΈҐDꮔB/'vET)"\ۇcj$}\#7\ЛLtZa5QB+ŝW@ X7홷L~MbJXN-jP*AK-5ܮȫ5/4 G_kCEeҴh:ZCVݺ3.f05~F]S9x( `i4+ǁfuͦkt /ҤAʵdu eoGRip_v{:XUh,&vfê}<&{f m-eMniTA9)0iXU&n&=;̕ңWS\)w|*45P)IJofܟO[_޷0Un5Sb[vQlBejF[='>u^\u~Ec :EEE"d[ud$,~_rf&6$ SV%d %Ƞ. ͠ UIVC-d-vo\1uh,m^COw^\ÙTl{t}M=w+7Da ߖ`qQr5,Lk 3 m>V9g ?f qVe_$Xdo'\2|=,_EK(ZD@rm %~][T^{~]x :vld4 KZ3{G] Iqڒ/7GM loe$ nhWJM83؞:.h=_fwK>py?{/ ~sK{Y E9Ç#54ljR3Fg G&Rp_9Е,C_of:sS+MvuREJF8u5LM[[\g=4[$UҴ}9VPe8E,DUu#v\+D KqSX)0jK'ɵYư(ulwWq sIj}YIWcB38HnG2$X{\8u0D'&xb? D#{G1l#֞&X"Su~x~V2,.[f/ո ^ĘSdyX(ƽv1D9 pCXR[5OoP"I^-GmȽgJ`IYPQxu*BI0t}Y ~kbkll(fj2 wwKTʐv}XN3ay.ܞaKNȎ0Xu8vӄcu+5f*kmH^jtqk}nY8$H@9 YRQތ;0Ʀ:BԞf &RxJ5'l0ɇ Д:K[KH՟O>$P T)DTDB\NlGdcB6K3 ir# LJlL|Dhz lp=?2b2ܱyUWqlgm4)u<{ٹ 2ʣABMd߁qn;d5o4-/a଱n*24 P1t~iq=d^&Wş=xqԖp)=s9a<ѴT`a0Cx]=S/w+N6\잯3ׯw8M)9̠utFK~y-03bA"!u`aA؁w3a`ey;p%$$N}I $M ےfxXys!UL%K_'8.drxL^bjVTY[fߌJEgKx$(!TM:LΗߚ%KQJ)³"RYʕZAX[aDRkmuÝgk0ƢrYʥ ˷ ZO*-T鋝/k)!.qvfIAq6ݶop`2Xp';unsϭvStZ{{wQG PǯUR?{yapSj ~ᣚuLӜV1q* DUl}CqeSVr<[3;OC'p^Qc]?L'ZE-^qt^ŰTljwFdz9`@+RLS@`CЯm3~\<9nm':M;=#xVYBx.H;/3b`[((&C?R/_L_0HD _DKʗsyc"ge,G8D0f6:9=$?HA7 fliZv噘9(OhU D8kVBUs9iUg5Ib9 zP`_UFGou{%U҈нl>%rZ5qN%ݺbJ66$Zo@ Hfbu8^1کFtVj 6~Y"o];E W[ R>GyqaN?bȜ5$Rdи@|f2gݚ`bx°P2 EYawg>[v>\zz6O8VaM+7m)T8*2 ; 4x3l~:$%}8RX k-yt qe"c=8~tٕs &;mZy{Z;JEe ]r0쭮CWIVPi7P| z>/#%o6X;$[w# o<`X\ZN?Pl)8e0ch}˾R>w$Oi$%EY/= 9JXIipRcuF<ͿN'H8s1la+ZİP%Z7?ɞ(F16aENLjmѓlvߍM%4$(߮:.% fR ze+;evGV Մq>y])϶JmZ_ѥɿ4=[V?X|΅ TlVj ֮^e>enߍy= Zy[p=Y8;J,l _3=!Rҏ6#M5zM!@"qmR}='3%ا'T?;8\Xg?+ZJ?U˽_6{b T[(f~ΐ>! vwyErxsOZ`t=jLD6~:{;rL?91 ձ[\(d"v#NA<Ԃ<ʨl<3/5pO;Y `G^㏇ C.B*+!jGՕ CeFaggv"2|5]QvA]^XslYY˸VЫih&l220o9h%unHu0qHtnWT*^tݯLNbN^΃(^א*۴^1W-~D"#U0W.r,3⒒0"fwY[Yr`A(8ٕdR}">_e|Pb%~IrD(ׁ\LKFh&<0; BbvĤH>ԼӘT48fqY"i^o7)v7/ߥK߯#M2hҲXB_XE(an6,4So$ eL*\Q`oIr$,Mu,ݐGOVVo~L:+mxaYr#sngĝznz`|j<}󅏭^:fj Z ϥ\5YY:ū1,'U\pwqۆy>? $7m7 XY'VcWq|^şxSUSx6[ ~//On(Yz!zqpk~f/{!|:|X$rvÙX&pyiҀ0m)`X~~{Mk"𜍙7׏Nd %*E~0xjShgpAdJ[n8i(>.=( W/iscv߳mQ4VROڬFf ;}ڲ"7GU.݂ Lِ v}"A`Y|I.ލRS'd0%o e|P7$Ywj}т H;#~'ݲtmɛ~Q/ c'e%E~ɖ \g K |1s&z}!h?̚J#8+QXfRR4b֙c]#OE7;[_Z6}!.)/j& +FV_*Dk4ADru dI"u^^{$g|wê~JYJ"7<+/cƇ'|;OU&>>Yaۀs!UW,S:wE}_2rQ EP&#SՐ_^.bۋ~BR14[$:xE$,B)6۲QV[:܆E,h$mJvmpLS"@Lp6(k5q * l׺$A?H2oYݻ9 I)2 HY sPUֈ3E9|)"hU'8[bD òtZȮ3YgZ|M8NC^2OG)sBH b;a[%Y)ي X%"+g@&IUu.$'ە- Ѩә[bw'|_ňu$y_<Dlu8)L)?([M{Fzm^X鲾5"pQy.F×% ޗeIx€{F\:~CTl7-Kv}$&,[M#_W,i?m ~pT̩VM ~_&IZTs^_]ELxn7)Z OzN@IIãCY4,p;RO2m ~s[sy_~ꅕ̦kda|_nɳ0v?Zd*IANheiLwv[ K;axjWVM[]1^CS!21/Za l?[ 5-Wj>l ]#2Ew St&;*POn$<-k1U%`aJ2"C#w]t(*٢3dXʍ!.L>/p-(xپ-xsg?4eƷc ~րs9J].^Os#)C6p󬘜G'YDɝQ[(LWB|s,͗f7Io20?pP|?ݲN=ju&$id:8u:ڶvS2^¯ͯsLV1(=m Gbk"&ӥ6|A {3>z^DMwØ@52]緅}ޖK~HY{u˩E17(قCNLސ=0R̈*8\ %(,mmYI|:ʟ ;lsiI"*'4D𴡜 |==vb>v.'=`LA3Q{ɥ:a`ʌ-|іJkLry"kǯB8訅_\LZ^'^ 1F}Q @ uo/ cvŷY0\XuC#G^@BØꏓm-NpDGxٞP$&ay3[b; ]PEM~$BX()&e\IKdJI6ZVǴ)i5@TՀo E=cë_Ig?1`mXB%u0A,Z ]SD[K;s@'>-ڸSǫ(/NtMsA]@I'5S!PI"@[ xrĬ ºIɤk攒+.nԁzD3$vLKjw5MѻY݋2sZ&/P3&cF?to]΃pM8:TN#+ol[ ^\R.#rxVEXϭmʹg94Ҭ;<5nn5ĎS"N̞7`15ݡ' DžNG1_^$7̎Θm"UHH.J /K8j"VŹu$m∳F~T3WVY?k<sd\[m-LͤqbѨ -1JZ[ Vi :oQmZwK?7⪇#h]:]vs!s؏&ڀwR?, ֎R#<fHLk&w>;X#\D0(#فr69"yݟ!RI.U~G@z5Ee6=ZakTo>M=K =Gc34SCπ:5B[&{ OV-bVpӮ9'_ kqi»At|C{;-(FdU{l0I5}ashhfԢ]?Vk`ҼGC0awQnA}zd4~x7fPiprg*>za04W!w:HcNjeR~CYrd>EP<6)D~VBRaK9,~WFdhUNrR"AS 4!+>@[wKK_ٖ?0Œlu^9S>-w^wCh +tYI6F[ϟ}'`S0*EsO=9|:yӀŸ K ɠ0ed =@ m3 \f_W;pv>?jwkӗ>vD `̬Ğu:~CaK&%rs9߮~ݲ mf7 xjc\Ur Ќ` *oT9E HU Hq2> tձ[wVrA#Ukyg 'zd|F^(*QB!9h%ɴ۱obƒ(k.IgPViX mȳƟt2l"8Sɸe*gQErE1Ƶ6l~c8Z3LN(Dλ엹Sil/g(x$EufS05)4&c^#%r>~ WEyn?DkYyM-yIjЄ2̅v$䄾/yR ߇X|7nxC׃KjkYi8^8~ 7 <<1tGd`e߹_7W#FraԂkD8bP{5'7Ї+PTPsNG:t+τ?Xl4TN?9{8TT%pl oBxIGޖS&9dS_¾+nI-ld 5㼻zSMp򓬳3":غXcl$\VȿBCS6ߠ9{1>l!eH^Tc'N*p}gG Veپ%eM Ur D->Lv/i9FH>CI*\eDv:]Kj$ N\=%ڑ2զZB2^C4:yO$v-vbzub+}()]x|2a\AQNϷMxsQrr3:~q DK ?6n+*zn;)V{ȼjH;Кb=GLi1z0|1pEOSR6WHE"?9B(5Gb \Z' P,6A'PZ"i^V_K]Y䪉5~'|jJ'פ<3X4C I1,nG!);8ۻY n'! MbĹs1[}1Nr?JWowMoveGJPwҘrE#z3 WLȐ Fݲ\jْh{&[+ÌIt&e?ޘ߿!.p3vWc5d};Kryd,c=Vu00PP=qԤ\+s.n16dҗ  L1E12 6m 3hJrߓ{0t&tهn=$ n1y|.5pd/ !Zi qs d2aX^<}O7߮G£Jax2){Kp\)!]k'hC>.y!Q/Ue5ٙeL?HO8rKH'3Ml¨M1!E?ļm@RcV/gWgQlytQ-\&$WzՈa(-&16x|1Lgߘ\r6-]r08B35wJUXKhv?%aTS=,li,^9IJYApJ#Qz:VJZ55S. $0?2Lf/V/BjHz98#h5-gwJ}U񸺨3q,ns3,df?LSiucH O:;:*{&3ׅ7SUO[&M)"3.Hy:# S_b珀SUvQNT 3zbGgŒCm F܉#^V!L' M:SǖtaV!FG+W.[5K*8ϹB__h}f*[B0t . JW*PϡA8oTŹ!R}cFřwޱ8w_λ>rmP5BO$Ե{̝ϣR88fl'\ho<>2HLV76TRW!6#I󱗅ɗE4(3}YrND].C—_ǥ5Likіàre)53hd%lۨuT/_Y/PyZ !P,wp&ύF_GZk輰㎠ՋGa|OByr3äkUY"TƗmg֜ig,~n̋ %E)Dp'{y8 6[/v e94v7]1-*+sn7k #})ciО۬EJ0/l<#9ٷ!3lnx{vt?)7&d>}m&>ϙHVΙH_^2b^1 NY?nPzOLxL2byg""-Uo]*] ˨0>uJ؍i."ܩ^X&gǞEA:rVt 0EƖrryZߤ I ٪[^s?- Ca"D?SYj44gR(y$b;& &Q*z+_-@vt!n1O UCrmG(]t^,1Cwzy[;!I,8b4yLys)˷%9s$EMsM9 o'9&*.{ ?ejc?/rL]lR*/kO9SDk<=v|vqeIk3 {]';Tl2RaܜLICpoY26:'NYvd(H㛰=a`<.2ݿ;!+ U;&g!~Y6et6`##lj_C0Y-Nd[?dD>n\}Eq!- 'bYt9KEÐ2/l6OyY ,Ă+>LNG<ϲ\sUTdH Z숯K(M" l#ʎvH\ mPdLTV~7ۀko>w<WDZz,;%ԩkW{N(Ei ugq718-<{ *`╨(AFkdPq'm=G2J$z fq{ o[!Tmn’`d-aү Ws&Ig C*e-Zᥙ&ӈ\?KTK*B9ҙ.mq;oVy7 QH[Hh쌫bٮrI|R;jy =rT+/ִ*e+~a2|v#N/:`HJ9&0o\o?u)~ y80s94" &Ʊ^ps|q ~蘒tzĒA-cC3}×hg7uKw "8exiv8}\^aY<"|/v>ŀT?D]A4#ڂmMR>čuB):_CPChe(>"Kzrq| 'i7&W9c4}݆[L'g0pPop3v9;yu/ i[PEʑ ]X[ÒV |  t,kI拪pfJ50 NHH~}6l2_ۄv'hvf̸ӛj\Nݢ3;B % F1KK /Q9\VATarS0؂I!.B94C.K3K?ۖHbȨ'j;67 >VtB $1q PWg)vꨑ6<8?\;ڑ7,G$YU=|ӄOM͎;"A97$ziCfvEw=?d .?scO8_tg?kJ/r ]:&}@⧑13T[24.XvG8bֳk$F~I nj0Z7)7i=udDD Ȭ ~N#WP KҺ6{fEo+N[[ l(@\vKjn]j9'F[>{ WUB8L+Xۏ\ P)O,>WzBZ1dF]}- p2\0fǬـ8vtr)Fb"Su;|s}AFw;Fi#*?:vsytL^ylї!}J&шL^]3 |:`gJ)=mq%A6/ecQk ;R/5ȊX]9P\@dK>t '?۞pGέ.}ry_#%@hk4Ԗiv.ήը5I*BR%5V뢛8xw.?D)<˸GR^pͥ猪\WGfV8*qC9l/_$ta_~aS+E)k|/a7 UJ.ωO//74|4j|rRg dQ &!+'%$N>04$&K\{ΧMz60HFa͏d_]#̳uy+>QH%=4glfpWO_c1{2|X)Xe@:~P@W"H H|B82Hr@OS1,Nb(a|$/(0l?\CO,d24Vk˗es[mNSҪ`/MͿ մ:EYW~QIܔP̠KI6FeV+82%oG  q4%U:O02<)&o+Kj(/iDqIEU'}vH5ig^ GdiNȪt>VY}-^۱HØo DלEm'1JDn5>0~˹/)8^k >7 3_=\^rO30ePY,9ΰVWſlMvss2G:+ |S>'~@x牧Pw  !Esd۩3QD>>VZbm"HL= ~GЀ͗}Rh IJBMR`Xbb$ƀ<:b%N~A2SC" RtgƣFç>)=ǑB! ]Pa5U(jQɨۊng %n r @!Qد[.:=Fb\CQsQ%VLJؘ 9Y3NrIeTWz)_9G9ӟekU8}pPB-|/qrd4yKC*?y;GJefos337޸_F-scL) 1Ƅ JX(K(˳ϮfoOi^AC|JdF3 _X 5wfD賆oJYa|vb4(B~(#v4$~ V)(_buOO}[kqRh'8a<[Xvv,Iβ l\d7PꜦxj#RO@7>LFx-tN-Ř:eydC=r%xp1Y1٦]*XQ|W*o}{9zв: (7 ]WGi d3Œ^E= NBJED%F(r(ss Ơτo/<*73y۷[-VKH%!1YeTp \1!IT+NyH)`8 Zj[=o;{i4E?$Y[}={}{]z'B@ia$ rFw!@f \%DQe>BJW͒[57*ΆI+-^q!;- l84zU|X>y !"8]r1o giD liZ1׍3󜘋(]=DH.\QʕI҈ճl )˒VҚýuΟ;jpȭמgoJK6xJ[?ec}]G|??Q42*9͝!۔Y|;%C~G}YYa$*5!Dž)DcKK 4ZiH)qBtFQĉ!ҒD$~Q=l!$b*kg9A(IM,t\@i]+@U9ʲ|+KSY Rh8^~^}8Q^1p_!L(rA=Ax~ɧ9,.pɨ$jz\%ohZHositg:ܣarΣfwH"x4`}}+!;|=O_|i+=ibFQMkogSygX\\l4[',:po 9 zge*隈߇yw>Cnt-)|OP2ns"wҹag6ha@8> zW_ /&+J @CB0pkpԒ2"2T(B*)$mspVxlت?B 4/LG x4q>  Lgw^)y^0(7:W4`Mq !Ql2 Rt) 7(ImZ;'54ykzO Vg0mqx l SUuAZ=go*EΣo{I||GsAhOSOph1fp> lOђi ꡧx_}XW+AڒX)"xKB 1>@E11^r)j2ψML@|R\V(&gi2k!f!ѦnLLpGpd47+>[Pՠ CY􈒻60f7j<1jJ6[7-oӒ| ;;dÊ1.2^FdsbVk^@k1 @$RkD l9S" R፮ZJ 4^5Eƺ4iRhgF/C=hQQBB<en^WC Ϸ񶪛1wqZ_XT-tG!|//"7ȗ+ L>&b*︠/aʌJI 2-s2Lm&)={ d4*m:$loݥ vG>dbs0B(APdBemD9?ͅ%VGP6_c:Hcc>{ѨhWsc+2{'"V[ZCd2!DFDu!ND0*(|Q#0JJ3 T4H AC,kFhkr30S{OQd9LDQ00LqXƃi^Xp.b"y5F՞ 0q|C4Bƴ{T2ÏA|aeɕGB~W& )x3>҆t:Mr yLWɂHw8"-&Y`{4_}""We47oݤ)gvƈ nwd?sl^fk{osʗKlRM;~'z{/"Kp EMƓ xҟ~}'i֯-s/cG)#idt#:MÈ".;ISĈK$i0]'3ɇ鈸w}oћK:8!? .Q#֮%1 c*nn쓗CZI`4Yq`2P,\NYRnGD MD:]e-qק`)mT$I'\U!MmE1fD6W3@kJ$)DS`!HRd _mCIw7FRV,Y#ISwH)@J%kJ2YT"ȋ +eNRh(e$cC8 !G^dVڦ`o1{[/0"X<}Sz=/D2W,DbHVRҞ'Sƙ6naG!D-srS*e0)xᕫ!Xlh{ko?HC0N'bBIQfXR8M#Bs? /sI th5,#|D#K?S=;HqBY( HҔ812gxog)>D 8rMrƈϯ5ڸLrqaQ!`Iwآ4o+/|{[N]d:Ϡgni.UC//s84%E!!ɷҸʂ4PpX``TaF[|!4 !cDmcѢY`uE>ȆDU.GVZ$1q+8 *),+Uf<RBAW&xsxҊΰ:S 1&%aNW$HNQ Cק=Ai+v&)98,F"YmYzy[v'҂6զ608C}7>G[ BDyRBX`{=TrĠɊ卝m-5UY7uJD@l:KT`m"#lA*F&Sx b}NDLcyl\h5П86Q5emwɀ*V81]V4'Q.oa2|[##!sdV1. 6z)}o} Hxwr w|=e~CWo|6Gc,-pk/ 'VJa1]4j o)\ۂ<x.Bt)F;|LđxRzy1?%VW(?̿F1/ Y~3si\R~S Gu,6Bs/Ї-> Y![d%?!K"%X?|ɟ[OO?\h5M#薒X wpOz&rYLYiE nܾ. '"ݨhL-yo}c̙_LŅFMIOYN4 ۛbi:g/|/..wU qCfȚDG4I4e}cNϝ cn\GEƎ8G3#TǤvO?kobnrl7=+wnF)t/2ܿpM&38 clĝ{ttt_Gǣ Y^bKKYUXklYMiJF-5vF EUPSV FZ>8T$IPDT%Z VO'zϤDڐwc4|?!Tv`gB[bGHr `5 bT"ݘaoy/nO ͍;4{"kק JJQu)@$Az$i贺IBd 6&A|ԂbVJk8A#xoMbY҈cw $B`8Ǎ1*^!M"`]Em/h W@ T#"d͜ W4Mi͵Q:A*Ml@.x 6.1x=~sTcv7J9`8'`{&^"[,a*<~?y-.>pwa+mJΚݜ'NdŘ(i MBٮApGkSh)D` (ꛍYC)d}"h\Vݬ' 5*z2Jh]j#P,-z!e)~%yZm8cgwPR_XEYI՚G5RBeSq8*i374p#oG g3<9N͏?-ؼ(+VNh$$VHJDhUVq}g3 8OUMɏeÜq`t#ewB*IUY_еXWWHF)RslVoZNWVǕ\(.G&qĖ1^aT8},R}v[9>@w$ޕh\RRh̑ HS4&='IJt  2i1*88pEHc| L .f;]MA(#^ŋ3|P^P}΋-ǷS80(HFC%<Ok7/bZGł CE>hLF;:m&o s-Գ$mn[Z=/tG!H:Fh cslJhbSyT1;6x W#_B@!&-7Cf 4ɘqYXDΗ{#A/ڨF5j-`L(QECMd(i !Ost 4G!HO;DqMnx|e: A>MUd zj'h74')G!]hzn"qQ1ū+=u,r>K/n+K4)>f9ڝ c[la&9(Q  gN#E]6֮31ml$ V݇`}wqczUɱGqR umHieIY8 IN6($n]$6QD=*r!)B]*5. BUH@HADIA3 HLs$m""R^oyBzm{9뱑[!8+*W"e=reA10iB<$nFd0$fpc{kL8Ƌw5nr[o K.g 6"Rp6gmoрqv2M N3'jޏ$wGWY9{Ic+h,Ɋ[_ĤF?efEܨ;TޑvM={b&/0\=[ởz'A<=HqBj%KZ&&Hm.Aj)c{$Q!fo}KA,e!x BHuRAL H̩yLb~<5Z q!}NKŜ\Yi:`r*rnoAE1eX8{(egOvU] ƐGĝ[ػƆܿb+qpgP9^#+*WE*Ah1L 4 Lffh^mzD)@P; קf7K-[X_#F1*j/\) [3gz{|u}]ֆU#D@H?YxDZPNHq_BY5Y|&IB,XyPL=iܨq]$a4`J BOBHpGm̃,;ݵgg4] laqAXb'(P9)@ !N1`*0Tc"0m /X5fF}.gi$Ug;5ݧ{{ϻ<hD<^XyR` r"O)g>Ib:R"D L4!Rk3m!TQ"4M"GOѣ6L fs(kb̈́Ǟij o:dxѐ"UЄ0&GȊ} SC)+n|6ր¢`24`GyOpߦ5YkŬ>Q$IBcvkTmo<քd _:D_z;] XEDcf' _B" QH BHiQOU2AHAc\)4B)M8=|"ٸ,t*"45(-hmw{pΣDFR'&$ ]t { :oVg=A:ZFfȨYGb&-c$hgI*W D2x麧:pE] C*$Δ˻Ծa͟){V{봘L81xUaqdB_'ZEE'w_L]7dJS7;`sE \%Ӄ#C &+zFGC^w^/oy?E[^E+5;ðCUhgԍdT-i1.-hŸٵJ2ʪDɄZDD Z% `אrAhi8yX$#nMRq>$*Y"6 y1Ơ¡v~_ qIDATCa8֊8KGHՆq2W~gO_L?%ޫ8A@hJ+Bq*(5Hsx<(1qY4LMG!^HJdPThϻf!5Z>s8LrcYS!8rJE B< gj 7~ [Ldy"^:S)60'>={(+y[?{Z-꬜ZI>ɏ Em: cc[;]{(g <wpB(t"|MǤ[tB%4M0$ޡHMEE$HeB(F;}L N+woyZiJ~;칳f406cy>u/q㬎7rU:G쉞 1W1w_ ϯڷärr?༛&"g!'A(qt[i Ov";R`Ӭ~'O3ܩ妛̡r*!%fjM N]Q”`A\޸V񟛛Tf60ΐ%JL;g %rV"Պab"IH7͑mIUh_2A5mYc< d7ď~kL ])kcOAE9١1獌0'LcL9*RhMVilL uEg%c)T 0tM4x#{G -g!H)P7A4˹KbB@*xgR /A!zssrijHqh E;Gk 8Զzw 5Nbw2wǧy{R@cPeIc*:A gkv<`\EZ:'3i'DHcLw&n8 ȦA,Sdh!SU`lAb&6c%GO|''}իFl \\HMz<ٓHF:&6\%xO8|Fӌ60GЋ;4IÅEg%T:! )w5"+e+|pe1u$,\HVS<]QB Uo.xX7Mh^`ǚ3D;;%D@iMD5uęF$ik:_#u B@_}!Bo'odqV'+m!"wb2ܢ2kؿAHH}Jvɒ-%\D7QhPjoRd x&MV66X_@]J4!)y4 $Zwv[6غFuB,r%}/#}vxnEҙgM9b`R4O!/X+6h`ʧ}$dᨹ.?,!\MUTr*=!eBJ!2X9GUMLNR$+/=!@৥d B"B yrU-Dc8sajR3.K=LVd ^<;h5{gt;x[d;P G9(%%mNn,zifi^$%xO|^;~7GiK-EZ1&NM%ϓ}AXƜ9pPWp!ńX0!T X$mdr]{+yca!᾿\ yN>ſ7qalO!֯fn>R@P&>eCIkɫ}2ϳkͫ^jtWtJҽ"3|l9Z$C) 2N g%qԎq W5q18O@FMݏ h Uk{ab}N@Vdwq2[|dI5:H Q̮E"6a03S#TP2Pis) GXQ:إCH\+!nyk׽8gs{;﹗SO-iev .P.P !GOPZPhU\IbA%A &*!$tA]">kwq SҢM IDKp! o9=\,=EBڿ4&MSsxqKkd~!:[Prg1%A34.xK^r+ӌG{Ny?ìB JVFɴ9Khދ=$i?8rC( !0 $Aʄ ^D#Nа }Wk 5m1H%IZ]c!DgY0 -RaGT֊dB^&X|/?|w+ O,ljh'6Hn I _|s%- /.?ìB ι(-Tu#˃*zubB!&QԘ0*b "Yh$J!B$$BQ65lY`i^.*a)>YLR UdrdMPZQL[):{α9\aia?&Y3jKrf݋-6r }=7)>OCh7½ӟ#``K~7_Oo殻^d3\stT|:] zi fmZ9f2ܠ!"mKצ'm^o4 ߣh嘱'3.qMMeHCJ^`!ԥs̝Z_u/ԙ3,uq8yf+oo?^n9~m>z9B?×ABb! 'CWH˔;$9-dtTB@"P:1fuT4O] j8Q41 iU5'[\t,i"06ZpuLRI.PU $t[;cC9Y!L`E9{)q!U1d~k}elu^;ȑCx+/l o_M,lMvhZQ/p2deI(`qa~s BN Z P $2hd4$h:{ k5%EO;Ҍ!0"IH(XXfx(O{_y ဝ!=֖G}!p1Sg.qqkBg~oza}Goc8d\roVXؾ9ʚYhbΎ>E 3\ !4>xǨjFPw3)lr@p# IRJ+w(q 2\Y4AD9h8zIF{uGc yRmi@YWX(mTyAj4c*3yr<5I nji*`N?C3n |x8"L.rk_˫{,2… ݻ-Uz^Fam\a@fv2⡧/$)Yh<$QTk-RZΐ `a""~q5,j9Qqꜗ,$2M4'nb}а|^9Atakyҍֹa8_uˋZ?w::ȍVWX]?K5ZE+C=y(R%vN__B'W|gCN%*"xG4_+ra}@  GOV tNhkI8Vd bk S1sOB+^~/_=`Exsz]mo/1}h4"MS Uo-r])|DF<6j! YQ;iBΘp =w}{XG*dgH[*1 :[[kJdT8cE4(RxR-1xԶS'4OY RxyA]7l6yH&"bLC'3 <|#46{a%w&ǯ)!^;t[d|}/X *#i-0j HP$؆AEjQT$ 'HnXqI-`-b<3l1^`"ϰcD=a2ޡ4釸ȋrN 0X '$h;kTA.Ґ'5K*$ݜ y|Sll^t2EݦPrH*Ν[=_sOԛXMՔW}YB (2i#2L!喏Ĵ !,)Zkʰ>~Xې&yRP#|o!n8oȲZ+jSZDcuMgZ.Jp)MJ!9$xP TO[?oҔoo`{p`jш{{ j]8̓?׿i4 YׄZ-!~ɲXj.dVIlH eֶ&T5RxI&&@(O>zc_ك?ʚΞc<[do{;~g=O:G9z0!!Òs|bt'i1O2;RZ.930 45 hp>{GÄu|oͿzk[7OwF[(r<n eRjj"yxdaݼ۷xxgw}Zs?Rk<8<`cS=YgaYBXk9;8J%w"elT?|<[_B'-tox<<$Yu;Lg;0,!|9 @U۩e0u<ϩ i,ɲ !۸p`M,Kdr%d!Dev􆈞xjLnqc.0R{nA4 rv8 %t;"zGzJefsU$$yfse4ὧ<fag=syٝafq^~ufaf>1af ٝafdIENDB`P"} XWa0)x}TQ.:$4'4X}pwlwgp2wwz{^==ݽ];HAN )f'EznNR J\֦$+yy3!6mBBG{M3S.))dDZi[00S'UNs#kO\*b,\{3bBY163#[# jƈv3*jI)d100_.QZh8ؘ:51GgcW gso @L $8XpQ\bsTXc1d=X{3.M']瘖$->@E={J~_ ,6IetRH{zau=S0H`IM僬(ذIk'IIg8& TR*% h&G\:+$J )0%%̧b~p@IFzokvG^nӣV׫ rf%#32h@8~=Diב RpHhhu]|xXzq0w4a;CXJV2TKIgt! {mmmfN/P[ǀ`-\@FI&$;:xZVSð8՝}䷚* 3`"J  CiuX_$a` WkaP\_mr9\p%,s|I7ݽBXXX}Zk7{2fC`vïRjԍcgw4??!@_.aw}qq\ `4K䚘߾Ps\]SipJ8)mmm;;;u]c>8c^ c@~+]Ve+nֲkܦqj7fv/=pҗEA* N/Ejf"J"A`C.'N2əXW dhݔ&''zc_##'/ε 89ap0X`m-0kk׷Op@C-L<:\c:SHT6#)K*̸46ΌZ 6QQM+111=FbNN"'7FB(^JGyyyN}fB*ӡ2iDɩ)Nyvѷ_|0B}6qo@^^8AHζ!KsME\?ItHtXa):@Ԓu](}@ymoB<Lzw)T=ĠGvE/ݾb|WlttSD*2kzKaTbsj>6䤌M@a;SKO&@9w j_ 0yI'} g>&}?U–J9 9Qž({ ךgQ|KC;'46\smw|Br⟪'H!b{ǩ m3N=MzoFVc8)A_ͺ՘|9>|WΦ.lH<2  *3ʟV.lv~^/8' I:ؗQz>q-?( Lv^سkc>l9b=W{#׿a5Bi,;|/7+w<9-*~QnP ōgRpGͩBVZ VH,uG~A5Ju̠BT%.zNrMN##r}gYW-k|d'A3di 싲*O->#Yw uIQO`7`?vtrr0oj߇2dbWzqƸa #iGyGzJ t#) fHo1Icl1j<TFW,z|(N_sJjy~N(cB 3DR&78*}.7"ih_K'ꗊsSo͵V8cXhߜ?wbx }pr]Q"ɏ/1hy1a ǣD+|?{/bHpơMKڦ J. */ǢL$X9MBébWfƤv3E$Xws8ʋ{NPh)k籵u{ꓨlJz{i13{!һzBvCDDD\*k u9yvQg3>rc\gwxWڛ~.T) 08zUlTG☗!r0?=ۛg6,y'DFfQ{9 ~-KRޞ0 Zu7Sg ?̨~sz`ϾlF]Y8U͕$4mIvjRX(S? |cy$v(k<@ ;f!NI; _ڔRӵLfb8S269 n? bYt73.[ޕk0Otyk@1 }8 8),ܱнXԊ=5N'd*+M] b_G^g>>3JښrkKucۄժb~`ʃr>U}! a\~}̧k]oӳg l? 8;ZĂ6jLشf:WƋg>ۀB?2OUu͵ǻzG[ soE1 3- GKX&eA.^6e`gks#N6É!2<Sb5d;ד=5_ݯʄ|#ҪnrZ=zƄm7{냄[M nhWUcqQY>![MG5W!:wLh "oD#nэI:0wjۿy((iV]K{74h]'A=Ƹ'eBtHmR *"?o⬫6^mloa1YuF-n}w:mMe(e`%iv?8+ c9\`{{k?J}y1ii9c0 }03q ~ZC}5Y}Auߩc; 儂PiZgFO1YYY E>زJ{0|%̉UԻka{ \;qT$#/cEPPTWug- j|fE$x22ggMP+GUFD-43"]QU*uBaFos O^~ iOd϶uHd]7Vg(2ny/Jc7-bU% >i,bѮ=;qbSSeAj:tJDi^ԛEߟL|raa;~[׻jZl )'&VVVMB_CssrζGߢssЙrL\\\krX@ hJ\ ЬE:mX$~=>Y @Qc}>T*zeD>Qǧ~>l>h1Zyl;?'XG|cP|`qLg<&:<0\8G5x6BFսa$[C=/+kn9H]&O°+G_Nʟ[-%xׁCWm{cZDLB<ϭ^5Ull6[=QDEj ^?%m)mueDs\ܸOQaZ*FMRd.>4'+jw~j:PAeL-(p*dfgg`;Y ! !^7; ˗#g{AqB5+^fLqE4)%,J:iWo 41Pz*O c6Wקjk}d*h9Lfme%3VvQqqz@@\o3Їq]3ҮFda1>'ߌ lknjGEI/Ytq?5l9#͘ЄȘ><gx\5kNOrXnzs?迆'WxT!|44Ko7 RFƪr䇷#"PR# tdU_Ba}yl|0?44yt4l0 -1? xCؘ)mVzi%5c;pdvQe{lYZ!<':+5m`nG[բF|$ڜ74\-fBeoþ܎ovj2bGov5;Pgv&v:.jXO3+T_#Y?#xu?M +_~8'/uD[C0jJɓbbb( mZdj!aVUvq{3!3Cĭ6l%JFKameOa9.+0M kg*9Kwt 6vHxF@N~GWĀ5$quxC]9첓ۮɯٱC#g+|@(/m9QM8Cc`Hp쓯J.] >y=]GOX<~&&d%@Mx& %n,a{ƑbqĨ\3ՔlR*8X@{i*u\~:kmt_%YUs?oM;NӬl]R-}JM):e-=Bi+2 J4bF"?!Ia1#-cܗEk%!$dzBO8BD0/oֲ 4͎N'Iɠ2ݯ=,b222JCna;?ۖ',,nigkt>)ao7$&ǐԱ UD٭_11p50#-+:Ca1F9,!, lfe̋DMɺ0Q")h8RxYSO\h­uys3@υ*qoWhUs(BהHdKB}ӉGsvB$T@@άnfars$8@ {7m,Tb,w\i꺓 ,ZTGT @@vNVi\ڋ,Qk$㯅#CǿU#e\ϡs?O^\@VPZ&׾Uri\uţ8Q~OÁ_/>m=9f}l/CY۝^mB" LRI_Lc^&~ j"ZBuR7l{!fLȫ^'ֵ4Z쟇olMe~< o0[b5HF!= (uvI$5^J#K^w'=ă&|8'ѹ =KdxW82C#k:fV ;ʷ#hcʧpd!I#*k'~}x;);"p;f0ix Io;,;>6ŝPnձՅ BG֚2mnHj-vYf-$va%X)C,Q<5J)P|C]z2tum%@@ZIo GE2F7C>9{V ~~aroů*v9}=h|97x[XBeߕUXVta>wW{S1ީa+VPt";jN'KUL+9Ghܩ@O[S?OsR@/+3xȼF+ᙠɩjň~۔A%%с@cіYP7 ٍ3N:%M?/meCؿ880١ջ"2&2/s5!0Ů ? >˂ekA8 T?`⬄8d<ۉF.Ũj;db=#11QM]`m䘚!1)bVJOA$E[J/;ܬ؏7 um 6}Y\0lKz˔7lt( F=Bx(  BՀz-Od?$)asVE՟/@^2clu\өݿ[o aS)3g_[{$Õ} flī''KѷQѬĨfF/5 &̝6YS=\㊚ <_*$%,u=t:5#TC}w6 PvBr5O4u-AU oRab3s!|5tL|{_y?n-i/4na!~iik$OTPeanuiOϑx5~zE0gz4K=D?o{5Pŀ%3PUWȆ뎛q!@5Ȋ׷z'B KZlI<ئa o:Ua ',qpDT/%Ƕ=QY' oИ'BC0j\x'S46U4$*2 */_f`5Q4 cFoRAs-)#+Uge_߈n7 DʲFň'z)Yp"f͟3(w>.,P#'%+RdJ4텥#,K#֦>/*}M\T*F;:ۇTs%^OVؤ<?I#c9wL]\.#TYwvH}j2Y!]EǐD%̗0Lr( ܖ9.%ͳ&̭xv?+/ezYAz=~"9Hn/z>>nF?~g 4=<.;y4g(w:ysƽKGeicZ/׋@2)IIi4ǝ>̰k i`M,_0]gdLn?K(<怾>!,уg{*$:sH\6 8b25K20`D`H};!PSG3IjIyeRsLOEϵqA _!a|~<*{۞b0тj4SfRu]RsvB.G@jS=UQc+ n6'$D$%C78 5(J:Nfq}σӄ/Qj1VTvP zB-cK9AVقx@h Y>?]HSK/5>lo/V{%+й;GDN9"c'N-:s ::yS`2%B'>8lI{>_!\g||UUfgavYIIAR pdon3G`b.'~ A|"{/e"yX}0KĤ(E+l~^O;Ec""WYNWUIIIq } 7{?v9M _A璔eNANm%8q=+[tcYq8ACPպauK &/SOf7v{#)">2E!ǧy_Kh -o9{ 7 bT:1xt!5A fpKaXUter{p,R o!7@KHIɎ7EpP/*R ͫ. IK-"#'vq?ˑuT;!3čwW:RZl?[z8ecя?T^|㗢בE3Vĭ`Pdh|cjzc71Ep 5cj|h;`QvLB2D] ]L 9{?(&?$F*)?&X Z^E:3-3,R&dW]MUHJ7&:[>nwU,Lp.RKfj%_hLxV}Nh~/8JOn{w4v[ qW!l-zcǶ+h5y 9R 6TyY =bw%uЪ N(n QYUc'6o=VH֜/,`3yNA璴[5iJ5[`"3hgqq _6a(k)S ))?n޾w%޼DaW:O 1/XAi߃w/kv;j)ʉGy!/%Uir~$=Ԍ"\o&ϐݢǪ==h Kʋ.5@)%E,(Ts@E8:FϔS͒8>Fv)/;So<)Uu\5{k_- ʹFmzmxevaGt'EdMͭNYRC=`]4(Į`9h܍852{qT&)}T!h܀7:|LU'z0=Y(*:)'9* 3KLC?ȝQՑW*AU)3vc^T˸HG쏯WQCf89,JZdO% NΖi-t`Pr,;B*,i{~Ru93-ywo?:^7*bSe+EWsIx=unkӆ 8ExIa+}Yc?n^٨;5["%{M:s' hUH(`B۾{} q 7-EWl؎'v|'N((l{ʜqAl|h;30@G¼O-Ɗs}wzJdD-Eh;ktH1ǮRϚ~7}F/(Ii%uX}7knG?+ZoLIY3bs"Z׌_(REDLXҘ|v8:~g)H3VHⳝL.P@ BjESt:Eh~[qbb$|79L0RG# u(laݪ쎰S{VV)V'H1$rBk9}#QW0X|dNSȸOe7ǂ+nŁ6 aqnxs7_TOj;L2R1`FZz?Sbpw| W:ټɛ"<VtCKܨ Jgdy*C7.}}[E~:AP(\Ζ*[ cX7߭2/__fKgkgqdI@6\un$3d:*æx~ E2Mo98ꬉKE%LyXpuݾ#64laxI2;3yT>RWy>bI&? MS0eZq V&5áLv80|V3xAqTPeJJW:a3 1bU@lP^BIчՙWϘns5-bUe %GW56l&䇗ɁIbieCt_\f@6| MȮG /iQQIsǍhƍZIL7>EfνG*iNׂG(Va vj'䨪s~&~$9)9uѫ04f=#{3pWWv6 [U0˻/70̻?u) d9[}4w;r|$hjlᲽ*zpE:(DD@V/ [DOy閣'_I!w[Sm|y zc$'!;[>]W$3I:a0*`2y-d0\8Jm\>h$xUng(+rzڐ|8[=xBC˩~8LYMo=-[ldK>6SwVĻ<f@ӤsnIsI<)8j#x䨍Dl&OD`pdvm.8O#+Q[ K=9K.Ǝ4%&do* )q\KgO[Ks[mxhaXY^A]_NCN2 l3q##h{$i;AH{o:oC&a*@h>dBvi'/noB?(3,Ytk#saѸ'wJ{)H=WTBg;NQRU,"@RZN* [Ni&Ud6XFebfhζT v1td|y#0v%F=;??U_ {b̉`cKO]=mibGB֘ l8 p+Iy>_ɦ2hx&)䰦ݶV Ե]B4Նi$჆2ɹ.?sۥM4<ʽf̛֤mwKfs9)6>i2jڣ =w4):}iFlMtTI"A y8>[p:o,fR93SmGͶ}Ya%'Q4cY) t̩ڿ}{dЅ7XOgfYaN["V]Og כG%d-3y~#A7=V \.E&Ȥ,-CE.}D{|?Nu9[߹lɅCDEM p"}7FO!T@uǓ'̖|ҳep伦\( $)7߻b_ҙΊ~wutt^H )\_A1YRm2ƇdШ".#E<;!8?7u d߫=˞sf " ~z6[Z|u|a{I~>6UQIjp?*lߍ]2v ߾~녪$ٖօt@KMJ!Ym3r%Gp|y[m*!V]΄FM0p \i|pB-BwOn)^/,Fy>Jkjsp-X[+H:0zݺsr7lh59⦱(^yخE 9zPRRx9nw%b+PUr19T+_BP[fB7zK ` K y!Nj &YK}; j5| gqm)\Bq|#?kkDj5C?osc% E:. t.g`Hj:!>쯗UUTPAz}J><(>-EſrZ__f=gp"=aK|ɬH1zɑ&xaorZ~2{jy=dhO8+\49'q~XfWOM*z36!'Ƕ\vyy/߇S-5ohUy>gx)ްSM/%:,lll =6KL탆`}MzEt7)K++l.`ؼ|f̼g*zBbbn5i-mYOHxɷ71G~29 #(γ/ wva>Wm]Ù_|qQ俕ݶϋZ_c_#\NqO:]4Op 9Wj'3WTͳ}zZەp]CFW1քD!Pu+ɩ*MG4&ol&09.F_6۠"6,[ .Ra-5 AcBS` xHI>a,?u@ڥAzujDYUjÆiMΊo;WQQMv9_RTU]rZՉT+ٿYg ddhXx-J]ƈIpֿsD<4;"C<l`k/kj'-ͥGYGgX !߼9;Rrb,4Nڧq_I{vdXT PZ}$S6x{ <3Z/TLaYщ |Z )=-^w1AOeI1Ƴ̱$%e$44lMB ;ޞǹ&~.\%^(7F[c<ŕq3NBv׎HD&;Y\N*y=~Qf;~~]dmMߏY  8㒭Zs+1XR-R~F?`\/5+fz"Fr&$?A%Q"gГ2ٕ^[`ΊDXFˀPs.6x0=ui*Twcv~Rwś+!cru?Oo%Р?`^~?U |kNCJNd&?4,ڐX "|U1*b β&Xj|bbH<)6) ˵jxLL`,+VsVtj}EQAz@8ZR~/XYVWD׸q`VQR,w1J͕w&FM2--<{J?_T<"$( ӌI,vԇǓJ^?(;QzII+!FDdojʝ^qECJ/ VT_f@LOb\7]3?D6}iBޜejQ&5`^/o(fphL.jl> /[Ү3{."7@F q12 k m;ͫw42wTƆ\I2W6ӻ x#j$~cC #G65L'bt>(YB]4P [[l@Br\ve!s9"ϒM Y 2P%D( qhǺ?+F1A%:DϛB D)H'jwuܶ/~sBL 0#:JNo%)̨?ܳ!Hw{ (h|](Z#-vƃʆ'-޶"қy@ڇw/> o:Q܉ކcD#ACBY1K%b IQCCRC{٦滍e2.ovޚLF2T ())5hXQ=66kz+>_yM! (*s,W 4(2քd*yոuF` _Q ROwK{gK(ra%L*x jL-^Hpylא!@fYDm Ff;n м@#I:2sȤEN |J֛j8F@QkKֵL(@ac>4MUgw:tN9ỽ[<|{Xm`2e4549)K"N{\r;6veZUs =CѾє r`dS!Qs_Uv,&|#QI/iqFf6:̚ADIFV<jqs9t5p3LJtͲ ~,,sGn3I>\8W$Πrg:AA<; A tY3FGTf~n6bꅁ=$s˝Ǔ,XP,_-~hfǺ \ТQKV_Pl!swR+g C{hEn= (55*j Otv4.aF3v=]=O˺ʀ0(R2yHluX(7WZ0brTx0^lPy4z ,["d㽶ayQ#fA$̶US-%Vg7B*50Fb`]q)$vZ)&*:긱ZL̸*鯶IQkcC󵼢"ʮ}ZB*͚]5"CDZNLh076X$J}=6>BxZXX`e+\7;5r*&wT>@YI[2.#T&)?GE5axgvZz3quPìW素kSn֥j8?<]TbQ:,*"D=ܷF*eͮm8BR'+3c3WhBkh J87 u7zS,;ΰ8OzJ)#s::*~SBK <МWO E2^>zs7Ш,Tܘ^F48$w?'ﮒ 5J-k/AF'5:q{NyPkd@TW)i(`Wݞ{;m՛&y66\|;ӥVgo 7o/ ӔV7}O\XnCPxϒh/$i>LD{4 WY}A+2O>1@>^rb -gPgt#of3C"gQt iIC+Qy3x={%FB 1C;7g|y)zÚY|S:D"-Anree]'!cɕ[Rw7ߙYmd8t ] љxWg7CHWJajN7= v5xzi(_ZAٶwYSN.kY+wkOtnMίX&(X$[[bp7)gH7Pnkq BjR]Rw|aDÐR˧@gO5ɉ`5P1a6AnQWѶֳ3i2B,u#8fw , EܿSeڣNulXbRBR[L1twl~u2}ʦN. jk#O#+fpF%4[MxF׹ER|_k})̳G(U)]4h+LqɈVbUtI9:6hR5QeĎ7xvua W[=f7ˤ+lJJaPpG?ɢ^d%cKZSϪ?i7A=SHqЀ]D(a.'+,?܂t\#1 z}W}y>U)䂑i!\v> =x,U (ܿ'rJh谌).P8 MiUpdC.y窍ǂjp"C׫`c 5FI|p 8(Î$`2{즲S!6qKV+)Rף?`E:' }Ļhj/@ Ѧv.4sc/Vkmsȋj ~%;!pvkw6Tdyåy.B)j8q?rmzY?N/(1xi 톬MCU39RjOFLP 9 K+_ySNfo Ō4иo ۵GYێ'BųsfɦZ D/ɫlģÅ('_[ֲiV)U$~~z&$V+:̟}I ˌqM|u{؜T!&(a $Jwp4d6 qt* |i]@mQ-J'Z@2}m?|:d 4?r}0~W}uENI\R-1I`;Z[^|OcxttKm52< 6Iy}MXF=L\Dv2 âNM)TE30JOaI$%n/*Q4JT R_pIoQ{%%pw6<]W\F!c!Z{KK^cŘzM p@{C7\m/I7{>s恏Nѵ?Jw"[/|?Ibo QMN.cokPGҕl;, EΓ}׌P|nP4R3h8eN ]+Ls}:q+MZN+h}q |~<\k57v7|J@J w1S&Z T)/"({:8a-ۗMzn$3D7Eڿ<\a0`F\^Ì鹕]H;H|qDtAV8?]Vp1_X| zm?;/<^S%$0x":ҸGhhݩ2&&7|v]˷PP,jHV=H" ד f>>5:1 ZX`|G/λξoJ(68 |ɾV\TھӼd~' \ϼSiO|g@n|;t/d P#w %q7<뮎h|qب$" e(2@ٸBBJo֢,{.̷s=gl 7a2K!G .Qi{掹A`tlaǛ(J4QϳgvrPd^W=,7fj\6&%t1A}Hj]tɖn)GXa.O̿y{Dlr"Ԙ͑,q.G6~ٕ岤alf4s6 |'b DWeí%۶GpppH^U|Crgd ۗ(A1:m~j}QA%̭m寊gbsJ*Wi2bXRIG7O =o`:et+ |]oK@li3i7C¯'SS{rU;quEHuܿe E ؄zt)N|t}R eUڏ_ZsM)٤'ė\+Ylƨxuо+iÉQ9Vix*<[q>7էl۫ ",z}nh\4f3. NgΤ+, !ob!w('PeYX+>ة̈́IW M.W0h'W?;eۖ"aۍT:.Hm]E(:3%/H`Vwcڅ2YbmOO~e9q$=kTV4iX}p׷I9xmj!tI?2:!%\ g㪼Ђw !Dagd'%%W>>%Ev[: ?~74Z/",K+)<1Gh,8~ udz(3EO3W?iL6ql?f1W>۟dl\'7>(x=!6gO,5yVtgQxF\NK|+ʔβe :>aу<(``! s4lٙ M/cYR7+#U5{b!a҂*h%&9h+c6ܳ+u:R?6KmߐT{zP.^ `؆&4vr;q doy 'W啁wxdM&ɉi#P:˛c'Enn ~} qtHݜ| }%]ظo!0GRl cg/nm%޻ΐ B:^w4ד\XO<|dPaH3y)"5Qb7Z|$71p%.1ls oW\y-l `E4!][Dr=ǛJp (0;:ѳ|1-|_xL6g(W(H-"ot˖Q{Z(CYp"K " NPrl\3"9 WTpݕW\- @A~(W}CkTJ ʱmJsI3Ux< Նv7.PC.=C@W{聅.Pbe,/hv@n?7ūliNR_ C?+GQ)kN GMD-8P3ɉ:RWMw'KS͕k,`-6;-r&Ì D9 /\ۙY~N}\,$HRsrup *\}"eLb:<#AP(7?Pxʑ'_/Xؘġ,A/T&+><\'=z[DJeς3yxo.@`hAd3)ͨ'w1wWJ^9H KbQak[]嵿|];'YEO$9f`GRe|0S~/t4`XѿK WsL3TEkPj|Y34о7F \^jrYhQE\OھMyW­`k/TOET"B<AMtfO[i]f9E}ؿ>Ժ86/Thq:P]O|)]@|7i[,>7M߼vHʶp%/(szICH|F,#O.GdDZm,~qx|utyJbb"Fb֣w1lx)wu'CGһ_? W_Mō\M6mD$iډԥTIJJtbp8ƒEnn.qqq8QQQ$&&Gzz:. ݎrN^^ DGGQ?iOqѥ̣gVoz8zl+~㿪U%Z_Cܿ0DGCU6OV/vzvs2F0X90{`ӱ#lٌ;gObU\<]O6P75@[w ;N ŦFU]\; 99coUwhز2;t}f==bɰ|nGCCF,xrh+l/ߏu/MEm?Q`K1ojĨ}&$V.[鞋ǫs_#B/f=ɤɓ[dϝEY"#l;iͯbh$lEa:,+ɔ LG}\݃9*vKM7iWbXf )u;8! 73c<9MQj>dEkn&:ɓ'zÍ\xL22XTT+60aD yj,$ןbn@EQ\Z% (fHK}kÔΨ!Ԯ`^ )ޕԾs%\9B{`>=.CW:inNg脈,"Li !ןrMC@tih Yԓ8=H~K̑#O!o,>M"6$=jt>š_z@nkCԧϲZ>ʧg5-sS.#1h $** !%Ϥwhp$%=II}mHX~K@ImJHsA]L\r7&ȌGg%vDZLF\J;l`ԩ --իQ5zkRog,6'>kqߌ+aBڷA)ShiNB A_HL¤ 5ŘX1YuVI 쩬fLa hW1tD[5j9QϹ#KՄnj<1& U ASF c&'.?֭hkqM}H&R٢GfÞ]>X1ay#sG'P|Z_AШ9~n,{JҰAƓ錡tR1 -2<^ԩHxs%c黟mD;iii!0u4 w_(yduMSFd4"RȒ QC AQ}جxav?ߍ1g_# (l?.hxs1 6 I5(DR~%gN; 4L2Aj0钱kU$:$~8hg&\mmlS8l!5JЙrpJ[p;aF''} ;Yi iL~^d;5~3cmYQm Epso#99nQBT4D C]DHSDbvq:8Bqqq'Xn7vN'tm].X|t:ѴS1IR, dP!gŏ,El3b10\ٮG2qȬ߹n ==}^bf!?ƠEVnx"JBSr}:]uk{a=g' 74X5{PIfX}NO.9JƐЈd _DsQD$kSPO("57Lt<Q1x;z`ܵ Xh֏&gVo8*C#~}1!W3etX6 &LjG%3*]IGN!Pt|Wt/d.'%5#հ%9HOL$-?hр=6ɉR]AY] *TT`ћT\X&=fZګ9tGRc4)1Xs5+-}n|Z2[gtzFA9Y (?V'/@yB{ho%Ez̜,J its\~ؿ?b1ΐطk7$qFyTVj /|dYfС"t1H턇ldsHʚ'xOc)\BHt^tX ݷ!6;su=b/u(;;v{F,zMXni (76XHKM!37Gg4arkq;BylO chh@8d$.?Oe^Ѥ%&C&# 8bb0 r՟QR3MUcpf##&OB~NQEDzwrכY2{} ;?XDNJl\b "P^YM=Z{5ep -53:HL'=3-.炙gNY 0l֯Q}dIֳk0jUUDMb`2ODΆ'oUdIp=W晴S¦ |FZI pۨS#;t:F$oukV"= Mr&њWR1aP'p["5%%#ы@РF0g@p?`Y?D'پQslb&6ZCRbI,aDX8iqPMQoP5p0lěA4DOczi:Iش~=#1b(,ZbfhFI~GĠ *'y>[DM1ubf+VDz×crxBf3F͹ң\Bv|&"yL <Z80\f{*::~c~iZoqt>o:JE4Gg (tA, _|1La]g zQ$4_ ^Ce鴅tLm>x<)6Q'|h)ZUM([&>usfߊװ[7!X-DOaC7rd_D\bl~aCKqc)2abiɌ8X-uAֶ4qboK8̍gAs&= RB-,]-WǾsٿy6 ȁkH; S06܌bc5DwEQv:=h ֥î #3ںe3︘@+}/$6-Q_9:w-tYDw C^'L.Rz 'tHd z-mǑ/bWM;4M8럘`-8e bO84 , ~G)8N-)&*pŌJ)e쟎%]f LKu6si R҈y8Tegq%cGnfcq)mS~<&R37A\UFRl%x|NXy DכZHmUWZΖ:|rV{qߘPL * Sc=kUEkSL\7DirܳC"[:& z !c9ضy eeGK$hiil`K]]xM_}Cmc}m^F fPN5h>:ʎg߰#f&Pq-+7CK "{c$varwnF n厞:Zfق|(>|9? [Ѽ- "ͻwqꨠܻ=X$:K 5VKVf:F{zU5姧>i.TڊYi JG<#ā/q̐3,e.ٲyǪP!^:$ &~W7p<‚g( M"ՕU'ӫ5=G I1g]e$ .:>`ό@ z lce?fDH=w63UXvD"mnRcckPfM"F':90W9~{p:]:4mXĎ>os;l 8p 7F6G.!g>v7Yx[u2CQ%rmM+>ZLM^6א[ [q!ei6~w[:p,o桯0lV\Y*emt,Z/P8'uhܹĺXtDE*Ie-E0C]g/h:pX3U!T n.t3? @((1kxKrn"xNz^ݍR0A0`nl )M-k[wN#?o49&%"K2UKvw4_coЩ |EtmcZ2JXfw\?Ԓ+XkʨBݏlma$o%?|yMG9™؏v$0vd -b[u :QDԳYazJXl%M-!1k<{KˁV)7\#زa |^F YUKPf`;NIC2xYf ꙵf&SkQUxC>ϜCxJDաF\:/qDǑKԧhI/wFEoFP.^ rN/L#}9<#Lxt1FD4h_IE$#+NK-^0I.vSQ+1WȸF 20Jг[TʂWtRĮG^bǬYo>FhmcyhJ g>l|zw*0~x_k~fBIETbúIzq)F;Ē箥o1/yW.WԱ˞'g9 (HM7d , A0i%lͺ54]?$W|:'.{" y,~nHdT;pK$v-@vI!wW`|sjyr0\z%17ih?Nćh/vPTn|D&=%$jΧG0X]zS8zf_>l&1O'+o_j]c &EMKK](mxLt/Q=(}u3Q`'/%q@lQ nMjgOQSȵ߆hJ1q(֮X7 DtHhki`Сb۩EU[1ӭ=E@]N ׋;sZw6L"He5 ""≚흖f򟊢Bc$fHMb1 Jd9He3Ћz-A[Lj^SD>3IV.z!IP53Cgj'Qy?rH",D1>EE3g*:AFhB8,i*`^  ejk ZDA(ZF/O0i|wl Q&KHZE -#2N~eD~~ϝϝ.aU"=#NpYum o9)'Y}ݣA͵a4GbhhYx7l &knWoFk^pi#.擇!-[0ZmE{؇&iB!YH8WLx#&?!WA1&խ/Y0(HJ2HWrqbⲆUBO+⭕B@7hF$COzxϮp˦/2v17տLyuw^:~ƴ'I~1dGI6RW[MH^p(V[ ;;=T.!A=FBDCc=>_rƦ\ѠQPPF: ժ4pB x!y\z0`6mx"hH 1ې*2ʬNLVd;^4 Ef1E'HaBa mZzEQ=CR0Èfkc」$>ryfzrd3CT$IDD "*\E1 D%(b$ Q09ιr8aD-f-:u} 88Aȉqe'4MXy8c*,bʼn1P-FiZ>qF%g_ҐVR'U se"-BH{\;l&m:J2Lax[dV*OJh,ZES ]p²Ŝz4Zy%ꗟe/߉bwMo/2:~\a6{@جN~EQBx+Vq `&l 7S(c&jDk=%SSeoyx<@`a9pã0ac;.o`CwcqST[7 E>U.5t~˸{]6 /ɐɤҘ łNk>OmCd<ضOEEd 9) 4}5{L?1l`,P2Ec$(Z)C mmTMd^@pr`6D^1L]X}~C<ЯCB6C<&?8H.aμ  bDiv+n0~Y=\r9rK`>8W\r] ӛҳq-]s)3ʙǑH ;f-FFW5So׮G:\D ЛMN%I!![Eo̫¶;fT.[J6E68KZL6Nu|CQR'cdj)v@y]٫?MCS ?Gl~ÄѲ,fϞ}Xih˲([{Rn|ZMlغf $BXԱoE4EAVKB)5,yITQIΙ @UK} Ƌs((y2}td(6H00MմLq?ټyぶ d)D:&JP[WO2`UΦMyV`]p!{cm%(,~ /_M0Dʒ y  IDAT\>;~8EaSd>UV<޽{)'BzdR֭;La,E&[P:7{>۶ihhqd(2}_9')m4l.F:HXz7߹g޵gi^/jk(\d޵k"0 0Tt:}<2~j _){@lݲyMfs;Cy_aŢf cAd]he% h:p84nw20C|"sgu\ [ܾiVu7| ?-լ8l2 M_AE~[ waXU%^~'0#J!xnMXvrp88\.^۶q\8I}JMy=)%. ǃrUbbYv/Zؼ5_z5?f3gMH;m1eQ^%R;]ҍ"48! ~̦;yhhŕ,4yT2sC^ǽ?+sF1>vR шQ(O:h"@v%9X0DWx $| Ci^ #١Q4PaeXXy/wW"F nmx@,/\@P$ O%) x~s\{M d F"t3ϱ̦]6N8v _ _0u#6isöKq߾Kgm٨b4=bX*TPt N@ mDM!GSBWJ `X@J46m Ŗ )!Q5J4,c U[o:\JҐ^O(s=4Ϝ0!Ćv)Tp{$(Bc$'<%zxlȣM F'>%;F4u}JgTF; Ø+5 J q糬RRd %>sR…iyY8gvģtݗ38h6ь4o(fZS4mȄ MɜraBpɿw'_w(Bh2Nfi9%<i7#8/EuYX/B#"uj?yʰoO6)tʭy+!zFZxm4-l$13Q'^MG`ݹoաF-#(v3ȬBk;-RfֶltfdBzG0 ~Os)ߋ@?2MSxVϿoR8aIxv>$b(g[IY>U~|#sn=$EƩn VR)2ØFk~O N RJrfiөBEP^O^D`JPlpk ? #H)QP(HIrgv0os) MJ_QTTT$ĩͧp<|TJTUJ9afUUM p'}qĭs{9O5C˶mZ9Ө'/00؏Os/_OÉr "'2_ӈH'aCCCtuuM !Hgض&vBeeeP 9V؈>w%83Y|Y]7S`M3uU ݺFI(s/(2RP4_+m;new ~V숓d&GՂedֲg-IÂٴn߁(h^1RH ӻg/ZK}l~26u0aOџA дhq6V^F۾3=jpūxuؖ=CBJ%r9~rsg{r k[jR~O{.6b8 ̚͵<O熿[}3oi0αK%ˏ=r9f$/r׿AǁKu(iۤ-K!bx|4Kb*MSW=$`Xk#CqzoOLbZO(0\P_m U-RvocGpZye3{L]zTH:8LӜr?=Xw?EQ]0wSq׿zNmڶY3fx;} P ;]Y!Ȑmd,V64EjvΞzÛq;^/@@ Gc8rl:H$R:0LTt6! *%b쟍 EֱcǐSw(蠼*ʶ Qm =8yu#65!^؋;|SzGTG:'pᕚNzz_?545Y#U1@ӡ"$R va!'@E -H cLvRyp)*RcJRD۶N~vW_dg79ˤKQt!ll W0 [h),۵d6tQ*!߰P`l8K*?|>Ϯ];ƛش  WK6ib>*;2 djx'cH׍c\o#备q7X` qk^}s17_{H J" |.qB?nW Uщuruײ}BN !%7>}p)͏;uk6;}*Z;[$=;PAKk7hY~r!l'Vi 8L^~ CrpN62OOW*}5Cif:/5e4 y oWM6tYD5xU!ۦhX㡡|20s~=Mr^ZEC<׿qύ_+> ` ~v.IdIsϯy9ˠ6T:ÿ !JmoZ[[7mz!< x76<d7KBɔrXz{{DuDhS,4 JdHR Jee%3f )QzI&S: 3GĮ(#ۏ4cmAtSQ| uMQzUTOy8L_ !Au6[1UzSҵi">?ZN>*D!vTLǨ*8$4/ymi,>+I$CR$|#4P/6U⠨GC_jm ;GF5#o)6UaN:CXqncOŵ vmJ|׳kfH&4:JMa,k\f/\HYD_Q;uK!ڴ-`BQ:PGTj/'ch[OKgSZzPf%h+kҜ5K7?(|}+ݻ x}  <:$2,m㡾NQ nǃ  wS򪒥gH@4z#eY<y894)1mڡ5U5ԗHrZΡlώbKL"௯QllpiobH|Uc`3S:i,3i mQ̦Izng 8Qe6ڈӾ!Ml(b"Z&oEPBJ$*UAU@LH.o(T3N>U!6f& KA KR"Rks!J']Uh ł1dw^uc}*\^`(7vJH)p8|)5bw&7ϘEy!=/!RȒg>yEs2n&G,v"LdQ*V->g.7DeCdhzS#*~(i6Hnq-Ү ܾt'(/wxK]+rYq÷"U7uzhl@5PT폠,= LJ_ed~tFyMd ^&Ӳ{=teX̽={_;I%8}O~<-J&;*!ֿ@5Oҷl .h 8`hd>Cel߽Զ-{mZ9 i {PFˏ3-x8{iC+i3=;v2yB:XMP_Y?Dq(D͗JfhGg"?XEO硽{vxRjE6L`=>*!.(LӤX,Nh`Ygx|zxdar9qAɹ:/.1t?IYҒZ 𞝔M2RairVp4Mk>q_݊ԣyKϠ7ia =ϣ4Fq9XlQ6~ ۢ"&t}s/s~u9zO<0 xE*t CV4F5ϘF~R,j)I (lٱWo2k5h(Oķ([mB>h'::}-dZ櫱҅AWƌ8MH9BB%c)Q, Us X)U@TQ*bZؔI: -GロT);p4P8}K"\Ţt^%sM<FJat*AeE߻./I&)F SV^hbZrO>$pT"A$ad8N]m5G}4exH0&_ ^}V4LfUm]r:a.'z0&ʩ`? 'çBPM9.3eMJrIc…ŗHœC! @8ӧ5lR pd&ehJϻ8^/HǃiP(a8ΉPz]qD"~?cpDpfM4~#V[`v[6pIG@$zro25r9^)J Iա擤y-hnNݠ;E>{PmTUе0ioDZM(`ǖC1^~QT-J_`ԍi4D*ٷ܎],\vNE"lY*vlz 2.}OKVN~<PS1Y'}}8-: qVѶey OP A_O7\.sq:Pix^Fb̞3ŋd)b0!CESN\%51cV1ߏq`VE? S y;3Yzt!wg4N˪ /GHeŶd߿I.9%F}`q#/I$|a݌DatMtey̝3d*Eu}C#1,DQP*zۍ3Q,9i{8mƺ0Qxet )elo>~C~s':SCx" #IS+NGW7RD&T)/C"q(iB鈿((퐺tneHcxsxgeU&ٟeE!^,:*U(cg%b(*fB j aJ1ntN<*B Х%m)QD r_c$|J,$>:iLnF û=8U%‰ү i#lolhd^6(Fj,;f+=4$CFoض} B=ϯG~e,;h4l颾 6bK.9||n#]7lVt^[;5]I}CgֱuvlL8j?ėo9Jǟp>6s/Szڶ]I3~̪ȬIR;35*n|NWٯw'Bs]/#>2B0p\TԲnZ[hbK IDATgf41.?l>|^4Z^^AC `Q0-0^Ef 7dTdi磸ü%xh[h +S4w/gn> ".ĥ|۷0|YsXx}}X룲5k&  RC<$Fu*++ MpF<>rf̘A8& xMT|d(&tU 8g“+ﭤnFL>l܅a!|!thd LFW|Fgsk~7"-(п{C¤Jcݞ#CI 'Bat溺Aڊ:*o?Kq*/# ۥ(IdQC:Y e3d% };[8v,]8@B*jUqn<icˏp gS_OބΊeeeӷjPW&ݟnwŧ߼F4Ӧ71{\z:;?&RY͚5o0ҿWHWœs*ܚEu.`KliaX,2h r厝K AԚABPCy#DYw#xTb>>z$xPU̓Rʱ$v{w'EU3F-rܫYԑ.Ɵ*g}#2ӱȜyRԥ"&J)'B1܍/ S}7<*(3|Si|ܑ3s <'hig,_QvmAgwmm >(t^ ަalTg(9Lg;0;ҘP4mv'iypycq(JF*{±tVFp;x=3cn;6^ 4Ar"d 14U?q4thn|A ˁ04e$nRUC(NF1E{F%! LSce=#nn2C#*?q}zҔ誂a9OY|7Oʲz" y7t-{8Oycѭ\dT%ӕԥsO VP,?j|KװmFOsɧwمE:yo/1سyӝarbF>qEyiEU_̬9 A`%9GC?邛 ڇCه1]Z͠D)r"- }sşp=x]p;Ceж)+C; ϠiayXpPɡ8R4_-|s>pW]>ϳk.:::htwo/S0 4>uJnGJK) BTTT@ L۶'Z AʨEUU~?-***hll$PSSC4=fJ U㛏1s# C=νқD"\vp~v3P`n,K{O :ò {5Wpd5M qzǣil=j!D;BjoUlۆR_fen3~\\MdYvCG~E(s.nB>ySY'_̇,ڏ7:=<|Bzן+/:ہNTUÅ0: 0 u;  L.*(tn&D|96M}uI>NO9sǙ0$CNqn8t8WL]:TtwEQ2Uaw.۞m8or9t.%\po#o_ -BMilGTVTʡsׅ&MBl_gL͘c[vKyykEj8c\ϱxlaŋzBfuNYɗ?WB-oe>fa42-.]:r曇p4Y`s!> ]xQD:i9zG#d,^z)A)cxf j)ı(uz@U_'4bJ:ٍ n˳38qyǞ[C1U@<褬RJl EEAB{c"HHFjE4&B?u֑Q=rG. B!"MF;d2Ɇ [,ir '?;Jܗ:9 HJTrm9HW^KNc:dO-QdɖdR rf0ɩgs~q?=g0w߽uݺUuV!LLD $& /O_ zķyn]?Yx6!tyy6"Ӽ%=3' tqfdšm]_UUرcMrPy ,s5V=eY>|2Nפix< :ñcǚӔ&EQx, S'SO G}8CZYXy#=r٦4=XeYnx;K_؂[JXYjoì<.r1埐B[y Y_d~j.77&Y\a}`;S~YH\6K(Tlm~2U FBP#C2SCPX1p$p #i-[5jR W%j#f3~yB|eæR,ɐjK׈EgfGwq p\Xڑ[QKGٶKٔMΟ}>  W][2^ET*C5usԩ:C/oڴi|e#GznqMe(:ujUg?>ؔ覓'O"  'O$bq<R!@eB0x;wB_EZv:epXFe~T>ėu'b??Qp+|d$-zrxn>xᲗp?%$Lׯ3nnYw2Jf(ͯ|Qq08 Ǒp0(UxB>#7'vH?)&#UAl@PH5ӳ^#fZ}l0p6pqez4R2b)M"$[{$!-%Jq$ ۩WJ8HmJp#uirWz:ek׮eO@#n_4*r+JflݔʥkD[+i>{ȶj|KTT$͏yX7D|9]v5424kkx/ ߌvEYh}c_ ǹ}nfm^ESCw ֞,#IBu$Ibm85ijx|t;Hk݌WWJ =4(ٷu#vs NZJS̘Xәܸ9p j<(N>3RLgns*AE)(sCTx@Đ5_%jTL  jc[FĨdX!m%#40=7e˸.BaOLvUU12NԀs '[eƮ1U(s Lf=IXb߲~FSx[u3(Uݜ1/줖/s·zZ?Ƴ!z{}Qv{#/߁!MS-nI牴F1*S`ZERcD7pi7M죘ֻPE":HC]z?(<_222A>"zεCs6~0*8$05P?"/WI;5t'y֎Q3Z h*ϰnd鬽Mk鍶hj4 ߏeYj50!:EQ39r8 !r3::ZN,L, C:&JdxxX,F"X.1L&!8}}}۟O@Po9w/L }1huWZ\4" ͉x'M_Dx\X1!H`ZNB(-$5m!4J(jM"錍-q %ʕ,hŐ#LjI$&*3;Ba/~KbY&fX׃8mfIcT%+ac74x{y0m:Ԧ@O%g8@׋4\>@/~?Ow/3w>ǹ˒ilȡK`mIVZo!i3aDC69BQMz9N4tDv}/hZ)5M# տJ>B$iڲjn7Vʟe}hg6dbCV麎/9 ngnc~-(r ~a3??EҚgpG#U7FCuo0gPBg6Hkq - pTE29r9J$p{/KF' _pS=#$8ȸ%u1b`n7ɔ)~n\ ե$4Mƭ(XmdQϣR}MV4IBU%\KQ$ 26BMe&St)HJYog" H$!C+q7e CN6wIv_~+b+y?nh<,tEq9;ȕLpmnT|VG8&P0v7+7ׂ8#D#~8?9*)0T7rP(JMرifsWHUF8;|1-^']2S~R2-. eqc/]ۙIVdla=..Rӫ[h6*MwgTXԩl~.YEơl,$ LM/R)WnGU_3D<.~K3tlbL/r·dtfk00 RQ&ֲW羃tQ{C8;ZXLSf:ϳOsI͌se!Ͻ;qvL]!iUeWVQ"Qs'PlѓD:Tj65Ӽ- E<~ٵ;yBUZ)7ӹ2Rdm~=k>^74d,\$!HDvnCߩT*E$**r|>$¿ jbH*bttY jJBP`vvQ4RùYŋhęag1D+RB룄%t@2L .pn aRsȥoMjbL:7b Cv:ۙ*x@H>L~jGDې jNg{T%b9ߍ&)X535ǡ%02=̎IdZc݌LGp$W]}yʸ c~1-TL-G|nLsNzS8uhȡ~~;^kNFX,F<'q\9ƾS9d M\./5T8HUj~"??_(R!&Q亵+{ ^*FKIvKzs(YE8*S\2dKH$zJB%,lP4sי-p kG~ zlMGVT\ض,98BE%@4!a9BH(2FD$À8Rm;nmz:H~0(T_(.ۢ*FKnv ̱%UG,:qWzJwWOrpYw7A$Hf|, X&Hȥ,"   ˄-TRhg?pi^ΏORЫD1Z0<>Gv 0:9Mzb+UQ] VgxG]P$vU<ҳht0yOel݀םwl1^<)c*]8sq #|HmF:nNZqgVR6vg9tⴲM ̲s;¢5( e]^8f(+芉U걫! i؁&XaYnݔJ%ɂi> ;'I‹v208K/3UdM>= IDAT!NQ5K.v䙯E0?}었!3jQ}iŴ\"Qn9 zz+oiÔ_d8=0]qL 1?4x;C㣔%vmҕg)>G]Hin!(T44_2L KLuA8h ˮ+^[&h|rȩ7JtuuDzhiLv5P&>xH$!#`0V"AmoذylH])lMJ|mڽ3?=(- ڃϭS1Mvog.=C`f(і5>憆(,f1#qf*DyF8z C G}";":xT4E"ʕ!q1lEW%tafA6ojp\tuv1O}">\Z GBY0H_vf%vmsslvCC1LAOgJlɑ!2SÜpCff=ÓJoOynlmQƪ^Zގ 3e[S<{dǭ*Z_;ُ09*m:JKQ\دZ:{6~rr_ jW,xn"2(xB²P]?!8$\AJx\`{ٶM8Zv%IRSfB2ךŭJ4nEVPnT[6AFH ^>$cKM ᰇp cG'f~}<թf}_gwa&a%$GR6 {j[,Vd^o B #dF݈CC@р۶ɕ cHVZg ҫ؀m׳ JK菉'D#[+p4.&[_"\ٖJu{=8o;ujq?4xN4η5xkiƯ,yqgEQn=o䡡)ARpužmdR}ARhE*xIngW[7mf8@XXHeq)UbS8P) bmSX*7%*-4$^^)vذ-b*R:3| N@Es$e^ѨJʳO}X6\:5}|mDb7"S<*t7ؿo[;讒-6Fohw!=Jesa.4! ]"6N!다YK3wއߊ~I=x=X w$^{KB \8D"¡ un-$I.•hvj34B3kɮdw$(lj!T\ . 3\J28O=$۷DnܸP(r_~UZF>G ߅ ;f $0dp*2Y‘$\m`Yq~gg{n8 57DMDoL$i!Y ##eٻm+O }3pplᨀ[hO&SkI_7hmmmʌ@ӌPW|W]B0>>rbSO>o%Heva^ ASezxbr&ǁ9v([m<4::tKĆ BS>z8ݽzv[U4Ͽ4h[&ϷfMiMRXgtx7i#Ԫ56oB&o˶y1nF d "ֱ /toa޽x^\ I&y9s4oX++5F),oFɪQ,!HHȡb1 Rb>E>* JԲI&E}1`PEYp$JUAjHKp܏-$JWERdFxވ!bF%_GqI*Bq< .i -(gJݰ1|h'/rljcfl:8̽lh,H!P/ dU"R8=zX7\֙J$晞,C̷SUTʦc1ݴp&nhM0|}Dׯӧt*L]5 :>Yx`]/cc*%o܄㼾FŅ_FҼmhk)WV]l6K:noynY7ol:g;::^Z84e2RT~%M+ealڴZիYLh ,/?NR 4-]$ѶT_.ri #x~Ee|bq&&&g3m(:ό +=爇CLf؉|ztnc+V VM䲋mފHu64E+itk4XrYjHo 3YIln2_jTY5+a<#1.ub= ?Rw*}HL\!#"!!jӧO*-/_}kLeB_:zNbikm# f㡿U$I dVm7 Md2IP$JX3 }˒e:HMEUw T<%mz@'}ev72Th cq WI%?3gCj}rah |O񞷼#g8h5ҋUnLVV Yַ7n ^RTLOOsrV(,ԩSֶdY楗^lR)èbY~Mg>VPSz|lǡPOMP&ɦF\8oɲŋ)W !B0==*`YN uA4mi&>$qĉn4]pa Mw_SSZ󯚦Ǐ#IL,:xoщ$̀{_e!o 233LNM!;{gΞEe~:099ĒN9ituuzpzi7s!B~J7Ƙ[,A,"ZKf`f&pfm#Utv Bغq3<!M&9OX'Jy׸1>U3\6#<;6mz&%JX"._E8$Q0<.&'SDp@ccWY,Cރr3B¢AU.N ī*af& [F%0m$Z0,5ƃ݂ѬYS,R|'G^@s\[ž}V)}PO̙|ݺu񶶾*kFSC74ATB $H}xey̆KzAlsGJŒxgRNtOLnLI_bA PY@0 _Oś*%g$_("VLέJdY{iZȶmNyEQycV!-xO$L#Q9{4E% &H_ua[rab+L|Gq.I pc Y;'GQ4$B#6:[|h><>-|yIZ"WΓ.` =l1jl_a>45 < :P܉OtwsgwJӝ}g$IKԭtزu;ÿM2_CȲիW 21V#Eu!x2FK&jE*YG0r<^a`NΣj!Xzxȋ,K $|_M!%Ҙp5!\ЉD]s=b좵5dI$idZ-ILV\2"SsBҹyf'jk%)FHY)y)9J>+ZXeXB0J ̜#.$*}4 tDUpR9voI*5I( >4vb6tJ@DF@SZh15C# >K L3>R%j:={VV;f^/S(s@E+r2n}w^<_Ofkg-<^^7~ҴRvu~?ˡ7zAUUyl&'XD5k IN m0>A [e,Sq_\h-dg-Zz{vws߾FT m!}py4l&[p[k=<Y0-->\$H Vu1` RmK/qk.<>r(XQW^KZBP*hu./ sLD;y)* %ڃ; @WZUH^=IвD[1W|˴ AR~㷘= [˧%Txn`멌 4gϜ~_{H\@mیS=AՐ93KNο\8R ѻ]>Cΰ~7H/@>uu~o~:6S7x?B$ƅIߍ ،,Y+zSS<\֑j Zv}zإ$ǵm{,KM#!^)@Qo|[_S\.N>Q ;Hc›`9"8s=Eĝ09wH.(XDFgdjORdRYɖ L tt&TJ#o=S bj|\Wi"~Mb;Drx\2R $㸱cVktv a~{߸ IDAT. ;W;VwELR%%JTBQ.+aST|Qy*Uz* .M"+.oz;s&2vJEm2᠊驑́n +6FQlv׿򟿏\G?kbcv'KwJTUc-/p\Yr|/ R033##)TJEX/qثJ,;$IN*LMMgqx<㚦EZŶ$Ai!KX],}VݠVkˍ,* 8E68r_YP{8.[5mmKO,=w=fҹe;v=&$E=F:X*H ,%D4K=&d</ 2PpP[e*D}@8?E/n S4<; `9LggkZQBvpa/]_c>sIvoJ\ sJ,}ǟvz3 H@H! xx t'=!@F0~zLO._Y.+cYU]ZVU'Db;v zE<>di?z_ú ݐou7p a:DjT'/%1x:J5"ѡAi x SkU\Ӑ(g2x}1|? +y" /ӓ!"/jcYw =}a^Ut<~JhG\LYAmRtZA0EbQ/I0ڨ#+~]t Cl%_\4`5'L[ ޥsEEfV49ez;oڎ/"k{x8EOr%U+QnM'Y'?b hBwc7x92iν |{9) AfK2z>]wK_Osq[ek }j^"23T)k4Tx<2icn.K`#I" [8tvZi)We4M5.]Z0tR%^m??I{{Bi星"I6r0uQzzH>uWGQZ+r_emL"TL O"j8%lELN֤;.'.Lt)w qpL@,#1޾M]n$C߸J28Ά @fPsh"~&xQJB"Œj\Ȭ%VʘI C%Q[äW= g> A__~Y~NjCt Lb_{-&ca`&dd߁ zHs0n($G9gďZ W`mH:]?ʮ]Iorp'BPH25v0< r,&.,q}b^oO0:a6B|6Q%l4Kx\bd$NW={ڸwNN$}ױ<1{+g ?юgo"F5FvphW?$\_>w}cQG`ShCe)E0afz<~Der<7H+Q$݋E4с(Ex%ik C?Y'I;J4L!,ƣ ׎*(WTpmфm1rJT&&&7"Rd sAabm~RsC~8*uEv}! ~kRp$z9j2Y#yU}=TcjQD:er0{2@׷Mx"Qwp8ei=qoR.4eh(Ğ= ٳ'PXL;[{cϞ(T *" %i4yg?=m y Q woev `rK/=ymFܙώ1ɁrKZh((\$o囝t|# !wH]Q+C.#}ZQ+:<;h"3\_|䳌&Cr y"5[@1*mxTD0&MPhԇ4$cK`'DnpidqEdd CÐQEQŶ$ʈh4ix}2\hC瀋լ0GLM7#8NRP74>YP2>N$`"eyjZz$)+x!j5: TNА t\"EE^ 31V]vnK=K=IgCb#M"|3B[|oꋱ}>PAfs9˗ ϧ h8x={ڀ:bH!8tbđ#>܉\CvG;0*~"("rͽJešCGwYXX@kv;#F n4~;#tv*{ 8NC: :lg׮6v튱C )uwh[{\u/m %|ߧHK: 3;xz&@|)%Îo35Klc~mOyf"K\Ĺa[? fGݠo|AiZrPC:*ma5Xkؖk8V⭭S\YY.Qϯrf"ȁߦ\SxGXȔ;I6W(?W qni\Ȓ[fy*,ώ3L u6|T(mφEe&JIOsvlONjVzT|7ҵo|6[ u\`;{ g.O}lֺ.H$$ۿ ,舨Dz-"ޮa╓G ,/CF28 ]Ά ݨާi^={ػRm8N+h׮~We߾TUQF}tum>yJu4t] zٱWnhL&S4TUSQUn}.TUszT/Ε2ؿ3/_~bZŕ#=l>='̀>'~Q*p@ 7_}RlXÁO? /L9a=D xȬfKҿsϞţ+ ũ.0k4MPDtUbXQ{)U+x5Bݤ^q#rE `vr|rN+M-.8FaHfMj>r Pďpl錍m4kuRK4٥P#"sO}gZ昛"k^%LcۭRx{bT+9F~iM2Q-XD4BJ~j7Á~<8Ӓ5ncSx:IԞoX%]o"">*O=1Xu2\?6!o4&r,K|*Y"$AFGۉBUnct]AQ$ >F<##o_/]]QAwwjȲLk|*ͶD"@rtBQ$"}}Q<Fouv6۷i2%:;#nkT,_c.j5Hćm;D>EfmDޖn"B>ߤ+Fi/H(Dggf]}銄8ߙlw\\Akf@瓿S*qt~7O%eHB{_QGI9ʦҾuhWj=z\z:aVeAWOިdr+kvdn.~D<@g{1BYBv-~/k9\ 8@DWFɯ%EJKyD&SZj"y\j:gϦR\.!I‘3x>*&mq?O1>ֲ&٤^1iQ@tm5VxK<"UgXZACn"&p;.kȺ(iT&Z tt ۍ'0*(LX$WiR5fp,RV`G})*ᰀehqK~tn fc4x %p)*VJqMd HĻ3CAț[8Ca?+HHS>~[FV 8w$ӏepn^uq(D"!.]7VvhGU7B!a.QPUr@5v@Mm4묭U8thtn+2gvۃtv躂ǣL]:$O'00'h zUj5Z<x<@OOs疸*##m9mo|-]!QhuIc`}DSFj1l3/1{yfSl a;/)P0+{I}(~%_+r|8癷6qP/{+,&4 ~kΕmQFF]E73A7 L_"lŵMZT5{]BR4*qO']3gŧ>oC$26 GO`ǧ<mtIdn"d>Q.U|sC S0\ufS nuI`U3F6Μ9CټDQ䮻².[(_XXnVD˲3|BM>dOK-$">un7$]:hYn&u+wJ{m]^^,~? W3^^y3oο4/ao/~LSZݿ}=WjO@<Sg)&-KZ"MqyT33Y#P9$'Ȃ!YiO/lRɠVd~z~\3u`7bIQ)M+xUAuR`,LOdOPL2D .M`[CI5GY^aaꑙv9'cZG81rjۑt,K4\GVrx >$º2A׼$2K%"mh4*}0_:!:;HRc'kx'.\XJMU8I Ḟ/ٹcX$r+ֵ7:E-pc~LS೟=m[뺛{YߟfP7Ʊc*2+(2xG?B@E uADƩH(d <ߏ$IXB{5dY.je vYuٱopfnwt4:~OwӼ辣 *|ca|O3{~xRǿ^RB|7\)*8~]њZI5tt MMkb|jFoTA DXRT*rHfcH;%L/Y3xriLv4+G&={F[G x,dbz~Uԡ&U3iMLK,=Fz(J hLGa. eL]ci^zoRIAO(,-Q5]pdm"9s'=YGpv]&ܧC5?m4kcuoc|Y=:ʷ=ѡ~zzB5cS3(xGhLT*%29H)7ryqNr;p,@Yw.x g.ugrltqAM摷o/򫯻1>2|ɿJ{*({\S/D[ydY=JꄩTj3ss"'O.!*1?0 |+Lf Ü9SVa6F(B˿^wۿ=i~,fuuu)*x<|">2mm]G]p"brWLߏ Tl#dң_;p< IDAT_K j9&x+YƦg4LX,,r^E^fLô.4mQ72YSOr]21veᵷe_#`0x*1Vūu#/ hT0/A|1`qKƑ}6]f߼J\oxq8wfYRٳF]۶ٽ{7~O<$]y`$ DQɓaB[ɲ̎;f` ɎVFiVWWy'۶[(r*egϞ+is|kRqH& nz7<]o:wb~Og(xe~C㕟`H—(G"T'mt=vZ(;0jĞ0NxQd&xiC[oᡧ U˰jJ. oK8q)C"ކ늤R.axI-)6yenqz8ۈʄs s DhcVfK4,`P'NfIfTYFR-R|I1EGgh$JG"N1J.Quؽse:zX(Ұs|d+, :5''DTtDΓMުra,Ef-`6\Qϰ*(64IWcET$؂MWG 8,L? sϟc '򮷽ǹ_;1LOPj BEN?7ro^s7å5 F8 5NCJ|!svv+#1/j'U:z{>z,=zq L8y ?@(bt4iDQFGG, EeN:(*;wDc,.MX%]Ի{^][^oFQF\q:`V~ml'nuc`.l9ű]%\\LK:WDrmf+#[Ufp HO62-KGA0:@.١Յ%xv &h6ergqI\tB9[ATe?Mkx(.tMJDl5zb <+9sUrQ;*%/ҜDgN)ؚef7Wv5_}Y*@6/ڠZ@cB?1E.6c4MFF6 TME?ad#Mn3?[0M\ykoaY֕6ʯ^!sgӻ =[6^;z+n|:߸8fec"ů XbU+l)fV8V.jzص}ɅENqvYY!g*&v};Ul2ݎu<}JDpo|tEX#Ybq0lp\VDYwJz%K$Ѭh]IT[ĵDG$><ܓ8Ƥ~ [@/O[ev6dHպoPiʖTMBչV_lѭcײMT4LӼ*}UIyC+Bymή];69LEE܂V0 wm{qm#iy?L~f}]|7ZQl8Ixݖ~cf*yiRs [a""4AEGED "N# "64k$qƘ8#ݶu]뽂6,k3z%Id< 6wnp|YA=WdK%刌wkoevS)p]ЬZtt1mS a-`~jR.& &آZut>З &/&%tYH<Fűy"211=DO7Iݥ?cbr A־?jF2AEꆁ}IrhAGX'%]Cߤ!h9QGHtEp&BX`?H(X$(JzQ'ZN̤f8ݒ)2 ㊹F=w6"MeD&SŸqg`x \O]71-?XZwCZzaBp incElLVsBD1Uwх&%3m|c4v& 1$I*]IN.a< ngg&f0jMr2gXY)Aj@ۺ8}徛:+i 2f5pMERT1.`J +M\::4KTe,cMLI\Bq즉+:.\Z%D`ΠU4UZQ_d t8szBja;AYcr@"ގm6L'N AEtl\:{ U;cx"*rgNXh`S&Ipt).m H(\BK6>U5*8JKVZ- \eYXVDŽ h M2T^cc>O o$g8iзoDǗhG+<͔CYAMoC~ˎxFuk?Tdibszk$I0da߰] //NԞ~ qiw򾛶}o<1ήf/zчy׾>?v+]Sp6Y]3ik"{0$ 7RY#ogen 8Ikx쓄>#Ͽu .\h:Hpi9a}+J9^p{2u U DN{jXwI_oϟc9Mmc f+Z&K&XOAdyC"+%b[^C;dN E*9#EeGx3n7U+=(u6@ Vx賏Αwx14{>g iDV =p(“ S~Avt/f!'e-iK (u2 ؃ga;YMG8FӼH6WTPkZXkT+ j<Ն,\8, ,=q`8H4`yf_B HTWX \G0lh]<A +5 BQ\̺bĎfW׍KUDC1Sr$L|A|*K,VCp]L&2MZx2Z_it7@I4(A%Akimb!?Α; QQծR,AT*Qm:TO @k*5z'HDzBy">bK4wFO݅?%;9o\!ު=y֛Mw'8Ώ1?\[/k O=ɹ>E#Yw>J| Ex}brw,I^ӿBO勯{7Nq/a YR -2RTkMx\vV8 Hҳ>D 1L- P\]G<3Y,JfUdi:H-*K,0 OŰeH}J".NM"ݨn'W.#Z&P[*RQڤrBAL^Ύ { jUXT!z(CW*xUmbJ9P-ź9w f _hB"6T&"P˚4 #1oj$ZAT ex]"ƿU{F٣jDC޺-v͊jIWno,vk,_ԏ cπ(n$4ε+Z C$3O1QZ,v9//ip7n u2Gxk#J߳re\-۲0 B ĀifڙǨ=dAvz` ]?=6Y޽X5ygǾccce Ww/wf7/|<],p|c_#*g>bdsqO0o3oy8Hi!bpsXֶ,7|p7\Yڔ>r]ҷe/ \ܵ ^x[οOE~5zJ;uzEo]b&CZC.h=G*,a,>6>)]] oH1ar~vF\*b>4(2d ̵DBFV2A8sό1;3CնYՙ:Wf2lwi&o䋿 j $ d*A #gb&uZtd dbXhGmb#&$+W3 4T*vMhu L ְyNOVhVm{1Ϝs"35&ýE\-+<13Yf޹(+ jІHmIJƪ!9;bhp+)}׈p<;b<ºBP%dtNϣ%Q R y^B b؃<0S]8DL2Α bagd[']$a!~)x | ג [B. ;\ZD2PB#4]4ʥ| Oηɩr@ '3X\!_HSd9\Q1])pi?oͷ%&s}Ӊx EB+ H),kIE\KLxeE\-v [ttZr /|JxH-8}64X|OX,1&XRz9_8m7nQgwi?~cL&曗$;kƱc8ww}wG.JLOOjvf|2Fښ]VoTI.- ]/W d9un# 6{o$@1>V'QI*4H'M{61X?wW38'GxM8FύxO}޳WǷ𭉧dT6PqLVcyX(G]bJ)֮]Ν;<#bnn(ڍA$|܈gفFlwZ΢evnriSUj|W4(#hRGnXb_$$஻ZbwB&&&8| Ð;SDu]tԴuV֭[DF4z衎{uQuڶm[Gî951&5fgg.`[ {q1ǎcmJf kԪeICifQLڊ$Zq&rj|L!C.i2Ey&C ₁uRi C3hUHb'Fl0@uKUZ,u% -<4P!(D]N|hgFKvGQÇpRwUM.RdYn%>X*=."c% `ffCun x;6l`ڵuz;t:pfst7[lnYxűs.-n+ wi϶Z0"{$/q/de.w񙞘ov+;Tʳ P4kvƙs9:2I5 XViᩐӠFBLKjs.Mim+Hru%ui7i4y%ə))$M0𕳳}CYCIOї\s][YĮ5ipqr? }@ =֥Y !h4>|RIEv^URJo߾~zjvڵ$u}u+vY"sؽRp%0 [:ƹWi͚5Ws;JRݻNGZ.QJq=t\0v{mi}7N/%Ǖ!x9tSJu~9Bty q\ױTژfZJ#G@,TZi2R{8[QӘKV1?}%b|eQh6VL]#P R]HՏ13Η8ux7IO<|~~mvwN3\ԈBE2]W"6d܋_Ib5s{9iKY˫])岶&6av,ߋkgNr6|uZC<Rnh!@R# R[WMx' *]`~9#Bb[HZ[w1fb& Wdђ|>ͮ;z%4eL#x5z{Smz$VWCǎre/I>W Tud~R N@vC6U/TS)h9#l -1JD)\Ds iHoDMZ@ u1R3mMiS 9Ϝ |ɪUC)`72# '}jz^|i9?xYn(8*VjkS-_Xt9w%^f!PiG@*x(ND=~-(ٳŢЃeVdhϱj3@2R(=BWDc'PwZ+ZߋIP,.S"M" PD&]]3;W+NDgN۬)tT. ['qTG dC&݌$nbgv`aaH7!l8 Hcn#\ d2C!ӅoATiMNӒR #XY0AA7tffN iJb_%MLRwwNǗ ổi}ZbE_t]_ϯEX%ǯ]-7YOӴgCo{`{ h8ΥHJ3~iϠygV-J`d  m}+*Vm'ex0VHh7Ҳ~̏D5*U2~.ص(e+.]џnu/i>_ eS,9pO>$׮|?ky5iˇ?a|#"::ɤ$ "BoaI BXj 2M %=apn I4-f+U8ɳt !iFMLKPc-{oXǪݔN?LnhmJS.ǏMz70MAX jcYIbGp[Y ivd9~$-uk zwe,Ҍc(hGUJJSq[ @͡c13We푎ILO$L^`!4 t*u]XYI(bRQ+$ߛ#ו$ix1\ϥ410B!R@.$:wCQ1 <ĆbbM[:ǎBP z&鳣\2Z$evEn&D!ȮkZ7?k 4)O{81a٘ |AH2Ay&bYn( wST;dC=<}&C+&R" @lR@Q̖#[M6>3UV&i%2[k3Q` P T[2Q(f ^' t'D]KлH&c`j1 >gN%#xB7 ۅ(v\q/!㕴yhFHMH~|"VDQD٠T*110u!  qZHgvU38Åqvm8J/T9?8ÓO{ܔe0~p=s׍߼o}ƞ[^EG1fpTeRl(?@븎#E1kAD,|LS@G# c SgB2W 5 !$A+" hY O╷l|GNfi` &F`DDba)Vs[J1?ZaRܾo~`tlh"FG2)FWԧ}l~hNG*mt DՓ!+Xhcs Jl^cSAح&χD B\3v2ZM#j hniwR7xUn&#T=zb"V1.b]R J@*2>Q,q[&iE]!KRKOyOi~;ٺa3wm#+@hس 0sLM{H2MTe 6fZb$FGرsRLõ}d"@O-Qњ1RU"Ѱ8j3&vVȐHH6ٞP V>nt8=7M{0i56^dPq@\GX P-58Hq q CgMXi"ђaۧxC/bC*8?(u<' }l?CĀ#0Bn淽H(;Q;Nqft4Wvf,Cn|A4\%4yL} O/[hWywfA-WflۥѨ33=E֯_U,N䦛n&166!::THiB $*a.BDt]{t&@]ا1PIQHzbdˆnA&"e)54Z,b_'(Ujn֯ى9j.``z&oBWܲo?zD2EmJO 3K&19Eed_9q[Fݭ0?[si0 ,X[:BO+2-Ҧ3$԰d=$5 Y3\MF_Wh BL> n%DQ뷓(Yt-$rbs=zㅥے 0 х- UfhD _E6&"?a,XBa(m/ R TLeMZ؅Ճ9v8Lw5'@{X?3>5D$MB!yd _Jظq>yz(M^M"$[ȣIQ70i=I"Yd$rcZ|\fhBzNZ8J(̜E$gk XtcmNYzeb%\ȶ "!-L`l&Gsy,hkIZA!&22335mH R\x{bܚV0:]\C:rXOJD04ha't6&!R1ЪUC_"eHwQ m=Ԁ^Hrz#4q |XL2ӳ|%N8S'30xyƏ͘B2I.]|)dl(wp+O>̻f>ϓ6 BFFb".PjD4-p]Bd""&LZxBNe&ىIFNr8~nYlJn}gc$cO-CHPc,b6ݖjҗIe3D2Lʦ~ƚԬ (H&ko>LIci3gГ9OG bO70@RӾwxr\-&\kոkg:{{תrWi1Zlk1zx'qQP!aR(-Xi/c$7x#F5J*sh<W"D%cg7?m{sXF}o+ɖ3xix(6gN=0I*8|s?Q?S8M4J8)n,RR)\*|){X9<ė8.bسg.\X6zѣG;&hnݺ!`b,ժa/اbKu;V/SJ1<<)v1lcU#)%O脚uo)%JRԱ;#qU\.N'OS\fff:EQtT2޾^ΏE \O E F"$Mǎ"D v'#A^; x<.4_,7GlB+ŷ|"˯d-̙?W|x B!T4AEQSԚ5zr 4/F/5R !zW#o~3l:,S&JQ]heT\MBOT QkΝ;TDRRV۷w XreG~ qN;VRrܹcrY?|_YrdM:aHoo/TD"qMAԋ 0(F T$JJ""^42Ti& \X, ]]YwQ:wVܺĦ.6E/)۷G Xi>F J`R^+[O˙sc&lo꽓GOa0BH?rjz!}H)/K@ Go~cc:hQV2rA7-WipC?z98;na >_~#G~&*u&Y{;13ۻB c?:G dOjHieFEW_9VlXK$ D`&E6$P^DM(zf,T#,ӧBޮ.j&f&Ig0ifj!]f3\咦icW Ʋ~N;]r~~-:=W˙8r׿U81 ci;$eR\ DYժݳG=JY z-"iZLNO_޸qgP ղ9wkcp=4)B϶;|jBK/lID,8?z??d޽ou4] '>!wr=b#?0 ٻkK~X 9_(p{&Zz: Et{>\X9$(*?MRFƧu?.ҝN㨘| R4nnظf#r y=|$Eճbn'MNek϶pvdy nVޑt&2SO45l72?"Veh[V!*0c X$D/ >bpGs-Id c ڱΚIΟkv[hBO֢ЯS ZX`iX&-&T +Z5lZӾ!- q])VaKfl;bqds6Iω$aVNP.eN覆T&gϐXHs679h$VN. r oxtfZOq]ɵD(vF!ua6ΟG8vėwN$8?:ß!"Y-Lc ҳh"͇mS=$Օ#NX=k̓=Rk7`6f b`%{Vy`s]+y45h/'.õȽ2ϧ?X>Frϭ*pLĽBP*x[LRi&K oF2ab&B0ؾu+C+8u8oz5{aΟ=O0:6Ɵ|,~ի矾%_*~~OqiJ=ƈC={^qF"I:OT\^}4M 䟿`br;u _"Ν{|"h(4]'R?/_u\RO7xO?ud0})lft<ؒ}icYX 'k呱8㙒O1\r=@FW*ED.-EH )i"C?ybl|.I@Bsn"hl_K. 6p '&0gQ9CW.M:*vqfYO}nXdtop_Wkw拿WՌ3 ҙiC԰K6Vd'ʆϷ 31]2@`Gҥ-alr 2yI4ӗ\v>6w\U O _i8&&[6Hv ڈK&wL})oO$SWW8ׯH$Z9kx. |!tI߻ޢEk? -bzYzc7oC1"5VOڢҦd($j&F ÞC+Zb>@|@ (*Չ(.`6S(Zp "Q5P5!= !TP4@<|O:Fja3`P|ݽͯ 19}8#\π|ɪ^x 7FEB"^G%܂Ɩ`H KA$QK`z :$jb&T "t8, ߗe _>N<G`?-Strjk4%m b^*ö$34BqJgFo+uQ*vi0t)a4#Ȫ 䛨jQSS_'[c9P]Ө2?HDȺE . #G&!"F2!ϡ Md Q%8c敄tFӓhIfX0\M \CBTZ.Nq3kw??D0hr6f[z*"J\2f;o^6h Ez E28a`PTO:I}uDU PQ5H8&&W=T]%exM[@'Yk:>E}cxxI "y (H$zM}YlˁpLbLƗrtgǙ>mX}EEQB`-t&9>bBn\nhGW_w17}c?25{ua>O6}wJP5?̜EFccFz[ CT%wݬ8$zzz_X""uAm;e=gbp+XSiFG=Jx=cxݳǑ \i !:'w§~!@\Fy;$M/>nx1|']SWxp6GEGx5=HϢ\:M w]\j]SUx<v]r&xwxu]Uba 50.C,`:@TJӄuUp!z`$kxgOaB*D GSL'f?bC<@ S kT50='hiٴ50PN_7\|Pd9) |$.{ď+HYc[\Ogz:\>TV Km6V2>Osz{ݏGl*XuniP'>{EU(3YHA5|Eзg7Ghl?4Yխd#G4е \'̾&YĢ)LE'iS. R((lnRˑ> 9bޫ*}!}v{k/WJ/y{x4Xs a|TLF4KӋcC\{:/݉4G}b`0ʕ+GeRU-[}Q}|gŊ3 pws~z,ןqGC ,+98< .$XjըTRJXt(SUիW>}}IXu,S񄪪]nT d2GilذB0+VTjtA֬Y3fuYlYg(JuropǾŒC᫿\L;N`Zj.abs}Gd:d~1N?$ry#&`vyt E1i:>U 8x*7:K@h>BIB 4lb! b"[ M04gx`˲hml:ZuĭGt>}!Bxkӷ҉>c '0Ns`L_OH=A767747N/~U+ ݾDؼ_/?jV얟?f۩&USM*erlV5TX# &L`ɒ%C=D%Dъ2*O>$LbJNAww7W>zTnyoLlGu]MR*PaYEVb@*Y6mE(]<4M#N=otT(ű{5@UՊ*Dc%~PeLGVUTrJc q4 9K51߷+͓󫗲d\ĸ鴚n\/e_,{y}]Ǩ{3l۸mrΘSKރJ߽Rˠ xA*X<42FbDEAJyl7\K00'YPKy Q,fP,wl+le.7x♬MIf80~p%;s![b0[%]2F2-Kۢ>?P--:S:ZHh@a V.ǝTYx!|4"d]R1݈RUJ݄eĦk>Ma 6ؠZGdy[q'{={UT(};|[y5%=Okd8=D4UK,>MUMSvr~J肫Iފ1̴y6r.dɓUGr Rx珮ԅ3jU/SVc^9|z0%W.^jż7m/ٸ=v^VYKv@.c |ߡs6:̧FTM845)LnMzH @JJl_=;lȾэ|>$Ё;)̣~oyb:}C H?q6h<-GP{XTg5bg2Ը7UeD)dh}g"6k:(b CѡpkPؠE8R;g|յƋ)-]A$0sΥC˚7R!zِR 顇 ,p.!B__9‘ ÞFT8+OدuGhj ĘJL_gsp5Iޭ;9"xgmj6~#+9]~W{p7<~̼|6/\@KK>Ckؐ0tN7qZٿ[К$,$F|x#@h׿5-ܑ̓_eI|wsSdlW}r Sr`=|ױvetYyZ{ǛgsA{FHLPmmbE7E*QױYR)4)I^|_*DywJ^9q9rn!s?}9diҳ|ki^6\;΢z:2 f4k]%tn!<+|r`P%K.0cr* *quX"kp'%8ytNqU"Ce'1kBK<)1O/t<.:BNyMA)좁X--f_"#Yf0vWoΣ .y@n cAJG&T䖈$@pI~ #bI$P\1BN2-.]mL7OAɡQiA/pw>+&3kTW-9|RK%rKa/I]"R}zyrm_14gx&Inm?5qBÇ9 7KRF2s<}p΅Yfk#}A[[G6쥪 b!h 'DW(fjvwC2ǡ:^ΕN4(s:EQH) 1O UyC"/BesR3?؄dg7=kǷfsxfI ]Sغe\<f!<HP;mriߵTi{5@ O~Fۅ̱cheZJCU$>bל䇲X9A"`NFƸTES0mFEE8u=+ P9F@QӢ/R=g}W_|lf|sݽY'Җ޻bDZqɯoY7G6t!7dfSۿMy銁1|oq9CtTkCkSK24&XU#=C{0Ux Ɂݽ$AҖ" &Xs#c̞/(]oa߾,w˻Oz M5]؂9mx_GW&Ѓz?!W|'ϮY24 .C` Bz;G UCgkYT)r.?Lׅ3eˢi4hŹ"Ӧ-"۸N CAfϟyu'BV$kC:>ɚ ]ĬH,!BP # O2Yt]nJc:TO|#20 j||& NV2PAz ˮdj] 7 \<| (}@/ZH&ͤe7ypGx4?W9PŽ,㎋t|y[ 6r%_ k'?ˮ=7KPts׏si>F!tN/9汿|{~w1?iG YJ Zk) tv&X#ӇKq13fP_c*ւp))95IUU"s J$'#Kƒ>_3~= Q6b"Ol̥of@+C@|=;-j(Rvl~guN/:#Iȡ< 8AU#O m^PZNC'R sSSSE(TE4P$#=I#l@RaoɵOÙ"S$~4Y&{`re'=EE$ZCC}9&~KW` +Wn7oSg61wu-[)Gο/4j]3>qao;r Wsi涯~-~3nZ7fKaR6RJzzz*yX!ıf2,RQ뺎eYEAJU)y nSܿiCYclx_˺Mjf̛Y ߏe;68XS8:xlW}G u 3s"62~χx^!ǛvUU+X,F$wPW]]]UM7G}>C_M_~~lVDze-װ~PsO% {%umW_g@MY?H[%Xu,BP[[d3X 0*f;p 1 A-Z'&LK ENC7XqՆǴ lD\GUJD?$%0yǷ8Kvߓ;$ndAc&[Yt9p4CHwbA)jõ{!i$9uCh/1g<"UWm3s'Lz& O|N:.5fu WLgbT%M'hD)SU5hJ#q3*nN:A,*tx$ A1Vg UO(b<+86LT(cpb9[]ץn̮Ol9C*feynٴo=9%KO6^͵C"x;usD+L , 9Ǎ.q躎jĆSqJ12|o3eF#!Ä0ya!r!;X~7.X(I ]圕ݕcY<[1Κ,ϜAPUOa_SN8x&y񫝇 Χ39XFE`:a:Mww>S:J(ŋC<xLL18!?eeWy [{:%4:_zKR &Ԏv%swf !=y9C p2w-ljsaCCH"_JOTDxKO) &긮J.`]*/E˶Y jPgH9pǛ$aR[[;j^Rs+a,&Wb;;f{.jv1 O~׭aoE~Kܿz ӧ(BaC7p$o[gLQzܱhz! Ge揌`0^B$sN8ƍHdXdÆ 2渮˴iHR1A/SK:2x~zJ#ޞզ*˖-q#Lе2GWQ[qŠ }@{>/霩dYc K9k:Lh"H6m|3Wpl׵5@`!)`4mݺQyzG"(9<|B1HTyGH$4b&qڒ72j6xSD öJ 8"$֓y{V_h!S) z/ߚ/3f3c_+])֗lB௿ςYm/hno@eLX:$G% p!Ա65ZRt7XZҙ ŒЛNsWNשl]+%9'"V±.~/rIM:jZd!JsyU4hJ!4eB^'g2HS ò-Jخ7{nmk%c{n>\Q._Jr<u׬Yb!x+f꭫cTv5Mk'vmc$4v=)oONLلI>t]Ezѣ E!ʻBQl͍#=)R^ӓ*x2Q%Hؙvu>m"#I(U;lEH:ZZ)4M>d29 #tvvp@ Pq32ʺ;qӧO%W4]ץeQS{u%zˑ|ƭҮ(WTB+L8Lfα^6ʻ{--- 45g˻I꺍T^1S9Eӄ d25B@4q/sfFSW*8.P]]]Eb$Q|( 555 UUijjZZZ( ǻJ%:&OHSSSShkUJ4_1Mh"?Wl(̛;aJf}ߧ9gG D9b)IDATG"*lmmhEQ7n\e9on!˽l&LPٯ<,X7D"1 % ᙇHV/:UBē`Y),Oķ% HM|$xDUG/xYצGu)\>{㏰8|0ilO~7rŽLC7k ` T Ѓ.(> "RG" P(Ĵ589)#OsiR BFG“ UhɥEdtP X"kR 8CdU^pGEtl &6JD7D!Z1Sg(AHEh,u &WYx1 ٹ---cع%J%^SSC(vzٶ{mm?G&Nx7'N+eg|߯8I Xj%'ʆgp !\b'$˲m{u)ǿ2M_`3/橧6Lλ+ BY*-e@TF$%F@aAKrn钡;/ )5RCw8?ku\aRmϕqM䖔+PHQo307E%'Ԩ,H-9,ε,X[*CE;231l56||R:\8BG Z1:롢`۟1b| p@BS_ 6xFBφAv,w|s*J'cox}YqvMHGbtJJtWZɣ +3 |#Oռ_ս.'}/)uD63.*=0y8H(ܖ-,ni/Ux+-ZИa-;<4o~2$̔Yhzreeo 7ά&.B!iW]Δ(FfHO+G՘q^>3+ *3-J=ӥap^(ylFpӛ"dQ'mP{5Eec9Nls"3imi ȋR#)q-vtIL`-s) Jjs"z9)Kkfc Twٳ8:r2+TcgQ;{s)AN>ᆐ>a Rob1e u\VoOx!AXBiHK @껑`'UA7pGnV/S bdKȂol [_]w݄wwOJ Ŕ,l_lOtyb lKIf65PdIk&%{9qWVEEkCvHA"~ˆ-?eXڧ@v""vyH  붿ph[^lȣN1J:H.U,*ɵ˟y7 xu̷)a(xV)QW|-]9$eRYq'yO`YaEQLv#H2J;MW0[k6CldPnxi},?|U hb29v|%kوfKh$"L"L6#!#_F`mIDevpZV_MVHڑ}IK=/rڤʾ[=Ag?x.Ų?-P>e4\s0N2oعj'#fo06rSdqT3)Rx|mk#beo ]/|xC&&0Fj㹯 Ll:eob+LR^ޜW9m}0J>H8]Ơ;0pK; aϷAj)'ktȇOA-5oyu 9g6K XĠz?wQѴ!HFiK:FQ3!h C'*]%Mpꏶ˛VɥuV#N/ 9thL0{g\#ht nt VW1rʲihf L7vا_*Jmoޒ/K Zn$@3ݠ@Lu)ێA :bP^ttkJd.w1d۲oFJL|_l|8a=bci*eV V{QuC0dԭ=~xE,cZ#y{ZVE+GTe/CNACjGb֍*vhGX´Uww.=4YkRI c$@-O K?@/x/#]O*3uoP~gE<GbF{&'ߦ`W]'` _+5~ٞ ] ioûK]dyy5&e]15{Vby-U}LJ#24Z*Yjv 2K%vo.{w:2l2rTxbmHcmDPź O ZWI(0O'.lc>Df UYs&;z 93Ӥ#߸ 8IR|C>5B雮tTt2~ĩB5'oRjN50dȳ\Uk^F ZKNtHjzZ43V $<],L&'/|iTE #KCA brk2aIfIDmq y_))L[d!խc=PO;Y+tdNR'XQ ƶQ5- A+%_.+2P-ؿ-RȴF.8u;j+PA4M+RKW!a+7Ye9 Sl&Ϭ4BOD,`~pj-h[Ċ+jCa)bzVIeq ~qd(*#8<3e T&olWySDE[ ? GP$tWY'vU5V=$j > rYXWӝ{դE徎1T4y1p {P^s)p )e)AA@Ek>d(͵1~e[sRR>SNqGZ':"u> =\B)_etxчg1k܄D~ bca/êk,OTv%!EƳ<~MMo*{ޯ]ZsnBH7+GꕡXq,rT:>$b; >(x¶U`2Ysp <.3Fk0j8|/kr굈 JV{=1¿E{;/63! yI&bԙ̈́8ϧ<̅ AIkI+n>$ew6ja[7i|Mі4G6{׍nGC-$w>!%j;@ t6p+8o.v _E@|n7EN8ZmnS4$j~?6VP9t =<;-Y9ߤI2S e\@4p踻W41>.;v501hpNZ%-q;hO*¦ P`WϨ)\tޫR(VW-?*1lLCgԾg}䔠w^!W7Ҳ#d؋_câf ƌ 7V(Ԙ|84yҲBxNd3M T'&R\jp.ęvje'|4_IjYKP0 Gncl'm4>I>Si!~ÚxVSGRv( F2o1'y0JlijNin0 Tc!]2 ZbVg^P.#+i;?s%3aHv.QJnVnTxqM,ʓauP{ ƎŇw]fy2qq5@FȌX$YR?1mxPN_- ]BV\ ɳgӝƽH ?TH2wOċcxG1ʵ6y:$~%FІȞo u.{ɄPF@4O0͆xcDi"4Jis9rN1]NE[тrLY)>@%%VHT.lUŠ |vN~4$#aK:u{%~,1htRت{f*r1au,\qg,l"]GЊ= wRT-Z~oɷ*Jz:k7\6%~ĭ慥e\WG+tQeh V&ec`ϘchQkP?Enf/2%{$%BzWTH8+ aϟQ̳岡℉')O Rg=F~]09Qr T@q-/D8]?O|Srr6VJEa\>5dvgю1SvKeTh*y =;lZDe SMu/>MOvh?VYJ')BJ=qiw'JKH0=pu9=F:EY}2+eK$ 8ճeXrޡ&PP]Z,4x $bJxTT#]-63;wapww0; ;YI+ݝJUkwN$@T {;$C IIBz {PZBG^Wi84,)+D癙mv,bgccb "hblbLflN$!)DRTH]"[me$4U_0U!R磩I0FjPIjIhS JW,'c yXjaͷW[tW=ױ^ @ρ2⠿6kkݮWp:&eBBc/l\Ƒ]BC O/ *Zmӡ(lٜ\ʲDy~eX2wD/1/\]N9/mKt1J9VoYU.H,f|vl%uΧ +"jFʽ;YhUZWܵo&Oo^D ! @'UϿqƞdu]bh'nc3ǥt$;w`~ēNbUx~9xSOUowu>tLB@n4we[]ddbR:0 A*V}TH)ඛoD)ͩg(O}jػwݣ|Cz>Rᡯ}mᛷl~xY-mST @* Aࣕ\@HT>Jkd( ٳ0 ЇOUObinnΎrcgA?y6l嗷-+84V2M6m܈eYamXM2v*c#w sf ]y|k:AM?<yKRCT"1yʔ $455GJB%QR"BAAH(b; *S,ʾ /[tqM۶].WhN$B)M"4Mz0 عcsȔ)S&Fss3lD"lQs=۷+۶ViZ8ŦaH$mRVCU;3::%QLH&Yl \JAL: fG0GIIFX,Ps(#X(pZk(mL&CWg^~=ceR]]tL&I&O!P(pwm6tS -{6m:}D޴El>|JV> CCR(%.\۶ d2Icc6rXI)1M gR0m4uG2uT#i-'!DCaص#v~{}w[9&QJq􃘵}i5QXȰntDZ bu1@Ci;:8'0LԔEK9uPJ_R'0 IM,dBg2R0 Ca(vءKBק-ZD&1 %ZW1́Ӧ.׭ŋY|e̘1D"{@IE&AarA:!!ISPVR04ӟcuض=q|<hR4Zk hl>9"%a4MyYu70:: |GkQ,,%L&׾ 9=o|,`Su,5ܹT*Ŏ;xPX"q8D!Qi`;ȻjS ]vh'DhjZ[Zikmn Aǝ>o޼[n٨Ν;ŦMa1GlF#c_4_ .]˗o?/.^LwOON 38}čTsv% bA0 ks-048*Һz(hkkӅB5lV_Շz1ZeT*ao4;wy'ӧOgѥQn5fۮ0f<۶qn}*839ʎ鋟߰5WS.ܢESK=K d2s=::<sil̢f јCtvv"c'H) RUR4Cd2iRxOgreYT]bǟxlADk{V1q$$wanYtݽ^ J"BCO:()E;w`xp{Vqh C)Wp,َCJ}i}H---mc446,84\$ yUEƸK;mY:lzSOoa0>>N'$SI'M_?A4ŭVI _+LJ '@XAȊGd(m[:l2W~/<@.g``mmmr9 à\*k. >+ NI8YB5n(]]dbUY؆ұ,la^gg'Bt:Ʃޱ)S"b,Fk+J$Sma 0׸z-h-id<|naH" Fg0 1M~'MD0M : Rp/}_*2 _]c+#J@2FWg2 >޵4D k)SU4ZL ,k1-$UGl6 Қeٴqlynm0ضY~3/C)En4_R/~_{T}UdPJ36T*A0MߏX{/l̛ĉH6mp yQ47Gzce8H))!% €KRu%C9TazٻwD2QBnfjatt485ҩϠ_+~zzzxy˖ol۶C4$F_DjKp9G>S2R 4ٳkgTIRPJ<#J>:aH?:}u]֭]Òo t_ĭ b@\Pȓˍb6]y5XeKk (vDz nn\fv,"Lx!DGePD hmop+ƃ͛6"o F{ҢC)ٶ};i ͔JKFURNgH҄%"1A txCQJ6Fww7ik+$ȱI(R R4eFOEYHi@IQV=4a0< M`ʔ̟2?<8AfCxax0gl{>?j| 3 8-\eLذa=,7lϬ|j[#⢋1+;Xv-cڹ| 9fN}]3M>u7\\sE5kػwotk׮c/3}}}  ns]5kײfZN-[+~;0A0 x'fʕV[1r)2 +V\ /r{CZ\Oń>fϙ9BT*9֭[1-+ZT0Jr]`A@&\_XX>:{vR.Sٰa= Z~]uيeŷKlp+W]u#{n''pXzf8=…gѢE̝;02DmO\"#J)tML2);l&0<}ԑqzϤS(K #hjiŴL?I&d.ZN}{ xWXӏ]dɚ|PAMg``p}s;g̙3qzypT,fڴW@.. C?D2 e!V=*V\I[km?%ou ,?~]ssC{wOss;.xZk:,nVOJE" _Q"eT2$g8)y:h)iΌˁKo_t<ꨣK^ފ~x=^x?rgp9g}۶z*tHRuW\0B')"aQAR֮;oN:)ŸXNn{U~֭[w1s͛O4d6uC{yH)ԧ>e^@1FtJQI$S1y1G׉{[/,<4,ˢqǟ@dڵ_xZOjoV:Yc3)A*i Pugn&d:hLCJ\w= ihlzC|? ' B0|ɅWfÝɤRbiF[ԚMq AP*F( ٰ~=39$n5Fu'R.d8  wnz{'q3_ڴ'z;co֖.]ʐj8$޽tuw344H6%ϳzJ>Ab7O$bLӤZu}[l0MДzz{#_{s䥩7jgQ,hnj" %wd"Vq#hw$n4'sHdA)&+?Xr/~Ë[cu9D @IҚJoJAܿs+W6f[S[־_?Ƈ[Zg76f[Եpl2!đe-i73Wv~r,7zc:T,gWtwvO{F箿8sT.y3܂*h ϵʏ#i۷nزmc+?Ӌ2`͛;vmmkifZJTt*s!˔WYi;+%ɳϼ#,SfZ[Tr熊g_Oz|B:RU;+dK}D~i̫sek+TypM~wUO}>P%VO!G@M&e_}Zm]@ƒWK]gW] `iɪ ו\9Zozn_nZtZ-:G$Ӕ^N(N2/q=eN$\>E|lm.o 1ۧd0iߪ}4yA|MެsJk˙C\h×!E۸o[4ntӟÖD2zp{'"\:C<+P%%vr|.ǣf+ۛ 9ߏʮz{OW9׳M=8Ҏ]vv9`t饞u S:l[&[e_$`g/)PyQ<~if6uh,xh`_ ?77bz3"qaE OE?7≉'ƒRYUf\14殯Tr>\UY iNXvBrEʈ;DdEgb( r\ԪxRb8i5ry pT.zkr,s(S-1C7jG4Ԋ2i4et*Yl@jM)n2NkO+"u5Y9LTU$j2"[alPQ"#< %jmE7Mw+9P_.FVaSRϸF@š ^Jyųuy̤sh:%þ25HX_6ʮz3BC)\G?#a].aqS.GeױM}űʜ,!-°?7ÃQMJ5M-MQ$U+ʽ p9nu˖S\L?Dʼr+" :n焻>|_F e4u\N%Ф(:řNk`i^:`kϏ2-]~&ܚMJx3D`TbQ7dױ0i `K8\mkZkYz{+JGXt547Tۡrs$H^$"-۪x%P֠O=ǻK,Wk}^١e^[es{ NʵM;\,tR=^";%C Τ*Yo!,25S& azP3\vH|K&eə |6+PnK@}]4YRQj+ץB6I?)*r`mqgڦK5E ot!0ͬXS)֡YvPM&Po HYW~bNIQ`p7*}cevmiY);GuK9rYOFDnה:G^=@8bfH6Q|{S_(ooM~R]&}|x.Tˡd/&Wu׍i^.W%o שѩC};cڅFXOHXJeM*|n9zֻLʇN8ASTȡ.\V7*s 7]RIh/_-q0uJ~=TQ"_i#oceEuiSSH@P6W_izyh̸#ּs+/nv.0 ~f˩U67GCľgXp"P;vܞcmz6kIW=Pi{)Q v iX|͑nq1Ctwk-Kcu\њ*jICiK݁U: ?X_LkX"X;quu׷ 55ǏS)39xšzL 1LrcY"v9 R#k`t/<ػ~ד9y:ZD:d[yق Osx6R#*Z[?Fq,"Ū-IT.*m.mu+ :Lg(D5nޓ(. Q$*`b+:s'l92} /.s27WKX<1Җu|yH%*+ hߖzޗo_uU7&|/_7fcjh?r;BFT,hK#D` %LYw>k@s#ilt3 OʮNsʼz0X}4Eyx!4H u4ێߜRc džbO Ǘ'h>߭@["I95m3vbÐ^ƱLhʴ].t^ P*˚IBRgYX3|TVy@0juoF ]F+JsoH> i.TxS!B$e.6%v HX/4::/L}U rie=޸!ߐu : =i޽Z|/˽Oִ7h\qq+Yd9 J;K0CoG]g6_ʮNms97Sp4 8ԛgL5R#8>Ҽy(.º2iGŐVE(KӔpB~Siwb Z $6į&߻@I2"P7| 87Cӥ+v|#`;[K3Z ${&tTD݄l`]G2h)^p=NiQ, U׆M/r;y18 XuMáIi,i@b?ŒpXK|«[y\ng_5A`g-3ߞd qGu{{jId^8BfZ]l CoYZug+]F+ٗX y=J84?J.4Ra<u㒃]O5Uaȓ~ eDig8g%+e>ZOaoANaiGSj9mokyغg?P1+e-f4aT|[޽W?0a\-<3^+eo-Ggnhڜ/o0N5m rd[ūUu$7a,mˁx~Lf=e5(D]E]uWʮI5[8͒/x5MF/x.ui8'{M[ֺ5UqI)TQ `iXKc Ӟ irѫY'Gh@oo>"-?XJC 8>0wf+=Z#v./>6~jݺLv8m4͡qesK{ozb(~-i; gƓtByNy\Q氎 (W5~v<q_ jHK6?0C"Z{׵@ԕhOe~ W (v,[Mp;0ٜQ{ kP+E5=Jh~]z8{@٨W\ok}@>)`rh&Js{[2w% 3,S(zϱ8w-g@me}rbX2%R퉦횖UC< J~ I33*d^u(fX2,#7cYF&M*~Np#rtnԌr4xM4nY|W+yRt(*1 <Ќrј7maQLCsXX/?Ё*< ]*@>\W_=ix2Y@anӀVv=ɰn')"` f](]L$"v)7IENDB`W d< x PNG  IHDR9pbKGD pHYstIME(5qIDATxw|\ՕǿMU̓4Tc@Pm 77' B %1) dٔ%.KL섄jۡVF%YҴwH3x~H={{946{z/+ڮ[)" j vThKR_mk]Z(bzMquc=ջW"@.x3ƸE7-_>dѲXEE[nwt^SMw8wBuLsElmk-\bPG3u:;_SKEXwklLX+?8a4|/m˻A74.cCxqL|cz8xK!ZZ 1U#8I`1- I0034.htmlSystème multimédia de salon & ;0033.htmlÉquipements portables < g0032.html Smartphone et tablettes # 50031.htmlGénérer des films # 50030.htmlGénérer des films 7  ]0024.html L’explorateur de fichiers multimédia 6  [0023.html La barre de temps #  50022.html La barre d’outils &  ;0021.html La fenêtre principale ,  G0020.html Description de l’interface : c0016.html Les feuilles de style X 0015.htmlLes réglages pour tous les plans et les réglages pour le plan en cour P  0014.htmlLa propriété « Visible » des blocs et la gestion des pauses = i0013.html Les variables dynamiques 0 O0012.htmlDiapositives titre prédéfinies P  0011.html Principes de fonctionnement de ffDiaporama P  0010.html Principes de fonctionnement de ffDiaporama  7|Ku<s h7/" M0104.html"Propriétés de l'arrière plan E! y0103.html!Ajouter ou éditer une diapositive titre prédéfinie '  =0102.html Gérer les équipements F {0101.html Modifier les options du programme Q 0045.html Types d'objets utilisables dans ffDiaporama : c0044.html Fichier nfo pour XBMC R 0043.html Les fichiers de configuration de ffDiaporama 7 ]0042.html Projet ffDiaporama 7 ]0041.htmlLes paramètres de la ligne de commande M 0040.html Informations techniques sur ffDiaporama N  003A.html Fichiers joints (Vignettes, nfo, etc...) 5 Y0039.htmlStandards et résolutions des vidéos / M0038.html Containers 0 O0037.html Codec audio  '0036.htmlCodec vidéo 2 S0035.html Pour Internet OjBh/7~O-4 I0122.html4Propriétés de la transition Q3 0121.html3Définir la durée des transitions pour un groupe de diapositive 42 W0120.html2 Editer le texte .1 K0119.html1Propriétés de la diapositive M0 0118.html0Définir la durée du 1er plan pour un groupe de diapositive // M0117.html/Modifier un modèle de vignette '. =0116.html.Propriétés des guides !- 10115.html-Générer le film *, C0114.html,Propriétés de la musique 7+ ]0113.html+ Gestion des styles "* 30112.html*Gérer les favoris ?) m0111.html) Information sur le fichier G( }0110.html(Recadrer, corriger et/ou couper une image ou une vidéo *' C0109.html'Sélectionner des fichiers && ;0108.html&Propriétés du projet 7% ]0107.html% Exporter le projet 1$ Q0106.html$Vérification de la configuration (# ?0105.html#Propriétés du chapitre @8 f8lJ(d@"J -%img/arrow_up.pngJarrow_up.png(I 3+img/arrow_right.pngIarrow_right.png&H 1)img/arrow_left.pngHarrow_left.png&G 1)img/arrow_down.pngGarrow_down.png$F /'img/Alignment.pngFAlignment.png"E -%img/AdjustWH.pngEAdjustWH.png D +#img/AdjustW.pngDAdjustW.png C +#img/AdjustH.pngCAdjustH.png$B /'img/AddFolder.pngBAddFolder.png"A -%img/add_text.pngAadd_text.png(@ 3+img/add_project.png@add_project.png$? /'img/add_image.png?add_image.png0> ;3img/add_cliparttext.png>add_cliparttext.png,= 7/img/Action_Wizard.png=Action_Wizard.png(< 3+img/Action_Open.png -%img/SmallRed.pngSmallRed.png'= 1)img/SmallGreen.pngSmallGreen.png< )!img/Shadow.pngShadow.png!; +#img/ScrollY.pngScrollY.png!: +#img/ScrollX.pngScrollX.png'9 1)img/SaveAsMenu.pngSaveAsMenu.png#8 -%img/ruler_ok.pngruler_ok.png#7 -%img/ruler_ko.pngruler_ko.png%6 /'img/rotationg.pngrotationg.png%5 /'img/rotationd.pngrotationd.png!4 +#img/RotateZ.pngRotateZ.png!3 +#img/RotateY.pngRotateY.png!2 +#img/RotateX.pngRotateX.png1 )!img/render.pngrender.png!0 +#img/Refresh.pngRefresh.png/ #img/Red.pngRed.png. )!img/random.pngrandom.png- )!img/Radius.pngRadius.png-, 7/img/PrjProperties.pngPrjProperties.png#+ -%img/PosStart.pngPosStart.png%* /'img/PosSize_Y.pngPosSize_Y.png%) /'img/PosSize_X.pngPosSize_X.png-( 7/img/PosSize_Width.pngPosSize_Width.png 6~X6zR&JX6W )!img/Yellow.pngYellow.png'V 1)img/Visible_OK.pngVisible_OK.png+U 5-img/Visible_MASK.pngVisible_MASK.png'T 1)img/Visible_KO.pngVisible_KO.png5S ?7img/VideoMask_162x216.pngVideoMask_162x216.png5R ?7img/VideoMask_150x200.pngVideoMask_150x200.png5Q ?7img/VideoMask_120x180.pngVideoMask_120x180.png'P 1)img/Video_File.pngVideo_File.pngO )!img/undo24.pngundo24.pngN %img/undo.pngundo.pngM !img/tv.pngtv.pngL 'img/trash.pngtrash.png)K 3+img/transparent.pngtransparent.png%J /'img/Transform.pngTransform.png/I 91img/tr-00-01_small.pngtr-00-01_small.png-H 7/img/TimelineShots.pngTimelineShots.png/G 91img/TimelineBlocks.pngTimelineBlocks.png%F /'img/TextStyle.pngTextStyle.pngE )!img/splash.pngsplash.png#D -%img/sound_KO.pngsound_KO.png+C 5-img/SortByNumber.pngSortByNumber.png'B 1)img/SortByName.pngSortByName.png'A 1)img/SortByDate.pngSortByDate.png Hh6n< tBzH/k E%img/Transitions/tr-01-11.pngtr-01-11.png/j E%img/Transitions/tr-01-10.pngtr-01-10.png/i E%img/Transitions/tr-01-09.pngtr-01-09.png/h E%img/Transitions/tr-01-08.pngtr-01-08.png/g E%img/Transitions/tr-01-07.pngtr-01-07.png/f E%img/Transitions/tr-01-06.pngtr-01-06.png/e E%img/Transitions/tr-01-05.pngtr-01-05.png/d E%img/Transitions/tr-01-04.pngtr-01-04.png/c E%img/Transitions/tr-01-03.pngtr-01-03.png/b E%img/Transitions/tr-01-02.pngtr-01-02.png/a E%img/Transitions/tr-01-01.pngtr-01-01.png/` E%img/Transitions/tr-01-00.pngtr-01-00.png/_ E%img/Transitions/tr-00-04.pngtr-00-04.png/^ E%img/Transitions/tr-00-03.pngtr-00-03.png/] E%img/Transitions/tr-00-02.pngtr-00-02.png/\ E%img/Transitions/tr-00-01.pngtr-00-01.png/[ E%img/Transitions/tr-00-00.pngtr-00-00.pngZ )!img/zoomup.pngzoomup.png#Y -%img/zoomdown.pngzoomdown.pngX %img/zoom.pngzoom.png Jj8p> vD|J/~ E%img/Transitions/tr-02-12.pngtr-02-12.png/} E%img/Transitions/tr-02-11.pngtr-02-11.png/| E%img/Transitions/tr-02-10.pngtr-02-10.png/{ E%img/Transitions/tr-02-09.pngtr-02-09.png/z E%img/Transitions/tr-02-08.pngtr-02-08.png/y E%img/Transitions/tr-02-07.pngtr-02-07.png/x E%img/Transitions/tr-02-06.pngtr-02-06.png/w E%img/Transitions/tr-02-05.pngtr-02-05.png/v E%img/Transitions/tr-02-04.pngtr-02-04.png/u E%img/Transitions/tr-02-03.pngtr-02-03.png/t E%img/Transitions/tr-02-02.pngtr-02-02.png/s E%img/Transitions/tr-02-01.pngtr-02-01.png/r E%img/Transitions/tr-02-00.pngtr-02-00.png/q E%img/Transitions/tr-01-17.pngtr-01-17.png/p E%img/Transitions/tr-01-16.pngtr-01-16.png/o E%img/Transitions/tr-01-15.pngtr-01-15.png/n E%img/Transitions/tr-01-14.pngtr-01-14.png/m E%img/Transitions/tr-01-13.pngtr-01-13.png/l E%img/Transitions/tr-01-12.pngtr-01-12.png Jj8p> vD|J/ E%img/Transitions/tr-03-09.pngtr-03-09.png/ E%img/Transitions/tr-03-08.pngtr-03-08.png/ E%img/Transitions/tr-03-07.pngtr-03-07.png/ E%img/Transitions/tr-03-06.pngtr-03-06.png/  E%img/Transitions/tr-03-05.png tr-03-05.png/  E%img/Transitions/tr-03-04.png tr-03-04.png/  E%img/Transitions/tr-03-03.png tr-03-03.png/  E%img/Transitions/tr-03-02.png tr-03-02.png/  E%img/Transitions/tr-03-01.png tr-03-01.png/ E%img/Transitions/tr-03-00.pngtr-03-00.png/ E%img/Transitions/tr-02-21.pngtr-02-21.png/ E%img/Transitions/tr-02-20.pngtr-02-20.png/ E%img/Transitions/tr-02-19.pngtr-02-19.png/ E%img/Transitions/tr-02-18.pngtr-02-18.png/ E%img/Transitions/tr-02-17.pngtr-02-17.png/ E%img/Transitions/tr-02-16.pngtr-02-16.png/ E%img/Transitions/tr-02-15.pngtr-02-15.png/ E%img/Transitions/tr-02-14.pngtr-02-14.png/ E%img/Transitions/tr-02-13.pngtr-02-13.png @j8p> rBl@)% ;#img/Arrange/arrange.png%arrange.png%$ 7img/Arrange/aotop.png$aotop.png)# ;#img/Arrange/aoright.png#aoright.png'" 9!img/Arrange/aoleft.png"aoleft.png)! ;#img/Arrange/aodistV.png!aodistV.png)  ;#img/Arrange/aodistH.png aodistH.png- ?'img/Arrange/aocenterv.pngaocenterv.png- ?'img/Arrange/aocenterh.pngaocenterh.png+ =%img/Arrange/aobottom.pngaobottom.png9 O/img/Transitions/tr-icon-error.pngtr-icon-error.png/ E%img/Transitions/tr-10-03.pngtr-10-03.png/ E%img/Transitions/tr-10-02.pngtr-10-02.png/ E%img/Transitions/tr-10-01.pngtr-10-01.png/ E%img/Transitions/tr-10-00.pngtr-10-00.png/ E%img/Transitions/tr-03-15.pngtr-03-15.png/ E%img/Transitions/tr-03-14.pngtr-03-14.png/ E%img/Transitions/tr-03-13.pngtr-03-13.png/ E%img/Transitions/tr-03-12.pngtr-03-12.png/ E%img/Transitions/tr-03-11.pngtr-03-11.png/ E%img/Transitions/tr-03-10.pngtr-03-10.png O{N!sFkDO>: M;img/Text/Shadow bottom right.png:Shadow bottom right.png<9 K9img/Text/Shadow bottom left.png9Shadow bottom left.png&8 5#img/Text/outline.png8outline.png$7 3!img/Text/normal.png7normal.png"6 3img/Filter/Wave.png6Wave.png$5 5img/Filter/Swirl.png5Swirl.png*4 ;%img/Filter/Oilpaint.png4Oilpaint.png*3 ;%img/Filter/Negative.png3Negative.png(2 9#img/Filter/Implode.png2Implode.png,1 ='img/Filter/Grayscale.png1Grayscale.png$0 5img/Filter/Gamma.png0Gamma.png*/ ;%img/Filter/Equalize.png/Equalize.png&. 7!img/Filter/Emboss.png.Emboss.png"- 3img/Filter/Edge.png-Edge.png,, ='img/Filter/Despeckle.png,Despeckle.png.+ ?)img/Filter/Desaturate.png+Desaturate.png** ;%img/Filter/Contrast.png*Contrast.png*) ;%img/Filter/Charcoal.png)Charcoal.png.( ?)img/Filter/Brightness.png(Brightness.png"' 3img/Filter/Blur.png'Blur.png,& ='img/Filter/Antialias.png&Antialias.png WG W}DW,K ;)img/Text/text_super.pngKtext_super.png(J 7%img/Text/text_sub.pngJtext_sub.png2I A/img/Text/text_list_nbr.pngItext_list_nbr.png*H 9'img/Text/text_list.pngHtext_list.png.G =+img/Text/text_italic.pngGtext_italic.png6F E3img/Text/text_indent_out.pngFtext_indent_out.png4E C1img/Text/text_indent_in.pngEtext_indent_in.png*D 9'img/Text/text_bold.pngDtext_bold.png4C C1img/Text/text_align_vup.pngCtext_align_vup.png I7img/Text/text_align_justif.png>text_align_justif.png:= I7img/Text/text_align_center.png=text_align_center.png<< K9img/Text/Shadow upper right.pngGrer les profils de gnration0106.html@Vrification de la configuration0116.html*Proprits des guides0117.html<Modifier un modle de vignette0020.html:Boites de dialogues d'dition0103.htmldAjouter ou diter une diapositive titre prdfinie0119.html8PropritHs de la diapositive0118.htmltDfinir la dure du 1er plan pour un groupe de diapositive0104.html8Proprits de l'arrire plan0105.html,Proprits du chapitre0114.html0Proprits de la musique0122.html6Proprits de la transition0121.html|Dfinir la dure des transitions pour un groupe de diapositive0110.htmllRecadrer, corriger et/ou couper une image ou une vido0120.htmlEditer le texte0123.htmlHAjouter ou modifier une localisation0020.htmlNBoites de dialIogues relatives au projet0108.html(Proprits du projet0115.htmlGnrer le film0107.html$Exporter le projet0020.html8Boites de dialogues diverses0109.html2Slectionner des fichiers0111.html4Information sur le fichier0112.html"Grer les favoris0113.html$Gestion des styles0030.html"Gnrer des films0031.html"Gnrer des films0032.html.Smartphone et tablettes0033.html*quipements portables0034.html6Systme multimdia de salon0035.htmlPour Internet0036.htmlCodec vido0037.htmlCodec audio0038.htmlContainers0039.htmlFStandards et rsolutions des vidos003A.htmlPFichiers joints (Vignettes, nfo, etc...)0040.htmlNInformations techniques sur ffDiaporama0041.htmlLLes paramtres de la ligne de commande0042.html$Projet ffDiaporama0043.htmlXLes fichiers de configuration de ffDiaporama0044.html*Fichier nfo pour XBMC0045.htmlVTypes d'objets utilisables dans ffDiaporama  U{U/T-img/ruler_ko.pngS/img/fileclose.pngvR1img/Visible_KO.pngQ!Eimg/Transitions/tr-02-18.pngP!Eimg/Transitions/tr-01-07.pngO!Eimg/Text/text_align_left.png?N#Iimg/MediaIcons/16x16/image.pngXM5img/Filter/Gamma.png0L-img/AdjustWH.pngE <!/=KYgu+9GUcq '5CQ_mx 0010.html 0011.html 0012.html 0013.html 0014.html 0015.html 0016.html 0020.html 0021.html 0022.html 0023.html 0024.html 0030.html 0031.html 0032.html 0033.html 0034.html 0035.html 0036.html 0037.html 0038.html 0039.html 003A.html 0040.html 0041.html 0042.html 0043.html 0044.html 0045.html 0101.html 0102.html 0103.html! 0104.html" 0105.html# 0106.html$ 0107.html% 0108.html& 0109.html' 0110.html( 0111.html) 0112.html* 0113.html+ 0114.html, 0115.html- 0116.html. 0117.html/ 0118.html0 0119.html1 0120.html2 0121.html3 0122.html4 0123.html5 1.html63img/Action_Info.png:3img/Action_Open.png<7img/Action_Wizard.png=/img/AddFolder.pngB+img/AdjustH.pngC+img/AdjustW.pngD $``v (E`})B^v8Ur/img/Alignment.pngF=img/Arrange/aobottom.png?img/Arrange/aocenterh.png?img/Arrange/aocenterv.png;img/Arrange/aodistH.png ;img/Arrange/aodistV.png!9img/Arrange/aoleft.png";img/Arrange/aoright.png#7img/Arrange/aotop.png$;img/Arrange/arrange.png%)img/AutoTS.pngK%img/Blue.pngL)img/Camera.pngM+img/Chapter.pngO3img/Chapter_big.pngP5img/ConvertAudio.pngW1img/ConvertImg.pngX5img/ConvertVideo.pngY5img/DISPLAY_DATA.pngb;img/DISPLAY_JUKEBOX.pngc3img/DISPLAY_WEB.pngd-img/Distance.pnge/img/EditGMaps.pngi/img/EditImage.pngj/img/EditMovie.pngk-img/EditText.pngm=img/Filter/Antialias.png&3img/Filter/Blur.png'?img/Filter/Brightness.png(;img/Filter/Charcoal.png);img/Filter/Contrast.png*?img/Filter/Desaturate.png+=img/Filter/Despeckle.png,3img/Filter/Edge.png-7img/Filter/Emboss.png.;img/Filter/Equalize.png/ dd &=Ss"8aGj=img/Filter/Grayscale.png19img/Filter/Implode.png2;img/Filter/Negative.png3;img/Filter/Oilpaint.png45img/Filter/Swirl.png53img/Filter/Wave.png69img/FolderMask_200.png}1img/FolderOpen.png~-img/Geometry.pngAimg/Geometry_ImageLock.png7img/Geometry_Lock.png!Eimg/Geometry_ProjectLock.png;img/Geometry_Unlock.png'img/Green.png1img/Image_File.png-img/Internet.png)img/Lock24.png-img/Lossless.png(Simg/MediaIcons/16x16/Thumbnails.pngY#Iimg/MediaIcons/16x16/audio.pngM#Iimg/MediaIcons/16x16/cdrom.pngN%Mimg/MediaIcons/16x16/clipart.pngO%Mimg/MediaIcons/16x16/delayed.pngP'Qimg/MediaIcons/16x16/directory.pngQ)Uimg/MediaIcons/16x16/ffDiaporama.pngR"Gimg/MediaIcons/16x16/file.pngS)Uimg/MediaIcons/16x16/folder_home.pngT#Iimg/MediaIcons/16x16/gmaps.pngU%Mimg/MediaIcons/16x16/hdd-lan.pngV!Eimg/MediaIcons/16x16/hdd.pngW #qq1H^y 4H`v<`!Eimg/MediaIcons/16x16/usb.pngZ#Iimg/MediaIcons/16x16/video.png[1img/Opensource.png)img/PosEnd.png9img/PosSize_Height.png7img/PosSize_Width.png/img/PosSize_X.png/img/PosSize_Y.png-img/PosStart.png7img/PrjProperties.png)img/Radius.png#img/Red.png+img/Refresh.png+img/RotateX.png+img/RotateY.png+img/RotateZ.png1img/SaveAsMenu.png+img/ScrollX.png+img/ScrollY.png)img/Shadow.png1img/SmallGreen.png-img/SmallRed.png3img/SmallYellow.png1img/Smartphone.png1img/SortByDate.png1img/SortByName.png5img/SortByNumber.png$Kimg/Text/Shadow bottom left.png9%Mimg/Text/Shadow bottom right.png:#Iimg/Text/Shadow upper left.png;$Kimg/Text/Shadow upper right.png<3img/Text/normal.png75img/Text/outline.png8#Iimg/Text/text_align_center.png=#Iimg/Text/text_align_justif.png> cc .Pn6Qh4Vx"Gimg/Text/text_align_right.png@$Kimg/Text/text_align_vbottom.pngA$Kimg/Text/text_align_vcenter.pngB Cimg/Text/text_align_vup.pngC9img/Text/text_bold.pngD Cimg/Text/text_indent_in.pngE!Eimg/Text/text_indent_out.pngF=img/Text/text_italic.pngG9img/Text/text_list.pngHAimg/Text/text_list_nbr.pngI7img/Text/text_sub.pngJ;img/Text/text_super.pngK Cimg/Text/text_underline.pngL/img/TextStyle.png9img/TimelineBlocks.png7img/TimelineShots.png/img/Transform.png!Eimg/Transitions/tr-00-00.png!Eimg/Transitions/tr-00-01.png!Eimg/Transitions/tr-00-02.png!Eimg/Transitions/tr-00-03.png!Eimg/Transitions/tr-00-04.png!Eimg/Transitions/tr-01-00.png!Eimg/Transitions/tr-01-01.png!Eimg/Transitions/tr-01-02.png!Eimg/Transitions/tr-01-03.png!Eimg/Transitions/tr-01-04.png!Eimg/Transitions/tr-01-05.png!Eimg/Transitions/tr-01-06.png HHj6Xz$Fh4Vx!Eimg/Transitions/tr-01-08.png!Eimg/Transitions/tr-01-09.png!Eimg/Transitions/tr-01-10.png!Eimg/Transitions/tr-01-11.png!Eimg/Transitions/tr-01-12.png!Eimg/Transitions/tr-01-13.png!Eimg/Transitions/tr-01-14.png!Eimg/Transitions/tr-01-15.png!Eimg/Transitions/tr-01-16.png!Eimg/Transitions/tr-01-17.png!Eimg/Transitions/tr-02-00.png!Eimg/Transitions/tr-02-01.png!Eimg/Transitions/tr-02-02.png!Eimg/Transitions/tr-02-03.png!Eimg/Transitions/tr-02-04.png!Eimg/Transitions/tr-02-05.png!Eimg/Transitions/tr-02-06.png!Eimg/Transitions/tr-02-07.png!Eimg/Transitions/tr-02-08.png!Eimg/Transitions/tr-02-09.png!Eimg/Transitions/tr-02-10.png!Eimg/Transitions/tr-02-11.png!Eimg/Transitions/tr-02-12.png!Eimg/Transitions/tr-02-13.png!Eimg/Transitions/tr-02-14.png!Eimg/Transitions/tr-02-15.png!Eimg/Transitions/tr-02-16.png!Eimg/Transitions/tr-02-17.png VVx"Df2Tv Bd!Eimg/Transitions/tr-02-19.png!Eimg/Transitions/tr-02-20.png!Eimg/Transitions/tr-02-21.png!Eimg/Transitions/tr-03-00.png!Eimg/Transitions/tr-03-01.png !Eimg/Transitions/tr-03-02.png !Eimg/Transitions/tr-03-03.png !Eimg/Transitions/tr-03-04.png !Eimg/Transitions/tr-03-05.png !Eimg/Transitions/tr-03-06.png!Eimg/Transitions/tr-03-07.png!Eimg/Transitions/tr-03-08.png!Eimg/Transitions/tr-03-09.png!Eimg/Transitions/tr-03-10.png!Eimg/Transitions/tr-03-11.png!Eimg/Transitions/tr-03-12.png!Eimg/Transitions/tr-03-13.png!Eimg/Transitions/tr-03-14.png!Eimg/Transitions/tr-03-15.png!Eimg/Transitions/tr-10-00.png!Eimg/Transitions/tr-10-01.png!Eimg/Transitions/tr-10-02.png!Eimg/Transitions/tr-10-03.png&Oimg/Transitions/tr-icon-error.png?img/VideoMask_120x180.png?img/VideoMask_150x200.png?img/VideoMask_162x216.png1img/Video_File.png )nn.F[r2GVi}(>Od}5img/Visible_MASK.png1img/Visible_OK.png)img/Yellow.png7img/action_cancel.png83img/action_edit.png9/img/action_ok.png;;img/add_cliparttext.png>/img/add_image.png?3img/add_project.png@-img/add_text.pngA1img/arrow_down.pngG1img/arrow_left.pngH3img/arrow_right.pngI-img/arrow_up.pngJ)img/ccbysa.pngN'img/color.pngQ1img/color_fill.pngR-img/colorize.pngS)img/config.pngT3img/config_menu.pngU-img/contents.pngV!img/db.pngZ)img/db_add.png[+img/db_menu.png\3img/db_menu_big.png]/img/db_remove.png^/img/db_status.png_/img/db_update.png`1img/defaultmap.pnga%img/edit.pngf-img/editcopy.pngg+img/editcut.pngh/img/editpaste.pngl%img/exit.pngn-img/favorite.pngo5img/favorite_add.pngp;img/favorite_manage.pngq7img/favorite_menu.pngr3img/ffdiaporama.pngs7img/fifteenpieces.pngt9img/file_temporary.pngu &mm&<Nq5Om!AZy1img/fileexport.pngw+img/filenew.pngx-img/fileopen.pngy1img/filerecent.pngz-img/filesave.png{1img/filesaveas.png|%img/font.png'img/forum.png%img/gmap.png-img/gmap_add.png%img/help.png"Gimg/inheritance_down_lock.png$Kimg/inheritance_down_unlock.png+img/journal.png/img/kmultiple.png%img/logo.png-img/logo_big.png'img/medal.png5img/object_image.png=img/object_imageHide.png5img/object_movie.png=img/object_movieHide.png5img/object_sound.png3img/object_text.png;img/object_textHide.png5img/pattern_fill.png1img/player_end.png1img/player_fwd.png5img/player_pause.pngAimg/player_pause_small.png3img/player_play.png?img/player_play_small.png1img/player_rew.png3img/player_stop.png)img/random.png)img/render.png/img/rotationd.png/img/rotationg.png xhVB0qR9/wiki_img/Work.pngd9wiki_img/Wikipedia.pngc7wiki_img/Timeline.pngb3wiki_img/Schema.pnga?wiki_img/AutoFraming2.png`?wiki_img/AutoFraming1.png_=wiki_img/Animation_3.png^=wiki_img/Animation_2.png]=wiki_img/Animation_1.png\ wiki.csse main.html7)img/zoomup.png-img/zoomdown.png%img/zoom.png)img/undo24.png%img/undo.png!img/tv.png'img/trash.png3img/transparent.png9img/tr-00-01_small.png)img/splash.png-img/sound_KO.png-img/ruler_ok.png[ZKKYX 22Nt##/tableFolderTableFolderTableCREATE TABLE FolderTable(Id INTEGER PRIMARY KEY, Name Text, NamespaceID INTEGER )X''qtableMetaDataTableMetaDataTableCREATE TABLE MetaDataTable(Name Text, Value BLOB )J!aindexNameIndexIndexTableJCREATE INDEX NameIndex ON IndexTable(Name)X''oindexFileNameIndexFileNameTableKCREATE INDEX FileNameIndex ON FileNameTable(Name)V#'oindexFileIdIndexFileNameTableVCREATE INDEX FileIdIndex ON FileNameTable(FileId)  $*06<BHNTZ`flrx~ &,28>DJPV\bhntz "(.4:@FLRX^djpv|       !!""##$$%%&&''(())**++,,--..//00112233445566778899::;;<<==>>??@@AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ[[\\]]^^__``aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~ e (08@HPX`hpx (08@HPX`hpx (08@HPX`hpx d (08@HPX`hpx (08@HPX`hpx (08@HPX`hpx            !!""##$$%%&&''(())**++,,--..//00112233445566778899::;;<<==>>??@@AABBCCDDEEFFGGHHIIJJ 0xph`XPH@80eeddccbbaa``__^^]]\\[[ZZYYXXWWVVUUTTSSRRQQPPOONNMMLLffDiaporama/locale/wiki_es.qhc0000777000175000001440000002000012275647351016601 0ustar dominiqueusersSQLite format 3@ - ${e'' tableSettingsTableSettingsTableCREATE TABLE SettingsTable (Key TEXT PRIMARY KEY, Value BLOB )9M'indexsqlite_autoindex_SettingsTable_1SettingsTableh##tableFilterTableFilterTableCREATE TABLE FilterTable (NameId INTEGER, FilterAttributeId INTEGER )l++tableFilterNameTableFilterNameTableCREATE TABLE FilterNameTable (Id INTEGER PRIMARY KEY, Name TEXT ){55tableFilterAttributeTableFilterAttributeTableCREATE TABLE FilterAttributeTable (Id INTEGER PRIMARY KEY, Name TEXT )u##1tableFolderTableFolderTableCREATE TABLE FolderTable (Id INTEGER PRIMARY KEY, NamespaceId INTEGER, Name TEXT )x))+tableNamespaceTableNamespaceTableCREATE TABLE NamespaceTable (Id INTEGER PRIMARY KEY, Name TEXT, FilePath TEXT ) )#ffdiaporama_eswiki_es.qch  doc )ffdiaporama_es )ffdiaporama_es  I+ 9FullTextSearchFallback %CreationTimeRMU ) HideAddressBar-EnableAddressBarAEnableDocumentationManager; HideFilterFunctionality?EnableFilterFunctionality6)WLastShownPagesqthelp://ffdiaporama_es/doc/main.html7+WdefaultHomepageqthelp://ffdiaporama_es/doc/main.html#)WindowTitleffDiaporama_es&-3LastRegisterTime2014-02-09T10:41:41 #G\4{9FullTextSearchFallback %CreationTime )HideAddressBar -EnableAddressBarAEnableDocumentationManager;HideFilterFunctionality?EnableFilterFunctionality)LastShownPages+defaultHomepage#WindowTitle- LastRegisterTimeffDiaporama/locale/wiki_es.qch0000777000175000001440000625600012275647346016626 0ustar dominiqueusersSQLite format 3@ W-S  )ffdiaporama_es )ffdiaporama_es )ffdiaporama_es     Q $main.htmlBBienvenido al WIKI de ffDiaporama0010.html0Cmo trabaja ffDiaporama0011.html:Principios del funcionamiento0012.htmlBDiapositiva de ttulo predefinido0014.html|La propiedad Visible de los bloques y la gestin de las pausas0015.htmlhTodos los ajustes de tomas vs ajustes de toma actual0016.htmlHoja de estilo0013.html&Variables dinmicas0020.html4Descripcin de la interfazB )~!h)) tableNamespaceTableNamespaceTableCREATE TABLE NamespaceTable (Id INTEGER PRIMARY KEY,Name TEXT ){55tableFilterAttributeTableFilterAttributeTableCREATE TABLE FilterAttributeTable (Id INTEGER PRIMARY KEY, Name TEXT )l++tableFilterNameTableFilterNameTableCREATE TABLE FilterNameTable (Id INTEGER PRIMARY KEY, Name TEXT )h##tableFilterTableFilterTableCREATE TABLE FilterTable (NameId INTEGER, FilterAttributeId INTEGER ) !! tableIndexTableIndexTableCREATE TABLE IndexTable (Id INTEGER PRIMARY KEY, Name TEXT, Identifier TEXT, NamespaceId INTEGER, FileId INTEGER, Anchor TEXT )c))tableIndexItemTableIndexItemTableCREATE TABLE IndexItemTable (Id INTEGER, IndexId INTEGER )x--#tableIndexFilterTableIndexFilterTableCREATE TABLE IndexFilterTable (FilterAttributeId INTEGER, IndexId INTEGER )   {''5tableContentsTableContentsTable CREATE TABLE ContentsTable (Id INTEGER PRIMARY KEY, NamespaceId INTEGER, Data BLOB ) 33/tableContentsFilterTableContentsFilterTable CREATE TABLE ContentsFilterTable (FilterAttributeId INTEGER, ContentsId INTEGER ) 77#tableFileAttributeSetTableFileAttributeSetTable CREATE TABLE FileAttributeSetTable (Id INTEGER, FilterAttributeId INTEGER )f '' tableFileDataTableFileDataTableCREATE TABLE FileDataTable (Id INTEGER PRIMARY KEY, Data BLOB )t ++tableFileFilterTableFileFilterTableCREATE TABLE FileFilterTable (FilterAttributeId INTEGER, FileId INTEGER )| ''7tableFileNameTableFileNameTableCREATE TABLE FileNameTable (FolderId INTEGER, Name TEXT, FileId INTEGER, Title TEXT ) / A@[?H>7=!<;{:h9S8=7$65y4a3G221!0  doc "%3CreationDate2014-02-09T10:41:40!qchVersion1.0+=dm^|e$-FᎢzR*CEUdz1[XͲ,1 %V[)sG'!(UE㬏0f?PDkvib)qjXT#U(Іxb"x "qT ߱T }^wV]gR4rj5^$F8Lcf? Q}#%^ەޥcH^"E 3C1rrFB3lsb%HBi4)]2AgqI!F4NcjIь~ÿV]Hgm,4LiLn$ddmK!\,xW">!*  q 9;ίX>,S;.XEx7F Kan_>İO AZ )\Wu Raq'59T\F8(ؤ 1% 3NARMIXnq@LWϥ'&4tӷ*~Iq=ڪ̵=zM=^jMvo+@Q׹EyчXS/k=D qhтS<(9٘ʡ@T!@Yb[?Y jQnoBpF!tA_L04*yCáQ(!*Ӱ =DG԰eWl uf87>!#SZ ) jFEe-5s(VIp2xjӗ@V7(tKmo}];K=1~H5- jh|6W*OL M\CAJb[.:ʯhKUn_C1}MQXӂ1in?S&EfD7.dk7g]D4sٕ)F44DŽi&bT/jFj{gHǫMJpU:} j~K#[^ckӽnEzu>v t_/zNv[(6MZ&ڀ!N뭦{/fo96"Be55R3Fu$E%X1Yųv@OEЉRSOM2f$DB9 =1oqeR_ظiUnoPB5N^Zvj vtB;dлARmx.9Yф\51G5'&zySԗG$vA3DAg/MnT1|F\"".=ax FO̽)O?$MifUdٲ'΃<#t~[^C9McLWr~CgQپ|TϿ a :T r֬gQ{)RȵШ7ta専\^:f^pg +c5yǞ1)_ S4sbj{_NInk*_ =TJ8B2 Z|EJ[/{xOV+ds?O-8nN2|F5m"a+s:*J=/>}rtr>u/P }1nA,~k\yN.5MקSv|j_S 9vxTn0 )4zKn0,v.i ( 460%Wq;boq~0 0,R ů.߯bɕ'rTlPD3WDȷdb;;ٹaTFV ⒠6*ݍ.2hF͉d(l !'gZ' Fy8|A (wHY,*)4THhxilKU"o%"KuUdyD[;vƩ79*Y"&R4?R*.t{qjr|Mj c+蟕oA gR!2ÚQ6M9ƙ;#f;sp?.: uVDV`KQ}?Yw]Fa?93i[Vxa#8>:i;V5GLkeDm1ǂ4/=㘚0\r* ,Re .1=>UD vX)qm/Tz}qټ|2+Ax܀%H?({Ƈ/ΌSGWc s \\..xZnS؀,eHliYAFvrZȒ&&9ircQ$#["`Ɣjο?߳M|1E>b~౽4_ QH\Ȅ,V%~S)O'PpqQ_)râ 5_rYd ?/vsoN0W}~i^upNkFD6-{첓4WU[bvVیg] :alg[s'#Pύ/ܑ>R^}Q [nzJja+|ܤWN5}l@< vh9G C҇~*GveZZ0Eډ-㝺2+ᑣRYp^EBqTFs[]^d ux>E|un%ŏcȬr[vR=1u|yo/8 >%SF}gR|_>ɼsKG1mQ2 G)ds3x?Hτk"YHsjxYmo6_i@>9C4 t[f͕"Ur=%[eɺP4z9^9o׷a+ٓa0H:1rfOdE< գN_/N9ˈ3ѕ+fBL6{$99R)7b/KWXro_? +})Ө&?w^m4+'7o>ŢR[yiҭiBc4n#ɮ\ļDb}?ǵei6}3>hc{joSY$&T* )&N J<ZdnbH[92g䨤"tEDUTƍFg:,Q~[XEo(xڿXcۗv|\ʽm`y>fX;b 20h%h0WV>LP57zRCR9+3;NHX\!*5b>u@N..~{E^PxPeC 3" s1TLj#8A0Gyd`Óa&.w@pXTWwz337u 2~7L&x~2Ch,ĢmAmis M6M|LGp]s/`IoV)pNxV]§dy(vFNe6Ch17WR׷M&z#ѬDVۦwdNO[h/%eP\\5%n$2ݤ\.G?RޮNw4Q\, ;~N [#]1gIG傒. ƌc4,pY)̑Cf.E@]GN=A64cLQ精0zOj iu RVCӉDekxC,=nm$Ї_#N3A~dmK p+JHLM EjJc< j)77~lh{n&=dyim"D`A `3%OϪNkTBQ9E}30/Bqq| }>/$]Mcpis t/nYdN^vFW},T"6Y{vA?3?"@\R /筝\Lo}_ KܐBvD6IR:%_{ƒIWc+*(t֥º[b 1ڣPuyT~~}D!PBf ojT _ADTHU']*zq} ۮqvQ ~Q\Zci.>]#n)֙M|DcZp[,;;vm5Puf@/ʹίC%GCJX'nO*bCЉpg&ysPK&tҗe<%l.gfZJBT~^'\9|P'*nѸl)zsc@njfBdI؂"eҋϺsH-u~= nEr<ΥuOeR5)eם =(m[Z*w 嶾ȘK$ZG=fY%7/jTPU5id1_#O^ߜ9j^HFkQiDv𠵖uwi lǁgyx})HdJiXJhEz/B68s(/o\twnBhs~Zc!H>HRz,@bv2?HF?f=+㙸t<)gYْBåZkwFJ%"djYw8j`=j_ۣOk<w?|fފ†t7} v%M}ѷo~ڇBc1.ւag KN=t}ߎPP-QJFG nN1!]km-4k%d 0!Є[؋tϋ3d ޷>`6tXit;l2í=0m2<nډa Be#J,Q3`]“7h_ƃ xָA؆apPAܺv6*⻸ރ7o~>bb{wM5l?]Ɨ;0]^oWЀAh*eM)/moGB< {X)A4xQ=n7eR:`}WS7KFHhѪdu95+ïsumh@DaORÑ*"гÚ_ӴE/w_p - "d^psm j6SYC#2-XTtdC 6105[{|]̃@Af #:fK;L~FM$h 5-(ydN}!ﰝf*7JFhnicθ+^D8% 5WG盋ʚqTʬL ǔuNCd)'xjb:j?t'(y+dGa\F55^9)0We{, bKh:<4s z88<SaH&v?MO@ѷc!e+۰E/tذ+āq)'WŒ; %fb.rY`~vm~̿ uL|/?Iu866;P܏$Kuao!H*'ɋHґ^:r0 \j6=9{ǙhԂ,Qɦ6n8>S^~itA;I/pȼΈubr-u;$kVv'szO |071I4SGqE&ܹ/PjR}CpoX*{ bBNS%3%>׫]ŋ?fm^ xWM6W:)൯Ů ݶ-Z`19PN_!eYb/d%C{3Cz߷OИ7%vue+-^xU=s0 +PbDYl0l(RXv>zyl4<<ŇXZJRh4R#XVvTд]gj+AFCE !ؚW;iPz 5iM J1)sKtB}z=$8Ќ!U)zQX7$ gqAbhMϯ6!>%Һ/=8ҥa/Qv4//u{-VnVO3j 1Tc[n74FXqh ~<=%FQզX,ЫV|"٠:;ދwCw7͋@sV `8PBVc08P'LWֱ؀s $V=O%zhRv5MFq 68L~*+C v $NضyHEAjآM:tޚfМdJ ":38tGڄԋh?{>ﲾy R @}9tE}ߗ>{zFGRՊn!26 QPYbVb`+Ovf ;ij#cO7_)f9`E`yGp OyZnu5vHs ;!ϴe35m/N) /՛WAut08'}P`:. $ـ6U/a1>~[B{*Zk{a c5ZihA  bؐ+}m? |PhBzϨg=7\,Iu+YB,Vx6Y kE  $pyJ ol b`| jt_{u-kqG^qdҺDN]4)Th+MܡU$ b.;ʸ8M MEK^섣0[OYCC}yUN|L"bEڞS˳i>LA O͒b'.rjvp!+`e0A g)5zIģ.dwY@HHIG.w2nLrˀ.E?q R'udR<8Ҭג 9rG3aZˌ2}O޼{+Oș&ot_#+6i[ |<]۟7V8ⰺ v_d|IIE.j Mi |<lQ#j~~~LR)Rfհ`yijj]^om ;7B1>SD(tNn>4hn·A7Ӝ]0H̡@w&İX14w0))˴EK%ɖB.ne!SAɂ])S2zVAˤ\:3ʬXe_DÐhZܻB%i7(ۜiЗ..MȹEsƏ\ V_Qlr. LE 4Mad;W /gtAрM>GtΠ=uuaS'fe ^kh.,eHU}*4ɧ @v4S'iKT[Ϫjɫ53Va/ٙVn>!Q{jղ( YLGB'T^EF3 ~&IC1Zb%"*[z5/}xznoKz /#(1"('9-yCS9̑nO:L -^"~:[E! RAZ(G/I?mdryz!ݻe Oj Qz=k!ȱ[mã }d?cjǰj}ƯQ-VDs we'AdqD6`ϿQ%1'{+7){azaR>ѸG`sVqfPnXZ:D1:UPNp1Sjb` qj :KuM>]LۑAgwCgʻtEvw%ge1D VXǗ|e]T76:T+GAڿ8 Jih>qUw;T [K! y~C2존ӢsL0օXд+0ێ>x;qR-aDH>;JKV VlnѰѰ, ooR ()xZ[s۶~8Sr'Qt؂1IrNkq͚4,B -d @.KI-"ۭCzpã(0 /{@5(:;0}D0ڋSԥ௉V )}d{_8ecO\Ls#6~৩EOJ?)[ݚz[#ІOl1D~NUH_qn]˃݁ht^,3 hUrʪXeDE CA-wEM(^ O xՀgCH@Jz *&$5%[U(" Ѩ4UN0FJv!FTY 'kc3I4FWpͷ382)a\mX^ಎN}L0S^`@˗rGxPVb@^n ͊K(CȊ"WWoZ``;ց_f?zӹx9ӋzŸ3zDqGFS_ʼ5뿱_ 0*dg07,7.ӍUfM2WaRx|{^nJynM:"dC4A f8ޢXٔd}cL\͈?"_<.Oq0| ?dh)I^O,-npH\L -d<;?i4 je{cmc54̐a3x$.KD5PSwk y(|G!IUl`@B}@ZN-BtOvG͵i_c i(4Ty4IM48+BW-g7p6Ns%V ̏^~$w.38Q=SlU|m WN M*F`\!H-IjWPش.M=$d˼gHqVm/JM0p &'2N^(zcj.]M N1L\; >󑜺[Vc[M}}Y4Ni&ur끂F鄝/+obEq5-&bXFCq>$nC7\EYaB / +(nOV>v9ӵ"oR#O-G/7#nV‚'$6 IydE\JW*^ vYvX/\_ =T!~e=Tu^AAqvNY8# "呈Qu>NtĊ께en jyg Um" [QZyU*t ]w 7ݾXsJ0&UTsV PE0T@ǃ}xX4ƒK=炌{@|M$]%(.Y^hc1Dާ-BUK ]{EOCBl 3I@vYoeý~3&^c#V$j>_jy艫~q#(!M!C{/ӣ":7B|.*b]pE$-|^5"僡3ANjM,2FS^VHGGGL Qe+_]V4-)EZ7 f12hcuyO,Nܹ-wTuM_UnFkh\cT.Ẍk2az^QޣgRt N2;Ujh@޻m.%/De-4Յ|e6QN*u= YrRÄKvf˅lZj-'ֺ(12XQ֒ճi=0ιRǁ8Aq˶nxFڲ*Lzi|3d|v>.WWM/Uve༧T`L}uI)zư$㡀W#N|:F|I {jLޚrg|@B"<[r ~ec"]P;y)ɐȓJC _)xC:vG@2I=gѫ[O6?Qf>.'$坢gd*yGb Olr'A2婍&HiB/g{7(U8N[WyC's PwGVu@BPZ"`쟫ҹj\Ur-s/"S~GEm;.'LyCx7::;ݟR'8)J#!5)%pC*]C*wɇ?TcBKp!8*n)Crx4qs%2pg:3$ґ!HCMhg+u`u|P6!|ZeФԴe?@hrʡ3rFA8Е %OS etR e+qA!lczhNh.V*J'}'CoX.Wt~iT@F0e,yP]rn &( .P (?7)a&y)5?`Koaj›3 p4F +-y&%m E+~IׅC:s0|XS UyfIQ0 O/[/IEIA@ LX U?lZW (冂Şqk|PW2h!J~ h;gvuWqʩ>RB{=:H8cu,ӖͤFwao=_]'΅K(8.YZ|Aa8& !9H{Yg冦VGp=+]<]2<|7c_OcvpF m{biK<;m)nrĚ#e2E6z#TgeMM%cGd-;qC)9QM Į+ML)J2V@D3rMiR|6bucU- lClBK2΁ jK"T59$}BӔϕq)B[^uJz[ӴV[fc |@4`gc~+u,x #亳BLZHXsvmr(>748Ywb<'^7TJR>&h?3 M{m4˶l'yZһ:Jm#V. nk7Bi^CfQYz-0b+}f~^mg~ST+ a \tLQD5<y?Λu4q|GE~]*W03>%|;P2PO_>{RX6ax,G(72pGPyc \yBmq?`ai UJK ?bs!A_X\AT]=4 c_"Ф- 6zSVW=cDz~_~Z|&ZC`p$_ŗJ+|s 2%*U=if8= I!B .^+I ~ڍikzy cv* #F} xi1nո4VT`&O:qwɇcO˻o6`}^qu1X ?1صi=,aN4PFWCCikzMy eCJWry^,4UZWGi#=k&`|Zݜ`˅ Ҫ{%ʁ$͈s%n;~\^b3Ln?'W!VFuX?Zf𰫞?Զo+U)~! U[sm|K rv[/11ЌU)N?i3eeH|_y]T*#k=$Cg_*F wXQJJX% fgiBf7 (IQPU%{SI̞ë$0#@)94XH 0B, GxdY&-X 7 YJ L"!x62,]FHRCbTHLH ΥV+bDg SF ^* !|W S`Cv~3A(ݩGDA sEq򺝷WM Sb,4"'OP~&%_ ೊT(cϬEk\Y>kFU F/W8Ca22ؐ/@e$ʹ`J!:c!JDev Dd"$[v2N:wx"O>ߊ9_uW2XQeWjq*VZF) *2|Uj 0Z)}+7p c13O(l^ 50昃 x8ľ'8"C?WhI3fV@R)&6XTOrZ ُ@+)KE~9Xt%( xaT9mh M0 J0۬@u)k!jJ&%uy)DrXksѯ%8m"؄<u|-O09P@Ȭ|c ʑǬX؊]^X /_F?$|ap <:! ,UAw?{3??])Px:v`t7@_'Q\/ @XyFF\|ΐ=,D*>d}}ӝ$<:t]Nn;r ~K]F8d* N6xU7rͤM0XJ]l5PK ZQ&K:ItĜU)LP,hЛ]&ITX$$ 5RWdS02ݐs;#=WVn ͗cM nFfNڕطS6-7 -9M@8ocf|FVUqz[]d*yrŇnn~p  ȡ[Te1])xCCuG!'GqS$F1P5LS#(1C[`KbjJЪ)6"eaN֝٫+sI amAr)fFLU"(4Asml+OeO߼WyDLih­c,% 0HDM G䉪WH|1k+:PoiwWd 6BT,-zlIbGJds@X1w(pƑ@\YPr )[?5k=Jr\/sw-s" 蜰1c(3{bSaH8q]^/Bw]KmJI4N"Id0\BK#黡8)aY%ʄ.abֈFnQrL\˲1k#FO\luE3mA@ddZea0=!chϩPs:u' hPt?+g4E!QAoGXՓRuL{nͨv?R~}3߸+kÿQ[LeqhLZ,׽ൂ|AWnYJpjX)Rf+J[uBTd TrNE.j4J9=煮K׾t5XÀT 2^I>@E Xma֠[WNЋ9V|HNe&OMc򘃒pl48 zdM}R*ӇY ޭJ6-$FAeo]zSD[xHSo:Nܤ MsT/}%nR7W6UH]RB&+A{|Ga b+,hP> I}443l#24/Di.v1biܫ8 HZK)eY^)~_xC@>*2۸mZWmhP MQ4lz|7O޿ t=<<gRM=g;r3Y\Xfw-SͻMaV4<|>JMh2k``c[o_sk<|h讅ϭ7@JlI6tnlBvۻ5oExQY3L0Lcc{qй-][9ZU~г'kծ8[dOyq:'XQ_s#{΂lQO[L,k*u"|,,lE{Oj 7oEzm{Ⱥee;kfPֶ*7nm],~'S|@$Kkܣ` y~BAR= Rߞ+G @lRdn&LyGehէ׭OQl<+@>jTk+g:>Oݯ+[r{k5G6_VǓg=eVK|R@NeX3U_׆ƝHy;_*Q>_7kyI1=fB/po:O?hr}P"HI3< _AD2sF /HjY8,]:u>pg iu'km> S4;،[WԂT,mMD2ay`6L:mv;mdk;пm W2kxn0_LCZ L[Lq\49,}Rxvi.ZĎ;$N?\~;AUyddSQPJ8?eΗL\r[h6I0fhFܻTьSxqT!CN?_4j}[݃'>F($tх'Spe vY%+XDW Qr{mq_tEQXmefMWP*~&7ǔGλ+I9Ch,9 _< =1=* zA@>pwۿsFI׫=x3Rz. 1<񩨤IJ+ׇ_$vGU퉣; Mby^=mAy XK [)8bF|ɋwmt֔Lf$a睩iZ2![ȉP _?Esd'4B݄̌(^{)Eso.-تb.}h4iXv]@VQ=Xƻ\&'.\X 4kxr6_Ճ'4vv;3:)$T~ @$%۲lo͋s񻣋ޟy&/_$`r@ghT%/\$!]$iv@x 8/Ƃalk ćU?-A U-WP㍥>tX(9$nF,O% ց#9ذ'6\;?'q*'׏;q \SĕeNjX!K*IG .=}ؿݓx`U|x f"+V{%Y/CxʰUIK_lāE񋼿-~Dϒ)= 6N1jzUP]%FM3: YyVBznaq k+9]?㵥<{>WvBnO$LM5}r gʵ4Rt z.;Nxh9z8,QeEvK=I%@"tD` o`:Ǿ J xXmOH_1PpRmH*IH>IeuwסܯYo҄j3/v^h3ɷ/Н@Zd ޾3dVVvW_Ba\(;c+$hl;C Uv_m9tƴAR!~)ż,m&{ȞM1XIBMI_0Re bdY9˰Δ^%E~ e'0L!F +RcHkNp#EŸ/iV@Yx\msڸLli!/% i~ml˕d l޷4$`y{`R T_cfJX_x-+Z xWMoFWlyR@&mZ2:nzqZ8"G:ARgfw)R8vuH.g޼}f5ۿn.*hul_nV*,gt2Ƞpw͟whЁ둄:*J"]*ÞR "PP,EG:; BRU!d~*ӯ1֬GԚkƳ+4#&}j=H2ѶzD\@fX kTcQj+%j-hf}cwԍ]p֡!JXKӐ B1>"BEc=*(b;$(PnL!HOEdFb5gţ B|p( ;bGA%c1ߞTIEq<O[fܪ=mע(2q#S:YUXx/ #GT{R<kRa :zj9^S^Ff9DtnqhaBaCL'%""\-YW'hcL0=9df>d&9Neɋi <,9RفW:JsLB` %0VINcަGOr1J[); b 3Q;,ufbt Ɖz2ţ1a}1s3퇛I$wD$^|̳^F1َkIYD$8 PuuȜqYδ9\2DYDKUgG5Y!Aw&cW E}̘2sN׎׸m\鑮z{ Ef# >n2WS W\vΐS:-5Yrζ3!GQTG(d;CKOw)!,#W N^2V',L]t'WC0(UNYgg=gf,†(\*wy^)(֌AV+r>) by}KYEnvi݂%ذd\N@9<fNHVݩ.3,ne-cRkڃmt. 2B #qp`}ɼz~)@VDT5٫CĽR!ư)ߧM(7oq2 7r|R'xxiAT~ZwRM2pZ?8w8ԥc%K&똧ԲJl˙@GdMba#/4ћ{ɿ)NdJb]"D~cu@9}h+A]E!?YQ{5_tJQ eOYtUA|2{LSoIHP vDTyՍ?Q[ ӼVtVLқ:TQ_FɔtP\ϸlŊSI՞*~Ph1-Lj"蟎?3jaKJS`zj. ]WXKVe0(P.[OZ!#wYBcQ:Ǵ+ұa%ʭ|RWym͝+O6KW`Y´[u<NgU$(&u`A: 3Gm2+$f4L8,,X%sn4,ГBmx 'B%T.y6| bt*9m~[.~jL(ZpNrZU fͣmi³݂ʃ)Ve:{N:z6V)UލzA!sqk _BS3—iEdJF,ׇx%f_﹗+z'sXaUWǕCuA\dc(DeyOSO2<\~.qzmBg1J0'/ab MO\h 8o6tGP%p&PBySX ͊= اTH&k'{>_NcNz `A 2F:8'~81NzNĮMi-TfԡGQYdo#o3 eRBR%ğ ~sʵJ6)MسEVPBT%leS7#v$+"Y ꣏je[c)Ɠ_N$YtΔ(-W-*WG d&hT؏IҮ.<則uRVN }X"ϲd9Mcۃi?rYRGO L_LE@i݊9O^QƘ86ʢ!SpG.Y}o^hUHƶ\2o.D,ea ^i6o@w@MSؙ UC]*>pUiuUJD>Z`Odh5U}..kaߣ.yPĄP5GYQ"D4 x<<ʝNChwY*J^W/C+cŶ{;e^?KܭAsAQi0}N>Rvi!%ޢ/`.my`g@e(%BꡄN^1<=!Bl-/QIL^]'Q[iqKy) 9mNYaY}yj,+qҵ yѴUϒ+$TO))g|T"袿ZWDsr?@ȷq?@ԣ rӑy^sJJ;s·"&\7 g xx@ ;m,qۨ\imq83E33T7 C=6[/f6*.̛2*12Š [v `q$)(\3\x5%,'ˆ-cgi?gyHQ6T:1&.gЋt"LBنl^L̔@/;L&A},xK3+FN,0S%b[wUJE~PAlT7E|jV`jMxSk-qM|Z/ԨRY"GX"jJ' x*8*@ӆEnPH e ٠ӜNO{)]dQZm|Kfؑ>㯶>!eFzƦ4t-3&ʥگ< YR7w;04\qv{ATǚsu[(Rq3 -^8J Z!90.F ;ҔW 9`mS0vr ?dGe.^OR1pV >dHr۩eD\td3-WtyF;v Vd,H%k!/ }J C"ΕwSA=6ұ)#V= EGV檼 g-#{8*gybd doQ-OH-xosV/}?;~Ol[$kD l:'ٶ[ϝ8%)e|8cJ41D)h(R#ttV8 R t8J$)`p$!@_O'4&٦g_4f@ WpZ9J뤑@KvlY0H/H(cl7o kםixfgC?Yq6 Y ޏ4-D޽} !z ?0E):^8zәf:Cu {&$W, 18c6_GQ" NtQK>w{ L& 1~|W`hamw]k6&8IwmزȌkf!6]tsp!gԦI拓 xxh{Ǿ]ۛn2Dmgۧpݛÿ[ha#\c'N8{L\޹V23{T޳C\$RP._ Q[X),*2[b:`TƄۖ/V#]mlڀƁBGVxr4`*>b"QURi21D4NO5Er;o% =GSB.^g 5?Dga\-\LhLJ]` >BȀ._(!u"cUH(.&Q W[or[?GؚF!U<+x'(̸CE6.kg+}cKstlM4C)k]s'˜S!?\Ry[_qZ ;?w!?f7MkҼ%q}u0lr\mȝ:O? \44\Hl}M:HXd;(*Ʀv\Y[w{%>⴯0-ui?2p*@q i~['IĞ_`ŬŸ[' |re+b3 PP-^xXao6_q@SX1R͎jY}NY&B*I9)ٱ5#(Qw=> ~]5$37" (Pd!EM/{3֜CÍ=0% IT1.Ss T R%tJ xP ̔~ f[ubsY]\Φ["ϊ85]"QY'b?~%Sky63E.YNq]a7T߰WBw' ?9*S+&9gLrsi8@^6& ܓ 'E7w])^ a8/oo `Yd]>'ܖhѝHnO*s2%.'cP 8^+b[oc6Աħz?rVVf٣hC8]E=o;:DlEjLc0_+q 1m;>W.R$ 7 5x-W犛WlnJWT+o{Us.kubg13>xKMݯ޺T*Sr4HBch{tfR<$ DZX(Bjw/ Kƒ]e|~׋]O4fMb؎3FQ,5h"23\T*J"p0i83d uP}3Fq$ 1.:  xA ]=RFWL_\-ݙޘUC)ߏ՚AX\JZR1@bA2-_ qͻݖyCV`iS  %D4O*_$Y x45E0lՔL77lk sPT܀9c2+xX:2# ԡ-ESo=>F)?``d6l?4*qŷ/ΔϜjE`ۙ}߇dv)0Nw|;MXwR@=n b6 ؞*) ƨ.Y4Zmwl %BWW^6 3cB;+Yzdq 7aS9ɔMq3SFr,ULU%Q!cbF,d%7*d48Z/S$+8W԰1iĭNڐewz71WRzNnAT nXtSF,E($6D5Z pYkQުNujsS=HE&EU*cn]zn>߻X/yO[AkwTb7nK{-t=2O,rb_4*~Lw6i;]D3]J⢿ԘMA,'xf?{"?-??sE] O"]x\[sں~߿BL;C!Hg&2v(ljmɕd g-`LH)۲nZZuu}%C~?puU Uګ_\!AnBV^j2!i&>i0JMF<`R7Jt#f(0Lac@.?J3sóPkC%ᣫZVLbV+5[MV-0-1}x{W+pKE#JjDЈ]hbRͶr8jLBA2.|jW3?F&F!nOz>/yJƜ4~"V / %`$"U\ݞoVJİKP hovVjsMH| "2`dx YHAGLI4_?ܭ;l$|FʒX\"\o.HۋǗJT+ҍ E yd('$(X*vje22k@hIu& *dVA`3l>&4%!X}jLG}Q>PT'H$P.+H҃],V!~aۿ~;kzH4Rt31IJ-Q>`i  K4d?1`o\:uo %>t-t/k,cA߽y`PIl m6mcx+NsK#u=5RXd-9uvRT4KC)x1:qM^̗I^",̂DIh8oSRa^`[D >nyV+Y<{:$k;tuOȋ73h68Kܶ-2J<aD D ChN=ltإB3l1l"6ZQG!Yp𢨔# 7,Vt]> 4zEr |8mwLU`WdS5AcD^jtf~a&#mڳɚ3FFT[?:OP[ M/e4lZ7ױp0x9y$+L1 9e'U [oB20A1eo:ޫ\g*s2ra[VkZ4I! @@$=( {JuAԠ«뜼+!('d!wRr&G>ښ=OkrךCdy1Y pĔ\E<Bk =YBV‡q/Ljoe*}*߱Jôjs72$zYAOZ@.&YOekܮ)E,̃cCH9$CpjIo(@L>jda6-O郬5Iu(3NB[d6~(?\KNvIyOY-Nάtd:ǡx WsU&A, HNhkYŔj18TAN}!й eQIo%p9__Vg ~^$ĊI7 Q)N2]3Z_@S\ IYL%ׯ qt]Rc!q /ƥU+&py>HׯzN ң'؅vX_  uV\$g[zAkGWneCQhϣ>޲wHrF΁"ʴuz$w77<\|IӖ7>9֮HuGoCy#$r +d#gmi^] .٦ӭgJH1F*><8k'+&)tP.#DxAn!*h$UtLt!(&2>*^-miL!ӧ=\c2r$ޚ*]fXb@+0p sGiv-XDf{E0i3zg.٧aK}W棇^og]fd0ݕ:цYtngT=ekÞnӤyakz5pG?4;;̳ӂ buV'N9IrFe(],.$hwg,^=>=3vXtЉ2e:/>} $h?I2S<"C)&MJF[;X=n}4Ût1D ۶Fy\=;VmV[m@k@|=W_o|rI.6mO;.]NJ1K7!ͥ@EY ƒ%xX`OMNv5,%ǰ?QّGD=Pa\0qbX/4C E4}%[g hrF(ԓS+6ɵPceW{=An& sV$K ة-L۳>KÄ$[xGݝ 匦\Yӭ}} OO*8 XzU@Yfi c!d'1s'b 3J\6smw  xUKo0 Wp:-ݰÐ4;-XvJr׏~Mz}on Fߜ h n΀G"Œ*ji|ef.ʧF9Y.N%P,,ظ EH6"ү'`PVs`бKfXnyMbr[SH{2UX;hXZg \Shy2FiRYeΗ7폝ojmH5y",y HN>HC]I$i%y˶؉u?;eڲrBA'+,AM٤;+" oҺF)U5 JIvA_HcV=~6?uUvDڼIrt dV-,cҒtq KCl bRBbۨ`XgƞN\55q+ⲧz D֮J` ~ (=c̍M!0^l8v]Ew^"N,NI=k4eşӈqYkl&0s~'+%G4q$IOc񄾎*gd錄ٌuJO^wF8Y2lif5])]g% jҫ)͹m۟ĐkZK0̪P6*aCRYz:u[g&yf9rl}ef qfxXmo6_q^0r4qaZֺ@u*AH+@HpBSgGQ'nJ*@hŞd2yG7 Z.xH.]FUp(0eFWy{ 1Pu*"嵜uf}A\O{ͥ.w"-헝,g)tw|~Wl|Q z .tqq89=j1b䪃ȥt6O:ȱJi ,͒Z7Mf>_<%j0ɺhCLv<騼t P;Ã?==QȲq wSXtBtbўuh[Yj+ s|swwt>M%π@!z+܍ujJqԀD%_L`%'\Kabky?gvS)]ٛg^gn\VMu?OLqrUrRPY̛&Me4eE81؛mx=ڒ4[Ό$NuRc98NrUtgLӽ<RpԞuZ-~Zq)=n|&폨;[%vT(,u:Wl g$N `}Evt[}@}1o8Wɾ)\CFaC/OЯ:ʯ~ ѡlG=>e;o&^\¸qqc+:;zSApcƉ-kbxϰ ]_r_[v.Gywf}D曇X8؇B_>KWgxd<zwNe4),f}U-(DHn5x~Y}Vᆼ>8{A:ܼ8STQb-JonpjX0'@pcFđ0%>ُf @05_f6 DD!FvxWYoF~ϯAhKt$(t(dh]FQ}rG]fC{gI]a {|\;ozj$;IP=KxMO@"H|T=R$ v"{n;>u;D-JhJQPg ô_Fu_| t.W[y48/N "Bl$+54bsmqב:5x߸P פF% T*)njiOIW*ĝ! }&qiU~E^{H]my{w)dqD?b qo˜J bl&EXŤ%GeBY鎰qO>ڍD^u'7?$1|,dWrdsU{J ' _}"}',IB+}"FK+rXkIrOw4t83r%WҼ %XtNF %Vwט#6F2-? 4 %qq7|nǫiZ`j`E3c?`U+3<*&)9W+vq_[b@kPPȐEX2m(X@9&b? " ߃\n!YTggq_4.1^ZSi=+܎ ip6u~y{7zͫ:'7>ÒgK8vd>(*PDGlx~WX{ [d_{曑qA#%%Gb$09a˞H0y?1x?vԪ9ZiAFSt'ϥtEnC_OgΉؗ:5[SWɋ' ^_!$@v\21?wwqϺ6mb/{,J n Cq#;)J[];9N[_& CC:x pxVMo6`YLѢ(bIMTE"~v~}KJUŦęf4377~eCX!mʕ)۔VR"fWx6/87_ "ˍ}=,/:gN|= w)F>?BE~BB77 P{@8Pa!>YT)wЕȨEII.^t*IfCo!wC=oQR`h+=VeC1/9PV3 yC|p`;Y Ef--z'A Y}ZЅ!̠a{TL$Z9%N!c ~,>/˙iYvfC%CcmDc0za Ib༥n~CJ:JhedHT G$q5h$^3ȟ]sŒt6(\? Թ G컋Gحs~K>L՞F`E]!0tH{]2tݫ/fw+OŹ tBM>Urz8胊k{U"WHZM#]p,-c1LA߸''* Ո>B=;/"=`{4}.[?ZLro.ߣ۳S+O kSQ+p䞚}tW*$b! ;?ɿ ٪X*Le4(ԭOo3F3-P (o >ӭwhx5t@L/^'i#,ԪAxC5."vMj4Tb eU{y0[g]%7X$]bO-nOMr:rʺ$Kns&!yf-d0r/z 1T@0*i^YB ^E5lM/;lv.{H(Q(\oӎZ p-xn-2ѧbB%<$|%x.%~x oo-I.в.Æ$Œ#q kyރ(y,e)bB*BɑuqF楍CʦWLS?)b4FF ^$&|{@gi;S3,o"ED{OC#f+k~&[=0,9G#RCoM̑Fͻf.!s$Yx&h<$DHUSw A$RA!6j8 g%y⷗?zҁhQLX8ŐjC򅄐dF![p`ef .(t}mlv6Dԋ`b%!O t\ f7"$AFV̧qqv~bwd|ڗ崀y$qK,}pio~u_#Gš@(G0DUn21nPy.*$`^M$uH2v({u9G I9C2@R\Rr*T=hShR!^10*Q!p$c%4Ui'}H:.6z _ZY b̄sS˽%fV4ϵEզ}S9=\* ,L\u5m_G3h9H0@1jX#pF`}18~$I' siLSury )@vWDza\1g}nA]Trcp3 K^ľLrʈ)btjU΄:0,K S##\ jDP< p.5?#α4Ź!CWB &*j g@d#Td>SP{ԗ# hF3w8׳*B[\]PBZ6pg B%(= *2wȜ .fVv=xY x*QÌ +]q1O8Xo,b%eeQD"dh\ye8{u3.ObS͟z4QR0$l@e Lt zAl dvկ)K)t)diJYwPXڹ] 8*;S33Z;qYy^„$WKSe$}XLtRZ+ 4O fe!\fw- ̰ .%cYiH9/_9:skt4"7xjHOV\5l?YU x.w,3nMnu }kH%} Z y֊wk*DZ5h:Z_`Ovଵ~.W%JEu;K:*$OKe=P9S X T,*+>X.4Rt G`)\Z\"X"_LL.E,ˋjZ1,+G]Za`E~}͹y~4p]h0u*>4e? O1j^Z./HqҔF]PTRԠ~bȿaSڹƵ[/Ug<Q@TjݢyCzF֎:OWRG8sTZ3Q]5LڦK>E <Ӧk$cȲ6iƐ:* ܡmPӲ[Y4r R\KmפÁ>aWH6{5GK zsM6>ݾUoeaTO౷dC{`QoiQi`GCkܪgS_! RfjФi,!Q~FL:ul%j' mǥ9(MHǀvдQAQA+&e-w +dF5kXg-nVRᆱnVC_r*u+.%c_0Meemlm11wi' fkwQ7{WwX&Ҫ7(f5|9_RWy @zVϊ\_c\{.- \lkV6TgCe,׳XK(AXU='١Kc(GW ̊~r\"?$6Aڙd^_ a8r &^>4K0*Ӣd{=0ýWNWӷph=waC*p-(FeY@>ɠ'M8 f[|:'8Z #j@?S MZ5Ӗtg s?$,' LͩydzEl=%_ ?`p=*ӢSU UeП&KL50 ,?+]Q,@ɋ]e== 6Fd xj*Ҙ2#Ȭ?")5OPۦ͎]I7 7'`?GvtX|Xp+3ƏMM@/!s ax=>U'Ps˜-5E3k5U1qc* 8~Cq#+Ui`\ ‚ ]3/\LS̵2#CW;(,ԲfJT\>)0D9cヱc8 ȷEP3TPcD-5jQxY$w;v'erӮ|Pal H}Ue.:Zv0}yK̛_ ga2c X #RLyh ;7?Hb|e0ؖF,v(z4X6{#I3#f]j󄁧D|u.2*}pH,5T:B.󉩶iA,Jkӱ̧:`OKMF/WӘC%`e%mC +M!p ɪE*2e(` S0Ҥz QSs]bEg7iZWP= HPw}{S(yT*3i ڰ,ȥ*ZM+_'bx\!8dg]HڈB 7E(2?3۬LnQl}J(V.pK0`NLGmFph`3-ij488"ZTyG%IK!RntXlu;9Q`-vŗ Xe(Unv2eP,MӪ=ʛٖE9S`6a%.<{M@ a֬Xu/NbvN8KK\'TWGtߨ*>&gǦpv=ߌЙ$YM4ƚ8pG0FoOL( qE Xb3BiICgL5>䉢_1dj꨸0W@lPqmfAK*٩k|0eFuzs,oZy,]EP蠑ӣ ]v(5$qJ̅LP̛jTo,]cr*tE5KvV+6MF$ֈ51ZBVx& 3;D&n[|p5Bq奞*wO$ѕVl<YVb JL~!6Tr'xӤ-O%r>eR˦iԟU]ؓ#[>!m'] ?V%0M!KSIMN֪pE?ǯaw_ c>(v^x.OGpDc` 9I#FI/_ζs06\ؒ^)z꠫Xo(9:?\8+7y"e Sipsw+ep!!S&֝`H8ejANKȒ\[:=!_ެҷ_خHh{92Nf<]<07B 0w餳ch~Q:]Tosr6cl^+MoRi{k'ېH^asށ+ˁK5v[e1큶դ]y"/鵯m߼ffg+&*Á[k2$mL",aY ^]xAqfzgf36"XYNߵ7 NȮ7blMRwVz,گ6ȴ#πXK79wj;InO1 ظlKwR`%%wm uD[:%<>n8~wUzfЅ$~uDycoNBlNwh]-JzA2T*w-oӴEfYWw 3}6ܕjR7۽m5L#+ށ{;KԘ~εQr3cyxJWܵ|֢,{WKjTwcb9 ы}{ikUOݢ2JW4XIj!![d~[b K0h:kCÖsi{=X7BQW'@3ͷhw6V[ !5|{~L{޲U[}R oWL}X%p~^ܵNCw#h/8 .["7 51tQjJij^["3[mL^ ?N>ŬPǺgJD5*\Vb]bKޓ\o _N=7\yjOn72 6&m^=Mi_$S[Cv+CnޱYWm07Jp8Gl `(Wac"`gGe; o{S{TIQ͒2GȾ_ ~5o0jTٷ}eK;~~z|x|"yf^KTeqrYLrM"C,u.Ưw>!~ߵDݭz8RwX^=Յ`Q\Map1Q2O%Lek ;Y'\%QM38ɜR ગ_&tLb#"@I1&?g7dz``l!D "MD*r޲ CPv8bs tbp!Z+R\^>Ȗ6>=k98] +NWU"^򘳸90 Wf"vՋ_wRFzgL'b\W{wtm|,Gƫ-x^\4<[|6Ry,@NI8_:[6Ecys0vs-NDNV>o"9([BdJ"o_~v@ yE\`/N}3di@:!GB΅+ԂC_NcP#g W^Hndh;P*x<5,B׬@MfXM9u'2cxuL$Od3Sj_E.@nR[Ş]ǜ9|6QfJ k&38oVU0>* rsrzznFCh95[j[wKC@f g 3dCWܰisX8[9V[wk..侺JKJͼ+–5`r](U{ @N_ '>._#; q܋8FGz՟2~Q8ҡn+?*f$1 -y DJ V@@ H^Qtk3PX7P LY4=1xb"wum2RɆo.sLą|8VPR #r@t&z| "b=G*ɻܖ3>O"~ XO "%n{WRq|z50Ai\5}.}K.jL w:Gd$Tߤ vS蝂R&KA5Lˌ:<[(S%U?ZG2Z`, T*[VuzJ4 bچWFK1Қ*F w?>࠴;{BMG&U*oYAF?hdjB Ұ%7O@l)Xn#B(9R _,vgl^n"-vι/*xL fth򜥣Jen uZZ;]*+bQW뱅0FφEP"n2DC$3pBg'd8 NobX 7"rxXKo8Wpu)X`D΢6@Þcq,Hܸ~lKiĒP//nc\a$ #FW2Ep넓וх@-(D+W+Β$G,ʡrὋg,膷7F+aTyQWWSDaa`tuO& m vGLAJ7զiK ȺD;EtQ֒'*>aW8&c \ڀ$KKF=tx&u]Y +:M!1x[o6޿FX{pZp 8˄"ڞ %+?G[%"ғor~߫ }3LH;S\/h k.W}’[fXb\3qK? xXo6_i}< Hm@k"2THʝlYh(ExnyC_LƤrL1M1g/^9pkPAe wL[+zogš&L1)rĜ;a*!bDQERma1~= "̍+. ֐<๐Y&8PR nXˤ^XkyZYX`SSG֨k2<&06ӿ,K)p&v8 H],2(`A6y34{;df/%˔MxWGdQu=ٓHBX-O$ FQ7Spho\fJCl!1pRL%J"8Rf!|_Ƃ 67mnJ\IxF8KfNm2!6[5Wr14L׵L=؋%X4vګК2kO-Rƭ ddofbT/o1u#b*4esa|5r@LY[e^*}I^D:0>Bc{9Bz)GG50k.1dyFU蒩_@0zHs0dEt& FQVT9!=%er]:3G0iWզFNa^R !yBPvl:h,DdE& /6Y8sƂo\`Wi`v%Z70xcaalb|BWY< dKŭR>z5k;IA^(T $vTL(0ib9s?<+!$z x|/w_ꬷA e TU}Τ" EQ9~er `LKisNzx_fHSBJw:Kڀzz k6b%PG][0 !y͍ 'Xbp`^[6 & >ڜzS#T₯ݷCx{BXv3̨@EqL- `("*Zoo1O f5h( ĮB+xxtdO܄|?tr")R|^ُtQp 6[qgBvMp7n@P'P}m]`N`ej{abd?}% 2RZG` H?Eo34r*=`\\J : )rBZz|, 9r0P'zXܟEmׂY?i*(,%Q:j SQYǔ N %>MNHV{ mN['lRsia!\lLbTchYSzF2>K<>. UZR.Z/+}VmuJhqebf 3ILCzZmgzHho [nz5lH3l ܲdcrU,Z6'RG) \Tۂ;x$]^WM?ljM lRd.~a] E.0@IF&[c7ܢ͛TK}AӞ? @ϕK/G_B19Mf@*L+/0>k /]z円I8:!B aZ7e)6VfZH {AgIC0ȨܣY&jDheBQɦBPw4¢qΒs]i0bTӃ$7x\ec?dȅ J?vJDR#iV|a^w/x4iND:#W;\N>n^Wt&YN֌mQ[QѾ 7s*Va/+A>{_z$"Ϙ50-h "lM6Ԭ}^z U[>= E'-Qϲn8 KtAwA9G.o8(w{APwL8!r+>*#uhvznL4?Vl:[Ƀ ! 0ve8 JbYiAUJ`# sg0 [ {YIE!} EJy E#]h$u` %QAǺV+?pҴs'hr {1+{^ M!KQt/\}ԧ|">vQNdb )fk@{_L>q]"2.)68Qc+i]ۦy)VV[NA|R%;X$y5ILdWLtN;Jn$]r÷V=ֽvrU5'^[fr*3 NgL%A)6@&;ıLkQңZtoZjĚמR̪\~x)Qos02jO %JzjJ4m(GgF@rTиlPD/$jB>RBzoۜd@4abFs$8a|q~GDHCZzn1^x\/<# c~cԗ?V[s,2GPumYZ¡G>\i  FTkzOY< -Lj+ղkZqn%x YyԒ&AA#$녷S~"Gi£ `ڌ$||Ja)piu&ziaw]_zs'x!MNwFFgzv0c=XXEM' =0aG ςk&`v+'|3O|'>PW_p@!BYB7]rj`5gj,8~mlߖYTw~Э=g]9'9 laaVr3ydV!e Zʬ k֒p9l˼c,:hT u:r$؆@ȧ5Y %5(c~qyyoR(]: MlvTJc+j҃J5PU2iNgD_cdr]n/j|#y ;bKmud/)9n' FSQV Z& uHRiĤ ;܀1тb[7C#~mŨ޼jb Z2M]Z@ rLX_b-7wu""t61tVSo›VV9O>Gb ~!ZEU0{ >YHJ-LccrBSd654ZЁ3i}ګ9h"p7*$ǯme&DPy53D";)j".ɱAhRܐef {M{dcku^3s3g-KfhB5C,pУ*WFy{Kg~k\``fЯFʹoXyXg@=7~ꒉ#?w+ 2)2dA7zS~SՁTu8'3%I*(q"X "SKTAh&(AdE#a]W'gۿwh!1jX2"q*,2urMID2 Ny'Q) 쥣H,bN ) Lup $eKo(Uq2;`aȕdQ0ooC[xy #A/&_0uLIzWiQAL|郱+@*Y8]0LFGOߛ;lNlD=ieU*m`D;[ퟯ2c|8H6nQ3b' ZX;M21T҂SPu̴9 g6쉼WDL\aS-Gt`RC ,vC,aSs̵UUW qstvڛn" L8Ϲ]MbP(㡵 11̾(I1h5wd% 썯;;o7T8b~856$(-jcS%sep&29zY"6j<&5UaAǀ f=pCX ; b 2{gqCSWVadﻤl8Rf-l)^ߙ:NR,TR5%$.yۤ2t5rEs?T(iǙdM0Y SuNҒ9% oX7Xy*)q+Bt(>/pGҐ~v (|J5}y*4i(_Nk'sim&%1lA4,Bq> (#Cr̷<%QM̢l]N1f<*QL1y1G`lP0F/g(ψbߕO~y~ȏ˺)fA-;\n 6Nr_T}}#1L%*e\`!]Є2סHEs?2rR;q wiV[EU8w]xaH:p턇[dguU]%ُ22{ cJ>$8*+U;LJJ <3&tXY9 z&iuV3ՒNJKO̸$9J=4KY* *.C>0rstd‚ҐD"jE<l0W(J ML`|mr ib?Kdv 1BLrXa9 Nf軍j9iW}LbK|RaR1 9w!FpT*wޱZ~Ǿ*9AJ M/ϓrr j#K%*wdy\$wn|Z?tY}pafu,#JT}<j^-&yTf)6g 8Wψ.r) EV 7X!ј {T'yb^b p]R( <;ir%EN .-"Me1hL696/qq .)Eži '#mȸߚiSsTa5t`g4U[X;:{gW՛ORk@}ֵOagSɿ/F.ܖ=[Yc!IYy|cbKTۅt>[X{ Ԓ.ȕ4߭|V~eDz3eEoeH? KBr{_4`mϸ0 RX+7ѳG{xBÂ+0->}W_eOe,ؾ ZV V^t=Kp@L93@GL d, 쉖q 'R$>NT4"H>iR1ИJ #>u|=23NZqG8{x鼵y;MTYosC1H0N(oa_R? fb \eAr^LWv5>lnJdxo"pA:8}ܯ;ooB9(SVf_^U^^HH xȌ;G$GIi& ք1ZaamJ@3P}Pau0w𪺟&" G?({ EP WI!nmXI}#ŷ zs%HV̟ٵm<GeqC*dB)2C T Ttq|-̍4ǵƮـ}DydypaVZMUsN#o>by 9pęE}NS\ɚ*-EjM ,?Y &P1r C T14 N3cJO;&T'ٺIYe]/*aTi"h7Yɴǝ(0yezľI}/נ/Cv#9;4)MuZ_nȽ$:~uࢢJcb=g eFW$ڒD&XRAEPՖ)ʐi uJ DrD =&[ aiKiB1[˲"XUMکߴ,v;!6Ђ3BҐIpbw̱&(~D \ // mdwkvbY7xi]e‡׿g=0ssnR6.|f ~_9W.hGبKlh %(C-*ܹOP}m`~`Q ؍3ggi3@.?~SWZ}Ar6u|j>yE tb"=,.o%O]3AmN =Gq {{=f܀E.pҥQ01Qa \t iĐF@p hc8J'7.L&Q>&Kuƨ0Jj 犠p̵|6Tr X*W ^No/];C%jƜMA 0Iݿp`MX鹓s ;~_OX`2_0yy]eHɳ/Yd-y\'JV>WKL b ljͶ̀EUhaVjt&Qǯ_#B bCa]BGꙀdq<`,z<,ZXf]3$?)XqkAcA}V1`#+6=}-v̓VJFR!ɦC+WHTR[RfJ6\uV+sWlp;Q;Ԗ(T~>Km+%`Ĉ_?¼UK|wx:QO< ߇L.:\v;vF7֡oT{OSK>AjC!f˘BWN_a,tilT Cj|8&u[dvS0Ղ*FFE%C@)xPaǃ ;~\ pɉj#j hV0M8De طB\vJMC^zmE(J@T=X4{qVX%` :!}JsAgt:^2.k,>)k7]`+v} v.1;EMU{{-ڬ27*1_r*3Z;"Ci},H$~Ţ Il/57ڎ9Ά2'.h{^ 0Z0w< ּ?_RaH_"Vl)ex+ 3y1xPBOW\Ky[.X0W# FL3Cc$E4`ds7@ n3JcN-ћ~2'%6~k҉O%6HG*i`m7[8Yєd&? 8ES[T&;XJ>K $rz 8O¤$(@eސ $\TNZfdS24fmG=" .U~ߝȓEs'1zOeOC?Cr/\wbiY)O'Kͨ/cӬU[WEco]$Jj39H)gz?06Yzh_T絴tP2Vy\qւ D Qpdz{/'վ$QmrT,Cْ]^NܳY6TXڳ"Xx^:0u>v0ZQk D=Feu&D7 3/ukTŔד8CNuɛ3.^9Ja[N6^%yK=A9IVc_ 0~T5֖ӫIq' eakC`;0*o65ۖqY5]Xa͚VD6X uzgUk8`;lRYDٙ$FU$c>M_ ~\*E&Xo ϧ*#F5Ө% O7,>;R3Q;ЃY`Ug$=P9^-8,΋T{y.ŽԺPwUeW}} ^@ML21}? h0ynS-{]:Y;2s{G ͗efZ k1}+cZD UA4 B]/sX6Pf5{$3mN58(#8MО,C`[znKjܚa~ z_z.=ɯ %d/5K*,kW+^T|m|twjY0^d:ٞf _%؀ҵ|[ف@vϿa '-&tz.6':gN%AY9ljG{VE^lvA U\`NvC;|è`ߕh fK:ZS?ُ+exd#Ͷ6.1Tp:J lZXmMA@x :wGKN}I+1^ðp+fBDk`io`@xFfKB7 0rݔ\ <)Yeb4QAmB߯2OLiF6Q~"jϽexc/h'Eb:ͼl2coREb[Jꁶ碆 LڲN9&33os (I& Pzw]cs+xj+.sF? _̦-[xq6k#9JyP@:{ )ydoT7a]AcI!엠1 E)Ex\mo8.Xi]`7u^v?4yH-I奿f()d9X6z 3$OC6s|]XA[N( xx=ko9WpXɖn; v"YA,Ezx糟Oo~:gdB;Q;,#LFOz${|*P.BAC5)(i̙󡈙7nG MěPb^e裱H8 '"N;7,qmDrt`dO|Iq=OD:{hb&aί;3'J1g7;,cqi2Rڟ+g@Et1}$H"Zq,}ϡW{oPޕnߊh-^#5Tl"X&pi4*? q_ aN5"A U<:)?bxzh]fB)2P W&^fO٢Mr 1«X3 -TLPe ɟ2؉DDpz soӨ6 %D;&N0_327'1P"}"ob.?XDB+.WM3}Jj [ fD(Aw!A`ܽE- + vy#r "Dp.SlC[.5/P!hlIdJgheb2FִzѪ@~XedVW:`9J s2_e tSVNĚ(ќg )I Vzj"[8N1kOf"*AVL3mBZ!of9yȯ? '}}Zȧ =[H^rK4d] %af^XaDx#wZB%m -Xe1_<+0"w88:HRE:IHQ8ܕ͕-$jF(_痃D+}^ !z=1_]tǀl&ro`+_9VԢ Mמ{a @ELt^,ėʤQ=8W%sFBj!ʼ'߹MB V@U5stcʟc|PXh:z3r%> xiiUS\e|b |'k% KC)uq_Z^pؿ3A@N4mQdz?N~Oxgf튒`I<Gh/Jڪ.4L(`*9b٧Y_i|][UcHZV(k/5a{|=ȖCChiGUDt]*ښQIh 2O'_ ⶙"̬`҅R;ۑm߈MOb`l.|r$k%K@iMT\[LTmVQJ{F45\Ѣ1}Ѿ2?ZP1օdN)bj_~6O94(ԅ_"ChVϙ$ӷk#@F=|վUܸ-' @Y}> qt !|6]7I[=8A9zo[C}NPR) tv`M r'?T죳>k)­Foke3BbcQNJkWo6#{/Oo,M1RL p:]B"2k/T/iD%B'MOį=>[d> ߟsnЈJcFF41//Z ZczĮQF{LZL ia~?R w*rpx=o0+ x%/%@:',7%-9(Ex/ m?m Zo!]Tp b([BOO :䃴` _ dB"}eB'@g8}B9AMu|t_[ȄLzI$ضPRL4{aVXվx\`*Xi"|GsuX \  ĺ.-8ҙaOhQE=[h{uq4&+ ӡ\]0/lI0Y̫@'&4CIP`Ng<-;Jw?ݍ\q+zP>bEu%*d=VQڽ^(jʩcG%Y廻L +H= 3j:bcPGaJ4"0K|N&x4-(qP_ yXk;}Ґﳣ<VZPdk^M,QuuRHfKGվ{s~ 7ԇwy&%~ibdȥY}u0MD35~ea+F> 4Y+Iׄ3W팼`UښP>+qޕI;N7uKtPcۣ:xn.?VѲ#(O/qqKǪih_KkiXy'>`DŽc-CFv間 h Vl\rqqљh h1jqmWq`guӺāqCA^mrEGZOPnj]/mM6WC@`᰻j0M)20lQ|-Jљ%9E <`H\C^Hd)8G1"AAZHU\d>-,+_˚[gv~J<}K`BM g8W"&r<̷xʄ[CEٳC]]zZg#lC& }LoE-L };ОgBpKbFZ'})6<&s )j2ɈetL:hŤËu.17&H)r^nҍ2{&-I'ߧt&溣&H56*Z+71o;`yqL/P{L$)&%c_,RP{2`w ۪LP|RH,r~+ [qZyAj}N]~HQ3߹9bGsA 7ZB3⋧:3E5EsQ6'>|fk _) cĘ&i̯)Yu6 fxnWYf&llBSliՇY V D$zrj aku@i:"t>ZXPt$BeP`hS`bBP-G!;2Cp?*HfL`P`B{\p㹊-ًʳ˫؜8`軘p^u }z쐡1\a&JUBPW yyxxUQHXUv8뢽ˮ6;W ZnТ vzfˀ );Ɨe50\qIyl!0="gruly;2:x/D U,.!xZn8}߯j b;P$)PH>4R‹wlɒp-V%Q:\.O~?,fHg&o x['=]F2e,<HgV%is7w?=b>J=wW@:W}i9.)$KI`{ɪLBsv? 7;YpZC9J5x[WEYt;b\T NLSڪFEaaw EwMmb . l;Ff=9+c?E&b)2l?jj\?z Y6&$ZE@ʂg Uޣ4ܿI:\5B~_fXn /؜K1UQt!~}&rmxiXpD%7? ߬AaRG*SbDX  Eε9Mb3̛q D_bNItj)at.'ܔUi q!63!<H⡬ۃ P w cFdCy0<ԗ=DYSs_եMcf&`@TLd{2eʦ07k<`e0˜{7>! 26LY43/sŢgf> S2sryIW0B('m&ٳ{U}eJWcfVn*hT∣pP) n3{()}kY'}01?7rSZY9@ k@8O + -nKͽ~۷o=!D^aDJ%ϵտv4gn x۷Np#M>dz&5&e:5YY_kSFA,oZ[ 4@~,UZS\f&&\ٛș.#r{a'сϪ.pNb}w=dU J SzKqƊ𭣮 ],,f֭,> lxJA/+K]:7B²VG-iV-(fCl]k6t͆~k6t͆'l딧lSGNܴBp#I UΜ,RDμt΃lM*9 0Ǚ'Z {u}]lZ=?F~,b4xO-=-5ad R=i޻~qDxTIXԲyI0؅COk3EE:ίl\!6KMc{b'O4.X4t8ĢKEzb/Z*uB^-5Xn9latarfaa;~㿳#w+dCVldaudsnli"-;En,8^vǮrt-W6w+0+wωEltS8F6Fw;i% ~qJ$M=v-7j^O_j& Y gi'8ioܰ 7_ D<-ZzFC (.gݦZC2[ʘ1 Ȑ3\%n.R9(&ws @Ǘa@y`!}Wn9f{ b.H SxW͎6)X5kmҬC^fn[Tű̆"ȉMvnH|3C\[q{#TWORyeBd[-:^ux\S:~ wʴPJv!al@~J"lLK=Gc8! ;Coǟ.{vB& IF¨M/s<ޱ)qa~dB eXfef}O \n=oF-s9VHQ *JLoGM1T44"M0J<(&6ׂ)c&"ȑ"Vl{y6irLU8G۩* &!Xs\Uo rhN^ 8d.H6_pgM ^μ zi!뤠tZkYay"򁒉ƀ` %TQAaOF["uxnmJDS;QPW|@g)\r #EVRs̳ fcY)'|δPavЄlVX5;:jgںTVp癧FFLz/JjyAW`hK+\6ðxBb0hՊ$',ϒKf:g*Ժ)U 2ZYЏþ;ތAx^+:i ᴘ*XX7ְ X>l Mƈ.)[_Zjܷ>Yc:DF s>[)E, }M4֔d%ø2ZQwsgNK_+C n_\|'}-_k{2B4k,Kň?= vYoPcޒ81SQ:A'JݷI@O2'd(CY4wx^ ,& ;F%wF!t~%/hHVvѴ(CgMdڄeo!%[5g#*Oڰh^c'?1j:'Zp"(yS x0Km 짩bjz&km7VHm$lHxd)01++1yW sQ[~ i ]n*HU!UR7]gAQl/f VQ!O1$+J쿽weɫwh8z0kLwTG rD 4\_9هUyX6| }T36I5՗ A8 >N.xX/^KfRPz;yvmkNMSHۼyR7&H/_X~cжD|4]  (eX9 +D ǤzjT[p} 7qSäl{}6惶RtBI"̢6KAvwoZW8n ͕Mݦ1>0Zr +I"F,ADZ 8VBSM! ZNP6,p.?`d.*Cֱò0]~ qض.>b#ABI6 N܌7ҁ_@Ow'"רFI7vs.#9pJؕێIg)_G7 heZ̳n4vB{;Ɋ FVFl,`rį^S܂o>B*t)̦{Y'3! _m[nO:ԔF=uuSYPc-#~Y:Yi$cp]67[ =(IX.o=zhns_`qY٨4~1nƒ Ou v)y/W39Ub,S1DU箂?ל@aR_ x Lef8ˡv!]_JISwnrDP90qŽ߸VQUPYĻYxt\ #n 'G:PJĻM'O6LMmy5{{+KSwO;G'l؞xBw;Ik ,܋184ҹ{6H]'{VR(>wV89];CG14ZאOpP/oɟQ_"D">-F 1+Bռ 94Mo2E0OJEcxPǥ+^B]yORGne<#4S<*:"M=o8\+VllxW㘌t;*}ڐ8&gz*Pn},`j5R4=v}L tK ҈ׄHr@eVVxGonj/i_yY-DRUj!C>.<0$F 0x SkhKǢ LsLaQ.[<ӬV]3ʑ^DU²?r2K5%A FLHY pQdIGxgԵX9KG%oQkWi~}b,QRMyϝ>GI-(< pU5ik.<'7>8:EHCWD{,.#29"f'y~=DC6e PnsL,|'s |+p7MfV һv"42؁r ncFiGƟhhbZV|$(EhL b`%c%.O9y4bIWš0 #lȺ5^i>ª՚B)=/zH|tAhDx~Ze`i x[\0X Y&ǽ<<y#z+:徱h1]/aaDurQUd F+П\rDcm""-FZAGY#?%'g@j8qC0MDM8r62{Z|m+Mԟ4Yxʇf c#.g{2 uүˑ)G+6~d*<ϻ}gAtlX3m%~htVddg^7 A(26ʑ]ll]nVsn;ӢfIq(n] Th\sqҢ=[ذ' {@ND{Fof>af,}]MU Ol&aT0飉c$2Y@٬j7tFp:w6:ZnHú8Au4&na΍omq8^Q:0 s?ݽ@a&zŶ –k_ (Mu׃@,7(KuYε-113%FdY[ͯz`vq1ev{0,15L䷜kq7մx=yu@L[</ Lc8tDh^k3O^zabhFG/tVGp]o*v^!|`} IJYX6>^3JG6 %@ >yGGAfڱia<"=ĩW^OCsdm/uDYis&=ƍmT _XJzSͺx=1nldJźmŎ\͠ͿQ]-Zha0+Xhr)X$0qg[gz9׳ 4+.f.SIoM,":|JgCmkT0&~Mm9%|Mm[Vd%K#`YݭU/D)P3k-\1JǬ2k sliqE\^/.mbWآ&xd-nI@kS OgXH nb+BjFy^\q:C5Jmҏ"[/ C!3Z{ۢ C4DriۢV;SXB@۪TH_g+=PBSs) ;ǜ~^Ivjp#iD86C>&viv\V1DlCKPC5І"J8aBdy$xh]App^T,M )~*6Axn <#:(axJKVUL,DUy&k䠿nAG2͆]?%ȅ TR# փALRc Y=1bm?5>?*.O"zD:IéYAӒ= NomsEf=L̳2αr:- NNNND tb.`e<:X4`(@ѩ\UʛQW UʉtfʂUYsK{>Nl);EMӑbDZGXبUr'$˗i+\[AM isMPgIOf-׽XXWm^ZbzgXOW[z3{oR@BcC>7[aJ>KN rO},霳5Ӛ5&VD%K;1vajQhwNhl o[\ElÓ Z Z/8mx=is8W`\N=۲3vg}*I23;3_R IHH_8Hn۠!yB€ić ,S$ #I3)2X, ;=|ȁbz)%  ( f.T$LJVhN%S $4Jy8m1ϙ ^44 n-5#gBG4$IG7Ú^ 0`HC&H\ H_o PF};0x2K7p*\f).ƍ|H<  y:=0 d7V?ZRpVC(q[ ~ZA8qĆ뿟v=` kbg%!@fQ0_ga?RBҿ&/!)7J@(G`H&Qh@PpLAx Z.>v',#7Py$1y9 l݃\D4@Jr$5e ;;f1Px=r6R%${*V:˒s{qaHhDC0 ){Ie }FR2S.k.$nt7Ϟzvsv]oqX{iXʳ=Q}kc>I3^+'"(X,`(")vغt,J""+cyVϋRⱒ8RpjmOU"!'Vzk/8-6,A{<cpkh'6 %Bolp.p:TԣJLg4ALK}a%)*`a8tf-dKcr\ \g u}Ud>ܭ1]-+~Hk/7v{C'[1^3;VÖjƽq"hBŘQy0rWrӨ6p@%b: 8K^ĮJ]F~MHƍ%)'Y֦ۡ՗ܾ?)SC< |Q՛4kV==9Ggsd6ճǦDnfE.,4(F9 }1|,]!H]7Ba18xLT,ٖ2ޡS2,<zZ%h+8ƹRc()C(Kp3 )r.P|iˎ؅ѻU?l?SyIl*_LdOKNRC+p-8SOXs0 ,T"NZlV ASq($38V?OjBzGI, ;SpCCp5B}Lxe5_8X(EoSq?+$F a< COgVӽ!)YeHR|}փlXO4{@x3J5wd܅}dAs5JG*OؗG'o^"qP*`{G >E< 30GS1i2@|@<ɻ9X{5wdtg)~i: gCYm]㣯P}ΔE<{*3҃maX]{|&>22-~7B1z&c(cHE% {@dL4Ӷɕ2Ic񄃑 ƗF;K=B"E?JV]* 2d-q%CҼ;dt^;݋W ug0rhwƙ )dbv!@q ڿ;W R0nTyߨ{.xo5bU-\bEj4P` wu$UMʹejB=>2&y DwrS+E%U eVdli6*)vc\,͠ѿ uTh);h@*N 0N~%lxaF ϋyFw[ fͰ#%F%?ỲW|@EDF̍Lzwfާ}/Ȃ-LX3NAA+ 43*Ra?9#zK[֐(r%'y(,9)`R<9P?{o4= ",a #X?Hx?mz"؍ &8x s%JO%دv@ۏe1{5Mp ;7oDd\E:, h>pVmq]cl|t7m0ePmEw||>m,CsN|av?bxgESF4}r(szFceJK XWz$+Pj})AHD {͸n3c$iF4_KZ缻LxfW ۂHX豠jצ'>)]+s 09 ^#a)2X(BLXHLo)ϕ XaUZruD_#/GPuDV1,ҋcUBj8󟮄J2IO7ؼ&TⅮhY #`k ][nyr/Q9ZO1FzN8н>Sff~,ӿ {[PZ+t .n/oufsq~~UI9 {c'cEwC@bu's!/3yݢoqCuUA̜ʕWBM5!1/ͭa.pؾqX!5bYQ@gL[ yI?kO5=pT ׭/"V+LqB3q2-\6Rx=ڨRMU nH~ `_T5;8B}*$*s!`," ?PmCnH1Fk>OtUV`ʈ{ ոQQQ[" ,h*B'3ƩݣzZN,0}Vm_iiY4t-.8ph#A*5O L>'2V| Yׇ ˏ#!F"|qߍ**.fWз<.ċt"B5iÁk45^a !ֿ.7:OiyUL=yqI;^~S'B-r34&G[8071O?NI(T&KPpΛ H@Q2e!6So-:OvW2[fӤC}VeeAFDRJTH x(AfgUœFۂ z\2}ܖjxUiyNi 캠 pY{&IʕƒL]+nl+֤o+.7/Wf~0V&a"1J 3`\9[|Y'31if-F1 `=!'`D.O{;mIprqKhhxXvk ܧx ^XTrRz^u^Ltlh=%]>Pgܻ51FDk]dkH傷HÐQp vؒE'-x!k;Dl~gF&ۚeܵ51w`X}%غH,ekga.lp8$W![TB)S*~] }2(9ͅooutZ6u<Fq}Ie@7\9 qm-BݸMBbA">FR;@}|_ zQ5  dG#0t91of~M&*;T 0 G?Ke7p_ݱ:ƸA/Va. lps נ>`cX(7pZḯiut5H`\ڍc9'RTti"4ЯԖ@iS?d2Q^0*/բ,(3dӢl4MIn~$5l푠:wUujkߺ>mBThO 1e fd.\' EF~^݂)[ISx!<-|˦%!o[}-MLH/ff_M=pcܖdbm.ZZvа]j OjZVkC %/lBҷ9mΜhhpg"tŒVDP0&MMeMPD]Zd Zlse?RS}UJG~$$2cQ~֧6uUTcQ翾sP|/ݱ_)/霆Yi 7pq# n+p/'zi_6N\v\:~7&뻫?SgKָ)ہfӧh?,o PNEB'8) dUbߟ{Wk TJsK%KY?)t矪tcn2}(A%ޕ>FT 4ߪsxX7|7B[v_a>R`Pq}჈JCҺADkl֪s%(vF})=)TBeйy<7D֕Å5\g՞991VnsN1ιPD[jU$و]> lH޸ܛsqjKt5sN]6LgS_{sX>U]Nnp51opƋsQUHUzw:b.U*[!1_x6;ӢSZE_?SbݎK`u6=zfrŽxWXQi0%^w;C7ndٯ?0XpIJ2Pqի?إ `.`" [FӞߥx<9f<FjJ1Mq<-xþB~r _[Iq*,^۽h(^P1@,,ΰduF65]g`E$bG#a1pqvtF{ys%p':O4#Z0LNC eO&)<–`иIlmW)wʓ"-hGC2XQyl$)}{kj添0]L*|S;vl4cu6*:vHSbF/(-t ǰeT&z y Aqh¦l}a r@a)~&;.F2ҿ;Bԏ09p;ԭ9_[5@G꺽ߑ'~ˮ{h[ٷ̻`wz8v<˜ȼ6"dj 8GR˨mzjR6=3n'6g[Q $Nа'JqKm6me늉^낽iAJ^pfnA[wYO#JRԥ?7i~/JX.[1{) c&Ļ[6iHoQd}~=w'd!u@,Lixx>/&U^ջl{:l]?)Eba LH<%ݳOčNR>N{9,зKor;/C{O0 ^Pr[Dl6kDrUW10s1YRwwV>ꔩPWL`_UQ(iu0UYKMyVqdsۉVh|1<RW+P74i&SJhe#<EK:e 5,~/ߥo(ҝ'xvu>Hn!Zz)ی6e{ +κL䜣؝6Cx6е=fKѲL–]D 9 ?E"lԉ6ɣ$4 _ZaKfiT< cs:[W{U %BJVSiBPx.JK/x|jX^.M1L seVE$+[@S:ß-wzg[:tէ~;3㉘ޤ˄;q{(Qީ`ؓ p{#"\4>/ذհ}vMN[K۲ݜ1_Wi^1FjLj+Ocjn5q!kީjp5Qr@YHQP0R1BA`Rn5I3խiֆ OﭛimN_ZZnZmcwXL??O {E@7"lr K ''ttZY&fL(agsv{ڽo0ڌ~t>-0Tr1F0 "oJ`7U Y?<`uo}ل0hi l\MXrgV_B luʛ8QwIvDN#+(;4E~796%bLq"͈3sJeC=F~)"s'G 4jucϦ3S֑oϔr }`roz8ݕY1J9=?gcxNsFa2.$;W|w%}{Sruͭ?ćݠO4Z -Zlrbt3=VVt=e8g(xc?(eL3rd}`h IC(ӏ$-qL걱im>4f} PKh(s$`>i+zZx.Án4d[4@92-=FcmHi /)1~1wb̢*&mY=9q2uJ ABR> (2:pd(R,u .&+Z>6|N\ptNK}$ pM>AC͟`.)/ E5@xM"hzx:4{_'* ŰO-P!fߑuhH$+'1]@2EÅ.?#Əziw\?ӾuMH6(e'&PXmL-afզ{Hɻ,+[(Mph]btHR{u n\I]pn}:%ף}Y=:9?KшA^2-{kmwn='6Ǘ>Ӫ[L_:5fe _Bey!_^?MS'˳'A2N%hg8B,W\fF+ٛgl!m =f" I&, :/kAWqyWF]~~ d&m8MphF32Jl0h, dLJU{>/\'.j+l<ڨ v69RA_hYn^;ޛL?fP{aO>4"id:!~06r {ߍZ^Ma$[f8hk䛬ۮl ^,Džcb&϶Zp/Sƭj{ǎ?vNr+q|vF)>o.zaE>lmUWץuOverө,jQF0sRR?ˤF%DF?Q?0YqQ}WV^y+i%[m7>֢mӆ]ېvya 1K-yKնoց{}[u2WY{;3˻Fa&.'?rcɔ[NC|vW4?cU*Es>|&p'Wk3cy{iiy~jlu.%̂:9M|E*j 'A}Ñqiy`I΅5LBry{8SfbX6 5Be y}rFCDm$.[μܡ8/2P+C{)O)EWJi4e+\Ό,WCT1gے/-PKLPy: (lcdQ ^㯭-#)XxhxsID]PNِr^I[zΩaYE~~upƉM /$OW b "brzi,Z>Ϡ962Er (I(40xXo6_ %r--@\ Kq6WTwYKaz)wO&?\~9f._%qaFt&b|޿b$ ^-N8uxnrhG (+R1Аzj9ٝd耥Z9Tn9 K`,ɯ"ŋbnck&&<1ڜx|?] ȵ ! Gxf,)gfP"E,HTkZKR;Y :-oLL5_nv43lxUMs0+1S!vf\)3-kS/%W#.qܤ]mֻo{o//n|j&O By+@+9|쾶W^ )*K6-`2xZhޢv< 6hFpdRdlct^٨Y^G(}!<=,_@Yu﷟"N)=OmCb\kx'~#Dnzu#bpKX XS!0a/,B8U*"/ !(- yY/@S _ԕٗy2uhklԇxiA{3@=LǕ"X+)4rJJ5(%'uwD >~]>v??s?ٱ /g=FG YKKW"TXRq T_>IuDܞY!PJ0e?if7T(>,B4>:!mR&P2gſjw)9+%+F{I#}:7  0qː%w aFU\$6P.ѱRz}V:&-M^|LR1nj}ڧ=Sȱ_JYZbK,ׄ u-MޝF!j$1p ;Ƽ{W&y6I 4XRyֽHy3hvlI,G dPTmc3wDiJYDdj}h]+7XAo͟`kP6JLӉ&٘D,k 1EðJmiJ'rL= 6ʍ4b0zDPN[ <\CMHAvBnRVmN$j)qM'ټ7 uu Dp6Ǝw}Mddg{y'kXlǚlo6]ۄ)}g s+TOԈAO2-J+z&BQ,!/Ê <-YH@\3u*x`)!,cdzоh{͈Aa阮JԃCნқ@2Ca:!jKg\}x zއ7O[wX5SϫkHGnNM~K@PP}jR+pYs˥VKGXloyۚyAdsfMZ"~U6ռgN&p{Ǩwka_ >>{WO=(Vkh})nS߿I\}LR-= Ac@c4<*8aEm z,B^5|ʤ& ,!g.E1LtcF"?Ffj0ۦ5L3̦%^_ HŔ)>ID9Mĕw+= >NuUiU+-*l M=,Wk޶yKnIJh^BM9郭—@=9]XQB1ĺ "I6@ A9bTM=TXAx"NIʥJtԪL]ش]aƉ%j&Uem)O< ]+c(9s;mOT@#фugۙS$unOi{:. oBOw&]2p;>ԅR:\WnIjB-]ѧauC[[K'r\RM1j`Z_.ieҝm9o7'y37} --b6H gxW]O0}WmڤEt64О4\۳]i@H0Su|9M8;Ҏ8]?V7 {Y>fOa/b4Y&ax;I8CVR"yh师U=FdDuZa2BK ¢gqj%mz}acvzݺf o @@;zj9pm?(sF B\Rl>8*\5%42RikFx jVtf"b`?\jw[Q6+YN*A22DeFɀ# r\J\}^Eq{bWsu^o&hp6m, zU3ȃfW`gBK`awٿZcߟkޣD~=0k c <[=O\VpUrw[nNz}Cc`M/.6SF ߍ3744 k<mQti"dj> oHRcɰkΣA*9 aGmi&$"߲@r92}]/ٳ+JhH}m*mW5ki˺}dZ=;Ђ;v(Q+ gg80x|PNG  IHDRaJIDAT8]KL\e;wy1 tʣMZ"GB4I҇ XMĝ&…&4q6`Q iBLM1Z"0w}.p}}9>U %/!of͇WEmش,VJt ?L˲_˧qW^gI@pHK"H96ҕC:8CCxv(U7낦ҚFȵO1]Q§s,Fś{akw<u@xC;::n!q1ܙ' Xr E4r ORϿta =,2<$k>ZK}iNϐl6 Y+$I&}~kA, 쭥HR=r AS b YQAҲ~JSE =HΕE%TY;Y5sϬE,"" 1arheSإ)1z,&o?ȥPW'P1n`Na2x%1é4ڷiz컵kz'jgj[Wѳ޻g#|¯ tnyi} mM=\iI04~#A#̞@ %ibۺGY,RUKMN['3o'8}_hl}$9LxPNG  IHDRw=bKGD pHYs  tIME*5{TB%=~߾}VzKxkAyЙ{JK,+K)t@yb"Ȭp&`!'VR\l@`S#p)E?k}'nRƸy4a!G> p]!W7EX8<*ZBw+A &8 -0I%S4iG,x>dsBo[dxư'oHY#O (0 ZVn}k_ԀI!nA SkQ)b3e:,r@_\@4$m: iD H( k? i3ܱ!C#zFp"ZļXƶS,L;㣜s\<{ ŵO^ @+Boo/y0Y6 %o=m.Np^fxEl.s '_<(FP=_z=##caSoacpOSVm(Fu `;7#6")+E+EҸECxFvnZ|禨V jB3}GlWPfupZ#~k4J9$!!P+*J_;'?~_ajnE\,G8=] %9YQ:<+Z3M j麷)Wm~;vla&_f4YW2+(@nc<WU忉Op1Y/ &f*ԒLG{`C!Փ?%:~4ހ^-! G#hlD}Q.KեզŤ'YqWS=tHYs䲭= :B#$&8pL8 ?,QOѪsg/=poL;A.KJ4Ovj/1b tMIK[ؑbx Wj"o!M`2t\}̩\?P<OJqv=vYobf$RWqjyxQ2{K§Y_+5K RwH9]doi:R6dI?IENDB`O%DqՏjtR/E6c{,fU+=1hHu[Gc@>HXiTͻk3n>A@ O[r@!d2YSձ_^Z 7{Ƈ|Cit掮,~H,DGݱ$|(,>VO)MAH@ڞn"1@=ʺ"[ηō- $UHsDV!X4ǣ;{݃#즳~y[t==z̜"Qv^6[%gR+lv555S-;۶@׭߳k?Xׅ~yU;ϱp߳KmiVOjBz#n<"eHDw=g dO$P$XI4 դp1 (RBJO:e90V!-=CxLdX"/TFMx&TROkxCѽdNfrօDTQ(} 0'-Fwr4`&tU_5gP ?lHW CnF0s6Ҫ^6Z<>ڋ,W04p_I2s\'㩗AWYq]@ٹ":1BDsUOtu+.bx(]kZy73M]-ɶKP B% _}fzQ*XP<\p.7\fN 8" 5lj|C4HzIp]ȍ`u~?<^pDRʴ˞o@ 6cǻw|o_x !p4wԊڙ, 0Ud]->~O;i,Up\ H '҃=9 O>lIENDB`d ;3;m=^x%PNG  IHDRw=bKGD pHYs  tIME %ϜgIDATHǵV[oU]6}3e%jgh5$`-D|%>F#&F 6ȥ)Zv:t:3Uxb?gsf7oe}AλkAwmCkwC=y :p`%󼍶]B$RU5(JQ6)!OsοBtٻ7vM=wFfMsS}KC+m|~eA(KH"!!"P5 - JKӽ\U}CC/-^|rvv@.8P4ApB0RHVA3t @ww7Tbuc#67KJ-(tf!y>AVfk,Tft2pcchubR6 ;S JKzjcjɬ`<h FwVѲpSsgoQYܴIn~_$i׼xˆ ,YZF܋?{ EC {sԬqM˗6 p׌Xx{56qHB| -[U((/S Z4.5{xttUJeH 2|χAJt:=݋K.8Xn)hdMu-)^:uyK%0 h!H`]ѐJaxx>10PH }d>" fUK*SS]A_-ߙ?JՌbU8At}.8TEA2ˊ!30 1gvtPxhjfyM^Ր C?ظuuuطTl#1PJ1 ֕\ׁa/?p6?>ֹBD:sK1)UUa,]x *BA(iBµG>Ν`ؐIÊ@B+0ϣO{ ۶[l_}@K:cEm$\'Ɩ/R&?#²,0BBH\8ls( !]( @7 Xh4 ]D`t]s!bZj5&J W % C US՚dMu cA;by U\"{M& ͅBPJ* ${D(֮mLo_Y̙3:;;.\+ UeW}\M@{??!kDžT*n߾}kX(A]y$$*6mMO8m6-[4.xD.gg8=cb"lvlsY[v*Jf{zzNOkkkDb23==}o8 #QЍeɥɳ*K#^ޗ~_E__QMtMQRH)<}w'd25k/ `2eIENDB`ӥ9X"IDATHUMHcW=y1%IMc03+kZn"ųAH@#E,DP$PI@ L_b̏~]tH5tS(={=6oA"x_8Z*++˲"d6MW=5L$}F/yv8vvvn4ĩa`` [eFFFN]..kwg) ^ ?ܜs#NX%B`/GGGQ__.Ȳ\vok3 RT{Ael@HTƃU|SaT1ؖAՖ> !`v_R>\^^|(njnn&I`0EY}.#1&ZMl$I K\0,[˲X,z/--X,T( Φ˕xHӑ($"tedmh  &mmm4UTT70suprrj5KyPSSe;v~?Sbm{KΙ32k&I'IlƶcR!*"}ŀłRZ*Z(b%j23$Lf&99sCڊ"z[|o-XPc#'&&ӟ6 !D<=4;96:F=@l{e! 17?W8 LȁloWzbpojzݏLN]ddb^,m7ԫ2͖ dg'|+_s u[XՓV&i6mj&-o<K ,%iEܖEHF0k>gWg~"Յ:g}KBȂ,I(a!@H BHRԄ{{}Om[%;3 )@  ! !R RJ 56tON%:;vtKql2ŽRȇ*@H@8@J%{BG U`P&˗*yrݐtU!B 7(L -BJEȑG#zz.ܾwFrvnѝr6H%Q0UIu.JH)PR!$d P%>NxPNG  IHDRw=bKGD pHYs B(xtIME  .2οW;:u,vݵR_xZ(A!t9s^\ 0;(=o?S?}=S'$`q~n? M4lXD6^| 팑˫x%tƕK\7y}ɑÇ,k||G;{+O|C# --`@i"J6sOpgyD/8GzČ$lR$5@<q /hIdz=ERo@J`G^b6V%<3q 22w:SX,v"I-yC!X*Di9v=:#$DaЬ_;'L `uBeMIuOcG=74<|j s7(jEjXI"ƒ!NDb !aTl2E!FFR>|5^D:T{rl"9z>r0LxK\FHA@ڤڪ,h*u>u(޷`YJ~A'Lc݅|};?yFe 06ahC: \5}ã aKfɻEyB"f:cVQj5!Z+Vx!O S.չ~*B(lV07r^L IaQmayM]7B m?F "?8Mȭo"ssk4^˻Ṳ~nSO81hi4C x^!0dy;()8[vxKOo2CGG_~/~4 J6m6A!N`Jyw,S3x˶D?]fԹ<ĉ(~~ƫyƗп,R1k.PxօW {;w8IENDB`> vvBA/x/PNG  IHDRw=bKGDC pHYs  tIME5 o@6xPNG  IHDRw=sRGBbKGD pHYs  tIME1 `IDATHǵKUAǿsW̲ !p$ZE,[ bwF /}^L^ǁsΜϜs{zzpny0;6H)B8ѣ5Fc DT9X"R D"mb! !N8CU1z)`Yv1}Zf)mXe#R8)]Z M)}46&#@7OjFW*"˵]\<ՊާJT۞\wRtSm;u OE`#mnVW'秐=5.ljz\ w1272/}t&WWxe-wq:`'l|+|><opjq7) [+)dԶe4 njA6P80?~G@:,h[-Ha+؞ɧg_}<P1 J)}%3.+t^=x{ג0==+}{v׀fZx&'&8@*0ǽyg_PJԩf:+nJ$NM;L#  Era1qIENDB`2Q!ZIDATHǭKle\ۍ;uB&Mۨ)Jhx Ur!. \@ Nq*#HH)T"0cuw㮝6Ů\7`Ѯfo矙NH$gUUqo*YJ>ae1FGG|>ib p`š!O8f``00qPx<4MRlR \ :iLMM177: P>,"Nvmaaa4Mn˲dY^^Ʋ,4MxppQ4oX$ϓdyqKX'NQYUU, Wul&Y4 ۶D" ^gBЩJidY_}e˲rwP< 9׋eYiV}jeo[B?zE\.S*.5s\s`p}އ{qܷO.ʫ?^6[zln|mB4W+mw"0H;?Z:>x @JU@6~W ?-d;Ds[aA@]^{+"fv߉7d1+4+cKB aNkB<}w_b[hE9,bR$\ x?M#-eqwnnhbG6p<(Ufѡ4&kw !5ѣ꧱P]ڐB6XT h@DGp%t]R~*- t]hC{4'9yLN^I{"@lӗZ!˱o)&{ 8o]uݗL&ud2y5 zt IENDB`Q@ bBHOxOPNG  IHDRosRGBbKGD pHYs  tIME /$>IDAT8˝SnE=Y{P JCʟU!O x+K$*Q!Ԧ UMq]{wpMT=Zͬf4gw7p1 Aj.fs0xR(CAEdi,D ww#$S+4'U(4;߹6(Y'$H%ј/{ 4>OIꦊ.L e~t@<'!T3Q4Y $@2` \"* c@'G83'_Z8Y  p HP݃&U[ <=<8!hK9ED, )zf4'Dhcԓ.?(@b|qM y[@:x$* &s#I}JjGUD0X=&{pSy$cc/%:Sw]Tљ癩/MROpVȤh,Ǫ s`mC]9g?gbk>a bԷ؟zffu̦.AGN;` y6RpBӁl_ޞT,whg4Vsg~n35ĢW{'\;xqMwd㺗SzO_U}Sk>)k} &U~7%S+_,䕵?2?_2cPQ+~fQܷlv׿/]zlmhťJIlobxU[uSI-0<]\9%4ZoJCx sb``p  $) w'ud^9lI. Ap品" 0kPו6HdkDs~nnj^ sQjbIjByfIo@x#8*Oǐ <GV}/sxWK%l/^e&_yփd9Z֟w|Y]VwӍE)Ζ+ B}K}Q0l f-b8y $g[uS-E ;,C,aԣV|V0at^mtMpéhpp|U[ٔqڳ!匌~yʵ\gE7ߐYPy)4/u^/m쩽=269Wh`kBB1jG:S) /dw"Om5RqÔ(xlZTGPJ7b;0&_ A8L'>:Fq%UXKJ)]k 3bzA/?X U/WPozVJ@1""bT3J1o-T0^G);ԃ8R$M 5K+gePo+i-#d4tAmG{3;]@֮lh=.3MCg(c ֈDdӤTrFԀ{Rvlc- US( u+@uSV( z~H+Qki(p.{ T8p9O?u1wVRzlϧPn@[f.]<xޒ?]I+yL(-'R0/4?{έ<{фnض#V~# k Bp'*$W~ٱJ܏".'`@X\s:6a?T. 錽qnzc<5h~ݚW?ݝʇ?SПR=_:'sZ/\J6ҩ/ >E<,Xt8AznxՂOɹ Vѩ̤g( RΙBDYD^çS͞~u--dmQqKpQp]()GC`UG_}%LӔ?^gң=f ojrNR]ځկ᳇SXnUHp,Tq.gIt\X4Fu$'NG(D|IENDB`=f KG8 x PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`XF4ExEPNG  IHDR BbKGD pHYs  tIME +utEXtCommentCreated with GIMPWIDATHǵOTW;o>v€MVD҆0% FcLtQUM4n wn솽.Pi56.`2f1o޻ j$ws{H@)(z qW'{? ?+J[+:%&LR$OE7|ay hٳgHc b&ERR)ǡR.GE4x4PNG  IHDR szzsRGBbKGD pHYs  tIME 6b+tEXtCommentCreated with GIMPWIDATXWYlTU{m8!P$Ұe}mF D &b01$HHx񁄚hdi1DIQmtss|!VPp}d2ɟsI^x۶)9Zk1oeG`Ym#aB"mS.!Ç.e.B eEs$Zk,B)EZEp]qPJaYR) J)JRJkN) An-Ֆn>mW[k*kH)Zn 6NO?QLG풖0E1LOOSر5wknbdd& R`YdZseRCCC6qҥtuu嘜dhhl6ŋ\zuY\r% [\8mۦ ۶QJI,DX(oqL&Ñ#GyM=blll9יLL&8??薌n>OFα- nUuux)z77ҲоNn޼+RpqZYާ9t> (9ȭ:5gΜ޽{b1fffx%!p]rL6u]1.a61556FNk8K[[ǎc߾}qOKK b``t:ͩSZsq,d2Ҭb>m $N>Vؽ{7ܹbtyybq*j6^*l:Su,As#8j j5JKXJD " +cIENDB`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F"IDATxڔKTa{SC%Sr ڴhSPQA)h"[ ShA(b:8w>- Ph9爪r>_,KjSH:[tÿ>3 f4jՊ6Xc.ibP[n6|'LŪRCø':hLTPkqgա|c@,hIoUIO",$hkظ\x٦Z|=FԹiW_0"!j`RҕiQUsҩWkY ٭&ީ$ ]vk;E &j$hik8gwpν-F}_Cv2dGuALM14A R?!x|pgD8j ܝ#4Ƃ7;Dיԯ> SsOVXHF:^떫zՓr&!nRwp$ڴ6 ҏѸ_9/{k"G;M?=7]Z\XI|\d`?͝\kOl$'{/K[Z~v0*ZO*($*ecmJD}hÂz%dBLĠ"8OJ$)>Ï `!0#(L@aT;^ [m-Ml)<^ڙO٧]k orӝMc`~{۟k<3ijj*xb,qLCNf#E3ĦXVb(Nì>aJ9EsnMB H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  )IVxPNG  IHDRw=IDATHk\U?sιݦͯkm(Vˀ҂"h_$}2HhxPNG  IHDRw=IDATHnUUksZn[ҖHMCB@L$A1)#'N/0G S RJ56?fp&iv;pasfs3wF~+Zq #X8a #cG <MpBRC 8$ F3PUR4T:zgX\T# S*dШ>1_^2a6ًY}ߒKEI,QTs^kwozėvÒEd%fJGC=۷{~@q0,G?!R 6ʝkkOZLxUVHEyJ<% غ~wmŽm1 գj@.*#s s̴tHAY.rqM8cI2 o6."rS @kxL0Kl{d7v~sJBخ!_#ĬCsŞ4LEvh[ xeU/aMBre,ISM1ڕPYjHg t{i ._O!xusKIi*$RʾV(;Pw:lP3V fNt?=A  2@& AB7Τd2+LS! GO#Hunl8bҢ~'aנEebv#Wym︎!Vg Mǘ{Žh4 ;͓S~ZSF1ֈuއji:Z{yd5s ]0AU۔3D03NenҠ Y:nuÜ-ٸ sBK `yh} N0qJQ' 1%NOb1<&i+L(7F/0\f =0M c— ^ `TCTеV+OZ'ԠC9CeRBQIENDB`_0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FkIDATxڤۋMq?k޳9GSͳq)I)"%S`P1=DSSjxY^)^C\A39xKXZZpyu$A4P 8u"n0ta@BPjǗW yb\[لߜ>8NN|3(ƍ TF`&LS$)W+G7 ySg:i宮$:::7u!c$$ RD5 9\M1g?ǽ!~4غV:!x*}'n}(]uC;q&BA(n`\u'T\p{졇 ۷c0a B@Z˅<~꫘':8q~7E&ShjN@U#p.^9s~ K$m|4oFQDc18}sJes=:(EmPվiXæg,UF8|mO aFoIZ-e<N{%Flق( .$dm$=h4P0Z{EPUEae2.$[JB(PdK%6L>= whB@QHr š[ceRȊCס*<KpɓΝ=rM`ja²,7yӭ;صk@̈;t<B$D[Bݘ:qX iQ,/.\ ػwI,222Ҹю=j8Γ/^o4:17$!F)1chO9ئtbСCuK'_TJ$w .rR&s[ J5U>oZWԈzngW1=Q#jDeR* !8c,}o4a.oO t]RIENDB` OK"$*%eY%*Q#G wo{~Zns_OL' /qBaڶ 3A J$L6#@?u:>:Y>1jRn9 CABp.|Cgg&D4׮"Ctwu>A)q8אָϞ; 3v^!(Pwl9<σl78nܸ`磴ZDDJZHPސ;Z\-Jvu 77>MxTPNG  IHDRw=bKGD#Iw{ pHYs  tIME[8IDATHǕileYNKWn"dB Qck@R A&&,D%@55PbPFE.r{};?Z "M&9w93B4v[$'BQO)VLUYYyS6ϫ\N- +ۉ$ñ=ۺx/,7Yְa!B50t PmΰX7֍o9IENDB`mDA8A(aA( 3Loi RߎTںɁ+WX=J -iYmcRY ֕-gtC2BQstP]=5^_VW|yq.}2SfϤ|- U[޵jKD(AENΪ]QyQR.tHل mͮO3@%v$3ILL)f$?)]GĜ_m]j݉aHksY-: `dFeYi#!ڤR9i)Y y_IlFQĘm8E\:4{otQYK,$NJ 캁jUɤtK#frDQޫ}@M=#L&d]ׯ,TG! D{r G%݄;!e5V,Nl9a)cDkkea~t:ښeo kv +-jw_V6"sd+(14G}E8ryT-na9q6Nr} VɂO lgem#_4TYKFWn:,f&L_BwFFyw ?Wx(CR-C3g<6^TF\9u6s?cƻiѵYΩ-FT~iT -'ɸn%hjGutC8)_޴cԸH:os,|.b /( Gpb6AB^ŝL^<Oɷ?\-Y^]S6wkNS^#%Sh..EVŢ C S &|Xgˉ:O\X{dShyn Q~A{_>^+Q R$KXG.~m筨&>2bIENDB`%k JJ3Njx_PNG  IHDRPgAMAOX2tEXtSoftwareAdobe ImageReadyqe<2IDATxb`a?R|aٴYbϮ3(//zԩVq q W^V㇏ܷxe”xqvmff6 ‚¡X<| aaa\`pܼqsڍ@O<|<}/]d={VYYi@ō]\\]5 EK?0Тpaϟ>d@[dgg'П޽{@;S50c@q4$led._IAAA`=90JJJ@񴴴PXuϟ?Y{ùh EKan -o@cR,@?+**f͚89'ĪMV{ 9 m!!!$9sFQYK_XQauI)mx }]ϟ>>m111ren:a`hb)޾}R5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  @AtIME#<IDAT8EMhTW̛y'1HpaZR)EB tEIp.\+ n ".\,TP](nҴAbәL{|p\оsؽǏJ&sH\=ͮ;ĻwW_WP=ZT3=LʕǿL=Y_GAE {=lL%_3?x o-..WWANc&'1,a|吩) ؽ%[\*[.|U_qσaiAI;-߽*ks~/0(nk6V8YKZ*B*EMMUUV#*h s"̈8rTbmk}o|*KClj8GUz/^6Eڷn!SSU 1Z'LE2=uj0,l]F9NRsJQl"yǏ͛Pu:stRvC CJQQs߿//4T9R 9Wg GƘqLߦIENDB`G f:f=P~xUPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd3Oj x _PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"b!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻC<e;?TTTT6ݵan{4[>ɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  @AtIME9$jڂIDATHUˋ\SU{ M^cIH"F ٙA y^?R "Ƞ,R< "(R<=GO?n}T,% ;SuΕwߥy">i󛛿US.bL` rBעpe4w?Ĺ/|c?׼xLKKQ4xTʀ!Lk6V`͕IL{\qի3~7ڄzh ᰆ=ѣkS^DFBu,vyw7EB,Ѣ@MoSh|9x.ysQJt:>uʹ,:3Zsz& H1󀪒 Ķۂ $U,t {BtDDōD++;I!*`P[[)"Gj?zc9۽Y[}VVMQCƐ!dde`0bB`d8u>ݻyE"}T"(42hiOp(bZu:$_|ē'm-l^Ɵo v2`!z=c315]z`բw6r,K{R1; ea8Dj5i~ -iJiJ9k5J&!`B`ݙTA IkGT*ΜᗧO3ǘ) _߾?.,C8td""TU51^GwzEz^y8|0:Dp 0ekŪ9R8ytJƑ#?{Et{j!6Ԝ#6Ƽt"TlcU?3;Cm"޿ΝE:2ZDT"oߠfR[|`i s&%!U Ρq1$d[[w~tJ苈0s֞[KKiK[K@J=`EȀy3:3EyϞfw^p!}wEo̯MDXVE?b#58@ d"7_q*jKFO?ϟoކ1sƹA$Tѱ@;"-o̵R_~D$x"睧bicNZ+F$q^HT#Oܷyt8^IENDB`E1> m]ncvRGwqj'zo]? "2vGnnҿpF԰?֌v3E0:-ZLOwonEFpu >}%҃R?l}sdL4 Lqx2@1 ҭ"\s+ O-vDQւ|`{Sfen9pu?{8((VVZmx(ׅ6.PgT5* g]Xy~S*y݉2\}א\-/o4_BZnj 8#TZ/cq1\Q1M\M]tRjv`P1@JQX!+P(NO_8/w Ìa:IVeBSUPBA0@i붥~WnWW|Rm0b(g0T:vTSS~HДnDW D# ۀ0T}0&Rw^SO=REDe6I}i6&-ؚJ(\sO}o*9O4jnN^軬`:fetC54*z=_ i" <E:ZsxtYi -"47be`phq5׼+_DlIENDB`L  QxPNG  IHDRw=IDATH}luǿ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڌkLW,PZ0K/D` [ n-t37lED̶aN>,~ZT,ٌɾ(Bb1`X#R b[!OrrN#(³f)`ŧEsTWWVWWiZV50OQm6ۧQ.Ԝ4f^P$A"Q@>Q'!;p?V5PYYXVpF,C˓+++'ڢ$I60\=|؋qpmIKMMY(++K:~PL}}=nN"F Ż)xFuuuo^eYz){%v"''梍"BMs?n^mIJNl= KkfOc8Nv;MM~=wϔ, /KNFmbU pq:L&iiA GJ`[BgP"pd->@!$$l, JgUTT d_b,c||\\4;D.\DL}r,xnIn$^_}Yj:`G!ɜL{uZZfVԡjSh±feb0Ģի&u5 hTƒ?--q $$atxѱq 2ccDhw=(ݳјh*ijr#!f3IIIn֭/**QFE/;Ts ^'*Vcl|XD|>?w\.Z:@JJhTTn`Xz7-G[]]$IFXMFhmi&..nLfGtʕsTќp8p{<&n&nZ`dŋ^I6])mll].׎bтleeewO @d:u6]9} q.$ӟ3xIENDB`Y %%HRxJPNG  IHDRĴl; pHYs  ~ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$CG "IbX*QqD2"B)%d,>5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FC4%LEZ1;yj!xvXJL5GŸpe7UN愷]o_\|b~$?Njct>}i) (՟~G ,cL־x#R5pPwCK&CΩcPiޑ\qJ^פ֟?sЅۼ ?73&^c^t \ H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<0rr*YU[QREٙwI@[hl1i~zhe9[8 TeessnFPUӭc<׍yLD}mI OG(Dr^nԕ47q+ h]Hδ'S'dZRHL_{ u>6-qIO(DCi) :&IWK$_];*96}k.0~2!^{A,v vFϟ ]vK*eg ]iik1My$ͽ꘸XOyK\ 1w Hna!ః;MJ~)߄ DPKbighi;{h)n!Mn|'9׬A]e $]ZuϽ5h4&%j׈>V@(itm((Z8wVX8C`E.%kxje//ϟ7v|NHdl 77gL2HO-cKJfܩKO;X"mii)5?PcgfFnvd #΄Q7l)驧Syw&.Y6 MHKK#щ ω1 7<3{>߮>IUUTV  VxPNG  IHDRw=IDATHMLG]7"NHPH6PJ ( N8wUrxPNG  IHDRabKGD pHYs  tIME :t'qIDAT8cL`ڿo>3%3wE ˠHK?yΝ;300cr…'O?k3*"BBܹk 9X }ӗϟ//-yP[]CW~._doػw+/^y6ȍWmZ.&V.Uϝʕk2s`ݳKCBqoشy^هDX0\tcWUM <*/,^e ^yۻ8eeHwɋT3./0ƎS֬[)e5]Ԣt[]]'gBۇ";(N6=oM#vS8E`M$3xiS M IbfYD"mb-m h"f, jz@)3S=H$ZTś(dE>ѧ֝3:*XY-'q޶c?4I* wezz{XCǗ>/LEb~IšFUщ*~čPR\ |@wԕpLfPcjG1|P݀(QV T҃gHKa;:ƿk#ZLCÞ:8]N|>(N.LzhOb~W[>pVrW9ae-ϯ.̑ɡ#zd$=}0tJչ xebd FYd*H^^T-,4MC. Y-}-<'+Ӥ\ $JO&> @da4fn!IZHCn !u?x]Q#ϤԥKRP zof]4p Ƅ4Қ?rm"ӗzZHoAO|",X;X| HEE" Atr?00F 7s G^Q@cCMMM577~O&IENDB` ^ 9X&xPNG  IHDRo OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\FC03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME1i0IDAT8˭oTEƟwΜ9_%B0@4.XL3k21A c \@$X"KKnv?vi{Ιy8-x 73߼ϛ̼xxIzi n<["V5[Rru}L@L H ӇNg$v\!` Xг  ""A .$t;s 'vw<"m+" m(6v ZA$DP&Ғ#' A$uAgVВm)=WNf  f&0ACHØ 'l򽎑(s,va8(WEGvfBKRPӝ8ytA'-pz~tQ/՗#-)wn5_̭Qk5[[ԀAB'+sՅjȺionn~0 Q*&&ƉhwOBP,%4J rܸ8Xj}#7* qrlRjvvАdם؀zw~|8)8r+WFGG??{6c˲| Vz{~p9̮EFTͭ?aΟԟ |>KRgAcXڶ簾ggMyPo:gNVέo9tb3{w)_@tѸrF(v 4 VzIicfJ ##GM>xP. w`hdzkb_? w I{A `#e[6؁Ո"W[O7jήZ9el.nc]Z]$MƵ̺X@ ^3sRJG))R&vF:&2D㭯_J4 !H3FF;Wr9NvfDZڧ4|jp$ >G{WJ麮--a aIVAq(x.l6/]t&wNP]/Q,^±1)%?6fE1 JR|>&DM;lIENDB`8RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME%#{GJIDATH}{lef3mC K[n",FR/(^Ͳ@61k`]pFcnT$@P j (ePzv:Muti}dGH;SW=_Ԅcǹ8ٙ&&(%d%g?^eM3X>X &>VM<㥦cF^uu-D^ȧO\CͿvEț3AclAX畓mިkլ4oz &xO{:=wTqt <>.9l>J/e +nK} NaGٝwqtpbJ&fy_~Mse>l86xbLt†8}1JKؽjMS;On=N^E@/xAyPUplcMn2${cؠJU Q@ Ơ"_RP'~ .ȸ1e!pL.y',D(Pq Qt,uypq/2r/B"@FƸ4ZWׯ<Ϗ0BXYv_')Sd1 #F[|oVz9UP:bGAn ¢ƒ=@u܀:xWr7}$$v2I_<δӘ=N9Mπ#ʱ1_:\NEikov&O 4}r ` }lnu hXXA5~]WG+S+]wb'bʤ|&c\ L|+czˈϮ[Ϻ?WDf RXXHV0`(g⟝.0P "4utֹn^?_)e4?xBC46~֭[ 2ډ1w@,V.奋g!9r=e($D]7MS 8⸮x_my<<}pAܘH_oX@Fƨx߀/dc g[@8;_חAgg'm&WVUU.㆗)O:"  ߐ_sFͭj m d'p%NHuP|Ri#jk/ H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@+YZxPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxLMoU{$mR.@T"A,P$ĂBIJ ]bV"X!QI˪hhv3;9y_} "NU8~BDt6ݎdæӧNrB&"r:j7&e>J)Dk-}N{e{.I=sY3ck-;A8 pdxwZ!_z N+_~6X0FS DP[[lxz/NV=bFk29 B*8!7>-ac 0FF);R'4%}rIAXk֒)6uåm G F*qDZ%=6(}` M`"NyiFkea0H)&О!0|M\Z# 5N :]e<էIFpbH&᧟7hmnn4(hoɍ" ZeDQtm [[O>~eyy#uP[^}Axa48Bnkv07ϵ[/rp/P*8:je}nnnX,^Z@Wgd 0$ڒ2 2Ll0IENDB`JB[aW}g_Wl~<$2]GLϒ bG "IbX*QqD2"B)%d,>5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F IDATxLoTe}wL;fڦe,ADB]9@;IXqFw.R ihhRmCcK;mѡ{b>9GTU\w9H$ZJ2l;Q]yO{DTٹwW*++l65"X8(4]]]ө;3Uۨ*27W..T O1,Z@+Å2'dDZAD@QmojEbxU׫^-1ck0";r@XuJUMX#"xZC:b84gH>ߙc-;9:.P7w ٳ'KQg_> cӎ㍟xcxll8v +ϣt$rJɤ1ՠFdpT*kˇ^TRBX$Ǘ?m>gHڢS(t[[[Sc=zOR 0~ޡng3{>xBu%zuzkߜ9q8gN& #_"BbZqHl0 r dllvkUR).ݸRz?"-=  ţ+~6f>'ι'__:svH_?'8L~8ɡ0G|5w)"GFF>+ [F+C8d]JUdkq0)"";l.y q)ʅW/m&ݝq׾+:| mIENDB`ñ 7\r x [PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bb[ x PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME .!HIDAT8uo[U?l'cǩ6DHBG*Pu`P`$V`(ATB:~.qÐ|?G"4k^ p9MӇEDgi:f]=uJ)ln""arZ2].0 QJ "Xkw:*cci}cCk-[qx t|֊K7>;VZ1jϞP (d>~xz!}z2Fk6(J"r؋$N'cL15J#&z=rIqZ8[wm |!ϡpi::3C&7A(mPz?v̝:p֫Cd [6hњrYb.{wi$e9RrAljk}2Gk#.SSSd2pVхG̿nӕ'PJ&:ЌDgֳ:mJƛo| _~5 ͥKj1O-A#"*x'g-߬^!7c4DQD8"Hm}}g񾠏~5f=DQD^?y#I,o\jv\.7fJBчY̍cڒ23Lr^kYLzIENDB`K U=R4TF<<(ZC>ָ b+HT.kr]\7 8A@'$  pB.@`0뺴<ւc[ظiHdŲEJyŋlb:}lv5] B@ ?kg=˲R{T_L>+.ꍦ~okNʕwR7q"-$V XךMrŽb}|_X;w=ٱ1Zl߶-C;wj\]3'9·f9w}?{aʵ*udfۇ00\3/\e+LvPٷ~+d2fff(. `Eܶd*f2Y^H;@-Ƒرc,]v1qku][&y{db-73SVZ!r~4/EK .[/] nx'pEZ n(&{3.Z@@0P(zrR*l@ Dn"=oIv. [^- @\.:ɭ_:u=]-VT cFlIENDB`&" ==8]txZPNG  IHDRw=bKGD pHYs  tIME22IDATH}oT3ٳ׬?m JM&@"%Fr U޴RorҪzQ5iIbH (%䃀 f׻f93@p#^=9;3LLlk6Ohm6Aۖ!J >q 맾LCk>}B)R8>ODQ,zFkMRP(ho}eLM#̯yym?Hg hX(F"m@yMRhG{ n+Zc0`A !A(R,.p}|<׿e{իժh5 !bTX^46$p,fl߶c{oow0X]+)J4MTISxMMS)l*J-R4 Ѡju\7DP~gtԩwmL;pRFJ)m`!@Z`0Wc0Ơ 7D(J5J)H["D i |5â0h`1(h4 `d粳hòllBJR 6ڠFk>h5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxDOo[Ul'c;6R.B@H6J%, ]u@| v-R!'IB$s޽wX$1͙37^Zlψi-[g>O'XQ_[[GDIQ^Z0 Z~Fsg .촚OMYkiF=J4 c JǛK}NM~hcJ)(@9RbBmnn\:t.Wj>aFk28 APBDΞdqZ1QZ= 9$ T*x/Xb9u=zhch7#F#IRHj Camx!{mQ8Հ`XN`R:0ĽCzOe}ug^(4Ξ!,~= KĽCFGGr2;Q-t:nW̼R?VсXah$ٗfjMwk_ wՊyjuz=~ 毰6x酅~FQ}Z- ޢEgwث9z{{?t>3QësUQY˾2~Xi6>8]y˅BaY!ch:Z(ST!MꟻJD1`*˲ӷ.]#mZ{"Ҍ$C?}7ū t*IENDB`H {^z x PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<G "IbX*QqD2"B)%d,>5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F=;wXDADP =z2x =J4 c "[7뭩2X1FB)"wH64-}Ae}v6l`Fk2Ԗ ^H4'8a6ʥbZ1QZsxsjMRmX,`Zyx΢/ҒjDPTk*Eչx"I,A^h(j@s*%\^hM:-;Z[[Ё!Dz]F T_z֨`އ(K\ |FNI|syR/ٹ٫/<}Bs:;;)<]WHG3D˂{}gZ*8vщOy8-fLϣW[sV@ݍFY&1] ~;TM&!e^|_v}CIENDB`.yc 4_l!x!PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxDMh\eL&4if H;jqQ V;ѕ;-J$BђI6N27:s3M̽}q+tct:D$GTdJ^}px]U֭ٹVVW]Tk:9ZmZZ:;7mׅUyTY\\zr}@w&:z`ʝwRёkKkz@DPTIqytt ѓ{o `DvU*\!j6´ H) ưzWs4[MƞSp Z8[wt;HZ-)$Í2fC79slEMOOǟ/~X{(J4#|G&M_n8RǏCN `#Ʉo̽'"n ƙ:IENDB`x  ` x PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<&I>,}yI}>D #/&a&,)TLP2`|~|=˱mPl. A$T%"B O:Gn ID!>7ͮԭ@V0..º-c,λ#X7+n B// |lz- Ah7% O3Y]{R~(?ߧW-ӧG'T&4JZTXU"nI GVO@U"TG^R!Mz)\a*<nf{ghAFFB%i(kfT+ղRn[f0iQ,WVHzıqLgJ_ Tg|q~5;/|ꎿ/0zr)L-!-1-ϩ|tH*y;I=;Ik( 2,zK%:XU*`gJ\:,~* }D&JlLfQO`(n9^>b÷gP|0GoϢq9~? vW--?­o1Rp<*3:ӀyrS݃˩<xϼ]dd9@ D e͟+XvM&9<1U^TjNIFo`#XzJJ9}vs|j,2zn)E0k7󟾂K2Jzg9Q$tNXdx=:YSW䀖#ͩl_v%]@h]h?d1(/9ڿ_)W8v{m+?lJeٹs.b"J C K_G#gC(2DbsgWW(p?oY>UM7nį 2CQ | _SIEɔ7#oY7`8%ZƁ(nbPf(j0Zvp,eHbJ68,0?Tϧ|V׷oν|@on;T΅ί{O]$SAE&&^_M#$2ۊsI/?!y*evD\e$9`gm&λ0 =΢VM MHew*S8 NVY?ND}<~؇X52y( NĹpma*KkÿWU09F!vSJPH'0y|!uRO<4CMuQpXCdk8" I2jfNшb Nvc\d 4Zi_sp\0JFV:O_*Djbo\ɾ$<dȀ,ُ{#*9/($FΪWƶ+ŌFҷqΟ?h$, xE3sWA) 8YSzlnAA2,PJTaLZ`@IJ]$?JQ I2WL8"Ǹػ>Nd2lφ!PTlg-%D'_Ʋ^SJ> I| ~c3Ӯ+km$̘Loc%(5Ǣ {}&ѫ=SNݮsi:Csw("B@@@ J{v4Φ!|lQ+āLPLHQu߆c,5TS.+8X/;Se .#%Y͋O;~Nv9( Ԯ' m]&K60tN痊#̹ANIQ^X'v@'V19AV'a)7bMK!h񨀱SkFٰUm]zn/MDru>Ɋ jOg8~YI-Zs(#/?:1s^@tњ/i6q~L"7rH,z[Ń)1!)Fͨ38q2TGmp F3)XQoFO~|x`鶽8kx̽=#xIG낰D  㤱Graab5H&df`8A;͉$T IFY<#hxU6r iKiu 7>u5,)+\,duI"i;;}8u5!$s9D)G=xqq4aVx]BN:Ϩ.L$>ɏ1(3݄=LJ,~ٖ'rㆼf}7o;uC+|~">&xR;A5كmkCAx`Qq$x05|6#4 n`7O]OɚvL>eOGϐ#bUӜl8!:U "PrXߩ*/QP^rrhG |g`[{:p#RЄz~ob0 SjHݺ!iS 0W;;},~g㰚^~jx` E|LZmP5s^l[=!Y8 OaiS“/z~} .jY!H 1{9TY@l,\n Oj9ƽvf[̶n/ 1Ma~$AFae AFG `aB\Ԃz#{Jܝ̲.1FW? :G֐mK |}8b۴ǵؒdL΍HdUiWX~o(#S c)Y e 2&1hb53hwPKLtSk$QGXaCjSDD⧳x^z`e "7'V܂3Մ=&hZBǹ0zE/cv#K)#Qjz 9VKE&/V-e4VJﶶ PQHYMYQvOS}\=co`$%ݥ\8@P]em~4EDdn;)~Nphp|'ChIk9oY-mt7RSDy)~ǦwE"KŘ!>ӍF7QQ[uPi$2s+7L:{os.}BVl9,5'ba:_~Q'gt#^ f-Ż[V 8VCNrD_L/AxsNGF^xF=C]mH#/@>/d3UM1|8o2SYn䪫w * ex&vȏ-K>϶/{^- %:q 朑0LpavJA3?3%]w{&& ᰵaM YbHtTEi8DEuL-E05̒϶gE^ ĵ Odg^^J$褱-nO2Oax9+/1\M|똎TdK~ EjQ㶫0ɼŁ|`O;07EZ4O߉n|ZX]#({!|'[[Sħ5Ei믺 VQBߎs[#І7s'>,<3/4׫O_qj/BT;MbN,5ek`qQKNeި:tPD9 x)md'ʀEi^]JQon73wV[I+B˯gE6E B8Om]Y7;.'g&-&5w(VͦFu+,:mef"kc뢽[tڝZO~1[-}d?Sfo㢛wm >Nh]Qv䅛Y QzɌCw}^F6a˄f @aM6uK9uS|dp-9$ <68(Tmjyi>m+iC=34m*곰FuOmU^/p '^ tͦSw#Z B8V/Өa;e+uzR{W kbG6NݒF{h[:Dj-_<Ǟ9Wd / 7hql(L8WsT.YkOSSS>j@&؈§u5{ܟ] $*=mZ̅s&ow(-Owp:|qČ DI aKhU eՇ઴⨬:3 Q i0IC6RN~{I2(Bٴ.=EI7cM3n0"[Cė!Z@xOo\sE sV$lވ.¸nY #λINDFE6׷o ^Gl7*dIDOs;'('p^jj9*Z⑍"R|sUFFhw$QPK |Z]w`mӋܿ*2߯ }mZ6{IL#M6ޛ9InO!+\R*PvXFT(m݅"g1%3W9.NUUwϻՁQ,|k%M0:kگ?~Lv/d󗣹zמMx0,PZ#Wo'Co?HXI\>.w <j* 'K3Y}2ee>R '5hSvge_v IDATWo+g<^^ZŠct7SǠENuIKM֚ե:xcXUYm7DV7DZ$6.+=K=G#&%'5DxgDmM(˗fGH;"q86k@,yksDBr'eWЧoϽlͧ\{O=1I>ʻ`-5d?)WkZ+$ظ^ ~i ;eڏ)5ָ@@d2Eߗ] )$eh֛Zzlnrh[ ZB#\vOY$Ƹ7)O Rhmqy%^: Rmۙ^)0>6 CfFd(594ׇt(XC$sF c'I]]qڃ0qTVE`ّo&FkG5R7HK>@0 *7Ü%|LdG P[MӪFو_pц(fr-Lqbգ1/ cw,~eT3R'YHnWӍ-F֐3B A顮$?͸Ga.V?WxZ{Bt~4ԞT>_|9%gOc\^}lYrJf?Cr|Č m]Ǧui\AԍM6?Va.>N>|RPJGPl3bj>4ַ(=f+u7e]E*ưo WqvqA/{&Q#ߴ5k[9H~k w<|Afz~|縟y#⦡pO>ۋ!~e'<2FQBNe]z*[j5@ C)p6#/z$Hrk z[_ړg V桯0.MdUeϘZ/O\yPR#R$NfG$ B#g^B>g#+$ ~ü?w{>lNK. ;| fo|rYS5oy<}fXĬvAه.ʬ?<Ko$&Q껕0I@~(o&Һ$[p>ȒA'~l{ /ྗWrT{2 Hz.R4Q_-%$N/GwY>QTT$P>-ggz,3Moc{_$,c,zdFW7o)ho7䥹N+cΧQ JL{ \Oͤq?9;1eHͦ}r+(9aΈ#+15M㭿^>C Y4-{D 8ZϽ-_tN֖!#AkX[2uP*]Ѥ?x@m nR{0PfS\r#XF> DG5Z:W :sh,e?=j:b5NqE [qa5w`j#.3 DZK#%x_'y5۹ 2bL^My稩QLWlو}'!"Tߘv|~QwJF[M dӾ >?{ׅ!I"֜Lt30;sG.oI1#=*9BE~sGX}]QL`N}=;w#9>|z乳 SܴȾ{z, jWUsOsg7z^Uvczz,7>ޔx:e~4ZyNm|OoR/ Ι{'z=쉞`O'zt@HIENDB`ѻ eelaZ+XxX+ԉPNG  IHDRZ?]RbKGD pHYs  tIME etEXtCommentCreated with GIMPW IDATxw|Uܕ{or3o;q)jbZjժ:PZ'8Q{dܑ=G+ H|}3>*LO `O'zG=? @$&ItDٽ#7+;%XCV'K\"UL~<.%fY)LG@I"I@xDBDBr)2I)Y/r|f(AU 7$'^BIS9qe$UrN(\ L%Lf&W*rMlm\$KHRNj&Phr?KV!I*$R ±t B:|k6lFT,zjvQι(p_ݬ0j>-Zb~I]M&C%l :̄HwI͜o8,# Y_۱9`dR ·_{Ts. P%41ݿKol^(d(Y~LPSP3(؝xn[ f#S&b |b|xPNG  IHDRw=bKGD pHYs  tIME kKvIDATHjAE)"^|w{ L I0! bW3af3Y^_UWwUO-՛;;8S X!`B2f!sE﭂sJml 3Qy[v>0aK>鴹sf``,}issqTPT+i,lyk}}jm1"o` fEf+`*px\A$|vF}hui&''3azjz}2߅~8n=ВX|ե7:W@TQ02SFQut>L 0*aze9}7BAGVi8ZD >ma!L.{"/Q>!tPJElvÓz71~nF取Ito3R(sF/բX畽 LBO"4IQ׉K=]'7(ujL: L ,jlll -gDzmqq7^xoSJiuuW3\.ϾEN1=HtE,KIfߙX"Sc4;Jr81 ] ;m7WVXI؉{O SS$LOH$ r|WT8P-U{JBVw!9vzVXt͙S*AKgx 1W.FަB*D6F33314IR;r8d2NQjji0XquI[5ƨrW{1x/#=6I&PJai% !Dmi" e;W>nzwED!tӷ;W0Xc\:o31Ǝ\A]o*WvTSIENDB`b 6dp#x#PNG  IHDRw=IDATHoU?޳cJIJUҪrC(rÙw↸ 'AJ4m7"7q}3qFvV}}}bfcϿ4i4T50b8NQ*13(Pxzjn)YY$"YT,E%|w9B\򣧼wmV7Piso˲ȻFIJcܸ6ۋ  ÀnҥwƸ^l؏(2o  1cu}WB|='[{N/}RR9 pP~˔g7TUEP*z20뼳bbĖs\~(K#%GKsj޵jm(""XH/F!0 , g_|~i_13u}̲_}f>LLI/`mTIENDB`q ""[e:x7PNG  IHDRw=bKGD pHYs  tIME 1h+UIDATH핱K+Y3Ơ XDU  X(V"vBD,ӼBB6vYR]AcɬI&f2sgg<} 0;ss^o@Tj?45ybtt4;77 H$I]_ɲeY\%uW(4BtޙeYeYnjV5M5MӽpWWW( wwwE,ƒ$1/ɲ$IDQBm 3Rqz{{uFѕk2DQPױm;+h6xB@<gzzڏiJ%lFQ8DQ6]M6MuiZh9D1EAUU^^^0 ۶?T8Cksxt]zNR\.Ni6\^^299I,hP*xzzT*Q.jAVCu] %j4T**777`YۄaVVVH$y<( 躎8q4M* 2gggdY*leH&i666HRhP!e}4MTUUTUrjvwwY[[##[[[T*QUcea6f]?kkgfff۶@e8Ÿp||,$O2d}} xxLL&db!D6 4M#355եw댌;5,,,t%B۲yn)^Hէ۟+jTU= .W_B-~N+V0 IENDB`IDATHǭoLeǿw,55EL4%5YLro|W2}h/|;Mɤ=HYl[kA^K|1a+Ma\.'}'?4y~:ɦTη]O> oޛYT-7b?zs:( BOў7h{'OZIBQgGĵ& Ib-2@-jfA(MUpHeG/q:͸r2B;%Ⓧb|PnO=Լ X";(拐Zƈy`^9wSEcAz/aze> B2LbP$m0W 5-Tk׈е+w$s*{7 +Ŵv\-j݂@"Y @H2w֥7 T.r@5 `=u#_DsT#IENDB` ll#gJxPNG  IHDRw=IDATHUMO@}NZޑ8?Gqo^8^Ďm) I&k{Hk9YyofQ"qeesa" c alnn~a9S^^^57(IR~`ppu:!o+XSSsR++-!! ]S,m| PWWך0PEE3(0:: }} 9-B3,@O瓩ee !Ii>98wPS_Bp)kEvVUzh01MMEAV_RJ?\&ie ȫM7ߊY.hLҨZR[Ar} {*a`cL8Ueeeև^Ai)T٭99EnW,!$V mPjbE]U*YsVI3!nf P=waH՞fCA^e1G9-˰Bh>k%; i[DA<Yz|C!Fį,BVM+!q>==pKެ(J^A_f(pb4Fxw$|D1.KRxsff t㸡֮4 `*ҭ$cSZ1V1cB1n(`5pIENDB`<`#"$" A !R%X2$܇%5eavk;~* ""rZRݴgvS3U $@%5*{y3_ܩ`m40s X􇸘cr7.=LCc/ J|[dMB^ztdm:Lsj⮇" VP:X΃%FPx;|hjZbgZQr\V|F__v2gQrU]fjs㈬2Kepq!) NL1|mP.=s/&و6׿O2{fg-"Zu|L SL/vvtBwkj8Z&hz ̩c{j[m ȹWhO8B 8soO R 5uuc,szث_eO@ ϲXc_:m cu ZK ;=W "c(GǶS,9y$=C?y.܌SZ6x=+¿Bd,Se*JhQJfqO|IENDB`wI? i*xPNG  IHDRw=bKGD pHYs  tIME "|nIDATHu[o\W={1;N☤iRIRHi1jIUMR EH AETq$$TB*mZT$j$PUIcrt{\'!>͌3{^%\>H5yf7&m ZirpPhV(@)@K{ 7k%93kalQ1\4" kEXFHsXop$ThIrtۓW94!IMҐh܍XFh:=cf}1[HѓN֮f 9no\"xnum j\Y|Y,D 4MoLdq*k[<8H6׀Y F_c-Z*EJ׋^ @̉әRp BjP?Wъ+79(gh-+ԕ ځ5`("& ﮏ*9NUP,zkA7,mp zHDdj(UXrX`k`/ c cd,oHiLyo'& 2+-ܘ\f-b4&#!ֆX 16H ?,F0F }uZDaHP{qfr̈́Jds&Qlk'["K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 0QOhIDATHoLU?<}>.`ԋJ ekj-67ڲzV2fEٜ8+f/h҈"L( \+\yӋ+ ֦]W9hll콓⁜;<mgg/PD.  )T)BhR3G/6Q ' E2@J H!4)-gaLB3$qAzU*W̉$P(%R)J4bbaY 皋H%Pn5D4T )@+%#YJ@J}J: t \Kwb%tLᢄFIf^EDoLUkeu ӵ/;(Qp'kAMMf0>}P$55AU.vM_-PjnM{ ̠kemǽE͇i ēOpK@@_)y6fI6G8O ˀAbSvNݞOS?&|>q;JyyVqjUUU /xɷj~]Oe$Yan"IENDB` zjxxPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQD磢zf:QgVd:㫴=o%E: Y_ X:R78kqc|R4pߚ3X2 AߊMA cJk_II ΅V=Â6l.ބ:TWn>Z=!;n TxqN%N֖UKTbG?5@}eaƞm }0UMd 3$< 'L@Vn G9kwo"^""toCd^Z45=p_H貨ddC# J@R2FNȰ&P(&s_@9l)z%XG<@? > oz+7^;|b#$H"x4= ®o_~LDA—|))!PHA^k;i஻;=0z0/s=shvN~jɓ'֘j@KZ=;^hu̬i 7U7J>|!~is۽s9Bۂ^+zbAnnV7g~wd[+Wa_`)ڷbLavTp8v~gfp G|p 6L &y/NTpγT|;!VQ$uZԌ"UpR]u[XE%,QŐܮ@bD ۯsdLE$kDAD1#S0ƠN!1 1xhkk, 9ɼnTSTQS<J5/^YrߞKS'^zyTbԸs8v3t8.rdyѹfO'& < #i'G71pfdaxLٵ,#wGI\4jj~Jb1pq~oBny.=>`X abn!c%CH $NJz^q3OQnzDLa_3L2NQdBU6di-Ͷ_#Pchh<`.q"uUpu6C; ^Z*חK; 1BpvujX.W 7b8ST[|[|]>Ģo02sLyL bȬ*3dzx` hzި -,a2( z35*5ͦHbZC՗H*Luo53-Ws]OڍuTk[u ~4*4ҁ&W󅙫}Rʶ橬Ȉ B*($kXsuWQQib~(1@qxTJ=n\PS:mNiM`p^Tչ <@￵r" !<@?pϦmmmr#e`Dr gFvw;;˳ G__@~(B\GrE(.7h%jkk"NY0z_IENDB`AC03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FbIDATxڤMlTU3SJA,DS] LH`EbX Ą(& bI I@ɂ%-RKi鴝vf|.LiJ==7y~?‹~.Ο_<pJ1foo߹%]SSbLr6W`̈9՜8+o߱C&FFU1Xc0!,qUaYw G묿󸈤\Ȼ_)a91-]0Ƙs\_cgXcxYTBaT%CjZZZ[kldMTJU[pc8F*1Z,"`-QP"2<8 av0@&7ozF*(B ({U{Б͒1%kX57#P σ*fE‰ K[ұa&T5c*4\C /_B'Os9:;IyN"A.,YB<`4 ɬ\I/0D}L{;7n?|O8:>D#Iմ-GH΃]AUT~tdž!ikI-]-z{)ߺIjzszY-ǓMT%YgIi&?yl ("|ɻw۲8|' !DE?N = @}hڴ#G"Fs9L`9k+RmmhDMF墋'Q^'xq#˗۶|*p3J_Ej=x|ӞҞ󈵸J짟P1R55;j'!`WWzKo'lY0n-_͍ ^P<%.F. ,UG4>Jbg2D$ Z?G=y&IENDB`@v Zn8GxGPNG  IHDRĴl; pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڌ[h\U}.9s2m&3& U4Cjmˠް4mE>j }QA R!4ڛоLIDmSM&dsC4a^ouT3 >}3p4>[,οx~T'>LO4+]*ֽz6x^-CD֯vd"dfly]Sk> o}UC;;}vcQG^>-/{Ol5uӪ-humө 򭟢S_(l"?9)7 ?۹bSXT*Yׁ2@thճx]`l:L#D <\RRjbCjfZX.ޝ:|O[nп.H8)q3|8|oYDkG x7=ұ^T br"Mx[;HǪ%o BƁdڗbq~-Wkw [?Rk拐)dkC.-5KcZݑsٶwwF[)Vzi_;{F*VLΎ&һ.? {A祏sS9'G(_ D?g&u) SWgW~2yX5nPbUMs']?Uo;H,J^]-FIENDB`~ + ;[p: HxH PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##2oh x `PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME/3ڷ*zIDAT8˕]Ha|72Z"Z ¨ @΋.*"¬.*ꪛ* KT$,3ŨpNݦmۅ(*-9?s37kň.KhsGp]yb.FFu\i:En>'>h8Qu6=1vpPt,7\HN"%I+ͳUVJ$90A˗ax+Q}ZGPptoaơ2PAT@JACCX g^?1*mʌFB~)Pt m"O&g*b-/rtz7'vQD œ FÛ@/+F$Qtw~VkL{ @81Ok_-+wtp־vWlVA@N|_jb /زV(`f4@(v+>2+)VWXYд"H oULn`MEsq{6Kђ@'%Ä8O!:Z{}STx#GP FޖnyNZ{D2t.3l/VsnFIENDB`̖]ϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME/*IDAT8˕]HT w&IfƦܘt6 >H{zb-vYb6H, ǂLÏ)uqt;ssd 9j{~='g߷8Vٛcyb[UmkT,/uЙWį *?flo"sc~)~'[$k_^G}+G²BgJ>d$AB|F>ź7J׊:0<68LYS!5(͝w % ۂ"F]ꌟhc8␌CZ%U:ioCWJn)^bs/t+H2h&2,wv& ]m^>d d0D H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##x5qn x ]PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIMEWюIDAT8˕OHTQ7ofSGLLK B3^ nkdI;-**4WAV-, A(JQI I0K 'QgFg͛y3^PI{9DUi1Jppfkn8o9n3ZJkdǥbQѶ'nNt'A9=""RV{!kpPB2)E̕QE9`@sUW|!cYjNg 2!\Ixq,TmC5HD`@L  7-yYQt[jUe@__eP["FFͷwH89lAJ{PXVAW{HmnG&-׻f\DK ~V,G 胈sqkӑM͇D6rPpA3 h08~ޒ;Vb`aICY؀.n@ikOӕeY9@k5g6 {FELvsYQEЂi2//Ψ)Oc7&% 䠢(ȲLE")@f<̤A_Ӯ=@jQ2@3ubk'y@}uIENDB`O%^U{u8~f9=.9FwlN\iSvlKv. ˋ+b]2L KKhGhu@Hpc:JsU>ǗX~`X" (;Hy=sm<'_ MK`4:SV>V\aYjѦX=X$Qcҏm8?P*8Θ>dq~bbr +ӿyT0 ^t q?#1Q)ܲ8S8/OȽ?~?WL XZsߩx%^IK}ZK:$/MpřUC8mjBqj1P4KG(rq*Gc<'O{g ^ԩS8t=[1AN=Cɏyn棝w&P7xo.^)"3zmpIvw;ĝ Bv J c >~l#r>s_;Hqϵ׷h|*I=A Rȕ<nqxs E,Y4"9"6o=zap8' ՘G)t; ĦH0㈭tڻ4M-/pkAH/1c*nRDYr}bG;\C*MD1xPA])B &J)zo *(KLOϐ Il6 BBHmI5bjnb-G4 JɠF' g`&b|@`p0@뜙Y*q)odٺLy=DX'uV2j_#Klv8vk̭>ydb<1(WP(ؼWvv?q/NĄ! Y}@wq#pv A^B1=}n{SOT+`JfIRິZ-~?o0'l-R"p\<υ1,8ql)s`po7lAuZSܵzZ—4|h4q~ _OȻtmS,/bs/L'b4j߱׮mٯ{jz&`2Iyc0h4ZqHС%2s{1f%/(zn`=OOJmWfkhݝ5sʛzM0x< Cywfv%u /̳p`Z"3- wSOmڈزuscruJL̙ ´w~ٽcsovc$1Ln\1믽T~zJӱe L)^>|D" "\'_Sjs[;;ʥ:ǶAt(Ub%r0Aay<\8R\buth"2m+x7IS`tQ٥rQ#t 2reqFx%$a NN j5V޳:33W#%Bkomm9hر,+-;t7,+Z #%2S){TtD 눒o6"()px'R84])'r!cٖB$/n}Ӳ JliLD^3ͲqD V)٩S Ԡ)H#kN_2 `Av00 $I)ڵ^ǡ*S(ܪIENDB` ^^s* x PNG  IHDR szz pHYs.#.#x?v cHRMz%u0`:o_F IDATxt[]Yk~33cǎ[4D\HVQE AxI*"<!Aj!EIJĹ؍cg친9r^{xZa˷[W_/c Buw@H)<ϵR*Y9oϜ9<+W68v!rr=8'0 4LzȤMعF&MV)8~>k<R ՒӟHsL |?.pߟ'LOeT <կXghLQ ?GL6$b@H@8vB#<8c|K?9<g?{$ǨtBgc4!RF)?(Z 2K:Ò9V |DbabκixE|˲nt?~&F!qa#L"}]@%wn/ v͢2U K@ݵX혩 ꅐc0P*61=RgX:D?.jNbz0"E3R*0Rn0ZS$8bXobimrm;JIRy~3dҧVV>/<|O_%jw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڤϋU?YAC"ūE[<`HAAAν=_[j{gj̫Fէ+_~t(˲(GQ{Oá5ig_C@zw;wNuW^[^]%F3MaFTm#N+RV3>ϯxWpBD‘6돛;ǎl0wfMɳO?si{;`TyR&*jUQs Z|P Dڎ{<7HP5)gq9c\LÖYTn"Uݰ?7.LQ,Rd&Pj}JҲ1'eדL1#&1,:̃uoޙsG;f6ߧO[*@(]7xIY=3u=]9f6'83qwg:dKom:#*MvdA;s{/p^e2dZ\xu]wd xBK>Pԡb2zHx kBdϟjj.jJT(hGA{S3vvs;sEX%ݸk.!z :8a@GtRhhY}Dl@拤JjV{ H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(h7s-7lm2e:.&3\d/i5D Es}9"yg=0831c ZH)SCвy1455)d[R Cx>j7H)I<`nNm_Caa!fhS1r:簄 5=36:ʎv0v2pmtvvRSSDsl71"IJKK ˟Eѣ]]M^^RJ$r?~z~xDwj~tcv6a£tttаغi+===ϛ R|ϗ.|e%[ 5Zn)$uPJc $cƐ?>F!.)!\L,X ׮yFz.R] 48 E\)/@# feSz/\䵍{"U+8 aI~!_f!mdD7%,n a eHXYz=]VXƝ$V>ND JJ;VU\Mbc+J,ǓܙDzbFS"AYY:Y 8R0'[&q H._ .*֮I%=|^,)ܼ h+Ь`b.Ϯ&_$),|>龘/cs[twtI9l[p,C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6i ܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATx4[h[ewnɭ=INڠIVtV\k+st֮"XPQT7߄ CPX 7C\Qk:[R99ߏϿC(Pٽ(M1 a1t:8@ 9[woVK"JB]>ņ8ɠeZ} FKgDBkחwGO|x۶ c puNN_~Ź'`Ox8 fkR5NyM|bz'fbG15ykSKK%/El:1cyBCoPg.ixg,_x#܍AEtţJ۠'a>RJąn%rv^d#>%9*&((.}ZbH];͎f# -Zn s+kn<xER= /j \O6w0J):I%Ǩk>^xjn_ⳕ@V"….h``rYժ,Xvg{!ؖcUыTք,!J2DQNsQњͨ4g]YaSJT(FtF"$PS(J~!OtAC7ѕzWK.b1weUz;xY)\BdFUC6+twZͨH+]fh&d9aF@!% wh4`b\Y0Dl-'xQ@ IF@6RoQ݄$,kʑȫZC$UfkG7aIENDB`f XXv.x}PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq* RKk%[H<;\0 imi!`Z|Ƿ}$ź"25UAXs8~Z5LUhjj_d޿*kXR(J!R*TƅGPZ#c$e )7 a$|c͚Nrb,s$I8wb44D 02vFF0rJݫTyjĵ Z24I' }==#"29?njƆ.G'~_JtUR&R2I'a/~S*or.^mۨjLOOӱAj@02vKH_=zcẤщړRnLTDV0xAnO Hw޹CL,[bihhhٱZ??|S2ɧRYnqLoll/ \dE{;!1cô-YR{jww.`pH غeL f|rrwu>ԙG?vMM-}}{U7 B1OezbyԷZ(;SU%#VtR.Q*/_EIENDB`5E $nx`[x[PNG  IHDRw="IDATHA0 DǦH\ˆ=ʆojϞؤR/QX+eY`gffcD4a۶zPU`*RJPU*q|YCc|s=G @Dι[.̥aqfvsP>5,[tL._/R1ndlK(ǣb GĚ>gSZP:f^9W˴J-Qn=-QMˀZmB /*!zذÇ;RsɯU4S?IENDB`OLQw&xAPNG  IHDRw=IDATH[pgaɁUb#ˆ  F#3\0w EZ(;)1 RbEvHhKMN^yoךw}bٲ7I|3]nhÆG8KI{{KWJW}2NO)7\{̯'t){%:O\m5Lh_T (N]<EF{.֢R¶,@{c N @`k->XPJcEXc,8 v.``%Iy;RcXkf1ĊD ~*#dPJqT_JPB@ XIAEЧS&mbc;a:7.؜}k}ŽgW&i:Fsv*(>$}c֭dH+|(DQtP(-so.xܫ+dHcGem@fgg&4riH!j.DP?'i`=@KP@"bnfJ֨xmB xi} XhjuëEQ@UAw/^x9InSof}eSyV *}$:R*E@P.GFF"}ie)Bumz5O 6J9 OkҩScJi*I(BEbXLmE`of{t{yZf8BG@M̊s qoFdJh u/,rTz ij~]s 8tn\^ݒw4( |}OJUsyfο=wss ܽ4~s҉jO. Z$]^+W~trr??IENDB`_ąk!j& FшBK@ko̽縘~/'s{s3FU?׉ |n 1וۍg YWnm)tٖ߱={kw{(Φնj)s0x7"c{|w[{,9NJ0\4R(uVamcgqvqYWcCpjSH:eE:Q+:oqQET"41#M:>Q4[%XZ"^R SHDJ*q,.n^D*6* V6U)/YDv :WwnR%*H]kk[,9g@ * 5L*%N74a R,H&BWj(rtr9nA,B30 c4̓64&[9dZ'$Y%e7:yk8puQ5-wq8:}+ ui'ufrt21c*||ϣ#o KPQS[_/tss<ٷ%4Vo" &y Ҟ܉ < g I]'nEʙ#kRQxc [ nP=e?#"0LH3+sQEtȺ,0.iC :ݽM~gWs<C&l@8\j~riEmYR-Is}3N}e|׹t|켿p7} W.*9Rn߾1:OPR[I~^9kraSt?*$ԀȂhbbraF6.Lp  ]{>x5PNG  IHDRw=IDATHˋUqB"@ >0Wwʽ wnD\ хd#$Wɀ&F2t=yNDnzݯ9{Y==r)ec<9}˭ȉ?>qcGyzƥK/G67`dRK-M5)Tc_NAQ#HyDf- D@)ned̰E 7_dAL  H8=j)/S5PEH3bk@7l@Dj@R/2ww6Ͽ WO2T{|ч4_˥b0od{3m!RB$ ḳ{r9j693;,2 Z\@07hPZhL0-P`;׸rU6&*6']!ң䜹~:_~-hJ5,ՀAiyDKM|2ɧUmY=uj${*BhQAUDhF "Գ--3Wk0/p)nG0ͨz0`PJ M,TΙ(׾-D tR mRJ!"ږѶ"Wf+w_ "E̓)mҶ*RP-AXģ=ϹGߪt/\xkx4f<lF G g666L6GmۜN|䩜DzȐT"ǼwVEfvik_v9#)LEd l h#xTU=028͛{A$! a-ATԚ@! !xf$ ׹$"aɠ @@+sM9{vZc]eJQ((`ڕ0li;s淬!:mm*gŅim`2uB>91(kJzՎ; (kj4H\oC 4Ǿdn|+ilvT9G-.FIX,C{|i8~ًP(8kEC$M\.sv9hJ[ҋyak>Di1Y s2(J(*gR}{xrijSCΝgGJ*`Y T %<믽_8qff.R,QX^^&M14 #"{bs9}کSJeHxISo94ͦ?bc_Jō ֛LNLp1:;;iii{%O%$!MS4%I"fݵJ֮CLNNǘRhD $IB ϒ(99>>p}Tj59Z6''P|.O>[wcX|zYbT5}{}Z'|Zvt[R9[m:c5&kLj&gϞ+fWNTUUM<LMo_1 cLS@pMUmc_/X[c^ܾKQ S: wp]!i2)6߸@pIENDB`77e hh(~T x sb``p  $?ORAN ɼrؒ]fHopxD30p 0#ì9@AO_W[윒VW_O IF808&(gd({7U{8X~;4o1淇pz㴝w~~-u})-)iy?$]=*_Pps)-:w{Ek +SkCe(wU{G/_"!3vlT)qmWmV@g0xsJhit]8}r!$x$!މPNG  IHDRXbKGD pHYs  tIME") IDATx}ɒ,Gv9cM^M )B&d&fZZ;-RЂ qA62ӎb4,dֲ)݀0PUeF"&9ބǬ|uBP( BP>,X8ˣ/Mҳso Dl^?!l}!2x?km=.h^G^#~->߿WI\=P| xPNG  IHDRw=IDATHO]U}Ki/[-UJԑ)5?9hu`H8G^6O s^{98R=:YZۨ*==K۶Nc (XX|c̊U ?T6Oyͳo_];T.[(YǞ}Ǚ B(Eb!F%#~-{ 4%>Y` p5 B])^`˶JE@^'` ["-q;o>{B|0Sq07 L=6O~Y_#J٤FE/{ Q{ R0Wˍ<>:mw_3\=^N @`S#sYB⅙;T7E ϑ5Ddؑ5yG,/?/6c89Bohr ۇY䀅KavחG kt<f+iAC(ABrDeۧzE 8#@7FjH& cX" bs z-s`x~or 0 NK0 D+.lz/sO4yc!θ!U`O=" 6ɩ}r5 a@&~Z8b˘͂E2/i~R%k'GL6IU ulۇgGh5NO@XGp<.ooH~6͐P4]@y)JdBteb[ǫD/fe:X 24 =W+޽p?{ݧg` A$q~ e-870lNv51pw]--ROQ[xpAO?_~>GVᛪZ }]`ס21$"p;ѓ%NZ"BnZG<9^3o[/6ÃΛ Yդ 'o?_S\RyAbnr7d vq ,9Oﬥ DCSRYMHE^4vL~._~W' ՛!RI˓yђOS1"0+k I®bnVbk./Ƹh&fg>`%+&"|{m޿ه:K\^%r) z a= >#MY/ƛ[<6IsR A682k?LSb[A*7ֿ{?\$'`q2z0˵V4F1'H2t1W˘:uGITGzI~]c}x"csK.Uҭb5JRF|} _ZԆ>!K`Y?kI.J9 i"!֧K,6 4rg -llR8cK-iAl8M.kYtӰÅ]wE= z G1Dr\mzX(}vigEDYoVswrtʹ {I $Xb u C|73%=%GK.\s U^ύWX7XX\3~BZ$&m׍u!b2W-b/_O"BPۧjdd@XvI@h`u="#n<!As 2Yj |S\ƖNnq1U.+"1ǏN!tS.^'!XwLh.RW3Q|}jE Rea N H!)C\,i x'HDbј(oxg y &Rhz/`ySXӴzgd`g{H걿X)9^Xd8A.)>O.X A|~?EAϗ RYu4 ld`lvm^wPdX99?a ZH*HI.21wE;Xs,ҽF@t VOjRzy A`WR5JDz< Wf u);)}jRmt 3?6" 92!yyOH ڵAz)F˵O#uGM0b`\$;utSHŃ i2{2ƋC''z35n5F_8 u~KﰻN&(НGOɬN7~LpX-  -[@KAjQDKx+$܆ߠ+;ݒ+HBb*;OMAbSnt۴Vuf5H1Ac}r?fxA3"'<oۮם4Q(fOdBbAڮH}Q(Oa㦮ٜ~+ӓD1$#|R6w)Cb}6P̅ d6Kt0-H| I69)HQ雓ӲXYM>n{o(H%$b !٦T13IWa 5Q̋ R )љ @RO.bF" ѿ+U>/"I OB Y) kADDg " )JRjҜ ( <h]lm& >W@;*fDLA|ڵx a Ҵ"2D1~0ۂ(-& LJsO$it cZ%i%yI.VIED$)pfI}DqT,R .jz_ Yb 8rIZIxDڮ9ڨt:9{^2ڑFuLI%c^kH6/[]i[{+#Y![6)ĭt#a#`bUyo\+pG,Ù4o ݃v%)om&:$gc`c,lMʤ>)ѽ T(f8@t8W3JqljlOuy\-K:VDUͧ:v),fC:"a} ><^aOEb[?Qr'5y{_PtM4,wCp3fu]βrK})7=>ŷv3og\lN#7[YRWEʶUn|eOW^ hCľ)o¢_Ƥk#dT!|B>=Go /\l:=V RUnA ,ON؜0^ <%HMb\Z囘^js~e 5 c ްo16HVWI(0+9u ƺݫ =k0UyWE?tTz]@W^WٸXla-M(+Oc^~Y2I&YyZy ,-`ⶉH^LU*FY6i kKyEU˷*uB-oWHPQDEʢM?R/ePIEu+SN(f izpC18GIA+4ͫ@-=A7mZXP@@ZxV7RnQ$Q&z˙du mHZ9Irt<0ߖE* f '7Б$"htD$w3r ȍkUA3eit"R(AFz4ZM*fb&}` `bUJui^Ō`YI.VX1ۇ+s|i7Ab,V1כQ ² 4a\"E;ӢDb617P v $] e&RLt|@Aw6a DSH})bki5#2Rk'p$`QCtŜ!AGLI@D1G yhESlȐhN]3b~൚W13">1qQJ(CAցx]Q"Œ2eLA4Q9)&AC17LV.IWSAB ?=j^%b`QP!7QiDITE>T;7ܠԤPퟣ%I,Ou&1b1 7q#RkŜBk9WXջ[q;_ 7[QH4?Je5t)3hVNd +])}oz#1aҺmSJ%$A )kĨ,>Cb(& eho ~8C2Rà/5KrܱP:y#ӿ%AUif )Dp5/Š=.O"9rP {Eu,LPLv4G\Tx̴C V Hj  '=])@2xL{dU`]ph{=";J Lþ );e*HqEUGki_*'4,A K.: bN ;JT`)^eݤ;cZu)R~\M}gug(~wGfXX`2t0hW'eL|R’߹Ҍ@Pk[(r{=v|{:SOX%HaƢ0&0O:B\ؖ8(c TVJ/K[I*RSXSR3UM@K7 GD)7Ɣ*W/-<[1ù f Xٷdl;2zue띃zɅ] mY7肩VdZH$CB {Sԓ|՜={_%U&To2v $Pj:b`LWIjsDѳˬzdć+q?M(In*f4.NW|ӃhAғ#Y XG rV][NDGŜ]B9h&YM Ũӱbg 1QRUv4^Q^P+HoCK"UcJ9.g{,e<؀ɀaUeGtr#:-GW2M~Vb"i"f0d@F ӛx(^D&$!,H&]46sHd9܊;hf>4=A0~޼u wAFCf˚NK;fATR(3*5yՋWWo:24c;K7zw ꡸q$(9w mRKK1h P,`[;*BˑC],XS{b!@QP(SbY%BcCI;nցA y>J38,Cqȡռ E5YA E`PcŝQ(tD Pr }Y,ytŝ" KNަPF?z]' ZkwE "ۣ,QQ6r5mݏr0;•Dռ@ IP9Hϕ){ "$R"[{ B"1 %PQ)LVX$!yX$ z C "*b-%˘Y QI#ם$zRӼyJ'D1{7rM's'"ZjM}b]ؒYE? "{Gui^GH6AbUYN'>H:P>tB ž hIDAT-~ gW"k d"ԃW{ _ |/?3v~}ws>?W'ݿO:S>]"V,-q) ۢP(&![IENDB`PU @@=~xUPNG  IHDRw=qIDATHϋUǿGK6f""9IAaeY  Bt%^QP$bDDC0Qv]q6q~<0;;LQ]>G[{ɓO \ADz"ebX$/DyqJ >;v"8s恿_W}Q,>>}VI7n|xރ~|t4tNܭ8Bnl?^>A;UcVj _]T~"ok7YqP9sf*eQFѷ,̤ ٹ(ѤYasZ5grxUP3|D~8C|k\y0PrFx0*"ªH}*B5tEiEOD`Edk'Xl-$|.~Q`? WWW/.677H]充 J4]3@Ǜ7(zSUSVk-U5c~Gyz 1:*A|yC-xl4pt97G$oE"PNS28c U`ʘ2D1kC@6Eba`U~|OvrD3ph΄jL&"PDsg*rp~ni4I`i?rBtyC٤ 4y=n4V8bV7[B& %`h͝,:8'RP{$^`KcU2OƘSBr19cP*^+ Ext~~|׫}an B /=2IENDB`;`J(IDAT8͓]lSuƟ9sڞ~Ӯk0brЄ bf q1J4b%#I;1u]ڱ ''yrCTOJ _J:]He.M!Tr'}a_o6djZ#pq ɣDriN}|CڞcYEZ R9 ]#'DVxHp? 9/6:thq(f>\Pm>D"u` Sd72{GGޮg850p3 ab̻-O*p}/.)I_=}sM~?Tam`{]dN^RJޏ 6WyhmP Y)0quR"!clI7o9<W@~gp &Y`Ѭ(ϰ,ZY+'v5m c1h2D;m 4j F;ܡq<cvvdLǏ)L=OUln,v ߻n LZ3QQApm]<27bߐ`9O#+(VpIBw۠sܿgtoocݱsh^ C"D9WMޞ̝>z"t,5=B}C YN(dfear:`eCjƃ]Ywʼl%7m Sד,M ?ǭO4j+f\ any;uv>twE7~Xs/y+GJW^h-}lfEuS*f!.J(~X%Pl//~.;2hxPNG  IHDR bKGD pHYs  tIME +.Zuw֙qfsad'~O98 ե%ho_|O{{W.0gF=' GRA)4BRsR8X8;f 45Q_4h)B"RlCIY\WlѨOꐿ14-%i-40wPm[(eaM²X %T|Kc.G4SrB(ĉjcb` 4hM;ŞܨiCACEcf\?HDD@4"jh $9'=hn:%8R 4:ls&풪qLsCZWdˏm}Y S3] rerd75f&Zj(]D1GZkt`N2)̭[N>@+ɤGrYJb1^ᇭ[9S^M qTcAu}s>Jbf+E&Y'x(B1}:S&+83W#lk;!TQNdD",eB 8r9:;;qMIVa~>Å޷z:fZLDkM\}|G;Ϙy6n|2W0UnbFj6;P!p(%(.qX[C+N5`#<£b+%ɖ!ij>s|)`(]6ͼɺ ֎pl9Lofe |h.ܖ!R +y(tn.Ҋzd3>x&n+xal%oqye{_wY'z{{y- ~`/[#&;rl\x˫? /[<-Z+aZ6 &3s(;2j„VhIENDB`X 1fxPNG  IHDRw=bKGD pHYs  tIME 7 G*rIDATHU]HSa~al;;ڦGfsE ] !(Q.v;)Ќ ~̛ %".2b*nja -vs6ξJŸ.|{{A0<uRLftm/rqؼ׭ҙ&&s}!;oOOh4,ᑄu("ci g/։kϑJ}wg?`dY{Qʢg 6mBkͦ= dI7iM+Ǚ_Vbƭ^B^-߱\9;'OsגdjmlhO&[rɧ}&b.}0-vSPYfp͍ϟ5&9o|J䁄_YE^2)^p5V1a3.n$E'ba.PqG-k7 Ҿ|yo31-~jQ1J]v˖mN<剛N來29?sR6+ޜ,TW'*,~dz[>f8r>N./+wƮ^~!u٬㢸0-87Ff7^͜3ŵ~}=96UÝ83o7>nqu[;tqq梸pP%aj7g+恡{vܑjxB(3`2t Ksu,K_,+Z^ +cN'c:DJF#HӔx-Ou_S+W mذe)D n1u O[YWRJtwgZ+ΤҾ!kɩsIiej.Kl֊ Zᶚ8GuX*U*n5ulhoIENDB`m_ 66>xTPNG  IHDRw=bKGD pHYs.#.#x?vtIME  !ȴL8IDATHUe@73}nwRj[imI`UB01&0&QQH !F&P4 Эm}{}̝$D?pr~8Ͻq5V!Rk!R t"Сq(t$  LŚ "cmW/Mx[{ %-W d/ I/r ߠ٨3|?_!Ja ؀)sSF5aB5'[Dnjg٣_\8J6( ʐٰ|[2LAH) F,#4f5Y8k>֬4B4R!QQ*&_AJGH-|_H%4+H/1AjR!9N]*7 H"bZ`y'1 h e%vz=:zUm~ Z|ho!!€V veƘ&A[Ȕ2HGJ2mXPtu4-t֚ǎj M!K҂DV# A4Q22X,[A 7\^8F"gr6t|WhC!W--0ؕ'o zؙ2ԷсNRzzx_Pvk7fdtCm:3g. PP4߲nۃ89*<[ X8w|{<5!x<زeV ^.+RDQ(\D*Rp:^6FcIe; v*+_(q= i ,ƭV\*! @ x PNG  IHDRw=bKGD pHYs  tIME 8 nIDATHU]HSa~ώvs[.("#ZL( !ћ.]$!UKAX D&dӛ( E9wv"qNo"|/}حJ ]]]Sd2=\%8&ZZZڿsd Bn{ezz<ϹḨSFJ`3a`nnV"Pu- z6If~!yB9 \.wW_Y-;P ˭lh  *hpp0zvLF'h4`0aR)NUՒF}]z#, V+'I!0L`Yattey+SH<((uR 4 ؒwV^i"#&3M2^P1l_+zӨL%N|2 16]63UPat:կIT&*]yW" mScs Jkm2 YEnA,WZ$~%""bPτ+IU2Vc ZO@_\/Nh`-YbʕQ7f?*YRN Y>ܽYOAD1 g_Wڕ()w?}Lެ+i0E3Ik{'ËRJa*f ;tTfG3~f5{Bo+8msf^J`ht6΍;Sú=?za1o?0$"cLw=ɈUJrI~m[w~iO~w~%z""QJ@؃`b&"U sj'-'*tIENDB`˯@ pdx"PNG  IHDRo pHYs  tIME  #O41|IDAT8=KoYSꛯ#ac!240 $4Â#! H؂ Q2d8'nw{uUzR=z~hO28C@D@@L\tEWc+un0dD$y/LNl0HĤ@T;'_~C[ /K;Y1|(W.t]\2$/)g8Im,'രr|v3 KSGk RP( $"OHɲ SGFãA eZ+d8!2+{DKpI}J&1=OuREМ,R{Cu\,##{^F7*hsfױI/)S0TN"?ѓZ9R r(L0JG)yll-rev5AΌ}jrt0c6F#!>fs!eJbMr *2 '/8=U*aʡ)?0ݹPgk#4l4ZGb Q({2vw;R lȱL s;W:@)x>:3\)S s0ZQ 2^Oޖ9R4#*](koM·w(r csT[dasYHl^ff˻wlD3,cc/3P*"^09[ZEfw?WޤPڠ ghx~xri֟gF9<6$EV3֠g{oU.%" -Vwx泜9n.A)aIi݄a_:}W95HE޿{fo_+#"8ݟ} k%p)l9񝳿+|/~E]{c*Gs9JzRXLpI埙W':`,4uIENDB`o<' :::xxXPNG  IHDRw=bKGD pHYs  tIME +: 4IDATHuoge{f*(("|tn=@ݓx"UMl}N?gFiƽѴ{8:vq7o7pM~tCSK YtgqatMCcagRe((?oE^<\'T2@al)2hx sb``p  $RlI. Ap品" 0kH{+m.n~cڪc;B%%y% E%) % | <.!N՝ вaS55=1Irf/ xǡ8%K*^_L9Ugo?QRJg4tU[sBOgRZXpuiZn L;J5UfieU$έ~55I7e$ܜw)MTck쎓jpi  ??^s$鑝֙~sL}3 lGV h(xaghgd%5v]R#_O$K=GC{rxN b Asc [vitǫy|]j宆 ۂcS&\'IJYIENDB`h+, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? ,0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 4õ:IDATHϏU?Uv! f w%HBcHƄOML7ɓG/&F$\G4ȮeXaggz3 \E\^=3<Ӛ7p{8Z)BD]tcG _U5Zy瘞+~ A?t~bv䣝Jy毝T6L$#ñRlk%$Bb+ cֆ}Fz뫀 a" leB́J͂~߫FI|HX?1%ӧOyaߡ"+~{נ?JY>q쮼$xfvyoEcOG`͖e{'ʈu;;IENDB`n U$ LxnPNG  IHDRw=bKGD pHYs  tIME 6 [͌IDATHǕoTUk}ҡR I* >Bb˫_Oň/ wxwPNG  IHDRw=bKGD pHYs  tIME 9IDATH[lTU3眹0e:LW@B[J*. 2x{PNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A*8iEUcP@A!⃉@L$@AA -Zzaҹ3shFB؏k׆n=ڤ凪습En_)2~gPby˴Ɯr>zG@2i%%r0gqH;5 U'EB }igвOa[FN!,K`SCD+חdS+[Le3[0]3L2N soHx:a;t_k`_74Z>cFo[0/|ެм%O$ %eo:}&'J4E Oj:6vzSIp";Edb]]75;0Ny%n=d`9EliU)"V4^w M*#5 P\*r\윎 Kp5Rt`o4d;-iI%i;mSfqm ^8{*k<~XOuOЅ˧7A k`lq"">_,cobv._5A5(dD,Y?F躪{u˯)ZSuZV=aZ@0,t٣}-!ݫ8K{7q㶄W|$[baچ״ 󅚣z8H0(na3A1NTT"ni㖛=aնl humx^Y@b*IƑ#tWqhC$RlB,; QZ_yv.UȔ - ?Y*y}fAɖNle67O @|^5?OF$?HiԖJB g'-='W$@@F,vU.)Ǫ& w>n_@MSy#O?MLUql44w'7ݟyo<k;> OIENDB`j] 7J4 FD[oQL[9콗 V2g}k#߻H#N+9n]SL#̇ ̤bb$g18)$xL!D%*‚* ^1^-0>*aIZѨ"ؼCo7|2%]RUy6,gGBz{W5+vb+ynJ[h6,]V\' y@}ESφWA0et&;vᝍͫh!R: gKȣ>(;ish־ď*sF.##1 PM&Jl)[3{ ^?ԧ! l~gvȠưGDzaFoZO#mO0Pyt}=Tqn}?9\od8/bj˩&YH1+FlTA'jLj @Dl"E|Bvɕ#~w笡9jU5נ>؞U *Nl?E=eU.2s;%TF<,iMhNdhзmJV^WNTS:qliYYSo̎e.;L*1Bz/?qڇgDUf t'p3l$Pb,P|GhťQΧrAckW = "NC>@p3 @d~CTOK+- .4'gOA`g |{\hj p{Վw#`]aŒ6_tsTE@ǖɪJ*61 `E0y~?:tj-SJO/fǮuRսZ B/ * ˅[FR#㱝jgΧWϿ/Dd ]jclSR/ W{wW5ov|0I#f85ydCL!?`AߧIENDB`ႌxXX6I=9ֲ5@0%#K9?CM/ Å.g^+yl̹7+RIq\y`rJ?V.8X)t}ƪ_B]3̷D/o7$͘It5ǵse3YX4'(uHÞFxk5#x" dBK7쫇9pzbPN @@#h|(ϝ0w~Ѭ̈́pfdQ 1dܑDw 5zFWLOVF  IXdu2]8Q0됞 ! odF 7H ZmCHe5*U W7`'0o½` ބ:xIlvp"̨Xdߋ&M=?'ۏDZEjDvQ<DEDF-=/q3UмLPge CAX 8j4, Vf ݻLeXw YalHEO4݆!NbZ=:A.~Z߮7] DGO4bcL4hJ.G۫c s7+.2^Β@ @9kI6PVHC^(Qjm2\p (@3]K ;. "[#f5>ЭczzB@ TE'Ӟ$t F Ƃ8&H*8IENDB`, Z 8GxGPNG  IHDRw=IDATHeklof/.k|0m_(. RF*jB#@5!@B88JJ J@15$zsc]ᕎfy3 "ᘣMPr-O;S`j5ŬRT|w{[߫r;iG/x<{<#DUר=l~&?/-P뿚j:i)(ò.7/X+c<hȆV;37VzqVn2W.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGDC pHYs  ~tIME->7IDAT8퓽Q][k[y^D<Pid#{! 83'ߙɘ$BdT^rvvoAeTsY2@,0KI QqHx =$bp#e4J<]%Q;fvo}IENDB`ܿ~y XX4 x zPNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"26ϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڤUMO@}NZޑ8?GqoRq|#RB(}'ƁHid%yV"qeesa10unTy_dLlmm]MNNrx"xApQ011{S,.,wogg__[[E1ƃ$7555bQ%LY{a*́mt<QIvJ;x=dC;h̷-p8@p5}FS6iȩ@V;Nozff3f{r f~y ,,!+YDACR eY}(ʾw@Dʣ(`ݣR@  6& (=n6 }l9d_P#clll$Š@e(Yaj8?B(O0E^L VW?!61nnnpռ*nq܊_t:|!wfzHqzR&Zu]oowVN|߷ϫUhHSD̓>Y|>__m4v}-ЏM&IENDB`jo~ " xPNG  IHDRw=IDATHMlTU}̛ymiiPZ)k qE;Ibjܸpi\1`Bt!+ \`E\BaJeڙS/=JDx9~w{;\d2'vbճ=QJ)dYnܸm?߀}}}/_w]۷o H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bb5lK\<\䎎O.~on}|Сɓ'===A&N|T5ۿ3::::88(G9_M#":u ٷoijP:}Ҷo !qTL="[Zk,Kc_X*sJŒDQ$Q)E1E,bHEDq\X5u]r3qE!A9` *,[nwwRs V3t=zEZ۶ήLytvv5voM=U<JSS6jkkd6H)E&Ak8LLܧX,nV c/sE-"LRcfS\B)¶l2c6֚8 ,1sbq]^#5I䅢B *&T*EcW+͍WyXw\.(x Fؼa?&S\gbb֖(;v{9rco,n]" ˉ"Ɏ)n6Y.gNx"!RdViknEooR?ƛsaml槳 y!$8}4um,es:lA%@gaÊ0D3e BcJ?sJy"S4~%Slڌ8XxW{لm "=▐U+VR'k"P}ytW6pBoqjH$<c0ڠT'̣{LMe΢}O¢ΥV>?EP\.S.@ eD `>KBl~%Q6rq"/؎Z"D#FhMFa8 lE짒U-x,v]SJI("@2B "8#cٴi{}y}TIENDB`D/a^;!@ w0 %xﰒ:&G%%iO?/!%IN* }Nw| ɫ60.*pQBU̒va$ ڨGcS#@Jz&cz8DK&)Rx;UVLRąOeQ_߆eY{thV B+ja."H}FAZ%j>|89gNaV 酐ct:ݮR1 @:X"$oCo&R%\Z Llchnb_QgskF8rH*ONdI/iw[L6 ۶}ǎ"O (oǬnB&yXA@)%~"֎:&"<Ї4 Rh,l;٨kY --f- fYf +GсTd1`L"}unĉi.34NplH9I\" eRھB_N1m7v>G}e70m6oyt2c#4HIcSdm8Z 2e[bgDB!kh> $Ku>7wB>pǞ"{'m 4Isk)\iGvꃌo?>mH1eFNJ*CC#] :gh4Xɗ\vn*1%F9i3w!t[FZCaŋ1j+ #ʓD29pK ]w@G+iy! qzIc%X6r; ;q:?Sݿ Ws?,M[!z..S]%w8pu5WۋyQ`8iIK2TAkIu=RϖVTRO(D޼q^najjz{'_ǏGo>KJ KQwIkŲ1o",{W1Yw3՘k.̱u| }{RtЗS.sS)* /EA si8yhc I6qJ% `JRaa~ѨשTٱsbsQأT*1888y(I<`)^<]ߧT][+x9t/x_}WۑD 錋mKl'oC_Y<:Q 1^'{kqkr#GtMxHiaFkzW+_KY!z;IENDB`wn - x sb``p  $RAN ɼrؒ]'E8 <"Aa%wDdE,q(qM+ap.JM,IMQ(,Pp o*qj#_OV8bywu Ʉl?7ֿ^uDÉ0iyο;u g4/ Wepwç?{>[9O֑d{a㑬fh6+OwLʁu׵"ؘ%:Lۘλ. o5nxFNw[5fۿueE_d;k\O -p Q~Sn`Ns듀^etsYxZSs% LlLlĶdbLl۶m۶m'7~?bQ]_:\,,@U@ ?Аy~hVRDDAށHJD=J 7x7 PNG  IHDR szzbKGD pHYs  tIME hIDATXՖ[]Uk>\i3LK˔jTbb$iL$`4&%A/<`"|A*H` "PJT Lι̙s^ˇ)#xO앵w_}>1AB^_ !BJ$ J)>i̯uHH0 䑖Cp€k *9CةUD/\p:>pVvH" էVA!k ' Q`1P$Ua%(̅"´"Uu8oJ}y3WOD<YԺNTA/c 6X6c| }9dhWzA6qq"eWM0ALI=Q߆܍4ī(n s~#'J!'%&cܔ+R._@̒9n"JoCOKdpy.hpH :`}u~z?8*iDm]Պ͐.[>¸ʌnfAB?̝|Z*QRTS"ڨpXr_fFM)VaVQG+!$X`2 ^ __l_fPWx\x\\8t];g?aMMT-(L>ƹXh^|.ܪ^]ڞzj8Nff<Ɲ2&o̢Ya23}9 )!!]My}xuοF0k0Btb(6hNHx~ axMBD>7c-sڌy l -w) YY]d_7= 6BKt7t*j &eG JՑyw}lyT;ϦU_*+%6b.hd0GCkC|Π6,YG*).5['39nlqޜi ǁD XǥvrhAb=mҼ 'j/<>"!#,0J4 rj+;Ut\IYIYJ)M4f44G'#7M `&_ e4XmݒZK,fop5Hz:F*c3*u[-@LZL6|)h(>Xyl=(.&'OxfN}UWSlny="c&]u5Ӹ[w<-lvnIz{A^Zl6*GHr;god^g5;hQ#-:T8˟Mk}Yu+=*×ie:4veU˦; H<,5)#LU6tm?u9<6[ej$|%k/M5.Or<~V}Ϋݷ#Wvxmϯ_1`odt=ck?{6.ޑ.Ml^ f5naBs~C$$IIc qpLfKJf'|~<.+Ow>df5>"g{k<n+kGIG fg6}nn;vG )?ߍGKߟ \%(%4?ARC_ddaBHɉAmBDDa8RB*Wu&;@tʝ̝FC~2e&zB rDtuݱC~epBM|\0 ӳԫؽۣ)a\PH$w|tWxڙ!¯ ?Vm6Ԋ ] vtED_ۭo\ oֶ>o5o8S#PI$ ]`LW Omķiݫ[O;g;l {FYꊈ Þݔ37`ت+{7$}wKz2zc7WS1=Hp[s{cglsWx{'N߅j]*ԷA7+AQO!fy ^7Z.RwC;庶tӓVѭ?⑚e-dW=- @uw8L#%wɯuž;- DEU,NP&igC{AcǾ%ree2kOpŽ<(ܜWC,Qt ZD$|ǿMjP3ˡB7SQQ@EF-Xjl$o\ B.6d4\@9åq%2NW9p~G1>b ܅daUUk_ i쥹[#QOm/J +kaS=QVIn rZ{XYVPy!#^3g̱a4RHšnokA"ɣa0BUJ݂ jCzte&0E ~˩LzaEWjKΞ1Ճ˘qd NǏ=CVZR#./yI.3;DZNX.3n.D]gXpuD)hPt;# iF8Hq7hOёE4=1;N;R25>q7 5gw9 PGy9|0=4*X5*?w7FB:FH2P:R+UfzN L0jLwNmV f%9/ N{vRbΚ_V.&aR ڰ(4{A8 ܨ_*1 % 6STgn\{1S_.;HYChh)Eqv۝^>%}.{g>m +x`e/hmJ#% vг"{ނbqf&R9~ٽo+?6A߼uֻ֫z[x[ oDN@,9jfǒa;ToY$<'ǨH0.wlVۣuӄ& j~3=_8tR,}dg4w|q@8Ph&rU{ȥkpZwOwPG?Fq<1 ortNdDGs蹲U9 v]Ӣ^2XYr-K*Tk,R`;6zto,p2>}Ժ4}J/nY=>qdDwKmmG 4|6Ky.O$U "Ekl2ۛdKUprQHjUBP qA5T[%2Xb1bpVJ$ʞ9/j,l[vn`va+FDn cQwhXŲ#؈Ffvwd4S{'f3/θϢ~s Qtr6;4){f8 t"*[5(_XkoU#R+ZmS dSTАN$NS^aWV@rKku$1 VDzI O\gJjk[Ac3 >nvͳB',"NkSLג@/4Q,Jx妈"KOEI4:`(^3Au7 eB ~C۸q)͎Ϙ#axJܔ3ukiMeS+Ыf Gk|<)?|?fO|B!njh|nVJ3b9O}hf nGm~<^33u~r>/v2rEq!TֹL[@BcjN@ڣkD{s'Y;UEr.![] " Ehv!:񗃛 /%"ð ͸ L|FP'%=#ʂ~{sHV |B8ꞻkڢ8gb| UOY\UOP*_-A G8DiZ VU:R}O5 Yt{xG~ޙysl3p n>P園iq0/EJu(0b1a(bjF@Go[Gn+yLEVZ.lܔ=:h5e څӂ)›;В7 #G_#s"^Q8d";ljWv>9ZŠLG.B# E4*ZR"3#CjbQ _͖ Ǻb"{/ A揮/O0-xuWnFɕ:9ha:R-H(03ynHY =~\Hٶ"1 :C HHT. 4wE!E y 7c67s|Q{o!gJ[tJs>xy'[,}.2ΐZW.S*O^?̣#fG-eVAOrht mC\4D p ֚5xս(J4"pIL̈p0E`{ɱܮm$ CB,b]{!-1YѦ#ZyBJ*y(?6= ,Vּwh\vgc8"'lrcTϗ(Q jSlRn q_󔆫#z6F^Uh.snkm?"#TGyZ;0/ۧItΙMz kCdIGX;i,ws=YMSBYgj[s 9BJAy*=3ەkd|xX0 g _pRg@zo!fm\0,zeJF(~Q W\k}kF{ V1C- bY07.AД *4Etɧ=xBP|8],`5:Sl )hPi[Y3dɛ{aKcɼ,ۊjHTzCR쳋H_Y m\M/&RjVD뷙کRD# K16y^pPzxF.cY}k`}ټޠFE<0w=]awNL]6z 2['Pvnd#pɕzeb'<|~ ,pP +eӎFij\D #q eua,ZX_#/Fe[I2^oJC4N-lǠ7ph^I$V4tέ!-Xv5-5(k.Z2pJpttfG.ye8Ts;g$w6 g;%5NU | "ܾҀY-#s%~"n!#~S+2-lVn604^@ڈֈ81`m"D`,UpP{5QM%K1.l{M0^l2ұ3,aӀ0> à+PCg-Ռˇb0 ZO#jƨSv;e PB5X;4]ijUfsMYwXyE͐U0hQBmý!Y+b7*m ˔p :Ow]s2nuXtK+^Y@ToSg}+"=[bQ.ie"T,/Qo[O-:Eڛ;\5׻]s"G~_S=>Cg]/;;NH߅Y~N7,Uuw(4B+C>W6 _kxrro7[mJ׺\j7TGR߸u P΅ O 89p@ AN$_LA~?T0vy|}w+C'F Iyfgj$6@& ybL;#7\!>:vݳTA +G*k󗚽r]tuz?bbV*n~5Yapw<2?U! %yA 6 IABS;:\N&tKTCqbYxkhxcZ2tv[GQ6[`P%pVp)s.Sm[]#S{$y ;uj;>C]`Ɩָ5: ;gcfsG/g;r䍞b4ؽb`nH7qo]w5nCO2\WWlX j=5:W9\SY9fޚ'QlgADNF}0 䤔Sb1 g,6$ \fQ/x(BȖro_KH郮#dfjR})ULkQZ *PKUk~Ղc,lcS43>  (:uk=)_'fHC o7kӟWbz\̝}қnnfϺsW&d]x~6bc#gaJt9S|n¯. S7~紷0v%B9E5ȢwR'Q[7(i qAe/fq_t-D*_qm7XJF\ uyZ|qY2%硃Q=v`=L&+l(F%3l*yFXr4#XK/mgXbVC_](k:+^-C'RpoXkJY2̣·^xaxPIHƀUb1A\F5U|Zb24V1/ޘ_~ۊb Ȗy b!VPQ H}gY j[#n$Uvh~O5pCήy4TCS3'D 9Qk{]fN;;:v~ta0uohu>b/aoJDIݸ2+dixNWOw>"u]۽l7 ^׭ҩjstLx/eôxXPknȂ2e5կiolkl;` #Ov[Яps6RAl{)*J~ٽ,KZdd}!q9EƘ"xNc"2 :K 4ӯ_/5HZƒ P7`:?0% '${-:Iʨ./]IʆAEIzͿY!ջ[xG?c&DqH7l}%ӯEڭ%gEe3x{5lmvA'w@X<2l[!tWBźEp:&\Yv1TaT+&XG3pi8#U%wLc_KI7:bI85t703%YjFK)!2{BE}f4Lc֯b֞]){5NC;Imx2r0I>u"]ujSJ[|V>lGBX+o'IL|`liq$g@n*VXK[k}5LaqrZ eN3swg0^hZwNj70ɴg 4ozI֥qYQCA]Yd<Y>4y%2|N?$ĸ-7LpV,(X~ ጢ<-* C]%Fe=840Ȓ VӠ|ܵy: n٧QXƟ Z:Cc[S/ yBCV`V{(Z>fߜe09,wqjsZ&ÝC:Q|)9e(>ߵ?,wjU:3:s1ԋ"7g:ߎ'E<) |Lȶ9v S6S2wj)a_G猥 ܒKT3nnHx*h2@qZyY4)PnaM*-w7WK%ڎ,ξ'JjfkA&meI?8,v&wyexZk-@rg-\mgּo1,PoEDQaM@HqFb5X6&0m00o6uAIIJ}NNΛwѿxGmu_Q*3ƼO/:ԣzoX"nc>Kp֧< ^* MIo|*xpޮj~'~nN |7Men4alBfr0v y.DcxͨU%u1AÐAmG@^K)X DF\iQ MM2?W**-Z|dIzZS X.<'TbF(jlFULcRH8AwE>,@bxDi!1)D ȸ1uc%*eRVycYƵpD?Р-aj5j -j>r]{1snǫzqP'|xo8QhJ#ڜ*j$e{x=P":h!sB]D1;1q/ŲhQk%ڞ9Z>L#q0 "ZWFiV(QbxD'h/ص#bbft>._ ~A3+z29Tobyu;6E``;(9]5"p,BdGUL0v@[ :oni. ,|ێ$T@#hzE(ڀyX FS5kH$ԽeCn9#Eȝ0["f+Qi*Sbmo nM'DR3'Ĵ|; o"9x+{gOL7F::fN~'ڬٴ jv*7 WKlSMNwU˅k~1s=Knьeeic;V y1[-ξ@B],l"W!vM;[!8ŵln<.} ų64([|]2/ܽ|"+*)sPؙvfY+ZF=tQ Mw9AQk^#B*@ kbge1Y9hjtQZ:21Cr8ZAs’V*^w(KATp٤#$Y  *]LӍi]}u_s-OH-ԷCL+XE/l5+m#.Zbs0_V5XttzzL?^4PA# $fNIH=5sFb15iΔ]GWExg$DFc./;2%$ò?#|WӏL-v4%9}89EU3H{-뀞Z#$ ueVͷWQEI--Մ"¯yyYSEэк\ω4DKT. q'&-P"AG(e?)KGa[aK SRE.CFQqDžsRO% |xo{!|4`(8LJ yD2uZ28y>r?E[=BIM3k3 P|i04sy`ot{-P9商v2Ivdr;*K6h&'8y}tfbygvGqriմh7av>d6d8,6h^_6{BpLd FחOb~<Kd:PP-Ce!+Yp'Mjr}3D+r:.'jri|[L7br$(%pM:hK"T-ŭrzg #k6p-YMXw!J/EƼ'DNw(m:UIљJ\@be@vs! |esެVk`R-"hF((Z^ܱƷm&>ի>R4Ϭ_45C'm˕njqP^>el\଴ 6$;x"̞sHi3gl-3R53U.w/Fc$%fa|FUn -fM ='cWZcenGV ok܇ocD[:'ċtJi1VԱvN,BdžˈtROoRֻܐюU;o  ў/`D6B,X.B1¡JzE$#luʭ*,Q;`thXRʘ=h࢟hrj9„$ltTfyНI@QRtzPKD&vѬ#>ӥ ~wo_,;ٴuNiatRm[ka ~Z&/HYW%OgQA,W[OeP.$.F< @1<brgGxޔ]Wѣ^K-Zr$5@yT".#6+єDwK66p>ܶ)\~9Abߚ> ~?8|2=Nh J>oiRJ8 }&EЪDMiEނ;K8llAw@,VwںΔreVRI:#SSGqPmB^G&1 fܱGM fC0eU.׼*σkJmBIHfiw,_<6SΣqSd/fchFJ7X{>pu<N/4st%USrQd9~j+$@S@UyZ%p+CVimp |@khkh+ {3nD1y2$IF`|FzӦƞG!W$UNunh\Ъ2UI3\ڷӟC.]S {|_\ڏަ!e@[@4 /!x4H PƶT{v"T:}3e$u=M 3Z(W0 @PK C2Evm/8G8@g2tH>_}!>c|Gq_oقūh61c}2OVuq|LSzV:#i>CoʕJnߤj|ϲw1{*hi;ȸ]cױx^Z9sB==@$R'"ZiYBOܥ~Mƀk9>Rs%znLbM]) W ,1ASSTU%=brHuΥ1meǑ`k$e彚 MGgpk o XӇk+O:` ckk1/}FGG{TR#%*$ F^#`'8ŕ12?[U:L`ҧ=&ZBkE$Kf?=G,/ŋgƝ)'V?Js w/Wm<2kc;yv[Pw'?va\=3_8֟`+ ~Rb;1,2"/̶&m~.?[lK]s2a$u|04Oھ&Ji`fPFEܨx'hW;UjO>$玽̎fc U0(RXS_Hه4E꒘L*LĝOJ׵S3O?Q ܄O00xgoE_EQ2acQOuEzQ$ٞP$Ρ!\Z[9y>]aQZ45rR8J>MK!3*՚1 jO2GZX3Q(S|Ԭ oRЬu@ГΚ!嗨h+P'4Ln6*,EOw'?΂#gzh+K7Ì-+\_ڂs<>"sKξ2ˉsa}L;gP2խUkS廹>fLf8RU|RKnlI:|.7E" >>u#<7 s7mZ߇8<=4^kgG-M(iCz|݉5R5VDj@Xr æy uQu6#ufJt踺ko}8LG:3sd7mO)%i"%Cj Bp^re6h #bX4'}9O+]k Ɍ. Z* %%P7EkMpt2<G8u\ebt/?l}Cq^..1~/v8w`m\|/}V 2ʹc/pr-oi^}髴W63}#,,ʒ9;hw)u#0|(BMMNa6ɤvPJ^Viv{mi1sa\bh##[9=(CT\wlg`mͰi3"S U+2sdw-1;XX??`bX;˺Ĭ!V]_7Fꐰ<(ƚF*5!'tUUUuJsW|7ntQN}%y Wwyk4 AyyJu/'-fy ^gH74fjYJX%(iZ4 PQ7Vl})4):)E_r@D,ZE4}IEcEqx\1bSԝR +`T1.zk5?R6TBƂ&K,CG7ƶRXfzXX'rE+YojG6 n if|jڋi3/?p;';q?]l߳׏{'[_#;-5QЩ=ٗ 8ۙ` IDATԩȺa;б N3 a-\7*ֵMxRoqri.Ӷ0!IP%KS ֺ 7<=̊92dYCa C*<1|`cc?r?[ WǛo2<}a,%VuEI#jjX0/h_"WRX d&AKZ<\kV9nͳ8ߘl7Ot߾ޟ[ gro. =Do=12^H٩>#AJw"2Zv~iui%gGSJu|gBiUUe$ǘ.wiՉ2n?=ҧzAb c%CD)R HNJS¦(k9ghu*AGV7Zv."SnRvSY\k,[/Y  u su&iV$%58 3iG\?EeDҋ*RB.=D>/!ӰN+,BM1#>@^97x8\r SB)A|)-9 Bi3EulSQ˸EIbۛ!u֒XAVr:Otj vA HIN=n'`4d{JҨ/^hl@Ņ _F93=@uq3?Ɵ#w3xKk|9<78u/=]ҵ&(V&’2:6B,Z4E{)DžRl ݲ\mD)ԣ2]J$cǤ䭠`%otS`! O{mAAnjzB%t6#Rڹ s\{ނ 4}wP՛=@4@ VQx7e!׺~VE<ݵڻUgʬǨ h-:7 n# Z: lKJkgdDX r_@*D&M!ogz}N!oA)JϮU3QʟE&6iR ǖ_g"B.>NT~}jűۘoGjy/?S?A~g/lF|^f;ÙDܚ%H#b,~ Bl2B]e$9tLƋgda:NS)L3t^J#\N?)IFH%*D}! RkD¿Bv1}9۶^S.سq>|ۣ,FOKs|/>rOw@1O/>EAUI\_Q\kh[pD%N1bOKAH"ވ=(޲,4dLWd?¸M^ZZ,IJ`ޤw6/Z8{62v>w c:Nc ҁh]y{giY aI:~7pKcfHb\HBAa[Al1k%!)P;MT-t@BJI)Xa(& ĴZ{4p煛b ڍb̷-3fpIos$"æu7v;\~8f%ߤfV(%ܻ6&,\JKK5'xݟ&cͱ2J)i^]i//py$nS% s3D"FjxO"{}X]%ogJ2VأjHkSnlhz'OQ k tZzD-^8Iٓ2!zy.Iu~pvӪ8;2m/ ^Q?rY{=M^|鯕WHBvɛL@=Z0tY+pK)퍯a}"A+TCydN616mJ$FI )ڦZ7S~aHcѱY*")2.)E- y3c Mw8A&)2 = $""8vI3Qc 9# Ν5*Vtz+g/UƇs+3^X!IJ%-B}bPgS$-uO T4EZ҉TsJGSg‘Z&@ ِdL;VleRnh 4PPI*}TrS-ywV}2Mvt==3U@6KTۅ5^m 6 {PX 2Aa -3yt|%{{i@ w7|? 3 z"\kRP)Z T.Ph+ H G8B9h㢐BZfS2#ٷqI1&r!A+XMlS4@ WJ!! E6A*$ߝVܷa^߂`yBhh_klƱFY%^~%بpu9_XǴ" ><;EͥyJ9wAU0~0&&-jK" rR;qF0ѼmW qe{8NiGi?~,Hӧ&Ws]XMq6!Hgӓ6MSVGCz%c-$G[gbN 7n! i5K'100 ,{)K"z}Ӟ-?$د^s *i҅ޅf dhs&ԸL6oa7ʴLҤi©4E_GҴB'ɉ)bBQ vUم?>tT6"ef~1TڌD->e֢iX_ftVZK-ff1v-\- X]Y 4i\I%ā"CSvt"z+̍PJAd[Pi23NF#F5uMyz"E2re#n2 , :#< sIj֯{B?U@d0RG1$yJ$17G'I%>ZhpZC!P>ե3ZA "S~p(ORK%;ѣ{^ LiaIFYKQSbӄEn9IL %gF:B hB!n9xaCeB5`'h`(,\^feaJ 239yŹETbJLl"D" E#/[?<X[!/]c<& h˜.H6g_^b=3^:+ɅHiXmJI/r !8CV&Dz}@WxY)-˜/#6&L\\!{c&eXVKT"T?G(U 9Z$P(9QP%E_gOhkԆri;pר$cBWQF̝]#Hmcpw`Yʹ ~M`MxIa'>vf?V%}5`L'ҶӢIV Ul\rteHKJ0A$I֢?$Kk*U)iI. l|GM ×Mي*뱺R]a i6:!i=x?[<ŤߣY VfGCKrg=Lrg~Ȣ}zIN^dd f~c)U/!s3s k䟲q+W8xO k) j]m`/y\yafoG-QKm:"l>]OA$Ylf߾׬wp>%YZfbN_ٿeSh^ z4[d2{LUH8p̱p͍)TWB7[gG९;b&ʺ̇)Թzfrm܆Wthړk HfY^DO>G /HrsWvс%YglEWV#X^`'됡8kudk,$B#ʵ}$Ut[D ' {cEXr߂$I;G sm%VgEc=6''uɾ}+g-J4d&Bz@c߶7]KX{W#zz< k@6no$:}`#=TRJD*ƺ4ӡ9(Rs26E hǯ#3R*wHI7BiAD[XmQ"8`HNKGdҷ'++18~ЗK9IA)_&-io3}^9MZsrn l"s<_c烟䪤5ţG$-&& z`;T LE%WgKkX#kJe e~m $hg P6ZkHm 2AgF&ڌmk`e {orâ"։Mֽg h48<>[U|cntqz&K"rsԗ\:hW>xFm$y B R1(Kþ yCAƦmuhJ0LlBԤmR;+-)Tڛ,=s鼙6MM i3$̸Iz;u^e7)>[gypD^OfQBKr2F(Ȅ[/7MvF$ΏZi:)?bP';o(t:lp#Slcў"{<XK /}J&Xs' ET0X0c[ >b>ӧcg>2DZS1I5ڤI yEVNޏ}+Xر&.\ce&`dbԮmb)d27m;ebfJS5OI\ a^"ezPX#?%Ƚ-*#Yo~9th>9JN?+_&_hүH􇷣?{`C~ Wwe n/Á;ΐ+>3//!"(I EH`(7 uIW\ 6׋z.5uެ|tZM&)S┳Eaf?Q zg˄Ba ^+#*$19Y㵳r,[k<ڒӃԓi ںbiJ G (HXZɭnb^˟[mklg3ua2H Ibi[3{]en~w}STÜ;chD~ᛴI{NTlCL1m/r79pN,;FE5jO_>eFTa}<{5ZkjȷA8ʄPhI0!M7i?iLR.=Oh-q߃G8uw/6wh ٺl,!DgH!?N^T1&'S;\SyS:R׉e@xkf(JKDp .Н8?\ZQ%J?3ˑGpo}G"ArՔ72R.-5ܿ{ ?r;Xl:f|Zo2q5Ny:iy+ JAXR>Ϸq̫J֧mo]Ҍs-`3|C7/Q#J0/1V:_~*Pn!ؤyG:{Ŗ iZrBw3 }m M3\d)t"9e[~=fz&T66 KWغgkkY\Ж2{yj)\x/q,ܳ}<)FJ WOäEKӀpXQnո&aD,3gY1G[K_>@fY=S÷klw{T~ J71DhaQ>عZ3?7O¾"w`jp 8mCԶY֓6/-v 6?HCE˖T.9TMIPhtƫIzļ5Ƈ֛F:ŪcѡTg R$Q !aPr-㴓J75~M1PTT'j3P M LE Kڎm 4 d !Yg I؁I^r7k9D[ /|9r}4fWG P/&GI'_ɩ'KuH)NRR)na`p{&Gk0@z+XjGxRɿ>K1ȶ#ۙ[^aE'_s{v*L_kG8ϩ稔߃uQ5ؐ2+DwN 5}WAg') Dy*9$v IuT T i2RSK96MVZ KjBl҆mKpnqrB:OʒO7ZIx`~WzxE/aV F4J*QoX ?'7 iu6e#|類wʬ׆~1:!:ٲYhH6UnCh?ȑI&s\e`Xy?1-8]oE0?{/?K{4,/ctm[,MFa)Vߣvm9lM}F8pW_8.Usw/h$%׾HM9K3Q}[֟%n\ḏ_E$k1/]/?Ɂ16!;"g/>KXR{Ԙ[;H>1ow/f+ː%WB'EX6m׭ENj}ĦU _]` Lޑ"{wU( 0iVBW.R)9)0Y\ܕEN_YcfYڈht@ra*GI|%cse <wLݴt(yS<}"+֩XRmVf:E-*<tZoJ\nK~|$u} 4ZCeqZr2+ukIM܍&?R$c79NLGc7- 2 nvP?bN}'mʑ^`H8:@5o3;]gTeNyҥ5W_kPњ|"u>bKrz]J7du&!mk :z-B ؽ6RJ5TCf곟tw抯<X}-Eհs5V#L-}<B3Y_aԖCDpwʉLQޖqf`Dc-7ǽO.$2,MCnpd8$n4\Mт3&}w+C>M,Z!iM~+&Řyv~Gą*SP@E˘+ L!۶0k iZ[A-TC|ĭEE7F a`{ kK:B}] b4expVkgk|7R?J:q<43;ub|i&k_}JD\'5\biqEtpl1ܢEBmͧ>XjJήy#]/q(YȰXycMcb=Eϓn$<~cEǀiq{e2K-$FX"@%qa0_mZ6$%E!BWaX)BX^RDXC@XeڌSiD=ŞG2Ms -q&r3q_/q~z!̏#UR6DB$vB܁^`a o>RnS:ӴrtV#GkY*8xʩrAuj 3С:t;> HB7,玝f`Or-ŔR>ss,^cbd'3Uv]1*aŰk|7W98_=Ɖ疱MK4#I(`qؿvaA@IƇdj{#?=wľe/OhR̅NYRZEK! R.*CX(ڈ(R))WbBF5A2'iD5G' $ql1Wat`Xv&RQ Urȕˊٶ3Po/B@SQ ֔] XİE 9.,4#Ty|.]WC 颪9)<nlMSlm;0(؃pƽyN\ILaA*퐎)H r]K9Fi:I:VJ=Q6tN$Փͽwo察"_o1rwkm&P˗ɍ yDRMFw2(#*#CQ!-.L[ %sq@TY[O23=Zel\dK߯RطիOR ֫癛]+7(׸{yϫ\``[ga=c|}+'6C}9:ke6r8 /'9KM|%%%( 4ڄJţOqZB&g7Bꔹ+KY!5AI:^$MpyZ ?{ȋ:X7vZLl=Z#{j͚SHiM^lĂCBΛ,FmAF`^)PIXE!ΰ&/H) ʋ*xULlp2JC*tV!,tn`Aa8N5o5C-x)L"7ޡcmH Cc%.·λ7 ~5Ugmxx5^|\YoYkə>v_}-'YN]AJ IDATT.k-~)KIl%1 /}=Z %=aWmpa]rzEVoÌ[P8VR+vBQ$ υyh3qN=ΩCGy/G#:/:mS1mp *?멏hJZl^O-/l'~1}~49h0UN>9ny ~q2ᎳsmWTZLGfX>m΄|\v6!K͈ ;I!w];xb}8|w/cMLLmefǞIʥ!n=#8yt8}jgwחca6]ઉ[{[&o}6=ӸnE6t~yw/|:L*Qee~UA9;/^H6!'86Bc0R*CCf"C6e5q?BDnBIX$52^`i_Au< S$g ^ĦZctŸǑkx# A~V'Ow_7DqFspaCdQs[b6{Jmp4aBf輀PDW܎[*|K;"5rm73xų JG.F.ast=[[xM[=j\Î-3|9uGZzMJjJ27FQbfeqM;9WHIn暫ľd# Ge=7\㝼p l%MK?ӉZaJIQ?1J@gh ~JeyŵͶ"ڔg@#5 ld=XL^\ h `-FyiW6ȳ Ok^Egb%h.tGaz{T&o<@A6_\?qs^,Kg@ ׍0$+i0.mr R3ZejdOw?)+L3R]QԐs$y$,qq܈/?Dj W>gjKXϝV_k'WY]1NI☍Vȑ㫔k{ڢsI>p[-/5FwitQ3qABsiX2x=<'f|Je sɿ".1NZ`%Qm,she'>WϾKvUxw+M+ N4e9(\D1_< ɓj5\r:GɰFáQ4aܣd)iclN>Y&Õ0kȬ!"voZ ],rIS앱)Xiw"ݜ8_f2>d_ ~.A$霠>NJcΡgzխeٵt!F7 }!֍Dq7p L(qWsVЅА(j9 " b9ZXV+f)$ P朝F&h\3=缸iu\u\;vc)wBjy1*d h^|ÇF >gOԱofM゚ !ןC'xOα&$.ŭm;ϓ//q>qN>ɧ]7r;~]6[O~|!sqspwpSD8su7132Eux3k˴ ;·}w%_nnWc$f5R +v3,&JC Jg$\0KvqHs\jeE5p);09VU1xœ~9y֣鲼ޥƴMVVVX^p*YȲaէDbݥpN4QnxdaF&9IfVva!lLd~F [⍿?m%2Ne%dnV3e:%o2=bȱ 87Է5׾H23/;~]lJFDdn~+:wA&zZp{L%{V- /⹛YZX!O<ָw;N~'?2Qmk;LN9NKlf>D7 IŒ|Ie|I畩׫dIL *aZĽ(R.zqFP*f]~F:'@fya88tp/nRE s(:_NӔ/7oZJg؁:B*Ͷ)X2 r:UK+h @c!P0Dk/Y?6en&N]$9t">RbYt/b)`v0rMq Ҡj00vX+sGy%h8{h=Dm, y*gn4KpxDu^<:4LKeF P w-<8c*8%(UJn,Gg^"(q_dNv/tBMji$e9'rŦ*,b){yk$9j1Xbc7=fv0:R+o|?D*g|O[}FG!W\,D2Y|sk>fŽ_{}1t $7 ;ؼCb mؙoe"\ҝ>z76O?Ȧ}7gӦZ*S_!U`-zw\.no93TGtY@]HLN 3:[~7Y\I:6ɕE'W_Zw/Ix9­W_N-nwhTk#\gN W7tl(*6q*WISV6]MR"X$]"ffR%e;o,֣AݤY#t{օCeΗ o@t1 U8++J`JOXIfFUbq_ET:K}oΓslsź2UI[^X8TIm.Qưdg}~ck2,y2qD\ Gnʖ]'> ot-Yv_{:6|ټHuV "0eoijqמ[#_![ ﻓo~IaJM¢>Jr;[Xe9A@fK䱳Ԇ`q@z__>aR)*nYxO_χoP|6~J)qkj\^zO}1O⢰"Eq2׼RDP哴ϴ6*Y\㹽ᇶM*BK0MsnRxfOIztSn.a&n}oܿc+I. ~P%!QN:ξb׮7f@nriI@ =Óx_wC|o?շ]Oc˱G=V8׉I~A { +:0LFucPeOTJUyاY<@k%rvN?̓? _wKj[9jϞ'oCB[V/unZZZ" bfuK;k|A*Xtn#,-aG88@ Uo/$ oϠ[xi R"3}.5KBH. fp }j #y9C+V#g{26B:2@ہMR(cC),^VŠq29~kI}m=q0I(c)9懮g=FQ%=J%Q? 99Muze)2&VN/>Mdn"j2Qӏ^%$_{as,=ª./~zp:]]GTxxJkuqY9ҡTȶ <.Yfhw+ICgCqq;%WscUڭmS&KS!b KRoV2~7?}w?1Y=.RzNmv3W^?.gh݄%D+k!=\{PPJ=?"q8_H#qSrB+srSre)ei"iϫ.Z|GG *q'v2Ra0CV8SJaq\yt {4!Z=q2f9v 1f\G>{ m z~~diK91\AƓ Yl2iأ[&fbd++'-MN:LR)V\N^;9 O;?d1A1xoKt1G46I*KQK˸Ak QY_@^ LR:>IPyN"ᬎ8׉1VmULg[E3+/6GVh=@::LK#۸b&_/efNӗ[|-ަfq9qIZ\R<0㐧%G"yU3p*im~0v(% uƐk'bƜx"(H1XĮX IDAT9۬5v{P9&+`>1/<\q U< 98$ ̠iIW(2A#1jG$8}9lF{1TiCЖ 8sX³ܷ;ʿBaJHܰAۑSM)+>yBfDi7opՖuSRi3uUlD ~Tb9<ؓQɩmבALWiVl垷4w]S yDiA"HGh:y'C)Ee򄹑qУ݋I L2^CSb cJAZKQ*I)adumiڭ;UF)NR. y~+b`HkpukHjR9s梇 28Vl."43ԖfTD QeHJ$J-'W./i89)2BZ.#Jr4 `@Q$΅B;:z CF G?W[0BdEA#bA 1ծ'|aDQZl&sCSQ $qFmN?\NMa'IJ%dG?Gcӛv%Ju::d8Yq%Gс=ב9UJG>NI!#<#d^V$d7q]N3w8NthgpFgxn =.5ˉSxIu}u0ZLj(7j8f{k$F:dZ$Q(DO$dc]j"RqvpK=k6XXo"v_(b<:%ynHkB[yZ, Q =S]~/ZN>MeuZkβv+{qCCfo4&F1ilv ]jXWRAfmF6J E!3(2H"F*p|?/-6E|#=5X3([.(LIV>ky (_vB3kVxuLXzl|/;v:~x|%_% =062-e>kYơ+Q_5$JlŸa13muI.(O>CuZ׿~e~)`dx{̌'lI;_826 s*#1qow Eeqqrm-Pk86#ЙKE܁TNd2'%#$mR8$C F FWi,$qD/pCYs󈪂~j2Ij+&by5-6Tj5|?={|Ͻ;e^69KELjmmIrf^Acr\tP[{-$:H%U:G*P hD%<Ɋ^zV"3 [x0/a*HIM_H~K4P6HC8V/6)k{9mW51wʨ_', sW:#Kf\>rԇH7c+Gnk+|_SSa&nd Q9<"nq]ளT㛀e26Z!.1DUR&h˔_N6IqC34A:I?J@&EKK-CjUNT)K8J#:HW)U4Z\ic"Y_Ŭh[lr(h48{Rw}{~O/`pM%c$'۔DܫrE6+{0pi),Z35~%rGZ%׭+)ǤȊV[9SXS~^^!k*.yL8 R>΀)(KQʠddG QOE {7f \v C\ѧZ .%y,VZ/&A}W>lяsb{fryo0e'{MS+n!nU֓<1Ʊg$ꮓ&1ʩV+:JM9(.3u4 KO_Tyԡ :>H0B8̱^@+r&g\:ʥ.B6ȌG܏q+2JCC̯c!Nz!7P2ViHilwTicr(JcB *^NkW/3ԨgaDDN#Z腮β @J"Ig 53*u|Z*A"+NyN7>gvT9J߽ `xIq&ǘBmdϳSxMN52 Tsr[ l>i 5 -)\oAP9(}D#3sq !tȬ*z8b;&p XTkl, 3k*a=25C}MmͤdC iJ+bS6׽nfzƝ_˗xϗz=HRCP '0iJ^A9 V+1i[lReшq|N;gLVgIDb4%1e5{G,T^dj@0qlR K꒤,iˤIJ6glܣVJA`mTkjÒՕ Ҩ+&j#%QvU8F8@:vLX$lc[u>j^:>Z pl ɵ!3)a!qqUN?'7:E8aDdJHߣq9r,w溂8LMMO~V~޵U8u",4##'qdc,D68t*U'T;=Z#lD=͢s[ncA)(cВMkW*Z#PEG cH5VJ)0"/NF dE R"b ڂ x륯:-J!x2ǯ:la&0 InN!-j31ituHʯabGwT0 q(S8,N1*=o+qjg/E:^׏˧(<"a2 gT)C&pd-(9k zN;VKYZ_bzf^o>ʇnͧ?Q׾y]?eW eRcus3#rV$/7X^YzdRFg(BfѹʼnOi3LLzDHvF@, 䔏^JBg،:qkSA L$0#J|q L4a.}AZsBzfNyN-hQW쩐utiNc%.=\ayt*GWR~=@1(#iXDxt?|Ϗ_&G*C>F(Ł5ؿs IV [P惚_ `3O&RRM30=#~_%(Gc2  堂/`5J<sw=%wr%c5^HbO#-L-3<dKJF+cx%Aa3,YQ&PQ =՘bFJsu 0~Cfcmyg>w佗H5[lyȰlu&Fm4:M?mZn` (AnnZHP+bIc,QH|y c^")ʃ8g~kIӚ>{|Kͷ+̧5O?}`{1YY! oQ|:fB.Ƈ92B/^̧ [_b=ZZ%<bULI=z#/T _~zqOwFxgs׽rc%(ՠ¶ !Øeٲz.A_6_TXΟ~oY9uٛR:WHiښ8vt[;1m\tV}ALn1FـH >q`8r3tA+DW A5oS/C/]\ɯ/&&(qCDSp, :^4 ׺8%)fzxW?b ah+Oo ¤ٹlr_oOжF:ʦfqrȝ;0Bk.8/hQ:DL!@޿& U+|ˠhmZ !o*E͝-m 8XX$ F1HsR6,+b<{j;AcM 7,J.Z{^)HAzZ>qKW_ckt<΁-Fcq:Rr9btXʁqVe.Z/3˝&`8 D=fc䪥Jp0TB*0@IѐIJW8f\9? h謿чdیtz(dqpH'|/}DWHvv6բ VnFL&D,y:UkZuH#e#~ǹ͛OkxbckA!Y6W7ޛEW yR }/ۭKY=FT'6@;<`VȺ)l7Nih FG,t@N kVSV{ )r< s)*XYdCDF)Q,j. \7i[St?uoZo 3| TSϳs\~E~Bޓu; iA"`cIjR)ꓻH{,?-5J t(Zc,. E i,TsWW84@`!kʢoXg1%)wJ-Xc0,vDsy1U B4 &p|<q tdbT"]9JC^))ZjgGXuK4q~ϲ8ؿ{7qH'x+yGw.p3OxPay5c*nLXke Nj4QK1 G2b΃5~u1,@'kjUR-OqMW}SCzKG^6Dq֊K~|g_:goNP:ɴJ?c\b>`׹vYDȲ…l'%ݨB棖Y(ٚU #O A#[xQF.$! SCa $wSt g-bvQhqjM5__nݺSQŨ8ڑz䌫Mߡplx>Wq<|K2ۤN;Bbcss|UaцYpSߞR~_wj>r]"[NI/۞ vLQؙHw-hф~ۂdExqV9ӏKZ“vRNR댣g{3E70 =QpxLy؀S8"g`p4>9g\ /t U3akl`<$#Z$ Ɩh |Zs}6i߳xմυVX,,G6 [8U1m٧%wn~scjB-8G~Y4GHH%CcWmH$\gv;5ZԂzNؿ{L-S4szpm^)W24+W AkǵI)ǣD8Z[SUb֒{x 7A3;FLݲ.3%G¤ϢƘd}AXms=q¦O8p8I+Z6bw)kz.lC4+[ Tm] 㠮 ]Fx}ßg2ĻSx'$%˹/2e(hM%cN%ZOk_,u٠G1O*¨DIЁ`~<'$q!"3zj wKKuX'/ p_4\Ԟk& ĭ4)mgNZ() A@t9.ic?C{'Hz'? gV{cf?@ I[xP=ơ$bd7lY RÌDDRR/JN$ed~BuCF %TMu)tc~灳q&&fL;EC%:Z=A>#8i ǒ2—!BB66-e 䭡W,8.h ;E谆K %cz6=8ͥ<0|AD789>N{ӊnT93k!Em&=!eR_xi@9  *%XUUm)݉l_?cY4Bp± ˌ?X6Cyal2z+pg RwZGk 8בT/MeXJ&9% oZͩ&'E (#լmTM։ۊ^ "oLsa2y;GE u,E <uK?jXƓaC Vp2Bĝ;<kA{},'ZiD$TG:iRRVHTcE(-1I0׋h [cH\||\+x\neiGO,Q'd?zzw.wq9ܽ{4ם;wp%lsq֤GyC <qd+ZY$T0>u=$ ϧ& "l(EP4\YG_>@}. >N- A :x1B[n2/bzeCv%zNpxt||w\ ,{yt:! {ibu-ApBoS63T魄tucWH4%;'h.%.8P(&yM^5SK8%iZ*9Ɉ}d[cM#y \.%r)6r',Ak)-mUՂ%x>J5:g˘^ƸB4( ([Ӓ(xꘙ,E#,Jxqdk&b$š+3I.?s3G?+Trg: dΡT0mTB.XbQU|[Nf1Rڊ)p})֦N:W,BNJuU:b̜JD[ɃC._BV9&?V}b1/( w3<%{sǕ}ǴFqyÂȤJAĠ*5pO[~y1! ݚw1ã[Mղ[K|0uhY&)¬&Hh42~CY uFx&gHLJ!xU Y"Q:mD$&QT*—SP(J#G ӼA'Ԁ ,4h8+5A*%UK)64MxrF t p ôG:̩ u K.3m_~;ݻw⩔yڂ,rI)$G]򢢗Tc ڿHYv/I sWr\92g^,([ˢp7],9Qzn޶*|qvg/cW֖ ihJ`mDђhTpAaejdņ*hGwܛ|WnN&Jm؈ ޾yJy%v#rErC}WH62"ŅnQ*X2)9[frNf,j#f9~~f. ۩]jm*hB9E:F%?}RyI0L"`hXҕaqϨ.vPِT(p#T#%z{H+%Rй/ׄZT} gru-yBϯlånD܋(f ʑ1а@23-$ "=q #-NFtI"Q{IJ~[I]5$DT6GT]F3ߡ0sjA+i_5 ys9e :]&* aqWăԫֆK?[d'TaqV`A:]4H*c(WKp d .{Pa!}fD cdŵcT3bv!<U_gH )sJ"~ /MBDArAMDž}qB_0\0eg6s1tbp 6ĭ6ᤵʸ2X+;%ڒ(&1ߜ ¸-򄼘d<)kzYWop $YF;lpd}=fV Lc4S/,FHB H\>%򎞰M<}kNbU g"Sƻϳ扭>3Dm&& l'!?cOT1V)  1Z.% +M UqFkű/ BC, HVr2)"jP +J\QQPy(#Z|FNCBB7o|=50=:0:zY7NS3[PJ) |dX'Tz0[Lkс5KT8lFqpNNqWJxԹ4mh # M|a߂?!Xƨ0\ .?AwWy_ \Y^2،9 #"d/X_i c)ZѴQ80ZHnîGjxKe5'lgSpb .䭧2jm`“vz!+S{lv t7) VKS)C!SyO.wKAJ^aGc͜z/CizIR[CW&p͂6:cQͽ9io$98beBM4't:!lN͎YbZs2 ҈ajLy$-ac>Xf?gn1?ڡy݆iC%3!5:$m/cxP,0NBhZhT3C( O9t51tɟh֭[K[is OKoZA#d,Htk dgR7ҖQ"ǣEE՚GX#ר0Yu Ҙӡj-MYڒLTm\-y-=d'@ b; Y)>e=Rgd\4AK%VC\bt;/[e _ilNjbeHv" jXַ؝9V[;.f z+jv:+O 8nW %bZ- cj:YdaPWppttMȲONߖ_1x 0wD$hEPev4rmcB1\Q ;UE$uă͊%XEo%.HB\EuA@[DS6α f:QIތ 4"Qqtѿr=Wt[iV&s{kz޼gSع"iwtH1K4 Xi4bʅA)Y@[Hh)8]ѶKk T($Exce+I\z :ܺu?_H꼠.4i>{7tch &`.McfWѶYB.޴<|[ !B?ѩ;kkViI*xʻM8tfpbXgt7Lpueqvv HZn9D OO TOƯv^׮=;{; 5ʨpѬ8fXgŒZM`G O7 Ё'KchdOg(&Z $Rx7[mbueoAV0rְ+g8t5!* ,won )݁I RLJilL{o}'xd廯nrM|7{_ڷ$8lcon2iazPN >q6JmKfNgфgFǜـ~i;9ضa2]ƳE`\!w8T>1 ۛS[ߺ_={W-#?݅|xmPrx8>\m>}_'W93Wx9y|?(O7ػ Ő_"U VOb#3_Akh(JVmΟ_$K"&,~("Ӛv6„1ke%tiL'ON:I=_# _| -D$$f|pTM?>V|v>3G?fP4 &cu F"F4GݘBHNA: S&am{H>\ jI#W6鋔` c ^s$,1_ ~yc$5Ƴt|d`^d?Eɨ͏ޔQp-7hMJj R[T% ~iMf 8\L<ү]k|x%3Ls/09s}z/ CH:<;s^Wv7W?4~ 1!Z/?V~_=~ؖ6Ÿf# vTnAiDd1UL:)Yya$GGwXT95"2i9$/ݩ_):Z x?GGKM?,?@<@=r߀j w?O{x_wG ηx^uQ?a9Xh+4(J+ݩB h#xVSv4kCG?фz)3{V9}U0Lzt>EVBG% d2fr,n]1A1&غ۾ՋaŚl_f<9ftg[ݥ*KҸG#(>o7vu{q>xb,i7 ZK&i i^Q? ɔjYHjW<4!w<s/<,/O?u9äX}sjLsv#NK T 3DIt[>@ Zckv& կ\7j}YՋ9KvUx`m@TU IDATLOx|{o3#"wHĔaF]U9VC5Sz]&2.-ʔ,>3$tX:7yg |eTN*ˢaZbcOrvrXXxJ̽w\u;7ʡs7hdI(RM eJ[9<۔oY35l9ȖlIV,DQ"  9W[73T ޛ?|y^U]]9go_;byi2v q./Hg oC'>7s)nsgݬRlBO$E@}h9&{;sG4oeq;ti/} j/物y+j 툖fbr-9 mK2XJ,Kd"PP&mq{\#$(2"oY]Z`dlBزlm/rmn+++f"Bw?գp{l.OМe-j85d^hL#6݌|Ћcuu PXBT4 $b8r Wqm*Nj8'`@+rzv-D'%TN,@"դU׉Q]iY3)006Jcu–a A:*Mb!\T(BlH'!kz>_E $NC4Ml# mFuYbum;mZHYvV#"}"T%.P֘.y]6Os buw?%صyOEFAf4١u{i| _//r78E%,vZ.e6ks>u+?xYaSFLKyBʕ/`o0:WɌv]&'xy޻|#P)25}jbY+Dst3cэ v"1qHILVcb34bܠj躁x(P,]g Jã']ٲe:IO{$qmP f!0y2cQ:k~CˡWCW!H}8+}VuLBbCAÐPSIzg˄3<$B!{*1qG H0{V#ՊHg59=UFDbN"&]XbdH`xhM%0$9s/@sڄm"!R B<~}Eg [9.jBP(ei]DA$J鸨BJJ"`6o"B`Cwxs8$mmB4[2VDqBtUVt_'g)W Xa9R!(Z)DUr] 4Q4ڳ>6m~ 3ψmO4G߀˄/XzQhy񯿎}d4ysHvuHr _xfNYf0H܉it] _*M; d+xUn,+[XI-Q(Hi⸒a1v۶ \R"H1FQZyDJ)Qh7^;ǰf}?~ּ Kg!'O k@3@_@> >De/!rC0pXi$Z$)XH?D D~OqT]!mihF,%`+F C} 1n|6 S*hD1hKsn.T6j8NМ&Y2Pt!]d*f!>b߽$`*i֩n=:!:(aJ!uVQBh1N:ªŨAr-Ʒ0X{!'S`Qc$euai5Q nSL$L5a\m U`uK0. :3l)a6z|zc{ β&,bG:NHsdNi&e[%nQTrM#G/ZǏ|lTRs^u?1N{uJtD wjF'qB';ʗ}|Ls߂W"˲QF2iM0 Bj&tH#nR/!it7N  ɚVHzk+=f8A>O\9w9^@# FECq 2t7br#z#ү#aaD",A.2ho^+4Nx]tBl LLW _^#qCI_J#I0-dtz' zLEnv6J:Awym$:Lnedt>eT[R\NlɀY'Pb| j QAT^W#yv-˯J,6T 7aTtba 榨:>Qvi6i4,-p\V;MZmNuHjk)\s$SX͈ÍYUAkD:M$4: t0c_~ @2dKVO׎nFўe0D5N0Yh |aD8݄ Qm8->I %D!(@j$4"DgQqEpxhXKOH#tlKiAEfAOa,#&DtfXZ;Fxz8 =uV򗿈*\}?Ͼ#$8f`0 )"\AӺO.2 f^ASlVg;LFFηJ+GYmxBĬW`zᷪD. wv%QkP-FW<ۡv0En'I2xw{c VhhQBxh}Oq uQg}¢GRDI Cwq݁=8*U -~M)ߏjnN"|KGU$;/GXB*+E*rFLiDx:F3! &7^nLO~8zbNG?ՌȦutPQsR6k:V?OP[9eBfzVN<׸ٶzZd!q _{:EȦV]d2;tZK' 2[}ՉS6|^CF iՓ% 8pB 0-tC'ʌ^׫$ Qc(m7Ci ?KEhF &g SP }'p#Ay/@_`Ϭy©6y|lR%~UE` %'e4UHjDAFG P/Cɗx| zyId@';@:InL.GJH#H? kJtE_57Gl zEe]~^ @ r:a6[DjoUĖA5C7rvy}dYxS3+?ES+7Љ4UBlvP$\ ^m ?JqZ>%M×Z]ðMy/E &$%nX,~&" Teښpw)suFc{6n,iХO8eC+u|?(mnӥ'[+G1R&ӨqLRu)NvHDS^@~T  1W[v!:NBUapW&BHu9{v@|6Hg06ݖFJɡ-t'f{kw}U_nC1i{]) h*OzYf.M# $?6BvUqMHm 6Yiw )+'5ƣjU1GWa׎ )@Ihk"Ha0g !1q*n1B7at 7B~#(JOC(*<򥹲n?T*]!{ ddD=u3ID)Z2r'`n VJcE@s2JPpϪ"0mDcʴ)fra-6 mk/|槧aqDQ!#5iMDUQ}RYC.^&'GS2:e~aq[8dhHe^>wsM`g k]h@4֛+d)M*9 khNN!?D.mVM% CMf= v 7 rW WΒR-<Et:fue%:3P&sd=b{Ѿh3|GDN22iPLbA"i6lͳجs閫*q I`k鈄 l<#O3lVquk9[;ŗ?̳etnRF kl#v#ȧsH hx<͐VnRUTF>@0 ^ y q$vmt<&8($A ګʙhN]_"t礼VK-V'DQrM]4Z.NIk}@7 x#̙h`S@)vܵ*:6b@!R1Vh""m[W~nZ WY\d' 26+muF)27H,--%4 d-jk)%CC,1i߾9}Gg9Pַf}#yr9Qy8q ՅWBmK.2؈ 39쁟 #%M^Ƕ-ӤdXiV)M4&%Mu2}\ksMcX%m5*SoDh$ z8MWg)Gw$qrיY mf( 蒟}sS}R]mwG{rN6_.R|ͭW][n{}џ>py?qpcdd'wЭ,1MtCj#Qʈ0f0;7_շo~,^4$ɋɿ5P E@^6d俼HbiS c}MMV 1-8UaxNs=D\4MD ZZ]cѬQ6D(3 IP u;Fx节 U7XK*dgv*Vo36ňScf vyգr݁yJe>%ih8uE,9k7(ܼ>|;E`lx' NL8,|߃'bEFdM@RtM]G6fvZFCM]4@s)% N}8),ԣIglG=kF_a+rj[y!-JTwnbʗyܪCyl*iTyv^vU/2]MeD4̦-}x=smͬ}g{ ]➿ܲIR-;}&E"TNcm/s(ػw/O>$@al߶q x/ĶLVU,IJ-,zj\QГUo\2 $hZj6ҋ ^EI@rpVU f&5ͶIUC8`xiK[L NB :$GՠyI^6) ~0H8%2W`o} p Da}R1kzu7S=Gun]WE 0PRl3O`dh-Jw]c6ӡݩs?Qk:պ0Q a,'3/dmd=Dvi4]9֗)~fcbr'={ǩ(quH#;نN–a7m}C,='( ӷ2CO7t[,eaz׋ g,/@[u1>L3Myx^m(DmRuoY."y-[`nfR8UpڽٻsCc"6Qt!4gH]%&i..24-wpZmWHVy]a撨&" ?v ɯo\X<8&c,=~O>$ccc}(]S/j??qYl6#BGAdaugcH{L˼8|_/„I\x@Q]0 (1'E}B̝C,D/l|f$8L UC(FbPRYdA <EEҘAWu!a?6] 5O3TJW\u9'QrA+RsrC4^Cm:k -_eL6gN=O LBݦ2Duζi:j"B6;HեĊȨI L_- ܖOKZCD(xųx?F I*l뜚9Ϧ"L,4쿒ZK*jN?N8Llij/M,S Okor% o~ .ۢEtodKGyw&?i=F0ӈV aE-RJ|AKny(zuRl` zo}Ѿc:j4;oxṳJ" C$vJEJE^M=pM̄Wr~y|dpNH6]8lK~n8(p oBu`#Ӈ؛'[y4ne橳D/Opn$gk8Z{rk#;yw4=,<}Wlghx*qªhew:~O˯DHL>vN8^B+5ֻW?Oqwb6q:z)&Ϟ6G>Nj d]of~~~MpÍDQr*0M.VUz R$ٟٵaKچ)/y]{5Mӄ/DͧcrqD3pɂTg2eFF`q~'$$u0"( =4MǴӗA~%`kn&ػJ¥Gh-?ї%;:!*ZEwpΓ[el0^E6lWC5.ّ1:fjGDl1Ѣ*" lt)Cg(p\Fk"Lb!"!A- K~8Y`LJ_FQ*6&0ͱl5IZIΑsIdDo<0WW C8e%ֹ)F^o|f7Y*qxj/tenaiq&Ft獤v^ÙK[Ιcǝ;4p3fV9{NgG}7ќ:ίwrqvw..Ɯ82g}|Yg0{ynםu|qQRvˮG~t^KkB [֋-wu'1M$Ie3zKx(7(^ ^뮻9~?ħ>>7x E*v RoYiz ?4!t)S2/1 Ԇ7ޗݰ7?IQ$3eB3/fM֋Y҅7МF 5E =KM٬E,<ֺ WIg&^'`a cu:4VjeH9)dK c;&鬉mz~}9uA{2O^MPu]hlAF/N! &*Mqr 0~ B&kLmaݓ|o5fQ:珞ۀمu] F:{KW0[8n?\W>6}vy,bag>K?˹{sc{-YL_a*>:~f'|Ӌ[v^>a6J 'i4سbxiap뭷|"J~|#!^+46)#cc-կfq399oot_I.HVHdBQs$*l미THb5W_kaF_0!|v]׍;3͗u:Smw18[k }RBYFK +*} XJDMQ#IL$e 8s0 %LJ.V>}0ى C1tբ:M`( T׫LjUS8$~=F8+,Meeh.9;dZBL))+SݍZ E`LU4"Q|RPFTbqi]"QoD6x0n}uatdOS*8I/lXf~yH]c"4[C[yWy\{M4"8rAn9p!>a{1{v៞&1;3[nEwZgYݲ̠B*kX][~'y,qh}KLdx-gYq{o>dR"6 VɉɄUUR084w qqt$!W,Po?̡ ?wX;d(s4 s 0Ԥ  4B,iFKc%%nXUQ[UU~= 7_K:3H٤ek㺝b4ѭr͘#T|~vٳJܻJڿ?\|>4ql/z4u;▻vLUi&&6_g)2NtF ma̶]c2Bn_p% t7ٰ6Z5?OQ )ٵ::uUaPƈh9dD6֠ CJvl McTTHK+dOVi-ZY=N0PNU]?淀CS)c; +׏Tl* rk#߁D@׍A63R觜SQFUuԔAD#L,$L]V]B>ziF'T|%mz[6 qD!s:2Yb BF1Z|"E34f9~$eM#lWk&Qrfztru˶7(ˤLe͘"`]<}UXtlTᩅE=콣$:Ͻχ7VfFmՍ%BŒeeg={Xsva0a+$@"-WuwyEfdx?" }qxס{UO}pk xǃȁq(`Oބ={CG8pamTFnng0 4N$D/{ =[C,1=aꡢ-.p A Ht:t[8q!p,jslB_- (LAJsc3JGK&xyH@γ֬2+5R"ŜS/sgsln`U%xVr9e39:~Idf#3Ы]$}q*?]"{$/XSStvd0{ⶃ`e8ۻ5^|9~CA[=\e"7')NRZs]C|#w/<`.8d8p g{8ݔKo<sst:w޸{wmd}/uBpپ/#\]}_ףso B Cf~{nݦa}'nSѥ$ѩ7-4|7{.5Bܰj44Iߎy.z"ϓ@XPqh4Ndkk뗰I,evKIli˧ՏNgkX#iS!>qm<"sS$eO_?3wp)LE׏X)oЍw!k2MgYݫT*A@add-pq0殕]ï(\w:a a\C͈O]&;0RX{ ⛭-VDߌESg.b"o3؟YǘX˴h0ez[F Š̈)_aD a(_`blQrY@Ҥ)fIׄb2V DZD蕉\8>CKa@ @RiJF3N!,v"OY;E,ð28aD7\(p)o&6DӀytrmS,^>K6c9D.6?}f JE@ [K$Slf!j+t͗)lDШWgFm[ PH'p ͭruw{N"A>1u*uOq9wzzhV4y/| cX{ KKg.>CVG)|Cv a N<ˉ[}Bb=ëgN MNg#+k>zF/ެH3d4:FטyG]_R `ssT*EDQ_9n86B/Ngu)%^Q_/ؠT*!|õ^[1e ta8DŒxđd||MMOހFs,?ߍ,_h} Nݱ/uDA|KORހ&jIܠ֟k6ӌ*0 } ·a{h'm`%ʢөi/0\841l+Ci> MOBQ4Qqnkn@vH DXq+o|z^tW(?EHv2zn'oe79ڠhfٍ yti*0qQqjL.cGeꁤ[ׁfU0=JÑ# ./`8/-}ـ=44gK39*d6G)Wb{ϢBmސlYHӡѬ366އ AL4 vvvm0 es4JM&]O)ER t$aT~_z=fNm !$ ØXuīny*6 Mבz2Ga(0-]ꖁRH#R ~?+RJ絴uQ- kz_Xk)R0??{g'ic'@ƘAܭvt0E4F} L6RՑBCBc a4p{- AW7SN"D_=I RK&Igdrd+\޼`'m[Y0XHB15<ԑ{,M1T}h=F{ddYi 9xnX )Ҏ)5/|#Էtv*=6W\ zǻ`o翊:r i@I*$",0 ^K-Aa\SDaǏY]Y!JS(0_3 [[ ?ı$ibpx]& TZuCZHy{]dRj ^ 3Vq!LWv)ЅK)zիUz%A pBҀR >LGuL#* t4M4!z )J+h@a&qϤP HԐ(BjA࢛iL'n:?tD6ђIsϏ=혖jmMPXJ-~ w=&6 uL`mm_1q臡M7C)|2|(VT*;8n /lz]8eQ[7BH֖,T:.kMo^$n~Ȅ-FSZ cBI)H)d b%iG +PR)%H!PRD+8Fı( )_ D(RJDaJaHJ # s/~`%ry|6h4H+4jMiJFm\'w'p=GjZ i=P~"/i f^ԭ{FBb0 4xQS=hR~eMn?t~X#I*EbBSQ?nM6Aq ͍$4*XݥgnҌ=/-wsv;m.3-NynwH7͜_drA`֋$ldq+29y]{~'YX0!u*J:_{o(_~0[\7iG;6jχX{M)T QJ R HM*BJJek\<{qcz89B=ƃH[q]Rb"܁äRdO%Ϳ{==O=MƱ,?t#tI~>)F%1&ۜҪF<~Ez~тuW?A# h?y`L2 گM7b'E]lOf}m^GPuk A)%Ο勨(n'۩ec;BH.grj <մ}p=ēO>O%qO>\ebb0vW'B ,ƬX3pᄅnHoop `\"mYҊ",!1tS aD!XB[)($Q}"ILBAR@D EERADR(8&"ŤdHƪN$UB)I)\O}S^OiN.Awřx_ɥVDL*G&%t=JEĪGMnpd]D3< + @R=^t[$V1`h)!dѴ *o|K~|a?"p1b[B^]|6FՅ) &:ݐ@*&~(GS-<GtLy#Q^JQq]LLGgdzi#_ ^hw=Gܥ ^:J7 _km]2s'xG_]܊cy c|K_(rOG)C?yɡyN{awgXowOe 5JSNȣοOw\\bs'$i깘ඛnXݟwoxL&YYY&LAΞ>ٳYZ\dzv!a06> =uػvy.q(׾Tz 6#5FoahfTA%ت5(Ĥbj}女$cƏ`G|\+̓ vt^1n\6/8{zD6pka MRmrZODI*]D244yƦfYC>wg9vY]WNV76Iڃl֯ܭҒd#iB;O1=K 8qzIek^hwF1.`&۫(46J1=4hi60ܻAƁq4.3Iv;LMMS,.?-+ˤәkMȄum@yivKy!pL(1t񉉷lЀa M(CǗ@ӄxRgiI:FǰiD[ESD0DSiJM4tM4@4LCktMԤu)EMRQBԐJAM*$U)**Ů*'?Go A&Sq4M_m)bL$K44 5 =&I*':,|Pt7Qk/d Tbd6bI $^~5(qmZ!_hmץ\'k쮿 l384mN FqcLK_e,ҳ,,hXYCw篾yۻBZucAv˻@..퀝 F3k4~Z P(1Z:% EUT31~4He$@B6^Dnd 6.\o؝232F0EH?/+B/=ѱ!o'l8NAQk/8weO&A2\Hއ:Ixn3ϒ,Qٍ^YÏ34DEx8zCvCZch]`8:q6O= n;.̷=ϟk!F|xyO,q.~6]Ff&tۄn‡)$cn5Un~&r]  a||!24nh:N^uM5c!D",ۤ{]-;!HY"#[[ "N±c!)LBh1(i AA^6|?ԅBᶔ]za]DbB(&b.JH)z!)Dq҄ CiN,Rٍ/B%#M,F?7u0s'O78pmTje`d8O'aS0=QK ޥRfcE޶ !I #4ˣ*I^ :x;FJ!Gs)^c|?Nm!]eM^7ȥD eDk;D$FC4Jx ._!Wefat;B \ED䫏;g'sK=O neHL Ü"@dskC&!w2~ϣ\ǽG7K kY"o'RdƋXi{/)fЭ6a0D(;Uw""[Q"g/n0>lk )=_~6c6ҭ}?&=bfpa,|;܉;NxLO`xH#~Ubg_l4#ZI\˦'E]ksz;︍o>d@S>D^{W+uyra=4˯^/>qX^vIriE$\҅ q:[;-v=D~DHmIS:K4>@-r)+_ۢj\9xKuk5Orjz>%`{Ai,C*,]Y$P,n?%Iervݷ*S H)n\z~7`_ׄ`act;2-^@D!&aE(0W}|ZRhOh!M#H"M/Tovlw# H6BVdL!;j՘dnpòpH26̨ ʷ+8A7Hm_hg5BpCԶ;?P]m5GjA, v0^":7US‹oB"8D(jz MDaX #?종K8b6{{;u} =̎H&`%R ^/ o[R瞻o*>S;ˀm_[67jYH|aEמϞ_᳿/HgbyWk.8o*t@4B亄btzMLNK&mBa^vJ䉣t*e,{*_Ӥ3yNQ^ ;QrD2H;IWEOhM207JmwC*Ud{n.V !o_CRJLӼ6⚦57N\gmFRAzm 1(T(dHFRaMR %  u}( 9KH#EŴF K'8x>l64X~gc܍O١2IX?Wεg;ɉFWC jp0ΰJf躻L|JvY9s=*f9{8~Ě9Hx.U&&M[ XF]9CnAt] M հ-_C D.N zҢSclD2& ) Mp /SGvRK[X1,w3sl-ympQ ۻ4hgs»n$.*H^ؓR^(TױpMj4k:s3h RʗRN'6$J*"7&]Z\R*c -m]]Nf.l*m.q$IA~ w` gtAzf`CsO|mt/Q=>Y+{ 7-rA %z@qv}N6[Z]ty݆#xmfE)?0,R職qyVZxmV}a 1n;U$ DfLa C]#e@D*D 2ft V(iI| 5sqr87R[u9/z>n{Lʡ6"V6wyw˙AVN¿?Kq579~ "vHXQtj je"jD"Apq671>QfbdFᵺdJloPRIv+BBL,zM\&N2}\06:ǠfqF hQ!뺘GdB6cV*QD&0J&ׂDض}CDͶ$ee8ˁ|G1LZ'} *uݐL/ta$:؆Fy#TٜT˦)?@QWQ^ci8=Ih]F~{^g*$ :x]ooo}Vkz3o@+ 9sn!eR9k4.H:x"z afJvvi4]`P2X2<:(wj[;dgO>w܋8LDDncM<8x}OލDb=C3hDQ8nbyB?BJHI(D)/02:AvH2&}}z6M4x)`y~"tMlf;1 H dlU5#cӫ#G;36F_ .I00IcĶ0 tvnVy7L^i !ئj}ZJnOjFfggI&qSV]gWla"kx,^zsoןvB(_p"B_#JШi a`&cH OEJ6Jmf ŦQ!錃+"(nNidB?MDŽ"p;|ϻV{Av]\~|+fi^t) qˌ ugKZ]AF=@qtfY&f%fRd zn²,'H5;l_Z% LD,A2y=q]F3V3E"LlɅ zx#׾+jK?VM'5UN4 .^āPJ1;;4^?a@Q5b]ׯW]7+ WLPX2F׵7+j"O*DRNgVRz ϓot1R($ҩUaN~t*DRzBU4NvhL% bԙǢ {G[o=|:j^[ " Cs/|O?_H:Ԃ:^}SBMw )phmN^~ŵW\`DyL0 0M6봃& 0:FȖ:)-a`dq]҅aNA;K[/A.<QE&?RCj B"B7u쫲 -EUF7L 4 ]zZ?ɥԠkĜ8C Iq9HTv(W%-sWOf%^@ 5ō::[ZA֮2fvpmuk4DRY:=%^"@q=\>Gi)/o\"0I8m8MۭG!-ݘdԱ4\V(ת] 'E!3?go%Q~oD3k}@HB,cb<ˆ1<cofg!@m lRcO^q*0 ۾ J? 8﹩pāĜ N(\L-Leh*p<깬؊oܹD f pA Qо򾨑ZAlX⺷/֖^vرsno_~ۛ &ZQ ah Ck :+}(c)8ʆ$+d'WkZ`#:.(@$l`@0I r$D@ava\ ,BRV:mB@ tlp*D2PVAuND@D)DHSIX)\Q@ sV a $a C6j+0Q$ `PBh$4` 6h":Hu" cCeNh5kkYl:x`ÐJAJ&^z3@ݑqt%pZDXZ\H;Fz+M7ᒈYdlz _J@hhÊbEϾZ04ǮeYTU<||Q딥!IB A*mHlp!lo^ƻzG7j*m7`lJvfumz{{'A.lί==PZ)[uel}ݳ'E.~~öm;eP' f B)y dt$"LMMFmel_~%vlVqzJ<A"MRElۈB>'=a$O/_G>Iq||/2k},(Zo?zzp 7As i^GF\<$ƾ^^Fazzba.?A5%h<ع}l9~5ub#Febcesӟ^S<6lٻMf' bP4Z{i%ى߽8Ǝ]{f̕\.. "Is&_8n|חe[.rד)<4~owmlݺ-›~g}\wݵ?륔ضc'y]ux'y5Eݚnmqغqn#K}Y=0s:۲u֭_Iѝd:E\yEbQ./qr';8 +}}-?}q!z.7.gyŕ^=}.mej14~frwI.kEGpfEǟb5{1{$xbU{ }QPbaժM{j|^_q]w-b GBկƶo{_qJC_O:fƦMwJ`A[/ g <#˿NEx[rM}- ?;:nwZĉx?2nmL??Lcyy'uk>9avvSS8;~ʔ DoZHeall eV;OJǤp;a@uU8%a$ @D ^?RƵϾ˺@wb3 @³2Pe²Hҍ^Am_q׼> avv{yڵkǏ;@$j++O:)"I>. ?uI  ĉBJtM|e9$֯9oc-+qNϮmS'/@'_AUxJ4w]>6I yW61 !(ֈb|AOծж\$nu{ӕgu3^/}Օo:a(i,!#4ځysAy\Í>I#; B*CJRNf&>&J%v*l" $$,),K'Ж;=uBHaRJ)$ [ -l%^7vlAU̚o7`QBGl;N[ k+;Rq[ךWNJ;Va)98oYL |t]}i;CMǫC//k:]鹥:?I/3(Lhت?o~'*KJ2طnefrTH$< $u)y"(ʶ-7#c0_bIϗsp.v\%N,;C'+`9Yc^Y8I4 kn9|GN<8dAs5c?|%<3xkn\ tT!\HR>ǟЫGnMB)gdAEt7F@뻖k&%ɱ;QĀI` "Bī -jAk:hN66G+ܮ.Q5SI[( )HGi@ZN-(5/<[_ZlYqϰRpAHRr$-C$(򙫯l(Pɷ,a Afƅ\ҢYHM\i4۲saM@4Z5A%d+<' Ht؈Ȗ ρHȡ͛$Jpf6 a X|$R/HjR"a13@lsUoiM*S@`0Tݕ/` %D83m ]v> VI)EN( ״ $@X!׷5R_Tk$AJJ J\"f:ncfFk;PIָy(q^s:UqV!e $2 "0""I\.(NDٶ粕$r-n5[\(. u\<ƞq)l߾]7݄^Z8p㠯|k'^-8z/Sa3gNcƍ, l}jG ؒtؖe$N ؑJ1z0YGc8NU0L0ZHbA02uj,Di.@/ UE9f.e- 9S;\_ t3T6QIb~y`i;m<ǑiLteER3|O߿ח޼3(rƓTrma+HSԌl-[9kM-VI )(|6OVF32 :8Q©5R(k6!El&QEdYH:dI$t;LWW\vs 'NcfNL{lafP6#)@#R:{UP*Ƴ,lXCf&!edqf܁8 r\I'1,禧 Zrw ^y1BIEdB&d{ 0EaADL V8"QɗZF#AR@`)0#y)V 8vOm -&"@/̴bVϝC ZϐAe[-٢[sԟ|r1"# ضm$zFH"\{isO PqF4M_"qAO0t]Jc84Gca"C,L1 =_uGg`=`CGƠPe:~%ډQzrLM*m{6BlK1:BAvC Pd$(jTέB$rN M!Ȗ,v!BJ3Ӗm$;p-J$JW{J J~) zZXwjKdnl,<)3O<%I _7EQkJ\Ay?!I 0H!fFZ|'Y$,iX* `օBE!-˥L6GSb#\ zp h*U*;fgG[(TJ#mJ:X׭*@NK\8 w3IJ,%,Y-743"$H*0@KDR4 v rPo;/-"f)q! ͭqJ9jY3pSO&kCle+nEP %)cڮrS ڭV?bO\Qe/hJ0 !Z&^xYm۶#ϟ\syi|_zMT*Lg'N҄=xbkk?M9!;؀%,۸ !Rh4N , \džNbhCplߖHt`͒J R A69 E'ǀ i ]Hַ kn[ 0"2t ؾscaȘSb(0;0;;YaKu|U&&œG0ؕW*EGrt˥Fn&3<[l-;=O}$ 1hx +2h6aأs;4l&KB)Cdu=qL18AȸB_|̆4e[$YGDQhuGu5& KBEqJQRJXh6]=8m/Ii9lڴ_m6l߾CCQT`+#J; fi<8x >ߏt3GX r۲3G añ( 4 $8dv•xEmfxِJ3.&OӕOվz$SÚ\φ0 g Dpmih./vx;B˲ Ԉ|Vv*d)+ Υ,{uKS`dՇVSEcZWԙ㩁DFiO%*b,+%A8*uBT`绑U~ 'o㹜xxcǮ{g CZ>kxJԒIĭmىF]s ,W[tn&IA14p3sSٵ]uoSgXN$D p /5ݓqB d0d{2 û/ d\pUƉSsj|HUtP _*`X/L5[ё^XV8^"]Fҍ:|hnrbP6%aP@AqBz^g u;xn$,Iqw]?0; RL 2vT e)`2iܪuBYȵZ-3io߾ #.>_ΞtuSk_nnT.UW ͞;:Pjq qN@D\ח/Ce`hᾂ85,$A=.CB+H؍#S@IrG~n[?t`O&!̖A`R`#mf۶r|+ :JwI@du L#D NuH85c[: bH G*HV6I̮evJQ IDATTX>UL4cژUU1N٫)}G.cPZqjv#ٲUOrOqѱڒ.ƎPl I:52y Se\j̬YZZ,_;nMm!Ѩ50Z#ӥ!%~8y*ӡ7;uuˍv-8`ALʈnhO]JQc LaﮛYdCPeGgWfD%" -# nױkK|lҾz(DHPڳ"lucwIzOJIRP|?K6H)\H&Hr\y' ^o?7-H* ٺmaav;I),X !,vgcl IԆ("-QjA/>bYֵZٷn8IYݦ.> <mذaBkZ0 _!wS)K)@~`8诿s$m\D䊎a@!,Ipxhb(3G??֩8vs=9YM(b MS亣1>vgO},cF{"80Q@`++YC*I/UC,CX&$ %LZ~&Nb]@ ~v٭掣Jqš}h.!cpI =Dӧ$J|x)Skѿ]734~\ުM1 K(B(x LV4ؿUJlQ4|2SgOZYP*u\Pʬ7QEeHY?#IC-8n[/ !a3j# Mr(?wmp%4DGB9]O3j \:2"݃qt nņ,=L$(rڍE4k+r̋%q2S(YIvD9!aS),aB:J9N IKp?( Hg\VVE5y%qLn.@7*IE"C@@D}Aw؈\ۧ K~P_^RF qɧկ ꯼z!D' \WrtI9x~R_NAk *W1e$R~gv#$3L&`Ƕ߳P:6 #,BBo @ե%^\XX$eL["- VB`)F޵X Cl;mb|6NDeBR-m@% gaE-bAr~W3"j3׫lUNj НHOq cRyEkVX+`=n0:EGj=so3S$q q gO-$C#w*8ƙS3c +"hB]y8<Ö[PNi TN^{WمٙW_`a^1$ Ve3)@e\+1f].t1$>ؽDr)"nњХray6+Q@Dͣz-sceO0u7]kv{&J} &R=Fz([GpMOO I!YUW~$DK{tceerƆ N(Ncc M4Z3D(J(r_8L7RR7g򅩵Taa|Led}zua_F}nbLYԪU2agJǻͿ}[7 )c.'

eX: X+P5r5檇ţO?]Te  ! bĮq]AWdظizC|0]_ 9vﭯ;ڮ%Rp#_PN\ARs+c̈°j]~ۏH8".Y*gs%㜗^\\1iHeuU2O3 ( [wrim9Mb{? bzf^d)byU ~e7qÆHEnI3,yb[/]˾``erX eKybh- 1&E$H蘢 \W_IM7 H1S\vaZ FfXh9^0jƊ`2b"4Z-$ea *+rMnEU$`ff^5ZZ}|{z\ B5kd\w.qrYbu/1gPtWŃFny/|4޹k7͗]}Gl/E)!!Y-^ӇN Ϯ{AK$Q,ICqu$aȞgc6''5.$W8XX\QDھ}Jfnn K3oDW8,kS;;/=鶫$sIS&澹I )N=UDO#/d1%UI0ϿJ]cnQgE|mql$톌T6;KS1HR$"Mb7k 'n9RР Z G_Dœ<&U0Z+];[kmv\o 'NCl^^Oӿ Q:{/~+_XZZyfu_ 8jV=%'KD=Ɵ$ }~呲$ H 3K$XHT@>8A;5PM:IwHh `gg$""HD1lߎBÀaM=a\UR5X>aY}>mK6\?C"4p`e,穓ujDf}EQ//%,^gs$V=cCne( qAsz *niU$1vOLO&ش*>yj6+E׾}gHSx:51~Cde)kNhŀg]$,PˬnwZ[t1,R cC B(17,`nf*Z%WU7]3Z4`hp3#xʆ I`<=mo݃4O" \7kv>K%;x艇hY+l㯏]P-%R-3{wVt8ٕj*1F&l&&َ cҩPEd#8Gs݊A[GI)SmI79+—X7B>G^|# B N!0=ۼ>fFtb߀8Luo;}:xo nG[sa+ W"?{jɯ|O41JV-%2ĩF탘QKZ0I) ƶ$l! lXMiIFh|QVUbF!XD+ϵdUD-if8̰p(Mvd;TJZ技NwsgvkKma eEELMM"H<ın4z/i *l0;U%LF{5s(Z!f0CRqq {/.ALpeΎu{І3lφTKYqR 3\)W֪@`&KIf!oܮ7|9?{ *9 $i_ˀ緡]^ǣFQmMҶFbR8OVSi**]WL{{q7^Yۊ$d5LBJJU7K<ֽ Df$`C \8cf#&x jCKAI % dK'+<|Û4:w0V.v7-X4^:zċUrf#N CNz0终a؝ aDiޙk.;sLDm`` [1E7+/ÿ059()mg# _*Ec~j 咣q3T۷\G*;)#m5 6лgQxm|EA=H0S]6^:,u[k╬M ]]ώ'6©%t8qYo [D}G_.__]NP^B%o#* A!LjX6l4Up8Cs3C=bar٠D>qmWN4FvV:LYM)g#[x v}$kM.uwQCH%P[;;A H`эhՕ ( o[Qv?ŭf`iVv|^s%pF 79^_qVϐ6F֌" eK^6l uh۰ΨK+صҘ7UWdM̌wc )9[_:hG8[AP,~ J.JX-•@GޒfmKj*[{4 ?w/@п*Qn(sRE,aMq0'CcfzYhVW;#V:T,Z bhg>>+}DAkAjPʾvixM? AakI{֕hብ %ͦC*y0uz0aSN_1UaW!M,,+Zmc5zݔ.媈`n{}x͕ݼ}vqhyM@JËk}!A>37?|ӋJ.# NXXm01p,LsJ'Ũǂm)Ch֊aDG .`.\R:MnaL#vuT)YNU*$YkDN_kG(V ӈLr˰JtHJ͒i5 +%/"T eIF@]`ֈ&~CϽk:I#d1]]2==!(2Bp'+Xg\ rUWuu7* ,c0qx3fll0N81c B9|oswu媓~ 0xkz]=~߳Z_7kUw??ovo770t b_9+;[dnx P19q5WG{U!'&cWM;zjD1>3RgPA5*yZ ;G^~OBUx:03#!*OzZ842E|9W̡XZGj3:5igry봅릶Ƨ7z3!!NqlY !\R(c 5Q#3;anAPXvOgX_@*~ (f'&%%eMA6 aDD,lC{431.|~Z1:cὅBɤB0ISHifA Ew9q^w׋5%*]l>* "!;uڽx%kՙMNgP tCfmFRex37[?4R]3.;~$itGیl\:%z˨GqѯIQUheX7OG˯??( >?_yknκE!mR9^90-N; '+[AkXf-t7ـBZ|B^34˚ks *M"i/aH 0v8BօfZ! RCx6 iL"!)cf-L)3;M{zt:mbQVe W_. @f&qhm\<^-u߮G(\J0\, R'4>`p1e@z1dg ̈́!zJ$1w~5Dv"Coy7O3ny{vG9"adf&f<BmnN)}Af[PZHtnd~=.*B!f[[ۖd^6st.W%vh* zMu"(k`)lr!]F,ut L x};ΞNKgg3ic7sqm!Vs'& ,l盶`H8d|PT;VW~wjR{c3 _GtUHԎ`Egv^?r 6xskS$Io)>p6gl Ln]rY5VQ? D)bx/;T|E$=7͝8tK[+fW@B#mqgܫ~n^َrHCX! JC_kjY5 ̯2, 'ɠ~!E69 L"R~h19tWVUu,0(3 0 JCbC`e|b:+x~z||v>$ @ C9`ׄk R&"YQ@[aB_c /ǛO#{G^叼_x-f[~|Oˇr~z=׾?5l^~[ \v;ԫD7喯ڞ^Y8W=|(;Q[($>v9{^>ո) ~xkY5rŃZ9?x3/ixį9z sْh~ɭ_OQ~䉳SR di1 a޻<^;Ea~=}ߟ711LҎ)BFDc?o|+'+#DIG-^:u+ܫאMwujsw_|`񳟛=s#nǿ}~VczFƳgSO>2)|swɧLo}wãc/ٚ>{ygx;d`|\ga62XդkoR({*tVxr4z ƦYʼ OI $bMm ҽ!MGaCuB@gvT܆euNb Eh=H~3D9oZ )D6c`h'L >6@N ">X-8e#k9qEx'xh \-!qi blCV=$/cr`ok"#@I ]kgq!)ت^BΠ/rudR-%+E7@uoTFJky^d<[C(v!= mX_L!A*3ؐ:[kh6ppP4G聆Kb? #= : TN]O1U٨#_XCPYpP % 2VڄH弃v [phM-p2B7 Fh# ʹA<~CLjAda~4fw"A/0pl-wv!\qXD%<|"L8I^Z&Գ3t|nVz7B۠ev$-4jR) R/.ameᤁlڄ`R*֛MԶVPʔPv- ֘0pЏynw #FBH)Q[S EXhˮdBHn*ÆhyسkgQ& B fp'p- zABH0T`C)YX VlW,:6N.Ξ])y^0l{i(I@BvT'SEj(g_Mc4c~|oXs0`jz'Jx=.o5k߿bm?#8z`WwyH9?vK|6xÏ,zwUϻvi&я9t VVA ǩȥ +OxxCw \~M~;gQ5p5&0e鬏c^3Ps0;7 Var\BL Ǯ] 8{!' PpYҒT2wv?:3Pl`us/Ν[j~ ajΓY ҩ=X=~s +O>ʞ.%1=vbd.{=qтc43:M%R˜"@q6'aQLr d#liά)<82vX3)4mXPqzCqkO0$__=@a t0:Xr2AGEdPh=sfzjR8N&Hb)Iin  5Cz[Q+8!`bF4 Z35d[B_I!Ě5(`Pkgx]y<]H#W" ҹi4z~[7dGU׋~1Vn*yn^{  0PŅn:aIh4j`5`rrXЭȍ"h$ȩu$$J1_9n -m K* ȎD3+k9tzm@2Ɇ;͜ ~Wss})'8 DȆrUZ\$1M۫vʕX5pt8WcC y<=zf7s=;nmb~ /ߏ(H>WluaiR"tspK!'e.5뛼g|n ctI-su ;e!BO pў} lBQ,qh Fv1%Hy2 H]I~513d)ŬYJRRZ4Xk! dAn-Җei0)0cZmsza,a$g~S'NDirLDZRҬ5o'1Xkżg"`Ě5 Vq0,@"%e\fL z]O|o,;>On.˶fDQ`]ݺkL[?-VOqqP( tjR vsah@bO4";N#FFma`ddn ܌ǟXh!ka8alןj$7pžN%VWqhvO _h cL^sKв7Epa`b&26<'Q- co'IlaCLel!Om=mđ /q,^>| u+ 6Npv->pֻq<6yHēO9n&+!iaU (7(VLNz` m,)I@V N)u+ KjlģXmð a0tZjl Qy4:+"_!inpr(2p GOBaZen|qiנ/l0 r'A9NyFh(M$AʶݩL 0jX,13#Lkk裏C ) v(ml5>BS0Ɵ{#h:>rٿRmFx6l/0{>= _}iBuP00S {Nઋyu w?q+n߃+c~,[uT*SbmqdȬDae\|rl6Ϡ@n^'Fs~ZdP@}mk𕯁v}dReNRq2U IDATc6'_YJCShtBfS7\Ba8'XYdC7~5 .da4^egAyϭ ?)}X4@emNa.} ʷ0jdHka/-+~؅a2icN]2vE9ם">90025\u##9V 5DtjȱY)AL:0=N=I[^2|jf ZOaRT)Q@Yأ8i&<k|Ü(b~(+js{ mF?48g9|`z/ryXٲB:Rٌ  l Ծ&f2v.ff )w&@h4[(A}dG†Jm.f\@ՂmYp\l?ݱ#G^SJa9@J @<HusPH ah(C-ᱱCzC )X+ 72C'OaouhN#Y r],8~Α+;>zbruoGn(Iܽ@nԉ+/|\wM1H{꣘U`p_taHbB8֏f / }vMfH8495tѴ[ 6VjjX*+Į+bo2Μ?gϝZ !HokrhEyKi{RXZ܀04:_=iLշ%Ӕс=c|OԖWyjjz~B 0A5EB„Fɚ&v>&Oۏ/Xw}}}Nes9zɏ9wv_l' p|VF4PBy5SBZ)w.vjݵx hrz'Czx{v8$HRX/zϜ2a$ķzێ7Φ2m=:<x"P*ԮөLH F.aP# s 1V/6 [+Ȓ$АΎ t>XKspNL_k 9*<Im?/\(H%W%WNtPm3`ðB\O;ewFzz כm7/ŌSdJo}Gf.o-U#O=^v80|BB6{v:6ti.wIڵ ozًj:!t'zכ6{`R[dy>N]5{fM)H$% Ipnrnz͍`E{$fhN)Q.xMscyqYNfN4:bDc>qzNo:+t:a$ 5'&zV׶f b!+( `ôؐHGQq8It,@N,BV 0&IL۴@4 l5R GI$8 `K!Parck+zNJlnG{?}o:M!ČZoll8{^ׇkuU F^nEЊYJ Q"#;ގ]`bx:vwF3Ѐ$T#h~F,M|;&uț#v3Ȇ&X^Zg/pɣ\uλ,2"ø dJ&qAeWugӛ1J5K$#Al Mc7AGnƴm0`@HЀ*RcVfeUN\۞`H||3i"~C fv7?f75(z4M ̄O~MP.C՚3`ExKsj)>$~o-x'd Gy7=ll_xܸ) =sMg(/9nP^B$=C>rpwx+V{DDbo!*<1}'mv=AjG?7>0][9OhW_2h1(鱻v7qg7lי1^HEn>Wv-odF;* :XOkK+fٷr'tc-I){s@H< Οqhpxߍy\|.㑇lfUf@M{BVC_zjߌ˭5[V쐄0B5Q,u<*"Q0/s/౯]T-){J]%bvWPsW)~%O~r߯>hѾmuOc-[݉qPpOʹJ(?J؛ ny滒ݏ? >۰rX:w%oOAJ޹垘PE(]0H4xm{bB) V62b>y|ᇱ83tAbso?+[ܛqSao9Zw1=x8rg _r\F^>˘{El]٣~)P : rX둥k`8h!ikl_BjIlV׏Wůѣ(Kx"iv>~{%C/J~\c>lӧv: lUyin<O|X ~ Dv-s'`\^/C)& 5: b?r{sc0zb89ŭ'໿oܭGgO弿v ;l^2w† C Z $#0`L&qBapt Xtq@:zwvzxq,֠jRc"eqc;^ ZGgg/^{ѯh~}ld %|4$%  R\TD3h3߃g?!0}8>EQ5tZ8ȽmXۦ4:ƣU 6ηމ>6/ vy0[OObn.Ƶ18Эp n|mo=e;[v*ߞerޞ8}|*k5yO6^~AVWʪ[*,2$hV(w t6D@>MMdOS[T%"z3^oWU8*BkJ(X?<#O' _F qDiJo 0nwj3 "VRʢXٴϯ2N43?L-@N@ `(d3xv%HI%f:>B0&AW<6c8pCJ &r2Aʲ3=MG Zb2Cӄ d k̚B01 !xﰱ9&Ei8v^kMp[Apeɕ%L0M/@Lݽ,tEV psf{gp2e D5!VQYs=_HP8(% 0f "dXT $ 3* [}Q\ ABI7' *4Uit ,CF^r8 ,?:;|D=76]+Er+ +3xiwΠOxMp(KTeG"ԡ$mYXC!,.ͭ]4M4gz~c8@* 5wK>|T._~[s5JhDi_<(¼N.ZV֖pnOt@:gD{m/-hgJ A0I`sc F^O]ơSm8`Y4kPG/_ۏ0#}_?2jg?~l;T;Nb:d©3BRxKB|} ߙdxq]A~odu/n9mo6Zt!)spm4E>鯭VAbFbِׯ'\AUQ"Ig\H+e՝m\[_e`f-ݖG?Pj _H$&sx$Vz*Y xB*JkUm:pΔUҔN ca)qlrr᠄ ,$zdbHEfNssߔT0ᑗaD:i m\ BЈ@PׁY @ߴ-BوM7_߬}$XOƚDfCR=k [Z= W4Y{s ^zxq v_x0 B)0Ƹ_ՒE)zڞ"솨'=)9\ƒ_&L1ww+Z!OC+KoLIPcDn$И3~g?1+˜P;+ƒ: !&Ny`քRْ=J^xEgJN釾-\wQb;Y_M'ti^8sO~Uh6 #-#n7iI.ny:9&07!pֲZQ5 =ёǍ 8\Ju1rQ9jBqek{`Z9LY{[H`4NJyh!٢,kǘ$zP1Êb**,Pn@1j%!JKgI {1|2Q *(PQ@Da= bj !Z"A f=|7 QK(), " @x~cc8n !nsu3:A&u>k!j`e_x<}V{c'x<]x}߃>eĽyisuB?K(5+jmb)aG%hMqw %v#ƒ4|H?#?kG{~QC@a('(!{B$]uo_;y0aq?E@&hco'nM4 _‘(}dMOSwoo|(|/g?^ŧ|Y&yjZcUby#\ 5d՛ tAD 3G ;c>"cx;}x׷MPz_n{M v7C'Dr#ߩu1|rQ*B2m?śkML^(+c;sxjt%qV@1LaLpK(!Q%w""`gT(*8[ NKL'9tR8D[YHl@GH|8iDUjڃ] !ܬ<,,a ,(-PCj[M^ &7Bl yvg]MQt#,tzS}E+%3;_`xkޓ]N3,.mo>GKӌqbe :d4ZtiW§Q܀xӫN1Z%Q$NqCx_>OaI<eޣ~IݿRcP?sXx1p;uBЌק!6/tdQm S0 !nb5ۡV+{m _=^D '?2>TVo'ynWiO.w߃? @;/9tn=Fhd 2" 7ߺTuLwi:P%/GyCŦӪg.^t֤l^:cım+pރDFP\Ia6^FQȄ{U=H{4ɹ(NOn-F;~TMÖ̀ `%I@0h6b$'lHѨd!P<,,yXp{3D;t0KMNJ`⪬je^Z{.@PJ4g(RIHx];˳?=% ?UU"]e3¡5A-ﺟQ~hC/zFieV"z1ȉ[5q׿{Fsqǂkͦ[>ZEyEﰞ ޱعE1[܆F}$ p|#KL5n끼‘Cll7IlcAAQ@ zcTΠ^oh (mj PqҿE|y=e"XL>o.wM^j8w]eYsjn$,yis9ʦtkw)J_ aKcEe4 UzƲK9eR!% !i>FYdy%@ tM[$<|YɃAD |( ZvU^-4<< BAd)3PA zb2" W`o5a1ICpZ(hFf%pR`(Ay.UY/_9%0^R2kT(3Z 0y”U!"BHlfY@DFNrTT NJ"$u,& [Z<3B8Ȳ,$]c.b  B@MN-D-rQYOG(-"V!! P%jCAk'Q9@*rP6 <9T&rq,IQB3PxF4cOʲ Dn^iM/~ߋ^>Z,7[8w%(y͚8iw5DE80؇?ҥ~g9~8x<^ą-_ 5qvsmN^Q컋'ʻ~;9p1I~nF!3Hupa3W:m(Fir5?p䰭":!p@50^YlG%,yP4BF*m58b ܍# !Ҍ4Map9, eaZU߁2:cJa;HY#$b/fs5[JMp? v'~%+I5(wM0&{DFsKDQU>  P k8Tدw4PPqX*NjF\(7šG;,>2qҡfN󝈅֖t Eno_LB9dJc)Ǐj?q0R'Ƙ?WhB:쮯mq{7P`Lpjiz} $BR1՛Qi0adEP)p5@1LG ~[h(j-f}@hVTÈ%b2搰VpJT &D2acIñ :s6++ 12$+ 67d1IˊkG;t*L@D`XSf$|-3vF)k@vFp*ED&Zs1e"[҃@Dp0570MPc`=!Jdi$Ig':lZuƁn0Q˲b牅V 8(0Waa^U Z1S"x5ر+ow2M6aTөc'>}of7ʁJA>Y\p.dlOwh HI.NNϯH+q%PABXW%X9(A2&޼2G4„81}\ORK-,83\Nshq-YXo9HWEH5yԓVy^2-6ĵ&!_yS5);xjg_]c]TKta?^'g$*7BCYmm"&cA(g\~uQ&ݬDŽF6#JP%%EIʠjpiK(gQj8XTAh5䅅SL DY + fmXW7BHE Fz=0܌U(H0;L & P!0E TPAҤ /R@.jvrUYa 硷٤fuӧ bx!kLYQ͕j@P;w;=cin(./Xg&O.iW|9dIJCK ј^ BD1Lӡ;O&a_?e[:pt1ƨ"OCpuD'cFʌ{ p:N4ރK&b<Qu*(Ev^/vM722a>'o}9\6Dmn?y|Cvh('s`o7D pa}GS_'3tkřr ["$0,85_G06@'FҭQӁ [F='&I̲\Dfv(DBU aa>BX0.2H^Y!5- cد@FP@$ZV(/`c’ <]~SCUWI@T D'sQ!$ȇd -k a<-y1AY*0+HrH"SsLַk`G: tX^U⎆*jH0\UreiaxUK`* 7P P ٌBlµV'O/󅧮#Uu< 34L0ݕBy `M9;},CgG*oRJ@/:r]{ҫ|ǻӿ>DB#/r˘L 6PTLYra+ڞ'F[ whR,%]os^|N8y,\Q4+19J>Bv|8JS9=iWPc~׬Z =ޝ?!jdsozn 'j>+WDuھ{o R=`-&йĉV8č$N?J-n;w?o$Jo1Up(`>._qjz} J5˫[4)%9W=͍Wa&"hsA)G4J`0vHB -Tc<ك SBj9rV55a=DDuz/>bg#l 0)71wxqTg=7FN:D݀0b,tbHaxhc<3eeIDAT(iw?EYDEj٘QL^% ">rUi{Hkup!M䶄R ͭvRayyedv{EQB 4\k hC,{KP  `4~3?s\'MdrSɳg/& K],_wnv-ġ:e:O !GU9l^A.X3l8' ȒdR%[~ r-7CPDPr0S8%-]CO>uQjHJSUuo6._۾9H/_S,v/`zEQ=oWW7hm=W; *@b^;B$TUtVM5}ľoyϬXӺL7E>_|,:װA4.W f|JYc>~:d߾E|zp!iբ*\u \gM} &Wx}{}={{"%֒c*qe-Aj /"0i!|tg/g3?YD@ Ԋh;ߦU%(ʺAf[.C n܄psX 4,s ]҂5V߉%ې83x>WH( *Ұ3.\! Yn4X/\xᐹ1/ahժ$b V荺CKE548E1G(BA?N:,A9X&0*IENDB`F}FZq+k+kq;Rf H3~nM8pH.:G9wHM̦1KV֦Z jZk팆"!I) )IYɩx5KK՟^jsGBi9vf@Pm"9ab%JYc'LؖsVwFt]*z~ؖeE).,ϛ 7!*>I,f`ؙأƣw)W0t1~?GmvYElP(Y!U\+ԝHsS+j*,GJh{!]}'yf,E] 31SY ,łbEa4ƛ'h\ǍP]kuxÝy=wj33 a`Ljht;"xNx_k}P s6SR46blg>swqwʿYၬIENDB`1 -L:x 'x' PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9M x EPNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"GxKPNG  IHDRw=bKGD pHYs-ItIME :*AIDATHՕ[lTU9sLLN̴ h ʥ!FM$1h b&5AVI_ hbШB(&}b#m-X40u{x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME *|1IDAT8͒=LSa}_mjlDML\CB ] q`pE:8q89dttC j({/~4aapѳ=uhy|,5a:/"_wa|f3ptëW\vi!ޙ< @*rMs~\c-*†-P`B"Fh,3h(%m!MƘn! ^6)M6Et@ z>Y/OQ<ҋ # [ѶgۿXbMP:0,յmOmⱱ:). {B&Alb xv,_2q28pG>ptE"U;6Zu{0XW48t"(e}}L 8kK7:lƮ+4/P(3J=Έ uA/Jc#Z俈?:p.@IENDB`9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME$4 Y YIDAT8͒KTq?{Ό^gtPR$hcm 60EղjѪZQ !`RHrt|$83wBZp}=mǵc"1@s k*t9"\oaG)rMt#L#6(>BZq5K//ZkIcDdJeÚ:9],FRvyF]H%:8P("Ecu]S T.EY xn:Mcl" X2ROd|U3RU -a=c903}ʍXU, Jm4 s<1;oqx. .IX.M>W(듩+NL8Z 15I 0  eDn`]Nf6MΏP_[#*+˄Lk1Bv(>mxGPh3\ܱ6ti] `jYj(B\m4mIEoBS9/<2,૬F\:@L|}oZ~䖤p_䦟ԯx, ;U7%fs7m` KBh@V>;#7Q"MI`t8za<EӂzEƲ5xU$8rەj**y?D%( U ܖ-w2ѹy뗷 >Ud ˜5<+jB*skJdDx/,Ǧs-08.pt r " $@D!M\U_-Bc S+6d "$(ITl^LgϮH\ -H)I~D6-%UѩݽݸvK"IgVe\ BEjj47NiP>oCCcQJ #SQ"{0MN(q(Xɪ7M,Ӊ׾IENDB`? T,AxAPNG  IHDRw=IDATHoUsϹm] L$`RRi!PE4j>D-E6@ є6*CEԀPخOpνg}pdK[ei[YL0o`9 s|%;/q!@ be-b .I:˵䖳"Xlɲ3l݇qp\`.%p,8LnbU_ZtPgiD2ʢwͪUU5ۃc`k{;^>\D+>fSr/1p,x5{nC0]X+cc Qm ym}Սc$.x챉p)qp]UpjtN,ɢ_7#Pi{q$CA,*E4KHbWåݝ#C_42C {^?q96DªbBsS>3 Lo뀮{\0Oϙك'N()UΤ4gtx= }SL2mCP2 X^u lZ4n:F|cm.Oƾ=/vg3j޹=ؗЕїO߻p0@DLDg<+Rk6 Ʀ4ݍ=)P[&@NҲ'[2/plˏbPQB[si vكQ$:r>^bb6%S}˂S[[g/x[qekf&"7λdED)~uz)j|E):9U"!yB P%zty9hE >\cmlB"c׎N- |sZg&b( -So3<"K==ݳBUHb}0ZYu3RY4nHrBXC?@$N9(G 88Or%! mXMLwQ,yXYvѱI`+c P Vy_iXʅxIL]yXj0=t^ y} Ndokp{JDa>~@Yq\VT2},_9vВaҤtäΛ43}=1'Gzh0en#I39!FĀ1ch%\1M -ѧ_=!Kg):vOzpv`i9gϲ`y> %7o`|n ᅫPHblK&} _>E>v^6Ȋ.P0{/ ,"U`Yff2L +"P#@g<2jB2 S π IENDB`?$ ]]2x{PNG  IHDRw=bKGD pHYs  tIME%IDATH[l\gwn{cױdז@CRu4T*HUp RR" U. "'NI1bx޳{~HHHh4H3S'QWP`d@SV“{#ڵѱԧƗ9 l~޺ EOǻ|罨##O|IQWLyuR>o03kͿo/p]D>t3ނ|Ngvf )5,Z)ݲ%;DYRӸ Uɳ$-*Jd| 9 {{P]U55u}2̥DMAtթ燇 uRׇd7gl+:7Q</7oO7 ,!.Zq5֒_9y2elprDB;x}A&1=*X92 @y:ě"xSzq}Jli[KVb-Xʤ*[|ʽOn ~?:eyc*y}?{-0> l#h4wWx<;||YՕOoE=B-J.ƍ_C%uw| ,˦P(23=eY,^B[,OQU?Kޅt]kضMsEQq\!=>NVC4FLNN4Hufgg Jh Yò,~?_CQff(IP  :.ab$d ¼$IhZ-@UUUEE24ȲeY%&2L H`& !`|>ACGGz(CV$I=`tb EU-rHZs47Q:LE4D{&.U*t*( N֮[:iDxaFUdEaUP*||ڕOMɓoܾ?y9 J^ALf&zjuDQ`ǎﰴӧOضm={r<|s|q .H4Bz]*"/D|,P(̜;w~s#(2~7(jmۘiYXIHYf5mǎ{9˽JvrWF~z,)QVm>%iB!x^ ԩSG++WLoٲ|,ANʲ͛77L6?:s˲χ(..tʶT˭cR$ 5e2%RiK,ڲeD`SSq2SSS7?D"qǝ'0 !|><==xvvv8i$zRdEQ ?D"#D"Q2|_,}sssj\i* I(Jj6i  9pIENDB`.0 zzzxgxgPNG  IHDRw=.IDATHoS?>'>Nl'FnTi/ƴ &mڥ۴M(-P`@D[krȊP dI_`Dp]gi떭Ç|+P,]K/m]-}}u]V?񐮟سgϦXp(46.:  x l޺Vǹu:X>")x,|G<'O`llEQ45m: .2y b=,5GcK_+ϑCNN܌u]ڢQ:SIC:=Fnj q0 b@Oo/ [:HxHPNG  IHDRw=IDATHk$U?f̤g4$t@I Qi .tsXu'=+d^earr:IF4v ɌF҉vd }[ZT~&"_wG5۪[_@uddZtqqQ/aU7xcnn\(0 '_b?p_>33CZ- u]<xcccFGGZFѠn3;; pI,LOO8&"X[[cww(EdƘ&&&Rٹ "DIx\"2SV_XkY__wXk<ɝGyAz?u K+g"18-Z70dooJbϪDQD@UCkfH1檈BZ0$߁flvt: ³=FCQD]a-J |9#\rrYuApYD.I:^ޗ!Cee_鱫"2o" /@izUDYdzD`$u/,Ick\?έ#y-iTuX9 z{?em0c"P!0E֏@(]@;٫JLEXD=( NVd]oׁFSU΄=WC<UL#ތ^IENDB`9( WW%NxmPNG  IHDRw=bKGD pHYs  tIME% 9IDATHǥnD:1iz=FP5gT H*4M8jv<.Yд2H{;7> l ײp0~>tcz_jpR W|*aH*"Ym|]BP-Jh4V`0R~y*qwvv,V#NOOǬcS`/2nyѐRJ X, J>90j\\\4ft:%ɬOonnަQ@۫+|0mw=Eqfv<Nsn(H$-e8/l61H)O>7^ahQJi-LRdd2fs {޷A @a ! ZXB/Rp8}<=})( 50 Z T|@!0RJ)1'LWot@a"ZD"p~}Qnp8Q?/ !'1ih b΅lRd.\ZEz/@k]Bc:"ZHZ?u`b㡡C=G͊-hV╵kyWq |1 2oWjOt3#| oLBx5B2ioJl^4rS˸>bU~YWs[8 z`- lά4:ߔw ]:HDbtوȒL![ł]:P…LY_oL&ȌK xksv̝ɀ4dǮ;3ybw}OGvd@8\^| ܙ P!ˌM@BѮ}Ka ʋohd0tj E9.K0`Z,ה6ǫ$cַKk#g2uAm+0>,d:5Yɗrg>U8+S֣X=?3NF++v͙s;2i'.<W֮( _bsvٱ/p Ng0Y$0a1z!S &Fdc89-+LZoMdS>uQR+nrU<"Bt$1۬$GPӗ-~w;%L6kv;ʉIENDB`8: qfx!PNG  IHDR& ~d bKGD pHYsodtIME t45kIDATXõX]l[g~ǩ&iuqUqM?C0UBӰMCii7H;Ґ`$v:6 R.FK`Ij$M8c;^.xbu{gsޟy2 D^T/-JD4Myrh8 94 1iV)ăZv #nBUջBBwV"&2 5B&0+еSw̷d"F,mb ev!]{^^D 2iςuCmۮ 2ˁmLY}VTluWۣr l۞aRn_Gf$LPJ/Cv~f| M ?>('"n*@!S~#0B0p;u>MY/;`-ھ{G?9P5p@KO;*˥CF0PH/ñF."Z G Vbd,@-P(7j6S$=@/63݈ 8(4T0 enepWoŠ{̦3Vz6 wJ\_ɥ|q2:T]yo NrZt- 7J]!W 95==Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME .4g-IDAT8˕]LU[ZM?llj@t#0YnpƘfwr fi8e&Ʃ|l -+m߾^ 3sr_y#(³fPܹ#>(Ãq49s`0l7k A+кYO@\E:fM>Iӝb|Av.-/<ۂnP(vKKH""MM8rxfs=8t]'Or%vԲ:wv<8{=jZUUUEgg'}}}RWWNE)wttv>R&B,*׮]C5ju>h2W&ar P]UM:&H$X,JlZEhhs㣟R˃ZVVVjx}>@!:%JQz3t wwuuڍfgy9 ? E0]nss?333 EQ٬ zT"`P~l7L& $e2jjjK2. ͆$X^^&!'IȲJ"ɠѨo9+FG&3\SN:jR]]MP$L JERdñ,;C>?NͅKxQTa0$ KEŢLfupH$Yueۮ߇ߦgf奥e(EՂ&%4;`~q|4M(淃Oݻ{[ʭ݌'bH*#( fBd3Y1&Y?pw^Pek x<67lӹdYϝ;T9 IENDB` ^^ {x{PNG  IHDRĴl; OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATx4KLufv,tPC( !шiIMIfZ/=4ML؋MxhZ< .,2=uwaewI|)G[6BR(U=QdV[o>5*+RG/t=LߟqyL.N_*d9?|ԧJ: ,e3aYΞ:k`{+OI%MN>yHдjBhZ"ǢSd׷m Non*nX&cb] GF?t}n(躀BPXf *]F#9X W끽nI ߼/klN$wP\:qwv(+Ky.?Wp VDE(QkΞ_G69j7V)9._ 2l0_ĚPu?EkUIENDB`"D kknxnPNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zկ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxD[h[u.'Iڤ7zYڹծvkcÂd->'烾0|Qal+Zu)mmKdINN/xoP*h5 nmP06m'DKZBҳF1- Eq_ߑSP>'f:- k;G\#k1|Gl(:ַhfN⛟fH&Mj$v}4 "Zsު__ɎcV!/vX(8-+8BZ8H:+_̂K7Huwvf5~?Y],Z\ dۢ}{hjh"X\*m&ݙ*7+MAvFp? Ձ{:=Z7ZE9*|3S4o$$ H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%[}׾6guܩ,i(Op'ol:ۢ< ?`Hm,26;Eunbw...x.i B (M [xCjlT,17EZX{#OXq`ok #@UD5њ\.]ەJlvi~` DnJCH21d/dXiI2^e њB@ ]W)|DkP-BA"k7[vkVR~e1M4C|`VP_7Aã^B0x~Kٖ9Zc(DSZ #Q ^&-T$uĶ MPAJ  F{$hfN#&\uiS(APFtϡE>6<$vZͷ P[IU ѺhzFzҨd gچ# VběYc`/" {e}9oFiP:xȞ{svz F8bmcfn%Ţ1 F N;`ƚFk6lm_صm7p=☎PCe+"hz >4*ĻzL{lx@߮oko`a!B*&N0 XZZ"SVADg?Cog>>+<8;GscŠK,74Lj"\|Dr`[/]LNC#;_H؝iVڒ.E*RBݧ`,zZ^e]пGюׇnOI)L%䋌OegΝyy~ryW_ז=!uzPj3A|F\o/шIENDB`.~ zz_!Bx3PNG  IHDRabKGD pHYs  tIME ٌ xPNG  IHDRw=IDATHm\Uޙ3;]tnE[$m6~@bHP 4ИR V]P?ňC 4 6FbhL0!&Fj-v̝̾{y0ۭmIν99y<(zM]7nz0ᕫِ{%=T-_ھg玍kH(b,>66sR̍DsWqyˣo0&2^TD&"g>YLD^?)ډ5pS/=_ܖFjPJŕjN -EOfMuԡ~~rD0`%MZu%A.Mi}kBOٸ.E5\4pHu|zeeشs].|xo~RzY V_|/uu(XRWfH%\^dHéEFA+o@$[HYIDAT8mML[u^飅BR>€i]â&x͖mO^\"yǖR`J{}{'G4/GCNyD"RnnX㿞^ziCo__YV6,2+%e>5T=l&G>9wi7VIW%y(*+ǺC>8Ue>⟎oパ-0;T@![$VG{.osvl)=bKeNr3!*=\#ֹ6'Ighj 6:3qN<~1C_ KZЉ0FRP Yc{%[/<Úp{cK;[ѨQېR)JE);6ww)%m{j:{;{ToNpd *W@Hɐ+H(hʠv1A)}YڦbN [XM~&e#vW[.^k[PwUs* Bk@Ѽ(BVPi<[Kp8r^jd:9FrmE}'ߟJtǿZQ5En<:eǃLXdרr)"~Q]WG\`(CWG_:U-J9+J_A{@k 3DFGԧӭG>NF>8s;.wO[+JgY*[Ny'zoճ3SіV*Bv3go0.7uIENDB`mUudRhl{͋粸vMH)i6l% 9_2$5f} $K^ȢeOt}05&4 )$B " B j S%zt+9{$kVov \0>&b8s9}EŪ~z}<}UC іʭ+@Oͯ+EMh[,ifJ9,e{Xj> RD,}WXXKx>z$ܥ CW5Jc E:1FjuAYB0MX³Kx^%K,n 󼫺@3%kx2eĨB"wOd\^6/+uY:f7` tTX)k={xdR)V@@E K %qYYξ5`@@z PŠVزc?ϼ\#zs~(h!:QsVdGG^i_Ѹ ] P il8бI-2 Zd f3-"ӓWH\:Wa: I@W| kus)4 t 0haL&M *N=?W~1|8/#`:9=ZA !^8_/ nH"~ď_@C{zV=8Nq Dd2I8FJ8LOO*PXkzM[fN_ 3ဠ԰,\nd\Hz\xWGy }^?f&VM TK*y`Yܙ?'Yn"ҳO}{I_W"AGB NC*W`l"u)uq l>ЭǢفµW*ۭlIENDB`0 g#Rx+PNG  IHDRabKGD pHYs  tIME܋y"vxPNG  IHDRw=IDATHmTW{g̾uw]`JX(nijlbmR$EAԥ&~1XRI&HӴI,!Y2 };a.'y={3!6.׈~& w tJl+5|ko% Du_ؼH$cB,'dN{OɱAJynO<쿌(5VV*UVj(+uѳJm|o\5/;|;~5&Q6@)`A ̯ce|?~WT@:X:T̥CAD02݇~t@4m/??bibgWH&P|NBq$ g>(r_0ĆкBƻ$3;=\ʔ:C#|EQr9anaIDAT8mMhu33nv5ƶD#֏jkKcEՂ"B&HKTAAKKZ0zPZ/JSM&i4dggwv!m^x{%Ibی>>%ʷkf^7]:葞w%.Od+7e1b:-D|,:,D>P G8 Z;?~ -])3XRP]o}FHw70莶JNj E=7!UN~&@䏫l^PXeH,LAd5RPPBcOI{=ٳwo\IiA'vQ2kϿRsdN^#iFfAudY#XF{(.mnЗ7[8(u>ZɖNMHgdѼVu dR,Z*OZ 0*R/B@z$I"/\^ \ZLh-NsX+k*b]$Ii^3,YׄJ5܁ަxK2j!CjB]`9 x @s52*_|}1ny$<~4Ï  oj VByšogƇVlF`ū*- d#2*WwOt.x6']ځ6 FŶA}}=v-kwFw~jGwcuxTz[>|z?c'&|$RHgsSSGl%Ir51'\g]?Zvs)UIENDB`5nޠ%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zߨۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxDMlSZ붾uC l- fW?A!zbO4LԃCֹ :v[__ھE;Ul%Rj9{k(S0 m}o}5BPA@j9ʡ^ٹ[Z@@JewO"1Ʒ]vƮտx$aUGNǯ]oS1+ - r[3PY.^% IGA[Q><@b7"%Dh'd~9c˅qF$J'|Iû X979|f)b: "cc [PMRCފeKm;^LQ.2f7Q0JUGXWhtJt+WQSh߮'d9$I.zۈWq;w 5+^0~'2(Zaю>o{Q0ս^.NSnUDEQbb~0{??{%" jՙbԭ_UٟWdƿNIENDB` _<%|x sb``p  $?ORAN ɼrؒ]";,,f`ŒxK<}]oq2 Jq Yx8XNN8С_v׿.ztMYx>7^ ӆF `mxlEN}'`tsY{66 $zxzPNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G s sI(@x sb``p  $RlI. Ap品" 0kH{+m6fv>E_B%%y% E%) % |@E+<]C;O55 ߸ֳ <%CCݱG66s?\bg5?`[0܀%8Y8 Ey8XNNX `;r~[kJ( ky~\9_ %OC:.GT'^i89SMOAKRfsD j eSBB.H N+ x sb``p  $?ORAN ɼrؒ]'E8 <">0܀%8YT8fitq 8@ IJQ_mٿLZ 'p[n I>gIkӽBꙖel;w [+k<]\9%4`b)@x sb``p  $RlI. Ap品" 0kH{+m6fv!9[$K\#JssSJRKRS3K2=}ā<]C5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\k嗖XHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F*IDATxڬn0V6@8OPV!ud )s.(Zt4"{I@(p$iz;\sHߗ{<Yw~ \9{]Lᜣ( xJ Qa:o%X 5I;lá2~! U% 91#$IoմgAÚF#elwKE^ͽ$e+UB@$h=@5Ћ-1:|8?n4h [[}JXCъOӣohucu2`M~ $D}AA96LSDq&ϿR]#6"̢`79H"rhGt>\|]0cPNSUk-y˭'/h6C'|css}-0Q𥓽Q56,=r [ \_]-% 6NA jes75KhIENDB`6 j-Xx(PNG  IHDRw= pHYs  tIME (/D MtEXtCommentCreated with GIMPWQIDATHՖ@kH.%-|()V),R"-6Y7?=p | ̹3Lo"H""[DT YxtހEOqQiZuu]kYFQ c2h+@0Ԣ(QEa:Ȫ́yo܀y` h8ve`heO,s} vfwZg+n ]W< #PU>it/To^#p5Sk[kv㸓`$dd=hA| @\^CƲ:CIENDB`0",H x PNG  IHDRw= pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`lJ)0'[Rvo̳z#FA[L}M5J]$hF"mhדCD\5:|tgJK=1.uxMvg}&Y|*12a ]0 +*@#yEҥ̾~uF+Whx3RU(IIi]9^+cif޺šx(lHBDǀ$TvĠOP,/rSBEHl0IQ;;T^Td(gs%Nw[Yg'?!4LH&IVڥ@lg/^w~vba&թ0ha@\e$GK7_4^g1zv J#$ Bpѧi pk<'ܢ_LIB.2yHAǡKa>Ͳ y4̽Dmńto1^ψmv0)(-UpVêe/ᎎ_dN*PV%/ǀdINYq-3Av L  j1_DϜvxr'94R4^0(RM k]˒yΩ>^8;;˩v tV,<\K~M&=bPStyHS.Ps |07GPt9Fhnߣhd:Iڍ,ݦaA1Ӹz:Dǭ>AXDCt RB 3 E[$Kh@ji1uo^·FI^@KÏ~FH/Y9KւEt"(=T:2Gh8vkqE??4ap>ݵbAgސ95a"Jg HHQdc|99WB7nPQőf(2Ylvo9:)Eq/_&oDWB+P =dgS:wRQ+T"qݯε;WiCO3tpTy4tLĬUA.O<xaID!6LҹW7 4c=*K)#J[i) / NppCJ;$) @ hCB1]|ýL)O@';H1 h߄Ife"WrtxB @90y *f _]x ?'uJ> Iζ4.Ko_!ƈ$B~f3YNvkAɨ(FO tknh- QzaS~LBIL悐FqO~Sy}TAyJ D4x hBPI{E^W0k D!T`B}n6 @#7 v&xRl) V> r~pD yf =q|'<~u@Q#b{dz8Ezc:w)HXA- w3 >k"^/,"qE @*A[x?b>`=-ēj)a9:qG|XX1!Aa (Q_.$ PJh;ps _9>չ?$Z0 2o'虳Ơ$G\L/XBΥD ĈDM$8=:z.-Y_\b=\z+ 3:j D눩ƫH~WtIENDB`3 ##W/2x sb``p  $RlI. Ap品" 0kH{+m.n~c*q@!׈ԼĒ̒ wO߀F>qF}Oo5;W0w<0B%cgy?1{M"Ϣ)vơI6(^%z clq?Y2^O\j4]cgK3izüeKcܙس&'0-wpKPbO]v?+YYy 9i}~ceۼ(ojecͰx䇌 ׷ζfxҐo .ڲ1xp]wwSY[1dO_gpu Ykw; ɯ) ;r.h x PNG  IHDR szzsRGBbKGD pHYs  tIME16)tEXtCommentCreated with GIMPW :IDATXŗKuTIݒmg`(vC1xc2C!}6I.0lsH gA-%C~WwuwW}eQhF.\>>8?{_21FŐ)BЖ$jdDA eXI}$h=#CD1N9Oqh "e0i>'%Yxݻ8bdZ$B*͉a (Q 5=!CPq]s;l[LŏkI]J C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIMEFiIDAT8˵OlEƿy3:vݤud$—[H4BK UHE*rR N#D O zM"8Q,T*mi+GwkwC(ny};Oy)pA886؟wrFq(iځuuY:^w]w @0 |+fff lKid#@ŋʶ8i"u)JX5MJr'n_z٫R7ϣ9:jj"*q6+J޿˂ X pҲ׻ϿFR|1V-wMA?uS"*&l{} @'677ϵ'8% AZ8vX&{8[_RʕE066X, J/_ТRPlhZ0 ? Ji)nApzoG"0,"%R&Yw?rxڶa) cv(@Dj\$Np1&+NaznBjjU 4ͬD49qe:y8Nsޭxgggih $> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)Zk+?>󪪪*UT-˂h 4-] %0o\ܾ}>_.R̙(//0UfX]_^Q+++X4( 2t:- )%8 JHMx<Yie˖Öeykma5igp8<v|%0`>킔h>z_i~?^/~ 56~P"gr!{cJW<G08@ oBX!''uk?D"h, ۶A0pa`hh#rRܮX,aR[PJ&p8R$R2 ּr((|hҲx,(/Y:A\.F"nxllcР*(%S _P" #^(?xs~5<^U%% , c!cGOrO`ddh8l9*3DmCuTm#L |F)FGGi:ȴ3gφ^RL[G2}}!%/S)%4MGW?dBJ n1ŕz,YR%`AUU %ΜN<BȂ͛7w۷%DΟ6Mؓ6k\xa(//{g|[Z!kZkR\ @cSSӕ+WğҥM.xvo=qXft:.\dCaȳgJB qM댮0cGA2f_7 LR{/ X^rIENDB` 1(xPNG  IHDRw=IDATHU[lTU]1w*,4~DjPGALy}@`h)3 twLy;9c}>{Cx^44487l@>WZU\ H){Q큃X4&ɔf~ v9`ss;w~ XԺsE!BH~ys^Dze­K;::2HvBokx( ϟ?*.~՚N`p8x'D+LBB`&$;`a, a4MH ؖ 4]TU]iB`}R( (`r[ &2PxPNG  IHDRo pHYsodtIME  pIDAT8;KAlkV MD%rE"Ei.Z"*6 .0эs#&n 9͙s94M)% 7z]R !A\k|WwNPЀA vۈ% 榨VSS2qq|312ϫ9i*Dl;El&o4{eyϙ ؘ6I$ait4.AeZ^~:8gg}RJJgggĶEBA tGdxloc46t$"e=׃h,u ygkKY<` SZx^'f"])赇ѵ>?HUX3 aA 鵧>L$tzȀJ K٤%"IENDB`6R q3f^x^PNG  IHDRw=bKGD pHYsodtIME IxtIDATHǵAKQ49 *P,l< `7?A"A=yDsm=='- ^K٘{=4̛R)yjy#J%,Fl6u  Odo7G>:B*pHONЙ bLw}F&ރ)jp]osx__m 9&[߮WYhC.;E.;5ѧI>OBm)=tEiZZºheD޿˖f]]/\@?{FivϿ,@t3#G)^XTx{z hy*wP@8U0ZR|BͶf6h9?OeV7_q}Q`YKKH<[g@,@Ldry,za᫘* D%B~Max^-Xz1JxQ`WLץK 0"Bگ5q+5>8 n"GXWqZ%\\?c!Zz^0y Wٲx[|߳SUA{ձ1ܻw m`PJ;KdmP[پ}Q28ղ8'O޾hFg4B/FÀjSwFבW"zf1Y1\K{7@Od|}źgYYALμI8Z3JA9^O%p]|ۦdۈRUp Q:56\.'S)y'IENDB`c` m5^ZxZPNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<IDAT8˵NZQy8DF NJ5XBр/DiEmAD0@Դ8Ҵ% Y@41_go,9'(ٹ-;5Cc-^؊֐X >څտN~1ՅW v\N)i7mp- $t+@UVlf0˼߂|@%#ZDD>U㮤##Lz(27ύ > YAW _yydzr7<B8WEeSO`J\''A9-K0BFg}5Հ# w !zBq7˅+đ6s۔CeTH`9ܷyhvע)DH&TiHH9KI$ mֵL\i9IENDB`F s6j`x`PNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<IDAT8˵ORq;Es~Vh7D i)%FW;y ֋lENɜ&UgWZAd:{>sΑd`˚囒}06HWz*``ܶ+z>"Y HE# ]|zE^`%bŢvq<ߎ!l;;qOud_W!D0_"-IJx - tn$%!?[ؕҲגm8UޜBHÝu{N*Aƍck쿞&rPPz>2I)3A.uFk4KܖA.qsjw߈`LwЃK$H wh5G0zg'hcA` 1?1mR"@Qɩ`h70ɒpGZupvUO$M c'qCGH L+@Tk?FEkҼ갺|IENDB`=3Ԩ@{ L+Np{^pGHgEF&NːPc[jv}^P6_x7>?~䶮-~FP qqPlFLIoD{3A}ö2FudaiBvt6U0Ǐa\ M`֧J$4bP$ J {3~-)qz^>;2EJ\돌y-qhX0mCyR TPGU[W"?ϔ~'hzOZmO-].X~,2K T`#,[aŇϧ) |'ӽzoZN-Cd, BTYRF ۏNLgzErpZU]U>f㐑a 4dE((pab*MjU/Nkqe_Wx: *I_! t64j#j 3Y\gdNW¾NU_`"s 7ZP@քU;P^ i"QLΔIw/$s.-Sv]Nm6r"LD׵Jy69T:I"\fNF!; h YQ(ʸ8[|$o,tngRQ87G  YMoabNoXzFI$e 4 /ka鿒"N#IfKʹhDn}Jvat&#V<ΦseU'!R,F,Tx$!:8"92q.Pؾ1`xQVnIGiN{u*ʚ54(}Pgik{_FG/}vyArnl\Dga|ޫ]Y[-.;L7LDoMZWuZz oxUlb1IENDB` Q7&>x>PNG  IHDRw=bKGD pHYsgRtIME&IDATHǭkl[9>$؎رQδi!)Ф^DĆ&ƇNhb`E"- DYHRh!ВigvnN|)QҫGzO+ön65W]g -޿g⍧Rg 'c0B3vNNˋgz`:ݶ}ݞ<ϧqC_6ƒgf)Zۺ܄%X`Nr&tAQ,K 6EfUiU-mI7O\\gEUoBQ'?ȧkCAJ)u4LJ{S]dzr魜$^mr3XaC So*Wyle)skWpm99^f4(OAkUԡ|֖rvj"%Znٶȱhk]T\ p )U pd Ρ2ϠVvьyn1!&b⣇KrJ5݉nzy1wkO&8]N7)vNKBu!$ ɤjJe͹SIv]CYe)I`2'/aLF$ᬤmil{У"ozN$#4"ĞG{eh9Ea^OЉkGC\1{`^_[˫x$lnTȬb;H'MR5N^_C8)qf?xӷWڞ3=<u)LJ%z.xnxigrEۗ>*vTjRpDDGWTBQqY6t2:@܄Tbm08yLZ9Wٳ& @nJT,3kP+)hO@EEr}g@& _B{: ՑM:55:1+dL5rĠV7w\ :Zov 2؋vxn xH @G,07nYjN7nw&ח:r_T8F]2*i-ojγ4ifV7 IENDB`Z )9VxPNG  IHDRw=bKGDC pHYs  tIME4 4TwIDATHǝoUU{rE"%6"bK}%jtk`2фCcX` TZnIBK_MsspnBd׷[Q֧ٓK׮yjݵ+A* ӷnhnn)8WWo] ڲ5,IͿHiæ- .@38j x PNG  IHDRw=bKGD pHYsgRtIME $6IDATHǭU{lSe}ݽ}l=`ma 8t Ȁ OAB&F@ Q'1F yE@A2k7h7mCQ`@wƏcB(+,S' _߶띕rEY`"THٰzy3 u.A.r@gj9%^_z@OWsr+Kf|pXa D^EX 3kw ) 玵g3h8h4$KCr674{2{o@Z=cHE3ۮ )jH" aԎs &A #,Id9O`<*;mF^.wV 'h60<’61bT5J7@ԄrGf.0TSGTHyL L B ("X@x/@!!bG5e@=o"y8( HC] n\r"ťl؁j s$Zcff'Osf=}û Z% b=sQڸ48=6>[G9@BADpBl!ZnO$*y퍷%V&ҹE-ADj2l:2({{|$ӷ}UK^9Ԓ\_R֬]:=9Bssj~ZA&nFߠq2$޹sRӓә.JZjzJdZ} Ѿ9;wpmd2>qTH$Ɏ)c!PjA).69D>tvlkg###8~d0 |Tq804Ej4o|O/w.{am8FΜ9×_͹9"لA.ek&vH|CGڵQ^yE*֚Uz)6IЬ[@lyw0OM,!xRlg-ZƤ`)_?QJZK[jc8IsZB  f߾= ^ȑ>x ZD8Tfzx }}ZV<uCB HyGEDQ\c0pҭ{ 2`hp%uK ק7nؠv Tt:U[|^Gڲi換K[6cMkBp}6JkTb%W?ũSH N!AC;5=]C쩨9Gc?_EH3) Ҍ7|8IԦ.[̜t_N| MÔs1y g^̌~sNDWAׄצ@ӧur2yp)c5jYw~WwXUf̲% ?Q1M ~.Ul6cpCBGT$A$Ȳ 0pر/|߿w^I就EA$A$4 d2ܼy1pAA^ǹs~WF#)@,{,Ba L&@)8jBZ Bp8u[`Y7*f`-x,+ ~:9GWW666`۶[]oooG @*J@^FTU}?a681H&( ζ뭳&!3UUeY~{{{`/k4xJ2SJBH(|F?4Ϳ溮ZVZ__뗅ƮI^?xosj5W(~+?2BJOi#heyB[,kݲ.y70IENDB`z! `=,x sb``p < $Jc) w'ud^9lI. Ap品" 0kPו2;B%%y% E%) % |@E=]C4Oh rֺiOYN>užvU bK Gt m|f Ηܡ.:{g[\ݦd{ޓf}vƦvWg)2qsӥ^ gt|W9aNxmZYr&źPg kOs[ W>?x sb``p < $Jc) w'ud^9lI. Ap品" 0kPוWdkDs~nnj^ sQjbIjByfIo@x#8*nOS'n: ҺrK%"1OL]u,Ly|QIпLr-5QZKȅ &ȴ.mMeVsO.?u)uOި}㰿me W*tY_:q9TbU;^)ԞZ>j;)~=̠s=U$Y8oSvpmޥp/\ްjShڀ>_)%3(tۼ6S|?[dSkONx sb``p < $Jc) w'ud^9lI. Ap品" 0kPוH'[PH59?775(5$5E<$C7 O苧c \ﯙ3KClA&qwnvܜjҡoȟ%Li^$eEfUgg_Ǘp4fje)5ο7<_y澋ç uBmqfDá_c[-~JO+gj_ۿ+o9Mӈ!Ý-]5.I4ȯjն†/wWm|MϫEZ7>[ݰzOLʬw6<}> ~.|J&|3?kkJ~nݼp ,@1@U1T#M=)+ /^{|ۯ0༣<rΜ>ʨ8O(;fuwرc; ~SO9u4;gytG~:{vb]๣Gٸw߯ivUH{Pk)۔s_a'*-B gWÇD#K. *ʧ!ٳ4\s*n&oRp1siZ~#grRo]ܪ9?شmum; fͬ@cNΜw7nbG@vxy@▵Ćd4Юb h#hTǎS<[q4!D& @:֭L,۸u(~C"d`"~5F Bϖ>r ^4_&O %LP #e t\šH;_cAD Bd GIdVQAلItD舴:N@gwDڙ(rv5>;}^JK'S6%V>h+F^!͖m(RJ8}3@AulfTUL ;"Xy(+/I`uYhTVNK a2SHjͥ_شhg[3M1P^^Ngל>{3O]%͒H/Yjjjjx!0`EkdcKtww~z{p wRYYJ(D|:.f K,8.A@o:.zd Z)Nrh׾Zؼl6Pk wsG<=uMr&N?o-hYfVIENDB` | ]]BBxsPNG  IHDRw=SIDATHݖOTA?1DN$\bbrl#LHJr w;c; Nw<)a >zVn 7#fF* w@$dA50U;1˯n{փf~tLJ29)9Wk4T1*ks}z ?a)u\w|3QByc2|N 9`Gɉ^!Ĩճ2i$TϿ7)KVjPU666qg01( 6l6d~~TH߬sOj%7PUO*\^40FtuwDN^̎"Ȉ(rLp_ ȱ;a"wp#&>:W|HVtXZ#`;t:xJtS'80ǃPd4_twRJA}L&j*rH DU.fխ5 3^eQAE%8E,pL t{&{󇏟IɲCM4M>UsJY).9jV'5mciل`IENDB`l' `CDx2PNG  IHDRw=bKGD pHYs  tIME "##ZIDATH핱kTAwI BiM * )R6EH (B gu6? (5ф"xݱxw]49}7;3_ gqc   4`6lUs˅+wؿq{ē$} 15Xcpr8{\§/ #5Qo$iYixn_l5qb W/aKC:IR։q!"8,\BE]Dlll^ ˱s j5'{1c!X,R*X^^:$SSSO>$֣jBF-5#Ն)T*"w2Ri 7 0(=MOOEz[DC03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATx\S[L=t2jiBNGnme"OHbu>l MOLc$^lDG0a,mƍ"z@;hzcK8'眜pX"V_%I\./MӗZ.r\LJh :HG_ح @ pB"*++˼suWgŖo'[ťy?k_*fX-Xo+9ʫ?>^^_d2 "ւ"pb&p'[\|y6,hp#p-, @zz:ͰΎ~}JGckji/).>>dm?`jj k+!bNwކ*] 򊊊:'8W܋n`>`fCCHJ>/sx84k2nv8ͪ soT»g{=( Ϟaq |aTQVʕ@4!pLNb7Xbx g$ F"#Wڡfi80D"Sc7MQ P)B[=\R\y8D,]yxW{/& H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%4+5 MLv};>:=2?~*q   @^78<\su),_X7`ag_>sGa.)Ywv8eW|:ٻW+O0?}|PaժH*7զ/F2zrK WojBԜw [x==B Ԣ}[4 Kv CE#5'C<ćNQYoCEncB8A :wĂ4 F3"D1Y%J'5dK,">DW"u.-ד$wFz%fS9)^ lMp˜+^`Jn#!`spN;$pϚq_#&&x9FQhqqd0!T ި's*j=n}=zQ~"i``וmֱhmllT"%D&n5=Kh=|{>ߴXّYfwȯ]!oLoZYsir? 쿏;fw"ThȢYf17{>΍.&&_Oy}}ü09 j#O/bdA"rNtź{5aݴ˘{c%\F Fw(y=lܑl%IzCa)g8SjTqur}[-/ȿ ,ne!:#z%b<#l-("> Z/a1.($(%z,8qJlNt!f ٰ#xݥYPCT\$\e1#mԚ?Ny`u ~4Sd ZdΤAw?}z#trmcD+8 _U48LJ9 !qYLH-QN%|E.AE|xG5ڤַE;RomuXwMߏ#TG~4AО%h[==Dd\͍oPRNΒڊ8dEH s}(ŁF\SCWNffb8k#;RrBj1N$`3צƬ܌}FT|YQӽQRBcw T<U"|9#|a- GHw 5l$\9r,"E*)1AVPf}niD05.h1"DXlC_.Dp,$%vGBDNU͜.jĐ($) 1){N<+aȒ$ s)js\\NLyv3U$Akygv %r;ʊ})C)";.ת眂G'&Y G猛t]ؕ恳Z:O+S+g)D~_TFeX#tWhGLDc6إN\fyi/ j=JA!@7ij %4#bꉸVaY:~efvkS%Յ? oUJh#_EY)E C3+@]䂲C kCBu:_Jtμ~}"UR8^O7tI1'_#YGL"V AcS-FK*`luN"vf0,KHA.ؿF*xb{)ょxGKHn}hYѲD9T5d I"ßJ⺺|?ׅ۬`^ ({,?`?eH]#?߇JD8F6aH`F RH/f>>C:̚"NJZ 1qr*J>uonɚ]ןKu͋'"tE{ǁƉ$183e*f$?]ff08xh}C@\?p-7P/qM:ĵ:D_Juu(/:v_֩^ZtV.DA<Ac m:rVb!R2hg:;jshMo[IbH jO&#ûw=\ьz'qG;,+?\HP@3F591V(TK xfiB]j/lpay׸52ͥM$ 4hÖAhgkr OuUceݡWGbGE d0OY5 r{AY [=}FvGj_Ƚ;~[֏Ld ,pK%ZtxHmAR!ᆧƤ-/f MY'I xu?xܙج`{U7ަZZrk(KS>LH'Q[Ҧv eDi@NoA_UͅVK7K_1si vNxOi+' H+Rhv[cˆs%'d>zf2$qc׽Yi[/l4]OAL[AZZO j F9}b0sD{7R#o@O'GꌞE>gijӽn-_3)dx^zt[_S^'KjGabs?{W%J XdLDIh)w*,/5N&҆/WGdsqJYFQ~,! +X  k g(E2{ @*YQ/xO;3B zWkӉ$Ȝ|J^hn{nlEn.&'f'6sOX Yk-H0~ۿO]+{0j1cZǠg Vx4𗷅{=K .SbAc~zrSxZ}2_]">*rbu$\4=(Ѹ 9ڲ7=, \-9ga Þ=_E6^xk9Ї;SEz29b6H [>! QSaEfySqJ$XZAR"Irϥlj@?aӯU环oǼar6cypTbzih$S;: ^['QCӾ[ڃVGܩ5$G~4{ 9~3s#F.2謤m}c&.5 `tqoo;yB]`=ؒޠByT 1WmJTN ֙yμz9 Z: ;$m"JhdTLK 6t V̗6L\+SSFkr%& zlvw)9ѿ-BVD̯՝Y=[Ԃk.4qx̭ҦfS͞[IG.S.l&hLHEr6F o.Uq@Zw$A>k!st #I7|,H-K~Te701d6Ɂن;]5i7k"y܅!tZ>=AMc63/-6Mψ͟&sIo3>TTF2+h 6(`jM(7{ei":( HMao{>,?RWG( ӷ?+eD]k-?Ք4ע( !859 ~I 74Hj|6r~r7qn>oT%Ž|]J+=e0uӮh r/EbUƸ=c{4 LBAĺن0$ְ>У%iHhuX˄ p1_1*WRT3WlrRAzBEDdm}&ݭ?g W?< 4ُX3zGQ" r<߬pg2,Ƃssklu;,B:F[WA,>{3Q!yj zQ4 :3 j+p։iy~I#lsn ]񠇦Y8}7\Z Se&5 ~/iJ-8SϐW jf=me+z ,]g?z\ZUF nzW (?8M )vꡲ'}1?e+#YӗA=o30ufj5:y3// Of~A<_oq8w@D'Ħ(2ήuUB4nWHG^GCtd l'ZwZ^7ęQX5/eٲ,aϘKi6ؕ`!Ł?4jÍI1:vɋJ)OI5'&9JR^ .Dh Nsc)۪jf+[ѩ0nHb&LW1?,!.K .#+tWJAhS(T8,ɪ$tb˄y""Z/%O ^cbش^^LDB^z(Yx! TjY4f _[t9h\3_ >nD;dTmh[!.=7~E2TY[O='])-X-!ٗ?Kl;~fC\u W۪p'n?YqҪFX2od`[&ę /wR U25j #%EDL*}SvH_D6#6&bX%$h>tj5 zneob?o r;;3[E)Ip*Ȧk1= s.az5\^7u$Qeiy%YNK vg 0 VQPbo^r3|o鶼maN\=.]ŐnL^mx#ŚͣzO2$aWJNGʖ $B" k/ZnjGFb '5ڐ͟7];J:~|JMfrg @& (P!O %sF-P̕f?)a|oD0Gr 濃:|pmeV ;bӶx[ܠ7pjVt6.Wҳ'gN [q;g}NLF[yQ1ù=͘F A !7Zn8rWaVS7$؍یĚYԳA)ғ3N<~9pE peO;$DZ, | WHAhN,m ;RbܲloœB44 | .l\[%P^:@tX=pe+gHËRG46S^Oո- =ʣ=i&o/iنCy$fȏp0s>{¥rP"MU` BHe#YZhabdS͗ ”nЗɻf&|ό7P7iDlNW%YJV7t0Ā+Xٜր,鲕 חXO xߺD3Q\TVw@L*g)VRキU #fce.ef !ij%vD+ˤ=(G'Y)95Agq<7 %b jGg]c7h!ړe$3IXS Bq'p+ˊ]LYE>{i mi*Э#pW~*BQ»,qEW@ +̬"2WObT.$2lVdEΉ C,`KO0 }.PbH$OiPKjb!C--WHQ*n:h򧤦,f |Ո9Wy7Ca+k`{㸍{P睲]hԷuC]t0v÷?4DiB2Xs?563s<>Ks N~ ?NSƸInscd_i!NtUtFk^T6->'ȕ3t/+67D. t{rmHS7mx"+#߈zVzD62>ht`҄ QmY Q_֢-cl-&.ԽK<W Qtd<>jGK{AVBk۳ak}9wk80of73L]]b_<keJ}Ÿv]R-A\܌N}QG"}/Sn͔vqpblm2dsb'g#TP4FO.Z[=4Kq><䏉mb!-)ܢP jM#1 RdElѢWl.S$>Uļå%ICjR$EU2=5'ORƜ@wGRᇹLlxQ-)|z/r/,=t(>F C9 ,k߬؉^AG\B Yrd2R~tOU jкVOs^+ Bկ}b-rLu.Y zY$11޶k 03F {k !k|_{uigžoXxyv&)qٗMÃR1 dO]&r$cZwP-;)BI@;bEr4oro/Ѷ8*]VMĺZTƨ;/| K(/=G]3QqqV:%ƘirE~+_֋!z01AEت[5C(Q1EٷcI>5.?~;=U^Ç]An@M(ՂE$՞dtbn) |>Jݱr\Za8jXE(vZϹ/ӷlU 9:aΊo1Dṛ.Hh|a +Λ@~3n""ӲX<Ɍ# Fd3~.vsuȻӜMP̑ڞdf܄=ߣ!@ i %h:kRqe4M&>!b^.uGiHMF*m z;t^5_kInU=cŸ79wIn vMR,È a +3ى z`-eՒ{8mlIrỸz;c3X&<-sTӕK F8 *[THLoh&C.}vOApKҐjϨkIP7ɨ͊~Xf>/tL8dimK6V R$GUp9ز\[C%ssFڠYC]hu, KK&M~z?kvܐyG_ߞa/UV}Q|Y貚"1[?mNAay:sz~v\;[߃ͼwX Y0B^^D9ڄ]M!41nUm!MKbd 98hzjOAaGߧHlu-(`8Y^N"^ QXU}MM75RӼ)?kQPvqd=!E< )=30CذϹ}\I$ >yB.=jV,f`U>=JqFV?Mvr4;:Z3뇷j8 +\jۿ ԧ ysv7Ox(Ԇm3ju nx8>h?AVIXš9Di L֝dH__L 9qW8_{0\ '(h+ة= 8n`$g+L_ BPQm 3P,J# }$ `yd%+jC.((,C1g'\S1X8L_UkۋnDIlޑ-}:SͤRx069C"ϫ^IW>"nmpC~7|_ӈ-wQ)nZ>Շa#%fjG( t]W<#!pc4"0ۑt6JxWMvE<*i,/Yݟ߳=˫L!PD̸>1̱D,O $6#TH:4yS8 L]")&\ж]|zva*Tm<?Y[`%Lvϓ|z,3/kʞTˆʡ HBI~-5'Pj_.VBvb;1\;IX׷#7ʹ~ayA .4ILX:kܖ2i6!78d I1M|4Yt| f_&;Xv%wG‚~wLGE؝X |NA)B99#ZΕhfT2|B*i n뮑C8w"./veF[&?r߫;ĈK &si('zݛ-Gr\ʟB27pڔ@GѝL7fT ^f؋%h@l7OT/CsD=yC|fbiAWQ9Ȯ )SR+HY" Wә9nmv%axt1_HGh37Ӄ~3]>Q3Nl.ߞÅMr)xG.Wx=ptL:oIG"^ܣ+ߟ( 3oY;9r v\ K(zlh$;;Bӑ5UE~xj; ̳NٝLGNeeJjrUҺxKqL`,LwhFPeE=`]fַVYJ6G')_AwŃܮM4^/Mj3omU%5U[nB;ߥ1S䅄yڳ1O*u00#|D!$P0iqV¢A2Ks9_xšDsF0 Y {s x##}d@?45Ƥ]oJ՚"']j<;*6±{Lwk, Ł6b /\ Zݕp-3wf"Rw ?=ٲ,3\X=63q]Kxd1ݚkufm|رmi˂Te3v̧_Bja̙P)$r:G ނI8+j,8 7a' [h8mSAF[hisZr P}U3DSJtt\{UwreЦ>k&[s!̞ANEwN-J*| PhjEk+G[,QJii"hr4AYh@0o& "kPL,[ZybSy#YU0EEFK5:=%aT0xp!OhНЖ8`p'}+Üj?t:-q8KgBjUu/Hˍ$qhYspA5S8~JfF 9X;N3TҘ36azG@tpr6oHkh Ilq(}3z鏼ނ7HB0'~O}?hy&Joof4W:m/Q !t#MW*~h8/䂕yl[Ǧd ]D# iQ-#!G|0u'!^>୮xV5/JL ̢Zc L`,f/V(YV*ʋ; ;z,K>@q@W+IfFX4VĎK뾕}3AIĄa[ऍMf()Ν1zֈ$k2ֻ$^/-6 R!4,([umO̗=y1aJ0@_שXfj"S+G4o31S.T"mrp:C/ ^SFK,riKAƏykwfG!@޿"m;`ƃۧU~[WwwR&ۻA`ŗXוL2,/ƐPM2-R@ )KqCzbA "tLOijfQ/,M#Y,'璜ymBmn)+6:q`VPq{!VS),iLm!ݝ=fyFss=Vb8IF! E̒[ G fZUC#ƈh[c<.⽊GјkFjPzY?҈*Pڬo51W cI,ĆD:Ml˽=M.!et>$2ETƀvד7@H8ySR7( ׾`4aּǣ{{3 F_wYܛ1?#v|3'ra.ow{ ٤)BHJYYzқ5҆0(3E]Lq:kԭDdO4l@(!i*U PJyC1=f)֑3y4Jtt(0ʳ ô5  F]XV$l(|+NF22[ #CruNKԓ2]PpRQ5uh|E v@ ƌ*x sOJ)|JSUTtØ%c OWvXY_ݟڟ*Yeŕҥ?+ dJ#D[篲u?_r/*׮lȝRkã#g1&4Pc9XI U }sLzlvR0W6>e٪xKMqyyXǜO^(0JT" @h{+ gkzIϊ`]]ˆC/S /ǡfiȒc:#6QxbNMMtiY@F $0TXT64Zc0tlnm*LSmg Qa 7@_'_`N˰+驳> ;JniN/-ɬ$ٓ3c 5qzzFHE E"\3`$]LT2@#v&M2T٩+h 1 _id /ly.WX80{U.i[1}{dEwo{Ow*1m{=gmF9hЙfb>߬K]/Xl$T%) <|X ]θ{Jd.3J;J1 ti|]Wt0KƵ-vy CGv.S΍\>dwˬn@Tit] `Š6¬{0p!>UX P|hz4¬9ṽ].dc\zaxF:yB{R Qb be2z {.U;>wXU4N}8㱄>v#hwE!oC1 pNLwbw0Piz(G'4w,&CM7jkC>ܽs/opٿpʣ txsl27Lv?ŗZy?,Co/lt/}y0/JNϫ)HxK2e36Rk Yo=.YauM0 m1 REr7?ġVTzUrVx@qbRLN*P}-7,+T7F\I*siNku,w&:P0ZE"'pe4FCaTg˞koG?d >d~zŗ>A3/p{o80ΩF5ݸy O#aZUtV{wi?O Z8J-nFogMϞ)_G/:o *=\1rDO RI&qTսrk|,= V'v"tPd6 IAcZj4#99eړ$,i,CZ,A{0@ Z!u=uUSHG5R׆lo  *ABChajfC g:gTfo ]7A>T-A$b)-8-ʠo"a>:ь(4ȣQDΖ䱀)c3rujOfx{') IDAT{ [W{Aу}ۼqhk iOEzn${[_ePbWJN&A{E zS5LJRK#/mRDA*mIlAWfEw9=tju]ldfcCRrjGɨDЏttb\4jn uBZ#p4 gOZNv¸V2pFP0*Q5Aͨaf\9F*55)`}OG=:4zᣢG>,u1z)CRP( 4z'f1|$#em&ykU08:F\"z٦# V>YD.]K@?)ʕdZeWc@""#m6f7ݤ )J3M 1 -,$HAfm FCH dlզ˛Jߵ-}&6@i{|v*m09mޠU Qwbid&j,sK1'p[T3:QJWa(+s n=OZ@Uxy$}NPnfX7c0&|Cdd{:i%S/4#iTN! Jd.Oyw U$#1~w*H2Zd#RAHS1SXdfJq`X?r-h{zdd"9r:RSz뵨.*qbH;T;-ܲWy#8vt(x?dl ) l㬐Ba{$Q?]ז8$s- :³V_Fi?CȖyN:'E j\%@R3*79n9RCzc"1֖37Y^5JUAg U f,E5lrdsdؙ ̴Y\7=LʔO,e暐 ѥD;+'p/ nSNgK|e! "`Bx%e@P,yʒKl P.['?kiPkL+q8ԥ37y* )fɌEٺIFf2LDqu!ɳB&IZX*I{2yɉdG9sNf~$f6/:!9[h&3=L~0J_rxfn/Y'H#+ ,(vpL%whAP,rowlF1H=q չ"g.h; x^oPn|z #9Td!wTlit3>( lv\'f1I1iS(d2l6m1~yEkK ~;<Zy99KӠN;_9ʙ)ENxtu֏<1iNƟM|ϳMWn6Qr Fpp/i~:.u޲I%2j͑Mf+X{&vb(SqN&00rԌo2iZRm&Ďѱn3@U>P7 1$L~a7(ٮUM\a).;^eUIwPGuOh-_5N[cEAHBѸG$רZ(upDedRdܻ#4=K,TW w~UytV..إP7p+W 'WF}7ziňޅ>do l2%k7=vp,K"&8IE83#g2'ᰓ/औX)2ݧJ9 Gez !Lİ TI>{wF'1V13__pDGI_܁p*'`t xBdz:K9+:Ymi!ԩx}\$gz3]v+p#Ar˝ݦ1D ϓ$t%gԦLP_zAU箰Z"Zc ( juQ2FQ"|\<7O=]4.O6:QCL}pyH'يiyT(Eɾu2_K q5K4bٿD4E#\ڸI8yX~os+D?3gF ts/^~=͗&_PUPڣR*Mn3& b#+ACGiRO6rs<˝ !~X%[GuR;^q?("$¼Np&Ur9GR~2WvY^CM%.ՔR\о@y G 2%zf9]/3Jz lQ!_fy\KjF KHi&_5զ)5 : sHNٳb6rXmɤ(a'c iqOv-(p0KɶO14$,`@hctfWI8̪Y%՚".)!8"f M)9ARof-qٻb&nQ3]q{ƒ9iBls'ri'd-,!4c<yքy)[qW2 `3ݵrYB9v/r&;J ,)%5ѣPg瘴oY2l["&u;+(b6XtLާ^[Vq="k +(o4O詔+מ؍FlYr+#ZJ iU`EǠ3䀣=g -on̨]{P`#Tڢ? nM>,RiJ0<5 O:%QʕRf9^uhDz1KMT&l19FUM/<8RsjlӜQD=}4gh)h#чӚC+rDxn9c*&T]x ={~Yӥ{R١/l9 /cF2x6sE'4_xp|spx*F35IqrJ< R=&{;M\0[Zh(b1%% ܔ9$n|aZ_as鴡P0>0A6iU="q`A]AO9u(hn!tɳDQAt \<?ʵeZ0/~-%\{b5?b Sig{O0/}C&/~ѧ]°݃w(ӱ)0W9f i đr34kz*N̂'Y[h2p-U%!.Typ#cxnut#jד\\YT4)qX4G0b= qHg\qOwh2֐!Ȕ Ғu?rSt1^c}';Thp[iԦS IӪZqł9T+ĩ* :a8p}ѵTdId:1X$J=TX)Tls]8Qƪb16=TFf;AOJe1P#Y89yb*%J&~1p=q-Gnx|H/m`IҔVg8RT_hЩ`4ܡX:Ɯ.mVqF57wysC;|GWÛl?Hv \^ɯHFؼJ,4n $ewڋE 6~0=(Q"9v>qθ8r<)^K9y a}Z唥Vf#$Ϯ4X4ʒR!Syx uH!9>AF6RgYɪ=eT'`%#IAg&!#IG[H!!h'!O\rx鸒ĦzE4UA"{偪l$eH*)eDf'y[ݱDAIy&slgvnaSvJ&Jmcyr|{`G=m\Udq Jy݀3 ,5+7URsev9?B Hpn*4KI1NC~_wx_?iy2 gW8w}ڇ?%.TÏ (<~IMg_$nRDˇTty,z'z}~t~l8JBrk- ZNrZ$^=J\AFEAlt6+!f2,hyxQa\;W fh!!-&L84ݝv(tbtb"xp@Xdq\A4u'ZKl t A)U]#46$/@% M2PA/"M M- OC$1#9N}ʡf'OOd&;* epIBMQؔxLrx7ėϑ3:=Kڱ5f"X;ݙvUirRI6B)3d8!\IIkLa3 ɝYN}\FIOTHYCy_TX[m 1lh0 J@^,7p]~ nik( Y].At.r{!=+}Je *j[GF"MϣV?srqVp#% nm&BhN'2Bfq؄Z)ltd}W打 I.k/>r]PK߾}܍LkD$(ҸE[p /hcp\GI(ے97I VKD䜜|D|jV495'BGxG1qH%Xh%)/Hz~|eq*ړ@T 82dH05g!A凋A|H 5bY_M IDAT{QЬ/ϕ9W+h_.|=|WRaMRC /q{2+:bgA3sD^up{^ -q-+e^z {`w^|`˭[O[(RtWH]K`StbM">X9Ï!>Ni,QjN{晨IpCo9VPu(Z= Bfa:!YId_Wx#Jnv- C0k6=OT׍T;#aHNdKG͒Eh HT,87MʮH|~2kuQgQ{Dϟ$OfY1qZ,&sk%J(>&yE),/;YfpFBŔ%-YZ_B40|u>=RR/SP`9c{ ϵeM Mf.V)ǂRKP*ukic1ZqH (q+z,/zinv=t SWD\=ߠ4QBiH&1#vnKR3 1fsGx j~k4 _ C-ոtEI&)p j AKhCXJ%'Kw8l ,*.Q"Pr(USe =aF=feXvT#DfY(j ݾF(Y64?=6}3t/S6_zrF+\)Y^s&q}+`ޛgq!).ۊ+Jlb3Ogx^cp:X`EXjX_+e#$ᔸ~! %H#^Q:j$$dt7l8.sTmLͳ1eN+[k$@sD4\1{,(Fa&_R{N_[IiQpp-<|霈Sjk C'lr_.KYEe2vX9 r]Xzu[c>|.ҪI`)/D);dc6łK>peLUaC=INKeblY>w>zm7hxE~84R,qٯgyCi=(bo{@u}5?%b78MV%ZEH]1͚ X>Wp(lm/ΓD!Ҁ-R|BȷG,s t6~HV luٺۣ(sB>ޫ\lrꊽMRlQ6au%)x19_AHV}{N!s&2I# CYE!aL$4)Cb; hbbCfֵ$I\v >"!CW(p 싈blÀ0B@m1ՊG?i+6EpO8=%IZ5p0@i9: rV/v\1sOA8~J[k-$#o $[HIb-WP#|xay S[ICLǺ4"})2 B&qUI bM4EUp988ꍰZP/k*UAH5;8Rc, <#ܔA7Ťj+" ~H8'b@bFTr@9)~űš_BA3PqpL !E3wUC0!X/'&Ďg V̨Cg3Fbp8#iHn4b45gø /3Rbfa%tHGɌ!f\7.ۙ^5%gcauN;:97,VxnJ$>'8.N<&t9MV5Rq" ¡Tqi=~ԗh}Zs<8{|ĕUK1H% jIjQIUvi-;/?/OGOx* eS ,=Ӎܾyp`aB7h6b7Ao tH" )Q_&ì],PZAjasxr%TSQ?:^=sdiWV‚Q.608!(X} +"U&]smgqR @ aNyF/vJyKO "<\*-Ey:3JPUw8e*$gVruqw{?61Ns>BZ.trjEAvn~+W9 w)|y> XCZiRDs<K uο-6":[wxmyO%ǝ Jc2JG$N#m lnT]a}}!W׹wWy?/:/pş24 т`;$2`Vc6W.._p8n>7?#YZ|Y͇ͯi籢ANDc$ %![տLjR*)׏iHIWtah0LbT( a$8"ϲIp5&ALH*Hrt"aR)9v3|'#i<Ę JbmOmD=&<쎥5& k8`g7Ԛ>'@8@SY@95c[=9, 8SȲI;A" fF(EVaGnCV, z=^V3d͔ 3^Z9avɀO.1N/Q6UVt)669!CXIA`uȠd8΋Wk~fbFj'i[=!ɶҟRy!fo<8Gx˜zx;|[,9J8IHƚa$b,pDG; 8\7n?貾>cA? 1nzHZ!=ވͽ{]>n [7#ZϽʯubo|s6E9IF} /耻~̷}&~-`W(ի~|qp!zg]W{<`}R=ӢZZd4}P.!DQ\ijx*/I&- \{ih07 `2pmq&B~Kx2ȰsA:Ajx ʐDݡ` +ԉz|X%! ^Q9 3ECMзlc$:%pL^SXY`Ȥ:>h $Ao\z'DZZSq@+z ?B  b (>'hc@<SgV81a(TMTktPJbQJNY>YEm;G|zi #?qhcd³/0|0@Ͽcb)Ҙw|ȫg,ww}/":o{1qIBMu=n+O/\bYz#6qFAHX^1X_M>U/rQL۷c(="k| ݦ1׸Wwu^/Sa!>ǝwez!vv7֑BQWݠZ(-7y ET(Av{ BZi>BF_( bFÐ`H8"& Gz@zC`@AO G$­ t7gah{aCC K ,6|k8Qd *N5a-4Ṋڽ8(GRtQ$%Q}:24+YTet݃+ P&J@zeQXgS;̑9LqLh!y'aa0\six-1a̱[J4M@噿N]2 [ Y?o}"Z"&Q*H҈15m&QBf93VA:)lo3ӏ0 Σmr 1|pms$aQFeШ%lǷ>`sc5J,4\.^^e>^) W/,\YjT7 J,l&;Y3/;$ Ŵ[9%[6;͏H%,Kʍ?$*pϽGGtDCVg~, *FC5af'Fx*Ɉ8XCѓHh{ GCxD!hHqίHd%J9.PrfO6xp+u/?NX(%j5>+Vԙ%}zbIc1 TgX\&45hrdnI'd6;)>GS677޸'7Uɏ~oyxNp:}>ͺ~~$1n |蕏oytϼțo?,'==5n8[|Cby5 {{(KZibrA)%yw=xa8dAe *!8)C 8bS'Gn<18[إ{r\'<"/1,N;|P[ =:ewy3P|,i D-)#\s[,q)>qJ>Dǻtcl%<8NDP6z2kNR7w^DTynͧ^0ق+[e[a=KZfG7o|UH"ҭlZOUU:GGL_d}JlS@w?&g<4>iRs|3_f-kS_ 'o-4 CҲa>)؞*zY2$ϽEg >p|to8]\;x?"y IDAT—Xw0g3zƻx/?5&ifIz_|-3^~9oXN**~ů{ݻ{ lmm#c^)l@x4 QѹpNKɜ՛bƎrQj8 DxD}ϋeK{unwqy\Zl=P^X2壬4iL+E6h\?:bRhA@Qjsy 9RD@8ڞaӗZs"2q̺0B(8^;x""qyf 磸B]Y_ߦ-Rxr/.%ل sx Us"Bd ԕdwg_~0rlY Kg=H!a54, _yt>5vwNY.Vgg2q̋,Wu NB'fx8o4mMKg 18jm8Gg8/sM1x镂aӆ^U?1^bwutcDi5x";<v{ºikMX7|+sޢiz)ͷ+-6/0 xsPJ1+֔( &wSsUkKl;d'"E]@IQ "ǟmd4!14RBMCz_RAܡnv H:?MԵ*.۠V SAaˡ2)mys8w71g Bti"^DQI "iLO(#*G!V4ITpph-19zH5m nw3Wy Ǐi[6PIN[GW\5p脳OxOi@J@8ʊ_'?w%l;K%^]Ζ-m3[W/k~7 zo?Z:YaN!l(>x x?@JHyt9sV>L&X!:?9|Z>*RP/CLBc\,x,f_Zxg:Pd|6{,IMܹsU(UBu{AQJT $Hiie* ,\SCB><َ$YA`:]SŴ4TEÇ+YGQYRT^JK/'<7vc$L+M]sJ@ L/x$ -1*m߸.ք̞zIJcǷ &{eVdI<*HO,'%NJ$#iSIBg8Tak{xEÓ#EI 5>d٭)pmٛUs(}ÎTՌg׿E{޺֚~ X 8i+j]_|-?xD bJ &+e@+M "Hʱ5b |ɢG$MJB:vJ*P$&Q̧[|W)EAW*Q((1P)oXr5f9:vdF\,I0̘Ϸ켛RZi$ؓ_< #x)u "#TQ{m@UQF0 ;1ZHI"5n,zcq;]%}UeǺ$gf2SVR{o]ngm.%I=^ѫ)*ڞ#+T;T"f6}X_~?q-J}K78%uX7Q g-Wv~>9Z\d %0!}jfgkF/rDNOO;ת+͕=Gl9;3Ɋeg`{[X4=/"(}@+{\A_4#ob+M%'u7+ApٯRQc1HvKɇ%zwwRP/\eR>̹C.xtIGHGpG1eţ5(/'ԠD͒JH>My|Q(&)sx ɑjL2CE6XxSLlmm‡mgP-㢥m,iDD y:reyܺIeH|.`m PDPFB"Ąr6y]:hW}8TReÒ#aD|K 6;_`% -WR˱^%!J(FP)@:URLX6ލH 1,i)YkI(.eænʷh﨑,-)il(,zʧSl$Uao#W Dٛl_ök:FEv&LP ~7_hOٞMػrl,< 6[ySc*QnX!elg݂_㳿;`$C{zP }d%^,J&a$ƁS H]"4DhRZ#TA/yF'ryFȔ@g!W[h3“O(rwU)ni0:bAfT*$A&Ht8w!b79l>8Ց)wc.1PS|4-vuLT5x0ZhIi{Vaej4`kW0Q'XB$'N|[՗q i)x˖}U;5nypx71ן!׷v8qyUw^cm lPO|*{SUK\*XX*q`bYA45"Q]m!@QQX_9<{%H|@:bƶkD(JE!(E"L "!hk'lH4YPҜuٜPJB.PsرHٴdhRU b G.R[r0RD:wlsuz"u)z~Cɤ.KjPc踒( La(˂GʼndN)ɍ&AJ/&Lr/v|l,)2q`GAѝh"*£#rcA;z'htwv'?":wx1Q^(ȁB%k)):f`-CKAAlg)Dއ%XٞVx wO)n˟IR9gg۱m_uTX(0)jȣ(UV2d%il5 8xuL* ׷ۑ?,ٟ)eER|a[l- VH80NV*L7T)B~0 .fퟲKJa#uB*35[LO`ߝeIsLQ dP%}W}k||bkv >[\//j-`guKMd@8Z=Dj}LW:%|tJt-sϵ0]M=JE< dp>:EnhڎJ+bJLg3[¿w˽h!>DJok~k@`"\KC| sqB ^GJx0J'瞽O)wͷrVHUy4 1ڭ!dLv`#<q;g$nl1  ad_a_81]?F{-`|3dF{8"S!~*^VLvr\ƌ@"!DB8c O8Y4#舐98zOb04`J^Dz)33BSZXW>O3E@JC)$N{WԫLf6c6}U-R+\f"'h%Nq3|>VNyƢ0A%>Z6ڣS| }ǤҚWtQ À6 ZC(+OQC%mXiUPϵ2b׈ļrL*l<Ѵx Q"t^8MZs}EKX Y׳\,\!t2a>#${dKDt<_Qnc0 ?B]߫8Z,XWqdLz=*9J #Ɗf<-I5){Ǣ{8 %"f .QAF"Q^м8?WiC+s?*-əH Gs;/\#1c"1ddL#g)V:8ph5)*#B:wx #IHÐA)xD7P?I eextvɟg݃Sɂc:|yɜY}O{H.Ҝ|lCZ4!(ٞ#k֫oq1Ƙ!=CVd,ƢѺz27=BQ&tMK˻kے!G vuBAB#f{^ &P$"J5kEQj!q\q>!xkw~gģ=!'Ҽ&ξ5K?I VCS_~^hbIk;n@5qehf Ϡ%S΃4(e@U(SFkQ2O2 e4&*ݸ*=d'kOdc<:%$06y{\=/OIRbVK/mWWgY4jE(s(pfLd` DԒiR{ k- G2jVl_zv-]bEfѱ8[ $Fd2a{k}^\)g#!k"1DtCp]^y<$]ps[?j?G5=T6ѯH>vnH $EAN3O(G,!RkH1ZaADJIBHRc#ذHG 6$F}A7|_&6DP")t`=O8!&uTI)\wY+`$GGZ?>g3!$bȩn23*X- !̘*")@Q$heA,eCL5{@e*B]tXS/sKIԄ* !#XdXU2o97(R A :.TMk;lEe޳6FPV{ /\>nm]\6aG;EC&0%[ƱW&Zi6Liٚ ~F>:f] e"gvy&u@QvZ jոʎ+J)>xZpwStlݻ ٚ0O),`HH73:x##p"3Gn*L)i>Iy'N"CB\L!`6)BcmHr>D>]"{AF]{^\x"rx>RAU N/yjwƪr+0'}d IDATQ)! !*|e\DzXwfմ(zh-'t{=VX;0z c~@>JJ B!Bu|MrF4 if3|4:Rb>r؂B i =+7rmUrb uE52RD)"O+(B; 1cO:aCkvɣR`&h4.ᰃBF o9;[H^lA_=yޅI)68Y!! I•f>'Et}M8v)Bd|(QJS"T2wxa5bTHKI)"vUDZDɎ"Q)#q"B)I!KsR)K.rf4DӶ)`F+S2a: H@uD%[R4}HSгD# ^"LAIfkI"QG %q R{:zMOR/Cw|5>!.;ѹ.sǃ޺(DBq(M.#FM! |C":BB$GtHtC\ M^h!,|$kf=^o,h{{5q$5#:C Rf)ÌRnx؟ع%~L,."D%<.8‡8}n=o?0Hvuϭ[l sԁVԓ(z(3ۿR'%.)H 0hD$O,*00#2\n]K0$Z,_v,N 1wx׮^;\2τgVzl%z Tu"btG(DsVX.vFq$1'L 2% ̚c-Ai=i(3+$JGyEl!)M #c+!i,{.HKZ`D_ƀH#wݖ925>a]"p!Nf"\"*$(r**7]0hIaE 5 f[Th0F}^r4 aDNZѼ2-)5 x=g@;Չp T4*n-ۢO+s/R12mV݊c*rzFg=H?O<* O5R27ѝ_D0,1@*4R8$B(ΕTð,8:ĕ X3 %f-^¥;flEJ'-X*+B`UŽ`fWIt`>+ $ũ4kb*V1pK$vv=Gw<3{wHRbUtd}xϹ":Bߡe$f^3UؐDCJ94\/|n{x鹗LʡC%PtĻ@=z 6$!ȄX1yt̻>'PW"D 0D2g4q +Q2=Ǖ} f E/0,! ! rLBOpoԈrvWÀlNI=R)T36`H> a\+8'Ë0A3C*YFFK &!~xIUW 4iyUߒD* xȢ$@je/A8 "psw~Ӡ SlU׾~*ڏ;aq2К)rB76l=YnV-֚ɂk5(*C: 7#* v+ +zU"]:{D"R;ԓ+t7:~wR{UdŤ(.Z,=^%['e1 0$A$3@| 8 Qc<Ṍj0) ĄC\>&i7.-V+P$㌅9$a0AEjjVh<k&F;Td 9HFP貓7ILX9ҽ5.S>AG0[ף C>R ?<5cnsMET*<'M5 ^GCA*g*7 ڋHӂFy&O=$Ybd0WM(Oū=I0Vьv29zDӐ; ނq쑙Ji$i>iZ:N/a: <5o}qZ.FČDNdag%"O͍-]mqK!l $l7OtX ݋N`Ht\YJs8унcKXn*kSWШАwĹs2=@Hht 6n8Rߨ[ZQ$hE&u !XNxZ_9Ǐ@:H&\ QVu%)mʍK9%S67'Ր˹ḧfE5lQ@4ʱW:dZe)T5;uVW/ƥ h^'| iQ`%C,!$F+br? 6X:2z?ftDR9BQŠbnyK+YU>,%TaElҞ˙Lhw#:}qhD؜#G%rh0Qy+g{@LXf1VQ lcpy(&*<.ABOrzRh?zP*ƍNB@!=j xCC<# 04@h-cp(i1T`F1J"C"`]B2+MĈ9!юLjԔX; JjWv~]T5a>8 c e8KaJ9_X4s a_Yt\2֠91ՠ}QmxˍpPCV%):MPN)pܼ]R88]C+,-)>\NҞ3./b,FN|rۛ=0T|G 8Ѣ=(vSíۗi;,w9t~Q>7i۴4f{{9 a\iEOQ80"|2 D#spjfol;4\q-p ԇ1MbZC :սph8ycEJgcu- !fwuO?6W~VJ{b k>OIrק5Iu#*¸y?eiJ $KfHX B=@¿)&h4ݝa9Uo48T5x؉r/⯾:TfGw7oEU&x92L&]$i"& wQ@`D y0T}(a^ru| 83FKZh4= eTJG53pS`[}\9w&_RvWMUI8dYS8-0◐(E*?g5.ޅk/a9X]6: E .$“JmcwV &N4Ng9=ڠx/AjN^tx>W>c:su:QQ86fgJK]ELa21O84a; RX:_V;"ۥ%+Yjpal; nuxqiHGn=+̘Gk[LYwLZpy^ʭM w{YޘnE30O՗(,^jʒ*)}"vã4* ӂ$V67.1IN 7k-fVֻc1:VV{A!݀  Ch6VYy`2H hbXpa5/$QQId{->VyiH/@+)}lceDO8Hqi)"@Ȅ2aAUJǗOj(={PئzJZw`u>qMm£*ke`6+%Ti%~ס*@-FB ^'qbGM/U ]o&q[d|-b bx?`E6{aţk^|clQF 30#dd-B*rF9 j%@*Ik.&dBF~/WuZhe+sy!G2IEIv,qdYNtfHOA'%W?VߠRaɓD-^Ԙa|9{|옊woh703/~uNgschnZy >W'OݐLaV`4f0&s"*BTHC&EقvG+lKҩ@G.OG(=z;"EQ[GޠjC"cڏA&7uvS/":?Q.d׏-ytmIm0 H@-P:CuCE ּwpSl"JᔇTRX/@y!HOP`4%e@4P&*et"GFeFVOir:{ivm/]1sa@q"eҜrjWwM|iɐ?F!=ܸx(!3',&|U8IgU y0"UOॐ,^L^#p<+Rv@&+iaEBt6ZMj (b.h2;?='pyPq @[6.ɘ7&qZ7(rKT)T9vSPMI`p[|#uiz1 -;hاŗ.^eOL2԰خS3爪5ȼ.SO:&͹0HYӳKsl#_ ęr}{[0w,8Tq8'6"4H{P8C#jDg Qa•$o(&FC*:Yvnv1 Pu{ ~C" N2.5> ~?#vkjr>";VJyUE{W@; /nlnVY"O'q6=t2"O/D}PyI;;T_w w`|m tYmOP(ط%*Nü7 L0x#S' m[RPcx]$ɘB~RzhO51v(/W) t.i! nM .`o-4& IDATۻ*=h+e:A(K`r {!8)DvJ/ V $CgAߢhρ#U ΖR ,D~{C=e|}y81Цtːk,~*|>= f2l3{ 2"/S@:I8'3,-\j)ڍ?Tc&[fG5v _z䣭c36aX nˑĊQo0mPb? Fev62p I\J V,1Hȍosec/ݸA2Ҩ̶6'br-JJ(aK]sX#|]. VY3~xr c NN,>~ %oo~{/L?./C6,a^*K +%xG+./ 1$ȣ{U!m;,L)nE .C=M>A/y,UT stHSuߑ=~'5 9]K^d?m?K:|'uxJ@a$xJ\ȌOx'tsHKj, *z["xppjR .J d` IeCz2-@J ˋ fxx􃴢s_bmŵ1e{O1F' -p'aa(A֐IFݝzP;T L sYn03fav%Nbz{kXsV Fne $Х:!0^,[1WWD^فdaT-qjt`FdxB .$Kx7*"A<6Q(Ql(MSr. H% e‚q|yJ)/4<`4!$hci;̔"D3^6/_8۸ ld8 YW@1*]XY?;W @~4CLCJusN  tn}cҁ,9!t)% + Kn#X! AY(N*;]wIm{}n^? J?5=&Iih+])pLbAyኩ7&'y/1D0?{q6GDu(rܤ_ xudrZL .E ӌv7n0Nr}34.`qv8AhT$V _HPܳ /<AN˫\3A3"w4HaJ4KX$/aQ؂:/=%+5& Z vviDXc 33du/C#ҽ=zsqZLSh e%Vd-Vjs=Nwx~~o$7$I^Cxԫ ߼ͣkIIIgzҝXڻqVEGC|}/~q 2&L0V JjT`rSJi#iUJdhNq'8GSה򀞝0{YzC JGe-A6J߀'!@8C8dTXA f,;: ߄| O iרˉIͲ[Cj'6߻SKUww{u匛SL FTjsBD+`":Q:ød/'A2;`TXaӬc4x.a@O"@(ҥpTNr!xy<)) Rcp!=Rd,ED\'_p)8g~gKK:̩xn i 6Uԑem_bp<ʼn=%VWIRӒA#'-J~9Ɉ µ=F1vߢ]kP #t2a)2 AD!akT*-+sa4%)vxsG+OS'y:7V'T+^~骓&a䱵sأ_>Et8#<)\z`N̹8c:AV,HA T('!KN@g8sdbQ$ihA/0ˑ!YU4t[l Q132h8I9<3w6ȓhad5EX &آ)Y`&nC CTYec]~y\_s>/~ݢ'|_ѐ B/M>0\_ZF`" 'ܹVSczV lǗ_U>9Au۫6BWy/Og~{DU'3t˜\\  PB$Ya&I'dYV.j +ˋba 8 KK+X]Ƶ:[F=Vdl x tZ&Is۟,pJ)i 븽nHtDSxu+`L ?8~]J;x{qMUݝˏ _1yRv(y7Ǜ&;G)V]NG "h&m>*p#Zmt"a+*+G;ϜЌw (pEFcN0Pկc Ivz;D5?C m#g~~|[pZo'92M>(`z=f|Y^z Rxh{d~RVIBY*QPH2?ע7HؼAďrPR }F&'$qDas~p-)\ [<yGᅦӭ&/_FMj"$ 㗞yW+97{81bKoԩ1xk=jqnMe7x| gV8s4;L8#|e!@zdip8^!nK$J#<>"Bks{Ao|Ru`&j/2S>'ľ?-uɂrQewSfbBj; 033CH)RY(n7w8Zhw)hPҕ6'ݤJgݻ.*BA 6(!WEp@>N GNc%8W 4GTFclKw :yNBe^~_;s?SV^"In}!MHGX]<AHoo0cCi-qm 9~䃬o[gebw:C)JxPY9Eҩ1h \iiUF|2B(VHҔW^ĩ:W9ء +}"5 z 5?[lÇ$A_*?/Vn840>*ϐ &788['xN?ᾅ%C uy.W3(3a-Ɉg?v?Gܚ -[ݚGX'>{ۛU5~S?3vEm(@ɈMo价bƲǟ7_C>y9‘{O3بst'iO u^~:YnY_D\?o*[|_VadFGdGC` %I=y~o"233?Σ>‘#G_X <nݺy9w܏=<(O8莬BIRB[aM<)!×?QIOEg6w7xW'ۘވӾ~'r";v4qm{j M nng0!B!석u8GI+4VɵfGBb'[8a1ORxw V{{\E/]#tg3x ]`|w~w8zh|%Χo^&|gye]\\>s=o'ޓ'!w,c`8am#RV#qDhmEi*A[4[0{I!BcHMn/ j<5;?9-w}/$R%]I*qC%rŻ>xW/cEa9IoucRkh`J7ZW,:2%UPсE6m$f q:)5O lvTNWd)`L-Ԁ?k0svB©qY5>/?WRq9Iz2Édc8Fd YTEz>zf5OFCa!j\p(n GXڪ{k̭j-WqAH>aVvY[Ĥ?V99L+r<,!T?}m&BּGm SO np)|̧~ܻ=czx?p_cwo7ř`c'uG|gY‰c1k?ڥw*v*!y|:y7pQ$y(~I5c/ OO{<o~> !vq=;@qN6S?k1SXu9E^"P,#/2<+<9XT)s\.{QfRcUhwpNAfm9Wzp,GY$/ "j0m˔" &\^uT:Mp\3<}"^g;!:]'K?S>~ù}Il _9?޾SO>Jl~K?*y]?șޘ?ƵK0S[`d׿1뛚_Y/>&Q xQ;Cޤ1?Ws: _Leqv$ǥсw֚ťE~7~[>,--Qwg{!]v}|{W_ CR/ۿX](H@M1HWoCA^*ye]X-p./Ls8$h9*N"ZvYNq&c4$q 7W ,vvTY*Қ  >!A!~A@ERzr̽ieY{߳}=MRIb˲$ a` t ggcaiƆ dVi)Tzw>s۶茸^{s'PI".o}kxwolP tq vq<5T^&'tF +M"L=F CBe>FZ pd[0Y=,98~OX%ܕ .!,*7.Sml^T t"_G{{GX9 m ؤt.'cl]AaQ'l7p."(N|--)fo1nO%%on:Gvfnl#4KY,o\nUyevve xm*3\nh8{{מ$?⯟{#3ДbfkYW y=Nl{rD/QLs`UD yU?DlKvv|>O̱gC2."w6Vag΁)66&Yc|%|t-3a;N~~5O'4<{ ?|/Ocqۛ !X]]T*S(طwKPSG%]mFB;"DJuQJ D* PQЍđ&eJwA&dG=uB\}HÐL52FH%~GF ׇGp)Vu rF)1"i0biT\*45qYAz,JkaڄaA%a% a$d H"sXjvD@yubE V[ -f&5 F5)C$G'A+a9g6yd^}s 3cvϣV ෮!B'(Ex>5컏Dg5:t:N[*"tf[Jh:@61R>\[4_:LeA;3^XXdg4bN/cXt.%ivLMŎ2lV_mNp;  >8tB~̇yϱ=<41McBx9rvp'Zsy~ϟ[y`?-C1;wc%~O>k|'xUZ\gQ kRpc'!箬n}n /c 0 #ҳnvMFoDJ0|2Ѥ`mm qT*JIkI!Fzmh12J t"Ӆ(l459H0"EmVORY˼u\(LCTs:Y֦(HU"$0(R7\D@: >!RhHM R q>)1 ENpjt6h NAGyS`C-{juU(B֜Bꊎ, *9ԓc|/ 묮S$N/Ynuu0 _Ų~f6C4 J$o 9HXAD(uUcN]\ïw|KHK )#RB2>ZaV!ulc$wrh_ 9{?'2Ȑ$aCq y;?A!ķ0յxXކc~MZzRovC= . |'~t耎ߛi90t.y.>AtL] XZL8:[& NgL"ΒVM"( !E0Xi]"GC+dgs`8RO`SlLa#8>6/-Bu.xԊYjq(eCqt'p5NqAdF͐O\ *2Q*~U/d"gPDf3^L5f*+ ;,Hمm-]cZ+oڥch.uǾ)[[Ԧg1E~l(ts0U>t?K[\z3`,Y~XƇ380ҍX*S BqѦS'b Jp6mn %66qda&l>%Gee}[UcDQ,,,Pat;t#ce$viJS6T@' ,MC, ۲=Ѝ$2S.[&^ 米L4bE6_RK\ _t5"XX.BN# kZReb&3;-9N]4-D钙];]pܳu"TjSt wB@X!ETB-B+'[Tڳ##Ѝ&VF2V* K\=s]:k\/b4<*n+3t2ĭK! D]}({| * c1JeM<Le4ʕ1;H~D.!/s)F#wCwbzF8zPj Qwo]о on94CXݤ0 q=MhQ49Uڹyl)Nf>| H4]L]70M0EQ#yMV*]6,-ܾwb<EDEe&KsD KQLnb![WIDF95:(Ra\mB8-ή.*d|>CXC12$QhS,H,Ca!"ͥg)WN0K7!ktkk;D&1]S|y݃ih{qj ~c,ftHڗYm6cLVw1mKOZ2117Nwk{"ō lw7yYt_;:?N`wsؼXF87]6-x߻V@ynĒSAA #ѽCmXT9=io9KڤALec' _fAriz_Y6|&ɷ~-V705L# $N_(!uZ:Q'4h0 /t;q.J}AgsH_K`/;B}彏>zp <=s'Yf1,#l{DHiv h.|$q@GVB>HI{rUN}k8!VV}!_(fc|E~1 ;,a#i "wPa9U&ʳ\tO>EP|+;[׈5Ʃw^Y9Oqڭ#ԃ''Ү7vs𕧟eaD evf,w-WǍE>kLEmh] { U~HtULP~7n,:8yxߋ0*ϝ9ӯ2VcG9q\XdsAtlhJ9NB} i>f5apZm8@R%cnrv=IN8hWFlA{UdܠJ,(g]EQLvOgH=¶a6scy"/,.^`Q(;h/'Xm^euf:xsku5h.\&ո2m}ay\ap\iwh90&?P$/`JߝZg/o\3.arJ:Q vT)$HS;.]h&n||MA7> ӆ]M%ERm"c(KdRxTDD!0-8%lF7Ȝ:Lh@(%W08S;A'"ozq2U "59BQ"K)V|l'Q1o$븝=QK(kt˯bW9yJ(ФF'2<]&ͽ~K9PR:NkW2s&a*c{ *W ޢ'+Cd>8}!vaskSVk^cXHpz@wy|CՀ.Ч %S|MgZ;%b+)N>٧i:alX Im@} "|O|}Yln`w}*Ͽv{r}e%"[>g_0u IDAT4!Mֶ|UܶG" )V Oaj|*NA:u Q+ؓbZ&3s-JR}8R4͛0jR:iH0b C1 #Q\ f4b ,EL.j4}bg2iq.-e1LNN^j}i&WL2V Lw\"cGDSR qZf͊M>-\_RJ0FBx8K..= JǩcK-A ].4T;in,[;[dVW*#~@&-A0{% nM*aX$"}XdLB3DQXK.# + mQ0#FXQ7LMq0Xل&՗s/ )}~&m2 *[AhW8w<ܓDlvZ*8D3̉5IVfY\Z#ckt- :Y8$n L/)%a"4 d,La9H3۶хX|S~&w >Ĩb/GSR2eZLB;7-;1W[4! X)FnZ@Rl?KHmt,q+G~ *)7e}:]er?4N7Jƪ^`B8r׮3oɕl.X4֗zfcbq4e*]%BO FfvYZí31azpAdf mS)dsȕwf4walBbFK2\^ӥvx:U>`3,:%OQҹz}cp⯞zf 8 Ï<~0M̢2C܆FsAbr3ob4:n70]WĔ*Sa鄬{>W.-ŖjD)* #8<d&rĚO<~1 W5uܮFF+0?W_z?Øҡnh<}+ll?7K"Zstbs!qf3Tm}8u/5YXU,E b!bJ<=$|ni]6!%*i'?M\ r=B'3iN$kHEY˶M!>xòjl~-L9n%:m%V!0t<55 f*R^jmxrM^nۜBSh iTÅH v`o44 1d7@$,[ ja`]%F6鑌N@Y)HRӹ76T*HMuVQ,)M`Uf%Wqq+=_ڇnL s(ْxWfЋjq%ML-#"ӊѭ:'؜" ɢ$Ofrvݩ$,)Y^ORQ*H.y/XZCӸG~i%'Գvx DeVd{8wehŃDbBu o_f^JLe "y5y #V]:DN)^䳲|= JJ*sLB7PH<̌zυj.G!;O.ѥG+zL3g"Ο+א* %nXUcyמ_\nre{ab>)9vHm•n@7hB]Dx>PR& JcqngB0,2V c0_ # b~f;fo\JT̚yp( ci<u%@GP[D U* ]˅ujmZF6s۷) :Rɚ#wnc. Є iNz[PrgN11lp Tꄣ^@E:P $翯:T *-Pҽpk0-4zHad" }~yCo,߸CwCPds}&-N|'_?crmT :,+Fw{'O_VtB۽..p}S MXIMcZF]b2LaR7@ @&RHb32Y&fw߇9ܓ|~oJ|O 7ǫJ 4ڭ.Gwy!j7_g ʛ_%llqxn^ PNrmIYiJ}UOؼDeb1ds/PЄō+7R8NK"E,e)QʈPdt 1q;†1My6z.fv=\lPc}M'?}ZM₂*|,Inb ? 1:NLy\JaD\EHICVR+TU 4-p!44KOO= t Cj?NB#6)}f+UV: $c[4;u=\!Q( ,Q~ZtY~n#Gu7n035._\0DQD6uD6f077zInbbW(@Ղ1 f,#n=YhrûSEk`ڧ M]Kn*=GOuKW2IXy7.؏0hԷnjM2uu(6!p:ڭFi |#  ffnrt_?drv7qaZ6NO>gcl{7tdj:lllRЄI'2Q+{jhzR$pu]0q|LCP,T0h8lH{v0!$Cˢ'Ǧ$RӉz~P*C4G R\_({)r=\j%bqē#q#hZXL6ԵdIFGsj44kw0 m9N?iQRVi5\r ]78xR !vL"A/,zW׉B*xgQJ1;;$a0; 4ŭtB&C$rysm`0OglvǢ ~/F0tUimJt )V-Ak4MO,F8q]oipUPqI~>ce0L=[~>tu4X'iܯgW/z_}K>4ݠ)8{DB ˯/mrz_e8g8K\afzv7蘢g r‡?~ |+_go4z._yoX]YgGlln3R)y?㸔+)TŲd^:׮]Iqy~_xŅ+-ŏ!M0y.O>$= f{$щw~rWx:,\Ŀ?,/? sگ2{OQO~?$~Ԣ(bqqW4mf_xׯ%vUb0dԓ@Arܛ\|kz'165NM69r(ǎݙdhiԛ2L94MI.I&#$>(,bl|0 JU wR1Mc;08Ȥ9Nu\<O;R#*dG{7154!Hnh}k{1Jt_86֡[UsazzwWY{ _WyKAE7n~`]ܸzw=!>v}%#N/O)J߬NV} *Kx3<9tQMK`^3H%QꦕO*_78uss4t:oB;#djz_yW_Eyi^c(;8NiO^x''>A>?)M~w={wO_v ƣ}Goŧ?}=K\rhݾkܸqtI -[]W._aqiyNύ%Nq96t#Hb u]<666Y c&sP7ZXbY&'& RW"b #Y>[-,"azaeeFN- wN)NPS3s,vf42b]r#t X[]6@Շ~ֆ̵_n"Ø}oHWp3/rH:Odm6Q"ݴN\{EN蓣o>(=q6@&:>?g<س9߽uzY4Ҍ@!aO2MIT8Ux'v+F$!@hF3ez~9}gwz$R$xZ]}{~<|NdaEZ&LZ>[&, Y_~EOOxp>}trm6wXsXI+\buu3 14-іB*~W~c G͛|gΒQR}S&_Ef}}K4r^Gqm4?C)MҥKK4[*Q,Hs5!!|}sy?'?G (n 4 /# sy'?f^Z8֘R_{m67p .r4RIwBJwN4_ B*gI}0}yǏ@+]Rbի+ /nwJ(brr.Qˬ@/?jZ%)biQT,(E58eZ]]ad 38TNUԗbʨ16Xgr߅RܘdW,,x?kӌ^oG|v]85+(Qrc0bw~$8~_g&k<ċWm#^pt/e^yc?Y@%--<s+0I4-^2[}f+FTN,ϙ_Hcx̧S@xqx,+ Ql/:nV] = bh[c~>A87K)DuK)*"#1:.\;.z) ZF82J)f~lStڒ3> ۝n4MzUO>|Ghw:255I..TD RFC Lfz a YLEl\"+u(J,' IDATiaGabZq‰=<-bXkN"csKr~VPVM($IlHZ!Eo?e4qDz!h4;I,K5rν|1[L&LLcAG8`3L|(xGrltLdVdYƵ/}s2;R2DkK1pyz\2=;ñSp #@i RpaͪR9?Bgo=G}Z,/a&&&8v,Nnj 8pqIDYh0u'6B sO r)R":Q D ut_)i^X>nC31ά#xT8U&g2ȝBR m`tFJ]fG{bKC=q̾C0h9~Uuhe!8R+Nx}'!Q%:>4'>N5I,޿CjsgH풓9J:/K8;MMuVunbյUƩ--u[17]n#"Ǟ#Ԍ|WRȲ< I2X}p쓘Z_޵}QmuxʎQU ERp)NZll3??ϑ#+K"(]=q;&&z\z"W^ennSO3;;G@!}H`kkv*[ȏ33́=Zi-dY^ALXI/(HmmPfXJyN=Gq="PTEh^u% 9$4wxuU- HkOg?>P5 D?VqV8 <#NOᱷg;>rv"LTNqS~)tTg$ڥ>ez@鉷DxG*EojsO< vG|^oc BB+lm0g՛h Fͫ9x[8vTܔ*EO~m"e?L++ðLQĩso# ?Lwo\F>7MLknq2p !KKt]zwe9/ #$iġk41&wNzH~ۇOjƬ.-|w-woH8GXCg4[mYN#n1{Α$ W;ps?Ĥ=bJ:1=Gw,MQ,I9Ab<M20Fo-;]S!v::|;?fbbD F!B%i83^+"XYGY\ؙC*JcZy\lo0ZS td7'ͅKW_ZǑgLnhu_9w 2&>x5YE~#^̇};]͛7Y]]eyy#"zI>o!?8)MFo!%#&ȂGVa-NST(hZ_E(S\D[Q\ * 9pA.8EfEyЈߺ=Bآ@] W lϰpGO rc-t-ޯsrWֿm?B.DVU4%71SvȟJT - Ő \V tQRaTlomo./Doz.h\/"*1W/]+x뾉S ] "i7S8H|m$qQЬ#:"h\(Nt'qU6֖G~8B_<8I4܍h8:&Y:W^"9p<"i9[d<ƕBm<&˂,Q:VILhDhQ ␓,Kj֡h D+P~-*"+GHҞ"БDG8đBGU&ޥ%~.b K^%,B6mnHx$n]^Ԭ1=KQz=/p/eiujVhV{ZHl$?Ggx&Rk~8@Uv`껵",Gqe-~,UU}މ c}fT+ lCg޺OH"N9|2o#gH$N*6!vH(X _ȉ|{O>hCT;IE#nűyd)Z:VHd8bY䋦Z(N/[җkLNMDk ), *&r9.DƲx6FCb߾+w¾Iڸi Q*X[Z`fkmt4p֠t:L;pLT>|bk}Npi&gy;4m?<XÇ҆ 8]yO{%^Ydt?L4vn$~il%D2XT9r P`E>W5+/HOsEH*ܚ*Wi ٰXkʬbp󴫹F}1Vc\d1zȀR4HWMI> DF \†Sхb9Rd<;Ccf;-n\}FK$íMrF|@x\ QpgU&"f K:v/ P5t>Ků:En^ikJVZ5-#B?-b4MMwvWq.V9$:,:h#gΓ$M.rNp]9t@ዛxJJC<VH'*KyΕW.0}&OQ:̟!*%D' L MJvMe-B'lq6:$a<L̢#e(ͰF=mO~o~Gy]NOM!gK$%6Zjrq%<v:&!iwy&g% ӳ</|\{yVYtc&Qﵢl`4N7WZ_F:be;;;~JF ؿ k|kl91fggtWif@{ R%aνnI R-XYdޙV[Q !u;{Ol)d^̵{]{::V`Cn,Qg vˇ )^PQN;ZTAV<σ(>ڍ RpTv!.qYË8$Rf( J5?-I6k++Omkeyiwd(! מlRkP$7IND)^~Kyɭ ƣ!na&/|=H"׿[y/?$GN"NH[&&7cAH >{g~kw83a+ ;tLNrS|>Ջ#]!,%N<'#Ou E k'cVҙ!&gqe'XaH 1Z \{эYѠwOpX:Rv"w_S&I VB:H9~wo\eߑ>6$&.?FJ)%"w89G~9^sl]RE1QܤݛdV78nN^CH<a`'`ld1pXh$wUp3.e\JeEMRvUbL[4.@Y. ݧP)N/N6Ԡ4Ƙ'q>'r[FYf/ϭZ)>ӿf oLR59&f tf-~h1o0,[le4r N>G6>ԣs˼[>LPp]iJ/ + 9*~dS;q\`8Ce(kKܻ}}sp <,ٕY8s)N9Nj~ۯʁG5HgMD8%0FqU8gG4M"))H#L>d4ءӝ R9fH#ir٢j"Ln\{|G4YY_Y:677hLNq5-ڭ靖~5ka-)WoXavDNA4-<.G!yP) rcJKZUp«g: WB ]w;Lj.Q(!<096X{jui_xEP,HMQxv-rޏ,cN g$[Y$L@֢˲emKW~8z9v$Ȼ8?)DZ!!R8bsm#IFcz)ffzy6h1y_2ƒ[GlI)^E̚ nYrv41UY 'XSG.?u쭃rUR@]{My7{r!PB cL6Ĺʲ4🊀uo+$8sr'O?  [>WۀdY0<s_5D*Bqrɷ{`瓿1ܸLIܺ~엱ovg4aHay7𻘚 $^Bx:(MW^ԣOt)"RLX^`g{Wv%b{c4R8:?RO>1XjhThR)RXc^)%`cm%F"nH-A$-&'z;p$Ydkט}`h"2"h7#zMA3$ڐȜX(R5ȺQ8s]M M<rQQXh?i(EH R!d5(sRԔ"{NԎ1vCA{a}8OMV3CZl_2f7I=l\Rn:_`gۿ{e-'Q;70ﰹrl #@X2ˋ ;,Y8ٽ5 ю^n5>'>__? }?O=S.Ud!˪amtΤ N=XՏ3[kQ1Z`c^wo]Бao3s1 8a ݂.a}uv2Q#gjs汧Yb1lmXpr4Ϲ^2F}PZ M#k,/ܡhx~y:A%$qBӡ\F" &: M7;t6q+-! iSM./]S(0#1EXertrE8TaP8()k>?;)5JH_WYA|MVB-K!6W}pE8zӯ;˳$woR+^䋟[G wW FHC ei~|FZMfވʇ zw~Ӈhhv:ۑoZ315G~=V=p(`Uv5Y:.]zw6˅pI͈O}wDP (*(Ȓɧ`:&6Taa Z.^/|G3IOLJ='Up.ڌgQi1 BmIoqaS|?@7I +8!w~o1cyr"a_Hἡ4M3_ʏ5֕$QpC'{J*R y:"Iw@B#5(Ƙ-,G%ɞY6!1.'4db- "r*RtS_`,@vM %' وH{'*BqQ>Η ) fTݔE}Gp#ezO(*"(U6/o!>ǕD)KWaqV}ܮ}:?ՏW+?[7?399E,//Н'~oWpN)ɳ-RF5z^p^m"Ep*MBb˛+ \YPq7H*^q?8O[gb\H?Y?G Zir 4inJkFҖ&ZȫCd 2p޸:KH.#!pAtB V*tn"RpY$B p:N얿{BTZPDIBk\ɛVY(`Z#]s8B<ؐ:e<^|`'x݉g?)]yI}?("OSVX]^dyiMΜ{Gw^C_-{ h=L>FK]HpasD.Vѹ Y~R)!\]]KK2!C)`@wNm%~BCߡ )1 $Ry1܊`(:]4¡#,ӆk $ANBD(J]&/" t䐛'}S3$qDn$[8U" 8k‡D˩KW![!0NS0  eWP-eUXBXBZ `]QU5']Qr:BQ+M>s"--vLLNmX×шwXZ"m:O=u|7;qx:"vipDq4t֟ƀ.5?i \} \Ί d4-Y+–O#)-J ?F*Jt*SsHE1#V Ч&gQuA9`xP=R2"5rΛ;8g&:3)DMj1",ŊFҠ4BϺ596ψDhuQHQ>g 7I1,%"Ґ!hT&]/ fc偦8 |N)d[Y7TO3*ͯD&="]f֌~ kXoHxDLcff<ϙwycjfXp(=u!P$7%THDik ^GAEBA[hx0E8 Y㬖c[m\NjL.YuUQņkZ Ь"z]7 Gijʼn9E0!eIQRAD@R \\u$X_t}V,Slg0NcTƬ> U]|t.,j YsZ 39Bh),JJ(Ň$2(!~t_@0",J'hcf`RTxmoH 773V")ܟGcO0ՕE@Hk|Zo3om1:sO<-ѠϽs⋬.-pK<Ӭ6MZ[l^},i[שׂ/ őBqU s(U|'eEƕ:SF<R(p;VG4:>=,ncm&HDASVߒTHb8S6]GQD%a̱2gng,J8O&S׉岳XLؔ>26PY@ky#I Fx<Ƶ+l$ I8.'uL "K360 IՂ元8|b4˸Dk4< QRqQZvp:UFD@$y2MLL$I4Q䭵Lt w6IbM9C,e4x~1^>3XGhiHH=$^Hb(|&&J)&PI "-ANq`IpLu$:R;mLQa!PBj4=[Yݕ*r!&L䊖ܽV!:WTaǯ h(eĮ,]foU*ÅQ35=Mբ2==C|zLLL4r_+8j6 xpn]h8bg{}܆B-qľlh \&3Ơ"9|( őr!cX&r9OJ3154YghaY|'!UKqyiwSgÕ/smz^h\XHVnLZkXGcvnBE DQ֪<`Jl68v$fC EFȡ71I!"2١ahiw^,?$S YYZ?O&1sLLY(B$*GJ?{YIoBއzrgT !Kk{Wp[g:B1vŚUrQUjrjי0A\_CU`jEj I FB'!W}Yd_1N6*vJV55 ^plm3;3WlRn(ڇ 5 Uqn&"1JWt4i4fy y|nё*[ؠuςK ȱB09='u:[t:ݪ˕u$=KgUl4Sӡ'%AG53ǣ2yftu;+oV5'r(b<ꣵ))VWdvnfU51FQ䃶h< ?XWn8&'Y\W>8MJGLOM VaB ύT xD5xyXɵDi"t4NĉVH;4'- ud=N'69
Ą_WE dM58 +\fqc_t-dE|Q 'Qj jWB5$PJ{sZJ">a;/wpvIΕn6C9Z"0k[c@ QT@XPE=Iպp#e >ubJ)(J"Q6]9F0k i1QЦcHzp43݅JL):$M%]q\-G(hl'`D0=7|2,+HKj͙('o1 i2 /P&Mo)Df'OdudMx0o U s@%ƺ20U}kh,Yb*Έ]am|]u pq!O;^Wu V<&›I'CUӈှqq&ȨfW?~.3gpE5jT H&~hy:GHKàR}˗/`9 Gg\#]`ů~_-\=cMm.Q)˄w.0 F)m#")?7 8C[mր\. t(ڔ Q Q2TA {@b$#d )azlצTF') 2T<ߢhdD x0ȺZSMs!܈$1a/jݥTnbP)K1XS |.)NPJ;}E q{pp:8x$SI OJ /'Կ$UNT lT#GLYKlrE*@* QHKP=` [~T Rav2'W(4̾4# b&V@|4 8EEiܿ$t/8 '}3|9fĦDc͝ #&kJ.R{ޙ(dY)pss@ן~ƧO NV:nU]ONSt§ߴk{83`"' DC>KMɂ&RO~o\0SSgHHT.:7w8Ͽ)`}{*(kLjD?kz877wx '\.gk%SD쒺݀~OuKɚO*,2fE!bp=u !Z^"djAĄׁMMȾlXН|q.sx6,2 "Ri 'dqlor2~7&&%~8VJ?HLJ_>ƭyTl1Č.j D:Z't1b .޿lysRQ&fF#ܲ}_뒑Àۻ'UoF}iQz?iJ/FT7>0U01+.&4m>ɔuqmH#}4ibPi-t5b (Bpa?j`z Ҙ %M-f 'ݽ|H_nn~rI&nwB<,&4]MsY;L1À̄?`/X bzvZog0܋4CCЫii tقm<"C 1NYl5R1i9E9/:dA,|O,HMdʏӸATb( h`X=NI*sj4:UBtr$6:N"NQ ɦ .1& t}ٞI]0jFaMY'P>$]bS*э" itޢLMy$immGtmIDQwT"'N'<\S 0F YʶGٚ1&HOS%+H4*;;ETr%A%+窮<)1<-#xj~intXh^G06rJKk) V)kKSJZw!x~ۂEQ'9G Dh R4_ʥ5 YLD.Iwb1r*RȲЫJ*2dOdBPZxx|hj-=Cp`!, RU*H2fNfUHBBegFQzuo AL: D Vn餣IHVGY;E#i$IiJiՇJ+~; \_l78H&izk ٌmS;jk/< *Kh8cdvIeЭC!(4d𢚃U(P-.NΌ'2 +Y M$ ʗMLAZ7yu&pСCM`;?ԤRPyT@#ezeɫCh (#J6\UeRRZJ!`ͲJ#C̣f3k.O-FS=Kkq(fϮ%2`O9,4wAS;'*/dYC c ,UZ(>e!5)07[d)<C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑi.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME IDATHUKKkW#ۊʭ#!:PAA"PJ;upN:@\(\[JmX[j)Z 1BR8v';bQk'tgoo}km{F5Ƙo~J4巜Ͽ899ѧD=!"۞Dd262|h\.W7Y88H&ciqtt$Php ukBmuuؘyTUqmmn/ }&B +9iauz<+TUt^Ӵׇf\.)"<~CXZZnoo/$PD|>Oay<4榪zPRdƧTyM[[[F"V, !8888x~ڦi~1Ƃ RA!O`4M} t:m @yee{,.r_#j2 ;|LDzJRQUUW%; +~٭ dj_Bs"B.Ӄ`ZvΛוRohh|ND ?dh4J ujaa8fP ڝq, mR)[ m׳ɲ-Y]?^ŞkpΝT*ۑֵ^d~nnn溮a]Q+pն R???81ltt4dm>Sd<;;$Fs˲NH=*-YHMZu)[+ qnN3IENDB` / aFFNxNPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xtg **RG(x@PNG  IHDRw=bKGD pHYs  tIME 'wLIDATHǽKh\e߽߼'EhccQBDD Th|l4]I|4RD;E)B uJ0"$L43y;3ozs~?.偶D~S%dns|qfS~4}w}g[-^[)9֩ό? .XF 8U0@ъjUx?"54a(W)E)1LNR.`PB&M0籮b o-[8a:oCH Jy/ޏuܒBѱJt+vvA~K9 @k%2t7q:(I9IYʎa [bPExˇׂKgj<(;ch V&&/'@^?Ƕϐ.\M%2 @c qRɕ|V Y+ɹɹrX֜Z `drPJv=?\+JdNpi<]?5B$}tCIENDB`~%J:ibJ(R"ߏǭ/0KmT’.^Zb B` icJ@`;{!X[AN?尮0Ʋ?8JlN]Q\.lPӲ;K#Zu5q!P| _Jcc#X0VxtM>LER !-ac| o|GɍR[ l @Ӭ UQU6/rj86x\?zΛG6ќNq9.>n;%QA3鄂O$X,JjNᶦ2@˩@}#j*3Ї5!~կ} g=>\P(@1@kx=tMKW(͜_"c4|_ٵ>ݽ=/IqQ| `h =#dӕCf3i(UXz7/W>B**| Xr,D G"dC~ Hߚ162L._ L aRR\p,S}1@X"Q(XqѱNM|/p!2Ka -,aa AQs-ȪYD撻ѱu JǾgּ{7Μ1 ./{J!jjBX"uY|2RI۲_ouzii];WxMc|tpK- ֆ%nm<1:6jNHO411띝;~:_|GOʒKihlի8)-0arCǎ MkEQnޛ /_v۷d{{D2td[Jcc\2TKK)FfD(6 ܱ`ZdQ}}}iL&iyMlxroBKRӛ.\M^ɖr3Xr[ULW8,ZV_ovIENDB` ZZI xPNG  IHDRw=bKGD pHYs  tIME &n+HZxPNG  IHDRw=IDATHklٛ]&@H )R.UDP#zKT %R j4 IF\ZR¥u b\`].;3;gfNٺKIgEJr (@8 8u[V 044ȍl)%ukk#>`C~@? 3[!NH$6l[ꋛ +ik#EAhhh`hh .ŽNfΚ!PWB{ﺛ*gz.ǫ~C --OQ/h455|v:&)n|z3P0(+VSq{4䉓xUv[x<'}Iq/Ⴧ6/9C1T QEI7chj^MU108LSSaqfQ*W?+.8~8x|  [w`:Vi´,H)Q,+Z:te$MxoxWzPŋ)A(k ÿV+KoKa:;;YLss."a-B1J)b:bk0M ۇP~t!wrZ;'R4chm@2@ PJaZ&\7wў={^~^{.RJ$@J@{{&E {7R^pv{_Dw.UV#ASs kxxc.|7GPk[HI-[|H$nbp##BۋP155L ,Da ,8iju]CB,B<ibL R9HXؿVL۶h7rcWR<999}Ӎ7y'$q7㚮隢( TR yAh4\.?*cIENDB`xoB R@~R1MfxaPNG  IHDRw=eIDATHI3ozCBwLBD!BAğ@쐐. A8@hw-߭Λ"ye0R5W??xۣ#qr7#r.L`xPNG  IHDRw=IDATHoEں8v,O؇HE D(8q@\q>Kx sb``p  $'L0RAN ɼr8 <"Aa {+mF6cESB%%y% E%) % |@E.!}n26f*Qtw:)Y޾ ) Q34Jlx^PNG  IHDRw=hIDATHYlTU眻;]fDvFlQ(/_Ԁ&Dc1%. &q&*4H`ki;[9>(BQ_R }ǟxw,IT^| AZ brVg6MMrE׸\" EQFٔ9HQض}{q WW,xȿ>7lX@B)\B )!iuKP =၁WEؾSExMEEGB" C%KfB3t  B*SgX!)%9>oDDKAbl1Nb{`zʫwd3],'y0ǎ,ZZ29y}=uwsٝ/ONw0Й+b۷`(*u1`k]ǥ[lmɓSݨr˫ 8H\fiyWN{=ċ/癜bo_;R A@+8}4.׏rF3A@?4 333͛\>5 !CF#i]{@AE֊BᡙIkQiy9 9@CAp6mh"ҌJ -(%"|@p!4@kkާwE$^VkRKBb@Pp1J2*AkڻEQDhCEmqudcPcpEDƴ7]2C)"޵ӻol00$hPExVJkxՃ]ٵK\sZҥBBHdS?r.Clm5`{݅}|DžT? \H_ߞ)ӏBHZKG93Bl6|h._n>i)IEX 8&.pQR ZkN:67k޹0Vc Ru6VrlX__ZwfkOT*:I7WVV~v\cB2Zc!bL?+ZֳU>8c."1f %~>lNIENDB` BPa9{6z7vz'i\|ѻsmgWWW\xNB.FΙRf{zGױ2/~w||d$$#$UN""_#~[?RJVwϏ38 ͐)Y(IP ;{5j|?<Dfy?I@K''!r#0;v}wĩqлѤҚ!ޱB@ 2YtR檄$j(wޙ̾6R"AV`TeFJHֆNYfFyn`ޝw !R"{0FmJm dJG;V P3(K&$UfPUHN^z_2wڸfFiJJ4]jJډd c$QuPfCoΐ3!Z In3s_;jt8"{=PmHI6UЮnBB,ͺ݄D'D HJH)/6=0Xu!/E3Rq@Uyސ(Cr렃ҠB:֝C~ <sN2aJJ ɂ "[j7:74)s?;(q/|{)'2#"dH)1#9` ,eqAD͆c/r a0fCJ‹/w RhhQJJϴhM򳫵߹~?y=11D%8!IH^2.n_tqr=ztɓ8m㓓v-lK)G)Qj=@*&ح붘dF~c.o5s>,]fƷcIENDB`,Btm%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxLMoU1xƎcI0   B5?.@"lB|@]*D7B#qg{Y8r|9:f8B{]漫RzKD*p`G1AzME LgNs]WrC%UWu7hh5f>8"i5! k(6 31ć)pr>p_OTn\}Wz s`X yR [ ˃M-gӓj;('0"#'!&'dQJ}ӃZ0ZZWW.<ͭk}%Y~9zJI%`dZۿ_"sZ,Ӛ.%]JRY\jSkW bOr e_^+ :wY(o\oW0] ^xou{o&:1Ekkڣ۞ O<ƀsDdma9- 2yMG /<S) ȑDc BNLw,\.˭=߶e5]qʴArIJ =V KJIENDB`#X? { {OsxsPNG  IHDRw=:IDATHˏW[]]3qbma A@[0XH,A  ;d!@b (DEJLxf<ϪzârJG::Dz`jϧ'qf D0ss Or,"ks6_|:%74lE f{:μ%l.G Kn% #_MO ڰL@=pUTA^ױ%[ݭ?Λ[f56؝aA+WU}N˽ĥ%T2+NѺ V.M^xw_NB x 3PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;s NJ=խ՗ٻnvm.#WۛBH`b_~+rivJx5Cf@LF&X,x*+"'K Lh.]SGVϿ1ʨ:U[kYL3iF1AJ RtN2Hᢥ4YYZdl3}s _t廤)Eg|5vQ!1q$b=T39i1&Lv& ~>Yj63Z_^\zZmK?ӏWXj/"]h3gȐ !Y3eCl ť ڬp rXk ~Lo_qڛE`ƉEDTZRF6x+%!XI1v_%^BwBB+h4FOޅv'836-_S̭ cÈFqGf6.N(NLS^- A8?Oj@vQ]$ `fbrNJX:6zjҩ+g9b?Ї-k"H&bJZ:QAD J sg16o6<695 џ~m~B{mª&UQa*]Pdӑlx|)})w4lg.]Re4oT%s$rܑ9Q)a6IgfɫIOG (ga7ZV%IџIQ]{sgƥ A-xG @sjUv/쀈IENDB`vy$4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:z@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 4 oIDATHǍylUΔQ(DE"Q ѪD\\ DWBSWт(P@W_)ケǝ5dfΛ{o#V4^mzBڌe7^Á$ŅԾ4O WꪥK MϠjT+iIGkdOlcn^?@`{#pT)2Ǎ#1(" PAAՃ Κ¥7&"A1#  4$9m*9OċO$D!BOa 2OU 0w$uGqϜϛiZc ՠf Vaٹ%TU[_&P~F)!QD'߲yA:",]9u9[>@;!PT2WL TF~tVUDU%?4mmcLA||M8(NK+"`BEm &-kwƥnRP:uR1{W]MlY2Ш/ `| kA]rM$R (!;ğ᪃R1@AJ<{p?DAC8gi&C"@Bψ_!""L!]Eϒ$wDreÞ yH ]DAPD1xW9-sFЖ4vd&(ye91 @*_oiCU.7p= 흍4(((]6IENDB`>yq ggPrxrPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH x}0q}pl܊!}EEpvyv᝺[\AH֪iKE-[zowV3Ȩ wtmRF5k(,坽8ypG[Giss +Q ؃ _ϳK<=,N NK1KRY56YOkjJ)hCf6łxuŎ0fa1z@ a 󫑑lO:5$.J~s(CB1}OӛRwo"l Ry? A$L<T{r =xͤ;=5U \.`vXQЅ~TγS} +AWx쌤mcGڳAuȝ<>h F%O~*V6 twr(Dm 9@,:uwwd4V xN%2杘[G./c-!n/b}*䴱Y)T gt7̧bdkХS)%UiR+dȍrC-kf3\dk"f++i#o[죣N{R AElpvմvў,Q@&&_f|i 0e}rʉ۴ܹ?Omn2#ߜbY[P&ī۰B0īuuu n \)jɕq?*=jBHŠ.lj:ӧ_֝dC|Q#7q&xy'07ߓL'>qJmR0k^k)"kmm5N 02S3ڭ[&, s{oiP[- (˼y N1(S@#}+#8qOF}">Ȭ@&T1gDWcѽ K{my.ԥ`gVn.3(@-zx^6[$+T)qlωA?'^{Vc!"N7zzd ,gC/uhVau\|]&Q3vmy_IRD%Rv\!18BKw GA{v^ﴔ" Ngi_Uzf՞`2`B}u/6\TxK5 l4 >$dKY+4% naI=!FcJH– B!GwM(23G3JT2]tw2(e1l-qW~,isH) {`=DwCP@+[Kxo-_⍤(hKLf:6>.ƅӄ洜ӹ,PQ6@% Nq;~A8zݻ'? SJ39Xεr YU%W0SkĜSW~@Ɋᘨ[H>>>99;B^w7t x³X2 +i4!Jl:Qʀ2; L+o!-,p3j˫̗?fbՌw{X7~Z:|㌲9W`PziдkfčI9zGrm0'zXsC| ]>>uq 5aͤvi׮\D!ϕv֎w  S ]xWy4]QJٲEЃU}F3[1TĄJV2*0B # cIh<{9{~?ߛdm4Rl x͖7sjk*j҈P[B#(JpEV Q[MZ/J"r%jTcJTziϻw?pg̜o̙3o빳RG$ )jD!!&%EXY`[aH1 [PZ p;=b{"IoƟ jgᮞפvx\_.E<ܗ:x켷w Z _|OH{@Z5YVb3X~=̽=H/o챇iЬ<?YG۞N.t=OcL~@?9 c +4eLŶVÈb1]wQ{@Lݤ~\Qm2d}Ny\"QH xV{84/ cմT-?Q K5;-3_rRSRsɬ]~0iXEe:<9y}|?>7v9-X1 el|_gK".rUHUJs: -(GW# ݈VP Dׇӊ $h98^Q-q%`~5fHh,o6ׯLIH!&v( XZ>^ ~}1q6̦|i76ḦT-To.Wj xBBXGdᚲTl5nsQIu5%\p^$ ǘC[gN|)][%7"^^ ۲ 2(m"@D;)'gG"֊<`d1u:/NZp:̹BXdy&fS8ۗ`c)/~s5BP4YpAnm@S WƂyl PQF "{P^</}^b _w H5{ qq?d67_@p`=VU[hVb6@6" m`o:L>kaklLz,>|KS]^\@gwvF,Ic*Y=C6E Hk3gdx2~y;/;vQ[I6OExc) wo25Jm'|.Y,>{MkSh̯ڵxBRe2Nh.D7={pd7uz/ˏܝ𖵟}X3}yhi,Z3sZtDѽɐCP@7ס&_QXy;#_8Lp vk:N5} …4D!~r9a%E|Xfa} eH?7_D}8Ы5-r:S[Ծ#]^cXҦ!j~KyLA OUhMM0der:H UoL >3*]֥4$ i 9h OߑUhʦ/!o`581b?30Dܼ$)!66LB'Y!Ue䍥/}9޺ufru A!U0 M[iNb:Er0Yc rQ xҌ3V߱X1x)mHp 톯&Xxd>R\nD65+ؙmz4-)j-sjsY;]ͥ KF̢3)&- )za+ ȄۍF.{& *v,A-ޒ}vUmhrVJ5 s޹0L-Ϳ Q঄z{POe˿X%\(@^=IܧE3Z|i&}V8ڝ^/oiu\8\&F6L,da#&076~'1-ǂM0k\ah)rt7 [z`Z2t*bjB"BoPo/pP_)cSBjj]G 'LI6ǵ4e V׷2:P^(39)T5 T16WCM 6ǝ _D~4gZzT#y6+f/(wΞ6;k`[KquzކsFTn+W4NAI$mP#Of"*XQmp$V+/~ii600cqnmEق-8/.-}P>or}"p59rUk_|E4Mu55{pױyq[!޶孚7== 4^UnC; "QxiJdTJ2Ow.Y\3_`z!U ꚯ;o Rԭ6 =I? ]*i&؂T3~LJ2Pe]-V" ][8H{ώWyؒWD ?i:Vba[ɳYT'--ioJ(0c?ƣje= [۫˩NZ C59 *u Y^sxh735%9JS]7ŪK xvUMM[ -|3I{pe+`aa! #R~D$νMsωYnqUѽzG{{{ 7 FqQn1m k٘שel^6T|=yU<TH  ,O*q1[B;1ZRNeV{ɼ];n"վ&ewr3I5ǣ8$#=J9^ @kp]Ex؂GߨR6.+J'˚3jVVU ͓H3/1uJ.v0|iu b^ 8 M 6em7wQjL5[/lG.fL|[AUŕ`kDnܾ\ξ̐]rd[g'tIb|LjWT`$v1YؼSE{P~e5;bCH1C}լ ֜R= )K:|Kԃz8bfj!{mN5TIYXaً֪)A\@s R9c xYD%qSG̺CA.֮g]e )>;F4!LĚCdKx$KMv $߇oJ_TB:k@^LO<ܵ`'ܓb~HTdO R4#cOժ_bW?Oi^x KV"w찾cT˒X1uʡt Di#i.M[o~}hJ%,ܷb\50<v7m'֛ƘmYt _±SQB9Ԇi ܁J0jz֩^r-VУ;;;Kf@~bo˶MXLlLܹs6 3*[WᜤFOSE: t-T)<}QY_},1eært|&B#jmMTINK]q=MirOwBy݀5 E x$3)UW+ 'o`ĕ]jfWF^0C@ '&XxbsjdW"/Mum(;m4"EbSAd-$0 "OW;IՓvI^NՈ$ *ZZ ;T1S) |L\!"!!J78M6}6d)ϭ:NGGU4mdrݩoɊhzWp[x8*d>ШѪ2Rs%]8HpX]f~š/g =ӕ~̶ΣZޓ?r>3|XwWUK5rno~Q e/S gk,/:<pB)Z$J|<ҭ+n  #+~;UM$7t*fo1{Jo/ ܅+Wk~iUP z4Fj't,"S/8fV*-Z3\:_?iޒzXVRf9yCi[h1l/P}I A`.\&aZ=_'Ԫ4pI6TGeǤW!LG[Joitzk:(C 8,PZAI0X n $CoQ){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 0:=vjIDATHǽolSoP'Ɛ 8FT* JuedѦIӤMX5+&`-Ѝ%$FHĉcv\۹w}弟=Gy1ݻ7/JuF B>z᣽ݤj @1 |avC2u%0$`B|-3$ إz;`^mpAqYqs8(ꁧɺ' TWWN!!~/%%IR. !>J`+QӴFG/\Fg6oLбcǒmmm庮;Ѭ/8O>=AuuTWWbx^en;}`wwΝ;~7o[O?Yk===$]lYN[ccco v6gd2bcUUioP߲=AZQΝ]\A~~u!Z[[Kf-L/o_=V!8{eH5 ~7@Ӵ`Xdma}9wtD.).>x>bݻwTU||+q H-)Sx)Q(0ʌ[<7^}k'' bXly Zil1&s8Ba;Ah!Ϊ*e1%qMZwwhnnn V].5558Nv;-[ ^6@$ڲ̬h6ݺuҮ]"%Z8n߿?$N};)/FH-R (.su/`bbb,8h4B8 Er_ijjzt:QEQtvv  /$SwMFcF___~:. 麞鼼aXD"Qv)Ft(0B8-l:o|!^fe9*UVV~ ˲f͚5\Dm#32GXgF^b65E4~zOeeeǏHwQKJJeff*~Cєe>9X \Z׮"4&TȲc:asLytt0LFf$lL$FGIamE9qRd~TX@}g$) %) H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@FKT8x8PNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME *>d@IDATHǽO[ǿ{6<1!clL UQThED΢nˢXYD.RU.J !H˯}=.TɨJ~7,9?ߗ{qӲ ! !Żw?|Y]]a BD!! @ tlf4 ! L9٪$ !l)d2pAq |fR<3ZXX'tz  BEyt:҂;B[mbx*jmllpbNj;wTU&''Iӑ;ڽ{ꪪd2zBMH$b|܃_ !!,//a!/F)(>z7o$m l6}tt:,\*J<>5mTRqvZn7CV}YD򋋑TJfGmaaT!BZ5!p\ U>[]&o702C#" %geYVw7yG2<(]|YB p2ƠjUU;XlYVʴW<__twQ+KScN;4;;۸~aqq1v@ Nj]^^v躾ѵ]tf~~<~S P?G [p&+Ws`8h&M$#ZmK1~kL}y?$hS !0q ߥ;gf'OST4!f:D"csɤw~ q/~?`[CS,Ư;@'p%UͦAI䤉D󥥥ᥥkΩ4[ 2^ BNMS€`~!x]+BGB2R88y lu7 (kFp+,pnC&.$rl'''@ UŐEUUxv[uLR.z'<LN`^Y`kCmGh4 ˲Fm۾ZT۷oDjn,s~#װaH0Bi []$M6lA 2\.4ҒNիWv;td((ITr:C1hӰ ۸~9,fs`04HdRJyeq]|hݒ\Մ0ML 0&)jD,01Ei(J`Z<>ʅ VlL;  Ce1qc6jrr3-*! xO>F~hbfz,Ro T͎hܲ,^[GGGV~{{;gFǍ2IӴ<9ν=lllǍJRu8Q֭[:<OZj=S3˙g?iHrJ6IENDB`W.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 1 JIDATHǕ_LT9sf`A`Eg+6j41&H6‹^46zEslLĘX7mTdX-?F@fa`f9s^,v}s> 8qmF-,tv!]t)7xurdRʷeRJ'`, BWO[Ku}򈔲&4e+,{!GRʇ`0T@ P HJ8WzB|Bl`#0<חwW&P?\C!E!uMn9^UUn ! k}0ߟPuvv,@1;~ŋ3(XŮ\tvvJ)K)877qpM88ve`LJy' ~RnR@Vxtڵ!s)㕹\C' μfQccWUտ55/--jeOŢ#of;2;߮ohpRD~{7O*O18y$tNONNzMܟZ\(S/X92ۤ'E\]CP:NHxMN&I!D(EmOQBﴍG1 SAsR)ع!߆lM\FTJR 0P^^qZPCpk3E136*S"6POb8={n24&''JKK㚦%@ 04M69\H,8r ̏ P.] m}+s @:.:a&''K+u`` [UUܙپ[,^ȑUx7R}u6=XFɞ #'6 H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qW b0XdxPNG  IHDRw=sRGBbKGD pHYs  W8xxPNG  IHDRw=bKGD pHYs  tIME (tEXtCommentCreated with GIMPWIDATHUk@}  <\`^B|Ch=%:@ԡKnSHڎN6% 1 b0ؕ#~ֵR}%-jhZ&زmZ`LS,M͙vdֻTkJ ^W‡5b<^y5 y vu0Vʈ`5U)"ycqs!oW2UpzvM<۔VO$k~R)8p_ O/Փ՗^GJC .f4nU|S/K5^WWy^WZ|E5yV5I /7"AwLc$:B"N;($ƓYOt 7ʼql>4Jn<,Rm.rPJG#n(3Y8NI;gׄœ//g(|NLZuy}ʆW?}s s&D2ͦ4MSLl, X[?RqBضM6e{{%L\inn~ǿ %onn>**ضa gcc cq9wLQ$p@ @}}=pB~Ogg'ʽTKK˯7/t]IQ)~?`~?^˅|s||,ONN4/$@wwwҶ jjja<. )%RDJ磭t:MXOVdT2 Gmm-B!>rhww7DUUS)x<B"bbWB0<#ssslll@ţ¶mb(+#ե޹\fgg4<-qBBRb* |{{.( "֟^=pqqq!H<{E_5tUd-EQLȽ%ɪNh4j5rX oR> jU<IENDB`b %%WY2x;PNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<VIDAT8˥kRQ`A nozѨK?!eMmm9%Mٲñ&5d^lxusnSA/ ** խ(6ZDsŵ>9Gׁ 5lcf l"|n^'iṞ![>DQDί'r::;Hjle pg,.\ ZqBx5K$b+M,*$GmiQWI2V&ahQQU8Qt)!?D~s Ht+TZ4 Y h,Y9t)>;#(D{k |sG,â\6o7`֧GKD6,8|w#ûUK3A.߮X  4w6p^8{x}u6xYWí\O"bKe1!ޱc[ 'zf>]"-Sl܃<^ = ɲ 0ۍan2^=D6ܴ`cw)䫠iJ|rRIENDB`? hZTx*PNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<gIDAT8˥Kq zäqV(uD).Vۚ:nWS$#aKkz+mmL36v„"=>>}1: /8y>o??#TX|M-Rv,n1O1Eirf&F@lN.`9QXһ pg\{?~+E4  @[ˤ:!9%)ʅx.D F8]ND3deH']\ӍNtqP|PSt jʙЈ2A>"eƍ헮?F>3eh=,RA$!d8 «Y97'@77DQf5Ž֧@x&_mjn-̶/=e,ZbT\y—Gu+{!V%E[&ת+C0o2A Q{`:Nپ:ZpۅHy ;{`dSTyWF CT>;/좓IENDB`[DB /+/x\tx sb``p  $)$ow `@bnafd5G(^~[ae@!׈ԼĒ̒ wO߀F>qOǐ) ?446ij;f ́<;#>x~o[͍dXp|\j*pOKZCv ~~c;YV\+.4?4(=S71Ohz|_ۖno|+IT3X)찿E+f%vNiZ^;579/䶋KG68jG]ϟg?$Y?+xˬOխ9إxsNY3NY++I6EJobƇk;az/ύ5xrCyF{|Ro) xQ[&x sb``p  $) w'ud^9lI. 1 Q%I@bnafd5G(^~Eߔ@!׈ԼĒ̒ wO߀F>qU2.!^b z>LJ]SF= "{r,Qd:cC ) K[EN l"[m& S:LZUu.KLk3.O_qm[⏩3̴ Xҳ00<]\9%4q L9^vx sb``p  $)$ow `@bnafd5G(^~[I]OdkDs~nnj^ sQjbIjByfIo@x#8PcH 8^7wDc^,NQ!VEeSBB/~0]dxbPNG  IHDR szzbKGD pHYs  tIME Z tEXtCommentCreated with GIMPWIDATXcd``0#5q@,1{>Q XIcMg72h8\cu0U:T>آ:Eg"-TuT rR=գOq\hE%_?QOHcrc?Qٍ |!a#~:[[/vݐ`yDOV+OO&%Aε;Eغ b/j3d>gJk1fmŐkz1010rp0XaR`ʍX[‚آ 14\bp/Wb`C^"pd# sry`aF)Z we`]9nQB->NjSHѐg$431;v͙IDE#ZuL>*.Y7 ;&%a _1iM4 hDŽq餸IENDB`*',j "',16;@EJOTY^chmrw| !&+05:?DINSX^djpv| *,1469:<>BHJ"O$Q'Z)]*^+`,c.i/j1t2u4x6y7z8|:~;=?ABDGJKMNPQRSTVXZ\]^_`abcdeghijmnprsu v xyz{~ "#%'( - 1 48<āƁǁȁʁ΁ҁց؁!ہ#%(+-|/ &,28>DJPV\bhntz "(.4:@FLRX^djpv|~xrlf`ZTNHB<60*$.d'cba_[YXWVUTS R PONMLIHGFEDC?;7012345679;=?ABCDfEjFkGmIpMvO{P~SUVXYZ\^`abcdefghijklmnopqsuwy{}    ‚ĂƂȂɂʂ˂̂͂΂ςЂт҂ӂԂ Ղ!ւ"ׂ#؂%ڂ)݂+߂./45ks}8*EPvaqo7vmkFA#{\]dεV֊e/<,J`  ݮDD!*SZUw e-)-Z[#n Jgn"I#UY+תZ.M|fYm1jWeKЀeFY Dpdfj]Oq-kfE0 $<` H&33"Wq7q˷U &'n~ M<|3n"ȈX\ ^d$Q&d6M0\"",3 ,z)]d} # =L3%{y˱ /Ai/+7ǿ4'|vpqލPEv ~Cɠ^6;. E_6 8/xCiD6!i+vo?R]޻&ϿvX͇ۡDA-R㻫.QiwwkoS]qf w|v^h':U507̃.ld"B{IENDB`5iYh //v`pcxcPNG  IHDR szzsRGBbKGD pHYs  tIME9&e@tEXtCommentCreated with GIMPWIDATXW1n@u@F%)ME7D\!  4 ,d9cÇϰ%K>kvg@F l׿ x0a1fyˇpe@c>`*R&QWWF@Tub5K^ez렞ۮ"To.OyH #Z;NB" ?MǁzZU wAw4.{[V+2beAI`>% YD$*qBUlX9'<;SNg5}O[U#B"sUh9xw4e"{wn #x]@?gE("OH Z\,8S d=}TQ[ʑHOdO> \,gT]p:~aAReF}h])8 F2a-IENDB`HK_8x8PNG  IHDR  pHYs  tIME  *4tנctEXtCommentCreated with GIMPWIDATHUV@o1s ,sn+T9c-*f$H m%Ctitq-܋kq-T2|9 L7&l@6|>2f<`(usy]\*fFDA d /#t;FU\k㺢VTEdL &=pc˒fЃ'ag X //MaxEPNG  IHDR szzsRGBbKGD pHYs  tIME **3-"tEXtCommentCreated with GIMPWIDATXWJA=jBMRt!DM =G3MDdxeڍR,Hm6:;;53glqH"xor"YZ{ooQO!z&֢|e[кc+f-kvNSǜ ` b7O7εL/Yqm ;K*:4mED Ţvڻš4 baXJڻ%sA(,oΫݓ ؅n+JJJ0h"9mdW!mw\#?&p2Xp0}*:+P2/Z玏 76Bz ֲTʨQyioBS&9xFVG&R:vg{|([[$8lh IW:Fj+4U># Eڠ5JQ4FR𮧒S9|IhaK4tx%dgz R6߱~IENDB`a0 wwbrxrPNG  IHDR szzsRGBbKGD pHYs  tIME;;tEXtCommentCreated with GIMPWIDATXW=n0}A ԅ3pЩĀQ$.VX:1%+CEP!H␀?2`1h:Pǽxmn΍xddu)]S /$pC$"p ! j#\0컶`Ԝg !Eջ:59 Ry.^~[@%SG@dSjiXG Vkf/*r]F'kD͸^{^uhʟ)F`MH̐R!U%[ Gp&<0vdYX==8IFB׈01?e9-EP^ ͟r| V5"il~;]f\%n<0o]:Q|fa8IENDB`j e.xPNG  IHDR szzsRGBbKGD pHYs  tIME |tEXtCommentCreated with GIMPW]IDATXWn@5,HɅTK9Pġ~>ws;N<D 6 =ZEB2 3[x#YZyfwv- O84PnÅ=g Y I*=D[;ѮJOOlŬQ8>9V)<@ qlhQD8~ wf2 $ɦnW?D @@D@@uHu/t"~pxo\?h~Z;3 {@6!p[Y[1aÊ@1aSglU3eri⪵@fbgǻ>Z@IENDB`@- ??=g~xUPNG  IHDR szzsRGBbKGD pHYs  tIME ultEXtCommentCreated with GIMPWIDATX햿k@?R햂m4쥆AK]ZJ%;-N]l2$ESc! I|-YDg}?޻'Y`VtݭO S=,Cl|V{<;8X^6XP. ڛ e\O&VA0s{L-TMQ!rTP>ў,kTMYU\X>e-3jz@Hڞ$>6l5' ŋrފµaZ,4Ve+.siE .\ b}`;KpcOΏxSN0Q^ۻ<: vq`/ CQ@|g0p z`e{~L ^|T{G?NCP2 ARe!h*wR]y1l^C'Q= !aE`1Uc,t6W-6():Ihri+ ́gYq3\$,#A'<_?s@ RoS5xUvoiF*u`Ċ\0 PԬU"yY=xا?r;ne"R{K@[zΔc,@\ "8;# G WGÁ7BtL¨ ٍ"~gXXaC;T7Jaa,tTZi(v#c.O2O"͚QfaȨIENDB` !iFxPNG  IHDR szzsRGBbKGD pHYs  tIME , tEXtCommentCreated with GIMPWiIDATXWO@}+.EBk)a=՜!zGp7ߦ_A)KZ [Xl]C03${{ @qXF~4! D//PoLH!ޜ}DӞZ F4gn[h% ]'y HoskE"@3F3sL'AӞA-_miϘ2T;c %E4uy22JC(_E Pw $GS mA M&ä}䟁9XUwoةӒwnP@_+g|v4~y Jc"k,Xd Bo9]rʢkgaSP ,Bh$MPR@)0,*qf/S%@ 0-C} ӥ"Y!U~_͑-kx6sܟݨYas:w)(#;:w׈&no'QF gx !#wr@drB$~ɷj?IDn{[] wd2uIENDB`Pw sjj`x`PNG  IHDR szzsRGBbKGD pHYs  tIMEDbtEXtCommentCreated with GIMPWIDATXW;n@}Xb# J3pBRXP \ m 4R6AS$K 쮝ɲdy=3d/jN_#7:w7m.lZK1g\>ex:箌 E`;|{y'r>\JMsHlt r_UThNMC5@D{qko:D"WɾR2,(o4 ^H;PDcWّϞ~a@ngEw4@lb;%p:͢ŧ NC;{_fcBg!҃( kb)M(:)0Q;섍totf֠IENDB` Jk7x7PNG  IHDR szzsRGBbKGD pHYs  tIME %7)ЎtEXtCommentCreated with GIMPWIDATXWOoAeG 5D#)HMx{ Ջ݋LLi\lM lb#Hʎ .R%μv ǢrF2 rv+^,:;:-@CIЫkWT贰szPRh()]\Dfz St>b5 wni߆al_IZ0}Kf{#Tb7;m+&3 c w7/ vX9Ν _c0EDf'BWȕ ׾+劖W"""f:J"J"u0ȢS*}%i#3ܰj!9p4ZC@Ղ0XT>Cm`3dn̟ds o)DsأqSS1]]ȃ?dҸID kZWEa8Vۖft[Jf3>D9be0$ Yd+o7ebe\Z2gdl0dYmQIENDB`Zlh DD8ltxZPNG  IHDR szzsRGBbKGD pHYs  tIMEɄtEXtCommentCreated with GIMPWIDATXWJA=nܕD+tR(DV $"J F-Lt׸ kfg.{Ξ{av ` $p'KIwCU ` }'zq? -4Ŵe7zܛC [ea/1r7'H 6`x:=}TL.0&^sc% mք.z*h%Ԇ 4ڊJQ֝25l) $^v">vHBQ]Zo%QQ/"X0DV\Jʳ2U,5m,0I@T1cqiyDW`|{;\xP5x_5\,&¶ "jz;M1aVv7cC1m[+?,lV܆=r &7dqj!z?ϲ]IENDB`u cmJx/PNG  IHDR szzsRGBbKGD pHYs  tIME tEXtCommentCreated with GIMPW+IDATXWJQΌ*B@AΓ+o+ a+E0A&zZ s9QE?b̜;߆أ }k|qVx6i;BvGRÞ6߄|vYb<-1}Ld,QcN ޛE'rfTgJ 7:FʺaGdxFYIJ:*)n?PuY@XH;Dٿzf= #Ld@̣kzcs ;$0&CTxzfJ:Nf:r Q+h+hq^߹kVDu`9lr<|2HkIENDB`qp0. 66FnxLPNG  IHDR szzsRGBbKGD pHYs  tIME^=tEXtCommentCreated with GIMPWIDATXW1K@}צQ(urr'C$D9jAt?]]EDl5sB\bc?4K{ 10*鼝sȿ]!܋9p8&ohWߵ0t.h3nqzdoklty_| '?>S ]tiCM%vMݻ{i᳚<\@rE{ @a~{q]of~QÄ~-smF:#Y[X^JX-5LĠDk @%"ZS+8r ܗ' >1:\`eMb"D5$Х?с$ a1:5̄Q>b& X,DcqŁпJJL%epbAMЮlBwư_&`|mT!NM}DecvA`pY]erxܞZ7]-iAq IENDB`D)J boHx0PNG  IHDR szzsRGBbKGD pHYs  tIME !9C8tEXtCommentCreated with GIMPW*IDATXW=K@~mBPł(duj7gտЪछFTX2iuiu T)!4 %Ku>ׅ _7&qf~ L!f0a< $ -בZ`e|(>3Z`fR|!4Yd2J*" I?YO$H5aS*(Y2lU+ÇX, UvV> 6{!|{1ۊU@} K~fegQi{[jCy|el/=\9c7왱,lg6$/7Z]@[/YZOO jEYֿY="z1} "{exG4%WzWz!@.~koRvp5 AjuCaHUYMJ~>"2aTnwB0x]Y$)|$ve?`Fu~b 1Z&uX2#2ĚP"ՃoσTLr[Q#gRb>t0{.N( Ŷ$rYUbub%/F8 )\yDLϲrUIM.N_V$w[ѧL(F(US5o­4a''4Us@FH8NZ;8kl~jP9 fJT\p3J`LgķL7> :nqXV*ݜufl|`j`yhM %uh(IIdNiFyIENDB`R 3 [q:HxHPNG  IHDR szzsRGBbKGD pHYs  tIME1_tEXtCommentCreated with GIMPWIDATXW;r0\CSq*70Rb \!4r* 祀g$!!O $E&1^Xe.!)9x4"M[ {=`r/b,@2"m`p&#:`-=V~) lBt|\^Qx*hUD 3(Yt|ή9}dLq8Wxz9zwnk30Lf]lp%hK Q{PMf}ӾIضTd1l|\FD5^~@DUqvݑEFMk-snm]չ43sV_Xu7bනj&̾?+CIENDB`Wz z+z-s^x sb``p  $) w'ud^9lI. Ap品" 0kPו ndkDs~nnj^ sQjbIjByfIo@x#8P?Oǐ) ?446*ӯ}s<><qUʞ.!S~7hhhm.}IOT<^u+3Ąw{Z*'8;,ԶMˣmf9zBԊ#ڋ]1;C3@֭Ȳn}#1/&;JHHCYɄĔ"/.P8!ȭ]VI?0{iR‰7)IHIIx}x˜b@_cE*ȎSnhW4ǀ+#yӅÏ)M匐q=]irKGU҂^Ɵٺ/0L<]\9%4t+ $/$ux sb``p  $) w'ud^9lI. Ap品" 0kPוʗz@!׈ԼĒ̒ wO߀F>qU.!NuAm?#.[6z&m_Cu% YIYq q5ةNaF3U7.?3. B͉ڳOj01X>A.7:- Jkg}yGd׎'òc5Yf<޸}{'B&~{mSɭxM~{:닽'kɐ6-L2zJnq3[WL = ^>5QU fE6gwqh1łj2b"罨=ڤƴ·)#tUEUnjכYQ3/n)Ծ" ט 1) /Mtx sb``p  $) w'ud^9lI. Ap品" 0kPו«igʀB%%y% E%) % |@=]C"'$$8o]W/)zgo:)mKXV9IqBǝx'Ip3z=bp ".[6Ԡx(@L)Cٶ| |]b>a'=r#=<<))aO/eSBC҃[v:x sb``p  $) w'ud^9lI. Ap品" 0kPו+ @!׈ԼĒ̒ wO߀F>qU.!߆[596H7`jm-ma}]lK^rp\n?)bV _\W|wc[ s)w"9|cVZp5QҵJD #|gz(B>+Ã@U{j̙Xp0{|vT.L XOW?uN Mw&) AALyx sb``p  $) w'ud^9lI. Ap品" 0kPו+t5@!׈ԼĒ̒ wO߀F>qU2.!S~7hhhme:w.ؙppsκwm_B~ 3kORN@xy!WrGHظcڂo2[a`ĥ1CyߟuZ"U%%%%*npqGԩ 5 Oبodʮ!>Aj͒ןᱟ~à Kmk`'{ˍѲls֒EO|dsx;F򾯱 J_ uf*|BL1S[[ ^"grW``2xsJh@PhkxZx sb``p  $) w'ud^9lI. Ap品" 0kPו+dkDs~nnj^ sQjbIjByfIo@x#8*3Oǐo59$cqS?p4I-Lة#m{NV6##5rj#5?sfÌs1?r[~dwr]u'W31\|3I"=~SKh#v$SGjSm\ 0L)ϿpFZ%_s2\0`&Roϒ~֩gxxA]ƾ~[o1|D8M+rRszj}cVvo)R[rLd&3~[#0SGo Yw v"Ô2 翟(9a|eSBB >+{Zx sb``p  $) w'ud^9lI. Ap品" 0kPו6 7n_-PH59?775(5$5E<$C7 O菧cH䔄 Z`dU77Vf7Y| Wީ\vJo|Dwt1eqnދ1F?6({Ⱦ V7(|JXfC,6 ps:UˉO8*:hqYV"g⼚lO5ny"% v|pQ\R-yYaJC̎IYX$%jK+9G310<]\9%4=T>zx sb``p  $) w'ud^9lI. Ap品" 0kPו6 7 W9@!׈ԼĒ̒ wO߀F>qU.!S~7hhhme3sV>м~<><yɲOwxQqIq{M bL1{8I,*= 3J 6%6P0ź9z!0v<]\9%49ґ 99Z8x sb``p  $) w'ud^9lI. Ap品" 0kPו6 7ϒ@!׈ԼĒ̒ wO߀F>qU.!߆5H^2ݵQœf7gXZ,`Lz3ܼg [tKD{Rw`]ǯsg1#۷n raOWV|tԩRc [iSsBʾ:SK]QLrli_Ya\xϦ/w=]v͖"Z SUR/Aitwk?> WOW?uN M'e~Nx sb``p  $) w'ud^9lI. Ap品" 0kPו6 7U@!׈ԼĒ̒ wO߀F>qU&.!߆Y2M4}-K[j;8N`08ܺ-"jGCV.~oNhl-j;WoLQZξz?۬Bk ~lֹ3T-ǽLk]zQ,9|oڜ57d;ܯ pK|Ks驵 =z 4YbףKT8tD,bu`PZ0e˼Q.:Uk/V /!yÔ x sb``p  $) w'ud^9lI. Ap品" 0kPו6 7Ci߁B%%y% E%) % |@<]C"'$$8o]t_*ؙpp3F*Ss/-匴@U[lWl\qB /xI9O|įWD:BF,_6:?8(Si#bNiq_nmH(6ꧬxmFܷNMY43RV}(IQm=l{_`(9-)!!1#BBKswxd-<,wAo}N|b\ɝpq{~n%BE0̟iٖ,`1xsJhߤfPx sb``p  $) w'ud^9lI. Ap品" 0kPו6 7G.PH59?775(5$5E<$C7 OhcHa}M:/m5 BԆZ\)}dцw }Gob>XU}ߧ 3r[OUK`Ÿ#a}\,Z7"S=:I|ph[c ug!}Gғγ=&V;JZAKy`3xsJhCK x sb``p  $)$ow `@bnafd5G(^~[Oв/B%%y% E%) % | 1.!Sg`3a@yno{]F򬍧vX&k/FyҊIڇo3oN0yypXQcN5fǥm/bz` fG+L ;O8zcwsfee\5}ur$2mV`.ݔ@lc5mU\ir!*㕌%%~Ü+%v#eSBJ޿ 2xPNG  IHDR szzbKGD pHYs  tIME  ;tEXtCommentCreated with GIMPWlIDATXVn0N]Wȃ$s^R'OLx֖SlHi#wH`RU}#Dmo8Et8ݵJSc"S#Wkoo<[ܽe]_or$O;.8Ar2"wU>O }'D绮!|p.eDg/<1A?6`?k Ɗs\hGXM#քMM 5%, D%;:/>U1kro)n[c6fKV\h ,2 *ųӕ7>GAo>w2/JЋIENDB`( 2xPNG  IHDR szzbKGD pHYs  tIME  $;tEXtCommentCreated with GIMPWlIDATXV9R@ZH\~3(刈H !<(Q䜄0"bDU{uwf@ yi]s fc ˼"Md?%'fV֭qLN5֋Qn&\;Oe081 |:px'E N2\%'Ⱥ!k=?v^jLtǿ*) Nu$>7*PdY*DD&|[HK3M$wN`tD\Bڄu/Pٖ7M8ݢRv忻bגlE@{`*+ͫ=T#IȆԀIENDB`v xPNG  IHDR szzbKGD pHYs  tIME  ;<tEXtCommentCreated with GIMPWVIDATXWN0EݺKIg^)SJ@g }.ق $3@d9lSHl$9???m캟@4e~"vIi?<\2P IB(AB":*I(NUO4eԈ> u j |HD~\!EX_F$ӽQXXVv lzGB.!T&#[*Udn4ea5a_{[ULC>6t~Pm7=cNH39^ɪt;Y߰;:OP[ituKdWjחIENDB`׍t kZx'PNG  IHDR szzbKGD pHYs  tIME  ! ˢ%tEXtCommentCreated with GIMPW@IDATXõWN0=vB:!J2e6V>!S;Vtb!1AUE%5CIbN4.r} PW\׈ n)gh]?DOC7 Pgu1rS݉k4Cg}0M.&& i2Ip~ d+"%KRN5!^!i!fԑI$f DĜlpR%X{q%;+.T _E\U6?Am۶]i@m ieG1$$ mT|9Wb7lHYgwW],^>7ihe_Wg $_y|٩ \_o&T6:odD_ Fn ġYD5H%:tv&$;ӣ89hY9>acȎ ٲe Wtm#MIOZ5}KN y~hj^7cѕ~L*5CRU>Jb6 uC`1FA hãn 07ԤdM/^͖!IENDB`v3 unxPNG  IHDR szzbKGD pHYs  tIME  t"tEXtCommentCreated with GIMPWJIDATXõW=n0q"C >FQ4E\ @' E@Arf!"@6\UA!MQOYodQHtc0|>|܏ S'X+qm>KK{aT_$GZw\妅s_ƺ@e|\FxFKCM#ܐ#qr}u#&6# Gޑ8rbH14\;iUIK|+)ꦔ,' y wzΡ$XN}|I,w7 lֿ?yгf~F;Ad l\~}k-C}[8Z 8 n ꁮ; qt!E8<k/{ mkc65 Y ԅgN|  A5ńc٠8=lJ]Tȷw]` xX )VT6%CfF#ńO-v<^h$ݘ[-!$V4 q:˿͵Y>K+JXPi*gy! t%a;1B.Ͽ5[wzd}+-a-IENDB`^? __6 px sb``p  $) w'ud^9lI. Ap品" 0kPוan؎@!׈ԼĒ̒ wO߀F>qU.!S~7hhhme3sV>м~<></.)qDT 2 mӘ_򟟬Έ0͚x*OI/~;0 *=ZȐH=gD`2xsJh/w LcL *x sb``p  $) w'ud^9lI. Ap品" 0kPו:@!׈ԼĒ̒ wO߀F>qU.!߆;l O&FH3d6 'Ks7Pb[ơS̪!{A A+nF-$Jg3<ذCaGl8xB1XLK/'MakJpkvvFm3-84|I v35U _{ U͹+6!ĖY7.f>E=`\z_XN=:Ʌgߝe|bV-m-84eW>n&/xsՁW> r+#Ga\/ nش7oS]ncȪlTs,MuLoՖiȼ F Vs:'_vZ/5G`l0xsJh̤Ǔ 6x sb``p  $) w'ud^9lI. Ap品" 0kPוb s%K\#JssSJRKRS3K2=}ā{8DNNIHqޠ^R\gU)?b%$`aEÍfrg$JlH tX4a)'xedDVYa_ ~oYc @!YdTtZbb)קɵԩ[̝$HɌ :w5zhn)sZrE3='Nt(3jVR:WP2 /^6[M笴) O\p yy  pxpPNG  IHDR szzsRGBbKGD pHYs  tIME % rtEXtCommentCreated with GIMPWIDATXVk@Ζlv1K<@M@E0-K[vb:xr= !Pׅx*q3Xd(tO?NnɁN:{߻/(un0D bRPBql Hp 3_&"~L%aM#Ifr`<3|!TH"L.UeD:k%R@heļ8~~h!=&-h!Nkxz%0K\7%KU6cdh1RKΗ[Pvy. H׆fڤh*v {( hc4d&yEc:8(>71J+`Ih*MEV࠶aeK;3B I=T*ӿ`!g!|Eߥ/P5fESͺyq}rUZsot)!/Z@|Zf0ܙE=^$ O=B\2c{X}HR| Z–'B} 48"/W&/VqC*RrЩ\2s(=|+z?U64tG5!w?\l\X׼~&pyfQuO~H0)%p^v`1vIENDB`}{ }} lxlPNG  IHDR szzsRGBbKGD pHYs  tIME &2OtEXtCommentCreated with GIMPWIDATXKA?dTbVZ E m4([Q{ ri_`B)\(%Aha(ژLawf'{&z-)DuAv)iD!UWZb.=t)-84ı0pOB T26()s }fd:G[- `LptnɋB! H ֏b7 M᎘  HIx#!5+G;|xH.;!-6g2],'eXUVvq֪QI$S.z00tiU $S ~F_ *Iل2A /Z5U#kU%רAXB0lʱ?U~Ǻ$|nEKgBU%ّ~WOB9pʘD7KS] X$~1Ɨo#7v'2VU|"D~ICZа(w'Νy |v򫃪V) / vRNLz^8؝GO]Owg_c~a`C!s~KCip"A[pv~0zֻ+u JHp a1\kMk7( MIENDB`J G4x4PNG  IHDR szzsRGBbKGD pHYs  tIME *):%LtEXtCommentCreated with GIMPWIDATXW=oA}9cɗ)%KP ("M ߐ&I*lr+db#H'H9ΰ)=-(#yocg G*TSEez2m/"0:} I?K2#!΢ۍe'~m:1*sF!#.7"HKWc`Dխ-6! v0quƖɏ/}=[O R5es9rbIgs9Dfv!7pp"q:yesE׾pCBv=ktYXM0&sS 넭3l^y9><$ߝ49nBC$hD $~nG Cf`cwm% B7a;v]bƫ-L`vuK'ʾr_ÌE;T~0w\: g| մc.ۭSf|v?Ƶl'29F2:'I(4]xX$4ԒPn yלdBsyՖɏH zuZE[o H{D!D }1FS9 cPHTHAr/KB9f2ȢԎWL6D>RIENDB`7b ;z(x(PNG  IHDR szzsRGBbKGD pHYs  tIME , tEXtCommentCreated with GIMPWIDATXV1o@^bjHZQ$&g ډ.l-3] NSVZ&JTBB-Pɪ!81Dw}-޽{wᄐ{dcfhdv*dIbLئ3bM*q{LmNLqq>02fl {33ay0Ȃe $J7+X݁0e%(!xd o8(s  '!0x3\_wh rݡ5s'j=x\xq w)sߙ׭a{u ۫[ք=;{x%Zl:m^mk?ZfTuï*&IENDB`Zfv@ӍmnzX ?zn^~'טzgx{w i }A Cs]˴?U4V4\ޛecYX b]Z9~gfi8aɎ#BDhshԯ =|9b :+HG'mt. W ӸZt]Xŝ[xIKĕO0>pibv]ac0 D2[\KD] *A(R v@wZ>o__۷;ܡi#1Hc"`?4)pwnpitPŐj8o˧r}&T/xy ݓp}!rhg~ߜ;+~L_$gpgA5v6jKcQŔuP=~n<鎬=Ʀ"v$o6N[mKh~ QԨ#GW~{Cg]@)ZPʮ#68ܳ?T_߿zݺkJs/#O8EM[/)F4mW1c4Ņk,ujL?4zթլoAZ"UHv7HO?.TZX]/()}yVs&|F`74[ jQ! ,ٓ{B&ڸrg#Q)D!F; 3 &fF5QyKN_4dDcZ ]m* |xIENDB`o 4l!x!PNG  IHDR szzbKGD pHYs  tIME19tEXtCommentCreated with GIMPWIDATXåKl\?qqEM*B*PlXTRvl@B(UhYTE+6D$ Accܹs.3s/՟{|Y*C-]wĨD *^j+U wlqbl?/bgϰ%~E9&I:IR$)d4˭?q%,!$}3Kc0II#t/?F3]pYe! 89[1}0H7OL:o<00(`fؿ@5tF:ro>go_)R|G_AX6 51 - ,wd34 = Ӻ7jTrXh  xor]7z¹Ħ?{9;S2q3wg~e4Ɂ&\DhpIh> (WB1롣:l/ Enfqkt-.2vD5PJo9\\`P1^"oy5"M?ѭp<6%$Z8ٳ9t(1 bFJ̅m]@H OZŽyթu釾p ꬶkrO)ʮS2-ozt5좤}=cT x.~`z2h\xVBS }*N&'Rgv㻤Q* _?Лz;[7p n7ȩ_H b!y{fsems\*߁UMb1.-ŋ*dO}]P;sp= @:њOi~8e7&6(A@$7pAUT}?la?ʲz()QJ|V^˗2sygJyX,o/@Ḟ-jvGhNT)?/ 4yyF'' A&l?zT)^e.:iҦl^OQy*y-k,|)פu?++Fp&Baquiv ;/_BۿSgn fp6qmZ&:&>>JRcic52Z[Nj~Q} L#t>bX[>0 oɾ<4b41!hczʀ1o>3`Bmnna*'D`<"hFԞ iLK!zTS 6vIENDB`r5 D 1x1PNG  IHDR szzbKGD pHYs  tIME+<tEXtCommentCreated with GIMPWIDATXåKl\WcflҺie"D+`Ŋ%f uW!udžJV  BiS5jIc}scdҞ=/7\^,<|9oGRy]&PB轎R-֊z@K @HYv1糖OKaI]x ϽB~?|!`8X|C>{"қB80I8,ww2 қ&+7M\%Avj;ڪ򃝛(!eq`b,!I-?;18@>o`}c4JϹ՝.Ѐ9B 473SdfE_zb a!lSZGE`WQ4t<x=QyRIU{hR{<é8ؔ!jh?$+I*\UұHiAEbBV* }|r}f9q^6&cT[1t)ّbBr"°Qtv/p`Ws!;O[!% =>fx"GC1۫r%Pt,{Ǯk*8|Q??5qV*yV6^a]:#a5烵6b<|3 (pxFδ7سnMo9<=ˁT:a%ҪN/`z wgC6hym'Bzlᓦv"/f@VTZfhj@ >{NEZU3|U{ ͋W:giän,KQ9[4=G *ˮqϗ ʯPO k^߄3szO_AJ4h1%kT\歄zJ"T!x??4  o?VY$kvj̅Sz~M-n`MkbW3IENDB`i b6bHxJPNG  IHDR szzbKGD pHYs  tIMEĢtEXtCommentCreated with GIMPWIDATXýYlTUs{gtN[RXe !DC"11`4B0D|BLL411LxAc7 h= *i}nLJ N1'̝9#P5}fM羊UvݬDZB-]u<7M J>&ъ7iÆ0ۇ6@w]_-nXC+ -)@cB`E< n#1,W5BIS)KY zSQ+PDųkxTPNG  IHDR szzbKGD pHYs  tIME /tEXtCommentCreated with GIMPWIDATXýYlTU.sgt Zh@Jbx  FM\/>i рFqRіtvZtJ'7;C-*TMptLkn]]Vu3Ұ/<%@x]Z3 \!58B)%Hl!u؜chq< Hc'jW)I!"$4 %OŮҵ< 9U#d43ԙyɚVLE-D "u,vxvgQ:eG )<([;6=8bq&@ʵ [E BrfO%3_K1#>Ί㑒><^.U0@9 aWy^]U|[HɈcD5skDJy.;PpEۆ:z}Z`d9E#x]5^ .*]q@,qX;'kcdH31ڱqLv^&z ͙vDL)׼Cv3i>9H7iKМ+ejN/'r CD@Zy/Wp?dJi\EB]tb&z(iHҹ;f15vUOvE+OݳgL~{|;=JO,Nqg97 ^L4o:-1bУ#c= Y- ͍Y)7%u{ߎڸГ/x "j6-u@5~`GKq ֺFQܜma%zpr w X7bjU&xu _:oP7:Iܕe?@"% UDnfe8$ju#/ZUVS߂9p&";5EUO'u03R}A7lz6<%myѣN\HQl%=#0$$JU=EJ R▲e] 1s4w iadDF`&`xNjkCo 'r䠹) Q5 CzwBfX*N.C"h׳ alZ{M<3}moJqWI6~4B_ݸ$ G#IENDB`)v ::BxPPNG  IHDR szzbKGD pHYs  tIME 74IFtEXtCommentCreated with GIMPWIDATXݗoPٍK(&Mi! dS#BbABLWS:G 5 bCHUKې؉? `[,t=c?("a5d旒[>y%tO+!2CZ6ƱkkH|@ I(!sV9:wYr [ EtZ_HT)#L})PdΉIʱH:v0*`"GCh(fZ̥ܤ!uԋ'0(?@SjBQ! XR'n"<~ͥQWHy<(~<K#HTdق#(<\u/$Mf ~΂\Jާ- ӣs˷،O )1!v{ A߂\eUcLj1W~%gćORI.k>ŝe߻G=>S%ZRD?AӼR 7ؚ|VտisW"WtBCIENDB`(s$} ..N xDPNG  IHDR szzbKGD pHYs  tIME 9ƽtEXtCommentCreated with GIMPW#IDATXKkQLIi.uUܤU .ЍJRqQ\D̢XFKncsd.DžB;.I2933Ho\]Ѩ!*?~m"ƍ$@o,_l,p:_g+Ȯn%B@&w7sOx+0_/@m6+{W0a\mˆŔ$oN@X)6 9bPmlaofCy=Փ~m inWnk `A+b'6܏ }ςFȶ(Ko6e^4:3- )$ P !^mǣ9MNtzكI>=ډYJ8Sߘ)&zgD6!W@Lwne]C As6$'m,}x.p2\H}υ ]Jk{/b˃V5%IENDB` & ff0x|PNG  IHDR szzbKGD pHYs  tIME .QtEXtCommentCreated with GIMPWIDATX=Q3s3~m媅.( 6He@EqN- "fw3ɝ{,Bę̘5njf==s9W0Z< 3ibu+xŧBLU^kj 뙢Y-h7[c+OBۏQmiw0$T\ P %p"w"Nf^p;~Jly[;ƅq? 0@$(G]rW]`ibBxD}mVSķû\ܦ.w~]qrJo+ٝ6l2bUKg`qgVHM|(/q?@P۪H$~?GfH"P-~Nɪ$t1?7f_"[@"aP>^D-\.D| l, H\5SIENDB`#9 `Dx2PNG  IHDR szzbKGD pHYs  tIME  'xq#MtEXtCommentCreated with GIMPW5IDATX헿OSQ?OijBE 3q0qͰ]Lb\M' 6BH0H]ju Z(Bϡ'9}{|{$@@-He{Z|U.H+@aHnЯ mbkj${em>tkC(z\i;<8EIC`[2MnSZDvAOdSTuL4eE)+99$ ņm% TU6hjYk| gU-c\Z M]/QV =A^*1Baw]y\kI-DYP(#2eIAqbl֠M|lCIdH$v3ŃGJ!o֪hje"F&z@m&$qz{ &{Ȥaz͒^RTB?:J5ғLo>' *IENDB`= dd4xzPNG  IHDR szzbKGD pHYs  tIME2/&ltEXtCommentCreated with GIMPWIDATXW=l@:1$QHeD4AA (*uΔS+ Js•(e!?N RI4a5! 'yw~߽{w()λv"L t)фo߽c|#;)ʀ;49Lh*v'(NRy^os Ws?@ S*@Zg..5{M(D*Q10G gI>oW6@L/-pp>a| Uej|Ղ f0y$T6 /O$&I$'1Ȩ(24 }o~"`i@9GG_.L QG95r ty&ƎNιN,@eIZ@#Q:0ݳ.Fas oݜg~Zݛ𖆭lOq7M+OmeBl =M=h#2-"v+vv z0T50T5г8vv:Nl#PT X`%bP򕒮i >k;ߪ2l ѷMc 󣪌W7oV<"DѕHƈ,N.7=j"~.&o]ǭIIZ#$5b,!hMIH%S(&'wO^Xi 4$ŴkU\Q Lh`vgjG׎ iq?x e-S ݣ>[IENDB`[ _BLxLPNG  IHDR szzbKGD pHYs  tIME39ftEXtCommentCreated with GIMPWIDATX͗Oa?mjZ2<ڦFTqp0 . CM aف.R7cpVBI[8)*Rgs~. VYɥx=w#=x>FA@%`O@m[R0֖x1<}uoczcdc-Sno0AAÏ:퍍[ԍkoY + '"GG+8˔*5xX W [)M#GG쯫~ n§ؚLaInU+5?XM}ࠠ0ƛ]N vpansq\zW5>)@ TW1Y __sa !~vK*` o糒آ3R' οͤ%UW[ ҊJN:&CF;VfA$#蹷MZQZUk~s{ fTIENDB`l KK1fxaPNG  IHDR szzsRGBbKGD pHYs  tIME #]yXtEXtCommentCreated with GIMPWIDATXŗ1K#AG@KPA;Q:YXf!~*Wrj abo/&;d}0 ̾ov޾70`ARn-mZ~?"T*y@e%>/Ғ;60$};=՟ soO_άħJ[Gnhcc^j3ᐽbvY KdMU|ߧn U4U*Ic;Nئ"Śf׽G=MvV41_|>^ͽ!A긕d<R=BVF#Ёx)a^rdtm_8)4A #QO& |hөNжڷ_{@Z@% Ih_[}O:YWzJ5k݌ `6Hle^u氠IENDB`% ee2x{PNG  IHDRabKGD pHYs  tIME~IDAT8˥kQ?om5X[(VMX00|g|]Oܭ܄mU HoOyōA&\;6-gR^k_^:&v[*4ca5F"Rsd;M< M+HZZvuH .4YجWFz< d0@*5GSpّܸɍ67_\<3$FIENDB`b2 unbxbPNG  IHDRabKGD pHYs  tIME wJIDAT8ݒ=kSa7iBVC.]\-BvpQ:8t)XB~TŐR"MHғ9}Nqcy_g"۾`@jtKivD+yn6.)g%EK@aӛk+_j_%d3UE<t9cJG-Bv*/@tʧ|,ܨW@毧{ /uFIENDB`hP &  0xPNG  IHDRabKGD pHYs  tIME 9IDAT8˥OQrؚ̙ؐ 񫠁 v&„@V?Drx`w -;X3Nf޼f@jK/jKvV/7h`ulwr+≠~UvF铷Oʹtb'G8!N$puƳNAw{>P>eԃ H.W'1S@zv%RnTpa|Za}|&^W4 0v ^7A©$>n2- (o].2]> ›M &Ru6h`~)$n}10v妯]cAa<˷k[&Ͱ6~6AKue+E^He#'gSxP&^;11_!&ip)YpBڠqЅ"L*D d/N9?`\k /KiAph䇣jZD߂53W v(4E$2lK_m\ %6_z0)P~I$$#Z(A 0$` ^>;iN\:[YAIENDB` D" 1x1PNG  IHDRabKGD pHYs  tIME.jIDAT8˥kaywrS  6bEJ,X ""v 1hj؝!_#d;03|BesowS]4FPePۘܣx>PNG  IHDRabKGD pHYs  tIME/6@IDAT8ˍ=kQ33;!"р2+ X)b'X6J*/)VJ*(ggv\Y' 9p9{{ιxtM|H.L{V @+i\^Y Р:?7o_t VZ8$@*||^} /H^B@|`K2< A&:V!,'mזpۧ=̅2@ukfZ)ז8}7vk쌄}Dkp]պ%΃^]=Jh An ?0O2#T49?IvߟpEGږ_K$ UȴR$ѿ% =f بtQ餐p$83G2C(22;ՋbtsYyx$txPNG  IHDRabKGD pHYs  tIMEBYrIDAT8œ?/ 9իowB֖C:ϵ1@ @p~ܬ}r#vv|=A-8  Ȳq6(@=VLv UdKBĂBFY[HS0hZDd{QH!p͉ <[0I5=hBj~c -)3gon5<9m߇B4EE}ɻ8~i]>hwSg BD?+GM u-HlIENDB`Zǫ=#:IDATH[h\U\93ܓ1m.5ViJS3NR(yCEC/J)HTTВNmjjbMӴc55צs|7 ܋ ٩&+b)@ ذ΍ZǶm4B6رK}3<\X 4ll@!аQu׈D"z]; %RHMJLZ)[\i boKB! 'f] @ Mj8L;Z;L< 鿽$DRP+^ӁSBAR۶5;D"LbPHL3#R A emMi9(?e~j~PTH!vf|^7DSU{zz:rz(*0YI6GB`x`x`ҝ%i)0u'---$ (熻gwAZIAJN`7g/7L}Eݴ5B*16rK~_z:O_G0f.#&䴛L@6Gkkkz[ָ\&?ύI>|iKQla9LS󮲻p8̓餪( U͙[.iNS_nj+qzyX H{p;ovu5xyuœ\i i:Np6N9EU$OPXRNL@,+ ]5Ldz"9ߚarnE◯;{uZB+̣83WȆ_2###)AG ãu rOyp恐P =&?o@om15!nIENDB`w A A )xPNG  IHDRw=bKGD pHYs  tIME {܄Y(6FxFPNG  IHDRw=bKGD pHYs  tIME 4 [tEXtCommentCreated with GIMPWIDATHǵ1k@iXiB&-&`* ]D t%_& I$!/^P-ERN?=ݽ"rDlN܊5.񵐈X5Zϧ-pJJ)u2R? yp8<~,KfyGJ\$"'I(*Ea$1"r,Kc,"w{1vaV Ð83[aEN%m]s:O.AK+p7Mc\4{s(s'\dYv[UUȲp9 ڻrv ;cHkWuނ2U VE*]_p24 yv:r\G,*T+Qd(˪An- %SEĢbP \K`pO"%QRu@]"D2 B&C9Q|!k-Al5XUꑕn$ATD X21H*#lQ|P*ׂ%NmN"{&|_(C ܭP 0C'YB_ W$Y4^w~֤h"?z1xepx.:1.,3~]ݘ$SohK绫/ nLq dJ.7 80$i'QoҨЙCc>&Zm툫WƹW%>9.qζ5شs|= j,Мϩy~~{dix9&J JRcker{ؒzt=]8OލƼZ =O:܃ $&Q |Vdzw7x21˶89~o>]h,Tk;/Q,6 x$܏32+RKpsA>`;Ǜpp [^it䏵rU;Wb&(]Q,>MS m;Qw/Bȫi9%aƎ}`@j(g L_>666vyÇ3NEg(V{17i= IENDB`},IDATHMlTUfZj @ ejAL43JmR7ƕ7D.ݻBÂ&5*6ą h̀LiK!x3:)+↓Mxla2==m%fs$L05è*'i"ZQT,.Z~(ֹ DDZ^aZW}B  *8ĢaD1qy E#mbV "Xupcz΃<6/"5." X*"UiHo1)UTU>v X1XqP+ FS@8J3l3ߟak;{u j*# ]j@z^1= JC?">͵kn?/\v?GB~\?Y]ZgQЄLV,'.u-111Ars7~P@X#|Iⷜ;wZOGDۢAÇ) aHP`qq@!Jx}׻Y/p(!j8 8|bH" ɐH$H =9DJ9oGp9 ~v{߾}3|RD& uX,ə~+ͦ kǩs<_w3^SՀH$8Z }d2y 0m? ;8wKlLqp,L]Y HRd2(###`!QT[P.9~c.hn;=+M &ϭ:16jѾ8Zq`5jXu(lr;cn<^cIENDB`kк +< x PNG  IHDRw=bKGD pHYs  tIME 9,tEXtCommentCreated with GIMPWqIDATH핽jP#M At(.FEMEܼބd9h3.PQ$BS83Ԥn~ܔ"@kݐRIwJ)W1ZZ@0 ,,6 >ϞU8 w=^@x ذ8QwZF&s`C'\~!nZSΛlM\?H)wZF<)cc/U!oc4OY|N&[y?uؖ*myE:@)N -D) B̗k; Ƭ_L+$l(-0#80 T%BR3qJcV!iyQܔ'ݟz#(IENDB`)]*>Tx sb``p  $RlI. Ap品" 0kH{+m.n~f6sB%%y% E%) % |@E{<]C<(Ԭ*Lzg~`c^L3WԵ!MY|x&Lyv}B# }~!>'q^1{Юfz/8/u9?ŧ3{3U~\~zwߣwW[ OzÑ8c_ XnR OW?uN M:}+rzH]Sˌ#[yMܹwM`Y吖j[gNIf UɼXﮠD+'ZyTCJc*v3t ##4ȕSrd6ފ$XH'zrQckm*I.cyda2cVѳå}sEAI7 FFyhǢhyC^ɣؗ4o'g ^/ o¹a2r]$2`_ F'cCryOIv3]_~c^^}EQV>f;'.K)ƍhȪYcX!'2?Iw6FƴKXB.o!>4 _)#7ωmt"OTPS5CIFYSfރ.01H$",)+[\ gjjdH0ɜr$4  3GR g"H"x|P"9̵&ֵQ@՟]"bI`fIENDB`A | .x PNG  IHDRw=bKGD pHYs  tIME 6b-Hx0PNG  IHDRw=bKGD pHYs  tIME &x,texePNG  IHDRw=bKGD pHYs  tIME  fIDATHmLeX4\IDATHKhU?1MbliҴy(j, .&WD*TAqA ]J@ ]4AXiJ 6}6NŤi vyr{Ofz±XwZ;u,CM9302dyqzpOn&= $]ym_ )愓CsD#-7߯nՑ$I)RaY ACq湁'!g p&r!hzbeXke~݊{^6v3W"A'^'Ā"‰$\ -c0G8 = 뛙IGZڏ Ӫ&,@yE21O;Uڏş':vӦ}4*!fyx~oZ-EPFۑN. rIs6;Mav_!)bbCHYcb'JOӰqӔ&h'}\KE}u8 3靰wafLpT4]ew) oHBK'/ϯ jqw!LE u1XȅsG3*M;ef;8:9^IENDB`9IDATHKlU~|ϡfK21Pd&dƋ<pL ơvI^'yк.V)bۅ _۽x) 4&褊T58|+n!=@4ÁWޢ=Ea?_I@FzI`0p3 "5ݼo6fg2>7dZr䮰3cHf.KNZ@ϰέ-nyh}a7Zk>I Azl^eω:yd f=*ƽ'&-GN@7?PFִ1qcd߅rȱ<# ýCgnBf} ?ïNҙ 8rccw/˿RQqλIENDB`Rg c[4:HxHPNG  IHDRw=bKGD pHYs  tIME  (63p#x#PNG  IHDRw=bKGD pHYs  tIME ;>2+x+PNG  IHDRw=bKGD pHYs  tIME :{1zxPNG  IHDRw=bKGD pHYs  tIME F*0X#x sb``p  $EWRlI. Ap品" 0kH{+m.n~c!@!׈ԼĒ̒ wO߀F>qnOkmP`pUl3f<`喊2|/1dzrBusV ^^mSΦbn[כ,"DjNam2\ W/sә}|r*d=p5Xß'Q_z) *pg>uIDATHO\esp/ô vH@E„FM[X4]ǒDuC$qS&bMbbLh%TJ̘dܹ302DX4qٜy=Rd8ed29i$ϟڢ N\krS3'}{ )KcL+IajDQ1Xjac? NN2՟ 4*`-pUEDZMvQD FK-l7:mX,@a%elD1DT,ThZwŰm("(" C+++uX\\K6燔޴20 NQ'k>r^CN$8Ӷ1rapp<ywWҹRvp<˲PU a>sssA(YXgq~x+S~/W߳l3K(}U677) A@u0$PT}0=aQ[?orE Y/L; ja|ddbHѠd2$k,[&3]]]r9jdD"A >J5J^7xo~koK3ʽҗZ;,vwwަhEQk]gc `Y{>x'0=:2x< F0 [vpÑ?OmjM=IENDB`pWE lIDATHo[U{79~MICJBH_@ ;$ĊJ !EPtHqۉ{ F !UlGxu%8 c)^*.~Z -沂S3\OiT8O/VlZݍw Ճ_t5Ʋ9Lh )Sg;x"@ 2$(xPK*AIdG˸f* 6D :1qn# yPa`AKlV"{۫@/O:i7;T*QoyEXza=5sg! ܿZߓFfO751(!F zT7hl#x%HGQD}]^G7k1AJrA.ëKsLGZ)2\>^'` ǁl•kwhni5ꄩ> >Q_?6vciA~!Oo *{x퀓GWuh(~?KLfpVĭ{4/.s RSy!f$ȉ,8_ebCZ6x,><K^#Wc,=Vw\:SRP=h6Y8P )GRLOγ|n3,<DQ.z8'-gyu:U8st ο?RŖ +4IENDB`<s IDATHKhUI23MIsiܨmFPjB"҅H^.DDi 1kmswLaEv~ysWl(<u{ֶf v qnMh+ k DVSm' `jDQ8j鹱3໾=IE⣬0\|  *8r$<?i0Ia@"` hV6XUD-VGܐ$<nktT Ze[`yjk}rl!T,`)PF%u'OW姏&8;7M&`36c?%&6sQ7OSDf&ٽ*Ƨg\ޕ pÅ;B aۢ~[6+l{-[,MGiԕ''X h] 5)q.B,csQ.|?IS<Уt_fV&z)*^mg& 9aRy]37Ki8Hlpba_ y b8)H*Y@`"j@@E0"Xjaɥc <ͺ`ꭏ727X"!AB܌xǙmL&:j[Ds3jYV$33F0A TYIH:p[>]d%@\$?A{SddS0KI /Nb<cSC,{m0_ǙB]e}_Yȳp``ϑ4/ƞg+i8NU{ oVh5Q 5?:L n{tzv=~<"NDdeMX_,:EQH[+sf`6eWCǎu'@HWP{a 8L~.rnڥsi 746|zDB5-fw!\)@C£8{SS.koÔ860Rz3{Xwe;sY& qT?H83>M /V |T 2CY $bly}McMC?H%p|-B,xxN@Xũz(iIJPr< ?f5ΫY$ q# QB! kj1u[_oG|Ir>b>wPea-*5vƲ13Q15DKDvCy'8tg#n Y UsIĉ8i粕d2.Ic{yǹ9<2?_s/䒿_H :;H$ljWX\j91YxMʶ8y{˳_"d~?@ϗXf`6 vw)NAvOvne3KP)]ap^}mkגɌP,B` RhB.6 ]cY1b1 0PUqg NC{n7φ3HP2pwwwڬUP pX:IENDB`?0 HH,5\xfPNG  IHDRw=bKGD pHYs  tIME  1z&IDATHՖYh\ewܙ;wܙ2IS.%$P}qCPAŇ""jZ}J(.]UkƤdLf ) R!o.ibwlwwwHsp6x b4MTU%j>a&U}( Ci꣢[ik_.DF^RF pC#L\N2`'W-<6 ]|L@G[aۙ`~~Sei*ct)[7XVuZ,,,L&@ AEQB^o3g0x؍4)8j<'"%^zVVI&\XF6?:iȧ'ﮬ,mx=(62Qlnn~ӾbtN~`L@S nfA!_s \CݰIENDB`E D7 x sb``p  $?ORlI. Ap品" 0kPו7?*B%%y% E%) % |@E.!$X{n߻+_qO#tHHH%y]ģ@ ~.g7Hs6j`x`PNG  IHDRw=bKGD pHYs  tIME  -׳tIDATHǵYl\ww}qfg۩Rb;%Jd좐" EPE$,VfqaeEPE@ 00L]gn736v illTYe?>+!tP! ++x`j3Ndr:"3VJXVʊvW̔~V{:ELTؼpwj4d2)>ҰDBκLRȡtwwhkkv DjQ;&x sb``p  $?ORlI. Ap品" 0kPו7o@!׈ԼĒ̒ wO߀F>q"sO o]I6nxxnМ3Lzt Xdƻ<6N|@w00xsJhe>cV:0x sb``p  $?ORlI. Ap品" 0kPו70`dkDs~nnj^ sQjbIjByfIo@x#8Pc ֞,hnW?=!)aFnuovpcACFUK=0xsJh!=OU9.x sb``p  $?ORlI. Ap品" 0kPו70|ˋ@!׈ԼĒ̒ wO߀F>q"O =7Xɯ_9yEAcǎWvӍ Pm1[AKGT) :_8Bx sb``p  $?ORlI. Ap品" 0kPו70KEdkDs~nnj^ sQjbIjByfIo@x#8PcO 7ꃾlLxr?rM+]9Ӂ;/9Ș6pMTv``X2_P ~.$A \04=\]?>x sb``p  $2X}֟0gz KF秕'28'*x&&TL*Jtq 8|aV)SP '66~7Tş5XWӰ_'"˫Hs1:#Zh:&,Oρs>jx sb``p  $2ܝ֝y 0%y0o?,,f`aFYs$%Xeԗۑ tq 8tnV i e 8lR8Rhά3UEJW J-fp!76NH]nOW?uN M.: i>Ki^C@x sb``p  $?ORAN ɼrؒ]'E8 <"Aa {+-66N-V2@!׈ԼĒ̒ wO߀F>q"sO :_%9EYkW3>deڸP0Y}@mK$^IVgAš"_`tsY ?aoBbx sb``p  $?ORAN ɼrؒ]'E8 <"Aa {+-66NuxordkDs~nnj^ sQjbIjByfIo@x#8Pċ;bB&toŸϫM*=s٣Lj%^rKF2xsJhGN]A>x sb``p  $?ORAN ɼrؒ]'E8 <"Aa {+-66N6B%%y% E%) % |@Ef.!$X$%h|hEThl6Y%o? t7t0ijF[-F#.) ?d]@>x sb``p  $2X}֟0gz KF秕'28'*x&&TL*Jtq 8|aV)SP '66~7Tsp~\ ʷ{{4o_S wctsY/O& CD 0x0PNG  IHDR7gAMA7tEXtSoftwareAdobe ImageReadyqe<IDAT(cπ2PKAyBS',aBq} V^1֧O+CAz}h_n-c(H|ߧX|Q ,a2yy4 /@SVjh l=']=K Tz\JZz_IENDB` I1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME !'1RIDAT8c`1Ok ).@7#/S+  !"".b Mr`K;@0g&Y 1GIENDB` Hb 3Ej x PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dtt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME !#8oQIDAT8c`1Ok ).@3#-S;  !""aŊ 06 @ň \^4`g&r 䱄#IENDB`%H 2Fh x PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F d lG\x sb``p  $2X}֟0gz KF秕'28'*x&&TL**tq 8|Q@c(s|#-o85]>?5m\[LAcCExmLK/dq+'v z W/Z) S03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FhIDATxA @ +׾#Dѓ{-!`W@0IZ=J)ar[K77KLa8ZDO@?`FAp~2IENDB`ÖZ] `HD MxM PNG  IHDRa pHYs  ~ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>CVcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxԑ 0CQ)I')t*HJ@rK_3@9*$4ρ)@ђX%-Mn~@gwr, t-Hy K(@W9j8'qeQ꿢IENDB`k: uu{Iz hxh PNG  IHDRa pHYs  ~ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" SgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FZIDATxڌJ@YzRy# lR~aLO}}2k=%+U=]AHȄ}˚ZNb(%hAޟв|{ҹ?)>GE6,o勵]y<_?n%+ͻWn>й ~.Iv3K2 x {PNG  IHDRa pHYs  ~ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, RJ( ?x? PNG  IHDRa pHYs  ~ OiCCPPhotoshop ICC profilexڝ!{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڌ1kPv2l{+d0TZkPZ1S KE@hLJc lYjIvLnyO{DUy,jv^O﫼;1?h4*JIpu ?Pn(J!័ʯسCooZP8eάe8^.]V/>&d8R{w %IENDB`#t ^M@KxKPNG  IHDRabKGD pHYs B(xtIME+UIDAT8k`o4IK9CnzEd< yAŋ$":\n&[%$Ox9}yoʅWّ AGWUX!ԝxao*H\,$| 7 iNL>GfѶ-o+i36C3L[kP\V}Fc}tZCמ t9m /7mEDXO6m2 }ځSFQ(H̞QYգpؑJ)>l²kϺzher|Hwꇹd*fVj H鋒gkh>X'Tǘfv})".sڮ_ 0p帔(זUos  @`@ֳ5 1IENDB`= CC9NvxYPNG  IHDRamIDAT8]_L[uǿwo\nl ,CSfaa AML|!’}3HQLD -ҍ!v` ̓<'''r1,I_TwYsٰJ>33I.vv's#a[(ی'ͱZdRj 23$Z|)lig{T*K(lllv{=ʮD[yeo)R)3RF,ڗ |'/v{2o=fj`ڽx޿8(֫g<+=}%AY@/? { 9|AM @G}tuu}>r.~WnJq+ ^wMӴXb* q.E>11AFFFp8i]B 54 nPa/Athr<y"X+ޘۂ(aYe"* c[s%9%kg_?9m˙i዗_^"v̜NMFAJ˜_f6e{n8atsY`[B)%d,>5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F[IDATxTKLug`UZ JTДFS#zAc|%MLFZ4R.iuyÖ\hlWvޝ{2~1n/Nd2qpݛng @paKCDx0 Ӳ^<#088o}X[]~R8ޚ$[Zxׂ*.?^wblVc1ΒH&Yf2O##|GE` ;<Ĩ9(3xim\Xw2w=U?LL< UG_b:9hV&irlS ZI0ض^,8J Uز,d0X%+EBD7(D##I%]*Z܎p]4VWd#-T'9 [VmY9 #oSUU0 )AIndO>iZ*Y͍jkb#_A*P2Y fUtS˃iZ[^T&HHXo'DB@K:*+8@3q.!x2jln>߈#t7)Z  H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<D+ |M>Fm-S b`-X`˻{&Žyŋ=.3̜=P޿3= h Sы;I|yxwX@UH`+ _?y:q.[u   8=g薙WpY>Yj(W@58dKA ($ W7h~>![kܮmjXmܢڝaJ:E' S9#JLs$I1&Ɛ^&iCw@ey?#-z8P'02eL,239JO?(qx7 UIENDB`ѓlyrIDAT85IlTe}o,.LӖE  1/h*L&&ƻ^?.-Ua&'9sbo/2A!B*R׾/aho$. 9$H$)Yx36:JGMn;j5Wt@jjL"T,N B`it-kj.=ffKcZ`ʱo~%],CyҲ}qꕈisCїbbE|q{A)q픅<2C&Gi:'#p6xt`74AOA䃕4jm|ui۟σ{$q+<3ʹa#Tw~dy gQՙqw&|++w^\n^Cu0ٙBtsGi ~.iܣeNB>GBIE^C ˴hhzbTtHBnWfgN16 [7HP(`&!iE-Iw?.}\)]2 h{{KaH'MLNw/dV!>6?rxJ4[]ttrmcS{jko^f@@K~ubO,eOIP6( T@t;,Tz9U*g3ݝBl-+0Hz.Ͷ,+jȄe?oVYB l66TВ$IENDB`<b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڔ 6}qDMH=w_be<<13ຮ/ED{Y;S +p1FRuRż1ϜsI)UAZf`P LZ=  LŐ*dfކ8%`s~ $6Y4]} w׸X}4'IENDB`M} >>2Sh x `PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K& ||TmxmPNG  IHDRa4IDAT8uKle͍tzo2AF&EEBh[Z QD bD QLDqf01a1E2mNgLۙCgyf *6>c5W&#"hh-|<NB)4 ,XF{?yoG|ycK'4KnnA>c;sy$d/n^"L 8$ b4Gb6Y=iXU_Sstndi) "x@ @47=I\6::6C Ξt4]]ݬ4sgK ---DVG9y'*ʃooZ^50e۴y (*0}e"8ŧ`ͧ6m8;g.eI$7HR$g3,s;8l+?~z] $E`6E+|\tÇqVd\G.[-aݬm\=u`MVJdHd&wpc2l'v\FD*f4-U91)7E#i ~ʥ]bJC& 8 xboTf,y0 #i!dP$&㥏v2}\aIENDB`Q ##YU6x9PNG  IHDRabKGD pHYs  tIME  1f%tEXtCommentCreated with GIMPW.IDAT8-O[e9 -孼, t2lqY\v^y&&F?`bf|E324a+m)Жsx#~虥MJ5lA)D!@KB(/ b^@no}bvsZqB`"{<}A@aB?6C/"ٮ[Dg_f$v6R(֩ڤcQ%UlP(nb9 җr `aPGDBϜb<}Orw~;hf#M Q+Am.'_`goVwў<4G~,hFȥj)J(euuG ѐ1"ە7xcc6,Ŷƀ6u*MU} b\+!(> 5[>>|DO0N 93or.Xp?b'r@ogQ\<3$IENDB`> ::BVxPPNG  IHDRabKGD pHYs B(xtIME _lG!uj1 m"j)Uv½BhQhbI]^ 'I4'ݷ@וٝ<爵ZjL:ɂxt充L0>ÍiBEOX+(J++[x (Z VH8?@CSx>JČ ‘Muh||{RS@Qg7UIENDB`W ``Y<xT]L\E޹߽w.K, cRi,6u_\SMDhO!BjcI5 PH- ,ݻ{:KD79s朙9s9S]@>qqg,"kcҙv\޳񍗺:`7b/vwV1>T2Sypx_oo;Q'_HtwwG#.⤩< vi_y1K}P(dFGGdE6ĊlT٣6b3 #688x- ս<_UTT2EQY"\|G H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'Z:xPNG  IHDRabKGD pHYs B(xtIME ̵IDAT8c`66 _YwXimԭѕOIOa"͛Kq&lhh1X5w̜\2 bB  =cxk.HHh7nO_xDn|Ơ!3s6ܓ{= 22Z}5s&fvvF6{wo1]ỹϞ %cc 0aPec`bad];vrƂNdKYX[k,< 7/38rأ7m{e~ɉq2ܹs]/3ܸ/CW,;G0tv *-{ |X,}?щ$)i.C hGN\sIENDB`&{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME7O·3IDAT8mMHTQ!@2 ڵi*@j!f}m+*"1Mm2 Zb&)J3i{Z7ogsιWD]hpU1AoFG)Ş3xwuY(iiLO:%uM^lNj_Td{JthLf:ac"@Oo68LƦ'iiH3$r7)zF~dsZ&~?BT_47;E*Po"^U5fo`)ѱՈ!Pb.S,Px}`U&@kPXWP:q֬:^^fw%m t-8Ie%Z/PJC odu :(Ǻ|di'ܸ5;?Pޢ{ E?-pt1)DA K\OOyy+?  EYV$ b",KIᔝL Y) ^@%&H^(XP5IENDB`^=c5|KlHVA KdK /" a+ܠ&I7fdMS}}lkuMY 6SY:i4iܽ2 [&jLZ99}M5 F ˣ͘PO9w j&<L2I(Llr B;B)4ašST\&~tf3tF }:NmH8|2Th?q|[wq)ک #V+4[BɂĤ7gxk$X>-~)L7`*>. S?H'h__ i|a5D;0__7=q'߇k\ER}Uifpv[Z~hL='N5ǽ7)44aNzP]uxݵXaxY&a'#ak-(}- zB C;5:ej}}BOa =y4f u/0P_r(;s̹*> E?ܰ'VN0:W3{Ŵ,E2 )CWUXOѓ=L\y1iM]f0, sЅ~.俲6;= F0^J5nEUG 2(&lo70io?^?YCZ]<{"}^7NO,Ec+ kj|Ђ;k&771%yjsbOT^B~SC=(] OT72텭H5[J!"S[I6ԛ "}C`)Ԟgx#ao#rM/%?#V b;X&bH)7w:SYOi-&^o#/-oSRPw7-5ZwbCIde;]Az'f1LQwF0`(Oj ?FGGEX;csVe4uYZ_UyXWcc;z _gGvO{U*;5Y؅MqYf :xRjuibe"_xqR#msд0"fQ`4o]h}I.tH'TF&B)|)9}Ymiߝ'0#oZV#3_cnR_p>};bQ)Њ9nee;ӋfzB)T\$/>ý?RN8h0w:e}a@;}il͕=HfƋSԄ͵2iFf$(za͈W:&r/ R|4|YexpMߙL⋽iӃA9$ EɊ4j!"+|~hM̲`- cmaK}Keܫ45:Y^D$x~v#zi Ć嵐1aз;`dtײ\tO ;!N۽beǍE6(rF0vkgùN-1cxn)ޣI(.H4LdD͡jь5IqBVI+oD(d gC~.ʑ'U/A935=Tp>J%a ؃eKv\_*o8Op'oVD.0{s';ϯm# BzA|##a/71=;}Bx.qB TIQhzS{_DC m[(2@Χ*/eex[+, Uq8[uCY౉J3RsEK$942d?d?4 r>a6)U1eԜ_+![w[wE˜Kmh,K` =y 'K@qU[1'pI;8g!|8EX@MGf(w Qx{k6+N ю ,{2g:-#0EHp,+ES(=irdz,%5 nxt~mN1€(ܧ7{/ 3ٿCnWCK\Vcs-3|[O:0Q5K 3Jg bd]Pfg7ѫrW[cq$tsG\vG]ٽa]Ke؜`y]n h Z8>([W*fqq 9bv, :{0:tk"VO|>ן,iGu9DCބߞou.^TJ6+'ai0ţYsмDB[7cbWs.yr5xqwz/f@pɆpS2v:C*P'SA=G\ǁjr揿Kpw##aʓUԆDW> 6z"I$vD+ P-`,hۀ6J2c˥Nwpț>:Wg,%zTTT}m&dml |` gٙynڽaɵfH]7d.gm l|ma^|5N$Ȃ>yjk>ʱ T/ڽQس40K\_sVc\.2aeg="IއZ J/B?!&&xzjgVB_!0Y05 3)&x|)NhRǎʝ%i+`?R֞O gCk0k&3iWByFqO|祒 6|C=\u#囝 : |@. k v|@ ~WEFjQfyLncZ8uLݹnlMSZH.`.t@e .!r+(+dRq"!FM@MYhR|l13 LЮo*\hWpxrlX:%A+ÎYˆOoɿDA#^r4LEBx$Ɋ5&d[!\R ar!d4aq7>Qpm' VyDn0hxpF# aNdVQ\񉩧ތC:#Y D +I= fQ@%!kdm.P~m=duKjpڝ@Q:LOCmvTR'+c RYr&X}nGpnoRpPK`Zh.*>JV.k%W?F3.fB `g}}y uן?0Fpy#CMr }ߥb-" |'ŽFtAzkV<|v9tX8dO1?!)|xTI|(K hSgfsW3as흔Kp]l_,aQnA}?(5>LtAL f9X#hnUa;p[ ր*;iȁXdJBtQg{ԒR轁cST!ӉpF 0v`D)Da$xF!9\_[okъCXOc6`$TH-j"IiPes;-_~e YX c,Mwh01=eYzP-4m=D/u3Z_GA}!{RD~=YfG-j| ӑ|K^CD=.`zeLlhXp_J<B)tD;oN;tv4%?;ZB B hiSEFMl̆<{fVm',)uq-9 wHؓ#<\|94.v2ʐ5ԐZ aԅE %qڜN-!-Ϙ[x&CҾ5? u繞Cէ;?{bq7*o5IB% {ɘ!k|lR9czW=W*cC;Gs BZOo[2QFJ}fD̷ e8dj_p;=`ߣE7^oxoAk!/d\%ϋ,7wH?~Gt /[ l[A'm}Qߑ۰IlZ/р &B>t{[1֒xFm~h՛Nwʬ4Z#8[@% :轍+Ŷ[w;<&ϻj?j Ji8baX'!!f/ ʰm!W]+=̩z?::tb+#1evGO}<=5vGS:ڑi4mr ]}Վl9?Q?Í^:~Ǧo':[, Jtin`[N)ZY.Ht ']aF [)ǘ"*+D͙0)K;sRl=4$xۈߖfDŽHB=d }gU܎Z8_ 𻖉% \fЖ!tT[ c:/qK Q6[[PzvFRl#ޓ%(J(j䯮RK$mF|,k'^i'/RȠDބJPQV_Wms\M~ Ζ?mKKG}M}2KGVح 7<ăKwI ezsL@=Xyp*`UHF:ЏB r6aǶ 65ٸ?=*MbN*)"9I}lߺe؃~t;duqcH06yX:E#3R=xlܑ6Q61G/RTW% ᏌwGm=˵1D &/WB@4n/BU joyUĀPpVZ|1nF1'-Ոk/>`]-_ll+L .CڙYso2VVARzI׹>*|*& LjtbH gr~ֳnL鱜-/V@sgh.wH}YuoP5|(?Ҏ?Fzsw}4j/ 6RhRX%* hEN:#;=4UU/hj)T,C* !L0+P>g2V]P)HoDWq,n胓o@drNvt]ܺm 3<9Dĉ>٬e1(zoJ3:,aV/ʭ:3SbR|ڗZz6?/ŵFs^}k-cBRhq`[ 7h$n.ED룑Ơz;'DD^911%'$ =َE& 7aU]~epzBe! X2s}Fr*SY`5wp(:bKt3 e#nܪ ?=?5ZA.Jd o *V`_ J"(\az =!)^utqBpN>xt0^3yO7wO cg`v:g.=cw KDΔ2&8x <eE\0Ɏ$*܇6w" Bh]s1v\\v²k5,R1z;Xz-D͜˩G|LDI%Qa,Ld~ZCn-0ŸXQ%)#JDRG}ZV).**IKWB Jk/GEDxwm6u<97@gIbUJȥ)~.m'<#dQ%'#Jz $ԯJJ? _sk71oƗMj #=\y=/ J|9hK-dφ赘>.)}  xsY(p|\HʯWcQ?ۦ/8_޿Uxz_kʔp[}˕sH>[lzu9 Q~/a o|rF}d o*<΄gp3T  t( sZ!1ZąшQzE[pq\^?夽6fs JH%s~Mo-O7C~١?YhQB-! k'Ա!D~esaZ'd6!mB Oio]i9dSkHLM{~rFng"N}>S*?_:k \W<(hjw20a4У8';S ecGK:1{囐9˂ͷSG[BPgC^ap‰9\`+4+ rW@G~Q+D|6G@J2L ǀCEʅtg7[$0+SF1ACG/ٍr K{c#䶻$MZGzCBTt~hi>4ddpbT5{ 7 ؄?V:r  5ɃWLqB572gVcH5a 7ewzC@BOL\:n)M 7% c}Z66okKo=wL"zhh& ߏpuICOұ~/l/ !hh}Ui̗3AX]z0XԭJyC#Mt SJjiV)(' !XQ25ݬC(\&8{U!glĤ]HW`򥟉ҨwbsinF{;L_˓\nXzrp//7ܵ+zUVI[,UK4.ųGL&۲N#X?H<ْٓ-?hR\Y.aՍ"A'14\3~5"Մ״ϔEt*Hds̓XSoNsV%$蝞/Tzn]O,_ϵ.AKrt\歉?a ?umg .H{ _+]OjP2%,6^6+WSC˗yoB:l}/iHz&v %HjdWEz!pG,[u@jaߞa_:0\vKB|=I89Z9.hO9ٳl~͏~c\In[?/UkXm-M.e(@ucsGn?53xG^:֡r{ Ǐ g Sn Q$,^Ѯp?O[I9q%x0pXQRJrb9gv[24w(Cw-g!m`3x#u,PKXNs,$ef_xtW$% ]"C~f`\H=$o)J]cSyޮVJ><PGL+bb3Y@/Bļp؍E6)].]XeN@yt/ ~Z!]%\$jW`խx= ڟҖzBј$3Q0D[,~]gYiNd$)71TΙNL%#ɐLqᮣJsyp"5ԢedU){:b>@t;r/b-2k+$^^I(EjIY0/R[Ç^T?7a(2y.Rj-t(FӢ,a]ƓCڨT֔D SM>։*1Z+ed(rpBr UK' ?n۳S2!k[~HSES4CC+q?G4|!r[~. ;빟/Pn+n;kϞS{u `E qVN<̨71C%_)+ַ[ 1b@DܦB&xJ"/4_'Qu:ft_S1 `O @(-^B4LTw+GL߇ Q OB}x"8*ʗbKJb;*b(mǖZ^̵& X 9윔'Bm&Lo8BFU>A,Y="Y\VѝC_KI8z[oin <js1/H3)KX!9O-~%z4Qi x-aN="=x.BvqJBeQ7k\J/r'wJlϲw??rD漡hRQV 7s/ʗ]\$' 3UC?rOf(@f)-[\4!u2ڹ<ۂwK/JAԸ> L*.y?& %YyjBDSǒl_ɥ*/s NZ۳fN=Xc@;{ ݿ'>(;ݷA+ u7~j=]Jp ZGBkBM^Iڬ^ӆh-zQ^"~)rxvD3ikBCA(#ߦdTŧ+|cF ?0Wu".zc#HnCoqahf %i1K{PDl8Ch J.7Ca(':P0¤n) togzuQv2 r)՝ot搉G4/CYB>~M1Pe}WB%\mAbwˑ@ IޢQZ&G'Mǎ~kHh؊J*8A}l]YN/(a+l +A3iGBw帎Y:􊑘`~'< | ;uoLyA@sqhWED^ƜNLJ;W|Hɹ ߤ} QuS|Ak˘3<~; Aւo^fUgcgMby$V<ޑOD&7l?].DD_GmVf&sѝĘЦe[>v?CE'GTa˔2c)FGJVb)'SY(#[M&U; ziGs[t}sD9DZ#{fb֠h7;ԐR^7;36XDF" $ {>_Bnmm0.뻔bv7.x\3aky&53ܒ!jىH!"lZN1jJUe̜$6̷96`v46#5 YtB|i3Ѳok2Jr_hsX&bQl}'m^qPܑ a.JF8(O^۝h32 e4ѧx/\ZƲO_X/dlȧPƗ՝ML]KrA._нa1#e(֠"Ka#, JRN>/PM^ $`=1Gf?^ZFĝ&ACqz_1^D>@qxAP\әu0V+mR]v&MlC#8s"T{qhTc&7sI.B0m\NOQ "T|#}L3~|d$/oIG ߖ6#MeòzID UIi!k>,TӉ%fDMf(#1EM蝚m ;=йTIi,0Q^]2!wC1.]k*P>0SK{C\uбxpazzvPEfÍ"2BQ)M͖ U`^=gcy.l2 h %s܌yi%}v-Ja S~|\ms>)U'؈Q)y=k\]-``JZ #q*a}RBKңG^). 0:ʫ#0_ȵ33~aK,f+ *ʶ;H)Y!Lf2co#)(/Ss(f{$@ ЖR%g72^ KA3w.nLjS2¤7TTI`iO6/i'dĿ '˻ 0f:;.rţ2tx*F"Y}D.a׌-k-EEL%Q"C \gWȠ-Bu^H gF2U 6Z|sTg_AbZ &25~#;,1_AUn2P^,szf2ht9;o^>49gݗzZMʹ(Yû)ɻ`IH*ow>(c^py &1muËIJfXEf)6\mEA(wKo2$Tc(dI^0hYȿxSݑݙzW0r#ݾ ZQ$~fT*n#!y}R脘hh^CarREp 0ж):XF>ܙaPGo1a|a*R`w RIZk h T.֯MVJ\)淟ي&R^X3琱ز@{SA #3TQƯDRAv+ ÈXY\jnefNI. gV rwck(*ڕ%E_dgdB'C]pݓ2DjHe}u3c [+0~x&%\|s}wt}+ +mŶm۶S1*m۶m;sYs}͹8ھMw>{zgÎ@[Ms;f`gQ&'8śSJ$v ~{`/743U \UX'7^짦rmnԡPI\P(Q="6NV7 ;JϪ^NdA/O&EB aתjь74ԐM2;37VFPR)JV8nnRmO@+%j4+X{%%{4'upi/^I-?(  ̱m_z@ƀ/23!1$҆/Aud_ĚꝷyDKԞ\{l`#SԷG,W,^THGaoƄ{o'~g<9Y0lE :J/8T5i5ut3=62<0CgȾѝrl'k _4`kJfP-ҁ%qB)"P?GJ@?呵9~h<;KZ)\5)(yEgG)}x='$C .Zk\h?6OvƑd);F׍fgĕT8[-Tm<*ޯC6& oB[y[KH(|=Hс*{Dz9lَLVOɒVRT8_6,ύT:ApɵnBVE1çWa 6܅y٥,oD tIJq϶qզA#UE pOcaEasbja3o7 Ua_Dlq)9mQw?3҃>y3K>!5m<2G}5h}Vв<%$? 3TjX'2fzop׸ Gp0w)* P:  &K_o-R2e@[w81܇!v"WXnPJr4]0z]˶cqSӹtV( *Hoݠ|B*NĬKSCj'WAD)-kwx:7̶KV|+}c F9rlI:I=9%L&".rO}98Cڪh H 9W4:j5BT] ac,Ne5ˬq̏F"͘Щu@@SLwBxG!&嚺PJ}t)Jm)*%Fr̻;=xU2g1 ߓJ#e&tTha!\"M$Aq7d?#Q:}? }%.bׄ_SԱt;($X-u{^Wхn/N\90\=w˪A+2%\#l_w's%dCbx\TĄYk#n߻X9-balPA4cr,z^"IJ?4rx iga'FȌmNЂvR9 gX+ԺXP*&~7@R 'TEP (k$Uzlx|źߒO X(l8RI>{0/0(yԥg#,5UEWgK{NMHEr眒 Yg*,&TiWi!K]"&@ DĺH2lan+,34M"_n^d@l?݉jSV-}9w] %7:A1f@/E\NlCa&'f6K\$mV~A- +)Fj7gWj.% ߝ.Tu"4WىJyZ<3P 5RrRO.+ 0/&An6%! 6XUK+INdd32C$b9ay>(ZYdUI:"ϐ^8|sњ\ym㪢$ 'b+=8Y,5B( &("̚:@_AVd.E"m럜4˶:sY8TJ=!¹4r%S}wMp=tyuf#.P=)6{^sv3C[FbF6 rTO uŶ ߵcq{ ư!- ^ݱ_7GRH;z}x3YW t@gyf b8 ]&N&h4)Ĝ[j/fdco"9ʅ%S|t3k2|= ' 5R8LS6ˈjz]Ůc^5nD׵ۄ]J U @[@j(& t$bO qXPPI s i <_^%{һ5q^G퇌ϡ%ZO gj]10t_87:qD-'%Z"&5v)'lct^ 2"2l?:Y .k/âs:΋TXUpc! svj< gi^Djd NsۢS{$7|B[*,"DL wٮ?I!_1KJ&ٯ)cJvZ(^Q yՉp} 'ڙpid1jHTTV(Y+PdɛeS\wM-" /+2wRD$M~h%׀> )#ڄ^F} CC9.&O"tn1nxAEeQ3?mN7=;mn>CP(,$swzEÚGz;ӒyV&c24:xHFӞ:&XF'8W,Ul16ʓUxADtTr⥥ ̸IR'?k8Z+4Qyju"Ԩ(o1itD:bUA ޥYhd{_* + *5ۖ㷽^V1 I)C߼fe޸2MBf=Pe1nw\ 3:GQ$oU9<3AB67rp2![ ˛Co`b9[_n(=BVӐB U coe#.ҝڎ jV7L?0QDr]Oh]Y=&VDC$rMÎ].ˣVE Z@.v;ﭖ9:FjSnD'{T;Yz<}dk,,=/WO TϛT:Ln.1 f1] 5n+av*HzKB*U뎹&+[O# 5!iQrq<&~C}{51{yb;jBu[ $#N*<UgZ(LGG2uQ6' <@(TG$Q@Wtl.= mÛAZHbUЉI8fi?22&DcP@YUazv 1\) 4 RVp347fEEhjf3HrQM#Y/iZCwL>ff~mƟ--U=MfJEClf,frC>:V;=TńdFWw-h:S-MIXm_Du/ b8n-E?X7嵟Z/<.ԝawPaW{ḁ)M3׃5h(}>FPVϑVoI9RJ<Ȱ1rn턩s'+m33$ >ͣ[x^2Ri1zH h2 *qn·j(Ra! *yPx(W뗣FoN}kxxJ IyN锂HhIղ]A@ӽA2anZ`UV_u[F#6bavlvK&>+*&2=?1ʊ;纂/WU;G6;RC<.WF^qnqڡjnKCchMR|J,Gw P"#c0V*ӣ(AO:PqJ3]2۞ૃU]\D}K)kQ@ycZTFQăMxDҹZ Ɲ`Wt7loD2wd/t4<o}(y&rRmażO6TfohaXǓ-/c5EVyu `jhnTڛ<_G/6~l4A9adoQUH.޺ZAՋ9Ss8%SlSn,z1cRէ3!f^xWsYlf&/b{; D j1EK6;3qƾXz8%UN`2`EV)1àbT]RʼX;5S݌F1?u2-3+hځp +?b֭Z›\d+h_ yѿh/-P5uiFv/?F4ʘ\`|\""Q足-J`RU~,2һdo9ȹIILcM~CMccik*HcώQ+A4ݫ-15Ie 6gTC=IX ׌6/$$ۄxzUy8\e[zVSZ ;WԸ i2B6,$#hMXDu)CaR:٬0ysNI ;U6}OLB̿SbWJ!jEdElv{i:{K9ln։טN^VdrlI'u{p^]\  n '1uAm_eOժ/vCfu9[nk'BzJ1$Dqyo29YFP ;\o(/zNG,;bl >QtspS0WG F k9a#$pq7s"|bЅ[h(PB, 7n&:B3ߋN B;QT-^|="YsRӷvcgoB6jeS*kO=Dlo.45ld6nj/n~O$Y+6D2\JvbN6H< LCQ)n(^L7^,A4 ȒPzme]ː~|#ͩp]CH%}\< 9S@jvݓF/ x%:6&1x[f8ճ ݻ?`+U.zhv@7-0ghu-"w5H_)ޫ ~R۩(g<ǁ FaPL-MDN=LˀKSaR-=2tmַړR1k򸘸1tb}#zNg& AG cr50fWi2̙clW0c>?:iPKcGԞb( g&2o=3 [^ՏuX;HP(d$CNK2FSDee#a;߈Hg{{̦ngǽZ. Nn V"Y(#m >of,6Q5#d&6u0+YQ_Wm cl!L`lwhVMPuu NdLSQt]|ްtRlK*ASBw)b \qIJvtS⮚=+ m-JqR WKe{^%o81h&cseI1@SG_%d"pA}cWmDxmظ2*t1˽H Y3$EJGz$Y(^f|J]#S|0-|BG!M*TtdL#U}Y *{ROn}wyonIY@J^Dؠ}c SK(54@'2'K3], 2qm܎uvl^Tѻʊs\: ';$ 30u{xB4iAѠ(^ʬ-S"3ifW ͈Yʦ(1ZK~ Xr-!?};bs5kr3',Tb9&##dt{%ԓ.쀕'z؉~4`{7_8NLɩEm q։y{ (re3"7XAnz ~FZ4)bt +XQ .y!u}ivO/N?T]-w[O E[L 7&K Cq9M4ǭ۾N~fl6-VR1#;( 2#sC˔ "i͘%tREl2щ˛c+h"wrT NqȀ >*5h9M^Ք6Y ᎙rYJG@_PXv븪=&e'#oX4Fhmօ<\%^x8P^iu ȶӨ}N` jή-@Ff_cςXaOqFǞ ǮfC%_'B JRkwsHA/瑱5B]nCz-wt*,f |P9*CTqB](9=sf._vY=M)C9̒u_JF$}*CB.Ƅa_1MbnHws >ǼT55^@D}7 R,L.[l}h TWS%Vit60cBcY봁k};1D kit`$ GrUTx' Rܑ=VfTi >Jn:-CDo:t 0eiNh~[騗@L{AGH0U2W ŕի"oe(yPkg +*&q0}WE'z|`\NYfwDnΤl3D@mWϗ1֏UXxCC#Yn". GC^ ֝uH}r& ݎXR aweVF,mq7$θ+EH$?>J`"d姗Ү_8e2-sjSinβ]cf:UTIYM4k.yd(_!u0bH';:ʪ=yz1m1qB~UшN92u&ư]53M(O3zYmZ!ݑ#us97b'3f[prU=T"]HS\\g0,a0|\['^0b0(ɝt⎌lUǢp~!˰ ɑNXpIG2?ǘ fK[cFDb8́E)EM],jy\Ds'MO|V,RNIHV<dz>Ov*ZmdOC7Fjy9(E^՞6az"aY2*TfRаG%QBmUN#;0Qs3.ib*>K(`·b7*4 pT35F#Q?_]V91_0TGQp^ٿ,!jv1oksW#kT[Xg'nر4w[ MDHfiK^N2C<2,&SPVUJ$BhH(3, ',.rGK'G DnUCܓٱMTnEAj.FћQ3HosSbZ5&9#])$橖K~~2 i0&N_ 3{ó\/P376kSmaGzadnc6l{G:,{n4}[fld(XەoSA+‹=j6M,t Ї: ϩJWL 7DŸFv 1+~wTº*76*qލtёi }mOs<3}YZcfF@6q mym%$=#*C!:&z SҰMQGn.: Lw(Grء<7bs3NIP|Mi˓=ဓ.J.Ϋ R˔e\TX Tmn|p^Δ Ԟhk= 8K'U]dzcKȍuE!x+ p!pg"E)dSRwC# R.슻T]'dnT] ⩡D1C?YvE/㊯r7 b֥nݬy^:qT3 SuT.Me@䢷Y܃D-I$e1rff/K"KG8=zTn)/ɏ?Y%O+~rZB/229ADBHӗ\;UlDϯuBMtM}!&'z^D u'b:T|tNj`72pa!afA(63G>inPNhs_ųtf !!Bk̼c^{SSrSrTAE|Ǚ2s |G~ƒw%39/}J6(%'Q&gq@=:0c;2p ez (>[t#[P&`쪚hz*Y]_R6Zeaw R|`4wd',!*ejK] .r8̑1>[5-Kz/'g8yȝ]rGseXb91M~x4~e\H+aA 2_FC殤ٷЯJ{^bb&b!3dO -lnq-Ӑsu(5bI/*2;W0w^7,WAo %5eWe A^ ԏ%OQkJ=3+S\HKU+T}q雤,&ܺr=?$bhl75rڸ&??P{ Tg2,׈_<5#W|ʘ<  K&%L'@w=++TKb*jϕg.+aHi_?G#PC]}rRX&+HBN7~t*nRukC.g֬6n? RXSkyφvo9+ Gi[U Cֹ~Hsz>Bꬖɠ`.*Fcv9BK5Y[eԍ`tB+!RY uwB(0t<6m_&!h@ȶ3nX߯vrU 0QdڈgCOm<&ywUXX@^P[\}d_’@:~ZpTZ(i-6qivQq_ ꘽b.U>I~LF\cG#6m `/0 zI3ʫ ^RY]-, ܩfo r;\b, G9昬V\JI/talX3#-80Fd7-Fc%|+Pqͼ*Zu)[5X~[Jj)+n޲N'ݜ3ͻ4++a?e9;"ĪqQHI`Ŏ uP0L*'^j2}7MrkQC+U *EIN*( 6\]ö RWYn QSfNXQ}u'-R*ɔnߞW Ootg|C X6jW0r[׿`^zϤEBmi ^ֳ"Elnަ/P6.6OJDڶ~9zw:Ģ<{!6F+, z]}T~?ӷaP-8[[W /,5lVy3$EgmjU _sutLf+pLN4,`YeU\a嬵#?unD JD~\=hH=1I",|m˻f0i)I@Zn*h<gԜQPs)gmFW.;;2 !`/ۿ;ˉzOgCC%:ɔFB`Sl>ǛI\/G 2'*|)O:FSO&etOGx0SV{4S" *("a5&2% RrzQ~<n -ͿcCɄȥD;U onG|xZGext8$O[A="|wB<k]h^VOn/Îܝy$ }L<[ &_ԮY$u@jG҂F(b6#er|W{( s>4D%#=0~Ȼ/9+;@O˃q+/޺gƭgdaT (*ԙk={' ps) R"a<#| F5b~;JF++_ՊeH<A2#<А#73 \MY2X 8?^D-? y fձ!.UwJN?$8 |d?  Sj"Dk_W.\Hm L'3 mVl$ oV߁phh}<`$d=ӦցsWɗT.Ȼpȶ?l+m^PSh"B|Q 5t,'}6VI;3hsRI?LŔn\~P3i3eOtӑA ?&rK/">nEQ 'Βi xxII7^_߇{mGZO 3 _DoY/si& Z `><m^/i #Z>٧T$<C1şMebMl?#"'RC;߭,G'%Xh=7m4p?C /*;%xB: )Dw>18O*:>()'-6b8u .k#Xrs:8p?#Eh/S HQٟR%a Á@miY`-}щl$wx \myFwM-5SD0*UzqZ`1F0d=҇vn5yRa:gCذإ? C |jr  ^z>W馊50kX&^lP-\dsOc0ci{uF;B񤘚$ӂ,4Uja֭:9@~` g[{A; ʊJ+9‰fjtGBÁǧ_=DK©YC3ѷޝe;;rԩPGC6G "L/#% kw;b|(+rcET/C)*+RCjp/*1mNclpGR/oi5x\X*58BW[RuwY[b ۍ=gx4Dr;o<(h<3au? *=4IS_8ޒRJ49Ǿ*b+Pvh c,3_d7D?̝pvZb(>}p ԎZRZuD8#nIfC.Ċ'qm@YBϱa~Ryu̩ ݹER>pk%m7Lj-'L t<{ĒqQ;([7e}Pyȑqwƕ kC'*} G]":Z`ACIz7calBߑpZ߀G=gJo0$9h92*h~Opb9;J F,`2[Ro؏''v[?^+w߀$5tv.5QiC( /Q\/| ǦH sfI ~#&|&quk'XŅS Y%LͷDH$v{z;tI[qy=26ԫshkٲV(D9 U__Hc*Ŕ QP}?)8A5^m295 )p@Y{?Z mq0))- R ;1F'nldÎm,L#gVn"GU=iY-0YU&$?N9 {Bp;4uԵ%vo {e.D7 YQbH~pfFnXaݼg=HǚEB-v7J(oa$ōD<Ք^~j1p I"u?P",U M8W ӵDaT/Z;WhE,o5 hj `]~<|90ς&ADV I9fWMA/B</g<'PM&3;jen*Tcec% 'Q>[>5vٰ0/IA(P VP.u71.XPhpU?zTs j=Ț+z<:ebfn IdFhéqmuSˌwQA@Fz,O WoDKc+뫐#' ֭ /7,%}%IFEy=^LĿC@j"$_}O;­d7{NŶ/ pv_-Fjpn2}c@cyM>:~No&wsF"3z(% "PdRŚkJ_YfwgR 4X8ZϭOz?6v45OwcUHuSoӇOuo6&|&뱳~_\>VtzxM/sJgw 5#5,2cR{G톍#BVn2{~=E50я#x0tRW[{؍?=2 w󢯫'[h4Oe^jwyE9>օR1+ށy4zf&cbdQ%z<̚H58|{03 A/)D~ ԅ'PE[ZSk7Ps i'<Q!q]A 5֊pP wl V Vg͞3ZX[c践9 nR†N>1BY|rDᱚ dq#^)E\h廾z,T4knIJqw^3Spǁ[_ެdcʥӸ_;zBLn1۴ 千'xB43nKG[@S=zU6Й_at2qH7>4t/d,SOD 5wV uO3#$m#ȩnp'9n2joE:rkV[{Y+"]s!mଅZS] \:$WO hÿgZP_}?q!=sYNR]#׏fXBT9V"^cCbp~$Ws#c~l^*K[5E)Gcf}j5f/Jq_Xs,ws.rstIxXRRn~.tcTU(9v +&nT niv0!?/<)[n7Y]6CA=90pD}DH&f D7〝R)Ãl>ۑAeMbc'?> A ƆaJ;7ǝRgC<4:mZԗMй,Gjq*܎Koo S&+ӏ]M#sfb!MBQI<v$ӖԎ Ҹ>R]~N%;qc^^Ly1(^30*Q£#@<%YK y+$$CZb&ԽEX%񫿍ٸ[9Rf1?#>7)cڃ4FA7RI^꿹Yysb]$C-m?xr~Z^͑8:"JePE)9:³_Kg:{Vrܯj@ŐttO54 Ô?OcE`CXUCuc4!6ll&CJ高l@Aa08<؀ u5"u@ tW.xQ rrmƛ)-ɬtg]ذ$D>a#C8Zɤ2~FQs3;GK7ɉnkQEZ \U'l GB8.] gMf-Y^^ێuH7;a#8bstkmMD!7.+8L-tvz>~p}~ϡX>l IK[ۮoU6uزZ 0l|_% )=C7{m4-'08+sh5ʺ^P%oBP 7Umf%kqj8#OKxكT.fGLi1ja _&ɡ(~ُD?,>ɉfw|&xXeSȤ&1^ Aq9xiVXE<εᦍC\z b`*%pڡ|.)v1?";U5sv Ʌ&c yˇƵѠ$vu M&sQopsNzaՇj8[y#f]%Ӎnꋾv1fcz{-: X0m[1 BmP?4cb=E@疤;$7d6N(H$ffS蕓z,M5jJhגi kt5!ZGP*2EtҨ]hV5!E>UK _*ڔ- aO/w!:7o9Yw<-^/z˗lŞ2x-Qpܲa%vxKg귩R76ƈޖςNdNІ87jd.1 uv ZUo6H1HqUikd*ծ:+!n :NHf 7O`BZ 7C#E~;72rSҼ&qsƒR4;?7g>sk\ qp>d1RQ>|}A'"E+yI U^Pe(,;ۅeK`Me'{UJTSgm\l>:P߃5Tywq17t^F󥣓"u$8V_yKp<x-܌'7^3Vg!wvQ™zE*u9H*CdZP~U/ϵ$yo1@S^-5n\- . &0%q v?ZZ uTgAmod^$Ce?m2|>9cMYt6AA@j'ox-(`*~(ۅeXdJJvn, AR aC˞E/˦ǡs.Ki$;BG0Y8yGCGCLNZ?Ϣwc(b,~v/'}> IDATG Þ%̸A4SZ{ǙOaˊmXCUmm \x<\0cE0cK 0I!)lh2Sh7-`.&M;xjTNF740 f4Tuq4QEjCM;5S}|H1іpXgu3Qc2]9TkCCaR 1Vac2vWAfφA~~Sg=>[pFMџrPy{O}'Zz f/BR\pfڿb4C3&$dFrGm+Q8F<|Ct|;R5]&gu*P*:`U^H~.mJtdIœ5Tڇ_QSnjU4KB5$`MdQ3I z(EPwE* Sbpy>TF闺R+"j=P=ITf ZFkڷ-3Tޖ^$J(\5 B9r  ^-6 CX3'Xn9d916 F ʲoW.š'U%.u+o]|5˝Lx]>g9bdГ܋ϡ!JOw#Y v#1Bˏg(|?yzp$uO=(uw-nTxMA_X6!Ɏn·[w[Јpvңu \h,!hcDIldIv$Jx{=OMj ײ![7ALݦ `Y@"fd-DzV$p};-%.OH ($[ pv{8Yl\c<[`Zؙ3#ΰ SzkSeCSb`4qPw*JOk1| s%By(adjzt4'Dv {JGbcpxi_Cڻqgqi;xe8^ւ^FWeDc޾7I̻N;ޏx;QWa/^hoƺyqx'U'0ȴ4%ŁgBLg;*@dQ%L<>zׯ zm6puHHSRIJp)LUu-8U]Wa}s`?UATWR|/Q5RNSRw\`/|zWw}'=^'8`K s,<vM}Q SmLEqi~|9p"4'cuF'M *-&GC*U5&}O'O'5G缭 0RWvd%0x< .40ȏ7GQlro㍨8xcڽ4  ~uigPw77ƹǷ"69`W]=I(d\+ 3[MOѳ`eK@u?{_=N(*džގxk1-w3^^y:ijۊb?ϣM8^)(ީ+'gbUArs<uJ&U˦4+"KZjI[.&o4:΀fśP?S*]ﻁ6l8=84x-/|;F7+~q od^`o0:- e'pzH3(j-G`1y!+憅?!e2Iz,'ouKB8Vjwhv>)ϾCؼ:W3DWiݷ-kӷc8rJ 37"Xyϴrjpwa4+l6xmT$?ja 26C5<f|v0Um*L@rH"DaDa^V)Q;:s"Rz/^~/(AE {w,T߉X\9Nځy({ ًlENg }/av9k=Hf&$AłEK[Z(mH<@BH df2d=kIa~6};{=N!7[ᄆSObjFURڢ2he7(&$`^BX+ȇpcӐ[m?֦Qau)H#};<>|"w."YGphhop+^~Ҕiq1Uzſjg7)cy,?˽B;_jP1k嘈KG][*jNИџ%gOfW`|Xg[naf\_YRe:G@#=y4 4\Rڬih+){ESug5;/7G=ɪ2@Hԧ>t8\W^ޗ4ܤrhtEHquC:irEmZI#&W_pX6w wtiROw&$/x m~/:jm(4+xxX0mrOs䍚gl']u>3uujP8^79E7GW>D t(t( $Tu]~K~)6)Eqn2e*0:\ ]Is@5nX3@?~~z[u%:4?c<8g? љE 9vFxܾ3NuΤgt'JS̝ }p;\vۻyMA=/yd$Ц:[tb }zߡ77񓭱@!m7ib(`N֝uo/#}Yza[.ʏOՌap,csa$0Kr+nm?Sx4xCJglAɆfS.jWsy ?z{n֮~wժmA)=ͤAKԀł$ _{>'0x_-:F5C6❇O;EYoNeAD(5שZa`Fmwjva/vb?"`D:AF kO vQ{dh8lsPHj/%i5_P| lvo~rwQ7<։(@J2JQdkWCrY@.Z%4I:9x+yz1#Gr||V)+1z`(`0RRmڵ@fwUu}^n*TrIUuEt{mQbqkӹFazoS!|f,JQt>^H5V?ܪ OhSgG#*@(&>Ǘrk'),^ jS!XsQc۵" 5p+/2QcT/yZX շu>dy]&b5v8&7|tųtҹjhyLE5~ ^k>zB*z ʪ]Bxn'XcȐ3\sަuj]I.G 5*읻$~ØDf._-GG4EC(,4*k HOӀiDkvTj uVLd$͌(D2O!pk7 W5{rvTî#J}omz̰iwcP oUuV]=N7JX>lЮyBĄ)1s`F{/WLq '%M;} yw =+o 'H;OV̮԰v ;_8Oi7~=u/yVOlYw>$I`o}x,@&PzdtczxW, g8 uq0@f/ il嫿כ_QL wo_W#{/D'NUWc6*9$sV,cUmˎխ )OL SM 5hZyVIz啧tãkt7~lHc) <^ niԦr-٢[{t2#csN56ހlsRwg+A.S]^)xۼ*~>TM276O֪SYlܵ4-2_oڲ]-\GK˸_nJ0uLG|&ў8ƞ n} ;T ?n?1SVM}F6AW\HsX7"5Cn}UU_t")ɑ7Iu4oPMjlD$x S{oRK+ӧ|pbH!ۍoǎN'iVp0:(ߠ b ;TҨ\[EFE`^ dp6N}߆h)z흿&xy Xx|>"4-}ū肋uG t+ODuڥޡcRՈvݪOXWߤA| b!Kk?)xLaX?;ǿ?PKxVj߾$㟄Ia' hX*-PGo#'3TViןx|2ޏ YG^&-:y\Vi([b%]s +u La2yJM?Urg|3ɥkBcPVAzjC32?c]^?M}6 .\]x'D%ͣp|Cq5+0s愄$xƢJU7PO><֕xۡ\ 5рMUDty_UJ-5) /s5+g[yv.DO$U[۠Ә(VF~ƂPJ٠Q74]v@TKj٬r2S ôxY2P5A٠97C;3!ןxWT֞jMɚ姟=A0Qs}[k]Suy[7>wN~1 ٝ(:l@4&*c}kȰJnOkrTӀ15Z k.&V၊,W{^B(z^6s VTd:KTd{'?.͝ >2aq;5QW&Xz`SZB؉@+fGKjyc#XM˴`ߧzG)ijߨ?:{ ٽ룘Tԏ<To foVR\L)`g+f\?{Тab}S IDAT[4Bpyp xjjQP*=cmkov~K{oSVl=^];џ;1$;Ogwp/= 훕;}>DA_u<ᐋ4Z]ٝѝGk8X.JՕmVc͚SubZ?9Z~ڿNmlhֺ2Cݩ򈘨Vm5owk)^["xUJΘ*.Z/_mٯN2kiKuiɓT\' {ΕOPSn'):Key9:y$(893K3.U6?JTŨ7`gpYgF^}hL8ycOX,cDZ_eVV]+G-yv򽚆R-8`'{]O# sSW`R,p~׫7?ޠ^ tBǎPͮuxDwN^Z|,mYx>y \4_1d7wnnT94рiJ7ųk8 PtDd56@ky'V` y1MCҽijJIQLl@($:^oEkSt*0AJsʚT[۩&(<ЊPѫ_GS. j*1i<US7/Qwv1W7>ڐR(6~V Ig~}8(>49}%Ɇ kQ~eg)whO!o\ fM{iUmkhRaN&iF#}JU2F4> O߱ZkpH[ҷ Unyw9OdE7˛spypYfU<^,t)Asa_pכzwV{yYP$ @ӱ\a;֙/k۷Cqc_!/A4 9I)ô`_EzɪfӰ2^w~W'X76wݘyhk`PU"@lyDfʔDwg6w[K*8tP 4T{Hg<`߫ ɐ'A x/zLIlVmF֨6f@Q0[lhӁ4x)'EQj/bYV!åj)@'<wz6WPnz25qt]ʎ|}M`ipM$5)*$\q+UJIYvU.*,܂ O;>M 7oTutFK zGu@s qHk.Xo{ zQjA(^T=?biO~%?P6Ϊϼ>JjQ4ƺ1S>g10cѷ s9jG'[*vVBGi>]:cd 5"v2 Wk Et='*Cfjbtt/L̳惻ՑvNY_+bʰYJ'PYEЫZM>mP1K~VzvTCYrJ{z;u'0: Z;P)y3hJ-b # ?pw/Ov?>ol?)Vq=Rۡ6e`` K7풠A88oOOS҄TPqx3IMXvN%R@ͧNS˧[6tiFBc @65!t .A5_>CHI #(! I&Ǐ_}lؖ>d{!Jbx\ʫ[Ui}T0ۚT)ػҐo輦`? ab ߪq|V-U{G`LKOi)>4:Ѯ:hlDh劅7.#@ \S/Tp"009pKeD&F.'_ !džP0叙Ws}]sy11N<_G wH3И.fa @I/cGF_xE5_T] =]j(􃮨^e_}xO Vx^zC<ԇ* ~En4M6FXM7?eVcUJudmlhT0u4*V?6{0R>߆;[@Rݞ9Lx}d *" F-؛BtI:sPTݣx0ù ΃Y-\ẋqާ0&`v\Bb5š36OW+`-DDDo2u*49j+{43~qVcwD']|kW.# +=N>fjo흼w^9FTCOߪ[-!mp!mؽIKN_ êh?=H[UMS?oZjENѤIWҽ0hyi\ #B3O>_;,}feW:PFӦNԏOLT|4-f::ZQ7(Ũ&N%De:ݷGlնiԳ^97RC\k?%E#5ʺ&Twog `^No;QQ!^bLޘf Ψ^cAyVܖNWacbD%ū#r18"R>!Dnò.ƑlA؏4ƾ ۃMeVt)#Hl}M840ڛѥ!vjr(FM a$G`Z7(g9 ?@+j'Z'Ѵ C!.??L1򸯾NH r W2%DӨN$ Xc(#tniK@T o{D}aGׂ(ϲ##>ܝ ?; aAksy'_H䷏ݮGpxV3/RHvߢ* ^llB_R٢rZXR'_Mb%HnĨ,]:մ0`ϻ!W6f!\V\W7V8'L55-h z D~x^>,dPCZ4chtk;~C&Uux2Pf0:$'c@kk*/آE τ&=J_~BZ UC[kRfP ԿY+|,V~# ڌ\÷eN^8kzÕzgxQbjƌ *@^__ƠE/?&?~+x CM1<]xc_ #h\ɥOHcV͜Lx'LL&J)}od 28Q`aՓ;̼%Xl\:K1wghFBE&'0:zHo9|P@Kxcljq:IF7;qw6@w"p+Lz Hq1|ɁmCF7D!%̝ gXMq!;^pDbzfKNSl#{`W?;b\ -_%OL߼:o Sę()X#"/X͞@ o^ځ G4O~p-VkNLPb}eE`|=meZ֮7e7:9:pOu6[H4D+lEsȉϾ85w\u{swH]seȳI6C{>B795?Gg]*Ztfҹz9Dp+iCW1gewgZ|_e.a}A`J5PQc7Ӄ[Cg\VGKDK.y@>@ c; At ZӦr8(*0 'Hx ~/rmtyf럪d(NV0i.Rb10d7ˈD ܔVA$GIeױ;\N?yΜ} kV102;8]y F.@1_ |3WYOxpdArqoSh/d>FNMti (_ oG\888Z*pه44PQ=@;N:HHu e/0Ƹw$Q8Йu ԡ6a:L:|HHsz$|deS&FYgP(קЀ0lPtxFһ;e1w;['P; 7X2W@B\,Hڕ9!Jcsfc 6uh`0(2Ɗ=myC/T[Z}c8eAbsɘlV["saF:ңYڼc7ҧSczy Y_?ǝ1pU6%cHHxF\ybr]0[ܖ>(j9zA_[DW]!B GZuE6R}>} zpj&|Ƶ͞Rq:_47_]پ= ]1P5o |* }bv7ZAmg}@YTI! wԍԈ`֬P[Nqa$V$.v%+fW!8<|!ۦv~Rmp(˸&NUt>gˎqXuLJy8R4z쭇)I Y{i)tV˫?]1ݖgpfQAuNFr" C>˼ʛU|P(0zEQvT y6u w.?WY臟P˴ 1NEm8l^UD,fdÉP\'*Vdr""@BQdF*_ ኖ6EO4ɋۋUSK?6hܬ>ªv tF6Fݥ/@FwM9f .%OyE0aƳ\^:j0u7c;  Q2+ y?`f>b jɘżYMq o €?$?kn2b؀=0AA!`ԅ*6>Fa&ub}&C9 p`Zb=͘.I_|͙s'#MMm@tS4!~.lݶل; /t& :M RG'G!Dؤ56}j-dhuu ,[m-.i8 8鐎4vFX'$_yCBt$-\z~rA_!J5K;Q7?\=d~RO^HxT .x]w 77Ȟ]@yxq{w gך Wɺrq$t 3`HbJyFɄ"SU"Q_0"ݢ6ҋi)Y@ "T`w74 2 Ke.%;TӐ%^ 8(> 0n9J ) LA}=߽t͇S̤1(teCi#GY4g:!25`Ѯ;AK;s,uPE755c=^ht}=fjr7xwج!2n53&?aCCnhFj 0`֦\˘XHvK~rϕ!N@Mtgs*3c[:I,Of7N#F/3yR}ffJy7]ơ%{f\<ˀd8qF]_gq$ N %7Ste5o^ #bG#$8'Z@z6|Ɍ!96 Wɳ`|m߻Ozt#rWXd)c.I lKTKE_"=]#SʁI}KՎ#߽ OR -T%E9J c*k^AWOj b )Rf8!x̠YZ{o8oFqw=+X/_z"en@F\L[joo ;n:siώS:&=q$5!0%?^a}rVlќ1Qw+vQR 0LfxR"wtŗ}ٌ[-gcVK1?H-<15j"5  =@acR :PG|_W\ YjZZ0LqY(* ^]}n<~ x0mV:*)/а~#E..R&|܂^3kJZ֯۫ yXB^i!jà ϝwt, 3 46fd%h>8It9pRKN{Blz;`6ilX,=W>;xg>9"j|%vҗ_i$Ęp=7w'<5Zy/?۠*KZ3]L^nKŚ93H}YMXZp >_y}(+J5MT^TMiצ4=( yE: ڑS"sޗ0fTf9Kс%`#f%$w^fլ;H yvSQn$ND 6JәgϿʼݍ+aJ 4wD]~NN_jױR~:M"Jv=ntp8 E$sY F+pf4C/dר0B^q :Џk t+dI;6d`+C7:5:NA{E^K#2$,N1P`5Q V"yw` T7䡕fHu3qȊ**8\5* m\chD'`M`ٻ06@of.HxF{vɌ\.e^@Ftһ!tn確.Њ6:1xa0ogf?:`q?Q̟GG>vDV׮i0˘`YS7`>&|X ΃+vD/֪yڠq3/# 'Za6f &TZh2tp ¢؛B1wXMqƯ"w`iW@I0ЫkJ(W#mkG[^q 4>x7 Qb˸#.GUU`1١:͘ĬYZ9.>&-:ڼm.bz ƽ ~֫:Mݰ!xhɻTX|м/H#0W $V#@EXt\ oylزC Eh#L;n{Kߨmۧ'5c|b$ϗgȼa8 +PaRƤD%QG.^}>f]LDNJC7oz,(Ug[=˺䚇4܇W a]pe*x,#$xDk4e܊3~En'-nW`|+AGO H}LVݡ]u8Q۬XzQT}eOi^Pz[!+Q=2oV< 7OT[:<w͊72۶Zb`֡Q5CxhLb y1/wc `%3ou>]-K0}E"ñτ񎻎Wys(tC7`AuI Y" Y ] ޵{x@Gex=-}w( FģϷ4&W3OQ[r(#I*ySh @|*{fLYfuqa\W+,(E4(E>* & 3\P x&\ Kg8uvv[]N4ű=5Ü݆w3bfݧvSta[_7n,mg-ѢVݥxyTij)K9Dj0kA=WA#Y rS"6y|R@b]ԯ WW=/ކJ:6,D'M;I&X TWh P;"`Y B)ɓ#,y^|W{ ߆'[܁9 4%j CGFȋ =0_$$U륇&؍{ dU<ăğn 2OO?>x?.䡸HZ g:yn̻} g_IQrsٽc%NH?c߼_o+tD3;ц^Mu` `i&v̬BgqIs)8b-Nh 1C'BH1+_b,u^FEzcЉTOLy]S٪tQtR^thꇥ߃O[qG~F)#fR "dQ@ PXS7'&PHfʻdCB'e;} q PKL_6Yl0x+{6MRA^aq - aJ2.O#"XuWcX27T ZX1܆tNnJd# D4A2 f†l(Jqd~ǾG;)wcQ 6"L>KAt ԄbZ0xǯ bW{jbSBUz_:4۪Lsg*,CaL/`+Z4[/hNL5}R8LRED&wTYzVַddaJacBVúߪB v;I8h:Hse#d&=&Px30-TY]B6V:d3&S =TTR5\ғdGu:@6[&1gm*‚6&DS6YX8Y٠#Ih IPF7~a%]+3>ZN1Bz`Ԧg;`蒪Z{ h:0!VbI5U &isƎ>:v_ft|t~mUxKYY`Rp#h$6?k$.5r 7?A7 pÇAo[0NލN4f+Aj9t3B51#GԀat\eqF4K.~5؞ __ "HΆAU6{CL|rd^!KNf=u0iqx@ː~#IDstMTŧKC&WQ)¤z ~o^w눏2TVg^gɗN T9NWA]jqS}2G;< v!wiJJ]26e$LbaBF0JO0ä)_OfnJp%xFа֏$n؟CܬXm[و"8x*LOSZ6S[stʲs]_ɳemc'jT>хܫ}1:L\'u͌ǏG7 F!^ml/V}3mf@eثE45);;ת:C1>IikXйVVM7icJ}ꔑ潓Qh.xNa7ڣVG T4f~Z`jEg]Ң86N6`xYi9#Ac*W),JG*PMDqO/A7]uW0i r vO8^6a 3'VEWa1nƆk8\z8yA."9,K $F+`Xzw5e=q;_A*1Lo` BR2?XPu=08$㖄H68sF+p f:+!_@Ǿ6Â5QV VݫfH|,UTE_GUP9L!y# xuA7h IlJv颻4%+эZ3?8Q 2nz/dyzJЯ ct47t᪋:}]Ub#|茏FkHZqrxb+Eg/,+n!a<ȡϷA%r7=B2~Im@}۸}6&|/*ȝĖ[_m_<*#+T2);p{1?k0h–ќѱ֖wC(c~MOx,p{-Cb#B$t5Qm0i׊%u$'HPW%+|k|:g{^ӽ T Dd4ԞnF|1Z{A`N[G4i-b6Mi^!toyYy"mkPK]™[`ۻ< !9̊ݼ﹂0Xz@M025/ݰ0@.#h.h4^ t.]}rPU`UI{t.`G! 27<(t<0H=8t0hl0?c0߰#d otW3pM y#5Y(G:wpx2>Q%ڿ ;HC}hYyddiixX}NАWZ%Ax1ԑlG'CZ%D`?xʹsp?TU5J[cFh<5e:[%k#S$-׼-r}};:^۠%ӧ)ONy!4 ㉰;VsrURL}W:\Y_٪V`OS)jccXئeKompwitl\gLϫxdgChcW_\jF+/d2:ȸ*,/pok#MY܃}}9\?H5 j;:E; 6k&=Sͱ0q~x}oZחP {6Ey;YuA!.e$yqsx 7>Ȁi_"DMC3nյ@Ѕo6s끳?`n^UEQ¶Xbʜ_@'7$h?:f:X@%es"S~Cퟆ(^9+c,vv/5;|{Yv2/ Dbbsѫ}إ_:OTk/3 r;1]'1 d~ 35|:ګ;5Y 4"YDNlhNo1VLqs}Se=7QT(-Xpc_Y^r|RܾW/G{/{tەIb_duu5D/,f" &V-L$;p+?b~dO໅~K 6 9mP~He y+~Q-wSfz=D(lYIq_E[Ou2-0/# @@ϙZeh. Ğ[ -H|;{\\4LB؁簅5 m,dht14 fbhabfFQ:Vٷ`,cBZFH vkI+qH92r"=3;U4e hh٬$lZX!@n#5 IDAT$X-ϖ Hd ӛ j aM4!ˀ{KF@{WW zua%L@hB-u)r{<o)ЋM9D<.:q`]#/k_~GZGƳF]m9o|Mez;٢'"{O|^=o&x`eÕP{G)~*k;h>yq{HviY}Gg-d5aV9+ P"M! INlq=LDOnAĆس>EJ ݽqY-ձ.n3_AHS˺ey^–8GBxZ]*u`*KW 8FQl#"yW i4 SFIϛ鋯jb5J>&`b翨gQDU汊ʄ> " Zʤ8]5Ϋ鿀K`F>{^n]xU*ۋč/B.'?/ GɽN͕Y jrp8-z_:Ԏ ȋg| »F$qI[#Kng) XݤzX,MpJK/*"z\CW`0\՝EX PF0@5!L@>0w"LӍ0wtYU_7&ҶV)ݿZe;N{5$Kn6v 놐&VbU&'ǹ,}}|7&&|œB@@LmcAo,PO+ggRQt mϿ Y8@(VltMPI V=P݁2d| 4,@Hb^LUNTb5xk+L Hx+W QL_yiܗխ٧OoA-p^~ķ?, f2~TM>gڦjuwhgCzZcc&= W0U}yVױM(DAO>}_?|3Z_fO(a M@!x9#Z{ǑJfd-)z<6C3ouy۾P"yɦ,+gncv4ŬnpPaucZ4$Gu;@Hvfّc ԉTܫ`)Ёg0k–|p՛'cnM55gY|ƕveuIޑA5?5Wb\CHGf֑ ~2~?{ǯRNVB˄ Tnĵ䰐QUHDȱoթix|B02D_{F7 ymQ^Udě]lXń ~XA~26BEj|B×|Z}\̉JuOa!Ab6O_s]_' |A+jeBVT0?'^Mp Gj\> [ +lŠM4lPШYq{ʟ}F䦮 .btE1Fj+uUԪ ƶ+u3b?j$Q{P$gh 5q_A4r@ed /ˎcu2Y 1^#WBsrS?j5N`N u K(@׿43xq oeX(x' ~E?xuc 7mCOQlU~]Lgk`߀-l*oQ#=^IEZZThHZɷ)aHVIHS69d /ATG+S!}d#rdfezͷA"9)^;l 6PEŻFNA"#vs>n:N hd-%7R;vp̄Ml#Uh:y9@L}ny wgpƱ,r@2\LP8YCfr<:m$ ϡMMGs\hme?LSA}+%o,DRi}v}O>KIhU0߅[2Tf MA,VnݤV|) (=}6dl_?#@LGP,<4uy$~Cz5ߓ*$\]bj?9 &'9/<<"ǒIth[^~h]C}/jmK#`Dg,FPؠ7ZA8$@ʹ9D}=FbyHQj`v?; Hv{,7C+s\}c?o<*?GO(b-a< H[%`bD"#sӦ4!(h|P(vfiieEy[! V|@Z]|OK2[^1N`N`k8rg F @{-v_w)Ryb9蘭1EPρU4<ͰKW;%0PCqU93= ̽CM ѰUDZ`l~; /XV^7 qZ(VS L~W^l͈C†=yާ{Eg~,{$0>L.{JMSIKnT^՗)B_DK )p<?N :("+e)A IN]4E1TcO3ǻ]01M ՘>\Ӝ3T$V]=.RjYASv {v8mD=ۖj="FQ}^{&mfjkYWW}ʯcp LѷO}]<s$>&wٶ. 5!M.N1=pna鱓ut?*[{HS`4UyM%KHS>A ?wtellDu,'~_|Ih}``7*g5a5B%x^}kC9 1C!T[WN{iNyFL*WlvA{ycvӷ^z^̢d )S')^rUpJ9j4PՋ\2_t0Uq4][5`UPBZ}  LȇJZx婂ekGq$ rDzgYhq<rly ѵ1`23UMI{<*E#c]a=+k3  \h>-ņO2Egj줠vX1 yc`30nvwfɽsET!Ev+( L4$ dIAmw<g>|s4ADfCuG7o+gE14"Id0k52j&_>Q*:?OAqV8[E&:L6{yyR4NTA Y7_^u^Lҹ϶K!4b&-}%W7}rp+8 !޽ Ydl_&=1{byW|6&s(HLꬢ'!]6ףQ>(Ji&AV&@pP=k*VLڙ^. j.=UYOΜQC jй\MM/`h FDk^3 ѐ/};*X[>h`~Aq?gc䙕4SM⒏ 4)ZKf]53H7 QW迟O̽;2G^YAn/<8xI# Ο=ў@N~)A/l$Ͼv"o1=_x'qޅmo jpCl]R%put-e|߽'1#)Tq'Ԝ$GDt W]^+XZ=Ld25{f{x6 I VéE ͈ VI;c6Upix}4 % d4~&p]^0bNKo𠶁z0!c:;O.^fI%Z dIom`s:a[HA%y6RX| Sуն}hB65̜8r~N";N݆0; |&x$*VƓ?Cl78ᡃ|Xtg L%ё#GG槑jW2NήI\^B}jTeu{%"llwU]aVC]<%LL+N9(suQ >eK`Vvګà@>Y 8@eE:jQm#rŃvqaYcũ&ɵkD0V - h)>coȗ)gAFC+o{ZYe7mp0L.5- w!1pICZ<' 0î2.g2b.bA@{!H>3jȅq+$hƵV_iB*dO:E.pAbgZdL3D6SOnߥaqn܉]u2ؓ7 -D{  ς"Xq1(ЦB1,ZӖH`Ꟙ'آjۯ? c:HG1q&#@ {tW&a5r=gLuHY_GuvTDQ?|vex T?tl!)FIe\(GB2r ~i uM-񟆉R4L%Fit'{mE6`#lOVAA,GZ?İ}K(Z ]N]4!+v*ٻVrTHy68دO(-tZ43*y.C(y𣭜?kq~!ǩ^]ˏ |u9$mCiau/2ɗ{4ryMcU*8i4oS~E:zꔦǟIuUwmV<0AfԴ_!M"#E;sF }Wh*nM4˙*QNרҎ(c]AFO^͌ J1|o^\*A&o)5u;ڇߵ_-PR\_1E2s5ֽF=V$RLivB⿥X1)wAҲgvjtPԘze|kSr% IDAT>7Np]h3mq,^AM6QHCֳbc&/_aa '4m5?ʮK?\FcSsa쟪QǚQeqo:D/48 n4 $l\2P8WϴݎS_qPYݙjt皉Xc n4Ьdb<[,VK[0w|5Uү)VL)uoQ@ Mc=vϞ>̎ٙ .U9H 9{hIPph[|5l8M]vSz4ڎ|0"&tg kcSgT5 h> kY; G1M=F_z VU\Wж3b,t\)9,h$ױ>#ȓ?2zاdD1퉫Dr-akW09nͩ++Ҿ]BAkZҊfϏcP'W:ם۟1@P*T]k7GtLe(I`/OPpU\Ih\FCu 5Z0?fפțtu` y.bg2N(F*U{0V!4jevA%iا~mT3b=C'1iw~~@맿R}M tUkҹevGd*KE7@ǰ|] g~kK 8,CcZe^_ ա)åMFʱ4> 4E֛P0*,`c2l JȋR{S30iLGYxZbMUbk_\6 LFbwk#';t98I+"u =pѣ f`"Yy'eU5bSSEHq~V Ry\zJQ*g*`ݢ2 V`񗕻&vGgdə0dZV!Tq3Kjn"NX[`RYEJdS%4 ҙмw}N;c:0n=ykQ$j-2dbT%4e R@;ɕpaf1tg0P 3%&+eBZ8O^}O+Fu{H[RS|\SsUqF aDe&NoݓDuc£GrU1!1ߞoSyY$3L IquCO}eek'ܖE!(ukOHct.ƒ06$֝k隘gu bcC58>hc>! >+<8MT8(]*Qqn&|x]dҐDBTh84uh1/z43d `E\_Tkއq7l7V<֖ JAη+B;@ &i{Oޞ+ڏR3׆ 4b @~c4u鳆ӍEvV.jU M$Pp#:R, p[F!5+} í\EC =.w?0_3*),oѽw!VC~%Ka5I=5{ M:~u_E˺i} RF+Gf%ޤÖpB[d<_ו$m!߭ qf",  N#-䃯`7Ӻ; #|=!'1;3qs=b Әrcv0gò%V7.,Q3LYZuY\:{uaǙ* 5Ap=~3c`yu  ||N$X5 ؀K0x%{cdARXEX 89RjTQ`eYyx  ѡC3PC`o@wc}VY.4]-9K=hv sdi<򳘾]g7`7TSM- Q ^|ZUiB$a =XqOX بvKsa8hѷa7i}z4@b!ݫ-4TdLg?" g # q I&8?q^3 _"HeHcΜ`ߎO!"$'2I|R{-z{)0ya7JT] GU+=gA'vFhe4ʮɮ+OA~p#d_sUJ+(ٙD x-Ĺuu> 2"G\iؚ݅e(A6('*YR Ɏ |ffĄ?\ &&Psxw8%iMT7FYc 9k +똡7.jp4>s>~uh{g{'}?ف\9LT>i)hi'Vv;dR;HlUL+r: ]Kf/ eBrU؁Śǯ v+rb@J2?c\kj?YOJЙ q4I`-4ц^9Zg~Ee&<޻hR=&!B0腁B3;5d kݷ\H}P(H5ĸǏԌiz~zri&hizan1qxC~c9;|',=H>B|(!\=v&';*0I\؁yO-HJ ?#fvX#ѱOǾ7±$1@l<;=1ILqlbyh~xh`ֺ I*.~Heg4T4WqwcقM؍!G\TKߢ(͠?m*@R7 ^0OLaɚaVk$!a40m<}ByyXmr7 d2f`(Mo9-x?6 qIj+DM]7oԾ2hh'(ܺ|&xBix#|+\4"u¡E~YQ3If|oP<.9/@@'D`UHagiv˭G-k.lXgy4D&x.c,X;ZpR{WX->k{;q 1ք )/`+a>CJxcWd[xRi0o~E!+̚JC1Εv`u^|;?N@.Z <+Zv~D eEyzB.-'x}fe?!$gއ!T4Hܥh13a9Haa5a,lo.2e m&qKvc#,8Q,|L(3'6Y\E$u!M Ѱ[A~lg :;Et۪ 5{*,~ ΁+qF&Acf_N$Y&2̍ӱ΀M1*3Blh 5mĘd:#P!ӴL9hɋtr(4UH\$|h6oQX-1ᯰlVri@LM4vI q 79WpU#0Ho>,:rZ!"b,8iOHgUN}g=Njwgtefc"Gәݞa¥A<Pծ.C#[Dc҃^ڂ׉*`xm !+r/}u߬nA;~/{ݺl"r!z91cݯM*>NOG_gc3Bt#MN`~bNn!a<Ϯ1&X shY(Мƀ !t{倭썐؅{pk|:9<։\/3(VvE n̐S(}iYr;[;U}F!ww>-N+x x#%ڡ0;? )ķ0InX! YyvA+pzUkpmLmF}@v9(J!޾6$_R .~_|;:[ۙq5cߒ:$u6~kO~8n0 JxoN+O#盧DL,t1ʂ,%h \@_`؀Eo*ɽm bo⵫*Ʉ[rc_WI "ԤGFrσz9V[dA/Kq[{|'.u]gO>~ B^c BLUȇc4`! ;r+T[bAs!S@F9?[4K~Pfӗ,8TޑE>_Yh}7>8Sg0䙠+Yِ^9_|uн_{OLMٻ}^ojG$@̞&53!EP3a,OOmV6cCmŕ i[K29(@ehy6Kټ:*'&-5$AZ[T=cJez&{3${vqCB| nwm zs>r)1}A &S5>i0S>H̆SD iI[M1-FR;c4 VlgPb;7 v008I-*BBEһ]䈑(a9LF2x_uPE"r ue08S0( []L1><#w8,\S QH،Z0C<1n &I=ĥ07@3sS4D6 {nvx+`z#5AIe&nVn$u&IBLvKN%☻/χ9'/E>gMӄ/Dܦ~&up*$ZTIP.<Ԩ^}Cڄdq#>D :k8['${'w |y{askVt>'ߖAv;waTHz`| v> hF.L%^tsT"s Aל4T֢vװ!Ywu`t ~{FH"j=JQ9 `j!. @э9 )o{z|uE̬(/Rx< ?ny\Y-S(M$ܙh( .;(SUx)"g!{_fHP.M&0cumuK}1Rk3 2$ɣRɽG"A $<1N+3H24WO0"M L NHь;^sږF&5 }ddFGY6gН[`b?duL- (zb!mŪa};ufȉDnhiqBCR>ao okìJݺ! ]vh(֙![c!s(# l@^bZP*P#֨L| E33!(E3s3ǑUy:a:C]hl`^tkt(nCFȊd34 pG=^~gt4;v<&b@&=rLD#I'V!21Gtћ2M ݰ}:i OK'O?џ}̠vW;iCc68>5=4#D"A+{^{Uh~ '_3Oߛz/7ohN#RE9m&cg@HL `B҉?8.U G5M|6(r; fM5M@cK;(0}77#ԆLb^<\VF8RQ#kpI3\P& M/@V_X Ch;u`:LNtumR -v$T9eNֽJEB@QsstJ9a<7tk,fۋ 9E%{{Y$cԑiU!U&>^,7lתC}w Z=<{o~/ ٸ俸T5LBeia\!lisI jja+9b'5dU=Ok5gA.֭˨ljF'˴̊X_oy< {ګu_ڡo}NO$q]F=N:ҟ2uH' ڨ֜W}ݾFY}?w`0SV[W $;nfG>ƃ+BC0$.w9d6FK푝 [MdSnjF!Pk_XyqW]Iӽ4DI JLrs͐Q0^R> }@mP.a86Vdop $5Q˰shB bJ#bE; S \eu.#&oiL3nrvY C 49<:bZ#4AF>]lDgƟ7GEafXMo- ATFnʼ o,!yql]4-T)0 PSP,31+f-s~R5s5 1}!LDO*F H OO69p `jkyJAɔ\S)vſ~,emiNb@ {`W_\KC9zAZSFPo FZ"_[(pi.~O .D";_[_G|/2: ۊѨg_Z5U6ٓB4wU~l 13s =ɮuB-Nځf8A&<Y̥5Jjd+M/ ߥ0[R8Y9jR+Щs؅F;÷v Z}ٸTeՅsYnwImNhѡEzݲ 60AAσ8e}G~]ː q[DB+X5i6Bà%\&M[qÜ q<4@><ͣ&~ľpb3LQR[ &>tAPVMGoj,,w쇖i-dJ/ip$Ox9Ζeqj`E9!74B| vhQ$@^llGAI+6^`l&E:nQz6V8vƅ1VZ1f߮m|"#瞝.? MNtL(XAZȇ ;8mx5)|ddX[++4c0jT\ Haƀf$9m ( #72yԀ,,$*B\Qk2u}̀=D6+4Mfu0Mfᆔy2iivxfʢwI-N)v=}wH9kO !]E0$([+ 4nYnz~h׀#XޖwE_LLW^=Բ STDL{Fcv1*>upGD9Ae3wY*Vb!d܆^~CCZe@peu므 }qJSL$( aА ƶq_PL%κ@hȌF2"a3nz~IS6u6fNV6H<(;m#g'f=Uu8E : ^ѡ{~\H3ڜa1ÑEr:~Ͷf8"Si)"9hͧ Da!Ǟnx=_W{4#,>'3^?Wǡ\}ISRb9+ _|VaoGj1ɷN']Muxd uSg(F]F0 RӭE*m<(,G_O2zZē.˿fz4AL\*{E=% M˂T.? d9͙vL.U!AM+K,⿲44 <δY/~Psy^o I$nI8a=>/0|j]11쭸Yx+sf*jq)@ h˷u"`hs P @vAXg!3$5D.Es vUAR4!28(x~F%T+@5ȀKUCMcρ+LH7nc" AxLJ/y~>gZV`[N$!}eLqմaIvfyb79z>}ū֧ΘS4lN95~F&Y)JzT-{dw?4']~NoxH+Uef>ǵM.D9jT=wήߦMF؏}n wHʣF=eL,./iB!*X_{(KwSSu*꜓Z9"@`3=3c/ﲙYc1kl&"0BIHBRu:wWwO3H==j+z~x5Up_妁NijZkA-aSrU% C:vZkx@*zqK~aa3} r\4;mKv|m*+V [V"SE&bquΟU3h *\5>G1p4jwFBˎҰh@toʯosw`")$?/v찧$!CV18^eWe8'&$!}.2nzv-M,})`Vy0NJ!xvo?xă D/FC3ÎuO0bvl %E"gAzDZт dR-?@ 8aV'Yډ^ȄS_ xLv>Ț&-|J&if؃m5/J,ǬͽtbE;C_wA]i8 VjN9IxpcO^H9Ɍ&#<7A Wd)(A]D{_i@>ϑ'`)M(TԨNsh}_IPKڄzoB6N=DL!,H/`(>7<$(hF9 `-. wiTSdSO,WgrvqZ{ ȗ{EnGuxwIִ 6d_ɚdb~GıZUFu Gu4a}7Hr Hl.()~/=p+9MNzoJf2S@ը%Ynx^΃0;6z2p_!ukHS_Ż>׼8tJ'ywԸ^ sJȹxw`Hdgr2d~!{mPSih;ԉ4 ďZSA l ѮN .&H9$ Su^4D]^``OAŴ AaEƚL B'En^Lo Y H@6f]|*ÊƸ .I?DE9x +6V=%fAFa~$oAm^X 8{ճsB\e}ѰNXD% W1 gahp :Oo5"2;,(bs`z lĄtjO%NZ/7oj H܇&P+ruLc7:tQFjw=K:u^XzfNZzekNOɳG/ApKzv:( И ofT=s$N`Q+O~ΑqPdn 'д&&w-L}TKo̊6(K@3|e %jȽN`:VjrH_>FiE½r,y&-}^~ 9C/>57.v%bj7AS,z # gpa;n}D;I ,Z~vN`yf[znW W܄|czL'm0MjG!s@&+atѠl7#daϻjxث 踫M4Z!HֶqUX.XISc7@#>3!CN#%sP4`qX?uO2uٝy`cewAѣ k!KuO֨kSrX>95EsX$ X%(geIm"{qi%ѭN$ކ_tȡ] oAÚ66fk[ɓljnk Cd/ q%xlX%,wU4?'֘k#d=,8)@@jjÉnE]-$U"Nن)4Ic²ia5i1`Z̦y^#C -ZU`v G毄t1. I k㽟s4x41/Q\&J.:$+o~Q ~[h(m !S&ᒤ+y 4z_g&1MG^zqmw7/W6 +L! o*ceӓ80gqe|ID=o/؈PdF9z3a2lj5LT"R[hF됃fZ 3xhdHwdQ)T7x;5O0`/-[حF1B!U=) hVbw"ftd|6[Z_1*\5?mc<[#[?lNo<5c@u&jk·ʃ^gL@JL_]o-[el9hL ӟr <> y89::I|h)ql|?m)p2 cOWROπyν@]IQ>6;.^_VI@Kg9裱s˱s*6#?B"jZbLjXV-Ҩl, p 8 `S_XYL?wy4iap3e"?LKJ^2YtO3*D]lKr~iӔ(@+,~ɻ PcՑZZygU䥓}r) OQ/˝JqsW09o4(@lB237p7c) RlJ-T L~α6/H*Gf@ ه'0Q|4r(*q"qL,}Io]\o&++p.NL%2l4UE( Y\_3y׍tONFfː) ?(l kl9C7y~Ä,q\\vWyOSe8n9p?fFBazY;d=m㾢SLf9sNt8Id3"󣕀YRYs`O7.fq'𦟀B Y`"2 =Kr}/GwX.,jF<2r 0ׁVqX[G)- g( ۜI7l!@pb gb:<)1[ЃiFedYj|9 W_+; q =kWa~@/dHs@>LT7Bw,fP!ǯҜh4!MgwDNEwqKH5&X`sN]ed TB[L2ܼsf&>_#}o6KByI}fǪOc=nZp{F)p> a9Ku9sfoVW}›bb7wЉoU/p~*GKyZ|e<4!I~`-IN ~ vMF  :@ 2 +˫\k{&m R! v0j \]k 1b&p0u,VG֒^bg?o}U7O9P7+H{pB}Vylpf {kLZI9R˲)ri-+i HOb'BTfo]ʎǑb1Y40~:QhUZ6!!cЍ׼V-$EgSwAgA/cf29i쏷߂L*fڌ T}f|{K'&߽(Va)pMSt3hYa뱄' x^^s>Sb>) x?YIT [4_)Bln2xr`t _B@`A"!) _]_;Z(XcepPP)0Hgoh)#MSxA\RVzVV/Ax 5d{v2(')E7dٕxoǺ#mjQͼY"Qa$ef8 p_M&J|aY&Q+R@HEy7<+bC`EZy |ΧKb '>kbkoJ>Їo=@noń}q5q3 ta {(  ~B~ eD^?ggBAu%o[9F(#r ,_v;b/m73A]_F7OGv/ia(/@$/^N&U1pʃEfz 6)A-ƞ]$ €wB b`wd@% iQ P)\9-֬K`)jno'ԧU 3.q' 9l8`PuX5 POd r\K;Ѽ"is"'Ek#U<׀JﻃF(΢xX/MW7Jᨩ E8"kʹP4;$};.6'Icu]ݘUMXD&(`Lw@cE fؽyS:[f;/HRKsSB" OdaP]1&oۛ4uu5' >@AeLZFpixljƞ8lyt8Q|9\0`b"s 63LLQK,)֐ly_(8+k3e >2F}*Ah$݅ rC% a4`BZg;A˨1(kއmidfhm$A}R0Ի#bt!AXgXmH,#m\\s!QziO۲t0ǔYC(.4IdjdQ@cu]!D ʓr4ȇtNciFKͮˋ/bh7;} L5\ӸgK AS7 N( kL$&$2F*6HNp_>tD<}u4Cv.`B5.5 ԍNVڿSDw#tB;O1țW˙Y,{$M22~ EaE) Q~& pt"u~FtQq)C2Twg I؊b#.ĥ /  +VA>a9c^勨,|FFDC#(/ VaMMfp=jou~q߸~κz "T?ofDTV~;;Wτ -퉯=sme wava:9$G/{i*|)c0 *3= :E:o\p,teSk<:dJdzH=ģ}ei3qv6&D3'c[d?ѧ䱯}=nu"gaJJ$؉ HE W~)yŠ$JY SyTb(LX"3$E.HDQӤ=E(0ム+UAi\` av)#ǵ6h(XZOhaqV/Ξ7).V0kx/(Et C`;|uF" r1 ou-0@p"NMK 踫"5Ț3-db!X$bT 5GCdk|E4x ,~C4ref ve S .d^䐪=i¶n13&0A7jЀO!ecĊb]} @Iɜm,0*܈26&F&gFX ,oݦ*U*.tM)$ey&PLޏ [2tf-QȷY IYiLvvj5>mƮ(fbS0eiԞՅ`:wQ t_`;82]{iN|;f_>}~ Ü㲮aN@v97E D&Ƅ4ohORfxSN5 Ex=x-i=Zޅ0$^ {x.IJ0<'dz1^3cֈfعh0IYB(Ӕ2>AO87ULh%>N ِ k kP #c,wuQD3'I|[?)$G-ࢩ֊)[,N{k(KkHis(uRLKd,4$Ӿ2k O[k:ãs &~}rbG-]S(xdv_νRLvu ejiU\;Ca"䒺ʵc hjP$Xy'…=|RfqP h㾶xS '=fN:M@1 Ө3U[gLymc|Rb_wښ:<͆X3Юܛn}\<7 &kn6\斎`r }a|GiLiRD3#݃W< +]0=2J$|Ag"]Z,[_\rk)1@3a+(:(SITCh-vFEnLkS_z/7nG~m\ \''@I:g-:.[PIGRc3^&2aO8[Mo&X,{nWַǑ̑l'<<$%\4`=2^cglDԹl<&t!;kh z\vҊڎ @',{vMTfJOqd:1ӳh5} 󙽲C <ÚBE_kQ{ gF#9Xf&"Up5Js%~r:dl~9 #[rGEHya绱@Kog%f¼~if1!:%寅KL~m!l 8k}@S&=nSqȊ$ [\nȽ$` \|zAvn zDړ^R{P 3EC;U)#PM{vuɒɏ;6 } tF'ʆ{i&7G{? X 0s"=Wg' ɲGpl%Gfՙ9S%H\\!|S2$1MA y+"ϬJ\4Nm.NDLQ!mZj, XQzva6g޼P=deIQ\MYt2AXgaQ9_<L{߮RK 5x;F+rP bqML"|n9iFQ Z YSCaK5 Q0%;X)ʎR]JLdfYo/ 8Z`X<1aI6FCae^2ϴX.C3{@Us//bj#/I?mPWV4{A`uZ8#/iy!A Z &(;Ek`/sm5kGP'GQ0S3,r oa+I֌g?-Xm]<*ߓPw=q+~kKl):p܌tvJ3y o J <%i a6}p/9pC+^ S@68􊸘t xl31`/+a&^(`$E^Fc]9m4^ ?hQ:yQpS4KIθ+]Ygy'fgS_KgdmofŃ'+ر.B0%a^!=`Uf'lf 8% s9a};Ʃ[^xJI2$nc/@3e %3};F~ v>zֈ͠y\qq{:{zʳx_'iLI(u&eڗ[Za^-T/R!s–Nr1  Ziجi& l59;#3w[o6ih<}7` V$Ķpz} z`_ӛ+dE Y5g0U kUY9f0h6>(F"`#X)ؤB21k/Il'}4ֵmfvv$5'U zY&w;hJ+@:kÂoU:|/{)Zt%PGϾ8pD v4~u'5YeG5sr) ڷKp0$nВ& a$P㵇vN6JoCxP(:{obc,^JzPv"9!Z_hUIӣBSeBԯW`+E=4iPݰN0 kV΀4HUZuy+ta#r۹iY74ɉ9C{ȕU [VKϞdm{e^å3rFH\; ÅPդ2gI5JU3j)TYƸŘ4'=:/%!m,/!M 0w#>9D$͙KHȖq˙iV\i~rx+bE|qbVPdA ^4OK[7pv`uȗi/XnA]nAQcU!YU, U`44xM۱DVȧlǨ z%ih$MjLb4õZ) rm1)ukS BdV̸` y0bW t>Tam&kzqTeDesϯAq:/ |~~(hZq ҸAn]HsF>t+~*8[Y5AUlXLzI>G  ٧ d-ۍ87Y9?RA)FQ*p)R6 NZUi>~#+ws t}LT\g7M.P<FVp)9=%'ݮ΃ĥ1sI&2j)c4ldWgx9d;"=z-L+Ts _`N:J@J,dFC% %@ ))<=msKvt$[1ٲ )YdH1f_cпÀ["0#ps`# `ݺ0yFcV" a}>*ޚ{{ aPB4MrEL~ðhGV=(CFN$)4d^d#)T瓒 NV2A 9^S GFdtZ)`?B lI׊\ ;h|A`tUU*`켄<E44"ΒðFAYv+oD<.0h:#&X4~Aq & [ZCU4HTSyy J-fm90qV[I#-ݚU ms:21g mjuBO d,4 #̤ v;`_ݹs9 B*wop^bk3L])Q4\멟H@fsQF30&CTZ'¥I4ꗏ!d\]}k_\3V aT L"4+@j(3 OAk4t5[VUa_H X9kl]Cl0ȃ\e>_@ v Y"v[_},dj0AUv9ІoTqulf/Uewor.JZ׮G DE|tub֎NXŜHٜ)%&ɭmׂ-`:c]])_#/Qܞ@ sԂQ 33 '9ك].;y ͅޗ=8ER(5 +*M\U6 >mxyU5>rfLIs^c33dNMTC(,p7!d:V :a~D|+4 >} _~VI]~KQ}p-u4ǚG UDf5Tӡd&LH qdV?=\+74Jch)* ?w]k1+E04~Z/>b!?KĹvb>4!v㷟=kLʰW]U {6S9!Pa2|>Oe~&},r,+i({s6qFeο-h”#01|ڰNmn #jqo\*z)&R~`@Z`c L JpÌfF"[c?!ҰH &ҲsE5OE "e.or&e ##BW@¦"EĕqcO_e"HB  2ҼM=0q^%mp`a3I??Eն9Kd޷/W=Y]8P4=>'r- ;v%&t{=kRJd5ΊDE02ى<} ,ȇ:0Qc=)2_]s\C`!9$~Drjx I2e(TLީr-ku3 צF"^N5glL05B`E^85ыpURelGNbs&GrޭDOqҸ>}6Y09 PJMqipߦ!>KXL7]?wEٷuА#j))竌iDQAՅ60Ljk>Lr!`-k3XPŹfeW_|LNJ&4_^or=w#ֵIcㆤGcĨ{'ŘjOa8gD6fy-KCx_?B_x(X.& `:7(ò G،L/~/peȭsf޳:4xHDh$D4FY^*g8)l%`͓[cx3k+i&U;d3[ck|K4uO@/lͣǔL#LmB80b֊RV^7CoY7Bf@F4on>zR':TZQgB57Fƭ$(;]|o64(AB +[Xog+Rf;}-| naW\$%kU):q5G᠈n"T%H;|60uc3~CsbȟݷS_p$Ln >2;u!N k-dĺne+φY u A&.A$jwJP+j6MՃ y'Gd _@ uOrI,Sig9_l?@F4owG_Μ8!.;jkp (09&O )pȃ;86\ eRx YЕ0b()[d6aPwpvG _H՝0S'z!hdd/^pO4C^LBÈE=[}eO0{eAoVXYoDeL=r~+<HA IDAT4u H@]GsIDV &)R&.\L,ChULVk#^tf6 u5M?1hzvoly o`2}-1S> R}pP3)Zu@ј?rV/SCvvHEU$ᄄ&6<}TG9ɏю4wd T(kE p/W{œS S>S#t36@ڏ>VljɺG'f kO4P YWƮ":[b c aK¾=O3⋲Zer2)mn/nJ!] Z5-*A x#iQr\Ii!r$ƹ9`C3[ "QϽvְm5{iN@ ]W/vƒ,nτgY#r AlKҀSfDֶ~0%\q;@Ba$|Hl 5tyd CY4gB&|f /EZ٭?%$|d\3B<"^8Z 7hhuqmS/pcs~35;,VNtw`ރ_9EePJkam4>K^ ?.4~HVhƼ\S:K,nEVAtz㸓o!bQ";@:il|4G|r 49}#;;ɓO|W 4C{&{z7LjӠ{< K){uã':05 UG~qsuUo[FV,xD6:d_d.*`q!;c9PZV _țG?$wsask ^[g2nmgdnfWYR82qˣ/w [AeYiFOF}lJ& %7pHexH6X-(l:$D?9%E^թC+YS ^S"=}En!Lb̹x Zyㆧ2V^'^R? :MQ7RGl4Ǻ/ _rFj/kE/ӑo|]Fk6N'{h2NY ZxHl:ՙv4CJ/T)&?quǪIpq5wQ@uWl-=Ecnw=,TdUz*]Ln|yɇSd-_HhbZ<īE^H|rʥ4 >^BO+߿srO(P6H?aTWy*9(C蚽@535rӸ(._ {pw}(6.#GwnRR$ wh] ڥfP@(Osa*z2֮[YCVIJ[~\kZp1<| u?/S~Bg.=o|;1kx1dUNUfFG y9^]~GB7JsVJ;$G,1EsYyl)^ΪƊ͎ *XZ)aADtgLvui'.K2swc"tͳ{[˜mo#E8܊, r7͋sGJ<)5BjWT%Ǫdž</rRFhVPqֈ``&YUtHE$5f1S3/fj0k`Y9SSʬ[C̵zIů/@~Ck6N:9UTz%w3Vؕfh_2hڟTΤ O-huR}`<0z>FH7s&`&vy beb:am"h\Ce|-Y\5iQ7ʻ-07mGUt.?ymYp6:KDz_Gc0$. ߔ/%"k95 {MF2 E\&, +߮~^PxfC\cIXD楥#@Z |ıh 1i{(BeD9ef08?+'<;|Mɉ*}aPFCf"|+ȁf"2NwRt7Ȍ",nbzy49.ƪC8)('3rsrǗ_+pbnos3!v5Y\$#?tUx&| a%}+Aj @r~~mz"T"[78%|Տ^m0.H4 33҄INw\ j|9$!;Z)A~ ;Nڦ })>gPK\Q' t*>͸/z׭r{8YrJ/ȎfOO#2:"QP p)J!.0~`rAC'tr7?dW oV5VQf\r8f5dRr, |6к{s_6뤤l̷ (Re`"d75µa1$jI@}dJk'5w03W߆_5ߺ03jl֬:}ބgRRFz}2'6ܫ-w\X^hoX$e-{edrELȵ꘡ P@3u˴ 'e'mrʑ aqbyAoHӹ#DO/O*&XO韝vyr.O,*E wte߁]hBS&5u*qv UWS3WƒA`Ii1];K{GP(Tn Lx+5"fO\ 3},.=.eo^~\}LVVWjNxͱO@-Em{l&S4憺Jm~n#1㖯 8K.~ q6LY#6'?@E:kelb  Cvʅ+pCHf:cI80!Z;4Q=Phb.(5+ȅ 3+-Lh2׳L*CGXjJ]3p1^@i,_PeGf7.kXA7&3߿f)z%OF$)S࡜X%pA+4x S^)$XgP;erFhfFZ)yYykh-xs [꩷q1'p}LwH%<('_>8V#– VBCe ˖[>"GͬHv;ol[wG7Y>r-]{FH]pK[+AKF4T\{۲L: rYUU|L;v@6[y'^a͚U=r\<[G8J% 蔬}s oggF@gS Q Wu 5e,ո82_iĊBi0EP<5WY>ؓUEgw` FC IMf$ ne9l&Yv$'rm.x gEȬ@ dGȘ8mjk)&w>Ɗ(^dyYTKjC : rVhk@<#kGSoM4~kB& 7?ym@~U_'{ܩsӯʧ>ru:r&i4547S z&VQ).}6*<ٳ3M)fP &fS 97P]6~F&^C?gXD䟿O[.B鑅i`v$pϓk2 V>o/0A@X2Pmc2_qغwb"r=f_}NuΙs̮H+VdrƸR 7]ronB S.$!@ġ ca#jڢіK=DaDg\vw>{~ef#!t_g@Mг/_~&vsŹ!]O.ǥ+aËu01=vM>CVGoBI1dv}&NoMI+8w> 89,Hx焣|"4>EV;ey4r0)κ xX7˃r^>?E|Cr,y[940AÄc$N Do&b[<.MM ;tXy*&IÈM`E'LRHd3N\qh8P뭲b'G& P8W!HHקI M\Yk1ZGO`(ȈtW*Ugm~\>пL/=>GGa.)&}`E~qMĿ?! ZpNlQ/Z1\Tvpâ$'}YD4s[-)*ɎۚaTcTJ\V_o+myg} 5)򘺏t@V*Zسqe6卧F?C9ƽ. 9n&#*{;Yy,'&,C7!Nq1 7nJ?H*^@Z'7S\f\/A_"sLYy''3>&oޢ"Iuno,"94[bV>Ŋba$xlm|. y;Z:mIɶNY|&_J1FMf]g`o˙Wɔ2wlH_Ea%(IᶱJHR(lQXdC܅ӧ-z%/3I|*[AoߓoxhiPػw!0OGCȱw|äva+T yGL]7nپNX > .>S<7ȳ_EȄu!v:{}9 |QWD~0 ?R%}(NPD'wӶ>,//>w>j@uKqr m|&EU ?}9YYe~gWcޓww z+G;{GVqc!]`&ZzFS#:c8Mf|^#;s}j`0_/om]G_<_ȯ7?>VQ{Oīfq֖5صEUH.2dr&f ^O Q*@GeN>!@JNp\)dʮҰP=`}!)9#Tmߏ,ځLrP]9 G=D[Eޑ'/:܂_ ]w$W`6`­ CoqXRأkݣŋ9;vnƬ;%'R؃d׮ S~4Ez2vҫimY-L.ǵK$d`MB%C@4=wN7n:$V9u@uO=#N<7ʥJ[eI,lЇ=g/[KOJx/D < .@M*MK IS$4 N&B(&.t6̉r? ib}~ޚodu}ävRF?a%4k{ vlw y"zd߂}'_soq&;+'R^# 9U{Xp\ՈpFhLq|oȞwJ•wQM>yym Fn{ ga)01ے 1YߺDx˾1R^D6f;x'~Mu1S+H AxW;H^(> XjP@=hD:y\jkD'K+$w4 \TW @Sgc'؜9JrbxL0>`q{=$/?Yy;By9.3:,1ajqk;AK#@zlS4fS0iA2F5=߹.T;LfLx$!uBA^6 |Ͻ8ޏ䩻1ِcL?cʏ)|x*͓&dq SupCp}$3&Ż4 I96'0y:DP8#cslS*FGn,ZEsYĒ \b]”jҎl=~ba_B9_ Md ,b/S¢W &J ŽfB !fh<5;~ ߏ?}~yݘu/'[G`ĺ/N(c82ME]YYkgOZ)1!Liv"pJBo_*CEW;^^Aң vRi-03,5qXv)ZaG IDATvj:{X~HqR_^]ô;IfmҴfd{*'5̝I$(ь=Ԝ} {DŽ0Ł:D)]\X*RtHajq P\kȫJ/Μu91Ǯ׼l堟 ihvG}ujC`P!EQz$ |N /#IqbI>]#+,KMC jlHVlP<^u@-1<\Nih*LL2ga]XW<߇/ߡ<~yd3|&-RI>UY!W3.HJ*knG(58Uz)xylT4/a~/&Hkm1w/_<)L6܇”G.y$AyV Ii[I؜Nth3@j]ʞLHv6@*cbVqPFaUx*ߎ.:)eҗN:S`DM9ƞ[ hN@Ի{dP{4L}=PͿFM> 9ͫY`vSx w.V n&pAуu~ulqQWaU-ژiUWX=D!Eé7r౏iݬ4BwvyWU_VO5\' J@}~ڭXDL˴8nb!w-F5/H%z0i{k`K4^^39OŽ,"Hט1idfna}thk T}y8?j4 mmuCԈ҇Oe,xAὬBn`7aV^w4 !y, eQTe}'&&e~kTڠh£5S=·fTjH::a}A]||n?25]09[ƚA]oYWg8#/D]<>#0:%^INV }yz 6a[eɣtt`i3eh»5&~Q`M>Źp/~B>T3m u52Ö7\yF% ^=2PaE݆R8![y& rf8h-<+p0:TL_|X5$e`tMasQ<}p T۝B!}sUr)LsQ|Re vmsAט^ŝ}K̇P؀}Ut}t"} wf׾@:%)\(rsظE!ui~(ZS'T?fi6MYWa+!^ׂaEjaI3mFefLr*Rv- 1|33N$0E7m]Q67Ʉ ӥ]zYyKY+z7; ̃Se 6z[jsgpQwDI}O+ClzlUh4 {xu.j"6&L zO1龟֬Ri{ds Ej) QsU&H8=DB iSorzV{<CvJ%K5 @0A&'b9󓼟 q,ajrs=l#?^j7׍K@'5|&fŃViY`؃='9Oin^i[u!1n[4=,4Ip>k- sdE/mHRh{?t/SOc9J4(L\7?{Q10O ]k00һ.'L)(@׿؊Rؑw\3ⵐA'"ϧn+FMHip'h8qUOAvW;p`^e:yV#tl=RFeb k'^;UST_8SGzguSؘN~{)oT>I^E`a`y%PW-h6L+A~ 8=.Z46׿|7*P'U "MR:ϮYlC+iV o$8?ϊeUsfY%\27@8V wo#1_V(L|:zMeY7i40I*_}5 tAܜ )KS>drdŕ^-7-e{2C9xy`Xe=$r0Qq/́b`&TKWr|pJi[~KNf}*8M }ݾB?fݿu C IcF0fs7Hƅ Xifz ncNrHpRAR\А^Qw4rn+:Z+ "\0HX& u5BL&=κPf|VaRيWeԵ&dYCy~v!p!ncL1)0l%]X1(00ԝQg\huNz(TU8em'FBѮ9>^炙|ky]Vxc'lM5TFIͅn]~ i .:Sy#6mѭ1=Bn ;yF[*|Nd`l=ZIrӸt5]yngՠ x4VijC4<:sRhӁulx^r!|CpPmnVašjzIxX xAh5] d1meO ]3y~à8'qߣImRix-Ur*[ÒJhڤyNdp=v~pyJP PFp;{ˬOs.)v }ѩ{9N4U9pPΫ 94$yQϯr^‰d@z+pC*}A'dj5m#'/3% 83# y/n]/h|^~GjN^ReD9tˎd;\t4!UM͐:!2Y95Fյ j@!<\m kѠxXj839 b_Eg2{k׽,Ej[&=w0EW g<~ 5X<,4 FӢ )wx ӑ:>Q`pI\Ex=aN{CK72|ygݢqsGhPK`:E%4zpN z&u}e:vCHkNV/n3"kO}zh ẖFT"Un=OwASn8ӾFV؟*<Yf3jӕ8g`ܑ=>ųl4YAp~9Y": ۓ*Z(6T>@Mq?qCJc셁c)B43d.A+/O񧐕x7e`h%BZ _M$=v!h\w'L}>k) :|cp y0 #IT\58~r(I;EFx1VE Mjhi^YbGXv.QC4^9燧Йw gPݲtxLcp\l?XY'E~1F`jʪАPtԨRM~1ne eBS63n_\Ưd|^G<T8tQ,LM GD3=:ڠ!8WjAkIR,}2 9=ӕ2]_(zF(򕤥c5BneF(>  z&L4^qbJ⤑5-dLzX6wu_NG8:9zu@"khxi (&mgHvV]t5ldGKlk7>ME hOos 'RNhB4$0󕡯;ukS=]w`~}M>VDөj'X 3MSp4XZ@{1bkkNIvnɎ[ qavA>Aϥv@Cv'8)S34% (mbNڧKqHxWկ^? J)ǁu@?=A^F$h*kS۬W:(q~=[iаsc3o= Jx}EtK`&rcV&~ʂlyXF_!z_k3; HT2& ukbUu (h<C(ޞ_ )><*vHۂ; jxQ4'AԦ0Aq{Q!N%;4BXGdV !`ې"!75 ݫ2 AcMM4Fx~:!oM9{osB0nה1 O>'$N㱆+í; D"悭VF;Lv.,?W)]!2?Zyݩ#Y$`LEɻL]&Mi7E 9ЏjZ;U-_ݡX|%Mz3P"[vvIozVl >C4")eEA& ;[$7l3FwAjk$J?0cѬGtL Y R =s5'H%VT{^ˊ7Hyo-Ώ {f*?4UFƎEvXt"[! _eWtrbjag;>:ݨ Trq<%h Ґ>|=QȄĩ"$r hmYgѨPM7%㶘QNGƻ ]998Ec0pHX j"\F)kOeZo[1ĉ;'FJSX~#`{T44h=Ќ> ˬY8U $b&\p>ʎ@W$ۜ?=oi~\GpFiF\@2pXeؾmh Zj=}8u E&`6nn4&rA65;yLb $:w>h&MLs:!/H .Z#C{L^}P%!Jix7h+Wم@Q8/u楈>?_u~g1PNzF-0V VXlB֡6.L7f}B8̈́cLu:CAfJƔq^K>x7ٝF0P8uf K/jA ,n՜~iM E88f,rPmh䷕|Dž}O퐕QIdR VC58TB-4 &)̚rM5B||Fw|gЭI_KL9jxL#%t]`mJ՜3s$Kvc![,mGMֺyCLL%=WCs9qJg[iSZZ8>y@{6A B%pEIPCxȻ0ȧ4 Q4$2 ihPeIjꣿY . MWU>}票u8.&]VPŃ HVNðkӝ8`k{y`b@Ą(f o%ϵҢx)A&v;ӬHY`#,ϢaL=2Q)9(^%PpۧA,MV8shqc|$ _BJ$:E r.>2J.@*^+A "ۆ}|My9rɩ]@|xO>Ή5"saFo"! IDAT͊L Av߹**ʓ?>;kx uCtjA+sQtUqʬ|4a~ 6huQl;rM? 0Z$$ZnXMA`A ¹Sbi$*@m^ne] }/u up?wtLO75 BBՍ:^7Kג3 y(ΐGu!}e!.'D:Pkb]AZB_-G/H9`E>]$SRnR2?d7pfrbNr9.GcRҥߓȩ^GwG"f73!ЩLKҌͪ]tݯ?>YE[]3߽` 䯨-g޲/|X̢S´o}SLo 4;a>8Pq ] BP""P!8>0-)^%4[+{E]Lov?@yeag _rpƈj4p}Mv4m3'syn͡勲MfۖY /H"X%'qli7qAYr-@T>'ǣCc%F1ܧQ_P}4AJYD HyȎĐ>}zk 8@+b> RxlJL`a)gI# @h>΋(Rm>s`7I#D#Ʈ];| O0C, C>_ г0fHe{E㭦@Kp/H4=Ӭh!aKF{*!]rhayU?/no6>#w#]}ƅ`GOe^iǢԁmEͥ ; <~UZ\dc2 r6'dD œ^<ҠbX=F.H4&>DﵿO`MEZ2Հץx LR8h6Q$kj`"4?{yKfMG?bXj,z[LkLb0{0){ ހ9űz0 hЉPYoau\flI&_<!uQ]_gd2-Qe.Nl Tp00h+`p"$ pDe  ow%£(Xd:,` l{ڗivj7 a.&gzU"idlIȞy ؟9 F?ZNCS`aQ8ڧ&_'N-4r6,pm߽,̤I::I@\S pr:>5Y NSV]/GizS25<]~yj DQBw1K fcMI _]zxo rFT4b (NR iܶΰS~j)i`Mf(qrNdVp,( _s#?&+ʌf/{!duU(N%t:}v5WTY.\TܚBC Նml<VSFeBZ'c>S|nZcbBI:w%>n4>fܡ09)6(7ӝts jMQvfjQdon`<Ǵ?<_#V:Y_G!<@ލHbh#;9$:{^{gV8t+1hRor&Pdꗧ[@u0־x=4wUD&'N/2603#"1}I@+bO@+l2M)L8tFmѸFd@6oRHI\A#X^0pX8\0i fePu(r;uFNF0Gnvp[&_ Hژ%hDz R-^i|Wٝƫ&{J ]&QAuU!/Ál_Ib !X'yRAcqf6gM7x$REiZh@9օLqHN5Ӎj]51>EG~LnvUBPpJ; q4%݋K@b/f;kLZ72 : ِ iH~z<9T7tD1Jy; Rq+\`W/=)ϥ:ecv0&^9 쇭1g2nqb?5GsmoM5G,눕o[69&q\x0@'fedyv]986&Ucx- Tt}4I晑(޷(A5;y8H)u2 }C*5<~V8W7ol4M aG5 AFQn_p3phRTkR903D %vj4w:rX4pĂ# <( <A2L NQ!wрץu ekuW 68r}9\W降 h }ݾB?f]A}F^oBzsفJŽBLxjdY~'q_?&`_kJ4;wB|WarQ˒ دP yT#(B;`2?`*q:'uEDjSYF'ӰQF\ɥ7zQaFfnZ3s7>QO~Z] &lQnP!n0>`OH2)CgT8Ѹl o|E>r-BV5琒A*CpJBNdRjj|_9^g5ri -iD%\KoH㕴.IH$8Q+Д`-)Goؿ>iv~",_w0Fi.W3JGh8(P7~f3h|mzƐi>0 3 qq}mFM#5#dhLK1?1i%1Q3;r9ɏzE KV| kfNE 3j{;5WQ,cwAP<i/.$n*tWܯ؛f,ZN8+}'i^fU6g$HBҔ@"䱿x&MnuDzt,#]_W]>G`|#`1ySAg:!P]2)B_I"ka"頞ޓCr)n>mugo DživmyM&(nQ\%|տx驝P+6Epw< J';Ւ/Ʉ|uF,fsFou8YQVAj-GEaѾ\'l3PhGS@%n Z1d7оIRO"fX][)s=}|75zz69S.@G5@% #!d, pCxϯccEο9 \&v+׎#U=?a _SuZȇېD0D)?q,R2-'Mzh[ G5Jѝ*ӄ`ePpkf$@X_]g_wwH4_'OdNix]+L^|yİ_@YǏ!BІpբB diks qW(=RxOAEbnV՗h*G?m쀣MeBt uAv/Y1 9A 54|%&'B{TPYYD+Ix.2ЦL!$яeca9EJEbGc5RtQ.#uP߅2||r^6qC 'Cib L h󫛒<~'M!{v!|1y@e5C$4E\]1ytMw+ h| }33X%k<NLNlAb {o^T|VE>>~UF8ݜS3܆1kcCPmTQAc Į2!k5tqOփ 7aL~X$l y w"=J^KkDJቫA'铘Uk>~,x/=KWHm^04*S'ٻcM[cVBp1c^*1Mr/{MSEKH|$[s)$R17InFƃ&|q X =$Zl{7)v]`;!`!U98n?6E!s0%ClןnH$BÅ [^M} n&P "r @TCI5(v5̋ؿ![Kc}blfrwq0V oew^.0F:7sŻ(n*! 9vLYݢt#.454S`?0TAMi粜Kk?HMoJgF'=l@|:h_r.|Ay0܃`ED_n9cK\mXYLO!$ Nc5=quK";E,62ns5z*y}P=vZ&P8RgIȚ^ i,3(^| oyܙJKlYD__@QƄSeHpta O׍|e4vA.n PZצ`cPvg ==l"kd8; dQIs>2#dE#LB@=fnx#hЏ嵸+>brdo ?-(}4SLvt6(hׂ~+"tnΠvh)_o7B,_M+Շ|{>uCbǓ(KrR^A>gMa[k.ՎKa[W +!-0Ŀ`!By8- ̑܇uUC%.4N͢8 ? {7% )P!V+Jz#U\x⋰iggI|#FaOf"˳R0wDv'$Q_3}\.S Wc7܉%xHzkZizb?DZXF NS(4˾Nl11¨GB,q)xgVwSِD-d( dA&+vR\uRSDLNqKvIcL] kSIʛk1 iI ofmMllo-?7[yhG?ZeAV7;x.ƻL H]>)#}5[~}Qm%pHh1)ǽ YMs'O~4|r|E C,)nzmyAL@)Ǧr3Seߞ<4R9@\VrXaW~ÜjxZ(C '#H6 %bY$$oB`d8N2w.9nqXɅ:Q4 0r?W<9v4cfL@EB!oY3T`UW ʩB$ VFCR?E OZH"$1H S 5l@ɀ!dC[vu&Q4c!ui 9%9x$ i]J{2DgHg(Gṕ$o F, u{8!uT, P(/<}9h >)0+%wG 8aF'.LVⶈK^ZbF"pGVoZ[ULjT,ֽ,^N-xj\{OZ'ts?DgNWiWF ΡIdIcvR335ktk5ki6phCupT~Mkp 1vj7MCcs=y.IDAT:WK?3ZCtV"EiMyܰSey3ryY>u>InIvǪDCS4q g ➷l8@,`UJR8b+ęD4miuO>z{CN/܂SN‰EI LN?dI1SWgn ?uEH)i>38׳M|XnU%v ؑc %dAm>k2vZ4.3iX#i"gsCԹ9ЛTe@$1NuH1;v/k8Ȳwً,BX-tdt>ϴ ~HG&rmj4p%HifM &%܆<OTm~SSo yڸߐn[j2D`(džqu }x:;~xqh]?@jœE`j'JhZogLX*ږk(>:j<هv @8`B;ثژzLi4DmN0yZN{&d*I\04(MH^=.lLO,H>^t7l1 sp3|~daktt56mFw< wPȁy#s$ϿoR\[=lZ 1׭U@Cppc!5eo@ڄ ^Ȁ.vV3B4q{󬾑)V[&mO{N=p4 (E܉~;cGΡ:DX{lG9s"Ŋ aљdÏoLBUMFp`?Wя 78YyQsY֟>omhmޘ1qS}vDAm,(:1v^LtQW-3f[Klzlwe/K_.'8 ;㗥;ژ̮9S JL9)ˎ. H,oyP*1(˕Ucf4gbhShțۚ0Y@<(?"Kwr_إge /ˮ! o)8@&WvdBmQXz9%擬wʜmA?iM$TgttE̟} :WSR:6oϹMoムؐ]x+<P 5 ҕ\.v&X g1lysP~ĺ9]1z ?/{}aOMFfcĸ@ Zcqf22Uzx۷Q/o'#@|@2fkGN |l0a| I&JT4sJw֙ ')@vMw l*XZ-&o1{1Q1{EiXƩS5erFk0߼⏴jq~J021#GtUe{f9k9+ @A͛7<} ӫv켵xSOE0*O d2vMs͒-2_>Wָ(ݯC0)@GKŀ^g>UIϋ{-8YۙҰ-v׮Qpυd‰0,{mֲj}\GZi#׫RO0ɮRcՏ70 3fj:jM蘢19 8(B_3brOkN&QLk63}V 5 BP=E\|Dӡu ~ P!nCSh_cW;z7$2%;2; {s#v}J^J 2bwN.^YY[]cEu#tmuUaWaca찅 lz4$ mC`$?9Moz,FR40}#{3L+p\o$ Xz>]rdH[HȔMVIPfo?"O`\xJP cf&(Lenc =c+=\1)9Da^;Zs m jT⦚e,bn]?'&[:og~)>˵[嬢mqLV#*G7O1WZE3Y{^s.skXH[ޟYQP% zm]g?^qDƥG!*FG95oC/m*^Ň)dr*{{Ln`;ZIy C$"Ryb~4 [+/SSܑ!+էF[}RKp 8 >&o uo/-X\Gs?Cg-q 萏Qݑ5l9bEY7)x/0l%Px76/ֶ.$wq hq:W[Dw%Sk0!sUnF671}:$.)yn)6;2(Lf&7h*T )%SkU`O4 Q|jIȩ~04]4;e! {$[{_3$? Y$H]ĪG&q,w"UJ   |ݾe~xQ5xkL. T< ^7'!Gw$Ȅis׀P70ᐼo֋Xz%Kpi=g۹p/&իa+H暰u ;yKrf*BhyzjyU~lƣLToc&GHۮ)#ot9o1acjylSGzϾGM>YPYq&4Vӡ6:yLBFao;W"+?.+X 2'|m}2fǟe* vY!ݢ v/ʓ#P68'Sp [J~`%P|LRjA'1>%1 1N4 4"aݯHsﰾMcE8\|uݝnʎݹRn|LHN v0q|ވaO.=B2րS> 8]aYI1Sb'/-@ݻ! yly p ~I°o6rڦU 7Ep za͎}bv(!O[b~ _D-ボ8'^IG}d'u?uDm&KF$%$_\CWNSƬ?~ـ-9+m|mǔ5`rbb*9F:%uJ6 zPgy[SU`e8VQ-in0ѴnwJrPʂPhh2) c(.^2jcE m1ץ ߼[m#uh9b߼`,OUs!9%}—eSHOqRoO0cJw p>yv}euL͎ɮȴvwI4ٕ\ ;|]u3ri^U$e=#!m|H Ddfz6~I"Y`j챫Εrs)XRߞؕ$k !Q6v.-DåaDrLJ ;k z ԉsܮ /4cu|I AqփgoBNFf IvX La!жHޫci'c?ϠfҰ@ڃ!gMSc@%7ru2a> "g6A"+g9-m:'tO3> ͦ<5sr'VD~;?))'q\CQ] Č1`2jкSLU m3 _OKgѸ`~cmD./B Ff/o:!M: 7Ze_?{B.l#xII|3Bm@ʢǀeo)G8*Q3yNX9s=7h5s[x͏y.C0%}ajw ! ympoZ\-WLO~ $=yj6y`d[y'PIasb@n I->aN|P`|uN8$!yS(+:hw@wOPW,Mecs 34[Vz5OraϿ.8:X`P}vO`ND"wPErGɛ/OϳGQ$ @$L&eˬbo g(L`_|HBY~<5]ÀFc4DvC8&A4nj]sV,޾] $tD&V[2aGڈ&1<(Ѯ_eQ$Jj?L3tK_y1kr̔  ڕ ^5Lz:W;D.+'gAVN&Uk]>na 1|M!_Џ#0>/ڡZL^$]bgᒱ5Udy.?7RwIHҐ#e& P OEWJ hO7}L?VGoYmߌVVqV:nZ 99SPGqmnU(_;(iҤ$mJcufʀ.u5"qF]+ A|md@*#ATTjai&Mȣi>vi}߽-INIosns^?D.ُ ߸f6m2flk]mszcj+L<7Blu2<"Rs~-͛?s[3猃YdoϐDxPΝo*/\( Qpz"1)JPmL^neD)ރ콟K%Y`{qhDVP𻉬+Ql_8:vd^Ck%syBH+/ذcVڢ B'bޯt9x}}0 QXǩe`wHB5IV/#{h8vPc48 <=j}Ա7pJc!z:"}fuό f25F=DT.ǘC.L# Vmk@\tP Yi J=sNTqE;{F] PIktVpT²d ڹ#Eb1U'AH'}dlBř&`ikk9 ̨?z H._Ξ/H[W=&uv6wV'!o#EmѮ ɗd 1&0A6l_R#d*YiMM8ȧ[uz^71 6&q/yFc^< nT.A#KW۞y׳v^79QL%ȼw7`:4>M{. usͺn?ܮ IoG ÑpgOSYNi$">E|y$?V>e?̂wRg&ĵ#I;"R>":wv&m׶DzC.WO$FJBD-Eޥ#9>#%|NwW,C&Acn3܇O;KL#PQ, sP#0| ^Wu*~5:}RWdzl ]B>@Q>9b0 SI 'G-I^\HJdޜ, ߑåF6ZFI轐~'~iGJ9&gsaח(dQ2e-S!+#)tnvN?>Ddr^A?a@$|}g( <7h B8qP?"xLMd_SW!p~[C#t_0k&mE@PEm("40jxsui"(zFG2ju7:tϛfs5Ms7B}eޔ4u|Y޿o[BW("Do֥*"4jouŊ"(MU3MPE@PCYUUW("X/x,\4IENDB`* h;hj_Vx|uL_6R;)nenuqȶhqwww](lE;ŭ8~={99d2'=יIDaySA^Z͛" ?  BIN <Ut7Y9$=TdޯRb 6I'"rqrv|#nmimEciG-7 ھ+~ C]uP7oq~b^h Zr1{hIKь߫1p:u:Y(?.'Y]%+ %tux^LG}NFD$֘^Otɛ?l '-!!ەzq<[wa69;3AX_.VTى?@  o  H+5/O'8a%ޏ/m^\nx4[p%Ѷm۞`b۶mؓd≭m6n?Twꪮs>;ZIA  IK`F ,R$8 ]r_x>@PNG  IHDR^d=3sRGB pHYs  tIME 3|D\ nxLct&QӮc۶m;@gc 7:K8c~-]~"aQOt<{Ib!(BBi. Vr(;#Tk"p0 @ů[k!hDMgSEڈ)]a$[6nR}2ˍ1 \3Z &EVPyJhYkRJaeR X]*),n}ܟlRw%DWTߣx@]; 3x`QDH;siN1BO\W.~ +[_w.lxſ޺ K0wxO,FG.ugu6Od<yUIhy%v_Y&ƅ4-Miq~m%%sbuSA\i^yUO % ;psG?@U .Ur{&tKM 4'L(R> ^V!WZl+b20ST J8@B9T5N &c >d(ǢP\譬2(Br\*29F@@cFHZ-aq4QLHH U4q#6XV5i "Pvit_to@i,F+'K'v=rJ>YEI+TTY]eH(6>i>Tv>;Sn@,P+_L,9 A0֌re!&wB z@-ZDҩ8&RHδ{@!X "9-;";ܻ=Y}rv}<[ ;g "D 8BZ(,~+j t|J7S'G|ß]ٺU)?.t+&K~?GhՊ)JcE6k[hĕ HBg/\<4%b}atZwWYQ i8^~qI,$[@rg s:6̝Š̋z_'6" Hk#SߊMK˝ÝI/!@%v\u.5C TBCR+/6 son?v: QJԿq\iREJX~ng!":Fd@(RH"slP 8£U0B+{ڭTwKHq53֬p k_hؽ${@G8;k n3PDD䔵ɹ0ax-oͻt[mx/b2|A%E$(W⤝g(2Zk%!(B.P TL!d4ZyfP(B* ~RgIlKV++ McrOXXRWB.E2A 9 8 7ZPyM@,g?__J'C?ӃS_އ?ȴpwOB(Skh eqǎt8OӜExscg<<[kkX) kz؀7uԞH*TcՑ/N9=*Z,S=5d -i#nE @ yjyY)8R!IZyY @Θ4 aUծ@w1"(D&HE=ueX췿8<]k+CE6V\Qdk2> 03( 5!* "FSXa/t3"KBYi"#Bh#mQUQ5FCx&³/y ?+4UD,&" v}hLRyx'k4wO&ɥ֥^"R_쮮@?*]-NAdMƏ<ÛJZ7Ej[ :eƹr*>P+ ~ k@SDJ?IڿE^H3:$&`A*K&@AF"߭Aas.) # CH(0+",PӠ uE$Vx’k PAXEaiITIA.w_7PwbvRGVcx4*x/Hm-+g/rR E0`Eg$(G\ǭ5 Y|VnEjT}uO<AHALԤXKɒ. (J&}}+ϯgEF:8B."B!T0 f{JnRWv@*} v )鮖EV'IIP'\Z`t1"\X"q{D@s=BcY, K[m Q H3(BQ ZKEA%Y$nyJ\kA"3@U dЊEj> V|39hWdk+|?~8aku|6Ng^ᄆriRn^[IhρILͨ};n]X\Nxy9J3R7/ )d5d դ|#YP9` 0'j#⒪*T'Wt,w[׶Kp@!*/eN :&*bF]Ś  `'+]]I&ZT}λ[j#ƭթ%ջke((bZ"|to/YVfG-yLL`[t4mR 1VJD,">xhW:u.2Fhk yDDD t\LՍFf7te#̳lMhjN5g$,ߟxFVxNT,4b.! C1&*!x߯cZTCsݥn>4 EG{JQgiE}*]3 cX{VDCG82V@i3_Gc#c[ |Ab((>0P9Uoyq*Ys&K0+y\Tk;x݆SAeU=W,SXyflۚRRkF#\lj-wmE/'V'g괻+̻ģ[]=iE6DZ)2,dɰWut~W~4n\ܼ0xggY ѤPiY&´4! 75zì bݗ @HPx6 `UA_5'i)3k4" )PW9/_JN\ ^8Tj $T{M@,(<8pIG QI9Y5 pAs&_D`Dy᭻__'CZdF#IڽN/iwȐ"ΡNq̾ZlfP+5sy;imH)"$ 6TZy\U kŖѳ &:1L@^zJD6.|'ssIӻ_'v5rU jBS(Ahbap.Q4/~z~Xs,уiFTWnOk$"(AVbA4*]ҷm+ҢRVkKJ!"  At""Ie犠\0V)V MDڱ}U'!xN'KDyv9 WHx% ( @DK ܄S{aۍ F;wǓ z;w*G?#vig9Oo+AڥK}i}dp$+W/|`;y绿_Z(\Yȧ߼YZJ'ڙ۷;ʵzۋ/ )5jEuYEgWs>U8QӃPmpFsa:+޸}hzhA:9k_w.yV U 5bjEa`9]qWUn: VDfQ$VA'R$a;֠OYm: Jj hj: :CXwx3G?'>cc"swlVcci]9:)EZ)vgMZl鵕Zka$$*giiS;Vr@ D炯{c,DT\H 犤J)m@ؕl>Y+AG'D}<"i E㡤Ap+pnTL Y*! QYZ X@뼫f瞳^EѼV/0gW ( 'ǡHIv@s^P:k JH1"aȦDJ[Q"A,0m BHJ|;d!畎lH,fyɁwZk9 [n \1Y|r?{VݥSfpFz4R("Df B:"鬀pҒy*),]k,蛯=k&.~SYmO(iΕEko/n9w[{?Y[)Y9ivv_wk+mNԭۃ^{d <|AqxT^("9[W]M;N79Q uҍٹ;<ػRYnoyw")4 [/~7;L~_~jQ@,0PZӺU\-0wrd/ D&Ӌ7-;ؾ9WPuW9]T |(xM|s>/K{D)|l\)i$Zm5Is(2nsuc`8I'#3_8I$F R!^HB8@XlsJc ~Y %0+R B]ZV }`/ i}mj 6xf=˼+^CMOXm (6RYhA p4b#{ry"Kk'$I`o;-Q[FPAV*2ւF"ljs!QdYDKٲLޕZI,$:'`QQJDkAF4ǥ"Έ|+vD80#^̄@#(@> QD._ڊha7 ]AЈ 꾻r"j. @ 4"T,C,N!ԧn*>|Dy}qe"-t6*TG%߱J<<~k[o?Gb dzן;Vo5xO6~<}tg^ ,/u 'ER)&eޱp3vݍ:/ʢ%QZEy/~?CϼlD+OM&O|O_~Wzyq6'09ͶC<bM@2pA-qN/i/wkV:Fn~8REA^(Sْ4& Lfkُ|Ay:I4[0?W~)YΛwn?~޻^Zf'?mJQ$♀R/VX] SU53ԫ\''S!Λ|;Xo|_: yzB…~XD4!0 I,0,4^y,+OUB @42 NZAWNhFħFta#H1_ïr#돬n4{9>=glcr"(ƀ6ڕ>M %]g  rf[ y\QfQZeaYd"3;W@AFYPg2f99t26:a<Zu+/nwyfGDSOnBij>@u¾RSbe9]gq`pJU\h"հL&`2t$JhA07%gRyE"#FD5hc}Y8>*0c&.0 j4f}9+Y6uzxG? xf曥ȋ,@Z jM)z7_x[n>^w>c_"RԈT&f Ŋ. @@V?Qڴj xŭ5HmTNdD%D.4 (%{k]Y$%x׊i^ {2i2˳EJ׏P9Dq+0 T]4&t̼5cA5(5`YT4<&8Bddve>Q IG*·V+U;e#\'HԉejTTjBj83߾*M|CZ ;4BԹNT^f"gؗAƕʚj_A5;wY&$P"qEM@ASڸҗL8xa zW pAأJ٤R aii%/b.\9&L!8G̉! EZDP 0 K2 sE"]CI:hyq|p7 mŭ2$GwFλ˝V:vݾsA"Tw]Rd w3md* }:@@DV BQ% sλODdp](qdHS MtF Py ZKi2y_ OIQF; MC37T@7oъKW?Yw7?٭՝Nww'NvGe>6 '٠ĻKk `YpA̹vj pRzzv5T"nKtt2b)/_y>Iuye3${Y1Y^~/>_Ϳ8y'sl-;CjptT<ۗz1-tTlNh^fouk+<b:˯z^~.'?se*/_/*SjM</̠8:d[>]!Eʑ.I%ڶ}qsΕEltΆcvY"ŌgjJ,A"Mn0!j LHs(6-`0WYi MY!֤px蜘A@)FSff'nW*,b: RLa .fvB `2"hJ*?* =GkT\γi@kڭd$hZ1Blw./n+M@Ds֨ЙHG1,J©9i Y+?>Ҳ( g2}.@qs\FCEl'VաHc˔|j90_Yl !I!z9ṞrX uwC{ N[5GG0nu95ME ػ8N:%ծ{ y{@/{̬(ejň^ prZβ& [e: I1$IK<6:7V+ QHUzoO@| O=- -( Z[v4<8ܫU3%Nl<ERIQ2=~imm뉬u)/~Z@hozҝ2vȇKUziծIVdO,w&)r_8XNu%uR\˽0;|tpMۯfpYDcO擨z='CuѴ86Ӊ35#w|7/DR-FPy{4SX P_szt|<αLh+E9.л}}/n2D"P,ȡ{Zk9=s.D+R*^`80fWYs]DB{!D7eYx/IeYy"ؤ# qEmMSiqd+ ꯐTs5bB,hdŔ+4֒jxEQ̢|9!y=iq\œ`f:",IZ.=܊өRi "a}j",2NsYRCd , #f@PQXbiXZ]Hc_d@"⊴B(2ɗ.!V 5 3 ,sNY"tɅKR/@\1,.ʽu/ jMӻxbG 3%P AHsp!a@.db0׎zs(2DW FfV&+~6T,NߙNRA-!KJ.@Ѕ M$ncAԉi6ͪ Z DZk7_KBVg7r/ ;K[';w?~o$kkC:Syv^fuwFZzIdSwUQ'ɀ4 m +e͕ ?nB52jҋմ7\kw;6] olOȥY7 F~ Tδ ߽qyo_R֥旿t>űhcA"l V{{\ҷ_J{9ɍΏIn]F|g>?x|yZ7?Ꮧac]~KO}wKo}RQp˪n|Og^Z[M7}տO~(i9(턝 Hjג"ǝg}ŃՃi&B*ˋ斈< H1Q553iW>HYBD^yF3J4>@ FN "@HCacmf6A) <"kJ`^IP n8ɜb$hcs@2"tuFҼHJzvSUz~S2Mn Ԫ%J"5d5F%fRvɕPcD{RY`$:NZUdMl6WW9`iI KV, 9.F& Fa>xGsX}1ey>C!2 RQg H\N7/ HAؕE>$Wd zT1G\yCvlZ@RE^"H F |4mێhQHU"E(gE!vw%Lhly ߋTuUMDJ )-,.FYvXIdB$X=CbmĭnMƣAp(4Vq6L&cQ]Оt2݉"Ŝs _4<#3kE8Vf!1Uu`‚ADW<泉w^6 Njl9:^ TdNp.xNw(tߌlE^9޽y|}VOq )F;jleirf32[Z/\OI뵟{Mpyyg?'~__n8΃E[|`DN BB6}?>yyePj{7 rYݺiO}_D`\NPGphu>4h=1H+jx+W6ׇedxa `[_PSҟ/}߿ȵkk/=_Pv2@~5oyշehv}lmu#I80wedcp wVqg`VTVFju:ÓI:2eFQ(e(a:}_Lj^@Fh4M>89ʲ5:#jz/̵MN .ׄ, G@EP#|f# A&]+e鐔2Q{R읱Qό)e|\PE3"R A`W{FUs)"ƽ( tVDi/a'D "ZQ HEYdMD9gf/Zц`7(Y^Zj2# i[{VewCiqbLh8Ba\PX-f6Zwd6MOK{u@DQOyj@WIg)N!/rWf'A,>!("+cu>˚00K=QqZm:H:UCwy,~vh;`DZOv{IB'@0>4hK/|T7k_lm "M̲խヷ't[C[Da2/m>O(簷no=ajvzpw&eWj>ejRRI.0+lW` jde U J@ 2LeNLa{w#g{iۯu;_K?3<:k+ǫjV|;ު9by_=3Ž@}(ή\~/>;O+f&9c2Ej{UDS+""MT4UYzqzpogd2|79Dtg`m ϴ$,B}،}[TćK:|yg㩚ż(BC@.Q\nȼ\8vg'}߭ "D1MjqbՈ̦9h9+Q: ZNΝ.ߣwnZXr2KR$3XFp,N?I}h '&(z4atQ"j̙1w0̠ӍUY$/ww.G"9⤬e}T&E=ލjkkx9_&֮NUȁAJQ޽^^t.pD?zY7C(]LYnj}Y 4wԩI &^ܗj y蚪`M}Ʀn< }4 ZE; f]fݬαa]ׇb߈XY`JIǓ]U>NGϦ3gh/}skҬ+EW6/%ih{KGMd{7y+)ŁN~4f^V|9j{'5A~ɏ,__ rq'Gw^ "wCPic৯_;DXa̚g^|o2Qն䋋[w@4&;.ʂ]ׯ]|KD.a"QōG}կmxou[u9kiQ痮\~/i1U מgW.kA޺o{^IFYF*o|_(G#f:òڽr6\Wk;y_Cm|zG&'_֍7^&1~0$'KYr/I$ƔMɲ+F^$f"oW1HB† 2G;.Y]};qbMe<9j/sֺ.4٪YiN!8Gz_iʕkѸ*KvUC uIDMc̉)Ljm׈FA%eT~2ͦLE5ќvIv}Z䣓,砆A;Q0E&6ӲT̔z4 IDAT6v`s)9ߩަ,1,}̩ $!k"F$h9&p^9v"!¹"do9ǫűo/B 뛮Y ;E ju,ƌIrĔҹ8HM`1*ĜBr6>aSޘU{{Դ<)vu:{x'>/=Uӎ+;xmuվ._+kޝ(O$asFrq+iy8=8\;XO&Ӯ/ڬ6Y=}/3z'~0cдnTlWknc<&|pp(,v?//'ewph(y o}i}xLַ5 mD@L%|o+;{Oo/^J$+_핣x|v>|=ĸ\w]5\OyZz̳~xֽ&W[Eg5ޥy˓|O-9v e5i._sօbEdbrSR]O9g[9erjrLUR̔XD/ڮFU%@C"H)**+__9_@%$R8) >k"rD'g'wvXMM)ݽs܉  WJ4\^$#(?#Sw BC\j-@U(;V`̹4z9NRCf$$NUۮcDR>Oɕ.ޅЙfԣNM[%.Ũѭy+ML-~,U9'u @}ߍ cS~\r)o90I"9hV8 0"bv*Ğ\"EQ :G(㜳ЯCl1EeL-*CL뛲,TTQը(*3]{[[CC9( gӶdɒəsZAY@H"YrYẅiQrsH<#6 S9zRLL}"OZIja=.l\M1)e0%vSLRlmحљX߮6j{]v2, O1+P[ZDGDChb63,fq<38|ZW|}:_^kZbW]vtǵA_94Sպ58zw>;]˰>k4NY89$?]ϏU5qu{pPlN-W?3O&vv-}x2ԭ#cWl2hݵo||.I?2 P}w>;4U}—?s1#~|[VYɼbz`t?ԧ֨شoxyfwɍ݃_,ܽ̄ʋ^N@3sϣ~wx4>zSn~] ^R-v/lTbAr7t_Ὼsf> }{XCSJWŘC@!_9jRH)wفi FլY}RVUuW#svuB)!"#3!NO5ֈx6eNFUș sԮW9sE"d4!fvjJVLk4XOz6ٌOa勚!g14 nާ{|B^eA`c MSU5""a9Q@JU4)l0s9 '9PӲ2v[[.s]MrjL# slbB|t"SJUb 7Q$9(!%d4u) T%1. Irn3j rR@ fSG")1;Kyvթ[(3S s1UjB]}:v Ck1e1v$){a= @arj@NGDSq< cS[.F#L!G˨C|,'ɚ Rf>1c}_^MM >|%xƐE$G-<К/,EL̬Dt\܇*Ftc"m(h Z ˶oSq 9=;r~gщcp aIia2qh~לֳӃ`ZN8z;fc4IB(^Bp"DY mQrU*;)c>CgpxΕb13ٹ?FnA??k鮄ӓ|y::<]zŝúpI}]eس?967ҡ34 Zz_3&?ӿ/;/>'}lݥiN/^z}Szz+_:Wb7<[u[3l8iVo#pzxg%Ϟzaܭ$oܾ"g=Xb增NƳQ؅qQ@h6d_޺7̧aMɄ%ϒ$/L. i5d4="8c6C̡֮09yff'*0!cSE <Q8E=DYC"v9&C;9&*rxx<냣X'yQTTuASlYrj@EŘrjZTl;?+./߸ WL[>tf^>x¥>+%_'ٽ 7@EQ>wR66ks<4e1sJGbbqezjAR=k/g~U~z/_/,Nc谬K:l~W~婧/Lմj ι. 3 3$$mFݐf)g&R3UCDb f$tf}3&fFfo)@D TUU0Я/Q];5@!;TKbu_s@*+;FCD5C$ViQV޹E4C&,KH`QyӜ5][2jĮ*h@FADC ,ifӓÃo%J"YyM۶[o߹5XQTCC<%E -KvΫ* b$b$ȞrnxY@~d`z._Tc*<y K$6ِRuj2r~RFT IT#{DBʒއ;DŽĄ` <шUϑ!E芔ڡnΕy4hʝH&*s (Yts|f$›/ :ar|rrp0x^",C#y^'7V|9dz`A=h+jLeHBp78tF rfh<^X8b3UӢ9ʺk4Ijcӡ »tp7*JJobҝͪ툰|zpQm ٶodA)P3^y/|LxT*"Q6b5̟|CkJG=R뎺좸ݽfן'u-rYOZus~i޸ݮ{9_~6w^VY?_O֧.]vvn|{2B-}70MmJq ]5ݺ|[`jijY׿/p.^8|;5gGgx<ܧ㇀܇?͏LѯʓO>_S_VcU-@@cJM 1BJL LU7lU!#4#A8kf(9! s+J1+9Dؠg`">j)gQI)QUϐ(ވU!J"tOʐ1PuARbدA 4Isn؏d#0QSÔ"$ADC }|Rttza}6?<*$)4"Ƹ\,Մ]1aȩ~#}\e띝ϚV5=KIvoV;_ll[rXɢf@TN 1jMB;0ޘLR`rhfӍtEbU_J5q~JXEVڍlW$2[/՟?gM/~va]#6Errh{4uV5k߼_ !;hZuvɏ޺'@O?y.7xz}xjW&nl-޸v}/]|vjo?] w.jl?\zv!.^x|yV<"RqyQ]pR /}GέdlxlNo"6akg ]7O&da`j QnXRPzh 2*dN$k0bFL9FTS}ij2 ZLb5朕@M%"HJ2 sN9ѬD#B=3Q}!m[Ue,;>U=,.<r~Xd2260>w u,4 _+qYnvI/*\<7Qfs% 3K}r4mU-(qYTԥTT[:Ud2@C1ٍ} I(|V2RfuȣVUsrDҮl<Ms90PI9D& INR.|!)i LrtBQ 5*jdjUQdCY M5bULR6C.bHQi4k֫p,*}̮qD@L{'Yu6gLI o'G.\xY] @4|4 89&$_^w>N£RV86vzIEfQ(,=$E\ه+H-":Mȱh:I)cHBޗр-#Dw>SřYǜY,@[",|C9k$SIIQ]!K:>Ƿn޼u΍f11?]7߿;\Y? /txqݦeӬb˚4Dՠ^euFOM#Mǒl *UhhQŪT*[[¢=$cJuRwl_;\QQaހrpޏ->c=QƿwMܼ~{oxڏᕝ~ʵxas'?|/nk_3t;f/]YkjZgX ;=YfWcz߾0j.j݅kO'ګA%=?7ԫ_w*?ܜ6/}l'>g+kǟ~b6^4h]s5PIc߇ÝbV1sh)FiAA&]_rY+hSF@``HDFYAB61tf\E\.,@e< 瘋᲍GwVM/ĵgrmlnNB53hQ8Q|n-ff8D !v}cN*hwgB;@ǓM$dJ"YdS8tP!&I1У D5Bd"͖sFC"V I15DM QA2ࣩAh #|NBĢSjF1ƪ/9 ]I9 hg:BͪjNGtUǻ!r6m챨9j&us`9%轗ba68mx9Lrt#9܅H׫eJNc(C6ڶ_,EYnmK4m0qQD1;fW1o?y<3>ڿsm{O=cW½~52o]M^s7v[؏=;/}w-?O?lz4dԳU{eݔ#jb2R )tb̄m&4sJE(KM! Cm&ULI  U2'9@Ly<{T@cBd/zQKjLx.@@S1P HLTCLGMFcHDkVr)&YX]vEdպm(qׯ4ΩYJln"ٱ IDAT'R!?"TrugBi#EQ33,prz:?]֣*vMUͪ.XmY)N'{iߧ̗ՐzC %!M/Iաoced"%Ps*@ C8 r&1C28D -&ZebF,`@hj8xyܳH8$bŔ ;iLjj0dSIT ,a]E5=xx:;;j]Y$/OD|]Vh^dˑN"qU64GqgŢ'e=nUb);@RTƴٶ+QN!Qh#&xL)rx}ߔl<*'wQ2"s+`Z;W_O7.$[h:&yX7l:2{c7[KVygޞN]Ph\Jbn!0_` /OCt ڮ{@˲"y+9{羼}ikrKU?$Tl5[4oͯ\xkT]-fME*­y\U}ȶXӃ{ۻ=L<].>9NΖ}t{ |ƫ_ud%N?@Cuͣ1@rT'Z.1v}:)G.b@)PW̘s?'Ī N L''ǔRH!(sJb*4¼gkO^im0$ukU%GsiNyhGF5( I53( ƬJAEY A]AV1z S%:AHܾDT4geS v^1"֎ !A=gV1_89$,XTsRP$0M\BŽws:>)3+EUC,Kf.=fms S ԗyLf4}c( *,g0*sCnNK!z<^rV:IQNZlq "<3{[[};LѸ s&#飈36r]Ǘ޸СǤE5[M ˬ)6UQWMV}{ewNe5S*u[մ1lmH'Ne( Gu*!5u=VAZݣ1HN\.xzkXjR 0)]:[ ;]G~R {U/Fv)/aU\z{Xh:|;_fվ}uoomT魓QN/?|,{;{i{ppgswG[7o~ ٚT42whʑ,sͼfKrLޛVYylE4TC4̂؅D*G l\U@ʒ6YI'@7lV>޺u{{$_CiJ8#ۂي( XBA4@33 $dQN DwHbHbV_f$HpjPEo?A n Q@|HLSwWs) f6i[Mw ۧrIYKsUHUCd2Mz+"S8f*:$68礔8iK=凈v= &ۦ*hwV2I9L㳗W.AΪw˛'Gs퓺'.<<>hA$mqq ({@hie\u]l}wuyR5<:sc~=^N E],qTR<WˣP}U;'a^{zOojߍ28īG7=Ï=Or՟Aܽ{)RNU;_*d_ g7J<Lv*[=o秛-t^ɟ~O~;_Ę9:珞ǤG$ UAR=u2$*BĜɥ{BLIA&MU{$ NuC4cG =JQ30vMUwT ,E{A˱]<@ #)_<1\I!2;i´JbNYj>׹Ķy9\|eS;bJT `u"dE;[Ah:BIrlij |4hih&h X&H.ЋysKI1e(Y Ir.RHiU'VJcBjεsfBF21zEpQ3&b&b9H)W4i@A*Ls8>0zJvlrԢL)cW5A5xuh6M)YӤ< L!D14 p1E{4/M9j&\e;bdc=9KPUdQ#u;c@TDTЧD8N4qFuJ6,yEiC]\gVtlܺ1}f-1!Kivp\8sa_\m$U}u1[mEAT̡jv!J^̛Pn?R4 d>F^Lf=hnZ*57xFG! 7VqOm< ym͏?\_~;7^_\Pf 1>Nb}J|̓?vz[Z?׏O?Z./ח)~qx[sHus w0Ɠ̗mU/ɵv rkH*o{o#y֫:aߟ-/nW>7~ܭoP_|ދ?׋3oi[/ b9fv u*0x"BBޕRD$3E&& Ds=;s\yLbQPDޱc$(Y̔bQE͜gBPiLS #71Tqi |q6~\`\q}I9KCIYSՒͲRSԢ|MVҨEcM%yUy.Of*iS*LE;7EST5!iAMs*|]>>f1_]Ϯ \. (qWʿC?~aÇ{_f~twQ10S (Ld>R c&b}.L#>y uF0e3sĪ =Ĩ.8UT s*8gu%qL4&5s*5CvQ>9E3cuR׹ f r ـJ.ޓd&E8GR#]7uM۴Wۏ]9>J>^qg]_ X>ݺ9;:<gMuuGv7/7oN7#Rry9"Q\@A!)r&5^, Y|·3v~W}ӯxn/|lw+>j3+岱|3_ޗ;ܽ۩ W%Dj)"@TJ]7;&B*0@vCT4EB0Fǔz߶ vRt/fGiRJ`BӅҐLӫjZ3@vc /u~#'9#&<-Ōܧ\O>'q3up0Ӌssv]?ES8G7nSʣCLA;3'gvRKco6x#{əzk<==k\”xAmD`8rB HXrV0KӔ!Wg\T>"Ʉm4pIrI״?F%3!ONj3C(x\5TM x*LC X"bm: &`)*p,62 Rlק>|~9KMmn{%Jj6eE25@v~/B=cj0 :4bf"ErruMBDd+Ϊc֡+~T5xFSTuclLH0Fpr.q@H?tul[UAh޹٬%QMgU5us d0-{Wr)"1FCTI\8ZJqsupR@-xvTMsVcQ'UNV*MD.,#NPrxf:-G'_!J.(~.9y$,F}D`Q0hS,!,g#6s$b<ՋR.CDHT5W1 ᬭ-RDWČV$!+/8Fd\ƔL ̲p`E$:Mƺ’n?l>\3oLuja珟4uHv\ׯj?hCoCŋy~ Ao9ݼ]@jv;1^]cfC;9!vZaBhCT ٻ7Vss<(xs>a0Y8M q,U hf3V w8dg'~ڗ~#>z'KJwwyCzW'rv:J;_p|rѻ?ɓ{/&|={ѭW?{_;Oߨj}`y2~ ?nߦ^>|JwZ5ݗO~O}_Fհlo>ߝV {?}g=n7A0 lqPbDk+` :UBUCRWu+"f(jXhȚDjTMM\r"rq+1w1f`&A@ !f((6HR$DDŴ:$8LadfCq|TKoal~f} >*(UUZןՋlqPЋ u$/rB5oz{18DdR\ &CQ|hfM~?n(6]825u c{vōvcomP̘9w]PR$"fhJ}뭷~'~⭷ArHK.߉sٍyUC+9"S JirE gW$3bizhrn*11\| QTK.@LDvM>@|Lk6Ժvw_>#s>☂E;/#[cjuk߯N8+Bcc1RFpJnJNjQM C |H9S8@v~x͜G7ΎWRڒ@@4eۜ_#ۼwݾ`ypqu\̅4_.~bfޜ?y&H< f7BdP, ,1n3"w.ИߧvY;iL"0`[J,㻮r@hN>q}ŕO@?v6 IDAT~}~l> A}}i|rxWsZCJwWǻ&vw/.|ϼRy^ G3~_x~ރW 7gu6Cޙv] 1~z._+o;|W^{ٟo67Xc9څݏ{7x]߿ ] p8ir9{/?PS'\5EEDgj9#goZhcvՄASJyc"G<+"!xh(R @Ęuds,R{F1-E'1!N qd$"4G+ fR"(ёyaODE*ziUͻl}**}ØխY#zB]0yd@b%g0E3{(IU\J v1tv5䂟u<8}9!{mCfUU{13aLyD"D@hf4Gu///|oܸ}0)Wu qHS4+ 0SFR!,Vs) s\DDS0Lm^bRL$B렇(;4)xǓ1[7կzs MeQ"Hq,8StB1k6hh̨?=TF) UU]aHiY7իL]EP2 "" > eIinliRξM'T5Uc :1&t#Bm*Tri}ӒHDd`f"#5MSX=x zuզC=kη-f3+)@4^*c5\Uqe/KasfXt(:uk%Rءd&.QQB4 2R0(sJ#*`Ž&M{SD0v㠂Hy`8末YB*΍11J2KEDKNUYUK)s\49|#%kw_kW^}k'''˙dS/AQTRH) ח @ h:6KΓLQ]s2{? c@$1M^>0qSz#"V7`:"*"R't>" ;H~LgBtDcQv0]みKʀRu)I%":1U1_A*U,*:Gޙ1\2(Rp2#r /@II0 l$9G"e3깙iS* & `%hfmӤ]Q͕Y]9w8]ŌgRh9C4y[ v}ux½ M,cTêIܽsHγv~yyjT.A 1zOc=yph8klϷE}χMQ|.9;#˒W}[DMsnpCn|^Am9o7.8(],bю4cNfM]ׁO?ug>5Zl.EQ(R U̝cXy{R1%=}}ϱc:JÃ4lN3hN1fmC2 CUeePU)GN>OW@iFcFgW1qtxq1k훫'߼Zuw4KQUD5ĠM_^{/w?/cfNĩT,FSA'B#)6 L-x7Ɣbp3X&#”˵:Lui=M7IUr3FK*uS3#B2 a:U` Ġc$d)=iEChp2i"gE$1"3^[:ΘL80sATXy &*[) 2o&0hA1" q$35R*匀.Ԏ!=p%yps.Z_o~7}B%.  &LB(uO?ּ9&Bc*k\pNE "8@+79x6OU-T!'}"$Ӏ D/!$F1 3hA!&ƪBD7 TFq뀪 C;4E+..}V#b@`)L'>1!0JMq}v"LS{J(T-X*Z \WAe"MdUy0s(͛E'V'9o,6~ֻhZpXc'g:ܼql} jcT+ͣ~T}qvLbŐG6PMˇ.T*\R1wlrBR]-5bV#?}9{yUEՍ!_=;݂䰬(rZC+Ǹa7>c >[Nݦt[m@)ɓnWSRW&ϼyRp􎁐YQ.윊*1w9s|[C;DvpՐ`Fu!CM؃OB8Q}g-6.vm}`^^^=l͏xv;:-v>u<^o@]5/ϟvХ窌_>|ӯ(Oʃ;wN>by{9߿*/nyvO>x쟾=曓÷OO"?{Ke5 :hMUv;?8XD`f<c2v%gfVS(""9h hZ096QbsE!t[5C6)郆g<ѹsd) "3CUb&*2BNZLU $rv7&@dbyɚ%))&#' mj)fv.B)X;~<,h@HDIF0014dSV͞HB㠢˪2Kַ#@ǦhS;9U+ e` tOKó77~ݻO&Q7ߠA?3?[o+{xxY U0~DB1ƈ`" CYĔj 1"QYVbH0`$8yHe1(@ TY]KØ#HhE 0eQ#3(`H40ddf:#1L[m"Ƙf ̤@j:1hL)N]Ǥdb!$Y r%@v30sY0yGI3V9+-8DP$&j9YL)OD`%R]UإHC"f9+ys^C(GҡKNA%;q8aOQb%_TAɭ6e=uv+.7ŬlB٥[hkfù~@%&p1|y]/_(+*BkcߦиO֋#Q_&>wMO²nvm78 czjI(i9©eՕC:wGtxu+qy4ra{gG.V.eYEa㘖99k~o=X>'<oՏ("uYޤKrQwɨCSn^ˋGb5,Nnm7}ž:8\ {O/gXty蝯բ|.~x9?eY~Se _ݻw뻾|E XNĔ)3!1'0p cDn~_EF./OONEG#_W`}̚(mmt:*pMXTa!Џev;.*mFb*e;\ 5,fM?vIrS+juMm:/ qJ)@)82HUsV lA0;O, MbV3yG)iʲ|q=sL.9EIYdiQ #BJ95Sfƨ"CR@9S̾lR싢@E)il#0oA%ص  ./v(۶'.7Er_;w>}+_n)"`Ā`IHhN9$)c7Ĉ &TJ\y!(!("y&$)AUTj IDAT#$%%&CDSYTq׍E Cn;ӹNs&aj:ii"fQxshِP&LUL%) QrU"E!"Y\c %xF 2&dr;6*(M7;=zrLeYidvlcd@C7P̫L%&q*Dfiq 91]9+wk5t8mꫯ\}$Zzا|I u./.ʢwuUcG.I*ƒ=yAYήwnn W{d6 e>>Z"*bXj5؃{GDS_:#3XBD<bC/ ?Hn't b׻y48==&}c*6۫@8o73䝎ۮ }YY B {f]~8:9ZG'^{x# >=??לcqZwn>uӮ~lÓr5lѻcw~}ۋwnh6jSm~z+Q8Nh1n{WW?OOk A f`DfY:&D~Zг(\gMSxyo\.aydsxqy~58usjspTl-4i& s.&ui?`JبΖsܯb,X!ΊR&L ٗM .儨7 Ȧ,&̰yUKsh D|]Q43!Q!69p0^QURA»!BYDcƮM,MO, &{b2QW;/9Q}PռY>&:IJ/\D7_{oo}w*QLHP2}6sN0+uC&"S @mj{C$1""9 䜧> PAQ !,uD L\qΓD DxL"i6CUWr,EIr,6ɓIL5%d)&@,cYGrކ>#6C1N P wbSfbC:HL ̩f<:\bUH`}?$Amcell̊eA d4KQ>$cхhQi\)n|pvOӭ~oOOrSU_O>XB?[={^fۃ*OyWz쯾⽧Oo_tI5e6 b~(~{?hUhjqۛƜ&z>}Y/ϞQgy?=9RﺶU1ϯ6mWO|vWj`V\^ulBDȧ'l"w^|ӷ|ڮ_\ml9ʗ~p~1 .g D?4n?=g`<1q&krL&zl~b?ͪ"EʑPDot*2qPHƘdD"ÐRdC0v|DØ1q?D D4rV !SQ\EY5<9 TDUIW/CO\]/ƎsEyvcD5&cÇ#OOܺuC_7CDΫNF DbN8uħݐbιi ǖR[P}{'2Q(1yM]zY')e02YSe/lV“Ę9"4DU Q<L4)vC 6#&% )d+UME S| `)!*N/>@c"F= }HYRΙ񃬛gbtΫ1!! D TMS%FAu],"jޏ DcLKL&ľY硫s p~9,ŬnW[+,99x{grU?4bڍ#ק@5M]ۮ|(yNTcg[yiDEC3 ZV!'O˪*RjBY0;TE&s%ߞ^6y0'<9\4e ?/TO-E޹w_lNj*0_m>uBј583xBo۶达#o69 W׏DS)PŜc;>{rs1먃9==Lh1Wwi N^RBQk?r;ƔpN v~}vlMe}Fvέ }1;H7A??;;gv7mrYٌv4}쇔GؽSƾtA= ;8ZlwdXL)pn{(vL2no|VeW8﯏ݵWb)1-MeͬU|fhnr0d1d-'1D)(*!uE@͈̑8Z`S&&20 )ĤuS 9a ۍ s֢TjJJf4=AI,BTd@ \(58&Zθc q:", j959ɎcJ& ?{<~޽{ՕsM4Ew@`d)gH'735CbDu]A*·9b2#PxEd2fUéMH9"sN%^q6Mz9 "ĸc24DpL%O5$$)O<|)0D-BQzP9*w7~'74gfy c1 y{g"ղMeR3Ff &ABY#L|8<&$eH9gU%1*KNhs7r*ۜw%ZʶuS3/3bf^,W߹ZfK<_v$ٱwVQ7o'_^ƽ7۪`Ub^U|r=J}@8>7՝rkBD]|Ůlk|=DҗnDL}ۛQ]. ǘr,LDe(z>lKI|a5WE`P6G$]_^7 wN%߽u2 jܸEGڸ_Ip\_ mߍ'a.ɝuhX,톔fv ]3ѲdUцM Hs&ZAU2Ĕ@45 0iBBGHU*&r)+19DŽ)+.' md&L#L9"O-+"FhYMKl 0Lb/E]{tMUY8 s9_; {/>???1o\A#B(aLILmzL}3yhS!"Iىj*y|H *&YpzN,{@@Ď$+"1ZYDabܤL8t3\9'3Ydd2Pc98"jЍcZeEȞ=۶di PHlhŒ(`9JV&"FQQQ a]"d:7D " 2d$RTah;!tɳH] S*hDh*+w>eD#yZ.98լߎiDrvYz׾ZI_\]s1"XNwoX^6; E nݐSfr1iڥ1"RKh4Dw8zrzQ$fjZs*K<8/CY@<M.>O|D0W4^_|%gw]nn4ozO'ؐn? jq7P/k,k:Ćd4溬#}~* YUv.8iO=;ϾL5S5J~np,m[wY.|suW];?ԯ߿[N_q,+,riM|/| =B K?=?c6@pc`Ɔ9i;v$z}% T}_V5޽{oIt.8!-拜&bU?+eM<\85+&1ًWWۧ/toq{>C7e3q4tBRƲ u\fQUIHb}p{h<4E"TDDDɉ/ C|Vfu@TUADT,tBF Dr`y !jxD$LkHqhy9\@]o1% ;C43@5fcb]̆!y6uS sUUY`<nK1W~W~~7|nVZ0[Aao'``d sN"sN)Gc&FtR""ދ!d X(:DG7x)K׍ hEɪ)YcGα399T;ff& rRGH)%S#BckYS(@w*,"8 9OIcD. !2H.0#OBS"Ӑ(XQxgUf#~m,ĖbPS&vLEYVuL⽋}.E]5fV#bpvYm*y®]g_yQfxHf*,9 >oyraqpZ{Z./LJc?B 2؍i{gCl -1_]F@=K,TC#~/GjpƘhQ AY2=[RRJMyi}׻a)6keQrF,Wݐ6 ^Tmu::9 ߶q9WLM"ڹ0j-}ExnusD-Kݶ7Ēv?/믿|ѣG%e9Sd4T @DCHTVaSBBe);@Ϥ7M4`&",<=!NJyhɲUvЬf21K @Y ݤ~'R?R@`朋9# fT4fC&3Cs,Y!{?C-h)k6\ RLeƔ9ǬD*-hb,(1MU_5̦"9&$j CDgNAt#/˪nq>q_sI(1|SVʢe<źʘ+_lguO<\YL]1*d(a8 NU "1P??_q8u4#yS% !J,,!Zkipc~(L!XHЭw/z!eS^.f`]:9-+_<{l޻!&++pY͗_jNkҳUdT/d}#ku7ȮܽȶW}hFAtEU?}f3BI蝻sYӴl~^4,˥쯙 .VY {٢L(PH4q@\ϟ=::\4{ω!m Hj)[Nbbý~뷪?=qTiqʘkX}!'_|;'\hY4% #2/8U}!@s9')w )P IDAT-c&"Hzbwb^۫%iQlLQ(%qD1 Z n{SͲ.E*9"cΒP4O+& LZ!e,MI.d;553/zr9%d4 }`D̘zODvcr!ahTL L '?XiG_:o/ЪѺ-ߵ;w06~VW_s}'>lfl-=msSwf}yّwÐIp8&hDLEAߥxeӼ\ErWm\9oQm:YzVKֺdDv>~";^.Жy#dX<)&mjƘmw!UdӅظٜ/^O/_Ղr'gE0`qeq 385W"4.wβApnۜ\dq<98H6gݍ>(EpK^,K h0ZBmێ0+|xusW_w%϶۔01 q0Iؕ~OrԴvU(b5ĺ<b07sP(CoػOϯϯ 37c;ÐS6yѶ;S]V[݋j71]R5t:B"`j$ ܶfލT̫f(Sι) I7fݶ7fM5#zgD\Ywα` "I $1Pis/HRFT6 TStDJRrssF 0Ȗ*8Hn}eCɊlFfcycDM1w414#CpYhMN%͏z_g?__j6j XʐS;"(<>n6m[AzW1g3 dbxC0C {)3NF"7#|؝p$5sL$gmd$Vq9<(}I.M3U"Cu\VȒl.18y:ըc]JB,v'yyx]`bƼc-Z?||0dc2P+#?#//hx8[n6kSP,켂JV1f3m~og:9/3qpv[4ݶ%ǒeTE&Y#ZYY"^w8Jh{MoT_UW2Hqp2YHD"RPDBnABB)x qE(7XHD2{Ov==}XkbUn< .K]{7qUtHypo ELB꽵K%:{Q`HSD^MH S]SNw1""Ġf:s)i 4 B("B%ds.mj1E""HL 1|aGCd"5$=%sI)F)|lQ3;B"@@50pS:X%kT 4 @`E/2EU]??'^4gLZ]hЦTK.MpYun ̨ʳYbvPJA5Or`'6eD\Bl@QjEŬ2k$= VsQ% T#vw;Y[-Drv!u椱}ѻf^G&t(͂p Mpĭ'W r7z}y14\<-nvYx_!iUkafZ3A)k(jVu(Ť33hi  hWŀXRکM1i8in߽uw fiaX̖^dz嵗~yb8>uՓvS{K-Y8̳~cX-6qٵw~G~>Qh5܍TYQ P\Z˲Z3q",7Wfʠwͼ~XA ~iqwwS޽x\ׅ+p }wo׳%7M]>tTV9"Ƙʑ^w+4NAԐu7wK_d K̅Sq}W dxH"'GQ`qjكW^?=y"ž[6׸ dhhFy/7~7/?zۖ8G3$tʤb.e`$z_Orqu f;wn};k󓷯7'qjKVbw(۔q?r场'ɗnykW@ zlxL n\̧~~a Q#,$EAG1DP51 ` ZT%)AYWVBh|L!qM-"&rE&tHňB^@U2Tb%jccƍ!oDŐ]쐐ԸbTOiNڳhK`I(cN \f`H8B;#V<43wcf<vM@ʷ#0$wA$;M M0OA d4.WAq7 [;oV|ֺ]o~Hk_F7odG_}m[P6MfӔqJhy2NEyE_oֻqcȇ?_$11"`;Ǥ>xb;@p`W!xj<a3 @mh%Ny6o)ϝRԐChr|p[vm|x{ǫ!5E3kfj ^z}f8ł3ݦާsl5?;9h{v}LVR*C,*@\hf,95b'2n#`>sߒ vЭ(> )O-2"i(ȘrWW->Qʬ(9΋gx owrsRV5{ͷ=~h;}Lu7W7~o=FaNݻݤiDt\.nۘzM1n><=vs4.tF19djFPp}Ƣx\̽)&f"83ybgJ$&Băji޵@ƎSմɋ~̐,R840O U,@ &fjT.4bV  1!:)Yj5:OH`6TTL9bD5U!LS 9-TQ$P?|/o._z!840@baYMTr*cL$rǬ*k[1$")E3bbCcrTcL6MITm֧UTiןJ 3"(:}`9жl1䵘-0La޽ޫ/M0CXmӴ 8%7VAZ@mf]ӥ0>c? ˡ_.g]K)/×?~ƭNiوʔ1>Cb[o Q.` ozIQŜwhhC3F?%9f>RQmTPc %vZ̽߶$ d gӣhu\2E݋oIdjk؋Mc/rʻRXJ}HJC~ mKH1WS3Uj%(ZъfLcՒQ!1"yrUkm"Yb*bMN 0BԺcfB4y"j&b)Wnd`ghv)B{30ǎsÐT8!b*E*  c͙>}C?O~vDHZ,K.B`FH$Rih;AըhXMc΢=1qB\Jǩ6I:g:cPD))G6zrmYT*R|"b/24 A *Y~UQܑ0;ZmO/)e-wm;wg ۵h'].fq? اTc$%9"#/^\ߵ7k܌c.LjrtR RJ*ńt֐rJ*:\T( x KsdBh`Ԃ)o@'sx_\n1iIӫg1'GRJQoo7S]3[tsﴬ構3CzvwSN׻~R߅}6ތM)NW?}~'kV014$YswӳsBMc$":t呙 5 SR*~%ݬ4۫qz|q9NX,.o5fV`΅F,}L҄&N?Y,qm{Nj>GS^R'Sf 4L9F xHS]gO=o'Ɛ棧݉G{;=9wGLw:~Q=ϻݛ\,fMGu-L4~׿bmϞ=7]@$gQ]O1ʹ T Tovvl1 sS W'tP>W'4xqI˾gח7w4ŔE+/}򟝿M3!sZbqL(MsfdƔz6ljĪ/Ӕ"wdQ)%3CR$*R0@^LD"\9'DpID)ALL VN2!(1f4(&"9%H)$u{B&9[U51#M1,`PV`6|,+ޏ؏SbYS$isQb%@6@(j̜r"3gU 4"r-RJ~`0S^1Q0g9KQE&jB"T|/j;t@"5t蘉0Ra}bgnnOvmET-g mvS>Z...o1Y?|h=ccN㧥n6 f|{HZaʱӐR69,MMkQxF>T+pUW# TTs%0,Q@LL}s"ZNIݑ;S)auqPKbKdr7k1{1)짬y1; |%!27[-ڿ_-7}"Zz>#%4t#BK$61v>0,~7ƕjx~~wiQiEfT󖉐fv׫3#bz8]x&2핝ˀ<ƤmqkAMLJXǨl,)*NS?4~7ZEerp!,ݥ(OНO!^Oo]7cUS߅9b)U܈/S_?O}Rg>m++'5o%o>#EhDNU($meB)EkYh|vs\wui{I8lvy*o6RC2\q |6)#Z&Y}`TT9!*"!4NԼc3"{!j'_O{ţnلM0dPCcCR&]*{7v]+J’t 0Q.9G%Efn7Pt5{/ IDAToMaZj{w|:{Njwn3/ˋ=lmoզP 0fmlg:en-r ;M9h,˓bq˶ w@0)2pd:Mj"]o^dq,,4I"NFA4Qs`Ec3y޽{[oگڋ+s7xK_ҋߎ2&*&&VFsT*Y7 /g0nnķ J5]bѾ!b%PH?(Mh&^mַ}֛#Y,:qѵPna;-@*R$瘱$dlzGȄ밋ֵ̤:%f4RDXѲeHe\ȲlKH.hȠZ;IQrJ*a"jy)X~pn~ۖ}s ߉26U5RE$"3_S#U4sI~2óXk~;YUMONq):i,dZ}F`Pb4 40Bfh;Ebj N;߀!b~m>NE_M`G}4-bX8fq6o_\=MDJKUhZ>Mwq9O@TɳdebFf%"vSLL4H V >`S֢fr,=h19L\L"jbV?bLn?כ-fyD&2h1;?aJZdnR[]+nK S"Wr^xw=_L8Ma3*gOջ=Ov=Mf%ΝXN[o4%6Ѳ-swsӷW[0b՜J!<&pKQHsAo·QdU~闼_Wڊ)'U!32jsr&xD|u<1h51e&kvz`c)fzv_vkcZ2DSkԵ 4|]CZzh8fn$)5 8#PH]e'4q7]TtRs^m0m0R)@U 8R*mHI30"$" H,UIjkOUs?kE5I=jHٔ'9"5ߘw wR*Nq&bjo aTN 1#\FrQv(Eٓ22F4U CUZ/@\t 9B>]=y┆:n hR^ڻsv 2n}x߮w]\ۛvn]S4(d/E)l6}) # 1`*6a"kAS-&U)#R2)jD@5 1Y b) `l*#, *9GrV%h <&S|r/gWv۞p(YiU)_OLjZw$쵶?~gn8 1bfuavRdž꨽#r8ŀk/N*-;1EyX6f]aSiڻy˞P8%^.]N2N|秼+s_AG's4 fBdSN؈@$@ڏg\4kSj&laz'.m''q]1f=D'q7{TH=['G^?q۶r>:YuSQH;jPJ1DMZ // _^),ZqHHjQr)蘻6㙃gW=pv~&9$hޮO{|q!ETWtv 䡪lyviq3l>MC~#&4Q_x$5 yĞ{.Zs)őC1+("!8TEHh=OQ1U@vN L9) ,a"b#b)Wox *?L=wKQE~jP J@X!,R.x-1bMEQ39 @ѪEphVjC@$1v@m}oNWsp9x 9cJ(bDUeDDP9K 0("ed @V0Ń쒹ƟT61IeτP8&rc9,, W'O@638Mǫ7/W~EN^zinzS`-^ YYvqO.CS."߼]Mgh @3vm l+JȸT2I`3UFMz5SSjU0*9?n3Pr 8yQОf1{7`DzkA=W3!Vp;F{NvR  0"&4Ͷ鵹0Li;$Kb;P-Gv\VsU5v"2f3V8&]J=/s$\QP-yXhr]X1X />ns=j`blyw8z/JI}l gWۦuRBS$~Kuċ@]lTvU _r47dYȍfiɇvwFQAcPId=/[J @v͆{M(QQE暧81v;ZƜs66/k?w T,;MB&N7% 2 PE>j-~^ыwYVp=}+4 5!$,DYX=~tգg0"j^# :D cHXtEq<`hfm;+9S˾yQdx~v2Lc3kb݊ѮOvDD of&80(jĀPӻ ѓT3PLK6@U3D14ۋf jƎJ$*}@Uޕ,*ƎHVP<ĎYT ɴHEԮa @5Dq06 )J"!0XPU 027j]?ԧ[1csw@ \(R PM9%9L IDKB U|fYOܴq Xkvڑ ru(L58e'G4"Zm6cx3ӳo~L/?yYo] aO'_gs;kYDz)è13H1A8KJ 0eQL@l{-}LiuJƃ|vSJD\Y)w*RJt !v\r~ XxOEȡRuק9QD2\$/"ZNP\pTtcJEPqc\@t*`ZɰT 2;:T)g(U kc~??l^ .J* VP (R4sʥza֌Ȧ^51 @"Sź`f- V,Uwj;V"UE Ɯ̈DL\h}}f*jXkg6N8zvsӶҀ)'zr'1Rd[o?- waָj=(΅p4o%i pLXJQI@C@dEvLmtu E Gu YQGMIeumI)sE!!3=MαxlݍenͶc{'{GuO&E\hs3cF&xLvMSBQ)ټgƈ$e= NYY3YA4d%t(\|?%#;o(& 38mXpnwErTbΈp˦ \-EΣMY>y$8?O_{yK붩 YS"` s?yzyOV~,&LyķkD􎙹RGU4t j6NW]@#dhJUD}V2n63UG\ؾeA Lax)E)𞦜ETjM>xDt)Ev5FD#U7Tꖪ`lË$"}CvXîNb ZU #"1>6"b`&r̄5iV/Bx뭷ڶ͟6bw:5ímU[DBTlMEKZ)"5]V#Ü]EA5אSZݵn:AEԼmzY9XS$ ;s08Dȸ޽oI~];97t8Zvw  c˒jBLILNi9kŜ-i.,Y41c*ITp4l,!oHB.h@W"`fHE~@FfNUL Ȏ02D!KV<X v~v?Z@mRҫ?Rҷy赇S1|m5``s:xf3(eƔGD՘ ,|ޡ½.Nʙ?{˧/@B ʃӓ(-Ypo4˴ _a]U%;9ӴonET4O$9-n<:oª JHst-I~">Є@gglB.CNc")MS&n\KHC@B? 卯[8b\V\rfEnc17Ǝq{)ٟ?/| WN|>%j}@~,l_;SIff}3|ƪ:5uGv۝mD`p D@ d  $G\q%@`DX IPlv܃{Ts{}Zp]݊w"\ZӳŦ61oXUmg$BG!x3X\tW?vzSx({i'Bpݭsu&ٖ^DM3 W.xjG{ry##ֵP_;vFTeERZ4 NG &\YGeEP:TR ͌9ϦLj )GBt*y-f@$(ThLId;,aXJ_Vf&Y9eeU/Q};y~~9ͿPa޾6*>آʓnUhY oBed&R!3YRՌ[/)9X%5 #9v7P1Q_HĵӋqn֎o>{Tp)7M)z暯lgR9]|=_hԀ8E.aѸX\VlIU՚q+pXwLURQ ֹW$+1wP>]&v\BL.L$## ʶ3r]~R`, 12d0m'X (n{M,gQb]A!g,Vj&Rú g|.ȷMZU` bN,9:z:3ivz[6DIbr?Ȧ!>zz~;q*`HyXya2abd7'ئL~H<lW= ݵDѵ5V0qu3>MPTY+<{Vs PcҔcU?:p{ xΝov۶[,],B+r!Q9G;''gj(EkNM76>]6gx6.z!QXQHQ}굏7ӽ7s+A]B:9O- eԶA`ȎIL e1Q٘vZ@20"SHRfFL3L)0-퇨e5MY%Ky4ZV0SU) VBCAU J;&"OT՘`XD\1C"1 $ *C?o%*hAԉȹ)o{{Ew'`*{ !vi),YT0Q6+]︔[b_Vrd`x9u*ЯYBaA(9$,;j,vA+Ax+9]ٙu_v3(^BדYYaG0i^zggk}?PlP4&sNBwL (inՎrPJOHrYw)vM3LF!Ǯ1 5-io&\l{$׆jr lAt-_I mT1dXdIYaR̆ IDAT?8~ք'm{lrd^] X FT搐$!1|u"g ,ԜÇkG;[,ygs,<U_됖t+rPlxxoGM5@ʿ Xm2 2u!m"%5Bb9xZ-iH9fZb wJ"Jm q%ˈ .h E[M `+MȊƆ)jG, $9"92͙0LMQY62- 6PC5az9S3me[짔ȉ _¿]yc9e}g!@`tre((ny4Xe-H뒉2cJiq֫˛MWZ太Ʈ0(hX(d"#t~tCΛ w~0j;f:MfXEI q%`Uu[:@0@bd14&*m/H(*n0Mʋĭ韶QMEp.PcQ)*50K!ΗCߧ,,CSJĦÐV}J"1b@શ~'lPU5QDBpWɶ1fv(fZWԎ|΁^9VƼwLvP.j՗xY^:)W#_j:5u]vT:Ͼ K .$7yCԮsШm}C 6h-Gfjפ0\1wTb6@̷'fλaͼ$_ΙƬhjI""ݣN'o Ia+Z5WiG!i\*orޕlBu&&x) #ޅek,"=;JBd- Qp9ߨa9"dbf"&*~|~9Ŕ!@HK29b)&(o„YV^-K.,IL/L.(EEtb!g-?8L9]kG,XTv~Nܶya[<:CᶋjV"Jv f0ƾ7J "ŶscX( LҨr>n:W7F;bҰX'T+/j~0:tmk_l:iںL.nIKY%x|> AѼ3f]`a2)"Qּ-.em*1DS -ɦ-͐,\U-Z10 j|^a{D3Y\lŝ*&F"ΑJI(K&v49_y J 4iP90l*Vh'_Li":D~ *ϣi;hʐ TUFQ7O}Rl^~nQD "B䋳SW_v+F8GݢppJ>wxuT1O_6~zh6Q@pM֠AE;UӦRWT&^/frHI,k=CCr.4Ӛ,CRݫF3grM07qp3öѡj7Ŵ VUKVl#pܖ|oWQۇaYmnhjƜ#xT!9U!jRئKj!;^3|[}z||7E_!Ylo2NƒUq8xLZqXGRlzoG9M/\D y5"2䜐wjX,#k@ss (8Hds\(҂"rj(gCPujfȤE DZRO(GU8^6Gt&IKh=Jqh]TXi*B*?r"8k`l]%VW >$v^ŭQ|jۓ [7>JSUaMLf*D$R0#@TF Ь޶*W B#٫ }8 \uݚ=0|1wB87ll|qv; v94m埽՝l&5LK2w]E]ettX3tTC@LCTPrmۙJYF<(nr̒]̈ 2'j"vP+.ϥAsJ&j,ΡZYޤ&ON}Lj.\۝=z|`4'_otJhy8xEڕPx<,'~L0spn2?=~;X^yq3gg|/7ueh[J-D/IdRɛ>r=hb2P4tx` jgk[&#Z(qzYtv!t_i6EtsԪ庮\_lj]b%\3W_Kc}<:8]CTQ/#+qkĴ 2 <Ѝˮ_m=;h\urrPOySLr?R7hٰt:Λog7>orp4zxݼNfD#QLk8VDRVAU5P) [V!Tt߼qq;,@3j>,L[OBNI4UXFc|pljٺb;g]yz|FT}'?f'uQ%uPWA*18\DX|{|  Ĩ PhT~ME s`&Kp `):G1fA`-_&GdrЬbZ S(5 n8(I΅H-8T)])fє@-1Z]@`굝wgX8T䌽MY=iyWv;/Me۫Q^zϿ;iġ['=<~zz۹恫ۿ鋛A|g>(>;r<{`rSս]c2/.֣v9%dK2s^U-sוw]xa/pͷgsdcהjnvbOү^;45btCD LH0-02y X21$*\cYĀICvn~g>588gz˓OO}r?{y _Lc@w7n .N$fqN&_{{|rM3*dD L%bNR6ƪyߘ7]Tj21,CLYs z؜M]H3uv1CJY?C5+P3!e"5Cj0m LHFT C͔ 4uP.V+ fF)Km@_P ǣЂ_J*b|V)eB'9!Ŝ-^o|.1@0uYr鸋CN6 in[:AJ鸩4Nc.'6ÀܬסzοgwwqrS>ߺvZTϖ'_erɔ.<>l 㟼:}=y|n_swxB:Nh`SVCQ;@ )p'ޖW#!jv*DkW3$h{t >m˧o`-˷mtU1T ,UH.vW28HrR %iMEz>o_+=^?o^yrާ?kO_w75W^~??X~鋻GW&oq?C mC&1ElCS2 N!O=ncN )FuU_xc_w?i=/~_ȠB#jqX뿿g'g??9]_䡡6aTvs"ո { ؑWQӧǏ/ LPkr{N{G{psGg>w܍]x';>=}g}CΗ)o~jt Q뾥/|g_gwWb~z|SG<;6 }%>>yO̞ftM4t|`*\=:(@@4KW GM Vj$M1Aj{,jJÀE}RZD.|IUM sJ8D!F1Yȡ*:֜bxG#rg%fPFb.?|8gZQ pR,CVK9 "*$tgF{fG M70a|Fm@i488D[ lp+G-1./ 9,@ze١)cBS~߽Mc8 z>]앆i?O`W?c??o_?l꯬+UVE靯~uW?a`p]I+̮f>>:шi{߿.hX*"Cιs-l% iKKh9gǸw(;l׼DhbH@t\oh~8p ubFBJu D9PJLR8 Uo5 d*j)}wߟc_9^z&{|q֍hs~ߎNkKv׵;7_]L?Xf߽`Q/p8lHQ&s-dVn?f̹o{ߺoݾq}wn}_MWOC#rU5U~Ͻ7w~kŏ|{jU6)0h0 Y yn,V^QF 5-?W=yҁc-TU;ޣ nx|Zb3My5j}S! y}Rt$HȀDFchF.`*(&ʹuXŭ|U&$Q+GY0Nn<;{z~oʳ7x4vo7OdJׯ7]ztxpsM;׿`Z󃋅% m@a38 sV`P77MƜ}z5U1`T0U9偆,!Sw)g3[|NM{+4alS^wĘ!(*P݇r͋aΖm lqFf hՔ?U76D%5M9_$ %O DK4bj +Du $$ %+1| ܞKbQ(ڇa3@P]VCF M*? prB͠dS"Y^V5//b|qpO.P@v'Tg![vdÐԌ;Gջ:i𝊋ü'߿..CwGӟr+UgwoM/[o8Xz?/>~roGhrUls' lֲ@ejdQɶ?MT IA KE RVhjg0DB&U!ªqf[31E HfE5+}(bˍCp׮[ջoƽ> 0P"* !!!iL.8Bd[fϽv}`{ ?l;}<9 wԩYFF7ʞmA4EY-{wy|џ]/~ٝC޹nwjZ}Y I9d|s̑Mhĝ.j 3Γ ECrhQ$%]8d]-3rȾG .!e1n]\\W'8e6(˾ڴ*ȹٙ1:f*ٌs|$`L˕ \KhL9>GRgbt>èP_%Y<}#w8"EZ7N4 WBh4Ó.׫ux&_,YzwKY._>d>S= Ρ4䇔GJՆ^,\M@vdf@qlr6mg0db5Q$PQ(jJ)SN05,VT`Pf5Bh8U1BN`*InFąʂfF Z":\p)pd2UɂTjv3DP?ȎwLbˍ\z4nU+>|9~myFFhI%tm`j` żÔe6ɉ2 0 V{"GCj!x&UTQ5~!9ODu!p8 ;'iq=|za`%_usm?[$֫|>O) C)Dƒ'v-O2X3ý$wO֖iv<(a t*Aͪ D f U(fC&R6-~tD"ZkTH@Ls/q޹઺N389p^p<{tpŏg\Pj+:$)A`R}uj&û{Y_GF'e6: #OO/vbHG8&Ųm&ٹ'D0 >mfM Ԍ[!Wo\/N_5qh'u\$PQ]}\L;$#rcJL,RlEY F/I ʓ#OL= (uݽ`~E|pלt; IDAT<[ݺ/+c4惄%''N߫ebhr΃t,!C>u~/R=쌪i5C4l-f{0 TMss6KzgYHv4'=:3S;OD)I,|^ofx|"S*Y,)[FQeC1fU@qe3ChJ)KKY8dV{gU w&#R^(u"&d}`\՜zQ)r6eEˡEfsl < K9A1|qHyyw1QNAА0E3leyf@Nا"bJjWz%X9H1#WWSVjy) Đ1+X "+Hd_ji|`fUpDl4']]*Y<9;r瘉ZU%|q1Jl'Ոrx_Td2a軳zZHB"Ǩ*J+&v L(U'+v<j<>i`ѯ6E?rf\L)"dR6vU-QC**T$ھ.yZ51t̋jUCq,]'4u Zhun4J rS3s}ǔZ@ ypY3BĻ]W^|ٳ'?]d 8 V#bY:^rqT޳EsbVftGUjZxO>fH~|OQ" ?ȿijPZVa3O'痧n(7T*&'.z?ʴLo^ϟz:/?JؗV00o N#2MV9yx bn,W !pb><}~a=|"I?zz̞TϘшMЦyYfR7tr9YG}$64G{rn%Ni]e'#f%d j1,y@x_cJ0sgN.rA[jx}'fD;B&s3cdU{ޔ*Җzyji2Z* ݉E \z zsۛl:#PxO>cgrdzrw` M6`*R}} imǃlmq| nM?lt @pܜ%v[䫂Ng9auyOVӢgc)c'FZ1wEa>vGw)2 xmm&j )Pʄ\uS7}c 9QΜ([# cap,p"Wյi^ˬ2E]IIqcEt C6vI<@D"s),L>n~tdsnDNjh$B"->et,ˬUuj ]/8)* TD h-$BdS $<'PyO =0C jqUe!$D-2#9 69:I TS9gq@diXt&H&A,b֓Z"e˃tEg~/h 7r7_\ypZH@CD%ms)V )S0H8!AR=_ $r_B,ZV4Ts"p}D ݭH0wy/KZ8aqf̔`۔_jSNZD2e)K vzwyw>m, um c 3ƥ[66iۻÛoٛ_~s]Ne?\!̥xeF1k} RVwDUN`ZG;QF:<0=ɗ귷Sѩtm۝#0v2sQ#v2]\Ъó'yxdim[2[Yק޽r*@ VOk$¥ L s@sono2d٦qm!D#0!Pf&$D pSD{؟sl6y"u]^\ΰ)".RE/K)2W ֥T@"Sb旱GNX"!j .mE' L%f%8iV$ HQG͝ ]QrbS9;""r)gJ]'给A(  N:@V:QZ+Vi @פgT$\), b€$3%Bd"w\)ywGY /OJm)53o?^矍x<ϗsa/^=|XXi&KĮZިWPvY+Gj *:2##`YMNӗ`Dp(-~@`n`Di@!IZ&Ii(]HljKQ" ZɄK](IG յF.pSꈀL+DerG٠D3Z]7<ӛl30gf!$$n&^ lj]w#[[fM<03''?y:??y<4YMݱV5]؁S nlL)w Li;0y 3:8QFCR/|pbx;-xqGI" ~eX%x뺔zu.urOe͋OtۜJ-R oߞr>Lq:M^?|1+"%a{LW`4#>V^lͪvco#rSzhL °WSqH^ͪ9@bL]bb$0Lp5_P{B V+ŘSB\fZLMM?ޏ cվhONX#cѨ-}b & i+nB#P#uDFЉIr3wLHQ5A2Ek 䧿 N_zMp,4^U?|STR;Eܬ,ݮuwСBv$b@-º.hn! 2>eN"(NiĖmLƱfNV'!I$37ݵVWeeYT:$' w8'N#X=-Íe2t9d#Ҳ,]txrKecmr&DZ^q!ǷϾ;|CM'Ёuk\@`2/r>3vnӘ -1b9*L/O???{};o.e$䜹$ @JoPͳ0CɛgnC7#etrG%Ng}7%vLwwEDno@_'Mn{&v7 TLtX2i ,.%x7uDDFc @LaC l"#ֆ rIg5$wDF3-LH$WH DL87Έힾ؄648f xU+ bIb3PΒTէ \fW]$LY{;QIZ| 8"1DgBsjk4c䀈Ctb>o|(I;׮1.G y,8HXV5u3"WO\ZuUx &UkZ̗ɬM ERrUM}ZYl##E01;轈@JF}כ\*T"shz,4.]!$I@YKi.m}L$ÀDrooo>|~ٮ.ga1L@#[%UqYfD, 2/s]^}.v\N/Ф}_?AqW?>8jbv>41'm'ʒLaQ_<3fnw$'`e 'ϛyZKbךr,:-_/n~x .YH0y>ИznJ W$`!eR1hGB@-Q!:(#nD4Zjs\ZZl)e1Z"|3l@|* @f݌Q%. 5i!p)jp]UՔBk"RuHC p`J5jXHRK83I1. nހ nqP`åU5"}@<.Uܡ‚Lw[PfufsZr`Rօ9m6?$?ko|o>m6QjЩz:EzdL ň!1~@8>pN_0qSgnj+@PsԱ.?J;##0TfY L4|9np>i"ƍPb^Q$%`L쓽&mok IDAT2u`2Z,v1e)ZXk-nsUÇÅ5AhP2<\KYY1O\796\)N3mMd8O&R5 =}]!]ft_&,836_eD1#'‰óN0$T5sybgwvB e|} "n'`L x\m# ##zZ9TU3ڢR #aӭ\̉QPmEz4Ԥ '5p jYH\A= zmӣ)%\" P1-:%o6[9=iT#{LZƧ~{7R8 "+:- 4y?Fh"i-:gwkwcϺ ɛmo9PNs',|eq$]-e9k{f#|!uuL'fuf- O_W>ՇSu}-8]cQJyFEhx8ëfx(eR+"BN(nw?]ۻav6˸4/h F,rpMuV&dgKx{C˩cfeKT-α=3_J(ŵ /+BϿ?G$[̙h} Iq/aZN7GՉ?zذ~ȊJj.Kt,jÛK-4q\j]TkTߦ~'7ͷn'wƱ,vq4tuzJZLՑ9s&IfBhfBbRHy)ZkeUS&Pe}"mWOcT ZBD$ª5F{h;<Lg$itZU;tZeZzyWffU(o_w~F`H qc@UV_ ^ը8bމ@9N!!0[t([5l0JHPE0%IȠ]J,QU:нzj%"S/mFᒧByzyzjD\c.hnsk FQ1Y'tT׉5k#~_97zݙkJ6T/<{DeR =!JA%#`!`NGS'&"`|[EwU:X\ƒvLΈHDX:%j ;x]2w&!-^>C֎[ŋ[Kpj_+]i^=(jzJڔb(|6yU|,\q4<)ownU-<5ڽ_a'UCUsHt̩>v_Nzy, 2t}u_#!o64w)ãZ4pJA2Nn_ݍn膞TݲT:Wt9-\^/+Y e2$&405e.{7sWϥ*dr-]X$2[s@6톸Oa~ QbUj 1u/S21~ó?lXjKfzǹTf$On/z|s3w9ڼRv~x<\t>Su$N ՒH" (  DH5mVUM =q}LZgN[ҪRU&>qWy"4z\'qmM@ۤIfg[EKH W՜YLRH G]PfJG-x$$`HS Yo$GZ j2{la 2̼y5C&F%b92W&0jAUG-TuB3Gt5393 8[9RjaU96Yf䀄]iAi,Ra<}!mhfl[6PD_11-]N prhĥ`]MTV?%tf" -!H=P㕇hmgd$13&ai'ݵZ-L5W@PXԄXX"x:,a2'(^uJҹ0!Ff(@N6:Z1R/d Tj1")wxLBѳ___~|$Ĕ7+2 rR>o [V=}z#U @'9S1Kʻ{ynm:t!oG\c_Uuy;8t:qԩTrޛqLð6 wVܥgVP+sY\~3q? 'O axKz@4hC"=q||aK;ؠ2O-Q1!״<DDwI h5nx:_aZ]#(4r,,0h܈:U0+jF`̔3g,2XqQc.hm!iNv+k4HxMMhUnފ`i?ft'hߊStXDrJDSJ4f`ZܨjbfȌV(%6 a;yRYEDzpB` Zr}P#:T`bDRhc@CsdR VjZV4QuD@:\C3fN̛2 <:Zp9(]!bVNk-neqy*ӈ\uy|:ERQV"EgӦ,~CCpH HsCv3B Sln 26gn8nښqѰkxJ~ @7r+=;B)ˣ3Q'ecƠNA(+#P"t!Cxߠ3)I||739Vu ǎKL39 f1#s$HMǶ㤒|<.Nͽ;p~}S?[MRwrڶp Y:ߎU,Z׆bKg])'-*:~e$ ApK*Ot}w^\'z7:J5\R px㣯|?Żj%2Mݪ6ʴj }j}iRj׽*T0yy?UVy?׭١IMw=>Ǜ! &^cr便+a:y>_MӠQݱk~'{mIDATǹ$Dqis)\8CȑWs 7(RDR0,\e\C$b0G2$ ̊k@H I*J<<UpC rHb5{g-,3j}ՉΟk[=C (Q)20I (00y"ёTPHT#5 B7LLD\Mg$d8ĖUݝ9E+ЅEDGMEJjX >.Ն>5XܨB ,?Q胺IMwgs(RqO-wG'_MS46[#n$XZp aI~J& :ZqcR ƱܻeqP53+v)lV㑋0B5z:,Z&+9sdrrs ȋ'CYENE!5]FӃ-(:/UUaqxrm;MyJ4JÝkGg_/iJ-s$ QV[p(/ҷ2G47v<}vӤt:tX\{`"WM;Xtb)q3顕dMa"FxG<~t9q`َ \T{pUuϚl| 3t딘qPni*VzzK~6xqE˽]b+I={&j=@^ⷼ'DM)OE\]|'c()o7,瞘-9kӜI|[ߙ.<5DXCIDZ9Y 55wP4J7Bs-6'j !˩غQ+!DTtv=a܍bܺX.J1GJj؅:F@'_Xpqў7H$BiWݷQWZ&'wqAM%t93{D݁JvWw" ȡ;"A ]́JTP#IոnG@W^FXsV$@n@IM8b< 4&nf莼XL  `(TkMK4y,!`Z{um/޿txپfHqlha2 36[U3&lQӪ+Emԛzw7'_ tw\dlq'].FtݦRl8i7øc<;&#!A5ufCѹO Jb0GIDuKwji:﯎ӑno$67s"y$vݧ|JI8Abnt]#ffHd+wJ!tJ(uFT=`qHwhLJ tikُƇ>5r9"2Ep=*4v P6x]uiRbTN` . U{:ǖ:xPxf 'nKG?_%DZmn[ռ[ezCk$Y: y,:O]]w]5 1En8 +؜Gж}ˇW4?=I.9~6tƸT;4Vf6M? C@ޘ|Ts[v@ޘn^_ȬV]ܻ{݃2"80H_&bP ^4R蒬8sKBfPFdTuu 7"$WpbP+Ө`D5&8`X qMC "tH w"Ȗ Bt\LM]Y)U&Rѳ4! <=#yѲX aP5cj5%B8[?v BBZx:}a+0-{C[Ҁ:o[ 012Y39+]Fd7d$kL!t rW/Z w @Y`!{IiB@yy`PƾM46IV"q?p;3+6 C=Y F8`?>~tr 8;3_l^(H#Uv+鴘j$h^^Jg~ާ?˿~#Ko +(utm. L9+ax|7{~ʮɾZ=I9vTJ<<65mBBip̻cNZ?gX{ן7m3ê_movYmܬ005FDM„g-Y1 ; ,k˵"Fp(kgDT+uLhL.G;ۋiر DBTGD5Z\nM(W-VrONHaeQ~\j%olpF9l΃<n] 1Yfb:@B8 TwF9#$# |Z *@QO8z؉r r@B03&aעJj2 kQG00Nz)sY hZrb3vL,(;汄\l y8PaѠ,u]tX˩ebdKќU)8iX ÞbDWRcme-Nt!j#;fֻwUxrD +[$dH TlTW"V!EB} S@ hɥ>lmK$smg)I.s] lGufЄ9(8:cB@?LdbU5䴔iw7_.!|y !LӬ_g nݭ_qQk"ihdE8ل^K,BU^뾩䛛-6{O0wp9oyiT#׾?s~M}1 17WMS*: e"$h"`4%9_ N@4R$m9%JE &aӤZnw'%ٛ DR#{0QZ-`eea)V`?Ds"AHV݅(1cv }и2'wg_/}7lިpU, "$?<IqN#YĠ#̷_>6xzo[?^"ɏ/zPBsIENDB`Сt?GAWYʿ+qY&ģcHռ.r=۞AB]@6O|8 <<RX0Q1)^8^8^о .zFmK׉!nnaSZK}fZȴδ뒔sΞ9&uns‚CF03`$$M}}HTQ@D4"<,! 1z<A8qoJCVhāG爮:A sqRAfQ2TbVX{ߓHD+;p!zȹ+5l9rWTˡ_]pvKb-BFʨ"͇*Ui?77,|尺 S]C2;(eG=M;>2sq]u M?690v,Z*K7:@ݪ[[M,-YKTe18r w&WbZxP/R``BÏ09;Ȉ[Xq#HrVHY[7]>Nn*@4"Dz06= D xj.84$lR!ءZXi޽QOa*Km¯r,׼|ٮ^ŶvNW[I_# 6K)+f.:9>Cmd:{i .Bx9̃D7 Ȋ[MVB ;|_\r̿,{6f}Bl5jyr*0a¤+/Mll"n8jsx΄p3=K C.#7{[WD$X d [wvIrC5ꯆ'\4In=5t&]"67_[N#n$u+?xsCtKSڞ%KDITR$7cf %qv3:{jΫϿnvy?ڒưxKp35kx0q@ 3?,=9}zWVUO_3B؄Ӏ3|9F^^|fgN;bZ!\\EܦpH>'tg7DĽo$AJ2:)YhI ?3'_-dI#-{fol }Wةa%Õ  8zo,uL2Z_Ai>eۢlGOkO߾ j˶~ 7e>p͙"yKnQbRtߧ~ #SFn6l#{[P~ P^C;̡zLY19sWU/"9 p6 q@3X{ <_s2`r"2RA*bb< wh.#*xZhtrQ!A늸؏+$# D(GNyp[&xJ[yp!n"yvn^}iHAUc_pDJH־=FGد˥dg"vO<@B28> %'g@_;:uv <ɉ|Zn}J(eߞD7\ypg߲,J#x}" "'#X9e`Za$1v8GcW>CdԑvJ$F;?S$|a,ae,AIA`ʰ%;K*=Dq H "gȲY1 ^XcqOٱ<=tjd̼דXo2YmYIzՆK:(p0ֆB/V` M_p C4LHpL&lP"/q빜J| 7 v:|vF%G&'>.ah om^K M9|J6 5 O2>9oҐaOf|z}yɥ~̕59"81sf铜2f@n^ؿ;G<- RRT ?WrK̹jݥF.{Y[HU' 7QNs=f!0-^J[c~j)pozΝ_wr~ȯ}yU^ixuT>ކ?9cPk| d{;R˜y(Z@MJ@;(r:(N1z)8:ј;Eȳhx+>_: `\Ƹ9 0‹F;^c<u|ߐ֌8\dQǧQa+K8'csu*0e,z?Sӷg8r}]Ȣ%D+g~^, CH 'FidƓ]#k 00i UK(]EYej|y" G%R ?ם[);NocLn>d7TZ]_Jb_1 [-XRI~8i#`Io\xzq]01ԾG"7j<1D2"5o|{iucs3y7P8b w`2F&;$/ s Kq1mű T$@SVbᚯ+w ABTwYQnӴ,x~Ryا r%J]&N>pCx H\+d<-塪yg1:4c+~MןR[:rZ}#BW_wvY;+؉HO;Ƨݠ䧧g)=3a*8-D1* :_mE\67`*Ҽ7?/dw ]U`G`f2EG'p`YN1l֯5bXs|Km-5eŃ)z@7K(OyA~BuݟjwNJ}s+d^zc~K4p۾'.㓯rztLV];tPp`qU6,k;wU6,XW 8׭!m ;c;_^it̏jAUKb4aA u&بfJ+^Zzex05^|wz˲!}lYNJV`ԫ\AMb~:pL嵠5l@dz.deͅIz'=ں>߹J@۸YnߘA&b> 1h23𨻽2kG6!>=Lq#磰v!mRsa#(qn@ z8OӿT|=3kMZq\NoK#-Ft }Sl-b }_mFH*A,#-0i DzVWKu해L,5m ;7W#bN $suuX*{I;-/Wft$P]gk _aL}ܞ~!Fm55w3~v@jrs`nm `/Dw9Ba_t$g5]sT?TpXej9W,]H~&ˣ @ v?7[|[ ,6Lp=#_68rr[>k98Į 灅Yds+Gm*j!cvvAk{C_N A0%X>*\+͌oR^g.qEPUgrBs{ըsR㝫ǽKIcmsbmBH?nXgzͧ{q㨑7i.^skGy5mV[&w R (kSQr| l'V+k?$=^h +:B\nbR@7S n۞q涅D2+Nn?"~L]<XH>, ;O:@Uy-^Hfoݯ]晦PyKo^|rLZj ˏTF,Ew.<\CR_?wyJ09?l ՞ (,d)GDY뙂8I^/He**+X Ωn.6AA.Eܐg}Ȉz?O5rd_R ?\HY`(bNY@IL;gFۈ]h?rkj)Ca}[uޏ͇ة+r"c^oAkvL!$v$5K\ vՎT=x@z$MS ]fByZK!c|DzxOvAM 8œeC_$}b.JbqqH2VDĥXʎU_O-3ߴO0!͏ fo"Vx]Y]Α{޺uyˑ[8kbQ8]W VNY_瘞>||~GHQ6[e&Z?bxŝ1U#m^Z5Ϙ΁u_/`F&n@X֑wLO00/ÐEv\e]kZd2ړxSO^B|z6<`U9lL↧WT"PA[/YIͨIE `5/IoPE5;(8j.Q._(@ݷof;3RgIA˞p#S4ɣQ FhY?,hdaоc 1|q_ٔcbcr ⩤4GbBQt'9^0%miYBj:WS]d?ts yxǷʬZZWUaaa෷+8NS0J=@HݾaCOSM^VJ{vv1n6֌־F &A*EbH&H[t\Q Zp7]t69jh^|fP(6z8e$緜S,(w>\z7UuO˫\9-k|^ZáUDKs)Ke|KG W)ԋqHO LHْ edN+b*bk^vZZ_Zλ7U9j5 .n=rG\ h YcbFF+=pI \$KYVm^H˹s} rzTid h8YA*9xգb8 &ǹ,;ZƃOR[Ļ8.ξ+Gўbi;p{`A"QߖĮIv#NZIH w]i;P{dB"}g wYM:rjI5ӪD"v=>_Xʘ0ɂN[{Ggѭ.4V ޯ-*n$ }r(_U(yG hNlcڬbex+MNYg/1lwXR৉ximH9Xad)ei-o }  ׯo-X.ϕr9B!j'/Fyi1d$M' R^mNrȷÔi YǙ^C?~_Up :0rw㈯zSCHQwA[5Di% hm_ :mU!<]oI-qX¹3‚wc;YivvC Y9aGw}q'P8E2=bF-+{y*CnGm\ &<.c P:iqIX3`;C]>"L뀲1[y?]®ya&g ytst񱿂g.MR𮋽TA_ ܽ}eOEa:s`;9ip*S¶u<1ϋ6C"o 1ف˻&ƅۚY64HxEU*8;o-O͘>>ez, eXHV6tzw876ȖN?h2ft] <"INWV;;l$3 X/A ]?ELUI߯3{[ЂȘ(X]Ę6cdFC"8#X0PmCpԽ^) Kɵt<[NTjzlx 4?y`kC"KlY yFEBUn`0-Nׇd8UoHsz!QR3J[4EJ]h 䮋!*1$g-/4"Z8m,-LCwvXNԉ "9~xA%L0p@)MZ| J<;ij+(&T:ݶ*&QDNҬ {\סd Q-Ď(x:oe+0 S+n9Å"dٗC\羘350VZ~W5N+ļe\US:e.%GӠ%rW@-Gx})$sRT/HADY^\m1pK_c%'["\|Pm"hsRAwGfmQV3O>&ZII|tolX^[SH$FYhY: 2℞6;Ca#Q\Q`6hƷJОz  /ߑwPE ?^NcBQn=+جLaw Yc{TZCu2Wm#4ufaΔA'{OYɷ' PPw럊j MQcC:k(}Sca$(90f*->uQMJڒ2-Mv_]w" }v"M29 ?=A^yz5eBg+ ҇ GD>LdٚI= '4t S@ (^lH2V9T y|weWUoacLaG+v>eDŽX>3W<դ-snJei룦Š %DIpʴII3Xd%PhER 4&8\Kre9 kK4-AnPSWXɴ.<4yƳj^Y򸷳<گ:ky_NHht"|[uHΜ#[Z}2T5{Ov7]::D'|v;P^sC,ٙo R-.5=oHp,nGHR[8(1#MTM:A6O_%^B<b3~\l8Nc4ة@;MdHF K$ P ǐ;mY&O21*=BV=esv{?}SVG*a"a]ay@:QoH>EPQC.hE^]h4^TzMlnV͎N$^C5<)_UV0Š.A?grYs{,ԋi/'3b=Qd$W!z㙂Hc%fmy 2􃇳8 Z@Qr3YBF$a߬{DP3AoT'~>L# DUur 5|[8<&TՅWh䮪y?S{F>_Rj #KzH2 &%T_kaVJhl{Vy yK!F3Ex(mKH_6r4>ʀxxp_Zp#ez? Qx 35xx~X*t뛝JLnӚrTaЊ4 B8,Vl  W5b5g`l_-DZńHa:{RH]D8]Eg 7cVGnDkUnDZVuT Z65UȺmȎLg&>&,cALv>^8@ْ5AtdbAYXK)/wz⳼oQTYv`ydr6%waO* *&R^[ӆ-ׯ?}Y{9OLGGfG7=[Դ If;i ~CaqvOI+;3_ v}[cjYk91jϖ.re=%P\A"Y)ITsǹpU&KBZ*+t58"1hީ?=|nqwe9ss_FVַ"JQ'xVlh-Vc'>` 뢥~K9*n!U+Q-I̍xSiAwq@#I dqQӥ: M[$SĈQ .3~Qa͆YjF"ÊiIi>~ŒpϾ W,vOÂu;׸>굑sNC^Y5qS}#eJ~!̏CQuu7Tnc~kLjݵ_ଡ{$!_jK!{R5#B򛯎界%cwC}oࡌ97dZd>k#^7< &l*PAHOo?Z"UhK`ӳ5vnuaȧ g#dFvxtcEQAo T $>c0R,_+KbSK-\b0Ah*Y%C97A"G鞖&~9LdA@ЖZJ裖 4úz62ǂ0‘-uVK[彅AGR{Gbp`j,N,5phX8·@G"*MgR (3^e FCjtdw;U^]s?k#dcɞ9a[n݅Fg"tACZǑe''OnbfxsS?=I&$+2>V;v/_#Ѳ AJ㦞6- '_7OzRt0kY]n J!1`^Vf tѼHlr.L1 ZP@c?Yd7Wǔr:xmbdXq\g~Q?py]_u[Ei9j\ɝ*^MFag!#!i_z1TNAtz`/+ ]R\Ӈ)Lւg)K<ezbjfXda_įK,9l|]۸DTY%: We  d%=ENʙDE)V.q#gl{/$KTD3s鐾,jr)O0Ò9dIJUxqcl.T%M(kZޞ^ z~Ww'YpTc8Ɇ"= He}"!$G|& 6a`&otE#2/CE鴙g p{۬9:i_T =/-5&b)Ikܵ]oߑ*v ==?uLқzC{ޖjjt׿ڮ/p^"!*ABq;|=h.Q&-$F ZmUiDf5C>52 Ыp6 XU~Vv*4JV(Ю&Y#!KE&Ѹe/&_3Ԅd'3u(mɎt雃+ xOl;9ƶmsc`cllv6v6ɉ{{S=U35TM|C!r]JQ݈D$ Jl`ӵ!fHd3{Pd*[d>%n"n 4mRɚUv 2!6ZC%K*ZxkJX{0 x1.u!,Ux,/mmA,y Ɵh<}v\SUV8pFU Ll(kq $9a*Ad&H6Uc\8 D.?Z;,<'&զ-%`)Eni.NG!1(0̤&ېQav,qsZ%[k/%(!'x/:gGY.+„'M|\eXpYL|+~5W[WݑX"#W\祫Z}`8Svq8Te9{h!Vb~%C"ak}'NMV9,nL*xu(v@gˍ╆ ?l^>Ψ!kxæ puFcN$٢zqv+i^uIn‘y(ݔN_S!we9$3L %7ǘJ1IF-z,n -r,,8E"mo:s^z i+Qh qP)V(_P{w-h5(X.qpp85sW9V@v R.8| v Xb=9Dd@H 6P\;# g2ZFfos05 bC9fJ)D|eK BzHt7źwe"hA(ք4UT*i|0<א*j0Mksen|9[?ۛۜC",dOq@XTD߯4ѽ z8(LUG,2uHǭjEjl/Fuh37bҐZ'qTYq!2Q:* 7;e,FE)!zMgX_~]\\v-]ot)<{@/9nO>*귲D>dQ0:?̨G]]41t]U$E e8 ʂ5 Bu޹޷Sw@@^x:t%`#4.9tQ6`9V]PcHjMȆڜfEs7&2Z{܍l a]ivFHP"#wRXXYDM3QyxѸ)Adv6Sm3asٮ,:7K蛋jaZW?ф QA#Pղ;5XUg 5cmfLJڲ!BwBEYzEQKߗ"T_3cb`Pm\s*+ rH"z즧cֱ٘P&Sdrdch)-Ci da(b&;eL2P41ohni׭It 6icrwY#sSgz6E6aɨeXWn44VEstI p߮CyA)a{x)?J$b2(Zp)N5A;.+ 0N]>KLH;X%w)[17v/wxwS}c~G?DK@6L%wc(j$ނdD2DG$t 9׈گQW6ך׀kFw "th*s\K6?~ŲkC ~Pp64u1CDx"rtƹ+/a$(3"C#uӻY(A"%M SsT::9sND[}Cd"ZʖADUlʡFKqtK6(b zfN'], R_d1]u~& |HN[ǩ뼼jnduEd_DOQKIk,mE*Qѫ5nCNgN-ѳo>PtlTV%k/! oֽNocؒ[~,QUlx!fX?W+hqG&R EB,-v> ?0_a$;v@''W{+{kapI& FA= ^Vq<7&6Ӿ~/m2DʅHpz\VjUmJrE":[ Kbtg2}ɹFw}yBF$$#^@ n86<Į]qrVCX@;+ijǚgʗ|#(ׯ#x4QvEr'^oo2!d YbkpHKuם﫤XY(OV~44>= = _~^߶Yl "]i}An)}TqDYOD]7 &zr7pdʷu9[ ! V2wbX640=˕뱖Dhk0"-7~ǮIRt!5j(HD ׈QbCp甧BlU1+se:'D{l~ST\t.ZkS{~mADMkA !6/a[`4.kUrn|`r!1!$1L|Ou)PwJLZt?J,f |'b::0 _gUɴhx2'Ķ, 󶧘Fه1y߻Î.H f%k[?hP^/2O3>oZ)ݻKy~wK"dK *c5$_JEɬ ]?3; "ؗmldBx~" N~ ; D=Gεr!%و5 qvbbE~e]@gf5/rDüar rq)-W,pR!:T<UkkL(O݉ O 5Ysxg3 _m :-~`=R2W\N Azq3tf=yE2TYyb X{J1=ȊKޮa>Wگ_{/o$x!9h>;M^k(5Œ[m54232JfSoAMTefRg#bma(%Cݳ͖s8,խJ  t5b]^UjHa XTߏ噬|3Η|gcu8T!!KQƮ75oI2K{i"RTQQ@Z% hPHVg'79i.Tow'ulb?* {E mGg4$ˇL%.;[gSBώQ%4~5lp(άEA-6R014N&̮@À 쇉jXQמ-㮹ԛ*RWZ* |~yCB͸6ɩ30Tc5y4l_.o'PϤi,Ԉe·|[f~k[+܇E.F S/*'RM^s Z0ЎxŶ&qW☞'Z?jf߾jZ?`Rо>}*rث-؏>"yq@UE>am1ђ(4UlYq;gc闼KJϥf< fhC4a\^#S>~m-NY&tYXm_aBYŽ*rآk=7ztaK?} :NЎ}*#j>)inUe*KivI0ӂݙj&q"W8kݠ}7عoqo( H|,ۘczuMFU׵G! NE}_4$ n"ACi6VJ J34o}ŠfKi < ̈-WYh<h>Xi;kbW>R7}X!v20V̨I̒@iLb Av"e$ yNےNug՜$> Xߖ;¨FZ1T23IA+AjQƷq7!VῈ F@(Ihy._:ioK0vk1P{ A!Dѥ}W: ;P >>ҁr 4{)98]]Xw99D=|;=t}קaS Zs^QXY?#wi?4Ʊ8җ#ycZaAxr^e(כsw3$0;ɌzfUa_XzriQ`fb{}Ro]Yjzs~6o洆8I3%1D#hjd 7Bx߫$̓F)~D1D )wO\{uDNc qlZ@:{#h>tz>J1m1Mo9Os1N؏#p[J/S2DxWMnq Q午P]:CZD6$F[6VZ =EpBei-hWuVj0ARPr҃*\ f2 !$us~oCKOWw՝5$J!.Wٯ.GU ,tVN)(P3bDG$I;6vq\ Jo>oL5OG ^9;YߏFa$0B"pzR‹5?9/gS?Hٽ,(pId^h[Fٰ&QZyALt3!ff7 L/=Z177qiA6A1є]ʚJXų`r&SDp-b8Ȍ o{}Zo։@D 6uJɰPSa-gZxfq10Qqe}wCَhKeǚ-Fn[Ct]ClC/Qֳa=n|S<"iԱl`{t{O럦/=W5pr`Cޕ$emQPwlU^7͖ZɡǮ-vGM6m_ܿg6ro2li9 p_|'H&ChPG6a+h{:IXߌk ,]Q )+JRbǠl]r{aȷ/G(O =dFె')Q=oXvm9r}7;ޕS[F~!ϠQ68nrl;`z%;97yY V_^^8p*ed)qMV"&-j2Zw(IuJ+PGSjǯf03t(d_NO:oF`)lw?cú:4ڸ9YG({G־~Ε+5)%:KxZRӂ7-1kh>S8qH &Z)nS*LĘ`VKg ;#A| U@Bv% 8Y6>iLUm Ɵ:(^+ ̒@'r|^776tTĵ8=-Vf"QN1~>{D dWO,h۷/6FSء(0АSR TYMHђ_uM-y9* )' UZ Ȗ uϬϴAqLѻ^`<>彝\?WdYttKӚ[}Cnη5U&b^ v{~ gAJM\RL&ē7UGJ"mh4g6/p@ːcnP4\5AB8⺚쨐t1L B5=̼>Р']#@,=П9c,WПIztdͽFYtNuפQ/3:S>uRxgYW47luth%Q;|z?0P?NR'Q/?P&KV3O2bطЂ  )KdAlqcof2 :o}$/}[>OF>R0RR0)vMSVa438}#rd/m_t}~u"*?4ȱ2%ǝlԫ';6G˨ *$_UH(` @D0`33pl? 9Bwu/r+:!Cffh[ZY&?ZW2(A„ frl홏Ŗ3izl* E {L7ve%&hdv9'(,m<4r#d3dD(ȀNzfE-Z3 hWQ~_͕*+1>o~.ݫ2˻ؿ'goD3JKx}&kqåɾ- a)M&Aܜ| RG7⑆wQaG ,[.!V/T+Dl:qS21 ;!֝N.Y13X4Tx@|X`QD6OIC|ΎBQI)lFˌsy7fMwUt!N^o7n!\E"p \Ȏay)[ Ū'G]S,r/B\L7rwY{5b]zGe S#Bf"_.EΊ=qTqR9{DږX#+ -JԔ5"X ŞhT4{#NY݃~y-hAOm<+JޕTS( JJDJQl;n%iX2W;xI~5cֺP&r .Y9Zm<-VqLs? hND vN3~q*I (CڧҙM&;yW]\2oL 4jh4D"zXْWaPŖD 4 -Á@ƠDr@1leYt(R9#D< {<EuWk%}|Ө:LBh9joz?82^+@ɑ7a`RfzS{. GMdKmGCdAFntaCh#Iw<`6 mt!a*̬XgGmo0Ѥ#XL\ Y¤*f@@gh`_>\eWka?9CZkge<sKID8ޓUkrs740p1eѡa;]{ªK~ͤʗ.rq$17m*\ 28mοh岵 MxDt[W(++ɥBmy1qƣ%u`:=ƛ͇vX9%'mWNSa" gAqs`eZ[@< E\וW`Yѡ#m׾IIyφLۆyjľjprᣬקM? $~l{l,v IڞWCd<=O3u.:YPqLB̆\QuU?"ۊA9`ДfL6rrI^]kaEZ ^Lۆ($S 7}/|~ oI?*cX^h|.ay:}*߳?X˚;ZalսVAI:Y9U\w94TT8N9[}uM;uA1ÓOaǎ:X-L$U]םꮔCF+ûK'$d{\|\4i_ˠUHHNTvs?rPvoⷱfH$13`P!,w|t96偵3D覒BV2NJ_ {Ro[Kr `8a"v/J^ffMgÿ2#7;VO\)qs%˞_Q_TK=N*9:3xރt wjJtF_~t 7*AH#% A)|x*  ģ]Iݨsļ~{Y{a {= "TBB4~PeG<=CCAW-b{|"˺A[[PӂTdd\览56P/4Ayz)77UzŃP/ޕtufV].%Q'VsSQvFRxq9UO(P5>ݳ+~Xiuy~ N'{ֺ{+qGڞ_ն7?=RwGmaRV zةBkJMX:nӃ+g s~Wb }Ϡ|1k ߑQT*U^w.֞]),\~MSTV~ϳTr4HDxJrD*6 20-me @X%ݫ+ǐ߻:}:yR:z6> F]H[wC]`]i¡]{y iQN FJ`h C@b}͉٤|yEGn#`0P@yrj܃RE']l+\^ #r^C+‚w¡72\ЭrO)~}'nBWGg[h `>bC ]B}SvrU0&9}v)۳<{r~16o "s Pgt ( >9ڗbnj`P[:!AVYA'3Qtv(6j+1ISgeA Z˱́p :J1iV0U7Kݝ[wK9"Dpttk }9=IowOf'51{ J>Mi>u/mH,29WАMcm=k4IҘ]7׼ΪY7fSȱ1d?Sa6p囄DrX>EY2@ݪΗsukjҕkZ\Ql wQ @BL |U ÉxrzZ5z÷yHEL\d$;SB{)+Mi(ߙfpW6@9֩dC'QY*3uV)wu~کXy*w8,#MhB=q+;.hKKuhH$*~-c}Rezq~jUGsWcV_cRΥQ=w67n=6g!5{C$y?^}A3\_\ }mkњ=Z||,?|v`tn|pjskOyZ1oNH.\>?5[녟}:na~6-Ih+&X(ܨiﯭ-0]2j T]MG$n7#rQt/kzȷf*^BȂ1DOm L&1= 3ir g11)4*GiAgBS2݌ @X (*a~EP |r'PIrRx}h @)mP@{@p<ΓhK!!fv?L pudŀ $ҁ~P@HI͔[^$POf<.S >m>ʡ4!!;&VXҏ w̐|vgǞd|5/DPPb0%W zdUͺ>W䋊'pu5X ojwW"-z[1SRӈԒbCg:C$c&f,ͷxњemBߩB&dλM/3x6s/ٟ_ovUv\.5|mi7V~+tg~3$pN߾,abAPWLc8ԶAah_3)e?Xl*TN*Ή8g1|"HbOw/NQA8#zょ}c|ۂ݁NCx!E$̷P8^$Vx,q̟1>+6'.!$Ms+>s%^f|R&e<_/9mb^|N>ɋE.g.OFCDsY8DUW?UpF4!?KhZy>SuՉt `&T ^,z$(ٔɜ*a$,Qm4M,IC,)oP&?9!Gɽj 8@*Bny̷un^?e|M !^/EğD#^%,+aռ6-.ƴ @A&YʼwLGܭǢ/_"gXZ4ݮi'At7u}\%h\mWY&*DB'kNAp .k_q&K I\z&F%yy<]`t`H&ffsbNVnѭ.]z6Qp\?xk4?mcHV,]Z6B=p4ɩ٩nnz[Jf`m l=M ¼#0zgQJ0sx)HGRgu)nbA7@ӬY-1xQ@ma^#rb;k|Ah ͪ:TB |K;~[otù^tZ-ew$5?~nm><8`ae{HУUG>*ًms,Qkluq˹K]qMdz 9hb y*?v3@Ch-b#C}_7Id91i%NP-2 B=u4g0 3fdiJā$Wͳsv~u|"1)r1 x\4 @_Yd9 nf)M@俰hlPal"0 !0RĴ`@:g&fE&D[Msݐq`:sğsb"A.X(0l0C,$ԀVV %ĩ I"H{{ݪ P%~7VVȘ#2Ac&cO͓!8SXqc塑{t 9>k}+cfC=q0<BU뮐ߣkxpn~_*$>:q[`R?gnt\ %`OxzVHev"92T% [nKV8:5V-iV_BV6 $ύEOyEo%]T]n^Rc]UѱUū&] aٿbmnkWoqA_auaQ}EI!}hrXZz?GajTUo ˵cۖ #|N7vV;fEeRtL8+46Qj^=zwSBfђGE^x+5J)8+ ^|b^' :J@]1G( B,ͽ`'\FQ J Fe3ܳb=n`Cula@JR- |LHMhՆ ʂ;bguӴ~!~Gwc_^8ȏ0j B4";V::e 9 L(h#'`u8Xol$@/>w2oT8*bH^DHW%ϭjb;R"^ds pLyUsШ9ѩmHͥ_|O#:6E= -PHLqgQ葹M4qBonJV6ҡ7Z:7,{׭]k=9>Riyw+NOBv_Vf]R(d͢-68p¦VMWmUW{1OꞮ5t{E۽.`ULxUTQ-b**`ߩJ٧&7H" K[ؿUs237[(6^qa6a@ IiN.Q#ID32Gchx{ςk^ ڈ$ٸA֊9R{K @eY:b_#*ԯpM+h`''Z}Bh d٩:?+r3A\C8ba,k׊vŸ=uA$¯OzX ofeƳ2<;32M5<03kX^ѱj4SDz(Yg]̠P"YY.-juK; QԨ& >Qj y #b+i!2dAeqLNR1+sƷP4x;!tV4Uv&l=g33Ζ<9`,4` @?/sjmͶ?w˶skث?Yu&RMwܵCRnB+OʪPAڂݚ'|XN׷'7Xc6::})aʺjk6T -vYubVJ|}{< y.8;p]U,33PkWRϲ{!4-n⭱\.*;zVOSަK+}"3ǘJȴ/.\+kjl5.YNB~`X[NO,nDFn@Z 詪^Α%VKie(Qm"ո/$)%"9^0"Kbv"o2RkNirNCVN4sƷ^e5$"05wV;:*6'KGTUxf)zZLOfi 7C`t/ZˤlsDc YKR]kz&n2;{gP8Q/tX(ͫB;zHh"ZC*0"q2lca G!KPF:9W\l];?)V's8Y'saY-EHH@"e"hB71YA_IA7̱`zAyvUpStv9h;{CBo8H Bðx1sKO;G"3w,,&GSuU^4%eջ= v~8NL%,YX[1s.DZ/i݆*.hr% |bFƐxeѲj'g3pi=lqTuЙ9-UwE7K$FDTBye":{@ā2r 8Y 28YA1D`s8Nu'ɤ4 7l,)`< hF_&g~ʨ^̀ UẶ_3~+'tJDmB\!6fC+x,iYnPu܀ْmc:&(tJr7/|Ȯ/ĸ{g: ߛͩ?z[N6VL Q؋G=˟ ’U!t9W]^ y?Y LdS?veWg%f'ʖ *>|K21A3#ӂPuu1)OH?+Hz=Cp@!9(YUÁE܇rtGGĹjB'FrS3WuVUx"U.î ֈ2+$lfNʋ잻󵳒nyïOm\Uwa5]C0JdM~%ÿ3aYy1di#4[%=zwt/8f#b9 s̬v9N TK|Ρ&'woɃAO4A`KV,?7xKe@ʠ00Z*smQsC|9亸IRtde }*}:vN˿dѨV_ȿ;ȱLLV?t\L- T,ơ.$\;3Z@TL"NW{(K` *zD:AD26?j\eG37VX3 5#YoTzaoXL$zC U-*˩cn"*_J9ͫrҵZ|& Q|9lmpemڳ2W!FMu//CS 'TstWOG.;dfӅ|7bb˹ra(5*ݱndrPbSd>"Ԯ-m}_k nS׿7&,ku+m_W*-rmu,&nXs AXO;{Ymܡ{z.VS=;NxCk>ZZ%nHc  b{%6LVBJ 72XXIqmqr"ߴ>Wܜ\Nk$׈'_]y}%[ݱCVV챁3%Z!pcAE@B5L`APnA[#M@Qȶ:G `ynL8[xsuA) -0"Gri_&j' OxD+"{'ٝo2Ù3LTaGm.cL3 Eٝ@yK*B.F; :9^'*880 lY D9aaVˬMGvM:m5*WDa&.T9xA{pf|"y%9[H䴻6=4AEf YUQ!,g"G#Ǽ=$Nfd6ݲucu$-`}8RyT mh9X "DʫB%9`6 i9ԸRuݗ.g>oju7/ |cݵԉx7g] jUcFzT6hekӝ=3[9 oP3>w[Z;Nhv~[z/{'2縫ŝޭ-г_ 'v /拤?W"DI" &R/Q  s 1#рH0m># DEr'34]l3(,:W kGASPGn-=o=)LvW5uVՆ,o.Ɠ~ɸHX'X2FcyΜeMp̳b*!2Mΰ*8|^(Z$:*؍#< A'1R^Yr6)~#> PJ9ɓ44G\K"|aas Rm]H0;Eᩄ9΋<(JPGBC6[7H \W@F6 Yd,(JgCa= GlrqϲPM~g +z zk|LD^K>Em[o^xgνuK ]E]*3uO!noxseDQ>+ds9]Mg3[6ASSWo<(jJȲ`k'O|r+xFba5[ƔWWhnpTpE{ nΫ?+]}]7T wfĹ7Cg )Sק_)H_U|'K)=^x{b'O`T.Ʉ&c34ywH~*ݥ5iw;r6휸' ).S;UV[ul*UW=p|/V}~Izr4E5p:\N5yNs1&p*'1NCF0L@P#F?q@kѺјo{#o$]sgJ̚egG3Qxk^\)jЭ,ȴ|(ջ.fäCx|MQx-Om-kٔhNxݞiߪjYnٸ;mOj⮉#bMOgZFJWщ†T{x21OjKnTulB[ᇝ}w@\ᚥW< wmQ^~uI~U<딋(9U1-@&Fq( 8 "ω&S܈[ eR}dacPqnv#QtؒXvDH$qrKزFkRȍ6WAK3DXYg-cn}ec';T9IZTu!lQD2d\*@8_X̒ej9C4[4!@j!f dGCB&$χ"$! # a#5b&q7=LHHi< IDAT 0 4[S_E@h$Xv>7U$<)<ץӽT\ɤ];#ru}W5*28.#%au5F(z4f#D jl5@f{3'jG2 Hhs@ ?`8s@Q"NHH[iQp]3vJQQocJxG?ݲM0꺿;>WNZdWIQ1 t,X_Z! -[BZ |kkƮ}53IW=Ɵc\4|G6$'+=$DPXruUNΌͥ:ɞ:YtEӓJM|f\y7^ յ\E=5Xq=)umw>BA]{2U8z˺ ,-mIY/}l:Q0Z2ɼڲ w XJ@XH!@jrHZ!4ٯ0 5YP( |WCZ)TXӉG)=wߛn$&n[3{o웗Ӝl@l(ﺏq||~`a&.F#4^0cŇ6 MOy}40Y*&cw(u< E,? JX E<:O~k3;޲y+6)j'I3 gFŵ# )Fˆt q $M䗴nZ%5%LO/C++ψE?osZbwVg ^QP T~D&4"lԹ",3 lDeZ'@PpW*'{}I7__\vY(C;I2M,jǵ<;s'zdz[oɓ׾{L϶S7L' mSkm} Gf=7ڥ_Ɇ Ƙs-// 9<޳ne!gǖ, 7LV⚓Z.kNez%i* +L]QYEx37mMu7 LǎS%iXfD%RE5DVKL.wCXʫܣ>(;ٶfɉϷn$/*ݑdu*-̢2>y<6'CkyBʾU<].c\*h$ L<.Ar}on\QIfBQc%zP=U "#]oe* k1B!2h[V`&q36c.gǣ '(˃,,扏E_3gz]!=뽕\-x"$z%lfemer4@a9`yˮ mA)d6ϖ~[yOndg"Tz4NNo\N`X6; f1 ښerx'>"3Þ5Ա-~S2DB-yobnf୑:r^-om@rc|̾Dj9 +`oΛm:p+Ur37,-hE#[DEuF^[صOemDyܻGػW<{;0U7U@1-O* r"/CQ$(=sSI4@Ilv3:tyiIn~qCZC"C3ԶA.>/~"z"Kk;7e_Ҋ>ާ7vGG{yY궠QɶR侀@<(_$xs#sX`+voȏ$A*E#!zcLF $  9x0 6_ߞݺi-l_X{kϹl&X7:Rig*dg*ԅOdsOyu7{tNxM'olb2f%񡧎Uֻ6/h`pm'1dէ^=ۼUL`O}4p1y8Aeغ>6v<ٵ(C5AK+\.#XH@ĉ".>H *+d5C;TvlU+ۃ2qoDKiDug_d ;TU5 A%KSwÎGܘP ڐIψ:72g!nJ:a`)x"j8*f [7;H;/+9(=";+b%aY:?jpHxa%7 ˪JTzGp"+JW_.Y BZd>TpGk  &Y@'rn>S9˚feX^/N<\L(֖X:q#ɞF鞈1,Ͽ0؎_a?Y}f\Ȫ^??1o#~Ujc4]ro 9]m 9j0^-JD]BGX,0>^Б\VD$ \ոE5yH%+r om sR22WxU%CEÒ*19BeKzp@mZwWޚK|5WHgI&rV u %. x`h\ƕz..]~uB^pxX)IBvTi {C "pM. rʬR!#a26 vz\>QT)v_$( ;^ DCk%LIͨQKfZ&rtt*7*ļ,@fȡ*e)3J ʱH,Dzbx89ɹlo/wu, -n m͕~ 6Ѩ,$#82o)YWlW۴l: t(Ch![(Xm? GBٗ:AΒ':6)F7Fq ?wu_rJA8WJ4,EE-*Ą\:KQ$FF#bi2ŹKd.Pe0TݢD҈4 %A@$D& xdgJU75?y&_GDo-" %(5$+-1J:+hTKBP >OK +] eR$[J6jT[yK>uC%?ml}#ǩt2GҬ%V[Ik%q?K0>yBBȍkb8;&2HL xPxQ%Γ߅eNmbOMohgjj?)#Vl2+ dI-U+aÓN*F8Ojk^ư_Sh>-SP*"n,}/$({KtS _tM+;V+w\Ggen MQi"YP@>4y\ZҮ,\%a ']P+R FD%K$SU1ЈJZ,̜S46Wjinpe"Xn ,DzTV>,1q zB32fME'ȁF=lӷ^\.9|kw~Otyj=,[;>&Hcn ֱX]s_#C]ڞW>ʱ8?hi [1Yc.SCtKX0,-uG[B@2yDj= $8caIeq`p0)rY*8']n=IHMDi$!j*> 4+*lAHP,KJ "idO%ZHq-&ٛ! d%s2r=v*V8Q{(vpq~J] ²r=f|'o;+Owb_O׬*>~?>O.{apv,[*Lδ-ZTeT),ҥ/B\U2NJE \ CBx*=7tDŔP~7+\^^Y?O|.H gfW@/f'j|c%WF S<_=6L~.>ғj?[C2>|g߶kW'cjz\3?gټfݵ͍^9[Wlu;O~p4O.Jk -d 0גk, yE I%էĹ}mB|\x9BDnшrj@bn *h w15pV=͛Uɘ*DY2OZc@ƍ.\ tqQ0'eJ<_U) tsȔT>*șbA|[~v C1ªZ!wQA F`` ̟Z.U6jΉ]%5y/7ŷЩ 6ՄI=j)}ڕeNM 53U@ Bԃummpye"HE4 D&{uUk}b媮Y9ٖdIlpdL 03CqH30ɶ$#YRKS|~S-7{9?]\>kײ)垐(%Bl);8H2X ch@94iDW`6u%Up𮳺몊8 B rJ@T L9И,\(b]/D9Nu?>뮾Oq2L2byd'3J˟팍|2_1k4JM@s,vkK̓J)<0(Y# =Fnۺg8TV%NXJħ@H^9mE[%&'=(Wo]|l'3 -hxT$gEAr}t6KyD G; .>>;=~׮[;9zrPw=%گ|܍_ɯ~ǖ,[d믿>+wmCKPP@=IRgt3D1nr LBΞ_D"_P"zu 6Wzxe(TfQue~C^ojrRW#t뫱mWסApp,$[`uTPZ@)\ֹS[[[MOL856IKX,qjzpp;aW>衖V} FT9pl.Dd@.u>|}]k!к?/Zb~iNy.V\*ꯪ KG~OYY>s_kCX)?r {@˭wt'RsXz<՜r XVz^;K\aW]gD2ǩj;F3"7үh.FnpE2[ex>t$>rzO|fJ?yjwkWB=  IDATRA&W_}Gх X4,K'+̲Nu&~ B lq`awxBn_fp3J&s,{>Ue߇p҈;IV`]v1  @h/penwyZˤ.wmsNpGk[{4&p=^UCL b~:|.K ʸNn}A"Fwh]_m4ݑxnPn Go5*FjމC#3lW#G@8 IBU@`|WhCJ6_(Ni ' T#lG-+B"ټQy,RjuG ;tLcc5BV,[VJa@@KS$H}x?󎼮 Qr \%wvXCf nB/(jؠ&Vmzo.,`Bcv"m8qzq'~+L ,^7o\(ԾgIC&s.iYic}8]AH1#>UJ%fLn %gUtxQX z7o\8T*AhAsa2x=ku;n~)S{zo}ۡhO1{ܒK!ى4!b uJ࣬Ppܔ(+7'َ+ݽH)k:1KM;_Xyٚuu9IRd'mMD,,}erO$zc=D>rz5 IFIL<`*`Ypw1r{OWZL-oao|RG\2Op1en֕dsZ;VYZu+)%7^J}N) /&m{eFm %˯*R!U H!伒/]uֺneOv,ymB)MP Xe*xTip BGV̀K2jDwp 7ˁZBsr6#)0s˘ )EP?;uc>wź^n^]0ic(C*>%%Po8NzGڝOSG=ݥIT@@nZ.)2Ү<6v@<ؘB: rn, & qPګ[ˡnb+# ФO{N@"!}o-x 2Cl"% ABDU LUytU'9cݣH % "Bcq2IٴE@rNc[D<%a%-(XaH$dW\Q@ȔA*#rBQ GL'P bP_x'eNgG(SW 4K[&U "}…Vjuu>FQumU{>sZ/bP8"_d z/=9vsE>KS]mk"Ɩm\j噗2stɣS ˆ2߉+}'ENL 3~?L9/)M,E[B?/f /'>A\zŸ~W/w,tQ(葢!E؂ 0`" hǒҀ̈emQ=ޖMWccҖ~'=ͽK.ZWV"ҍj['5д9qӑvn}mqeZ K4y*׳ QPM]G/=+Vtzg$=a^OxgXחE#L:]-Tp*"rBբѕ]jEhfKXϓI}EµʘT=E mS@ơ(E@F2B/~uw8vS`\ }3Cgl*k~$e+t{qOf/5;931ң kS59E Px!yVF@8[ G:|ն;xg^!Ե|!}^.3YK_\xv$DuOAX$Y҉5!I">e -K0" 6fK%ee۶ØLarD8%XL03ۡ9GB) P8;@ %$PdMCMeITpdl&;- A0Ucͺئ%  tUUYYWHSE&'~׭1^xN" b<&|k-V۫YN`CJ} IRR|I|^&4ʂBte}WSy_\}˷?{v,!.XgvtPT3UĴnJ$tOLGYlM3go9H|Ύ_ .=D7)pS.>aJ噲iSv,Ys/$uWa{~3m]XH6'<| d(äy2 ~x᝴D = }eyO]cEM;ڷpQno 4IgfَѼ#qy0]Zvhٳ[7k;7PGԐZsfM>x䐊eD"JkPԍJ>Ս8g"U>T(hN1$ɿqwN4 :0yDu~'|C ̛\ x)@#"hQϩN?|<8qbN"=Ȧ ʖhJl(a0`4鲐0m4AD`Я@1_l Vq`@ 9%Ш&p-xE*``"Ib %+)\ FP%L8Ѧ@2]~3}&ַ9|61`TN4&D\7NMGaꡮhT%X#.n.)Ֆl%NBx^s7O'y[7tSϳqi\zfL˝ѝRW"lC!e@,g_mmϦ8e'zƇ{ T_0ʳ9FrS9֥ŭe&7>i}ۏ.^PR__q-ƜMR0(CG)B:5&Ϗz@~ѝwrEb$e~߿1)H)(^4G⓾%Bʏ{Wnv)Zv$YkNϞ:VdqJ;vj6y셲5괴ؽ5Lwz"JT̡攊T<O#T&)FV[LI:: <WI 3KUa>6)̝(zL0Sb(TZ=K\4i&~%^J9Ç_],8'9ėK}!18 Wcx:MQ xMDFYx&勣C/<>6 1^d՛2Lj<7wyL@*\Oq^~="^Y?fNb& ²k_Jz%YWKe 2w6s[$+sm:Q kR`iA`ap;M%IrUpBOEoˉ0K&a`[̶wx DATVJ%I+Ù][Eˆ\>|vS3Wr_G˞=VtOU|Dk>ut7=ݥܟ> _OCt@kpD8z-=lptM^]Ze^'Lirb6 x2G %4>Gx5㿨N %+wmujc"3P y`lL5_1_N}mٳ 5=m;HHa O9'b<%[(c7ݿ[o%J& @vif<$ҭvn{!?־67E6oë6=$9v~yacZ]捏%l)3TVNybdPݖB5yb}턤g F?o*侎PKZ*7гm#IkfLS6Ox)G&hTVǜ )ԾCgZ5Ե患{\Ep}H+ R Sa#T]0Q i5UCqkbuw\aCooQ~Gh>=cu,px_|tIZtõU@;{PY8}"] ٗ+[_MP쀪vG_n9}7(Q-uJjV=7EKi҈F$4Q|>Mj;t\iX Ѫm:u*l񒍨*CkL^L X4C2!Pp88)K XXOz{ Td2f>瀦#ɠfDFgJ <@k/~G>ԟ3嶖7#mW>x uڥy/qt6۠opٙqg p} .]uS:ӗI)˕_ɂD̖̩DlJ(IL@!<*$3 ^ rZ)D)p *\備("TNR @8P6 ۴lD%PUq[`Z6PV@RP pVQ^f0 c|o;_6+$y;-8`q2/&ĥx.]]F5J,j&V6u)jyBh%,+Mh@]0,Gi58Q\`3i,.Z[oW) s,9.zKoY=_ڔ &UΎx=wvk]-j,Jܻ IDATM}mш6mz+Aۀs? >ݕҠ wwu& 澊ʢƃHmX 9]_­P(ȟ}(6\{\;zHʮ\e|YY WU X[׉NԟvT<*蜹 Z5ua- f-m86&,ڭ"l[sGwg;?_@i8 ,eҼv79ޱv`b0}aAێcFJzǠb~OW:}8u6еFvr?60^}f0Z9^}{Z]qfz?:RmԞS)3k=̄x[[ \V (Bh J؝1]&Zz(48HXϊb^ncyN^[u~C-jOjpJ F'T(Ē%6w8hNW&ࡐm>T }?\0sT#Q_eE-YKݟKSۧIkf9Sxd9%fK6p!t'=wfzۏ:_h/hwh|:w, 87!z$@ƶU_SՈu 8;G$u\LUY-*P {?KLW=ۖ PIVi4pS4x--xIhpA!BA8o PՒa[ [`ጃ`BpD{,"( 0&kc\$YDd,D $&ȚcMQ^dF$A0MBQPF Dpɴ$h[]OTp4@¸cJR@䄀i2䗿RQv !+ X v6Ll V>jBWkyuH&$]|?t/9D|/~ *[ZБSs[п<"!P(C{رwٙaE״?<%iv f] R+66EBaӣHJ ȸJG/D{ G $K3/o癅{`x xE_̴Y(f:{$XsGJtϺM`kD& ĹC'DwHN<38)l8 [tǞ_\.+nҘuL+ɯ2v[L1.ks. )r Em.ҖI"TdŢQkXNFFaG>{4/ WV]D9f&J-Q%aJd Ų!{,Wǿ~fֿOCn^x^Wګqo=1msE _<}t钖q)Hu=k70"-fѫOS>5iu_?6DZq׆caEn(xaJccҙU&Qn Ղζp?T9\}DE+IL?X]r+\ $#Jp؄ zZ::=>(TJ̖/[N&UhsK)t7[#h( PDᒔ'9w8s3PkYR B$tn+c-I,AAZ":H:P.FDaf$ෘ%Q W2U((0FA?!l1B(l[!T(*3L̴˩,޸!ĦtE7K*Q.jf=sP]6o_FuK)xf[FHPسCSً A}jZD@G?Қgf&n,Ik"D:W3߭&ISTxrHe\(Ӗ٘ cz')DcEo5dӗN[&MSڅd:(DvJƃOo._jBpUӯȜ뮷9ߕofGXߛv{IX*'9pbsߖO֜;VUw5ȁ\nV}dr)C6s~Ϲ MMWGmɊ<30}b BhУ(3lAlX|ٺMڍNpՆшg͖`P^:>m:X1Ci$ !`?E Gh5$yr%FH !sVXxBSO]:JkO>b=1UT"^l Z|J@]VN='lvttcV6 f)~k5fRkX"(c{׾_?upF*cޮ\bqL6_I&~[u5Nا^8go*U$էsH2uN^Fue.xr.|6jHZa`<ަVO)ͦ{FGk:m;>Xp}^9&I @&Ho@( ?I7MbYL|t"Ud"Si~U҃aye]/ۜ;"r}^Ed"I`-Q׫eYT$PT<15S(`2%VmCH)DJ!thȦRm0Y@pJ%Ll\pGP*Ȏs%.ۜsJCU9 l@B" ܴ#y$M!&BXr/K~GWF"%dEv,[ؼ{w8Pp)\:u$ :"a>g.mD&މ=o~Ͻm~RnϘ)+.m->EWG/D^xtEs}ZfƘ1…z~&@W`'l5DN!z0R#-A=M7ܘLT?1WS30C*==>ӄBrr)#y86BĚ1b ^0&,UD$:lpŚW_]x٩N==>m(O6ďrՋxn;O˚䒱 7]Ѻp`93Gr<^86u5[nL&'! \5b!y!~FJw/-aP?R'pO(+Lږ͗8Q߳.1x0y\{8,$mJZ=xG&)rv(y``&H2x[ffǠHEѶP )!PdJ ¦L:2ym =M}bd0 >T&®W 5;.VN !Q p up8YeHRyk82y J^y,) MLѽ&K2*kn>vbeIvj/ȡv8=F~N_WKdsT: S= _S@V4*Y',yxSssKGKdXE,LnMyٛ?;܁'_#;g _b+kh4!%tJqڷAQ.Y@IcL:` G'<Y ΎͱTI7qc3ɩ)K 8cB"@3CCl*pPIҐ{)iVTUJJU*&Y䲃T&Ẃ`A 5McE\B$vIT,@Wv`\LʵF7l8"WtJR.[ RY%*I":rq;E)TD y"涞jףeӆyV;=]۽/S7r'| _(nxzT3t$sjdf:խ=}|3d-_w]qhohZ{Kύ;g4O M6ӹBэ Ķ7cK?>;p1{e k/ް2B)::d5Gybм1ɛ6OƢ#4/湏'H@sBkCT\n:Yd8X vuxJ 2K- ˞+LÙ&xlۯF@Tf/т5Ϝ<8zagѩyR7݉Foc:OjlQ)ȥx($ cU&t6NgR鮶D:Ð|XUr ٿkdH\U̵^OjVDGb~ߋisZDlsViBB>c\Chf'暥MF S_qZ0RP˗gљ\9e ᡑѱ ;514KMWePIiŒe*ɲW!S% *H:Lٕ1WU"^]aيBIdl]QF.QMdIQ$ɲ0.m0ESg[S"T%"lTTE=DBEʖe J5=9LtɧYTL a>pLlQ~ِ~;}JYuec+޳9Z@^߄*~nyǎIK>_į}nmmS-8V1J,AZm-5W=G&WoV龖ȑ;xpD0>f[>uTh-rL<[ׯX̐R0tˣ~|謶Frc֖be >=tvS Ƥ5Vk^v}ƅ^ek/\s;VpQ#7rG{ܧsZZY&3C3 8X/6`m`3ƀMf`309H#F9K:Uu?tP/u׺w|>iuP>}N?P Y4+NӁRko'VR +Ս;FN<m] Zӱ;hA6*iۺsӴΜ?ӷ;+մT7ht־ַ7FN|Ș}+'~%%(~MVfuUTveֵml/pE+K,ԆKӶUtP2{`]k$ hm6v(ZH9z(-(4΄qV{Q[uk@ bz򶷮UkR cD׮gJ,9ATjv)Mɠ&6 (AcPjҖY 9x $ \EM|0I ^ kѫ yrU@`SN([K`Uks@ r|.05p\WMx K˰ w $aZ$1,M`%rb 3@u}mH|>ii Lh2ܼ}6ݣò}{?_쿘SMl!J@YXP pXmEi@v9 Q BN(&p#.ϱLQqS"^R9!#뗬w?WxNk+)J/s!BrMYJ<^+C[ EO}0b+:Q>'>sZY|[ZS+Պ @:2ܱ{{2@"ћ^kTxKVՂ3-kҦ(TnXl>L7=Ww5ZKG^lDj^V,[9`㎮hmصVf\~cW-ozd̏L{;/™orW%SsE:" IDATP0< "%Do(H>=򅎭 M9w pHF7-ax /KB<̎ %4_-gn2i?eA 6kzLU[ze6l SM>$PLvtf߹XhQ]FjR^G0Y4,h29$(+?L A@=&8L\C0.>VW:Ks$LWė%@ڿO$.ݛyO\4= >0?~l~!f{[CԦh%!wM1WU׵MQ!Qu݆Yf5]PZ(WXP˶׿V&aZH (kOah~Nd # kfe_#N\!/V6_1G >./_0kahY2.k4yPܹッwdص@w,ɛoؘfs:v,5EdYU>Ac,BL*Am-ic"+ٜŅR)P,P;0\ #leܣGEY"g5,i!$( tS'ʡ5 j&[_]QI`έ^ sm3@a#X i@0`X @3E@8uhͦ90| l6K@xdQ;EJ9E l ۼG0AKY.>"Ze]<_5>49Ĉby 2}-Wّ'pêxMkw\s˅SCg?Ou?Jھ& $lΩQTٸfMƼB1w^liD_uXG&kjWV{Vmuu8Z m뮾38^cM4pw*ح+6 jV ]mZ߲qtkcDZ43n2қd֮'y[F<!ዣG-VpɱW.}|Hk)7pbReCӪ|KdlNnxzf>/NW E1z%Ig`/=2?Ku;տMd U;֧ɦ]e {-*x`sbw.4mZQ.& N@ \BLTHaG'/쮲I,e:V>90Ζ?M90\< 6p0Rk 3I Fz)JQ@OWu#_<́+Ź*IeQ]o{adD kV5'ڮPd c~޳T(FlI#9!\u`[t+C}9` U)$l6@+ˍXWÛUZڞ.Vˤ|G#Tٙd#Kۻdw) 0LJ+ rMJ'|~TnlyB "  eZݬ^*px\ysEջ+MGLoכ- O܈njÛ9תy- ^ct882gaIikhBந D?$J9[?ޗU|%l:ۙ9R~?z2[EFO.kCOwfΏ'Snj-op^(Dh.FriU)B+O{x+kzv Р( ƥ )pUP+OؕRɐG([ Z /zT3LcȗBYAD5"b5 ;)^t&*΍-&ɜ:]W5W7$+9ǶSk6A-khtˮ> U<5r$mtvq ùGDž0)+uoQ8 sc ǥ½"\yT'@}zVKUc @ }pp xQױ8f*\xÖ7yq&&pە>B&b[;  Em9q匚,a|{>Zrz~$`5M24mR.%CAh(] &**`l:8Lsٴ ⒬sdQ8瞞IupQ0n-j$Rhؓ3sNvQ[l*"$ N;ͦ$q!rFmk0ȁе"4Sv,Wo3A^*gDt4uzr@UYqBd/jN(q9pY$NZ@E_*M0a32BB_X^x4CeFP\|'>CkTuJe/CVPɧM%㿭/|EFB,P 7_'h{qEΕU׶n::}]2ٰ'1m]4fFÓ5:%_kTC3ry{/|XZ ރ.ּXΡgd-Uvx`vugzo~STMmm86|[o|_8 ;{+/oqH_Q69|sО8>w%K+7DFq\~z,j)(?JnKͶ~h ^E XpTW֐h5`lR๣.zc{ךb1B?OǞ 3OV[o ۶͐B-3%?nO'i87dϝRksp5*9ht؜wvO6{X)P7Ė$+V*,KQ?Khh)!U2>RZO]|Ugc"C  f~7ΡCswxL]ɱ&+4B m).F=9wѶ!TL3}1܄]$Q[SƁSXHӈ ';3/}ɯ~M-񽡠 [[ 86hZ*M-A3zy -8Z 8Ɨ K7JxY 'HU2; ~!u2;mw;<|AO9C_LU /Ζ˰ؑ&6^3AA|8FӽO75˧_y[0fL ]=HZ*ukF¼AE1y.s8kf-gepM3\򞷿 ^}s ~`~]s=ݘNS݃Kobp:h3e?޴c'Mq"j2(St'76؂/Ŏ`,w!8U'> = A% c1qIhGGvQs1X>ׂ=[/ž}gW\e)Ce`pZ+rXSiDVvG,,ia#JgFΑɆÃAiՐE 騲{bɑ^MEuQ539wxOac̷uȷюkidE&h{9+Ga,[/G.SQW10a4- O 2̔wk %&-[qs_Ğ(V#A%H(i.Ʀx90FBGG8L!5 2DXX`$jX0LnXxq%JĩȚ⸮}-;7)sw)ul-p > (۷lnpX`#}`zg&S)I"# eOݦ(e` KDL|Ɋ:E*9B">0ĩ%EI,B@&sB "қCAS>>(Sð_򤎈BrD@ǁ'`U]`et{ /r? "@\wEǫ!*DfOD&vܴyRf .ǝݨMww?yfrʫE-u\/g'F DHb .1-hu4Gi߶Isi]lsL 0}uG6r*970}jCwegG߽tJ# 6922ܻSmcGN<ݗJͲۨltTȜMՀbЫd ^,>*Nyn4ꮳ5L`)7m#junL[;mMUzJL_̦}kfϟ&+Wll\0=F0wu#g>-{PVl虤6~izu[lwZ{Eۮl{uZy:k'=~:]kHb47wH=CO խw}#55v[;23pU7+5cvpɗl]d:*3'o|]k:r.!2;w]q"Ci֜oM5]c9%\FUع+s_ٔjk6hi \%29~6q^/o!MxH5b(jN5]<0k3*nٳY-䏌ͻHj0[ʥ9-=+m85stLN5Rd΁kʣ/lضhD¢(Bp4jM ۨ5J`Zm滦竺SKR$K|K_}e`"K0ԖZK%p*MJ[Tt>LG1ZQQNDIp=R?r{Wl؛ ? ?,}A;tPOUX&օkSe͆G^>:qp&*|{Ϫ/Z?۷ڹGMZzm{zxM[L6OĢ,cZ2M"f흊Ӝ3lx{ņ-R_Zqd*4EYO"<69SYxĥLI }L0JBj\H& U ^\wǟFjpE<ٓvm.Au5VkZם;Cب5kPbkw͖y0hȒHxL.1|K,`GWʖJK> ^kC+C+wrhE߽:S8o[!aAı&woD=pxGx1e=?7wg,j2 ,'Ⱦ咴 ʁ)[zѬ-o*Ba7MU*oͤKn{ᅖ ~R+yȣDY*z'={u1+NP\wM(˶U8:o_˩u "޺$qncܘύ_vM 㳥WsBR?Bwl[ٖȶT%[n!.\3S_`S :ODٜ;?V?p. G#(H6'gBPic/)P$@TIpibL:E5 4?p-XbXB3 G tIEБ_8Rtȣs'Dh=F be;]2q{Aa*sC-d:ԥ ˷u%}mI-ȻLpvDy|]\}olòmE%8-"ucѬtzDPw&yWb/B13@8pEUZլYTAUH*RY\~ 3>O i {\%ƣ0˵E5m{S="o,{2]SEIWc7`S_ ;[8y}[$>Ec23"AVqUVw B{Dyώ|C|gal6GxkuLGrSz啟Č# QN>Ƃ#ڦbsD*s]HI:_'"ZJ\qӖk˝8y|>~|j }G?ǘ'S9V2C91v'J:trꝭug篼mpfd,7\pzhM2gfiaQ?DiVkꖪJfmX+W YIfH'&d-M&ͺΩ}xxۛZFm"PS~Q@WGE|s57kٔa@6X Pvx@Ʈd2!- w]g>kRXp9"}soq3pf7J7\#D;: 8"*c JWD( ܵ\\L׊2®[\*CB1낪dsd"׊JzY?:Et(ڳo! `yfQ{ h5)eew%]in,nw r(pA2wo?}[S}ч>hD`!TAUT)aL}D5IIp̏M\k[%hሖNDCִݦ:0A1@ϩ)`||pD9SϧOa]luu- a0# ̀3p"Ev;䎻nʬۆG{6\ݳjb H]sM5Ep-ñ w<ߣGm<ag^,3L{xn|zn|;1QĀ Ȓbchvrvvr֬չrCK CwxQrN0"ICk֯ߴůP=WHf#")*51x8W:,HvcP;a2=0mt}W%B@ﺿ|߭̕ ;(Zk&S;?i)^xv^JLGB\[ /[xyO8w;yŖ嚁c>=vύkSo硣{|O-6ţ39?+#m=mHk:bR-7nrplx᱓9z^f}d ON4pkzZ1i",’" 5֡FBcD$ME\i^ eMz!}ZͲMDx*QE!^7}0Qe!:\[=Pr/5ݑ|nܨsTn}E&/2Z%`<Ͼ5ŅDU[^oVm' g;zVK`H){̞ػLڊ5 !aTƯ\!6o- }ѹ].=PD*d ϕF" -N$12\?(\R:Gӵ/l=QI=>PRT&+%Pu[քYx,4=KGK%q'ZVB+,m6Lu x8s$tLI Ezw=v}"$ǁcE YVRe" A2g@󀆙`Q}S-MF>GƀAD ;`s G. 0K1a "j-ж& D/:1'\b8$F o{ 8=nUz;69Ta,ڶ/RVh-oj< ԎAݭo-=q55pdw[fjΐ aT7+gČnHtouk>rflM<\) Gu8ۧ (ϟ~;:oVh; '.q%%Z5p'HUtQbPYRLoݙ NLz.m7;FbN̟U'3<{ɬٌφ?L͗FOTa_mݾc%+#Pep)oX<<*\wXXÞGg"ΡfRnB*v|#W+?q}og\P  8{sSg5eSw|v1*098f Y0:ɐ=6K]H(pI]X(/,?33=656_MSDaPv]L(Fox[W˴"2eiw]XKWFkYg ^P_!h,- 9zO߽Z8}Я>s̪!'OO _ԏ?ok4>?So7n~CO`u}+E.=ew6~$wzٱy0KIOfd˾6Y^˵SN'_Qe;ix+< ;?Skzɗ}W xwN: y3qסYyh#֒:bVfv do8-Ú9;˴!(;zǪsR];IQ5g&f2i*DG@s yʘ 3+Ve+JyZ:r2M?Lէhq'LM~g+m^Φo;_1Z&dz+o8h@ՇzƑH uH:Ae6F2a6n?xWJOlXG9<ӣP[O7ŧ3dy P Ț㋘HBV% C" n=wt6.%a3fv2F71,u}cVybHwz>)U{on5bN9ܾP0=L0aqE,ŒG(o7)6ppW% s܏N.3d|)B-IП%%l?_KHW(Sq Ǐ<_kxQ7M<_o,>5\SY~7nFb +Z9kZc3!J"$4,I}?HдMCZ}#r,! LMv+T2f#PtSQ4e۩Km vA"I # T$ @bW3)'Ss[[hz^(qBQy L \H 9T5O-~Dq!R!* ^;e?eQ E!O #$`|c4[ČHrJT1ƄT"CO0_x:Yl~Ϟ8w]U "y쥓c{g ! #@7>>~,/ň]ajXskhD(m30\2&8Qpq6;RVц [kr1syE᧫qın0MAV{^xS}Вp|bאN'Siwf'Qk _Wn}-?)gBro߾gb7]w߼׼t%NJϼ|68gXyՖ5s2F! '`ؑ7bԄuGi1Wj5ЌէA,kBM&nm=3jh2 DzHRxck}b>7*|S`634bg3\Q"5`xv6 DHT-iZAT98Ss`vb̪'4ƿ><8<18aI#ƉB $BTXFX%* [T j$1& J,LQ@f!c"(fK.풄"B BK۾TӢIH*BU s!D?x{Ӕӕ?gK3_ED nN h.1+ ojW )L~//6@1 JW=q̘Bma ئacoqLS_j[t[^|prObw^7Xk;}s7欞ԕAgcei)LkkU+7=x--)&Ueⅾd*%گ*랱{g~=s&r뫋c j/s?|kM驛ubJcdy? -O.vuH)f dVO9|A IDATӧuǝv/y/W]EtGߌ8OwѺdv׭…fz)(%`,HɅ0B Ie$8~EjPP6a9<s3K^N2Yb&,eNR@/tg|2]^F#c:Ls~eaN\ G|lU Oa6I5Vªmө鉍ũ=ֆԡLb y?8FPwk'qX{s 㦷$A 7{kQrA^/I NHs2G K2r3V~ YzSʎ>h67^}{{&:SQ45_?ܣG.2cGAiXTF3֫Sqw]QsUG&DRAQ`ER=oب5{^zX̥zvhtqEm$Sتf/MوI6^Ox1I}r/7fA#JxîahVvI}E[젩`i➔MC\ao}́ g?N`"g抹`9}EA .@p/ϩ a@P6 ^>=ZlKW臭z[~#n-_vz;v/m%v=$¦sPt)׼gOwL BFTnfEqX\lb"gd X)%`9 (GawumxyʖO*7 L@nWV J5.RqIǗ ZmERfBĂ擏{h7Ӎ^u=|~7/ MNQc@ =/ "+5fLljNM A5yۖ!,1)0I$3ΙB#7Jsd+M aA_~ IUT8ĸ  .]L*T( mJ"wK88!Ubh\S(0Hb1#u-Y@!$1B ]r݁I2N8`A(gr %M3~0SzS"h&!*&I6D5SB)3& (cPᧈK)'+Ō #DX8Ov}󦷬)أ~KW @09 0`+X$|RSm*x?c qF6R3t0QR.GRU3M,wm?{"Ʀ*pT~SZQ5"M* y 7t,3klخ &wɽbyql!&Jrf:p6^Mۀy_":Қ+[_Ե7ZZ\foa#d"t#]%t=/k0fHSX,7*L]\7}0bgs#[Ga`(j/N2Yd$"S!`B %ǘݳk50a p>%,"8MA In:˶"$BHU$i G (A))jSEMPLs GJ㊪#jr{&+zmss(VjXʥ%XJ&t$\oAA\@Tӹ C@aYםRR(J-337W+I*T!eu]Kc C8$ H8Ob&#TJ+#Uyqm[rpc%1LPI(Fe,$`05jt3$ť_aϏ?YMGDwר3, ylfOl8%S 5ʼnq*P)cIdF{αO]بMN*F6b{Ϸ , ag-]lRh]¬B 嬲ž}כݘ 1muj!ʎڬ'|Mq}{oMgvX?ٌw U?$z.qGm%0UjQY~<)6f[&Y04A[ ia˫}dǜ,Iԭ$[ KXr`2U j;0kku1S4BMK,4*s Ytn0D>vTU'J\of$T(cjL;t{[mb9Ө&wpegT滋t:Lf^[s8 n&aF!vj ;o3kbtcu}' ܘ* 詋M^8۽f96QTٶ箪LMۅSj{hui7"Ju4b9Cwo1ngV[^͕0JgeΜ75b:kNJLdq+KK, fI\OţIr_f𝧎?կ= =G_x!INj_NX,"5ZZ. Y+Q9cݐ {ő7I  ƄuHA0v(D BX(fiN12u;M31LQ1Tռ4fvISrI8嬕nNhZYgmAN䝬ؔ EDQH$| ' dB-;Y_( -Hu-c tܷcH{vvxL7JĠ'&j~1DʎFPPf*R.tdϯ414 8)MЃ؛mt O+7z0S~w#'~;g_:>LW>::uU7V?D?ܓmىyiINe-zJƱЈʹXhհ'y<;=a+(k(Z>sak$EZ& b\.%BQUpGAsyy^?G+4jqf*gt"65(u*+q,|9p+X BIyW||[G@D񇿺L.t{7O=_Lafvz^:FNm~3 |ŘNm2c*"ZN0- EQ5-Mym` 1 D bUDl8qĤ tm;&\`| 1F!B T Td>Pd%TՄR!'ҡxf2'V%/(WRjkӻW7VjQ&qJ)V( X zƌ p TRF1ÈΤFq$8X !ɣxISz31^"p{7 D H&B("cࠨm뚪C 6sv"S0T-RAT{R˫ 8K/[n]_)3TF21 $٦T7P$,I83lEqh`&fɕv`Py?j;HCYߗ D(z0BzVN/le\>~IjPl,}{榯s qNTzODH>^x[fm'cJTTƊ#qGAǬްDmlu< 8fLp,$K]JJ [aI!D1fUU'L IDJ1!)DF4OOXfTUbq! HE#D5:[=>C5[BY)`5NL!a`,9( A#.Vg)Q(YT$ # LL d)ʘFRy\Q%w0(MA$9`)oy1M-nDUCĠmF>_$1"9AK(0dA8EHI1IwsjG8I7n\sbF"׼5ꣿ;>(_Ïz{/ cS ݅` _w?/$ >V.B6L va SQH)A65GHQD$<Б;o?G/N*v-mL> z RX"t^L4EAD)\4@\"X*g~T lc}T0%ouҺfk?ܧϜ]>aZP հi$eLfTͩ8#3VR IDAT3G]rԈX_٤K77?g8uel2\mԲ(OIbP@ع\/54%řW1|Kj<hc3z-~W;8c})WV<7nj3lf,^aS^(rq$n9GKjhfRvvԤѨ/4-D65d2=ƖoXM'w5H&yb9l?ZXOQgwWqpʅm Y\lviŗYzP[,tu vbzv[,/fu67_/ISġ]7s^xown/?{p+/<۫yDO&*(KƊn0D)3LH`vDr*k`t U֓aDHڠsNu !& ^-8czi{+GWO.u7lC#Vg(_D4S2wÄ9PoAHI.)[|yo'Xr|ڗo翊18qăKՙ {oyGIJ'/߽|S|5@5 7h7GľoW$@1(p+MHIB @ U[9"Dؕ# Eldru;f $Bh`eXpC7`] .TswRIDCya:z$AZμs4|+7f$);,apd:dmk*@r g Y'&)2m AĴm 0F^[]% q'ߧxFV>H6n[J"e 7a dG|p}?C;8߷dgq5I?t DI4C_G``00L RkLFpzE˿B>.hp]GiǺ.% ^\_˙ª]ݺ$cىTQ-.$B-mg|w}_tfՆZ{u=f#Dm+t9e;u@cmoga/;6lbp5u ~aJibBm:z$nPKHYn#}7 QuZk$^_l46t jޙJ14|WVU m\y|g1;m+ڝbىmQ͕D[87cK|1VtzFw4ꚓ12f> Fղn4L~/R??[d66*N+k}~q34`RG(%G9NTmde9Nu^Ya|5҈Zg?T?W?x+KKkן]<݇JUauCH)yM(DT]՜`лzߵ[-7 =9+:vVSUY*AtVEq4RH8% x,9 M@>_;e T4j*5)|.x\&cN& qnH'W~goG9H৲I[A*A $!G^_,\z2?İDO-rw݈"yjz盏}幧{ϝu~z?s)}.cLD0KxT R-K34{JeIvJ`0A@HRr+Jt}?Jo5A/6ۣie]36YcϿDN?X5,T;s4[?> ˋi2Ĉ:r6PPl0U+LWI=}z=,eou}o]{No)vce]2%!٥%\3#?PR(} c20DOQ(ݎa*wϴ7]8CMQ h,VX4o";b(iT;[KzaX/2,++n@A FP/ӓ'ϗju.@pD^h~h;g6;͂UՈ@_!v̍i3>r"kX-o{1sZWplQxFfy @NU>O(ov'ֱ|FqvN1+a6/:wxWrv#'_LLeo>u۵N<G<VP\j؅Նu(`JeIrkz7=|YX\5H$Z1rtE (KR`S6)"ٞtd"-hO,FMԱ"1cRY_wHED^(>:%X y^R^+}cj,n}ˋ#~ʱW:g{_ugbm223k|J*$JB>H4L@Gh iĴ  P[׻s7ۛ3s #:{7c?lV}Nyk:|eqh9_)JsE:YFD1& h8oH׊JtKuIJezaIe  * !JqD"H$%pH)A @ 8K 8YQ(J0 ##r8Gy{K:Zl4gq7޹q5la !;㚦c92Ew4'+xy=\ c{ %!K%y$BP0($~ƅM|?JBc 4GebB *$9W{0F$`!1Q0nnA#ΞU~'"2g(rΟ{^:_g5LP'eqZ2UT@!)ظɶMIӘLr%\JR ȲY0S5UrNL,[v=Z4OpǩWV EV:z"@#;]PgK[j&.$Jjo7vFbQ.H).A<>_>5azՕVi ֶ=Q3ȹy:}t`nx ˬ./ܸj֣wn",lkño ;$46PɝGZK_[s#R4Ds[ yx߿e)>OO`9t~7gc>TʘاZ$JYN҆ c&q,`gy=,̝ID`SoWѭgd9f*|AL3 !@aʩeG$#/P*G6TST]Sսݎif"X-{lU1.x+%b])R |,|;,,wnozxoQO>׽mQo}6&97BwX~CkU_Z]%+} ȾߧئO<^*>3WGܑ{^$~w>rБ& DG>kK'g@x&)BB8H4I%tc?=+lE)XG.S ,HZ'r~@ jTr[\i4{jӘWnlηYQG3( ?vv:KUٞ{4>ykZGNfS.MԼ=鬶n,4:1;[!%[-aq{~!`b{o"5k[jn{0&,N8 Rgueм4rY6)a3o+b󊓷P%{Au$v0 @G\Vs.9G5Jr+7m-趴\RV>H4HR13>7w^?D{n2z/ǬDɷ=j.\zsP]*#G-e"w+*fFK0*BM\9U)'9@ϮV_(<s,v~0sx#W_+妑; KS<\/4i|N#nb^+TIҘfRwx8A MvvE;9lVo+JL҉2ݛ!:Xyhn{‰&P8TpC'o竏>sױJIg1$󷟰OzgQ冝%0pMsJTn f<~5v]$nX+xH,={J߼.QxXLU0(BTN/_谒F:UjYnĩoUEH9zK`n0V)9|niVh{(Lh I^v\Xl7sAO$9񢆑F2TȔ$wF!^\&$@ ku~+˯[mݑ$+ߢ ߧ).|n}}hsRl?>AGY6Xj! b>?ߏN @Jba99[$eZH$Q(_o=(׮X)Mc` i?7~_n¡XOF"_|3aj 2A̓\,wdBȉQN͆"KhYxĒKY~λ3d{oV+CYiLA +zml2̢Bw鸵l+uLiJS}%OƑ"x, FrKq ,{a`J{hUkEQ!U&*R则_ $/ً$F ymEӌj$ p>q٤~ꊆ1|)  \*%V0aIBBc7i7jR퍀 sIWV(;TE #=`[>Y!=P7rb{LbosodK<LY*:[z~ȀrVo|+:^Dgqٹjo|u:ԫ9EusnTؿ vGu]dzTh (*zΩ:{C 2 D&B,)Ig)/:ȊI-\Y.+|Q~wH%826+P%+#&$<q)d" B{-ܽ\;|.j-=3ފ??n. ciXIʥYQ0 "CG46:~o莇h84O{q@AJƄ)Y)9DbP,M ܤkK1BJD HFRAAFRyStcDXvcyÚ'}ÌǏtBDtsZ5-Z<ۚAxȔ!1łR9PUJW}1'!%R&x?$dY D"Ȧhm[M\`MնW{"1FKIRjH؎UU4J)cXcБa*cR (H q J1&HL0R2'/]Kjw%]8v.\EMopz=y?4Os !PuTžfuGN/m^E]wE)FRd1N~'.Օxz=)`zUwk~1=Wg0x$wC4"JƋ;k㗮{N>9<3W>\YFة6vz 5* d8L4MHƓh*A_xj%tED9[ҹ;-Bt}R;qV +t ÈgT x{쮨s )h̰(] }y˅{gI$aU^b;f/#/^GWJ2$t^.ްY*j #RH’f~\7hZX]벹ClFy>z)3i1RӨU Wo4sR+w- -k7^sT%1y!{^{ 91v /?pSJd]3xgοXUͯ^>o.8/n{k?o> HIfJP.`"&D7 j?UDRr?c525lX8$Mׂ @Ę ]PX(%Af˒bOdH<h3C$[ lvs쇌ݏ<ߛ}9&ܾP-`HOSnFtp0[c1lRb1IST9 B3/-39@ )wC؊R`< Xd h7gg<ͻO7j-?| RLRX9Z[~Xu3.NYj|Ο{^ޏ- ccVrdQE~CgDFK'O̒FY"p83AF-TW"Clr*0K N.c]B^x2o?>ڮfÿ:rE$.UL U]=of`b4%w- t0}_K W_ʷiYONMk{+/ϝ^ǍęM,렪Yq)3(fйʍЭ,LD937;9Sޗ弭ZzU,L+T$US &iLAmJ>CYHԲhFӛ-u:;T0Kdzk|.p-/];t1 8~_2f=<H!Q%2T2F)F<Ҩؒwk۽PkzFdp|NlvvV0sHhkLJ^*~F ]5N%4g54t$q |4 65 `c&j[u* Séh7FIj_뤿TmTzfd* w92 zTqޣX " ˱HFӟ LC'Ox$IZcÄM,ӈd.^%_~Ch04 ?3v^y[+oFwZ7ckzGcbяUU}?t:Om7 q_j֮_@(ZhZKo0ޝw~~eA2쫔&IX3dm[[N;tO?~zg7ή7 ֫Z*aH;W^8c5h㹋+O EQj[~Bt翢V{I1wPV)\P_m Hq6t&c"R4,գRѴJǑH,t rnt63 BN4y"%d*J9bBM8 /0өDEF+Jq'- kgUjhadZ?lieRGf{â"PA劌ndzVrponzw0ȢnEL}Z"4-4K)saL*0sՍ7ZU!C-N>ߔ8VߌAqZ($Qe~"8CV=3ii0uH,0pƓZd0tVPe{mWJp1B\z^X/Z483*i޲w{xr@TɴZ϶, LD^ɟ@cSfk|kd (vc3i<)__Ʋ< Hr3'SiH{?.o7|T攻Ozjqa}>\,!L"l )  gJ5Q, KDA0(%eLH"RJJxs$@H? nR#_~$BJ,a@X0&pB (xv>Txm4(٭I‹$+DjBݍBKd!&rkyno|h8}׻~x_m_v0FX4{ٔf> `΍>W쥴'o\ˈ"Iŋo֭BdύO4c\r7۾5Fy^V^JZCtjEcpi(6p :Q,jUK4K3,a*Zl &Å}`aW_ = jnǮ ȊÆU2FBk~6]T[t#8v J{}RB*G~^Nb},4*S5=1rwXSSUjRaenH$ eL$~pioc) a,8wa,|χ$eqFr%e7BLĝEIݤZ0\a{oA*k+]ib8zY 8uds2 05$-*?5D'O3IETح;1Llv E5*vvIqh8HE ]+ApΉfI* `&C `RQ /dʙ$3T2sRo$iR,L$ֈ*OMgaflTykBh{k~ߘ_)w?ôFgk{V(Zd4 BI?wSn ؃$ DJ|q-V?vRA#V/>j?,]q`f9_.r,~"C3_͂@We5ˠ!cIFa`ВiU?y*f"E ,72xDB%"omBF XJ s.J!H,'<{o=L(*.͗6w]NJci9), Tzf})۸vR5Dٟ2H$'_y%1H87$c@:5ge$Ƙ9isa i%{.M%IϘI"X  ZS"0MU]3jʩ&\f`&H &HH25]AX',J ]QT7vq#$ qݍٍ]/ 6Dkۤ}IG|9]/6~đC=c7Z3ir>4RZ:ʧ^HWrWzәLwW0Q5 ݵJ:y罺T'/H/%t۫+yۏئ3{Mp~Ij@DWrKR͗Z(JK׭2Br nYEIV)ֶtwraԛ +HD`iwz;UR7[߾^Tַ0B$S*x6 Y2C2OVP.oj!-aa !E0Ky[mQ))յ?ze-ƽ ,])ɘhg5*ϤQmX6W:$5k3iDmo4I"(HS]d Bbt8 1T-א#TNfViږ4nwtp9vF:NcnNMXAvGԏ+WjIL:K7`\99sue}GRi2ƳSQr 4TH Ln $\J>ocɩNTp *0@ Nӌ(,JihKKYZ9}&B۟yQ‹<ˆat ņ^w{ CޚNzť/=@0 wfW^wky)LiʑA$ 3TA;=O'5%R)&4( Rb*܉'8 ) y=7kTEa$Wt ̼$&4"prLec8B0ĜeRJD1&̕U@h`! pχ8B|_68vΤz}kmzh{]O|;'Kx_3؟`: aV7?3U YjZݻzn}jC7 |BR b I4,zjT-tv=o7'$oc_}{~g:RFug2b\"L7VV\2M(^}ON=o߰%[8sGEZSl%Q4rY|$φj-nnsK%jm_~2 ŵݽ΀vgfմzP4\z5><;0qZ3b\_/h-. IDAT.^餉 /W*n^VJ(f u#Cf櫵4LQ'iR}'ŁMj=Cu(dezHY )=̦(l؞y^\0 Ε52wXE^wbk[9/o9T!PLןyڭn%_fyEVqVdE!Y1T_dR xVTEl3+&K" ϡJqh As-@"Ĕ @di a* #2E@R)%u`1\yXi+{TG$/ӂgٜ2/x8Zk g6'/`jq˿g/zu<2Zq 1H#RIi 4B q4YRYeLVJD@0Pzt4/R.1`0i^PLmBQ;tcjl:cLq5s,- dQkwm@*wGxK/_oW3m<+jE̓gbuiw~Ŗ {4gAUJ8RSOW5wES{#gV+^ʳw;qWNhg(v+ 젱2j zA|+%-=O+w_amel+Sr/ډk/|σؼ؟Xi~?bl2Ү-Zc?v>Gu϶ݝ_[[S,5~L-t4?ͤ>p8҂:_iPٌ3˧kӻnB4՞VoYbm{_m]^s,J-̣htz?-o{zN*O U)Xr%^ژQ/_s@``nܐ漠&MzN'^CtUZnrs6+}\qmf$ iN0N,5iVP/Q=gzVƇ.i2=ZqmMN,w)^|~ϭge=w2Y"tJ8G۔B;w`o2P2=T /eP(fض $4궂־U+] Aw4˚ՊI&֙Ru0lu#$&kZ.,pSgK1ߟj6aKW^+K_թT-⸐ä|(i;DHX[ǭ903oc_K|xynٯ}bc?#?Ѩgi{@P5)̧j@Q#ǖR˞ABe(A BS9 UJ7 i&JI7:W*awm(0J4;oт-%!2"I)a Ę!|F{v? Pt`L)TB :^ ((Ѐ?|W\}K_zꧯN%Bd}>OX x{:t8e\_]o-=_q'*kTduw"SG^e*f5eQ\6JQyThs[WVOB,Ay􅲵 ]N͸eWO b8bf: g!z0}[p_%jxau󯺄ϟYi5uٗꕥ|ڨIuKܳusW?!n`^v 7wDH)U:_;{/^2=k.mGlFÀw꨹.D<q*ɠFų9yPX?WlV 2I._,񬵶{8=]X2EjcH*ҪewWٌg,͆$d*UB]}mo *- 2&37t3ʪU,M,T :erC8am98A qp8629,ZL"ڱ ($^A|[I:7{W["jȠ,Km*8 =}Ɛs}4I独,˂khUU䝺G=4\̌#KԢ:K-PVR|B%E4ʹDJhU")~99FH 56kPD0@Y31@DYJεҀJkK-1(Ơb%dBhN?|~`m \uk.AR*#,;;? +']G_/F5$.+*Yȼ=S5zDc晐JeqB}{?oΞ<6:+;[u^1X?^u}=<bٴc\'I%ݷ՚٫v+Dz^kyqf[r?n[3_ -Wpi?F[of8rj-Nml%vuߙ"eA}lL8۰N/Un3KF#z eo,nشRCh!JKr 4.?w|χXk.e ;sη^gU}yRJ-D=ƙԈP@(%D@xX̣l4.CJJp$1AYQzH{ڴPPJ0`-0T XkЀR фa2ԠcCژc0҆b1 († Cu@LJҶJ~Q c,Sj@j JId ,1Kt_^w;B_ ::jhP9A5p+\imy+al, ``HP-EN@QUkz=pju.JT kQjvI"ϤAU0Tڭ(J @peZȢyJ1Bf  e3ށ Hӟ!A[u')'h8WIf}>ڭgᅱO~>^- 6}^r)gmN<%IP Dٯڿɟ~;>qBmξJ5O~ƕe|e@󾏼v7:C V:VԹw,c=Tܗ{~ac5Fo$qN8ԧ?ڶMqtG[=s0Aˡ^Fcy]:㹼=\\ݾ)YZ]Σ28omݞpY=wCVځYmhvbk±2Y!;DWoСƫ5f1Z6Q2ZNR<ʊPa*÷FA=K-%/ %vƳ#wy|zME-y(P]1`d Wr6tWn@kB,R Eq 4 kAPћ'"elb)ķotk$4 s +J]+_ DsLEſɟV>v">;ߺ7==|;nczs{xc?VtM-|Ƒ/N, ܨ9ባEkT|ܙ7Ae BhY+;d9|rPfv]v=kw>vs]*spQ۷.\|(OvohŃb<2F u}5Um,wal<]Z_Sn%/XTj|OIunٮ˨J&oۻ; plCo}t^9I.|$<>e~*Ɩ[:%3V+/ ]CU1( H %J˜reBzݷu7p{69<*/m;"SFn,ͽiϢxqp0;n98e/ FESnonR[jVpk)1"΄I#yBĩBA'KJFr=Qq\t˽7}ɝi~}܄w<P"\;GecD ;tM;XJ_3'>{J1: /|?W_t?dΟ?#:my-qteʤo VUqܟ<!}מ+1XXTksJVFnm5*ZJx/[KO?gG#Zkݼ{nyguЎ|>wzJ`=3WgJk}rv,C( v5, Ss]ԼWE R$s|{Omԝ$Kŵ{P 5ݩd ]+Oaͣ߸kQfzl>>h ܟ].6$FͰިxa{4lʈF+ ]ןLF=Mt$oZi+>ءvPq$y彥AMXn+8`J+O y7l6{t{^"}jWɝf=V'ł9֝f?R\v\ji cJʩCO'g6Zy"- Ac Lt 2jgHBU1JgЬ:FWnnkV%{Ө<70 Nw>EFI yE@Fc;/q9/uƃ~SK!Y w+VG0c: 2t2`R%t  sfJTpͽޮmTjw)uVwn$ZsYg{D߹OT]z5#իI`e ڝ̊K]s eniUmÕ'u^n؜E27􁓛]_׷ f`xyf1ض ZC* !",)81`g2yV䠄C4!eWFQo$҄QF1!Z= IDATl߳!`6mw;AS..K1.<,(bc F-wk~!CyεZ뺖ۖ aY!cO.wՋ zA&,`gbk^]9{^MJΏ]Z)0H)eJmK%0t )A%҆2RkT< ul˳cZòlhjQ%JLl1*/D*ɨ'Q^oUBaJ(LlR2Fya kк5?` xRץ2ڴ:s] 2;>@~/<*S!X"De'Bv-J,8JOyZ9=ǛNg%Z~`t[ۛ׮\ܸyl2)dB0}=N+ȫصPGKpS#Rq) 8yppVq"83R TL^X &l%wF:=ں+lp|Nomeoݸ1%i]}sW6:;[;{xrɍfU{=i~!OI8+ɨ9XuXZU>Iכ^˄t4mZG Qm4*+,/h\;}"E !z6|^TہN0>`Vm \dalb[l,>S- ۝άy*>mg::5NWiNfi+Jy2jWi^"(1& !x:UG2-N.gq3^uwJǶm(,jPk:+}аHXCaĊcL8ƸTREFێJdT1QѸeoP+)Z;^c1#B5``eDQ1*.Rjg40]2&yVZMʬD"ˣl(lߑv`JbX|S+|b?,߰SnJ,T`(C,8wfyYk 4O}8S_g$ɏNq!8/˜n?Pk2 %|ϷaJ9 l clQ(*@( ^ʲR) 1 !R u1h BF Z1J\ lDQi  mz6 \ |# LҢHѐ%%`p(fC , Q 9urRa /̹0d$i0j@%:sz4ݥ0Ƙh`@ kUd# PuzSHAlj!TK(!4^Dtz\UJj){b'YR m4B+6()xQdn@,XiabbaSdYNȒ A83kE/jeI\~]__q"'a o>Oqએg/lRXKf(Ċ)EiIdJh{n^&sU^緿{?V_Igú|}ٚ'.7Λo vuoD |b^&rt8;qq"Qw4 &;i ;V=-Q~x%tQPJSQIM]wz}MAbS\6]5FW1.E.RF^}DI<\G1b:^]G\ka*NG'lx-p9P<w4E n-2o;|c+WC$v{©A!Qĭbˋ,jVXXGtw'YD8"Y@* 'ܲ4zեyqW*WNtج0a`O#R:L9jTFW^hK3^p[&#O'fmX[uxc߳>~t$"/*W{5d2K}?h j'pbb)zڬjG0SNam2F&Q6>ZZn ܽ\ׯxxpl6N\JKO'+kp̬o0nO={pu<ݿ5 zLj$4 37D%&G?n|p _ՃcoXoRiylARܱ`bcRnE"2(q`#o?o#h[?# X%5"ER2أcm l@H`}u :GG"y)80F=F")%(ڤZ Jx?FQJ-0jaPfW_ ]-q'32f3ml@!ưr%%B K5`@)y CJ=$ B@ }LOP|ZP Ƣ㙔FcHOqwn.#?ǣ΋7^?ŭ/"N䉓*l8տ]߱7JlTKcs?pn%xkA糣}IҲWY՛b]זϴ܌ Cyh(ˣīJx;gb݃KgVRngXd4 Vyn|Փ+;wgυdQTŠF!v/׉TktQKۓ p! u&P1`^H!vo|>-V앛ݺbi0HZe2ֆGsWOh΢ta;N8v|"']'nUimy4yZZc8lrT~<*ã43 2IkftTkzk43/ jhO{N C'6 8Mm`se$)J.!X`4(ٛ&Bj(sT qD\s)KAeVJWIBH9V"S't.qpʱKdo*\(rϳܲh flZJC%דr3q)bίhZw(ӖM%Qqj?&bc*X,F[뫃f?uVluWFO4_̓3_}{Ϯȅcv9FBHܥ酾'!y'&)2`VyRR)]ϧ)7F Fu(B FQ0Z6 PZB1cL4oM1&js;,ש(f ]u[puWZDm itkN*mv$Լ(1J(|۶,HJĩ_<=p4K\II`2BtYjcT4(*;*HiG/M2i Jf(Y2!A]1 DPx'Qٶ}\ڹ\*BRZJic6Fz4ycQPh9߽ b :WzO֣n;H`[|{o~"W7_) '7s,I&+wn,fӯ^~ķ|ӿMsKgvBrMIص*#lWDd^!NƱۨy=:g9`op O.U({~gWj04kVXoU|b/Th-l^HUcVug& 9 x j-7Oi?+NoWҙ_~9{O;R{t?qeŽE-xsO~{.~hRL^(hd%HeiSۉ$bQǪժ: -%L(I.m(Bk6b^ղ$+#5H%R@5BABi@`h2F#ز0"0UVRD.,euw$\D+cL^@BX軚%y= ݕZiKYQJY(4Wy^ouH)dł {ę;;H,`%||F϶TJQd@_aaKv%@s!Ҡy)EY"!vΚjqZhBP2BRj20` ໶h^/$e{vs"#a!Y )?{txwUT]@Tm뷞?G׻s;B|wsCx~`{Atv, |tH2؏طdۿ[}e8~(ٟKoؽZ^ah锱14<dR'A18 Yfc~-J;O9uta2 @̴LLd>RIe$ETv*L EI @ 0yz:7{r9;4vڵzkoO@PB9M7K .Z8JyQf*y^JLei8H*3d)6)zG}I*"լ\RUkAwd2TWWW֢7 ŏ޿ŵW[{eǭ1 x,O<ܷoNíofd[ ^o9_n%F[%zϝ8+Hs.ZcL` eV-ڍFݯfI@I !\(J. Cc`YJi ј0ƥˆ"D&cLSK Zi%$xKkP)1c"8ǀ"ԉ6vQ2F( $̂h0 'Y'iy0t< 0g,00(J0 Ƴ b!tlx>LJ48 m\tz G[\BiZ!2/EVHXdʰ֚S!1N\kd3(F)!;&(U%7 lD0MRŹTJk%R`U]< p2IhiKOu0B!L("aLJJM`Kg<@;߶^?#yL)ϊӧ-papvwh'ANsE5ňf9׼/ s ߍcrɚ\Yk>_|U/iS[;gFwpt&%ymSn٧6|~d8..kom1r8 WAOos+I8/fuW>uZon=Tv^޻|e]F3Ӱ`3פGܳMJ07~կ {S|wÚFu뷰b.w7on?O\+=֪^\X.v1$t. r+ ujnǃ45A,IYN6[Nm<97Ng-<}^ՕU@ZQ1ײ^zͷߍ.)3TBt~u0Irv 7o>0zaO>w?6XMٴq;-V':\F^9#Z*C_'p&ӳ'`ebRcv쵪,nxI!j<>(#DH^Μ9`)T40iNUh(2*NIrQyweiŖA,˖Lš Bhi̶-QUN4l[qܨz;9uM3,Ӵpb4 FEv6̴l7~ɽ.Go'[? .#Hc m<_xmhuj3?+|g^|ԡٍ/ƹ f҇^eTWj}/a_ ^Z-SV1ڕr!דk '% ׶3ASAZ'{o{[GuQ%v뮫\"&G_#_p5veIo`ε zk|#|.߸zi!>OJjʣS.eŠHb ǣˆ`$@]JH hRO< d&t2 Y$qqYfi2yB,((4K'AN'`6t:Ù.!64H$bT*Khg{t5!é4 p T!ĄhDc%\"Ȅ( \H^JrbkDy.Bj#jJ-ӞXSD#0|N IDATLȴ$SXƳZxc hIW{\:t4.L z>Z8x4ii{S?|fYj/U5sìŸ|饚<ڶ.s]ozϋ ~Ji%Cםq*yPJyԪ;%EU1z(4H$ÔItJ&i^2^w1ai ΕJQc矼{Fw7<ׄQ^HJI,3NR+())Х~0EYHYuEZ"K@Suju/I HxnA8>ɵ٬٨GCBAb: VA8?qqT=|L CtqsPQfza~S?}w~럵;Z%н__݌/_\?qዿ󅊿xn7NYx z񕻯Vd!ǃ=ok[׭?rS ،Ԥ!m 0H!JIɣ(R@rYHИh0"D,EӢHF&c`r4ȥܶmJi.4R$( 1 ی1̈ˆ2ĀarBFXJNB*WLQ^6ֆes^&IIQa%q<,`d8CxO͊N ~㝇_>|e1V3/ ޸׬h8+ ?FA VvbmU֣[w^-wbݮ0-k9m7?s|&Éf*†CO"gIX&9'B *I={S|̼?jLoo $K1׮WK/+ߺqT(Fp鷾`̅sAO.uηʼd!͌\u69/(§. $kJi//Du۽ޣIWuKF0.u M r}kU^Yk(ʒW:W|F9ӬU .,wnb`mʕDa(*E2P\Yag,`S(vv#J0Ӆ_5ɅQ˅K+V.:h5g^}><|K6ŏO0WO2 /ԏ׮=ē?5k/[GL}__Oy'2cKϕկ}[+'\+G(٫v.ƨU};|gpq~}CpgW7>U]s, *1`6:Os=>w{9>ڛv3e]RΟ m?N֨TkBWąъvM]LtY+J\Y~Jqzoogq\i gsbnͨzq[++JbZA<2LhfBbjRάȊ TXg B+!$ň&yA)K)AhJzY9h5]DYRp]* 0YX|՞wd0amَoU6MprЙ}x~}eҟ/Cp/h)ޕkHFa^'oPu^xQ_z֨Z54ҕ/$MseНzE,?JrD~WZ1VJ)}ˤ|0RhД" 0IJ&TRIR+!%" M2Lô\4 55@FQJ R c4(!c(K$5R %J e)FZk!11]H$^S.4\j 4 ˱FmڮT4MLXR+Y ǭ%fT{l0f umstPFqM1}󵷲x(ZF@ *BJFi$kmY)J:&# <-$WXI^u,:WyS%Xs(-RQhQh-fHp1PAcϱV{y,K Jj?W4Q7+ӧ';{kOi頾/i l9ϵ{?#>> p?faΑؕť8bSY[X1x`|ο 8. g'k܏~'FO/O( G=Xy(D]},x&a^m~4̂b[jwÃIvy}EWgaLJ{dgG7pt4yM,]/fȲgOh.s,XLɍ;yFzx*bF+J-:9-exw4]8'5w;hUݩÐBʖYcdR -GҮYYkT+Y2:LqV-ogA zUw2I}oqddV(tjeVq6߶yF"LsmTN_QmEZ02Y0Fv' LA٬p-phUۮEHiJ-guӳ* Z ި7[J^.ηz-F0-1l:xm6-lW2}[qXz)8Ȱy71Tk͵ɤӨԚW$S-ҫfE&"jnLO.'CMYKP{v~ZS"icE2-dmNve ܫV\QT9sޥ5a?yx$PX]VY<|wq!a_>; kg Fwk~OlcO~/e׿YSFkעQ ̥B !D)ASeKεPRjRHDx)J^̎$!cL(h4`5400`B# c(2 RkD 5`^YVRhiJKp.x(ZcYFKaBHiJ#<58JevPLF4-pմ<ޥ^+v6̵ZF5@k_KU1HiBFZ_fYŕD*}<1bRb""+ԄaۢmbkͺUJ9/5\۠Y֬7+SKmwa@VZj-V!-e B[-qt B΄@<)&uӲމ6hT&;?l~B̓ [5|ӟK>TI1c9j1LJy֛߬n2}jj`ǯMS teyhONwoksDo7޾& I1-R02rݠ  sݣ#S1gUƴ Yangqҝ\c9SzQbuLȩ%'34*]ۛhm0*a^^Z}^g~;|l:<ٝåSyY: l?a^˒qi{Zm 19-\iՕe$ dI^he0nQrQ'/K0ȸ$Y^=Ѭ.H2`|{q1sp'%CZY:Ӫ\Ho6Vzu<՛`JK="p+9O<ܚQǔDi&)0J ӯ,/W;7m.تك8Hz8.~Cg={C}xxU5VMur}sn<~{wUriBrA/mi8ɨʚQFQ!D4e0Jp[ifDՅ[N_vCck/:KfXi1SХ ͺA/K,Ms-QF\F%tmbXňJլ7NJ:yjU1ŕ?P1gYphh`@ o'X47&80 ) LP| PJs)E`5pLFL$ ,b@?ZR00J8GqȏǫS\ Fъ >fn f{!(so*yK;>nQfiA6_Cʬ#F@P3`8/ A(R:Q|a O}oM~sG iÃq>Sή=?}/ޗEř|pie(# rUwY' <2\+~X^VƉ#s(Dn͝mlie:}jmwoWFU5 F7ߩyz#Z~HMZk-E$ Ž0TeA$Bi: "A`,@#=~Kr!18FKH eKcBcҵi{.LIa9%+@PiQP!& "lSV(H*Y@YH<k;@a8H׿ >%I6=[0:^;"xCHL@"BD X!pВj X+#AtS1Gѱ0rl+^#`!oIh4wg)߸ɞNffe)ċqd whiʛ/]TJHA  R$H1Qwy/~ý[[nݨ6UT5=z?|6$2bUr ӪS]}q0+,N%us%j4`V"tԛ7_w`Tii:$V`Xe&r"r~:< rҩv-azFra˫)8|Y]r"NIⅪ$;o뭋O=D9\gq󨈧pEMPQ~$V&ͺE3ߚ:9˝7sGjZ [ _t,8K.;\wJԓd IDATpױF hT3!1M`[AMB)Jj`BBaTw盔`ԠE1F)!Xe҅19cc"i „PD2)=eZ#U̵Wj]iܻDJ Z 2!M&APara3R+#$pL@HT1تֲBDQ:E23 c,J9/^ !Qꭺ&$ +jagF\F%/\k+gw^[듽7zaVJJuN,T\وȫ\85ƂK ڲ|˯nO˿[}[so4~7^iPoΆl̷vkjqnٝ' z~PDzV]^JWo;_|A7p1Yb2?puy cCϵ[Ҋ߫^o͎\~{o֯z`Q^C d+τG"4Q˔HiV.qJHγ;wq_=Ջ/Jff䩚ۨ[VZf[/?{a{w+kӝ?% ר-t4wtn: 05}m]R%M$aIM+ + (0YkFYdR|&2/ݪSk˻Y5H*&9Gp+qK/&PRcjD8Սz+ܬ=$%4:+w145ּ.vmI+ԜkɲUlNȱ*p8%0+O2;<ò=~8-]72 ]ƂEq{k`()J8}8 q~3qdYre0w:68UJ:zi&zXrht~$mrǮT6zɜ V&yTI#5PEQfb\kO_xô4 bh*k,1\خAMXTLtaY&(MҔ&^_[f)H0L=8I8 =9ȋܭU8 &%A'7:r,)$8Ad 3ShWN|ׄH"f|c_?w;UBeo7i1b5VWVU`A3A0v0 眀:nfrQFE^ʒ[bÜdiZYh!@khʼ1AAjFa%%>>_ SJBf%DVB"JcRZkM 1ŀ/QP)iZ!XjgR @BiEFTh Bp/aZab f8{odiOܳ*k뽧GAvC mA 6H4H=]]kVUfVy˻>?d?@u_Ar_:{cƸ([օ5%ƪqiۃI&O3Z k1X@t!epSCH PE㋳9X/oZ"1JjשּׂJl2%`BatVK"Ȏ&y9.DDȅ*#\sjr#HY Ku, ?'GwCT.'뵕b;}}ڛl• _er4R,M\K+,֐HSgn?i6Wl4)ʪ{<&HcT糁˫RSbNk]ya9ru>ZY%=FA~tô^k #$/D>>yj{>8xGxn4ןY!4py lGY--D  gE.Iz(cK+.̒=L禜g׋]^D%Pkצm-C̟x_~k[fWjLg!sIҨ"+UV+zdʋBERTX#RyV 0jY`A9؂&!)V^XR.j5 {qZ@U(M #bV#Lc5`4UD}L`D QBFy qʈV]'b'n5IAnjV{Y`. z%+_orvj/OeXFc%5Y]iWjA4X4F^Zjd k1$.sneDSB,8/R@Z.sZj(R-s+,BthVvGYI!5Kr̭EOA?9G??Ί\~j57o{e{Nb^TGGk+otTJxgTvجap϶.U>:l.^޶TpGi?LV_>7.&F3nݸ|xTKvy(+TJ :|`pzpm}g_ .j/qOR٭yQyئӵKF{~wAF܆,Qᓽ˞z~s][=krtir6OlUVVҳq#. rQBlE|d|]EXǭ9gg˝TZ-ZZX"Ҩ!Ri:$QX:+{4G00GXLE\m^Y_m7%iV9dBRLb 0dѵ+DyifIʥI r P24iCw0)f椄YRlqY˗=`Yt3rF}i\^[0v;Jx8B v–X-6yZ2 uš%t%276o:!R|(F=eHlM1OҼT3ksQJy2gw^8yZtʙL'3(pjTid^Jx\IR:͒ `UgխQ᳙\}/<+k탿_?_?l>J]+RU:魐_fl)y/Ӱɟ.j;d;]%T)?^]j-OxTwo~JyuP"%`?iw3aˋm/lm.t*ٯq7n\;qX(V;٥͵rk4w^o}mW^ݼlˋ-/ O whTAxD >*/?DJ8~Pj sW^, /4^yp:N(]~nV`dgpvҒ+ Ͽ%m݇ea (ؓqQin?;<wtEӟ}{p{;#N)sUZk]Ṳjq`k뛷Ofݩ:4ILKGk'O0CV2S a@Hi$(66r;B$yt8h!9XڹFW_ye7iǓJeF'B+ժy)H䀌r՜,,NH<9΁!KZh{éݩS2b9 #bw2ҨYw55ihi3g`29׾~;x<>9OA^mU+#sZVH߾{[U*F[/?wɊ[p !壏GYk5 e<`3_|+~yVfѸi9KfOf_`U3J1ܹX{Ϳz>!~w>_/}et?w}?y?Pd;/;//OZ+jHHݹ@eEi$սkOt5b+չOf/zI#/c7\K$%ÁՍxN.{`wӤa! {)Og~'˫^]y~kZ^%ө\q"Ӄdqy+EXR#Kj+k;kɇޓNP?)nte_~e˗/_`ƅ '>^mZy:ySCXLb[ں9ƋhLXQ}wNS ?sG_hG[Zj=g*^Xܟ&y^ɆSt(i%B*/m:L#3!e.wNt=i5jwa23HbFgH SOnhQ#.~1in{dPLKVii*r]- q3lklƟ lLL.Fi՛@:t M`ƄcңZKQm-LyPV(kͭϬn  T6) 7D$鼘e^8E\j/SOg/-~/'·[YhKNFF5a!T 0w+z$Yڸ$GnJXz9ԽbMAc3u||*u^bFAP^hAqa™>AJseX+. 3ocR e1c1rRdspL/a $ZFԀhXWhKV 0sܘmpl\4@Oᑘq-w_7? 0xڛ/X S,`ZL.\H öПA[Z6ea* #ȥ^`dr=MB0@T**4uz6iiZ Nܢ,D Љ#H\0/$*dcfg{|?kTވT}o~|_5>x㭭[i{Vl2}R{}QY|`~w:awsȯhY9)'9KM^=Si>I_Hy2\[[83\%bC}I=Nm͎hԆB "X oqZ}|I>fs^̇OWs`cBÝfˢxeGsmÇV;/FՅ`vsj*8YxiSDf`64ϋ|qwT>ヌc?VYf.cKR;}*j NF0Uj)`>YnU{~#p8ϑͧ")Fјo^ZMe1IDb }+K7Q, )v:Lxq%hE$'X˭k5Keq$YZsOrX-t4`@ϦSf80 Z+G>rR \awj"JKѭ,c䥵V;đ2cYIiԨ`c9g!BX[%M:(؂(K00`qBgVfaR`Z;% IDAT ˥PFBHQJsTic ,ƀ9bO1%G/wG~o {WO{Gg"|k ,Jm݁ӳ+ K(o5K??u?yw )ed|ueadE;gP {fӨ~C}U6s #>2Q3.vS ʝ"70.F~/|P%SϳY`5Ac1QaTlX:@y˼"rM\?||ZhƯcY'5FBd ,ij~`guq} 6ߺ!rY]==tEj{t8^Hȴ67gӝGGݓ[rGW>+Y: Z6iCՖ?xJgu kg{pm2 3e2S())eBV6V9Äd2`Qb\4!$2h&`qjTJh-41j_ `a%,\B #+ZFY+B/pN,;KR(c:cD_di0D(1{љ!BpW[!+#,5ڵW׿2=5RjS|c TY0#LC1!B(l"؀,2Z0@(Kd:#+2(3)EQeT*R NygeYD]VSdF`TiV;,B΋RhJ+c-1k1F/Xj4Wׯ}ǿk_$ԿOԗ6Nщ*+/mUf pv|x\_|ո/3~6b]yXmo9Hk!Ҋd:|i3t7aԩ[x%4!/ɟwx:4v"KkW|o|D ga_'?}G8 66VZ'tʳ'QĚEcsrphjwKu5%n\9=a\㕅Zno/on8NFk4jNjՍg@^ν l8MEta8|p6x!QbQOԂʕh>HJo7VM}C~9|Hd=YkR\S̑Os}km*=;„a7bVWڣh ĩ; \H<ɡD̏}[R`Hמo~U*Ǧ nJ=ߛ͹@=OĥÝ>?7Ko/[[(K$_ i&'Ј`6A#տ¿NrD?=x7ǙFR;'`JrK;YgTi30Rծo+ r -,7)!Yj\'swW(4(}zql|㐢y1$v+fXʬ^^~|4-\S"Llj.t"㫯O}LF'*P, eay6+Dfhn(RBaV#s[[] ϥЭz %Ç``楐U5bmA!8 0Nu'a5˓(t>+֕8jh0_tUErҨ`]6Z;Հ a6N]m r$Bzʓ4I') ŕz<ϼq")52"ylYV-FHmM౅vZl&p\w>IWg? _kT9FRuo5.ZB3H{lp~6J|V_^;=ڼVĞO~g:|=9皏>v~@R)u<*)Fa D0 TI]J(PVX Fe`kEF)Mѧ)]%yL(&( 3*/c 1XkZ!0PJ^)khb  % zjD4R0"Hak eXkZk^z~ a/=0ApȞbG;W}9y\/:׌EYeBR* ,VXzF co'RX+R d.D)J (,Җ; Rb=AD&0.բLJ b`7\)k(!Ap9Å`,B`aSJ0Ƙ a6d~ㅇy|tO|x痾lM#Avpp9~z[ K$~织_~╗_Yy#O@*ް"v__;Nyaֹ1c?k7} ^6ˢNOG򴵾tq//nS#]˵56*wz+eoQdɴϵq1 zV%0( j{,%ȺC ]Gpsx>z֥7?jGJfÏi|Beie5v\>~ΛŖpz̬[/ ~ЧI鮴bQrv>-EIv/+֮l)W:jW:7BF-/J{D+W%UrzwVn!Ueh>4ilVn>2H݃6T4VL^^t6iJQjL}]o5{RJh{פ`uJۙDk9XXʹ*)#̺IAtEkRhjgI:lOi^y ;X 8'o\u}'GYFf#Pw©^YO"rTF=pkeX `pޗi 6Qdej!7ء`M*5O"PxUWw=+s#Z.d^]..-޺B=kIU)L6bl\BY/_^~[빘,:>wD!KZ9kU kzW$ {8ߪ,y}SKcߛWY4P[:' GQny1sgmy<ޝQ kWчQ#es qt'ŐڋUҿB `~>Z{Ha7:K{՘q{kSϕ~_wQÍkHdUY $IQu6W/_^;nw2z389_h~~}hngq)t>NdPׯmJKx:>+gEk3I}qELORy/~+_ܺ<}WƋz &:Z+rMӼiQh %jX|zt?{TVQ2O|"76lwgiuq?WYwص0yppWfxSFv'EVIԐL2)2Wbʐn>qLZwL !H97Jb &$)Rku@)s9ub:UEE!Lc ㈵@0 00N Ah- 2Ն0JmE 3BZJ8BdcDPQ0AÈK-FE0&ƍ")(%jz.&RJ!baBQ5xkuoXc5Lk W~=u,ʒ0q_T 0(1% 8gRjU Kp8.3D]sB|_˒"R m0JРaYأs -YPHLz^c%]8aZ}bic60X!JZѠ""mt()cHbL%6qgǍ d1ED icJY(K JPN5 ckjc,Do]EfFH)`>%BRX?Ä#!,,AX, s86lWCRsz 8"rWjaSf0`c3eZRD<ܡY+A*mV yaB)@)rBI),Z+BOܿMoy;Go|am:s\Ƈ$GoVW'j6&v%"ҷw_p~3f6O͘'tCebnK׼NSs]n nlH( !p,+r8qj]5y>98{so%<^׿ F-> QMgZ8[EQjGAInMUtwNN[lϜ>X_)hKq30QUϵD|?:+XDQMSI7bsS(74g;p0Zk.yZkn~/vwU!h8rhYGi8E(yɵR]9bK[H 'jcE IDAT+"GfVj^xyu NiR$U`Iw0vm?>;~jVţI?=1덟R3NreZr: #00xPxFjN yA"d^i;%bR\$iFSAIZj( b$T-j(2k B``lf,ie&#9B!8~0ZiQ`4BT u<=LƄ3PYL)1cFJƔ Ri-FC*u |FFi1~OS(`m;A`ae|Ʃ "e8#@ܿH|mܯ^&mK&OGlMQƓ3Rlaf*s4B)^VJF8ǔ$f1bBK Jlc1F AuGk(זDjzb9GL=b]z1}~JDi,gPv^A3ǝ$Ok7W<~?'wprVmc1oP.jl&XD[k~h\fAaۀԔ%{;)n:^cgy?(Z*:pj}oK`p~<y4`]^ޚS9)-\Fn+W6R&3<FΞL>~#&Q}φQG-OIDtM|ltԼuuw?Ht!Ù6XC*//j5v<%vT:%(:6PY|1 aqܨ8B!`;l}ePwgު5lc,@Εt8:^$6ֹ%$Z*1뛸^vnwxiߦ+u?ZOr"\d6 "cJFiX.ƀ *Řq}o03?b}gI<V&%ZJ"VV7 eq,%1 5b+U֕Egƶ<8Z|{/ҸXL:p8 $(\_\P#Mp1j7n-/KH/9߲\F,|wG ??Zm?Zݻ"Oq1;:>XjgoO/Gk˥n*7=}:j:'~bi_/ML@ϰ bx6T^;x$tztq:86ׄqF;ͿѻO>Jn8Gݺq1L }mcQ[/Nʕ۾@׮H( fఋq$+WLQg{W4;=9xXΪUuh:T#Wa甘>@ 6H2J̶-Th)J94Pƌ &r 2PB0Ơ 1B1d`ah3N0€,FsKdm;se͵zh+\h.8*$Cw9 0HpZ]"k  7„Kle6р)!B9D.6׮QM Èa#eK1Ar@Fit,;K"K "UhPt%QTrY6l2\'SQ*`$1@1e2J1!Zض*M󼐩HQe4" @(D.gBښ_>62>A6*}/>GZ6$jx=N;qjmqO;"&z:w77<ߕܲ =ztq9Sa!QaқwfDϢJy`VMxVɉ}NxHR:|V}qN횫 Rol/"`J^i~ZӣA@ԓ4(/^]7_L߯]yr0Ɩ-:vp齍׿~YI@SAf:>C=[i7!YPlP cǣ`&kr7/џn/7E*kk͵"5N{RR'tAB%\BMu-FQ^" 9?R!T*^ltd{K}nt~>m5Q\HiLr8DIRyy>\ؕƋTlɗO&(WrmA꓃%vl;й`y x1͢U{qF  A[l<3a9H)FfTFik9NF3Gg{G"ɱc͔6GnrV.p^!a*1B%KE6b0aCq59lol>2_LGnݺ9y~pkf\//GQ!.5vB_2R%AEt/m)Lukb(%ܦ\*F (\lq'g,rfQP`ӖP? Ss šRܖYaQh%(@0)0c% K "4ЈJ$HL#Dhca$%}=(&sj#79,f^8c`"KB^\Pc03h%RkYR ŸvQzp t.ȦBDd +\\^@&r (0 sX?1" ^~1BTLli#@F MY@`8g1pD&Ҹ hItxH86zƥg\O~nz#1,_Tlls0¹}kRn+x/hVeת$~[TBqp~f9qmkmCx,f7NxxpTXW\VwLw"&}o믮~PgvW~y HNY/W\fb65"޺ɝQx04՟gi5M ;VJbb{2/dQ`sSS B]FD9LaDDGޥ_yVhުgQ4ƣ||oVCr<+ڕ81:\R^Z?K'~Y#\rdd!9{QR;XZ'O&x歧^Q" yE5yb#YJ˕OO+>0Yv BW.ΟfÃzx\a'p:Kl7JVͅH@i&qLœ31/G'FZ^+?߱U< (JFޭWw9=k/?WV}i4P2 F1G=O+t8~4Nzq8OH$PTYetgm)3zܙPcL3 '8pmLW+E]]__J4tWwOr#{֨MjMOV-;,I Keէ׮_չAS=NvV[2ut3Ur&Ō縊FAڈhr;8m8@-^]98ʌ63)L$6Xs҅\3)ARg*Emyٓ{2f}8AQ4kY4{׸˫k'G BY:/%٣$aD;N;vj&;vpZw,^(+AO.g䜝:ƨB!\bLh!,0" eT,:ԶlYqDu-NJ2VjqPH p,n0&c5`4RRb% , FB(c2YeiVBH RBMUWDKAM Y#maL&!"`Q(%B(%YPi "/6evu +}63}oF"FȘBȲosF,rf9[t"!Z/&Rh-a @(6FH56-B  APriB(Řb!V*ODV2# `0B  (22( Uo {a:f?f}v1A&LJϣD4lx6qQD*7.à#Q0Mv؞JC.;hތesDvݕ+7*t4>?޼9,NugWgoekpg=BZ.LJOgduɴ#66~Jmŷ;׸o(Zr]b'Q1WH(tYͭ|QͳY,K}E+$h AiC*>V:AJ̔!AI(3yl:M"Q;pyd < gm3FUUBkU(NIJXfZXDj`ToQgڸ 06wIs4YpZQ#zc~.Fo &ի{G c4SNӬC{s^|c?!G/fR.X<b$-uQH 3 -T$QlA-ǡ U9f$ Y,HILRE4cQ@bvBD ZB@ܪE)e@/: tZi#`"FF# ,l;2TSl@9S&w< \l,wlF#bP>1FBYHcB:qei FEQȅgdB0G1׵T@tlCIX)Bh)NrP,rT6'/޽\דի8Kn\+[~ї:,fߺwtu{620oOK 7*Jeq=~nL \YN;ywl(~sXrr(^[VHr#h6eͲ,wFnq #9_ 5;Bf+Ou:6,2 ;.k (GI]}|oyi)SsZW>P`)/ I;>k-~ݛEq[Yg/vn6-(ɀ~gzZ}퍭/TX Vi>.֪tt8^m}qpbĢ}$ SIRBhZ;;~mW "^:9y9,ͦ'Ln~%?y|*(eeQnv671UI46'RCqóӝ[vwQnX ~a/cT<);C\^ڏOŌZ) ^,Z)fHRdzot(Rdl> R37FhI9]`X%T%Ю1^ 注{zFkr[ QFXh-  :¨!-bwa &Bc0*04VB-^g"ƴ.^PkRh 2/ %`p4\(/1ZfZ=6zZ ~X@ (Z8\g't"!_V懓b 4TX6WXPEqt2(^l4]@e1bTE+MD+YAb>%E] mB0[;(8 yčzk+NqmҮhU.?[o4=8]rv岗?ƄhJV^kɝUZI߻s6L4gx
6/sDeN8%s/ℂu8vwT*W*dqOa,~oʕa/##A2Ԛ ޚ XJ zÓg7_}kUI7VO¾L^Z+;Z&I@1J[} t'H^~v4^]n"/Lzm^! QITBW{՛w?_><;{JX'Ȳ pI0fN-ě'}LFg冭Q`2q Q  mH7BrJl2G)6 QU˵  0"@-pbc@a BeB`*r"U4e E<1"^V+@( Ahm QpkH+5@/h"MXDic^^ N< 3hVe7J^x PE2 6",MRK`@YAZI,* $"H/[@(#-'A(xQbm/@2/`~m.Q:4pA q,*Pq:3L0!2($ɟ WګSSOyZF8茰e|unyI燝O|(-.aΒʛ^rf:UJ4$ ޽;onpi0ݸht/mhlVJfI!=t,EIO4Iξw:d;JO+ݍ0p4Pҁ 0 #qy}-Jyzi %BJ.j8^x.d?X]gk}7 #2>yrx:OtIj+ Fs 08y .6LrH_{ *mb]ia;3M:>st$(0"۶ƹȢqˎK˓pv֛f)q,ZͥLv^:I =%,tONHr0 )6oKjjCp*382 @6"ө´yˍe#,i8T<~"2)Xl< VdHcjs:E؀6U-a0 תjt4عUꌰOTWw^}/n]kmy7}獷6Y:|ݮpd^-9cO}|#TRԦq0PumjQ(gEKS%bH!u0 2(r:ˮ뺎:`m4Safcf+Mr8Γld&I1ʘB0hPB(c #0iPHG+FFÈaα iP͍a!D!PFdsB=a3a@ڀ2JiD5c #q 4BZۣ h`mw*9u,A^jy<,'(R+ mۖ((RF67!ogW?O[X]ST^OIRWrNNiɶgEEaͭuCǺq!&tzk n#bgk~ЛK G{z~lυW޸f{[QceT(eDo=on#N{vӣuշ`{oe1+Gu;rZ$/ Y8Y1ؚd^sy9phLDzR1"Q(HB[6d2Ai??NŶ6()e056[I{tRoaDHD˅J~+OȷgZztܓ P ~l~T'r Q i KMn9Ԋͽ凟EC6[RbZı__"Y)!M(%呞[F۾8߿o\w!v%5Y__){˕R-vO12V;_Y CMV\~zf{:F,5WW i8|5GW6?:wO0 9ƈ8G`(57_m wP9dX/?:kd"e\jLƶaf9 YĪHZ., S(@**le΢Y/ dYu=}o>,=ye-Y ڗ׉O&*+Ӌ,ʾKՊQ+hbrU\˿BA8 872o.mxq\i [X ǃx ƄJ!x+qYs{YJ=J%z,SYF""mk0( 4diR(a,(ub@J@c@<ϝɢ%);R xU}/CL,nkZ ) 1E/5sB_X\"/$(Z8 ~Hh2/Re Be"l_A@( ;/,z5c Xc4Ƅ! % &*v(H/\|)r 4EQwVP*O^|-XٵM>W_/6]?fvy0J\l&'(7RJB0D@F?p{B;!.2 CE gإAsbƊZ뗗?՛7G<ַOijw`IfRs8U[+ rd Q"~pZ4'G:]*;]Aqltp6q<|:\VJյ4?x]ޠGVzgE+g1Us[2/˭U}Rc~QPYwZ<;Fٻ|LAw僻k&[ ,Rn l,*θSF>/*QDG0FbijLl"y._%oqV&׶W'8~Jlmwj6`~tgv}|p+ΣX(vdi$ͳ"^YZj,?[[H{hz\n7޼qrqr8I-呒kgsoogPJ{>ԛi6gV!_-G۲!Ga,a`>_D9us꾛&Ddrơq࡙S%fcvӣQZ*wNq.O/^eqRq=,M0"ǃaR{ޟPlBn]>y1IBmũ,D soL=qk҈qo<}euc\$SteLJ7{ol[vׇ״3{HT֣2P®`+*3F~ /7VO΢He,KLH;tZQ !u[Q|哫6C_FzUtqfuZ lآ,ъ?='fLP2)}6+U+q?J5Ϟ T:7DFrVIT7-d4WR5 W&vP(Y?ݺ^b+2E6ZR͋J{W ;zYeoQ<| F7)Wi$m0#mA`bA>>>x?{/D@J볳3\Y]^RjQ T98UYhfm$5ضug@1ѨJ! Ke^3Sg!)}p8Vi'HYiCa GJkTfqE5^Ŷ(YF-Y%;͢jeDBM-o~X`g?`cgng$ZuC~o~uX!Ӟ,QB!ijԲAcs u uR %iyׅBBy!1Ҙ /\ۓGijo>2<V;Gr{9  ]|1 A-<4#N{s߽V3鏥Xy9)7R5 Zu\5u"? s̈Z ۯ6˫wn^S<\l>7ÙGGߚm԰幅6tfP*a?Yyz4_{#:pmEEQ*ASJh쪵V/%u]ǵE sXp1rfW?˚hK\ByTjHV[V+PmnAwlnEZpo8۝$჉Izv+~ vZ=̅FHP$hPsݭ^~{i4Sqm@0ۦo3L,E{y_`=> 3M)1*SF=>brI.U7o[߻u}F#q9?[|~cbQ+;>>J4 c&޽ѩ3%]9M1"m@'}L9}ΣE2>tfYfΊ5C/j\%u~?|~e4u"OQk+,(RKV8\G67۬5t^w,xAs]Nyh`l8rJ< 5+?zy:!%FӣӏxauCdi\&VK bi;I 0 0$bSv8.N#lŚsVmRn5ARB`$׹ҧϮ<}S heevFmu9? 3wVpBYƂ&8jRiBC0VNXsʃ=۳Fݴ?^nq礷lȹָH8ڤi$ YFy.(k&ť!j5ݽkۻGq{X w$sh: mHT$`s4A^a4W?}j坷KBe4D b3keRJeFRx \ e$P`)@VL@h PIJ)Q0ZhBpTZh0Iv'F{-AicZk0dB"Xs j4RJH./S@1%X. nCPǶΖY̢Ԛxc`1B0& `1+gf 1V d1_ͼ h4R_͐mKBB]$/ ZLnf6Mukp=,gAhge/޸8_931S!k խj~ݛܷgNoy;8}vOxĜxyd<.fkڝ73sr}0GP+ݹc֗#kzάѣVRuP-H0;do/<$IݠT{h>_ĽN;gJrܦŇbOK /~`^c30*<[j$O7Lݞڞc¶3x; pʙEN7nji0yJ@JhSZfHC^ r?㏝ꎆJ a?nw\wuJ0T1tCO(|F4ʼ3J8pmZwK<力cF s V KqVK!B('-\I( jiZ  Kf$\baq=;Gp0)e|#9"ffi#x]Hʍӫ+o:ƲY2ɃjM'jM a Nmj8v0zɍrVȓk\Ofg7jIaʋ,ı8@!8f2(ͥ0mם@TZ4,$*Щ*7SG("(`4ekI)m eJiÖieӉ6ٍsKWVuX^WʑGӛ>ڷhc ++*u./QGʼn砅&hB& Ե 被 w٤,ãҕ[%ޑq_v͛Ki.NWe8[>S0tv$gƱG;H#71!.LsJ:ASbO7s7OƱ*[1XD ޏSwHpQOYlʬ>Ů"=u&9 =TRz;BwK8òJJosG3eKC!jR>x<}Tzm@ sХVtv;uuۦ\ (W`Ids'~aQ/S2!2*BWO&3Pۢ^^d_4 h35T2TrmwL틧3w@OH)a4E /:L)Iij-VcF OeJY0ذ|8⊪S=E362}a_- N7 L JE궤yppAqXm9mRy,{`yYʙdCa;RXQmz€D$i8\6#^;åvB0 ph)g\ibo)P#].$0`rM^l(pn %n8Ad 0.tB?O&{0"NEiwCe؇r8:ӓ%zu|ra:\\&fN_MZwb/RH(0 x AŸU~L.. y3(X)#*gCV蟴2 Ld8y! S@,"lJ9slB1%2Q^vXfH`;>Z FC+e@씃?UU.]8 ZsK=^P/#,jIA7;{"Z-^֋E(#_J̦r 6fWS_5U$6To%F!BHT~D^WȫfF~=P|[xZ鳳>DԷndi$:/*cM("RB-+{'jS.o?HZ7e::DJu^ Wɤ&HϊcmhSKoI,:qմsUx@GьSQΎrS"di8J-cUS"'5CeTIK3UHWD^jLa(Mk|(_Wݯ-`9Ѿꑲ{Isoːa F"ux?>z|YO).el~(2h.orxU각YBgƭ}Mg3"=>Kљܒ Pq_lYdQ گ%׍l/=)g;IKo AOb_u3lɋ'Cq9uԢ2B)mS,q!;FPo3'hC^fYA,ܦuEׅJmaRѝ*+X>QzoK! pDbwx{s|NwKdګ%N?ȋZefG뽉sG Ӵeضm3oODSI|MNiE3f;޶-⪬EWfKԙkF;'ZH G31Ͱ*q~ eIvS3E(shJ|T49íZ[]Q7O`sbyi`m=g*U \b_"%>H4a9ieITGt0Pz2Jj-c3.H c ңAOm[2uc;k`-G?ge/W3|I8Sȱ zQKSi%!.e}.e`F1UY3c`'ҧ#1#gb\GʰqzAzD6aTأv`VzL 9^eӦdY( */ ӱ=G8Ł?/f~i Wz_:1=94a')Dg(̓TQC-thwXt?3ƈə6ek+˨%Ǩ}& E*cߣIŒAW5%΃f=ȇ]ȣAd OpІ$5P@sxaf*בW `NҀ\P{wB^V_NHߏEITz ό) *BBF)p-PMCeBɊՑ@K3o'[v.Z!Q>9ES^řghR_.A n=#SS˼,5s\Ȑ1Wӆ?4otr_\ \Wr1DK".% CʤAxP{(|.rӶGvvPEcRՓ2P ,`$":xfBZWeoX{S@]PtBإm4ʄY118,*G۞BuLIipWHLL $&)2%S0b5Q98AY~ԗ@d}uDm }XD,tqaNF/:3?ơwo7ۧ1KoXE[ET eyCNg!Os7 *6\V3Z2ϐ읪mI3ʕPˍ$=:ýc·JRsM{Nr˫)~pqŎ>?rЮbXgcco,zc]NYSe`^h=p٫cu]T@;QC`Xԧ e:gtg#[1وUW@_J‡'yˎQЫ7wEHsD0 g8 eaM>Y=ԥakaFpY*,/ uG'-ONw臮\JྸH[][SZ'ʙ^ <8[ݓ1^kujڽ~m]{Յ$ȇw!e\߸> :.$ Ö6p F(AZabx $MF77OvF#xァe'\Ʉdx(6=!I?yzԟ5? V@HYFyw.[1tF4RCsEg=| 9 ;EcxD(#?*dVؠ6\^,x?vXtX .훹E~xFGܗ2LXaCc2b&HsdX\6݆"3y#F1i V'*k=\ 2GZ+5XQa?fY{ ۙR~>CTI+VfqNN+1՜g2<55Z"j R#Фӛ961*c:K{(vTu,S f^5KvbY QݑQy<#{F0b(3n%sWtpۊ;º EI΍bGBw>@ȏRKrR{X*]^IueeOk%)wT=-Li0c,Ő Sz?ǛB1Z(xwp9T_!lL"Sk哢/q)D1efrdSیE8* 1?` UΑq[UO0<8ĬxF"L@M j<`$FF5> JL  Jhhdu.xXyg٢5I@ 5M) t?9{IhFH!c}Me{.F̕VSDGt CGT:Qs=$KcDPq=ng*يÚ͙ߊn8X*b(j U:Ux%%X" vD;mZskHk#ǣn__Q&i)Iv~n=֥"9a`0( #JMց.} dQJSkpf UOż5kWEA5؝$~0:=pJ>m=OOϵ8-mXmV56h9[Qx6\03H=dPa7I$]wqxʸ/S uVI|$=Ws>UgH% Y Hw:F?䎎 4Ͻo5|K{>EҏXvܭ{c:O76_BAQBb404cuBBJqPC5 {61?QDW(@4b,Jć<K%qk98l:hx@]zwAMVJRQ b]۵,n#bFp,aĊ~K`\OKWP_xUNlZ,!sƏ/ӥ0Kr %`t?rrn:5便:\'xЀ>zv-PކnYH"Z.*T@FF GP\ ;n'_1![SX`dĐ @y>L 4B{DwDj/2R ,~S%ހ$u&o@|0p畗6cgmC@aK(ky:w|`\;π^ôs;;-׻Ff~vem2]R2novV7z.[FY03)oj|f4Z,4fU44"z" ^Aڴ睩 \u[ rq~DR3ep}҄_XȭAv;esY^!ט{p*B{ƽcrqq_ׯ*Lyf6ffoUgs<Ēe?;X8[x7dm}A`￰:lZL\`cTf_$ciľZg9:P\g|$|6U=vʛ]]D1M;GjZñ 1OGPvs:S;Y{p^Y~Zeu<ȌV _E *QB"~9rȖbƀܕ23䟍c)J|ãy86Ni`!^։2h3bD]$k3au^*G:!z\tlT :\'Xbo#<dϗVL`(`NY{<rz)`ӣ^asLKG{.we#{zmMxsnH'VM[9|"@1$-67X dP@E ˒; mE/쏔>"mpW+!6B-hp ߰4PN!)[2\ ke] $li.L$oЀ~\`؁f@;jK;J%s42PZfsLT|S4+F9 ͮɜmM׳w,:lqKʢ?e1D06_&:`%|3+w_܂h= EB9 Tܨ $\ o GL9TMA>xSZ>CDFfgۿi; ,n20 wO`ò]!hk{PGP4Njh] þ:ժŋreEm%DZgZ<%^mbvy(t]ګVB)yc4U}Xm"<LDTt_=ط~|^s$l <{>dTEjO\t^|~}mMq:JQ7(©H{e#3]C~}ln x_t5w?~.բ/b<:͠?F >X<͗@$Oފ܏#ǧU.3,݇ ?=lgfLM4o^/~d!tPx?hT:vE k+'?r]f]XHfN˖׀Ihl#ԛHk߶eQ4l3OKxm;{\iǢ'ۦ`l;\x|i#H`X,[Ɓ'| 8V{qq+ؠOm)ݝzdKg^ݦfM±?s!L~Dpת))y85$RN[LZ|!X"ب3!,R4dʎ.g{wfqx_~m6M_RA8xr*~ 72YRu4uBIs**>JC!NGuP!a!I 'ATSÊlx?`zTT32*0 udп}S \1UK SZ UAOD111=2@0:OZ/YpY,EehriԠ?dqDF)(PԺ#_,v^d ϻ?;Ps,j6h1,Fl7$:(XlH 4B!.!fYj(=/Gʘ~Џ49@l2B-BB5ʡLpK1rRz(Od|^?,=|yzt]LkɌi5f 93)M TJZ=\sfX"Lzv! jܕyx0zmRJ\$q18k5GB%m!yAsA/Ac~"^8/6 &繅`Ƶ1z ZNb#"hBz"V*BMaU3[~Kxrc(" zvl}}eXnA3ԙO_lY ofdj W;_FN)K,3I=֖͜NHp YJYAXԗ(ݷ= ʋ!2."waCG3vw N]ݝIޫD7KX΍ uy&1[Owe4ؖK!Ҫȅp&MLq7-Z[4.01QəeCVGFkđLćZj\|T.oS@6(\.\/ـ$SY:SWymԦ"mkXOĊ@e ˳ڪě-2lN\~MV:edS݅^)V};W+IdfsݑM{i& z&>i_Ib eU+| "elquK᲻9^,50t<%xEgyuIH &?wm*(U58b*RDMí9u`M˹Q~I c^V䩸ǏxP}^ ңdɁ:4G !¢$e$K$K_pl/'h^R}ag\`^_kPLZ ITXhˏ  f ?#D&uuD2x,Έ)E7,:o~9*gpG JLIVp`%hߒ @@2s#+p.>˄ЀޢGG1<@|yFSZ%:4#C@ˈ {=rHLYt34>yߣI6JvQ b$ .J F,JέIW5SkԦ-D$MAg @%)tN;_eJ6+.d䬼 )E$.yQ ">|۞_~6ZzC{oXq@cyypXUJr՘Ϣf? W2S |d-2 ҍ~Sd,S%%A@ [ǓO9T;p60 Іbhr!-VC)5W#r"+LgĝKz;y>eob誯Z7Ov \e -l䦶gVUV7uPSR5`2,׍U!}qg׸s*:ፍbz`MrZL5M<LF&2++ B<Ő" OlNHk^ΏߞT  t;S|vҺ-0zKpS 9z&tׯ|?=VVV&UL57}v <*\Jbҵ4scS*`߸eE`>F[}<]2!|:jZOoo fM* ȔMr"Y%qݳ<^8q:RCy.̮#ris= 3{y8`Q6Nzԥst:>e>BF<+ɵp{|g>q !i}mcdv$=3noDSI01$PIP(vF6 x}yP3,I1h\$MoNC~,O-8eB?MrȊG' eEaRJD3Qc[ϑHQՃ)i3#'(alW–j*P`t\}rA.IIvh8ٚO4;Z n!;(S<ƇF8!SZ%W?HnU+2_(vJtn+d_q1VoIyd;$Iqͧgjo2jݯ3=Ose_H>?;d\ofO\\\'q :C_ۺ>u FÖtQcfc=6鄶MQv$ 0Xvg+dM%-yz_毊h㍐'3:w>Yq㧧K\ݐ[iT 憥mnMeP,Ǭ Nr:e;4-fp[߶BH]ũr! ;^ёQ4JGjۣcmQ DNbrlw؀'R1hT0_v MM"v";ӗ=Op);s_`輦ei9 75FؚXӰfo;( 1> ~-krn ?z?\ii^d|۲%/+UJx@Ю1P?΄eI b8$ڱ͋JFOvhCJJXl/+,Q@I%LmTأj5F4  !ApO$a8P`DTJM_ԦP߶-pD1([E )bpr%+<} v؄N_QȨx[B Lĕc( 46D֣QOr.;NbE\m Q64:9g&Ì0_g7]҃ LV%0abxo4 $ֺ*&AH2o/> -b%OkIrT a)oH@3lqTh`Cj|vU5;=K 3 Qv)!JBCvh֎jM5^M 37ӸpEP 2 BB~3D(Xi~L6i~Xe24~ӵO:>yyʟ[M(I!)LkSw0&kMTGn~:M;wJ.^/+~ԏ[gHiAJ)U0Anz )W())mC}B`uKˏnG酶f\+Ien9>y .L-)IS+t6SmSm@üxږ(# J9ii6k쌓HDI ҜoDH"dY\$co۵ΩPWiXL)nϞJJc,BҠ".&ՒM-!'jV;[/d1i 4O88u2<nMG5/SƁeSDǣ(OrF.aK0 [TJTq+>[0L \J6{=Y&3o/<8b0k*Rݒ' Cd0Nee/҅zK"~`ΖOMth<HUi)xea!.٣Hh6=:T Pu*x*@4byF G=7A[ A?PANs?ʄ$#pk :YDA]&T)BCuE*ͪ]Ț1C!}ml r}I%pTK,rZ_V{e-= =nyJ})heyKm6=6VQg>G ķ-Bz)[IEH'Y J~|#FJ? <]fܞfƦD+ojp3}֨P8N/DHL'KB4צMSO)S~yζo:`쯲 _4<ZȍKۄR֠ZnR3J6c8HjФ>u/V/\CbZH?xRFNPɵK§` D jZ僇 :s"ΐw`#I5Ce8nzv0ũl}3cHz#D`'Ň7=7TJBy^x92crր,x*s'; 1:ԗCٌ=!iYVIBCYvUpA&TCuh(\Nx?otLVr?@5-3ǁ;E79'ܰI!k|&.|4^7zޖk?o-ec~y#}[m~ABe-o,FU0ͣ8?yύr@'0ziKփ6Q6FYW;=&HN>&ACYFgyE+C:b"2v̦ Mg8?>H[5'e  k I lӋ$ߗO=T>EgK0rɬE ne:w ),]G> lYa%SLxo\[_w ƁNRsoenT\vEzꡮ[= ),Tc^`Pejgee[$۩ Xl-AI[ulɌXL~ FrIf, C锴SqxQ#-~PF\@(ԁhY(JH%Ad^-!gO 9|O:׵sg}3øI^"10S>ЈCcĺfVզSK话יRȔJP0Q  @>6AoPfƀP!CdDCB[$O5 K$2 C?.c@ָ)1P(j9|~~}V)[@SD1~YE' Hl[]w&d?yq6rMAeᔺ7 m*t%|k m)[nCG{[i8/ +zK#hsl>?~Z5J"'U;{>a y(ꗖNdzPN>54QyCsI;UeAϽUh9zTsJmexY wI9|<3a|5I׹$~һ5!v+ɽ`TqON?ZtX-o=gL޿ͪ$YdDc!ĔICY÷xjx-~BWHm^DkWh(OˬΖX"( /6j}%N]v"/ +1r?( (+>dc=0C]NVn0B#b ia 3]X]!VnEP 0 B^SFhDx,ÁPMWҢZ2]X#Iur'_Wv^bLz1eeיe\W}Ӣ ^G z ՘x^@[i{H#?wZ&ܲ;wXӢF_SfCEx-FXcTpvNpPGqki^<)ߢW_h0:u%_qxe_c]ywp+Zдy=?'Q܇j6ZlyzzYV_|[-[`gYpDծcōQݚseߦ{S3犲RD)_^ jd;oS!ZiVYm^FqCăb)ʔcCM4`{|g;5u-b_WFB禎>Kf,hۣUMiN\W+nE՘y\ò1`_ Ɔ[״Y-dwWq' `+*`z<u߿Y;&Dg!MaU+v #GC(ctV Lw]& *3YcRS>ۓ^ JPE Z48 c?FR4U! ;IgjQ }DZuI?!iI7cQDbF|دAI;1ipEfDԽ 8)6}|tw 2b3t&>ăLJ aQbZ{(&ʑ03&c&Fo]Pr@3A=32M/ V8!z>PZPK۶<@OZ m(o_]`Yg@Q Ͽ[<:._~EըVԭ.V_vcwƞ#ˈCx:g2^X(4H/dqH֥TdaF2hemH'i0[,ύRSUMYZECX2}mUlG1#_^5ig,ORrFjO z?d|TKBgXzcJd*vIz()P<σkR )?aB{ xP8Pvƛld!檡|0B-cd/mb# "Kpb{;2I  EÐ1sg3O$ O%KHe#*Q!Rct#RׅPs8"(qu$-2c罡&TqVBt!KKK)8l {qsQ`-+1$зD'vyR|<֛]e+:2p:\kG>DQ3wv;\-(jΫҭzç{}) A]hQ7wv7yb=w 4z.x4"^*tO^ lP}pb|̅HXL(li*LpiԿe$FfE!*F<7Wsא8B`\gB"Ա}iuH cW'*eL`0B?_6E/N+-+5ښ'b 1'j_ZAB?O7tj,TsܖԱD1ف 냈±Cz}]}9Z]흫&hzEê-ݖLI}N, IH0jd0L>yݲ  7x7(2` 0pLnc^?O8LF+É2Gw.!qa^?LdEiʖY6WEwgYLdA0@JgA&UP ɭA8]<"&M~>v|(($ăQ1@I~6VѶJ}#WX<-MY낿m73[fZ;j ý3[UPG7/4$k͐a6Epr{w(B:stq0CPAmo,I4˄}E?.ߛn!^}˿LL_F_j+Y-%Ys| : |_!juN(.mUa-yHЍ"禺Կ?˙,$iW}I6ң}޽ѷp v.}c/e'6q(il5vxB?k%8! =˗;p}sW e;&_Ya ]2SvRkD&T챕i %*]8!'D(>[ICpӄCD`0 ۋ\FlA:N `DBz쉼vY"~*HA*>zdePO"%lO*=mN uħ<*2Hds1䙿ph ON$^-o4MqKx9$ J(K˺/_} fn$-?D_Nf+jrx~[z0F$Dh{*b5)k!vVO0n>}5SQ>2ɒ)z,u[j!pUlt@JDaIaA' *]Ix:i%hX0?r\Oo+7g~/Nr );Վ7-d‘qCTR<-m-ͲG}jZWАtF3I51#JfWW}re^H3k<wMN`6oEY;Qz8*n.iIn1,f{W x{.-?ڙU\Kw\UPMX鸺Ka}J})F쓾|zg›X2q^s1N;WZz^ΘA ǥB$Fom矙>^n A6>SՓ6b*;Zæk)ZYam@| Lӵ> sEg&uw?h~g.kM %ya`DB> O@[N.R^nmZԓ葪j[Gx8W^c8ija-,uO!C5RGD_#ġ$:n_j]?M`E.͕*jk~ /Hh#'۝c* ǃu:T8'2"DIGwq$ E[ܱ`j,tX\^e%N8}*Dz ?R636@f=X1",fnԔn?\"2!o dMęJTm1.l jˍOeŢf0@#ԟzx`㚎&ŸG -A  G#Rx@ɏ٣Ǫ:/{kgHf!T I. :"5K@,>_ E)s%Hwf'Ap~~jǖ[]<£UJI a-X>`Cq~! 3o&k$UZ1t&0~31u:Xm0赔QOqKBO 59d)ɔ,Z&#l>EH"_f{uWf] 1Jz"qRe=T<ޠfC3PGD7db앀FtWɗ4DUBr/XwTV"!u 9Y[&')qV$+J>-𹻶<~pQ-4MeUJz/nOO"պħםsߣƷ |#Q+ ` ;hbP eλgzѤv%M/ο;>^?wQ>/+%q_'\딧ai)+ĔlR齕$6n,Ջ>[ ӝC6l|C9$`30Oje*H$ģvRyuW-iVBD\ "皅&5wWǧͻLkKp]u!&3P ';öDQ܍A{$m09 G[!Ew.yq _ w 秩2$& {yբ$/;LVoL~Q?GrS`)d=tGF`ܒ(H͝GD+~'W_Iٳ&5<7˵ Q[k%9tX@ rh}EJ",v[z I`d,h _ȥ@7Dx߄_ J Sb(Ƞ" B[ZŕQ |] 0 -6E?"LΤT& (]ӱAn&LʠҜ%5EV@:xz94`~H1#LL㳑%::>fx((AxV w姴ȁhy8 5jbؙ˺Q~Ԓ#?GzUѮ l`f|c/$󱟳ךSrf׬b ], JũѯvJyn?Vp.w橏f;K$|r- ԌI;:+J"?%?iyS c×*rÛ8(" I&=؆"Txuʞ?=7$_xϏ❃t;ےe3b |ۨ ;\,?<Za' bPˆ5Da8w׎{gy,:8̩[FK{R&\̢ajĆNMlwۣgeWNXH-< ɤ <بmdf/=[\"a5W ]g/Ar}nźpJuMv+EM'|Afךz}T5hN5vp͸ŵv93 I}eU}W֥6k)#?q~Do$C]\d] (Rhrc;S{8ܾAݧ@lX`S퍗lro>r'29GYr4o/57EKj4<10BMO5U6fB+lsռU*2t#̗ş:Vi{g]]>4s,waN civTBnr7r;ى v{Nڕ|Q\G%antI]⅔8؋aѨj!I~)ӳ1QBs=Xc/'ZMac3/buCA͸^ِݷ&y|r-bNԕzR"IAmBy瑏lcJ"2=Z#zIdlRbU؊~ dXn)%!Tdϟ^Al/C.)o/Q6rhH?s0 1c} ruG1@~rΖubNx6c¦i~|߳PfubqtDd!+?rZԕ,΄~Z⡛L5|8_ _!**u6ӗ &2x|X͡tU5P?\ #N>EG14(-kZ{+K mq?3p@lk'0;ߐzIhK7ٌk"ՊKx$ȎX;Lc(&T' r̈T-\e7#K~*L!8ƼY*s8j(Y$)@3&8F!($BP6ch@t l(GHS?[]w8L;؋*`_Iqʄb&N~vvxxym>RƎވKMZA#Es|ڸ2aĹa0,쏉O~]D۔0هJyVqww#q́n"V g-[ЃL9׽kQ^S&ʺ%h9_,h`$۔5p;&[6%^\ygV.}vZөՆ|V8˄<`3rO4G5G1_h&3$߈h~$et`%_\>rTD,Cq q|y%z`YfMm'Bzw( s{Y?UǚNº ׹vGnP|z}lv&a21>u? Mrf`M>is)yO>\kK%{4oKY \"5Ta("OxzS n_33XILj_Uܚen1ө.7: OSs_2싈N 3VL$sd5_<]_c|Khw)8뜌*A1A r-(R((1z.UWiS>M:o\Ε.E-jb4oJs?䃛rԿ&:R2e^%M i%ܯF.LHI:M4@ȉV*(ҪH"9(7^I_3R*/$.,N1)yqE-vnA@R:Wwɩrx!&kwao&W=PS v^ß}vb^t=m:I;3MdP˸z#oӻ7(ZqYj%Ck]7ew/Qg9OYvzz]^`ϳ@wͭ*&/Gy4^h8xWHz?J(Ap..1p'( nFrl"iDT0R#!G3t>ns4//1,2V HuA1I\gF5EHgDSۅ}(t)P4Kw@4'3z'lo:trX8I$7UIOz|DYh׌Zc#N .a8\T!q (;+bl՜l($dk9{!9$j ": ^2 K&dE?"Z S/ԡAֆ9ĵG4 bPvyֱԪ4sazن*wx^c}c_.ي{ֶ/W==G8˶JHQbcEE6Hk Z cOVI&??-m0<.d(GoJ&2>_ Cp`V]"PFJCXj6s5k"[U{%_bNђ|msB? jB[K \ q?]>Brj4lF g$FV݅W[w8}Լh0/I hݗX~c}m^F#VBku(8~dpY P~XEaZa!cXG<~s4@*%#1 FB*/Cxc` wu`}Qu,"#6";J@ L뺙Ȑ%̩BYSaP*ncJ zMT7coMȼRJ994z' QrHYFCv֙`f_ SfLg0mno YML#TJ(}-vTONίΞ&4خz.~KKL1(Gn^c_cB5kƺmpyruT#-K}߸?ۋd]pݮ.+ЙuJKg2B]ߚKg+MOYZ&UEiy=.P)>A jJ0DU51@οE\C{6jJ_ @:cLD)(f6]Ur5X.uCwRdP!Q,+Ư"5 0-$] 1ź5&ˍHFr1)@L-Äp'ty[V{># <ba]NF `k106!l89lx֍e4XjN'÷Ǘ=/+p2]lw{eO5V%o",gΝ{.\oNC#t6ScLZ=MŤVUIta?8YfJ/NN./i-i+;7[QKlrO?( H:lyc٣ql16}60$K˜[Z \!HV`2gG)aeaRi$eU'(CMWJ\N39ǫmɕ Yl0uWۭFGr18|zRcueZ`EQAK"5iS&Er}9LUddgk9- P]ƙ`RUJlGٚ9VUJ˰Jq43\QJQncT9yf%25 f.5B$H|D(E0Vjxr+;3VWӤm4GAL27wW]m姏R;/Ģr㧧XY> r!2<}b[2-Hc,_ۺ#+.e%Ǟsm}㵍mf[W ha)mk{xeU߽wdhcX`,BhA0FQ1J m;?L4s/8dˡQH Y) ^`2^YH 'cAƯ輼 yV2H̴1$% JYY a(]A*Hڟ^=w!+@&[Kwn@-9 *Dtl,;-B BԢ k. XHE06@U\_مt^p ^<'Fj  f8ҋ/ Z([pD<Šay cc7<@ T%ܿʟ=WD1F `tYꐔbS(f1,0B)Rh4~(]GTY6M@5Z7`)@cZ -'2D$g>'1֟񓉑@/G /89>a3SkC6a훟w"˭~׷z 2)'aJgj'U ;<TU60D8JEp]tnS* 6_drkKܿq=<'΍ jw𚭬VwZ~~wWKE-Abf0P%p.JšW\rLk+ui LQ`0  ;)R̾Ryu7{_oY@Q.s^֛ jeT!Kway L"V=DS خ<3:iln<.G绫;ݸ]*<[oX7ƕà]{j/'oэ7nOkRg,+?hhc5lZE$g7ZHP.O1%dǮ_Ew|?>6d43I)$P hi\ud|t|V+P~3pRNY*LGdPkyCq4U3fL)ɕF, ,=\ae NK6kEXH3Pdzk|d(*(xY8ZryRܢmXRRz rq$&ϣHW[scg3Emd^5T4+KLJyyRQ3F:07Z|=v]+RxNǻG ϶"usW(Au˒ՙg8_1 Txn,pX]ݵV45Weg}=F OgNk0jE%+womr)BoFM7ܹ2_E+RFfck~r6iciVEG7lm?^[Ezrַ7q}{ك?[['4u.^u+jL'?7n\=`9y&_j tt}t9OBPN ) 8׋:O0`{`@UB76%Q0>q4ihup曝Ammd$}.DlBSy&7W`κdKy9/-LTy~{o^|ZeϑHV Q0-.8Ir>!pഛ70 >O uLfl 9}'e")LBn,DJm#ecdbuЧ1Rһ*gЀ\]{|Y*q ߸򤮬#.*GT'H{2$Q}:NᣓV̂#'":崄Lk&PE[s3M,'zb|52P ώGgS][j=pArXW+\;;3{vʗuſ>ޠwڍ~{vgo,Eg?>VnnDnwautꦄwz~7/g}K{}2*f'v/5׹y7"OʙOѣt' h-^:' 4)C-)x9*bP"jQNx UXޡRhdupև B$ o+]NDžF`AnwA#(^V-uӿ8~䇯{mo^C"ƕk?~z޺zG3o?x2Қ˛7/N}cV׮ nŃ{vg'7^TO6ӻ#)Ͽ%}#l# 罢AGKGE-" ε']&UtRR׷NΔҺ僣3akkwinWgH`IB R#FG6R))xa-?:ibOn/YLԛ K/?9,C+_,u"R'!N*UO?q$ʥ~w4\\xE8HKuÊUO&hk)JBEѴ%Lc2RB)U(ThI:'%ontR]ho柝yר]ӜF$ /BKj46/'/Ff)IV|U-ő+-Aa}A$Lq4l]i0PR,nms琵6QL]<#WV EQGS~2)!dl™^\ӫ˩Źj^Ȓs<%Ir|^9 E mt֟g58 H@KѸ0NM}UZThI#Zoi?T"NpkQ\pA$H#ͲvLR |D4d~uk򛷖udDD[/o]o7nEgckr`x}Օđ192Ad6DrQw.y] q/D{|tAuU/wo>yo|teiɨozʕ{W_hw/vw]jFg9շ޼f_dr.$XYҦוǣJ$)G,2-bpżYnYe1`r wW޸P-Q3ϫFV/tX"7;I΋I%qdJL LL&QZN"m QЕcp{k 0Z+'hJ:qemH,R t;<\_Ϧ <&ⵍi6b n'i%  B\+uQImÒs "UkY0:J҃"{ZbksW9y;lKO\g۷o{xmyNhoՏ>oWw֗}ۯ%R_}@@Tu4 d~ニ[?gW{-L0NuZ<>Rm#7 "B 5oj *Y :0v7ͣ0G-l([;4@c#~܁:uaisnwXы]v. vV6z=_%AgE l>N@we: ݎ@&` Ƴo 8bd(-mRݹ!k@<77`=\LEˈu0sl5o|]l nLiq @J%eUN%Q`%xgb^(E2Sg\&GA E"ɘ*%^ @P(zTBC&U ĿrAXw&sg\ZXƓr8Z[Y?=<_1g:^V0a)EDz.,v3Z]̫kb.mnM\xq7_;~|qd n\~/'Z {"r|Ivz|OWViٽ惫7ILҋWoln=.\8b<}~Vc'ĝϿdwКD[+{Ps'Ie!H'BR%Rt .Hd6X+ɾrYeJKY3/wQuU%Ao>p Rjc'k>r "D:ΧQ,i^$QmQ\k|PkiQ[Wǟ? C䄸~|z{7^>9غn殚gV'C -LȋiUV5K\?yH\P]$kk޸tv|V8.Å~ov*Q'_fTÓWݺQ@t$T$W._LS@Ѡ%~1XNr2 h&(&}dvi/_p^jCf%1K-  IDAT@PHZbQ-:YmmfY.Y2D"F2`4Gݵ [tG(gkk`me~NBG52$)1A Ө 1^Idl9VR6YACRSY\ ) )ex#f#$55O~Qӓ1~'obT61nox}RHo]$qQ,iijfͪN >D5) sT.ym  "yy/kt??3xx(ؽHd +bQ(Eȍ!?>C!e$R 3vqշ>k>~ʒ;tTJկg?EO?|_~j2.}~ѓǏ?N[_9-N^>;uݎwvY+uvjˢm om,}{!kN,2Y q AHdV{a#(}dyy_\2:KL"Ͷx6˓`<N*md)cO;;RHF Bpc"[{ŁyXqKIb>.llG>k_:2Kg/= **xR';NV4E-:S6P ҝٴb*2FXlbLC#rBP>cYKEhTj/=HSf)dHRR .P+b D쉄2<3)|B*rc$\2qK7?Gj'cM!n^J t`歏\|g{oOqrY*jΖacoogt7ǼwQqz}JŅOv:gSXQ{=]IYy1TT>l@J)s ƴz(N[Cy9F {b6닛 *IHɴff{7ʋ'I IRQ+VYJ> zQ $t!r1$ J((PQJR_W嶪#)_U|Фsrs`c4XY%v#G2CDQPR:`A\F#6ERr4Z տo][WEt~~O)z0+wV̏}g?r|#?}u+޾zy묨qR^K>N{g=[eo}|P}*%RmY/tq=?bd$^!I l[ `adБ8,T/ʅ%WmŊKI22DvuZ|YXgbF)u`g+\$V, g dDfl*xwE/>[}yW1?^%a>ywFbp:{<˒RNE9O3"v˃a?IkW!"d4JUuPҨP5ĢFñ*%%j+BO{0Vn?yi* abcTUri/08fY0&r>q퍣ӽrgezk)13C_WDAP"9#5s>Het bǺm͛֯qBt" !Te.HA:J#AZq>!!& *&20jPdRctuǰsGI7M6Dh$O{t2~έۯ>'g_㾐{HF죃6g;GT*묗읜.o)%NÜ]tcs:)*a~}IuMd)pR,=lqMU]LiL0G+WAJULN'Z$up!0D]"ʴhjܸv]\KD!MvkvZ1r,h4Jfy[䪮| 2QHp_=JtqI,Ov2Kn,U%ZBA@6P Jr]dY:/]$,H,텅2 ) L\C􁄬ʍPJ.v,\Ԩ,UI*Ϗדͭo?wx8 6mCyN7/՛[ÓG]eV.f)= u=jR^^?<~曯Ə3I;wϞ-1,`fzGҳY6ӝLNjH7IRdݘ0 ηe-Zo|E\A|fI>zӹ"Zܸu;Tl%pɱ}sXD$UE1I鬖VV:1YW/^.$[~t<-*&lWy-`"i>Wi3ڝWn4&=ܣº~Ç۳*|kمz'/V8`2GBQ[?y[|]_NGφ#btTĚ;=d2I b{ڄ^S.rg?~_|_y0QHMt8A3M5ҋ̤M\zW4wRĆ8JWLfjҬ{r`ZeYXpTf gg]V UYm#L )tr@CSt.Vk3M'd& &|ii֪}bi,EEogKdn+5?[ "[sl\6.#{7HdL:*@A0,j \ty_:|;\{*( Gc!z$Dk~Xg)Y'BB(q6+{gVfH:ĔC u>X*ziDV" Ƙ "*GA18v5Xj:@) Rx 062kvDS* BT?⫨TVN12J(i׿VSVz궮~h}NKleM-ql)+VfCj'"YWU HIZ.:G f0/=GfE9W_LE YaB T8:M:Dir^ rVp/#sN\xG$7VVJ"(#·H.Mt@Tre,m[l',9;4qr\ͪ *u,hPsDa)r49 J<) Rv<ꩭDj GS| fOח lt&BĈT 7*˞ X !.,:yw:Nozݯ8gSk}̓ӽWB7ӕd8 Z.>ڿYX۪[>~b«W~A)b)Z˃n+z^U([FDvB(}A J'w?Qd|<Ȁ V<p³o2WyЗcc^%T:uz`b2QPBJsYϬ PM8WTڄFQ@pi(Γv/~kV?K$ևFjk\38ȌY_Ypfg I&?TfEkji}fu+,cc> ,γ'Fiݞ9%DgpSR28c19NBt&(Q l,'g/<% &)KPTZB΄$ [R? !Bz?3-6FNHo/HƗU"Ҋ満.DEQÜj–,e t `) 5t"d8Kzqe`PTe#u :h--,v8=m0+'ʺ@B7bQX2*2- .k4H+QT%a`Z @fLBٴT\$EF@t{ 1 e"v+%v`@J4.x2mb{T')2ٸx>e;Ik^q2Y$M-yrrg"c_=Aix L"p+&w\_9}~9w2.d` $Cdz:,K>x3[zL1\ٳry7s/t?{ul>< A[p/Tyw89~(ueY_|\ cU i[TEUɵ<}kʦ ?B:9z.]}b'G0"N~ywOЊ[DϪ 2z+ 1" P\:$崿Ԯa#a7 }ƒgg[b؋rvpkv_vMQq: Rcƈ>g,H ^ %y)d2ϕƾc"yZ3 THj[WKcǮBq\ЙYyy"TM~rLݒ5(Yx)@ֿkY6;jʏŶu)pބY)\US}"Դ\BjhRq\spj8@j%L$Hf'"52 ffN9+)`+'dl`|:_ c?R?WԪ]fAox왏C3;:s2zpQͻtL]Ok7Ud\E.,w.^|ѭ̸wk^Tv?#9*b_{#{hbI.PRWi6),_͋o5HsG{{ld2?|XZ_;xckW7trځDb0۳ycBBäJ b1WAVG~xvhԇ}Eh?it?3__xrzjhἕ.,>?y$@,iSCjO̪RR*>,*.Ffh#H)d³?{vϭMNgN&~''"5/tSdv˫Wԙѹkoj>zᣟܼy޽󏞻5ݼQvB]lV'zcoN~3DԩIcCqr7g`%0l1B veD]) !hL_ol/B߮<մ"$VY&cMv"R(d!23%2b6.58MNI`[6&QrhPCW**u )yiը1T =bhu֞S90{>= @PL&rՌ˛Y% ~ 7E ֪r@5CuI)"- 'e.f,'pxh"C H{0lCS<-G#Y2XލrlITUs_zU8(9Eis$-B |&vpztUDЮ\pN>S*HHFD$Kļ|'fb!akt)è-(GcLJ܁cI Pe֓5=glVդHFW{Bg(U=p/Ok%z}oB+|aUդRi؅[GbфԧIC猆x9:(LO5bX$֖[bm[bcP֕ncHUj6*,nec9wiUNf53s-/`lO_tOGz vչх> fN%)YD96d" <;'f n7&ٽgi~iH䄽;we}εAI,!Ҝ5{.).0-ڶs0ה` fA]NON|ש=^Dkhk~#5(6p`Go޼w޺|k?gx78{V)G]7%waskk?Xї^}tvbv2l۹Ͽw'+7>l 6G>V׿M vm˻}/|I`L $Ѹӷf1-ʘ{pjo~&:sLpxdoTsؤLa*]b+BJKD64i$Sb *Wzkh.j1p?fƮue26I"*ғQƐ!,O$QIDP1dQf[g5$9'1G)d"3BFlF/MYS br$[%4Vޣ 1'GFP*76nmUmȱ\v.{Kx8^([r21{no$KE:c}lR:;Xn->V%QaomgEeި)m'GWF?Yȯ61`%Qa7+?K4}mwxOO=ğwLPT9R!\p9D&j7GzL<}s捣Rk,Ɗ歱)WnXtk߻3K8 wg6!ׄT=Gن^z=P(,x:gWU8,99sztʕYGnw2v_ʹ:eqk_O_ڮ^$ٽ4NM Įbhqkٸ;{nK#7s&[2X.-=&]5-]\47"@Ia B4-;uvg7;w.%fILҭa |Z))H#NFu]& ,)dfFB 7u-E$ĮlmaD+7Z7 6eg>_7;ΦlrJJx%v"gxcu1iL !!f*,Dd-LΘnՊ,U%'or.{⠲VҬCJIb>[FEvFĵ+So*h}\Lnwk߭Z`;uv>/ [dIN wG"gvRk;n{FF TŐY2kg>$b`n9Ѡ*W ^ukdG߽qy#kϽ(gN*9?;qӏɫ[ lLu97'ӪpQ5dG9$ 84i\6=(k.ˢug䒦8ӓEΤX~ŗN7+&m 2NN \b j?8X"آpvegqu&]}6핺c/|Tk}mS+Cz0o߹+{/_ʢ2fc{{ޜN<{e9;:|^ٕڢ.99[OS;&wٕ?|n<l*ǶԿnSKN26ϭ??'/<>ٮ/̸rѴt<0qU IMl(ljvFs,ՖW}o t9ggG_w,mxk6Za{׾i piod$T{Uv>;ήwݳ*>Gn~BQxcOܼtp=aAB؝7r{=WUiߗ٦[zA6q̻@ sPʪ m$%CC($/Ϲ`2ItXJᖡX;²SacP>V``:wipMI]G6p /<{Q  {3.31=)/bƘf1Y E+<ӓ:U@.C BVMKF Y`:+똗╭g-Ar52bFjR(\?;PXn `͕[r,6a8{a{'@0Qi܄koFy%Z蕢.(s$DLM̋جq 3귫'6=8Yk r H&lrlH3"!$$"̔@Eo䨎JE39W>*4tU.s6H}X;2 !0rVHrQC2^~O&ZvRJXQըY/TJΑg.&wΞ=usf[K<%hiJ{'d~Ihz%*(1+6gͤD1%QQ<7}g~qer0M"rl_\?,p?[Cn?3X;kahi`Vi6t Ua;p9 m&ZIƅ$ZJ])u Yg7u9mOzf8>U-".X+,^AMVYSu덳 &6%2vU>e4>E;;ݸޝ{0m}hVT"xU(xI|aGk+둥ir,G]3V 7{ޭ?O+,*.hQKo>0;{yث_V7X P%L)i^jSw|md!΂v q-id21CU٨ W7lο<?U]=9ۣGYJޑ/j(Q'GUr6ne2)F5F.hz̦yf)ɩP IU`ec' ^ڤ8e95HiH3j((IKytD6wCJ-Qzn%fQ0ⲃ%8[N~8-zak{09ɶd, 6zY5ƩNTڜZ(BfdLGPEڕ & JR$%>U ݻ7*m9d&cdU{r+t;ʽ[{r}7v._kf ~e/d$lj)ϻT Gl⤝.+dS}иǞVi\ q6Pκ1RЃ^wd Ic*"3LI"@L$ CYbKC$5a,acmr<=tFCEjwu䇞wx`rld.d"eIrۓTzm+Tk,1`+2/}+֠'{=dB}xy#@⪢2e਽+K"s1b__&r%,9ڏY@ /ƽָN+흶Ǔ>f\UT Jk;KļKdO~stEA(,)\Jt_V4M ;cD3m'P˃u5 mOmw81'KqΪp&Q)srx3 #x|e*~sk J&.q gW#յxͭ"eب,2`컨G(_xҗVY/FzS _4FxEh:L%u!j=LfRSLv6{Ҝ=! /&Ǡ~9?^h$͕#iJĒ<;K21L 93hJx%&5 u4(-P9"V2&I,:աa&dUUG ̀r 6l^vm"<(- eYDDr/!%d!oԗYU>j`_hi$m[H)ɽ46 UJ0b` 4!|ped-H$.dӅݳ3gSK&΋{o޻E9E Dٚf74r]NbD3t+[fM٪ں[`DAdʺ{ﮄe [Vl*px˥ d{;;4䊨0H1TVơo%U3E K,`yLʄl䇯5#v7w؇Frhs?`stvA|w ]ڝ/у{k8qyr\rlTWF.Z7^}eRM݅s3=ia&ӽPz{LJ -7iw4/WBk?H'>w|OIZXgɃÓ>tShS]O)B ;ԣ1!ӟ}m+:s ]Vq{NHR*C040mO&EEǨ:HXc$Jzȃ/@ꓣ%1-uU8!er),v(`ԃQc7hObdX$-be)Cc~Q1D9!d94+b$l@͈B I \LֆN)Ҩs,sj[4ӞtXFEBD @NEma WEw,dAD`oLfP"ΊD\,Bb "2 Y%z&TOXRrvFJ3UhTGhHšaam/tyyQAj=mi0xrkw_o^0[wև?^rըѠ9u͠!p"eA߻ye0+[ks+k#kiڍժm"2@!>;^ڸw{u^~SO?^~xrBӣ]w^ԗǟ|p8k>;ٺz5m.\:gcc^{(RLf'f/ɼYۦX<>[ǟƝ[vm\7e귝°kԮ?hf?'15d|pwc4 W"*JlEE/׿cOs!KCRQ#$}0زZ-ntxmC*A51懙0Yƅmg `0셭Y\\`/@25 M(9Wݹ2W^z$qZ$^4,q]cOq>xx ?9G?G\L@z)pNʪKr+YaX]0?¢@h'811,k1%IܴS}j'Ο>:.r>zo^Qga+WuWnuP[l%Krd8bc66lca {cm0p8㬄dN]+ syU5֨1s=wRFPApXfj`uuu\lֻL3%-)F˶TvgN͟hg AH()FZ8J[b :Z7koڲ~|dVð/ ŲVn$If4-?#כޔri竵Z}*޶ŏ{h'[- 2#!L,eO sO Pg<-J&IΚJIia+ª?6[Cv igiIl`,E43rmbbz5'VʅqA$*0] Y )YBqNMt,lV eBAffر݅0+0['$)-95^^nK]ǞAc`8fO%ˑv (rIOPHJXTz=Y>qv~Qv_C돬4 h'I\.s-;q|/w^{7"$ HQڱКHR* X.EnѾ:3g[Be-8o_K_{ɆLz|齷ݸX֛zxhyiA౳BE!ݜȥ9 +Y#ЀoۙI4itmH2V Yw]FAd -p%WR˗m߂k3`rT^mvbԬpYy1XmܶvbN푃'7\C݃b5.jb~*!V5\sbh8\_8yZj3 p@˔tfHF3bCC1r&MW2voDڀyQcaR VᕍOD@B$R0{(&멣֭p@2*IoUK! T pהvlRb5 jLv qe $%zuBڜv+(l~}Ͷ8b ^;:f|NN{&Z˕,w\7s A nZZ=S7cJLp9rO<C۵B²7V™܋2PiRe2TYu-4fJD3q,08+X/{n)ZU7/.K_Yxh_J|eX!")W,/.d}/UzkݼtÏ7nv:,.vvjˋQ:Sq7>7K&Η^Y%(FvؤL, B1+o[S7E?=ya|@|0gX ^7?o߼^yvT>h.5Wj征3'']n˜v[ IgYHrOIn <l|RsNhjT t^3XXO^Y."'T/̬FV>Pty7*ZVn)Fz#P;pNG\-$qA^Cn߽3s+rE9ΜbJJD$TnU :Pq!Vm g,֏U۳zenaid4e:~bo%_q_T$\!pk;ycw/sw-1s\x7͎;GdFҵNbAk54346Z0?=),tkm{`|@Lbb@bQX=le0cQ`ӦN_xf#ge{B'`BOX\]o˓# fpZ}Ɨ.ׯ޽W67W.`Bi (TtmyK*_Dc;̮'b?3yq U`Cjg`А߬1Z+C)W:y復s|{' I-E~w) 2JfRhCBqj,B-ɑ\z"RR pXxGJi9i/ z^ج<J؜bz{4p`5 0{&a ɦb5Ad;^ 5Hˍ RYnpJ>Kv Z~h(Dd9_xy2`iTLm|@8$P(ӟ{2YعcXv@kc@}sXiMp2AG^4R=_l|r;3>TBn˿Rl-y殗g_w,V+1Tu%VC+Ku FR {A&B 2S QYv*B횹,]4Ѕ|@ IDATZjZ- $W$];Յ@1Rq0\TJPEAjWV-WR*,v7Wo6a˖v-UV(#-7jt,vb/U3lf05}j P9"+6kgN_\dt_9|^H=//S|fc㊅B%uZ.3\ǟ%3x]{z/K""8m[A(\, d8ouزR)>'+,@x/B*1kցv?P鬬>;gz]<{/yYf2D =1+ᕒ0)C˞.BHi OR\P9 !}) oͽV&l> ]!ԑh< ɖBzA^!2y/P MF<%",dXRx760nu2O!Mwz}C$@ۿ߿c|_z}/ߺּzKݿOz//~sw菮S˩ )U_]ܽqa~]/|¶T-?s/\lCgݶyS<4BdXi9O>'^ȿK2E82`rM:[`5 0;-c]U7(:-iti ' JrT²t팊aRZ! yH+.˜chik QquI}嶻~ʊ2vy7O)&gxxjSNZC]v+R8İNJmo펕],6Kn\- [W6n׾y`\XKNƂHVm'?79Ao}+YpCG@[V>zY4WIpZ:s.qn%د,5Cio߭]wel}5RO'+1( Tzp͛F@'vsHyRG.a@HJ@aliYV"$( cx\.q9 ˵nB/ɳC*Sm5`&m]@[z`jx8O{6Vo1Vn%0[S#}~Zd{=bs;5llF:hW,HZ6&${Қ=ɞ+Rɍw,se6#<[e88^!<`&ǐPcr 霋 fPBJX(5^)*R)zߡ;o`eۿ箾s[?~H'^G6|_p]>xϹֽ[nWw֏3mYE'v+m{=>g/%g?n~_+w 'TW:@wtˆ [m×S޴C_@Y:8Ӛ_!-$!$jUH#am. T3Q 5")l1_r #PZB<3#kWN1 OR1J:c[W|)ZiŭF;MS(FB9nJfHb-Ʌr~ؚz-\.(m˸+ErjVfY˂`m,}Yg5&hl 9p[_^2<2}[)" r<[B$ ,ei"J4W7ݹM+fJ @ݰcΧLa\}$lZj;!"p쭳]%>ׂz8< %gX]C3ىj@ M{? u4RJaX=pT%RT d!$ ˁ3q2Ф Z3t'3is yˑJ*<NYJff 0/5]׬/Ul3~@Khpi⢙<`#|lKs3Ɓ &K{PqܛR8@^#p= ȔEcXmHIZkB{п $Mk k= Y!=z"GJ1[rtN8Vp(XgkAPj&֩ى5;+J/w<n׋7]( RUǦPͥn2V%&ύ }2;gS{,xL\+* #MҸR1{nQ,F$2Rf\޶͞ko8qM8HMydJt[B9Xh:*PvB2C$iuET̚yCc卛 .MRV_[[W5FBkfE^0Cnqoc'.Dz`dKټZnuCnWfxл<1cfxd6:йn7cf % :w#2yBJ \a|?cSz2L@ BNBHugatL8E =ArAZIY'[py+!dY|jꁕ覫4 a {˩#CO=mhODk}dc({sk*SiRkƛ+ݶ':qRk}?r]rC.{ ~f0mw8Np]{/m:_M|M>/NLr*+e d%E# dF9iȱO{o e "0iKcuVD6TD!uؑ/Ũ=uEd|erup9SZ^fS]~WKs=33y~BP]**diOD2l- bKH(Ir=Oh:m$Qayph MAPS+ v56 B &yW(T;NXigOZ @UoV8W*qTI!H˅x(J [8UJjPA!"ofyQ#N ɭ$F:$70:lן8uκ٩'{/1!s.("VI: cg@0GF&^YQmbjuwG{A0vzSb;yS9#YP>8C;)# `exv=SZȒ}tq ƒd(ai~{c}eJ m0r l;?54'Œओlr ̖=2HHas^"玥(D[]GRd9)󮞚G^җ% ) @ 8)}PW-ϬLONL\:sutr(3ZoLBIvmE75rYk3/ͬYe)H fI܅+F^k%P +f2qEsLN2(TFLNGVT}a)湳Ã}pc'syP8xqxvڕutHzcjƍ \DSO0?z`\ݶsje,O2ɿCS.}e&wtVl'T*i*K5sfÿo/\/m+VM ]]^\~薫XAtR\4vm/UFM6<Ǟx֟}'F<:-pyb~zr֚.|=kܳ? RV`J-CKL˛xgz@&O(%<8uǶ&+KRm蚞 n 6 wDPi4~Z߹ōgBJ,U*2f5[kD5YXXuRw=NqB =E#sgZ-ŵ۷G7>)2rA -x,yr>*?b}TBxY9ke򌴰:$,K8gJgp gP>,GD 4{bxV [y =!B3{f/pV*a]N"_iACJ')={i^g^VyOLԬcSޓ F쉡PΉ({k!IC+~`UvM7'4!޲s8<3LzU?3uKQkx٧}83U*o} §^Ia`dJL}k@ՊqXw,i3HuKWw8{. 3?o{%.I 2u (^%07z=ڳ,[ aڻormsO.WJ+CY\+y;7$$eȴ0 x4yoAϭ$R-Xй #pskzgyy(T}{k&Yafp@+@z -IZoJfZ"X# [1D $ dÀJH7@i-AxX/Ϭ1 H!JJ%lØgKB2a 3KBK5}o|ޯ*W"7/?xey}'S^?}Rmr#UͿPx˽_};*/ŕJaqXyqg\ttMyvua:7ݼiCg/sjxJw28rj\ndsNJsw޳cZ)όyn },V'46ؗ_\Z9W+O(LGHalw];u|pmՙ2\2(*I]Efd +J0VN+ͲJSqT36q,VWyIDRuDitYy V\doھ33E .O./.N`x0jDžaj=U6nn>s0yri徝.&~q &/ݗ°_8,[fl0SI.KnylMirlei\1Ym~hnRGƫ#&O \; "G<&wG_]|}ڰG>˲3qTAT4a?l5(jz\Gٱz..yHRE`%< D^(&-PK_…-~F^OlϺK\J#ow}7|k:ْvad<I ?= <1'<3 /Izr䙥"Ϟ IsZJz/ ʳ佇 d `ĹP23c!E1ڻN~:[CP_3M=<;/oݽCsO}Wxdl4[osz@u5طK4&]6JԴ+^YՎ_[P _R/Wٶ[W(jvߴkFZKnRJˋdS~L_n/M^ssS|߇: Kf~ёjno=T苷o}9,kfVOOwxnX9y(TE.Hl{M* |cW/NڴS/..__:|n}sٱ>'[+L/09/Eb lL`r#Yenb@nY0TzVn(gV:m5IT*%DPPJwqM8 @MNpBZ_%Va(%Ji @ >yWyכ2C AJ`׽r1i3+ KsIb @HyʆbohK>q]ϾN;:*"iCyXb!33/',(O3 kk]X}ۮy͑]nzf햭C}e?z 3gy1s-˟Z0⽺=~uyeYf$)I 2T6 !'ƒ{x@& B*yXJA .EI' 5e" J:x=rX)2Ƨ@Y DntP5طO{˶wSՁ܉3۾>ū|݇~ursy#[מ>[/MKIrGKŤmRmCr7=ГÅN4s۽n5O>|j75;ĕ#ӵ:V?~VlgW0u@L5y;lTQP 4˗' >fAguz=oΤ3H:,Ye! N3@h8! Th.:TQթt @cc%ْeMG: wz3:)]{߭[j=MgnFԭGKf=;ҭS\^yap4[O'>ʽݗ[9)zP`FVhj$cqѝή]fQWӱ2l{K˨&D޴fWN.` l0^|ۋg+{D,JSu~MHj:m<%r\XTߜ'ՕsOp@\j6.¹F`""0'F9[=; q:ʲ_|ȼ+Q_} KsGrd'q/i+)`$8g!˖Y)b,g k=r!!rx|8+̋vRbʹsѶ7Q1 ŤprNir, s{` R0`ȁsg6nÊp,$MVEHi,gm3V$ޑS kiyhHDm9wkܶqhGk/b%jn^9綿|]ܾs޺'ׯ׷/ ǵ?sFASTL8#m"t=5^ISYE!, ƭ`mUxۦMR˚aT<}2 l8.nhڊVSe֖M1mvƔ֍vdͨReL߲sQp+ZU.W3Օ)m{4*ƷǓɶEey jAySDSsj?gL+oJ?w/>WKffP/^./׍~u:=S;G_βjJ]x= i %q(މ?v7,Ojf2хO>>Gr46]^*шiQL~TX'{SIqPeM[]!#?)9 dT7坝,q>_~n+o;+K)SƒٍxV=uz(vik0uƅwl,e&;wz?^?wrWgͩO4=uNe9"utP?s)dEGmXİǗVVUuRt"p0"ƃsWy ƶm< Z'\J)8T:&8;/p/GzOtV,bIֵxXB;t ХP5gh^d9#N91ͧ1F 4'Hi|BqQx:AF*@ZqNP@ZM@ dܖu0PO$I(8Vn|˗ͽ SY2m-փ%ZA$ђ܇$b)V /nVc5' Apf݉3gj~{}ͮtRp2"tx矹~<~ִo'k]vtVH4LU6,,Vd۲2J)CzbbaԢru?9ҩ*?a{0"6otﰘQD>z1ֿO?@Gs#]c&iϒ:J 󭑴\"D2Xh*FU,w#0NE+MYwm0.!&I"MT0NdlɩA]qyADdR'ubnE]hl&*"Tш(n\޹mwsC0qĕ1"1\?ëo?]5N%ÍUyo;k&%Lۦ,&؈F|sk_m\'KYg浝sŧ悉8tjZ₴U0gB¶ueqOH4+ۯLII[\=j̀U-xHXZ~K|E,زkK;L yBQabL>3{K/,ҎE'R Y%~s3Lzſ~SD,ID[@Q.k$DsoW'/:${./8>LҮ:qfX2D5B >1: RH8JL4>UQۙiwɋlITbmnۃyOgLP{KiX;{d4J(ot\A[p([;Q׺NS"# )xc ܓ1-F3gԟ8*F۞ȋ۟'|3RX]=Oyj9z詇ɤQkDMD8?Y^;uDiˣJxr㊺Zs.XQ %YuKӹB.rz.wA`^ۿsz8|0Sj8?q[ű,?]/g0-oͽ]m:k=8裧\ڇ|w>}N`8 ߘgdP bd]ۦ Ȗ$DBM ϜZQ_诬-ek+B@]I g.̛<]< `;p91{Nʵh7-je\Y>~T@jXW8BY'{C(' fF'-B ޟ3S+ےc+%g~2eErbN&rszw\K~zRv^sqw'7Wއ;&E3,*KTYwVYi*Cef65֐ U!Ȉ %ݰP1fRM*U@ A6ʒ3MɘK(8 rM8&hyv0/M2`KEԦ[ϞE,p*׫Uk6Nnԍ\qfl u[j jj"R2@k+-NMjXZHÇ-Xd]sLl0νD"8s\$ye %3%+A5 )e\u%cf^"ٸ ZSe`BY%Ir81qGdg3֖֮<>f݃CrSS.,/֣rWVӃbs%'z f=VŨ>@xtcWWmU٪I:ŷ_n¶uexWΦζ6D]rO{"A($O<& ru3+ӟ{3lQY!}G˷>(q饛Gh떟 ^Lq4FKcgXדB߭-E3Z,gu*Tw~3iAQqbMmXxKLGkU{@㿻YsX->sJ +JrgiJ g~Ř`TEitlV\~>w_]ٴv18:T;EX:W !gnO鉇/<~esX^X%cvtRrg7qL|SgvۃEw37}msL{5b/)g47F`}u<_[w\xfm~^܂ ѵ6<#֯\P)&\9]zJ2; bk4|֧8)jF Q4.ORX @VH@u S{O^/k<\8I]͍1Yc8Ր @aJ0Ɉh>eg<51~>w=ιJ՟k$0=J@I@+y.@s8t~ m<3ٻQD_8v3E9qm\rXO 1.LU=p+48tFӍT\F`7S vbr#X7[D;9ǃ+Nԛg/}ᡈ{L'shye!ئ--c4Y kη_5$GKz|{d"n}{|X3.s=cm .,c/A?sr{/yZ$ <ػ};% :Y[ bnx7 vG.n ~oU*z1&3ze{o/@-/?;9  Rq:K)L?x @?̣Ͼ6:j8!`<ЩZ^;Hh&,,sv@VD5_IUB?+Wv*;/@f|$ !|wؿ?./L?K_.E›:.ʸ|L6D\sHθwNe]%{YcR콸S &AtL<;{SYcqĄZgىMoÛmZɴ?լu:kKȣ[wWfa:AOA]U7\~UۥZ|t4D[^$y+kGt}olA ]'i56[KX^KX3kSS[.|uxjguȪ<*ۚ3I.JK4 PJI}!p&ʦރ8% \j.C:[3df(BmMNsV}O I,.80͑䚾o pM S ;S-cbRWe깎"qjxŹ*a2bI>WĹbqAPtVeQ$R : \qXT@x "g 򶩥yH6A+5\ n\ȎNb|ֶ7SŒ~T6t!DIn鍳 [*@ݹa8%Bk`lp=Igc [}G߸;l,Jqo̕+ `.{yڝՙ7Hl~~أ;~ `Ĺ#lUv,zl[ZZ|3f{z>=z,)oJ_?v g_O;{v/Ǟ8 P3:yt‚;#OQG;o6@Y'_8_3XQ0D|>yA`K㸴ݿ \x.}EHE[<."I"4"8^ԆR'Ym|W֍xl%qow3.g ``;@+Uc@#|0+'"p D9(0& ?r 11F# c<boGu82tԢ(Q{excZ׶kv"=W٧χHLTƼ5+۽y7}ͅԭдx=~.d[ݾsa 3s|@{|}.me_7p9_]r{Ms,h8x @z}nO8Oiivwog>wU]vm)8!)@(!@AQD$$G1Hf1 ƸGUmt[w:{wZϽU}Ϸ9ҳ]k2:8q1J挮Do},pmrZW2~;ws3 HOF? wgNxS[/ͫ=XޒWk2T)_w'? w_xlw X7Ms$TLXMm_+ CfSϤ b/IEiiq!HPny$i,|&}捽oVɩ˥=]KQ*e~X)AWۯ{tj QYb{3$Eb\Y'VZG&`nҺVA;>czwASDHTe5׆8S*NW<-SrPiLbm|pq'j-(ۺR]tetkǣ,ߏ~y'$1Dpy*fδ*JL@RXGyTU/|߸wo ΃F=+mߛTOȷh۪1)g~'?ܼc]|0(~l"'D2>/ |δ{f^vb~E\M/89Rke$dxݫ*| O'^it$d\$QziƚD2L :Vl.bHo: u6rڛnJeU7\aa|dvG*ޟ^l|uhV2n"D FݮH)$[Rlԍ&醘K.Mw~T&oy%Ec6!r1!:ӦNs;1'0kZ~k [}ge[np:wԋDdB:\3iMѬ\d_Wt{?ۉu AuH2~蛧Q\ :8FטZh#<].ۧ0368m`MDa<!a#l@M\x`4C `@ f؄l @[-Ag;qV4z4nTao$]m'R@+KoROf 2[W6GSiZT4~ ErNʅh|맮'? ͢Fa_ye>ޛgv[FM}燯E.ӸHtDzzvY\'s]=^~~ޞ<-UyC/X%IK8JcYN'bBØB0+<3hKP 㳳G?/~8?'ߧ]-D)ٙRNj}R:_}tjq2 EkK7]Ohl$Ss?mCBU\@UTGU )H%y`';SUOp@HNh.ټ`҂kcxF6k%QۯD Gq+JDž#`\8z/(S ,a;Fn!X+smh,-Ⅎ$Z.ʲZiN<(HFtEzIt\duU j 't)p[} "6:J"a(qJ$2d:-c [+CJӱꩰCrۺR$Nj(]Ve8>kBx:.V:HQ3biYW$0 IDATrBDBhFNcdj N E$CwkR<2LblMhle77^f]W B2";dm3eL_X>d"nc XxYIE/ 1(V.̱jDHEZHx{]W[y<*tb &0I"xoLDɌٺv7Q"ƣ  p xbx#vz |i|Lȳ./^_O|Bnc?mwGY_ѝW̎o+ w|[?[okL7Tpkn@:,NNyX4mߤϮYZyP: xzv4?8$ShB|ѻO}Yb'h<'nh>yrpE٣" cc#.׾PNn!Kx׽ ׮g[G'.O"ogl< wqF!ms<{X {aG=;/\G޺72! `iWFGĘ;вib8U$hH;Cn s$>NSziSiecL|'l%:2Yם Qv%Aq?iRi5 `FR&'K.'מV齓Q1+Dl#)^]]O`Q}Diwcb٘h3~%(N(v)JcsZ/4Z,2*E%Y5}&^iW)zYٔ*CLVu=ΤҵDe=޺!MhM7 DɕerS|x+۞d;JHozdza!g ")|q}qq $fV} l_7@!\lB<_X`&lkiyo?ysdIT@ῌt_k$#jXķƓKҾnd䭁o}gG?1;G~x{1K-\Wy zͻIol+QIԺmZǪ5b0,8:cYTM`oZz}+)x/&`o V:]jvFV (K/olPPIiU/8=MHliz3մ @It3-?ze'B :c >? ǻ}@,_.pu捿po?O|&D6@*Zއ4IQ*T4y-؜;33X< >GFG1{dW/g:ψIB*͂f)0tD=ms1jNj0 08-q?ɶIR!Л7c]$Dnt8 Y" x8H8}o\<:XAIk}kc ;$JĩZ(.`ڮ+4Vظ.wI6kuȤ: ,Cב_/fGHH%!YQά ηΧSi]g'y"ҲXr{U϶fvMl<5lI{!Q0޸fX2OsO2YE}o Υbk IG~gZ>Șl+HNE^VY Ekx׍"H<`>-%E;Bj)T젮@$H<#H3R6KK_ އT^}HM/ "z7 !9__홢@Du8f7,N_޾]*7&u7qDJXgrQZZr1 z5;CY\`'\dG!/+N( {fc}dA{u?%5ٮah:ocD}̼q}gI2l_~9*6y2NDg \5DongnH`V=T3{Ko\ /f,!"ςY~|p{~;ԛ l_|kNN 7nc}FȶiDDLo =a8ՊA8 N)g:>HZδiXҺo8 zS6HZUٵS\ozO;.Ăy58wo>|g>yZ()cUK&^f9>ehj͐ahUV>֦_ZwNKMGҴmW橖xB(yF,Y8g5 {יςCw!eTjպ(6"H'1aoܮQ9t!R J!k:/๪Αy1}ze=H6.a0Q],h'd<8RtyjWIp}*uI<EWvnw閵>R&IUX92=x=wz.Κ5'?}}I%.!W6aQ"Ʉ@=I6.btis̙>CG!|Mdo~|pyq2n\J`võ7Vgy×c,1L1<d7ԙ=}wxo;_/x?m*ZѺ9>ǟlg< Djغ:C$ds0.Ì JF%\&v"aoS!ȳ$eŔEX:nSM AG"sq k_A?2۝w_;@dNn}.rclmOC#%B5th;a|2ͯ<Wn\mXne_!;L :@涻࣯޸;Nu8tmݭ&Fj6Gzu5UœY`X<-ThTq5Lyl;O{fVdzx/،3.v!|mAW\v-+7?>{?].&o*_iȉGqY .,NUW=hٵi5tIRmeX=YDMcW#=Y.HuZ>=H"٬ һʄ<тYhmeFk L'/W~>{Ait)VRr\֦ې|eo1t:.GU߇O?m[iշ6J#:rMg|jUQ;;t-gk1eOF1tA+>)u4 `ٚj-&(#:U7lA6˪/ݹ!0YrӬ7IҼLH/j-/VQN.Mݲ_7NE_"vʍsC ACk]p?ټ[\R4r-dv"Dqu|a" k}I't2%!PQ..1 !e73HLB/w3myS_sM @TGIwRn kq@XC 'QT'a^pHY(~o0),,0;m!S^4ж]]yFe?\TX* g< h j GEx_n_y>I12mkCk߅ZMX 1}қ'<S;G2m'SC_RˊփD4Ҹc)=R*YvߥT}RΉ ~8flsG;iԊn\n<+oHvQ4;ZCVqﵴQ*L/VIso|tzE( H%%RCUw󥱽oک[פNIAMh,>/ҥ>l >x 33U(3on8]ek#0HB )ORQ$PXipԊ8)Hi:/i($r@B&"OR&$E,yxg2x ZHBzro/ݾYwsqx )`_xK4n )ڦcW΍[Vi!{v2܇@2'[cM@`gP9Fu+(R§֩R&_ǥ׀ulN.rWy4sW0͹i/8Ns|(RˠQ93׷ԯs}BZo-JYEŴVY_V-zcGJhҷ"#H{:cE*0P(Lcy?.um^7 32+z2R!,.67}2<ܙ a}B"tRGPZ*Aq "")8](Jg=Ű }_ϚO8!^ڣy9 d<3X/VVZ›zNwcqx `{l*_$O}+~o<>=ye7'7TM-+c)[?t_ξsݜ_ n*'O8<͡iX@OF)ϼF#^ $ӭ<n CBֲȻo\ ]ljfcݞ+'[=^uS~M[mUmͼMU@TRdh"~uLNj⮱y>ovNz]Y>H$y`l6mEb8IH?j@aYR};㮅")e9v^]~VH ?BWu}sTB4q'A ! I$Æ?#0J˥-}s 6 .]⊈Hhf\u90+BHâk6B<-$CR$6b8}Wo %EvEΝqSpAȡ3{ q)lgl:;] \Dn$7 IDAT|t,4?j9ow&NGӉmՋ7fcI!%v윥̵kb)% R馻Ӻ&o 뻊t %rZD$ڽt`("1[x?2uL8Y7ugQ-QiZ5Ntek[BNWn~|/~:7tֻw%~EY?]Ŏ21m `M/k7xƕL!kKl敿{\utxvӺ#S{f\y0v ҇c6H:͏.Zyqj |z+vp:#j @I@"#MO~׾045Åp^@ #gXo~2ԫ%+Ϻ On?ctjEϼ{ϭ!VS!sk Bʳ ^1zd2Ie9t Y@忯[)hT=QGZGbuzrE-J /ȼeހX5.v[Wx:yp>o=^w.r 2ҒzJ9}<8sfjXz Tqݙhb(Q^(Q R3;=:J-a+X;];u['ӑ_hI"^}c+ؘXDA>\gLHӧ6ݻXQZZ^h釸Qu^{;{k anVՂ\6Jyu5 Q'y7n|o| `ݦh])Hd~zC} ]$. !zLe 77!ڞ N%~: ~6<ŸQY6y_+/SbE ([)6UY0r;g%)RIn"J 7jeY $L=~ce ]jveJ2݃ˮ(>r;^e={XW>uxQC_}ӟ9u4aFNڽ$Xi0Ԑ97k`Tn#5rj%|=~Ͽ{{>o"m{??>YV]? O՟WIUViFbbت5Yt&z䜉`EWɈ̵dl=$[7"ex|D̬cg8\3v 9X 3L<('Rɳrv*[=_l?ۙR8ۥԚV3$ڪi lQ&DCem'±hz+4UuAkb!TХumX-O$kq-e͂l]Mk^=u&4F l6 qLš\'/PEpU*Ʒ CL@b  Igg=y};buGuջv?L.-WmMYo$w^3/W+ئ {zgHbxPGZbt].E.ɡ3&dJm$d8Y/fX84VJH*qkL(KF;='R{lbDw23 !G!xxF"NÕ@D=Ӱ\ -cP"~@`1@ѕsvAS@ 0~myf cX?C^@|X}my],I7{rFcS۝$R(œA`&J0i6a?nu_;'ǙJQF28I1G^/ǃ$ٴ5}g1g[lU^ˢT2P}6J%l!\q1ztؗL7ñ^BT Zp5M7#k$-ɋ=&%pɑ lueݶVs#βho0b`yӶjɼ(bT_ ^mqx,eTl%0Cw;? x T3K.s2x{Mqփs {ψvGg#kc;ߝc[(eoߘ/õ}!jM`16`) ` {Y/ځ'" xU,jc`WPxD<}Z,AxW ;86L'21s)TM&4;Q7;(K[v|B/#fwY_h;a\ޑLoV!&|]d4A| 賈<_s1Q̏]!"eu0!%ih!A Ţi'qj4=(6lUPڜgz$YmVb[<ȋG_}E0,H'} n]M\,Z;?JpbAh :\bN*4\or} @낷5`۔(0ƶ9^]3F=qz~ @^kc@ڧEbTlr{O3 O]5IlZʔa%Y?IJt?[9cvzyr=aek]h(6:u yqڹyB ɃtFxיzMM; LئrrE( ntW\<񉈋-JUi_mYM&Isqn[Wn\7U-x8U-"OCe&b0ToqO-~Vwnڷ60MY/]QvvqYm\&˪țFv݃$_<-6HE~~Ї_3|=;̟8^؜ޔ::PKE0n|ˇ @cgU/^K8SXk/P~I|fqH[G*  dp]˄hArs~rÒb{w-8K8X_wgmV_x??2z2x(9&6_yo1t"8=t~C.&OUL] B26NlUYyY*ˮhvpR8@ .!8$1Oa9}G՟M?ĺ$eǹպցEx+"!j#!s$)ςH<ݿ~$5,Snkx>i{nLY[DVz% %*btSe\:Z˷{:PHi!8p0NͲl*\CΫ-3o L]1/tU%0|epB^(U2NxU,IHJ&'ylKʐ[M֫5Tl.) ~znlX;y0{9L}[+q6ΰ@1!g3[%- ƈ;oW5y3nb!\o tyK bw>`*歫7nbז4ԟ|:Ӯԛpu9K">!Wt|٬eae 3:1+i;o|ЃS#'(u#D{WjCwͲ2f>RGe][fM`uI@p]Qűl%ًS6TEQEbۙpk2 d됈٢t,9/q_XE<1tzն,=?m[RX/DV smZԛ/yp iD]H1a4k_|6?/7{O%g~w/f~ᙢ``U霠[ @elgBYͲ"x}:wQ"faL"2՜E8 146x "qVa#6C@pAF mYj  vZq6ɳmQ+]Q@$"32)Dl4(.pynFVNm:gf}I2ϳ%ѱH$$T886d%L'2I'[z:!CSA&*'Ll~v-]Ulmh@ׅtǽ{DpWoϣmˇˋP7!IW]eUzWeJ$uvѱL1jq~3-mQfI X/R7L*Ή"\HƘ: #N"$`iYwZպC#x"Xn5oeއAa7ʥfkp @-!qs'{GW0Tnk_kˉu3{< ޿n6Y*S]Y2MDdE9߶i䃵5֬Pw՜;g4nq(q^&JU)ۦX~ E7ȏxZFZ+@ \lǓۍƯoEwb[GFXu[+ = m]T~ ">}.I`ɭ0Fv ഩ%w9x[8:xQ !&j6}w4/^,t(jw0ex4c^ @2p8<4몔M.UeH)`"QO<b ƵX2,ZTolm2DW2?lu6m/5fiW8ͥhV١nuIT:6B s꼖!fI2zT,BQea(o~2l*rAd[(eE*$qhHq]kن80B/J=mݞTw״v{/v[Uu%(2 18R=x{`3N/ngL]5*򨸆ܜ="VÍW?\ٕ?pS.-38O7L]OQN'^EV ~2WuqySh\?@lYխ8!Nb Bygu|cT<.WVi04MEt4Zm'$$K1Y 2{g_d 7:""gqU[q]?llGAh!tjwou{;=K(i/pa?ɳ1f{x 0H3Q-((:'EvV1.{R8`(jZ8t(dqxۯ\f[*9ܛvOK~_?FMI_9he.t[mu7׺KD EO݊3xo/Ov#LtΖg-l>WCwǺ&Mpk?7T <\kj3$o~6]kvP6}┻a`h`ҡ6kI̸YLr֥0p|W~?I۹!_tołUE%X8lx Z Un^/k(&in6vibR'},Ӳ]S-XD"N+./ $cʴ&*Ţc]1؛8ڂ4'p0,6ئX<ɷ'|1mz`|w0Hpw>c;io7#sسb:<[RcuPIvbWC8*/wf]m'e[ =oVR\cL'"ݮ??LTԸ7ss<FRc^Yĩ̢^nkK+8 g]5!ϲYA^6^Ù5Vnkng6֫^,!պ3GI03s$^()25ĬVu >/..OT3z &x8mXY)lGU_\r;ONl."%8Qۈ#8&H'ol32O]E";Z;FObз?_h>1??s/~ޗ$:~xlΦ<Q_%sf~7"&cQǞ4 #cjVV1.Fղ̝uM͊~68$=H_ ZlNFD&H' w"8O|-0کꌮaO$*?" _+tʆۑgmX>~c7),!7Jy[|<p;M@IFY@t|ڲNc|KoJsUS8O> *sQܹݯvhOiQ]8&@H\4-}bktIԏ$"gnnomlmYaInF j]rMJzsF^[lic5mA!8ƆZ݂'RG8/dHz]Hy2"\2N7 ]j$q]Z>_G҄ƥ ^B_Ru$6(pރ1v; !<6EUP `:$NdQtۯsG9^ĝmf{g&Q΅ K"Eei6kUDx;{9ӂ^ khY|"=W/>5P=z3 "efK^SmMPh, 1N__44^>Ț"Z1pUD~ecmc XCB±Rl68<˺ap؋ڶi/nqF R:M.ԫUg[U•߼-/|2Hzht RuJ&m:{bՌ⩒(Mj(Yl{;'D*O$! K!Δ^hؤ a @q/ZfioLJy"6zY15eQqzN{{Ixܻ(Cݶ&qnI̹Χd}G^궴Ggǂ8mQ61`68DI!;ؿ9v&7Yz{Q9CpuYqۄ+2ׯ? W|fo_ f>{wZnJpէ(x/?^FdL`WI"roهˢO6A;HfLd,u_d|zKF e9K~쪜ZO2uL%kZRoZW >9ນumUh'PGԻz9Ugޑ Dqp[E=s\:d4*VLrqNr7L O4vqlX(+^oLO\V}H EcH*7`mH;ڢLW=}X?/oU~wۊf}ͭXJ6j 97P$tVݯf(z]肭.O}/􏏾ƽnu?j;M-uPwh`W7cJyh5k]+:Ϲ lcj@p gKӓR*[7+8=}pԵhyi  ~olw-Fr9bL4eNd]H ۯ<26O?{*Lze0aTܑGh,ΈS'aIY_%1'AqVsUڨC8KumHs,ɒ0/lEKjYXApҮ(mh6R M2Lcvum]-k*.;\*1u€+[u"(=vIP۶rVDI%7#۫uU4xUm5uL4i؜ MgYGɦ޺bYO=*JόoבP,sl0MriTۃk>";ﺍA# 9}Nt[@NH1F`_61.vuA CtuQ{Bo_sL5[7\ovk!"ɂ^}`UÝ?ȸΟE5|Ϗ??kO;SIgYLyEm+COU;LưvzEXǥAo/EB}`j۴~B_ƤjmU=SEgs#L'_^E4h'utf~?]^^lx,=EwN3ˆ$ {N('fE*Cׄm }~Xd<<-*m\("8֓F!,K{3, s?\^'d$&|10|7n?;C5S>b_{#1PgNV݅=.v;ļ.Y a'ɰ."#oҸ rr|!)xb"ئY$PԇӠNۘ Cl6QcyQ+'Ce6E1I cqm'ђChs07, }[zmJX[k-OMd./HH[\cC"d AӼsl5ԋ 'd]JkAzxu/]ޘ#V.+6KٞRs 00qܴ\EQGqZF下U֮W:J <2ԡy خՏб,W瑄B>@S=1 &#&@~G: gt]${͍1='ڎ+_C<lWi$m+nZ6I'o{3n|kM&333 > ܔ0Gp.tz/~>R2Vdr`:c6-ژ!iƴ ?ԁ:F޷qϫ,!M>\<tx8[^vtvxCQ /V竢Hy7qT#u'Xj)}b|_U[1"&Bs뫢`,c$d82%ZKBw4~3^$r`a(Ok_,>r)6D izw xٶ5;^[;jO\lY.7^5ȐvѸ. z6_yoărW?{T˗ˢпL, Pk/0|3Pms `ϲ=N=ȼ?0W#Q 0Z.um^q$z)յCB<! DM)TTd=Gbv$=|~?hEs0_jr2G-yɻ7Ef6Nz1朄`+]0Eq b['4<(bdDs!< bU8 K8${Xęȓv!qpf]`/6u5fָ1 \$IBi=up6 1׮Ԩrd hOmh|(({m m@mv& 4XOV:(HX:z]4M-b0"튻>ԫzL+O,s =B6;Y~5EvKFDG3};|!F6\g୵cli{*-f@z{emyzH?j}+8.BpCJ'N;zcķ1~Go3[WQa80m$R9hRkE1 \c;6uI+rV.f] F?_C*t$|[h$3]u8N'ߜo^&N3{'喑d׎(ֶZr4f6]] Uz*c.z1Lygpgnݲ56dIh_U\^NG.WVƕk/f&0j<>x}٠BbXW>mxD2ubKڔ@1Ĕ2 ?{΢tzq uX{a~]/_/zX:Vf7wl˅$@p3`Z߹鏧,p~ݮYlܞNK=I‘ AQО.;pu^`ua|srYЏhgw"(in 0-9Ỿ?K|'&Ѡ%]V[R'',x@W] H "Ll{&!N  >hg۸z'Be+=v%k gAIAƳ,O8y"Lw2 z6v{\"'@]ܟZg ?O|3vM#wXPAΚT Rm8u @ee5bY!{o{ kŦomGA˚*V\:e,uyҵ[O,[8!BLDuixgLk2DqЎ@z1PAW%ǩ&JoP?3yǷmfJוyDہbf>:]{ L]nYd8h)p T`Wu{[dSXy[ճ|쵹n[oK|MӅkiF!ȇj#Rʒ%΃q"1.zkEj]vD'C[&y0"NeJU{|eo6F|b'a}vrfd_E ޔtfuIQb*"ʽ'oty ].enG`JǫbtM/{olkzw {< ܱՃj&Krdv'*`T( S(\T*qbWb;$[,eZ=޾}ŇPp?w]z~N4om[pN梫 kv#n_cSՒd9H3%kA G3_;k"ֳ>chzK[z9<進xp0~Vo:)esYe~ 9LT&l)k{|c8Ǫye֋E%Tm;,ra?fG&ؿUU uzB?fzUuV$N?bRá5ϗi5! Z gYgכ g’_tEQ^i=cޜaM YneL[ص`J]@b)UqɃ(M;LWnNrGFr\!.9ы#.GNCshF@cs"K*B2Gݮsr5mm{sG{^&# kf7>pWCa,v/Kjt CΌ5۱.!s֐Sͽ z%{cnj Y.8Jl,V5k0~IEvlBp׿: HBh_" VcIZ z&V+dIۘ*q e&9u3{pibSWF0iuxCm:KBRHFe5q::k{Ug]A1Y7vԶ4Y0`EvM@t<8~/GGJMq)s nV _׼E^@$.`FGwsfmA n@c̃=\u'wLmIm hsm M dт|.5@`Q(L^6bËX=|'o-U>r6܀8iCjZ=/,\SgCm@Sc:"a$˄Q˦]H0bNu? ;|UE^}2j_+~ԣcxƋ͢8r*b ܚrM8c0Ս*nJΒ2*@Ӗ3CJ=oP"m_^mk,*_JS+ |+Jq^"^Ԧqxs>LDԕn* ?4,_ͻf8y HQP0Ɲ#D`oM%Z%;"cxlCN_[9Mz AW7]-2؅fGG,5 WN!wE\ G檔aώ -GgW¾B8Bb5"aA3Ɯ#k-ZG6#Q ˋZQSW٭O-齳7Ɠ8 S5sjO7m 2?F֫< $㒱fC!A89:uՆls7~0.8ȒVHݺtB8,VU[L-G! =x0p.hl@r.7Z zȝ6~3nFKtzѲU3A>_Z)TUG9X0ZPp{=4%2/ Jd*<~`؝qq([V IDATOi\7oo~؋ɴ#A]9N1Ɣ2ǩ7]Fa_ky>덨|W{̮pp8 Q,}U;֭q᭬7ښi!zv2o*\r.7φ{_/@?8n:Dz t`MZlښFi XE0osq^"4U45Ul]wec"=:C%2FuX`=?b_~#|mLo^k?'+GME`F~ RKTD^VFU-pm`b~'Xx8>:em?^Y~:8Rr `bdk %('=u`!̶["곟^F/~dv4:'c~yei/N˦KF V-E;բ&d*^-zdʵji5i#|ԦrDmЪP8vڀAv 1 un/= ڲ3%C7T*<<ʳ`'e Fb9+YuWO~jot:FWms(rsHkj  $c~z>[ i?CRS~!o`Iy=68Zxq΅ )c1 yTYGQ{#mEMZaY[d|#;G>ߺw᷊a 9;n&_V}1tJ02- %%3ȘeÝ:Vlp̲- Yh9~Kh|a1c[eZwIR``v[Gn7yF"ݶ/;r YkE@ۻ 3Đ)qs!i^B$,+v9<^}MܓZ"Jr:8/M?3^/6M{|,3zbm/C6\gqIt>Gڷ bY4`iA\K]߄v5<2$nf[z>y`gd}{ 2w210c{ZTť<⣛:['$K \*l[5ǃ[ܘ4n,Cɣ=yE>[φ]oVy)*q&Eun5 S5:};Jϟ?g_}Opӟ~/w?>Ho m~˲s|Q&/9 AX'CeV:>vukqDPŽ"Y)D-7!\,3v~0 CܒMH *L""ۮsfg:E#Vo͟rlzHʬYu/}.SW4,-ׅ"9|O%h/ rlGZmy8 p[18s\u*xuq-9\AyQ& G[z{˕vW<$lkw"V 75b:DMڽ}AFPpFdfː9YkAĄ78|mW( ǾŇ~/_ޏ?yw[]t] dQU?J_"8޻q^t*;wi-buյjttY-A>H_."rV[csr.e}tj6e~T EvÐD>`1?8bRy'W&eT=GJ+uYvdoei`);2a BߑY̌Xm˲WJWNh! 4>+r-?o Y|dK|>#2""2C$@$'pNlo#1hŝa#h|*?ͿDz];B rv':{eyzܭZO%~/bZ4;oZuV|_%# R kVAc8#[Xe8.'A:z!:H!y5|gYLIbzҔK_&CyLZ pI@-ʕya{"bX&d+?y-K [fiY+LxaMu. 8ɄG@k5qZVefC)њ}hywno'8|%1g`|0 IxrUhv2 u@oPNPp\]^3 -P|p ƙ<Xչ ^OZ|Yy vO}GBh~mPe/9;?ӊzCؠqś䧞wHv}9}9b?:޴u|n2PkM [[hU^$QN;k|-vmwhrֿ>/\{\j(ヱ*C9ow5wKu]ר. <%mQJ/<]oi_mj$)B6*mľ{ǏƕżQf6{ Bִ:owT{X†"m^.s?#',^[TlYSQ$ c,KRϼ?2E"fLF|f6g?RG7qvms &C"= %!9{eꥷ :2c)own NiwunO BM%Hĕ+t#g رv[fɽ˼Up;zخ+;9Yȴ\xs"HY_|矌n>, ;ݨx` km], .U-0Iq'~'?V|oܽK}FڹB e;C+)kK*_) <-y8"hFt+k=XtH7y(rZIW,`rFA54w8󒢙FTu9VݻϬD]vڣnnݍOwuE\_\<[d4Mkz&~PֻLMJ87gS`E87SG>ޞls+MW8=ȱ^:Q_k" ұ/^{4Y@R;͈Sސ~?_u/ 7E'YJ MTKլ2q|ق{,ڌ4iя @~ y?VDlhs.{)21Dbq . }B|lzWv|ۢCD O&6M 'v{m o{鯨WI]Z|얝 1b %&D܁ q[ηO;#)l;238[%˄$ADdN,Zp[G_zE>o.Ec٬şΗR4Q?8\Zy>_'cm}]nL t9HFqۿ5{޸wg3} 6{>q1[@-;] %2 8I5{>g~rwWټ{ӹǬF4vٖ";%%ͦdRLȉVQQߚqFJIE뚸nʮ{8[iCO65ݪ3tzQC?誙&rx:D^B7M+녴()iCEtIE-֤kŚنA zQ:{݉~/_w=UYrɈy#ؗ"rtI? EDgb5g7or|~z덓Ak1UwF ҡ75-7&msV"s@5Ƹݻ8{?{߶-I?Ƴ[bl} `=%4KI+T1'%|[wuh:Bv ,cpӎ WNWuWr.N |{JVwdp{`qk|81~[GCՖni+_ R}rGĐ EdW{A!sAȕ%qQ^ n鵏^o}>cMSnIǡx~d|=. D ÐAvtNezûgUu?N*o\<ʬ]Z9Q IDATr׉4S^*j%&Tֵi5޺D.bV([ffv]/pNdy.2, z0Len|`,M7iߙrx~oENLJҦQ4# iaSYso6lѠt @%fꎯ@'Zܜ}4{xZ F T 7 Z?K(R ta "ouGrv݆e2A弽xdU3,H[n^4|WJ(KC'c2o%^62)= v}o{jbWp4w]9"8c.Bh7uunic2TvN\],5ء+nI9wׂ@t-9rqtğLb7޾$zUrv̆15QpȋW流 |#fok:sdxtvU6d xP״4/OYH(|k" Y5*Hak.`tG ng&벶R.=i##pY%7e )x z"u}-ZG~8nܮ3ku)[{f[Ϋz9YnEKtz!l*֖X*[ÜQ耙1t6$z'|i+U^`V_JUˎG] $D*d0 *kG W# E?@ XlLgu,u`{d|{į=>S,6~eKM=uϵO.oϿx0-JH|?ngw^tݛKDe泟~3Ӽ|~#lH[po`z5O ,x)GGks3p]TЏrhEB=(5gT~?jvPu7pݢKL?egs̕e^u21AE:F1xTsæ}"LFI?4y9/ʬ*%UJ n fMƋ@#llZnhMh56,4X 1ƚU_n3/KLַXrs߯յu4M w68G9 $^6 k2I8W/lg|^i^ )K_3a?{g Ӳ?8lTjܿ_Қy&HyReLJ]ri=5&)EAjYhi+8us٢ ju@ @KI kӬK!U6ϖ~ʥCb-h73R'!<wOզ*2)QUAC|-fE<2l1s~ٗ>{)W'^FC'YPUM$Ynz]PSZ!F@F a@KQHQF<۬0"枾:$Z>MzL&%uBEVT6#E<'<4 hpÁ>Oq+DkZ))KD  %*-5)Hk@DTRks ےBb:-Mv2gh#k͢A?v;?J +wݗҗ[̽>eWu.^s>@Sðf{),fÑҾW•+_N.s7IFlwMY^Jqc8RJwǵJ=ao͓}-.@X8oZI1iTaDeNʹB*;=ST-Gb2KHIZSk (dYQh:a QIz@u O~Qe 0[)ȹd(2RCňP{0*\U 3EXն.u_\}y!J]VuC#˄ xq/AEqQ:2be(jEwy!2ЧR1j3`("}?!EV,hMb*&kYQv Pnj\{_CTR:>3IVy:coc^bFT iDk[&P2AQB4tu&ܥl7 ] dEU[B-U}BRMs}Rk$ >s^G\}&6j%(65j j0J!!͍^H@V18J) Qk!MDHJP% FU-)#!Dex! %GEZUɲ,e]eN>꘎w l͗>z~k5o sыm߸EFm(3Q1Q…'󫛏:N,WBV^8Wi!lskEd\X.uRU]shI@ 0t I}x@ɀ^)4CVybݴH~=5?oL-tZ'g}vDb5ѺO,D;Ǔe6w6M!qWz7}|RÍi;DN'NW lbFxwoj_-6wzہc}[tNՆ*mj jXizŻR&mG?X޼ٍjczㄞdFS|cWL'Kjؗ#꨿FPlGFR^_il9y jE~g>cWO\fNN&T9QAdTQT{iA#U嶿{xAi`QG'KiYaklv6igY([TGe0ϔ:^89o?w|)/U!\+)%ĮmuU[^XWaq4~#R|x[k?k_>ǾhumX9TYoԠ $;2<{كKXR[p%}mA>h>Bjۛi4 zD^[[^G%;-meNZvviy֢&Dv*K]$vrV\$Zʓgely KZlb9A՝FFkE“El2xbN8Ŀ:ܾ\H݃pIg@][ֱEygh瑫--~u!=:-X獢ұۼ#.?ԓn0cx"ښ'f/%Ƒ\P]a!dvX[{Tb/ r#Sito;%B2,f&^w:-yHFiQ{3pcܟAץ v[WJn^h c"-rm*$t(Neo)>^\͊#q蔜R(Pp$R%Zu9Ȧ#7& JWRURտ.Xcl(jYRɩm.)-G*QO'N3K똖?{fZ6%T3[hFϜ:j) o.*E\E2'=++~w Y.YuּkCο2@kZ!ֿv 5$U~4)k45f`K_UM&I NR F@l"8GНCsDl7Y@4!V3"U B !4&DM niu/R8^.1dPI*u5'?c[è_LN6[$f[q-DK nXSzEQԒ'p|L';&Nd<^YlU߯o*Ha ׆#/1[hrqG5`Sdd=Gn&ɍsҭ,0H8{W\[KLdM?|卷 /^ydž7k^2ha,}O2O/.)ɩB#n];8|b!u_'E/ѾLz1{'x IDAT6L+!NsZ;qbj#/?K V^} ">>8g9=3"?@w2.o 7xtiz}Nd_/etV%X1v>Z]iIsϏLXwʰGL'Mir:)~/»[>d3So7~ճ֏Fկ=zf.*;?/@Ϝafov~2:mqb_J˸/>#>mK߶<뽒͖k[i%ޙd}DG7[kkuYcIL ө)4~ v QxWE֟0K~9o耍LZ$)Kuf @߅NE TKs7t%oxacwjY+$! 6N_P-H Jn%s#`cQI(EРJu&VJ"!Z+qR5`p=XiWElڡGKAx!(/OS5}d" ??wt9Q=`CGiax8$xv5cq<.^~,Di( a.2o^]N.}('(O~6sM,eVH8eM7Nۗin6s2 q'7BݙPogr>ڕ#'Gw{4sjӄ;O֩'{돒u_̣-_m>4?|? K7!ID`㇛ta<ۖ 8q%i]BOѬ80ȇ;Cu/aqgQbqlo,s[?"AZdhk_afAJgبXƌZZfʷbd{aYlbI!1magx~8~p]&7ae1MӵaIVd' Z$x[n-~nM.zԿMs3>k6y~(lZ&ٖ5QeKqUTCֶBVYmQ"}],Gz_{Su aP~DJ>oI:43^W|"b+oyZGcKa G5ˑ򑖩M:jom/#3{cm~o~zȻnuFLDJAXˢ?vZf:>ke((/[vg~c-#"4*:(`Ef(uv/&`ץn,xLo~ 5Zqܷi֟$ҀJH 55UG4샐VՊ R"(8F@H 6:VDz,:h-ҷ{I6=EkMUapu}on,i䓽36 R~H xkǙ&0ۯK*f/N|Ak웰bȔyP`ĘW/2ŌӺ0(2Id,]I Afǝ#,k9)QT\RrB()18"xT/-jԋG(,KW[QՔ)7< ["臣lu 3C4/uctvnj^IeBӼƪWU 3fQ/ӵQ%Rb'X!WNkMPľB#|mCl*_AhԨ@!!Dn@PѨuWW'Ps/i,1 CU6RD#Q70jLi#1 n4{L੍o?M'i}Pş} |xt7R$e⥣h`vnO{/M3=/õKWu_T7Yl[G8ݣTXg'W/>.DbD=g3'yq:O4s?arL qlW F:'î㊸*~IyfۻQ+5ڝMiEغ;?ktZ|ty^Tӳ0.9V] 7Il^DE\ʓ,x|?|+f=axRΨ΢-x~ZqF@ZY\-:"7WNǎ;7w6g1]u2oȂ_W-o9;A,7h4ho8n6m͜>IhhMN=&ёqM[w۽*+|?<|!&tGA@D+jک$dQst\B6[Y6ĴQUZR; .fB)QsBNŒ|,eUCY /2FJazfehÖwss긆uX&QMRO_S'Vb ! 7eY Ggg>GтjRrG\O=O}me}]y۽vȉǺӿg',|G{ZZv'K&I]Zx̎2&;u\XU$|pF>ݶIaֺBYǚ_uX5v7e@I)A ڿ޹A [j TZp!xԜ+(*ADE4jiQE=mTN 7_zV+|0~Mew?Y<7u٣b7'|!ݻoUyrpqA<pB?<jvfE;ٯtŗli-$`!:U4*sZ}p`}FN/Y áA\e e5jl4F\Nmʴdirϴ7"v1/VgBXQG-YPpݺ?m\={ݗO].lպrIupnҽLΊ RlQU%?hWf`{qo}BvRk/&ͥb̅ y$hB# 6A]E޾_`Qd-8gEmZ˲^LIWKg?oy/AO-y'zd|]( I˪E$Ml;}Kg˂\Ӫ=j.jpԂӼ.2-ark;ݝeo`$5 DJRu262G ^9ehDƔRs0B֌1sALV+֍ҠA"Uak +ڪ-$)6b jɑμ7iX o y à^ihn߫ +2V!@UJ?\+c+Ϻln|ZAde$z(jt5fJU'KBVRbZTRDB=7L w^ j2ZjhqtG">3dGK7"%{p=]N]q pƼӳYg>=vڶѰl3l y$sJ|WgsFA7Q[nU^_Yē^tҪg(E;l;c\Β(d=2qBn̓MD^ qr^<̗HS1;wwd`VG,=zt[9$hdCɐXMlz:. [~)14NhQϲȷ“$p^|ks3z.Y&î-LJY޷_A}N*wa,C狈4քX2/%jyde!M&Icj3DbnsY~O& ՙI˔TkS@ < +Ye֥bqV6(JKUy bB`$V/=DCeveL$ ):>2ɢNSI%w-9$}/ךEf.c[KHeX2;~ 7V܏ލ'_o7vَt.Q̅S4yQ7NV"'V\"[̒G؎ݧL(u}_흔,,R,w2; wף`Z+)8AUYʔTR45!)yg^e<+uj >omV' 7on3EXyAR~88~ḢW}͠j?he:W諑*J9On BJ+DAP@Q %s:M4X`8-lԪϖ?=?)~7q-jQCEK-mJ O!knludM.LY^;`k;I1[ȝC$D0RB@p?>xdgo^1B $ɲlI*HnRZfQ˦FEɴ,Whצ*),k.! 0+edљ?NraFQ-K]{6+$w\ϖ@+l[L Mg/vhY9.eYTsQ2Аd9W% _,I\TZZ֌ye˭7'f)dRo'% ,ZDH9 ۢ!QܠmzyV̲z1ck>A*-x̐1ԉp"J+L GԥBejEh3-3а)7kut{=t}8a{-7XZچ2zmvq;[ξݭn-]]=K 30 0LU lECl!am"Y;""[B1a zz0aYk=-qAJD~F*{ginE;Jmλ]2j_gsKVQ[U~ƢReqn˱ L:85K2w/s>V4¢st 9Dhz#2zsY;VTwY PwK}!+A΂\j U  eEX!l0&B0"$HTZ#!%IB5&})%@*Iׄq!Moiu&9emtg 9Xzkg\׍X}qrCף[R㙒p}G\~Y LH1®eDe۬Q]Y>pdYF5d<=B<˥ha0zC72ӡRҖ?:yڼx;oMB" $E텛bB)&AYYJ5=|0F"BX*@ 6dyfv]ؼSLɤMƽHa"1&ӊ/~*Q9"hZ(5Kih%& +R~GN,#Pݮrn+Q}9.L~'%(@,TR{QN6)ͣ.Kyo<ԏLT ؽSDH¨Ps((k"yj QY[#LZDkXR )EpX-P`9UIJ 3_s wáBNt>F1 T۞yzyغMOQ?j3NRlJOռ4~0l{'lR(+ r<iR,sv@m~L :AE+`)-!Ksp^u퍭!60f{kP횒-./vP#6/[`BYĴy؎S3<=oK㽟F?Ǻ_+K4ƙ2\2FC6}\Ɍ:)>!:7]aa3-[9+MiW/bdֲVwM{I(Rs 12DٺiEIJh g/ѺKh4(-Xz:ds|wseb ڭ{)*I  ˣP,v BxD=s@HhZo }.8hi{pw/'R-%3a"~(1/r-Dae|m1*}qUv]ĊHPB +DBJ#EuaY&[WH0RɛB"Ίb<~j,s"GQpu-W+Mq:Md]kD'G]4d9%P4Gec"X5j'K+ Γ<_awwF{ q*5@T!`A*늢 L´b'iqTVidJ ͍DUJU1ĖhڋX _B?zً}]:L+%0`% ,Ysvpʍw_ G`Db0bꫂ2R&i˫]9=k]:QOGMdA0 FgRV)1Sz=UѓdFy`]<6`Qhj\"*ĄS&dodŊ&3KzHQRCBLXkz}qʉ#sL۲2呢k,o1nOŪcjqTPHM#g(gi%ҨíW%X0TێaK ̋Nhky I-(i. vn(rfKg#Y) £ō,-G Q]j-I1{۽F]g2E)isY ~J";3 e0Q:*6$Ѭ;L,&˱xENj1$%Z ,oҸ,wf%]'vZ/G?jjَmr`<ػ1@M^cQ E[GZ9 6 ihLEQs5[-%I2.9d{=ն1n4⋪HiUj/UWm՚y./>5$W`457- /%vC&XͶR wqtjfSf^DaXԸ6=EUl\߸Bf0IR]%-ks۽f%#]̩iU/ u Tm.+H;NSD9R`;c15iքPA+'WJکc0.1! FBHH@1ɤI)Ĉ1R0 pQb`Lfm*1.܍~?uşd?q48*o^i^)Fv;:v˱+Q ENz=fk9A lqm~;a; G50/!ܠXUQ!S*I*JWms[!@bb*0 B2!vhǩKIJqX.q˸?>d}h$KFk?Љk:QDR(0ڊ*[SG Rpv_ӜӵGeݜCh#FcnmHsOٙ%I\M2/*d֊,evKI)4w ^zql)JHNsC(ᖊq-(9 漩005`g;O#ՖD׋$ -Vp2j~^_HT8]8YLA˳J04R0Xl.Nwdzܸt"וAR@aȁ<7HOpd9N3iʰP+tGŕ_ԄL,.CZE5r}1JF \FhvK(#ݏٱ%:^:gs/J]"HFW;Ĭ<Ҍʌ*Ys.ʬDp9 L$:~ok[ϾKBluwB'?6?xyk^_Xg}ߡ<>sT\ґy%oӿ,n{_~▏ռ2c~/kIw|ȯ߃n7!{7}_7P̍seymF>1!噵5@cL:cgN&7R=F6$*{ a9amLuVW\ϭFgTQ"~#V t) r?sfhccCJv26Ο3Zt~ccm>9 ؁u$ٵmll&m66659@hi??( 8: V׮96`ՠЙ5R"@ll<VV+ بU)enyV9`c#ؙ|Þq6an]}Ͼ'ngg_ݺElE}_k0'֗]W1͛ں[X}hGߴ;zy~8w;cِyzۛr!G)>TY>s Ǐ<ܥk0>qvG N}AfI o.n=Z ò(8/6g\w(W~!YCqq.elSe"fR|xJ/31Jj_syG-;8ַKAjij;^:/-?-j-[_ړFt+C\wɓCxwzo~Ͽ{<7?n ?W ?޽??/s:{[vOtojý^KoaC3GS|֡?ۛtW~i[}xyݼw[/}ƒX=T_}f(_]b6qB5A煷AC_96z 'EO=qaQV[޽ôOʿ'>)нW[~_~xuߛ>>YZZ/@ٳaf[yOlIENDB`6~0ynHte>3$%.kO>mMKhǢ&W'k GNoaj)һr~n`6f{q߫*N0/mǻ08p! 2łlQ.{p>/Rq7^.=Op\w]$|Yy ^ ?jkNPH#lh| SDnzJeqo~F<] }{1#Va͜3h=}Ԁ0ūI/ðxJ&fiwV(4i.uQfUI^6$ 71mʧ'b"47!\ `aڨySVcRiTj@G^HT퉠kl+9E]}{} ޜ~NGjiPG'2~ ie|Mٸo\6ybt#"~{q5=&$+@~H44RVt}LVD{XL Ve,6tZ)NUy#9GQpD hHxq}kec*"pT_Xk'ܬDݾQvrH~ܢ㻩{waBaCİIvEO`kˀEFA;?ƻhy4=!|jxPRYIZu |$ki!29a3.@bR+l)WI'y"6)T{fߦ̫:*l ]n[H|<#^U*J'7u)|RoguüHdy v'tQ3эdz)J?ȴo)ק 9ȥYpAw“DK"4-u"xh"ˡq1Z5PMbIၰ9+ MD%ARHnnUh!pPfWܨޭ8/唉?wD 0NhcsWiv}t N\y=t$̻Mk[(\()$WizZk~~&\=+SZEփ|B2iܱ_ܢ'e[aQ-Qb?=| %<51IqQm9-ŎP1PIe-FʬQ$Cbbߺ=W(𓐔wKPe$q_جuo㍶ |Kh L~QJl)RίF}Ԛ6}L%3>Uk冐T@D;Ip7+u<;ptL[B:`o_c<5'ţqaHǟn6"Q9QfCa<?ɬ`$wo \qec\n)!S`:EpIQk"{4"}e$]ZHN~sw1LRIC^ [S=HwJeKYm8˥@OvXLgcNmLWѫK17qB >v%a3AB/,0\R:Vx} Β{맽eތxDvE;B5@CcƯn>>Fנּp }6| 7:J:$!}R8<Ɗ:zbzWy( R^.teDZ:m/tnokG# 3IxS DI?3?_߭*^8 8N":[ued=DEĥMS u!jau:,&M^+A6C3>f^ !5In9[K Lu>J%A=>kG A_nxMM?cRUyB)GpÞ~'@28/v2ϣyBO_&#FpC]e+;HɆR,]oǰ H LU<+Fwr䎛7#mɥHYrզսvdf&f [iƍVdMἔBA11_b?2ee.H A FJz/F!c!/. O%3m֣a)i1C6/&/{ &`,/pJ?W7yrMzN>Ct߃~4E*$/̅PP%2%mR"BX:hf&`qMV"q IbnS_H+_!`!B!k:i5uWx*N6xt"[wp%E7&"+~bC]}#d bjVWXBZ1 }֎cI%- gG<њY7~]DVI0 RB3 Cc8e롇M'x~|Vp75[6~կ {̷]5w'{R)҇Ќa~Z#0~G[J;Vs.(o%Pؾ 㕓咗OWV#cewa(0E-MWhӔ jDEq.Q蟃n"#9_7Fn?aAmLih{8WK6U(҈8uB8"ػHDo+t?TxصGFk#(ԞZ~ѵ2Tg1] l S4:!AKoG8FP,]hTz=CPir/Jg|[twc000_~1Pu`% !3{=JS(\G'4ӯ46:3 wMl?+6i+$ؒJl_<*5#.Dg0Zt}PMւo޵9Wz9:όn%u]=4,XIF*\,WpB)#zhWJ1.Ftc`xA *{Et/E1/3.VZRYB"|LdzuQ[/'TΓd6ק+8\2ГvJ`2jWcbVHwmjb&z@cU5}ol#Ga{G#RC*n)kj%҅3DmsܓH>Ko SHsI]0M({uNǞE(xR)l7\gߑPV F4$ _W0&.y.FW$ fb&31! GӔJ986DCS>CᜢSʣg2_Q# m>`ٳ~tGdd )9ρ h%-^y^.A@ |))i$By[-m+VǏp^7@k?g?-b&b>KtB^QGvҤ3U*=H6pLCHuҕĀ y$.4D7)R +x|8,S,`[2I; ?Q}Э$k9^*6 @?,Wjfܨ`]H%3ֳh).){|)4^+ƆJV1i)ƱMK&QIRI$_iO[ Hx>n/ z-\ o#IBT^g\V* jJ1fҌyE(- `r5If ;NAZSPMk% @UY k7݂pZ5 lU_(hfD$cu-'~uAQ.c0xs#Z'^``ȞhMDv2d$4?#dk1.T ?&ؠe>C@ d!:İx}ƶע(sȷJr:E[ g \HR =ma'>xʬ+Fp$ cW18|eRxNb@_pCJ2co$MG ֖k PuEǩn'g^d qrzo=dWwĺ)J@Y.bseăqd7Zg32 ͪ h#FM{?9Xf-VYke[mNoD]y7"5m^Pcf ?3<{;ݻ)ȓlm+}lmD~vk .j3q &5o(W= vFΝp(jV5@\n \%K! /L]߅ejzanzp@,UUxF6]Ltո ~S1^^?J^ 8J`dL_1!*>b|^Pa #GO:;J5L&=É;9 r%K <]iϐ}(-~l| Z>]U"LYE[8J$>gLa*b_ݑ#|Qg@8~YdM2;ͣd d^1)*̚c7mw~OW@&]d׳^.tE>a&5) 5U~=,89nƀ@vcNzA4sNJĈ$uVCXYwgj88N?_u4{'5e]6YNnr?͌ʳo)T"X {R]_x"6A wKCnoNv1 *=ة:~.d"i\-D0jI!2{-wՌHIzrL-85@I +QK^N߿]޺YwrJp vlis 2Y%>k~6~"A #(_` `WULngIJ4UŏXƂEhҝ;&jWr?+౞XE{pFXm,|7M;b1t; E6dֶF.ݷCy a=R &Px1تzZidh^u;7kqvy# d`qVފyFzaV'x)>}mCM|Sٞ4O|{aՖo4qG6>!2MĞR dJg?7H`ApВ jZg*ݠujzX )7P&aJWFAIz{zl΅<]#mu;_~@(ot7M/,ffrrMC?Mwӌ{VA9wxӷEaH3X`(}QCMVW;KD WI]!,mh-(1^O9Ћm)?gJ@R3/F };Z1}3[Q};m JhDr)xFb]Xg#,gl!G43Y}tzm9`aLvܫc̸vW1gN!~w|P"9$k&g5^;TPFyc覷*kPJ\ronϢ:}C莒e]Ys\zE#"'T6c:r=:Ⱥ Ya jFa*Wv܆=?E⤧B [vi(_58_b詜0gv # [`vŭQ_–3&>rxw }6\1$wYe`=` uy݃naao5RMfsK';3PSkT?~|ZjE^.'⸼~;ʲRS/2p+U2rcIl}rKcew}SHy|X,l9+VnB\hFUŧ~;3abJ&m'z ?{ I-Qt MD?6$}pا|424쬘%1I)|MBAXX]}%'UxA3قPYbѮ=SUa ȅXvC鎞FEcˇ O6M s]pʵ*׿m)ջ;]fmuH P֟0q W"ñp"#RW:HEѧE*@f79uFEuр"5<Ϻ2`qs_ş=vFjtL='og6ڄw(fbY6)%N]w :ܯ=Xx\pi/A6!r=ݪ%Gu؊oJOR,sS|nhEcֶc \Cz:1:=%y>Y Q x4B8탫Mghpúr)}%"$YmQ/e3fB=S?#؈=Tc<'OGQiyf{wuc]*FGG `zfiMQ<Δ[4MUqDW%vJ \+¢{iݹe>T~L}q;P_˒bĩ 6Sb?:]% n['đWDžkkz9Ibn= YAO=i={2Tm{Uު-4bڄb'Uqki **dYX?wۯ+[0]:@Rk;PrɃZ:%(4B^C_8^ $^4 sIPNʜ ӟRۀ h]p=XםSŲBi՜_i lh[Gr^ھ zg/ˈSbQ ZnO5戶*npƛ P=84_|xka ^}(E43p ^F'J59I\aj UlfNd |oLD-9!Q֊TͼO[A=7ݼ;@G6FӍz5\b'gh1R o>{?@͛35]t8Me4 "R3~v i @7Kd{ M]!f=Xc43v?vB:>Iɿ$gp5 20M-nՈ՟afӃe`JO֤G|!6ښ X) M/ !X]GOE_\I3Jm@_!d<w;ߜқNeC{5 PMd< /"M1؈ l>y{{xE z&HUa0"Y~X`M,<xU`!laƴ.+^zm&}wȡ[共71oY_A0+ Mu5A.$ۑ#*?&/Ž/"v0M+q8gV+N 8{Fm55U܀gmH+6M@e\O"{֘:9ջ.gb$B؟+%!mD@vEKYg%bُ$bϿ ?; ~P'p:Īf4a`#P7+6=*& /A&GEU¢i) >ЩZ'x:. cʼnJbIL/oQ*aKB@ԆT@U}Su-ùK'ߧ{j[fduEsU<<8@?Vԁo8汙:swcnŹF ;KQStώ-v <r3B} O'^7ϔ:!p9h_isގ&Hklٯ˦t1ᯫA̋f91@[?J o6-w!D ]⤄L TnGwx.~Q# KkB]*:JҙuwE(P plqI"Y:tXt.C i0"O A܉Ju>/WGP-짘`)K$I-e LkD#ZKDh%2bRS7cLhQ}4Cldz/Ϛ]+SNN=FS?SgƄ7NCɻ޵WGEcwWTY{w#[A@ +RVf*7NDk3_wׁ{=q;"GzTKM+/Lf^cg&ek;Zvb~ %۱w+Q"Eiybnz[| ?py|'wXo^1v`ɸ[ɤVK(W}W/)F+R h8dT+kW1-]%AҎ*SSviIxi,(T83 ٠݇$B$xǴ;ۨ]T#*cU)rL{DSHDOkTo8LBJ!T,.  JDT =˕* /TB S<P㴵OBq~VG0D+&(e9O;#*~- v ;$ I𷋭wr5jV2Ӥ\5ZϵYkwM?w"Yt3J 4Ѥv3#["Պ6tg9bboyз*- W%ɪG&+&|aLEWr뀟d$8(d4Hd⼓CO^p7^vQiw0Ezhj;8Gv+aqWTq>whAT4h-\%{9w|xGERӌuzp=}>x ˆ{b>]GVf$d _5;Q)[yxiy3R8k$ I"249]K(MvDcC_j_cSN؃Jo3-[f[3X9jy| Vng ~}ƴݮ{c{ΟYk*e$x>]3V'~* '.FZ9J)Ө> >e(ox<؞-Gwԙx|}{[N_1I?G+vݗ2Nq֮q0(q/!7p26*DfV>F~tq: ܮy wBnos~s,-z+"K'xFA>6o$(*&FiǴO~Sf| > h \'H–iUXƨKD1iG+ 8ѥ87Hb!hP8m4fBO@ B)o#сAgj8ax=Thcr, mYLf.mrB+Tk CpuI#EyI,]hxR;ZlY.YW9--FDy;n#l0[*{kL#a3Ƥ(KUy 3Q]f6$)yG{bH:yX&s .AW"qAE]qjD$=҂hIBɫW N Q/8fkŚE< AklAv3ͳ5Gm6|ςϊO$&].'`j*iϏN* 8.B^.{=2;Wn3* `nD3RzĄ+SNC!),O=偑AoJqor;i\wrk;d+Ь&Js8g 鬬_.P 0&sEct5k :Viϝ,͘lzg|R :m{L Z=+Ӈ\ ; r}Q({*nTu X>`s-+ֶoϮё.-{mOnq1`7lG;a^3Z"HiDZ#Jr} MP7puYYcJ0M<'6!z0qV7ŕK_?:7틟bLҪ ?G *j+p"N-Ӣ1RY{gp|'ڼ! yH"L|Aoc59sn|G{+?I5ηy&|Pt{^'yRo ȓ3EԁȽGLwCwOGv[}v:ȷ@?nTcBBm!g5S9.9{F#ݦOtƸ/m/|X-ΧtvX+[`}3ǵ %WcyL2"-.\RcNWj@q56r4z7J .\J~"KgTLJ~\t8KԖ#fffffضْ,f13b,ffffY<3{}o#6ή̬'rN2,^z1EC> )=x=N irϢO/+iSW @gKm&0e ՟܏xÛ.o/9m-qVI|K #B1իޜ,ؚWD|gf4 w#Tt9ot$O;7DMT|@TGaӶ<|0W5ҖЩdfQH4ɑO* )2.Ii'Vx_7R0z0|x D14YCM3'*loױ>MOx1zZ*5 !/`O\W,< xyH>/!>͞0"0JaMDt"p"Օ;{xf߬f nic!yrЂ<`R UVOpVNE뽦}|ڇ` |Z>NA *J^tݺ{Vovg:\ߖ4ML )mU u+#LO/v4U #ưP*W5@.疐6AZL9Ϥ,B Үv|sF9E[RmOD؄u4.KE|!ǞNQ**Sp#De&+$>;Wn! 7g'=oj}S:= "Dˁ&o=Jj="MtMw8u,%Z#@2d81+=o:?(X>֔xD.A+b ZC HpL΀x&$6XsW:Sq>ceS2ޭJh\nܲGyqK~ΫSјoJ<Eql]6}ۑ;>CsW(ꮄw:EۓPZ6k (t^K C~v!Zk\uaȆ@2Jxt dU'$H)JI/"PꪫpNskulPԮoeݵ JgZ9cBz4cj  .@A0{4pEP6 Osچ%"<8ceVBT(fڹ $(aɿs@Q6 DʙEOU)0b-Q-֗0oOl|`&rL>?&YjL@diPܢFq Ǿ5}6!dfY' Ge5D\,\"RhĤNW;rzIpG#d>&wVc nl)jC|yryQ\ǒ2BhIuea^=`,3lc%Kp獋sAh03cSBg- >0 f^E~"Gk FXh 3G "jm4] 9^.53j^p hcJj PC(n%1䟄 5c[E: "YH 4xp i{}óUR"Mڙ<235摄,wu o)'IBJ~(,!/w`z(Qp ʡZL$K@`aao>U3.x 1rYwl\AՏ` A|i8]LxX'ŗJ*z,Kߓe3G{?1I8aX銗NJuC99H<^FSL]2yеK]@`7ahŦZ% 'a@IBeb;fgѭ'BE2/]t48Ǩى0"0C|06= !{.wSVmo@C))lڣ1枅.Ug|vt_S{°=A}(b5mg/ ֵIP+$򂥼^m-beRt8]<$+X Y|*H~o^ֽuT k߿q.ҳEN+ըWζ(Ӑ9<Ŧup,19inV6# BHvKOpnq>bri:ƊPeffb,4Bw@X^ dj܈Psc7/18DoknL9(jۢ%N}](je\k7]RK<39AHބLu'PWgZK;uDK2Xti`S{.\/!ai4MOӔޤWǣ&}{jpTQ98 Z" dH5JlRClcl3팫z۱&oEh۔d](5|fd#e!5AV̉?vQ퇈bRc=Dލ^9jE7-4xjgľ:~r&o4~-"^1 wTU5ʛ:b'5 ݮ#qkCvl!!Tj_QKjzE {Ù:Q@&8̟8p?n!)˨gV20O@ٔќOl:<21ƇaD22Ix$:0IL_iu/G$I}~"_txܱQ5B7m}zޏS]ʕ/}BY  Bbt5zj:lj@4nbkrahXF1)߇KIV |#-aT=bٲmXg|iqS[2M:~XGx{Grf59ZvO5~d0fRK[o>_fo ;6(e<^WGyV_ω,΅HGd:׃X[-/90@E&EQGS}FY 1P<۵&߷K~;oP#KAp{ysns:qʰ{&( R܃BnT '!|jPjZD(x L!rrTwD#'d~qyba4s*Et,~?9Lݟzc~fBZP~A<+DeMI'MH.GDue"_d׽=Tp_Rft1iEUtʮ'iJ-":P4Ũq8^+ d*4 `䞟ǼLI𡃜"2_ߟ: }/!ںl)/ҖfFǙo uƋoxdfS$˨e]T3ˆMgtIdR0Zs \Y}'c#SA:_E,["sI`sM||?y(Tj(6TA VUOD*7,n.r|#YXd֌J^zoҿu#2vJ`ts?Z@ڄtk72H9f1&@E׽ǐEO6hG4$ψ%S2nGU5pL@]U=!|pooeL=۫?Cm蕵(vg xI|5Yv=mi*Cw)W&ܒu kjA@R,49tUm< t֍؃Yo3|N*zo-=auB]/qlL,?RB>B~;I^fV H#xIp1_}3 U$*DE~D8x6/1ş> Tnp SdRUnF!"ny2 ogMR~^ 59#ς]jckE${[<=Ko#$%!3x"gcv[bo{03r 5!>v>n:'@Ho߅I[Rcd ;{?@SH? x0 YS)"+9pjiרz]G=~` x4 bXx)W&xqhbB9cc 7Z9xtFs]s\otُtE~"Ca LjWu/DWLGfG9D"^HED&kD<nEQY~2 Vd1pbR`IRZj8n BhI̎Ry:k_tC&2!Q'].u,n:jMSi WȽDbiV'h'Y8eInH&4|Fֆ2F>38ߋ HZ p@( ю(w}425~xlتO&Qw-<#kQY_${C%傾t vDb|Mw F7,,"84gUT|j)Yl*6̥8jU A&آO-Z y6x%[?ˣyd[myÝnAǡhU'޻Ǿ /4ex'X|Pi?2(-cF`"8:5צr5-m {al}*$ Z^Ɇ; i˂bz.kH!#=R?IhY^E @LƊ#ˌ#⤲1m!!m?ňVD' +i*aI9Lz|CXug%@kuP6R ʯ4+zNn/?w8߰CJGqUUbro h,rQXl.tB4 t!~150Ai[H4tZ{2*O_չ2bb|b(Le} pQ;?3ԕzM!LqzyVR8VL%3wNxܘ3gbׅ`af%Ju7H7!W^+=~ ^i,$qrh(;H9]r,s&U&"q4lj\d ʊP22Ր);bwiRpȩh8 aqeHĺQ\͖]V<*x[DBXk$Hu>h{EH ]?fE3uz*mW++ѤVwU$j2f }bl B cVh9kbCj>OΣ8kgo_*KdɷڏQ^F{8JIѓ>z<.N"zxҚDu@?0L0Xp@K$UJSÛHܑ -ǩarwnhs`e>, PY4OʀǟyΙel3 Ak7&"ͬCPXoqH%Nbe-L94֕Q4ݭ7v7ΟRPF$gTKX?xQ uᇕ]V]il㛊zrs"] W8J%ޯGzQan?]5e$Ͼ6|/>utu{mAWapL_KbO09m`G޺GL|0Mgm}# W0]o ~C35߈gҕ;4륓c)XOBF2e s97ocz`SR͵+?o}Mƻ\z<R !p*/Xw90)G"ޏ?s!ډb=޵+~,ζ^/ܹeKD8 Jᓒm7ә+D??fG2d%&^ޫmFmȴ_>7Q٤50]0YQ|/N3uRlcdf3 {eu'{(=LA AIwяf!-mKYz `$/~Jzý .:b&bsB~JBҾR`S?嚘: UrfifLSA} & ]ϻ吻~ZWUyӆH)$O1SG %N4o[I6 6WX;r&~="w\}OjEC r lRFhkJAA ]x4LbcZ`uhc㙘Aϐn H̓a6s.^("pz?@+h`3rh=ш~ź%=88{֬SlIcFDh*N`J ko=FjЃf\;ˆ!n"@2!>k';N@.6& *cPz0R3yGV0:}Y2 +c G1Г6vbC+s䬟`((WwKXp.f.oX+;^]]B"X-S95RʢɡGIEdX+)  PHPww@0q:з4d/$~]&=ȓOf#?bDk3w'%-09Z} r |^ A=׏5T058{p*ͤfBJ>x13~Eo΍ϋd0~gS5V#)H)@؀9Lj<ʭ(&VIC\|\<5ʼg _!Nۃhe4,Obաdhlث+o,Q[xr8_r?6h49}"v /2c3 pg_[&ݗ'8- %aʉsoQkb {̝S}t>Y ViE4`ep{:e.Qs5#_HR)_Ѕ޿25) M~t5ⓡ!3ۯfoXw y|^.6jL@*UTuQTS=8 N,[!93kN/.ү}_]OI4涛+sloh;'? ZȺDu!=Ogrrt)КnVnf#P4.- {]_$6#PTŦ>|UWUZKb.$ګǏ9 [ pqpR(GC&a#ƕ뗏Pۅjr7tme(?(2rtM$-QZFJPWSa/>S:?8K`wqŇu S9kݏ_d4eEd~4X/mZ &NPދc!z"@68\S\Hd9O+ʜUZS^fiZ>.uf1! i<$՘*@DMxWQ^ 0;5P<-o@yH si/\J~`[Ӈ|ن樽7t@O@3yM? lQ4noُ[/2$s @*±d*,.T.ִJ@NoNcHZ˜|^FQU-\<*b[K".`L79~{(0$ +O vB<@Ȋ.zR+=O9gg"0`$_]|+J7%XqTBB>I5n^ ~<~_{P/BȒ]Vv+LT sqafUMuV#_Jj=ML<8awڎ~\= {YDg"-3p;suⶎ YO`(Vg噣uiJuUW\_fPn:|4d4O9ag惐4CuBH%}@` m@WQ{?P|ív1]v㞎J:5`ߪ S@P~a;R{ydSJM s&~D0>SGۏWqz+]6syK&(M{&iW/yV_FX|aJ'K$ /A ]T3* 951ĊEffCF>J !0OqoiQI 6B |+^Np""i>xE{R%>Zg{6Ý'sؾ}ݺLfzWS(mf[7nyw)k//#,cZ4쳬~xA5#ln1xK!#r~ ԦR]>~OxElp`mWSBlˮ?m{Xĩ␧!1{5HA5vm3X7}U,_.k|079$pVjsݍ6 jL-~ue䘑aOoO uM!vњ{g kaW-'qάvAWxL"c17s8=Mú1L.ޝ'aW]~=jXUkϕUƝf]8ID A6$o|Voehd󟈘|=7C`?ԋRUvEIT^9KHQJ;&¹fawW}aҽ0x%֡߸7AY/on W#|{jn[C+=C69d>IVWm߳/6_ֳRb㿐-]0.f)Sd0KHO\`YA,,2Wv!!tHS>_ o}g,6;mNne[OӞJ%O`.4n:y<'v{sZnLtTel / ]FȷgWY-’S${!YX~6!KPe_?g5^Hy[:ZzFt]u/G,5s]-rQSٺ~>uCJ{r0Z9A Y^ drfv/$vEU}ŲnoOI ]݉7i2fd 2| y{}nxNX9O@|37B|^|S"R JÔ4`wVC>'௨#&hvYlM z 7:P{s=X{}wɵR$z`1z 98H9̭?qd>y:A?ޒT]C6NםG.!̓G`Īui x~ jbaʼ6}(:_v 'Q[WjUUK rdٟB/uشĞm351 Ny,4OH*fheYkt5a/:Ee)͝|A5,٩FqW="Ey5҅3WP¢U:ҹvkCqyo?NAVh۽k$XzlTT̹5j D{N߁e1+_tw4G}{fWj[v`Lg>g#^ƴ$󗗠v*gz'7ij[{qq;6ou󎜏?¤ &On0!hzS|Pp}C>; H1p!2 N`MSjqpΞ4&VVNo-9̂VeB* ?MJܝdRD]5v? ~3q~'5xmTžҮnH5wwܲe#`Ps3^X:F9o~_{n]䑘X y;}AsYw u9TCfz@vqV$\_kZu\|YhY\{\iild N ?*&0%.Wä҉p;ӺW]_ >'Ga ra IH:%Q9SV4?7Zg c<'\.U\=`*k _Z@j'GS MgH$'j PBNT_<렆GshVbim,KP:%!qϖTB@Y-<2|Puc?LPT2 ϣgE*/ o|L‹#SFg;; L d)Y0./4߶dp3s'A^3#֣˒('s#:CmH'N^ϡ+\*c!q?G^_騬 Bks- τP;Zm喁a=|3wYXWpI`CuKhcQA(&]yK*@J>b֟-xGu˷;F"H`CXT;y[D-[%f=SY2S<>ߞv<@3:ci"/mM_V6Ųm̌<Ҹ ?PoQ<|ݯ-N*b6%96JZ[m d!UH>*)l`.ʌ)J\[3/ki(۷o݉?(kP* CUgb&_r?oX'ݙn V\Hh%7N-<0*GWNA,Fx`xHMNŃa2ɚWlA\ͲH(IQS'?*#r*"LidD~)([g$ܣC ZHByz톊4PQYn ڐ Og|4P1"FD1z 8#Sp0[@26sѩ3ⴳ 'J2>J[c$P/pSb̈́GKsYZ օBOpXfU54ǒ%M̄Z"#ʙC(g󊨐2Tż H!1 IŴgGc) `Wz^ݸ*+= aR@ LRiM)a EO͜aaq/4 YxYؗNQKJ%dl[c%sP7 ,%2,U l@pm,Tu:xhe=Z˼8bE}܊ Uu YL4d=GP1dT!=Ai"q?:H*T:HvxBڵ3˕]Y mlp2w+gq5іx]݀Ljqmpm36*q%o9}JYabzhdť PX_G`A&99k !Md ß `CS#'Tbu 4{m-?f$׷ZM{m($|M`:Y* 䟤h4e0Α %2Pnوd\#0aeJ'5|hgmPLSS[|BI[l2Ѝ+F`':̩on{>VMZ|#pXցl@gST3٨GBMU4~Č,R!U֌f(>OO %$4հC,`1<'"׍wBʄuo>Dp8u)Dнs2\ FxlZ獉p߸YKrUXrtxOTmf!<$JRH(e?o$C˼Xd="pL =3Y#`S_Q4|o?NuG%@/MH8Tծd4 Xō6Y%4,Wv(Jߧ% x0(@W b#x7JM(romd tQ9\8XEtLƳ!$gA.>>gfd~iid/APE )X9렒GR-R/2P(hځ mp Nw 3@._jwﵞuT{lJx3=0TlMxh6T:\f0O<4[BCH.c6:Jth#&Fͪ8f5d_ )d"%Fh ۶xdU8X5 ajH,*9ec46+G%CT(J{!.lMFF9W0qS_&.$0A£r`֙V +dlS&V XEb鲍}dg<𻻖Bw,K<< 1YzCNuk$v7, v(\Wκ¶z {  B#- ٬UZS lfRFУ@Ǡi={hZ3spI)~+2{Fd~V#_ VfwBz&hlpoe 6QILT*I0*FVDƝT]Xl|B!%fmK8!caBNIEXKZg=$RXO0Q6ԏncf7J FX?p]8^C.݃)$]~)Ǥ@}J{31w!}:muQFYD2K(Ti)aj4,b1:ѭsQKJe@`8T %FJjK7 ׈v8SG+sc.g'ycԓ/Xpq9sJtAΑ"e8|C&HcHMpEtBd:c:Df@EX]yr̟0Icx$Oro+~ݲ^AU&}B28L-y4vW*oE-2˙2vh*G~ae 8ZMoJYyu;=2eyl?QVfU Qx(pj<[av AyX0)+k67xSC~oQHQ}m4&8ǒv X`K(IFϫ@vAF /fFKq=Is d@;Ha䛉jjjпCp ,N6S!IOk"iB^gGwBW4mÚj e0!#>rh ] nދ 0LXt懦ǔRcG鳦b asð(qf nHy%bbKT}MD&. qE ~&Mm.d]ȖDW{ #g1O1ڤ۹Ovo:"`70L!h[yEj]!t_VJ""mCA1 MKǫ{9#( &GՀss7e%2FW]⨄jhtEw#6N5;ǚUxzƼ>K TU{3G0k+!'Ii!Ba Sc/ɏ(3>d N{xNdiCPdtĎ63 C9vo|nxO_&C)D\r9m7e߰DJjxaⵢز9#8ʀRz4܌<| `aJC> V'a9{w^eBY`:v!ɼ(MY 1kS'VJ RJ  ӒvS aIklӚ gpn#-=΍ig3&::Zrz!osPho 3*&8l^^CV% p? P8 IqHIft) D [%箞R(*5:3C'gZـӴ_-ouJ{MBP@}Q9Wzc03A:%s?oQ)R,+2zlfb.;Б@i*-/V>AbfDJhP]ʟW +T3rEGu\ 9Hhβ2WRvFfDZѴ̆h1`YEDx hGC+Ӷ{˕;'w.(9zNBOq0yV88]k',P`cDƒYI̩J;49 SkF#KD5s~.(`$v2nYW)B/vss*YڋzP^#/Bf~P7ή2%Rڒ|& {;/zYn.p*!@7hM E[<\ؒ8P6`˯96?8?"DSX@n-y!@Lp+Au@ff9:>+xݡ?!Ҭ'._g7#Yk=n"NvW`88u;_5z64i)t7OQh) &2[Q0ы(Ч\S74J^SLcQlZBayqر9r6BX? NZŇ9"zm#zXhk`fS[L6xrM\-l:$]&^WIz瓵j]$iL%$ok^~dރxW"T(f˃ >O]PM]hR&$ۖ9a{ӕ KmHa8V !6htXE?\Cƞ̏ߚ Ar(%g@Vс؃4==$98E&+; k䰘^(*CI(Uev{q)BSSl3|{kbYa=u(2!Ƕ`JeR P(? kDS$r8?X3ysD ..l 9,ȹ lst6ڝ]\f=%"ݮk⒊`0.X_%f~^{)pB=9#(CC:@ӻsʼnjh<ا%(#O'SVU"<%GۦZ$+_vQW燶IX%QfRyLSx{mT -]'b>2g8crLP60Y%Т'=3눍#" = /)У a`f`y@r2܃b|l$۟М6<,*lTҟ 0 Cviy[Z>T#[0և+T#X#7naֻEevfW1 Z5- q_{); NcUmtr+REcV5, yۇ+:%T!aoo~rŬ_<Ѵ̡ۿr7p|"w+5̚ g0[_)(i*ۺI"&P=xgҚt6ome ~mŮBnjK8g5uuu_A4Ii)E">3;/nDZnlof2 cMh L'hFUՉNWvgG陧ǤK^0cFl?.:QQ D?1Ϊ󽘛PНr P*3^1/كd+S˹pIL煮 S3,fOr?ʠRl|= qS_M .,Y0Vp%Ep(=W x \e\8Y#{BO2IE2T^n=du*DYA-q/`2 V(D+6K=~?b#"W֌*"׊Yu+\@"#? C L`rMDs} > n겸 IgY$No=߹y{_9?UBQZ1= 773:NFƂw!O ;x 0,ђVmiˡ] ~%kc#oؾ`G90h[Y[$7Z+gcԿSE[r:Tƞ\`3U-iI^ԔXsJ,76y93!tWKUDUe^7H$I/"u:=51UME_Œ  ujߝ g9gPS??MLz(~xZJ4je] 2*BQ!hf_-^?8x>(-1")mSDDS$\-\jd,~uakSGfPa l%20b+v)x&" ؂~ciU1M %|_I(/ 4rF@(߅S?t,PDFws֡U\>-޻Kg81 "J$6R!vwعG%гn*oZE<~HXJ"Wl)knZ]]N,ҫl c:To1خ]&rt#i{g&\b{7J%{kGjhr5uu['dgu[`=P?GOZ^D!;C(MT?q_ƉTLYǼVH wPh4iFp]עA^bqE&VDhZ[2 'lL KJ'B˱%JpC 'Xh`.Qv<=޻S㊠悐~<ܤu<-olaᳵo#m k̇ H++dmRvjD骐RLQKE-Qoޗh -I墍U5JyQDt VA&fuKrS!c^u҈>[V&ho]J9y'? r[CG k]t{"Mo&X6,q59dT$' `9AL}]0V B ciw+-J{pb᯲N ƕ[ddޛ\O2u! U9\At,T -H)cfa9w|kn|Ӱ؝{ñVIx 'g[|qg@%6߱}y,᝘ jM-6VC\]o ƚy 9=~+3 sgj1Hw2 ԅU4缜 e&Su[/ю>M GY˭v5.NX:$v4hG-YL /tJ$c8$lR./\6R6+l*,q?~q&ZnXp5s7oa#M*YعVvWyoMCohݶk͌+#"sEa4ewű +Sfw8Y~?BuLcF:eL)CW G&PW=&LO=`4D(]譫jA).\0gfYGx/n' \7QOL y1(:S 6>&V'Y}C#vp{<0}KNs[.e];^zԩ Plb8zwo%)9u,3/ `fWzQN1C8ࠠly`aɭHToBa-5sħ01*Hٽ3pq[(_˗*7tum#h&]w 1ьht*w++4D@O(NϨ~H)fbbWY4Oeax(TDƽ 36gwX2iB"θj4x6;THۋGjo -ސ˷=áwd;gckK'i`Dv;AV%~HmXinU0:唲Vc›@'8ܱ9  3:#Dqe.f4i:?hquw$Ҽ@ceڲ~d.h>w0F~w[CYĉ(-tvew6F/}{{ z݊__ۨ/6QN+B\zQ+ɩ嬋M ^Gp&ZNH&[o^wi|'B_׽{ 1$c&n $-UYTS;N1z$OfMCu(k#ZJXգqˠOx;h'tɱ8%戭()?&*n><)Jv3xd^y(u¤m'lSN+}#vE#b$WŘ_9Ko?;_ƒŴF/e.:ߓ"(&A\6?EpC`<`}[eb&(IϊKd_cVpFf:Ո!x * uܺ0sgRJLzC>ߠ7̓$~s뚶@z|Ec'=^xgwժb\$w.,գ՘ZdN]kYVFǚJGx2D\]>zN<mu¢l~V-3)N@T ጆ<}=>?"k:_Py8Υ&EL<>xd]%v\uwz{B :{Wt|Cyxڸ >)&U_;&AAVf}%Yt`$In˙8KqZqIqc{U3vU&ƺF#8l-{?y) n۸t=49v&QߌH`] N"b|)-Z,+z}X$bD9Ucԋ5fKXۙ01@5?U F< ځG҅>9R0Aь`тW {z' {]1jOR7 *"|3tyk\iԕmDk" :Hdf 9}0uL$z73Q"8sDIzu^;hgj ,^Kȥq?}ߣ"ϲ?+tQyazW}rjK"zNJ;3yuu] JyUXO;8p Yw2U#XE~[ (#ZElqR8QYV0QX;$[^ABmzI)>%4;IEi|c~z cbN_{S[oSU?5T^v](q0sΆu$(HSt7Uke&Dy**U6%1ۉ^^B9i efJJX]?) 8:0 ̞FC[?κ)0jýjZMPv j.NJ;ÚGO~V.qGk _ еT\j}ۙ Uz,RZZf/AM-rGl,#v9g8 s%+th)0512rT|xJS6KQi;N |U&CC鵃9Ɲأb 'JUT,e !Uy14|FE$ M6M)ƃFf!VUc_ay2ަ_S-bM/ X=OO"ݷW,N LnETbԿE(k=N^1f6Jp~̍,|SXeHm waY S(Dbr>?e<(=MV tBq)oC/3v%ŝv#*q/SIp`ɓ荵 \,|6y4{}#gjܷgu  +{MׇXp>SӥVf m_7  F(7lq:1d`hO\cM*3NrE}g,v@AV! S[|!*E[XJTt YHAs2<ﴪomrXÌlT;S`by.Z_.u~v@$3By)nbow^1A\&br0[CϏ %hY/6|P<~E L4%OGxE-ͥfVj'pn̚Y3mEb,t"@0uQ95խFr-^(cHpx} v_[4\orL7ۨFoQӪ]4r6i1ik/("qݑrk?~4)!ԯ9Zv{%cŀ#{ ][k̲C>{G@.vH g8xE3"CRu7~ǝwLlH2Rs(H;M6zk F;;N=sVL#!\nF,mI37 L)@7gu@<#(V({ rBRQ*x鏗H鄨¦T[٩eU=.t!wrv zae]SNVyNq>i%pZ/Xp pٞAbURzJ"ݣ>3IڪTujΔR{6n3hLnjՌAQeӗѝ-w͜xf[U$Ǣ  zȌD4[j*||@( ezY:t<ķ淌zbT F(?|p|N6cE}(} xse'hv; įX{_sBu}`SϏaӌ8H<֐Iu}@o(tCi_0 C);o=H7y{_)pF >dE[qLG9m}Tje2w`0ۢW8F-x DŧF] stj =D*DY!T|p%}S=MrZPL[at񗍍c_3!{\CbLC48NBMX<OWlJ}8MA1<eU㟕Ҹhbo?X PBm 図J_ҫ65<7 "uR<^q9RƇ 7`.or\>@b@{+#YK n 1Ҧ.3*&D"z)`໹| 蔐iD(rGXb"O!X/X 6Q4QÃ3*+\]"ags7vP;)oj-v;e͝h汞#I:ۆUIXp+춈?mݲȚv4$ RD+ c hBc ;+qY7v{S2븾A|5B]\]Hp0*^4ń1#+C˻`WNUdDF#c+Ϩ /RWE1 x-UWT p“ӆ)mJZo.w쟉ޓdj31n Y\3 t7+[W*tM̀,V^qˆ V8Pw N>t3qB` 5.gT$lMNyAhr [9Bk+"BGNLE|Ic2_L8y_#8Ya)W=RpI 7R]]W}qc.A**TP{vPzY1'Il+A-/?hvyQJ9*HPZ{} ݲH3("K~4=xa8W,?pNW@ϙďpI. mJCI0i9\޾m0lC)|/M^\z|%Y!c(bB{f)T^9Fo9eivwIM46M!]鷉x\%Vwo}Wƨvn; \%LdDμv[_E`Ӌ%^xǷWXY^1$ ~5 :jiHj=y퉙HtO31V3dvR">Qg$^G@_a -պ+fJ|^/ڞ>;$+D뿅,s=ys"a%#J痖9 ȑ+)ghb] `G39(?Gx!V4=Xli ے,4km;.MSuiMrI:B.^. !3)*jjrTj{-=Z@書O*rgXAaݪ"a~ _OWLa)ixlVہ*fd5iXa(Fqi<㞼n!3@ҎPLZB`JF~dfV!oDW'( KS[ PO ?n}I)yQtNX .F=]|܊V)7Z{ Fw '9SF)iߙe&B:U9K!n3"tDH(I .P۶@ifI/hx_û%po8~H^ճG9l6+&>^C灮_3fZSm}+Mo Dql:W ;Q=?n+؜- w*B,MD O|o; _<cЋKoidQϒ AVfWKfa2wDIsۈW=d>|u3 9J6|:DGrvAcVB;Ei%K+l7ȋАgbB>A~ŏl/?mε)7 / '}S8i"U]ԓ@Y^'6뻇X.C4|!.Iw3ii mi3}+(A.L: UF0-l$b.js ψ*—SS~b Fpّm2dR*i|S%d K(FI~ 9Nc7q- HD^D5KR?*ajBJ#55DCMf.m!aQ&2쮑z/' e;ΐ}d olzoB3:bvπ)őؒu(ł *2>5ApNǍb6Zڤ{g}5*Iof+]{Ki/k&ʻٗRdbCQ#V ck,C6ceAl5Osf]s ﶖ@硘GOPFi߭f; k E;1uϱb% ѾakϷ,+5".JO,; ^k7`u%ԖJrA$4ƙ{F <@ubY}7"Y}wCO2Ă~N,& mQՑD7[dD~kˀ(ȭB:5?ϸҨ&6%9];ҋtNHnu8Ixej\6rIlnzvN}pͱnIr|is^KNwYߥFo4hFbF2ʭvf:8 n-QDq %%k90FcZW y='q=wp?F%gp>'KJɦ"qT3Bw^qQm8U->#Y:aSe6iD걌Sۡj?!7n?cDz]PC5|9;XvDϞh ̏mȈ)6cD#s#Lʢ1aiX5|6n6nNvZ& pS@ڥVʃ53{s5X\_/ԖOB*p74(jjiв.Q9u'?~,{Mo}AۇG_Bh3,9=_<]nE_KCO/jpHJǖN?0sрNS'h)3m2 0[[oxp޿aq hj艭fYQ4&[6yge~PTOBg 8Ϻ@~C ωF²ɍ +q7xG>AxBoʲКEr""b,i޳ \lmxVV'n6Jۺ@GnFtS,laId, sM&O\%fokaIU'@d<{}a-X۪0liWP):z&րT62UJbi ٖ/0wfh,UЊRVq>B%nk1`NY(2ٕ(Z^ vL emYg ԍ:0lی"9c$j. J9_[,^|gB6uUW@?ăg\٫O_2zND#[,Ʀ+6].=Ac8Nk6Q~;󢕅:a _@aU |/(ٜ[QO;S%R2 xR=;+yztQQ]ZBXiPZXZARZYzi$%TDia?|gy33<z(f ;] C {r+6}1)K]+L_#U.[ԯQd3mww~3wL`WP7} &G5 qxM4-cޣW>P/啼b#a ]b6[ǭh/D~T"9*O1gưfv*5W92u# .C7g~yCb"P iM[f b0{9Ui[]Qh /6&bӁPpr%%JȒbgcU%dCƨViаF/^|Ej?,RQu}:mwjZz.ljp l3dnEOb^( *-z N%&3R@0v=Bb=~Bψ Ls^ejm뿁[\f֞sX2`.v# wK4k8Gʯr-w2׼wH{ƛG'Eϧ *VŪG"h]yA%C]_RakhKY{x~Ȍl-Qe O׈K)bu*gV*L>ni8󅴺_=u@]Cg\z2yn\{ėO?a XL-If&okWk+1NBaID57z7{oēw̒Px~bfp@ܾis{Aٷ!L/5.m2{ r!bEOEw_W8t;%ק?Y&'wѰ/UЃ V>T. `eTk#R7s{eٌ]L>OeC+}c78\YrƒUqϹ/6]t8$mda?ږ`di.d7e¦w(yk_<= I$/i78d6_ EqVKN% "Tu?y*y`2$Il,""BZ+bfs^VQ\h[.6ԴjZ_}5YX"3:;TO::Zw|+ [|rzhܓF[ H5voĕ(iEߘb 8n M'nc*@A"aYwn@ڵJrVZţ !Ic`z5Hb^G܆-M{)3w)P'\[J-+41> J{aS73xhK($2左jHw?xwvfĒ XAΞFy05'F'Z !M`'g+ݿC+A޼z_4Idm0K3՗" UI>7ֲ~3-v<5SgXi7ߴ!..i*[=i9M_x/M%|)=#w9z=KIAo4a+F]Ɲϟ^a-Ɉv\)Xw< Evbi=3fP ޣ'BǗlɼٵJ !lB$o)J Y wi^QepX0_/NY(d C&k^ʱpĜy(!{4kʍ,YN0=BF82dNK󡐚$B{ ;Ѯ5h7c@^mbi !zycע`wü~u=sQGK i!ΤE p*a- Ls}4}TB% j &/V,({FxCMYh=8O=Fũ c1Oi~ou7p[Q86|BҘ&+F%f(ρ^L<ڪK8t\nr*"RQNO/ Ů4);dIiܩA J[wƹ[KI<+p(Xf9|Y"~DVWyG:fP)/+L'G`D0y*SBnGʖ1xvYsdgHwdteOUcK:d,$8DnJlc% 9ǗaMMF& 'ADs!Su^\;q^j&Q "*!$'aAIfNǴ~"%#7`{2lNi|Of8*zgM1K5{3b6u u8(UPd*yr~h=A~4xѵiD;};6:6гrv1 ԴnvKlyߙ Oӣ9E?v`&'3a,}( Aڱt{پ`|[J/}p[7Ӝ5sIqu{y_ϓ$%PR@{Z 1ȷN஗ )d JmLnj#>9qqӗw\aAעo4tn l36 4,,, >)} W}KsH>W\җOꈕh4!|Q~CoԽ퍸٩7W8ēy3!dw R/ej@~HF+#CA_8qAQRf<E'%CgA RJx$cRya1L0Ί8=cF2뷗b..zNk dD 1(CGjnM&gz 'b/fQc5U~)9c^6TH2خ=#0c#blNG; )s Z]*`ȭfYn>Q%[!L'1KIg+9 ]ek%|:^7Yǧ '&9"C&5^/Fj{ٜmd|hv_py!cRVh(l2HdXUŐʁD>q]9$EWTkC]=48,݁8;|ó.!m) ;T9\5[X>}%A yEBBWPe"2|O)qe.,ZY㹗RIm"DVԴ'cAEՅ#IӸ{bIxWcק4p94HrHVd|;f[{p&l@ə6dwoRЗ) / {Y}⯝aA9O2U&E3:4-8pBp?륥00KFʯT8HKp*+R!a8oQ'@g`εQԻ&MBjJ;9>ƠS9 o\4{@$B{Ij:Q?YmE(z ^a &4t"a=7bh}_ y-4\@cl̲ܕt m);ڻ;ڿ>TeV\$ !A4 pYH ͬE@U0n{@L?H5 %}߰Hhm`[:[.jr.|)@GHzv;}[N*tݓ0玝?66V$ip>V-0wJ6mƎfeM0;Q_#ߓ[JV!Y,`*%.D: `2BV% j|9DݜT~Tz-֗*Ö j tI΅sI5NDp}Ud;*`{ghB+!IA"`R^W?p_ou(t={gA+fv6`e_Ye\$D#B3:JU~_ *@ͧú6Jb8BѸZ}6pzG&0QḃY`4.VumN7 ^yjv7^ʮ٣Z.aO鶒IՇzEgG>y0N#vрkom> d5OuxbG_|$1dREr} vzʟj:˟֗LU>&E6EV=/0_@dyFD<%iiJ헁P/§jw۩:ׇOZ}J+7a{%AԠddCVNvr&+(ؒozZh%w{&7A࣡'@'g{'ᬩo|.؃1+x t.jWwۥ\Z]{IET`<ܮ;[O!ۀxs!7 !PLJ:3=7 a?=۠x=h͵]_w -z B[L9z.ՄSOκ`H;/cכ%Z3Sq e5ڪ*:o}nYb}kspm`ˀIV)!X& =c޶Ω ouyؑ=[))m`+*TC <}L>zzczndb_lcm(} = 2pcƜv&vg| r%o5o镹Y&Eyl|gNu 'ƭvY{YI5G܄GEK4P/)&:VTAćdPPr}}?N;χKp WXt}fӖ%J0X6pշ9;6'ͮy= `Ir}4(}zGkD@R0kRH@0OWx;b3GM/.:7PHm% %9ג*W<.Q@v[w O5[lmXLaKo>54 s1q[v[g^PZ AHi]ox졾j^WzV\Wq; sT׭Tm]AmLUuAwRd޸΄qg;4Fpta +W.Ƈ!}@Ljhq"kɍJk: AבTكfg@iwf#֖e%*\v[<B$yuVBᢙa&SGG!Ȗქ! Y-_9J{ʢ 8vتwD/a< 45U?k~:PWbN<$>Qb8ɾwXsqpjwNO% ydt"SDf*,}?ۍ8OĸOgeJh5MLMjHB,}\kX'Z|+wj0U ]ZVX!Vh% zׄ[O/[y3揯(N%F݂c(hV{|45%~i ~Si5;b.]JsecZUǃѦF|nBRh_uSv7NE4y4YEK=hcㅎlЗ>/)Mx݌ǧ1,3wbBp$6M u#xm\܊ѷO5xGⲬW-ƅUAGXX|\3 WC b94#8C"^B#4솇 # b>4PEE2x! ǶeA5щ';yRz`yAϋH!#е PyY-N(zȱ'̍3׹x^w)u3ȦDً7ߏ>gF24qg$M,Ti*wͧSXD خgIT6RN ꯴)04XR8}?H΄1V] (8LMv u{NX8l8uxI3(95h5J,71Xpl\-(F+rUrvs3_q (ۺvG|ez2''Aq{wBHZҾc~HJuzͻ#:*,->D1Oaqumy|DO~p^?*J4ڔ%g~]~"{4`IT훒 (9o2Od} [Lڡ.1ĆŌS{_'+oXG~?nƯ||gŲ[=0[>}x<^^x| ~'ס`A򺽑1u?(:YoQ)/Qjo=_ ߹]R!fVN=; W.1p вn bԂh#YKwf%NLfIZsDV&6%Pq[ws'@%Eͧ*'V{"Ru:~^LKnLFBt W7 *:%"7Пco6]o#e'}i_~תZ0v u+Ja}/B&$_|'DNl@܂ ˴'&6Cwv.{gݦj|qmdj|)9 #ֿH`[XȣCC "3ǡR&޻]{f}hwnsy j:]1j!ihwGَG 2w{Nbe8?Ar6yċK+'Oد5f{=ep 5%% a3G2Y?,O UZ|f]sF^A٢&4dH &qCJi'p)pPՇm]`gR"C7 {*EOū0Pk!]B1GG<(ȨTR[#oS:8J>h ١":U q?p]r`Q se5\S\7$gt30V0zWm|A"4\?#p WCa*׏AoV0YLNhl,!O!iQB܍Xa!M|FLSRàrA^>~%7MIȌa s:*v2!G;+'X}ZൈU{&kmN E"c̼׿$ y?¹{?fgZ-!v$1;[p*LdNT,m`gj*_w&CqVMvqcے3O`v<8PHSP"ΌK'3m>H),CϒTMav-{dž$-=Ŝ>;xFGS_E[R`Am `4[DG-=U`bZ3Pf)zeLRFָk# pFƝ={y]/a9 4z}cS޻ߊQK|)k<ܠkç `U YUޖm"G1TY}44k'N/#}ikL$?{xѳH7g8 PI_2 E0P[*_||/ G ed(X0::5F2 )zѓjS6Mbj5/BŐHN +BtX #Y*cWsM?7cbk d57_Uܢ}VX FVrF`:?JMIp@pqVf@_ '(6anzA>5 2+12DzN#2nNHFxI*}֙CgW]*4JR5z2mTjOV~w"hϗ.Y2r\IW`;M#^#9A ؽ9I<{x'ė(;Ô$ |7}^Y'sfX=Uӌ|G#1.sa x`9r}#{F 먞o]EG}`i1 ;N\w65ґ x |#ʬ-mI&L2Ըajbܽ"[X0t {ق jŢNDFxWc1p1  vj&H44TcK' rL *W,(=Np4W)uf8oAjTGh'7c){&,(`w}|h)XY7<'$Sl7blV1y{ߡ*h81MUωUfǔhuL}G_e>ԩiP*h2E,r%`HYUMxHw 5&l+RIZE q. ؍q|Zm=kO\ߓ"`lZj;iݻۃcچS hce!QpnK8Q;iNcn 0y)UpF f>%5Mדٌ_n F ~0Ѻr;). ZQ焇n.|$ޞ?yjXP>beeadDסQ­\c݀I\ߡe6HW#~M18o=tzO{jŽ6pIL5sxϖ%5i+2syA. |-p@} =pΛB죏Pw .ϋN hqQ|?kss1an[`M$|[5gW)' ==&T39pAjК`k[LzپgM\p&a.nQPu%~\'ӱfwk[cyLeˮE *~-k*)N%M-v }XiF(#ȏ{jBemR?0^8FhDo?vxyxwӖb;Ѝ2.PmDz`_]7<  N =M;^P/{KH _c~4҉n)t4 ^.Y2WT AeO(g\;pܜ} D#%ԛ:!~p\WEV aݕiAW =9'n>3goQ[3; *ně7S+G[OK2ӽ Ed':4蠑_ F~ɷ&鿴To:_0zN}3[{[ДfBB oY c6zjR~AQtj\i>5dWSS6LMF:F`'c~H{ھZ_έn,S}ׯ9~O<-Izo Jk6h4fVQ}ONmQ( (̿<Ѽi'iaI9 L\<.ǯ!yal,j d"ԆJp~IVRHz oH&mBM=o$"\(Zp Ag6yizLy0г{BQtQF_={~;of6[Syå*/-WFc[80咎'4UZco([oO%ը OU25APW'^sf!1E8ZUpjlR79S8$T n}%1k0y AJV렧(ac0\RƝA'9KVCcV0EHhrFSr{ШŸ']nxtxv"IƬU%ʄ޵ `êm{]sr'oQ+ %nX•nOu d4)/m诉%.c\34NX| ?F*5G3 fT.DaLJM+`IkA` mig"R'>2A2+ #V{y)ƣf#lo =z;(nl1V҄{s&%6A6ڰ@y#sȬ`[7lx;$b+ ?dž!8omE"#k'o@3NeQe0ڛpѶǩc+J __Bk!B͑~y0>=g&Q|}U^{KG5lB@@vw;tᘓ7jX'^{oUȮOkWecpCLqZҫRhH&_kF>P^6o^I⯰AҘ|$[PrH-;$⎹iVfZKV./ AduFB-vފ%aS (Jrs jR ^$f3(2ƵNEJ.+Ɏ=u9~Y]i.bTS\J㯌"\e?yaw-AѬ%.U*Fy4d ºPi5]5$j~IIrd n)8^ #,58)m2g˰lC⼻* -!;kf ZCM 1(RD "}U#γUގ(Ood_*c\OT~+b66um*Y<1ܤjrZFP8I6 EHO ϟwyoFզ1[I?缿mGd@o2d]p]DqP-o̘q) ?.41\yjig28wf[Nd}(!NA"sdcՐ*D*ʘ3bQFt'RzD:V Z3`y6j~u7Hg$Ȧ\3C \hj(.Bah5J[؆k -+rbAb-R ڞ̊_p_&VKO;p42ͣ%wЈ'L /uGLB7'w cWU&.- { @ z0%윎HAQ{ʔ+Y}l/۹m)5JysG9z =uQy_6Q^B ym"}ᒵ,S7 偭'&IpH`ʵxd4j'PlT\P-vF!C۪O [sB5g 1\hmLϖox/*.t(V|\'7cq] D("BV5CsoFߊۗ壜dWMάEKq+8>!g23oM[z43`*:2%aDˎ\GusSoFMZWE>| SH~CI*xN>B>Lۙ;^-) QU~Wm6#(!DNOA&ph>tFH5uY!`l7*x~xFx_8-n:"&tF:7 ],L17Y4:-R6g,Å.b|#[,UqH)_ BHI"NF cA|-ͲMjMP{JC PdK*zP"WMZ[O^]æމ ұV.,Yg+ly7XgH(ڞ' cgmU[ڽzcҚt*x+E9]$g[Ic3:0X,`1[h%ɦS{=dFLŲכs= 9 K;3$jkfQXzd3pLD+1ܟ_x{?eTpp Lw?G-gȡB'+ԧs\6.1%m']w&NGH q~r/u:Xx@D PջI( e)e9~>{˜+AqKQbZ'atSOoıFqK Fc L'̮}Z(" Wd_e\Kĥ*JR| c7L s\kH~u9oEu30tj?dmX7B%R,J&:MO'q]z@{.B৶2W\ht%Мt} GCJ̠+ukX ru_:^Va4l?XsKip5w7ۈGe5<6B|L -U;C6 hk̲( -Xm EI47&8Ffk- U\ D",! A5-HadL*4㘂 G*ZBK_ '2AR5_k,nE } )(եz~N ,TA{Z &lAmANE.U~ʲ"l7X#gVbqU.ZAcL\H@q'iBKO25f8Jlg}1fyV<#5&DT8 '(YPB.+QV`c!y20 Tn\Q<&qiP ׋=1;#7J+2ْ9hB&Iq4IiBrE4BUOS8e$8<6i욬WلKx=]Xdq2qO߹ڌ)éLA^T)jiekF e;% QqYfCt(-$4KQSBOjC*iay>.ՓsO.=a)& *P纲Ds_ZU*2'ȗ\FjqéC,#|Bc;N\f:뾬*:X"A}(JȈ e4z.^HRf{kxSyDW?jSiC%(bP)gq6 Wj |!XbYgx/%\5"+1E}8sdd͹wip nY .˧̔Fr7T$QvqŊʸq5 ϒfbC"dzy ا]nuqTui foa%E݅ݑAzyO?$`Gea ZJY9S$Q(U⼘~":օc%IlWjzw&RDq1{aj Q?c7|rޤ *%^)B@K案Zz̺yBfUVZ$Y¥ f(87QaHtBD+r 40`JؼiތľND%>+y W}aI#AGHF*~!݆2S'uI)o/-K͊ Lɂ'[ ĚIjۺ`KV"_Qy--8r;}(з A Y:UUKjI7!DE"/Kŀ%O%&hr}V h=g3j=8aNhyU6/q1kn\?k{RB*zhnLx- sPa`,&+iu"qk$ zJu<d+'o:Q$ ͞fi@CuT /wc >'<؉VbB:̠@mtV5ֿw7K;>7mP!w9pZ aЯ=:j\Sg ҕ0!6^>.:0ݟ[ ^<.@c$j>Lzj3 *k"p$0)%<+k#dwLRRcL!)c ^@RoBU9CMuaX^26(9+,o*\0coa-%=>M^($C%b:.9(ZWObƞA2t'ֱ3WYCwݥ/ g*עqȋdpWepC^nI;fJ(?S:μbL*gX-pv eϹs3ke/aA'\`7}!X1lۗRF+1V 5t*Ba`H` ̗u9:ަ7!,zP{F$C='wUZqÜՅ8Rߨ,ا/;sfyB;+CQ,51Ҍʷ)Td[x *«SoЕQ%ט"y6_~5C@v[HB@uv#8w ueCuYoqzR]Cj:ƶvVv<3Bb4/X}rO+PUb_oЅӽOJ!K=>:Pi Klď!\< DI%%I~S`/(5ŕm k"NڐGҸ՗R@EpU9HCnHJ,ۇqDW/g#&EX[ ʵnj @qq<qhAz^9Vw_e|Dž %Z@fmIn7V挒9N7 _)ӝrΌ '( .km0DqzpƖMȶQb8f4Do?2MO4D$u`}^ ^o}nS |f"42& c6=2i""#- Ee:$QV$VLu|u[aM;A &?%ps'N! B((.f~:@mq}H.y;=0qG64_Ud@պB]P>ԍUp@mVM֡ONϲvrřQ][iZɬ20n)]uK5q }6I3 ͑mh'Fӯ efg#erK><{ #ilЈǃڪ;[run8F::dx7kEM3ÑO dK?DZh?oh8{[ՑB ܤl"%?%*AZ2E7(h,>bUDdKVKҒ88QBE\gv1b{?饅e!rJj A}d2+p׼ S/Z4|DS9t n`ү}pevh#9f+۲k!O((YE\Sv驔U}̢b8fFO \59(XV<vkV"U.Q/~(& vNx6nPaY2h8xԠd~~bw;:>NR*C#ҏ0O^Uv;;|ۂ%FT}^'>~B1+ ;C TB%QFжCB: S%/z*7JCQLE#bkA)Woqv׫skRqp-@`A`WU|{*M;]ʹJ h5[Zo?GI}WYSȿa}ГJhK"͢a)gKyjLjLBŃhTm6-G]=1!?"a4lyvg (۶`{eՖٿDA}~~Q_֧(d?oO %~T]Jk5vśp&߽VPPYr?G%ΘڈI\9j/7շn6( hXxOD3VCi;sS;vl.DHr|?&E'!~$DFwg`GeB=.9us3/[YgڍbЂռ $96W;y& +]lلʟ"lvG-ض/n7>N!M^=& j+uj띫qrLQ^F 9t]]U-t>ߠI#/O 6AΛC-/ o/y(hՉV.ZFQȂouPr"ܱ4x;\r;8@F 1 FmT($bip.t4r9z[p'IpB2=ubHVf7qw7Ÿ;>n[6*?I&=KIqt'0 5~BDp{țCO=җᨳ>A0BܢM_R0, UV}r*jE<sŊ1́y/8y{z>4ƯPD>yZ澏X?fo_6o_׺a fqA3C蚆{YB~¸0#>ErGιZ]*$&DiRBe-H;~_TI ((dq9-P4,grMV.띓cz#z#MzLcKLDjssBvo(\Ib=TF&C;umoʊlXъ۶ƶm۶ƶmgk}><9ns*Ca!^IMc%4n.MZ55\DAL_og4HĸMAΞ:'%}0pbR,dhHq xy&J^EYSuYƊP"NɈ(';7P9'[Ll~8|9|v_ @(:B&_$gy&sKx L|nޔպp84{2Y瓇E3aJݟ hDUg^eŪes@9Ser˘wm2Rzgb]Z\AڦP0xCK|JiKUW+FOͼ0%OD XB 嫹? fdf'uʆqN~=/P;4aYQh9`'m?o $T6?Ahg.* lB.ocHBR a \.fX)A>JTgv7Fڒ7s:A`ęGEH|B10*,O.:?Q !Y_OL_ tS;lu+PE#H<_~va!QV\ժ/ /}TW %??wN$W_ ~"n-fmpZ+')R_y}|TW;`D=_՟&[knfYRk t #7__!r?fy l/\Q.rΑY9ʵ㖲%)Z %(sbG:ƗxJ *ͩ"U0- f1ztiC6I#MIK+IEa v88\ فypPa~BCbC!qxx4h JI`Rht\sA|hW8yi?@~q]1ڪĘN4$"UiYI{.a8* V6~n1լ]A&r YN[2Acۿiuo֗nZ~.~>ɔwft抾= O4n#DX(b73?,hAc+l_^q]Xr0, .>pD5]%UP?v;XÃppg4We?ŤoU͹(M s U;Bwpx9i*dq>Q='뼑hQzc@X{&9?|@Misd"uu C_h NB=qnjIAJ~C=8P,݂<"TKL ى[u'SAG4Zb<ғ>˷H>GZ;;,bs J:K+#H$ $Cn6)cGg,Dl}~&4(cRQ WQkYj$x {Eb^ܓ8'o=&/ Lq4>]ZL^p -bRebw\¸>_O2|VRg4oNy3;&ӧ\>՜]lV\6ּ6?򷆆ߵ<ӯ7k&jՖZn0"kh(-&Sp]h8hlP uwTc)a~\]RF "׮,ilq~-uU!5xLF)OyW̢"c5r!B)]{E6NXPVxafM"Œ(7HN^3sԿ'C};pā*;i (}t1glTR\'d/%5N@bksp[j ) -#avJ>l1g(j"eyrklCrʫ@H\أS>w ];!e&'"l4FW$v,:w0a>-G C?Pt]] %$b 6Mls&Fv7v^[ d=wz<}{Y0̙CQ*RCsű籑IX¨ D jzkOsU4sAŤIAi i1;Mrc }4n3JCA^.зW=[9;o]InhhȰ1f|JIx(-gGaS u Fßξlԭ˜yxm*$ǕmO#5̣JR_ڟO?'^7U5F?Yw?7w >x߷u>}.T{Cd:8a2\G4 V೔CM~lhHe!K\s1R|CSVSY緇?"ͧ^Gwp`u_O/0>}.Q:}||Aԫ3,bߘlBC) 4kYݾC$Quy~1Uc`syEGj'\"_9̙S 83c\2 ,I'gYam"S'j#ht2C6ˎqzD tGgBNG!M7CȏGhSzڼG ڰesc{U7l]O[ވVo{ZYC0Bé"d t_ ]j.hO 4а:$\-\ѪDh\F:dy*볳ioj[M:ؠe-r-tM,.Y){-¬+k|<.}VO_ eCqeLЎ ry b%™HIG(!RT  5YpWڜ8ǑHOpkڋ6`2 z,BU$ɵI**FRk ,ӝBq@#恋IiR9j_F-^H 2әD U"y@L&_ pZ[}q~IX8SxzWe`7}w ?>Gm |uÑ%.z}=?dgfG1>{.>nuӱ2V겦WJ)AszN$e읡ŘGϓ𯔆bUmd"IjkK/[d*l!M< @y0ĶdN8\o$ci.r(10Dv 9AMx_PMHLG7LbW8Pr5!mmCh6hQ&31-#>n6fGIߘ|˝Ᾱۿx#@>d=DIo,eCϝOχw'(Hg:;ƅN/#DYfika}ǯe}M#yvXDIEQf*Q-Ӳ;`{D 6j{A:A65՞ȫkjQZO%֧K椵 \pU!I A2(YK/.h$;"$f?ce$D4_l]\D^z.H?.FI+T<$,߹βHQ?y@XdTboEy>WAI#.̣bcBSa&$(YWd<hq߯Zi\[iOy נyZFNJ/W:7uHǑR4ˆbϑ3&(0g#B$n_].Mw4El1@(`AwuRvS,E n+&]F ]t_3:z1E.>1S4?<~dnLT K7R̘vudMZuجڴF?ï(hm_C&R)X=e}XuQ}L1/3NJ$Ci _Jfؼ!l`PF|o~qp61,Xt V^|aܝ>&!®1 oq!r*2NƷ 24 93Lu# C^=/FT<ȚopIK2MeҢ϶\3yGIT׳jI<@@ՇQe}mqq^D0ծ`{QBX z(Rx_ekw;sęS\(42(C_Eu\yp[~K 6»PdĽ@BSFDG>`ڲv~) 'pr6Ko螈8y3yY~G11x4o8#j('Uk/ۀ2&H,lw cFJ9CAN>Vb܋A-"A&*bu_MT{EyhN&[I'mT!AGN"E]~(E}Y!5+dƔw;qVv ! ;=@p W@!o*sB 0l%9]'6u;!ѱsBu.ʺq2mk_9c!Ӟݠ*F"(|"Ca t(/&q9&/LJ}<]bsﯣV塴9!#1䪤Eef]Oޤ7Y@]5쯸Uy"fhTr̪53FPMO쯵wn/u8G웤ۋ$竝/Pܧh+g?ll FF 5D(›2yR\Kl"¸ R`Dd6<e@h*Y `d.'\kd d~V+ 5|`z}TҴyu5hyX@6tؓ@6$M -?rY-c`g*ͽAJǥ%YXuj(N-=} {ׇw]N'-b*7r. .`X)~(x\BANhf< ~ s&ׁd),=;y & pP}a|ɷatHNX*[P:=cʌCX)74yaӶϡ/uYe|6šJt52k|Tڶak~i/. k~ ;f'Z"T8\(+`rۡlSEk2gk77fC L֐V$Jɯwկu;)ibB<|)u8ev_9|]n=~UL޸^CdsT'wd6ˇi?e+mEq  /Qܡ[r)).t.-N8=2%('\4oH0yc =jya83 518ᓴ Q;Wf2N1hZ(z[GPM€$C #8kH%ˤoer=0RW S3쉴O:>I8zv r~[!%T"{[ٟu~AR;`gY+Dm5{8J!Y% ׄ;0!@QZuN[\3# Qy)_(Ϩٟ.wDy$a%OoHAVr)Yss˕ϯn./l K5㖒M%`b @Y<;'bDCVF.;u7Bb6m`|qf1lz>\".z<@cAZF,zZ|%<%\߰U̜,ZbMd@{7Alr׿yh)i('"ezAIaP|:^,6Q!4hc3+I(in2 5G= *Aٍe3}}T ]>[u7M"H 4DJ7nT =wϳCn30g?xߴo3[( )ń[O2&q.\ex!:zHSzc@@Fj]ʺJHl  X$cfװƚI[bִtU?\K cFWhIyoNfM*ndqMGyehѸ*C%+Vr/B *֝%v|$jo:٥'ry㗺v[׬1 &1"Lծ{tL7S7s'N OcTCy؏&K|$f%k]%i/c6{^k/[ F'\Z;=BU*-7:3DZT6lj0%a~fd` .$'J++Jb GLH'D[  EwsSMQ6HF|1f,4O#:*i^YT.: '.%^k+KkWPrswlstz Ɛj*&hh⊃ie& , RTJFfrNoϑ]/5/ʵ%uncY5\'gʃ_i{N/)$NַTye68XcPs0NzWu#,afYet X^m :(xv~܏L S);&!{WA"]k-" O*7M>_;)HScWT "货Ohbpn ǑcTe͐(& \ڪ ԉة΢k?I߂xͤ#nT p9# 4{?6fT׭Oy[~'/iK_xX Ur{ɧkѢt,,Vq CbW(HMyTb rP0t=Y`l'#f=r9:Te|nu px=IbS\LVy)%1鲹YjX}$mpU_+8%," BYYAxj>e",oR>WH[pYK0#,@]ΈҐDꮔB/'vET)"\ۇcj$}\#7\ЛLtZa5QB+ŝW@ X7홷L~MbJXN-jP*AK-5ܮȫ5/4 G_kCEeҴh:ZCVݺ3.f05~F]S9x( `i4+ǁfuͦkt /ҤAʵdu eoGRip_v{:XUh,&vfê}<&{f m-eMniTA9)0iXU&n&=;̕ңWS\)w|*45P)IJofܟO[_޷0Un5Sb[vQlBejF[='>u^\u~Ec :EEE"d[ud$,~_rf&6$ SV%d %Ƞ. ͠ UIVC-d-vo\1uh,m^COw^\ÙTl{t}M=w+7Da ߖ`qQr5,Lk 3 m>V9g ?f qVe_$Xdo'\2|=,_EK(ZD@rm %~][T^{~]x :vld4 KZ3{G] Iqڒ/7GM loe$ nhWJM83؞:.h=_fwK>py?{/ ~sK{Y E9Ç#54ljR3Fg G&Rp_9Е,C_of:sS+MvuREJF8u5LM[[\g=4[$UҴ}9VPe8E,DUu#v\+D KqSX)0jK'ɵYư(ulwWq sIj}YIWcB38HnG2$X{\8u0D'&xb? D#{G1l#֞&X"Su~x~V2,.[f/ո ^ĘSdyX(ƽv1D9 pCXR[5OoP"I^-GmȽgJ`IYPQxu*BI0t}Y ~kbkll(fj2 wwKTʐv}XN3ay.ܞaKNȎ0Xu8vӄcu+5f*kmH^jtqk}nY8$H@9 YRQތ;0Ʀ:BԞf &RxJ5'l0ɇ Д:K[KH՟O>$P T)DTDB\NlGdcB6K3 ir# LJlL|Dhz lp=?2b2ܱyUWqlgm4)u<{ٹ 2ʣABMd߁qn;d5o4-/a଱n*24 P1t~iq=d^&Wş=xqԖp)=s9a<ѴT`a0Cx]=S/w+N6\잯3ׯw8M)9̠utFK~y-03bA"!u`aA؁w3a`ey;p%$$N}I $M ےfxXys!UL%K_'8.drxL^bjVTY[fߌJEgKx$(!TM:LΗߚ%KQJ)³"RYʕZAX[aDRkmuÝgk0ƢrYʥ ˷ ZO*-T鋝/k)!.qvfIAq6ݶop`2Xp';unsϭvStZ{{wQG PǯUR?{yapSj ~ᣚuLӜV1q* DUl}CqeSVr<[3;OC'p^Qc]?L'ZE-^qt^ŰTljwFdz9`@+RLS@`CЯm3~\<9nm':M;=#xVYBx.H;/3b`[((&C?R/_L_0HD _DKʗsyc"ge,G8D0f6:9=$?HA7 fliZv噘9(OhU D8kVBUs9iUg5Ib9 zP`_UFGou{%U҈нl>%rZ5qN%ݺbJ66$Zo@ Hfbu8^1کFtVj 6~Y"o];E W[ R>GyqaN?bȜ5$Rdи@|f2gݚ`bx°P2 EYawg>[v>\zz6O8VaM+7m)T8*2 ; 4x3l~:$%}8RX k-yt qe"c=8~tٕs &;mZy{Z;JEe ]r0쭮CWIVPi7P| z>/#%o6X;$[w# o<`X\ZN?Pl)8e0ch}˾R>w$Oi$%EY/= 9JXIipRcuF<ͿN'H8s1la+ZİP%Z7?ɞ(F16aENLjmѓlvߍM%4$(߮:.% fR ze+;evGV Մq>y])϶JmZ_ѥɿ4=[V?X|΅ TlVj ֮^e>enߍy= Zy[p=Y8;J,l _3=!Rҏ6#M5zM!@"qmR}='3%ا'T?;8\Xg?+ZJ?U˽_6{b T[(f~ΐ>! vwyErxsOZ`t=jLD6~:{;rL?91 ձ[\(d"v#NA<Ԃ<ʨl<3/5pO;Y `G^㏇ C.B*+!jGՕ CeFaggv"2|5]QvA]^XslYY˸VЫih&l220o9h%unHu0qHtnWT*^tݯLNbN^΃(^א*۴^1W-~D"#U0W.r,3⒒0"fwY[Yr`A(8ٕdR}">_e|Pb%~IrD(ׁ\LKFh&<0; BbvĤH>ԼӘT48fqY"i^o7)v7/ߥK߯#M2hҲXB_XE(an6,4So$ eL*\Q`oIr$,Mu,ݐGOVVo~L:+mxaYr#sngĝznz`|j<}󅏭^:fj Z ϥ\5YY:ū1,'U\pwqۆy>? $7m7 XY'VcWq|^şxSUSx6[ ~//On(Yz!zqpk~f/{!|:|X$rvÙX&pyiҀ0m)`X~~{Mk"𜍙7׏Nd %*E~0xjShgpAdJ[n8i(>.=( W/iscv߳mQ4VROڬFf ;}ڲ"7GU.݂ Lِ v}"A`Y|I.ލRS'd0%o e|P7$Ywj}т H;#~'ݲtmɛ~Q/ c'e%E~ɖ \g K |1s&z}!h?̚J#8+QXfRR4b֙c]#OE7;[_Z6}!.)/j& +FV_*Dk4ADru dI"u^^{$g|wê~JYJ"7<+/cƇ'|;OU&>>Yaۀs!UW,S:wE}_2rQ EP&#SՐ_^.bۋ~BR14[$:xE$,B)6۲QV[:܆E,h$mJvmpLS"@Lp6(k5q * l׺$A?H2oYݻ9 I)2 HY sPUֈ3E9|)"hU'8[bD òtZȮ3YgZ|M8NC^2OG)sBH b;a[%Y)ي X%"+g@&IUu.$'ە- Ѩә[bw'|_ňu$y_<Dlu8)L)?([M{Fzm^X鲾5"pQy.F×% ޗeIx€{F\:~CTl7-Kv}$&,[M#_W,i?m ~pT̩VM ~_&IZTs^_]ELxn7)Z OzN@IIãCY4,p;RO2m ~s[sy_~ꅕ̦kda|_nɳ0v?Zd*IANheiLwv[ K;axjWVM[]1^CS!21/Za l?[ 5-Wj>l ]#2Ew St&;*POn$<-k1U%`aJ2"C#w]t(*٢3dXʍ!.L>/p-(xپ-xsg?4eƷc ~րs9J].^Os#)C6p󬘜G'YDɝQ[(LWB|s,͗f7Io20?pP|?ݲN=ju&$id:8u:ڶvS2^¯ͯsLV1(=m Gbk"&ӥ6|A {3>z^DMwØ@52]緅}ޖK~HY{u˩E17(قCNLސ=0R̈*8\ %(,mmYI|:ʟ ;lsiI"*'4D𴡜 |==vb>v.'=`LA3Q{ɥ:a`ʌ-|іJkLry"kǯB8訅_\LZ^'^ 1F}Q @ uo/ cvŷY0\XuC#G^@BØꏓm-NpDGxٞP$&ay3[b; ]PEM~$BX()&e\IKdJI6ZVǴ)i5@TՀo E=cë_Ig?1`mXB%u0A,Z ]SD[K;s@'>-ڸSǫ(/NtMsA]@I'5S!PI"@[ xrĬ ºIɤk攒+.nԁzD3$vLKjw5MѻY݋2sZ&/P3&cF?to]΃pM8:TN#+ol[ ^\R.#rxVEXϭmʹg94Ҭ;<5nn5ĎS"N̞7`15ݡ' DžNG1_^$7̎Θm"UHH.J /K8j"VŹu$m∳F~T3WVY?k<sd\[m-LͤqbѨ -1JZ[ Vi :oQmZwK?7⪇#h]:]vs!s؏&ڀwR?, ֎R#<fHLk&w>;X#\D0(#فr69"yݟ!RI.U~G@z5Ee6=ZakTo>M=K =Gc34SCπ:5B[&{ OV-bVpӮ9'_ kqi»At|C{;-(FdU{l0I5}ashhfԢ]?Vk`ҼGC0awQnA}zd4~x7fPiprg*>za04W!w:HcNjeR~CYrd>EP<6)D~VBRaK9,~WFdhUNrR"AS 4!+>@[wKK_ٖ?0Œlu^9S>-w^wCh +tYI6F[ϟ}'`S0*EsO=9|:yӀŸ K ɠ0ed =@ m3 \f_W;pv>?jwkӗ>vD `̬Ğu:~CaK&%rs9߮~ݲ mf7 xjc\Ur Ќ` *oT9E HU Hq2> tձ[wVrA#Ukyg 'zd|F^(*QB!9h%ɴ۱obƒ(k.IgPViX mȳƟt2l"8Sɸe*gQErE1Ƶ6l~c8Z3LN(Dλ엹Sil/g(x$EufS05)4&c^#%r>~ WEyn?DkYyM-yIjЄ2̅v$䄾/yR ߇X|7nxC׃KjkYi8^8~ 7 <<1tGd`e߹_7W#FraԂkD8bP{5'7Ї+PTPsNG:t+τ?Xl4TN?9{8TT%pl oBxIGޖS&9dS_¾+nI-ld 5㼻zSMp򓬳3":غXcl$\VȿBCS6ߠ9{1>l!eH^Tc'N*p}gG Veپ%eM Ur D->Lv/i9FH>CI*\eDv:]Kj$ N\=%ڑ2զZB2^C4:yO$v-vbzub+}()]x|2a\AQNϷMxsQrr3:~q DK ?6n+*zn;)V{ȼjH;Кb=GLi1z0|1pEOSR6WHE"?9B(5Gb \Z' P,6A'PZ"i^V_K]Y䪉5~'|jJ'פ<3X4C I1,nG!);8ۻY n'! MbĹs1[}1Nr?JWowMoveGJPwҘrE#z3 WLȐ Fݲ\jْh{&[+ÌIt&e?ޘ߿!.p3vWc5d};Kryd,c=Vu00PP=qԤ\+s.n16dҗ  L1E12 6m 3hJrߓ{0t&tهn=$ n1y|.5pd/ !Zi qs d2aX^<}O7߮G£Jax2){Kp\)!]k'hC>.y!Q/Ue5ٙeL?HO8rKH'3Ml¨M1!E?ļm@RcV/gWgQlytQ-\&$WzՈa(-&16x|1Lgߘ\r6-]r08B35wJUXKhv?%aTS=,li,^9IJYApJ#Qz:VJZ55S. $0?2Lf/V/BjHz98#h5-gwJ}U񸺨3q,ns3,df?LSiucH O:;:*{&3ׅ7SUO[&M)"3.Hy:# S_b珀SUvQNT 3zbGgŒCm F܉#^V!L' M:SǖtaV!FG+W.[5K*8ϹB__h}f*[B0t . JW*PϡA8oTŹ!R}cFřwޱ8w_λ>rmP5BO$Ե{̝ϣR88fl'\ho<>2HLV76TRW!6#I󱗅ɗE4(3}YrND].C—_ǥ5Likіàre)53hd%lۨuT/_Y/PyZ !P,wp&ύF_GZk輰㎠ՋGa|OByr3äkUY"TƗmg֜ig,~n̋ %E)Dp'{y8 6[/v e94v7]1-*+sn7k #})ciО۬EJ0/l<#9ٷ!3lnx{vt?)7&d>}m&>ϙHVΙH_^2b^1 NY?nPzOLxL2byg""-Uo]*] ˨0>uJ؍i."ܩ^X&gǞEA:rVt 0EƖrryZߤ I ٪[^s?- Ca"D?SYj44gR(y$b;& &Q*z+_-@vt!n1O UCrmG(]t^,1Cwzy[;!I,8b4yLys)˷%9s$EMsM9 o'9&*.{ ?ejc?/rL]lR*/kO9SDk<=v|vqeIk3 {]';Tl2RaܜLICpoY26:'NYvd(H㛰=a`<.2ݿ;!+ U;&g!~Y6et6`##lj_C0Y-Nd[?dD>n\}Eq!- 'bYt9KEÐ2/l6OyY ,Ă+>LNG<ϲ\sUTdH Z숯K(M" l#ʎvH\ mPdLTV~7ۀko>w<WDZz,;%ԩkW{N(Ei ugq718-<{ *`╨(AFkdPq'm=G2J$z fq{ o[!Tmn’`d-aү Ws&Ig C*e-Zᥙ&ӈ\?KTK*B9ҙ.mq;oVy7 QH[Hh쌫bٮrI|R;jy =rT+/ִ*e+~a2|v#N/:`HJ9&0o\o?u)~ y80s94" &Ʊ^ps|q ~蘒tzĒA-cC3}×hg7uKw "8exiv8}\^aY<"|/v>ŀT?D]A4#ڂmMR>čuB):_CPChe(>"Kzrq| 'i7&W9c4}݆[L'g0pPop3v9;yu/ i[PEʑ ]X[ÒV |  t,kI拪pfJ50 NHH~}6l2_ۄv'hvf̸ӛj\Nݢ3;B % F1KK /Q9\VATarS0؂I!.B94C.K3K?ۖHbȨ'j;67 >VtB $1q PWg)vꨑ6<8?\;ڑ7,G$YU=|ӄOM͎;"A97$ziCfvEw=?d .?scO8_tg?kJ/r ]:&}@⧑13T[24.XvG8bֳk$F~I nj0Z7)7i=udDD Ȭ ~N#WP KҺ6{fEo+N[[ l(@\vKjn]j9'F[>{ WUB8L+Xۏ\ P)O,>WzBZ1dF]}- p2\0fǬـ8vtr)Fb"Su;|s}AFw;Fi#*?:vsytL^ylї!}J&шL^]3 |:`gJ)=mq%A6/ecQk ;R/5ȊX]9P\@dK>t '?۞pGέ.}ry_#%@hk4Ԗiv.ήը5I*BR%5V뢛8xw.?D)<˸GR^pͥ猪\WGfV8*qC9l/_$ta_~aS+E)k|/a7 UJ.ωO//74|4j|rRg dQ &!+'%$N>04$&K\{ΧMz60HFa͏d_]#̳uy+>QH%=4glfpWO_c1{2|X)Xe@:~P@W"H H|B82Hr@OS1,Nb(a|$/(0l?\CO,d24Vk˗es[mNSҪ`/MͿ մ:EYW~QIܔP̠KI6FeV+82%oG  q4%U:O02<)&o+Kj(/iDqIEU'}vH5ig^ GdiNȪt>VY}-^۱HØo DלEm'1JDn5>0~˹/)8^k >7 3_=\^rO30ePY,9ΰVWſlMvss2G:+ |S>'~@x牧Pw  !Esd۩3QD>>VZbm"HL= ~GЀ͗}Rh IJBMR`Xbb$ƀ<:b%N~A2SC" RtgƣFç>)=ǑB! ]Pa5U(jQɨۊng %n r @!Qد[.:=Fb\CQsQ%VLJؘ 9Y3NrIeTWz)_9G9ӟekU8}pPB-|/qrd4yKC*?y;GJefos337޸_F-scL) 1Ƅ JX(K(˳ϮfoOi^AC|JdF3 _X 5wfD賆oJYa|vb4(B~(#v4$~ V)(_buOO}[kqRh'8a<[Xvv,Iβ l\d7PꜦxj#RO@7>LFx-tN-Ř:eydC=r%xp1Y1٦]*XQ|W*o}{9zв: (7 ]WGi d3Œ^E= NBJED%F(r(ss Ơτo/<*73y۷[-VKH%!1YeTp \1!IT+NyH)`8 Zj[=o;{i4E?$Y[}={}{]z'B@ia$ rFw!@f \%DQe>BJW͒[57*ΆI+-^q!;- l84zU|X>y !"8]r1o giD liZ1׍3󜘋(]=DH.\QʕI҈ճl )˒VҚýuΟ;jpȭמgoJK6xJ[?ec}]G|??Q42*9͝!۔Y|;%C~G}YYa$*5!Dž)DcKK 4ZiH)qBtFQĉ!ҒD$~Q=l!$b*kg9A(IM,t\@i]+@U9ʲ|+KSY Rh8^~^}8Q^1p_!L(rA=Ax~ɧ9,.pɨ$jz\%ohZHositg:ܣarΣfwH"x4`}}+!;|=O_|i+=ibFQMkogSygX\\l4[',:po 9 zge*隈߇yw>Cnt-)|OP2ns"wҹag6ha@8> zW_ /&+J @CB0pkpԒ2"2T(B*)$mspVxlت?B 4/LG x4q>  Lgw^)y^0(7:W4`Mq !Ql2 Rt) 7(ImZ;'54ykzO Vg0mqx l SUuAZ=go*EΣo{I||GsAhOSOph1fp> lOђi ꡧx_}XW+AڒX)"xKB 1>@E11^r)j2ψML@|R\V(&gi2k!f!ѦnLLpGpd47+>[Pՠ CY􈒻60f7j<1jJ6[7-oӒ| ;;dÊ1.2^FdsbVk^@k1 @$RkD l9S" R፮ZJ 4^5Eƺ4iRhgF/C=hQQBB<en^WC Ϸ񶪛1wqZ_XT-tG!|//"7ȗ+ L>&b*︠/aʌJI 2-s2Lm&)={ d4*m:$loݥ vG>dbs0B(APdBemD9?ͅ%VGP6_c:Hcc>{ѨhWsc+2{'"V[ZCd2!DFDu!ND0*(|Q#0JJ3 T4H AC,kFhkr30S{OQd9LDQ00LqXƃi^Xp.b"y5F՞ 0q|C4Bƴ{T2ÏA|aeɕGB~W& )x3>҆t:Mr yLWɂHw8"-&Y`{4_}""We47oݤ)gvƈ nwd?sl^fk{osʗKlRM;~'z{/"Kp EMƓ xҟ~}'i֯-s/cG)#idt#:MÈ".;ISĈK$i0]'3ɇ鈸w}oћK:8!? .Q#֮%1 c*nn쓗CZI`4Yq`2P,\NYRnGD MD:]e-qק`)mT$I'\U!MmE1fD6W3@kJ$)DS`!HRd _mCIw7FRV,Y#ISwH)@J%kJ2YT"ȋ +eNRh(e$cC8 !G^dVڦ`o1{[/0"X<}Sz=/D2W,DbHVRҞ'Sƙ6naG!D-srS*e0)xᕫ!Xlh{ko?HC0N'bBIQfXR8M#Bs? /sI th5,#|D#K?S=;HqBY( HҔ812gxog)>D 8rMrƈϯ5ڸLrqaQ!`Iwآ4o+/|{[N]d:Ϡgni.UC//s84%E!!ɷҸʂ4PpX``TaF[|!4 !cDmcѢY`uE>ȆDU.GVZ$1q+8 *),+Uf<RBAW&xsxҊΰ:S 1&%aNW$HNQ Cק=Ai+v&)98,F"YmYzy[v'҂6զ608C}7>G[ BDyRBX`{=TrĠɊ卝m-5UY7uJD@l:KT`m"#lA*F&Sx b}NDLcyl\h5П86Q5emwɀ*V81]V4'Q.oa2|[##!sdV1. 6z)}o} Hxwr w|=e~CWo|6Gc,-pk/ 'VJa1]4j o)\ۂ<x.Bt)F;|LđxRzy1?%VW(?̿F1/ Y~3si\R~S Gu,6Bs/Ї-> Y![d%?!K"%X?|ɟ[OO?\h5M#薒X wpOz&rYLYiE nܾ. '"ݨhL-yo}c̙_LŅFMIOYN4 ۛbi:g/|/..wU qCfȚDG4I4e}cNϝ cn\GEƎ8G3#TǤvO?kobnrl7=+wnF)t/2ܿpM&38 clĝ{ttt_Gǣ Y^bKKYUXklYMiJF-5vF EUPSV FZ>8T$IPDT%Z VO'zϤDڐwc4|?!Tv`gB[bGHr `5 bT"ݘaoy/nO ͍;4{"kק JJQu)@$Az$i贺IBd 6&A|ԂbVJk8A#xoMbY҈cw $B`8Ǎ1*^!M"`]Em/h W@ T#"d͜ W4Mi͵Q:A*Ml@.x 6.1x=~sTcv7J9`8'`{&^"[,a*<~?y-.>pwa+mJΚݜ'NdŘ(i MBٮApGkSh)D` (ꛍYC)d}"h\Vݬ' 5*z2Jh]j#P,-z!e)~%yZm8cgwPR_XEYI՚G5RBeSq8*i374p#oG g3<9N͏?-ؼ(+VNh$$VHJDhUVq}g3 8OUMɏeÜq`t#ewB*IUY_еXWWHF)RslVoZNWVǕ\(.G&qĖ1^aT8},R}v[9>@w$ޕh\RRh̑ HS4&='IJt  2i1*88pEHc| L .f;]MA(#^ŋ3|P^P}΋-ǷS80(HFC%<Ok7/bZGł CE>hLF;:m&o s-Գ$mn[Z=/tG!H:Fh cslJhbSyT1;6x W#_B@!&-7Cf 4ɘqYXDΗ{#A/ڨF5j-`L(QECMd(i !Ost 4G!HO;DqMnx|e: A>MUd zj'h74')G!]hzn"qQ1ū+=u,r>K/n+K4)>f9ڝ c[la&9(Q  gN#E]6֮31ml$ V݇`}wqczUɱGqR umHieIY8 IN6($n]$6QD=*r!)B]*5. BUH@HADIA3 HLs$m""R^oyBzm{9뱑[!8+*W"e=reA10iB<$nFd0$fpc{kL8Ƌw5nr[o K.g 6"Rp6gmoрqv2M N3'jޏ$wGWY9{Ic+h,Ɋ[_ĤF?efEܨ;TޑvM={b&/0\=[ởz'A<=HqBj%KZ&&Hm.Aj)c{$Q!fo}KA,e!x BHuRAL H̩yLb~<5Z q!}NKŜ\Yi:`r*rnoAE1eX8{(egOvU] ƐGĝ[ػƆܿb+qpgP9^#+*WE*Ah1L 4 Lffh^mzD)@P; קf7K-[X_#F1*j/\) [3gz{|u}]ֆU#D@H?YxDZPNHq_BY5Y|&IB,XyPL=iܨq]$a4`J BOBHpGm̃,;ݵgg4] laqAXb'(P9)@ !N1`*0Tc"0m /X5fF}.gi$Ug;5ݧ{{ϻ<hD<^XyR` r"O)g>Ib:R"D L4!Rk3m!TQ"4M"GOѣ6L fs(kb̈́Ǟij o:dxѐ"UЄ0&GȊ} SC)+n|6ր¢`24`GyOpߦ5YkŬ>Q$IBcvkTmo<քd _:D_z;] XEDcf' _B" QH BHiQOU2AHAc\)4B)M8=|"ٸ,t*"45(-hmw{pΣDFR'&$ ]t { :oVg=A:ZFfȨYGb&-c$hgI*W D2x麧:pE] C*$Δ˻Ծa͟){V{봘L81xUaqdB_'ZEE'w_L]7dJS7;`sE \%Ӄ#C &+zFGC^w^/oy?E[^E+5;ðCUhgԍdT-i1.-hŸٵJ2ʪDɄZDD Z% `אrAhi8yX$#nMRq>$*Y"6 y1Ơ¡v~_ qIDATCa8֊8KGHՆq2W~gO_L?%ޫ8A@hJ+Bq*(5Hsx<(1qY4LMG!^HJdPThϻf!5Z>s8LrcYS!8rJE B< gj 7~ [Ldy"^:S)60'>={(+y[?{Z-꬜ZI>ɏ Em: cc[;]{(g <wpB(t"|MǤ[tB%4M0$ޡHMEE$HeB(F;}L N+woyZiJ~;칳f406cy>u/q㬎7rU:G쉞 1W1w_ ϯڷärr?༛&"g!'A(qt[i Ov";R`Ӭ~'O3ܩ妛̡r*!%fjM N]Q”`A\޸V񟛛Tf60ΐ%JL;g %rV"Պab"IH7͑mIUh_2A5mYc< d7ď~kL ])kcOAE9١1獌0'LcL9*RhMVilL uEg%c)T 0tM4x#{G -g!H)P7A4˹KbB@*xgR /A!zssrijHqh E;Gk 8Զzw 5Nbw2wǧy{R@cPeIc*:A gkv<`\EZ:'3i'DHcLw&n8 ȦA,Sdh!SU`lAb&6c%GO|''}իFl \\HMz<ٓHF:&6\%xO8|Fӌ60GЋ;4IÅEg%T:! )w5"+e+|pe1u$,\HVS<]QB Uo.xX7Mh^`ǚ3D;;%D@iMD5uęF$ik:_#u B@_}!Bo'odqV'+m!"wb2ܢ2kؿAHH}Jvɒ-%\D7QhPjoRd x&MV66X_@]J4!)y4 $Zwv[6غFuB,r%}/#}vxnEҙgM9b`R4O!/X+6h`ʧ}$dᨹ.?,!\MUTr*=!eBJ!2X9GUMLNR$+/=!@৥d B"B yrU-Dc8sajR3.K=LVd ^<;h5{gt;x[d;P G9(%%mNn,zifi^$%xO|^;~7GiK-EZ1&NM%ϓ}AXƜ9pPWp!ńX0!T X$mdr]{+yca!᾿\ yN>ſ7qalO!֯fn>R@P&>eCIkɫ}2ϳkͫ^jtWtJҽ"3|l9Z$C) 2N g%qԎq W5q18O@FMݏ h Uk{ab}N@Vdwq2[|dI5:H Q̮E"6a03S#TP2Pis) GXQ:إCH\+!nyk׽8gs{;﹗SO-iev .P.P !GOPZPhU\IbA%A &*!$tA]">kwq SҢM IDKp! o9=\,=EBڿ4&MSsxqKkd~!:[Prg1%A34.xK^r+ӌG{Ny?ìB JVFɴ9Khދ=$i?8rC( !0 $Aʄ ^D#Nа }Wk 5m1H%IZ]c!DgY0 -RaGT֊dB^&X|/?|w+ O,ljh'6Hn I _|s%- /.?ìB ι(-Tu#˃*zubB!&QԘ0*b "Yh$J!B$$BQ65lY`i^.*a)>YLR UdrdMPZQL[):{α9\aia?&Y3jKrf݋-6r }=7)>OCh7½ӟ#``K~7_Oo殻^d3\stT|:] zi fmZ9f2ܠ!"mKצ'm^o4 ߣh嘱'3.qMMeHCJ^`!ԥs̝Z_u/ԙ3,uq8yf+oo?^n9~m>z9B?×ABb! 'CWH˔;$9-dtTB@"P:1fuT4O] j8Q41 iU5'[\t,i"06ZpuLRI.PU $t[;cC9Y!L`E9{)q!U1d~k}elu^;ȑCx+/l o_M,lMvhZQ/p2deI(`qa~s BN Z P $2hd4$h:{ k5%EO;Ҍ!0"IH(XXfx(O{_y ဝ!=֖G}!p1Sg.qqkBg~oza}Goc8d\roVXؾ9ʚYhbΎ>E 3\ !4>xǨjFPw3)lr@p# IRJ+w(q 2\Y4AD9h8zIF{uGc yRmi@YWX(mTyAj4c*3yr<5I nji*`N?C3n |x8"L.rk_˫{,2… ݻ-Uz^Fam\a@fv2⡧/$)Yh<$QTk-RZΐ `a""~q5,j9Qqꜗ,$2M4'nb}а|^9Atakyҍֹa8_uˋZ?w::ȍVWX]?K5ZE+C=y(R%vN__B'W|gCN%*"xG4_+ra}@  GOV tNhkI8Vd bk S1sOB+^~/_=`Exsz]mo/1}h4"MS Uo-r])|DF<6j! YQ;iBΘp =w}{XG*dgH[*1 :[[kJdT8cE4(RxR-1xԶS'4OY RxyA]7l6yH&"bLC'3 <|#46{a%w&ǯ)!^;t[d|}/X *#i-0j HP$؆AEjQT$ 'HnXqI-`-b<3l1^`"ϰcD=a2ޡ4釸ȋrN 0X '$h;kTA.Ґ'5K*$ݜ y|Sll^t2EݦPrH*Ν[=_sOԛXMՔW}YB (2i#2L!喏Ĵ !,)Zkʰ>~Xې&yRP#|o!n8oȲZ+jSZDcuMgZ.Jp)MJ!9$xP TO[?oҔoo`{p`jш{{ j]8̓?׿i4 YׄZ-!~ɲXj.dVIlH eֶ&T5RxI&&@(O>zc_ك?ʚΞc<[do{;~g=O:G9z0!!Òs|bt'i1O2;RZ.930 45 hp>{GÄu|oͿzk[7OwF[(r<n eRjj"yxdaݼ۷xxgw}Zs?Rk<8<`cS=YgaYBXk9;8J%w"elT?|<[_B'-tox<<$Yu;Lg;0,!|9 @U۩e0u<ϩ i,ɲ !۸p`M,Kdr%d!Dev􆈞xjLnqc.0R{nA4 rv8 %t;"zGzJefsU$$yfse4ὧ<fag=syٝafq^~ufaf>1af ٝafdIENDB`P"} XWa0)x}TQ.:$4'4X}pwlwgp2wwz{^==ݽ];HAN )f'EznNR J\֦$+yy3!6mBBG{M3S.))dDZi[00S'UNs#kO\*b,\{3bBY163#[# jƈv3*gI)d100_.QZh8ؘ:51GgcW gso @L $8XpQ\bsTXc1d=X{3.M']瘖$->@E={J~_ ,6IetRH{zau=S0H`IM僬(ذIk'IIg8& TR*% h&G\:+$J )0%%̧b~p@IFzokvG^nӣV׫ rf%#32h@8~=Diב RpHhhu]|xXzq0w4a;CXJV2TKIgt! {mmmfN/P[ǀ`-\@FI&$;:xZVSð8՝}䷚* 3`"J  CiuX_$a` WkaP\_mr9\p%,s|I7ݽBXXX}Zk7{2fC`vïRjԍcgw4??!@_.aw}qq\ `4K䚘߾Ps\]SipJ8)mmm;;;u]c>8c^ c@~+]Ve+nֲkܦqj7fv/=pҗEA* N/Ejf"J"A`C.'N2əXW dhݔ&''zc_##'/ε 89ap0X`m-0kk׷Op@C-L<:\c:SHT6#)K*̸46ΌZ 6QQM+111=FbNN"'7FB(^JGyyyN}fB*ӡ2iDɩ)Nyvѷ_|0B}6qo@^^8AHζ!KsME\?ItHtXa):@Ԓu](}@ymoB<Lzw)T=ĠGvE/ݾb|WlttSD*2kzKaTbsj>6䤌M@a;SKO&@9w j_ 0yI'} g>&}?U–J9 9Qž({ ךgQ|KC;'46\smw|Br⟪'H!b{ǩ m3N=MzoFVc8)A_ͺ՘|9>|WΦ.lH<2  *3ʟV.lv~^/8' I:ؗQz>q-?( Lv^سkc>l9b=W{#׿a5Bi,;|/7+w<9-*~QnP ōgRpGͩBVZ VH,uG~A5Ju̠BT%.zNrMN##r}gYW-k|d'A3di 싲*O->#Yw uIQO`7`?vtrr0oj߇2dbWzqƸa #iGyGzJ t#) fHo1Icl1j<TFW,z|(N_sJjy~N(cB 3DR&78*}.7"ih_K'ꗊsSo͵V8cXhߜ?wbx }pr]Q"ɏ/1hy1a ǣD+|?{/bHpơMKڦ J. */ǢL$X9MBébWfƤv3E$Xws8ʋ{NPh)k籵u{ꓨlJz{i13{!һzBvCDDD\*k u9yvQg3>rc\gwxWڛ~.T) 08zUlTG☗!r0?=ۛg6,y'DFfQ{9 ~-KRޞ0 Zu7Sg ?̨~sz`ϾlF]Y8U͕$4mIvjRX(S? |cy$v(k<@ ;f!NI; _ڔRӵLfb8S269 n? bYt73.[ޕk0Otyk@1 }8 8),ܱнXԊ=5N'd*+M] b_G^g>>3JښrkKucۄժb~`ʃr>U}! a\~}̧k]oӳg l? 8;ZĂ6jLشf:WƋg>ۀB?2OUu͵ǻzG[ soE1 3- GKX&eA.^6e`gks#N6É!2<Sb5d;ד=5_ݯʄ|#ҪnrZ=zƄm7{냄[M nhWUcqQY>![MG5W!:wLh "oD#nэI:0wjۿy((iV]K{74h]'A=Ƹ'eBtHmR *"?o⬫6^mloa1YuF-n}w:mMe(e`%iv?8+ c9\`{{k?J}y1ii9c0 }03q ~ZC}5Y}Auߩc; 儂PiZgFO1YYY E>زJ{0|%̉UԻka{ \;qT$#/cEPPTWug- j|fE$x22ggMP+GUFD-43"]QU*uBaFos O^~ iOd϶uHd]7Vg(2ny/Jc7-bU% >i,bѮ=;qbSSeAj:tJDi^ԛEߟL|raa;~[׻jZl )'&VVVMB_CssrζGߢssЙrL\\\krX@ hJ\ ЬE:mX$~=>Y @Qc}>T*zeD>Qǧ~>l>h1Zyl;?'XG|cP|`qLg<&:<0\8G5x6BFսa$[C=/+kn9H]&O°+G_Nʟ[-%xׁCWm{cZDLB<ϭ^5Ull6[=QDEj ^?%m)mueDs\ܸOQaZ*FMRd.>4'+jw~j:PAeL-(p*dfgg`;Y ! !^7; ˗#g{AqB5+^fLqE4)%,J:iWo 41Pz*O c6Wקjk}d*h9Lfme%3VvQqqz@@\o3Їq]3ҮFda1>'ߌ lknjGEI/Ytq?5l9#͘ЄȘ><gx\5kNOrXnzs?迆'WxT!|44Ko7 RFƪr䇷#"PR# tdU_Ba}yl|0?44yt4l0 -1? xCؘ)mVzi%5c;pdvQe{lYZ!<':+5m`nG[բF|$ڜ74\-fBeoþ܎ovj2bGov5;Pgv&v:.jXO3+T_#Y?#xu?M +_~8'/uD[C0jJɓbbb( mZdj!aVUvq{3!3Cĭ6l%JFKameOa9.+0M kg*9Kwt 6vHxF@N~GWĀ5$quxC]9첓ۮɯٱC#g+|@(/m9QM8Cc`Hp쓯J.] >y=]GOX<~&&d%@Mx& %n,a{ƑbqĨ\3ՔlR*8X@{i*u\~:kmt_%YUs?oM;NӬl]R-}JM):e-=Bi+2 J4bF"?!Ia1#-cܗEk%!$dzBO8BD0/oֲ 4͎N'Iɠ2ݯ=,b222JCna;?ۖ',,nigkt>)ao7$&ǐԱ UD٭_11p50#-+:Ca1F9,!, lfe̋DMɺ0Q")h8RxYSO\h­uys3@υ*qoWhUs(BהHdKB}ӉGsvB$T@@άnfars$8@ {7m,Tb,w\i꺓 ,ZTGT @@vNVi\ڋ,Qk$㯅#CǿU#e\ϡs?O^\@VPZ&׾Uri\uţ8Q~OÁ_/>m=9f}l/CY۝^mB" LRI_Lc^&~ j"ZBuR7l{!fLȫ^'ֵ4Z쟇olMe~< o0[b5HF!= (uvI$5^J#K^w'=ă&|8'ѹ =KdxW82C#k:fV ;ʷ#hcʧpd!I#*k'~}x;);"p;f0ix Io;,;>6ŝPnձՅ BG֚2mnHj-vYf-$va%X)C,Q<5J)P|C]z2tum%@@ZIo GE2F7C>9{V ~~aroů*v9}=h|97x[XBeߕUXVta>wW{S1ީa+VPt";jN'KUL+9Ghܩ@O[S?OsR@/+3xȼF+ᙠɩjň~۔A%%с@cіYP7 ٍ3N:%M?/meCؿ880١ջ"2&2/s5!0Ů ? >˂ekA8 T?`⬄8d<ۉF.Ũj;db=#11QM]`m䘚!1)bVJOA$E[J/;ܬ؏7 um 6}Y\0lKz˔7lt( F=Bx(  BՀz-Od?$)asVE՟/@^2clu\өݿ[o aS)3g_[{$Õ} flī''KѷQѬĨfF/5 &̝6YS=\㊚ <_*$%,u=t:5#TC}w6 PvBr5O4u-AU oRab3s!|5tL|{_y?n-i/4na!~iik$OTPeanuiOϑx5~zE0gz4K=D?o{5Pŀ%3PUWȆ뎛q!@5Ȋ׷z'B KZlI<ئa o:Ua ',qpDT/%Ƕ=QY' oИ'BC0j\x'S46U4$*2 */_f`5Q4 cFoRAs-)#+Uge_߈n7 DʲFň'z)Yp"f͟3(w>.,P#'%+RdJ4텥#,K#֦>/*}M\T*F;:ۇTs%^OVؤ<?I#c9wL]\.#TYwvH}j2Y!]EǐD%̗0Lr( ܖ9.%ͳ&̭xv?+/ezYAz=~"9Hn/z>>nF?~g 4=<.;y4g(w:ysƽKGeicZ/׋@2)IIi4ǝ>̰k i`M,_0]gdLn?K(<怾>!,уg{*$:sH\6 8b25K20`D`H};!PSG3IjIyeRsLOEϵqA _!a|~<*{۞b0тj4SfRu]RsvB.G@jS=UQc+ n6'$D$%C78 5(J:Nfq}σӄ/Qj1VTvP zB-cK9AVقx@h Y>?]HSK/5>lo/V{%+й;GDN9"c'N-:s ::yS`2%B'>8lI{>_!\g||UUfgavYIIAR pdon3G`b.'~ A|"{/e"yX}0KĤ(E+l~^O;Ec""WYNWUIIIq } 7{?v9M _A璔eNANm%8q=+[tcYq8ACPպauK &/SOf7v{#)">2E!ǧy_Kh -o9{ 7 bT:1xt!5A fpKaXUter{p,R o!7@KHIɎ7EpP/*R ͫ. IK-"#'vq?ˑuT;!3čwW:RZl?[z8ecя?T^|㗢בE3Vĭ`Pdh|cjzc71Ep 5cj|h;`QvLB2D] ]L 9{?(&?$F*)?&X Z^E:3-3,R&dW]MUHJ7&:[>nwU,Lp.RKfj%_hLxV}Nh~/8JOn{w4v[ qW!l-zcǶ+h5y 9R 6TyY =bw%uЪ N(n QYUc'6o=VH֜/,`3yNA璴[5iJ5[`"3hgqq _6a(k)S ))?n޾w%޼DaW:O 1/XAi߃w/kv;j)ʉGy!/%Uir~$=Ԍ"\o&ϐݢǪ==h Kʋ.5@)%E,(Ts@E8:FϔS͒8>Fv)/;So<)Uu\5{k_- ʹFmzmxevaGt'EdMͭNYRC=`]4(Į`9h܍852{qT&)}T!h܀7:|LU'z0=Y(*:)'9* 3KLC?ȝQՑW*AU)3vc^T˸HG쏯WQCf89,JZdO% NΖi-t`Pr,;B*,i{~Ru93-ywo?:^7*bSe+EWsIx=unkӆ 8ExIa+}Yc?n^٨;5["%{M:s' hUH(`B۾{} q 7-EWl؎'v|'N((l{ʜqAl|h;30@G¼O-Ɗs}wzJdD-Eh;ktH1ǮRϚ~7}F/(Ii%uX}7knG?+ZoLIY3bs"Z׌_(REDLXҘ|v8:~g)H3VHⳝL.P@ BjESt:Eh~[qbb$|79L0RG# u(laݪ쎰S{VV)V'H1$rBk9}#QW0X|dNSȸOe7ǂ+nŁ6 aqnxs7_TOj;L2R1`FZz?Sbpw| W:ټɛ"<VtCKܨ Jgdy*C7.}}[E~:AP(\Ζ*[ cX7߭2/__fKgkgqdI@6\un$3d:*æx~ E2Mo98ꬉKE%LyXpuݾ#64laxI2;3yT>RWy>bI&? MS0eZq V&5áLv80|V3xAqTPeJJW:a3 1bU@lP^BIчՙWϘns5-bUe %GW56l&䇗ɁIbieCt_\f@6| MȮG /iQQIsǍhƍZIL7>EfνG*iNׂG(Va vj'䨪s~&~$9)9uѫ04f=#{3pWWv6 [U0˻/70̻?u) d9[}4w;r|$hjlᲽ*zpE:(DD@V/ [DOy閣'_I!w[Sm|y zc$'!;[>]W$3I:a0*`2y-d0\8Jm\>h$xUng(+rzڐ|8[=xBC˩~8LYMo=-[ldK>6SwVĻ<f@ӤsnIsI<)8j#x䨍Dl&OD`pdvm.8O#+Q[ K=9K.Ǝ4%&do* )q\KgO[Ks[mxhaXY^A]_NCN2 l3q##h{$i;AH{o:oC&a*@h>dBvi'/noB?(3,Ytk#saѸ'wJ{)H=WTBg;NQRU,"@RZN* [Ni&Ud6XFebfhζT v1td|y#0v%F=;??U_ {b̉`cKO]=mibGB֘ l8 p+Iy>_ɦ2hx&)䰦ݶV Ե]B4Նi$჆2ɹ.?sۥM4<ʽf̛֤mwKfs9)6>i2jڣ =w4):}iFlMtTI"A y8>[p:o,fR93SmGͶ}Ya%'Q4cY) t̩ڿ}{dЅ7XOgfYaN["V]Og כG%d-3y~#A7=V \.E&Ȥ,-CE.}D{|?Nu9[߹lɅCDEM p"}7FO!T@uǓ'̖|ҳep伦\( $)7߻b_ҙΊ~wutt^H )\_A1YRm2ƇdШ".#E<;!8?7u d߫=˞sf " ~z6[Z|u|a{I~>6UQIjp?*lߍ]2v ߾~녪$ٖօt@KMJ!Ym3r%Gp|y[m*!V]΄FM0p \i|pB-BwOn)^/,Fy>Jkjsp-X[+H:0zݺsr7lh59⦱(^yخE 9zPRRx9nw%b+PUr19T+_BP[fB7zK ` K y!Nj &YK}; j5| gqm)\Bq|#?kkDj5C?osc% E:. t.g`Hj:!>쯗UUTPAz}J><(>-EſrZ__f=gp"=aK|ɬH1zɑ&xaorZ~2{jy=dhO8+\49'q~XfWOM*z36!'Ƕ\vyy/߇S-5ohUy>gx)ްSM/%:,lll =6KL탆`}MzEt7)K++l.`ؼ|f̼g*zBbbn5i-mYOHxɷ71G~29 #(γ/ wva>Wm]Ù_|qQ俕ݶϋZ_c_#\NqO:]4Op 9Wj'3WTͳ}zZەp]CFW1քD!Pu+ɩ*MG4&ol&09.F_6۠"6,[ .Ra-5 AcBS` xHI>a,?u@ڥAzujDYUjiMΊo;WQQMv9_RTU]rZՉT+ٿYg ddhXx-J]ƈIpֿsD<4;"C<l`k/kj'-ͥGYGgX !߼9;Rrb,4Nڧq_I{vdXT PZ}$S6x{ <3Z/TLaYщ |Z )=-^w1AOeI1Ƴ̱$%e$44lMB ;ޞǹ&~.\%^(7F[c<ŕq3NBv׎HD&;Y\N*y=~Qf;~~]dmMߏY  8㒭Zs+1XR-R~F?`\/5+fz"Fr&$?A%Q"gГ2ٕ^[`ΊDXFˀPs.6x0=ui*Twcv~Rwś+!cru?Oo%Р?`^~?U |kNCJNd&?4,ڐX "|U1*b β&Xj|bbH<)6) ˵jxLL`,+VsVtj}EQAz@8ZR~/XYVWD׸q`VQR,w1J͕w&FM2--<{J?_T<"$( ӌI,vԇǓJ^?(;QzII+!FDdojʝ^qECJ/ VT_f@LOb\7]3?D6}iBޜejQ&5`^/o(fphL.jl> /[Ү3{."7@F q12 k m;ͫw42wTƆ\I2W6ӻ x#j$~cC #G65L'bt>(YB]4P [[l@Br\ve!s9"ϒM Y 2P%D( qhǺ?+F1A%:DϛB D)H'jwuܶ/~sBL 0#:JNo%)̨?ܳ!Hw{ (h|](Z#-vƃʆ'-޶"қy@ڇw/> o:Q܉ކcD#ACBY1K%b IQCCRC{٦滍e2.ovޚLF2T ())5hXQ=66kz+>_yM! (*s,W 4(2քd*yոuF` _Q ROwK{gK(ra%L*x jL-^Hpylא!@fYDm Ff;n м@#I:2sȤEN |J֛j8F@QkKֵL(@ac>4MUgw:tN9ỽ[<|{Xm`2e4549)K"N{\r;6veZUs =CѾє r`dS!Qs_Uv,&|#QI/iqFf6:̚ADIFV<jqs9t5p3LJtͲ ~,,sGn3I>\8W$Πrg:AA<; A tY3FGTf~n6bꅁ=$s˝Ǔ,XP,_-~hfǺ \ТQKV_Pl!swR+g C{hEn= (55*j Otv4.aF3v=]=O˺ʀ0(R2yHluX(7WZ0brTx0^lPy4z ,["d㽶ayQ#fA$̶US-%Vg7B*50Fb`]q)$vZ)&*:긱ZL̸*鯶IQkcC󵼢"ʮ}ZB*͚]5"CDZNLh076X$J}=6>BxZXX`e+\7;5r*&wT>@YI[2.#T&)?GE5axgvZz3quPìW素kSn֥j8?<]TbQ:,*"D=ܷF*eͮm8BR'+3c3WhBkh J87 u7zS,;ΰ8OzJ)#s::*~SBK <МWO E2^>zs7Ш,Tܘ^F48$w?'ﮒ 5J-k/AF'5:q{NyPkd@TW)i(`Wݞ{;m՛&y66\|;ӥVgo 7o/ ӔV7}O\XnCPxϒh/$i>LD{4 WY}A+2O>1@>^rb -gPgt#of3C"gQt iIC+Qy3x={%FB 1C;7g|y)zÚY|S:D"-Anree]'!cɕ[Rw7ߙYmd8t ] љxWg7CHWJajN7= v5xzi(_ZAٶwYSN.kY+wkOtnMίX&(X$[[bp7)gH7Pnkq BjR]Rw|aDÐR˧@gO5ɉ`5P1a6AnQWѶֳ3i2B,u#8fw , EܿSeڣNulXbRBR[L1twl~u2}ʦN. jk#O#+fpF%4[MxF׹ER|_k})̳G(U)]4h+LqɈVbUtI9:6hR5QeĎ7xvua W[=f7ˤ+lJJaPpG?ɢ^d%cKZSϪ?i7A=SHqЀ]D(a.'+,?܂t\#1 z}W}y>U)䂑i!\v> =x,U (ܿ'rJh谌).P8 MiUpdC.y窍ǂjp"C׫`c 5FI|p 8(Î$`2{즲S!6qKV+)Rף?`E:' }Ļhj/@ Ѧv.4sc/Vkmsȋj ~%;!pvkw6Tdyåy.B)j8q?rmzY?N/(1xi 톬MCU39RjOFLP 9 K+_ySNfo Ō4иo ۵GYێ'BųsfɦZ D/ɫlģÅ('_[ֲiV)U$~~z&$V+:̟}I ˌqM|u{؜T!&(a $Jwp4d6 qt* |i]@mQ-J'Z@2}m?|:d 4?r}0~W}uENI\R-1I`;Z[^|OcxttKm52< 6Iy}MXF=L\Dv2 âNM)TE30JOaI$%n/*Q4JT R_pIoQ{%%pw6<]W\F!c!Z{KK^cŘzM p@{C7\m/I7{>s恏Nѵ?Jw"[/|?Ibo QMN.cokPGҕl;, EΓ}׌P|nP4R3h8eN ]+Ls}:q+MZN+h}q |~<\k57v7|J@J w1S&Z T)/"({:8a-ۗMzn$3D7Eڿ<\a0`F\^Ì鹕]H;H|qDtAV8?]Vp1_X| zm?;/<^S%$0x":ҸGhhݩ2&&7|v]˷PP,jHV=H" ד f>>5:1 ZX`|G/λξoJ(68 |ɾV\TھӼd~' \ϼSiO|g@n|;t/d P#w %q7<뮎h|qب$" e(2@ٸBBJo֢,{.̷s=gl 7a2K!G .Qi{掹A`tlaǛ(J4QϳgvrPd^W=,7fj\6&%t1A}Hj]tƖn)GXa.O̿y{Dlr"Ԙ͑,q.G6~ٕ岤alf4s6 |'b DWeí%۶GpppH^U|Crgd ۗ(A1:m~j}QA%̭m寊gbsJ*Wi2bXRIG7O =o`:et+ |]oK@li3i7C¯'SS{rU;quEHuܿe E ؄zt)N|t}R eUڏ_ZsM)٤'ė\+Ylƨxuо+iÉQ9Vix*<[q>7էl۫ ",z}nh\4f3. NgΤ+, !ob!w('PeYX+>ة̈́IW M.W0h'W?;eۖ"aۍT:.Hm]E(:3%/H`Vwcڅ2YbmOO~e9q$=kTV4iX}p׷I9xmj!tI?2:!%\ g㪼Ђw !Dagd'%%W>>%Ev[: ?~74Z/",K+)<1Gh,8~ udz(3EO3W?iL6ql?f1W>۟dl\'7>(x=!6gO,5yVtgQxF\NK|+ʔβe :>aу<(``! s4lٙ M/cYR7+#U5{b!a҂*h%&9h+c6ܳ+u:R?6KmߐT{zP.^ `؆&4vr;q doy 'W啁wxdM&ɉi#P:˛c'Enn ~} qtHݜ| }%]ظo!0GRl cg/nm%޻ΐ B:^w4ד\XO<|dPaH3y)"5Qb7Z|$71p%.1ls oW\y-l `E4!][Dr=ǛJp (0;:ѳ|1-|_xL6g(W(H-"ot˖Q{Z(CYp"K " NPrl\3"9 WTpݕW\- @A~(W}CkTJ ʱmJsI3Ux< Նv7.PC.=C@W{聅.Pbe,/hv@n?7ūliNR_ C?+GQ)kN GMD-8P3ɉ:RWMw'KS͕k,`-6;-r&Ì D9 /\ۙY~N}\,$HRsrup *\}"eLb:<#AP(7?Pxʑ'_/Xؘġ,A/T&+><\'=z[DJeς3yxo.@`hAd3)ͨ'w1wWJ^9H KbQak[]嵿|];'YEO$9f`GRe|0S~/t4`XѿK WsL3TEkPj|Y34о7F \^jrYhQE\OھMyW­`k/TOET"B<AMtfO[i]f9E}ؿ>Ժ86/Thq:P]O|)]@|7i[,>7M߼vHʶp%/(szICH|F,#O.GdDZm,~qx|utyJbb"Fb֣w1lx)wu'CGһ_? W_Mō\M6mD$iډԥTIJJtbp8ƒEnn.qqq8QQQ$&&Gzz:. ݎrN^^ DGGQ?iOqѥɣgVoz8zl+~㿪U%Z_Cܿ0DGCU6OV/vzvs2F0X90{`ӱ#lٌ;gObU\<]O6P75@[w ;N ŦFU]\; 99coUwhز2;t}f==bɰ|nGCCF,xrh+l/ߏu/MEm?Q`K1ojĨ}&$V.[鞋ǫs_#B/f=ɤɓ[dϝEY"#l;iͯbh$lEa:,+ɔ LG}\݃9*vKM7iWbXf )u;8! 73c<9MQj>dEkn&:ɓ'zÍ\xL22XTT+60aD yj,$ןbn@EQ\Z% (fHK}kÔΨ!Ԯ`^ )ޕԾs%\9B{`>=.CW:inNg脈,"Li !ןrMC@tih Yԓ8=H~K̑#O!o,>M"6$=jt>š_z@nkCԧϲZ>ʧg5-sS.#1h $** !%Ϥwhp$%=II}mHX~K@ImJHsA]L\r7&ȌGg%vDZLF\J;l`ԩ --իQ5zkRog,6'>kqߌ+aBڷA)ShiNB A_HL¤ 5ŘX1YuVI 쩬fLa hW1tD[5j9QϹ#KՄnj<1& U ASF c&'.?֭hkqM}H&R٢GfÞ]>X1ay#sG'P|Z_AШ9~n,{JҰAƓ錡tR1 -2<^ԩHxs%c黟mD;iii!0u4 w_(yduMSFd4"RȒ QC AQ}جxav?ߍ1g_# (l?.hxs1 6 I5(DR~%gN; 4L2Aj0钱kU$:$~8hg&\mmlS8l!5JЙrpJ[p;aF''} ;Yi iL~^d;5~3cmYQm Epso#99nQBT4D C]DHSDbvq:8Bqqq'Xn7vN'tm].X|t:ѴS1IR, dP!gŏ,El3b10\ٮG2qȬ߹n ==}^bf!?ƠEVnx"JBSr}:]uk{a=g' 74X5{PIfX}NO.9JƐЈd _DsQD$kSPO("57Lt<Q1x;z`ܵ Xh֏&gVo8*C#~}1!W3etX6 &LjG%3*]IGN!Pt|Wt/d.'%5#հ%9HOL$-?hр=6ɉR]AY] *TT`ћT\X&=fZګ9tGRc4)1Xs5+-}n|Z2[gtzFA9Y (?V'/@yB{ho%Ez̜,J its\~ؿ?b1ΐطk7$qFyTVj /|dYfС"t1H턇ldsHʚ'xOc)\BHt^tX ݷ!6;su=b/u(;;v{F,zMXni (76XHKM!37Gg4arkq;BylO chh@8d$.?Oe^Ѥ%&C&# 8bb0 r՟QR3MUcpf##&OB~NQEDzwrכY2{} ;?XDNJl\b "P^YM=Z{5ep -53:HL'=3-.炙gNY 0l֯Q}dIֳk0jUUDMb`2ODΆ'oUdIp=W晴S¦ |FZI pۨS#;t:F$oukV"= Mr&њWR1aP'p["5%%#ы@РF0g@p?`Y?D'پQslb&6ZCRbI,aDX8iqPMQoP5p0lěA4DOczi:Iش~=#1b(,ZbfhFI~GĠ *'y>[DM1ubf+VDz×crxBf3F͹ң\Bv|&"yL <Z80\f{*::~c~iZoqt>o:JE4Gg (tA, _|1La]g zQ$4_ ^Ce鴅tLm>x<)6Q'|h)ZUM([&>usfߊװ[7!X-DOaC7rd_D\bl~aCKqc)2abiɌ8X-uAֶ4qboK8̍gAs&= RB-,]-WǾsٿy6 ȁkH; S06܌bc5DwEQv:=h ֥î #3ںe3︘@+}/$6-Q_9:w-tYDw C^'L.Rz 'tHd z-mǑ/bWM;4M8럘`-8e bO84 , ~G)8N-)&*pŌJ)e쟎%]f LKu6si R҈y8Tegq%cGnfcq)mS~<&R37A\UFRl%x|NXy DכZHmUWZΖ:|rV{qߘPL * Sc=kUEkSL\7DirܳC"[:& z !c9ضy eeGK$hiil`K]]xM_}Cmc}m^F fPN5h>:ʎg߰#f&Pq-+7CK "{c$varwnF n厞:Zfق|(>|9? [Ѽ- "ͻwqꨠܻ=X$:K 5VKVf:F{zU5姧>i.TڊYi JG<#ā/q̐3,e.ٲyǪP!^:$ &~W7p<‚g( M"ՕU'ӫ5=G I1g]e$ .:>`ό@ z lce?fDH=w63UXvD"mnRcckPfM"F':90W9~{p:]:4mXĎ>os;l 8p 7F6G.!g>v7Yx[u2CQ%rmM+>ZLM^6א[ [q!ei6~w[:p,o桯0lV\Y*emt,Z/P8'uhܹĺXtDE*Ie-E0C]g/h:pX3U!T n.t3? @((1kxKrn"xNz^ݍR0A0`nl )M-k[wN#?o49&%"K2UKvw4_coЩ |EtmcZ2JXfw\?Ԓ+XkʨBݏlma$o%?|yMG9™؏v$0vd -b[u :QDԳYazJXl%M-!1k<{KˁV)7\#زa |^F YUKPf`;NIC2xYf ꙵf&SkQUxC>ϜCxJDաF\:/qDǑKԧhI/wFEoFP.^ rN/L#}9<#Lxt1FD4h_IE$#+NK-^0I.vSQ+1WȸF 20Jг[TʂWtRĮG^bǬYo>FhmcyhJ g>l|zw*0~x_k~fBIETbúIzq)F;Ē箥o1/yW.WԱ˞'g9 (HM7d , A0i%lͺ54]?$W|:'.{" y,~nHdT;pK$v-@vI!wW`|sjyr0\z%17ih?Nćh/vPTn|D&=%$jΧG0X]zS8zf_>l&1O'+o_j]c &EMKK](mxLt/Q=(}u3Q`'/%q@lQ nMjgOQSȵ߆hJ1q(֮X7 DtHhki`Сb۩EU[1ӭ=E@]N ׋;sZw6L"He5 ""≚흖f򟊢Bc$fHMb1 Jd9He3Ћz-A[Lj^SD>3IV.z!IP53Cgj'Qy?rH",D1>EE3g*:AFhB8,i*`^  ejk ZDA(ZF/O0i|wl Q&KHZE -#2N~eD~~ϝϝ.aU"=#NpYum o9)'Y}ݣA͵a4GbhhYx7l &knWoFk^pi#.擇!-[0ZmE{؇&iB!YH8WLx#&?!WA1&խ/Y0(HJ2HWrqbⲆUBO+⭕B@7hF$COzxϮp˦/2v17տLyuw^:~ƴ'I~1dGI6RW[MH^p(V[ ;;=T.!A=FBDCc=>_rƦ\ѠQPPF: ժ4pB x!y\z0`6mx"hH 1ې*2ʬNLVd;^4 Ef1E'HaBa mZzEQ=CR0Èfkc」$>ryfzrd3CT$IDD "*\E1 D%(b$ Q09ιr8aD-f-:u} 88Aȉqe'4MXy8c*,bʼn1P-FiZ>qF%g_ҐVR'U se"-BH{\;l&m:J2Lax[dV*OJh,ZES ]p²Ŝz4Zy%ꗟe/߉bwMo/2:~\a6{@جN~EQBx+Vq `&l 7S(c&jDk=%SSeoyx<@`a9pã0ac;.o`CwcqST[7 E>U.5t~˸{]6 /ɐɤҘ łNk>OmCd<ضOEEd 9) 4}5{L?1l`,P2Ec$(Z)C mmTMd^@pr`6D^1L]X}~C<ЯCB6C<&?8H.aμ  bDiv+n0~Y=\r9rK`>8W\r] ӛҳq-]s)3ʙǑH ;f-FFW5So׮G:\D ЛMN%I!![Eo̫¶;fT.[J6E68KZL6Nu|CQR'cdj)v@y]٫?MCS ?Gl~ÄѲ,fϞ}Xih˲([{Rn|ZMlغf $BXԱoE4EAVKB)5,yITQIΙ @UK} Ƌs((y2}td(6H00MմLq?ټyぶ d)D:&JP[WO2`UΦMyV`]p!{cm%(,~ /_M0Dʒ y  IDAT\>;~8EaSd>UV<޽{)'BzdR֭;La,E&[P:7{>۶ihhqd(2}_9')m4l.F:HXz7߹g޵gi^/jk(\d޵k"0 0Tt:}<2~j _){@lݲyMfs;Cy_aŢf cAd]he% h:p84nw20C|"sgu\ [پiVu7| ?-լ8l2 M_AE~[ waXU%^~'0#J!xnMXvrp88\.^۶q\8I}JMy=)%. ǃrUbbYv/Zؼ5_z5?f3gMH;m1eQ^%R;]ҍ"48! ~̦;yhhŕ,4yT2sC^ǽ?+sF1>vR шQ(O:h"@v%9X0DWx $| Ci^ #١Q4PaeXXy/wW"F nmx@,/\@P$ O%) x~s\{M d F"t3ϱ̦]6N8v _ _0u#6isöKq߾Kgm٨b4=bX*TPt N@ mDM!GSBWJ `X@J46m Ŗ )!Q5J4,c U[o:\JҐ^O(s=4Ϝ0!Ćv)Tp{$(Bc$'<%zxlȣM F'>%;F4u}JgTF; Ø+5 J q糬RRd %>sR…iyY8gvģtݗ38h6ь4o(fZS4mȄ MɜraBpɿw'_w(Bh2Nfi9%<i7#8/EuYX/B#"uj?yʰoO6)tʭy+!zFZxm4-l$13Q'^MG`ݹoաF-#(v3ȬBk;-RfֶltfdBzG0 ~Os)ߋ@?2MSxVϿoR8aIxv>$b(g[IY>U~|#sn=$EƩn VR)2ØFk~O N RJrfiөBEP^O^D`JPlpk ? #H)QP(HIrgv0os) MJ_QTTT$ĩͧp<|TJTUJ9afUUM p'}qĭs{9O5C˶mZ9Ө'/00؏Os/_OÉr "'2_ӈH'aCCCtuuM !Hgض&vBeeeP 9V؈>w%83Y|Y]7S`M3uU ݺFI(s/(2RP4_+m;new ~V숓d&GՂedֲg-IÂٴn߁(h^1RH ӻg/ZK}l~26u0aOџA дhq6V^F۾3=jpūxuؖ=CBJ%r9~rsg{r k[jR~O{.6b8 ̚͵<O熿[}3oi0αK%ˏ=r9f$/r׿AǁKu(iۤ-K!bx|4Kb*MSW=$`Xk#CqzoOLbZO(0\P_m U-RvocGpZye3{L]zTH:8LӜr?=Xw?EQ]0wSq׿zNmڶY3fx;} P ;]Y!Ȑmd,V64EjvΞzÛq;^/@@ Gc8rl:H$R:0LTt6! *%b쟍 EֱcǐSw(蠼*ʶ Qm =8yu#65!^؋;|SzGTG:'pᕚNzz_?545Y#U1@ӡ"$R va!'@E -H cLvRyp)*RcJRD۶N~vW_dg79ˤKQt!ll W0 [h),۵d6tQ*!ܰP`l8K*?|>Ϯ];ƛش  WK6ib>*;2 djx'cH׍c\o#备q7X` qk^}s17_{H J" |.qB?nW Uщuruײ}BN !%7>}p)͏;uk6;}*Z;[$=;PAKk7hY~r!l'Vi 8L^~ CrpN62OOW*}5Cif:/5e4 y oWM6tYD5xU!ۦhX㡡|20s~=Mr^ZEC<׿qύ_+> ` ~v.IdIsϯy9ˠ6T:ÿ !JmoZ[[7mz!< x76<d7KBɔrXz{{DuDhS,4 JdHR Jee%3f )QzI&S: 3GĮ(#ۏ4cmAtSQ| uMQzUTOy8L_ !Au6[1UzSҵi">?ZN>*D!vTLǨ*8$4/ymi,>+I$CR$|#4P/6U⠨GC_jm ;GF5#o)6UaN:CXqncOŵ vmJ|׳kfH&4:JMa,k\f/\HYD_Q;uK!ڴ-`BQ:PGTj/'ch[OKgSZzPf%h+kҜ5K7?(|}+ݻ x}  <:$2,m㡾NQ nǃ  wS򪒥gH@4z#eY<y894)1mڡ5U5ԗHrZΡlώbKL"௯QllpiobH|Uc`3S:i,3i mQ̦Izng 8Qe6ڈӾ!Ml(b"Z&oEPBJ$*UAU@LH.o(T3N>U!6f& KA KR"Rks!J']Uh ł1dw^uc}*\^`(7vJH)p8|)5bw&7ϘEy!=/!RȒg>yEs2n&G,v"LdQ*V->g.7DeCdhzS#*~(i6Hnq-Ү ܾt'(/wxK]+rYq÷"U7uzhl@5PT폠,= LJ_ed~tFyMd ^&Ӳ{=teX̽={_;I%8}O~<-J&;*!ֿ@5Oҷl .h 8`hd>Cel߽Զ-{mZ9 i {PFˏ3-x8{iC+i3=;v2yB:XMP_Y?Dq(D͗JfhGg"?XEO硽{vxRjE6L`=>*!ޑ.(LӤX,Nh`Ygx|zxdar9qAɹ:/.1t?IYҒZ 𞝔M2RairVp4Mk>q_݊ԣyKϠ7ia =ϣ4Fq9XlQ6~ ۢ"&t}s/s~u9zO<0 xE*t CV4F5ϘF~R,j)I (lٱWo2k5h(Oķ([mB>h'::}-dZ櫱҅AWƌ8MH9BB%c)Q, Us X)U@TQ*bZؔI: -GロT);p4P8}K"\Ţt^%sM<FJat*AeE߻./I&)F SV^hbZrO>$pT"A$ad8N]m5G}4exH0&_ ^}V4LfUm]r:a.'z0&ʩ`? 'çBPM9.3eMJrIc…ŗHœC! @8ӧ5lR pd&ehJϻ8^/HǃiP(a8ΉPz]qD"~?cpDpfM4~#V[`v[6pIG@$zro25r9^)J Iա擤y-hnNݠ;E>{PmTUе0ioDZM(`ǖC1^~QT-J_`ԍi4D*ٷ܎],\vNE"lY*vlz 2.}OKVN~<PS1Y'}}8-: qVѶey OP A_O7\.sq:Pix^Fb̞3ŋd)b0!CESN\%51cV1ߏq`VE? S y;3Yzt!wg4N˪ /GHeŶd߿I.9%F}`q#/I$|a݌DatMtey̝3d*Eu}C#1,DQP*zۍ3Q,9i{8mƺ0Qxet )elo>~C~s':SCx" #IS+NGW7RD&T)/C"q(iB鈿((퐺tneHcxsxgeU&ٟeE!^,:*U(cg%b(*fB j aJ1ntN<*B Х%m)QD r_c$|J,$>:iLnF û=8U%‰ү i#lolhd^6(Fj,;f+=4$CFoض} B=ϯG~e,;h4l颾 6bK.9||n#]7lVt^[;5]I}CgֱuvlL8j?ėo9Jǟp>6s/Szڶ]I3~̪ȬIR;35*n|NWٯw'Bs]/#>2B0p\TԲnZ[hbK IDATgf41.?l>|^4Z^^AC `Q0-0^Ef 7dTdi磸ü%xh[h +S4w/gn> ".ĥ|۷0|YsXx}}X룲5k&  RC<$Fu*++ MpF<>rf̘A8& xMT|d(&tU 8g“+ﭤnFL>l܅a!|!thd LFW|Fgsk~7"-(п{C¤Jcݞ#CI 'Bat溺Aڊ:*o?Kq*/# ۥ(IdQC:Y e3d% };[8v,]8@B*jUqn<icˏp gS_OބΊeeeӷjPW&ݟnwŧ߼F4Ӧ71{\z:;?&RY͚5o0ҿWHWœs*ܚEu.`KliaX,2h r厝K AԚABPCy#DYw#xTb>>z$xPU̓Rʱ$v{w'EU3F-rܫYԑ.Ɵ*g}#2ӱȜyRԥ"&J)'B1܍/ S}7<*(3|Si|ܑ3s <'hig,_QvmAgwmm >(t^ ަalTg(9Lg;0;ҘP4mv'iypycq(JF*{±tVFp;x=3cn;6^ 4Ar"d 14U?q4thn|A ˁ04e$nRUC(NF1E{F%! LSce=#nn2C#*?q}zҔ誂a9OY|7Oʲz" y7t-{8Oycѭ\dT%ӕԥsO VP,?j|KװmFOsɧwمE:yo/1سyӝarbF>qEyiEU_̬9 A`%9GC?邛 ڇCه1]Z͠D)r"- }sşp=x]p;Ceж)+C; ϠiayXpPɡ8R4_-|s>pW]>ϳk.:::htwo/S0 4>uJnGJK) BTTT@ L۶'Z AʨEUU~?-***hll$PSSC4=fJ U㛏1s# C=νқD"\vp~v3P`n,K{O :ò {5Wpd5M qzǣil=j!D;BjoUlۆR_fen3~\\MdYvCG~E(s.nB>ySY'_̇,ڏ7:=<|Bzן+/:ہNTUÅ0: 0 u;  L.*(tn&D|96M}uI>NO9sǙ0$CNqn8t8WL]:TtwEQ2Uaw.۞m8or9t.%\po#o_ -BMilGTVTʡsׅ&MBl_gL͘c[vKyykEj8c\ϱxlaŋzBfuNYɗ?WB-oe>fa42-.]:r曇p4Y`s!> ]xQD:i9zG#d,^z)A)cxf j)ı(uz@U_'4bJ:ٍ n˳38qyǞ[C1U@<褬RJl EEAB{c"HHFjE4&B?u֑Q=rG. B!"MF;d2Ɇ [,ir '?;Jܗ:9 HJTrm9HW^KNc:dO-QdɖdR rf0ɩgs~q?=g0w߽uݺUuV!LLD $& /O_ zķyn]?Yx6!tyy6"Ӽ%=3' tqfdšm]_UUرcMrPy ,s5V=eY>|2Nפix< :ñcǚӔ&EQx, S'SO G}8CZYXy#=r٦4=XeYnx;K_؂[JXYjoì<.r1埐B[y Y_d~j.77&Y\a}`;S~YH\6K(Tlm~2U FBP#C2SCPX1p$p #i-[5jR W%j#f3~yB|eæR,ɐjK׈EgfGwq p\Xڑ[QKGٶKٔMΟ}>  W][2^ET*C5usԩ:C/oڴi|e#GznqMe(:ujUg?>ؔ妓'O"  'O$bq<R!@eB0x;wB_EZv:epXFe~T>ėu'b??Qp+|d$-zrxn>xᲗp?%$Lׯ3nnYw2Jf(ͯ|Qq08 Ǒp0(UxB>#7'vH?)&#UAl@PH5ӳ^#fZ}l0p6pqez4R2b)M"$[{$!-%Jq$ ۩WJ8HmJp#uirWz:ek׮eO@#n_4*r+JflݔʥkD[+i>{ȶj|KTT$͏yX7D|9]v5424kkx/ ߌvEYh}c_ ǹ}nfm^ESCw ֞,#IBu$Ibm85ijx|t;Hk݌WWJ =4(ٷu#vs NZJS̘Xәܸ9p j<(N>3RLgns*AE)(sCTx@Đ5_%jTL  jc[FĨdX!m%#40=7e˸.BaOLvUU12NԀs '[eƮ1U(s Lf=IXb߲~FSx[u3(Uݜ1/줖/s·zZ?Ƴ!z{}Qv{#/߁!MS-nI牴F1*S`ZERcD7pi7M죘ֻPE":HC]z?(<_222A>"zεCs6~0*8$05P?"/WI;5t'y֎Q3Z h*ϰnd欽Mk鍶hj4 ߏeYj50!:EQ39r8 !r3::ZN,L, C:&JdxxX,F"X.1L&!8}}}۟O@Po9w/L }1huWZ\4" ͉x'M_Dx\X1!H`ZNB(-$5m!4J(jM"錍-q %ʕ,hŐ#LjI$&*3;Ba/~KbY&fX׃8mfIcT%+ac74x{y0m:Ԧ@O%g8@׋4\>@/~?Ow/3w>ǹ˒ilȡK`mIVZo!i3aDC69BQMz9N4tDv}/hZ)5M# տJ>B$iڲjn7Vʟe}hg6dbCV麎/9 ngnc~-(r ~a3??EҚgpG#U7FCuo0gPBg6Hkq - pTE29r9J$p{/KF' _pS=#$8ȸ%u1b`n7ɔ)~n\ ե$4Mƭ(XmdQϣR}MV4IBU%\KQ$ 26BMe&St)HJYog" H$!C+q7e CN6wIv_~+b+y?nh<,tEq9;ȕLpmnT|VG8&P0v7+7ׂ8#D#~8?9*)0T7rP(JMرifsWHUF8;|1-^']2S~R2-. eqc/]ۙIVdla=..Rӫ[h6*MwgTXԩl~.YEơl,$ LM/R)WnGU_3D<.~K3tlbL/r·dtfk00 RQ&ֲW羃tQ{C8;ZXLSf:ϳOsI͌se!Ͻ;qvL]!iUeWVQ"Qs'PlѓD:Tj65Ӽ- E<~ٵ;yBUZ)7ӹ2Rdm~=k>^74d,\$!HDvnCߩT*E$**r|>$¿ jbH*bttY jJBP`vvQ4RùYŋhęag1D+RB룄%t@2L .pn aRsȥoMjbL:7b Cv:ۙ*x@H>L~jGDې jNg{T%b9ߍ&)X535ǡ%02=̎IdZc݌LGp$W]}yʸ c~1-TL-G|nLsNzS8uhȡ~~;^kNFX,F<'q\9ƾS9d M\./5T8HUj~"??_(R!&Q亵+{ ^*FKIvKzs(YE8*S\2dKH$zJB%,lP4sי-p kG~ zlMGVT\ض,98BE%@4!a9BH(2FD$À8Rm;nmz:H~0(T_(.ۢ*FKnv ̱%UG,:qWzJwWOrpYw7A$Hf|, X&Hȥ,"   ˄-TRhg?pi^ΏORЫD1Z0<>Gv 0:9Mzb+UQ] VgxG]P$vU<ҳht0yOel݀םwl1^<)c*]8sq #|HmF:nNZqgVR6vg9tⴲM ̲s;¢5( e]^8f(+芉U걫! i؁&XaYnݔJ%ɂi> ;'I‹v208K/3UdM>= IDAT!NQ5K.v䙯E0?}었!3jQ}iŴ\"Qn9 zz+oiÔ_d8=0]qL 1?4x;C㣔%vmҕg)>G]Hin!(T44_2L KLuA8h ˮ+^[&h|rȩ7JtuuDzhiLv5P&>xH$!#`0V"AmoذylH])lMJ|mڽ3?=(- ڃϭS1Mvog.=C`f(і5>憆(,f1#qf*DyF8z C G}";":xT4E"ʕ!q1lEW%tafA6ojp\tuv1O}">\Z GBY0H_vf%vmsslvCC1LAOgJlɑ!2SÜpCff=ÓJoOynlmQƪ^Zގ 3e[S<{dǭ*Z_;ُ09*m:JKQ\دZ:{6~rr_ jW,xn"2(xB²P]?!8$\AJx\`{ٶM8Zv%IRSfB2ךŭJ4nEVPnT[6AFH ^>$cKM ᰇp cG'f~}<թf}_gwa&a%$GR6 {j[,Vd^o B #dF݈CC@р۶ɕ cHVZg ҫ؀m׳ JK菉'D#[+p4.&[_"\ٖJu{=8o;ujq?4xN4η5xkiƯ,yqgEQn=o䡡)ARpužmdR}ARhE*xIngW[7mf8@XXHeq)UbS8P) bmSX*7%*-4$^^)vذ-b*R:3| N@Es$e^ѨJʳO}X6\:5}|mDb7"S<*t7ؿo[;讒-6Fohw!=Jesa.4! ]"6N!다YK3wއߊ~I=x=X w$^{KB \8D"¡ un-$I.•hvj34B3kɮdw$(lj!T\ . 3\J28O=$۷DnܸP(r_~UZF>G ߅ ;f $0dp*2Y‘$\m`Yq~gg{n8 57DMDoL$i!Y ##eٻm+O }3pplᨀ[hO&SkI_7hmmmʌ@ӌPW|W]B0>>rbSO>o%Heva^ ASezxbr&ǁ9v([m<4::tKĆ BS>z8ݽzv[U4Ͽ4h[&ϷfMiMRXgtx7i#Ԫ56oB&o˶y1nF d "ֱ /toa޽x^\ I&y9s4oX++5F),oFɪQ,!HHȡb1 Rb>E>* JԲI&E}1`PEYp$JUAjHKp܏-$JWERdFxވ!bF%_GqI*Bq< .i -(gJݰ1|h'/rljcfl:8̽lh,H!P/ dU"R8=zX7\֙J$晞,C̷SUTʦc1ݴp&nhM0|}Dׯӧt*L]5 :>Yx`]/cc*%o܄㼾FŅ_FҼmhk)WV]l6K:noynY7ol:g;::^Z84e2RT~%M+ealڴZիYLh ,/?NR 4-]$ѶT_.ri #x~Ee|bq&&&g3m(:ό +=爇CLf؉|ztnc+V VM䲋mފHu64E+itk4XrYjHo 3YIln2_jTY5+a<#1.ub= ?Rw*}HL\!#"!!jӧO*-/_}kLeB_:zNbikm# f㡿U$I dVm7 Md2IP$JX3 }˒e:HMEUw T<%mz@'}ev72Th cq WI%?3gCj}rah |O񞷼#g8h5ҋUnLVV Yַ7n ^RTLOOsrV(,ԩSֶdY楗^lR)èbY~Mg>VPSz|lǡPOMP&ɦF\8oɲŋ)W !B0==*`YN uA4mi&>$qĉn4]pa Mw_SSZ󯚦Ǐ#IL,:xoщ$̀{_e!o 233LNM!;{gΞEe~:099ĒN9ituuzpzi7s!B~J7Ƙ[,A,"ZKf`f&pfm#Utv Bغq3<!M&9OX'Jy׸1>U3\6#<;6mz&%JX"._E8$Q0<.&'SDp@ccWY,Cރr3B¢AU.N ī*af& [F%0m$Z0,5ƃ݂ѬYS,R|'G^@s\[ž}V)}PO̙|ݺu*kFSC74ATB $H}xey̆KzAlsGJŒxgRNtOLnLI_bA PY@0 _Oś*%g$_("VLέJdY{iZȶmNyEQycV!-xO$L#Q9{4E% &H_ua[rab+L|Gq.I pc Y;'GQ4$B#6:[|h><>-|yIZ"WΓ.` =l1jl_a>45 < :P܉OtwsgwJӝ}g$IKԭtزu;ÿM2_CȲիW 21V#Eu!x2FK&jE*YG0r<^a`NΣj!Xzxȋ,K $|_M!%Ҙp5!\ЉD]s=b좵5dI$idZ-ILV\2"SsBҹyf'jk%)FHY)y)9J>+ZXeXB0J ̜#.$*}4 tDUpR9voI*5I( >4vb6tJ@DF@SZh15C# >K L3>R%j:={VV;f^/S(s@E+r2n}w^<_Ofkg-<^^7~ҴRvu~?ˡ7zAUUyl&'XD5k IN m0>A [e,Sq_\h-dg-Zz{vws߾FT m!}py4l&[p[k=<Y0-->\$H Vu1` RmK/qk.<>r(XQW^KZBP*hu./ sLD;y)* %ڃ; @WZUH^=IвD[1W|˴ AR~㷘= [˧%Txn`멌 4gϜ~_{H\@mیS=AՐ93KNο\8R ѻ]>Cΰ~7H/@>uu~o~:6S7x?B$ƅIߍ ،,Y+zSS<\֑j Zv}zإ$ǵm{,KM#!^)@Qo|[_S\.N>Q ;Hc›`9"8s=Eĝ09wH.(XDFgdjORdRYɖ L tt&TJ#o=S bj|\Wi"~Mb;Drx\2R $㸱cVktv a~{߸ IDAT. ;W;VwELR%%JTBQ.+aST|Qy*Uz* .M"+.oz;s&2vJEm2᠊驑́n +6FQlv׿򟿏\G?kbcv'KwJTUc-/p\Yr|/ R033##)TJEX/qثJ,;$IN*LMMgqx<㚦EZŶ$Ai!KX],}VݠVkˍ,* 8E68r_YP{8.[5mmKO,=w=fҹe;v=&$E=F:X*H ,%D4K=&d</ 2PpP[e*D}@8?E/n S4<; `9LggkZQBvpa/]_c>sIvoJ\ sJ,}ǟvz3 H@H! xx t'=!@F0~zLO._Y.+cYU]ZVU'Db;v zE<>di?z_ú ݐou7p a:DjT'/%1x:J5"ѡAi x SkU\Ӑ(g2x}1|? +y" /ӓ!"/jcYw =}a^Ut<~JhG\LYAmRtZA0EbQ/I0ڨ#+~]t Cl%_\4`5'L[ ޥsEEfV49ez;oڎ/"k{x8EOr%U+QnM'Y'?b hBwc7x92iν |{9) AfK2z>]wK_Osq[ek }j^"23T)k4Tx<2icn.K`#I" [8tvZi)We4M5.]Z0tR%^m??I{{Bi星"I6r0uQzzH>uWGQZ+r_emL"TL O"j8%lELN֤;.'.Lt)w qpL@,#1޾M]n$C߸J28Ά @fPsh"~&xQJB"Œj\Ȭ%VʘI C%Q[äW= g> A__~Y~NjCt Lb_{-&ca`&dd߁ zHs0n($G9gďZ W`mH:]?ʮ]Iorp'BPH25v0< r,&.,q}b^oO0:a6B|6Q%l4Kx\bd$NW={ڸwNN$}ױ<1{+g ?юgo"F5FvphW?$\_>w}cQG`ShCe)E0afz<~Der<7H+Q$݋E4с(Ex%ik C?Y'I;J4L!,ƣ ׎*(WTpmфm1rJT&&&7"Rd sAabm~RsC~8*uEv}! ~kRp$z9j2Y#yU}=TcjQD:er0{2@׷Mx"Qwp8ei=qoR.4eh(Ğ= ٳ'PXL;[{cϞ(T *" %i4yg?=m y Q woev `rK/=ymFܙώ1ɁrKZh((\$o囝t|# !wH]Q+C.#}ZQ+:<;h"3\_|䳌&Cr y"5[@1*mxTD0&MPhԇ4$cK`'DnpidqEdd CÐQEQŶ$ʈh4ix}2\hC瀋լ0GLM7#8NRP74>YP2>N$`"eyjZz$)+x!j5: TNА t\"EE^ 31V]vnK=K=IgCb#M"|3B[|oꋱ}>PAfs9˗ ϧ h8x={ڀ:bH!8tbđ#>܉\CvG;0*~"("rͽJešCGwYXX@kv;#F n4~;#tv*{ 8NC: :lg׮6v튱C )uwh[{\u/m %|ߧHK: 3;xz&@|)%Îo35Klc~mOyf"K\Ĺa[? fGݠo|AiZrPC:*ma5Xkؖk8V⭭S\YY.Qϯrf"ȁߦ\SxGXȔ;I6W(?W qni\Ȓ[fy*,ώ3L u6|T(mφEe&JIOsvlONjVzT|7ҵo|6[ u\`;{ g.O}lֺ.H$$ۿ ,舨Dz-"ޮa╓G ,/CF28 ]Ά ݨާi^={ػRm8N+h׮~We߾TUQF}tum>yJu4t] zٱWnhL&S4TUSQUn}.TUszT/Ε2ؿ3/_~bZŕ#=l>='̀>'~Q*p@ 7_}RlXÁO? /L9a=D xȬfKҿsϞţ+ ũ.0k4MPDtUbXQ{)U+x5Bݤ^q#rE `vr|rN+M-.8FaHfMj>r Pďpl錍m4kuRK4٥P#"sO}gZ昛"k^%LcۭRx{bT+9F~iM2Q-XD4BJ~j7Á~<8Ӓ5ncSx:IԞoX%]o"">*O=1Xu2\?6!o4&r,K|*Y"$AFGۉBUnct]AQ$ >F<##o_/]]QAwwjȲLk|*ͶD"@rtBQ$"}}Q<Fouv6۷i2%:;#nkT,_c.j5Hćm;D>EfmDޖn"B>ߤ+Fi/H(Dggf]}銄8ߙlw\\Akf@瓿S*qt~7O%eHB{_QGI9ʦҾuhWj=z\z:aVeAWOިdr+kvdn.~D<@g{1BYBv-~/k9\ 8@DWFɯ%EJKyD&SZj"y\j:gϦR\.!I‘3x>*&mq?O1>ֲ&٤^1iQ@tm5VxK<"UgXZACn"&p;.kȺ(iT&Z tt ۍ'0*(LX$WiR5fp,RV`G})*ᰀehqK~tn fc4x %p)*VJqMd HĻ3CAț[8Ca?+HHS>~[FV 8w$ӏepn^uq(D"!.]7VvhGU7B!a.QPUr@5v@Mm4묭U8thtn+2gvۃtv躂ǣL]:$O'00'h zUj5Z<x<@OOs疸*##m9mo|-]!QhuIc`}DSFj1l3/1{yfSl a;/)P0+{I}(~%_+r|8癷6qP/{+,&4 ~kΕmQFF]E73A7 L_"lŵMZT5{]BR4*qO']3gŧ>oC$26 GO`ǧ<mtIdn"d>Q.U|sC S0\ufS nuI`U3F6Μ9CټDQ䮻².[(_XXnVD˲3|BM>dOK-$">un7$]:hYn&u+wJ{m]^^,~? W3^^y3oο4/ao/~LSZݿ}=WjO@<Sg)&-KZ"MqyT33Y#P9$'Ȃ!YiO/lRɠVd~z~\3u`7bIQ)M+xUAuR`,LOdOPL2D .M`[CI5GY^aaꑙv9'cZG81rjۑt,K4\GVrx >$º2A׼$2K%"mh4*}0_:!:;HRc'kx'.\XJMU8I Ḟ/ٹcX$r+ֵ7:E-pc~LS೟=m[뺛{YߟfP7Ʊc*2+(2xG?B@E uADƩH(d <ߏ$IXB{5dY.je vYuٱopfnwt4:~OwӼ辣 *|ca|O3{~xRǿ^RB|7\)*8~]њZI5tt MMkb|jFoTA DXRT*rHfcH;%L/Y3xriLv4+G&={F[G x,dbz~Uԡ&U3iMLK,=Fz(J hLGa. eL]ci^zoRIAO(,-Q5]pdm"9s'=YGpv]&ܧC5?m4kcuoc|Y=:ʷ=ѡ~zzB5cS3(xGhLT*%29H)7ryqNr;p,@Yw.x g.ugrltqAM摷o/򫯻1>2|ɿJ{*({\S/D[ydY=JꄩTj3ss"'O.!*1?0 |+Lf Ü9SVa6F(B˿^wۿ=i~,fuuu)*x<|">2mm]G]p"brWLߏ Tl#dң_;p< IDAT_K j9&x+YƦg4LX,,r^E^fLô.4mQ72YSOr]21veᵷe_#`0x*1Vūu#/ hT0/A|1`qKƑ}6]f߼J\oxq8wfYRٳF]۶ٽ{7~O<$]y`$ DQɓaB[ɲ̎;f` ɎVFiVWWy'۶[(r*egϞ+is|kRqH& nz7<]o:wb~Og(xe~C㕟`H—(G"T'mt=vZ(;0jĞ0NxQd&xiC[oᡧ U˰jJ. oK8q)C"ކ늤R.axI-)6yenqz8ۈʄs s DhcVfK4,`P'NfIfTYFR-R|I1EGgh$JG"N1J.Quؽse:zX(Ұs|d+, :5''DTtDΓMުra,Ef-`6\Qϰ*(64IWcET$؂MWG 8,L? sϟc '򮷽ǹ_;1LOPj BEN?7ro^s7å5 F8 5NCJ|!svv+#1/j'U:z{>z,=zq L8y ?@(bt4iDQFGG, EeN:(*;wDc,.MX%]Ի{^][^oFQF\q:`V~ml'nuc`.l9ű]%\\LK:WDrmf+#[Ufp HO62-KGA0:@.١Յ%xv &h6ergqI\tB9[ATe?Mkx(.tMJDl5zb <+9sUrQ;*%/ҜDgN)ؚef7Wv5_}Y*@6/ڠZ@cB?1E.6c4MFF6 TME?ad#Mn3?[0M\ykoaY֕6ʯ^!sgӻ =[6^;z+n|:߸8fec"ů XbU+l)fV8V.jzص}ɅENqvYY!g*&v};Ul2ݎu<}JDpo|tEX#Ybq0lp\VDYwJz%K$Ѭh]IT[ĵDG$><ܓ8Ƥ~ [@/O[ev6dHպoPiʖTMBչV_lѭcײMT4LӼ*}UIyC+Bymή];69LEE܂V0 wm{qm#iy?L~f}]|7ZQl8Ixݖ~cf*yiRs [a""4AEGED "N# "64k$qƘ8#ݶu]뽂6,k3z%Id< 6wnp|YA=WdK%刌wkoevS)p]ЬZtt1mS a-`~jR.& &آZut>З &/&%tYH<Fűy"211=DO7Iݥ?cbr A־?jF2AEꆁ}IrhAGX'%]Cߤ!h9QGHtEp&BX`?H(X$(JzQ'ZN̤f8ݒ)2 ㊹F=w6"MeD&SŸqg`x \O]71-?XZwCZzaBp incElLVsBD1Uwх&%3m|c4v& 1$I*]IN.a< ngg&f0jMr2gXY)Aj@ۺ8}徛:+i 2f5pMERT1.`J +M\::4KTe,cMLI\Bq즉+:.\Z%D`ΠU4UZQ_d t8szBja;AYcr@"ގm6L'N AEtl\:{ U;cx"*rgNXh`S&Ipt).m H(\BK6>U5*8JKVZ- \eYXVDŽ h M2T^cc>O o$g8iзoDǗhG+<͔CYAMoC~ˎxFuk?Tdibszk$I0da߰] //NԞ~ qiw򾛶}o<1ήf/zчy׾>?v+]Sp6Y]3ik"{0$ 7RY#ogen 8Ikx쓄>#Ͽu .\h:Hpi9a}+J9^p{2u U DN{jXwI_oϟc9Mmc f+Z&K&XOAdyC"+%b[^C;dN E*9#EeGx3n7U+=(u6@ Vx賏Αwx14{>g iDV =p(“ S~Avt/f!'e-iK (u2 ؃ga;YMG8FӼH6WTPkZXkT+ j<Ն,\8, ,=q`8H4`yf_B HTWX \G0lh]<A +5 BQ\̺bĎfW׍KUDC1Sr$L|A|*K,VCp]L&2MZx2Z_it7@I4(A%Akimb!?Α; QQծR,AT*Qm:TO @k*5z'HDzBy">bK4wFO݅?%;9o\!ު=y֛Mw'8Ώ1?\[/k O=ɹ>E#Yw>J| Ex}brw,I^ӿBO勯{7Nq/a YR -2RTkMx\vV8 Hҳ>D 1L- P\]G<3Y,JfUdi:H-*K,0 OŰeH}J".NM"ݨn'W.#Z&P[*RQڤrBAL^Ύ { jUXT!z(CW*xUmbJ9P-ź9w f _hB"6T&"P˚4 #1oj$ZAT ex]"ƿU{F٣jDC޺-v͊jIWno,vk,_ԏ cπ(n$4ε+Z C$3O1QZ,v9//ip7n u2Gxk#J߳re\-۲0 B ĀifڙǨ=dAvz` ]?=6Y޽X5ygǾccce Ww/wf7/|<],p|c_#*g>bdsqO0o3oy8Hi!bpsXֶ,7|p7\Yڔ>r]ҷe/ \ܵ ^x[οOE~5zJ;uzEo]b&CZC.h=G*,a,>6>)]] oH1ar~vF\*b>4(2d ̵DBFV2A8sό1;3CնYՙ:Wf2lwi&o䋿 j $ d*A #gb&uZtd dbXhGmb#&$+W3 4T*vMhu L ְyNOVhVm{1Ϝs"35&ýE\-+<13Yf޹(+ jІHmIJƪ!9;bhp+)}׈p<;b<ºBP%dtNϣ%Q R y^B b؃<0S]8DL2Α bagd[']$a!~)x | ג [B. ;\ZD2PB#4]4ʥ| Oηɩr@ '3X\!_HSd9\Q1])pi?oͷ%&s}Ӊx EB+ H),kIE\KLxeE\-v [ttZr /|JxH-8}64X|OX,1&XRz9_8m7nQgwi?~cL&曗$;kƱc8ww}wG.JLOOjvf|2Fښ]VoTI.- ]/W d9un# 6{o$@1>V'QI*4H'M{61X?wW38'GxM8FύxO}޳WǷ𭉧dT6PqLVcyX(G]bJ)֮]Ν;<#bnn(ڍA$|܈gفFlwZ΢evnriSUj|W4(#hRGnXb_$$஻ZbwB&&&8| Ð;SDu]tԴuV֭[DF4z衎{uQuڶm[Gî951&5fgg.`[ {q1ǎcmJf kԪeICifQLڊ$Zq&rj|L!C.i2Ey&C ₁uRi C3hUHb'Fl0@uKUZ,u% -<4P!(D]N|hgFKvGQÇpRwUM.RdYn%>X*=."c% `ffCun x;6l`ڵuz;t:pfst7[lnYxűs.-n+ wi϶Z0"{$/q/de.w񙞘ov+;Tʳ P4kvƙs9:2I5 XViᩐӠFBLKjs.Mim+Hru%ui7i4y%ə))$M0𕳳}CYCIOї\s][YĮ5ipqr? }@ =֥Y !h4>|RIEv^URJo߾~zjvڵ$u}u+vY"sؽRp%0 [:ƹWi͚5Ws;JRݻNGZ.QJq=t\0v{mi}7N/%Ǖ!x9tSJu~9Bty q\ױTژfZJ#G@,TZi2R{8[QӘKV1?}%b|eQh6VL]#P R]HՏ13Η8ux7IO<|~~mvwN3\ԈBE2]W"6d܋_Ib5s{9iKY˫])岶&6av,ߋkgNr6|uZC<Rnh!@R# R[WMx' *]`~9#Bb[HZ[w1fb& Wdђ|>ͮ;z%4eL#x5z{Smz$VWCǎre/I>W Tud~R N@vC6U/TS)h9#l -1JD)\Ds iHoDMZ@ u1R3mMiS 9Ϝ |ɪUC)`72# '}jz^|i9?xYn(8*VjkS-_Xt9w%^f!PiG@*x(ND=~-(ٳŢЃeVdhϱj3@2R(=BWDc'PwZ+ZߋIP,.S"M" PD&]]3;W+NDgN۬)tT. ['qTG dC&݌$nbgv`aaH7!l8 Hcn#\ d2C!ӅoATiMNӒR #XY0AA7tffN iJb_%MLRwwNǗ ổi}ZbE_t]_ϯEX%ǯ]-7YOӴgCo{`{ h8ΥHJ3~iϠygV-J`d  m}+*Vm'ex0VHh7Ҳ~̏D5*U2~.ص(e+.]џnu/i>_ eS,9pO>$׮|?ky5iˇ?a|#"::ɤ$ "BoaI BXj 2M %=apn I4-f+U8ɳt !iFMLKPc-{oXǪݔN?LnhmJS.ǏMz70MAX jcYIbGp[Y ivd9~$-uk zwe,Ҍc(hGUJJSq[ @͡c13We푎ILO$L^`!4 t*u]XYI(bRQ+$ߛ#ו$ix1\ϥ410B!R@.$:wCQ1 <ĆbbM[:ǎBP z&鳣\2Z$evEn&D!ȮkZ7?k 4)O{81a٘ |AH2Ay&bYn( wST;dC=<}&C+&R" @lR@Q̖#[M6>3UV&i%2[k3Q` P T[2Q(f ^' t'D]KлH&c`j1 >gN%#xB7 ۅ(v\q/!㕴yhFHMH~|"VDQD٠T*110u!  qZHgvU38Åqvm8J/T9?8ÓO{ܔe0~p=s׍߼o}ƞ[^EG1fpTeRl(?@븎#E1kAD,|LS@G# c SgB2W 5 !$A+" hY O╷l|GNfi` &F`DDba)Vs[J1?ZaRܾo~`tlh"FG2)FWԧ}l~hNG*mt DՓ!+Xhcs Jl^cSAح&χD B\3v2ZM#j hniwR7xUn&#T=zb"V1.b]R J@*2>Q,q[&iE]!KRKOyOi~;ٺa3wm#+@hس 0sLM{H2MTe 6fZb$FGرsRLõ}d"@O-Qњ1RU"Ѱ8j3&vVȐHH6ٞP V>nt8=7M{0i56^dPq@\GX P-58Hq q CgMXi"ђaۧxC/bC*8?(u<' }l?CĀ#0Bn淽H(;Q;Nqft4Wvf,Cn|A4\%4yL} O/[hWywfA-WflۥѨ33=E֯_U,N䦛n&166!::THiB $*a.BDt]{t&@]ا1PIQHzbdˆnA&"e)54Z,b_'(Ujn֯ى9j.``z&oBWܲo?zD2EmJO3K&19Eed_9q[Fݭ0?[si0 ,X[:BO+2-Ҧ3$԰d=$5 Y3\MF_Wh BL> n%DQ뷓(Yt-$rbs=zㅥے 0 х- UfhD _E6&"?a,XBa(m/ R TLeMZ؅Ճ9v8Lw5'@{X?3>5D$MB!yd _Jظq>yz(M^M"$[ȣIQ70i=I"Yd$rcZ|\fhBzNZ8J(̜E$gk XtcmNYzeb%\ȶ "!-L`l&Gsy,hkIZA!&22335mH R\x{bܚV0:]\C:rXOJD04ha't6&!R1ЪUC_"eHwQ m=Ԁ^Hrz#4q |XL2ӳ|%N8S'30xyƏ͘B2I.]|)dl(wp+O>̻f>ϓ6 BFFb".PjD4-p]Bd""&LZxBNe&ىIFNr8~nYlJn}gc$cO-CHPc,b6ݖjҗIe3D2Lʦ~ƚԬ (H&ko>LIci3gГ9OG bO70@RӾwxr\-&\kոkg:{{תrWi1Zlk1zx'qQP!aR(-Xi/c$7x#F5J*sh<W"D%cg7?m{sXF}o+ɖ3xix(6gN=0I*8|s?Q?S8M4J8)n,RR)\*|){X9<ė8.bسg.\X6zѣG;&hnݺ!`b,ժa/اbKu;V/SJ1<<)v1lcU#)%O脚uo)%JRԱ;#qU\.N'OS\fff:EQtT2޾^ΏE \O E F"$Mǎ"D v'#A^; x<.4_,7GlB+ŷ|"˯d-̙?W|x B!T4AEQSԚ5zr 4/F/5R!zW#o~3l:,S&JQ]heT\MBOT QkΝ;TDRRV۷w XreG~ qN;VRrܹcrY?|_YrdM:aHoo/TD"qMAԋ 0(F T$JJ""^42Ti& \X, ]]YwQ:wVܺĦ.6E/)۷G Xi>F J`R^+[O˙sc&lo꽓GOa0BH?rjz!}H)/K@ Go~cc:hQV2rA7-WipC?z98;na >_~#G~&*u&Y{;13ۻB c?:G dOjHieFEW_9VlXK$ D`&E6$P^DM(zf,T#,ӧBޮ.j&f&Ig0ifj!]f3\咦icW Ʋ~N;]r~~-:=W˙8r׿U81 ci;$eR\ DYժݳG=JY z-"iZLNO_޸qgP ղ9wkcp=4)B϶;|jBK/lID,8?z??d޽ou4] '>!wr=b#?0 ٻkK~X 9_(p{&Zz: Et{>\X9$(*?MRFƧu?.ҝN㨘| R4nnظf#r y=|$Eճbn'MNek϶pvdy nVޑt&2SO45l72?"Veh[V!*0c X$D/ >bpGs-Id c ڱΚIΟkv[hBO֢ЯS ZX`iX&-&T +Z5lZӾ!- q])VaKfl;bqds6Iω$aVNP.eN覆T&gϐXHs679h$VN. r oxtfZOq]ɵD(vF!ua6ΟG8vėwN$8?:ß!"Y-Lc ҳh"͇mS=$Օ#NX=k̓=Rk7`6f b`%{Vy`s]+y45h/'.õȽ2ϧ?X>Frϭ*pLĽBP*x[LRi&K oF2ab&B0ؾu+C+8u8oz5{aΟ=O0:6Ɵ|,~ի矾%_*~~OqiJ=ƈC={^qF"I:OT\^}4M 䟿`br; u _"Ν{|"h(4]'R?/_u\RO7xO?ud0})lft<ؒ}icYX 'k呱8㙒O1\r=@FW*ED.-EH )i"C?ybl|.I@Bsn"hl_K. 6p '&0gQ9CW.M:*vqfYO}nXdtop_Wkw拿WՌ3 ҙiC԰K6Vd'ʆϷ 31]2@`Gҥ-alr 2yI4ӗ\v>6w\U O _i8&&[6Hv ڈK&wL})oO$SWW8ׯH$Z9kx. |!tI߻ޢEk? -bzYzc7oC1"5VOڢҦd($j&F ÞC+Zb>@|@ (*Չ(.`6S(Zp "Q5P5!= !TP4@<|O:Fj a3`P|ݽͯ 19}8#\π|ɪ^x 7FEB"^G%܂Ɩ`H KA$QK`z :$jb&T "t8, ߗe _>N<G`?-Strjk4%m b^*ö$34BqJgFo+uQ*vi0t)a4#Ȫ 䛨jQSS_'[c9P]Ө2?HDȺE . #G&!"F2!ϡ Md Q%8c敄tFӓhIfX0\M \CBTZ.Nq3kw??D0hr6f[z*"J\2f;o^6h Ez E28a`PTO:I}uDU PQ5H8&&W=T]%exM[@'Yk:>E}cxxI "y (H$zM}YlˁpLbLƗrtgǙ>mX}EEQB`-t&9>bBn\nhGW_w17}c?25{ua>O6}wJP5?̜EFccFz[ CT%wݬ8$zzz_X""uAm;e=gbp+XSiFG=Jx=cxݳǑ \i !:'w§~!@\Fy;$M/>nx1|']SWxp6GEGx5=HϢ\:M w]\j]SUx<v]r&xwxu]Uba 50.C,`:@TJӄuUp!z`$kxgOaB*D GSL'f?bC<@ S kT50='hiٴ50PN_7\|Pd9) |$.{ď+HYc[\Ogz:\>TV Km6V2>Osz{ݏGl*XuniP'>{EU(3YHA5|Eзg7Ghl?4Yխd#G4е \'̾&YĢ)LE'iS. R((lnRˑ> 9bޫ*}!}v{k/WJ/y{x4Xs a|TLF4KӋcC\{:/݉4G}b`0ʕ+GeRU-[}Q}|gŊ3 pws~z,ןqGC ,+98< .$XjըTRJXt(SUիW>}}IXu,S񄪪]nT d2GilذB0+VTjtA֬Y3fuYlYg(JuropǾŒC᫿\L;N`Zj.abs}Gd:d~1N?$ry#&`vyt E1i:>U 8x*7:K@h>BIB 4lb! b"[ M04gx`˲hml:ZuĭGt>}!Bxkӷ҉>c '0Ns`L_OH=A767747N/~U+ ݾDؼ_/?jV얟?f۩&USM*erlV5TX# &L`ɒ%C=D%Dъ2*O>$LbJNAww7W>zTnyoLlGu]MR*PaYEVb@*Y6mE(]<4M#N=otT(ű{5@UՊ*Dc%~PeLGVUTrJc q4 9K51߷+͓󫗲d\ĸ鴚n\/e_,{y}]Ǩ{3l۸mrΘSKރJ߽Rˠ xA*X<42FbDEAJyl7\K00'YPKy Q,fP,wl+le.7x♬MIf80~p%;s![b0[%]2F2-Kۢ>?P--:S:ZHh@a V.ǝTYx!|4"d]R1݈RUJ݄eĦk>Ma 6ؠZGdy[q'{={UT(};|[y5%=Okd8=D4UK,>MUMSvr~J肫Iފ1̴y6r.dɓUGr Rx珮ԅ3jU/SVc^9|z0%W.^jż7m/ٸ=v^VYKv@.c |ߡs6:̧FTM845)LnMzH @JJl_=;lȾэ|>$Ё;)̣~oyb:}C H?q6h<-GP{XTg5bg2Ը7UeD)dh}g"6k:(b CѡpkPؠE8R;g|յƋ)-]A$0sΥC˚7R!zِR 顇 ,p.!B__9‘ ÞFT8+OدuGhj ĘJL_gsp5Iޭ;9"xgmj6~#+9]~W{p7<~̼|6/\@KK>Ckؐ0tN7qZٿ[К$,$F|x#@h׿5-ܑ̓_eI|wsSdlW}r Sr`=|ױvetYyZ{ǛgsA{FHLPmmbE7E*QױYR)4)I^|_*DywJ^9q9rn!s?}9diҳ|ki^6\;΢z:2 f4k]%tn!<+|r`P%K.0cr* *quX"kp'%8ytNqU"Ce'1kBK<)1O/t<.:BNyMA)좁X--f_"#Yf0vWoΣ .y@n cAJG&T䖈$@pI~ #bI$P\1BN2-.]mL7OAɡQiA/pw>+&3kTW-9|RK%rKa/I]"R}zyrm_14gx&Inm?5qBÇ9 7KRF2s<}p΅Yfk#}A[[G6쥪 b!h 'DW(fjvwC2ǡ:^ΕN4(s:EQH) 1O UyC"/BesR3?؄dg7=kǷfsxfI ]Sغe\<f!<HP;mriߵTi{5@ O~Fۅ̱cheZJCU$>bל䇲X9A"`NFƸTES0mFEE8u=+ P9F@QӢ/R=g}W_|lf|sݽY'Җ޻bDZqɯoY7G6t!7dfSۿMy銁1|oq9CtTkCkSK24&XU#=C{0Ux Ɂݽ$AҖ" &Xs#c̞/(]oa߾,w˻Oz M5]؂9mx_GW&Ѓz?!W|'ϮY24 .C` Bz;G UCgkYT)r.?Lׅ3eˢi4hŹ"Ӧ-"۸N CAfϟyu'BV$kC:>ɚ ]ĬH,!BP # O2Yt]nJc:TO|#20 j||& NV2PAz ˮdj] 7 \<| (}@/ZH&ͤe7ypGx4?W9PŽ,㎋t|y[ 6r%_ k'?ˮ=7KPts׏si>F!tN/9汿|{~w1?iG YJ Zk) tv&X#ӇKq13fP_c*ւp))95IUU"s J$'#Kƒ>_3~= Q6b"Ol̥of@+C@|=;-j(Rvl~guN/:#Iȡ< 8AU#O m^PZNC'R sSSSE(TE4P$#=I#l@RaoɵOÙ"S$~4Y&{`re'=EE$ZCC}9&~KW` +Wn7oSg61wu-[)Gο/4j]3>qao;r Wsi涯~-~3nZ7fKaR6RJzzz*yX!ıf2,RQ뺎eYEAJU)y nSܿiCYclx_˺Mjf̛Y ߏe;68XS8:xlW}G u 3s"62~χx^!ǛvUU+X,F$wPW]]]UM7G}>C_M_~~lVDze-װ~PsO% {%umW_g@MY?H[%Xu,BP[[d3X 0*f;p 1 A-Z'&LK ENC7XqՆǴ lD\GUJD?$%0yǷ8Kvߓ;$ndAc&[Yt9p4CHwbA)jõ{!i$9uCh/1g<"UWm3s'Lz& O|N:.5fu WLgbT%M'hD)SU5hJ#q3*nN:A,*tx$ A1Vg UO(b<+86LT(cpb9[]ץn̮Ol9C*feynٴo=9%KO6^͵C"x;usD+L , 9Ǎ.q躎jĆSqJ12|o3eF#!Ä0ya!r!;X~7.X(I ]圕ݕcY<[1Κ,ϜAPUOa_SN8x&y񫝇 Χ39XFE`:a:Mww>S:J(ŋC<xLL18!?eeWy [{:%4:_zKR &Ԏv%swf !=y9C p2w-ljsaCCH"_JOTDxKO) &긮J.`]*/E˶Y jPgH9pǛ$aR[[;j^Rs+a,&Wb;;f{.jv1 O~׭aoE~Kܿz ӧ(BaC7p$o[gLQzܱhz! Ge揌`0^B$sN8ƍHdXdÆ 2渮˴iHR1A/SK:2x~zJ#ޞզ*˖-q#Lе2GWQ[qŠ }@{>/霩dYc K9k:Lh"H6m|3Wpl׵5@`!)`4mݺQyzG"(9<|B1HTyGH$4b&qڒ72j6xSD öJ 8"$֓y{V_h!S) z/ߚ/3f3c_+])֗lB௿ςYm/hno@eLX:$G% p!Ա65ZRt7XZҙ ŒЛNsWNשl]+%9'"V±.~/rIM:jZd!JsyU4hJ!4eB^'g2HS ò-Jخ7{nmk%c{n>\Q._Jr<u׬Yb!x+f꭫cTv5Mk'vmc$4v=)oONLلI>t]Ezѣ E!ʻBQl͍#=)R^ӓ*x2Q%Hؙvu>m"#I(U;lEH:ZZ)4M>d29 #tvvp@ Pq32ʺ;qӧO%W4]ץeQS{u%zˑ|ƭҮ(WTB+L8Lfα^6ʻ{--- 45g˻I꺍T^1S9Eӄ d25B@4q/sfFSW*8.P]]]Eb$Q|( 555 UUijjZZZ( ǻJ%:&OHSSSShkUJ4_1Mh"?Wl(̛;aJf}ߧ9gG D9b)IDATG"*lmmhEQ7n\e9on!˽l&LPٯ<,X7D"1 % ᙇHV/:UBē`Y),Oķ% HM|$xDUG/xYצGu)\>{㏰8|0ilO~7rŽLC7k ` T Ѓ.(> "RG" P(Ĵ589)#OsiR BFG“ UhɥEdtP X"kR 8CdU^pGEtl &6JD7D!Z1Sg(AHEh,u &WYx1 ٹ---cع%J%^SSC(vzٶ{mm?G&Nx7'N+eg|߯8I Xj%'ʆgp !\b'$˲m{u)ǿ2M_`3/橧6Lλ+ BY*-e@TF$%F@aAKrn钡;/ )5RCw8?ku\aRmϕqM䖔+PHQo307E%'Ԩ,H-9,ε,X[*CE;231l56||R:\8BG Z1:롢`۟1b| p@BS_ 6xFBφAv,w|s*J'cox}YqvMHGbtJJtWZɣ +3 |#Oռ_ս.'}/)uD63.*=0y8H(ܖ-,ni/Ux+-ZИa-;<4o~2$̔Yhzreeo 7ά&.B!iW]Δ(FfHO+G՘q^>3+ *3-J=ӥap^(ylFpӛ"dQ'mP{5Eec9Nls"3imi ȋR#)q-vtIL`-s) Jjs"z9)Kkfc Twٳ8:r2+TcgQ;{s)AN>ᆐ>a Rob1e u\VoOx!AXBiHK @껑`'UA7pGnV/S bdKȂol [_]w݄wwOJ Ŕ,l_lOtyb lKIf65PdIk&%{9qWVEEkCvHA"~ˆ-?eXڧ@v""vyH  붿ph[^lȣN1J:H.U,*ɵ˟y7 xu̷)a(xV)QW|-]9$eRYq'yO`YaEQLv#H2J;MW0[k6CldPnxi},?|U hb29v|%kوfKh$"L"L6#!#_F`mIDevpZV_MVHڑ}IK=/rڤʾ[=Ag?x.Ų?-P>e4\s0N2oعj'#fo06rSdqT3)Rx|mk#beo ]/|xC&&0Fj㹯 Ll:eob+LR^ޜW9m}0J>H8]Ơ;0pK; aϷAj)'ktȇOA-5oyu 9g6K XĠz?wQѴ!HFiK:FQ3!h C'*]%Mpꏶ˛VɥuV#N/ 9thL0{g\#ht nt VW1rʲihf L7vا_*Jmoޒ/K Zn$@3ݠ@Lu)ێA :bP^ttkJd.w1d۲oFJL|_l|8a=bci*eV V{QuC0dԭ=~xE,cZ#y{ZVE+GTe/CNACjGb֍*vhGX´Uww.=4YkRI c$@-O K?@/x/#]O*3uoP~gE<GbF{&'ߦ`W]'` _+5~ٞ ] ioûK]dyy5&e]15{Vby-U}LJ#24Z*Yjv 2K%vo.{w:2l2rTxbmHcmDPź O ZWI(0O'.lc>Df UYs&;z 93Ӥ#߸ 8IR|C>5B雮tTt2~ĩB5'oRjN50dȳ\Uk^F ZKNtHjzZ43V $<],L&'/|iTE #KCA brk2aIfIDmq y_))L[d!խc=PO;Y+tdNR'XQ ƶQ5- A+%_.+2P-ؿ-RȴF.8u;j+PA4M+RKW!a+7Ye9 Sl&Ϭ4BOD,`~pj-h[Ċ+jCa)bzVIeq ~qd(*#8<3e T&olWySDE[ ? GP$tWY'vU5V=$j > rYXWӝ{դE徎1T4y1p {P^s)p )e)AA@Ek>d(͵1~e[sRR>SNqGZ':"u> =\B)_etxчg1k܄D~ bca/êk,OTv%!EƳ<~MMo*{ޯ]ZsnBH7+GꕡXq,rT:>$b; >(x¶U`2Ysp <.3Fk0j8|/kr굈 JV{=1¿E{;/63 yI&bԙ̈́8ϧ<̅ AIkI+n>$ew6ja[7i|Mі4G6{׍nGC-$w>!%j;@ t6p+8o.v _E@|n7EN8ZmnS4$j~?6VP9t =<;-Y9ߤI2S e\@4p踻W41>.;v501hpNZ%-q;hO*¦ P`WϨ)\tޫR(VW-?*1lLCgԾg}䔠w^!W7Ҳ#d؋_câf ƌ 7V(Ԙ|84yҲBxNd3M T'&R\jp.ęvje'|4_IjYKP0 Gncl'm4>I>Si!~ÚxVSGRv( F2o1'y0JlijNin0 Tc!]2 ZbVg^P.#+i;?s%3aHv.QJnVnTxqM,ʓauP{ ƎŇw]fy2qq5@FȌX$YR?1mxPN_- ]BV\ ɳgӝƽH ?TH2wOċcxG1ʵ6y:$~%FІȞo u.{ɄPF@4O0͆xcDi"4Jis9rN1]NE[тrLY)>@%%VHT.lUŠ |vN~4$#aK:u{%~,1htRت{f*r1au,\qg,l"]GЊ= wRT-Z~oɷ*Jz:k7\6%~ĭ慥e\WG+tQeh V&ec`ϘchQkP?Enf/2%{$%BzWTH8+ aϟQ̳岡℉')O Rg=F~]09Qr T@q-/D8]?O|Srr6VJEa\>5dvgю1SvKeTh*y =;lZDe SMu/>MOvh?VYJ')BJ=qiw'JKH0=pu9=F:EY}2+eK$ 8ճeXrޡ&PP]Z,4x $bJxTT#]-63;wapww0; ;YI+ݝJUkwN$@T {;$C IIBz {PZBG^Wi84,)+D癙mv,bgccb "hblbLflN$!)DRTH]"[me$4U_0U!R磩I0FjPIjIhS JW,'c yXjaͷW[tW=ױ^ @ρ2⠿6kkݮWp:&eBBc/l\Ƒ]BC O/ *Zmӡ(lٜ\ʲDy~eX2wD/1/\]N9/mKt1J9VoYU.H,f|vl%uΧ +"jFʽ;YhUZWܵo&Oo^D ! @'UϿqƞdu]bh'nc3ǥt!;w`~ēNbUx~9xSOUowu>tLB@n4we[]ddbR:0 A*V}TH)ඛoD)ͩg(O}jػwݣ|Cz>Rᡯ}mᛷl~xY-mST @* Aࣕ\@HT>Jkd( ٳ0 ЇOUObinnΎrcgA?y6l嗷-+84V2M6m܈eYamXM2v*c#w sf ]y|k:AM?<yKRCT"1yʔ $455GJB%QR"BAAH(b; *S,ʾ /[tqM۶].WhN$B)M"4Mz0 عcsȔ)S&Fss3lD"lQs=۷+۶ViZ8ŦaH$mRVCU;3::%QLH&Yl \JAL: fG0GIIFX,Ps(#X(pZk(mL&CWg^~=ceR]]tL&I&O!P(pwm6tS -{6m:}D޴El>|JV> CCR(%.\۶ d2Icc6rXI)1M gR0m4uG2uT#i-'!DCaص#v~{}w[9#QJq􃘵}i5QXȰntDZ bu1@Ci;:8'0LԔEK9uPJ_R'0 IM,dBg2R0 Ca(vءKBק-ZD&1 %ZW1́Ӧ.׭ŋY|e̘1D"{@IE&AarA:!!ISPVR04ӟcuض=q|<hR4Zk hl>9"%a4MyYu70:: |GkQ,,%L&׾ 9=o|,`Su,5ܹT*Ŏ;xPX"q8D!Qi`;ȻjS ]vh'DhjZ[Zikmn Aǝ>o޼[n٨Ν;ŦMa1GlF#c_4_ .]˗o?/.^LwOON 38}čTsv% bA0 ks-048*Һz(hkkӅB5lV_Շz1ZeT*ao4;wy'ӧOgѥQn5fۮ0f<۶qn}*839ʎ鋟߰5WS.ܢESK=K d2s=::<sil̢f јCtvv"c'H) RUR4Cd2iRxOgreYT]bǟxlADk{V1q$$wanYtݽ^ J"BCO:()E;w`xp{Vqh C)Wp,َCJ}i}H---mc446,84\$ yUEƸK;mY:lzSOoa0>>N$$SI'M_?A4ŭVI _+LJ '@XAȊGd(m[:l2W~/<@.g``mmmr9 à\*k. >+ NI8YB5n(]]dbUY؆ұ,la^gg'Bt:Ʃޱ)S"b,Fk+J$Sma 0׸z-h-id<|naH" Fg0 1M~'MD0M : Rp/}_*2 _]c+#J@2FWg2 >޵4D k)SU4ZL ,k1-$UGl6 Қeٴqlynm0ضY~3/C)En4_R/~_{T}UdPJ36T*A0MߏX{/l̛ĉH6mp yQ47Gzce8H))!% €KRu%C9TazٻwD2QBnfjatt485ҩϠ_+~zzzxy˖ol۶C4$F_DjKp9G>S2R 4ٳkgTIRPJ<#J>:aH?:}u]֭]Òo t_ĭ b@\Pȓˍb6]y5XeKk (vDz nn\fv,"Lx!DGePD hmop+ƃ͛6"o F{ҢC)ٶ};i ͔JKFURNgH҄%"1A txCQJ6Fww7ik+$ȱI(R R4eFOEYHi@IQV=4a0< M`ʔ̟2?<8AfCxax0gl{>?j| 3 8-\eLذa=,7lϬ|j[#⢋1+;Xv-cڹ| 9fN}]3M>u7\\sE5kػwotk׮c/3}}}  ns]5kײfZN-[+~;0A0 x'fʕV[1r)2 +V\ /r{CZ\Oń>fϙ9BT*9֭[1-+ZT0Jr]`A@&\_XX>:{vR.Sٰa= Z~]uيeŷKlp+W]u#{n''pXzf8=…gѢE̝;02DmO\"#J)tML2);l&0<}ԑqzϤS(K #hjiŴL?I&d.ZN}{ xWXӏ]dɚ|PAMg``p}s;g̙3qzypT,fڴW@.. C?D2 e!V=*V\I[km?%ou ,?~]ssC{wOss;.xZk:,nVOJE" _Q"eT2$g8)y:h)iΌˁKo_t<ꨣK^ފ~x=^x?rgp9g}۶z*tHRuW\0B')"aQAR֮;oN:)ŸXNn{U~֭[w1s͛O4d6uC{yH)ԧ>e^@1FtJQI$S1y1G׉{[/,<4,ˢqǟ@dڵ_xZOjoV:Yc3)A*i Pugn&d:hLCJ\w= ihlzC|? ' B0|ɅWfÝɤRbiF[ԚMq AP*F( ٰ~=39$n5Fu'R.d8  wnz{'q3_ڴ'z;co֖.]ʐj8$޽tuw344H6%ϳzJ>Ab7O$bLӤZu}[l0MДzz{#_{s䥩7jgQ,hnj" %wd"Vq#hw$n4'sHdA)&+?Xr/~Ë[cu9D @IҚJoJAܿs+W6f[S[־_?Ƈ[Zg76f[Եpl2!đe-i73Wv~r,7zc:T,gWtwvO{F箿8sT.y3܂*h ϵʏ#i۷nزmc+?Ӌ2`͛;vmmkifZJTt*s!˔WYi;+%ɳϼ )SfZ[Tr熊g_Oz|B:RU;+dK}D~i̫sek+TypM~wUO}>P%VO!G@M&e_}Zm]@ƒWK]gW] `iɪ ו\9Zozn_nZtZ-:G$Ӕ^N(N2/q=eN$\>E|lm.o 1ۧd0iߪ}4yA|MެsJk˙C\h×!E۸o[4ntӟÖD2zp{'"\:C<+P%%vr|.ǣf+ۛ 9ߏʮz{OW9׳M=8Ҏ]vv9`t饞u S:l[&[e_$`g/)PyQ<~if6uh,xh`_ ?77bz3"qaE OE?7≉'ƒRYUf\14殯Tr>\UY iNXvBrEʈ;DdEgb( r\ԪxRb8i5ry pT.zkr,s(S-1C7jG4Ԋ2i4et*Yl@jM)n2NkO+"u5Y9LTU$j2"[alPQ"#< %jmE7Mw+9P_.FVaSRϸF@š ^Jyųuy̤sh:%þ25HX_6ʮz3BC)\G?#a].aqS.GeױM}űʜ,!-°?7ÃQMJ5M*MQ$U+ʽ p9nu˖S\L?Dʼr+" :n焻>|_F e4u\N%Ф(:řNk`i^:`kϏ2-]~&ܚMJx3D`TbQ7dױ0i `K8\mkZkYz{+JGXt547Tۡrs$H^$"-۪x%P֠O=ǻK,Wk}^١e^[es{ NʵM;\,tR=^";%C Τ*Yo!,25S& azP3\vH|K&eə |6+PnK@}]4YRQj+ץB6I?)*r`mqgڦK5E ot!0ͬXS)֡YvPM&Po HYW~bNIQ`p7*}cevmiY);GuK9rYOFDnה:G^=@8bfH6Q|{S_(ooM~R]&}|x.Tˡd/&Wu׍i^+W%o שѩC};cڅFXOHXJeM*|n9zֻLʇN8ASTȡ.\V7*s 7]RIh/_-q0uJ~=TQ"_i#oceEuiSSH@P6W_izyh̸#ּs+/nv.0 ~f˩U67GCľgXp"P;vܞcmz6kIW=Pi{)Q v iX|͑nq1Ctwk-Kcu\њ*jICiK݁U: ?X_LkX"X;quu׷ 55ǏS)39xšzL 1LrcY"v9 R#k`t/<ػ~ד9y:ZD:d[yق Osx6R#*Z[?Fq,"Ū-IT.*m.mu+ :Lg(D5nޓ(. Q$*`b+:s'l92} /.s27WKX<1Җu|yH%*+ hߖzޗo_uU7&|/_7fcjh?r;BFT,hK#D` %LYw>k@s#ilt3 OʮNsʼz0X}4Eyx!4H u4ێߜRc džbO Ǘ'h>߭@["I95m3vbÐ^ƱLhʴ].t^ P*˚IBRgYX3|TVy@0juoF ]F+JsoH> i.TxS!B$e.6%v HX/4::/L}U rie=޸!ߐu : =i޽Z|/˽Oִ7h\qq+Yd9 J;K0CoG]g6_ʮNms97Sp4 8ԛgL5R#8>Ҽy(.º2iGŐVE(KӔpB~Siwb Z $6į&߻@I2"P7| 87Cӥ+v|#`;[K3Z ${&tTD݄l`]G2h)^p=NiQ, U׆M/r;y18 XuMáIi,i@b?ŒpXK|«[y\ng_5A`g-3ߞd qGu{{jId^8BfZ]l CoYZug+]F+ٗX y=J84?J.4Ra<u㒃]O5Uaȓ~ eDig8g%+e>ZOaoANaiGSj9mokyغg?P1+e-f4aT|[޽W?0a\-<3^+eo-Ggnhڜ/o0N5m rd[ūUu$7a,mˁx~Lf=e5(D]E]uWʮI5[8͒/x5MF/x.ui8'{M[ֺ5UqI)TQ `iXKc Ӟ irѫY'Gh@oo>"-?XJC 8>0wf+=Z#v./>6~jݺLv8m4͡qesK{ozb(~-i; gƓtByNy\Q氎 (W5~v<q_ jHK6?0C"Z{׵@ԕhOe~ W (v,[Mp;0ٜQ{ kP+E5=Jh~]z8{@٨W\ok}@>)`rh&Js{[2w% 3,S(zϱ8w-g@me}rbX2%R퉦횖UC< J~ I33*d^u(fX2,#7cYF&M*~Np#rtnԌr4xM4nY|W+yRt(*1 <Ќrј7maQLCsXX/?Ё*< ]*@>\W_=ix2Y@anӀVv=ɰn')"` f](]L$"v)7IENDB`W d< x PNG  IHDR9pbKGD pHYstIME(5qIDATxw|\ՕǿMU̓4Tc@Pm 77' B %1) dٔ%.KL섄jۡVF%YҴwH3x~H={{946{z/+ڮ[)" j vThKR_mk]Z(bzMquc=ջW"@.x3ƸE7-_>dѲXEE[nwt^SMw8wBuLsElmk-\bPG3u:;_SKEXwklLX+?8a4|/m˻A74.cCxqL|cz8xK!ZZ BV0|G{1BE y0034.html Sistema Multimedia (Home cinema) ( ?0033.htmlDispositivos portátiles : c0032.html Smartphones y tablets  -0031.htmlGenerar vídeos  -0030.htmlGenerar vídeos H  0024.html El navegador multimedia de archivos #  50023.html La línea de tiempo =  i0022.html La barra de herramientas 9  a0021.html La ventana principal +  E0020.html Descripción de la interfaz 3 U0016.html Hoja de estilo ^ )0015.html Todos los ajustes de las tomas vs ajustes de toma actual R 0014.htmlLa propiedad "Visible" de los bloques y la gestión de las pausas $ 70013.htmlVariables dinámicas 2 S0012.htmlDiapositiva de título predefinido B s0011.html Principios del funcionamiento ) A0010.htmlCómo trabaja ffDiaporama  @d3a^@K! 0103.html!Agregar o modificar una diapositiva de título predefinido ?  m0102.html Gestionar los dispositivos H 0101.html Modificar las opciones del programa D w0045.html Tipos de objetos en ffDiaporama 9 a0044.html archivos nfo de XBMC 9 a0043.htmlArchivos de configuración de ffDiaporama H 0042.html Archivos de proyecto de ffDiaporama A q0041.htmlComandos en línea de argumentos para ffDiaporama 4 W0040.htmlInformación técnica en ffDiaporama P  003A.html Archivos adjuntos (Mniaturas, nfo, etc...) H 0039.html Normas y resoluciones de los videos / M0038.html Contenedor 3 U0037.html Codec de Audio 3 U0036.html Codec de Video 0 O0035.html Para la WEB `o7tKg&`12 Q0120.html2 Editar texto ?1 m0119.html1 Propiedades de diapositiva P0  0118.html0Situar duración de primera toma para una serie de diapositivas ?/ m0117.html/ Editar miniatura de modelo %. 90116.html.Propiedades de Guías - +0115.html-Generar vídeo ), A0114.html,Propiedades de la música 6+ [0113.html+ Gestionar estilos 8* _0112.html* Gestionar favoritos ') =0111.html)Información de archivo G( }0110.html(Corregir, reencuadrar y/o cortar una imagen o un vídeo 9' a0109.html' Seleccionar archivos =& i0108.html& Propiedades del proyecto 6% [0107.html% Exportar proyecto ($ ?0106.html$Comprobar configuración )# A0105.html#Propiedades del capítulo :" c0104.html" Propiedades del fondo Q~J{Q+{Q-yQ&G 1)img/arrow_down.pngGarrow_down.png$F /'img/Alignment.pngFAlignment.png"E -%img/AdjustWH.pngEAdjustWH.png D +#img/AdjustW.pngDAdjustW.png C +#img/AdjustH.pngCAdjustH.png$B /'img/AddFolder.pngBAddFolder.png"A -%img/add_text.pngAadd_text.png(@ 3+img/add_project.png@add_project.png$? /'img/add_image.png?add_image.png0> ;3img/add_cliparttext.png>add_cliparttext.png,= 7/img/Action_Wizard.png=Action_Wizard.png(< 3+img/Action_Open.pngP(fJ&pH"h>'= 1)img/SmallGreen.pngSmallGreen.png< )!img/Shadow.pngShadow.png!; +#img/ScrollY.pngScrollY.png!: +#img/ScrollX.pngScrollX.png'9 1)img/SaveAsMenu.pngSaveAsMenu.png#8 -%img/ruler_ok.pngruler_ok.png#7 -%img/ruler_ko.pngruler_ko.png%6 /'img/rotationg.pngrotationg.png%5 /'img/rotationd.pngrotationd.png!4 +#img/RotateZ.pngRotateZ.png!3 +#img/RotateY.pngRotateY.png!2 +#img/RotateX.pngRotateX.png1 )!img/render.pngrender.png!0 +#img/Refresh.pngRefresh.png/ #img/Red.pngRed.png. )!img/random.pngrandom.png- )!img/Radius.pngRadius.png-, 7/img/PrjProperties.pngPrjProperties.png#+ -%img/PosStart.pngPosStart.png%* /'img/PosSize_Y.pngPosSize_Y.png%) /'img/PosSize_X.pngPosSize_X.png-( 7/img/PosSize_Width.pngPosSize_Width.png/' 91img/PosSize_Height.pngPosSize_Height.png& )!img/PosEnd.pngPosEnd.png)% 3+img/player_stop.pngplayer_stop.png ^Z0`0pR0^5S ?7img/VideoMask_162x216.pngVideoMask_162x216.png5R ?7img/VideoMask_150x200.pngVideoMask_150x200.png5Q ?7img/VideoMask_120x180.pngVideoMask_120x180.png'P 1)img/Video_File.pngVideo_File.pngO )!img/undo24.pngundo24.pngN %img/undo.pngundo.pngM !img/tv.pngtv.pngL 'img/trash.pngtrash.png)K 3+img/transparent.pngtransparent.png%J /'img/Transform.pngTransform.png/I 91img/tr-00-01_small.pngtr-00-01_small.png-H 7/img/TimelineShots.pngTimelineShots.png/G 91img/TimelineBlocks.pngTimelineBlocks.png%F /'img/TextStyle.pngTextStyle.pngE )!img/splash.pngsplash.png#D -%img/sound_KO.pngsound_KO.png+C 5-img/SortByNumber.pngSortByNumber.png'B 1)img/SortByName.pngSortByName.png'A 1)img/SortByDate.pngSortByDate.png'@ 1)img/Smartphone.pngSmartphone.png)? 3+img/SmallYellow.pngSmallYellow.png#> -%img/SmallRed.pngSmallRed.png :~\>`.f4l:/h E%img/Transitions/tr-01-08.pngtr-01-08.png/g E%img/Transitions/tr-01-07.pngtr-01-07.png/f E%img/Transitions/tr-01-06.pngtr-01-06.png/e E%img/Transitions/tr-01-05.pngtr-01-05.png/d E%img/Transitions/tr-01-04.pngtr-01-04.png/c E%img/Transitions/tr-01-03.pngtr-01-03.png/b E%img/Transitions/tr-01-02.pngtr-01-02.png/a E%img/Transitions/tr-01-01.pngtr-01-01.png/` E%img/Transitions/tr-01-00.pngtr-01-00.png/_ E%img/Transitions/tr-00-04.pngtr-00-04.png/^ E%img/Transitions/tr-00-03.pngtr-00-03.png/] E%img/Transitions/tr-00-02.pngtr-00-02.png/\ E%img/Transitions/tr-00-01.pngtr-00-01.png/[ E%img/Transitions/tr-00-00.pngtr-00-00.pngZ )!img/zoomup.pngzoomup.png#Y -%img/zoomdown.pngzoomdown.pngX %img/zoom.pngzoom.pngW )!img/Yellow.pngYellow.png'V 1)img/Visible_OK.pngVisible_OK.png+U 5-img/Visible_MASK.pngVisible_MASK.png'T 1)img/Visible_KO.pngVisible_KO.png Jj8p> vD|J/{ E%img/Transitions/tr-02-09.pngtr-02-09.png/z E%img/Transitions/tr-02-08.pngtr-02-08.png/y E%img/Transitions/tr-02-07.pngtr-02-07.png/x E%img/Transitions/tr-02-06.pngtr-02-06.png/w E%img/Transitions/tr-02-05.pngtr-02-05.png/v E%img/Transitions/tr-02-04.pngtr-02-04.png/u E%img/Transitions/tr-02-03.pngtr-02-03.png/t E%img/Transitions/tr-02-02.pngtr-02-02.png/s E%img/Transitions/tr-02-01.pngtr-02-01.png/r E%img/Transitions/tr-02-00.pngtr-02-00.png/q E%img/Transitions/tr-01-17.pngtr-01-17.png/p E%img/Transitions/tr-01-16.pngtr-01-16.png/o E%img/Transitions/tr-01-15.pngtr-01-15.png/n E%img/Transitions/tr-01-14.pngtr-01-14.png/m E%img/Transitions/tr-01-13.pngtr-01-13.png/l E%img/Transitions/tr-01-12.pngtr-01-12.png/k E%img/Transitions/tr-01-11.pngtr-01-11.png/j E%img/Transitions/tr-01-10.pngtr-01-10.png/i E%img/Transitions/tr-01-09.pngtr-01-09.png Jj8p> vD|J/ E%img/Transitions/tr-03-06.pngtr-03-06.png/  E%img/Transitions/tr-03-05.png tr-03-05.png/  E%img/Transitions/tr-03-04.png tr-03-04.png/  E%img/Transitions/tr-03-03.png tr-03-03.png/  E%img/Transitions/tr-03-02.png tr-03-02.png/  E%img/Transitions/tr-03-01.png tr-03-01.png/ E%img/Transitions/tr-03-00.pngtr-03-00.png/ E%img/Transitions/tr-02-21.pngtr-02-21.png/ E%img/Transitions/tr-02-20.pngtr-02-20.png/ E%img/Transitions/tr-02-19.pngtr-02-19.png/ E%img/Transitions/tr-02-18.pngtr-02-18.png/ E%img/Transitions/tr-02-17.pngtr-02-17.png/ E%img/Transitions/tr-02-16.pngtr-02-16.png/ E%img/Transitions/tr-02-15.pngtr-02-15.png/ E%img/Transitions/tr-02-14.pngtr-02-14.png/ E%img/Transitions/tr-02-13.pngtr-02-13.png/~ E%img/Transitions/tr-02-12.pngtr-02-12.png/} E%img/Transitions/tr-02-11.pngtr-02-11.png/| E%img/Transitions/tr-02-10.pngtr-02-10.png Tj8p> v: T)! ;#img/Arrange/aodistV.png!aodistV.png)  ;#img/Arrange/aodistH.png aodistH.png- ?'img/Arrange/aocenterv.pngaocenterv.png- ?'img/Arrange/aocenterh.pngaocenterh.png+ =%img/Arrange/aobottom.pngaobottom.png9 O/img/Transitions/tr-icon-error.pngtr-icon-error.png/ E%img/Transitions/tr-10-03.pngtr-10-03.png/ E%img/Transitions/tr-10-02.pngtr-10-02.png/ E%img/Transitions/tr-10-01.pngtr-10-01.png/ E%img/Transitions/tr-10-00.pngtr-10-00.png/ E%img/Transitions/tr-03-15.pngtr-03-15.png/ E%img/Transitions/tr-03-14.pngtr-03-14.png/ E%img/Transitions/tr-03-13.pngtr-03-13.png/ E%img/Transitions/tr-03-12.pngtr-03-12.png/ E%img/Transitions/tr-03-11.pngtr-03-11.png/ E%img/Transitions/tr-03-10.pngtr-03-10.png/ E%img/Transitions/tr-03-09.pngtr-03-09.png/ E%img/Transitions/tr-03-08.pngtr-03-08.png/ E%img/Transitions/tr-03-07.pngtr-03-07.png NV'wFuFuN$7 3!img/Text/normal.png7normal.png"6 3img/Filter/Wave.png6Wave.png$5 5img/Filter/Swirl.png5Swirl.png*4 ;%img/Filter/Oilpaint.png4Oilpaint.png*3 ;%img/Filter/Negative.png3Negative.png(2 9#img/Filter/Implode.png2Implode.png,1 ='img/Filter/Grayscale.png1Grayscale.png$0 5img/Filter/Gamma.png0Gamma.png*/ ;%img/Filter/Equalize.png/Equalize.png&. 7!img/Filter/Emboss.png.Emboss.png"- 3img/Filter/Edge.png-Edge.png,, ='img/Filter/Despeckle.png,Despeckle.png.+ ?)img/Filter/Desaturate.png+Desaturate.png** ;%img/Filter/Contrast.png*Contrast.png*) ;%img/Filter/Charcoal.png)Charcoal.png.( ?)img/Filter/Brightness.png(Brightness.png"' 3img/Filter/Blur.png'Blur.png,& ='img/Filter/Antialias.png&Antialias.png)% ;#img/Arrange/arrange.png%arrange.png%$ 7img/Arrange/aotop.png$aotop.png)# ;#img/Arrange/aoright.png#aoright.png'" 9!img/Arrange/aoleft.png"aoleft.png =Wa(o8 j=*H 9'img/Text/text_list.pngHtext_list.png.G =+img/Text/text_italic.pngGtext_italic.png6F E3img/Text/text_indent_out.pngFtext_indent_out.png4E C1img/Text/text_indent_in.pngEtext_indent_in.png*D 9'img/Text/text_bold.pngDtext_bold.png4C C1img/Text/text_align_vup.pngCtext_align_vup.png I7img/Text/text_align_justif.png>text_align_justif.png:= I7img/Text/text_align_center.png=text_align_center.png<< K9img/Text/Shadow upper right.png: M;img/Text/Shadow bottom right.png:Shadow bottom right.png<9 K9img/Text/Shadow bottom left.png9Shadow bottom left.png&8 5#img/Text/outline.png8outline.png /q: n5[&`/.[ Iimg/MediaIcons/16x16/video.png[video.png*Z Eimg/MediaIcons/16x16/usb.pngZusb.png8Y S)img/MediaIcons/16x16/Thumbnails.pngYThumbnails.png.X Iimg/MediaIcons/16x16/image.pngXimage.png*W Eimg/MediaIcons/16x16/hdd.pngWhdd.png2V M#img/MediaIcons/16x16/hdd-lan.pngVhdd-lan.png.U Iimg/MediaIcons/16x16/gmaps.pngUgmaps.png:T U+img/MediaIcons/16x16/folder_home.pngTfolder_home.png,S Gimg/MediaIcons/16x16/file.pngSfile.png:R U+img/MediaIcons/16x16/ffDiaporama.pngRffDiaporama.png6Q Q'img/MediaIcons/16x16/directory.pngQdirectory.png2P M#img/MediaIcons/16x16/delayed.pngPdelayed.png2O M#img/MediaIcons/16x16/clipart.pngOclipart.png.N Iimg/MediaIcons/16x16/cdrom.pngNcdrom.png.M Iimg/MediaIcons/16x16/audio.pngMaudio.png4L C1img/Text/text_underline.pngLtext_underline.png,K ;)img/Text/text_super.pngKtext_super.png(J 7%img/Text/text_sub.pngJtext_sub.png2I A/img/Text/text_list_nbr.pngItext_list_nbr.png Km:eKe wiki.cssewiki.css d /wiki_img/Work.pngdWork.png*c 9'wiki_img/Wikipedia.pngcWikipedia.png(b 7%wiki_img/Timeline.pngbTimeline.png$a 3!wiki_img/Schema.pngaSchema.png0` ?-wiki_img/AutoFraming2.png`AutoFraming2.png0_ ?-wiki_img/AutoFraming1.png_AutoFraming1.png.^ =+wiki_img/Animation_3.png^Animation_3.png.] =+wiki_img/Animation_2.png]Animation_2.png.\ =+wiki_img/Animation_1.png\Animation_1.pngC0021.html(La ventana principal0022.html0La barra de herramientas0023.html$La lnea de tiempo0024.htmlFEl navegador multimedia de archivos0020.html&Ventanas de dilogo0020.html2Dilogos de configuracin0101.html2Opciones de la aplicacin0102.html,Gestionar dispositivos0106.html.Comprobar configuracin0116.html(Propiedades de Guas0117.html4Editar miniatura de modelo0020.html&Dilogos de edicin0103.htmlrAgregar o modificar una diapositiva de ttDulo predefinido0119.html4Propiedades de diapositiva0118.html|Situar duracin de primera toma para una serie de diapositivas0104.html*Propiedades del fondo0105.html0Propiedades del captulo0114.html0Propiedades de la msica0122.html2Propiedades de transicin0121.htmlSeleccionar duracin de transicin para una serie de diapositivas0110.htmlvCorregir, reencuadrar, cortar, ya sea una imagen o un vdeo0120.htmlEditar texto0123.htmlHAgregar o modificar una locEalizacin0020.htmlJDilogos relacionados con el proyecto0108.html0Propiedades del proyecto0115.htmlGenerar vdeo0107.html"Exportar proyecto0020.htmlVentanas varias0109.html(Seleccionar archivos0111.html,Informacin de archivo0112.html&Gestionar favoritos0113.html"Gestionar estilos0030.htmlGenerar vdeos0031.htmlGenerar vdeos0032.html*Smartphones y tablets0033.html.Dispositivos porttiles0034.html@Sistema Multimedia (Home cinema)0035.htmlPara la WEB0036.htmlCodec de Video0037.htmlCodec de Audio0038.htmlContenedores0039.html<Normas y resoluciones de video003A.htmlVArchivos adjuntos (Miniaturas, nfo, etc...)0040.htmlDInformacin tcnica en ffDiaporama0041.html`Comandos en lnea de argumentos para ffDiaporama0042.htmlHArchivos del proyecto de ffDiaporama0043.htmlPArchivos de configuracin de ffDiaporama0044.html(archivos nfo de XBMC0045.html>Tipos de objetos en ffDiaporama  Q{U/P-img/ruler_ko.pngO/img/fileclose.pngvN1img/Visible_KO.pngM!Eimg/Transitions/tr-02-18.pngL!Eimg/Transitions/tr-01-07.pngK!Eimg/Text/text_align_left.png?J#Iimg/MediaIcons/16x16/image.pngXI5img/Filter/Gamma.png0H-img/AdjustWH.pngE <!/=KYgu+9GUcq '5CQ_mx 0010.html 0011.html 0012.html 0013.html 0014.html 0015.html 0016.html 0020.html 0021.html 0022.html 0023.html 0024.html 0030.html 0031.html 0032.html 0033.html 0034.html 0035.html 0036.html 0037.html 0038.html 0039.html 003A.html 0040.html 0041.html 0042.html 0043.html 0044.html 0045.html 0101.html 0102.html 0103.html! 0104.html" 0105.html# 0106.html$ 0107.html% 0108.html& 0109.html' 0110.html( 0111.html) 0112.html* 0113.html+ 0114.html, 0115.html- 0116.html. 0117.html/ 0118.html0 0119.html1 0120.html2 0121.html3 0122.html4 0123.html5 1.html63img/Action_Info.png:3img/Action_Open.png<7img/Action_Wizard.png=/img/AddFolder.pngB+img/AdjustH.pngC+img/AdjustW.pngD $``v (E`})B^v8Ur/img/Alignment.pngF=img/Arrange/aobottom.png?img/Arrange/aocenterh.png?img/Arrange/aocenterv.png;img/Arrange/aodistH.png ;img/Arrange/aodistV.png!9img/Arrange/aoleft.png";img/Arrange/aoright.png#7img/Arrange/aotop.png$;img/Arrange/arrange.png%)img/AutoTS.pngK%img/Blue.pngL)img/Camera.pngM+img/Chapter.pngO3img/Chapter_big.pngP5img/ConvertAudio.pngW1img/ConvertImg.pngX5img/ConvertVideo.pngY5img/DISPLAY_DATA.pngb;img/DISPLAY_JUKEBOX.pngc3img/DISPLAY_WEB.pngd-img/Distance.pnge/img/EditGMaps.pngi/img/EditImage.pngj/img/EditMovie.pngk-img/EditText.pngm=img/Filter/Antialias.png&3img/Filter/Blur.png'?img/Filter/Brightness.png(;img/Filter/Charcoal.png);img/Filter/Contrast.png*?img/Filter/Desaturate.png+=img/Filter/Despeckle.png,3img/Filter/Edge.png-7img/Filter/Emboss.png.;img/Filter/Equalize.png/ dd &=Ss"8aGj=img/Filter/Grayscale.png19img/Filter/Implode.png2;img/Filter/Negative.png3;img/Filter/Oilpaint.png45img/Filter/Swirl.png53img/Filter/Wave.png69img/FolderMask_200.png}1img/FolderOpen.png~-img/Geometry.pngAimg/Geometry_ImageLock.png7img/Geometry_Lock.png!Eimg/Geometry_ProjectLock.png;img/Geometry_Unlock.png'img/Green.png1img/Image_File.png-img/Internet.png)img/Lock24.png-img/Lossless.png(Simg/MediaIcons/16x16/Thumbnails.pngY#Iimg/MediaIcons/16x16/audio.pngM#Iimg/MediaIcons/16x16/cdrom.pngN%Mimg/MediaIcons/16x16/clipart.pngO%Mimg/MediaIcons/16x16/delayed.pngP'Qimg/MediaIcons/16x16/directory.pngQ)Uimg/MediaIcons/16x16/ffDiaporama.pngR"Gimg/MediaIcons/16x16/file.pngS)Uimg/MediaIcons/16x16/folder_home.pngT#Iimg/MediaIcons/16x16/gmaps.pngU%Mimg/MediaIcons/16x16/hdd-lan.pngV!Eimg/MediaIcons/16x16/hdd.pngW #qq1H^y 4H`v<`!Eimg/MediaIcons/16x16/usb.pngZ#Iimg/MediaIcons/16x16/video.png[1img/Opensource.png)img/PosEnd.png9img/PosSize_Height.png7img/PosSize_Width.png/img/PosSize_X.png/img/PosSize_Y.png-img/PosStart.png7img/PrjProperties.png)img/Radius.png#img/Red.png+img/Refresh.png+img/RotateX.png+img/RotateY.png+img/RotateZ.png1img/SaveAsMenu.png+img/ScrollX.png+img/ScrollY.png)img/Shadow.png1img/SmallGreen.png-img/SmallRed.png3img/SmallYellow.png1img/Smartphone.png1img/SortByDate.png1img/SortByName.png5img/SortByNumber.png$Kimg/Text/Shadow bottom left.png9%Mimg/Text/Shadow bottom right.png:#Iimg/Text/Shadow upper left.png;$Kimg/Text/Shadow upper right.png<3img/Text/normal.png75img/Text/outline.png8#Iimg/Text/text_align_center.png=#Iimg/Text/text_align_justif.png> cc .Pn6Qh4Vx"Gimg/Text/text_align_right.png@$Kimg/Text/text_align_vbottom.pngA$Kimg/Text/text_align_vcenter.pngB Cimg/Text/text_align_vup.pngC9img/Text/text_bold.pngD Cimg/Text/text_indent_in.pngE!Eimg/Text/text_indent_out.pngF=img/Text/text_italic.pngG9img/Text/text_list.pngHAimg/Text/text_list_nbr.pngI7img/Text/text_sub.pngJ;img/Text/text_super.pngK Cimg/Text/text_underline.pngL/img/TextStyle.png9img/TimelineBlocks.png7img/TimelineShots.png/img/Transform.png!Eimg/Transitions/tr-00-00.png!Eimg/Transitions/tr-00-01.png!Eimg/Transitions/tr-00-02.png!Eimg/Transitions/tr-00-03.png!Eimg/Transitions/tr-00-04.png!Eimg/Transitions/tr-01-00.png!Eimg/Transitions/tr-01-01.png!Eimg/Transitions/tr-01-02.png!Eimg/Transitions/tr-01-03.png!Eimg/Transitions/tr-01-04.png!Eimg/Transitions/tr-01-05.png!Eimg/Transitions/tr-01-06.png HHj6Xz$Fh4Vx!Eimg/Transitions/tr-01-08.png!Eimg/Transitions/tr-01-09.png!Eimg/Transitions/tr-01-10.png!Eimg/Transitions/tr-01-11.png!Eimg/Transitions/tr-01-12.png!Eimg/Transitions/tr-01-13.png!Eimg/Transitions/tr-01-14.png!Eimg/Transitions/tr-01-15.png!Eimg/Transitions/tr-01-16.png!Eimg/Transitions/tr-01-17.png!Eimg/Transitions/tr-02-00.png!Eimg/Transitions/tr-02-01.png!Eimg/Transitions/tr-02-02.png!Eimg/Transitions/tr-02-03.png!Eimg/Transitions/tr-02-04.png!Eimg/Transitions/tr-02-05.png!Eimg/Transitions/tr-02-06.png!Eimg/Transitions/tr-02-07.png!Eimg/Transitions/tr-02-08.png!Eimg/Transitions/tr-02-09.png!Eimg/Transitions/tr-02-10.png!Eimg/Transitions/tr-02-11.png!Eimg/Transitions/tr-02-12.png!Eimg/Transitions/tr-02-13.png!Eimg/Transitions/tr-02-14.png!Eimg/Transitions/tr-02-15.png!Eimg/Transitions/tr-02-16.png!Eimg/Transitions/tr-02-17.png VVx"Df2Tv Bd!Eimg/Transitions/tr-02-19.png!Eimg/Transitions/tr-02-20.png!Eimg/Transitions/tr-02-21.png!Eimg/Transitions/tr-03-00.png!Eimg/Transitions/tr-03-01.png !Eimg/Transitions/tr-03-02.png !Eimg/Transitions/tr-03-03.png !Eimg/Transitions/tr-03-04.png !Eimg/Transitions/tr-03-05.png !Eimg/Transitions/tr-03-06.png!Eimg/Transitions/tr-03-07.png!Eimg/Transitions/tr-03-08.png!Eimg/Transitions/tr-03-09.png!Eimg/Transitions/tr-03-10.png!Eimg/Transitions/tr-03-11.png!Eimg/Transitions/tr-03-12.png!Eimg/Transitions/tr-03-13.png!Eimg/Transitions/tr-03-14.png!Eimg/Transitions/tr-03-15.png!Eimg/Transitions/tr-10-00.png!Eimg/Transitions/tr-10-01.png!Eimg/Transitions/tr-10-02.png!Eimg/Transitions/tr-10-03.png&Oimg/Transitions/tr-icon-error.png?img/VideoMask_120x180.png?img/VideoMask_150x200.png?img/VideoMask_162x216.png1img/Video_File.png )nn.F[r2GVi}(>Od}5img/Visible_MASK.png1img/Visible_OK.png)img/Yellow.png7img/action_cancel.png83img/action_edit.png9/img/action_ok.png;;img/add_cliparttext.png>/img/add_image.png?3img/add_project.png@-img/add_text.pngA1img/arrow_down.pngG1img/arrow_left.pngH3img/arrow_right.pngI-img/arrow_up.pngJ)img/ccbysa.pngN'img/color.pngQ1img/color_fill.pngR-img/colorize.pngS)img/config.pngT3img/config_menu.pngU-img/contents.pngV!img/db.pngZ)img/db_add.png[+img/db_menu.png\3img/db_menu_big.png]/img/db_remove.png^/img/db_status.png_/img/db_update.png`1img/defaultmap.pnga%img/edit.pngf-img/editcopy.pngg+img/editcut.pngh/img/editpaste.pngl%img/exit.pngn-img/favorite.pngo5img/favorite_add.pngp;img/favorite_manage.pngq7img/favorite_menu.pngr3img/ffdiaporama.pngs7img/fifteenpieces.pngt9img/file_temporary.pngu &mm&<Nq5Om!AZy1img/fileexport.pngw+img/filenew.pngx-img/fileopen.pngy1img/filerecent.pngz-img/filesave.png{1img/filesaveas.png|%img/font.png'img/forum.png%img/gmap.png-img/gmap_add.png%img/help.png"Gimg/inheritance_down_lock.png$Kimg/inheritance_down_unlock.png+img/journal.png/img/kmultiple.png%img/logo.png-img/logo_big.png'img/medal.png5img/object_image.png=img/object_imageHide.png5img/object_movie.png=img/object_movieHide.png5img/object_sound.png3img/object_text.png;img/object_textHide.png5img/pattern_fill.png1img/player_end.png1img/player_fwd.png5img/player_pause.pngAimg/player_pause_small.png3img/player_play.png?img/player_play_small.png1img/player_rew.png3img/player_stop.png)img/random.png)img/render.png/img/rotationd.png/img/rotationg.png xhVB0qR9/wiki_img/Work.pngd9wiki_img/Wikipedia.pngc7wiki_img/Timeline.pngb3wiki_img/Schema.pnga?wiki_img/AutoFraming2.png`?wiki_img/AutoFraming1.png_=wiki_img/Animation_3.png^=wiki_img/Animation_2.png]=wiki_img/Animation_1.png\ wiki.csse main.html7)img/zoomup.png-img/zoomdown.png%img/zoom.png)img/undo24.png%img/undo.png!img/tv.png'img/trash.png3img/transparent.png9img/tr-00-01_small.png)img/splash.png-img/sound_KO.png-img/ruler_ok.pngWVKKUT 22Nt##/tableFolderTableFolderTableCREATE TABLE FolderTable(Id INTEGER PRIMARY KEY, Name Text, NamespaceID INTEGER )X''qtableMetaDataTableMetaDataTableCREATE TABLE MetaDataTable(Name Text, Value BLOB )J!aindexNameIndexIndexTableFCREATE INDEX NameIndex ON IndexTable(Name)X''oindexFileNameIndexFileNameTableGCREATE INDEX FileNameIndex ON FileNameTable(Name)V#'oindexFileIdIndexFileNameTableRCREATE INDEX FileIdIndex ON FileNameTable(FileId)  $*06<BHNTZ`flrx~ &,28>DJPV\bhntz "(.4:@FLRX^djpv|       !!""##$$%%&&''(())**++,,--..//00112233445566778899::;;<<==>>??@@AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ[[\\]]^^__``aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~ e (08@HPX`hpx (08@HPX`hpx (08@HPX`hpx d (08@HPX`hpx (08@HPX`hpx (08@HPX`hpx            !!""##$$%%&&''(())**++,,--..//00112233445566778899::;;<<==>>??@@AABBCCDDEEFFGGHHIIJJ 0xph`XPH@80eeddccbbaa``__^^]]\\[[ZZYYXXWWVVUUTTSSRRQQPPOONNMMLLffDiaporama/locale/wiki_en.qhc0000777000175000001440000002000012275647351016574 0ustar dominiqueusersSQLite format 3@ - ${e'' tableSettingsTableSettingsTableCREATE TABLE SettingsTable (Key TEXT PRIMARY KEY, Value BLOB )9M'indexsqlite_autoindex_SettingsTable_1SettingsTableh##tableFilterTableFilterTableCREATE TABLE FilterTable (NameId INTEGER, FilterAttributeId INTEGER )l++tableFilterNameTableFilterNameTableCREATE TABLE FilterNameTable (Id INTEGER PRIMARY KEY, Name TEXT ){55tableFilterAttributeTableFilterAttributeTableCREATE TABLE FilterAttributeTable (Id INTEGER PRIMARY KEY, Name TEXT )u##1tableFolderTableFolderTableCREATE TABLE FolderTable (Id INTEGER PRIMARY KEY, NamespaceId INTEGER, Name TEXT )x))+tableNamespaceTableNamespaceTableCREATE TABLE NamespaceTable (Id INTEGER PRIMARY KEY, Name TEXT, FilePath TEXT ) )#ffdiaporama_enwiki_en.qch  doc )ffdiaporama_en )ffdiaporama_en  I+ 9FullTextSearchFallback %CreationTimeRMR ) HideAddressBar-EnableAddressBarAEnableDocumentationManager; HideFilterFunctionality?EnableFilterFunctionality6)WLastShownPagesqthelp://ffdiaporama_en/doc/main.html7+WdefaultHomepageqthelp://ffdiaporama_en/doc/main.html#)WindowTitleffDiaporama_en&-3LastRegisterTime2014-02-09T10:41:38 #G\4{9FullTextSearchFallback %CreationTime )HideAddressBar -EnableAddressBarAEnableDocumentationManager;HideFilterFunctionality?EnableFilterFunctionality)LastShownPages+defaultHomepage#WindowTitle- LastRegisterTimeffDiaporama/locale/wiki_en.qch0000777000175000001440000624200012275647345016613 0ustar dominiqueusersSQLite format 3@ Q-M  )ffdiaporama_en )ffdiaporama_en )ffdiaporama_en      (main.html>Welcome to the ffDiaporama WIKI0010.html*How ffDiaporama works0011.html*Functional principles0012.html,Predefined< )~!h)) tableNamespaceTableNamespaceTableCREATE TABLE NamespaceTable (Id INTEGER PRIMARY KEY,Name TEXT ){55tableFilterAttributeTableFilterAttributeTableCREATE TABLE FilterAttributeTable (Id INTEGER PRIMARY KEY, Name TEXT )l++tableFilterNameTableFilterNameTableCREATE TABLE FilterNameTable (Id INTEGER PRIMARY KEY, Name TEXT )h##tableFilterTableFilterTableCREATE TABLE FilterTable (NameId INTEGER, FilterAttributeId INTEGER ) !! tableIndexTableIndexTableCREATE TABLE IndexTable (Id INTEGER PRIMARY KEY, Name TEXT, Identifier TEXT, NamespaceId INTEGER, FileId INTEGER, Anchor TEXT )c))tableIndexItemTableIndexItemTableCREATE TABLE IndexItemTable (Id INTEGER, IndexId INTEGER )x--#tableIndexFilterTableIndexFilterTableCREATE TABLE IndexFilterTable (FilterAttributeId INTEGER, IndexId INTEGER )   {''5tableContentsTableContentsTable CREATE TABLE ContentsTable (Id INTEGER PRIMARY KEY, NamespaceId INTEGER, Data BLOB ) 33/tableContentsFilterTableContentsFilterTable CREATE TABLE ContentsFilterTable (FilterAttributeId INTEGER, ContentsId INTEGER ) 77#tableFileAttributeSetTableFileAttributeSetTable CREATE TABLE FileAttributeSetTable (Id INTEGER, FilterAttributeId INTEGER )f '' tableFileDataTableFileDataTableCREATE TABLE FileDataTable (Id INTEGER PRIMARY KEY, Data BLOB )t ++tableFileFilterTableFileFilterTableCREATE TABLE FileFilterTable (FilterAttributeId INTEGER, FileId INTEGER )| ''7tableFileNameTableFileNameTableCREATE TABLE FileNameTable (FolderId INTEGER, Name TEXT, FileId INTEGER, Title TEXT ) zy9 ;:X9E8476 5x4e3Q2:1"0 /v.^-D,0+ *  doc "%3CreationDate2014-02-09T10:41:36!qchVersion1.0~r$ܣ7}Sq@}H%6c޽{m?í.ePXg?uֲK ʟ DrѝʁA5JoԠMwol@rŃ>2w$W:M+|YZ1}Ҽ02z@uRY)Ӆ NP{F}G$&( HL%L dqaRL/d"â/.C"B"Jqa$?>%L!_ĊݛX?fhE-E +~@y+mZFҽ'c{j$4K%FR( E k5>h `i=󔌻:9 Z؂bp`M)Wm`(w[?$#r4 iT"[")A։cד\J'͆ ):$ʐ-G#JL)e>TqJ@\eh*ʧH'S"),넒;ldk HL\qtK*hl5!'V F#6 @~09m‘_Dz[߫.^1Pua/"2V²|#βE ro.pܧ irJEaWAVP<1Llsy2/DG֭%T͜ΊTcI["vPSr,׬RI2=DnjJE9PmXRࢠ<[d@F`هHiL~:*Lb{+qCk;6 ZmH-y+5U rbpRQY6{{ cejl;rxAKTy΃(E١ pfc'z+Nƴ3 {@9GTya =oD G Y a{(LǷ\ #q/ZcIdc'ŀaIzI["=x}/B'[Yp%p!OxELیƢC0I}-ƀ]PvT}:pl G~]؅a_ K;YOMp,AGhKs!Aw2;, 1l5,v ۸ƗVhkW>:CiPij68.*Q{_vsLʱ6Nh1궙u 9pm=k{e(^,|\7oOac[ DjE6ɵ쐰;y0ujFaS&ioXH|XryUir܇)='w>{c9G߄ 5Ϧ>= ?IcJ~WZQl6A~u=QؚYF!\hV805cds1vS2&ׄΣה+jaIJ>:NMҿ`CGۈ$i+auIsdr/N_UZ b[tfҬ^ps2S<}Xav#oRWc>X'֨ a+D liYTu%PԮa ."{1H{D9Aa,Un$7JlNB֩nq>6qXua'O=KTzQn50m%/h֑^3㸃+b=N_7i7uF.X{+FVbS}@.]M{z;FYITuM ]ZH=dԮjfUا "`,-o#WrL^Ș@<:<v?.nųz@ ,J+B| ^􉹪BبtC!5VR[CXU#dGEZDs"50z(tek;#.w!uakW?Z8bWo4<[u!,W(_j^#R fى'¡+tEn / ڀq' @^,a5͜6N/@SڡFT80(_"-Wc/Pp$Yjou7*~5FǪxQդP9YJ+^ɇ^y|ean6B0mЈ'azgmM*_ZM}"ጩNcPG@D»yv3]ʳf||N"t߳'un'Y2)B}MߊpՍw"J.~s+R|_ QBaPSχAjAɍ62b2\f0%4i*, u{1pA)"kk`>]ǵgK&鳹~4k_rSqvpcZ|x>D&UUbt* U#J4pԩ P0/W"U%*Jpl-4>b͙šu^%+|(TxTmk0_qӇ}Kn(i>"K$O=xal t=Ͻ)zv* db&a *cBNt$>=ņD >dZ9T.f+*a,1053|ji| `Շъ M5%jh]KڂA3mFC"f{<|H#?1Ju~iwЈb\RL7g%$Y9Ҫ ^PB#$*E0d8 BSV܂.qɏppnƧv! RZLb>rVOC]y6kU ~cHeF\\/:77ܽ RC7`%x/5|jNRc w ELζ}Ck~,2I $@`+`ʮ-BY\W XeNI%`MV0ڃ'oXQq>޽?{9?[8K:3j Kxz|ɖ賏ɐY^Kk ӼY[_KI,YJ|HN9B9KAN;n Fvo2nrLBB+ʵ?nzg\j˃)m8 sVʂ/HRAXSU;)c&2YҶ5ȠFKAR!%rr+{V/^)`WZd&U7|0Sy@qjj۷{Kc+rv2}_qbhK2aJ~L&6:؀RG.t4`5΅=wZsB>%Wņh진gW;Tl=p^G8F٨7 P|-7QtQNO9Y3Q*RZY04O{d0YUD`<ݟu ̯n G|Dy.9ˆz J2i>-XE'li/^51DYYݬ{]ai Ec݊ &϶B?di'1>@ctuKI?XkkTο#;yEF' MK=WWXtw5>t$Lͷ,3ZH-FQ آPM"ZWi3%I=AI$ %ȭeMriO~:tMtHq%)ש7NK->~u#qBI@,hRD #Ot:,XIL9CrI *>ޒuvP̱r@Z~# gIi.ي cJHuµ$hKȂy@X~TC!u+6Xu )3,\{&OoznoB=gѶs{ dbW$6;wkwlXy2Žef%2)!eF*g'fs[3=K\5 fg&s`mux:u69=*;oNvgp(@ySl=Є]zo[ >^@w>>`#Em|Fn+~a-;* . #BÆy^  ͿSb1H1x Zb FGF&ymM40<_gz:O,בĮVy ضzf3RL~zZ)@qٝԢP:n# 7(ΞJeܢ}L\sG/hTu5c&7㖠<>f]ùsٟp}=u&5ʈ1KlUQQΕ{I*UCTG2SPȓ$D>rfu7 SNݰ5{RPS!*6(px*Ŋzͧ񥴎EKƖz>N22> Ɉ6 0xWM6WLu(Z^F&] @@N-RwHJևI/(r͛G:7ۏ&$ o ee4 xWAo: Wu^ aaxA[,y,׏ı!]Kc"?~G?ܮW9J"%Mr 34 {O2o14H ~ c(?\IVgd4 h շdyDghQ b>4MciePDc 01 =v)ڪ߳D_^j?[sz>` FHU!4CPSI=-{Q9|8#R[XW)C (#u_ :A|`@nq*(k@j,AK&q6cz/{`߈%0a lG onTK=\5ZzqJ ͒ eB,1dրv;U ViqG_EU MuΓ1V[Y'Dy6S-uEB?A)igdė͠(K6{׬H֔m<=;Mb3CL"#C(;>/iiw niMx1y v*4 h4:`MrudOj vdL gP"HE^ru9+C~Ј{C# FbH4GU :?.~,#JE ĩ"3X/Yjk,\X_% MQ Cl7t zE #]'=FzQ|$a{^$umv,A~" ɞ@M w]$F>0i=%R3Dy6\Dl7Sn z x1xXo0~8]Z?ƒI0@BbbOȉ/c;idS::}|wvB= 0#"& "=9R[]?EI4/-Wl FIKxT5ql9__Dd}bJ$s;:~v˨hCB99J6=Ҵ0GZJQD+&G<*ckiD.`eƠc+v՛źAC^d`t'*S?b2 ƅ6%sn`}S/riT/i* 2Q`[T- nf?OjKF:r"0o`Z.ɟBWfN<ڷZ<< Suu prI6Q/*gAc׭$.Լ;>x;L969quBRVWy3fa~ k@fC Hڶ?xQҫ a%sZ,Z2TR YWrYes7axhE(V:r]µ^bY]𫮚<I 4TOq[-c7LS0j.L^K#"4mT^ȫ?f8n v织 kϰa[i\cf}=UZDD Wq8k;nFvL^Q;l:6_b1h}ruw-A(9~&Ghɧۊimr; oӀn&hv]D_'Byl}&>ǰF ӿķpX^tf8>C&aMǸv%.\W~q5[-2)Џ) x\׾ Vm/<(2I`@7' ==8 tpxXKo8WPNM{X4r ,I=#i,H캿~lKnvs/Ѽo׷o?/\q$@*HyN8ISPiqRCȴr8r^dS4_k\8jOܢhȫK%!63`wypfc hܦ:1#E *8E,wBJ6BY#G8;Ks[EǤklܯJN1N-*˙DTgL@jr\?wk8-f?Gw ә*d!LQÉԘʲL WBtd?ŃvfRC~E,T6"߱1hoJ&l;a$ÝC*`ga;Y r̿+ʃ|>CpU-c~7wlxRxpQNܼlyMfA7EN.U2(_aĺ_x;%w<+#Dy>N%Œw(Fuǯ` x,:P@GIEϵ畩4]ZFԝ+o}iH i˙#J\!4XZSM5P<]A^>Dwd9˶2 kzHfP2ǸkbLdG"2- mߦV]7 F K6.ۀN b>Hn^[R "4"?[-ߔA RR Tv?` T3KB#*:,"(O?6Ud#LƊ\2dt;͍κU̦=&Egxƒ +NPlaAvi3 Nϰ KuӸhԣTa hMq,ZMPyʏ$)~C Sѝ"TU ^)sޖ?s r 5ۈM3Mr/b>cVL)qpt$4d,(gUR>T6`[ġ۬*ԭHyUuW Ag'0tPVBRIm;$Lf.b5~nM'd鳩Sw2w X$VyPnqS/Wn{`,MʕI~B㨄9ь;&1ōbapY%-U0mI>:|5̑ i~b(c4{Vvȁ`:'Y(z7yLQO曎RI4a.Dat[n,[|[uOgiM1s:_`^6cɢk!I){aՔ˜6~fq>p:IA5mzX⺈HW"_} M+m'`" ;9іثôLvJcy/'scPݘfN,gγG=g\NAq/=OO+rوo䒑'0[.#yIJ-Q9Zd{./[U>W<A*4=|-EZ*QS9vfbF3- њkhCmLؐ+(W Gu b@̸wؑ ~ȷO Lz%g-wR_EB.?+:oxTTv-'1d4b3af'& nX{?3ڨXcyN33[•gB\u2||]ZF;5|i/H6:W:}jE/`CiH;N9uj+Zs#`\P'aμF|n4fuD SS $#xZKs6W%ҋ&\MԨT#0 dax]mSHb:@ة٣6/\`/wRcm2(3#{4e[8)R%=/tKNFO=BiuI;o~b +azM?c`V)9z:;7,P;nl(`̵rem~߶:s3y<xa1+]%E|4~؉3FU ε;tם^oIiP\-l6HUa\i&4AJ5|`;!uٙVB`gpCxLJb!xQ21nc{{UhJI ank둈% {vI Z#Z ä8,9"^˦([ CA]zw^!Mzͥ<$vLvCTk1n@ !x=7nf3[R[׆?׹0\mw H RV"xBW+V\拳*9dhŠqш;;D'NnJ^>Zs.>ږ|aHhglewqޡ&w;!C Ix#?M'bەcpϳӡ*H"gj _)P qk"+G8k0bxR.X0ldPIa0o&D$JL?ޝZ&?a|5 Yޫ/tɂJ' T4dhA36 ha-Q,lRL@P#"Vl1 sVen;ktc:Qg+Eflr,HI_&f76aCTX j tFN΃-V™12-Ao)\1 h5+bn00O cd!b'X~nRݍ _ <_.E]Ap] ᧜j‭,tCQ|w%kxL]>wyE6,Asq@$5-Va{ M:x*1/صҍ'5ʺ5BQE(rܲ=B3fDK$l` /Pv&iD@Q\"D$|4.E[GX s-P(EwA¯ˤ 5d4*uy"N+xN<x2qJHO뾒XS4%s'i ]Bdiz#r|&Vn 1 ^>`si H(Wjk1u#@R-{B0rv=X ef70u GΑ |'շJ.S|O)c1M %LA>Q=x 1egG=ש,lRja7NRh?88s:WZh=Y|n%umszN]8mu\2'R{U=mea ;6H?VT0'^pj{VОh@¡=`E׆O/'dՓVHHevD~ͳ:C.Uk}sxVTUHu՝UPHX1V3Mu(}!_{}Aqxd{ZhS5igD,OzUkN̊|8,n/M#U_.r"7fj5. W5v @.P°+f'I?{t&nP `94T+ wq v)lD23ݝ\OIU8sa44\mb ĉ))XabVAI&Z-а9;$}sXa)wp)Bmg7peH -l3Dy=]c=F%ƻm1~˴ DB>a{ pdh9Q"2VK"/o>hBU>v$!MpA;t֦J/C-@@R-OX ϭŰJY姳v RcST*p.q%9v0H9%R[1==.PSK'^2~aIXKs5j+3kT>#>f7D|s`!KIQ?Xvf=&*5HƘYm! NGQHV1 - uv eWY('^zpV?2fzTU|uuU=%7T$jnhQI%t=Cd:uX (lWNy@_֫8ZW-BiBn!Az9tdZЄ%;?Z F4!37u#bCggs"K&PD ]3u8\$J"׃68 $f ahXKs\,i< S5} <[p.C 7 l"#byi &G;!\8d6OhEx(n!Nq~,o$B4~@_Q4۹fH,E4&jݙ>L"w;Sk?ڞǤս4iaqMEAHЉ)Q$1@guxVՙjMyJkjXOI-/٣4֗?5eۦoP {mnSݖ4e\&s9#u'l\r03Bz"P(gҴ#9A rPuP\0ؤľu {0QMfeC>N6jM7T {ھb[0Ȍ¼NW][ }]oXo:J,RDTIs`$-@ aBU_J { Clm,ջ F 1IpZlKfjz\K+6C_$JZd*,ʂR0 IN8lM>`~bS̥ ˁeDMo,>VܗKйk盓 ϚbǙ&d@k+Q2BQ=$ĆJN\(.d^h l]VV qf(=ث ^^>DBE \oyuD >jmح9y㩀?w&Iy]|xw"m\G I]&&/ikL@bs~Ezv%._yk"-;m,fYC\XXjd%7uϹ6yfMҦ (Yx xf lpj,4M{I٩]gtCƖRYˎ3 ~M+WuW߿e޿)װ_~x[;u۽=~g~iH?P1xe"g'|atROTKxtEd@X~*Q:A#.O_uTT:p/܅ׇTa{Tb[~%YĘ݊Dn^ ZԯyxO&>JXE:}Q*=.RUYyDJŭ e i9gT &,h![yJMd$XzLliR϶hGSV*=t2?1u`Y'ޠzCtvlǔ" &eHBFSqSaleP]>6H?xz`!iGdu1_2ePb=6j3,4VXORKfeI/qCg 80qi꺶 T)gQwU\_p^:;  1Y} ó#d3`8]k|cܕadabطgyݵRll4S?RS%qGٲ\Jy4hTQt@weW+)&&;:;-☿_6{w+ɞ^UCX{Y\l81'iYW'}#T}G[UFM Jg^f[|':W颩-tߌORc_^4)1EmcHpBb>.~=o IB ll `xr6_Cי4vv3vƛLl DBjdP{HɺF/(8N޿-ItMPNdTE<tD9?V7wLGS$⽫N}D4Q|٥DtxfƉ*)tEB09,j%y-+$4n(UAJC4mtf7cLɘ   7fOL"C8T ^0c i2PĆNUЩN9ksxnHX20r $f,'&ѻh(O y=h+(YJ$S [XȈG8 6"Jda#-2IaY4q1#,=Yf_)~h.ic (-3\_Xɍ)nt:RdWtYp&&Q  _ۉ2P/(&\]^.?Ϣ`h7sJ '4%Q _gD]=8]a}- Z[)VQ%a՞ؚ]bhOyYʥg /7s #)CӈϘ(c8%JW"v?)9 dsX D(. y ZB&b @:$9EBP9|k* [fBR [% >[>$LExX[oH~8bL(4JRlBjlQwf 1B.Ҳmv[ ~bBj2MAUFy X>x{]Y\-p#pH*BGW Hs ޙ?(eJ\?Gf -bH䷣t@s|Jks+h"&ި>2`:aDhX4+lv~ށ' sM&mF]E1kO\'vL-Ʈo-yˌMTsLmN\6 *]l8opqcTdǃՋ{6vܥVz>Gq?m|J*򮃜5% rAΗ8hVD/RnqJ "X&1cĉv$E$Oc,],](ZrA٤q 5LNت?l^.;@)jk . q_..^ | j,=g7) P"]}.VJNK]!`YȀuXZpAo(gQ{ONmԜ׋@aYfۨ3ZԉKG/J0NQK؂(eًWs842ʅ\LbDЉʧ;o=}>G:Y9-tx#6-(g)INoIV q;Ш{14f4gGdWN򡊝s z} 18)b+TְP=epo$:brErHƋ'q70E' 5e|$B O! pH!z"2Zm@t:9V:$)fG 1ʊl%V (KVNKmr; _zYty ɂY}GJÞdEu{YfʼnBP8`qN:uaK*`D0,8ccta?wIizx82Ef* ?Pn"顗#; ӱڍk=<8ՓZ6t4FTM`xp[#d/PcK_} ֗*kbt|SeZLG5&r3GKZX]s'L:%'ȩ8(DW{cQ O)ZBgV4NH3z}6wiB1Q  ( 1TH=tw=@h>T@|2#Nf?pQRO6r\f+i 8א2n69t=xfy= uB9+֟aWEofnABT Grr"k7`[r,L>\z;)/x yB]'_">%>&ZU==>uqH:Ompe b͒gXb@9 F욧s"P<pqfM(jc=4o gi@eP@1͔"dѦ=ôjk1`AaInWwWX 5lnn`S4^HKLyl`uH %RooGTҼ-,efdBHr8@BIa>*+.(8*rŝe/_Eb_P*JDc⎎v<#ð}dŀtժ5Gka#ٌhɯ($WG!$:%ϯo&d-47NHBk`Q#heȀ*egLP*7]CVhnBa5YT-NX~2p9.VHøX4W>L-Vb h)8⢕'<_NOe׭Z,% @zh4>h <$hBcOE)T :HѲ+|}Rט ? '9F#՝~]g˳tЗyT|唊[U\,՜dߩ슆UUд5+jbS;i-}ife6ȴ%o{=IQs݅jVyٙy+{ w^vaHgެe=Ǥ փJ'MQ,>UKԢ< 1|ZS`sv#LO1[j}:z.H9&[՘gl?\rem޸Zw!\mlm>UT>#4P1q1YJZW}:?Y1JGU.m\0^=tWuG||3 ٿXH"u2CJJnZ͚5'8gْ[=m~—Ⱥ[Owr:{SA[*q}ݎO%'K{1CJkl-3/ ?;{n٠bV>vG[AIvF.1M!`1"8%_([j]2<J.&,U20_3Y@Ů er4xl_5θ?Q_6wo{30o8_Zٓݒ d25ϝ%9g/8wv͏9?][Ÿ'x(I2tϐN37wjmG¯VKDPskN6?|}3/~8xNlJ)?IRYA2x4ToAxx`5ZXiMZ+L:ތ +C|З5BQ` %bSTsF=3R˼9C]T` NP ;{m`q-^,rжy]=&V7bpx!n'JyGRHu j@FsTg)7x=1%%ۄpϐORsLv'wq0x^B`E1OZ).ÔU떷>|KVB9CoAOJ["k*JF)aR5.+nIkR~xfP5)0R)*)6wPuwA:j@ >z;>{])ǥx:s $r1\N-"v˘n'|8OTXwlI)R .ʉ@ނD T0uz%f>f4ZͳzY$yuΝ0-9b+>ŧݒk;𑌡'`?< U'%:NX.` j03()ghG7c#FM 1v/g]>OBA7@Ũyn?- r XQ!lF;e4`.u- AJK[lflY?Ӟ^7ًVKS6P6.gVeWzeb'mfvtXH3Ä$&9闃㾜}8^|"r(pvP=?fA+jAJt]XMǞ:#&"Ľѭ{qew|j2N1'+xO jZHjMF@;6&Jp mTrr*Om"pk FJfЬUIrU҉ ’uЖ0Xψ'INC ݄qKۺS#[WS+K!eT!vvtT=BrѲ7_V lG#_obr@GqD:K_=5Sd{oi$|_R:xpY` j\(\zzE:q\jbZy Q`oZBHʢ=jF^z*qYu=s uK7|p) v|"W|;G烧 `X\=nhwj}QأG|q5 ~rLl]C&y;~tѮ T{ &rׂwAO_oVML7>tBW|8yQ@ftoII"ʬ 6g:8yzzv㉾~MhdǂzQlիu? cwc||vxY]S:}N;CN'q2^hi@OdHJR]ف|@B $MlK֞{?[T4_\7ERѦ'E Qd"v$hK vd]N]hnEl-68nG3y%>'d5I"7uja8A8 VThAd3r&4phJyȂ`M&-IMB&$2OY Si0#z,q#i-&52?.5Pf3;5ȇ&LYT:o|>u^IMйA¬qu gT,e0B:}:6 )R` jDaQ cߙ)5{6{cA mC@ REHo(D΢{վYhM.;zUwN'JYjl5wZMo\R x2%ۘlۘ#$Oz_geg -QGBŋ$e̹NlE0fj,s)a%_afy.VsFp:g3lƤՑ#"xiFqЇ\x nhqm.="SPZ]ijvpz+8_@{N ku7GJ^J306I;P>$^C2_hGGǍMV*K$vZ # j2 r& C=jJ˫Oep{< Μ|߇u/hE5Œ3[{цMHy~^Ejfn232|=m>QL#0ss8fAg&|reދAطչ:CS !62'ZA` i*څͺ5C[ &9d+K~I貰w2;qrBDm~Q `*` 4d1\QENS: S*V`#!9Mk\/+i'ԕwk+r4㕰)F0S 8]D?"+&_]7 M\+čɰpwJ0O>3uzlf #rbD?VoWB+l": ~szϽǸ{MrVx3-AҢ ;u iSGlV>4Лkr`k4Y%ӟެnwLi2 K=,ņ6QzҖ4g@ ZBݹ?r?^jbޘIJ5Apc Xl`(I7VA%jfGDLm^d &œMD!2ܩZEyśiŢ#&nnB[jxsu ޓ5صuYtӪ/ݫt t/|S}xN$I [#."h 9bݻk)5OAmBH|#I?=j#&y<ɯ/G]S/!U8 m>h?"s Z-,W>]Qjtٺ(.IfsVV3@!^0kN3p*<2h9RX!6ftI-VA>ËTcsںڜTpN\E{vXbsgXK(K=t ˄vZ#ɹçrU}u/sMѶko1yz/:Re LTi@Iŋl&fޘX#И"l+moEi2ފKI& [2sI˽&7&_ Z"o Udqꝍ'-z.aY%IĞ:Ov7NQ)<V1@WfG/?Eg_Yf MM#xZ[s8~8뇝B;.$l>yu54~%B0|˸EۂX75sdJzI3BxXm1hzg4;C%yOv+΂{yB!33}2;}mp)G M2P\'M}~4RYNIż\H/;1FPS\8!5\]oGEYs9iy@ ]_ˆaσyl u34Hh>&9.RR߀Edf ]H DssQM<)2VƩ'*q!dj2lJV.Ն f2UdkpDux|XkgM/~%1ET\'SW$G/ad-Bn|~;?m a G&ۘ5EDp"Ij!޽絲(ߵ0D}RT =c\9 j7+N ^׃ |/=,y˽ɩ?8g{BSO6XъajΡ%&\ǾTBxq"8,!=Dߖl#{P+td"Gm8Ƕ,V?]~\Iw`R@m *jyٞ[_-ÁIDw]Px8: {lxFrCg%˰dٮ{skݼ3)t{ ŷIW7d;"[=1=Lo@_ ~ڦbmHa (cXm@b7Uc"STo{OE>aӺ7^Tc6el~֪OH ⷯ&pxXH2"C2 !#{db!W8KA"{zƈ܊0MuoىisK>ȥl^0K"Pd8KU J? .Na0U B$EP"cB2"-@!S¸M& ͆jaUSKJXնV q5{+<(!)jfh5ƄRfU阄}{PX4)fU$EI8U$$+dd4U ͪ(Vm UQPX+cMd{ãXH˜ΏaIҽi:,jT~Mݵ?v-!OaO>>?at[W\ޕ qs FsYvT|3ۏ2r"d䛖]58*D~Un|ƧJ=o#{Y=o땝HR{/́ReSۼ1X5 h4W+ ʓ)%]|c-QREz׭c|J̓e%O ~l=|Y*O,d_NꎘBtYh>r1|)H-;2tTpE*h̷L(r.I:B RDd{fya:ヹyi!nFÁ;~;C\ohef=7Gr^~v$W7P:=} ^/pX P1&yRtW(_Qkog\+H(r$ '_<%fW2rݳoߓ:j~go 3o5"N#1ȩdCEN#["99f1_ iI7QDU(!C3o$5}oS\C+c7Ao/%+a._)WA]`}/cJk̊׸gQv_nnxU%;I$~/#o \_J7ޚ$ʹj"DԆ/ޭSɃ+TJWluGСM064Id 6|p֮`H\5Ii(U}%*^" v,8v3dB C1D3CO 7FJÚwўܪoHghxť7nY ud 9^*j ء[U#H Х( 0ºJ$l@BYٹ6@D1):m_oburtc/HFPv oAȷ. C_Y_N- `]P\a{J:ʺt')clHA[_0lbQ:YUޛì΃ͱw/$*Ol C\7ZJұ=ae$SPQԽJej uwOQl5Y"]Qpʂؽ wzs1 F.lT*T5*LaAlNnh(3 U6Otz MyB!.Gё|LƯIڋCRxқE0ۼ)#`Aǫf9-u=`˹M#%>2"1hE&U 3 W"C y&utO}Vt7Tg>OHty,\y>K75Rx.O|\H1"|r>рPڰ!$`grʤ|*˾H#߳lL7ѫArF:Ьӕb# B }y)[1JyAz*wYN$~dW/^1S-gzvfti iՍnQdxNu)e}N3<&MD9WGc8O_~5M|mթ䌔sږ^y@rio}«mr!=FYuujqqNS䌔sQy@r^:&K'6AI+Be AMl&P;"g&w@ĎfA@?٧]i|DJv.]Lv`RXil7:rm-drlחW|#1 sJ}n"\ ))'ݧ$VM[_xReaT;L~fB m&L(]^U f>%T#,SŶ z?cAN-D5;}-Z^[h]g(=PT;SwyHHٹxzUOɵmxjzs0mf&|s unZx\S۸n>셙@Й,~TXmL'$ ͣ4vmYCыzjQ5dxV'W/[#Lwt}H O)2ʌ1q/Ù/99e~ȕsb︆HM_2qsV+^f O1gWKx g5Pj[H謦ML _kD`pVkO;2+frWW҄la KLAB,HqvC2gSjd\k n F$L =xɒ,z^ؚBtlQb >\ EtYKǧVPh#QH2ȀL$Lfɡ z̹)j T" _ $ x >O<+w4 77F=xUKo0+Z*J'*{v6d~=c'>C!dy}Lo/?*4@*W:857˂aoi\I *ԸsjF<ͫVڟY ,;^wL5š@ !1 *e;r8:n~^?A$ZtH  "!nQ(aBV8X*%x-@;Ly"]bm.Euv,+knjQ,ȎM ##Z8DxT]0}_q{' n2*]'I6n>j3dڥZDd {ι&ChV+^PIlj  _A\EQ sdP8iXFB4uZi ħoZL4@k([<~^H7t='czNeyaL|UA2!n?%s&4#4r"Z7R܁Cʼn'E QE}d䧼ӱtj++luխe xWr7T~+dL3C/cSI[cy*xNan.ͱ-zg*<^e^" nrk^tE1~=ݤ"Z ~ϨX(ls{l=2C>!lz78y' |yqB`kE꫏/Gh (Ý |\ QQ,\xXmo6_qӇ^0r5NV,.aJ:I)R#Ov_ٵvMM"y!ywtﯯJ]zMd<@09PP[Sy.(#21_Tӌ8c:yav@b2Q,BNuA/.һ8zq91!ônw?9>Oh9S } %Pncp[In!綏|mQ$_G6|`^{^6N )ۦ[pߕ!-3!Bqt*6EC6}~9NQ\in?s=/ j|8:7*|po>_;Εv!v-Cߜovh9}`C\|!4\50_ 9)--:02R J9jñ0J_|0C RGqUɊ_ ?]G eefPxWێ6}WLX[6- [ Px@mv>PHbM*IocI7 IHj8s*@jI Fҙ$;*Xxn0 } NHv;eXvT,:*KD'ۏM"㷇PscnCPݾP kfxC&xӨGҭK,˪jY k(ct\(WΒOP:DyeQFnWCZT׵cFtz ?uE(pBk,h $kDV.EuPGzueva9M:̡>MAB ?n#q 2 En=a?wvH,?)5㥉ْ|ptACb#D#R#p ~))k*^F^~ņv&Lgv.N@{L{],9#r+f~3r?epGlQ}oSe? ݆G'ó*\BaNhhJFVxd$1o¡ripb.Ǯ?XQ| Fc[n ֲN&/=Yb5k]M/) 4nK!W.QEn-ymHX;`Ig hiXkG"A'`V91@ڹ4fut & s/}N23| fZ9"p`q53~M7M9sJ9n= rF)udH[&%p!3P6XXV>NN +^[O;9JvkéBl㍛n.<qZ[*Km$>Q|ϟ oLMl(D?¿R20_hIUѩy[ք'ßޙ>*{pp~ Ց^3* _qH59g,b'g@A<`I|KCuaR=;,gq:Fj"p3xvlHTPlKįаNhHCHZ .Ze4 #N7Zk(<*=/׃UJ,4:$J0΅? |{ ( aܜY)oP w T3!c4U|Bj3Sf__^~9NM~ yu%y_^B_H mB<٨(܏:#l0k;`WleO_}B_nH?wV%鸻VO#O8n2wA cJ ]xVێ6}WLO"EĒ(dFF^^vCJ^K^;UZ93$g=]}'Y~&O3 RX؂) ;ң%sђBo'Yڸχm&$i"9}/i ;$)I{d昇X۳̍SqOQ4$VhVKI`|@NI<<~Ȉy^ :5|mr\u͡;#\LV<F=N\,|U RReq3֟!±Mƣn#6uJ wica?;Claװ_L?9g'~/,4Y&.> F7- }(29l_n"$(Ċy&b8"NaR䊝ɐBr<|iJV_&DےF |~}>[mYo\%VIJ@W!1ٛf[خR/Enq;-]tqH?RZjG"#nʒB756?#o '02?TnO 'qs(^'ڽ.mP{J.2})&O <^ j9 PJP9 Aѐ+ c#n(pF"gwi؁J'k!o㐍nn>pNX(kictxL1Υ&Y{=XfIXp?U[[*ng }n%F`VWCH$b?}&SerS d%F p&1},z`EjA%BcƔ'9"s414%?D,4'$idBӚ\W&߃19ӦSU8n#7gK9 j-ldZlDgb&56 gl* 'S 6#'uѡ}{ڮ":|{>~%İU`sFm0Ag% Q̂+ɫo{klNp PDѦ$%)22?u;d&.v#Lj%> LVL)ֽ['K;\?khsul9ճva6˧ޤM@HHdYbm@5pNKr.nBt%Jqm hM`60gz50l*)a΀1p[v!Xi# ( pA!4ʞl```,yB ߊiK,d ͊G)y L jmejr+;x 0:#C=/AA $QGX=D8:m*$O=9X}SkDQ&0U|Ax>DDc 6_N9|!ӐAe_ Gܯ*h Ld 4YУ3n*zD 5c HT!+` 8wDƁ^.WUDQn y5"2p,(6ڮ~0 !'Ƀ/?]toXW29-ٚamnY~?o8'b+vN%I l=$<D+ӻQЁiA-/b^z],o2 n,SqG@d$_5 03k(%!:Nxa(*3T`!O5۫mg4z,3f:gz3輽9m%ۗe-0/ jD:^!4id-iKiWON*lvb4MWE)4'&!t49duQZr3ߖU 5q c"tɲsTsK0鑋Ƕ:VU0\g/9 o.3~!*gRh U!8\Z*a[ +*2lLZy% neUOi b9/Ald ۟'>5LڦK>EdFziӞՇ)5Pgu ϴ\OKYn6i ϿLvS$RO"\v+mפ`Pz5GS zʾfumZ]j]Ukwe4A8ݳѵ4a(4`Gݮ.U׳-DL^}35oR4ayvρ(umnv{&٥:6ɺɱBqkJlӠF#9n-Toоe25qt]vݒ.Qp7s`I.{PvߥW ]_ IW$է@n5OKv0Uw]P@ַٯ_O"{YLye1hN !GxW,IvTAjw_+jrANW\ܦV,9&uurM̲l^#lg2Ŵ MxtjIFYR#/"Pri%m.vAGD^ k 0xXKo8WP$@buE"/lCO%,"!)E9C'o*.2$ Z-T@WV!p넓8g Zhz5Z9Tn8FEx=is6+MfH麶g$;&vz|@$d& -k:l˖Ɠؼ/xߊ?٬#"\uT9NPɐ?Ɵ4t 60)dd.v&;"0U=XucwE0Y׋?uHPaǩL~k{K!/UI%/w& hLR\(wD"cuԑ>V+訓qR#"7 L :#}{Nþ ǵՋh}s#dQ.ƦֈP tJtL&P Y'Y`s 3A"Hwx]o8ܵCm;ulp{MpeA[V%޿fH)~vcGj`#,"Hy2ɣ/Vg-8iu `™\!_nrI1I(Dd<~/Xd,b{;k7"32JM+糼Լ! $oᄏ굀<bz*_0jkʆ b$_hD3,jEŊ|dc"D2޴d>pRTr1 > ǝRDğ/h"=B_ɥx)5 5 8,&80QR>/pHP^k`vgrܙ|̟*,"QY*3k25 VNJ.fwf1(ܲyɴbcc0y)nU".rn6 V&bs߁oR10 H2];P cڇg@:)nHc`yp;ۦ \5?cOv*";D0W=1b94Y"PȵyɱDdRGucĚ j`ⴀE*E$3`t;ְZc"S  T%( _Uq x$EG0B\F$NX( 9)59-CnSg@F*b tyC1% Xmj  "uO5 k+`bgk$Dm-Lmxڡ‘O;6/_a|FpMced|eeT?BwMx>Rp _N>_hh.Cȯj LRt Q;L\Ck2s =D@?yGgp`*R+U΀. E&4"g$dƂ+!]o'B@PP؃H}LSCrP7 { @G%/ W>HheRlq`6 &W Y*8k F3胼9&{hyP"5M [02[_})ߣrL[iI=wf1{'W:xc,ؕR)$J -rqn [Nfx$nc u?eX>P[]>quB"q*UY15I8Q0)B|FOn RИ,?_P[ Ag'`([Wl˩`MKKWTB[]8M;s)^FY` A("lXC͆CǽD㹤~|44Kt2D+cXN˦r26HWd˼&q !ckC"뵾.!S阮{6Y>$t:?P%jWB ;;\JoX`ɟ uKplRB_QsBR@C1l9R/3IVཛ@{?nYZA/T߶NX-3hC$p=R J'kL ]]:W}S*$Ǖt-pΎJz#~d;λr?h?.ruv٦ʎLv{nk:7c93*?Q@FR]'s 95e7 $Y &fj$54r#1}DkD#f2X͞R>Rߣon ߛKxBu0ЪEAl0=.^'=^V`csj=8)JF<L<4g|O2뫃ޝe*OMF[_Š虌P<_Bʽ<a?4y7B7Y?MAO,}n# <ۚp{{S H*29۔,?&TKNǝJq/Ҭ(p0-\Oqϭ3\nDHG̗j׺=fQǹ=4,x()K>{~k;ZRm A>1AQ'B}n3qK( RʎxQ졎/EGe` MK%k9O0\Fuh\G9nQ j ^sr%9]w~4U9#Oe6Sy}{1ZV"^uDC}k\HGL|MpLn%cP棷!;еQߑ2c fn&3*i{n|֠ahB;F+ڠ}7ncSq 9#Cl,iDLyh9rv\ڢ1gf:|At%(?(w He׵"XmN 'x/F0Ɖn2։g[|4v_J7NXϒtomq LLhDJ7vnts.w3m;s~im{.r)񽡴v :HZ8egA6dw&oKNipICZ]{ǕO5Av5]u7] ʝU~-ڰ~T̶1\6K= N0pQԃM̞~V!sPkqK§tcK1?rb2߁*?"js)k"22U Bv&mv8zڻ1ݓk# ~o.ͷ><[8{{XAo x hd1]CjU>%G*mSjˮQxۦkz#>0w*OAe ,N?=,|3ۇ:P·/lO|99h6My}SZq =+E]V5R5XKNVr֟H91xTqs1zk<}ӥ?׷Nr*tyJۈNMkk=SObdz(-k6!mָaW_:[}KYZFޢMwy {Ơ|/_o 6ͧX`cP]1ڎmz_[ْѣlbZERM]NRwZ.Ev:P8ХDRr+Z 3ɩqK3F^0֊mp6Kã:Z{xa=. fHl')4$H߽ʹ9CN/G.{OSsDff&'QnAa +Lnf^ms߰ΝU3:#[!;j|ThEB> g #d$?\?&#*R?TCHGci@ׅJi߃ ݗ%8yXY49 '7\8=b~fiO7bxeBͿꝄ詰s"OHaY-uV"cK\OO5Z6ӱKֺԌ@YITO|:".FPQ|z9o h](5-ضi]jO 2m Jt( j|) &VMz -&0anL`ۨn6avhpiK kM 3صN?6?l 2~oMd;w8k7m6U):4<#r NvI=/! kk$Z<#%ϡݶ?QY|Ei.ߔo" f;t~p̔Y`i)%Q 9z4 e7cJ2Rɺ%dW_>eb@-svh-]k%yvmA+1oՑclFnLA-grF}Nnf/:ܕ%KAiX 8D ݊|l{ߜyIaT^@M6CU=<%]ٻqonjA$Tsj1l1(kĉsW@4YQZqy~N'RG3fGAOAdx{d &R!}rɈ[4Y.5|cK~2;s}2&O3<^oݦQ^_K;o*W`]Hŗ-⏗НÈwp?+{ļƺHuiтoKi{?UjxmvAWڈeP<vy(55\2WsWXpWVnO|=, ȁPP~<2?0BMsCWV-ЗGo!5+Up\7LyBSm?bˈ*2έ(gΞuDF)[Tdcvj|?-,<V|~ʾiw}0<{m25Uqw u#Rqs'<V`D^KTs&JnnCTP-1Ŵ♀f>c%\|Czb( PUY˪v;rٿ`Q#-;y;QBl$G`ǑBa][Vf8a!F"P;BԈʌƎeT7]^l8iLh.<,mLbP&YM7lVx$ZnH.d6 (I ߘ6qVjp2p ?gQW\2=M(loށsixQQ(U|b!Pі& gf>BE#hѶ*.])HW!~5d]P;eyDIvW#ip".̀3) tb 2I'W4ULIO mlalb5zY&׳(T+Yǿ0|ɞp-u m5X FT~Qkg^)~h:QS:eQn8`~υx?Iځ/T)Z3oj} I+8gpwoQ=5tџj %Qi{y"ԹM-PwG,Xr=qNj&n1|{sqI}$]Z7g"apµnwb5ٺC{ӀMp_~z Im CZ߲8F敦ZҡnL9gf^T<Ҽx$0zgQXjxG1MvtGG#b&`%5I|J iXil$\xS;o0+h-P)@I:Pɣi."xC[>0)QEy2ZM8 [j0?}&+;:b,`&ϝbz( Ƙݷ%xПl7̤k ULdܓ2߼RlpŽ)SY TRD(RՑNk>Y:Y5:\Gh/bpB@*6̴ќ\k}ks h;<#|xXKo8W vX$6MbHK#ԒaKպGoy~xz_7\M_E@yz1 PW@#P$jWDBaMKt[p F{~x|!8֡>8_\NFԯ {u?ɆKV"0xXKs6Wly)L[RN'I9u bI-+d8"\~^07WxEɫ@*7tphaq&zlˠ͚srg+#tD͉w$cZЄq6Č B8a|}uqSDBy+u3VaYb&|"ԨDFQ_~UN\GIR,0jB}z {) cE.`"@'(}flW,IZ}"vP[L'J>3 hnugD.l[)L,NͅF3IL pPY- А >CBjB&Wgey#wٗ Qv%vy@TSioA*lփp~80$h[W"x _MB; E9}/X)NJrSj¥VbQe/ {QL:JQ̂1+kS7`*5%',nCpKm7x{*.ǔsW\KI~1Wd RB $kz W``'Pe$Xra:J.%^\qWR->#ɊCbWw#OaɖnRN C0Gu0 *xD!"b/c2ȿ^Sc=m|Lp *3XQ۷t&#!RYHS2JTjM޺Z{py` %ۀ{bze/h(b[1>P ' {[2~q K^ӓ\9%.I*meȼY{w?Q;jR1S*aj/F驪&]FNA|ND;v]1)UI;l&=Tκ#V*/Owۅer4b]Rd砖2~2ݗFUgVձm:MfloNg3N+ޔz6++ jt6W[sJ7 %RvǵTX 9_dgI@›D?>z:7c^z_.MݐIH4.߱;df69ZyT>c/}AQsg7W% q|[lklx2?GjǯS)sp o(`xXR-XsjD f4TQ8GY[2Sl:d`-M-} .9Vx5pUF#J9lvbF/s,ю>4|;s\"edA(e)b<[?bӪR?{oonA|NyZKH9q̹C(o^Éh#Zm?!+m?țv;? MB'9Ba{JIV(-] i MhhvfLf#1n0TAHv=kXQ8j,_4|q>\e;zGD/Pp5G+$6#6ns4Xu $L(XE$I5ǽ|rmNWϛF~rz"J>8QM@@=X_y5"GLO?j,nTe$Ɔ-u9]`5iHEU׵Rb߃4dK2aMۤQ_lM L!$}|nhnVZ *=]'q]U<3!#w甏a]Udpt5H"nS5#Ѧۮ:dnt+7ALo2koLF4'a? ~\N|͐>X #f;ޓ8hB_1=h)IFS ݦ= 1X$1#KKj0x<Hټ[S(Mha^"rm;8E Ha nD& PAt11xo9F'|Yz{Sk/[S[[H1oee/%}3_1ա<A]k YsX-LW;S׵Y'~ؓ-'F6'y?dt=2-";|jdGQ[H=C/hkG^&/v/В:>9n X 4Ŕ5sML+ʛ&>Q㪒>Rc:*\f54-q(rbQd\ud~7"w[`SݶxbV`3LlYFMŜrV̕jcf:a+m_3[|/MLmȧmn qj=o mWf[ q{W8$,)?Y!U R`t^^.!O X{&ohi*^d&МtD䟟Si^k }nanx@B6Db8K1_bj6Q#k%#*w( EzF{Oz!0"˛.S:#l 7 m8v"H}|+Lq+{kx xG n3jBW⡊K[pR|b?0/l`۲{ $s9[Dg@i<I6&z|qz_}))Nf6iœxFDoeԵ_vԬ`ڧ-Ik u)Ox4"_kEiJ+;]e= kjO*/Ulq<`1Z?x{zOn?iUhD[Kd?-!ޝ.7\m^/n7d?ii|yZfbs;> =&~Kxko8 Kʣ.⶛`vqZ-6߯R-YN܇ E Н_悄&o~?pm ZDxm'W'd4pF=^7J~b! S3=w"f(elXl-&~Hfr g}9n+o ka<kH逵3xm<i"(c4jFۢ K(&-mƂ1"Q _kZ~5^FCoJNOIBTBȑ&c#Ibk6W<ӱnW rbsHEMǐ5:<׆ҩ:q-*7*~lWDaE?\18Z΅_w$NLV✿4"4VCKK.D2H< (.ڔH}-IK\U'w>6J<4~[ 9u)`эbT>"nw/̿CG:FGa MCN]O9kJ 0eyPwQ̤ۦp3BN,K٣0FHҜѺ_M-VM6FA@tB*wH ~:\/@i#pD%2d%w ܷ8 @YG"3 91ns=.ubp%Eg;S,BIS<$*ѦcCcphsIPA?gq E᎟MK@H$UR^ח]S@%W֐<)` mA_N})F83ca+=u~=Ui\FvcKwh[paDUѧ=*5U+`%8F!퟉o|Db+n,A.pryZG+^K[;b0>kTDo+Qqggū:>Aה|)ZyԤ_INZC|^9@CGjāȓb re)3@ϭLǺ9'G`QI)VN[+ɦGP-QV媜eSF:Xs{U8T˲VZRĝLVq]hE1-eO (T^IXÝ-8hq PAbΏZGKOv=z?s "$m4Z$x{8 h̎'n۲CͭX8%?`)-\2] (3y@]|s6uR:DZ;X[Ag ~.kmԇlAp!ˢI>3j3a\0Vf_4Yt=FOc4q$jQA&`qM$1t݆cS2b8zA+ݙ+ErgRҞE^Nj{Fh' I2_k)-NbX0x:%Yr{(L?rԻ GydK7 cnwkYQpT}eDțR8o'I+wEƯQeZcEnjEV 1_3*1S>KƤo5^/x\_q+܄Qq +ukBuQKa Z7yfAs}ـ뛚g$<;nKI=.ʶ(NCT۰Y&?[ Ű}iTvs*IK{boٹ7b4k]]*#?fbHK5XͰ֡/Gt+Zn S"|`!H+S\>eZ\:-ѧߛ|QTB4:->و,W ΁ZSx@LQta"fPrq*́1.אtp`LDnR<ହp3#r? vk`SཻX4K.븥!tu4/q!^V?mXDyil(%<=& }W#1.^&IIǮsC`w"_wr,.HTn֐ZWu7(r_v TCt!\vK])Oj6JEj/n 8.Ax3h9?|}VHY\XImCRŷ,"$Ŵӷ5G70=[WS^5A +s8?"`q:J>)wйXW+Ƿ)$nJsݱ[jBc!*_kR9"3ʈk"aܛR:F GXڅljܐsHoE8s Wq`m$7LNEt ֨ ? OAbؤ>o cnN t-nݒ} ,~W$>a1ʠ~MFH,z¼IS]F96,.ٻP,aA;"}ro쎹>&e I7W oԴbAжՊ.?{ߩI7aNrCAɶ;[9%{U/\Rmjn=:Bm+a%GDže|USr—Uۆ!F?u"fQ.۴ƃQy! QBb63j2dm ͺS%STԒ0VAtH/ -++;U];\I컄_\|S/b` xIMؘGۛps%} e. ,J9EFŬx+T[4rxP.*H0C/Yi)$M}N (=E|<ձt'MV cXVpʹQ Vtie.eV;rku y5'_+Ymk輊;A= ?| CC&(Pxks{N2TH:,yFڱǒ_4H:.N4뻻/I$ui8qX g^\|$zcBOz=xtq_ǂ-}FJkP`J LN>\P~㉰*"'=+>c'/^=g{*Oz;KDW +zH"~W8<:g8ੴc8܄@<={!ѾulG3k@ߟ~<5~YIRLH{&\4<oO{U_NP[xi 0 C⨘Ç?|K Lxqm`Qp]r2bF'=x 0G-Ra22|sS "`@ٮPpi>bC2R*ZfQ ƈ I/`SEܔikXy-P fW Ye-Gc?+Ye|jrU|9.M绊!ڡnL,: BT8BQ`-8%hgS $n1*ܴq3#grގ;1|ļ?wlYr?5A, zp"In9#`Jѝ`G(@pOKLad!nJce, {b99[:3M+reOkdW|@CCL`v(onB^ZUc4^^lArjF^E5E݇!Ec;naֶjFͅ{.p?`T\-K1eV79ױ^#\HA6{e瓠Ӷq!j"~ͦOh1C[1]_gw^'>.TD(T'Ld|fAtnB˼䘘k6_eV868F31틏tfq:prnqMλ=".eE=+쀧. ~P=;B=TbFԬMH]#ݭoaTJv٤eX/[UNjOQ&㗍LI3|5iqTOϞ!JC,Wg8A{k;>1kzwa;bu?3 s%wa_NggW9} fS,vCa.T"@3_gG s)j@Vx\n8}߯/)XmӽvI[l{y2hPJRvܯR%]'jXPѢ8!5l˿>|En*'W3a4hlZ F)R˕Vgj7Sf)LV`ٽ Q;%Tf[_'NלZAQĎ2̶U' }L%1y6]r)MSJڌ4e6Q,KpyG4ؑ`&a5*zZkkC~X )ͮGvc>bNB B \2(IsayE҃TD47Uy7L@4]kZ}Ԟ8K:fe $4r71SSrP@Y@Yfe^BҁlHY\#*L;\9<ZA|TX$?FEf&-(<M95o5uPbe-hzYWlJbuK+'T!k]wxMV II4*lxSn0+hM>& jm0ql/\??tM-xPqsN^3]- qO?F#ӿyDqMY,2hTO-KeN) ^!2]@.l~+K6=(ˀvW~ rDȿ! l185:/Tf>A]=@zoN/H鹵/-1jۧio/{0wV(=}2Hµ*'Y rQj2 (nBhЫ]Un1`w9ĩ~n/ 蝜~H?Y1h 9 r1rf]O0֕2E)J<~Lknx!.foK'+Z =[ ph?+Os9FɁqv^܇<+ok`\FdIluau]UYb2α%ē+DGw*t GEE"Qw܅#.J@nv?5L1%N]I+W~9<lPa{R=e fRXn X|t ԁ c93lUjG]>(M qbR_eǶRۃ1TSn 8z]$OG=@vT~/axҟ*cϒ/-o}5OI53B}uVo A3٢ŭ +lXַ<;=H uJ#_mBupKM i_v'QeW&˨!ōtcv[:lX\w!?.$vxZO(6#z9aiS:gAK)?eb'-)m"E_X,va e 0+z4gz] B,ܔ=)%w#Ԗ:]DVӪ&"Y.b}< PYb>LSFxL\Hۭfr]qމ%۶]T& FUeI@{N\)KeB7Κ, e\JƏ..aB\*1:Z馃;ND6 <{1;oWFhIFG!?:U=5-1xx%(C13dmP=(E" Wbn=|9]g*^t Iߕi+>WcmeH `z ܷw5co n,`xYmo6_ hCb(tŒاNTIʮ-rҤNNbEwo8ï~ӄ>D4%BK3&`? |&,~aPAvLEU**g+pAnvOJR0aLtջ_-TVil? >fxZ!rs2JVR+e",a:ֵyie=M|Xi@HIԜ"vOV#['3Zt3byU\HҋEW|%QzBK=63_%Z<6iPH->8eRU^`XI)\c y8/O/gI0ʈ|ˢZux<P!ΟYal 1s`x2sģBo*K{$T~*:BMjݓ2|wK2ıx 2)*-WB+vɌB9'kF<tsP_>$0/dуjN{ol<d>ej 'fx`8v(֌_o 9kO jI]a0tA؜cP|zD1)]Qa+ Khb cZ;y,CpZ]%Q0:W5!NKt[쓽$Џ_7/qVD~oH0Gd WcLu:=뛦47pM<?SjCX>jtNA3j`vnS6 Vlɘh mt-еW+yQ=6@'/lo!vELd<>Efp'u!% Osؗ).Q%femoZ%mH :("ܛGnqv;z4yjl!̕.\6l-.iXae^: 0X@R fj0$O*T)(s[S s*N\3`[(oڽ@Іe pX01.mN43Q#>sx@"!f~7§6i)60Lmj_~/|Rת?\G3U_ZˁaE+_-Tu*1~{*YDsaV V8g&9J4T4^CbdQ!J~HZĠ)ټlZLXTHm%V=rjZ[M.0LmrX]U]]kjC ^"bxx1|Y`BYaefP+d FCΦ1/p͌=>v@{| -jV+)3fo$ XX-6Uwx\s۸Ln-:sM3}ιMΙɴn տ)>+7\v}F/gGM"r5Q44dLxdz0CI SR3 2>~G*[26+6y~s:f^E_ν6(:4&\0x$ x47TuZD11 cƌGB@kZhM%_WG2 E5LrLrLHn61#X`Մ:IՀo N!3 e,z<ì,| a|Z2z ȹ(\QnL{b+m txf8Д\ w.r xVێ6}WLh 򐋜(P Em`,%v)R!GvݯڴM6 @p4s87[AP)74 4z^>^kگs#NJ^9i-1Bi Y7 (txv5}4и;OZͲo:ƶRŋA5e{Odήec:lm[esc]K+s ," D͢^vekuao+KX,lIVjuXyրZ۵-&N}|u~\p)nu ҏ6uU܏ﰌ0ݱpبNoUUK"KȜf/s;k*БWx,OhL7 '1Ͻ'@7d/t?_ùK 8Mu+Z*CX2V7q+hH O`)|F&+I'^U-Jq)] ٕ pmy}\{ npFM :ޕ"oEDm'iɑg.+\, y/SyPDU]$֙'GrЮTȅVǑRJ S471=6z4;Chm)ʙF] 4)~7+ԪarHkW (#nd/aezԒ~'abBۅz)P>Sw$`ioS=}B5xW(eNʀ-6(xp #%V?y.]uٺ:JsK뒤A.ttTJ[c_-/dxD*t?ͪȇ"f^a:Jfj{ic1#4)Bv+*aj v򎎏xD뽼d( KJR䐟7L}dD6NXhJ9a_CBY*@Zρ!, F92p0Y&C`8%Tpl1 H lK=+oo  Pt$xy{f)Zay?;` v+ak`?+ aĝ$}p\ʖgq/[k4髣쌤s=ɁG݋~4bpY_PR>&(a(Q3g򀞏:{jJR#9L@@ vT,!3:8C3ŧi26pvxpa3tt! jbdl,@!* :my֠MiCN&Uҵ/A`5Ҫ"P5Tjw-!QcP}A62Qe5 -gɶ2dʵr:!#Z=,ZWCGVfāI7ǼofώmF5иj4v*B81MG`ox!h <-șfH,`,Jܔ('4U;:MFκ1ÎM+<ltpC,gi}70nΆQ:}a>e7<8֡J[mhFǃ^`i%Wqwqwpj墂'} 1 ϵ;i.3ֿNJSdZÂ셱(-"VE 4 DLh[gr-h6>dqF qB#3lN朾3xQ9 xPX ;l#w5O␻7p3bܺu X*,9v`MX;[A.n9wѷlhjr^Rts@(W%l7jd ﶒlh 6(ѯEn;n1_3Q/Z?g8/OGٹwzKgx?.(c YP, _?T/G~\TJfj?_&4L´:91I+"EYb;2^>L1v_YOFQL+EBV7 2UAw #B]e2lwcKɁ2J}Q,UH-Tsg3Q^#<*]uNz7N je\_)@A+K=\xKcn|UCSI-sygl`Mg]\7<yh \9`TBP3e&-fQqbIegiWXz쎢w-($ZF. u, s6r&OHƁlF&;sUAW|0($5NW.^Ň߳q4gpyRu7E!}E$.YV&VͣRIZEqecΕPK}`7BߜέX@"iϏ8&ЂV]r.w FL|2j0K:(H>IpvvY 3,QW衝vh YZPeHth00Q1a!{y 4YF'ϛ'.Q bcτ :9Y<'QseVZ&â!7 uor,vщGYKc_fgj~kjZJR81ƚ}y29•.z/M^56qNU\ V4!HS-OԪjq_3U=nh:!Z1apB#qKaZ25F(4P Gj^s4⤭O/yS7|I ;'xp2Ez Lriy 9w tE낣ka9PV\Pz #+խNm03Tdi` P2!wgd쨪&;="Woq@߇BoSʥ״sf2o~|<*`[hݲ?[T=`%8(7يfj>uO|L_+oT~nby\|v+?^ |;su&8+ිQ9jq#$Ku,ME)w:*(Y#ɓ)$jśa|ȾqbLGW/?tX<;7TDr/լPbotjΈi=7,qFJOrJsD `<N,i/dHA~X"&.F/ob{x_ȹ'.x_("\S~}4`~Ĥ[h׳V/](,֗Y3}2 < .*WJ$?*^!H`nƃk2@I݉YbeT>b AWxJ,2*:|27^uk&-B^dt64⁨ǝ&~sG/%.Y1)Bm"JAκŒ/?)s~eh(Ѻ`lnpTBJSҔmt\ejO\j!_G܎?JH=a_DbNau[n|N>^c;E8&q3BFwb֩kwB[(QaJo$1H!C@{;e}؛^6c;_n W%g:X%a9`b\9?r1'uP\a)VZ43}-UpGE9+hXiQHvbـgZ8icP9v-\̐@gaM=k?D7+OZ 2wWn;qvZplux>;֠U:,Sg=+7d)pQc۷ y+sn<ͱ,,Qv&KLJU5GA?S&~7J8 6wEY}wyݿֆmq;íLm4kY“rE{^Gx9V|ǒ"?=auϨH,T |7)%aVt$mon"Q*:]f?GGpy8W",uEVI7+t~~[.7ʁ/G#⭌c }0/XJ8v!ۈezc[ʕ{O ]ʮ[ant%F-'E=&xX"|Jc g&LcY8.j;"/X2U+P7w. .3S)RNl7!ڬb˟m 3 0(|xTMo0 Wp:/Ӱɽ4e:)Ȓ'' Q7XuIQ6w?AŵJ\ }.ȊKVBlhz$R*ǠZy@qוVl$kbY&˹`Y+?mWEis.W|jH̱ZܓȮŜ,7F,֔ lr~e=''C"bsEjOe.)friTmC NvԖ+ď[bbfƗ6ɸ3;ű"cTJǡ?i y2o却_N2HU5.70͘yu_3[f *߅š;ZfgwBlI}p$d`Rkf1esŽea8kN3)EײGUչu_(P]e:wR?JXeYo?zx7/rxko7{I:v'N.K@RZv Ѯ΋3 8z)Bz=dxIW >#C(&Q.#PDeFXXXسwAxFسOox6=dTcU *2>r&|5 .$O1gׂ=XxfGJWdrôzGŒ=UZ zcy#aӾ +4@!QƆݫYb:ȌUqpxv%`fO`xG)ςi: bU9c<B2p'Xnɗ1`RpDt$RDQ^$,ȩ|BD r%*8dI1RAڣs5닱21 Rb導@G\L_aU,XnWvK)k^UH(kn=SݶHO/- 1 {5Fp_za$q2#IfoTbƠ!p#ygwZիk:OtLNӒO7W1]?t1X[>u, >K@,wcqYQLi5BGhkfT-6*𴲆=`݀h,?ԩ:`x0 2H=ID @4pcj 4`t6:&~0 @C<gIfRfqhx/J|̗OeoM<^yZ,M:KD5޲$zLo_U' p,㝥AF{%]Icm8NJ\ۋ,й+tq mi[Wv1>q4?mGVUk7DO>{Ro~^d6{Yd Qw 9&U:q.>BoE4uP!=}RrX1<|k#_KxUhz+sM?$Ɤ 'R=[LĭH3P4%cO97l6J{Ӈ0L?Ν;Aǽ< |_E!bǽ34z,>όJahϺm PyO%l%QGq/#]bcqHٖ,Mue&3 \?۳:inj^2ƪqT[aQ8 A[nŌ]ϲP "|Y-;vee/gW6#<)VËw3k% O?^FewMqmNnӍaBV">!&7Zn rm'Fa&wlo$CSpg'aOCoOJRIyn%ְT"Yl?`L&@nնbKMfݯՠ$E[4͡PٰwuCSI)*Cek|`p~Jod7e4}}l<3d$ӢDQGnۧP'ScY-Mj0u7Z-$~< #tG@]gUcխ#9Qj{c+(fah뚑KM(#Њ\/KpUq}Z:Fc3+ ~!1Tss愂* :)Ry auJN~zHVN-8@ |$1/ 0P,JEYKԚ;8a *cĔjP)Xsm N>zMWq܃'h6>@MS 笶F#PWR 9z|¦ͲJ@1?D.Ls4!"!t ^F6rqBXy2Bi⣇$37/8~J]) )mt.oYXHO5mmhVfBBjI-I M!>d1AјMBzYp^{=-Od_L971`5xT*A*OIŠ5T@s F+`jii=]( (#gEjq$’Jq?qe ]=;X&:-j1aT:O8Xڕw[֥;VVr_3j 1TWߑCY]|$U@CWno>~/nʜ"TheTRUסEƙ!`I,^R5jQ :>$P6A .DjYpŠoN{;XDZg8:FniA .`X^j?O쀵m 폿&W(p\^͞>,^} dj.}n#^P q| . {h ]߰$ށZv5>XMwh煕Y>6 (n1ô=aU_ud|HܳO-X{WpBqȆʡ#}XC)W:lhI4Ӑxջzv:@k|=.!1g'̞7-3<n=Ӂ>?Y)]-q}S 5xQYK~^1 *K)zڝu(.%1.x[+HhQx9.n>Y<(R(KK*\ .֫Z.QV,1@j7f ER;7`LD>AK܇IK XnXvJ>}TUvMP-O|yHF&.wiW.#+]!"RfفFPVxZfea.Whba l/`Q,n-)TXV"=VcΪs pE_xŭRO6m7t+yXɧ^v=Y; ki((iî|t2dc6`G7NJ'ʚR0t%.q37WQ0Ij-#\ k`&iv3Y([czͨ8ЖyΨQ?,VqZG˘t57Ai T/KkpO^4saMoɛK7Y.J`;*29osSS<Łz|:ku` xBKtma=k{ @#չs4gQEs ,>187z谽_P߹5Ӯ v+7Ϛ %qUb O 82ꕼ̑.vcNx2轢Ƕz\Cxxu\XIkӯ[DGW` bx*bMsQsl# H_as3S,UZ" 9;4[&tqY hݣ=]#V ~[xO}G_pk<TvfaRR&GG#{5GMJF\MmGW(Qc:$1H&.=(C@,ԝVUe{n{ ڽtpK=n,j Z){Ze[u l<=:s mv {@2"#[:1#\K_`)kuCZi9t8?X8vUJ$iUb%m$ϵg{;7FXwwp/JnuۜM|;^X' )[l;h d·Jyh/Y2ojsZH93̝z T=^pZUJtn.m[8P &l ,oUY㱺K*QMkiCYZ1;θ8Di px{up{2,E|<_袌Py4[k ȼגi~9 ީ%;߫Vh->''YQ7xk_g[Г­Z{O[Þ.w ?Ռ=f0KU,)"8#Sɖ_rx*]s.>}PK#vmA@Vf7|S`mKMo82")v)(жV"Wq\/dO-?;U[ e>Y9$38O,bq[,5.R?/ef%w2n2U˦_,v^ fѵCҷSKR':J}Y65갞ia4sS-θyKb-4u5-fflx^*}S+I^n&Db49&Co6!^~i]T%G|owhwWb>^JdY=KMվ&5t\'"~_brgΕۿ4ONTt< uV]R#CDW(R5#CY ;s P'%pq:3 OO1(x=is6W ~RZ$g<׎kLjl/S I\SC=nr"W*cK n4o>b×$/49/Tto~.FJ+i: |%D*Ie'cJ(UQ U NF21*}ͻo4>Rd݋;(}A]偯ab&|}P0xX'r,ōɱzq t\a݊D/L*3R*=]g @Ip'' /(!C=2 ĈT _ H @RDC#:>@cq Q6VΌ#eKLxaCD:>𔸐vsuؗ(ʼn|CEވ bH\PafVYY G wkߧCIC LПMOZ_F},(I sj~S_/go_e2 #fO!^ cQ,:SH* cXG"wI/d #Q:>wO!ϵTy8IemĽe?ɿF!*"Ve<"N4H!'DR\S19L'".M4+T :b&#ľ7RDp#Oϟ(G r`貁VGv -$K9xo$ݝOzĦm񳩅5q^ $Z?=iGd( B AzQH6An69cAnsk.gf0fw\BkE6dDЋaK?4mqSz5G{p .rwz;DXDRhː$ i(1*29VſxcI=HX|g'A༯]  o #&LX /0ti ?0"}'ӣV c`Ɏ~a wpH_!%BjZ9sÇxW nƯ ?-Obb>i#9;Qo'b9p )] Bua>J^X'} CR7=?ޝ&E$Prn4tů2JyGap($SS 2dC޲%}RHEI_.@HtX9bq}%( o`]=/cNt]a 4 %y`cmPܠǞf`/;8&o#y|"$%[#.(,3%!nw {ܻx%-A4o&1sƳM?ll+6Ru 16>[lP=L{h22ޠsx2s{U`%M3yjCN}S+ٶȟ[͸nd={.pz|E64kpe2f9:v<\9YWP|KĆ$vP NdONgW;};I@TlDKxehteΗD5{_W VO28D%W]qA}WA򮓲t]T# }b5ԵYv*/84 92k[vpbij=JQO甒pDƇenwq콛%ßE< 5jy9^6EC_mY7}"6R!l0Qρ)l:Vou:U1+N O==\cgXKWB&էQRU̥#ڎK*k7\!)_a%,w° "ȜuHT472'/}F;b`qhœ3͢`AkɬV;%:c[bPMxmqn%/ vp9! RnJr@q2୑UlRw<0IӒ/@<r t=mvTauOv)C|ޠ']v܎w# KڹloGs,CiyևUщ'T[vbvW~ҕ;4w<~%ZY.Fx Em^v>$zw>λaYjd+Mgsv$b;ǔGOza+^5k<?'׆ٌݮjn_ 7Fka ? **b3H xTMo0W >ݔrAK T$B'dcձS{{g|x&̛7o,_]\m57fs&(sa 0hw +6g հM&k64IJhf,cTB WA0ZQCeX!F(e GzpPcvyADܮ8_%5=xu<-ĘX毪k l v\;?eO&BMzD*"jOU.N{;;©$sUhppE\ӿD0(EȘҽ2.;X&\1JW1:_ N̞ȓ+Ug,RSe&Z]%7_蘝}LKm5Ttzw"Þ|t%9ΜL&-V-S-XPtaHb&ʋkw4by& ei}@sYڣDKXr!Aqw5FC\LzQikKq/ޯIlX7nf ;Ǘߝa9i,]ZfkOSflll̆]b2HNRx\_oO(\b M=4xK:7;CJ%ۊ8T-p~3Ù?˟X2y]Xӎt$Ww ~ <W'w~cI^Y?YN;ԸGcQʍwzsG!N;ecwC9te!Bg2㛫Ns$9<׆g]:L N;p6sI0cݽ#UD"H|]+Yכ?Ը3:QRR,se:=s)x&pPїk3\q,KIMSLw!_i'f(l Y6h_/_oW_ڪV[mbՄ~/Ґ!8fJu .LVMh]jqK~ơ7cc4WIZ7᫮A,\B Pk*U2X . Ge 0#xWf4]%,3[kfjQ/ +[+6: :OA/و},po7Fw,:/i3cq-6ֿ`7b4-_ҽ[kŽ;#[o{t<(DI]R) 7Awv\>l^$lBH~:$w&^m'?v=bg۞v]nwuW0aR5ݿ~W-{ Sy{=Ȉmr9RvYU! &qH}N8 AYlNp1P^ ZZ 7]SUJH:?8 *Z<(lDe_:<eͶ "¡$5 ށsfĊłX&R('jHJ* 6ێF 1a_Mc W(eTZhs̜)jθ 4 7jǂ{Ҏ/S=uTI*8 {=ڏ`-,AX3x@A8>pn+ (<Фa~{`̹I69-}qx9McHFS( ބm|*jRMtq5YDi6/? __40xXmo6_ (IyrހVKqaHʞcKIQ}E{x/}7͋q (CHzhkAnЪ@m9팰7%(8o SS*5XxWMo8WLyXݞY@E]tuPT"LZr?l)nntyH޼qFW.wœ2b[ePOF"1N y/c3B6Lͽ4zUrd^K`$.(t:qB;bz(T:̢s/Up7sE"hA (@$v)"​a|hQǴeJ+FQrmt\yxS}tӁָׄ@MJ:"y PaX3n"! IQn kcOa偓'ɻ[8pݠ[{CfR(8ڏ#m?(jW$C|;F~ՉR)yG!/vfGҝ5 Lc2d](};j;W˅LkX])W"iYU.)oIz?ldGMe|+'t+F LZPhC׎/o;n8 jHf@Z?PI[i׊څ\'0} &!t3MRMeIxOGjjJ /@pJY1Z`;LqYXpǮ0Z+C0Y +1 G6 Hxo0W@ N&FҀLAPybNB KzP8%ǂ`4#22nNiE&ؖ *]? X5 >UU]Z~3&¨ȷ#m% 5;D+tOGPl`=>Ey)YF*\2ucscn pi, AzInwv6vkĜy0PZh/4jG>1}ovwQWaG%jıմvzjǿM#w g6B{i6Ί~9A΄V_)J1^6d{?۽t_ .7`xTM0| I/TT -Vӏ6jF♌y3vn'$~6%[2%“TȊ`z%<̍B|`L1xZ~YDgQxy ubFlRr }dxw  jX䌄z W52%^E] DF*rk<%[hӓhb[M_DSTD9u٥C{%}Ǫ 7*μ0ClDvHi n"Hbz$)N݌ \;xId?moƮ]B bZo9 tuE >Qh.!k^6 J5n:63! _ճ/xflX@q>+f؆ 2X>xxr^Ǿq܏-)Ԥw`Nx:,~xB3)oao7R e6qͺӟo/?? gg80x|PNG  IHDRaJIDAT8]KL\e;wy1 tʣMZ"GB4I҇ XMĝ&…&4q6`Q iBLM1Z"0w}.p}}9>U %/!of͇WEmش,VJt ?L˲_˧qW^gI@pHK"H96ҕC:8CCxv(U7낦ҚFȵO1]Q§s,Fś{akw<u@xC;::n!q1ܙ' Xr E4r ORϿta =,2<$k>ZK}iNϐl6 Y+$I&}~kA, 쭥HR=r AS b YQAҲ~JSE =HΕE%TY;Y5sϬE,"" 1arheSإ)1z,&o?ȥPW'P1n`Na2x%1é4ڷiz컵kz'jgj[Wѳ޻g#|¯ tnyi} mM=\iI04~#A#̞@ %ibۺGY,RUKMN['3o'8}_hlw$9LxPNG  IHDRw=bKGD pHYs  tIME*5uTB%=~߾}VzKxkAyЙ{JK,+K)t@yb"Ȭp&`!'VR\l@`S#p)E?k}'nRƸy4a!G> p]!W7EX8<*ZBw+A &8 -0I%S4iG,x>dsBo[dxư'oHY#O (0 ZVn}k_ԀI!nA SkQ)b3e:,r@_\@4$m: iD H( k? i3ܱ!C#zFp"ZļXƶS,L;㣜s\<{ ŵO^ @+Boo/y0Y6 %o=m.Np^fxEl.s '_<(FP=_z=##caSoacpOSVm(Fu `;7#6")+E+EҸECxFvnZ|禨V jB3}GlWPfupZ#~k4J9$!!P+*J_;'?~_ajnE\,G8=] %9YQ:<+Z3M j麷)Wm~;vla&_f4YW2+(@nc<WU忉Op1Y/ &f*ԒLG{`C!Փ?%:~4ހ^-! G#hlD}Q.KեզŤ'YqWS=tHYs䲭= :B#$&8pL8 ?,QOѪsg/=poL;A.KJ4Ovj/1b tMIK[ؑbx Wj"o!M`2t\}̩\?P<OJqv=vYobf$RWqjyxQ2{K§Y_+5K RwH9]doi:R6dI?IENDB`O%DqՏjtR/E6c{,fU+=1hHu[Gc@>HXiTͻk3n>A@ O[r@!d2YSձ_^Z 7{Ƈ|Cit掮,~H,DGݱ$|(,>VO)MAH@ڞn"1@=ʺ"[ηō- $UHsDV!X4ǣ;{݃#즳~y[t==z̜"Qv^6[%gR+lv555S-;۶@׭߳k?Xׅ~yU;ϱp߳KmiVOjBz#n<"eHDw=g dO$P$XI4 դp1 (RBJO:e90V!-=CxLdX"/TFMx&TROkxCѽdNfrօDTQ(} 0'-Fwr4`&tU_5gP ?lHW CnF0s6Ҫ^6Z<>ڋ,W04p_I2s\'㩗AWYq]@ٹ":1BDsUOtu+.bx(]kZy73M]-ɶKP B% _}fzQ*XP<\p.7\fN 8" 5lj|C4HzIp]ȍ`u~?<^pDRʴ˞o@ 6cǻw|o_x !p4wԊڙ, 0Ud]->~O;i,Up\ H '҃=9 O>lIENDB`d ;3;m=^x%PNG  IHDRw=bKGD pHYs  tIME %ϜgIDATHǵV[oU]6}3e%jgh5$`-D|%>F#&F 6ȥ)Zv:t:3Uxb?gsf7oe}AλkAwmCkwC=y :p`%󼍶]B$RU5(JQ6)!OsοBtٻ7vM=wFfMsS}KC+m|~eA(KH"!!"P5 - JKӽ\U}CC/-^|rvv@.8P4ApB0RHVA3t @ww7Tbuc#67KJ-(tf!y>AVfk,Tft2pcchubR6 ;S JKzjcjɬ`<h FwVѲpSsgoQYܴIn~_$i׼xˆ ,YZF܋?{ EC {sԬqM˗6 p׌Xx{56qHB| -[U((/S Z4.5y{xttUJeH 2|χAJt:=݋K.8Xn)hdMu-)^:uyK%0 h!H`]ѐJaxx>10PH }d>" fUK*SS]A_-ߙ?JՌbU8At}.8TEA2ˊ!30 1gvtPxhjfyM^Ր C?ظuuuطTl#1PJ1 ֕\ׁa/?p6?>ֹBD:sK1)UUa,]x *BA(iBµG>Ν`ؐIÊ@B+0ϣO{ ۶[l_}@K:cEm$\'Ɩ/R&?#²,0BBH\8ls( !]( @7 Xh4 ]D`t]s!bZj5&J W % C US՚dMu cA;by U\"{M& ͅBPJ* ${D(֮mLo_Y̙3:;;.\+ UeW}\M@{??!kDžT*n߾}kX(A]y$$*6mMO8m6-[4.xD.gg8=cb"lvlsY[v*Jf{zzNOkkkDb23==}o8 #QЍeɥɳ*K#^ޗ~_E__QMtMQRH)<}w'd25k/ `2eIENDB`ӥ9X"IDATHUMHcW=y1%IMc03+kZn"ųAH@#E,DP$PI@ L_b̏~]tH5tS(={=6oA"x_8Z*++˲"d6MW=5L$}F/yv8vvvn4ĩa`` [eFFFN]..kwg) ^ ?ܜs#NX%B`/GGGQ__.Ȳ\vok3 RT{Ael@HTƃU|SaT1ؖAՖ> !`v_R>\^^|(njnn&I`0EY}.#1&ZMl$I K\0,[˲X,z/--X,T( Φ˕xHӑ($"tedmh  &mmm4UTT70suprrj5KyPSSe;v~?Sbm{KΙ32k&I'IlƶcR!*"}ŀłRZ*Z(b%j23$Lf&99sCڊ"z[|o-XPc#'&&ӟ6 !D<=4;96:F=@l{e! 17?W8 LȁloWzbpojzݏLN]ddb^,m7ԫ2͖ dg'|+_s u[XՓV&i6mj&-o<K ,%iEܖEHF0k>gWg~"Յ:g}KBȂ,I(a!@H BHRԄ{{}Om[%;3 )@  ! !R RJ 56tON%:;vtKql2ŽRȇ*@H@8@J%{BG U`P&˗*yrݐtU!B 7(L -BJEȑG#zz.ܾwFrvnѝr6H%Q0UIu.JH)PR!$d P~%>NxPNG  IHDRw=bKGD pHYs B(xtIME  .2|οW;:u,vݵR_xZ(A!t9s^\ 0;(=o?S?}=S'$`q~n? M4lXD6^| 팑˫x%tƕK\7y}ɑÇ,k||G;{+O|C# --`@i"J6sOpgyD/8GzČ$lR$5@<q /hIdz=ERo@J`G^b6V%<3q 22w:SX,v"I-yC!X*Di9v=:#$DaЬ_;'L `uBeMIuOcG=74<|j s7(jEjXI"ƒ!NDb !aTl2E!FFR>|5^D:T{rl"9z>r0LxK\FHA@ڤڪ,h*u>u(޷`YJ~A'Lc݅|};?yFe 06ahC: \5}ã aKfɻEyB"f:cVQj5!Z+Vx!O S.չ~*B(lV07r^L IaQmayM]7B m?F "?8Mȭo"ssk4^˻Ṳ~nSO81hi4C x^!0dy;()8[vxKOo2CGG_~/~4 J6m6A!N`Jyw,S3x˶D?]fԹ<ĉ(~~ƫyƗп,R1k.PxօW {;w8IENDB`> vvBA/x/PNG  IHDRw=bKGDC pHYs  tIME5 o@6xPNG  IHDRw=sRGBbKGD pHYs  tIME1 `IDATHǵKUAǿsW̲ !p$ZE,[ bwF /}^L^ǁsΜϜs{zzpny0;6H)B8ѣ5Fc DT9X"R D"mb! !N8CU1z)`Yv1}Zf)mXe#R8)]Z M)}46&#@7OjFW*"˵]\<ՊާJT۞\wRtSm;u OE`#mnVW'秐=5.ljz\ w1272/}t&WWxe-wq:`'l|+|><opjq7) [+)dԶe4 njA6P80?~G@:,h[-Ha+؞ɧg_}<P1 J)}%3.+t^=x{ג0==+}{v׀fZx&'&8@*0ǽyg_PJԩf:+nJ$NM;L#  Era1qIENDB`2Q!ZIDATHǭKle\ۍ;uB&Mۨ)Jhx Ur!. \@ Nq*#HH)T"0cuw㮝6Ů\7`Ѯfo矙NH$gUUqo*YJ>ae1FGG|>ib p`š!O8f``00qPx<4MRlR \ :iLMM177: P>,"Nvmaaa4Mn˲dY^^Ʋ,4MxppQ4oX$ϓdyqKX'NQYUU, Wul&Y4 ۶D" ^gBЩJidY_}e˲rwP< 9׋eYiV}jeo[B?zE\.S*.5s\s`p}އ{qܷO.ʫ?^6[zln|mB4W+mw"0H;?Z:>x @JU@6~W ?-d;Ds[aA@]^{+"fv߉7d1+4+cKB aNkB<}w_b[hE9,bR$\ x?M#-eqwnnhbG6p<(Ufѡ4&kw !5ѣ꧱P]ڐB6XT h@DGp%t]R~*- t]hC{4'9yLN^I{"@lӗZ!˱o)&{ 8o]uݗL&ud2y5 zt IENDB`Q@ bBHOxOPNG  IHDRosRGBbKGD pHYs  tIME /$>IDAT8˝SnE=Y{P JCʟU!O x+K$*Q!Ԧ UMq]{wpMT=Zͬf4gw7p1 Aj.fs0xR(CAEdi,D ww#$S+4'U(4;߹6(Y'$H%ј/{ 4>OIꦊ.L e~t@<'!T3Q4Y $@2` \"* c@'G83'_Z8Y  p HP݃&U[ <=<8!hK9ED, )zf4'Dhcԓ.?(@b|qM y[@:x$* &s#I}JjGUD0X=&{pSy$cc/%:Sw]Tљ癩/MROpVȤh,Ǫ s`mC]9g?gbk>a bԷ؟zffu̦.AGN;` y6RpBӁl_ޞT,whg4Vsg~n35ĢW{'\;xqMwd㺗SzO_U}Sk>)k} &U~7%S+_,䕵?2?_2cPQ+~fQܷlv׿/]zlmhťJIlobxU[uSI-0<]\9%4ZoJCx sb``p  $) w'ud^9lI. Ap品" 0kPו6HdkDs~nnj^ sQjbIjByfIo@x#8*Oǐ <GV}/sxWK%l/^e&_yփd9Z֟w|Y]VwӍE)Ζ+ B}K}Q0l f-b8y $g[uS-E ;,C,aԣV|V0at^mtMpéhpp|U[ٔqڳ!匌~yʵ\gE7ߐYPy)4/u^/m쩽=269Wh`kBB1jG:S) /dw"Om5RqÔ(xlZTGPJ7b;0&_ A8L'>:Fq%UXKJ)]k 3bzA/?X U/WPozVJ@1""bT3J1o-T0^G);ԃ8R$M 5K+gePo+i-#d4tAmG{3;]@֮lh=.3MCg(c ֈDdӤTrFԀ{Rvlc- US( u+@uSV( z~H+Qki(p.{ T8p9O?u1wVRzlϧPn@[f.]<xޒ?]I+yL(-'R0/4?{έ<{фnض#V~# k Bp'*$W~ٱJ܏".'`@X\s:6a?T. 錽qnzc<5h~ݚW?ݝʇ?SПR=_:'sZ/\J6ҩ/ >E<,Xt8AznxՂOɹ Vѩ̤g( RΙBDYD^çS͞~u--dmQqKpQp]()GC`UG_}%LӔ?^gң=f ojrNR]ځկ᳇SXnUHp,Tq.gIt\X4Fu$'NG(D|IENDB`=f KG8 x PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`XF4ExEPNG  IHDR BbKGD pHYs  tIME +utEXtCommentCreated with GIMPWIDATHǵOTW;o>v€MVD҆0% FcLtQUM4n wn솽.Pi56.`2f1o޻ j$ws{H@)(z qW'{? ?+J[+:%&LR$OE7|ay hٳgHc b&ERR)ǡR.GE4x4PNG  IHDR szzsRGBbKGD pHYs  tIME 6b+tEXtCommentCreated with GIMPWIDATXWYlTU{m8!P$Ұe}mF D &b01$HHx񁄚hdi1DIQmtss|!VPp}d2ɟsI^x۶)9Zk1oeG`Ym#aB"mS.!Ç.e.B eEs$Zk,B)EZEp]qPJaYR) J)JRJkN) An-Ֆn>mW[k*kH)Zn 6NO?QLG풖0E1LOOSر5wknbdd& R`YdZseRCCC6qҥtuu嘜dhhl6ŋ\zuY\r% [\8mۦ ۶QJI,DX(oqL&Ñ#GyM=blll9יLL&8??薌n>OFα- nUuux)z77ҲоNn޼+RpqZYާ9t> (9ȭ:5gΜ޽{b1fffx%!p]rL6u]1.a61556FNk8K[[ǎc߾}qOKK b``t:ͩSZsq,d2Ҭb>m $N>Vؽ{7ܹbtyybq*j6^*l:Su,As#8j j5JKXJD " +cIENDB`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F"IDATxڔKTa{SC%Sr ڴhSPQA)h"[ ShA(b:8w>- Ph9爪r>_,KjSH:[tÿ>3 f4jՊ6Xc.ibP[n6|'LŪRCø':hLTPkqgա|c@,hIoUIO",$hkظ\x٦Z|=FԹiW_0"!j`RҕiQUsҩWkY ٭&ީ$ ]vk;E &j$hik8gwpν-F}_Cv2dGuALM14A R?!x|pgD8j ܝ#4Ƃ7;Dיԯ> SsOVXHF:^떫zՓr&!nRwp$ڴ6 ҏѸ_9/{k"G;M?=7]Z\XI|\d`?͝\kOl$'{/K[Z~v0*ZO*($*ecmJD}hÂz%dBLĠ"8OJ$)>Ï `!0#(L@aT;^ [m-Ml)<^ڙO٧]k orӝMc`~{۟k<3ijj*xb,qLCNf#E3ĦXVb(Nì>aJ9EsnMB H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  )IVxPNG  IHDRw=IDATHk\U?sιݦͯkm(Vˀ҂"h_$}2HhxPNG  IHDRw=IDATHnUUksZn[ҖHMCB@L$A1)#'N/0G S RJ56?fp&iv;pasfs3wF~+Zq #X8a #cG <MpBRC 8$ F3PUR4T:zgX\T# S*dШ>1_^2a6ًY}ߒKEI,QTs^kwozėvÒEd%fJGC=۷{~@q0,G?!R 6ʝkkOZLxUVHEyJ<% غ~wmŽm1 գj@.*#s s̴tHAY.rqM8cI2 o6."rS @kxL0Kl{d7v~sJBخ!_#ĬCsŞ4LEvh[ xeU/aMBre,ISM1ڕPYjHg t{i ._O!xusKIi*$RʾV(;Pw:lP3V fNt?=A  2@& AB7Τd2+LS! GO#Hunl8bҢ~'aנEebv#Wym︎!Vg Mǘ{Žh4 ;͓S~ZSF1ֈuއji:Z{yd5s ]0AU۔3D03NenҠ Y:nuÜ-ٸ sBK `yh} N0qJQ' 1%NOb1<&i+L(7F/0\f =0M c— ^ `TCTеV+OZ'ԠC9CeRBQIENDB`_0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FkIDATxڤۋMq?k޳9GSͳq)I)"%S`P1=DSSjxY^)^C\A39xKXZZpyu$A4P 8u"n0ta@BPjǗW yb\[لߜ>8NN|3(ƍ TF`&LS$)W+G7 ySg:i宮$:::7u!c$$ RD5 9\M1g?ǽ!~4غV:!x*}'n}(]uC;q&BA(n`\u'T\p{졇 ۷c0a B@Z˅<~꫘':8q~7E&ShjN@U#p.^9s~ K$m|4oFQDc18}sJes=:(EmPվiXæg,UF8|mO aFoIZ-e<N{%Flق( .$dm$=h4P0Z{EPUEae2.$[JB(PdK%6L>= whB@QHr š[ceRȊCס*<KpɓΝ=rM`ja²,7yӭ;صk@̈;t<B$D[Bݘ:qX iQ,/.\ ػwI,222Ҹю=j8Γ/^o4:17$!F)1chO9ئtbСCuK'_TJ$w .rR&s[ J5U>oZWԈzngW1=Q#jDeR* !8c,}o4a.oO t]RIENDB` OK"$*%eY%*Q#G wo{~Zns_OL' /qBaڶ 3A J$L6#@?u:>:Y>1jRn9 CABp.|Cgg&D4׮"Ctwu>A)q8אָϞ; 3v^!(Pwl9<σl78nܸ`磴ZDDJZHPސ;Z\-Jvu 77>MxTPNG  IHDRw=bKGD#Iw{ pHYs  tIME[8IDATHǕileYNKWn"dB Qck@R A&&,D%@55PbPFE.r{};?Z "M&9w93B4v[$'BQO)VLUYYyS6ϫ\N- +ۉ$ñ=ۺx/,7Yְa!B50t PmΰX7֍o9IENDB`mDA8A(aA( 3Loi RߎTںɁ+WX=J -iYmcRY ֕-gtC2BQstP]=5^_VW|yq.}2SfϤ|- U[޵jKD(AENΪ]QyQR.tHل mͮO3@%v$3ILL)f$?)]GĜ_m]j݉aHksY-: `dFeYi#!ڤR9i)Y y_IlFQĘm8E\:4{otQYK,$NJ 캁jUɤtK#frDQޫ}@M=#L&d]ׯ,TG! D{r G%݄;!e5V,Nl9a)cDkkea~t:ښeo kv +-jw_V6"sd+(14G}E8ryT-na9q6Nr} VɂO lgem#_4TYKFWn:,f&L_BwFFyw ?Wx(CR-C3g<6^TF\9u6s?cƻiѵYΩ-FT~iT -'ɸn%hjGutC8)_޴cԸH:os,|.b /( Gpb6AB^ŝL^<Oɷ?\-Y^]S6wkNS^#%Sh..EVŢ C S &|Xgˉ:O\X{dShyn Q~A{_>^+Q R$KXG.~m筨&>2bIENDB`%k JJ3Njx_PNG  IHDRPgAMAOX2tEXtSoftwareAdobe ImageReadyqe<2IDATxb`a?R|aٴYbϮ3(//zԩVq q W^V㇏ܷxe”xqvmff6 ‚¡X<| aaa\`pܼqsڍ@O<|<}/]d={VYYi@ō]\\]5 EK?0Тpaϟ>d@[dgg'П޽{@;S50c@q4$led._IAAA`=90JJJ@񴴴PXuϟ?Y{ùh EKan -o@cR,@?+**f͚89'ĪMV{ 9 m!!!$9sFQYK_XQauI)mx }]ϟ>>m111ren:a`hb)޾}R5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  @AtIME#<IDAT8EMhTW̛y'1HpaZR)EB tEIp.\+ n ".\,TP](nҴAbәL{|p\оsؽǏJ&sH\=ͮ;ĻwW_WP=ZT3=LʕǿL=Y_GAE {=lL%_3?x o-..WWANc&'1,a|吩) ؽ%[\*[.|U_qσaiAI;-߽*ks~/0(nk6V8YKZ*B*EMMUUV#*h s"̈8rTbmk}o|*KClj8GUz/^6Eڷn!SSU 1Z'LE2=uj0,l]F9NRsJQl"yǏ͛Pu:stRvC CJQQs߿//4T9R 9Wg GƘqLߦIENDB`G f:f=P~xUPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd3Oj x _PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"b!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻC<e;?TTTT6ݵan{4[>ɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  @AtIME9$jڂIDATHUˋ\SU{ M^cIH"F ٙA y^?R "Ƞ,R< "(R<=GO?n}T,% ;SuΕwߥy">i󛛿US.bL` rBעpe4w?Ĺ/|c?׼xLKKQ4xTʀ!Lk6V`͕IL{\qի3~7ڄzh ᰆ=ѣkS^DFBu,vyw7EB,Ѣ@MoSh|9x.ysQJt:>uʹ,:3Zsz& H1󀪒 Ķۂ $U,t {BtDDōD++;I!*`P[[)"Gj?zc9۽Y[}VVMQCƐ!dde`0bB`d8u>ݻyE"}T"(42hiOp(bZu:$_|ē'm-l^Ɵo v2`!z=c315]z`բw6r,K{R1; ea8Dj5i~ -iJiJ9k5J&!`B`ݙTA IkGT*ΜᗧO3ǘ) _߾?.,C8td""TU51^GwzEz^y8|0:Dp 0ekŪ9R8ytJƑ#?{Et{j!6Ԝ#6Ƽt"TlcU?3;Cm"޿ΝE:2ZDT"oߠfR[|`i s&%!U Ρq1$d[[w~tJ苈0s֞[KKiK[K@J=`EȀy3:3EyϞfw^p!}wEo̯MDXVE?b#58@ d"7_q*jKFO?ϟoކ1sƹA$Tѱ@;"-o̵R_~D$x"睧bicNZ+F$q^HT#Oܷyt8^IENDB`E1> m]ncvRGwqj'zo]? "2vGnnҿpF԰?֌v3E0:-ZLOwonEFpu >}%҃R?l}sdL4 Lqx2@1 ҭ"\s+ O-vDQւ|`{Sfen9pu?{8((VVZmx(ׅ6.PgT5* g]Xy~S*y݉2\}א\-/o4_BZnj 8#TZ/cq1\Q1M\M]tRjv`P1@JQX!+P(NO_8/w Ìa:IVeBSUPBA0@i붥~WnWW|Rm0b(g0T:vTSS~HДnDW D# ۀ0T}0&Rw^SO=REDe6I}i6&-ؚJ(\sO}o*9O4jnN^軬`:fetC54*z=_ i" <E:ZsxtYi -"47be`phq5׼+_DlIENDB`L  QxPNG  IHDRw=IDATH}luǿ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڌkLW,PZ0K/D` [ n-t37lED̶aN>,~ZT,ٌɾ(Bb1`X#R b[!OrrN#(³f)`ŧEsTWWVWWiZV50OQm6ۧQ.Ԝ4f^P$A"Q@>Q'!;p?V5PYYXVpF,C˓+++'ڢ$I60\=|؋qpmIKMMY(++K:~PL}}=nN"F Ż)xFuuuo^eYz){%v"''梍"BMs?n^mIJNl= KkfOc8Nv;MM~=wϔ, /KNFmbU pq:L&iiA GJ`[BgP"pd->@!$$l, JgUTT d_b,c||\\4;D.\DL}r,xnIn$^_}Yj:`G!ɜL{uZZfVԡjSh±feb0Ģի&u5 hTƒ?--q $$atxѱq 2ccDhw=(ݳјh*ijr#!f3IIIn֭/**QFE/;Ts ^'*Vcl|XD|>?w\.Z:@JJhTTn`Xz7-G[]]$IFXMFhmi&..nLfGtʕsTќp8p{<&n&nZ`dŋ^I6])mll].׎bтleeewO @d:u6]9} q.$ӟ3xIENDB`Y %%HRxJPNG  IHDRĴl; pHYs  ~ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$CG "IbX*QqD2"B)%d,>5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FC4%LEZ1;yj!xvXJL5GŸpe7UN愷]o_\|b~$?Njct>}i) (՟~G ,cL־x#R5pPwCK&CΩcPiޑ\qJ^פ֟?sЅۼ ?73&^c^t \ H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<0rr*YU[QREٙwI@[hl1i~zhe9[8 TeessnFPUӭc<׍yLD}mI OG(Dr^nԕ47q+ h]Hδ'S'dZRHL_{ u>6-qIO(DCi) :&IWK$_];*96}k.0~2!^{A,v vFϟ ]vK*eg ]iik1My$ͽ꘸XOyK\ 1w Hna!ః;MJ~)߄ DPKbighi;{h)n!Mn|'9׬A]e $]ZuϽ5h4&%j׈>V@(itm((Z8wVX8C`E.%kxje//ϟ7v|NHdl 77gL2HO-cKJfܩKO;X"mii)5?PcgfFnvd #΄Q7l)驧Syw&.Y6 MHKK#щ ω1 7<3{>߮>IUUTV  VxPNG  IHDRw=IDATHMLG]7"NHPH6PJ ( N8wUrxPNG  IHDRabKGD pHYs  tIME :t'qIDAT8cL`ڿo>3%3wE ˠHK?yΝ;300cr…'O?k3*"BBܹk 9X }ӗϟ//-yP[]CW~._doػw+/^y6ȍWmZ.&V.Uϝʕk2s`ݳKCBqoشy^هDX0\tcWUM <*/,^e ^yۻ8eeHwɋT3./0ƎS֬[)e5]Ԣt[]]'gBۇ";(N6=oM#vS8E`M$3xiS M IbfYD"mb-m h"f, jz@)3S=H$ZTś(dE>ѧ֝3:*XY-'q޶c?4I* wezz{XCǗ>/LEb~IšFUщ*~čPR\ |@wԕpLfPcjG1|P݀(QV T҃gHKa;:ƿk#ZLCÞ:8]N|>(N.LzhOb~W[>pVrW9ae-ϯ.̑ɡ#zd$=}0tJչ xebd FYd*H^^T-,4MC. Y-}-<'+Ӥ\ $JO&> @da4fn!IZHCn !u?x]Q#ϤԥKRP zof]4p Ƅ4Қ?rm"ӗzZHoAO|",X;X| HEE" Atr?00F 7s G^Q@cCMMM577~O&IENDB` ^ 9X&xPNG  IHDRo OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\FC03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME1i0IDAT8˭oTEƟwΜ9_%B0@4.XL3k21A c \@$X"KKnv?vi{Ιy8-x 73߼ϛ̼xxIzi n<["V5[Rru}L@L H ӇNg$v\!` Xг  ""A .$t;s 'vw<"m+" m(6v ZA$DP&Ғ#' A$uAgVВm)=WNf  f&0ACHØ 'l򽎑(s,va8(WEGvfBKRPӝ8ytA'-pz~tQ/՗#-)wn5_̭Qk5[[ԀAB'+sՅjȺionn~0 Q*&&ƉhwOBP,%4J rܸ8Xj}#7* qrlRjvvАdם؀zw~|8)8r+WFGG??{6c˲| Vz{~p9̮EFTͭ?aΟԟ |>KRgAcXڶ簾ggMyPo:gNVέo9tb3{w)_@tѸrF(v 4 VzIicfJ ##GM>xP. w`hdzkb_? w I{A `#e[6؁Ո"W[O7jήZ9el.nc]Z]$MƵ̺X@ ^3sRJG))R&vF:&2D㭯_J4 !H3FF;Wr9NvfDZڧ4|jp$ >G{WJ麮--a aIVAq(x.l6/]t&wNP]/Q,^±1)%?6fE1 JR|>&DM;lIENDB`8RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME%#{GJIDATH}{lef3mC K[n",FR/(^Ͳ@61k`]pFcnT$@P j (ePzv:Muti}dGH;SW=_Ԅcǹ8ٙ&&(%d%g?^eM3X>X &>VM<㥦cF^uu-D^ȧO\CͿvEț3AclAX畓mިkլ4oz &xO{:=wTqt <>.9l>J/e +nK} NaGٝwqtpbJ&fy_~Mse>l86xbLt†8}1JKؽjMS;On=N^E@/xAyPUplcMn2${cؠJU Q@ Ơ"_RP'~ .ȸ1e!pL.y',D(Pq Qt,uypq/2r/B"@FƸ4ZWׯ<Ϗ0BXYv_')Sd1 #F[|oVz9UP:bGAn ¢ƒ=@u܀:xWr7}$$v2I_<δӘ=N9Mπ#ʱ1_:\NEikov&O 4}r ` }lnu hXXA5~]WG+S+]wb'bʤ|&c\ L|+czˈϮ[Ϻ?WDf RXXHV0`(g⟝.0P "4utֹn^?_)e4?xBC46~֭[ 2ډ1w@,V.奋g!9r=e($D]7MS 8⸮x_my<<}pAܘH_oX@Fƨx߀/dc g[@8;_חAgg'm&WVUU.㆗)O:"  ߐ_sFͭj m d'p%NHuP|Ri#jk/ H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@+YZxPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxLMoU{$mR.@T"A,P$ĂBIJ ]bV"X!QI˪hhv3;9y_} "NU8~BDt6ݎdæӧNrB&"r:j7&e>J)Dk-}N{e{.I=sY3ck-;A8 pdxwZ!_z N+_~6X0FS DP[[lxz/NV=bFk29 B*8!7>-ac 0FF);R'4%}rIAXk֒)6uåm G F*qDZ%=6(}` M`"NyiFkea0H)&О!0|M\Z# 5N :]e<էIFpbH&᧟7hmnn4(hoɍ" ZeDQtm [[O>~eyy#uP[^}Axa48Bnkv07ϵ[/rp/P*8:je}nnnX,^Z@Wgd 0$ڒ2 2Ll0IENDB`JB[aW}g_Wl~<$2]GLϒ bG "IbX*QqD2"B)%d,>5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F IDATxLoTe}wL;fڦe,ADB]9@;IXqFw.R ihhRmCcK;mѡ{b>9GTU\w9H$ZJ2l;Q]yO{DTٹwW*++l65"X8(4]]]ө;3Uۨ*27W..T O1,Z@+Å2'dDZAD@QmojEbxU׫^-1ck0";r@XuJUMX#"xZC:b84gH>ߙc-;9:.P7w ٳ'KQg_> cӎ㍟xcxll8v +ϣt$rJɤ1ՠFdpT*kˇ^TRBX$Ǘ?m>gHڢS(t[[[Sc=zOR 0~ޡng3{>xBu%zuzkߜ9q8gN& #_"BbZqHl0 r dllvkUR).ݸRz?"-=  ţ+~6f>'ι'__:svH_?'8L~8ɡ0G|5w)"GFF>+ [F+C8d]JUdkq0)"";l.y q)ʅW/m&ݝq׾+:| mIENDB`ñ 7\r x [PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bb[ x PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME .!HIDAT8uo[U?l'cǩ6DHBG*Pu`P`$V`(ATB:~.qÐ|?G"4k^ p9MӇEDgi:f]=uJ)ln""arZ2].0 QJ "Xkw:*cci}cCk-[qx t|֊K7>;VZ1jϞP (d>~xz!}z2Fk6(J"r؋$N'cL15J#&z=rIqZ8[wm |!ϡpi::3C&7A(mPz?v̝:p֫Cd [6hњrYb.{wi$e9RrAljk}2Gk#.SSSd2pVхG̿nӕ'PJ&:ЌDgֳ:mJƛo| _~5 ͥKj1O-A#"*x'g-߬^!7c4DQD8"Hm}}g񾠏~5f=DQD^?y#I,o\jv\.7fJBчY̍cڒ23Lr^kYLzIENDB`K U=R4TF<<(ZC>ָ b+HT.kr]\7 8A@'$  pB.@`0뺴<ւc[ظiHdŲEJyŋlb:}lv5] B@ ?kg=˲R{T_L>+.ꍦ~okNʕwR7q"-$V XךMrŽb}|_X;w=ٱ1Zl߶-C;wj\]3'9·f9w}?{aʵ*udfۇ00\3/\e+LvPٷ~+d2fff(. `Eܶd*f2Y^H;@-Ƒرc,]v1qku][&y{db-73SVZ!r~4/EK .[/] nx'pEZ n(&{3.Z@@0P(zrR*l@ Dn"=oIv. [^- @\.:ɭ_:u=]-VT cFlIENDB`&" ==8]txZPNG  IHDRw=bKGD pHYs  tIME22IDATH}oT3ٳ׬?m JM&@"%Fr U޴RorҪzQ5iIbH (%䃀 f׻f93@p#^=9;3LLlk6Ohm6Aۖ!J >q 맾LCk>}B)R8>ODQ,zFkMRP(ho}eLM#̯yym?Hg hX(F"m@yMRhG{ n+Zc0`A !A(R,.p}|<׿e{իժh5 !bTX^46$p,fl߶c{oow0X]+)J4MTISxMMS)l*J-R4 Ѡju\7DP~gtԩwmL;pRFJ)m`!@Z`0Wc0Ơ 7D(J5J)H["D i |5â0h`1(h4 `d粳hòllBJR 6ڠFk>h5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxDOo[Ul'c;6R.B@H6J%, ]u@| v-R!'IB$s޽wX$1͙37^Zlψi-[g>O'XQ_[[GDIQ^Z0 Z~Fsg .촚OMYkiF=J4 c JǛK}NM~hcJ)(@9RbBmnn\:t.Wj>aFk28 APBDΞdqZ1QZ= 9$ T*x/Xb9u=zhch7#F#IRHj Camx!{mQ8Հ`XN`R:0ĽCzOe}ug^(4Ξ!,~= KĽCFGGr2;Q-t:nW̼R?VсXah$ٗfjMwk_ wՊyjuz=~ 毰6x酅~FQ}Z- ޢEgwث9z{{?t>3QësUQY˾2~Xi6>8]y˅BaY!ch:Z(ST!MꟻJD1`*˲ӷ.]#mZ{"Ҍ$C?}7ū t*IENDB`H {^z x PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<G "IbX*QqD2"B)%d,>5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F=;wXDADP =z2x =J4 c "[7뭩2X1FB)"wH64-}Ae}v6l`Fk2Ԗ ^H4'8a6ʥbZ1QZsxsjMRmX,`Zyx΢/ҒjDPTk*Eչx"I,A^h(j@s*%\^hM:-;Z[[Ё!Dz]F T_z֨`އ(K\ |FNI|syR/ٹ٫/<}Bs:;;)<]WHG3D˂{}gZ*8vщOy8-fLϣW[sV@ݍFY&1] ~;TM&!e^|_v}CIENDB`.yc 4_l!x!PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxDMh\eL&4if H;jqQ V;ѕ;-J$BђI6N27:s3M̽}q+tct:D$GTdJ^}px]U֭ٹVVW]Tk:9ZmZZ:;7mׅUyTY\\zr}@w&:z`ʝwRёkKkz@DPTIqytt ѓ{o `DvU*\!j6´ H) ưzWs4[MƞSp Z8[wt;HZ-)$Í2fC79slEMOOǟ/~X{(J4#|G&M_n8RǏCN `#Ʉo̽'"n ƙ:IENDB`x  ` x PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<&I>,}yI}>D #/&a&,)TLP2`|~|=˱mPl. A$T%"B O:Gn ID!>7ͮԭ@V0..º-c,λ#X7+n B// |lz- Ah7% O3Y]{R~(?ߧW-ӧG'T&4JZTXU"nI GVO@U"TG^R!Mz)\a*<nf{ghAFFB%i(kfT+ղRn[f0iQ,WVHzıqLgJ_ Tg|q~5;/|ꎿ/0zr)L-!-1-ϩ|tH*y;I=;Ik( 2,zK%:XU*`gJ\:,~* }D&JlLfQO`(n9^>b÷gP|0GoϢq9~? vW--?­o1Rp<*3:ӀyrS݃˩<xϼ]dd9@ D e͟+XvM&9<1U^TjNIFo`#XzJJ9}vs|j,2zn)E0k7󟾂K2Jzg9Q$tNXdx=:YSW䀖#ͩl_v%]@h]h?d1(/9ڿ_)W8v{m+?lJeٹs.b"J C K_G#gC(2DbsgWW(p?oY>UM7nį 2CQ | _SIEɔ7#oY7`8%ZƁ(nbPf(j0Zvp,eHbJ68,0?Tϧ|V׷oν|@on;T΅ί{O]$SAE&&^_M#$2ۊsI/?!y*evD\e$9`gm&λ0 =΢VM MHew*S8 NVY?ND}<~؇X52y( NĹpma*KkÿWU09F!vSJPH'0y|!uRO<4CMuQpXCdk8" I2jfNшb Nvc\d 4Zi_sp\0JFV:O_*Djbo\ɾ$<dȀ,ُ{#*9/($FΪWƶ+ŌFҷqΟ?h$, xE3sWA) 8YSzlnAA2,PJTaLZ`@IJ]$?JQ I2WL8"Ǹػ>Nd2lφ!PTlg-%D'_Ʋ^SJ> I| ~c3Ӯ+km$̘Loc%(5Ǣ {}&ѫ=SNݮsi:Csw("B@@@ J{v4Φ!|lQ+āLPLHQu߆c,5TS.+8X/;Se .#%Y͋O;~Nv9( Ԯ' m]&K60tN痊#̹ANIQ^X'v@'V19AV'a)7bMK!h񨀱SkFٰUm]zn/MDru>Ɋ jOg8~YI-Zs(#/?:1s^@tњ/i6q~L"7rH,z[Ń)1!)Fͨ38q2TGmp F3)XQoFO~|x`鶽8kx̽=#xIG낰D  㤱Graab5H&df`8A;͉$T IFY<#hxU6r iKiu 7>u5,)+\,duI"i;;}8u5!$s9D)G=xqq4aVx]BN:Ϩ.L$>ɏ1(3݄=LJ,~ٖ'rㆼf}7o;uC+|~">&xR;A5كmkCAx`Qq$x05|6#4 n`7O]OɚvL>eOGϐ#bUӜl8!:U "PrXߩ*/QP^rrhG |g`[{:p#RЄz~ob0 SjHݺ!iS 0W;;},~g㰚^~jx` E|LZmP5s^l[=!Y8 OaiS“/z~} .jY!H 1{9TY@l,\n Oj9ƽvf[̶n/ 1Ma~$AFae AFG `aB\Ԃz#{Jܝ̲.1FW? :G֐mK |}8b۴ǵؒdL΍HdUiWX~o(#S c)Y e 2&1hb53hwPKLtSk$QGXaCjSDD⧳x^z`e "7'V܂3Մ=&hZBǹ0zE/cv#K)#Qjz 9VKE&/V-e4VJﶶ PQHYMYQvOS}\=co`$%ݥ\8@P]em~4EDdn;)~Nphp|'ChIk9oY-mt7RSDy)~ǦwE"KŘ!>ӍF7QQ[uPi$2s+7L:{os.}BVl9,5'ba:_~Q'gt#^ f-Ż[V 8VCNrD_L/AxsNGF^xF=C]mH#/@>/d3UM1|8o2SYn䪫w * ex&vȏ-K>϶/{^- %:q 朑0LpavJA3?3%]w{&& ᰵaM YbHtTEi8DEuL-E05̒϶gE^ ĵ Odg^^J$褱-nO2Oax9+/1\M|똎TdK~ EjQ㶫0ɼŁ|`O;07EZ4O߉n|ZX]#({!|'[[Sħ5Ei믺 VQBߎs[#І7s'>,<3/4׫O_qj/BT;MbN,5ek`qQKNeި:tPD9 x)md'ʀEi^]JQon73wV[I+B˯gE6E B8Om]Y7;.'g&-&5w(VͦFu+,:mef"kc뢽[tڝZO~1[-}d?Sfo㢛wm >Nh]Qv䅛Y QzɌCw}^F6a˄f @aM6uK9uS|dp-9$ <68(Tmjyi>m+iC=34m*곰FuOmU^/p '^ tͦSw#Z B8V/Өa;e+uzR{W kbG6NݒF{h[:Dj-_<Ǟ9Wd / 7hql(L8WsT.YkOSSS>j@&؈§u5{ܟ] $*=mZ̅s&ow(-Owp:|qČ DI aKhU eՇ઴⨬:3 Q i0IC6RN~{I2(Bٴ.=EI7cM3n0"[Cė!Z@xOo\sE sV$lވ.¸nY #λINDFE6׷o ^Gl7*dIDOs;'('p^jj9*Z⑍"R|sUFFhw$QPK |Z]w`mӋܿ*2߯ }mZ6{IL#M6ޛ9InO!+\R*PvXFT(m݅"g1%3W9.NUUwϻՁQ,|k%M0:kگ?~Lv/d󗣹zמMx0,PZ#Wo'Co?HXI\>.w <j* 'K3Y}2ee>R '5hSvge_v IDATWo+g<^^ZŠct7SǠENuIKM֚ե:xcXUYm7DV7DZ$6.+=K=G#&%'5DxgDmM(˗fGH;"q86k@,yksDBr'eWЧoϽlͧ\{O=1I>ʻ`-5d?)WkZ+$ظ^ ~i ;eڏ)5ָ@@d2Eߗ] )$eh֛Zzlnrh[ ZB#\vOY$Ƹ7)O Rhmqy%^: Rmۙ^)0>6 CfFd(594ׇt(XC$sF c'I]]qڃ0qTVE`ّo&FkG5R7HK>@0 *7Ü%|LdG P[MӪFو_pц(fr-Lqbգ1/ cw,~eT3R'YHnWӍ-F֐3B A顮$?͸Ga.V?WxZ{Bt~4ԞT>_|9%gOc\^}lYrJf?Cr|Č m]Ǧui\AԍM6?Va.>N>|RPJGPl3bj>4ַ(=f+u7e]E*ưo WqvqA/{&Q#ߴ5k[9H~k w<|Afz~|縟y#⦡pO>ۋ!~e'<2FQBNe]z*[j5@ C)p6#/z$Hrk z[_ړg V桯0.MdUeϘZ/O\yPR#R$NfG$ B#g^B>g#+$ ~ü?w{>lNK. ;| fo|rYS5oy<}fXĬvAه.ʬ?<Ko$&Q껕0I@~(o&Һ$[p>ȒA'~l{ /ྗWrT{2 Hz.R4Q_-%$N/GwY>QTT$P>-ggz,3Moc{_$,c,zdFW7o)ho7䥹N+cΧQ JL{ \Oͤq?9;1eHͦ}r+(9aΈ#+15M㭿^>C Y4-{D 8ZϽ-_tN֖!#AkX[2uP*]Ѥ?x@m nR{0PfS\r#XF> DG5Z:W :sh,e?=j:b5NqE [qa5w`j#.3 DZK#%x_'y5۹ 2bL^My稩QLWlو}'!"Tߘv|~QwJF[M dӾ >?{ׅ!I"֜Lt30;sG.oI1#=*9BE~sGX}]QL`N}=;w#9>|z乳 SܴȾ{z, jWUsOsg7z^Uvczz,7>ޔx:e~4ZyNm|OoR/ Ι{'z=쉞`O'zt@HIENDB`ѻ eelaZ+XxX+ԉPNG  IHDRZ?]RbKGD pHYs  tIME etEXtCommentCreated with GIMPW IDATxw|Uܕ{or3o;q)jbZjժ:PZ'8Q{dܑ=G+ H|}3>*LO `O'zG=? @$&ItDٽ#7+;%XCV'K\"UL~<.%fY)LG@I"I@xDBDBr)2I)Y/r|f(AU 7$'^BIS9qe$UrN(\ L%Lf&W*rMlm\$KHRNj&Phr?KV!I*$R ±t B:|k6lFT,zjvQι(p_ݬ0j>-Zb~I]M&C%l :̄HwI͜o8,# Y_۱9`dR ·_{Ts. P%41ݿKol^(d(Y~LPSP3(؝xn[ f#S&b |b|xPNG  IHDRw=bKGD pHYs  tIME kKvIDATHjAE)"^|w{ L I0! bW3af3Y^_UWwUO-՛;;8S X!`B2f!sE﭂sJml 3Qy[v>0aK>鴹sf``,}issqTPT+i,lyk}}jm1"o` fEf+`*px\A$|vF}hui&''3azjz}2߅~8n=ВX|ե7:W@TQ02SFQut>L 0*aze9}7BAGVi8ZD >ma!L.{"/Q>!tPJElvÓz71~nF取Ito3R(sF/բX畽 LBO"4IQ׉K=]'7(ujL: L ,jlll -gDzmqq7^xoSJiuuW3\.ϾEN1=HtE,KIfߙX"Sc4;Jr81 ] ;m7WVXI؉{O SS$LOH$ r|WT8P-U{JBVw!9vzVXt͙S*AKgx 1W.FަB*D6F33314IR;r8d2NQjji0XquI[5ƨrW{1x/#=6I&PJai% !Dmi" e;W>nzwED!tӷ;W0Xc\:o31Ǝ\A]o*WvTSIENDB`b 6dp#x#PNG  IHDRw=IDATHoU?޳cJIJUҪrC(rÙw↸ 'AJ4m7"7q}3qFvV}}}bfcϿ4i4T50b8NQ*13(Pxzjn)YY$"YT,E%|w9B\򣧼wmV7Piso˲ȻFIJcܸ6ۋ  ÀnҥwƸ^l؏(2o  1cu}WB|='[{N/}RR9 pP~˔g7TUEP*z20뼳bbĖs\~(K#%GKsj޵jm(""XH/F!0 , g_|~i_13u}̲_}f>LLI/`mTIENDB`q ""[e:x7PNG  IHDRw=bKGD pHYs  tIME 1h+UIDATH핱K+Y3Ơ XDU  X(V"vBD,ӼBB6vYR]AcɬI&f2sgg<} 0;ss^o@Tj?45ybtt4;77 H$I]_ɲeY\%uW(4BtޙeYeYnjV5M5MӽpWWW( wwwE,ƒ$1/ɲ$IDQBm 3Rqz{{uFѕk2DQPױm;+h6xB@<gzzڏiJ%lFQ8DQ6]M6MuiZh9D1EAUU^^^0 ۶?T8Cksxt]zNR\.Ni6\^^299I,hP*xzzT*Q.jAVCu] %j4T**777`YۄaVVVH$y<( 躎8q4M* 2gggdY*leH&i666HRhP!e}4MTUUTUrjvwwY[[##[[[T*QUcea6f]?kkgfff۶@e8Ÿp||,$O2d}} xxLL&db!D6 4M#355եw댌;5,,,t%B۲yn)^Hէ۟+jTU= .W_B-~N+V0 IENDB`IDATHǭoLeǿw,55EL4%5YLro|W2}h/|;Mɤ=HYl[kA^K|1a+Ma\.'}'?4y~:ɦTη]O> oޛYT-7b?zs:( BOў7h{'OZIBQgGĵ& Ib-2@-jfA(MUpHeG/q:͸r2B;%Ⓧb|PnO=Լ X";(拐Zƈy`^9wSEcAz/aze> B2LbP$m0W 5-Tk׈е+w$s*{7 +Ŵv\-j݂@"Y @H2w֥7 T.r@5 `=u#_DsT#IENDB` ll#gJxPNG  IHDRw=IDATHUMO@}NZޑ8?Gqo^8^Ďm) I&k{Hk9YyofQ"qeesa" c alnn~a9S^^^57(IR~`ppu:!o+XSSsR++-!! ]S,m| PWWך0PEE3(0:: }} 9-B3,@O瓩ee !Ii>98wPS_Bp)kEvVUzh01MMEAV_RJ?\&ie ȫM7ߊY.hLҨZR[Ar} {*a`cL8Ueeeև^Ai)T٭99EnW,!$V mPjbE]U*YsVI3!nf P=waH՞fCA^e1G9-˰Bh>k%; i[DA<Yz|C!Fį,BVM+!q>==pKެ(J^A_f(pb4Fxw$|D1.KRxsff t㸡֮4 `*ҭ$cSZ1V1cB1n(`5pIENDB`<`#"$" A !R%X2$܇%5eavk;~* ""rZRݴgvS3U $@%5*{y3_ܩ`m40s X􇸘cr7.=LCc/ J|[dMB^ztdm:Lsj⮇" VP:X΃%FPx;|hjZbgZQr\V|F__v2gQrU]fjs㈬2Kepq!) NL1|mP.=s/&و6׿O2{fg-"Zu|L SL/vvtBwkj8Z&hz ̩c{j[m ȹWhO8B 8soO R 5uuc,szث_eO@ ϲXc_:m cu ZK ;=W "c(GǶS,9y$=C?y.܌SZ6x=+¿Bd,Se*JhQJfqO|IENDB`wI? i*xPNG  IHDRw=bKGD pHYs  tIME "|nIDATHu[o\W={1;N☤iRIRHi1jIUMR EH AETq$$TB*mZT$j$PUIcrt{\'!>͌3{^%\>H5yf7&m ZirpPhV(@)@K{ 7k%93kalQ1\4" kEXFHsXop$ThIrtۓW94!IMҐh܍XFh:=cf}1[HѓN֮f 9no\"xnum j\Y|Y,D 4MoLdq*k[<8H6׀Y F_c-Z*EJ׋^ @̉әRp BjP?Wъ+79(gh-+ԕ ځ5`("& ﮏ*9NUP,zkA7,mp zHDdj(UXrX`k`/ c cd,oHiLyo'& 2+-ܘ\f-b4&#!ֆX 16H ?,F0F }uZDaHP{qfr̈́Jds&Qlk'["K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 0QOhIDATHoLU?<}>.`ԋJ ekj-67ڲzV2fEٜ8+f/h҈"L( \+\yӋ+ ֦]W9hll콓⁜;<mgg/PD.  )T)BhR3G/6Q ' E2@J H!4)-gaLB3$qAzU*W̉$P(%R)J4bbaY 皋H%Pn5D4T )@+%#YJ@J}J: t \Kwb%tLᢄFIf^EDoLUkeu ӵ/;(Qp'kAMMf0>}P$55AU.vM_-PjnM{ ̠kemǽE͇i ēOpK@@_)y6fI6G8O ˀAbSvNݞOS?&|>q;JyyVqjUUU /xɷj~]Oe$Yan"IENDB` zjxxPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQD磢zf:QgVd:㫴=o%E: Y_ X:R78kqc|R4pߚ3X2 AߊMA cJk_II ΅V=Â6l.ބ:TWn>Z=!;n TxqN%N֖UKTbG?5@}eaƞm }0UMd 3$< 'L@Vn G9kwo"^""toCd^Z45=p_H貨ddC# J@R2FNȰ&P(&s_@9l)z%XG<@? > oz+7^;|b#$H"x4= ®o_~LDA—|))!PHA^k;i஻;=0z0/s=shvN~jɓ'֘j@KZ=;^hu̬i 7U7J>|!~is۽s9Bۂ^+zbAnnV7g~wd[+Wa_`)ڷbLavTp8v~gfp G|p 6L &y/NTpγT|;!VQ$uZԌ"UpR]u[XE%,QŐܮ@bD ۯsdLE$kDAD1#S0ƠN!1 1xhkk, 9ɼnTSTQS<J5/^YrߞKS'^zyTbԸs8v3t8.rdyѹfO'& < #i'G71pfdaxLٵ,#wGI\4jj~Jb1pq~oBny.=>`X abn!c%CH $NJz^q3OQnzDLa_3L2NQdBU6di-Ͷ_#Pchh<`.q"uUpu6C; ^Z*חK; 1BpvujX.W 7b8ST[|[|]>Ģo02sLyL bȬ*3dzx` hzި -,a2( z35*5ͦHbZC՗H*Luo53-Ws]OڍuTk[u ~4*4ҁ&W󅙫}Rʶ橬Ȉ B*($kXsuWQQib~(1@qxTJ=n\PS:mNiM`p^Tչ <@￵r" !<@?pϦmmmr#e`Dr gFvw;;˳ G__@~(B\GrE(.7h%jkk"NY0z_IENDB`AC03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FbIDATxڤMlTU3SJA,DS] LH`EbX Ą(& bI I@ɂ%-RKi鴝vf|.LiJ==7y~?‹~.Ο_<pJ1foo߹%]SSbLr6W`̈9՜8+o߱C&FFU1Xc0!,qUaYw G묿󸈤\Ȼ_)a91-]0Ƙs\_cgXcxYTBaT%CjZZZ[kldMTJU[pc8F*1Z,"`-QP"2<8 av0@&7ozF*(B ({U{Б͒1%kX57#P σ*fE‰ K[ұa&T5c*4\C /_B'Os9:;IyN"A.,YB<`4 ɬ\I/0D}L{;7n?|O8:>D#Iմ-GH΃]AUT~tdž!ikI-]-z{)ߺIjzszY-ǓMT%YgIi&?yl ("|ɻw۲8|' !DE?N = @}hڴ#G"Fs9L`9k+RmmhDMF墋'Q^'xq#˗۶|*p3J_Ej=x|ӞҞ󈵸J짟P1R55;j'!`WWzKo'lY0n-_͍ ^P<%.F. ,UG4>Jbg2D$ Z?G=y&IENDB`@v Zn8GxGPNG  IHDRĴl; pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڌ[h\U}.9s2m&3& U4Cjmˠް4mE>j }QA R!4ڛоLIDmSM&dsC4a^ouT3 >}3p4>[,οx~T'>LO4+]*ֽz6x^-CD֯vd"dfly]Sk> o}UC;;}vcQG^>-/{Ol5uӪ-humө 򭟢S_(l"?9)7 ?۹bSXT*Yׁ2@thճx]`l:L#D <\RRjbCjfZX.ޝ:|O[nп.H8)q3|8|oYDkG x7=ұ^T br"Mx[;HǪ%o BƁdڗbq~-Wkw [?Rk拐)dkC.-5KcZݑsٶwwF[)Vzi_;{F*VLΎ&һ.? {A祏sS9'G(_ D?g&u) SWgW~2yX5nPbUMs']?Uo;H,J^]-FIENDB`~ + ;[p: HxH PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##2oh x `PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME/3ڷ*zIDAT8˕]Ha|72Z"Z ¨ @΋.*"¬.*ꪛ* KT$,3ŨpNݦmۅ(*-9?s37kň.KhsGp]yb.FFu\i:En>'>h8Qu6=1vpPt,7\HN"%I+ͳUVJ$90A˗ax+Q}ZGPptoaơ2PAT@JACCX g^?1*mʌFB~)Pt m"O&g*b-/rtz7'vQD œ FÛ@/+F$Qtw~VkL{ @81Ok_-+wtp־vWlVA@N|_jb /زV(`f4@(v+>2+)VWXYд"H oULn`MEsq{6Kђ@'%Ä8O!:Z{}STx#GP FޖnyNZ{D2t.3l/VsnFIENDB`̖]ϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME/*IDAT8˕]HT w&IfƦܘt6 >H{zb-vYb6H, ǂLÏ)uqt;ssd 9j{~='g߷8Vٛcyb[UmkT,/uЙWį *?flo"sc~)~'[$k_^G}+G²BgJ>d$AB|F>ź7J׊:0<68LYS!5(͝w % ۂ"F]ꌟhc8␌CZ%U:ioCWJn)^bs/t+H2h&2,wv& ]m^>d d0D H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##x5qn x ]PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIMEWюIDAT8˕OHTQ7ofSGLLK B3^ nkdI;-**4WAV-, A(JQI I0K 'QgFg͛y3^PI{9DUi1Jppfkn8o9n3ZJkdǥbQѶ'nNt'A9=""RV{!kpPB2)E̕QE9`@sUW|!cYjNg 2!\Ixq,TmC5HD`@L  7-yYQt[jUe@__eP["FFͷwH89lAJ{PXVAW{HmnG&-׻f\DK ~V,G 胈sqkӑM͇D6rPpA3 h08~ޒ;Vb`aICY؀.n@ikOӕeY9@k5g6 {FELvsYQEЂi2//Ψ)Oc7&% 䠢(ȲLE")@f<̤A_Ӯ=@jQ2@3ubk'y@}uIENDB`O%^U{u8~f9=.9FwlN\iSvlKv. ˋ+b]2L KKhGhu@Hpc:JsU>ǗX~`X" (;Hy=sm<'_ MK`4:SV>V\aYjѦX=X$Qcҏm8?P*8Θ>dq~bbr +ӿyT0 ^t q?#1Q)ܲ8S8/OȽ?~?WL XZsߩx%^IK}ZK:$/MpřUC8mjBqj1P4KG(rq*Gc<'O{g ^ԩS8t=[1AN=Cɏyn棝w&P7xo.^)"3zmpIvw;ĝ Bv J c >~l#r>s_;Hqϵ׷h|*I=A Rȕ<nqxs E,Y4"9"6o=zap8' ՘G)t; ĦH0㈭tڻ4M-/pkAH/1c*nRDYr}bG;\C*MD1xPA])B &J)zo *(KLOϐ Il6 BBHmI5bjnb-G4 JɠF' g`&b|@`p0@뜙Y*q)odٺLy=DX'uV2j_#Klv8vk̭>ydb<1(WP(ؼWvv?q/NĄ! Y}@wq#pv A^B1=}n{SOT+`JfIRິZ-~?o0'l-R"p\<υ1,8ql)s`po7lAuZSܵzZ—4|h4q~ _OȻtmS,/bs/L'b4j߱׮mٯ{jz&`2Iyc0h4ZqHС%2s{1f%/(zn`=OOJmWfkhݝ5sʛzM0x< Cywfv%u /̳p`Z"3- wSOmڈزuscruJL̙ ´w~ٽcsovc$1Ln\1믽T~zJӱe L)^>|D" "\'_Sjs[;;ʥ:ǶAt(Ub%r0Aay<\8R\buth"2m+x7IS`tQ٥rQ#t 2reqFx%$a NN j5V޳:33W#%Bkomm9hر,+-;t7,+Z #%2S){TtD 눒o6"()px'R84])'r!cٖB$/n}Ӳ JliLD^3ͲqD V)٩S Ԡ)H#kN_2 `Av00 $I)ڵ^ǡ*S(ܪIENDB` ^^s* x PNG  IHDR szz pHYs.#.#x?v cHRMz%u0`:o_F IDATxt[]Yk~33cǎ[4D\HVQE AxI*"<!Aj!EIJĹ؍cg친9r^{xZa˷[W_/c Buw@H)<ϵR*Y9oϜ9<+W68v!rr=8'0 4LzȤMعF&MV)8~>k<R ՒӟHsL |?.pߟ'LOeT <կXghLQ ?GL6$b@H@8vB#<8c|K?9<g?{$ǨtBgc4!RF)?(Z 2K:Ò9V |DbabκixE|˲nt?~&F!qa#L"}]@%wn/ v͢2U K@ݵX혩 ꅐc0P*61=RgX:D?.jNbz0"E3R*0Rn0ZS$8bXobimrm;JIRy~3dҧVV>/<|O_%jw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڤϋU?YAC"ūE[<`HAAAν=_[j{gj̫Fէ+_~t(˲(GQ{Oá5ig_C@zw;wNuW^[^]%F3MaFTm#N+RV3>ϯxWpBD‘6돛;ǎl0wfMɳO?si{;`TyR&*jUQs Z|P Dڎ{<7HP5)gq9c\LÖYTn"Uݰ?7.LQ,Rd&Pj}JҲ1'eדL1#&1,:̃uoޙsG;f6ߧO[*@(]7xIY=3u=]9f6'83qwg:dKom:#*MvdA;s{/p^e2dZ\xu]wd xBK>Pԡb2zHx kBdϟjj.jJT(hGA{S3vvs;sEX%ݸk.!z :8a@GtRhhY}Dl@拤JjV{ H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(h7s-7lm2e:.&3\d/i5D Es}9"yg=0831c ZH)SCвy1455)d[R Cx>j7H)I<`nNm_Caa!fhS1r:簄 5=36:ʎv0v2pmtvvRSSDsl71"IJKK ˟Eѣ]]M^^RJ$r?~z~xDwj~tcv6a£tttаغi+===ϛ R|ϗ.|e%[ 5Zn)$uPJc $cƐ?>F!.)!\L,X ׮yFz.R] 48 E\)/@# feSz/\䵍{"U+8 aI~!_f!mdD7%,n a eHXYz=]VXƝ$V>ND JJ;VU\Mbc+J,ǓܙDzbFS"AYY:Y 8R0'[&q H._ .*֮I%=|^,)ܼ h+Ь`b.Ϯ&_$),|>龘/cs[twtI9l[p,C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATx4[h[ewnɭ=INڠIVtV\k+st֮"XPQT7߄ CPX 7C\Qk:[R99ߏϿC(Pٽ(M1 a1t:8@ 9[woVK"JB]>ņ8ɠeZ} FKgDBkחwGO|x۶ c puNN_~Ź'`Ox8 fkR5NyM|bz'fbG15ykSKK%/El:1cyBCoPg.ixg,_x#܍AEtţJ۠'a>RJąn%rv^d#>%9*&((.}ZbH];͎f# -Zn s+kn<xER= /j \O6w0J):I%Ǩk>^xjn_ⳕ@V"….h``rYժ,Xvg{!ؖcUыTք,!J2DQNsQњͨ4g]YaSJT(FtF"$PS(J~!OtAC7ѕzWK.b1weUz;xY)\BdFUC6+twZͨH+]fh&d9aF@!% wh4`b\Y0Dl-'xQ@ IF@6RoQ݄$,kʑȫZC$UfkG7aIENDB`f XXv.x}PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq* RKk%[H<;\0 imi!`Z|Ƿ}$ź"25UAXs8~Z5LUhjj_d޿*kXR(J!R*TƅGPZ#c$e )7 a$|c͚Nrb,s$I8wb44D 02vFF0rJݫTyjĵ Z24I' }==#"29?njƆ.G'~_JtUR&R2I'a/~S*or.^mۨjLOOӱAj@02vKH_=zcẤщړRnLTDV0xAnO Hw޹CL,[bihhhٱZ??|S2ɧRYnqLoll/ \dE{;!1cô-YR{jww.`pH غeL f|rrwu>ԙG?vMM-}}{U7 B1OezbyԷZ(;SU%#VtR.Q*/_EIENDB`5E $nx`[x[PNG  IHDRw="IDATHA0 DǦH\ˆ=ʆojϞؤR/QX+eY`gffcD4a۶zPU`*RJPU*q|YCc|s=G @Dι[.̥aqfvsP>5,[tL._/R1ndlK(ǣb GĚ>gSZP:f^9W˴J-Qn=-QMˀZmB /*!zذÇ;RsɯU4S?IENDB`OLQw&xAPNG  IHDRw=IDATH[pgaɁUb#ˆ  F#3\0w EZ(;)1 RbEvHhKMN^yoךw}bٲ7I|3]nhÆG8KI{{KWJW}2NO)7\{̯'t){%:O\m5Lh_T (N]<EF{.֢R¶,@{c N @`k->XPJcEXc,8 v.``%Iy;RcXkf1ĊD ~*#dPJqT_JPB@ XIAEЧS&mbc;a:7.؜}k}ŽgW&i:Fsv*(>$}c֭dH+|(DQtP(-so.xܫ+dHcGem@fgg&4riH!j.DP?'i`=@KP@"bnfJ֨xmB xi} XhjuëEQ@UAw/^x9InSof}eSyV *}$:R*E@P.GFF"}ie)Bumz5O 6J9 OkҩScJi*I(BEbXLmE`of{t{yZf8BG@M̊s qoFdJh u/,rTz ij~]s 8tn\^ݒw4( |}OJUsyfο=wss ܽ4~s҉jO. Z$]^+W~trr??IENDB`_ąk!j& FшBK@ko̽縘~/'s{s3FU?׉ |n 1וۍg YWnm)tٖ߱={kw{(Φնj)s0x7"c{|w[{,9NJ0\4R(uVamcgqvqYWcCpjSH:eE:Q+:oqQET"41#M:>Q4[%XZ"^R SHDJ*q,.n^D*6* V6U)/YDv :WwnR%*H]kk[,9g@ * 5L*%N74a R,H&BWj(rtr9nA,B30 c4̓64&[9dZ'$Y%e7:yk8puQ5-wq8:}+ ui'ufrt21c*||ϣ#o KPQS[_/tss<ٷ%4Vo" &y Ҟ܉ < g I]'nEʙ#kRQxc [ nP=e?#"0LH3+sQEtȺ,0.iC :ݽM~gWs<C&l@8\j~riEmYR-Is}3N}e|׹t|켿p7} W.*9Rn߾1:OPR[I~^9kraSt?*$ԀȂhbbraF6.Lp  ]{>x5PNG  IHDRw=IDATHˋUqB"@ >0Wwʽ wnD\ хd#$Wɀ&F2t=yNDnzݯ9{Y==r)ec<9}˭ȉ?>qcGyzƥK/G67`dRK-M5)Tc_NAQ#HyDf- D@)ned̰E 7_dAL  H8=j)/S5PEH3bk@7l@Dj@R/2ww6Ͽ WO2T{|ч4_˥b0od{3m!RB$ ḳ{r9j693;,2 Z\@07hPZhL0-P`;׸rU6&*6']!ң䜹~:_~-hJ5,ՀAiyDKM|2ɧUmY=uj${*BhQAUDhF "Գ--3Wk0/p)nG0ͨz0`PJ M,TΙ(׾-D tR mRJ!"ږѶ"Wf+w_ "E̓)mҶ*RP-AXģ=ϹGߪt/\xkx4f<lF G g666L6GmۜN|䩜DzȐT"ǼwVEfvik_v9#)LEd l h#xTU=028͛{A$! a-ATԚ@! !xf$ ׹$"aɠ @@+sM9{vZc]eJQ((`ڕ0li;s淬!:mm*gŅim`2uB>91(kJzՎ; (kj4H\oC 4Ǿdn|+ilvT9G-.FIX,C{|i8~ًP(8kEC$M\.sv9hJ[ҋyak>Di1Y s2(J(*gR}{xrijSCΝgGJ*`Y T %<믽_8qff.R,QX^^&M14 #"{bs9}کSJeHxISo94ͦ?bc_Jō ֛LNLp1:;;iii{%O%$!MS4%I"fݵJ֮CLNNǘRhD $IB ϒ(99>>p}Tj59Z6''P|.O>[wcX|zYbT5}{}Z'|Zvt[R9[m:c5&kLj&gϞ+fWNTUUM<LMo_1 cLS@pMUmc_/X[c^ܾKQ S: wp]!i2)6߸@pIENDB`77e hh(~T x sb``p  $?ORAN ɼrؒ]fHopxD30p 0#ì9@AO_W[윒VW_O IF808&(gd({7U{8X~;4o1淇pz㴝w~~-u})-)iy?$]=*_Pps)-:w{Ek +SkCe(wU{G/_"!3vlT)qmWmV@g0xsJhit]8}r!$x$!މPNG  IHDRXbKGD pHYs  tIME") IDATx}ɒ,Gv9cM^M )B&d&fZZ;-RЂ qA62ӎb4,dֲ)݀0PUeF"&9ބǬ|uBP( BP>,X8ˣ/Mҳso Dl^?!l}!2x?km=.h^G^#~->߿WI\=P| xPNG  IHDRw=IDATHO]U}Ki/[-UJԑ)5?9hu`H8G^6O s^{98R=:YZۨ*==K۶Nc (XX|c̊U ?T6Oyͳo_];T.[(YǞ}Ǚ B(Eb!F%# ~-{ 4%>Y` p5 B])^`˶JE@^'` ["-q;o>{B|0Sq07 L=6O~Y_#J٤FE/{ Q{ R0Wˍ<>:mw_3\=^N @`S#sYB⅙;T7E ϑ5Ddؑ5yG,/?/6c89Bohr ۇY䀅KavחG kt<f+iAC(ABrDeۧzE 8#@7FjH& cX" bs z-s`x~or 0 NK0 D+.lz/sO4yc!θ!U`O=" 6ɩ}r5 a@&~Z8b˘͂E2/i~R%k'GL6IU ulۇgGh5NO@XGp<.ooH~6͐P4]@y)JdBteb[ǫD/fe:X 24 =W+޽p?{ݧg` A$q~ e-870lNv51pw]--ROQ[xpAO?_~>GVᛪZ }]`ס21$"p;ѓ%NZ"BnZG<9^3o[/6ÃΛ Yդ 'o?_S\RyAbnr7d vq ,9Oﬥ DCSRYMHE^4vL~._~W' ՛!RI˓yђOS1"0+k I®bnVbk./Ƹh&fg>`%+&"|{m޿ه:K\^%r) z a= >#MY/ƛ[<6IsR A682k?LSb[A*7ֿ{?\$'`q2z0˵V4F1'H2t1W˘:uGITGzI~]c}x"csK.Uҭb5JRF|} _ZԆ>!K`Y?kI.J9 i"!֧K,6 4rg -llR8cK-iAl8M.kYtӰÅ]wE= z G1Dr\mzX(}vigEDYoVswrtʹ {I $Xb u C|73%=%GK.\s U^ύWX7XX\3~BZ$&m׍u!b2W-b/_O"BPۧjdd@XvI@h`u="#n<!As 2Yj |S\ƖNnq1U.+"1ǏN!tS.^'!XwLh.RW3Q|}jE Rea N H!)C\,i x'HDbј(oxg y &Rhz/`ySXӴzgd`g{H걿X)9^Xd8A.)>O.X A|~?EAϗ RYu4 ld`lvm^wPdX99?a ZH*HI.21wE;Xs,ҽF@t VOjRzy A`WR5JDz< Wf u);)}jRmt 3?6" 92!yyOH ڵAz)F˵O#uGM0b`\$;utSHŃ i2{2ƋC''z35n5F_8 u~KﰻN&(НGOɬN7~LpX-  -[@KAjQDKx+$܆ߠ+;ݒ+HBb*;OMAbSnt۴Vuf5H1Ac}r?fxA3"'<oۮם4Q(fOdBbAڮH}Q(Oa㦮ٜ~+ӓD1$#|R6w)Cb}6P̅ d6Kt0-H| I69)HQ雓ӲXYM>n{o(H%$b !٦T13IWa 5Q̋ R )љ @RO.bF" ѿ+U>/"I OB Y) kADDg " )JRjҜ ( <h]lm& >W@;*fDLA|ڵx a Ҵ"2D1~0ۂ(-& LJsO$it cZ%i%yI.VIED$)pfI}DqT,R .jz_ Yb 8rIZIxDڮ9ڨt:9{^2ڑFuLI%c^kH6/[]i[{+#Y![6)ĭt#a#`bUyo\+pG,Ù4o ݃v%)om&:$gc`c,lMʤ>)ѽ T(f8@t8W3JqljlOuy\-K:VDUͧ:v),fC:"a} ><^aOEb[?Qr'5y{_PtM4,wCp3fu]βrK})7=>ŷv3og\lN#7[YRWEʶUn|eOW^ hCľ)o¢_Ƥk#dT!|B>=Go /\l:=V RUnA ,ON؜0^ <%HMb\Z囘^js~e 5 c ްo16HVWI(0+9u ƺݫ =k0UyWE?tTz]@W^WٸXla-M(+Oc^~Y2I&YyZy ,-`ⶉH^LU*FY6i kKyEU˷*uB-oWHPQDEʢM?R/ePIEu+SN(f izpC18GIA+4ͫ@-=A7mZXP@@ZxV7RnQ$Q&z˙du mHZ9Irt<0ߖE* f '7Б$"htD$w3r ȍkUA3eit"R(AFz4ZM*fb&}` `bUJui^Ō`YI.VX1ۇ+s|i7Ab,V1כQ ² 4a\"E;ӢDb617P v $] e&RLt|@Aw6a DSH})bki5#2Rk'p$`QCtŜ!AGLI@D1G yhESlȐhN]3b~൚W13">1qQJ(CAցx]Q"Œ2eLA4Q9)&AC17LV.IWSAB ?=j^%b`QP!7QiDITE>T;7ܠԤPퟣ%I,Ou&1b1 7q#RkŜBk9WXջ[q;_ 7[QH4?Je5t)3hVNd +])}oz#1aҺmSJ%$A )kĨ,>Cb(& eho ~8C2Rà/5KrܱP:y#ӿ%AUif )Dp5/Š=.O"9rP {Eu,LPLv4G\Tx̴C V Hj  '=])@2xL{dU`]ph{=";J Lþ );e*HqEUGki_*'4,A K.: bN ;JT`)^eݤ;cZu)R~\M}gug(~wGfXX`2t0hW'eL|R’߹Ҍ@Pk[(r{=v|{:SOX%HaƢ0&0O:B\ؖ8(c TVJ/K[I*RSXSR3UM@K7 GD)7Ɣ*W/-<[1ù f Xٷdl;2zue띃zɅ] mY7肩VdZH$CB {Sԓ|՜={_%U&To2v $Pj:b`LWIjsDѳˬzdć+q?M(In*f4.NW|ӃhAғ#Y XG rV][NDGŜ]B9h&YM Ũӱbg 1QRUv4^Q^P+HoCK"UcJ9.g{,e<؀ɀaUeGtr#:-GW2M~Vb"i"f0d@F ӛx(^D&$!,H&]46sHd9܊;hf>4=A0~޼u wAFCf˚NK;fATR(3*5yՋWWo:24c;K7zw ꡸q$(9w mRKK1h P,`[;*BˑC],XS{b!@QP(SbY%BcCI;nցA y>J38,Cqȡռ E5YA E`PcŝQ(tD Pr }Y,ytŝ" KNަPF?z]' ZkwE "ۣ,QQ6r5mݏr0;•Dռ@ IP9Hϕ){ "$R"[{ B"1 %PQ)LVX$!yX$ z C "*b-%˘Y QI#ם$zRӼyJ'D1{7rM's'"ZjM}b]ؒYE? "{Gui^GH6AbUYN'>H:P>tB ž hIDAT-~ gW"k d"ԃW{ _ |/?3v~}ws>?W'ݿO:S>]"V,-q) ۢP(&![IENDB`PU @@=~xUPNG  IHDRw=qIDATHϋUǿGK6f""9IAaeY  Bt%^QP$bDDC0Qv]q6q~<0;;LQ]>G[{ɓO \ADz"ebX$/DyqJ >;v"8s恿_W}Q,>>}VI7n|xރ~|t4tNܭ8Bnl?^>A;UcVj _]T~"ok7YqP9sf*eQFѷ,̤ ٹ(ѤYasZ5grxUP3|D~8C|k\y0PrFx0*"ªH}*B5tEiEOD`Edk'Xl-$|.~Q`? WWW/.677H]充 J4]3@Ǜ7(zSUSVk-U5c~Gyz 1:*A|yC-xl4pt97G$oE"PNS28c U`ʘ2D1kC@6Eba`U~|OvrD3ph΄jL&"PDsg*rp~ni4I`i?rBtyC٤ 4y=n4V8bV7[B& %`h͝,:8'RP{$^`KcU2OƘSBr19cP*^+ Ext~~|׫}an B /=2IENDB`;`J(IDAT8͓]lSuƟ9sڞ~Ӯk0brЄ bf q1J4b%#I;1u]ڱ ''yrCTOJ _J:]He.M!Tr'}a_o6djZ#pq ɣDriN}|CڞcYEZ R9 ]#'DVxHp? 9/6:thq(f>\Pm>D"u` Sd72{GGޮg850p3 ab̻-O*p}/.)I_=}sM~?Tam`{]dN^RJޏ 6WyhmP Y)0quR"!clI7o9<W@~gp &Y`Ѭ(ϰ,ZY+'v5m c1h2D;m 4j F;ܡq<cvvdLǏ)L=OUln,v ߻n LZ3QQApm]<27bߐ`9O#+(VpIBw۠sܿgtoocݱsh^ C"D9WMޞ̝>z"t,5=B}C YN(dfear:`eCjƃ]Ywʼl%7m Sד,M ?ǭO4j+f\ any;uv>twE7~Xs/y+GJW^h-}lfEuS*f!.J(~X%Pl//~.;2hxPNG  IHDR bKGD pHYs  tIME +.Zuw֙qfsad'~O98 ե%ho_|O{{W.0gF=' GRA)4BRsR8X8;f 45Q_4h)B"RlCIY\WlѨOꐿ14-%i-40wPm[(eaM²X %T|Kc.G4SrB(ĉjcb` 4hM;ŞܨiCACEcf\?HDD@4"jh $9'=hn:%8R 4:ls&풪qLsCZWdˏm}Y S3] rerd75f&Zj(]D1GZkt`N2)̭[N>@+ɤGrYJb1^ᇭ[9S^M qTcAu}s>Jbf+E&Y'x(B1}:S&+83W#lk;!TQNdD",eB 8r9:;;qMIVa~>Å޷z:fZLDkM\}|G;Ϙy6n|2W0UnbFj6;P!p(%(.qX[C+N5`#<£b+%ɖ!ij>s|)`(]6ͼɺ ֎pl9Lofe |h.ܖ!R +y(tn.Ҋzd3>x&n+xal%oqye{_wY'z{{y- ~`/[#&;rl\x˫? /[<-Z+aZ6 &3s(;2j„VhIENDB`X 1fxPNG  IHDRw=bKGD pHYs  tIME 7 G*rIDATHU]HSa~al;;ڦGfsE ] !(Q.v;)Ќ ~̛ %".2b*nja -vs6ξJŸ.|{{A0<uRLftm/rqؼ׭ҙ&&s}!;oOOh4,ᑄu("ci g/։kϑJ}wg?`dY{Qʢg 6mBkͦ= dI7iM+Ǚ_Vbƭ^B^-߱\9;'OsגdjmlhO&[rɧ}&b.}0-vSPYfp͍ϟ5&9o|J䁄_YE^2)^p5V1a3.n$E'ba.PqG-k7 Ҿ|yo31-~jQ1J]v˖mN<剛N來29?sR6+ޜ,TW'*,~dz[>f8r>N./+wƮ^~!u٬㢸0-87Ff7^͜3ŵ~}=96UÝ83o7>nqu[;tqq梸pP%aj7g+恡{vܑjxB(3`2t Ksu,K_,+Z^ +cN'c:DJF#HӔx-Ou_S+W mذe)D n1u O[YWRJtwgZ+ΤҾ!kɩsIiej.Kl֊ Zᶚ8GuX*U*n5ulhoIENDB`m_ 66>xTPNG  IHDRw=bKGD pHYs.#.#x?vtIME  !ȴL8IDATHUe@73}nwRj[imI`UB01&0&QQH !F&P4 Эm}{}̝$D?pr~8Ͻq5V!Rk!R t"Сq(t$  LŚ "cmW/Mx[{ %-W d/ I/r ߠ٨3|?_!Ja ؀)sSF5aB5'[Dnjg٣_\8J6( ʐٰ|[2LAH) F,#4f5Y8k>֬4B4R!QQ*&_AJGH-|_H%4+H/1AjR!9N]*7 H"bZ`y'1 h e%vz=:zUm~ Z|ho!!€V veƘ&A[Ȕ2HGJ2mXPtu4-t֚ǎj M!K҂DV# A4Q22X,[A 7\^8F"gr6t|WhC!W--0ؕ'o zؙ2ԷсNRzzx_Pvk7fdtCm:3g. PP4߲nۃ89*<[ X8w|{<5!x<زeV ^.+RDQ(\D*Rp:^6FcIe; v*+_(q= i ,ƭV\* @ x PNG  IHDRw=bKGD pHYs  tIME 8 nIDATHU]HSa~ώvs[.("#ZL( !ћ.]$!UKAX D&dӛ( E9wv"qNo"|/}حJ ]]]Sd2=\%8&ZZZڿsd Bn{ezz<ϹḨSFJ`3a`nnV"Pu- z6If~!yB9 \.wW_Y-;P ˭lh  *hpp0zvLF'h4`0aR)NUՒF}]z#, V+'I!0L`Yattey+SH<((uR 4 ؒwV^i"#&3M2^P1l_+zӨL%N|2 16]63UPat:կIT&*]yW" mScs Jkm2 YEnA,WZ$~%""bPτ+IU2Vc ZO@_\/Nh`-YbʕQ7f?*YRN Y>ܽYOAD1 g_Wڕ()w?}Lެ+i0E3Ik{'ËRJa*f ;tTfG3~f5{Bo+8msf^J`ht6΍;Sú=?za1o?0$"cLw=ɈUJrI~m[w~iO~w~%z""QJ@؃`b&"U sj'-'*tIENDB`˯@ pdx"PNG  IHDRo pHYs  tIME  #O41|IDAT8=KoYSꛯ#ac!240 $4Â#! H؂ Q2d8'nw{uUzR=z~hO28C@D@@L\tEWc+un0dD$y/LNl0HĤ@T;'_~C[ /K;Y1|(W.t]\2$/)g8Im,'രr|v3 KSGk RP( $"OHɲ SGFãA eZ+d8!2+{DKpI}J&1=OuREМ,R{Cu\,##{^F7*hsfױI/)S0TN"?ѓZ9R r(L0JG)yll-rev5AΌ}jrt0c6F#!>fs!eJbMr *2 '/8=U*aʡ)?0ݹPgk#4l4ZGb Q({2vw;R lȱL s;W:@)x>:3\)S s0ZQ 2^Oޖ9R4#*](koM·w(r csT[dasYHl^ff˻wlD3,cc/3P*"^09[ZEfw?WޤPڠ ghx~xri֟gF9<6$EV3֠g{oU.%" -Vwx泜9n.A)aIi݄a_:}W95HE޿{fo_+#"8ݟ} k%p)l9񝳿+|/~E]{c*Gs9JzRXLpI埙W':`,4uIENDB`o<' :::xxXPNG  IHDRw=bKGD pHYs  tIME +: 4IDATHuoge{f*(("|tn=@ݓx"UMl}N?gFiƽѴ{8:vq7o7pM~tCSK YtgqatMCcagRe((?oE^<\'T2@al#2hx sb``p  $RlI. Ap品" 0kH{+m.n~cڪc;B%%y% E%) % | <.!N՝ вaS55=1Irf/ xǡ8%K*^_L9Ugo?QRJg4tU[sBOgRZXpuiZn L;J5UfieU$έ~55I7e$ܜw)MTck쎓jpi  ??^s$鑝֙~sL}3 lGV h(xaghgd%5v]R#_O$K=GC{rxN b Asc [vitǫy|]j宆 ۂcS&\'IJYIENDB`h%, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? &0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 4õ:IDATHϏU?Uv! f w%HBcHƄOML7ɓG/&F$\G4ȮeXaggz3 \E\^=3<Ӛ7p{8Z)BD]tcG _U5Zy瘞+~ A?t~bv䣝Jy毝T6L$#ñRlk%$Bb+ cֆ}Fz뫀 a" leB́J͂~߫FI|HX?1%ӧOyaߡ"+~{נ?JY>q쮼$xfvyoEcOG`͖e{'ʈu;;IENDB`n U$ LxnPNG  IHDRw=bKGD pHYs  tIME 6 [͌IDATHǕoTUk}ҡR I* >Bb˫_Oň) wxwPNG  IHDRw=bKGD pHYs  tIME 9IDATH[lTU3眹0e:LW@B[J*( 2x{PNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A$8iEUcP@A!⃉@L$@AA -Zzaҹ3shFB؏k׆n=ڤ凪습En_)2~gPby˴Ɯr>zG@2i%%r0gqH;5 U'EB }igвOa[FN!,K`SCD+חdS+[Le3[0]3L2N soHx:a;t_k`_74Z>cFo[0/|ެм%O$ %eo:}&'J4E Oj:6vzSIp";Edb]]75;0Ny%n=d`9EliU)"V4^w M*#5 P\*r\윎 Kp5Rt`o4d;-iI%i;mSfqm ^8{*k<~XOuOЅ˧7A k`lq"">_,cobv._5A5(dD,Y?F躪{u˯)ZSuZV=aZ@0,t٣}-!ݫ8K{7q㶄W|$[baچ״ 󅚣z8H0(na3A1NTT"ni㖛=aնl humx^Y@b*IƑ#tWqhC$RlB,; QZ_yv.UȔ - ?Y*y}fAɖNle67O @|^5?OF$?HiԖJB g'-='W$@@F,vU.)Ǫ& w>n_@MSy#O?MLUql44w'7ݟyo<k;> OIENDB`j] 7J4 FD[oQL[9콗 V2g}k#߻H#N+9n]SL#̇ ̤bb$g18)$xL!D%*‚* ^1^-0>*aIZѨ"ؼCo7|2%]RUy6,gGBz{W5+vb+ynJ[h6,]V\' y@}ESφWA0et&;vᝍͫh!R: gKȣ>(;ish־ď*sF.##1 PM&Jl)[3{ ^?ԧ! l~gvȠưGDzaFoZO#mO0Pyt}=Tqn}?9\od8/bj˩&YH1+FlTA'jLj @Dl"E|Bvɕ#~w笡9jU5נ>؞U *Nl?E=eU.2s;%TF<,iMhNdhзmJV^WNTS:qliYYSo̎e.;L*1Bz/?qڇgDUf t'p3l$Pb,P|GhťQΧrAckW = "NC>@p3 @d~CTOK+- .4'gOA`g |{\hj p{Վw#`]aŒ6_tsTE@ǖɪJ*61 `E0y~?:tj-SJO/fǮuRսZ B/ * ˅[FR#㱝jgΧWϿ/Dd ]jclSR/ W{wW5ov|0I#f85ydCL!?`AߧIENDB`ႌxXX6I=9ֲ5@0%#K9?CM/ Å.g^+yl̹7+RIq\y`rJ?V.8X)t}ƪ_B]3̷D/o7$͘It5ǵse3YX4'(uHÞFxk5#x" dBK7쫇9pzbPN @@#h|(ϝ0w~Ѭ̈́pfdQ 1dܑDw 5zFWLOVF  IXdu2]8Q0됞 ! odF 7H ZmCHe5*U W7`'0o½` ބ:xIlvp"̨Xdߋ&M=?'ۏDZEjDvQ<DEDF-=/q3UмLPge CAX 8j4, Vf ݻLeXw YalHEO4݆!NbZ=:A.~Z߮7] DGO4bcL4hJ.G۫c s7+.2^Β@ @9kI6PVHC^(Qjm2\p (@3]K ;. "[#f5>ЭczzB@ TE'Ӟ$t F Ƃ8&H*8IENDB`, Z 8GxGPNG  IHDRw=IDATHeklof/.k|0m_(. RF*jB#@5!@B88JJ J@15$zsc]ᕎfy3 "ᘣMPr-O;S`j5ŬRT|w{[߫r;iG/x<{<#DUר=l~&?/-P뿚j:i)(ò.7/X+c<hȆV;37VzqVn2W.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGDC pHYs  ~tIME->7IDAT8퓽Q][k[y^D<Pid#{! 83'ߙɘ$BdT^rvvoAeTsY2@,0KI QqHx =$bp#e4J<]%Q;fvo}IENDB`ܿ~y XX4 x zPNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'",0ϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڤUMO@}NZޑ8?GqoRq|#RB(}'ƁHid%yV"qeesa10unTy_dLlmm]MNNrx"xApQ011{S,.,wogg__[[E1ƃ$7555bQ%LY{a*́mt<QIvJ;x=dC;h̷-p8@p5}FS6iȩ@V;Nozff3f{r f~y ,,!+YDACR eY}(ʾw@Dʣ(`ݣR@  6& (=n6 }l9d_P#clll$Š@e(Yaj8?B(O0E^L VW?!61nnnpռ*nq܊_t:|!wfzHqzR&Zu]oowVN|߷ϫUhHSD̓>Y|>__m4v}-ЏM&IENDB`jo~ " xPNG  IHDRw=IDATHMlTU}̛ymiiPZ)k qE;Ibjܸpi\1`Bt!+ \`E\BaJeڙS/=JDx9~w{;\d2'vbճ=QJ)dYnܸm?߀}}}/_w]۷o H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bb/lK\<\䎎O.~on}|Сɓ'===A&N|T5ۿ3::::88(G9_M#":u ٷoijP:}Ҷo !qTL="[Zk,Kc_X*sJŒDQ$Q)E1E,bHEDq\X5u]r3qE!A9` *,[nwwRs V3t=zEZ۶ήLytvv5voM=U<JSS6jkkd6H)E&Ak8LLܧX,nV c/sE-"LRcfS\B)¶l2c6֚8 ,1sbq]^#5I䅢B *&T*EcW+͍WyXw\.(x Fؼa?&S\gbb֖(;v{9rco,n]" ˉ"Ɏ)n6Y.gNx"!RdViknEooR?ƛsaml槳 y!$8}4um,es:lA%@gaÊ0D3e BcJ?sJy"S4~%Slڌ8XxW{لm "=▐U+VR'k"P}ytW6pBoqjH$<c0ڠT'̣{LMe΢}O¢ΥV>?EP\.S.@ eD `>KBl~%Q6rq"/؎Z"D#FhMFa8 lE짒U-x,v]SJI("@2B "8#cٴi{}y}TIENDB`D/a^5!@ w0 %xﰒ:&G%%iO?/!%IN* }Nw| ɫ60.*pQBU̒va$ ڨGcS#@Jz&cz8DK&)Rx;UVLRąOeQ_߆eY{thV B+ja."H}FAZ%j>|89gNaV 酐ct:ݮR1 @:X"$oCo&R%\Z Llchnb_QgskF8rH*ONdI/iw[L6 ۶}ǎ"O (oǬnB&yXA@)%~"֎:&"<Ї4 Rh,l;٨kY --f- fYf +GсTd1`L"}unĉi.34NplH9I\" eRھB_N1m7v>G}e70m6oyt2c#4HIcSdm8Z 2e[bgDB!kh> $Ku>7wB>pǞ"{'m 4Isk)\iGvꃌo?>mH1eFNJ*CC#] :gh4Xɗ\vn*1%F9i3w!t[FZCaŋ1j+ #ʓD29pK ]w@G+iy! qzIc%X6r; ;q:?Sݿ Ws?,M[!z..S]%w8pu5WۋyQ`8iIK2TAkIu=RϖVTRO(D޼q^najjz{'_ǏGo>KJ KQwIkŲ1o",{W1Yw3՘k.̱u| }{RtЗS.sS)* /EA si8yhc I6qJ% `JRaa~ѨשTٱsbsQأT*1888y(I<`)^<]ߧT][+x9t/x_}WۑD 錋mKl'oC_Y<:Q 1^'{kqkr#GtMxHiaFkzW+_KY!z;IENDB`wn - x sb``p  $RAN ɼrؒ]'E8 <"Aa%wDdE,q(qM+ap.JM,IMQ(,Pp o*qj#_OV8bywu Ʉl?7ֿ^uDÉ0iyο;u g4/ Wepwç?{>[9O֑d{a㑬fh6+OwLʁu׵"ؘ%:Lۘλ. o5nxFNw[5fۿueE_d;k\O -p Q~Sn`Ns듀^etsYxZSs% LlLlĶdbLl۶m۶m'7~?bQ]_:\,,@U@ ?Аy~hVRDDAށHJD7J 7x7 PNG  IHDR szzbKGD pHYs  tIME hIDATXՖ[]Uk>\i3LK˔jTbb$iL$`4&%A/<`"|A*H` "PJT Lι̙s^ˇ)#xO앵w_}>1AB^_ !BJ$ J)>i̯uHH0 䑖Cp€k *9CةUD/\p48pVvH" էVA!k ' Q`1P$Ua%(̅"´"Uu8oJ}y3WOD<YԺNTA/c 6X6c| }9dhWzA6qq"eWM0ALI=Q߆܍4ī(n s~#'J!'%&cܔ+R._@̒9n"JoCOKdpy.hpH :`}u~z98*iDm]Պ͐.[>¸ʌnfAB?̝|Z*QRTS"ڨpXr_fFM)VaVQG+!$X`2 ^ __l_fPWx\x\\8t];g?aMMT-(L>ƹXh^|.ܪ^]ڞzj8Nff<Ɲ2&o̢Ya23}9 )!!]My}xuοF0k0Btb(6hNHx~ axMBD>7c-sڌy l -w) YY]d_7= 6BKt7t*j &eG JՑyw}lyT;ϦU_*+%6b.hd0GCkC|Π6,YG*).5['39nlqޜi ǁD XǥvrhAb=mҼ 'j/<>"!#,0J4 rj+;Ut\IYIYJ)M4f44G'#7M `&_ e4XmݒZK,fop5Hz:F*c3*u[-:LZL6|)h(>Xyl=(.&'OxfN}UWSlny="c&]u5Ӹ[w<-lvnIz{A^Zl6*GHr;god^g5;hQ#-:T8˟Mk}Yu+=*×ie:4veU˦; H<,5)#LU6tm?u9<6[ej$|%k/M5.Or<~V}Ϋݷ#Wvxmϯ_1`odt=ck?{6.ޑ.Ml^ f5naBs~C$$IIc qpLfKJf'|~<.+Ow>df5>"g{k<n+kGIG fg6}nn;vG )?ߍGKߟ \%(%4?ARC_ddaBHɉAmBDDa8RB*Wu&;@tʝ̝FC~2e&zB rDtuݱC~epBM|\0 ӳԫؽۣ)a\PH$w|tWxڙ!¯ ?Vm6Ԋ ] vtED_ۭo\ oֶ>o5o8S#PI$ ]`LW Omķiݫ[O;g;l {FYꊈ Þݔ37`ت+{7$}wKz2zc7WS1=Hp[s{cglsWx{'N߅j]*Է;7+AQO!fy ^7Z.RwC;庶tӓVѭ?⑚e-dW=- @uw8L#%wɯuž;- DEU,NP&igC{AcǾ%ree2kOpŽ<(ܜWC,Qt ZD$|ǿMjP3ˡB7SQQ@EF-Xjl$o\ B.6d4\@9åq%2NW9p~G1>b ܅daUUk_ i쥹[#QOm/J +kaS=QVIn rZ{XYVPy!#^3g̱a4RHšnokA"ɣa0BUJ݂ jCzte&0E ~˩LzaEWjKΞ1Ճ˘qd NǏ=CVZR#./yI.3;DZNX.3n.D]gXpuD)hPt;# iF8Hq7hOёE4=1;N;R25>q7 5gw9 PGy9|0=4*X5*?w7FB:FH2P:R+UfzN L0jLwNmV f%9/ N{vRbΚ_V.&aR ڰ(4{A8 ܨ_*1 % 6STgn\{1S_.;HYChh)Eqv۝^>%}.{g>m +x`e/hmJ#% vг"{ނbqf&R9~ٽo+?6A߼uֻ֫z[x[ oDN@,9jfǒa;ToY$<'ǨH0.wlVۣuӄ& j~3=_8tR,}dg4w|q@8Ph&rU{ȥkpZwOwPG?Fq<1 ortNdDGs蹲U9 v]Ӣ^2XYr-K*Tk,R`;6zto,p2>}Ժ4}J/nY=>qdDwKmmG 4|6Ky.O$U "Ekl2ۛdKUprQHjUBP qA5T[%2Xb1bpVJ$ʞ9/j,l[vn`va+FDn cQwhXŲ#؈Ffvwd4S{'f3/θϢ~s Qtr6;4){f8 t"*[5(_XkoU#R+ZmS dSTАN$NS^aWV@rKku$1 VDzI O\gJjk[Ac3 >nvͳB',"NkSLג@/4Q,Jx妈"KOEI4:`(^3Au7 eB ~C۸q)͎Ϙ#axJܔ3ukiMeS+Ыf Gk|<)?|?fO|B!njh|nVJ3b9O}hf nGm~<^33u~r>/v2rEq!TֹL[@BcjN@ڣk>{s'Y;UEr.![] " Ehv!:񗃛 /%"ð ͸ L|FP'%=#ʂ~{sHV |B8ꞻkڢ8gb| UOY\UOP*_-A G8DiZ VU:R}O5 Yt{xG~ޙysl3p n>P園iq0/EJu(0b1a(bjF@Go[Gn+yLEVZ.lܔ=:h5e څӂ)›;В7 #G_#s"^Q8d";ljWv>9ZŠLG.B# E4*ZR"3#CjbQ _͖ Ǻb"{/ A揮/O0-xuWnFɕ:9ha:R-H(03ynHY =~\Hٶ"1 :C HHT. 4wE!E y 7c67s|Q{o!gJ[tJs>xy'[,}.2ΐZW.S*O^?̣#fG-eVAOrht mC\4D p ֚5xս(J4"pIL̈p0?`{ɱܮm$ CB,b]{!-1YѦ#ZyBJ*y(?6= ,Vּwh\vgc8"'lrcTϗ(Q jSlRn q_󔆫#z6F^Uh.snkm?"#TGyZ;0/ۧItΙMz kCdIGX;i,ws=YMSBYgj[s 9BJAy*=3ەkd|xX0 g _pRg@zo!fm\0,zeJF(~Q W\k}kF{ V1C- bY07.AД *4Etɧ=xBP|8],`5:Sl )hPi[Y3dɛ{aKcɼ,ۊjHTzCR쳋H_Y m\M/&RjVD뷙کRD# K16y^pPzxF.cY}k`}ټޠFE<0w=]awNL]6z 2['Pvnd#pɕzeb'<|~ ,pP +eӎFij\D #q eua,ZX_#/Fe[I2^oJC4N-lǠ7ph^I$V4tέ!-Xv5-5(k.Z2pJpttfG.ye8Ts;g$w6 g;%5NU | "ܾҀY-#s%~"n!#~S+2-lVn604^@ڈֈ81`m"D`,UpP{5QM%K1.l{M0^l2ұ3,aӀ0> à+PCg-Ռˇb0 ZO#jƨSv;e PB5X;4]ijUfsMYwXyE͐U0hQBmý!Y+b7*m ˔p :Ow]s2nuXtK+^Y@ToSg}+"=[bQ.ie"T,/Qo[O-:Eڛ;\5׻]s"G~_S=>Cg]/;;NH߅Y~N7,Uuw(4B+C>W6 _kxrro7[mJ׺\j7TAR߸u P΅ O 89p@ AN$_LA~?T0vy|}w+C'F Iyfgj$6@& ybL;#7\!>:vݳTA +G*k󗚽r]tuz?bbV*n~5Yapw<2?U! %yA 6 IABS;:\N&tKTCqbYxkhxcZ2tv[GQ6[`P%pVp)s.Sm[]#S{$y ;uj;>C]`Ɩָ5: ;gcfsG/g;r䍞b4ؽb`nH7qo]w5nCO2\WWlX j=5:W9\SY9fޚ'QlgADNF}0 䤔Sb1 g,6$ \fQ/x(BȖro_KH郮#dfjR})ULkQZ *PKUk~Ղc,lcS43>  (:uk=)_'fHC o7kӟWbz\̝}қnnfϺsW&d]x~6bc#gaJt9S|n¯. S7~紷0v%B9E5ȢwR'Q[7(i qAe/fq_t-D*_qm7XJF\ uyZ|qY2%硃Q=v`=L&+l(F%3l*yFXr4#XK/mgXbVC_](k:+^-C'RpoXkJY2̣·^xaxPIHƀUb1A\F5U|Zb24V1/ޘ_~ۊb Ȗy b!VPQ H}gY j[#n$Uvh~O5pCήy4TCS3'D 9Qk{]fN;;:v~ta0uohu>b/aoJDIݸ2+dixNWOw>"u]۽l7 ^׭ҩjstLx/eôxXPknȂ2e5կiolkl;` #Ov[Яps6RAl{)*J~ٽ,KZdd}!q9EƘ"xNc"2 :K 4ӯ_/5HZƒ P7`:?0% '${-:Iʨ./]IʆAEIzͿY!ջ[xG?c&DqH7l}%ӯEڭ%gEe3x{5lmvA'w@X<2l[!tWBźEp:&\Yv1TaT+&XG3pi8#U%wLc_KI7:bI85t703%YjFK)!2{BE}f4Lc֯b֞]){5NC;Imx2r0I>u"]ujSD[|V>lGBX+o'IL|`liq$g@n*VXK[k}5LaqrZ eN3swg0^hZwNj70ɴg 4ozI֥qYQCA]Yd<Y>4y%2|N?$ĸ-7LpV,(X~ ጢ<-* C]%Fe=840Ȓ VӠ|ܵy: n٧QXƟ Z:Cc[S/ yBCV`V{(Z>fߜe09,wqjsZ&ÝC:Q|)9e(>ߵ?,wjU:3:s1ԋ"7g:ߎ'E<) |Lȶ9v S6S2wj)a_G猥 ܒKT3nnHx*h2@qZyY4)PnaM*-w7WK%ڎ,ξ'JjfkA&meI?8,v&wyexZk-@rg-\mgּo1,PoEDQaM@HqFb5X6&0m00o6uAIIJ}NNΛwѿxGmu_Q*3ƼO/:ԣzoX"nc>Kp֧< ^* MIo|*xpޮj~'~nN |7Men4alBfr0v y.DcxͨU%u1AÐAmG@^E)X DF\iQ MM2?W**-Z|dIzZS X.<'TbF(jlFULcRH8AwE>,@bxDi!1)D ȸ1uc%*eRVycYƵpD?Р-aj5j -j>r]{1snǫzqP'|xo8QhJ#ڜ*j$e{x=P":h!sB]D1;1q/ŲhQk%ڞ9Z>L#q0 "ZWFiV(QbxD'h/ص#bbft>._ ~A3+z29Tobyu;6E``;(9]5"p,BdGUL0v@[ :oni. ,|ێ$T@#hzE(ڀyX FS5kH$ԽeCn9#Eȝ0["f+Qi*Sbmo nM'DR3'Ĵ|; o"9x+{gOL7F::fN~'ڬٴ jv*7 WKlSMNwU˅k~1s=Knьeeic;V y1[-ξ@B],l"W!vM;[!8ŵln<.} ų64([|]2/ܽ|"+*)sPؙvfY+ZF=tQ Mw9AQk^#B*@ kbge1Y9hjtQZ:21Cr8ZAs’V*^w(KATp٤#$Y  *]LӍi]}u_s-OH-ԷCF+XE/l5+m#.Zbs0_V5XttzzL?^4PA# $fNIH=5sFb15iΔ]GWExg$DFc./;2%$ò?#|WӏL-v4%9}89EU3H{-뀞Z#$ ueVͷWQEI--Մ"¯yyYSEэк\ω4DKT. q'&-P"AG(e?)KGa[aK SRE.CFQqDžsRO% |xo{!|4`(8LJ yD2uZ28y>r?E[=BIM3k3 P|i04sy`ot{-P9商v2Ivdr;*K6h&'8y}tfbygvGqriմh7av>d6d8,6h^_6{BpLd FחOb~<Kd:PP-Ce!+Yp'Mjr}3D+r:.'jri|[L7br$(%pM:hK"T-ŭrzg #k6p-YMXw!J/EƼ'DNw(m:UIљJ\@be@vs! |esެVk`R-"hF((Z^ܱƷm&>ի>R4Ϭ_45C'm˕njqP^>el\଴ 6$;x"̞sHi3gl-3R53U.w/Fc$%fa|FUn -fG ='cWZcenGV ok܇ocD[:'ċtJi1VԱvN,BdžˈtROoRֻܐюU;o  ў/`D6B,X.B1¡JzE$#luʭ*,Q;`thXRʘ=h࢟hrj9„$ltTfyНI@QRtzPKD&vѬ#>ӥ ~wo_,;ٴuNiatRm[ka ~Z&/HYW%OgQA,W[OeP.$.F< @1<brgGxޔ]Wѣ^K-Zr$5@yT".#6+єDwK66p>ܶ)\~9Abߚ> ~?8|2=Nh J>oiRJ8 }&EЪDMiEނ;K8llAw@,VwںΔreVRI:#SSGqPmB^G&1 fܱGM fC0eU.׼*σkJmBIHfiw,_<6SΣqSd/fchFJ7X{>pu<H/4st%USrQd9~j+$@S@UyZ%p+CVimp |@khkh+ {3nD1y2$IF`|FzӦƞG!W$UNunh\Ъ2UI3\ڷӟC.]S {|_\ڏަ!e@[@4 /!x4H PƶT{v"T:}3e$u=M 3Z(W0 @PK C2Evm/8G8@g2tH>_}!>c|Gq_oقūh61c}2OVuq|LSzV:#i>CoʕJnߤj|ϲw1{*hi;ȸ]cױx^Z9sB==@$R'"ZiYBOܥ~Mƀk9>Rs%znLbM]) W ,1ASSTU%=brHuΥ1meǑ`k$e彚 MGgpk o XӇk+O:` ckk1/}FGG{TR#%*$ F^#`'8ŕ12?[U:L`ҧ=&ZBkE$Kf?=G,/ŋgƝ)'V?Js w/Wm<2kc;yv[Pw'?va\=3_8֟`+ ~Rb;1,2"/̶&m~.?[lK]s2a$u|04Oھ&Ji`fPFEܨx'hW;UjO>$玽̎fc U0(RXS_Hه4E꒘L*LĝOJ׵S3O?Q ܄I00xgoE_EQ2acQOuEzQ$ٞP$Ρ!\Z[9y>]aQZ45rR8J>MK!3*՚1 jO2GZX3Q(S|Ԭ oRЬu@ГΚ!嗨h+P'4Ln6*,EOw'?΂#gzh+K7Ì-+\_ڂs<>"sKξ2ˉsa}L;gP2խUkS廹>fLf8RU|RKnlI:|.7E" >>u#<7 s7mZ߇8<=4^kgG-M(iCz|݉5R5VDj@Xr æy uQu6#ufJt踺ko}8LG:3sd7mO)%i"%Cj Bp^re6h #bX4'}9O+]k Ɍ. Z* %%P7EkMpt2<G8u\ebt/?l}Cq^..1~/v8w`m\|/}V 2ʹc/pr-oi^}髴W63}#,,ʒ9;hw)u#0|(BMMNa6ɤvJJ^Viv{mi1sa\bh##[9=(CT\wlg`mͰi3"S U+2sdw-1;XX??`bX;˺Ĭ!V]_7Fꐰ<(ƚF*5!'tUUUuJsW|7ntQN}%y Wwyk4 AyyJu/'-fy ^gH74fjYJX%(iZ4 PQ7Vl})4):)E_r@D,ZE4}IEcEqx\1bSԝR +`T1.zk5?R6TBƂ&K,CG7ƶRXfzXX'rE+YojG6 n if|jڋi3/?p;';q?]l߳׏{'[_#;-5QЩ=ٗ 8ۙ` IDATԩȺa;б N3 a-\7*ֵMxRoqri.Ӷ0!IP%KS ֺ 7<=̊92dYCa C*<1|`cc?r?[ WǛo2<}a,%VuEI#jjX0/h_"WRX d&AKZ<\kV9nͳ8ߘl7Ot߾ޟ[ gro. =Do=12^H٩>#AJw"2Zv~iui%gGSJu|gBiUUe$ǘ.wiՉ2n?=ҧzAb c%CD)R HNJS¦(k9ghu*AGV7Zv."SnRvSY\k,[/Y  u su&iV$%58 3iG\?EeDҋ*RB.=D>/!ӰN+,BM1#>@^97x8\r SB)A|)-9 Bi3EulSQ˸EIbۛ!u֒XAVr:Otj vA HIN=n'`4d{JҨ/^hl@Ņ _F93=@uq3?Ɵ#w3xKk|9<78u/=]ҵ&(V&’2:6B,Z4E{)DžRl ݲ\mD)ԣ2]J$cǤ䭠`%otS`! O{mAAnjzB%t6#Rڹ s\{ނ 4}wP՛=@4@ VQx7e!׺~VE<ݵڻUgʬǨ h-:7 n# Z: lKJkgdDX r_@*D&M!ogz}N!oA)JϮU3QʟE&6iR ǖ_g"B.>NT~}jűۘoGjy/?S?A~g/lF|^f;ÙDܚ%H#b,~ Bl2B]e$9tLƋgda:NM)L3t^J#\N?)IFH%*D}! RkD¿Bv1}9۶^S.سq>|ۣ,FOKs|/>rOw@1O/>EAUI\_Q\kh[pD%N1bOKAH"ވ=(޲,4dLWd?¸M^ZZ,IJ`ޤw6/Z8{62v>w c:Nc ҁh]y{giY aI:~7pKcfHb\HBAa[Al1k%!)P;MT-t@BJI)Xa(& ĴZ{4p煛b ڍb̷-3fpIos$"æu7v;\~8f%ߤfV(%ܻ6&,\JKK5'xݟ&cͱ2J)i^]i//py$nS% s3D"FjxO"{}X]%ogJ2VأjHkSnlhz'OQ k tZzD-^8Iٓ2!zy.Iu~pvӪ8;2m/ ^Q?rY{=M^|鯕WHBvɛL@=Z0tY+pK)퍯a}"A+TCydN616mJ$FI )ڦZ7S~aHcѱY*")2.)E- y3c Mw8A&)2 = $""8vI3Qc 9# Ν5*Vtz+g/UƇs+3^X!IJ%-B}bPgS$-uO T4EZ҉NsJGSg‘Z&@ ِdL;VleRnh 4PPI*}TrS-ywV}2Mvt==3U@6KTۅ5^m 6 {PX 2Aa -3yt|%{{i@ w7|? 3 z"\kRP)Z T.Ph+ H G8B9h㢐BZfS2#ٷqI1&r!A+XMlS4@ WJ!! E6A*$ߝVܷa^߂`yBhh_klƱFY%^~%بpu9_XǴ" ><;EͥyJ9wAU0~0&&-jK" rR;qF0ѼmW qe{8NiGi?~,Hӧ&Ws]XMq6!Hgӓ6MSVGCz%c-$G[gbN 7n! i5K'100 ,{)K"z}Ӟ-?$د^s *i҅ޅf dhs&ԸL6oa7ʴLҤi©4E_GҴB'ɉ)bBQ vUم?>tT6"ef~1TڌD->e֢iX_ftVZK-ff1v-\- X]Y 4i\I%ā"CSvt"z+̍PJAd[Pi23NF#F5uMyz"E2re#n2 , :#< sIj֯{B?O@d0RG1$yJ$17G'I%>ZhpZC!P>ե3ZA "S~p(ORK%;ѣ{^ LiaIFYKQSbӄEn9IL %gF:B hB!n9xaCeB5`'h`(,\^feaJ 239yŹETbJLl"D" E#/[?<X[!/]c<& h˜.H6g_^b=3^:+ɅHiXmJI/r !8CV&Dz}@WxY)-˜/#6&L\\!{c&eXPKT"T?G(U 9Z$P(9QP%E_gOhkԆri;pר$cBWQF̝]#Hmcpw`Yʹ ~M`MxIa'>vf?V%}5`L'ҶӢIV Ul\rteHKJ0A$I֢?$Kk*U)iI. l|GM ×Mي*뱺R]a i6:!i=x?[<ŤߣY VfGCKrg=Lrg~Ȣ}zIN^dd f~c)U/!s3s k䟲q+W8xO k) j]m`/y\yafoG-QKm:"l>]OA$Ylf߾׬wp>%YZfbN_ٿeSh^ z4[d2{LUH8p̱p͍)TWB7[gG९;b&ʺ̇)Թzfrm܆Qthړk HfY^DO>G /HrsWvс%YglEWV#X^`'됡8kudk,$B#ʵ}$Ut[D ' {cEXr߂$I;G sm%VgEc=6''uɾ}+g-J4d&Bz@c߶7]KX{W#zz< k@6no$:}`#=TRJD*ƺ4ӡ9(Rs26E hǯ#3R*wHI7BiAD[XmQ"8`HNKGdҷ'++18~ЗK9IA)_&-io3}^9MZsrn l"s<_c烟䪤5ţG$-&& z`;T LE%WgKkX#kJe e~m $hg P6ZkHm 2AgF&ڌmk`e {orâ"։Mֽg h48<>[U|cntqz&K"rsԗ\:hW>xFm$y B R1(Kþ yCAƦmuhJ0LlBԤmR;+-)Tڛ,=s鼙6MM i3$̸Iz;u^e7)>[gypD^OfQBKr2F(Ȅ[/7MvF$ΏZi:)?bP';o(t:lp#Slcў"{<XK /}J&Xs' ET0X0c[ >b>ӧcg>2DZS1I5ڤI yEVNޏ}+Xر&.\ce&`dbԮmb)d27m;ebfJS5OI\ a^"ezPR#?%Ƚ-*#Yo~9th>9JN?+_&_hүH􇷣?{`C~ Wwe n/Á;ΐ+>3//!"(I EH`(7 uIW\ 6׋z.5uެ|tZM&)S┳Eaf?Q zg˄Ba ^+#*$19Y㵳r,[k<ڒӃԓi ںbiJ G (HXZɭnb^˟[mklg3ua2H Ibi[3{]en~w}STÜ;chD~ᛴI{NTlCL1m/r79pN,;FE5jO_>eFTa}<{5ZkjȷA8ʄPhI0!M7i?iLR.=Oh-q߃G8uw/6wh ٺl,!DgH!?N^T1&'S;\SyS:R׉e@xkf(JKDp .Н8?\ZQ%J?3ˑGpo}G"ArՔ72R.-5ܿ{ ?r;Xl:f|To2q5Ny:iy+ JAXR>Ϸq̫J֧mo]Ҍs-`3|C7/Q#J0/1V:_~*Pn!ؤyG:{Ŗ iZrBw3 }m M3\d)t"9e[~=fz&T66 KWغgkkY\Ж2{yj)\x/q,ܳ}<)FJ WOäEKӀpXQnո&aD,3gY1G[K_>@fY=S÷klw{T~ J71DhaQ>عZ3?7O¾"w`jp 8mCԶY֓6/-v 6?HCE˖T.9TMIPhtƫIzļ5Ƈ֛F:ŪcѡTg R$Q !aPr-㴓J75~M1PTT'j3P M LE Kڎm 4 d !Yg I؁I^r7k9DU /|9r}4fWG P/&GI'_ɩ'KuH)NRR)na`p{&Gk0@z+XjGxRɿ>K1ȶ#ۙ[^aE'_s{v*L_kG8ϩ稔߃uQ5ؐ2+DwN 5}WAg') Dy*9$v IuT T i2RSK96MVZ KjBl҆mKpnqrB:OʒO7ZIx`~WzxE/aV F4J*QoX ?'7 iu6e#|類wʬ׆~1:!:ٲYhH6UnCh?ȑI&s\e`Xy?1-8]oE0?{/?K{4,/ctm[,MFa)Vߣvm9lM}F8pW_8.Usw/h$%׾HM9K3Q}[֟%nVḏ_E$k1/]/?Ɂ16!;"g/>KXR{Ԙ[;H>1ow/f+ː%WB'EX6m׭ENj}ĦU _]` Lޑ"{wU( 0iVBW.R)9)0Y\ܕEN_YcfYڈht@ra*GI|%cse <wLݴt(yS<}"+֩XRmVf:E-*<tZoJ\nK~|$u} 4ZCeqZr2+ukIM܍&?R$c79NLGc7- 2 nvP?bN}'mʑ^`H8:@5o3;]gTeNyҥ5W_kPњ|"u>bKrz]J7du&!mk :z-B ؽ6RJ5TCf곟tw抯<X}-Eհs5V#L-}<B3Y_aԖCDpwʉLQޖqf`Dc-7ǽO.$2,MCnpd8$n4\Mт3&}w+C>M,Z!iM~+&Řyv~Gą*SP@E˘+ L!۶0k iZ[A-TC|ĭEE7F a`{ kK:B}] b4expVkgk|7R?J:q<43;ub|i&k_}JD\'5\biqEtpl1ܢEBmͧ>XjJήy#]/q(YȰXycMcb=Eϓn$<~cEǀiq{e2K-$FX"@%qa0_mZ6$%E!BWaX)BX^RDXC@XeڌSiD=ŞG2Ms -q&r3qY/q~z!̏#UR6DB$vB܁^`a o>RnS:ӴrtV#GkY*8xʩrAuj 3С:t;> HB7,玝f`Or-ŔR>ss,^cbd'3Uv]1*aŰk|7W98_=Ɖ疱MK4#I(`qؿvaA@IƇdj{#?=wľe/OhR̅NYRZEK! R.*CX(ڈ(R))WbBF5A2'iD5G' $ql1Wat`Xv&RQ Urȕˊٶ3Po/B@SQ ֔] XİE 9.,4#Ty|.]WC 颪9)<nlMSlm;0(؃pƽyN\ILaA*퐎)H r]K9Fi:I:VJ=Q6tN$Փͽwo察"_o1rwkm&P˗ɍ yDRMFw2(#*#CQ!-.L[ %sq@TY[O23=Zel\dK߯RطիOR ֫癛]+7(׸{yϫ\``[ga=c|}+'6C}9:ke6r8 /'9KM|%%%( 4ڄJţOqZB&g7Bꔹ+KY!5AI:^$MpyZ ?{ȋ:X7vZLl=Z#{j͚SHiM^lĂCBΛ,FmAF`^)PIXE!ΰ&/H) ʋ*xULlp2JC*tV!,tn`Aa8N5o5C-x)L"7ޡcmH Cc%.·λ7 ~5Ugmxx5^|\YoYkə>v_}-'YN]AJ IDATT.k-~)KIl%1 /}=Z %=[Wmpa]rzEVoÌ[P8VR+vBQ$ υyh3qN=ΩCGy/G#:/:mS1mp *?멏hJZl^O-/l'~1}~49h0UN>9ny ~q2ᎳsmWTZLGfX>m΄|\v6!K͈ ;I!w];xb}8|w/cMLLmefǞIʥ!n=#8yt8}jgwחca6]ઉ[{[&o}6=ӸnE6t~yw/|:L*Qee~UA9;/^H6!'86Bc0R*CCf"C6e5q?BDnBIX$52^`i_Au< S$g ^ĦZctŸǑkx# A~V'Ow_7DqFspaCdQs[b6{Jmp4aBf輀PDW܎[*|K;"5rm73xų JG.F.ast=[[xM[=j\Î-3|9uGZzMJjJ27FQ\feqM;9WHIn暫ľd# Ge=7\㝼p l%MK?ӉZaJIQ?1J@gh ~JeyŵͶ"ڔg@#5 ld=XL^\ h `-FyiW6ȳ Ok^Egb%h.tGaz{T&o<@A6_\?qs^,Kg@ ׍0$+i0.mr R3ZejdOw?)+L3R]QԐs$y$,qq܈/?Dj W>gjKXϝV_k'WY]1NI☍Vȑ㫔k{ڢsI>p[-/5FwitQ3qABsiX2x=<'f|Je sɿ".1NZ`%Qm,she'>WϾKvUxw+M+ N4e9(\D1_< ɓj5\r:GɰFáQ4aܣd)iclN>Y&Õ0kȬ!"voZ ],rIS앱)Xiw"ݜ8_f2>d_ ~.A$霠>NJcΡgzխeٵt!F7 }!֍Dq7p L(qWsVЅА(j9 " b9ZXV+f)$ P朝F&h\3=缸iu\u\;v])wBjy1*d h^|ÇF >gOԱofM゚ !ןC'xOα&$.ŭm;ϓ//q>qN>ɧ]7r;~]6[O~|!sqspwpSD8su7132Eux3k˴ ;·}w%_nnWc$f5R +v3,&JC Jg$\0KvqHs\jeE5p);09VU1xœ~9y֣鲼ޥƴMVVVX^p*YȲaէDbݥpN4QnxdaF&9IfVva!lLd~F [⍿?m%2Ne%dnV3e:%o2=bȱ 87Է5׾H23/;~]lJFDdn~+:wA&zZp{L%{V- /⹛YZX!O<ָw;N~'?2Qmk;LN9NKlf>D7 IŒ|Ie|I畩׫^IL *aZĽ(R.zqFP*f]~F:'@fya88tp/nRE s(:_NӔ/7oZJg؁:B*Ͷ)X2 r:UK+h @c!P0Dk/Y?6en&N]$9t">RbYt/b)`v0rMq Ҡj00vX+sGy%h8{h=Dm, y*gn4KpxDu^<:4LKeF P w-<8c*8%(UJn,Gg^"(q_dNv/tBMji$e9'rŦ*,b){yk$9j1Xbc7=fv0:R+o|?D*g|O[}FG!W\,D2Y|sk>fŽ_{}1t $7 ;ؼCb mؙo_"\ҝ>z76O?Ȧ}7gӦZ*S_!U`-zw\.no93TGtY@]HLN 3:[~7Y\I:6ɕE'W_Zw/Ix9­W_N-nwhTk#\gN W7tl(*6q*WISV6]MR"X$]"ffR%e;o,֣AݤY#t{օCeΗ o@t1 U8++J`JOXIfFUbq_ET:K}oΓslsź2UI[^X8TIm.Qưdg}~ck2,y2qD\ Gnʖ]'> ot-Yv_{:6|ټHuV "0eoijqמ[#_![ ﻓo~IaJM¢>Jr;[Xe9A@fK䱳Ԇ`q@z__>aR)*nYxO_χoP|6~J)qkj\^zO}1O⢰"Eq2׼RDP哴ϴ6*Y\㹽ᇶM*BK0MsnRxfOIztSn.a&n}oܿc+I. ~P%!QN:ξb׮7f@nriI@ =Óx_wC|o?շ]Oc˱G=V8׉I~A { +:0LFucPeOTJUyاY<@k%rvN?̓? _wKj[9jϞ'oCB[V/unZZZ" bfuK;k|A*Xtn#,-aG88@ Uo/$ oϠ[xi R"3}.5KBH. fp }j #y9C+V#g{26B:2@ہMR(cC),^VŠq29~kI}m=q0I(c)9懮g=FQ%=J%Q? 99Muze)2&VN/>Mdn"j2Qӏ^%$_{as,=ª./~zp:]]GTxxJkuqY9ҡTȶ <.Yfhw+ICgCqq;%WscUڭmS&KS!b KRoV2~7?}w?1Y=.RzNmv3W^?.gb݄%D+k!=\{PPJ=?"q8_H#qSrB+srSre)ei"iϫ.Z|GG *q'v2Ra0CV8SJaq\yt {4!Z=q2f9v 1f\G>{ m z~~diK91\AƓ Yl2iأ[&fbd++'-MN:LR)V\N^;9 O;?d1A1xoKt1G46I*KQK˸Ak QY_@^ LR:>IPyN"ᬎ8׉1VmULg[E3+/6GVh=@::LK#۸b&_/efNӗ[|-ަfq9qIZ\R<0㐧%G"yU3p*im~0v(% uƐk'bƜx"(H1XĮX IDAT9۬5v{P9&+`>1/<\q U< 98$ ̠iIW(2A#1jG$8}9lF{1TiCЖ 8sX³ܷ;ʿBaJHܰAۑSM)+>yBfDi7opՖuSRi3uUlD ~Tb9<ؓQɩmבALWiVl垷4w]S yDiA"HGh:y'C)Ee򄹑qУ݋I L2^CSb cJAZKQ*I)adumcڭ;UF)NR. y~+b`HkpukHjR9s梇 28Vl."43ԖfTD QeHJ$J-'W./i89)2BZ.#Jr4 `@Q$΅B;:z CF G?W[0BdEA#bA 1ծ'|aDQZl&sCSQ $qFmN?\NMa'IJ%dG?Gcӛv%Ju::d8Yq%Gс=ב9UJG>NI!#<#d^V$d7q]N3w8NthgpFgxn =.5ˉSxIu}u0ZLj(7j8f{k$F:dZ$Q(DO$dc]j"RqvpK=k6XXo"v_(b<:%ynHkB[yZ, Q =S]~/ZN>MeuZkβv+{qCCfo4&F1ilv ]jXWRAfmF6J E!3(2H"F*p|?/-6E|#=5X3([.(LIV>ky (_vB3kVxuLXzl|/;v:~x|%_% =062-e>kYơ+Q_5$JlŸa13muI.(O>CuZ׿~e~)`dx{̌'lI;_826 s*#1qow Eeqqrm-Pk86#ЙKE܁TNd2'%#$mR8$C F FWi,$qD/pCYs󈪂~d2Ij+&by5-6Tj5|?={|Ͻ;e^69KELjmmIrf^Acr\tP[{-$:H%U:G*P hD%<Ɋ^zV"3 [x0/a*HIM_H~K4P6HC8V/6)k{9mW51wʨ_', sW:#Kf\>rԇH7c+Gnk+|_SSa&nd Q9<"nq]ளT㛀e26Z!.1DUR&h˔_N6IqC34A:I?J@&EKK-CjUNT)K8J#:HW)U4Z\ic"Y_Ŭh[lr(h48{Rw}{~O/`pM%c$'۔DܫrE6+{0pi),Z35~%rGZ%׭+)ǤȊV[9SXS~^^!k*.yL8 R>΀)(KQʠddG QOE {7f \v C\ѧZ .%y,VZ/&A}W>lяsb{fryo0e'{MS+n!nU֓<1Ʊg$ꮓ&1ʩV+:JM9(.3u4 KO_Tyԡ :>H0B8̱^@+r&g\:ʥ.B6ȌG܏q+2JCC̯c!Nz!7P2ViHilwTicr(JcB *^NeW/3ԨgaDDN#Z腮β @J"Ig 53*u|Z*A"+NyN7>gvT9J߽ `xIq&ǘBmdϳSxMN52 Tsr[ l>i 5 -)\oAP9(}D#3sq !tȬ*z8b;&p XTkl, 3k*a=25C}MmͤdC iJ+bS6׽nfzƝ_˗xϗz=HRCP '0iJ^A9 V+1i[lReшq|N;gLVgIDb4%1e5{G,T^dj@0qlR K꒤,iˤIJ6glܣVJA`mTkjÒՕ Ҩ+&j#%QvU8F8@:vLX$fc[u>j^:>Z pl ɵ!3)a!qqUN?'7:E8aDdJHߣq9r,w溂8LMMO~V~޵U8u",4##'qdc,D68t*U'T;=Z#lD=͢s[ncA)(cВMkW*Z#PEG cH5VJ)0"/NF dE R"b ڂ x륯:-J!x2ǯ:la&0 InN!-j31ituHʯabGwT0 q(S8,N1*=o+qjg/E:^׏˧(<"a2 gT)C&pd-(9k zN;VKYZ_bzf^o>ʇnͧ?Q׾y]?eW eRcus3#rV$/7X^YzdRFg(BfѹʼnOi3LLzDHvF@, 䔏^JBg،:qkSA L$0#J|q L4a.}AZsBzfNyN-hQW쩐utiNc%.=\ayt*GWR~=@1(#iXDxt?|Ϗ_&G*C>F(Ł5ؿs IV [P惚_ `3O&RRM30=#~_%(Gc2  堂/`5J<sw=%wr%c5^HbO#-L-3<dKJF+cx%Aa3,YQ&PQ =՘bFJsu 0~Cfcmyg>w佗H5[lyȰlu&Fm4:M?gZn` (AnnZHP+bIc,QH|y c^")ʃ8g~kIӚ>{|Kͷ+̧5O?}`{1YY! oQ|:fB.Ƈ92B/^̧ [_b=ZZ%<bULI=z#/T _~zqOwFxgs׽rc%(ՠ¶ !Øeٲz.A_6_TXΟ~oY9uٛR:WHiښ8vt[;1m\tV}ALh1FـH >q`8r3tA+DW A5oS/C/]\ɯ/&&(qCDSp, :^4 ׺8%)fzxW?b ah+Oo ¤ٹlr_oOжF:ʦfqrȝ;0Bk.8/hQ:DL!@޿& U+|ˠhmZ !o*E͝-m 8XX$ F1HsR6,+b<{j;AcM 7,J.Z{^)HAzZ>qKW_ckt<΁-Fcq:Rr9btXʁqVe.Z/3˝&`8 D=fc䪥Jp0TB*0@IѐIJW8f\9? h謿чdیtz(dqpH'|/}DWHvv6բ VnFL&D,y:UkZuH#e#~ǹ͛OkxbckA!Y6W7ޛEW yR }/ۭKY=FT'6@;<`VȺ)l7Nih FG,t@N kVSV{ )r< s)*XYdCDF)Q,j. \7i[St?uoZo 3| TSϳs\~E~Bޓu; iA"`cIjR)ꓻH{,?-5J t(Zc,. E i,TsWW84@`!kʢiXg1%)wJ-Xc0,vDsy1U B4 &p|<q tdbT"]9JC^))ZjgGXuK4q~ϲ8ؿ{7qH'x+yGw.p3OxPay5c*nLXke Nj4QK1 G2b΃5~u1,@'kjUR-OqMW}SCzKG^6Dq֊K~|g_:goNP:ɴJ?c\b>`׹vYDȲ…l'%ݨB棖Y(ٚU #O A#[xQF.$! SCa $wSt g-bvQhqjM5__nݺSQŨ8ڑz䌫Mߡplx>Wq<|K2ۤN;Bbcss|UaцYpSߞR~_wj>r]"[NI/۞ vLQؙHw-hф~ۂdExqV9ӏKZ“vRNR댣g{3E70 =QpxLy؀S8"g`p4>9g\ /t U3akl`<$#Z$ Ɩh |Zs}6i߳xմυVX,,G6 [8U1m٧%wn~scjB-8G~Y4GHH%CcWmH$\gv;5ZԂzNؿ{L-S4szpm^)W24+W AkǵI)ǣD8Z[SUb֒{x 7A3;FLݲ.3%G¤ϢƘd}AXms=q¦O8j8I+Z6bw)kz.lC4+[ Tm] 㠮 ]Fx}ßg2ĻSx'$%˹/2e(hM%cN%ZOk_,u٠G1O*¨DIЁ`~<'$q!"3zj wKKuX'/ p_4\Ԟk& ĭ4)mgNZ() A@t9.ic?C{'Hz'? gV{cf?@ I[xP=ơ$bd7lY RÌDDRR/JN$ed~BuCF %TMu)tc~灳q&&fL;EC%:Z=A>#8i ǒ2—!BB66-e 䭡W,8.h ;E谆K %cz6=8ͥ<0|AD789>N{ӊnT93k!Em&=!eR_xi@9  *%XUUm)݉l_?cY4Bp± ˌ?X6Cyal2z+pg RwZGk 8בT/MeXJ&9% oZͩ&'E (#լmTM։ۊ^ "oLsa2y;GE u,E <uK?jXƓaC Vp2Bĝ;<kA{},'ZiD$TG:iRRVHTcE(-1I0׋h [cH\||\+x\neiGO,Q'd?zzw.wq9ܽ{4ם;wp%lsk֤GyC <qd+ZY$T0>u=$ ϧ& "l(EP4\YG_>@}. >N- A :x1B[n2/bzeCv%zNpxt||w\ ,{yt:! {ibu-ApBoS63T魄tucWH4%;'h.%.8P(&yM^5SK8%iZ*9Ɉ}d[cM#y \.%r)6r',Ak)-mUՂ%x>J5:g˘^ƸB4( ([Ӓ(xꘙ,E#,Jxqdk&b$š+3I.?s3G?+Trg: dΡT0mTB.XbQU|[Nf1Rڊ)p})֦N:W,BNJuU:b̜JD[ɃC._BV9&?V}b1/( w3<%{sǕ}ǴFqyÂȤJAĠ*5pO[~y1! ݚw1ã[Mղ[K|0uhY&)¬&Hh42~CY uFx&gHLJ!xU Y"Q:mD$&QT*—SP(J#G ӼA'Ԁ ,4h8+5A*%UK)64MxrF t p ôG:̩ u K.3m_~;ݻw⩔yڂ,rI)$G]򢢗Tc ڿHYv/I sWr\92g^,([ˢp7],9Qzn޶*|qvg/cW֖ ihJ`mDђhTpAaejdņ*hGwܛ|WnN&Jm؈ ޾yJy%v#rErC}WH62"ŅnQ*X2)9[frNf,j#f9~~f. ۩]jm*hB9E:F%?}RyI0L"`hXҕaqϨ.vPِT(p#T#%z{H+%Rй/ׄZT} gru-yBϯlånD܋(f ʑ1а@23-$ "=q #-NFtI"Q{IJ~[I]5$DT6GT]F3ߡ0mjA+i_5 ys9e :]&* aqWăԫֆK?[d'TaqV`A:]4H*c(WKp d .{Pa!}fD cdŵcT3bv!<U_gH )sJ"~ /MBDArAMDž}qB_0\0eg6s1tbp 6ĭ6ᤵʸ2X+;%ڒ(&1ߜ ¸-򄼘d<)kzYWop $YF;lpd}=fV Lc4S/,FHB H\>%򎞰M<}kNbU g"Sƻϳ扭>3Dm&& l'!?cOT1V)  1Z.% +M UqFkű/ BC, HVr2)"jP +J\QQPy(#Z|FNCBB7o|=50=:0:zY7NS3[PJ) |dX'Tz0[Lkс5KT8lFqpNNqWJxԹ4mh # M|a߂?!Xƨ0\ .?AwWy_ \Y^2،9 #"d/X_i c)ZѴQ80ZHnîGjxKe5'lgSpb .䭧2jm`“vz!+S{lv t7) VKS)C!SyO.wKAJ^aGc͜z/CizIR[CW&p͂6:cQͽ9io$98beBM4't:!lN͎YbZs2 ҈ajLy$-ac>Xf?gn1?ڡy݆iC%3!5:$m/cxP,0NBhZhT3C( O9n51tɟh֭[K[is OKoZA#d,Htk dgR7ҖQ"ǣEE՚GX#ר0Yu Ҙӡj-MYڒLTm\-y-=d'@ b; Y)>e=Rgd\4AK%VC\bt;/[e _ilNjbeHv" jXַ؝9V[;.f z+jv:+O 8nW %bZ- cj:YdaPWppttMȲONߖ_1x 0wD$hEPev4rmcB1\Q ;UE$uă͊%XEo%.HB\EuA@[DS6α f:QIތ 4"Qqtѿr=Wt[iV&s{kz޼gSع"iwtH1K4 Xi4bʅA)Y@[Hh)8]ѶKk T($Exce+I\z :ܺu?_H꼠.4i>{7tch &`.McfWѶYB.޴<|[ !B?ѩ;kkViI*xʻM8tfpbXgt7Lpueqvv HZn9D OO TOƯv^׮=;{; 5ʨpѬ8fXgŒZM`G O7 Ё'KchdOg(&Z $Rx7[mbueoAV0rְ+g8t5!* ,won )݁I RLJilL{o}'xd廯nrM|7{_ڷ$8lcon2iazPN >q6JmKfNgфgFǜـ~i;9ضa2]ƳE`\!q8T>1 ۛS[ߺ_={W-#?݅|xmPrx8>\m>}_'W93Wx9y|?(O7ػ Ő_"U VOb#3_Akh(JVmΟ_$K"&,~("Ӛv6„1ke%tiL'ON:I=_# _| -D$$f|pTM?>V|v>3G?fP4 &cu F"F4GݘBHNA: S&am{H>\ jI#W6鋔` c ^s$,1_ ~yc$5Ƴt|d`^d?Eɨ͏ޔQp-7hMJj R[T% ~iMf 8\L<ү]k|x%3Ls/09s}z/ CH:<;s^Wv7W?4~ 1!Z/?V~_=~ؖ6Ÿf# vTnAiDd1UL:)Yya$GGwXT95"2i9$/ݩ_):Z x?GGKM?,?@<@=r߀j w?O{x_wG ηx^uQ?a9Xh+4(J+ݩB h#rVSv4kCG?фz)3{V9}U0Lzt>EVBG% d2fr,n]1A1&غ۾ՋaŚl_f<9ftg[ݥ*KҸG#(>o7vu{q>xb,i7 ZK&i i^Q? ɔjYHjW<4!w<s/<,/O?u9äX}sjLsv#NK T 3DIt[>@ Zckv& կ\7j}YՋ9KvUx`m@TU IDATLOx|{o3#"wHĔaF]U9VC5Sz]&2.-ʔ,>3$tX:7yg |eTN*ˢaZbcOrvrXXxJ̽w\u;7ʡs7hdI(RM eJ[9<۔oY35l9ȖlIV,DQ"  9W[73T ޛ?|s^U]]9go_;byi2v q./Hg oC'>7s)nsgݬRlBO$E@}h9&{;sG4oeq;ti/} j/物y+j 툖fbr-9 mK2XJ,Kd"PP&mq{\#$(2"oY]Z`dlBزlm/rmn+++f"Bw?գp{l.OМe-j85d^hL#6݌|Ћcuu PXBT4 $b8r Wqm*Nj8'`@+rzv-D'%TN,@"դU׉Q]iY3)006Jcu–a A:*Mb!\T(BlH'!kz>_E $NC4Ml# mFuYbum;mZHYvV#"}"T%.P֘.y]6Os buw?%صyOEFAf4١u{i| _//r78E%,vZ.e6ks>u+?xYaSFLKyBʕ/`o0:WɌv]&'xy޻|#P)25}jbY+Dst3cэ v"1qHILVcb34bܠj躁x(P,]g Jã']ٲe:IO{$qmP f!0y2cQ:k~CˡWCW!H}8+}VuLBbCAÐPSItg˄3<$B!{*1qG H0{V#ՊHg59=UFDbN"&]XbdH`xhM%0$9s/@sڄm"!R B<~}Eg [9.jBP(ei]DA$J鸨BJJ"`6o"B`Cwxs8$mmB4[2VDqBtUVt_'g)W Xa9R!(Z)DUr] 4Q4ڳ>6m~ 3ψmO4G߀˄/XzQhy񯿎}d4ysHvuHr _xfNYf0H܉it] _*M; d+xUn,+[XI-Q(Hi⸒a1v۶ \R"H1FQZyDJ)Qh7^;ǰf}?~ּ Kg!'O k@3@_@> >De/!rC0pXi$Z$)XH?D D~OqT]!mihF,%`+F C} 1n|6 S*hD1hKsn.T6j8NМ&Y2Pt!]d*f!>b߽$`*i֩n=:!:(aJ!uVQBh1N:ªŨAr-Ʒ0X{!'S`Qc$euai5Q nSL$L5a\m U`uK0. :3l)a6z|zc{ β&,bG:NHsdNi&e[%nQTrM#G/ZǏ|lTRs^u?1NuuJtD wjF'qB';ʗ}|Ls߂W"˲QF2iM0 Bj&tH#nR/!it7N  ɚVHzk+=f8A>O\9w9^@# FECq 2t7br#z#ү#aaD",A.2ho^+4Nx]tBl LLW _^#qCI_J#I0-dtz' zLEnv6J:Awym$:Lnedt>eT[R\NlɀY'Pb| j QAT^W#yv-˯J,6T 7aTtba 榨:>Qvi6i4,-p\V;MZmNuHjk)\s$SX͈ÍYUAkD:M$4: t0c_~ @2dKVO׎nFўe0D5N0Yh |aD8݄ Qm8->I %D!(@j$4"DgQqEpxhXKOH#tlKiAEfAOa,#&DtfXZ;Fxz8 =uV򗿈*\}?Ͼ#$8f`0 )"\AӺO.2 f^ASlVg;LFFηJ+GYmxBĬW`zᷪD. wv%QkP-FW<ۡv0En'I2xw{c VhhQBxh}Oq uQg}¢GRDI Cwq݁=8*U -~M)ߏjnN"|KGU$;/GXB*+E*rFLiDx:F3! &7^nLO~8zbNG?ՌȦutPQsR6k:V?OP[9eBfzVN<׸ٶzZd!q _{:EȦV]d2;tZK' 2[wՉS6|^CF iՓ% 8pB 0-tC'ʌ^׫$ Qc(m7Ci ?KEhF &g SP }'p#Ay/@_`Ϭy©6y|lR%~UE` %'e4UHjDAFG P/Cɗx| zyId@';@:InL.GJH#H? kJtE_57Gl zEe]~^ @ r:a6[DjoUĖA5C7rvy}dYxS3+?ES+7Љ4UBlvP$\ ^m ?JqZ>%M×Z]ðMy/E &$%nX,~&" Teښpw)suFc{6n,iХO8eC+u|?(mnӥ'[+G1R&ӨqLRu)NvHDS^@xT  1W[v!:NBUapW&BHu9{v@|6Hg06ݖFJɡ-t'f{kw}U_nC1i{]) h*OzYf.M# $?6BvUqMHm 6Yiw )+'5ƣjU1GWa׎ )@Ihk"Ha0g !1q*n1B7at 7B~#(JOC(*<򥹲n?T*]!{ ddD=u3ID)Z2r'`n VJcE@s2JPpϪ"0mDcʴ)fra-6 mk/|槧aqDQ!#5iMDUQ}RYC.^&'GS2:e~aq[8dhHe^>wsM`g k]h@4֛+d)M*9 khNN!?D.mVM% CMf= v 7 rW WΒR-<Et:fue%:3P&sd=b{Ѿh3|GDN22iPLbA"i6lͳجs閫*q I`k鈄 l<#O3lVquk9[;ŗ?̳etnRF kl#v#ȧsH hx<͐VnRUTF>@0 ^ y q$vmt<&8($A ګʙhN]_"t礼VK-V'DQrM]4Z.NIk}@7 x#̙h`S@)vܵ*:6b@!R1Vh""m[W~nZ WY\yd' 26+muF)27H,--%4 d-jk)%CC,1i߾9}Gg9Pַf}#yr9Qy8q ՅWBmK.2؈ 39쁟 #%M^Ƕ-ӤdXiV)M4&%Mu2}\ksMcX%m5*SoDh$ z8MWg)Gw$qrיY mf( 蒟}sS}R]mwG{rN6_.R|ͭW][n{}џ>py?qpcdd'wЭ,1MtCj#Qʈ0f0;7_շo~,^4$ɋɿ5P E@^6d俼HbiS c}MMV 1-8UaxNs=D\4MD ZZ]cѬQ6D(3 IP u;Fx节 U7XK*dgv*Vo36ňScf vyգr݁yJe>%ih8uE,9k7(ܼ>|;E`lx' NL8,|߃'bEFdM@RtM]G6fvZFCM]4@s)% N}8),ԣIglG=kF_a+rj[y!-JTwnbʗyܪCyl*iTyv^vU/2]MeD4̦-}x=smͬ}g{ ]➿ܲIR-;}&E"TNcm/s(ػw/O>$@zal߶q x/ĶLVU,IJ-,zj\QГUo\2 $hZj6ҋ ^EI@rpVU f&5ͶIUC8`xiK[L NB :$GՠyI^6) ~0H8%2W`o} p Da}R1kzu7S=Gun]WE 0PRl3O`dh-Jw]c6ӡݩs?Qk:պ0Q a,'3/dmd=Dvi4]9֗)~fcbr'={ǩ(quH#;نN–a7m}C,='( ӷ2CO7t[,eaz׋ g,/@[u1>L3Myx^m(DmRuoY."y-[`nfR8UpڽٻsCc"6Qt!4gH]%&{i..24-wpZmWHVy]a撨&" ?v ɯo\X<8&c,=~O>$ccc}(]S/j??qYl6#BGAdaugcH{L˼8|_/„I\x@Q]0 (1'E}B̝C,D/l|f$8L UC(FbPRYdA <EEҘAWu!a?6] 5O3TJW\u9'QrA+RsrC4^Cm:k -_eL6gN=O LBݦ2Duζi:j"B6;HեĊȨI L_- ܖOKZCD(xųx?F I*l뜚9Ϧ"L,4쿒ZK*jN?N8Llij/M,S Okor% o~ .ۢEtodKGyw&?i=F0ӈV aE-RJ|AKny(zuRl` zo}Ѿc:j4;oxṳJ" C$vJEJE^M=pM̄Wr~y|dpNH6]8lK~n8(p oBu`#Ӈ؛'[y4ne橳D/Opn$gk8Z{rk#;yw4=,<}Wlghx*qªhew:~O˯DHL>vN8^B+5ֻW?Oqwb6q:z)&Ϟ6G>Nj d]of~~~MpÍDQr*0M.VUz R$ٟٵaKچ)/y]{5Mӄ/DͧcrqD3pɂTg2eFF`q~'$$u0"( =4MǴӗA~%`kn&ػJ¥Gh-?ї%;:!*ZEwpΓ[el0^E6lWC5.ّ1:fjGDl1Ѣ*" lt)Cg(p\Fk"Lb!"!A- K~8Y`LJ_FQ*6&0ͱl5IZIΑsIdDo<0WW C8e%ֹ)F^o|f7Y*qxj/t}enaiq&Ft獤v^ÙK[Ιcǝ;4p3fV9{NgG}7ќ:ίwrqvw..Ɯ82g}|Yg0{ynםu|qQRvˮG~t^KkB [֋-wu'1M$Ie3zKx(7(^ ^뮻9~?ħ>>7x E*v RoYiz ?4!t)S2/1 Ԇ7ޗݰ7?IQ$3eB3/fM֋Y҅7МF 5E =KM٬E,<ֺ WIg&^'`a cu:4VjeH9)dK c;&鬉mz~}9uA{2O^MPu]hlAF/N! &*Mqr 0~ B&kLmaݓ|o5fQ:珞ۀمu] F:{KW0[8n?\W>6}vy,bag>K?˹{sc{-YL_a*>:~f'|Ӌ[v^>a6J 'i4سbxiap뭷|"J~|#!^+46)#cc-կfq399oot_I.HVHdBQs$*l미THb5W_kaF_0!|v]׍;3͗u:Smw18[k }RBYFK ~+*} XJDMQ#IL$e 8s0 %LJ.V>}0ى C1tբ:M`( T׫LjUS8$~=F8+,Meeh.9;dZBL))+SݍZ E`LU4"Q|RPFTbqi]"QoD6x0n}uatdOS*8I/lXf~yH]c"4[C[yWy\{M4"8rAn9p!>a{1{v៞&1;3[nEwZgYݲ̠B*kX][~'y,qh}KLdx-gYq{o>dR"6 VɉɄUUR084w qqt$!W,Po?̡ ?wX;d(s4 s 0Ԥ  4B,iFKc%%nXUQ[UU~= 7_K:3H٤ek㺝b4ѭr͘#T|~vٳJܻJڿ?\|>4ql/z4u;▻vLUi&&6_g)2NtF ma̶]c2Bn_p% t7ٰ6Z5?OQ )ٵ::uUaPƈh9dD6֠ CJvl McTTHK+dOVi-ZY=N0PNU]?淀CS)c; +׏Tl* rk#߁D@׍A63R觜SQFUuԔAD#L,$L]V]B>ziF'T|%mz[6 qD!s:2Yb BF1Z|"E34f9~$eM#lWk&Qrfztru˶7(ˤLe͘"`]<}UXtlTᩅE=콣$:Ͻχ7VfFmՍ%BŒeeg={Xsva0a+$@"-WuwyEfdx?" }qxס{UO}pk xǃȁq(`Oބ={CG8pamTFnng0 4N$D/{ =[C,1=aꡢ-.p A Ht:t[8q!p,jslB_- (LAJsc3JGK&xyH@γ֬2+5R"ŜS/sgsln`U%xVr9e39:~Idf#3Ы]$}q*?]"{$/XSStvd0{ⶃ`e8ۻ5^|9~CA[=\e"7')NRZs]C|#w/<`.8d8p g{8ݔKo<sst:w޸{wmd}/uBpپ/#\]}_ףso B Cf~{nݦa}'nSѥ$ѩ7-4|7{.5Bܰj44Iߎy.z"ϓ@XPqh4Ndkk뗰I,evKIli˧ՏNgkX#iS!>qm<"sS$eO_?3wp)LE׏X)oЍw!k2MgYݫT*A@add-pq0殕]ï(\w:a a\C͈O]&;0RX{ ⛭-VDߌESg.b"o3؟YǘX˴h0ez[F Š̈)_aD a(_`blQrY@Ҥ)fIׄb2V DZD蕉\8>CKa@ @RiJF3N!,v"OY;E,ð28aD7\(p)o&6DӀytrmS,^>K6c9D.6?}f JE@ [K$Slf!j+t͗)lDШWgFm[ PH'p ͭruw{N"A>1u*uOq9wzzhV4y/| cX{ KKg.>CVG)|Cv a N<ˉ[}Bb=ëgN MNg#+k>zF/ެH3d4:FטyG]_R `ssT*EDQ_9n86B/Ngu)%^Q_/ؠT*!|õ^[1e ta8DŒxđd||MMOހFs,?ߍ,_h} Nݱ/uDA|KORހ&jIܠ֟k6ӌ*0 } ·a{h'm`%ʢөi/0\841l+Ci> MOBQ4Qqnkn@vH DXq+o|z^tW(?EHv2zn'oe79ڠhfٍ yti*0qQqjL.cGeꁤ[ׁfU0=JÑ# ./`8/-}ـ=44gK39*d6G)Wb{ϢBmސlYHӡѬ366އ AL4 vvvm0 es4JM&]O)ER t$aT~_z=fNm !$ ØXuīny*6 Mבz2Ga(0-]ꖁRH#R ~?+RJ絴uQ- kz_Xk)R0??{g'ic'@ƘAܭvt0E4F} L6RՑBCBc a4p{- AW7SN"D_=I RK&Igdrd+\޼`'m[Y0XHB15<ԑ{,M1T}h=F{ddYi 9xnX )Ҏ)5/|#Էtv*=6W\ zǻ`o翊:r i@I*$",0 ^K-Aa\SDaǏY]Y!JS(0_3 [[ ?ı$ibpx]& TZuCZHy{]dRj ^ 3Vq!LWv)ЅK)zիUz%A pBҀR >LGuL#* t4M4!z )J+h@a&qϤP HԐ(BjA࢛iL'n:?tD6ђIsϏ=혖jmMPXJ-~ w=&6 uL`mm_1q臡M7C)|2|(VT*;8n /lz]8eQ[7BH֖,T:.kMo^$n~Ȅ-FSZ cBI)H)d b%iG +PR)%H!PRD+8Fı( )_ D(RJDaJaHJ # s/~`%ry|6h4H+4jMiJFm\'w'p=GjZ i=P~"/i f^ԭ{FBb0 4xQS=hR~eMn?t~X#I*EbBSQ?nM6Aq ͍$4*XݥgnҌ=/-wsv;m.3-NynwH7͜_drA`֋$ldq+29y]{~'YX0!u*J:_{o(_~0[\7iG;6jχX{M)T QJ R HM*BJJek\<{qcz89B=ƃH[q]Rb"܁äRdO%Ϳ{==O=MƱ,?t#tI~>)F%1&ۜҪF<~Ez~тuW?A# h?y`L2 گM7b'E]lOf}m^GPuk A)%Ο勨(n'۩ec;BH.grj <մ}p=ēO>O%qO>\ebb0vW'B ,ƬX3pᄅnHoop `\"mYҊ",!1tS aD!XB[)($Q}"ILBAR@D EERADR(8&"ŤdHƪN$UB)I)\O}S^OiN.Awřx_ɥVDL*G&%t=JEĪGMnpd]D3< + @R=^t[$V1`h)!dѴ *o|K~|a?"p1b[B^]|6FՅ) &:ݐ@*&~(GS-<GtLy#Q^JQq]LLGgdzi#_ ^hw=Gܥ ^:J7 _km]2s'xG_]܊cy c|K_(rOG)C?yɡyN{awgXowOe 5JSNȣοOw\\bs'$i깘ඛnXݟwoxL&YYY&LAΞ>ٳYZ\dzv!a06> =uػvy.q(׾Tz 6#5FoahfTA%ت5(Ĥbj}女$cƏ`G|\+̓ vt^1n\6/8{zD6pka MRmrZODI*]D244yƦfYC>wg9vY]WNV76Iڃl֯ܭҒd#iB;O1=K 8qzIek^hwF1.`&۫(46J1=4hi60ܻAƁq4.3Iv;LMMS,.?-+ˤәkMȄum@yivKy!pL(1t񉉷lЀa M(CǗ@ӄxRgiI:FǰiD[ESD0DSiJM4tM4@4LCktMԤu)EMRQBԐJAM*$U)**Ů*'?Go A&Sq4M_m)bL$K44 5 =&I*':,|Pt7Qk/d Tbd6bI $^~5(qmZ!_hmץ\'k쮿 l384mN FqcLK_e,ҳ,,hXYCw篾yۻBZucAv˻@..퀝 F3k4~Z P(1Z:% EUT31~4He$@B6^Dnd 6.\o؝232F0EH?/+B/=ѱ!o'l8NAQk/8weO&A2\Hއ:Ixn3ϒ,Qٍ^YÏ34DEx8zCvCZch]`8:q6O= n;.̷=ϟk!F|xyO,q.~6]Ff&tۄn‡)$cn5Un~&r]  a||!24nh:N^uM5c!D",ۤ{]-;!HY"#[[ "N±c!)LBh1(i AA^6|?ԅBᶔ]za]DbB(&b.JH)z!)Dq҄ CiN,Rٍ/B%#M,F?7u0s'O78pmTje`d8O'aS0=QK ޥRfcE޶ !I #4ˣ*I^ :x;FJ!Gs)^c|?Nm!]eM^7ȥD eDk;D$FC4Jx ._!Wefat;B \ED䫏;g'sK=O neHL Ü"@dskC&!w2~ϣ\ǽG7K kY"o'RdƋXi{/)fЭ6a0D(;Uw""[Q"g/n0>lk )=_~6c6ҭ}?&=bfpa,|;܉;NxLO`xH#~Ubg_l4#ZI\˦'E]ksz;︍o>d@S>D^{W+uyra=4˯^/>qX^vIriE$\҅ q:[;-v=D~DHmIS:K4>@-r)+_ۢj\9xKuk5Orjz>%`{Ai,C*,]Y$P,n?%Iervݷ*S H)n\z~7`_ׄ`act;2-^@D!&aE(0W}|ZRhOh!M#H"M/Tovlw# H6BVdL!;j՘dnpòpH26̨ ʷ+8A7Hm_hg5BpCԶ;?P]m5GjA, v0^":7US‹oB"8D(jz MDaX #?종K8b6{{;u} =̎H&`%R ^/ o[R瞻o*>S;ˀm_[67jYH|aEמϞ_᳿/HgbyWk.8o*t@4B亄btzMLNK&mBa^vJ䉣t*e,{*_Ӥ3yNQ^ ;QrD2H;IWEOhM207JmwC*Ud{n.V !o_CRJLӼ6⚦57N\gmFRAzm 1(T(dHFRaMR %  u}( 9KH#EŴF K'8x>l64X~gc܍O١2IX?Wεg;ɉFWC jp0ΰJf躻L|JvY9s=*f9{8~Ě9Hx.U&&M[ XF]9CnAt] M հ-_C D.N zҢSclD2& ) Mp /SGvRK[X1,w3sl-ympQ ۻ4hgs»n$.*H^ؓR^(TױpMj4k:s3h RʗRN'6$J*"7&]Z\R*c -m]]Nf.l*m.q$IA~ w` gtAzf`CsO|mt/Q=>Y+{ 7-rA %z@qv}N6[Z]ty݆#xmfE)?0,R職qyVZxmV}a 1n;U$ DfLa C]#e@D*D 2ft V(iI| 5sqr87R[u9/z>n{Lʡ6"V6wyw˙AVN¿?Kq579~ "vHXQtj je"jD"Apq671>QfbdFᵺdJloPRIv+BBL,zM\&N2}\06:ǠfqF hQ!뺘GdB6cV*QD&0J&ׂDض}CDͶ$ee8ˁ|G1LZ'} *uݐL/ta$:؆Fy#TٜT˦)?@QWQ^ci8=Ih]F~{^g*$ :x]ooo}Vkz3o@+ 9sn!eR9k4.H:x"z afJvvi4]`P2X2<:(wj[;dgO>w܋8LDDncM<8x}OލDb=C3hDQ8nbyB?BJHI(D)/02:AvH2&}}z6M4x)`y~"tMlf;1 H dlU5#cӫ#G;36F_ .I00IcĶ0 tvnVy7L^i !ئj}ZJnOjFfggI&qSV]gWla"kx,^zsoןvB(_p"B_#JШi a`&cH OEJ6Jmf ŦQ!錃+"(nNidB?MDŽ"p;|ϻV{Av]\~|+fi^t) qˌ ugKZ]AF=@qtfY&f%fRd zn²,'H5;l_Z% LD,A2y=q]F3V3E"LlɅ zx#׾+jK?VM'5UN4 .^āPJ1;;4^?a@Q5b]ׯW]7+ WLPX2F׵7+j"O*DRNgVRz ϓot1R($ҩUaN~t*DRzBU4NvhL% bԙǢ {G[o=|:j^[ " Cs/|O?_H:Ԃ:^}SBMw )phmN^~ŵW\`DyL0 0M6봃& 0:FȖ:)-a`dq]҅aNA;K[/A.<QE&?RCj B"B7u쫲 -EUF7L 4 ]zZ?ɥԠkĜ8C Iq9HTv(W%-sWOf%^@ 5ō::[ZA֮2fvpmuk4DRY:=%^"@q=\>Gi)/o\"0I8m8MۭG!-ݘdԱ4\V(ת] 'E!3?go%Q~oD3k}@HB,cb<ˆ1<cofg!@m lRcO^q*0 ۾ J? 8﹩pāĜ N(\L-Leh*p<깬؊oܹD f pA Qо򾨑ZAlX⺷/֖^vرsno_~ۛ &ZQ ah Ck :+}(c)8ʆ$+d'WkZ`#:.(@$l`@0I r$D@ava\ ,BRV:mB@ tlp*D2PVAuND@D)DHSIX)\Q@ sV a $a C6j+0Q$ `PBh$4` 6h":Hu" cCeNh5kkYl:x`ÐJAJ&^z3@ݑqt%pZDXZ\H;Fz+M7ᒈYdlz _J@hhÊbEϾZ04ǮeYTU<||Q딥!IB A*mHlp!lo^ƻzG7j*m7`lJvfumz{{'A.lί==PZ)[uel}ݳ'E.~~öm;eP' f B)y dt$"LMMFmel_~%vlVqzJ<A"MRElۈB>'=a$O/_G>Iq||/2k},(Zo?zzp 7As i^GF\<$ƾ^^Fazzba.?A5%h<ع}l9~5ub#Febcesӟ^S<6lٻMf' bP4Z{i%ى߽8Ǝ]{f̕\.. "Is&_8n|חe[.rד)<4~owmlݺ-›~g}\wݵ?륔ضc'y]ux'y5Eݚnmqغqn#K}Y=0s:۲u֭_Iѝd:E\yEbQ./qr';8 +}}-?}q!z.7.gyŕ^=}.mej14~frwI.kEGpfEǟb5{1{$xbU{ }QPbaժM{j|^_q]w-b GBկƶo{_qJC_O:fƦMwJ`A[/ g <#˿NEx[rM}- ?;:nwZĉx?2nmL??Lcyy'uk>9avvSS8;~ʔ DoZHeall eV;OJǤp;a@uU8%a$ @D ^?RƵϾ˺@wb3 @³2Pe²Hҍ^Am_q׼> avv{yڵkǏ;@$j++O:)"I>. ?uI  ĉBJtM|e9$֯9oc-+qNϮmS'/@'_AUxJ4w]>6I yW61 !(ֈb|AOծж\$nu{ӕgu3^/}Օo:a(i,!#4ځysAy\Í>I#; B*CJRNf&>&J%v*l" $$,),K'Ж;=uBHaRJ)$ [ -l%^7vlAU̚o7`QBGl;N[ k+;Rq[ךWNJ;Va)98oYL |t]}i;CMǫC//k:]鹥:?I/3(Lhت?o~'*KJ2طnefrTH$< $u)y"(ʶ-7#c0_bIϗsp.v\%N,;C'+`9Yc^Y8I4 kn9|GN<8dAs5c?|%<3xkn\ tT!\HR>ǟЫGnMB)gdAEt7F@뻖k&%ɱ;QĀI` "Bī -jAk:hN66G+ܮ.Q5SI[( )HGi@ZN-(5/<[_ZlYqϰRpAHRr$-C$(򙫯l(Pɷ,a Afƅ\ҢYHM\i4۲saM@4Z5A%d+<' Ht؈Ȗ ρHȡ͛$Jpf6 a X|$R/HjR"a13@lsUoiM*S@`0Tݕ/` %D83m ]v> VI)EN( ״ $@X!׷5R_Tk$AJJ J\"f:ncfFk;PIָy(q^s:UqV!e $2 "0""I\.(NDٶ粕$r-n5[\(. u\<ƞq)l߾]7݄^Z8p㠯|k'^-8z/Sa3gNcƍ, l}jG ؒtؖe$N ؑJ1z0YGc8NU0L0ZHbA02uj,Di.@/ UE9f.e- 9S;\_ t3T6QIb~y`i;m<ǑiLteER3|O߿ח޼3(rƓTrma+HSԌl-[9kM-VI )(|6OVF32 :8Q©5R(k6!El&QEdYH:dI$t;LWW\vs 'NcfNL{lafP6#)@#R:{UP*Ƴ,lXCf&!edqf܁8 r\I'1,禧 Zrw ^y1BIEdB&d{ 0EaADL V8"QɗZF#AR@`)0#y)V 8vOm -&"@/̴bVϝC ZϐAe[-٢[sԟ|r1"# ضm$zFH"\{isO PqF4M_"qAO0t]Jc84Gca"C,L1 =_uGg`=`CGƠPe:~%ډQzrLM*m{6BlK1:BAvC Pd$(jTέB$rN M!Ȗ,v!BJ3Ӗm$;p-J$JW{J J~) zZXwjKdnl,<)3O<%I _7EQkJ\Ay?!I 0H!fFZ|'Y$,iX* `օBE!-˥L6GSb#\ zp h*U*;fgG[(TJ#mJ:X׭*@NK\8 w3IJ,%,Y-743"$H*0@KDR4 v rPo;/-"f)q! ͭqJ9jY3pSO&kCle+nEP %)cڮrS ڭV?bO\Qe/hJ0 !Z&^xYm۶#ϟ\syi|_zMT*Lg'N҄=xbkk?M9!;؀%,۸ !Rh4N , \džNbhCplߖHt`͒J R A69 E'ǀ i ]Hַ kn[ 0"2t ؾscaȘSb(0;0;;YaKu|U&&œG0ؕW*EGrt˥Fn&3<[l-;=O}$ 1hx +2h6aأs;4l&KB)Cdu=qL18AȸB_|̆4e[$YGDQhuGu5& KBEqJQRJXh6]=8m/Ii9lڴ_m6l߾CCQT`+#J; fi<8x >ߏt3GX r۲3G añ( 4 $8dv•xEmfxِJ3.&OӕOվz$SÚ\φ0 g Dpmih./vx;B˲ Ԉ|Vv*d)+ Υ,{uKS`dՇVSEcZWԙ㩁DFiO%*b,+%A8*uBT`绑U~ 'o㹜xxcǮ{g CZ>kxJԒIĭmىF]s ,W[tn&IA14p3sSٵ]uoSgXN$D p /5ݓqB d0d{2 û/ d\pUƉSsj|HUtP _*`X/L5[ё^XV8^"]Fҍ:|hnrbP6%aP@AqBz^g u;xn$,Iqw]?0; RL 2vT e)`2iܪuBYȵZ-3io߾ #.>_ΞtuSk_nnT.UW ͞;:Pjq qN@D\ח/Ce`hᾂ85,$A=.CB+H؍#S@IrG~n[?t`O&!̖A`R`#mf۶r|+ :JwI@du L#D NuH85c[: bH G*HV6I̮evJQ IDATTX>UL4cژUU1N٫)}G.cPZqjv#ٲUOrOqѱڒ.ƎPl I:52y Se\j̬YZZ,_;nMm!Ѩ50Z#ӥ!%~8y*ӡ7;uuˍv-8`ALʈnhO]JQc LaﮛYdCPeGgWfD%" -# nױkK|lҾz(DHPڳ"lucwIzOJIRP|?K6H)\H&Hr\y' ^o?7-H* ٺmaav;I),X !,vgcl IԆ("-QjA/>bYֵZٷn8IYݦ.> <mذaBkZ0 _!wS)K)@~`8诿s$m\D䊎a@!,Ipxhb(3G??֩8vs=9YM(b MS亣1>vgO},cF{"80Q@`++YC*I/UC,CX&$ %LZ~&Nb]@ ~v٭掣Jqš}h.!cpI =Dӧ$J|x)Skѿ]734~\ުM1 K(B(x LV4ؿUJlQ4|2SgOZYP*u\Pʬ7QEeHY?#IC-8n[/ !a3j# Mr(?wmp%4DGB9]O3j \:2"݃qt nņ,=L$(rڍE4k+r̋%q2S(YIvD9!aS),aB:J9N IKp?( Hg\VVE5y%qLn.@7*IE"C@@D}Aw؈\ۧ K~P_^RF qɧկ ꯼z!D' \WrtI9x~R_NAk *W1e$R~gv#$3L&`Ƕ߳P:6 #,BBo @ե%^\XX$eL["- VB`)F޵X Cl;mb|6NDeBR-m@% gaE-bAr~W3"j3׫lUNj НHOq cRyEkVX+`=n0:EGj=so3S$q q gO-$C#w*8ƙS3c +"hB]y8<Ö[PNi TN^{WمٙW_`a^1$ Ve3)@e\+1f].t1$>ؽDr)"nњХray6+Q@Dͣz-sceO0u7]kv{&J} &R=Fz([GpMOO I!YUW~$DK{tceerƆ N(Ncc M4Z3D(J(r_8L7RR7g򅩵Taa|Led}zua_F}nbLYԪU2agJǻͿ}[7 )c.'

eX: X+P5r5檇ţO?]Te  ! bĮq]AWdظizC|0]_ 9vﭯ;ڮ%Rp#_PN\ARs+c̈°j]~ۏH8".Y*gs%㜗^\\1iHeuU2O3 ( [wrim9Mb{? bzf^d)byU ~e7qÆHEnI3,yb[/]˾``erX eKybh- 1&E$H蘢 \W_IM7 H1S\vaZ FfXh9^0jƊ`2b"4Z-$ea *+rMnEU$`ff^5ZZ}|{z\ B5kd\w.qrYbu/1gPtWŃFny/|4޹k7͗]}Gl/E)!!Y-^ӇN Ϯ{AK$Q,ICqu$aȞgc6''5.$W8XX\QDھ}Jfnn K3oDW8,kS;;/=鶫$sIS&澹I )N=UDO#/d1%UI0ϿJ]cnQgE|mql$톌T6;KS1HR$"Mb7k 'n9RР Z G_Dœ<&U0Z+];[kmv\o 'NCl^^Oӿ Q:{/~+_XZZyfu_ 8jV=%'KD=Ɵ$ }~呲$ H 3K$XHT@>8A;5PM:IwHh `gg$""HD1lߎBÀaM=a\UR5X>aY}>mK6\?C"4p`e,穓ujDf}EQ//%,^gs$V=cCne( qAsz *niU$1vOLO&ش*>yj6+E׾}gHSx:51~Cde)kNhŀg]$,PˬnwZ[t1,R cC B(17,`nf*Z%WU7]3Z4`hp3#xʆ I`<=mo݃4O" \7kv>K%;x艇hY+l㯏]P-%R-3{wVt8ٕj*1F&l&&َ cҩPEd#8Gs݊A[GI)SmI79+—X7B>G^|# B N!0=ۼ>fFtb߀8Luo;}:xo nG[sa+ W"?{jɯ|O41JV-%2ĩF탘QKZ0I) ƶ$l! lXMiIFh|QVUbF!XD+ϵdUD-if8̰p(Mvd;TJZ技NwsgvkKma eEELMM"H<ın4z/i *l0;U%LF{5s(Z!f0CRqq {/.ALpeΎu{І3lφTKYqR 3\)W֪@`&KIf!oܮ7|9?{ *9 $i_ˀ緡]^ǣFQmMҶFbR8OVSi**]WL{{q7^Yۊ$d5LBJJU7K<ֽ Df$`C \8cf#&x jCKAI % dK'+<|Û4:w0V.v7-X4^:zċUrf#N CNz0终a؝ aDiޙk.;sLDm`` [1E7+/ÿ059()mg# _*Ec~j 咣q3T۷\G*;)#m5 6лgQxm|EA=H0S]6^:,u[k╬M ]]ώ'6©%t8qYo [D}G_.__]NP^B%o#* A!LjX6l4Up8Cs3C=bar٠D>qmWN4FvV:LYM)g#[x v}$kM.uwQCH%P[;;A H`эhՕ ( o[Qv?ŭf`iVv|^s%pF 79^_qVϐ6F֌" eK^6l uh۰ΨK+صҘ7UWdM̌wc )9[_:hG8[AP,~ J.JX-•@GޒfmKj*[{4 ?w/@п*Qn(sRE,aMq0'CcfzYhVW;#V:T,Z bhg>>+}DAkAjPʾvixM? AakI{֕hብ %ͦC*y0uz0aSN_1UaW!M,,+Zmc5zݔ.媈`n{}x͕ݼ}vqhyM@JËk}!A>37?|ӋJ.# NXXm01p,LsJ'Ũǂm)Ch֊aDG .`.\R:MnaL#vuT)YNU*$YkDN_kG(V ӈLr˰JtHJ͒i5 +%/"T eIF@]`ֈ&~CϽk:I#d1]]2==!(2Bp'+Xg\ rUWuu7* ,c0qx3fll0N81c B9|oswu媓~ 0xkz]=~߳Z_7kUw??ovo770t b_9+;[dnx P19q5WG{U!'&cWM;zjD1>3RgPA5*yZ ;G^~OBUx:03#!*OzZ842E|9W̡XZGj3:5igry봅릶Ƨ7z3!!NqlY !\R(c 5Q#3;anAPXvOgX_@*~ (f'&%%eMA6 aDD,lC{431.|~Z1:cὅBɤB0ISHifA Ew9q^w׋5%*]l>* "!;uڽx%kՙMNgP tCfmFRex37[?4R]3.;~$itGیl\:%z˨GqѯIQUheX7OG˯??( >?_yknκE!mR9^90-N; '+[AkXf-t7ـBZ|B^34˚ks *M"i/aH 0v8BօfZ! RCx6 iL"!)cf-L)3;M{zt:mbQVe W_. @f&qhm\<^-u߮G(\J0\, R'4>`p1e@z1dg ̈́!zJ$1w~5Dv"Coy7O3ny{vG9"adf&f<BmnN)}Af[PZHtnd~=.*B!f[[ۖd^6st.W%vh* zMu"(k`)lr!]F,ut L x};ΞNKgg3ic7sqm!Vs'& ,l盶`H8d|PT;VW~wjR{c3 _GtUHԎ`Egv^?r 6xskS$Io)>p6gl Ln]rY5VQ? D)bx/;T|E$=7͝8tK[+fW@B#mqgܫ~n^َrHCX! JC_kjY5 ̯2, 'ɠ~!E69 L"R~h19tWVUu,0(3 0 JCbC`e|b:+x~z||v>$ @ C9`ׄk R&"YQ@[aB_c /ǛO#{G^叼_x-f[~|Oˇr~z=׾?5l^~[ \v;ԫD7喯ڞ^Y8W=|(;Q[($>v9{^>ո) ~xkY5rŃZ9?x3/ixį9z sْh~ɭ_OQ~䉳SR di1 a޻<^;Ea~=}ߟ711LҎ)BFDc?o|+'+#DIG-^:u+ܫאMwujsw_|`񳟛=s#nǿ}~VczFƳgSO>2)|swɧLo}wãc/ٚ>{ygx;d`|\ga62XդkoR({*tVxr4z ƦYʼ OI $bMm ҽ!MGaCuB@gvT܆euNb Eh=H~3D9oZ )D6c`h'L >6@N ">X-8e#k9qEx'xh \-!qi blCV=$/cr`ok"#@I ]kgq!)ت^BΠ/rudR-%+E7@uoTFJky^d<[C(v!= mX_L!A*3ؐ:[kh6ppP4G聆Kb? #= : TN]O1U٨#_XCPYpP % 2VڄH弃v [phM-p2B7 Fh# ʹA<~CLjAda~4fw"A/0pl-wv!\qXD%<|"L8I^Z&Գ3t|nVz7B۠ev$-4jR) R/.ameᤁlڄ`R*֛MԶVPʔPv- ֘0pЏynw #FBH)Q[S EXhˮdBHn*ÆhyسkgQ& B fp'p- zABH0T`C)YX VlW,:6N.Ξ])y^0l{i(I@BvT'SEj(g_Mc4c~|oXs0`jz'Jx=.o5k߿bm?#8z`WwyH9?vK|6xÏ,zwUϻvi&я9t VVA ǩȥ +OxxCw \~M~;gQ5p5&0e鬏c^3Ps0;7 Var\BL Ǯ] 8{!' PpYҒT2wv?:3Pl`us/Ν[j~ ajΓY ҩ=X=~s +O>ʞ.%1=vbd.{=qтc43:M%R˜"@q6'aQLr d#liά)<82vX3)4mXPqzCqkO0$__=@a t0:Xr2AGEdPh=sfzjR8N&Hb)Iin  5Cz[Q+8!`bF4 Z35d[B_I!Ě5(`Pkgx]y<]H#W" ҹi4z~[7dGU׋~1Vn*yn^{  0PŅn:aIh4j`5`rrXЭȍ"h$ȩu$$J1_9n -m K* ȎD3+k9tzm@2Ɇ;͜ ~Wss})'8 DȆrUZ\$1M۫vʕX5pt8WcC y<=zf7s=;nmb~ /ߏ(H>WluaiR"tspK!'e.5뛼g|n ctI-su ;e!BO pў} lBQ,qh Fv1%Hy2 H]I~513d)ŬYJRRZ4Xk! dAn-Җei0)0cZmsza,a$g~S'NDirLDZRҬ5o'1Xkżg"`Ě5 Vq0,@"%e\fL z]O|o,;>On.˶fDQ`]ݺkL[?-VOqqP( tjR vsah@bO4";N#FFma`ddn ܌ǟXh!ka8alןj$7pžN%VWqhvO _h cL^sKв7Epa`b&26<'Q- co'IlaCLel!Om=mđ /q,^>| u+ 6Npv->pֻq<6yHēO9n&+!iaU (7(VLNz` m,)I@V N)u+ KjlģXmð a0tZjl Qy4:+"_!inpr(2p GOBaZen|qiנ/l0 r'A9NyFh(M$AʶݩL 0jX,13#Lkk裏C ) v(ml5>BS0Ɵ{#h:>rٿRmFx6l/0{>= _}iBuP00S {Nઋyu w?q+n߃+c~,[uT*SbmqdȬDae\|rl6Ϡ@n^'Fs~ZdP@}mk𕯁v}dReNRq2U IDATc6'_YJCShtBfS7\Ba8'XYdC7~5 .da4^egAyϭ ?)}X4@emNa.} ʷ0jdHka/-+~؅a2icN]2vE9ם">90025\u##9V 5DtjȱY)AL:0=N=I[^2|jf ZOaRT)Q@Yأ8i&<k|Ü(b~(+js{ mF?48g9|`z/ryXٲB:Rٌ  l Ծ&f2v.ff )w&@h4[(A}dG†Jm.f\@ՂmYp\l?ݱ#G^SJa9@J @<HusPH ah(C-ᱱCzC )X+ 72C'OaouhN#Y r],8~Α+;>zbruoGn(Iܽ@nԉ+/|\wM1H{꣘U`p_taHbB8֏f / }vMfH8495tѴ[ 6VjjX*+Į+bo2Μ?gϝZ !HokrhEyKi{RXZ܀04:_=iLշ%Ӕс=c|OԖWyjjz~B 0A5EB„Fɚ&v>&Oۏ/Xw}}}Nes9zɏ9wv_l' p|VF4PBy5SBZ)w.vjݵx hrz'Czx{v8$HRX/zϜ2a$ķzێ7Φ2m=:<x"P*ԮөLH F.aP# s 1V/6 [+Ȓ$АΎ t>XKspNL_k 9*<Im?/\(H%W%WNtPm3`ðB\O;ewFzz כm7/ŌSdJo}Gf.o-U#O=^v80|BB6{v:6ti.wIڵ ozًj:!t'zכ6{`R[dy>N]5{fM)H$% Ipnrnz͍`E{$fhN)Q.xMscyqYNfN4:bDc>qzNo:+t:a$ 5'&zV׶f b!+( `ôؐHGQq8It,@N,BV 0&IL۴@4 l5R GI$8 `K!Parck+zNJlnG{?}o:M!ČZoll8{^ׇkuU F^nEЊYJ Q"#;ގ]`bx:vwF3Ѐ$T#h~F,M|;&uț#v3Ȇ&X^Zg/pɣ\uλ,2"ø dJ&qAeWugӛ1J5K$#Al Mc7AGnƴm0`@HЀ*RcVfeUN\۞`H||3i"~C fv7?f75(z4M ̄O~MP.C՚3`ExKsj)>$~o-x'd Gy7=ll_xܸ) =sMg(/9nP^B$=C>rpwx+V{DDbo!*<1}'mv=AjG?7>0][9OhW_2h1(鱻v7qg7lי1^HEn>Wv-odF;* :XOkK+fٷr'tc-I){s@H< Οqhpxߍy\|.㑇lfUf@M{BVC_zjߌ˭5[V쐄0B5Q,u<*"Q0/s/౯]T-){J]%bvWPsW)~%O~r߯>hѾmuOc-[݉qPpOʹJ(?J؛ ny滒ݏ? >۰rX:w%oOAJ޹垘PE(]0H4xm{bB) V62b>y|ᇱ83tAbso?+[ܛqSao9Zw1=x8rg _r\F^>˘{El]٣~)P : rX둥k`8h!ikl_BjIlV׏Wůѣ(Kx"iv>~{%C/J~\c>lӧv: lUyin<O|X ~ Dv-s'`\^/C)& 5: b?r{sc0zb89ŭ'໿oܭGgO弿v ;l^2w† C Z $#0`L&qBapt Xtq@:zwvzxq,֠jRc"eqc;^ ZGgg/^{ѯh~}ld %|4$%  R\TD3h3߃g?!0}8>EQ5tZ8ȽmXۦ4:ƣU 6ηމ>6/ vy0[OObn.Ƶ18Эp n|mo=e;[v*ߞerޞ8}|*k5yO6^~AVWʪ[*,2$hV(w t6D@>MMdOS[T%"z3^oWU8*BkJ(X?<#O' _F qDiJo 0nwj3 "VRʢXٴϯ2N43?L-@N@ `(d3xv%HI%f:>B0&AW<6c8pCJ &r2Aʲ3=MG Zb2Cӄ d k̚B01 !xﰱ9&Ei8v^kMp[Apeɕ%L0M/@Lݽ,tEV psf{gp2e D5!VQYs=_HP8(% 0f "dXT $ 3* [}Q\ ABI7' *4Uit ,CF^r8 ,?:;|D=76]+Er+ +3xiwΠOxMp(KTeG"ԡ$mYXC!,.ͭ]4M4gz~c8@* 5wK>|T._~[s5JhDi_<(¼N.ZV֖pnOt@:gD{m/-hgJ A0I`sc F^O]ơSm8`Y4kPG/_ۏ0#}_?2jg?~l;T;Nb:d©3BRxKB|} ߙdxq]A~odu/n9mo6Zt!)spm4E>鯭VAbFbِׯ'\AUQ"Ig\H+e՝m\[_e`f-ݖG?Pj _H$&sx$Vz*Y xB*JkUm:pΔUҔN ca)qlrr᠄ ,$zdbHEfNssߔT0ᑗaD:i m\ BЈ@PׁY @ߴ-BوM7_߬}$XOƚDfCR=k [Z= W4Y{s ^zxq v_x0 B)0Ƹ_ՒE)zڞ"솨'=)9\ƒ_&L1ww+Z!OC+KoLIPcDn$И3~g?1+˜P;+ƒ: !&Ny`քRْ=J^xEgJN釾-\wQb;Y_M'ti^8sO~Uh6 #-#n7iI.ny:9&07!pֲZQ5 =ёǍ 8\Ju1rQ9jBqek{`Z9LY{[H`4NJyh!٢,kǘ$zP1Êb**,Pn@1j%!JKgI {1|2Q *(PQ@Da= bj !Z"A f=|7 QK(), " @x~cc8n !nsu3:A&u>k!j`e_x<}V{c'x<]x}߃>eĽyisuB?K(5+jmb)aG%hMqw %v#ƒ4|H?#?kG{~QC@a('(!{B$]uo_;y0aq?E@&hco'nM4 _‘(}dMOSwoo|(|/g?^ŧ|Y&yjZcUby#\ 5d՛ tAD 3G ;c>"cx;}x׷MPz_n{M v7C'Dr#ߩu1|rQ*B2m?śkML^(+c;sxjt%qV@1LaLpK(!Q%w""`gT(*8[ NKL'9tR8D[YHl@GH|8iDUjڃ] !ܬ<,,a ,(-PCj[M^ &7Bl yvg]MQt#,tzS}E+%3;_`xkޓ]N3,.mo>GKӌqbe :d4ZtiW§Q܀xӫN1Z%Q$NqCx_>OaI<eޣ~IݿRcP?sXx1p;uBЌק!6/tdQm S0 !nb5ۡV+{m _=^D '?2>TVo'ynWiO.w߃? @;/9tn=Fhd 2" 7ߺTuLwi:P%/GyCŦӪg.^t֤l^:cım+pރDFP\Ia6^FQȄ{U=H{4ɹ(NOn-F;~TMÖ̀ `%I@0h6b$'lHѨd!P<,,yXp{3D;t0KMNJ`⪬je^Z{.@PJ4g(RIHx];˳?=% ?UU"]e3¡5A-ﺟQ~hC/zFieV"z1ȉ[5q׿{Fsqǂkͦ[>ZEyEﰞ ޱعE1[܆F}$ p|#KL5n끼‘Cll7IlcAAQ@ zcTΠ^oh (mj PqҿE|y=e"XL>o.wM^j8w]eYsjn$,yis9ʦtkw)J_ aKcEe4 UzƲK9eR!% !i>FYdy%@ tM[$<|YɃAD |( ZvU^-4<< BAd)3PA zb2" W`o5a1ICpZ(hFf%pR`(Ay.UY/_9%0^R2kT(3Z 0y”U!"BHlfY@DFNrTT NJ"$u,& [Z<3B8Ȳ,$]c.b  B@MN-D-rQYOG(-"V!! P%jCAk'Q9@*rP6 <9T&rq,IQB3PxF4cOʲ Dn^iM/~ߋ^>Z,7[8w%(y͚8iw5DE80؇?ҥ~g9~8x<^ą-_ 5qvsmN^Q컋'ʻ~;9p1I~nF!3Hupa3W:m(Fir5?p䰭":!p@50^YlG%,yP4BF*m58b ܍# !Ҍ4Map9, eaZU߁2:cJa;HY#$b/fs5[JMp? v'~%+I5(wM0&{DFsKDQU>  P k8Tدw4PPqX*NjF\(7šG;,>2qҡfN󝈅֖t Eno_LB9dJc)Ǐj?q0R'Ƙ?WhB:쮯mq{7P`Lpjiz} $BR1՛Qi0adEP)p5@1LG ~[h(j-f}@hVTÈ%b2搰VpJT &D2acIñ :s6++ 12$+ 67d1IˊkG;t*L@D`XSf$|-3vF)k@vFp*ED&Zs1e"[҃@Dp0570MPc`=!Jdi$Ig':lZuƁn0Q˲b牅V 8(0Waa^U Z1S"x5ر+ow2M6aTөc'>}of7ʁJA>Y\p.dlOwh HI.NNϯH+q%PABXW%X9(A2&޼2G4„81}\ORK-,83\Nshq-YXo9HWEH5yԓVy^2-6ĵ&!_yS5);xjg_]c]TKta?^'g$*7BCYmm"&cA(g\~uQ&ݬDŽF6#JP%%EIʠjpiK(gQj8XTAh5䅅SL DY + fmXW7BHE Fz=0܌U(H0;L & P!0E TPAҤ /R@.jvrUYa 硷٤fuӧ bx!kLYQ͕j@P;w;=cin(./Xg&O.iW|9dIJCK ј^ BD1Lӡ;O&a_?e[:pt1ƨ"OCpuD'cFʌ{ p:N4ރK&b<Qu*(Ev^/vM722a>'o}9\6Dmn?y|Cvh('s`o7D pa}GS_'3tkřr ["$0,85_G06@'FҭQӁ [F='&I̲\Dfv(DBU aa>BX0.2H^Y!5- cد@FP@$ZV(/`c’ <]~SCUWI@T D'sQ!$ȇd -k a<-y1AY*0+HrH"SsLַk`G: tX^U⎆*jH0\UreiaxUK`* 7P P ٌBlµV'O/󅧮#Uu< 34L0ݕBy `M9;},CgG*oRJ@/:r]{ҫ|ǻӿ>DB#/r˘L 6PTLYra+ڞ'F[ whR,%]os^|N8y,\Q4+19J>Bv|8JS9=iWPc~׬Z =ޝ?!jdsozn 'j>+WDuھ{o R=`-&йĉV8č$N?J-n;w?o$Jo1Up(`>._qjz} J5˫[4)%9W=͍Wa&"hsA)G4J`0vHB -Tc<ك SBj9rV55a=DDuz/>bg#l 0)71wxqTg=7FN:D݀0b,tbHaxhc<3eeIDAT(iw?EYDEj٘QL^% ">rUi{Hkup!M䶄R ͭvRayyedv{EQB 4\k hC,{KP  `4~3?s\'MdrSɳg/& K],_wnv-ġ:e:O !GU9l^A.X3l8' ȒdR%[~ r-7CPDPr0S8%-]CO>uQjHJSUuo6._۾9H/_S,v/`zEQ=oWW7hm=W; *@b^;B$TUtVM5}ľoyϬXӺL7E>_|,:װA4.W f|JYc>~:d߾E|zp!iբ*\u \gM} &Wx}{}={{"%֒c*qe-Aj /"0i!|tg/g3?YD@ Ԋh;ߦU%(ʺAf[.C n܄psX 4,s ]҂5V߉%ې83x>WH( *Ұ3.\! Yn4X/\xᐹ1/ahժ$b V荺CKE548E1G(BA?N:,A9X&0*IENDB`F}FZq+k+kq;Rf H3~nM8pH.:G9wHM̦1KV֦Z jZk팆"!I) )IYɩx5KK՟^jsGBi9vf@Pm"9ab%JYc'LؖsVwFt]*z~ؖeE).,ϛ 7!*>I,f`ؙأƣw)W0t1~?GmvYElP(Y!U\+ԝHsS+j*,GJh{!]}'yf,E] 31SY ,łbEa4ƛ'h\ǍP]kuxÝy=wj33 a`Ljht;"xNx_k}P s6SR46blg>swqwʿYၬIENDB`1 -L:x 'x' PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9M x EPNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"GxKPNG  IHDRw=bKGD pHYs-ItIME :*AIDATHՕ[lTU9sLLN̴ h ʥ!FM$1h b&5AVI_ hbШB(&}b#m-X40u{x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME *|1IDAT8͒=LSa}_mjlDML\CB ] q`pE:8q89dttC j({/~4aapѳ=uhy|,5a:/"_wa|f3ptëW\vi!ޙ< @*rMs~\c-*†-P`B"Fh,3h(%m!MƘn! ^6)M6Et@ z>Y/OQ<ҋ # [ѶgۿXbMP:0,յmOmⱱ:). {B&Alb xv,_2q28pG>ptE"U;6Zu{0XW48t"(e}}L 8kK7:lƮ+4/P(3J=Έ uA/Jc#Z俈?:p.@IENDB`9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME$4 Y YIDAT8͒KTq?{Ό^gtPR$hcm 60EղjѪZQ !`RHrt|$83wBZp}=mǵc"1@s k*t9"\oaG)rMt#L#6(>BZq5K//ZkIcDdJeÚ:9],FRvyF]H%:8P("Ecu]S T.EY xn:Mcl" X2ROd|U3RU -a=c903}ʍXU, Jm4 s<1;oqx. .IX.M>W(듩+NL8Z 15I 0  eDn`]Nf6MΏP_[#*+˄Lk1Bv(>mxGPh3\ܱ6ti] `jYj(B\m4mIEoBS9/<2,૬F\:@L|}oZ~䖤p_䦟ԯx, ;U7%fs7m` KBh@V>;#7Q"MI`t8za<EӂzEƲ5xU$8rەj**y?D%( U ܖ-w2ѹy뗷 >Ud ˜5<+jB*skJdDx/,Ǧs-08.pt r " $@D!M\U_-Bc S+6d "$(ITl^LgϮH\ -H)I~D6-%UѩݽݸvK"IgVe\ BEjj47NiP>oCCcQJ #SQ"{0MN(q(Xɪ7M,Ӊ׾IENDB`? T,AxAPNG  IHDRw=IDATHoUsϹm] L$`RRi!PE4j>D-E6@ є6*CEԀPخOpνg}pdK[ei[YL0o`9 s|%;/q!@ be-b .I:˵䖳"Xlɲ3l݇qp\`.%p,8LnbU_ZtPgiD2ʢwͪUU5ۃc`k{;^>\D+>fSr/1p,x5{nC0]X+cc Qm ym}Սc$.x챉p)qp]UpjtN,ɢ_7#Pi{q$CA,*E4KHbWåݝ#C_42C {^?q96DªbBsS>3 Lo뀮{\0Oϙك'N()UΤ4gtx= }SL2mCP2 X^u lZ4n:F|cm.Oƾ=/vg3j޹=ؗЕїO߻p0@DLDg<+Rk6 Ʀ4ݍ=)P[&@NҲ'[2/plˏbPQB[si vكQ$:r>^bb6%S}˂S[[g/x[qekf&"7λdED)~uz)j|E):9U"!yB P%zty9hE >\cmlB"c׎N- |sZg&b( -So3<"K==ݳBUHb}0ZYu3RY4nHrBXC?@$N9(G 88Or%! mXMLwQ,yXYvѱI`+c P Vy_iXʅxIL]yXj0=t^ y} Ndokp{JDa>~@Yq\VT2},_9vВaҤtäΛ43}=1'Gzh0en#I39!FĀ1ch%\1M -ѧ_=!Kg):vOzpv`i9gϲ`y> %7o`|n ᅫPHblK&} _>E>v^6Ȋ.P0{/ ,"U`Yff2L +"P#@g<2jB2 S π IENDB`?$ ]]2x{PNG  IHDRw=bKGD pHYs  tIME%IDATH[l\gwn{cױdז@CRu4T*HUp RR" U. "'NI1bx޳{~HHHh4H3S'QWP`d@SV“{#ڵѱԧƗ9 l~޺ EOǻ|罨##O|IQWLyuR>o03kͿo/p]D>t3ނ|Ngvf )5,Z)ݲ%;DYRӸ Uɳ$-*Jd| 9 {{P]U55u}2̥DMAtթ燇 uRׇd7gl+:7Q</7oO7 ,!.Zq5֒_9y2elprDB;x}A&1=*X92 @y:ě"xSzq}Jli[KVb-Xʤ*[|ʽOn ~?:eyc*y}?{-0> l#h4wWx<;||YՕOoE=B-J.ƍ_C%uw| ,˦P(23=eY,^B[,OQU?Kޅt]kضMsEQq\!=>NVC4FLNN4Hufgg Jh Yò,~?_CQff(IP  :.ab$d ¼$IhZ-@UUUEE24ȲeY%&2L H`& !`|>ACGGz(CV$I=`tb EU-rHZs47Q:LE4D{&.U*t*( N֮[:iDxaFUdEaUP*||ڕOMɓoܾ?y9 J^ALf&zjuDQ`ǎﰴӧOضm={r<|s|q .H4Bz]*"/D|,P(̜;w~s#(2~7(jmۘiYXIHYf5mǎ{9˽JvrWF~z,)QVm>%iB!x^ ԩSG++WLoٲ|,ANʲ͛77L6?:s˲χ(..tʶT˭cR$ 5e2%RiK,ڲeD`SSq2SSS7?D"qǝ'0 !|><==xvvv8i$zRdEQ ?D"#D"Q2|_,}sssj\i* I(Jj6i  9pIENDB`.0 zzzxgxgPNG  IHDRw=.IDATHoS?>'>Nl'FnTi/ƴ &mڥ۴M(-P`@D[krȊP dI_`Dp]gi떭Ç|+P,]K/m]-}}u]V?񐮟سgϦXp(46.:  x l޺Vǹu:X>")x,|G<'O`llEQ45m: .2y b=,5GcK_+ϑCNN܌u]ڢQ:SIC:=Fnj q0 b@Oo/ [:HxHPNG  IHDRw=IDATHk$U?f̤g4$t@I Qi .tsXu'=+d^earr:IF4v ɌF҉vd }[ZT~&"_wG5۪[_@uddZtqqQ/aU7xcnn\(0 '_b?p_>33CZ- u]<xcccFGGZFѠn3;; pI,LOO8&"X[[cww(EdƘ&&&Rٹ "DIx\"2SV_XkY__wXk<ɝGyAz?u K+g"18-Z70dooJbϪDQD@UCkfH1檈BZ0$߁flvt: ³=FCQD]a-J |9#\rrYuApYD.I:^ޗ!Cee_鱫"2o" /@izUDYdzD`$u/,Ick\?έ#y-iTuX9 z{?em0c"P!0E֏@(]@;٫JLEXD=( NVd]oׁFSU΄=WC<UL#ތ^IENDB`9( WW%NxmPNG  IHDRw=bKGD pHYs  tIME% 9IDATHǥnD:1iz=FP5gT H*4M8jv<.Yд2H{;7> l ײp0~>tcz_jpR W|*aH*"Ym|]BP-Jh4V`0R~y*qwvv,V#NOOǬcS`/2nyѐRJ X, J>90j\\\4ft:%ɬOonnަQ@۫+|0mw=Eqfv<Nsn(H$-e8/l61H)O>7^ahQJi-LRdd2fs {޷A @a ! ZXB/Rp8}<=})( 50 Z T|@!0RJ)1'LWot@a"ZD"p~}Qnp8Q?/ !'1ih b΅lRd.\ZEz/@k]Bc:"ZHZ?u`b㡡C=G͊-hV╵kyWq |1 2oWjOt3#| oLBx5B2ioJl^4rS˸>bU~YWs[8 z`- lά4:ߔw ]:HDbtوȒL![ł]:P…LY_oL&ȌK xksv̝ɀ4dǮ;3ybw}OGvd@8\^| ܙ P!ˌM@BѮ}Ka ʋohd0tj E9.K0`Z,ה6ǫ$cַKk#g2uAm+0>,d:5Yɗrg>U8+S֣X=?3NF++v͙s;2i'.<W֮( _bsvٱ/p Ng0Y$0a1z!S &Fdc89-+LZoMdS>uQR+nrU<"Bt$1۬$GPӗ-~w;%L6kv;ʉIENDB`8: qfx!PNG  IHDR& ~d bKGD pHYsodtIME t45kIDATXõX]l[g~ǩ&iuqUqM?C0UBӰMCii7H;Ґ`$v:6 R.FK`Ij$M8c;^.xbu{gsޟy2 D^T/-JD4Myrh8 94 1iV)ăZv #nBUջBBwV"&2 5B&0+еSw̷d"F,mb ev!]{^^D 2iςuCmۮ 2ˁmLY}VTluWۣr l۞aRn_Gf$LPJ/Cv~f| M ?>('"n*@!S~#0B0p;u>MY/;`-ھ{G?9P5p@KO;*˥CF0PH/ñF."Z G Vbd,@-P(7j6S$=@/63݈ 8(4T0 enepWoŠ{̦3Vz6 wJ\_ɥ|q2:T]yo NrZt- 7J]!W 95==Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME .4g-IDAT8˕]LU[ZM?llj@t#0YnpƘfwr fi8e&Ʃ|l -+m߾^ 3sr_y#(³fPܹ#>(Ãq49s`0l7k A+кYO@\E:fM>Iӝb|Av.-/<ۂnP(vKKH""MM8rxfs=8t]'Or%vԲ:wv<8{=jZUUUEgg'}}}RWWNE)wttv>R&B,*׮]C5ju>h2W&ar P]UM:&H$X,JlZEhhs㣟R˃ZVVVjx}>@!:%JQz3t wwuuڍfgy9 ? E0]nss?333 EQ٬ zT"`P~l7L& $e2jjjK2. ͆$X^^&!'IȲJ"ɠѨo9+FG&3\SN:jR]]MP$L JERdñ,;C>?NͅKxQTa0$ KEŢLfupH$Yueۮ߇ߦgf奥e(EՂ&%4;`~q|4M(淃Oݻ{[ʭ݌'bH*#( fBd3Y1&Y?pw^Pek x<67lӹdYϝ;T9 IENDB` ^^ {x{PNG  IHDRĴl; OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATx4KLufv,tPC( !шiIMIfZ/=4ML؋MxhZ< .,2=uwaewI|)G[6BR(U=QdV[o>5*+RG/t=LߟqyL.N_*d9?|ԧJ: ,e3aYΞ:k`{+OI%MN>yHдjBhZ"ǢSd׷m Non*nX&cb] GF?t}n(躀BPXf *]F#9X W끽nI ߼/klN$wP\:qwv(+Ky.?Wp VDE(QkΞ_G69j7V)9._ 2l0_ĚPu?EkUIENDB`"D kknxnPNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zϯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxD[h[u.'Iڤ7zYڹծvkcÂd->'烾0|Qal+Zu)mmKdINN/xoP*h5 nmP06m'DKZBҳF1- Eq_ߑSP>'f:- k;G\#k1|Gl(:ַhfN⛟fH&Mj$v}4 "Zsު__ɎcV!/vX(8-+8BZ8H:+_̂K7Huwvf5~?Y],Z\ dۢ}{hjh"X\*m&ݙ*7+MAvFp? Ձ{:=Z7ZE9*|3S4o$$ H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%[}׾6guܩ,i(Op'ol:ۢ< ?`Hm,26;Eunbw...x.i B (M [xCjlT,17EZX{#OXq`ok #@UD5њ\.]ەJlvi~` DnJCH21d/dXiI2^e њB@ ]W)|DkP-BA"k7[vkVR~e1M4C|`VP_7Aã^B0x~Kٖ9Zc(DSZ #Q ^&-T$uĶ MPAJ  F{$hfN#&\uiS(APFtϡE>6<$vZͷ P[IU ѺhzFzҨd gچ# VběYc`/" {e}9oFiP:xȞ{svz F8bmcfn%Ţ1 F N;`ƚFk6lm_صm7p=☎PCe+"hz >4*ĻzL{lx@߮oko`a!B*&N0 XZZ"SVADg?Cog>>+<8;GscŠK,74Lj"\|Dr`[/]LNC#;_H؝iVڒ.E*RBݧ`,zZ^e]пGюׇnOI)L%䋌OegΝyy~ryW_ז=!uzPj3A|F\o/шIENDB`.~ zz_!Bx3PNG  IHDRabKGD pHYs  tIME ӌ xPNG  IHDRw=IDATHm\Uޙ3;]tnE[$m6~@bHP 4ИR V]P?ňC 4 6FbhL0!&Fj-v̝̾{y0ۭmIν99y<(zM]7nz0ᕫِ{%=T-_ھg玍kH(b,>66sR̍DsWqyˣo0&2^TD&"g>YLD^?)ډ5pS/=_ܖFjPJŕjN -EOfMuԡ~~rD0`%MZu%A.Mi}kBOٸ.E5\4pHu|zeeشs].|xo~RzY V_|/uu(XRWfH%\^dHéEFA+o@$[HYIDAT8mML[u^飅BR>€i]â&x͖mO^\"yǖR`J{}{'G4/GCNyD"RnnX㿞^ziCo__YV6,2+%e>5T=l&G>9wi7VIW%y(*+ǺC>8Ue>⟎oパ-0;T@![$VG{.osvl)=bKeNr3!*=\#ֹ6'Ighj 6:3qN<~1C_ KZЉ0FRP Yc{%[/<Úp{cK;[ѨQېR)JE);6ww)%m{j:{;{ToNpd *W@Hɐ+H(hʠv1A)}YڦbN [XM~&e#vW[.^k[PwUs* Bk@Ѽ(BVPi<[Kp8r^jd:9FrmE}'ߟJtǿZQ5En<:eǃLXdרr)"~Q]WG\`(CWG_:U-J9+J_A{@k 3DFGԧӭG>NF>8s;.wO[+JgY*[Ny'zoճ3SіV*Bv3go0.7uIENDB`mUudRhl{͋粸vMH)i6l% 9_2$5f} $K^ȢeOt}05&4 )$B " B j S%zt+9{$kVov \0>&b8s9}EŪ~z}<}UC іʭ+@Oͯ+EMh[,ifJ9,e{Xj> RD,}WXXKx>z$ܥ CW5Jc E:1FjuAYB0MX³Kx^%K,n 󼫺@3%kx2eĨB"wOd\^6/+uY:f7` tTX)k={xdR)V@@E K %qYYξ5`@@z PŠVزc?ϼ\#zs~(h!:QsVdGG^i_Ѹ ] P il8бI-2 Zd f3-"ӓWH\:Wa: I@W| kus)4 t 0haL&M *N=?W~1|8/#`:9=ZA !^8_/ nH"~ď_@C{zV=8Nq Dd2I8FJ8LOO*PXkzM[fN_ 3ဠ԰,\nd\Hz\xWGy }^?f&VM TK*y`Yܙ?'Yn"ҳO}{I_W"AGB NC*W`l"u)uq l>ЭǢفµW*ۭlIENDB`0 g#Rx+PNG  IHDRabKGD pHYs  tIME֋y"vxPNG  IHDRw=IDATHmTW{g̾uw]`JX(nijlbmR$EAԥ&~1XRI&HӴI,!Y2 };a.'y={3!6.׈~& w tJl+5|ko% Du_ؼH$cB,'dN{OɱAJynO<쿌(5VV*UVj(+uѳJm|o\5/;|;~5&Q6@)`A ̯ce|?~WT@:X:T̥CAD02݇~t@4m/??bibgWH&P|NBq$ g>(r_0ĆкBƻ$3;=\ʔ:C#|EQr9anaIDAT8mMhu33nv5ƶD#֏jkKcEՂ"B&HKTAAKKZ0zPZ/JSM&i4dggwv!m^x{%Ibی>>%ʷkf^7]:葞w%.Od+7e1b:-D|,:,D>P G8 Z;?~ -])3XRP]o}FHw70莶JNj E=7!UN~&@䏫l^PXeH,LAd5RPPBcOI{=ٳwo\IiA'vQ2kϿRsdN^#iFfAudY#XF{(.mnЗ7[8(u>ZɖNMHgdѼVu dR,Z*OZ 0*R/B@z$I"/\^ \ZLh-NsX+k*b]$Ii^3,YׄJ5܁ަxK2j!CjB]`9 x @s52*_|}1ny$<~4Ï  oj VByšogƇVlF`ū*- d#2*WwOt.x6']ځ6 FŶA}}=v-kwFw~jGwcuxTz[>|z?c'&|$RHgsSSGl%Ir51'\g]?Zvs)UIENDB`5nؠ%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]z٨ۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxDMlSZ붾uC l- fW?A!zbO4LԃCֹ :v[__ھE;Ul%Rj9{k(S0 m}o}5BPA@j9ʡ^ٹ[Z@@JewO"1Ʒ]vƮտx$aUGNǯ]oS1+ - r[3PY.^% IGA[Q><@b7"%Dh'd~9c˅qF$J'|Iû X979|f)b: "cc [PMRCފeKm;^LQ.2f7Q0JUGXWhtJt+WQSh߮'d9$I.zۈWq;w 5+^0~'2(Zaю>o{Q0ս^.NSnUDEQbb~0{??{%" jՙbԭ_UٟWdƿNIENDB` _<%|x sb``p  $?ORAN ɼrؒ]";,,f`ŒxK<}]oq2 Jq Yx8XNN8С_v׿.ztMYx>7^ ӆF `mxlEN}'`tsY{66 $zxzPNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G s sI(@x sb``p  $RlI. Ap品" 0kH{+m6fv>E_B%%y% E%) % |@E+<]C;O55 ߸ֳ <%CCݱG66s?\bg5?`[0܀%8Y8 Ey8XNNX `;r~[kJ( ky~\9_ %OC:.GT'^i89SMOAKRfsD j eSBB.H N+ x sb``p  $?ORAN ɼrؒ]'E8 <">0܀%8YT8fitq 8@ IJQ_mٿLZ 'p[n I>gIkӽBꙖel;w [+k<]\9%4`b)@x sb``p  $RlI. Ap品" 0kH{+m6fv!9[$K\#JssSJRKRS3K2=}ā<]C5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kߗXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F*IDATxڬn0V6@8OPV!ud )s.(Zt4"{I@(p$iz;\sHߗ{<Yw~ \9{]Lᜣ( xJ Qa:o%X 5I;lá2~! U% 91#$IoմgAÚF#elwKE^ͽ$e+UB@$h=@5Ћ-1:|8?n4h [[}JXCъOӣohucu2`M~ $D}AA96LSDq&ϿR]#6"̢`79H"rhGt>\|]0cPNSUk-y˭'/h6C'|css}-0Q𥓽Q56,=r [ \_]-% 6NA jes75KhIENDB`6 j-Xx(PNG  IHDRw= pHYs  tIME (/D MtEXtCommentCreated with GIMPWQIDATHՖ@kH.%-|()V),R"-6Y7?=p | ̹3Lo"H""[DT YxtހEOqQiZuu]kYFQ c2h+@0Ԣ(QEa:Ȫ́yo܀y` h8ve`heO,s} vfwZg+n ]W< #PU>it/To^#p5Sk[kv㸓`$dd=hA| @\^CƲ:CIENDB`0",H x PNG  IHDRw= pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`lJ)0'[Rvo̳z#FA[L}M5J]$hF"mhדCD\5:|tgJK=1.uxMvg}&Y|*12a ]0 +*@#yEҥ̾~uF+Whx3RU(IIi]9^+cif޺šx(lHBDǀ$TvĠOP,/rSBEHl0IQ;;T^Td(gs%Nw[Yg'?!4LH&IVڥ@lg/^w~vba&թ0ha@\e$GK7_4^g1zv J#$ Bpѧi pk<'ܢ_LIB.2yHAǡKa>Ͳ y4̽Dmńto1^ψmv0)(-UpVêe/ᎎ_dN*PV%/ǀdINYq-3Av L  j1_DϜvxr'94R4^0(RM k]˒yΩ>^8;;˩v tV,<\K~M&=bPStyHS.Ps |07GPt9Fhnߣhd:Iڍ,ݦaA1Ӹz:Dǭ>AXDCt RB 3 E[$Kh@ji1uo^·FI^@KÏ~FH/Y9KւEt"(=T:2Gh8vkqE??4ap>ݵbAgސ95a"Jg HHQdc|99WB7nPQőf(2Ylvo9:)Eq/_&oDWB+P =dgS:wRQ+T"qݯε;WiCO3tpTy4tLĬUA.O<xaID!6LҹW7 4c=*K)#J[i) / NppCJ;$) @ hCB1]|ýL)O@';H1 h߄Ife"WrtxB @90y *f _]x ?'uJ> Iζ4.Ko_!ƈ$B~f3YNvkAɨ(FO tknh- QzaS~LBIL悐FqO~Sy}TAyJ D4x hBPI{E^W0k D!T`B}n6 @#7 v&xRl) V> r~pD yf =q|'<~u@Q#b{dz8Ezc:w)HXA- w3 >k"^/,"qE @*A[x?b>`=-ēj)a9:qG|XX1!Aa (Q_.$ PJh;ps _9>չ?$Z0 2o'虳Ơ$G\L/XBΥD ĈDM$8=:z.-Y_\b=\z+ 3:j D눩ƫH~WtIENDB`3 ##W/2x sb``p  $RlI. Ap品" 0kH{+m.n~c*q@!׈ԼĒ̒ wO߀F>qF}Oo5;W0w<0B%cgy?1{M"Ϣ)vơI6(^%z clq?Y2^O\j4]cgK3izüeKcܙس&'0-wpKPbO]v?+YYy 9i}~ceۼ(ojecͰx䇌 ׷ζfxҐo .ڲ1xp]wwSY[1dO_gpu Ykw; ɯ) ;r.h x PNG  IHDR szzsRGBbKGD pHYs  tIME16)tEXtCommentCreated with GIMPW :IDATXŗKuTIݒmg`(vC1xc2C!}6I.0lsH gA-%C~WwuwW}eQhF.\>>8?{_21FŐ)BЖ$jdDA eXI}$h=#CD1N9Oqh "e0i>'%Yxݻ8bdZ$B*͉a (Q 5=!CPq]s;l[LŏkI]J C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIMEFiIDAT8˵OlEƿy3:vݤud$—[H4BK UHE*rR N#D O zM"8Q,T*mi+GwkwC(ny};Oy)pA886؟wrFq(iځuuY:^w]w @0 |+fff lKid#@ŋʶ8i"u)JX5MJr'n_z٫R7ϣ9:jj"*q6+J޿˂ X pҲ׻ϿFR|1V-wMA?uS"*&l{} @'677ϵ'8% AZ8vX&{8[_RʕE066X, J/_ТRPlhZ0 ? Ji)nApzoG"0,"%R&Yw?rxڶa) cv(@Dj\$Np1&+NaznBjjU 4ͬD49qe:y8Nsޭxgggih $> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)Zk+?>󪪪*UT-˂h 4-] %0o\ܾ}>_.R̙(//0UfX]_^Q+++X4( 2t:- )%8 JHMx<Yie˖Öeykma5igp8<v|%0`>킔h>z_i~?^/~ 56~P"gr!{cJW<G08@ oBX!''uk?D"h, ۶A0pa`hh#rRܮX,aR[PJ&p8R$R2 ּr((|hҲx,(/Y:A\.F"nxllcР*(%S _P" #^(?xs~5<^U%% , c!cGOrO`ddh8l9*3DmCuTm#L |F)FGGi:ȴ3gφ^RL[G2}}!%/S)%4MGW?dBJ n1ŕz,YR%`AUU %ΜN<BȂ͛7w۷%DΟ6Mؓ6k\xa(//{g|[Z!kZkR\ @cSSӕ+WğҥM.xvo=qXft:.\dCaȳgJB qM댮0cGA2f_7 LR{/ X^rIENDB` 1(xPNG  IHDRw=IDATHU[lTU]1w*,4~DjPGALy}@`h)3 twLy;9c}>{Cx^44487l@>WZU\ H){Q큃X4&ɔf~ v9`ss;w~ XԺsE!BH~ys^Dze­K;::2HvBokx( ϟ?*.~՚N`p8x'D+LBB`&$;`a, a4MH ؖ 4]TU]iB`}R( (`r[ &2PxPNG  IHDRo pHYsodtIME  pIDAT8;KAlkV MD%rE"Ei.Z"*6 .0эs#&n 9͙s94M)% 7z]R !A\k|WwNPЀA vۈ% 榨VSS2qq|312ϫ9i*Dl;El&o4{eyϙ ؘ6I$ait4.AeZ^~:8gg}RJJgggĶEBA tGdxloc46t$"e=׃h,u ygkKY<` SZx^'f"])赇ѵ>?HUX3 aA 鵧>L$tzȀJ K٤%"IENDB`6R q3f^x^PNG  IHDRw=bKGD pHYsodtIME IxtIDATHǵAKQ49 *P,l< `7?A"A=yDsm=='- ^K٘{=4̛R)yjy#J%,Fl6u  Odo7G>:B*pHONЙ bLw}F&ރ)jp]osx__m 9&[߮WYhC.;E.;5ѧI>OBm)=tEiZZºheD޿˖f]]/\@?{FivϿ,@t3#G)^XTx{z hy*wP@8U0ZR|BͶf6h9?OeV7_q}Q`YKKH<[g@,@Ldry,za᫘* D%B~Max^-Xz1JxQ`WLץK 0"Bگ5q+5>8 n"GXWqZ%\\?c!Zz^0y Wٲx[|߳SUA{ձ1ܻw m`PJ;KdmP[پ}Q28ղ8'O޾hFg4B/FÀjSwFבW"zf1Y1\K{7@Od|}źgYYALμI8Z3JA9^O%p]|ۦdۈRUp Q:56\.'S)y'IENDB`c` m5^ZxZPNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<IDAT8˵NZQy8DF NJ5XBр/DiEmAD0@Դ8Ҵ% Y@41_go,9'(ٹ-;5Cc-^؊֐X >څտN~1ՅW v\N)i7mp- $t+@UVlf0˼߂|@%#ZDD>U㮤##Lz(27ύ > YAW _yydzr7<B8WEeSO`J\''A9-K0BFg}5Հ# w !zBq7˅+đ6s۔CeTH`9ܷyhvע)DH&TiHH9KI$ mֵL\i9IENDB`F s6j`x`PNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<IDAT8˵ORq;Es~Vh7D i)%FW;y ֋lENɜ&UgWZAd:{>sΑd`˚囒}06HWz*``ܶ+z>"Y HE# ]|zE^`%bŢvq<ߎ!l;;qOud_W!D0_"-IJx - tn$%!?[ؕҲגm8UޜBHÝu{N*Aƍck쿞&rPPz>2I)3A.uFk4KܖA.qsjw߈`LwЃK$H wh5G0zg'hcA` 1?1mR"@Qɩ`h70ɒpGZupvUO$M c'qCGH L+@Tk?FEkҼ갺|IENDB`=3Ԩ@{ L+Np{^pGHgEF&NːPc[jv}^P6_x7>?~䶮-~FP qqPlFLIoD{3A}ö2FudaiBvt6U0Ǐa\ M`֧J$4bP$ J {3~-)qz^>;2EJ\돌y-qhX0mCyR TPGU[W"?ϔ~'hzOZmO-].X~,2K T`#,[aŇϧ) |'ӽzoZN-Cd, BTYRF ۏNLgzErpZU]U>f㐑a 4dE((pab*MjU/Nkqe_Wx: *I_! t64j#j 3Y\gdNW¾NU_`"s 7ZP@քU;P^ i"QLΔIw/$s.-Sv]Nm6r"LD׵Jy69T:I"\fNF!; h YQ(ʸ8[|$o,tngRQ87G  YMoabNoXzFI$e 4 /ka鿒"N#IfKʹhDn}Jvat&#V<ΦseU'!R,F,Tx$!:8"92q.Pؾ1`xQVnIGiN{u*ʚ54(}Pgik{_FG/}vyArnl\Dga|ޫ]Y[-.;L7LDoMZWuZz oxUlb1IENDB` Q7&>x>PNG  IHDRw=bKGD pHYsgRtIME&IDATHǭkl[9>$؎رQδi!)Ф^DĆ&ƇNhb`E"- DYHRh!ВigvnN|)QҫGzO+ön65W]g -޿g⍧Rg 'c0B3vNNˋgz`:ݶ}ݞ<ϧqC_6ƒgf)Zۺ܄%X`Nr&tAQ,K 6EfUiU-mI7O\\gEUoBQ'?ȧkCAJ)u4LJ{S]dzr魜$^mr3XaC So*Wyle)skWpm99^f4(OAkUԡ|֖rvj"%Znٶȱhk]T\ p )U pd Ρ2ϠVvьyn1!&b⣇KrJ5݉nzy1wkO&8]N7)vNKBu!$ ɤjJe͹SIv]CYe)I`2'/aLF$ᬤmil{У"ozN$#4"ĞG{eh9Ea^OЉkGC\1{`^_[˫x$lnTȬb;H'MR5N^_C8)qf?xӷWڞ3=<u)LJ%z.xnxigrEۗ>*vTjRpDDGWTBQqY6t2:@܄Tbm08yLZ9Wٳ& @nJT,3kP+)hO@EEr}g@& _B{: ՑM:55:1+dL5rĠV7w\ :Zov 2؋vxn xH @G,07nYjN7nw&ח:r_T8F]2*i-ojγ4ifV7 IENDB`Z )9VxPNG  IHDRw=bKGDC pHYs  tIME4 4TwIDATHǝoUU{rE"%6"bK}%jtk`2фCcX` TZnIBK_MsspnBd׷[Q֧ٓK׮yjݵ+A* ӷnhnn)8WWo] ڲ5,IͿHiæ- .@38j x PNG  IHDRw=bKGD pHYsgRtIME $6IDATHǭU{lSe}ݽ}l=`ma 8t Ȁ OAB&F@ Q'1F yE@A2k7h7mCQ`@wƏcB(+,S' _߶띕rEY`"THٰzy3 u.A.r@gj9%^_z@OWsr+Kf|pXa D^EX 3kw ) 玵g3h8h4$KCr674{2{o@Z=cHE3ۮ )jH" aԎs &A #,Id9O`<*;mF^.wV 'h60<’61bT5J7@ԄrGf.0TSGTHyL L B ("X@x/@!!bG5e@=o"y8( HC] n\r"ťl؁j s$Zcff'Osf=}û Z% b=sQڸ48=6>[G9@BADpBl!ZnO$*y퍷%V&ҹE-ADj2l:2({{|$ӷ}UK^9Ԓ\_R֬]:=9Bssj~ZA&nFߠq2$޹sRӓә.JZjzJdZ} Ѿ9;wpmd2>qTH$Ɏ)c!PjA).69D>tvlkg###8~d0 |Tq804Ej4o|O/w.{am8FΜ9×_͹9"لA.ek&vH|CGڵQ^yE*֚Uz)6IЬ[@lyw0OM,!xRlg-ZƤ`)_?QJZK[jc8IsZB  f߾= ^ȑ>x ZD8Tfzx }}ZV<uCB HyGEDQ\c0pҭ{ 2`hp%uK ק7nؠv Tt:U[|^Gڲi換K[6cMkBp}6JkTb%W?ũSH N!AC;5=]C쩨9Gc?_EH3) Ҍ7|8IԦ.[̜t_N| MÔs1y g^̌~sNDWAׄצ@ӧur2yp)c5jYw~WwXUf̲% ?Q1M ~.Ul6cpCBGT$A$Ȳ 0pر/|߿w^I就EA$A$4 d2ܼy1pAA^ǹs~WF#)@,{,Ba L&@)8jBZ Bp8u[`Y7*f`-x,+ ~:9GWW666`۶[]oooG @*J@^FTU}?a681H&( ζ뭳&!3UUeY~{{{`/k4xJ2SJBH(|F?4Ϳ溮ZVZ__뗅ƮI^?xosj5W(~+?2BJOi#heyB[,kݲ.y70IENDB`z! `=,x sb``p < $Jc) w'ud^9lI. Ap品" 0kPו2;B%%y% E%) % |@E=]C4Oh rֺiOYN>užvU bK Gt m|f Ηܡ.:{g[\ݦd{ޓf}vƦvWg)2qsӥ^ gt|W9aNxmZYr&źPg kOs[ W>?x sb``p < $Jc) w'ud^9lI. Ap品" 0kPוWdkDs~nnj^ sQjbIjByfIo@x#8*nOS'n: ҺrK%"1OL]u,Ly|QIпLr-5QZKȅ &ȴ.mMeVsO.?u)uOި}㰿me W*tY_:q9TbU;^)ԞZ>j;)~=̠s=U$Y8oSvpmޥp/\ްjShڀ>_)%3(tۼ6S|?[dSkONx sb``p < $Jc) w'ud^9lI. Ap品" 0kPוH'[PH59?775(5$5E<$C7 O苧c \ﯙ3KClA&qwnvܜjҡoȟ%Li^$eEfUgg_Ǘp4fje)5ο7<_y澋ç uBmqfDá_c[-~JO+gj_ۿ+o9Mӈ!Ý-]5.I4ȯjն†/wWm|MϫEZ7>[ݰzOLʬw6<}> ~.|J&|3?kkJ~nݼp ,@1@U1T#M=)+ /^{|ۯ0༣<rΜ>ʨ8O(;fuwرc; ~SO9u4;gytG~:{vb]๣Gٸw߯ivUH{Pk)۔s_a'*-B gWÇD#K. *ʧ!ٳ4\s*n&oRp1siZ~#grRo]ܪ9?شmum; fͬ@cNΜw7nbG@vxy@▵Ćd4Юb h#hTǎS<[q4!D& @:֭L,۸u(~C"d`"~5F Bϖ>r ^4_&O %LP #e t\šH;_cAD Bd GIdVQAلItD舴:N@gwDڙ(rv5>;}^JK'S6%V>h+F^!͖m(RJ8}3@AulfTUL ;"Xy(+/I`uYhTVNK a2SHjͥ_شhg[3M1P^^Ngל>{3O]%͒H/Yjjjjx!0`EkdcKtww~z{p wRYYJ(D|:.f K,8.A@o:.zd Z)Nrh׾Zؼl6Pk wsG<=uMr&N?o-hYfVIENDB` | ]]BBxsPNG  IHDRw=SIDATHݖOTA?1DN$\bbrl#LHJr w;c; Nw<)a >zVn 7#fF* w@$dA50U;1˯n{փf~tLJ29)9Wk4T1*ks}z ?a)u\w|3QByc2|N 9`Gɉ^!Ĩճ2i$TϿ7)KVjPU666qg01( 6l6d~~TH߬sOj%7PUO*\^40FtuwDN^̎"Ȉ(rLp_ ȱ;a"wp#&>:W|HVtXZ#`;t:xJtS'80ǃPd4_twRJA}L&j*rH DU.fխ5 3^eQAE%8E,pL t{&{󇏟IɲCM4M>UsJY).9jV'5mciل`IENDB`l' `CDx2PNG  IHDRw=bKGD pHYs  tIME "##ZIDATH핱kTAwI BiM * )R6EH (B gu6? (5ф"xݱxw]49}7;3_ gqc   4`6lUs˅+wؿq{ē$} 15Xcpr8{\§/ #5Qo$iYixn_l5qb W/aKC:IR։q!"8,\BE]Dlll^ ˱s j5'{1c!X,R*X^^:$SSSO>$֣jBF-5#Ն)T*"w2Ri 7 0(=MOOEz[DC03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATx\S[L=t2jiBNGnme"OHbu>l MOLc$^lDG0a,mƍ"z@;hzcK8'眜pX"V_%I\./MӗZ.r\LJh :HG_ح @ pB"*++˼suWgŖo'[ťy?k_*fX-Xo+9ʫ?>^^_d2 "ւ"pb&p'[\|y6,hp#p-, @zz:ͰΎ~}JGckji/).>>dm?`jj k+!bNwކ*] 򊊊:'8W܋n`>`fCCHJ>/sx84k2nv8ͪ soT»g{=( Ϟaq |aTQVʕ@4!pLNb7Xbx g$ F"#Wڡfi80D"Sc7MQ P)B[=\R\y8D,]yxW{/& H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%4+5 MLv};>:=2?~*q   @^78<\su),_X7`ag_>sGa.)Ywv8eW|:ٻW+O0?}|PaժH*7զ/F2zrK WojBԜw [x==B Ԣ}[4 Kv CE#5'C<ćNQYoCEncB8A :wĂ4 F3"D1Y%J'5dK,">DW"u.-ד$wFz%fS9)^ lMp˜+^`Jn#!`spN;$pϚq_#&&x9FQhqqd0!T ި's*j=n}=zQ~"i``וmֱhmllT"%D&n5=Kh=|{>ߴXّYfwȯ]!oLoZYsir? 쿏;fw"ThȢYf17{>΍.&&_Oy}}ü09 j#O/bdA"rNtź{5aݴ˘{c%\F Fw(y=lܑl%IzCa)g8SjTqur}[-/ȿ,ne!:#z%b<#l-("> Z/a1.($(%z,8qJlNt!f ٰ#xݥYPCT\$\e1#mԚ?Ny`u ~4SdZdΤAw?}z#trmcD+8 _U48LJ9 !qYLH-QN%|E.AE|xG5ڤַE;RomuXwMߏ#TG~4AО%h[==Dd\͍oPRNΒڊ8dEH s}(ŁF\SCWNffb8k#;RrBj1N$`3צƬ܌}FT|YQӽQRBcw T<U"|9#|a- GHw 5l$\9r,"E*)1AVPf}niD05.h1"DXlC_.Dp,$%vGBDNU͜.jĐ($) 1){N<+aȒ$ s)js\\NLyv3U$Akygv %r;ʊ})C)";.ת眂G'&Y G猛t]ؕ恳Z:O+S+g)D~_TFeX#tWhGLDc6إN\fyi/ j=JA!@7ij %4#bꉸVaY:~efvkS%Յ?oUJh#_EY)E C3+@]䂲C kCBu:_Jtμ~}"UR8^O7tI1'_#YGL"V AcS-FK*`luN"vf0,KHA.ؿF*xb{)ょxGKHn}hYѲD9T5d I"ßJ⺺|?ׅ۬`^ ({,?`?eH]#?߇JD8F6aH`F RH/f>>C:̚"NJZ 1qr*J>uonɚ]ןKu͋'"tE{ǁƉ$183e*f$?]ff08xh}C@\?p-7P/qM:ĵ:D_Juu(/:v_֩^ZtV.DA<Ac m:rVb!R2hg:;jshMo[IbH jO&#ûw=\ьz'qG;,+?\HP@3F591V(TK xfiB]j/lpay׸52ͥM$ 4hÖAhgkr OuUceݡWGbGE d0OY5 r{AY [=}FvGj_Ƚ;~[֏Ld ,pK%ZtxHmAR!ᆧƤ-/f MY'I xu?xܙج`{U7ަZZrk(KS>LH'Q[Ҧv eDi@NoA_UͅVK7K_1sivNxOi+' H+Rhv[cˆs%'d>zf2$qc׽Yi[/l4]OAL[AZZO j F9}b0sD{7R#o@O'GꌞE>gijӽn-_3)dx^zt[_S^'KjGabs?{W%J XdLDIh)w*,/5N&҆/WGdsqJYFQ~,! +X  k g(E2{ @*YQ/xO;3B zWkӉ$Ȝ|J^hn{nlEn.&'f'6sOX Yk-H0~ۿO]+{0j1cZǠg Vx4𗷅{=K .SbAc~zrSxZ}2_]">*rbu$\4=(Ѹ 9ڲ7=, \-9ga Þ=_E6^xk9Ї;SEz29b6H [>! QSaEfySqJ$XZAR"Irϥlj@?aӯU环oǼar6cypTbzih$S;: ^['QCӾ[ڃVGܩ5$G~4{ 9~3s#F.2謤m}c&.5 `tqoo;yB]`=ؒޠByT 1WmJTN ֙yμz9 Z: ;$m"JhdTLK 6t V̗6L\+SSFkr%& zlvw)9ѿ-BVD̯՝Y=[Ԃk.4qx̭ҦfS͞[IG.S.l&hLHEr6F o.Uq@Zw$A>k!st #I7|, H-K~Te701d6Ɂن;]5i7k"y܅!tZ>=AMc63/-6Mψ͟&sIo3>TTF2+h 6(`jM(7{ei":( HMao{>,?RWG( ӷ?+eD]k-?Ք4ע( !859 ~I 74Hj|6r~r7qn>oT%Ž|]J+=e0uӮh r/EbUƸ=c{4 LBAĺن0$ְ>У%iHhuX˄ p1_1*WRT3WlrRAzBEDdm}&ݭ?g W?< 4ُX3zGQ" r<߬pg2,Ƃssklu;,B:F[WA,>{3Q!yj zQ4 :3 j+p։iy~I#lsn ]񠇦Y8}7\Z Se&5 ~/iJ-8SϐW jf=me+z ,]g?z\ZUF nzW (?8M )vꡲ'}1?e+#YӗA=o30ufj5:y3// Of~A<_oq8w@D'Ħ(2ήuUB4nWHG^GCtd l'ZwZ^7ęQX5/eٲ,aϘKi6ؕ`!Ł?4jÍI1:vɋJ)OI5'&9JR^ . Dh Nsc)۪jf+[ѩ0nHb&LW1?,!.K .#+tWJAhS(T8,ɪ$tb˄y""Z/%O ^cbش^^LDB^z(Yx! TjY4f _[t9h\3_ >nD;dTmh[!.=7~E2TY[O='])-X-!ٗ?Kl;~fC\u W۪p'n?YqҪFX2od`[&ę /wR U25j #%EDL*}SvH_D6#6&bX%$h>tj5 zneob?o r;;3[E)Ip*Ȧk1= s.az5\^7u$Qeiy%YNK vg 0 VQPbo^r3|o鶼maN\=.]ŐnL^mx#ŚͣzO2$aWJNGʖ $B" k/ZnjGFb '5ڐ͟7];J:~|JMfrg @& (P!O %sF-P̕f?)a|oD0Gr 濃:|pmeV ;bӶx[ܠ7pjVt6.Wҳ'gN [q;g}NLF[yQ1ù=͘F A !7Zn8rWaVS7$؍یĚYԳA)ғ3N<~9pE peO;$DZ, | WHAhN,m ;RbܲloœB44 | .l\[%P^:@tX=pe+gHËRG46S^Oո- =ʣ=i&o/iنCy$fȏp0s>{¥rP"MU` BHe#YZhabdS͗ ”nЗɻf&|ό7P7iDlNW%YJV7t0Ā+Xٜր,鲕 חXO xߺD3Q\TVw@L*g)VRキU #fce.ef !ij%vD+ˤ=(G'Y)95Agq<7 %b jGg]c7h!ړe$3IXS Bq'p+ˊ]LYE>{i mi*Э#pW~*BQ»,qEW@ +̬"2WObT.$2lVdEΉ C,`KO0 }.PbH$OiPKjb!C--WHQ*n:h򧤦,f |Ո9Wy7Ca+k`{㸍{P睲]hԷuC]t0v÷?4DiB2Xs?563s<>Ks N~ ?NSƸInscd_i!NtUtFk^T6->'ȕ3t/+67D. t{rmHS7mx"+#߈zVzD62>ht`҄ QmY Q_֢-cl-&.ԽK<W Qtd<>jGK{AVBk۳ak}9wk80of73L]]b_<keJ}Ÿv]R-A\܌N}QG"}/Sn͔vqpblm2dsb'g#TP4FO.Z[=4Kq><䏉m b!-)ܢP jM#1 RdElѢWl.S$>Uļå%ICjR$EU2=5'ORƜ@wGRᇹLlxQ-)|z/r/,=t(>F C9 ,k߬؉^AG\B Yrd2R~tOU jкVOs^+ Bկ}b-rLu.Y zY$11޶k 03F {k !k|_{uigžoXxyv&)qٗMÃR1 dO]&r$cZwP-;)BI@;bEr4oro/Ѷ8*]VMĺZTƨ;/| K(/=G]3QqqV:%ƘirE~+_֋!z01AEت[5C(Q1EٷcI>5.?~;=U^Ç]An@M(ՂE$՞dtbn) |>Jݱr\Za8jXE(vZϹ/ӷlU 9:aΊo1Dṛ.Hh|a +Λ@~3n""ӲX<Ɍ# Fd3~.vsuȻӜMP̑ڞdf܄=ߣ!@ i %h:kRqe4M&>!b^.uGiHMF*m z;t^5_kInU=cŸ79wIn vMR,È a +3ى z`-eՒ{8mlIrỸz;c3X&<-sTӕK F8 *[THLoh&C.}vOApKҐjϨkIP7ɨ͊~Xf>/tL8dimK6V R$GUp9ز\[C%ssFڠYC]hu, KK&M~z?kvܐyG_ߞa/UV}Q|Y貚"1[?mNAay:sz~v\;[߃ͼwX Y0B^^D9ڄ]M!41nUm!MKbd 98hzjOAaGߧHlu-(`8Y^N"^ QXU}MM75RӼ)?kQPvqd=!E< )=30CذϹ}\I$ >yB.=jV,f`U>=JqFV?Mvr4;:Z3뇷j8 +\jۿ ԧ ysv7Ox(Ԇm3ju nx8>h?AVIXš9Di L֝dH__L 9qW8_{0\ '(h+ة= 8n`$g+L_ BPQm 3P,J# }$ `yd%+jC.((,C1g'\S1X8L_UkۋnDIlޑ-}:SͤRx069C"ϫ^IW>"nmpC~7|_ӈ-wQ)nZ>Շa#%fjG( t]W<#!pc4"0ۑt6JxWMvE<*i,/Yݟ߳=˫L!PD̸>1̱D,O $6#TH:4yS8 L]")&\ж]|zva*Tm<?Y[`%Lvϓ|z,3/kʞTˆʡ HBI~-5'Pj_.VBvb;1\;IX׷#7ʹ~ayA .4ILX:kܖ2i6!78d I1M|4Yt| f_&;Xv%wG‚~wLGE؝X |NA)B99#ZΕhfT2|B*i n뮑C8w"./veF[&?r߫;ĈK &si('zݛ-Gr\ʟB27pڔ@GѝL7fT ^f؋%h@l7OT/CsD=yC|fbiAWQ9Ȯ )SR+HY" Wә9nmv%axt1_HGh37Ӄ~3]>Q3Nl.ߞÅMr)xG.Wx=ptL:oIG"^ܣ+ߟ( 3oY;9r v\ K(zlh$;;Bӑ5UE~xj; ̳NٝLGNeeJjrUҺxKqL`,LwhFPeE=`]fַVYJ6G')_AwŃܮM4^/Mj3omU%5U[nB;ߥ1S䅄yڳ1O*u00#|D!$P0iqV¢A2Ks9_xšDsF0 Y {s x##}d@?45Ƥ]oJ՚"']j<;*6±{Lwk, Ł6b /\ Zݕp-3wf"Rw ?=ٲ,3\X=63q]Kxd1ݚkufm|رmi˂Te3v̧_Bja̙P)$r:G ނI8+j,8 7a' [h8mSAF[hisZr P}U3DSJtt\{UwreЦ>k&[s!̞ANEwN-J*| PhjEk+G[,QJii"hr4AYh@0o& "kPL,[ZybSy#YU0EEFK5:=%aT0xp!OhНЖ8`p'}+Üj?t:-q8KgBjUu/Hˍ$qhYspA5S8~JfF 9X;N3TҘ36azG@tpr6oHkh Ilq(}3z鏼ނ7HB0'~O}?hy&Joof4W:m/Q !t#MW*~h8/䂕yl[Ǧd ]D# iQ-#!G|0u'!^>୮xV5/JL ̢Zc L`,f/V(YV*ʋ; ;z,K>@q@W+IfFX4VĎK뾕}3AIĄa[ऍMf()Ν1zֈ$k2ֻ$^/-6 R!4,([umO̗=y1aJ0@_שXfj"S+G4o31S.T"mrp:C/ ^SFK,riKAƏykwfG!@޿"m;`ƃۧU~[WwwR&ۻA`ŗXוL2,/ƐPM2-R@ )KqCzbA "tLOijfQ/,M#Y,'璜ymBmn)+6:q`VPq{!VS),iLm!ݝ=fyFss=Vb8IF! E̒[ G fZUC#ƈh[c<.⽊GјkFjPzY?҈*Pڬo51W cI,ĆD:Ml˽=M.!et>$2ETƀvד7@H8ySR7( ׾`4aּǣ{{3 F_wYܛ1?#v|3'ra.ow{ ٤)BHJYYzқ5҆0(3E]Lq:kԭDdO4l@(!i*U PJyC1=f)֑3y4Jtt(0ʳ ô5  F]XV$l(|+NF22[ #CruNKԓ2]PpRQ5uh|E v@ ƌ*x sOJ)|JSUTtØ%c OWvXY_ݟڟ*Yeŕҥ?+ dJ#D[篲u?_r/*׮lȝRkã#g1&4Pc9XI U }sLzlvR0W6>e٪xKMqyyXǜO^(0JT" @h{+ gkzIϊ`]]ˆC/S /ǡfiȒc:#6QxbNMMtiY@F $0TXT64Zc0tlnm*LSmg Qa 7@_'_`N˰+驳> ;JniN/-ɬ$ٓ3c 5qzzFHE E"\3`$]LT2@#v&M2T٩+h 1 _id /ly.WX80{U.i[1}{dEwo{Ow*1m{=gmF9hЙfb>߬K]/Xl$T%) <|X ]θ{Jd.3J;J1 ti|]Wt0KƵ-vy CGv.S΍\>dwˬn@Tit] `Š6¬{0p!>UX P|hz4¬9ṽ].dc\zaxF:yB{R Qb be2z {.U;>wXU4N}8㱄>v#hwE!oC1 pNLwbw0Piz(G'4w,&CM7jkC>ܽs/opٿpʣ txsl27Lv?ŗZy?,Co/lt/}y0/JNϫ)HxK2e36Rk Yo=.YauM0 m1 REr7?ġVTzUrVx@qbRLN*P}-7,+T7F\I*siNku,w&:P0ZE"'pe4FCaTg˞koG?d >d~zŗ>A3/p{o80ΩF5ݸy O#aZUtV{wi?O Z8J-nFogMϞ)_G/:o *=\1rDO RI&qTսrk|,= V'v"tPd6 IAcZj4#99eړ$,i,CZ,A{0@ Z!u=uUSHG5R׆lo  *ABChajfC g:gTfo ]7A>T-A$b)-8-ʠo"a>:ь(4ȣQDΖ䱀)c3rujOfx{') IDAT{ [W{Aу}ۼqhk iOEzn${[_ePbWJN&A{E zS5LJRK#/mRDA*mIlAWfEw9=tju]ldfcCRrjGɨDЏttb\4jn uBZ#p4 gOZNv¸V2pFP0*Q5Aͨaf\9F*55)`}OG=:4zᣢG>,u1z)CRP( 4z'f1|$#em&ykU08:F\"z٦# V>YD.]K@?)ʕdZeWc@""#m6f7ݤ )J3M 1 -,$HAfm FCH dlզ˛Jߵ-}&6@i{|v*m09mޠU Qwbid&j,sK1'p[T3:QJWa(+s n=OZ@Uxy$}NPnfX7c0&|Cdd{:i%S/4#iTN! Jd.Oyw U$#1~w*H2Zd#RAHS1SXdfJq`X?r-h{zdd"9r:RSz뵨.*qbH;T;-ܲWy#8vt(x?dl ) l㬐Ba{$Q?]ז8$s- :³V_Fi?CȖyN:'E j\%@R3*79n9RCzc"1֖37Y^5JUAg U f,E5lrdsdؙ ̴Y\7=LʔO,e暐 ѥD;+'p/ nSNgK|e! "`Bx%e@P,yʒKl P.['?kiPkL+q8ԥ37y* )fɌEٺIFf2LDqu!ɳB&IZX*I{2yɉdG9sNf~$f6/:!9[h&3=L~0J_rxfn/Y'H#+ ,(vpL%whAP,rowlF1H=q չ"g.h; x^oPn|z #9Td!wTlit3>( lv\'f1I1iS(d2l6m1~yEkK ~;<Zy99KӠN;_9ʙ)ENxtu֏<1iNƟM|ϳMWn6Qr Fpp/i~:.u޲I%2j͑Mf+X{&vb(SqN&00rԌo2iZRm&Ďѱn3@U>P7 1$L~a7(ٮUM\a).;^eUIwPGuOh-_5N[cEAHBѸG$רZ(upDedRdܻ#4=K,TW w~UytV..إP7p+W 'WF}7ziňޅ>do l2%k7=vp,K"&8IE83#g2'ᰓ/औX)2ݧJ9 Gez !Lİ TI>{wF'1V13__pDGI_܁p*'`t xBdz:K9+:Ymi!ԩx}\$gz3]v+p#Ar˝ݦ1D ϓ$t%gԦLP_zAU箰Z"Zc ( juQ2FQ"|\<7O=]4.O6:QCL}pyH'يiyT(Eɾu2_K q5K4bٿD4E#\ڸI8yX~os+D?3gF ts/^~=͗&_PUPڣR*Mn3& b#+ACGiRO6rs<˝ !~X%[GuR;^q?("$¼Np&Ur9GR~2WvY^CM%.ՔR\о@y G 2%zf9]/3Jz lQ!_fy\KjF KHi&_5զ)5 : sHNٳb6rXmɤ(a'c iqOv-(p0KɶO14$,`@hctfWI8̪Y%՚".)!8"f M)9ARof-qٻb&nQ3]q{ƒ9iBls'ri'd-,!4c<yքy)[qW2 `3ݵrYB9v/r&;J ,)%5ѣPg瘴oY2l["&u;+(b6XtLާ^[Vq="k +(o4O詔+מ؍FlYr+#ZJ iU`EǠ3䀣=g -on̨]{P`#Tڢ? nM>,RiJ0<5 O:%QʕRf9^uhDz1KMT&l19FUM/<8RsjlӜQD=}4gh)h#чӚC+rDxn9c*&T]x ={~Yӥ{R١/l9 /cF2x6sE'4_xp|spx*F35IqrJ< R=&{;M\0[Zh(b1%% ܔ9$n|aZ_as鴡P0>0A6iU="q`A]AO9u(hn!tɳDQAt \<?ʵeZ0/~-%\{b5?b Sig{O0/}C&/~ѧ]°݃w(ӱ)0W9f i đr34kz*N̂'Y[h2p-U%!.Typ#cxnut#jד\\YT4)qX4G0b= qHg\qOwh2֐!Ȕ Ғu?rSt1^c}';Thp[iԦS IӪZqł9T+ĩ* :a8p}ѵTdId:1X$J=TX)Tls]8Qƪb16=TFf;AOJe1P#Y89yb*%J&~1p=q-Gnx|H/m`IҔVg8RT_hЩ`4ܡX:Ɯ.mVqF57wysC;|GWÛl?Hv \^ɯHFؼJ,4n $ewڋE 6~0=(Q"9v>qθ8r<)^K9y a}Z唥Vf#$Ϯ4X4ʒR!Syx uH!9>AF6RgYɪ=eT'`%#IAg&#IG[H!!h'!O\rx鸒ĦzE4UA"{偪l$eH*)eDf'y[ݱDAIy&slgvnaSvJ&Jmcyr|{`G=m\Udq Jy݀3 ,5+7URsev9?B Hpn*4KI1NC~_wx_?iy2 gW8w}ڇ?%.TÏ (<~IMg_$nRDˇTty,z'z}~t~l8JBrk- ZNrZ$^=J\AFEAlt6+!f2,hyxQa\;W fh!!-&L84ݝv(tbtb"xp@Xdq\A4u'ZKl t A)U]#46$/@% M2PA/"M M- OC$1#9N}ʡf'OOd&;* epIBMQؔxLrx7ėϑ3:=Kڱ5f"X;ݙvUirRI6B)3d8!\IIkLa3 ɝYN}\FIOTHYCy_TX[m 1lh0 J@^,7p]~ nik( Y].At.r{!=+}Je *j[GFMϣV?srqVp#% nm&BhN'2Bfq؄Z)ltd}W打 I.k/>r]PK߾}܍LkD$(ҸE[p /hcp\GI(ے97I VKD䜜|D|jV495'BGxG1qH%Xh%)/Hz~|eq*ړ@T 82dH05g!A凋A|H 5bY_M IDAT{QЬ/ϕ9W+h_.|=|WRaMRC /q{2+:bgA3sD^up{^ -q-+e^z {`w^|`˭[O[(RtWH]K`StbM">X9Ï!>Ni,QjN{晨IpCo9VPu(Z= Bfa:!YId_Wx#Jnv- C0k6=OT׍T;#aHNdKG͒Eh HT,87MʮH|~2kuQgQ{Dϟ$OfY1qZ,&sk%J(>&yE),/;YfpFBŔ%-YZ_B40|u>=RR/SP`9c{ ϵeM Mf.V)ǂRKP*ukic1ZqH (q+z,/zinv=t SWD\=ߠ4QBiH&1#vnKR3 1fsGx j~k4 _ C-ոtEI&)p j AKhCXJ%'Kw8l ,*.Q"Pr(USe =aF=feXvT#DfY(j ݾF(Y64?=6}3t/S6_zrF+\)Y^s&q}+`ޛgq!).ۊ+Jlb3Ogx^cp:X`EXjX_+e#$ᔸ~! %H#^Q:j$dt7l8.sTmLͳ1eN+[k$@sD4\1{,(Fa&_R{N_[IiQpp-<|霈Sjk C'lr_.KYEe2vX9 r]Xzu[c>|.ҪI`)/D);dc6łK>peLUaC=INKeblY>w>zm7hxE~84R,qٯgyCi=(bo{@u}5?%b78MV%ZEH]1͚ X>Wp(lm/ΓD!Ҁ-R|BȷG,s t6~HV luٺۣ(sB>ޫ\lrꊽMRlQ6au)x19_AHV}{N!s&2I# CYE!aL$4)Cb; hbbCfֵ$I\v >"!CW(p 싈blÀ0B@m1ՊG?i+6EpO8=%IZ5p0@i9: rV/v\1sOA8~J[k-$#o $[HIb-WP#|xay S[ICLǺ4"})2 B&qUI bM4EUp988ꍰZP/k*UAH5;8Rc, <#ܔA7Ťj+" ~H8'b@bFTr@9)~űš_BA3PqpL !E3wUC0!X/'&Ďg V̨Cg3Fbp8#iHn4b45gø /3Rbfa%tHGɌ!f\7.ۙ^5%gcauN;:97,VxnJ$>'8.N< t9MV5Rq" ¡Tqi=~ԗh}Zs<8{|ĕUK1H% jIjQIUvi-;/?/OGOx* eS ,=Ӎܾyp`aB7h6b7Ao tH" )Q_&ì],PZAjasxr%TSQ?:^=sdiWV‚Q.608!(X} +"U&]smgqR @ aNyF/vJyKO "<\*-Ey:3JPUw8e*$gVruqw{?61Ns>BZ.trjEAvn~+W9 w)|y> XCZiRDs<K uο-6":[wxmyO%ǝ Jc2JG$N#m lnT]a}}!W׹wWy?/:/pş24 т`;$2`Vc6W.._p8n>7?#YZ|Y͇ͯi籢ANDc$ %![տLjR*)׏iHIWtah0LbT( a$8"ϲIp5&ALH*Hrt"aR)9v3|!#i<Ę JbmOmD=&<쎥5& k8`g7Ԛ>'@8@SY@95c[=9, 8SȲI;A" fF(EVaGnCV, z=^V3d͔ 3^Z9avɀO.1N/Q6UVt)669!CXIA`uȠd8΋Wk~fbFj'i[=!ɶҟRy!fo<8Gx˜zx;|[,9J8IHƚa$b,pDG; 8\7n?貾>cA? 1nzHZ!=ވͽ{]>n [7#ZϽʯubo|s6E9IF} /耻~̷}&~-`W(ի~|qp!zg]W{<`}R=ӢZZd4}P.!DQ\ijx*/I&- \{ih07 `2pmq&B~Kx2ȰsA:Ajx ʐDݡ` +ԉz|X%! ^Q9 3ECMзlc$:%pL^SXY`Ȥ:>h $Ao\z'DZZSq@+z ?B  b (>'hc@<SgV81a(TMTktPJbQJNY>YEm;G|zi #?qhcd³/0|0@Ͽcb)Ҙw|ȫg,ww}/":o{1qIBMu=n+O/\bYz#6qFAHX^1X_M>U/rQL۷c"="k| ݦ1׸Wwu^/Sa!>ǝwez!vv7֑BQWݠZ(-7y ET(Av{ BZi>BF_( bFÐ`H8"& Gz@zC`@AO G$­ t7gah{aCC K ,6|k8Qd *N5a-4Ṋڽ8(GRtQ$%Q}:24+YTet݃+ P&J@zeQXgS;̑9LqLh!y'aa0\six-1a̱[J4M@噿N]2 [ Y?o}"Z"&Q*H҈15m&QBf93VA:)lo3ӏ0 Σmr 1|pms$aQFeШ%lǷ>`sc5J,4\.^^e>^) W/,\YjT7 J,l&;Y3/;$ Ŵ[9%[6;͏H%,Kʍ?$*pϽGGtDCVg~, *FC5af'Fx*Ɉ8XCѓHh{ GCxD!hHqίHd%J9.PrfO6xp+u/?NX(%j5>+Vԙ%}zbIc1 TgX\&45hrdnI'd6;)>GS677޸'7Uɏ~oyxNp:}>ͺ~~$1n |蕏oytϼțo?,'==5n8[|Cby5 {{(KZibrA)%yw=xa8dAe $!8)C 8bS'Gn<18[إ{r\'<"/1,N;|P[ =:ewy3P|,i D-)#\s[,q)>qJ>Dǻtcl%<8NDP6z2kNR7w^DTynͧ^0ق+[e[a=KZfG7o|UH"ҭlZOUU:GGL_d}JlS@w?&g<4>iRs|3_f-kS_ 'o-4 CҲa>)؞*zY2$ϽEg >p|to8]\;x?"y IDAT—Xw0g3zƻx/?5&ifIz_|-3^~9oXN**~ů{ݻ{ lmm#c^)l@x4 QѹpNKɜ՛bƎrQj8 DxD}ϋeK{unwqy\Zl=P^X2壬4iL+E6h\?:bRhA@Qjsy 9RD@8ڞaӗZs"2q̺0B(8^;x""qyf 磸B]Y_ߦ-Rxr/.%ل sx Us"Bd ԕdwg_~0rlY Kg=H!a54, _yt>5vwNY.Vgg2q̋,Wu NB'fx8o4mMKg 18jm8Gg8/sM1x镂aӆ^U?1^bwutcDi5x";<v{ºikMX7|+sޢiz)ͷ%-6/0 xsPJ1+֔( &wSsUkKl;d'"E]@IQ "ǟmd4!14RBMCz_RAܡnv H:?MԵ*.۠V SAaˡ2)mys8w71g Bti"^DQI "iLO(#*G!V4ITpph-19zH5m nw3Wy Ǐi[6PIN[GW\5p脳OxOi@J@8ʊ_'?w%l;K%^]Ζ-m3[W/k~7 zo?Z:YaN!l(>x x?@JHyt9sV>L&X!:?9|Z>*RP/CLBc\,x,f_Zxg:Pd|6{,IMܹsU(UBu{AQJT $Hiie* ,\SCB><َ$YA`:]SŴ4TEÇ+YGQYRT^JK/'<7vc$L+M]sJ@ L/x$ -1*m߸.ք̞zIJcǷ &{eVdI<*HO,'%NJ$#iSIBg8Tak{xEÓ#EI 5>d٭)pmٛUs(}ÎTՌg׿E{޺֚~ X 8i+j]_|-?xD bJ &+e@+M "Hʱ5b |ɢG$MJB:vJ*P$&Q̧[|W)EAW*Q((1P)oXr5f9:vdF\&I0̘Ϸ켛RZi$ؓ_< #x)u "#TQ{m@UQF0 ;1ZHI"5n,zcq;]%}UeǺ$gf2SVR{o]ngm.%I=^ѫ)*ڞ#+T;T"f6}X_~?q-J}K78%uX7Q g-Wv~>9Z\d %0!}jfgkF/rDNOO;ת+͕=Gl9;3Ɋeg`{[X4=/"(}@+{\A_4#ob+M%'u7+ApٯRQc1HvKɇ%zwwRP/\eR>̹C.xtIGHGpG1eţ5(/'ԠD͒JH>My|Q(&)sx ɑjL2CE6XxSLlmm‡mgP'㢥m,iDD y:reyܺIeH|.`m PDPFB"Ąr6y]:hW}8TReÒ#aD|K 6;_`% -WR˱^%!J(FP)@:URLX6ލH 1,i)YkI(.eænʷh﨑,-)il(,zʧSl$Uao#W Dٛl_ök:FEv&LP ~7_hOٞMػrl,< 6[ySc*QnX!elg݂_㳿;`$C{zP }d%^,J&a$ƁS H]"4DhRZ#TA/yF'ryFȔ@g!W[h3“O(rwU)ni0:bAfT*$A&Ht8w!b79l>8Ց)wc.1PS|4-vuLT5x0ZhIi{Vaej4`kW0Q'XB$'N|[՗q i)x˖}U;5nypx71ן!׷v8qyUw^cm lPO|*{SUK\*XX*q`bYA45"Q]m!@QQX_9<{%H|@:bƶkD(JE!(E"L "!hk'lH4YPҜuٜPJB.PsرHٴdhRU b G(R[r0RD:wlsuz"u)z~Cɤ.KjPc踒( La(˂GʼndN)ɍ&AJ/&Lr/v|l,)2q`GAѝh"*£#rcA;z'htwv'?":wx1Q^(ȁB%k)):f`-CKAAlg)Dއ%XٞVx wO)n˟IR9gg۱m_uTX(0)jȣ(UV2d%il5 8xuL* ׷ۑ?,ٟ)eER|a[l- VH80NV*L7T)B~0 .fퟲKJa#uB*35[LO`ߝeIsLQ dP%}W}k||bkv >[\//j-`guKMd@8Z=Dj}LW:%|tJt-sϵ*]M=JE< dp>:EnhڎJ+bJLg3[¿w˽h!>DJok~k@`"\KC| sqB ^GJx0J'瞽O)wͷrVHUy4 1ڭ!dLv`#<q;g$nl1  ad_a_81]?F{-`|3dF{8"S!~*^VLvr\ƌ@"!DB8c O8Y4#舐98zOb04`J^Dz)33BSZXW>O3E@JC)$N{WԫLf6c6}U-R+\f"'h%Nq3|>VNyƢ0A%>Z6ڣS| }ǤҚWtQ À6 ZC(+OQC%mXiUPϵ2b׈ļrL*l<Ѵx Q"t^8MZs}EKX Y׳\,\!t2a>#${dKDt<_Qnc0 ?B]߫8Z,XWqdLz=*9J #Ɗf<-I5){Ǣ{8 %"f .QAF"Q^м8?WiC+s?*-əH Gs;/\#1c"1ddL#g)V:8ph5)*#B:wx #IHÐA)xD7P?I eextvɟg݃Sɂc:|yɜY}O{H.Ҝ|lCZ4!(ٞ#k֫oq+Ƙ!=CVd,ƢѺz27=BQ&tMK˻kے!G vuBAB#f{^ &P$"J5kEQj!q\q>!xkw~gģ=!'Ҽ&ξ5K?I VCS_~^hbIk;n@5qehf Ϡ%S΃4(e@U(SFkQ2O2 e4&*ݸ*=d'kOdc<:%$06y{\=/OIRbVK/mWWgY4jE(s(pfLd` DԒiR{ k- G2jVl_zv-]bEfѱ8[ $Fd2a{k}^\)g#!k"1DtCp]^y<$]ps[?j?G5=T6ѯH>vnH $EAN3O(G,!RkH1ZaADJIBHRc#ذHG 6$F}A7|_&6DP")t`=O8!&uTI)\wY+`$GGZ?>g3!$bȩn23*X- !̘*")@Q$heA,eCL5{@e*B]tXS/sKIԄ* !#XdXU,o97(R A :.TMk;lEe޳6FPV{ /\>nm]\6aG;EC&0%[ƱW&Zi6Liٚ ~F>:f] e"gvy&u@QvZ jոʎ+J)>xZpwStlݻ ٚ0O),`HH73:x##p"3Gn*L)i>Iy'N"CB\L!`6)BcmHr>D>]"{AF]{^\x"rx>RAU N/yjwƪr+0'}d IDATQ)! !*|e\DzXwfմ(zh-'t{=VX;0z c~@>JJ B!Bu|MrF4 if3|4:Rb>r؂B i =+7rmUrb uE52RD)"O+(B; 1cO:aCkvɣR`&h4.ᰃBF o9;[H^lA_=yޅI)68Y!! I•f>'Et}M8v)Bd|(QJS"T2wxa5bTHKI)"vUDZDɎ"Q)#q"B)I!KsR)K.rf4DӶ)`F+S2a: H@uD%[R4}HSгD# ^"LAIfkI"QG %q R{:zMOR/Cw|5>!.;ѹ.sǃ޺(DBq(M.#FM! |C":BB$GtHtC\ M^h!,|$kf=^o,h{{5q$5#:C Rf)ÌRnx؟ع%~L,."D%<.8‡8}n=o?0Hvuϭ[l sԁVԓ(z(3ۿR'%.)H 0hD$O,*00#2\n]K0$Z,_v,N 1wx׮^;\2τgVzl%z Tu"btG(DsVX.vFq$1'L 2% ̚c-Ai=i(3+$JGyEl!)M #c+!i,{.HKZ`D_ƀH#wݖ925>a]"p!Nf"\"*$(r**7]0hIaE 5 f[Th0F}^r4 aDNZѼ2-)5 x=g@;Չp T.*n-ۢO+s/R12mV݊c*rzFg=H?O<* O5R27ѝ_D0,1@*4R8$B(ΕTð,8:ĕ X3 %f-^¥;flEJ'-X*+B`UŽ`fWIt`>+ $ũ4kb*V1pK$vv=Gw<3{wHRbUtd}xϹ":Bߡe$f^3UؐDCJ94\/|n{x鹗LʡC%PtĻ@=z 6$!ȄX1yt̻>'PW"D 0D2g4q +Q2=Ǖ} f E/0,! ! rLBOpoԈrvWÀlNI=R)T36`H> a\+8'Ë0A3C*YFFK &!~xIUW 4iyUߒD* xȢ$@je/A8 "psw~Ӡ SlU׾~*ڏ;aq2К)rB70l=YnV-֚ɂk5(*C: 7#* v+ +zU"]:{D"R;ԓ+t7:~wR{UdŤ(.Z,=^%['e1 0$A$3@| 8 Qc<Ṍj0) ĄC\>&i7.-V+P$㌅9$a0AEjjVh<k&F;Td 9HFP貓7ILX9ҽ5.S>AG0[ף C>R ?<5cnsMET*<'M5 ^GCA*g*7 ڋHӂFy&O=$Ybd0WM(Oū=I0Vьv29zDӐ; ނq쑙Ji$i>iZ:N/a: <5o}qZ.FČDNdag%"O͍-]mqK!l $l1OtX ݋N`Ht\YJs8унcKXn*kSWШАwĹs2=@Hht 6n8Rߨ[ZQ$hE&u !XNxZ_9Ǐ@:H&\ QVu%)mʍK9%S67'Ր˹ḧfE5lQ@4ʱW:dZe)T5;uVW/ƥ h^'| iQ`%C,!$F+br? 6X:2z?ftDR9BQŠbnyK+YU>,%TaElҞ˙Lhw#:}qhD؜#G%rh0Qy+g{@LXf1VQ lcpy(&*<.ABOrzRh?zP*ƍNB@!=j xCC<# 04@h-cp(i1T`F1J"C"`]B2+MĈ9!юLjԔX; JjWv~]T5a>8 c e8KaJ9_X4s a_Yt\2֠91ՠ}QmxˍpPCV%):MPN)pܼ]R88]C+,-)>\NҞ3./b,FN|rۛ=0T|G 8Ѣ=(vSíۗi;,w9t~Q>7i۴4f{{9 a\iEOQ80"|2 D#spjfol;4\q-p ԇ1MbZC :սph8ycEJgcu- !fwuO?6W~VJ{b k>OIrק5Iu#*¸y?eiJ $KfHX B=@¿)&h4ݝa9Uo42T5x؉r/⯾:TfGw7oEU&x92L&]$i"& wQ@`D y0T}(a^ru| 83FKZh4= eTJG53pS`[}\9w&_RvWMUI8dYS8-0◐(E*?g5.ޅk/a9X]6: E .$“JmcwV &N4Ng9=ڠx/AjN^tx>W>c:su:QQ86fgJK]ELa21O84a; RX:_V;"ۥ%+Yjpal; nuxqiHGn=+̘Gk[LYwLZpy^ʭM w{YޘnE30O՗(,^jʒ*)}"vã4* ӂ$V67.1IN 7k-fVֻc1:VV{A!݀  Ch6VYy`2H hbXpa5/$QQId{->VyiH/@+)}lceDO8Hqi)"@Ȅ2aAUJǗOj(={PئzJZw`u>qMm£*ke`6+%Ti%~ס*@-FB ^'qbGM/U ]o&q[d|-b bx?`E6{aţk^|clQF 30#dd-B*rF9 j%@*Ik.&dBF~/WuZhe+sy!G2IEIv,qdYNtfHOA'%W?VߠRaɓD-^Ԙa|3{|옊woh703/~uNgschnZy >W'OݐLaV`4f0&s"*BTHC&EقvG+lKҩ@G.OG(=z;"EQ[GޠjC"cڏA&7uvS/":?Q.d׏-ytmIm0 H@-P:CuCE ּwpSl"JᔇTRX/@y!HOP`4%e@4P&*et"GFeFVOir:{ivm/]1sa@q"eҜrjWwM|iɐ?F!=ܸx(!3',&|U8IgU y0"UOॐ,^L^#p<+Rv@&+iaEBt6ZMj (b.h2;?='pyPq @[6.ɘ7&qZ7(rKT)T9vSPMI`p[|#uiz1 -;hاŗ.^eOL2԰خS3爪5ȼ.SO:&͹0HYӳKsl#_ ęr}{[0w,8Tq8'6"4H{P8C#jDg Qa•$o(&FC*:Yvnv1 Pu{ ~C" N2.5> ~?#vkjr>";VJyUE{W@; /nlnVY"O'q6=t2"O/D}PyI;;T_w w`|m tYmOP(ط%*Nü7 L0x#S' m[RPcx]$ɘB~RzhO51v(/W) t.i! nM .`o-4& IDATۻ*=h+e:A(K`r {!8)DvJ/ V $CgAߢhρ#U ΖR ,D~{C=e|}y81Цtːk,~*|>= f2l3{ 2"/S@:I8'3,-\j)ڍ?Tc&[fG5v _z䣭c36aX nˑĊQo0mPb? Fev62p I\J V,1Hȍosec/ݸA2Ҩ̶6'br-JJ(aK]sX#|]. VY3~xr c NN,>~ %oo~{/L?./C6,a^*K +%xG+./ 1$ȣ{U!m5,L)nE .C=M>A/y,UT stHSuߑ=~'5 9]K^d?m?K:|'uxJ@a$xJ\ȌOx'tsHKj, *z["xppjR .J d` IeCz2-@J ˋ fxx􃴢s_bmŵ1e{O1F' -p'aa(A֐IFݝzP;T L sYn03fav%Nbz{kXsV Fne $Х:!0^,[1WWD^فdaT-qjt`FdxB .$Kx7*"A<6Q(Ql(MSr. H% e‚q|yJ)/4<`4!$hci;̔"D3^6/_8۸ ld8 YW@1*]XY?;W @~4CLCJusN  tn}cҁ,9!t)% + Kn#X! AY(N*;]wIm{}n^? J?5=&Iih+])pLbAyኩ7&'y/1D0?{q6GDu(rܤ_ xudrZL .E ӌv7n0Nr}34.`qv8AhT$V _HPܳ /<AN˫\3A3"w4HaJ4KX$/aQ؂:/=%+5& Z vviDXc 33du/C#ҽ=zsqZLSh e%Vd-Vjs=Nwx~~o$7$I^Cxԫ ߼ͣkIIIgzҝXڻqVEGC|}/~q 2&L0V JjT`rSJi#iUJdhNq'8GSה򀞝0{YzC JGe-A6J߀'!@8C8dTXA f,;: ߄| O iרˉIͲ[Cj'6߻SKUww{u匛SL FTjsBD+`":Q:ød/'A2;`TXaӬc4x.a@O"@(ҥpTNr!xy<)) Rcp!=Rd,ED\'_p)8g~gKK:̩xn i 6Uԑem_bp<ʼn7%VWIRӒA#'-J~9Ɉ µ=F1vߢ]kP #t2a)2 AD!akT*-+sa4%)vxsG+OS'y:7V'T+^~骓&a䱵sأ_>Et8#<)\z`N̹8c:AV,HA T('!KN@g8sdbQ$ihA/0ˑ!YU4t[l Q132h8I9<3w6ȓhad5/~ݢ'|_ѐ B/M>0\_ZF`" 'ܹVSczV lǗ_U>9Au۫6BWy/Og~{DU'3t˜\\  PB$Ya&I'dYV.j +ˋba 8 KK+X]Ƶ:[F=Vdl x tZ&Is۟,pJ)i 븽nHtDSxu+`L ?8~]J;x{qMUݝˏ _1yRv(y7Ǜ&;G)V]NG "h&m>*p#Zmt"a+*+G;ϜЌw (pEFcN0Pկc Ivz;D5?C m#g~~|[pZo'92M>(`z=f|Y^z Rxh{d~RVIBY*QPH2?ע7HؼAďrPR }F&'$qDas~p-)\ [<yGᅦӭ&/_FMj"$ 㗞yW+97{81bKoԩ1xk=jqnMe7x| gV8s4;L8#|e!@zdip8^!nK$J#<>"Bks{Ao|Ru`&j/2S>'ľ9-uɂrQewSfbBj; 033CH)RY(n7w8Zhw)hPҕ6'ݤJgݻ.*BA 6(!WEp@>N GNc%8W 4GTFclKw :yNBe^~_;s?SV^"In}!MHGX]<AHoo0cCi-qm 9~䃬o[gebw:C)JxPY9Eҩ1h \iiUF|2B(VHҔW^ĩ:W9ء +}"5 z 5?[lÇ$A_*?/Vn840>*ϐ &788['xN?ᾅ%C uy.W3(3a-Ɉg?v?Gܚ -[ݚGX'>{ۛU5~S?3vEm(:ɈMo价bƲǟ7_C>y9‘{O3بst'iO u^~:YnY_D\?o*[|_VadFGdGC` %I=y~o"233?Σ>‘#G_X <nݺy9w܏=<(O8莬BIRB[aM<)!×?QIOEg6w7xW'ۘވӾ~'r";v4qm{j M nng0!B!석u8GI+4VɵfGBb'[8a1ORxw V{{\E/]#tg3x ]`|w~w8zh|%Χo^&|gye]\\>s=o'ޓ'!w,c`8am#RV#qDhmEi*A[4[0{I!BcHMn/ j<5;?9-w}/$R%]I*qC%rŻ>xW/cEa9IoucRkh`J7ZW,:2%UPсE6m$f q:)5O lvTNWd)`L-Ԁ?k0svB©qY5>/?WRq9Iz2Édc8Fd YTEz>zf5OFCa!j\p(n GXڪ{k̭j-WqAH>aVvY[Ĥ?V99L+r<,!T?}m&<ּGm SO np)|̧~ܻ=czx?p_cwo7ř`c'uG|gY‰c1k?ڥw*v*!y|:y7pQ$y(~I5c/ OO{<o~> !vq=;@qN6S?k1SXu9E^"P,#/2<+<9XT)s\.{QfRcUhwpNAfm9Wzp,GY$/ "j0m˔" &\^uT:Mp\3<}"^g;!:]'K?S>~ù}Il _9?޾SO>Jl~K?*y]?șޘ?ƵK0S[`d׿1뛚_Y/>&Q xQ;Cޤ1?Ws: _Leqv$ǥсw֚ťE~7~[>,--Qwg{!]v}|{W_ CR/ۿX](H@M1HWo=A^*ye]X-p./Ls8$h9*N"ZvYNq&c4$q 7W ,vvTY*Қ  >!A!~A@ERzr̽ieY{߳}=MRIb˲$ a` t ggcaiƆ dVi)Tzw>s۶茸^{s'PI".o}kxwolP tq vq<5T^&'tF +M"L=F CBe>FZ pd[0Y=,98~OX%ܕ .!,*7.Sml^T t"_G{{GX9 m ؤt.'cl]AaQ'l7p."(N|--)fo1nO%%on:Gvfnl#4KY,o\nUyevve xm*3\nh8{{מ$?⯟{#3ДbfkYW y=Nl{rD/QLs`UD yU?DlKvv|>O̱gC2."w6Vag΁)66&Yc|%|t-3a;N~~5O'4<{ ?|/Ocqۛ !X]]T*S(طwKPSG%]mFB;"DJuQJ D* PQЍđ&eJwA&dG=uB\}HÐL52FH%~GF ׇGp)Vu rF)1"i0biT\*45qYAz,JkaڄaA%a% a$d H"sXjv>@yubE V[ -f&5 F5)C$G'A+a9g6yd^}s 3cvϣV ෮!B'(Ex>5컏Dg5:t:N[*"tf[Jh:@61R>\[4_:LeA;3^XXdg4bN/cXt.%ivLMŎ2lV_mNp;  >8tB~̇yϱ=<41McBx9rvp'Zsy~ϟ[y`?-C1;wc%~O>k|'xUZ\gQ kRpc'!箬n}n /c 0 #ҳnvMFoDJ0|2Ѥ`mm qT*JIkI!Fzmh12J t"Ӆ(l459H0"EmVORY˼u\(LCTs:Y֦(HU"$0(R7\D@: >!RhHM R q>)1 ENpjt6h NAGyS`C-{juU(B֜Bꊎ, *9ԓc|/ 묮S$N/Ynuu0 _Ų~f6C4 J$o 9HXAD(uUcN]\ïw|KHK )#RB2>ZaV!ulc$wrh_ 9{?'2Ȑ$aCq y;?A!ķ0յxXކc~MZzRovC= . |'~t耎ߛi90t.y.>AtL] XZL8:[& NgL"ΒVM"( !E0Xi]"GC+dgs`8RO`SlLa#8>6/-Bu.xԊYjq(eCqt'p5NqAdF͐O\ *2Q*~U/d"gPDf3^L5f*+ ;,Hمm-]cZ+oڥch.uǾ)[[Ԧg1E~l(ts0U>t?K[\z3`,Y~XƇ380ҍX*S BqѦS'b Jp6mn %66qda&l>%Aee}[UcDQ,,,Pat;t#ce$viJS6T@' ,MC, ۲=Ѝ$2S.[&^ 米L4bE6_RK\ _t5"XX.BN# kZReb&3;-9N]4-D钙];]pܳu"TjSt wB@X!ETB-B+'[Tڳ##Ѝ&VF2V* K\=s]:k\/b4<*n+3t2ĭK! D]}({| * c1JeM<Le4ʕ1;H~D.!/s)F#wCwbzF8zPj Qwo]о on94CXݤ0 q=MhQ49Uڹyl)Nf>| H4]L]70M0EQ#yMV*]6,-ܾwb<EDEe&KsD KQLnb![WIDF95:(Ra\mB8-ή.*d|>CXC12$QhS,H,Ca!"ͥg)WN0K7!ktkk;D&1]S|y݃ih{qj ~c,ftBڗYm6cLVw1mKOZ2117Nwk{"ō lw7yYt_;:?N`wsؼXF87]6-x߻V@ynĒSAA #ѽCmXT9=io9KڤALec' _fAriz_Y6|&ɷ~-V705L# $N_(!uZ:Q'4h0 /t;q.J}AgsH_K`/;B}彏>zp <=s'Yf1,#l{DHiv h.|$q@GVB>HI{rUN}k8!VV}!_(fc|E~1 ;,a#i "wPa9U&ʳ\tO>EP|+;[׈5Ʃw^Y9Oqڭ#ԃ''Ү7vs𕧟eaD evf,w-WǍE>kLEmh] { U~HtULP~7n,:8yxߋ0*ϝ9ӯ2VcG9q\XdsAtlhJ9NB} i>f5apZm8@R%cnrv=IN8hWFlA{UdܠJ,(g]EQLvOgH=¶a6scy"/,.^`Q(;h/'Xm^euf:xsku5h.\&ո2m}ay\ap\iwh90&?P$/`JߝZg/o\3.arD:Q vT)$HS;.]h&n||MA7> ӆ]M%ERm"c(KdRxTDD!0-8%lF7Ȝ:Lh@(%W08S;A'"ozq2U "59BQ"K)V|l'Q1o$븝=QK(kt˯bW9yJ(ФF'2<]&ͽ~K9PR:NkW2s&a*c{ *W ޢ'+Cd>8}!vaskSVk^cXHpz@wy|CՀ.Ч %S|MgZ;%b+)N>٧i:alX Im@} "|O|}Yln`w}*Ͽv{r}e%"[>g_0u IDAT4!Mֶ|UܶG" )V Oaj|*NA:u Q+ؓbZ&3s-JR}8R4͛0jR:iH0b C1 #Q\ f4b ,EL.j4}bg2iq.-e1LNN^j}i&WL2V Lw\"cGDSR qZf͊M>-\_RJ0FBx8K..= JǩcK-A ].4T;in,[;[dVW*#~@&-A0{% nM*aX$"}XdLB3DQXE.# + mQ0#FXQ7LMq0Xل&՗s/ )}~&m2 *[AhW8w<ܓDlvZ*8D3̉5IVfY\Z#ckt- :Y8$n L/)%a"4 d,La9H3۶хX|S~&w >Ĩb/GSR2eZLB;7-;1W[4! X)FnZ@Rl?KHmt,q+G~ *)7e}:]er?4N7Jƪ^`B8r׮3oɕl.X4֗zfcbq4e*]%BO FfvYZí31azpAdf mS)dsȕwf4walBbFK2\^ӥvx:U>`3,:%OQҹz}cp⯞zf 8 Ï<~0M̢2C܆FsAbr3ob4:n70]WĔ*Sa鄬{>W.-ŖjD)* #8<d&rĚO<~1 W5uܮFF+0?W_z?Øҡnh<}+ll?7K"Zstbs!qf3Tm}8u/5YXU,E b!bJ<=$|ni]6!%*i'?M\ r=B'3iN$kHEY˶M!>xòjl~-L9n%:m%V!0t<55 f*R^jmxrM^nۜBSh iTÅH v`o44 1d7@$,[ ja`]%F6鑌N@Y)HRӹ76T*HGuVQ,)M`Uf%Wqq+=_ڇnL s(ْxWfЋjq%ML-#"ӊѭ:'؜" ɢ$Ofrvݩ$,)Y^ORQ*H.y/XZCӸG~i%'Գvx DeVd{8wehŃDbBu o_f^JLe "y5y #V]:DN)^䳲|= JJ*sLB7PH<̌zυj.G!;O.ѥG+zL3g"Ο+א* %nXUcyמ_\nre{ab>)9vHm•n@7hB]Dx>PR& JcqngB0,2V c0_ # b~f;fo\JT̚yp( ci<u%@GP[D U* ]˅ujmZF6s۷) :Rɚ#wnc. Є iHz[PrgN11lp Tꄣ^@E:P $翯:T *-Pҽpk0-4zHad" }~yCo,߸CwCPds}&-N|'_?crmT :,+Fw{'O_VtB۽..p}S MXIMcZF]b2LaR7@ @&RHb32Y&fw߇9ܓ|~oJ|O 7ǫJ 4ڭ.Gwy!j7_g ʛ_%llqxn^ PNrmIYiJ}UOؼDeb1ds/PЄō+7R8NK"E,e)QʈPdt 1q;†1My6z.fv=\lPc}M'?}ZM₂*|,Inb ? 1:NLy\JaD\EHICVR+TU 4-p!44KOI= t Cj?NB#6)}f+UV: $c[4;u=\!Q( ,Q~ZtY~n#Gu7n035._\0DQD6uD6f077zInbbW(@Ղ1 f,#n=YhrûSEk`ڧ M]Kn*=GOuKW2IXy7.؏0hԷnjM2uu(6!p:ڭFi |#  ffnrt_?drv7qaZ6NO>gcl{7tdj:lllRЄI'2Q+{jhzR$pu]0q|LCP,T0h8lH{v0!$Cˢ'Ǧ$RӉz~P*C4G R\_({)r=\j%bqē#q#hZXL6ԵdIFGsj44kw0 m9N?iQRVi5\r ]78xR !vL"A/,zW׉B*xgQJ1;;$a0; 4ŭtB&C$rysm`0OglvǢ ~/F0tUimJt )V-Ak4MO,F8q]oipUPqI~>ce0L=[~>tu4X'iܯgW/z_}K>4ݠ)8{DB ˯/mrz_e8g8K\afzv7蘢g r‡?~ |+_go4z._yoX]YgGlln3R)y?㸔+)TŲd^:׮]Iqy~_xŅ+-ŏ!M0y.O>$= f{$щw~rWx:,\Ŀ?,/? sگ2{OQO~?$~Ԣ(bqqW4mf_xׯ%vUb0dԓ@Arܛ\|kz'165NM69r(ǎݙdhiԛ2L94MI.I&#$>(,bl|0 JU wR1Mc;08Ȥ9Nu\<O;R#*dG{7154!Hnh}k{1Jt_86֡[UsazzwWY{ _WyKAE7n~`]ܸzw=!>v}%#N/O)J߬NV} *Kx3<9tKMK`^3H%QꦕO*_78uss4t:oB;#djz_yW_Eyi^c(;8NiO^x''>A>?)M~w={wO_v ƣ}Goŧ?}=K\rhݾkܸqtI -[]W._aqiyNύ%Nq96t#Hb u]<666Y c&sP7ZXbY&'& RW"b #Y>[-,"azaeeFN- wN)NPS3s,vf42b]r#t X[]6@Շ~ֆ̵_n"Ø}oHWp3/rH:Odm6Q"ݴN\{EN蓣o>(=q6@&:>?g<س9߽uzY4Ҍ@!aO2MIT8Ux'v+F$!@hF3ez~9}gwz$R$xZ]}{~<|NdaEZ&LZ>[&, Y_~EOOxp>}trm6wXsXI+\buu3 14-іB*~W~c G͛|gΒQR}S&_Ef}}K4r^Gqm4?C)MҥKK4[*Q,Hs5!!|}sy?'?G (n 4 /# sy'?f^Z8֘R_{m67p .r4RIwBJwN4_ B*gI}0}yǏ@+]Lbի+ /nwJ(brr.Qˬ@/?jZ%)biQT,(E58eZ]]ad 38TNUԗbʨ16Xgr߅RܘdW,,x?kӌ^oG|v]85+(Qrc0bw~$8~_g&k<ċWm#^pt/e^yc?Y@%--<s+0I4-^2[}f+FTN,ϙ_Hcx̧S@xqx,+ Ql/:nV] = bh[c~>A87K)DuK)*"#1:.\;.z) ZF82J)f~lStڒ3> ۝n4MzUO>|Ghw:255I..TD RFC Lfz a YLEl\"+u(J,' IDATiaGabZq‰=<-bXkN"csKr~VPVM($IlHZ!Eo?e4qDz!h4;I,K5rν|1[L&LLcAG8`3L|(xGrltLdVdYƵ/}s2;R2DkK1pyz\2=;ñSp #@i RpaͪR9?Bgo=G}Z,/a&&&8v,Nnj 8pqIDYh0u'6B sO r)R":Q D ut_)i^X>nC31ά#xT8U&g2ȝBR m`tFJ]fG{bKC=q̾C0h9~Uuhe!8R+Nx}'!Q%:>4'>N5I,޿CjsgH풓9J:/K8;MMuVunbյUƩ--u[17]n#"Ǟ#Ԍ|WRȲ< I2X}p쓘Z_޵}QmuxʎQU ERp)NZll3??ϑ#+K"(]=q;&&z\z"W^ennSO3;;G@!}H`kkv*[ȏ33́=Zi-dY^ALXI/(HmmPfXJyN=Gq="PTEh^u% 9$4wxuU- HkOg?>P5 D?VqV8 <#NOᱷg;>rv"LNNqS~)tTg$ڥ>ez@鉷DxG*EojsO< vG|^oc BB+lm0g՛h Fͫ9x[8vTܔ*EO~m"e?L++ðLQĩso# ?Lwo\F>7MLknq2p !KKt]zwe9/ #$iġk41&wNzH~ۇOjƬ.-|w-woH8GXCg4[mYN#n1{Α$ W;ps?Ĥ=bJ:1=Gw,MQ,I9Ab<M20Fo-;]S!v::|;?fbbD F!B%i83^+"XYGY\ؙC*JcZy\lo0ZS td7'ͅKW_ZǑgLnhu_9w 2&>x5YE~#^̇};]͛7Y]]eyy#"zI>o!?8)MFo!%#&ȂGVa-NST(hZ_E(S\D[Q\ * 9pA.8EfEyЈߺ=Bآ@] W lϰpGO rc-t-ޯsrWֿm?B.DVO4%71SvȟJT - Ő \V tQRaTlomo./Doz.h\/"*1W/]+x뾉S ] "i7S8H|m$qQЬ#:"h\(Nt'qU6֖G~8B_<8I4܍h8:&Y:W^"9p<"i9[d<ƕBm<&˂,Q:VILhDhQ ␓,Kj֡h D+P~-*"+GHҞ"БDG8đBGU&ޥ%~.b K^%,B6mnHx$n]^Ԭ1=KQz=/p/eiujVhP{ZHl$?Ggx&Rk~8@Uv`껵",Gqe-~,UU}މ c}fT+ lCg޺OH"N9|2o#gH$N*6!vH(X _ȉ|{O>hCT;IE#nűyd)Z:VHd8bY䋦Z(N/[җkLNMDk ), *&r9.DƲx6FCb߾+w¾Iڸi Q*X[Z`fkmt4p֠t:L;pLT>|bk}Npi&gy;4m?<XÇ҆ 8]yO{%^Ydt?L4vn$~il%D2XT9r P`E>W5+/HOsEH*ܚ*Wi ٰXkʬbp󴫹F}1Vc\d1zȀR4HWMI> DF \†Sхb9Rd<;Ccf;-n\}FK$íMrF|@x\ QpgU&"f K:v/ P5t>Ků:En^ikJVZ5-#B?-b4MMwvQq.V9$:,:h#gΓ$M.rNp]9t@ዛxJJC<VH'*KyΕW.0}&OQ:̟!*%D' L MJvMe-B'lq6:$a<L̢#e(ͰF=mO~o~Gy]NOM!gK$%6Zjrq%<v:&!iwy&g% ӳ</|\{yVYtc&Qﵢl`4N7WZ_F:be;;;~JF ؿ k|kl91fggtWif@{ R%aνnI R-XYdޙV[Q !u;{Ol)d^̵{]{::V`Cn,Qg vˇ )^PQN;ZTAV<σ(>ڍ RpTv!.qYË8$Rf( J5?-I6k++Omkeyiwd(! מlRkP$7IND)^~Kyɭ ƣ!na&/|=H"׿[y/?$GN"NH[&&7cAH >{g~kw83a+ ;tLNrS|>Ջ#]!,%N<'#Ou E k'cVҙ!&gqe'XaH 1Z \{эYѠwOpX:Rv"w_S&I VB:H9~wo\eߑ>6$&.?FJ)%"w89G~9^sl]RE1QܤݛdV78nN^CH<a`'`ld1pXh$wUp3.e\JeEMRvUbL[4.@Y. ݧP)N/N6Ԡ4Ƙ'q>'r[FYf/ϭZ)>ӿf oLR59&f tf-~h1o0,[le4r N>G6>ԣs˼[>LPp]iJ/ + 9*~dS;q\`8Ce(kKܻ}}sp <,ٕY8s)N9Nj~ۯʁG5HgMD8%0FqU8gG4M"))H#L>d4ءӝ R9fH#ir٢j"Ln\{|G4YY_Y:677hLNq5-ڭ靖~5ka-)WoXavDNA4-<.G!yP) rcJKZUp«g: WB ]w;Lj.Q(!<096X{jui_xEP,HMQxv-rޏ,cN g$[S$L@֢˲emKW~8z9v$Ȼ8?)DZ!!R8bsm#IFcz)ffzy6h1y_2ƒ[GlI)^E̚ nYrv41UY 'XSG.?u쭃rUR@]{My7{r!PB cL6Ĺʲ4🊀uo+$8sr'O?  [>WۀdY0<s_5D*Bqrɷ{`瓿1ܸLIܺ~엱ovg4aHay7𻘚 $^Bx:(MW^ԣOt)"RLX^`g{Wv%b{c4R8:?RO>1XjhThR)RXc^)%`cm%F"nH-A$-&'z;p$Ydkט}`h"2"h7#zMA3$ڐȜX(R5ȺQ8s]M M<rQQXh?i(EH R!d5(sRԔ"{NԎ1vCA{a}8OMV3CTl_2f7I=l\Rn:_`gۿ{e-'Q;70ﰹrl #@X2ˋ ;,Y8ٽ5 ю^n5>'>__? }?O=S.Ud!˪amtΤ N=XՏ3[kQ1Z`c^wo]Бao3s1 8a ݂.a}uv2Q#gjs汧Yb1lmXpr4Ϲ^2F}PZ M#k,/ܡhx~y:A%$qBӡ\F" &: M7;t6q+-! iSM./]S(0#1EXertrE8TaP8()k>?;)5JH_WYA|MVB-K!6W}pE8zӯ;˳$woR+^䋟[G wW FHC ei~|FZMfވʇ zw~Ӈhhv:ۑoZ315G~=V=p(`Uv5Y:.]zw6˅pI͈O}wDP (*(Ȓɧ`:&6Taa Z.^/|G3IOLJ='Up.ڌgQi1 BmIoqaS|?@7I +8!w~o1cyr"a_Hἡ4M3_ʏ5֕$QpC'{J*R y:"Iw@B#5(Ƙ-,G%ɞY6!1.'4db- "r*RtS_`,@vM %' وH{'*BqQ>Η ) fTݔE}Gp#ezO(*"(U6/o!>ǕD)KWaqV}ܮ}:?ՏW+?[7?399E,//Н'~oWpN)ɳ-RF5z^p^m"Ep*MBb˛+ \YPq7H*^q?8O[gb\H?Y?G Zir 4inJkFҖ&ZȫCd 2p޸:KH.#!pAtB V*tn"RpY$B p:N얿{BTZPDIBk\ɛVY(`Z#]s8B<ؐ:e<^|`'x݉g?)]yI}?("OSVX]^dyiMΜ{Gw^C_-{ h=L>FK]HpasD.Vѹ Y~R)!\W]KK2!C)`@wNm%~BCߡ )1 $Ry1܊`(:]4¡#,ӆk $ANBD(J]&/" t䐛'}S3$qDn$[8U" 8k‡D˩KW![!0NS0  eWP-eUXBXBZ `]QU5']Qr:BQ+M>s"--vLLNmX×шwXZ"m:O=u|7;qx:"vipDq4t֟ƀ.5?i \} \Ί d4-Y+–O#)-J ?F*Jt*SsHE1#V Ч&gQuA9`xP=R2"5rΛ;8g&:3)DMj1",ŊFҠ4BϺ596ψDhuQHQ>g 7I1,%"Ґ!hT&]/ fc偦8 |N)d[Y7TO3*ͯD&="]f֌~ kXoHxDLcff<ϙwycjfXp(=u!P$7%THDik ^GAEBA[hx0E8 Y㬖c[m\NjL.YuUQņkZ Ь"z]7 Gijʼn9E0!eIQRAD@R \\u$X_t}V,Slg0NcTƬ> U]|t.,j YsZ 39Bh),JJ(Ň$2(!~t_@0",J'hcf`RTxmoH 773V")ܟGcO0ՕE@Hk|Zo3om1:sO<-ѠϽs⋬.-pK<Ӭ6MZ[l^},i[שׂ/ őBqU s(U|'eEƕ:SF<R(p;VG4:>=,ncm&HDASVߒTHb8S6]GQD%a̱2gng,J8O&S׉岳XLؔ>26PY@ky#I Fx<Ƶ+l$ I8.'uL "K360 IՂ元8|b4˸Dk4< QRqQZvp:UFD@$y2MLL$I4Q䭵Lt w6IbM9C,e4x~1^>3XGhiHH=$^Hb(|&&J)&PI "-ANqZIpLu$:R;mLQa!PBj4=[Yݕ*r!&L䊖ܽV!:WTaǯ h(eĮ,]foU*ÅQ35=Mբ2==C|zLLL4r_+8j6 xpn]h8bg{}܆B-qľlh \&3Ơ"9|( őr!cX&r9OJ3154YghaY|'!UKqyiwSgÕ/smz^h\XHVnLZkXGcvnBE DQ֪<`Jl68v$fC EFȡ71I!"2١ahiw^,?$S YYZ?O&1sLLY(B$*GJ?{YIoBއzrgT !Kk{Wp[g:B1vŚUrQUjrjי0A\_CU`jEj I FB'!W}Yd_1N6*vJV55 ^plm3;3WlRn(ڇ 5 Uqn&"1JWt4i4fy y|nё*[ؠuςK ȱB09='u:[t:ݪ˕u$=KgUl4Sӡ'%AG53ǣ2yftu;+oV5'r(b<ꣵ))VWdvnfU51FQ䃶h< ?XWn8&'Y\W>8MJGLOM VaB ύT xD5xyXɵDi"t4NĉVH;4'- ud=N'69
Ą_WE dM58 +\fqc_t-dE|Q 'Qj jWB5$PJ{sZJ">a;/wpvIΕn6C9Z"0k[c@ QT@XPE=Iպp#e >ubJ)(J"Q6]9F0k i1QЦcHzp43݅JL):$M%]q\-G(hl'`D0=7|2,+HKj͙('o1 i2 /P&Mo)Df'OdudMx0o U s@%ƺ20U}kh,Yb*Έ]am|]u pq!O;^Wu V<&›I'CUӈှqq&ȨfW?~.3gpE5jT H&~hy:GHKàR}˗/`9 Gg\#]`ů~_-\=cMm.Q)˄w.0 F)m#")?7 8C[mր\. t(ڔ Q Q2TA {@b$#d )azlצTF') 2T<ߢhdD x0ȺZSMs!܈$1a/jݥTnbP)K1XS |.)NPJ;}E q{pp:8x$SI OJ /'Կ$UNT lT#GLYKlrE*@* QHKP=` [~T Rav2'W(4̾4# b&V@|4 8EEiܿ$t/8 '}3|9fĦD]͝ #&kJ.R{ޙ(dY)pss@ן~ƧO NV:nU]ONSt§ߴk{83`"' DC>KMɂ&RO~o\0SSgHHT.:7w8Ͽ)`}{*(kLjD?kz877wx '\.gk%SD쒺݀~OuKɚO*,2fE!bp=u !Z^"djAĄׁMMȾlXН|q.sx6,2 "Ri 'dqlor2~7&&%~8VJ?HLJ_>ƭyTl1Č.j D:Z't1b .޿lysRQ&fF#ܲ}_뒑Àۻ'UoF}iQz?iJ/FT7>0U01+.&4m>ɔuqmH#}4ibPi-t5b (Bpa?j`z Ҙ %M-f 'ݽ|H_nn~rI&nwB<,&4]MsY;L1À̄?`/X bzvZog0܋4CCЫii tقm<"C 1NYl5R1i9E9/:dA,|O,HMdʏӸATb( h`X=NI*sj4:UBtr$6:N"NQ ɦ .1& t}ٞI]0jFaMY'P>$]bS*э" itޢLMy$immGtmIDQwT"'N'<\S 0F YʶGٚ1&HOS%+H4*;;ETr%A%+窮<)1<-#xj~intXh^G06rJKk) V)kKSJZw!x~ۂEQ'9G Dh R4_ʥ5 YLD.Iwb1r*RȲЫJ*2dOdBPZxx|hj-=Cp`!, RU*H2fNfUHBBegFQzuo AL: D Vn餣IHVGY;E#i$IiJiՇJ+~; \_l78H&izk ٌmS;jk/< *Kh8cdvIeЭC!(4d𢚃U(P-.NΌ'2 +Y M$ ʗMLAZ7yu&pСCM`;?ԤRPyT@#ezeɫCh (#J6\UeRRZJ!`ͲJ#C̣f3k.O-FS=Kkq(fϮ%2`O9,4wAS;'*/dYC c ,UZ(>e!5)07[d)<C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑc.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME IDATHUKKkW#ۊʭ#!:PAA"PJ;upN:@\(\[JmX[j)Z 1BR8v';bQk'tgoo}km{F5Ƙo~J4巜Ͽ899ѧD=!"۞Dd262|h\.W7Y88H&ciqtt$Php ukBmuuؘyTUqmmn/ }&B +9iauz<+TUt^Ӵׇf\.)"<~CXZZnoo/$PD|>Oay<4榪zPRdƧTyM[[[F"V, !8888x~ڦi~1Ƃ RA!O`4M} t:m @yee{,.r_#j2 ;|LDzJRQUUW%; +~٭ dj_Bs"B.Ӄ`ZvΛוRohh|ND ?dh4J ujaa8fP ڝq, mR)[ m׳ɲ-Y]?^ŞkpΝT*ۑֵ^d~nnn溮a]Q+pն R???81ltt4dm>Sd<;;$Fs˲NH=*-YHMZu)[+ qnN3IENDB` / aFFNxNPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xta **RG(x@PNG  IHDRw=bKGD pHYs  tIME 'wLIDATHǽKh\e߽߼'EhccQBDD Th|l4]I|4RD;E)B uJ0"$L43y;3ozs~?.偶D~S%dns|qfS~4}w}g[-^[)9֩ό? .XF 8U0@ъjUx?"54a(W)E)1LNR.`PB&M0籮b o-[8a:oCH Jy/ޏuܒBѱJt+vvA~K9 @k%2t7q:(I9IYʎa [bPExˇׂKgj<(;ch V&&/'@^?Ƕϐ.\M%2 @c qRɕ|V Y+ɹɹrX֜Z `drPJv=?\+JdNpi<]?5B$}tCIENDB`~%J:ibJ(R"ߏǭ/0KmT’.^Zb B` icJ@`;{!X[AN?尮0Ʋ?8JlN]Q\.lPӲ;K#Zu5q!P| _Jcc#X0VxtM>LER !-ac| o|GɍR[ l @Ӭ UQU6/rj86x\?zΛG6ќNq9.>n;%QA3鄂O$X,JjNᶦ2@˩@}#j*3Ї5!~կ} g=>\P(@1@kx=tMKW(͜_"c4|_ٵ>ݽ=/IqQ| `h =#dӕCf3i(UXz7/W>B**| Xr,D G"dC~ Hߚ162L._ L aRR\p,S}1@X"Q(XqѱNM|/p!2Ka -,aa AQs-ȪYD撻ѱu JǾgּ{7Μ1 ./{J!jjBX"uY|2RI۲_ouzii];WxMc|tpK- ֆ%nm<1:6jNHO411띝;~:_|GOʒKihlի8)-0arCǎ MkEQnޛ /_v۷d{{D2td[Jcc\2TKK)FfD(6 ܱ`ZdQ}}}iL&iyMlxroBKRӛ.\M^ɖr3Xr[ULW8,ZV_ovIENDB` ZZI xPNG  IHDRw=bKGD pHYs  tIME &h+HZxPNG  IHDRw=IDATHklٛ]&@H )R.UDP#zKT %R j4 IF\ZR¥u b\`].;3;gfNٺKIgEJr (@8 8u[V 044ȍl)%ukk#>`C~@? 3[!NH$6l[ꋛ +ik#EAhhh`hh .ŽNfΚ!PWB{ﺛ*gz.ǫ~C --OQ/h455|v:&)n|z3P0(+VSq{4䉓xUv[x<'}Iq/Ⴧ6/9C1T QEI7chj^MU108LSSaqfQ*W?+.8~8x|  [w`:Vi´,H)Q,+Z:te$MxoxWzPŋ)A(k ÿV+KoKa:;;YLss."a-B1J)b:bk0M ۇP~t!wrZ;'R4chm@2@ PJaZ&\7wў={^~^{.RJ$@J@{{&E {7R^pv{_Dw.UV#ASs kxxc.|7GPk[HI-[|H$nbp##BۋP155L ,Da ,8iju]CB,B<ibL R9HXؿVL۶h7rcWR<999}Ӎ7y'$q7㚮隢( TR yAh4\.?*cIENDB`xoB R@~R1MfxaPNG  IHDRw=eIDATHI3ozCBwLBD!BAğ@쐐. A8@hw-߭Λ"ye0R5W??xۣ#qr7#l.L`xPNG  IHDRw=IDATHoEں8v,O؇HE D(8q@\k>Kx sb``p  $'L0RAN ɼr8 <"Aa {+mF6cESB%%y% E%) % |@E.!}n26f*Qtw:)Y޾ ) Q34Jlx^PNG  IHDRw=hIDATHYlTU眻;]fDvFlQ(/_Ԁ&Dc1%. &q&*4H`ki;[9>(BQ_R }ǟxw,IT^| AZ brVg6MMrE׸\" EQFٔ9HQض}{q WW,xȿ>7lX@B)\B )!iuKP =၁WEؾSExMEEGB" C%KfB3t  B*SgX!)%9>iDDKAbl1Nb{`zʫwd3],'y0ǎ,ZZ29y}=uwsٝ/ONw0Й+b۷`(*u1`k]ǥ[lmɓSݨr˫ 8H\fiyWN{=ċ/癜bo_;R A@+8}4.׏rF3A@?4 333͛\>5 !CF#i]{@AE֊BᡙIkQiy9 9@CAp6mh"ҌJ -(%"|@p!4@kkާwE$^VkRKBb@Pp1J2*AkڻEQDhCEmqudcPcpEDƴ7]2C)"޵ӻol00$hPExVJkxՃ]ٵK\sZҥBBHdS?r.Clm5`{݅}|DžT? \H_ߞ)ӏBHZKG93Bl6|h._n>i)IEX 8&.pQR ZkN:67k޹0Vc Ru6VrlX__ZwfkOT*:I7WVV~v\cB2Zc!bL?+ZֳU>8c."1f %~>lNIENDB` BPa9{6z7vz'i\|ѻsmgWWW\xNB.FΙRf{zGױ2/~w||d$$#$UN""_#~[?RJVwϏ38 ͐)Y(IP ;{5j|?<Dfy?I@K''!r#0;v}wĩqлѤҚ!ޱB@ 2YtR檄$j(wޙ̾6R"AV`TeFJHֆNYfFyn`ޝw !R"{0FmJm dJG;V P3(K&$UfPUHN^z_2wڸfFiJJ4]jJډd c$QuPfCoΐ3!Z In3s_;jt8"{=PmHI6UЮnBB,ͺ݄D'D HJH)/6=0Xu!/E3Rq@Uyސ(Cr렃ҠB:֝C~ <sN2aJJ ɂ "[j7:74)s?;(q/|{)'2#"dH)1#9` ,eqAD͆c/r a0fCJ‹/w RhhQJJϴhM򳫵߹~?y=11D%8!IH^2.n_tqr=ztɓ8m㓓v-lK)G)Qj=@*&ح붘dF~c.o5s>,]fƷcIENDB`,Bnm%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxLMoU1xƎcI0   B5?.@"lB|@]*D7B#qg{Y8r|9:f8B{]漫RzKD*p`G1AzME LgNs]WrC%UWu7hh5f>8"i5! k(6 31ć)pr>p_OTn\}Wz s`X yR [ ˃M-gӓj;('0"#'!&'dQJ}ӃZ0ZZWW.<ͭk}%Y~9zJI%`dZۿ_"sZ,Ӛ.%]JRY\jSkW bOr e_^+ :wY(o\oW0] ^xou{o&:1Ekkڣ۞ O<ƀsDdma9- 2yMG /<S) ȑDc BNLw,\.˭=߶e5]qʴArIJ =V KJIENDB`#X? { {OsxsPNG  IHDRw=:IDATHˏW[]]3qbma A@[0XH,A  ;d!@b (DEJLxf<ϪzârJG::Dz`jϧ'qf D0ss Or,"ks6_|:%74lE f{:μ%l.G Kn% #_MO ڰL@=pUTA^ױ%[ݭ?Λ[f56؝aA+WU}N˽ĥ%T2+NѺ V.M^xq_NB x 3PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m NJ=խ՗ٻnvm.#WۛBH`b_~+rivJx5Cf@LF&X,x*+"'K Lh.]SGVϿ1ʨ:U[kYL3iF1AJ RtN2Hᢥ4YYZdl3}s _t廤)Eg|5vQ!1q$b=T39i1&Lv& ~>Yj63Z_^\zZmK?ӏWXj/"]h3gȐ !Y3eCl ť ڬp rXk ~Lo_qڛE`ƉEDTZRF6x+%!XI1v_%^BwBB+h4FOޅv'836-_S̭ cÈFqGf6.N(NLS^- A8?Oj@vQ]$ `fbrNJX:6zjҩ+g9b?Ї-k"H&bJZ:QAD J sg16o6<695 џ~m~B{mª&UQa*]Pdӑlx|)})w4lg.]Re4oT%s$rܑ9Q)a6IgfɫIOG (ga7ZV%IџIQ]{sgƥ A-xG @sjUv/쀈IENDB`vs$4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:t@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 4 oIDATHǍylUΔQ(DE"Q ѪD\\ DWBSWт(P@W_)ケǝ5dfΛ{o#V4^mzBڌe7^Á$ŅԾ4O WꪥK MϠjT+iIGkdOlcn^?@`{#pT)2Ǎ#1(" PAAՃ Κ¥7&"A1#  4$9m*9OċO$D!BOa 2OU 0w$uGqϜϛiZc ՠf Vaٹ%TU[_&P~F)!QD'߲yA:",]9u9[>@;!PT2WL TF~tVUDU%?4mmcLA||M8(NK+"`BEm &-kwƥnRP:uR1{W]MlY2Ш/ `| kA]rM$R (!;ğ᪃R1@AJ<{p?DAC8gi&C"@Bψ_!""L!]Eϒ$wDreÞ yH ]DAPD1xW9-sFЖ4vd&(ye91 @*_oiCU.7p= 흍4(((]6IENDB`>yq ggPrxrPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH rw0q}pl܊!}EEpvyv᝺[\AH֪iKE-[zowV3Ȩ wtmRF5k(,坽8ypG[Giss +Q ؃ _ϳK<=,N NK1KRY56YOkjJ)hCf6łxuŎ0fa1z@ a 󫑑lO:5$.J~s(CB1}OӛRwo"l Ry? A$L<T{r =xͤ;=5U \.`vXQЅ~TγS} +AWx쌤mcGڳAuȝ<>h F%O~*V6 twr(Dm 9@,:uwwd4V xN%2杘[G./c-!n/b}*䴱Y)T gt7̧bdkХS)%UiR+dȍrC-kf3\dk"f++i#o[죣N{R AElpvմvў,Q@&&_f|i 0e}rʉ۴ܹ?Omn2#ߜbY[P&ī۰B0īuuu n \)jɕq?*=jBHŠ.lj:ӧ_֝dC|Q#7q&xy'07ߓL'>qJmR0k^k)"kmm5N 02S3ڭ[&, s{oiP[- (˼y N1(S@#}+#8qOF}">Ȭ@&T1gDWcѽ K{my.ԥ`gVn.3(@-zx^6[$+T)qlωA?'^{Vc!"N7zzd ,gC/uhVau\|]&Q3vmy_IRD%Rv\!18BKw GA{v^ﴔ" Ngi_Uzf՞`2`B}u/6\TxK5 l4 >$dKY+4% naI=!FcJH– B!GwM(23G3JT2]tw2(e1l-qW~,isH) {`=DwCP@+[Kxo-_⍤(hKLf:6>.ƅӄ洜ӹ,PQ6@% Nq;~A8zݻ'? SJ39Xεr YU%W0SkĜSW~@Ɋᘨ[H>>>99;B^w7t x³X2 +i4!Jl:Qʀ2; L+o!-,p3j˫̗?fbՌw{X7~Z:|㌲9W`PziдkfčI9zGrm0'zXsC| ]>>uq 5aͤvi׮\D!ϕv֎w  S ]xWy4]QJٲEЃU}F3[1TĄJV2*0B # cIh<{9{~?ߛdm}4Rl x͖7sjk*j҈P[B#(JpEV Q[MZ/J"r%jTcJTziϻw?pg̜o̙3o빳RG$ )jD!!&%EXY`[aH1 [PZ p;=b{"IoƟ jgᮞפvx\_.E<ܗ:x켷w Z _|OH{@Z5YVb3X~=̽=H/o챇iЬ<?YG۞N.t=OcL~@?9 c +4eLŶVÈb1]wQ{@Lݤ~\Qm2d}Ny\{"QH xV{84/ cմT-?Q K5;-3_rRSRsɬ]~0iXEe:<9y}|?>7v9-X1 el|_gK".rUHUJs: -(GW# ݈VP Dׇӊ $h98^Q-q%`~5fHh,o6ׯLIH!&v( XZ>^ ~}1q6̦v{tty~ #(-27<AFKPUZ_dinsx} "(.4:@FLRX^djpv|  " ( )/26789:<@ H!J$L%O&P'U(W)X*Y+[,^-_.d0k1n3p4q5r6s7t8v:x;z=}?ABDGJKMNPQRSTVXZ\]^_`abcdeghijmnprsuvxy z { ~!" ' + .26āȁ́Ёҁ!Ձ#ځ%ہ(܁+-/01234567sN)flrx~ &,28>DJPV\bhntz "(.4:@FLRX^djpv|`ZTN(d!cba;=?ABCD`EdFeGgIjMpOuPxSUVXYZ\^`abcdefghijklmnopqsuwy{}    ‚ÂĂłƂǂȂɂʂ˂̂͂΂ ς!Ђ"т#҂%Ԃ)ׂ+ق.܂/݂457;?CDEFGHILMNOPR S T U V WXY[_|i76ḦT-To.Wj xBBXGdᚲTl5nsQIu5%\p^$ ǘC[gN|)][%7"^^ ۲ 2(m"@D;)'gG"֊<`d1u:/NZp:̹BXdy&fS8ۗ`c)/~s5BP4YpAnm@S WƂyl PQF "{P^</}^b _w H5{ qq?d67_@p`=VU[hVb6@6" m`o:L>kaklLz,>|KS]^\@gwvF,Ic*Y=C6E Hk3gdx2~y;/;vQ[I6OExc) wo25Jm'|.Y,>{MkSh̯ڵxBRe2Nh.D7={pd7uz/ˏܝ𖵟}X3}yhi,Z3sZtDѽɐCP@7ס&_QXy;#_8Lp vk:N5} …4D!~r9a%E|Xfa} eH?7_D}8Ы5-r:S[Ծ#]^cXҦ!j~KyLA OUhMM0der:H UoL >3*]֥4$ i 9h OߑUhʦ/!o`581b?30Dܼ$)!66LB'Y!Ue䍥/}9޺ufru A!U0 M[iNb:Er0Yc rQ xҌ3V߱X1x)mHp 톯&Xxd>R\nD65+ؙmz4-)j-sjsY;]ͥ KF̢3)&- )za+ ȄۍF.{& *v,A-ޒ}vUmhrVJ5 s޹0L-Ϳ Q঄z{POe˿X%\(@^=IܧE3Z|i&}V8ڝ^/o~iu\8\&F6L,da#&076~'1-ǂM0k\ah)rt7 [z`Z2t*bjB"BoPo/pP_)cSBjj]G 'LI6ǵ4e V׷2:P^(39)T5 T16WCM 6ǝ _D~4gZzT#y6+f/(wΞ6;k`[KquzކsFTn+W4NAI$mP#Of"*XQmp$V+/~ii600cqnmEق-8/.-}P>or}"p59rUk_|E4Mu55{pױyq[!޶孚7== 4^UnC; "QxiJdTJ2Ow.Y\3_`z!U ꚯ;o Rԭ6 =I? ]*i&؂T3~LJ2Pe]-V" ][8H{ώWyؒWD ?i:Vba[ɳYT'--ioJ(0c?ƣje= [۫˩NZ C59 *u Y^sxh735%9JS]7ŪK xvUMM[ -|3I{pe+`aa! #R~D$νMsωYnqUѽzG{{{ 7 FqQn1m k٘שel^6T|=yU<TH  ,O*q1[B;1ZRNeV{ɼ];n"վ&ewr3I5ǣ8$#=J9^ @kp]Ex؂GߨR6.+J'˚3jVVU ͓H3/1uJ.v0|iu b^ 8 M 6em7wQjL5[/lG.fL|[AUŕ`kDnܾ\ξ̐]rd[g'tIb|LjWT`$v1YؼSE{P~e5;bCH1C}լ ֜R= )K:|Kԃz8bfj!{mN5TIYXaً֪)A\@s R9c xYD%qSG̺CA.֮g]e )>;F4!LĚCdKx$KMv $߇oJ_TB:k@^LO<ܵ`'ܓb~HTdO R4#cOժ_bW?Oi^x KV"w찾cT˒X1uʡt Di#i.M[o~}hJ%,ܷb\50<v7m'֛ƘmYt _±SQB9Ԇi ܁J0jz֩^r-VУ;;;Kf@~bo˶MXLlLܹs6 3*[WᜤFOSE: t-T)<}QY_},1eært|&B#jmMTINK]q=MirOwBy݀5 E x$3)UW+ 'o`ĕ]jfWF^0C@ '&XxbsjdW"/Mum(;m4"EbSAd-$0 "OW;IՓvI^NՈ$ *ZZ ;T1S) |L\!"!!J78M6}6d)ϭ:NGGU4mdrݩoɊhzWp[x8*d>ШѪ2Rs%]8HpX]f~š/g =ӕ~̶ΣZޓ?r>3|XwWUK5rno~Q e/S gk,/:<pB)Z$J|<ҭ+n  #+~;UM$7t*fo1{Jo/ ܅+Wk~iUP z4Fj't,"S/8fV*-Z3\:_?iޒzXVRf9yCi[h1l/P}I A`.\&aZ=_'Ԫ4pI6TGeǤW!LG[Joitzk:(C 8,PZAI0X n $CoQ){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 0:=vjIDATHǽolSoP'Ɛ 8FT* JuedѦIӤMX5+&`-Ѝ%$FHĉcv\۹w}弟=Gy1ݻ7/JuF B>z᣽ݤj @1 |avC2u%0$`B|-3$ إz;`^mpAqYqs8(ꁧɺ' TWWN!!~/%%IR. !>J`+QӴFG/\Fg6oLбcǒmmm庮;Ѭ/8O>=AuuTWWbx^en;}`wwΝ;~7o[O?Yk===$]lYN[ccco v6gd2bcUUioP߲=AZQΝ]\A~~u!Z[[Kf-L/o_=V!8{eH5 ~7@Ӵ`Xdma}9wtD.).>x>bݻwTU||+q H-)Sx)Q(0ʌ[<7^}k'' bXly Zil1&s8Ba;Ah!Ϊ*e1%qMZwwhnnn V].5558Nv;-[ ^6@$ڲ̬h6ݺuҮ]"%Z8n߿?$N};)/FH-R (.su/`bbb,8h4B8 Er_ijjzt:QEQtvv  /$SwMFcF___~:. 麞鼼aXD"Qv)Ft(0B8-l:o|!^fe9*UVV~ ˲f͚5\Dm#32GXgF^b65E4~zOeeeǏHwQKJJeff*~Cєe>9X \Z׮"4&TȲc:asLytt0LFf$lL$FGIamE9qRd~TX@}g$) %) H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@FKT8x8PNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME *>d@IDATHǽO[ǿ{6<1!clL UQThED΢nˢXYD.RU.J !H˯}=.TɨJ~7,9?ߗ{qӲ ! !Żw?|Y]]a BD!! @ tlf4 ! L9٪$ !l)d2pAq |fR<3ZXX'tz  BEyt:҂;B[mbx*jmllpbNj;wTU&''Iӑ;ڽ{ꪪd2zBMH$b|܃_ !!,//a!/F)(>z7o$m l6}tt:,\*J<>5mTRqvZn7CV}YD򋋑TJfGmaaT!BZ5!p\ U>[]&o702C#" %geYVw7yG2<(]|YB p2ƠjUU;XlYVʴW<__twQ+KScN;4;;۸~aqq1v@ Nj]^^v躾ѵ]tf~~<~S P?G [p&+Ws`8h&M$#ZmK1~kL}y?$hS !0q ߥ;gf'OST4!f:D"csɤw~ q/~?`[CS,Ư;@'p%UͦAI䤉D󥥥ᥥkΩ4[ 2^ BNMS€`~!x]+BGB2R88y lu7 (kFp+,pnC&.$rl'''@ UŐEUUxv[uLR.z'<LN`^Y`kCmGh4 ˲Fm۾ZT۷oDjn,s~#װaH0Bi []$M6lA 2\.4ҒNիWv;td((ITr:C1hӰ ۸~9,fs`04HdRJyeq]|hݒ\Մ0ML 0&)jD,01Ei(J`Z<>ʅ VlL;  Ce1qc6jrr3-*! xO>F~hbfz,Ro T͎hܲ,^[GGGV~{{;gFǍ2IӴ<9ν=lllǍJRu8Q֭[:<OZj=S3˙g?iHrJ6IENDB`W.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 1 JIDATHǕ_LT9sf`A`Eg+6j41&H6‹^46zEslLĘX7mTdX-?F@fa`f9s^,v}s> 8qmF-,tv!]t)7xurdRʷeRJ'`, BWO[Ku}򈔲&4e+,{!GRʇ`0T@ P HJ8WzB|Bl`#0<חwW&P?\C!E!uMn9^UUn ! k}0ߟPuvv,@1;~ŋ3(XŮ\tvvJ)K)877qpM88ve`LJy' ~RnR@Vxtڵ!s)㕹\C' μfQccWUտ55/--jeOŢ#of;2;߮ohpRD~{7O*O18y$tNONNzMܟZ\(S/X92ۤ'E\]CP:NHxMN&I!D(EmOQBﴍG1 SAsR)ع!߆lM\FTJR 0P^^qZPCpk3E136*S"6POb8={n24&''JKK㚦%@ 04M69\H,8r ̏ P.] m}+s @:.:a&''K+u`` [UUܙپ[,^ȑUx7R}u6=XFɞ #'6 H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qW b0XdxPNG  IHDRw=sRGBbKGD pHYs  W8xxPNG  IHDRw=bKGD pHYs  tIME (tEXtCommentCreated with GIMPWIDATHUk@}  <\`^B|Ch=%:@ԡKnSHڎN6% 1 b0ؕ#~ֵR}%-jhZ&زmZ`LS,M͙vdֻTkJ ^W‡5b<^y5 y vu0Vʈ`5U)"ycqs!oW2UpzvM<۔VO$k~R)8p_ O/Փ՗^GJC .f4nU|S/K5^WWy^WZ|E5yV5I /7"AwLc$:B"N;($ƓYOt 7ʼql>4Jn<,Rm.rPJG#n(3Y8NI;gׄœ//g(|NLZuy}ʆW?}s s&D2ͦ4MSLl, X[?RqBضM6e{{%L\inn~ǿ %onn>**ضa gcc cq9wLQ$p@ @}}=pB~Ogg'ʽTKK˯7/t]IQ)~?`~?^˅|s||,ONN4/$@wwwҶ jjja<. )%RDJ磭t:MXOVdT2 Gmm-B!>rhww7DUUS)x<B"bbWB0<#ssslll@ţ¶mb(+#ե޹\fgg4<-qBBRb* |{{.( "֟^=pqqq!H<{E_5tUd-EQLȽ%ɪNh4j5rX oR> jU<IENDB`b %%WY2x;PNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<VIDAT8˥kRQ`A nozѨK?!eMmm9%Mٲñ&5d^lxusnSA/ ** խ(6ZDsŵ>9Gׁ 5lcf l"|n^'iṞ![>DQDί'r::;Hjle pg,.\ ZqBx5K$b+M,*$GmiQWI2V&ahQQU8Qt)!?D~s Ht+TZ4 Y h,Y9t)>;#(D{k |sG,â\6o7`֧GKD6,8|w#ûUK3A.߮X  4w6p^8{x}u6xYWí\O"bKe1!ޱc[ 'zf>]"-Sl܃<^ = ɲ 0ۍan2^=D6ܴ`cw)䫠iJ|rRIENDB`? hZTx*PNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<gIDAT8˥Kq zäqV(uD).Vۚ:nWS$#aKkz+mmL36v„"=>>}1: /8y>o??#TX|M-Rv,n1O1Eirf&F@lN.`9QXһ pg\{?~+E4  @[ˤ:!9%)ʅx.D F8]ND3deH']\ӍNtqP|PSt jʙЈ2A>"eƍ헮?F>3eh=,RA$!d8 «Y97'@77DQf5Ž֧@x&_mjn-̶/=e,ZbT\y—Gu+{!V%E[&ת+C0o2A Q{`:Nپ:ZpۅHy ;{`dSTyWF CT>;/좓IENDB`[DB /+/x\tx sb``p  $)$ow `@bnafd5G(^~[ae@!׈ԼĒ̒ wO߀F>qOǐ) ?446ij;f ́<;#>x~o[͍dXp|\j*pOKZCv ~~c;YV\+.4?4(=S71Ohz|_ۖno|+IT3X)찿E+f%vNiZ^;579/䶋KG68jG]ϟg?$Y?+xˬOխ9إxsNY3NY++I6EJobƇk;az/ύ5xrCyF{|Ro) xQ[&x sb``p  $) w'ud^9lI. 1 Q%I@bnafd5G(^~Eߔ@!׈ԼĒ̒ wO߀F>qU2.!^b z>LJ]SF= "{r,Qd:cC ) K[EN l"[m& S:LZUu.KLk3.O_qm[⏩3̴ Xҳ00<]\9%4q L9^vx sb``p  $)$ow `@bnafd5G(^~[I]OdkDs~nnj^ sQjbIjByfIo@x#8PcH 8^7wDc^,NQ!VEeSBB/~0]dxbPNG  IHDR szzbKGD pHYs  tIME Z tEXtCommentCreated with GIMPWIDATXcd``0#5q@,1{>Q XIcMg72h8\cu0U:T>آ:Eg"-TuT rR=գOq\hE%_?QOHcrc?Qٍ |!a#~:[[/vݐ`yDOV+OO&%Aε;Eغ b/j3d>gJk1fmŐkz1010rp0XaR`ʍX[‚آ 14\bp/Wb`C^"pd# sry`aF)Z we`]9nQB->NjSHѐg$431;v͙IDE#ZuL>*.Y7 ;&%a _1iM4 hDŽq餸IENDB`*',ks}8*EPvaqo7vmkFA#{\]dεV֊e/<,J`  ݮDD!*SZUw e-)-Z[#n Jgn"I#UY+תZ.M|fYm1jWeKЀeFY Dpdfj]Oq-kfE0 $<` H&33"Wq7q˷U &'n~ M<|3n"ȈX\ ^d$Q&d6M0\"",3 ,z)]d} # =L3%{y˱ /Ai/+7ǿ4'|vpqލPEv ~Cɠ^6;. E_6 8/xCiD6!i+vo?R]޻&ϿvX͇ۡDA-R㻫.QiwwkoS]qf w|v^h':U507̃.ld"B{IENDB`5iYh //v`pcxcPNG  IHDR szzsRGBbKGD pHYs  tIME9&e@tEXtCommentCreated with GIMPWIDATXW1n@u@F%)ME7D\!  4 ,d9cÇϰ%K>kvg@F l׿ x0a1fyˇpe@c>`*R&QWWF@Tub5K^ez렞ۮ"To.OyH #Z;NB" ?MǁzZU wAw4.{[V+2beAI`>% YD$*qBUlX9'<;SNg5}O[U#B"sUh9xw4e"{wn #x]@?gE("OH Z\,8S d=}TQ[ʑHOdO> \,gT]p:~aAReF}h])8 F2a-IENDB`HK_8x8PNG  IHDR  pHYs  tIME  *4tנctEXtCommentCreated with GIMPWIDATHUV@o1s ,sn+T9c-*f$H m%Ctitq-܋kq-T2|9 L7&l@6|>2f<`(usy]\*fFDA d /#t;FU\k㺢VTEdL &=pc˒fЃ'ag X //MaxEPNG  IHDR szzsRGBbKGD pHYs  tIME **3-"tEXtCommentCreated with GIMPWIDATXWJA=jBMRt!DM =G3MDdxeڍR,Hm6:;;53glqH"xor"YZ{ooQO!z&֢|e[кc+f-kvNSǜ ` b7O7εL/Yqm ;K*:4mED Ţvڻš4 baXJڻ%sA(,oΫݓ ؅n+JJJ0h"9mdW!mw\#?&p2Xp0}*:+P2/Z玏 76Bz ֲTʨQyioBS&9xFVG&R:vg{|([[$8lh IW:Fj+4U># Eڠ5JQ4FR𮧒S9|IhaK4tx%dgz R6߱~IENDB`a0 wwbrxrPNG  IHDR szzsRGBbKGD pHYs  tIME;;tEXtCommentCreated with GIMPWIDATXW=n0}A ԅ3pЩĀQ$.VX:1%+CEP!H␀?2`1h:Pǽxmn΍xddu)]S /$pC$"p ! j#\0컶`Ԝg !Eջ:59 Ry.^~[@%SG@dSjiXG Vkf/*r]F'kD͸^{^uhʟ)F`MH̐R!U%[ Gp&<0vdYX==8IFB׈01?e9-EP^ ͟r| V5"il~;]f\%n<0o]:Q|fa8IENDB`j e.xPNG  IHDR szzsRGBbKGD pHYs  tIME |tEXtCommentCreated with GIMPW]IDATXWn@5,HɅTK9Pġ~>ws;N<D 6 =ZEB2 3[x#YZyfwv- O84PnÅ=g Y I*=D[;ѮJOOlŬQ8>9V)<@ qlhQD8~ wf2 $ɦnW?D @@D@@uHu/t"~pxo\?h~Z;3 {@6!p[Y[1aÊ@1aSglU3eri⪵@fbgǻ>Z@IENDB`@- ??=g~xUPNG  IHDR szzsRGBbKGD pHYs  tIME ultEXtCommentCreated with GIMPWIDATX햿k@?R햂m4쥆AK]ZJ%;-N]l2$ESc! I|-YDg}?޻'Y`VtݭO S=,Cl|V{<;8X^6XP. ڛ e\O&VA0s{L-TMQ!rTP>ў,kTMYU\X>e-3jz@Hڞ$>6l5' ŋrފµaZ,4Ve+.siE .\ b}`;KpcOΏxSN0Q^ۻ<: vq`/ CQ@|g0p z`e{~L ^|T{G?NCP2 ARe!h*wR]y1l^C'Q= !aE`1Uc,t6W-6():Ihri+ ́gYq3\$,#A'<_?s@ RoS5xUvoiF*u`Ċ\0 PԬU"yY=xا?r;ne"R{K@[zΔc,@\ "8;# G WGÁ7BtL¨ ٍ"~gXXaC;T7Jaa,tTZi(v#c.O2O"͚QfaȨIENDB` !iFxPNG  IHDR szzsRGBbKGD pHYs  tIME , tEXtCommentCreated with GIMPWiIDATXWO@}+.EBk)a=՜!zGp7ߦ_A)KZ [Xl]C03${{ @qXF~4! D//PoLH!ޜ}DӞZ F4gn[h% ]'y HoskE"@3F3sL'AӞA-_miϘ2T;c %E4uy22JC(_E Pw $GS mA M&ä}䟁9XUwoةӒwnP@_+g|v4~y Jc"k,Xd Bo9]rʢkgaSP ,Bh$MPR@)0,*qf/S%@ 0-C} ӥ"Y!U~_͑-kx6sܟݨYas:w)(#;:w׈&no'QF gx !#wr@drB$~ɷj?IDn{[] wd2uIENDB`Pw sjj`x`PNG  IHDR szzsRGBbKGD pHYs  tIMEDbtEXtCommentCreated with GIMPWIDATXW;n@}Xb# J3pBRXP \ m 4R6AS$K 쮝ɲdy=3d/jN_#7:w7m.lZK1g\>ex:箌 E`;|{y'r>\JMsHlt r_UThNMC5@D{qko:D"WɾR2,(o4 ^H;PDcWّϞ~a@ngEw4@lb;%p:͢ŧ NC;{_fcBg!҃( kb)M(:)0Q;섍totf֠IENDB` Jk7x7PNG  IHDR szzsRGBbKGD pHYs  tIME %7)ЎtEXtCommentCreated with GIMPWIDATXWOoAeG 5D#)HMx{ Ջ݋LLi\lM lb#Hʎ .R%μv ǢrF2 rv+^,:;:-@CIЫkWT贰szPRh()]\Dfz St>b5 wni߆al_IZ0}Kf{#Tb7;m+&3 c w7/ vX9Ν _c0EDf'BWȕ ׾+劖W"""f:J"J"u0ȢS*}%i#3ܰj!9p4ZC@Ղ0XT>Cm`3dn̟ds o)DsأqSS1]]ȃ?dҸID kZWEa8Vۖft[Jf3>D9be0$ Yd+o7ebe\Z2gdl0dYmQIENDB`Zlh DD8ltxZPNG  IHDR szzsRGBbKGD pHYs  tIMEɄtEXtCommentCreated with GIMPWIDATXWJA=nܕD+tR(DV $"J F-Lt׸ kfg.{Ξ{av ` $p'KIwCU ` }'zq? -4Ŵe7zܛC [ea/1r7'H 6`x:=}TL.0&^sc% mք.z*h%Ԇ 4ڊJQ֝25l) $^v">vHBQ]Zo%QQ/"X0DV\Jʳ2U,5m,0I@T1cqiyDW`|{;\xP5x_5\,&¶ "jz;M1aVv7cC1m[+?,lV܆=r &7dqj!z?ϲ]IENDB`u cmJx/PNG  IHDR szzsRGBbKGD pHYs  tIME tEXtCommentCreated with GIMPW+IDATXWJQΌ*B@AΓ+o+ a+E0A&zZ s9QE?b̜;߆أ }k|qVx6i;BvGRÞ6߄|vYb<-1}Ld,QcN ޛE'rfTgJ 7:FʺaGdxFYIJ:*)n?PuY@XH;Dٿzf= #Ld@̣kzcs ;$0&CTxzfJ:Nf:r Q+h+hq^߹kVDu`9lr<|2HkIENDB`qp0. 66FnxLPNG  IHDR szzsRGBbKGD pHYs  tIME^=tEXtCommentCreated with GIMPWIDATXW1K@}צQ(urr'C$D9jAt?]]EDl5sB\bc?4K{ 10*鼝sȿ]!܋9p8&ohWߵ0t.h3nqzdoklty_| '?>S ]tiCM%vMݻ{i᳚<\@rE{ @a~{q]of~QÄ~-smF:#Y[X^JX-5LĠDk @%"ZS+8r ܗ' >1:\`eMb"D5$Х?с$ a1:5̄Q>b& X,DcqŁпJJL%epbAMЮlBwư_&`|mT!NM}DecvA`pY]erxܞZ7]-iAq IENDB`D)J boHx0PNG  IHDR szzsRGBbKGD pHYs  tIME !9C8tEXtCommentCreated with GIMPW*IDATXW=K@~mBPł(duj7gտЪछFTX2iuiu T)!4 %Ku>ׅ _7&qf~ L!f0a< $ -בZ`e|(>3Z`fR|!4Yd2J*" I?YO$H5aS*(Y2lU+ÇX, UvV> 6{!|{1ۊU@} K~fegQi{[jCy|el/=\9c7왱,lg6$/7Z]@[/YZOO jEYֿY="z1} "{exG4%WzWz!@.~koRvp5 AjuCaHUYMJ~>"2aTnwB0x]Y$)|$ve?`Fu~b 1Z&uX2#2ĚP"ՃoσTLr[Q#gRb>t0{.N( Ŷ$rYUbub%/F8 )\yDLϲrUIM.N_V$w[ѧL(F(US5o­4a''4Us@FH8NZ;8kl~jP9 fJT\p3J`LgķL7> :nqXV*ݜufl|`j`yhM %uh(IIdNiFyIENDB`R 3 [q:HxHPNG  IHDR szzsRGBbKGD pHYs  tIME1_tEXtCommentCreated with GIMPWIDATXW;r0\CSq*70Rb \!4r* 祀g$!!O $E&1^Xe.!)9x4"M[ {=`r/b,@2"m`p&#:`-=V~) lBt|\^Qx*hUD 3(Yt|ή9}dLq8Wxz9zwnk30Lf]lp%hK Q{PMf}ӾIضTd1l|\FD5^~@DUqvݑEFMk-snm]չ43sV_Xu7bනj&̾?+CIENDB`Wz z+z-s^x sb``p  $) w'ud^9lI. Ap品" 0kPו ndkDs~nnj^ sQjbIjByfIo@x#8P?Oǐ) ?446*ӯ}s<><qUʞ.!S~7hhhm.}IOT<^u+3Ąw{Z*'8;,ԶMˣmf9zBԊ#ڋ]1;C3@֭Ȳn}#1/&;JHHCYɄĔ"/.P8!ȭ]VI?0{iR‰7)IHIIx}x˜b@_cE*ȎSnhW4ǀ+#yӅÏ)M匐q=]irKGU҂^Ɵٺ/0L<]\9%4t+ $/$ux sb``p  $) w'ud^9lI. Ap品" 0kPוʗz@!׈ԼĒ̒ wO߀F>qU.!NuAm?#.[6z&m_Cu% YIYq q5ةNaF3U7.?3. B͉ڳOj01X>A.7:- Jkg}yGd׎'òc5Yf<޸}{'B&~{mSɭxM~{:닽'kɐ6-L2zJnq3[WL = ^>5QU fE6gwqh1łj2b"罨=ڤƴ·)#tUEUnjכYQ3/n)Ծ" ט 1) /Mtx sb``p  $) w'ud^9lI. Ap品" 0kPו«igʀB%%y% E%) % |@=]C"'$$8o]W/)zgo:)mKXV9IqBǝx'Ip3z=bp ".[6Ԡx(@L)Cٶ| |]b>a'=r#=<<))aO/eSBC҃[v:x sb``p  $) w'ud^9lI. Ap品" 0kPו+ @!׈ԼĒ̒ wO߀F>qU.!߆[596H7`jm-ma}]lK^rp\n?)bV _\W|wc[ s)w"9|cVZp5QҵJD #|gz(B>+Ã@U{j̙Xp0{|vT.L XOW?uN Mw&) AALyx sb``p  $) w'ud^9lI. Ap品" 0kPו+t5@!׈ԼĒ̒ wO߀F>qU2.!S~7hhhme:w.ؙppsκwm_B~ 3kORN@xy!WrGHظcڂo2[a`ĥ1CyߟuZ"U%%%%*npqGԩ 5 Oبodʮ!>Aj͒ןᱟ~à Kmk`'{ˍѲls֒EO|dsx;F򾯱 J_ uf*|BL1S[[ ^"grW``2xsJh@PhkxZx sb``p  $) w'ud^9lI. Ap品" 0kPו+dkDs~nnj^ sQjbIjByfIo@x#8*3Oǐo59$cqS?p4I-Lة#m{NV6##5rj#5?sfÌs1?r[~dwr]u'W31\|3I"=~SKh#v$SGjSm\ 0L)ϿpFZ%_s2\0`&Roϒ~֩gxxA]ƾ~[o1|D8M+rRszj}cVvo)R[rLd&3~[#0SGo Yw v"Ô2 翟(9a|eSBB >+{Zx sb``p  $) w'ud^9lI. Ap品" 0kPו6 7n_-PH59?775(5$5E<$C7 O菧cH䔄 Z`dU77Vf7Y| Wީ\vJo|Dwt1eqnދ1F?6({Ⱦ V7(|JXfC,6 ps:UˉO8*:hqYV"g⼚lO5ny"% v|pQ\R-yYaJC̎IYX$%jK+9G310<]\9%4=T>zx sb``p  $) w'ud^9lI. Ap品" 0kPו6 7 W9@!׈ԼĒ̒ wO߀F>qU.!S~7hhhme3sV>м~<><yɲOwxQqIq{M bL1{8I,*= 3J 6%6P0ź9z!0v<]\9%49ґ 99Z8x sb``p  $) w'ud^9lI. Ap品" 0kPו6 7ϒ@!׈ԼĒ̒ wO߀F>qU.!߆5H^2ݵQœf7gXZ,`Lz3ܼg [tKD{Rw`]ǯsg1#۷n raOWV|tԩRc [iSsBʾ:SK]QLrli_Ya\xϦ/w=]v͖"Z SUR/Aitwk?> WOW?uN M'e~Nx sb``p  $) w'ud^9lI. Ap品" 0kPו6 7U@!׈ԼĒ̒ wO߀F>qU&.!߆Y2M4}-K[j;8N`08ܺ-"jGCV.~oNhl-j;WoLQZξz?۬Bk ~lֹ3T-ǽLk]zQ,9|oڜ57d;ܯ pK|Ks驵 =z 4YbףKT8tD,bu`PZ0e˼Q.:Uk/V /!yÔ x sb``p  $) w'ud^9lI. Ap品" 0kPו6 7Ci߁B%%y% E%) % |@<]C"'$$8o]t_*ؙpp3F*Ss/-匴@U[lWl\qB /xI9O|įWD:BF,_6:?8(Si#bNiq_nmH(6ꧬxmFܷNMY43RV}(IQm=l{_`(9-)!!1#BBKswxd-<,wAo}N|b\ɝpq{~n%BE0̟iٖ,`1xsJhߤfPx sb``p  $) w'ud^9lI. Ap品" 0kPו6 7G.PH59?775(5$5E<$C7 OhcHa}M:/m5 BԆZ\)}dцw }Gob>XU}ߧ 3r[OUK`Ÿ#a}\,Z7"S=:I|ph[c ug!}Gғγ=&V;JZAKy`3xsJhCK x sb``p  $)$ow `@bnafd5G(^~[Oв/B%%y% E%) % | 1.!Sg`3a@yno{]F򬍧vX&k/FyҊIڇo3oN0yypXQcN5fǥm/bz` fG+L ;O8zcwsfee\5}ur$2mV`.ݔ@lc5mU\ir!*㕌%%~Ü+%v#eSBJ޿ 2xPNG  IHDR szzbKGD pHYs  tIME  ;tEXtCommentCreated with GIMPWlIDATXVn0N]Wȃ$s^R'OLx֖SlHi#wH`RU}#Dmo8Et8ݵJSc"S#Wkoo<[ܽe]_or$O;.8Ar2"wU>O }'D绮!|p.eDg/<1A?6`?k Ɗs\hGXM#քMM 5%, D%;:/>U1kro)n[c6fKV\h ,2 *ųӕ7>GAo>w2/JЋIENDB`( 2xPNG  IHDR szzbKGD pHYs  tIME  $;tEXtCommentCreated with GIMPWlIDATXV9R@ZH\~3(刈H !<(Q䜄0"bDU{uwf@ yi]s fc ˼"Md?%'fV֭qLN5֋Qn&\;Oe081 |:px'E N2\%'Ⱥ!k=?v^jLtǿ*) Nu$>7*PdY*DD&|[HK3M$wN`tD\Bڄu/Pٖ7M8ݢRv忻bגlE@{`*+ͫ=T#IȆԀIENDB`v xPNG  IHDR szzbKGD pHYs  tIME  ;<tEXtCommentCreated with GIMPWVIDATXWN0EݺKIg^)SJ@g }.ق $3@d9lSHl$9???m캟@4e~"vIi?<\2P IB(AB":*I(NUO4eԈ> u j |HD~\!EX_F$ӽQXXVv lzGB.!T&#[*Udn4ea5a_{[ULC>6t~Pm7=cNH39^ɪt;Y߰;:OP[ituKdWjחIENDB`׍t kZx'PNG  IHDR szzbKGD pHYs  tIME  ! ˢ%tEXtCommentCreated with GIMPW@IDATXõWN0=vB:!J2e6V>!S;Vtb!1AUE%5CIbN4.r} PW\׈ n)gh]?DOC7 Pgu1rS݉k4Cg}0M.&& i2Ip~ d+"%KRN5!^!i!fԑI$f DĜlpR%X{q%;+.T _E\U6?Am۶]i@m ieG1$$ mT|9Wb7lHYgwW],^>7ihe_Wg $_y|٩ \_o&T6:odD_ Fn ġYD5H%:tv&$;ӣ89hY9>acȎ ٲe Wtm#MIOZ5}KN y~hj^7cѕ~L*5CRU>Jb6 uC`1FA hãn 07ԤdM/^͖!IENDB`v3 unxPNG  IHDR szzbKGD pHYs  tIME  t"tEXtCommentCreated with GIMPWJIDATXõW=n0q"C >FQ4E\ @' E@Arf!"@6\UA!MQOYodQHtc0|>|܏ S'X+qm>KK{aT_$GZw\妅s_ƺ@e|\FxFKCM#ܐ#qr}u#&6# Gޑ8rbH14\;iUIK|+)ꦔ,' y wzΡ$XN}|I,w7 lֿ?yгf~F;Ad l\~}k-C}[8Z 8 n ꁮ; qt!E8<k/{ mkc65 Y ԅgN|  A5ńc٠8=lJ]Tȷw]` xX )VT6%CfF#ńO-v<^h$ݘ[-!$V4 q:˿͵Y>K+JXPi*gy! t%a;1B.Ͽ5[wzd}+-a-IENDB`^? __6 px sb``p  $) w'ud^9lI. Ap品" 0kPוan؎@!׈ԼĒ̒ wO߀F>qU.!S~7hhhme3sV>м~<></.)qDT 2 mӘ_򟟬Έ0͚x*OI/~;0 *=ZȐH=gD`2xsJh/w LcL *x sb``p  $) w'ud^9lI. Ap品" 0kPו:@!׈ԼĒ̒ wO߀F>qU.!߆;l O&FH3d6 'Ks7Pb[ơS̪!{A A+nF-$Jg3<ذCaGl8xB1XLK/'MakJpkvvFm3-84|I v35U _{ U͹+6!ĖY7.f>E=`\z_XN=:Ʌgߝe|bV-m-84eW>n&/xsՁW> r+#Ga\/ nش7oS]ncȪlTs,MuLoՖiȼ F Vs:'_vZ/5G`l0xsJh̤Ǔ 6x sb``p  $) w'ud^9lI. Ap品" 0kPוb s%K\#JssSJRKRS3K2=}ā{8DNNIHqޠ^R\gU)?b%$`aEÍfrg$JlH tX4a)'xedDVYa_ ~oYc @!YdTtZbb)קɵԩ[̝$HɌ :w5zhn)sZrE3='Nt(3jVR:WP2 /^6[M笴) O\p yy  pxpPNG  IHDR szzsRGBbKGD pHYs  tIME % rtEXtCommentCreated with GIMPWIDATXVk@Ζlv1K<@M@E0-K[vb:xr= !Pׅx*q3Xd(tO?NnɁN:{߻/(un0D bRPBql Hp 3_&"~L%aM#Ifr`<3|!TH"L.UeD:k%R@heļ8~~h!=&-h!Nkxz%0K\7%KU6cdh1RKΗ[Pvy. H׆fڤh*v {( hc4d&yEc:8(>71J+`Ih*MEV࠶aeK;3B I=T*ӿ`!g!|Eߥ/P5fESͺyq}rUZsot)!/Z@|Zf0ܙE=^$ O=B\2c{X}HR| Z–'B} 48"/W&/VqC*RrЩ\2s(=|+z?U64tG5!w?\l\X׼~&pyfQuO~H0)%p^v`1vIENDB`}{ }} lxlPNG  IHDR szzsRGBbKGD pHYs  tIME &2OtEXtCommentCreated with GIMPWIDATXKA?dTbVZ E m4([Q{ ri_`B)\(%Aha(ژLawf'{&z-)DuAv)iD!UWZb.=t)-84ı0pOB T26()s }fd:G[- `LptnɋB! H ֏b7 M᎘  HIx#!5+G;|xH.;!-6g2],'eXUVvq֪QI$S.z00tiU $S ~F_ *Iل2A /Z5U#kU%רAXB0lʱ?U~Ǻ$|nEKgBU%ّ~WOB9pʘD7KS] X$~1Ɨo#7v'2VU|"D~ICZа(w'Νy |v򫃪V) / vRNLz^8؝GO]Owg_c~a`C!s~KCip"A[pv~0zֻ+u JHp a1\kMk7( MIENDB`J G4x4PNG  IHDR szzsRGBbKGD pHYs  tIME *):%LtEXtCommentCreated with GIMPWIDATXW=oA}9cɗ)%KP ("M ߐ&I*lr+db#H'H9ΰ)=-(#yocg G*TSEez2m/"0:} I?K2#!΢ۍe'~m:1*sF!#.7"HKWc`Dխ-6! v0quƖɏ/}=[O R5es9rbIgs9Dfv!7pp"q:yesE׾pCBv=ktYXM0&sS 넭3l^y9><$ߝ49nBC$hD $~nG Cf`cwm% B7a;v]bƫ-L`vuK'ʾr_ÌE;T~0w\: g| մc.ۭSf|v?Ƶl'29F2:'I(4]xX$4ԒPn yלdBsyՖɏH zuZE[o H{D!D }1FS9 cPHTHAr/KB9f2ȢԎWL6D>RIENDB`7b ;z(x(PNG  IHDR szzsRGBbKGD pHYs  tIME , tEXtCommentCreated with GIMPWIDATXV1o@^bjHZQ$&g ډ.l-3] NSVZ&JTBB-Pɪ!81Dw}-޽{wᄐ{dcfhdv*dIbLئ3bM*q{LmNLqq>02fl {33ay0Ȃe $J7+X݁0e%(!xd o8(s  '!0x3\_wh rݡ5s'j=x\xq w)sߙ׭a{u ۫[ք=;{x%Zl:m^mk?ZfTuï*&IENDB`Zfv@ӍmnzX ?zn^~'טzgx{w i }A Cs]˴?U4V4\ޛecYX b]Z9~gfi8aɎ#BDhshԯ =|9b :+HG'mt. W ӸZt]Xŝ[xIKĕO0>pibv]ac0 D2[\KD] *A(R v@wZ>o__۷;ܡi#1Hc"`?4)pwnpitPŐj8o˧r}&T/xy ݓp}!rhg~ߜ;+~L_$gpgA5v6jKcQŔuP=~n<鎬=Ʀ"v$o6N[mKh~ QԨ#GW~{Cg]@)ZPʮ#68ܳ?T_߿zݺkJs/#O8EM[/)F4mW1c4Ņk,ujL?4zթլoAZ"UHv7HO?.TZX]/()}yVs&|F`74[ jQ! ,ٓ{B&ڸrg#Q)D!F; 3 &fF5QyKN_4dDcZ ]m* |xIENDB`o 4l!x!PNG  IHDR szzbKGD pHYs  tIME19tEXtCommentCreated with GIMPWIDATXåKl\?qqEM*B*PlXTRvl@B(UhYTE+6D$ Accܹs.3s/՟{|Y*C-]wĨD *^j+U wlqbl?/bgϰ%~E9&I:IR$)d4˭?q%,!$}3Kc0II#t/?F3]pYe! 89[1}0H7OL:o<00(`fؿ@5tF:ro>go_)R|G_AX6 51 - ,wd34 = Ӻ7jTrXh  xor]7z¹Ħ?{9;S2q3wg~e4Ɂ&\DhpIh> (WB1롣:l/ Enfqkt-.2vD5PJo9\\`P1^"oy5"M?ѭp<6%$Z8ٳ9t(1 bFJ̅m]@H OZŽyթu釾p ꬶkrO)ʮS2-ozt5좤}=cT x.~`z2h\xVBS }*N&'Rgv㻤Q* _?Лz;[7p n7ȩ_H b!y{fsems\*߁UMb1.-ŋ*dO}]P;sp= @:њOi~8e7&6(A@$7pAUT}?la?ʲz()QJ|V^˗2sygJyX,o/@Ḟ-jvGhNT)?/ 4yyF'' A&l?zT)^e.:iҦl^OQy*y-k,|)פu?++Fp&Baquiv ;/_BۿSgn fp6qmZ&:&>>JRcic52Z[Nj~Q} L#t>bX[>0 oɾ<4b41!hczʀ1o>3`Bmnna*'D`<"hFԞ iLK!zTS 6vIENDB`r5 D 1x1PNG  IHDR szzbKGD pHYs  tIME+<tEXtCommentCreated with GIMPWIDATXåKl\WcflҺie"D+`Ŋ%f uW!udžJV  BiS5jIc}scdҞ=/7\^,<|9oGRy]&PB轎R-֊z@K @HYv1糖OKaI]x ϽB~?|!`8X|C>{"қB80I8,ww2 қ&+7M\%Avj;ڪ򃝛(!eq`b,!I-?;18@>o`}c4JϹ՝.Ѐ9B 473SdfE_zb a!lSZGE`WQ4t<x=QyRIU{hR{<é8ؔ!jh?$+I*\UұHiAEbBV* }|r}f9q^6&cT[1t)ّbBr"°Qtv/p`Ws!;O[!% =>fx"GC1۫r%Pt,{Ǯk*8|Q??5qV*yV6^a]:#a5烵6b<|3 (pxFδ7سnMo9<=ˁT:a%ҪN/`z wgC6hym'Bzlᓦv"/f@VTZfhj@ >{NEZU3|U{ ͋W:giän,KQ9[4=G *ˮqϗ ʯPO k^߄3szO_AJ4h1%kT\歄zJ"T!x??4  o?VY$kvj̅Sz~M-n`MkbW3IENDB`i b6bHxJPNG  IHDR szzbKGD pHYs  tIMEĢtEXtCommentCreated with GIMPWIDATXýYlTUs{gtN[RXe !DC"11`4B0D|BLL411LxAc7 h= *i}nLJ N1'̝9#P5}fM羊UvݬDZB-]u<7M J>&ъ7iÆ0ۇ6@w]_-nXC+ -)@cB`E< n#1,W5BIS)KY zSQ+PDųkxTPNG  IHDR szzbKGD pHYs  tIME /tEXtCommentCreated with GIMPWIDATXýYlTU.sgt Zh@Jbx  FM\/>i рFqRіtvZtJ'7;C-*TMptLkn]]Vu3Ұ/<%@x]Z3 \!58B)%Hl!u؜chq< Hc'jW)I!"$4 %OŮҵ< 9U#d43ԙyɚVLE-D "u,vxvgQ:eG )<([;6=8bq&@ʵ [E BrfO%3_K1#>Ί㑒><^.U0@9 aWy^]U|[HɈcD5skDJy.;PpEۆ:z}Z`d9E#x]5^ .*]q@,qX;'kcdH31ڱqLv^&z ͙vDL)׼Cv3i>9H7iKМ+ejN/'r CD@Zy/Wp?dJi\EB]tb&z(iHҹ;f15vUOvE+OݳgL~{|;=JO,Nqg97 ^L4o:-1bУ#c= Y- ͍Y)7%u{ߎڸГ/x "j6-u@5~`GKq ֺFQܜma%zpr w X7bjU&xu _:oP7:Iܕe?@"% UDnfe8$ju#/ZUVS߂9p&";5EUO'u03R}A7lz6<%myѣN\HQl%=#0$$JU=EJ R▲e] 1s4w iadDF`&`xNjkCo 'r䠹) Q5 CzwBfX*N.C"h׳ alZ{M<3}moJqWI6~4B_ݸ$ G#IENDB`)v ::BxPPNG  IHDR szzbKGD pHYs  tIME 74IFtEXtCommentCreated with GIMPWIDATXݗoPٍK(&Mi! dS#BbABLWS:G 5 bCHUKې؉? `[,t=c?("a5d旒[>y%tO+!2CZ6ƱkkH|@ I(!sV9:wYr [ EtZ_HT)#L})PdΉIʱH:v0*`"GCh(fZ̥ܤ!uԋ'0(?@SjBQ! XR'n"<~ͥQWHy<(~<K#HTdق#(<\u/$Mf ~΂\Jާ- ӣs˷،O )1!v{ A߂\eUcLj1W~%gćORI.k>ŝe߻G=>S%ZRD?AӼR 7ؚ|VտisW"WtBCIENDB`(s$} ..N xDPNG  IHDR szzbKGD pHYs  tIME 9ƽtEXtCommentCreated with GIMPW#IDATXKkQLIi.uUܤU .ЍJRqQ\D̢XFKncsd.DžB;.I2933Ho\]Ѩ!*?~m"ƍ$@o,_l,p:_g+Ȯn%B@&w7sOx+0_/@m6+{W0a\mˆŔ$oN@X)6 9bPmlaofCy=Փ~m inWnk `A+b'6܏ }ςFȶ(Ko6e^4:3- )$ P !^mǣ9MNtzكI>=ډYJ8Sߘ)&zgD6!W@Lwne]C As6$'m,}x.p2\H}υ ]Jk{/b˃V5%IENDB` & ff0x|PNG  IHDR szzbKGD pHYs  tIME .QtEXtCommentCreated with GIMPWIDATX=Q3s3~m媅.( 6He@EqN- "fw3ɝ{,Bę̘5njf==s9W0Z< 3ibu+xŧBLU^kj 뙢Y-h7[c+OBۏQmiw0$T\ P %p"w"Nf^p;~Jly[;ƅq? 0@$(G]rW]`ibBxD}mVSķû\ܦ.w~]qrJo+ٝ6l2bUKg`qgVHM|(/q?@P۪H$~?GfH"P-~Nɪ$t1?7f_"[@"aP>^D-\.D| l, H\5SIENDB`#9 `Dx2PNG  IHDR szzbKGD pHYs  tIME  'xq#MtEXtCommentCreated with GIMPW5IDATX헿OSQ?OijBE 3q0qͰ]Lb\M' 6BH0H]ju Z(Bϡ'9}{|{$@@-He{Z|U.H+@aHnЯ mbkj${em>tkC(z\i;<8EIC`[2MnSZDvAOdSTuL4eE)+99$ ņm% TU6hjYk| gU-c\Z M]/QV =A^*1Baw]y\kI-DYP(#2eIAqbl֠M|lCIdH$v3ŃGJ!o֪hje"F&z@m&$qz{ &{Ȥaz͒^RTB?:J5ғLo>' *IENDB`= dd4xzPNG  IHDR szzbKGD pHYs  tIME2/&ltEXtCommentCreated with GIMPWIDATXW=l@:1$QHeD4AA (*uΔS+ Js•(e!?N RI4a5! 'yw~߽{w()λv"L t)фo߽c|#;)ʀ;49Lh*v'(NRy^os Ws?@ S*@Zg..5{M(D*Q10G gI>oW6@L/-pp>a| Uej|Ղ f0y$T6 /O$&I$'1Ȩ(24 }o~"`i@9GG_.L QG95r ty&ƎNιN,@eIZ@#Q:0ݳ.Fas oݜg~Zݛ𖆭lOq7M+OmeBl =M=h#2-"v+vv z0T50T5г8vv:Nl#PT X`%bP򕒮i >k;ߪ2l ѷMc 󣪌W7oV<"DѕHƈ,N.7=j"~.&o]ǭIIZ#$5b,!hMIH%S(&'wO^Xi 4$ŴkU\Q Lh`vgjG׎ iq?x e-S ݣ>[IENDB`[ _BLxLPNG  IHDR szzbKGD pHYs  tIME39ftEXtCommentCreated with GIMPWIDATX͗Oa?mjZ2<ڦFTqp0 . CM aف.R7cpVBI[8)*Rgs~. VYɥx=w#=x>FA@%`O@m[R0֖x1<}uoczcdc-Sno0AAÏ:퍍[ԍkoY + '"GG+8˔*5xX W [)M#GG쯫~ n§ؚLaInU+5?XM}ࠠ0ƛ]N vpansq\zW5>)@ TW1Y __sa !~vK*` o糒آ3R' οͤ%UW[ ҊJN:&CF;VfA$#蹷MZQZUk~s{ fTIENDB`l KK1fxaPNG  IHDR szzsRGBbKGD pHYs  tIME #]yXtEXtCommentCreated with GIMPWIDATXŗ1K#AG@KPA;Q:YXf!~*Wrj abo/&;d}0 ̾ov޾70`ARn-mZ~?"T*y@e%>/Ғ;60$};=՟ soO_άħJ[Gnhcc^j3ᐽbvY KdMU|ߧn U4U*Ic;Nئ"Śf׽G=MvV41_|>^ͽ!A긕d<R=BVF#Ёx)a^rdtm_8)4A #QO& |hөNжڷ_{@Z@% Ih_[}O:YWzJ5k݌ `6Hle^u氠IENDB`% ee2x{PNG  IHDRabKGD pHYs  tIME~IDAT8˥kQ?om5X[(VMX00|g|]Oܭ܄mU HoOyōA&\;6-gR^k_^:&v[*4ca5F"Rsd;M< M+HZZvuH .4YجWFz< d0@*5GSpّܸɍ67_\<3$FIENDB`b2 unbxbPNG  IHDRabKGD pHYs  tIME wJIDAT8ݒ=kSa7iBVC.]\-BvpQ:8t)XB~TŐR"MHғ9}Nqcy_g"۾`@jtKivD+yn6.)g%EK@aӛk+_j_%d3UE<t9cJG-Bv*/@tʧ|,ܨW@毧{ /uFIENDB`hP &  0xPNG  IHDRabKGD pHYs  tIME 9IDAT8˥OQrؚ̙ؐ 񫠁 v&„@V?Drx`w -;X3Nf޼f@jK/jKvV/7h`ulwr+≠~UvF铷Oʹtb'G8!N$puƳNAw{>P>eԃ H.W'1S@zv%RnTpa|Za}|&^W4 0v ^7A©$>n2- (o].2]> ›M &Ru6h`~)$n}10v妯]cAa<˷k[&Ͱ6~6AKue+E^He#'gSxP&^;11_!&ip)YpBڠqЅ"L*D d/N9?`\k /KiAph䇣jZD߂53W v(4E$2lK_m\ %6_z0)P~I$$#Z(A 0$` ^>;iN\:[YAIENDB` D" 1x1PNG  IHDRabKGD pHYs  tIME.jIDAT8˥kaywrS  6bEJ,X ""v 1hj؝!_#d;03|BesowS]4FPePۘܣx>PNG  IHDRabKGD pHYs  tIME/6@IDAT8ˍ=kQ33;!"р2+ X)b'X6J*/)VJ*(ggv\Y' 9p9{{ιxtM|H.L{V @+i\^Y Р:?7o_t VZ8$@*||^} /H^B@|`K2< A&:V!,'mזpۧ=̅2@ukfZ)ז8}7vk쌄}Dkp]պ%΃^]=Jh An ?0O2#T49?IvߟpEGږ_K$ UȴR$ѿ% =f بtQ餐p$83G2C(22;ՋbtsYyx$txPNG  IHDRabKGD pHYs  tIMEBYrIDAT8œ?/ 9իowB֖C:ϵ1@ @p~ܬ}r#vv|=A-8  Ȳq6(@=VLv UdKBĂBFY[HS0hZDd{QH!p͉ <[0I5=hBj~c -)3gon5<9m߇B4EE}ɻ8~i]>hwSg BD?+GM u-HlIENDB`Zǫ=#:IDATH[h\U\93ܓ1m.5ViJS3NR(yCEC/J)HTTВNmjjbMӴc55צs|7 ܋ ٩&+b)@ ذ΍ZǶm4B6رK}3<\X 4ll@!аQu׈D"z]; %RHMJLZ)[\i boKB! 'f] @ Mj8L;Z;L< 鿽$DRP+^ӁSBAR۶5;D"LbPHL3#R A emMi9(?e~j~PTH!vf|^7DSU{zz:rz(*0YI6GB`x`x`ҝ%i)0u'---$ (熻gwAZIAJN`7g/7L}Eݴ5B*16rK~_z:O_G0f.#&䴛L@6Gkkkz[ָ\&?ύI>|iKQla9LS󮲻p8̓餪( U͙[.iNS_nj+qzyX H{p;ovu5xyuœ\i i:Np6N9EU$OPXRNL@,+ ]5Ldz"9ߚarnE◯;{uZB+̣83WȆ_2###)AG ãu rOyp恐P =&?o@om15!nIENDB`w A A )xPNG  IHDRw=bKGD pHYs  tIME {քY(6FxFPNG  IHDRw=bKGD pHYs  tIME 4 [tEXtCommentCreated with GIMPWIDATHǵ1k@iXiB&-&`* ]D t%_& I$!/^P-ERN?=ݽ"rDlN܊5.񵐈X5Zϧ-pJJ)u2R? yp8<~,KfyGJ\$"'I(*Ea$1"r,Kc,"w{1vaV Ð83[aEN%m]s:O.AK+p7Mc\4{s(s'\dYv[UUȲp9 ڻrv ;cHkWuނ2U VE*]_p24 yv:r\G,*T+Qd(˪An- %SEĢbP \K`pO"%QRu@]"D2 B&C9Q|!k-Al5XUꑕn$ATD X21H*#lQ|P*ׂ%NmN"{&|_(C ܭP 0C'YB_ W$Y4^w~֤h"?z1xepx.:1.,3~]ݘ$SohK绫/ nLq dJ.7 80$i'QoҨЙCc>&Zm툫WƹW%>9.qζ5شs|= j,Мϩy~~{dix9&J JRcker{ؒzt=]8OލƼZ =O:܃ $&Q |Vdzw7x21˶89~o>]h,Tk;/Q,6 x$܏32+RKpsA>`;Ǜpp [^it䏵rU;Wb&(]Q,>MS m;Qw/Bȫi9%aƎ}`@j(g L_>666vyÇ3NEg(V{17i= IENDB`},IDATHMlTUfZj @ ejAL43JmR7ƕ7D.ݻBÂ&5*6ą h̀LiK!x3:)+↓Mxla2==m%fs$L05è*'i"ZQT,.Z~(ֹ DDZ^aZW}B  *8ĢaD1qy E#mbV "Xupcz΃<6/"5." X*"UiHo1)UTU>v X1XqP+ FS@8J3l3ߟak;{u j*# ]j@z^1= JC?">͵kn?/\v?GB~\?Y]ZgQЄLV,'.u-111Ars7~P@X#|Iⷜ;wZOGDۢAÇ) aHP`qq@!Jx}׻Y/p(!j8 8|bH" ɐH$H =9DJ9oGp9 ~v{߾}3|RD& uX,ə~+ͦ kǩs<_w3^SՀH$8Z }d2y 0m? ;8wKlLqp,L]Y HRd2(###`!QT[P.9~c.hn;=+M &ϭ:16jѾ8Zq`5jXu(lr;cn<^cIENDB`kк +< x PNG  IHDRw=bKGD pHYs  tIME 9,tEXtCommentCreated with GIMPWqIDATH핽jP#M At(.FEMEܼބd9h3.PQ$BS83Ԥn~ܔ"@kݐRIwJ)W1ZZ@0 ,,6 >ϞU8 w=^@x ذ8QwZF&s`C'\~!nZSΛlM\?H)wZF<)cc/U!oc4OY|N&[y?uؖ*myE:@)N -D) B̗k; Ƭ_L+$l(-0#80 T%BR3qJcV!iyQܔ'ݟz#(IENDB`)]*>Tx sb``p  $RlI. Ap品" 0kH{+m.n~f6sB%%y% E%) % |@E{<]C<(Ԭ*Lzg~`c^L3WԵ!MY|x&Lyv}B# }~!>'q^1{Юfz/8/u9?ŧ3{3U~\~zwߣwW[ OzÑ8c_ XnR OW?uN M:}+rzH]Sˌ#[yMܹwM`Y吖j[gNIf UɼXﮠD+'ZyTCJc*v3t ##4ȕSrd6ފ$XH'zrQckm*I.cyda2cVѳå}sEAI7 FFyhǢhyC^ɣؗ4o'g ^/ o¹a2r]$2`_ F'cCryOIv3]_~c^^}EQV>f;'.K)ƍhȪYcX!'2?Iw6FƴKXB.o!>4 _)#7ωmt"OTPS5CIFYSfރ.01H$",)+[\ gjjdH0ɜr$4  3GR g"H"x|P"9̵&ֵQ@՟]"bI`fIENDB`A | .x PNG  IHDRw=bKGD pHYs  tIME 6ۇb-Hx0PNG  IHDRw=bKGD pHYs  tIME &ڈx,texePNG  IHDRw=bKGD pHYs  tIME  fIDATHmLeX4\IDATHKhU?1MbliҴy(j, .&WD*TAqA ]J@ ]4AXiJ 6}6NŤi vyr{Ofz±XwZ;u,CM9302dyqzpOn&= $]ym_ )愓CsD#-7߯nՑ$I)RaY ACq湁'!g p&r!hzbeXke~݊{^6v3W"A'^'Ā"‰$\ -c0G8 = 뛙IGZڏ Ӫ&,@yE21O;Uڏş':vӦ}4*!fyx~oZ-EPFۑN. rIs6;Mav_!)bbCHYcb'JOӰqӔ&h'}\KE}u8 3靰wafLpT4]ew) oHBK'/ϯ jqw!LE u1XȅsG3*M;ef;8:9^IENDB`9IDATHKlU~|ϡfK21Pd&dƋ<pL ơvI^'yк.V)bۅ _۽x) 4&褊T58|+n!=@4ÁWޢ=Ea?_I@FzI`0p3 "5ݼo6fg2>7dZr䮰3cHf.KNZ@ϰέ-nyh}a7Zk>I Azl^eω:yd f=*ƽ'&-GN@7?PFִ1qcd߅rȱ<# ýCgnBf} ?ïNҙ 8rccw/˿RQqλIENDB`Rg c[4:HxHPNG  IHDRw=bKGD pHYs  tIME  (63p#x#PNG  IHDRw=bKGD pHYs  tIME ;>2+x+PNG  IHDRw=bKGD pHYs  tIME :߇{1zxPNG  IHDRw=bKGD pHYs  tIME Fނ*0X#x sb``p  $EWRlI. Ap品" 0kH{+m.n~c!@!׈ԼĒ̒ wO߀F>qnOkmP`pUl3f<`喊2|/1dzrBusV ^^mSΦbn[כ,"DjNam2\ W/sә}|r*d=p5Xß'Q_z) *pg>uIDATHO\esp/ô vH@E„FM[X4]ǒDuC$qS&bMbbLh%TJ̘dܹ302DX4qٜy=Rd8ed29i$ϟڢ N\krS3'}{ )KcL+IajDQ1Xjac? NN2՟ 4*`-pUEDZMvQD FK-l7:mX,@a%elD1DT,ThZwŰm("(" C+++uX\\K6燔޴20 NQ'k>r^CN$8Ӷ1rapp<ywWҹRvp<˲PU a>sssA(YXgq~x+S~/W߳l3K(}U677) A@u0$PT}0=aQ[?orE Y/L; ja|ddbHѠd2$k,[&3]]]r9jdD"A >J5J^7xo~koK3ʽҗZ;,vwwަhEQk]gc `Y{>x'0=:2x< F0 [vpÑ?OmjM=IENDB`pWE lIDATHo[U{79~MICJBH_@ ;$ĊJ !EPtHqۉ{ F !UlGxu%8 c)^*.~Z -沂S3\OiT8O/VlZݍw Ճ_t5Ʋ9Lh )Sg;x"@ 2$(xPK*AIdG˸f* 6D :1qn# yPa`AKlV"{۫@/O:i7;T*QoyEXza=5sg! ܿZߓFfO751(!F zT7hl#x%HGQD}]^G7k1AJrA.ëKsLGZ)2\>^'` ǁl•kwhni5ꄩ> >Q_?6vciA~!Oo *{x퀓GWuh(~?KLfpVĭ{4/.s RSy!f$ȉ,8_ebCZ6x,><K^#Wc,=Vw\:SRP=h6Y8P )GRLOγ|n3,<DQ.z8'-gyu:U8st ο?RŖ +4IENDB`<s IDATHKhUI23MIsiܨmFPjB"҅H^.DDi 1kmswLaEv~ysWl(<u{ֶf v qnMh+ k DVSm' `jDQ8j鹱3໾=IE⣬0\|  *8r$<?i0Ia@"` hV6XUD-VGܐ$<nktT Ze[`yjk}rl!T,`)PF%u'OW姏&8;7M&`36c?%&6sQ7OSDf&ٽ*Ƨg\ޕ pÅ;B aۢ~[6+l{-[,MGiԕ''X h] 5)q.B,csQ.|?IS<Уt_fV&z)*^mg& 9aRy]37Ki8Hlpba_ y b8)H*Y@`"j@@E0"Xjaɥc <ͺ`ꭏ727X"!AB܌xǙmL&:j[Ds3jYV$33F0A TYIH:p[>]d%@\$?A{SddS0KI /Nb<cSC,{m0_ǙB]e}_Yȳp``ϑ4/ƞg+i8NU{ oVh5Q 5?:L n{tzv=~<"NDdeMX_,:EQH[+sf`6eWCǎu'@HWP{a 8L~.rnڥsi 746|zDB5-fw!\)@C£8{SS.koÔ860Rz3{Xwe;sY& qT?H83>M /V |T 2CY $bly}McMC?H%p|-B,xxN@Xũz(iIJPr< ?f5ΫY$ q# QB! kj1u[_oG|Ir>b>wPea-*5vƲ13Q15DKDvCy'8tg#n Y UsIĉ8i粕d2.Ic{yǹ9<2?_s/䒿_H :;H$ljWX\j91YxMʶ8y{˳_"d~?@ϗXf`6 vw)NAvOvne3KP)]ap^}mkגɌP,B` RhB.6 ]cY1b1 0PUqg NC{n7φ3HP2pwwwڬUP pX:IENDB`?0 HH,5\xfPNG  IHDRw=bKGD pHYs  tIME  1z&IDATHՖYh\ewܙ;wܙ2IS.%$P}qCPAŇ""jZ}J(.]UkƤdLf ) R!o.ibwlwwwHsp6x b4MTU%j>a&U}( Ci꣢[ik_.DF^RF pC#L\N2`'W-<6 ]|L@G[aۙ`~~Sei*ct)[7XVuZ,,,L&@ AEQB^o3g0x؍4)8j<'"%^zVVI&\XF6?:iȧ'ﮬ,mx=(62Qlnn~ӾbtN~`L@S nfA!_s \CݰIENDB`E D7 x sb``p  $?ORlI. Ap品" 0kPו7?*B%%y% E%) % |@E.!$X{n߻+_qO#tHHH%y]ģ@ ~.g7Hs6j`x`PNG  IHDRw=bKGD pHYs  tIME  -׳tIDATHǵYl\ww}qfg۩Rb;%Jd좐" EPE$,VfqaeEPE@ 00L]gn736v illTYe?>+!tP! ++x`j3Ndr:"3VJXVʊvW̔~V{:ELTؼpwj4d2)>ҰDBκLRȡtwwhkkv DjQ;&x sb``p  $?ORlI. Ap品" 0kPו7o@!׈ԼĒ̒ wO߀F>q"sO o]I6nxxnМ3Lzt Xdƻ<6N|@w00xsJhe>cV:0x sb``p  $?ORlI. Ap品" 0kPו70`dkDs~nnj^ sQjbIjByfIo@x#8Pc ֞,hnW?=!)aFnuovpcACFUK=0xsJh!=OU9.x sb``p  $?ORlI. Ap品" 0kPו70|ˋ@!׈ԼĒ̒ wO߀F>q"O =7Xɯ_9yEAcǎWvӍ Pm1[AKGT) :_8Bx sb``p  $?ORlI. Ap品" 0kPו70KEdkDs~nnj^ sQjbIjByfIo@x#8PcO 7ꃾlLxr?rM+]9Ӂ;/9Ș6pMTv``X2_P ~.$A \04=\]?>x sb``p  $2X}֟0gz KF秕'28'*x&&TL*Jtq 8|aV)SP '66~7Tş5XWӰ_'"˫Hs1:#Zh:&,Oρs>jx sb``p  $2ܝ֝y 0%y0o?,,f`aFYs$%Xeԗۑ tq 8tnV i e 8lR8Rhά3UEJW J-fp!76NH]nOW?uN M.: i>Ki^C@x sb``p  $?ORAN ɼrؒ]'E8 <"Aa {+-66N-V2@!׈ԼĒ̒ wO߀F>q"sO :_%9EYkW3>deڸP0Y}@mK$^IVgAš"_`tsY ?aoBbx sb``p  $?ORAN ɼrؒ]'E8 <"Aa {+-66NuxordkDs~nnj^ sQjbIjByfIo@x#8Pċ;bB&toŸϫM*=s٣Lj%^rKF2xsJhGN]A>x sb``p  $?ORAN ɼrؒ]'E8 <"Aa {+-66N6B%%y% E%) % |@Ef.!$X$%h|hEThl6Y%o? t7t0ijF[-F#.) ?d]@>x sb``p  $2X}֟0gz KF秕'28'*x&&TL*Jtq 8|aV)SP '66~7Tsp~\ ʷ{{4o_S wctsY/O& CD 0x0PNG  IHDR7gAMA7tEXtSoftwareAdobe ImageReadyqe<IDAT(cπ2PKAyBS',aBq} V^1֧O+CAz}h_n-c(H|ߧX|Q ,a2yy4 /@SVjh l=']=K Tz\JZz_IENDB` I1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME !'1RIDAT8c`1Ok ).@7#/S+  !"".b Mr`K;@0g&Y 1GIENDB` Hb 3Ej x PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dtt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME !#8oQIDAT8c`1Ok ).@3#-S;  !""aŊ 06 @ň \^4`g&r 䱄#IENDB`%H 2Fh x PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F d lG\x sb``p  $2X}֟0gz KF秕'28'*x&&TL**tq 8|Q@c(s|#-o85]>?5m\[LAcCExmLK/dq+'v z W/Z) S03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FhIDATxA @ +׾#Dѓ{-!`W@0IZ=J)ar[K77KLa8ZDO@?`FAp~2IENDB`ÖZ] `HD MxM PNG  IHDRa pHYs  ~ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>CVcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxԑ 0CQ)I')t*HJ@rK_3@9*$4ρ)@ђX%-Mn~@gwr, t-Hy K(@W9j8'qeQ꿢IENDB`k: uu{Iz hxh PNG  IHDRa pHYs  ~ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" SgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FZIDATxڌJ@YzRy# lR~aLO}}2k=%+U=]AHȄ}˚ZNb(%hAޟв|{ҹ?)>GE6,o勵]y<_?n%+ͻWn>й ~.Iv3K2 x {PNG  IHDRa pHYs  ~ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, RJ( ?x? PNG  IHDRa pHYs  ~ OiCCPPhotoshop ICC profilexڝ!{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڌ1kPv2l{+d0TZkPZ1S KE@hLJc lYjIvLnyO{DUy,jv^O﫼;1?h4*JIpu ?Pn(J!័ʯسCooZP8eάe8^.]V/>&d8R{w %IENDB`#t ^M@KxKPNG  IHDRabKGD pHYs B(xtIME+UIDAT8k`o4IK9CnzEd< yAŋ$":\n&[%$Ox9}yoʅWّ AGWUX!ԝxao*H\,$| 7 iNL>GfѶ-o+i36C3L[kP\V}Fc}tZCמ t9m /7mEDXO6m2 }ځSFQ(H̞QYգpؑJ)>l²kϺzher|Hwꇹd*fVj H鋒gkh>X'Tǘfv})".sڮ_ 0p帔(זUos  @`@ֳ5 1IENDB`= CC9NvxYPNG  IHDRamIDAT8]_L[uǿwo\nl ,CSfaa AML|!’}3HQLD -ҍ!v` ̓<'''r1,I_TwYsٰJ>33I.vv's#a[(ی'ͱZdRj 23$Z|)lig{T*K(lllv{=ʮD[yeo)R)3RF,ڗ |'/v{2o=fj`ڽx޿8(֫g<+=}%AY@/? { 9|AM @G}tuu}>r.~WnJq+ ^wMӴXb* q.E>11AFFFp8i]B 54 nPa/Athr<y"X+ޘۂ(aYe"* c[s%9%kg_?9m˙i዗_^"v̜NMFAJ˜_f6e{n8atsY`[B)%d,>5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F[IDATxTKLug`UZ JTДFS#zAc|%MLFZ4R.iuyÖ\hlWvޝ{2~1n/Nd2qpݛng @paKCDx0 Ӳ^<#088o}X[]~R8ޚ$[Zxׂ*.?^wblVc1ΒH&Yf2O##|GE` ;<Ĩ9(3xim\Xw2w=U?LL< UG_b:9hV&irlS ZI0ض^,8J Uز,d0X%+EBD7(D##I%]*Z܎p]4VWd#-T'9 [VmY9 #oSUU0 )AIndO>iZ*Y͍jkb#_A*P2Y fUtS˃iZ[^T&HHXo'DB@K:*+8@3q.!x2jln>߈#t7)Z  H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<D+ |M>Fm-S b`-X`˻{&Žyŋ=.3̜=P޿3= h Sы;I|yxwX@UH`+ _?y:q.[u   8=g薙WpY>Yj(W@58dKA ($ W7h~>![kܮmjXmܢڝaJ:E' S9#JLs$I1&Ɛ^&iCw@ey?#-z8P'02eL,239JO?(qx7 UIENDB`ѓlyrIDAT85IlTe}o,.LӖE  1/h*L&&ƻ^?.-Ua&'9sbo/2A!B*R׾/aho$. 9$H$)Yx36:JGMn;j5Wt@jjL"T,N B`it-kj.=ffKcZ`ʱo~%],CyҲ}qꕈisCїbbE|q{A)q픅<2C&Gi:'#p6xt`74AOA䃕4jm|ui۟σ{$q+<3ʹa#Tw~dy gQՙqw&|++w^\n^Cu0ٙBtsGi ~.iܣeNB>GBIE^C ˴hhzbTtHBnWfgN16 [7HP(`&!iE-Iw?.}\)]2 h{{KaH'MLNw/dV!>6?rxJ4[]ttrmcS{jko^f@@K~ubO,eOIP6( T@t;,Tz9U*g3ݝBl-+0Hz.Ͷ,+jȄe?oVYB l66TВ$IENDB`<b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڔ 6}qDMH=w_be<<13ຮ/ED{Y;S +p1FRuRż1ϜsI)UAZf`P LZ=  LŐ*dfކ8%`s~ $6Y4]} w׸X}4'IENDB`M} >>2Sh x `PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K& ||TmxmPNG  IHDRa4IDAT8uKle͍tzo2AF&EEBh[Z QD bD QLDqf01a1E2mNgLۙCgyf *6>c5W&#"hh-|<NB)4 ,XF{?yoG|ycK'4KnnA>c;sy$d/n^"L 8$ b4Gb6Y=iXU_Sstndi) "x@ @47=I\6::6C Ξt4]]ݬ4sgK ---DVG9y'*ʃooZ^50e۴y (*0}e"8ŧ`ͧ6m8;g.eI$7HR$g3,s;8l+?~z] $E`6E+|\tÇqVd\G.[-aݬm\=u`MVJdHd&wpc2l'v\FD*f4-U91)7E#i ~ʥ]bJC& 8 xboTf,y0 #i!dP$&㥏v2}\aIENDB`Q ##YU6x9PNG  IHDRabKGD pHYs  tIME  1f%tEXtCommentCreated with GIMPW.IDAT8-O[e9 -孼, t2lqY\v^y&&F?`bf|E324a+m)Жsx#~虥MJ5lA)D!@KB(/ b^@no}bvsZqB`"{<}A@aB?6C/"ٮ[Dg_f$v6R(֩ڤcQ%UlP(nb9 җr `aPGDBϜb<}Orw~;hf#M Q+Am.'_`goVwў<4G~,hFȥj)J(euuG ѐ1"ە7xcc6,Ŷƀ6u*MU} b\+!(> 5[>>|DO0N 93or.Xp?b'r@ogQ\<3$IENDB`> ::BVxPPNG  IHDRabKGD pHYs B(xtIME _lG!uj1 m"j)Uv½BhQhbI]^ 'I4'ݷ@וٝ<爵ZjL:ɂxt充L0>ÍiBEOX+(J++[x (Z VH8?@CSx>JČ ‘Muh||{RS@Qg7UIENDB`W ``Y<xT]L\E޹߽w.K, cRi,6u_\SMDhO!BjcI5 PH- ,ݻ{:KD79s朙9s9S]@>qqg,"kcҙv\޳񍗺:`7b/vwV1>T2Sypx_oo;Q'_HtwwG#.⤩< vi_y1K}P(dFGGdE6ĊlT٣6b3 #688x- ս<_UTT2EQY"\|G H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'Z:xPNG  IHDRabKGD pHYs B(xtIME ̵IDAT8c`66 _YwXimԭѕOIOa"͛Kq&lhh1X5w̜\2 bB  =cxk.HHh7nO_xDn|Ơ!3s6ܓ{= 22Z}5s&fvvF6{wo1]ỹϞ %cc 0aPec`bad];vrƂNdKYX[k,< 7/38rأ7m{e~ɉq2ܹs]/3ܸ/CW,;G0tv *-{ |X,}?щ$)i.C hGN\sIENDB`&{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME7O·3IDAT8mMHTQ!@2 ڵi*@j!f}m+*"1Mm2 Zb&)J3i{Z7ogsιWD]hpU1AoFG)Ş3xwuY(iiLO:%uM^lNj_Td{JthLf:ac"@Oo68LƦ'iiH3$r7)zF~dsZ&~?BT_47;E*Po"^U5fo`)ѱՈ!Pb.S,Px}`U&@kPXWP:q֬:^^fw%m t-8Ie%Z/PJC odu :(Ǻ|di'ܸ5;?Pޢ{ E?-pt1)DA K\OOyy+?  EYV$ b",KIᔝL Y) ^@%&H^(XP5IENDB`^=c5|KlHVA KdK /" a+ܠ&I7fdMS}}lkuMY 6SY:i4iܽ2 [&jLZ99}M5 F ˣ͘PO9w j&<L2I(Llr B;B)4ašST\&~tf3tF }:NmH8|2Th?q|[wq)ک #V+4[BɂĤ7gxk$X>-~)L7`*>. S?H'h__ i|a5D;0__7=q'߇k\ER}Uifpv[Z~hL='N5ǽ7)44aNzP]uxݵXaxY&a'#ak-(}- zB C;5:ej}}BOa =y4f u/0P_r(;s̹*> E?ܰ'VN0:W3{Ŵ,E2 )CWUXOѓ=L\y1iM]f0, sЅ~.俲6;= F0^J5nEUG 2(&lo70io?^?YCZ]<{"}^7NO,Ec+ kj|Ђ;k&771%yjsbOT^B~SC=(] OT72텭H5[J!"S[I6ԛ "}C`)Ԟgx#ao#rM/%?#V b;X&bH)7w:SYOi-&^o#/-oSRPw7-5ZwbCIde;]Az'f1LQwF0`(Oj ?FGGEX;csVe4uYZ_UyXWcc;z _gGvO{U*;5Y؅MqYf :xRjuibe"_xqR#msд0"fQ`4o]h}I.tH'TF&B)|)9}Ymiߝ'0#oZV#3_cnR_p>};bQ)Њ9nee;ӋfzB)T\$/>ý?RN8h0w:e}a@;}il͕=HfƋSԄ͵2iFf$(za͈W:&r/ R|4|YexpMߙL⋽iӃA9$ EɊ4j!"+|~hM̲`- cmaK}Keܫ45:Y^D$x~v#zi Ć嵐1aз;`dtײ\tO ;!N۽beǍE6(rF0vkgùN-1cxn)ޣI(.H4LdD͡jь5IqBVI+oD(d gC~.ʑ'U/A935=Tp>J%a ؃eKv\_*o8Op'oVD.0{s';ϯm# BzA|##a/71=;}Bx.qB TIQhzS{_DC m[(2@Χ*/eex[+, Uq8[uCY౉J3RsEK$942d?d?4 r>a6)U1eԜ_+![w[wE˜Kmh,K` =y 'K@qU[1'pI;8g!|8EX@MGf(w Qx{k6+N ю ,{2g:-#0EHp,+ES(=irdz,%5 nxt~mN1€(ܧ7{/ 3ٿCnWCK\Vcs-3|[O:0Q5K 3Jg bd]Pfg7ѫrW[cq$tsG\vG]ٽa]Ke؜`y]n h Z8>([W*fqq 9bv, :{0:tk"VO|>ן,iGu9DCބߞou.^TJ6+'ai0ţYsмDB[7cbWs.yr5xqwz/f@pɆpS2v:C*P'SA=G\ǁjr揿Kpw##aʓUԆDW> 6z"I$vD+ P-`,hۀ6J2c˥Nwpț>:Wg,%zTTT}m&dml |` gٙynڽaɵfH]7d.gm l|ma^|5N$Ȃ>yjk>ʱ T/ڽQس40K\_sVc\.2aeg="IއZ J/B?!&&xzjgVB_!0Y05 3)&x|)NhRǎʝ%i+`?R֞O gCk0k&3iWByFqO|祒 6|C=\u#囝 : |@. k v|@ ~WEFjQfyLncZ8uLݹnlMSZH.`.t@e .!r+(+dRq"!FM@MYhR|l13 LЮo*\hWpxrlX:%A+ÎYˆOoɿDA#^r4LEBx$Ɋ5&d[!\R ar!d4aq7>Qpm' VyDn0hxpF# aNdVQ\񉩧ތC:#Y D +I= fQ@%!kdm.P~m=duKjpڝ@Q:LOCmvTR'+c RYr&X}nGpnoRpPK`Zh.*>JV.k%W?F3.fB `g}}y uן?0Fpy#CMr }ߥb-" |'ŽFtAzkV<|v9tX8dO1?!)|xTI|(K hSgfsW3as흔Kp]l_,aQnA}?(5>LtAL f9X#hnUa;p[ ր*;iȁXdJBtQg{ԒR轁cST!ӉpF 0v`D)Da$xF!9\_[okъCXOc6`$TH-j"IiPes;-_~e YX c,Mwh01=eYzP-4m=D/u3Z_GA}!{RD~=YfG-j| ӑ|K^CD=.`zeLlhXp_J<B)tD;oN;tv4%?;ZB B hiSEFMl̆<{fVm',)uq-9 wHؓ#<\|94.v2ʐ5ԐZ aԅE %qڜN-!-Ϙ[x&CҾ5? u繞Cէ;?{bq7*o5IB% {ɘ!k|lR9czW=W*cC;Gs BZOo[2QFJ}fD̷ e8dj_p;=`ߣE7^oxoAk!/d\%ϋ,7wH?~Gt /[ l[A'm}Qߑ۰IlZ/р &B>t{[1֒xFm~h՛Nwʬ4Z#8[@% :轍+Ŷ[w;<&ϻj?j Ji8baX'!!f/ ʰmW]+=̩z?::tb+#1evGO}<=5vGS:ڑi4mr ]}Վl9?Q?Í^:~Ǧo':[, Jtin`[N)ZY.Ht ']aF [)ǘ"*+D͙0)K;sRl=4$xۈߖfDŽHB=d }gU܎Z8_ 𻖉% \fЖ!tT[ c:/qK Q6[[PzvFRl#ޓ%(J(j䯮RK$mF|,k'^i'/RȠDބJPQV_Wms\M~ Ζ?mKKG}M}2KGVح 7<ăKwI ezsL@=Xyp*`UHF:ЏB r6aǶ 65ٸ?=*MbN*)9I}lߺe؃~t;duqcH06yX:E#3R=xlܑ6Q61G/RTW% ᏌwGm=˵1D &/WB@4n/BU joyUĀPpVZ|1nF1'-Ոk/>`]-_ll+L .CڙYso2VVARzI׹>*|*& LjtbH gr~ֳnL鱜-/V@sgh.wH}YuoP5|(?Ҏ?Fzsw}4j/ 6RhRX%* hEN:#;=4UU/hj)T,C* !L0+P>g2V]P)HoDWq,n胓o@drNvt]ܺm 3<9Dĉ>٬e1(zoJ3:,aV/ʭ:3SbR|ڗZz6?/ŵFs^}k-cBRhq`[ 7h$n.ED룑Ơz;'DD^911%'$ =َE& 7aU]~epzBe! X2s}Fr*SY`5wp(:bKt3 enܪ ?=?5ZA.Jd o *V`_ J"(\az =!)^utqBpN>xt0^3yO7wO cg`v:g.=cw KDΔ2&8x <eE\0Ɏ$*܇6w" Bh]s1v\\v²k5,R1z;Xz-D͜˩G|LDI%Qa,Ld~ZCn-0ŸXQ%)#JDRG}ZV).**IKWB Jk/GEDxwm6u<97@gIbUJȥ)~.m'<#dQ%'#Jz $ԯJJ? _sk71oƗMj #=\y=/ J|9hK-dφ赘>.)}  xsY(p|\HʯWcQ?ۦ/8_޿Uxz_kʔp[}˕sH>[lzu9 Q~/a o|rF}d o*<΄gp3T  t( sZ!1ZąшQzE[pq\^?夽6fs JH%s~Mo-O7C~١?YhQB-! k'Ա!D~esaZ'd6!mB Oio]i9dSkHLM{~rFng"N}>S*?_:k \W<(hjw20a4У8';S ecGK:1{囐9˂ͷSG[BPgC^ap‰9\`+4+ rW@G~Q+D|6G@J2L ǀCEʅtg7[0+SF1ACG/ٍr K{c#䶻$MZGzCBTt~hi>4ddpbT5{ 7 ؄?V:r  5ɃWLqB572gVcH5a 7ewzC@BOL\:n)M 7% c}Z66okKo=wL"zhh& ߏpuICOұ~/l/ !hh}Ui̗3AX]z0XԭJyC#Mt SJjiV)(' !XQ25ݬC(\&8{U!glĤ]HW`򥟉ҨwbsinF{;L_˓\nXzrp//7ܵ+zUVI[,UK4.ųGL&۲N#X?H<ْٓ-?hR\Y.aՍ"A'14\3~5"Մ״ϔEt*Hds̓XSoNsV%$蝞/Tzn]O,_ϵ.AKrt\歉?a ?umg .H{ _+]OjP2%,6^6+WSC˗yoB:l}/iHz&v HjdWEz!pG,[u@jaߞa_:0\vKB|=I89Z9.hO9ٳl~͏~c\In[?/UkXm-M.e(@ucsGn?53xG^:֡r{ Ǐ g Sn Q$,^Ѯp?O[I9q%x0pXQRJrb9gv[24w(Cw-g!m`3x#u,PKXNs,$ef_xtW$% ]"C~f`\H=$o)J]cSyޮVJ><PGL+bb3Y@/Bļp؍E6)].]XeN@yt/ ~Z!]%\$jW`խx= ڟҖzBј$3Q0D[,~]gYiNd$)71TΙNL%#ɐLqᮣJsyp"5ԢedU){:b>@t;r/b-2k+$^^I(EjIY0/R[Ç^T?7a(2y.Rj-t(FӢ,a]ƓCڨT֔D SM>։*1Z+ed(rpBr UK' ?n۳S2!k[~HSES4CC+q?G4|!r[~. ;빟/Pn+n;kϞS{u `E qVN<̨71C%_)+ַ[ 1b@DܦB&xJ"/4_'Qu:ft_S1 `O @(-^B4LTw+GL߇ Q OB}x"8*ʗbKJb;*b(mǖZ^̵& X 9윔'Bm&Lo8BFU>A,Y="Y\VѝC_KI8z[oin <js1/H3)KX!9O-~%z4Qi x-aN="=x.BvqJBeQ7k\J/r'wJlϲw??rD漡hRQV 7s/ʗ]\$' 3UC?rOf(@f)-[\4!u2ڹ<ۂwK/JAԸ> L*.y?& %YyjBDSǒl_ɥ*/s NZ۳fN=Xc@;{ ݿ'>(;ݷA+ u7~j=]Jp ZGBkBM^Iڬ^ӆh-zQ^"~)rxvD3ikBCA(#ߦdTŧ+|cF ?0Wu".zc#HnCoqahf %i1K{PDl8Ch J.7Ca(':P0¤n) togzuQv2 r)՝ot搉G4/CYB>~M1Pe}WB%\mAbwˑ@ IޢQZ&G'Mǎ~kHh؊J*8A}l]YN/(a+l +A3iGBw帎Y:􊑘`~'< | ;uoLyA@sqhWED^ƜNLJ;W|Hɹ ߤ} QuS|Ak˘3<~; Aւo^fUgcgMby$V<ޑOD&7l?].DD_GmVf&sѝĘЦe[>v?CE'GTa˔2c)FGJVb)'SY(#[M&U; ziGs[t}sD9DZ#{fb֠h7;ԐR^7;36XDF" $ {>_Bnmm0.뻔bv7.x\3aky&53ܒ!jىH!"lZN1jJUe̜$6̷96`v46#5 YtB|i3Ѳok2Jr_hsX&bQl}'m^qPܑ a.JF8(O^۝h32 e4ѧx/\ZƲO_X/dlȧPƗ՝ML]KrA._нa1#e"֠"Ka#, JRN>/PM^ $`=1Gf?^ZFĝ&ACqz_1^D>@qxAP\әu0V+mR]v&MlC#8s"T{qhTc&7sI.B0m\NOQ "T|#}L3~|d$/oIG ߖ6#MeòzID UIi!k>,TӉ%fDMf(#1EM蝚m ;=йTIi,0Q^]2!wC1.]k*P>0SK{C\uбxpazzvPEfÍ"2BQ)M͖ U`^=gcy.l2 h %s܌yi%}v-Ja S~|\ms>)U'؈Q)y=k\]-``JZ #q*a}RBKңG^). 0:ʫ#0_ȵ33~aK,f+ *ʶ;H)Y!Lf2co#)(/Ss(f{$@ ЖR%g72^ KA3w.nLjS2¤7TTI`iO6/i'dĿ '˻ 0f:;.rţ2tx$F"Y}D.a׌-k-EEL%Q"C \gWȠ-Bu^H gF2U 6Z|sTg_AbZ &25~#;,1_AUn2P^,szf2ht9;o^>49gݗzZMʹ(Yû)ɻ`IH*ow>(c^py &1muËIJfXEf)6\mEA(wKo2$Tc(dI^0hYȿxSݑݙzW0r#ݾ ZQ$~fT*n#!y}R脘hh^CarREp 0ж):XF>ܙaPGo1a|a*R`w RIZk h T.֯MVJ\)淟ي&R^X3琱ز@{SA #3TQƯDRAv+ ÈXY\jnefNI. gV rwck(*ڕ%E_dgdB'C]pݓ2DjHe}u3c [%0~x&%\|s}wt}+ +mŶm۶S1*m۶m;sYs}͹8ھMw>{zgÎ@[Ms;f`gQ&'8śSJ$v ~{`/743U \UX'7^짦rmnԡPI\P(Q="6NV7 ;JϪ^NdA/O&EB aתjь74ԐM2;37VFPR)JV8nnRmO@+%j4+X{%%{4'upi/^I-?(  ̱m_z@ƀ/23!1$҆/Aud_ĚꝷyDKԞ\{l`#SԷG,W,^THGaoƄ{o'~g<9Y0lE :J/8T5i5ut3=62<0CgȾѝrl'k _4`kJfP-ҁ%qB)"P?GJ@?呵9~h<;KZ)\5)(yEgG)}x='$C .Zk\h?6OvƑd);F׍fgĕT8[-Tm<*ޯC6& oB[y[KH(|=Hс*{Dz9lَLVOɒVRT8_6,ύT:ApɵnBVE1çWa 6܅y٥&oD tIJq϶qզA#UE pOcaEasbja3o7 Ua_Dlq)9mQw?3҃>y3K>!5m<2G}5h}Vв<%$? 3TjX'2fzop׸ Gp0w)* P:  &K_o-R2e@[w81܇!v"WXnPJr4]0z]˶cqSӹtV( *Hoݠ|B*NĬKSCj'WAD)-kwx:7̶KV|+}c F9rlI:I=9%L&".rO}98Cڪh H 9W4:j5BT] ac,Ne5ˬq̏F"͘Щu@@SLwBxG!&嚺PJ}t)Jm)*%Fr̻;=xU2g1 ߓJ#e&tTha!\"M$Aq7d?#Q:}? }%.bׄ_SԱt;($X-u{^Wхn/N\90\=w˪A+2%\#l_w's%dCbx\TĄYk#n߻X9-balPA4cr,z^"IJ?4rx iga'FȌmNЂvR9 gX+ԺXP*&~7@R 'TEP (k$Uzlx|źߒO X(l8RI>{0/0(yԥg#,5UEWgK{NMHEr眒 Yg*,&TiWi!K]"&@ DĺH2lan+,34M"_n^d@l?݉jSV'}9w] %7:A1f@/E\NlCa&'f6K\$mV~A- +)Fj7gWj.% ߝ.Tu"4WىJyZ<3P 5RrRO.+ 0/&An6%! 6XUK+INdd32C$b9ay>(ZYdUI:"ϐ^8|sњ\ym㪢$ 'b+=8Y,5B( &("̚:@_AVd.E"m럜4˶:sY8TJ=!¹4r%S}wMp=tyuf#.P=)6{^sv3C[FbF6 rTO uŶ ߵcq{ ư!- ^ݱ_7GRH;z}x3YW t@gyf b8 ]&N&h4)Ĝ[j/fdco"9ʅ%S|t3k2|= ' 5R8LS6ˈjz]Ůc^5nD׵ۄ]J U @[@j(& t$bO qXPPI s i <_^%{һ5q^G퇌ϡ%ZO gj]10t_87:qD-'%Z"&5v)'lct^ 2"2l?:Y .k/âs:΋TXUpc! svj< gi^Djd NsۢS{$7|B[*,"DL wٮ?I!_1KJ&ٯ)cJvZ(^Q yՉp} 'ڙpid1jHTTV(Y+PdɛeS\wM-" /+2wRD$M~h%׀> )#ڄ^F} CC9.&O"tn1nxAEeQ3?mN7=;mn>CP(,$swzEÚGz;ӒyV&c24:xHFӞ:&XF'8W,Ul16ʓUxADtTr⥥ ̸IR'?k8Z+4Qyju"Ԩ(o1itD:bUA ޥYhd{_* + *5ۖ㷽^V1 I)C߼fe޸2MBf=Pe1nw\ 3:GQ$oU9<3AB67rp2![ ˛Co`b9[_n(=BVӐB U coe#.ҝڎ jV7L?0QDr]Oh]Y=&VDC$rMÎ].ˣVE Z@.v;ﭖ9:FjSnD'{T;Yz<}dk,,=/WO TϛT:Ln.1 f1] 5n+av*HzKB*U뎹&+[O# 5!iQrq<&~C}{51{yb;jBu[ $#N*<UgZ(LGG2uQ6' <@(TG$Q@Wtl.= mÛAZHbUЉI8fi?22&DcP@YUazv 1\) 4 RVp347fEEhjf3HrQM#Y)iZCwL>ff~mƟ--U=MfJEClf,frC>:V;=TńdFWw-h:S-MIXm_Du/ b8n-E?X7嵟Z/<.ԝawPaW{ḁ)M3׃5h(}>FPVϑVoI9RJ<Ȱ1rn턩s'+m33$ >ͣ[x^2Ri1zH h2 *qn·j(Ra! *yPx(W뗣FoN}kxxJ IyN锂HhIղ]A@ӽA2anZ`UV_u[F#6bavlvK&>+*&2=?1ʊ;纂/WU;G6;RC<.WF^qnqڡjnKCchMR|J,Gw P"#c0V*ӣ(AO:PqJ3]2۞ૃU]\D}K)kQ@ycZTFQăMxDҹZ Ɲ`Wt7loD2wd/t4<o}(y&rRmażO6TfohaXǓ-/c5EVyu `jhnTڛ<_G/6~l4A9adoQUH.޺ZAՋ9Ss8%SlSn,z1cRէ3!f^xWsYlf&/b{; D j1EK6;3qƾXz8%UN`2`EV)1àbT]RʼX;5S݌F1?u2-3+hځp +?b֭Z›\d+h_ yѿh/-P5uiFv/?F4ʘ\`|\""Q足-J`RU~,2һdo9ȹIILcM~CMccik*HcώQ+A4ݫ-15Ie 6gTC=IX ׌6/$$ۄxzUy8\e[zVSZ ;WԸ i2B6,$#hMXDu)CaR:٬0ysNI ;U6}OLB̿SbWJ!jEdElv{i:{K9ln։טN^VdrlI'u{p^]\  n '1uAm_eOժ/vCfu9[nk'BzJ+$Dqyo29YFP ;\o(/zNG,;bl >QtspS0WG F k9a#$pq7s"|bЅ[h(PB, 7n&:B3ߋN B;QT-^|="YsRӷvcgoB6jeS*kO=Dlo.45ld6nj/n~O$Y+6D2\JvbN6H< LCQ)n(^L7^,A4 ȒPzme]ː~|#ͩp]CH%}\< 9S@jvݓF/ x%:6&1x[f8ճ ݻ?`+U.zhv@7-0ghu-"w5H_)ޫ ~R۩(g<ǁ FaPL-MDN=LˀKSaR-=2tmַړR1k򸘸1tb}#zNg& AG cr50fWi,̙clW0c>?:iPKcGԞb( g&2o=3 [^ՏuX;HP(d$CNK2FSDee#a;߈Hg{{̦ngǽZ. Nn V"Y(#m >of,6Q5#d&6u0+YQ_Wm cl!L`lwhVMPuu NdLSQt]|ްtRlK*ASBw)b \qIJvtS⮚=+ m-JqR WKe{^%o81h&cseI1@SG_%d"pA}cWmDxmظ2*t1˽H Y3$EJGz$Y(^f|J]#S|0-|BG!M*TtdL#U}Y *{ROn}wyonIY@J^Dؠ}c SK(54@'2'K3], 2qm܎uvl^Tѻʊs\: ';$ 30u{xB4iAѠ(^ʬ-S"3ifW ͈Yʦ(1ZK~ Xr-!?};bs5kr3',Tb9&##dt{%ԓ.쀕'z؉~4`{7_8NLɩEm q։y{ (re-"7XAnz ~FZ4)bt +XQ .y!u}ivO/N?T]-w[O E[L 7&K Cq9M4ǭ۾N~fl6-VR1#;( 2#sC˔ "i͘%tREl2щ˛c+h"wrT NqȀ >*5h9M^Ք6Y ᎙rYJG@_PXv븪=&e'#oX4Fhmօ<\%^x8P^iu ȶӨ}N` jή-@Ff_cςXaOqFǞ ǮfC%_'B JRkwsHA/瑱5B]nCz-wt*,f |P9*CTqB](9=sf._vY=M)C9̒u_JF$}*CB.Ƅa_1MbnHws >ǼT55^@D}7 R,L.[l}h TWS%Vit60cBcY봁k};1D kit`$ GrUTx' Rܑ=VfTi >Jn:-CDo:t 0eiNh~[騗@L{AGH0U2W ŕի"oe(yPkg +*&q0}WE'z|`\NYfwDnΤl3D@mWϗ1֏UXxCC#Yn". GC^ ֝uH}r& ݎXR aweVF,mq7$θ+EH$?>J`"d姗Ү_8e2-sjSinβ]cf:UTIYM.k.yd(_!u0bH';:ʪ=yz1m1qB~UшN92u&ư]53M(O3zYmZ!ݑ#us97b'3f[prU=T"]HS\\g0,a0|\['^0b0(ɝt⎌lUǢp~!˰ ɑNXpIG2?ǘ fK[cFDb8́E)EM],jy\Ds'MO|V,RNIHV<dz>Ov*ZmdOC7Fjy9(E^՞6az"aY2*TfRаG%QBmUN#;0Qs3.ib*>K(`·b7*4 pT35F#Q?_]V91_0TGQp^ٿ,!jv1oksW#kT[Xg'nر4w[ MDHfiK^N2C<2,&SPVUJ$BhH(3, ',.rGK'G DnUCܓٱMTnEAj.FћQ3HosSbZ/&9#])$橖K~~2 i0&N_ 3{ó\/P376kSmaGzadnc6l{G:,{n4}[fld(XەoSA+‹=j6M,t Ї: ϩJWL 7DŸFv 1+~wTº*76*qލtёi }mOs<3}YZcfF@6q mym%$=#*C!:&z SҰMQGn.: Lw(Grء<7bs3NIP|Mi˓=ဓ.J.Ϋ R˔e\TX Tmn|p^Δ Ԟhk= 8K'U]dzcKȍuE!x+ p!pg"E)dSRwC# R.슻T]'dnT] ⩡D1C?YvE/㊯r7 b֥nݬy^:qT3 SuT.Me@䢷Y܃D-I$e1rff/K"KG8=zTn)/ɏ?Y%O+~rZB/229ADBHӗ\;UlDϯuBMtM}!&'z^D u'b:T|tNj`72pa!afA(63G>inPNhs_ųtf !!Bk̼c^{SSrSrTAE|Ǚ2s |G~ƒw%39/}J0(%'Q&gq@=:0c;2p ez (>[t#[P&`쪚hz*Y]_R6Zeaw R|`4wd',!*ejK] .r8̑1>[5-Kz/'g8yȝ]rGseXb91M~x4~e\H+aA 2_FC殤ٷЯJ{^bb&b!3dO -lnq-Ӑsu(5bI/*2;W0w^7,WAo %5eWe A^ ԏ%OQkJ=3+S\HKU+T}q雤,&ܺr=?$bhl15rڸ&??P{ Tg2,׈_<5#W|ʘ<  K&%L'@w=++TKb*jϕg.+aHi_?G#PC]}rRX&+HBN7~t*nRukC.g֬6n? RXSkyφvo9+ Gi[U Cֹ~Hsz>Bꬖɠ`.*Fcv9BK5Y[eԍ`tB+!RY uwB(0t<6m_&!h@ȶ3nX߯vrU 0QdڈgCOm<&ywUXX@^P[\}d_’@:~ZpTZ(i-6qivQq_ ꘽b.U>I~LF\cG#6m `/0 zI3ʫ ^RY]-, ܩfo r;\b, G9昬V\JI/talX3#-20Fd7-Fc%|+Pqͼ*Zu)[5X~[Jj)+n޲N'ݜ3ͻ4++a?e9;"ĪqQHI`Ŏ uP0L*'^j2}7MrkQC+U *EIN*( 6\]ö RWYn QSfNXQ}u'-R*ɔnߞW Ootg|C X6jW0r[׿`^zϤEBmi ^ֳ"Elnަ/P6.6OJDڶ~9zw:Ģ<{!6F+, z]}T~?ӷaP-8[[W /,5lVy3$EgmjU _sutLf+pLN4,`YeU\a嬵#?unD JD~\=hH=1I",|m˻f0i)I@Zn*h<gԜQPs)gmFW.;;2 !`/ۿ;ˉzOgCC%:ɔFB`Sl>ǛI\/G 2'*|)O:FSO&etOGx0SV{4S" *("a5&2% RrzQ~<n -ͿcCɄȥD;U onG|xZGext8$O[A="|wB<k]h^VOn/Îܝy$ }L<[ &_ԮY$u@jG҂F(b6#er|W{( s>4D%#=0~Ȼ/3+;@O˃q+/޺gƭgdaT (*ԙk={' ps) R"a<#| F5b~;JF++_ՊeH<A2#<А#73 \MY2X 8?^D-? y fձ!.UwJN?$8 |d?  Sj"Dk_W.\Hm L'3 mVl$ oV߁phh}<`$d=ӦցsWɗT.Ȼpȶ?l+m^PSh"B|Q 5t,'}6VI;3hsRI?LŔn\~P3i3eOtӑA ?&rK/">nEQ 'Βi xxII7^_߇{mGZO 3 _DoY/si& Z `><m^/i #Z>٧T$<C1şMebMl?#"'RC;߭,G'%Xh=7m4p?C /*;%xB: )Dw>18O*:>()'-6b8u .k#Xrs:8p?#Eh/S HQٟR%a Á@miY`-}щl$wx \myFwM-5SD0*UzqZ`1F0d=҇vn5yRa4gCذإ? C |jr  ^z>W馊50kX&^lP-\dsOc0ci{uF;B񤘚$ӂ,4Uja֭:9@~` g[{A; ʊJ+9‰fjtGBÁǧ_=DK©YC3ѷޝe;;rԩPGC6G "L/#% kw;b|(+rcET/C)*+RCjp/*1mNclpGR/oi5x\X*58BW[RuwY[b ۍ=gx4Dr;o<(h<3au? *=4IS_8ޒRJ49Ǿ*b+Pvh c,3_d7D?̝pvZb(>}p ԎZRZuD8#nIfC.Ċ'qm@YBϱa~Ryu̩ ݹER>pk%m7Lj-'L t<{ĒqQ;([7e}Pyȑqwƕ kC'*} G]":Z`ACIz7calBߑpZ߀G=gJo0$9h92*h~Opb9;J F,`2[Ro؏''v[?^+w߀$5tv.5QiC( /Q\/| ǦH sfI ~#&|&quk'XŅS Y%LͷDH$v{z;tI[qy=26ԫshkٲV(D9 U__Hc*Ŕ QP}?)8A5^m295 )p@Y{?Z mq0))- R 51F'nldÎm,L#gVn"GU=iY-0YU&$?N9 {Bp;4uԵ%vo {e.D7 YQbH~pfFnXaݼg=HǚEB-v7J(oa$ōD<Ք^~j1p I"u?P",U M8W ӵDaT/Z;WhE,o5 hj `]~<|90ς&ADV I9fWMA/B</g<'PM&3;jen*Tcec% 'Q>[>5vٰ0/IA(P VP.u71.XPhpU?zTs j=Ț+z<:ebfn IdFhéqmuSˌwQA@Fz,O WoDKc+뫐#' ֭ /7,%}%IFEy=^LĿC@j"$_}O;­d7{NŶ/ pv_-Fjpn6O*v,G"4vƠ JMťh)EQI^Z~v>2}c@cyM>:~No&wsF"3z(% "PdRŚkJ_YfwgR 4X8ZϭOz?6v45OwcUHuSoӇOuo6&|&뱳~_\>VtzxM/sJgw 5#5,2cR{G톍#BVn2{~7E50я#x0tRW[{؍?=2 w󢯫'[h4Oe^jwyE9>օR1+ށy4zf&cbdQ%z<̚H58|{03 A/)D~ ԅ'PE[ZSk7Ps i'<Q!q]A 5֊pP wl V Vg͞3ZX[c践9 nR†N81BY|rDᱚ dq#^)E\h廾z,T4knIJqw^3Spǁ[_ެdcʥӸ_;zBLn1۴ 千'xB43nKG[@S=zU6Й_at2qH7>4t/d,SOD 5wV uO3#$m#ȩnp'9n2joE:rkV[{Y+"]s!mଅZS] \:$WO hÿgZP_}?q!=sYNR]#׏fXBT9V"^cCbp~$Ws#c~l^*K[5E)Gcf}j5f/Jq_Xs,ws.rstIxXRRn~.tcTU(9v +&nT niv0!?/<)[n7Y]6CA=90pD}DH&f D7〝R)Ãl>ۑAeMbc'?> A ƆaJ;7ǝRgC<4:mZԗMй,Gjq*܎Koo S&+ӏ]M#sfb!MBQI<v$ӖԎ Ҹ>R]~N%;qc^^Ly1(^30*Q£#@<%YK y+$$CZb&ԽEX%񫿍ٸ[9Rf1?#>7)cڃ4FA7RI^꿹Yysb]$C-m?xr~Z^͑8:"JePE)9:³_Kg:{Vrܯj@ŐttO54 Ô9OcE`CXUCuc4!6ll&CJ高l@Aa08<؀ u5"u@ tW.xQ rrmƛ)-ɬtg]ذ$D>a#C8Zɤ2~FQs3;GK7ɉnkQEZ \U'l GB8.] gMf-Y^^ێuH7;a#8bstkmMD!7.+8L-tvz>~p}~ϡX>l IK[ۮoU6uزZ 0l|_% )=C7{m4-'08+sh5ʺ^P%oBP 7Umf%kqj8#OKxكT.fGLi1ja _&ɡ(~ُD?,>ɉfw|&xXeSȤ&1^ Aq9xiVXE<εᦍC\z b`*%pڡ|.)v1?";U5sv Ʌ&c yˇƵѠ$vu M&sQopsNzaՇj8[y#f]%Ӎnꋾv1fcz{-: X0m[1 BmP?4cb=E:疤;$7d6N(H$ffS蕓z,M5jJhגi kt5!ZGP*2EtҨ]hV5!E>UK _*ڔ- aO/w!:7o9Yw<-^/z˗lŞ2x-Qpܲa%vxKg귩R76ƈޖςNdNІ87jd.1 uv ZUo6H1HqUikd*ծ:+!n :NHf 7O`BZ 7C#E~;72rSҼ&qsƒR4;?7g>sk\ qp>d1RQ>|}A'"E+yI U^Pe(,;ۅeK`Me'{UJTSgm\l>:P߃5Tywq17t^F󥣓"u$8V_yKp<x-܌'7^3Vg!wvQ™zE*u9H*CdZP~U/ϵ$yo1@S^-5n\- . &0%q v?ZZ uTg;mod^$Ce?m2|>9cMYt6AA@j'ox-(`*~(ۅeXdJJvn, AR aC˞E/˦ǡs.Ki$;BG0Y8yGCGCLNZ?Ϣwc(b,~v/'}> IDATG Þ%̸A4SZ{ǙOaˊmXCUmm \x<\0cE0cK 0I!)lh2Sh7-`.&M;xjTNF740 f4Tuq4QEjCM;5S}|H1іpXgu3Qc2]9TkCCaR 1Vac2vWAfφA~~Sg=>[pFMџrPy{O}'Zz f/BR\pfڿb4C3&$dFrGm+Q8F<|Ct|;R5]&gu*P*:`U^H~.mJtdIœ5Tڇ_QSnjU4KB5$`MdQ3I z(EPwE* Sbpy>TF闺R+"j=P=ITf ZFkڷ-3Tޖ^$J(\5 B9r  ^-6 CX3'Xn9d916 F ʲoW.š'U%.u+o]|5˝Lx]>g9bdГ܋ϡ!JOw#Y v#1Bˏg(|?yzp$uO=(uw-nTxMA_X6!Ɏn·[w[Јpvңu \h,!hcDIldIv$Jx{=OMj ײ![7ALݦ `Y@"fd-DzV$p};-%.OH ($[ pv{8Yl\c<[`Zؙ3#ΰ SzkSeCSb`4qPw*JOk1| s%By(adjzt4'Dv {JGbcpxi_=ڻqgqi;xe8^ւ^FWeDc޾7I̻N;ޏx;QWa/^hoƺyqx'U'0ȴ4%ŁgBLg;*@dQ%L<>zׯ zm6puHHSRIJp)LUu-8U]Wa}s`?UATWR|/Q5RNSRw\`/|zWw}'=^'8`K s,<vM}Q SmLEqi~|9p"4'cuF'M *-&GC*U5&}O'O'5G缭 0RWvd%0x< .40ȏ7GQlro㍨8xcڽ4  ~uigPw77ƹǷ"69`W]=I(d\+ 3[MOѳ`eK@u?{_=N(*džގxk1-w3^^y:ijۊb?ϣM8^)(ީ+'gbUArs<uJ&U˦4+"KZjI[.&o4:΀fśP?S*]ﻁ6l8=84x-/|;F7+~q od^`o0:- e'pzH3(j-G`1y!+憅?!e2Iz,'ouKB8Vjwhv>)ϾCؼ:W3>Wiݷ-kӷc8rJ 37"Xyϴrjpwa4+l6xmT$?ja 26C5<f|v0Um*L@rH"DaDa^V)Q;:s"Rz/^~/(AE {w,T߉X\9Nځy({ ًlENg }/av9k=Hf&$AłEK[Z(mH<@BH df2d=kIa~6};{=N!7[ᄆSObjFURڢ2he7(&$`^BX+ȇpcӐ[m?֦Qau)H#};<>|"w."YGphhop+^~Ҕiq1Uzſjg7)cy,?˽B;_jP1k嘈KG][*jNИџ%gOfW`|Xg[naf\_YRe:G@#=y4 4\Rڬih+){ESug5;/7G=ɪ2@Hԧ>t8\W^ޗ4ܤrht?HquC:irEmZI#&W_pX6w wtiROw&$/x m~/:jm(4+xxX0mrOs䍚gl']u>3uujP8^79E7GW>D t(t( $Tu]~K~)6)Eqn2e*0:\ ]Is@5nX3@?~~z[u%:4?c<8g? љE 9vFxܾ3NuΤgt'JS̝ }p;\vۻyMA=/yd$Ц:[tb }zߡ77񓭱@!m7ib(`N֝uo/#}Yza[.ʏOՌap,csa$0Kr+nm?Sx4xCJglAɆfS.jWsy ?z{n֮~wժmA)=ͤAKԀł$ _{>'0x_-:F5C6❇O;EYoNeAD(5שZa`Fmwjva/vb?"`D:A@ kO vQ{dh8lsPHj/%i5_P| lvo~rwQ7<։(@J2JQdkWCrY@.Z%4I:9x+yz1#Gr||V)+1z`(`0RRmڵ@fwUu}^n*TrIUuEt{mQbqkӹFazoS!|f,JQt>^H5V?ܪ OhSgG#*@(&>Ǘrk'),^ jS!XsQc۵" 5p+/2QcT/yZX շu>dy]&b5v8&7|tųtҹjhyLE5~ ^k>zB*z ʪ]Bxn'XcȐ3\sަuj]I.G 5*읻$~ØDf._-GA4EC(,4*k HOӀiDkvTj uVLd$͌(D2O!pk7 W5{rvTî#J}omz̰iwcP oUuV]=N7JX>lЮyBĄ)1s`F{/WLq '%M;} yw =+o 'H;OV̮԰v ;_8Oi7~=u/yVOlYw>$I`o}x,@&PzdtczxW, g8 uq0@f/ il嫿כ_QL wo_W#{/D'NUWc6*9$sV,cUmˎխ )OL SM 5hZyVIz啧tãkt7~lHc) <^ niԦr-٢[{t2#csN56ހlsRwg+A.S]^)xۼ*~>TM276O֪SYlܵ4-2_oڲ]-\GK˸_nJ0uLG|&ў8ƞ n} ;T ?n?1SVM}F6AW\HsX7"5Cn}UU_t")ɑ7Iu4oPMjlD$x S{oRK+ӧ|pbB!ۍoǎN'iVp0:(ߠ b ;TҨ\[EFE`^ dp6N}߆h)z흿&xy Xx|>"4-}ū肋uG t+ODuڥޡcRՈvݪOXWߤA| b!Kk?)xLaX?;ǿ?PKxVj߾$㟄Ia' hX*-PGo#'3TViןx|2ޏ YG^&-:y\Vi([b%]s +u La2yJM?Urg|3ɥkBcPVAzjC32?c]^?M}6 .\]x'D%ͣp|Cq5+0s愄$xƢJU7PO><֕xۡ\ 5рMUDty_UJ-5) /s5+g[yv.DO$U[۠Ә(VF~ƂPJ٠Q74]v@TKj٬r2S ôxY2P5A٠97C;3!ןxWT֞jMɚ姟=A0Qs}[k]Suy[7>wN~1 ٝ(:l@4&*c}kȰJnOkrTӀ15Z k.&V၊,W{^B(z^6s VTd:KTd{'?.͝ >2aq;5QW&Xz`SZB؉@+fGKjyc#XM˴`ߧzG)ijߨ?:{ ٽ룘Tԏ<To foVR\L)`g+f\?{Тab}S IDAT[4Bpyp xjjQP*=cmkov~K{oSVl=^];џ;1$;Ogwp/= 훕;}>DA_u<ᐋ4Z]ٝѝGk8X.JՕmVc͚SubZ?9Z~ڿNmlhֺ2Cݩ򈘨Vm5owk)^["xUJΘ*.Z/_mٯN2kiKuiɓT\' {ΕOPSn'):Key9:y$(893K3.U6?JTŨ7`gpYgF^}hL8ycOX,cDZ_eVV]+G-yv򽚆R-8`'{]O# sSW`R,p~׫7?ޠ^ tBǎPͮuxDwN^Z|,mYx>y \4_1d7wnnT94рiD7ųk8 PtDd56@ky'V` y1MCҽijJIQLl@($:^oEkSt*0AJsʚT[۩&(<ЊPѫ_GS. j*1i<US7/Qwv1W7>ڐR(6~V Ig~}8(>49}%Ɇ kQ~eg)whO!o\ fM{iUmkhRaN&iF#}JU2F4> O߱ZkpH[ҷ Unyw9OdE7˛spypYfU<^,t)Asa_pכzwV{yYP$ @ӱ\a;֙/k۷Cqc_!/A4 9I)ô`_EzɪfӰ2^w~W'X76wݘyhk`PU"@lyDfʔDwg6w[K*8tP 4T{Hg<`߫ ɐ'A x/zLIlVmF֨6f@Q0[lhӁ4x)'EQj/bYV!åj)@'<wz6WPnz25qt]ʎ|}M`ipM$5)*$\q+UJIYvU.*,܂ O;>M 7oTutFK zGu@s qHk.Xo{ zQjA(^T=?biO~%?P6Ϊϼ>JjQ4ƺ1S>g10cѷ s9jG'[*vVBGi>]:cd 5"v2 Wk Et='*Cfjbtt/F̳惻ՑvNY_+bʰYJ'PYEЫZM>mP1K~VzvTCYrJ{z;u'0: Z;P)y3hJ-b # ?pw/Ov?>ol?)Vq=Rۡ6e`` K7풠A88oOOS҄TPqx3IMXvN%R@ͧNS˧[6tiFBc @65!t .A5_>CHI #(! I&Ǐ_}lؖ>d{!Jbx\ʫ[Ui}T0ۚT)ػҐo輦`? ab ߪq|V-U{G`LKOi)>4:Ѯ:hlDh劅7.#@ \S/Tp"009pKeD&F.'_ !džP0叙Ws}]sy11N<_G wH3И.fa @I/cGF_xE5_T] =]j(􃮨^e_}xO Vx^zC<ԇ* ~En4M6FXM7?eVcUJudmlhT0u4*V?6{0R>߆;[@Rݞ9Lx}d *" F-؛BtI:sPTݣx0ù ΃Y-\ẋqާ0&`v\Bb5š36OW+`-DDDo2u*49j+{43~qVcwD']|kW.# +=N>fjo흼w^9FTCOߪ[-!mp!mؽIKN_ êh?=H[UMS?oZjENѤIWҽ0hyi\ #B3O>_;,}feW:PFӦNԏOLT|4-f::ZQ7(Ũ&N%De:ݷGlնiԳ^97RC\k?%E#5ʺ&Twog `^No;QQ!^bLޘf Ψ^cAyVܖHWacbD%ū#r18"R>!Dnò.ƑlA؏4ƾ ۃMeVt)#Hl}M840ڛѥ!vjr(FM a$G`Z7(g9 ?@+j'Z'Ѵ C!.??L1򸯾NH r W2%DӨN$ Xc(#tniK@T o{D}aGׂ(ϲ##>ܝ ?; aAksy'_H䷏ݮGpxV3/RHvߢ* ^llB_R٢rZXR'_Mb%HnĨ,]:մ0`ϻ!W6f!\V\W7V8'L55-h z D~x^>,dPCZ4chtk;~C&Uux2Pf0:$'c@kk*/آE τ&=J_~BZ UC[kRfP ԿY+|,V~# ڌ\÷eN^8kzÕzgxQbjƌ *@^__ƠE/?&?~+x CM1<]xc_ #h\ɥOHcV͜Lx'LL&J)}od 28Q`aՓ;̼%Xl\:K1wghFBE&'0:zHo9|P@Kxcljq:IF7;qw6@w"p+Lz Hq1|ɁmCF7D!%̝ gXMq!;^pDbzfKNSl#{`W?;b\ -_%IL߼:o Sę()X#"/X͞@ o^ځ G4O~p-VkNLPb}eE`|=meZ֮7e7:9:pOu6[H4D+lEsȉϾ85w\u{swH]seȳI6C{>B795?Gg]*Ztfҹz9Dp+iCW1gewgZ|_e.a}A`J5PQc7Ӄ[Cg\VGKDK.y@>@ c; At ZӦr8(*0 'Hx ~/rmtyf럪d(NV0i.Rb10d7ˈD ܔVA$GIeױ;\N?yΜ} kV102;8]y F.@1_ |3WYOxpdArqoSh/d>FNMti (_ oG\888Z*pه44PQ=@;N:HHu e/0Ƹw$Q8Йu ԡ6a:L:|HHsz$|deS&FYgP(קЀ0lPtxFһ;e1w;['P; 7X2W@B\,Hڕ9!Jcsfc 6uh`0(2Ɗ=myC/T[Z}c8eAbsɘlV["saF:ңYڼc7ҧSczy Y_?ǝ1pU6%cHHxF\ybr]0[ܖ>(j9zA_[DW]!B GZuE6R}>} zpj&|Ƶ͞Rq:_47_]پ= ]1J5o |* }bv7ZAmg}@YTI! wԍԈ`֬P[Nqa$V$.v%+fW!8<|!ۦv~Rmp(˸&NUt>gˎqXuLJy8R4z쭇)I Y{i)tV˫?]1ݖgpfQAuNFr" C>˼ʛU|P(0zEQvT y6u w.?WY臟P˴ 1NEm8l^UD,fdÉP\'*Vdr""@BQdF*_ ኖ6EO4ɋۋUSK?6hܬ>ªv tF6Fݥ/@FwM9f .%OyE0aƳ\^:j0u7c;  Q2+ y?`f>b jɘżYMq o €?$?kn2b؀=0AA!`ԅ*6>Fa&ub}&C9 p`Zb=͘.I_|͙s'#MMm@tS4!~.lݶل; /t& :M RG'G!Dؤ56}j-dhuu ,[m-.i8 8鐎4vFX'$_yCBt$-\z~rA_!J5K;K7?\=d~RO^HxT .x]w 77Ȟ]@yxq{w gך Wɺrq$t 3`HbJyFɄ"SU"Q_0"ݢ6ҋi)Y@ "T`w74 2 Ke.%;TӐ%^ 8(> 0n9J ) LA}=߽t͇S̤1(teCi#GY4g:!25`Ѯ;AK;s,uPE755c=^ht}=fjr7xwج!2n53&?aCCnhFj 0`֦\˘XHvK~rϕ!N@Mtgs*3c[:I,Of7N#F/3yR}ffJy7]ơ%{f\<ˀd8qF]_gq$ N %7Ste5o^ #bG#$8'Z@z6|Ɍ!96 Wɳ`|m߻Ozt#rWXd)c.I lKTKE_"=]#SʁI}KՎ#߽ OR -T%E9J c*k^AWOj b )Rf8!x̠YZ{o8oFqw=+X/_z"en@F\L[joo ;n:siώS:&=q$5!0%?^a}rVlќ1Qw+vQL 0LfxR"wtŗ}ٌ[-gcVK1?H-<15j"5  =@acR :PG|_W\ YjZZ0LqY(* ^]}n<~ x0mV:*)/а~#E..R&|܂^3kJZ֯۫ yXB^i!jà ϝwt, 3 46fd%h>8It9pRKN{Blz;`6ilX,=W>;xg>9"j|%vҗ_i$Ęp=7w'<5Zy/?۠*KZ3]L^nKŚ93H}YMXZp >_y}(+J5MT^TMiצ4=( yE: ڑS"sޗ0fTf9Kс%`#f%$w^fլ;H yvSQn$ND 6JәgϿʼݍ+aJ 4wD]~NN_jױR~:M"Jv=ntp8 E$sY F+pf4C/dר0B^q :Џk t+dI;6d`+C7:5:NA{E^K#2$,N1P`5Q V"yw` T7䡕fHu3qȊ**8\5* m\chD'`M`ٻ06@of.HxF{vɌ\.e^@Ftһ!tn確.Њ6:1xa0ogf?:`q?Q̟GG>vDV׮i0˘`YM7`>&|X ΃+vD/֪yڠq3/# 'Za6f &TZh2tp ¢؛B1wXMqƯ"w`iW@I0ЫkJ(W#mkG[^q 4>x7 Qb˸#.GUU`1١:͘ĬYZ9.>&-:ڼm.bz ƽ ~֫:Mݰ!xhɻTX|м/H#0W $V#@EXt\ oylزC Eh#L;n{Kߨmۧ'5c|b$ϗgȼa8 +PaRƤD%QG.^}>f]LDNJC7oz,(Ug[=˺䚇4܇W a]pe*x,#$xDk4e܊3~En'-nW`|+AGO H}LVݡ]u8Q۬XzQT}eOi^Pz[!+Q=2oV< 7OT[:<w͊72۶Zb`֡Q5CxhLb y1/wc `%3ou>]-K0}E"ñτ񎻎Wys(tC7`AuI Y" Y ] ޵{x@Gex=-}w( FģϷ4&W3OQ[r(#I*ySh @|*{fLYfuqa\W+,(E4(E>* & 3\P x&\ Kg8uvv[]N4ű=5Ü݆w3bfݧvSta[_7n,mg-ѢVݥxyNij)K9Dj0kA=WA#Y rS"6y|R@b]ԯ WW=/ކJ:6,D'M;I&X TWh P;"`Y B)ɓ#,y^|W{ ߆'[܁9 4%j CGFȋ =0_$$U륇&؍{ dU<ăğn 2OO?>x?.䡸HZ g:yn̻} g_IQrsٽc%NH?c߼_o+tD3;ц^Mu` `i&v̬BgqIs)8b-Nh 1C'BH1+_b,u^FEzcЉTOLy]S٪tQtR^thꇥ߃O[qG~F)#fR "dQ@ PXS7'&PHfʻdCB'e;} q PKL_6Yl0x+{6MRA^aq - aJ2.O#"XuWcX27T ZX1܆tNnJd# D4A2 f†l(Jqd~ǾG;)wcQ 6"L>KAt ԄbZ0xǯ bW{jbSBUz_:4۪Lsg*,CaL/`+Z4[/hNL5}R8LRED&wTYzVַddaJacBVúߪB v;I8h:Hse#d&=&Px30-TY]B6P:d3&S =TTR5\ғdGu:@6[&1gm*‚6&DS6YX8Y٠#Ih IPF7~a%]+3>ZN1Bz`Ԧg;`蒪Z{ h:0!VbI5U &isƎ>:v_ft|t~mUxKYY`Rp#h$6?k$.5r 7?A7 pÇAo[0NލN4f+Aj9t3B51#GԀat\eqF4K.~5؞ __ "HΆAU6{CL|rd^!KNf=u0iqx@ː~#IDstMTŧKC&WQ)¤z ~o^w눏2TVg^gɗN T9NWA]jqS}2G;< v!wiJJ]26e$LbaBF0JO0ä)_OfnJp%xFа֏$n؟CܬXm[و"8x*LOSZ6S[stʲs]_ɳemc'jT>хܫ}1:L\'u͌ǏG7 F!^ml/V}3mf@eثE45);;ת:C1>IikXйVVM7icJ}ꔑ潓Qh.xNa7ڣVG T4f~Z`jEg]Ң86N6`xYi9#Ac*W),JG*PMDqO/A7]uW0i r vO8^6a 3'VEQa1nƆk8\z8yA."9,K $F+`Xzw5e=q;_A*1Lo` BR2?XPu=08$㖄H68sF+p f:+!_@Ǿ6Â5QV VݫfH|,UTE_GUP9L!y# xuA7h IlJv颻4%+эZ3?8Q 2nz/dyzJЯ ct47t᪋:}]Ub#|茏FkHZqrxb+Eg/,+n!a<ȡϷA%r7=B2~Im@}۸}6&|/*ȝĖ[_m_<*#+T2);p{1?k0h–ќѱ֖wC(c~MOx,p{-Cb#B$t5Qm0i׊%u$'HPW%+|k|:g{^ӽ T Dd4ԞnF|1Z{A`N[G4i-b6Mi^!toyYy"mkPK]™[`ۻ< !9̊ݼ﹂0Xz@M025/ݰ0@.#h.h4^ t.]}rPU`UI{t.`G! 27<(t<0H=8t0hl0?c0߰#d otW3pM y#5Y(G:wpx2>Q%ڿ ;HC}hYyddiixR}NАWZ%Ax1ԑlG'CZ%D`?xʹsp?TU5J[cFh<5e:[%k#S$-׼-r}};:^۠%ӧ)ONy!4 ㉰;VsrURL}W:\Y_٪V`OS)jccXئeKompwitl\gLϫxdgChcW_\jF+/d2:ȸ*,/pok#MY܃}}9\?H5 j;:E; 6k&=Sͱ0q~x}oZחP {6Ey;YuA!.e$yqsx 7>Ȁi_"DMC3nյ@Ѕo6s끳?`n^UEQ¶Xbʜ_@'7$h?:f:X@%es"S~Cퟆ(^9+c,vv/5;|{Sv2/ Dbbsѫ}إ_:OTk/3 r;1]'1 d~ 35|:ګ;5Y 4"YDNlhNo1VLqs}Se=7QT(-Xpc_Y^r|RܾW/G{/{tەIb_duu5D/,f" &V-L$;p+?b~dO໅~K 6 9mP~He y+~Q-wSfz=D(lYIq_E[Ou2-0/# @@ϙZeh. Ğ[ -H|;{\\4LB؁簅5 m,dht14 fbhabfFQ:Vٷ`,cBZFH vkI+qH92r"=3;U4e hh٬$lZX!@n#5 IDAT$X-ϖ Hd ӛ j aM4!ˀ{KF@{WW zua%L@hB-u)r{<o)ЋM9D<.:q`]#/k_~GZGƳF]m9o|Mez;٢'"{O|^=o&x`eÕP{G)~*k;h>yq{HviY}Gg-d5aV9+ P"M! INlq=LDOnAĆس>EJ ݽqY-ձ.n3_AHS˺ey^–8GBxZ]*u`*KW 8FQl#"yW i4 SFIϛ鋯jb5J>&`b翨gQDU汊ʄ> " Tʤ8]5Ϋ鿀K`F>{^n]xU*ۋč/B.'?/ GɽN͕Y jrp8-z_:Ԏ ȋg| »F$qI[#Kng) XݤzX,MpJK/*"z\CW`0\՝EX PF0@5!L@>0w"LӍ0wtYU_7&ҶV)ݿZe;N{5$Kn6v 놐&VbU&'ǹ,}}|7&&|œB@@LmcAo,PO+ggRQt mϿ Y8@(VltMPI V=P݁2d| 4,@Hb^LUNTb5xk+L Hx+W QL_yiܗխ٧OoA-p^~ķ?, f2~TM>gڦjuwhgCzZcc&= W0U}yVױM(DAO>}_?|3Z_fO(a M@!x9#Z{ǑJfd-)z<6C3ouy۾P"yɦ,+gncv4ŬnpPaucZ4$Gu;@Hvfّc ԉTܫ`)Ёg0k–|p՛'cnM55gY|ƕveuIޑA5?5Wb\CHGf֑ ~2~?{ǯRNVB˄ Tnĵ䰐QUHDȱoթix|B02D_{F7 ymQ^Udě]lXń ~XA~26BEj|B×|Z}\̉JuOa!Ab6O_s]_' |A+jeBVT0?'^Mp Gj\> [ +lŠM4lPШYq{ʟ}F䦮 .btE1Fj+uUԪ ƶ+u3b?j$Q{P$gh 5q_A4r@ed /ˎcu2Y 1^#WBsrS?j5N`N u K(@׿43xq oeX(x' ~E?xuc 7mCOQlU~]Lgk`߀-l*oQ#=^IEZZThHZɷ)aHVIHS69d /ATG+S!}d#rdfezͷA"9)^;l 6PEŻFNA"#vs>n:N hd-%7R;vp̄Ml#Uh:y9@L}ny wgpƱ,r@2VLP8YCfr<:m$ ϡMMGs\hme?LSA}+%o,DRi}v}O>KIhU0߅[2Tf MA,VnݤV|) (=}6dl_?#@LGP,<4uy$~Cz5ߓ*$\]bj?9 &'9/<<"ǒIth[^~h]C}/jmK#`Dg,FPؠ7ZA8$@ʹ9D}=FbyHQj`v?; Hv{,7C+s\}c?o<*?GO(b-a< H[%`bD"#sӦ4!(h|P(vfiieEy[! V|@Z]|OK2[^1N`N`k8rg F @{-v_w)Ryb9蘭1EPρU4<ͰKW;%0PCqU93= ̽CM ѰUDZ`l~; /XV^7 qZ(VS L~W^l͈C†=yާ{Eg~,{$0>L.{JMSIKnT^՗)B_DK )p<?N :("+e)A IN]4E1TcO3ǻ]01M ՘>\Ӝ3T$V]=.RjYASv {v8mD=ۖj="FQ}^{&mfjkYWW}ʯcp LѷO}]<s$>&wٶ. 5!M.N1=pna鱓ut?*[{HS`4UyM%KHS>A ?wtellDu,'~_|Ih}``7*g5a5B%x^}kC9 1C!T[WN{iNyFL*WlvA{ycvӷ^z^̢d )S')^rUpJ9j4PՋ\2_t0Uq4][5`UPBZ}  LȇJZx婂ekGq$ rDzgYhq<rly ѵ1`23UMI{<*E#c]a=+k3  \h>-ņO2Egj줠vX1 yc`30nvwfɽsET!Ev+( L4$ dIAmw<g>|s4ADfCuG7o+gE14"Id0k52j&_>Q*:?OAqV8[E&:L6{yyR4NTA Y7_^u^Lҹ϶K!4b&-}%W7}rp+8 !޽ Ydl_&=1{byW|6&s(HLꬢ'!]6ףQ>(Ji&AV&@pP=k*VLڙ^. j.=UYOΜQC jй\MM/`h FDkX3 ѐ/};*X[>h`~Aq?gc䙕4SM⒏ 4)ZKf]53H7 QW迟O̽;2G^YAn/<8xI# Ο=ў@N~)A/l$Ͼv"o1=_x'qޅmo jpCl]R%put-e|߽'1#)Tq'Ԝ$GDt W]^+XZ=Ld25{f{x6 I VéE ͈ VI;c6Upix}4 % d4~&p]^0bNKo𠶁z0!c:;O.^fI%Z dIom`s:a[HA%y6RX| Sуն}hB65̜8r~N";N݆0; |&x$*VƓ?Cl78ᡃ|Xtg L%ё#GG槑jW2NήI\^B}jTeu{%"llwU]aVC]<%LL+N9(suQ >eK`Vvګà@>Y 8@eE:jQm#rŃvqaYcũ&ɵkD0V - h)>coȗ)gAFC+o{ZYe7mp0L.5- w!1pICZ<' 0î2.g2b.bA@{!H>3jȅq+$hƵV_iB*dO:E.pAbgZdL3D6SOnߥaqn܉]u2ؓ7 -D{  ς"Xq1(ЦB1,ZӖH`Ꟙ'آjۯ? c:HG1q&#@ {tW&[5r=gLuHY_GuvTDQ?|vex T?tl!)FIe\(GB2r ~i uM-񟆉R4L%Fit'{mE6`#lOVAA,GZ?İ}K(Z ]N]4!+v*ٻVrTHy68دO(-tZ43*y.C(y𣭜?kq~!ǩ^]ˏ |u9$mCiau/2ɗ{4ryMcU*8i4oS~E:zꔦǟIuUwmV<0AfԴ_!M"#E;sF }Wh*nM4˙*QNרҎ(c]AFO^͌ J1|o^\*A&o)5u;ڇߵ_-PR\_1E2s5ֽF=V$RLivB⿥X1)wAҲgvjtPԘze|kSr% IDAT>7Np]h3mq,^AM6QHCֳbc&/_aa '4m5?ʮK?\FcSsa쟪QǚQeqo:D/48 n4 $l\2P8WϴݎS_qPYݙjt皉Xc n4Ьdb<[,VK[0w|5Uү)VL)uoQ@ Mc=vϞ>̎ٙ .U9H 9{hIPph[|5l8M]vSz4ڎ|0"&tg kcSgT5 h> kY; G1M=F_z VU\Wж3b,t\)9,h$ױ>#ȓ?2zاdD1퉫Dr-akW09nͩ++Ҿ]BAkZҊfϏcP'W:ם۟1@P*T]k7GtLe(I`/OPpU\Ih\FCu 5Z0?fפțtu` y.bg2N(F*U{0V!4jevA%iا~mT3b=C'1iw~~@맿R}M tUkҹevGd*KE7@ǰ|] g~kK 8,CcZe^_ ա)åMFʱ4> 4E֛P0*,`]2l JȋR{S30iLGYxZbMUbk_\6 LFbwk#';t98I+"u =pѣ f`"Yy'eU5bSSEHq~V Ry\zJQ*g*`ݢ2 V`񗕻&vGgdə0dZV!Tq3Kjn"NX[`RYEJdS%4 ҙмw}N;c:0n=ykQ$j-2dbT%4e R@;ɕpaf1tg0P 3%&+eBZ8O^}O+Fu{H[RS|\SsUqF aDe&NoݓDuc£GrU1!1ߞoSyY$3L IquCO}eek'ܖE!(ukOHct.ƒ06$֝k隘gu bcC58>hc>! >+<8MT8(]*Qqn&|x]dҐDBTh84uh1/z43d `E\_Tkއq7l7V<֖ JAη+B;@ &i{Oޞ+ڏR3׆ 4b @~c4u鳆ӍEvV.jU M$Pp#:R, p[F!5+} í\EC =.w?0_3*),oѽw!VC~%Ka5I=5{ M:~u_E˺i} RF+Gf%ޤÖpB[d<_ו$m!߭ qf",  N#-䃯`7Ӻ; #|=!'1;3qs=b Әrcv0gò%V7.,Q3LYZuY\:{uaǙ* 5Ap=~3c`yu  ||N$X5 ؀K0x%{cdARXEX 89RjTQ`eYyx  ѡC3PC`o@wc}VY.4]-9K=hv sdi<򳘾]g7`7TSM- Q ^|ZUiB$a =XqOX بvKsa8hѷa7i}z4@b!ݫ-4TdLg?" g # q I&8?q^3 _"HeHcΜ`ߎO!"$'2I|R{-z{)0ya7JT] GU+=gA'vFh_4ʮɮ+OA~p#d_sUJ+(ٙD x-Ĺuu> 2"G\iؚ݅e(A6('*YR Ɏ |ffĄ?\ &&Psxw8%iMT7FYc 9k +똡7.jp4>s>~uh{g{'}?ف\9LT>i)hi'Vv;dR;HlUL+r: ]Kf/ eBrU؁Śǯ v+rb@J2?c\kj?YOJЙ q4I`-4ц^9Zg~Ee&<޻hR=&!B0腁B3;5d kݷ\H}P(H5ĸǏԌiz~zri&hizan1qxC~c9;|',=H>B|(!\=v&';*0I\؁yO-HJ ?#fvX#ѱOǾ7±$1@l<;=1ILqlbyh~xh`ֺ I*.~Heg4T4WqwcقM؍!G\TKߢ(͠?m*@R7 ^0OLaɚaVk$!a40m<}ByyXmr7 d2f`(Mo9-x?6 qIj+DM]7oԾ2hh'(ܺ|&xBix#|+\4"u¡E~YQ3If|oP<.9/@@'D`UHagiv˭G-k.lXgy4D&x.c,X;ZpR{WX->k{;q 1ք )/`+a>CJxcWd[xRi0o~E!+̚JC1Εv`u^|;?N@.Z <+Zv~D eEyzB.-'x}fe?!$gއ!T4Hܥh13a9Haa5a,lo.2e m&qKvc#,8Q,|L(3'6Y\E$u!M Ѱ[A~la :;Et۪ 5{*,~ ΁+qF&Acf_N$Y&2̍ӱ΀M1*3Blh 5mĘd:#P!ӴL9hɋtr(4UH\$|h6oQX-1ᯰlVri@LM4vI q 79WpU#0Ho>,:rZ!"b,8iOHgUN}g=Njwgtefc"Gәݞa¥A<Pծ.C#[Dc҃^ڂ׉*`xm !+r/}u߬nA;~/{ݺl"r!z91cݯM*>NOG_gc3Bt#MN`~bNn!a<Ϯ1&X shY(Мƀ !t{倭썐؅{pk|:9<։\/3(VvE n̐S(}iYr;[;U}F!ww>-N+x x#%ڡ0;? )ķ0InX! YyvA+pzUkpmLmF}@v9(J!޾6$_R .~_|;:[ۙq5cߒ:$u6~kO~8n0 JxoN+O#盧DL,t1ʂ,%b \@_`؀Eo*ɽm bo⵫*Ʉ[rc_WI "ԤGFrσz9V[dA/Kq[{|'.u]gO>~ B^c BLUȇc4`! ;r+T[bAs!S@F9?[4K~Pfӗ,8TޑE>_Yh}7>8Sg0䙠+Yِ^9_|uн_{OLMٻ}^ojG$@̞&53!EP3a,OOmV6cCmŕ i[K29(@ehy6Kټ:*'&-5$AZ[T=cJez&{3${vqCB| nwm zs>r)1}A &S5>i0S>H̆SD iI[M1-FR;c4 VlgPb;7 v008I-*BBEһ]䈑(a9LF2x_uPE"r ue08S0( []L1><#w8,\S QH،Z0C<1n &I=ĥ07@3sS4D6 {nvx+`z#5AIe&nVn$u&IBLvKN%☻/χ9'/E>gMӄ/Dܦ~&up*$ZTIP.<Ԩ^}Cڄdq#>D :k8['${'w |y{askVt>'ߖAv;waTHz`| v> hF.L%^tsT"s Aל4T֢vװ!Ywu`t ~{FH"d=JQ9 `j!. @э9 )o{z|uE̬(/Rx< ?ny\Y-S(M$ܙh( .;(SUx)"g!{_fHP.M&0cumuK}1Rk3 2$ɣRɽG"A $<1N+3H24WO0"M L NHь;^sږF&5 }ddFGY6gН[`b?duL- (zb!mŪa};ufȉDnhiqBCR>ao okìJݺ! ]vh(֙![c!s(# l@^bZP*P#֨L| E33!(E3s3ǑUy:a:C]hl`^tkt(nCFȊd34 pG=^~gt4;v<&b@&=rLD#I'V!21Gtћ2M ݰ}:i OK'O?џ}̠vW;iCc68>5=4#D"A+{^{Uh~ '_3Oߛz/7ohN#RE9m&cg@HL `B҉?8.U G5M|6(r; fM5M@cK;(0}77#ԆLb^<\VF8RQ#epI3\P& M/@V_X Ch;u`:LNtumR -v$T9eNֽJEB@QsstJ9a<7tk,fۋ 9E%{{Y$cԑiU!U&>^,7lתC}w Z=<{o~/ ٸ俸T5LBeia\!lisI jja+9b'5dU=Ok5gA.֭˨ljF'˴̊X_oy< {ګu_ڡo}NO$q]F=N:ҟ2uH' ڨ֜W}ݾFY}?w`0SV[W $;nfG>ƃ+BC0$.w9d6FK푝 [MdSnjF!Pk_XyqW]Iӽ4DI JLrs͐Q0^R> }@mP.a86Vdop $5Q˰shB bJ#bE; S \eu.#&oiL3nrvY C 49<:bZ#4AF>]lDgƟ7GEafXMo- ATFnʼ o,!yqf]4-T)0 PSP,31+f-s~R5s5 1}!LDO*F H OO69p `jkyJAɔ\S)vſ~,emiNb@ {`W_\KC9zAZSFPo FZ"_[(pi.~O .D";_[_G|/2: ۊѨg_Z5U6ٓB4wU~l 13s =ɮuB-Nځf8A&<Y̥5Jjd+M/ ߥ0[R8Y9jR+Щs؅F;÷v Z}ٸTeՅsYnwImNhѡEzݲ 60AAσ8e}G~]ː q[DB+X5i6Bà%\&M[qÜ q<4@><ͣ&~ľpb3LQR[ &>tAPVMGoj,,w쇖i-dJ/ip$Ox9Ζeqj`E9!74B| vhQ$@^llGAI+6^`l&E:nQz6V8vƅ1VZ1f߮m|"#瞝.? MNtL(XAZȇ ;8mx5)|ddX[++4c0jT\ Haƀf$9m ( #72yԀ,,$*B\Qk2u}̀=D6+4Mfu0Mfᆔy2iivxfʢwI-N)v=}wH9kO !]E0$([+ 4nYnz~h׀#XޖwE_LLW^=Բ STDL{Fcv1*>upGD9Ae3wY*Vb!d܆^~CCZe@peu므 }qJSL$( aА ƶq_PL%κ@hȌF2"a3nz~IS6u6fNV6H<(;m#g'f=Uu8E : ^ѡ{~\H3ڜa1ÑEr:~Ͷf8"Si)"9hͧ Da!Ǟnx=_W{4#,>'3^?Wǡ\}ISRb9+ _|VaoGj1ɷN']Muxd uSg(F]F0 RӭE*m<(,G_O2zZē.˿fz4AL\*{E=% M˂T.? d9͙vL.U!AM+K,⿲44 <δY/~Psy^o I$nI8a=>/0|j]11쭸Yx+sf*jq)@ h˷u"`hs P @vAXg!3$5D.Es vUAR4!28(x~F%T+@5ȀKUCMcρ+LH7nc" AxLJ/y~>gZV`[N$!}eLqմaIvfyb79z>}ū֧ΘS4lN95~F&Y)JzT-{dw?4']~NoxH+Uef>ǵM.D9jT=wήߦMF؏}n wHʣF=eL,./iB!*X_{(KwSSu*꜓Z9"@`3=3c/ﲙYc1kl&"0BIHBRu:wWwO3H==j+z~x5Up_妁NijZkA-aSrU% C:vZkx@*zqK~aa3} r\4;mKv|m*+V [V"SE&bquΟU3h *\5>G1p4jwFBˎҰh@tiʯosw`")$?/v찧$!CV18^eWe8'&$!}.2nzv-M,})`Vy0NJ!xvo?xă D/FC3ÎuO0bvl %E"gAzDZт dR-?@ 8aV'Yډ^ȄS_ xLv>Ț&-|J&if؃m5/J,ǬͽtbE;C_wA]i8 VjN9IxpcO^H9Ɍ&#<7A Wd)(A]D{_i@>ϑ'`)M(TԨNsh}_IPKڄzoB6N=DL!,H/`(>7<$(hF9 `-. wiTSdSO,WgrvqZ{ ȗ{EnGuxwIִ 6d_ɚdb~GıZUFu Gu4a}7Hr Hl.()~/=p+9MNzoJf2S@ը%Ynx^΃0;6z2p_!ukHS_Ż>׼8tJ'ywԸ^ sJȹxw`Hdgr2d~!{mPSih;ԉ4 ďZSA l ѮN .&H9$ Su^4D]^``OAŴ AaEƚL B'En^Lo Y H@6f]|*ÊƸ .I?DE9x +6V=%fAFa~$oAm^X 8{ճsB\e}ѰNXD% W1 gahj :Oo5"2;,(bs`z lĄtjO%NZ/7oj H܇&P+ruLc7:tQFjw=K:u^XzfNZzekNOɳG/ApKzv:( И ofT=s$N`Q+O~ΑqPdn 'д&&w-L}TKo̊6(K@3|e %jȽN`:VjrH_>FiE½r,y&-}^~ 9C/>57.v%bj7AS,z # gpa;n}D;I ,Z~vN`yf[znW W܄|czL'm0MjG!s@&+atѠl7#daϻjxث 踫M4Z!HֶqUX.XISc7@#>3!CN#%sP4`qX?uO2uٝy`cewAѣ k!KuO֨kSrX>95EsX$ X%(geIm"{qi%ѭN$ކ_tȡ] oAÚ66fk[ɓljnk Cd/ q%xlX%,wU4?'֘k#d=,8)@@jjÉnE]-$U"Nن)4Ic²ia5i1`Z̦y^#C -ZU`v G毄t1. I k㽟s4x41/Q\&J.:$+o~Q ~[h(m !S&ᒤ+y 4z_g&1MG^zqmw7/W6 +L! o*ceӓ80gke|ID=o/؈PdF9z3a2lj5LT"R[hF됃fZ 3xhdHwdQ)T7x;5O0`/-[حF1B!U=) hVbw"ftd|6[Z_1*\5?mc<[#[?lNo<5c@u&jk·ʃ^gL@JL_]o-[el9hL ӟr <> y89::I|h)ql|?m)p2 cOWROπyν@]IQ>6;.^_VI@Kg9裱s˱s*6#?B"jZbLjXV-Ҩl, p 8 `S_XYL?wy4iap3e"?LKJ^2YtO3*D]lKr~iӔ(@+,~ɻ PcՑZZygU䥓}r) OQ/˝JqsW09o4(@lB237p7c) RlJ-T L~α6/H*Gf@ ه'0Q|4r(*q"qL,}Io]\o&++p.NL%2l4UE( Y\_3y׍tONFfː) ?(l kl9C7y~Ä,q\\vWyOSe8n9p?fFBazY;d=m㾢SLf9sNt8Id3"󣕀YRYs`O7.fq'𦟀B Y`"2 =Kr}/GwX.,jF<2r 0ׁVqX[G)- g( ۜI7l!@pb gb:<)1[ЃiFedYj|9 W_+; q =kWa~@/dHs@>LT7Bw,fP!ǯҜh4!MgwDNEwqKH5&X`sN]ed TB[L2ܼmf&>_#}o6KByI}fǪOc=nZp{F)p> a9Ku9sfoVW}›bb7wЉoU/p~*GKyZ|e<4!I~`-IN ~ vMF  :@ 2 +˫\k{&m R! v0j \]k 1b&p0u,VG֒^bg?o}U7O9P7+H{pB}Vylpf {kLZI9R˲)ri-+i HOb'BTfo]ʎǑb1Y40~:QhUZ6!!cЍ׼V-$EgSwAgA/cf29i쏷߂L*fڌ T}f|{K'&߽(Va)pMSt3hYa뱄' x^^s>Sb>) x?YIT [4_)Bln2xr`t _B@`A"!) _]_;Z(XcepPP)0Hgoh)#MSxA\RVzVV/Ax 5d{v2(')E7dٕxoǺ#mjQͼY"Qa$ef8 p_M&J|aY&Q+R@HEy7<+bC`EZy |ΧKb '>kbkoJ>Їo=@noń}q5q3 na {(  ~B~ eD^?ggBAu%o[9F(#r ,_v;b/m73A]_F7OGv/ia(/@$/^N&U1pʃEfz 6)A-ƞ]$ €wB b`wd@% iQ P)\9-֬K`)jno'ԧU 3.q' 9l8`PuX5 POd r\K;Ѽ"is"'Ek#U<׀JﻃF(΢xX/MW7Jᨩ E8"kʹP4;$};.6'Icu]ݘUMXD&(`Lw@cE fؽyS:[f;/HRKsSB" OdaP]1&oۛ4uu5' >@AeLZFpixljƞ8lyt8Q|9\0`b"s 63LLQK,)֐ly_(8+k3e >2F}*Ah$݅ rC% a4`BZg;A˨1(kއmidfhm$A}R0Ի#bt!AXgXmH,#m\\s!QziO۲t0ǔYC(.4IdjdQ@cu]!D ʓr4ȇtNciFKͮˋ/bh7;} L5\ӸgK AS7 N( kL$&$2F*6HNp_>tD<}u4Cv.`B5.5 ԍNVڿSDw#tB;O1țW˙Y,{$M22~ EaE) Q~& pt"u~FtQq)C2Twg I؊b#.ĥ /  +VA>a9c^勨,|FFDC#(/ VaMMfp=jou~q߸~κz "T?ofDTV~;;Wτ -퉯=sme wava:9$G/{i*|)c0 *3= :E:o\p,teSk<:dJdzH=ģ}ei3qv6&D3'c[d?ѧ䱯}=nu"gaJJ$؉ HE W~)yŠ$JY SyTb(LX"3$E.HDQӤ=E(0ム+UAi\` av)#ǵ6h(XZOhaqV/Ξ7).V0kx/(Et C`;|uF" r1 ou-0@p"NMK 踫"5Ț3-db!X$bT 5GCdk|E4x ,~C4ref ve S .d^䐪=i¶n13&0A7jЀO!ecĊb]} @Iɜm,0*܈26&F&gFX ,oݦ*U*.tM)$ey&PLޏ [2tf-QȷY IYiLvvj5>mƮ(fbS0eiԞՅ`:wQ t_`;82]{iN|;f_>}~ Ü㲮aN@v97E D&Ƅ4ohORfxSN5 Er=x-i=Zޅ0$^ {x.IJ0<'dz1^3cֈfعh0IYB(Ӕ2>AO87ULh%>N ِ k kP #c,wuQD3'I|[?)$G-ࢩ֊)[,N{k(KkHis(uRLKd,4$Ӿ2k O[k:ãs &~}rbG-]S(xdv_νRLvu ejiU\;Ca"䒺ʵc hjP$Xy'…=|RfqP h㾶xS '=fN:M@1 Ө3U[gLymc|Rb_wښ:<͆X3Юܛn}\<7 &kn6\斎`r }a|GiLiRD3#݃W< +]0=2J$|Ag"]Z,[_\rk)1@3a+(:(SITCh-vFEnLkS_z/7nG~m\ \''@I:g-:.[PIGRc3^&2aO8[Mo&X,{nWַǑ̑l'<<$%\4`=2^cglDԹl<&t!;kh z\vҊڎ @',{vMTfJOqd:1ӳh5} 󙽲C <ÚBE_kQ{ gF#9Xf&"Up5Js%~r:dl~9 #[rGEHya绱@Kog%f¼~if1!:%寅KL~m!l 8k}@S&=nSqȊ$ [\nȽ$` \|zAvn zDړ^R{P 3EC;U)#PM{vuɒɏ;6 } tF'ʆ{i&7G{? X 0s"=Wg' ɲGpl%Gfՙ9S%H\\!|S2$1MA y+"ϬJ\4Nm.NDLQ!mZj, XQzva6g޼P=deIQ\MYt2AXgaQ9_<L{߮RK 5x;F+rP bqML"|n9iFQ Z YSCaK5 Q0%;X)ʎR]JLdfYo/ 8Z`X<1aI6FCae^2ϴX.C3u@Us//bj#/I?mPWV4{A`uZ8#/iy!A Z &(;Ek`/sm5kGP'GQ0S3,r oa+I֌g?-Xm]<*ߓPw=q+~kKl):p܌tvJ3y o J <%i a6}p/9pC+^ S@68􊸘t xl31`/+a&^(`$E^Fc]9m4^ ?hQ:yQpS4KIθ+]Ygy'fgS_KgdmofŃ'+ر.B0%a^!=`Uf'lf 8% s9a};Ʃ[^xJI2$nc/@3e %3};F~ v>zֈ͠y\qq{:{zʳx_'iLI(u&eڗ[Za^-T/R!s–Nr1  Ziجi& l59;#3w[o6ih<}7` V$Ķpz} z`_ӛ+dE Y5g0U kUY9f0h6>(F"`#X)ؤB21k/Il'}4ֵmfvv$5'U zY&w;hJ+@:kÂoU:|/{)Zt%PGϾ8pD v4~u'5YeG5sr) ڷKp0$nВ& a$P㵇vN6JoCxP(:{obc,^JzPv"9!Z_hUIӣBSeBԯW`+E=4iPݰN0 kV΀4HUZuy+ta#r۹iY74ɉ9C{ȕU [VKϞdm{e^å3rFH\; ÅPդ2gI5JU3j)TYƸŘ4'=:/%!m,/!M 0w#>9D$͙KHȖq˙iV\i~rx+bE|qbVPdA ^4OK[7pv`uȗi/XnA]nAQcU!YU, U`44xM۱DVȧlǨ z%ih$MjLb4õZ) rm1)ukS BdV̸` y0bW t>Tam&kzqTeDesϯAq:/ |~~(hZq ҸAn]HsF>t+~*8[Y5AUlXLzI>G  ٧ d-ۍ87Y9?RA)FQ*p)R6 NZUi>~#+ws twLT\g7M.P<FVp)9=%'ݮ΃ĥ1sI&2j)c4ldWgx9d;"=z-L+Ts _`N:J@J,dFC% %@ ))<=msKvt$[1ٲ )YdH1f_cпÀ["0#ps`# `ݺ0yFcV" a}>*ޚ{{ aPB4MrEL~ðhGV=(CFN$)4d^d#)T瓒 NV2A 9^S GFdtZ)`?B lI׊\ ;h|A`tUU*`켄<E44"ΒðFAYv+oD<.0h:#&X4~Aq & [ZCU4HTSyy J-fm90qV[I#-ݚU ms:21g mjuBO d,4 #̤ v;`_ݹs9 B*wop^bk3L])Q4\멟H@fsQF30&CTZ'¥I4ꗏ!d\]}k_\3V aT L"4+@j(3 OAk4t5[VUa_H X9kl]Cl0ȃ\e>_@ v Y"v[_},dj0AUv9ІoTqulf/Uewor.JZ׮G DE|tub֎NXŜHٜ)%&ɭmׂ-`:c]])_#/Qܞ@ sԂQ 33 '9ك].;y ͅޗ=8ER(5 +*M\U6 >mxyU5>rfLIs^c33dNMTC(,p7!dy:V :a~D|+4 >} _~VI]~KQ}p-u4ǚG UDf5Tӡd&LH qdV?=\+74Jch)* ?w]k1+E04~Z/>b!?KĹvb>4!v㷟=kLʰW]U {6S9!Pa2|>Oe~&},r,+i({s6qFeο-h”#01|ڰNmn #jqo\*z)&R~`@Z`c L JpÌfF"[c?!ҰH &ҲsE5OE "e.or&e ##BW@¦"EĕqcO_e"HB  2ҼM=0q^%mp`a3I??Eն9Kd޷/W=Y]8P4=>'r- ;v%&t{=kRJd5ΊDE02ى<} ,ȇ:0Qc=)2_]s\C`!9$~Drjx I2e(TLީr-ku3 צF"^N5glL05B`E^85ыpURelGNbs&GrޭDOqҸ>}6Y09 PJMqipߦ!>KXL7]?wEٷuА#j))竌iDQAՅ60Ljk>Lr!`-k3XPŹfeW_|LNJ&4_^or=w#ֵIcㆤGcĨ{'ŘjOa8gD6fy-KCx_?B_x(X.& `:7{(ò G،L/~/peȭsf޳:4xHDh$D4FY^*g8)l%`͓[cx3k+i&U;d3[ck|K4uO@/lͣǔL#LmB80b֊RV^7CoY7Bf@F4on>zR':TZQgB57Fƭ$(;]|o64(AB +[Xog+Rf;}-| naW\$%kU):q5G᠈n"T%H;|60uc3~CsbȟݷS_p$Ln >2;u!N k-dĺne+φY u A&.A$jwJP+j6MՃ y'Gd _@ uOrI,Sig9_l?@F4owG_Μ8!.;jkp (09&O )pȃ;86\ eRx YЕ0b()[d6aPwpvG _H՝0S'z!hdd/^pO4C^LBÈE=[}eO0{eAoVXYoDeL=r~+<HA IDAT4u H@]GsIDV &)R&.\L,ChULVk#^tf6 u5M?1hzvoly o`2}-1S> R}pP3)Zu@ј?rV/|SCvvHEU$ᄄ&6<}TG9ɏю4wd T(kE p/W{œS S>S#t36@ڏ>VljɺG'f kO4P YWƮ":[b c aK¾=O3⋲Zer2)mn/nJ!] Z5-*A x#iQr\Ii!r$ƹ9`C3[ "QϽvְm5{iN@ ]W/vƒ,nτgY#r AlKҀSfDֶ~0%\q;@Ba$|Hl 5tyd CY4gB&|f /EZ٭?%$|d\3B<"^8Z 7hhuqmS/pcs~35;,VNtw`ރ_9EePJkam4>K^ ?.4~HVhƼ\S:K,nEVAtz㸓o!bQ";@:il|4G|r 49}#;;ɓO|W 4C{&{z7LjӠ{< K){uã':05 UG~qsuUo[FV,xD6:d_d.*`q!;c9PZV _țG?$wsask ^[g2nmgdnfWYR82qˣ/w [AeYiFOF}lJ& %7pHexH6X-(l:$D?9%E^թC+YS ^S"=}En!Lb̹x Zyㆧ2V^'^R? :MQ7RGl4Ǻ/ _rFj/kE/ӑo|]Fk6N'{h2NY ZxHl:ՙv4CJ/T)&?quǪIpq5wQ@uWl-=Ecnw=,TdUz*]Ln|yɇSd-_HhbZ<īE^H|rʥ4 >^BO+߿srO(P6H?aTWy*9(C蚽@535rӸ(._ {pw}(6.#GwnRR$ wh] ڥfP@(Osa*z2֮[YCVIJ[~\kZp1<| u?/S~Bg.=o|;1kx1dUNUfFG y9^]~GB7JsVJ;$G,1EsYyl)^ΪƊ͎ *XZ)aADtgLvui'.K~2swc"tͳ{[˜mo#E8܊, r7͋sGJ<)5BjWT%Ǫdž</rRFhVPqֈ``&YUtHE$5f1S3/fj0k`Y9SSʬ[C̵zIů/@~Ck6N:9UTz%w3Vؕfh_2hڟTΤ O-huR}`<0z>FH7s&`&vy beb:am"h\Ce|-Y\5iQ7ʻ-07mGUt.?ymYp6:KDz_Gc0$. ߔ/%"k95 {MF2 E\&, +߮~^PxfC\cIXD楥#@Z |ıh 1i{(BeD9ef08?+'<;|Mɉ*}aPFCf"|+ȁf"2NwRt7Ȍ",nbzy49.ƪC8)('3rsrǗ_+pbnos3!v5Y\$#?tUx&| a%}+Aj @r~~mz"T"[78%|Տ^m0.H4 33҄INw\ j|9$!;Z)A~ ;Nڦ })>gPK\Q' t*>͸/z׭r{8YrJ/ȎfOO#2:"QP p)J!.0~`rAC'tr7?dW oV5VQf\r8f5dRr, |6к{s_6뤤l̷ (Re`"d75µa1$jI@}dJk'5w03W߆_5ߺ03jl֬:}ބgRRFz}2'6ܫ-w\X^hoX$e-{edrELȵ꘡ P@3u˴ 'e'mrʑ aqbyAoHӹ#DO/O*&XO韝vyr.O,*E wte߁]hBS&5u*qv UWS3WƒA`Ii1];K{GP(Tn Lx+5"fO\ 3},.=.eo^~\}LVVWjNxͱO@-Em{l&S4憺Jm~n#1㖯 8K.~ q6LY#6'?@E:kelb  Cvʅ+pCHf:cI80!Z;4Q=Phb.(5+ȅ 3+-Lh2׳L*CGXjJ]3p1^@i,_PeGf7.kXA7&3߿f)z%OF$)S࡜X%pA+4x S^)$XgP;erFhfFZ)yYykh-xs [꩷q1'p}LwH%<('_>8V#– VBCe ˖[>"GͬHv;ol[wG7Y>r-]{FH]pK[+AKF4T\{۲L: rYUU|L;v@6[y'^a͚U=r\<[G8J% 蔬}s oggF@gS Q Wu 5e,ո82_iĊBi0EP<5WY>ؓUEgw` FC IMf$ ne9l&Yv$'rm.x gEȬ@ dGȘ8mjk)&w>Ɗ(^dyYTKjC : rVhk@<#kGSoM4~kB& 7?ym@~U_'{ܩsӯʧ>ru:r&i4547S z&VQ).}6*<ٳ3M)fP &fS 97P]6~F&^C?gXD䟿O[.B鑅i`v$pϓk2 V>o/0A@X2Pmc2_qغwb"r=f_}NuΙs̮H+VdrƸR 7]ronB S.$!@ġ ca#jڢіK=DaDg\vw>{~ef#!t_g@Mг/_~&vsŹ!]O.ǥ+aËu01=vM>CVGoBI1dv}&NoMI+8w> 89,Hx焣|"4>EV;ey4r0)κ xX7˃r^>?E|Cr,y[940AÄc$N Do&b[<.MM ;tXy*&IÈM`E'LRHd3N\qh8P뭲b'G& P8W!HHקI M\Yk1ZGO`(ȈtW*Ugm~\>пL/=>GGa.)&}`E~qMĿ?! ZpNlQ/Z1\Tvpâ$'}YD4s[-)*ɎۚaTcTJ\V_o+myg} 5)򘺏t@V*Zسqe6卧F?C9ƽ. 9n&#*{;Yy,'&,C7!Nq1 7nJ?H*^@Z'7S\f\/A_"sLYy''3>&oޢ"Iuno,"94[bV>Ŋba$xlm|. y;Z:mIɶNY|&_J1FMf]g`o˙Wɔ2wlH_Ea%(IᶱJHR(lQXdC܅ӧ-z%/3I|*[AoߓoxhiPػw!0OGCȱw|äva+T yGL]7nپNX > .>S<7ȳ_EȄu!v:{}9 |QWD~0 ?R%}(NPD'wӶ>,//>w>j@uKqr m|&EU ?}9YYe~gWcޓww z+G;{GVqc!]`&ZzFS#:c8Mf|^#;s}j`0_/om]G_<_ȯ7?>VQ{Oīfq֖5صEUH.2dr&f ^O Q*@GeN>!@JNp\)dʮҰP=`}!)9#Tmߏ,ځLrP]9 G=D[Eޑ'/:܂_ ]w$W`6`­ CoqXRأkݣŋ9;vnƬ;%'R؃d׮ S~4Ez2vҫimY-L.ǵK$d`MB%C@4=wN7n:$V9u@uO=#N<7ʥJ[eI,lЇ=g/[KOJx/D < .@M*MK IS$4 N&B(&.t6̉r? ib}~ޚodu}ävRF?a%4k{ vlw y"zd߂}'_soq&;+'R^# 9U{Xp\ՈpFhLq|oȞwJ•wQM>yym Fn{ ga)01ے 1YߺDx˾1R^D6f;x'~Mu1S+H AxW;H^(> XjP@=hD:y\jkD'K+$w4 \TW @Sgc'؜9JrbxL0>`q{=$/?Yy;By9.3:,1ajqk;AK#@zlS4fS0iA2F5=߹.T;LfLx$!uBA^6 |Ͻ8ޏ䩻1ِcL?cʏ)|x*͓&dq SupCp}$3&Ż4 I96'0y:DP8#cslS*FGn,ZEsYĒ \b]”jҎl=~ba_B9_ Md ,b/S¢W &J ŽfB !fh<5;~ ߏ?}~yݘu/'[G`ĺ/N(c82ME]YYkgOZ)1!Liv"pJBo_*CEW;^^Aң vRi-03,5qXv)ZaG IDATvj:{X~HqR_^]ô;IfmҴfd{*'5̝I$(ь=Ԝ} {DŽ0Ł:D)]\X*RtHajq P\kȫJ/Μu91Ǯ׼l堟 ihvG}ujC`P!EQz$ |N /#IqbI>]#+,KMC jlHVlP<^u@-1<\Nih*LL2ga]XW<߇/ߡ<~yd3|&-RI>UY!W3.HJ*knG(58Uz)xylT4/a~/&Hkm1w/_<)L6܇”G.y$AyV Ii[I؜Nth3@j]ʞLHv6@*cbVqPFaUx*ߎ.:)eҗN:S`DM9ƞ[ hN@Ի{dP{4L}=PͿFM> 9ͫY`vSx w.V n&pAуu~ulqQWaU-ژiUWX=D!Eé7r౏iݬ4BwvyWU_VO5\' J@}~ڭXDL˴8nb!w-F5/H%z0i{k`K4^^39OŽ,"Hט1idfna}thk T}y8?j4 mmuCԈ҇Oe,xAὬBn`7aV^w4 !y, eQTe}'&&e~kTڠh£5S=·fTjH::a}A]||n?25]09[ƚA]oYWg8#/D]<>#0:%^INV }yz 6a[eɣtt`i3eh»5&~Q`M>Źp/~B>T3m u52Ö7\yF% ^=2PaE݆R8![y& rf8h-<+p0:TL_|X5$e`tMasQ<}p T۝B!}sUr)LsQ|Re vmsAט^ŝ}K̇P؀}Ut}t"} wf׾@:%)\(rsظE!ui~(ZS'T?fi6MYWa+!^ׂaEjaI3mFefLr*Rv- 1|33N$0E7m]Q67Ʉ ӥ]zYyKY+z7; ̃Se 6z[jsgpQwDI}O+ClzlUh4 {xu.j"6&L zO1龟֬Ri{ds Ej) QsU&H8=DB iSorzV{<CvJ%K5 @0A&'b9󓼟 q,ajrs=l#?^j7׍K@'5|&fŃViY`؃='9Oin^i[u!1n[4=,4Ip>k- sdE/mHRh{?t/SOc9J4(L\7?{Q10O ]k00һ.'L)(@׿؊Rؑw\3ⵐA'"ϧn+FMHip'h8qUOAvW;p`^e:yV#tl=RFeb k'^;UST_8SGzguSؘN~{)oT>I^E`a`y%PW-h6L+A~ 8=.Z46׿|7*P'U "MR:ϮYlC+iV o$8?ϊeUsfY%\27@8V wo#1_V(L|:zMeY7i40I*_}5 tAܜ )KS>drdŕ^-7-e{2C9xy`Xe=$r0Qq/́b`&TKWr|pJi[~KNf}*8M }ݾB?fݿu C IcF0fs7Hƅ Xifz ncNrHpRAR\А^Qw4rn+:Z+ "\0HX& u5BL&=κPf|VaRيWeԵ&dYCy~v!p!ncL1)0l%]X1(00ԝQg\huNz(TU8em'FBѮ9>^炙|ky]Vxc'lM5TFIͅn]~ i .:Sy#6mѭ1=Bn ;yF[*|Nd`l=ZIrӸt5]yngՠ x4VijC4<:sRhӁulx^r!|CpPmnVašjzIxX xAh5] d1meO ]3y~à8'qߣImRix-Ur*[ÒJhڤyNdp=v~pyJP PFp;{ˬOs.)v }ѩ{9N4U9pPΫ 94$yQϯr^‰d@z+pC*}A'dj5m#'/3% 83# y/n]/h|^~GjN^ReD9tˎd;\t4!UM͐:!2Y95Fյ j@!<\m kѠxXj839 b_Eg2{k׽,Ej[&=w0EW g<~ 5X<,4 FӢ )wx ӑ:>Q`pI\Ex=aN{CK72|ygݢqsGhPK`:E%4zpN z&u}e:vCHkNV/n3"kO}zh ẖFT"Un=OwASn8ӾFV؟*<Yf3jӕ8g`ܑ=>ųl4YAp~9Y": ۓ*Z(6T>@Mq?qCJc셁c)B43d.A+/O񧐕x7e`h%BZ _M$=v!h\w'L}>k) :|cp y0 #IT\58~r(I;EFx1VE Mjhi^YbGXv.QC4^9燧Йw gPݲtxLcp\l?XY'E~1F`jʪАPtԨRM~1ne eBS63n_\Ưd|^G<T8tQ,LM GD3=:ڠ!8WjAkIR,}2 9=ӕ2]_(zF(򕤥c5BneF(>  z&L4^qbJ⤑5-dLzX6wu_NG8:9zu@"khxi (&mgHvV]t5ldGKlk7>ME hOos 'RNhB4$0󕡯;ukS=]w`~}M>VDөj'X 3MSp4XZ@{1bkkNIvnɎ[ qavA>Aϥv@Cv'8)S34% (mbNڧKqHxWկ^? J)ǁu@?=A^F$h*kS۬W:(q~=[iаsc3o= Jx}EtK`&rcV&~ʂlyXF_!z_k3; HT2& ukbUu (h<C(ޞ_ )><*vHۂ; jxQ4'AԦ0Aq{Q!N%;4BXGdV !`ې"!75 ݫ2 AcMM4Fx~:!oM9{osB0nה1 O>'$N㱆+í; D"悭VF;Lv.,?W)]!2?Zyݩ#Y$`LEɻL]&Mi7E 9ЏjZ;U-_ݡX|%Mz3P"[vvIozVl >C4")eEA& ;[$7l3FwAjk$J?0cѬGtL Y R =s5'H%VT{^ˊ7Hyo-Ώ {f*?4UFƎEvXt"[! _eWtrbjag;>:ݨ Trq<%h Ґ>|=QȄĩ"$r hmYgѨPM7%㶘QNGƻ ]998Ec0pHX j"\F)kOeZo[1ĉ;'FJSX~#`{T44h=Ќ> ˬY8U $b&\p>ʎ@W$ۜ?=oi~\GpFiF\@2pXeؾmh Zj=}8u E&`6nn4&rA65;yLb $:w>h&MLs:!/H .Z#C{L^}P%!Jix7h+Wم@Q8/u楈>?_u~g1PNzF-0V VXlB֡6.L7f}B8̈́cLu:CAfJƔq^K>x7ٝF0P8uf K/jA ,n՜~iM E88f,rPmh䷕|Dž}O퐕QIdR VC58TB-4 &)̚rM5B||Fw|gЭI_KL9jxL#%t]`mJ՜3s$Kvc![,mGMֺyCLL%=WCs9qJg[iSZZ8>y@{6A B%pEIPCxȻ0ȧ4 Q4$2 ihPeIjꣿY . MWU>}票u8.&]VPŃ HVNðkӝ8`k{y`b@Ą(f o%ϵҢx)A&v;ӬHY`#,ϢaL=2Q)9(^%PpۧA,MV8shqc|$ _BJ$:E r.>2J.@*^+A "ۆ}|My9rɩ]@|xO>Ή5"saFo"! IDAT͊L Av߹**ʓ?>;kx uCtjA+sQtUqʬ|4a~ 6huQl;rM? 0Z$$ZnXMA`A ¹Sbi$*@m^ne] }/u up?wtLO75 BBՍ:^7Kג3 y(ΐGu!}e!.'D:Pkb]AZB_-G/H9`E>]$SRnR2?d7pfrbNr9.GcRҥߓȩ^GwG"f73!ЩLKҌͪ]tݯ?>YE[]3߽` 䯨-g޲/|X̢S´o}SLo 4;a>8Pq ] BP""P!8>0-)^%4[+{E]Lov?@yeag _rpƈj4p}Mv4m3'syn͡勲MfۖY /H"X%'qli7qAYr-@T>'ǣCc%F1ܧQ_P}4AJYD HyȎĐ>}zk 8@+b> RxlJL`a)gI# @h>΋(Rm>s`7I#D#Ʈ];| O0C, C>_ г0fHe{E㭦@Kp/H4=Ӭh!aKF{*!]rhayU?/no6>#w#]}ƅ`GOe^iǢԁmEͥ ; <~UZ\dc2 r6'dD œ^<ҠbX=F.H4&>DﵿO`MEZ2Հץx LR8h6Q$kj`"4?{yKfMG?bXj,z[LkLb0{0){ ހ9űz0 hЉPYoau\flI&_<!uQ]_gd2-Qe.Nl Tp00h+`p"$ pDe  ow%£(Xd:,` l{ڗivj7 a.&gzU"idlIȞy ؟9 F?ZNCS`aQ8ڧ&_'N-4r6,pm߽,̤I::I@\S pr:>5Y NSV]/GizS25<]~yj DQBw1K fcMI _]zxo rFT4b (NR iܶΰS~j)i`Mf(qrNdVp,( _s#?&+ʌf/{!duU(N%t:}v5WTY.\TܚBC Նml<VSFeBZ'c>S|nZcbBI:w%>n4>fܡ09)6(7ӝts jMQvfjQdon`<Ǵ?<_#V:Y_G!<@ލHbh#;9$:{^{gV8t+1hRor&Pdꗧ[@u0־x=4wUD&'N/2603#"1}I@+bO@+l2M)L8tFmѸFd@6oRHI\A#X^0pX8\0i fePu(r;uFNF0Gnvp[&_ Hژ%hDz R-^i|Wٝƫ&{J ]&QAuU!/Ál_Ib !X'yRAcqf6gM7x$REiZh@9օLqHN5Ӎj]51>EG~LnvUBPpJ; q4%݋K@b/f;kLZ72 : ِ iH~z<9T7tD1Jy; Rq+\`W/=)ϥ:ecv0&^9 쇭1g2nqb?5GsmoM5G,눕o[69&q\x0@'fedyv]986&Ucx- Tt}4I晑(޷(A5;y8H)u2 }C*5<~V8W7ol4M aG5 AFQn_p3phRTkR903D %vj4w:rX4pĂ# <( <A2L NQ!wрץu ekuW 68r}9\W降 h }ݾB?f]A}F^oBzsفJŽBLxjdY~'q_?&`_kJ4;wB|WarQ˒ دP yT#(B;`2?`*q:'uEDjSYF'ӰQF\ɥ7zQaFfnZ3s7>QO~Z] &lQnP!n0>`OH2)CgT8Ѹl o|E>r-BV5琒A*CpJBNdRjj|_9^g5ri -iD%\KoH㕴.IH$8Q+Д`-)Goؿ>iv~",_w0Fi.W3JGh8(P7~f3h|mzƐi>0 3 qq}mFM#5#dhLK1?1i%1Q3;r9ɏzE KV| kfNE 3j{;5WQ,cwAP<i/.$n*tWܯ؛f,ZN8+}'i^fU6g$HBҔ@"䱿x&MnuDzt,#]_W]>G`|#`1ySAg:!P]2)B_I"ka"頞ޓCr)n>mugo DživmyM&(nQ\%|տx驝P+6Epw< J';Ւ/Ʉ|uF,fsFou8YQVAj-GEaѾ\'l3PhGS@%n Z1d7оIRO"fX][)s=}|75zz69S.@G5@% #!d, pCxϯccEο9 \&v+׎#U=?a _SuZȇېD0D)?q,R2-'Mzh[ G5Jѝ*ӄ`ePpkf$@X_]g_wwH4_'OdNix]+L^|yİ_@YǏ!BІpբB diks qW(=RxOAEbnV՗h*G?m쀣MeBt uAv/Y1 9A 54|%&'B{TPYYD+Ix.2ЦL!$яeca9EJEbGc5RtQ.#uP߅2||r^6qC 'Cib L h󫛒<~'M!{v!|1y@e5C$4E\]1ytMw+ h| }33X%k<NLNlAb {o^T|VE>>~UF8ݜS3܆1kcCPmTQAc Į2!k5tqOփ 7aL~X$l y w"=J^KkDJቫA'铘Uk>~,x/=KWHm^04*S'ٻcM[cVBp1c^*1Mr/{MSEKH|$[s)$R17InFƃ&|q X =$Zl{7)v]`;!`!U98n?6E!s0%ClןnH$BÅ [^M} n&P "r @TCI5(v5̋ؿ![Kc}blfrwq0V oew^.0F:7sŻ(n*! 9vLYݢt#.454S`?0TAMi粜Kk?HMoJgF'=l@|:h_r.|Ay0܃`ED_n9cK\mXYLO!$ Nc5=quK";E,62ns5z*y}P=vZ&P8RgIȚ^ i,3(^| oyܙJKlYD__@QƄSeHpta O׍|e4vA.n PZצ`cPvg ==l"kd8; dQIs>2#dE#LB@=fnx#hЏ嵸+>brdo ?-(}4SLvt6(hׂ~+"tnΠvh)_o7B,_M+Շ|{>uCbǓ(KrR^A>gMa[k.ՎKa[W +!-0Ŀ`!By8- ̑܇uUC%.4N͢8 ? {7% )P!V+Jz#U\x⋰iggI|#FaOf"˳R0wDv'$Q_3}\.S Wc7܉%xHzkZizb?DZXF NS(4˾Nl11¨GB,q)xgVwSِD-d( dA&+vR\uRSDLNqKvIcL] kSIʛk1 iI ofmMllo-?7[yhG?ZeAV7;x.ƻL H]>)#}5[~}Qm%pHh1)ǽ YMs'O~4|r|E C,)nzmyAL@)Ǧr3Seߞ<4R9@\VrXaW~ÜjxZ(C '#H6 %bY$$oB`d8N2w.9nqXɅ:Q4 0r?W<9v4cfL@EB!oY3T`UW ʩB$ VFCR?E OZH"$1H S 5l@ɀ!dC[vu&Q4c!ui 9%9x$ i]J{2DgHg(Gṕ$o F, u{8!uT, P(/<}9h >)0+%wG 8aF'.LVⶈK^ZbF"pGVoZ[ULjT,ֽ,^N-xj\{OZ'ts?DgNWiWF ΡIdIcvR335ktk5ki6phCupT~Mkp 1vj7MCcs=y.IDAT:WK?3ZCtV"EiMyܰSey3ryY>u>InIvǪDCS4q g ➷l8@,`UJR8b+ęD4miuO>z{CN/܂SN‰EI LN?dI1SWgn ?uEH)i>38׳M|XnU%v ؑc %dAm>k2vZ4.3iX#i"gsCԹ9ЛTe@$1NuH1;v/k8Ȳwً,BX-tdt>ϴ ~HG&rmj4p%HifM &%܆<OTm~SSo yڸߐn[j2D`(džqu }x:;~xqh]?@jœE`j'JhZogLX*ږk(>:j<هv @8`B;ثژzLi4DmN0yZN{&d*I\04(MH^=.lLO,H>^t7l1 sp3|~daktt56mFw< wPȁy#s$ϿoR\[=lZ 1׭U@Cppc!5eo@ڄ ^Ȁ.vV3B4q{󬾑)V[&mO{N=p4 (E܉~;cGΡ:DX{lG9s"Ŋ aљdÏoLBUMFp`?Wя 78YyQsY֟>omhmޘ1qS}vDAm,(:1v^LtQW-3f[Klzlwe/K_.'8 ;㗥;ژ̮9S JL9)ˎ. H,oyP*1(˕Ucf4gbhShțۚ0Y@<(?"Kwr_إge /ˮ! o)8@&WvdBmQXz9%擬wʜmA?iM$TgttE̟} :WSR:6oϹMoムؐ]x+<P 5 ҕ\.v&X g1lysP~ĺ9]1z ?/{}aOMFfcĸ@ Zcqf22Uzx۷Q/o'#@|@2fkGN |l0a| I&JT4sJw֙ ')@vMw l*XZ-&o1{1Q1{EiXƩS5erFk0߼⏴jq~J021#GtUe{f9k9+ @A͛7<} ӫv켵xSOE0*O d2vMs͒-2_>Wָ(ݯC0)@GKŀ^g>UIϋ{-8YۙҰ-v׮Qpυd‰0,{mֲj}\GZi#׫RO0ɮRcՏ70 3fj:jM蘢19 8(B_3brOkN&QLk63}V 5 BP=E\|Dӡu ~ P!nCSh_cW;z7$2%;2; {s#v}J^J 2bwN.^YY[]cEu#tmuUaWaca찅 lz4$ mC`$?9Moz,FR40}#{3L+p\o$ Xz>]rdH[HȔMVIPfo?"O`\xJP cf&(Lenc =c+=\1)9Da^;Zs m jT⦚e,bn]?'&[:og~)>˵[嬢mqLV#*G7O1WZE3Y{^s.skXH[ޟYQP% zm]g?^qDƥG!*FG95oC/m*^Ň)dr*{{Ln`;ZIy C$"Ryb~4 [+/SSܑ!+էF[}RKp 8 >&o uo/-X\Gs?Cg-q 萏Qݑ5l9bEY7)x/0l%Px76/ֶ.$wq hq:W[Dw%Sk0!sUnF671}:$.)yn)6;2(Lf&7h*T )%SkU`O4 Q|jIȩ~04]4;e! {$[{_3$? Y$H]ĪG&q,w"UJ   |ݾe~xQ5xkL. T< ^7'!Gw$Ȅis׀P70ᐼo֋Xz%Kpi=g۹p/&իa+H暰u ;yKrf*BhyzjyU~lƣLToc&GHۮ)#ot9o1acjylSGzϾGM>YPYq&4Vӡ6:yLBFao;W"+?.+X 2'|m}2fǟe* vY!ݢ v/ʓ#P68'Sp [J~`%P|LRjA'1>%1 1N4 4"aݯHsﰾMcE8\|uݝnʎݹRn|LHN v0q|ވaO.=B2րS> 8]aYI1Sb'/-@ݻ! yly p ~I°o6rڦU 7Ep za͎}bv(!O[b~ _D-ボ8'^IG}d'u?uDm&KF$%$_\CWNSƬ?~ـ-9+m|mǔ5`rbb*9F:%uJ6 zPgy[SU`e8VQ-in0ѴnwJrPʂPhh2) c(.^2jcE m1ץ ߼[m#uh9b߼`,OUs!9%}—eSHOqRoO0cJw p>yv}euL͎ɮȴvwI4ٕ\ ;|]u3ri^U$e=#!m|H Ddfz6~I"Y`j챫Εrs)XRߞؕ$k !Q6v.-DåaDrLJ ;k z ԉsܮ /4cu|I AqփgoBNFf IvX La!жHޫci'c?ϠfҰ@ڃ!gMSc@%7ru2a> "g6A"+g9-m:'tO3> ͦ<5sr'VD~;?))'q\CQ] Č1`2jкSLU m3 _OKgѸ`~cmD./B Ff/o:!M: 7Ze_?{B.l#xII|3Bm@ʢǀeo)G8*Q3yNX9s=7h5s[x͏y.C0%}ajw ! ympoZ\-WLO~ $=yj6y`d[y'PIasb@n I->aN|P`|uN8$!yS(+:hw@wOPW,Mecs 34[Vz5OraϿ.8:X`P}vO`ND"wPErGɛ/OϳGQ$ @$L&eˬbo g(L`_|HBY~<5]ÀFc4DvC8&A4nj]sV,޾] $tD&V[2aGڈ&1<(Ѯ_eQ$Jj?L3tK_y1kr̔  ڕ ^5Lz:W;D.+'gAVN&Uk]>na 1|M!_Џ#0>/ڡZL^$]bgᒱ5Udy.?7RwIHҐ#e& P OEWJ hO7}L?VGoYmߌVVqV:nZ 99SPGqmnU(_;(iҤ$mJcufʀ.u5"qF]+ A|md@*#ATTjai&Mȣi>vi}߽-INIosns^?D.ُ ߸f6m2flk]mszcj+L<7Blu2<"Rs~-͛?s[3猃YdoϐDxPΝo*/\( Qpz"1)JPmL^neD)ރ콟K%Y`{qhDVP𻉬+Ql_8:vd^Ck%syBH+/ذcVڢ B'bޯt9x}}0 QXǩe`wHB5IV/#{h8vPc48 <=j}Ա7pJc!z:"}fuό f25F=DT.ǘC.L# Vmk@\tP Yi J=sNTqE;{F] PIktVpT²d ڹ#Eb1U'AH'}dlBř&`ikk9 ̨?z H._Ξ/H[W=&uv6wV'!o#EmѮ ɗd 1&0A6l_R#d*YiMM8ȧ[uz^71 6&q/yFc^< nT.A#KW۞y׳v^79QL%ȼw7`:4>M{. usͺn?ܮ IoG ÑpgOSYNi$">E|y$?V>e?̂wRg&ĵ#I;"R>":wv&m׶DzC.WO$FJBD-Eޥ#9>#%|NwW,C&Acn3܇O;KL#PQ, sP#0| ^Wu*~5:}RWdzl ]B>@Q>9b0 SI 'G-I^\HJdޜ, ߑåF6ZFI轐~'~iGJ9&gsaח(dQ2e-S!+#)tnvN?>Ddr^A?a@$|}g( <7h B8qP?"xLMd_SW!p~[C#t_0k&mE@PEm("40jxsui"(zFG2ju7:tϛfs5Ms7B}eޔ4u|Y޿o[BW("Do֥*"4jouŊ"(MU3MPE@PCYUUW("X/x,\4IENDB`* h;hj_Vx|uL_6R;)nenuqȶhqwww](lE;ŭ8~={99d2'=יIDaySA^Z͛" ?  BIN <Ut7Y9$=TdޯRb 6I'"rqrv|#nmimEciG-7 ھ+~ C]uP7oq~b^h Zr1{hIKь߫1p:u:Y(?.'Y]%+ %tux^LG}NFD$֘^Otɛ?l '-!!ەzq<[wa69;3AX_.VTى?@  o  H+5/O'8a%ޏ)m^\nx4[p%Ѷm۞`b۶mؓd≭m6n?Twꪮs>;ZIA  IK`F ,R$8 ]r_x>@PNG  IHDR^d=3sRGB pHYs  tIME 3|D\ nxLct&QӮc۶m;@gc 7:K8c~-]~"aQOt<{Ib!(BBi. Vr(;#Tk"p0 @ů[k!hDMgSEڈ)]a$[6nR}2ˍ1 \3Z &EVPyJhYkRJaeR X]*),n}ܟlRw%DWTߣx@]; 3x`QDH;siN1BO\W.~ +[_w.lxſ޺ K0wxO,FG.ugu6Od<yUIhy%v_Y&ƅ4-Miq~m%%sbuSA\i^yUO % ;psG?@U .Ur{&tKM 4'L(R> ^V!WZl+b20ST J8@B9T5N &c >d(ǢP\譬2(Br\*29F@@cFHZ-aq4QLHH U4q#6XV5i "Pvit_to@i,F+'K'v=rJ>YEI+TTY]eH(6>i>Tv>;Sn@,P+_L,9 A0֌re!&wB z@-ZDҩ8&RHδ{@!X "9-;";ܻ=Y}rv}<[ ;g "D 8BZ(,~+j t|J7S'G|ß]ٺU)?.t+&K~?GhՊ)JcE6k[hĕ HBg/\<4%b}atZwWYQ i8^~qI,$[@rg s:6̝Š̋z_'6" Hk#SߊMK˝ÝI/!@%v\u.5C TBCR+/6 son?v: QJԿq\iREJX~ng!":Fd@(RH"slP 8£U0B+{ڭTwKHq53֬p k_hؽ${@G8;k n3PDD䔵ɹ0ax-oͻt[mx/b2|A%E$(W⤝g(2Zk%!(B.P TL!d4ZyfP(B* ~RgIlKV++ McrOXXRWB.E2A 9 8 7ZPyM@,g?__J'C?ӃS_އ?ȴpwOB(Skh eqǎt8OӜExscg<<[kkX) kz؀7uԞH*TcՑ/N9=*Z,S=5d -i#nE @ yjyY)8R!IZyY @Θ4 aUծ@w1"(D&HE=ueX췿8<]k+CE6V\Qdk2> 03( 5!* "FSXa/t3"KBYi"#Bh#mQUQ5FCx&³/y ?+4UD,&" v}hLRyx'k4wO&ɥ֥^"R_쮮@?*]-NAdMƏ<ÛJZ7Ej[ :eƹr*>P+ ~ k@SDJ?IڿE^H3:$&`A*K&@AF"߭Aas.) # CH(0+",PӠ uE$Vx’k PAXEaiITIA.w_7PwbvRGVcx4*x/Hm-+g/rR E0`Eg$(G\ǭ5 Y|VnEjT}uO<AHALԤXKɒ. (J&}}+ϯgEF:8B."B!T0 f{JnRWv@*} v )鮖EV'IIP'\Z`t1"\X"q{D@s=BcY, K[m Q H3(BQ ZKEA%Y$nyJ\kA"3@U dЊEj> V|39hWdk+|?~8aku|6Ng^ᄆriRn^[IhρILͨ};n]X\Nxy9J3R7/ )d5d դ|#YP9` 0'j#⒪*T'Wt,w[׶Kp@!*/eN :&*bF]Ś  `'+]]I&ZT}λ[j#ƭթ%ջke((bZ"|to/YVfG-yLL`[t4mR 1VJD,">xhW:u.2Fhk yDDD t\LՍFf7te#̳lMhjN5g$,ߟxFVxNT,4b.! C1&*!x߯cZTCsݥn>4 EG{JQgiE}*]3 cX{VDCG82V@i3_Gc#c[ |Ab((>0P9Uoyq*Ys&K0+y\Tk;x݆SAeU=W,SXyflۚRRkF#\lj-wmE/'V'g괻+̻ģ[]=iE6DZ)2,dɰWut~W~4n\ܼ0xggY ѤPiY&´4! 75zì bݗ @HPx6 `UA_5'i)3k4" )PW9/_JN\ ^8Tj $T{M@,(<8pIG QI9Y5 pAs&_D`Dy᭻__'CZdF#IڽN/iwȐ"ΡNq̾ZlfP+5sy;imH)"$ 6TZy\U kŖѳ &:1L@^zJD6.|'ssIӻ_'v5rU jBS(Ahbap.Q4/~z~Xs,уiFTWnOk$"(AVbA4*]ҷm+ҢRVkKJ!"  At""Ie犠\0V)V MDڱ}U'!xN'KDyv9 WHx% ( @DK ܄S{aۍ F;wǓ z;w*G?#vig9Oo+AڥK}i}dp$+W/|`;y绿_Z(\Yȧ߼YZJ'ڙ۷;ʵzۋ/ )5jEuYEgWs>U8QӃPmpFsa:+޸}hzhA:9k_w.yV U 5bjEa`9]qWUn: VDfQ$VA'R$a;֠OYm: Jj hj: :CXwx3G?'>cc"swlVcci]9:)EZ)vgMZl鵕Zka$$*giiS;Vr@ D炯{c,DT\H 犤J)m@ؕl>Y+AG'D}<"i E㡤Ap+pnTL Y*! QYZ X@뼫f瞳^EѼV/0gW ( 'ǡHIv@s^P:k JH1"aȦDJ[Q"A,0m BHJ|;d!畎lH,fyɁwZk9 [n \1Y|r?{VݥSfpFz4R("Df B:"鬀pҒy*),]k,蛯=k&.~SYmO(iΕEko/n9w[{?Y[)Y9ivv_wk+mNԭۃ^{d <|AqxT^("9[W]M;N79Q uҍٹ;<ػRYnoyw")4 [/~7;L~_~jQ@,0PZӺU\-0wrd/ D&Ӌ7-;ؾ9WPuW9]T |(xM|s>/K{D)|l\)i$Zm5Is(2nsuc`8I'#3_8I$F R!^HB8@XlsJc ~Y %0+R B]ZV }`/ i}mj 6xf=˼+^CMOXm (6RYhA p4b#{ry"Kk'$I`o;-Q[FPAV*2ւF"ljs!QdYDKٲLޕZI,$:'`QQJDkAF4ǥ"Έ|+vD80#^̄@#(@> QD._ڊha7 ]AЈ 꾻r"j. @ 4"T,C,N!ԧn*>|Dy}qe"-t6*TG%߱J<<~k[o?Gb dzן;Vo5xO6~<}tg^ ,/u 'ER)&eޱp3vݍ:/ʢ%QZEy/~?CϼlD+OM&O|O_~Wzyq6'09ͶC<bM@2pA-qN/i/wkV:Fn~8REA^(Sْ4& Lfkُ|Ay:I4[0?W~)YΛwn?~޻^Zf'?mJQ$♀R/VX] SU53ԫ\''S!Λ|;Xo|_: yzB…~XD4!0 I,0,4^y,+OUB @42 NZAWNhFħFta#H1_ïr#돬n4{9>=glcr"(ƀ6ڕ>M %]g  rf[ y\QfQZeaYd"3;W@AFYPg2f99t26:a<Zu+/nwyfGDSOnBij>@u¾RSbe9]gq`pJU\h"հL&`2t$JhA07%gRyE"#FD5hc}Y8>*0c&.0 j4f}9+Y6uzxG? xf曥ȋ,@Z jM)z7_x[n>^w>c_"RԈT&f Ŋ. @@V?Qڴj xŭ5HmTNdD%D.4 (%{k]Y$%x׊i^ {2i2˳EJ׏P9Dq+0 T]4&t̼5cA5(5`YT4<&8Bddve>Q IG*·V+U;e#\'HԉejTTjBj83߾*M|CZ ;4BԹNT^f"gؗAƕʚj_A5;wY&$P"qEM@ASڸҗL8xa zW pAأJ٤R aii%/b.\9&L!8G̉! EZDP 0 K2 sE"]CI:hyq|p7 mŭ2$GwFλ˝V:vݾsA"Tw]Rd w3md* }:@@DV BQ% sλODdp](qdHS MtF Py ZKi2y_ OIQF; MC37T@7oъKW?Yw7?٭՝Nww'NvGe>6 '٠ĻKk `YpA̹vj pRzzv5T"nKtt2b)/_y>Iuye3${Y1Y^~/>_Ϳ8y'sl-;CjptT<ۗz1-tTlNh^fouk+<b:˯z^~.'?se*/_/*SjM</̠8:d[>]!Eʑ.I%ڶ}qsΕEltΆcvY"ŌgjJ,A"Mn0!j LHs(6-`0WYi MY!֤px蜘A@)FSff'nW*,b: RLa .fvB `2"hJ*?* =GkT\γi@kڭd$hZ1Blw./n+M@Ds֨ЙHG1,J©9i Y+?>Ҳ( g2}.@qs\FCEl'VաHc˔|j90_Yl !I!z9ṞrX uwC{ N[5GG0nu95ME ػ8N:%ծ{ y{@/{̬(ejň^ prZβ& [e: I1$IK<6:7V+ QHUzoO@| O=- -( Z[v4<8ܫU3%Nl<ERIQ2=~imm뉬u)/~Z@hozҝ2vȇKUziծIVdO,w&)r_8XNu%uR\˽0;|tpMۯfpYDcO擨z='CuѴ86Ӊ35#w|7/DR-FPy{4SX P_szt|<αLh+E9.л}}/n2D"P,ȡ{Zk9=s.D+R*^`80fWYs]DB{!D7eYx/IeYy"ؤ# qEmMSiqd+ ꯐTs5bB,hdŔ+4֒jxEQ̢|9!y=iq\œ`f:",IZ.=܊өRi "a}j",2NsYRCd , #f@PQXbiXZ]Hc_d@"⊴B(2ɗ.!V 5 3 ,sNY"tɅKR/@\1,.ʽu/ jMӻxbG 3%P AHsp!a@.db0׎zs(2DW FfV&+~6T,NߙNRA-!KJ.@Ѕ M$ncAԉi6ͪ Z DZk7_KBVg7r/ ;K[';w?~o$kkC:Syv^fuwFZzIdSwUQ'ɀ4 m +e͕ ?nB52jҋմ7\kw;6] olOȥY7 F~ Tδ ߽qyo_R֥旿t>űhcA"l V{{\ҷ_J{9ɍΏIn]F|g>?x|yZ7?Ꮧac]~KO}wKo}RQp˪n|Og^Z[M7}տO~(i9(턝 Hjג"ǝg}ŃՃi&B*ˋ斈< H1Q553iW>HYBD^yF3J4>@ FN "@HCacmf6A) <"kJ`^IP n8ɜb$hcs@2"tuFҼHJzvSUz~S2Mn Ԫ%J"5d5F%fRvɕPcD{RY`$:NZUdMl6WW9`iI KV, 9.F& Fa>xGsX}1ey>C!2 RQg H\N7/ HAؕE>$Wd zT1G\yCvlZ@RE^"H F |4mێhQHU"E(gE!vw%Lhly ߋTuUMDJ )-,.FYvXIdB$X=CbmĭnMƣAp(4Vq6L&cQ]Оt2݉"Ŝs _4<#3kE8Vf!1Uu`‚ADW<泉w^6 Njl9:^ TdNp.xNw(tߌlE^9޽y|}VOq )F;jleirf32[Z/\OI뵟{Mpyyg?'~__n8΃E[|`DN BB6}?>yyePj{7 rYݺiO}_D`\NPGphu>4h=1H+jx+W6ׇedxa `[_PSҟ/}߿ȵkk/=_Pv2@~5oyշehv}lmu#I80wedcp wVqg`VTVFju:ÓI:2eFQ(e(a:}_Lj^@Fh4M>89ʲ5:#jz/̵MN .ׄ, G@EP#|f# A&]+e鐔2Q{R읱Qό)e|\PE3"R A`W{FUs)"ƽ( tVDi/a'D "ZQ HEYdMD9gf/Zц`7(Y^Zj2# i[{VewCiqbLh8Ba\PX-f6Zwd6MOK{u@DQOyj@WIg)N!/rWf'A,>!("+cu>˚00K=QqZm:H:UCwy,~vh;`DZOv{IB'@0>4hK/|T7k_lm "M̲խヷ't[C[Da2/m>O(簷no=ajvzpw&eWj>ejRRI.0+lW` jde U J@ 2LeNLa{w#g{iۯu;_K?3<:k+ǫjV|;ު9by_=3Ž@}(ή\~/>;O+f&9c2Ej{UDS+""MT4UYzqzpogd2|79Dtg`m ϴ$,B}،}[TćK:|yg㩚ż(BC@.Q\nȼ\8vg'}߭ "D1MjqbՈ̦9h9+Q: ZNΝ.ߣwnZXr2KR$3XFp,N?I}h '&(z4atQ"j̙1w0̠ӍUY$/ww.G"9⤬e}T&E=ލjkkx9_&֮NUȁAJQ޽^^t.pD?zY7C(]LYnj}Y 4wԩI &^ܗj y蚪`M}Ʀn< }4 ZE; f]fݬαa]ׇb߈XY`JIǓ]U>NGϦ3gh/}skҬ+EW6/%ih{KGMd{7y+)ŁN~4f^V|9j{'5A~ɏ,__ rq'Gw^ "wCPic৯_;DXa̚g^|o2Qն䋋[w@4&;.ʂ]ׯ]|KD.a"QōG}կmxou[u9kiQ痮\~/i1U מgW.kA޺o{^IFYF*o|_(G#f:òڽr6\Wk;y_Cm|zG&'_֍7^&1~0$'KYr/I$ƔMɲ+F^$f"oW1HB† 2G;.Y]};qbMe<9j/sֺ.4٪YiN!8Gz_iʕkѸ*KvUC uIDMc̉)Ljm׈FA%eT~2ͦLE5ќvIv}Z䣓,砆A;Q0E&6ӲT̔z4 IDAT6v`s)9ߩަ,1,}̩ $!k"F$h9&p^9v"!¹"do9ǫűo/B 뛮Y ;E ju,ƌIrĔҹ8HM`1*ĜBr6>aSޘU{{Դ<)vu:{x'>/=Uӎ+;xmuվ._+kޝ(O$asFrq+iy8=8\;XO&Ӯ/ڬ6Y=}/3z'~0cдnTlWknc<&|pp(,v?//'ewph(y o}i}xLַ5 mD@L%|o+;{Oo/^J$+_핣x|v>|=ĸ\w]5\OyZz̳~xֽ&W[Eg5ޥy˓|O-9v e5i._sօbEdbrSR]O9g[9erjrLUR̔XD/ڮFU%@C"H)**+__9_@%$R8) >k"rD'g'wvXMM)ݽs܉  WJ4\^$#(?#Sw BC\j-@U(;V`̹4z9NRCf$$NUۮcDR>Oɕ.ޅЙfԣNM[%.Ũѭy+ML-~,U9'u @}ߍ cS~\r)o90I"9hV8 0"bv*Ğ\"EQ :G(㜳ЯCl1EeL-*CL뛲,TTQը(*3]{[[CC9( gӶdɒəsZAY@H"YrYẅiQrsH<#6 S9zRLL}"OZIja=.l\M1)e0%vSLRlmحљX߮6j{]v2, O1+P[ZDGDChb63,fq<38|ZW|}:_^kZbW]vtǵA_94Sպ58zw>;]˰>k4NY89$?]ϏU5qu{pPlN-W?3O&vv-}x2ԭ#cWl2hݵo||.I?2 P}w>;4U}—?s1#~|[VYɼbz`t?ԧ֨شoxyfwɍ݃_,ܽ̄ʋ^N@3sϣ~wx4>zSn~] ^R-v/lTbAr7t_Ὼsf> }{XCSJWŘC@!_9jRH)wفi FլY}RVUuW#svuB)!"#3!NO5ֈx6eNFUș sԮW9sE"d4!fvjJVLk4XOz6ٌOa勚!g14 nާ{|B^eA`c MSU5""a9Q@JU4)l0s9 '9PӲ2v[[.s]MrjL# slbB|t"SJUb 7Q$9(!%d4u) T%1. Irn3j rR@ fSG")1;Kyvթ[(3S s1UjB]}:v Ck1e1v$){a= @arj@NGDSq< cS[.F#L!G˨C|,'ɚ Rf>1c}_^MM >|%xƐE$G-<К/,EL̬Dt\܇*Ftc"m(h Z ˶oSq 9=;r~gщcp aIia2qh~לֳӃ`ZN8z;fc4IB(^Bp"DY mQrU*;)c>CgpxΕb13ٹ?FnA??k鮄ӓ|y::<]zŝúpI}]eس?967ҡ34 Zz_3&?ӿ/;/>'}lݥiN/^z}Szz+_:Wb7<[u[3l8iVo#pzxg%Ϟzaܭ$oܾ"g=Xb增NƳQ؅qQ@h6d_޺7̧aMɄ%ϒ$/L. i5d4="8c6C̡֮09yff'*0!cSE <Q8E=DYC"v9&C;9&*rxx<냣X'yQTTuASlYrj@EŘrjZTl;?+./߸ WL[>tf^>x¥>+%_'ٽ 7@EQ>wR66ks<4e1sJGbbqezjAR=k/g~U~z/_/,Nc谬K:l~W~婧/Lմj ι. 3 3$$mFݐf)g&R3UCDb f$tf}3&fFfo)@D TUU0Я/Q];5@!;TKbu_s@*+;FCD5C$ViQV޹E4C&,KH`QyӜ5][2jĮ*h@FADC ,ifӓÃo%J"YyM۶[o߹5XQTCC<%E -KvΫ* b$b$ȞrnxY@~d`z._Tc*<y K$6ِRuj2r~RFT IT#{DBʒއ;DŽĄ` <шUϑ!E芔ڡnΕy4hʝH&*s (Yts|f$›/ :ar|rrp0x^",C#y^'7V|9dz`A=h+jLeHBp78tF rfh<^X8b3UӢ9ʺk4Ijcӡ »tp7*JJobҝͪ툰|zpQm ٶodA)P3^y/|LxT*"Q6b5̟|CkJG=R뎺좸ݽfן'u-rYOZus~i޸ݮ{9_~6w^VY?_O֧.]vvn|{2B-}70MmJq ]5ݺ|[`jijY׿/p.^8|;5gGgx<ܧ㇀܇?͏LѯʓO>_S_VcU-@@cJM 1BJL LU7lU!#4#A8kf(9! s+J1+9Dؠg`">j)gQI)QUϐ(ވU!J"tOʐ1PuARbدA 4Isn؏d#0QSÔ"$ADC }|Rttza}6?<*$)4"Ƹ\,Մ]1aȩ~#}\e띝ϚV5=KIvoV;_ll[rXɢf@TN 1jMB;0ޘLR`rhfӍtEbU_J5q~JXEVڍlW$2[/՟?gM/~va]#6Errh{4uV5k߼_ !;hZuvɏ޺'@O?y.7xz}xjW&nl-޸v}/]|vjo?] w.jl?\zv!.^x|yV<"RqyQ]pR /}GέdlxlNo"6akg ]7O&da`j QnXRPzh 2*dN$k0bFL9FTS}ij2 ZLb5朕@M%"HJ2 sN9ѬD#B=3Q}!m[Ue,;>U=,.<r~Xd2260>w u,4 _+qYnvI/*\<7Qfs% 3K}r4mU-(qYTԥTT[:Ud2@C1ٍ} I(|V2RfuȣVUsrDҮl<Ms90PI9D& INR.|!)i LrtBQ 5*jdjUQdCY M5bULR6C.bHQi4k֫p,*}̮qD@L{'Yu6gLI o'G.\xY] @4|4 89&$_^w>N£RV86vzIEfQ(,=$E\ه+H-":Mȱh:I)cHBޗр-#Dw>SřYǜY,@[",|C9k$SIIQ]!K:>Ƿn޼u΍f11?]7߿;\Y? /txqݦeӬb˚4Dՠ^euFOM#Mǒl *UhhQŪT*[[¢=$cJuRwl_;\QQaހrpޏ->c=QƿwMܼ~{oxڏᕝ~ʵxas'?|/nk_3t;f/]YkjZgX ;=YfWcz߾0j.j݅kO'ګA%=?7ԫ_w*?ܜ6/}l'>g+kǟ~b6^4h]s5PIc߇ÝbV1sh)FiAA&]_rY+hSF@``HDFYAB61tf\E\.,@e< 瘋᲍GwVM/ĵgrmlnNB53hQ8Q|n-ff8D !v}cN*hwgB;@ǓM$dJ"YdS8tP!&I1У D5Bd"͖sFC"V I15DM QA2ࣩAh #|NBĢSjF1ƪ/9 ]I9 hg:BͪjNGtUǻ!r6m챨9j&us`9%轗ba68mx9Lrt#9܅H׫eJNc(C6ڶ_,EYnmK4m0qQD1;fW1o?y<3>ڿsm{O=cW½~52o]M^s7v[؏=;/}w-?O?lz4dԳU{eݔ#jb2R )tb̄m&4sJE(KM! Cm&ULI  U2'9@Ly<{T@cBd/zQKjLx.@@S1P HLTCLGMFcHDkVr)&YX]vEdպm(qׯ4ΩYJln"ٱ IDAT'R!?"TrugBi#EQ33,prz:?]֣*vMUͪ.XmY)N'{iߧ̗ՐzC %!M/Iաoced"%Ps*@ C8 r&1C28D -&ZebF,`@hj8xyܳH8$bŔ ;iLjj0dSIT ,a]E5=xx:;;j]Y$/OD|]Vh^dˑN"qU64GqgŢ'e=nUb);@RTƴٶ+QN!Qh#&xL)rx}ߔl<*'wQ2"s+`Z;W_O7.$[h:&yX7l:2{c7[KVygޞN]Ph\Jbn!0_` /OCt ڮ{@˲"y+9{羼}ikrKU?$Tl5[4oͯ\xkT]-fME*­y\U}ȶXӃ{ۻ=L<].>9NΖ}t{ |ƫ_ud%N?@Cuͣ1@rT'Z.1v}:)G.b@)PW̘s?'Ī N L''ǔRH!(sJb*4¼gkO^im0$ukU%GsiNyhGF5( I53( ƬJAEY A]AV1z S%:AHܾDT4geS v^1"֎ !A=gV1_89$,XTsRP$0M\BŽws:>)3+EUC,Kf.=fms S ԗyLf4}c( *,g0*sCnNK!z<^rV:IQNZlq "<3{[[};LѸ s&#飈36r]Ǘ޸СǤE5[M ˬ)6UQWMV}{ewNe5S*u[մ1lmH'Ne( Gu*!5u=VAZݣ1HN\.xzkXjR 0)]:[ ;]G~R {U/Fv)/aU\z{Xh:|;_fվ}uoomT魓QN/?|,{;{i{ppgswG[7o~ ٚT42whʑ,sͼfKrLޛVYylE4TC4̂؅D*G l\U@ʒ6YI'@7lV>޺u{{$_CiJ8#ۂي( XBA4@33 $dQN DwHbHbV_f$HpjPEo?A n Q@|HLSwWs) f6i[Mw ۧrIYKsUHUCd2Mz+"S8f*:$68礔8iK=凈v= &ۦ*hwV2I9L㳗W.AΪw˛'Gs퓺'.<<>hA$mqq ({@hie\u]l}wuyR5<:sc~=^N E],qTR<WˣP}U;'a^{zOojߍ28īG7=Ï=Or՟Aܽ{)RNU;_*d_ g7J<Lv*[=o秛-t^ɟ~O~;_Ę9:珞ǤG$ UAR=u2$*BĜɥ{BLIA&MU{$ NuC4cG =JQ30vMUwT ,E{A˱]<@ #)_<1\I!2;i´JbNYj>׹Ķy9\|eS;bJT `u"dE;[Ah:BIrlij |4hih&h X&H.ЋysKI1e(Y Ir.RHiU'VJcBjεsfBF21zEpQ3&b&b9H)W4i@A*Ls8>0zJvlrԢL)cW5A5xuh6M)YӤ< L!D14 p1E{4/M9j&\e;bdc=9KPUdQ#u;c@TDTЧD8N4qFuJ6,yEiC]\gVtlܺ1}f-1!Kivp\8sa_\m$U}u1[mEAT̡jv!J^̛Pn?R4 d>F^Lf=hnZ*57xFG! 7VqOm< ym͏?\_~;7^_\Pf 1>Nb}J|̓?vz[Z?׏O?Z./ח)~qx[sHus w0Ɠ̗mU/ɵv rkH*o{o#y֫:aߟ-/nW>7~ܭoP_|ދ?׋3oi[/ b9fv u*0x"BBޕRD$3E&& Ds=;s\yLbQPDޱc$(Y̔bQE͜gBPiLS #71Tqi |q6~\`\q}I9KCIYSՒͲRSԢ|MVҨEcM%yUy.Of*iS*LE;7EST5!iAMs*|]>>f1_]Ϯ \. (qWʿC?~aÇ{_f~twQ10S (Ld>R c&b}.L#>y uF0e3sĪ =Ĩ.8UT s*8gu%qL4&5s*5CvQ>9E3cuR׹ f r ـJ.ޓd&E8GR#]7uM۴Wۏ]9>J>^qg]_ X>ݺ9;:<gMuuGv7/7oN7#Rry9"Q\@A!)r&5^, Y|·3v~W}ӯxn/|lw+>j3+岱|3_ޗ;ܽ۩ W%Dj)"@TJ]7;&B*0@vCT4EB0Fǔz߶ vRt/fGiRJ`BӅҐLӫjZ3@vc /u~#'9#&<-Ōܧ\O>'q3up0Ӌssv]?ES8G7nSʣCLA;3'gvRKco6x#{əzk<==k\”xAmD`8rB HXrV0KӔ!Wg\T>"Ʉm4pIrI״?F%3!ONj3C(x\5TM x*LC X"bm: &`)*p,62 Rlק>|~9KMmn{%Jj6eE25@v~/B=cj0 :4bf"ErruMBDd+Ϊc֡+~T5xFSTuclLH0Fpr.q@H?tul[UAh޹٬%QMgU5us d0-{Wr)"1FCTI\8ZJqsupR@-xvTMsVcQ'UNV*MD.,#NPrxf:-G'_!J.(~.9y$,F}D`Q0hS,!,g#6s$b<ՋR.CDHT5W1 ᬭ-RDWČV$!+/8Fd\ƔL ̲p`E$:Mƺ’n?l>\3oLuja珟4uHv\ׯj?hCoCŋy~ Ao9ݼ]@jv;1^]cfC;9!vZaBhCT ٻ7Vss<(xs>a0Y8M q,U hf3V w8dg'~ڗ~#>z'KJwwyCzW'rv:J;_p|rѻ?ɓ{/&|={ѭW?{_;Oߨj}`y2~ ?nߦ^>|JwZ5ݗO~O}_Fհlo>ߝV {?}g=n7A0 lqPbDk+` :UBUCRWu+"f(jXhȚDjTMM\r"rq+1w1f`&A@ !f((6HR$DDŴ:$8LadfCq|TKoal~f} >*(UUZןՋlqPЋ u$/rB5oz{18DdR\ &CQ|hfM~?n(6]825u c{vōvcomP̘9w]PR$"fhJ}뭷~'~⭷ArHK.߉sٍyUC+9"S JirE gW$3bizhrn*11\| QTK.@LDvM>@|Lk6Ժvw_>#s>☂E;/#[cjuk߯N8+Bcc1RFpJnJNjQM C |H9S8@v~x͜G7ΎWRڒ@@4eۜ_#ۼwݾ`ypqu\̅4_.~bfޜ?y&H< f7BdP, ,1n3"w.ИߧvY;iL"0`[J,㻮r@hN>q}ŕO@?v6 IDAT~}~l> A}}i|rxWsZCJwWǻ&vw/.|ϼRy^ G3~_x~ރW 7gu6Cޙv] 1~z._+o;|W^{ٟo67Xc9څݏ{7x]߿ ] p8ir9{/?PS'\5EEDgj9#goZhcvՄASJyc"G<+"!xh(R @Ęuds,R{F1-E'1!N qd$"4G+ fR"(ёyaODE*ziUͻl}**}ØխY#zB]0yd@b%g0E3{(IU\J v1tv5䂟u<8}9!{mCfUU{13aLyD"D@hf4Gu///|oܸ}0)Wu qHS4+ 0SFR!,Vs) s\DDS0Lm^bRL$B렇(;4)xǓ1[7կzs MeQ"Hq,8StB1k6hh̨?=TF) UU]aHiY7իL]EP2 "" > eIinliRξM'T5Uc :1&t#Bm*Tri}ӒHDd`f"#5MSX=x zuզC=kη-f3+)@4^*c5\Uqe/KasfXt(:uk%Rءd&.QQB4 2R0(sJ#*`Ž&M{SD0v㠂Hy`8末YB*΍11J2KEDKNUYUK)s\49|#%kw_kW^}k'''˙dS/AQTRH) ח @ h:6KΓLQ]s2{? c@$1M^>0qSz#"V7`:"*"R't>" ;H~LgBtDcQv0]みKʀRu)I%":1U1_A*U,*:Gޙ1\2(Rp2#r /@II0 l$9G"e3깙iS* & `%hfmӤ]Q͕Y]9w8]ŌgRh9C4y[ v}ux½ M,cTêIܽsHγv~yyjT.A 1zOc=yph8klϷE}χMQ|.9;#˒W}[DMsnpCn|^Am9o7.8(],bю4cNfM]ׁO?ug>5Zl.EQ(R U̝cXy{R1%=}}ϱc:JÃ4lN3hN1fmC2 CUeePU)GN>OW@iFcFgW1qtxq1k훫'߼Zuw4KQUD5ĠM_^{/w?/cfNĩT,FSA'B#)6 L-x7Ɣbp3X&#”˵:Lui=M7IUr3FK*uS3#B2 a:U` Ġc$d)=iEChp2i"gE$1"3^[:ΘL80sATXy &*[) 2o&0hA1" q$35R*匀.Ԏ!=p%yps.Z_o~7}B%.  &LB(uO?ּ9&Bc*k\pNE "8@+79x6OU-T!'}"$Ӏ D/!$F1 3hA!&ƪBD7 TFq뀪 C;4E+..}V#b@`)L'>1!0JMq}v"LS{J(T-X*Z \WAe"MdUy0s(͛E'V'9o,6~ֻhZpXc'g:ܼql} jcT+ͣ~T}qvLbŐG6PMˇ.T*\R1wlrBR]-5bV#?}9{yUEՍ!_=;݂䰬(rZC+Ǹa7>c >[Nݦt[m@)ɓnWSRW&ϼyRp􎁐YQ.윊*1w9s|[C;DvpՐ`Fu!CM؃OB8Q}g-6.vm}`^^^=l͏xv;:-v>u<^o@]5/ϟvХ窌_>|ӯ(Oʃ;wN>by{9߿*/nyvO>x쟾=曓÷OO"?{Ke5 :hMUv;?8XD`f<c2v%gfVS(""9h hZ096QbsE!t[5C6)郆g<ѹsd) "3CUb&*2BNZLU $rv7&@dbyɚ%))&#' mj)fv.B)X;~<,h@HDIF0014dSV͞HB㠢˪2Kַ#@ǦhS;9U+ e` tOKó77~ݻO&Q7ߠA?3?[o+{xxY U0~DB1ƈ`" CYĔj 1"QYVbH0`$8yHe1(@ TY]KØ#HhE 0eQ#3(`H40ddf:#1L[m"Ƙf ̤@j:1hL)N]Ǥdb!$Y r%@v30sY0yGI3V9+-8DP$&j9YL)OD`%R]UإHC"f9+ys^C(GҡKNA%;q8aOQb%_TAɭ6e=uv+.7ŬlB٥[hkfù~@%&p1|y]/_(+*BkcߦиO֋#Q_&>wMO²nvm78 czjI(i9©eՕC:wGtxu+qy4ra{gG.V.eYEa㘖99k~o=X>'<oՏ("uYޤKrQwɨCSn^ˋGb5,Nnm7}ž:8\ {O/gXty蝯բ|.~x9?eY~Se _ݻw뻾|E XNĔ)3!1'0p cDn~_EF./OONEG#_W`}̚(mmt:*pMXTa!Џev;.*mFb*e;\ 5,fM?vIrS+juMm:/ qJ)@)82HUsV lA0;O, MbV3yG)iIJ|q=sL.9EIYdiQ #BJ95Sfƨ"CR@9S̾lR싢@E)il#0oA%ص  ./v(۶'.7Er_;w>}+_n)"`Ā`IHhN9$)c7Ĉ &TJ\y!(!("y&$)AUTj IDAT#$%%&CDSYTq׍E Cn;ӹNs&aj:ii"fQxshِP&LUL%) QrU"E!"Y\c %xF 2&dr;6*(M7;=zrLeYidvlcd@C7P̫L%&q*Dfiq 91]9+wk5t8mꫯ\}$Zzا|I u./.ʢwuUcG.I*ƒ=yAYήwnn W{d6 e>>Z"*bXj5؃{GDS_:#3XBD<bC/ ?Hn't b׻y48==&}c*6۫@8o73䝎ۮ }YY B {f]~8:9ZG'^{x# >=??לcqZwn>uӮ~lÓr5lѻcw~}ۋwnh6jSm~z+Q8Nh1n{WW?OOk A f`DfY:&D~Zг(\gMSxyo\.aydsxqy~58usjspTl-4i& s.&ui?`JبΖsܯb,X!ΊR&L ٗM .儨7 Ȧ,&̰yUKsh D|]Q43!Q!69p0^QURA»!BYDcƮM,MO, &{b2QW;/9Q}PռY>&:IJ/\D7_{oo}w*QLHP2}6sN0+uC&"S @mj{C$1""9 䜧> PAQ !,uD L\qΓD DxL"i6CUWr,EIr,6ɓIL5%d)&@,cYGrކ>#6C1N P wbSfbC:HL ̩f<:\bUH`}?$Amcell̊eA d4KQ>$cхhQi\)n|pvOӭ~oOOrSU_O>XB?[={^fۃ*OyWz쯾⽧Oo_tI5e6 b~(~{?hUhjqۛƜ&z>}Y/ϞQgy?=9RﺶU1ϯ6mWO|vWj`V\^ulBDȧ'l"w^|ӷ|ڮ_\ml9ʗ~p~1 .g D?4n?=g`<1q&krL&zl~b?ͪ"EʑPDot*2qPHƘdD"ÐRdC0v|DØ1q?D D4rV !SQ\EY5<9 TDUIW/CO\]/ƎsEyvcD5&cÇ#OOܺuC_7CDΫNF DbN8uħݐbιi ǖR[P}{'2Q(1yM]zY')e02YSe/lV“Ę9"4DU Q<L4)vC 6#&% )d+UME S| `)!*N/>@c"F= }HYRΙ񃬛gbtΫ1!! D TMS%FAu],"jޏ DcLKL&ľY硫s p~9,ŬnW[+,99x{grU?4bڍ#ק@5M]ۮ|(yNTcg[yiDEC3 ZV!'O˪*RjBY0;TE&s%ߞ^6y0'<9\4e ?/TO-E޹w_lNj*0_m>uBј583xBo۶达#o69 W׏DS)PŜc;>{rs1먃9==Lh1Wwi N^RBQk?r;ƔpN v~}vlMe}Fvȭ }1;H7A??;;gv7mrYٌv4}쇔GؽSƾtA= ;8ZlwdXL)pn{(vL2no|VeW8﯏ݵWb)1-MeͬU|fhnr0d1d-'1D)(*!uE@͈̑8Z`S&&20 )ĤuS 9a ۍ s֢TjJJf4=AI,BTd@ \(58&Zθc q:", j959ɎcJ& ?{<~޽{ՕsM4Ew@`d)gH'735CbDu]A*·9b2#PxEd2fUéMH9"sN%^q6Mz9 "ĸc24DpL%O5$$)O<|)0D-BQzP9*w7~'74gfy c1 y{g"ղMeR3Ff &ABY#L|8<&$eH9gU%1*KNhs7r*ۜw%ZʶuS3/3bf^,W߹ZfK<_v$ٱwVQ7o'_^ƽ7۪`Ub^U|r=J}@8>7՝rkBD]|Ůlk|=DҗnDL}ۛQ]. ǘr,LDe(z>lKI|a5WE`P6G$]_^7 wN%߽u2 jܸEGڸ_Ip\_ mߍ'a.ɝuhX,톔fv ]3ѲdUцM Hs&ZAU2Ĕ@45 0iBBGHU*&r)+19DŽ)+.' md&L#L9"O-+"FhYMKl 0Lb/E]{tMUY8 s9_; {/>???1o\A#B(aLILmzL}3yhS!"Iىj*y|H *&YpzN,{@@Ď$+"1ZYDabܤL8t3\9'3Ydd2Pc98"jЍcZeEȞ=۶di PHlhŒ(`9JV&"FQQQ a]"d:7D " 2d$RTah;!tɳH] S*hDh*+w>eD#yZ.98լߎiDrvYz׾ZI_\]s1"XNwoX^6; E nݐSfr1iڥ1"RKh4Dw8zrzQ$fjZs*K<8/CY@<M.>O|D0W4^_|%gw]nn4ozO'ؐn? jq7P/k,k:Ćd4溬#}~* YUv.8iO=;ϾL5S5J~np,m[wY.|suW];?ԯ߿[N_q,+,riM|/| =B K?=?c6@pc`Ɔ9i;v$z}% T}_V5޽{oIt.8!-拜&bU?+eM<\85+&1ًWWۧ/toq{>C7e3q4tBRƲ u\fQUIHb}p{h<4E"TDDDɉ/ C|Vfu@TUADT,tBF Dr`y !jxD$LkHqhy9\@]o1% ;C43@5fcb]̆!y6uS sUUY`<nK1W~W~~7|nVZ0[Aao'``d sN"sN)Gc&FtR""ދ!d X(:DG7x)K׍ hEɪ)YcGα399T;ff& rRGH)%S#BckYS(@w*,"8 9OIcD. !2H.0#OBS"Ӑ(XQxgUf#~m,ĖbPS&vLEYVuL⽋}.E]5fV#bpvYm*y®]g_yQfxHf*,9 >oyraqpZ{Z./LJc?B 2؍i{gCl -1_]F@=K,TC#~/GjpƘhQ AY2=[RRJMyi}׻a)6keQrF,Wݐ6 ^Tmu::9 ߶q9WLM"ڹ0j-}ExnusD-Kݶ7Ēv?/믿|ѣG%e9Sd4T @DCHTVaSBBe);@Ϥ7M4`&",<=!NJyhɲUvЬf21K @Y ݤ~'R?R@`朋9# fT4fC&3Cs,Y!{?C-h)k6\ RLeƔ9ǬD*-hb,(1MU_5̦"9&$j CDgNAt#/˪nq>q_sI(1|SVʢe<źʘ+_lguO<\YL]1*d(a8 NU "1P??_q8u4#yS% !J,,!Zkipc~(L!XHЭw/z!eS^.f`]:9-+_<{l޻!&++pY͗_jNkҳUdT/d}#ku7ȮܽȶW}hFAtEU?}f3BI蝻sYӴl~^4,˥쯙 .VY {٢L(PH4q@\ϟ=::\4{ω!m Hj)[Nbbý~뷪?=qTiqʘkX}!'_|;'\hY4% #2/8U}!@s9')w )P IDAT-c&"Hzbwb^۫%iQlLQ(%qD1 Z n{SͲ.E*9"cΒP4O+& LZ!e,MI.d;553/zr9%d4 }`D̘zODvcr!ahTL L '?XiG_:o/ЪѺ-ߵ;w06~VW_s}'>lfl-=msSwf}yّwÐIp8&hDLEAߥxeӼ\ErWm\9oQm:YzVKֺdDv>~";^.Жy#dX<)&mjƘmw!Udͅظٜ/^O/_Ղr'gE0`qeq 385W"4.wβApnۜ\dq<98H6gݍ>(EpK^,K h0ZBmێ0+|xusW_w%϶۔01 q0Iؕ~OrԴvU(b5ĺ<b07sP(CoػOϯϯ 37c;ÐS6yѶ;S]V[݋j71]R5t:B"`j$ ܶfލT̫f(Sι) I7fݶ7fM5#zgD\Ywα` "I $1Pis/HRFT6 TStDJRrssF 0Ȗ*8Hn}eCɊlFfcycDM1w414#CpYhMN%͏z_g?__j6j XʐS;"(<>n6m[AzW1g3 dbxC0C {)3NF"7#|؝p$5sL$gmd$Vq9<(}I.M3U"Cu\VȒl.18y:ըc]JB,v'yyx]`bƼc-Z?||0dc2P+#?#//hx8[n6kSP,켂JV1f3m~og:9/3qpv[4ݶ%ǒeTE&Y#ZYY"^w8Jh{MoT_UW2Hqp2YHD"RPDBnABB)x qE(7XHD2{Ov==}XkbUn< .K]{7qUtHypo ELB꽵K%:{Q`HSD^MH S]SNw1""Ġf:s)i 4 B("B%ds.mj1E""HL 1|aGCd"5$=%sI)F)|lQ3;B"@@50pS:X%kT 4 @`E/2EU]??'^4gLZ]hЦTK.MpYun ̨ʳYbvPJA5Or`'6eD\Bl@QjEŬ2k$= VsQ% T#vw;Y[-Drv!u椱}ѻf^G&t(͂p Mpĭ'W r7z}y14\<-nvYx_!iUkafZ3A)k(jVu(Ť33hi  hWŀXRکM1i8in߽uw fiaX̖^dz嵗~yb8>uϓvS{K-Y8̳~cX-6qٵw~G~>Qh5܍TYQ P\Z˲Z3q",7Wfʠwͼ~XA ~iqwwS޽x\ׅ+p }wo׳%7M]>tTV9"Ƙʑ^w+4NAԐu7wK_d K̅Sq}W dxH"'GQ`qjكW^?=y"ž[6׸ dhhFy/7~7/?zۖ8G3$tʤb.e`$z_Orqu f;wn};k󓷯7'qjKVbw(۔q?r场'ɗnykW@ zlxL n\̧~~a Q#,$EAG1DP51 ` ZT%)AYWVBh|L!qM-"&rE&tHňB^@U2Tb%jccƍ!oDŐ]쐐ԸbTOiNڳhK`I(cN \f`H8B;#V<43wcf<vM@ʷ#0$wA$;M M0OA d4.WAq7 [;oV|к]o~Hk_F7odG_}m[P6MfӔqJhy2NEyE_oֻqcȇ?_$11"`;Ǥ>xb;@p`W!xj<a3 @mh%Ny6o)ϝRԐChr|p[vm|x{ǫ!5E3kfj ^z}f8ł3ݦާsl5?;9h{v}LVR*C,*@\hf,95b'2n#`>sߒ vЭ(> )O-2"i(ȘrWW->Qʬ(9΋gx owrsRV5{ͷ=~h;}Lu7W7~o=FaNݻݤiDt\.nۘzM1n><=vs4.tF19djFPp}Ƣx\̽)&f"83ybgJ$&Băji޵@ƎSմɋ~̐,R840O U,@ &fjT.4bV  1!:)Yj5:OH`6TTL9bD5U!LS 9-TQ$P?|/o._z!840@baYMTr*cL$rǬ*k[1$")E3bbCcrTcL6MITm֧UTiןJ 3"(:}`9жl1䵘-0La޽ޫ/M0CXmӴ 8%7VAZ@mf]ӥ0>c? ˡ_.g]K)/×?~ƭNiوʔ1>Cb[o Q.` ozIQŜwhhC3F?%9f>RQmTPc %vZ̽߶$ d gӣhu\2E݋oIdjk؋Mc/rʻRXJ}HJC~ mKH1WS3Uj%(ZъfLcՒQ!1"yrUkm"Yb*bMN 0BԺcfB4y"j&b)Wnd`ghv)B{30ǎsÐT8!b*E*  c͙>}C?O~vDHZ,K.B`FH$Rih;AըhXMc΢=1qB\Jǩ6I:g:cPD))G6zrmYT*R|"b/24 A *Y~UQܑ0;ZmO/)e-wm;wg ۵h'].fq? اTc$%9"#/^\ߵ7k܌c.LjrtR RJ*ńt֐rJ*:\T( x KsdBh`Ԃ)o@'sx_\n1iIӫg1'GRJQoo7S]3[tsﴬ構3CzvwSN׻~R߅}6ތM)NW?}~'kV014$YswӳsBMc$":t呙 5 SR*~%ݬ4۫qz|q9NX,.o5fV`΅F,}L҄&N?Y,qm{Nj>GS^R'Sf 4L9F xHS]gO=o'Ɛ棧݉G{;=9wGLw:~Q=ϻݛ\,fMGu-L4~׿bmϞ=7]@$gQ]O1ʹ T Tovvl1 sS W'tP>W'4xqI˾gח7w4ŔE+/}򟝿M3!sZbqL(MsfdƔz6ljĪ/Ӕ"wdQ)%3CR$*R0@^LD"\9'DpID)ALL VN2!(1f4(&"9%H)$u{B&9[U51#M1,`PV`6|,+ޏ؏SbYS$isQb%@6@(j̜r"3gU 4"r-RJ~`0S^1Q0g9KQE&jB"T|/j;t@"5t蘉0Ra}bgnnOvmET-g mvS>Z...o1Y?|h=ccN㧥n6 f|{HZaʱӐR69,MMkQxF>T+pUW# TTs%0,Q@LL}s"ZNIݑ;S)auqPKbKdr7k1{1)짬y1; |%!27[-ڿ_-7}"Zz>#%4t#BK$61v>0,~7ƕjx~~wiQiEfT󖉐fv׫3#bz8]x&2핝ˀ<ƤmqkAMLJXǨl,)*NS?4~7ZEerp!,ݥ(OНO!^Oo]7cUS߅9b)U܈/S_?O}Rg>m++'5o%o>#EhDNU($meB)EkYh|vs\wui{I8lvy*o6RC2\q |6)#Z&Y}`TT9!*"!4NԼc3"{!j'_O{ţnلM0dPCcCR&]*{7v]+J’t 0Q.9G%Efn7Pt5{/ IDAToMaZj{w|:{Njwn3/ˋ=lmoզP 0fmlg:en-r ;M9h,˓bq˶ w@0)2pd:Mj"]o^dq,,4I"NFA4Qs`Ec3y޽{[oگڋ+s7xK_ҋߎ2&*&&VFsT*Y7 /g0nnķ J5]bѾ!b%PH?(Mh&^mַ}֛#Y,:qѵPna;-@*R$瘱$dlzGȄ밋ֵ̤:%f4RDXѲeHe\ȲlKH.hȠZ;IQrJ*a"jy)X~pn~ۖ}s ߉26U5RE$"3_S#U4sI~2óXk~;YUMONq):i,dZ}F`Pb4 40Bfh;Ebj N;߀!b~m>NE_M`G}4-bX8fq6o_\=MDJKUhZ>Mwq9O@TɳdebFf%"vSLL4H V >`S֢fr,=h19L\L"jbV?bLn?כ-fyD&2h1;?aJZdnR[]+nK S"Wr^xw=_L8Ma3*gOջ=Ov=Mf%ΝXN[o4%6Ѳ-swsӷW[0b՜J!<&pKQHsAo·QdU~闼_Wڊ)'U!32jsr&xD|u<1h51e&kvz`c)fzv_vkcZ2DSkԵ 4|]CZzh8fn$)5 8#PH]e'4q7]TtRs^m0m0R)@U 8R*mHI30"$" H,UIjkOUs?kE5I=jHٔ'9"5ߘw wR*Nq&bjo aTN 1#\FrQv(Eٓ22F4U CUZ/@\t 9B>]=y┆:n hR^ڻsv 2n}x߮w]\ۛvn]S4(d/E)l6}) # 1`*6a"kAS-&U)#R2)jD@5 1Y b) `l*#, *9GrV%h <&S|r/gWv۞p(YiU)_OLjZw$쵶?~gn8 1bfuavRdž꨽#r8ŀk/N*-;1EyX6f]aSiڻy˞P8%^.]N2N|秼+s_AG's4 fBdSN؈@$@ڏg\4kSj&laz'.m''q]1f=D'q7{TH=['G^?q۶r>:YuSQH;jPJ1DMZ // _^),ZqHHjQr)蘻6㙃gW=pv~&9$hޮO{|q!ETWtv 䡪lyviq3l>MC~#&4Q_x$5 yĞ{.Zs)őC1+("!8TEHh=OQ1U@vN L9) ,a"b#b)Wox *?L=wKQE~jP J@X!,R.x-1bMEQ39 @ѪEphVjC@$1v@m}oNWsp9x 9cJ(bDUeDDP9K 0("ed @V0Ń쒹ƟT61IeτP8&rc9,, W'O@638Mǫ7/W~EN^zinzS`-^ YYvqO.CS."߼]Mgh @3vm l+JȸT2I`3UFMz5SSjU0*9?n3Pr 8yQОf1{7`DzkA=W3!Vp;F{NvR  0"&4Ͷ鵹0Li;$Kb;P-Gv\VsU5v"2f3V8&]J=/s$\QP-yXhr]X1X />ns=j`blyw8z/JI}l gWۦuRBS$~Kuċ@]lTvU _r47dYȍfiɇvwFQAcPId=/[J @v͆{M(QQE暧81v;ZƜs66/k?w T,;MB&N7% 2 PE>j-~^ыwYVp=}+4 5!$,DYX=~tգg0"j^# :D cHXtEq<`hfm;+9S˾yQdx~v2Lc3kb݊ѮOvDD of&80(jĀPӻ ѓT3PLK6@U3D14ۋf jƎJ$*}@Uޕ,*ƎHVP<ĎYT ɴHEԮa @5Dq06 )J"!0XPU 027j]?ԧ[1csw@ \(R PM9%9L IDKB U|fYOܴq Xkvڑ ru(L58e'G4"Zm6cx3ӳo~L/?yYo] aO'_gs;kYDz)è13H1A8KJ 0eQL@l{-}LiuJƃ|vSJD\Y)w*RJt !v\r~ XxOEȡRuק9QD2\$/"ZNP\pTtcJEPqc\@t*`ZɰT 2;:T)g(U kc~??l^ .J* VP (R4sʥza֌Ȧ^51 @"Sź`f- V,Uwj;V"UE Ɯ̈DL\h}}f*jXkg6N8zvsӶҀ)'zr'1Rd[o?- waָj=(΅p4o%i pLXJQI@C@dEvLmtu E Gu YQGMIeumI)sE!!3=MαxlݍenͶc{'{GuO&E\hs3cF&xLvMSBQ)ټgƈ$e= NYY3YA4d%t(\|?%#;o(& 38mXpnwErTbΈp˦ \-EΣMY>y$8?O_{yK붩 YS"` s?yzyOV~,&LyķkD􎙹RGU4t j6NW]@#dhJUD}V2n63UG\ؾeA Lax)E)𞦜ETjM>xDt)Ev5FD#U7Tꖪ`lË$"}CvXîNb ZU #"1>6"b`&r̄5iV/Bx뭷ڶ͟6bw:5ímU[DBTlMEKZ)"5]V#Ü]EA5אSZݵn:AEԼmzY9XS$ ;s08Dȸ޽oI~];97t8Zvw  c˒jBLILNi9kŜ-i.,Y41c*ITp4l,!oHB.h@W"`fHE~@FfNUL Ȏ02D!KV<X v~v?Z@mRҫ?Rҷy赇S1|m5``s:xf3(eƔGD՘ ,|ޡ½.Nʙ?{˧/@B ʃӓ(-Ypo4˴ _a]U%;9ӴonET4O$9-n<:oª JHst-I~">Є@gglB.CNc")MS&n\KHC@B? 卯[8b\V\rfEnc17Ǝq{)ٟ?/| WN|>%j}@~,l_;SIff}3|ƪ:5uGv۝mD`p D@ d  $G\q%@`DX IPlv܃{Ts{}Zp]݊w"\ZӳŦ61oXUmg$BG!x3X\tW?vzSx({i'Bpݭsu&ٖ^DM3 W.xjG{ry##ֵP_;vFTeERZ4 NG &\YGeEP:TR ͌9ϦLj )GBt*y-f@$(ThLId;,aXJ_Vf&Y9eeU/Q};y~~9ͿPa޾6*>آʓnUhY oBed&R!3YRՌ[/)9X%5 #9v7P1Q_HĵӋqn֎o>{Tp)7M)z暯lgR9]|=_hԀ8E.aѸX\VlIU՚q+pXwLURQ ֹW$+1wP>]&v\BL.L$## ʶ3r]~R`, 12d0m'X (n{M,gQb]A!g,Vj&Rú g|.ȷMZU` bN,9:z:3ivz[6DIbr?Ȧ!>zz~;q*`HyXya2abd7'ئL~H<lW= ݵDѵ5V0qu3>MPTY+<{Vs PcҔcU?:p{ xΝov۶[,],B+r!Q9G;''gj(EkNM76>]6gx6.z!QXQHQ}굏7ӽ7s+A]B:9O- eԶA`ȎIL e1Q٘vZ@20"SHRfFL3L)0-퇨e5MY%Ky4ZV0SU) VBCAU J;&"OT՘`XD\1C"1 $ *C?o%*hAԉȹ)o{{Ew'`*{ !vi),YT0Q6+]︔[b_Vrd`x9u*ЯYBaA(9$,;j,vA+Ax+9]ٙu_v3(^BדYYaG0i^zggk}?PlP4&sNBwL (inՎrPJOHrYw)vM3LF!Ǯ1 5-io&\l{$׆jr lAt-_I mT1dXdIYaR̆ IDAT?8~ք'm{lrd^] X FT搐$!1|u"g ,ԜÇkG;[,ygs,<U_됖t+rPlxxoGM5@ʿ Xm2 2u!m"%5Bb9xZ-iH9fZb wJ"Jm q%ˈ .h E[M `+MȊƆ)jG, $9"92͙0LMQY62- 6PC5az9S3me[짔ȉ _¿]yc9e}g!@`tre((ny4Xe-H뒉2cJiq֫˛MWZ太Ʈ0(hX(d"#t~tCΛ w~0j;f:MfXEI q%`Uu[:@0@bd14&*m/H(*n0Mʋĭ韶QMEp.PcQ)*50K!ΗCߧ,,CSJĦÐVݰ}J"1b@શ~'lPU5QDBpWɶ1fv(fZWԎ|΁^9VƼwLvP.j՗xY^:)W#_j:5u]vT:Ͼ K .$7yCԮsШm}C 6h-Gfjפ0\1wTb6@̷'fλaͼ$_ΙƬhjI""ݣN'o Ia+Z5WiG!i\*orޕlBu&&x) #ޅek,"=;JBd- Qp9ߨa9"dbf"&*~|~9Ŕ!@HK29b)&(o„YV^-K.,IL/L.(EEtb!g-?8L9]kG,XTv~Nܶya[<:CᶋjV"Jv f0ƾ7J "ŶscX( LҨr>n:W7F;bҰX'T+/j~0:tmk_l:iںL.nIKY%x|> AѼ3f]`a2)"Qּ-.em*1DS -ɦ-͐,\U-Z10 j|^a{D3Y\lŝ*&F"ΑJI(K&v49_y J 4iP90l*Vh'_Li":D~ *ϣi;hʐ TUFQ7O}Rl^~nQD "BދSW_v+F8GݢppJ>wxuT1O_6~zh6Q@pM֠AE;UӦRWT&^/frHI,k=CCr.4Ӛ,CRݫF3grM07qp3öѡj7Ŵ VUKVl#pܖ|oWQۇaYmnhjƜ#xT!9U!jRئKj!;^3|[}z||7E_!Ylo2NƒUq8xLZqXGRlzoG9M/\D y5"2䜐wjX,#k@ss (8Hds\(҂"rj(gCPujfȤE DZRO(GU8^6Gt&IKh=Jqh]TXi*B*?r"8k`l]%VW >$v^ŭQ|jۓ [7>JSUaMLf*D$R0#@TF Ь޶*W B#٫ }8 \uݚ=0|1wB87ll|qv; v94m埽՝l&5LK2w]E]ettX3tTC@LCTPrmۙJYF<(nr̒]̈ 2'j"vP+.ϥAsJ&j,ΡZYޤ&ON}Lj.\۝=z|`4'_otJhy8xEڕPx<,'~L0spn2?=~;X^yq3gg|/7ueh[J-D/IdRɛ>r=hb2P4tx` jgk[&#Z(qzYtv!t_i6EtsԪ庮\_lj]b%\3W_Kc}<:8]CTQ/#+qkĴ 2 <Ѝˮ_m=;h\urrPOySLr?R7hٰt:Λog7>orp4zxݼNfD#QLk8VDRVAU5P) [V!Tt߼qq;,@3j>,L[OBNI4UXFc|pljٺb;g]yz|FT}'?f'uQ%uPWA*18\DX|{|  Ĩ PhT~ME s`&Kp `):G1fA`-_&GdrЬbZ S(5 n8(I΅H-8T)])fє@-1Z]@`굝wgX8T䌽MY=iyWv;/Me۫Q^zϿ;iġ['=<~zz۹ۿ鋛A|g>(>;r<{`rSս]c2/.֣v9%dK2s^U-sוw]xa/pͷgsdcהjnvbOү^;45btCD LH0-02y X21$*\cYĀICvn~g>588gz˓OO}r?{y _Lc@w7n .N$fqN&_{{|rM3*dD L%bNR6ƪyߘ7]Tj21,CLYs z؜M]H3uv1CJY?C5+P3!e"5Cj0m LHFT C͔ 4uP.V+ fF)Km@_P ǣЂ_J*b|V)eB'9!Ŝ-^o|.1@0uYr鸋CN6 in[:AJ鸩4Nc.'6ÀܬסzοgwwqrS>ߺvZTϖ'_erɔ.<>l 㟼:}=y|n_swxB:Nh`SVCQ;@ )p'ޖW#!jv*DkW3$h{t >m˧o`-˷mtU1T ,UH.vW28HrR %iMEz>o_+=^?o^yrާ?kO_w75W^~??X~鋻GW&oq?C mC&1ElCS2 N!O=ncN )FuU_xc_w?i=/~_ȠB#jqX뿿g'g??9]_䡡6aTvs"ո { ؑWQӧǏ/ LPkr{N{G{psGg>w܍]x';>=}g}CΗ)o~jt Q뾥/|g_gwWb~z|SG<;6 }%>>yO̞ftM4t|`*\=:(@@4KW GM Vj$M1Aj{,jJÀE}RZD.|IUM sJ8D!F1Yȡ*:֜bxG#rg%fPFb.?|8gZQ pR,CVK9 "*$tgF{fG M70a|Fm@i488D[ lp+G-1./ 9,@ze١)cBS~߽Mc8 z>]앆i?O`W?c??o_?l꯬+UVE靯~uW?a`p]I+̮f>>:шi{߿.hX*"Cιs-l% iKKh9gǸw(;l׼DhbH@t\oh~8p ubFBJu D9PJLR8 Uo5 d*j)}wߟc_9^z&{|q֍hs~ߎNkKv׵;7_]L?Xf߽`Q/p8lHQ&s-dVn?f̹o{ߺoݾq}wn}_MWOC#rU5U~Ͻ7w~kŏ|{jU6)0h0 Y yn,V^QF 5-?W=yҁc-TU;ޣ nx|Zb3My5j}S! y}Rt$HȀDFchF.`*(&ʹuXŭ|U&$Q+GY0Nn<;{z~oʳ7x4vo7OdJׯ7]ztxpsM;׿`Z󃋅% m@a38 sV`P77MƜ}z5U1`T0U9偆,!Sw)g3[|NM{+4alS^wĘ!(*P݇r͋aΖm lqFf hՔ?U76D%5M9_$ %O DK4bj +Du $$ %+1| ܞKbQ(ڇa3@P]VCF M*? prB͠dS"Y^V5//b|qpO.P@v'Tg![vdÐԌ;Gջ:i𝊋ü'߿..CwGӟr+UgwoM/[o8Xz?/>~roGhrUls' lֲ@ejdQɶ?MT IA KE RVhjg0DB&U!ªqf[31E HfE5+}(bˍCp׮[ջoƽ> 0P"* !!!iL.8Bd[fϽv}`{ ?l;}<9 wԩYFF7ʞmA4EY-{wy|џ]/~ٝC޹nwjZ}Y I9d|s̑Mhĝ.j 3Γ ECrhQ$%]8d]-3rȾG .!e1n]\\W'8e6(˾ڴ*ȹٙ1:f*ٌs|$`L˕ \KhL9>GRgbt>èP_%Y<}#w8"EZ7N4 WBh4Ó.׫ux&_,YzwKY._>d>S= Ρ4䇔GJՆ^,\M@vdf@qlr6mg0db5Q$PQ(jJ)SN05,VT`Pf5Bh8U1BN`*InFąʂfF Z":\p)pd2UɂTjv3DP?ȎwLbˍ\z4nU+>|9~myFFhI%tm`j` żÔe6ɉ2 0 V{"GCj!x&UTQ5~!9ODu!p8 ;'iq=|za`%_usm?[$֫|>O) C)Dƒ'v-O2X3ý$wO֖iv<(a t*Aͪ D f U(fC&R6-~tD"ZkTH@Ls/q޹઺N389p^p<{tpŏg\Pj+:$)A`R}uj&û{Y_GF'e6: #OO/vbHG8&Ųm&ٹ'D0 >mfM Ԍ[!Wo\/N_5qh'u\$PQ]}\L;$#rcJL,RlEY F/I ʓ#OL= (uݽ`~E|pלt; IDAT<[ݺ/+c4惄%''N߫ebhr΃t,!C>u~/R=쌪i5C4l-f{0 TMss6KzgYHv4'=:3S;OD)I,|^ofx|"S*Y,)[FQeC1fU@qe3ChJ)KKY8dV{gU w&#R^(u"&d}`\՜zQ)r6eEˡEfsl < K9A1|qHyyw1QNAА0E3leyf@Nا"bJjWz%X9H1#WWSVjy) Đ1+X "+Hd_ji|`fUpDl4']]*Y<9;r瘉ZU%|q1Jl'Ոrx_Td2a軳zZHB"Ǩ*J+&v L(U'+v<j<>i`ѯ6E?rf\L)"dR6vU-QC**T$ھ.yZ51t̋jUCq,]'4u Zhun4J rS3s}ǔZ@ ypY3BĻ]W^|ٳ'?]d 8 V#bY:^rqT޳EsbVftGUjZxO>fH~|OQ" ?ȿijPZVa3O'痧n(7T*&'.z?ʴLo^ϟz:/?JؗV00o N#2MV9yx bn,W !pb><}~a=|"I?zz̞TϘшMЦyYfR7tr9YG}$64G{rn%Ni]e'#f%d j1,y@x_cJ0sgN.rA[jx}'fD;B&s3cdU{ޔ*Җzyji2Z* ݉E \z zsۛl:#PxO>cgrdzrw` M6`*R}} imǃlmq| nM?lt @pܜ%v[䫂Ng9auyOVӢgc)c'FZ1wEa>vGw)2 xmm&j )Pʄ\uS7}c 9QΜ([# cap,p"Wյi^ˬ2E]IIqcEt C6vI<@D"s),L>n~tdsnDNjh$B"->et,ˬUuj ]/8)* TD h-$BdS $<'PyO =0C jqUe!$D-2#9 69:I TS9gq@diXt&H&A,b֓Z"e˃tEg~/h 7r7_\ypZH@CD%ms)V )S0H8!AR=_ $r_B,ZV4Ts"p}D ݭH0wy/KZ8aqf̔`۔_jSNZD2e)K vzwyw>m, um c 3ƥ[66iۻÛoٛ_~s]Ne?\!̥xeF1k} RVwDUN`ZG;QF:<0=ɗ귷Sѩtm۝#0v2sQ#v2]\Ъó'yxdim[2[Yק޽r*@ VOk$¥ L s@sono2d٦qm!D#0!Pf&$D pSD{؟sl6y"u]^\ΰ)".RE/K)2W ֥T@"Sb旱GNX"!j .mE' L%f%8iV$ HQG͝ ]QrbS9;""r)gJ]'给A(  N:@V:QZ+Vi @פgT$\), b€$3%Bd"w\)ywGY /OJm)53o?^矍x<ϗsa/^=|XXi&KĮZިWPvY+Gj *:2##`YMNӗ`Dp(-~@`n`Di@!IZ&Ii(]HljKQ" ZɄK](IG յF.pSꈀL+DerG٠D3Z]7<ӛl30gf!$$n&^ lj]w#[[fM<03''?y:??y<4YMݱV5]؁S nlL)w Li;0y 3:8QFCR/|pbx;-xqGI" ~eX%x뺔zu.urOe͋OtۜJ-R oߞr>Lq:M^?|1+"%a{LW`4#>V^lͪvco#rSzhL °WSqH^ͪ9@bL]bb$0Lp5_P{B V+ŘSB\fZLMM?ޏ cվhONX#cѨ-}b & i+nB#P#uDFЉIr3wLHQ5A2Ek 䧿 N_zMp,4^U?|STR;Eܬ,ݮuwСBv$b@-º.hn! 2>eN"(NiĖmLƱfNV'!I$37ݵVWeeYT:$' w8'N#X=-Íe2t9d#Ҳ,]txrKecmr&DZ^q!ǷϾ;|CM'Ёuk\@`2/r>3vnӘ -1b9*L/O???{};o.e$䜹$ @JoPͳ0CɛgnC7#etrG%Ng}7%vLwwEDno@_'Mn{&v7 TLtX2i ,.%x7uDDFc @LaC l"#ֆ rIg5$wDF3-LH$WH DL87Έힾ؄648f xU+ bIb3PΒTէ \fW]$LY{;QIZ| 8"1DgBsjk4c䀈Ctb>o|(I;׮1.G y,8HXV5u3"WO\ZuUx &UkZ̗ɬM ERrUM}ZYl##E01;轈@JF}כ\*T"shz,4.]!$I@YKi.m}L$ÀDrooo>|~ٮ.ga1L@#[%UqYfD, 2/s]^}.v\N/Ф}_?AqW?>8jbv>41'm'ʒLaQ_<3fnw$'`e 'ϛyZKbךr,:-_/n~x .YH0y>ИznJ W$`!eR1hGB@-Q!:(#nD4Zjs\ZZl)e1Z"|3l@|* @f݌Q%. 5i!p)jp]UՔBk"RuHC p`J5jXHRK83I1. nހ nqP`åU5"}@<.Uܡ‚Lw[PfufsZr`Rօ9m6?$?ko|o>m6QjЩz:EzdL ň!1~@8>pN_0qSgnj+@PsԱ.?J;##0TfY L4|9np>i"ƍPb^Q$%`L쓽&mok IDAT2u`2Z,v1e)ZXk-nsUÇÅ5AhP2<\KYY1O\796\)N3mMd8O&R5 =}]!]ft_&,836_eD1#'‰óN0$T5sybgwvB e|} "n'`L x\m# ##zZ9TU3ڢR #aӭ\̉QPmEz4Ԥ '5p jYH\A= zmӣ)%\" P1-:%o6[9=iT#{LZƧ~{7R8 "+:- 4y?Fh"i-:gwkwcϺ ɛmo9PNs',|eq$]-e9k{f#|!uuL'fuf- O_W>ՇSu}-8]cQJyFEhx8ëfx(eR+"BN(nw?]ۻav6˸4/h F,rpMuV&dgKx{C˩cfeKT-α=3_J(ŵ /+BϿ?G$[̙h} Iq/aZN7GՉ?zذ~ȊJj.Kt,jÛK-4q\j]TkTߦ~'7ͷn'wƱ,vq4tuzJZLՑ9s&IfBhfBbRHy)ZkeUS&Pe}"mWOcT ZBD$ª5F{h;<Lg$itZU;tZeZzyWffU(o_w~F`H qc@UV_ ^ը8bމ@9N!!0[t([5l0JHPE0%IȠ]J,QU:нzj%"S/mFᒧByzyzjD\c.hnsk FQ1Y'tT׉5k#~_97zݙkJ6T/<{DeR =!JA%#`!`NGS'&"`|[EwU:X\ƒvLΈHDX:%j ;x]2w&!-^>C֎[ŋ[Kpj_+]i^=(jzJڔb(|6yU|,\q4<)ownU-<5ڽ_a'UCUsHt̩>v_Nzy, 2t}u_#!o64w)ãZ4pJA2Nn_ݍn膞TݲT:Wt9-\^/+Y e2$&405e.{7sWϥ*dr-]X$2[s@6톸Oa~ QbUj 1u/S21~ó?lXjKfzǹTf$On/z|s3w9ڼRv~x<\t>Su$N ՒH" (  DH5mVUM =q}LZgN[ҪRU&>qWy"4z\'qmM@ۤIfg[EKH W՜YLRH G]PfJG-x$$`HS Yo$GZ j2{la 2̼y5C&F%b92W&0jAUG-TuB3Gt5393 8[9RjaU96Yf䀄]iAi,Ra<}!mhfl[6PD_11-]N prhĥ`]MTV?%tf" -!H=P㕇hmgd$13&ai'ݵZ-L5W@PXԄXX"x:,a2'(^uJҹ0!Ff(@N6:Z1R/d Tj1")wxLBѳ___~|$Ĕ7+2 rR>o [V=}z#U @'9S1Kʻ{ynm:t!oG\c_Uuy;8t:qԩTrޛqLð6 wVܥgVP+sY\~3q? 'O axKz@4hC"=q||aK;ؠ2O-Q1!״<DDwI h5nx:_aZ]#(4r,,0h܈:U0+jF`̔3g,2XqQc.hm!iNv+k4HxMMhUnފ`i?ft'hߊStXDrJDSJ4f`ZܨjbfȌV(%6 a;yRYEDzpB` Zr}P#:T`bDRhc@CsdR VjZV4QuD@:\C3fN̛2 <:Zp9(]!bVNk-neqy*ӈ\uy|:ERQV"EgӦ,~CCpH HsCv3B Sln 26gn8nښqѰkxJ~ @7r+=;B)ˣ3Q'ecƠNA(+#P"t!Cxߠ3)I||739Vu ǎKL39 f1#s$HMǶ㤒|<.Nͽ;p~}S?[MRwrڶp Y:ߎU,Z׆bKg])'-*:~e$ ApK*Ot}w^\'z7:J5\R px㣯|?Żj%2Mݪ6ʴj }j}iRj׽*T0yy?UVy?׭١IMw=>Ǜ! &^cr便+a:y>_MӠQݱk~'{mIDATǹ$Dqis)\8CȑWs 7(RDR0,\e\C$b0G2$ ̊k@H I*J<<UpC rHb5{g-,3j}ՉΟk[=C (Q)20I (00y"ёTPHT#5 B7LLD\Mg$d8ĖUݝ9E+ЅEDGMEJjX >.Ն>5XܨB ,?Q胺IMwgs(RqO-wG'_MS46[#n$XZp aI~J& :ZqcR ƱܻeqP53+v)lV㑋0B5z:,Z&+9sdrrs ȋ'CYENE!5]FӃ-(:/UUaqxrm;MyJ4JÝkGg_/iJ-s$ QV[p(/ҷ2G47v<}vӤt:tX\{`"WM;Xtb)q3顕dMa"FxG<~t9q`َ \T{pUuϚl| 3t딘qPni*VzzK~6xqE˽]b+I={&j=@^ⷼ'DM)OE\]|'c()o7,瞘-9kӜI|[ߙ.<5DXCIDZ9Y 55wP4J7Bs-6'j !˩غQ+!DTtv=a܍bܺX.J1GJj؅:F@'_Xpqў7H$BiWݷQWZ&'wqAM%t93{D݁JvWw" ȡ;"A ]́JTP#IոnG@W^FXsV$@n@IM8b< 4&nf莼XL  `(TkMK4y,!`Z{um/޿txپfHqlha2 36[U3&lQӪ+Emԛzw7'_ tw\dlq'].FtݦRl8i7øc<;&#!A5ufCѹO Jb0GIDuKwji:﯎ӑno$67s"y$vݧ|JI8Abnt]#ffHd+wJ!tJ(uFT=`qHwhLJ tikُƇ>5r9"2Ep=*4v P6x]uiRbTN` . U{:ǖ:xPxf 'nKG?_%DZmn[ռ[ezCk$Y: y,:O]]w]5 1En8 +؜Gж}ˇW4?=I.9~6tƸT;4Vf6M? C@ޘ|Ts[v@ޘn^_ȬV]ܻ{݃2"80H_&bP ^4R蒬8sKBfPFdTuu 7"$WpbP+Ө`D5&8`X qMC "tH w"Ȗ Bt\LM]Y)U&Rѳ4! <=#yѲX aP5cj5%B8[?v BBZx:}a+0-{C[Ҁ:o[ 012Y39+]Fd7d$kL!t rW/Z w @Y`!{IiB@yy`PƾM46IV"q?p;3+6 C=Y F8`?>~tr 8;3_l^(H#Uv+鴘j$h^^Jg~ާ?˿~#Ko +(utm. L9+ax|7{~ʮɾZ=I9vTJ<<65mBBip̻cNZ?gX{ן7m3ê_movYmܬ005FDM„g-Y1 ; ,k˵"Fp(kgDT+uLhL.G;ۋiر DBTGD5Z\nM(W-VrONHaeQ~\j%olpF9l΃<n] 1Yfb:@B8 TwF9#$# |Z *@QO8z؉r r@B03&aעJj2 kQG00Nz)sY hZrb3vL,(;汄\l y8PaѠ,u]tX˩ebdKќU)8iX ÞbDWRcme-Nt!j#;fֻwUxrD +[$dH TlTW"V!EB} S@ hɥ>lmK$smg)I.s] lGufЄ9(8:cB@?LdbU5䴔iw7_.!|y !LӬ_g nݭ_qQk"ihdE8ل^K,BU^뾩䛛-6{O0wp9oyiT#׾?s~M}1 17WMS*: e"$h"`4%9_ N@4R$m9%JE &aӤZnw'%ٛ DR#{0QZ-`eea)V`?Ds"AHV݅(1cv }и2'wg_/}7lިpU, "$?<IqN#YĠ#̷_>6xzo[?^"ɏ/zPBsIENDB`Сt?GAWYʿ+qY&ģcHռ.r=۞AB]@6O|8 <<RX0Q1)^8^8^о .zFmK׉!nnaSZK}fZȴδ뒔sΞ9&uns‚CF03`$$M}}HTQ@D4"<,! 1z<A8qoJCVhāG爮:A sqRAfQ2TbVX{ߓHD+;p!zȹ+5l9rWTˡ_]pvKb-BFʨ"͇*Ui?77,|尺 S]C2;(eG=M;>2sq]u M?690v,Z*K7:@ݪ[[M,-YKTe18r w&WbZxP/R``BÏ09;Ȉ[Xq#HrVHY[7]>Nn*@4"Dz06= D xj.84$lR!ءZXi޽QOa*Km¯r,׼|ٮ^ŶvNW[I_# 6K)+f.:9>Cmd:{i .Bx9̃D7 Ȋ[MVB ;|_\r̿,{6f}Bl5jyr*0a¤+/Mll"n8jsx΄p3=K C.#7{[WD$X d [wvIrC5ꯆ'\4In=5t&]"67_[N#n$u+?xsCtKSڞ%KDITR$7cf %qv3:{jΫϿnvy?ڒưxKp35kx0q@ 3?,=9}zWVUO_3B؄Ӏ3|9F^^|fgN;bZ!\\EܦpH>'tg7DĽo$AJ2:)YhI ?3'_-dI#-{fol }Wةa%Õ  8zo,uL2Z_Ai>eۢlGOkO߾ j˶~ 7e>p͙"yKnQbRtߧ~ #SFn6l#{[P~ P^C;̡zLY19sWU/"9 p6 q@3X{ <_s2`r"2RA*bb< wh.#*xZhtrQ!A늸؏+$# D(GNyp[&xJ[yp!n"yvn^}iHAUc_pDJH־=FGد˥dg"vO<@B28> %'g@_;:uv <ɉ|Zn}J(eߞD7\ypg߲,J#x}" "'#X9e`Za$1v8GcW>CdԑvJ$F;?S$|a,ae,AIA`ʰ%;K*=Dq H "gȲY1 ^XcqOٱ<=tjd̼דXo2YmYIzՆK:(p0ֆB/V` M_p C4LHpL&lP"/q빜J| 7 v:|vF%G&'>.ah om^K M9|J6 5 O2>9oҐaOf|z}yɥ~̕59"81sf铜2f@n^ؿ;G<- RRT ?WrK̹jݥF.{Y[HU' 7QNs=f!0-^J[c~j)pozΝ_wr~ȯ}yU^ixuT>ކ?9cPk| d{;R˜y(Z@MJ@;(r:(N1z)8:ј;Eȳhx+>_: `\Ƹ9 0‹F;^c<u|ߐ֌8\dQǧQa+K8'csu*0e,z?Sӷg8r}]Ȣ%D+g~^, CH 'FidƓ]#k 00i UK(]EYej|y" G%R ?ם[);NocLn>d7TZ]_Jb_1 [-XRI~8i#`Io\xzq]01ԾG"7j<1D2"5o|{iucs3y7P8b w`2F&;$/ s Kq1mű T$@SVbᚯ+w ABTwYQnӴ,x~Ryا r%J]&N>pCx H\+d<-塪yg1:4c+~MןR[:rZ}#BW_wvY;+؉HO;Ƨݠ䧧g)=3a*8-D1* :_mE\67`*Ҽ7?/dw ]U`G`f2EG'p`YN1l֯5bXs|Km-5eŃ)z@7K(OyA~BuݟjwNJ}s+d^zc~K4p۾'.㓯rztLV];tPp`qU6,k;wU6,XW 8׭!m ;c;_^it̏jAUKb4aA u&بfJ+^Zzex05^|wz˲!}lYNJV`ԫ\AMb~:pL嵠5l@dz.deͅIz'=ں>߹J@۸YnߘA&b> 1h23𨻽2kG6!>=Lq#磰v!mRsa#(qn@ z8OӿT|=3kMZq\NoK#-Ft }Sl-b }_mFH*A,#-0i DzVWKu해L,5m ;7W#bN $suuX*{I;-/Wft$P]gk _aL}ܞ~!Fm55w3~v@jrs`nm `/Dw9Ba_t$g5]sT?TpXej9W,]H~&ˣ @ v?7[|[ ,6Lp=#_68rr[>k98Į 灅Yds+Gm*j!cvvAk{C_N A0%X>*\+͌oR^g.qEPUgrBs{ըsR㝫ǽKIcmsbmBH?nXgzͧ{q㨑7i.^skGy5mV[&w R (kSQr| l'V+k?$=^h +:B\nbR@7S n۞q涅D2+Nn?"~L]<XH>, ;O:@Uy-^Hfoݯ]晦PyKo^|rLZj ˏTF,Ew.<\CR_?wyJ09?l ՞ (,d)GDY뙂8I^/He**+X Ωn.6AA.Eܐg}Ȉz?O5rd_R ?\HY`(bNY@IL;gFۈ]h?rkj)Ca}[uޏ͇ة+r"c^oAkvL!$v$5K\ vՎT=x@z$MS ]fByZK!c|DzxOvAM 8œeC_$}b.JbqqH2VDĥXʎU_O-3ߴO0!͏ fo"Vx]Y]Α{޺uyˑ[8kbQ8]W VNY_瘞>||~GHQ6[e&Z?bxŝ1U#m^Z5Ϙ΁u_/`F&n@X֑wLO00/ÐEv\e]kZd2ړxSO^B|z6<`U9lL↧WT"PA[/YIͨIE `5/IoPE5;(8j.Q._(@ݷof;3RgIA˞p#S4ɣQ FhY?,hdaоc 1|q_ٔcbcr ⩤4GbBQt'9^0%miYBj:WS]d?ts yxǷʬZZWUaaa෷+8NS0J=@HݾaCOSM^VJ{vv1n6֌־F &A*EbH&H[t\Q Zp7]t69jh^|fP(6z8e$緜S,(w>\z7UuO˫\9-k|^ZáUDKs)Ke|KG W)ԋqHO LHْ edN+b*bk^vZZ_Zλ7U9j5 .n=rG\ h YcbFF+=pI \$KYVm^H˹s} rzTid h8YA*9xգb8 &ǹ,;ZƃOR[Ļ8.ξ+Gўbi;p{`A"QߖĮIv#NZIH w]i;P{dB"}g wYM:rjI5ӪD"v=>_Xʘ0ɂN[{Ggѭ.4V ޯ-*n$ }r(_U(yG hNlcڬbex+MNYg/1lwXR৉ximH9Xad)ei-o }  ׯo-X.ϕr9B!j'/Fyi1d$M' R^mNrȷÔi YǙ^C?~_Up :0rw㈯zSCHQwA[5Di% hm_ :mU!<]oI-qX¹3‚wc;YivvC Y9aGw}q'P8E2=bF-+{y*CnGm\ &<.c P:iqIX3`;C]>"L뀲1[y?]®ya&g ytst񱿂g.MR𮋽TA_ ܽ}eOEa:s`;9ip*S¶u<1ϋ6C"o 1ف˻&ƅۚY64HxEU*8;o-O͘>>ez, eXHV6tzw876ȖN?h2ft] <"INWV;;l$3X/A ]?ELUI߯3{[ЂȘ(X]Ę6cdFC"8#X0PmCpԽ^) Kɵt<[NTjzlx 4?y`kC"KlY yFEBUn`0-Nׇd8UoHsz!QR3J[4EJ]h 䮋!*1$g-/4"Z8m,-LCwvXNԉ "9~xA%L0p@)MZ| J<;ij+(&T:ݶ*&QDNҬ {\סd Q-Ď(x:oe+0 S+n9Å"dٗC\羘350VZ~W5N+ļe\US:e.%GӠ%rW@-Gx})$sRT/HADY^\m1pK_c%'["\|Pm"hsRAwGfmQV3O>&ZII|tolX^[SH$FYhY: 2℞6;Ca#Q\Q`6hƷJОz /ߑwPE ?^NcBQn=+جLaw Yc{TZCu2Wm#4ufaΔA'{OYɷ' PPw럊j MQcC:k(}Sca$(90f*->uQMJڒ2-Mv_]w" }v"M29 ?=A^yz5eBg+҇ GD>LdٚI= '4t S@ (^lH2V9T y|weWUoacLaG+v>eDŽX>3W<դ-snJei룦Š %DIpʴII3Xd%PhER 4&8\Kre9 kK4-AnPSWXɴ.<4yƳj^Y򸷳<گ:ky_NHht"|[uHΜ#[Z}2T5{Ov7]::D'|v;P^sC,ٙo R-.5=oHp,nGHR[8(1#MTM:A6O_%^B<b3~\l8Nc4ة@;MdHF K$ P ǐ;mY&O21*=BV=esv{?}SVG*a"a]ay@:QoH>EPQC.hE^]h4^TzMlnV͎N$^C5<)_UV0Š.A?grYs{,ԋi/'3b=Qd$W!z㙂Hc%fmy 2􃇳8 Z@Qr3YBF$a߬{DP3AoT'~>L# DUur 5|[8<&TՅWh䮪y?S{F>_Rj #KzH2 &%T_kaVJhl{Vy yK!F3Ex(mKH_6r4>ʀxxp_Zp#ez? Qx 35xx~X*t뛝JLnӚrTaЊ4B8,Vl  W5b5g`l_-DZńHa:{RH]D8]Eg 7cVGnDkUnDZVuT Z65UȺmȎLg&>&,cALv>^8@ْ5AtdbAYXK)/wz⳼oQTYv`ydr6%waO* *&R^[ӆ-ׯ?}Y{9OLGGfG7=[Դ If;i ~CaqvOI+;3_ v}[cjYk91jϖ.re=%P\A"Y)ITsǹpU&KBZ*+t58"1hީ?=|nqwe9ss_FVַ"JQ'xVlh-Vc'>` 뢥~K9*n!U+Q-I̍xSiAwq@#I dqQӥ: M[$SĈQ .3~Qa͆YjF"ÊiIi>~ŒpϾ W,vOÂu;׸>굑sNC^Y5qS}#eJ~!̏CQuu7Tnc~kLjݵ_ଡ{$!_jK!{R5#B򛯎界%cwC}oࡌ97dZd>k#^7< &l*PAHOo?Z"UhK`ӳ5vnuaȧ g#dFvxtcEQAo T $>c0R,_+KbSK-\b0Ah*Y%C97A"G鞖&~9LdA@ЖZJ裖 4úz62ǂ0‘-uVK[彅AGR{Gbp`j,N,5phX8·@G"*MgR (3^e FCjtdw;U^]s?k#dcɞ9a[n݅Fg"tACZǑe''OnbfxsS?=I&$+2>V;v/_#Ѳ AJ㦞6- '_7OzRt0kY]n J!1`^Vf tѼHlr.L1 ZP@c?Yd7Wǔr:xmbdXq\g~Q?py]_u[Ei9j\ɝ*^MFag!#!i_z1TNAtz`/+ ]R\Ӈ)Lւg)K<ezbjfXda_įK,9l|]۸DTY%: We  d%=ENʙDE)V.q#gl{/$KTD3s鐾,jr)O0Ò9dIJUxqcl.T%M(kZޞ^ z~Ww'YpTc8Ɇ"= He}"!$G|& 6a`&otE#2/CE鴙g p{۬9:i_T =/-5&b)Ikܵ]oߑ*v ==?uLқzC{ޖjjt׿ڮ/p^"!*ABq;|=h.Q&-$F ZmUiDf5C>52 Ыp6 XU~Vv*4JV(Ю&Y#!KE&Ѹe/&_3Ԅd'3u(mɎt雃+ xOl;9ƶmsc`cllv6v6ɉ{{S=U35TM|C!r]JQ݈D$ Jl`ӵ!fHd3{Pd*[d>%n"n 4mRɚUv 2!6ZC%K*ZxkJX{0 x1.u!,Ux,/mmA,y Ɵh<}v\SUV8pFU Ll(kq $9a*Ad&H6Uc\8 D.?Z;,<'&զ-%`)Eni.NG!1(0̤&ېQav,qsZ%[k/%(!'x/:gGY.+„'M|\eXpYL|+~5W[WݑX"#W\祫Z}`8Svq8Te9{h!Vb~%C"ak}'NMV9,nL*xu(v@gˍ╆ ?l^>Ψ!kxæ puFcN$٢zqv+i^uIn‘y(ݔN_S!we9$3L %7ǘJ1IF-z,n -r,,8E"mo:s^z i+Qh qP)V(_P{w-h5(X.qpp85sW9V@v R.8| v Xb=9Dd@H 6P\;# g2ZFfos05 bC9fJ)D|eK BzHt7źwe"hA(ք4UT*i|0<א*j0Mksen|9[?ۛۜC",dOq@XTD߯4ѽ z8(LUG,2uHǭjEjl/Fuh37bҐZ'qTYq!2Q:* 7;e,FE)!zMgX_~]\\v-]ot)<{@/9nO>*귲D>dQ0:?̨G]]41t]U$E e8 ʂ5 Bu޹޷Sw@@^x:t%`#4.9tQ6`9V]PcHjMȆڜfEs7&2Z{܍l a]ivFHP"#wRXXYDM3QyxѸ)Adv6Sm3asٮ,:7K蛋jaZW?ф QA#Pղ;5XUg 5cmfLJڲ!BwBEYzEQKߗ"T_ 3cb`Pm\s*+ rH"z즧cֱ٘P&Sdrdch)-Ci da(b&;eL2P41ohni׭It 6icrwY#sSgz6E6aɨeXWn44VEstI p߮CyA)a{x)?J$b2(Zp)N5A;.+ 0N]>KLH;X%w)[17v/wxwS}c~G?DK@6L%wc(j$ނdD2DG$t 9׈گQW6ך׀kFw "th*s\K6?~ŲkC ~Pp64u1CDx"rtƹ+/a$(3"C#uӻY(A"%M SsT::9sND[}Cd"ZʖADUlʡFKqtK6(b zfN'], R_d1]u~& |HN[ǩ뼼jnduEd_DOQKIk,mE*Qѫ5nCNgN-ѳo>PtlTV%k/! oֽNocؒ[~,QUlx!fX?W+hqG&R EB,-v> ?0_a$;v@''W{+{kapI& FA= ^Vq<7&6Ӿ~/m2DʅHpz\VjUmJrE":[ Kbtg2}ɹFw}yBF$$#^@ n86<Į]qrVCX@;+ijǚgʗ|#(ׯ#x4QvEr'^oo2!d YbkpHKuם﫤XY(OV~44>= = _~^߶Yl "]i}An)}TqDYOD]7 &zr7pdʷu9[ ! V2wbX640=˕뱖Dhk0"-7~ǮIRt!5j(HD ׈QbCp甧BlU1+se:'D{l~ST\t.ZkS{~mADMkA !6/a[`4.kUrn|`r!1!$1L|Ou)PwJLZt?J,f |'b::0 _gUɴhx2'Ķ, 󶧘Fه1y߻Î.H f%k[?hP^/2O3>oZ)ݻKy~wK"dK *c5$_JEɬ ]?3; "ؗmldBx~" N~ ; D=Gεr!%و5 qvbbE~e]@gf5/rDüar rq)-W,pR!:T<UkkL(O݉ O 5Ysxg3 _m :-~`=R2W\N Azq3tf=yE2TYyb X{J1=ȊKޮa>Wگ_{/o$x!9h>;M^k(5Œ[m54232JfSoAMTefRg#bma(%Cݳ͖s8,խJ  t5b]^UjHa XTߏ噬|3Η|gcu8T!!KQƮ75oI2K{i"RTQQ@Z% hPHVg'79i.Tow'ulb?* {E mGg4$ˇL%.;[gSBώQ%4~5lp(άEA-6R014N&̮@À 쇉jXQמ-㮹ԛ*RWZ* |~yCB͸6ɩ30Tc5y4l_.o'PϤi,Ԉe·|[f~k[+܇E.F S/*'RM^s Z0ЎxŶ&qW☞'Z?jf߾jZ?`Rо>}*rث-؏>"yq@UE>am1ђ(4UlYq;gc闼KJϥf< fhC4a\^#S>~m-NY&tYXm_aBYŽ*rآk=7ztaK?} :NЎ}*#j>)inUe*KivI0ӂݙj&q"W8kݠ}7عoqo( H|,ۘczuMFU׵G! NE}_4$ n"ACi6VJ J34o}ŠfKi < ̈-WYh<h>Xi;kbW>R7}X!v20V̨I̒@iLb Av"e$ yNےNug՜$> Xߖ;¨FZ1T23IA+AjQƷq7!VῈ F@(Ihy._:ioK0vk1P{ A!Dѥ}W: ;P >>ҁr 4{)98]]Xw99D=|;=t}קaS Zs^QXY?#wi?4Ʊ8җ#ycZaAxr^e(כsw3$0;ɌzfUa_XzriQ`fb{}Ro]Yjzs~6o洆8I3%1D#hjd 7Bx߫$̓F)~D1D )wO\{uDNc qlZ@:{#h>tz>J1m1Mo9Os1N؏#p[J/S2DxWMnq Q午P]:CZD6$F[6VZ =EpBei-hWuVj0ARPr҃*\ f2 !$us~oCKOWw՝5$J!.Wٯ.GU ,tVN)(P3bDG$I;6vq\ Jo>oL5OG ^9;YߏFa$0B"pzR‹5?9/gS?Hٽ,(pId^h[Fٰ&QZyALt3!ff7 L/=Z177qiA6A1є]ʚJXų`r&SDp-b8Ȍ o{}Zo։@D 6uJɰPSa-gZxfq10Qqe}wCَhKeǚ-Fn[Ct]ClC/Qֳa=n|S<"iԱl`{t{O럦/=W5pr`Cޕ$emQPwlU^7͖ZɡǮ-vGM6m_ܿg6ro2li9 p_|'H&ChPG6a+h{:IXߌk ,]Q )+JRbǠl]r{aȷ/G(O =dFె')Q=oXvm9r}7;ޕS[F~!ϠQ68nrl;`z%;97yY V_^^8p*ed)qMV"&-j2Zw(IuJ+PGSjǯf03t(d_NO:oF`)lw?cú:4ڸ9YG({G־~Ε+5)%:KxZRӂ7-1kh>S8qH &Z)nS*LĘ`VKg ;#A| U@Bv% 8Y6>iLUm Ɵ:(^+ ̒@'r|^776tTĵ8=-Vf"QN1~>{D dWO,h۷/6FSء(0АSR TYMHђ_uM-y9* )' UZ Ȗ uϬϴAqLѻ^`<>彝\?WdYttKӚ[}Cnη5U&b^ v{~ gAJM\RL&ē7UGJ"mh4g6/p@ːcnP4\5AB8⺚쨐t1L B5=̼>Р']#@,=П9c,WПIztdͽFYtNuפQ/3:S>uRxgYW47luth%Q;|z?0P?NR'Q/?P&KV3O2bطЂ  )KdAlqcof2 :o}$/}[>OF>R0RR0)vMSVa438}#rd/m_t}~u"*?4ȱ2%ǝlԫ';6G˨ *$_UH(` @D0`33pl? 9Bwu/r+:!Cffh[ZY&?ZW2(A„ frl홏Ŗ3izl* E {L7ve%&hdv9'(,m<4r#d3dD(ȀNzfE-Z3 hWQ~_͕*+1>o~.ݫ2˻ؿ'goD3JKx}&kqåɾ- a)M&Aܜ| RG7⑆wQaG ,[.!V/T+Dl:qS21 ;!֝N.Y13X4Tx@|X`QD6OIC|ΎBQI)lFˌsy7fMwUt!N^o7n!\E"p \Ȏay)[ Ū'G]S,r/B\L7rwY{5b]zGe S#Bf"_.EΊ=qTqR9{DږX#+ -JԔ5"X ŞhT4{#NY݃~y-hAOm<+JޕTS( JJDJQl;n%iX2W;xI~5cֺP&r .Y9Zm<-VqLs? hND vN3~q*I (CڧҙM&;yW]\2oL 4jh4D"zXْWaPŖD 4 -Á@ƠDr@1leYt(R9#D< {<EuWk%}|Ө:LBh9joz?82^+@ɑ7a`RfzS{. GMdKmGCdAFntaCh#Iw<`6 mt!a*̬XgGmo0Ѥ#XL\ Y¤*f@@gh`_>\eWka?9CZkge<sKID8ޓUkrs740p1eѡa;]{ªK~ͤʗ.rq$17m*\ 28mοh岵 MxDt[W(++ɥBmy1qƣ%u`:=ƛ͇vX9%'mWNSa" gAqs`eZ[@< E\וW`Yѡ#m׾IIyφLۆyjľjprᣬקM? $~l{l,v IڞWCd<=O3u.:YPqLB̆\QuU?"ۊA9`ДfL6rrI^]kaEZ ^Lۆ($S 7}/|~ oI?*cX^h|.ay:}*߳?X˚;ZalսVAI:Y9U\w94TT8N9[}uM;uA1ÓOaǎ:X-L$U]םꮔCF+ûK'$d{\|\4i_ˠUHHNTvs?rPvoⷱfH$13`P!,w|t96偵3D覒BV2NJ_ {Ro[Kr `8a"v/J^ffMgÿ2#7;VO\)qs%˞_Q_TK=N*9:3xރt wjJtF_~t 7*AH#% A)|x*  ģ]Iݨsļ~{Y{a {= "TBB4~PeG<=CCAW-b{|"˺A[[PӂTdd\览56P/4Ayz)77UzŃP/ޕtufV].%Q'VsSQvFRxq9UO(P5>ݳ+~Xiuy~ N'{ֺ{+qGڞ_ն7?=RwGmaRV zةBkJMX:nӃ+g s~Wb }Ϡ|1k ߑQT*U^w.֞]),\~MSTV~ϳTr4HDxJrD*6 20-me @X%ݫ+ǐ߻:}:yR:z6> F]H[wC]`]i¡]{y iQN FJ`h C@b}͉٤|yEGn#`0P@yrj܃RE']l+\^ #r^C+‚w¡72\ЭrO)~}'nBWGg[h `>bC ]B}SvrU0&9}v)۳<{r~16o "s Pgt ( >9ڗbnj`P[:!AVYA'3Qtv(6j+1ISgeA Z˱́p :J1iV0U7Kݝ[wK9"Dpttk }9=IowOf'51{ J>Mi>u/mH,29WАMcm=k4IҘ]7׼ΪY7fSȱ1d?Sa6p囄DrX>EY2@ݪΗsukjҕkZ\Ql wQ @BL |U ÉxrzZ5z÷yHEL\d$;SB{)+Mi(ߙfpW6@9֩dC'QY*3uV)wu~کXy*w8,#MhB=q+;.hKKuhH$*~-c}Rezq~jUGsWcV_cRΥQ=w67n=6g!5{C$y?^}A3\_\ }mkњ=Z||,?|v`tn|pjskOyZ1oNH.\>?5[녟}:na~6-Ih+&X(ܨiﯭ-0]2j T]MG$n7#rQt/kzȷf*^BȂ1DOm L&1= 3ir g11)4*GiAgBS2݌ @X (*a~EP |r'PIrRx}h @)mP@{@p<ΓhK!!fv?L pudŀ $ҁ~P@HI͔[^$POf<.S >m>ʡ4!!;&VXҏ w̐|vgǞd|5/DPPb0%W zdUͺ>W䋊'pu5X ojwW"-z[1SRӈԒbCg:C$c&f,ͷxњemBߩB&dλM/3x6s/ٟ_ovUv\.5|mi7V~+tg~3$pN߾,abAPWLc8ԶAah_3)e?Xl*TN*Ή8g1|"HbOw/NQA8#zょ}c|ۂ݁NCx!E$̷P8^$Vx,q̟1>+6'.!$Ms+>s%^f|R&e<_/9mb^|N>ɋE.g.OFCDsY8DUW?UpF4!?KhZy>SuՉt `&T ^,z$(ٔɜ*a$,Qm4M,IC,)oP&?9!Gɽj 8@*Bny̷un^?e|M !^/EğD#^%,+aռ6-.ƴ @A&YʼwLGܭǢ/_"gXZ4ݮi'At7u}\%h\mWY&*DB'kNAp .k_q&K I\z&F%yy<]`t`H&ffsbNVnѭ.]z6Qp\?xk4?mcHV,]Z6B=p4ɩ٩nnz[Jf`m l=M ¼#0zgQJ0sx)HGRgu)nbA7@ӬY-1xQ@ma^#rb;k|Ah ͪ:TB |K;~[otù^tZ-ew$5?~nm><8`ae{HУUG>*ًms,Qkluq˹K]qMdz 9hb y*?v3@Ch-b#C}_7Id91i%NP-2 B=u4g0 3fdiJā$Wͳsv~u|"1)r1 x\4 @_Yd9 nf)M@俰hlPal"0 !0RĴ`@:g&fE&D[Msݐq`:sğsb"A.X(0l0C,$ԀVV %ĩ I"H{{ݪ P%~7VVȘ#2Ac&cO͓!8SXqc塑{t 9>k}+cfC=q0<BU뮐ߣkxpn~_*$>:q[`R?gnt\ %`OxzVHev"92T% [nKV8:5V-iV_BV6 $ύEOyEo%]T]n^Rc]UѱUū&] aٿbmnkWoqA_auaQ}EI!}hrXZz?GajTUo ˵cۖ #|N7vV;fEeRtL8+46Qj^=zwSBfђGE^x+5J)8+ ^|b^' :J@]1G( B,ͽ`'\FQ JFe3ܳb=n`Cula@JR- |LHMhՆ ʂ;bguӴ~!~Gwc_^8ȏ0j B4";V::e 9 L(h#'`u8Xol$@/>w2oT8*bH^DHW%ϭjb;R"^ds pLyUsШ9ѩmHͥ_|O#:6E= -PHLqgQ葹M4qBonJV6ҡ7Z:7,{׭]k=9>Riyw+NOBv_Vf]R(d͢-68p¦VMWmUW{1OꞮ5t{E۽.`ULxUTQ-b**`ߩJ٧&7H" K[ؿUs237[(6^qa6a@ IiN.Q#ID32Gchx{ςk^ ڈ$ٸA֊9R{K @eY:b_#*ԯpM+h`''Z}Bh d٩:?+r3A\C8ba,k׊vŸ=uA$¯OzX ofeƳ2<;32M5<03kX^ѱj4SDz(Yg]̠P"YY.-juK; QԨ& >Qj y #b+i2dAeqLNR1+sƷP4x;!tV4Uv&l=g33Ζ<9`,4` @?/sjmͶ?w˶skث?Yu&RMwܵCRnB+OʪPAڂݚ'|XN׷'7Xc6::})aʺjk6T -vYubVJ|}{< y.8;p]U,33PkWRϲ{!4-n⭱\.*;zVOSަK+}"3ǘJȴ/.\+kjl5.YNB~`X[NO,nDFn@Z 詪^Α%VKie(Qm"ո/$)%"9^0"Kbv"o2RkNirNCVN4sƷ^e5$"05wV;:*6'KGTUxf)zZLOfi 7C`t/ZˤlsDc YKR]kz&n2;{gP8Q/tX(ͫB;zHh"ZC*0"q2lca G!KPF:9W\l];?)V's8Y'saY-EHH@"e"hB71YA_IA7̱`zAyvUpStv9h;{CBo8H Bðx1sKO;G"3w,,&GSuU^4%eջ= v~8NL%,YX[1s.DZ/i݆*.hr% |bFƐxeѲj'g3pi=lqTuЙ9-UwE7K$FDTBye":{@ā2r 8Y 28YA1D`s8Nu'ɤ4 7l,)`< hF_&g~ʨ^̀ UẶ_3~+'tJDmB\!6fC+x,iYnPu܀ْmc:&(tJr7/|Ȯ/ĸ{g: ߛͩ?z[N6VL Q؋G=˟ ’U!t9W]^ y?Y LdS?veWg%f'ʖ *>|K21A3#ӂPuu1)OH?+Hz=Cp@!9(YUÁE܇rtGGĹjB'FrS3WuVUx"U.î ֈ2+$lfNʋ잻󵳒nyïOm\Uwa5]C0JdM~%ÿ3aYy1di#4[%=zwt/8f#b9 s̬v9N TK|Ρ&'woɃAO4A`KV,?7xKe@ʠ00Z*smQsC|9亸IRtde }*}:vN˿dѨV_ȿ;ȱLLV?t\L- T,ơ.$\;3Z@TL"NW{(K` *zD:AD26?j\eG37VX3 5#YoTzaoXLzC U-*˩cn"*_J9ͫrҵZ|& Q|9lmpemڳ2W!FMu//CS 'TstWOG.;dfӅ|7bb˹ra(5*ݱndrPbSd>"Ԯ-m}_k nS׿7&,ku+m_W*-rmu,&nXs AXO;{Ymܡ{z.VS=;NxCk>ZZ%nHc  b{%6LVBJ 72XXIqmqr"ߴ>Wܜ\Nk$׈'_]y}%[ݱCVV챁3%Z!pcAE@B5L`APnA[#M@Qȶ:G `ynL8[xsuA) -0"Gri_&j' OxD+"{'ٝo2Ù3LTaGm.cL3 Eٝ@yK*B.F; :9^'*880 lY D9aaVˬMGvM:m5*WDa&.T9xA{pf|"y%9[H䴻6=4AEf YUQ!,g"G#Ǽ=$Nfd6ݲucu$-`}8RyT mh9X "DʫB%9`6 i9ԸRuݗ.g>oju7/ |cݵԉx7g] jUcFzT6hekӝ=3[9 oP3>w[Z;Nhv~[z/{'2縫ŝޭ-г_ 'v /拤?W"DI" &R/Q  s 1#рH0m># DEr'34]l3(,:W kGASPGn-=o=)LvW5uVՆ,o.Ɠ~ɸHX'X2FcyΜeMp̳b*!2Mΰ*8|^(Z$:*؍#< A'1R^Yr6)~#> PJ9ɓ44G\K"|aas Rm]H0;Eᩄ9΋<(JPGBC6[7H \W@F6 Yd,(JgCa= GlrqϲPM~g +z zk|LD^K>Em[o^xgνuK ]E]*3uO!noxseDQ>+ds9]Mg3[6ASSWo<(jJȲ`k'O|r+xFba5[ƔWWhnpTpE{ nΫ?+]}]7T wfĹ7Cg )Sק_)H_U|'K)=^x{b'O`T.Ʉ&c34ywH~*ݥ5iw;r6휸' ).S;UV[ul*UW=p|/V}~Izr4E5p:\N5yNs1 p*'1NCF0L@P#F?q@kѺјo{#o$]sgJ̚egG3Qxk^\)jЭ,ȴ|(ջ.fäCx|MQx-Om-kٔhNxݞiߪjYnٸ;mOj⮉#bMOgZFJWщ†T{x21OjKnTulB[ᇝ}w@\ᚥW< wmQ^~uI~U<딋(9U1-@&Fq( 8 "ω&S܈[ eR}dacPqnv#QtؒXvDH$qrKزFkRȍ6WAK3DXYg-cn}ec!;T9IZTu!lQD2d\*@8_X̒ej9C4[4!@j!f dGCB&$χ"$! # a#5b&q7=LHHi< IDAT 0 4[S_E@h$Xv>7U$<)<ץӽT\ɤ];#ru}W5*28.#%au5F(z4f#D jl5@f{3'jG2 Hhs@ ?`8s@Q"NHH[iQp]3vJQQocJxG?ݲM0꺿;>WNZdWIQ1 t,X_Z! -[BZ |kkƮ}53IW=Ɵc\4|G6$'+=$DPXruUNΌͥ:ɞ:YtEӓJM|f\y7^ յ\E=5Xq=)umw>BA]{2U8z˺ ,-mIY/}l:Q0Z2ɼڲ w XJ@XH!@jrHZ!4ٯ0 5YP( |WCZ)TXӉG#=wߛn$&n[3{o웗Ӝl@l(ﺏq||~`a&.F#4^0cŇ6 MOy}40Y*&cw(u< E,? JX E<:O~k3;޲y+6)j'I3 gFŵ# )Fˆt q $M䗴nZ%5%LO/C++ψE?osZbwVg ^QP T~D&4"lԹ",3 lDeZ'@PpW*'{}I7__\vY(C;I2M,jǵ<;s'zdz[oɓ׾{L϶S7L' mSkm} Gf=7ڥ_Ɇ Ƙs-// 9<޳ne!gǖ, 7LV⚓Z.kNez%i* +L]QYEx37mMu7 LǎS%iXfD%RE5DVKL.wCXʫܣ>(;ٶfɉϷn$/*ݑdu$-̢2>y<6'CkyBʾU<].c\*h$ L<.Ar}on\QIfBQc%zP=U "#]oe* k1B!2h[V`&q36c.gǣ '(˃,,扏E_3gz]!=뽕\-x"$z%lfemer4@a9`yˮ mA)d6ϖ~[yOndg"Tz4NNo\N`X6; f1 ښerx'>"3Þ5Ա-~S2DB-yobnf୑:r^-om@rc|̾Dj9 %`oΛm:p+Ur37,-hE#[DEuF^[صOemDyܻGػW<{;0U7U@1-O* r"/CQ$(=sSI4@Ilv3:tyiIn~qCZC"C3ԶA.>/~"z"Kk;7e_Ҋ>ާ7vGG{yY궠QɶR侀@<(_$xs#sX`+voȏ$A*E#!zcLF $  9x0 6_ߞݺi-l_X{kϹl&X7:Rig*dg*ԅOdsOyu7{tNxM'olb2f%񡧎Uֻ6/h`pm'1dէ^=ۼUL`O}4p1y8Aeغ>6v<ٵ(C5AK+\.#XH@ĉ".>H *+d5C;TvlU+ۃ2qoDKiDug_d ;TU5 A%KSwÎGܘP ڐIψ:72g!nJ:a`)x"j8*f [7;H;/+9(=";+b%aY:?jpHxa%7 ˪JTzGp"+JW_.Y BZd>TpGk  &Y@'rn>S9˚feX^/N<\L(֖X:q#ɞF鞈1&Ͽ0؎_a?Y}f\Ȫ^??1o#~Ujc4]ro 9]m 9j0^-JD]BGX,0>^Б\VD$ \ոE5yH%+r om sR22WxU%CEÒ*19BeKzp@mZwWޚK|5WHgI&rV u %. x`h\ƕz..]~uB^pxX)IBvTi {C "pM. rʬR!#a26 vz\>QT)v_$( ;^ DCk%LIͨQKfZ&rtt*7*ļ,@fȡ*e)3J ʱH,Dzbx89ɹlo/wu, -n m͕~ 6Ѩ,$#82o)YWlW۴l: t(Ch![(Xm? GBٗ:AΒ':6)F7Fq ?wu_rJA8WJ4,EE-*Ą\:KQ$FF#bi2ŹKd.Pe0TݢD҈4 %A@$D& xdgJU75?y&_GDo-" %(5$+-1J:+hTKBP >OK +] eR$[J6jT[yK>uC%?ml}#ǩt2GҬ%V[Ik%q?K0>yBBȍkb8;&2HL xPxQ%Γ߅eNmbOMohgjj?)#Vl2+ dI-U+aÓN*F8Ojk^ư_Sh>'SP*"n,}/$({KtS _tM+;V+w\Ggen MQi"YP@>4y\ZҮ,\%a ']P+R FD%K$SU1ЈJZ,̜S46Wjinpe"Xn ,DzTV>,1q zB32fME'ȁF=lӷ^\.9|kw~Otyj=,[;>&Hcn ֱX]s_#C]ڞW>ʱ8?hi [1Yc.SCtKX0,-uG[B@2yDj= $8caIeq`p0)rY*8']n=IHMDi$!j*> 4+*lAHP,KJ "idO%ZHq-&ٛ! d%s2r=v*V8Q{(vpq~J] ²r=f|'o;+Owb_O׬*>~?>O.{apv,[*Lδ-ZTeT),ҥ/B\U2NJE \ CBx*=7tDŔP~7+\^^Y?O|.H gfW@/f'j|c%WF S<_=6L~.>ғj?[C2>|g߶kW'cjz\3?gټfݵ͍^9[Wlu;O~p4O.Jk -d 0גk, yE I%էĹ}mB|\x9BDnшrj@bn *h w15pV=͛Uɘ*DY2OZc@ƍ(\ tqQ0'eJ<_U) tsȔT>*șbA|[~v C1ªZ!wQA F`` ̟Z.U6jΉ]%5y/7ŷЩ 6ՄI=j)}ڕeNM 53U@ Bԃummpye"HE4 D&{uUk}b媮Y9ٖdIlpdL 03CqH30ɶ$#YRKS|~S-7{9?]\>kײ)垐(%Bl);8H2X ch@94iDW`6u%Up𮳺몊8 B rJ@T L9И,\(b]/D9Nu?>뮾Oq2L2byd'3J˟팍|2_1k4JM@s,vkK̓J)<0(Y# =Fnۺg8TV%NXJħ@H^9mE[%&'=(Wo]|l'3 -hxT$gEAr}t6KyD G; .>>;=~׮[;9zrPw=%گ|܍_ɯ~ǖ,[d믿>+wmCKPP@=IRgt3D1nr LBΞ_D"_P"zu 6Wzxe(TfQue~C^ojrRW#t뫱mWסApp,$[`uTPZ@)\ֹS[[[MOL856IKX,qjzpp;aW>衖V} FT9pl.Dd@.u>|}]k!к?)Zb~iNy.V\*ꯪ KG~OYY>s_kCX)?r {@˭wt'RsXz<՜r XVz^;K\aW]gD2ǩj;F3"7үh.FnpE2[ex>t$>rzO|fJ?yjwkWB=  IDATRA&W_}Gх X4,K'+̲Nu&~ B lq`awxBn_fp3J&s,{>Ue߇p҈;IV`]v1  @h/penwyZˤ.wmsNpGk[{4&p=^UCL b~:|.K ʸNn}A"Fwh]_m4ݑxnPn Go5*FjމC#3lW#G@8 IBU@`|WhCJ6_(Ni ' T#lG-+B"ټQy,RjuG ;tLcc5BV,[VJa@@KS$H}x?󎼮 Qr \%wvXCf nB/(jؠ&Vmzo.,`Bcv"m8qzq'~+L ,^7o\(ԾgIC&s.iYic}8]AH1#>UJ%fLn %gUtxQX z7o\8T*AhAsa2x=ku;n~)S{zo}ۡhO1{ܒK!ى4!b uJ࣬Ppܔ(+7'َ+ݽH)k:+KM;_Xyٚuu9IRd'mMD,,}erO$zc=D>rz5 IFIL<`*`Ypw1r{OWZL-oao|RG\2Op1en֕dsZ;VYZu+)%7^J}N) /&m{eFm %˯*R!U H!伒/]uֺneOv,ymB)MP Xe*xTip BGV̀K2jDwp 7ˁZBsr6#)0s˘ )EP?;uc>wź^n^]0ic(C*>%%Po8NzGڝOSG=ݥIT@@nZ.),Ү<6v@<ؘB: rn, & qPګ[ˡnb+# ФO{N@"!}o-x 2Cl"% ABDU LUytU'9cݣH % "Bcq2IٴE@rNc[D<%a%-(XaH$dW\Q@ȔA*#rBQ GL'P bP_x'eNgG(SW 4K[&U "}…Vjuu>FQumU{>sZ/bP8"_d z/=9vsE>KS]mk"Ɩm\j噗2stɣS ˆ2߉+}'ENL 3~?L9/)M,E[B?/f /'>A\zŸ~W/w,tQ(葢!E؂ 0`" hǒҀ̈emQ=ޖMWccҖ~'=ͽK.ZWV"ҍj['5д9qӑvn}mqeZ K4y*׳ QPM]G/=+Vtzg$=a^OxgXחE#L:]-Tp*"rBբѕ]jEhfKXϓI}EµʘT=E mS@ơ(E@F2B/~uw8vS`\ }3Cgl*k~$e+t{qOf/5;931ң kS59E Px!yVF@8[ G:|ն;xg^!Ե|!}^.3YK_\xv$DuOAX$Y҉5!I">e -K0" 6fK%ee۶ØLarD8%XL0-ۡ9GB) P8;@ %$PdMCMeITpdl&;- A0Ucͺئ%  tUUYYWHSE&'~׭1^xN" b<&|k-V۫YN`CJ} IRR|I|^&4ʂBte}WSy_\}˷?{v,!.XgvtPT3UĴnJ$tOLGYlM3go9H|Ύ_ .=D7)pS.>aJ噲iSv,Ys/$uWa{~3m]XH6'<| d(äy2 ~x᝴D = }eyO]cEM;ڷpQno 4IgfَѼ#qy0]Zvhٳ[7k;7PGԐZsfM>x䐊eD"JkPԍJ>Ս8g"U>T(hN1$ɿqwN4 :0yDu~'|C ̛\ x)@#"hQϩN?|<8qbN"=Ȧ ʖhJl(a0`4鲐0m4AD`Я@1_l Vq`@ 9%Ш&p-xE*``"Ib %+)\ FP%L8Ѧ@2]~3}&ַ9|61`TN.&D\7NMGaꡮhT%X#.n.)Ֆl%NBx^s7O'y[7tSϳqi\zfL˝ѝRW"lC!e@,g_mmϦ8e'zƇ{ T_0ʳ9FrS9֥ŭe&7>i}ۏ.^PR__q-ƜMR0(CG)B:5&Ϗz@~ѝwrEb$e~߿1)H)(^4G⓾%Bʏ{Wnv)Zv$YkNϞ:VdqJ;vj6y셲5괴ؽ5Lwz"JT̡攊T<O#T&)FV[LI:: <WI 3KUa>6)̝(zL0Sb(TZ=K\4i&~%^J9Ç_],8'9ėK}!18 Wcx:MQ xMDFYx&勣C/<>6 1^d՛2Lj<7wyL@*\Oq^~="^Y?fNb& ²k_Jz%YWKe 2w6s[$+sm:Q kR`iA`ap;M%IrUpBOEoˉ0K&a`[̶wx DATVJ%I+Ù][Eˆ\>|vS3Wr_G˞=VtOU|Dk>ut7=ݥܟ> _OCt@kpD8z-=lptM^]Ze^'Lirb6 x2G %4>Gx5㿨N %+wmujc"3P y`lL/_1_N}mٳ 5=m;HHa O9'b<%[(c7ݿ[o%J& @vif<$ҭvn{!?־67E6oë6=$9v~yacZ]捏%l)3TVNybdPݖB5yb}턤g F?o*侎PKZ*7гm#IkfLS6Ox)G&hTVǜ )ԾCgZ5Ե患{\Ep}H+ R Sa#T]0Q i5UCqkbuw\aCooQ~Gh>=cu,px_|tIZtõU@;{PY8}"] ٗ+[_MP쀪vG_n9}7(Q-uJjV=7EKi҈F$4Q|>Mj;t\iX Ѫm:u*l񒍨*CkL^L X4C2!Pp88)K XXOz{ Td2f>瀦#ɠfDFgJ <@k/~G>ԟ3嶖7#mW>x uڥy/qt6۠opٙqg p} .]uS:ӗI)˕_ɂD̖̩DlJ(IL@!<*$3 ^ rZ)D)p *\備("TNR @8P6 ۴lD%PUq[`Z6PV@RP pVQ^f0 c|o;_6+$y;-8`q2/&ĥx.]]F5J,j&V6u)jyBh%,+Mh@]0,Gi58Q\`3i,.Z[oW) s,9.zKoY=_ڔ &UΎx=wvk]-j,Jܻ IDATM}mш6mz+Aۀs? >ݕҠ wwu& 澊ʢƃHmX 9]_­P(ȟ}(6\{\;zHʮ\e|YY WU X[׉NԟvT<*蜹 Z5ua- f-m86&,ڭ"l[sGwg;?_@i8 ,eҼv79ޱv`b0}aAێcFJzǠb~OW:}8u6еFvr?60^}f0Z9^}{Z]qfz?:RmԞS)3k=̄x[[ \V (Bh J؝1]&Zz(48HXϊb^ncyN^[u~C-jOjpJ F'T(Ē%6w8hNW&ࡐm>T }?\0sT#Q_eE-YKݟKSۧIkf9Sxd9%fK6p!t'=wfzۏ:_h/hwh|:w, 27!z$@ƶU_SՈu 8;G$u\LUY-*P {?KLW=ۖ PIVi4pS4x--xIhpA!BA8o PՒa[ [`ጃ`BpD{,"( 0&kc\$YDd,D $&ȚcMQ^dF$A0MBQPF Dpɴ$h[]OTp4@¸cJR@䄀i2䗿RQv !+ X v6Ll V>jBWkyuH&$]|?t/9D|/~ *[ZБSs[п<"!P(C{رwٙaE״?<%iv f] R+66EBaӣHJ ȸJG/D{ G $K3/o癅{`x xE_̴Y(f:{$XsGJtϺM`kD& ĹC'DwHN<38)l8 [tǞ_\.+nҘuL+ɯ2v[L1.ks. )r Em.ҖI"TdŢQkXNFFaG>{4/ WV]D9f&J-Q%aJd Ų!{,Wǿ~fֿOCn^x^Wګqo=1msE _<}t钖q)Hu=k70"-fѫOS>5iu_?6DZq׆caEn(xaJccҙU&Qn Ղζp?T3\}DE+IL?X]r+\ $#Jp؄ zZ::=>(TJ̖/[N&UhsK)t7[#h( PDᒔ'9w8s3PkYR B$tn+c-I,AAZ":H:P.FDaf$ෘ%Q W2U((0FA?!l1B(l[!T(*3L̴˩,޸!ĦtE7K*Q.jf=sP]6o_FuK)xf[FHPسCSً A}jZD@G?Қgf&n,Ik"D:W3߭&ISTxrHe\(Ӗ٘ cz')DcEo5dӗN[&MSڅd:(DvJƃOo._jBpUӯȜ뮷9ߕofGXߛv{IX*'9pbsߖO֜;VUw5ȁ\nV}dr)C6s~Ϲ MMWGmɊ<30}b BhУ(3lAlX|ٺMڍNpՆшg͖`P^:>m:X1Ci$ !`?E Gh5$yr%FH !sVXxBSO]:JkO>b=1UT"^l Z|J@]VN='lvttcV6 f)~k5fRkX"(c{׾_?upF*cޮ\bqL6_I&~[u5Nا^8go*U$էsH2uN^Fue.xr.|6jHZa`<ަVO)ͦ{FGk4m;>Xp}^9&I @&Ho@( ?I7MbYL|t"Ud"Si~U҃aye]/ۜ;"r}^Ed"I`-Q׫eYT$PT<15S(`2%VmCH)DJ!thȦRm0Y@pJ%Ll\pGP*Ȏs%.ۜsJCU9 l@B" ܴ#y$M!&BXr/K~GWF"%dEv,[ؼ{w8Pp)\:u$ :"a>g.mD&މ=o~Ͻm~RnϘ)+.m->EWG/D^xtEs}ZfƘ1…z~&@W`'l5DN!z0R#-A=M7ܘLT?1WS30C*==>ӄBrr)#y86BĚ1b ^0&,UD$:lpŚW_]x٩N==>m(O6ďrՋxn;O˚䒱 7]Ѻp`93Gr<^86u5[nL&'! \5b!y!~FJw/-aP?R'pO(+Lږ͗8Q߳.1x0y\{8,$mJZ=xG&)rv(y``&H2x[ffǠHEѶP )!PdJ ¦L:2ym =M}bd0 >T&®W 5;.VN !Q p up8YeHRyk82y J^y,) MLѽ&K2*kn>vbeIvj/ȡv8=F~N_WKdsT: S= _S@V4*Y',yxSssKGKdXE,LnMyٛ?;܁'_#;g _b+kh4!%tJqڷAQ.Y@IcL:` G'<Y ΎͱTI7qc3ɩ)K 8cB"@3CCl*pPIҐ{)iVTUJJU*&Y䲃T&Ẃ`A 5McE\B$vIT,@Wv`\LʵF7l8"WtJR.[ RY%*I":rq;E)TD y"涞jףeӆ6Y,YpWĒP9,۶&b( g2c7/&uB0]v}~" xGT}RtJmWI&fTg֭[}L:$ klE+'S_xtZSp*PNO S_ #d{uEyj*ruˢ]7c83Oۊeݡp̎s3[HvS3$~th=;M?պ&I̖~>yV;=]۽/S7r'| _(nxzT3t$sjdf:խ=}|3d-_w]qhohZ{Kύ;g4O M6ӹBэ Ķ7cK?>;p1{e k/ް2B)::d5Gybм1ɛ6OƢ#4/湏'H@sBkCT\n:Yd8X vuxJ 2K- ˞+LÙ&xlۯF@Tf/т5Ϝ<8zagѩyR7݉Foc:OjlQ)ȥx($ cU&t6NgR鮶D:Ð|XUr ٿkdH\U̵^OjVDGb~ߋisZDlsViBB>c\Chf'暥MF S_qZ0RP˗gљ\9e ᡑѱ ;514KMWePIiŒe*ɲW!S% *H:Lٕ1WU"^]aيBIdl]QF.QMdIQ$ɲ0.m0ESg[S"T%"lTTE7DBEʖe J5=9LtɧYTL a>pLlQ~ِ~;}JYuec+޳9Z@^߄*~nyǎIK>_į}nmmS-8V1J,AZm-5W=G&WoV龖ȑ;xpD0>f[>uTh-rL<[ׯX̐R0tˣ~|謶Frc֖be >=tvS Ƥ5Vk^v}ƅ^ek/\s;VpQ#7rG{iuP>}N?P Y4+NӁRko'VR +Ս;FN<m] Zӱ;hA6*iۺsӴΜ?ӷ;+մT7ht־ַ7FN|Ș}+'~%%(~MVfuUTveֵml/pE+K,ԆKӶUtP2{`]k$ hm6v(ZH9z(-(4΄qV{Q[uk@ bz򶷮UkR cD׮gJ,9ATjv)Mɠ&6 (AcPjҖY 9x $ \EM|0I ^ kѫ yrU@`SN([K`Uks@ r|.05p\WMx K˰ w $aZ$1,M`%rb 3@u}mH|>ii Lh2ܼ}6ݣò}{?_쿘SMl!J@YXP pXmEi@v9 Q BN(&p#.ϱLQqS"^R9!#뗬w9WxNk+)J/s!BrMYJ<^+C[ EO}0b+:Q>'>sZY|[ZS+Պ @:2ܱ{{2@"ћ^kTxKVՂ3-kҦ(TnXl>L7=Ww5ZKG^lDj^V,[9`㎮hmصVf\~cW-ozd̏L{;/™orW%SsE:" IDATP0< "%Do(H>=򅎭 M9w pHF7-ax /KB<̎ %4_-gn2i?eA 6kzLU[ze6l SM>$PLvtf߹XhQ]FjR^G0Y4,h29$(+?L A@=&8L\C0.>VW:Ks$LWė%@ڿO$.ݛyO\4= >0?~l~!f{[CԦh%!wM1WU׵MQ!Qu݆Yf5]PZ(WXP˶׿V&aZH (kOah~Nd # kfe_#N\!/V6_1G >./_0kahY2.k4yPܹッwdص@w,ɛoؘfs:v,5EdYU>Ac,BL*Am-ic"+ٜŅR)P,P;0\ #leܣGEY"g5,i!$( tS'ʡ5 j&[_]QI`έ^ sm3@a#X i@0`X :3E@8uhͦ90| l6K@xdQ;EJ9E l ۼG0AKY.>"Ze]<_5>49Ĉby 2}-Wّ'pêxMkw\s˅SCg?Ou?Jھ& $lΩQTٸfMƼB1w^liD_uXG&kjWV{Vmuu8Z m뮾38^cM4pw*ح+6 jV ]mZ߲qtkcDZ43n2қd֮'y[F<!ዣG-VpɱW.}|Hk)7pbReCӪ|KdlNnxzf>/NW E1z%Ig`/=2?Ku;տMd U;֧ɦ]e {-*x`sbw.4mZQ.& N@ \BLTHaG'/쮲I,e:V>90Ζ?M90\< 6p0Rk 3I Fz)JQ@OWu#_<́+Ź*IeQ]o{adD kV5'ڮPd c~޳T(FlI#9!\u`[t+C}9` U)$l6@+ˍXWÛUZڞ.Vˤ|G#Tٙd#Kۻdw) 0LJ+ rMJ'|~TnlyB "  eZݬ^*px\ysEջ+MGLoכ- O܈njÛ9תy- ^ct882gaIikhBந D?$J9[?ޗU|%l:ۙ9R~?z2[EFO.kCOwfΏ'Snj-op^(Dh.FriU)B+O{x+kzv Р( ƥ )pUP+OؕRɐG([ Z /zT3LcȗBYAD5"b5 ;)^t&*΍-&ɜ:]W5W7$+9ǶSk6A-khtˮ> U<5r$mtvq ùGDž0)+uoQ8 sc ǥ½"\yT'@}zVKUc @ }pp xQױ8f*\xÖ7yq&&pە>B&b[;  Em9q匚,a|{>Zrz~$`5M24mR.%CAh(] &**`l:8Lsٴ ⒬sdQ8瞞IupQ0n-j$Rhؓ3sNvQ[l*"$ N;ͦ$q!rFmk0ȁе"4Sv,Wo3A^*gDt4uzr@UYqBd/jN(q9pY$NZ@E_*M0a32B<_X^x4CeFP\|'>CkTuJe/CVPɧM%㿭/|EFB,P 7_'h{qEΕU׶n::}]2ٰ'1m]4fFÓ5:%_kTC3ry{/|XZ ރ.ּXΡgd-Uvx`vugzo~STMmm86|[o|_8 ;{+/oqH_Q69|sО8>w%K+7DFq\~z,j)(?JnKͶ~h ^E XpTW֐h5`lR๣.zc{ךb1B?OǞ 3OV[o ۶͐B-3%?nO'i87dϝRksp5*9ht؜wvO6{X)P7Ė$+V*,KQ?Khh)!U2>RZO]|Ugc"C  f~7ΡCswxL]ɱ&+4B m).F=9wѶ!TL3}1܄]$Q[SƁSXHӈ ';3/}ɯ~M-񽡠 [[ 86hZ*M-A3zy -8Z 8Ɨ K7JxY 'HU2; ~!u2;mw;<|AO9C_LU /Ζ˰ؑ&6^3AA|8:sKSN-lG0@$y~𕻮Y7k:zjәph1IuuWXpKpEUT;;Tts wK}SњTi_aޜJFPhL}Le0wsL!k5X]禧?;k};4/+w} Z4*J(&OUlXߑSzʥcT Õ2fg،兝b6*KqIvE8>FӽO75˧_y[0fL ]=HZ*ukF¼AE1y.s8kf-gepM3\򞷿 ^}s ~`~]s=ݘNS݃Kobp:h3e?޴c'Mq"j2(St'76؂/Ŏ`,w!8U'> = A% c1qIhGGvQs1X>ׂ=[/ž}gW\e)Ce`pZ+rXSiDVvG,,ia#JgFΑɆÃAiՐE 騲{bɑ^MEuQ539wxOac̷uȷюkidE&h{9+Ga,[/G.SQW10a4- O 2̔wk %&-[qs_Ğ(V#A%H(i.Ʀx90FBGG8L!5 2DXX`$jX0LnXxq%JĩȚ⸮}-;7)sw)ul-p > (۷lnpX`#}`zg&S)I"# eOݦ(e` KDL|Ɋ:E*9B">0ĩ%?I,B@&sB "қCAS>>(Sð_򤎈BrD@ǁ'`U]`et{ /r? "@\wEǫ!*DfOD&vܴyRf .ǝݨMww?yfrʫE-u\/g'F DHb .1-hu4Gi߶Isi]lsL 0}uG6r*970}jCwegG߽tJ# 6922ܻSmcGN<ݗJͲۨltTȜMՀbЫd ^,>*Nyn4ꮳ5L`)7m#junL[;mMUzJL_̦}kfϟ&+Wll\0=F0wu#g>-{PVl虤6~izu[lwZ{Eۮl{uZy:k'=~:]kHb47wH=CO խw}#55v[;23pU7+5cvpɗl]d:*3'o|]k:r.!2;w]q"Ci֜oM5]c9%\FUع+s_ٔjk6hi \%29~6q^/o!MxH5b(jN5]<0k3*nٳY-䏌ͻHj0[ʥ9-=+m85stLN5Rd΁kʣ/lضhD¢(Bp4jM ۨ5J`Zm滦竺SKR$K|K_}e`"K0ԖZK%p*MJ[Tt>LA1ZQQNDIp=R?r{Wl؛ ? ?,}A;tPOUX&օkSe͆G^>:qp&*|{Ϫ/Z?۷ڹGMZzm{zxM[L6OĢ,cZ2M"f흊Ӝ3lx{ņ-R_Zqd*4EYO"<69SYxĥLI }L0JBj\H& U ^\wǟFjpE<ٓvm.Au5VkZם;Cب5kPbkw͖y0hȒHxL.1|K,`GWʖJK> ^kC+C+wrhE߽:S8o[!aAı&woD=pxGx1e=?7wg,j2 ,'Ⱦ咴 ʁ)[zѬ-o*Ba7MU*oͤKn{ᅖ ~R+yȣDY*z'={u1+NP\wM(˶U8:o_˩u "޺$qncܘύ_vM 㳥WsBR?Bwl[ٖȶT%[n!.\3S_`S :ODٜ;?V?p. G#(H6'gBPic/)P$@TIpibL:E5 4?p-XbXB3 G tIEБ_8Rtȣs'Dh=F be;]2q{Aa*sC-d:ԥ ˷u%}mI-ȻLpvDy|]\}olòmE%8-"ucѬtzDPw&yWb/B13@8pEUZլYTAUH*RY\~ 3>O i {\%ƣ0˵E5m{S="o,{2]SEIWc7`S_ ;[8y}[$>Ec23"AVqUVw B{Dyώ|C|gal6GxkuLGrSz啟Č# QN>Ƃ#ڦbsD*s]HI:_'"ZJ\qӖk˝8y|>~|j }G?ǘ'S9V2C91v'J:trꝭug篼mpfd,7\pzhM2gfiaQ?DiVkꖪJfmX+W YIfH'&d-M&ͺΩ}xxۛZFm"PS~Q@WGE|s57kٔa@6X Pvx@Ʈd2!- w]g>kRXp9"}soq3pf7D7\#D;: 8"*c JWD( ܵ\\L׊2®[\*CB1낪dsd"׊JzY?:Et(ڳo! `yfQ{ h5)eew%]in,nw r(pA2wo?}[S}ч>hD`!TAUT)aL}D5IIp̏M\k[%hሖNDCִݦ:0A1@ϩ)`||pD9SϧOa]luu- a0# ̀3p"Ev;䎻nʬۆG{6\ݳjb H]sM5Ep-ñ w<ߣGm<ag^,3L{xn|zn|;1QĀ Ȓbchvrvvr֬չrCK CwxQrN0"ICk֯ߴůP=WHf#")*51x8W:,HvcP;a2=0mt}W%B@ﺿ|߭̕ ;(Zk&S;?i)^xv^JLGB\[ /[xyO8w;yŖ嚁c>=vύkSo硣{|O-6ţ39?+#m=mHk:bR-7nrplx᱓9z^f}d ON4pkzZ1i",’" 5֡FBcD$ME\i^ eMz!}ZͲMDx*QE!^7}0Qe!:\[=Pr/5ݑ|nܨsTn}E&/2Z%`<Ͼ5ŅDU[^oVm' g;zVE`H){̞ػLڊ5 !aTƯ\!6o- }ѹ].=PD*d ϕF" -N$12\?(\R:Gӵ/l=QI=>PRT&+%Pu[քYx,4=KGK%q'ZVB+,m6Lu x8s$tLI Ezw=v}"$ǁcE YVRe" A2g@󀆙`Q}S-MF>GƀAD ;`s G. 0K1a "j-ж& D/:1'\b8$F o{ 8=nUz;69Ta,ڶ/RVh-oj< ԎAݭo-=q55pdw[fjΐ aT7+gČnHtouk>rflM<\) Gu8ۧ (ϟ~;:oVh; '.q%%Z5p'HUtQbPYRFoݙ NLz.m7;FbN̟U'3<{ɬٌφ?L͗FOTa_mݾc%+#Pep)oX<<*\wXXÞGg"ΡfRnB*v|#W+?q}og\P  8{sSg5eSw|v1*098f Y0:ɐ=6K]H(pI]X(/,?33=656_MSDaPv]L(Fox[W˴"2eiw]XKWFkYg ^P_!h,- 9zO߽Z8}Я>s̪!'OO _ԏ?ok4>?So7n~CO`u}+E.=ew6~$wzٱy0KIOfd˾6Y^˵SN'_Qe;ix+< ;?Skzɗ}W xwN: y3qסYyh#֒:bVfv do8-Ú9;˴!(;zǪsR];IQ5g&f2i*DG@s yʘ 3+Ve+JyZ:r2G?Lէhq'LM~g+m^Φo;_1Z&dz+o8h@ՇzƑH uH:Ae6F2a6n?xWJOlXG9<ӣP[O7ŧ3dy P Ț㋘HBV% C" n=wt6.%a3fv2F71,u}cVybHwz>)U{on5bN9ܾP0=L0aqE,ŒG(o7)6ppW% s܏N.3d|)B-IП%%l?_KHW(Sq Ǐ<_kxQ7M<_o,>5\SY~7nFb +Z9kZc3!J"$4,I}?HдMCZ}#r,! LMv+T2f#PtSQ4e۩Km vA"I # T$ @bW3)'Ss[[hz^(qBQy L \H 9T5O-~Dq!R!* ^;e?eQ E!O #$`|c4[ČHrJT1ƄT"CO0_x:Yl~Ϟ8w]U "y쥓c{g ! #@7>>~,/ň]ajXskhD(m30\2&8Qpq6;RVц [kr1syE᧫qın0MAV{^xS}Вp|bאN'Siwf'Qk _Wn}-?)gBro߾gb7]w߼׼t%HJϼ|68gXyՖ5s2F! '`ؑ7bԄuGi1Wj5ЌէA,kBM&nm=3jh2 DzHRxck}b>7*|S`634bg3\Q"5`xv6 DHT-iZAT98Ss`vb̪'4ƿ><8<18aI#ƉB $BTXFX%* [T j$1& J,LQ@f!c"(fK.풄"B BK۾TӢIH*BU s!D?x{Ӕӕ?gK3_ED nN h.1+ ojW )L~//6@1 JW=q̘Bma ئacoqLS_j[t[^|prIbw^7Xk;}s7欞ԕAgcei)LkkU+7=x--)&Ueⅾd*%گ*랱{g~=s&r뫋c j/s?|kM驛ubJcdy? -O.vuH)f dVO9|A IDATӧuǝv/y/W]EtGߌ8OwѺdv׭…fz)(%`,HɅ0B Ie$8~EjPP6a9<s3K^N2Yb&,eNR@/tg|2]^F#c:Ls~eaN\ G|lU Oa6I5Vªmө鉍ũ=ֆԡLb y?8FJwk'qX{s 㦷$A 7{kQrA^/I NHs2G K2r3V~ YzSʎ>h67^}{{&:SQ45_?ܣG.2cGAiXTF3֫Sqw]QsUG&DRAQ`ER=oب5{^zX̥zvhtqEm$Sتf/MوI6^Ox1I}r/7fA#JxîahVvI}E[젩`i➔MC\ao}́ g?N`"g抹`9}EA .@p/ϩ a@P6 ^>=ZlKW臭z[~#n-_vz;v/m%v=$¦sPt)׼gOwL BFTnfEqX\lb"gd X)%`9 (GawumxyʖO*7 L@nWV J5.RqIǗ ZmERfBĂ擏{h7Ӎ^u=|~7/ MNQc@ =/ "+5fLljNM A5yۖ!,1)0I$3ΙB#7Jsd+M aA_~ IUT8ĸ  .]L*T( mJ"wK88!Ubh\S(0Hb1#u-Y@!$1B ]r݁I2N8`A(gr %M3~0SzS"h&!*&I6D5SB)3& (cPᧈK)'+Ō #DX8Ov}󦷬)أ~KW @09 0`+X$|RSm*x?c qF6R3t0KR.GRU3M,wm?{"Ʀ*pT~SZQ5"M* y 7t,3klخ &wɽbyql!&Jrf:p6^Mۀy_":Қ+[_Ե7ZZ\foa#d"t#]%t=/k0fHSX,7*L]\7}0bgs#[Ga`(j/N2Yd$"S!`B %ǘݳk50a p>%,"8MA In:˶"$BHU$i G (A))jSEMPLs GJ㊪#jr{&+zmss(VjXʥ%XJ&t$\oAA\@Tӹ C@aYםRL(J-337W+I*T!eu]Kc C8$ H8Ob&#TJ+#Uyqm[rpc%1LPI(Fe,$`05jt3$ť_aϏ?YMGDwר3, ylfOl8%S 5ʼnq*P)cIdF{αO]بMN*F6b{Ϸ , ag-]lRh]¬B 嬲ž}כݘ 1muj!ʎڬ'|Mq}{oMgvX?ٌw U?$z.qGm%0UjQY~<)6f[&Y04A[ ia˫}dǜ,Iԭ$[ KXr`2U j;0kku1S4BMK,4*s Ytn0D>vTU'J\of$T(cjL;t{[mb9Ө&wpegT滋t:Lf^[s8 n&aF!vj ;o3kbtcu}' ܘ* 詋M^8۽f96QTٶ箪LMۅSj{hui7"Ju4b9Cwo1ngV[^͕0JgeΜ75b:kNJLdq+KK, fI\OţIr_f𝧎?կ= =G_x!INj_NX,"5ZZ. Y+Q9cݐ {ő7I  ƄuHA0v(D BX(fiN12u;M31LQ1Tռ4fvISrI8嬕nNhZYgmAN䝬ؔ EDQH$| ' dB-;Y_( -Hu-c tܷcH{vvxL7JĠ'&j~1DʎFPPf*R.tdϯ414 8)MЃ؛mt O+7z0S~w#'~;g_:>LW>::uU7V?D?ܓmىyiINe-zJƱЈʹXhհ'y<;=a+(k(Z>sak$EZ& b\.%BQUpGAsyy^?G+4jqf*gt"65(u*+q,|9p+X BIyW||[G@D񇿺L.t{7O=_Lafvz^:FNm~3 |ŘNm2c*"ZN0- EQ5-Mym` 1 D bODl8qĤ tm;&\`| 1F!B T Td>Pd%TՄR!'ҡxf2'V%/(WRjkӻW7VjQ&qJ)V( X zƌ p TRF1ÈΤFq$8X !ɣxISz31^"p{7 D H&B("cࠨm뚪C 6sv"S0T-RAT{R˫ 8K/[n]_)3TF21 $٦T7P$,I83lEqh`&fɕv`Py?j;HCYߗ D(z0BzPN/le\>~IjPl,}{榯s qNTzODH>^x[fm'cJTTƊ#qGAǬްDmlu< 8fLp,$K]JJ [aI!D1fUU'L IDJ1!)DF4OOXfTUbq! HE#D5:[=>C5[BY)`5NL!a`,9( A#.Vg)Q(YT$ # LL d)ʘFRy\Q%w0(MA$9`)oy1M-nDUCĠmF>_$1"9AK(0dA8EHI1IwsjG8I7n\sbF"׼5ꣿ;>(_Ïz{/ cS ݅` _w?/$ >V.B6L va SQH)A65GHQD$<Б;o?G/N*v-mL> z RX"t^L4EAD)\4@\"X*g~T lc}T0%ouҺfk?ܧϜ]>aZP հi$eLfTͩ8#3VR IDAT3G]rԈX_٤K77?g8uel2\mԲ(OIbP@ع\/54%řW1|Kj<hc3z-~W;8c})WV<7nj3lf,^aS^(rq$n9GKjhfRvvԤѨ/4-D65d2=ƖoXM'w5H&yb9l?ZXOQgwWqpʅm Y\lviŗYzP[,tu vbzv[,/fu67_/ISġ]7s^xown/?{p+/<۫yDO&*(KƊn0D)3LH`vDr*k`t U֓aDHڠsNu !& ^-8czi{+GWO.u7lC#Vg(_D4S2wÄ9PoAHI.)[|yo'Rr|ڗo翊18qăKՙ {oyGIJ'/߽|S|5@5 7h7GľoW$@1(p+MHIB @ U[9"Dؕ# Eldru;f $Bh`eXpC7`] .TswRIDCya:z$AZμs4|+7f$);,apd:dmk*@r g Y'&)2m AĴm 0F^[]% q'ߧxFV>H6n[J"e 7a dG|p}?C;8߷dgq5I?t DI4C_G``00L RkLFpzE˿B>.hp]GiǺ.% ^\_˙ª]ݺ$cىTQ-.$B-mg|w}_tfՆZ{u=f#Dm+t9e;u@cmoga/;6lbp5u ~aJibBm:z$nPKHYn#}7 QuZk$^_l46t jޙJ14|WVU m\y|g1;m+ڝbىmQ͕D[87cK|1VtzFw4ꚓ12f> Fղn4L~/R??[d66*N+k}~q34`RG(%G9NTmde9Nu^Ya|5҈Zg?T?W?x+KKkן]<݇JUauCH)yM(DT]՜`лzߵ[-7 =9+:vVSUS*AtVEq4RH8% x,9 M@>_;e T4j*5)|.x\&cN& qnH'W~goG9H৲I[A*A $!G^_,\z2?İDO-rw݈"yjz盏}幧{ϝu~z?s)}.cLD0KxT R-K34{JeIvJ`0A@HRr+Jt}?Jo5A/6ۣie]36YcϿDN?X5,T;s4[?> ˋi2Ĉ:r6PPl0U+LWI=}z=,eou}o]{No)vce]2%!٥%\3#?PR(} c20DOQ(ݎa*wϴ7]8CMQ h,VX4o";b(iT;[KzaX/2,++n@A FP/ӓ'ϗju.@pD^h~h;g6;͂UՈ@_!v̍i3>r"kX-o{1sTWplQxFfy @NU>O(ov'ֱ|FqvN1+a6/:wxWrv#'_LLeo>u۵N<G<VP\j؅Նu(`JeIrkz7=|YX\5H$Z1rtE (KR`S6)"ٞtd"-hO,FMԱ"1cRY_wHED^(>:%X y^R^+}cj,n}ˋ#~ʱW:g{_ugbm223k|J*$JB>H4L@Gh iĴ  P[׻s7ۛ3s #:{7c?lV}Nyk:|eqh9_)JsE:YFD1& h8oH׊JtKuIJezaIe  * !JqD"H$%pH)A @ 8K 8YQ(J0 ##r8Gy{K:Zl4gq7޹q5la !;㚦c92Ew4'+xy=\ c{ %!K%y$BP0($~ƅM|?JBc 4GebB *$9W{0F$`!1Q0nnA#ΞU~'"2g(rΟ{^:_g5LP'eqZ2UT@!)ظɶMIӘLr%\JR ȲY0S5UrNL,Uv=Z4OpǩWV EV:z"@#;]PgK[j&.$Jjo7vFbQ.H).A<>_>5azՕVi ֶ=Q3ȹy:}t`nx ˬ./ܸj֣wn",lkño ;$46PɝGZK_[s#R4Ds[ yx߿e)>OO`9t~7gc>TʘاZ$JYN҆ c&q,`gy=,̝ID`SoWѭgd9f*|AL3 !@aʩeG$#/P*G6TST]Sսݎif"X-{lU1.x+%b])R |,|;,,wnozxoQO>׽mQo}6&97BwX~CkU_Z]%+} ȾߧئO<^*>3WGܑ{^$~w>rБ& DG>kK'g@x&)BB8H4I%tc?=+lE)XG.S ,HZ'r~@ jTr[\i4{jӘWnlηYQG3( ?vv:KUٞ{4>ykZGNfS.MԼ=鬶n,4:1;[!%[-aq{~!`b{o"5k[jn{0&,N8 Rgueм4rY6)a3o+b󊓷P%{Au$v0 @GVVs.9G5Jr+7m-趴\RV>H4HR13>7w^?D{n2z/ǬDɷ=j.\zsPW*#G-e"w+*fFK0*BM\9U)'9@ϮV_(<s,v~0sx#W_+妑; KS<\/4i|N#nb^+TIҘfRwx8A MvvE;9lVo+JL҉2ݛ!:Xyhn{‰&P8TpC'o竏>sױJIg1$󷟰OzgQ冝%0pMsJTn f<~5v]$nX+xH,={J߼.QxXLU0(BTN/_谒F:UjYnĩoUEH9zK`n0V)9|niVh{(Lh I^v\Xl7sAO$9񢆑F2TȔ$wF!^\&$@ ku~+˯[mݑ$+ߢ ߧ).|n}}hsRl?>AGY6Xj! b>?ߏN @Jba99[$eZH$Q(_o=(׮X)McZ i?7~_n¡XOF"_|3aj 2A̓\,wdBȉQN͆"KhYxĒKY~λ3d{oV+CYiLA +zml2̢Bw鸵l+uLiJS}%OƑ"x, FrKq ,{a`J{hUkEQ!U&*R则_ $/ً$F ymEӌj$ p>q٤~ꊆ1|)  \*%V0aIBBc7i7jR퍀 sIWV(;TE #=`[>Y!=P7rb{LbosodK<LY*:[z~ȀrVo|+:^Dgqٹjo|u:ԫ9EusnTؿ vGu]dzTh (*zΩ:{C 2 D&B,)Ig)/:ȊI-\Y.+|Q~wH%826+P%+#&$<q)d" B{-ܽ\;|.j-=3ފ??n. ciXIʥYQ0 "CG46:~o莇h84O{q@AJƄ)Y)9DbP,M ܤkK1BJD HFRAAFRyStcDXvcyÚ'}ÌǏtBDtsZ5-Z<ۚAxȔ!1łR9PUJW}1'!%R&x?$dY D"Ȧhm[M\`MնW{"1FKIRjH؎UU4J)cXcБ[*cR (H q J1&HL0R2'/]Kjw%]8v.\EMopz=y?4Os !PuTžfuGN/m^E]wE)FRd1N~'.Օxz=)`zUwk~1=Wg0x$wC4"JƋ;k㗮{N>9<3W>\YFة6vz 5* d8L4MHƓh*A_xj%tED9[ҹ;-Bt}R;qV +t ÈgT x{쮨s )h̰(] }y˅{gI$aU^b;f/#/^GWJ2$t^.ްY*j #RH’f~\7hZX]벹ClFy>z)3i1RӨU Wo4sR+w- -k7^sT%1y!{^{ 91v /?pSJd]3xgοXUͯ^>o.8/n{k?o> HIfJP.`"&D7 j?UDRr?c525lX8$Mׂ @Ę ]PX(%Af˒\OdH<h3C$[ lvs쇌ݏ<ߛ}9&ܾP-`HOSnFtp0[c1lRb1IST9 B3/-39@ )wC؊R`< Xd h7gg<ͻO7j-?| RLRX9Z[~Xu3.NYj|Ο{^ޏ- ccVrdQE~CgDFK'O̒FY"p83AF-TW"Clr*0K N.c]B^x2o?>ڮfÿ:rE$.UL U]=of`b4%w- t0}_K W_ʷiYONMk{+/ϝ^ǍęM,렪Yq)3(fйʍЭ,LD937;9Sޗ弭ZzU,L+T$US &iLAmJ>CYHԲhFӛ-u:;T0Kdzk|.p-/];t1 8~_2f=<H!Q%2T2F)F<Ҩؒwk۽PkzFdp|NlvvV0sHhkLJ^*~F ]5N%4g54t$q |4 65 `c&j[u* Séh7FIj_뤿TmTzfd* w92 zTqޣX " ˱HFӟ LC'Ox$IZcÄM,ӈd.^%_~Ch04 ?3v^y[+oFwZ7ckzG]bяUU}?t:Om7 q_j֮_@(ZhZKo0ޝw~~eA2쫔&IX3dm[[N;tO?~zg7ή7 ֫Z*aH;W^8c5h㹋+O EQj[~Bt翢V{I1wPV)\P_m Hq6t&c"R4,գRѴJǑH,t rnt63 BN4y"%d*J9bBM8 /0өDEF+Jq'- kgUjhadZ?lieRGf{â"PA劌ndzVrponzw0ȢnEL}Z"4-4K)saL*0sՍ7ZU!C-N>ߔ8VߌAqZ($Qe~"8CV=3ii0uH,0pƓZd0tVPe{mWJp1B\z^X/Z483*i޲w{xr@TɴZ϶, LD^ɟ@cSfk|kd (vc3i<)__Ʋ< Hr3'SiH{?.o7|T攻Ozjqa}>\,!L"l )  gJ5Q, KDA0(%eLH"RJJxs$@H? nR#_~$BJ,a@X0&pB (xv>Txm4(٭I‹$+DjBݍBK^!&rkyno|h8}׻~x_m_v0FX4{ٔf> `΍>W쥴'o\ˈ"Iŋo֭BdύO4c\r7۾5Fy^V^JZCtjEcpi(6p :Q,jUK4K3,a*Zl &Å}`aW_ = jnǮ ȊÆU2FBk~6]T[t#8v J{}RB*G~^Nb},4*S5=1rwXSSUjRaenH$ eL$~pioc) a,8wa,|χ$eqFr%e7BLĝEIݤZ0\a{oA*k+]ib8zY 8uds2 05$-*?5D'O3IETح;1Llv E5*vvIqh8HE ]+ApΉfI* `&C `RQ /dʙ$3T2sRo$iR,L$ֈ*OMgaflTykBh{k~ߘ_)w?ôFgk{V(Zd4 BI?wSn ؃$ DJ|q-V?vRA#V/>j?,]q`f9_.r,~"C3_͂@W_5ˠ!cIFa`ВiU?y*f"E ,72xDB%"omBF XJ s.J!H,'<{o=L(*.͗6w]NJci9), Tzf})۸vR5Dٟ2H$'_y%1H87$c@:5ge$Ƙ9isa i%{.M%IϘI"X  ZS"0MU]3jʩ&\f`&H &HH25]AX',J ]QT7vq#$ qݍٍ]/ 6Dkۤ}IG|9]/6~đC=c7Z3ir>4RZ:ʧ^HWrWzәLwW0Q5 ݵJ:y罺T'/H/%t۫+yۏئ3{Mp~Ij@DWrKR͗Z(JK׭2Br nYEIV)ֶtwraԛ +HD`iwz;UR7[߾^Tַ0B$S*x6 Y2C2OVP.oj!-aa !E0Ky[mQ))յ?ze-ƽ ,])ɘhg5*ϤQmX6W:$5k3iDmo4I"(HS]d Bbt8 1T-א#TNfViږ4nwtp9vF:NcnNMXAvGԏ+WjIL:K7`\99sue}GRi2ƳSQr 4TH Ln $\J>ocɩNTp *0@ Nӌ(,JihKKYZ9}&B۟yQ‹<ˆat ņ^w{ CޚNzť/=@0 w`W^wky)LiʑA$ 3TA;=O'5%R)&4( Rb*܉'8 ) y=7kTEa$Wt ̼$&4"prLec8B0ĜeRJD1&̕U@h`! pχ8B|_68vΤz}kmzh{]O|;'Kx_3؟`: aV7?3U YjZݻzn}jC7 |BR b I4,zjT-tv=o7'$oc_}{~g:RFug2b\"L7VV\2M(^}ON=o߰%[8sGEZSl%Q4rY|$φj-nnsK%jm_~2 ŵݽ΀vgfմzP4\z5><;0qZ3b\_/h-. IDAT.^餉 /W*n^VJ(f u#Cf櫵4LQ'iR}'ŁMj=Cu(dezHY )=̦(l؞y^\0 Ε52wXE^wbk[9/o9T!PLןyڭn%_fyEVqVdE!Y1T_dR xVTEl3+&K" ϡJqh As-@"Ĕ @di a* #2E@R)%u`1\yXi+{TG$/ӂgٜ2/x8Zk g6'/`jq˿g/zu<2Zq 1H#RIi 4B q4YRYeLVJD@0Pzt4/R.1`0i^PLmBQ;tcjl:cLq5s,- dQkwm@*wGxK/_oW3m<+jE̓gbuiw~Ŗ {4gAUJ8RSOW5wES{#gV+^ʳw;qWNhg(v+ 젱2j zA|+%-=O+w_amel+Sr/ډk/|σؼ؟Xi~?bl2Ү-Zc?v>Gu϶ݝ_[[S,5~L-t4?ͤ>p8҂:_iPٌ3˧kӻnB4՞VoYbm{_m]^s,J-̣htz?-o{zN*O U)Xr%^ژQ/_s@``nܐ漠&MzN'^CtUZnrs6+}\qmf$ cN0N,5iVP/Q=gzVƇ.i2=ZqmMN,w)^|~ϭge=w2Y"tJ8G۔B;w`o2P2=T /eP(fض $4궂־U+] Aw4˚ՊI&֙Ru0lu#$&kZ.,pSgK1ߟj6aKW^+K_թT-⸐ä|(i;DHX[ǭ903oc_K|xynٯ}bc?#?Ѩgi{@P5)̧j@Q#ǖR˞ABe(A BS9 UJ7 i&JI7:W*awm(0J4;oт-%!2"I)a Ę!|F{v? Pt`L)TB :^ ((Ѐ?|W\}K_zꧯN%Bd}>OX x{:t8e\_]o-=_q'*kTduw"SG^e*f5eQ\6JQyThs[WVOB,Ay􅲵 ]N͸eWO b8bf: g!z0}[p_%jxau󯺄ϟYi5uٗꕥ|ڨIuKܳusW?!n`^v 7wDH)U:_;{/^2=k.mGlFÀw꨹.D<q*ɠFų9yPX?WlV 2I._,񬵶{8=]X2EjcH*ҪewWٌg,͆$d*UB]}mo *- 2&37t3ʪU,M,T :erC8am98A qp8629,ZL"ڱ ($^A|[I:7{W["jȠ,Km*8 =}Ɛs}4I独,˂ehUU䝺G=4\̌#KԢ:K-PVR|B%E4ʹDJhU")~99FH 56kPD0@Y31@DYJεҀJkK-1(Ơb%dBhN?|~`m \uk.AR*#,;;? +']G_/F5$.+*Yȼ=S5zDc晐JeqB}{?oΞ<6:+;[u^1X?^u}=<bٴc\'I%ݷ՚٫v+Dz^kyqf[r?n[3_ -Wpi?F[of8rj-Nml%vuߙ"eA}lL8۰N/Un3KF#z eo,nشRCh!JKr 4.?w|χXk.e ;sη^gU}yRJ-D=ƙԈP@(%D@xX̣l4.CJJp$1AYQzH{ڴPPJ0`-0T XkЀR фa2ԠcCژc0҆b1 († Cu@LJҶJ~Q c,Sj@j JId ,1Kt_^w;B_ ::jhP9A5p+\imy+al, ``HP-EN@QUkz=pju.JT kQjvI"ϤAU0Tڭ(J @peZȢyJ1Bf  e3ށ Hӟ!A[u')'h8WIf}>ڭgᅱO~>^- 6}^r)gmN<%IP Dٯڿɟ~;>qBmξJ5O~ƕe|e@󾏼v7:C V:VԹw,c=Tܗ{~ac5Fo$qN8ԧ?ڶMqtG[=s0Aˡ^Fcy]:㹼=\\ݾ)YZ]Σ28omݞpY=wCVځYghvbk±2Y!;DWoСƫ5f1Z6Q2ZNR<ʊPa*÷FA=K-%/ %vƳ#wy|zME-y(P]1`d Wr6tWn@kB,R Eq 4 kAPћ'"elb)ķotk$4 s +J]+_ DsLEſɟV>v">;ߺ7==|;hczs{xc?VtM-|Ƒ/N, ܨ9ባEkT|ܙ7Ae BhY+;d9|rPfv]v=kw>vs]*spQ۷.\|(OvohŃb<2F u}5Um,wal<]Z_Sn%/XTj|OIunٮ˨J&oۻ; plCo}t^9I.|$<>e~*Ɩ[:%3V+/ ]CU1( H %J˜reBzݷu7p{69<*/m;"SFn,ͽiϢxqp0;n98e/ FESnonR[jVpk)1"΄I#yBĩBA'KJFr=Qq\t˽7}ɝi~}܄w<P"\;GecD ;tM;XJ_3'>{J1: /|?W_t?dΟ?#:my-qteʤo VUqܟ<!}מ+1XXTksJVFnm5*ZJx/[KO?gG#Zkݼ{nyguЎ|>wzJ`=3WgJk}rv,C( v5, Ss]ԼWE R$s|{Omԝ$Kŵ{P 5ݩd ]+Oaͣ߸kQfzl>>h ܟ].6$FͰިxa{4lʈF+ ]ןLF=Mt$iZi+>ءvPq$y彥AMXn+8`J+O y7l6{t{^"}jWɝf=V'ł9֝f?R\v\ji cJʩCO'g6Zy"- Ac Lt 2jgHBU1JgЬ:FWnnkV%{Ө<70 Nw>EFI yE@Fc;/q9/uƃ~SK!Y w+VG0c: 2t2`R%t  sfJTpͽޮmTjw)uVwn$ZsYg{D߹OT]z5#իI`e ڝ̊K]s eniUmÕ'u^n؜E27􁓛]_׷ f`xyf1ض ZC* !",)81`g2yV䠄C4!eWFQo$҄QF1!Z= IDATl߳!`6mw;AS..K1.<,(bc F-wk~!CyεZ뺖ۖ aY!cO.wՋ zA&,`gbk^]9{^MJΏ]Z)0H)eJmK%0t )A%҆2RkT< ul˳cZòlhjQ%JLl1*/D*ɨ'Q^oUBaJ(LlR2Fya kк5?` xRץ2ڴ:s] 2;>@~/<*S!X"De'Bv-J,8JOyZ9=ǛNg%Z~`t[ۛ׮\ܸyl2)dB0}=N+ȫصPGKpS#Rq) 8ypjVq"83R TL^X &l%wF:=ں+lp|Nomeoݸ1%i]}sW6:;[;{xrɍfU{=i~!OI8+ɨ9XuXZU>Iכ^˄t4mZG Qm4*+,/h\;}"E !z6|^TہN0>`Vm \dalb[l,>S- ۝άy*>mg::5NWiNfi+Jy2jWi^"(1& !x:UG2-N.gq3^uwJǶm(,jPk:+}аHXCaĊcL8ƸTREFێJdT1QѸeoP+)Z;^c1#B5``eDQ1*.Rjg40]2&yVZMʬD"ˣl(lߑv`JbX|S+|b?,߰SnJ,T`(C,8wfyYk 4O}8S_g$ɏNq!8/˜n?Pk2 %|ϷaJ9 l clQ(*@( ^ʲR) 1 !R u1h BF Z1J\ lDQi  mz6 \ |# LҢHѐ%%`p(fC , Q 9urRa /̹0d$i0j@%:sz4ݥ0Ƙh`@ kUd# PuzSHAlj!TK(!4^Dtz\UJj){b'YR m4B+6()xQdn@,XiabbaSdYNȒ A83kE/jeI\~]__q"'a o>Okએg/lRXKf(Ċ)EiIdJh{n^&sU^緿{?V_Igú|}ٚ'.7Λo vuoD |b^&rt8;qq"Qw4 &;i ;V=-Q~x%tQPJSQIM]wz}MAbS\6]5FW1.E.RF^}DI<\G1b:^]G\ka*NG'lx-p9P<w4E n-2o;|c+WC$v{©A!Qĭbˋ,jVXXGtw'YD8"Y@* 'ܲ4zեyqW*WNtج0a`O#R:L9jTFW^hK3^p[&#O'fmX[uxc߳>~t$"/*W{5d2K}?h j'pbb)zڬjG0SNam2F&Q6>ZZn ܽ\ׯxxpl6N\JKO'+kp̬o0nO={pu<ݿ5 zLj$4 37D%&G?n|p _ՃcoXoRiylARܱ`bcRnE"2(q`#o?o#h[?# X%5"ER2أcm l@H`}u :GG"y)80F=F")%(ڤZ Jx?FQJ-0jaPfW_ ]-q'32f3ml@!ưl%%B K5`@)y CJ=$ B@ }LOP|ZP Ƣ㙔FcHOqwn.#?ǣ΋7^?ŭ/"N䉓*l8տ]߱7JlTKcs?pn%xkA糣}IҲWY՛b]זϴ܌ Cyh(ˣīJx;gb݃KgVRngXd4 Vyn|Փ+;wgυdQTŠF!v/׉TktQKۓ p! u&P1`^H!vo|>-V앛ݺbi0HZe2ֆGsWOh΢ta;N8v|"']'nUimy4yZZc8lrT~<*ã43 2IkftTkzk43/ jhO{N C'6 8Mm`se$)J.!X`4(ٛ&Bj(sT qD\s)KAeVJWIBH9V"S't.qpʱKdo*\(rϳܲh flZJC%דr3q)bίhZw(ӖM%Qqj?&bc*X,F[뫃f?uVluWFO4_̓3_}{Ϯȅcv9FBHܥ酾'!y'&)2`VyRR)]ϧ)7F Fu(B FQ0Z6 PZB1cL4oM1&jm;,ש(f ]u[puWZDm itkN*mv$Լ(1J(|۶,HJĩ_<=p4K\II`2BtYjcT4(*;*HiG/M2i Jf(Y2!A]1 DPx'Qٶ}\ڹ\*BRZJic6Fz4ycQPh9߽ b :WzO֣n;H`[|{o~"W7_) '7s,I&+wn,fӯ^~ķ|ӿMsKgvBrMIص*#lWDd^!NƱۨy=:g9`op O.U({~gWj04kVXoU|b/Th-l^HUcVug& 9 x j-7Oi?+NoWҙ_~9{O;R{n?qeŽE-xsO~{.~hRL^(hd%HeiSۉ$bQǪժ: -%L(I.m(Bk6b^ղ$+#5H%R@5BABi@`h2F#ز0"0UVRD.,euw$\D+cL^@BX軚%y= ݕZiKYQJY(4Wy^ouH)dł {ę;;H,`%||F϶TJQd@_aaKv%@s!Ҡy)EY"!vΚjqZhBP2BRj20` ໶h^/$e{vs"#a!Y )?{txwUT]@Tm뷞?G׻s;B|wsCx~`{Atv, |tH2؏طdۿ[}e8~(ٟKoؽZ^ah锱14<dR'A18 Yfc~-J;O9ota2 @̴LLd>RIe$ETv*L EI @ 0yz:7{r9;4vڵzkoO@PB9M7K .Z8JyQf*y^JLei8H*3d)6)zG}I*"լ\RUkAwd2TWWW֢7 ŏ޿ŵW[{eǭ1 x,O<ܷoNíofd[ ^o9_n%F[%zϝ8+Hs.ZcL` eV-ڍFݯfI@I !\(J. Cc`YJi ј0ƥˆ"D&cLSK Zi%$xKkP)1c"8ǀ"ԉ6vQ2F( $̂h0 'Y'iy0t< 0g,00(J0 Ƴ b!tlx>LJ48 m\tz G[\BiZ!2/EVHXdʰ֚S!1N\kd3(F)!;&(U%7 lD0MRŹTJk%R`U]< p2IhiKOu0B!L("aLJJM`Kg<@;߶^?#yL)ϊӧ-papvwh'ANsE5ňf9׼/ s ߍcrɚ\Yk>_|U/iS[;gFwpt&%ymSn٧6|~d8..kom1r8 WAOos+I8/fuW>uZon=Tv^޻|e]F3Ӱ`3פGܳMJ07~կ {S|wÚFu뷰b.w7on?O\+=֪^\X.p1$t. r+ ujnǃ45A,IYN6[Nm<97Ng-<}^ՕU@ZQ1ײ^zͷߍ.)3TBt~u0Irv 7o>0zaO>w?6XMٴq;-V':\F^9#Z*C_'p&ӳ'`ebRcv쵪,nxI!j<>(#DH^Μ9`)T40iNUh(2*NIrQyweiŖA,˖Lš Bhi̶-QUN4l[qܨz;9uM3,Ӵpb4 FEv6̴l7~ɽ.Go'[? .#Hc m<_xmhuj3?+|g^|ԡٍ/ƹ f҇^eTWj}/a_ ^Z-SV1ڕr!דk '% ׶3ASAZ'{o{[GuQ%v뮫\"&G_#_p5veIo`ε zk|#|.߸zi!>OJjʣS.eŠHb ǣˆ`$@]JH hRO< d&t2 Y$qqYfi2yB,((4K'AN'`6t:Ù.!64H$bT*Khg{t5!é4 p T!ĄhDc%\"Ȅ( \H^JrbkDy.Bj#jJ-ӞXSD#0|N IDATLȴ$SXƳZrc hIW{\:t4.L z>Z8x4ii{S?|fYj/U5sìŸ|饚<ڶ.s]ozϋ ~Ji%Cםq*yPJyԪ;%EU1z(4H$ÔItJ&i^2^w1ai ΕJQc矼{Fw7<ׄQ^HJI,3NR+())Х~0EYHYuEZ"K@Suju/I HxnA8>ɵ٬٨GCBAb: VA8?qqT=|L CtqsPQfza~S?}w~럵;Z%н__݌/_\?qዿ󅊿xn7NYx z񕻯Vd!ǃ=ok[׭?rS ،Ԥ!m 0H!JIɣ(R@rYHИh0"D,EӢHF&c`r4ȥܶmJi.4R$( 1 ی1̈ˆ2ĀarBFXJNB*WLQ^6ֆes^&IIQa%q<,`d8CxO͊N ~㝇_>|e1V3/ ޸׬h8+ ?FA VvbmU֣[w^-wbݮ0-k9m7?s|&Éf*†CO"gIX&9'B *I={S|̼?jLoo $K1׮WK/+ߺqT(Fp鷾`̅sAO.uηʼd!͌\u69/(§. $kJi//Du۽ޣIWuKF0.u M r}kU^Yk(ʒW:W|F9ӬU .,wnb`mʕDa(*E2P\Yag,`S(vv#J0Ӆ_5ɅQ˅K+V.:h5g^}><|K6ŏO0WO2 /ԏ׮=ē?5k/[GL}__Oy'2cKϕկ}[+'\+G(٫v.ƨU};|gpq~}CpgW7>U]s, *1`6:Os=>w{9>ڛv3e]RΟ m?N֨TkBWąъvM]LtY+J\Y~Jqzoogq\i gsbnͨzq[++JbZA<2LhfBbjRάȊ TXg B+!$ň&yA)K)AhJzY9h5]DYRp]* 0YX|՞wd0amَoU6MprЙ}x~}eҟ/Cp/h)ޕkHFa^'oPu^xQ_z֨Z54ҕ/$MseНzE,?JrD~WZ1VJ)}ˤ|0RhД" 0IJ&TRIR+!%" M2Lô\4 55@FQJ R c4(!c(K$5R %J e)FZk!11]H$^S.4\j 4 ˱FmڮT4MLXR+Y ǭ%fT{l0f umstPFqM1}󵷲x(ZF@ *BJFi$kmY)J:&# <-$WXI^u,:WyS%Xs(-RQhQh-fHp1PAcϱV{y,K Jj?W4Q7+ӧ';{kOi頾/i l9ϵ{?#>> p?faΑؕť8bSY[X1x`|ο 8. g'k܏~'FO/O( G=Xy(D]},x&a^m~4̂b[jwÃIvy}EWgaLJudgG7pt4yM,]/fȲgOh.s,XLɍ;yFzx*bF+J-:9-exw4]8'5w;hUݩÐBʖYcdR -GҮYYkT+Y2:LqV-ogA zUw2I}oqddV(tjeVq6߶yF"LsmTN_QmEZ02Y0Fv' LA٬p-phUۮEHiJ-guӳ* Z ި7[J^.ηz-F0-1l:xm6-lW2}[qXz)8Ȱy71Tk͵ɤӨԚW$S-ҫfE&"jnLO.'CMYKP{v~ZS"icE2-dmNve ܫV\QT9sޥ5a?yx$PX]VY<|wq!a_>; kg Fwk~OlcO~/e׿YSFkעQ ̥B !D)ASeKεPRjRHDx)J^̎$!cL(h4`5400`B# c(2 RkD 5`^YVRhiJKp.x(ZcYFKaBHiJ#<58JevPLF4-pմ<ޥ^+v6̵ZF5@k_KU1HiBFZ_fYŕD*}<1bRb""+ԄaۢmbkͺUJ9/5\۠Y֬7+SKmwa@VZj-V!-e B[-qt B΄@<)&uӲމ6hT&;?l~B̓ [5vӟK>TI1c9j1LJy֛߬n2}jj`ǯMS teyhONwoksDo7޾& I1-R02rݠ  sݣ#S1gUƴ Yangqҝ\c9SzQbuLȩ%'34*]ۛhm0*a^^Z}^g~;|l:<ٝåSyY: l?a^˒qi{Zm 19-\iՕe$ dI^he0nQrQ'/K0ȸ$Y^=Ѭ.H2`|{q1sp'%CZY:Ӫ\Ho6Vzu<՛`JK="p+9O<ܚQǔDi&)0J ӯ,/W;7m.تك8Hz8.~Cg={C}xxU5VMur}sn<~{wUriBrA/mi8ɨʚQFQ!D4e0Jp[ifDՅ[N_vCck/:KfXi1SХ ͺA/K,Ms-QF\F%tmbXňJլ7NJ:yjU1ŕ?P1gYphh`@ o'X47&80 ) LP| PJs)E`5pLFL$ ,b@?ZR00J8GqȏǫS\ Fъ >fn f{!(so*yK;>nQfiA6_Cʬ#F@P3`8/ A(R:Q|a O}oM~sG iÃq>Sή=?}/ޗEř|pie(# rUwY' <2\+~X^VƉ#s(Dn͝mlie:}jmwoWFU5 F7ߩyz#Z~HMZk-E$ Ž0TeA$Bi: "A`y,@#=~Kr!18FKH eKcBcҵi{.LIa9%+@PiQP!& "lSV(H*Y@YH<k;@a8H׿ >%I6=[0:^;"xCHL@"BD X!pВj X+#AtS1Gѱ0rl+^#`!oIh4wg)߸ɞNffe)ċqd whiʛ/]TJHA  R$H1Qwy/~ý[[nݨ6UT5=z?|6$2bUr ӪS]}q0+,N%us%j4`V"tԛ7_w`Tii:$V`Xe&r"r~:< rҩv-azFra˫)8|Y]r"NIⅪ$;o뭋O=D9\gq󨈧pEMPQ~$V&ͺE3ߚ:9˝7sGjZ [ _t,8K.;\wJԓd IDATpױF hT3!1M`[AMB)Jj`BBaTw盔`ԠE1F)!Xe҅19cc"i „PD2)=eZ#U̵Wj]iܻDJ Z 2!M&APara3R+#$pL@HT1تֲBDQ:E23 c,J9/^ !Qꭺ&$ +jagF\F%/\k+gw^[듽7zaVJJuN,T\وȫ\85ƂK ڲ|˯nO˿[}[so4~7^iPoΆl̷vkjqnٝ' z~PDzV]^JWo;_|A7p1Yb2?puy cCϵ[Ҋ߫^o͎\~{o֯z`Q^C d+τG"4Q˔HiV.qJHγ;wq_=Ջ/Jff䩚ۨ[VZf[/?{a{w+kӝ?% ר-t4wtn: 05}m]R%M$aIM+ + (0YkFYdR|&2/ݪSk˻Y5H*&9Gp+qK/&PRcjD8Սz+ܬ=$%4:+w145ּ.vmI+ԜkɲUlNȱ*p8%0+O2;<ò=~8-]72 ]ƂEq{k`()J8}8 q~3qdYre0w:68UJ:zi&zXrht~$mrǮT6zɜ V&yTI#5PEQfb\kO_xô4 bh*k,1\خAMXTLtaY&(MҔ&^_[f)H0L=8I8 =9ȋܭU8 &%A'7:r,)$8Ad 3ShWN|ׄH"f|c_?w;UBeo7i1b5VWVU`A3A0v0 眀:nfrQFE^ʒ[bÜdiZYh!@khʼ1AAjFa%%>>_ SJBf%DVB"|JcRZkM 1ŀ/QP)iZ!XjgR @BiEFTh Bp/aZab f8{odiOܳ*k뽧GAvC mA 6H4H=]]kVUfVy˻>?d?@u_Ar_:{cƸ([օ5%ƪqiۃI&O3Z k1X@t!epSCH PE㋳9X/oZ"1JjשּׂJl2%`BatVK"Ȏ&y9.DDȅ*#\sjr#HY Ku, ?'GwCT.'뵕b;}}ڛl• _er4R,M\K+,֐HSgn?i6Wl4)ʪ{<&HcT糁˫RSbNk]ya9ru>ZY%=FA~tô^k #$/D>>yj{>8xGxn4ןY!4py lGY--D  gE.Iz(cK+.̒=L禜g׋]^D%Pkצm-C̟x_~k[fWjLg!sIҨ"+UV+zdʋBERTX#RyV 0jY`A9؂&!)V^XR.j5 {qZ@U(M #bV#Lc5`4UD}L`D QBFy qʈV]'b'n5IAnjV{Y`. z%+_orvj/OeXFc%5Y]iWjA4X4F^Zjd k1$.sneDSB,8/R@Z.sZj(R-s+,BthVvGYI!5Kr̭EOA?9G??Ί\~j57o{e{Nb^TGGk+otTJxgTvجap϶.U>:l.^޶TpGi?LV_>7.&F3nݸ|xTKvy(+TJ :|`pzpm}g_ .j/qOR٭yQyئӵKF{~wAF܆,Qᓽ˞z~s][=krtir6OlUVVҳq#. rQBlE|d|]EXǭ9gg˝TZ-ZZX"Ҩ!Ri:$QX:+{4G00GXLE\m^Y_m7%iV9dBRLb 0dѵ+DyifIʥI r P24iCw0)f椄YRlqY˗=`Y~t3rF}i\^[0v;Jx8B v–X-6yZ2 uš%t%276o:!R|(F=eHlM1OҼT3ksQJy2gw^8yZtʙL'3(pjTid^Jx\IR:͒ `UgխQ᳙\}/<+k탿_?_?l>J]+RU:魐_fl)y/Ӱɟ.j;d;]%T)?^]j-OxTwo~JyuP"%`?iw3aˋm/lm.t*ٯq7n\;qX(V;٥͵rk4w^o}mW^ݼlˋ-/ O whTAxD >*/?DJ8~Pj sW^, /4^yp:N(]~nV`dgpvҒ+ Ͽ%m݇ea (ؓqQin?;<wtEӟ}{p{;#N)sUZk]Ṳjq`k뛷Ofݩ:4ILKGk'O0CV2S a@Hi$(66r;B$yt8h!9XڹFW_ye7iǓJeF'B+ժy)H䀌r՜,,NH<9΁!KZh{éݩS2b9 #bw2ҨYw55ihi3g`29׾~;x<>9OA^mU+#sZVH߾{[U*F[/?wɊ[p !壏GYk5 e<`3_|+~yVfѸi9KfOf_`U3J1ܹX{Ϳz>!~w>_/}et?w}?y?Pd;/;//OZ+jHHݹ@eEi$սkOt5b+չOf/zI#/c7\K$%ÁՍxN.{`wӤa! {)Og~'˫^]y~kZ^%ө\q"Ӄdqy+EXR#Kj+k;kɇޓNP?)nte_~e˗/_`ƅ '>^mZy:ySCXLb[ں9ƋhLXQ}wNS ?sG_hG[Zj=g*^Xܟ&y^ɆSt(i%B*/m:L#3!e.wNt=i5jwa23HbFgH SOnhQ#.~1in{dPLKVii*r]- q3lklƟ lLL.Fi՛@:t M`ƄcңZKQm-LyPV(kͭϬn  T6) 7D$鼘e^8E\j/SOg/-~/'·[YhKNFF5a!T 0w+z$Yڸ$GnJXz9ԽbMAc3u||*u^bFAP^hAqa™>AJseX+. 3ocR e1c1rRdspL/a $ZFԀhXWhKV 0sܘmpl\4@Oᑘq-w_7? 0xڛ/X S,`ZL.\H öПA[Z6ea* #ȥ^`dr=MB0@T**4uz6iiZ Nܢ,D Љ#H\0/$*dcfg{|?kTވT}o~|_5>x㭭[i{Vl2}R{}QY|`~w:awsȯhY9)'9KM^=Si>I_Hy2\[[83\%bC}I=Nm͎hԆB "X oqZ}|I>fs^̇OWs`cBÝfˢxeGsmÇV;/FՅ`vsj*8YxiSDf`64ϋ|qwT>ヌc?VYf.cKR;}*j NF0Uj)`>YnU{~#p8ϑͧ")Fјo^ZMe1IDb }+K7Q, )v:Lxq%hE$'X˭k5Keq$YZsOrX-t4`@ϦSf80 Z+G>rR \awj"JKѭ,c䥵V;đ2cYIiԨ`c9g!BX[%M:(؂(K00`qBgVfaR`Z;% IDAT ˥PFBHQJsTic ,ƀ9bO1%G/wG~o {WO{Gg"|k ,Jm݁ӳ+ K(o5K??u?yw )ed|ueadE;gP {fӨ~C}U6s #>2Q3.vS ʝ"70.F~/|P%SϳY`5Ac1QaTlX:@y˼"rM\?||ZhƯcY'5FBd ,ij~`guq} 6ߺ!rY]==tEj{t8^Hȴ67gӝGGݓ[rGW>+Y: Z6iCՖ?xJgu kg{pm2 3e2S())eBV6V9Äd2`Qb\4!$2h&`qjTJh-41j_ `a%,\B #+ZFY+B/pN,;KR(c:cD_di0D(1{љ!BpW[!+#,5ڵW׿2=5RjS|c TY0#LC1!B(l"؀,2Z0@(Kd:#+2(3)EQeT*R NygeYD]VSdF`TiV;,B΋RhJ+c-1k1F/Xj4Wׯ}ǿk_$ԿOԗ6Nщ*+/mUf pv|x\_|ո/3~6b]yXmo9Hk!Ҋd:|i3t7aԩ[x%4!/ɟwx:4v"KkW|o|D ga_'?}G8 66VZ'tʳ'QĚEcsrphjwKu5%n\9=a\㕅Zno/on8NFk4jNjՍg@^ν l8MEta8|p6x!QbQOԂʕh>HJo7VM}C~9|Hd=YkR\S̑Os}km*=;„a7bVWڣh ĩ; \H<ɡD̏}[R`Hמo~U*Ǧ nJ=ߛ͹@=OĥÝ>?7Ko/[[(K$_ i&'Ј`6A#տ¿NrD?=x7ǙFR;'`JrK;YgTi30Rծo+ r -,7)!Yj\'swW(4(}zql|㐢y1$v+fXʬ^^~|4-\S"Llj.t"㫯O}LF'*P, eay6+Dfhn(RBaV#s[[] ϥЭz %Ç``楐U5bmA!8 0Nu'a5˓(t>+֕8jh0_tUErҨ`]6Z;Հ a6N]m r$Bzʓ4I') ŕz<ϼq")52"ylYV-FHmM౅vZl&p\w>IWg? _kT9FRuo5.ZB3H{lp~6J|V_^;=ڼVĞO~g:|=9皏>v~@R)u<*)Fa D0 TI]J(PVX Fe`kEF)Mѧ)]%yL(&( 3*/c 1XkZ!0PJ^)khb  % zjD4R0"Hak eXkZk^z~ a/=0ApȞbG;W}9y\/:׌EYeBR* ,VXzF co'RX+R d.D)J (,Җ; Rb=AD&0.բLJ b`7\)k(!Ap9Å`,B`aSJ0Ƙ a6d~ㅇy|tO|x痾lM#Avpp9~z[ K$~织_~╗_Yy#O@*ް"v__;Nyaֹ1c?k7} ^6ˢNOG򴵾tq//nS#]˵56*wz+eoQdɴϵq1 zV%0( j{,%ȺC ]Gpsx>z֥7?jGJfÏi|Beie5v\>~ΛŖpz̬[/ ~ЧI鮴bQrv>-EIv/+֮l)W:jW:7BF-/J{D+W%UrzwVn!Ueh>4ilVn>2H݃6T4VL^^t6iJQjL}]o5{RJh{פ`uJۙDk9XXʹ*)#̺IAtEkRhjgI:lOi^y ;X 8'o\u}'GYFf#Pw©^YO"rTF=pkeX `pޗi 6Qdej!7ء`M*5O"PxUWw=+s#Z.d^]..-޺B=kIU)L6bl\BY/_^~[빘,:>wD!KZ9kU kzW$ {8ߪ,y}SKcߛWY4P[:' GQny1sgmy<ޝQ kWчQ#es qt'ŐڋUҿB `~>Z{Ha7:K{՘q{kSϕ~_wQÍkHdUY $IQu6W/_^;nw2z389_h~~}hngq)t>NdPׯmJKx:>+gEk3I}qELORy/~+_ܺ<}WƋz &:Z+rMӼiQh %jX|zt?{TVQ2O|"76lwgiuq?WYwص0yppWfxSFv'EVIԐL2)2Wbʐn>qLZwL !H97Jb &$)Rku@)s9ub:UEE!Lc ㈵@0 00N Ah- 2Ն0JmE 3BZJ8BdcDPQ0AÈK-FE0&ƍ")(%jz.&RJ!baBQ5xkuoXc5Lk W~=u,ʒ0q_T 0(1% 8gRjU Kp8.3D]sB|_˒"R m0JРaYأs -YPHLz^c%]8aZ}bic60X!JZѠ""mt()cHbL%6qgǍ d1ED icJY(K JPN5 ckjc,Do]EfFH)`>%BRX?Ä#!,,AX, s86lWCRsz 8"rWjaSf0`c3eZRD<ܡY+A*mV yaB)@)rBI),Z+BOܿMoy;Go|am:s\Ƈ$GoVW'j6&v%"ҷw_p~3f6O͘'tCebnK׼NSs]n nlH( !p,+r8qj]5y>98{so%<^׿ F-> QMgZ8[EQjGAInMUtwNN[lϜ>X_)hKq30QUϵD|?:+XDQMSI7bsS(74g;p0Zk.yZkn~/vwU!h8rhYGi8E(yɵR]9bK[H 'jcE IDAT+"GfVj^xyu NiR$U`Iw0vm?>;~jVţI?=1덟R3NreZr: #00xPxFjN yA"d^i;%bR\$iFSAIZj( b$T-j(2k B``lf,ie&#9B!8~0ZiQ`4BT u<=LƄ3PYL)1cFJƔ Ri-FC*u |FFi1~OS(`m;A`ae|Ʃ "e8#@ܿH|mܯ^&mK&OGlMQƓ3Rlaf*s4B)^VJF8ǔ$f1bBK Jlc1F AuGk(זDjzb9GL=b]z1}~JDi,gPv^A3ǝ$Ok7W<~?'wprVmc1oP.jl&XD[k~h\fAaۀԔ%{;)n:^cgy?(Z*:pj}oK`p~<y4`]^ޚS9)-\Fn+W6R&3<FΞL>~#&Q}φQG-OIDtM|ltԼuuw?Ht!Ù6XC*//j5v<%vT:%(:6PY|1 aqܨ8B!`;l}ePwgު5lc,@Εt8:^$6ֹ%$Z*1뛸^vnwxiߦ+u?ZOr"\d6 "cJFiX.ƀ *Řq}o03?b}gI<V&%ZJ"VV7 eq,%1 5b+U֕Egƶ<8Z|{/ҸXL:p8 $(\_\P#Mp1j7n-/KH/9߲\F,|wG ??Zm?Zݻ"Oq1;:>XjgoO/Gk˥n*7=}:j:'~bi_/ML@ϰ bx6T^;x$tztq:86ׄqF;ͿѻO>Jn8Gݺq1L }mcQ[/Nʕ۾@׮H( fఋq$+WLQg{W4;=9xXΪUuh:T#Wa甘>@ 6H2J̶-Th)J94Pƌ &r 2PB0Ơ 1B1d`ah3N0€,FsKdm;se͵zh+\h.8*$Cw9 0HpZ]"k  7„Kle6р)!B9D.6׮QM Èa#eK1Ar@Fit,;K"K "UhPt%QTrY6l2\'SQ*`$1@1e2J1!Zض*M󼐩HQe4" @(D.gBښ_>62>A6*}/>GZ6$jx=N;qjmqO;"&z:w77<ߕܲ =ztq9Sa!QaқwfDϢJy`VMxVɉ}NxHR:|V}qN횫 Rol/"`J^i~ZӣA@ԓ4(/^]7_L߯]yr0Ɩ-:vp齍׿~YI@SAf:>C=[i7!YPlP cǣ`&kr7/џn/7E*kk͵"5N{RR'tAB%\BMu-FQ^" 9?R!T*^ltd{K}nt~>m5Q\HiLr8DIRyy>\ؕƋTlɗO&(WrmA꓃%vl;й`y x1͢U{qF  A[l<3a9H)FfTFik9NF3Gg{G"ɱc͔6GnrV.p^!a*1B%KE6b0aCq59lol>2_LGnݺ9y~pkf\//GQ!.5vB_2R%AEt/m)Lukb(%ܦ\*F (\lq'g,rfQP`ӖP? Ss šRܖYaQh%(@0)0c% K "4ЈJ$HL#Dhca$%}=(&sj#79,f^8c`"KB^\Pc03h%RkYR ŸvQzp t.ȦBDd +\\^@&r (0 sX?1" ^~1BTLli#@F MY@`8g1pD&Ҹ hItxH86zƥg\O~nz#1,_Tlls0¹}kRn+x/hVeת$~[TBqp~f9qmkmCx,f7NxxpTXW\VwLw"&}o믮~PgvW~y HNY/W\fb65"޺ɝQx04՟gi5M ;VJbb{2/dQ`sSS B]FD9LaDDGޥ_yVhުgQ4ƣ||oVCr<+ڕ81:\R^Z?K'~Y#\rdd!9{QR;XZ'O&x歧^Q" yE5yb#YJ˕OO+>0Yv BW.ΟfÃzx\a'p:Kl7JVͅH@i&qLœ31/G'FZ^+?߱U< (JFޭWw9=k/?WV}i4P2 F1G=O+t8~4Nzq8OH$PTYetgm)3zܙPcL3 '8pmLW+E]]__J4tWwOr#{֨MjMOV-;,I Keէ׮_չAS=NvV[2ut3Ur&Ō縊FAڈhr;8m8@-^]98ʌ63)L$6Xs҅\3)ARg*Emyٓ{2f}8AQ4kY4{׸˫k'G BY:/%٣$aD;N;vj&;vpZw,^(+AO.g䜝:ƨB!\bLh!,0" eT,:ԶlYqDu-NJ2VjqPH p,n0&c5`4RRb% , FB(c2YeiVBH RBMUWDKAM Y#maL&!"`Q(%B(%YPi "/6evu +}63}oF"FȘBȲosF,rf9[t"!Z/&Rh-a @(6FH56-B  APriB(Řb!V*ODV2# `0B  (22( Uo {a:f?f}v1A&LJϣD4lx6qQD*7.à#Q0Mv؞JC.;hތesDvݕ+7*t4>?޼9,NugWgoekpg=BZ.LJOgduɴ#66~Jmŷ;׸o(Zr]b'Q1WH(tYͭ|QͳY,K}E+$h AiC*>V:AJ̔!AI(3yl:M"Q;pyd < gm3FUUBkU(NIJXfZXDj`ToQgڸ 06wIs4YpZQ#zc~.Fo &ի{G c4SNӬC{s^|c?!G/fR.X<b$-uQH 3 -T$QlA-ǡ U9f$ Y,HILRE4cQ@bvBD ZB@ܪE)e@/: tZi#`"FF# ,l;2TSl@9S&w< \l,wlF#bP>1FBYHcB:qei FEQȅgdB0G1׵T@tlCIX)Bh)NrP,rT6'/޽\דի8Kn\+[~ї:,fߺwtu{620oOK 7*Jeq=~nL \YN;ywl(~sXrr(^[VHr#h6eͲ,wFnq #9_ 5;Bf+Ou:6,2 ;.k (GI]}|oyi)SsZW>P`)/ I;>k-~ݛEq[Yg/vn6-(ɀ~gzZ}퍭/TX Vi>.֪tt8^m}qpbĢ}$ SIRBhZ;;~mW "^:9y9,ͦ'Ln~%?y|*(eeQnv671UI46'RCqóӝ[vwQnX ~a/cT<);C\^ڏOŌZ) ^,Z)fHRdzot(Rdl> R37FhI9]`X%T%Ю1^ 注{zFkr[ QFXh-  :¨!-bwa &Bc0*04VB-^g"ƴ.^PkRh 2/ %`p4\(/1ZfZ=6zZ ~X@ (Z8\g't"!_V懓b 4TX6WXPEqt2(^l4]@e1bTE+MD+YAb>%E] mB0[;(8 yčzk+NqmҮhU.?[o4=8]rv岗?ƄhJV^kɝUZI߻s6L4gx
6/sDeN8%s/ℂu8vwT*W*dqOa,~oʕa/##A2Ԛ ޚ XJ zÓg7_}kUI7VO¾L^Z+;Z&I@1J[} t'H^~v4^]n"/Lzm^! QITBW{՛w?_><;{JX'Ȳ pI0fN-ě'}LFg冭Q`2q Q  mH7BrJl2G)6 QU˵  0"@-pbc@a BeB`*r"U4e E<1"^V+@( Ahm QpkH+5@/h"MXDic^^ N< 3hVe7J^x PE2 6",MRK`@YAZI,* $"H/[@(#-'A(xQbm/@2/`~m.Q:4pA q,*Pq:3L0!2($ɟ WګSSOyZF8茰e|unyI燝O|(-.aΒʛ^rf:UJ4$ ޽;onpi0ݸht/mhlVJfI!=t,EIO4Iξw:d;JO+ݍ0p4Pҁ 0 #qy}-Jyzi %BJ.j8^x.d?X]gk}7 #2>yrx:OtIj+ Fs 08y .6LrH_{ *mb]ia;3M:>st$(0"۶ƹȢqˎK˓pv֛f)q,ZͥLv^:I =%,tONHr0 )6oKjjCp*382 @6"ө´yˍe#,i8T<~"2)Xl< VdHcjs:E؀6U-a0 תjt4عUꌰOTWw^}/n]kmy7}獷6Y:|ݮpd^-9cO}|#TRԦq0PumjQ(gEKS%bH!u0 2(r:ˮ뺎:`m4Safcf+Mr8Γld&I1ʘB0hPB(c #0iPHG+FFÈaα iP͍a!D!PFdsB=a3a@ڀ2JiD5c #q 4BZۣ h`mw*9u,A^jy<,'(R+ mۖ((RF67!ogW?O[X]ST^OIRWrNNiɶgEEaͭuCǺq!&tzk n#bgk~ЛK G{z~lυW޸f{[QceT(eDo=on#N{vӣuշ`{oe1+Gu;rZ$/ Y8Y1ؚd^sy9phLDzR1"Q(HB[6d2Ai??NŶ6()e056[I{tRoaDHD˅J~+OȷgZztܓ P ~l~T'r Q i KMn9Ԋͽ凟EC6[RbZı__"Y)!M(%呞[F۾8߿o\w!v%5Y__){˕R-vO12V;_Y CMV\~zf{:F,5WW i8|5GW6?:wO0 9ƈ8G`(57_m wP9dX/?:kd"e\jLƶaf9 YĪHZ., S(@**le΢Y/ dYu=}o>,=ye-Y ڗ׉O&*+Ӌ,ʾKՊQ+hbrU\˿BA8 872o.mxq\i [X ǃx ƄJ!x+qYs{YJ=J%z,SYF""mk0( 4diR(a,(ub@J@c@<ϝɢ%);R xU}/CL,nkZ ) 1E/5sB_X\"/$(Z8 ~Hh2/Re Be"l_A@( ;/,z5c Xc4Ƅ! % &*v(H/\|)r 4EQwVP*O^|-XٵM>W_/6]?fvy0J\l&'(7RJB0D@F?p{B;!.2 CE gإAsbƊZ뗗?՛7G<ַOijw`IfRs8U[+ rd Q"~pZ4'G:]*;]Aqltp6q<|:\VJյ4?x]ޠGVzgE+g1Us[2/˭U}Rc~QPYwZ<;Fٻ|LAw僻k&[ ,Rn l,*θSF>/*QDG0FbijLl"y._%oqV&׶W'8~Jlmwj6`~tgv}|p+ΣX(vdi$ͳ"^YZj,?[[H{hz\n7޼qrqr8I-呒kgsoogPJ{>ԛi6gV!_-G۲!Ga,a`>_D9us꾛&Ddrơq࡙S%fcvӣQZ*wNq.O/^eqRq=,M0"ǃaR{ޟPlBn]>y1IBmũ,D soL=qk҈qo<}euc\$SteLJ7{ol[vׇ״3{HT֣2P®`+*3F~ /7VO΢He,KLH;tZQ !u[Q|哫6C_FzUtqfuZ lآ,ъ?='fLP2)}6+U+q?J5Ϟ T:7DFrVIT7-d4WR5 W&vP(Y?ݺ^b+2E6ZR͋J{W ;zYeoQ<| F7)Wi$m0#mA`bA>>>x?{/D@J볳3\Y]^RjQ T98UYhfm$5ضug@1ѨJ! Ke^3Sg!)}p8Vi'HYiCa GJkTfqE5^Ŷ(YF-Y%;͢jeDBM-o~X`g?`cgng$ZuC~o~uX!Ӟ,QB!ijԲAcs u uR %iyׅBBy!1Ҙ /\ۓGijo>2<V;Gr{9  ]|1 A-<4#N{s߽V3鏥Xy9)7R5 Zu\5u"? s̈Z ۯ6˫wn^S<\l>7ÙGGߚm԰幅6tfP*a?Yyz4_{#:pmEEQ*ASJh쪵V/%u]ǵE sXp1rfW?˚hK\ByTjHV[V+PmnAwlnEZpo8۝$჉Izv+~ vZ=̅FHP$hPsݭ^~{i4Sqm@0ۦo3L,E{y_`=> 3M)1*SF=>brI.U7o[߻u}F#q9?[|~cbQ+;>>J4 c&޽ѩ3%]9M1"m@'}L9}ΣE2>tfYfΊ5C/j\%u~?|~e4u"OQk+,(RKV8\G67۬5t^w,xAs]Nyh`l8rJ< 5+?zy:!%FӣӏxauCdi\&VK bi;I 0 0$bSv8.N#lŚsVmRn5ARB`$׹ҧϮ<}S heevFmu9? 3wVpBYƂ&8jRiBC0VNXsʃ=۳Fݴ?^nq礷lȹָH8ڤi$ YFy.(k&ť!j5ݽkۻGq{X w$sh: mHT$`s4A^a4W?}j坷KBe4D b3keRJeFRx \ e$P`)@VL@h PIJ)Q0ZhBpTZh0Iv'F{-AicZk0dB"Xs j4RJH./S@1%X. nCPǶΖY̢Ԛxc`1B0& `1+gf 1V d1_ͼ h4R_͐mKBB]$/ ZLnf6Mukp=,gAhge/޸8_931S!k խj~ݛܷgNoy;8}vOxĜxyd<.fkڝ73sr}0GP+ݹc֗#kzάѣVRuP-H0;do/<$IݠT{h>_ĽN;gJrܦŇbOK /~`^c30*<[j$O7Lݞڞc¶3x; pʙEN7nji0yJ@JhSZfHC^ r?㏝ꎆJ a?nw\wuJ0T1tCO(|F4ʼ3J8pmZwK<力cF s V KqVK!B('-\I( jiZ  Kf$\baq=;Gp0)e|#9"ffi#x]Hʍӫ+o:ƲY2ɃjM'jM a Nmj8v0zɍrVȓk\Ofg7jIaʋ,ı8@!8f2(ͥ0mם@TZ4,$*Щ*7SG("(`4ekI)m eJiÖieӉ6ٍsKWVuX^WʑGӛ>ڷhc ++*u./QGʼn砅&hB& Ե 被 w٤,ãҕ[%ޑq_v͛Ki.NWe8[>S0tv$gƱG;H#71!.LsJ:ASbO7s7OƱ*[1XD ޏSwHpQOYlʬ>Ů"=u&9 =TRz;BwK8òJJosG3eKC!jR>x<}Tzm@ sХVtv;uuۦ\ (W`Ids'~aQ/S2!2*BWO&3Pۢ^^d_4 h35T2TrmwL틧3w@OH)a4E /:L)Iij-VcF OeJY0ذ|8⊪S=E362}a_- N7 L JE궤yppAqXm9mRy,{`yYʙdCa;RXQmz€D$i8\6#^;åvB0 ph)g\ibo)P#].$0`rM^l(pn %n8Ad 0.tB?O&{0"NEiwCe؇r8:ӓ%zu|ra:\\&fN_MZwb/RH(0 x AŸU~L.. y3(X)#*gCV蟴2 Ld8y! S@,"lJ9slB1%2Q^vXfH`;>Z FC+e@씃?UU.]8 ZsK=^P/#,jIA7;{"Z-^֋E(#_J̦r 6fWS_5U$6To%F!BHT~D^WȫfF~=P|[xZ鳳>DԷndi$:/*cM("RB-+{'jS.o?HZ7e::DJu^ Wɤ&HϊcmhSKoI,:qմsUx@GьSQΎrS"di8J-cUS"'5CeTIK3UHWD^jLa(Mk|(_Wݯ-`9Ѿꑲ{Isoːa F"ux?>z|YO).el~(2h.orxU각YBgƭ}Mg3"=>Kљܒ Pq_lYdQ گ%׍l/=)g;IKo AOb_u3lɋ'Cq9uԢ2B)mS,q!;FPo3'hC^fYA,ܦuEׅJmaRѝ*+X>QzoK! pDbwx{s|NwKdګ%N?ȋZefG뽉sG Ӵeضm3oODSI|MNiE3f;޶-⪬EWfKԙkF;'ZH G31Ͱ*q~ eIvS3E(shJ|T49íZ[]Q7O`sbyi`m=g*U \b_"%>H4a9ieITGt0Pz2Jj-c3.H c ңAOm[2uc;k`-G?ge/W3|I8Sȱ zQKSi%!.e}.e`F1UY3c`'ҧ#1#gb\GʰqzAzD6aTأv`VzL 9^eӦdY( */ ӱ=G8Ł?/f~i Wz_:1=94a')Dg(̓TQC-thwXt?3ƈə6ek+˨%Ǩ}& E*cߣIŒAW5%΃f=ȇ]ȣAd OpІ$5P@sxaf*בW `NҀ\P{wB^V_NHߏEITz ό) *BBF)p-PMCeBɊՑ@K3o'[v.Z!Q>9ES^řghR_.A n=#SS˼,5s\Ȑ1Wӆ?4otr_\ \Wr1DK".% CʤAxP{(|.rӶGvvPEcRՓ2P ,`$":xfBZWeoX{S@]PtBإm4ʄY118,*G۞BuLIipWHLL $&)2%S0b5Q98AY~ԗ@d}uDm }XD,tqaNF/:3?ơwo7ۧ1KoXE[ET eyCNg!Os7 *6\V3Z2ϐ읪mI3ʕPˍ$=:ýc·JRsM{Nr˫)~pqŎ>?rЮbXgcco,zc]NYSe`^h=p٫cu]T@;QC`Xԧ e:gtg#[1وUW@_J‡'yˎQЫ7wEHsD0 g8 eaM>Y=ԥakaFpY*,/ uG'-ONw臮\JྸH[][SZ'ʙ^ <8[ݓ1^kujڽ~m]{Յ$ȇw!e\߸> :.$ Ö6p F(AZabx $MF77OvF#xァe'\Ʉdx(6=!I?yzԟ5? V@HYFyw.[1tF4RCsEg=| 9 ;EcxD(#?*dVؠ6\^,x?vXtX .훹E~xFGܗ2LXaCc2b&HsdX\6݆"3y#F1i V'*k=\ 2GZ+5XQa?fY{ ۙR~>CTI+VfqNN+1՜g2<55Z"j R#Фӛ961*c:K{(vTu,S f^5KvbY QݑQy<#{F0b(3n%sWtpۊ;º EI΍bGBw>@ȏRKrR{X*]^IueeOk%)wT=-Li0c,Ő Sz?ǛB1Z(xwp9T_!lL"Sk哢/q)D1efrdSیE8* 1?` UΑq[UO0<8ĬxF"L@M j<`$FF5> JL  Jhhdu.xXyg٢5I@ 5M) t?9{IhFH!c}Me{.F̕VSDGt CGT:Qs=$KcDPq=ng*يÚ͙ߊn8X*b(j U:Ux%%X" vD;mZskHk#ǣn__Q&i)Iv~n=֥"9a`0( #JMց.} dQJSkpf UOż5kWEA5؝$~0:=pJ>m=OOϵ8-mXmV56h9[Qx6\03H=dPa7I$]wqxʸ/S uVI|$=Ws>UgH% Y Hw:F?䎎 4Ͻo5|K{>EҏXvܭ{c:O76_BAQBb404cuBBJqPC5 {61?QDW(@4b,Jć<K%qk98l:hx@]zwAMVJRQ b]۵,n#bFp,aĊ~K`\OKWP_xUNlZ,!sƏ/ӥ0Kr %`t?rrn:5便:\'xЀ>zv-PކnYH"Z.*T@FF GP\ ;n'_1![SX`dĐ @y>L 4B{DwDj/2R ,~S%ހ$u&o@|0p畗6cgmC@aK(ky:w|`\;π^ôs;;-׻Ff~vem2]R2novV7z.[FY03)oj|f4Z,4fU44"z" ^Aڴ睩 \u[ rq~DR3ep}҄_XȭAv;esY^!ט{p*B{ƽcrqq_ׯ*Lyf6ffoUgs<Ēe?;X8[x7dm}A`￰:lZL\`cTf_$ciľZg9:P\g|$|6U=vʛ]]D1M;GjZñ 1OGPvs:S;Y{p^Y~Zeu<ȌV _E *QB"~9rȖbƀܕ23䟍c)J|ãy86Ni`!^։2h3bD]$k3au^*G:!z\tlT :\'Xbo#<dϗVL`(`NY{<rz)`ӣ^asLKG{.we#{zmMxsnH'VM[9|"@1$-67X dP@E ˒; mE/쏔>"mpW+!6B-hp ߰4PN!)[2\ ke] $li.L$oЀ~\`؁f@;jK;J%s42PZfsLT|S4+F9 ͮɜmM׳w,:lqKʢ?e1D06_&:`%|3+w_܂h= EB9 Tܨ $\ o GL9TMA>xSZ>CDFfgۿi; ,n20 wO`ò]!hk{PGP4Njh] þ:ժŋreEm%DZgZ<%^mbvy(t]ګVB)yc4U}Xm"<LDTt_=ط~|^s$l <{>dTEjO\t^|~}mMq:JQ7(©H{e#3]C~}ln x_t5w?~.բ/b<:͠?F >X<͗@$Oފ܏#ǧU.3,݇ ?=lgfLM4o^/~d!tPx?hT:vE k+'?r]f]XHfN˖׀Ihl#ԛHk߶eQ4l3OKxm;{\iǢ'ۦ`l;\x|i#H`X,[Ɓ'| 8V{qq+ؠOm)ݝzdKg^ݦfM±?s!L~Dpת))y85$RN[LZ|!X"ب3!,R4dʎ.g{wfqx_~m6M_RA8xr*~ 72YRu4uBIs**>JC!NGuP!a!I 'ATSÊlx?`zTT32*0 udп}S \1UK SZ UAOD111=2@0:OZ/YpY,EehriԠ?dqDF)(PԺ#_,v^d ϻ?;Ps,j6h1,Fl7$:(XlH 4B!.!fYj(=/Gʘ~Џ49@l2B-BB5ʡLpK1rRz(Od|^?,=|yzt]LkɌi5f 93)M TJZ=\sfX"Lzv! jܕyx0zmRJ\$q18k5GB%m!yAsA/Ac~"^8/6 &繅`Ƶ1z ZNb#"hBz"V*BMaU3[~Kxrc(" zvl}}eXnA3ԙO_lY ofdj W;_FN)K,3I=֖͜NHp YJYAXԗ(ݷ= ʋ!2."waCG3vw N]ݝIޫD7KX΍ uy&1[Owe4ؖK!Ҫȅp&MLq7-Z[4.01QəeCVGFkđLćZj\|T.oS@6(\.\/ـ$SY:SWymԦ"mkXOĊ@e ˳ڪě-2lN\~MV:edS݅^)V};W+IdfsݑM{i& z&>i_Ib eU+| "elquK᲻9^,50t<%xEgyuIH &?wm*(U58b*RDMí9u`M˹Q~I c^V䩸ǏxP}^ ңdɁ:4G !¢$e$K$K_pl/'h^R}ag\`^_kPLZ ITXhˏ  f ?#D&uuD2x,Έ)E7,:o~9*gpG JLIVp`%hߒ @@2s#+p.>˄ЀޢGG1<@|yFSZ%:4#C@ˈ {=rHLYt34>yߣI6JvQ b$ .J F,JέIW5SkԦ-D$MAg @%)tN;_eJ6+.d䬼 )E$.yQ ">|۞_~6ZzC{oXq@cyypXUJr՘Ϣf? W2S |d-2 ҍ~Sd,S%%A@ [ǓO9T;p60 Іbhr!-VC)5W#r"+LgĝKz;y>eob誯Z7Ov \e -l䦶gVUV7uPSR5`2,׍U!}qg׸s*:ፍbz`MrZL5M<LF&2++ B<Ő" OlNHk^ΏߞT  t;S|vҺ-0zKpS 9z&tׯ|?=VVV&UL57}v <*\Jbҵ4scS*`߸eE`>F[}<]2!|:jZOoo fM* ȔMr"Y%qݳ<^8q:RCy.̮#ris= 3{y8`Q6Nzԥst:>e>BF<+ɵp{|g>q !i}mcdv$=3noDSI01$PIP(vF6 x}yP3,I1h\$MoNC~,O-8eB?MrȊG' eEaRJD3Qc[ϑHQՃ)i3#'(alW–j*P`t\}rA.IIvh8ٚO4;Z n!;(S<ƇF8!SZ%W?HnU+2_(vJtn+d_q1VoIyd;$Iqͧgjo2jݯ3=Ose_H>?;d\ofO\\\'q :C_ۺ>u FÖtQcfc=6鄶MQv$ 0Xvg+dM%-yz_毊h㍐'3:w>Yq㧧K\ݐ[iT 憥mnMeP,Ǭ Nr:e;4-fp[߶BH]ũr! ;^ёQ4JGjۣcmQ DNbrlw؀'R1hT0_v MM"v";ӗ=Op);s_`輦ei9 75FؚXӰfo;( 1> ~-krn ?z?\ii^d|۲%/+UJx@Ю1P?΄eI b8$ڱ͋JFOvhCJJXl/+,Q@I%LmTأj5F4  !ApO$a8P`DTJM_ԦP߶-pD1([E )bpr%+<} v؄N_QȨx[B Lĕc( 46D֣QOr.;NbE\m Q64:9g&Ì0_g7]҃ LV%0abxo4 $ֺ*&AH2o/> -b%OkIrT a)oH@3lqTh`Cj|vU5;=K 3 Qv)!JBCvh֎jM5^M 37ӸpEP 2 BB~3D(Xi~L6i~Xe24~ӵO:>yyʟ[M(I!)LkSw0&kMTGn~:M;wJ.^/+~ԏ[gHiAJ)U0Anz )W())mC}B`uKˏnG酶f\+Ien9>y .L-)IS+t6SmSm@üxږ(# J9ii6k쌓HDI ҜoDH"dY\$co۵ΩPWiXL)nϞJJc,BҠ".&ՒM-!'jV;[/d1i 4O88u2<nMG5/SƁeSDǣ(OrF.aK0 [TJTq+>[0L \J6{=Y&3o/<8b0k*Rݒ' Cd0Nee/҅zK"~`ΖOMth<HUi)xea!.٣Hh6=:T Pu*x*@4byF G=7A[ A?PANs?ʄ$#pk :YDA]&T)BCuE*ͪ]Ț1C!}ml r}I%pTK,rZ_V{e-= =nyJ})heyKm6=6VQg>G ķ-Bz)[IEH'Y J~|#FJ? <]fܞfƦD+ojp3}֨P8N/DHL'KB4צMSO)S~yζo:`쯲 _4<ZȍKۄR֠ZnR3J6c8HjФ>u/V/\CbZH?xRFNPɵK§` D jZ僇 :s"ΐw`#I5Ce8nzv0ũl}3cHz#D`'Ň7=7TJBy^x92crր,x*s'; 1:ԗCٌ=!iYVIBCYvUpA&TCuh(\Nx?otLVr?@5-3ǁ;E79'ܰI!k|&.|4^7zޖk?o-ec~y#}[m~ABe-o,FU0ͣ8?yύr@'0ziKփ6Q6FYW;=&HN>&ACYFgyE+C:b"2v̦ Mg8?>H[5'e  k I lӋ$ߗO=T>EgK0rɬE ne:w ),]G> lYa%SLxo\[_w ƁNRsoenT\vEzꡮ[= ),Tc^`Pejgee[$۩ Xl-AI[ulɌXL~ FrIf, C锴SqxQ#-~PF\@(ԁhY(JH%Ad^-!gO 9|O:׵sg}3øI^"10S>ЈCcĺfVզSK话יRȔJP0Q  @>6AoPfƀP!CdDCB[$O5 K$2 C?.c@ָ)1P(j9|~~}V)[@SD1~YE' Hl[]w&d?yq6rMAeᔺ7 m*t%|k m)[nCG{[i8/ +zK#hsl>?~Z5J"'U;{>a y(ꗖNdzPN>54QyCsI;UeAϽUh9zTsJmexY wI9|<3a|5I׹$~һ5!v+ɽ`TqON?ZtX-o=gL޿ͪ$YdDc!ĔICY÷xjx-~BWHm^DkWh(OˬΖX"( /6j}%N]v"/ +1r?( (+>dc=0C]NVn0B#b ia 3]X]!VnEP 0 B^SFhDx,ÁPMWҢZ2]X#Iur'_Wv^bLz1eeיe\W}Ӣ ^G z ՘x^@[i{H#?wZ&ܲ;wXӢF_SfCEx-FXcTpvNpPGqki^<)ߢW_h0:u%_qxe_c]ywp+Zдy=?'Q܇j6ZlyzzYV_|[-[`gYpDծcōQݚseߦ{S3犲RD)_^ jd;oS!ZiVYm^FqCăb)ʔcCM4`{|g;5u-b_WFB禎>Kf,hۣUMiN\W+nE՘y\ò1`_ Ɔ[״Y-dwWq' `+*`z<u߿Y;&Dg!MaU+v #GC(ctV Lw]& *3YcRS>ۓ^ JPE Z48 c?FR4U! ;IgjQ }DZuI?!iI7cQDbF|دAI;1ipEfDԽ 8)6}|tw 2b3t&>ăLJ aQbZ{(&ʑ03&c&Fo]Pr@3A=32M/ V8!z>PZPK۶<@OZ m(o_]`Yg@Q Ͽ[<:._~EըVԭ.V_vcwƞ#ˈCx:g2^X(4H/dqH֥TdaF2hemH'i0[,ύRSUMYZECX2}mUlG1#_^5ig,ORrFjO z?d|TKBgXzcJd*vIz()P<σkR )?aB{ xP8Pvƛld!檡|0B-cd/mb# "Kpb{;2I  EÐ1sg3O$ O%KHe#*Q!Rct#RׅPs8"(qu$-2c罡&TqVBt!KKK)8l {qsQ`-+1$зD'vyR|<֛]e+:2p:\kG>DQ3wv;\-(jΫҭzç{}) A]hQ7wv7yb=w 4z.x4"^*tO^ lP}pb|̅HXL(li*LpiԿe$FfE!*F<7Wsא8B`\gB"Ա}iuH cW'*eL`0B?_6E/N+-+5ښ'b 1'j_ZAB?O7tj,TsܖԱD1ف 냈±Cz}]}9Z]흫&hzEê-ݖLI}N, IH0jd0L>yݲ  7x7(2` 0pLnc^?O8LF+É2Gw.!qa^?LdEiʖY6WEwgYLdA0@JgA&UP ɭA8]<"&M~>v|(($ăQ1@I~6VѶJ}#WX<-MY낿m73[fZ;j ý3[UPG7/4$k͐a6Epr{w(B:stq0CPAmo,I4˄}E?.ߛn!^}˿LL_F_j+Y-%Ys| : |_!juN(.mUa-yHЍ"禺Կ?˙,$iW}I6ң}޽ѷp v.}c/e'6q(il5vxB?k%8! =˗;p}sW e;&_Ya ]2SvRkD&T챕i %*]8!'D(>[ICpӄCD`0 ۋ\FlA:N `DBz쉼vY"~*HA*>zdePO"%lO*=mN uħ<*2Hds1䙿ph ON$^-o4MqKx9$ J(K˺/_} fn$-?D_Nf+jrx~[z0F$Dh{*b5)k!vVO0n>}5SQ>2ɒ)z,u[j!pUlt@JDaIaA' *]Ix:i%hX0?r\Oo+7g~/Nr );Վ7-d‘qCTR<-m-ͲG}jZWАtF3I51#JfWW}re^H3k<wMN`6oEY;Qz8*n.iIn1,f{W x{.-?ڙU\Kw\UPMX鸺Ka}J})F쓾|zg›X2q^s1N;WZz^ΘA ǥB$Fom矙>^n A6>SՓ6b*;Zæk)ZYam@| Lӵ> sEg&uw?h~g.kM %ya`DB> O@[N.R^nmZԓ葪j[Gx8W^c8ija-,uO!C5RGD_#ġ$:n_j]?M`E.͕*jk~ /Hh#'۝c* ǃu:T8'2"DIGwq$ E[ܱ`j,tX\^e%N8}*Dz ?R636@f=X1",fnԔn?\"2!o dMęJTm1.l jˍOeŢf0@#ԟzx`㚎&ŸG -A  G#Rx@ɏ٣Ǫ:/{kgHf!T I. :"5K@,>_ E)s%Hwf'Ap~~jǖ[]<£UJI a-X>`Cq~! 3o&k$UZ1t&0~31u:Xm0赔QOqKBO 59d)ɔ,Z&#l>EH"_f{uWf] 1Jz"qRe=T<ޠfC3PGD7db앀FtWɗ4DUBr/XwTV"!u 9Y[&')qV$+J>-𹻶<~pQ-4MeUJz/nOO"պħםsߣƷ |#Q+ ` ;hbP eλgzѤv%M/ο;>^?wQ>/+%q_'\딧ai)+ĔlR齕$6n,Ջ>[ ӝC6l|C9$`30Oje*H$ģvRyuW-iVBD\ "皅&5wWǧͻLkKp]u!&3P ';öDQ܍A{$m09 G[!Ew.yq _ w 秩2$& {yբ$/;LVoL~Q?GrS`)d=tGF`ܒ(H͝GD+~'W_Iٳ&5<7˵ Q[k%9tX@ rh}EJ",v[z I`d,h _ȥ@7Dx߄_ J Sb(Ƞ" B[ZŕQ |] 0 -6E?"LΤT& (]ӱAn&LʠҜ%5EV@:xz94`~H1#LL㳑%::>fx((AxV w姴ȁhy8 5jbؙ˺Q~Ԓ#?GzUѮ l`f|c/$󱟳ךSrf׬b ], JũѯvJyn?Vp.w橏f;K$|r- ԌI;:+J"?%?iyS c×*rÛ8(" I&=؆"Txuʞ?=7$_xϏ❃t;ےe3b |ۨ ;\,?<Za' bPˆ5Da8w׎{gy,:8̩[FK{R&\̢ajĆNMlwۣgeWNXH-< ɤ <بmdf/=[\"a5W ]g/Ar}nźpJuMv+EM'|Afךz}T5hN5vp͸ŵv93 I}eU}W֥6k)#?q~Do$C]\d] (Rhrc;S{8ܾAݧ@lX`S퍗lro>r'29GYr4o/57EKj4<10BMO5U6fB+lsռU*2t#̗ş:Vi{g]]>4s,waN civTBnr7r;ى v{Nڕ|Q\G%antI]⅔8؋aѨj!I~)ӳ1QBs=Xc/'ZMac3/buCA͸^ِݷ&y|r-bNԕzR"IAmBy瑏lcJ"2=Z#zIdlRbU؊~ dXn)%!Tdϟ^Al/C.)o/Q6rhH?s0 1c} ruG1@~rΖubNx6c¦i~|߳PfubqtDd!+?rZԕ,΄~Z⡛L5|8_ _!**u6ӗ &2x|X͡tU5P?\ #N>EG14(-kZ{+K mq?3p@lk'0;ߐzIhK7ٌk"ՊKx$ȎX;Lc(&T' r̈T-\e7#K~*L!8ƼY*s8j(Y$)@3&8F!($BP6ch@t l(GHS?[]w8L;؋*`_Iqʄb&N~vvxxym>RƎވKMZA#Es|ڸ2aĹa0,쏉O~]D۔0هJyVqww#q́n"V g-[ЃL9׽kQ^S&ʺ%h9_,h`$۔5p;&[6%^\ygV.}vZөՆ|V8˄<`3rO4G5G1_h&3$߈h~$et`%_\>rTD,Cq q|y%z`YfMm'Bzw( s{Y?UǚNº ׹vGnP|z}lv&a21>u? Mrf`M>is)yO>\kK%{4oKY \"5Ta("OxzS n_33XILj_Uܚen1ө.7: OSs_2싈N 3VL$sd5_<]_c|Khw)8뜌*A1A r-(R((1z.UWiS>M:o\Ε.E-jb4oJs?䃛rԿ&:R2e^%M i%ܯF.LHI:M4@ȉV*(ҪH"9(7^I_3R*/$.,N1)yqE-vnA@R:Wwɩrx!&kwao&W=PS v^ß}vb^t=m:I;3MdP˸z#oӻ7(ZqYj%Ck]7ew/Qg9OYvzz]^`ϳ@wͭ*&/Gy4^h8xWHz?J(Ap..1p'( nFrl"iDT0R#!G3t>ns4//1,2V HuA1I\gF5EHgDSۅ}(t)P4Kw@4'3z'lo:trX8I$7UIOz|DYh׌Zc#N .a8\T!q (;+bl՜l($dk9{!9$j ": ^2 K&dE?"Z S/ԡAֆ9ĵG4 bPvyֱԪ4sazن*wx^c}c_.ي{ֶ/W==G8˶JHQbcEE6Hk Z cOVI&??-m0<.d(GoJ&2>_ Cp`V]"PFJCXj6s5k"[U{%_bNђ|msB? jB[K \ q?]>Brj4lF g$FV݅W[w8}Լh0/I hݗX~c}m^F#VBku(8~dpY P~XEaZa!cXG<~s4@*%#1 FB*/Cxc` wu`}Qu,"#6";J@ L뺙Ȑ%̩BYSaP*ncJ zMT7coMȼRJ994z' QrHYFCv֙`f_ SfLg0mno YML#TJ(}-vTONίΞ&4خz.~KKL1(Gn^c_cB5kƺmpyruT#-K}߸?ۋd]pݮ.+ЙuJKg2B]ߚKg+MOYZ&UEiy=.P)>A jJ0DU51@οE\C{6jJ_ @:cLD)(f6]Ur5X.uCwRdP!Q,+Ư"5 0-$] 1ź5&ˍHFr1)@L-Äp'ty[V{># <ba]NF `k106!l89lx֍e4XjN'÷Ǘ=/+p2]lw{eO5V%o",gΝ{.\oNC#t6ScLZ=MŤVUIta?8YfJ/NN./i-i+;7[QKlrO?( H:lyc٣ql16}60$K˜[Z \!HV`2gG)aeaRi$eU'(CMWJ\N39ǫmɕ Yl0uWۭFGr18|zRcueZ`EQAK"5iS&Er}9LUddgk9- P]ƙ`RUJlGٚ9VUJ˰Jq43\QJQncT9yf%25 f.5B$H|D(E0Vjxr+;3VWӤm4GAL27wW]m姏R;/Ģr㧧XY> r!2<}b[2-Hc,_ۺ#+.e%Ǟsm}㵍mf[W ha)mk{xeU߽wdhcX`,BhA0FQ1J m;?L4s/8dˡQH Y) ^`2^YH 'cAƯ輼 yV2H̴1$% JYY a(]A*Hڟ^=w!+@&[Kwn@-9 *Dtl,;-B BԢ k. XHE06@U\_مt^p ^<'Fj  f8ҋ/ Z([pD<Šay cc7<@ T%ܿʟ=WD1F `tYꐔbS(f1,0B)Rh4~(]GTY6M@5Z7`)@cZ -'2D$g>'1֟񓉑@/G /89>a3SkC6a훟w"˭~׷z 2)'aJgj'U ;<TU60D8JEp]tnS* 6_drkKܿq=<'΍ jw𚭬VwZ~~wWKE-Abf0P%p.JšW\rLk+ui LQ`0  ;)R̾Ryu7{_oY@Q.s^֛ jeT!Kway L"V=DS خ<3:iln<.G绫;ݸ]*<[oX7ƕà]{j/'oэ7nOkRg,+?hhc5lZE$g7ZHP.O1%dǮ_Ew|?>6d43I)$P hi\ud|t|V+P~3pRNY*LGdPkyCq4U3fL)ɕF, ,=\ae NK6kEXH3Pdzk|d(*(xY8ZryRܢmXRRz rq$&ϣHW[scg3Emd^5T4+KLJyyRQ3F:07Z|=v]+RxNǻG ϶"usW(Au˒ՙg8_1 Txn,pX]ݵV45Weg}=F OgNk0jE%+womr)BoFM7ܹ2_E+RFfck~r6iciVEG7lm?^[Ezrַ7q}{ك?[['4u.^u+jL'?7n\=`9y&_j tt}t9OBPN ) 8׋:O0`{`@UB76%Q0>q4ihup曝Ammd$}.DlBSy&7W`κdKy9/-LTy~{o^|ZeϑHV Q0-.8Ir>!pഛ70 >O uLfl 9}'e")LBn,DJm#ecdbuЧ1Rһ*gЀ\]{|Y*q ߸򤮬#.*GT'H{2$Q}:NᣓV̂#'":崄Lk&PE[s3M,'zb|52P ώGgS][j=pArXW+\;;3{vʗuſ>ޠwڍ~{vgo,Eg?>VnnDnwautꦄwz~7/g}K{}2*f'v/5׹y7"OʙOѣt' h-^:' 4)C-)x9*bP"jQNx UXޡRhdupև B$ o+]NDžF`AnwA#(^V-uӿ8~䇯{mo^C"ƕk?~z޺zG3o?x2Қ˛7/N}cV׮ nŃ{vg'7^TO6ӻ#)Ͽ%}#l# 罢AGKGE-" ε']&UtRR׷NΔҺ僣3akkwinWgH`IB R#FG6R))xa-?:ibOn/YLԛ K/?9,C+_,u"R'!N*UO?q$ʥ~w4\\xE8HKuÊUO&hk)JBEѴ%Lc2RB)U(ThI:'%ontR]ho柝yר]ӜF$ /BKj46/'/Ff)IV|U-ő+-Aa}A$Lq4l]i0PR,nms琵6QL]<#WV EQGS~2)!dl™^\ӫ˩Źj^Ȓs<%Ir|^9 E mt֟g58 H@KѸ0NM}UZThI#Zoi?T"NpkQ\pA$H#ͲvLR |D4d~uk򛷖udDD[/o]o7nEgckr`x}Օđ192Ad6DrQw.y] q/D{|tAuU/wo>yo|teiɨozʕ{W_hw/vw]jFg9շ޼f_dr.$XYҦוǣJ$)G,2-bpżYnYe1`r wW޸P-Q3ϫFV/tX"7;I΋I%qdJL LL&QZN"m QЕcp{k 0Z+'hJ:qemH,R t;<\_Ϧ <&ⵍi6b n'i%  B\+uQImÒs "UkY0:J҃"{ZbksW9y;lKO\g۷o{xmyNhoՏ>oWw֗}ۯ%R_}@@Tu4 d~ニ[?gW{-L0NuZ<>Rm#7 "B 5oj *Y :0v7ͣ0G-l([;4@c#~܁:uaisnwXы]v. vV6z=_%AgE l>N@we: ݎ@&` Ƴo 8bd(-mRݹ!k@<77`=\LEˈu0sl5o|]l nLiq @J%eUN%Q`%xgb^(E2Sg\&GA E"ɘ*%^ @P(zTBC&U ĿrAXw&sg\ZXƓr8Z[Y?=<_1g:^V0a)EDz.,v3Z]̫kb.mnM\xq7_;~|qd n\~/'Z {"r|Ivz|OWViٽ惫7ILҋWoln=.\8b<}~Vc'ĝϿdwКD[+{Ps'Ie!H'BR%Rt .Hd6X+ɾrYeJKY3/wQuU%Ao>p Rjc'k>r "D:ΧQ,i^$QmQ\k|PkiQ[Wǟ? C䄸~|z{7^>9غn殚gV'C -LȋiUV5K\?yH\P]$kk޸tv|V8.Å~ov*Q'_fTÓWݺQ@t$T$W._LS@Ѡ%~1XNr2 h&(&}dvi/_p^jCf%1K-  IDAT@PHZbQ-:YmmfY.Y2D"F2`4Gݵ [tG(gkk`me~NBG52$)1A Ө 1^Idl9VR6YACRSY\ ) )ex#f#$55O~Qӓ1~'obT61nox}RHo]$qQ,iijfͪN >D5) sT.ym  "yy/kt??3xx(ؽHd +bQ(Eȍ!?>C!e$R 3vqշ>k>~ʒ;tTJկg?EO?|_~j2.}~ѓǏ?N[_9-N^>;uݎwvY+uvjˢm om,}{!kN,2Y q AHdV{a#(}dyy_\2:KL"Ͷx6˓`<N*md)cO;;RHF Bpc"[{ŁyXqKIb>.llG>k_:2Kg/= **xR';NV4E-:S6P ҝٴb*2FXlbLC#rBP>cYKEhTj/=HSf)dHRR .P+b D쉄2<3)|B*rc$\2qK7?Gj'cM!n^J t`歏\|g{oOqrY*jΖacoogt7ǼwQqz}JŅOv:gSXQ{=]IYy1TT>l@J)s ƴz(N[Cy9F {b6닛 *IHɴff{7ċ'I IRQ+VYJ> zQ $t!r1$ J((PQJR_W嶪#)_U|Фsrs`c4XY%v#G2CDQPR:`A\F#6ERr4Z տo][WEt~~O)z0+wV̏}g?r|#?}u+޾zy묨qR^K>N{g=[eo}|P}*%RmY/tq=?bd$^!I l[ `adБ8,T/ʅ%WmŊKI22DvuZ|YXgbF)u`g+\$V, g dDfl*xwE/>[}yW1?^%a>ywFbp:{<˒RNE9O3"v˃a?IkW!"d4JUuPҨP5ĢFñ*%%j+BO{0Vn?yi* abcTUri/08fY0&r>q퍣ӽrgezk)13C_WDAP"9#5s>Het bǺm͛֯qBt" !Te.HA:J#AZq>!!& *&20jPdRctuǰsGI7M6Dh$O{t2~έۯ>'g_㾐{HF죃6g;GT*묗읜.o)%NÜ]tcs:)*a~}IuMd)pR,=lqMU]LiL0G+WAJULN'Z$up!0D]"ʴhjܸv]\KD!MvkvZ1r,h4Jfy[䪮| 2QHp_=JtqI,Ov2Kn,U%ZBA@6P Jr]dY:/]$,H,텅2 ) L\C􁄬ʍPJ.v,\Ԩ,UI*Ϗדͭo?wx8 6mCyN7/՛[ÓG]eV.f)= u=jR^^?<~曯Ə3I;wϞ-1,`fzGҳY6ӝLNjH7IRdݘ0 ηe-Zo|E\A|fI>zӹ"Zܸu;Tl%pɱ}sXD$UE1I鬖VV:1YW/^.$[~t<-*&lWy-`"i>Wi3ڝWn4&=ܣº~Ç۳*|kمz'/V8`2GBQ[?y[|]_NGφ#btTĚ;=d2I b{ڄ^S.rg?~_|_y0QHMt8A3M5ҋ̤M\zW4wRĆ8JWLfjҬ{r`ZeYXpTf gg]V UYm#L )tr@CSt.Vk3M'd& &|ii֪}bi,EEogKdn+5?[ "[sl\6.#{7HdL:*@A0,j \ty_:|;\{*( Gc!z$Dk~Xg)Y'BB(q6+{gVfH:ĔC u>X*ziDV" Ƙ "*GA18v5Xj:@) Rx 062kvDS* BT?⫨TVN12J(i׿VSVz궮~h}NKleM-ql)+VfCj'"YWU HIZ.:G f0/=GfE9W_LE YaB T8:M:Dir^ rVp/#sN\xG$7VVJ"(#·H.Mt@Tre,m[l',9;4qr\ͪ *u,hPsDa)r49 J<) Rv<ꩭDj GS| fOח lt&BĈT 7*˞ X !.,:yw:Nozݯ8gSk}̓ӽWB7ӕd8 Z.>ڿYX۪[>~b«W~A)b)Z˃n+z^U([FDvB(}A J'w?Qd|<Ȁ V<p³o2WyЗcc^%T:uz`b2QPBJsYϬ PM8WTڄFQ@pi(Γv/~kV?K$ևFjk\38ȌY_Ypfg I&?TfEkji}fu+,cc> ,γ'Fiݞ9%DgpSR28c19NBt&(Q l,'g/<% &)KPTZB΄$ [R? !Bz?3-6FNHo/HƗU"Ҋ満.DEQÜj–,e t `) 5t"d8Kzqe`PTe#u :h--,v8=m0+'ʺ@B7bQX2*2- .k4H+QT%a`Z @fLBٴT\$EF@t{ 1 e"v+%v`@J4.x2mb{T')2ٸx>e;Ik^q2Y$M-yrrg"c_=Aix L"p+&w\_9}~9w2.d` $Cdz:,K>x3[zL1\ٳry7s/t?{ul>< A[p/Tyw89~(ueY_|\ cU i[TEUɵ<}kʦ ?B:9z.]}b'G0"N~ywOЊ[DϪ 2z+ 1" P\:$崿Ԯa#a7 }ƒgg[b؋rvpkv_vMQq: Rcƈ>g,H ^ %y)d2ϕƾc"yZ3 THj[WKcǮBq\ЙYyy"TM~rLݒ5(Yx)@ֿkY6;jʏŶu)pބY)\US}"Դ\BjhRq\spj8@j%L$Hf'"52 ffN9+)`+'dl`|:_ c?R?WԪ]fAox왏C3;:s2zpQͻtL]Ok7Ud\E.,w.^|ѭ̸wk^Tv?#9*b_{#{hbI.PRWi6),_͋o5HsG{{ld2?|XZ_;xckW7trځDb0۳ycBBäJ b1WAVG~xvhԇ}Eh?it?3__xrzjhἕ.,>?y$@,iSCjO̪RR*>,*.Ffh#H)d³?{vϭMNgN&~''"5/tSdv˫Wԙѹkoj>zᣟܼy޽󏞻5ݼQvB]lV'zcoN~3DԩIcCqr7g`%0l1B veD]) !hL_ol/B߮<մ"$VY&cMv"R(d!23%2b6.58MNI`[6&QrhPCW**u )yiը1T =bhu֞S90{>= @PL&rՌ˛Y% ~ 7E ֪r@5CuI)"- 'e.f,'pxh"C H{0lCS<-G#Y2XލrlITUs_zU8(9Eis$-B |&vpztUDЮ\pN>S*HHFD$Kļ|'fb!akt)è-(GcLJ܁cI Pe֓5=glVդHFW{Bg(U=p/Ok%z}oB+|aUդRi؅[GbфԧIC猆x9:(LO5bX$֖[bm[bcP֕ncHUj6*,nec9wiUNf53s-/`lO_tOGz vչх> fN%)YD96d" <;'f n7&ٽgi~iH䄽;we}εAI,!̜5{.).0-ڶs0ה` fA]NON|ש=^Dkhk~#5(6p`Go޼w޺|k?gx78{V)G]7%waskk?Xї^}tvbv2l۹Ͽw'+7>l 6G>V׿M vm˻}/|I`L $Ѹӷf1-ʘ{pjo~&:sLpxdoTsؤLa*]b+BJKD64i$Sb *Wzkh.j1p?fƮue26I"*ғQƐ!,O$QIDP1dQf[g5$9'1G)d"3BFlF/MYS br$[%4Vޣ 1'GFP*76nmUmȱ\v.{Kx8^([r21{no$KE:c}lR:;Xn->V%QaomgEeި)m'GWF?Yȯ61`%Qa7+?K4}mwxOO=ğwLPT9R!\p9D&j7GzL<}s捣Rk,Ɗ歱)WnXtk߻3K8 wg6!ׄT=Gن^z=P(,x:gWU8,99sztʕYGnw2v_ʹ:eqk_O_ڮ^$ٽ4NM Įbhqkٸ;{nK#7s&[2X.-=&]5-]\47"@Ia B4-;uvg7;w.%fILҭa |Z))H#NFu]& ,)dfFB 7u-E$ĮlmaD+7Z7 6eg>_7;ΦlrJJx%v"gxcu1iL !!f*,Dd-LΘnՊ,U%'or.{⠲VҬCJIb>[FEvFĵ+So*h}\Lnwk߭Z`;uv>/ [dIN wG"gvRk;n{FF TŐY2kg>$b`n9Ѡ*W ^ukdG߽qy#kϽ(gN*9?;qӏɫ[ lLu97'ӪpQ5dG9$ 84i\6=(k.ˢug䒦8ӓEΤX~ŗN7+&m 2NN \b j?8X"آpvegqu&]}6핺c/|Tk}mS+Cz0o߹+{/_ʢ2fc{{ޜN<{e9;:|^ٕڢ.99[OS;&wٕ?|n<l*ǶԿnSKN26ϭ??'/<>ٮ/̸rѴt<0qU IMl(ljvFs,ՖW}o t9ggG_w,mxk6Za{׾i piod$T{Uv>;ήwݳ*>Gn~BQxcOܼtp=aAB؝7r{=WUiߗ٦[zA6q̻@ sPʪ m$%CC($/Ϲ`2ItXJᖡX;²SacP>V``:wipMI]G6p /<{Q  {3.31=)/bƘf1Y E+<ӓ:U@.C BVMKF Y`:+똗╭g-Ar52bFjR(\?;PXn `͕[r,6a8{a{'@0Qi܄koFy%Z蕢.(s$DLM̋جq 3귫'6=8Yk r H&lrlH3"!$$"̔@Eo䨎JE39W>*4tU.s6H}X;2 !0rVHrQC2^~O&ZvRJXQըY/TJΑg.&wΞ=usf[K<%hiJ{'d~Ihz%*(1+6gͤD1%QQ<7}g~qer0M"rl_\?,p?[Cn?3X;kahi`Vi6t Ua;p9 m&ZIƅ$ZJ])u Yg7u9mOzf8>U-".X+,^AMVYSu덳 &6%2vU>e4>E;;ݸޝ{0m}hVT"xU(xI|aGk+둥ir,G]3V 7{ޭ?O+,*.hQKo>0;{yث_V7X P%L)i^jSw|md!΂v q-id21CU٨ W7lο<?U]=9ۣGYJޑ/j(Q'GUr6ne2)F5F.hz̦yf)ɩP IU`ec' ^ڤ8e95HiH3j((IKytD6wCJ-Qzn%fQ0ⲃ%8[N~8-zak{09ɶd, 6zY5ƩNTڜZ(BfdLGPEڕ & JR$%>U ݻ7*m9d&cdU{r+t;ʽ[{r}7v._kf ~e/d$lj)ϻT Gl⤝.+dS}иǞVi\ q6Pκ1RЃ^wd Ic*"3LI"@L$ CYbKC$5a,acmr<=tFCEjwu䇞wx`rld.d"eIrۓTzm+Tk,1`+2/}+֠'{=dB}xy#@⪢2e਽+K"s1b__&r%,9ڏY@ /ƽָN+흶Ǔ>f\UT Jk;KļKdO~stEA(,)\Jt_V4M ;cD3m'P˃u5 mOmw81'KqΪp&Q)srx3 #x|e*~sk J&.q gW#յxͭ"eب,2`컨G(_xҗVY/FzS _4FxEh:L%u!j=LfRSLv6{Ҝ=! /&Ǡ~9?^h$͕#iJĒ<;K21L 93hJx%&5 u4(-P9"V2&I,:աa&dUUG ̀r 6l^vm"<(- eYDDr/!%d!oԗYU>j`_hi$m[H)ɽ46 UJ0b` 4!|ped-H$.dӅݳ3gSK&΋{o޻E9E Dٚf74r]NbD3t+[fM٪ں[`DAdʺ{ﮄe [Vl*px˥ d{;;4䊨0H1TVơo%U3E K,`yLʄl䇯5#v7w؇Frhs?`stvA|w ]ԝ/у{k8qyr\rlTWF.Z7^}eRM݅s3=ia&ӽPz{LJ -7iw4/WBk?H'>w|OIZXgɃÓ>tShS]O)B ;ԣ1!ӟ}m+:s ]Vq{NHR*C040mO&EEǨ:HXc$Jzȃ/@ꓣ%1-uU8!er),v(`ԃQc7hObdX$-be)Cc~Q1D9!d94+b$l@͈B I \LֆN)Ҩs,sj[4ӞtXFEBD @NEma WEw,dAD`oLfP"ΊD\,Bb "2 Y%z&TOXRrvFJ3UhTGhHšaam/tyyQAj=mi0xrkw_o^0[wև?^rըѠ9u͠!p"eA߻ye0+[ks+k#kiڍժm"2@!>;^ڸw{u^~SO?^~xrBӣ]w^ԗǟ|p8k>;ٺz5m.\:gcc^{(RLf'f/ɼYۦX<>[ǟƝ[vm\7e귝°kԮ?hf?'15d|pwc4 W"*JlEE/׿cOs!KCRQ#$}0زZ-ntxmC*A51懙0Yƅmg `0셭Y\\`/@25 M(9Wݹ2W^z$qZ$^4,q]cOq>xx ?9G?G\L@z)pNʪKr+YaX]0?¢@h'811,k1%IܴS}j'Ο>:.r>zo^Qga+WuWnuP[l%Krd8bc66lca {cm0p8㬄dN]+ syU5֨1s=wRFPApXfj`uuu\lֻL3%-)F˶TvgN͟hg AH()FZ8J[b :Z7koڲ~|dVð/ ŲVn$If4-?#כޔri竵Z}*޶ŏ{h'[- 2#!L,eO sO Pg<-J&IΚJIia+ª?6[Cv igiIl`,E43rmbbz5'VʅqA$*0] Y )YBqNMt,lV eBAffر݅0+0['$)-95^^nK]ǞAc`8fO%ˑv (rIOPHJXTz=Y>qv~Qv_C돬4 h'I\.s-;q|/w^{7"$ HQڱКHR* X.EnѾ:3g[Be-8o_K_{ɆLz|齷ݸX֛zxhyiA౳BE!ݜȥ9 +Y#ЀoۙI4itmH2V Yw]FAd -p%WR˗m߂k3`rT^mvbԬpYy1XmܶvbN푃'7\C׃b5.jb~*!V5\sbh8\_8yZj3 p@˔tfHF3bCC1r&MW2voDڀyQcaR VᕍOD@B$R0{(&멣֭p@2*IoUK! T pהvlRb5 jLv qe $%zuBڜv+(l~}Ͷ8b ^;:f|NN{&Z˕,w\7s A nZZ=S7cJLp9rO<C۵B²7V™܋2PiRe2TYu-4fJD3q,08+X/{n)ZU7/.K_Yxh_J|eX!")W,/.d}/UzkݼtÏ7nv:,.vvjˋQ:Sq7>7K&Η^Y%(FvؤL, B1+o[S7E?=ya|@|0gX ^7?oټ^yvT>h.5Wj征3'']n˜v[ IgYHrOIn <l|RsNhjT t^3XXO^Y."'T/̬FV>Pty7*ZVn)Fz#P;pNG\-$qA^Cn߽3s+rE9ΜbJJD$TnU :Pq!Vm g,֏U۳zenaid4e:~bo%_q_T$\!pk;ycw/sw-1s\x7͎;GdFҵNbAk54346Z0?=),tkm{`|@Lbb@bQX=le0cQ`ӦN_xf#ge{B'`BOX\]o˓# fpZ}Ɨ.ׯ޽W67W.`Bi (TtmyK*_Dc;̮'b?3yq U`Cjg`А߬1Z+C)W:y復s|{' I-E~w) 2JfRhCBqj,B-ɑ\z"RR pXxGJi9i/ z^ج<J؜bz{4p`5 0{&a ɦb5Ad;^ 5Hˍ RYnpJ>Kv Z~h(Dd9_xy2`iTLm|@8$P(ӟ{2YعcXv@kc@}sXiMp2AG^4R=_l|r;3>TBn˿Rl-y殗g_w,V+1Tu%VC+Ku FR {A&B 2S QYv*B횹,]4Ѕ|@ IDATZjZ- $W$];Յ@1Rq0\TJPEAjWV-WR*,v7Wo6a˖v-UV(#-7jt,vb/U3lf05}j P9"+6kgN_\dt_9|^H=//S|fc㊅B%uZ.3\ǟ%3x]{z/K""8m[A(\, d8ouزR)>'+,@x/B*1kցv?P鬬>;gz]<{/yYf2D =1+ᕒ0)C˞.BHi OR\P9 !}) oͽV&l> ]!ԑh< ɖBzA^!2y/P MF<%",dXRx760nu2O!Mwz}C$@ۿ߿c|_z}/ߺּzKݿOz//~sw菮S˩ )U_]ܽqa~]/|¶T-?s/\lCgݶyS<4BdXi9O>'^ȿK2E82`rM:[`5 0;-c]U7(:-iti ' JrT²t팊aRZ! yH+.˜chik QquI}嶻~ʊ2vy7O)&gxxjSNZC]v+R8İNJmo펕],6Kn\- [W6n׾y`\XKNƂHVm'?79Ao}+YpCG@[V>zY4WIpZ:s.qn%د,5Cio߭]wel}5RO'+1( Tzp͛F@'vsHyRG.a@HJ@aliYV"$( cx\.q9 ˵nB/ɳC*Sm5`&m]@[z`jx8O{6Vo1Vn%0[S#}~Zd{=bs;5llF:hW,HZ6&${Қ=ɞ+Rɍw,se6#<[e88^!<`&ǐPcr 霋 fPBJX(5^)*R)zߡ;o`eۿ箾s[?~H'^G6|_p]>xϹֽ[nWw֏3mYE'v+m{=>g/%g?n~_+w 'TW:@wtˆ [m×S޴C_@Y:8Ӛ_!-$!$jUH#am. T3Q 5")l1_r #PZB<3#kWN1 OR1J:c[W|)ZiŭF;MS(FB9nJfHb-Ʌr~ؚz-\.(m˸+ErjVfY˂`m,}Yg5&hl 9p[_^2<2}[)" r<[B$ ,ei"J4W7ݹM+fJ @ݰcΧLa\}$lZj;!"p쭳]%>ׂz8< %gX]C3ىj@ M{? u4RJaX=pT%RT d!$ ˁ3q2Ф Z3t'3is yˑJ*<NYJff 0/5]׬/Ul3~@Khpi⢙<`#|lKs3Ɓ &K{PqܛR8@^#p= ȔEcXmHIZkB{п $Mk k= Y!=z"GJ1[rtN8Vp(XgkAPj&֩ى5;+J/w<n׋7]( RUǦPͥn2V%&ύ }2;gS{,xL\+* #MҸR1{nQ,F$2Rf\޶͞ko8qM8HMydJt[B9Xh:*PvB2C$iuET̚yCc卛 .MRV_[[W5FBkfE^0Cnqoc'.Dz`dKټZnuCnWfxл<1cfxd6:йn7cf % :w#2yBJ \a|?cSz2L@ BNBHugatL8E =ArAZIY'[py+!dY|jꁕ覫4 a {˩#CO=mhODk}dc({sk*SiRkƛ+ݶ':qRk}?r]rC.{ ~f0mw8Np]{/m:_M|M>/NLr*+e d%E# dF9iȱO{o e "0iKcuVD6TD!uؑ/Ũ=uEd|erup9SZ^fS]~WKs=33yޯ~BP]**diOD2l- bKH(Ir=Oh:m$Qayph MAPS+ v56 B &yW(T;NXigOZ @UoV8W*qTI!H˅x(J [8UJjPA!"ofyQ#N ɭ$F:$70:lן8uκ٩'{/1!s.("VI: cg@0GF&^YQmbjuwG{A0vzSb;yS9#YP>8C;)# `exv=SZȒ}tq ƒd(ai~{c}eJ m0r l;?54'Œओlr ̖=2HHas^"玥(D[]GRd9)󮞚G^җ% ) @ 8)}PW-ϬLONL\:sutr(3ZoLBIvmE75rYk3/ͬYe)H fI܅+F^k%P +f2qEsLN2(TFLNGVT}a)湳Ã}pc'syP8xqxvڕutHzcjƍ \DSO0?z`\ݶsje,O2ɿCS.}e&wtVl'T*i*K5sfÿo/\/m+VM ]]^\~薫XAtR\4vm/UFM6<Ǟx֟}'F<:-pyb~zr֚.|=kܳ? RV`J-CKL˛xgz@&O(%<8uǶ&+KRm蚞 n 6 wDPi4~Z߹ōgBJ,U*2f5[kD5YXXuRw=NqB =E#sgZ-ŵ۷G7>)2rA -x,yr>*?b}TBxY9ke򌴰:$,K8gJgp gP>,GD 4{bxV [y =!B3{f/pV*a]N"_iACJ')={i^g^VyOLԬcSޓ F쉡PΉ({k!IC+~`UvM7'4!޲s8<3LzU?3uKQkx٧}83U*o} §^Ia`dJL}k@ՊqXw,i3HuKWw8{. 3?o{%.I 2u (^%07z=ڳ,[ aڻormsO.WJ+CY\+y;7$$eȴ0 x4yoAϭ$R-Xй #pskzgyy(T}{k&Yafp@+@z -IZoJfZ"X# [1D $ dÀJH7@i-AxX/Ϭ1 H!JJ%lØgKB2a 3KBK5}o|ޯ*W"7/?xey}'S^?}Rmr#UͿPx˽_};*/ŕJaqXyqg\ttMyvua:7ݼiCg/sjxJw28rj\ndsNJsw޳cZ)όyn },V'46ؗ_\Z9W+O(LGHalw];u|pmՙ2\2(*I]Efd +J0VN+ͲJSqT36q,VWyIDRuDitYy V\doھ33E .O./.N`x0jDžaj=U6nn>s0yri徝.&~q &/ݗ°_8,[fl0SI.KnylMirlei\1Ym~hnRGƫ#&O \; "G<&wG_]|}ڰG>˲3qTAT4a?l5(jz\Gٱz..yHRE`%< D^(&-PK_…-~F^OlϺK\J#ow}7|k:ْvad<I ?= <1'<3 /Izr䙥"Ϟ IsZJz/ ʳ佇 d `ĹP23c!E1ڻN~:[CP_3M=<;/oݽCsO}Wxdl4[osz@u5طK4&]6JԴ+^YՎ_[P _R/Wٶ[W(jvߴkFZKnRJˋdS~L_n/M^ssS|߇: Kf~ёjno=T苷o}9,kfVOOwxnX9y(TE.Hl{M* |cW/NڴS/..__:|n}sٱ>'[+L/09/Eb lL`r#Yenb@nY0TzVn(gV:m5IT*%DPPJwqM8 @MNpBZ_%Va(%Ji @ >yWyכ2C AJ`׽r1i3+ KsIb @HyʆbohK>q]ϾN;:*"iCyXb!33/',(O3 kk]X}ۮy͑]nzf햭C}e?z 3gy1s-˟Z0⽺=~uyeYf$)I 2T6 !'ƒ{x@& B*yXJA .EI' 5e" J:x=rX)2Ƨ@Y DntP5طO{˶wSՁ܉3۾>ū|݇~ursy#[מ>[/MKIrGKŤmRmCr7=ГÅN4s۽n5O>|j75;ĕ#ӵ:V?~VlgW0u@L5y;lTQP 4˗' >fAguz=oΤ3H:,Ye! N3@h8! Th.:TQթt @cc%ْeMG: wz3:)]{߭[j=MgnFԭGKf=;ҭS\^yap4[O'>ʽݗ[9)zP`FVhj$cqѝή]fQWӱ2l{K˨&D޴fWN.` l0^|ۋg+{D,JSu~MHj:m<%r\XTߜ'ՕsOp@\j6.¹F`""0'F9[=; q:ʲ_|ȼ+Q_} KsGrd'q/i+)`$8g!˖Y)b,g k=r!!rx|8+̋vRbʹsѶ7Q1 ŤprNir, s{` R0`ȁsg6nÊp,$MVEHi,gm3V$ޑS kiyhHDm9wkܶqhGk/b%jn^9綿|]ܾs޺'ׯ׷/ ǵ?sFASTL8#m"t=5^ISYE!, ƭ`mUxۦMR˚aT<}2 l8.nhڊVSe֖M1mvƔ֍vdͨReL߲sQp+ZU.W3Օ)m{4*ƷǓɶEey jAySDSsj?gL+oJ?w/>WKffP/^./׍~u:=S;G_βjJ]x= i %q(މ?v7,Ojf2хO>>Gr46]^*шiQL~TX'{SIqPeM[]!#?)9 dT7坝,q>_~n+o;+K)SƒٍxV=uz(vik0uƅwl,e&;wz?^?wrWgͩO4=uNe9"utP?s)dEGmXİǗVVUuRt"p0"ƃsWy ƶm< Z'\J)8T:&8;/p/GzOtV,bIֵxXB;t ХP5gh^d9#N91ͧ1F 4'Hi|BqQx:AF*@ZqNP@ZM@ dܖu0PO$I(8Vn|˗ͽ SY2m-փ%ZA$ђ܇$b)V /nVc5' Apf݉3gj~{}ͮtRp2"tx矹~<~ִo'k]vtVH4LU6,,Vd۲2J)CzbbaԢru?9ҩ*?a{0"6otﰘQD>z1ֿO?@Gs#]c&iϒ:J 󭑴\"D2Xh*FU,w#0NE+MYwm0.!&I"MT0NdlɩA]qyADdR'ubnE]hl&*"Tш(n\޹mwsC0qĕ1"1\?ëo?]5N%ÍUyo;k&%Lۦ,&؈F|sk_m\'KYg浝sŧ悉8tjZ₴U0gB¶ueqOH4+ۯLII[\=j̀U-xHXZ~K|E,زkK;L yBQabL>3{K/,ҎE'R Y%~s3Lzſ~SD,ID[@Q.k$DsoW'/:${./8>LҮ:qfX2D5B >1: RH8JL4>UQۙiwɋlITbmnۃyOgLP{KiX;{d4J(ot\A[p([;Q׺NS"# )xc ܓ1-F3gԟ8*F۞ȋ۟'|3RX]=Oyj9z詇ɤQkDMD8?Y^;uDiˣJxr㊺Zs.XQ %YuKӹB.rz.wA`^ۿsz8|0Sj8?q[ű,?]/g0-oͽ]m:k=8裧\ڇ|w>}N`8 ߘgdP bd]ۦ Ȗ$DBM ϜZQ_诬-ek+B@]I g.̛<]< `;p91{Nʵh7-je\Y>~T@jXW8BY'{C(' fF'-B ޟ3S+ےc+%g~2eErbN&rszw\K~zRv^sqw'7Wއ;&E3,*KTYwVYi*Cef65֐ U!Ȉ %ݰP1fRM*U@ A6ʒ3MɘK(8 rM8&hyv0/M2`KEԦ[ϞE,p*׫Uk6Nnԍ\qfl u[j jj"R2@k+-NMjXZHÇ-Xd]sLl0νD"8s\$ye %3%+A5 )e\u%cf^"ٸ ZSe`BY%Ir81qGdg3֖֮<>f݃CrSS.,/֣rWVӃbs%'z f=VŨ>@xtcWWmU٪I:ŷ_n¶uexWΦζ6D]rO{"A($O<& ru3+ӟ{3lQY!}G˷>(q饛Gh떟 ^Lq4FKcgXדB߭-E3Z,gu*Tw~3iAQqbMmXxKLGkU{@㿻YsX->sJ +JrgiJ g~Ř`TEitlV\~>w_]ٴv18:T;EX:W !gnO鉇/<~esX^X%cvtRrg7qL|SgvۃEw37}msL{5b/)g47F`}u<_[w\xfm~^܂ ѵ6<#֯\P)&\9]zJ2; bk4|֧8)jF Q4.ORX @VH@u S{O^/k<\8I]͍1Yc8Ր @aJ0Ɉh>eg<51~>w=ιJ՟k$0=J@I@+y.@s8t~ m<3ٻQD_8v3E9qm\rXO 1.LU=p+48tFӍT\F`7S vbr#X7[D;9ǃ+Nԛg/}ᡈ{L'shye!ئ--c4Y kη_5$GKz|{d"n}{|X3.s=cm .,c/A?sr{/yZ$ <ػ};% :Y[ bnx7 vG.n ~oU*z1&3ze{o/@-/?;9  Rq:K)L?x @?̣Ͼ6:j8!`<ЩZ^;Hh&,,sv@VD5_IUB?+Wv*;/@f|$ !|wؿ?./L?K_.E›:.ʸ|L6D\sHθwNe]%{YcR콸S &AtL<;{SYcqĄZgىMoÛmZɴ?լu:kKȣ[wWfa:AOA]U7\~UۥZ|t4D[^$y+kGt}olA ]'i56[KX^KX3kSS[.|uxjguȪ<*ۚ3I.JK4 PJI}!p&ʦރ8% \j.C:[3df(BmMNsV}O I,.80͑䚾o pM S ;S-cbRWe깎"qjxŹ*a2bI>WĹbqAPtVeQ$R : \qXT@x "g 򶩥yH6A+5\ n\ȎNb|ֶ7SŒ~T6t!DIn鍳 [*@ݹa8%Bk`lp=Igc [}G߸;l,Jqo̕+ `.{yڝՙ7Hl~~أ;~ `Ĺ#lUv,zl[ZZ|3f{z>=z,)oJ_?v g_O;{v/Ǟ8 P3:yt‚;#OQG;o6@Y'_8_3XQ0D|>yA`K㸴ݿ \x.}EHE[<."I"4"8^ԆR'Ym|W֍xl%qow3.g ``;@+Uc@#|0+'"p D9(0& ?r 11F# c<boGu82tԢ(Q{excZ׶kv"=W٧χHLTƼ5+۽y7}ͅԭдx=~.d[ݾsa 3s|@{|}.me_7p9_]r{Ms,h8x @z}nO8Oiivwog>wU]vm)8!)@(!@AQD$$G1Hf1 ƸGUmt[w:{wZϽU}Ϸ9ҳ]k2:8q1J挮Do},pmrZW2~;ws3 HOF? wgNxS[/ͫ=XޒWk2T)_w'? w_xlw X7Ms$TLXMm_+ CfSϤ b/IEiiq!HPny$i,|&}捽oVɩ˥=]KQ*e~X)AWۯ{tj QYb{3$Eb\Y'VZG&`nҺVA;>czwASDHTe5׆8S*NW<-SrPiLbm|pq'j-(ۺR]tetkǣ,ߏ~y'$1Dpy*fδ*JL@RXGyTU/|߸wo ΃F=+mߛTOȷh۪1)g~'?ܼc]|0(~l"'D2>/ |δ{f^vb~E\M/89Rke$dxݫ*| O'^it$d\$QziƚD2L :Vl.bHo: u6rڛnJeU7\aa|dvG*ޟ^l|uhV2n"D FݮH)$[Rlԍ&醘K.Mw~T&oy%Ec6!r1!:ӦNs;1'0kZ~k [}ge[np:wԋDdB:\3iMѬ\d_Wt{?ۉu AuH2~蛧Q\ :8FטZh#<].ۧ0368m`MDa<!a#l@M\x`4C `@ f؄l @[-Ag;qV4z4nTao$]m'R@+KoROf 2[W6GSiZT4~ ErNʅh|맮'? ͢Fa_ye>ޛgv[FM}燯E.ӸHtDzzvY\'s]=^~~ޞ<-UyC/X%IK8JcYN'bBØB0+<3hKP 㳳G?/~8?'ߧ]-D)ٙRNj}R:_}tjq2 EkK7]Ohl$Ss?mCBU\@UTGU )H%y`';SUOp@HNh.ټ`҂kcxF6k%QۯD Gq+JDž#`\8z/(S ,a;Fn!X+smh,-Ⅎ$Z.ʲZiN<(HFtEzIt\duU j 't)p[} "6:J"a(qJ$2d:-c [+CJӱꩰCrۺR$Nj(]Ve8>kBx:.V:HQ3biYW$0 IDATrBDBhFNcdj N E$CwkR<2LblMhle77^f]W B2";dm3eL_X>d"nc XxYIE/ 1(V.̱jDHEZHx{]W[y<*tb &0I"xoLDɌٺv7Q"ƣ  p xbx#vz |i|Lȳ./^_O|Bnc?mwGY_ѝW̎o+ w|[?[okL7Tpkn@:,NNyX4mߤϮYZyP: xzv4?8$ShB|ѻO}Yb'h<'nh>yrpE٣" cc#.׾PNn!Kx׽ ׮g[G'.O"ogl< wqF!ms<{X {aG=;/\G޺72! `iWFGĘ;вib8U$hH;Cn s$>NSziSiecL|'l%:2Yם Qv%Aq?iRi5 `FR&'K.'מV齓Q1+Dl#)^]]O`Q}Diwcb٘h3~%(N(v)JcsZ/4Z,2*E%Y5}&^iW)zYٔ*CLVu=ΤҵDe=޺!MhM7 DɕerS|x+۞d;JHozdza!g ")|q}qq $fV} l_7@!\lB<_X`&lkiyo?ysdIT@ῌt_k$#jXķƓKҾnd䭁o}gG?1;G~x{1K-\Wy zͻIol+QIԺmZǪ5b0,8:cYTM`oZz}+)x/&`o V:]jvFV (K/olPPIiU/8=MHliz3մ @It3-?ze'B :c >? ǻ}@,_.pu捿po?O|&D6@*Zއ4IQ*T4y-؜;33X< >GFG1{dW/g:ψIB*͂f)0tD=ms1jNj0 08-q?ɶIR!Л7c]$Dnt8 Y" x8H8}o\<:XAIk}kc ;$JĩZ(.`ڮ+4Vظ.wI6kuȤ: ,Cב_/fGHH%!YQά ηΧSi]g'y"ҲXr{U϶fvMl<5lI{!Q0޸fX2OsO2YE}o Υbk IG~gZ>Șl+HNE^VY Ekx׍"H<`>-%E;Bj)T젮@$H<#H3R6KK_ އT^}HM/ "z7 !9__홢@Du8f7,N_޾]*7&u7qDJXgrQZZr1 z5;CY\`'\dG!/+N( {fc}dA{u?%5ٮah:ocD}̼q}gI2l_~9*6y2NDg \5DongnH`V=T3{Ko\ /f,!"ςY~|p{~;ԛ l_|kNN 7nc}FȶiDDLo =a8ՊA8 N)g:>HZδiXҺo8 zS6HZUٵS\ozO;.Ăy58wo>|g>yZ()cUK&^f9>ehj͐ahUV>֦_ZwNKMGҴmW橖xB(yF,Y8g5 {יςCw!eTjպ(6"H'1aoܮQ9t!R J!k:/๪Αy1}ze=H6.a0Q],h'd<8RtyjWIp}*uI<EWvnw閵>R&IUX92=x=wz.Κ5'?}}I%.!W6aQ"Ʉ@=I6.btis̙>CG!|Mdo~|pyq2n\J`võ7Vgy×c,1L1<d7ԙ=}wxo;_/x?m*ZѺ9>ǟlg< Djغ:C$ds0.Ì JF%\&v"aoS!ȳ$eŔEX:nSM AG"sq k_A?2۝w_;@dNn}.rclmOC#%B5th;a|2ͯ<Wn\mXne_!;L :@涻࣯޸;Nu8tmݭ&Fj6Gzu5UœY`X<-ThTq5Lyl;O{fVdzx/،3.v!|mAW\v-+7?>{?].&o*_iȉGqY .,NUW=hٵi5tIRmeX=YDMcW#=Y.HuZ>=H"٬ һʄ<тYhmeFk L'/W~>{Ait)VRr\֦ې|eo1t:.GU߇O?m[iշ6J#:rMg|jUQ;;t-gk1eOF1tA+>)u4 `ٚj-&(#:U7lA6˪/ݹ!0YrӬ7IҼLH/j-/VQN.Mݲ_7NE_"vʍsC ACk]p?ټ[\R4r-dv"Dqu|a" k}I't2%!PQ..1 !e73HLB/w3myS_sM @TGIwRn kq@XC 'QT'a^pHY(~o0),,0;m!S^4ж]]yFe?\TX* g< h j GEx_n_y>I12mkCk߅ZMX 1}қ'<S;G2m'SC_RˊփD4Ҹc)=R*YvߥT}RΉ ~8flsG;iԊn\n<+oHvQ4;ZCVqﵴQ*L/VIso|tzE( H%%RCUw󥱽oک[פNIAMh,>/ҥ>l >x 33U(3on8]ek#0HB )ORQ$PXipԊ8)Hi:/i($r@B&"OR&$E,yxg2x ZHBzro/ݾYwsqx )`_xK4n )ڦcW΍[Vi!{v2܇@2'[cM@`gP9Fu+(R§֩R&_ǥ׀ulN.rWy4sW0͹i/8Ns|(RˠQ93׷ԯs}BZo-JYEŴVY_V-zcGJhҷ"#H{:cE*0P(Lcy?.um^7 32+z2R!,.67}2<ܙ a}B"tRGPZ*Aq "")8](Jg=Ű }_ϚO8!^ڣy9 d<3X/VVZ›zNwcqx `{l*_$O}+~o<>=ye7'7TM-+c)[?t_ξsݜ_ n*'O8<͡iX@OF)ϼF#^ $ӭ<n CBֲȻo\ ]ljfcݞ+'[=^uS~M[mUmͼMU@TRdh"~uLNj⮱y>ovNz]Y>H$y`l6mEb8IH?j@aYR};㮅")e9v^]~VH ?BWu}sTB4q'A ! I$Æ?#0J˥-}s 6 .]⊈Hhf\u90+BHâk6B<-$CR$6b8}Wo %EvEΝqSpAȡ3{ q)lgl:;] \Dn$7 IDAT|t,4?j9ow&NGӉmՋ7fcI!%v윥̵kb)% R馻Ӻ&o 뻊t %rZD$ڽt`("1[x?2uL8Y7ugQ-QiZ5Ntek[BNWn~|/~:7tֻw%~EY?]Ŏ21m `M/k7xƕL!kKl敿{\utxvӺ#S{f\y0v ҇c6H:͏.Zyqj |z+vp:#j @I@"#MO~׾045Åp^@ #gXo~2ԫ%+Ϻ On?ctjEϼ{ϭ!VS!sk Bʳ ^1zd2Ie9t Y@忯[)hT=QGZGbuzrE-J /ȼeހX5.v[Wx:yp>o=^w.r 2ҒzJ9}<8sfjXz Tqݙhb(Q^(Q R3;=:J-a+X;];u['ӑ_hI"^}c+ؘXDA>\gLHӧ6ݻXQZZ^h釸Qu^{;{k anVՂ\6Jyu5 Q'y7n|o| `ݦh])Hd~zC} ]$. !zLe 77!ڞ N%~: ~6<ŸQY6y_+/SbE ([)6UY0r;g%)RIn"J 7jeY $L=~ce ]jveJ2݃ˮ(>r;^e={XW>uxQC_}ӟ9u4aFNڽ$Xi0Ԑ97k`Tn#5rj%|=~Ͽ{{>o"m{??>YV]? O՟WIUViFbbت5Yt&z䜉`EWɈ̵dl=$[7"ex|D̬cg8\3v 9X 3L<('Rɳrv*[=_l?ۙR8ۥԚV3$ڪi lQ&DCem'±hz+4UuAkb!TХumX-O$kq-e͂l]Mk^=u&4F l6 qLš\'/PEpU*Ʒ CL@b  Igg=y};buGuջv?L.-WmMYo$w^3/W+ئ {zgHbxPGZbt].E.ɡ3&dJm$d8Y/fX84VJH*qkL(KF;='R{lbDw23 !G!xxF"NÕ@D=Ӱ\ -cP"~@`1@ѕsvAS@ 0~myf cX?C^@|X}my],I7{rFcS۝$R(œA`&J0i6a?nu_;'ǙJQF28I1G^/ǃ$ٴ5}g1g[lU^ˢT2P}6J%l!\q1ztؗL7ñ^BT Zp5M7#k$-ɋ=&%pɑ lueݶVs#βho0b`yӶjɼ(bT_ ^mqx,eTl%0Cw;? x T3K.s2x{Mqփs {ψvGg#kc;ߝc[(eoߘ/õ}!jM`16`) ` {Y/ځ'" xU,jc`WPxD<}Z,AxW ;86L'21s)TM&4;Q7;(K[v|B/#fwY_h;a\ޑLoV!&|]d4A| 賈<_s1Q̏]!"eu0!%ih!A Ţi'qj4=(6lUPڜgz$YmVb[<ȋG_}E0,H'} n]M\,Z;?JpbAh :\bN*4\or} @낷5`۔(0ƶ9^]3F=qz~ @^kc@ڧEbTlr{O3 O]5IlZʔa%Y?IJt?[9cvzyr=aek]h(6:u yqڹyB ɃtFxיzMM; LئrrE( ntW\<񉈋-JUi_mYM&Isqn[Wn\7U-x8U-"OCe&b0ToqO-~Vwnڷ60MY/]QvvqYm\&˪țFv݃$_<-6HE~~Ї_3|=;̟8^؜ޔ::PKE0n|ˇ @cgU/^K8SXk/P~I|fqH[G*  dp]˄hArs~rÒb{w-8K8X_wgmV_x??2z2x(9&6_yo1t"8=t~C.&OUL] B26NlUYyY*ˮhvpR8@ .!8$1Oa9}G՟M?ĺ$eǹպցEx+"!j#!s$)ςH<ݿ~$5,Snkx>i{nLY[DVz% %*btSe\:Z˷{:PHi!8p0NͲl*\CΫ-3o L]1/tU%0|epB^(U2NxU,IHJ&'ylKʐ[M֫5Tl.) ~znlX;y0{9L}[+q6ΰ@1!g3[%- ƈ;oW5y3nb!\o tyK bw>`*歫7nbז4ԟ|:Ӯԛpu9K">!Wt|٬eae 3:1+i;o|ЃS#'(u#D{WjCwͲ2f>RGe][fM`uI@p]Qűl%ًS6TEQEbۙpk2 d됈٢t,9/q_XE<1tzն,=?m[RX/DV smZԛ/yp iD]H1a4k_|6?/7{O%g~w/f~ᙢ``U霠[ @elgBYͲ"x}:wQ"faL"2՜E8 146x "qVa#6C@pAF mYj  vZq6ɳmQ+]Q@$"32)Dl4(.pynFVNm:gf}I2ϳ%ѱH$$T886d%L'2I'[z:!CSA&*'Ll~v-]Ulmh@ׅtǽ{DpWoϣmˇˋP7!IW]eUzWeJ$uvѱL1jq~3-mQfI X/R7L*Ή"\HƘ: #N"$`iYwZպC#x"Xn5oeއAa7ʥfkp @-!qs'{GW0Tnk_kˉu3{< ޿n6Y*S]Y2MDdE9߶i䃵5֬Pw՜;g4nq(q^&JU)ۦX~ E7ȏxZFZ+@ \lǓۍƯoEwb[GFXu[+ = m]T~ ">}.I`ɭ0Fv ഩ%w9x[8:xQ !&j6}w4/^,t(jw0ex4c^ @2p8<4몔M.UeH)`"QO<b ƵX2,ZTolm2DW2?lu6m/5fiW8ͥhV١nuIT:6B s꼖!fI2zT,BQea(o~2l*rAd[(eE*$qhHq]kن80B/J=mݞTw״v{/v[Uu%(2 18R=x{`3N/ngL]5*򨸆ܜ="VÍW?\ٕ?pS.-38O7L]OQN'^EV ~2WuqySh\?@lYխ8!Nb Bygu|cT<.WVi04MEt4Zm'$$K1Y 2{g_d 7:""gqU[q]?llGAh!tjwou{;=K(i/pa?ɳ1f{x 0H3Q-((:'EvV1.{R8`(jZ8t(dqxۯ\f[*9ܛvOK~_?FMI_9he.t[mu7׺KD EO݊3xo/Ov#LtΖg-l>WCwǺ&Mpk?7T <\kj3$o~6]kvP6}┻a`h`ҡ6kI̸YLr֥0p|W~?I۹!_tołUE%X8lx Z Un^/k(&in6vibR'},Ӳ]S-XD"N+./ $cʴ&*Ţc]1؛8ڂ4'p0,6ئX<ɷ'|1mz`|w0Hpw>c;io7#sسb:<[RcuPIvbWC8*/wf]m'e[ =oVR\cL'"ݮ??LTԸ7ss<FRc^Yĩ̢^nkK+8 g]5!ϲYA^6^Ù5Vnkng6֫^,!պ3GI03s$^()25ĬVu >/..OT3z &x8mXY)lGU_\r;ONl."%8Qۈ#8&H'ol32O]E";Z;FObз?_h>1??s/~ޗ$:~xlΦ<Q_%sf~7"&cQǞ4 #cjVV1.Fղ̝uM͊~68$=H_ ZlNFD&H' w"8O|-0کꌮaO$*?" _+tʆۑgmX>~c7),!7Jy[|<p;M@IFY@t|ڲNc|KoJsUS8O> *sQܹݯvhOiQ]8&@H\4-}bktIԏ$"gnnomlmYaInF j]rMJzsF^[lic5mA!8ƆZ݂'RG8/dHz]Hy2"\2N7 ]j$q]Z>_G҄ƥ ^B_Ru$6(pރ1v; !<6EUP `:$NdQtۯsG9^ĝmf{g&Q΅ K"Eei6kUDx;{9ӂ^ khY|"=W/>5P=z3 "efK^SmMPh, 1N__44^>Ț"Z1pUD~ecmc XCB±Rl68<˺ap؋ڶi/nqF R:M.ԫUg[U•߼-/|2Hzht RuJ&m:{bՌ⩒(Mj(Yl{;'D*O$! K!Δ^hؤ a @q/ZfioLJy"6zY15eQqzN{{Ixܻ(Cݶ&qnI̹Χd}G^궴Ggǂ8mQ61`68DI!;ؿ9v&7Yz{Q9CpuYqۄ+2ׯ? W|fo_ f>{wZnJpէ(x/?^FdL`WI"roهˢO6A;HfLd,u_d|zKF e9K~쪜ZO2uL%kZRoZW >9ນumUh'PGԻz9Ugޑ Dqp[E=s\:d4*VLrqNr7L O4vqlX(+^oLO\V}H EcH*7`mH;ڢLW=}X?/oU~wۊf}ͭXJ6j 97P$tVݯf(z]肭.O}/􏏾ƽnu?j;M-uPwh`W7cJyh5k]+:Ϲ lcj@pgKӓR*[7+8=}pԵhyi  ~olw-Fr9bL4eNd]H ۯ<26O?{*Lze0aTܑGh,ΈS'aIY_%1'AqVsUڨC8KumHs,ɒ0/lEKjYXApҮ(mh6R M2Lcvum]-k*.;\*1u€+[u"(=vIP۶rVDI%7#۫uU4xUm5uL4i؜ MgYGɦ޺bYO=*JόoבP,sl0MriTۃk>";ﺍA# 9}Nt[@NH1F`_61.vuA CtuQ{Bo_sL5[7\ovk!"ɂ^}`UÝ?ȸΟE5|Ϗ??kO;SIgYLyEm+COU;LưvzEXǥAo/EB}`j۴~B_ƤjmU=SEgs#L'_^E4h'utf~?]^^lx,=EwN3ˆ$ {N('fE*Cׄm }~Xd<<-*m\("8֓F!,K{3, s?\^'d$&|10|7n?;C5S>b_{#1PgNV݅=.v;ļ.Y a'ɰ."#oҸ rr|!)xb"ئY$PԇӠNۘ Cl6QcyQ+'Ce6E1I cqm'ђChs07,}[zmJX[k-OMd./HH[\cC"d AӼsl5ԋ 'd]JkAzxu/]ޘ#V.+6KٞRs 00qܴ\EQGqZF下U֮W:J <2ԡy خՏб,W瑄B>@S=1 &#&@~G: gt]${͍1='ڎ+_C<lWi$m+nZ6I'o{3n|kM&333 > ܔ0Gp.tz/~>R2Vdr`:c6-ژ!iƴ ?ԁ:F޷qϫ,!M>\<tx8[^vtvxCQ /V竢Hy7qT#u'Xj)}b|_U[1"&Bs뫢`,c$d82%ZKBw4~3^$r`a(Ok_,>r)6D izw xٶ5;^[;jO\lY.7^5ȐvѸ. z6_yoărW?{T˗ˢпL, Pk/0|3Pms `ϲ=N=ȼ?0W#Q 0Z.um^q$z)յCB<! DM)TTd=Gbv$=|~?hEs0_jr2G-yɻ7Ef6Nz1朄`+]0Eq b['4<(bdDs!< bU8 K8${Xęȓv!qpf]`/6u5fָ1 \$IBi=up6 1׮ԨrdhOmh|(({m m@mv& 4XOV:(HX:z]4M-b0"튻>ԫzL+O,s =B6;Y~5EvKFDG3};|!F6\g୵cli{*-f@z{emyzH?j}+8.BpCJ'N;zcķ1~Go3[WQa80m$R9hRkE1 \c;6uI+rV.f] F?_C*t$|[h$3]u8N'ߜo^&N3{'喑d׎(ֶZr4f6]] Uz*c.z1Lygpgnݲ56dIh_U\^NG.WVƕk/f&0j<>x}٠BbXW>mxD2ubKڔ@1Ĕ2 ?{΢tzq uX{a~]/_/zX:Vf7wl˅$@p3`Z߹鏧,p~ݮYlܞNK=I‘ AQО.;pu^`ua|srYЏhgw"(in 0-9Ỿ?K|'&Ѡ%]V[R'',x@W] H "Ll{&!N  >hg۸z'Be+=v%k gAIAƳ,O8y"Lw2 z6v{\"'@]ܟZg ?O|3vM#wXPAΚT Rm8u @ee5bY!{o{ kŦomGA˚*V\:e,uyҵ[O,[8!BLDuixgLk2DqЎ@z1PAW%ǩ&JoP?3yǷmfJוyDہbf>:]{ L]nYd8h)p T`Wu{[dSXy[ճ|쵹n[oK|MӅkiF!ȇj#Rʒ%΃q"1.zkEj]vD'C[&y0"NeJU{|eo6F|b'a}vrfd_E ޔtfuIQb*"ʽ'oty ].enG`JǫbtM/{olkzw {< ܱՃj&Krdv'*`T( S(\T*qbWb;$[,eZ=޾}ŇPp?w]z~N4om[pN梫 kv#n_cSՒd9H3%kA G3_;k"ֳ>chzK[z9<進xp0~Vo:)esYe~ 9LT&l)k{|c8Ǫye֋E%Tm;,ra?fG&ؿUU uzB?fzUuV$N?bRá5ϗi5! Z gYgכ g’_tEQ^i=cޜaM YneL[ص `J]@b)UqɃ(M;LWnNrGFr\!.9ы#.GNCshF@cs"K*B2Gݮsr5mm{sG{^&# kf7>pWCa,v/Kjt CΌ5۱.!s֐Sͽ z%{cnj Y.8Jl,V5k0~IEvlBp׿: HBh_" VcIZ z&V+dIۘ*q e&9u3{pibSWF0iuxCm:KBRHFe5q::k{Ug]A1Y7vԶ4Y0`EvM@t<8~/GGJMq)s nV _׼E^@$.`FGwsfmA n@c̃=\u'wLmIm hsm M dт|.5@`Q(L^6bËX=|'o-U>r6܀8iCjZ=/,\SgCm@Sc:"a$˄Q˦]H0bNu? ;|UE^}2j_+~ԣcxƋ͢8r*b ܚrM8c0Ս*nJΒ2*@Ӗ3CJ=oP"m_^mk,*_JS+ |+ Jq^"^Ԧqxs>LDԕn* ?4,_ͻf8y HQP0Ɲ#D`oM%Z%;"cxlCN_[9Mz AW7]-2؅fGG,5 WN!wE\ G檔aώ -GgW¾B8Bb5"aA3Ɯ#k-ZG6#Q ˋZQSW٭O-齳7Ɠ8 S5sjO7m 2?F֫< $㒱fC!A89:uՆls7~0.8ȒVHݺtB8,VU[L-G! =x0p.hl@r.7Z zȝ6~3nFKtzѲU3A>_Z)TUG9X0ZPp{=4%2/ Jd*<~`؝qq([V IDATOi\7oo~؋ɴ#A]9N1Ɣ2ǩ7]Fa_ky>덨|W{̮pp8 Q,}U;֭q᭬7ښi!zv2o*\r.7φ{_/@?8n:Dz t`MZlښFi XE0osq^"4U45Ul]wec"=:C%2FuX`=?b_~#|mLo^k?'+GME`F~ RKTD^VFU-pm`b~'Xx8>:em?^Y~:8Rr `bdk %('=u`!̶["곟^F/~dv4:'c~yei/N˦KF V-E;բ&d*^-zdʵji5i#|ԦrDmЪP8vڀAv 1 un/= ڲ3%C7T*<<ʳ`'e Fb9+YuWO~jot:FWms(rsHkj  $c~z>[ i?CRS~!o`Iy=68Zxq΅ )c1 yTYGQ{#mEMZaY[d|#;G> ߺw᷊a 9;n&_V}1tJ02- %%3ȘeÝ:Vlp̲- Yh9~Kh|a1c[eZwIR``v[Gn7yF"ݶ/;r YkE@ۻ 3Đ)qs!i^B$,+v9<^}MܓZ"Jr:8/M?3^/6M{|,3zbm/C6\gqIt>Gڷ bY4`iA\K]߄v5<2$nf[z>y`gd}{ 2w210c{ZTť<⣛:['$K \*l[5ǃ[ܘ4n,Cɣ=yE>[φ]oVy)*q&Eun5 S5:};Jϟ?g_}Opӟ~/w?>Ho m~˲s|Q&/9 AX'CeV:>vukqDPŽ"Y)D-7!\,3v~0 CܒMH *L""ۮsfg:E#Vo͟rlzHʬYu/}.SW4,-ׅ"9|O%h/ rlGZmy8 p[18s\u*xuq-9\AyQ& G[z{˕vW<$lkw"V 7 5b:DMڽ}AFPpFdfː9YkAĄ78|mW( ǾŇ~/_ޏ?yw[]t] dQU?J_"8޻q^t*;wi-buյjttY-A>H_."rV[csr.e}tj6e~T EvÐD>`1?8bRy'W&eT=GJ+uYvdoei`);2a BߑY̌Xm˲WJWNh! 4>+r-?o Y|dK|>#2""2C$@$'pNlo#1hŝa#h|*?ͿDz];B rv':{eyzܭZO%~/bZ4;oZuV|_%# R kVAc8#[Xe8.'A:z!:H!y5|gYLIbzҔK_&CyLZ pI@-ʕya{"bX&d+?y-K [fiY+LxaMu. 8ɄG@k5qZVefC)њ}hywno'8|%1g`|0 IxrUhv2 u@oPNPp\]^3 -P|p ƙ<Xչ ^OZ|Yy vO}GBh~mPe/9;?ӊzCؠqś䧞wHv}9}9b?:޴u|n2PkM [[hU^$QN;k|-vmwhrֿ>/\{\j(ヱ*C9ow5wKu]ר. <%mQJ/<]oi_mj$)B6*mľ{ǏƕżQf6{ Bִ:owT{X†"m^.s?#',^[TlYSQ$ c,KRϼ?2E"fLF|f6g?RG7qvms &C"= %!9{eꥷ :2c)own NiwunO BM%Hĕ+t#g رv[fɽ˼Up;zخ+;9Yȴ\xs"HY_|矌n>, ;ݨx` km], .U-0Iq'~'?V|oܽK}FڹB e;C+)kK*_) <-y8"hFt+k=XtH7y(rZIW,`rFA54w8󒢙FTu9VݻϬD]vڣnnݍOwuE\_\<[d4Mkz&~PֻLMJ87gS`E87SG>ޞls+MW8=ȱ^:Q_k" ұ/^{4Y@R;͈Sސ~?_u/ 7E'YJ MTKլ2q|ق{,ڌ4iя @~ y?VDlhs.{)21Dbq . }B|lzWv|ۢCD O&6M 'v{m o{鯨WI]Z|얝 1b %&D܁ q[ηO;#)l;238[%˄$ADdN,Zp[G_zE>o.Ec٬şΗR4Q?8\Zy>_'cm}]nL t9HFqۿ5{޸wg3} 6{>q1[@-;] %2 8I5{>g~rwWټ{ӹǬF4vٖ";%%ͦdRLȉVQQߚqFJIE뚸nʮ{8[iCO65ݪ3tzQC?誙&rx:D^B7M+녴()iCEtIE-֤kŚنA zQ:{݉~/_w=UYrɈy#ؗ"rtI? EDgb5g7or|~z덓Ak1UwF ҡ75-7&msV"s@5Ƹݻ8{?{߶-I?Ƴ[bl} `=%4KI+T1'%|[wuh:Bv ,cpӎ WNWuWr.N |{JVwdp{`qk|81~[GCՖni+_ R}rGĐ EdW{A!sAȕ%qQ^ n鵏^o}>cMSnIǡx~d|=. D ÐAvtNezûgUu?N*o\<ʬ]Z9Q IDATr׉4S^*j%&Tֵi5޺D.bV([ffv]/pNdy.2, z0Len|`,M7iߙrx~oENLJҦQ4# iaSYso6lѠt @%fꎯ@'Zܜ}4{xZ F T 7 Z?K(R ta "ouGrv݆e2A弽xdU3,H[n^4|WJ(KC'c2o%^62)= v}o{jbWp4w]9"8c.Bh7uunic2TvN\],5ء+nI9wׂ@t-9rqtğLb7޾$zUrv̆15QpȋW流 |#fok:sdxtvU6d xP״4/OYH(|k" Y5*Hak.`tG ng&벶R.=i##pY%7e )x z"u}-ZG~8nܮ3ku)[{f[Ϋz9YnEKtz!l*֖X*[ÜQ耙1t6$z'|i+U^`V_JUˎG] $D*d0 *kG W# E?@ XlLgu,u`{d|{į=>S,6~eKM=uϵO.oϿx0-JH|?ngw^tݛKDe泟~3Ӽ|~#lH[po`z5O ,x)GGks3p]TЏrhEB=(5gT~?jvPu7pݢKL?egs̕e^u21AE:F1xTsæ}"LFI?4y9/ʬ*%UJ n fMƋ@#llZnhMh56,4X 1ƚU_n3/KLַXrs߯յu4M w68G9 $^6 k2I8W/lg|^i^ )K_3a?{g Ӳ?8lTjܿ_Қy&HyReLJ]ri=5&)EAjYhi+8us٢ ju@ @KI kӬK!U6ϖ~ʥCb-h73R'!<wOզ*2)QUAC|-fE<2l1s~ٗ>{)W'^FC'YPUM$Ynz]PSZ!F@F a@KQHQF<۬0"枾:$Z>MzL&%uBEVT6#E<'<4 hpÁ>Oq+DkZ))KD  %*-5)Hk@DTRks ےBb:-Mv2gh#k͢A?v;?J +wݗҗ[̽>eWu.^s>@Sðf{),fÑҾW•+_N.s7IFlwMY^Jqc8RJwǵJ=ao͓}-.@X8oZI1iTaDeNʹB*;=ST-Gb2KHIZSk (dYQh:a QIz@u O~Qe 0[)ȹd(2RCňP{0*\U 3EXն.u_\}y!J]VuC#˄ xq/AEqQ:2be(jEwy!2ЧR1j3`("}?!EV,hMb*&kYQv Pnj\{_CTR:>3IVy:coc^bFT iDk[&P2AQB4tu&ܥl7 ] dEU[B-U}BRMs}Rk$ >s^G\}&6j%(65j j0J!!͍^H@V18J) Qk!MDHJP% FU-)#!Dex! %GEZUɲ,e]eN>꘎w l͗>z~k5o sыm߸EFm(3Q1Q…'󫛏:N,WBV^8Wi!lskEd\X.uRU]shI@ 0t I}x@ɀ^)4CVybݴH~=5?oL-tZ'g}vDb5ѺO,D;Ǔe6w6M!qWz7}|RÍi;DN'NW lbFxwoj_-6wzہc}[tNՆ*mj jXizŻR&mG?X޼ٍjczㄞdFS|cWL'Kjؗ#꨿FPlGFR^_il9y jE~g>cWO\fNN&T9QAdTQT{iA#U嶿{xAi`QG'KiYaklv6igY([TGe0ϔ:^89o?w|)/U!\+)%ĮmuU[^XWaq4~#R|x[k?k_>ǾhumX9TYoԠ $;2<{كKXR[p%}mA>h>Bjۛi4 zD^[[^G%;-meNZvviy֢&Dv*K]$vrV\$Zʓgely KZlb9A՝FFkE“El2xbN8Ŀ:ܾ\H݃pIg@][ֱEygh瑫--~u!=:-X獢ұۼ#.?ԓn0cx"ښ'f/%Ƒ\P]a!dvX[{Tb/ r#Sito;%B2,f&^w:-yHFiQ{3pcܟAץ v[WJn^h c"-rm*$t(Neo)>^\͊#q蔜R(Pp$R%Zu9Ȧ#7& JWRURտ.Xcl(jYRɩm.)-G*QO'N3K똖?{fZ6%T3[hFϜ:j) o.*E\E2'=++~w Y.YuּkCο2@kZ!ֿv 5$U~4)k45f`K_UM&I NR F@l"8GНCsDl7Y@4!V3"U B !4&DM niu/R8^.1dPI*u5'?c[è_LN6[$f[q-DK nXSzEQԒ'p|L';&Nd<^YlU߯o*Ha ׆#/1[hrqG5`Sdd=Gn&ɍsҭ,0H8{W\[KLdM?|卷 /^ydž7k^2ha,}O2O/.)ɩB#n];8|b!u_'E/ѾLz1{'x IDAT6L+!NsZ;qbj#/?K V^} ">>8g9=3"?@w2.o 7xtiz}Nd_/etV%X1v>Z]iIsϏLXwʰGL'Mir:)~/»[>d3So7~ճ֏Fկ=zf.*;?/@Ϝafov~2:mqb_J˸/>#>mK߶<뽒͖k[i%ޙd}DG7[kkuYcIL ө)4~ v QxWE֟0K~9o耍LZ$)Kuf @߅NE TKs7t%oxacwjY+$ 6N_P-H Jn%s#`cQI(EРJu&VJ"!Z+qR5`p=XiWElڡGKAx!(/OS5}d" ??wt9Q=`CGiax8$xv5cq<.^~,Di( a.2o^]N.}('(O~6sM,eVH8eM7Nۗin6s2 q'7BݙPogr>ڕ#'Gw{4sjӄ;O֩'{돒u_̣-_m>4?|? K7!ID`㇛ta<ۖ 8q%i]BOѬ80ȇ;Cu/aqgQbqlo,s[?"AZdhk_afAJgبXƌZZfʷbd{aYlbI!1magx~8~p]&7ae1MӵaIVd' Z$x[n-~nM.zԿMs3>k6y~(lZ&ٖ5QeKqUTCֶBVYmQ}],Gz_{Su aP~DJ>oI:43^W|"b+oyZGcKa G5ˑ򑖩M:jom/#3{cm~o~zȻnuFLDJAXˢ?vZf:>ke((/[vg~c-#"4*:(`Ef(uv/&`ץn,xLo~ 5Zqܷi֟$ҀJH 55UG4샐VՊ R"(8F@H 6:VDz,:h-ҷ{I6=EkMUapu}on,i䓽36 R~H xkǙ&0ۯK*f/N|Ak웰bȔyP`ĘW/2ŌӺ0(2Id,]I Afǝ,k9)QT\RrB()18"xT/-jԋG(,KW[QՔ)7< ["臣lu 3C4/uctvnj^IeBӼƪWU 3fQ/ӵQ%Rb'X!WNkMPľB#|mCl*_AhԨ@!!Dn@PѨuWW'Ps/i,1 CU6RD#Q70jLi#1 n4{L੍o?M'i}Pş} |xt7R$e⥣h`vnO{/M3=/õKWu_T7Yl[G8ݣTXg'W/>.DbD=g3'yq:O4s?arL qlW F:'î㊸*~IyfۻQ+5ڝMiEغ;?ktZ|ty^Tӳ0.9V] 7Il^DE\ʓ,x|?|+f=axRΨ΢-x~ZqF@ZY\-:"7WNǎ;7w6g1]u2oȂ_W-o9;A,7h4ho8n6m͜>IhhMN=&ёqM[w۽*+|?<|!&tGA@D+jکdQst\B6[Y6ĴQUZR; .fB)QsBNŒ|,eUCY /2FJazfehÖwss긆uX&QMRO_S'Vb ! 7eY Ggg>GтjRrG\O=O}me}]y۽vȉǺӿg',|G{ZZv'K&I]Zx̎2&;u\XU$|pF>ݶIaֺBYǚ_uX5v7e@I)A ڿ޹A [j TZp!xԜ+(*ADE4jiQE=mTN 7_zV+|0~Mew?Y<7u٣b7'|!ݻoUyrpqA<pB?<jvfE;ٯtŗli-$`!:U4*sZ}p`}FN/Y áA\e e5jl4F\Nmʴdirϴ7"v1/VgBXQG-YPpݺ?m\={ݗO].lպrIupnҽLΊ RlQU?hWf`{qo}BvRk/&ͥb̅ y$hB# 6A]E޾_`Qd-8gEmZ˲^LIWKg?oy/AO-y'zd|]( I˪E$Ml;}Kg˂\Ӫ=j.jpԂӼ.2-ark;ݝeo`$5 DJRu262G ^9ehDƔRs0B֌1sALV+֍ҠA"Uak +ڪ-$)6b jɑμ7iX o y à^ihn߫ +2V!@UJ?\+c+Ϻln|ZAde$z(jt5fJU'KBVRbZTRDB=7L w^ j2ZjhqtG">3dGK7"%{p=]N]q pƼӳYg>=vڶѰl3l y$sJ|WgsFA7Q[nU^_Yē^tҪg(E;l;c\Β(d=2qBn̓MD^ qr^<̗HS1;wwd`VG,=zt[9$hdCɐXMlz:. [~)14NhQϲȷ“$p^|ks3z.Y&î-LJY޷_A}N*wa,C狈4քX2/%jyde!M Icj3DbnsY~O& ՙI˔TkS@ < +Ye֥bqV6(JKUy bB`$V/=DCeveL$ ):>2ɢNSI%w-9$}/ךEf.c[KHeX2;~ 7V܏ލ'_o7vَt.Q̅S4yQ7NV"'V\"[̒G؎ݧL(u}_흔,,R,w2; wף`Z+)8AUYʔTR45!)yg^e<+uj >omV' 7on3EXyAR~88~ḢW}͠j?he:W諑*J9On BJ+DAP@Q %s:M4X`8-lԪϖ?=?)~7q-jQCEK-mJ O!knludM.LY^;`k;I1[ȝC$D0RB@p?>xdgo^1B $ɲlI*HnRZfQ˦FEɴ,Whצ*),k.! 0+edљ?NraFQ-K]{6+$w\ϖ@+l[L Mg/vhY9.eYTsQ2Аd9W% _,I\TZZ֌ye˭7'f)dRo'% ,ZDH9 ۢ!QܠmzyV̲z1ck>A*-x̐1ԉp"J+L GԥBejEh3-3а#7kut{=t}8a{-7XZچ2zmvq;[ξݭn-]]=K 30 0LU lECl!am"Y;""[B1a zz0aYk=-qAJD~F*{ginE;Jmλ]2j_gsKVQ[U~ƢReqn˱ L:85K2w/s>V4¢st 9Dhz#2zsY;VTwY PwK}!+A΂\j U  eEX!l0&B0"$HTZ#!%IB5&})%@*Iׄq!Moiu&9emtg 9Xzkg\׍X}qrCף[R㙒p}G\~Y LH1®eDe۬Q]Y>pdYF5d<=B<˥ha0zC72ӡRҖ?:yڼx;oMB" $E텛bB)&AYYJ5=|0F"BX*@ 6dyfv]ؼSLɤMƽHa"1&ӊ/~*Q9"hZ(5Kih%& +R~GN,#Pݮrn+Q}9.L~'%(@,TR{QN6)ͣ.Kyo<ԏLT ؽSDH¨Ps((k"yj QY[#LZDkXR )EpX-P`9UIJ 3_s wáBNt>F1 T۞yzyغMOQ?j3NRlJOռ4~0l{'lR(+ r<iR,sv@m~L :AE+`)-!Ksp^u퍭!60f{kP횒-./vP#6/[`BYĴy؎S3<=oK㽟F?Ǻ_+K4ƙ2\2FC6}\Ɍ:)>!:7]aa3-[9+MiW/bdֲVwM{I(Rs 12DٺiEIJh g/ѺKh4(-Xz:ds|wseb ڭ{)*I  ˣP,v BxD=s@HhZo }.8hi{pw/'R-%3a"~(1/r-Dae|m1*}qUv]ĊHPB +DBJ#EuaY&[WH0RɛB"Ίb<~j&s"GQpu-W+Mq:Md]kD'G]4d9%P4Gec"X5j'K+ Γ<_awwF{ q*5@T!`A*늢 L´b'iqTVidJ ͍DUJU1ĖhڋX _B?zً}]:L+%0`% ,Ysvpʍw_ G`Db0bꫂ2R&i˫]9=k]:QOGMdA0 FgRV)1Sz=UѓdFy`]<6`Qhj\"*ĄS&dodŊ&3KzHQRCBLXkz}qʉ#sL۲2呢k,o1nOŪcjqTPHM#g(gi%ҨíW%X0TێaK ̋Nhky I'(i. vn(rfKg#Y) £ō,-G Q]j-I1{۽F]g2E)isY ~J";3 e0Q:*6$Ѭ;L,&˱xENj1$%Z ,oҸ,wf%]'vZ/G?jjَmr`<ػ1@M^cQ E[GZ9 6 ihLEQs5[-%I2.9d{=ն1n4⋪HiUj/UWm՚y./>5$W`457- /%vC&XͶR wqtjfSf^DaXԸ6=EUl\߸Bf0IR]%-ks۽f%#]̩iU/ u Tm.+H;NSD9R`;c15iքPA+'WJکc0.1! FBHH@1ɤI)Ĉ1R0 pQb`Lfm*1.܍~?uşd?q48*o^i^)Fv;:v˱+Q ENz=fk9A lqm~;a; G50/!ܠXUQ!S*I*JWms[!@bb*0 B2!vhǩKIJqX(q˸?>d}h$KFk?Љk:QDR(0ڊ*[SG Rpv_ӜӵGeݜCh#FcnmHsOٙ%I\M2/*d֊,evKI)4w ^zql)JHNsC(ᖊq-(9 漩005`g;O#ՖD׋$ -Vp2j~^_HT8]8YLA˳J04R0Xl.Nwdzܸt"וAR@aȁ<7HOpd9N3iʰP+tGŕ_ԄL,.CZE5r}1JF \FhvK(#ݏٱ%:^:gs/J]"HFW;Ĭ<Ҍʌ*Ys.ʬDp9 L$:~ok[ϾKBluwB'?6?xyk^_Xg}ߡ<>sT\ґy%oӿ,n{_~▏ռ2c~/kIw|ȯ߃n7!{7}_7P̍seymF>1!噵5@cL:cgN&7R=F6$*{ a9amLuVW\ϭFgTQ"~#V t) r?sfhccCJv26Ο3Zt~ccm>9 ؁u$ٵmll&m66659@hi??( 8: V׮96`ՠЙ5R"@ll<VV+ بU)enyV9`c#ؙ|Þq6an]}Ͼ'ngg_ݺElE}_k0'֗]W1͛ں[X}hGߴ;zy~8w;cِyzۛr!G)>TY>s Ǐ<ܥk0>qvG N}AfI o.n=Z ò(8/6g\w(W~!YCqq.elSe"fR|xJ/31Jj_syG-;8ַKAjij;^:/-?-j-[_ړFt+C\wɓCxwzo~Ͽ{<7?n ?W ?޽??/s:{[vOtojý^KoaC3GS|֡?ۛtW~i[}xyݼw[/}ƒX=T_}f(_]b6qB5A煷AC_96z 'EO=qaQV[޽ôOʿ'>)нW[~_~xuߛ>>YZZ/@ٳaf[yOlIENDB`6~*ynHte>3$%.kO>mMKhǢ&W'k GNoaj)һr~n`6f{q߫*N0/mǻ08p! 2łlQ.{p>/Rq7^.=Op\w]$|Yy ^ ?jkNPH#lh| SDnzJeqo~F<] }{1#Va͜3h=}Ԁ0ūI/ðxJ&fiwV(4i.uQfUI^6$ 71mʧ'b"47!\ `aڨySVcRiTj@G^HT퉠kl+9E]}{} ޜ~NGjiPG'2~ ie|Mٸo\6ybt#"~{q5=&$+@~H44RVt}LVD{XL Ve,6tZ)NUy#9GQpD hHxq}kec*"pT_Xk'ܬDݾQvrH~ܢ㻩{waBaCİIvEO`kˀEFA;?ƻhy4=!|jxPRYIZu |$ki!29a3.@bR+l)WI'y"6)T{fߦ̫:*l ]n[H|<#^U*J'7u)|RoguüHdy v'tQ3эdz)J?ȴo)ק 9ȥYpAw“DK"4-u"xh"ˡq+Z5PMbIၰ9+ MD%ARHnnUh!pPfWܨޭ8/唉?wD 0NhcsWiv}t N\y=t$̻Mk[(\()$WizZk~~&\=+SZEփ|B2iܱ_ܢ'e[aQ-Qb?=| %<51IqQm9-ŎP1PIe-FʬQ$Cbbߺ=W(𓐔wKPe$q_جuo㍶ |Kh L~QJl)RίF}Ԛ6}L%3>Uk冐T@D;Ip7+u<;ptL[B:`o_c<5'ţqaHǟn6"Q9QfCa<?ɬ`$wo \qec\n)!S`:EpIQk"{4"}e$]ZHN~sw1LRIC^ [S=HwJeKYm8˥@OvXLgcNmLWѫK17qB >v%a3AB/,0\R:Vx} Β{맽eތxDvE;B5@CcƯn>>Fנּp }6| 7:J:$!}R8<Ɗ:zbzWy( R^.teDZ:m/tnokG# 3IxS DI?3?_߭*^8 8N":[ued=DEĥMS u!jau:,&M^+A6C3>f^ !5In9[K Lu>J%A=>kG A_nxMM?cRUyB)GpÞ~'@,8/v2ϣyBO_&#FpC]e+;HɆR,]oǰ H LU<+Fwr䎛7#mɥHYrզսvdf&f [iƍVdMἔBA11_b?2ee.H A FJz/F!c!/. O%-m֣a)i1C6/&/{ &`,/pJ?W7yrMzN>Ct߃~4E*$/̅PP%2%mR"BX:hf&`qMV"q IbnS_H+_!`!B!k:i5uWx*N6xt"[wp%E7&"+~bC]}#d bjVWXBZ1 }֎cI%- gG<њY7~]DVI0 RB3 Cc8e롇M'x~|Vp75[6~կ {̷]5w'{R)҇Ќa~Z#0~G[J;Vs.(o%Pؾ 㕓咗OWV#cewa(0E-MWhӔ jDEq.Q蟃n"#9_7Fn?aAmLih{8WK6U(҈8uB8"ػHDo+t?TxصGFk#(ԞZ~ѵ2Tg1] l S4:!AKoG8FP,]hTz=CPir/Jg|[twc000_~1Pu`% !3{=JS(\G'.ӯ46:3 wMl?+6i+$ؒJl_<*5#.Dg0Zt}PMւo޵9Wz9:όn%u]=4,XIF*\,WpB)#zhWJ1.Ftc`xA *{Et/E1/3.VZRYB"|LdzuQ[/'TΓd6ק+8\2ГvJ`2jWcbVHwmjb&z@cU5}ol#Ga{G#RC*n)kj%҅3DmsܓH>Ko SHsI]0M({uNǞE(xR)l7\gߑPV F4$ _W0&.y.FW$ fb&31! GӔJ986DCS>CᜢSʣg2_Q# m>`ٳ~tGdd )9ρ h%-^y^.A@ |))i$By[-m+VǏp^7@k?g?-b&b>KtB^QGvҤ3U*=H6pLCHuҕĀ y$.4D7)R +x|8,S,`[2I; ?Q}Э$k9^*6 @?,Wjfܨ`]H%3ֳh).){|)4^+ƆJV1i)ƱMK&QIRI$_iO[ Hx>n/ z-\ o#IBT^g\V* jJ1fҌyE(- `r5If ;NAZSPMk% @UY k7݂pZ/ lU_(hfD$cu-'~uAQ.c0xs#Z'^``ȞhMDv2d$4?#dk1.T ?&ؠe>C@ d!:İx}ƶע(sȷJr:E[ g \HR =ma'>xʬ+Fp$ cW18|eRxNb@_pCJ2co$MG ֖k PuEǩn'g^d qrzo=dWwĺ)J@Y.bseăqd1Zg32 ͪ h#FM{?9Xf-VYke[mNoD]y7"5m^Pcf ?3<{;ݻ)ȓlm+}lmD~vk .j3q &5o(W= vFΝp(jV5@\n \%K! /L]߅ejzanzp@,UUxF6]Ltո ~S1^^?J^ 8J`dL_1!*>b|^Pa #GO:;J5L&=É;9 r%K <]iϐ}(-~l| Z>]U"LYE[8J$>gLa*b_ݑ#|Qg@8~YdM2;ͣd d^1)*̚c7mw~OW@&]d׳^.tE>a&5) 5U~=,89nƀ@vcNzA4sNJĈ$uVCXYwgj82N?_u4{'5e]6YNnr?͌ʳo)T"X {R]_x"6A wKCnoNv1 *=ة:~.d"i\-D0jI!2{-wՌHIzrL-85@I +QK^N߿]޺YwrJp vlis 2Y%>k~6~"A #(_` `WULngIJ4UŏXƂEhҝ;&jWr?+౞XE{pFXm,|7M;b1t; E6dֶF.ݷCy a=R &Px1تzZidh^u;7kqvy# d`qVފyFzaV'x)>}mCM|Sٞ4O|{aՖo4qG6>!2MĞR dJg?7H`ApВ jZg*ݠujzX )7P&aJWFAIz{zl΅<]#mu;_~@(ot7M/,ffrrMC?Mwӌ{VA3wxӷEaH3X`(}QCMVW;KD WI]!,mh-(1^O9Ћm)?gJ@R3/F };Z1}3[Q};m JhDr)xFb]Xg#,gl!G43Y}tzm9`aLvܫc̸vW1gN!~w|P"9$k&g5^;TPFyc覷*kPJ\ronϢ:}C莒e]Ys\zE#"'T6c:r=:Ⱥ Ya jFa*Wv܆=?E⤧B [vi(_58_b詜0gv # [`vŭQ_–3&>rxw }6\1$wYe`=` uy݃naao5RMfsK';3PSkT?~|ZjE^.'⸼~;ʲRS/2p+U2rcIl}rKcew}SHy|X,l9+VnB\hFUŧ~;3abJ&m'z ?{ I-Qt MD?6$}pا|424쬘%1I)|MBAXX]}%'UxA3قPYbѮ=SUa ȅXvC鎞FEcˇ O6M s]pʵ*׿m)ջ;]fmuH P֟0q W"ñp"#RW4HEѧE*@f79uFEuр"5<Ϻ2`qs_ş=vFjtL='og6ڄw(fbY6)%N]w :ܯ=Xx\pi/A6!r=ݪ%Gu؊oJOR,sS|nhEcֶc \Cz:1:=%y>Y Q x4B8탫Mghpúr)}%"$YmQ/e3fB=S?#؈=Tc<'OGQiyf{wuc]*FGG `zfiMQ<Δ[4MUqDW%vJ \+¢{iݹe>T~L}q;P_˒bĩ 6Sb?:]% n['đWDžkkz9Ibn= YAO=i={2Tm{Uު-4bڄb'Uqki **dYX?wۯ+[0]:@Rk;PrɃZ:%(4B^C_8^ $^4 sIPNʜ ӟRۀ h]p=XםSŲBi՜_i lh[Gr^ھ zg/ˈSbQ ZnO5戶*npƛ P=84_|xka ^}(E43p ^F'J59I\aj UlfNd |oLD-9!Q֊TͼO[A=7ݼ5@G6FӍz5\b'gh1R o>{?@͛35]t8Me4 "R3~v i @7Kd{ M]!f=Xc43v?vB:>Iɿ$gp5 20M-nՈ՟afӃe`JO֤G|!6ښ X) M/ !X]GOE_\I3Jm@_!d<w;ߜқNeC{5 PMd< /"M1؈ l>y{{xE z&HUa0"Y~X`M,<xU`!laƴ.+^zm&}wȡ[共71oY_A0+ Mu5A.$ۑ#*?&/Ž/"v0M+q8gV+N 8{Fm55U܀gmH+6M@e\O"{֘:9ջ.gb$B؟+%!mD@vEKYg%bُ$bϿ ?; ~P'p:Īf4a`#P7+6=*& /A&GEU¢i) >ЩZ'x:. cʼnJbIL/oQ*aKB@ԆT@U}Su-ùK'ߧ{j[fduEsU<<8@?Vԁo8汙:swcnŹF ;KQStώ-v 6r3B} O'^7ϔ:!p9h_isގ&Hklٯ˦t1ᯫA̋f91@[?J o6-w!D ]⤄L TnGwx.~Q# KkB]*:JҙuwE(P plqI"Y:tXt.C i0"O A܉Ju>/WGP-짘`)K$I-e LkD#ZKDh%2bRS7cLhQ}4Cldz/Ϛ]+SNN=FS?SgƄ7NCɻ޵WGEcwWTY{w#[A@ +RVf*7NDk3_wׁ{=q;"GzTKM+/Lf^cg&ek;Zvb~ %۱w+Q"Eiybnz[| ?py|'wXo^1v`ɸ[ɤVK(W}W/)F+R h8dT+kW1-]%AҎ*SSviIxi,(T83 ٠݇$B$xǴ;ۨ]T#*cU)rL{DSHDOkTo8LBJ!T,.  JDT 7˕* /TB S<P㴵OBq~VG0D+&(e9O;#*~- v ;$ I𷋭wr5jV2Ӥ\5ZϵYkwM?w"Yt3J 4Ѥv3#["Պ6tg9bboyз*- W%ɪG&+&|aLEWr뀟d$8(d4Hd⼓CO^p7^vQiw0Ezhj;8Gv+aqWTq>whAT4h-\%{9w|xGERӌuzp=}>x ˆ{b>]GVf$d _5;Q)[yxiy3R8k$ I"249]K(MvDcC_j_cSN؃Jo3-[f[3X9jy| Vng ~}ƴݮ{c{ΟYk*e$x>]3V'~* '.FZ9J)Ө8 >e(ox<؞-Gwԙx|}{[N_1I?G+vݗ2Nq֮q0(q/!7p26*DfV>F~tq: ܮy wBnos~s,-z+"K'xFA>6o$(*&FiǴO~Sf| > h \'H–iUXƨKD1iG+ 8ѥ87Hb!hP8m4fBO@ B)o#сAgj8ax=Thcr, mYLf.mrB+Tk CpuI#EyI,]hxR;ZlY.YW9--FDy;n#l0[*{kL#a3Ƥ(KUy 3Q]f6$)yG{bH:yX&s .AW"qAE]qjD$=҂hIBɫW N Q/8fkŚE< AklAv3ͳ5Gm6|ςϊO$&].'`j*iϏN* 8.B^.{=2;Wn3* `nD3RzĄ+SNC!),O=偑AoJqor;i\wrk;d+Ь&Js8g 鬬_.P 0&sEct5k :Viϝ,͘lzg|R :m{L Z=+Ӈ\ ; r}Q({*nTu X>`s-+ֶoϮё.-{mOnq1`7lG;a^3Z"HiDZ#Jr} MP7puYYcJ0M<'6!z0qV7ŕK_9:7틟bLҪ ?G *j+p"N-Ӣ1RY{gp|'ڼ! yH"L|Aoc59sn|G{+?I5ηy&|Pt{^'yRo ȓ3EԁȽGLwCwOGv[}v:ȷ@?nTcBBm!g5S9.9{F#ݦOtƸ/m/|X-ΧtvX+[`}3ǵ %WcyL2"-.\RcNWj@q56r4z7J .\J~"KgTLJ~\t8KԖ#fffffضْ,f13b,ffffY<3{}o#6ή̬'rN2,^z1EC> )=x=N irϢO/+iSW @gKm&0e ՟܏xÛ.o/9m-qVI|K #B1իޜ,ؚWD|gf4 w#Tt9ot$O;7DMT|:TGaӶ<|0W5ҖЩdfQH4ɑO* )2.Ii'Vx_7R0z0|x D14YCM3'*loױ>MOx1zZ*5 !/`O\W,< xyH>/!>͞0"0JaMDt"p"Օ;{xf߬f nic!yrЂ<`R UVOpVNE뽦}|ڇ` |Z>N; *J^tݺ{Vovg:\ߖ4ML )mU u+#LO/v4U #ưP*W5@.疐6AZL9Ϥ,B Үv|sF9E[RmOD؄u4.KE|!ǞNQ**Sp#De&+$>;Wn! 7g'=oj}S:= "Dˁ&o=Jj="MtMw8u,%Z#@2d81+=o:?(X>֔xD.A+b ZC HpL΀x&$6XsW:Sq>ceS2ޭJh\nܲGyqK~ΫSјoJ<Eql]6}ۑ;>CsW(ꮄw:EۓPZ6k (t^K C~v!Zk\uaȆ@2Jxt dU'$H)JI/"PꪫpNskulPԮoeݵ JgZ9cBz4cj  .@A0{4pEP6 Osچ%"<8ceVBT(fڹ $(aɿs@Q6 DʙEOU)0b-Q-֗0oOl|`&rL>?&YjL@diPܢFq Ǿ5}6!dfY' Ge5D\,\"RhĤNW;rzIpG#d>&wVc nl)jC|yryQ\ǒ2BhIuea^=`,3lc%Kp獋sAh03cS<g- >0 f^E~"Gk FXh 3G "jm4] 9^.53j^p hcJj PC(n%1䟄 5c[E: "YH 4xp i{}óUR"Mڙ<235摄,wu o)'IBJ~(,!/w`z(Qp ʡZL$K@`aao>U3.x 1rYwl\AՏ` A|i8]LxX'ŗJ*z,Kߓe3G{?1I8aX銗NJuC99H<^FSL]2yеK]@`7ahŦZ% 'a@IBeb;fgѭ'BE2/]t48Ǩى0"0C|06= !{.wSVmo@C))lڣ1枅.Ug|vt_S{°=A}(b5mg/ ֵIP+$򂥼^m-beRt8]<$+X Y|*H~o^ֽuT k߿q.ҳEN+ըWζ(Ӑ9<Ŧup,19inV6# BHvKOpnq>bri:ƊPeffb,4Bw@X^ dj܈Psc7/18DoknL9(jۢ%N}](je\k7]RK<39AHބLu'PWgZK;uDK2Xti`S{.\/!ai4MOӔޤWǣ&}{jpTQ98 Z" dH5JlRClcl3팫z۱&oEh۔d](5|fd#e!5AV̉?vQ퇈bRc=Dލ^9jE7-4xjgľ:~r&o4~-"^1 wTU5ʛ:b'5 ݮ#qkCvl!!Tj_QKjzE {Ù:Q@&8̟8p?n!)˨gV20O@ٔќOl:<21ƇaD22Ix$:0IL_iu/G$I}~"_txܱQ5B7m}zޏS]ʕ/}BY  Bbt5zj:lj@4nbkrahXF1)߇KIV |#-aT=bٲmXg|iqS[2M:~XGx{Grf59ZvO5~d0fRK[o>_fo ;6(e<^WGyV_ω,΅HGd:׃X[-/90@E&EQGS}FY 1P<۵&߷K~;oP#KAp{ysns:qʰ{&( R܃BnT '!|jPjZD(x L!rrTwD#'d~qyba4s*Et,~?9Lݟzc~fBZP~A<+DeMI'MH.G>ue"_d׽=Tp_Rft1iEUtʮ'iJ-":P4Ũq8^+ d*4 `䞟ǼLI𡃜"2_ߟ: }/!ںl)/ҖfFǙo uƋoxdfS$˨e]T3ˆMgtIdR0Zs \Y}'c#SA:_E,["sI`sM||?y(Tj(6TA VUOD*7,n.r|#YXd֌J^zoҿu#2vJ`ts?Z@ڄtk72H9f1&@E׽ǐEO6hG4$ψ%S2nGU5pL@]U=!|pooeL=۫?Cm蕵(vg xI|5Yv=mi*Cw)W&ܒu kjA@R,49tUm< t֍؃Yo3|N*zo-=auB]/qlL,?RB>B~;I^fV H#xIp1_}3 U$*DE~D8x6/1ş> Tnp SdRUnF!"ny2 ogMR~^ 59#ς]jckE${[<=Ko#$%!3x"gcv[bo{03r 5!>v>n:'@Ho߅I[Rcd ;{?@SH? x0 YS)"+9pjiרz]A=~` x4 bXx)W&xqhbB9cc 7Z9xtFs]s\otُtE~"Ca LjWu/DWLGfG9D"^HED&kD<nEQY~2 Vd1pbR`IRZj8n BhI̎Ry:k_tC&2!Q'].u,n:jMSi WȽDbiV'h'Y8eInH&4|Fֆ2F>38ߋ HZ p@( ю(w}425~xlتO&Qw-<#kQY_${C%傾t vDb|Mw F7,,"84gUT|j)Yl*6̥8jU A&آO-Z y6x%[?ˣyd[myÝnAǡhU'޻Ǿ /4ex'X|Pi?2(-cF`"8:5צr5-m {al}*$ Z^Ɇ; i˂bz.kH!#=R?IhY^E @LƊ#ˌ#⤲1m!!m?ňVD' +i*aI9Lz|CXug%@kuP6R ʯ4+zNn/?w8߰CJGqUUbro h,rQXl.tB4 t!~150Ai[H4tZ{2*O_չ2bb|b(Le} pQ;?3ԕzM!LqzyVR8VL%3wNxܘ3gbׅ`af%Ju7H7!W^+=~ ^i,$qrh(;B9]r,s&U&"q4lj\d ʊP22Ր);bwiRpȩh8 aqeHĺQ\͖]V<*x[DBXk$Hu>h{EH ]?fE3uz*mW++ѤVwU$j2f }bl B cVh9kbCj>OΣ8kgo_*KdɷڏQ^F{8JIѓ>z<.N"zxҚDu@?0L0Xp@K$UJSÛHܑ -ǩarwnhs`e>, PY4OʀǟyΙel3 Ak7&"ͬCPXoqH%Nbe-L94֕Q4ݭ7v7ΟRPF$gTKX?xQ uᇕ]V]il㛊zrs"] W8J%ޯGzQan?]5e$Ͼ6|/>utu{mAWapL_KbO09m`G޺GL|0Mgm}# W0]o ~C35߈gҕ;4륓c)XOBF2e s97ocz`SR͵+?o}Mƻ\z<R !p*/Xw90)G"ޏ?s!ډb=޵+~,ζ^/ܹeKD8 Jᓒm7ә+D??fG2d%&^ޫmFmȴ_>7Q٤50]0YQ|/N3uRlcdf3 {eu'{(=LA ACwяf!-mKYz `$/~Jzý .:b&bsB~JBҾR`S?嚘: UrfifLSA} & ]ϻ吻~ZWUyӆH)$O1SG %N4o[I6 6WX;r&~="w\}OjEC r lRFhkJAA ]x4LbcZ`uhc㙘Aϐn H̓a6s.^("pz?@+h`3rh=ш~ź%=88{֬SlIcFDh*N`J ko=FjЃf\;ˆ!n"@2!>k';N@.6& *cPz0R3yGV0:}Y2 +c G1Г6vbC+s䬟`((WwKXp.f.oX+;^]]B"X-S95RʢɡGIEdX+)  PHPww@0q:з4d/$~]&=ȓOf#?bDk3w'%-09Z} r |^ A=׏5T058{p*ͤfBD>x13~Eo΍ϋd0~gS5V#)H)@؀9Lj<ʭ(&VIC\|\<5ʼg _!Nۃhe4,Obաdhlث+o,Q[xr8_r?6h49}"v /2c3 pg_[&ݗ'8- %aʉsoQkb {̝S}t>Y ViE4`ep{:e.Qs5#_HR)_Ѕ޿25) M~t5ⓡ!3ۯfoXw y|^.6jL@*UTuQTS=8 N,[!93kN/.ү}_]OI4涛+sloh;'? ZȺDu!=Ogrrt)КnVnf#P4.- {]_$6#PTŦ>|UWUZKb.$ګǏ9 [ pqpR(GC&a#ƕ뗏Pۅjr7tme(?(2rtM$-QZFJPWSa/>S:?8K`wqŇu S9kݏ_d4eEd~4X/mZ &NPދc!z"@68\S\Hd9O+ʜUZS^fiZ>.uf1! i<$՘*@DMxWQ^ 0;5P<-o@yH si/\J~`[Ӈ|ن樽7t@O@3yM? lQ4noُ[/2$s @*±d*,.T.ִJ@NoNcHZ˜|^FQU-\<*b[E".`L79~{(0$ +O vB<@Ȋ.zR+=O9gg"0`$_]|+J7%XqTBB>I5n^ ~<~_{P/BȒ]Vv+LT sqafUMuV#_Jj=ML<8awڎ~\= {YDg"-3p;suⶎ YO`(Vg噣uiJuUW\_fPn:|4d4O9ag惐4CuBH%}@` m@WQ{?P|ív1]v㞎J:5`ߪ S@P~a;R{ydSJM s&~D0>SGۏWqz+]6syK&(M{&iW/yV_FX|aJ'K$ /A ]T3* 951ĊEffCF>J !0OqoiQI 6B |+^Np""i>xE{R%>Zg{6Ý'sؾ}ݺFfzWS(mf[7nyw)k//#,cZ4쳬~xA5#ln1xK!#r~ ԦR]>~OxElp`mWSBlˮ?m{Xĩ␧!1{5HA5vm3X7}U,_.k|079$pVjsݍ6 jL-~ue䘑aOoO uM!vњ{g kaW-'qάvAWxL"c17s8=Mú1L.ޝ'aW]~=jXUkϕUƝf]8ID A6$o|Voehd󟈘|=7C`?ԋRUvEIT^9KHQJ;&¹fawW}aҽ0x%֡߸7AY/on W#|{jn[C+=C69d>IVWm߳/6_ֳRb㿐-]0.f)Sd0KHO\`YA,,2Wv!!tHS>_ o}g,6;mNne[OӞJ%O`.4n:y<'v{sZnLtTel / ]FȷgWY-’S${!YX~6!KPe_?g5^Hy[:ZzFt]u/G,5s]-rQSٺ~>uCJ{r0Z9A Y^ drfv/$vEU}ŲnoOI ]݉7i2fd 2| y{}nxNX9O@|37B|^|S"R JÔ4`wVC>'௨#&hvYlG z 7:P{s=X{}wɵR$z`1z 98H9̭?qd>y:A?ޒT]C6NםG.!̓G`Īui x~ jbaʼ6}(:_v 'Q[WjUUK rdٟB/uشĞm351 Ny,4OH*fheYkt5a/:Ee)͝|A5,٩FqW="Ey5҅3WP¢U:ҹvkCqyo?NAVh۽k$XzlTT̹5j D{N߁e1+_tw4G}{fWj[v`Lg>g#^ƴ$󗗠v*gz'7ij[{qq;6ou󎜏?¤ &On0!hzS|Pp}C>; H1p!2 N`MSjqpΞ4&VVNo-9̂VeB* ?MJܝdRD]5v? ~3q~'5xmTžҮnH5wwܲe#`Ps3^X:F9o~_{n]䑘X y;}AsYw u9TCfz@vqV$\_kZu\|YhY\{\iild N ?*&0%.Wä҉p;ӺW]_ >'Ga ra IH:%Q9SV4?7Zg c<'\.U\=`*k _Z@j'GS MgH$'j PBHT_<렆GshVbim,KP:%!qϖTB@Y-<2|Puc?LPT2 ϣgE*/ o|L‹#SFg;; L d)Y0./4߶dp3s'A^3#֣˒('s#:CmH'N^ϡ+\*c!q?G^_騬 Bks- τP;Zm喁a=|3wYXWpI`CuKhcQA(&]yK*@J>b֟-xGu˷;F"H`CXT;y[D-[%f=SY2S<>ߞv<@3:ci"/mM_V6Ųm̌<Ҹ ?PoQ<|ݯ-N*b6%96JZ[m d!UH>*)l`.ʌ)J\[3/ki(۷o݉?(kP* CUgb&_r?oX'ݙn V\Hh%7N-<0*GWNA,Fx`xHMNŃa2ɚWlA\ͲH(IQS'?*#r*"LidD~)([g$ܣC ZHByz톊4PQYn ڐ Og|4P1"FD1z 8#Sp0[@26sѩ3ⴳ 'J2>J[c$P/pSb̈́GKsYZ օBOpXfU54ǒ%M̄Z"#ʙC(g󊨐2Tż H!1 IŴgGc) `Wz^ݸ*+= aR@ LRiM)a EI͜aaq/4 YxYؗNQKJ%dl[c%sP7 ,%2,U l@pm,Tu:xhe=Z˼8bE}܊ Uu YL4d=GP1dT!=Ai"q?:H*T:HvxBڵ3˕]Y mlp2w+gq5іx]݀Ljqmpm36*q%o9}JYabzhdť PX_G`A&99k !Md ß `CS#'Tbu 4{m-?f$׷ZM{m($|M`:Y* 䟤h4e0Α %2Pnوd\#0aeJ'5|hgmPLSS[|BI[l2Ѝ+F`':̩on{>VMZ|#pXցl@gST3٨GBMU4~Č,R!U֌f(>OO %$4հC,`1<'"׍wBʄuo>Dp8u)Dнs2\ FxlZ獉p߸YKrUXrtxOTmf!<$JRH(e?o$C˼Xd="pL =3Y#`S_Q4|o?NuG%@/MH8Tծd4 Xō6Y%4,Wv(Jߧ% x0(@W b#x7JM(romd tQ9\8XEtLƳ!$gA.>>gfd~iid/APE )X9렒GR-R/2J(hځ mp Nw 3@._jwﵞuT{lJx3=0TlMxh6T:\f0O<4[BCH.c6:Jth#&Fͪ8f5d_ )d"%Fh ۶xdU8X5 ajH,*9ec46+G%CT(J{!.lMFF9W0qS_&.$0A£r`֙V +dlS&V XEb鲍}dg<𻻖Bw,K<< 1YzCNuk$v7, v(\Wκ¶z {  B#- ٬UZS lfRFУ@Ǡi={hZ3spI)~+2{Fd~V#_ VfwBz&hlpoe 6QILT*I0*FVDƝT]Xl|B!%fmK8!caBNIEXKZg=$RXO0Q6ԏncf7J FX?p]8^C.݃)$]~)Ǥ@}J{31w!}:muQFYD2K(Ti)aj4,b1:ѭsQKJe@`8T %FJjK7 ׈v8SG+sc.g'ycԓ/Xpq9sJtAΑ"e8|C&HcHMpEtBd:c:Df@EX]yr̟0Icx$Oro+~ݲ^AU&}B28L-y4vW*oE-2˙2vh*G~ae 8ZMoJYyu;=2eyl?KVfU Qx(pj<[av AyX0)+k67xSC~oQHQ}m4&8ǒv X`K(IFϫ@vAF /fFKq=Is d@;Ha䛉jjjпCp ,N6S!IOk"iB^gGwBW4mÚj e0!#>rh ] nދ 0LXt懦ǔRcG鳦b asð(qf nHy%bbKT}MD&. qE ~&Mm.d]ȖDW{ #g1O1ڤ۹Ovo:"`70L!h[yEj]!t_VJ""mCA1 MKǫ{9#( &GՀss7e%2FW]⨄jhtEw#6N5;ǚUxzƼ>K TU{3G0k+!'Ii!Ba Sc/ɏ(3>d N{xNdiCPdtĎ63 C9vo|nxO_&C)D\r9m7e߰DJjxaⵢز9#8ʀRz4܌<| `aJC> V'a9{w^eBY`:v!ɼ(MY 1kS'VJ RJ  ӒvS aIklӚ gpn#-=΍ig3&::Zrz!osPho 3*&8l^^CV% p? P8 IqHIft) D [%箞L(*5:3C'gZـӴ_-ouJ{MBP@}Q9Wzc03A:%s?oQ)R,+2zlfb.;Б@i*-/V>AbfDJhP]ʟW +T3rEGu\ 9Hhβ2WRvFfDZѴ̆h1`YEDx hGC+Ӷ{˕;'w.(9zNBOq0yV88]k',P`cDƒYI̩J;49 SkF#KD5s~.(`$v2nYW)B/vss*YڋzP^#/Bf~P7ή2%Rڒ|& {;/zYn.p*!@7hM E[<\ؒ8P6`˯96?8?"DSX@n-y!@Lp+Au@ff9:>+xݡ?!Ҭ'._g7#Yk=n"NvW`88u;_5z64i)t7OQh) &2[Q0ы(Ч\S74J^SLcQlZBayqر9r6BX? NZŇ9"zm#zXhk`fS[L6xrM\-l:$]&^WIz瓵j]$iL%$ok^~dރxW"T(f˃ >O]PM]hR&$ۖ9a{ӕ KmHa8V !6htXE?\Cƞ̏ߚ Ar(%g@Vс؃4==$98E&+; k䰘^(*CI(Uev{q)BMSl3|{kbYa=u(2!Ƕ`JeR P(? kDS$r8?X3ysD ..l 9,ȹ lst6ڝ]\f=%"ݮk⒊`0.X_%f~^{)pB=9#(CC:@ӻsʼnjh<ا%(#O'SVU"<%GۦZ$+_vQW燶IX%QfRyLSx{mT -]'b>2g8crLP60Y%Т'=3눍#" = /)У a`f`y@r2܃b|l$۟М6<,*lTҟ 0 Cviy[Z>T#[0և+T#X#7naֻEevfW1 Z5- q_{); NcUmtr+REcV5, yۇ+:%N!aoo~rŬ_<Ѵ̡ۿr7p|"w+5̚ g0[_)(i*ۺI"&P=xgҚt6ome ~mŮBnjK8g5uuu_A4Ii)E">3;/nDZnlof2 cMh L'hFUՉNWvgG陧ǤK^0cFl?.:QQ D?1Ϊ󽘛PНr P*3^1/كd+S˹pIL煮 S3,fOr?ʠRl|= qS_M .,Y0Vp%Ep(=W x \e\8Y#{BO2IE2T^n=du*DYA-q/`2 V(D+6K=~?b#"W֌*"׊Yu+\@"#? C L`rMDs} > n겸 IgY$No=߹y{_9?UBQZ1= 773:NFƂw!O ;x 0,ђVmiˡ] ~%kc#oؾ`G90h[Y[$7Z+gcԿSE[r:Tƞ\`3U-iI^ԔXsJ,76y93!tWKUDUe^7H$I/"u:=51UME_Œ  ujߝ g9gPS??MLz(~xZJ4je] 2*BQ!hf_-^?8x>(-1")mSDDS$\-\jd,~uakSGfPa l%20b+v)x&" ؂~ciU1M %|_I(/ 4rF@(߅S?t,PDFws֡U\>-޻Kg81 "J$6R!vwعG%гn*oZE<~HXJ"Wl)knZ]]N,ҫl c:To1خ]&rt#i{g&\b{7J%{kGjhr5uu['dgu[`=P?GOZ^D!;C(MT?q_ƉTLYǼVH wPh4iFp]עA^bqE&PDhZ[2 'lL KJ'B˱%JpC 'Xh`.Qv<=޻S㊠悐~<ܤu<-olaᳵo#m k̇ H++dmRvjD骐RLQKE-Qoޗh -I墍U5JyQDt VA&fuKrS!c^u҈>[V&ho]J9y'? r[CG k]t{"Mo&X6,q59dT$' `9AL}]0V B ciw+-J{pb᯲N ƕ[ddޛ\O2u! U9\At,T -H)cfa9w|kn|Ӱ؝{ñVIx 'g[|qg@%6߱}y,᝘ jM-6VC\]o ƚy 9=~+3 sgj1Hw2 ԅU4缜 e&Su[/ю>M GY˭v5.NX:$v4hG-YL /tJ$c8$lR./\6R6+l*,q?~q&ZnXp5s7oa#M*YعVvWyoMCohݶk͌+#"sEa4ewű +Sfw8Y~?BuLcF:eL)CW G&PQ=&LO=`4D(]譫jA).\0gfYGx/n' \7QOL y1(:S 6>&V'Y}C#vp{<0}KNs[.e];^zԩ Plb8zwo%)9u,3/ `fWzQN1C8ࠠly`aɭHToBa-5sħ01*Hٽ3pq[(_˗*7tum#h&]w 1ьht*w++4D@O(NϨ~H)fbbWY4Oeax(TDƽ 36gwX2iB"θj4x6;THۋGjo -ސ˷=áwd;gckK'i`Dv;AV%~HmXinU0:唲Vc›@'8ܱ9  3:#Dqe.f4i:?hquw$Ҽ@ceڲ~d.h>w0F~w[CYĉ(-tvew6F/}{{ z݊__ۨ/6QN+B\zQ+ɩ嬋M ^Gp&ZNH&[o^wi|'B_׽{ 1$c&n $-UYTS;N1z$OfMCu(k#ZJXգqˠOx;h'tɱ8%戭()?&*n><)Jv3xd^y(u¤m'lSN+}#vE#b$WŘ_9Ko?;_ƒŴF/e.:ߓ"(&A\6?EpC`<`}[eb&(IϊKd_cVpFf:Ո!x * uܺ0sgRJLzC>ߠ7̓$~s뚶@z|Ec'=^xgwժb\$w.,գ՘ZdN]kYVFǚJGx2D\]>zN<mu¢l~V-3)N@T ጆ<}=>?"k:_Py8Υ&EL<>xd]%v\uwz{B :{Wt|Cyxڸ >)&U_;&AAVf}%St`$In˙8KqZqIqc{U3vU&ƺF#8l-{?y) n۸t=49v&QߌH`] N"b|)-Z,+z}X$bD9Ucԋ5fKXۙ01@5?U F< ځG҅>9R0Aь`тW {z' {]1jOR7 *"|3tyk\iԕmDk" :Hdf 9}0uL$z73Q"8sDIzu^;hgj ,^Kȥq?}ߣ"ϲ?+tQyazW}rjK"zNJ;3yuu] JyUXO;8p Yw2U#XE~[ (#ZElqR8QYV0QX;$[^ABmzI)>%4;IEi|c~z cbN_{S[oSU?5T^v](q0sΆu$(HSt7Uke&Dy**U6%1ۉ^^B9i efJJX]?) 8:0 ̞FC[?κ)0jýjZMPv j.NJ;ÚGO~V.qGk _ еT\j}ۙ Uz,RZTf/AM-rGl,#v9g8 s%+th)0512rT|xJS6KQi;N |U&CC鵃9Ɲأb 'JUT,e !Uy14|FE$ M6M)ƃFf!VUc_ay2ަ_S-bM/ X=OO"ݷW,N LnETbԿE(k=N^1f6Jp~̍,|SXeHm waY S(Dbr>?e<(=MV tBq)oC/3v%ŝv#*q/SIp`ɓ荵 \,|6y4{}#gjܷgu  +{MׇXp>SӥVf m_7  F(7lq:1d`hO\cM*3NrE}g,v@AV! S[|!*E[XJTt YHAs2<ﴪomrXÌlT;S`by.Z_.u~v@$3By)nbow^1A\&br0[CϏ %hY/6|P<~E L4%OGxE-ͥfVj'pn̚Y3mEb,t"@0uQ95խFr-^(cHpx} v_[4\orL7ۨFoQӪ]4r6i1ik/("qݑrk?~4)!ԯ9Zv{%cŀ#{ ]Uk̲C>{G@.vH g8xE3"CRu7~ǝwLlH2Rs(H;M6zk F;;N=sVL#!\nF,mI37 L)@7gu@<#(V({ rBRQ*x鏗H鄨¦T[٩eU=.t!wrv zae]SNVyNq>i%pZ/Xp pٞAbURzJ"ݣ>3IڪTujΔR{6n3hLnjՌAQeӗѝ-w͜xf[U$Ǣ  zȌD4[j*||@( ezY:t<ķ淌zbT F(?|p|N6cE}(} xse'hv; įX{_sBu}`SϏaӌ8H<֐Iu}@o(tCi_0 C);o=H7y{_)pF >dE[qLG9m}Tje2w`0ۢW8F-x DŧF] stj =D*DY!T|p%}S=MrZPL[at񗍍c_3!{\CbLC48NBMX<OWlJ}8MA1<eU㟕Ҹhbo?X PBm 図J_ҫ65<7 "uR<^q9RƇ 7`.or\>@b@{+#YK n 1Ҧ.3*&D"z)`໹| 蔐iD(rGXb"O!X/X 6Q4QÃ3*+V]"ags7vP;)oj-v;e͝h汞#I:ۆUIXp+춈?mݲȚv4$ RD+ c hBc ;+qY7v{S2븾A|5B]\]Hp0*^4ń1#+C˻`WNUdDF#c+Ϩ /RWE1 x-UWT p“ӆ)mJZo.w쟉ޓdj31n Y\3 t7+[W*tM̀,V^qˆ V8Pw N>t3qB` 5.gT$lMNyAhr [9Bk+"BGNLE|Ic2_L8y_#8Ya)W=RpI 7R]]W}qc.A**TP{vPzY1'Il+A-/?hvyQJ9*HPZ{} ݲH3("K~4=xa8W,?pNW@ϙďpI. mJCI0i9\޾m0lC)|/M^\z|%Y!c(bB{f)T^9Fo9eivwIM46M!]鷉x\%Vwo}Wƨvn; \%LdDμv[_E`Ӌ%^xǷWXY^1$ ~5 :jiHj=y퉙HtO31V3dvR">Qg$^G@_a -պ+fJ|^/ڞ>;$+D뿅,s=ys"a%#J痖9 ȑ+)ghbW `G39(?Gx!V4=Xli ے,4km;.MSuiMrI:B.^. !3)*jjrTj{-=Z@書O*rgXAaݪ"a~ _OWLa)ixlVہ*fd5iXa(Fqi<㞼n!3@ҎPLZB`JF~dfV!oDW'( KS[ PO ?n}I)yQtNX .F=]|܊V)7Z{ Fw '9SF)iߙe&B:U9K!n3"tDH(I .P۶@ifI/hx_û%po8~H^ճG9l6+&>^C灮_3fZSm}+Mo Dql:W ;Q=?n+؜- w*B,MD O|o; _<cЋKoidQϒ AVfWKfa2wDIsۈW=d>|u3 9J6|:DGrvAcVB;Ei%K+l7ȋАgbB>A~ŏl/?mε)7 / '}S8i"U]ԓ@Y^'6뻇X.C4|!.Iw3ii mi3}+(A.L: UF0-l$b.js ψ*—SS~b Fpّm2dR*i|S%d K(FI~ 9Nc7q- HDXD5KR?*ajBJ#55DCMf.m!aQ&2쮑z/' e;ΐ}d olzoB3:bvπ)őؒu(ł *2>5ApNǍb6Zڤ{g}5*Iof+]{Ki/k&ʻٗRdbCQ#V ck,C6ceAl5Osf]s ﶖ@硘GOPFi߭f; k E;1uϱb% ѾakϷ,+5".JO,; ^k7`u%ԖJrA$4ƙ{F <@ubY}7"Y}wCO2Ă~N,& mQՑD7[dD~kˀ(ȭB:5?ϸҨ&6%9];ҋtNHnu8Ixej\6rIlnzvN}pͱnIr|is^KNwYߥFo4hFbF2ʭvf:8 n-QDq %%k90FcZW y='q=wp?F%gp>'KJɦ"qT3Bw^qQm8U->#Y:aSe6iD걌Sۡj?!7n?cDz]PC5|9;XvDϞh ̏mȈ)6cD#s#Lʢ1aiX5|6n6nNvZ& pS@ڥVʃ53{s5X\_/ԖOB*p74(jjiв.Q9u'?~,{Mo}AۇG_Bh3,9=_<]nEYKCO/jpHJǖN?0sрNS'h)3m2 0[[oxp޿aq hj艭fYQ4&[6yge~PTOBg 8Ϻ@~C ωF²ɍ +q7xG>AxBoʲКEr""b,i޳ \lmxVV'n6Jۺ@GnFtS,laId, sM&O\%fokaIU'@d<{}a-X۪0liWP):z&րT62UJbi ٖ/0wfh,UЊRVq>B%nk1`NY(2ٕ(Z^ vL emYg ԍ:0lی"9c$j. J9_[,^|gB6uUW@?ăg\٫O_2zND#[,Ʀ+6].=Ac8Nk6Q~;󢕅:a _@aU |/(ٜ[QO;S%R2 xR=;+yztQQ]ZBXiPZXZARZYzi$%TDia?|gy33<z(f ;] C {r+6}1)K]+L_#U.[ԯQd3mww~3wL`WP7} &G5 qxM4-cޣW>P/啼b#a ]b6[ǭh/D~T"9*O1gưfv*5W92u# .C7g~yCb"P iM[f b0{9Ui[]Qh /6&bӁPpr%%JȒbgcU%dCƨViаF/^|Ej?,RQu}:mwjZz.ljp l3dnEOb^( *-z N%&3R@0v=Bb=~Bψ Ls^ejm뿁[\f֞sX2`.v# wK4k8Gʯr-w2׼wH{ƛG'Eϧ *VŪG"h]yA%C]_RakhKY{x~Ȍl-Qe O׈K)bu*gV*L>ni8󅴺_=u@]Cg\z2yn\{ėO?[ XL-If&okWk+1NBaID57z7{oēw̒Px~bfp@ܾis{Aٷ!L/5.m2{ r!bEOEw_W8t;%ק?Y&'wѰ/UЃ V>T. `eTk#R7s{eٌ]L>OeC+}c78\YrƒUqϹ/6]t8$mda?ږ`di.d7e¦w(yk_<= I$/i78d6_ EqVKN% "Tu?y*y`2$Il,""BZ+bfs^VQ\h[.6ԴjZ_}5YX"3:;TO::Zw|+ [|rzhܓF[ H5voĕ(iEߘb 8n M'nc*@A"aYwn@ڵJrVZţ !I]`z5Hb^G܆-M{)3w)P'\[J-+41> J{aS73xhK($2左jHw?xwvfĒ XAΞFy05'F'Z !M`'g+ݿC+A޼z_4Idm0K3՗" UI>7ֲ~3-v<5SgXi7ߴ!..i*[=i9M_x/M%|)=#w9z=KIAo4a+F]Ɲϟ^a-Ɉv\)Xw< Evbi=3fP ޣ'BǗlɼٵJ !lB$o)J Y wi^QepX0_/NY(d C&k^ʱpĜy(!{4kʍ,YN0=BF82dNK󡐚$B{ ;Ѯ5h7c@^mbi !zycע`wü~u=sQGK i!ΤE p*a- Ls}4}TB% j &/V,({FxCMYh=8O=Fũ c1Oi~ou7p[Q86|BҘ&+F%f(ρ^L<ڪK8t\nr*"RQNO/ Ů4);dIiܩA J[wƹ[KI<+p(Xf9|Y"~DVWyG:fP)/+L'G`D0y*SBnGʖ1xvYsdgHwdteOUcK:^,$8DnJlc% 9ǗaMMF& 'ADs!Su^\;q^j&Q "*!$'aAIfNǴ~"%#7`{2lNi|Of8*zgM1K5{3b6u u8(UPd*yr~h=A~4xѵiD;};6:6гrv1 ԴnvKlyߙ Oӣ9E?v`&'3a,}( Aڱt{پ`|[J/}p[7Ӝ5sIqu{y_ϓ$%PR@{Z 1ȷN஗ )d JmLnj#>9qqӗw\aAעo4tn l36 4,,, >)} W}KsH>W\җOꈕh4!|Q~CoԽ퍸٩7W8ēy3!dw R/ej@~HF+#CA_8qAQRf<E'%CgA RJx$cRya1L0Ί8=cF2뷗b..zNk dD 1(CGjnM&gz 'b/fQc5U~)9c^6TH2خ=#0c#blNG; )s Z]*`ȭfYn>Q%[!L'1KIg+9 ]_k%|:^7Yǧ '&9"C&5^/Fj{ٜmd|hv_py!cRVh(l2HdXUŐʁD>q]9$EWTkC]=48,݁8;|ó.!m) ;T9\5[X>}%A yEBBWPe"2|O)qe.,ZY㹗RIm"DVԴ'cAEՅ#IӸ{bIxWcק4p94HrHVd|;f[{p&l@ə6dwoRЗ) / {Y}⯝aA9O2U&E3:4-8pBp?륥00KFʯT8HKp*+R!a8oQ'@g`εQԻ&MBjJ;9>ƠS9 o\4{@$B{Ij:Q?YmE(z ^a &4t"a=7bh}_ y-4\@cl̲ܕt m);ڻ;ڿ>TeV\$ !A4 pYH ͬE@U0n{@L?H5 %}߰Hhm`[:[.jr.|)@GHzv;}[N*tݓ0玝?66V$ip>V-0wJ6mƎ`eM0;Q_#ߓ[JV!Y,`*%.D: `2BV% j|9DݜT~Tz-֗*Ö j tI΅sI5NDp}Ud;*`{ghB+!IA"`R^W?p_ou(t={gA+fv6`e_Ye\$D#B3:JU~_ *@ͧú6Jb8BѸZ}6pzG&0QḃY`4.VumN7 ^yjv7^ʮ٣Z.aO鶒IՇzEgG>y0N#vрkom> d5OuxbG_|$1dREr} vzʟj:˟֗LU>&E6EV=/0_@dyFD<%iiJ헁P/§jw۩:ׇOZ}J+7a{%AԠddCVNvr&+(ؒozZh%w{&7A࣡'@'g{'ᬩo|.؃1+x t.jWwۥ\Z]{IET`<ܮ;[O!ۀxs!7 !PLJ:3=7 a?=۠x=h͵]_w -z B[L9z.ՄSOκ`H;/cכ%Z3Sq e5ڪ*:o}nYb}kspm`ˀIV)!X& =c޶Ω ouyؑ=[))m`+*TC <}L>zzczndb_lcm(} = 2pcƜv&vg| r%o5o镹Y&Eyl|gNu 'ƭvY{YI5G܄GEK4P/)&:VTAćdPPr}}?N;χKp WXt}fӖ%J0X6pշ9;6'ͮy= `Ir}4(}zGkD@R0kRH@0OWx;b3GM/.:7PHm% %9ג*W<.Q@v[w O5[lmXLaKo>54 s1q[v[g^PZ AHi]ox졾j^WzV\Wq; sT׭Tm]AmLUuAwRd޸΄qg;4Fpta +W.Ƈ!}@Ljhq"kɍJk: AבTكfg@iwf#֖e%*\v[<B$yuVBᢙa&SGG!Ȗქ! Y-_9J{ʢ 8vتwD/a< 45U?k~:PWbN<$>Qb8ɾwXsqpjwNO% ydt"SDf*,}?ۍ8OĸOgeJh5MLMjHB,}\kX'Z|+wj0U ]ZVX!Vh% zׄ[O/[y3揯(N%F݂c(hV{|45%~i ~Si5;b.]JsecZUǃѦF|nBRh_uSv7NE4y4YEK=bcㅎlЗ>/)Mx݌ǧ1,3wbBp$6M u#xm\܊ѷO5xGⲬW-ƅUAGXX|\3 WC b94#8C"^B#4솇 # b>4PEE2x! ǶeA5щ';yRz`yAϋH!#е PyY-N(zȱ'̍3׹x^w)u3ȦDً7ߏ>gF24qg$M,Ti*wͧSXD خgIT6RN ꯴)04XR8}?H΄1V] (8LMv u{NX8l8uxI3(95h5J,71Xpl\-(F+rUrvs3_q (ۺvG|ez2''Aq{wBHZҾc~HJuzͻ#:*,->D1Oaqumy|DO~p^?*J4ڔ%g~]~"{4`IT훒 (9o2Od} [Lڡ.1ĆŌS{_'+oXG~?nƯ||gŲ[=0[>}x<^^x| ~'ס`A򺽑1u?(:YoQ)/Qjo=_ ߹]R!fVN=; W.1p вn bԂh#YKwf%NLfIZsDV&6%Pq[ws'@%Eͧ*'V{"Ru:~^LKnLFBt W7 *:%"7Пco6]o#e'}i_~תZ0v u+Ja}/B&$_|'DNl@܂ ˴'&6Cwv.{gݦj|qmdd|)9 #ֿH`[XȣCC "3ǡR&޻]{f}hwnsy j:]1j!ihwGَG 2w{Nbe8?Ar6yċK+'Oد5f{=ep 5%% a3G2Y?,O UZ|f]sF^A٢&4dH &qCJi'p)pPՇm]`gR"C7 {*EOū0Pk!]B1GG<(ȨTR[#oS:8J>h ١":U q?p]r`Q se5\S\7$gt30V0zWm|A"4\?#p WCa*׏AoV0YLNhl,!O!iQB܍Xa!M|FLSRàrA^>~%7MIȌa s:*v2!G;+'X}ZൈU{&kmN E"c̼׿$ y?¹{?fgZ-!v$1;[p*LdNT,m`gj*_w&CqVMvqcے3O`v<8PHSP"ΌK'3m>H),CϒTMav-{dž$-=Ŝ>;xFGS_E[R`Am `4[DG-=U`bZ3Pf)zeLRFָk# pFƝ={y]/a9 4z}cS޻ߊQK|)k<ܠeç `U YUޖm"G1TY}44k'N/#}ikL$?{xѳH7g8 PI_2 E0P[*_||/ G ed(X0::5F2 )zѓjS6Mbj5/BŐHN +BtX #Y*cWsM?7cbk d57_Uܢ}VX FVrF`:?JMIp@pqVf@_ '(6anzA>5 2+12DzN#2nNHFxI*}֙CgW]*4JR5z2mTjOV~w"hϗ.Y2r\IW`;M#^#9A ؽ9I<{x'ė(;Ô$ |7}^Y'sfX=Uӌ|G#1.sa x`9r}#{F 먞o]EG}`i1 ;N\w65ґ x |#ʬ-mI&L2Ըajbܽ"[X0t {ق jŢNDFxWc1p1  vj&H44TcK' rL *W,(=Np4W)uf8oAjTGh'7c){&,(`w}|h)XY7<'$Sl7blV1y{ߡ*h81MUωUfǔhuL}G_e>ԩiP*h2E,r%`HYUMxHw 5&l+RIZE q. ؍q|Zm=kO\ߓ"`fZj;iݻۃcچS hce!QpnK8Q;iNcn 0y)UpF f>%5Mדٌ_n F ~0Ѻr;). ZQ焇n.|$ޞ?yjXP>beeadDסQ­\c݀I\ߡe6HW#~M18o=tzO{jŽ6pIL5sxϖ%5i+2syA. |-p@} =pΛB죏Pw .ϋN hqQ|?kss1an[`M$|[5gW)' ==&T39pAjК`k[LzپgM\p&a.nQPu%~\'ӱfwk[cyLeˮE *~-k*)N%M-v }XiF(#ȏ{jBemR?0^8FhDo?vxyxwӖb;Ѝ2.PmDz`_]7<  N =M;^P/{KH _c~4҉n)t4 ^.Y2WT AeO(g\;pܜ} D#%ԛ:!~p\WEV aݕiAW =9'n>3goQ[3; *ně7S+G[OK2ӽ Ed':4蠑_ F~ɷ&鿴To:_0zN}3[{[ДfBB oY c6zjR~AQtj\i>5dWSS6LMF:F`'c~H{ھZ_έn,S}ׯ9~O<-Izo Jk6h4fVQ}ONmQ( (̿<Ѽi'iaI9 L\<.ǯ!yal,j d"ԆJp~IVRHz oH&mBM=o$"\(Zp Ag6yizLy0г{BQtQF_={~;of6[Syå*/-WFc[80咎'4UZco([oO%ը OU25APW'^sf!1E8ZUpjlR79S8$T n}%1k0y AJV렧(ac0\RƝA'9KVCcV0EHhrFSr{ШŸ']nxtxv"IƬU%ʄ޵ `êm{]sr'oQ+ %nX•nOu d4)/m诉%.c\34NX| ?F*5G3 fT.DaLJM+`IkA` mig"R'>2A2+ #V{y)ƣf#lo =z;(hl1V҄{s&%6A6ڰ@y#sȬ`[7lx;$b+ ?dž!8omE"#k'o@3NeQe0ڛpѶǩc+J __Bk!B͑~y0>=g&Q|}U^{KG5lB@@vw;tᘓ7jX'^{oUȮOkWecpCLqZҫRhH&_kF>P^6o^I⯰AҘ|$[PrH-;$⎹iVfZKV./ AduFB-vފ%aS (Jrs jR ^$f3(2ƵNEJ.+Ɏ=u9~Y]i.bTS\J㯌"\e?yaw-AѬ%.U*Fy4d ºPi5]5$j~IIrd n)8^ #,58)m2g˰lC⼻* -!;kf ZCM 1(RD "}U#γUގ(Oid_*c\OT~+b66um*Y<1ܤjrZFP8I6 EHO ϟwyoFզ1[I?缿mGd@o2d]p]DqP-o̘q) ?.41\yjig28wf[Nd}(!NA"sdcՐ*D*ʘ3bQFt'RzD:V Z3`y6j~u7Hg$Ȧ\3C \hj(.Bah5J[؆k -+rbAb-R ڞ̊_p_&VKO;j42ͣ%wЈ'L /uGLB7'w cWU&.- { @ z0%윎HAQ{ʔ+Y}l/۹m)5JysG9z =uQy_6Q^B ym"}ᒵ,S7 偭'&IpH`ʵxd4j'PlT\P-vF!C۪O [sB5g 1\hmLϖox/*.t(V|\'7cq] D("BV5CsoFߊۗ壜dWMάEKq+8>!g23oM[z43`*:2%aDˎ\GusSoFMZWE>| SH~CI*xN>B>Lۙ;^-) QU~Wm6#(!DNOA&ph>tFH5uY!`l7*x~xFx_8-n:"&tF:7 ],L17Y4:-R6g,Å.b|#[,UqH)_ BHI"NF cA|-ͲMjMP{JC PdK*zP"WMZ[O^]æމ ұV.,Yg+ly7XgH(ڞ' cgmU[ڽzcҚt*x+E9]$g[Ic3:0X,`1[h%ɦS{=dFLŲכs= 9 K;3$jkfQXzd3pLD+1ܟ_x{?eTpp Lw?G-gȡB'+ԧs\6.1%m']w&NGH k~r/u:Xx@D PջI( e)e9~>{˜+AqKQbZ'atSOoıFqK Fc L'̮}Z(" Wd_e\Kĥ*JR| c7L s\kH~u9oEu30tj?dmX7B%R,J&:MO'q]z@{.B৶2W\ht%Мt} GCJ̠+ukX ru_:^Va4l?XsKip5w7ۈGe5<6B|L -U;C6 hk̲( -Xm EI47&8Ffk- U\ D",! A5-HadL*4㘂 G*ZBK_ '2AR5_k,nE } )(եz~N ,TA{Z &lAmANE.U~ʲ"l7X#gVbqU.ZAcL\H@q'iBKO25f8Jlg}1fyV<#5&DT8 '(YPB.+QV`c!y20 Tn\Q<&qiP ׋=1;#7J+2ْ9hB&Iq4IiBlE4BUOS8e$8<6i욬WلKx=]Xdq2qO߹ڌ)éLA^T)jiekF e;% QqYfCt(-$4KQSBOjC*iay>.ՓsO.=a)& *P纲Ds_ZU*2'ȗ\FjqéC,#|Bc;N\f:뾬*:X"A}(JȈ e4z.^HRf{kxSyDW?jSiC%(bP)gq6 Wj |!XbYgx/%\5"+1E}8mdd͹wip nY .˧̔Fr7T$QvqŊʸq5 ϒfbC"dzy ا]nuqTui foa%E݅ݑAzyO?$`Gea ZJY9S$Q(U⼘~":օc%IlWjzw&RDq1{aj Q?c7|rޤ *%^)B@K案Zz̺yBfUVZ$Y¥ f(87QaHnBD+r 40`JؼiތľND%>+y W}aI#AGHF*~!݆2S'uI)o/-K͊ Lɂ'[ ĚIjۺ`KV"_Qy--8r;}(з A Y:UUKjI7!DE"/Kŀ%O%&hr}V h=g3j=8aNhyU6/q1kn\?k{RB*zhnLx- sPa`,&+iu"qk$ zJu<d+'o:Q$ ͞fi@CuT /wc >'<؉VbB:̠@mtV5ֿw7K;>7mP!w9pZ aЯ=:j\Sg ҕ0!6^>.:0ݟ[ ^<.@c$j>Lzj3 *k"p$0)%<+k#dwLRRcL!)c ^@RoBU9CMuaX^26(9+,o*\0coa-%=>M^($C%b:.9(ZWObƞA2t'ֱ3WYCwݥ/ g*עqȋdpWepC^nI;fJ(?S:μbL*gX-pv eϹs3ke/aA'\`7}!X1lۗRF+1V 5t*Ba`H` ̗u9:ަ7!,zP{F$C='wUZqÜՅ8Rߨ,ا/;sfyB;+CQ,51Ҍʷ)Td[x *«SoЕQ%ט"y6_~5C@v[HB@ov#8w ueCuYoqzR]Cj:ƶvVv<3Bb4/X}rO+PUb_oЅӽOJ!K=>:Pi Klď!\< DI%%I~S`/(5ŕm k"NڐGҸ՗R@EpU9HCnHJ,ۇqDW/g#&EX[ ʵnj @qq<qhAz^9Vw_e|Dž %Z@fmIn7V挒9N7 _)ӝrΌ '( .km0DqzpƖMȶQb8f4Do?2MO4D$u`}^ ^o}nS |f"42& c6=2i""#- Ee:$QV$VLu|u[aM;A &?%ps'N! B((.f~:@mq}H.y;=0qG64_Ud@պB]P>ԍUp@mVM֡ONϲvrřQ][iZɬ20n)]uK5q }6I3 ͑mh'Fӯ efg#erK><{ #ilЈǃڪ;[run8F::dx7kEM3ÑO dK?DZh?oh8{[ՑB ܤl"%?%*AZ2E7(h,>bUDdKVKҒ88QBE\gv1b{?饅e!rJj A}d2+p׼ S/Z4|DS9t n`ү}peph#9f+۲k!O((YE\Sv驔U}̢b8fFO \59(XV<vkV"U.Q/~(& vNx6nPaY2h8xԠd~~bw;:>NR*C#ҏ0O^Uv;;|ۂ%FT}^'>~B1+ ;C TB%QFжCB: S%/z*7JCQLE#bkA)Woqv׫skRqp-@`A`WU|{*M;]ʹJ h5[Zo?GI}WYSȿa}ГJhK"͢a)gKyjLjLBŃhTm6-G]=1!?"a4lyvg (۶`{eՖٿDA}~~Q_֧(d?oO %~T]Jk5vśp&߽VPPYr?G%ΘڈI\9j/7շn6( hXxOD3VCi;sS;vl.DHr|?&E'!~$DFwg`GeB=.9us3/[YgڍbЂռ $96W;y& +]lلʟ"lvG-ض/n7>N!M^=& j+uj띫qrLQ^F 9t]]U-t>ߠI#/O 6AΛC-/ o/y(hՉV.ZFQȂouPr"ܱ4x;\r;8@F 1 FmT($bip.t4r9z[p'IpB2=ubHVf7qq7Ÿ;>n[6*?I&=KIqt'0 5~BDp{țCO=җᨳ>A0BܢM_R0, UV}r*jE<sŊ1́y/8y{z>4ƯPD>yZ澏X?fo_6o_׺a fqA3C蚆{YB~¸0#>ErGιZ]*$&DiRBe-H;~_TI ((dq9-P4,grMV.띓cz#z#MzLcKLDjssBvo(\Ib=TF&C;umoʊlXъ۶ƶm۶ƶmgk}><9ns*Ca!^IMc%4n.MZ55\DAL_og4HĸMAΞ:'%}0pbR,dhHq xy&J^EYSuYƊP"NɈ(';7P9'[Ll~8|9|v_ @(:B&_$gy&sKx L|nޔպp84{2Y瓇E3aJݟ hDUg^eŪes@9Ser˘wm2Rzgb]Z\AڦP0rCK|JiKUW+FOͼ0%OD XB 嫹? fdf'uʆqN~=/P;4aYQh9`'m?o $T6?Ahg.* lB.ocHBR a \.fX)A>JTgv7Fڒ7s:A`ęGEH|B10*,O.:?Q !Y_OL_ tS;lu+PE#H<_~va!QV\ժ/ /}TW %??wN$W_ ~"n-fmpZ+')R_y}|TW;`D=_՟&[knfYRk t #7__!r?fy l/\Q.rΑY9ʵ㖲%)Z %(sbG:ƗxJ *ͩ"U0- f1ttiC6I#MIK+IEa v88\ فypPa~BCbC!qxx4h JI`Rht\sA|hW8yi?@~q]1ڪĘN4$"UiYI{.a8* V6~n1լ]A&r YN[2Acۿiuo֗nZ~.~>ɔwft抾= O4n#DX(b73?,hAc+l_^q]Xr0, .>pD5]%UP?v;XÃppg4We?ŤoU͹(M s U;Bwpx9i*dq>Q='뼑hQzc@Xu&9?|@Misd"uu C_h NB=qnjIAJ~C=8P,݂<"TKL ى[u'SAG4Zb<ғ>˷H>GZ;;,bs J:K+#H$ $Cn6)cGg,Dl}~&4(cRQ WQkYj$x {Eb^ܓ8'o=&/ Lq4>]ZL^p -bRebw\¸>_O2|VRg4oNy3;&ӧ\>՜]lV\6ּ6?򷆆ߵ<ӯ7k&jՖZn0"kh(-&Sp]h8hlP uwTc)a~\]RF "׮,ilq~-uU!5xLF)OyW̢"c5r!B)]{E6NXPVxafM"Œ(7HN^3sԿ'C};pā*;i (}t1glTR\'d/%5N@bksp[j ) -#avJ>l1g(j"eyrklCrʫ@H\أS>w ];!e&'"l4FW$v,:w0a>-G C?Pt]] %$b 6Mls&Fv7v^[ d=wz<}{Y0̙CQ*RCsű籑IX¨ D jzkOsU4sAŤIAi i1;Mrc }4n3JCA^.зW=[9;o]InhhȰ1fvJIx(-gGaS u Fßξlԭ˜yxm*$ǕmO#5̣JR_ڟO?'^7U5F?Yw?7w >x߷u>}.T{Cd:8a2\G4 V೔CM~lhHe!K\s1R|CSVSY緇?"ͧ^Gwp`u_O/0>}.Q:}||Aԫ3,bߘlBC) 4kYݾC$Quy~1Uc`syEGj'\"_9̙S 83c\2 ,I'gYam"S'j#ht2C6ˎqzD tGgBNG!M7CȏGhSzڼG ڰesc{U7l]O[ވVo{ZYC0Bé"d t_ ]j.hO 4а:$\-\ѪDh\F:dy*볳ioj[M:ؠe-r-tM,.Y){-¬+k|<.}VO_ eCqeLЎ ry b%™HIG(!RT  5YpWڜ8ǑHOpkڋ6`2 z,BU$ɵI**FRk ,ӝBq@#恋IiR9j_F-^H 2әD U"y@L&_ pZ[}q~IX8SxzWe`7}w ?>Gm |uÑ%.z}=?dgfG1>{.>nuӱ2V겦WJ)AszN$e읡ŘGϓ𯔆bUmd"IjkK/[d*l!M< @y0ĶdN8\o$ci.r(10Dv 9AMx_PMHLG7LbW8Pr5!mmCh6hQ&31-#>n6fGIߘ|˝Ᾱۿx#@>d=DIo,eCϝOχw'(Hg:;ƅN/#DYfika}ǯe}M#yvXDIEQf*Q-Ӳ;`{D 6j{A:A65՞ȫkjQZO%֧K椵 \pU!I A2(YK/.h$;"$f?ce$D4_l]\D^z.H?.FI+T<$,߹βHQ?y@XdTboEy>WAI#.̣bcBSa&$(YWd<hq߯Zi\[iOy נyZFNJ/W:7uHǑR4ˆbϑ3&(0g#B$n_].Mw4El1@(`AwuRvS,E n+&]F ]t_3:z1E.>1S4?<~dnLT K7R̘vudMZuجڴF?ï(hm_C&R)X=e}XuQ}L1/3NJ$Ci _Jfؼ!l`PF|o~qp61,Xt V^|aܝ>&!®1 oq!r*2NƷ 24 93Lu# C^=/FT<ȚopIK2MeҢ϶\3yGIT׳jI<@@ՇQe}mqq^D0ծ`{QBX z(Rx_ekw;sęS\(42(C_Eu\yp[~K 6»PdĽ@BSFDG>`ڲv~) 'pr6Ko螈8y3yY~G11x4o8#j('Uk/ۀ2&H,lw cFJ9CAN>Vb܋A-"A&*bu_MT{EyhN&[I'mT!AGN"E]~(E}Y!5+dƔw;qVyv ! ;=@p W@!o*sB 0l%9]'6u;!ѱsBu.ʺq2mk_9c!Ӟݠ*F"(|"Ca t(/&q9&/LJ}<]bsﯣV塴9!#1䪤Eef]Oޤ7Y@]5쯸Uy"fhTr̪53FPMO쯵wn/u8G웤ۋ$竝/Pܧh+g?ll FF 5D(›2yR\Kl"¸ R`Dd6<e@h*Y `d.'\kd d~V+ 5|`z}TҴyu5hyX@6tؓ@6$M -?rY-c`g*ͽAJǥ%YXuj(N-=} {ׇw]N'-b*7r. .`X)~(x\BANhf< ~ s&ׁd),=;y & pP}a|ɷatHNX*[P:=cʌCX)74yaӶϡ/uYe|6šJt52k|Tڶak~i/. k~ ;f'Z"T8\(+`rۡlSEk2gk77fC L֐V$Jɯwկu;)ibB<|)u8ev_9|]n=~UL޸^CdsT'wd6ˇi?e+mEq  /Qܡ[r)).t.-N8=2%('\4oH0yc =jya83 518ᓴ Q;Wf2N1hZ(z[GPM€$C #8kH%ˤoer=0RW S3쉴O:>I8zv r~[!%T"{[ٟu~AR;`gY+Dm5{8J!Y% ׄ;0!@QZuN[\3# Qy)_(Ϩٟ.wDy$a%OoHAVr)Yss˕ϯn./l K5㖒M%`b @Y<;'bDCVF.;u7Bb6m`|qf1lz>\".z<@cAZF,zZ|%<%\߰U̜,ZbMd@{7Alr׿yh)i('"ezAIaP|:^,6Q!4hc3+I(in2 5G= *Aٍe3}}T ]>[u7M"H 4DJ7nT =wϳCn30g?xߴo3[( )ń[O2&q.\ex!:zHSzc@@Fj]ʺJHl  X$cfװƚI[bִtU?\K cFWhIyoNfM*ndqMGyehѸ*C%+Vr/B *֝%v|$jo:٥'ry㗺v[׬1 &1"Lծ{tL7S7s'N OcTCy؏&K|$f%k]%i/c6{^k/[ F'\Z;=BU*-7:3DZT6lj0%a~fd` .$'J++Jb GLH'D[  EwsSMQ6HF|1f,4O#:*i^YT.: '.%^k+KkWPrswlstz Ɛj*&hh⊃ie& , RTJFfrNoϑ]/5/ʵ%uncY5\'gʃ_i{N/)$NַTye68XcPs0NzWu#,afYet X^m :(xv~܏L S);&!{WA"]k-" O*7M>_;)HScWT "货Ohbpn ǑcTe͐(& \ڪ ԉة΢k?I߂xͤ#nT p9# 4{?6fT׭Oy[~'/iK_xX Ur{ɧkѢt,,Vq CbW(HMyTb rP0t=Y`l'#f=r9:Te|nu px=IbS\LVy)%1鲹YjX}$mpU_+8%," BYYAxj>e",oR>WH[pYK0#,@]ΈҐDꮔB/'vET)"\ۇcj$}\#7\ЛLtZa5QB+ŝW@ X7홷L~MbJXN-jP*AK-5ܮȫ5/4 G_kCEeҴh:ZCVݺ3.f05~F]S9x( `i4+ǁfuͦkt /ҤAʵdu eoGRip_v{:XUh,&vfê}<&{f m-eMniTA9)0iXU&n&=;̕ңWS\)w|*45P)IJofܟO[_޷0Un5Sb[vQlBejF[='>u^\u~Ec :EEE"d[ud$,~_rf&6$ SV%d %Ƞ. ͠ UIVC-d-vo\1uh,m^COw^\ÙTl{t}M=w+7Da ߖ`qQr5,Lk 3 m>V9g ?f qVe_$Xdo'\2|=,_EK(ZD@rm %~][T^{~]x :vld4 KZ3{G] Iqڒ/7GM loe$ nhWJM83؞:.h=_fwK>py?{/ ~sK{Y E9Ç#54ljR3Fg G&Rp_9Е,C_of:sS+MvuREJF8u5LM[[\g=4[$UҴ}9VPe8E,DUu#v\+D KqSX)0jK'ɵYư(ulwWq sIj}YIWcB38HnG2$X{\8u0D'&xb? D#{G1l#֞&X"Su~x~V2,.[f/ո ^ĘSdyX(ƽv1D9 pCXR[5OoP"I^-GmȽgJ`IYPQxu*BI0t}Y ~kbkll(fj2 wwKTʐv}XN3ay.ܞaKNȎ0Xu8vӄcu+5f*kmH^jtqk}nY8$H@9 YRQތ;0Ʀ:BԞf &RxJ5'l0ɇ Д:K[KH՟O>$P T)DTDB\NlGdcB6K3 ir# LJlL|Dhz lp=?2b2ܱyUWqlgm4)u<{ٹ 2ʣABMd߁qn;d5o4-/a଱n*24 P1t~iq=d^&Wş=xqԖp)=s9a<ѴT`a0Cx]=S/w+N6\잯3ׯw8M)9̠utFK~y-03bA"!u`aA؁w3a`ey;p%$$N}I $M ےfxXys!UL%K_'8.drxL^bjVTY[fߌJEgKx$(!TM:LΗߚ%KQJ)³"RYʕZAX[aDRkmuÝgk0ƢrYʥ ˷ ZO*-T鋝/k)!.qvfIAq6ݶop`2Xp';unsϭvStZ{{wQG PǯUR?{yapSj ~ᣚuLӜV1q* DUl}CqeSVr<[3;OC'p^Qc]?L'ZE-^qt^ŰTljwFdz9`@+RLS@`CЯm3~\<9nm':M;=#xVYBx.H;/3b`[((&C?R/_L_0HD _DKʗsyc"ge,G8D0f6:9=$?HA7 fliZv噘9(OhU D8kVBUs9iUg5Ib9 zP`_UFGou{%U҈нl>%rZ5qN%ݺbJ66$Zo@ Hfbu8^1کFtVj 6~Y"o];E W[ R>GyqaN?bȜ5$Rdи@|f2gݚ`bx°P2 EYawg>[v>\zz6O8VaM+7m)T8*2 ; 4x3l~:$%}8RX k-yt qe"c=8~tٕs &;mZy{Z;JEe ]r0쭮CWIVPi7P| z>/#%o6X;$[w# o<`X\ZN?Pl)8e0ch}˾R>w$Oi$%EY/= 9JXIipRcuF<ͿN'H8s1la+ZİP%Z7?ɞ(F16aENLjmѓlvߍM%4$(߮:.% fR ze+;evGV Մq>y])϶JmZ_ѥɿ4=[V?X|΅ TlVj ֮^e>enߍy= Zy[p=Y8;J,l _3=!Rҏ6#M5zM!@"qmR}='3%ا'T?;8\Xg?+ZJ?U˽_6{b T[(f~ΐ>! vwyErxsOZ`t=jLD6~:{;rL?91 ձ[\(d"v#NA<Ԃ<ʨl<3/5pO;Y `G^㏇ C.B*+!jGՕ CeFaggv"2|5]QvA]^XslYY˸VЫih&l220o9h%unHu0qHtnWT*^tݯLNbN^΃(^א*۴^1W-~D"#U0W.r,3⒒0"fwY[Yr`A(8ٕdR}">_e|Pb%~IrD(ׁ\LKFh&<0; BbvĤH>ԼӘT48fqY"i^o7)v7/ߥK߯#M2hҲXB_XE(an6,4So$ eL*\Q`oIr$,Mu,ݐGOVVo~L:+mxaYr#sngĝznz`|j<}󅏭^:fj Z ϥ\5YY:ū1,'U\pwqۆy>? $7m7 XY'VcWq|^şxSUSx6[ ~//On(Yz!zqpk~f/{!|:|X$rvÙX&pyiҀ0m)`X~~{Mk"𜍙7׏Nd %*E~0xjShgpAdJ[n8i(>.=( W/iscv߳mQ4VROڬFf ;}ڲ"7GU.݂ Lِ v}"A`Y|I.ލRS'd0%o e|P7$Ywj}т H;#~'ݲtmɛ~Q/ c'e%E~ɖ \g K |1s&z}!h?̚J#8+QXfRR4b֙c]#OE7;[_Z6}!.)/j& +FV_*Dk4ADru dI"u^^{$g|wê~JYJ"7<+/cƇ'|;OU&>>Yaۀs!UW,S:wE}_2rQ EP&#SՐ_^.bۋ~BR14[$:xE$,B)6۲QV[:܆E,h$mJvmpLS"@Lp6(k5q * l׺$A?H2oYݻ9 I)2 HY sPUֈ3E9|)"hU'8[bD òtZȮ3YgZ|M8NC^2OG)sBH b;a[%Y)ي X%"+g@&IUu.$'ە- Ѩә[bw'|_ňu$y_<Dlu8)L)?([M{Fzm^X鲾5"pQy.F×% ޗeIx€{F\:~CTl7-Kv}$&,[M#_W,i?m ~pT̩VM ~_&IZTs^_]ELxn7)Z OzN@IIãCY4,p;RO2m ~s[sy_~ꅕ̦kda|_nɳ0v?Zd*IANheiLwv[ K;axjWVM[]1^CS!21/Za l?[ 5-Wj>l ]#2Ew St&;*POn$<-k1U%`aJ2"C#w]t(*٢3dXʍ!.L>/p-(xپ-xsg?4eƷc ~րs9J].^Os#)C6p󬘜G'YDɝQ[(LWB|s,͗f7Io20?pP|?ݲN=ju&$id:8u:ڶvS2^¯ͯsLV1(=m Gbk"&ӥ6|A {3>z^DMwØ@52]緅}ޖK~HY{u˩E17(قCNLސ=0R̈*8\ %(,mmYI|:ʟ ;lsiI"*'4D𴡜 |==vb>v.'=`LA3Q{ɥ:a`ʌ-|іJkLry"kǯB8訅_\LZ^'^ 1F}Q @ uo/ cvŷY0\XuC#G^@BØꏓm-NpDGxٞP$&ay3[b; ]PEM~$BX()&e\IKdJI6ZVǴ)i5@TՀo E=cë_Ig?1`mXB%u0A,Z ]SD[K;s@'>-ڸSǫ(/NtMsA]@I'5S!PI"@[ xrĬ ºIɤk攒+.nԁzD3$vLKjw5MѻY݋2sZ&/P3&cF?to]΃pM8:TN#+ol[ ^\R.#rxVEXϭmʹg94Ҭ;<5nn5ĎS"N̞7`15ݡ' DžNG1_^$7̎Θm"UHH.J /K8j"VŹu$m∳F~T3WVY?k<sd\[m-LͤqbѨ -1JZ[ Vi :oQmZwK?7⪇#h]:]vs!s؏&ڀwR?, ֎R#<fHLk&w>;X#\D0(#فr69"yݟ!RI.U~G@z5Ee6=ZakTo>M=K =Gc34SCπ:5B[&{ OV-bVpӮ9'_ kqi»At|C{;-(FdU{l0I5}ashhfԢ]?Vk`ҼGC0awQnA}zd4~x7fPiprg*>za04W!w:HcNjeR~CYrd>EP<6)D~VBRaK9,~WFdhUNrR"AS 4!+>@[wKK_ٖ?0Œlu^9S>-w^wCh +tYI6F[ϟ}'`S0*EsO=9|:yӀŸ K ɠ0ed =@ m3 \f_W;pv>?jwkӗ>vD `̬Ğu:~CaK&%rs9߮~ݲ mf7 xjc\Ur Ќ` *oT9E HU Hq2> tձ[wVrA#Ukyg 'zd|F^(*QB!9h%ɴ۱obƒ(k.IgPViX mȳƟt2l"8Sɸe*gQErE1Ƶ6l~c8Z3LN(Dλ엹Sil/g(x$EufS05)4&c^#%r>~ WEyn?DkYyM-yIjЄ2̅v$䄾/yR ߇X|7nxC׃KjkYi8^8~ 7 <<1tGd`e߹_7W#FraԂkD8bP{5'7Ї+PTPsNG:t+τ?Xl4TN?9{8TT%pl oBxIGޖS&9dS_¾+nI-ld 5㼻zSMp򓬳3":غXcl$\VȿBCS6ߠ9{1>l!eH^Tc'N*p}gG Veپ%eM Ur D->Lv/i9FH>CI*\eDv:]Kj$ N\=%ڑ2զZB2^C4:yO$v-vbzub+}()]x|2a\AQNϷMxsQrr3:~q DK ?6n+*zn;)V{ȼjH;Кb=GLi1z0|1pEOSR6WHE"?9B(5Gb \Z' P,6A'PZ"i^V_K]Y䪉5~'|jJ'פ<3X4C I1,nG!);8ۻY n'! MbĹs1[}1Nr?JWowMoveGJPwҘrE#z3 WLȐ Fݲ\jْh{&[+ÌIt&e?ޘ߿!.p3vWc5d};Kryd,c=Vu00PP=qԤ\+s.n16dҗ  L1E12 6m 3hJrߓ{0t&tهn=$ n1y|.5pd/ !Zi qs d2aX^<}O7߮G£Jax2){Kp\)!]k'hC>.y!Q/Ue5ٙeL?HO8rKH'3Ml¨M1!E?ļm@RcV/gWgQlytQ-\&$WzՈa(-&16x|1Lgߘ\r6-]r08B35wJUXKhv?%aTS=,li,^9IJYApJ#Qz:VJZ55S. $0?2Lf/V/BjHz98#h5-gwJ}U񸺨3q,ns3,df?LSiucH O:;:*{&3ׅ7SUO[&M)"3.Hy:# S_b珀SUvQNT 3zbGgŒCm F܉#^V!L' M:SǖtaV!FG+W.[5K*8ϹB__h}f*[B0t . JW*PϡA8oTŹ!R}cFřwޱ8w_λ>rmP5BO$Ե{̝ϣR88fl'\ho<>2HLV76TRW!6#I󱗅ɗE4(3}YrND].C—_ǥ5Likіàre)53hd%lۨuT/_Y/PyZ !P,wp&ύF_GZk輰㎠ՋGa|OByr3äkUY"TƗmg֜ig,~n̋ %E)Dp'{y8 6[/v e94v7]1-*+sn7k #})ciО۬EJ0/l<#9ٷ!3lnx{vt?)7&d>}m&>ϙHVΙH_^2b^1 NY?nPzOLxL2byg""-Uo]*] ˨0>uJ؍i."ܩ^X&gǞEA:rVt 0EƖrryZߤ I ٪[^s?- Ca"D?SYj44gR(y$b;& &Q*z+_-@vt!n1O UCrmG(]t^,1Cwzy[;!I,8b4yLys)˷%9s$EMsM9 o'9&*.{ ?ejc?/rL]lR*/kO9SDk<=v|vqeIk3 {]';Tl2RaܜLICpoY26:'NYvd(H㛰=a`<.2ݿ;!+ U;&g!~Y6et6`##lj_C0Y-Nd[?dD>n\}Eq!- 'bYt9KEÐ2/l6OyY ,Ă+>LNG<ϲ\sUTdH Z숯K(M" l#ʎvH\ mPdLTV~7ۀko>w<WDZz,;%ԩkW{N(Ei ugq718-<{ *`╨(AFkdPq'm=G2J$z fq{ o[!Tmn’`d-aү Ws&Ig C*e-Zᥙ&ӈ\?KTK*B9ҙ.mq;oVy7 QH[Hh쌫bٮrI|R;jy =rT+/ִ*e+~a2|v#N/:`HJ9&0o\o?u)~ y80s94" &Ʊ^ps|q ~蘒tzĒA-cC3}×hg7uKw "8exiv8}\^aY<"|/v>ŀT?D]A4#ڂmMR>čuB):_CPChe(>"Kzrq| 'i7&W9c4}݆[L'g0pPop3v9;yu/ i[PEʑ ]X[ÒV |  t,kI拪pfJ50 NHH~}6l2_ۄv'hvf̸ӛj\Nݢ3;B % F1KK /Q9\VATarS0؂I!.B94C.K3K?ۖHbȨ'j;67 >VtB $1q PWg)vꨑ6<8?\;ڑ7,G$YU=|ӄOM͎;"A97$ziCfvEw=?d .?scO8_tg?kJ/r ]:&}@⧑13T[24.XvG8bֳk$F~I nj0Z7)7i=udDD Ȭ ~N#WP KҺ6{fEo+N[[ l(@\vKjn]j9'F[>{ WUB8L+Xۏ\ P)O,>WzBZ1dF]}- p2\0fǬـ8vtr)Fb"Su;|s}AFw;Fi#*?:vsytL^ylї!}J&шL^]3 |:`gJ)=mq%A6/ecQk ;R/5ȊX]9P\@dK>t '?۞pGέ.}ry_#%@hk4Ԗiv.ήը5I*BR%5V뢛8xw.?D)<˸GR^pͥ猪\WGfV8*qC9l/_$ta_~aS+E)k|/a7 UJ.ωO//74|4j|rRg dQ &!+'%$N>04$&K\{ΧMz60HFa͏d_]#̳uy+>QH%=4glfpWO_c1{2|X)Xe@:~P@W"H H|B82Hr@OS1,Nb(a|$/(0l?\CO,d24Vk˗es[mNSҪ`/MͿ մ:EYW~QIܔP̠KI6FeV+82%oG  q4%U:O02<)&o+Kj(/iDqIEU'}vH5ig^ GdiNȪt>VY}-^۱HØo DלEm'1JDn5>0~˹/)8^k >7 3_=\^rO30ePY,9ΰVWſlMvss2G:+ |S>'~@x牧Pw  !Esd۩3QD>>VZbm"HL= ~GЀ͗}Rh IJBMR`Xbb$ƀ<:b%N~A2SC" RtgƣFç>)=ǑB! ]Pa5U(jQɨۊng %n r @!Qد[.:=Fb\CQsQ%VLJؘ 9Y3NrIeTWz)_9G9ӟekU8}pPB-|/qrd4yKC*?y;GJefos337޸_F-scL) 1Ƅ JX(K(˳ϮfoOi^AC|JdF3 _X 5wfD賆oJYa|vb4(B~(#v4$~ V)(_buOO}[kqRh'8a<[Xvv,Iβ l\d7PꜦxj#RO@7>LFx-tN-Ř:eydC=r%xp1Y1٦]*XQ|W*o}{9zв: (7 ]WGi d3Œ^E= NBJED%F(r(ss Ơτo/<*73y۷[-VKH%!1YeTp \1!IT+NyH)`8 Zj[=o;{i4E?$Y[}={}{]z'B@ia$ rFw!@f \%DQe>BJW͒[57*ΆI+-^q!;- l84zU|X>y !"8]r1o giD liZ1׍3󜘋(]=DH.\QʕI҈ճl )˒VҚýuΟ;jpȭמgoJK6xJ[?ec}]G|??Q42*9͝!۔Y|;%C~G}YYa$*5!Dž)DcKK 4ZiH)qBtFQĉ!ҒD$~Q=l!$b*kg9A(IM,t\@i]+@U9ʲ|+KSY Rh8^~^}8Q^1p_!L(rA=Ax~ɧ9,.pɨ$jz\%ohZHositg:ܣarΣfwH"x4`}}+!;|=O_|i+=ibFQMkogSygX\\l4[',:po 9 zge*隈߇yw>Cnt-)|OP2ns"wҹag6ha@8> zW_ /&+J @CB0pkpԒ2"2T(B*)$mspVxlت?B 4/LG x4q>  Lgw^)y^0(7:W4`Mq !Ql2 Rt) 7(ImZ;'54ykzO Vg0mqx l SUuAZ=go*EΣo{I||GsAhOSOph1fp> lOђi ꡧx_}XW+AڒX)"xKB 1>@E11^r)j2ψML@|R\V(&gi2k!f!ѦnLLpGpd47+>[Pՠ CY􈒻60f7j<1jJ6[7-oӒ| ;;dÊ1.2^FdsbVk^@k1 @$RkD l9S" R፮ZJ 4^5Eƺ4iRhgF/C=hQQBB<en^WC Ϸ񶪛1wqZ_XT-tG!|//"7ȗ+ L>&b*︠/aʌJI 2-s2Lm&)={ d4*m:$loݥ vG>dbs0B(APdBemD9?ͅ%VGP6_c:Hcc>{ѨhWsc+2{'"V[ZCd2!DFDu!ND0*(|Q#0JJ3 T4H AC,kFhkr30S{OQd9LDQ00LqXƃi^Xp.b"y5F՞ 0q|C4Bƴ{T2ÏA|aeɕGB~W& )x3>҆t:Mr yLWɂHw8"-&Y`{4_}""We47oݤ)gvƈ nwd?sl^fk{osʗKlRM;~'z{/"Kp EMƓ xҟ~}'i֯-s/cG)#idt#:MÈ".;ISĈK$i0]'3ɇ鈸w}oћK:8!? .Q#֮%1 c*nn쓗CZI`4Yq`2P,\NYRnGD MD:]e-qק`)mT$I'\U!MmE1fD6W3@kJ$)DS`!HRd _mCIw7FRV,Y#ISwH)@J%kJ2YT"ȋ +eNRh(e$cC8 !G^dVڦ`o1{[/0"X<}Sz=/D2W,DbHVRҞ'Sƙ6naG!D-srS*e0)xᕫ!Xlh{ko?HC0N'bBIQfXR8M#Bs? /sI th5,#|D#K?S=;HqBY( HҔ812gxog)>D 8rMrƈϯ5ڸLrqaQ!`Iwآ4o+/|{[N]d:Ϡgni.UC//s84%E!!ɷҸʂ4PpX``TaF[|!4 !cDmcѢY`uE>ȆDU.GVZ$1q+8 *),+Uf<RBAW&xsxҊΰ:S 1&%aNW$HNQ Cק=Ai+v&)98,F"YmYzy[v'҂6զ608C}7>G[ BDyRBX`{=TrĠɊ卝m-5UY7uJD@l:KT`m"#lA*F&Sx b}NDLcyl\h5П86Q5emwɀ*V81]V4'Q.oa2|[##!sdV1. 6z)}o} Hxwr w|=e~CWo|6Gc,-pk/ 'VJa1]4j o)\ۂ<x.Bt)F;|LđxRzy1?%VW(?̿F1/ Y~3si\R~S Gu,6Bs/Ї-> Y![d%?!K"%X?|ɟ[OO?\h5M#薒X wpOz&rYLYiE nܾ. '"ݨhL-yo}c̙_LŅFMIOYN4 ۛbi:g/|/..wU qCfȚDG4I4e}cNϝ cn\GEƎ8G3#TǤvO?kobnrl7=+wnF)t/2ܿpM&38 clĝ{ttt_Gǣ Y^bKKYUXklYMiJF-5vF EUPSV FZ>8T$IPDT%Z VO'zϤDڐwc4|?!Tv`gB[bGHr `5 bT"ݘaoy/nO ͍;4{"kק JJQu)@$Az$i贺IBd 6&A|ԂbVJk8A#xoMbY҈cw $B`8Ǎ1*^!M"`]Em/h W@ T#"d͜ W4Mi͵Q:A*Ml@.x 6.1x=~sTcv7J9`8'`{&^"[,a*<~?y-.>pwa+mJΚݜ'NdŘ(i MBٮApGkSh)D` (ꛍYC)d}"h\Vݬ' 5*z2Jh]j#P,-z!e)~%yZm8cgwPR_XEYI՚G5RBeSq8*i374p#oG g3<9N͏?-ؼ(+VNh$$VHJDhUVq}g3 8OUMɏeÜq`t#ewB*IUY_еXWWHF)RslVoZNWVǕ\(.G&qĖ1^aT8},R}v[9>@w$ޕh\RRh̑ HS4&='IJt  2i1*88pEHc| L .f;]MA(#^ŋ3|P^P}΋-ǷS80(HFC%<Ok7/bZGł CE>hLF;:m&o s-Գ$mn[Z=/tG!H:Fh cslJhbSyT1;6x W#_B@!&-7Cf 4ɘqYXDΗ{#A/ڨF5j-`L(QECMd(i !Ost 4G!HO;DqMnx|e: A>MUd zj'h74')G!]hzn"qQ1ū+=u,r>K/n+K4)>f9ڝ c[la&9(Q  gN#E]6֮31ml$ V݇`}wqczUɱGqR umHieIY8 IN6($n]$6QD=*r!)B]*5. BUH@HADIA3 HLs$m""R^oyBzm{9뱑[!8+*W"e=reA10iB<$nFd0$fpc{kL8Ƌw5nr[o K.g 6"Rp6gmoрqv2M N3'jޏ$wGWY9{Ic+h,Ɋ[_ĤF?efEܨ;TޑvM={b&/0\=[ởz'A<=HqBj%KZ&&Hm.Aj)c{$Q!fo}KA,e!x BHuRAL H̩yLb~<5Z q!}NKŜ\Yi:`r*rnoAE1eX8{(egOvU] ƐGĝ[ػƆܿb+qpgP9^#+*WE*Ah1L 4 Lffh^mzD)@P; קf7K-[X_#F1*j/\) [3gz{|u}]ֆU#D@H?YxDZPNHq_BY5Y|&IB,XyPL=iܨq]$a4`J BOBHpGm̃,;ݵgg4] laqAXb'(P9)@ !N1`*0Tc"0m /X5fF}.gi$Ug;5ݧ{{ϻ<hD<^XyR` r"O)g>Ib:R"D L4!Rk3m!TQ"4M"GOѣ6L fs(kb̈́Ǟij o:dxѐ"UЄ0&GȊ} SC)+n|6ր¢`24`GyOpߦ5YkŬ>Q$IBcvkTmo<քd _:D_z;] XEDcf' _B" QH BHiQOU2AHAc\)4B)M8=|"ٸ,t*"45(-hmw{pΣDFR'&$ ]t { :oVg=A:ZFfȨYGb&-c$hgI*W D2x麧:pE] C*$Δ˻Ծa͟){V{봘L81xUaqdB_'ZEE'w_L]7dJS7;`sE \%Ӄ#C &+zFGC^w^/oy?E[^E+5;ðCUhgԍdT-i1.-hŸٵJ2ʪDɄZDD Z% `אrAhi8yX$#nMRq>$*Y"6 y1Ơ¡v~_ qIDATCa8֊8KGHՆq2W~gO_L?%ޫ8A@hJ+Bq*(5Hsx<(1qY4LMG!^HJdPThϻf!5Z>s8LrcYS!8rJE B< gj 7~ [Ldy"^:S)60'>={(+y[?{Z-꬜ZI>ɏ Em: cc[;]{(g <wpB(t"|MǤ[tB%4M0$ޡHMEE$HeB(F;}L N+woyZiJ~;칳f406cy>u/q㬎7rU:G쉞 1W1w_ ϯڷärr?༛&"g!'A(qt[i Ov";R`Ӭ~'O3ܩ妛̡r*!%fjM N]Q”`A\޸V񟛛Tf60ΐ%JL;g %rV"Պab"IH7͑mIUh_2A5mYc< d7ď~kL ])kcOAE9١1獌0'LcL9*RhMVilL uEg%c)T 0tM4x#{G -g!H)P7A4˹KbB@*xgR /A!zssrijHqh E;Gk 8Զzw 5Nbw2wǧy{R@cPeIc*:A gkv<`\EZ:'3i'DHcLw&n8 ȦA,Sdh!SU`lAb&6c%GO|''}իFl \\HMz<ٓHF:&6\%xO8|Fӌ60GЋ;4IÅEg%T:! )w5"+e+|pe1u$,\HVS<]QB Uo.xX7Mh^`ǚ3D;;%D@iMD5uęF$ik:_#u B@_}!Bo'odqV'+m!"wb2ܢ2kؿAHH}Jvɒ-%\D7QhPjoRd x&MV66X_@]J4!)y4 $Zwv[6غFuB,r%}/#}vxnEҙgM9b`R4O!/X+6h`ʧ}$dᨹ.?,!\MUTr*=!eBJ!2X9GUMLNR$+/=!@৥d B"B yrU-Dc8sajR3.K=LVd ^<;h5{gt;x[d;P G9(%%mNn,zifi^$%xO|^;~7GiK-EZ1&NM%ϓ}AXƜ9pPWp!ńX0!T X$mdr]{+yca!᾿\ yN>ſ7qalO!֯fn>R@P&>eCIkɫ}2ϳkͫ^jtWtJҽ"3|l9Z$C) 2N g%qԎq W5q18O@FMݏ h Uk{ab}N@Vdwq2[|dI5:H Q̮E"6a03S#TP2Pis) GXQ:إCH\+!nyk׽8gs{;﹗SO-iev .P.P !GOPZPhU\IbA%A &*!$tA]">kwq SҢM IDKp! o9=\,=EBڿ4&MSsxqKkd~!:[Prg1%A34.xK^r+ӌG{Ny?ìB JVFɴ9Khދ=$i?8rC( !0 $Aʄ ^D#Nа }Wk 5m1H%IZ]c!DgY0 -RaGT֊dB^&X|/?|w+ O,ljh'6Hn I _|s%- /.?ìB ι(-Tu#˃*zubB!&QԘ0*b "Yh$J!B$$BQ65lY`i^.*a)>YLR UdrdMPZQL[):{α9\aia?&Y3jKrf݋-6r }=7)>OCh7½ӟ#``K~7_Oo殻^d3\stT|:] zi fmZ9f2ܠ!"mKצ'm^o4 ߣh嘱'3.qMMeHCJ^`!ԥs̝Z_u/ԙ3,uq8yf+oo?^n9~m>z9B?×ABb! 'CWH˔;$9-dtTB@"P:1fuT4O] j8Q41 iU5'[\t,i"06ZpuLRI.PU $t[;cC9Y!L`E9{)q!U1d~k}elu^;ȑCx+/l o_M,lMvhZQ/p2deI(`qa~s BN Z P $2hd4$h:{ k5%EO;Ҍ!0"IH(XXfx(O{_y ဝ!=֖G}!p1Sg.qqkBg~oza}Goc8d\roVXؾ9ʚYhbΎ>E 3\ !4>xǨjFPw3)lr@p# IRJ+w(q 2\Y4AD9h8zIF{uGc yRmi@YWX(mTyAj4c*3yr<5I nji*`N?C3n |x8"L.rk_˫{,2… ݻ-Uz^Fam\a@fv2⡧/$)Yh<$QTk-RZΐ `a""~q5,j9Qqꜗ,$2M4'nb}а|^9Atakyҍֹa8_uˋZ?w::ȍVWX]?K5ZE+C=y(R%vN__B'W|gCN%*"xG4_+ra}@  GOV tNhkI8Vd bk S1sOB+^~/_=`Exsz]mo/1}h4"MS Uo-r])|DF<6j! YQ;iBΘp =w}{XG*dgH[*1 :[[kJdT8cE4(RxR-1xԶS'4OY RxyA]7l6yH&"bLC'3 <|#46{a%w&ǯ)!^;t[d|}/X *#i-0j HP$؆AEjQT$ 'HnXqI-`-b<3l1^`"ϰcD=a2ޡ4釸ȋrN 0X '$h;kTA.Ґ'5K*$ݜ y|Sll^t2EݦPrH*Ν[=_sOԛXMՔW}YB (2i#2L!喏Ĵ !,)Zkʰ>~Xې&yRP#|o!n8oȲZ+jSZDcuMgZ.Jp)MJ!9$xP TO[?oҔoo`{p`jш{{ j]8̓?׿i4 YׄZ-!~ɲXj.dVIlH eֶ&T5RxI&&@(O>zc_ك?ʚΞc<[do{;~g=O:G9z0!!Òs|bt'i1O2;RZ.930 45 hp>{GÄu|oͿzk[7OwF[(r<n eRjj"yxdaݼ۷xxgw}Zs?Rk<8<`cS=YgaYBXk9;8J%w"elT?|<[_B'-tox<<$Yu;Lg;0,!|9 @U۩e0u<ϩ i,ɲ !۸p`M,Kdr%d!Dev􆈞xjLnqc.0R{nA4 rv8 %t;"zGzJefsU$$yfse4ὧ<fag=syٝafq^~ufaf>1af ٝafdIENDB`P"} XWa0)x}TQ.:$4'4X}pwlwgp2wwz{^==ݽ];HAN )f'EznNR J\֦$+yy3!6mBBG{M3S.))dDZi[00S'UNs#kO\*b,\{3bBY163#[# jƈv3*aI)d100_.QZh8ؘ:51GgcW gso @L $8XpQ\bsTXc1d=X{3.M']瘖$->@E={J~_ ,6IetRH{zau=S0H`IM僬(ذIk'IIg8& TR*% h&G\:+$J )0%%̧b~p@IFzokvG^nӣV׫ rf%#32h@8~=Diב RpHhhu]|xXzq0w4a;CXJV2TKIgt! {mmmfN/P[ǀ`-\@FI&$;:xZVSð8՝}䷚* 3`"J  CiuX_$a` WkaP\_mr9\p%,s|I7ݽBXXX}Zk7{2fC`vïRjԍcgw4??!@_.aw}qq\ `4K䚘߾Ps\]SipJ8)mmm;;;u]c>8c^ c@~+]Ve+nֲkܦqj7fv/=pҗEA* N/Ejf"J"A`C.'N2əXW dhݔ&''zc_##'/ε 89ap0X`m-0kk׷Op@C-L<:\c:SHT6#)K*̸46ΌZ 6QQM+111=FbNN"'7FB(^JGyyyN}fB*ӡ2iDɩ)Nyvѷ_|0B}6qo@^^8AHζ!KsME\?ItHtXa):@Ԓu](}@ymoB<Lzw)T=ĠGvE/ݾb|WlttSD*2kzKaTbsj>6䤌M@a;SKO&@9w j_ 0yI'} g>&}?U–J9 9Qž({ ךgQ|KC;'46\smw|Br⟪'H!b{ǩ m3N=MzoFVc8)A_ͺ՘|9>|WΦ.lH<2  *3ʟV.lv~^/8' I:ؗQz>q-?( Lv^سkc>l9b=W{#׿a5Bi,;|/7+w<9-*~QnP ōgRpGͩBVZ VH,uG~A5Ju̠BT%.zNrMN##r}gYW-k|d'A3di 싲*O->#Yw uIQO`7`?vtrr0oj߇2dbWzqƸa #iGyGzJ t#) fHo1Icl1j<TFW,z|(N_sJjy~N(cB 3DR&78*}.7"ih_K'ꗊsSo͵V8cXhߜ?wbx }pr]Q"ɏ/1hy1a ǣD+|?{/bHpơMKڦ J. */ǢL$X9MBébWfƤv3E$Xws8ʋ{NPh)k籵u{ꓨlJz{i13{!һzBvCDDD\*k u9yvQg3>rc\gwxWڛ~.T) 08zUlTG☗!r0?=ۛg6,y'DFfQ{9 ~-KRޞ0 Zu7Sg ?̨~sz`ϾlF]Y8U͕$4mIvjRX(S? |cy$v(k<@ ;f!NI; _ڔRӵLfb8S269 n? bYt73.[ޕk0Otyk@1 }8 8),ܱнXԊ=5N'd*+M] b_G^g>>3JښrkKucۄժb~`ʃr>U}! a\~}̧k]oӳg l? 8;ZĂ6jLشf:WƋg>ۀB?2OUu͵ǻzG[ soE1 3- GKX&eA.^6e`gks#N6É!2<Sb5d;ד=5_ݯʄ|#ҪnrZ=zƄm7{냄[M nhWUcqQY>![MG5W!:wLh "oD#nэI:0wjۿy((iV]K{74h]'A=Ƹ'eBtHmR *"?o⬫6^mloa1YuF-n}w:mMe(e`%iv?8+ c9\`{{k?J}y1ii9c0 }03q ~ZC}5Y}Auߩc; 儂PiZgFO1YYY E>زJ{0|%̉UԻka{ \;qT$#/cEPPTWug- j|fE$x22ggMP+GUFD-43"]QU*uBaFos O^~ iOd϶uHd]7Vg(2ny/Jc7-bU% >i,bѮ=;qbSSeAj:tJDi^ԛEߟL|raa;~[׻jZl )'&VVVMB_CssrζGߢssЙrL\\\krX@ hJ\ ЬE:mX$~=>Y @Qc}>T*zeD>Qǧ~>l>h1Zyl;?'XG|cP|`qLg<&:<0\8G5x6BFսa$[C=/+kn9H]&O°+G_Nʟ[-%xׁCWm{cZDLB<ϭ^5Ull6[=QDEj ^?%m)mueDs\ܸOQaZ*FMRd.>4'+jw~j:PAeL-(p*dfgg`;Y ! !^7; ˗#g{AqB5+^fLqE4)%,J:iWo 41Pz*O c6Wקjk}d*h9Lfme%3VvQqqz@@\o3Їq]3ҮFda1>'ߌ lknjGEI/Ytq?5l9#͘ЄȘ><gx\5kNOrXnzs?迆'WxT!|44Ko7 RFƪr䇷#"PR# tdU_Ba}yl|0?44yt4l0 -1? xCؘ)mVzi%5c;pdvQe{lYZ!<':+5m`nG[բF|$ڜ74\-fBeoþ܎ovj2bGov5;Pgv&v:.jXO3+T_#Y?#xu?M +_~8'/uD[C0jJɓbbb( mZdj!aVUvq{3!3Cĭ6l%JFKameOa9.+0M kg*9Kwt 6vHxF@N~GWĀ5$quxC]9첓ۮɯٱC#g+|@(/m9QM8Cc`Hp쓯J.] >y=]GOX<~&&d%@Mx& %n,a{ƑbqĨ\3ՔlR*8X@{i*u\~:kmt_%YUs?oM;NӬl]R-}JM):e-=Bi+2 J4bF"?!Ia1#-cܗEk%!$dzBO8BD0/oֲ 4͎N'Iɠ2ݯ=,b222JCna;?ۖ',,nigkt>)ao7$&ǐԱ UD٭_11p50#-+:Ca1F9,!, lfe̋DMɺ0Q")h8RxYSO\h­uys3@υ*qoWhUs(BהHdKB}ӉGsvB$T@@άnfars$8@ {7m,Tb,w\i꺓 ,ZTGT @@vNVi\ڋ,Qk$㯅#CǿU#e\ϡs?O^\@VPZ&׾Uri\uţ8Q~OÁ_/>m=9f}l/CY۝^mB" LRI_Lc^&~ j"ZBuR7l{!fLȫ^'ֵ4Z쟇olMe~< o0[b5HF!= (uvI$5^J#K^w'=ă&|8'ѹ =KdxW82C#k:fV ;ʷ#hcʧpd!I#*k'~}x;);"p;f0ix Io;,;>6ŝPnձՅ BG֚2mnHj-vYf-$va%X)C,Q<5J)P|C]z2tum%@@ZIo GE2F7C>9{V ~~aroů*v9}=h|97x[XBeߕUXVta>wW{S1ީa+VPt";jN'KUL+9Ghܩ@O[S?OsR@/+3xȼF+ᙠɩjň~۔A%%с@cіYP7 ٍ3N:%M?/meCؿ880١ջ"2&2/s5!0Ů ? >˂ekA8 T?`⬄8d<ۉF.Ũj;db=#11QM]`m䘚!1)bVJOA$E[J/;ܬ؏7 um 6}Y\0lKz˔7lt( F=Bx(  BՀz-Od?$)asVE՟/@^2clu\өݿ[o aS)3g_[{$Õ} flī''KѷQѬĨfF/5 &̝6YS=\㊚ <_*$%,u=t:5#TC}w6 PvBr5O4u-AU oRab3s!|5tL|{_y?n-i/4na!~iik$OTPeanuiOϑx5~zE0gz4K=D?o{5Pŀ%3PUWȆ뎛q!@5Ȋ׷z'B KZlI<ئa o:Ua ',qpDT/%Ƕ=QY' oИ'BC0j\x'S46U4$*2 */_f`5Q4 cFoRAs-)#+Uge_߈n7 DʲFň'z)Yp"f͟3(w>.,P#'%+RdJ4텥#,K#֦>/*}M\T*F;:ۇTs%^OVؤ<?I#c9wL]\.#TYwvH}j2Y!]EǐD%̗0Lr( ܖ9.%ͳ&̭xv?+/ezYAz=~"9Hn/z>>nF?~g 4=<.;y4g(w:ysƽKGeicZ/׋@2)IIi4ǝ>̰k i`M,_0]gdLn?K(<怾>!,уg{*$:sH\6 8b25K20`D`H};!PSG3IjIyeRsLOEϵqA _!a|~<*{۞b0тj4SfRu]RsvB.G@jS=UQc+ n6'$D$%C78 5(J:Nfq}σӄ/Qj1VTvP zB-cK9AVقx@h Y>?]HSK/5>lo/V{%+й;GDN9"c'N-:s ::yS`2%B'>8lI{>_!\g||UUfgavYIIAR pdon3G`b.'~ A|"{/e"yX}0KĤ(E+l~^O;Ec""WYNWUIIIq } 7{?v9M _A璔eNANm%8q=+[tcYq8ACPպauK &/SOf7v{#)">2E!ǧy_Kh -o9{ 7 bT:1xt!5A fpKaXUter{p,R o!7@KHIɎ7EpP/*R ͫ. IK-"#'vq?ˑuT;!3čwW:RZl?[z8ecя?T^|㗢בE3Vĭ`Pdh|cjzc71Ep 5cj|h;`QvLB2D] ]L 9{?(&?$F*)?&X Z^E:3-3,R&dW]MUHJ7&:[>nwU,Lp.RKfj%_hLxV}Nh~/8JOn{w4v[ qW!l-zcǶ+h5y 9R 6TyY =bw%uЪ N(n QYUc'6o=VH֜/,`3yNA璴[5iJ5[`"3hgqq _6a(k)S ))?n޾w%޼DaW:O 1/XAi߃w/kv;j)ʉGy!/%Uir~$=Ԍ"\o&ϐݢǪ==h Kʋ.5@)%E,(Ts@E8:FϔS͒8>Fv)/;So<)Uu\5{k_- ʹFmzmxevaGt'EdMͭNYRC=`]4(Į`9h܍852{qT&)}T!h܀7:|LU'z0=Y(*:)'9* 3KLC?ȝQՑW*AU)3vc^T˸HG쏯WQCf89,JZdO% NΖi-t`Pr,;B*,i{~Ru93-ywo?:^7*bSe+EWsIx=unkӆ 8ExIa+}Yc?n^٨;5["%{M:s' hUH(`B۾{} q 7-EWl؎'v|'N((l{ʜqAl|h;30@G¼O-Ɗs}wzJdD-Eh;ktH1ǮRϚ~7}F/(Ii%uX}7knG?+ZoLIY3bs"Z׌_(REDLXҘ|v8:~g)H3VHⳝL.P@ BjESt:Eh~[qbb$|79L0RG# u(laݪ쎰S{VV)V'H1$rBk9}#QW0X|dNSȸOe7ǂ+nŁ6 aqnxs7_TOj;L2R1`FZz?Sbpw| W:ټɛ"<VtCKܨ Jgdy*C7.}}[E~:AP(\Ζ*[ cX7߭2/__fKgkgqdI@6\un$3d:*æx~ E2Mo98ꬉKE%LyXpuݾ#64laxI2;3yT>RWy>bI&? MS0eZq V&5áLv80|V3xAqTPeJJW:a3 1bU@lP^BIчՙWϘns5-bUe %GW56l&䇗ɁIbieCt_\f@6| MȮG /iQQIsǍhƍZIL7>EfνG*iNׂG(Va vj'䨪s~&~$9)9uѫ04f=#{3pWWv6 [U0˻/70̻?u) d9[}4w;r|$hjlᲽ*zpE:(DD@V/ [DOy閣'_I!w[Sm|y zc$'!;[>]W$3I:a0*`2y-d0\8Jm\>h$xUng(+rzڐ|8[=xBC˩~8LYMo=-[ldK>6SwVĻ<f@ӤsnIsI<)8j#x䨍Dl&OD`pdvm.8O#+Q[ K=9K.Ǝ4%&do* )q\KgO[Ks[mxhaXY^A]_NCN2 l3q##h{$i;AH{o:oC&a*@h>dBvi'/noB?(3,Ytk#saѸ'wJ{)H=WTBg;NQRU,"@RZN* [Ni&Ud6XFebfhζT v1td|y#0v%F=;??U_ {b̉`cKO]=mibGB֘ l8 p+Iy>_ɦ2hx&)䰦ݶV Ե]B4Նi$჆2ɹ.?sۥM4<ʽf̛֤mwKfs9)6>i2jڣ =w4):}iFlMtTI"A y8>[p:o,fR93SmGͶ}Ya%'Q4cY) t̩ڿ}{dЅ7XOgfYaN["V]Og כG%d-3y~#A7=V \.E&Ȥ,-CE.}D{|?Nu9[߹lɅCDEM p"}7FO!T@uǓ'̖|ҳep伦\( $)7߻b_ҙΊ~wutt^H )\_A1YRm2ƇdШ".#E<;!8?7u d߫=˞sf " ~z6[Z|u|a{I~>6UQIjp?*lߍ]2v ߾~녪$ٖօt@KMJ!Ym3r%Gp|y[m*!V]΄FM0p \i|pB-BwOn)^/,Fy>Jkjsp-X[+H:0zݺsr7lh59⦱(^yخE 9zPRRx9nw%b+PUr19T+_BP[fB7zK ` K y!Nj &YK}; j5| gqm)\Bq|#?kkDj5C?osc% E:. t.g`Hj:!>쯗UUTPAz}J><(>-EſrZ__f=gp"=aK|ɬH1zɑ&xaorZ~2{jy=dhO8+\49'q~XfWOM*z36!'Ƕ\vyy/߇S-5ohUy>gx)ްSM/%:,lll =6KL탆`}MzEt7)K++l.`ؼ|f̼g*zBbbn5i-mYOHxɷ71G~29 #(γ/ wva>Wm]Ù_|qQ俕ݶϋZ_c_#\NqO:]4Op 9Wj'3WTͳ}zZەp]CFW1քD!Pu+ɩ*MG4&ol&09.F_6۠"6,[ .Ra-5 AcBS` xHI>a,?u@ڥAzujDYUjiMΊo;WQQMv9_RTU]rZՉT+ٿYg ddhXx-J]ƈIpֿsD<4;"C<l`k/kj'-ͥGYGgX !߼9;Rrb,4Nڧq_I{vdXT PZ}$S6x{ <3Z/TLaYщ |Z )=-^w1AOeI1Ƴ̱$%e$44lMB ;ޞǹ&~.\%^(7F[c<ŕq3NBv׎HD&;Y\N*y=~Qf;~~]dmMߏY  8㒭Zs+1XR-R~F?`\/5+fz"Fr&$?A%Q"gГ2ٕ^[`ΊDXFˀPs.6x0=ui*Twcv~Rwś+!cru?Oo%Р?`^~?U |kNCJNd&?4,ڐX "|U1*b β&Xj|bbH<)6) ˵jxLL`,+VsVtj}EQAz@8ZR~/XYVWD׸q`VQR,w1J͕w&FM2--<{J?_T<"$( ӌI,vԇǓJ^?(;QzII+!FDdojʝ^qECJ/ VT_f@LOb\7]3?D6}iBޜejQ&5`^/o(fphL.jl> /[Ү3{."7@F q12 k m;ͫw42wTƆ\I2W6ӻ x#j$~cC #G65L'bt>(YB]4P [[l@Br\ve!s9"ϒM Y 2P%D( qhǺ?+F1A%:DϛB D)H'jwuܶ/~sBL 0#:JNo%)̨?ܳ!Hw{ (h|](Z#-vƃʆ'-޶"қy@ڇw/> o:Q܉ކcD#ACBY1K%b IQCCRC{٦滍e2.ovޚLF2T ())5hXQ=66kz+>_yM! (*s,W 4(2քd*yոuF` _Q ROwK{gK(ra%L*x jL-^Hpylא!@fYDm Ff;n м@#I:2sȤEN |J֛j8F@QkKֵL(@ac>4MUgw:tN9ỽ[<|{Xm`2e4549)K"N{\r;6veZUs =CѾє r`dS!Qs_Uv,&|#QI/iqFf6:̚ADIFV<jqs9t5p3LJtͲ ~,,sGn3I>\8W$Πrg:AA<; A tY3FGTf~n6bꅁ=$s˝Ǔ,XP,_-~hfǺ \ТQKV_Pl!swR+g C{hEn= (55*j Otv4.aF3v=]=O˺ʀ0(R2yHluX(7WZ0brTx0^lPy4z ,["d㽶ayQ#fA$̶US-%Vg7B*50Fb`]q)$vZ)&*:긱ZL̸*鯶IQkcC󵼢"ʮ}ZB*͚]5"CDZNLh076X$J}=6>BxZXX`e+\7;5r*&wT>@YI[2.#T&)?GE5axgvZz3quPìW素kSn֥j8?<]TbQ:,*"D=ܷF*eͮm8BR'+3c3WhBkh J87 u7zS,;ΰ8OzJ)#s::*~SBK <МWO E2^>zs7Ш,Tܘ^F48$w?'ﮒ 5J-k/AF'5:q{NyPkd@TW)i(`Wݞ{;m՛&y66\|;ӥVgo 7o/ ӔV7}O\XnCPxϒh/$i>LD{4 WY}A+2O>1@>^rb -gPgt#of3C"gQt iIC+Qy3x={%FB 1C;7g|y)zÚY|S:D"-Anree]'!cɕ[Rw7ߙYmd8t ] љxWg7CHWJajN7= v5xzi(_ZAٶwYSN.kY+wkOtnMίX&(X$[[bp7)gH7Pnkq BjR]Rw|aDÐR˧@gO5ɉ`5P1a6AnQWѶֳ3i2B,u#8fw , EܿSeڣNulXbRBR[L1twl~u2}ʦN. jk#O#+fpF%4[MxF׹ER|_k})̳G(U)]4h+LqɈVbUtI9:6hR5QeĎ7xvua W[=f7ˤ+lJJaPpG?ɢ^d%cKZSϪ?i7A=SHqЀ]D(a.'+,?܂t\#1 z}W}y>U)䂑i!\v> =x,U (ܿ'rJh谌).P8 MiUpdC.y窍ǂjp"C׫`c 5FI|p 8(Î$`2{즲S!6qKV+)Rף?`E:' }Ļhj/@ Ѧv.4sc/Vkmsȋj ~%;!pvkw6Tdyåy.B)j8q?rmzY?N/(1xi 톬MCU39RjOFLP 9 K+_ySNfo Ō4иo ۵GYێ'BųsfɦZ D/ɫlģÅ('_[ֲiV)U$~~z&$V+:̟}I ˌqM|u{؜T!&(a $Jwp4d6 qt* |i]@mQ-J'Z@2}m?|:d 4?r}0~W}uENI\R-1I`;Z[^|OcxttKm52< 6Iy}MXF=L\Dv2 âNM)TE30JOaI$%n/*Q4JT R_pIoQ{%%pw6<]W\F!c!Z{KK^cŘzM p@{C7\m/I7{>s恏Nѵ?Jw"[/|?Ibo QMN.cokPGҕl;, EΓ}׌P|nP4R3h8eN ]+Ls}:q+MZN+h}q |~<\k57v7|J@J w1S&Z T)/"({:8a-ۗMzn$3D7Eڿ<\a0`F\^Ì鹕]H;H|qDtAV8?]Vp1_X| zm?;/<^S%$0x":ҸGhhݩ2&&7|v]˷PP,jHV=H" ד f>>5:1 ZX`|G/λξoJ(68 |ɾV\TھӼd~' \ϼSiO|g@n|;t/d P#w %q7<뮎h|qب$" e(2@ٸBBJo֢,{.̷s=gl 7a2K!G .Qi{掹A`tlaǛ(J4QϳgvrPd^W=,7fj\6&%t1A}Hj]tn)GXa.O̿y{Dlr"Ԙ͑,q.G6~ٕ岤alf4s6 |'b DWeí%۶GpppH^U|Crgd ۗ(A1:m~j}QA%̭m寊gbsJ*Wi2bXRIG7O =o`:et+ |]oK@li3i7C¯'SS{rU;quEHuܿe E ؄zt)N|t}R eUڏ_ZsM)٤'ė\+Ylƨxuо+iÉQ9Vix*<[q>7էl۫ ",z}nh\4f3. NgΤ+, !ob!w('PeYX+>ة̈́IW M.W0h'W?;eۖ"aۍT:.Hm]E(:3%/H`Vwcڅ2YbmOO~e9q$=kTV4iX}p׷I9xmj!tI?2:!%\ g㪼Ђw !Dagd'%%W>>%Ev[: ?~74Z/",K+)<1Gh,8~ udz(3EO3W?iL6ql?f1W>۟dl\'7>(x=!6gO,5yVtgQxF\NK|+ʔβe :>aу<(``! s4lٙ M/cYR7+#U5{b!a҂*h%&9h+c6ܳ+u:R?6KmߐT{zP.^ `؆&4vr;q doy 'W啁wxdM&ɉi#P:˛c'Enn ~} qtHݜ| }%]ظo!0GRl cg/nm%޻ΐ B:^w4ד\XO<|dPaH3y)"5Qb7Z|$71p%.1ls oW\y-l `E4!][Dr=ǛJp (0;:ѳ|1-|_xL6g(W(H-"ot˖Q{Z(CYp"K " NPrl\3"9 WTpݕW\- @A~(W}CkTJ ʱmJsI3Ux< Նv7.PC.=C@W{聅.Pbe,/hv@n?7ūliNR_ C?+GQ)kN GMD-8P3ɉ:RWMw'KS͕k,`-6;-r&Ì D9 /\ۙY~N}\,$HRsrup *\}"eLb:<#AP(7?Pxʑ'_/Xؘġ,A/T&+><\'=z[DJeς3yxo.@`hAd3)ͨ'w1wWJ^9H KbQak[]嵿|];'YEO$9f`GRe|0S~/t4`XѿK WsL3TEkPj|Y34о7F \^jrYhQE\OھMyW­`k/TOET"B<AMtfO[i]f9E}ؿ>Ժ86/Thq:P]O|)]@|7i[,>7M߼vHʶp%/(szICH|F,#O.GdDZm,~qx|utyJbb"Fb֣w1lx)wu'CGһ_? W_Mō\M6mD$iډԥTIJJtbp8ƒEnn.qqq8QQQ$&&Gzz:. ݎrN^^ DGGQ?iOqѥãgVoz8zl+~㿪U%Z_Cܿ0DGCU6OV/vzvs2F0X90{`ӱ#lٌ;gObU\<]O6P75@[w ;N ŦFU]\; 99coUwhز2;t}f==bɰ|nGCCF,xrh+l/ߏu/MEm?Q`K1ojĨ}&$V.[鞋ǫs_#B/f=ɤɓ[dϝEY"#l;iͯbh$lEa:,+ɔ LG}\݃9*vKM7iWbXf )u;8! 73c<9MQj>dEkn&:ɓ'zÍ\xL22XTT+60aD yj,$ןbn@EQ\Z% (fHK}kÔΨ!Ԯ`^ )ޕԾs%\9B{`>=.CW:inNg脈,"Li !ןrMC@tih Yԓ8=H~K̑#O!o,>M"6$=jt>š_z@nkCԧϲZ>ʧg5-sS.#1h $** !%Ϥwhp$%=II}mHX~K@ImJHsA]L\r7&ȌGg%vDZLF\J;l`ԩ --իQ5zkRog,6'>kqߌ+aBڷA)ShiNB A_HL¤ 5ŘX1YuVI 쩬fLa hW1tD[5j9QϹ#KՄnj<1& U ASF c&'.?֭hkqM}H&R٢GfÞ]>X1ay#sG'P|Z_AШ9~n,{JҰAƓ錡tR1 -2<^ԩHxs%c黟mD;iii!0u4 w_(yduMSFd4"RȒ QC AQ}جxav?ߍ1g_# (l?.hxs1 6 I5(DR~%gN; 4L2Aj0钱kU$:$~8hg&\mmlS8l!5JЙrpJ[p;aF''} ;Yi iL~^d;5~3cmYQm Epso#99nQBT4D C]DHSDbvq:8Bqqq'Xn7vN'tm].X|t:ѴS1IR, dP!gŏ,El3b10\ٮG2qȬ߹n ==}^bf!?ƠEVnx"JBSr}:]uk{a=g' 74X5{PIfX}NO.9JƐЈd _DsQD$kSPO("57Lt<Q1x;z`ܵ Xh֏&gVo8*C#~}1!W3etX6 &LjG%3*]IGN!Pt|Wt/d.'%5#հ%9HOL$-?hр=6ɉR]AY] *TT`ћT\X&=fZګ9tGRc4)1Xs5+-}n|Z2[gtzFA9Y (?V'/@yB{ho%Ez̜,J its\~ؿ?b1ΐطk7$qFyTVj /|dYfС"t1H턇ldsHʚ'xOc)\BHt^tX ݷ!6;su=b/u(;;v{F,zMXni (76XHKM!37Gg4arkq;BylO chh@8d$.?Oe^Ѥ%&C&# 8bb0 r՟QR3MUcpf##&OB~NQEDzwrכY2{} ;?XDNJl\b "P^YM=Z{5ep -53:HL'=3-.炙gNY 0l֯Q}dIֳk0jUUDMb`2ODΆ'oUdIp=W晴S¦ |FZI pۨS#;t:F$oukV"= Mr&њWR1aP'p["5%%#ы@РF0g@p?`Y?D'پQslb&6ZCRbI,aDX8iqPMQoP5p0lěA4DOczi:Iش~=#1b(,ZbfhFI~GĠ *'y>[DM1ubf+VDz×crxBf3F͹ң\Bv|&"yL <Z80\f{*::~c~iZoqt>o:JE4Gg (tA, _|1La]g zQ$4_ ^Ce鴅tLm>x<)6Q'|h)ZUM([&>usfߊװ[7!X-DOaC7rd_D\bl~aCKqc)2abiɌ8X-uAֶ4qboK8̍gAs&= RB-,]-WǾsٿy6 ȁkH; S06܌bc5DwEQv:=h ֥î #3ںe3︘@+}/$6-Q_9:w-tYDw C^'L.Rz 'tHd z-mǑ/bWM;4M8럘`-8e bO84 , ~G)8N-)&*pŌJ)e쟎%]f LKu6si R҈y8Tegq%cGnfcq)mS~<&R37A\UFRl%x|NXy DכZHmUWZΖ:|rV{qߘPL * Sc=kUEkSL\7DirܳC"[:& z !c9ضy eeGK$hiil`K]]xM_}Cmc}m^F fPN5h>:ʎg߰#f&Pq-+7CK "{c$varwnF n厞:Zfق|(>|9? [Ѽ- "ͻwqꨠܻ=X$:K 5VKVf:F{zU5姧>i.TڊYi JG<#ā/q̐3,e.ٲyǪP!^:$ &~W7p<‚g( M"ՕU'ӫ5=G I1g]e$ .:>`ό@ z lce?fDH=w63UXvD"mnRcckPfM"F':90W9~{p:]:4mXĎ>os;l 8p 7F6G.!g>v7Yx[u2CQ%rmM+>ZLM^6א[ [q!ei6~w[:p,o桯0lV\Y*emt,Z/P8'uhܹĺXtDE*Ie-E0C]g/h:pX3U!T n.t3? @((1kxKrn"xNz^ݍR0A0`nl )M-k[wN#?o49&%"K2UKvw4_coЩ |EtmcZ2JXfw\?Ԓ+XkʨBݏlma$o%?|yMG9™؏v$0vd -b[u :QDԳYazJXl%M-!1k<{KˁV)7\#زa |^F YUKPf`;NIC2xYf ꙵf&SkQUxC>ϜCxJDաF\:/qDǑKԧhI/wFEoFP.^ rN/L#}9<#Lxt1FD4h_IE$#+NK-^0I.vSQ+1WȸF 20Jг[TʂWtRĮG^bǬYo>FhmcyhJ g>l|zw*0~x_k~fBIETbúIzq)F;Ē箥o1/yW.WԱ˞'g9 (HM7d , A0i%lͺ54]?$W|:'.{" y,~nHdT;pK$v-@vI!wW`|sjyr0\z%17ih?Nćh/vPTn|D&=%$jΧG0X]zS8zf_>l&1O'+o_j]c &EMKK](mxLt/Q=(}u3Q`'/%q@lQ nMjgOQSȵ߆hJ1q(֮X7 DtHhki`Сb۩EU[1ӭ=E@]N ׋;sZw6L"He5 ""≚흖f򟊢Bc$fHMb1 Jd9He3Ћz-A[Lj^SD>3IV.z!IP53Cgj'Qy?rH",D1>EE3g*:AFhB8,i*`^  ejk ZDA(ZF/O0i|wl Q&KHZE -#2N~eD~~ϝϝ.aU"=#NpYum o9)'Y}ݣA͵a4GbhhYx7l &knWoFk^pi#.擇!-[0ZmE{؇&iB!YH8WLx#&?!WA1&խ/Y0(HJ2HWrqbⲆUBO+⭕B@7hF$COzxϮp˦/2v17տLyuw^:~ƴ'I~1dGI6RW[MH^p(V[ ;;=T.!A=FBDCc=>_rƦ\ѠQPPF: ժ4pB x!y\z0`6mx"hH 1ې*2ʬNLVd;^4 Ef1E'HaBa mZzEQ=CR0Èfkc」$>ryfzrd3CT$IDD "*\E1 D%(b$ Q09ιr8aD-f-:u} 88Aȉqe'4MXy8c*,bʼn1P-FiZ>qF%g_ҐVR'U se"-BH{\;l&m:J2Lax[dV*OJh,ZES ]p²Ŝz4Zy%ꗟe/߉bwMo/2:~\a6{@جN~EQBx+Vq `&l 7S(c&jDk=%SSeoyx<@`a9pã0ac;.o`CwcqST[7 E>U.5t~˸{]6 /ɐɤҘ łNk>OmCd<ضOEEd 9) 4}5{L?1l`,P2Ec$(Z)C mmTMd^@pr`6D^1L]X}~C<ЯCB6C<&?8H.aμ  bDiv+n0~Y=\r9rK`>8W\r] ӛҳq-]s)3ʙǑH ;f-FFW5So׮G:\D ЛMN%I!![Eo̫¶;fT.[J6E68KZL6Nu|CQR'cdj)v@y]٫?MCS ?Gl~ÄѲ,fϞ}Xih˲([{Rn|ZMlغf $BXԱoE4EAVKB)5,yITQIΙ @UK} Ƌs((y2}td(6H00MմLq?ټyぶ d)D:&JP[WO2`UΦMyV`]p!{cm%(,~ /_M0Dʒ y  IDAT\>;~8EaSd>UV<޽{)'BzdR֭;La,E&[P:7{>۶ihhqd(2}_9')m4l.F:HXz7߹g޵gi^/jk(\d޵k"0 0Tt:}<2~j _){@lݲyMfs;Cy_aŢf cAd]he% h:p84nw20C|"sgu\ [ӾiVu7| ?-լ8l2 M_AE~[ waXU%^~'0#J!xnMXvrp88\.^۶q\8I}JMy=)%. ǃrUbbYv/Zؼ5_z5?f3gMH;m1eQ^%R;]ҍ"48! ~̦;yhhŕ,4yT2sC^ǽ?+sF1>vR шQ(O:h"@v%9X0DWx $| Ci^ #١Q4PaeXXy/wW"F nmx@,/\@P$ O%) x~s\{M d F"t3ϱ̦]6N8v _ _0u#6isöKq߾Kgm٨b4=bX*TPt N@ mDM!GSBWJ `X@J46m Ŗ )!Q5J4,c U[o:\JҐ^O(s=4Ϝ0!Ćv)Tp{$(Bc$'<%zxlȣM F'>%;F4u}JgTF; Ø+5 J q糬RRd %>sR…iyY8gvģtݗ38h6ь4o(fZS4mȄ MɜraBpɿw'_w(Bh2Nfi9%<i7#8/EuYX/B#"uj?yʰoO6)tʭy+!zFZxm4-l$13Q'^MG`ݹoաF-#(v3ȬBk;-RfֶltfdBzG0 ~Os)ߋ@?2MSxVϿoR8aIxv>$b(g[IY>U~|#sn=$EƩn VR)2ØFk~O N RJrfiөBEP^O^D`JPlpk ? #H)QP(HIrgv0os) MJ_QTTT$ĩͧp<|TJTUJ9afUUM p'}qĭs{9O5C˶mZ9Ө'/00؏Os/_OÉr "'2_ӈH'aCCCtuuM !Hgض&vBeeeP 9V؈>w%83Y|Y]7S`M3uU ݺFI(s/(2RP4_+m;new ~V숓d&GՂedֲg-IÂٴn߁(h^1RH ӻg/ZK}l~26u0aOџA дhq6V^F۾3=jpūxuؖ=CBJ%r9~rsg{r k[jR~O{.6b8 ̚͵<O熿[}3oi0αK%ˏ=r9f$/r׿AǁKu(iۤ-K!bx|4Kb*MSW=$`Xk#CqzoOLbZO(0\P_m U-RvocGpZye3{L]zTH:8LӜr?=Xw?EQ]0wSq׿zNmڶY3fx;} P ;]Y!Ȑmd,V64EjvΞzÛq;^/@@ Gc8rl:H$R:0LTt6! *%b쟍 EֱcǐSw(蠼*ʶ Qm =8yu#65!^؋;|SzGTG:'pᕚNzz_?545Y#U1@ӡ"$R va!'@E -H cLvRyp)*RcJRD۶N~vW_dg79ˤKQt!ll W0 [h),۵d6tQ*!ְP`l8K*?|>Ϯ];ƛش  WK6ib>*;2 djx'cH׍c\o#备q7X` qk^}s17_{H J" |.qB?nW Uщuruײ}BN !%7>}p)͏;uk6;}*Z;[$=;PAKk7hY~r!l'Vi 8L^~ CrpN62OOW*}5Cif:/5e4 y oWM6tYD5xU!ۦhX㡡|20s~=Mr^ZEC<׿qύ_+> ` ~v.IdIsϯy9ˠ6T:ÿ !JmoZ[[7mz!< x76<d7KBɔrXz{{DuDhS,4 JdHR Jee%3f )QzI&S: 3GĮ(#ۏ4cmAtSQ| uMQzUTOy8L_ !Au6[1UzSҵi">?ZN>*D!vTLǨ*8$4/ymi,>+I$CR$|#4P/6U⠨GC_jm ;GF5#o)6UaN:CXqncOŵ vmJ|׳kfH&4:JMa,k\f/\HYD_Q;uK!ڴ-`BQ:PGTj/'ch[OKgSZzPf%h+kҜ5K7?(|}+ݻ x}  <:$2,m㡾NQ nǃ  wS򪒥gH@4z#eY<y894)1mڡ5U5ԗHrZΡlώbKL"௯QllpiobH|Uc`3S:i,3i mQ̦Izng 8Qe6ڈӾ!Ml(b"Z&oEPBJ$*UAU@LH.o(T3N>U!6f& KA KR"Rks!J']Uh ł1dw^uc}*\^`(7vJH)p8|)5bw&7ϘEy!=/!RȒg>yEs2n&G,v"LdQ*V->g.7DeCdhzS#*~(i6Hnq-Ү ܾt'(/wxK]+rYq÷"U7uzhl@5PT폠,= LJ_ed~tFyMd ^&Ӳ{=teX̽={_;I%8}O~<-J&;*!ֿ@5Oҷl .h 8`hd>Cel߽Զ-{mZ9 i {PFˏ3-x8{iC+i3=;v2yB:XMP_Y?Dq(D͗JfhGg"?XEO硽{vxRjE6L`=>*!ؑ.(LӤX,Nh`Ygx|zxdar9qAɹ:/.1t?IYҒZ 𞝔M2RairVp4Mk>q_݊ԣyKϠ7ia =ϣ4Fq9XlQ6~ ۢ"&t}s/s~u9zO<0 xE*t CV4F5ϘF~R,j)I (lٱWo2k5h(Oķ([mB>h'::}-dZ櫱҅AWƌ8MH9BB%c)Q, Us X)U@TQ*bZؔI: -GロT);p4P8}K"\Ţt^%sM<FJat*AeE߻./I&)F SV^hbZrO>$pT"A$ad8N]m5G}4exH0&_ ^}V4LfUm]r:a.'z0&ʩ`? 'çBPM9.3eMJrIc…ŗHœC! @8ӧ5lR pd&ehJϻ8^/HǃiP(a8ΉPz]qD"~?cpDpfM4~#V[`v[6pIG@$zro25r9^)J Iա擤y-hnNݠ;E>{PmTUе0ioDZM(`ǖC1^~QT-J_`ԍi4D*ٷ܎],\vNE"lY*vlz 2.}OKVN~<PS1Y'}}8-: qVѶey OP A_O7\.sq:Pix^Fb̞3ŋd)b0!CESN\%51cV1ߏq`VE? S y;3Yzt!wg4N˪ /GHeŶd߿I.9%F}`q#/I$|a݌DatMtey̝3d*Eu}C#1,DQP*zۍ3Q,9i{8mƺ0Qxet )elo>~C~s':SCx" #IS+NGW7RD&T)/C"q(iB鈿((퐺tneHcxsxgeU&ٟeE!^,:*U(cg%b(*fB j aJ1ntN<*B Х%m)QD r_c$|J,$>:iLnF û=8U%‰ү i#lolhd^6(Fj,;f+=4$CFoض} B=ϯG~e,;h4l颾 6bK.9||n#]7lVt^[;5]I}CgֱuvlL8j?ėo9Jǟp>6s/Szڶ]I3~̪ȬIR;35*n|NWٯw'Bs]/#>2B0p\TԲnZ[hbK IDATgf41.?l>|^4Z^^AC `Q0-0^Ef 7dTdi磸ü%xh[h +S4w/gn> ".ĥ|۷0|YsXx}}X룲5k&  RC<$Fu*++ MpF<>rf̘A8& xMT|d(&tU 8g“+ﭤnFL>l܅a!|!thd LFW|Fgsk~7"-(п{C¤Jcݞ#CI 'Bat溺Aڊ:*o?Kq*/# ۥ(IdQC:Y e3d% };[8v,]8@B*jUqn<icˏp gS_OބΊeeeӷjPW&ݟnwŧ߼F4Ӧ71{\z:;?&RY͚5o0ҿWHWœs*ܚEu.`KliaX,2h r厝K AԚABPCy#DYw#xTb>>z$xPU̓Rʱ$v{w'EU3F-rܫYԑ.Ɵ*g}#2ӱȜyRԥ"&J)'B1܍/ S}7<*(3|Si|ܑ3s <'hig,_QvmAgwmm >(t^ ަalTg(9Lg;0;ҘP4mv'iypycq(JF*{±tVFp;x=3cn;6^ 4Ar"d 14U?q4thn|A ˁ04e$nRUC(NF1E{F%! LSce=#nn2C#*?q}zҔ誂a9OY|7Oʲz" y7t-{8Oycѭ\dT%ӕԥsO VP,?j|KװmFOsɧwمE:yo/1سyӝarbF>qEyiEU_̬9 A`%9GC?邛 ڇCه1]Z͠D)r"- }sşp=x]p;Ceж)+C; ϠiayXpPɡ8R4_-|s>pW]>ϳk.:::htwo/S0 4>uJnGJK) BTTT@ L۶'Z AʨEUU~?-***hll$PSSC4=fJ U㛏1s# C=νқD"\vp~v3P`n,K{O :ò {5Wpd5M qzǣil=j!D;BjoUlۆR_fen3~\\MdYvCG~E(s.nB>ySY'_̇,ڏ7:=<|Bzן+/:ہNTUÅ0: 0 u;  L.*(tn&D|96M}uI>NO9sǙ0$CNqn8t8WL]:TtwEQ2Uaw.۞m8or9t.%\po#o_ -BMilGTVTʡsׅ&MBl_gL͘c[vKyykEj8c\ϱxlaŋzBfuNYɗ?WB-oe>fa42-.]:r曇p4Y`s!> ]xQD:i9zG#d,^z)A)cxf j)ı(uz@U_'4bJ:ٍ n˳38qyǞ[C1U@<褬RJl EEAB{c"HHFjE4&B?u֑Q=rG. B!"MF;d2Ɇ [,ir '?;Jܗ:9 HJTrm9HW^KNc:dO-QdɖdR rf0ɩgs~q?=g0w߽uݺUuV!LLD $& /O_ zķyn]?Yx6!tyy6"Ӽ%=3' tqfdšm]_UUرcMrPy ,s5V=eY>|2Nפix< :ñcǚӔ&EQx, S'SO G}8CZYXy#=r٦4=XeYnx;K_؂[JXYjoì<.r1埐B[y Y_d~j.77&Y\a}`;S~YH\6K(Tlm~2U FBP#C2SCPX1p$p #i-[5jR W%j#f3~yB|eæR,ɐjK׈EgfGwq p\Xڑ[QKGٶKٔMΟ}>  W][2^ET*C5usԩ:C/oڴi|e#GznqMe(:ujUg?>ؔߦ'O"  'O$bq<R!@eB0x;wB_EZv:epXFe~T>ėu'b??Qp+|d$-zrxn>xᲗp?%$Lׯ3nnYw2Jf(ͯ|Qq08 Ǒp0(UxB>#7'vH?)&#UAl@PH5ӳ^#fZ}l0p6pqez4R2b)M"$[{$!-%Jq$ ۩WJ8HmJp#uirWz:ek׮eO@#n_4*r+JflݔʥkD[+i>{ȶj|KTT$͏yX7D|9]v5424kkx/ ߌvEYh}c_ ǹ}nfm^ESCw ֞,#IBu$Ibm85ijx|t;Hk݌WWJ =4(ٷu#vs NZJS̘Xәܸ9p j<(N>3RLgns*AE)(sCTx@Đ5_%jTL  jc[FĨdX!m%#40=7e˸.BaOLvUU12NԀs '[eƮ1U(s Lf=IXb߲~FSx[u3(Uݜ1/줖/s·zZ?Ƴ!z{}Qv{#/߁!MS-nI牴F1*S`ZERcD7pi7M죘ֻPE":HC]z?(<_222A>"zεCs6~0*8$05P?"/WI;5t'y֎Q3Z h*ϰndଽMk鍶hj4 ߏeYj50!:EQ39r8 !r3::ZN,L, C:&JdxxX,F"X.1L&!8}}}۟O@Po9w/L }1huWZ\4" ͉x'M_Dx\X1!H`ZNB(-$5m!4J(jM"錍-q %ʕ,hŐ#LjI$&*3;Ba/~KbY&fX׃8mfIcT%+ac74x{y0m:Ԧ@O%g8@׋4\>@/~?Ow/3w>ǹ˒ilȡK`mIVZo!i3aDC69BQMz9N4tDv}/hZ)5M# տJ>B$iڲjn7Vʟe}hg6dbCV麎/9 ngnc~-(r ~a3??EҚgpG#U7FCuo0gPBg6Hkq - pTE29r9J$p{/KF' _pS=#$8ȸ%u1b`n7ɔ)~n\ ե$4Mƭ(XmdQϣR}MV4IBU%\KQ$ 26BMe&St)HJYog" H$!C+q7e CN6wIv_~+b+y?nh<,tEq9;ȕLpmnT|VG8&P0v7+7ׂ8#D#~8?9*)0T7rP(JMرifsWHUF8;|1-^']2S~R2-. eqc/]ۙIVdla=..Rӫ[h6*MwgTXԩl~.YEơl,$ LM/R)WnGU_3D<.~K3tlbL/r·dtfk00 RQ&ֲW羃tQ{C8;ZXLSf:ϳOsI͌se!Ͻ;qvL]!iUeWVQ"Qs'PlѓD:Tj65Ӽ- E<~ٵ;yBUZ)7ӹ2Rdm~=k>^74d,\$!HDvnCߩT*E$**r|>$¿ jbH*bttY jJBP`vvQ4RùYŋhęag1D+RB룄%t@2L .pn aRsȥoMjbL:7b Cv:ۙ*x@H>L~jGDې jNg{T%b9ߍ&)X535ǡ%02=̎IdZc݌LGp$W]}yʸ c~1-TL-G|nLsNzS8uhȡ~~;^kNFX,F<'q\9ƾS9d M\./5T8HUj~"??_(R!&Q亵+{ ^*FKIvKzs(YE8*S\2dKH$zJB%,lP4sי-p kG~ zlMGVT\ض,98BE%@4!a9BH(2FD$À8Rm;nmz:H~0(T_(.ۢ*FKnv ̱%UG,:qWzJwWOrpYw7A$Hf|, X&Hȥ,"   ˄-TRhg?pi^ΏORЫD1Z0<>Gv 0:9Mzb+UQ] VgxG]P$vU<ҳht0yOel݀םwl1^<)c*]8sq #|HmF:nNZqgVR6vg9tⴲM ̲s;¢5( e]^8f(+芉U걫! i؁&XaYnݔJ%ɂi> ;'I‹v208K/3UdM>= IDAT!NQ5K.v䙯E0?}었!3jQ}iŴ\"Qn9 zz+oiÔ_d8=0]qL 1?4x;C㣔%vmҕg)>G]Hin!(T44_2L KLuA8h ˮ+^[&h|rȩ7JtuuDzhiLv5P&>xH$!#`0V"AmoذylH])lMJ|mڽ3?=(- ڃϭS1Mvog.=C`f(і5>憆(,f1#qf*DyF8z C G}";":xT4E"ʕ!q1lEW%tafA6ojp\tuv1O}">\Z GBY0H_vf%vmsslvCC1LAOgJlɑ!2SÜpCff=ÓJoOynlmQƪ^Zގ 3e[S<{dǭ*Z_;ُ09*m:JKQ\دZ:{6~rr_ jW,xn"2(xB²P]?!8$\AJx\`{ٶM8Zv%IRSfB2ךŭJ4nEVPnT[6AFH ^>$cKM ᰇp cG'f~}<թf}_gwa&a%$GR6 {j[,Vd^o B #dF݈CC@р۶ɕ cHVZg ҫ؀m׳ JK菉'D#[+p4.&[_"\ٖJu{=8o;ujq?4xN4η5xkiƯ,yqgEQn=o䡡)ARpužmdR}ARhE*xIngW[7mf8@XXHeq)UbS8P) bmSX*7%*-4$^^)vذ-b*R:3| N@Es$e^ѨJʳO}X6\:5}|mDb7"S<*t7ؿo[;讒-6Fohw!=Jesa.4! ]"6N!다YK3wއߊ~I=x=X w$^{KB \8D"¡ un-$I.•hvj34B3kɮdw$(lj!T\ . 3\J28O=$۷DnܸP(r_~UZF>G ߅ ;f $0dp*2Y‘$\m`Yq~gg{n8 57DMDoL$i!Y ##eٻm+O }3pplᨀ[hO&SkI_7hmmmʌ@ӌPW|W]B0>>rbSO>o%Heva^ ASezxbr&ǁ9v([m<4::tKĆ BS>z8ݽzv[U4Ͽ4h[&ϷfMiMRXgtx7i#Ԫ56oB&o˶y1nF d "ֱ /toa޽x^\ I&y9s4oX++5F),oFɪQ,!HHȡb1 Rb>E>* JԲI&E}1`PEYp$JUAjHKp܏-$JWERdFxވ!bF%_GqI*Bq< .i -(gJݰ1|h'/rljcfl:8̽lh,H!P/ dU"R8=zX7\֙J$晞,C̷SUTʦc1ݴp&nhM0|}Dׯӧt*L]5 :>Yx`]/cc*%o܄㼾FŅ_FҼmhk)WV]l6K:noynY7ol:g;::^Z84e2RT~%M+ealڴZիYLh ,/?NR 4-]$ѶT_.ri #x~Ee|bq&&&g3m(:ό +=爇CLf؉|ztnc+V VM䲋mފHu64E+itk4XrYjHo 3YIln2_jTY5+a<#1.ub= ?Rw*}HL\!#"!!jӧO*-/_}kLeB_:zNbikm# f㡿U$I dVm7 Md2IP$JX3 }˒e:HMEUw T<%mz@'}ev72Th cq WI%?3gCj}rah |O񞷼#g8h5ҋUnLVV Yַ7n ^RTLOOsrV(,ԩSֶdY楗^lR)èbY~Mg>VPSz|lǡPOMP&ɦF\8oɲŋ)W !B0==*`YN uA4mi&>$qĉn4]pa Mw_SSZ󯚦Ǐ#IL,:xoщ$̀{_e!o 233LNM!;{gΞEe~:099ĒN9ituuzpzi7s!B~J7Ƙ[,A,"ZKf`f&pfm#Utv Bغq3<!M&9OX'Jy׸1>U3\6#<;6mz&%JX"._E8$Q0<.&'SDp@ccWY,Cރr3B¢AU.N ī*af& [F%0m$Z0,5ƃ݂ѬYS,R|'G^@s\[ž}V)}PO̙|ݺu趶*kFSC74ATB $H}xey̆KzAlsGJŒxgRNtOLnLI_bA PY@0 _Oś*%g$_("VLέJdY{iZȶmNyEQycV!-xO$L#Q9{4E% &H_ua[rab+L|Gq.I pc Y;'GQ4$B#6:[|h><>-|yIZ"WΓ.` =l1jl_a>45 < :P܉OtwsgwJӝ}g$IKԭtزu;ÿM2_CȲիW 21V#Eu!x2FK&jE*YG0r<^a`NΣj!Xzxȋ,K $|_M!%Ҙp5!\ЉD]s=b좵5dI$idZ-ILV\2"SsBҹyf'jk%)FHY)y)9J>+ZXeXB0J ̜#.$*}4 tDUpR9voI*5I( >4vb6tJ@DF@SZh15C# >K L3>R%j:={VV;f^/S(s@E+r2n}w^<_Ofkg-<^^7~ҴRvu~?ˡ7zAUUyl&'XD5k IN m0>A [e,Sq_\h-dg-Zz{vws߾FT m!}py4l&[p[k=<Y0-->\$H Vu1` RmK/qk.<>r(XQW^KZBP*hu./ sLD;y)* %ڃ; @WZUH^=IвD[1W|˴ AR~㷘= [˧%Txn`멌 4gϜ~_{H\@mیS=AՐ93KNο\8R ѻ]>Cΰ~7H/@>uu~o~:6S7x?B$ƅIߍ ،,Y+zSS<\֑j Zv}zإ$ǵm{,KM#!^)@Qo|[_S\.N>Q ;Hc›`9"8s=Eĝ09wH.(XDFgdjORdRYɖ L tt&TJ#o=S bj|\Wi"~Mb;Drx\2R $㸱cVktv a~{߸ IDAT. ;W;VwELR%%JTBQ.+aST|Qy*Uz* .M"+.oz;s&2vJEm2᠊驑́n +6FQlv׿򟿏\G?kbcv'KwJTUc-/p\Yr|/ R033##)TJEX/qثJ,;$IN*LMMgqx<㚦EZŶ$Ai!KX],}VݠVkˍ,* 8E68r_YP{8.[5mmKO,=w=fҹe;v=&$E=F:X*H ,%D4K=&d</ 2PpP[e*D}@8?E/n S4<; `9LggkZQBvpa/]_c>sIvoJ\ sJ,}ǟvz3 H@H! xx t'=!@F0~zLO._Y.+cYU]ZVU'Db;v zE<>di?z_ú ݐou7p a:DjT'/%1x:J5"ѡAi x SkU\Ӑ(g2x}1|? +y" /ӓ!"/jcYw =}a^Ut<~JhG\LYAmRtZA0EbQ/I0ڨ#+~]t Cl%_\4`5'L[ ޥsEEfV49ez;oڎ/"k{x8EOr%U+QnM'Y'?b hBwc7x92iν |{9) AfK2z>]wK_Osq[ek }j^"23T)k4Tx<2icn.K`#I" [8tvZi)We4M5.]Z0tR%^m??I{{Bi星"I6r0uQzzH>uWGQZ+r_emL"TL O"j8%lELN֤;.'.Lt)w qpL@,#1޾M]n$C߸J28Ά @fPsh"~&xQJB"Œj\Ȭ%VʘI C%Q[äW= g> A__~Y~NjCt Lb_{-&ca`&dd߁ zHs0n($G9gďZ W`mH:]?ʮ]Iorp'BPH25v0< r,&.,q}b^oO0:a6B|6Q%l4Kx\bd$NW={ڸwNN$}ױ<1{+g ?юgo"F5FvphW?$\_>w}cQG`ShCe)E0afz<~Der<7H+Q$݋E4с(Ex%ik C?Y'I;J4L!,ƣ ׎*(WTpmфm1rJT&&&7"Rd sAabm~RsC~8*uEv}! ~kRp$z9j2Y#yU}=TcjQD:er0{2@׷Mx"Qwp8ei=qoR.4eh(Ğ= ٳ'PXL;[{cϞ(T *" %i4yg?=m y Q woev `rK/=ymFܙώ1ɁrKZh((\$o囝t|# !wH]Q+C.#}ZQ+:<;h"3\_|䳌&Cr y"5[@1*mxTD0&MPhԇ4$cK`'DnpidqEdd CÐQEQŶ$ʈh4ix}2\hC瀋լ0GLM7#8NRP74>YP2>N$`"eyjZz$)+x!j5: TNА t\"EE^ 31V]vnK=K=IgCb#M"|3B[|oꋱ}>PAfs9˗ ϧ h8x={ڀ:bH!8tbđ#>܉\CvG;0*~"("rͽJešCGwYXX@kv;#F n4~;#tv*{ 8NC: :lg׮6v튱C )uwh[{\u/m %|ߧHK: 3;xz&@|)%Îo35Klc~mOyf"K\Ĺa[? fGݠo|AiZrPC:*ma5Xkؖk8V⭭S\YY.Qϯrf"ȁߦ\SxGXȔ;I6W(?W qni\Ȓ[fy*,ώ3L u6|T(mφEe&JIOsvlONjVzT|7ҵo|6[ u\`;{ g.O}lֺ.H$$ۿ ,舨Dz-"ޮa╓G ,/CF28 ]Ά ݨާi^={ػRm8N+h׮~We߾TUQF}tum>yJu4t] zٱWnhL&S4TUSQUn}.TUszT/Ε2ؿ3/_~bZŕ#=l>='̀>'~Q*p@ 7_}RlXÁO? /L9a=D xȬfKҿsϞţ+ ũ.0k4MPDtUbXQ{)U+x5Bݤ^q#rE `vr|rN+M-.8FaHfMj>r Pďpl錍m4kuRK4٥P#"sO}gZ昛"k^%LcۭRx{bT+9F~iM2Q-XD4BJ~j7Á~<8Ӓ5ncSx:IԞoX%]o"">*O=1Xu2\?6!o4&r,K|*Y"$AFGۉBUnct]AQ$ >F<##o_/]]QAwwjȲLk|*ͶD"@rtBQ$"}}Q<Fouv6۷i2%:;#nkT,_c.j5Hćm;D>EfmDޖn"B>ߤ+Fi/H(Dggf]}銄8ߙlw\\Akf@瓿S*qt~7O%eHB{_QGI9ʦҾuhWj=z\z:aVeAWOިdr+kvdn.~D<@g{1BYBv-~/k9\ 8@DWFɯ%EJKyD&SZj"y\j:gϦR\.!I‘3x>*&mq?O1>ֲ&٤^1iQ@tm5VxK<"UgXZACn"&p;.kȺ(iT&Z tt ۍ'0*(LX$WiR5fp,RV`G})*ᰀehqK~tn fc4x %p)*VJqMd HĻ3CAț[8Ca?+HHS>~[FV 8w$ӏepn^uq(D"!.]7VvhGU7B!a.QPUr@5v@Mm4묭U8thtn+2gvۃtv躂ǣL]:$O'00'h zUj5Z<x<@OOs疸*##m9mo|-]!QhuIc`}DSFj1l3/1{yfSl a;/)P0+{I}(~%_+r|8癷6qP/{+,&4 ~kΕmQFF]E73A7 L_"lŵMZT5{]BR4*qO']3gŧ>oC$26 GO`ǧ<mtIdn"d>Q.U|sC S0\ufS nuI`U3F6Μ9CټDQ䮻².[(_XXnVD˲3|BM>dOK-$">un7$]:hYn&u+wJ{m]^^,~? W3^^y3oο4/ao/~LSZݿ}=WjO@<Sg)&-KZ"MqyT33Y#P9$'Ȃ!YiO/lRɠVd~z~\3u`7bIQ)M+xUAuR`,LOdOPL2D .M`[CI5GY^aaꑙv9'cZG81rjۑt,K4\GVrx >$º2A׼$2K%"mh4*}0_:!:;HRc'kx'.\XJMU8I Ḟ/ٹcX$r+ֵ7:E-pc~LS೟=m[뺛{YߟfP7Ʊc*2+(2xG?B@E uADƩH(d <ߏ$IXB{5dY.je vYuٱopfnwt4:~OwӼ辣 *|ca|O3{~xRǿ^RB|7\)*8~]њZI5tt MMkb|jFoTA DXRT*rHfcH;%L/Y3xriLv4+G&={F[G x,dbz~Uԡ&U3iMLK,=Fz(J hLGa. eL]ci^zoRIAO(,-Q5]pdm"9s'=YGpv]&ܧC5?m4kcuoc|Y=:ʷ=ѡ~zzB5cS3(xGhLT*%29H)7ryqNr;p,@Yw.x g.ugrltqAM摷o/򫯻1>2|ɿJ{*({\S/D[ydY=JꄩTj3ss"'O.!*1?0 |+Lf Ü9SVa6F(B˿^wۿ=i~,fuuu)*x<|">2mm]G]p"brWLߏ Tl#dң_;p< IDAT_K j9&x+YƦg4LX,,r^E^fLô.4mQ72YSOr]21veᵷe_#`0x*1Vūu#/ hT0/A|1`qKƑ}6]f߼J\oxq8wfYRٳF]۶ٽ{7~O<$]y`$ DQɓaB[ɲ̎;f` ɎVFiVWWy'۶[(r*egϞ+is|kRqH& nz7<]o:wb~Og(xe~C㕟`H—(G"T'mt=vZ(;0jĞ0NxQd&xiC[oᡧ U˰jJ. oK8q)C"ކ늤R.axI-)6yenqz8ۈʄs s DhcVfK4,`P'NfIfTYFR-R|I1EGgh$JG"N1J.Quؽse:zX(Ұs|d+, :5''DTtDΓMުra,Ef-`6\Qϰ*(64IWcET$؂MWG 8,L? sϟc '򮷽ǹ_;1LOPj BEN?7ro^s7å5 F8 5NCJ|!svv+#1/j'U:z{>z,=zq L8y ?@(bt4iDQFGG, EeN:(*;wDc,.MX%]Ի{^][^oFQF\q:`V~ml'nuc`.l9ű]%\\LK:WDrmf+#[Ufp HO62-KGA0:@.١Յ%xv &h6ergqI\tB9[ATe?Mkx(.tMJDl5zb <+9sUrQ;*%/ҜDgN)ؚef7Wv5_}Y*@6/ڠZ@cB?1E.6c4MFF6 TME?ad#Mn3?[0M\ykoaY֕6ʯ^!sgӻ =[6^;z+n|:߸8fec"ů XbU+l)fV8V.jzص}ɅENqvYY!g*&v};Ul2ݎu<}JDpo|tEX#Ybq0lp\VDYwJz%K$Ѭh]IT[ĵDG$><ܓ8Ƥ~ [@/O[ev6dHպoPiʖTMBչV_lѭcײMT4LӼ*}UIyC+Bymή];69LEE܂V0 wm{qm#iy?L~f}]|7ZQl8Ixݖ~cf*yiRs [a""4AEGED "N# "64k$qƘ8#ݶu]뽂6,k3z%Id< 6wnp|YA=WdK%刌wkoevS)p]ЬZtt1mS a-`~jR.& &آZut>З &/&%tYH<Fűy"211=DO7Iݥ?cbr A־?jF2AEꆁ}IrhAGX'%]Cߤ!h9QGHtEp&BX`?H(X$(JzQ'ZN̤f8ݒ)2 ㊹F=w6"MeD&SŸqg`x \O]71-?XZwCZzaBp incElLVsBD1Uwх&%3m|c4v& 1$I*]IN.a< ngg&f0jMr2gXY)Aj@ۺ8}徛:+i 2f5pMERT1.`J +M\::4KTe,cMLI\Bq즉+:.\Z%D`ΠU4UZQ_d t8szBja;AYcr@"ގm6L'N AEtl\:{ U;cx"*rgNXh`S&Ipt).m H(\BK6>U5*8JKVZ- \eYXVDŽ h M2T^cc>O o$g8iзoDǗhG+<͔CYAMoC~ˎxFuk?Tdibszk$I0da߰] //NԞ~ qiw򾛶}o<1ήf/zчy׾>?v+]Sp6Y]3ik"{0$ 7RY#ogen 8Ikx쓄>#Ͽu .\h:Hpi9a}+J9^p{2u U DN{jXwI_oϟc9Mmc f+Z&K&XOAdyC"+%b[^C;dN E*9#EeGx3n7U+=(u6@ Vx賏Αwx14{>g iDV =p(“ S~Avt/f!'e-iK (u2 ؃ga;YMG8FӼH6WTPkZXkT+ j<Ն,\8, ,=q`8H4`yf_B HTWX \G0lh]<A +5 BQ\̺bĎfW׍KUDC1Sr$L|A|*K,VCp]L&2MZx2Z_it7@I4(A%Akimb!?Α; QQծR,AT*Qm:TO @k*5z'HDzBy">bK4wFO݅?%;9o\!ު=y֛Mw'8Ώ1?\[/k O=ɹ>E#Yw>J| Ex}brw,I^ӿBO勯{7Nq/a YR -2RTkMx\vV8 Hҳ>D 1L- P\]G<3Y,JfUdi:H-*K,0 OŰeH}J".NM"ݨn'W.#Z&P[*RQڤrBAL^Ύ { jUXT!z(CW*xUmbJ9P-ź9w f _hB"6T&"P˚4 #1oj$ZAT ex]"ƿU{F٣jDC޺-v͊jIWno,vk,_ԏ cπ(n$4ε+Z C$3O1QZ,v9//ip7n u2Gxk#J߳re\-۲0 B ĀifڙǨ=dAvz` ]?=6Y޽X5ygǾccce Ww/wf7/|<],p|c_#*g>bdsqO0o3oy8Hi!bpsXֶ,7|p7\Yڔ>r]ҷe/ \ܵ ^x[οOE~5zJ;uzEo]b&CZC.h=G*,a,>6>)]] oH1ar~vF\*b>4(2d ̵DBFV2A8sό1;3CնYՙ:Wf2lwi&o䋿 j $ d*A #gb&uZtd dbXhGmb#&$+W3 4T*vMhu L ְyNOVhVm{1Ϝs"35&ýE\-+<13Yf޹(+ jІHmIJƪ!9;bhp+)}׈p<;b<ºBP%dtNϣ%Q R y^B b؃<0S]8DL2Α bagd[']$a!~)x | ג [B. ;\ZD2PB#4]4ʥ| Oηɩr@ '3X\!_HSd9\Q1])pi?oͷ%&s}Ӊx EB+ H),kIE\KLxeE\-v [ttZr /|JxH-8}64X|OX,1&XRz9_8m7nQgwi?~cL&曗$;kƱc8ww}wG.JLOOjvf|2Fښ]VoTI.- ]/W d9un# 6{o$@1>V'QI*4H'M{61X?wW38'GxM8FύxO}޳WǷ𭉧dT6PqLVcyX(G]bJ)֮]Ν;<#bnn(ڍA$|܈gفFlwZ΢evnriSUj|W4(#hRGnXb_$$஻ZbwB&&&8| Ð;SDu]tԴuV֭[DF4z衎{uQuڶm[Gî951&5fgg.`[ {q1ǎcmJf kԪeICifQLڊ$Zq&rj|L!C.i2Ey&C ₁uRi C3hUHb'Fl0@uKUZ,u% -<4P!(D]N|hgFKvGQÇpRwUM.RdYn%>X*=."c% `ffCun x;6l`ڵuz;t:pfst7[lnYxűs.-n+ wi϶Z0"{$/q/de.w񙞘ov+;Tʳ P4kvƙs9:2I5 XViᩐӠFBLKjs.Mim+Hru%ui7i4y%ə))$M0𕳳}CYCIOї\s][YĮ5ipqr? }@ =֥Y !h4>|RIEv^URJo߾~zjvڵ$u}u+vY"sؽRp%0 [:ƹWi͚5Ws;JRݻNGZ.QJq=t\0v{mi}7N/%Ǖ!x9tSJu~9Bty q\ױTژfZJ#G@,TZi2R{8[QӘKV1?}%b|eQh6VL]#P R]HՏ13Η8ux7IO<|~~mvwN3\ԈBE2]W"6d܋_Ib5s{9iKY˫])岶&6av,ߋkgNr6|uZC<Rnh!@R# R[WMx' *]`~9#Bb[HZ[w1fb& Wdђ|>ͮ;z%4eL#x5z{Smz$VWCǎre/I>W Tud~R N@vC6U/TS)h9#l -1JD)\Ds iHoDMZ@ u1R3mMiS 9Ϝ |ɪUC)`72# '}jz^|i9?xYn(8*VjkS-_Xt9w%^f!PiG@*x(ND=~-(ٳŢЃeVdhϱj3@2R(=BWDc'PwZ+ZߋIP,.S"M" PD&]]3;W+NDgN۬)tT. ['qTG dC&݌$nbgv`aaH7!l8 Hcn#\ d2C!ӅoATiMNӒR #XY0AA7tffN iJb_%MLRwwNǗ ổi}ZbE_t]_ϯEX%ǯ]-7YOӴgCo{`{ h8ΥHJ3~iϠygV-J`d  m}+*Vm'ex0VHh7Ҳ~̏D5*U2~.ص(e+.]џnu/i>_ eS,9pO>$׮|?ky5iˇ?a|#"::ɤ$ "BoaI BXj 2M %=apn I4-f+U8ɳt !iFMLKPc-{oXǪݔN?LnhmJS.ǏMz70MAX jcYIbGp[Y ivd9~$-uk zwe,Ҍc(hGUJJSq[ @͡c13We푎ILO$L^`!4 t*u]XYI(bRQ+$ߛ#ו$ix1\ϥ410B!R@.$:wCQ1 <ĆbbM[:ǎBP z&鳣\2Z$evEn&D!ȮkZ7?k 4)O{81a٘ |AH2Ay&bYn( wST;dC=<}&C+&R" @lR@Q̖#[M6>3UV&i%2[k3Q` P T[2Q(f ^' t'D]KлH&c`j1 >gN%#xB7 ۅ(v\q/!㕴yhFHMH~|"VDQD٠T*110u!  qZHgvU38Åqvm8J/T9?8ÓO{ܔe0~p=s׍߼o}ƞ[^EG1fpTeRl(?@븎#E1kAD,|LS@G# c SgB2W 5 !$A+" hY O╷l|GNfi` &F`DDba)Vs[J1?ZaRܾo~`tlh"FG2)FWԧ}l~hNG*mt DՓ!+Xhcs Jl^cSAح&χD B\3v2ZM#j hniwR7xUn&#T=zb"V1.b]R J@*2>Q,q[&iE]!KRKOyOi~;ٺa3wm#+@hس 0sLM{H2MTe 6fZb$FGرsRLõ}d"@O-Qњ1RU"Ѱ8j3&vVȐHH6ٞP V>nt8=7M{0i56^dPq@\GX P-58Hq q CgMXi"ђaۧxC/bC*8?(u<' }l?CĀ#0Bn淽H(;Q;Nqft4Wvf,Cn|A4\%4yL} O/[hWywfA-WflۥѨ33=E֯_U,N䦛n&166!::THiB $*a.BDt]{t&@]ا1PIQHzbdˆnA&"e)54Z,b_'(Ujn֯ى9j.``z&oBWܲo?zD2EmJO3K&19Eed_9q[Fݭ0?[si0 ,X[:BO+2-Ҧ3$԰d=$5 Y3\MF_Wh BL> n%DQ뷓(Yt-$rbs=zㅥے 0 х- UfhD _E6&"?a,XBa(m/ R TLeMZ؅Ճ9v8Lw5'@{X?3>5D$MB!yd _Jظq>yz(M^M"$[ȣIQ70i=I"Yd$rcZ|\fhBzNZ8J(̜E$gk XtcmNYzeb%\ȶ "!-L`l&Gsy,hkIZA!&22335mH R\x{bܚV0:]\C:rXOJD04ha't6&!R1ЪUC_"eHwQ m=Ԁ^Hrz#4q |XL2ӳ|%N8S'30xyƏ͘B2I.]|)dl(wp+O>̻f>ϓ6 BFFb".PjD4-p]Bd""&LZxBNe&ىIFNr8~nYlJn}gc$cO-CHPc,b6ݖjҗIe3D2Lʦ~ƚԬ (H&ko>LIci3gГ9OG bO70@RӾwxr\-&\kոkg:{{תrWi1Zlk1zx'qQP!aR(-Xi/c$7x#F5J*sh<W"D%cg7?m{sXF}o+ɖ3xix(6gN=0I*8|s?Q?S8M4J8)n,RR)\*|){X9<ė8.bسg.\X6zѣG;&hnݺ!`b,ժa/اbKu;V/SJ1<<)v1lcU#)%O脚uo)%JRԱ;#qU\.N'OS\fff:EQtT2޾^ΏE \O E F"$Mǎ"D v'#A^; x<.4_,7GlB+ŷ|"˯d-̙?W|x B!T4AEQSԚ5zr 4/F/5R!zW#o~3l:,S&JQ]heT\MBOT QkΝ;TDRRV۷w XreG~ qN;VRrܹcrY?|_YrdM:aHoo/TD"qMAԋ 0(F T$JJ""^42Ti& \X, ]]YwQ:wVܺĦ.6E/)۷G Xi>F J`R^+[O˙sc&lo꽓GOa0BH?rjz!}H)/K@ Go~cc:hQV2rA7-WipC?z98;na >_~#G~&*u&Y{;13ۻB c?:G dOjHieFEW_9VlXK$ D`&E6$P^DM(zf,T#,ӧBޮ.j&f&Ig0ifj!]f3\咦icW Ʋ~N;]r~~-:=W˙8r׿U81 ci;$eR\ DYժݳG=JY z-"iZLNO_޸qgP ղ9wkcp=4)B϶;|jBK/lID,8?z??d޽ou4]'>!wr=b#?0 ٻkK~X 9_(p{&Zz: Et{>\X9$(*?MRFƧu?.ҝN㨘| R4nnظf#r y=|$Eճbn'MNek϶pvdy nVޑt&2SO45l72?"Veh[V!*0c X$D/ >bpGs-Id c ڱΚIΟkv[hBO֢ЯS ZX`iX&-&T +Z5lZӾ!- q])VaKfl;bqds6Iω$aVNP.eN覆T&gϐXHs679h$VN. r oxtfZOq]ɵD(vF!ua6ΟG8vėwN$8?:ß!"Y-Lc ҳh"͇mS=$Օ#NX=k̓=Rk7`6f b`%{Vy`s]+y45h/'.õȽ2ϧ?X>Frϭ*pLĽBP*x[LRi&K oF2ab&B0ؾu+C+8u8oz5{aΟ=O0:6Ɵ|,~ի矾%_*~~OqiJ=ƈC={^qF"I:OT\^}4M 䟿`br;u _"Ν{|"h(4]'R?/_u\RO7xO?ud0})lft<ؒ}icYX 'k呱8㙒O1\r=@FW*ED.-EH )i"C?ybl|.I@Bsn"hl_K. 6p '&0gQ9CW.M:*vqfYO}nXdtop_Wkw拿WՌ3 ҙiC԰K6Vd'ʆϷ 31]2@`Gҥ-alr 2yI4ӗ\v>6w\U O _i8&&[6Hv ڈK&wL})oO$SWW8ׯH$Z9kx. |!tI߻ޢEk? -bzYzc7oC1"5VOڢҦd($j&F ÞC+Zb>@|@ (*Չ(.`6S(Zp "Q5P5!= !TP4@<|O:Fja3`P|ݽͯ 19}8#\π|ɪ^x 7FEB"^G%܂Ɩ`H KA$QK`z :$jb&T "t8, ߗe _>N<G`?-Strjk4%m b^*ö$34BqJgFo+uQ*vi0t)a4#Ȫ 䛨jQSS_'[c9P]Ө2?HDȺE . #G&!"F2!ϡ Md Q%8c敄tFӓhIfX0\M \CBTZ.Nq3kw??D0hr6f[z*"J\2f;o^6h Ez E28a`PTO:I}uDU PQ5H8&&W=T]%exM[@'Yk:>E}cxxI "y (H$zM}YlˁpLbLƗrtgǙ>mX}EEQB`-t&9>bBn\nhGW_w17}c?25{ua>O6}wJP5?̜EFccFz[ CT%wݬ8$zzz_X""uAm;e=gbp+XSiFG=Jx=cxݳǑ \i !:'w§~!@\Fy;$M/>nx1|']SWxp6GEGx5=HϢ\:M w]\j]SUx<v]r&xwxu]Uba 50.C,`:@TJӄuUp!z`$kxgOaB*D GSL'f?bC<@ S kT50='hiٴ50PN_7\|Pd9) |$.{ď+HYc[\Ogz:\>TV Km6V2>Osz{ݏGl*XuniP'>{EU(3YHA5|Eзg7Ghl?4Yխd#G4е \'̾&YĢ)LE'iS. R((lnRˑ> 9bޫ*}!}v{k/WJ/y{x4Xs a|TLF4KӋcC\{:/݉4G}b`0ʕ+GeRU-[}Q}|gŊ3 pws~z,ןqGC ,+98< .$XjըTRJXt(SUիW>}}IXu,S񄪪]nT d2GilذB0+VTjtA֬Y3fuYlYg(JuropǾŒC᫿\L;N`Zj.a bs}Gd:d~1N?$ry#&`vyt E1i:>U 8x*7:K@h>BIB 4lb! b"[ M04gx`˲hml:ZuĭGt>}!Bxkӷ҉>c '0Ns`L_OH=A767747N/~U+ ݾDؼ_/?jV얟?f۩&USM*erlV5TX# &L`ɒ%C=D%Dъ2*O>$LbJNAww7W>zTnyoLlGu]MR*PaYEVb@*Y6mE(]<4M#N=otT(ű{5@UՊ*Dc%~PeLGVUTrJc q4 9K51߷+͓󫗲d\ĸ鴚n\/e_,{y}]Ǩ{3l۸mrΘSKރJ߽Rˠ xA*X<42FbDEAJyl7\K00'YPKy Q,fP,wl+le.7x♬MIf80~p%;s![b0[%]2F2-Kۢ>?P--:S:ZHh@a V.ǝTYx!|4"d]R1݈RUJ݄eĦk>Ma 6ؠZGdy[q'{={UT(};|[y5%=Okd8=D4UK,>MUMSvr~J肫Iފ1̴y6r.dɓUGr Rx珮ԅ3jU/SVc^9|z0%W.^jż7m/ٸ=v^VYKv@.c |ߡs6:̧FTM845)LnMzH @JJl_=;lȾэ|>$Ё;)̣~oyb:}C H?q6h<-GP{XTg5bg2Ը7UeD)dh}g"6k:(b CѡpkPؠE8R;g|յƋ)-]A$0sΥC˚7R!zِR 顇 ,p.!B__9‘ ÞFT8+OدuGhj ĘJL_gsp5Iޭ;9"xgmj6~#+9]~W{p7<~̼|6/\@KK>Ckؐ0tN7qZٿ[К$,$F|x#@h׿5-ܑ̓_eI|wsSdlW}r Sr`=|ױvetYyZ{ǛgsA{FHLPmmbE7E*QױYR)4)I^|_*DywJ^9q9rn!s?}9diҳ|ki^6\;΢z:2 f4k]%tn!<+|r`P%K.0cr* *quX"kp'%8ytNqU"Ce'1kBK<)1O/t<.:BNyMA)좁X--f_"#Yf0vWoΣ .y@n cAJG&T䖈$@pI~ #bI$P\1BN2-.]mL7OAɡQiA/pw>+&3kTW-9|RK%rKa/I]"R}zyrm_14gx&Inm?5qBÇ9 7KRF2s<}p΅Yfk#}A[[G6쥪 b!h 'DW(fjvwC2ǡ:^ΕN4(s:EQH) 1O UyC"/BesR3?؄dg7=kǷfsxfI ]Sغe\<f!<HP;mriߵTi{5@ O~Fۅ̱cheZJCU$>bל䇲X9A"`NFƸTES0mFEE8u=+ P9F@QӢ/R=g}W_|lf|sݽY'Җ޻bDZqɯoY7G6t!7dfSۿMy銁1|oq9CtTkCkSK24&XU#=C{0Ux Ɂݽ$AҖ" &Xs#c̞/(]oa߾,w˻Oz M5]؂9mx_GW&Ѓz?!W|'ϮY24 .C` Bz;G UCgkYT)r.?Lׅ3eˢi4hŹ"Ӧ-"۸N CAfϟyu'BV$kC:>ɚ ]ĬH,!BP # O2Yt]nJc:TO|#20 j||& NV2PAz ˮdj] 7 \<| (}@/ZH&ͤe7ypGx4?W9PŽ,㎋t|y[ 6r%_ k'?ˮ=7KPts׏si>F!tN/9汿|{~w1?iG YJ Zk) tv&X#ӇKq13fP_c*ւp))95IUU"s J$'#Kƒ>_3~= Q6b"Ol̥of@+C@|=;-j(Rvl~guN/:#Iȡ< 8AU#O m^PZNC'R sSSSE(TE4P$#=I#l@RaoɵOÙ"S$~4Y&{`re'=EE$ZCC}9&~KW` +Wn7oSg61wu-[)Gο/4j]3>qao;r Wsi涯~-~3nZ7fKaR6RJzzz*yX!ıf2,RQ뺎eYEAJU)y nSܿiCYclx_˺Mjf̛Y ߏe;68XS8:xlW}G u 3s"62~χx^!ǛvUU+X,F$wPW]]]UM7G}>C_M_~~lVDze-װ~PsO% {%umW_g@MY?H[%Xu,BP[[d3X 0*f;p 1 A-Z'&LK ENC7XqՆǴ lD\GUJD?$%0yǷ8Kvߓ;$ndAc&[Yt9p4CHwbA)jõ{!i$9uCh/1g<"UWm3s'Lz& O|N:.5fu WLgbT%M'hD)SU5hJ#q3*nN:A,*tx$ A1Vg UO(b<+86LT(cpb9[]ץn̮Ol9C*feynٴo=9%KO6^͵C"x;usD+L , 9Ǎ.q躎jĆSqJ12|o3eF#!Ä0ya!r!;X~7.X(I ]圕ݕcY<[1Κ,ϜAPUOa_SN8x&y񫝇 Χ39XFE`:a:Mww>S:J(ŋC<xLL18!?eeWy [{:%4:_zKR &Ԏv%swf !=y9C p2w-ljsaCCH"_JOTDxKO) &긮J.`]*/E˶Y jPgH9pǛ$aR[[;j^Rs+a,&Wb;;f{.jv1 O~׭aoE~Kܿz ӧ(BaC7p$o[gLQzܱhz! Ge揌`0^B$sN8ƍHdXdÆ 2渮˴iHR1A/SK:2x~zJ#ޞզ*˖-q#Lе2GWQ[qŠ }@{>/霩dYc K9k:Lh"H6m|3Wpl׵5@`!)`4mݺQyzG"(9<|B1HTyGH$4b&qڒ72j6xSD öJ 8"$֓y{V_h!S) z/ߚ/3f3c_+])֗lB௿ςYm/hno@eLX:$G% p!Ա65ZRt7XZҙ ŒЛNsWNשl]+%9'"V±.~/rIM:jZd!JsyU4hJ!4eB^'g2HS ò-Jخ7{nmk%c{n>\Q._Jr<u׬Yb!x+f꭫cTv5Mk'vmc$4v=)oONLلI>t]Ezѣ E!ʻBQl͍#=)R^ӓ*x2Q%Hؙvu>m"#I(U;lEH:ZZ)4M>d29 #tvvp@ Pq32ʺ;qӧO%W4]ץeQS{u%zˑ|ƭҮ(WTB+L8Lfα^6ʻ{--- 45g˻I꺍T^1S9Eӄ d25B@4q/sfFSW*8.P]]]Eb$Q|( 555 UUijjZZZ( ǻJ%:&OHSSSShkUJ4_1Mh"?Wl(̛;aJf}ߧ9gG D9b)IDATG"*lmmhEQ7n\e9on!˽l&LPٯ<,X7D"1 % ᙇHV/:UBē`Y),Oķ% HM|$xDUG/xYצGu)\>{㏰8|0ilO~7rŽLC7k ` T Ѓ.(> "RG" P(Ĵ589)#OsiR BFG“ UhɥEdtP X"kR 8CdU^pGEtl &6JD7D!Z1Sg(AHEh,u &WYx1 ٹ---cع%J%^SSC(vzٶ{mm?G&Nx7'N+eg|߯8I Xj%'ʆgp !\b'$˲m{u)ǿ2M_`3/橧6Lλ+ BY*-e@TF$%F@aAKrn钡;/ )5RCw8?ku\aRmϕqM䖔+PHQo307E%'Ԩ,H-9,ε,X[*CE;231l56||R:\8BG Z1:롢`۟1b| p@BS_ 6xFBφAv,w|s*J'cox}YqvMHGbtJJtWZɣ +3 |#Oռ_ս.'}/)uD63.*=0y8H(ܖ-,ni/Ux+-ZИa-;<4o~2$̔Yhzreeo 7ά&.B!iW]Δ(FfHO+G՘q^>3+ *3-J=ӥap^(ylFpӛ"dQ'mP{5Eec9Nls"3imi ȋR#)q-vtIL`-s) Jjs"z9)Kkfc Twٳ8:r2+TcgQ;{s)AN>ᆐ>a Rob1e u\VoOx!AXBiHK @껑`'UA7pGnV/S bdKȂol [_]w݄wwOJ Ŕ,l_lOtyb lKIf65PdIk&%{9qWVEEkCvHA"~ˆ-?eXڧ@v""vyH  붿ph[^lȣN1J:H.U,*ɵ˟y7 xu̷)a(xV)QW|-]9$eRYq'yO`YaEQLv#H2J;MW0[k6CldPnxi},?|U hb29v|%kوfKh$"L"L6#!#_F`mIDevpZV_MVHڑ}IK=/rڤʾ[=Ag?x.Ų?-P>e4\s0N2oعj'#fo06rSdqT3)Rx|mk#beo ]/|xC&&0Fj㹯 Ll:eob+LR^ޜW9m}0J>H8]Ơ;0pK; aϷAj)'ktȇOA-5oyu 9g6K XĠz?wQѴ!HFiK:FQ3!h C'*]%Mpꏶ˛VɥuV#N/ 9thL0{g\#ht nt VW1rʲihf L7vا_*Jmoޒ/K Zn$@3ݠ@Lu)ێA :bP^ttkJd.w1d۲oFJL|_l|8a=bci*eV V{QuC0dԭ=~xE,cZ#y{ZVE+GTe/CNACjGb֍*vhGX´Uww.=4YkRI c$@-O K?@/x/#]O*3uoP~gE<GbF{&'ߦ`W]'` _+5~ٞ ] ioûK]dyy5&e]15{Vby-U}LJ#24Z*Yjv 2K%vo.{w:2l2rTxbmHcmDPź O ZWI(0O'.lc>Df UYs&;z 93Ӥ#߸ 8IR|C>5B雮tTt2~ĩB5'oRjN50dȳ\Uk^F ZKNtHjzZ43V $<],L&'/|iTE #KCA brk2aIfIDmq y_))L[d!խc=PO;Y+tdNR'XQ ƶQ5- A+%_.+2P-ؿ-RȴF.8u;j+PA4M+RKW!a+7Ye9 Sl&Ϭ4BOD,`~pj-h[Ċ+jCa)bzVIeq ~qd(*#8<3e T&olWySDE[ ? GP$tWY'vU5V=$j > rYXWӝ{դE徎1T4y1p {P^s)p )e)AA@Ek>d(͵1~e[sRR>SNqGZ':"u> =\B)_etxчg1k܄D~ bca/êk,OTv%!EƳ<~MMo*{ޯ]ZsnBH7+GꕡXq,rT:>$b; >(x¶U`2Ysp <.3Fk0j8|/kr굈 JV{=1¿E{;/63 yI&bԙ̈́8ϧ<̅ AIkI+n>$ew6ja[7i|Mі4G6{׍nGC-$w>!%j;@ t6p+8o.v _E@|n7EN8ZmnS4$j~?6VP9t =<;-Y9ߤI2S e\@4p踻W41>.;v501hpNZ%-q;hO*¦ P`WϨ)\tޫR(VW-?*1lLCgԾg}䔠w^!W7Ҳ#d؋_câf ƌ 7V(Ԙ|84yҲBxNd3M T'&R\jp.ęvje'|4_IjYKP0 Gncl'm4>I>Si!~ÚxVSGRv( F2o1'y0JlijNin0 Tc!]2 ZbVg^P.#+i;?s%3aHv.QJnVnTxqM,ʓauP{ ƎŇw]fy2qq5@FȌX$YR?1mxPN_- ]BV\ ɳgӝƽH ?TH2wOċcxG1ʵ6y:$~%FІȞo u.{ɄPF@4O0͆xcDi"4Jis9rN1]NE[тrLY)>@%%VHT.lUŠ |vN~4$#aK:u{%~,1htRت{f*r1au,\qg,l"]GЊ= wRT-Z~oɷ*Jz:k7\6%~ĭ慥e\WG+tQeh V&ec`ϘchQkP?Enf/2%{$%BzWTH8+ aϟQ̳岡℉')O Rg=F~]09Qr T@q-/D8]?O|Srr6VJEa\>5dvgю1SvKeTh*y =;lZDe SMu/>MOvh?VYJ')BJ=qiw'JKH0=pu9=F:EY}2+eK$ 8ճeXrޡ&PP]Z,4x $bJxTT#]-63;wapww0; ;YI+ݝJUkwN$@T {;$C IIBz {PZBG^Wi84,)+D癙mv,bgccb "hblbLflN$!)DRTH]"[me$4U_0U!R磩I0FjPIjIhS JW,'c yXjaͷW[tW=ױ^ @ρ2⠿6kkݮWp:&eBBc/l\Ƒ]BC O/ *Zmӡ(lٜ\ʲDy~eX2wD/1/\]N9/mKt1J9VoYU.H,f|vl%uΧ +"jFʽ;YhUZWܵo&Oo^D ! @'UϿqƞdu]bh'nc3ǥt;w`~ēNbUx~9xSOUowu>tLB@n4we[]ddbR:0 A*V}TH)ඛoD)ͩg(O}jػwݣ|Cz>Rᡯ}mᛷl~xY-mST @* Aࣕ\@HT>Jkd( ٳ0 ЇOUObinnΎrcgA?y6l嗷-+84V2M6m܈eYamXM2v*c#w sf ]y|k:AM?<yKRCT"1yʔ $455GJB%QR"BAAH(b; *S,ʾ /[tqM۶].WhN$B)M"4Mz0 عcsȔ)S&Fss3lD"lQs=۷+۶ViZ8ŦaH$mRVCU;3::%QLH&Yl \JAL: fG0GIIFX,Ps(#X(pZk(mL&CWg^~=ceR]]tL&I&O!P(pwm6tS -{6m:}D޴El>|JV> CCR(%.\۶ d2Icc6rXI)1M gR0m4uG2uT#i-'!DCaص#v~{}w[9QJq􃘵}i5QXȰntDZ bu1@Ci;:8'0LԔEK9uPJ_R'0 IM,dBg2R0 Ca(vءKBק-ZD&1 %ZW1́Ӧ.׭ŋY|e̘1D"{@IE&AarA:!!ISPVR04ӟcuض=q|<hR4Zk hl>9"%a4MyYu70:: |GkQ,,%L&׾ 9=o|,`Su,5ܹT*Ŏ;xPX"q8D!Qi`;ȻjS ]vh'DhjZ[Zikmn Aǝ>o޼[n٨Ν;ŦMa1GlF#c_4_ .]˗o?/.^LwOON 38}čTsv% bA0 ks-048*Һz(hkkӅB5lV_Շz1ZeT*ao4;wy'ӧOgѥQn5fۮ0f<۶qn}*839ʎ鋟߰5WS.ܢESK=K d2s=::<sil̢f јCtvv"c'H) RUR4Cd2iRxOgreYT]bǟxlADk{V1q$$wanYtݽ^ J"BCO:()E;w`xp{Vqh C)Wp,َCJ}i}H---mc446,84\$ yUEƸK;mY:lzSOoa0>>N$SI'M_?A4ŭVI _+LJ '@XAȊGd(m[:l2W~/<@.g``mmmr9 à\*k. >+ NI8YB5n(]]dbUY؆ұ,la^gg'Bt:Ʃޱ)S"b,Fk+J$Sma 0׸z-h-id<|naH" Fg0 1M~'MD0M : Rp/}_*2 _]c+#J@2FWg2 >޵4D k)SU4ZL ,k1-$UGl6 Қeٴqlynm0ضY~3/C)En4_R/~_{T}UdPJ36T*A0MߏX{/l̛ĉH6mp yQ47Gzce8H))!% €KRu%C9TazٻwD2QBnfjatt485ҩϠ_+~zzzxy˖ol۶C4$F_DjKp9G>S2R 4ٳkgTIRPJ<#J>:aH?:}u]֭]Òo t_ĭ b@\Pȓˍb6]y5XeKk (vDz nn\fv,"Lx!DGePD hmop+ƃ͛6"o F{ҢC)ٶ};i ͔JKFURNgH҄%"1A txCQJ6Fww7ik+$ȱI(R R4eFOEYHi@IQV=4a0< M`ʔ̟2?<8AfCxax0gl{>?j| 3 8-\eLذa=,7lϬ|j[#⢋1+;Xv-cڹ| 9fN}]3M>u7\\sE5kػwotk׮c/3}}}  ns]5kײfZN-[+~;0A0 x'fʕV[1r)2 +V\ /r{CZ\Oń>fϙ9BT*9֭[1-+ZT0Jr]`A@&\_XX>:{vR.Sٰa= Z~]uيeŷKlp+W]u#{n''pXzf8=…gѢE̝;02DmO\"#J)tML2);l&0<}ԑqzϤS(K #hjiŴL?I&d.ZN}{ xWXӏ]dɚ|PAMg``p}s;g̙3qzypT,fڴW@.. C?D2 e!V=*V\I[km?%ou ,?~]ssC{wOss;.xZk:,nVOJE" _Q"eT2$g8)y:h)iΌˁKo_t<ꨣK^ފ~x=^x?rgp9g}۶z*tHRuW\0B')"aQAR֮;oN:)ŸXNn{U~֭[w1s͛O4d6uC{yH)ԧ>e^@1FtJQI$S1y1G׉{[/,<4,ˢqǟ@dڵ_xZOjoV:Yc3)A*i Pugn&d:hLCJ\w= ihlzC|? ' B0|ɅWfÝɤRbiF[ԚMq AP*F( ٰ~=39$n5Fu'R.d8  wnz{'q3_ڴ'z;co֖.]ʐj8$޽tuw344H6%ϳzJ>Ab7O$bLӤZu}[l0MДzz{#_{s䥩7jgQ,hnj" %wd"Vq#hw$n4'sHdA)&+?Xr/~Ë[cu9D @IҚJoJAܿs+W6f[S[־_?Ƈ[Zg76f[Եpl2!đe-i73Wv~r,7zc:T,gWtwvO{F箿8sT.y3܂*h ϵʏ#i۷nزmc+?Ӌ2`͛;vmmkifZJTt*s!˔WYi;+%ɳϼ#SfZ[Tr熊g_Oz|B:RU;+dK}D~i̫sek+TypM~wUO}>P%VO!G@M&e_}Zm]@ƒWK]gW] `iɪ ו\9Zozn_nZtZ-:G$Ӕ^N(N2/q=eN$\>E|lm.o 1ۧd0iߪ}4yA|MެsJk˙C\h×!E۸o[4ntӟÖD2zp{'"\:C<+P%%vr|.ǣf+ۛ 9ߏʮz{OW9׳M=8Ҏ]vv9`t饞u S:l[&[e_$`g/)PyQ<~if6uh,xh`_ ?77bz3"qaE OE?7≉'ƒRYUf\14殯Tr>\UY iNXvBrEʈ;DdEgb( r\ԪxRb8i5ry pT.zkr,s(S-1C7jG4Ԋ2i4et*Yl@jM)n2NkO+"u5Y9LTU$j2"[alPQ"#< %jmE7Mw+9P_.FVaSRϸF@š ^Jyųuy̤sh:%þ25HX_6ʮz3BC)\G?#a].aqS.GeױM}űʜ,!-°?7ÃQMJ5M$MQ$U+ʽ p9nu˖S\L?Dʼr+" :n焻>|_F e4u\N%Ф(:řNk`i^:`kϏ2-]~&ܚMJx3D`TbQ7dױ0i `K8\mkZkYz{+JGXt547Tۡrs$H^$"-۪x%P֠O=ǻK,Wk}^١e^[es{ NʵM;\,tR=^";%C Τ*Yo!,25S& azP3\vH|K&eə |6+PnK@}]4YRQj+ץB6I?)*r`mqgڦK5E ot!0ͬXS)֡YvPM&Po HYW~bNIQ`p7*}cevmiY);GuK9rYOFDnה:G^=@8bfH6Q|{S_(ooM~R]&}|x.Tˡd/&Wu׍i^%W%o שѩC};cڅFXOHXJeM*|n9zֻLʇN8ASTȡ.\V7*s 7]RIh/_-q0uJ~=TQ"_i#oceEuiSSH@P6W_izyh̸#ּs+/nv.0 ~f˩U67GCľgXp"P;vܞcmz6kIW=Pi{)Q v iX|͑nq1Ctwk-Kcu\њ*jICiK݁U: ?X_LkX"X;quu׷ 55ǏS)39xšzL 1LrcY"v9 R#k`t/<ػ~ד9y:ZD:d[yق Osx6R#*Z[?Fq,"Ū-IT.*m.mu+ :Lg(D5nޓ(. Q$*`b+:s'l92} /.s27WKX<1Җu|yH%*+ hߖzޗo_uU7&|/_7fcjh?r;BFT,hK#D` %LYw>k@s#ilt3 OʮNsʼz0X}4Eyx!4H u4ێߜRc džbO Ǘ'h>߭@["I95m3vbÐ^ƱLhʴ].t^ P*˚IBRgYX3|TVy@0juoF ]F+JsoH> i.TxS!B$e.6%v HX/4::/L}U rie=޸!ߐu : =i޽Z|/˽Oִ7h\qq+Yd9 J;K0CoG]g6_ʮNms97Sp4 8ԛgL5R#8>Ҽy(.º2iGŐVE(KӔpB~Siwb Z $6į&߻@I2"P7| 87Cӥ+v|#`;[K3Z ${&tTD݄l`]G2h)^p=NiQ, U׆M/r;y18 XuMáIi,i@b?ŒpXK|«[y\ng_5A`g-3ߞd qGu{{jId^8BfZ]l CoYZug+]F+ٗX y=J84?J.4Ra<u㒃]O5Uaȓ~ eDig8g%+e>ZOaoANaiGSj9mokyغg?P1+e-f4aT|[޽W?0a\-<3^+eo-Ggnhڜ/o0N5m rd[ūUu$7a,mˁx~Lf=e5(D]E]uWʮI5[8͒/x5MF/x.ui8'{M[ֺ5UqI)TQ `iXKc Ӟ irѫY'Gh@oo>"-?XJC 8>0wf+=Z#v./>6~jݺLv8m4͡qesK{ozb(~-i; gƓtByNy\Q氎 (W5~v<q_ jHK6?0C"Z{׵@ԕhOe~ W (v,[Mp;0ٜQ{ kP+E5=Jh~]z8{@٨W\ok}@>)`rh&Js{[2w% 3,S(zϱ8w-g@me}rbX2%R퉦횖UC< J~ I33*d^u(fX2,#7cYF&M*~Np#rtnԌr4xM4nY|W+yRt(*1 <Ќrј7maQLCsXX/?Ё*< ]*@>\W_=ix2Y@anӀVv=ɰn')"` f](]L$"v)7IENDB`W d< x PNG  IHDR9pbKGD pHYstIME(5qIDATxw|\ՕǿMU̓4Tc@Pm 77' B %1) dٔ%.KL섄jۡVF%YҴwH3x~H={{946{z/+ڮ[)" j vThKR_mk]Z(bzMquc=ջW"@.x3ƸE7-_>dѲXEE[nwt^SMw8wBuLsElmk-\bPG3u:;_SKEXwklLX+?8a4|/m˻A74.cCxqL|cz8xK!ZZ ,D [(Qc,5 Y0033.html Portable devices < g0032.html Smartphones and tablets 5 Y0031.html Rendering videos 5 Y0030.html Rendering videos @  o0024.html The multimedia file browser 1  Q0023.html The timeline 0  O0022.html The toolbar 4  W0021.html The main window :  c0020.html Interface description 1 Q0016.html Style sheets [ #0015.html All shots regulations versus current shot regulations R 0014.htmlThe "Visible" property of blocks and the management of the breaks 6 [0013.html Dynamic variables ; e0012.html Predefined title slide : c0011.html Functional principles : c0010.html How ffDiaporama works  @V$\8|@:  c0102.html Manage devices dialog ? m0101.html Application options dialog D w0045.html Types of objects in ffDiaporama 3 U0044.html XBMC nfo files M 0043.html The configuration files for ffDiaporama > k0042.html ffDiaporama project files G }0041.html ffDiaporama command line arguments J 0040.html Technical information on ffDiaporama P  003A.html File attachments (Thumbnails, nfo, etc...) D w0039.html Video standards and resolutions . K0038.html Container 0 O0037.html Audio codec 0 O0036.html Video codec 0 O0035.html For the WEB D w0034.html Multimedia system (Home cinema) Dv=bs< DQ0 0118.html0 Set first shot duration for a set of slides 9/ a0117.html/ Edit thumbnail model 5. Y0116.html. Ruler properties 1- Q0115.html- Render video 5, Y0114.html, Music properties 1+ Q0113.html+ Manage style 5* Y0112.html* Manage favorites 5) Y0111.html) File information L( 0110.html( Correct, reframe or cut image or video 1' Q0109.html' Select files 7& ]0108.html& Project properties 3% U0107.html% Export project 8$ _0106.html$ Check configuration 7# ]0105.html# Chapter properties :" c0104.html" Background properties L! 0103.html! Add or modify a predefined title slide CCS%S!eC D +#img/AdjustW.pngDAdjustW.png C +#img/AdjustH.pngCAdjustH.png$B /'img/AddFolder.pngBAddFolder.png"A -%img/add_text.pngAadd_text.png(@ 3+img/add_project.png@add_project.png$? /'img/add_image.png?add_image.png0> ;3img/add_cliparttext.png>add_cliparttext.png,= 7/img/Action_Wizard.png=Action_Wizard.png(< 3+img/Action_Open.pnglJ"f:^5Q ?7img/VideoMask_120x180.pngVideoMask_120x180.png'P 1)img/Video_File.pngVideo_File.pngO )!img/undo24.pngundo24.pngN %img/undo.pngundo.pngM !img/tv.pngtv.pngL 'img/trash.pngtrash.png)K 3+img/transparent.pngtransparent.png%J /'img/Transform.pngTransform.png/I 91img/tr-00-01_small.pngtr-00-01_small.png-H 7/img/TimelineShots.pngTimelineShots.png/G 91img/TimelineBlocks.pngTimelineBlocks.png%F /'img/TextStyle.pngTextStyle.pngE )!img/splash.pngsplash.png#D -%img/sound_KO.pngsound_KO.png+C 5-img/SortByNumber.pngSortByNumber.png'B 1)img/SortByName.pngSortByName.png'A 1)img/SortByDate.pngSortByDate.png'@ 1)img/Smartphone.pngSmartphone.png)? 3+img/SmallYellow.pngSmallYellow.png#> -%img/SmallRed.pngSmallRed.png'= 1)img/SmallGreen.pngSmallGreen.png< )!img/Shadow.pngShadow.png!; +#img/ScrollY.pngScrollY.png `f8T"Z(`/e E%img/Transitions/tr-01-05.pngtr-01-05.png/d E%img/Transitions/tr-01-04.pngtr-01-04.png/c E%img/Transitions/tr-01-03.pngtr-01-03.png/b E%img/Transitions/tr-01-02.pngtr-01-02.png/a E%img/Transitions/tr-01-01.pngtr-01-01.png/` E%img/Transitions/tr-01-00.pngtr-01-00.png/_ E%img/Transitions/tr-00-04.pngtr-00-04.png/^ E%img/Transitions/tr-00-03.pngtr-00-03.png/] E%img/Transitions/tr-00-02.pngtr-00-02.png/\ E%img/Transitions/tr-00-01.pngtr-00-01.png/[ E%img/Transitions/tr-00-00.pngtr-00-00.pngZ )!img/zoomup.pngzoomup.png#Y -%img/zoomdown.pngzoomdown.pngX %img/zoom.pngzoom.pngW )!img/Yellow.pngYellow.png'V 1)img/Visible_OK.pngVisible_OK.png+U 5-img/Visible_MASK.pngVisible_MASK.png'T 1)img/Visible_KO.pngVisible_KO.png5S ?7img/VideoMask_162x216.pngVideoMask_162x216.png5R ?7img/VideoMask_150x200.pngVideoMask_150x200.png Jj8p> vD|J/x E%img/Transitions/tr-02-06.pngtr-02-06.png/w E%img/Transitions/tr-02-05.pngtr-02-05.png/v E%img/Transitions/tr-02-04.pngtr-02-04.png/u E%img/Transitions/tr-02-03.pngtr-02-03.png/t E%img/Transitions/tr-02-02.pngtr-02-02.png/s E%img/Transitions/tr-02-01.pngtr-02-01.png/r E%img/Transitions/tr-02-00.pngtr-02-00.png/q E%img/Transitions/tr-01-17.pngtr-01-17.png/p E%img/Transitions/tr-01-16.pngtr-01-16.png/o E%img/Transitions/tr-01-15.pngtr-01-15.png/n E%img/Transitions/tr-01-14.pngtr-01-14.png/m E%img/Transitions/tr-01-13.pngtr-01-13.png/l E%img/Transitions/tr-01-12.pngtr-01-12.png/k E%img/Transitions/tr-01-11.pngtr-01-11.png/j E%img/Transitions/tr-01-10.pngtr-01-10.png/i E%img/Transitions/tr-01-09.pngtr-01-09.png/h E%img/Transitions/tr-01-08.pngtr-01-08.png/g E%img/Transitions/tr-01-07.pngtr-01-07.png/f E%img/Transitions/tr-01-06.pngtr-01-06.png Jj8p> vD|J/  E%img/Transitions/tr-03-03.png tr-03-03.png/  E%img/Transitions/tr-03-02.png tr-03-02.png/  E%img/Transitions/tr-03-01.png tr-03-01.png/ E%img/Transitions/tr-03-00.pngtr-03-00.png/ E%img/Transitions/tr-02-21.pngtr-02-21.png/ E%img/Transitions/tr-02-20.pngtr-02-20.png/ E%img/Transitions/tr-02-19.pngtr-02-19.png/ E%img/Transitions/tr-02-18.pngtr-02-18.png/ E%img/Transitions/tr-02-17.pngtr-02-17.png/ E%img/Transitions/tr-02-16.pngtr-02-16.png/ E%img/Transitions/tr-02-15.pngtr-02-15.png/ E%img/Transitions/tr-02-14.pngtr-02-14.png/ E%img/Transitions/tr-02-13.pngtr-02-13.png/~ E%img/Transitions/tr-02-12.pngtr-02-12.png/} E%img/Transitions/tr-02-11.pngtr-02-11.png/| E%img/Transitions/tr-02-10.pngtr-02-10.png/{ E%img/Transitions/tr-02-09.pngtr-02-09.png/z E%img/Transitions/tr-02-08.pngtr-02-08.png/y E%img/Transitions/tr-02-07.pngtr-02-07.png Fj8p> vDvF- ?'img/Arrange/aocenterh.pngaocenterh.png+ =%img/Arrange/aobottom.pngaobottom.png9 O/img/Transitions/tr-icon-error.pngtr-icon-error.png/ E%img/Transitions/tr-10-03.pngtr-10-03.png/ E%img/Transitions/tr-10-02.pngtr-10-02.png/ E%img/Transitions/tr-10-01.pngtr-10-01.png/ E%img/Transitions/tr-10-00.pngtr-10-00.png/ E%img/Transitions/tr-03-15.pngtr-03-15.png/ E%img/Transitions/tr-03-14.pngtr-03-14.png/ E%img/Transitions/tr-03-13.pngtr-03-13.png/ E%img/Transitions/tr-03-12.pngtr-03-12.png/ E%img/Transitions/tr-03-11.pngtr-03-11.png/ E%img/Transitions/tr-03-10.pngtr-03-10.png/ E%img/Transitions/tr-03-09.pngtr-03-09.png/ E%img/Transitions/tr-03-08.pngtr-03-08.png/ E%img/Transitions/tr-03-07.pngtr-03-07.png/ E%img/Transitions/tr-03-06.pngtr-03-06.png/  E%img/Transitions/tr-03-05.png tr-03-05.png/  E%img/Transitions/tr-03-04.png tr-03-04.png 9xN"zIjAf9*4 ;%img/Filter/Oilpaint.png4Oilpaint.png*3 ;%img/Filter/Negative.png3Negative.png(2 9#img/Filter/Implode.png2Implode.png,1 ='img/Filter/Grayscale.png1Grayscale.png$0 5img/Filter/Gamma.png0Gamma.png*/ ;%img/Filter/Equalize.png/Equalize.png&. 7!img/Filter/Emboss.png.Emboss.png"- 3img/Filter/Edge.png-Edge.png,, ='img/Filter/Despeckle.png,Despeckle.png.+ ?)img/Filter/Desaturate.png+Desaturate.png** ;%img/Filter/Contrast.png*Contrast.png*) ;%img/Filter/Charcoal.png)Charcoal.png.( ?)img/Filter/Brightness.png(Brightness.png"' 3img/Filter/Blur.png'Blur.png,& ='img/Filter/Antialias.png&Antialias.png)% ;#img/Arrange/arrange.png%arrange.png%$ 7img/Arrange/aotop.png$aotop.png)# ;#img/Arrange/aoright.png#aoright.png'" 9!img/Arrange/aoleft.png"aoleft.png)! ;#img/Arrange/aodistV.png!aodistV.png)  ;#img/Arrange/aodistH.png aodistH.png- ?'img/Arrange/aocenterv.pngaocenterv.png ad%h+z;a4E C1img/Text/text_indent_in.pngEtext_indent_in.png*D 9'img/Text/text_bold.pngDtext_bold.png4C C1img/Text/text_align_vup.pngCtext_align_vup.png I7img/Text/text_align_justif.png>text_align_justif.png:= I7img/Text/text_align_center.png=text_align_center.png<< K9img/Text/Shadow upper right.png: M;img/Text/Shadow bottom right.png:Shadow bottom right.png<9 K9img/Text/Shadow bottom left.png9Shadow bottom left.png&8 5#img/Text/outline.png8outline.png$7 3!img/Text/normal.png7normal.png"6 3img/Filter/Wave.png6Wave.png$5 5img/Filter/Swirl.png5Swirl.png 1i4 rA a2b1.X Iimg/MediaIcons/16x16/image.pngXimage.png*W Eimg/MediaIcons/16x16/hdd.pngWhdd.png2V M#img/MediaIcons/16x16/hdd-lan.pngVhdd-lan.png.U Iimg/MediaIcons/16x16/gmaps.pngUgmaps.png:T U+img/MediaIcons/16x16/folder_home.pngTfolder_home.png,S Gimg/MediaIcons/16x16/file.pngSfile.png:R U+img/MediaIcons/16x16/ffDiaporama.pngRffDiaporama.png6Q Q'img/MediaIcons/16x16/directory.pngQdirectory.png2P M#img/MediaIcons/16x16/delayed.pngPdelayed.png2O M#img/MediaIcons/16x16/clipart.pngOclipart.png.N Iimg/MediaIcons/16x16/cdrom.pngNcdrom.png.M Iimg/MediaIcons/16x16/audio.pngMaudio.png4L C1img/Text/text_underline.pngLtext_underline.png,K ;)img/Text/text_super.pngKtext_super.png(J 7%img/Text/text_sub.pngJtext_sub.png2I A/img/Text/text_list_nbr.pngItext_list_nbr.png*H 9'img/Text/text_list.pngHtext_list.png.G =+img/Text/text_italic.pngGtext_italic.png6F E3img/Text/text_indent_out.pngFtext_indent_out.png g6nGe wiki.cssewiki.css d /wiki_img/Work.pngdWork.png*c 9'wiki_img/Wikipedia.pngcWikipedia.png(b 7%wiki_img/Timeline.pngbTimeline.png$a 3!wiki_img/Schema.pngaSchema.png0` ?-wiki_img/AutoFraming2.png`AutoFraming2.png0_ ?-wiki_img/AutoFraming1.png_AutoFraming1.png.^ =+wiki_img/Animation_3.png^Animation_3.png.] =+wiki_img/Animation_2.png]Animation_2.png.\ =+wiki_img/Animation_1.png\Animation_1.png.[ Iimg/MediaIcons/16x16/video.png[video.png*Z Eimg/MediaIcons/16x16/usb.pngZusb.png8Y S)img/MediaIcons/16x16/Thumbnails.pngYThumbnails.png= title slide0014.html~The Visible property of blocks and the management of the breaks0015.htmljAll shots regulations versus current shot regulations0016.htmlStyle sheets0013.html"Dynamic variables0020.html*Interface description0021.htmlThe main window0022.htmlThe toolbar0023.htmlThe timeline0024.html6The multimedia file browser0020.htmlDialog boxes0020.html4Configuration dialog boxes0101.html&Application options0102.htmlManage devices>0106.html&Check configuration0116.html Ruler properties0117.html(Edit thumbnail model0020.html(Editing dialog boxes0103.htmlLAdd or modify a predefined title slide0119.html Slide properties0118.htmlVSet first shot duration for a set of slides0104.html*Background properties0105.html$Chapter properties0114.html Music properties0122.html*Transition properties0121.html\Select transition duration for a set of slides0110.htmlLCorrect, reframe or cu?t image or video0120.htmlEdit text0123.html0Add or modify a location0020.htmlFDialog boxes related to the project0108.html$Project properties0115.htmlRender video0107.htmlExport project0020.html(Various dialog boxes0109.htmlSelect files0111.html File information0112.htmlManage favorite0113.htmlManage style0030.html Rendering videos0031.html Rendering videos0032.html.Smartphones and tablets0033.html Portable devices0034.html>Multimedia system (Home cinema)0035.htmlFor the WEB0036.htmlVideo codec0037.htmlAudio codec0038.htmlContainers0039.html>Video standards and resolutions003A.htmlTFile attachments (Thumbnails, nfo, etc...)0040.htmlHTechnical information on ffDiaporama0041.htmlDffDiaporama command line arguments0042.html2ffDiaporama project files0043.htmlNThe configuration files for ffDiaporama0044.htmlXBMC nfo files0045.html>Types of objects in ffDiaporama  K{U/J-img/ruler_ko.pngI/img/fileclose.pngvH1img/Visible_KO.pngG!Eimg/Transitions/tr-02-18.pngF!Eimg/Transitions/tr-01-07.pngE!Eimg/Text/text_align_left.png?D#Iimg/MediaIcons/16x16/image.pngXC5img/Filter/Gamma.png0B-img/AdjustWH.pngE <!/=KYgu+9GUcq '5CQ_mx 0010.html 0011.html 0012.html 0013.html 0014.html 0015.html 0016.html 0020.html 0021.html 0022.html 0023.html 0024.html 0030.html 0031.html 0032.html 0033.html 0034.html 0035.html 0036.html 0037.html 0038.html 0039.html 003A.html 0040.html 0041.html 0042.html 0043.html 0044.html 0045.html 0101.html 0102.html 0103.html! 0104.html" 0105.html# 0106.html$ 0107.html% 0108.html& 0109.html' 0110.html( 0111.html) 0112.html* 0113.html+ 0114.html, 0115.html- 0116.html. 0117.html/ 0118.html0 0119.html1 0120.html2 0121.html3 0122.html4 0123.html5 1.html63img/Action_Info.png:3img/Action_Open.png<7img/Action_Wizard.png=/img/AddFolder.pngB+img/AdjustH.pngC+img/AdjustW.pngD $``v (E`})B^v8Ur/img/Alignment.pngF=img/Arrange/aobottom.png?img/Arrange/aocenterh.png?img/Arrange/aocenterv.png;img/Arrange/aodistH.png ;img/Arrange/aodistV.png!9img/Arrange/aoleft.png";img/Arrange/aoright.png#7img/Arrange/aotop.png$;img/Arrange/arrange.png%)img/AutoTS.pngK%img/Blue.pngL)img/Camera.pngM+img/Chapter.pngO3img/Chapter_big.pngP5img/ConvertAudio.pngW1img/ConvertImg.pngX5img/ConvertVideo.pngY5img/DISPLAY_DATA.pngb;img/DISPLAY_JUKEBOX.pngc3img/DISPLAY_WEB.pngd-img/Distance.pnge/img/EditGMaps.pngi/img/EditImage.pngj/img/EditMovie.pngk-img/EditText.pngm=img/Filter/Antialias.png&3img/Filter/Blur.png'?img/Filter/Brightness.png(;img/Filter/Charcoal.png);img/Filter/Contrast.png*?img/Filter/Desaturate.png+=img/Filter/Despeckle.png,3img/Filter/Edge.png-7img/Filter/Emboss.png.;img/Filter/Equalize.png/ dd &=Ss"8aGj=img/Filter/Grayscale.png19img/Filter/Implode.png2;img/Filter/Negative.png3;img/Filter/Oilpaint.png45img/Filter/Swirl.png53img/Filter/Wave.png69img/FolderMask_200.png}1img/FolderOpen.png~-img/Geometry.pngAimg/Geometry_ImageLock.png7img/Geometry_Lock.png!Eimg/Geometry_ProjectLock.png;img/Geometry_Unlock.png'img/Green.png1img/Image_File.png-img/Internet.png)img/Lock24.png-img/Lossless.png(Simg/MediaIcons/16x16/Thumbnails.pngY#Iimg/MediaIcons/16x16/audio.pngM#Iimg/MediaIcons/16x16/cdrom.pngN%Mimg/MediaIcons/16x16/clipart.pngO%Mimg/MediaIcons/16x16/delayed.pngP'Qimg/MediaIcons/16x16/directory.pngQ)Uimg/MediaIcons/16x16/ffDiaporama.pngR"Gimg/MediaIcons/16x16/file.pngS)Uimg/MediaIcons/16x16/folder_home.pngT#Iimg/MediaIcons/16x16/gmaps.pngU%Mimg/MediaIcons/16x16/hdd-lan.pngV!Eimg/MediaIcons/16x16/hdd.pngW #qq1H^y 4H`v<`!Eimg/MediaIcons/16x16/usb.pngZ#Iimg/MediaIcons/16x16/video.png[1img/Opensource.png)img/PosEnd.png9img/PosSize_Height.png7img/PosSize_Width.png/img/PosSize_X.png/img/PosSize_Y.png-img/PosStart.png7img/PrjProperties.png)img/Radius.png#img/Red.png+img/Refresh.png+img/RotateX.png+img/RotateY.png+img/RotateZ.png1img/SaveAsMenu.png+img/ScrollX.png+img/ScrollY.png)img/Shadow.png1img/SmallGreen.png-img/SmallRed.png3img/SmallYellow.png1img/Smartphone.png1img/SortByDate.png1img/SortByName.png5img/SortByNumber.png$Kimg/Text/Shadow bottom left.png9%Mimg/Text/Shadow bottom right.png:#Iimg/Text/Shadow upper left.png;$Kimg/Text/Shadow upper right.png<3img/Text/normal.png75img/Text/outline.png8#Iimg/Text/text_align_center.png=#Iimg/Text/text_align_justif.png> cc .Pn6Qh4Vx"Gimg/Text/text_align_right.png@$Kimg/Text/text_align_vbottom.pngA$Kimg/Text/text_align_vcenter.pngB Cimg/Text/text_align_vup.pngC9img/Text/text_bold.pngD Cimg/Text/text_indent_in.pngE!Eimg/Text/text_indent_out.pngF=img/Text/text_italic.pngG9img/Text/text_list.pngHAimg/Text/text_list_nbr.pngI7img/Text/text_sub.pngJ;img/Text/text_super.pngK Cimg/Text/text_underline.pngL/img/TextStyle.png9img/TimelineBlocks.png7img/TimelineShots.png/img/Transform.png!Eimg/Transitions/tr-00-00.png!Eimg/Transitions/tr-00-01.png!Eimg/Transitions/tr-00-02.png!Eimg/Transitions/tr-00-03.png!Eimg/Transitions/tr-00-04.png!Eimg/Transitions/tr-01-00.png!Eimg/Transitions/tr-01-01.png!Eimg/Transitions/tr-01-02.png!Eimg/Transitions/tr-01-03.png!Eimg/Transitions/tr-01-04.png!Eimg/Transitions/tr-01-05.png!Eimg/Transitions/tr-01-06.png HHj6Xz$Fh4Vx!Eimg/Transitions/tr-01-08.png!Eimg/Transitions/tr-01-09.png!Eimg/Transitions/tr-01-10.png!Eimg/Transitions/tr-01-11.png!Eimg/Transitions/tr-01-12.png!Eimg/Transitions/tr-01-13.png!Eimg/Transitions/tr-01-14.png!Eimg/Transitions/tr-01-15.png!Eimg/Transitions/tr-01-16.png!Eimg/Transitions/tr-01-17.png!Eimg/Transitions/tr-02-00.png!Eimg/Transitions/tr-02-01.png!Eimg/Transitions/tr-02-02.png!Eimg/Transitions/tr-02-03.png!Eimg/Transitions/tr-02-04.png!Eimg/Transitions/tr-02-05.png!Eimg/Transitions/tr-02-06.png!Eimg/Transitions/tr-02-07.png!Eimg/Transitions/tr-02-08.png!Eimg/Transitions/tr-02-09.png!Eimg/Transitions/tr-02-10.png!Eimg/Transitions/tr-02-11.png!Eimg/Transitions/tr-02-12.png!Eimg/Transitions/tr-02-13.png!Eimg/Transitions/tr-02-14.png!Eimg/Transitions/tr-02-15.png!Eimg/Transitions/tr-02-16.png!Eimg/Transitions/tr-02-17.png VVx"Df2Tv Bd!Eimg/Transitions/tr-02-19.png!Eimg/Transitions/tr-02-20.png!Eimg/Transitions/tr-02-21.png!Eimg/Transitions/tr-03-00.png!Eimg/Transitions/tr-03-01.png !Eimg/Transitions/tr-03-02.png !Eimg/Transitions/tr-03-03.png !Eimg/Transitions/tr-03-04.png !Eimg/Transitions/tr-03-05.png !Eimg/Transitions/tr-03-06.png!Eimg/Transitions/tr-03-07.png!Eimg/Transitions/tr-03-08.png!Eimg/Transitions/tr-03-09.png!Eimg/Transitions/tr-03-10.png!Eimg/Transitions/tr-03-11.png!Eimg/Transitions/tr-03-12.png!Eimg/Transitions/tr-03-13.png!Eimg/Transitions/tr-03-14.png!Eimg/Transitions/tr-03-15.png!Eimg/Transitions/tr-10-00.png!Eimg/Transitions/tr-10-01.png!Eimg/Transitions/tr-10-02.png!Eimg/Transitions/tr-10-03.png&Oimg/Transitions/tr-icon-error.png?img/VideoMask_120x180.png?img/VideoMask_150x200.png?img/VideoMask_162x216.png1img/Video_File.png )nn.F[r2GVi}(>Od}5img/Visible_MASK.png1img/Visible_OK.png)img/Yellow.png7img/action_cancel.png83img/action_edit.png9/img/action_ok.png;;img/add_cliparttext.png>/img/add_image.png?3img/add_project.png@-img/add_text.pngA1img/arrow_down.pngG1img/arrow_left.pngH3img/arrow_right.pngI-img/arrow_up.pngJ)img/ccbysa.pngN'img/color.pngQ1img/color_fill.pngR-img/colorize.pngS)img/config.pngT3img/config_menu.pngU-img/contents.pngV!img/db.pngZ)img/db_add.png[+img/db_menu.png\3img/db_menu_big.png]/img/db_remove.png^/img/db_status.png_/img/db_update.png`1img/defaultmap.pnga%img/edit.pngf-img/editcopy.pngg+img/editcut.pngh/img/editpaste.pngl%img/exit.pngn-img/favorite.pngo5img/favorite_add.pngp;img/favorite_manage.pngq7img/favorite_menu.pngr3img/ffdiaporama.pngs7img/fifteenpieces.pngt9img/file_temporary.pngu &mm&<Nq5Om!AZy1img/fileexport.pngw+img/filenew.pngx-img/fileopen.pngy1img/filerecent.pngz-img/filesave.png{1img/filesaveas.png|%img/font.png'img/forum.png%img/gmap.png-img/gmap_add.png%img/help.png"Gimg/inheritance_down_lock.png$Kimg/inheritance_down_unlock.png+img/journal.png/img/kmultiple.png%img/logo.png-img/logo_big.png'img/medal.png5img/object_image.png=img/object_imageHide.png5img/object_movie.png=img/object_movieHide.png5img/object_sound.png3img/object_text.png;img/object_textHide.png5img/pattern_fill.png1img/player_end.png1img/player_fwd.png5img/player_pause.pngAimg/player_pause_small.png3img/player_play.png?img/player_play_small.png1img/player_rew.png3img/player_stop.png)img/random.png)img/render.png/img/rotationd.png/img/rotationg.png xhVB0qR9/wiki_img/Work.pngd9wiki_img/Wikipedia.pngc7wiki_img/Timeline.pngb3wiki_img/Schema.pnga?wiki_img/AutoFraming2.png`?wiki_img/AutoFraming1.png_=wiki_img/Animation_3.png^=wiki_img/Animation_2.png]=wiki_img/Animation_1.png\ wiki.csse main.html7)img/zoomup.png-img/zoomdown.png%img/zoom.png)img/undo24.png%img/undo.png!img/tv.png'img/trash.png3img/transparent.png9img/tr-00-01_small.png)img/splash.png-img/sound_KO.png-img/ruler_ok.pngQPKKON 22Nt##/tableFolderTableFolderTableCREATE TABLE FolderTable(Id INTEGER PRIMARY KEY, Name Text, NamespaceID INTEGER )X''qtableMetaDataTableMetaDataTableCREATE TABLE MetaDataTable(Name Text, Value BLOB )J!aindexNameIndexIndexTable@CREATE INDEX NameIndex ON IndexTable(Name)X''oindexFileNameIndexFileNameTableACREATE INDEX FileNameIndex ON FileNameTable(Name)V#'oindexFileIdIndexFileNameTableLCREATE INDEX FileIdIndex ON FileNameTable(FileId)  $*06<BHNTZ`flrx~ &,28>DJPV\bhntz "(.4:@FLRX^djpv|       !!""##$$%%&&''(())**++,,--..//00112233445566778899::;;<<==>>??@@AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ[[\\]]^^__``aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~ e (08@HPX`hpx (08@HPX`hpx (08@HPX`hpx d (08@HPX`hpx (08@HPX`hpx (08@HPX`hpx            !!""##$$%%&&''(())**++,,--..//00112233445566778899::;;<<==>>??@@AABBCCDDEEFFGGHHIIJJ 0xph`XPH@80eeddccbbaa``__^^]]\\[[ZZYYXXWWVVUUTTSSRRQQPPOONNMMLLffDiaporama/locale/wiki_el.qhc0000777000175000001440000002000012275647351016572 0ustar dominiqueusersSQLite format 3@ - ${e'' tableSettingsTableSettingsTableCREATE TABLE SettingsTable (Key TEXT PRIMARY KEY, Value BLOB )9M'indexsqlite_autoindex_SettingsTable_1SettingsTableh##tableFilterTableFilterTableCREATE TABLE FilterTable (NameId INTEGER, FilterAttributeId INTEGER )l++tableFilterNameTableFilterNameTableCREATE TABLE FilterNameTable (Id INTEGER PRIMARY KEY, Name TEXT ){55tableFilterAttributeTableFilterAttributeTableCREATE TABLE FilterAttributeTable (Id INTEGER PRIMARY KEY, Name TEXT )u##1tableFolderTableFolderTableCREATE TABLE FolderTable (Id INTEGER PRIMARY KEY, NamespaceId INTEGER, Name TEXT )x))+tableNamespaceTableNamespaceTableCREATE TABLE NamespaceTable (Id INTEGER PRIMARY KEY, Name TEXT, FilePath TEXT ) )#ffdiaporama_elwiki_el.qch  doc )ffdiaporama_el )ffdiaporama_el  I+ 9FullTextSearchFallback %CreationTimeRMZ ) HideAddressBar-EnableAddressBarAEnableDocumentationManager; HideFilterFunctionality?EnableFilterFunctionality6)WLastShownPagesqthelp://ffdiaporama_el/doc/main.html7+WdefaultHomepageqthelp://ffdiaporama_el/doc/main.html#)WindowTitleffDiaporama_el&-3LastRegisterTime2014-02-09T10:41:46 #G\4{9FullTextSearchFallback %CreationTime )HideAddressBar -EnableAddressBarAEnableDocumentationManager;HideFilterFunctionality?EnableFilterFunctionality)LastShownPages+defaultHomepage#WindowTitle- LastRegisterTimeffDiaporama/locale/wiki_el.qch0000777000175000001440000627600012275647345016620 0ustar dominiqueusersSQLite format 3@ _-[  )ffdiaporama_el )ffdiaporama_el )ffdiaporama_el     s hmain.htmlJ   WIKI  ffDiaporama0010.html:   ffDiaporama0011.html  0012.html,Predefined title slide0014.html~The Visible property of blocks and the management of the breaks0015.html             0016.html 0013.html(J )~!h)) tableNamespaceTableNamespaceTableCREATE TABLE NamespaceTable (Id INTEGER PRIMARY KEY,Name TEXT ){55tableFilterAttributeTableFilterAttributeTableCREATE TABLE FilterAttributeTable (Id INTEGER PRIMARY KEY, Name TEXT )l++tableFilterNameTableFilterNameTableCREATE TABLE FilterNameTable (Id INTEGER PRIMARY KEY, Name TEXT )h##tableFilterTableFilterTableCREATE TABLE FilterTable (NameId INTEGER, FilterAttributeId INTEGER ) !! tableIndexTableIndexTableCREATE TABLE IndexTable (Id INTEGER PRIMARY KEY, Name TEXT, Identifier TEXT, NamespaceId INTEGER, FileId INTEGER, Anchor TEXT )c))tableIndexItemTableIndexItemTableCREATE TABLE IndexItemTable (Id INTEGER, IndexId INTEGER )x--#tableIndexFilterTableIndexFilterTableCREATE TABLE IndexFilterTable (FilterAttributeId INTEGER, IndexId INTEGER )   {''5tableContentsTableContentsTable CREATE TABLE ContentsTable (Id INTEGER PRIMARY KEY, NamespaceId INTEGER, Data BLOB ) 33/tableContentsFilterTableContentsFilterTable CREATE TABLE ContentsFilterTable (FilterAttributeId INTEGER, ContentsId INTEGER ) 77#tableFileAttributeSetTableFileAttributeSetTable CREATE TABLE FileAttributeSetTable (Id INTEGER, FilterAttributeId INTEGER )f '' tableFileDataTableFileDataTableCREATE TABLE FileDataTable (Id INTEGER PRIMARY KEY, Data BLOB )t ++tableFileFilterTableFileFilterTableCREATE TABLE FileFilterTable (FilterAttributeId INTEGER, FileId INTEGER )| ''7tableFileNameTableFileNameTableCREATE TABLE FileNameTable (FolderId INTEGER, Name TEXT, FileId INTEGER, Title TEXT ) = IHVGDF2ED CvBcAN@6?> =sjge/ޯ*u$3˺n|tnY/ፋhWb?|cҠ@X RA_f+ZueyxBm2ƟYdݞ&"^ߪud8Ua#QHhp.cwyH} {Ҙw,+K,oQ@yIKF\g }dOrhuȮvPޡ[;'qzyqlIP̓wh*,U;޺1kNU*>@8 =̺OZ ' =lbx-҇j(hu2%+]`v*-zLk$3xf2 zh=f\NQΈHoVӛ>2 .ps&kRq(VZ#FhKd?F9,A,&S\ j]V>9;`=V5`H@RD:3Ħ'3k]ksBT=+QjPQ/C!\%%DT1e|Îb,w2ms좳UI͒xa}g.Wr1[dpUG؀Z3Gg}V튥 yY_>lܹ`i.fX~ ZOYH,ӊY RaX5Ͷ`Q#tYtf)sߜP[S9X(׸Ak"v+1Ԁ{ZLRX] 1wGʀ0$d ZRulj&N`݌RA9=,rein] ^,Xe/UğϴJg9Z E[ % Y8p[ q_K!,o\eO!^fW(J<)= ĩkCS5eؐp?S)rC[ wg)!Z" qgr/iK0TjBY a2\}q3%NK6CqHp:Qw_#%T~ ֘H/ޗKwZ] UTgqr]x=#Íl_eTH= wDXs V)30 W $s HJ3-]\A]eKЊĽ̙h.WCڱQqtI6V2!Ѝ?$UYq爺OzX תOǑVT&9Ć ݓъ:Sv#|^Q>V%5 ^$*KPHvx;fǰ ,u,do +p]-s9m` Z.(&9LE "{B:=^ zAԟ:qS5APPc0|E!eSQ9HvU8dP^sIj~h[rfhhW,. "ڬ l[+GʥrVcnlo}d9V@ B-g KZ5Omeg: {*ErׁɆ!WGq`/2w ? OG,[N}Q6piA5_Qx77OxD?L#(yk 2 pC7`HWU~| p.)`xvljC52"ʈ!r^XZ;]sVu!-yxU3oh)MŝsEt%Ԩ'lUEsgAVRGՈ[YIl R}uclct9@ 6'z\XRt4Ӿ03TP;,{* sz".݄})j_lZz_hJ좚 7LZ耉]¤Mj^5zs)7$Y U}7ITGÚjM~2<4k@qZfrBNn+^TƝ{Md#V²CA4&7Pf:@H*.F:J$rT#4ThHbƔ!.lk8il'{Wm>r^TS5qv5:"#EsrD9 {rC-NSlc0_͸o[S;E 2`G ^*|Ex2xtDDpb<ۥqiƙ%;*ơN 2T ZLT؂.HAA4"nnԸWS/!Eu5y hMiy4]Ucl/.i8E9bvҿ!JB2 E]E$LҔ w!%ٲ)3ߌzk_sl~*ZnDVrO?%}l7M'?h/:OExC?: ( ߄gcSW7v][djLI_mԙ>uPꨞn>5 +|ȚdBrȗC)B0)EЖ!_QUHse%'xKsr"tj긁pWq&7t f<`@8R9p";*}Q- !|#Qtoۛ'Jٵ[~&n۝Qa8[~±&[}!A}ATPnQuPǞ:ןHY0p.i?F}Z_'&9V&69qR7х~@%R}`lqI.MG%~3ء2M=3!  xzaE*{v;xTyjgא,mߑ3?%>#FiQa"I GlT#'j0{dK#d:EHmR:̎ПՀ@Uǯt!'j25\+-KM8+x:C iD^ͥhӥǍ~R o (V#в%BIcܿRlT}Y >ٓQo^z9NۼB Z|(7rlVVP aa\<]x\ݎS*v,̞6Au?34H;mtc7 CBJy( Ř .%mB8§ ]R$FxŌdGP>^Lpg_ <<믆#"Fq|W쎒Q4zZyfDNh i J8BjҐ2j UPIIJu-jnl8baUGnRSZy՜L?Do+)?87_2 wo}Umсor5=M ܀ Np4>S0폶[}#cXVZŢ{+߿G6s),Hv?wN`m~G#nq1~h}{׾]w~@ ೇ yl1GyX9> mE@>0S7q伧:@_%0 zT/բ.@~r0Lg/.E"a42FՐhf +MD #e;X2j<d1^ϒ|ȗsW$Ed#Xz_xU8 H>.dƁVA4@n'u`dmIaXjDYwA0K.-fUgwmA^asf!x wp"`>M'./ s] NUv#T;mWe}mis57WzMac%%yp*r.498}Z=}a; ]J=GD%$bTDGY+zg5/dvг<^,t}30E,7 >やKl Ħ4ۥYqWw7(S5X9W^XJ)zzU㋔0:TQAc[4B`< (Sj0wgr,CZ0um r^F-{`弍F$xogYaT>!BM"I%'z ' zbj')Ð(٨ >@k,{xSS 9oJ9_ۢ`yOvtfNc;MJ2)g  9E0:y-$TЀP%*!]b :`C$9l'/J|WFY\2 "ccE:XڪV-ĒU4*]VuέP#`-)QK[>_ % >r= ,O\g8ܽu& Ou*Af&- [X߇dm@Y9yOi*./u"BΔɮ14}* 3Hה>c&?l+xxLG[JN bf!֡ $Kpzd w*}eՙ5hB-Oا[UBxA{YJ>M XY`_=aeF2JMsUcGT}n2%'W}B5G|+@5Ͱ{W827RUE>" V0xXKOWW"j%Eؑ$]EjtU42=e1A*l*5R#UlFSgj?zc0$H`ϝ{;;R񉨹u ~MU5ellW 1SY&Gv+yNu̗#Pmт(F0:S9߾ZcPȑ HqaԅhNks9{*u5FZ j֯n| 6jfm՟ֿ_ݝj+ގee7>RBvmH4YʓF^ci̺)-nY֚.n-˩mwϱ5r )/6memU_*>F^J*BB>"YC:aD<[Odd`$,B mZJ,>9E!ۇD %b K* DD9v xVN@)+ւ"R%YH㤎Cˍ ) KUS9"B_wtfIHH(TP|375/XX}rxdRrf gG .3-E*G/r:RM=u:j:SM峰ڸ.,MxJXV-쨬p[T' kcmf'X2x,Ucɴp ҳ^.Ǟrɷ̖ŵyK>6\BņHҎ-Ϲ"+تYE/sƲ3&smmBZJ3DH ڕD&͵\jTfkP*PI@GsX}pnLALJu8S+LS d 0'𺎸VoQ:molB `WU?.n^%j_(Uwz&Ex(N јAk%(%ArO LA9Ca1)i#h97DVDD_au uTCuMK]\aeZ"캺G{^^iW"~;괯Bh k3>1)HEmM&'>0tjfqxH=@N1^뿨YKÝ_;wpjb#?SqLTOUS=+~GmLæɪLþKp=*?WKǯFI`atHnn%svΝ} O 'snVxOwҾ-Wi@O ޛFt2Q4noYzisYLn6EDr쿓9ߒF#9/+"^{9"6%V `zB!|wjK3!jّ"$gy3-٘,?2`ZEc$ w V۲RkN) M?OY:uLt[["'ՖЎ@фVL%`͓xAW?ȗS@3ƺKyMƑw aȔZl蘗+#B[ RZMK5nw'<1GVD1!C<51tHRkʖx%4S N3~F1B:LOд(%JF\z3TMM;!At2ZߵUq 5V k).)(*E_2uq5>{pﷲ߭9%Gr"AxbUZH$?hr@%ª!=҉ XCJ96XvA<gt_|! #n#BBxl"ՙ9Q1İG_SK~E y7; (]16o۪;KczN,]oA&ڰ/VIG }wBӥ t>(j.oQ8 [!H*|+0Ssǫ n `TxYAo6WpI`hS i-Z"Eg-Kڞ6 ;mvt8Y&q@GɖB%Zj#HJ|Go|:iv?byJZģ[g#)7uKT\y,mGS݋uD?At@?^cfhD/`CnOL_n2EIMb)lĻJj *C*_l<-Xط-U :xXn"GWTzDjd,M۠i0fMF–FUcD<TRνUa`,{=QgBID\/S7mVO eO|%,!?:eǶgȿ+yBGs XU`8N(Jfa9_^`S۳~k |9YFZV|3h'ievZ7+8̊!f*f)r[vh8g(YcB8j j'`\7>Nn|KnQY%֟Y'B&%6-&XBI$*Vv<6SAD*ja%W&_N}^ ggl^o]v~7]Zł ݅wؗ+Wea@}bpW*mR|P>| bqZ# q~H_IM'".s B#va[ܑs n .?cO> IY.۫U W=2++K HDkMDGb0.\sPT׳8 '`h^ۛ4ö37t` vc8{1Z8R;3NF{(F}ՙAt!f5 ? g_ OXצD61HW;5Jgƌ[`rX^%^K,;,Xs!r%p&Oo7a]uxChIQQ5Ի-ob2C ؘQ+ TG.+Gi5CҘ?T?'`eI֫{;'3&oD:kP~:QO le iYK>Sޚk}Cz^Ktۨ#2{@N 6*!X}?kU7[.R-sq7LJ*nwԷDd+TSv[Yi H2rX_ACݱ1i$emxv/3Ϗ7Uto*DC{4.:)1tLՋK3i< %KU0%r2@!KHKON8֨!rؒ=HtпSft] "M|# gVzыVY.-C7S%D9dkϰL$Zpˋ[Tw Fz OIr+)뽽Y;Y`!+L/324o+;f28eQ'gyT)ωypR`>!zmJhw lp[)|C:%H80;irWLZ&-?~  *xxko{~ŖDq)QmOƉ\l}"ɶ ـ[AmDe_x(Z"yvgf=#v p xZKoFWlK ؒP8/yS@k E7[pr)Z)ڣ`UK?X̒")Q: X!r;;;]:;r 0M 3TUaqUt{Ę;}N wNOe:trҨ]?R2wQj"_.6?*?Oާ}Cfrvֳ-b읱^ T@WnM>#hqŕB7}" :paޥ*O;]A5:rSȶlx\&kKr 1 >GRR->7&^}1-Vye\#. o^}ah` \fwMmd.˨wvvLa@+⊬>oy(K=.f~ {]sxhRkI^ܟ乆yE.H_ 0P"Yc4nm\n:7(IG}&n8,<EϭfLL"(h:Ȍ rq/aTMw}~Gǖݞm4FhUq󪱭zcU$"+>l7.؜>.Wx&>VkۀSU+L07n_\k˵rZg[\ng673lpĹa"834^g%MQs Va94nA_Qgμ^G^b^^@`H`^ _^sۇmW=oW#NYom\(.А-eSZFl7`}zgU^[ Z;tQ8Оwm'!xaNOP -)k-A\CisY `MBt 4v!XAK6ͺ3Bǿ I>qAΠ GmC(=6#z'rii=S0^`U9lVdk/Of5qAlF~#%KyQY~loJB^Je?a% E:Eḵ{axq#azDix&\ٚE,r~@X=5MADY8nH22D5E{L~kSQbMKKԢSAR _KH #PcJ=;O-]p'ޖ3 㒺>#maa#*ܱP$o ;oST?K]?tviNOrQ#*2E(lL:3#pa][3 q&v#%VMtQՁ 1t**~/1xCŏTށ~B:|eV`ZreE&.őժkݽ3r YUAXo&-U;n2 -@7>$oIdȖ94{77o&fZ(0|safVg};*B\Vqiv0;#9 o6ϻ Ȓ3fV%-V5*R\Tf;ӹ,|#LN02ͭ/ƨ?S9*HyC|v/ZsgXD0+%6Y;Ui'_$QS\>nhsZZ+/.(m}_ T2J`0O&=)U[sudenVHߔ9(1Xh~"3rWӒDBP%iؗ>L}W{Sw~QFpwDt^IٸgF'J9DlF OT~bWu[t݇.]FӞz@F"k&4~g9bAڄjZQ:ߗ.) %&"E'|0-$"Vey2Bz{c '@Np>qOQqiInLbh;xث ,i% E!(́"瑯ژ6+ fcP#$Eь]C b"l&(||vu&d{`Ө M>XXtJ1FvHkiQ_t97+:#5x"o÷Ĥ~ L!1 =!@y&% UI3&<nyVl S"d{[J{$8=dnu&Cǁ50)2tn/N"@*2BHlsıA* PٖKz~Z=1-]}Yf̋U\u<&宄pi@.tU9peʼ20o~*=FE-cNUX`uGύS~0ix1Hm)h0NKw8r*cnC.] [57g蝘njwOK|)7:ʬk!&(LOˣy‰RPҁo(|[.'$^J"lB хmS"܄ s-N2ȉޯ!bb9\6Pa 캭fU31eu<0#:M>W#RNǡW2O6 Uu刎ѱ4fH"-k4ip׮]}O2^;l4aT20v)nɪ8+U]?NT 7" 'M?|p7OX643nDNJ7$?JU)hJ:2eQP |j 9Lu/`SdZ);6:l>B@A'Vuʐ4~/)~lQOOʉē?DĊ,C{T@ҚR'#*)ҕM4&nZ[V\g J  ;'Բ3Wezf؆FAtB{?Shɿҟ>sh ?qDmVblZyBa~~͏!o_A+WCF tx+O7o'{vL$O#;@cS`%n {?Zd"Y7X76qs$W So j wJȫӿ[stQԡ~[G`&,@H\G١z'ibU.+eOjM({_?_ߘo2KIe#>> xBՆᷣW@x?|>CXԜ:, | :tʢr%&_G'fJӔiD$M0)]]KpyA4؅`fƘJ5 K~{0 *YTMdT0bU.X  NьS1"X0C.gҐn+kң.)S.qc(p5&{÷(h4y> ll$ jx7aHًw%]2\t+xǻ$\ Lz Sē[ `y-<ʨ1ؼQ9WÞBd!4a0dG:ХZxy:nEU)}Ԯ%^y< 8ʇ}f40y{#/yc9K,cTj9|>dbGn9E%+=7ecM7'O@{0_MrMj\ XbӣA kt2RcSs;ARC]x͔U5SdO&hJ c;Zy)i' c؜i*KU&ǩZP αgg07*UH{[Ɓ3XZ( =\)5`8w c ]tD_VNǁeDQ M ^ԴWc,c&QT7!o]!(!HYB`$ݥoLwq*Z!dey]Wd67s MCl^CbX;7لrX.{+$?Hb Ux+lEH Xs9-x9VvC&]PUn]Oo`]\NwN鿑!2ā+0rG3 (D܅T%lKt$ "#7"+|Kk, 6xŴr̫˳ɍIw"7)]IH߳͞=/mΡ֕DGGJ+hur ܖղ]["Un- DoCC8 fLPzy)!nZ*ߖX=-wM hBە xBS0ٳ˻~5`msѭTNJs \$A;,:r_M5ǎ'ٍT cBKbƭZ bƝ9#&xkׯ!(oԫIftjɻQ {(ɧSWI݀'|>4BY7u)`W&r`*[ro9-N-x<8򸃎[ޭ''gk'1h͔cʩŕffXQk:V9*\T2{Sf'wGtUVG8-Jz~.^iP(d/\%݈`QfLHNjp= ⮪A 'GUAՔrvhR^) ok7f_1X@ J8 oDV0 #A5dVm}g+\ oGoA uxn=_1eTA%qҠ%e'jڰdy Cr.33+yJM PMA/33{!Eҋ_<{{m:v ګEFX^MD/1m ڏH;|mO__ >M?s^|'x(_** X-xZn#SS [n%׋6]E %1S#|}@޴M7_ͯײeF+i89w9oF߽9'3OIF*ÈZn+od?-X\ 3>'+>nG΂$6"6{5#:ym0{Oo8 {5wuEmxw݉ՔD-= ߿<(XNż#j<5D)մEB059,j%{3y"{ݑzº<-}Wwy&{NZ*Ip+HD>ݸqvzl g42#BYSF5TrbgmLɘ`d&gpY/I ^ZmvhpPhيEȚb Z3kʠi0MPۻuD@z8؃S 7tJq6 7MLwE 2pSdQI pP-\]df<ktw F’A HǺ$zN E Jh J$B;IbA FJ M%],T^-tW Tu-#B ǔ 2IE98ʳVdOH耡F7NU JRLm%pf!P 8Jݪu* |vL4bD$ÝUC j| Ņ_{$Ļ {Y@Lem҈tH{.iUdTAº\*3r0 5bA:H% F'pz0 4_7s0Ƒa$!)EtyI[!׫b4N81y<ʚk-vrxuJ4͂39"WF~}sdi1|?D[_} v7n%Ĩ(^/%H4{F,ۏs, εغ>KfOcB4sJkf? Huӓp%% *D@sJpB(^v`ɣ4fOx(pkW"TIaRA"`ݼ wEgh10N[TbnJC<=X!dO}nP[Xfҁ U z Zk](7V;NuWoۼc "cm&X$V50$#]*89iݹ EG`mB;gcShP_bvдN*\$"U9ͨL-W5HeW6rGb|$XixK\z%ѳr|dkIrb@Ԙ@6R@SPux '؉荍^w& ΋ yP0t.^E1'MC@{)bU/m.lls&\qmrģ-,}?.?W{-E]Ra%w}V*Mʋ;y拞g4 &]ng Y"DP [wlD E"@҆FV$hU\U\UqVycTVuJ;W(;dXM^@{m ܹ:SHh跫l2 9S4-|,uklU㹩MLO6K2܀V0 ٳ7.'VW7 *Ո\N@'xojTFKzqZJv$c,k\Rܴ_u'~ 嚃wKC0XĬOC T:0k-apjsz:d_Fy,l~Jq@>E+~Gb(2m=(0M`;ګZcm9٫ݴa”ۏjjWC >dp,\Â26(kNVCG+h7K0Iog^@\a#I9l/u!X> 8?CoXZ!M`5Y\V Y7a 8tk X v$#x$)h.֩ (80ZUapljKW&„6B!$[g0ѩw0e{WVo]6W7jCH;]Պs~UjUPsbeӍ|zD[D]bl|; J0yQ;_ HF*pE^dIy2{p%Xjkh&HGyhΆEX5H)]jZeLv. `ev+"KƬ, abd 0`oHEa7G`ea~ska{J3e-|OI .{H+[ȶ`U7o%`gFvl|m%tfnRS@&gc'6boycnmFvdز ɀC4*آwwdwZi7BkCx[33f9Q\p3؂ԶYo(+36iX`ފi/K/Ownoc[ A\ 4Iwb4Xã}`x% ȬBxt&MО`n">$DMMbmF PZRR:ero߻k*T!M/,5lnfEu+35] x٢ޚZ#7br]M1mvm3@ m22H* fS>g;Aiv>|7nf}z&{YRjCS4’~|Ғkj )>s5a{yH}d:Jk _sAuۼ!}ǵYY`Kղ+eJjTفD'6T _W:l`t}S1aβdy1NƮw4?s>JdjSL ޏ"Va "䖭\ ϛk-,dGRmҙ̶4jȱKͧ ;_P 6iC׌7zpO|4κLE+soOG_4 ؍|`l>n»Og:h)Wa EĮed\ԥ¿W]J:E=*\_Ϯ`-> ~frUn Yp}^˕3Iץ҉*퇡"1=Vnr^tF r7S-8jRİ?Hsk[ ]|ZYFPڇh #u8M&̶Q~X1>E BvhYxAbyC1NVA\|5~!G~ZEG60h$i hV||Mȁ81hD ʑ>|2e~C/ d+:P|+ZfQ l~eD?+$}oPD(o#s[NQPo[~ezcb>"#clܲt(SM\CypmH!<[?]E xVn@+Y -P] eU $ʂrcՏLKˣU* ݰ MUK_ޱMD(Ē_gι;qgۤ=wcsB<ĵ|̥ۤ \|Bp b<q+z-"Yq#5'T Q_c>g>7)gG\GZ$[g5 y18&M^"k X6$fw8~>X <2ˣķ(䎇956&0kR9Va:X4~gTm*5)m\"* s"GY ]4*nsAoC; ܩ+q X(Xdi2 =_Vf{40r"cS l#=!6ߨk[lBC_@ Vu0wm:OmĈ,L@9^>=,^s0$ag䄂pr]-;+)ygxcִ0~HEM1{O|K3@ߧ(d`pH˓9K$Ź-֖8UzWgPD=Tތkg*f*,k%Q'tE60Wiϸ`)NxU2a<Ά6w:8;)̺ [Tfmhg/䩡Xed+qM`!PPQsy=wzRuǪʻ.F~СOR^pCr(wPFVv}SeV,vl:o)I(쉚;+],=*"CPM_h Q{9􄬅͚U."Yf;e"b^v&Mi6Rj坨=N4xcT P4S9K3E&1ɎLxnuOL+ƁsO?xnOsY|q].p= YD1-4s ͥ?ASBFwUuf:fz߇ltqիλ{NZ+<TvDEӁt'+;ydd,B q%$Ax~z/gߐϢԌTZ*[&ļ[.C$ S"vO73e>C RQZksH1xtxXn7+)mMMm-PE 'C];O ͪK׆~ĂK=CK#N#A}sQ?\_ǛkhB~X(F,`O:@DO+xX>&6}v{\<.]cxTS#<@-.PiD{A$XX\ˁl8wKb3JE-NkhU2s$WDV8Kmg˕+pi}ԥ6%=!G?#b|a3 zh*ۄ*u1e7(c-΀~>Eؤ( nSz#&6S_;HmSm5k33 uHtctþp$N,Y|>j>kSE62G ,vӶZu1s#ߡ^~3杦f=e'xG3:HDk-2uo_ow[` Xw Q'@s@]`?IBXo\/W[7A9c3LʕvC_ch&P Z(]\f!^yb;M BkDAJl&w ǓZr,L:ef'R3.Zad3 &uXm-i@:!p6,nHG<:!퐔da'y>P VfX2ǣZ"&0v. 8[$v QL>\2{+#bz^z )K:d;PhfAM,MW>îIC Fo|6amtCB[.tlK 8E #|PуE=,e8$X: *)ӛxN]l:M r4|}dn/qymi y A&CCˡ PKp p 'F^=w(+Q4rhf\[`ՃgЂ5LSl1[mغOlÅVR5:f.i0֣ҕwF.u߹c^#//ֹ/w%t/d^nmE _})|g>{p 1m(& UR#4r+5c\J.9JBKiHi^*t4X9xre|^ 9`Kp':|a KuhRDWtY `޺6S $BBgOPȾz<3-'i ~sGo^d_I)+xbo8ʢSןCEk+vlגti甆sam-W!GƪiT˻,%whN)=BI`K^zZt,d#fGlK>p]WzW=ڥ@ WԛuRaƈ=٦uF '1<L竣L{K|3X$Z&݃2;j͊s64&JD .Ƨ7)6k* &.")$*!GTL=a2ܥgC$4_yR* D$E]PiBJD3-ޔ1Ϊ|ng͜qr)ucI93b>=^6/X3n=yb?Qq]wR(."Xsr?`nZg8S v'yfL>asgx9by9|e5p;=?G_t;ɇSm6RK:,:yۄnZħ79I"F?)ğ)oYkX}Yޤǜ .xDX=$=Gŷ{ΎI){GEH4#:gq. .Bh7ҕ,^mq=|obή1:֖ 0alo ̧>6`hXM|6E\ nw2?~_ l–Mdta  ̌Ödn#0p1vlȇFd=zj4Y8tYKPD)DBsi//$fi9} :sOM5rY_So aLs7rKLliCpOVi6\U5{vYc QH ?aT5 0&2[5”#SfLz^oAY}pQwvjuh_6=B,acL#&&b-ci(iKj/NhW~G[$`|?pJSE{"@kQ-yv'?QdjWllV"Q,#Qbo._|Niăbf=dX$I7nWw_ޮFϻvs v<1z16+ lZFs lN-hG.\nzjBLs9c9oZHdeu.YvA0 RRT,xY]oG}WLJ86JH)1>w(;쬝}TBoUV(gfq7`ݙ{ϝ{o*7ʵVHKbL#W%GhAfa™?C)K\ oOc:7${v~nMmI m6(֥ ^c.Rr]o*^ΕBo)yRkwcJ2O6wYDbF݀yDKBfXi3iHS #H̦iN's󤿤/ӣ7oïahx(3}6|lrH5ODFbiz_;FM"Օ; 5ձMJXbzSkh.&(;֬NH,$ ) -HH+It ,΢W,Rmhdj-ib[6sgPgѲ+_bA&b;3Q6$<:RC/j2EKBA#ܤ2d7G4X3AX(CnHVi7E c`$l $;z {\r.BmnQ"=WD̺;-ٜsh :7[zz oԓpτtDQxiQW6w޴9ߐxK(D*}} 8^=F: t6XT+ӮLȢ"Go ᑑ1jkjäj\ySwy#Ur# &!ǧArKg{$%C0mIޕJrmN/%tLjͮUR$K3.]$+ I$`Qhu]9Yb(%{.]l.#Qҕ \=>y~, ==LF>W\OF!h[3!PUc,$c?Wkp2skuxy k gغ%P}p23SC@4k*j<.3々=u K$>8c߳a# JE+좌f-XUw:%r6u Tt_}b|)!|/@v1s?t7aV.فR'auH if(d.o@C1I;\|I)f˄ӟ-{G8{g1E< Uv {_8ԵC< ;gbC`wɦP=L!Y4TìCˎ&Ҋb###lQ&MN͎(VK:G4Cp(w/[FqحpD6*|tj,ʍ $z^`kދl^M^:Ȯw8W*ϡKa輛%EmaHY7TuԋVZ(>Mqz~_"6QU3A5W=ogWHM~/ j gݨJ?7»S~Dl/spƭsG!o2>"XP09Y2dH}&1[< 0d*RZ]E 﩯G3'3wB]Y$9Q! 6$ZeS;)LNJ;u+G FSRUjظP-&*8T*֊ȨTu/J\0(&.U'|9uRyJñP8Gf',gb  [l{laax,iu0\N/0k9M7p”c8&o$z˼GAo'JhOE_=zl/;8hL&dӘl0g>uVgh?k6vZUAK=av $>Ns'qZ"ê0%ܥӂ>I Ùdbz,6ށ5Ll0A=ՕDQ `OPJ *IV WChu OX bhayhXN-GQAܢ*&* їvv'lnKe'{1+Btqp1G-ƯTfF}"nlňUpyb*{>Y=&7fQ؋gj=, Qȉg)a0`n=PML~1Ap\%u rtdVȮۑn EM"'.j[iԶF+.0h#LF6 (iP;g.mGw*3MN׋+'Q,|X8ϵ;cͮh˿ YY&PlxYMoFWLY HK$$J?ʩ(츧`Eą)L$iQF==(zMࢆ:Kʖ/˖-ۄ`s{3;KgKye1?i0rwFfŧQSr`p7'|7[>_qul=FJp%2I|-u*<evxbYOv7Z{BQqq5XH$kZ2gu.aVc i {,[ࡓ|o#J 6 8kZxX[oG~W.*)ڎq@D axfwi;>q-⁇P>6(]8BJ333gҵ!T=~Tü `p%$6ʝKFHI5mW1NUR3@GghHp-U[ceݑ.1 3m_ma|!>Ϥ&sԸe9x|^~Z/.!:>eN"!AiIx92 Ʌ Oo^g`1X;:ut*N,)ZzB<–:53Άp,\p$Y6DC'7@Mbj7W6˼onp+vO{Q$ikS4t֨<*\8 L_R fu{__ޮȩv4SQuQ|<5rߧ  S5j󷮢 0?ySUA~zÎ_qO2InJ SX)ܴ鏁M2]VG7 =?T; jj*xXj#7O1U&)w{pڜIӔ2xWD^m%]+GK) Bl^Үsvؽ;_--i37Y~޺fp'U =ۂ)p#p1vKⷛ`~?.W c4"LMQ*eX&ۜOd3 ɪ六ž% GVFmN3%1Ahn} ^B p,"-jk~<"A(l.㓻 tFS(4HHXNwTh@@EP1 !Uo+:i} `zZv3.kt`b:CM[θfsMBIہi!]rTg>H N9 [*E0D%m:1_\z3vHS'}_n :LY(4>(R8 U Tpb"mnHA )!ByT) ʹ99Gd6B4AQy8Tw E;狠vr8'9]ңHy 8! ӈgl4qAM ҄3?XN* _fR~C"g([j p/;EsdcsHy~7jWyƃUA)6Z|S5+ۻtɠ1=ђ`δ"12'2^[~B9.+b\rƛJkZGoF=S N)Q{ٟr T(n "3RV,=xբxՆJ)%\l?c-QR&N׋T6;WY1H_>ƋW~cvaL5cݱ 5t]17:EH33s4WDhJ}l+V;oM]\I EA%,4xg7#wy7? t>`-x]nSLYR\R%Q6n,pwȝhvg=3+jZ"@zQ @AAހ|3)Ѥ(e.l;;3wգ?2ce(=~Vnyi$ (9a4(Uʶ%xxJ6Ϙ)DRj  =~w𾜲|f[zL?dxSG4$VMӮq\)j.9*#/ =XPr=&w$6<wғj-]N #83eB ,x,8~qfjQ,~uࢸN_?&&Ò` 5'.־L(ϵè(C#=: *aDvaB]&ׅ.ֳy3?>QG@*rd5q B=mF:y\x=dfMN$< KeDT@/@ !{1F,.~.8FSF3 A"0*:<$lxZ_OGϧ^lEF"` F}־y[J}K>Q`:{gjcL,6'ޭg7ٹ?[Y|W.BK9dJ:IʝG:=>:I$sYS)"y4r3ջ`y##2_Sk _9X7uRPl9n+ -<1H;ԐǶdHR5&pE`eIÛĖT톚!_K@ ǻD׮ԩHy[?ל~-_)rf67^s'AM/o"O)o~ţңycsU3_Z\+ v5i֋{\j|ឡ1qw%|" KgSscA!Y61piB&FѠA$@* G(Jw#<m=;.LmN M2`M$&#@B"jI0D3a_LJm}ͳ^z>x6s1][:ǐlx'G.KvvJ˓xs`wT)UsMC"Yx+,[{R!妗s}"Owױ~xNqM̻*N߯2L'G p:=LWÓAz>NlOٽw1.@&Fz g2]ێI4Wsej-_KV7_uK}֝~Jiױcx_Mwʼnu!Ca9);HQဈ"&hAxd]xeo^ۺg2s00\"z]6NTOޯTGgTEuX'bP}_aP?*Z[5KP}>O 4.88$Z9T.bw]X$Ƣnm1=|Tq:5\ oQ"J>B6~-o ^hs[s1^LY_Rm0(#fD"PFlGlaWpZA̽ϗd` q'#K-YAOVgs).i(NPZHK#\J0AkA}΀ P16gEڣ[h 1$.fkCAD2,x WZHOgeqT! wdAo/럛k{n EH2Sr ,9LpWoX׶xdHfULKT)b$=u?ԧ@ N># lL-x}v2ɑ^"N,ceg]NCj Mce1mZ-Dtnyێ0dvP8[@# Up#l0\,U% |$L D`:&;N4v4ԯ5?f:CvkC`Mrv3=xaM┳sK(δq*[$KJ"۠Qf1q"Pk Noe[vz] Τ^2 evU.7YYi9oҰ]hNFEEw06@K̻w= R%1QsoPL0LAC@ʚVV/Wv@O/)Ośw,kPhr~]&uxha;t^k|A/E4n^MW?*,s뎚Eۣ[uݟOTt^{2:3bՓeL X.ؾ$aza7 Ne6>Lkys j>ǒA0@ >< rxWjFSLUUwRWZ ISM۫2+Ief*q@z>A{`LXSz^i9#͜};gfOvmC\<xXnDS+e'J6JȊ"ݤtg2Ċx\( 7ώd6f-Kqꫯ~zFo|BQ&uxTMo0 Wpڥa 8eXȒ'IGN1 0`H(GJOoϏPscWyP(j.Z5y dbG;z  m߱db<. ;FDžb|,ḃ!"OwJ0r;m 5Oyߢux?:.JרN2)%F Jw\p˒@@[{X#hdQ(VцfF)ʛI\CsQj}BtY93-'wj|*8T>C鎸YU"y7˳Iv%.KvYS| &繯&'sK+,S4F dO%RyʺJA#>ơWwv~اӈ.h0pI;L[5JfK&(õfG^0asu/Tt> c:L$}H+odrC̀~>16[-$טpr2f / r }[t'_Ul!?agגgγ VCDŒLt ] _>VC'_'BU"0'DHhIr X #d4AǼʍ.Z !ΘƟ>HcBLA9]Y͍#2`)/=< o '&(6q i q`ݜL]^ڊZ`2fL8 Ȏ" \LlTR { >kww=R GNLpRK(Dn.cV91ʹvӜY 0ș0ZBræe%&F=Q\]^b|Fb ّ*E{&hzs#&̛DSx+AX rBI )iuA7R#&`RBaW e+IVHג#E*}"+1)6YO2))  6nM#3քr ( &oJO\ព==c,_w,1[W뉖1t\L(W)iE/_%*}oB}3#k.'UhCU@ƞ9{Dz  >2"TDLc ^v+,cp?D/ %CdQuP<ᰊgSϪ2 &+LVl3I Ld~I%8@aD\GV) `@TT(to1B˒co #~noUqJGU=[e}qM#4ƽ8?lH !A\OFJb=ϟjPM^p^xZø̸fI3?no{Q":1oZ Gu%>/v5B"D4jw% O<'xaZƙWUt]J%ZwEaex4I (,KG?lVEͫoe_UJE~˱ٺSPy"/]YA(~2K~ P.%yr6K4IPď;td/ˊI` °:h;aڀ/ <}jT}Δ0MZ @#p$ DϹ\I06?9$J-_#_i؁/8N$2l~ C6X ᜰP&K[[-S R F,hQD MPBE5TT'~_}+@D)g{ƴKX7Oz+r+<bH! 7M2U2A@>H#!&kiV<7IΏ8r.5`hw1Kty6{(QyN\58Kɲrf]0I&,>IwAґȍMڔ~[~ɤ"Uh"'AAky;0Y]N {bXl" tM&Ī3RsgJqt(;u,#XuqW-sZZwrK<95`\ 1]0`^yYTK}Ϟ=&@#$ '(7D犉ϕw̪~?M|Tg"woM'[@.4-@ൿ˽\Tc߃lV|3bWqrQMK ̤B x :Pq{q Q`XkVT<8EfioEKD$r4ZNFC ie&DJJ*)_(Lcd=G}͓]3h,Fŭ@YM]8 1eNاzd EW Z,'3v@1\MFUz5BG<.I:DJU &cOF(,\,"L@eM&,P`TkD8L Xs ުBŵ*Ϧ1x d-fI` [cA.@]!4޶'1_;kʳc0L3k|2Aq#|5LO eH(1U+qdWАE< bG94{z#V Dk24S/9gA12kfw1.gm9J.tqދ@l6tJP4$yv0d0e>ip@Enof 1DrBa`dA$sRCM 0&۷ A-qeNږ1 LbZT*ʣXacnȱzʴ:%Ќ֭90B(m n/gf)3 [#BdoQ%["E9]:CMKqm꽓{rV<赞ٶbN8ܵxhS`2ՋLTĢh@Y*\Y^G XX^ԹSiQЊ;{:9m'q?X4)Q:kPypAIQԡj?%/WSa.p+EN0eiTglcp!@@3C.upuE,*"x+aL5E6-7bINW+ݕ36Q@"(@ gZnEfm]񣙿l`@v/ڢҶI/11|wKI\:[@Xm@{-2Xk;IiRtɫ\gڴcuh3vD{[5Qvm?x@d`#omn`ۮIwLLk3i{5G3 z?_] ojSmk#0vZ'k]cQmi>ʩۄ]W%MvtgK/>kR4yvjmkw Q1i.ʱaWvU3K:^aَK]Sa5Dmhw Pk .q;>a-v 6Q]?Kofé7jnˡX"-'cT@D5)eeq9‰0 _Ux┈pn~cw:53zIN{{yHyvx]nSL%ٲn6 4iM#qD.¡d+wEEo E{E sfHelK+qWF3g_==ןQg";my !g8Ou%1 &ͽ 8q~eBjN`2Ϗ: 4Oc19m͏rWӢИ1G|XB39,jE(ɪc"~E26d> q7RTp1q!^ ǭBD{ğVd^=DfhI|MJNk^?[٥LYLݧ> dG$Lßa4HH"A"Q$:8Wlϩ? `>'c}r!Q"(T,V[3_ eM(݈eB>̏c'#Vë_tW4{-DIi۝-yYp :xcgl){Nï޼yI<•jg(~S%|`^]އ0Yv ih{ f_pG?Wk|m8;]%t.jK?S?haa_m!ۆ{V$>&fxo{"y'^qγN. 1O__6KLW*id ԭ`N͉3[N੏ @TQ^?_pf-\ 4%Yum;(O10 Lb>J _5dcvOX o霂YF:I٢ɇ^.>(0:*Ŧ֭B&oegD#)p?G)5$bjFt׵z|w?bFh)?p&p݄=.ż;(`tjh6]pN! $ηB,n%,) o}Agq֞ 6?0h`őF1]Co"YÒ!K)S4iJd-3!XqbGK yyGIwlчF2ը9+p>NNg/=qD32;2`I*5Y)Y 5k6 x-NZ6Kn mQ" FY54 Ce?u6Vt X L'l֊Xhe_,'@;udu F[ф,hnV &GW Ml!wxB"3btr(>Ȉbˊ^A_+P& FQ!O̓8.w] /N&R?׊=5-"XDWI!}#zKA k|Qg&=fElZO[J]Rm?َyUN={ 8JYj"5KS4=wMV AG؋GXtDQb۬Zu9s2J Hg8MP5h*>dPx,۱3JO`'8F<ЬRUU:ybHPҳa5D5sBRZܦ{'a)jVv+'G>9w~EiC!g]pӖύmzW(G֡XwQRD{B.RwINv8n-@ ܯbAEo#!5orɑ#ZQNѷ9TVه>ɈtRq0gUIz 5~Ed;1Q5Hl`w;Rl.]CSAْĪ|GKa)ROd!UvFKizqI6 52qEjC%/~PASG81ҽ }X㷓ncHâ0т~(ΖF 4`>@G0NIq448C"ӑ+6~pzRd~'6\L;dr9wl j9|e3OE5˨ /pN`UOdJ>pfϏ0[t&A;@#μ?dráݬHSA(tAjhhrTuEqjj7<{aZId+ `KoM!eUkO4](v*|1zΩ;D4*GexR+zo qV6u_cN1Z8xT]8qr;FS9`nm?EcLiIZPkXU Lޟ$M,7Zv#E)ANo\?p+"ft:,~DqK0|$-MJbPrJH\EMωXr'{۶vR-Ts03Xl]𔜏pm?vV飠+Fi;0eYpkb|[l!Q؈#-P])bLZ>^KTׯ$0@}'bwtk'ʡm#՟)1\3qwvOm6QѧfPEOݦ|[}/mHBzh<ݨ*w_*Tm* {.5]ј|thM< !:SSՊݖ(-Ik=> 7,em7D)P״CF "+Kx`{wd΀tâ@]1Os\uZլY!vrεӧ{ (KtUr@nl Sȃ]x o#-7Ly=y$=*ģrʂ[lc#8S5>]0|Z[( CyLWn緶hʶHaLRN#᭡{&" ÏտX v!y}%r7(ת]FFn6Wo\gR棨Y>F8ΊrlU~-~)N$ /(344$ !/,\$-88q3Lkҡnm0ׄhT<\ޯ4sHdVѦmu٠EXvb:Ua%!7 a[>sn:8K))s+/G~8Gӗ}AcgkUM[ 2Z9b{(H˧!c䲷VȷXȐ* =! áPE@`E종sGS@)?(2k~m<5+ı ҩi8S UpKOUl^XtqT}m/<_|u?U[*.Ya.":j쓂ґ'`dMq>`sd5;L}AKLsU[ٺ%A37| ΤNM[h#`▪q.X1JM=_ϩ:y@HOQ2!=*U3uAcy^8\~MʼK2lȊC_Q[⫢K4=kr\"~tW*#脑U8LpeĩJ_J[AN Xw8o 3bhBnwvI<>:REI#y#5.gu|[P:*;.q#>yQ~* j֒4 (-ĥx“#.!T Ll*3!8'nhȺy!>@OYUxW}x@Sd($#…PY&v܅f! (٣AH x?S_'492d?;QoF% Md; #LL%rȮ/1zw *e0](A>UT)X ʙ|<~!±;I)!ʟ+H]wJ1dcZ:9 ʷU}=a8RKc^-HSBd~)>n GQiO0Ԍʔ<=!L瘠"-]䆱|jg9.(V?9T堒`4$|^L]%O }7nV_o\,Zeu汧Zy>Y˨%JL̩sehDPEYZ2D&)F'm=^;˱("3i3ohTѣu@*:jh 2~Y=>NN a(#<n3c,l"`!L3d<LwRŠ? `Bu|꽹>4/׭[:hu T(8(\|/pTx~n/H_>g"L |9nW)D+bCWϷ/*lvΆ4Mdv3 n7Hf|r!i8;.[ Z7/ M[* מ2 j' %z&k|-$FDIU4:o8ZAPSm'ǿAvOXѲDOІp<ʗS_aP93?aȶ_/7~&F3RCmqkJukoe<5\܈¢813|S3PdNT-[ 66&Z1; \cZ.L4y6/Vc)Q'zl,oWIs()nWJD& _=ht1#&}-w C#=H+WFvכ\s\ dLςϪlXN3#f{:kn~1Փ)bb۠jM55؄V@~[QUYX:Fj Ի) `lJn>qxklYJEYM5Uװ8@T߶8Uj=һ_#U8^%oI3&N*e_n|"]y%#!7h!=Ldt#Pͮ1q>׻^T㚏qԘ|nE'jKq65TB 5PKSMz\RLcsu~{\+sYߤ;pZF Uڪ5$nSh6Li<$-6<<#~ד:UF(/E87qI]!^f5ACs5u 7'B{De$׼)!ѷFm+52BUST"6x/F-ݵx+B)>|s@1e<2 RNQf_[kr〽ևo wpƄ{4Mf\i q^ ,#8lL&5׫z{Y]m_)k@TӐ&f*V~/$ϖ^Z`+ɤ-{kϘ2TrSF|ӚnJ/.Q!z|$T-5X3~7Ij)$]`/\3SkOǞ~*`[;r`8(8! 'wJa5~TmY%vŠ~I3VR/9nqGCznN82XS恱~4jNiBZלO^Mbi8p{>ĶTk٭Ы7*8%﯃5ߓN\%GBXGխ"ˊ}[qj`k8^('?!^[͂ =;g#SZ`GweMan9B_R> G?R]=s"jC60kV+~WPxSp_Ƒo>;$lRzZfd4cwҹQ0=Qlc[n71'ҏo\P8KpH'eCO -4G`IU@髼HT5"(d -b&ᣂ!oSPvb 1xnHwBX0dv <}V{3 ѷ[;:z^٦68a+w5X'I[a_p[a@G*LJ.P/|whVPȓs<?^ ?b Lܕϔwjޠ憊U!5MS-ln!9.嚝y_re=ʳ3πM=FUC-#1ړ CgzAӼSgz?<\`o-O힓m.ׂ9ocA_bqen_!,jm6pN/y^c0;2 9Qa8uY;eDrQeEpLVҸTBNj2Hxsyrܤ D_܌P+a%neF]u(TYD<|ܨRL$h !In Lg<YOPN~*2 񕆻q]qhGd/$6Y4-?N0LT/ݍ*JG11]-o 2u2 ьĔfJBV`CSGVHSi}zg3{VP _2o62P+-NShUF{IhXZ'kD1 cL@Pb֠bVkŒm *r#>nЦNiB"MõY-RHxW1/M!BȾ&#IOF3 &fm`$U5M55ZE>懲夭/LI>FّLCfpTj!/IJэӶ/0!RE]C"Br0?Q?%Z]Kn0CN}WʬC3aF־4L&&\GORN\Ue(j4&(nr)Sk鍍Δ%Z ZTi)Qׇ5> .4GR չ~z[\2BЧqWtEM5`q!<̞>p&pt=_47<M} E/9!=HoH*'89Kz◔7_u+Hi2 _> eߞP>O7y%m[DFnŁ=||= KO/?pxSm\P/SGaX !;mxˋԧ"dž+>קr|4rBA3JQ2:}]"y U Q$Hi yzlM-&͍OPS!g^T?f*h!gpt)_xRa&Ai79yQ6~2P[43%5xtAZr?oј){V-Q Q=0I?.$iK5XV+Mj+>n&ihU%]' SB.z#?!ʞ&uyūajX*Wz\gc>WMC y\=]LJ{ O%X~؂ʦP,?v,h|k,Bo D$m/h@ ElC(ԳTfFd4b0k;_]Ƚ%Jd7AFpE10sf Evu 6QCDEa\:N6tE.~.}>EKt͖q84 ͩ~s!8R"i4a70fxkKE]F/L7wb p̨RĭZ@o{ ˥Vq/Mf-7rp왁rZc N׳3' 'z&<#O~fo>\Eg*BAet73K_*> ImONgΒ,@sW覧Q4-1ß# zyuR.( bO(486QDk?'lb#rQVx!5l2[ .#̆o2>9Kks\nxM+R:z. ^q s?|H|@A'PΟ 1z{eM!Bcb RAq<(1 dfAA^%x;yG9;GBŠgURrEخyoRTQi*TN! 6x[[o~ϯn^KHe@"ۅ5bEkݙ7)p!(Zy-5Җz̐\r7]b0=7y{HSGeC<U_EiШ8wzP*|6:ߧGDDZ$<`Dc%Jk[LQ@@UŞ2uMI*v}*\cyX5 3Vp~rŴћvsg]NC%84VMe`D̯8Ru|&) GV WJ:b:^K#Ŗkdx{\eҀTuo~}~wnK0%EPtDL U` 0bq!HBwؑ\r3[eKaSSvLzD]kgbrڲӓl+@" eKIp,=#C2 Ό^äHHc+ʍ0g i~z_|&F=Z€+@U@a?:mڞwrE*jIH +JCn*ɐHi+FSTwm+4&&DJc"tf7vҏmh#_=MSCHh,*f( 5%DzQ~EhN]L1RA$M>_!踟_A–7OΑt0oׅM# tstq)vuc6X =r`w{ uXY]TXۚL2!=m(N.;LسJ :G&b&ԌI3 ވ7TJt&l"ɨ0c Z*1#\؂ETF_ 0c+<5@k (xlZ8@ ƴEt }ã֧>^[m%Bhn]<l,]wd{i3D? ,??}=P|-n=•DZᗶڝ4BO˓--âDcEޭ@y&h m+_Xvʸq7kZyq_IJ0Z2ϭܨZQL:X.?QIT^|aRPUw e7GIt{w.ld6%Qb] ,ޛ2civꇜ\Pӛ)~=]x}|'5\i cprPaͤBӤ3=l{ ,ixД+(46xW!+Jvz&r#gPquhtMÕ/jk`E)Xu0!7Z%ȯ`* =ϑNsVmH$^T OluGwR CSLI "j^ʆ/wXb1Ƿyr M}DK.\t/\DN y32ʭZyMC0 RZw&?tLjf‹jq`m29tSM;~{|!nxQ`?P5?Ayt$l n?| 6#pxYn6Si~$N @CbDY\(Q#i;fE.=nFctn W9v4rQ%Cw[?}dK_ ]uH7N 9 +>!K,אhpm7CʄqS屭: X/dp[ukd3_;s oMp%.7n;MY`ȁE갦 ]Kx4U؎&:@Zx j̓b+VFtָ5]ENy )꧷𳼼ດ`𹁐88P:bVI.qμ玘rcR0y ӺfuĕəݦOacS 2mYX^V(KS X@h V24 -o Q8=I"E5dủ~rne7ne,[0HCL^ tT"`9r_XMb=iJ}MVU $&x=o0+QƢ8 P@;CǓt<v{ X!@H}ˏW5:?׾Q&zݾQdd#a~-Ө `lT 'ϭ!`'m ?1huvT:gCIڪH8C[Z<вy`l%iPQpM7ˋ:ߕ:+zzL EE8%txWo6~_q>VVahYC; {|M9l N8;[Q y?*JilM&hE|ΜGD\al&~đRRJ|N1V4}t359/[R{6њ"`.'w\r^stsRXo y}Ѡ fVm?*v|7ywG&oz>t3=N8 KZVNe%ukɬS=,0#|_$IEWpQo*۶( 01\'(RQȑ.O0 (Ls[vm12PZ6_GXݑ#QA ڕ{Sq9SJ{=v,\qcmhCE~hZ!ܸƾkC7N'B u巆wǠ-9d%KҧD,[ %O%Hc{ Sd"KCKjX2ϲ<&ųJt[ϣmV}~d'CfzJ͜s'*398Vm{{=O ؎7Q)PV g ~UE(ƻH.,anFknKprxٟUUNF0+=ZsBVM;7ˡmL3jP<-ԩ'X,MG}(6Z_>#鷽'Gk!322,2;N&~*·&^g$SɆn*s  |&Wbb}=NchH!aD4d;Tk NE`Ř(ۅ5@XcǼ^NZ]݁yFlM4"vJM%(Xj}llܮ!-T&BȎ&]#II δ+1M`uG@fAZ EM S,1 HdoEel5IUYi} #8Z~5oPHkސR֭)f d@"57.u V  hok#a]M! nf}m&om`>;7[f f7a'h`&XVo#_}02&Ec܌83M&Q3Xo ƈj(r0gm^le1gjlĨ0vtؠicl/2])X:ǰ.Op)>}O@CB" kpAM >ICb5lj.GMt+0k¦бM#P9o-C ʵZeKwe.*tBզl{yT{\˷]ŭeacnc#K3dkoJsa+ b,YKKLRFԁ׌~)̴1S3)8ܘ39>6?pN*_Ãj5KN1 &@:T%.fX AP2tBa6nvJ,r+Nf4}kUڳ-?6jIAm1xÒeTWجKZC4c9`7`!@fWcNbVE|5U^MGi-6sOin7Q8n*lDCHzĭ\d?uЗV2Ģ zXYZ,FLaDgY%w2F ?C*Y/Wj%=,`mP~~7G7[)|)b;>#.10`nA g t a͔Gۉu@Fsh>81z\օu mhZvAb;Ă0+(MwfǮ]YTweKTQNu H b@0 J!:LiZH IP azUfw4 v E,e\fgo\t*Կ mX^h-/t1;ȗJ14VMq~޽xe יk\ IbgK A$(in5HD{ Jqw~0m]]U?$:J~plYO7ɣufQdq##|*#p ii3܉Î痊}` (R#R!}42mhK ViRVWyMyx{t{WȋBo9e<׋ҿ[z$P~ _?<7*:-nuJ>,OYAi *>u}NV܋:i|%7=8}L٦w~||FSߢGym$5=V|t GG46YQq]uXЪ [omoQ]0B|]`1rƗM9/b{I8<[|q3Js7k{)p (UI(i)VPsx\_oOn^\:ɵ:ܡwmj.Hd%Mz(>=h"`:C,YR,VYj̐pIrb( 5x=n9 aclI;'ؤNg_ .Ii`=d]UJ%uJbU;9۳]pI+вENZ,h=}F}\j]3!%+] 'xT͎0S F m*m^vJp(dXulcO N5@q@+a7v$}3ulT\щL(υf/@炴@4YeŚ~E~m?o}yy~lm^_Q k 銳eE>O'CqF-s ڑ8ux tw"ݻgsz&5?쥕Y'kM"b юEBDiZ~򳝜^O9nׅm\LX̽mL+8`0IB j;5JPPYCB:U,9]$l!Tn4+ f* %922xl1vUJW"-?Dڑc S!.YP`G8-mz Ii)N? Yo]ჵnv/NNAn鮦ݣd_pY2~DW2qx&4\%xn=_1eV,dI#S[2ƱQ)$ wD;YRS8@@&A/]\JH"l˝9so={{eBq!W;aT5w*LTASk1p#X???{Y^!kg.nDv)DYOZ}m)T*O~bZ/1=izVYgnk+ZٛXU~{i$J>0:h:iX̿+ L-9,<j Iko^]a;"UDCb^rP'E< wxC+`% DtgB@ hqt.8Jo xy@9 ȎbH $R% aXBSYA@%SZHfPEH@ \A)|h=`:*i9* IK:x4P( FHQ{4 ]upκ<0wX!Bpߩ5 DckK!z#ohȀF5}+GZM6U62u]uGCD4[}  4W&οiA]Vj0z%ڳDY=(B4iM!~ChR\=|+敠0Yx Za|s K-,P'`.Gai~,:BAeh@ѷP+0F숤9<C2呠_97)4KWh2KCg\4GNZ} {UB[CADGg$|W% cs؍F *`MA VʠcX\D VRdԘoU!櫲4_V\c- KUY+ȒwaQsBS4曅x~G"ٞЀj_8cjAfz0Se70oIo5?*H^ܰQGPזum`POZZcAQE'*$u1fS8f?CA OZZD-?2jg$TYcb֩+/%~A#.فx+cXh DzZy0O 0l^7ae0 h?D'Y+*%MA=?\oEP1[>}x[Ƶ/޵W&3C.|;nK͞ %O^˨9qo,Wp%/?^EEt%8ܔ\`2f?+b}S/J.Al QzrLʇ=O|o,Bcg\<])rkMZL|Tq>C +p)ˆM,Z-_[}Ũ/&a^ XSLH@ʓ KؠD\+vq"tf*mj{Y쾍|p=3ղb<꫎:f?VShK;k=( 8KLMj덠o: _ۺSO4H p`&1~bdէ3?t"2 T_;!i8؉;!Sx0kO^mf"oҚ`{iluKZU rmŜ\DT.ɊV@֛c d.`u  bٌi!i_T/z. fc&;".ep+7 zBtaHzk'ZǕb*? I@zT1pƿ=&!peV׸q1Om;17.0A:͋gފo`IV`2(wktO"Ts"l@lO %;?77&pi#7g dgnIV}>?]M)۳cy RXuXNhޑS͍4hVvq#À3Ӆ?l 'cL3=Asn2rTx<U/9_}\6*#8p2h~3YxV- RS9c4,*>.xKd FW(Mg!pI[טW|4[7/Fb+pA=g`7`;'e?OjNl -Ol sG!URyKva#b)7EoY*?*ba+[lӞ`(JN65 MSʉйpZRh+eԣKeWˢZcT$VbjuO"gT?kk ` WW3-y+PsfZ4fڬ@`;y5Kc G<MEuC]z͒䕾 ˝kЗ rh1łw-+kȗ2t5>|-0@Zb#6: Nr cz8 :+e=,ٷ^xfeV%V'%gF->Y-'I NB̕2vfa3n2<D)]/uve_I0`o/GgÜӷր`m}3pv<94[qoN-+}P3w!- W pHߏ{[kʼ<*PU9٭U{Q ĒinHH:I J1-|Q5y"ܷb:KbUJp{OIzϾb}\>blu}1vG!k Y7wZd] Oz>& 4ԥ` |ޕ*Ɋ9HM5FD(%m|s jP0 &cM#6(բiiX_R@E(sUs=&# 0:ɍ݄ "Yo)&amIk/A8&qE-]L}k!fOA 73QΨ>:tF֝b^k>m S,~P]5]ڢF2~?owÿ <|'cPİ4<΍ J3d#t}n+~ʼg+?2aޥ$&v?GRјSFc$4f f&,K(&6}tĘ"*Ԋ^¬]-K ywu҄X! EYRH>Oӈk$CD AK.XHxҖ*˄%q& F Q=z~Heb"Fx Ueqh I1U6{7+z<&v$3^0mx^җ1&͔Ӏz#Eo y_uᵠ8?fYLn)Xa ,9QϴûPf=h-qpfz5>v1%䙁<EZU>ǟ >txj JǮ͵BÙF6Ӣzup2 fuݬ `*DxTM0ﯘRo=VTiVmz`+f!U[Q`??ͼn~~[rh4u&H%rGVt3 *.|Ly֑~8{ĦՍ'|$H=' kcD8#,TXR&񅱫΄ M E)rjKLչ: d@5Yš\ȕjojW1SkJrc~kq3;jmȢ_jI7YS6z 'ƴ(tg񍻛&D36쩸43qޔR-. JC>zXJ#D tIl&./l-)*BM z0~" &0WVN0/T^ǛUqPV7=cFkl$NKLZҺF)UMØE qpΨ弽:~Q 39>FNrn訉WBj[6gpl~jjnDk|7C3 /'! PPi탩?wM6Q 6LK:wyԃûo;$ВXਧ9ʈ\˥,)j ~|hs_̉їH:grɇnc{e:|yӷ3A;9I\L L"dg#+zq.K yo y.z Z=NqI?,yÕCjdDKfPs\ּXYV [ >K4D@CBm4<",v^ORvreˈdq77郐+m3X?

oOS#2;[+1K%KΙ<50DI^Tp\ސOr_bbz r[]U%/~`UJpvNkfƧFi|OY2I9+s-+ >n=Y2*~56^au*aaq?/ 8=?I:`M܊KCA~쵻qH{r 'IBq4QۡrYjΊ[ Wq,;uT3 S]<.}{#bLJ  όуyyT7B ". au3O+T4nӌsziEgߔ:I*J͛itUQu9D:!خeR3(r r*_:8ܿ}f>}U~ 64RmGI;~c$9.#޾vN7ݡb=fAs*/~-`x;i>_oLc[E 70 _H|ǢΞxS * p"^Stgܻ T Lt2:7f0kK-]FHy2=3C6S<),zUQa ]NFpFB ",H$xZ[5~WjlIh7YEBꖊ]xObSۓ4xE<^JU9>K˦"ė?9w?s{u=Q> Ig"LuZGf$|M'6_?Go9Fߏ^o? 4{1r\V3 Dwܵpx'T|+3/tn'Lpk ҝ%3rӜ@5؂< eA& FDնg:b!G.X$F&A\ބi6zHکTƲ=G]L%(8|9f+cAt8i:ys]o9_ ~[ȘqS? LRM70<sc0)ϑf{D[RsdɩXk[c2cI"(j-۸A۷ s گaq*vXk1Ja\pɑfi2'Q\#1$;C.˜]-Rܥ~(nmBD!aXʩT7C1b&@jDdJVt$B1B t &Vy|fPqIe;"VEROJ2y@Zmi~Q%\ 3tqCZdF6Xhv(Y*~֜ i%iKD fN hf+YxQ1r \.*Ux૮̃:CԒ6%1 ɳt)!g j_ҩ^ ƕoks>\*dGz[ <%5Z$# P|z_yAWoL ڮx ^K[R<&#bEi8= @P)~K2Poεg]&dر3Lp jRw6kkUDnSjMH+Գ "G@{ߒ*H?߾npYPl~Ns}:d w.Ws*$\">-B$Q%xřEL(N⌶r69ypz|A@[ev2ayU[M[ hLn)La+BF?-;ޟCF;VɃ{p>y~=~ .CSD-9b+*bQ3'4 _7.;AȔb.=MœmnOCnc1pMoJ-Urc!3`Tݣ\L~xXC`i輧\yD罯 E29' ?{o@όbH=tQAk"w~G. i?1W.+E"\4/Bݢ9;dmekrx|o癹8W>r \B/Чt*Oo>wK|wwӖ-ߵC&}rǼ%Cvi9"fG1]<(kQpkb]EF-=5oEmF]OnI*̭lt'7;G#! 6! Wn,Hf; ܅!-ܾBZTiHN!5% kC?;@+J ߀F4kJe~as3i]bug1~<$eyY\?;YLGe{5j)4jh-_׉'P%>{_lD0ʓ!*;#~rw DI-QY߾%lۥ/vhv4~A|4#t"e"Vȩk~f n_& HG'"8v4 m´O4g05ZPo n~|ud$\kKpfuux! |r:4hW3a1*y J%(r 7.Pz&_k|  x ʴi;y#Z4zab+L(gA=xGE+eQKM-} 8pk:O@92.,jKq&V06"@vlDxwfUGgZ{,>ef@TPnu`vT;;kk;kWoHLz<=kI-lx]OoSLp`Ү,˩+%jG-)%grhP'Vɭ5p7~7Cr+pa$g8|1Y![Q:AvD~uQS͵`s_Ư㷽) goEv0HmdziJkFE]CnǣbxgsFH"{F%龨tE*'1x^e iF;kTh=f%KB&)1]!HQ…PVwykdk֛fuް*>1iTm2EG r~KK7+v<`2mBteD*}D{9PE(.k !:0sr <ZAhH}Uyo}!e!{q.{R)Z kGHҌ~1-OL9!4ePՔ>3}Bm/ ҫde)8Yǻ6|a"|SGl6.BPF*".NHla$ǜ/U&x-`0O2Ob}X |jdmV;T3 ͌Π+:5xMT4*pP۔u  w:&ZFƆnF1΅肏A]8@2y1RLt-W /!}_/[ֆ|y"d:3/sUlASXMn '4iˬga H1HX K< 4RPs* 1h rW;A*̐IgH!CɎ=q 'q3Ocs|o럖ԯߖտovGqCCW.Asc >>lV}(uj Е*!hB?{'SKmxa`xC+k%A9d-$1nXKV \LŁG+H Xֹmے+Jl̓ift~63Q.,yKR-,tN*>в hA[ʣ-شvIrD)K^30-=7fwYH/LҌ=# N.y#ƜhcЖZ{ۄ;jivoPp eoOP4RHO+F>􋼙 D(LA+xs<&rYz0X KArWWcr>K9: $Zun\24KU1V4c)4#˯a^:ﴁ5ۼltnN6tnwr& I E$pA2v);H#WmqETk"?Έ`k2cOvCIWY+ى4Gb5MS mb`xs35/5@8Wph$=xl&~Uᨆ  =,c1S~, D;vjzmQ+YGO*NeLx̸ ;^Dœ>| ,or':ڻ@!: VRmD}W/@AqߗV9Nlp/7`9 Aܱ'p5tloQ=A1Y@K Y(&+,!"LDKȁB"Td@eFա/rB'R6QٔCP'og0C9s PM@_+ 9mXzXȖ$ q{xl--@Q B`P͞n]#~&* `݃3ܬZOv}` wlԑlB̞U*L9gUoOkA#m pǤ"uwRj /*:SQ$ﶆjZg oa0p/XAmT~&'QM 1.σh H+o@k&ˍP@=RF yp gf"_>rzMa~i[u~p5uy%UB˭5$ i%˷,ڳG\E6%q ԋA>>b1V^1DdRכg$f +D\EU)-.d8. .E6޸斔[Lp)jrcMh"T|r9ױƘ[/Vvx =n$>FOdcn?1Ñjc* .o a`@&s.{ćqáoc?&2NP9!UEw-Ahd(lv0< is_? 2[\tn3&< *#&kϖˏ.5M~̄ʚMT6k*_0Śܳ/ng]Éc5y,w^B.9KS(UlPFh{GF_m7ݳ $pe@loe.=dEpp]}B2i$[uAjT^ӯ^ĢӸkZwOK)5zeh)ZHi-q9N5&n0Ŧ}CL9Ni&Sf@J:(KBA[$8 Y^_ȗ3ycq;TO*' }_poԢ(.`^nED L!sW ]uWNg+֊M E:SX[YYd8±۬v8M}wlz6? er0$! wl3i}0G.,vvUX_ǀ $X @%ܮ Oš3 R ;-k-|k@G 6Qi?V9.m"|(i m2a%a/չ`BYe(p#am%MEJe4WL]yԵikؙ+iNc߃=D9Hom+/SQg;7ΪtZ> 5ÒT`qR@qbCs ~ݏ ni}8 6TFlMn~A⌂y*ֹVxnbn/\M}xc.E$>iq8S}*6Ф*X2pen@~l]恿ֺ"o{&TmlK$9yq/r 0F>[@Fz,lh2o쩫 oe5:Y]$Ch f2΀TĂZJ ͋/sPډ]&5WЯu\*unMuUK`E\l0*آPcao[ 2`~嫗Ք [ĤYTziحAn\{!s[m ;*f:7' ]Nn=_]hwkaIs ygX\8憎6; *ƓK(! 9.,o2cv(CGO1cpvJi}Zʫf\o[VC Z>I e0@G!NM#"@Ëd|odJ {GIz۞VU7CEJW5r1GZ4+} 0F 6 7q`gM֩?-Q-z2t"c7؍{)|DRTtHݝv"`G`PL9t-7:K7g>`J&Y*\PgҺϬ\xs":,B=h~Q^7㍵(.1Y_w#2*ifš@!iqNv'Uyd&fvdn.V9pϯʷ x=]oFr+GH+i}j7^`a+9geCæM'.1|9q7g"9MϞ| 62e| Lc==S#M s77}wӿLMv6qOp8w .c[n pەS9qnX s˭z7<;["곊a*>M"zW}`p$yb>Dq|,z<1#"8is=Bc18M|ێ9-ʿ(<חge눇^rst$<x/޳@}!A&]ń/ mԘQ2\o:Vm|m`{x5rr D s7k;~{vH_h*"Et?#2(%nYdnc^$ #쿠KxS"u{djGwuޓ/r)0VxUn1)s% BrBl֊c/^oCnrC Tx_ {7Q6KZ=}:ოޫ绐Z 0#"& DZ)5\~ً'~S(Ow_~(O>z]AyTsS]<6\߱핿zRwƵeė[{B.uynpBAi"b M~i?N'ar}ؓѕ+XpEzP .3gՀM!{8sm<CpK:~ۖo?{{zNǎ\r1dW~"bx0#I6C ױas<ˍϗ ypo,o7-,u_-+v oO}ppM]{֘npScvpɄ{3(}؏N4\zLN ŝ.bFŽf2k%J| -W1ȭ9{2_$p+D%H|֙})$Yn]fV/ d@ +~\ ɄUvdz.l>Q~\>]O4#lS0~h P_{ مܶaoϢ eoι<~c%m*ޔٙ =xhƽ:K/U{{=KgA"aWΚ~pD 6(،3 Ck%o/qRLs8 aSN\ao3l ȏlvO\0؀6#lDx1p"L>!~9'*UHy9_P) *JYat`%|MQϿyrF:&p]sqʎrB4i6 U\gE@U}-KP`E)2 xOۀOXg@:^[U u]a:>tzKs|f--\r;(gAcw踆. (`P*g55X㸕4AM7n%$v#'x(hQ w1ȱT  ն3r셒,[ܲ+唝} j]x;].{sˬrDvGEpoe S:gddП1mbЕhƒ[d$w|D D̑ NRJXb0"qKv辱C5O ހ*v;a%_A۠5,> WYnN!R1Idreo?'s{\ED`q˺9])b\ZJBpِK^X ?с6>E@OFE?Ohv(mSm3`@r;)éF6|K nRކH`bih!'˔\C6Ү(.b( S\ّ/t?SV%QRSI r&qO8eI+:gtB"ռpUhC}fǡ A3xXƸPۢAE=ԣܹ0FvJSOUhnKN(JC۴@ JO%6~L$xBC|NGa8/;+ܤ#K` %۝F=#LWvaw>A]./e\~ {}ܑy[?_L&)[ʾaLB$^CӤE.$Stflm+ojUMt^ViЦԾ`YCjK2Ĉ[\dX̏Qɉdy#"}GGn 8 L΍L?N2}3}YU_[p3EQ]CD@= '6&Ly31;*ZVb+ZVKEufqmMS+hes =6\.#\Y۔/0G?$9UbGu4ap׊]\Y۳\_[OCO\,`wAĕq2K~IP+Haz|ƨy*` MrAXY*l&`@'B7|H fWQKR| jv?eBGO N/gp kǕ԰lz5}H!h 6C 7&^aoW)oH6ZN$WQ#RZ9k6I~i^ r1 @.OF(yp4@͕tP%Y>㪖+%);E(-[&6+^v@24@Qu{TX3wI•ρTZ 1ۏHF4ߌQ^_.o9{FoqG7f\OZTџZcsf;Mz\Wr Nkrδ_ =3R?woXTcvUg5-{9bїdg| rkJk٩ sg]0#iSY|bȎIt?I Zhi̴%l\xc:,Ahbr8d$qDd2N SZ)Aٮ ۇGcM s6ra kGPow<[l+،,mxmivgɜtϚa,H^[%eb{UCvo^zWl;L ջzj^Pe'XZN)kmfms5O ϥ±1T):U&,8e[Fb>?QxmўkMZӯS,p'bK7۬uZQϽmifSSdXddJ1T~wX{'X JU[*X0>I~eFt2Bӈ}BI L}*c`:~b"B 5JzGptt~5w"<%bU"*%ky6Ԯ< Du[XbGp^ІZ2vn#-ua%UZ-K6TIF lXfaʐ%Ë] $0IREc<\m髒+nJ!S~ S~ S~>ÌQF:b)1 I{]'Ɏ4 Tf %čJyS&FbR&wJxz%җ%rboiۿM?Mg_?te- x˟5\L}RlB &e]O}Һ͖E3LXDp:44"Mg_t1@_/ ==}"8IRU!Ѕߑ1_8rCMP4rya dFJy0:UX_|11L`Eead׵H/|yk~u S\gv) }4̤64L[<9v%h* C{f{4 ͼS) 1=(FG%|}r1*&<RU!| }}bb6h <ߌ66"#u0^m)WF*;[/)Y4t؝T.fv^:hhƚ|l^@\Jق$x^r ͌Sm,QXP4XM$K5sW{`Q; xepf*Vag). L,>k`JN,Nb!ļ18ƒhsyOV+bbb@5ixCs+š/!`E|4ug^ړe;4B%ْҥRwz$92'd]ꔬ=%)l L,}U/[ bx% ;w{/|$ƀ?߻G>]$7}]=Y/3D1]k914ߑ.ld>u7; '͐Tמ踼yL>U0KCѡ~Űɷ?bI\0đ&ڣc.ybv:"kg*k#S{@Y$UkA@ }\+ގً+~&f6`i#<ckjs5rVjXIWKj*^zi߿Ω [XHVѤ7f\3UvxKð0P{"0L(=2OA:罶m[0Ե%7Uɟ&(_[uW4a:S"I92HYJjG2itV5B9 ,Ok Rc'6Qnϸ["5s7wGջ5M2̓ћ;QẮ8xd^K(IIޕkTkGyRX.dQ-r řڊmm-Fӻs9=5aYJsV_Ɠ 71ׇ%W~euCu[" x8b[wQMQyo}*TP@uk4CEL!QcZZF/ 3v7ӿ\H6}/ӟ3C! #f)b_P@gp}Ι mC lϰf7FKIfEv. hCnpJ+t)cKU+BW4\5671<(훪[J]#}47?pϟzA!gɥ%HYJP]0 = "h PK$8U)A8)!$,G;'4oɷY I} )ɈKYIw=R '-$nNx~0q ⊡GF + |mݠǸ zڦ_[< \Ǿb+c<01 j;cP68C\L79S /5 u) 3?LW$`͞6v-=3X!AkTDP8;H9c1%TҦI]ood'qC.lqj6pJ\iC!3}VӷYv%^>dB)`j 6!G!g,\rLfk}@Px˻#@*Ku!Hp"!F]h [I?:nWa_ͤKեo|r3uCӈ^*= KMԉO$mИHcF"4>+U)תc{/N4Sy>Xuy& E}Е% [sй,խmi0&vH,.ݳkІ:߼GNMJ§8v?ʖ6Ր!SuQE4L#I!ŵ3ZP98Ujlѩ E*gww,E Rs eISnNhI(&j3Uڌ?:_g;ϳEod/_T^ % ߷o3T&4fm~`gG=='{|L7/::_ۂkSҀ:aw*OW_q^ xWWp='yy; !F__?WϷbKJr{֐T K&=5}a8cYN 7]*tڶY7`utHYEsCq`k.\F5][۹̽^j W%vvז[; N:@/yA8D0W,y!?xgp(Tmz6_i>lkUJ$O*b>&| 1۷IE_ǦuLF$ M W;E zx8WsT.V|%ȝ1g'ffT4h%`BrM\.e-R \k^wD-4߽eƤ 1Hʭ*>J"q7XkA /BT"k'ED3ؽnxܽi\ %4 8/Pȼ%Ah+Q@6>&ܪzcU˨VGB=f+zoπV* h;urE+tYGW rB 5nEI[xjShfNܳ] ]UN>]Z9)ޤD`kyWOL>1건RR!TxKBA0J~3azݬܛ- W22ZZx\_oϧ^QT$QҢ)Ǩyws=$}[AڱopJݽ#yDX6ɻ^W?8$-N|]kN{_=fC˾<~"1;|+;'+2{do;_ tRoXzꚡ#*㣃?zHN6zy }7Wypb)m x>EЖGbڂ]:,'D>"CQ> _)ZBi~rz7DpoN,5)EBy{GS%I(碭șH%16 % .'Zztr="( ih"*Z ?a@y&78z<]rsl`>LĊh9+0bq$= IL.DYdp2RyI q@~ !6@l1?E W6yV?س׍ޭmm6אON7y  q4fxYn6Sp@b9tmZ@Ka)cEj$eWwöG{*[8CIe'r 0]$xH~:?'"cdלO^M~h ^M5C$oμ)LiH] Ѓ&J7\^}p3dexUn0+#mrA4 m%DQ9!x؋t7 8R%&΢͆mE%"3g޼y7x +`-@H0,(a` sYIpa׏8{ٟ34{>73Z~_q tw<{O_WdΟ>&.qHv].oҜ]lwQn×CO,I\p̤IrYK *"38`2(X>:k V+v| $%^Q1BRhl :%~y!VA[󂻵-Ŋ. ,:,R#֯Tzu† XuYdz{ 9SdH|{f' qoрiíqOٴ;Z@7ssʛGQ[$1G=zI2b[4 CTsC5ޔ_ƾ, 40HV2F^Z2: Pz[z H!ՁP1!԰B*Kd6AF\2fv <as 0$1㔩q&66*pAEgH?b ;B0N* ĨI 3Y :hۯLȘkc9MsSokIK_b1FJGH'KF!2"<~a9>{-e;[|׫M@X=[O:.$a;KQbz gI-G-v뵴JAkj!̕ :{mR[:`rϸCIR?4E EA>bJDL r+vPS2ƅ|4!f3\t'.ۂ];w_!#N?Bp uU_0'lWx]WO533]gUxx>@wʍQbBxL u@!,T9lm3.C0Ս2[cPb8/JwcThS1j6My(#nnfKH|q3)xXM6WLkmmz 6f EȩđD"UR-{M8F|H{3ҟ^^|jߨgi!mƔ UPg@F.+ܵ7!Xh8(Sp/MJf zϘǏ> 0^BQsg vvra̯[dk^ߐ%vB5y/Wy@3;_;KI*cί3+ 2cwr)硝 L&;*܈h]!W&y鴘F{-..^+Xґz\ Rt ,Ƒ9+ݘJ!孛I%X{X-ωWTB2mZ v`7zow/&rM>?j [Vj=4}oċ 9%e ()v|PqӼ5JA$(tkpD;n~GapA=8A <d4>Ht4?BDרc=փ\r5  v56nw^T tqZ*,|ܹ0ֆftZ68[diPwVWGf~g}bO<{w8@ɇLAjP&\t$Dþ#K@OjVp"9;s#hGu;GƬlrUZ|Ul>)r 4rZ2>)78Jir,4osģRAiRKO*: ?hu.&O_}SuC1'UHup:,` ф,\@/7B$|y}O; 2TfHہ|k4b>=)vLcJO[9]j$!C\4k>#~LA#r&$SR[p_束iӧrЀb:=mċ-p+T'cs)t6ߧi&s b6H gxW]O0}WmڤEt64О4\۳]i@H0Su|9M8;Ҏ8]?V7 {Y>fOa/b4Y&ax;I8CVR"yh师U=FdDuZa2BK ¢gqj%mz}acvzݺf o @@;zj9pm?(sF B\Rl>8*\5%42RikFx jVtf"b`?\jw[Q6+YN*A22DeFɀ# r\J\}^Eq{bWsu^o&hp6m, zU3ȃfW`gBK`awٿZcߟkޣD~=0k c <[=O\VpUrw[nNz}Cc`M/.6SF ߍ37441mn_؂@fpÑo!Pw 0rZJFfq>7uԉ_,{. ;֏k~ ,Iq,QiDbpx$I$-$ɡ4rp,"^ȸAޤt`sU7nL6:S4C"'8DX2ࢊh0 %rH"&U8IY YfЦa%K4!`m7ȯ1wK[GPp}_4rg\h:h.wP % t@]$8c@ $I4$8i`ēmXoŇTPM'Z[3 uY0{utZI5cQ j?)(;Viĥ~hbcuWG}/N:_H֠SNՙ&}RW.JPקK{8AD̴<.V7w<"XdP S. d]#y$Z`A0ef$/;o:6 s4ezᐲa @ВlW!Jf$J36|C>d 0K8x4r! ,^ =.pUxy;5X4[4__ gg80x|PNG  IHDRaJIDAT8]KL\e;wy1 tʣMZ"GB4I҇ XMĝ&…&4q6`Q iBLM1Z"0w}.p}}9>U %/!of͇WEmش,VJt ?L˲_˧qW^gI@pHK"H96ҕC:8CCxv(U7낦ҚFȵO1]Q§s,Fś{akw<u@xC;::n!q1ܙ' Xr E4r ORϿta =,2<$k>ZK}iNϐl6 Y+$I&}~kA, 쭥HR=r AS b YQAҲ~JSE =HΕE%TY;Y5sϬE,"" 1arheSإ)1z,&o?ȥPW'P1n`Na2x%1é4ڷiz컵kz'jgj[Wѳ޻g#|¯ tnyi} mM=\iI04~#A#̞@ %ibۺGY,RUKMN['3o'8}_hl$9LxPNG  IHDRw=bKGD pHYs  tIME*5TB%=~߾}VzKxkAyЙ{JK,+K)t@yb"Ȭp&`!'VR\l@`S#p)E?k}'nRƸy4a!G> p]!W7EX8<*ZBw+A &8 -0I%S4iG,x>dsBo[dxư'oHY#O (0 ZVn}k_ԀI!nA SkQ)b3e:,r@_\@4$m: iD H( k? i3ܱ!C#zFp"ZļXƶS,L;㣜s\<{ ŵO^ @+Boo/y0Y6 %o=m.Np^fxEl.s '_<(FP=_z=##caSoacpOSVm(Fu `;7#6")+E+EҸECxFvnZ|禨V jB3}GlWPfupZ#~k4J9$!!P+*J_;'?~_ajnE\,G8=] %9YQ:<+Z3M j麷)Wm~;vla&_f4YW2+(@nc<WU忉Op1Y/ &f*ԒLG{`C!Փ?%:~4ހ^-! G#hlD}Q.KեզŤ'YqWS=tHYs䲭= :B#$&8pL8 ?,QOѪsg/=poL;A.KJ4Ovj/1b tMIK[ؑbx Wj"o!M`2t\}̩\?P<OJqv=vYobf$RWqjyxQ2{K§Y_+5K RwH9]doi:R6dI?IENDB`O%DqՏjtR/E6c{,fU+=1hHu[Gc@>HXiTͻk3n>A@ O[r@!d2YSձ_^Z 7{Ƈ|Cit掮,~H,DGݱ$|(,>VO)MAH@ڞn"1@=ʺ"[ηō- $UHsDV!X4ǣ;{݃#즳~y[t==z̜"Qv^6[%gR+lv555S-;۶@׭߳k?Xׅ~yU;ϱp߳KmiVOjBz#n<"eHDw=g dO$P$XI4 դp1 (RBJO:e90V!-=CxLdX"/TFMx&TROkxCѽdNfrօDTQ(} 0'-Fwr4`&tU_5gP ?lHW CnF0s6Ҫ^6Z<>ڋ,W04p_I2s\'㩗AWYq]@ٹ":1BDsUOtu+.bx(]kZy73M]-ɶKP B% _}fzQ*XP<\p.7\fN 8" 5lj|C4HzIp]ȍ`u~?<^pDRʴ˞o@ 6cǻw|o_x !p4wԊڙ, 0Ud]->~O;i,Up\ H '҃=9 O>lIENDB`d ;3;m=^x%PNG  IHDRw=bKGD pHYs  tIME %ϜgIDATHǵV[oU]6}3e%jgh5$`-D|%>F#&F 6ȥ)Zv:t:3Uxb?gsf7oe}AλkAwmCkwC=y :p`%󼍶]B$RU5(JQ6)!OsοBtٻ7vM=wFfMsS}KC+m|~eA(KH"!!"P5 - JKӽ\U}CC/-^|rvv@.8P4ApB0RHVA3t @ww7Tbuc#67KJ-(tf!y>AVfk,Tft2pcchubR6 ;S JKzjcjɬ`<h FwVѲpSsgoQYܴIn~_$i׼xˆ ,YZF܋?{ EC {sԬqM˗6 p׌Xx{56qHB| -[U((/S Z4.5{xttUJeH 2|χAJt:=݋K.8Xn)hdMu-)^:uyK%0 h!H`]ѐJaxx>10PH }d>" fUK*SS]A_-ߙ?JՌbU8At}.8TEA2ˊ!30 1gvtPxhjfyM^Ր C?ظuuuطTl#1PJ1 ֕\ׁa/?p6?>ֹBD:sK1)UUa,]x *BA(iBµG>Ν`ؐIÊ@B+0ϣO{ ۶[l_}@K:cEm$\'Ɩ/R&?#²,0BBH\8ls( !]( @7 Xh4 ]D`t]s!bZj5&J W % C US՚dMu cA;by U\"{M& ͅBPJ* ${D(֮mLo_Y̙3:;;.\+ UeW}\M@{??!kDžT*n߾}kX(A]y$$*6mMO8m6-[4.xD.gg8=cb"lvlsY[v*Jf{zzNOkkkDb23==}o8 #QЍeɥɳ*K#^ޗ~_E__QMtMQRH)<}w'd25k/ `2eIENDB`ӥ9X"IDATHUMHcW=y1%IMc03+kZn"ųAH@#E,DP$PI@ L_b̏~]tH5tS(={=6oA"x_8Z*++˲"d6MW=5L$}F/yv8vvvn4ĩa`` [eFFFN]..kwg) ^ ?ܜs#NX%B`/GGGQ__.Ȳ\vok3 RT{Ael@HTƃU|SaT1ؖAՖ> !`v_R>\^^|(njnn&I`0EY}.#1&ZMl$I K\0,[˲X,z/--X,T( Φ˕xHӑ($"tedmh  &mmm4UTT70suprrj5KyPSSe;v~?Sbm{KΙ32k&I'IlƶcR!*"}ŀłRZ*Z(b%j23$Lf&99sCڊ"z[|o-XPc#'&&ӟ6 !D<=4;96:F=@l{e! 17?W8 LȁloWzbpojzݏLN]ddb^,m7ԫ2͖ dg'|+_s u[XՓV&i6mj&-o<K ,%iEܖEHF0k>gWg~"Յ:g}KBȂ,I(a!@H BHRԄ{{}Om[%;3 )@  ! !R RJ 56tON%:;vtKql2ŽRȇ*@H@8@J%{BG U`P&˗*yrݐtU!B 7(L -BJEȑG#zz.ܾwFrvnѝr6H%Q0UIu.JH)PR!$d P%>NxPNG  IHDRw=bKGD pHYs B(xtIME  .2οW;:u,vݵR_xZ(A!t9s^\ 0;(=o?S?}=S'$`q~n? M4lXD6^| 팑˫x%tƕK\7y}ɑÇ,k||G;{+O|C# --`@i"J6sOpgyD/8GzČ$lR$5@<q /hIdz=ERo@J`G^b6V%<3q 22w:SX,v"I-yC!X*Di9v=:#$DaЬ_;'L `uBeMIuOcG=74<|j s7(jEjXI"ƒ!NDb !aTl2E!FFR>|5^D:T{rl"9z>r0LxK\FHA@ڤڪ,h*u>u(޷`YJ~A'Lc݅|};?yFe 06ahC: \5}ã aKfɻEyB"f:cVQj5!Z+Vx!O S.չ~*B(lV07r^L IaQmayM]7B m?F "?8Mȭo"ssk4^˻Ṳ~nSO81hi4C x^!0dy;()8[vxKOo2CGG_~/~4 J6m6A!N`Jyw,S3x˶D?]fԹ<ĉ(~~ƫyƗп,R1k.PxօW {;w8IENDB`> vvBA/x/PNG  IHDRw=bKGDC pHYs  tIME5 o@6xPNG  IHDRw=sRGBbKGD pHYs  tIME1 `IDATHǵKUAǿsW̲ !p$ZE,[ bwF /}^L^ǁsΜϜs{zzpny0;6H)B8ѣ5Fc DT9X"R D"mb! !N8CU1z)`Yv1}Zf)mXe#R8)]Z M)}46&#@7OjFW*"˵]\<ՊާJT۞\wRtSm;u OE`#mnVW'秐=5.ljz\ w1272/}t&WWxe-wq:`'l|+|><opjq7) [+)dԶe4 njA6P80?~G@:,h[-Ha+؞ɧg_}<P1 J)}%3.+t^=x{ג0==+}{v׀fZx&'&8@*0ǽyg_PJԩf:+nJ$NM;L#  Era1qIENDB`2Q!ZIDATHǭKle\ۍ;uB&Mۨ)Jhx Ur!. \@ Nq*#HH)T"0cuw㮝6Ů\7`Ѯfo矙NH$gUUqo*YJ>ae1FGG|>ib p`š!O8f``00qPx<4MRlR \ :iLMM177: P>,"Nvmaaa4Mn˲dY^^Ʋ,4MxppQ4oX$ϓdyqKX'NQYUU, Wul&Y4 ۶D" ^gBЩJidY_}e˲rwP< 9׋eYiV}jeo[B?zE\.S*.5s\s`p}އ{qܷO.ʫ?^6[zln|mB4W+mw"0H;?Z:>x @JU@6~W ?-d;Ds[aA@]^{+"fv߉7d1+4+cKB aNkB<}w_b[hE9,bR$\ x?M#-eqwnnhbG6p<(Ufѡ4&kw !5ѣ꧱P]ڐB6XT h@DGp%t]R~*- t]hC{4'9yLN^I{"@lӗZ!˱o)&{ 8o]uݗL&ud2y5 zt IENDB`Q@ bBHOxOPNG  IHDRosRGBbKGD pHYs  tIME /$>IDAT8˝SnE=Y{P JCʟU!O x+K$*Q!Ԧ UMq]{wpMT=Zͬf4gw7p1 Aj.fs0xR(CAEdi,D ww#$S+4'U(4;߹6(Y'$H%ј/{ 4>OIꦊ.L e~t@<'!T3Q4Y $@2` \"* c@'G83'_Z8Y  p HP݃&U[ <=<8!hK9ED, )zf4'Dhcԓ.?(@b|qM y[@:x$* &s#I}JjGUD0X=&{pSy$cc/%:Sw]Tљ癩/MROpVȤh,Ǫ s`mC]9g?gbk>a bԷ؟zffu̦.AGN;` y6RpBӁl_ޞT,whg4Vsg~n35ĢW{'\;xqMwd㺗SzO_U}Sk>)k} &U~7%S+_,䕵?2?_2cPQ+~fQܷlv׿/]zlmhťJIlobxU[uSI-0<]\9%4ZoJCx sb``p  $) w'ud^9lI. Ap品" 0kPו6HdkDs~nnj^ sQjbIjByfIo@x#8*Oǐ <GV}/sxWK%l/^e&_yփd9Z֟w|Y]VwӍE)Ζ+ B}K}Q0l f-b8y $g[uS-E ;,C,aԣV|V0at^mtMpéhpp|U[ٔqڳ!匌~yʵ\gE7ߐYPy)4/u^/m쩽=269Wh`kBB1jG:S) /dw"Om5RqÔ(xlZTGPJ7b;0&_ A8L'>:Fq%UXKJ)]k 3bzA/?X U/WPozVJ@1""bT3J1o-T0^G);ԃ8R$M 5K+gePo+i-#d4tAmG{3;]@֮lh=.3MCg(c ֈDdӤTrFԀ{Rvlc- US( u+@uSV( z~H+Qki(p.{ T8p9O?u1wVRzlϧPn@[f.]<xޒ?]I+yL(-'R0/4?{έ<{фnض#V~# k Bp'*$W~ٱJ܏".'`@X\s:6a?T. 錽qnzc<5h~ݚW?ݝʇ?SПR=_:'sZ/\J6ҩ/ >E<,Xt8AznxՂOɹ Vѩ̤g( RΙBDYD^çS͞~u--dmQqKpQp]()GC`UG_}%LӔ?^gң=f ojrNR]ځկ᳇SXnUHp,Tq.gIt\X4Fu$'NG(D|IENDB`=f KG8 x PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`XF4ExEPNG  IHDR BbKGD pHYs  tIME +utEXtCommentCreated with GIMPWIDATHǵOTW;o>v€MVD҆0% FcLtQUM4n wn솽.Pi56.`2f1o޻ j$ws{H@)(z qW'{? ?+J[+:%&LR$OE7|ay hٳgHc b&ERR)ǡR.GE4x4PNG  IHDR szzsRGBbKGD pHYs  tIME 6b+tEXtCommentCreated with GIMPWIDATXWYlTU{m8!P$Ұe}mF D &b01$HHx񁄚hdi1DIQmtss|!VPp}d2ɟsI^x۶)9Zk1oeG`Ym#aB"mS.!Ç.e.B eEs$Zk,B)EZEp]qPJaYR) J)JRJkN) An-Ֆn>mW[k*kH)Zn 6NO?QLG풖0E1LOOSر5wknbdd& R`YdZseRCCC6qҥtuu嘜dhhl6ŋ\zuY\r% [\8mۦ ۶QJI,DX(oqL&Ñ#GyM=blll9יLL&8??薌n>OFα- nUuux)z77ҲоNn޼+RpqZYާ9t> (9ȭ:5gΜ޽{b1fffx%!p]rL6u]1.a61556FNk8K[[ǎc߾}qOKK b``t:ͩSZsq,d2Ҭb>m $N>Vؽ{7ܹbtyybq*j6^*l:Su,As#8j j5JKXJD " +cIENDB`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F"IDATxڔKTa{SC%Sr ڴhSPQA)h"[ ShA(b:8w>- Ph9爪r>_,KjSH:[tÿ>3 f4jՊ6Xc.ibP[n6|'LŪRCø':hLTPkqgա|c@,hIoUIO",$hkظ\x٦Z|=FԹiW_0"!j`RҕiQUsҩWkY ٭&ީ$ ]vk;E &j$hik8gwpν-F}_Cv2dGuALM14A R?!x|pgD8j ܝ#4Ƃ7;Dיԯ> SsOVXHF:^떫zՓr&!nRwp$ڴ6 ҏѸ_9/{k"G;M?=7]Z\XI|\d`?͝\kOl$'{/K[Z~v0*ZO*($*ecmJD}hÂz%dBLĠ"8OJ$)>Ï `!0#(L@aT;^ [m-Ml)<^ڙO٧]k orӝMc`~{۟k<3ijj*xb,qLCNf#E3ĦXVb(Nì>aJ9EsnMB H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  )IVxPNG  IHDRw=IDATHk\U?sιݦͯkm(Vˀ҂"h_$}2HhxPNG  IHDRw=IDATHnUUksZn[ҖHMCB@L$A1)#'N/0G S RJ56?fp&iv;pasfs3wF~+Zq #X8a #cG <MpBRC 8$ F3PUR4T:zgX\T# S*dШ>1_^2a6ًY}ߒKEI,QTs^kwozėvÒEd%fJGC=۷{~@q0,G?!R 6ʝkkOZLxUVHEyJ<% غ~wmŽm1 գj@.*#s s̴tHAY.rqM8cI2 o6."rS @kxL0Kl{d7v~sJBخ!_#ĬCsŞ4LEvh[ xeU/aMBre,ISM1ڕPYjHg t{i ._O!xusKIi*$RʾV(;Pw:lP3V fNt?=A  2@& AB7Τd2+LS! GO#Hunl8bҢ~'aנEebv#Wym︎!Vg Mǘ{Žh4 ;͓S~ZSF1ֈuއji:Z{yd5s ]0AU۔3D03NenҠ Y:nuÜ-ٸ sBK `yh} N0qJQ' 1%NOb1<&i+L(7F/0\f =0M c— ^ `TCTеV+OZ'ԠC9CeRBQIENDB`_0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FkIDATxڤۋMq?k޳9GSͳq)I)"%S`P1=DSSjxY^)^C\A39xKXZZpyu$A4P 8u"n0ta@BPjǗW yb\[لߜ>8NN|3(ƍ TF`&LS$)W+G7 ySg:i宮$:::7u!c$$ RD5 9\M1g?ǽ!~4غV:!x*}'n}(]uC;q&BA(n`\u'T\p{졇 ۷c0a B@Z˅<~꫘':8q~7E&ShjN@U#p.^9s~ K$m|4oFQDc18}sJes=:(EmPվiXæg,UF8|mO aFoIZ-e<N{%Flق( .$dm$=h4P0Z{EPUEae2.$[JB(PdK%6L>= whB@QHr š[ceRȊCס*<KpɓΝ=rM`ja²,7yӭ;صk@̈;t<B$D[Bݘ:qX iQ,/.\ ػwI,222Ҹю=j8Γ/^o4:17$!F)1chO9ئtbСCuK'_TJ$w .rR&s[ J5U>oZWԈzngW1=Q#jDeR* !8c,}o4a.oO t]RIENDB` OK"$*%eY%*Q#G wo{~Zns_OL' /qBaڶ 3A J$L6#@?u:>:Y>1jRn9 CABp.|Cgg&D4׮"Ctwu>A)q8אָϞ; 3v^!(Pwl9<σl78nܸ`磴ZDDJZHPސ;Z\-Jvu 77>MxTPNG  IHDRw=bKGD#Iw{ pHYs  tIME[8IDATHǕileYNKWn"dB Qck@R A&&,D%@55PbPFE.r{};?Z "M&9w93B4v[$'BQO)VLUYYyS6ϫ\N- +ۉ$ñ=ۺx/,7Yְa!B50t PmΰX7֍o9IENDB`mDA8A(aA( 3Loi RߎTںɁ+WX=J -iYmcRY ֕-gtC2BQstP]=5^_VW|yq.}2SfϤ|- U[޵jKD(AENΪ]QyQR.tHل mͮO3@%v$3ILL)f$?)]GĜ_m]j݉aHksY-: `dFeYi#!ڤR9i)Y y_IlFQĘm8E\:4{otQYK,$NJ 캁jUɤtK#frDQޫ}@M=#L&d]ׯ,TG! D{r G%݄;!e5V,Nl9a)cDkkea~t:ښeo kv +-jw_V6"sd+(14G}E8ryT-na9q6Nr} VɂO lgem#_4TYKFWn:,f&L_BwFFyw ?Wx(CR-C3g<6^TF\9u6s?cƻiѵYΩ-FT~iT -'ɸn%hjGutC8)_޴cԸH:os,|.b /( Gpb6AB^ŝL^<Oɷ?\-Y^]S6wkNS^#%Sh..EVŢ C S &|Xgˉ:O\X{dShyn Q~A{_>^+Q R$KXG.~m筨&>2bIENDB`%k JJ3Njx_PNG  IHDRPgAMAOX2tEXtSoftwareAdobe ImageReadyqe<2IDATxb`a?R|aٴYbϮ3(//zԩVq q W^V㇏ܷxe”xqvmff6 ‚¡X<| aaa\`pܼqsڍ@O<|<}/]d={VYYi@ō]\\]5 EK?0Тpaϟ>d@[dgg'П޽{@;S50c@q4$led._IAAA`=90JJJ@񴴴PXuϟ?Y{ùh EKan -o@cR,@?+**f͚89'ĪMV{ 9 m!!!$9sFQYK_XQauI)mx }]ϟ>>m111ren:a`hb)޾}R5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  @AtIME#<IDAT8EMhTW̛y'1HpaZR)EB tEIp.\+ n ".\,TP](nҴAbәL{|p\оsؽǏJ&sH\=ͮ;ĻwW_WP=ZT3=LʕǿL=Y_GAE {=lL%_3?x o-..WWANc&'1,a|吩) ؽ%[\*[.|U_qσaiAI;-߽*ks~/0(nk6V8YKZ*B*EMMUUV#*h s"̈8rTbmk}o|*KClj8GUz/^6Eڷn!SSU 1Z'LE2=uj0,l]F9NRsJQl"yǏ͛Pu:stRvC CJQQs߿//4T9R 9Wg GƘqLߦIENDB`G f:f=P~xUPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd3Oj x _PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"b!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻC<e;?TTTT6ݵan{4[>ɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  @AtIME9$jڂIDATHUˋ\SU{ M^cIH"F ٙA y^?R "Ƞ,R< "(R<=GO?n}T,% ;SuΕwߥy">i󛛿US.bL` rBעpe4w?Ĺ/|c?׼xLKKQ4xTʀ!Lk6V`͕IL{\qի3~7ڄzh ᰆ=ѣkS^DFBu,vyw7EB,Ѣ@MoSh|9x.ysQJt:>uʹ,:3Zsz& H1󀪒 Ķۂ $U,t {BtDDōD++;I!*`P[[)"Gj?zc9۽Y[}VVMQCƐ!dde`0bB`d8u>ݻyE"}T"(42hiOp(bZu:$_|ē'm-l^Ɵo v2`!z=c315]z`բw6r,K{R1; ea8Dj5i~ -iJiJ9k5J&!`B`ݙTA IkGT*ΜᗧO3ǘ) _߾?.,C8td""TU51^GwzEz^y8|0:Dp 0ekŪ9R8ytJƑ#?{Et{j!6Ԝ#6Ƽt"TlcU?3;Cm"޿ΝE:2ZDT"oߠfR[|`i s&%!U Ρq1$d[[w~tJ苈0s֞[KKiK[K@J=`EȀy3:3EyϞfw^p!}wEo̯MDXVE?b#58@ d"7_q*jKFO?ϟoކ1sƹA$Tѱ@;"-o̵R_~D$x"睧bicNZ+F$q^HT#Oܷyt8^IENDB`E1> m]ncvRGwqj'zo]? "2vGnnҿpF԰?֌v3E0:-ZLOwonEFpu >}%҃R?l}sdL4 Lqx2@1 ҭ"\s+ O-vDQւ|`{Sfen9pu?{8((VVZmx(ׅ6.PgT5* g]Xy~S*y݉2\}א\-/o4_BZnj 8#TZ/cq1\Q1M\M]tRjv`P1@JQX!+P(NO_8/w Ìa:IVeBSUPBA0@i붥~WnWW|Rm0b(g0T:vTSS~HДnDW D# ۀ0T}0&Rw^SO=REDe6I}i6&-ؚJ(\sO}o*9O4jnN^軬`:fetC54*z=_ i" <E:ZsxtYi -"47be`phq5׼+_DlIENDB`L  QxPNG  IHDRw=IDATH}luǿ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڌkLW,PZ0K/D` [ n-t37lED̶aN>,~ZT,ٌɾ(Bb1`X#R b[!OrrN#(³f)`ŧEsTWWVWWiZV50OQm6ۧQ.Ԝ4f^P$A"Q@>Q'!;p?V5PYYXVpF,C˓+++'ڢ$I60\=|؋qpmIKMMY(++K:~PL}}=nN"F Ż)xFuuuo^eYz){%v"''梍"BMs?n^mIJNl= KkfOc8Nv;MM~=wϔ, /KNFmbU pq:L&iiA GJ`[BgP"pd->@!$$l, JgUTT d_b,c||\\4;D.\DL}r,xnIn$^_}Yj:`G!ɜL{uZZfVԡjSh±feb0Ģի&u5 hTƒ?--q $$atxѱq 2ccDhw=(ݳјh*ijr#!f3IIIn֭/**QFE/;Ts ^'*Vcl|XD|>?w\.Z:@JJhTTn`Xz7-G[]]$IFXMFhmi&..nLfGtʕsTќp8p{<&n&nZ`dŋ^I6])mll].׎bтleeewO @d:u6]9} q.$ӟ3xIENDB`Y %%HRxJPNG  IHDRĴl; pHYs  ~ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$CG "IbX*QqD2"B)%d,>5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FC4%LEZ1;yj!xvXJL5GŸpe7UN愷]o_\|b~$?Njct>}i) (՟~G ,cL־x#R5pPwCK&CΩcPiޑ\qJ^פ֟?sЅۼ ?73&^c^t \ H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<0rr*YU[QREٙwI@[hl1i~zhe9[8 TeessnFPUӭc<׍yLD}mI OG(Dr^nԕ47q+ h]Hδ'S'dZRHL_{ u>6-qIO(DCi) :&IWK$_];*96}k.0~2!^{A,v vFϟ ]vK*eg ]iik1My$ͽ꘸XOyK\ 1w Hna!ః;MJ~)߄ DPKbighi;{h)n!Mn|'9׬A]e $]ZuϽ5h4&%j׈>V@(itm((Z8wVX8C`E.%kxje//ϟ7v|NHdl 77gL2HO-cKJfܩKO;X"mii)5?PcgfFnvd #΄Q7l)驧Syw&.Y6 MHKK#щ ω1 7<3{>߮>IUUTV  VxPNG  IHDRw=IDATHMLG]7"NHPH6PJ ( N8wUrxPNG  IHDRabKGD pHYs  tIME :t'qIDAT8cL`ڿo>3%3wE ˠHK?yΝ;300cr…'O?k3*"BBܹk 9X }ӗϟ//-yP[]CW~._doػw+/^y6ȍWmZ.&V.Uϝʕk2s`ݳKCBqoشy^هDX0\tcWUM <*/,^e ^yۻ8eeHwɋT3./0ƎS֬[)e5]Ԣt[]]'gBۇ";(N6=oM#vS8E`M$3xiS M IbfYD"mb-m h"f, jz@)3S=H$ZTś(dE>ѧ֝3:*XY-'q޶c?4I* wezz{XCǗ>/LEb~IšFUщ*~čPR\ |@wԕpLfPcjG1|P݀(QV T҃gHKa;:ƿk#ZLCÞ:8]N|>(N.LzhOb~W[>pVrW9ae-ϯ.̑ɡ#zd$=}0tJչ xebd FYd*H^^T-,4MC. Y-}-<'+Ӥ\ $JO&> @da4fn!IZHCn !u?x]Q#ϤԥKRP zof]4p Ƅ4Қ?rm"ӗzZHoAO|",X;X| HEE" Atr?00F 7s G^Q@cCMMM577~O&IENDB` ^ 9X&xPNG  IHDRo OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\FC03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME1i0IDAT8˭oTEƟwΜ9_%B0@4.XL3k21A c \@$X"KKnv?vi{Ιy8-x 73߼ϛ̼xxIzi n<["V5[Rru}L@L H ӇNg$v\!` Xг  ""A .$t;s 'vw<"m+" m(6v ZA$DP&Ғ#' A$uAgVВm)=WNf  f&0ACHØ 'l򽎑(s,va8(WEGvfBKRPӝ8ytA'-pz~tQ/՗#-)wn5_̭Qk5[[ԀAB'+sՅjȺionn~0 Q*&&ƉhwOBP,%4J rܸ8Xj}#7* qrlRjvvАdם؀zw~|8)8r+WFGG??{6c˲| Vz{~p9̮EFTͭ?aΟԟ |>KRgAcXڶ簾ggMyPo:gNVέo9tb3{w)_@tѸrF(v 4 VzIicfJ ##GM>xP. w`hdzkb_? w I{A `#e[6؁Ո"W[O7jήZ9el.nc]Z]$MƵ̺X@ ^3sRJG))R&vF:&2D㭯_J4 !H3FF;Wr9NvfDZڧ4|jp$ >G{WJ麮--a aIVAq(x.l6/]t&wNP]/Q,^±1)%?6fE1 JR|>&DM;lIENDB`8RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME%#{GJIDATH}{lef3mC K[n",FR/(^Ͳ@61k`]pFcnT$@P j (ePzv:Muti}dGH;SW=_Ԅcǹ8ٙ&&(%d%g?^eM3X>X &>VM<㥦cF^uu-D^ȧO\CͿvEț3AclAX畓mިkլ4oz &xO{:=wTqt <>.9l>J/e +nK} NaGٝwqtpbJ&fy_~Mse>l86xbLt†8}1JKؽjMS;On=N^E@/xAyPUplcMn2${cؠJU Q@ Ơ"_RP'~ .ȸ1e!pL.y',D(Pq Qt,uypq/2r/B"@FƸ4ZWׯ<Ϗ0BXYv_')Sd1 #F[|oVz9UP:bGAn ¢ƒ=@u܀:xWr7}$$v2I_<δӘ=N9Mπ#ʱ1_:\NEikov&O 4}r ` }lnu hXXA5~]WG+S+]wb'bʤ|&c\ L|+czˈϮ[Ϻ?WDf RXXHV0`(g⟝.0P "4utֹn^?_)e4?xBC46~֭[ 2ډ1w@,V.奋g!9r=e($D]7MS 8⸮x_my<<}pAܘH_oX@Fƨx߀/dc g[@8;_חAgg'm&WVUU.㆗)O:"  ߐ_sFͭj m d'p%NHuP|Ri#jk/ H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@+YZxPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxLMoU{$mR.@T"A,P$ĂBIJ ]bV"X!QI˪hhv3;9y_} "NU8~BDt6ݎdæӧNrB&"r:j7&e>J)Dk-}N{e{.I=sY3ck-;A8 pdxwZ!_z N+_~6X0FS DP[[lxz/NV=bFk29 B*8!7>-ac 0FF);R'4%}rIAXk֒)6uåm G F*qDZ%=6(}` M`"NyiFkea0H)&О!0|M\Z# 5N :]e<էIFpbH&᧟7hmnn4(hoɍ" ZeDQtm [[O>~eyy#uP[^}Axa48Bnkv07ϵ[/rp/P*8:je}nnnX,^Z@Wgd 0$ڒ2 2Ll0IENDB`JB[aW}g_Wl~<$2]GLϒ bG "IbX*QqD2"B)%d,>5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F IDATxLoTe}wL;fڦe,ADB]9@;IXqFw.R ihhRmCcK;mѡ{b>9GTU\w9H$ZJ2l;Q]yO{DTٹwW*++l65"X8(4]]]ө;3Uۨ*27W..T O1,Z@+Å2'dDZAD@QmojEbxU׫^-1ck0";r@XuJUMX#"xZC:b84gH>ߙc-;9:.P7w ٳ'KQg_> cӎ㍟xcxll8v +ϣt$rJɤ1ՠFdpT*kˇ^TRBX$Ǘ?m>gHڢS(t[[[Sc=zOR 0~ޡng3{>xBu%zuzkߜ9q8gN& #_"BbZqHl0 r dllvkUR).ݸRz?"-=  ţ+~6f>'ι'__:svH_?'8L~8ɡ0G|5w)"GFF>+ [F+C8d]JUdkq0)"";l.y q)ʅW/m&ݝq׾+:| mIENDB`ñ 7\r x [PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbȜ[ x PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME .!HIDAT8uo[U?l'cǩ6DHBG*Pu`P`$V`(ATB:~.qÐ|?G"4k^ p9MӇEDgi:f]=uJ)ln""arZ2].0 QJ "Xkw:*cci}cCk-[qx t|֊K7>;VZ1jϞP (d>~xz!}z2Fk6(J"r؋$N'cL15J#&z=rIqZ8[wm |!ϡpi::3C&7A(mPz?v̝:p֫Cd [6hњrYb.{wi$e9RrAljk}2Gk#.SSSd2pVхG̿nӕ'PJ&:ЌDgֳ:mJƛo| _~5 ͥKj1O-A#"*x'g-߬^!7c4DQD8"Hm}}g񾠏~5f=DQD^?y#I,o\jv\.7fJBчY̍cڒ23Lr^kYLzIENDB`K U=R4TF<<(ZC>ָ b+HT.kr]\7 8A@'$  pB.@`0뺴<ւc[ظiHdŲEJyŋlb:}lv5] B@ ?kg=˲R{T_L>+.ꍦ~okNʕwR7q"-$V XךMrŽb}|_X;w=ٱ1Zl߶-C;wj\]3'9·f9w}?{aʵ*udfۇ00\3/\e+LvPٷ~+d2fff(. `Eܶd*f2Y^H;@-Ƒرc,]v1qku][&y{db-73SVZ!r~4/EK .[/] nx'pEZ n(&{3.Z@@0P(zrR*l@ Dn"=oIv. [^- @\.:ɭ_:u=]-VT cFlIENDB`&" ==8]txZPNG  IHDRw=bKGD pHYs  tIME22IDATH}oT3ٳ׬?m JM&@"%Fr U޴RorҪzQ5iIbH (%䃀 f׻f93@p#^=9;3LLlk6Ohm6Aۖ!J >q 맾LCk>}B)R8>ODQ,zFkMRP(ho}eLM#̯yym?Hg hX(F"m@yMRhG{ n+Zc0`A !A(R,.p}|<׿e{իժh5 !bTX^46$p,fl߶c{oow0X]+)J4MTISxMMS)l*J-R4 Ѡju\7DP~gtԩwmL;pRFJ)m`!@Z`0Wc0Ơ 7D(J5J)H["D i |5â0h`1(h4 `d粳hòllBJR 6ڠFk>h5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxDOo[Ul'c;6R.B@H6J%, ]u@| v-R!'IB$s޽wX$1͙37^Zlψi-[g>O'XQ_[[GDIQ^Z0 Z~Fsg .촚OMYkiF=J4 c JǛK}NM~hcJ)(@9RbBmnn\:t.Wj>aFk28 APBDΞdqZ1QZ= 9$ T*x/Xb9u=zhch7#F#IRHj Camx!{mQ8Հ`XN`R:0ĽCzOe}ug^(4Ξ!,~= KĽCFGGr2;Q-t:nW̼R?VсXah$ٗfjMwk_ wՊyjuz=~ 毰6x酅~FQ}Z- ޢEgwث9z{{?t>3QësUQY˾2~Xi6>8]y˅BaY!ch:Z(ST!MꟻJD1`*˲ӷ.]#mZ{"Ҍ$C?}7ū t*IENDB`H {^z x PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<G "IbX*QqD2"B)%d,>5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F=;wXDADP =z2x =J4 c "[7뭩2X1FB)"wH64-}Ae}v6l`Fk2Ԗ ^H4'8a6ʥbZ1QZsxsjMRmX,`Zyx΢/ҒjDPTk*Eչx"I,A^h(j@s*%\^hM:-;Z[[Ё!Dz]F T_z֨`އ(K\ |FNI|syR/ٹ٫/<}Bs:;;)<]WHG3D˂{}gZ*8vщOy8-fLϣW[sV@ݍFY&1] ~;TM&!e^|_v}CIENDB`.yc 4_l!x!PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxDMh\eL&4if H;jqQ V;ѕ;-J$BђI6N27:s3M̽}q+tct:D$GTdJ^}px]U֭ٹVVW]Tk:9ZmZZ:;7mׅUyTY\\zr}@w&:z`ʝwRёkKkz@DPTIqytt ѓ{o `DvU*\!j6´ H) ưzWs4[MƞSp Z8[wt;HZ-)$Í2fC79slEMOOǟ/~X{(J4#|G&M_n8RǏCN `#Ʉo̽'"n ƙ:IENDB`x  ` x PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<&I>,}yI}>D #/&a&,)TLP2`|~|=˱mPl. A$T%"B O:Gn ID!>7ͮԭ@V0..º-c,λ#X7+n B// |lz- Ah7% O3Y]{R~(?ߧW-ӧG'T&4JZTXU"nI GVO@U"TG^R!Mz)\a*<nf{ghAFFB%i(kfT+ղRn[f0iQ,WVHzıqLgJ_ Tg|q~5;/|ꎿ/0zr)L-!-1-ϩ|tH*y;I=;Ik( 2,zK%:XU*`gJ\:,~* }D&JlLfQO`(n9^>b÷gP|0GoϢq9~? vW--?­o1Rp<*3:ӀyrS݃˩<xϼ]dd9@ D e͟+XvM&9<1U^TjNIFo`#XzJJ9}vs|j,2zn)E0k7󟾂K2Jzg9Q$tNXdx=:YSW䀖#ͩl_v%]@h]h?d1(/9ڿ_)W8v{m+?lJeٹs.b"J C K_G#gC(2DbsgWW(p?oY>UM7nį 2CQ | _SIEɔ7#oY7`8%ZƁ(nbPf(j0Zvp,eHbJ68,0?Tϧ|V׷oν|@on;T΅ί{O]$SAE&&^_M#$2ۊsI/?!y*evD\e$9`gm&λ0 =΢VM MHew*S8 NVY?ND}<~؇X52y( NĹpma*KkÿWU09F!vSJPH'0y|!uRO<4CMuQpXCdk8" I2jfNшb Nvc\d 4Zi_sp\0JFV:O_*Djbo\ɾ$<dȀ,ُ{#*9/($FΪWƶ+ŌFҷqΟ?h$, xE3sWA) 8YSzlnAA2,PJTaLZ`@IJ]$?JQ I2WL8"Ǹػ>Nd2lφ!PTlg-%D'_Ʋ^SJ> I| ~c3Ӯ+km$̘Loc%(5Ǣ {}&ѫ=SNݮsi:Csw("B@@@ J{v4Φ!|lQ+āLPLHQu߆c,5TS.+8X/;Se .#%Y͋O;~Nv9( Ԯ' m]&K60tN痊#̹ANIQ^X'v@'V19AV'a)7bMK!h񨀱SkFٰUm]zn/MDru>Ɋ jOg8~YI-Zs(#/?:1s^@tњ/i6q~L"7rH,z[Ń)1!)Fͨ38q2TGmp F3)XQoFO~|x`鶽8kx̽=#xIG낰D  㤱Graab5H&df`8A;͉$T IFY<#hxU6r iKiu 7>u5,)+\,duI"i;;}8u5!$s9D)G=xqq4aVx]BN:Ϩ.L$>ɏ1(3݄=LJ,~ٖ'rㆼf}7o;uC+|~">&xR;A5كmkCAx`Qq$x05|6#4 n`7O]OɚvL>eOGϐ#bUӜl8!:U "PrXߩ*/QP^rrhG |g`[{:p#RЄz~ob0 SjHݺ!iS 0W;;},~g㰚^~jx` E|LZmP5s^l[=!Y8 OaiS“/z~} .jY!H 1{9TY@l,\n Oj9ƽvf[̶n/ 1Ma~$AFae AFG `aB\Ԃz#{Jܝ̲.1FW? :G֐mK |}8b۴ǵؒdL΍HdUiWX~o(#S c)Y e 2&1hb53hwPKLtSk$QGXaCjSDD⧳x^z`e "7'V܂3Մ=&hZBǹ0zE/cv#K)#Qjz 9VKE&/V-e4VJﶶ PQHYMYQvOS}\=co`$%ݥ\8@P]em~4EDdn;)~Nphp|'ChIk9oY-mt7RSDy)~ǦwE"KŘ!>ӍF7QQ[uPi$2s+7L:{os.}BVl9,5'ba:_~Q'gt#^ f-Ż[V 8VCNrD_L/AxsNGF^xF=C]mH#/@>/d3UM1|8o2SYn䪫w * ex&vȏ-K>϶/{^- %:q 朑0LpavJA3?3%]w{&& ᰵaM YbHtTEi8DEuL-E05̒϶gE^ ĵ Odg^^J$褱-nO2Oax9+/1\M|똎TdK~ EjQ㶫0ɼŁ|`O;07EZ4O߉n|ZX]#({!|'[[Sħ5Ei믺 VQBߎs[#І7s'>,<3/4׫O_qj/BT;MbN,5ek`qQKNeި:tPD9 x)md'ʀEi^]JQon73wV[I+B˯gE6E B8Om]Y7;.'g&-&5w(VͦFu+,:mef"kc뢽[tڝZO~1[-}d?Sfo㢛wm >Nh]Qv䅛Y QzɌCw}^F6a˄f @aM6uK9uS|dp-9$ <68(Tmjyi>m+iC=34m*곰FuOmU^/p '^ tͦSw#Z B8V/Өa;e+uzR{W kbG6NݒF{h[:Dj-_<Ǟ9Wd / 7hql(L8WsT.YkOSSS>j@&؈§u5{ܟ] $*=mZ̅s&ow(-Owp:|qČ DI aKhU eՇ઴⨬:3 Q i0IC6RN~{I2(Bٴ.=EI7cM3n0"[Cė!Z@xOo\sE sV$lވ.¸nY #λINDFE6׷o ^Gl7*dIDOs;'('p^jj9*Z⑍"R|sUFFhw$QPK |Z]w`mӋܿ*2߯ }mZ6{IL#M6ޛ9InO!+\R*PvXFT(m݅"g1%3W9.NUUwϻՁQ,|k%M0:kگ?~Lv/d󗣹zמMx0,PZ#Wo'Co?HXI\>.w <j* 'K3Y}2ee>R '5hSvge_v IDATWo+g<^^ZŠct7SǠENuIKM֚ե:xcXUYm7DV7DZ$6.+=K=G#&%'5DxgDmM(˗fGH;"q86k@,yksDBr'eWЧoϽlͧ\{O=1I>ʻ`-5d?)WkZ+$ظ^ ~i ;eڏ)5ָ@@d2Eߗ] )$eh֛Zzlnrh[ ZB#\vOY$Ƹ7)O Rhmqy%^: Rmۙ^)0>6 CfFd(594ׇt(XC$sF c'I]]qڃ0qTVE`ّo&FkG5R7HK>@0 *7Ü%|LdG P[MӪFو_pц(fr-Lqbգ1/ cw,~eT3R'YHnWӍ-F֐3B A顮$?͸Ga.V?WxZ{Bt~4ԞT>_|9%gOc\^}lYrJf?Cr|Č m]Ǧui\AԍM6?Va.>N>|RPJGPl3bj>4ַ(=f+u7e]E*ưo WqvqA/{&Q#ߴ5k[9H~k w<|Afz~|縟y#⦡pO>ۋ!~e'<2FQBNe]z*[j5@ C)p6#/z$Hrk z[_ړg V桯0.MdUeϘZ/O\yPR#R$NfG$ B#g^B>g#+$ ~ü?w{>lNK. ;| fo|rYS5oy<}fXĬvAه.ʬ?<Ko$&Q껕0I@~(o&Һ$[p>ȒA'~l{ /ྗWrT{2 Hz.R4Q_-%$N/GwY>QTT$P>-ggz,3Moc{_$,c,zdFW7o)ho7䥹N+cΧQ JL{ \Oͤq?9;1eHͦ}r+(9aΈ#+15M㭿^>C Y4-{D 8ZϽ-_tN֖!#AkX[2uP*]Ѥ?x@m nR{0PfS\r#XF> DG5Z:W :sh,e?=j:b5NqE [qa5w`j#.3 DZK#%x_'y5۹ 2bL^My稩QLWlو}'!"Tߘv|~QwJF[M dӾ >?{ׅ!I"֜Lt30;sG.oI1#=*9BE~sGX}]QL`N}=;w#9>|z乳 SܴȾ{z, jWUsOsg7z^Uvczz,7>ޔx:e~4ZyNm|OoR/ Ι{'z=쉞`O'zt@HIENDB`ѻ eelaZ+XxX+ԉPNG  IHDRZ?]RbKGD pHYs  tIME etEXtCommentCreated with GIMPW IDATxw|Uܕ{or3o;q)jbZjժ:PZ'8Q{dܑ=G+ H|}3>*LO `O'zG=? @$&ItDٽ#7+;%XCV'K\"UL~<.%fY)LG@I"I@xDBDBr)2I)Y/r|f(AU 7$'^BIS9qe$UrN(\ L%Lf&W*rMlm\$KHRNj&Phr?KV!I*$R ±t B:|k6lFT,zjvQι(p_ݬ0j>-Zb~I]M&C%l :̄HwI͜o8,# Y_۱9`dR ·_{Ts. P%41ݿKol^(d(Y~LPSP3(؝xn[ f#S&b |b|xPNG  IHDRw=bKGD pHYs  tIME kKvIDATHjAE)"^|w{ L I0! bW3af3Y^_UWwUO-՛;;8S X!`B2f!sE﭂sJml 3Qy[v>0aK>鴹sf``,}issqTPT+i,lyk}}jm1"o` fEf+`*px\A$|vF}hui&''3azjz}2߅~8n=ВX|ե7:W@TQ02SFQut>L 0*aze9}7BAGVi8ZD >ma!L.{"/Q>!tPJElvÓz71~nF取Ito3R(sF/բX畽 LBO"4IQ׉K=]'7(ujL: L ,jlll -gDzmqq7^xoSJiuuW3\.ϾEN1=HtE,KIfߙX"Sc4;Jr81 ] ;m7WVXI؉{O SS$LOH$ r|WT8P-U{JBVw!9vzVXt͙S*AKgx 1W.FަB*D6F33314IR;r8d2NQjji0XquI[5ƨrW{1x/#=6I&PJai% !Dmi" e;W>nzwED!tӷ;W0Xc\:o31Ǝ\A]o*WvTSIENDB`b 6dp#x#PNG  IHDRw=IDATHoU?޳cJIJUҪrC(rÙw↸ 'AJ4m7"7q}3qFvV}}}bfcϿ4i4T50b8NQ*13(Pxzjn)YY$"YT,E%|w9B\򣧼wmV7Piso˲ȻFIJcܸ6ۋ  ÀnҥwƸ^l؏(2o  1cu}WB|='[{N/}RR9 pP~˔g7TUEP*z20뼳bbĖs\~(K#%GKsj޵jm(""XH/F!0 , g_|~i_13u}̲_}f>LLI/`mTIENDB`q ""[e:x7PNG  IHDRw=bKGD pHYs  tIME 1h+UIDATH핱K+Y3Ơ XDU  X(V"vBD,ӼBB6vYR]AcɬI&f2sgg<} 0;ss^o@Tj?45ybtt4;77 H$I]_ɲeY\%uW(4BtޙeYeYnjV5M5MӽpWWW( wwwE,ƒ$1/ɲ$IDQBm 3Rqz{{uFѕk2DQPױm;+h6xB@<gzzڏiJ%lFQ8DQ6]M6MuiZh9D1EAUU^^^0 ۶?T8Cksxt]zNR\.Ni6\^^299I,hP*xzzT*Q.jAVCu] %j4T**777`YۄaVVVH$y<( 躎8q4M* 2gggdY*leH&i666HRhP!e}4MTUUTUrjvwwY[[##[[[T*QUcea6f]?kkgfff۶@e8Ÿp||,$O2d}} xxLL&db!D6 4M#355եw댌;5,,,t%B۲yn)^Hէ۟+jTU= .W_B-~N+V0 IENDB`IDATHǭoLeǿw,55EL4%5YLro|W2}h/|;Mɤ=HYl[kA^K|1a+Ma\.'}'?4y~:ɦTη]O> oޛYT-7b?zs:( BOў7h{'OZIBQgGĵ& Ib-2@-jfA(MUpHeG/q:͸r2B;%Ⓧb|PnO=Լ X";(拐Zƈy`^9wSEcAz/aze> B2LbP$m0W 5-Tk׈е+w$s*{7 +Ŵv\-j݂@"Y @H2w֥7 T.r@5 `=u#_DsT#IENDB` ll#gJxPNG  IHDRw=IDATHUMO@}NZޑ8?Gqo^8^Ďm) I&k{Hk9YyofQ"qeesa" c alnn~a9S^^^57(IR~`ppu:!o+XSSsR++-!! ]S,m| PWWך0PEE3(0:: }} 9-B3,@O瓩ee !Ii>98wPS_Bp)kEvVUzh01MMEAV_RJ?\&ie ȫM7ߊY.hLҨZR[Ar} {*a`cL8Ueeeև^Ai)T٭99EnW,!$V mPjbE]U*YsVI3!nf P=waH՞fCA^e1G9-˰Bh>k%; i[DA<Yz|C!Fį,BVM+!q>==pKެ(J^A_f(pb4Fxw$|D1.KRxsff t㸡֮4 `*ҭ$cSZ1V1cB1n(`5pIENDB`<`#"$" A !R%X2$܇%5eavk;~* ""rZRݴgvS3U $@%5*{y3_ܩ`m40s X􇸘cr7.=LCc/ J|[dMB^ztdm:Lsj⮇" VP:X΃%FPx;|hjZbgZQr\V|F__v2gQrU]fjs㈬2Kepq!) NL1|mP.=s/&و6׿O2{fg-"Zu|L SL/vvtBwkj8Z&hz ̩c{j[m ȹWhO8B 8soO R 5uuc,szث_eO@ ϲXc_:m cu ZK ;=W "c(GǶS,9y$=C?y.܌SZ6x=+¿Bd,Se*JhQJfqO|IENDB`wI? i*xPNG  IHDRw=bKGD pHYs  tIME "|nIDATHu[o\W={1;N☤iRIRHi1jIUMR EH AETq$$TB*mZT$j$PUIcrt{\'!>͌3{^%\>H5yf7&m ZirpPhV(@)@K{ 7k%93kalQ1\4" kEXFHsXop$ThIrtۓW94!IMҐh܍XFh:=cf}1[HѓN֮f 9no\"xnum j\Y|Y,D 4MoLdq*k[<8H6׀Y F_c-Z*EJ׋^ @̉әRp BjP?Wъ+79(gh-+ԕ ځ5`("& ﮏ*9NUP,zkA7,mp zHDdj(UXrX`k`/ c cd,oHiLyo'& 2+-ܘ\f-b4&#!ֆX 16H ?,F0F }uZDaHP{qfr̈́Jds&Qlk'["K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 0QOhIDATHoLU?<}>.`ԋJ ekj-67ڲzV2fEٜ8+f/h҈"L( \+\yӋ+ ֦]W9hll콓⁜;<mgg/PD.  )T)BhR3G/6Q ' E2@J H!4)-gaLB3$qAzU*W̉$P(%R)J4bbaY 皋H%Pn5D4T )@+%#YJ@J}J: t \Kwb%tLᢄFIf^EDoLUkeu ӵ/;(Qp'kAMMf0>}P$55AU.vM_-PjnM{ ̠kemǽE͇i ēOpK@@_)y6fI6G8O ˀAbSvNݞOS?&|>q;JyyVqjUUU /xɷj~]Oe$Yan"IENDB` zjxxPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQD磢zf:QgVd:㫴=o%E: Y_ X:R78kqc|R4pߚ3X2 AߊMA cJk_II ΅V=Â6l.ބ:TWn>Z=!;n TxqN%N֖UKTbG?5@}eaƞm }0UMd 3$< 'L@Vn G9kwo"^""toCd^Z45=p_H貨ddC# J@R2FNȰ&P(&s_@9l)z%XG<@? > oz+7^;|b#$H"x4= ®o_~LDA—|))!PHA^k;i஻;=0z0/s=shvN~jɓ'֘j@KZ=;^hu̬i 7U7J>|!~is۽s9Bۂ^+zbAnnV7g~wd[+Wa_`)ڷbLavTp8v~gfp G|p 6L &y/NTpγT|;!VQ$uZԌ"UpR]u[XE%,QŐܮ@bD ۯsdLE$kDAD1#S0ƠN!1 1xhkk, 9ɼnTSTQS<J5/^YrߞKS'^zyTbԸs8v3t8.rdyѹfO'& < #i'G71pfdaxLٵ,#wGI\4jj~Jb1pq~oBny.=>`X abn!c%CH $NJz^q3OQnzDLa_3L2NQdBU6di-Ͷ_#Pchh<`.q"uUpu6C; ^Z*חK; 1BpvujX.W 7b8ST[|[|]>Ģo02sLyL bȬ*3dzx` hzި -,a2( z35*5ͦHbZC՗H*Luo53-Ws]OڍuTk[u ~4*4ҁ&W󅙫}Rʶ橬Ȉ B*($kXsuWQQib~(1@qxTJ=n\PS:mNiM`p^Tչ <@￵r" !<@?pϦmmmr#e`Dr gFvw;;˳ G__@~(B\GrE(.7h%jkk"NY0z_IENDB`AC03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FbIDATxڤMlTU3SJA,DS] LH`EbX Ą(& bI I@ɂ%-RKi鴝vf|.LiJ==7y~?‹~.Ο_<pJ1foo߹%]SSbLr6W`̈9՜8+o߱C&FFU1Xc0!,qUaYw G묿󸈤\Ȼ_)a91-]0Ƙs\_cgXcxYTBaT%CjZZZ[kldMTJU[pc8F*1Z,"`-QP"2<8 av0@&7ozF*(B ({U{Б͒1%kX57#P σ*fE‰ K[ұa&T5c*4\C /_B'Os9:;IyN"A.,YB<`4 ɬ\I/0D}L{;7n?|O8:>D#Iմ-GH΃]AUT~tdž!ikI-]-z{)ߺIjzszY-ǓMT%YgIi&?yl ("|ɻw۲8|' !DE?N = @}hڴ#G"Fs9L`9k+RmmhDMF墋'Q^'xq#˗۶|*p3J_Ej=x|ӞҞ󈵸J짟P1R55;j'!`WWzKo'lY0n-_͍ ^P<%.F. ,UG4>Jbg2D$ Z?G=y&IENDB`@v Zn8GxGPNG  IHDRĴl; pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڌ[h\U}.9s2m&3& U4Cjmˠް4mE>j }QA R!4ڛоLIDmSM&dsC4a^ouT3 >}3p4>[,οx~T'>LO4+]*ֽz6x^-CD֯vd"dfly]Sk> o}UC;;}vcQG^>-/{Ol5uӪ-humө 򭟢S_(l"?9)7 ?۹bSXT*Yׁ2@thճx]`l:L#D <\RRjbCjfZX.ޝ:|O[nп.H8)q3|8|oYDkG x7=ұ^T br"Mx[;HǪ%o BƁdڗbq~-Wkw [?Rk拐)dkC.-5KcZݑsٶwwF[)Vzi_;{F*VLΎ&һ.? {A祏sS9'G(_ D?g&u) SWgW~2yX5nPbUMs']?Uo;H,J^]-FIENDB`~ + ;[p: HxH PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##2oh x `PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME/3ڷ*zIDAT8˕]Ha|72Z"Z ¨ @΋.*"¬.*ꪛ* KT$,3ŨpNݦmۅ(*-9?s37kň.KhsGp]yb.FFu\i:En>'>h8Qu6=1vpPt,7\HN"%I+ͳUVJ$90A˗ax+Q}ZGPptoaơ2PAT@JACCX g^?1*mʌFB~)Pt m"O&g*b-/rtz7'vQD œ FÛ@/+F$Qtw~VkL{ @81Ok_-+wtp־vWlVA@N|_jb /زV(`f4@(v+>2+)VWXYд"H oULn`MEsq{6Kђ@'%Ä8O!:Z{}STx#GP FޖnyNZ{D2t.3l/VsnFIENDB`̖]ϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME/*IDAT8˕]HT w&IfƦܘt6 >H{zb-vYb6H, ǂLÏ)uqt;ssd 9j{~='g߷8Vٛcyb[UmkT,/uЙWį *?flo"sc~)~'[$k_^G}+G²BgJ>d$AB|F>ź7J׊:0<68LYS!5(͝w % ۂ"F]ꌟhc8␌CZ%U:ioCWJn)^bs/t+H2h&2,wv& ]m^>d d0D H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##x5qn x ]PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIMEWюIDAT8˕OHTQ7ofSGLLK B3^ nkdI;-**4WAV-, A(JQI I0K 'QgFg͛y3^PI{9DUi1Jppfkn8o9n3ZJkdǥbQѶ'nNt'A9=""RV{!kpPB2)E̕QE9`@sUW|!cYjNg 2!\Ixq,TmC5HD`@L  7-yYQt[jUe@__eP["FFͷwH89lAJ{PXVAW{HmnG&-׻f\DK ~V,G 胈sqkӑM͇D6rPpA3 h08~ޒ;Vb`aICY؀.n@ikOӕeY9@k5g6 {FELvsYQEЂi2//Ψ)Oc7&% 䠢(ȲLE")@f<̤A_Ӯ=@jQ2@3ubk'y@}uIENDB`O%^U{u8~f9=.9FwlN\iSvlKv. ˋ+b]2L KKhGhu@Hpc:JsU>ǗX~`X" (;Hy=sm<'_ MK`4:SV>V\aYjѦX=X$Qcҏm8?P*8Θ>dq~bbr +ӿyT0 ^t q?#1Q)ܲ8S8/OȽ?~?WL XZsߩx%^IK}ZK:$/MpřUC8mjBqj1P4KG(rq*Gc<'O{g ^ԩS8t=[1AN=Cɏyn棝w&P7xo.^)"3zmpIvw;ĝ Bv J c >~l#r>s_;Hqϵ׷h|*I=A Rȕ<nqxs E,Y4"9"6o=zap8' ՘G)t; ĦH0㈭tڻ4M-/pkAH/1c*nRDYr}bG;\C*MD1xPA])B &J)zo *(KLOϐ Il6 BBHmI5bjnb-G4 JɠF' g`&b|@`p0@뜙Y*q)odٺLy=DX'uV2j_#Klv8vk̭>ydb<1(WP(ؼWvv?q/NĄ! Y}@wq#pv A^B1=}n{SOT+`JfIRິZ-~?o0'l-R"p\<υ1,8ql)s`po7lAuZSܵzZ—4|h4q~ _OȻtmS,/bs/L'b4j߱׮mٯ{jz&`2Iyc0h4ZqHС%2s{1f%/(zn`=OOJmWfkhݝ5sʛzM0x< Cywfv%u /̳p`Z"3- wSOmڈزuscruJL̙ ´w~ٽcsovc$1Ln\1믽T~zJӱe L)^>|D" "\'_Sjs[;;ʥ:ǶAt(Ub%r0Aay<\8R\buth"2m+x7IS`tQ٥rQ#t 2reqFx%$a NN j5V޳:33W#%Bkomm9hر,+-;t7,+Z #%2S){TtD 눒o6"()px'R84])'r!cٖB$/n}Ӳ JliLD^3ͲqD V)٩S Ԡ)H#kN_2 `Av00 $I)ڵ^ǡ*S(ܪIENDB` ^^s* x PNG  IHDR szz pHYs.#.#x?v cHRMz%u0`:o_F IDATxt[]Yk~33cǎ[4D\HVQE AxI*"<!Aj!EIJĹ؍cg친9r^{xZa˷[W_/c Buw@H)<ϵR*Y9oϜ9<+W68v!rr=8'0 4LzȤMعF&MV)8~>k<R ՒӟHsL |?.pߟ'LOeT <կXghLQ ?GL6$b@H@8vB#<8c|K?9<g?{$ǨtBgc4!RF)?(Z 2K:Ò9V |DbabκixE|˲nt?~&F!qa#L"}]@%wn/ v͢2U K@ݵX혩 ꅐc0P*61=RgX:D?.jNbz0"E3R*0Rn0ZS$8bXobimrm;JIRy~3dҧVV>/<|O_%j w?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]z ۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڤϋU?YAC"ūE[<`HAAAν=_[j{gj̫Fէ+_~t(˲(GQ{Oá5ig_C@zw;wNuW^[^]%F3MaFTm#N+RV3>ϯxWpBD‘6돛;ǎl0wfMɳO?si{;`TyR&*jUQs Z|P Dڎ{<7HP5)gq9c\LÖYTn"Uݰ?7.LQ,Rd&Pj}JҲ1'eדL1#&1,:̃uoޙsG;f6ߧO[*@(]7xIY=3u=]9f6'83qwg:dKom:#*MvdA;s{/p^e2dZ\xu]wd xBK>Pԡb2zHx kBdϟjj.jJT(hGA{S3vvs;sEX%ݸk.!z :8a@GtRhhY}Dl@拤JjV{ H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(h 7s-7lm2e:.&3\d/i5D Es}9"yg=0831c ZH)SCвy1455)d[R Cx>j7H)I<`nNm_Caa!fhS1r:簄 5=36:ʎv0v2pmtvvRSSDsl71"IJKK ˟Eѣ]]M^^RJ$r?~z~xDwj~tcv6a£tttаغi+===ϛ R|ϗ.|e%[ 5Zn)$uPJc $cƐ?>F!.)!\L,X ׮yFz.R] 48 E\)/@# feSz/\䵍{"U+8 aI~!_f!mdD7%,n a eHXYz=]VXƝ$V>ND JJ;VU\Mbc+J,ǓܙDzbFS"AYY:Y 8R0'[&q H._ .*֮I%=|^,)ܼ h+Ь`b.Ϯ&_$),|>龘/cs[twtI9l[p,C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATx4[h[ewnɭ=INڠIVtV\k+st֮"XPQT7߄ CPX 7C\Qk:[R99ߏϿC(Pٽ(M1 a1t:8@ 9[woVK"JB]>ņ8ɠeZ} FKgDBkחwGO|x۶ c puNN_~Ź'`Ox8 fkR5NyM|bz'fbG15ykSKK%/El:1cyBCoPg.ixg,_x#܍AEtţJ۠'a>RJąn%rv^d#>%9*&((.}ZbH];͎f# -Zn s+kn<xER= /j \O6w0J):I%Ǩk>^xjn_ⳕ@V"….h``rYժ,Xvg{!ؖcUыTք,!J2DQNsQњͨ4g]YaSJT(FtF"$PS(J~!OtAC7ѕzWK.b1weUz;xY)\BdFUC6+twZͨH+]fh&d9aF@!% wh4`b\Y0Dl-'xQ@ IF@6RoQ݄$,kʑȫZC$UfkG7aIENDB`f XXv.x}PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq* RKk%[H<;\0 imi!`Z|Ƿ}$ź"25UAXs8~Z5LUhjj_d޿*kXR(J!R*TƅGPZ#c$e )7 a$|c͚Nrb,s$I8wb44D 02vFF0rJݫTyjĵ Z24I' }==#"29?njƆ.G'~_JtUR&R2I'a/~S*or.^mۨjLOOӱAj@02vKH_=zcẤщړRnLTDV0xAnO Hw޹CL,[bihhhٱZ??|S2ɧRYnqLoll/ \dE{;!1cô-YR{jww.`pH غeL f|rrwu>ԙG?vMM-}}{U7 B1OezbyԷZ(;SU%#VtR.Q*/_EIENDB`5E $nx`[x[PNG  IHDRw="IDATHA0 DǦH\ˆ=ʆojϞؤR/QX+eY`gffcD4a۶zPU`*RJPU*q|YCc|s=G @Dι[.̥aqfvsP>5,[tL._/R1ndlK(ǣb GĚ>gSZP:f^9W˴J-Qn=-QMˀZmB /*!zذÇ;RsɯU4S?IENDB`OLQw&xAPNG  IHDRw=IDATH[pgaɁUb#ˆ  F#3\0w EZ(;)1 RbEvHhKMN^yoךw}bٲ7I|3]nhÆG8KI{{KWJW}2NO)7\{̯'t){%:O\m5Lh_T (N]<EF{.֢R¶,@{c N @`k->XPJcEXc,8 v.``%Iy;RcXkf1ĊD ~*#dPJqT_JPB@ XIAEЧS&mbc;a:7.؜}k}ŽgW&i:Fsv*(>$}c֭dH+|(DQtP(-so.xܫ+dHcGem@fgg&4riH!j.DP?'i`=@KP@"bnfJ֨xmB xi} XhjuëEQ@UAw/^x9InSof}eSyV *}$:R*E@P.GFF"}ie)Bumz5O 6J9 OkҩScJi*I(BEbXLmE`of{t{yZf8BG@M̊s qoFdJh u/,rTz ij~]s 8tn\^ݒw4( |}OJUsyfο=wss ܽ4~s҉jO. Z$]^+W~trr??IENDB`_ąk!j& FшBK@ko̽縘~/'s{s3FU?׉ |n 1וۍg YWnm)tٖ߱={kw{(Φնj)s0x7"c{|w[{,9NJ0\4R(uVamcgqvqYWcCpjSH:eE:Q+:oqQET"41#M:>Q4[%XZ"^R SHDJ*q,.n^D*6* V6U)/YDv :WwnR%*H]kk[,9g@ * 5L*%N74a R,H&BWj(rtr9nA,B30 c4̓64&[9dZ'$Y%e7:yk8puQ5-wq8:}+ ui'ufrt21c*||ϣ#o KPQS[_/tss<ٷ%4Vo" &y Ҟ܉ < g I]'nEʙ#kRQxc [ nP=e?#"0LH3+sQEtȺ,0.iC :ݽM~gWs<C&l@8\j~riEmYR-Is}3N}e|׹t|켿p7} W.*9Rn߾1:OPR[I~^9kraSt?*$ԀȂhbbraF6.Lp  ]{>x5PNG  IHDRw=IDATHˋUqB"@ >0Wwʽ wnD\ хd#$Wɀ&F2t=yNDnzݯ9{Y==r)ec<9}˭ȉ?>qcGyzƥK/G67`dRK-M5)Tc_NAQ#HyDf- D@)ned̰E 7_dAL  H8=j)/S5PEH3bk@7l@Dj@R/2ww6Ͽ WO2T{|ч4_˥b0od{3m!RB$ ḳ{r9j693;,2 Z\@07hPZhL0-P`;׸rU6&*6']!ң䜹~:_~-hJ5,ՀAiyDKM|2ɧUmY=uj${*BhQAUDhF "Գ--3Wk0/p)nG0ͨz0`PJ M,TΙ(׾-D tR mRJ!"ږѶ"Wf+w_ "E̓)mҶ*RP-AXģ=ϹGߪt/\xkx4f<lF G g666L6GmۜN|䩜DzȐT"ǼwVEfvik_v9#)LEd l h#xTU=028͛{A$! a-ATԚ@! !xf$ ׹$"aɠ @@+sM9{vZc]eJQ((`ڕ0li;s淬!:mm*gŅim`2uB>91(kJzՎ; (kj4H\oC 4Ǿdn|+ilvT9G-.FIX,C{|i8~ًP(8kEC$M\.sv9hJ[ҋyak>Di1Y s2(J(*gR}{xrijSCΝgGJ*`Y T %<믽_8qff.R,QX^^&M14 #"{bs9}کSJeHxISo94ͦ?bc_Jō ֛LNLp1:;;iii{%O%$!MS4%I"fݵJ֮CLNNǘRhD $IB ϒ(99>>p}Tj59Z6''P|.O>[wcX|zYbT5}{}Z'|Zvt[R9[m:c5&kLj&gϞ+fWNTUUM<LMo_1 cLS@pMUmc_/X[c^ܾKQ S: wp]!i2)6߸@pIENDB`77e hh(~T x sb``p  $?ORAN ɼrؒ]fHopxD30p 0#ì9@AO_W[윒VW_O IF808&(gd({7U{8X~;4o1淇pz㴝w~~-u})-)iy?$]=*_Pps)-:w{Ek +SkCe(wU{G/_"!3vlT)qmWmV@g0xsJhit]8}r!$x$!މPNG  IHDRXbKGD pHYs  tIME") IDATx}ɒ,Gv9cM^M )B&d&fZZ;-RЂ qA62ӎb4,dֲ)݀0PUeF"&9ބǬ|uBP( BP>,X8ˣ/Mҳso Dl^?!l}!2x?km=.h^G^#~->߿WI\=P| xPNG  IHDRw=IDATHO]U}Ki/[-UJԑ)5?9hu`H8G^6O s^{98R=:YZۨ*==K۶Nc (XX|c̊U ?T6Oyͳo_];T.[(YǞ}Ǚ B(Eb!F%#~-{ 4%>Y` p5 B])^`˶JE@^'` ["-q;o>{B|0Sq07 L=6O~Y_#J٤FE/{ Q{ R0Wˍ<>:mw_3\=^N @`S#sYB⅙;T7E ϑ5Ddؑ5yG,/?/6c89Bohr ۇY䀅KavחG kt<f+iAC(ABrDeۧzE 8#@7FjH& cX" bs z-s`x~or 0 NK0 D+.lz/sO4yc!θ!U`O=" 6ɩ}r5 a@&~Z8b˘͂E2/i~R%k'GL6IU ulۇgGh5NO@XGp<.ooH~6͐P4]@y)JdBteb[ǫD/fe:X 24 =W+޽p?{ݧg` A$q~ e-870lNv51pw]--ROQ[xpAO?_~>GVᛪZ }]`ס21$"p;ѓ%NZ"BnZG<9^3o[/6ÃΛ Yդ 'o?_S\RyAbnr7d vq ,9Oﬥ DCSRYMHE^4vL~._~W' ՛!RI˓yђOS1"0+k I®bnVbk./Ƹh&fg>`%+&"|{m޿ه:K\^%r) z a= >#MY/ƛ[<6IsR A682k?LSb[A*7ֿ{?\$'`q2z0˵V4F1'H2t1W˘:uGITGzI~]c}x"csK.Uҭb5JRF|} _ZԆ>!K`Y?kI.J9 i"!֧K,6 4rg -llR8cK-iAl8M.kYtӰÅ]wE= z G1Dr\mzX(}vigEDYoVswrtʹ {I $Xb u C|73%=%GK.\s U^ύWX7XX\3~BZ$&m׍u!b2W-b/_O"BPۧjdd@XvI@h`u="#n<!As 2Yj |S\ƖNnq1U.+"1ǏN!tS.^'!XwLh.RW3Q|}jE Rea N H!)C\,i x'HDbј(oxg y &Rhz/`ySXӴzgd`g{H걿X)9^Xd8A.)>O.X A|~?EAϗ RYu4 ld`lvm^wPdX99?a ZH*HI.21wE;Xs,ҽF@t VOjRzy A`WR5JDz< Wf u);)}jRmt 3?6" 92!yyOH ڵAz)F˵O#uGM0b`\$;utSHŃ i2{2ƋC''z35n5F_8 u~KﰻN&(НGOɬN7~LpX-  -[@KAjQDKx+$܆ߠ+;ݒ+HBb*;OMAbSnt۴Vuf5H1Ac}r?fxA3"'<oۮם4Q(fOdBbAڮH}Q(Oa㦮ٜ~+ӓD1$#|R6w)Cb}6P̅ d6Kt0-H| I69)HQ雓ӲXYM>n{o(H%$b !٦T13IWa 5Q̋ R )љ @RO.bF" ѿ+U>/"I OB Y) kADDg " )JRjҜ ( <h]lm& >W@;*fDLA|ڵx a Ҵ"2D1~0ۂ(-& LJsO$it cZ%i%yI.VIED$)pfI}DqT,R .jz_ Yb 8rIZIxDڮ9ڨt:9{^2ڑFuLI%c^kH6/[]i[{+#Y![6)ĭt#a#`bUyo\+pG,Ù4o ݃v%)om&:$gc`c,lMʤ>)ѽ T(f8@t8W3JqljlOuy\-K:VDUͧ:v),fC:"a} ><^aOEb[?Qr'5y{_PtM4,wCp3fu]βrK})7=>ŷv3og\lN#7[YRWEʶU!n|eOW^ hCľ)o¢_Ƥk#dT!|B>=Go /\l:=V RUnA ,ON؜0^ <%HMb\Z囘^js~e 5 c ްo16HVWI(0+9u ƺݫ =k0UyWE?tTz]@W^WٸXla-M(+Oc^~Y2I&YyZy ,-`ⶉH^LU*FY6i kKyEU˷*uB-oWHPQDEʢM?R/ePIEu+SN(f izpC18GIA+4ͫ@-=A7mZXP@@ZxV7RnQ$Q&z˙du mHZ9Irt<0ߖE* f '7Б$"htD$w3r ȍkUA3eit"R(AFz4ZM*fb&}` `bUJui^Ō`YI.VX1ۇ+s|i7Ab,V1כQ ² 4a\"E;ӢDb617P v $] e&RLt|@Aw6a DSH})bki5#2Rk'p$`QCtŜ!AGLI@D1G yhESlȐhN]3b~൚W13">1qQJ(CAցx]Q"Œ2eLA4Q9)&AC17LV.IWSAB ?=j^%b`QP!7QiDITE>T;7ܠԤPퟣ%I,Ou&1b1 7q#RkŜBk9WXջ[q;_ 7[QH4?Je5t)3"hVNd +])}oz#1aҺmSJ%$A )kĨ,>Cb(& eho ~8C2Rà/5KrܱP:y#ӿ%AUif )Dp5/Š=.O"9rP {Eu,LPLv4G\Tx̴C V Hj  '=])@2xL{dU`]ph{=";J Lþ );e*HqEUGki_*'4,A K.: bN ;JT`)^eݤ;cZu)R~\M}gug(~wGfXX`2t0hW'eL|R’߹Ҍ@Pk[(r{=v|{:SOX%HaƢ0&0O:B\ؖ8(c TVJ/K[I*RSXSR3UM@K7 GD)7Ɣ*W/-<[1ù f Xٷdl;2zue띃zɅ] mY7肩VdZH$CB {Sԓ|՜={_%U&To2v $Pj:b`LWIjsDѳˬzdć+q?M(In*f4.NW|ӃhAғ#Y XG rV][NDGŜ]B9h&YM Ũӱbg 1QRUv4^Q^P+HoCK"UcJ9.g{,e<؀ɀaUeGtr#:-GW2M~Vb"i"f0d@F ӛx(^D&$!,H&]46sHd9܊;hf>4=A0~޼u wAFCf˚NK;fATR(3*5yՋWWo:24c;K7zw ꡸q$(9w mRKK1h P,`[;*BˑC],XS{b!@QP(SbY%BcCI;nցA y>J38,Cqȡռ E5YA E`PcŝQ(tD Pr }Y,ytŝ" KNަPF?z]' ZkwE "ۣ,QQ6r5mݏr0;•Dռ@ IP9Hϕ){ "$R"[{ B"1 %PQ)LVX$!yX$ z C "*b-%˘Y QI#ם$zRӼyJ'D1{7rM's'"ZjM}b]ؒYE? "{Gui^GH6AbUYN'>H:P>tB ž hIDAT-~ gW"k d"ԃW{ _ |/?3v~}ws>?W'ݿO:S>]"V,-q) ۢP(&![IENDB`PU @@=~xUPNG  IHDRw=qIDATHϋUǿGK6f""9IAaeY  Bt%^QP$bDDC0Qv]q6q~<0;;LQ]>G[{ɓO \ADz"ebX$/DyqJ >;v"8s恿_W}Q,>>}VI7n|xރ~|t4tNܭ8Bnl?^>A;UcVj _]T~"ok7YqP9sf*eQFѷ,̤ ٹ(ѤYasZ5grxUP3|D~8C|k\y0PrFx0*"ªH}*B5tEiEOD`Edk'Xl-$|.~Q`? WWW/.677H]充 J4]3@Ǜ7(zSUSVk-U5c~Gyz 1:*A|yC-xl4pt97G$oE"PNS28c U`ʘ2D1kC@6Eba`U~|OvrD3ph΄jL&"PDsg*rp~ni4I`i?rBtyC٤ 4y=n4V8bV7[B& %`h͝,:8'RP{$^`KcU2OƘSBr19cP*^+ Ext~~|׫}an B /=2IENDB`;`J(IDAT8͓]lSuƟ9sڞ~Ӯk0brЄ bf q1J4b%#I;1u]ڱ ''yrCTOJ _J:]He.M!Tr'}a_o6djZ#pq ɣDriN}|CڞcYEZ R9 ]#'DVxHp? 9/6:thq(f>\Pm>D"u` Sd72{GGޮg850p3 ab̻-O*p}/.)I_=}sM~?Tam`{]dN^RJޏ 6WyhmP Y)0quR"!clI7o9<W@~gp &Y`Ѭ(ϰ,ZY+'v5m c1h2D;m 4j F;ܡq<cvvdLǏ)L=OUln,v ߻n LZ3QQApm]<27bߐ`9O#+(VpIBw۠sܿgtoocݱsh^ C"D9WMޞ̝>z"t,5=B}C YN(dfear:`eCjƃ]Ywʼl%7m Sד,M ?ǭO4j+f\ any;uv>twE7~Xs/y+GJW^h-}lfEuS*f!.J(~X%Pl//~.;2hxPNG  IHDR bKGD pHYs  tIME +$.Zuw֙qfsad'~O98 ե%ho_|O{{W.0gF=' GRA)4BRsR8X8;f 45Q_4h)B"RlCIY\WlѨOꐿ14-%i-40wPm[(eaM²X %T|Kc.G4SrB(ĉjcb` 4hM;ŞܨiCACEcf\?HDD@4"jh $9'=hn:%8R 4:ls&풪qLsCZWdˏm}Y S3] rerd75f&Zj(]D1GZkt`N2)̭[N>@+ɤGrYJb1^ᇭ[9S^M qTcAu}s>Jbf+E&Y'x(B1}:S&+83W#lk;!TQNdD",eB 8r9:;;qMIVa~>Å޷z:fZLDkM\}|G;Ϙy6n|2W0UnbFj6;P!p(%(.qX[C+N5`#<£b+%ɖ!ij>s|)`(]6ͼɺ ֎pl9Lofe |h.ܖ!R +y(tn.Ҋzd3>x&n+xal%oqye{_wY'z{{y- ~`/[#&;rl\x˫? /[<-Z+aZ6 &3s(;2j„VhIENDB`X 1fxPNG  IHDRw=bKGD pHYs  tIME 7 G*rIDATHU]HSa~al;;ڦGfsE ] !(Q.v;)Ќ ~̛ %".2b*nja -vs6ξJŸ.|{{A0<uRLftm/rqؼ׭ҙ&&s}!;oOOh4,ᑄu("ci g/։kϑJ}wg?`dY{Qʢg 6mBkͦ= dI7iM+Ǚ_Vbƭ^B^-߱\9;'OsגdjmlhO&[rɧ}&b.}0-vSPYfp͍ϟ5&9o|J䁄_YE^2)^p5V1a3.n$E'ba.PqG-k7 Ҿ|yo31-~jQ1J]v˖mN<剛N來29?sR6+ޜ,TW'*,~dz[>f8r>N./+wƮ^~!u٬㢸0-87Ff7^͜3ŵ~}=96UÝ83o7>nqu[;tqq梸pP%aj7g+恡{vܑjxB(3`2t Ksu,K_,+Z^ +cN'c:DJF#HӔx-Ou_S+W mذe)D n1u O[YWRJtwgZ+ΤҾ!kɩsIiej.Kl֊ Zᶚ8GuX*U*n5ulhoIENDB`m_ 66>xTPNG  IHDRw=bKGD pHYs.#.#x?vtIME  !ȴL8IDATHUe@73}nwRj[imI`UB01&0&QQH !F&P4 Эm}{}̝$D?pr~8Ͻq5V!Rk!R t"Сq(t$  LŚ "cmW/Mx[{ %-W d/ I/r ߠ٨3|?_!Ja ؀)sSF5aB5'[Dnjg٣_\8J6( ʐٰ|[2LAH) F,#4f5Y8k>֬4B4R!QQ*&_AJGH-|_H%4+H/1AjR!9N]*7 H"bZ`y'1 h e%vz=:zUm~ Z|ho!!€V veƘ&A[Ȕ2HGJ2mXPtu4-t֚ǎj M!K҂DV# A4Q22X,[A 7\^8F"gr6t|WhC!W--0ؕ'o zؙ2ԷсNRzzx_Pvk7fdtCm:3g. PP4߲nۃ89*<[ X8w|{<5!x<زeV ^.+RDQ(\D*Rp:^6FcIe; v*+_(q= i ,ƭV\*( @ x PNG  IHDRw=bKGD pHYs  tIME 8 nIDATHU]HSa~ώvs[.("#ZL( !ћ.]$!UKAX D&dӛ( E9wv"qNo"|/}حJ ]]]Sd2=\%8&ZZZڿsd Bn{ezz<ϹḨSFJ`3a`nnV"Pu- z6If~!yB9 \.wW_Y-;P ˭lh  *hpp0zvLF'h4`0aR)NUՒF}]z#, V+'I!0L`Yattey+SH<((uR 4 ؒwV^i"#&3M2^P1l_+zӨL%N|2 16]63UPat:կIT&*]yW" mScs Jkm2 YEnA,WZ$~%""bPτ+IU2Vc ZO@_\/Nh`-YbʕQ7f?*YRN Y>ܽYOAD1 g_Wڕ()w?}Lެ+i0E3Ik{'ËRJa*f ;tTfG3~f5{Bo+8msf^J`ht6΍;Sú=?za1o?0$"cLw=ɈUJrI~m[w~iO~w~%z""QJ@؃`b&"U sj'-'*tIENDB`˯@ pdx"PNG  IHDRo pHYs  tIME  #O41|IDAT8=KoYSꛯ#ac!240 $4Â#! H؂ Q2d8'nw{uUzR=z~hO28C@D@@L\tEWc+un0dD$y/LNl0HĤ@T;'_~C[ /K;Y1|(W.t]\2$/)g8Im,'രr|v3 KSGk RP( $"OHɲ SGFãA eZ+d8!2+{DKpI}J&1=OuREМ,R{Cu\,##{^F7*hsfױI/)S0TN"?ѓZ9R r(L0JG)yll-rev5AΌ}jrt0c6F#!>fs!eJbMr *2 '/8=U*aʡ)?0ݹPgk#4l4ZGb Q({2vw;R lȱL s;W:@)x>:3\)S s0ZQ 2^Oޖ9R4#*](koM·w(r csT[dasYHl^ff˻wlD3,cc/3P*"^09[ZEfw?WޤPڠ ghx~xri֟gF9<6$EV3֠g{oU.%" -Vwx泜9n.A)aIi݄a_:}W95HE޿{fo_+#"8ݟ} k%p)l9񝳿+|/~E]{c*Gs9JzRXLpI埙W':`,4uIENDB`o<' :::xxXPNG  IHDRw=bKGD pHYs  tIME +: 4IDATHuoge{f*(("|tn=@ݓx"UMl}N?gFiƽѴ{8:vq7o7pM~tCSK YtgqatMCcagRe((?oE^<\'T2@al02hx sb``p  $RlI. Ap品" 0kH{+m.n~cڪc;B%%y% E%) % | <.!N՝ вaS55=1Irf/ xǡ8%K*^_L9Ugo?QRJg4tU[sBOgRZXpuiZn L;J5UfieU$έ~55I7e$ܜw)MTck쎓jpi  ??^s$鑝֙~sL}3 lGV h(xaghgd%5v]R#_O$K=GC{rxN b Asc [vitǫy|]j宆 ۂcS&\'IJYIENDB`h2, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 30k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 4õ:IDATHϏU?Uv! f w%HBcHƄOML7ɓG/&F$\G4ȮeXaggz3 \E\^=3<Ӛ7p{8Z)BD]tcG _U5Zy瘞+~ A?t~bv䣝Jy毝T6L$#ñRlk%$Bb+ cֆ}Fz뫀 a" leB́J͂~߫FI|HX?1%ӧOyaߡ"+~{נ?JY>q쮼$xfvyoEcOG`͖e{'ʈu;;IENDB`n U$ LxnPNG  IHDRw=bKGD pHYs  tIME 6 [͌IDATHǕoTUk}ҡR I* >Bb˫_Oň6 wxwPNG  IHDRw=bKGD pHYs  tIME 9IDATH[lTU3眹0e:LW@B[J*5 2x{PNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A18iEUcP@A!⃉@L$@AA -Zzaҹ3shFB؏k׆n=ڤ凪습En_)2~gPby˴Ɯr>zG@2i%%r0gqH;5 U'EB }igвOa[FN!,K`SCD+חdS+[Le3[0]3L2N soHx:a;t_k`_74Z>cFo[0/|ެм%O$ %eo:}&'J4E Oj:6vzSIp";Edb]]75;0Ny%n=d`9EliU)"V4^w M*#5 P\*r\윎 Kp5Rt`o4d;-iI%i;mSfqm ^8{*k<~XOuOЅ˧7A k`lq"">_,cobv._5A5(dD,Y?F躪{u˯)ZSuZV=aZ@0,t٣}-!ݫ8K{7q㶄W|$[baچ״ 󅚣z8H0(na3A1NTT"ni㖛=aնl humx^Y@b*IƑ#tWqhC$RlB,; QZ_yv.UȔ - ?Y*y}fAɖNle67O @|^5?OF$?HiԖJB g'-='W$@@F,vU.)Ǫ& w>n_@MSy#O?MLUql44w'7ݟyo<k;> OIENDB`j] 7J4 FD[oQL[9콗 V2g}k#߻H#N+9n]SL#̇ ̤bb$g18)$xL!D%*‚* ^1^-0>*aIZѨ"ؼCo7|2%]RUy6,gGBz{W5+vb+ynJ[h6,]V\' y@}ESφWA0et&;vᝍͫh!R: gKȣ>(;ish־ď*sF.##1 PM&Jl)[3{ ^?ԧ! l~gvȠưGDzaFoZO#mO0Pyt}=Tqn}?9\od8/bj˩&YH1+FlTA'jLj @Dl"E|Bvɕ#~w笡9jU5נ>؞U *Nl?E=eU.2s;%TF<,iMhNdhзmJV^WNTS:qliYYSo̎e.;L*1Bz/?qڇgDUf t'p3l$Pb,P|GhťQΧrAckW = "NC>@p3 @d~CTOK+- .4'gOA`g |{\hj p{Վw#`]aŒ6_tsTE@ǖɪJ*61 `E0y~?:tj-SJO/fǮuRսZ B/ * ˅[FR#㱝jgΧWϿ/Dd ]jclSR/ W{wW5ov|0I#f85ydCL!?`AߧIENDB`ႌxXX6I=9ֲ5@0%#K9?CM/ Å.g^+yl̹7+RIq\y`rJ?V.8X)t}ƪ_B]3̷D/o7$͘It5ǵse3YX4'(uHÞFxk5#x" dBK7쫇9pzbPN @@#h|(ϝ0w~Ѭ̈́pfdQ 1dܑDw 5zFWLOVF  IXdu2]8Q0됞 ! odF 7H ZmCHe5*U W7`'0o½` ބ:xIlvp"̨Xdߋ&M=?'ۏDZEjDvQ<DEDF-=/q3UмLPge CAX 8j4, Vf ݻLeXw YalHEO4݆!NbZ=:A.~Z߮7] DGO4bcL4hJ.G۫c s7+.2^Β@ @9kI6PVHC^(Qjm2\p (@3]K ;. "[#f5>ЭczzB@ TE'Ӟ$t F Ƃ8&H*8IENDB`, Z 8GxGPNG  IHDRw=IDATHeklof/.k|0m_(. RF*jB#@5!@B88JJ J@15$zsc]ᕎfy3 "ᘣMPr-O;S`j5ŬRT|w{[߫r;iG/x<{<#DUר=l~&?/-P뿚j:i)(ò.7/X+c<hȆV;37VzqVn2W.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGDC pHYs  ~tIME->7IDAT8퓽Q][k[y^D<Pid#{! 83'ߙɘ$BdT^rvvoAeTsY2@,0KI QqHx =$bp#e4J<]%Q;fvo}IENDB`ܿ~y XX4 x zPNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"9=ϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ֙͢5=12כ߷`ZxZ,eIZYnZ9YXUZ]F%ֻNNgðɶۮm}agbgŮ}}= Z~sr:V:ޚΜ?}/gX3)iSGggs󈋉K.>.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڤUMO@}NZޑ8?GqoRq|#RB(}'ƁHid%yV"qeesa10unTy_dLlmm]MNNrx"xApQ011{S,.,wogg__[[E1ƃ$7555bQ%LY{a*́mt<QIvJ;x=dC;h̷-p8@p5}FS6iȩ@V;Nozff3f{r f~y ,,!+YDACR eY}(ʾw@Dʣ(`ݣR@  6& (=n6 }l9d_P#clll$Š@e(Yaj8?B(O0E^L VW?!61nnnpռ*nq܊_t:|!wfzHqzR&Zu]oowVN|߷ϫUhHSD̓>Y|>__m4v}-ЏM&IENDB`jo~ " xPNG  IHDRw=IDATHMlTU}̛ymiiPZ)k qE;Ibjܸpi\1`Bt!+ \`E\BaJeڙS/=JDx9~w{;\d2'vbճ=QJ)dYnܸm?߀}}}/_w]۷o H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bb<lK\<\䎎O.~on}|Сɓ'===A&N|T5ۿ3::::88(G9_M#":u ٷoijP:}Ҷo !qTL="[Zk,Kc_X*sJŒDQ$Q)E1E,bHEDq\X5u]r3qE!A9` *,[nwwRs V3t=zEZ۶ήLytvv5voM=U<JSS6jkkd6H)E&Ak8LLܧX,nV c/sE-"LRcfS\B)¶l2c6֚8 ,1sbq]^#5I䅢B *&T*EcW+͍WyXw\.(x Fؼa?&S\gbb֖(;v{9rco,n]" ˉ"Ɏ)n6Y.gNx"!RdViknEooR?ƛsaml槳 y!$8}4um,es:lA%@gaÊ0D3e BcJ?sJy"S4~%Slڌ8XxW{لm "=▐U+VR'k"P}ytW6pBoqjH$<c0ڠT'̣{LMe΢}O¢ΥV>?EP\.S.@ eD `>KBl~%Q6rq"/؎Z"D#FhMFa8 lE짒U-x,v]SJI("@2B "8#cٴi{}y}TIENDB`D/a^B!@ w0 %xﰒ:&G%%iO?/!%IN* }Nw| ɫ60.*pQBU̒va$ ڨGcS#@Jz&cz8DK&)Rx;UVLRąOeQ_߆eY{thV B+ja."H}FAZ%j>|89gNaV 酐ct:ݮR1 @:X"$oCo&R%\Z Llchnb_QgskF8rH*ONdI/iw[L6 ۶}ǎ"O (oǬnB&yXA@)%~"֎:&"<Ї4 Rh,l;٨kY --f- fYf +GсTd1`L"}unĉi.34NplH9I\" eRھB_N1m7v>G}e70m6oyt2c#4HIcSdm8Z 2e[bgDB!kh> $Ku>7wB>pǞ"{'m 4Isk)\iGvꃌo?>mH1eFNJ*CC#] :gh4Xɗ\vn*1%F9i3w!t[FZCaŋ1j+ #ʓD29pK ]w@G+iy! qzIc%X6r; ;q:?Sݿ Ws?,M[!z..S]%w8pu5WۋyQ`8iIK2TAkIu=RϖVTRO(D޼q^najjz{'_ǏGo>KJ KQwIkŲ1o",{W1Yw3՘k.̱u| }{RtЗS.sS)* /EA si8yhc I6qJ% `JRaa~ѨשTٱsbsQأT*1888y(I<`)^<]ߧT][+x9t/x_}WۑD 錋mKl'oC_Y<:Q 1^'{kqkr#GtMxHiaFkzW+_KY!z;IENDB`wn - x sb``p  $RAN ɼrؒ]'E8 <"Aa%wDdE,q(qM+ap.JM,IMQ(,Pp o*qj#_OV8bywu Ʉl?7ֿ^uDÉ0iyο;u g4/ Wepwç?{>[9O֑d{a㑬fh6+OwLʁu׵"ؘ%:Lۘλ. o5nxFNw[5fۿueE_d;k\O -p Q~Sn`Ns듀^etsYxZSs% LlLlĶdbLl۶m۶m'7~?bQ]_:\,,@U@ ?Аy~hVRDDAށHJDDJ 7x7 PNG  IHDR szzbKGD pHYs  tIME hIDATXՖ[]Uk>\i3LK˔jTbb$iL$`4&%A/<`"|A*H` "PJT Lι̙s^ˇ)#xO앵w_}>1AB^_ !BJ$ J)>i̯uHH0 䑖Cp€k *9CةUD/\pAEpVvH" էVA!k ' Q`1P$Ua%(̅"´"Uu8oJ}y3WOD<YԺNTA/c 6X6c| }9dhWzA6qq"eWM0ALI=Q߆܍4ī(n s~#'J!'%&cܔ+R._@̒9n"JoCOKdpy.hpH :`}u~zF8*iDm]Պ͐.[>¸ʌnfAB?̝|Z*QRTS"ڨpXr_fFM)VaVQG+!$X`2 ^ __l_fPWx\x\\8t];g?aMMT-(L>ƹXh^|.ܪ^]ڞzj8Nff<Ɲ2&o̢Ya23}9 )!!]My}xuοF0k0Btb(6hNHx~ axMBD>7c-sڌy l -w) YY]d_7= 6BKt7t*j &eG JՑyw}lyT;ϦU_*+%6b.hd0GCkC|Π6,YG*).5['39nlqޜi ǁD XǥvrhAb=mҼ 'j/<>"!#,0J4 rj+;Ut\IYIYJ)M4f44G'#7M `&_ e4XmݒZK,fop5Hz:F*c3*u[-GLZL6|)h(>Xyl=(.&'OxfN}UWSlny="c&]u5Ӹ[w<-lvnIz{A^Zl6*GHr;god^g5;hQ#-:T8˟Mk}Yu+=*×ie:4veU˦; H<,5)#LU6tm?u9<6[ej$|%k/M5.Or<~V}Ϋݷ#Wvxmϯ_1`odt=ck?{6.ޑ.Ml^ f5naBs~C$$IIc qpLfKJf'|~<.+Ow>df5>"g{k<n+kGIG fg6}nn;vG )?ߍGKߟ \%(%4?ARC_ddaBHɉAmBDDa8RB*Wu&;@tʝ̝FC~2e&zB rDtuݱC~epBM|\0 ӳԫؽۣ)a\PH$w|tWxڙ!¯ ?Vm6Ԋ ] vtED_ۭo\ oֶ>o5o8S#PI$ ]`LW Omķiݫ[O;g;l {FYꊈ Þݔ37`ت+{7$}wKz2zc7WS1=Hp[s{cglsWx{'N߅j]*ԷH7+AQO!fy ^7Z.RwC;庶tӓVѭ?⑚e-dW=- @uw8L#%wɯuž;- DEU,NP&igC{AcǾ%ree2kOpŽ<(ܜWC,Qt ZD$|ǿMjP3ˡB7SQQ@EF-Xjl$o\ B.6d4\@9åq%2NW9p~G1>b ܅daUUk_ i쥹[#QOm/J +kaS=QVIn rZ{XYVPy!#^3g̱a4RHšnokA"ɣa0BUJ݂ jCzte&0E ~˩LzaEWjKΞ1Ճ˘qd NǏ=CVZR#./yI.3;DZNX.3n.D]gXpuD)hPt;# iF8Hq7hOёE4=1;N;R25>q7 5gw9 PGy9|0=4*X5*?w7FB:FH2P:R+UfzN L0jLwNmV f%9/ N{vRbΚ_V.&aR ڰ(4{A8 ܨ_*1 % 6STgn\{1S_.;HYChh)Eqv۝^>%}.{g>m +x`e/hmJ#% vг"{ނbqf&R9~ٽo+?6A߼uֻ֫z[x[ oDN@,9jfǒa;ToY$<'ǨH0.wlVۣuӄ& j~3=_8tR,}dg4w|q@8Ph&rU{ȥkpZwOwPG?Fq<1 ortNdDGs蹲U9 v]Ӣ^2XYr-K*Tk,R`;6zto,p2>}Ժ4}J/nY=>qdDwKmmG 4|6Ky.O$U "Ekl2ۛdKUprQHjUBP qA5T[%2Xb1bpVJ$ʞ9/j,l[vn`va+FDn cQwhXŲ#؈Ffvwd4S{'f3/θϢ~s Qtr6;4){f8 t"*[5(_XkoU#R+ZmS dSTАN$NS^aWV@rKku$1 VDzI O\gJjk[Ac3 >nvͳB',"NkSLג@/4Q,Jx妈"KOEI4:`(^3Au7 eB ~C۸q)͎Ϙ#axJܔ3ukiMeS+Ыf Gk|<)?|?fO|B!njh|nVJ3b9O}hf nGm~<^33u~r>/v2rEq!TֹL[@BcjN@ڣkK{s'Y;UEr.![] " Ehv!:񗃛 /%"ð ͸ L|FP'%=#ʂ~{sHV |B8ꞻkڢ8gb| UOY\UOP*_-A G8DiZ VU:R}O5 Yt{xG~ޙysl3p n>P園iq0/EJu(0b1a(bjF@Go[Gn+yLEVZ.lܔ=:h5e څӂ)›;В7 #G_#s"^Q8d";ljWv>9ZŠLG.B# E4*ZR"3#CjbQ _͖ Ǻb"{/ A揮/O0-xuWnFɕ:9ha:R-H(03ynHY =~\Hٶ"1 :C HHT. 4wE!E y 7c67s|Q{o!gJ[tJs>xy'[,}.2ΐZW.S*O^?̣#fG-eVAOrht mC\4D p ֚5xս(J4"pIL̈p0L`{ɱܮm$ CB,b]{!-1YѦ#ZyBJ*y(?6= ,Vּwh\vgc8"'lrcTϗ(Q jSlRn q_󔆫#z6F^Uh.snkm?"#TGyZ;0/ۧItΙMz kCdIGX;i,ws=YMSBYgj[s 9BJAy*=3ەkd|xX0 g _pRg@zo!fm\0,zeJF(~Q W\k}kF{ V1C- bY07.AД *4Etɧ=xBP|8],`5:Sl )hPi[Y3dɛ{aKcɼ,ۊjHTzCR쳋H_Y m\M/&RjVD뷙کRD# K16y^pPzxF.cY}k`}ټޠFE<0w=]awNL]6z 2['Pvnd#pɕzeb'<|~ ,pP +eӎFij\D #q eua,ZX_#/Fe[I2^oJC4N-lǠ7ph^I$V4tέ!-Xv5-5(k.Z2pJpttfG.ye8Ts;g$w6 g;%5NU | "ܾҀY-#s%~"n!#~S+2-lVn604^@ڈֈ81`m"D`,UpP{5QM%K1.l{M0^l2ұ3,aӀ0> à+PCg-Ռˇb0 ZO#jƨSv;e PB5X;4]ijUfsMYwXyE͐U0hQBmý!Y+b7*m ˔p :Ow]s2nuXtK+^Y@ToSg}+"=[bQ.ie"T,/Qo[O-:Eڛ;\5׻]s"G~_S=>Cg]/;;NH߅Y~N7,Uuw(4B+C>W6 _kxrro7[mJ׺\j7TNR߸u P΅ O 89p@ AN$_LA~?T0vy|}w+C'F Iyfgj$6@& ybL;#7\!>:vݳTA +G*k󗚽r]tuz?bbV*n~5Yapw<2?U! %yA 6 IABS;:\N&tKTCqbYxkhxcZ2tv[GQ6[`P%pVp)s.Sm[]#S{$y ;uj;>C]`Ɩָ5: ;gcfsG/g;r䍞b4ؽb`nH7qo]w5nCO2\WWlX j=5:W9\SY9fޚ'QlgADNF}0 䤔Sb1 g,6$ \fQ/x(BȖro_KH郮#dfjR})ULkQZ *PKUk~Ղc,lcS43>  (:uk=)_'fHC o7kӟWbz\̝}қnnfϺsW&d]x~6bc#gaJt9S|n¯. S7~紷0v%B9E5ȢwR'Q[7(i qAe/fq_t-D*_qm7XJF\ uyZ|qY2%硃Q=v`=L&+l(F%3l*yFXr4#XK/mgXbVC_](k:+^-C'RpoXkJY2̣·^xaxPIHƀUb1A\F5U|Zb24V1/ޘ_~ۊb Ȗy b!VPQ H}gY j[#n$Uvh~O5pCήy4TCS3'D 9Qk{]fN;;:v~ta0uohu>b/aoJDIݸ2+dixNWOw>"u]۽l7 ^׭ҩjstLx/eôxXPknȂ2e5կiolkl;` #Ov[Яps6RAl{)*J~ٽ,KZdd}!q9EƘ"xNc"2 :K 4ӯ_/5HZƒ P7`:?0% '${-:Iʨ./]IʆAEIzͿY!ջ[xG?c&DqH7l}%ӯEڭ%gEe3x{5lmvA'w@X<2l[!tWBźEp:&\Yv1TaT+&XG3pi8#U%wLc_KI7:bI85t703%YjFK)!2{BE}f4Lc֯b֞]){5NC;Imx2r0I>u"]ujSQ[|V>lGBX+o'IL|`liq$g@n*VXK[k}5LaqrZ eN3swg0^hZwNj70ɴg 4ozI֥qYQCA]Yd<Y>4y%2|N?$ĸ-7LpV,(X~ ጢ<-* C]%Fe=840Ȓ VӠ|ܵy: n٧QXƟ Z:Cc[S/ yBCV`V{(Z>fߜe09,wqjsZ&ÝC:Q|)9e(>ߵ?,wjU:3:s1ԋ"7g:ߎ'E<) |Lȶ9v S6S2wj)a_G猥 ܒKT3nnHx*h2@qZyY4)PnaM*-w7WK%ڎ,ξ'JjfkA&meI?8,v&wyexZk-@rg-\mgּo1,PoEDQaM@HqFb5X6&0m00o6uAIIJ}NNΛwѿxGmu_Q*3ƼO/:ԣzoX"nc>Kp֧< ^* MIo|*xpޮj~'~nN |7Men4alBfr0v y.DcxͨU%u1AÐAmG@^R)X DF\iQ MM2?W**-Z|dIzZS X.<'TbF(jlFULcRH8AwE>,@bxDi!1)D ȸ1uc%*eRVycYƵpD?Р-aj5j -j>r]{1snǫzqP'|xo8QhJ#ڜ*j$e{x=P":h!sB]D1;1q/ŲhQk%ڞ9Z>L#q0 "ZWFiV(QbxD'h/ص#bbft>._ ~A3+z29Tobyu;6E``;(9]5"p,BdGUL0v@[ :oni. ,|ێ$T@#hzE(ڀyX FS5kH$ԽeCn9#Eȝ0["f+Qi*Sbmo nM'DR3'Ĵ|; o"9x+{gOL7F::fN~'ڬٴ jv*7 WKlSMNwU˅k~1s=Knьeeic;V y1[-ξ@B],l"W!vM;[!8ŵln<.} ų64([|]2/ܽ|"+*)sPؙvfY+ZF=tQ Mw9AQk^#B*@ kbge1Y9hjtQZ:21Cr8ZAs’V*^w(KATp٤#$Y  *]LӍi]}u_s-OH-ԷCS+XE/l5+m#.Zbs0_V5XttzzL?^4PA# $fNIH=5sFb15iΔ]GWExg$DFc./;2%$ò?#|WӏL-v4%9}89EU3H{-뀞Z#$ ueVͷWQEI--Մ"¯yyYSEэк\ω4DKT. q'&-P"AG(e?)KGa[aK SRE.CFQqDžsRO% |xo{!|4`(8LJ yD2uZ28y>r?E[=BIM3k3 P|i04sy`ot{-P9商v2Ivdr;*K6h&'8y}tfbygvGqriմh7av>d6d8,6h^_6{BpLd FחOb~<Kd:PP-Ce!+Yp'Mjr}3D+r:.'jri|[L7br$(%pM:hK"T-ŭrzg #k6p-YMXw!J/EƼ'DNw(m:UIљJ\@be@vs! |esެVk`R-"hF((Z^ܱƷm&>ի>R4Ϭ_45C'm˕njqP^>el\଴ 6$;x"̞sHi3gl-3R53U.w/Fc$%fa|FUn -fT ='cWZcenGV ok܇ocD[:'ċtJi1VԱvN,BdžˈtROoRֻܐюU;o  ў/`D6B,X.B1¡JzE$#luʭ*,Q;`thXRʘ=h࢟hrj9„$ltTfyНI@QRtzPKD&vѬ#>ӥ ~wo_,;ٴuNiatRm[ka ~Z&/HYW%OgQA,W[OeP.$.F< @1<brgGxޔ]Wѣ^K-Zr$5@yT".#6+єDwK66p>ܶ)\~9Abߚ> ~?8|2=Nh J>oiRJ8 }&EЪDMiEނ;K8llAw@,VwںΔreVRI:#SSGqPmB^G&1 fܱGM fC0eU.׼*σkJmBIHfiw,_<6SΣqSd/fchFJ7X{>pu<U/4st%USrQd9~j+$@S@UyZ%p+CVimp |@khkh+ {3nD1y2$IF`|FzӦƞG!W$UNunh\Ъ2UI3\ڷӟC.]S {|_\ڏަ!e@[@4 /!x4H PƶT{v"T:}3e$u=M 3Z(W0 @PK C2Evm/8G8@g2tH>_}!>c|Gq_oقūh61c}2OVuq|LSzV:#i>CoʕJnߤj|ϲw1{*hi;ȸ]cױx^Z9sB==@$R'"ZiYBOܥ~Mƀk9>Rs%znLbM]) W ,1ASSTU%=brHuΥ1meǑ`k$e彚 MGgpk o XӇk+O:` ckk1/}FGG{TR#%*$ F^#`'8ŕ12?[U:L`ҧ=&ZBkE$Kf?=G,/ŋgƝ)'V?Js w/Wm<2kc;yv[Pw'?va\=3_8֟`+ ~Rb;1,2"/̶&m~.?[lK]s2a$u|04Oھ&Ji`fPFEܨx'hW;UjO>$玽̎fc U0(RXS_Hه4E꒘L*LĝOJ׵S3O?Q ܄V00xgoE_EQ2acQOuEzQ$ٞP$Ρ!\Z[9y>]aQZ45rR8J>MK!3*՚1 jO2GZX3Q(S|Ԭ oRЬu@ГΚ!嗨h+P'4Ln6*,EOw'?΂#gzh+K7Ì-+\_ڂs<>"sKξ2ˉsa}L;gP2խUkS廹>fLf8RU|RKnlI:|.7E" >>u#<7 s7mZ߇8<=4^kgG-M(iCz|݉5R5VDj@Xr æy uQu6#ufJt踺ko}8LG:3sd7mO)%i"%Cj Bp^re6h #bX4'}9O+]k Ɍ. Z* %%P7EkMpt2<G8u\ebt/?l}Cq^..1~/v8w`m\|/}V 2ʹc/pr-oi^}髴W63}#,,ʒ9;hw)u#0|(BMMNa6ɤvWJ^Viv{mi1sa\bh##[9=(CT\wlg`mͰi3"S U+2sdw-1;XX??`bX;˺Ĭ!V]_7Fꐰ<(ƚF*5!'tUUUuJsW|7ntQN}%y Wwyk4 AyyJu/'-fy ^gH74fjYJX%(iZ4 PQ7Vl})4):)E_r@D,ZE4}IEcEqx\1bSԝR +`T1.zk5?R6TBƂ&K,CG7ƶRXfzXX'rE+YojG6 n if|jڋi3/?p;';q?]l߳׏{'[_#;-5QЩ=ٗ 8ۙ` IDATԩȺa;б N3 a-\7*ֵMxRoqri.Ӷ0!IP%KS ֺ 7<=̊92dYCa C*<1|`cc?r?[ WǛo2<}a,%VuEI#jjX0/h_"WRX d&AKZ<\kV9nͳ8ߘl7Ot߾ޟ[ gro. =Do=12^H٩>#AJw"2Zv~iui%gGSJu|gBiUUe$ǘ.wiՉ2n?=ҧzAb c%CD)R HNJS¦(k9ghu*AGV7Zv."SnRvSY\k,[/Y  u su&iV$%58 3iG\?EeDҋ*RB.=D>/!ӰN+,BM1#>@^97x8\r SB)A|)-9 Bi3EulSQ˸EIbۛ!u֒XAVr:Otj vA HIN=n'`4d{JҨ/^hl@Ņ _F93=@uq3?Ɵ#w3xKk|9<78u/=]ҵ&(V&’2:6B,Z4E{)DžRl ݲ\mD)ԣ2]J$cǤ䭠`%otS`! O{mAAnjzB%t6#Rڹ s\{ނ 4}wP՛=@4@ VQx7e!׺~VE<ݵڻUgʬǨ h-:7 n# Z: lKJkgdDX r_@*D&M!ogz}N!oA)JϮU3QʟE&6iR ǖ_g"B.>NT~}jűۘoGjy/?S?A~g/lF|^f;ÙDܚ%H#b,~ Bl2B]e$9tLƋgda:NZ)L3t^J#\N?)IFH%*D}! RkD¿Bv1}9۶^S.سq>|ۣ,FOKs|/>rOw@1O/>EAUI\_Q\kh[pD%N1bOKAH"ވ=(޲,4dLWd?¸M^ZZ,IJ`ޤw6/Z8{62v>w c:Nc ҁh]y{giY aI:~7pKcfHb\HBAa[Al1k%!)P;MT-t@BJI)Xa(& ĴZ{4p煛b ڍb̷-3fpIos$"æu7v;\~8f%ߤfV(%ܻ6&,\JKK5'xݟ&cͱ2J)i^]i//py$nS% s3D"FjxO"{}X]%ogJ2VأjHkSnlhz'OQ k tZzD-^8Iٓ2!zy.Iu~pvӪ8;2m/ ^Q?rY{=M^|鯕WHBvɛL@=Z0tY+pK)퍯a}"A+TCydN616mJ$FI )ڦZ7S~aHcѱY*")2.)E- y3c Mw8A&)2 = $""8vI3Qc 9# Ν5*Vtz+g/UƇs+3^X!IJ%-B}bPgS$-uO T4EZ҉[sJGSg‘Z&@ ِdL;VleRnh 4PPI*}TrS-ywV}2Mvt==3U@6KTۅ5^m 6 {PX 2Aa -3yt|%{{i@ w7|? 3 z"\kRP)Z T.Ph+ H G8B9h㢐BZfS2#ٷqI1&r!A+XMlS4@ WJ!! E6A*$ߝVܷa^߂`yBhh_klƱFY%^~%بpu9_XǴ" ><;EͥyJ9wAU0~0&&-jK" rR;qF0ѼmW qe{8NiGi?~,Hӧ&Ws]XMq6!Hgӓ6MSVGCz%c-$G[gbN 7n! i5K'100 ,{)K"z}Ӟ-?$د^s *i҅ޅf dhs&ԸL6oa7ʴLҤi©4E_GҴB'ɉ)bBQ vUم?>tT6"ef~1TڌD->e֢iX_ftVZK-ff1v-\- X]Y 4i\I%ā"CSvt"z+̍PJAd[Pi23NF#F5uMyz"E2re#n2 , :#< sIj֯{B?\@d0RG1$yJ$17G'I%>ZhpZC!P>ե3ZA "S~p(ORK%;ѣ{^ LiaIFYKQSbӄEn9IL %gF:B hB!n9xaCeB5`'h`(,\^feaJ 239yŹETbJLl"D" E#/[?<X[!/]c<& h˜.H6g_^b=3^:+ɅHiXmJI/r !8CV&Dz}@WxY)-˜/#6&L\\!{c&eX]KT"T?G(U 9Z$P(9QP%E_gOhkԆri;pר$cBWQF̝]#Hmcpw`Yʹ ~M`MxIa'>vf?V%}5`L'ҶӢIV Ul\rteHKJ0A$I֢?$Kk*U)iI. l|GM ×Mي*뱺R]a i6:!i=x?[<ŤߣY VfGCKrg=Lrg~Ȣ}zIN^dd f~c)U/!s3s k䟲q+W8xO k) j]m`/y\yafoG-QKm:"l>]OA$Ylf߾׬wp>%YZfbN_ٿeSh^ z4[d2{LUH8p̱p͍)TWB7[gG९;b&ʺ̇)Թzfrm܆^thړk HfY^DO>G /HrsWvс%YglEWV#X^`'됡8kudk,$B#ʵ}$Ut[D ' {cEXr߂$I;G sm%VgEc=6''uɾ}+g-J4d&Bz@c߶7]KX{W#zz< k@6no$:}`#=TRJD*ƺ4ӡ9(Rs26E hǯ#3R*wHI7BiAD[XmQ"8`HNKGdҷ'++18~ЗK9IA)_&-io3}^9MZsrn l"s<_c烟䪤5ţG$-&& z`;T LE%WgKkX#kJe e~m $hg P6ZkHm 2AgF&ڌmk`e {orâ"։Mֽg h48<>[U|cntqz&K"rsԗ\:hW>xFm$y B R1(Kþ yCAƦmuhJ0LlBԤmR;+-)Tڛ,=s鼙6MM i3$̸Iz;u^e7)>[gypD^OfQBKr2F(Ȅ[/7MvF$ΏZi:)?bP';o(t:lp#Slcў"{<XK /}J&Xs' ET0X0c[ >b>ӧcg>2DZS1I5ڤI yEVNޏ}+Xر&.\ce&`dbԮmb)d27m;ebfJS5OI\ a^"ezP_#?%Ƚ-*#Yo~9th>9JN?+_&_hүH􇷣?{`C~ Wwe n/Á;ΐ+>3//!"(I EH`(7 uIW\ 6׋z.5uެ|tZM&)S┳Eaf?Q zg˄Ba ^+#*$19Y㵳r,[k<ڒӃԓi ںbiJ G (HXZɭnb^˟[mklg3ua2H Ibi[3{]en~w}STÜ;chD~ᛴI{NTlCL1m/r79pN,;FE5jO_>eFTa}<{5ZkjȷA8ʄPhI0!M7i?iLR.=Oh-q߃G8uw/6wh ٺl,!DgH!?N^T1&'S;\SyS:R׉e@xkf(JKDp .Н8?\ZQ%J?3ˑGpo}G"ArՔ72R.-5ܿ{ ?r;Xl:f|ao2q5Ny:iy+ JAXR>Ϸq̫J֧mo]Ҍs-`3|C7/Q#J0/1V:_~*Pn!ؤyG:{Ŗ iZrBw3 }m M3\d)t"9e[~=fz&T66 KWغgkkY\Ж2{yj)\x/q,ܳ}<)FJ WOäEKӀpXQnո&aD,3gY1G[K_>@fY=S÷klw{T~ J71DhaQ>عZ3?7O¾"w`jp 8mCԶY֓6/-v 6?HCE˖T.9TMIPhtƫIzļ5Ƈ֛F:ŪcѡTg R$Q !aPr-㴓J75~M1PTT'j3P M LE Kڎm 4 d !Yg I؁I^r7k9Db /|9r}4fWG P/&GI'_ɩ'KuH)NRR)na`p{&Gk0@z+XjGxRɿ>K1ȶ#ۙ[^aE'_s{v*L_kG8ϩ稔߃uQ5ؐ2+DwN 5}WAg') Dy*9$v IuT T i2RSK96MVZ KjBl҆mKpnqrB:OʒO7ZIx`~WzxE/aV F4J*QoX ?'7 iu6e#|類wʬ׆~1:!:ٲYhH6UnCh?ȑI&s\e`Xy?1-8]oE0?{/?K{4,/ctm[,MFa)Vߣvm9lM}F8pW_8.Usw/h$%׾HM9K3Q}[֟%ncḏ_E$k1/]/?Ɂ16!;"g/>KXR{Ԙ[;H>1ow/f+ː%WB'EX6m׭ENj}ĦU _]` Lޑ"{wU( 0iVBW.R)9)0Y\ܕEN_YcfYڈht@ra*GI|%cse <wLݴt(yS<}"+֩XRmVf:E-*<tZoJ\nK~|$u} 4ZCeqZr2+ukIM܍&?R$c79NLGc7- 2 nvP?bN}'mʑ^`H8:@5o3;]gTeNyҥ5W_kPњ|"u>bKrz]J7du&!mk :z-B ؽ6RJ5TCf곟tw抯<X}-Eհs5V#L-}<B3Y_aԖCDpwʉLQޖqf`Dc-7ǽO.$2,MCnpd8$n4\Mт3&}w+C>M,Z!iM~+&Řyv~Gą*SP@E˘+ L!۶0k iZ[A-TC|ĭEE7F a`{ kK:B}] b4expVkgk|7R?J:q<43;ub|i&k_}JD\'5\biqEtpl1ܢEBmͧ>XjJήy#]/q(YȰXycMcb=Eϓn$<~cEǀiq{e2K-$FX"@%qa0_mZ6$%E!BWaX)BX^RDXC@XeڌSiD=ŞG2Ms -q&r3qf/q~z!̏#UR6DB$vB܁^`a o>RnS:ӴrtV#GkY*8xʩrAuj 3С:t;> HB7,玝f`Or-ŔR>ss,^cbd'3Uv]1*aŰk|7W98_=Ɖ疱MK4#I(`qؿvaA@IƇdj{#?=wľe/OhR̅NYRZEK! R.*CX(ڈ(R))WbBF5A2'iD5G' $ql1Wat`Xv&RQ Urȕˊٶ3Po/B@SQ ֔] XİE 9.,4#Ty|.]WC 颪9)<nlMSlm;0(؃pƽyN\ILaA*퐎)H r]K9Fi:I:VJ=Q6tN$Փͽwo察"_o1rwkm&P˗ɍ yDRMFw2(#*#CQ!-.L[ %sq@TY[O23=Zel\dK߯RطիOR ֫癛]+7(׸{yϫ\``[ga=c|}+'6C}9:ke6r8 /'9KM|%%%( 4ڄJţOqZB&g7Bꔹ+KY!5AI:^$MpyZ ?{ȋ:X7vZLl=Z#{j͚SHiM^lĂCBΛ,FmAF`^)PIXE!ΰ&/H) ʋ*xULlp2JC*tV!,tn`Aa8N5o5C-x)L"7ޡcmH Cc%.·λ7 ~5Ugmxx5^|\YoYkə>v_}-'YN]AJ IDATT.k-~)KIl%1 /}=Z %=hWmpa]rzEVoÌ[P8VR+vBQ$ υyh3qN=ΩCGy/G#:/:mS1mp *?멏hJZl^O-/l'~1}~49h0UN>9ny ~q2ᎳsmWTZLGfX>m΄|\v6!K͈ ;I!w];xb}8|w/cMLLmefǞIʥ!n=#8yt8}jgwחca6]ઉ[{[&o}6=ӸnE6t~yw/|:L*Qee~UA9;/^H6!'86Bc0R*CCf"C6e5q?BDnBIX$52^`i_Au< S$g ^ĦZctŸǑkx# A~V'Ow_7DqFspaCdQs[b6{Jmp4aBf輀PDW܎[*|K;"5rm73xų JG.F.ast=[[xM[=j\Î-3|9uGZzMJjJ27FQifeqM;9WHIn暫ľd# Ge=7\㝼p l%MK?ӉZaJIQ?1J@gh ~JeyŵͶ"ڔg@#5 ld=XL^\ h `-FyiW6ȳ Ok^Egb%h.tGaz{T&o<@A6_\?qs^,Kg@ ׍0$+i0.mr R3ZejdOw?)+L3R]QԐs$y$,qq܈/?Dj W>gjKXϝV_k'WY]1NI☍Vȑ㫔k{ڢsI>p[-/5FwitQ3qABsiX2x=<'f|Je sɿ".1NZ`%Qm,she'>WϾKvUxw+M+ N4e9(\D1_< ɓj5\r:GɰFáQ4aܣd)iclN>Y&Õ0kȬ!"voZ ],rIS앱)Xiw"ݜ8_f2>d_ ~.A$霠>NJcΡgzխeٵt!F7 }!֍Dq7p L(qWsVЅА(j9 " b9ZXV+f)$ P朝F&h\3=缸iu\u\;vj)wBjy1*d h^|ÇF >gOԱofM゚ !ןC'xOα&$.ŭm;ϓ//q>qN>ɧ]7r;~]6[O~|!sqspwpSD8su7132Eux3k˴ ;·}w%_nnWc$f5R +v3,&JC Jg$\0KvqHs\jeE5p);09VU1xœ~9y֣鲼ޥƴMVVVX^p*YȲaէDbݥpN4QnxdaF&9IfVva!lLd~F [⍿?m%2Ne%dnV3e:%o2=bȱ 87Է5׾H23/;~]lJFDdn~+:wA&zZp{L%{V- /⹛YZX!O<ָw;N~'?2Qmk;LN9NKlf>D7 IŒ|Ie|I畩׫kIL *aZĽ(R.zqFP*f]~F:'@fya88tp/nRE s(:_NӔ/7oZJg؁:B*Ͷ)X2 r:UK+h @c!P0Dk/Y?6en&N]$9t">RbYt/b)`v0rMq Ҡj00vX+sGy%h8{h=Dm, y*gn4KpxDu^<:4LKeF P w-<8c*8%(UJn,Gg^"(q_dNv/tBMji$e9'rŦ*,b){yk$9j1Xbc7=fv0:R+o|?D*g|O[}FG!W\,D2Y|sk>fŽ_{}1t $7 ;ؼCb mؙol"\ҝ>z76O?Ȧ}7gӦZ*S_!U`-zw\.no93TGtY@]HLN 3:[~7Y\I:6ɕE'W_Zw/Ix9­W_N-nwhTk#\gN W7tl(*6q*WISV6]MR"X$]"ffR%e;o,֣AݤY#t{օCeΗ o@t1 U8++J`JOXIfFUbq_ET:K}oΓslsź2UI[^X8TIm.Qưdg}~ck2,y2qD\ Gnʖ]'> ot-Yv_{:6|ټHuV "0eoijqמ[#_![ ﻓo~IaJM¢>Jr;[Xe9A@fK䱳Ԇ`q@z__>aR)*nYxO_χoP|6~J)qkj\^zO}1O⢰"Eq2׼RDP哴ϴ6*Y\㹽ᇶM*BK0MsnRxfOIztSn.a&n}oܿc+I. ~P%!QN:ξb׮7f@nriI@ =Óx_wC|o?շ]Oc˱G=V8׉I~A { +:0LFucPeOTJUyاY<@k%rvN?̓? _wKj[9jϞ'oCB[V/unZZZ" bfuK;k|A*Xtn#,-aG88@ Uo/$ oϠ[xi R"3}.5KBH. fp }j #y9C+V#g{26B:2@ہMR(cC),^VŠq29~kI}m=q0I(c)9懮g=FQ%=J%Q? 99Muze)2&VN/>Mdn"j2Qӏ^%$_{as,=ª./~zp:]]GTxxJkuqY9ҡTȶ <.Yfhw+ICgCqq;%WscUڭmS&KS!b KRoV2~7?}w?1Y=.RzNmv3W^?.go݄%D+k!=\{PPJ=?"q8_H#qSrB+srSre)ei"iϫ.Z|GG *q'v2Ra0CV8SJaq\yt {4!Z=q2f9v 1f\G>{ m z~~diK91\AƓ Yl2iأ[&fbd++'-MN:LR)V\N^;9 O;?d1A1xoKt1G46I*KQK˸Ak QY_@^ LR:>IPyN"ᬎ8׉1VmULg[E3+/6GVh=@::LK#۸b&_/efNӗ[|-ަfq9qIZ\R<0㐧%G"yU3p*im~0v(% uƐk'bƜx"(H1XĮX IDAT9۬5v{P9&+`>1/<\q U< 98$ ̠iIW(2A#1jG$8}9lF{1TiCЖ 8sX³ܷ;ʿBaJHܰAۑSM)+>yBfDi7opՖuSRi3uUlD ~Tb9<ؓQɩmבALWiVl垷4w]S yDiA"HGh:y'C)Ee򄹑qУ݋I L2^CSb cJAZKQ*I)adumpڭ;UF)NR. y~+b`HkpukHjR9s梇 28Vl."43ԖfTD QeHJ$J-'W./i89)2BZ.#Jr4 `@Q$΅B;:z CF G?W[0BdEA#bA 1ծ'|aDQZl&sCSQ $qFmN?\NMa'IJ%dG?Gcӛv%Ju::d8Yq%Gс=ב9UJG>NI!#<#d^V$d7q]N3w8NthgpFgxn =.5ˉSxIu}u0ZLj(7j8f{k$F:dZ$Q(DO$dc]j"RqvpK=k6XXo"v_(b<:%ynHkB[yZ, Q =S]~/ZN>MeuZkβv+{qCCfo4&F1ilv ]jXWRAfmF6J E!3(2H"F*p|?/-6E|#=5X3([.(LIV>ky (_vB3kVxuLXzl|/;v:~x|%_% =062-e>kYơ+Q_5$JlŸa13muI.(O>CuZ׿~e~)`dx{̌'lI;_826 s*#1qow Eeqqrm-Pk86#ЙKE܁TNd2'%#$mR8$C F FWi,$qD/pCYs󈪂~q2Ij+&by5-6Tj5|?={|Ͻ;e^69KELjmmIrf^Acr\tP[{-$:H%U:G*P hD%<Ɋ^zV"3 [x0/a*HIM_H~K4P6HC8V/6)k{9mW51wʨ_', sW:#Kf\>rԇH7c+Gnk+|_SSa&nd Q9<"nq]ளT㛀e26Z!.1DUR&h˔_N6IqC34A:I?J@&EKK-CjUNT)K8J#:HW)U4Z\ic"Y_Ŭh[lr(h48{Rw}{~O/`pM%c$'۔DܫrE6+{0pi),Z35~%rGZ%׭+)ǤȊV[9SXS~^^!k*.yL8 R>΀)(KQʠddG QOE {7f \v C\ѧZ .%y,VZ/&A}W>lяsb{fryo0e'{MS+n!nU֓<1Ʊg$ꮓ&1ʩV+:JM9(.3u4 KO_Tyԡ :>H0B8̱^@+r&g\:ʥ.B6ȌG܏q+2JCC̯c!Nz!7P2ViHilwTicr(JcB *^NrW/3ԨgaDDN#Z腮β @J"Ig 53*u|Z*A"+NyN7>gvT9J߽ `xIq&ǘBmdϳSxMN52 Tsr[ l>i 5 -)\oAP9(}D#3sq !tȬ*z8b;&p XTkl, 3k*a=25C}MmͤdC iJ+bS6׽nfzƝ_˗xϗz=HRCP '0iJ^A9 V+1i[lReшq|N;gLVgIDb4%1e5{G,T^dj@0qlR K꒤,iˤIJ6glܣVJA`mTkjÒՕ Ҩ+&j#%QvU8F8@:vLX$sc[u>j^:>Z pl ɵ!3)a!qqUN?'7:E8aDdJHߣq9r,w溂8LMMO~V~޵U8u",4##'qdc,D68t*U'T;=Z#lD=͢s[ncA)(cВMkW*Z#PEG cH5VJ)0"/NF dE R"b ڂ x륯:-J!x2ǯ:la&0 InN!-j31ituHʯabGwT0 q(S8,N1*=o+qjg/E:^׏˧(<"a2 gT)C&pd-(9k zN;VKYZ_bzf^o>ʇnͧ?Q׾y]?eW eRcus3#rV$/7X^YzdRFg(BfѹʼnOi3LLzDHvF@, 䔏^JBg،:qkSA L$0#J|q L4a.}AZsBzfNyN-hQW쩐utiNc%.=\ayt*GWR~=@1(#iXDxt?|Ϗ_&G*C>F(Ł5ؿs IV [P惚_ `3O&RRM30=#~_%(Gc2  堂/`5J<sw=%wr%c5^HbO#-L-3<dKJF+cx%Aa3,YQ&PQ =՘bFJsu 0~Cfcmyg>w佗H5[lyȰlu&Fm4:M?tZn` (AnnZHP+bIc,QH|y c^")ʃ8g~kIӚ>{|Kͷ+̧5O?}`{1YY! oQ|:fB.Ƈ92B/^̧ [_b=ZZ%<bULI=z#/T _~zqOwFxgs׽rc%(ՠ¶ !Øeٲz.A_6_TXΟ~oY9uٛR:WHiښ8vt[;1m\tV}ALu1FـH >q`8r3tA+DW A5oS/C/]\ɯ/&&(qCDSp, :^4 ׺8%)fzxW?b ah+Oo ¤ٹlr_oOжF:ʦfqrȝ;0Bk.8/hQ:DL!@޿& U+|ˠhmZ !o*E͝-m 8XX$ F1HsR6,+b<{j;AcM 7,J.Z{^)HAzZ>qKW_ckt<΁-Fcq:Rr9btXʁqVe.Z/3˝&`8 D=fc䪥Jp0TB*0@IѐIJW8f\9? h謿чdیtz(dqpH'|/}DWHvv6բ VnFL&D,y:UkZuH#e#~ǹ͛OkxbckA!Y6W7ޛEW yR }/ۭKY=FT'6@;<`VȺ)l7Nih FG,t@N kVSV{ )r< s)*XYdCDF)Q,j. \7i[St?uoZo 3| TSϳs\~E~Bޓu; iA"`cIjR)ꓻH{,?-5J t(Zc,. E i,TsWW84@`!kʢvXg1%)wJ-Xc0,vDsy1U B4 &p|<q tdbT"]9JC^))ZjgGXuK4q~ϲ8ؿ{7qH'x+yGw.p3OxPay5c*nLXke Nj4QK1 G2b΃5~u1,@'kjUR-OqMW}SCzKG^6Dq֊K~|g_:goNP:ɴJ?c\b>`׹vYDȲ…l'%ݨB棖Y(ٚU #O A#[xQF.$! SCa $wSt g-bvQhqjM5__nݺSQŨ8ڑz䌫Mߡplx>Wq<|K2ۤN;Bbcss|UaцYpSߞR~_wj>r]"[NI/۞ vLQؙHw-hф~ۂdExqV9ӏKZ“vRNR댣g{3E70 =QpxLy؀S8"g`p4>9g\ /t U3akl`<$#Z$ Ɩh |Zs}6i߳xմυVX,,G6 [8U1m٧%wn~scjB-8G~Y4GHH%CcWmH$\gv;5ZԂzNؿ{L-S4szpm^)W24+W AkǵI)ǣD8Z[SUb֒{x 7A3;FLݲ.3%G¤ϢƘd}AXms=q¦O8w8I+Z6bw)kz.lC4+[ Tm] 㠮 ]Fx}ßg2ĻSx'$%˹/2e(hM%cN%ZOk_,u٠G1O*¨DIЁ`~<'$q!"3zj wKKuX'/ p_4\Ԟk& ĭ4)mgNZ() A@t9.ic?C{'Hz'? gV{cf?@ I[xP=ơ$bd7lY RÌDDRR/JN$ed~BuCF %TMu)tc~灳q&&fL;EC%:Z=A>#8i ǒ2—!BB66-e 䭡W,8.h ;E谆K %cz6=8ͥ<0|AD789>N{ӊnT93k!Em&=!eR_xi@9  *%XUUm)݉l_?cY4Bp± ˌ?X6Cyal2z+pg RwZGk 8בT/MeXJ&9% oZͩ&'E (#լmTM։ۊ^ "oLsa2y;GE u,E <uK?jXƓaC Vp2Bĝ;<kA{},'ZiD$TG:iRRVHTcE(-1I0׋h [cH\||\+x\neiGO,Q'd?zzw.wq9ܽ{4ם;wp%lsx֤GyC <qd+ZY$T0>u=$ ϧ& "l(EP4\YG_>@}. >N- A :x1B[n2/bzeCv%zNpxt||w\ ,{yt:! {ibu-ApBoS63T魄tucWH4%;'h.%.8P(&yM^5SK8%iZ*9Ɉ}d[cM#y \.%r)6r',Ak)-mUՂ%x>J5:g˘^ƸB4( ([Ӓ(xꘙ,E#,Jxqdk&b$š+3I.?s3G?+Trg: dΡT0mTB.XbQU|[Nf1Rڊ)p})֦N:W,BNJuU:b̜JD[ɃC._BV9&?V}b1/( w3<%{sǕ}ǴFqyÂȤJAĠ*5pO[~y1! ݚw1ã[Mղ[K|0uhY&)¬&Hh42~CY uFx&gHLJ!xU Y"Q:mD$&QT*—SP(J#G ӼA'Ԁ ,4h8+5A*%UK)64MxrF t p ôG:̩ u K.3m_~;ݻw⩔yڂ,rI)$G]򢢗Tc ڿHYv/I sWr\92g^,([ˢp7],9Qzn޶*|qvg/cW֖ ihJ`mDђhTpAaejdņ*hGwܛ|WnN&Jm؈ ޾yJy%v#rErC}WH62"ŅnQ*X2)9[frNf,j#f9~~f. ۩]jm*hB9E:F%?}RyI0L"`hXҕaqϨ.vPِT(p#T#%z{H+%Rй/ׄZT} gru-yBϯlånD܋(f ʑ1а@23-$ "=q #-NFtI"Q{IJ~[I]5$DT6GT]F3ߡ0zjA+i_5 ys9e :]&* aqWăԫֆK?[d'TaqV`A:]4H*c(WKp d .{Pa!}fD cdŵcT3bv!<U_gH )sJ"~ /MBDArAMDž}qB_0\0eg6s1tbp 6ĭ6ᤵʸ2X+;%ڒ(&1ߜ ¸-򄼘d<)kzYWop $YF;lpd}=fV Lc4S/,FHB H\>%򎞰M<}kNbU g"Sƻϳ扭>3Dm&& l'!?cOT1V)  1Z.% +M UqFkű/ BC, HVr2)"jP +J\QQPy(#Z|FNCBB7o|=50=:0:zY7NS3[PJ) |dX'Tz0[Lkс5KT8lFqpNNqWJxԹ4mh # M|a߂?!Xƨ0\ .?AwWy_ \Y^2،9 #"d/X_i c)ZѴQ80ZHnîGjxKe5'lgSpb .䭧2jm`“vz!+S{lv t7) VKS)C!SyO.wKAJ^aGc͜z/CizIR[CW&p͂6:cQͽ9io$98beBM4't:!lN͎YbZs2 ҈ajLy$-ac>Xf?gn1?ڡy݆iC%3!5:$m/cxP,0NBhZhT3C( O9{51tɟh֭[K[is OKoZA#d,Htk dgR7ҖQ"ǣEE՚GX#ר0Yu Ҙӡj-MYڒLTm\-y-=d'@ b; Y)>e=Rgd\4AK%VC\bt;/[e _ilNjbeHv" jXַ؝9V[;.f z+jv:+O 8nW %bZ- cj:YdaPWppttMȲONߖ_1x 0wD$hEPev4rmcB1\Q ;UE$uă͊%XEo%.HB\EuA@[DS6α f:QIތ 4"Qqtѿr=Wt[iV&s{kz޼gSع"iwtH1K4 Xi4bʅA)Y@[Hh)8]ѶKk T($Exce+I\z :ܺu?_H꼠.4i>{7tch &`.McfWѶYB.޴<|[ !B?ѩ;kkViI*xʻM8tfpbXgt7Lpueqvv HZn9D OO TOƯv^׮=;{; 5ʨpѬ8fXgŒZM`G O7 Ё'KchdOg(&Z $Rx7[mbueoAV0rְ+g8t5!* ,won )݁I RLJilL{o}'xd廯nrM|7{_ڷ$8lcon2iazPN >q6JmKfNgфgFǜـ~i;9ضa2]ƳE`\!~8T>1 ۛS[ߺ_={W-#?݅|xmPrx8>\m>}_'W93Wx9y|?(O7ػ Ő_"U VOb#3_Akh(JVmΟ_$K"&,~("Ӛv6„1ke%tiL'ON:I=_# _| -D$$f|pTM?>V|v>3G?fP4 &cu F"F4GݘBHNA: S&am{H>\ jI#W6鋔` c ^s$,1_ ~yc$5Ƴt|d`^d?Eɨ͏ޔQp-7hMJj R[T% ~iMf 8\L<ү]k|x%3Ls/09s}z/ CH:<;s^Wv7W?4~ 1!Z/?V~_=~ؖ6Ÿf# vTnAiDd1UL:)Yya$GGwXT95"2i9$/ݩ_):Z x?GGKM?,?@<@=r߀j w?O{x_wG ηx^uQ?a9Xh+4(J+ݩB h#VSv4kCG?фz)3{V9}U0Lzt>EVBG% d2fr,n]1A1&غ۾ՋaŚl_f<9ftg[ݥ*KҸG#(>o7vu{q>xb,i7 ZK&i i^Q? ɔjYHjW<4!w<s/<,/O?u9äX}sjLsv#NK T 3DIt[>@ Zckv& կ\7j}YՋ9KvUx`m@TU IDATLOx|{o3#"wHĔaF]U9VC5Sz]&2.-ʔ,>3$tX:7yg |eTN*ˢaZbcOrvrXXxJ̽w\u;7ʡs7hdI(RM eJ[9<۔oY35l9ȖlIV,DQ"  9W[73T ޛ?|^U]]9go_;byi2v q./Hg oC'>7s)nsgݬRlBO$E@}h9&{;sG4oeq;ti/} j/物y+j 툖fbr-9 mK2XJ,Kd"PP&mq{\#$(2"oY]Z`dlBزlm/rmn+++f"Bw?գp{l.OМe-j85d^hL#6݌|Ћcuu PXBT4 $b8r Wqm*Nj8'`@+rzv-D'%TN,@"դU׉Q]iY3)006Jcu–a A:*Mb!\T(BlH'!kz>_E $NC4Ml# mFuYbum;mZHYvV#"}"T%.P֘.y]6Os buw?%صyOEFAf4١u{i| _//r78E%,vZ.e6ks>u+?xYaSFLKyBʕ/`o0:WɌv]&'xy޻|#P)25}jbY+Dst3cэ v"1qHILVcb34bܠj躁x(P,]g Jã']ٲe:IO{$qmP f!0y2cQ:k~CˡWCW!H}8+}VuLBbCAÐPSIg˄3<$B!{*1qG H0{V#ՊHg59=UFDbN"&]XbdH`xhM%0$9s/@sڄm"!R B<~}Eg [9.jBP(ei]DA$J鸨BJJ"`6o"B`Cwxs8$mmB4[2VDqBtUVt_'g)W Xa9R!(Z)DUr] 4Q4ڳ>6m~ 3ψmO4G߀˄/XzQhy񯿎}d4ysHvuHr _xfNYf0H܉it] _*M; d+xUn,+[XI-Q(Hi⸒a1v۶ \R"H1FQZyDJ)Qh7^;ǰf}?~ּ Kg!'O k@3@_@> >De/!rC0pXi$Z$)XH?D D~OqT]!mihF,%`+F C} 1n|6 S*hD1hKsn.T6j8NМ&Y2Pt!]d*f!>b߽$`*i֩n=:!:(aJ!uVQBh1N:ªŨAr-Ʒ0X{!'S`Qc$euai5Q nSL$L5a\m U`uK0. :3l)a6z|zc{ β&,bG:NHsdNi&e[%nQTrM#G/ZǏ|lTRs^u?1NuJtD wjF'qB';ʗ}|Ls߂W"˲QF2iM0 Bj&tH#nR/!it7N  ɚVHzk+=f8A>O\9w9^@# FECq 2t7br#z#ү#aaD",A.2ho^+4Nx]tBl LLW _^#qCI_J#I0-dtz' zLEnv6J:Awym$:Lnedt>eT[R\NlɀY'Pb| j QAT^W#yv-˯J,6T 7aTtba 榨:>Qvi6i4,-p\V;MZmNuHjk)\s$SX͈ÍYUAkD:M$4: t0c_~ @2dKVO׎nFўe0D5N0Yh |aD8݄ Qm8->I %D!(@j$4"DgQqEpxhXKOH#tlKiAEfAOa,#&DtfXZ;Fxz8 =uV򗿈*\}?Ͼ#$8f`0 )"\AӺO.2 f^ASlVg;LFFηJ+GYmxBĬW`zᷪD. wv%QkP-FW<ۡv0En'I2xw{c VhhQBxh}Oq uQg}¢GRDI Cwq݁=8*U -~M)ߏjnN"|KGU$;/GXB*+E*rFLiDx:F3! &7^nLO~8zbNG?ՌȦutPQsR6k:V?OP[9eBfzVN<׸ٶzZd!q _{:EȦV]d2;tZK' 2[ՉS6|^CF iՓ% 8pB 0-tC'ʌ^׫$ Qc(m7Ci ?KEhF &g SP }'p#Ay/@_`Ϭy©6y|lR%~UE` %'e4UHjDAFG P/Cɗx| zyId@';@:InL.GJH#H? kJtE_57Gl zEe]~^ @ r:a6[DjoUĖA5C7rvy}dYxS3+?ES+7Љ4UBlvP$\ ^m ?JqZ>%M×Z]ðMy/E &$%nX,~&" Teښpw)suFc{6n,iХO8eC+u|?(mnӥ'[+G1R&ӨqLRu)NvHDS^@T  1W[v!:NBUapW&BHu9{v@|6Hg06ݖFJɡ-t'f{kw}U_nC1i{]) h*OzYf.M# $?6BvUqMHm 6Yiw )+'5ƣjU1GWa׎ )@Ihk"Ha0g !1q*n1B7at 7B~#(JOC(*<򥹲n?T*]!{ ddD=u3ID)Z2r'`n VJcE@s2JPpϪ"0mDcʴ)fra-6 mk/|槧aqDQ!#5iMDUQ}RYC.^&'GS2:e~aq[8dhHe^>wsM`g k]h@4֛+d)M*9 khNN!?D.mVM% CMf= v 7 rW WΒR-<Et:fue%:3P&sd=b{Ѿh3|GDN22iPLbA"i6lͳجs閫*q I`k鈄 l<#O3lVquk9[;ŗ?̳etnRF kl#v#ȧsH hx<͐VnRUTF>@0 ^ y q$vmt<&8($A ګʙhN]_"t礼VK-V'DQrM]4Z.NIk}@7 x#̙h`S@)vܵ*:6b@!R1Vh""m[W~nZ WY\d' 26+muF)27H,--%4 d-jk)%CC,1i߾9}Gg9Pַf}#yr9Qy8q ՅWBmK.2؈ 39쁟 #%M^Ƕ-ӤdXiV)M4&%Mu2}\ksMcX%m5*SoDh$ z8MWg)Gw$qrיY mf( 蒟}sS}R]mwG{rN6_.R|ͭW][n{}џ>py?qpcdd'wЭ,1MtCj#Qʈ0f0;7_շo~,^4$ɋɿ5P E@^6d俼HbiS c}MMV 1-8UaxNs=D\4MD ZZ]cѬQ6D(3 IP u;Fx节 U7XK*dgv*Vo36ňScf vyգr݁yJe>%ih8uE,9k7(ܼ>|;E`lx' NL8,|߃'bEFdM@RtM]G6fvZFCM]4@s)% N}8),ԣIglG=kF_a+rj[y!-JTwnbʗyܪCyl*iTyv^vU/2]MeD4̦-}x=smͬ}g{ ]➿ܲIR-;}&E"TNcm/s(ػw/O>$@al߶q x/ĶLVU,IJ-,zj\QГUo\2 $hZj6ҋ ^EI@rpVU f&5ͶIUC8`xiK[L NB :$GՠyI^6) ~0H8%2W`o} p Da}R1kzu7S=Gun]WE 0PRl3O`dh-Jw]c6ӡݩs?Qk:պ0Q a,'3/dmd=Dvi4]9֗)~fcbr'={ǩ(quH#;نN–a7m}C,='( ӷ2CO7t[,eaz׋ g,/@[u1>L3Myx^m(DmRuoY."y-[`nfR8UpڽٻsCc"6Qt!4gH]%&i..24-wpZmWHVy]a撨&" ?v ɯo\X<8&c,=~O>$ccc}(]S/j??qYl6#BGAdaugcH{L˼8|_/„I\x@Q]0 (1'E}B̝C,D/l|f$8L UC(FbPRYdA <EEҘAWu!a?6] 5O3TJW\u9'QrA+RsrC4^Cm:k -_eL6gN=O LBݦ2Duζi:j"B6;HեĊȨI L_- ܖOKZCD(xųx?F I*l뜚9Ϧ"L,4쿒ZK*jN?N8Llij/M,S Okor% o~ .ۢEtodKGyw&?i=F0ӈV aE-RJ|AKny(zuRl` zo}Ѿc:j4;oxṳJ" C$vJEJE^M=pM̄Wr~y|dpNH6]8lK~n8(p oBu`#Ӈ؛'[y4ne橳D/Opn$gk8Z{rk#;yw4=,<}Wlghx*qªhew:~O˯DHL>vN8^B+5ֻW?Oqwb6q:z)&Ϟ6G>Nj d]of~~~MpÍDQr*0M.VUz R$ٟٵaKچ)/y]{5Mӄ/DͧcrqD3pɂTg2eFF`q~'$$u0"( =4MǴӗA~%`kn&ػJ¥Gh-?ї%;:!*ZEwpΓ[el0^E6lWC5.ّ1:fjGDl1Ѣ*" lt)Cg(p\Fk"Lb!"!A- K~8Y`LJ_FQ*6&0ͱl5IZIΑsIdDo<0WW C8e%ֹ)F^o|f7Y*qxj/tenaiq&Ft獤v^ÙK[Ιcǝ;4p3fV9{NgG}7ќ:ίwrqvw..Ɯ82g}|Yg0{ynםu|qQRvˮG~t^KkB [֋-wu'1M$Ie3zKx(7(^ ^뮻9~?ħ>>7x E*v RoYiz ?4!t)S2/1 Ԇ7ޗݰ7?IQ$3eB3/fM֋Y҅7МF 5E =KM٬E,<ֺ WIg&^'`a cu:4VjeH9)dK c;&鬉mz~}9uA{2O^MPu]hlAF/N! &*Mqr 0~ B&kLmaݓ|o5fQ:珞ۀمu] F:{KW0[8n?\W>6}vy,bag>K?˹{sc{-YL_a*>:~f'|Ӌ[v^>a6J 'i4سbxiap뭷|"J~|#!^+46)#cc-կfq399oot_I.HVHdBQs$*l미THb5W_kaF_0!|v]׍;3͗u:Smw18[k }RBYFK +*} XJDMQ#IL$e 8s0 %LJ.V>}0ى C1tբ:M`( T׫LjUS8$~=F8+,Meeh.9;dZBL))+SݍZ E`LU4"Q|RPFTbqi]"QoD6x0n}uatdOS*8I/lXf~yH]c"4[C[yWy\{M4"8rAn9p!>a{1{v៞&1;3[nEwZgYݲ̠B*kX][~'y,qh}KLdx-gYq{o>dR"6 VɉɄUUR084w qqt$!W,Po?̡ ?wX;d(s4 s 0Ԥ  4B,iFKc%%nXUQ[UU~= 7_K:3H٤ek㺝b4ѭr͘#T|~vٳJܻJڿ?\|>4ql/z4u;▻vLUi&&6_g)2NtF ma̶]c2Bn_p% t7ٰ6Z5?OQ )ٵ::uUaPƈh9dD6֠ CJvl McTTHK+dOVi-ZY=N0PNU]?淀CS)c; +׏Tl* rk#߁D@׍A63R觜SQFUuԔAD#L,$L]V]B>ziF'T|%mz[6 qD!s:2Yb BF1Z|"E34f9~$eM#lWk&Qrfztru˶7(ˤLe͘"`]<}UXtlTᩅE=콣$:Ͻχ7VfFmՍ%BŒeeg={Xsva0a+$@"-WuwyEfdx?" }qxס{UO}pk xǃȁq(`Oބ={CG8pamTFnng0 4N$D/{ =[C,1=aꡢ-.p A Ht:t[8q!p,jslB_- (LAJsc3JGK&xyH@γ֬2+5R"ŜS/sgsln`U%xVr9e39:~Idf#3Ы]$}q*?]"{$/XSStvd0{ⶃ`e8ۻ5^|9~CA[=\e"7')NRZs]C|#w/<`.8d8p g{8ݔKo<sst:w޸{wmd}/uBpپ/#\]}_ףso B Cf~{nݦa}'nSѥ$ѩ7-4|7{.5Bܰj44Iߎy.z"ϓ@XPqh4Ndkk뗰I,evKIli˧ՏNgkX#iS!>qm<"sS$eO_?3wp)LE׏X)oЍw!k2MgYݫT*A@add-pq0殕]ï(\w:a a\C͈O]&;0RX{ ⛭-VDߌESg.b"o3؟YǘX˴h0ez[F Š̈)_aD a(_`blQrY@Ҥ)fIׄb2V DZD蕉\8>CKa@ @RiJF3N!,v"OY;E,ð28aD7\(p)o&6DӀytrmS,^>K6c9D.6?}f JE@ [K$Slf!j+t͗)lDШWgFm[ PH'p ͭruw{N"A>1u*uOq9wzzhV4y/| cX{ KKg.>CVG)|Cv a N<ˉ[}Bb=ëgN MNg#+k>zF/ެH3d4:FטyG]_R `ssT*EDQ_9n86B/Ngu)%^Q_/ؠT*!|õ^[1e ta8DŒxđd||MMOހFs,?ߍ,_h} Nݱ/uDA|KORހ&jIܠ֟k6ӌ*0 } ·a{h'm`%ʢөi/0\841l+Ci> MOBQ4Qqnkn@vH DXq+o|z^tW(?EHv2zn'oe79ڠhfٍ yti*0qQqjL.cGeꁤ[ׁfU0=JÑ# ./`8/-}ـ=44gK39*d6G)Wb{ϢBmސlYHӡѬ366އ AL4 vvvm0 es4JM&]O)ER t$aT~_z=fNm !$ ØXuīny*6 Mבz2Ga(0-]ꖁRH#R ~?+RJ絴uQ- kz_Xk)R0??{g'ic'@ƘAܭvt0E4F} L6RՑBCBc a4p{- AW7SN"D_=I RK&Igdrd+\޼`'m[Y0XHB15<ԑ{,M1T}h=F{ddYi 9xnX )Ҏ)5/|#Էtv*=6W\ zǻ`o翊:r i@I*$",0 ^K-Aa\SDaǏY]Y!JS(0_3 [[ ?ı$ibpx]& TZuCZHy{]dRj ^ 3Vq!LWv)ЅK)zիUz%A pBҀR >LGuL#* t4M4!z )J+h@a&qϤP HԐ(BjA࢛iL'n:?tD6ђIsϏ=혖jmMPXJ-~ w=&6 uL`mm_1q臡M7C)|2|(VT*;8n /lz]8eQ[7BH֖,T:.kMo^$n~Ȅ-FSZ cBI)H)d b%iG +PR)%H!PRD+8Fı( )_ D(RJDaJaHJ # s/~`%ry|6h4H+4jMiJFm\'w'p=GjZ i=P~"/i f^ԭ{FBb0 4xQS=hR~eMn?t~X#I*EbBSQ?nM6Aq ͍$4*XݥgnҌ=/-wsv;m.3-NynwH7͜_drA`֋$ldq+29y]{~'YX0!u*J:_{o(_~0[\7iG;6jχX{M)T QJ R HM*BJJek\<{qcz89B=ƃH[q]Rb"܁äRdO%Ϳ{==O=MƱ,?t#tI~>)F%1&ۜҪF<~Ez~тuW?A# h?y`L2 گM7b'E]lOf}m^GPuk A)%Ο勨(n'۩ec;BH.grj <մ}p=ēO>O%qO>\ebb0vW'B ,ƬX3pᄅnHoop `\"mYҊ",!1tS aD!XB[)($Q}"ILBAR@D EERADR(8&"ŤdHƪN$UB)I)\O}S^OiN.Awřx_ɥVDL*G&%t=JEĪGMnpd]D3< + @R=^t[$V1`h)!dѴ *o|K~|a?"p1b[B^]|6FՅ) &:ݐ@*&~(GS-<GtLy#Q^JQq]LLGgdzi#_ ^hw=Gܥ ^:J7 _km]2s'xG_]܊cy c|K_(rOG)C?yɡyN{awgXowOe 5JSNȣοOw\\bs'$i깘ඛnXݟwoxL&YYY&LAΞ>ٳYZ\dzv!a06> =uػvy.q(׾Tz 6#5FoahfTA%ت5(Ĥbj}女$cƏ`G|\+̓ vt^1n\6/8{zD6pka MRmrZODI*]D244yƦfYC>wg9vY]WNV76Iڃl֯ܭҒd#iB;O1=K 8qzIek^hwF1.`&۫(46J1=4hi60ܻAƁq4.3Iv;LMMS,.?-+ˤәkMȄum@yivKy!pL(1t񉉷lЀa M(CǗ@ӄxRgiI:FǰiD[ESD0DSiJM4tM4@4LCktMԤu)EMRQBԐJAM*$U)**Ů*'?Go A&Sq4M_m)bL$K44 5 =&I*':,|Pt7Qk/d Tbd6bI $^~5(qmZ!_hmץ\'k쮿 l384mN FqcLK_e,ҳ,,hXYCw篾yۻBZucAv˻@..퀝 F3k4~Z P(1Z:% EUT31~4He$@B6^Dnd 6.\o؝232F0EH?/+B/=ѱ!o'l8NAQk/8weO&A2\Hއ:Ixn3ϒ,Qٍ^YÏ34DEx8zCvCZch]`8:q6O= n;.̷=ϟk!F|xyO,q.~6]Ff&tۄn‡)$cn5Un~&r]  a||!24nh:N^uM5c!D",ۤ{]-;!HY"#[[ "N±c!)LBh1(i AA^6|?ԅBᶔ]za]DbB(&b.JH)z!)Dq҄ CiN,Rٍ/B%#M,F?7u0s'O78pmTje`d8O'aS0=QK ޥRfcE޶ !I #4ˣ*I^ :x;FJ!Gs)^c|?Nm!]eM^7ȥD eDk;D$FC4Jx ._!Wefat;B \ED䫏;g'sK=O neHL Ü"@dskC&!w2~ϣ\ǽG7K kY"o'RdƋXi{/)fЭ6a0D(;Uw""[Q"g/n0>lk )=_~6c6ҭ}?&=bfpa,|;܉;NxLO`xH#~Ubg_l4#ZI\˦'E]ksz;︍o>d@S>D^{W+uyra=4˯^/>qX^vIriE$\҅ q:[;-v=D~DHmIS:K4>@-r)+_ۢj\9xKuk5Orjz>%`{Ai,C*,]Y$P,n?%Iervݷ*S H)n\z~7`_ׄ`act;2-^@D!&aE(0W}|ZRhOh!M#H"M/Tovlw# H6BVdL!;j՘dnpòpH26̨ ʷ+8A7Hm_hg5BpCԶ;?P]m5GjA, v0^":7US‹oB"8D(jz MDaX #?종K8b6{{;u} =̎H&`%R ^/ o[R瞻o*>S;ˀm_[67jYH|aEמϞ_᳿/HgbyWk.8o*t@4B亄btzMLNK&mBa^vJ䉣t*e,{*_Ӥ3yNQ^ ;QrD2H;IWEOhM207JmwC*Ud{n.V !o_CRJLӼ6⚦57N\gmFRAzm 1(T(dHFRaMR %  u}( 9KH#EŴF K'8x>l64X~gc܍O١2IX?Wεg;ɉFWC jp0ΰJf躻L|JvY9s=*f9{8~Ě9Hx.U&&M[ XF]9CnAt] M հ-_C D.N zҢSclD2& ) Mp /SGvRK[X1,w3sl-ympQ ۻ4hgs»n$.*H^ؓR^(TױpMj4k:s3h RʗRN'6$J*"7&]Z\R*c -m]]Nf.l*m.q$IA~ w` gtAzf`CsO|mt/Q=>Y+{ 7-rA %z@qv}N6[Z]ty݆#xmfE)?0,R職qyVZxmV}a 1n;U$ DfLa C]#e@D*D 2ft V(iI| 5sqr87R[u9/z>n{Lʡ6"V6wyw˙AVN¿?Kq579~ "vHXQtj je"jD"Apq671>QfbdFᵺdJloPRIv+BBL,zM\&N2}\06:ǠfqF hQ!뺘GdB6cV*QD&0J&ׂDض}CDͶ$ee8ˁ|G1LZ'} *uݐL/ta$:؆Fy#TٜT˦)?@QWQ^ci8=Ih]F~{^g*$ :x]ooo}Vkz3o@+ 9sn!eR9k4.H:x"z afJvvi4]`P2X2<:(wj[;dgO>w܋8LDDncM<8x}OލDb=C3hDQ8nbyB?BJHI(D)/02:AvH2&}}z6M4x)`y~"tMlf;1 H dlU5#cӫ#G;36F_ .I00IcĶ0 tvnVy7L^i !ئj}ZJnOjFfggI&qSV]gWla"kx,^zsoןvB(_p"B_#JШi a`&cH OEJ6Jmf ŦQ!錃+"(nNidB?MDŽ"p;|ϻV{Av]\~|+fi^t) qˌ ugKZ]AF=@qtfY&f%fRd zn²,'H5;l_Z% LD,A2y=q]F3V3E"LlɅ zx#׾+jK?VM'5UN4 .^āPJ1;;4^?a@Q5b]ׯW]7+ WLPX2F׵7+j"O*DRNgVRz ϓot1R($ҩUaN~t*DRzBU4NvhL% bԙǢ {G[o=|:j^[ " Cs/|O?_H:Ԃ:^}SBMw )phmN^~ŵW\`DyL0 0M6봃& 0:FȖ:)-a`dq]҅aNA;K[/A.<QE&?RCj B"B7u쫲 -EUF7L 4 ]zZ?ɥԠkĜ8C Iq9HTv(W%-sWOf%^@ 5ō::[ZA֮2fvpmuk4DRY:=%^"@q=\>Gi)/o\"0I8m8MۭG!-ݘdԱ4\V(ת] 'E!3?go%Q~oD3k}@HB,cb<ˆ1<cofg!@m lRcO^q*0 ۾ J? 8﹩pāĜ N(\L-Leh*p<깬؊oܹD f pA Qо򾨑ZAlX⺷/֖^vرsno_~ۛ &ZQ ah Ck :+}(c)8ʆ$+d'WkZ`#:.(@$l`@0I r$D@ava\ ,BRV:mB@ tlp*D2PVAuND@D)DHSIX)\Q@ sV a $a C6j+0Q$ `PBh$4` 6h":Hu" cCeNh5kkYl:x`ÐJAJ&^z3@ݑqt%pZDXZ\H;Fz+M7ᒈYdlz _J@hhÊbEϾZ04ǮeYTU<||Q딥!IB A*mHlp!lo^ƻzG7j*m7`lJvfumz{{'A.lί==PZ)[uel}ݳ'E.~~öm;eP' f B)y dt$"LMMFmel_~%vlVqzJ<A"MRElۈB>'=a$O/_G>Iq||/2k},(Zo?zzp 7As i^GF\<$ƾ^^Fazzba.?A5%h<ع}l9~5ub#Febcesӟ^S<6lٻMf' bP4Z{i%ى߽8Ǝ]{f̕\.. "Is&_8n|חe[.rד)<4~owmlݺ-›~g}\wݵ?륔ضc'y]ux'y5Eݚnmqغqn#K}Y=0s:۲u֭_Iѝd:E\yEbQ./qr';8 +}}-?}q!z.7.gyŕ^=}.mej14~frwI.kEGpfEǟb5{1{$xbU{ }QPbaժM{j|^_q]w-b GBկƶo{_qJC_O:fƦMwJ`A[/ g <#˿NEx[rM}- ?;:nwZĉx?2nmL??Lcyy'uk>9avvSS8;~ʔ DoZHeall eV;OJǤp;a@uU8%a$ @D ^?RƵϾ˺@wb3 @³2Pe²Hҍ^Am_q׼> avv{yڵkǏ;@$j++O:)"I>. ?uI  ĉBJtM|e9$֯9oc-+qNϮmS'/@'_AUxJ4w]>6I yW61 !(ֈb|AOծж\$nu{ӕgu3^/}Օo:a(i,!#4ځysAy\Í>I#; B*CJRNf&>&J%v*l" $$,),K'Ж;=uBHaRJ)$ [ -l%^7vlAU̚o7`QBGl;N[ k+;Rq[ךWNJ;Va)98oYL |t]}i;CMǫC//k:]鹥:?I/3(Lhت?o~'*KJ2طnefrTH$< $u)y"(ʶ-7#c0_bIϗsp.v\%N,;C'+`9Yc^Y8I4 kn9|GN<8dAs5c?|%<3xkn\ tT!\HR>ǟЫGnMB)gdAEt7F@뻖k&%ɱ;QĀI` "Bī -jAk:hN66G+ܮ.Q5SI[( )HGi@ZN-(5/<[_ZlYqϰRpAHRr$-C$(򙫯l(Pɷ,a Afƅ\ҢYHM\i4۲saM@4Z5A%d+<' Ht؈Ȗ ρHȡ͛$Jpf6 a X|$R/HjR"a13@lsUoiM*S@`0Tݕ/` %D83m ]v> VI)EN( ״ $@X!׷5R_Tk$AJJ J\"f:ncfFk;PIָy(q^s:UqV!e $2 "0""I\.(NDٶ粕$r-n5[\(. u\<ƞq)l߾]7݄^Z8p㠯|k'^-8z/Sa3gNcƍ, l}jG ؒtؖe$N ؑJ1z0YGc8NU0L0ZHbA02uj,Di.@/ UE9f.e- 9S;\_ t3T6QIb~y`i;m<ǑiLteER3|O߿ח޼3(rƓTrma+HSԌl-[9kM-VI )(|6OVF32 :8Q©5R(k6!El&QEdYH:dI$t;LWW\vs 'NcfNL{lafP6#)@#R:{UP*Ƴ,lXCf&!edqf܁8 r\I'1,禧 Zrw ^y1BIEdB&d{ 0EaADL V8"QɗZF#AR@`)0#y)V 8vOm -&"@/̴bVϝC ZϐAe[-٢[sԟ|r1"# ضm$zFH"\{isO PqF4M_"qAO0t]Jc84Gca"C,L1 =_uGg`=`CGƠPe:~%ډQzrLM*m{6BlK1:BAvC Pd$(jTέB$rN M!Ȗ,v!BJ3Ӗm$;p-J$JW{J J~) zZXwjKdnl,<)3O<%I _7EQkJ\Ay?!I 0H!fFZ|'Y$,iX* `օBE!-˥L6GSb#\ zp h*U*;fgG[(TJ#mJ:X׭*@NK\8 w3IJ,%,Y-743"$H*0@KDR4 v rPo;/-"f)q! ͭqJ9jY3pSO&kCle+nEP %)cڮrS ڭV?bO\Qe/hJ0 !Z&^xYm۶#ϟ\syi|_zMT*Lg'N҄=xbkk?M9!;؀%,۸ !Rh4N , \džNbhCplߖHt`͒J R A69 E'ǀ i ]Hַ kn[ 0"2t ؾscaȘSb(0;0;;YaKu|U&&œG0ؕW*EGrt˥Fn&3<[l-;=O}$ 1hx +2h6aأs;4l&KB)Cdu=qL18AȸB_|̆4e[$YGDQhuGu5& KBEqJQRJXh6]=8m/Ii9lڴ_m6l߾CCQT`+#J; fi<8x >ߏt3GX r۲3G añ( 4 $8dv•xEmfxِJ3.&OӕOվz$SÚ\φ0 g Dpmih./vx;B˲ Ԉ|Vv*d)+ Υ,{uKS`dՇVSEcZWԙ㩁DFiO%*b,+%A8*uBT`绑U~ 'o㹜xxcǮ{g CZ>kxJԒIĭmىF]s ,W[tn&IA14p3sSٵ]uoSgXN$D p /5ݓqB d0d{2 û/ d\pUƉSsj|HUtP _*`X/L5[ё^XV8^"]Fҍ:|hnrbP6%aP@AqBz^g u;xn$,Iqw]?0; RL 2vT e)`2iܪuBYȵZ-3io߾ #.>_ΞtuSk_nnT.UW ͞;:Pjq qN@D\ח/Ce`hᾂ85,$A=.CB+H؍#S@IrG~n[?t`O&!̖A`R`#mf۶r|+ :JwI@du L#D NuH85c[: bH G*HV6I̮evJQ IDATTX>UL4cژUU1N٫)}G.cPZqjv#ٲUOrOqѱڒ.ƎPl I:52y Se\j̬YZZ,_;nMm!Ѩ50Z#ӥ!%~8y*ӡ7;uuˍv-8`ALʈnhO]JQc LaﮛYdCPeGgWfD%" -# nױkK|lҾz(DHPڳ"lucwIzOJIRP|?K6H)\H&Hr\y' ^o?7-H* ٺmaav;I),X !,vgcl IԆ("-QjA/>bYֵZٷn8IYݦ.> <mذaBkZ0 _!wS)K)@~`8诿s$m\D䊎a@!,Ipxhb(3G??֩8vs=9YM(b MS亣1>vgO},cF{"80Q@`++YC*I/UC,CX&$ %LZ~&Nb]@ ~v٭掣Jqš}h.!cpI =Dӧ$J|x)Skѿ]734~\ުM1 K(B(x LV4ؿUJlQ4|2SgOZYP*u\Pʬ7QEeHY?#IC-8n[/ !a3j# Mr(?wmp%4DGB9]O3j \:2"݃qt nņ,=L$(rڍE4k+r̋%q2S(YIvD9!aS),aB:J9N IKp?( Hg\VVE5y%qLn.@7*IE"C@@D}Aw؈\ۧ K~P_^RF qɧկ ꯼z!D' \WrtI9x~R_NAk *W1e$R~gv#$3L&`Ƕ߳P:6 #,BBo @ե%^\XX$eL["- VB`)F޵X Cl;mb|6NDeBR-m@% gaE-bAr~W3"j3׫lUNj НHOq cRyEkVX+`=n0:EGj=so3S$q q gO-$C#w*8ƙS3c +"hB]y8<Ö[PNi TN^{WمٙW_`a^1$ Ve3)@e\+1f].t1$>ؽDr)"nњХray6+Q@Dͣz-sceO0u7]kv{&J} &R=Fz([GpMOO I!YUW~$DK{tceerƆ N(Ncc M4Z3D(J(r_8L7RR7g򅩵Taa|Led}zua_F}nbLYԪU2agJǻͿ}[7 )c.'

eX: X+P5r5檇ţO?]Te  ! bĮq]AWdظizC|0]_ 9vﭯ;ڮ%Rp#_PN\ARs+c̈°j]~ۏH8".Y*gs%㜗^\\1iHeuU2O3 ( [wrim9Mb{? bzf^d)byU ~e7qÆHEnI3,yb[/]˾``erX eKybh- 1&E$H蘢 \W_IM7 H1S\vaZ FfXh9^0jƊ`2b"4Z-$ea *+rMnEU$`ff^5ZZ}|{z\ B5kd\w.qrYbu/1gPtWŃFny/|4޹k7͗]}Gl/E)!!Y-^ӇN Ϯ{AK$Q,ICqu$aȞgc6''5.$W8XX\QDھ}Jfnn K3oDW8,kS;;/=鶫$sIS&澹I )N=UDO#/d1%UI0ϿJ]cnQgE|mql$톌T6;KS1HR$"Mb7k 'n9RР Z G_Dœ<&U0Z+];[kmv\o 'NCl^^Oӿ Q:{/~+_XZZyfu_ 8jV=%'KD=Ɵ$ }~呲$ H 3K$XHT@>8A;5PM:IwHh `gg$""HD1lߎBÀaM=a\UR5X>aY}>mK6\?C"4p`e,穓ujDf}EQ//%,^gs$V=cCne( qAsz *niU$1vOLO&ش*>yj6+E׾}gHSx:51~Cde)kNhŀg]$,PˬnwZ[t1,R cC B(17,`nf*Z%WU7]3Z4`hp3#xʆ I`<=mo݃4O" \7kv>K%;x艇hY+l㯏]P-%R-3{wVt8ٕj*1F&l&&َ cҩPEd#8Gs݊A[GI)SmI79+—X7B>G^|# B N!0=ۼ>fFtb߀8Luo;}:xo nG[sa+ W"?{jɯ|O41JV-%2ĩF탘QKZ0I) ƶ$l! lXMiIFh|QVUbF!XD+ϵdUD-if8̰p(Mvd;TJZ技NwsgvkKma eEELMM"H<ın4z/i *l0;U%LF{5s(Z!f0CRqq {/.ALpeΎu{І3lφTKYqR 3\)W֪@`&KIf!oܮ7|9?{ *9 $i_ˀ緡]^ǣFQmMҶFbR8OVSi**]WL{{q7^Yۊ$d5LBJJU7K<ֽ Df$`C \8cf#&x jCKAI % dK'+<|Û4:w0V.v7-X4^:zċUrf#N CNz0终a؝ aDiޙk.;sLDm`` [1E7+/ÿ059()mg# _*Ec~j 咣q3T۷\G*;)#m5 6лgQxm|EA=H0S]6^:,u[k╬M ]]ώ'6©%t8qYo [D}G_.__]NP^B%o#* A!LjX6l4Up8Cs3C=bar٠D>qmWN4FvV:LYM)g#[x v}$kM.uwQCH%P[;;A H`эhՕ ( o[Qv?ŭf`iVv|^s%pF 79^_qVϐ6F֌" eK^6l uh۰ΨK+صҘ7UWdM̌wc )9[_:hG8[AP,~ J.JX-•@GޒfmKj*[{4 ?w/@п*Qn(sRE,aMq0'CcfzYhVW;#V:T,Z bhg>>+}DAkAjPʾvixM? AakI{֕hብ %ͦC*y0uz0aSN_1UaW!M,,+Zmc5zݔ.媈`n{}x͕ݼ}vqhyM@JËk}!A>37?|ӋJ.# NXXm01p,LsJ'Ũǂm)Ch֊aDG .`.\R:MnaL#vuT)YNU*$YkDN_kG(V ӈLr˰JtHJ͒i5 +%/"T eIF@]`ֈ&~CϽk:I#d1]]2==!(2Bp'+Xg\ rUWuu7* ,c0qx3fll0N81c B9|oswu媓~ 0xkz]=~߳Z_7kUw??ovo770t b_9+;[dnx P19q5WG{U!'&cWM;zjD1>3RgPA5*yZ ;G^~OBUx:03#!*OzZ842E|9W̡XZGj3:5igry봅릶Ƨ7z3!!NqlY !\R(c 5Q#3;anAPXvOgX_@*~ (f'&%%eMA6 aDD,lC{431.|~Z1:cὅBɤB0ISHifA Ew9q^w׋5%*]l>* "!;uڽx%kՙMNgP tCfmFRex37[?4R]3.;~$itGیl\:%z˨GqѯIQUheX7OG˯??( >?_yknκE!mR9^90-N; '+[AkXf-t7ـBZ|B^34˚ks *M"i/aH 0v8BօfZ! RCx6 iL"!)cf-L)3;M{zt:mbQVe W_. @f&qhm\<^-u߮G(\J0\, R'4>`p1e@z1dg ̈́!zJ$1w~5Dv"Coy7O3ny{vG9"adf&f<BmnN)}Af[PZHtnd~=.*B!f[[ۖd^6st.W%vh* zMu"(k`)lr!]F,ut L x};ΞNKgg3ic7sqm!Vs'& ,l盶`H8d|PT;VW~wjR{c3 _GtUHԎ`Egv^?r 6xskS$Io)>p6gl Ln]rY5VQ? D)bx/;T|E$=7͝8tK[+fW@B#mqgܫ~n^َrHCX! JC_kjY5 ̯2, 'ɠ~!E69 L"R~h19tWVUu,0(3 0 JCbC`e|b:+x~z||v>$ @ C9`ׄk R&"YQ@[aB_c /ǛO#{G^叼_x-f[~|Oˇr~z=׾?5l^~[ \v;ԫD7喯ڞ^Y8W=|(;Q[($>v9{^>ո) ~xkY5rŃZ9?x3/ixį9z sْh~ɭ_OQ~䉳SR di1 a޻<^;Ea~=}ߟ711LҎ)BFDc?o|+'+#DIG-^:u+ܫאMwujsw_|`񳟛=s#nǿ}~VczFƳgSO>2)|swɧLo}wãc/ٚ>{ygx;d`|\ga62XդkoR({*tVxr4z ƦYʼ OI $bMm ҽ!MGaCuB@gvT܆euNb Eh=H~3D9oZ )D6c`h'L >6@N ">X-8e#k9qEx'xh \-!qi blCV=$/cr`ok"#@I ]kgq!)ت^BΠ/rudR-%+E7@uoTFJky^d<[C(v!= mX_L!A*3ؐ:[kh6ppP4G聆Kb? #= : TN]O1U٨#_XCPYpP % 2VڄH弃v [phM-p2B7 Fh# ʹA<~CLjAda~4fw"A/0pl-wv!\qXD%<|"L8I^Z&Գ3t|nVz7B۠ev$-4jR) R/.ameᤁlڄ`R*֛MԶVPʔPv- ֘0pЏynw #FBH)Q[S EXhˮdBHn*ÆhyسkgQ& B fp'p- zABH0T`C)YX VlW,:6N.Ξ])y^0l{i(I@BvT'SEj(g_Mc4c~|oXs0`jz'Jx=.o5k߿bm?#8z`WwyH9?vK|6xÏ,zwUϻvi&я9t VVA ǩȥ +OxxCw \~M~;gQ5p5&0e鬏c^3Ps0;7 Var\BL Ǯ] 8{!' PpYҒT2wv?:3Pl`us/Ν[j~ ajΓY ҩ=X=~s +O>ʞ.%1=vbd.{=qтc43:M%R˜"@q6'aQLr d#liά)<82vX3)4mXPqzCqkO0$__=@a t0:Xr2AGEdPh=sfzjR8N&Hb)Iin  5Cz[Q+8!`bF4 Z35d[B_I!Ě5(`Pkgx]y<]H#W" ҹi4z~[7dGU׋~1Vn*yn^{  0PŅn:aIh4j`5`rrXЭȍ"h$ȩu$$J1_9n -m K* ȎD3+k9tzm@2Ɇ;͜ ~Wss})'8 DȆrUZ\$1M۫vʕX5pt8WcC y<=zf7s=;nmb~ /ߏ(H>WluaiR"tspK!'e.5뛼g|n ctI-su ;e!BO pў} lBQ,qh Fv1%Hy2 H]I~513d)ŬYJRRZ4Xk! dAn-Җei0)0cZmsza,a$g~S'NDirLDZRҬ5o'1Xkżg"`Ě5 Vq0,@"%e\fL z]O|o,;>On.˶fDQ`]ݺkL[?-VOqqP( tjR vsah@bO4";N#FFma`ddn ܌ǟXh!ka8alןj$7pžN%VWqhvO _h cL^sKв7Epa`b&26<'Q- co'IlaCLel!Om=mđ /q,^>| u+ 6Npv->pֻq<6yHēO9n&+!iaU (7(VLNz` m,)I@V N)u+ KjlģXmð a0tZjl Qy4:+"_!inpr(2p GOBaZen|qiנ/l0 r'A9NyFh(M$AʶݩL 0jX,13#Lkk裏C ) v(ml5>BS0Ɵ{#h:>rٿRmFx6l/0{>= _}iBuP00S {Nઋyu w?q+n߃+c~,[uT*SbmqdȬDae\|rl6Ϡ@n^'Fs~ZdP@}mk𕯁v}dReNRq2U IDATc6'_YJCShtBfS7\Ba8'XYdC7~5 .da4^egAyϭ ?)}X4@emNa.} ʷ0jdHka/-+~؅a2icN]2vE9ם">90025\u##9V 5DtjȱY)AL:0=N=I[^2|jf ZOaRT)Q@Yأ8i&<k|Ü(b~(+js{ mF?48g9|`z/ryXٲB:Rٌ  l Ծ&f2v.ff )w&@h4[(A}dG†Jm.f\@ՂmYp\l?ݱ#G^SJa9@J @<HusPH ah(C-ᱱCzC )X+ 72C'OaouhN#Y r],8~Α+;>zbruoGn(Iܽ@nԉ+/|\wM1H{꣘U`p_taHbB8֏f / }vMfH8495tѴ[ 6VjjX*+Į+bo2Μ?gϝZ !HokrhEyKi{RXZ܀04:_=iLշ%Ӕс=c|OԖWyjjz~B 0A5EB„Fɚ&v>&Oۏ/Xw}}}Nes9zɏ9wv_l' p|VF4PBy5SBZ)w.vjݵx hrz'Czx{v8$HRX/zϜ2a$ķzێ7Φ2m=:<x"P*ԮөLH F.aP# s 1V/6 [+Ȓ$АΎ t>XKspNL_k 9*<Im?/\(H%W%WNtPm3`ðB\O;ewFzz כm7/ŌSdJo}Gf.o-U#O=^v80|BB6{v:6ti.wIڵ ozًj:!t'zכ6{`R[dy>N]5{fM)H$% Ipnrnz͍`E{$fhN)Q.xMscyqYNfN4:bDc>qzNo:+t:a$ 5'&zV׶f b!+( `ôؐHGQq8It,@N,BV 0&IL۴@4 l5R GI$8 `K!Parck+zNJlnG{?}o:M!ČZoll8{^ׇkuU F^nEЊYJ Q"#;ގ]`bx:vwF3Ѐ$T#h~F,M|;&uț#v3Ȇ&X^Zg/pɣ\uλ,2"ø dJ&qAeWugӛ1J5K$#Al Mc7AGnƴm0`@HЀ*RcVfeUN\۞`H||3i"~C fv7?f75(z4M ̄O~MP.C՚3`ExKsj)>$~o-x'd Gy7=ll_xܸ) =sMg(/9nP^B$=C>rpwx+V{DDbo!*<1}'mv=AjG?7>0][9OhW_2h1(鱻v7qg7lי1^HEn>Wv-odF;* :XOkK+fٷr'tc-I){s@H< Οqhpxߍy\|.㑇lfUf@M{BVC_zjߌ˭5[V쐄0B5Q,u<*"Q0/s/౯]T-){J]%bvWPsW)~%O~r߯>hѾmuOc-[݉qPpOʹJ(?J؛ ny滒ݏ? >۰rX:w%oOAJ޹垘PE(]0H4xm{bB) V62b>y|ᇱ83tAbso?+[ܛqSao9Zw1=x8rg _r\F^>˘{El]٣~)P : rX둥k`8h!ikl_BjIlV׏Wůѣ(Kx"iv>~{%C/J~\c>lӧv: lUyin<O|X ~ Dv-s'`\^/C)& 5: b?r{sc0zb89ŭ'໿oܭGgO弿v ;l^2w† C Z $#0`L&qBapt Xtq@:zwvzxq,֠jRc"eqc;^ ZGgg/^{ѯh~}ld %|4$%  R\TD3h3߃g?!0}8>EQ5tZ8ȽmXۦ4:ƣU 6ηމ>6/ vy0[OObn.Ƶ18Эp n|mo=e;[v*ߞerޞ8}|*k5yO6^~AVWʪ[*,2$hV(w t6D@>MMdOS[T%"z3^oWU8*BkJ(X?<#O' _F qDiJo 0nwj3 "VRʢXٴϯ2N43?L-@N@ `(d3xv%HI%f:>B0&AW<6c8pCJ &r2Aʲ3=MG Zb2Cӄ d k̚B01 !xﰱ9&Ei8v^kMp[Apeɕ%L0M/@Lݽ,tEV psf{gp2e D5!VQYs=_HP8(% 0f "dXT $ 3* [}Q\ ABI7' *4Uit ,CF^r8 ,?:;|D=76]+Er+ +3xiwΠOxMp(KTeG"ԡ$mYXC!,.ͭ]4M4gz~c8@* 5wK>|T._~[s5JhDi_<(¼N.ZV֖pnOt@:gD{m/-hgJ A0I`sc F^O]ơSm8`Y4kPG/_ۏ0#}_?2jg?~l;T;Nb:d©3BRxKB|} ߙdxq]A~odu/n9mo6Zt!)spm4E>鯭VAbFbِׯ'\AUQ"Ig\H+e՝m\[_e`f-ݖG?Pj _H$&sx$Vz*Y xB*JkUm:pΔUҔN ca)qlrr᠄ ,$zdbHEfNssߔT0ᑗaD:i m\ BЈ@PׁY @ߴ-BوM7_߬}$XOƚDfCR=k [Z= W4Y{s ^zxq v_x0 B)0Ƹ_ՒE)zڞ"솨'=)9\ƒ_&L1ww+Z!OC+KoLIPcDn$И3~g?1+˜P;+ƒ: !&Ny`քRْ=J^xEgJN釾-\wQb;Y_M'ti^8sO~Uh6 #-#n7iI.ny:9&07!pֲZQ5 =ёǍ 8\Ju1rQ9jBqek{`Z9LY{[H`4NJyh!٢,kǘ$zP1Êb**,Pn@1j%!JKgI {1|2Q *(PQ@Da= bj !Z"A f=|7 QK(), " @x~cc8n !nsu3:A&u>k!j`e_x<}V{c'x<]x}߃>eĽyisuB?K(5+jmb)aG%hMqw %v#ƒ4|H?#?kG{~QC@a('(!{B$]uo_;y0aq?E@&hco'nM4 _‘(}dMOSwoo|(|/g?^ŧ|Y&yjZcUby#\ 5d՛ tAD 3G ;c>"cx;}x׷MPz_n{M v7C'Dr#ߩu1|rQ*B2m?śkML^(+c;sxjt%qV@1LaLpK(!Q%w""`gT(*8[ NKL'9tR8D[YHl@GH|8iDUjڃ] !ܬ<,,a ,(-PCj[M^ &7Bl yvg]MQt#,tzS}E+%3;_`xkޓ]N3,.mo>GKӌqbe :d4ZtiW§Q܀xӫN1Z%Q$NqCx_>OaI<eޣ~IݿRcP?sXx1p;uBЌק!6/tdQm S0 !nb5ۡV+{m _=^D '?2>TVo'ynWiO.w߃? @;/9tn=Fhd 2" 7ߺTuLwi:P%/GyCŦӪg.^t֤l^:cım+pރDFP\Ia6^FQȄ{U=H{4ɹ(NOn-F;~TMÖ̀ `%I@0h6b$'lHѨd!P<,,yXp{3D;t0KMNJ`⪬je^Z{.@PJ4g(RIHx];˳?=% ?UU"]e3¡5A-ﺟQ~hC/zFieV"z1ȉ[5q׿{Fsqǂkͦ[>ZEyEﰞ ޱعE1[܆F}$ p|#KL5n끼‘Cll7IlcAAQ@ zcTΠ^oh (mj PqҿE|y=e"XL>o.wM^j8w]eYsjn$,yis9ʦtkw)J_ aKcEe4 UzƲK9eR!% !i>FYdy%@ tM[$<|YɃAD |( ZvU^-4<< BAd)3PA zb2" W`o5a1ICpZ(hFf%pR`(Ay.UY/_9%0^R2kT(3Z 0y”U!"BHlfY@DFNrTT NJ"$u,& [Z<3B8Ȳ,$]c.b  B@MN-D-rQYOG(-"V!! P%jCAk'Q9@*rP6 <9T&rq,IQB3PxF4cOʲ Dn^iM/~ߋ^>Z,7[8w%(y͚8iw5DE80؇?ҥ~g9~8x<^ą-_ 5qvsmN^Q컋'ʻ~;9p1I~nF!3Hupa3W:m(Fir5?p䰭":!p@50^YlG%,yP4BF*m58b ܍# !Ҍ4Map9, eaZU߁2:cJa;HY#$b/fs5[JMp? v'~%+I5(wM0&{DFsKDQU>  P k8Tدw4PPqX*NjF\(7šG;,>2qҡfN󝈅֖t Eno_LB9dJc)Ǐj?q0R'Ƙ?WhB:쮯mq{7P`Lpjiz} $BR1՛Qi0adEP)p5@1LG ~[h(j-f}@hVTÈ%b2搰VpJT &D2acIñ :s6++ 12$+ 67d1IˊkG;t*L@D`XSf$|-3vF)k@vFp*ED&Zs1e"[҃@Dp0570MPc`=!Jdi$Ig':lZuƁn0Q˲b牅V 8(0Waa^U Z1S"x5ر+ow2M6aTөc'>}of7ʁJA>Y\p.dlOwh HI.NNϯH+q%PABXW%X9(A2&޼2G4„81}\ORK-,83\Nshq-YXo9HWEH5yԓVy^2-6ĵ&!_yS5);xjg_]c]TKta?^'g$*7BCYmm"&cA(g\~uQ&ݬDŽF6#JP%%EIʠjpiK(gQj8XTAh5䅅SL DY + fmXW7BHE Fz=0܌U(H0;L & P!0E TPAҤ /R@.jvrUYa 硷٤fuӧ bx!kLYQ͕j@P;w;=cin(./Xg&O.iW|9dIJCK ј^ BD1Lӡ;O&a_?e[:pt1ƨ"OCpuD'cFʌ{ p:N4ރK&b<Qu*(Ev^/vM722a>'o}9\6Dmn?y|Cvh('s`o7D pa}GS_'3tkřr ["$0,85_G06@'FҭQӁ [F='&I̲\Dfv(DBU aa>BX0.2H^Y!5- cد@FP@$ZV(/`c’ <]~SCUWI@T D'sQ!$ȇd -k a<-y1AY*0+HrH"SsLַk`G: tX^U⎆*jH0\UreiaxUK`* 7P P ٌBlµV'O/󅧮#Uu< 34L0ݕBy `M9;},CgG*oRJ@/:r]{ҫ|ǻӿ>DB#/r˘L 6PTLYra+ڞ'F[ whR,%]os^|N8y,\Q4+19J>Bv|8JS9=iWPc~׬Z =ޝ?!jdsozn 'j>+WDuھ{o R=`-&йĉV8č$N?J-n;w?o$Jo1Up(`>._qjz} J5˫[4)%9W=͍Wa&"hsA)G4J`0vHB -Tc<ك SBj9rV55a=DDuz/>bg#l 0)71wxqTg=7FN:D݀0b,tbHaxhc<3eeIDAT(iw?EYDEj٘QL^% ">rUi{Hkup!M䶄R ͭvRayyedv{EQB 4\k hC,{KP  `4~3?s\'MdrSɳg/& K],_wnv-ġ:e:O !GU9l^A.X3l8' ȒdR%[~ r-7CPDPr0S8%-]CO>uQjHJSUuo6._۾9H/_S,v/`zEQ=oWW7hm=W; *@b^;B$TUtVM5}ľoyϬXӺL7E>_|,:װA4.W f|JYc>~:d߾E|zp!iբ*\u \gM} &Wx}{}={{"%֒c*qe-Aj /"0i!|tg/g3?YD@ Ԋh;ߦU%(ʺAf[.C n܄psX 4,s ]҂5V߉%ې83x>WH( *Ұ3.\! Yn4X/\xᐹ1/ahժ$b V荺CKE548E1G(BA?N:,A9X&0*IENDB`F}FZq+k+kq;Rf H3~nM8pH.:G9wHM̦1KV֦Z jZk팆"!I) )IYɩx5KK՟^jsGBi9vf@Pm"9ab%JYc'LؖsVwFt]*z~ؖeE).,ϛ 7!*>I,f`ؙأƣw)W0t1~?GmvYElP(Y!U\+ԝHsS+j*,GJh{!]}'yf,E] 31SY ,łbEa4ƛ'h\ǍP]kuxÝy=wj33 a`Ljht;"xNx_k}P s6SR46blg>swqwʿYၬIENDB`1 -L:x 'x' PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9řM x EPNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"‰GxKPNG  IHDRw=bKGD pHYs-ItIME :*AIDATHՕ[lTU9sLLN̴ h ʥ!FM$1h b&5AVI_ hbШB(&}b#m-X40u{x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME *|1IDAT8͒=LSa}_mjlDML\CB ] q`pE:8q89dttC j({/~4aapѳ=uhy|,5a:/"_wa|f3ptëW\vi!ޙ< @*rMs~\c-*†-P`B"Fh,3h(%m!MƘn! ^6)M6Et@ z>Y/OQ<ҋ # [ѶgۿXbMP:0,յmOmⱱ:). {B&Alb xv,_2q28pG>ptE"U;6Zu{0XW48t"(e}}L 8kK7:lƮ+4/P(3J=Έ uA/Jc#Z俈?:p.@IENDB`9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME$4 Y YIDAT8͒KTq?{Ό^gtPR$hcm 60EղjѪZQ !`RHrt|$83wBZp}=mǵc"1@s k*t9"\oaG)rMt#L#6(>BZq5K//ZkIcDdJeÚ:9],FRvyF]H%:8P("Ecu]S T.EY xn:Mcl" X2ROd|U3RU -a=c903}ʍXU, Jm4 s<1;oqx. .IX.M>W(듩+NL8Z 15I 0  eDn`]Nf6MΏP_[#*+˄Lk1Bv(>mxGPh3\ܱ6ti] `jYj(B\m4mIEoBS9/<2,૬F\:@L|}oZ~䖤p_䦟ԯx, ;U7%fs7m` KBh@V>;#7Q"MI`t8za<EӂzEƲ5xU$8rەj**y?D%( U ܖ-w2ѹy뗷 >Ud ˜5<+jB*skJdDx/,Ǧs-08.pt r " $@D!M\U_-Bc S+6d "$(ITl^LgϮH\ -H)I~D6-%UѩݽݸvK"IgVe\ BEjj47NiP>oCCcQJ #SQ"{0MN(q(Xɪ7M,Ӊ׾IENDB`? T,AxAPNG  IHDRw=IDATHoUsϹm] L$`RRi!PE4j>D-E6@ є6*CEԀPخOpνg}pdK[ei[YL0o`9 s|%;/q!@ be-b .I:˵䖳"Xlɲ3l݇qp\`.%p,8LnbU_ZtPgiD2ʢwͪUU5ۃc`k{;^>\D+>fSr/1p,x5{nC0]X+cc Qm ym}Սc$.x챉p)qp]UpjtN,ɢ_7#Pi{q$CA,*E4KHbWåݝ#C_42C {^?q96DªbBsS>3 Lo뀮{\0Oϙك'N()UΤ4gtx= }SL2mCP2 X^u lZ4n:F|cm.Oƾ=/vg3j޹=ؗЕїO߻p0@DLDg<+Rk6 Ʀ4ݍ=)P[&@NҲ'[2/plˏbPQB[si vكQ$:r>^bb6%S}˂S[[g/x[qekf&"7λdED)~uz)j|E):9U"!yB P%zty9hE >\cmlB"c׎N- |sZg&b( -So3<"K==ݳBUHb}0ZYu3RY4nHrBXC?@$N9(G 88Or%! mXMLwQ,yXYvѱI`+c P Vy_iXʅxIL]yXj0=t^ y} Ndokp{JDa>~@Yq\VT2},_9vВaҤtäΛ43}=1'Gzh0en#I39!FĀ1ch%\1M -ѧ_=!Kg):vOzpv`i9gϲ`y> %7o`|n ᅫPHblK&} _>E>v^6Ȋ.P0{/ ,"U`Yff2L +"P#@g<2jB2 S π IENDB`?$ ]]2x{PNG  IHDRw=bKGD pHYs  tIME%IDATH[l\gwn{cױdז@CRu4T*HUp RR" U. "'NI1bx޳{~HHHh4H3S'QWP`d@SV“{#ڵѱԧƗ9 l~޺ EOǻ|罨##O|IQWLyuR>o03kͿo/p]D>t3ނ|Ngvf )5,Z)ݲ%;DYRӸ Uɳ$-*Jd| 9 {{P]U55u}2̥DMAtթ燇 uRׇd7gl+:7Q</7oO7 ,!.Zq5֒_9y2elprDB;x}A&1=*X92 @y:ě"xSzq}Jli[KVb-Xʤ*[|ʽOn ~?:eyc*y}?{-0> l#h4wWx<;||YՕOoE=B-J.ƍ_C%uw| ,˦P(23=eY,^B[,OQU?Kޅt]kضMsEQq\!=>NVC4FLNN4Hufgg Jh Yò,~?_CQff(IP  :.ab$d ¼$IhZ-@UUUEE24ȲeY%&2L H`& !`|>ACGGz(CV$I=`tb EU-rHZs47Q:LE4D{&.U*t*( N֮[:iDxaFUdEaUP*||ڕOMɓoܾ?y9 J^ALf&zjuDQ`ǎﰴӧOضm={r<|s|q .H4Bz]*"/D|,P(̜;w~s#(2~7(jmۘiYXIHYf5mǎ{9˽JvrWF~z,)QVm>%iB!x^ ԩSG++WLoٲ|,ANʲ͛77L6?:s˲χ(..tʶT˭cR$ 5e2%RiK,ڲeD`SSq2SSS7?D"qǝ'0 !|><==xvvv8i$zRdEQ ?D"#D"Q2|_,}sssj\i* I(Jj6i  9pIENDB`.0 zzzxgxgPNG  IHDRw=.IDATHoS?>'>Nl'FnTi/ƴ &mڥ۴M(-P`@D[krȊP dI_`Dp]gi떭Ç|+P,]K/m]-}}u]V?񐮟سgϦXp(46.:  x l޺Vǹu:X>")x,|G<'O`llEQ45m: .2y b=,5GcK_+ϑCNN܌u]ڢQ:SIC:=Fnj q0 b@Oo/ [:HxHPNG  IHDRw=IDATHk$U?f̤g4$t@I Qi .tsXu'=+d^earr:IF4v ɌF҉vd }[ZT~&"_wG5۪[_@uddZtqqQ/aU7xcnn\(0 '_b?p_>33CZ- u]<xcccFGGZFѠn3;; pI,LOO8&"X[[cww(EdƘ&&&Rٹ "DIx\"2SV_XkY__wXk<ɝGyAz?u K+g"18-Z70dooJbϪDQD@UCkfH1檈BZ0$߁flvt: ³=FCQD]a-J |9#\rrYuApYD.I:^ޗ!Cee_鱫"2o" /@izUDYdzD`$u/,Ick\?έ#y-iTuX9 z{?em0c"P!0E֏@(]@;٫JLEXD=( NVd]oׁFSU΄=WC<UL#ތ^IENDB`9( WW%NxmPNG  IHDRw=bKGD pHYs  tIME% 9IDATHǥnD:1iz=FP5gT H*4M8jv<.Yд2H{;7> l ײp0~>tcz_jpR W|*aH*"Ym|]BP-Jh4V`0R~y*qwvv,V#NOOǬcS`/2nyѐRJ X, J>90j\\\4ft:%ɬOonnަQ@۫+|0mw=Eqfv<Nsn(H$-e8/l61H)O>7^ahQJi-LRdd2fs {޷A @a ! ZXB/Rp8}<=})( 50 Z T|@!0RJ)1'LWot@a"ZD"p~}Qnp8Q?/ !'1ih b΅lRd.\ZEz/@k]Bc:"ZHZ?u`b㡡C=G͊-hV╵kyWq |1 2oWjOt3#| oLBx5B2ioJl^4rS˸>bU~YWs[8 z`- lά4:ߔw ]:HDbtوȒL![ł]:P…LY_oL&ȌK xksv̝ɀ4dǮ;3ybw}OGvd@8\^| ܙ P!ˌM@BѮ}Ka ʋohd0tj E9.K0`Z,ה6ǫ$cַKk#g2uAm+0>,d:5Yɗrg>U8+S֣X=?3NF++v͙s;2i'.<W֮( _bsvٱ/p Ng0Y$0a1z!S &Fdc89-+LZoMdS>uQR+nrU<"Bt$1۬$GPӗ-~w;%L6kv;ʉIENDB`8: qfx!PNG  IHDR& ~d bKGD pHYsodtIME t45kIDATXõX]l[g~ǩ&iuqUqM?C0UBӰMCii7H;Ґ`$v:6 R.FK`Ij$M8c;^.xbu{gsޟy2 D^T/-JD4Myrh8 94 1iV)ăZv #nBUջBBwV"&2 5B&0+еSw̷d"F,mb ev!]{^^D 2iςuCmۮ 2ˁmLY}VTluWۣr l۞aRn_Gf$LPJ/Cv~f| M ?>('"n*@!S~#0B0p;u>MY/;`-ھ{G?9P5p@KO;*˥CF0PH/ñF."Z G Vbd,@-P(7j6S$=@/63݈ 8(4T0 enepWoŠ{̦3Vz6 wJ\_ɥ|q2:T]yo NrZt- 7J]!W 95==Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME .4g-IDAT8˕]LU[ZM?llj@t#0YnpƘfwr fi8e&Ʃ|l -+m߾^ 3sr_y#(³fPܹ#>(Ãq49s`0l7k A+кYO@\E:fM>Iӝb|Av.-/<ۂnP(vKKH""MM8rxfs=8t]'Or%vԲ:wv<8{=jZUUUEgg'}}}RWWNE)wttv>R&B,*׮]C5ju>h2W&ar P]UM:&H$X,JlZEhhs㣟R˃ZVVVjx}>@!:%JQz3t wwuuڍfgy9 ? E0]nss?333 EQ٬ zT"`P~l7L& $e2jjjK2. ͆$X^^&!'IȲJ"ɠѨo9+FG&3\SN:jR]]MP$L JERdñ,;C>?NͅKxQTa0$ KEŢLfupH$Yueۮ߇ߦgf奥e(EՂ&%4;`~q|4M(淃Oݻ{[ʭ݌'bH*#( fBd3Y1&Y?pw^Pek x<67lӹdYϝ;T9 IENDB` ^^ {x{PNG  IHDRĴl; OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATx4KLufv,tPC( !шiIMIfZ/=4ML؋MxhZ< .,2=uwaewI|)G[6BR(U=QdV[o>5*+RG/t=LߟqyL.N_*d9?|ԧJ: ,e3aYΞ:k`{+OI%MN>yHдjBhZ"ǢSd׷m Non*nX&cb] GF?t}n(躀BPXf *]F#9X W끽nI ߼/klN$wP\:qwv(+Ky.?Wp VDE(QkΞ_G69j7V)9._ 2l0_ĚPu?EkUIENDB`"D kknxnPNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zܯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxD[h[u.'Iڤ7zYڹծvkcÂd->'烾0|Qal+Zu)mmKdINN/xoP*h5 nmP06m'DKZBҳF1- Eq_ߑSP>'f:- k;G\#k1|Gl(:ַhfN⛟fH&Mj$v}4 "Zsު__ɎcV!/vX(8-+8BZ8H:+_̂K7Huwvf5~?Y],Z\ dۢ}{hjh"X\*m&ݙ*7+MAvFp? Ձ{:=Z7ZE9*|3S4o$$ H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%[}׾6guܩ,i(Op'ol:ۢ< ?`Hm,26;Eunbw...x.i B (M [xCjlT,17EZX{#OXq`ok #@UD5њ\.]ەJlvi~` DnJCH21d/dXiI2^e њB@ ]W)|DkP-BA"k7[vkVR~e1M4C|`VP_7Aã^B0x~Kٖ9Zc(DSZ #Q ^&-T$uĶ MPAJ  F{$hfN#&\uiS(APFtϡE>6<$vZͷ P[IU ѺhzFzҨd gچ# VběYc`/" {e}9oFiP:xȞ{svz F8bmcfn%Ţ1 F N;`ƚFk6lm_صm7p=☎PCe+"hz >4*ĻzL{lx@߮oko`a!B*&N0 XZZ"SVADg?Cog>>+<8;GscŠK,74Lj"\|Dr`[/]LNC#;_H؝iVڒ.E*RBݧ`,zZ^e]пGюׇnOI)L%䋌OegΝyy~ryW_ז=!uzPj3A|F\o/шIENDB`.~ zz_!Bx3PNG  IHDRabKGD pHYs  tIME  xPNG  IHDRw=IDATHm\Uޙ3;]tnE[$m6~@bHP 4ИR V]P?ňC 4 6FbhL0!&Fj-v̝̾{y0ۭmIν99y<(zM]7nz0ᕫِ{%=T-_ھg玍kH(b,>66sR̍DsWqyˣo0&2^TD&"g>YLD^?)ډ5pS/=_ܖFjPJŕjN -EOfMuԡ~~rD0`%MZu%A.Mi}kBOٸ.E5\4pHu|zeeشs].|xo~RzY V_|/uu(XRWfH%\^dHéEFA+o@$[HYIDAT8mML[u^飅BR>€i]â&x͖mO^\"yǖR`J{}{'G4/GCNyD"RnnX㿞^ziCo__YV6,2+%e>5T=l&G>9wi7VIW%y(*+ǺC>8Ue>⟎oパ-0;T@![$VG{.osvl)=bKeNr3!*=\#ֹ6'Ighj 6:3qN<~1C_ KZЉ0FRP Yc{%[/<Úp{cK;[ѨQېR)JE);6ww)%m{j:{;{ToNpd *W@Hɐ+H(hʠv1A)}YڦbN [XM~&e#vW[.^k[PwUs* Bk@Ѽ(BVPi<[Kp8r^jd:9FrmE}'ߟJtǿZQ5En<:eǃLXdרr)"~Q]WG\`(CWG_:U-J9+J_A{@k 3DFGԧӭG>NF>8s;.wO[+JgY*[Ny'zoճ3SіV*Bv3go0.7uIENDB`mUudRhl{͋粸vMH)i6l% 9_2$5f} $K^ȢeOt}05&4 )$B " B j S%zt+9{$kVov \0>&b8s9}EŪ~z}<}UC іʭ+@Oͯ+EMh[,ifJ9,e{Xj> RD,}WXXKx>z$ܥ CW5Jc E:1FjuAYB0MX³Kx^%K,n 󼫺@3%kx2eĨB"wOd\^6/+uY:f7` tTX)k={xdR)V@@E K %qYYξ5`@@z PŠVزc?ϼ\#zs~(h!:QsVdGG^i_Ѹ ] P il8бI-2 Zd f3-"ӓWH\:Wa: I@W| kus)4 t 0haL&M *N=?W~1|8/#`:9=ZA !^8_/ nH"~ď_@C{zV=8Nq Dd2I8FJ8LOO*PXkzM[fN_ 3ဠ԰,\nd\Hz\xWGy }^?f&VM TK*y`Yܙ?'Yn"ҳO}{I_W"AGB NC*W`l"u)uq l>ЭǢفµW*ۭlIENDB`0 g#Rx+PNG  IHDRabKGD pHYs  tIMEy"vxPNG  IHDRw=IDATHmTW{g̾uw]`JX(nijlbmR$EAԥ&~1XRI&HӴI,!Y2 };a.'y={3!6.׈~& w tJl+5|ko% Du_ؼH$cB,'dN{OɱAJynO<쿌(5VV*UVj(+uѳJm|o\5/;|;~5&Q6@)`A ̯ce|?~WT@:X:T̥CAD02݇~t@4m/??bibgWH&P|NBq$ g>(r_0ĆкBƻ$3;=\ʔ:C#|EQr9anaIDAT8mMhu33nv5ƶD#֏jkKcEՂ"B&HKTAAKKZ0zPZ/JSM&i4dggwv!m^x{%Ibی>>%ʷkf^7]:葞w%.Od+7e1b:-D|,:,D>P G8 Z;?~ -])3XRP]o}FHw70莶JNj E=7!UN~&@䏫l^PXeH,LAd5RPPBcOI{=ٳwo\IiA'vQ2kϿRsdN^#iFfAudY#XF{(.mnЗ7[8(u>ZɖNMHgdѼVu dR,Z*OZ 0*R/B@z$I"/\^ \ZLh-NsX+k*b]$Ii^3,YׄJ5܁ަxK2j!CjB]`9 x @s52*_|}1ny$<~4Ï  oj VByšogƇVlF`ū*- d#2*WwOt.x6']ځ6 FŶA}}=v-kwFw~jGwcuxTz[>|z?c'&|$RHgsSSGl%Ir51'\g]?Zvs)UIENDB`5n%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxDMlSZ붾uC l- fW?A!zbO4LԃCֹ :v[__ھE;Ul%Rj9{k(S0 m}o}5BPA@j9ʡ^ٹ[Z@@JewO"1Ʒ]vƮտx$aUGNǯ]oS1+ - r[3PY.^% IGA[Q><@b7"%Dh'd~9c˅qF$J'|Iû X979|f)b: "cc [PMRCފeKm;^LQ.2f7Q0JUGXWhtJt+WQSh߮'d9$I.zۈWq;w 5+^0~'2(Zaю>o{Q0ս^.NSnUDEQbb~0{??{%" jՙbԭ_UٟWdƿNIENDB` _<%|x sb``p  $?ORAN ɼrؒ]";,,f`ŒxK<}]oq2 Jq Yx8XNN8С_v׿.ztMYx>7^ ӆF `mxlEN}'`tsY{66 $zxzPNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G s sI(@x sb``p  $RlI. Ap品" 0kH{+m6fv>E_B%%y% E%) % |@E+<]C;O55 ߸ֳ <%CCݱG66s?\bg5?`[0܀%8Y8 Ey8XNNX `;r~[kJ( ky~\9_ %OC:.GT'^i89SMOAKRfsD j eSBB.H N+ x sb``p  $?ORAN ɼrؒ]'E8 <">0܀%8YT8fitq 8@ IJQ_mٿLZ 'p[n I>gIkӽBꙖel;w [+k<]\9%4`b)@x sb``p  $RlI. Ap品" 0kH{+m6fv!9[$K\#JssSJRKRS3K2=}ā<]C5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\k엖XHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F*IDATxڬn0V6@8OPV!ud )s.(Zt4"{I@(p$iz;\sHߗ{<Yw~ \9{]Lᜣ( xJ Qa:o%X 5I;lá2~! U% 91#$IoմgAÚF#elwKE^ͽ$e+UB@$h=@5Ћ-1:|8?n4h [[}JXCъOӣohucu2`M~ $D}AA96LSDq&ϿR]#6"̢`79H"rhGt>\|]0cPNSUk-y˭'/h6C'|css}-0Q𥓽Q56,=r [ \_]-% 6NA jes75KhIENDB`6 j-Xx(PNG  IHDRw= pHYs  tIME (/D MtEXtCommentCreated with GIMPWQIDATHՖ@kH.%-|()V),R"-6Y7?=p | ̹3Lo"H""[DT YxtހEOqQiZuu]kYFQ c2h+@0Ԣ(QEa:Ȫ́yo܀y` h8ve`heO,s} vfwZg+n ]W< #PU>it/To^#p5Sk[kv㸓`$dd=hA| @\^CƲ:CIENDB`0",H x PNG  IHDRw= pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`lJ)0'[Rvo̳z#FA[L}M5J]$hF"mhדCD\5:|tgJK=1.uxMvg}&Y|*12a ]0 +*@#yEҥ̾~uF+Whx3RU(IIi]9^+cif޺šx(lHBDǀ$TvĠOP,/rSBEHl0IQ;;T^Td(gs%Nw[Yg'?!4LH&IVڥ@lg/^w~vba&թ0ha@\e$GK7_4^g1zv J#$ Bpѧi pk<'ܢ_LIB.2yHAǡKa>Ͳ y4̽Dmńto1^ψmv0)(-UpVêe/ᎎ_dN*PV%/ǀdINYq-3Av L  j1_DϜvxr'94R4^0(RM k]˒yΩ>^8;;˩v tV,<\K~M&=bPStyHS.Ps |07GPt9Fhnߣhd:Iڍ,ݦaA1Ӹz:Dǭ>AXDCt RB 3 E[$Kh@ji1uo^·FI^@KÏ~FH/Y9KւEt"(=T:2Gh8vkqE??4ap>ݵbAgސ95a"Jg HHQdc|99WB7nPQőf(2Ylvo9:)Eq/_&oDWB+P =dgS:wRQ+T"qݯε;WiCO3tpTy4tLĬUA.O<xaID!6LҹW7 4c=*K)#J[i) / NppCJ;$) @ hCB1]|ýL)O@';H1 h߄Ife"WrtxB @90y *f _]x ?'uJ> Iζ4.Ko_!ƈ$B~f3YNvkAɨ(FO tknh- QzaS~LBIL悐FqO~Sy}TAyJ D4x hBPI{E^W0k D!T`B}n6 @#7 v&xRl) V> r~pD yf =q|'<~u@Q#b{dz8Ezc:w)HXA- w3 >k"^/,"qE @*A[x?b>`=-ēj)a9:qG|XX1!Aa (Q_.$ PJh;ps _9>չ?$Z0 2o'虳Ơ$G\L/XBΥD ĈDM$8=:z.-Y_\b=\z+ 3:j D눩ƫH~WtIENDB`3 ##W/2x sb``p  $RlI. Ap品" 0kH{+m.n~c*q@!׈ԼĒ̒ wO߀F>qF}Oo5;W0w<0B%cgy?1{M"Ϣ)vơI6(^%z clq?Y2^O\j4]cgK3izüeKcܙس&'0-wpKPbO]v?+YYy 9i}~ceۼ(ojecͰx䇌 ׷ζfxҐo .ڲ1xp]wwSY[1dO_gpu Ykw; ɯ) ;r.h x PNG  IHDR szzsRGBbKGD pHYs  tIME16)tEXtCommentCreated with GIMPW :IDATXŗKuTIݒmg`(vC1xc2C!}6I.0lsH gA-%C~WwuwW}eQhF.\>>8?{_21FŐ)BЖ$jdDA eXI}$h=#CD1N9Oqh "e0i>'%Yxݻ8bdZ$B*͉a (Q 5=!CPq]s;l[LŏkI]J C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIMEFiIDAT8˵OlEƿy3:vݤud$—[H4BK UHE*rR N#D O zM"8Q,T*mi+GwkwC(ny};Oy)pA886؟wrFq(iځuuY:^w]w @0 |+fff lKid#@ŋʶ8i"u)JX5MJr'n_z٫R7ϣ9:jj"*q6+J޿˂ X pҲ׻ϿFR|1V-wMA?uS"*&l{} @'677ϵ'8% AZ8vX&{8[_RʕE066X, J/_ТRPlhZ0 ? Ji)nApzoG"0,"%R&Yw?rxڶa) cv(@Dj\$Np1&+NaznBjjU 4ͬD49qe:y8Nsޭxgggih $> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)Zk+?>󪪪*UT-˂h 4-] %0o\ܾ}>_.R̙(//0UfX]_^Q+++X4( 2t:- )%8 JHMx<Yie˖Öeykma5igp8<v|%0`>킔h>z_i~?^/~ 56~P"gr!{cJW<G08@ oBX!''uk?D"h, ۶A0pa`hh#rRܮX,aR[PJ&p8R$R2 ּr((|hҲx,(/Y:A\.F"nxllcР*(%S _P" #^(?xs~5<^U%% , c!cGOrO`ddh8l9*3DmCuTm#L |F)FGGi:ȴ3gφ^RL[G2}}!%/S)%4MGW?dBJ n1ŕz,YR%`AUU %ΜN<BȂ͛7w۷%DΟ6Mؓ6k\xa(//{g|[Z!kZkR\ @cSSӕ+WğҥM.xvo=qXft:.\dCaȳgJB qM댮0cGA2f_7 LR{/ X^rIENDB` 1(xPNG  IHDRw=IDATHU[lTU]1w*,4~DjPGALy}@`h)3 twLy;9c}>{Cx^44487l@>WZU\ H){Q큃X4&ɔf~ v9`ss;w~ XԺsE!BH~ys^Dze­K;::2HvBokx( ϟ?*.~՚N`p8x'D+LBB`&$;`a, a4MH ؖ 4]TU]iB`}R( (`r[ &2PxPNG  IHDRo pHYsodtIME  pIDAT8;KAlkV MD%rE"Ei.Z"*6 .0эs#&n 9͙s94M)% 7z]R !A\k|WwNPЀA vۈ% 榨VSS2qq|312ϫ9i*Dl;El&o4{eyϙ ؘ6I$ait4.AeZ^~:8gg}RJJgggĶEBA tGdxloc46t$"e=׃h,u ygkKY<` SZx^'f"])赇ѵ>?HUX3 aA 鵧>L$tzȀJ K٤%"IENDB`6R q3f^x^PNG  IHDRw=bKGD pHYsodtIME IxtIDATHǵAKQ49 *P,l< `7?A"A=yDsm=='- ^K٘{=4̛R)yjy#J%,Fl6u  Odo7G>:B*pHONЙ bLw}F&ރ)jp]osx__m 9&[߮WYhC.;E.;5ѧI>OBm)=tEiZZºheD޿˖f]]/\@?{FivϿ,@t3#G)^XTx{z hy*wP@8U0ZR|BͶf6h9?OeV7_q}Q`YKKH<[g@,@Ldry,za᫘* D%B~Max^-Xz1JxQ`WLץK 0"Bگ5q+5>8 n"GXWqZ%\\?c!Zz^0y Wٲx[|߳SUA{ձ1ܻw m`PJ;KdmP[پ}Q28ղ8'O޾hFg4B/FÀjSwFבW"zf1Y1\K{7@Od|}źgYYALμI8Z3JA9^O%p]|ۦdۈRUp Q:56\.'S)y'IENDB`c` m5^ZxZPNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<IDAT8˵NZQy8DF NJ5XBр/DiEmAD0@Դ8Ҵ% Y@41_go,9'(ٹ-;5Cc-^؊֐X >څտN~1ՅW v\N)i7mp- $t+@UVlf0˼߂|@%#ZDD>U㮤##Lz(27ύ > YAW _yydzr7<B8WEeSO`J\''A9-K0BFg}5Հ# w !zBq7˅+đ6s۔CeTH`9ܷyhvע)DH&TiHH9KI$ mֵL\i9IENDB`F s6j`x`PNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<IDAT8˵ORq;Es~Vh7D i)%FW;y ֋lENɜ&UgWZAd:{>sΑd`˚囒}06HWz*``ܶ+z>"Y HE# ]|zE^`%bŢvq<ߎ!l;;qOud_W!D0_"-IJx - tn$%!?[ؕҲגm8UޜBHÝu{N*Aƍck쿞&rPPz>2I)3A.uFk4KܖA.qsjw߈`LwЃK$H wh5G0zg'hcA` 1?1mR"@Qɩ`h70ɒpGZupvUO$M c'qCGH L+@Tk?FEkҼ갺|IENDB`=3Ԩ@{ L+Np{^pGHgEF&NːPc[jv}^P6_x7>?~䶮-~FP qqPlFLIoD{3A}ö2FudaiBvt6U0Ǐa\ M`֧J$4bP$ J {3~-)qz^>;2EJ\돌y-qhX0mCyR TPGU[W"?ϔ~'hzOZmO-].X~,2K T`#,[aŇϧ) |'ӽzoZN-Cd, BTYRF ۏNLgzErpZU]U>f㐑a 4dE((pab*MjU/Nkqe_Wx: *I_! t64j#j 3Y\gdNW¾NU_`"s 7ZP@քU;P^ i"QLΔIw/$s.-Sv]Nm6r"LD׵Jy69T:I"\fNF!; h YQ(ʸ8[|$o,tngRQ87G  YMoabNoXzFI$e 4 /ka鿒"N#IfKʹhDn}Jvat&#V<ΦseU'!R,F,Tx$!:8"92q.Pؾ1`xQVnIGiN{u*ʚ54(}Pgik{_FG/}vyArnl\Dga|ޫ]Y[-.;L7LDoMZWuZz oxUlb1IENDB` Q7&>x>PNG  IHDRw=bKGD pHYsgRtIME&IDATHǭkl[9>$؎رQδi!)Ф^DĆ&ƇNhb`E"- DYHRh!ВigvnN|)QҫGzO+ön65W]g -޿g⍧Rg 'c0B3vNNˋgz`:ݶ}ݞ<ϧqC_6ƒgf)Zۺ܄%X`Nr&tAQ,K 6EfUiU-mI7O\\gEUoBQ'?ȧkCAJ)u4LJ{S]dzr魜$^mr3XaC So*Wyle)skWpm99^f4(OAkUԡ|֖rvj"%Znٶȱhk]T\ p )U pd Ρ2ϠVvьyn1!&b⣇KrJ5݉nzy1wkO&8]N7)vNKBu!$ ɤjJe͹SIv]CYe)I`2'/aLF$ᬤmil{У"ozN$#4"ĞG{eh9Ea^OЉkGC\1{`^_[˫x$lnTȬb;H'MR5N^_C8)qf?xӷWڞ3=<u)LJ%z.xnxigrEۗ>*vTjRpDDGWTBQqY6t2:@܄Tbm08yLZ9Wٳ& @nJT,3kP+)hO@EEr}g@& _B{: ՑM:55:1+dL5rĠV7w\ :Zov 2؋vxn xH @G,07nYjN7nw&ח:r_T8F]2*i-ojγ4ifV7 IENDB`Z )9VxPNG  IHDRw=bKGDC pHYs  tIME4 4TwIDATHǝoUU{rE"%6"bK}%jtk`2фCcX` TZnIBK_MsspnBd׷[Q֧ٓK׮yjݵ+A* ӷnhnn)8WWo] ڲ5,IͿHiæ- .@38j x PNG  IHDRw=bKGD pHYsgRtIME $6IDATHǭU{lSe}ݽ}l=`ma 8t Ȁ OAB&F@ Q'1F yE@A2k7h7mCQ`@wƏcB(+,S' _߶띕rEY`"THٰzy3 u.A.r@gj9%^_z@OWsr+Kf|pXa D^EX 3kw ) 玵g3h8h4$KCr674{2{o@Z=cHE3ۮ )jH" aԎs &A #,Id9O`<*;mF^.wV 'h60<’61bT5J7@ԄrGf.0TSGTHyL L B ("X@x/@!!bG5e@=o"y8( HC] n\r"ťl؁j s$Zcff'Osf=}û Z% b=sQڸ48=6>[G9@BADpBl!ZnO$*y퍷%V&ҹE-ADj2l:2({{|$ӷ}UK^9Ԓ\_R֬]:=9Bssj~ZA&nFߠq2$޹sRӓә.JZjzJdZ} Ѿ9;wpmd2>qTH$Ɏ)c!PjA).69D>tvlkg###8~d0 |Tq804Ej4o|O/w.{am8FΜ9×_͹9"لA.ek&vH|CGڵQ^yE*֚Uz)6IЬ[@lyw0OM,!xRlg-ZƤ`)_?QJZK[jc8IsZB  f߾= ^ȑ>x ZD8Tfzx }}ZV<uCB HyGEDQ\c0pҭ{ 2`hp%uK ק7nؠv Tt:U[|^Gڲi換K[6cMkBp}6JkTb%W?ũSH N!AC;5=]C쩨9Gc?_EH3) Ҍ7|8IԦ.[̜t_N| MÔs1y g^̌~sNDWAׄצ@ӧur2yp)c5jYw~WwXUf̲% ?Q1M ~.Ul6cpCBGT$A$Ȳ 0pر/|߿w^I就EA$A$4 d2ܼy1pAA^ǹs~WF#)@,{,Ba L&@)8jBZ Bp8u[`Y7*f`-x,+ ~:9GWW666`۶[]oooG @*J@^FTU}?a681H&( ζ뭳&!3UUeY~{{{`/k4xJ2SJBH(|F?4Ϳ溮ZVZ__뗅ƮI^?xosj5W(~+?2BJOi#heyB[,kݲ.y70IENDB`z! `=,x sb``p < $Jc) w'ud^9lI. Ap品" 0kPו2;B%%y% E%) % |@E=]C4Oh rֺiOYN>užvU bK Gt m|f Ηܡ.:{g[\ݦd{ޓf}vƦvWg)2qsӥ^ gt|W9aNxmZYr&źPg kOs[ W>?x sb``p < $Jc) w'ud^9lI. Ap品" 0kPוWdkDs~nnj^ sQjbIjByfIo@x#8*nOS'n: ҺrK%"1OL]u,Ly|QIпLr-5QZKȅ &ȴ.mMeVsO.?u)uOި}㰿me W*tY_:q9TbU;^)ԞZ>j;)~=̠s=U$Y8oSvpmޥp/\ްjShڀ>_)%3(tۼ6S|?[dSkONx sb``p < $Jc) w'ud^9lI. Ap品" 0kPוH'[PH59?775(5$5E<$C7 O苧c \ﯙ3KClA&qwnvܜjҡoȟ%Li^$eEfUgg_Ǘp4fje)5ο7<_y澋ç uBmqfDá_c[-~JO+gj_ۿ+o9Mӈ!Ý-]5.I4ȯjն†/wWm|MϫEZ7>[ݰzOLʬw6<}> ~.|J&|3?kkJ~nݼp ,@1@U1T#M=)+ /^{|ۯ0༣<rΜ>ʨ8O(;fuwرc; ~SO9u4;gytG~:{vb]๣Gٸw߯ivUH{Pk)۔s_a'*-B gWÇD#K. *ʧ!ٳ4\s*n&oRp1siZ~#grRo]ܪ9?شmum; fͬ@cNΜw7nbG@vxy@▵Ćd4Юb h#hTǎS<[q4!D& @:֭L,۸u(~C"d`"~5F Bϖ>r ^4_&O %LP #e t\šH;_cAD Bd GIdVQAلItD舴:N@gwDڙ(rv5>;}^JK'S6%V>h+F^!͖m(RJ8}3@AulfTUL ;"Xy(+/I`uYhTVNK a2SHjͥ_شhg[3M1P^^Ngל>{3O]%͒H/Yjjjjx!0`EkdcKtww~z{p wRYYJ(D|:.f K,8.A@o:.zd Z)Nrh׾Zؼl6Pk wsG<=uMr&N?o-hYfVIENDB` | ]]BBxsPNG  IHDRw=SIDATHݖOTA?1DN$\bbrl#LHJr w;c; Nw<)a >zVn 7#fF* w@$dA50U;1˯n{փf~tLJ29)9Wk4T1*ks}z ?a)u\w|3QByc2|N 9`Gɉ^!Ĩճ2i$TϿ7)KVjPU666qg01( 6l6d~~TH߬sOj%7PUO*\^40FtuwDN^̎"Ȉ(rLp_ ȱ;a"wp#&>:W|HVtXZ#`;t:xJtS'80ǃPd4_twRJA}L&j*rH DU.fխ5 3^eQAE%8E,pL t{&{󇏟IɲCM4M>UsJY).9jV'5mciل`IENDB`l' `CDx2PNG  IHDRw=bKGD pHYs  tIME "##ZIDATH핱kTAwI BiM * )R6EH (B gu6? (5ф"xݱxw]49}7;3_ gqc   4`6lUs˅+wؿq{ē$} 15Xcpr8{\§/ #5Qo$iYixn_l5qb W/aKC:IR։q!"8,\BE]Dlll^ ˱s j5'{1c!X,R*X^^:$SSSO>$֣jBF-5#Ն)T*"w2Ri 7 0(=MOOEz[DC03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ 6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATx\S[L=t2jiBNGnme"OHbu>l MOLc$^lDG0a,mƍ"z@;hzcK8'眜pX"V_%I\./MӗZ.r\LJh :HG_ح @ pB"*++˼suWgŖo'[ťy?k_*fX-Xo+9ʫ?>^^_d2 "ւ"pb&p'[\|y6,hp#p-, @zz:ͰΎ~}JGckji/).>>dm?`jj k+!bNwކ*] 򊊊:'8W܋n`>`fCCHJ>/sx84k2nv8ͪ soT»g{=( Ϟaq |aTQVʕ@4!pLNb7Xbx g$ F"#Wڡfi80D"Sc7MQ P)B[=\R\y8D,]yxW{/& H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G% 4+5 MLv};>:=2?~*q   @^78<\su),_X7`ag_>sGa.)Ywv8eW|:ٻW+O0?}|PaժH*7զ/F2zrK WojBԜw [x==B Ԣ}[4 Kv CE#5'C<ćNQYoCEncB8A :wĂ4 F3"D1Y%J'5dK,">DW"u.-ד$wFz%fS9)^ lMp˜+^`Jn#!`spN;$pϚq_#&&x9FQhqqd0!T ި's*j=n}=zQ~"i``וmֱhmllT"%D&n5=Kh=|{>ߴXّYfwȯ]!oLoZYsir? 쿏;fw"ThȢYf17{>΍.&&_Oy}}ü09 j#O/bdA"rNtź{5aݴ˘{c%\F Fw(y=lܑl%IzCa)g8SjTqur}[-/ȿ,ne!:#z%b<#l-("> Z/a1.($(%z,8qJlNt!f ٰ#xݥYPCT\$\e1#mԚ?Ny`u ~4SdZdΤAw?}z#trmcD+8 _U48LJ9 !qYLH-QN%|E.AE|xG5ڤַE;RomuXwMߏ#TG~4AО%h[==Dd\͍oPRNΒڊ8dEH s}(ŁF\SCWNffb8k#;RrBj1N$`3צƬ܌}FT|YQӽQRBcw T<U"|9#|a- GHw 5l$\9r,"E*)1AVPf}niD05.h1"DXlC_.Dp,$%vGBDNU͜.jĐ($) 1){N<+aȒ$ s)js\\NLyv3U$Akygv %r;ʊ})C)";.ת眂G'&Y G猛t]ؕ恳Z:O+S+g)D~_TFeX#tWhGLDc6إN\fyi/ j=JA!@7ij %4#bꉸVaY:~efvkS%Յ?oUJh#_EY)E C3+@]䂲C kCBu:_Jtμ~}"UR8^O7tI1'_#YGL"V AcS-FK*`luN"vf0,KHA.ؿF*xb{)ょxGKHn}hYѲD9T5d I"ßJ⺺|?ׅ۬`^ ({,?`?eH]#?߇JD8F6aH`F RH/f>>C:̚"NJZ 1qr*J>uonɚ]ןKu͋'"tE{ǁƉ$183e*f$?]ff08xh}C@\?p-7P/qM:ĵ:D_Juu(/:v_֩^ZtV.DA<Ac m:rVb!R2hg:;jshMo[IbH jO&#ûw=\ьz'qG;,+?\HP@3F591V(TK xfiB]j/lpay׸52ͥM$ 4hÖAhgkr OuUceݡWGbGE d0OY5 r{AY [=}FvGj_Ƚ;~[֏Ld ,pK%ZtxHmAR!ᆧƤ-/f MY'I xu?xܙج`{U7ަZZrk(KS>LH'Q[Ҧv eDi@NoA_UͅVK7K_1sivNxOi+' H+Rhv[cˆs%'d>zf2$qc׽Yi[/l4]OAL[AZZO j F9}b0sD{7R#o@O'GꌞE>gijӽn-_3)dx^zt[_S^'KjGabs?{W%J XdLDIh)w*,/5N&҆/WGdsqJYFQ~,! +X  k g(E2{ @*YQ/xO;3B zWkӉ$Ȝ|J^hn{nlEn.&'f'6sOX Yk-H0~ۿO]+{0j1cZǠg Vx4𗷅{=K .SbAc~zrSxZ}2_]">*rbu$\4=(Ѹ 9ڲ7=, \-9ga Þ=_E6^xk9Ї;SEz29b6H [>! QSaEfySqJ$XZAR"Irϥlj@?aӯU环oǼar6cypTbzih$S;: ^['QCӾ[ڃVGܩ5$G~4{ 9~3s#F.2謤m}c&.5 `tqoo;yB]`=ؒޠByT 1WmJTN ֙yμz9 Z: ;$m"JhdTLK 6t V̗6L\+SSFkr%& zlvw)9ѿ-BVD̯՝Y=[Ԃk.4qx̭ҦfS͞[IG.S.l&hLHEr6F o.Uq@Zw$A>k!st #I7|,H-K~Te701d6Ɂن;]5i7k"y܅!tZ>=AMc63/-6Mψ͟&sIo3>TTF2+h 6(`jM(7{ei":( HMao{>,?RWG( ӷ?+eD]k-?Ք4ע( !859 ~I 74Hj|6r~r7qn>oT%Ž|]J+=e0uӮh r/EbUƸ=c{4 LBAĺن0$ְ>У%iHhuX˄ p1_1*WRT3WlrRAzBEDdm}&ݭ?g W?< 4ُX3zGQ" r<߬pg2,Ƃssklu;,B:F[WA,>{3Q!yj zQ4 :3 j+p։iy~I#lsn ]񠇦Y8}7\Z Se&5 ~/iJ-8SϐW jf=me+z ,]g?z\ZUF nzW (?8M )vꡲ'}1?e+#YӗA=o30ufj5:y3// Of~A<_oq8w@D'Ħ(2ήuUB4nWHG^GCtd l'ZwZ^7ęQX5/eٲ,aϘKi6ؕ`!Ł?4jÍI1:vɋJ)OI5'&9JR^ .Dh Nsc)۪jf+[ѩ0nHb&LW1?,!.K .#+tWJAhS(T8,ɪ$tb˄y""Z/%O ^cbش^^LDB^z(Yx! TjY4f _[t9h\3_ >nD;dTmh[!.=7~E2TY[O='])-X-!ٗ?Kl;~fC\u W۪p'n?YqҪFX2od`[&ę /wR U25j #%EDL*}SvH_D6#6&bX%$h>tj5 zneob?o r;;3[E)Ip*Ȧk1= s.az5\^7u$Qeiy%YNK vg 0 VQPbo^r3|o鶼maN\=.]ŐnL^mx#ŚͣzO2$aWJNGʖ $B" k/ZnjGFb '5ڐ͟7];J:~|JMfrg @& (P!O %sF-P̕f?)a|oD0Gr 濃:|pmeV ;bӶx[ܠ7pjVt6.Wҳ'gN [q;g}NLF[yQ1ù=͘F A !7Zn8rWaVS7$؍یĚYԳA)ғ3N<~9pE peO;$DZ, | WHAhN,m ;RbܲloœB44 | .l\[%P^:@tX=pe+gHËRG46S^Oո- =ʣ=i&o/iنCy$fȏp0s>{¥rP"MU` BHe#YZhabdS͗ ”nЗɻf&|ό7P7iDlNW%YJV7t0Ā+Xٜր,鲕 חXO xߺD3Q\TVw@L*g)VRキU #fce.ef !ij%vD+ˤ=(G'Y)95Agq<7 %b jGg]c7h!ړe$3IXS Bq'p+ˊ]LYE>{i mi*Э#pW~*BQ»,qEW@ +̬"2WObT.$2lVdEΉ C,`KO0 }.PbH$OiPKjb!C--WHQ*n:h򧤦,f |Ո9Wy7Ca+k`{㸍{P睲]hԷuC]t0v÷?4DiB2Xs?563s<>Ks N~ ?NSƸInscd_i!NtUtFk^T6->'ȕ3t/+67D. t{rmHS7mx"+#߈zVzD62>ht`҄ QmY Q_֢-cl-&.ԽK<W Qtd<>jGK{AVBk۳ak}9wk80of73L]]b_<keJ}Ÿv]R-A\܌N}QG"}/Sn͔vqpblm2dsb'g#TP4FO.Z[=4Kq><䏉mb!-)ܢP jM#1 RdElѢWl.S$>Uļå%ICjR$EU2=5'ORƜ@wGRᇹLlxQ-)|z/r/,=t(>F C9 ,k߬؉^AG\B Yrd2R~tOU jкVOs^+ Bկ}b-rLu.Y zY$11޶k 03F {k !k|_{uigžoXxyv&)qٗMÃR1 dO]&r$cZwP-;)BI@;bEr4oro/Ѷ8*]VMĺZTƨ;/| K(/=G]3QqqV:%ƘirE~+_֋!z01AEت[5C(Q1EٷcI>5.?~;=U^Ç]An@M(ՂE$՞dtbn) |>Jݱr\Za8jXE(vZϹ/ӷlU 9:aΊo1Dṛ.Hh|a +Λ@~3n""ӲX<Ɍ# Fd3~.vsuȻӜMP̑ڞdf܄=ߣ!@ i %h:kRqe4M&>!b^.uGiHMF*m z;t^5_kInU=cŸ79wIn vMR,È a +3ى z`-eՒ{8mlIrỸz;c3X&<-sTӕK F8 *[THLoh&C.}vOApKҐjϨkIP7ɨ͊~Xf>/tL8dimK6V R$GUp9ز\[C%ssFڠYC]hu, KK&M~z?kvܐyG_ߞa/UV}Q|Y貚"1[?mNAay:sz~v\;[߃ͼwX Y0B^^D9ڄ]M!41nUm!MKbd 98hzjOAaGߧHlu-(`8Y^N"^ QXU}MM75RӼ)?kQPvqd=!E< )=30CذϹ}\I$ >yB.=jV,f`U>=JqFV?Mvr4;:Z3뇷j8 +\jۿ ԧ ysv7Ox(Ԇm3ju nx8>h?AVIXš9Di L֝dH__L 9qW8_{0\ '(h+ة= 8n`$g+L_ BPQm 3P,J# }$ `yd%+jC.((,C1g'\S1X8L_UkۋnDIlޑ-}:SͤRx069C"ϫ^IW>"nmpC~7|_ӈ-wQ)nZ>Շa#%fjG( t]W<#!pc4"0ۑt6JxWMvE<*i,/Yݟ߳=˫L!PD̸>1̱D,O $6#TH:4yS8 L]")&\ж]|zva*Tm<?Y[`%Lvϓ|z,3/kʞTˆʡ HBI~-5'Pj_.VBvb;1\;IX׷#7ʹ~ayA .4ILX:kܖ2i6!78d I1M|4Yt| f_&;Xv%wG‚~wLGE؝X |NA)B99#ZΕhfT2|B*i n뮑C8w"./veF[&?r߫;ĈK &si('zݛ-Gr\ʟB27pڔ@GѝL7fT ^f؋%h@l7OT/CsD=yC|fbiAWQ9Ȯ )SR+HY" Wә9nmv%axt1_HGh37Ӄ~3]>Q3Nl.ߞÅMr)xG.Wx=ptL:oIG"^ܣ+ߟ( 3oY;9r v\ K(zlh$;;Bӑ5UE~xj; ̳NٝLGNeeJjrUҺxKqL`,LwhFPeE=`]fַVYJ6G')_AwŃܮM4^/Mj3omU%5U[nB;ߥ1S䅄yڳ1O*u00#|D!$P0iqV¢A2Ks9_xšDsF0 Y {s x##}d@?45Ƥ]oJ՚"']j<;*6±{Lwk, Ł6b /\ Zݕp-3wf"Rw ?=ٲ,3\X=63q]Kxd1ݚkufm|رmi˂Te3v̧_Bja̙P)$r:G ނI8+j,8 7a' [h8mSAF[hisZr P}U3DSJtt\{UwreЦ>k&[s!̞ANEwN-J*| PhjEk+G[,QJii"hr4AYh@0o& "kPL,[ZybSy#YU0EEFK5:=%aT0xp!OhНЖ8`p'}+Üj?t:-q8KgBjUu/Hˍ$qhYspA5S8~JfF 9X;N3TҘ36azG@tpr6oHkh Ilq(}3z鏼ނ7HB0'~O}?hy&Joof4W:m/Q !t#MW*~h8/䂕yl[Ǧd ]D# iQ-#!G|0u'!^>୮xV5/JL ̢Zc L`,f/V(YV*ʋ; ;z,K>@q@W+IfFX4VĎK뾕}3AIĄa[ऍMf()Ν1zֈ$k2ֻ$^/-6 R!4,([umO̗=y1aJ0@_שXfj"S+G4o31S.T"mrp:C/ ^SFK,riKAƏykwfG!@޿"m;`ƃۧU~[WwwR&ۻA`ŗXוL2,/ƐPM2-R@ )KqCzbA "tLOijfQ/,M#Y,'璜ymBmn)+6:q`VPq{!VS),iLm!ݝ=fyFss=Vb8IF! E̒[ G fZUC#ƈh[c<.⽊GјkFjPzY?҈*Pڬo51W cI,ĆD:Ml˽=M.!et>$2ETƀvד7@H8ySR7( ׾`4aּǣ{{3 F_wYܛ1?#v|3'ra.ow{ ٤)BHJYYzқ5҆0(3E]Lq:kԭDdO4l@(!i*U PJyC1=f)֑3y4Jtt(0ʳ ô5  F]XV$l(|+NF22[ #CruNKԓ2]PpRQ5uh|E v@ ƌ*x sOJ)|JSUTtØ%c OWvXY_ݟڟ*Yeŕҥ?+ dJ#D[篲u?_r/*׮lȝRkã#g1&4Pc9XI U }sLzlvR0W6>e٪xKMqyyXǜO^(0JT" @h{+ gkzIϊ`]]ˆC/S /ǡfiȒc:#6QxbNMMtiY@F $0TXT64Zc0tlnm*LSmg Qa 7@_'_`N˰+驳> ;JniN/-ɬ$ٓ3c 5qzzFHE E"\3`$]LT2@#v&M2T٩+h 1 _id /ly.WX 80{U.i[1}{dEwo{Ow*1m{=gmF9hЙfb>߬K]/Xl$T%) <|X ]θ{Jd.3J;J1 ti|]Wt0KƵ-vy CGv.S΍\>dwˬn@Tit] `Š6¬{0p!>UX P|hz4¬9ṽ].dc\zaxF:yB{R Qb be2z {.U;>wXU4N}8㱄>v#hwE!oC1 pNLwbw0Piz(G'4w,&CM7jkC>ܽs/opٿpʣ txsl27Lv?ŗZy?,Co/lt/}y0/JNϫ)HxK2e36Rk Yo=.YauM0 m1 REr7?ġVTzUrVx@qbRLN*P}-7,+T7F\I*siNku,w&:P0ZE"'pe4FCaTg˞koG?d >d~zŗ>A3/p{o80ΩF5ݸy O#aZUtV{wi?O Z8J-nFogMϞ)_G/!:o *=\1rDO RI&qTսrk|,= V'v"tPd6 IAcZj4#99eړ$,i,CZ,A{0@ Z!u=uUSHG5R׆lo  *ABChajfC g:gTfo ]7A>T-A$b)-8-ʠo"a>:ь(4ȣQDΖ䱀)c3rujOfx{') IDAT{ [W{Aу}ۼqhk iOEzn${[_ePbWJN&A{E zS5LJRK#/mRDA*mIlAWfEw9=tju]ldfcCRrjGɨDЏttb\4jn uBZ#p4 gOZNv¸V2pFP0*Q5Aͨaf\9F*55)`}OG=:4zᣢG>,u1z)CRP( 4z'f1|$#em&ykU08:F\"z٦# V>YD.]K@?)ʕdZeWc@""#m6f7ݤ )J3M 1 -,$HAfm FCH dlզ˛Jߵ-}&6@i{|v*m09mޠU Qwbid&j,sK1'p[T3:QJWa(+s n=OZ@Uxy$}NPnfX7c0&|Cdd{:i%S/4#iTN! Jd.Oyw U$#1~w*H2Zd#RAHS1SXdfJq`X?r-h{zdd"9r:RSz뵨.*qbH;T;-ܲWy#8vt(x?dl ) l㬐Ba{$Q?]ז8$s- :³V_Fi?CȖyN:'E j\%@R3*79n9RCzc"1֖37Y^5JUAg U f,E5lrdsdؙ ̴Y\7=LʔO,e暐 ѥD;+'p/ nSNgK|e! "`Bx%e@P,yʒKl P.['?kiPkL+q8ԥ37y* )fɌEٺIFf2LDqu!ɳB&IZX*I{2yɉdG9sNf~$f6/:!9[h&3=L~0J_rxfn/Y'H#+ ,$(vpL%whAP,rowlF1H=q չ"g.h; x^oPn|z #9Td!wTlit3>( lv\'f1I1iS(d2l6m1~yEkK ~;<Zy99KӠN;_9ʙ)ENxtu֏<1iNƟM|ϳMWn6Qr Fpp/i~:.u޲I%2j͑Mf+X{&vb(SqN&00rԌo2iZRm&Ďѱn3@U>P7 1$L~a7(ٮUM\a).;^eUIwPGuOh-_5N[cEAHBѸG$רZ(upDedRdܻ#4=K,TW w~UytV..إP7p+W 'WF}7ziňޅ>do l2%k7=vp,K"&8IE83#g2'ᰓ/औX)2ݧJ9 Gez !Lİ TI>{wF'1V13__pDGI_܁p*'`t xBdz:K9+:Ymi!ԩx}\$gz3]v+p#Ar˝ݦ1D ϓ$t%gԦLP_zAU箰Z"Zc ( juQ%2FQ"|\<7O=]4.O6:QCL}pyH'يiyT(Eɾu2_K q5K4bٿD4E#\ڸI8yX~os+D?3gF ts/^~=͗&_PUPڣR*Mn3& b#+ACGiRO6rs<˝ !~X%[GuR;^q?("$¼Np&Ur9GR~2WvY^CM%.ՔR\о@y G 2%zf9]/3Jz lQ!_fy\KjF KHi&_5զ)5 : sHNٳb6rXmɤ(a'c iqOv-(p0KɶO14$,`@hctfWI8̪Y%՚".)!8"f M)9ARof-qٻb&nQ3]q{ƒ9iBls'ri'd-,!4c<yքy)[qW2 `3ݵrYB9v/r&;J ,)%5ѣPg瘴oY2l["&u;+(b6XtL&ާ^[Vq="k +(o4O詔+מ؍FlYr+#ZJ iU`EǠ3䀣=g -on̨]{P`#Tڢ? nM>,RiJ0<5 O:%QʕRf9^uhDz1KMT&l19FUM/<8RsjlӜQD=}4gh)h#чӚC+rDxn9c*&T]x ={~Yӥ{R١/l9 /cF2x6sE'4_xp|spx*F35IqrJ< R=&{;M\0[Zh(b1%% ܔ9$n|aZ_as鴡P0>0A6iU="q`A]AO9u(hn!tɳDQAt \<?ʵeZ0/~-%\{b5?b Sig{O0/}C&/~ѧ]°݃w(ӱ)0W9f i đr34kz*N̂'Y[h2p-U%!.Typ#cxnut#jד\\YT4)qX4G0b= qHg\qOwh2֐!Ȕ Ғu?rSt1^c}';Thp[iԦS IӪZqł9T+ĩ* :a8p}ѵTdId:1X$J=TX)Tls]8Qƪb16=TFf;AOJe1P#Y89yb*%J&~1p=q-Gnx|H/m`IҔVg8RT_hЩ`4ܡX:Ɯ.mVqF57wysC;|GWÛl?Hv \^ɯHFؼJ,4n $ewڋE 6~0=(Q"9v>qθ8r<)^K9y a}Z唥Vf#$Ϯ4X4ʒR!Syx uH!9>AF6RgYɪ=eT'`%#IAg&(#IG[H!!h'!O\rx鸒ĦzE4UA"{偪l$eH*)eDf'y[ݱDAIy&slgvnaSvJ&Jmcyr|{`G=m\Udq Jy݀3 ,5+7URsev9?B Hpn*4KI1NC~_wx_?iy2 gW8w}ڇ?%.TÏ (<~IMg_$nRDˇTty,z'z}~t~l8JBrk- ZNrZ$^=J\AFEAlt6+!f2,hyxQa\;W fh!!-&L84ݝv(tbtb"xp@Xdq\A4u'ZKl t A)U]#46$/@% M2PA/"M M- OC$1#9N}ʡf'OOd&;* epIBMQؔxLrx7ėϑ3:=Kڱ5f"X;ݙvUirRI6B)3d8!\IIkLa3 ɝYN}\FIOTHYCy_TX[m 1lh0 J@^,7p]~ nik( Y].At.r{!=+}Je *j[GF)MϣV?srqVp#% nm&BhN'2Bfq؄Z)ltd}W打 I.k/>r]PK߾}܍LkD$(ҸE[p /hcp\GI(ے97I VKD䜜|D|jV495'BGxG1qH%Xh%)/Hz~|eq*ړ@T 82dH05g!A凋A|H 5bY_M IDAT{QЬ/ϕ9W+h_.|=|WRaMRC /q{2+:bgA3sD^up{^ -q-+e^z {`w^|`˭[O[(RtWH]K`StbM">X9Ï!>Ni,QjN{晨IpCo9VPu(Z= Bfa:!YId_Wx#Jnv- C0k6=OT׍T;#aHNdKG͒Eh HT,87MʮH|~2kuQgQ{Dϟ$OfY1qZ,&sk%J(>&yE),/;YfpFBŔ%-YZ_B40|u>=RR/SP`9c{ ϵeM Mf.V)ǂRKP*ukic1ZqH (q+z,/zinv=t SWD\=ߠ4QBiH&1#vnKR3 1fsGx j~k4 _ C-ոtEI&)p j AKhCXJ%'Kw8l ,*.Q"Pr(USe =aF=feXvT#DfY(j ݾF(Y64?=6}3t/S6_zrF+\)Y^s&q}+`ޛgq!).ۊ+Jlb3Ogx^cp:X`EXjX_+e#$ᔸ~! %H#^Q:j+$dt7l8.sTmLͳ1eN+[k$@sD4\1{,(Fa&_R{N_[IiQpp-<|霈Sjk C'lr_.KYEe2vX9 r]Xzu[c>|.ҪI`)/D);dc6łK>peLUaC=INKeblY>w>zm7hxE~84R,qٯgyCi=(bo{@u}5?%b78MV%ZEH]1͚ X>Wp(lm/ΓD!Ҁ-R|BȷG,s t6~HV luٺۣ(sB>ޫ\lrꊽMRlQ6au,)x19_AHV}{N!s&2I# CYE!aL$4)Cb; hbbCfֵ$I\v >"!CW(p 싈blÀ0B@m1ՊG?i+6EpO8=%IZ5p0@i9: rV/v\1sOA8~J[k-$#o $[HIb-WP#|xay S[ICLǺ4"})2 B&qUI bM4EUp988ꍰZP/k*UAH5;8Rc, <#ܔA7Ťj+" ~H8'b@bFTr@9)~űš_BA3PqpL !E3wUC0!X/'&Ďg V̨Cg3Fbp8#iHn4b45gø /3Rbfa%tHGɌ!f\7.ۙ^5%gcauN;:97,VxnJ$>'8.N<-t9MV5Rq" ¡Tqi=~ԗh}Zs<8{|ĕUK1H% jIjQIUvi-;/?/OGOx* eS ,=Ӎܾyp`aB7h6b7Ao tH" )Q_&ì],PZAjasxr%TSQ?:^=sdiWV‚Q.608!(X} +"U&]smgqR @ aNyF/vJyKO "<\*-Ey:3JPUw8e*$gVruqw{?61Ns>BZ.trjEAvn~+W9 w)|y> XCZiRDs<K uο-6":[wxmyO%ǝ Jc2JG$N#m lnT]a}}!W׹wWy?/:/pş24 т`;$2`Vc6W.._p8n>7?#YZ|Y͇ͯi籢ANDc$ %![տLjR*)׏iHIWtah0LbT( a$8"ϲIp5&ALH*Hrt"aR)9v3|.#i<Ę JbmOmD=&<쎥5& k8`g7Ԛ>'@8@SY@95c[=9, 8SȲI;A" fF(EVaGnCV, z=^V3d͔ 3^Z9avɀO.1N/Q6UVt)669!CXIA`uȠd8΋Wk~fbFj'i[=!ɶҟRy!fo<8Gx˜zx;|[,9J8IHƚa$b,pDG; 8\7n?貾>cA? 1nzHZ!=ވͽ{]>n [7#ZϽʯubo|s6E9IF} /耻~̷}&~-`W(ի~|qp!zg]W{<`}R=ӢZZd4}P.!DQ\ijx*/I&- \{ih07 `2pmq&B~Kx2ȰsA:Ajx ʐDݡ` +ԉz|X%! ^Q9 3ECMзlc$:%pL^SXY`Ȥ:>h $Ao\z'DZZSq@+z ?B  b (>'hc@<SgV81a(TMTktPJbQJNY>YEm;G|zi #?qhcd³/0|0@Ͽcb)Ҙw|ȫg,ww}/":o{1qIBMu=n+O/\bYz#6qFAHX^1X_M>U/rQL۷c/="k| ݦ1׸Wwu^/Sa!>ǝwez!vv7֑BQWݠZ(-7y ET(Av{ BZi>BF_( bFÐ`H8"& Gz@zC`@AO G$­ t7gah{aCC K ,6|k8Qd *N5a-4Ṋڽ8(GRtQ$%Q}:24+YTet݃+ P&J@zeQXgS;̑9LqLh!y'aa0\six-1a̱[J4M@噿N]2 [ Y?o}"Z"&Q*H҈15m&QBf93VA:)lo3ӏ0 Σmr 1|pms$aQFeШ%lǷ>`sc5J,4\.^^e>^) W/,\YjT7 J,l&;Y3/;$ Ŵ[9%[6;͏H%,Kʍ?$*pϽGGtDCVg~, *FC5af'Fx*Ɉ8XCѓHh{ GCxD!hHqίHd%J9.PrfO6xp+u/?NX(%j5>+Vԙ%}zbIc1 TgX\&45hrdnI'd6;)>GS677޸'7Uɏ~oyxNp:}>ͺ~~$1n |蕏oytϼțo?,'==5n8[|Cby5 {{(KZibrA)%yw=xa8dAe 1!8)C 8bS'Gn<18[إ{r\'<"/1,N;|P[ =:ewy3P|,i D-)#\s[,q)>qJ>Dǻtcl%<8NDP6z2kNR7w^DTynͧ^0ق+[e[a=KZfG7o|UH"ҭlZOUU:GGL_d}JlS@w?&g<4>iRs|3_f-kS_ 'o-4 CҲa>)؞*zY2$ϽEg >p|to8]\;x?"y IDAT—Xw0g3zƻx/?5&ifIz_|-3^~9oXN**~ů{ݻ{ lmm#c^)l@x4 QѹpNKɜ՛bƎrQj8 DxD}ϋeK{unwqy\Zl=P^X2壬4iL+E6h\?:bRhA@Qjsy 9RD@8ڞaӗZs"2q̺0B(8^;x""qyf 磸B]Y_ߦ-Rxr/.%ل sx Us"Bd ԕdwg_~0rlY Kg=H!a54, _yt>5vwNY.Vgg2q̋,Wu NB'fx8o4mMKg 18jm8Gg8/sM1x镂aӆ^U?1^bwutcDi5x";<v{ºikMX7|+sޢiz)ͷ2-6/0 xsPJ1+֔( &wSsUkKl;d'"E]@IQ "ǟmd4!14RBMCz_RAܡnv H:?MԵ*.۠V SAaˡ2)mys8w71g Bti"^DQI "iLO(#*G!V4ITpph-19zH5m nw3Wy Ǐi[6PIN[GW\5p脳OxOi@J@8ʊ_'?w%l;K%^]Ζ-m3[W/k~7 zo?Z:YaN!l(>x x?@JHyt9sV>L&X!:?9|Z>*RP/CLBc\,x,f_Zxg:Pd|6{,IMܹsU(UBu{AQJT $Hiie* ,\SCB><َ$YA`:]SŴ4TEÇ+YGQYRT^JK/'<7vc$L+M]sJ@ L/x$ -1*m߸.ք̞zIJcǷ &{eVdI<*HO,'%NJ$#iSIBg8Tak{xEÓ#EI 5>d٭)pmٛUs(}ÎTՌg׿E{޺֚~ X 8i+j]_|-?xD bJ &+e@+M "Hʱ5b |ɢG$MJB:vJ*P$&Q̧[|W)EAW*Q((1P)oXr5f9:vdF\3I0̘Ϸ켛RZi$ؓ_< #x)u "#TQ{m@UQF0 ;1ZHI"5n,zcq;]%}UeǺ$gf2SVR{o]ngm.%I=^ѫ)*ڞ#+T;T"f6}X_~?q-J}K78%uX7Q g-Wv~>9Z\d %0!}jfgkF/rDNOO;ת+͕=Gl9;3Ɋeg`{[X4=/"(}@+{\A_4#ob+M%'u7+ApٯRQc1HvKɇ%zwwRP/\eR>̹C.xtIGHGpG1eţ5(/'ԠD͒JH>My|Q(&)sx ɑjL2CE6XxSLlmm‡mgP4㢥m,iDD y:reyܺIeH|.`m PDPFB"Ąr6y]:hW}8TReÒ#aD|K 6;_`% -WR˱^%!J(FP)@:URLX6ލH 1,i)YkI(.eænʷh﨑,-)il(,zʧSl$Uao#W Dٛl_ök:FEv&LP ~7_hOٞMػrl,< 6[ySc*QnX!elg݂_㳿;`$C{zP }d%^,J&a$ƁS H]"4DhRZ#TA/yF'ryFȔ@g!W[h3“O(rwU)ni0:bAfT*$A&Ht8w!b79l>8Ց)wc.1PS|4-vuLT5x0ZhIi{Vaej4`kW0Q'XB$'N|[՗q i)x˖}U;5nypx71ן!׷v8qyUw^cm lPO|*{SUK\*XX*q`bYA45"Q]m!@QQX_9<{%H|@:bƶkD(JE!(E"L "!hk'lH4YPҜuٜPJB.PsرHٴdhRU b G5R[r0RD:wlsuz"u)z~Cɤ.KjPc踒( La(˂GʼndN)ɍ&AJ/&Lr/v|l,)2q`GAѝh"*£#rcA;z'htwv'?":wx1Q^(ȁB%k)):f`-CKAAlg)Dއ%XٞVx wO)n˟IR9gg۱m_uTX(0)jȣ(UV2d%il5 8xuL* ׷ۑ?,ٟ)eER|a[l- VH80NV*L7T)B~0 .fퟲKJa#uB*35[LO`ߝeIsLQ dP%}W}k||bkv >[\//j-`guKMd@8Z=Dj}LW:%|tJt-sϵ7]M=JE< dp>:EnhڎJ+bJLg3[¿w˽h!>DJok~k@`"\KC| sqB ^GJx0J'瞽O)wͷrVHUy4 1ڭ!dLv`#<q;g$nl1  ad_a_81]?F{-`|3dF{8"S!~*^VLvr\ƌ@"!DB8c O8Y4#舐98zOb04`J^Dz)33BSZXW>O3E@JC)$N{WԫLf6c6}U-R+\f"'h%Nq3|>VNyƢ0A%>Z6ڣS| }ǤҚWtQ À6 ZC(+OQC%mXiUPϵ2b׈ļrL*l<Ѵx Q"t^8MZs}EKX Y׳\,\!t2a>#${dKDt<_Qnc0 ?B]߫8Z,XWqdLz=*9J #Ɗf<-I5){Ǣ{8 %"f .QAF"Q^м8?WiC+s?*-əH Gs;/\#1c"1ddL#g)V:8ph5)*#B:wx #IHÐA)xD7P?I eextvɟg݃Sɂc:|yɜY}O{H.Ҝ|lCZ4!(ٞ#k֫oq8Ƙ!=CVd,ƢѺz27=BQ&tMK˻kے!G vuBAB#f{^ &P$"J5kEQj!q\q>!xkw~gģ=!'Ҽ&ξ5K?I VCS_~^hbIk;n@5qehf Ϡ%S΃4(e@U(SFkQ2O2 e4&*ݸ*=d'kOdc<:%$06y{\=/OIRbVK/mWWgY4jE(s(pfLd` DԒiR{ k- G2jVl_zv-]bEfѱ8[ $Fd2a{k}^\)g#!k"1DtCp]^y<$]ps[?j?G5=T6ѯH>vnH $EAN3O(G,!RkH1ZaADJIBHRc#ذHG 6$F}A7|_&6DP")t`=O8!&uTI)\wY+`$GGZ?>g3!$bȩn23*X- !̘*")@Q$heA,eCL5{@e*B]tXS/sKIԄ* !#XdXU9o97(R A :.TMk;lEe޳6FPV{ /\>nm]\6aG;EC&0%[ƱW&Zi6Liٚ ~F>:f] e"gvy&u@QvZ jոʎ+J)>xZpwStlݻ ٚ0O),`HH73:x##p"3Gn*L)i>Iy'N"CB\L!`6)BcmHr>D>]"{AF]{^\x"rx>RAU N/yjwƪr+0'}d IDATQ)! !*|e\DzXwfմ(zh-'t{=VX;0z c~@>JJ B!Bu|MrF4 if3|4:Rb>r؂B i =+7rmUrb uE52RD)"O+(B; 1cO:aCkvɣR`&h4.ᰃBF o9;[H^lA_=yޅI)68Y!! I•f>'Et}M8v)Bd|(QJS"T2wxa5bTHKI)"vUDZDɎ"Q)#q"B)I!KsR)K.rf4DӶ)`F+S2a: H@uD%[R4}HSгD# ^"LAIfkI"QG %q R{:zMOR/Cw|5>!.;ѹ.sǃ޺(DBq(M.#FM! |C":BB$GtHtC\ M^h!,|$kf=^o,h{{5q$5#:C Rf)ÌRnx؟ع%~L,."D%<.8‡8}n=o?0Hvuϭ[l sԁVԓ(z(3ۿR'%.)H 0hD$O,*00#2\n]K0$Z,_v,N 1wx׮^;\2τgVzl%z Tu"btG(DsVX.vFq$1'L 2% ̚c-Ai=i(3+$JGyEl!)M #c+!i,{.HKZ`D_ƀH#wݖ925>a]"p!Nf"\"*$(r**7]0hIaE 5 f[Th0F}^r4 aDNZѼ2-)5 x=g@;Չp T;*n-ۢO+s/R12mV݊c*rzFg=H?O<* O5R27ѝ_D0,1@*4R8$B(ΕTð,8:ĕ X3 %f-^¥;flEJ'-X*+B`UŽ`fWIt`>+ $ũ4kb*V1pK$vv=Gw<3{wHRbUtd}xϹ":Bߡe$f^3UؐDCJ94\/|n{x鹗LʡC%PtĻ@=z 6$!ȄX1yt̻>'PW"D 0D2g4q +Q2=Ǖ} f E/0,! ! rLBOpoԈrvWÀlNI=R)T36`H> a\+8'Ë0A3C*YFFK &!~xIUW 4iyUߒD* xȢ$@je/A8 "psw~Ӡ SlU׾~*ڏ;aq2К)rB7=l=YnV-֚ɂk5(*C: 7#* v+ +zU"]:{D"R;ԓ+t7:~wR{UdŤ(.Z,=^%['e1 0$A$3@| 8 Qc<Ṍj0) ĄC\>&i7.-V+P$㌅9$a0AEjjVh<k&F;Td 9HFP貓7ILX9ҽ5.S>AG0[ף C>R ?<5cnsMET*<'M5 ^GCA*g*7 ڋHӂFy&O=$Ybd0WM(Oū=I0Vьv29zDӐ; ނq쑙Ji$i>iZ:N/a: <5o}qZ.FČDNdag%"O͍-]mqK!l $l>OtX ݋N`Ht\YJs8унcKXn*kSWШАwĹs2=@Hht 6n8Rߨ[ZQ$hE&u !XNxZ_9Ǐ@:H&\ QVu%)mʍK9%S67'Ր˹ḧfE5lQ@4ʱW:dZe)T5;uVW/ƥ h^'| iQ`%C,!$F+br? 6X:2z?ftDR9BQŠbnyK+YU>,%TaElҞ˙Lhw#:}qhD؜#G%rh0Qy+g{@LXf1VQ lcpy(&*<.ABOrzRh?zP*ƍNB@!=j xCC<# 04@h-cp(i1T`F1J"C"`]B2+MĈ9!юLjԔX; JjWv~]T5a>8 c e8KaJ9_X4s a_Yt\2֠91ՠ}QmxˍpPCV%):MPN)pܼ]R88]C+,-)>\NҞ3./b,FN|rۛ=0T|G 8Ѣ=(vSíۗi;,w9t~Q>7i۴4f{{9 a\iEOQ80"|2 D#spjfol;4\q-p ԇ1MbZC :սph8ycEJgcu- !fwuO?6W~VJ{b k>OIrק5Iu#*¸y?eiJ $KfHX B=@¿)&h4ݝa9Uo4?T5x؉r/⯾:TfGw7oEU&x92L&]$i"& wQ@`D y0T}(a^ru| 83FKZh4= eTJG53pS`[}\9w&_RvWMUI8dYS8-0◐(E*?g5.ޅk/a9X]6: E .$“JmcwV &N4Ng9=ڠx/AjN^tx>W>c:su:QQ86fgJK]ELa21O84a; RX:_V;"ۥ%+Yjpal; nuxqiHGn=+̘Gk[LYwLZpy^ʭM w{YޘnE30O՗(,^jʒ*)}"vã4* ӂ$V67.1IN 7k-fVֻc1:VV{A!݀  Ch6VYy`2H hbXpa5/$QQId{->VyiH/@+)}lceDO8Hqi)"@Ȅ2aAUJǗOj(={PئzJZw`u>qMm£*ke`6+%Ti%~ס*@-FB ^'qbGM/U ]o&q[d|-b bx?`E6{aţk^|clQF 30#dd-B*rF9 j%@*Ik.&dBF~/WuZhe+sy!G2IEIv,qdYNtfHOA'%W?VߠRaɓD-^Ԙa|@{|옊woh703/~uNgschnZy >W'OݐLaV`4f0&s"*BTHC&EقvG+lKҩ@G.OG(=z;"EQ[GޠjC"cڏA&7uvS/":?Q.d׏-ytmIm0 H@-P:CuCE ּwpSl"JᔇTRX/@y!HOP`4%e@4P&*et"GFeFVOir:{ivm/]1sa@q"eҜrjWwM|iɐ?F!=ܸx(!3',&|U8IgU y0"UOॐ,^L^#p<+Rv@&+iaEBt6ZMj (b.h2;?='pyPq @[6.ɘ7&qZ7(rKT)T9vSPMI`p[|#uiz1 -;hاŗ.^eOL2԰خS3爪5ȼ.SO:&͹0HYӳKsl#_ ęr}{[0w,8Tq8'6"4H{P8C#jDg Qa•$o(&FC*:Yvnv1 Pu{ ~C" N2.5> ~?#vkjr>";VJyUE{W@; /nlnVY"O'q6=t2"O/D}PyI;;T_w w`|m tYmOP(ط%*Nü7 L0x#S' m[RPcx]$ɘB~RzhO51v(/W) t.i! nM .`o-4& IDATۻ*=h+e:A(K`r {!8)DvJ/ V $CgAߢhρ#U ΖR ,D~{C=e|}y81Цtːk,~*|>= f2l3{ 2"/S@:I8'3,-\j)ڍ?Tc&[fG5v _z䣭c36aX nˑĊQo0mPb? Fev62p I\J V,1Hȍosec/ݸA2Ҩ̶6'br-JJ(aK]sX#|]. VY3~xr c NN,>~ %oo~{/L?./C6,a^*K +%xG+./ 1$ȣ{U!mB,L)nE .C=M>A/y,UT stHSuߑ=~'5 9]K^d?m?K:|'uxJ@a$xJ\ȌOx'tsHKj, *z["xppjR .J d` IeCz2-@J ˋ fxx􃴢s_bmŵ1e{O1F' -p'aa(A֐IFݝzP;T L sYn03fav%Nbz{kXsV Fne $Х:!0^,[1WWD^فdaT-qjt`FdxB .$Kx7*"A<6Q(Ql(MSr. H% e‚q|yJ)/4<`4!$hci;̔"D3^6/_8۸ ld8 YW@1*]XY?;W @~4CLCJusN  tn}cҁ,9!t)% + Kn#X! AY(N*;]wIm{}n^? J?5=&Iih+])pLbAyኩ7&'y/1D0?{q6GDu(rܤ_ xudrZL .E ӌv7n0Nr}34.`qv8AhT$V _HPܳ /<AN˫\3A3"w4HaJ4KX$/aQ؂:/=%+5& Z vviDXc 33du/C#ҽ=zsqZLSh e%Vd-Vjs=Nwx~~o$7$I^Cxԫ ߼ͣkIIIgzҝXڻqVEGC|}/~q 2&L0V JjT`rSJi#iUJdhNq'8GSה򀞝0{YzC JGe-A6J߀'!@8C8dTXA f,;: ߄| O iרˉIͲ[Cj'6߻SKUww{u匛SL FTjsBD+`":Q:ød/'A2;`TXaӬc4x.a@O"@(ҥpTNr!xy<)) Rcp!=Rd,ED\'_p)8g~gKK:̩xn i 6Uԑem_bp<ʼnD%VWIRӒA#'-J~9Ɉ µ=F1vߢ]kP #t2a)2 AD!akT*-+sa4%)vxsG+OS'y:7V'T+^~骓&a䱵sأ_>Et8#<)\z`N̹8c:AV,HA T('!KN@g8sdbQ$ihA/0ˑ!YU4t[l Q132h8I9<3w6ȓhad5/~ݢ'|_ѐ B/M>0\_ZF`" 'ܹVSczV lǗ_U>9Au۫6BWy/Og~{DU'3t˜\\  PB$Ya&I'dYV.j +ˋba 8 KK+X]Ƶ:[F=Vdl x tZ&Is۟,pJ)i 븽nHtDSxu+`L ?8~]J;x{qMUݝˏ _1yRv(y7Ǜ&;G)V]NG "h&m>*p#Zmt"a+*+G;ϜЌw (pEFcN0Pկc Ivz;D5?C m#g~~|[pZo'92M>(`z=f|Y^z Rxh{d~RVIBY*QPH2?ע7HؼAďrPR }F&'$qDas~p-)\ [<yGᅦӭ&/_FMj"$ 㗞yW+97{81bKoԩ1xk=jqnMe7x| gV8s4;L8#|e!@zdip8^!nK$J#<>"Bks{Ao|Ru`&j/2S>'ľF-uɂrQewSfbBj; 033CH)RY(n7w8Zhw)hPҕ6'ݤJgݻ.*BA 6(!WEp@>N GNc%8W 4GTFclKw :yNBe^~_;s?SV^"In}!MHGX]<AHoo0cCi-qm 9~䃬o[gebw:C)JxPY9Eҩ1h \iiUF|2B(VHҔW^ĩ:W9ء +}"5 z 5?[lÇ$A_*?/Vn840>*ϐ &788['xN?ᾅ%C uy.W3(3a-Ɉg?v?Gܚ -[ݚGX'>{ۛU5~S?3vEm(GɈMo价bƲǟ7_C>y9‘{O3بst'iO u^~:YnY_D\?o*[|_VadFGdGC` %I=y~o"233?Σ>‘#G_X <nݺy9w܏=<(O8莬BIRB[aM<)!×?QIOEg6w7xW'ۘވӾ~'r";v4qm{j M nng0!B!석u8GI+4VɵfGBb'[8a1ORxw V{{\E/]#tg3x ]`|w~w8zh|%Χo^&|gye]\\>s=o'ޓ'!w,c`8am#RV#qDhmEi*A[4[0{I!BcHMn/ j<5;?9-w}/$R%]I*qC%rŻ>xW/cEa9IoucRkh`J7ZW,:2%UPсE6m$f q:)5O lvTNWd)`L-Ԁ?k0svB©qY5>/?WRq9Iz2Édc8Fd YTEz>zf5OFCa!j\p(n GXڪ{k̭j-WqAH>aVvY[Ĥ?V99L+r<,!T?}m&IּGm SO np)|̧~ܻ=czx?p_cwo7ř`c'uG|gY‰c1k?ڥw*v*!y|:y7pQ$y(~I5c/ OO{<o~> !vq=;@qN6S?k1SXu9E^"P,#/2<+<9XT)s\.{QfRcUhwpNAfm9Wzp,GY$/ "j0m˔" &\^uT:Mp\3<}"^g;!:]'K?S>~ù}Il _9?޾SO>Jl~K?*y]?șޘ?ƵK0S[`d׿1뛚_Y/>&Q xQ;Cޤ1?Ws: _Leqv$ǥсw֚ťE~7~[>,--Qwg{!]v}|{W_ CR/ۿX](H@M1HWoJA^*ye]X-p./Ls8$h9*N"ZvYNq&c4$q 7W ,vvTY*Қ  >!A!~A@ERzr̽ieY{߳}=MRIb˲$ a` t ggcaiƆ dVi)Tzw>s۶茸^{s'PI".o}kxwolP tq vq<5T^&'tF +M"L=F CBe>FZ pd[0Y=,98~OX%ܕ .!,*7.Sml^T t"_G{{GX9 m ؤt.'cl]AaQ'l7p."(N|--)fo1nO%%on:Gvfnl#4KY,o\nUyevve xm*3\nh8{{מ$?⯟{#3ДbfkYW y=Nl{rD/QLs`UD yU?DlKvv|>O̱gC2."w6Vag΁)66&Yc|%|t-3a;N~~5O'4<{ ?|/Ocqۛ !X]]T*S(طwKPSG%]mFB;"DJuQJ D* PQЍđ&eJwA&dG=uB\}HÐL52FH%~GF ׇGp)Vu rF)1"i0biT\*45qYAz,JkaڄaA%a% a$d H"sXjvK@yubE V[ -f&5 F5)C$G'A+a9g6yd^}s 3cvϣV ෮!B'(Ex>5컏Dg5:t:N[*"tf[Jh:@61R>\[4_:LeA;3^XXdg4bN/cXt.%ivLMŎ2lV_mNp;  >8tB~̇yϱ=<41McBx9rvp'Zsy~ϟ[y`?-C1;wc%~O>k|'xUZ\gQ kRpc'!箬n}n /c 0 #ҳnvMFoDJ0|2Ѥ`mm qT*JIkI!Fzmh12J t"Ӆ(l459H0"EmVORY˼u\(LCTs:Y֦(HU"$0(R7\D@: >!RhHM R q>)1 ENpjt6h NAGyS`C-{juU(B֜Bꊎ, *9ԓc|/ 묮S$N/Ynuu0 _Ų~f6C4 J$o 9HXAD(uUcN]\ïw|KHK )#RB2>ZaV!ulc$wrh_ 9{?'2Ȑ$aCq y;?A!ķ0յxXކc~MZzRovC= . |'~t耎ߛi90t.y.>AtL] XZL8:[& NgL"ΒVM"( !E0Xi]"GC+dgs`8RO`SlLa#8>6/-Bu.xԊYjq(eCqt'p5NqAdF͐O\ *2Q*~U/d"gPDf3^L5f*+ ;,Hمm-]cZ+oڥch.uǾ)[[Ԧg1E~l(ts0U>t?K[\z3`,Y~XƇ380ҍX*S BqѦS'b Jp6mn %66qda&l>%Nee}[UcDQ,,,Pat;t#ce$viJS6T@' ,MC, ۲=Ѝ$2S.[&^ 米L4bE6_RK\ _t5"XX.BN# kZReb&3;-9N]4-D钙];]pܳu"TjSt wB@X!ETB-B+'[Tڳ##Ѝ&VF2V* K\=s]:k\/b4<*n+3t2ĭK! D]}({| * c1JeM<Le4ʕ1;H~D.!/s)F#wCwbzF8zPj Qwo]о on94CXݤ0 q=MhQ49Uڹyl)Nf>| H4]L]70M0EQ#yMV*]6,-ܾwb<EDEe&KsD KQLnb![WIDF95:(Ra\mB8-ή.*d|>CXC12$QhS,H,Ca!"ͥg)WN0K7!ktkk;D&1]S|y݃ih{qj ~c,ftOڗYm6cLVw1mKOZ2117Nwk{"ō lw7yYt_;:?N`wsؼXF87]6-x߻V@ynĒSAA #ѽCmXT9=io9KڤALec' _fAriz_Y6|&ɷ~-V705L# $N_(!uZ:Q'4h0 /t;q.J}AgsH_K`/;B}彏>zp <=s'Yf1,#l{DHiv h.|$q@GVB>HI{rUN}k8!VV}!_(fc|E~1 ;,a#i "wPa9U&ʳ\tO>EP|+;[׈5Ʃw^Y9Oqڭ#ԃ''Ү7vs𕧟eaD evf,w-WǍE>kLEmh] { U~HtULP~7n,:8yxߋ0*ϝ9ӯ2VcG9q\XdsAtlhJ9NB} i>f5apZm8@R%cnrv=IN8hWFlA{UdܠJ,(g]EQLvOgH=¶a6scy"/,.^`Q(;h/'Xm^euf:xsku5h.\&ո2m}ay\ap\iwh90&?P$/`JߝZg/o\3.arQ:Q vT)$HS;.]h&n||MA7> ӆ]M%ERm"c(KdRxTDD!0-8%lF7Ȝ:Lh@(%W08S;A'"ozq2U "59BQ"K)V|l'Q1o$븝=QK(kt˯bW9yJ(ФF'2<]&ͽ~K9PR:NkW2s&a*c{ *W ޢ'+Cd>8}!vaskSVk^cXHpz@wy|CՀ.Ч %S|MgZ;%b+)N>٧i:alX Im@} "|O|}Yln`w}*Ͽv{r}e%"[>g_0u IDAT4!Mֶ|UܶG" )V Oaj|*NA:u Q+ؓbZ&3s-JR}8R4͛0jR:iH0b C1 #Q\ f4b ,EL.j4}bg2iq.-e1LNN^j}i&WL2V Lw\"cGDSR qZf͊M>-\_RJ0FBx8K..= JǩcK-A ].4T;in,[;[dVW*#~@&-A0{% nM*aX$"}XdLB3DQXR.# + mQ0#FXQ7LMq0Xل&՗s/ )}~&m2 *[AhW8w<ܓDlvZ*8D3̉5IVfY\Z#ckt- :Y8$n L/)%a"4 d,La9H3۶хX|S~&w >Ĩb/GSR2eZLB;7-;1W[4! X)FnZ@Rl?KHmt,q+G~ *)7e}:]er?4N7Jƪ^`B8r׮3oɕl.X4֗zfcbq4e*]%BO FfvYZí31azpAdf mS)dsȕwf4walBbFK2\^ӥvx:U>`3,:%OQҹz}cp⯞zf 8 Ï<~0M̢2C܆FsAbr3ob4:n70]WĔ*Sa鄬{>W.-ŖjD)* #8<d&rĚO<~1 W5uܮFF+0?W_z?Øҡnh<}+ll?7K"Zstbs!qf3Tm}8u/5YXU,E b!bJ<=$|ni]6!%*i'?M\ r=B'3iN$kHEY˶M!>xòjl~-L9n%:m%V!0t<55 f*R^jmxrM^nۜBSh iTÅH v`o44 1d7@$,[ ja`]%F6鑌N@Y)HRӹ76T*HTuVQ,)M`Uf%Wqq+=_ڇnL s(ْxWfЋjq%ML-#"ӊѭ:'؜" ɢ$Ofrvݩ$,)Y^ORQ*H.y/XZCӸG~i%'Գvx DeVd{8wehŃDbBu o_f^JLe "y5y #V]:DN)^䳲|= JJ*sLB7PH<̌zυj.G!;O.ѥG+zL3g"Ο+א* %nXUcyמ_\nre{ab>)9vHm•n@7hB]Dx>PR& JcqngB0,2V c0_ # b~f;fo\JT̚yp( ci<u%@GP[D U* ]˅ujmZF6s۷) :Rɚ#wnc. Є iUz[PrgN11lp Tꄣ^@E:P $翯:T *-Pҽpk0-4zHad" }~yCo,߸CwCPds}&-N|'_?crmT :,+Fw{'O_VtB۽..p}S MXIMcZF]b2LaR7@ @&RHb32Y&fw߇9ܓ|~oJ|O 7ǫJ 4ڭ.Gwy!j7_g ʛ_%llqxn^ PNrmIYiJ}UOؼDeb1ds/PЄō+7R8NK"E,e)QʈPdt 1q;†1My6z.fv=\lPc}M'?}ZM₂*|,Inb ? 1:NLy\JaD\EHICVR+TU 4-p!44KOV= t Cj?NB#6)}f+UV: $c[4;u=\!Q( ,Q~ZtY~n#Gu7n035._\0DQD6uD6f077zInbbW(@Ղ1 f,#n=YhrûSEk`ڧ M]Kn*=GOuKW2IXy7.؏0hԷnjM2uu(6!p:ڭFi |#  ffnrt_?drv7qaZ6NO>gcl{7tdj:lllRЄI'2Q+{jhzR$pu]0q|LCP,T0h8lH{v0!$Cˢ'Ǧ$RӉz~P*C4G R\_({)r=\j%bqē#q#hZXL6ԵdIFGsj44kw0 m9N?iQRVi5\r ]78xR !vL"A/,zW׉B*xgQJ1;;$a0; 4ŭtB&C$rysm`0OglvǢ ~/F0tUimJt )V-Ak4MO,F8q]oipUPqI~>ce0L=[~>tu4X'iܯgW/z_}K>4ݠ)8{DB ˯/mrz_e8g8K\afzv7蘢g r‡?~ |+_go4z._yoX]YgGlln3R)y?㸔+)TŲd^:׮]Iqy~_xŅ+-ŏ!M0y.O>$= f{$щw~rWx:,\Ŀ?,/? sگ2{OQO~?$~Ԣ(bqqW4mf_xׯ%vUb0dԓ@Arܛ\|kz'165NM69r(ǎݙdhiԛ2L94MI.I&#$>(,bl|0 JU wR1Mc;08Ȥ9Nu\<O;R#*dG{7154!Hnh}k{1Jt_86֡[UsazzwWY{ _WyKAE7n~`]ܸzw=!>v}%#N/O)J߬NV} *Kx3<9tXMK`^3H%QꦕO*_78uss4t:oB;#djz_yW_Eyi^c(;8NiO^x''>A>?)M~w={wO_v ƣ}Goŧ?}=K\rhݾkܸqtI -[]W._aqiyNύ%Nq96t#Hb u]<666Y c&sP7ZXbY&'& RW"b #Y>[-,"azaeeFN- wN)NPS3s,vf42b]r#t X[]6@Շ~ֆ̵_n"Ø}oHWp3/rH:Odm6Q"ݴN\{EN蓣o>(=q6@&:>?g<س9߽uzY4Ҍ@!aO2MIT8Ux'v+F$!@hF3ez~9}gwz$R$xZ]}{~<|NdaEZ&LZ>[&, Y_~EOOxp>}trm6wXsXI+\buu3 14-іB*~W~c G͛|gΒQR}S&_Ef}}K4r^Gqm4?C)MҥKK4[*Q,Hs5!!|}sy?'?G (n 4 /# sy'?f^Z8֘R_{m67p .r4RIwBJwN4_ B*gI}0}yǏ@+]Ybի+ /nwJ(brr.Qˬ@/?jZ%)biQT,(E58eZ]]ad 38TNUԗbʨ16Xgr߅RܘdW,,x?kӌ^oG|v]85+(Qrc0bw~$8~_g&k<ċWm#^pt/e^yc?Y@%--<s+0I4-^2[}f+FTN,ϙ_Hcx̧S@xqx,+ Ql/:nV] = bh[c~>A87K)DuK)*"#1:.\;.z) ZF82J)f~lStڒ3> ۝n4MzUO>|Ghw:255I..TD RFC Lfz a YLEl\"+u(J,' IDATiaGabZq‰=<-bXkN"csKr~VPVM($IlHZ!Eo?e4qDz!h4;I,K5rν|1[L&LLcAG8`3L|(xGrltLdVdYƵ/}s2;R2DkK1pyz\2=;ñSp #@i RpaͪR9?Bgo=G}Z,/a&&&8v,Nnj 8pqIDYh0u'6B sO r)R":Q D ut_)i^X>nC31ά#xT8U&g2ȝBR m`tFJ]fG{bKC=q̾C0h9~Uuhe!8R+Nx}'!Q%:>4'>N5I,޿CjsgH풓9J:/K8;MMuVunbյUƩ--u[17]n#"Ǟ#Ԍ|WRȲ< I2X}p쓘Z_޵}QmuxʎQU ERp)NZll3??ϑ#+K"(]=q;&&z\z"W^ennSO3;;G@!}H`kkv*[ȏ33́=Zi-dY^ALXI/(HmmPfXJyN=Gq="PTEh^u% 9$4wxuU- HkOg?>P5 D?VqV8 <#NOᱷg;>rv"L[NqS~)tTg$ڥ>ez@鉷DxG*EojsO< vG|^oc BB+lm0g՛h Fͫ9x[8vTܔ*EO~m"e?L++ðLQĩso# ?Lwo\F>7MLknq2p !KKt]zwe9/ #$iġk41&wNzH~ۇOjƬ.-|w-woH8GXCg4[mYN#n1{Α$ W;ps?Ĥ=bJ:1=Gw,MQ,I9Ab<M20Fo-;]S!v::|;?fbbD F!B%i83^+"XYGY\ؙC*JcZy\lo0ZS td7'ͅKW_ZǑgLnhu_9w 2&>x5YE~#^̇};]͛7Y]]eyy#"zI>o!?8)MFo!%#&ȂGVa-NST(hZ_E(S\D[Q\ * 9pA.8EfEyЈߺ=Bآ@] W lϰpGO rc-t-ޯsrWֿm?B.DV\4%71SvȟJT - Ő \V tQRaTlomo./Doz.h\/"*1W/]+x뾉S ] "i7S8H|m$qQЬ#:"h\(Nt'qU6֖G~8B_<8I4܍h8:&Y:W^"9p<"i9[d<ƕBm<&˂,Q:VILhDhQ ␓,Kj֡h D+P~-*"+GHҞ"БDG8đBGU&ޥ%~.b K^%,B6mnHx$n]^Ԭ1=KQz=/p/eiujVh]{ZHl$?Ggx&Rk~8@Uv`껵",Gqe-~,UU}މ c}fT+ lCg޺OH"N9|2o#gH$N*6!vH(X _ȉ|{O>hCT;IE#nűyd)Z:VHd8bY䋦Z(N/[җkLNMDk ), *&r9.DƲx6FCb߾+w¾Iڸi Q*X[Z`fkmt4p֠t:L;pLT>|bk}Npi&gy;4m?<XÇ҆ 8]yO{%^Ydt?L4vn$~il%D2XT9r P`E>W5+/HOsEH*ܚ*Wi ٰXkʬbp󴫹F}1Vc\d1zȀR4HWMI> DF \†Sхb9Rd<;Ccf;-n\}FK$íMrF|@x\ QpgU&"f K:v/ P5t>Ků:En^ikJVZ5-#B?-b4MMwv^q.V9$:,:h#gΓ$M.rNp]9t@ዛxJJC<VH'*KyΕW.0}&OQ:̟!*%D' L MJvMe-B'lq6:$a<L̢#e(ͰF=mO~o~Gy]NOM!gK$%6Zjrq%<v:&!iwy&g% ӳ</|\{yVYtc&Qﵢl`4N7WZ_F:be;;;~JF ؿ k|kl91fggtWif@{ R%aνnI R-XYdޙV[Q !u;{Ol)d^̵{]{::V`Cn,Qg vˇ )^PQN;ZTAV<σ(>ڍ RpTv!.qYË8$Rf( J5?-I6k++Omkeyiwd(! מlRkP$7IND)^~Kyɭ ƣ!na&/|=H"׿[y/?$GN"NH[&&7cAH >{g~kw83a+ ;tLNrS|>Ջ#]!,%N<'#Ou E k'cVҙ!&gqe'XaH 1Z \{эYѠwOpX:Rv"w_S&I VB:H9~wo\eߑ>6$&.?FJ)%"w89G~9^sl]RE1QܤݛdV78nN^CH<a`'`ld1pXh$wUp3.e\JeEMRvUbL[4.@Y. ݧP)N/N6Ԡ4Ƙ'q>'r[FYf/ϭZ)>ӿf oLR59&f tf-~h1o0,[le4r N>G6>ԣs˼[>LPp]iJ/ + 9*~dS;q\`8Ce(kKܻ}}sp <,ٕY8s)N9Nj~ۯʁG5HgMD8%0FqU8gG4M"))H#L>d4ءӝ R9fH#ir٢j"Ln\{|G4YY_Y:677hLNq5-ڭ靖~5ka-)WoXavDNA4-<.G!yP) rcJKZUp«g: WB ]w;Lj.Q(!<096X{jui_xEP,HMQxv-rޏ,cN g$[`$L@֢˲emKW~8z9v$Ȼ8?)DZ!!R8bsm#IFcz)ffzy6h1y_2ƒ[GlI)^E̚ nYrv41UY 'XSG.?u쭃rUR@]{My7{r!PB cL6Ĺʲ4🊀uo+$8sr'O?  [>WۀdY0<s_5D*Bqrɷ{`瓿1ܸLIܺ~엱ovg4aHay7𻘚 $^Bx:(MW^ԣOt)"RLX^`g{Wv%b{c4R8:?RO>1XjhThR)RXc^)%`cm%F"nH-A$-&'z;p$Ydkט}`h"2"h7#zMA3$ڐȜX(R5ȺQ8s]M M<rQQXh?i(EH R!d5(sRԔ"{NԎ1vCA{a}8OMV3Cal_2f7I=l\Rn:_`gۿ{e-'Q;70ﰹrl #@X2ˋ ;,Y8ٽ5 ю^n5>'>__? }?O=S.Ud!˪amtΤ N=XՏ3[kQ1Z`c^wo]Бao3s1 8a ݂.a}uv2Q#gjs汧Yb1lmXpr4Ϲ^2F}PZ M#k,/ܡhx~y:A%$qBӡ\F" &: M7;t6q+-! iSM./]S(0#1EXertrE8TaP8()k>?;)5JH_WYA|MVB-K!6W}pE8zӯ;˳$woR+^䋟[G wW FHC ei~|FZMfވʇ zw~Ӈhhv:ۑoZ315G~=V=p(`Uv5Y:.]zw6˅pI͈O}wDP (*(Ȓɧ`:&6Taa Z.^/|G3IOLJ='Up.ڌgQi1 BmIoqaS|?@7I +8!w~o1cyr"a_Hἡ4M3_ʏ5֕$QpC'{J*R y:"Iw@B#5(Ƙ-,G%ɞY6!1.'4db- "r*RtS_`,@vM %' وH{'*BqQ>Η ) fTݔE}Gp#ezO(*"(U6/o!>ǕD)KWaqV}ܮ}:?ՏW+?[7?399E,//Н'~oWpN)ɳ-RF5z^p^m"Ep*MBb˛+ \YPq7H*^q?8O[gb\H?Y?G Zir 4inJkFҖ&ZȫCd 2p޸:KH.#!pAtB V*tn"RpY$B p:N얿{BTZPDIBk\ɛVY(`Z#]s8B<ؐ:e<^|`'x݉g?)]yI}?("OSVX]^dyiMΜ{Gw^C_-{ h=L>FK]HpasD.Vѹ Y~R)!\d]KK2!C)`@wNm%~BCߡ )1 $Ry1܊`(:]4¡#,ӆk $ANBD(J]&/" t䐛'}S3$qDn$[8U" 8k‡D˩KW![!0NS0  eWP-eUXBXBZ `]QU5']Qr:BQ+M>s"--vLLNmX×шwXZ"m:O=u|7;qx:"vipDq4t֟ƀ.5?i \} \Ί d4-Y+–O#)-J ?F*Jt*SsHE1#V Ч&gQuA9`xP=R2"5rΛ;8g&:3)DMj1",ŊFҠ4BϺ596ψDhuQHQ>g 7I1,%"Ґ!hT&]/ fc偦8 |N)d[Y7TO3*ͯD&="]f֌~ kXoHxDLcff<ϙwycjfXp(=u!P$7%THDik ^GAEBA[hx0E8 Y㬖c[m\NjL.YuUQņkZ Ь"z]7 Gijʼn9E0!eIQRAD@R \\u$X_t}V,Slg0NcTƬ> U]|t.,j YsZ 39Bh),JJ(Ň$2(!~t_@0",J'hcf`RTxmoH 773V")ܟGcO0ՕE@Hk|Zo3om1:sO<-ѠϽs⋬.-pK<Ӭ6MZ[l^},i[שׂ/ őBqU s(U|'eEƕ:SF<R(p;VG4:>=,ncm&HDASVߒTHb8S6]GQD%a̱2gng,J8O&S׉岳XLؔ>26PY@ky#I Fx<Ƶ+l$ I8.'uL "K360 IՂ元8|b4˸Dk4< QRqQZvp:UFD@$y2MLL$I4Q䭵Lt w6IbM9C,e4x~1^>3XGhiHH=$^Hb(|&&J)&PI "-ANqgIpLu$:R;mLQa!PBj4=[Yݕ*r!&L䊖ܽV!:WTaǯ h(eĮ,]foU*ÅQ35=Mբ2==C|zLLL4r_+8j6 xpn]h8bg{}܆B-qľlh \&3Ơ"9|( őr!cX&r9OJ3154YghaY|'!UKqyiwSgÕ/smz^h\XHVnLZkXGcvnBE DQ֪<`Jl68v$fC EFȡ71I!"2١ahiw^,?$S YYZ?O&1sLLY(B$*GJ?{YIoBއzrgT !Kk{Wp[g:B1vŚUrQUjrjי0A\_CU`jEj I FB'!W}Yd_1N6*vJV55 ^plm3;3WlRn(ڇ 5 Uqn&"1JWt4i4fy y|nё*[ؠuςK ȱB09='u:[t:ݪ˕u$=KgUl4Sӡ'%AG53ǣ2yftu;+oV5'r(b<ꣵ))VWdvnfU51FQ䃶h< ?XWn8&'Y\W>8MJGLOM VaB ύT xD5xyXɵDi"t4NĉVH;4'- ud=N'69
Ą_WE dM58 +\fqc_t-dE|Q 'Qj jWB5$PJ{sZJ">a;/wpvIΕn6C9Z"0k[c@ QT@XPE=Iպp#e >ubJ)(J"Q6]9F0k i1QЦcHzp43݅JL):$M%]q\-G(hl'`D0=7|2,+HKj͙('o1 i2 /P&Mo)Df'OdudMx0o U s@%ƺ20U}kh,Yb*Έ]am|]u pq!O;^Wu V<&›I'CUӈှqq&ȨfW?~.3gpE5jT H&~hy:GHKàR}˗/`9 Gg\#]`ů~_-\=cMm.Q)˄w.0 F)m#")?7 8C[mր\. t(ڔ Q Q2TA {@b$#d )azlצTF') 2T<ߢhdD x0ȺZSMs!܈$1a/jݥTnbP)K1XS |.)NPJ;}E q{pp:8x$SI OJ /'Կ$UNT lT#GLYKlrE*@* QHKP=` [~T Rav2'W(4̾4# b&V@|4 8EEiܿ$t/8 '}3|9fĦDj͝ #&kJ.R{ޙ(dY)pss@ן~ƧO NV:nU]ONSt§ߴk{83`"' DC>KMɂ&RO~o\0SSgHHT.:7w8Ͽ)`}{*(kLjD?kz877wx '\.gk%SD쒺݀~OuKɚO*,2fE!bp=u !Z^"djAĄׁMMȾlXН|q.sx6,2 "Ri 'dqlor2~7&&%~8VJ?HLJ_>ƭyTl1Č.j D:Z't1b .޿lysRQ&fF#ܲ}_뒑Àۻ'UoF}iQz?iJ/FT7>0U01+.&4m>ɔuqmH#}4ibPi-t5b (Bpa?j`z Ҙ %M-f 'ݽ|H_nn~rI&nwB<,&4]MsY;L1À̄?`/X bzvZog0܋4CCЫii tقm<"C 1NYl5R1i9E9/:dA,|O,HMdʏӸATb( h`X=NI*sj4:UBtr$6:N"NQ ɦ .1& t}ٞI]0jFaMY'P>$]bS*э" itޢLMy$immGtmIDQwT"'N'<\S 0F YʶGٚ1&HOS%+H4*;;ETr%A%+窮<)1<-#xj~intXh^G06rJKk) V)kKSJZw!x~ۂEQ'9G Dh R4_ʥ5 YLD.Iwb1r*RȲЫJ*2dOdBPZxx|hj-=Cp`!, RU*H2fNfUHBBegFQzuo AL: D Vn餣IHVGY;E#i$IiJiՇJ+~; \_l78H&izk ٌmS;jk/< *Kh8cdvIeЭC!(4d𢚃U(P-.NΌ'2 +Y M$ ʗMLAZ7yu&pСCM`;?ԤRPyT@#ezeɫCh (#J6\UeRRZJ!`ͲJ#C̣f3k.O-FS=Kkq(fϮ%2`O9,4wAS;'*/dYC c ,UZ(>e!5)07[d)<C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑp.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME IDATHUKKkW#ۊʭ#!:PAA"PJ;upN:@\(\[JmX[j)Z 1BR8v';bQk'tgoo}km{F5Ƙo~J4巜Ͽ899ѧD=!"۞Dd262|h\.W7Y88H&ciqtt$Php ukBmuuؘyTUqmmn/ }&B +9iauz<+TUt^Ӵׇf\.)"<~CXZZnoo/$PD|>Oay<4榪zPRdƧTyM[[[F"V, !8888x~ڦi~1Ƃ RA!O`4M} t:m @yee{,.r_#j2 ;|LDzJRQUUW%; +~٭ dj_Bs"B.Ӄ`ZvΛוRohh|ND ?dh4J ujaa8fP ڝq, mR)[ m׳ɲ-Y]?^ŞkpΝT*ۑֵ^d~nnn溮a]Q+pն R???81ltt4dm>Sd<;;$Fs˲NH=*-YHMZu)[+ qnN3IENDB` / aFFNxNPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xtn **RG(x@PNG  IHDRw=bKGD pHYs  tIME 'wLIDATHǽKh\e߽߼'EhccQBDD Th|l4]I|4RD;E)B uJ0"$L43y;3ozs~?.偶D~S%dns|qfS~4}w}g[-^[)9֩ό? .XF 8U0@ъjUx?"54a(W)E)1LNR.`PB&M0籮b o-[8a:oCH Jy/ޏuܒBѱJt+vvA~K9 @k%2t7q:(I9IYʎa [bPExˇׂKgj<(;ch V&&/'@^?Ƕϐ.\M%2 @c qRɕ|V Y+ɹɹrX֜Z `drPJv=?\+JdNpi<]?5B$}tCIENDB`~%J:ibJ(R"ߏǭ/0KmT’.^Zb B` icJ@`;{!X[AN?尮0Ʋ?8JlN]Q\.lPӲ;K#Zu5q!P| _Jcc#X0VxtM>LER !-ac| o|GɍR[ l @Ӭ UQU6/rj86x\?zΛG6ќNq9.>n;%QA3鄂O$X,JjNᶦ2@˩@}#j*3Ї5!~կ} g=>\P(@1@kx=tMKW(͜_"c4|_ٵ>ݽ=/IqQ| `h =#dӕCf3i(UXz7/W>B**| Xr,D G"dC~ Hߚ162L._ L aRR\p,S}1@X"Q(XqѱNM|/p!2Ka -,aa AQs-ȪYD撻ѱu JǾgּ{7Μ1 ./{J!jjBX"uY|2RI۲_ouzii];WxMc|tpK- ֆ%nm<1:6jNHO411띝;~:_|GOʒKihlի8)-0arCǎ MkEQnޛ /_v۷d{{D2td[Jcc\2TKK)FfD(6 ܱ`ZdQ}}}iL&iyMlxroBKRӛ.\M^ɖr3Xr[ULW8,ZV_ovIENDB` ZZI xPNG  IHDRw=bKGD pHYs  tIME &u+HZxPNG  IHDRw=IDATHklٛ]&@H )R.UDP#zKT %R j4 IF\ZR¥u b\`].;3;gfNٺKIgEJr (@8 8u[V 044ȍl)%ukk#>`C~@? 3[!NH$6l[ꋛ +ik#EAhhh`hh .ŽNfΚ!PWB{ﺛ*gz.ǫ~C --OQ/h455|v:&)n|z3P0(+VSq{4䉓xUv[x<'}Iq/Ⴧ6/9C1T QEI7chj^MU108LSSaqfQ*W?+.8~8x|  [w`:Vi´,H)Q,+Z:te$MxoxWzPŋ)A(k ÿV+KoKa:;;YLss."a-B1J)b:bk0M ۇP~t!wrZ;'R4chm@2@ PJaZ&\7wў={^~^{.RJ$@J@{{&E {7R^pv{_Dw.UV#ASs kxxc.|7GPk[HI-[|H$nbp##BۋP155L ,Da ,8iju]CB,B<ibL R9HXؿVL۶h7rcWR<999}Ӎ7y'$q7㚮隢( TR yAh4\.?*cIENDB`xoB R@~R1MfxaPNG  IHDRw=eIDATHI3ozCBwLBD!BAğ@쐐. A8@hw-߭Λ"ye0R5W??xۣ#qr7#y.L`xPNG  IHDRw=IDATHoEں8v,O؇HE D(8q@\x>Kx sb``p  $'L0RAN ɼr8 <"Aa {+mF6cESB%%y% E%) % |@E.!}n26f*Qtw:)Y޾ ) Q34Jlx^PNG  IHDRw=hIDATHYlTU眻;]fDvFlQ(/_Ԁ&Dc1%. &q&*4H`ki;[9>(BQ_R }ǟxw,IT^| AZ brVg6MMrE׸\" EQFٔ9HQض}{q WW,xȿ>7lX@B)\B )!iuKP =၁WEؾSExMEEGB" C%KfB3t  B*SgX!)%9>vDDKAbl1Nb{`zʫwd3],'y0ǎ,ZZ29y}=uwsٝ/ONw0Й+b۷`(*u1`k]ǥ[lmɓSݨr˫ 8H\fiyWN{=ċ/癜bo_;R A@+8}4.׏rF3A@?4 333͛\>5 !CF#i]{@AE֊BᡙIkQiy9 9@CAp6mh"ҌJ -(%"|@p!4@kkާwE$^VkRKBb@Pp1J2*AkڻEQDhCEmqudcPcpEDƴ7]2C)"޵ӻol00$hPExVJkxՃ]ٵK\sZҥBBHdS?r.Clm5`{݅}|DžT? \H_ߞ)ӏBHZKG93Bl6|h._n>i)IEX 8&.pQR ZkN:67k޹0Vc Ru6VrlX__ZwfkOT*:I7WVV~v\cB2Zc!bL?+ZֳU>8c."1f %~>lNIENDB` BPa9{6z7vz'i\|ѻsmgWWW\xNB.FΙRf{zGױ2/~w||d$$#$UN""_#~[?RJVwϏ38 ͐)Y(IP ;{5j|?<Dfy?I@K''!r#0;v}wĩqлѤҚ!ޱB@ 2YtR檄$j(wޙ̾6R"AV`TeFJHֆNYfFyn`ޝw !R"{0FmJm dJG;V P3(K&$UfPUHN^z_2wڸfFiJJ4]jJډd c$QuPfCoΐ3!Z In3s_;jt8"{=PmHI6UЮnBB,ͺ݄D'D HJH)/6=0Xu!/E3Rq@Uyސ(Cr렃ҠB:֝C~ <sN2aJJ ɂ "[j7:74)s?;(q/|{)'2#"dH)1#9` ,eqAD͆c/r a0fCJ‹/w RhhQJJϴhM򳫵߹~?y=11D%8!IH^2.n_tqr=ztɓ8m㓓v-lK)G)Qj=@*&ح붘dF~c.o5s>,]fƷcIENDB`,B{m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxLMoU1xƎcI0   B5?.@"lB|@]*D7B#qg{Y8r|9:f8B{]漫RzKD*p`G1AzME LgNs]WrC%UWu7hh5f>8"i5! k(6 31ć)pr>p_OTn\}Wz s`X yR [ ˃M-gӓj;('0"#'!&'dQJ}ӃZ0ZZWW.<ͭk}%Y~9zJI%`dZۿ_"sZ,Ӛ.%]JRY\jSkW bOr e_^+ :wY(o\oW0] ^xou{o&:1Ekkڣ۞ O<ƀsDdma9- 2yMG /<S) ȑDc BNLw,\.˭=߶e5]qʴArIJ =V KJIENDB`#X? { {OsxsPNG  IHDRw=:IDATHˏW[]]3qbma A@[0XH,A  ;d!@b (DEJLxf<ϪzârJG::Dz`jϧ'qf D0ss Or,"ks6_|:%74lE f{:μ%l.G Kn% #_MO ڰL@=pUTA^ױ%[ݭ?Λ[f56؝aA+WU}N˽ĥ%T2+NѺ V.M^x~_NB x 3PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;z NJ=խ՗ٻnvm.#WۛBH`b_~+rivJx5Cf@LF&X,x*+"'K Lh.]SGVϿ1ʨ:U[kYL3iF1AJ RtN2Hᢥ4YYZdl3}s _t廤)Eg|5vQ!1q$b=T39i1&Lv& ~>Yj63Z_^\zZmK?ӏWXj/"]h3gȐ !Y3eCl ť ڬp rXk ~Lo_qڛE`ƉEDTZRF6x+%!XI1v_%^BwBB+h4FOޅv'836-_S̭ cÈFqGf6.N(NLS^- A8?Oj@vQ]$ `fbrNJX:6zjҩ+g9b?Ї-k"H&bJZ:QAD J sg16o6<695 џ~m~B{mª&UQa*]Pdӑlx|)})w4lg.]Re4oT%s$rܑ9Q)a6IgfɫIOG (ga7ZV%IџIQ]{sgƥ A-xG @sjUv/쀈IENDB`v$4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 4 oIDATHǍylUΔQ(DE"Q ѪD\\ DWBSWт(P@W_)ケǝ5dfΛ{o#V4^mzBڌe7^Á$ŅԾ4O WꪥK MϠjT+iIGkdOlcn^?@`{#pT)2Ǎ#1(" PAAՃ Κ¥7&"A1#  4$9m*9OċO$D!BOa 2OU 0w$uGqϜϛiZc ՠf Vaٹ%TU[_&P~F)!QD'߲yA:",]9u9[>@;!PT2WL TF~tVUDU%?4mmcLA||M8(NK+"`BEm &-kwƥnRP:uR1{W]MlY2Ш/ `| kA]rM$R (!;ğ᪃R1@AJ<{p?DAC8gi&C"@Bψ_!""L!]Eϒ$wDreÞ yH ]DAPD1xW9-sFЖ4vd&(ye91 @*_oiCU.7p= 흍4(((]6IENDB`>yq ggPrxrPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH 0q}pl܊!}EEpvyv᝺[\AH֪iKE-[zowV3Ȩ wtmRF5k(,坽8ypG[Giss +Q ؃ _ϳK<=,N NK1KRY56YOkjJ)hCf6łxuŎ0fa1z@ a 󫑑lO:5$.J~s(CB1}OӛRwo"l Ry? A$L<T{r =xͤ;=5U \.`vXQЅ~TγS} +AWx쌤mcGڳAuȝ<>h F%O~*V6 twr(Dm 9@,:uwwd4V xN%2杘[G./c-!n/b}*䴱Y)T gt7̧bdkХS)%UiR+dȍrC-kf3\dk"f++i#o[죣N{R AElpvմvў,Q@&&_f|i 0e}rʉ۴ܹ?Omn2#ߜbY[P&ī۰B0īuuu n \)jɕq?*=jBHŠ.lj:ӧ_֝dC|Q#7q&xy'07ߓL'>qJmR0k^k)"kmm5N 02S3ڭ[&, s{oiP[- (˼y N1(S@#}+#8qOF}">Ȭ@&T1gDWcѽ K{my.ԥ`gVn.3(@-zx^6[$+T)qlωA?'^{Vc!"N7zzd ,gC/uhVau\|]&Q3vmy_IRD%Rv\!18BKw GA{v^ﴔ" Ngi_Uzf՞`2`B}u/6\TxK5 l4 >$dKY+4% naI=!FcJH– B!GwM(23G3JT2]tw2(e1l-qW~,isH) {`=DwCP@+[Kxo-_⍤(hKLf:6>.ƅӄ洜ӹ,PQ6@% Nq;~A8zݻ'? SJ39Xεr YU%W0SkĜSW~@Ɋᘨ[H>>>99;B^w7t x³X2 +i4!Jl:Qʀ2; L+o!-,p3j˫̗?fbՌw{X7~Z:|㌲9W`PziдkfčI9zGrm0'zXsC| ]>>uq 5aͤvi׮\D!ϕv֎w  S ]xWy4]QJٲEЃU}F3[1TĄJV2*0B # cIh<{9{~?ߛdm4Rl x͖7sjk*j҈P[B#(JpEV Q[MZ/J"r%jTcJTziϻw?pg̜o̙3o빳RG$ )jD!!&%EXY`[aH1 [PZ p;=b{"IoƟ jgᮞפvx\_.E<ܗ:x켷w Z _|OH{@Z5YVb3X~=̽=H/o챇iЬ<?YG۞N.t=OcL~@?9 c +4eLŶVÈb1]wQ{@Lݤ~\Qm2d}Ny\"QH xV{84/ cմT-?Q K5;-3_rRSRsɬ]~0iXEe:<9y}|?>7v9-X1 el|_gK".rUHUJs: -(GW# ݈VP Dׇӊ $h98^Q-q%`~5fHh,o6ׯLIH!&v( XZ>^ ~}1q6̦i76ḦT-To.Wj xBBXGdᚲTl5nsQIu5%\p^$ ǘC[gN|)][%7"^^ ۲ 2(m"@D;)'gG"֊<`d1u:/NZp:̹BXdy&fS8ۗ`c)/~s5BP4YpAnm@S WƂyl PQF "{P^</}^b _w H5{ qq?d67_@p`=VU[hVb6@6" m`o:L>kaklLz,>|KS]^\@gwvF,Ic*Y=C6E Hk3gdx2~y;/;vQ[I6OExc) wo25Jm'|.Y,>{MkSh̯ڵxBRe2Nh.D7={pd7uz/ˏܝ𖵟}X3}yhi,Z3sZtDѽɐCP@7ס&_QXy;#_8Lp vk:N5} …4D!~r9a%E|Xfa} eH?7_D}8Ы5-r:S[Ծ#]^cXҦ!j~KyLA OUhMM0der:H UoL >3*]֥4$ i 9h OߑUhʦ/!o`581b?30Dܼ$)!66LB'Y!Ue䍥/}9޺ufru A!U0 M[iNb:Er0Yc rQ xҌ3V߱X1x)mHp 톯&Xxd>R\nD65+ؙmz4-)j-sjsY;]ͥ KF̢3)&- )za+ ȄۍF.{& *v,A-ޒ}vUmhrVJ5 s޹0L-Ϳ Q঄z{POe˿X%\(@^=IܧE3Z|i&}V8ڝ^/oiu\8\&F6L,da#&076~'1-ǂM0k\ah)rt7 [z`Z2t*bjB"BoPo/pP_)cSBjj]G 'LI6ǵ4e V׷2:P^(39)T5 T16WCM 6ǝ _D~4gZzT#y6+f/(wΞ6;k`[KquzކsFTn+W4NAI$mP#Of"*XQmp$V+/~ii600cqnmEق-8/.-}P>or}"p59rUk_|E4Mu55{pױyq[!޶孚7== 4^UnC; "QxiJdTJ2Ow.Y\3_`z!U ꚯ;o Rԭ6 =I? ]*i&؂T3~LJ2Pe]-V" ][8H{ώWyؒWD ?i:Vba[ɳYT'--ioJ(0c?ƣje= [۫˩NZ C59 *u Y^sxh735%9JS]7ŪK xvUMM[ -|3I{pe+`aa! #R~D$νMsωYnqUѽzG{{{ 7 FqQn1m k٘שel^6T|=yU<TH  ,O*q1[B;1ZRNeV{ɼ];n"վ&ewr3I5ǣ8$#=J9^ @kp]Ex؂GߨR6.+J'˚3jVVU ͓H3/1uJ.v0|iu b^ 8 M 6em7wQjL5[/lG.fL|[AUŕ`kDnܾ\ξ̐]rd[g'tIb|LjWT`$v1YؼSE{P~e5;bCH1C}լ ֜R= )K:|Kԃz8bfj!{mN5TIYXaً֪)A\@s R9c xYD%qSG̺CA.֮g]e )>;F4!LĚCdKx$KMv $߇oJ_TB:k@^LO<ܵ`'ܓb~HTdO R4#cOժ_bW?Oi^x KV"w찾cT˒X1uʡt Di#i.M[o~}hJ%,ܷb\50<v7m'֛ƘmYt _±SQB9Ԇi ܁J0jz֩^r-VУ;;;Kf@~bo˶MXLlLܹs6 3*[WᜤFOSE: t-T)<}QY_},1eært|&B#jmMTINK]q=MirOwBy݀5 E x$3)UW+ 'o`ĕ]jfWF^0C@ '&XxbsjdW"/Mum(;m4"EbSAd-$0 "OW;IՓvI^NՈ$ *ZZ ;T1S) |L\!"!!J78M6}6d)ϭ:NGGU4mdrݩoɊhzWp[x8*d>ШѪ2Rs%]8HpX]f~š/g =ӕ~̶ΣZޓ?r>3|XwWUK5rno~Q e/S gk,/:<pB)Z$J|<ҭ+n  #+~;UM$7t*fo1{Jo/ ܅+Wk~iUP z4Fj't,"S/8fV*-Z3\:_?iޒzXVRf9yCi[h1l/P}I A`.\&aZ=_'Ԫ4pI6TGeǤW!LG[Joitzk:(C 8,PZAI0X n $CoQ){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 0:=vjIDATHǽolSoP'Ɛ 8FT* JuedѦIӤMX5+&`-Ѝ%$FHĉcv\۹w}弟=Gy1ݻ7/JuF B>z᣽ݤj @1 |avC2u%0$`B|-3$ إz;`^mpAqYqs8(ꁧɺ' TWWN!!~/%%IR. !>J`+QӴFG/\Fg6oLбcǒmmm庮;Ѭ/8O>=AuuTWWbx^en;}`wwΝ;~7o[O?Yk===$]lYN[ccco v6gd2bcUUioP߲=AZQΝ]\A~~u!Z[[Kf-L/o_=V!8{eH5 ~7@Ӵ`Xdma}9wtD.).>x>bݻwTU||+q H-)Sx)Q(0ʌ[<7^}k'' bXly Zil1&s8Ba;Ah!Ϊ*e1%qMZwwhnnn V].5558Nv;-[ ^6@$ڲ̬h6ݺuҮ]"%Z8n߿?$N};)/FH-R (.su/`bbb,8h4B8 Er_ijjzt:QEQtvv  /$SwMFcF___~:. 麞鼼aXD"Qv)Ft(0B8-l:o|!^fe9*UVV~ ˲f͚5\Dm#32GXgF^b65E4~zOeeeǏHwQKJJeff*~Cєe>9X \Z׮"4&TȲc:asLytt0LFf$lL$FGIamE9qRd~TX@}g$) %) H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@FKT8x8PNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME *>d@IDATHǽO[ǿ{6<1!clL UQThED΢nˢXYD.RU.J !H˯}=.TɨJ~7,9?ߗ{qӲ ! !Żw?|Y]]a BD!! @ tlf4 ! L9٪$ !l)d2pAq |fR<3ZXX'tz  BEyt:҂;B[mbx*jmllpbNj;wTU&''Iӑ;ڽ{ꪪd2zBMH$b|܃_ !!,//a!/F)(>z7o$m l6}tt:,\*J<>5mTRqvZn7CV}YD򋋑TJfGmaaT!BZ5!p\ U>[]&o702C#" %geYVw7yG2<(]|YB p2ƠjUU;XlYVʴW<__twQ+KScN;4;;۸~aqq1v@ Nj]^^v躾ѵ]tf~~<~S P?G [p&+Ws`8h&M$#ZmK1~kL}y?$hS !0q ߥ;gf'OST4!f:D"csɤw~ q/~?`[CS,Ư;@'p%UͦAI䤉D󥥥ᥥkΩ4[ 2^ BNMS€`~!x]+BGB2R88y lu7 (kFp+,pnC&.$rl'''@ UŐEUUxv[uLR.z'<LN`^Y`kCmGh4 ˲Fm۾ZT۷oDjn,s~#װaH0Bi []$M6lA 2\.4ҒNիWv;td((ITr:C1hӰ ۸~9,fs`04HdRJyeq]|hݒ\Մ0ML 0&)jD,01Ei(J`Z<>ʅ VlL;  Ce1qc6jrr3-*! xO>F~hbfz,Ro T͎hܲ,^[GGGV~{{;gFǍ2IӴ<9ν=lllǍJRu8Q֭[:<OZj=S3˙g?iHrJ6IENDB`W.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 1 JIDATHǕ_LT9sf`A`Eg+6j41&H6‹^46zEslLĘX7mTdX-?F@fa`f9s^,v}s> 8qmF-,tv!]t)7xurdRʷeRJ'`, BWO[Ku}򈔲&4e+,{!GRʇ`0T@ P HJ8WzB|Bl`#0<חwW&P?\C!E!uMn9^UUn ! k}0ߟPuvv,@1;~ŋ3(XŮ\tvvJ)K)877qpM88ve`LJy' ~RnR@Vxtڵ!s)㕹\C' μfQccWUտ55/--jeOŢ#of;2;߮ohpRD~{7O*O18y$tNONNzMܟZ\(S/X92ۤ'E\]CP:NHxMN&I!D(EmOQBﴍG1 SAsR)ع!߆lM\FTJR 0P^^qZPCpk3E136*S"6POb8={n24&''JKK㚦%@ 04M69\H,8r ̏ P.] m}+s @:.:a&''K+u`` [UUܙپ[,^ȑUx7R}u6=XFɞ #'6 H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qW b0XdxPNG  IHDRw=sRGBbKGD pHYs  W8xxPNG  IHDRw=bKGD pHYs  tIME (tEXtCommentCreated with GIMPWIDATHUk@}  <\`^B|Ch=%:@ԡKnSHڎN6% 1 b0ؕ#~ֵR}%-jhZ&زmZ`LS,M͙vdֻTkJ ^W‡5b<^y5 y vu0Vʈ`5U)"ycqs!oW2UpzvM<۔VO$k~R)8p_ O/Փ՗^GJC .f4nU|S/K5^WWy^WZ|E5yV5I /7"AwLc$:B"N;($ƓYOt 7ʼql>4Jn<,Rm.rPJG#n(3Y8NI;gׄœ//g(|NLZuy}ʆW?}?AGP S"V#W$X%\)d*e+g,j.p/q1{2|4~5678:;=?ABDGJKMNPQRSTVXZ\]^_`abcdeghijmnpr s uvxyz{~#%')*,./ 4 8 ;?CɁˁ́΁ρсՁف݁߁!#%(+-/012345679;qZ6flrx~ &,28>DJPV\bhntz "(.4:@FLRX^djpv|`Z5d.c?AB C DmEqFrGtIwM}OPSUVXYZ\^`abcdefghijklmnopqsuwy{}‚  Ă ł Ƃǂɂ˂͂ςЂт҂ӂԂՂւׂ؂قڂۂ ܂!݂"ނ#߂%)+./457;?CDEFGHIL M N OPRSTUVWXY[_a&btIME+ƺ?XIDATHǵKkG?3 DSј.ÍWP!nR]E6\t!Bަv%[ZWZCnϼ7Dދb̜{>s s&D2ͦ4MSLl, X[?RqBضM6e{{%L\inn~ǿ %onn>**ضa gcc cq9wLQ$p@ @}}=pB~Ogg'ʽTKK˯7/t]IQ)~?`~?^˅|s||,ONN4/$@wwwҶ jjja<. )%RDJ磭t:MXOVdT2 Gmm-B!>rhww7DUUS)x<B"bbWB0<#ssslll@ţ¶mb(+#ե޹\fgg4<-qBBRb* |{{.( "֟^=pqqq!H<{E_5tUd-EQLȽ%ɪNh4j5rX oR> jU<IENDB`b %%WY2x;PNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<VIDAT8˥kRQ`A nozѨK?!eMmm9%Mٲñ&5d^lxusnSA/ ** խ(6ZDsŵ>9Gׁ 5lcf l"|n^'iṞ![>DQDί'r::;Hjle pg,.\ ZqBx5K$b+M,*$GmiQWI2V&ahQQU8Qt)!?D~s Ht+TZ4 Y h,Y9t)>;#(D{k |sG,â\6o7`֧GKD6,8|w#ûUK3A.߮X  4w6p^8{x}u6xYWí\O"bKe1!ޱc[ 'zf>]"-Sl܃<^ = ɲ 0ۍan2^=D6ܴ`cw)䫠iJ|rRIENDB`? hZTx*PNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<gIDAT8˥Kq zäqV(uD).Vۚ:nWS$#aKkz+mmL36v„"=>>}1: /8y>o??#TX|M-Rv,n1O1Eirf&F@lN.`9QXһ pg\{?~+E4  @[ˤ:!9%)ʅx.D F8]ND3deH']\ӍNtqP|PSt jʙЈ2A>"eƍ헮?F>3eh=,RA$!d8 «Y97'@77DQf5Ž֧@x&_mjn-̶/=e,ZbT\y—Gu+{!V%E[&ת+C0o2A Q{`:Nپ:ZpۅHy ;{`dSTyWF CT>;/좓IENDB`[DB /+/x\tx sb``p  $)$ow `@bnafd5G(^~[ae@!׈ԼĒ̒ wO߀F>qOǐ) ?446ij;f ́<;#>x~o[͍dXp|\j*pOKZCv ~~c;YV\+.4?4(=S71Ohz|_ۖno|+IT3X)찿E+f%vNiZ^;579/䶋KG68jG]ϟg?$Y?+xˬOխ9إxsNY3NY++I6EJobƇk;az/ύ5xrCyF{|Ro) xQ[&x sb``p  $) w'ud^9lI. 1 Q%I@bnafd5G(^~Eߔ@!׈ԼĒ̒ wO߀F>qU2.!^b z>LJ]SF= "{r,Qd:cC ) K[EN l"[m& S:LZUu.KLk3.O_qm[⏩3̴ Xҳ00<]\9%4q L9^vx sb``p  $)$ow `@bnafd5G(^~[I]OdkDs~nnj^ sQjbIjByfIo@x#8PcH 8^7wDc^,NQ!VEeSBB/~0]dxbPNG  IHDR szzbKGD pHYs  tIME Z tEXtCommentCreated with GIMPWIDATXcd``0#5q@,1{>Q XIcMg72h8\cu0U:T>آ:Eg"-TuT rR=գOq\hE%_?QOHcrc?Qٍ |!a#~:[[/vݐ`yDOV+OO&%Aε;Eغ b/j3d>gJk1fmŐkz1010rp0XaR`ʍX[‚آ 14\bp/Wb`C^"pd# sry`aF)Z we`]9nQB->NjSHѐg$431;v͙IDE#ZuL>*.Y7 ;&%a _1iM4 hDŽq餸IENDB`*',ks}8*EPvaqo7vmkFA#{\]dεV֊e/<,J`  ݮDD!*SZUw e-)-Z[#n Jgn"I#UY+תZ.M|fYm1jWeKЀeFY Dpdfj]Oq-kfE0 $<` H&33"Wq7q˷U &'n~ M<|3n"ȈX\ ^d$Q&d6M0\"",3 ,z)]d} # =L3%{y˱ /Ai/+7ǿ4'|vpqލPEv ~Cɠ^6;. E_6 8/xCiD6!i+vo?R]޻&ϿvX͇ۡDA-R㻫.QiwwkoS]qf w|v^h':U507̃.ld"B{IENDB`5iYh //v`pcxcPNG  IHDR szzsRGBbKGD pHYs  tIME9&e@tEXtCommentCreated with GIMPWIDATXW1n@u@F%)ME7D\!  4 ,d9cÇϰ%K>kvg@F l׿ x0a1fyˇpe@c>`*R&QWWF@Tub5K^ez렞ۮ"To.OyH #Z;NB" ?MǁzZU wAw4.{[V+2beAI`>% YD$*qBUlX9'<;SNg5}O[U#B"sUh9xw4e"{wn #x]@?gE("OH Z\,8S d=}TQ[ʑHOdO> \,gT]p:~aAReF}h])8 F2a-IENDB`HK_8x8PNG  IHDR  pHYs  tIME  *4tנctEXtCommentCreated with GIMPWIDATHUV@o1s ,sn+T9c-*f$H m%Ctitq-܋kq-T2|9 L7&l@6|>2f<`(usy]\*fFDA d /#t;FU\k㺢VTEdL &=pc˒fЃ'ag X //MaxEPNG  IHDR szzsRGBbKGD pHYs  tIME **3-"tEXtCommentCreated with GIMPWIDATXWJA=jBMRt!DM =G3MDdxeڍR,Hm6:;;53glqH"xor"YZ{ooQO!z&֢|e[кc+f-kvNSǜ ` b7O7εL/Yqm ;K*:4mED Ţvڻš4 baXJڻ%sA(,oΫݓ ؅n+JJJ0h"9mdW!mw\#?&p2Xp0}*:+P2/Z玏 76Bz ֲTʨQyioBS&9xFVG&R:vg{|([[$8lh IW:Fj+4U># Eڠ5JQ4FR𮧒S9|IhaK4tx%dgz R6߱~IENDB`a0 wwbrxrPNG  IHDR szzsRGBbKGD pHYs  tIME;;tEXtCommentCreated with GIMPWIDATXW=n0}A ԅ3pЩĀQ$.VX:1%+CEP!H␀?2`1h:Pǽxmn΍xddu)]S /$pC$"p ! j#\0컶`Ԝg !Eջ:59 Ry.^~[@%SG@dSjiXG Vkf/*r]F'kD͸^{^uhʟ)F`MH̐R!U%[ Gp&<0vdYX==8IFB׈01?e9-EP^ ͟r| V5"il~;]f\%n<0o]:Q|fa8IENDB`j e.xPNG  IHDR szzsRGBbKGD pHYs  tIME |tEXtCommentCreated with GIMPW]IDATXWn@5,HɅTK9Pġ~>ws;N<D 6 =ZEB2 3[x#YZyfwv- O84PnÅ=g Y I*=D[;ѮJOOlŬQ8>9V)<@ qlhQD8~ wf2 $ɦnW?D @@D@@uHu/t"~pxo\?h~Z;3 {@6!p[Y[1aÊ@1aSglU3eri⪵@fbgǻ>Z@IENDB`@- ??=g~xUPNG  IHDR szzsRGBbKGD pHYs  tIME ultEXtCommentCreated with GIMPWIDATX햿k@?R햂m4쥆AK]ZJ%;-N]l2$ESc! I|-YDg}?޻'Y`VtݭO S=,Cl|V{<;8X^6XP. ڛ e\O&VA0s{L-TMQ!rTP>ў,kTMYU\X>e-3jz@Hڞ$>6l5' ŋrފµaZ,4Ve+.siE .\ b}`;KpcOΏxSN0Q^ۻ<: vq`/ CQ@|g0p z`e{~L ^|T{G?NCP2 ARe!h*wR]y1l^C'Q= !aE`1Uc,t6W-6():Ihri+ ́gYq3\$,#A'<_?s@ RoS5xUvoiF*u`Ċ\0 PԬU"yY=xا?r;ne"R{K@[zΔc,@\ "8;# G WGÁ7BtL¨ ٍ"~gXXaC;T7Jaa,tTZi(v#c.O2O"͚QfaȨIENDB` !iFxPNG  IHDR szzsRGBbKGD pHYs  tIME , tEXtCommentCreated with GIMPWiIDATXWO@}+.EBk)a=՜!zGp7ߦ_A)KZ [Xl]C03${{ @qXF~4! D//PoLH!ޜ}DӞZ F4gn[h% ]'y HoskE"@3F3sL'AӞA-_miϘ2T;c %E4uy22JC(_E Pw $GS mA M&ä}䟁9XUwoةӒwnP@_+g|v4~y Jc"k,Xd Bo9]rʢkgaSP ,Bh$MPR@)0,*qf/S%@ 0-C} ӥ"Y!U~_͑-kx6sܟݨYas:w)(#;:w׈&no'QF gx !#wr@drB$~ɷj?IDn{[] wd2uIENDB`Pw sjj`x`PNG  IHDR szzsRGBbKGD pHYs  tIMEDbtEXtCommentCreated with GIMPWIDATXW;n@}Xb# J3pBRXP \ m 4R6AS$K 쮝ɲdy=3d/jN_#7:w7m.lZK1g\>ex:箌 E`;|{y'r>\JMsHlt r_UThNMC5@D{qko:D"WɾR2,(o4 ^H;PDcWّϞ~a@ngEw4@lb;%p:͢ŧ NC;{_fcBg!҃( kb)M(:)0Q;섍totf֠IENDB` Jk7x7PNG  IHDR szzsRGBbKGD pHYs  tIME %7)ЎtEXtCommentCreated with GIMPWIDATXWOoAeG 5D#)HMx{ Ջ݋LLi\lM lb#Hʎ .R%μv ǢrF2 rv+^,:;:-@CIЫkWT贰szPRh()]\Dfz St>b5 wni߆al_IZ0}Kf{#Tb7;m+&3 c w7/ vX9Ν _c0EDf'BWȕ ׾+劖W"""f:J"J"u0ȢS*}%i#3ܰj!9p4ZC@Ղ0XT>Cm`3dn̟ds o)DsأqSS1]]ȃ?dҸID kZWEa8Vۖft[Jf3>D9be0$ Yd+o7ebe\Z2gdl0dYmQIENDB`Zlh DD8ltxZPNG  IHDR szzsRGBbKGD pHYs  tIMEɄtEXtCommentCreated with GIMPWIDATXWJA=nܕD+tR(DV $"J F-Lt׸ kfg.{Ξ{av ` $p'KIwCU ` }'zq? -4Ŵe7zܛC [ea/1r7'H 6`x:=}TL.0&^sc% mք.z*h%Ԇ 4ڊJQ֝25l) $^v">vHBQ]Zo%QQ/"X0DV\Jʳ2U,5m,0I@T1cqiyDW`|{;\xP5x_5\,&¶ "jz;M1aVv7cC1m[+?,lV܆=r &7dqj!z?ϲ]IENDB`u cmJx/PNG  IHDR szzsRGBbKGD pHYs  tIME tEXtCommentCreated with GIMPW+IDATXWJQΌ*B@AΓ+o+ a+E0A&zZ s9QE?b̜;߆أ }k|qVx6i;BvGRÞ6߄|vYb<-1}Ld,QcN ޛE'rfTgJ 7:FʺaGdxFYIJ:*)n?PuY@XH;Dٿzf= #Ld@̣kzcs ;$0&CTxzfJ:Nf:r Q+h+hq^߹kVDu`9lr<|2HkIENDB`qp0. 66FnxLPNG  IHDR szzsRGBbKGD pHYs  tIME^=tEXtCommentCreated with GIMPWIDATXW1K@}צQ(urr'C$D9jAt?]]EDl5sB\bc?4K{ 10*鼝sȿ]!܋9p8&ohWߵ0t.h3nqzdoklty_| '?>S ]tiCM%vMݻ{i᳚<\@rE{ @a~{q]of~QÄ~-smF:#Y[X^JX-5LĠDk @%"ZS+8r ܗ' >1:\`eMb"D5$Х?с$ a1:5̄Q>b& X,DcqŁпJJL%epbAMЮlBwư_&`|mT!NM}DecvA`pY]erxܞZ7]-iAq IENDB`D)J boHx0PNG  IHDR szzsRGBbKGD pHYs  tIME !9C8tEXtCommentCreated with GIMPW*IDATXW=K@~mBPł(duj7gտЪछFTX2iuiu T)!4 %Ku>ׅ _7&qf~ L!f0a< $ -בZ`e|(>3Z`fR|!4Yd2J*" I?YO$H5aS*(Y2lU+ÇX, UvV> 6{!|{1ۊU@} K~fegQi{[jCy|el/=\9c7왱,lg6$/7Z]@[/YZOO jEYֿY="z1} "{exG4%WzWz!@.~koRvp5 AjuCaHUYMJ~>"2aTnwB0x]Y$)|$ve?`Fu~b 1Z&uX2#2ĚP"ՃoσTLr[Q#gRb>t0{.N( Ŷ$rYUbub%/F8 )\yDLϲrUIM.N_V$w[ѧL(F(US5o­4a''4Us@FH8NZ;8kl~jP9 fJT\p3J`LgķL7> :nqXV*ݜufl|`j`yhM %uh(IIdNiFyIENDB`R 3 [q:HxHPNG  IHDR szzsRGBbKGD pHYs  tIME1_tEXtCommentCreated with GIMPWIDATXW;r0\CSq*70Rb \!4r* 祀g$!!O $E&1^Xe.!)9x4"M[ {=`r/b,@2"m`p&#:`-=V~) lBt|\^Qx*hUD 3(Yt|ή9}dLq8Wxz9zwnk30Lf]lp%hK Q{PMf}ӾIضTd1l|\FD5^~@DUqvݑEFMk-snm]չ43sV_Xu7bනj&̾?+CIENDB`Wz z+z-s^x sb``p  $) w'ud^9lI. Ap品" 0kPו ndkDs~nnj^ sQjbIjByfIo@x#8P?Oǐ) ?446*ӯ}s<><qUʞ.!S~7hhhm.}IOT<^u+3Ąw{Z*'8;,ԶMˣmf9zBԊ#ڋ]1;C3@֭Ȳn}#1/&;JHHCYɄĔ"/.P8!ȭ]VI?0{iR‰7)IHIIx}x˜b@_cE*ȎSnhW4ǀ+#yӅÏ)M匐q=]irKGU҂^Ɵٺ/0L<]\9%4t+ $/$ux sb``p  $) w'ud^9lI. Ap品" 0kPוʗz@!׈ԼĒ̒ wO߀F>qU.!NuAm?#.[6z&m_Cu% YIYq q5ةNaF3U7.?3. B͉ڳOj01X>A.7:- Jkg}yGd׎'òc5Yf<޸}{'B&~{mSɭxM~{:닽'kɐ6-L2zJnq3[WL = ^>5QU fE6gwqh1łj2b"罨=ڤƴ·)#tUEUnjכYQ3/n)Ծ" ט 1) /Mtx sb``p  $) w'ud^9lI. Ap品" 0kPו«igʀB%%y% E%) % |@=]C"'$$8o]W/)zgo:)mKXV9IqBǝx'Ip3z=bp ".[6Ԡx(@L)Cٶ| |]b>a'=r#=<<))aO/eSBC҃[v:x sb``p  $) w'ud^9lI. Ap品" 0kPו+ @!׈ԼĒ̒ wO߀F>qU.!߆[596H7`jm-ma}]lK^rp\n?)bV _\W|wc[ s)w"9|cVZp5QҵJD #|gz(B>+Ã@U{j̙Xp0{|vT.L XOW?uN Mw&) AALyx sb``p  $) w'ud^9lI. Ap品" 0kPו+t5@!׈ԼĒ̒ wO߀F>qU2.!S~7hhhme:w.ؙppsκwm_B~ 3kORN@xy!WrGHظcڂo2[a`ĥ1CyߟuZ"U%%%%*npqGԩ 5 Oبodʮ!>Aj͒ןᱟ~à Kmk`'{ˍѲls֒EO|dsx;F򾯱 J_ uf*|BL1S[[ ^"grW``2xsJh@PhkxZx sb``p  $) w'ud^9lI. Ap品" 0kPו+dkDs~nnj^ sQjbIjByfIo@x#8*3Oǐo59$cqS?p4I-Lة#m{NV6##5rj#5?sfÌs1?r[~dwr]u'W31\|3I"=~SKh#v$SGjSm\ 0L)ϿpFZ%_s2\0`&Roϒ~֩gxxA]ƾ~[o1|D8M+rRszj}cVvo)R[rLd&3~[#0SGo Yw v"Ô2 翟(9a|eSBB >+{Zx sb``p  $) w'ud^9lI. Ap品" 0kPו6 7n_-PH59?775(5$5E<$C7 O菧cH䔄 Z`dU77Vf7Y| Wީ\vJo|Dwt1eqnދ1F?6({Ⱦ V7(|JXfC,6 ps:UˉO8*:hqYV"g⼚lO5ny"% v|pQ\R-yYaJC̎IYX$%jK+9G310<]\9%4=T>zx sb``p  $) w'ud^9lI. Ap品" 0kPו6 7 W9@!׈ԼĒ̒ wO߀F>qU.!S~7hhhme3sV>м~<><yɲOwxQqIq{M bL1{8I,*= 3J 6%6P0ź9z!0v<]\9%49ґ 99Z8x sb``p  $) w'ud^9lI. Ap品" 0kPו6 7ϒ@!׈ԼĒ̒ wO߀F>qU.!߆5H^2ݵQœf7gXZ,`Lz3ܼg [tKD{Rw`]ǯsg1#۷n raOWV|tԩRc [iSsBʾ:SK]QLrli_Ya\xϦ/w=]v͖"Z SUR/Aitwk?> WOW?uN M'e~Nx sb``p  $) w'ud^9lI. Ap品" 0kPו6 7U@!׈ԼĒ̒ wO߀F>qU&.!߆Y2M4}-K[j;8N`08ܺ-"jGCV.~oNhl-j;WoLQZξz?۬Bk ~lֹ3T-ǽLk]zQ,9|oڜ57d;ܯ pK|Ks驵 =z 4YbףKT8tD,bu`PZ0e˼Q.:Uk/V /!yÔ x sb``p  $) w'ud^9lI. Ap品" 0kPו6 7Ci߁B%%y% E%) % |@<]C"'$$8o]t_*ؙpp3F*Ss/-匴@U[lWl\qB /xI9O|įWD:BF,_6:?8(Si#bNiq_nmH(6ꧬxmFܷNMY43RV}(IQm=l{_`(9-)!!1#BBKswxd-<,wAo}N|b\ɝpq{~n%BE0̟iٖ,`1xsJhߤfPx sb``p  $) w'ud^9lI. Ap品" 0kPו6 7G.PH59?775(5$5E<$C7 OhcHa}M:/m5 BԆZ\)}dцw }Gob>XU}ߧ 3r[OUK`Ÿ#a}\,Z7"S=:I|ph[c ug!}Gғγ=&V;JZAKy`3xsJhCK x sb``p  $)$ow `@bnafd5G(^~[Oв/B%%y% E%) % | 1.!Sg`3a@yno{]F򬍧vX&k/FyҊIڇo3oN0yypXQcN5fǥm/bz` fG+L ;O8zcwsfee\5}ur$2mV`.ݔ@lc5mU\ir!*㕌%%~Ü+%v#eSBJ޿ 2xPNG  IHDR szzbKGD pHYs  tIME  ;tEXtCommentCreated with GIMPWlIDATXVn0N]Wȃ$s^R'OLx֖SlHi#wH`RU}#Dmo8Et8ݵJSc"S#Wkoo<[ܽe]_or$O;.8Ar2"wU>O }'D绮!|p.eDg/<1A?6`?k Ɗs\hGXM#քMM 5%, D%;:/>U1kro)n[c6fKV\h ,2 *ųӕ7>GAo>w2/JЋIENDB`( 2xPNG  IHDR szzbKGD pHYs  tIME  $;tEXtCommentCreated with GIMPWlIDATXV9R@ZH\~3(刈H !<(Q䜄0"bDU{uwf@ yi]s fc ˼"Md?%'fV֭qLN5֋Qn&\;Oe081 |:px'E N2\%'Ⱥ!k=?v^jLtǿ*) Nu$>7*PdY*DD&|[HK3M$wN`tD\Bڄu/Pٖ7M8ݢRv忻bגlE@{`*+ͫ=T#IȆԀIENDB`v xPNG  IHDR szzbKGD pHYs  tIME  ;<tEXtCommentCreated with GIMPWVIDATXWN0EݺKIg^)SJ@g }.ق $3@d9lSHl$9???m캟@4e~"vIi?<\2P IB(AB":*I(NUO4eԈ> u j |HD~\!EX_F$ӽQXXVv lzGB.!T&#[*Udn4ea5a_{[ULC>6t~Pm7=cNH39^ɪt;Y߰;:OP[ituKdWjחIENDB`׍t kZx'PNG  IHDR szzbKGD pHYs  tIME  ! ˢ%tEXtCommentCreated with GIMPW@IDATXõWN0=vB:!J2e6V>!S;Vtb!1AUE%5CIbN4.r} PW\׈ n)gh]?DOC7 Pgu1rS݉k4Cg}0M.&& i2Ip~ d+"%KRN5!^!i!fԑI$f DĜlpR%X{q%;+.T _E\U6?Am۶]i@m ieG1$$ mT|9Wb7lHYgwW],^>7ihe_Wg $_y|٩ \_o&T6:odD_ Fn ġYD5H%:tv&$;ӣ89hY9>acȎ ٲe Wtm#MIOZ5}KN y~hj^7cѕ~L*5CRU>Jb6 uC`1FA hãn 07ԤdM/^͖!IENDB`v3 unxPNG  IHDR szzbKGD pHYs  tIME  t"tEXtCommentCreated with GIMPWJIDATXõW=n0q"C >FQ4E\ @' E@Arf!"@6\UA!MQOYodQHtc0|>|܏ S'X+qm>KK{aT_$GZw\妅s_ƺ@e|\FxFKCM#ܐ#qr}u#&6# Gޑ8rbH14\;iUIK|+)ꦔ,' y wzΡ$XN}|I,w7 lֿ?yгf~F;Ad l\~}k-C}[8Z 8 n ꁮ; qt!E8<k/{ mkc65 Y ԅgN|  A5ńc٠8=lJ]Tȷw]` xX )VT6%CfF#ńO-v<^h$ݘ[-!$V4 q:˿͵Y>K+JXPi*gy! t%a;1B.Ͽ5[wzd}+-a-IENDB`^? __6 px sb``p  $) w'ud^9lI. Ap品" 0kPוan؎@!׈ԼĒ̒ wO߀F>qU.!S~7hhhme3sV>м~<></.)qDT 2 mӘ_򟟬Έ0͚x*OI/~;0 *=ZȐH=gD`2xsJh/w LcL *x sb``p  $) w'ud^9lI. Ap品" 0kPו:@!׈ԼĒ̒ wO߀F>qU.!߆;l O&FH3d6 'Ks7Pb[ơS̪!{A A+nF-$Jg3<ذCaGl8xB1XLK/'MakJpkvvFm3-84|I v35U _{ U͹+6!ĖY7.f>E=`\z_XN=:Ʌgߝe|bV-m-84eW>n&/xsՁW> r+#Ga\/ nش7oS]ncȪlTs,MuLoՖiȼ F Vs:'_vZ/5G`l0xsJh̤Ǔ 6x sb``p  $) w'ud^9lI. Ap品" 0kPוb s%K\#JssSJRKRS3K2=}ā{8DNNIHqޠ^R\gU)?b%$`aEÍfrg$JlH tX4a)'xedDVYa_ ~oYc @!YdTtZbb)קɵԩ[̝$HɌ :w5zhn)sZrE3='Nt(3jVR:WP2 /^6[M笴) O\p yy  pxpPNG  IHDR szzsRGBbKGD pHYs  tIME % rtEXtCommentCreated with GIMPWIDATXVk@Ζlv1K<@M@E0-K[vb:xr= !Pׅx*q3Xd(tO?NnɁN:{߻/(un0D bRPBql Hp 3_&"~L%aM#Ifr`<3|!TH"L.UeD:k%R@heļ8~~h!=&-h!Nkxz%0K\7%KU6cdh1RKΗ[Pvy. H׆fڤh*v {( hc4d&yEc:8(>71J+`Ih*MEV࠶aeK;3B I=T*ӿ`!g!|Eߥ/P5fESͺyq}rUZsot)!/Z@|Zf0ܙE=^$ O=B\2c{X}HR| Z–'B} 48"/W&/VqC*RrЩ\2s(=|+z?U64tG5!w?\l\X׼~&pyfQuO~H0)%p^v`1vIENDB`}{ }} lxlPNG  IHDR szzsRGBbKGD pHYs  tIME &2OtEXtCommentCreated with GIMPWIDATXKA?dTbVZ E m4([Q{ ri_`B)\(%Aha(ژLawf'{&z-)DuAv)iD!UWZb.=t)-84ı0pOB T26()s }fd:G[- `LptnɋB! H ֏b7 M᎘  HIx#!5+G;|xH.;!-6g2],'eXUVvq֪QI$S.z00tiU $S ~F_ *Iل2A /Z5U#kU%רAXB0lʱ?U~Ǻ$|nEKgBU%ّ~WOB9pʘD7KS] X$~1Ɨo#7v'2VU|"D~ICZа(w'Νy |v򫃪V) / vRNLz^8؝GO]Owg_c~a`C!s~KCip"A[pv~0zֻ+u JHp a1\kMk7( MIENDB`J G4x4PNG  IHDR szzsRGBbKGD pHYs  tIME *):%LtEXtCommentCreated with GIMPWIDATXW=oA}9cɗ)%KP ("M ߐ&I*lr+db#H'H9ΰ)=-(#yocg G*TSEez2m/"0:} I?K2#!΢ۍe'~m:1*sF!#.7"HKWc`Dխ-6! v0quƖɏ/}=[O R5es9rbIgs9Dfv!7pp"q:yesE׾pCBv=ktYXM0&sS 넭3l^y9><$ߝ49nBC$hD $~nG Cf`cwm% B7a;v]bƫ-L`vuK'ʾr_ÌE;T~0w\: g| մc.ۭSf|v?Ƶl'29F2:'I(4]xX$4ԒPn yלdBsyՖɏH zuZE[o H{D!D }1FS9 cPHTHAr/KB9f2ȢԎWL6D>RIENDB`7b ;z(x(PNG  IHDR szzsRGBbKGD pHYs  tIME , tEXtCommentCreated with GIMPWIDATXV1o@^bjHZQ$&g ډ.l-3] NSVZ&JTBB-Pɪ!81Dw}-޽{wᄐ{dcfhdv*dIbLئ3bM*q{LmNLqq>02fl {33ay0Ȃe $J7+X݁0e%(!xd o8(s  '!0x3\_wh rݡ5s'j=x\xq w)sߙ׭a{u ۫[ք=;{x%Zl:m^mk?ZfTuï*&IENDB`Zfv@ӍmnzX ?zn^~'טzgx{w i }A Cs]˴?U4V4\ޛecYX b]Z9~gfi8aɎ#BDhshԯ =|9b :+HG'mt. W ӸZt]Xŝ[xIKĕO0>pibv]ac0 D2[\KD] *A(R v@wZ>o__۷;ܡi#1Hc"`?4)pwnpitPŐj8o˧r}&T/xy ݓp}!rhg~ߜ;+~L_$gpgA5v6jKcQŔuP=~n<鎬=Ʀ"v$o6N[mKh~ QԨ#GW~{Cg]@)ZPʮ#68ܳ?T_߿zݺkJs/#O8EM[/)F4mW1c4Ņk,ujL?4zթլoAZ"UHv7HO?.TZX]/()}yVs&|F`74[ jQ! ,ٓ{B&ڸrg#Q)D!F; 3 &fF5QyKN_4dDcZ ]m* |xIENDB`o 4l!x!PNG  IHDR szzbKGD pHYs  tIME19tEXtCommentCreated with GIMPWIDATXåKl\?qqEM*B*PlXTRvl@B(UhYTE+6D$ Accܹs.3s/՟{|Y*C-]wĨD *^j+U wlqbl?/bgϰ%~E9&I:IR$)d4˭?q%,!$}3Kc0II#t/?F3]pYe! 89[1}0H7OL:o<00(`fؿ@5tF:ro>go_)R|G_AX6 51 - ,wd34 = Ӻ7jTrXh  xor]7z¹Ħ?{9;S2q3wg~e4Ɂ&\DhpIh> (WB1롣:l/ Enfqkt-.2vD5PJo9\\`P1^"oy5"M?ѭp<6%$Z8ٳ9t(1 bFJ̅m]@H OZŽyթu釾p ꬶkrO)ʮS2-ozt5좤}=cT x.~`z2h\xVBS }*N&'Rgv㻤Q* _?Лz;[7p n7ȩ_H b!y{fsems\*߁UMb1.-ŋ*dO}]P;sp= @:њOi~8e7&6(A@$7pAUT}?la?ʲz()QJ|V^˗2sygJyX,o/@Ḟ-jvGhNT)?/ 4yyF'' A&l?zT)^e.:iҦl^OQy*y-k,|)פu?++Fp&Baquiv ;/_BۿSgn fp6qmZ&:&>>JRcic52Z[Nj~Q} L#t>bX[>0 oɾ<4b41!hczʀ1o>3`Bmnna*'D`<"hFԞ iLK!zTS 6vIENDB`r5 D 1x1PNG  IHDR szzbKGD pHYs  tIME+<tEXtCommentCreated with GIMPWIDATXåKl\WcflҺie"D+`Ŋ%f uW!udžJV  BiS5jIc}scdҞ=/7\^,<|9oGRy]&PB轎R-֊z@K @HYv1糖OKaI]x ϽB~?|!`8X|C>{"қB80I8,ww2 қ&+7M\%Avj;ڪ򃝛(!eq`b,!I-?;18@>o`}c4JϹ՝.Ѐ9B 473SdfE_zb a!lSZGE`WQ4t<x=QyRIU{hR{<é8ؔ!jh?$+I*\UұHiAEbBV* }|r}f9q^6&cT[1t)ّbBr"°Qtv/p`Ws!;O[!% =>fx"GC1۫r%Pt,{Ǯk*8|Q??5qV*yV6^a]:#a5烵6b<|3 (pxFδ7سnMo9<=ˁT:a%ҪN/`z wgC6hym'Bzlᓦv"/f@VTZfhj@ >{NEZU3|U{ ͋W:giän,KQ9[4=G *ˮqϗ ʯPO k^߄3szO_AJ4h1%kT\歄zJ"T!x??4  o?VY$kvj̅Sz~M-n`MkbW3IENDB`i b6bHxJPNG  IHDR szzbKGD pHYs  tIMEĢtEXtCommentCreated with GIMPWIDATXýYlTUs{gtN[RXe !DC"11`4B0D|BLL411LxAc7 h= *i}nLJ N1'̝9#P5}fM羊UvݬDZB-]u<7M J>&ъ7iÆ0ۇ6@w]_-nXC+ -)@cB`E< n#1,W5BIS)KY zSQ+PDųkxTPNG  IHDR szzbKGD pHYs  tIME /tEXtCommentCreated with GIMPWIDATXýYlTU.sgt Zh@Jbx  FM\/>i рFqRіtvZtJ'7;C-*TMptLkn]]Vu3Ұ/<%@x]Z3 \!58B)%Hl!u؜chq< Hc'jW)I!"$4 %OŮҵ< 9U#d43ԙyɚVLE-D "u,vxvgQ:eG )<([;6=8bq&@ʵ [E BrfO%3_K1#>Ί㑒><^.U0@9 aWy^]U|[HɈcD5skDJy.;PpEۆ:z}Z`d9E#x]5^ .*]q@,qX;'kcdH31ڱqLv^&z ͙vDL)׼Cv3i>9H7iKМ+ejN/'r CD@Zy/Wp?dJi\EB]tb&z(iHҹ;f15vUOvE+OݳgL~{|;=JO,Nqg97 ^L4o:-1bУ#c= Y- ͍Y)7%u{ߎڸГ/x "j6-u@5~`GKq ֺFQܜma%zpr w X7bjU&xu _:oP7:Iܕe?@"% UDnfe8$ju#/ZUVS߂9p&";5EUO'u03R}A7lz6<%myѣN\HQl%=#0$$JU=EJ R▲e] 1s4w iadDF`&`xNjkCo 'r䠹) Q5 CzwBfX*N.C"h׳ alZ{M<3}moJqWI6~4B_ݸ$ G#IENDB`)v ::BxPPNG  IHDR szzbKGD pHYs  tIME 74IFtEXtCommentCreated with GIMPWIDATXݗoPٍK(&Mi! dS#BbABLWS:G 5 bCHUKې؉? `[,t=c?("a5d旒[>y%tO+!2CZ6ƱkkH|@ I(!sV9:wYr [ EtZ_HT)#L})PdΉIʱH:v0*`"GCh(fZ̥ܤ!uԋ'0(?@SjBQ! XR'n"<~ͥQWHy<(~<K#HTdق#(<\u/$Mf ~΂\Jާ- ӣs˷،O )1!v{ A߂\eUcLj1W~%gćORI.k>ŝe߻G=>S%ZRD?AӼR 7ؚ|VտisW"WtBCIENDB`(s$} ..N xDPNG  IHDR szzbKGD pHYs  tIME 9ƽtEXtCommentCreated with GIMPW#IDATXKkQLIi.uUܤU .ЍJRqQ\D̢XFKncsd.DžB;.I2933Ho\]Ѩ!*?~m"ƍ$@o,_l,p:_g+Ȯn%B@&w7sOx+0_/@m6+{W0a\mˆŔ$oN@X)6 9bPmlaofCy=Փ~m inWnk `A+b'6܏ }ςFȶ(Ko6e^4:3- )$ P !^mǣ9MNtzكI>=ډYJ8Sߘ)&zgD6!W@Lwne]C As6$'m,}x.p2\H}υ ]Jk{/b˃V5%IENDB` & ff0x|PNG  IHDR szzbKGD pHYs  tIME .QtEXtCommentCreated with GIMPWIDATX=Q3s3~m媅.( 6He@EqN- "fw3ɝ{,Bę̘5njf==s9W0Z< 3ibu+xŧBLU^kj 뙢Y-h7[c+OBۏQmiw0$T\ P %p"w"Nf^p;~Jly[;ƅq? 0@$(G]rW]`ibBxD}mVSķû\ܦ.w~]qrJo+ٝ6l2bUKg`qgVHM|(/q?@P۪H$~?GfH"P-~Nɪ$t1?7f_"[@"aP>^D-\.D| l, H\5SIENDB`#9 `Dx2PNG  IHDR szzbKGD pHYs  tIME  'xq#MtEXtCommentCreated with GIMPW5IDATX헿OSQ?OijBE 3q0qͰ]Lb\M' 6BH0H]ju Z(Bϡ'9}{|{$@@-He{Z|U.H+@aHnЯ mbkj${em>tkC(z\i;<8EIC`[2MnSZDvAOdSTuL4eE)+99$ ņm% TU6hjYk| gU-c\Z M]/QV =A^*1Baw]y\kI-DYP(#2eIAqbl֠M|lCIdH$v3ŃGJ!o֪hje"F&z@m&$qz{ &{Ȥaz͒^RTB?:J5ғLo>' *IENDB`= dd4xzPNG  IHDR szzbKGD pHYs  tIME2/&ltEXtCommentCreated with GIMPWIDATXW=l@:1$QHeD4AA (*uΔS+ Js•(e!?N RI4a5! 'yw~߽{w()λv"L t)фo߽c|#;)ʀ;49Lh*v'(NRy^os Ws?@ S*@Zg..5{M(D*Q10G gI>oW6@L/-pp>a| Uej|Ղ f0y$T6 /O$&I$'1Ȩ(24 }o~"`i@9GG_.L QG95r ty&ƎNιN,@eIZ@#Q:0ݳ.Fas oݜg~Zݛ𖆭lOq7M+OmeBl =M=h#2-"v+vv z0T50T5г8vv:Nl#PT X`%bP򕒮i >k;ߪ2l ѷMc 󣪌W7oV<"DѕHƈ,N.7=j"~.&o]ǭIIZ#$5b,!hMIH%S(&'wO^Xi 4$ŴkU\Q Lh`vgjG׎ iq?x e-S ݣ>[IENDB`[ _BLxLPNG  IHDR szzbKGD pHYs  tIME39ftEXtCommentCreated with GIMPWIDATX͗Oa?mjZ2<ڦFTqp0 . CM aف.R7cpVBI[8)*Rgs~. VYɥx=w#=x>FA@%`O@m[R0֖x1<}uoczcdc-Sno0AAÏ:퍍[ԍkoY + '"GG+8˔*5xX W [)M#GG쯫~ n§ؚLaInU+5?XM}ࠠ0ƛ]N vpansq\zW5>)@ TW1Y __sa !~vK*` o糒آ3R' οͤ%UW[ ҊJN:&CF;VfA$#蹷MZQZUk~s{ fTIENDB`l KK1fxaPNG  IHDR szzsRGBbKGD pHYs  tIME #]yXtEXtCommentCreated with GIMPWIDATXŗ1K#AG@KPA;Q:YXf!~*Wrj abo/&;d}0 ̾ov޾70`ARn-mZ~?"T*y@e%>/Ғ;60$};=՟ soO_άħJ[Gnhcc^j3ᐽbvY KdMU|ߧn U4U*Ic;Nئ"Śf׽G=MvV41_|>^ͽ!A긕d<R=BVF#Ёx)a^rdtm_8)4A #QO& |hөNжڷ_{@Z@% Ih_[}O:YWzJ5k݌ `6Hle^u氠IENDB`% ee2x{PNG  IHDRabKGD pHYs  tIME~IDAT8˥kQ?om5X[(VMX00|g|]Oܭ܄mU HoOyōA&\;6-gR^k_^:&v[*4ca5F"Rsd;M< M+HZZvuH .4YجWFz< d0@*5GSpّܸɍ67_\<3$FIENDB`b2 unbxbPNG  IHDRabKGD pHYs  tIME wJIDAT8ݒ=kSa7iBVC.]\-BvpQ:8t)XB~TŐR"MHғ9}Nqcy_g"۾`@jtKivD+yn6.)g%EK@aӛk+_j_%d3UE<t9cJG-Bv*/@tʧ|,ܨW@毧{ /uFIENDB`hP &  0xPNG  IHDRabKGD pHYs  tIME 9IDAT8˥OQrؚ̙ؐ 񫠁 v&„@V?Drx`w -;X3Nf޼f@jK/jKvV/7h`ulwr+≠~UvF铷Oʹtb'G8!N$puƳNAw{>P>eԃ H.W'1S@zv%RnTpa|Za}|&^W4 0v ^7A©$>n2- (o].2]> ›M &Ru6h`~)$n}10v妯]cAa<˷k[&Ͱ6~6AKue+E^He#'gSxP&^;11_!&ip)YpBڠqЅ"L*D d/N9?`\k /KiAph䇣jZD߂53W v(4E$2lK_m\ %6_z0)P~I$$#Z(A 0$` ^>;iN\:[YAIENDB` D" 1x1PNG  IHDRabKGD pHYs  tIME.jIDAT8˥kaywrS  6bEJ,X ""v 1hj؝!_#d;03|BesowS]4FPePۘܣx>PNG  IHDRabKGD pHYs  tIME/6@IDAT8ˍ=kQ33;!"р2+ X)b'X6J*/)VJ*(ggv\Y' 9p9{{ιxtM|H.L{V @+i\^Y Р:?7o_t VZ8$@*||^} /H^B@|`K2< A&:V!,'mזpۧ=̅2@ukfZ)ז8}7vk쌄}Dkp]պ%΃^]=Jh An ?0O2#T49?IvߟpEGږ_K$ UȴR$ѿ% =f بtQ餐p$83G2C(22;ՋbtsYyx$txPNG  IHDRabKGD pHYs  tIMEBYrIDAT8œ?/ 9իowB֖C:ϵ1@ @p~ܬ}r#vv|=A-8  Ȳq6(@=VLv UdKBĂBFY[HS0hZDd{QH!p͉ <[0I5=hBj~c -)3gon5<9m߇B4EE}ɻ8~i]>hwSg BD?+GM u-HlIENDB`Zǫ=#:IDATH[h\U\93ܓ1m.5ViJS3NR(yCEC/J)HTTВNmjjbMӴc55צs|7 ܋ ٩&+b)@ ذ΍ZǶm4B6رK}3<\X 4ll@!аQu׈D"z]; %RHMJLZ)[\i boKB! 'f] @ Mj8L;Z;L< 鿽$DRP+^ӁSBAR۶5;D"LbPHL3#R A emMi9(?e~j~PTH!vf|^7DSU{zz:rz(*0YI6GB`x`x`ҝ%i)0u'---$ (熻gwAZIAJN`7g/7L}Eݴ5B*16rK~_z:O_G0f.#&䴛L@6Gkkkz[ָ\&?ύI>|iKQla9LS󮲻p8̓餪( U͙[.iNS_nj+qzyX H{p;ovu5xyuœ\i i:Np6N9EU$OPXRNL@,+ ]5Ldz"9ߚarnE◯;{uZB+̣83WȆ_2###)AG ãu rOyp恐P =&?o@om15!nIENDB`w A A )xPNG  IHDRw=bKGD pHYs  tIME {Y(6FxFPNG  IHDRw=bKGD pHYs  tIME 4 [tEXtCommentCreated with GIMPWIDATHǵ1k@iXiB&-&`* ]D t%_& I$!/^P-ERN?=ݽ"rDlN܊5.񵐈X5Zϧ-pJJ)u2R? yp8<~,KfyGJ\$"'I(*Ea$1"r,Kc,"w{1vaV Ð83[aEN%m]s:O.AK+p7Mc\4{s(s'\dYv[UUȲp9 ڻrv ;cHkWuނ2U VE*]_p24 yv:r\G,*T+Qd(˪An- %SEĢbP \K`pO"%QRu@]"D2 B&C9Q|!k-Al5XUꑕn$ATD X21H*#lQ|P*ׂ%NmN"{&|_(C ܭP 0C'YB_ W$Y4^w~֤h"?z1xepx.:1.,3~]ݘ$SohK绫/ nLq dJ.7 80$i'QoҨЙCc>&Zm툫WƹW%>9.qζ5شs|= j,Мϩy~~{dix9&J JRcker{ؒzt=]8OލƼZ =O:܃ $&Q |Vdzw7x21˶89~o>]h,Tk;/Q,6 x$܏32+RKpsA>`;Ǜpp [^it䏵rU;Wb&(]Q,>MS m;Qw/Bȫi9%aƎ}`@j(g L_>666vyÇ3NEg(V{17i= IENDB`},IDATHMlTUfZj @ ejAL43JmR7ƕ7D.ݻBÂ&5*6ą h̀LiK!x3:)+↓Mxla2==m%fs$L05è*'i"ZQT,.Z~(ֹ DDZ^aZW}B  *8ĢaD1qy E#mbV "Xupcz΃<6/"5." X*"UiHo1)UTU>v X1XqP+ FS@8J3l3ߟak;{u j*# ]j@z^1= JC?">͵kn?/\v?GB~\?Y]ZgQЄLV,'.u-111Ars7~P@X#|Iⷜ;wZOGDۢAÇ) aHP`qq@!Jx}׻Y/p(!j8 8|bH" ɐH$H =9DJ9oGp9 ~v{߾}3|RD& uX,ə~+ͦ kǩs<_w3^SՀH$8Z }d2y 0m? ;8wKlLqp,L]Y HRd2(###`!QT[P.9~c.hn;=+M &ϭ:16jѾ8Zq`5jXu(lr;cn<^cIENDB`kк +< x PNG  IHDRw=bKGD pHYs  tIME 9,tEXtCommentCreated with GIMPWqIDATH핽jP#M At(.FEMEܼބd9h3.PQ$BS83Ԥn~ܔ"@kݐRIwJ)W1ZZ@0 ,,6 >ϞU8 w=^@x ذ8QwZF&s`C'\~!nZSΛlM\?H)wZF<)cc/U!oc4OY|N&[y?uؖ*myE:@)N -D) B̗k; Ƭ_L+$l(-0#80 T%BR3qJcV!iyQܔ'ݟz#(IENDB`)]*>Tx sb``p  $RlI. Ap品" 0kH{+m.n~f6sB%%y% E%) % |@E{<]C<(Ԭ*Lzg~`c^L3WԵ!MY|x&Lyv}B# }~!>'q^1{Юfz/8/u9?ŧ3{3U~\~zwߣwW[ OzÑ8c_ XnR OW?uN M:}+rzH]Sˌ#[yMܹwM`Y吖j[gNIf UɼXﮠD+'ZyTCJc*v3t ##4ȕSrd6ފ$XH'zrQckm*I.cyda2cVѳå}sEAI7 FFyhǢhyC^ɣؗ4o'g ^/ o¹a2r]$2`_ F'cCryOIv3]_~c^^}EQV>f;'.K)ƍhȪYcX!'2?Iw6FƴKXB.o!>4 _)#7ωmt"OTPS5CIFYSfރ.01H$",)+[\ gjjdH0ɜr$4  3GR g"H"x|P"9̵&ֵQ@՟]"bI`fIENDB`A | .x PNG  IHDRw=bKGD pHYs  tIME 6b-Hx0PNG  IHDRw=bKGD pHYs  tIME &x,texePNG  IHDRw=bKGD pHYs  tIME  fIDATHmLeX4\IDATHKhU?1MbliҴy(j, .&WD*TAqA ]J@ ]4AXiJ 6}6NŤi vyr{Ofz±XwZ;u,CM9302dyqzpOn&= $]ym_ )愓CsD#-7߯nՑ$I)RaY ACq湁'!g p&r!hzbeXke~݊{^6v3W"A'^'Ā"‰$\ -c0G8 = 뛙IGZڏ Ӫ&,@yE21O;Uڏş':vӦ}4*!fyx~oZ-EPFۑN. rIs6;Mav_!)bbCHYcb'JOӰqӔ&h'}\KE}u8 3靰wafLpT4]ew) oHBK'/ϯ jqw!LE u1XȅsG3*M;ef;8:9^IENDB`9IDATHKlU~|ϡfK21Pd&dƋ<pL ơvI^'yк.V)bۅ _۽x) 4&褊T58|+n!=@4ÁWޢ=Ea?_I@FzI`0p3 "5ݼo6fg2>7dZr䮰3cHf.KNZ@ϰέ-nyh}a7Zk>I Azl^eω:yd f=*ƽ'&-GN@7?PFִ1qcd߅rȱ<# ýCgnBf} ?ïNҙ 8rccw/˿RQqλIENDB`Rg c[4:HxHPNG  IHDRw=bKGD pHYs  tIME  (63p#x#PNG  IHDRw=bKGD pHYs  tIME ;>2+x+PNG  IHDRw=bKGD pHYs  tIME :{1zxPNG  IHDRw=bKGD pHYs  tIME F*0X#x sb``p  $EWRlI. Ap品" 0kH{+m.n~c!@!׈ԼĒ̒ wO߀F>qnOkmP`pUl3f<`喊2|/1dzrBusV ^^mSΦbn[כ,"DjNam2\ W/sә}|r*d=p5Xß'Q_z) *pg>uIDATHO\esp/ô vH@E„FM[X4]ǒDuC$qS&bMbbLh%TJ̘dܹ302DX4qٜy=Rd8ed29i$ϟڢ N\krS3'}{ )KcL+IajDQ1Xjac? NN2՟ 4*`-pUEDZMvQD FK-l7:mX,@a%elD1DT,ThZwŰm("(" C+++uX\\K6燔޴20 NQ'k>r^CN$8Ӷ1rapp<ywWҹRvp<˲PU a>sssA(YXgq~x+S~/W߳l3K(}U677) A@u0$PT}0=aQ[?orE Y/L; ja|ddbHѠd2$k,[&3]]]r9jdD"A >J5J^7xo~koK3ʽҗZ;,vwwަhEQk]gc `Y{>x'0=:2x< F0 [vpÑ?OmjM=IENDB`pWE lIDATHo[U{79~MICJBH_@ ;$ĊJ !EPtHqۉ{ F !UlGxu%8 c)^*.~Z -沂S3\OiT8O/VlZݍw Ճ_t5Ʋ9Lh )Sg;x"@ 2$(xPK*AIdG˸f* 6D :1qn# yPa`AKlV"{۫@/O:i7;T*QoyEXza=5sg! ܿZߓFfO751(!F zT7hl#x%HGQD}]^G7k1AJrA.ëKsLGZ)2\>^'` ǁl•kwhni5ꄩ> >Q_?6vciA~!Oo *{x퀓GWuh(~?KLfpVĭ{4/.s RSy!f$ȉ,8_ebCZ6x,><K^#Wc,=Vw\:SRP=h6Y8P )GRLOγ|n3,<DQ.z8'-gyu:U8st ο?RŖ +4IENDB`<s IDATHKhUI23MIsiܨmFPjB"҅H^.DDi 1kmswLaEv~ysWl(<u{ֶf v qnMh+ k DVSm' `jDQ8j鹱3໾=IE⣬0\|  *8r$<?i0Ia@"` hV6XUD-VGܐ$<nktT Ze[`yjk}rl!T,`)PF%u'OW姏&8;7M&`36c?%&6sQ7OSDf&ٽ*Ƨg\ޕ pÅ;B aۢ~[6+l{-[,MGiԕ''X h] 5)q.B,csQ.|?IS<Уt_fV&z)*^mg& 9aRy]37Ki8Hlpba_ y b8)H*Y@`"j@@E0"Xjaɥc <ͺ`ꭏ727X"!AB܌xǙmL&:j[Ds3jYV$33F0A TYIH:p[>]d%@\$?A{SddS0KI /Nb<cSC,{m0_ǙB]e}_Yȳp``ϑ4/ƞg+i8NU{ oVh5Q 5?:L n{tzv=~<"NDdeMX_,:EQH[+sf`6eWCǎu'@HWP{a 8L~.rnڥsi 746|zDB5-fw!\)@C£8{SS.koÔ860Rz3{Xwe;sY& qT?H83>M /V |T 2CY $bly}McMC?H%p|-B,xxN@Xũz(iIJPr< ?f5ΫY$ q# QB! kj1u[_oG|Ir>b>wPea-*5vƲ13Q15DKDvCy'8tg#n Y UsIĉ8i粕d2.Ic{yǹ9<2?_s/䒿_H :;H$ljWX\j91YxMʶ8y{˳_"d~?@ϗXf`6 vw)NAvOvne3KP)]ap^}mkגɌP,B` RhB.6 ]cY1b1 0PUqg NC{n7φ3HP2pwwwڬUP pX:IENDB`?0 HH,5\xfPNG  IHDRw=bKGD pHYs  tIME  1z&IDATHՖYh\ewܙ;wܙ2IS.%$P}qCPAŇ""jZ}J(.]UkƤdLf ) R!o.ibwlwwwHsp6x b4MTU%j>a&U}( Ci꣢[ik_.DF^RF pC#L\N2`'W-<6 ]|L@G[aۙ`~~Sei*ct)[7XVuZ,,,L&@ AEQB^o3g0x؍4)8j<'"%^zVVI&\XF6?:iȧ'ﮬ,mx=(62Qlnn~ӾbtN~`L@S nfA!_s \CݰIENDB`E D7 x sb``p  $?ORlI. Ap品" 0kPו7?*B%%y% E%) % |@E.!$X{n߻+_qO#tHHH%y]ģ@ ~.g7Hs6j`x`PNG  IHDRw=bKGD pHYs  tIME  -׳tIDATHǵYl\ww}qfg۩Rb;%Jd좐" EPE$,VfqaeEPE@ 00L]gn736v illTYe?>+!tP! ++x`j3Ndr:"3VJXVʊvW̔~V{:ELTؼpwj4d2)>ҰDBκLRȡtwwhkkv DjQ;&x sb``p  $?ORlI. Ap品" 0kPו7o@!׈ԼĒ̒ wO߀F>q"sO o]I6nxxnМ3Lzt Xdƻ<6N|@w00xsJhe>cV:0x sb``p  $?ORlI. Ap品" 0kPו70`dkDs~nnj^ sQjbIjByfIo@x#8Pc ֞,hnW?=!)aFnuovpcACFUK=0xsJh!=OU9.x sb``p  $?ORlI. Ap品" 0kPו70|ˋ@!׈ԼĒ̒ wO߀F>q"O =7Xɯ_9yEAcǎWvӍ Pm1[AKGT) :_8Bx sb``p  $?ORlI. Ap品" 0kPו70KEdkDs~nnj^ sQjbIjByfIo@x#8PcO 7ꃾlLxr?rM+]9Ӂ;/9Ș6pMTv``X2_P ~.$A \04=\]?>x sb``p  $2X}֟0gz KF秕'28'*x&&TL*Jtq 8|aV)SP '66~7Tş5XWӰ_'"˫Hs1:#Zh:&,Oρs>jx sb``p  $2ܝ֝y 0%y0o?,,f`aFYs$%Xeԗۑ tq 8tnV i e 8lR8Rhά3UEJW J-fp!76NH]nOW?uN M.: i>Ki^C@x sb``p  $?ORAN ɼrؒ]'E8 <"Aa {+-66N-V2@!׈ԼĒ̒ wO߀F>q"sO :_%9EYkW3>deڸP0Y}@mK$^IVgAš"_`tsY ?aoBbx sb``p  $?ORAN ɼrؒ]'E8 <"Aa {+-66NuxordkDs~nnj^ sQjbIjByfIo@x#8Pċ;bB&toŸϫM*=s٣Lj%^rKF2xsJhGN]A>x sb``p  $?ORAN ɼrؒ]'E8 <"Aa {+-66N6B%%y% E%) % |@Ef.!$X$%h|hEThl6Y%o? t7t0ijF[-F#.) ?d]@>x sb``p  $2X}֟0gz KF秕'28'*x&&TL*Jtq 8|aV)SP '66~7Tsp~\ ʷ{{4o_S wctsY/O& CD 0x0PNG  IHDR7gAMA7tEXtSoftwareAdobe ImageReadyqe<IDAT(cπ2PKAyBS',aBq} V^1֧O+CAz}h_n-c(H|ߧX|Q ,a2yy4 /@SVjh l=']=K Tz\JZz_IENDB` I1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME !'1RIDAT8c`1Ok ).@7#/S+  !"".b Mr`K;@0g&Y 1GIENDB` Hb 3Ej x PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dtt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME !#8oQIDAT8c`1Ok ).@3#-S;  !""aŊ 06 @ň \^4`g&r 䱄#IENDB`%H 2Fh x PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F d lG\x sb``p  $2X}֟0gz KF秕'28'*x&&TL**tq 8|Q@c(s|#-o85]>?5m\[LAcCExmLK/dq+'v z W/Z) S03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FhIDATxA @ +׾#Dѓ{-!`W@0IZ=J)ar[K77KLa8ZDO@?`FAp~2IENDB`ÖZ] `HD MxM PNG  IHDRa pHYs  ~ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>CVcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxԑ 0CQ)I')t*HJ@rK_3@9*$4ρ)@ђX%-Mn~@gwr, t-Hy K(@W9j8'qeQ꿢IENDB`k: uu{Iz hxh PNG  IHDRa pHYs  ~ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" SgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FZIDATxڌJ@YzRy# lR~aLO}}2k=%+U=]AHȄ}˚ZNb(%hAޟв|{ҹ?)>GE6,o勵]y<_?n%+ͻWn>й ~.Iv3K2 x {PNG  IHDRa pHYs  ~ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, RJ( ?x? PNG  IHDRa pHYs  ~ OiCCPPhotoshop ICC profilexڝ !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڌ1kPv2l{+d0TZkPZ1S KE@hLJc lYjIvLnyO{DUy,jv^O﫼;1?h4*JIpu ?Pn(J!័ʯسCooZP8eάe8^.]V/>&d8R{w %IENDB`#t ^M@KxKPNG  IHDRabKGD pHYs B(xtIME+UIDAT8k`o4IK9CnzEd< yAŋ$":\n&[%$Ox9}yoʅWّ AGWUX!ԝxao*H\,$| 7 iNL>GfѶ-o+i36C3L[kP\V}Fc}tZCמ t9m /7mEDXO6m2 }ځSFQ(H̞QYգpؑJ)>l²kϺzher|Hwꇹd*fVj H鋒gkh>X'Tǘfv})".sڮ_ 0p帔(זUos  @`@ֳ5 1IENDB`= CC9NvxYPNG  IHDRamIDAT8]_L[uǿwo\nl ,CSfaa AML|!’}3HQLD -ҍ!v` ̓<'''r1,I_TwYsٰJ>33I.vv's#a[(ی'ͱZdRj 23$Z|)lig{T*K(lllv{=ʮD[yeo)R)3RF,ڗ |'/v{2o=fj`ڽx޿8(֫g<+=}%AY@/? { 9|AM @G}tuu}>r.~WnJq+ ^wMӴXb* q.E>11AFFFp8i]B 54 nPa/Athr<y"X+ޘۂ(aYe"* c[s%9%kg_?9m˙i዗_^"v̜NMFAJ˜_f6e{n8atsY`[B)%d,>5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F[IDATxTKLug`UZ JTДFS#zAc|%MLFZ4R.iuyÖ\hlWvޝ{2~1n/Nd2qpݛng @paKCDx0 Ӳ^<#088o}X[]~R8ޚ$[Zxׂ*.?^wblVc1ΒH&Yf2O##|GE` ;<Ĩ9(3xim\Xw2w=U?LL< UG_b:9hV&irlS ZI0ض^,8J Uز,d0X%+EBD7(D##I%]*Z܎p]4VWd#-T'9 [VmY9 #oSUU0 )AIndO>iZ*Y͍jkb#_A*P2Y fUtS˃iZ[^T&HHXo'DB@K:*+8@3q.!x2jln>߈#t7)Z  H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<D+ |M>Fm-S b`-X`˻{&Žyŋ=.3̜=P޿3= h Sы;I|yxwX@UH`+ _?y:q.[u   8=g薙WpY>Yj(W@58dKA ($ W7h~>![kܮmjXmܢڝaJ:E' S9#JLs$I1&Ɛ^&iCw@ey?#-z8P'02eL,239JO?(qx7 UIENDB`ѓlyrIDAT85IlTe}o,.LӖE  1/h*L&&ƻ^?.-Ua&'9sbo/2A!B*R׾/aho$. 9$H$)Yx36:JGMn;j5Wt@jjL"T,N B`it-kj.=ffKcZ`ʱo~%],CyҲ}qꕈisCїbbE|q{A)q픅<2C&Gi:'#p6xt`74AOA䃕4jm|ui۟σ{$q+<3ʹa#Tw~dy gQՙqw&|++w^\n^Cu0ٙBtsGi ~.iܣeNB>GBIE^C ˴hhzbTtHBnWfgN16 [7HP(`&!iE-Iw?.}\)]2 h{{KaH'MLNw/dV!>6?rxJ4[]ttrmcS{jko^f@@K~ubO,eOIP6( T@t;,Tz9U*g3ݝBl-+0Hz.Ͷ,+jȄe?oVYB l66TВ$IENDB`<b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڔ 6}qDMH=w_be<<13ຮ/ED{Y;S +p1FRuRż1ϜsI)UAZf`P LZ=  LŐ*dfކ8%`s~ $6Y4]} w׸X}4'IENDB`M} >>2Sh x `PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K& ||TmxmPNG  IHDRa4IDAT8uKle͍tzo2AF&EEBh[Z QD bD QLDqf01a1E2mNgLۙCgyf *6>c5W&#"hh-|<NB)4 ,XF{?yoG|ycK'4KnnA>c;sy$d/n^"L 8$ b4Gb6Y=iXU_Sstndi) "x@ @47=I\6::6C Ξt4]]ݬ4sgK ---DVG9y'*ʃooZ^50e۴y (*0}e"8ŧ`ͧ6m8;g.eI$7HR$g3,s;8l+?~z] $E`6E+|\tÇqVd\G.[-aݬm\=u`MVJdHd&wpc2l'v\FD*f4-U91)7E#i ~ʥ]bJC& 8 xboTf,y0 #i!dP$&㥏v2}\aIENDB`Q ##YU6x9PNG  IHDRabKGD pHYs  tIME  1f%tEXtCommentCreated with GIMPW.IDAT8-O[e9 -孼, t2lqY\v^y&&F?`bf|E324a+m)Жsx#~虥MJ5lA)D!@KB(/ b^@no}bvsZqB`"{<}A@aB?6C/"ٮ[Dg_f$v6R(֩ڤcQ%UlP(nb9 җr `aPGDBϜb<}Orw~;hf#M Q+Am.'_`goVwў<4G~,hFȥj)J(euuG ѐ1"ە7xcc6,Ŷƀ6u*MU} b\+!(> 5[>>|DO0N 93or.Xp?b'r@ogQ\<3$IENDB`> ::BVxPPNG  IHDRabKGD pHYs B(xtIME _lG!uj1 m"j)Uv½BhQhbI]^ 'I4'ݷ@וٝ<爵ZjL:ɂxt充L0>ÍiBEOX+(J++[x (Z VH8?@CSx>JČ ‘Muh||{RS@Qg7UIENDB`W ``Y<xT]L\E޹߽w.K, cRi,6u_\SMDhO!BjcI5 PH- ,ݻ{:KD79s朙9s9S]@>qqg,"kcҙv\޳񍗺:`7b/vwV1>T2Sypx_oo;Q'_HtwwG#.⤩< vi_y1K}P(dFGGdE6ĊlT٣6b3 #688x- ս<_UTT2EQY"\|G H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'Z:xPNG  IHDRabKGD pHYs B(xtIME ̵IDAT8c`66 _YwXimԭѕOIOa"͛Kq&lhh1X5w̜\2 bB  =cxk.HHh7nO_xDn|Ơ!3s6ܓ{= 22Z}5s&fvvF6{wo1]ỹϞ %cc 0aPec`bad];vrƂNdKYX[k,< 7/38rأ7m{e~ɉq2ܹs]/3ܸ/CW,;G0tv *-{ |X,}?щ$)i.C hGN\sIENDB`&{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQ G6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME7O·3IDAT8mMHTQ!@2 ڵi*@j!f}m+*"1Mm2 Zb&)J3i{Z7ogsιWD]hpU1AoFG)Ş3xwuY(iiLO:%uM^lNj_Td{JthLf:ac"@Oo68LƦ'iiH3$r7)zF~dsZ&~?BT_47;E*Po"^U5fo`)ѱՈ!Pb.S,Px}`U&@kPXWP:q֬:^^fw%m t-8Ie%Z/PJC odu :(Ǻ|di'ܸ5;?Pޢ{ E?-pt1)DA K\OOyy+?  EYV$ b",KIᔝL Y) ^@%&H^(XP5IENDB`^="c5|KlHVA KdK /" a+ܠ&I7fdMS}}lkuMY 6SY:i4iܽ2 [&jLZ99}M5 F ˣ͘PO9w j&<L2I(Llr B;B)4ašST\&~tf3tF }:NmH8|2Th?q|[wq)ک #V+4[BɂĤ7gxk$X>-~)L7`*>. S?H'h__ i|a5D;0__7=q'߇k\ER}Uifpv[Z~hL='N5ǽ7)44aNzP]uxݵXaxY&a'#ak-(}- zB C;5:ej}}BOa =y4f u/0P_r(;s̹*> E?ܰ'VN0:W3{Ŵ,E2 )CWUXOѓ=L\y1iM]f0, sЅ~.俲6;= F0^J5nEUG 2(&lo70i#o?^?YCZ]<{"}^7NO,Ec+ kj|Ђ;k&771%yjsbOT^B~SC=(] OT72텭H5[J!"S[I6ԛ "}C`)Ԟgx#ao#rM/%?#V b;X&bH)7w:SYOi-&^o#/-oSRPw7-5ZwbCIde;]Az'f1LQwF0`(Oj ?FGGEX;csVe4uYZ_UyXWcc;z _gGvO{U*;5Y؅MqYf :xRjuibe"_xqR#msд0"fQ`4o]h}I.tH'TF&B)|)9}Ymiߝ'0#oZV#3_cnR_p>};bQ)Њ9nee;ӋfzB)T\$/>ý?RN8h0w:e}a@;}il͕=HfƋSԄ͵2iFf$(za͈W:&r/ R|4|YexpMߙL⋽iӃA9$ EɊ4j!"+|~hM̲`- cmaK}Keܫ45:Y^D$x~v#zi Ć嵐1aз;`dtײ\tO ;!N۽beǍE6(rF0vkgùN-1cxn)ޣI(.H4LdD͡jь5IqBVI+oD(d gC~.$ʑ'U/A935=Tp>J%a ؃eKv\_*o8Op'oVD.0{s';ϯm# BzA|##a/71=;}Bx.qB TIQhzS{_DC m[(2@Χ*/eex[+, Uq8[uCY౉J3RsEK$942d?d?4 r>a6)U1eԜ_+![w[wE˜Kmh,K` =y 'K@qU[1'pI;8g!|8EX@MGf(w Qx{k6+N ю ,{2g:-#0EHp,+ES(=irdz,%5 nxt~mN1€(ܧ7{/ 3ٿCnWCK\Vcs-3|[O:0Q5K 3Jg bd]Pfg7ѫrW[cq$tsG\vG]ٽa]Ke؜`y]n h Z8>([W*fqq 9bv, :{0:tk"VO|>ן,iGu9DCބߞou.^TJ6+'ai0ţYsмDB[7cbWs.yr5xqwz/f@pɆpS2v:C*P'SA=G\ǁjr揿Kpw##aʓUԆDW> 6z"I$vD+ P-`,hۀ6J2c˥Nwpț>:Wg,%zTTT%}m&dml |` gٙynڽaɵfH]7d.gm l|ma^|5N$Ȃ>yjk>ʱ T/ڽQس40K\_sVc\.2aeg="IއZ J/B?!&&xzjgVB_!0Y05 3)&x|)NhRǎʝ%i+`?R֞O gCk0k&3iWByFqO|祒 6|C=\u#囝 : |@. k v|@ ~WEFjQfyLncZ8uLݹnlMSZH.`.t@e .!r+(+dRq"!FM@MYhR|l13 LЮo*\hWpxrlX:%A+ÎYˆOoɿDA#^r4LEBx$Ɋ5&d[!\R ar!d4aq7>Qpm' VyDn0hxpF# aNdVQ\񉩧ތC:#Y D +I= fQ@%!kdm.P~m=duKjpڝ@Q:LOCmvTR'+c RYr&X}nGpnoRpPK`Zh.*>JV.k%W?F3.fB `g}}y uן?0Fpy#CMr }ߥb-" |'ŽFtAzkV<|v9tX8&dO1?!)|xTI|(K hSgfsW3as흔Kp]l_,aQnA}?(5>LtAL f9X#hnUa;p[ ր*;iȁXdJBtQg{ԒR轁cST!ӉpF 0v`D)Da$xF!9\_[okъCXOc6`$TH-j"IiPes;-_~e YX c,Mwh01=eYzP-4m=D/u3Z_GA}!{RD~=YfG-j| ӑ|K^CD=.`zeLlhXp_J<B)tD;oN;tv4%?;ZB B hiSEFMl̆<{fVm',)uq-9 wHؓ#<\|94.v2ʐ5ԐZ aԅE %qڜN-!-Ϙ[x&CҾ5? u繞Cէ;?{bq7*o5IB% {ɘ!k|lR9czW=W*cC;Gs BZOo[2QFJ}fD̷ e8dj_p;=`ߣE7^oxoAk!/d\%ϋ,7wH?~Gt /[ l[A'm}Qߑ۰IlZ/р &B>t{[1֒xFm~h՛Nwʬ4Z#8[@% :轍+Ŷ[w;<&ϻj?j Ji8baX'!!f/ ʰm(W]+=̩z?::tb+#1evGO}<=5vGS:ڑi4mr ]}Վl9?Q?Í^:~Ǧo':[, Jtin`[N)ZY.Ht ']aF [)ǘ"*+D͙0)K;sRl=4$xۈߖfDŽHB=d }gU܎Z8_ 𻖉% \fЖ!tT[ c:/qK Q6[[PzvFRl#ޓ%(J(j䯮RK$mF|,k'^i'/RȠDބJPQV_Wms\M~ Ζ?mKKG}M}2KGVح 7<ăKwI ezsL@=Xyp*`UHF:ЏB r6aǶ 65ٸ?=*MbN*))9I}lߺe؃~t;duqcH06yX:E#3R=xlܑ6Q61G/RTW% ᏌwGm=˵1D &/WB@4n/BU joyUĀPpVZ|1nF1'-Ոk/>`]-_ll+L .CڙYso2VVARzI׹>*|*& LjtbH gr~ֳnL鱜-/V@sgh.wH}YuoP5|(?Ҏ?Fzsw}4j/ 6RhRX%* hEN:#;=4UU/hj)T,C* !L0+P>g2V]P)HoDWq,n胓o@drNvt]ܺm 3<9Dĉ>٬e1(zoJ3:,aV/ʭ:3SbR|ڗZz6?/ŵFs^}k-cBRhq`[ 7h$n.ED룑Ơz;'DD^911%'$ =َE& 7aU]~epzBe! X2s}Fr*SY`5wp(:bKt3 e*nܪ ?=?5ZA.Jd o *V`_ J"(\az =!)^utqBpN>xt0^3yO7wO cg`v:g.=cw KDΔ2&8x <eE\0Ɏ$*܇6w" Bh]s1v\\v²k5,R1z;Xz-D͜˩G|LDI%Qa,Ld~ZCn-0ŸXQ%)#JDRG}ZV).**IKWB Jk/GEDxwm6u<97@gIbUJȥ)~.m'<#dQ%'#Jz $ԯJJ? _sk71oƗMj #=\y=/ J|9hK-dφ赘>.)}  xsY(p|\HʯWcQ?ۦ/8_޿Uxz_kʔp[}˕sH>[lzu9 Q~/a o|rF}d o*<΄gp3T  t( sZ!1ZąшQzE[pq\^?夽6fs JH%s~Mo-O7C~١?YhQB-! k'Ա!D~esaZ'd6!mB Oio]i9dSkHLM{~rFng"N}>S*?_:k \W<(hjw20a4У8';S ecGK:1{囐9˂ͷSG[BPgC^ap‰9\`+4+ rW@G~Q+D|6G@J2L ǀCEʅtg7[+0+SF1ACG/ٍr K{c#䶻$MZGzCBTt~hi>4ddpbT5{ 7 ؄?V:r  5ɃWLqB572gVcH5a 7ewzC@BOL\:n)M 7% c}Z66okKo=wL"zhh& ߏpuICOұ~/l/ !hh}Ui̗3AX]z0XԭJyC#Mt SJjiV)(' !XQ25ݬC(\&8{U!glĤ]HW`򥟉ҨwbsinF{;L_˓\nXzrp//7ܵ+zUVI[,UK4.ųGL&۲N#X?H<ْٓ-?hR\Y.aՍ"A'14\3~5"Մ״ϔEt*Hds̓XSoNsV%$蝞/Tzn]O,_ϵ.AKrt\歉?a ?umg .H{ _+]OjP2%,6^6+WSC˗yoB:l}/iHz&v ,HjdWEz!pG,[u@jaߞa_:0\vKB|=I89Z9.hO9ٳl~͏~c\In[?/UkXm-M.e(@ucsGn?53xG^:֡r{ Ǐ g Sn Q$,^Ѯp?O[I9q%x0pXQRJrb9gv[24w(Cw-g!m`3x#u,PKXNs,$ef_xtW$% ]"C~f`\H=$o)J]cSyޮVJ><PGL+bb3Y@/Bļp؍E6)].]XeN@yt/ ~Z!]%\$jW`խx= ڟҖzBј$3Q0D[,~]gYiNd$)71TΙNL%#ɐLqᮣJsyp"5ԢedU){:b>@t;r/b-2k+$^^I(EjIY0/R[Ç^T?7a(2y.Rj-t(FӢ,a]ƓCڨT֔D SM>։*1Z+ed(rpBr UK' ?n۳S2!k[~HSES4CC+q?G4|!r[~. ;빟/Pn+n;kϞS{u `E qVN<̨71C%_)+ַ[ 1b@DܦB&xJ"/4_'Qu:ft_S1 `O @(-^B4LTw+GL߇ Q OB}x"8*ʗbKJb;*b(mǖZ^̵& X 9윔'Bm&Lo8BFU>A,Y="Y\VѝC_KI8z[oin <js1/H3)KX!9O-~%z4Qi x-aN="=x.BvqJBeQ7k\J/r'wJlϲw??rD漡hRQV 7s/ʗ]\$' 3UC?rOf(@f)-[\4!u2ڹ<ۂwK/JAԸ> L*.y?& %YyjBDSǒl_ɥ*/s NZ۳fN=Xc@;{ ݿ'>(;ݷA+ u7~j=]Jp ZGBkBM^Iڬ^ӆh-zQ^"~)rxvD3ikBCA(#ߦdTŧ+|cF ?0Wu".zc#HnCoqahf %i1K{PDl8Ch J.7Ca(':P0¤n) togzuQv2 r)՝ot搉G4/CYB>~M1Pe}WB%\mAbwˑ@ IޢQZ&G'Mǎ~kHh؊J*8A}l]YN/(a+l +A3iGBw帎Y:􊑘`~'< | ;uoLyA@sqhWED^ƜNLJ;W|Hɹ ߤ} QuS|Ak˘3<~; Aւo^fUgcgMby$V<ޑOD&7l?].DD_GmVf&sѝĘЦe[>v?CE'GTa˔2c)FGJVb)'SY(#[M&U; ziGs[t}sD9DZ#{fb֠h7;ԐR^7;36XDF" $ {>_Bnmm0.뻔bv7.x\3aky&53ܒ!jىH!"lZN1jJUe̜$6̷96`v46#5 YtB|i3Ѳok2Jr_hsX&bQl}'m^qPܑ a.JF8(O^۝h32 e4ѧx/\ZƲO_X/dlȧPƗ՝ML]KrA._нa1#e/֠"Ka#, JRN>/PM^ $`=1Gf?^ZFĝ&ACqz_1^D>@qxAP\әu0V+mR]v&MlC#8s"T{qhTc&7sI.B0m\NOQ "T|#}L3~|d$/oIG ߖ6#MeòzID UIi!k>,TӉ%fDMf(#1EM蝚m ;=йTIi,0Q^]2!wC1.]k*P>0SK{C\uбxpazzvPEfÍ"2BQ)M͖ U`^=gcy.l2 h %s܌yi%}v-Ja S~|\ms>)U'؈Q)y=k\]-``JZ #q*a}RBKңG^). 0:ʫ#0_ȵ33~aK,f+ *ʶ;H)Y!Lf2co#)(/Ss(f{$@ ЖR%g72^ KA3w.nLjS2¤7TTI`iO6/i'dĿ '˻ 0f:;.rţ2tx1F"Y}D.a׌-k-EEL%Q"C \gWȠ-Bu^H gF2U 6Z|sTg_AbZ &25~#;,1_AUn2P^,szf2ht9;o^>49gݗzZMʹ(Yû)ɻ`IH*ow>(c^py &1muËIJfXEf)6\mEA(wKo2$Tc(dI^0hYȿxSݑݙzW0r#ݾ ZQ$~fT*n#!y}R脘hh^CarREp 0ж):XF>ܙaPGo1a|a*R`w RIZk h T.֯MVJ\)淟ي&R^X3琱ز@{SA #3TQƯDRAv+ ÈXY\jnefNI. gV rwck(*ڕ%E_dgdB'C]pݓ2DjHe}u3c [20~x&%\|s}wt}+ +mŶm۶S1*m۶m;sYs}͹8ھMw>{zgÎ@[Ms;f`gQ&'8śSJ$v ~{`/743U \UX'7^짦rmnԡPI\P(Q="6NV7 ;JϪ^NdA/O&EB aתjь74ԐM2;37VFPR)JV8nnRmO@+%j4+X{%%{4'upi/^I-?(  ̱m_z@ƀ/23!1$҆/Aud_ĚꝷyDKԞ\{l`#SԷG,W,^THGaoƄ{o'~g<9Y0lE :J/8T5i5ut3=62<0CgȾѝrl'k _4`kJfP-ҁ%qB)"P?GJ@?呵9~h<;KZ)\5)(yEgG)}x='$C .Zk\h?6OvƑd);F׍fgĕT8[-Tm<*ޯC6& oB[y[KH(|=Hс*{Dz9lَLVOɒVRT8_6,ύT:ApɵnBVE1çWa 6܅y٥3oD tIJq϶qզA#UE pOcaEasbja3o7 Ua_Dlq)9mQw?3҃>y3K>!5m<2G}5h}Vв<%$? 3TjX'2fzop׸ Gp0w)* P:  &K_o-R2e@[w81܇!v"WXnPJr4]0z]˶cqSӹtV( *Hoݠ|B*NĬKSCj'WAD)-kwx:7̶KV|+}c F9rlI:I=9%L&".rO}98Cڪh H 9W4:j5BT] ac,Ne5ˬq̏F"͘Щu@@SLwBxG!&嚺PJ}t)Jm)*%Fr̻;=xU2g1 ߓJ#e&tTha!\"M$Aq7d?#Q:}? }%.bׄ_SԱt;($X-u{^Wхn/N\90\=w˪A+2%\#l_w's%dCbx\TĄYk#n߻X9-balPA4cr,z^"IJ?4rx iga'FȌmNЂvR9 gX+ԺXP*&~7@R 'TEP (k$Uzlx|źߒO X(l8RI>{0/0(yԥg#,5UEWgK{NMHEr眒 Yg*,&TiWi!K]"&@ DĺH2lan+,34M"_n^d@l?݉jSV4}9w] %7:A1f@/E\NlCa&'f6K\$mV~A- +)Fj7gWj.% ߝ.Tu"4WىJyZ<3P 5RrRO.+ 0/&An6%! 6XUK+INdd32C$b9ay>(ZYdUI:"ϐ^8|sњ\ym㪢$ 'b+=8Y,5B( &("̚:@_AVd.E"m럜4˶:sY8TJ=!¹4r%S}wMp=tyuf#.P=)6{^sv3C[FbF6 rTO uŶ ߵcq{ ư!- ^ݱ_7GRH;z}x3YW t@gyf b8 ]&N&h4)Ĝ[j/fdco"9ʅ%S|t3k2|= ' 5R8LS6ˈjz]Ůc^5nD׵ۄ]J U @[@j(& t$bO qXPPI s i <_^%{һ5q^G퇌ϡ%ZO gj]10t_87:qD-'%Z"&5v)'lct^ 2"2l?:Y .k/âs:΋TXUpc! svj< gi^Djd NsۢS{$7|B[*,"DL wٮ?I!_1KJ&ٯ)cJvZ(^Q yՉp} 'ڙpid1jHTTV(Y+PdɛeS\wM-" /+2wRD$M~h%׀> )#ڄ^F} CC9.&O"tn1nxAEeQ3?mN7=;mn>CP(,$swzEÚGz;ӒyV&c24:xHFӞ:&XF'8W,Ul16ʓUxADtTr⥥ ̸IR'?k8Z+4Qyju"Ԩ(o1itD:bUA ޥYhd{_* + *5ۖ㷽^V1 I)C߼fe޸2MBf=Pe1nw\ 3:GQ$oU9<3AB67rp2![ ˛Co`b9[_n(=BVӐB U coe#.ҝڎ jV7L?0QDr]Oh]Y=&VDC$rMÎ].ˣVE Z@.v;ﭖ9:FjSnD'{T;Yz<}dk,,=/WO TϛT:Ln.1 f1] 5n+av*HzKB*U뎹&+[O# 5!iQrq<&~C}{51{yb;jBu[ $#N*<UgZ(LGG2uQ6' <@(TG$Q@Wtl.= mÛAZHbUЉI8fi?22&DcP@YUazv 1\) 4 RVp347fEEhjf3HrQM#Y6iZCwL>ff~mƟ--U=MfJEClf,frC>:V;=TńdFWw-h:S-MIXm_Du/ b8n-E?X7嵟Z/<.ԝawPaW{ḁ)M3׃5h(}>FPVϑVoI9RJ<Ȱ1rn턩s'+m33$ >ͣ[x^2Ri1zH h2 *qn·j(Ra! *yPx(W뗣FoN}kxxJ IyN锂HhIղ]A@ӽA2anZ`UV_u[F#6bavlvK&>+*&2=?1ʊ;纂/WU;G6;RC<.WF^qnqڡjnKCchMR|J,Gw P"#c0V*ӣ(AO:PqJ3]2۞ૃU]\D}K)kQ@ycZTFQăMxDҹZ Ɲ`Wt7loD2wd/t4<o}(y&rRmażO6TfohaXǓ-/c5EVyu `jhnTڛ<_G/6~l4A9adoQUH.޺ZAՋ9Ss8%SlSn,z1cRէ3!f^xWsYlf&/b{; D j1EK6;3qƾXz8%UN`2`EV)1àbT]RʼX;5S݌F1?u2-3+hځp +?b֭Z›\d+h_ yѿh/-P5uiFv/?F4ʘ\`|\""Q足-J`RU~,2һdo9ȹIILcM~CMccik*HcώQ+A4ݫ-15Ie 6gTC=IX ׌6/$$ۄxzUy8\e[zVSZ ;WԸ i2B6,$#hMXDu)CaR:٬0ysNI ;U6}OLB̿SbWJ!jEdElv{i:{K9ln։טN^VdrlI'u{p^]\  n '1uAm_eOժ/vCfu9[nk'BzJ8$Dqyo29YFP ;\o(/zNG,;bl >QtspS0WG F k9a#$pq7s"|bЅ[h(PB, 7n&:B3ߋN B;QT-^|="YsRӷvcgoB6jeS*kO=Dlo.45ld6nj/n~O$Y+6D2\JvbN6H< LCQ)n(^L7^,A4 ȒPzme]ː~|#ͩp]CH%}\< 9S@jvݓF/ x%:6&1x[f8ճ ݻ?`+U.zhv@7-0ghu-"w5H_)ޫ ~R۩(g<ǁ FaPL-MDN=LˀKSaR-=2tmַړR1k򸘸1tb}#zNg& AG cr50fWi9̙clW0c>?:iPKcGԞb( g&2o=3 [^ՏuX;HP(d$CNK2FSDee#a;߈Hg{{̦ngǽZ. Nn V"Y(#m >of,6Q5#d&6u0+YQ_Wm cl!L`lwhVMPuu NdLSQt]|ްtRlK*ASBw)b \qIJvtS⮚=+ m-JqR WKe{^%o81h&cseI1@SG_%d"pA}cWmDxmظ2*t1˽H Y3$EJGz$Y(^f|J]#S|0-|BG!M*TtdL#U}Y *{ROn}wyonIY@J^Dؠ}c SK(54@'2'K3], 2qm܎uvl^Tѻʊs\: ';$ 30u{xB4iAѠ(^ʬ-S"3ifW ͈Yʦ(1ZK~ Xr-!?};bs5kr3',Tb9&##dt{%ԓ.쀕'z؉~4`{7_8NLɩEm q։y{ (re:"7XAnz ~FZ4)bt +XQ .y!u}ivO/N?T]-w[O E[L 7&K Cq9M4ǭ۾N~fl6-VR1#;( 2#sC˔ "i͘%tREl2щ˛c+h"wrT NqȀ >*5h9M^Ք6Y ᎙rYJG@_PXv븪=&e'#oX4Fhmօ<\%^x8P^iu ȶӨ}N` jή-@Ff_cςXaOqFǞ ǮfC%_'B JRkwsHA/瑱5B]nCz-wt*,f |P9*CTqB](9=sf._vY=M)C9̒u_JF$}*CB.Ƅa_1MbnHws >ǼT55^@D}7 R,L.[l}h TWS%Vit60cBcY봁k};1D kit`$ GrUTx' Rܑ=VfTi >Jn:-CDo:t 0eiNh~[騗@L{AGH0U2W ŕի"oe(yPkg +*&q0}WE'z|`\NYfwDnΤl3D@mWϗ1֏UXxCC#Yn". GC^ ֝uH}r& ݎXR aweVF,mq7$θ+EH$?>J`"d姗Ү_8e2-sjSinβ]cf:UTIYM;k.yd(_!u0bH';:ʪ=yz1m1qB~UшN92u&ư]53M(O3zYmZ!ݑ#us97b'3f[prU=T"]HS\\g0,a0|\['^0b0(ɝt⎌lUǢp~!˰ ɑNXpIG2?ǘ fK[cFDb8́E)EM],jy\Ds'MO|V,RNIHV<dz>Ov*ZmdOC7Fjy9(E^՞6az"aY2*TfRаG%QBmUN#;0Qs3.ib*>K(`·b7*4 pT35F#Q?_]V91_0TGQp^ٿ,!jv1oksW#kT[Xg'nر4w[ MDHfiK^N2C<2,&SPVUJ$BhH(3, ',.rGK'G DnUCܓٱMTnEAj.FћQ3HosSbZ<&9#])$橖K~~2 i0&N_ 3{ó\/P376kSmaGzadnc6l{G:,{n4}[fld(XەoSA+‹=j6M,t Ї: ϩJWL 7DŸFv 1+~wTº*76*qލtёi }mOs<3}YZcfF@6q mym%$=#*C!:&z SҰMQGn.: Lw(Grء<7bs3NIP|Mi˓=ဓ.J.Ϋ R˔e\TX Tmn|p^Δ Ԟhk= 8K'U]dzcKȍuE!x+ p!pg"E)dSRwC# R.슻T]'dnT] ⩡D1C?YvE/㊯r7 b֥nݬy^:qT3 SuT.Me@䢷Y܃D-I$e1rff/K"KG8=zTn)/ɏ?Y%O+~rZB/229ADBHӗ\;UlDϯuBMtM}!&'z^D u'b:T|tNj`72pa!afA(63G>inPNhs_ųtf !!Bk̼c^{SSrSrTAE|Ǚ2s |G~ƒw%39/}J=(%'Q&gq@=:0c;2p ez (>[t#[P&`쪚hz*Y]_R6Zeaw R|`4wd',!*ejK] .r8̑1>[5-Kz/'g8yȝ]rGseXb91M~x4~e\H+aA 2_FC殤ٷЯJ{^bb&b!3dO -lnq-Ӑsu(5bI/*2;W0w^7,WAo %5eWe A^ ԏ%OQkJ=3+S\HKU+T}q雤,&ܺr=?$bhl>5rڸ&??P{ Tg2,׈_<5#W|ʘ<  K&%L'@w=++TKb*jϕg.+aHi_?G#PC]}rRX&+HBN7~t*nRukC.g֬6n? RXSkyφvo9+ Gi[U Cֹ~Hsz>Bꬖɠ`.*Fcv9BK5Y[eԍ`tB+!RY uwB(0t<6m_&!h@ȶ3nX߯vrU 0QdڈgCOm<&ywUXX@^P[\}d_’@:~ZpTZ(i-6qivQq_ ꘽b.U>I~LF\cG#6m `/0 zI3ʫ ^RY]-, ܩfo r;\b, G9昬V\JI/talX3#-?0Fd7-Fc%|+Pqͼ*Zu)[5X~[Jj)+n޲N'ݜ3ͻ4++a?e9;"ĪqQHI`Ŏ uP0L*'^j2}7MrkQC+U *EIN*( 6\]ö RWYn QSfNXQ}u'-R*ɔnߞW Ootg|C X6jW0r[׿`^zϤEBmi ^ֳ"Elnަ/P6.6OJDڶ~9zw:Ģ<{!6F+, z]}T~?ӷaP-8[[W /,5lVy3$EgmjU _sutLf+pLN4,`YeU\a嬵#?unD JD~\=hH=1I",|m˻f0i)I@Zn*h<gԜQPs)gmFW.;;2 !`/ۿ;ˉzOgCC%:ɔFB`Sl>ǛI\/G 2'*|)O:FSO&etOGx0SV{4S" *("a5&2% RrzQ~<n -ͿcCɄȥD;U onG|xZGext8$O[A="|wB<k]h^VOn/Îܝy$ }L<[ &_ԮY$u@jG҂F(b6#er|W{( s>4D%#=0~Ȼ/@+;@O˃q+/޺gƭgdaT (*ԙk={' ps) R"a<#| F5b~;JF++_ՊeH<A2#<А#73 \MY2X 8?^D-? y fձ!.UwJN?$8 |d?  Sj"Dk_W.\Hm L'3 mVl$ oV߁phh}<`$d=ӦցsWɗT.Ȼpȶ?l+m^PSh"B|Q 5t,'}6VI;3hsRI?LŔn\~P3i3eOtӑA ?&rK/">nEQ 'Βi xxII7^_߇{mGZO 3 _DoY/si& Z `><m^/i #Z>٧T$<C1şMebMl?#"'RC;߭,G'%Xh=7m4p?C /*;%xB: )Dw>18O*:>()'-6b8u .k#Xrs:8p?#Eh/S HQٟR%a Á@miY`-}щl$wx \myFwM-5SD0*UzqZ`1F0d=҇vn5yRaAgCذإ? C |jr  ^z>W馊50kX&^lP-\dsOc0ci{uF;B񤘚$ӂ,4Uja֭:9@~` g[{A; ʊJ+9‰fjtGBÁǧ_=DK©YC3ѷޝe;;rԩPGC6G "L/#% kw;b|(+rcET/C)*+RCjp/*1mNclpGR/oi5x\X*58BW[RuwY[b ۍ=gx4Dr;o<(h<3au? *=4IS_8ޒRJ49Ǿ*b+Pvh c,3_d7D?̝pvZb(>}p ԎZRZuD8#nIfC.Ċ'qm@YBϱa~Ryu̩ ݹER>pk%m7Lj-'L t<{ĒqQ;([7e}Pyȑqwƕ kC'*} G]":Z`ACIz7calBߑpZ߀G=gJo0$9h92*h~Opb9;J F,`2[Ro؏''v[?^+w߀$5tv.5QiC( /Q\/| ǦH sfI ~#&|&quk'XŅS Y%LͷDH$v{z;tI[qy=26ԫshkٲV(D9 U__Hc*Ŕ QP}?)8A5^m295 )p@Y{?Z mq0))- R B1F'nldÎm,L#gVn"GU=iY-0YU&$?N9 {Bp;4uԵ%vo {e.D7 YQbH~pfFnXaݼg=HǚEB-v7J(oa$ōD<Ք^~j1p I"u?P",U M8W ӵDaT/Z;WhE,o5 hj `]~<|90ς&ADV I9fWMA/B</g<'PM&3;jen*Tcec% 'Q>[>5vٰ0/IA(P VP.u71.XPhpU?zTs j=Ț+z<:ebfn IdFhéqmuSˌwQA@Fz,O WoDKc+뫐#' ֭ /7,%}%IFEy=^LĿC@j"$_}O;­d7{NŶ/ pv_-FjpnCO*v,G"4vƠ JMťh)EQI^Z~v>2}c@cyM>:~No&wsF"3z(% "PdRŚkJ_YfwgR 4X8ZϭOz?6v45OwcUHuSoӇOuo6&|&뱳~_\>VtzxM/sJgw 5#5,2cR{G톍#BVn2{~DE50я#x0tRW[{؍?=2 w󢯫'[h4Oe^jwyE9>օR1+ށy4zf&cbdQ%z<̚H58|{03 A/)D~ ԅ'PE[ZSk7Ps i'<Q!q]A 5֊pP wl V Vg͞3ZX[c践9 nR†NE1BY|rDᱚ dq#^)E\h廾z,T4knIJqw^3Spǁ[_ެdcʥӸ_;zBLn1۴ 千'xB43nKG[@S=zU6Й_at2qH7>4t/d,SOD 5wV uO3#$m#ȩnp'9n2joE:rkV[{Y+"]s!mଅZS] \:$WO hÿgZP_}?q!=sYNR]#׏fXBT9V"^cCbp~$Ws#c~l^*K[5E)Gcf}j5f/Jq_Xs,ws.rstIxXRRn~.tcTU(9v +&nT niv0!?/<)[n7Y]6CA=90pD}DH&f D7〝R)Ãl>ۑAeMbc'?> A ƆaJ;7ǝRgC<4:mZԗMй,Gjq*܎Koo S&+ӏ]M#sfb!MBQI<v$ӖԎ Ҹ>R]~N%;qc^^Ly1(^30*Q£#@<%YK y+$$CZb&ԽEX%񫿍ٸ[9Rf1?#>7)cڃ4FA7RI^꿹Yysb]$C-m?xr~Z^͑8:"JePE)9:³_Kg:{Vrܯj@ŐttO54 ÔFOcE`CXUCuc4!6ll&CJ高l@Aa08<؀ u5"u@ tW.xQ rrmƛ)-ɬtg]ذ$D>a#C8Zɤ2~FQs3;GK7ɉnkQEZ \U'l GB8.] gMf-Y^^ێuH7;a#8bstkmMD!7.+8L-tvz>~p}~ϡX>l IK[ۮoU6uزZ 0l|_% )=C7{m4-'08+sh5ʺ^P%oBP 7Umf%kqj8#OKxكT.fGLi1ja _&ɡ(~ُD?,>ɉfw|&xXeSȤ&1^ Aq9xiVXE<εᦍC\z b`*%pڡ|.)v1?";U5sv Ʌ&c yˇƵѠ$vu M&sQopsNzaՇj8[y#f]%Ӎnꋾv1fcz{-: X0m[1 BmP?4cb=EG疤;$7d6N(H$ffS蕓z,M5jJhגi kt5!ZGP*2EtҨ]hV5!E>UK _*ڔ- aO/w!:7o9Yw<-^/z˗lŞ2x-Qpܲa%vxKg귩R76ƈޖςNdNІ87jd.1 uv ZUo6H1HqUikd*ծ:+!n :NHf 7O`BZ 7C#E~;72rSҼ&qsƒR4;?7g>sk\ qp>d1RQ>|}A'"E+yI U^Pe(,;ۅeK`Me'{UJTSgm\l>:P߃5Tywq17t^F󥣓"u$8V_yKp<x-܌'7^3Vg!wvQ™zE*u9H*CdZP~U/ϵ$yo1@S^-5n\- . &0%q v?ZZ uTgHmod^$Ce?m2|>9cMYt6AA@j'ox-(`*~(ۅeXdJJvn, AR aC˞E/˦ǡs.Ki$;BG0Y8yGCGCLNZ?Ϣwc(b,~v/'}> IDATG Þ%̸A4SZ{ǙOaˊmXCUmm \x<\0cE0cK 0I!)lh2Sh7-`.&M;xjTNF740 f4Tuq4QEjCM;5S}|H1іpXgu3Qc2]9TkCCaR 1Vac2vWAfφA~~Sg=>[pFMџrPy{O}'Zz f/BR\pfڿb4C3&$dFrGm+Q8F<|Ct|;R5]&gu*P*:`U^H~.mJtdIœ5Tڇ_QSnjU4KB5$`MdQ3I z(EPwE* Sbpy>TF闺R+"j=P=ITf ZFkڷ-3Tޖ^$J(\5 B9r  ^-6 CX3'Xn9d916 F ʲoW.š'U%.u+o]|5˝Lx]>g9bdГ܋ϡ!JOw#Y v#1Bˏg(|?yzp$uO=(uw-nTxMA_X6!Ɏn·[w[Јpvңu \h,!hcDIldIv$Jx{=OMj ײ![7ALݦ `Y@"fd-DzV$p};-%.OH ($[ pv{8Yl\c<[`Zؙ3#ΰ SzkSeCSb`4qPw*JOk1| s%By(adjzt4'Dv {JGbcpxi_Jڻqgqi;xe8^ւ^FWeDc޾7I̻N;ޏx;QWa/^hoƺyqx'U'0ȴ4%ŁgBLg;*@dQ%L<>zׯ zm6puHHSRIJp)LUu-8U]Wa}s`?UATWR|/Q5RNSRw\`/|zWw}'=^'8`K s,<vM}Q SmLEqi~|9p"4'cuF'M *-&GC*U5&}O'O'5G缭 0RWvd%0x< .40ȏ7GQlro㍨8xcڽ4  ~uigPw77ƹǷ"69`W]=I(d\+ 3[MOѳ`eK@u?{_=N(*džގxk1-w3^^y:ijۊb?ϣM8^)(ީ+'gbUArs<uJ&U˦4+"KZjI[.&o4:΀fśP?S*]ﻁ6l8=84x-/|;F7+~q od^`o0:- e'pzH3(j-G`1y!+憅?!e2Iz,'ouKB8Vjwhv>)ϾCؼ:W3KWiݷ-kӷc8rJ 37"Xyϴrjpwa4+l6xmT$?ja 26C5<f|v0Um*L@rH"DaDa^V)Q;:s"Rz/^~/(AE {w,T߉X\9Nځy({ ًlENg }/av9k=Hf&$AłEK[Z(mH<@BH df2d=kIa~6};{=N!7[ᄆSObjFURڢ2he7(&$`^BX+ȇpcӐ[m?֦Qau)H#};<>|"w."YGphhop+^~Ҕiq1Uzſjg7)cy,?˽B;_jP1k嘈KG][*jNИџ%gOfW`|Xg[naf\_YRe:G@#=y4 4\Rڬih+){ESug5;/7G=ɪ2@Hԧ>t8\W^ޗ4ܤrhtLHquC:irEmZI#&W_pX6w wtiROw&$/x m~/:jm(4+xxX0mrOs䍚gl']u>3uujP8^79E7GW>D t(t( $Tu]~K~)6)Eqn2e*0:\ ]Is@5nX3@?~~z[u%:4?c<8g? љE 9vFxܾ3NuΤgt'JS̝ }p;\vۻyMA=/yd$Ц:[tb }zߡ77񓭱@!m7ib(`N֝uo/#}Yza[.ʏOՌap,csa$0Kr+nm?Sx4xCJglAɆfS.jWsy ?z{n֮~wժmA)=ͤAKԀł$ _{>'0x_-:F5C6❇O;EYoNeAD(5שZa`Fmwjva/vb?"`D:AM kO vQ{dh8lsPHj/%i5_P| lvo~rwQ7<։(@J2JQdkWCrY@.Z%4I:9x+yz1#Gr||V)+1z`(`0RRmڵ@fwUu}^n*TrIUuEt{mQbqkӹFazoS!|f,JQt>^H5V?ܪ OhSgG#*@(&>Ǘrk'),^ jS!XsQc۵" 5p+/2QcT/yZX շu>dy]&b5v8&7|tųtҹjhyLE5~ ^k>zB*z ʪ]Bxn'XcȐ3\sަuj]I.G 5*읻$~ØDf._-GN4EC(,4*k HOӀiDkvTj uVLd$͌(D2O!pk7 W5{rvTî#J}omz̰iwcP oUuV]=N7JX>lЮyBĄ)1s`F{/WLq '%M;} yw =+o 'H;OV̮԰v ;_8Oi7~=u/yVOlYw>$I`o}x,@&PzdtczxW, g8 uq0@f/ il嫿כ_QL wo_W#{/D'NUWc6*9$sV,cUmˎխ )OL SM 5hZyVIz啧tãkt7~lHc) <^ niԦr-٢[{t2#csN56ހlsRwg+A.S]^)xۼ*~>TM276O֪SYlܵ4-2_oڲ]-\GK˸_nJ0uLG|&ў8ƞ n} ;T ?n?1SVM}F6AW\HsX7"5Cn}UU_t")ɑ7Iu4oPMjlD$x S{oRK+ӧ|pbO!ۍoǎN'iVp0:(ߠ b ;TҨ\[EFE`^ dp6N}߆h)z흿&xy Xx|>"4-}ū肋uG t+ODuڥޡcRՈvݪOXWߤA| b!Kk?)xLaX?;ǿ?PKxVj߾$㟄Ia' hX*-PGo#'3TViןx|2ޏ YG^&-:y\Vi([b%]s +u La2yJM?Urg|3ɥkBcPVAzjC32?c]^?M}6 .\]x'D%ͣp|Cq5+0s愄$xƢJU7PO><֕xۡ\ 5рMUDty_UJ-5) /s5+g[yv.DO$U[۠Ә(VF~ƂPJ٠Q74]v@TKj٬r2S ôxY2P5A٠97C;3!ןxWT֞jMɚ姟=A0Qs}[k]Suy[7>wN~1 ٝ(:l@4&*c}kȰJnOkrTӀ15Z k.&V၊,W{^B(z^6s VTd:KTd{'?.͝ >2aq;5QW&Xz`SZB؉@+fGKjyc#XM˴`ߧzG)ijߨ?:{ ٽ룘Tԏ<To foVR\L)`g+f\?{Тab}S IDAT[4Bpyp xjjQP*=cmkov~K{oSVl=^];џ;1$;Ogwp/= 훕;}>DA_u<ᐋ4Z]ٝѝGk8X.JՕmVc͚SubZ?9Z~ڿNmlhֺ2Cݩ򈘨Vm5owk)^["xUJΘ*.Z/_mٯN2kiKuiɓT\' {ΕOPSn'):Key9:y$(893K3.U6?JTŨ7`gpYgF^}hL8ycOX,cDZ_eVV]+G-yv򽚆R-8`'{]O# sSW`R,p~׫7?ޠ^ tBǎPͮuxDwN^Z|,mYx>y \4_1d7wnnT94рiQ7ųk8 PtDd56@ky'V` y1MCҽijJIQLl@($:^oEkSt*0AJsʚT[۩&(<ЊPѫ_GS. j*1i<US7/Qwv1W7>ڐR(6~V Ig~}8(>49}%Ɇ kQ~eg)whO!o\ fM{iUmkhRaN&iF#}JU2F4> O߱ZkpH[ҷ Unyw9OdE7˛spypYfU<^,t)Asa_pכzwV{yYP$ @ӱ\a;֙/k۷Cqc_!/A4 9I)ô`_EzɪfӰ2^w~W'X76wݘyhk`PU"@lyDfʔDwg6w[K*8tP 4T{Hg<`߫ ɐ'A x/zLIlVmF֨6f@Q0[lhӁ4x)'EQj/bYV!åj)@'<wz6WPnz25qt]ʎ|}M`ipM$5)*$\q+UJIYvU.*,܂ O;>M 7oTutFK zGu@s qHk.Xo{ zQjA(^T=?biO~%?P6Ϊϼ>JjQ4ƺ1S>g10cѷ s9jG'[*vVBGi>]:cd 5"v2 Wk Et='*Cfjbtt/S̳惻ՑvNY_+bʰYJ'PYEЫZM>mP1K~VzvTCYrJ{z;u'0: Z;P)y3hJ-b # ?pw/Ov?>ol?)Vq=Rۡ6e`` K7풠A88oOOS҄TPqx3IMXvN%R@ͧNS˧[6tiFBc @65!t .A5_>CHI #(! I&Ǐ_}lؖ>d{!Jbx\ʫ[Ui}T0ۚT)ػҐo輦`? ab ߪq|V-U{G`LKOi)>4:Ѯ:hlDh劅7.#@ \S/Tp"009pKeD&F.'_ !džP0叙Ws}]sy11N<_G wH3И.fa @I/cGF_xE5_T] =]j(􃮨^e_}xO Vx^zC<ԇ* ~En4M6FXM7?eVcUJudmlhT0u4*V?6{0R>߆;[@Rݞ9Lx}d *" F-؛BtI:sPTݣx0ù ΃Y-\ẋqާ0&`v\Bb5š36OW+`-DDDo2u*49j+{43~qVcwD']|kW.# +=N>fjo흼w^9FTCOߪ[-!mp!mؽIKN_ êh?=H[UMS?oZjENѤIWҽ0hyi\ #B3O>_;,}feW:PFӦNԏOLT|4-f::ZQ7(Ũ&N%De:ݷGlնiԳ^97RC\k?%E#5ʺ&Twog `^No;QQ!^bLޘf Ψ^cAyVܖUWacbD%ū#r18"R>!Dnò.ƑlA؏4ƾ ۃMeVt)#Hl}M840ڛѥ!vjr(FM a$G`Z7(g9 ?@+j'Z'Ѵ C!.??L1򸯾NH r W2%DӨN$ Xc(#tniK@T o{D}aGׂ(ϲ##>ܝ ?; aAksy'_H䷏ݮGpxV3/RHvߢ* ^llB_R٢rZXR'_Mb%HnĨ,]:մ0`ϻ!W6f!\V\W7V8'L55-h z D~x^>,dPCZ4chtk;~C&Uux2Pf0:$'c@kk*/آE τ&=J_~BZ UC[kRfP ԿY+|,V~# ڌ\÷eN^8kzÕzgxQbjƌ *@^__ƠE/?&?~+x CM1<]xc_ #h\ɥOHcV͜Lx'LL&J)}od 28Q`aՓ;̼%Xl\:K1wghFBE&'0:zHo9|P@Kxcljq:IF7;qw6@w"p+Lz Hq1|ɁmCF7D!%̝ gXMq!;^pDbzfKNSl#{`W?;b\ -_%VL߼:o Sę()X#"/X͞@ o^ځ G4O~p-VkNLPb}eE`|=meZ֮7e7:9:pOu6[H4D+lEsȉϾ85w\u{swH]seȳI6C{>B795?Gg]*Ztfҹz9Dp+iCW1gewgZ|_e.a}A`J5PQc7Ӄ[Cg\VGKDK.y@>@ c; At ZӦr8(*0 'Hx ~/rmtyf럪d(NV0i.Rb10d7ˈD ܔVA$GIeױ;\N?yΜ} kV102;8]y F.@1_ |3WYOxpdArqoSh/d>FNMti (_ oG\888Z*pه44PQ=@;N:HHu e/0Ƹw$Q8Йu ԡ6a:L:|HHsz$|deS&FYgP(קЀ0lPtxFһ;e1w;['P; 7X2W@B\,Hڕ9!Jcsfc 6uh`0(2Ɗ=myC/T[Z}c8eAbsɘlV["saF:ңYڼc7ҧSczy Y_?ǝ1pU6%cHHxF\ybr]0[ܖ>(j9zA_[DW]!B GZuE6R}>} zpj&|Ƶ͞Rq:_47_]پ= ]1W5o |* }bv7ZAmg}@YTI! wԍԈ`֬P[Nqa$V$.v%+fW!8<|!ۦv~Rmp(˸&NUt>gˎqXuLJy8R4z쭇)I Y{i)tV˫?]1ݖgpfQAuNFr" C>˼ʛU|P(0zEQvT y6u w.?WY臟P˴ 1NEm8l^UD,fdÉP\'*Vdr""@BQdF*_ ኖ6EO4ɋۋUSK?6hܬ>ªv tF6Fݥ/@FwM9f .%OyE0aƳ\^:j0u7c;  Q2+ y?`f>b jɘżYMq o €?$?kn2b؀=0AA!`ԅ*6>Fa&ub}&C9 p`Zb=͘.I_|͙s'#MMm@tS4!~.lݶل; /t& :M RG'G!Dؤ56}j-dhuu ,[m-.i8 8鐎4vFX'$_yCBt$-\z~rA_!J5K;X7?\=d~RO^HxT .x]w 77Ȟ]@yxq{w gך Wɺrq$t 3`HbJyFɄ"SU"Q_0"ݢ6ҋi)Y@ "T`w74 2 Ke.%;TӐ%^ 8(> 0n9J ) LA}=߽t͇S̤1(teCi#GY4g:!25`Ѯ;AK;s,uPE755c=^ht}=fjr7xwج!2n53&?aCCnhFj 0`֦\˘XHvK~rϕ!N@Mtgs*3c[:I,Of7N#F/3yR}ffJy7]ơ%{f\<ˀd8qF]_gq$ N %7Ste5o^ #bG#$8'Z@z6|Ɍ!96 Wɳ`|m߻Ozt#rWXd)c.I lKTKE_"=]#SʁI}KՎ#߽ OR -T%E9J c*k^AWOj b )Rf8!x̠YZ{o8oFqw=+X/_z"en@F\L[joo ;n:siώS:&=q$5!0%?^a}rVlќ1Qw+vQY 0LfxR"wtŗ}ٌ[-gcVK1?H-<15j"5  =@acR :PG|_W\ YjZZ0LqY(* ^]}n<~ x0mV:*)/а~#E..R&|܂^3kJZ֯۫ yXB^i!jà ϝwt, 3 46fd%h>8It9pRKN{Blz;`6ilX,=W>;xg>9"j|%vҗ_i$Ęp=7w'<5Zy/?۠*KZ3]L^nKŚ93H}YMXZp >_y}(+J5MT^TMiצ4=( yE: ڑS"sޗ0fTf9Kс%`#f%$w^fլ;H yvSQn$ND 6JәgϿʼݍ+aJ 4wD]~NN_jױR~:M"Jv=ntp8 E$sY F+pf4C/dר0B^q :Џk t+dI;6d`+C7:5:NA{E^K#2$,N1P`5Q V"yw` T7䡕fHu3qȊ**8\5* m\chD'`M`ٻ06@of.HxF{vɌ\.e^@Ftһ!tn確.Њ6:1xa0ogf?:`q?Q̟GG>vDV׮i0˘`YZ7`>&|X ΃+vD/֪yڠq3/# 'Za6f &TZh2tp ¢؛B1wXMqƯ"w`iW@I0ЫkJ(W#mkG[^q 4>x7 Qb˸#.GUU`1١:͘ĬYZ9.>&-:ڼm.bz ƽ ~֫:Mݰ!xhɻTX|м/H#0W $V#@EXt\ oylزC Eh#L;n{Kߨmۧ'5c|b$ϗgȼa8 +PaRƤD%QG.^}>f]LDNJC7oz,(Ug[=˺䚇4܇W a]pe*x,#$xDk4e܊3~En'-nW`|+AGO H}LVݡ]u8Q۬XzQT}eOi^Pz[!+Q=2oV< 7OT[:<w͊72۶Zb`֡Q5CxhLb y1/wc `%3ou>]-K0}E"ñτ񎻎Wys(tC7`AuI Y" Y ] ޵{x@Gex=-}w( FģϷ4&W3OQ[r(#I*ySh @|*{fLYfuqa\W+,(E4(E>* & 3\P x&\ Kg8uvv[]N4ű=5Ü݆w3bfݧvSta[_7n,mg-ѢVݥxy[ij)K9Dj0kA=WA#Y rS"6y|R@b]ԯ WW=/ކJ:6,D'M;I&X TWh P;"`Y B)ɓ#,y^|W{ ߆'[܁9 4%j CGFȋ =0_$$U륇&؍{ dU<ăğn 2OO?>x?.䡸HZ g:yn̻} g_IQrsٽc%NH?c߼_o+tD3;ц^Mu` `i&v̬BgqIs)8b-Nh 1C'BH1+_b,u^FEzcЉTOLy]S٪tQtR^thꇥ߃O[qG~F)#fR "dQ@ PXS7'&PHfʻdCB'e;} q PKL_6Yl0x+{6MRA^aq - aJ2.O#"XuWcX27T ZX1܆tNnJd# D4A2 f†l(Jqd~ǾG;)wcQ 6"L>KAt ԄbZ0xǯ bW{jbSBUz_:4۪Lsg*,CaL/`+Z4[/hNL5}R8LRED&wTYzVַddaJacBVúߪB v;I8h:Hse#d&=&Px30-TY]B6]:d3&S =TTR5\ғdGu:@6[&1gm*‚6&DS6YX8Y٠#Ih IPF7~a%]+3>ZN1Bz`Ԧg;`蒪Z{ h:0!VbI5U &isƎ>:v_ft|t~mUxKYY`Rp#h$6?k$.5r 7?A7 pÇAo[0NލN4f+Aj9t3B51#GԀat\eqF4K.~5؞ __ "HΆAU6{CL|rd^!KNf=u0iqx@ː~#IDstMTŧKC&WQ)¤z ~o^w눏2TVg^gɗN T9NWA]jqS}2G;< v!wiJJ]26e$LbaBF0JO0ä)_OfnJp%xFа֏$n؟CܬXm[و"8x*LOSZ6S[stʲs]_ɳemc'jT>хܫ}1:L\'u͌ǏG7 F!^ml/V}3mf@eثE45);;ת:C1>IikXйVVM7icJ}ꔑ潓Qh.xNa7ڣVG T4f~Z`jEg]Ң86N6`xYi9#Ac*W),JG*PMDqO/A7]uW0i r vO8^6a 3'VE^a1nƆk8\z8yA."9,K $F+`Xzw5e=q;_A*1Lo` BR2?XPu=08$㖄H68sF+p f:+!_@Ǿ6Â5QV VݫfH|,UTE_GUP9L!y# xuA7h IlJv颻4%+эZ3?8Q 2nz/dyzJЯ ct47t᪋:}]Ub#|茏FkHZqrxb+Eg/,+n!a<ȡϷA%r7=B2~Im@}۸}6&|/*ȝĖ[_m_<*#+T2);p{1?k0h–ќѱ֖wC(c~MOx,p{-Cb#B$t5Qm0i׊%u$'HPW%+|k|:g{^ӽ T Dd4ԞnF|1Z{A`N[G4i-b6Mi^!toyYy"mkPK]™[`ۻ< !9̊ݼ﹂0Xz@M025/ݰ0@.#h.h4^ t.]}rPU`UI{t.`G! 27<(t<0H=8t0hl0?c0߰#d otW3pM y#5Y(G:wpx2>Q%ڿ ;HC}hYyddiix_}NАWZ%Ax1ԑlG'CZ%D`?xʹsp?TU5J[cFh<5e:[%k#S$-׼-r}};:^۠%ӧ)ONy!4 ㉰;VsrURL}W:\Y_٪V`OS)jccXئeKompwitl\gLϫxdgChcW_\jF+/d2:ȸ*,/pok#MY܃}}9\?H5 j;:E; 6k&=Sͱ0q~x}oZחP {6Ey;YuA!.e$yqsx 7>Ȁi_"DMC3nյ@Ѕo6s끳?`n^UEQ¶Xbʜ_@'7$h?:f:X@%es"S~Cퟆ(^9+c,vv/5;|{`v2/ Dbbsѫ}إ_:OTk/3 r;1]'1 d~ 35|:ګ;5Y 4"YDNlhNo1VLqs}Se=7QT(-Xpc_Y^r|RܾW/G{/{tەIb_duu5D/,f" &V-L$;p+?b~dO໅~K 6 9mP~He y+~Q-wSfz=D(lYIq_E[Ou2-0/# @@ϙZeh. Ğ[ -H|;{\\4LB؁簅5 m,dht14 fbhabfFQ:Vٷ`,cBZFH vkI+qH92r"=3;U4e hh٬$lZX!@n#5 IDAT$X-ϖ Hd ӛ j aM4!ˀ{KF@{WW zua%L@hB-u)r{<o)ЋM9D<.:q`]#/k_~GZGƳF]m9o|Mez;٢'"{O|^=o&x`eÕP{G)~*k;h>yq{HviY}Gg-d5aV9+ P"M! INlq=LDOnAĆس>EJ ݽqY-ձ.n3_AHS˺ey^–8GBxZ]*u`*KW 8FQl#"yW i4 SFIϛ鋯jb5J>&`b翨gQDU汊ʄ> " aʤ8]5Ϋ鿀K`F>{^n]xU*ۋč/B.'?/ GɽN͕Y jrp8-z_:Ԏ ȋg| »F$qI[#Kng) XݤzX,MpJK/*"z\CW`0\՝EX PF0@5!L@>0w"LӍ0wtYU_7&ҶV)ݿZe;N{5$Kn6v 놐&VbU&'ǹ,}}|7&&|œB@@LmcAo,PO+ggRQt mϿ Y8@(VltMPI V=P݁2d| 4,@Hb^LUNTb5xk+L Hx+W QL_yiܗխ٧OoA-p^~ķ?, f2~TM>gڦjuwhgCzZcc&= W0U}yVױM(DAO>}_?|3Z_fO(a M@!x9#Z{ǑJfd-)z<6C3ouy۾P"yɦ,+gncv4ŬnpPaucZ4$Gu;@Hvfّc ԉTܫ`)Ёg0k–|p՛'cnM55gY|ƕveuIޑA5?5Wb\CHGf֑ ~2~?{ǯRNVB˄ Tnĵ䰐QUHDȱoթix|B02D_{F7 ymQ^Udě]lXń ~XA~26BEj|B×|Z}\̉JuOa!Ab6O_s]_' |A+jeBVT0?'^Mp Gj\> [ +lŠM4lPШYq{ʟ}F䦮 .btE1Fj+uUԪ ƶ+u3b?j$Q{P$gh 5q_A4r@ed /ˎcu2Y 1^#WBsrS?j5N`N u K(@׿43xq oeX(x' ~E?xuc 7mCOQlU~]Lgk`߀-l*oQ#=^IEZZThHZɷ)aHVIHS69d /ATG+S!}d#rdfezͷA"9)^;l 6PEŻFNA"#vs>n:N hd-%7R;vp̄Ml#Uh:y9@L}ny wgpƱ,r@2cLP8YCfr<:m$ ϡMMGs\hme?LSA}+%o,DRi}v}O>KIhU0߅[2Tf MA,VnݤV|) (=}6dl_?#@LGP,<4uy$~Cz5ߓ*$\]bj?9 &'9/<<"ǒIth[^~h]C}/jmK#`Dg,FPؠ7ZA8$@ʹ9D}=FbyHQj`v?; Hv{,7C+s\}c?o<*?GO(b-a< H[%`bD"#sӦ4!(h|P(vfiieEy[! V|@Z]|OK2[^1N`N`k8rg F @{-v_w)Ryb9蘭1EPρU4<ͰKW;%0PCqU93= ̽CM ѰUDZ`l~; /XV^7 qZ(VS L~W^l͈C†=yާ{Eg~,{$0>L.{JMSIKnT^՗)B_DK )p<?N :("+e)A IN]4E1TcO3ǻ]01M ՘>\Ӝ3T$V]=.RjYASv {v8mD=ۖj="FQ}^{&mfjkYWW}ʯcp LѷO}]<s$>&wٶ. 5!M.N1=pna鱓ut?*[{HS`4UyM%KHS>A ?wtellDu,'~_|Ih}``7*g5a5B%x^}kC9 1C!T[WN{iNyFL*WlvA{ycvӷ^z^̢d )S')^rUpJ9j4PՋ\2_t0Uq4][5`UPBZ}  LȇJZx婂ekGq$ rDzgYhq<rly ѵ1`23UMI{<*E#c]a=+k3  \h>-ņO2Egj줠vX1 yc`30nvwfɽsET!Ev+( L4$ dIAmw<g>|s4ADfCuG7o+gE14"Id0k52j&_>Q*:?OAqV8[E&:L6{yyR4NTA Y7_^u^Lҹ϶K!4b&-}%W7}rp+8 !޽ Ydl_&=1{byW|6&s(HLꬢ'!]6ףQ>(Ji&AV&@pP=k*VLڙ^. j.=UYOΜQC jй\MM/`h FDke3 ѐ/};*X[>h`~Aq?gc䙕4SM⒏ 4)ZKf]53H7 QW迟O̽;2G^YAn/<8xI# Ο=ў@N~)A/l$Ͼv"o1=_x'qޅmo jpCl]R%put-e|߽'1#)Tq'Ԝ$GDt W]^+XZ=Ld25{f{x6 I VéE ͈ VI;c6Upix}4 % d4~&p]^0bNKo𠶁z0!c:;O.^fI%Z dIom`s:a[HA%y6RX| Sуն}hB65̜8r~N";N݆0; |&x$*VƓ?Cl78ᡃ|Xtg L%ё#GG槑jW2NήI\^B}jTeu{%"llwU]aVC]<%LL+N9(suQ >eK`Vvګà@>Y 8@eE:jQm#rŃvqaYcũ&ɵkD0V - h)>coȗ)gAFC+o{ZYe7mp0L.5- w!1pICZ<' 0î2.g2b.bA@{!H>3jȅq+$hƵV_iB*dO:E.pAbgZdL3D6SOnߥaqn܉]u2ؓ7 -D{  ς"Xq1(ЦB1,ZӖH`Ꟙ'آjۯ? c:HG1q&#@ {tW&h5r=gLuHY_GuvTDQ?|vex T?tl!)FIe\(GB2r ~i uM-񟆉R4L%Fit'{mE6`#lOVAA,GZ?İ}K(Z ]N]4!+v*ٻVrTHy68دO(-tZ43*y.C(y𣭜?kq~!ǩ^]ˏ |u9$mCiau/2ɗ{4ryMcU*8i4oS~E:zꔦǟIuUwmV<0AfԴ_!M"#E;sF }Wh*nM4˙*QNרҎ(c]AFO^͌ J1|o^\*A&o)5u;ڇߵ_-PR\_1E2s5ֽF=V$RLivB⿥X1)wAҲgvjtPԘze|kSr% IDAT>7Np]h3mq,^AM6QHCֳbc&/_aa '4m5?ʮK?\FcSsa쟪QǚQeqo:D/48 n4 $l\2P8WϴݎS_qPYݙjt皉Xc n4Ьdb<[,VK[0w|5Uү)VL)uoQ@ Mc=vϞ>̎ٙ .U9H 9{hIPph[|5l8M]vSz4ڎ|0"&tg kcSgT5 h> kY; G1M=F_z VU\Wж3b,t\)9,h$ױ>#ȓ?2zاdD1퉫Dr-akW09nͩ++Ҿ]BAkZҊfϏcP'W:ם۟1@P*T]k7GtLe(I`/OPpU\Ih\FCu 5Z0?fפțtu` y.bg2N(F*U{0V!4jevA%iا~mT3b=C'1iw~~@맿R}M tUkҹevGd*KE7@ǰ|] g~kK 8,CcZe^_ ա)åMFʱ4> 4E֛P0*,`j2l JȋR{S30iLGYxZbMUbk_\6 LFbwk#';t98I+"u =pѣ f`"Yy'eU5bSSEHq~V Ry\zJQ*g*`ݢ2 V`񗕻&vGgdə0dZV!Tq3Kjn"NX[`RYEJdS%4 ҙмw}N;c:0n=ykQ$j-2dbT%4e R@;ɕpaf1tg0P 3%&+eBZ8O^}O+Fu{H[RS|\SsUqF aDe&NoݓDuc£GrU1!1ߞoSyY$3L IquCO}eek'ܖE!(ukOHct.ƒ06$֝k隘gu bcC58>hc>! >+<8MT8(]*Qqn&|x]dҐDBTh84uh1/z43d `E\_Tkއq7l7V<֖ JAη+B;@ &i{Oޞ+ڏR3׆ 4b @~c4u鳆ӍEvV.jU M$Pp#:R, p[F!5+} í\EC =.w?0_3*),oѽw!VC~%Ka5I=5{ M:~u_E˺i} RF+Gf%ޤÖpB[d<_ו$m!߭ qf",  N#-䃯`7Ӻ; #|=!'1;3qs=b Әrcv0gò%V7.,Q3LYZuY\:{uaǙ* 5Ap=~3c`yu  ||N$X5 ؀K0x%{cdARXEX 89RjTQ`eYyx  ѡC3PC`o@wc}VY.4]-9K=hv sdi<򳘾]g7`7TSM- Q ^|ZUiB$a =XqOX بvKsa8hѷa7i}z4@b!ݫ-4TdLg?" g # q I&8?q^3 _"HeHcΜ`ߎO!"$'2I|R{-z{)0ya7JT] GU+=gA'vFhl4ʮɮ+OA~p#d_sUJ+(ٙD x-Ĺuu> 2"G\iؚ݅e(A6('*YR Ɏ |ffĄ?\ &&Psxw8%iMT7FYc 9k +똡7.jp4>s>~uh{g{'}?ف\9LT>i)hi'Vv;dR;HlUL+r: ]Kf/ eBrU؁Śǯ v+rb@J2?c\kj?YOJЙ q4I`-4ц^9Zg~Ee&<޻hR=&!B0腁B3;5d kݷ\H}P(H5ĸǏԌiz~zri&hizan1qxC~c9;|',=H>B|(!\=v&';*0I\؁yO-HJ ?#fvX#ѱOǾ7±$1@l<;=1ILqlbyh~xh`ֺ I*.~Heg4T4WqwcقM؍!G\TKߢ(͠?m*@R7 ^0OLaɚaVk$!a40m<}ByyXmr7 d2f`(Mo9-x?6 qIj+DM]7oԾ2hh'(ܺ|&xBix#|+\4"u¡E~YQ3If|oP<.9/@@'D`UHagiv˭G-k.lXgy4D&x.c,X;ZpR{WX->k{;q 1ք )/`+a>CJxcWd[xRi0o~E!+̚JC1Εv`u^|;?N@.Z <+Zv~D eEyzB.-'x}fe?!$gއ!T4Hܥh13a9Haa5a,lo.2e m&qKvc#,8Q,|L(3'6Y\E$u!M Ѱ[A~ln :;Et۪ 5{*,~ ΁+qF&Acf_N$Y&2̍ӱ΀M1*3Blh 5mĘd:#P!ӴL9hɋtr(4UH\$|h6oQX-1ᯰlVri@LM4vI q 79WpU#0Ho>,:rZ!"b,8iOHgUN}g=Njwgtefc"Gәݞa¥A<Pծ.C#[Dc҃^ڂ׉*`xm !+r/}u߬nA;~/{ݺl"r!z91cݯM*>NOG_gc3Bt#MN`~bNn!a<Ϯ1&X shY(Мƀ !t{倭썐؅{pk|:9<։\/3(VvE n̐S(}iYr;[;U}F!ww>-N+x x#%ڡ0;? )ķ0InX! YyvA+pzUkpmLmF}@v9(J!޾6$_R .~_|;:[ۙq5cߒ:$u6~kO~8n0 JxoN+O#盧DL,t1ʂ,%o \@_`؀Eo*ɽm bo⵫*Ʉ[rc_WI "ԤGFrσz9V[dA/Kq[{|'.u]gO>~ B^c BLUȇc4`! ;r+T[bAs!S@F9?[4K~Pfӗ,8TޑE>_Yh}7>8Sg0䙠+Yِ^9_|uн_{OLMٻ}^ojG$@̞&53!EP3a,OOmV6cCmŕ i[K29(@ehy6Kټ:*'&-5$AZ[T=cJez&{3${vqCB| nwm zs>r)1}A &S5>i0S>H̆SD iI[M1-FR;c4 VlgPb;7 v008I-*BBEһ]䈑(a9LF2x_uPE"r ue08S0( []L1><#w8,\S QH،Z0C<1n &I=ĥ07@3sS4D6 {nvx+`z#5AIe&nVn$u&IBLvKN%☻/χ9'/E>gMӄ/Dܦ~&up*$ZTIP.<Ԩ^}Cڄdq#>D :k8['${'w |y{askVt>'ߖAv;waTHz`| v> hF.L%^tsT"s Aל4T֢vװ!Ywu`t ~{FH"q=JQ9 `j!. @э9 )o{z|uE̬(/Rx< ?ny\Y-S(M$ܙh( .;(SUx)"g!{_fHP.M&0cumuK}1Rk3 2$ɣRɽG"A $<1N+3H24WO0"M L NHь;^sږF&5 }ddFGY6gН[`b?duL- (zb!mŪa};ufȉDnhiqBCR>ao okìJݺ! ]vh(֙![c!s(# l@^bZP*P#֨L| E33!(E3s3ǑUy:a:C]hl`^tkt(nCFȊd34 pG=^~gt4;v<&b@&=rLD#I'V!21Gtћ2M ݰ}:i OK'O?џ}̠vW;iCc68>5=4#D"A+{^{Uh~ '_3Oߛz/7ohN#RE9m&cg@HL `B҉?8.U G5M|6(r; fM5M@cK;(0}77#ԆLb^<\VF8RQ#rpI3\P& M/@V_X Ch;u`:LNtumR -v$T9eNֽJEB@QsstJ9a<7tk,fۋ 9E%{{Y$cԑiU!U&>^,7lתC}w Z=<{o~/ ٸ俸T5LBeia\!lisI jja+9b'5dU=Ok5gA.֭˨ljF'˴̊X_oy< {ګu_ڡo}NO$q]F=N:ҟ2uH' ڨ֜W}ݾFY}?w`0SV[W $;nfG>ƃ+BC0$.w9d6FK푝 [MdSnjF!Pk_XyqW]Iӽ4DI JLrs͐Q0^R> }@mP.a86Vdop $5Q˰shB bJ#bE; S \eu.#&oiL3nrvY C 49<:bZ#4AF>]lDgƟ7GEafXMo- ATFnʼ o,!yqs]4-T)0 PSP,31+f-s~R5s5 1}!LDO*F H OO69p `jkyJAɔ\S)vſ~,emiNb@ {`W_\KC9zAZSFPo FZ"_[(pi.~O .D";_[_G|/2: ۊѨg_Z5U6ٓB4wU~l 13s =ɮuB-Nځf8A&<Y̥5Jjd+M/ ߥ0[R8Y9jR+Щs؅F;÷v Z}ٸTeՅsYnwImNhѡEzݲ 60AAσ8e}G~]ː q[DB+X5i6Bà%\&M[qÜ q<4@><ͣ&~ľpb3LQR[ &>tAPVMGoj,,w쇖i-dJ/ip$Ox9Ζeqj`E9!74B| vhQ$@^llGAI+6^`l&E:nQz6V8vƅ1VZ1f߮m|"#瞝.? MNtL(XAZȇ ;8mx5)|ddX[++4c0jT\ Haƀf$9m ( #72yԀ,,$*B\Qk2u}̀=D6+4Mfu0Mfᆔy2iivxfʢwI-N)v=}wH9kO !]E0$([+ 4nYnz~h׀#XޖwE_LLW^=Բ STDL{Fcv1*>upGD9Ae3wY*Vb!d܆^~CCZe@peu므 }qJSL$( aА ƶq_PL%κ@hȌF2"a3nz~IS6u6fNV6H<(;m#g'f=Uu8E : ^ѡ{~\H3ڜa1ÑEr:~Ͷf8"Si)"9hͧ Da!Ǟnx=_W{4#,>'3^?Wǡ\}ISRb9+ _|VaoGj1ɷN']Muxd uSg(F]F0 RӭE*m<(,G_O2zZē.˿fz4AL\*{E=% M˂T.? d9͙vL.U!AM+K,⿲44 <δY/~Psy^o I$nI8a=>/0|j]11쭸Yx+sf*jq)@ h˷u"`hs P @vAXg!3$5D.Es vUAR4!28(x~F%T+@5ȀKUCMcρ+LH7nc" AxLJ/y~>gZV`[N$!}eLqմaIvfyb79z>}ū֧ΘS4lN95~F&Y)JzT-{dw?4']~NoxH+Uef>ǵM.D9jT=wήߦMF؏}n wHʣF=eL,./iB!*X_{(KwSSu*꜓Z9"@`3=3c/ﲙYc1kl&"0BIHBRu:wWwO3H==j+z~x5Up_妁NijZkA-aSrU% C:vZkx@*zqK~aa3} r\4;mKv|m*+V [V"SE&bquΟU3h *\5>G1p4jwFBˎҰh@tvʯosw`")$?/v찧$!CV18^eWe8'&$!}.2nzv-M,})`Vy0NJ!xvo?xă D/FC3ÎuO0bvl %E"gAzDZт dR-?@ 8aV'Yډ^ȄS_ xLv>Ț&-|J&if؃m5/J,ǬͽtbE;C_wA]i8 VjN9IxpcO^H9Ɍ&#<7A Wd)(A]D{_i@>ϑ'`)M(TԨNsh}_IPKڄzoB6N=DL!,H/`(>7<$(hF9 `-. wiTSdSO,WgrvqZ{ ȗ{EnGuxwIִ 6d_ɚdb~GıZUFu Gu4a}7Hr Hl.()~/=p+9MNzoJf2S@ը%Ynx^΃0;6z2p_!ukHS_Ż>׼8tJ'ywԸ^ sJȹxw`Hdgr2d~!{mPSih;ԉ4 ďZSA l ѮN .&H9$ Su^4D]^``OAŴ AaEƚL B'En^Lo Y H@6f]|*ÊƸ .I?DE9x +6V=%fAFa~$oAm^X 8{ճsB\e}ѰNXD% W1 gahw :Oo5"2;,(bs`z lĄtjO%NZ/7oj H܇&P+ruLc7:tQFjw=K:u^XzfNZzekNOɳG/ApKzv:( И ofT=s$N`Q+O~ΑqPdn 'д&&w-L}TKo̊6(K@3|e %jȽN`:VjrH_>FiE½r,y&-}^~ 9C/>57.v%bj7AS,z # gpa;n}D;I ,Z~vN`yf[znW W܄|czL'm0MjG!s@&+atѠl7#daϻjxث 踫M4Z!HֶqUX.XISc7@#>3!CN#%sP4`qX?uO2uٝy`cewAѣ k!KuO֨kSrX>95EsX$ X%(geIm"{qi%ѭN$ކ_tȡ] oAÚ66fk[ɓljnk Cd/ q%xlX%,wU4?'֘k#d=,8)@@jjÉnE]-$U"Nن)4Ic²ia5i1`Z̦y^#C -ZU`v G毄t1. I k㽟s4x41/Q\&J.:$+o~Q ~[h(m !S&ᒤ+y 4z_g&1MG^zqmw7/W6 +L! o*ceӓ80gxe|ID=o/؈PdF9z3a2lj5LT"R[hF됃fZ 3xhdHwdQ)T7x;5O0`/-[حF1B!U=) hVbw"ftd|6[Z_1*\5?mc<[#[?lNo<5c@u&jk·ʃ^gL@JL_]o-[el9hL ӟr <> y89::I|h)ql|?m)p2 cOWROπyν@]IQ>6;.^_VI@Kg9裱s˱s*6#?B"jZbLjXV-Ҩl, p 8 `S_XYL?wy4iap3e"?LKJ^2YtO3*D]lKr~iӔ(@+,~ɻ PcՑZZygU䥓}r) OQ/˝JqsW09o4(@lB237p7c) RlJ-T L~α6/H*Gf@ ه'0Q|4r(*q"qL,}Io]\o&++p.NL%2l4UE( Y\_3y׍tONFfː) ?(l kl9C7y~Ä,q\\vWyOSe8n9p?fFBazY;d=m㾢SLf9sNt8Id3"󣕀YRYs`O7.fq'𦟀B Y`"2 =Kr}/GwX.,jF<2r 0ׁVqX[G)- g( ۜI7l!@pb gb:<)1[ЃiFedYj|9 W_+; q =kWa~@/dHs@>LT7Bw,fP!ǯҜh4!MgwDNEwqKH5&X`sN]ed TB[L2ܼzf&>_#}o6KByI}fǪOc=nZp{F)p> a9Ku9sfoVW}›bb7wЉoU/p~*GKyZ|e<4!I~`-IN ~ vMF  :@ 2 +˫\k{&m R! v0j \]k 1b&p0u,VG֒^bg?o}U7O9P7+H{pB}Vylpf {kLZI9R˲)ri-+i HOb'BTfo]ʎǑb1Y40~:QhUZ6!!cЍ׼V-$EgSwAgA/cf29i쏷߂L*fڌ T}f|{K'&߽(Va)pMSt3hYa뱄' x^^s>Sb>) x?YIT [4_)Bln2xr`t _B@`A"!) _]_;Z(XcepPP)0Hgoh)#MSxA\RVzVV/Ax 5d{v2(')E7dٕxoǺ#mjQͼY"Qa$ef8 p_M&J|aY&Q+R@HEy7<+bC`EZy |ΧKb '>kbkoJ>Їo=@noń}q5q3 {a {(  ~B~ eD^?ggBAu%o[9F(#r ,_v;b/m73A]_F7OGv/ia(/@$/^N&U1pʃEfz 6)A-ƞ]$ €wB b`wd@% iQ P)\9-֬K`)jno'ԧU 3.q' 9l8`PuX5 POd r\K;Ѽ"is"'Ek#U<׀JﻃF(΢xX/MW7Jᨩ E8"kʹP4;$};.6'Icu]ݘUMXD&(`Lw@cE fؽyS:[f;/HRKsSB" OdaP]1&oۛ4uu5' >@AeLZFpixljƞ8lyt8Q|9\0`b"s 63LLQK,)֐ly_(8+k3e >2F}*Ah$݅ rC% a4`BZg;A˨1(kއmidfhm$A}R0Ի#bt!AXgXmH,#m\\s!QziO۲t0ǔYC(.4IdjdQ@cu]!D ʓr4ȇtNciFKͮˋ/bh7;} L5\ӸgK AS7 N( kL$&$2F*6HNp_>tD<}u4Cv.`B5.5 ԍNVڿSDw#tB;O1țW˙Y,{$M22~ EaE) Q~& pt"u~FtQq)C2Twg I؊b#.ĥ /  +VA>a9c^勨,|FFDC#(/ VaMMfp=jou~q߸~κz "T?ofDTV~;;Wτ -퉯=sme wava:9$G/{i*|)c0 *3= :E:o\p,teSk<:dJdzH=ģ}ei3qv6&D3'c[d?ѧ䱯}=nu"gaJJ$؉ HE W~)yŠ$JY SyTb(LX"3$E.HDQӤ=E(0ム+UAi\` av)#ǵ6h(XZOhaqV/Ξ7).V0kx/(Et C`;|uF" r1 ou-0@p"NMK 踫"5Ț3-db!X$bT 5GCdk|E4x ,~C4ref ve S .d^䐪=i¶n13&0A7jЀO!ecĊb]} @Iɜm,0*܈26&F&gFX ,oݦ*U*.tM)$ey&PLޏ [2tf-QȷY IYiLvvj5>mƮ(fbS0eiԞՅ`:wQ t_`;82]{iN|;f_>}~ Ü㲮aN@v97E D&Ƅ4ohORfxSN5 E=x-i=Zޅ0$^ {x.IJ0<'dz1^3cֈfعh0IYB(Ӕ2>AO87ULh%>N ِ k kP #c,wuQD3'I|[?)$G-ࢩ֊)[,N{k(KkHis(uRLKd,4$Ӿ2k O[k:ãs &~}rbG-]S(xdv_νRLvu ejiU\;Ca"䒺ʵc hjP$Xy'…=|RfqP h㾶xS '=fN:M@1 Ө3U[gLymc|Rb_wښ:<͆X3Юܛn}\<7 &kn6\斎`r }a|GiLiRD3#݃W< +]0=2J$|Ag"]Z,[_\rk)1@3a+(:(SITCh-vFEnLkS_z/7nG~m\ \''@I:g-:.[PIGRc3^&2aO8[Mo&X,{nWַǑ̑l'<<$%\4`=2^cglDԹl<&t!;kh z\vҊڎ @',{vMTfJOqd:1ӳh5} 󙽲C <ÚBE_kQ{ gF#9Xf&"Up5Js%~r:dl~9 #[rGEHya绱@Kog%f¼~if1!:%寅KL~m!l 8k}@S&=nSqȊ$ [\nȽ$` \|zAvn zDړ^R{P 3EC;U)#PM{vuɒɏ;6 } tF'ʆ{i&7G{? X 0s"=Wg' ɲGpl%Gfՙ9S%H\\!|S2$1MA y+"ϬJ\4Nm.NDLQ!mZj, XQzva6g޼P=deIQ\MYt2AXgaQ9_<L{߮RK 5x;F+rP bqML"|n9iFQ Z YSCaK5 Q0%;X)ʎR]JLdfYo/ 8Z`X<1aI6FCae^2ϴX.C3@Us//bj#/I?mPWV4{A`uZ8#/iy!A Z &(;Ek`/sm5kGP'GQ0S3,r oa+I֌g?-Xm]<*ߓPw=q+~kKl):p܌tvJ3y o J <%i a6}p/9pC+^ S@68􊸘t xl31`/+a&^(`$E^Fc]9m4^ ?hQ:yQpS4KIθ+]Ygy'fgS_KgdmofŃ'+ر.B0%a^!=`Uf'lf 8% s9a};Ʃ[^xJI2$nc/@3e %3};F~ v>zֈ͠y\qq{:{zʳx_'iLI(u&eڗ[Za^-T/R!s–Nr1  Ziجi& l59;#3w[o6ih<}7` V$Ķpz} z`_ӛ+dE Y5g0U kUY9f0h6>(F"`#X)ؤB21k/Il'}4ֵmfvv$5'U zY&w;hJ+@:kÂoU:|/{)Zt%PGϾ8pD v4~u'5YeG5sr) ڷKp0$nВ& a$P㵇vN6JoCxP(:{obc,^JzPv"9!Z_hUIӣBSeBԯW`+E=4iPݰN0 kV΀4HUZuy+ta#r۹iY74ɉ9C{ȕU [VKϞdm{e^å3rFH\; ÅPդ2gI5JU3j)TYƸŘ4'=:/%!m,/!M 0w#>9D$͙KHȖq˙iV\i~rx+bE|qbVPdA ^4OK[7pv`uȗi/XnA]nAQcU!YU, U`44xM۱DVȧlǨ z%ih$MjLb4õZ) rm1)ukS BdV̸` y0bW t>Tam&kzqTeDesϯAq:/ |~~(hZq ҸAn]HsF>t+~*8[Y5AUlXLzI>G  ٧ d-ۍ87Y9?RA)FQ*p)R6 NZUi>~#+ws tLT\g7M.P<FVp)9=%'ݮ΃ĥ1sI&2j)c4ldWgx9d;"=z-L+Ts _`N:J@J,dFC% %@ ))<=msKvt$[1ٲ )YdH1f_cпÀ["0#ps`# `ݺ0yFcV" a}>*ޚ{{ aPB4MrEL~ðhGV=(CFN$)4d^d#)T瓒 NV2A 9^S GFdtZ)`?B lI׊\ ;h|A`tUU*`켄<E44"ΒðFAYv+oD<.0h:#&X4~Aq & [ZCU4HTSyy J-fm90qV[I#-ݚU ms:21g mjuBO d,4 #̤ v;`_ݹs9 B*wop^bk3L])Q4\멟H@fsQF30&CTZ'¥I4ꗏ!d\]}k_\3V aT L"4+@j(3 OAk4t5[VUa_H X9kl]Cl0ȃ\e>_@ v Y"v[_},dj0AUv9ІoTqulf/Uewor.JZ׮G DE|tub֎NXŜHٜ)%&ɭmׂ-`:c]])_#/Qܞ@ sԂQ 33 '9ك].;y ͅޗ=8ER(5 +*M\U6 >mxyU5>rfLIs^c33dNMTC(,p7!d:V :a~D|+4 >} _~VI]~KQ}p-u4ǚG UDf5Tӡd&LH qdV?=\+74Jch)* ?w]k1+E04~Z/>b!?KĹvb>4!v㷟=kLʰW]U {6S9!Pa2|>Oe~&},r,+i({s6qFeο-h”#01|ڰNmn #jqo\*z)&R~`@Z`c L JpÌfF"[c?!ҰH &ҲsE5OE "e.or&e ##BW@¦"EĕqcO_e"HB  2ҼM=0q^%mp`a3I??Eն9Kd޷/W=Y]8P4=>'r- ;v%&t{=kRJd5ΊDE02ى<} ,ȇ:0Qc=)2_]s\C`!9$~Drjx I2e(TLީr-ku3 צF"^N5glL05B`E^85ыpURelGNbs&GrޭDOqҸ>}6Y09 PJMqipߦ!>KXL7]?wEٷuА#j))竌iDQAՅ60Ljk>Lr!`-k3XPŹfeW_|LNJ&4_^or=w#ֵIcㆤGcĨ{'ŘjOa8gD6fy-KCx_?B_x(X.& `:7(ò G،L/~/peȭsf޳:4xHDh$D4FY^*g8)l%`͓[cx3k+i&U;d3[ck|K4uO@/lͣǔL#LmB80b֊RV^7CoY7Bf@F4on>zR':TZQgB57Fƭ$(;]|o64(AB +[Xog+Rf;}-| naW\$%kU):q5G᠈n"T%H;|60uc3~CsbȟݷS_p$Ln >2;u!N k-dĺne+φY u A&.A$jwJP+j6MՃ y'Gd _@ uOrI,Sig9_l?@F4owG_Μ8!.;jkp (09&O )pȃ;86\ eRx YЕ0b()[d6aPwpvG _H՝0S'z!hdd/^pO4C^LBÈE=[}eO0{eAoVXYoDeL=r~+<HA IDAT4u H@]GsIDV &)R&.\L,ChULVk#^tf6 u5M?1hzvoly o`2}-1S> R}pP3)Zu@ј?rV/SCvvHEU$ᄄ&6<}TG9ɏю4wd T(kE p/W{œS S>S#t36@ڏ>VljɺG'f kO4P YWƮ":[b c aK¾=O3⋲Zer2)mn/nJ!] Z5-*A x#iQr\Ii!r$ƹ9`C3[ "QϽvְm5{iN@ ]W/vƒ,nτgY#r AlKҀSfDֶ~0%\q;@Ba$|Hl 5tyd CY4gB&|f /EZ٭?%$|d\3B<"^8Z 7hhuqmS/pcs~35;,VNtw`ރ_9EePJkam4>K^ ?.4~HVhƼ\S:K,nEVAtz㸓o!bQ";@:il|4G|r 49}#;;ɓO|W 4C{&{z7LjӠ{< K){uã':05 UG~qsuUo[FV,xD6:d_d.*`q!;c9PZV _țG?$wsask ^[g2nmgdnfWYR82qˣ/w [AeYiFOF}lJ& %7pHexH6X-(l:$D?9%E^թC+YS ^S"=}En!Lb̹x Zyㆧ2V^'^R? :MQ7RGl4Ǻ/ _rFj/kE/ӑo|]Fk6N'{h2NY ZxHl:ՙv4CJ/T)&?quǪIpq5wQ@uWl-=Ecnw=,TdUz*]Ln|yɇSd-_HhbZ<īE^H|rʥ4 >^BO+߿srO(P6H?aTWy*9(C蚽@535rӸ(._ {pw}(6.#GwnRR$ wh] ڥfP@(Osa*z2֮[YCVIJ[~\kZp1<| u?/S~Bg.=o|;1kx1dUNUfFG y9^]~GB7JsVJ;$G,1EsYyl)^ΪƊ͎ *XZ)aADtgLvui'.K2swc"tͳ{[˜mo#E8܊, r7͋sGJ<)5BjWT%Ǫdž</rRFhVPqֈ``&YUtHE$5f1S3/fj0k`Y9SSʬ[C̵zIů/@~Ck6N:9UTz%w3Vؕfh_2hڟTΤ O-huR}`<0z>FH7s&`&vy beb:am"h\Ce|-Y\5iQ7ʻ-07mGUt.?ymYp6:KDz_Gc0$. ߔ/%"k95 {MF2 E\&, +߮~^PxfC\cIXD楥#@Z |ıh 1i{(BeD9ef08?+'<;|Mɉ*}aPFCf"|+ȁf"2NwRt7Ȍ",nbzy49.ƪC8)('3rsrǗ_+pbnos3!v5Y\$#?tUx&| a%}+Aj @r~~mz"T"[78%|Տ^m0.H4 33҄INw\ j|9$!;Z)A~ ;Nڦ })>gPK\Q' t*>͸/z׭r{8YrJ/ȎfOO#2:"QP p)J!.0~`rAC'tr7?dW oV5VQf\r8f5dRr, |6к{s_6뤤l̷ (Re`"d75µa1$jI@}dJk'5w03W߆_5ߺ03jl֬:}ބgRRFz}2'6ܫ-w\X^hoX$e-{edrELȵ꘡ P@3u˴ 'e'mrʑ aqbyAoHӹ#DO/O*&XO韝vyr.O,*E wte߁]hBS&5u*qv UWS3WƒA`Ii1];K{GP(Tn Lx+5"fO\ 3},.=.eo^~\}LVVWjNxͱO@-Em{l&S4憺Jm~n#1㖯 8K.~ q6LY#6'?@E:kelb  Cvʅ+pCHf:cI80!Z;4Q=Phb.(5+ȅ 3+-Lh2׳L*CGXjJ]3p1^@i,_PeGf7.kXA7&3߿f)z%OF$)S࡜X%pA+4x S^)$XgP;erFhfFZ)yYykh-xs [꩷q1'p}LwH%<('_>8V#– VBCe ˖[>"GͬHv;ol[wG7Y>r-]{FH]pK[+AKF4T\{۲L: rYUU|L;v@6[y'^a͚U=r\<[G8J% 蔬}s oggF@gS Q Wu 5e,ո82_iĊBi0EP<5WY>ؓUEgw` FC IMf$ ne9l&Yv$'rm.x gEȬ@ dGȘ8mjk)&w>Ɗ(^dyYTKjC : rVhk@<#kGSoM4~kB& 7?ym@~U_'{ܩsӯʧ>ru:r&i4547S z&VQ).}6*<ٳ3M)fP &fS 97P]6~F&^C?gXD䟿O[.B鑅i`v$pϓk2 V>o/0A@X2Pmc2_qغwb"r=f_}NuΙs̮H+VdrƸR 7]ronB S.$!@ġ ca#jڢіK=DaDg\vw>{~ef#!t_g@Mг/_~&vsŹ!]O.ǥ+aËu01=vM>CVGoBI1dv}&NoMI+8w> 89,Hx焣|"4>EV;ey4r0)κ xX7˃r^>?E|Cr,y[940AÄc$N Do&b[<.MM ;tXy*&IÈM`E'LRHd3N\qh8P뭲b'G& P8W!HHקI M\Yk1ZGO`(ȈtW*Ugm~\>пL/=>GGa.)&}`E~qMĿ?! ZpNlQ/Z1\Tvpâ$'}YD4s[-)*ɎۚaTcTJ\V_o+myg} 5)򘺏t@V*Zسqe6卧F?C9ƽ. 9n&#*{;Yy,'&,C7!Nq1 7nJ?H*^@Z'7S\f\/A_"sLYy''3>&oޢ"Iuno,"94[bV>Ŋba$xlm|. y;Z:mIɶNY|&_J1FMf]g`o˙Wɔ2wlH_Ea%(IᶱJHR(lQXdC܅ӧ-z%/3I|*[AoߓoxhiPػw!0OGCȱw|äva+T yGL]7nپNX > .>S<7ȳ_EȄu!v:{}9 |QWD~0 ?R%}(NPD'wӶ>,//>w>j@uKqr m|&EU ?}9YYe~gWcޓww z+G;{GVqc!]`&ZzFS#:c8Mf|^#;s}j`0_/om]G_<_ȯ7?>VQ{Oīfq֖5صEUH.2dr&f ^O Q*@GeN>!@JNp\)dʮҰP=`}!)9#Tmߏ,ځLrP]9 G=D[Eޑ'/:܂_ ]w$W`6`­ CoqXRأkݣŋ9;vnƬ;%'R؃d׮ S~4Ez2vҫimY-L.ǵK$d`MB%C@4=wN7n:$V9u@uO=#N<7ʥJ[eI,lЇ=g/[KOJx/D < .@M*MK IS$4 N&B(&.t6̉r? ib}~ޚodu}ävRF?a%4k{ vlw y"zd߂}'_soq&;+'R^# 9U{Xp\ՈpFhLq|oȞwJ•wQM>yym Fn{ ga)01ے 1YߺDx˾1R^D6f;x'~Mu1S+H AxW;H^(> XjP@=hD:y\jkD'K+$w4 \TW @Sgc'؜9JrbxL0>`q{=$/?Yy;By9.3:,1ajqk;AK#@zlS4fS0iA2F5=߹.T;LfLx$!uBA^6 |Ͻ8ޏ䩻1ِcL?cʏ)|x*͓&dq SupCp}$3&Ż4 I96'0y:DP8#cslS*FGn,ZEsYĒ \b]”jҎl=~ba_B9_ Md ,b/S¢W &J ŽfB !fh<5;~ ߏ?}~yݘu/'[G`ĺ/N(c82ME]YYkgOZ)1!Liv"pJBo_*CEW;^^Aң vRi-03,5qXv)ZaG IDATvj:{X~HqR_^]ô;IfmҴfd{*'5̝I$(ь=Ԝ} {DŽ0Ł:D)]\X*RtHajq P\kȫJ/Μu91Ǯ׼l堟 ihvG}ujC`P!EQz$ |N /#IqbI>]#+,KMC jlHVlP<^u@-1<\Nih*LL2ga]XW<߇/ߡ<~yd3|&-RI>UY!W3.HJ*knG(58Uz)xylT4/a~/&Hkm1w/_<)L6܇”G.y$AyV Ii[I؜Nth3@j]ʞLHv6@*cbVqPFaUx*ߎ.:)eҗN:S`DM9ƞ[ hN@Ի{dP{4L}=PͿFM> 9ͫY`vSx w.V n&pAуu~ulqQWaU-ژiUWX=D!Eé7r౏iݬ4BwvyWU_VO5\' J@}~ڭXDL˴8nb!w-F5/H%z0i{k`K4^^39OŽ,"Hט1idfna}thk T}y8?j4 mmuCԈ҇Oe,xAὬBn`7aV^w4 !y, eQTe}'&&e~kTڠh£5S=·fTjH::a}A]||n?25]09[ƚA]oYWg8#/D]<>#0:%^INV }yz 6a[eɣtt`i3eh»5&~Q`M>Źp/~B>T3m u52Ö7\yF% ^=2PaE݆R8![y& rf8h-<+p0:TL_|X5$e`tMasQ<}p T۝B!}sUr)LsQ|Re vmsAט^ŝ}K̇P؀}Ut}t"} wf׾@:%)\(rsظE!ui~(ZS'T?fi6MYWa+!^ׂaEjaI3mFefLr*Rv- 1|33N$0E7m]Q67Ʉ ӥ]zYyKY+z7; ̃Se 6z[jsgpQwDI}O+ClzlUh4 {xu.j"6&L zO1龟֬Ri{ds Ej) QsU&H8=DB iSorzV{<CvJ%K5 @0A&'b9󓼟 q,ajrs=l#?^j7׍K@'5|&fŃViY`؃='9Oin^i[u!1n[4=,4Ip>k- sdE/mHRh{?t/SOc9J4(L\7?{Q10O ]k00һ.'L)(@׿؊Rؑw\3ⵐA'"ϧn+FMHip'h8qUOAvW;p`^e:yV#tl=RFeb k'^;UST_8SGzguSؘN~{)oT>I^E`a`y%PW-h6L+A~ 8=.Z46׿|7*P'U "MR:ϮYlC+iV o$8?ϊeUsfY%\27@8V wo#1_V(L|:zMeY7i40I*_}5 tAܜ )KS>drdŕ^-7-e{2C9xy`Xe=$r0Qq/́b`&TKWr|pJi[~KNf}*8M }ݾB?fݿu C IcF0fs7Hƅ Xifz ncNrHpRAR\А^Qw4rn+:Z+ "\0HX& u5BL&=κPf|VaRيWeԵ&dYCy~v!p!ncL1)0l%]X1(00ԝQg\huNz(TU8em'FBѮ9>^炙|ky]Vxc'lM5TFIͅn]~ i .:Sy#6mѭ1=Bn ;yF[*|Nd`l=ZIrӸt5]yngՠ x4VijC4<:sRhӁulx^r!|CpPmnVašjzIxX xAh5] d1meO ]3y~à8'qߣImRix-Ur*[ÒJhڤyNdp=v~pyJP PFp;{ˬOs.)v }ѩ{9N4U9pPΫ 94$yQϯr^‰d@z+pC*}A'dj5m#'/3% 83# y/n]/h|^~GjN^ReD9tˎd;\t4!UM͐:!2Y95Fյ j@!<\m kѠxXj839 b_Eg2{k׽,Ej[&=w0EW g<~ 5X<,4 FӢ )wx ӑ:>Q`pI\Ex=aN{CK72|ygݢqsGhPK`:E%4zpN z&u}e:vCHkNV/n3"kO}zh ẖFT"Un=OwASn8ӾFV؟*<Yf3jӕ8g`ܑ=>ųl4YAp~9Y": ۓ*Z(6T>@Mq?qCJc셁c)B43d.A+/O񧐕x7e`h%BZ _M$=v!h\w'L}>k) :|cp y0 #IT\58~r(I;EFx1VE Mjhi^YbGXv.QC4^9燧Йw gPݲtxLcp\l?XY'E~1F`jʪАPtԨRM~1ne eBS63n_\Ưd|^G<T8tQ,LM GD3=:ڠ!8WjAkIR,}2 9=ӕ2]_(zF(򕤥c5BneF(>  z&L4^qbJ⤑5-dLzX6wu_NG8:9zu@"khxi (&mgHvV]t5ldGKlk7>ME hOos 'RNhB4$0󕡯;ukS=]w`~}M>VDөj'X 3MSp4XZ@{1bkkNIvnɎ[ qavA>Aϥv@Cv'8)S34% (mbNڧKqHxWկ^? J)ǁu@?=A^F$h*kS۬W:(q~=[iаsc3o= Jx}EtK`&rcV&~ʂlyXF_!z_k3; HT2& ukbUu (h<C(ޞ_ )><*vHۂ; jxQ4'AԦ0Aq{Q!N%;4BXGdV !`ې"!75 ݫ2 AcMM4Fx~:!oM9{osB0nה1 O>'$N㱆+í; D"悭VF;Lv.,?W)]!2?Zyݩ#Y$`LEɻL]&Mi7E 9ЏjZ;U-_ݡX|%Mz3P"[vvIozVl >C4")eEA& ;[$7l3FwAjk$J?0cѬGtL Y R =s5'H%VT{^ˊ7Hyo-Ώ {f*?4UFƎEvXt"[! _eWtrbjag;>:ݨ Trq<%h Ґ>|=QȄĩ"$r hmYgѨPM7%㶘QNGƻ ]998Ec0pHX j"\F)kOeZo[1ĉ;'FJSX~#`{T44h=Ќ> ˬY8U $b&\p>ʎ@W$ۜ?=oi~\GpFiF\@2pXeؾmh Zj=}8u E&`6nn4&rA65;yLb $:w>h&MLs:!/H .Z#C{L^}P%!Jix7h+Wم@Q8/u楈>?_u~g1PNzF-0V VXlB֡6.L7f}B8̈́cLu:CAfJƔq^K>x7ٝF0P8uf K/jA ,n՜~iM E88f,rPmh䷕|Dž}O퐕QIdR VC58TB-4 &)̚rM5B||Fw|gЭI_KL9jxL#%t]`mJ՜3s$Kvc![,mGMֺyCLL%=WCs9qJg[iSZZ8>y@{6A B%pEIPCxȻ0ȧ4 Q4$2 ihPeIjꣿY . MWU>}票u8.&]VPŃ HVNðkӝ8`k{y`b@Ą(f o%ϵҢx)A&v;ӬHY`#,ϢaL=2Q)9(^%PpۧA,MV8shqc|$ _BJ$:E r.>2J.@*^+A "ۆ}|My9rɩ]@|xO>Ή5"saFo"! IDAT͊L Av߹**ʓ?>;kx uCtjA+sQtUqʬ|4a~ 6huQl;rM? 0Z$$ZnXMA`A ¹Sbi$*@m^ne] }/u up?wtLO75 BBՍ:^7Kג3 y(ΐGu!}e!.'D:Pkb]AZB_-G/H9`E>]$SRnR2?d7pfrbNr9.GcRҥߓȩ^GwG"f73!ЩLKҌͪ]tݯ?>YE[]3߽` 䯨-g޲/|X̢S´o}SLo 4;a>8Pq ] BP""P!8>0-)^%4[+{E]Lov?@yeag _rpƈj4p}Mv4m3'syn͡勲MfۖY /H"X%'qli7qAYr-@T>'ǣCc%F1ܧQ_P}4AJYD HyȎĐ>}zk 8@+b> RxlJL`a)gI# @h>΋(Rm>s`7I#D#Ʈ];| O0C, C>_ г0fHe{E㭦@Kp/H4=Ӭh!aKF{*!]rhayU?/no6>#w#]}ƅ`GOe^iǢԁmEͥ ; <~UZ\dc2 r6'dD œ^<ҠbX=F.H4&>DﵿO`MEZ2Հץx LR8h6Q$kj`"4?{yKfMG?bXj,z[LkLb0{0){ ހ9űz0 hЉPYoau\flI&_<!uQ]_gd2-Qe.Nl Tp00h+`p"$ pDe  ow%£(Xd:,` l{ڗivj7 a.&gzU"idlIȞy ؟9 F?ZNCS`aQ8ڧ&_'N-4r6,pm߽,̤I::I@\S pr:>5Y NSV]/GizS25<]~yj DQBw1K fcMI _]zxo rFT4b (NR iܶΰS~j)i`Mf(qrNdVp,( _s#?&+ʌf/{!duU(N%t:}v5WTY.\TܚBC Նml<VSFeBZ'c>S|nZcbBI:w%>n4>fܡ09)6(7ӝts jMQvfjQdon`<Ǵ?<_#V:Y_G!<@ލHbh#;9$:{^{gV8t+1hRor&Pdꗧ[@u0־x=4wUD&'N/2603#"1}I@+bO@+l2M)L8tFmѸFd@6oRHI\A#X^0pX8\0i fePu(r;uFNF0Gnvp[&_ Hژ%hDz R-^i|Wٝƫ&{J ]&QAuU!/Ál_Ib !X'yRAcqf6gM7x$REiZh@9օLqHN5Ӎj]51>EG~LnvUBPpJ; q4%݋K@b/f;kLZ72 : ِ iH~z<9T7tD1Jy; Rq+\`W/=)ϥ:ecv0&^9 쇭1g2nqb?5GsmoM5G,눕o[69&q\x0@'fedyv]986&Ucx- Tt}4I晑(޷(A5;y8H)u2 }C*5<~V8W7ol4M aG5 AFQn_p3phRTkR903D %vj4w:rX4pĂ# <( <A2L NQ!wрץu ekuW 68r}9\W降 h }ݾB?f]A}F^oBzsفJŽBLxjdY~'q_?&`_kJ4;wB|WarQ˒ دP yT#(B;`2?`*q:'uEDjSYF'ӰQF\ɥ7zQaFfnZ3s7>QO~Z] &lQnP!n0>`OH2)CgT8Ѹl o|E>r-BV5琒A*CpJBNdRjj|_9^g5ri -iD%\KoH㕴.IH$8Q+Д`-)Goؿ>iv~",_w0Fi.W3JGh8(P7~f3h|mzƐi>0 3 qq}mFM#5#dhLK1?1i%1Q3;r9ɏzE KV| kfNE 3j{;5WQ,cwAP<i/.$n*tWܯ؛f,ZN8+}'i^fU6g$HBҔ@"䱿x&MnuDzt,#]_W]>G`|#`1ySAg:!P]2)B_I"ka"頞ޓCr)n>mugo DživmyM&(nQ\%|տx驝P+6Epw< J';Ւ/Ʉ|uF,fsFou8YQVAj-GEaѾ\'l3PhGS@%n Z1d7оIRO"fX][)s=}|75zz69S.@G5@% #!d, pCxϯccEο9 \&v+׎#U=?a _SuZȇېD0D)?q,R2-'Mzh[ G5Jѝ*ӄ`ePpkf$@X_]g_wwH4_'OdNix]+L^|yİ_@YǏ!BІpբB diks qW(=RxOAEbnV՗h*G?m쀣MeBt uAv/Y1 9A 54|%&'B{TPYYD+Ix.2ЦL!$яeca9EJEbGc5RtQ.#uP߅2||r^6qC 'Cib L h󫛒<~'M!{v!|1y@e5C$4E\]1ytMw+ h| }33X%k<NLNlAb {o^T|VE>>~UF8ݜS3܆1kcCPmTQAc Į2!k5tqOփ 7aL~X$l y w"=J^KkDJቫA'铘Uk>~,x/=KWHm^04*S'ٻcM[cVBp1c^*1Mr/{MSEKH|$[s)$R17InFƃ&|q X =$Zl{7)v]`;!`!U98n?6E!s0%ClןnH$BÅ [^M} n&P "r @TCI5(v5̋ؿ![Kc}blfrwq0V oew^.0F:7sŻ(n*! 9vLYݢt#.454S`?0TAMi粜Kk?HMoJgF'=l@|:h_r.|Ay0܃`ED_n9cK\mXYLO!$ Nc5=quK";E,62ns5z*y}P=vZ&P8RgIȚ^ i,3(^| oyܙJKlYD__@QƄSeHpta O׍|e4vA.n PZצ`cPvg ==l"kd8; dQIs>2#dE#LB@=fnx#hЏ嵸+>brdo ?-(}4SLvt6(hׂ~+"tnΠvh)_o7B,_M+Շ|{>uCbǓ(KrR^A>gMa[k.ՎKa[W +!-0Ŀ`!By8- ̑܇uUC%.4N͢8 ? {7% )P!V+Jz#U\x⋰iggI|#FaOf"˳R0wDv'$Q_3}\.S Wc7܉%xHzkZizb?DZXF NS(4˾Nl11¨GB,q)xgVwSِD-d( dA&+vR\uRSDLNqKvIcL] kSIʛk1 iI ofmMllo-?7[yhG?ZeAV7;x.ƻL H]>)#}5[~}Qm%pHh1)ǽ YMs'O~4|r|E C,)nzmyAL@)Ǧr3Seߞ<4R9@\VrXaW~ÜjxZ(C '#H6 %bY$$oB`d8N2w.9nqXɅ:Q4 0r?W<9v4cfL@EB!oY3T`UW ʩB$ VFCR?E OZH"$1H S 5l@ɀ!dC[vu&Q4c!ui 9%9x$ i]J{2DgHg(Gṕ$o F, u{8!uT, P(/<}9h >)0+%wG 8aF'.LVⶈK^ZbF"pGVoZ[ULjT,ֽ,^N-xj\{OZ'ts?DgNWiWF ΡIdIcvR335ktk5ki6phCupT~Mkp 1vj7MCcs=y.IDAT:WK?3ZCtV"EiMyܰSey3ryY>u>InIvǪDCS4q g ➷l8@,`UJR8b+ęD4miuO>z{CN/܂SN‰EI LN?dI1SWgn ?uEH)i>38׳M|XnU%v ؑc %dAm>k2vZ4.3iX#i"gsCԹ9ЛTe@$1NuH1;v/k8Ȳwً,BX-tdt>ϴ ~HG&rmj4p%HifM &%܆<OTm~SSo yڸߐn[j2D`(džqu }x:;~xqh]?@jœE`j'JhZogLX*ږk(>:j<هv @8`B;ثژzLi4DmN0yZN{&d*I\04(MH^=.lLO,H>^t7l1 sp3|~daktt56mFw< wPȁy#s$ϿoR\[=lZ 1׭U@Cppc!5eo@ڄ ^Ȁ.vV3B4q{󬾑)V[&mO{N=p4 (E܉~;cGΡ:DX{lG9s"Ŋ aљdÏoLBUMFp`?Wя 78YyQsY֟>omhmޘ1qS}vDAm,(:1v^LtQW-3f[Klzlwe/K_.'8 ;㗥;ژ̮9S JL9)ˎ. H,oyP*1(˕Ucf4gbhShțۚ0Y@<(?"Kwr_إge /ˮ! o)8@&WvdBmQXz9%擬wʜmA?iM$TgttE̟} :WSR:6oϹMoムؐ]x+<P 5 ҕ\.v&X g1lysP~ĺ9]1z ?/{}aOMFfcĸ@ Zcqf22Uzx۷Q/o'#@|@2fkGN |l0a| I&JT4sJw֙ ')@vMw l*XZ-&o1{1Q1{EiXƩS5erFk0߼⏴jq~J021#GtUe{f9k9+ @A͛7<} ӫv켵xSOE0*O d2vMs͒-2_>Wָ(ݯC0)@GKŀ^g>UIϋ{-8YۙҰ-v׮Qpυd‰0,{mֲj}\GZi#׫RO0ɮRcՏ70 3fj:jM蘢19 8(B_3brOkN&QLk63}V 5 BP=E\|Dӡu ~ P!nCSh_cW;z7$2%;2; {s#v}J^J 2bwN.^YY[]cEu#tmuUaWaca찅 lz4$ mC`$?9Moz,FR40}#{3L+p\o$ Xz>]rdH[HȔMVIPfo?"O`\xJP cf&(Lenc =c+=\1)9Da^;Zs m jT⦚e,bn]?'&[:og~)>˵[嬢mqLV#*G7O1WZE3Y{^s.skXH[ޟYQP% zm]g?^qDƥG!*FG95oC/m*^Ň)dr*{{Ln`;ZIy C$"Ryb~4 [+/SSܑ!+էF[}RKp 8 >&o uo/-X\Gs?Cg-q 萏Qݑ5l9bEY7)x/0l%Px76/ֶ.$wq hq:W[Dw%Sk0!sUnF671}:$.)yn)6;2(Lf&7h*T )%SkU`O4 Q|jIȩ~04]4;e! {$[{_3$? Y$H]ĪG&q,w"UJ   |ݾe~xQ5xkL. T< ^7'!Gw$Ȅis׀P70ᐼo֋Xz%Kpi=g۹p/&իa+H暰u ;yKrf*BhyzjyU~lƣLToc&GHۮ)#ot9o1acjylSGzϾGM>YPYq&4Vӡ6:yLBFao;W"+?.+X 2'|m}2fǟe* vY!ݢ v/ʓ#P68'Sp [J~`%P|LRjA'1>%1 1N4 4"aݯHsﰾMcE8\|uݝnʎݹRn|LHN v0q|ވaO.=B2րS> 8]aYI1Sb'/-@ݻ! yly p ~I°o6rڦU 7Ep za͎}bv(!O[b~ _D-ボ8'^IG}d'u?uDm&KF$%$_\CWNSƬ?~ـ-9+m|mǔ5`rbb*9F:%uJ6 zPgy[SU`e8VQ-in0ѴnwJrPʂPhh2) c(.^2jcE m1ץ ߼[m#uh9b߼`,OUs!9%}—eSHOqRoO0cJw p>yv}euL͎ɮȴvwI4ٕ\ ;|]u3ri^U$e=#!m|H Ddfz6~I"Y`j챫Εrs)XRߞؕ$k !Q6v.-DåaDrLJ ;k z ԉsܮ /4cu|I AqփgoBNFf IvX La!жHޫci'c?ϠfҰ@ڃ!gMSc@%7ru2a> "g6A"+g9-m:'tO3> ͦ<5sr'VD~;?))'q\CQ] Č1`2jкSLU m3 _OKgѸ`~cmD./B Ff/o:!M: 7Ze_?{B.l#xII|3Bm@ʢǀeo)G8*Q3yNX9s=7h5s[x͏y.C0%}ajw ! ympoZ\-WLO~ $=yj6y`d[y'PIasb@n I->aN|P`|uN8$!yS(+:hw@wOPW,Mecs 34[Vz5OraϿ.8:X`P}vO`ND"wPErGɛ/OϳGQ$ @$L&eˬbo g(L`_|HBY~<5]ÀFc4DvC8&A4nj]sV,޾] $tD&V[2aGڈ&1<(Ѯ_eQ$Jj?L3tK_y1kr̔  ڕ ^5Lz:W;D.+'gAVN&Uk]>na 1|M!_Џ#0>/ڡZL^$]bgᒱ5Udy.?7RwIHҐ#e& P OEWJ hO7}L?VGoYmߌVVqV:nZ 99SPGqmnU(_;(iҤ$mJcufʀ.u5"qF]+ A|md@*#ATTjai&Mȣi>vi}߽-INIosns^?D.ُ ߸f6m2flk]mszcj+L<7Blu2<"Rs~-͛?s[3猃YdoϐDxPΝo*/\( Qpz"1)JPmL^neD)ރ콟K%Y`{qhDVP𻉬+Ql_8:vd^Ck%syBH+/ذcVڢ B'bޯt9x}}0 QXǩe`wHB5IV/#{h8vPc48 <=j}Ա7pJc!z:"}fuό f25F=DT.ǘC.L# Vmk@\tP Yi J=sNTqE;{F] PIktVpT²d ڹ#Eb1U'AH'}dlBř&`ikk9 ̨?z H._Ξ/H[W=&uv6wV'!o#EmѮ ɗd 1&0A6l_R#d*YiMM8ȧ[uz^71 6&q/yFc^< nT.A#KW۞y׳v^79QL%ȼw7`:4>M{. usͺn?ܮ IoG ÑpgOSYNi$">E|y$?V>e?̂wRg&ĵ#I;"R>":wv&m׶DzC.WO$FJBD-Eޥ#9>#%|NwW,C&Acn3܇O;KL#PQ, sP#0| ^Wu*~5:}RWdzl ]B>@Q>9b0 SI 'G-I^\HJdޜ, ߑåF6ZFI轐~'~iGJ9&gsaח(dQ2e-S!+#)tnvN?>Ddr^A?a@$|}g( <7h B8qP?"xLMd_SW!p~[C#t_0k&mE@PEm("40jxsui"(zFG2ju7:tϛfs5Ms7B}eޔ4u|Y޿o[BW("Do֥*"4jouŊ"(MU3MPE@PCYUUW("X/x,\4IENDB`* h;hj_Vx|uL_6R;)nenuqȶhqwww](lE;ŭ8~={99d2'=יIDaySA^Z͛" ?  BIN <Ut7Y9$=TdޯRb 6I'"rqrv|#nmimEciG-7 ھ+~ C]uP7oq~b^h Zr1{hIKь߫1p:u:Y(?.'Y]%+ %tux^LG}NFD$֘^Otɛ?l '-!!ەzq<[wa69;3AX_.VTى?@  o  H+5/O'8a%ޏ6m^\nx4[p%Ѷm۞`b۶mؓd≭m6n?Twꪮs>;ZIA  IK`F ,R$8 ]r_x>@PNG  IHDR^d=3sRGB pHYs  tIME 3|D\ nxLct&QӮc۶m;@gc 7:K8c~-]~"aQOt<{Ib!(BBi. Vr(;#Tk"p0 @ů[k!hDMgSEڈ)]a$[6nR}2ˍ1 \3Z &EVPyJhYkRJaeR X]*),n}ܟlRw%DWTߣx@]; 3x`QDH;siN1BO\W.~ +[_w.lxſ޺ K0wxO,FG.ugu6Od<yUIhy%v_Y&ƅ4-Miq~m%%sbuSA\i^yUO % ;psG?@U .Ur{&tKM 4'L(R> ^V!WZl+b20ST J8@B9T5N &c >d(ǢP\譬2(Br\*29F@@cFHZ-aq4QLHH U4q#6XV5i "Pvit_to@i,F+'K'v=rJ>YEI+TTY]eH(6>i>Tv>;Sn@,P+_L,9 A0֌re!&wB z@-ZDҩ8&RHδ{@!X "9-;";ܻ=Y}rv}<[ ;g "D 8BZ(,~+j t|J7S'G|ß]ٺU)?.t+&K~?GhՊ)JcE6k[hĕ HBg/\<4%b}atZwWYQ i8^~qI,$[@rg s:6̝Š̋z_'6" Hk#SߊMK˝ÝI/!@%v\u.5C TBCR+/6 son?v: QJԿq\iREJX~ng!":Fd@(RH"slP 8£U0B+{ڭTwKHq53֬p k_hؽ${@G8;k n3PDD䔵ɹ0ax-oͻt[mx/b2|A%E$(W⤝g(2Zk%!(B.P TL!d4ZyfP(B* ~RgIlKV++ McrOXXRWB.E2A 9 8 7ZPyM@,g?__J'C?ӃS_އ?ȴpwOB(Skh eqǎt8OӜExscg<<[kkX) kz؀7uԞH*TcՑ/N9=*Z,S=5d -i#nE @ yjyY)8R!IZyY @Θ4 aUծ@w1"(D&HE=ueX췿8<]k+CE6V\Qdk2> 03( 5!* "FSXa/t3"KBYi"#Bh#mQUQ5FCx&³/y ?+4UD,&" v}hLRyx'k4wO&ɥ֥^"R_쮮@?*]-NAdMƏ<ÛJZ7Ej[ :eƹr*>P+ ~ k@SDJ?IڿE^H3:$&`A*K&@AF"߭Aas.) # CH(0+",PӠ uE$Vx’k PAXEaiITIA.w_7PwbvRGVcx4*x/Hm-+g/rR E0`Eg$(G\ǭ5 Y|VnEjT}uO<AHALԤXKɒ. (J&}}+ϯgEF:8B."B!T0 f{JnRWv@*} v )鮖EV'IIP'\Z`t1"\X"q{D@s=BcY, K[m Q H3(BQ ZKEA%Y$nyJ\kA"3@U dЊEj> V|39hWdk+|?~8aku|6Ng^ᄆriRn^[IhρILͨ};n]X\Nxy9J3R7/ )d5d դ|#YP9` 0'j#⒪*T'Wt,w[׶Kp@!*/eN :&*bF]Ś  `'+]]I&ZT}λ[j#ƭթ%ջke((bZ"|to/YVfG-yLL`[t4mR 1VJD,">xhW:u.2Fhk yDDD t\LՍFf7te#̳lMhjN5g$,ߟxFVxNT,4b.! C1&*!x߯cZTCsݥn>4 EG{JQgiE}*]3 cX{VDCG82V@i3_Gc#c[ |Ab((>0P9Uoyq*Ys&K0+y\Tk;x݆SAeU=W,SXyflۚRRkF#\lj-wmE/'V'g괻+̻ģ[]=iE6DZ)2,dɰWut~W~4n\ܼ0xggY ѤPiY&´4! 75zì bݗ @HPx6 `UA_5'i)3k4" )PW9/_JN\ ^8Tj $T{M@,(<8pIG QI9Y5 pAs&_D`Dy᭻__'CZdF#IڽN/iwȐ"ΡNq̾ZlfP+5sy;imH)"$ 6TZy\U kŖѳ &:1L@^zJD6.|'ssIӻ_'v5rU jBS(Ahbap.Q4/~z~Xs,уiFTWnOk$"(AVbA4*]ҷm+ҢRVkKJ!"  At""Ie犠\0V)V MDڱ}U'!xN'KDyv9 WHx% ( @DK ܄S{aۍ F;wǓ z;w*G?#vig9Oo+AڥK}i}dp$+W/|`;y绿_Z(\Yȧ߼YZJ'ڙ۷;ʵzۋ/ )5jEuYEgWs>U8QӃPmpFsa:+޸}hzhA:9k_w.yV U 5bjEa`9]qWUn: VDfQ$VA'R$a;֠OYm: Jj hj: :CXwx3G?'>cc"swlVcci]9:)EZ)vgMZl鵕Zka$$*giiS;Vr@ D炯{c,DT\H 犤J)m@ؕl>Y+AG'D}<"i E㡤Ap+pnTL Y*! QYZ X@뼫f瞳^EѼV/0gW ( 'ǡHIv@s^P:k JH1"aȦDJ[Q"A,0m BHJ|;d!畎lH,fyɁwZk9 [n \1Y|r?{VݥSfpFz4R("Df B:"鬀pҒy*),]k,蛯=k&.~SYmO(iΕEko/n9w[{?Y[)Y9ivv_wk+mNԭۃ^{d <|AqxT^("9[W]M;N79Q uҍٹ;<ػRYnoyw")4 [/~7;L~_~jQ@,0PZӺU\-0wrd/ D&Ӌ7-;ؾ9WPuW9]T |(xM|s>/K{D)|l\)i$Zm5Is(2nsuc`8I'#3_8I$F R!^HB8@XlsJc ~Y %0+R B]ZV }`/ i}mj 6xf=˼+^CMOXm (6RYhA p4b#{ry"Kk'$I`o;-Q[FPAV*2ւF"ljs!QdYDKٲLޕZI,$:'`QQJDkAF4ǥ"Έ|+vD80#^̄@#(@> QD._ڊha7 ]AЈ 꾻r"j. @ 4"T,C,N!ԧn*>|Dy}qe"-t6*TG%߱J<<~k[o?Gb dzן;Vo5xO6~<}tg^ ,/u 'ER)&eޱp3vݍ:/ʢ%QZEy/~?CϼlD+OM&O|O_~Wzyq6'09ͶC<bM@2pA-qN/i/wkV:Fn~8REA^(Sْ4& Lfkُ|Ay:I4[0?W~)YΛwn?~޻^Zf'?mJQ$♀R/VX] SU53ԫ\''S!Λ|;Xo|_: yzB…~XD4!0 I,0,4^y,+OUB @42 NZAWNhFħFta#H1_ïr#돬n4{9>=glcr"(ƀ6ڕ>M %]g  rf[ y\QfQZeaYd"3;W@AFYPg2f99t26:a<Zu+/nwyfGDSOnBij>@u¾RSbe9]gq`pJU\h"հL&`2t$JhA07%gRyE"#FD5hc}Y8>*0c&.0 j4f}9+Y6uzxG? xf曥ȋ,@Z jM)z7_x[n>^w>c_"RԈT&f Ŋ. @@V?Qڴj xŭ5HmTNdD%D.4 (%{k]Y$%x׊i^ {2i2˳EJ׏P9Dq+0 T]4&t̼5cA5(5`YT4<&8Bddve>Q IG*·V+U;e#\'HԉejTTjBj83߾*M|CZ ;4BԹNT^f"gؗAƕʚj_A5;wY&$P"qEM@ASڸҗL8xa zW pAأJ٤R aii%/b.\9&L!8G̉! EZDP 0 K2 sE"]CI:hyq|p7 mŭ2$GwFλ˝V:vݾsA"Tw]Rd w3md* }:@@DV BQ% sλODdp](qdHS MtF Py ZKi2y_ OIQF; MC37T@7oъKW?Yw7?٭՝Nww'NvGe>6 '٠ĻKk `YpA̹vj pRzzv5T"nKtt2b)/_y>Iuye3${Y1Y^~/>_Ϳ8y'sl-;CjptT<ۗz1-tTlNh^fouk+<b:˯z^~.'?se*/_/*SjM</̠8:d[>]!Eʑ.I%ڶ}qsΕEltΆcvY"ŌgjJ,A"Mn0!j LHs(6-`0WYi MY!֤px蜘A@)FSff'nW*,b: RLa .fvB `2"hJ*?* =GkT\γi@kڭd$hZ1Blw./n+M@Ds֨ЙHG1,J©9i Y+?>Ҳ( g2}.@qs\FCEl'VաHc˔|j90_Yl !I!z9ṞrX uwC{ N[5GG0nu95ME ػ8N:%ծ{ y{@/{̬(ejň^ prZβ& [e: I1$IK<6:7V+ QHUzoO@| O=- -( Z[v4<8ܫU3%Nl<ERIQ2=~imm뉬u)/~Z@hozҝ2vȇKUziծIVdO,w&)r_8XNu%uR\˽0;|tpMۯfpYDcO擨z='CuѴ86Ӊ35#w|7/DR-FPy{4SX P_szt|<αLh+E9.л}}/n2D"P,ȡ{Zk9=s.D+R*^`80fWYs]DB{!D7eYx/IeYy"ؤ# qEmMSiqd+ ꯐTs5bB,hdŔ+4֒jxEQ̢|9!y=iq\œ`f:",IZ.=܊өRi "a}j",2NsYRCd , #f@PQXbiXZ]Hc_d@"⊴B(2ɗ.!V 5 3 ,sNY"tɅKR/@\1,.ʽu/ jMӻxbG 3%P AHsp!a@.db0׎zs(2DW FfV&+~6T,NߙNRA-!KJ.@Ѕ M$ncAԉi6ͪ Z DZk7_KBVg7r/ ;K[';w?~o$kkC:Syv^fuwFZzIdSwUQ'ɀ4 m +e͕ ?nB52jҋմ7\kw;6] olOȥY7 F~ Tδ ߽qyo_R֥旿t>űhcA"l V{{\ҷ_J{9ɍΏIn]F|g>?x|yZ7?Ꮧac]~KO}wKo}RQp˪n|Og^Z[M7}տO~(i9(턝 Hjג"ǝg}ŃՃi&B*ˋ斈< H1Q553iW>HYBD^yF3J4>@ FN "@HCacmf6A) <"kJ`^IP n8ɜb$hcs@2"tuFҼHJzvSUz~S2Mn Ԫ%J"5d5F%fRvɕPcD{RY`$:NZUdMl6WW9`iI KV, 9.F& Fa>xGsX}1ey>C!2 RQg H\N7/ HAؕE>$Wd zT1G\yCvlZ@RE^"H F |4mێhQHU"E(gE!vw%Lhly ߋTuUMDJ )-,.FYvXIdB$X=CbmĭnMƣAp(4Vq6L&cQ]Оt2݉"Ŝs _4<#3kE8Vf!1Uu`‚ADW<泉w^6 Njl9:^ TdNp.xNw(tߌlE^9޽y|}VOq )F;jleirf32[Z/\OI뵟{Mpyyg?'~__n8΃E[|`DN BB6}?>yyePj{7 rYݺiO}_D`\NPGphu>4h=1H+jx+W6ׇedxa `[_PSҟ/}߿ȵkk/=_Pv2@~5oyշehv}lmu#I80wedcp wVqg`VTVFju:ÓI:2eFQ(e(a:}_Lj^@Fh4M>89ʲ5:#jz/̵MN .ׄ, G@EP#|f# A&]+e鐔2Q{R읱Qό)e|\PE3"R A`W{FUs)"ƽ( tVDi/a'D "ZQ HEYdMD9gf/Zц`7(Y^Zj2# i[{VewCiqbLh8Ba\PX-f6Zwd6MOK{u@DQOyj@WIg)N!/rWf'A,>!("+cu>˚00K=QqZm:H:UCwy,~vh;`DZOv{IB'@0>4hK/|T7k_lm "M̲խヷ't[C[Da2/m>O(簷no=ajvzpw&eWj>ejRRI.0+lW` jde U J@ 2LeNLa{w#g{iۯu;_K?3<:k+ǫjV|;ު9by_=3Ž@}(ή\~/>;O+f&9c2Ej{UDS+""MT4UYzqzpogd2|79Dtg`m ϴ$,B}،}[TćK:|yg㩚ż(BC@.Q\nȼ\8vg'}߭ "D1MjqbՈ̦9h9+Q: ZNΝ.ߣwnZXr2KR$3XFp,N?I}h '&(z4atQ"j̙1w0̠ӍUY$/ww.G"9⤬e}T&E=ލjkkx9_&֮NUȁAJQ޽^^t.pD?zY7C(]LYnj}Y 4wԩI &^ܗj y蚪`M}Ʀn< }4 ZE; f]fݬαa]ׇb߈XY`JIǓ]U>NGϦ3gh/}skҬ+EW6/%ih{KGMd{7y+)ŁN~4f^V|9j{'5A~ɏ,__ rq'Gw^ "wCPic৯_;DXa̚g^|o2Qն䋋[w@4&;.ʂ]ׯ]|KD.a"QōG}կmxou[u9kiQ痮\~/i1U מgW.kA޺o{^IFYF*o|_(G#f:òڽr6\Wk;y_Cm|zG&'_֍7^&1~0$'KYr/I$ƔMɲ+F^$f"oW1HB† 2G;.Y]};qbMe<9j/sֺ.4٪YiN!8Gz_iʕkѸ*KvUC uIDMc̉)Ljm׈FA%eT~2ͦLE5ќvIv}Z䣓,砆A;Q0E&6ӲT̔z4 IDAT6v`s)9ߩަ,1,}̩ $!k"F$h9&p^9v"!¹"do9ǫűo/B 뛮Y ;E ju,ƌIrĔҹ8HM`1*ĜBr6>aSޘU{{Դ<)vu:{x'>/=Uӎ+;xmuվ._+kޝ(O$asFrq+iy8=8\;XO&Ӯ/ڬ6Y=}/3z'~0cдnTlWknc<&|pp(,v?//'ewph(y o}i}xLַ5 mD@L%|o+;{Oo/^J$+_핣x|v>|=ĸ\w]5\OyZz̳~xֽ&W[Eg5ޥy˓|O-9v e5i._sօbEdbrSR]O9g[9erjrLUR̔XD/ڮFU%@C"H)**+__9_@%$R8) >k"rD'g'wvXMM)ݽs܉  WJ4\^$#(?#Sw BC\j-@U(;V`̹4z9NRCf$$NUۮcDR>Oɕ.ޅЙfԣNM[%.Ũѭy+ML-~,U9'u @}ߍ cS~\r)o90I"9hV8 0"bv*Ğ\"EQ :G(㜳ЯCl1EeL-*CL뛲,TTQը(*3]{[[CC9( gӶdɒəsZAY@H"YrYẅiQrsH<#6 S9zRLL}"OZIja=.l\M1)e0%vSLRlmحљX߮6j{]v2, O1+P[ZDGDChb63,fq<38|ZW|}:_^kZbW]vtǵA_94Sպ58zw>;]˰>k4NY89$?]ϏU5qu{pPlN-W?3O&vv-}x2ԭ#cWl2hݵo||.I?2 P}w>;4U}—?s1#~|[VYɼbz`t?ԧ֨شoxyfwɍ݃_,ܽ̄ʋ^N@3sϣ~wx4>zSn~] ^R-v/lTbAr7t_Ὼsf> }{XCSJWŘC@!_9jRH)wفi FլY}RVUuW#svuB)!"#3!NO5ֈx6eNFUș sԮW9sE"d4!fvjJVLk4XOz6ٌOa勚!g14 nާ{|B^eA`c MSU5""a9Q@JU4)l0s9 '9PӲ2v[[.s]MrjL# slbB|t"SJUb 7Q$9(!%d4u) T%1. Irn3j rR@ fSG")1;Kyvթ[(3S s1UjB]}:v Ck1e1v$){a= @arj@NGDSq< cS[.F#L!G˨C|,'ɚ Rf>1c}_^MM >|%xƐE$G-<К/,EL̬Dt\܇*Ftc"m(h Z ˶oSq 9=;r~gщcp aIia2qh~לֳӃ`ZN8z;fc4IB(^Bp"DY mQrU*;)c>CgpxΕb13ٹ?FnA??k鮄ӓ|y::<]zŝúpI}]eس?967ҡ34 Zz_3&?ӿ/;/>'}lݥiN/^z}Szz+_:Wb7<[u[3l8iVo#pzxg%Ϟzaܭ$oܾ"g=Xb增NƳQ؅qQ@h6d_޺7̧aMɄ%ϒ$/L. i5d4="8c6C̡֮09yff'*0!cSE <Q8E=DYC"v9&C;9&*rxx<냣X'yQTTuASlYrj@EŘrjZTl;?+./߸ WL[>tf^>x¥>+%_'ٽ 7@EQ>wR66ks<4e1sJGbbqezjAR=k/g~U~z/_/,Nc谬K:l~W~婧/Lմj ι. 3 3$$mFݐf)g&R3UCDb f$tf}3&fFfo)@D TUU0Я/Q];5@!;TKbu_s@*+;FCD5C$ViQV޹E4C&,KH`QyӜ5][2jĮ*h@FADC ,ifӓÃo%J"YyM۶[o߹5XQTCC<%E -KvΫ* b$b$ȞrnxY@~d`z._Tc*<y K$6ِRuj2r~RFT IT#{DBʒއ;DŽĄ` <шUϑ!E芔ڡnΕy4hʝH&*s (Yts|f$›/ :ar|rrp0x^",C#y^'7V|9dz`A=h+jLeHBp78tF rfh<^X8b3UӢ9ʺk4Ijcӡ »tp7*JJobҝͪ툰|zpQm ٶodA)P3^y/|LxT*"Q6b5̟|CkJG=R뎺좸ݽfן'u-rYOZus~i޸ݮ{9_~6w^VY?_O֧.]vvn|{2B-}70MmJq ]5ݺ|[`jijY׿/p.^8|;5gGgx<ܧ㇀܇?͏LѯʓO>_S_VcU-@@cJM 1BJL LU7lU!#4#A8kf(9! s+J1+9Dؠg`">j)gQI)QUϐ(ވU!J"tOʐ1PuARbدA 4Isn؏d#0QSÔ"$ADC }|Rttza}6?<*$)4"Ƹ\,Մ]1aȩ~#}\e띝ϚV5=KIvoV;_ll[rXɢf@TN 1jMB;0ޘLR`rhfӍtEbU_J5q~JXEVڍlW$2[/՟?gM/~va]#6Errh{4uV5k߼_ !;hZuvɏ޺'@O?y.7xz}xjW&nl-޸v}/]|vjo?] w.jl?\zv!.^x|yV<"RqyQ]pR /}GέdlxlNo"6akg ]7O&da`j QnXRPzh 2*dN$k0bFL9FTS}ij2 ZLb5朕@M%"HJ2 sN9ѬD#B=3Q}!m[Ue,;>U=,.<r~Xd2260>w u,4 _+qYnvI/*\<7Qfs% 3K}r4mU-(qYTԥTT[:Ud2@C1ٍ} I(|V2RfuȣVUsrDҮl<Ms90PI9D& INR.|!)i LrtBQ 5*jdjUQdCY M5bULR6C.bHQi4k֫p,*}̮qD@L{'Yu6gLI o'G.\xY] @4|4 89&$_^w>N£RV86vzIEfQ(,=$E\ه+H-":Mȱh:I)cHBޗр-#Dw>SřYǜY,@[",|C9k$SIIQ]!K:>Ƿn޼u΍f11?]7߿;\Y? /txqݦeӬb˚4Dՠ^euFOM#Mǒl *UhhQŪT*[[¢=$cJuRwl_;\QQaހrpޏ->c=QƿwMܼ~{oxڏᕝ~ʵxas'?|/nk_3t;f/]YkjZgX ;=YfWcz߾0j.j݅kO'ګA%=?7ԫ_w*?ܜ6/}l'>g+kǟ~b6^4h]s5PIc߇ÝbV1sh)FiAA&]_rY+hSF@``HDFYAB61tf\E\.,@e< 瘋᲍GwVM/ĵgrmlnNB53hQ8Q|n-ff8D !v}cN*hwgB;@ǓM$dJ"YdS8tP!&I1У D5Bd"͖sFC"V I15DM QA2ࣩAh #|NBĢSjF1ƪ/9 ]I9 hg:BͪjNGtUǻ!r6m챨9j&us`9%轗ba68mx9Lrt#9܅H׫eJNc(C6ڶ_,EYnmK4m0qQD1;fW1o?y<3>ڿsm{O=cW½~52o]M^s7v[؏=;/}w-?O?lz4dԳU{eݔ#jb2R )tb̄m&4sJE(KM! Cm&ULI  U2'9@Ly<{T@cBd/zQKjLx.@@S1P HLTCLGMFcHDkVr)&YX]vEdպm(qׯ4ΩYJln"ٱ IDAT'R!?"TrugBi#EQ33,prz:?]֣*vMUͪ.XmY)N'{iߧ̗ՐzC %!M/Iաoced"%Ps*@ C8 r&1C28D -&ZebF,`@hj8xyܳH8$bŔ ;iLjj0dSIT ,a]E5=xx:;;j]Y$/OD|]Vh^dˑN"qU64GqgŢ'e=nUb);@RTƴٶ+QN!Qh#&xL)rx}ߔl<*'wQ2"s+`Z;W_O7.$[h:&yX7l:2{c7[KVygޞN]Ph\Jbn!0_` /OCt ڮ{@˲"y+9{羼}ikrKU?$Tl5[4oͯ\xkT]-fME*­y\U}ȶXӃ{ۻ=L<].>9NΖ}t{ |ƫ_ud%N?@Cuͣ1@rT'Z.1v}:)G.b@)PW̘s?'Ī N L''ǔRH!(sJb*4¼gkO^im0$ukU%GsiNyhGF5( I53( ƬJAEY A]AV1z S%:AHܾDT4geS v^1"֎ !A=gV1_89$,XTsRP$0M\BŽws:>)3+EUC,Kf.=fms S ԗyLf4}c( *,g0*sCnNK!z<^rV:IQNZlq "<3{[[};LѸ s&#飈36r]Ǘ޸СǤE5[M ˬ)6UQWMV}{ewNe5S*u[մ1lmH'Ne( Gu*!5u=VAZݣ1HN\.xzkXjR 0)]:[ ;]G~R {U/Fv)/aU\z{Xh:|;_fվ}uoomT魓QN/?|,{;{i{ppgswG[7o~ ٚT42whʑ,sͼfKrLޛVYylE4TC4̂؅D*G l\U@ʒ6YI'@7lV>޺u{{$_CiJ8#ۂي( XBA4@33 $dQN DwHbHbV_f$HpjPEo?A n Q@|HLSwWs) f6i[Mw ۧrIYKsUHUCd2Mz+"S8f*:$68礔8iK=凈v= &ۦ*hwV2I9L㳗W.AΪw˛'Gs퓺'.<<>hA$mqq ({@hie\u]l}wuyR5<:sc~=^N E],qTR<WˣP}U;'a^{zOojߍ28īG7=Ï=Or՟Aܽ{)RNU;_*d_ g7J<Lv*[=o秛-t^ɟ~O~;_Ę9:珞ǤG$ UAR=u2$*BĜɥ{BLIA&MU{$ NuC4cG =JQ30vMUwT ,E{A˱]<@ #)_<1\I!2;i´JbNYj>׹Ķy9\|eS;bJT `u"dE;[Ah:BIrlij |4hih&h X&H.ЋysKI1e(Y Ir.RHiU'VJcBjεsfBF21zEpQ3&b&b9H)W4i@A*Ls8>0zJvlrԢL)cW5A5xuh6M)YӤ< L!D14 p1E{4/M9j&\e;bdc=9KPUdQ#u;c@TDTЧD8N4qFuJ6,yEiC]\gVtlܺ1}f-1!Kivp\8sa_\m$U}u1[mEAT̡jv!J^̛Pn?R4 d>F^Lf=hnZ*57xFG! 7VqOm< ym͏?\_~;7^_\Pf 1>Nb}J|̓?vz[Z?׏O?Z./ח)~qx[sHus w0Ɠ̗mU/ɵv rkH*o{o#y֫:aߟ-/nW>7~ܭoP_|ދ?׋3oi[/ b9fv u*0x"BBޕRD$3E&& Ds=;s\yLbQPDޱc$(Y̔bQE͜gBPiLS #71Tqi |q6~\`\q}I9KCIYSՒͲRSԢ|MVҨEcM%yUy.Of*iS*LE;7EST5!iAMs*|]>>f1_]Ϯ \. (qWʿC?~aÇ{_f~twQ10S (Ld>R c&b}.L#>y uF0e3sĪ =Ĩ.8UT s*8gu%qL4&5s*5CvQ>9E3cuR׹ f r ـJ.ޓd&E8GR#]7uM۴Wۏ]9>J>^qg]_ X>ݺ9;:<gMuuGv7/7oN7#Rry9"Q\@A!)r&5^, Y|·3v~W}ӯxn/|lw+>j3+岱|3_ޗ;ܽ۩ W%Dj)"@TJ]7;&B*0@vCT4EB0Fǔz߶ vRt/fGiRJ`BӅҐLӫjZ3@vc /u~#'9#&<-Ōܧ\O>'q3up0Ӌssv]?ES8G7nSʣCLA;3'gvRKco6x#{əzk<==k\”xAmD`8rB HXrV0KӔ!Wg\T>"Ʉm4pIrI״?F%3!ONj3C(x\5TM x*LC X"bm: &`)*p,62 Rlק>|~9KMmn{%Jj6eE25@v~/B=cj0 :4bf"ErruMBDd+Ϊc֡+~T5xFSTuclLH0Fpr.q@H?tul[UAh޹٬%QMgU5us d0-{Wr)"1FCTI\8ZJqsupR@-xvTMsVcQ'UNV*MD.,#NPrxf:-G'_!J.(~.9y$,F}D`Q0hS,!,g#6s$b<ՋR.CDHT5W1 ᬭ-RDWČV$!+/8Fd\ƔL ̲p`E$:Mƺ’n?l>\3oLuja珟4uHv\ׯj?hCoCŋy~ Ao9ݼ]@jv;1^]cfC;9!vZaBhCT ٻ7Vss<(xs>a0Y8M q,U hf3V w8dg'~ڗ~#>z'KJwwyCzW'rv:J;_p|rѻ?ɓ{/&|={ѭW?{_;Oߨj}`y2~ ?nߦ^>|JwZ5ݗO~O}_Fհlo>ߝV {?}g=n7A0 lqPbDk+` :UBUCRWu+"f(jXhȚDjTMM\r"rq+1w1f`&A@ !f((6HR$DDŴ:$8LadfCq|TKoal~f} >*(UUZןՋlqPЋ u$/rB5oz{18DdR\ &CQ|hfM~?n(6]825u c{vōvcomP̘9w]PR$"fhJ}뭷~'~⭷ArHK.߉sٍyUC+9"S JirE gW$3bizhrn*11\| QTK.@LDvM>@|Lk6Ժvw_>#s>☂E;/#[cjuk߯N8+Bcc1RFpJnJNjQM C |H9S8@v~x͜G7ΎWRڒ@@4eۜ_#ۼwݾ`ypqu\̅4_.~bfޜ?y&H< f7BdP, ,1n3"w.ИߧvY;iL"0`[J,㻮r@hN>q}ŕO@?v6 IDAT~}~l> A}}i|rxWsZCJwWǻ&vw/.|ϼRy^ G3~_x~ރW 7gu6Cޙv] 1~z._+o;|W^{ٟo67Xc9څݏ{7x]߿ ] p8ir9{/?PS'\5EEDgj9#goZhcvՄASJyc"G<+"!xh(R @Ęuds,R{F1-E'1!N qd$"4G+ fR"(ёyaODE*ziUͻl}**}ØխY#zB]0yd@b%g0E3{(IU\J v1tv5䂟u<8}9!{mCfUU{13aLyD"D@hf4Gu///|oܸ}0)Wu qHS4+ 0SFR!,Vs) s\DDS0Lm^bRL$B렇(;4)xǓ1[7կzs MeQ"Hq,8StB1k6hh̨?=TF) UU]aHiY7իL]EP2 "" > eIinliRξM'T5Uc :1&t#Bm*Tri}ӒHDd`f"#5MSX=x zuզC=kη-f3+)@4^*c5\Uqe/KasfXt(:uk%Rءd&.QQB4 2R0(sJ#*`Ž&M{SD0v㠂Hy`8末YB*΍11J2KEDKNUYUK)s\49|#%kw_kW^}k'''˙dS/AQTRH) ח @ h:6KΓLQ]s2{? c@$1M^>0qSz#"V7`:"*"R't>" ;H~LgBtDcQv0]みKʀRu)I%":1U1_A*U,*:Gޙ1\2(Rp2#r /@II0 l$9G"e3깙iS* & `%hfmӤ]Q͕Y]9w8]ŌgRh9C4y[ v}ux½ M,cTêIܽsHγv~yyjT.A 1zOc=yph8klϷE}χMQ|.9;#˒W}[DMsnpCn|^Am9o7.8(],bю4cNfM]ׁO?ug>5Zl.EQ(R U̝cXy{R1%=}}ϱc:JÃ4lN3hN1fmC2 CUeePU)GN>OW@iFcFgW1qtxq1k훫'߼Zuw4KQUD5ĠM_^{/w?/cfNĩT,FSA'B#)6 L-x7Ɣbp3X&#”˵:Lui=M7IUr3FK*uS3#B2 a:U` Ġc$d)=iEChp2i"gE$1"3^[:ΘL80sATXy &*[) 2o&0hA1" q$35R*匀.Ԏ!=p%yps.Z_o~7}B%.  &LB(uO?ּ9&Bc*k\pNE "8@+79x6OU-T!'}"$Ӏ D/!$F1 3hA!&ƪBD7 TFq뀪 C;4E+..}V#b@`)L'>1!0JMq}v"LS{J(T-X*Z \WAe"MdUy0s(͛E'V'9o,6~ֻhZpXc'g:ܼql} jcT+ͣ~T}qvLbŐG6PMˇ.T*\R1wlrBR]-5bV#?}9{yUEՍ!_=;݂䰬(rZC+Ǹa7>c >[Nݦt[m@)ɓnWSRW&ϼyRp􎁐YQ.윊*1w9s|[C;DvpՐ`Fu!CM؃OB8Q}g-6.vm}`^^^=l͏xv;:-v>u<^o@]5/ϟvХ窌_>|ӯ(Oʃ;wN>by{9߿*/nyvO>x쟾=曓÷OO"?{Ke5 :hMUv;?8XD`f<c2v%gfVS(""9h hZ096QbsE!t[5C6)郆g<ѹsd) "3CUb&*2BNZLU $rv7&@dbyɚ%))&#' mj)fv.B)X;~<,h@HDIF0014dSV͞HB㠢˪2Kַ#@ǦhS;9U+ e` tOKó77~ݻO&Q7ߠA?3?[o+{xxY U0~DB1ƈ`" CYĔj 1"QYVbH0`$8yHe1(@ TY]KØ#HhE 0eQ#3(`H40ddf:#1L[m"Ƙf ̤@j:1hL)N]Ǥdb!$Y r%@v30sY0yGI3V9+-8DP$&j9YL)OD`%R]UإHC"f9+ys^C(GҡKNA%;q8aOQb%_TAɭ6e=uv+.7ŬlB٥[hkfù~@%&p1|y]/_(+*BkcߦиO֋#Q_&>wMO²nvm78 czjI(i9©eՕC:wGtxu+qy4ra{gG.V.eYEa㘖99k~o=X>'<oՏ("uYޤKrQwɨCSn^ˋGb5,Nnm7}ž:8\ {O/gXty蝯բ|.~x9?eY~Se _ݻw뻾|E XNĔ)3!1'0p cDn~_EF./OONEG#_W`}̚(mmt:*pMXTa!Џev;.*mFb*e;\ 5,fM?vIrS+juMm:/ qJ)@)82HUsV lA0;O, MbV3yG)iѲ|q=sL.9EIYdiQ #BJ95Sfƨ"CR@9S̾lR싢@E)il#0oA%ص  ./v(۶'.7Er_;w>}+_n)"`Ā`IHhN9$)c7Ĉ &TJ\y!(!("y&$)AUTj IDAT#$%%&CDSYTq׍E Cn;ӹNs&aj:ii"fQxshِP&LUL%) QrU"E!"Y\c %xF 2&dr;6*(M7;=zrLeYidvlcd@C7P̫L%&q*Dfiq 91]9+wk5t8mꫯ\}$Zzا|I u./.ʢwuUcG.I*ƒ=yAYήwnn W{d6 e>>Z"*bXj5؃{GDS_:#3XBD<bC/ ?Hn't b׻y48==&}c*6۫@8o73䝎ۮ }YY B {f]~8:9ZG'^{x# >=??לcqZwn>uӮ~lÓr5lѻcw~}ۋwnh6jSm~z+Q8Nh1n{WW?OOk A f`DfY:&D~Zг(\gMSxyo\.aydsxqy~58usjspTl-4i& s.&ui?`JبΖsܯb,X!ΊR&L ٗM .儨7 Ȧ,&̰yUKsh D|]Q43!Q!69p0^QURA»!BYDcƮM,MO, &{b2QW;/9Q}PռY>&:IJ/\D7_{oo}w*QLHP2}6sN0+uC&"S @mj{C$1""9 䜧> PAQ !,uD L\qΓD DxL"i6CUWr,EIr,6ɓIL5%d)&@,cYGrކ>#6C1N P wbSfbC:HL ̩f<:\bUH`}?$Amcell̊eA d4KQ>$cхhQi\)n|pvOӭ~oOOrSU_O>XB?[={^fۃ*OyWz쯾⽧Oo_tI5e6 b~(~{?hUhjqۛƜ&z>}Y/ϞQgy?=9RﺶU1ϯ6mWO|vWj`V\^ulBDȧ'l"w^|ӷ|ڮ_\ml9ʗ~p~1 .g D?4n?=g`<1q&krL&zl~b?ͪ"EʑPDot*2qPHƘdD"ÐRdC0v|DØ1q?D D4rV !SQ\EY5<9 TDUIW/CO\]/ƎsEyvcD5&cÇ#OOܺuC_7CDΫNF DbN8uħݐbιi ǖR[P}{'2Q(1yM]zY')e02YSe/lV“Ę9"4DU Q<L4)vC 6#&% )d+UME S| `)!*N/>@c"F= }HYRΙ񃬛gbtΫ1!! D TMS%FAu],"jޏ DcLKL&ľY硫s p~9,ŬnW[+,99x{grU?4bڍ#ק@5M]ۮ|(yNTcg[yiDEC3 ZV!'O˪*RjBY0;TE&s%ߞ^6y0'<9\4e ?/TO-E޹w_lNj*0_m>uBј583xBo۶达#o69 W׏DS)PŜc;>{rs1먃9==Lh1Wwi N^RBQk?r;ƔpN v~}vlMe}Fvխ }1;H7A??;;gv7mrYٌv4}쇔GؽSƾtA= ;8ZlwdXL)pn{(vL2no|VeW8﯏ݵWb)1-MeͬU|fhnr0d1d-'1D)(*!uE@͈̑8Z`S&&20 )ĤuS 9a ۍ s֢TjJJf4=AI,BTd@ \(58&Zθc q:", j959ɎcJ& ?{<~޽{ՕsM4Ew@`d)gH'735CbDu]A*·9b2#PxEd2fUéMH9"sN%^q6Mz9 "ĸc24DpL%O5$$)O<|)0D-BQzP9*w7~'74gfy c1 y{g"ղMeR3Ff &ABY#L|8<&$eH9gU%1*KNhs7r*ۜw%ZʶuS3/3bf^,W߹ZfK<_v$ٱwVQ7o'_^ƽ7۪`Ub^U|r=J}@8>7՝rkBD]|Ůlk|=DҗnDL}ۛQ]. ǘr,LDe(z>lKI|a5WE`P6G$]_^7 wN%߽u2 jܸEGڸ_Ip\_ mߍ'a.ɝuhX,톔fv ]3ѲdUцM Hs&ZAU2Ĕ@45 0iBBGHU*&r)+19DŽ)+.' md&L#L9"O-+"FhYMKl 0Lb/E]{tMUY8 s9_; {/>???1o\A#B(aLILmzL}3yhS!"Iىj*y|H *&YpzN,{@@Ď$+"1ZYDabܤL8t3\9'3Ydd2Pc98"jЍcZeEȞ=۶di PHlhŒ(`9JV&"FQQQ a]"d:7D " 2d$RTah;!tɳH] S*hDh*+w>eD#yZ.98լߎiDrvYz׾ZI_\]s1"XNwoX^6; E nݐSfr1iڥ1"RKh4Dw8zrzQ$fjZs*K<8/CY@<M.>O|D0W4^_|%gw]nn4ozO'ؐn? jq7P/k,k:Ćd4溬#}~* YUv.8iO=;ϾL5S5J~np,m[wY.|suW];?ԯ߿[N_q,+,riM|/| =B K?=?c6@pc`Ɔ9i;v$z}% T}_V5޽{oIt.8!-拜&bU?+eM<\85+&1ًWWۧ/toq{>C7e3q4tBRƲ u\fQUIHb}p{h<4E"TDDDɉ/ C|Vfu@TUADT,tBF Dr`y !jxD$LkHqhy9\@]o1% ;C43@5fcb]̆!y6uS sUUY`<nK1W~W~~7|nVZ0[Aao'``d sN"sN)Gc&FtR""ދ!d X(:DG7x)K׍ hEɪ)YcGα399T;ff& rRGH)%S#BckYS(@w*,"8 9OIcD. !2H.0#OBS"Ӑ(XQxgUf#~m,ĖbPS&vLEYVuL⽋}.E]5fV#bpvYm*y®]g_yQfxHf*,9 >oyraqpZ{Z./LJc?B 2؍i{gCl -1_]F@=K,TC#~/GjpƘhQ AY2=[RRJMyi}׻a)6keQrF,Wݐ6 ^Tmu::9 ߶q9WLM"ڹ0j-}ExnusD-Kݶ7Ēv?/믿|ѣG%e9Sd4T @DCHTVaSBBe);@Ϥ7M4`&",<=!NJyhɲUvЬf21K @Y ݤ~'R?R@`朋9# fT4fC&3Cs,Y!{?C-h)k6\ RLeƔ9ǬD*-hb,(1MU_5̦"9&$j CDgNAt#/˪nq>q_sI(1|SVʢe<źʘ+_lguO<\YL]1*d(a8 NU "1P??_q8u4#yS% !J,,!Zkipc~(L!XHЭw/z!eS^.f`]:9-+_<{l޻!&++pY͗_jNkҳUdT/d}#ku7ȮܽȶW}hFAtEU?}f3BI蝻sYӴl~^4,˥쯙 .VY {٢L(PH4q@\ϟ=::\4{ω!m Hj)[Nbbý~뷪?=qTiqʘkX}!'_|;'\hY4% #2/8U}!@s9')w )P IDAT-c&"Hzbwb^۫%iQlLQ(%qD1 Z n{SͲ.E*9"cΒP4O+& LZ!e,MI.d;553/zr9%d4 }`D̘zODvcr!ahTL L '?XiG_:o/ЪѺ-ߵ;w06~VW_s}'>lfl-=msSwf}yّwÐIp8&hDLEAߥxeӼ\ErWm\9oQm:YzVKֺdDv>~";^.Жy#dX<)&mjƘmw!Udڅظٜ/^O/_Ղr'gE0`qeq 385W"4.wβApnۜ\dq<98H6gݍ>(EpK^,K h0ZBmێ0+|xusW_w%϶۔01 q0Iؕ~OrԴvU(b5ĺ<b07sP(CoػOϯϯ 37c;ÐS6yѶ;S]V[݋j71]R5t:B"`j$ ܶfލT̫f(Sι) I7fݶ7fM5#zgD\Ywα` "I $1Pis/HRFT6 TStDJRrssF 0Ȗ*8Hn}eCɊlFfcycDM1w414#CpYhMN%͏z_g?__j6j XʐS;"(<>n6m[AzW1g3 dbxC0C {)3NF"7#|؝p$5sL$gmd$Vq9<(}I.M3U"Cu\VȒl.18y:ըc]JB,v'yyx]`bƼc-Z?||0dc2P+#?#//hx8[n6kSP,켂JV1f3m~og:9/3qpv[4ݶ%ǒeTE&Y#ZYY"^w8Jh{MoT_UW2Hqp2YHD"RPDBnABB)x qE(7XHD2{Ov==}XkbUn< .K]{7qUtHypo ELB꽵K%:{Q`HSD^MH S]SNw1""Ġf:s)i 4 B("B%ds.mj1E""HL 1|aGCd"5$=%sI)F)|lQ3;B"@@50pS:X%kT 4 @`E/2EU]??'^4gLZ]hЦTK.MpYun ̨ʳYbvPJA5Or`'6eD\Bl@QjEŬ2k$= VsQ% T#vw;Y[-Drv!u椱}ѻf^G&t(͂p Mpĭ'W r7z}y14\<-nvYx_!iUkafZ3A)k(jVu(Ť33hi  hWŀXRکM1i8in߽uw fiaX̖^dz嵗~yb8>uܓvS{K-Y8̳~cX-6qٵw~G~>Qh5܍TYQ P\Z˲Z3q",7Wfʠwͼ~XA ~iqwwS޽x\ׅ+p }wo׳%7M]>tTV9"Ƙʑ^w+4NAԐu7wK_d K̅Sq}W dxH"'GQ`qjكW^?=y"ž[6׸ dhhFy/7~7/?zۖ8G3$tʤb.e`$z_Orqu f;wn};k󓷯7'qjKVbw(۔q?r场'ɗnykW@ zlxL n\̧~~a Q#,$EAG1DP51 ` ZT%)AYWVBh|L!qM-"&rE&tHňB^@U2Tb%jccƍ!oDŐ]쐐ԸbTOiNڳhK`I(cN \f`H8B;#V<43wcf<vM@ʷ#0$wA$;M M0OA d4.WAq7 [;oV|ݺ]o~Hk_F7odG_}m[P6MfӔqJhy2NEyE_oֻqcȇ?_$11"`;Ǥ>xb;@p`W!xj<a3 @mh%Ny6o)ϝRԐChr|p[vm|x{ǫ!5E3kfj ^z}f8ł3ݦާsl5?;9h{v}LVR*C,*@\hf,95b'2n#`>sߒ vЭ(> )O-2"i(ȘrWW->Qʬ(9΋gx owrsRV5{ͷ=~h;}Lu7W7~o=FaNݻݤiDt\.nۘzM1n><=vs4.tF19djFPp}Ƣx\̽)&f"83ybgJ$&Băji޵@ƎSմɋ~̐,R840O U,@ &fjT.4bV  1!:)Yj5:OH`6TTL9bD5U!LS 9-TQ$P?|/o._z!840@baYMTr*cL$rǬ*k[1$")E3bbCcrTcL6MITm֧UTiןJ 3"(:}`9жl1䵘-0La޽ޫ/M0CXmӴ 8%7VAZ@mf]ӥ0>c? ˡ_.g]K)/×?~ƭNiوʔ1>Cb[o Q.` ozIQŜwhhC3F?%9f>RQmTPc %vZ̽߶$ d gӣhu\2E݋oIdjk؋Mc/rʻRXJ}HJC~ mKH1WS3Uj%(ZъfLcՒQ!1"yrUkm"Yb*bMN 0BԺcfB4y"j&b)Wnd`ghv)B{30ǎsÐT8!b*E*  c͙>}C?O~vDHZ,K.B`FH$Rih;AըhXMc΢=1qB\Jǩ6I:g:cPD))G6zrmYT*R|"b/24 A *Y~UQܑ0;ZmO/)e-wm;wg ۵h'].fq? اTc$%9"#/^\ߵ7k܌c.LjrtR RJ*ńt֐rJ*:\T( x KsdBh`Ԃ)o@'sx_\n1iIӫg1'GRJQoo7S]3[tsﴬ構3CzvwSN׻~R߅}6ތM)NW?}~'kV014$YswӳsBMc$":t呙 5 SR*~%ݬ4۫qz|q9NX,.o5fV`΅F,}L҄&N?Y,qm{Nj>GS^R'Sf 4L9F xHS]gO=o'Ɛ棧݉G{;=9wGLw:~Q=ϻݛ\,fMGu-L4~׿bmϞ=7]@$gQ]O1ʹ T Tovvl1 sS W'tP>W'4xqI˾gח7w4ŔE+/}򟝿M3!sZbqL(MsfdƔz6ljĪ/Ӕ"wdQ)%3CR$*R0@^LD"\9'DpID)ALL VN2!(1f4(&"9%H)$u{B&9[U51#M1,`PV`6|,+ޏ؏SbYS$isQb%@6@(j̜r"3gU 4"r-RJ~`0S^1Q0g9KQE&jB"T|/j;t@"5t蘉0Ra}bgnnOvmET-g mvS>Z...o1Y?|h=ccN㧥n6 f|{HZaʱӐR69,MMkQxF>T+pUW# TTs%0,Q@LL}s"ZNIݑ;S)auqPKbKdr7k1{1)짬y1; |%!27[-ڿ_-7}"Zz>#%4t#BK$61v>0,~7ƕjx~~wiQiEfT󖉐fv׫3#bz8]x&2핝ˀ<ƤmqkAMLJXǨl,)*NS?4~7ZEerp!,ݥ(OНO!^Oo]7cUS߅9b)U܈/S_?O}Rg>m++'5o%o>#EhDNU($meB)EkYh|vs\wui{I8lvy*o6RC2\q |6)#Z&Y}`TT9!*"!4NԼc3"{!j'_O{ţnلM0dPCcCR&]*{7v]+J’t 0Q.9G%Efn7Pt5{/ IDAToMaZj{w|:{Njwn3/ˋ=lmoզP 0fmlg:en-r ;M9h,˓bq˶ w@0)2pd:Mj"]o^dq,,4I"NFA4Qs`Ec3y޽{[oگڋ+s7xK_ҋߎ2&*&&VFsT*Y7 /g0nnķ J5]bѾ!b%PH?(Mh&^mַ}֛#Y,:qѵPna;-@*R$瘱$dlzGȄ밋ֵ̤:%f4RDXѲeHe\ȲlKH.hȠZ;IQrJ*a"jy)X~pn~ۖ}s ߉26U5RE$"3_S#U4sI~2óXk~;YUMONq):i,dZ}F`Pb4 40Bfh;Ebj N;߀!b~m>NE_M`G}4-bX8fq6o_\=MDJKUhZ>Mwq9O@TɳdebFf%"vSLL4H V >`S֢fr,=h19L\L"jbV?bLn?כ-fyD&2h1;?aJZdnR[]+nK S"Wr^xw=_L8Ma3*gOջ=Ov=Mf%ΝXN[o4%6Ѳ-swsӷW[0b՜J!<&pKQHsAo·QdU~闼_Wڊ)'U!32jsr&xD|u<1h51e&kvz`c)fzv_vkcZ2DSkԵ 4|]CZzh8fn$)5 8#PH]e'4q7]TtRs^m0m0R)@U 8R*mHI30"$" H,UIjkOUs?kE5I=jHٔ'9"5ߘw wR*Nq&bjo aTN 1#\FrQv(Eٓ22F4U CUZ/@\t 9B>]=y┆:n hR^ڻsv 2n}x߮w]\ۛvn]S4(d/E)l6}) # 1`*6a"kAS-&U)#R2)jD@5 1Y b) `l*#, *9GrV%h <&S|r/gWv۞p(YiU)_OLjZw$쵶?~gn8 1bfuavRdž꨽#r8ŀk/N*-;1EyX6f]aSiڻy˞P8%^.]N2N|秼+s_AG's4 fBdSN؈@$@ڏg\4kSj&laz'.m''q]1f=D'q7{TH=['G^?q۶r>:YuSQH;jPJ1DMZ // _^),ZqHHjQr)蘻6㙃gW=pv~&9$hޮO{|q!ETWtv 䡪lyviq3l>MC~#&4Q_x$5 yĞ{.Zs)őC1+("!8TEHh=OQ1U@vN L9) ,a"b#b)Wox *?L=wKQE~jP J@X!,R.x-1bMEQ39 @ѪEphVjC@$1v@m}oNWsp9x 9cJ(bDUeDDP9K 0("ed @V0Ń쒹ƟT61IeτP8&rc9,, W'O@638Mǫ7/W~EN^zinzS`-^ YYvqO.CS."߼]Mgh @3vm l+JȸT2I`3UFMz5SSjU0*9?n3Pr 8yQОf1{7`DzkA=W3!Vp;F{NvR  0"&4Ͷ鵹0Li;$Kb;P-Gv\VsU5v"2f3V8&]J=/s$\QP-yXhr]X1X />ns=j`blyw8z/JI}l gWۦuRBS$~Kuċ@]lTvU _r47dYȍfiɇvwFQAcPId=/[J @v͆{M(QQE暧81v;ZƜs66/k?w T,;MB&N7% 2 PE>j-~^ыwYVp=}+4 5!$,DYX=~tգg0"j^# :D cHXtEq<`hfm;+9S˾yQdx~v2Lc3kb݊ѮOvDD of&80(jĀPӻ ѓT3PLK6@U3D14ۋf jƎJ$*}@Uޕ,*ƎHVP<ĎYT ɴHEԮa @5Dq06 )J"!0XPU 027j]?ԧ[1csw@ \(R PM9%9L IDKB U|fYOܴq Xkvڑ ru(L58e'G4"Zm6cx3ӳo~L/?yYo] aO'_gs;kYDz)è13H1A8KJ 0eQL@l{-}LiuJƃ|vSJD\Y)w*RJt !v\r~ XxOEȡRuק9QD2\$/"ZNP\pTtcJEPqc\@t*`ZɰT 2;:T)g(U kc~??l^ .J* VP (R4sʥza֌Ȧ^51 @"Sź`f- V,Uwj;V"UE Ɯ̈DL\h}}f*jXkg6N8zvsӶҀ)'zr'1Rd[o?- waָj=(΅p4o%i pLXJQI@C@dEvLmtu E Gu YQGMIeumI)sE!!3=MαxlݍenͶc{'{GuO&E\hs3cF&xLvMSBQ)ټgƈ$e= NYY3YA4d%t(\|?%#;o(& 38mXpnwErTbΈp˦ \-EΣMY>y$8?O_{yK붩 YS"` s?yzyOV~,&LyķkD􎙹RGU4t j6NW]@#dhJUD}V2n63UG\ؾeA Lax)E)𞦜ETjM>xDt)Ev5FD#U7Tꖪ`lË$"}CvXîNb ZU #"1>6"b`&r̄5iV/Bx뭷ڶ͟6bw:5ímU[DBTlMEKZ)"5]V#Ü]EA5אSZݵn:AEԼmzY9XS$ ;s08Dȸ޽oI~];97t8Zvw  c˒jBLILNi9kŜ-i.,Y41c*ITp4l,!oHB.h@W"`fHE~@FfNUL Ȏ02D!KV<X v~v?Z@mRҫ?Rҷy赇S1|m5``s:xf3(eƔGD՘ ,|ޡ½.Nʙ?{˧/@B ʃӓ(-Ypo4˴ _a]U%;9ӴonET4O$9-n<:oª JHst-I~">Є@gglB.CNc")MS&n\KHC@B? 卯[8b\V\rfEnc17Ǝq{)ٟ?/| WN|>%j}@~,l_;SIff}3|ƪ:5uGv۝mD`p D@ d  $G\q%@`DX IPlv܃{Ts{}Zp]݊w"\ZӳŦ61oXUmg$BG!x3X\tW?vzSx({i'Bpݭsu&ٖ^DM3 W.xjG{ry##ֵP_;vFTeERZ4 NG &\YGeEP:TR ͌9ϦLj )GBt*y-f@$(ThLId;,aXJ_Vf&Y9eeU/Q};y~~9ͿPa޾6*>آʓnUhY oBed&R!3YRՌ[/)9X%5 #9v7P1Q_HĵӋqn֎o>{Tp)7M)z暯lgR9]|=_hԀ8E.aѸX\VlIU՚q+pXwLURQ ֹW$+1wP>]&v\BL.L$## ʶ3r]~R`, 12d0m'X (n{M,gQb]A!g,Vj&Rú g|.ȷMZU` bN,9:z:3ivz[6DIbr?Ȧ!>zz~;q*`HyXya2abd7'ئL~H<lW= ݵDѵ5V0qu3>MPTY+<{Vs PcҔcU?:p{ xΝov۶[,],B+r!Q9G;''gj(EkNM76>]6gx6.z!QXQHQ}굏7ӽ7s+A]B:9O- eԶA`ȎIL e1Q٘vZ@20"SHRfFL3L)0-퇨e5MY%Ky4ZV0SU) VBCAU J;&"OT՘`XD\1C"1 $ *C?o%*hAԉȹ)o{{Ew'`*{ !vi),YT0Q6+]︔[b_Vrd`x9u*ЯYBaA(9$,;j,vA+Ax+9]ٙu_v3(^BדYYaG0i^zggk}?PlP4&sNBwL (inՎrPJOHrYw)vM3LF!Ǯ1 5-io&\l{$׆jr lAt-_I mT1dXdIYaR̆ IDAT?8~ք'm{lrd^] X FT搐$!1|u"g ,ԜÇkG;[,ygs,<U_됖t+rPlxxoGM5@ʿ Xm2 2u!m"%5Bb9xZ-iH9fZb wJ"Jm q%ˈ .h E[M `+MȊƆ)jG, $9"92͙0LMQY62- 6PC5az9S3me[짔ȉ _¿]yc9e}g!@`tre((ny4Xe-H뒉2cJiq֫˛MWZ太Ʈ0(hX(d"#t~tCΛ w~0j;f:MfXEI q%`Uu[:@0@bd14&*m/H(*n0Mʋĭ韶QMEp.PcQ)*50K!ΗCߧ,,CSJĦÐV}J"1b@શ~'lPU5QDBpWɶ1fv(fZWԎ|΁^9VƼwLvP.j՗xY^:)W#_j:5u]vT:Ͼ K .$7yCԮsШm}C 6h-Gfjפ0\1wTb6@̷'fλaͼ$_ΙƬhjI""ݣN'o Ia+Z5WiG!i\*orޕlBu&&x) #ޅek,"=;JBd- Qp9ߨa9"dbf"&*~|~9Ŕ!@HK29b)&(o„YV^-K.,IL/L.(EEtb!g-?8L9]kG,XTv~Nܶya[<:CᶋjV"Jv f0ƾ7J "ŶscX( LҨr>n:W7F;bҰX'T+/j~0:tmk_l:iںL.nIKY%x|> AѼ3f]`a2)"Qּ-.em*1DS -ɦ-͐,\U-Z10 j|^a{D3Y\lŝ*&F"ΑJI(K&v49_y J 4iP90l*Vh'_Li":D~ *ϣi;hʐ TUFQ7O}Rl^~nQD "B닳SW_v+F8GݢppJ>wxuT1O_6~zh6Q@pM֠AE;UӦRWT&^/frHI,k=CCr.4Ӛ,CRݫF3grM07qp3öѡj7Ŵ VUKVl#pܖ|oWQۇaYmnhjƜ#xT!9U!jRئKj!;^3|[}z||7E_!Ylo2NƒUq8xLZqXGRlzoG9M/\D y5"2䜐wjX,#k@ss (8Hds\(҂"rj(gCPujfȤE DZRO(GU8^6Gt&IKh=Jqh]TXi*B*?r"8k`l]%VW >$v^ŭQ|jۓ [7>JSUaMLf*D$R0#@TF Ь޶*W B#٫ }8 \uݚ=0|1wB87ll|qv; v94m埽՝l&5LK2w]E]ettX3tTC@LCTPrmۙJYF<(nr̒]̈ 2'j"vP+.ϥAsJ&j,ΡZYޤ&ON}Lj.\۝=z|`4'_otJhy8xEڕPx<,'~L0spn2?=~;X^yq3gg|/7ueh[J-D/IdRɛ>r=hb2P4tx` jgk[&#Z(qzYtv!t_i6EtsԪ庮\_lj]b%\3W_Kc}<:8]CTQ/#+qkĴ 2 <Ѝˮ_m=;h\urrPOySLr?R7hٰt:Λog7>orp4zxݼNfD#QLk8VDRVAU5P) [V!Tt߼qq;,@3j>,L[OBNI4UXFc|pljٺb;g]yz|FT}'?f'uQ%uPWA*18\DX|{|  Ĩ PhT~ME s`&Kp `):G1fA`-_&GdrЬbZ S(5 n8(I΅H-8T)])fє@-1Z]@`굝wgX8T䌽MY=iyWv;/Me۫Q^zϿ;iġ['=<~zz۹큫ۿ鋛A|g>(>;r<{`rSս]c2/.֣v9%dK2s^U-sוw]xa/pͷgsdcהjnvbOү^;45btCD LH0-02y X21$*\cYĀICvn~g>588gz˓OO}r?{y _Lc@w7n .N$fqN&_{{|rM3*dD L%bNR6ƪyߘ7]Tj21,CLYs z؜M]H3uv1CJY?C5+P3!e"5Cj0m LHFT C͔ 4uP.V+ fF)Km@_P ǣЂ_J*b|V)eB'9!Ŝ-^o|.1@0uYr鸋CN6 in[:AJ鸩4Nc.'6ÀܬסzοgwwqrS>ߺvZTϖ'_erɔ.<>l 㟼:}=y|n_swxB:Nh`SVCQ;@ )p'ޖW#!jv*DkW3$h{t >m˧o`-˷mtU1T ,UH.vW28HrR %iMEz>o_+=^?o^yrާ?kO_w75W^~??X~鋻GW&oq?C mC&1ElCS2 N!O=ncN )FuU_xc_w?i=/~_ȠB#jqX뿿g'g??9]_䡡6aTvs"ո { ؑWQӧǏ/ LPkr{N{G{psGg>w܍]x';>=}g}CΗ)o~jt Q뾥/|g_gwWb~z|SG<;6 }%>>yO̞ftM4t|`*\=:(@@4KW GM Vj$M1Aj{,jJÀE}RZD.|IUM sJ8D!F1Yȡ*:֜bxG#rg%fPFb.?|8gZQ pR,CVK9 "*$tgF{fG M70a|Fm@i488D[ lp+G-1./ 9,@ze١)cBS~߽Mc8 z>]앆i?O`W?c??o_?l꯬+UVE靯~uW?a`p]I+̮f>>:шi{߿.hX*"Cιs-l% iKKh9gǸw(;l׼DhbH@t\oh~8p ubFBJu D9PJLR8 Uo5 d*j)}wߟc_9^z&{|q֍hs~ߎNkKv׵;7_]L?Xf߽`Q/p8lHQ&s-dVn?f̹o{ߺoݾq}wn}_MWOC#rU5U~Ͻ7w~kŏ|{jU6)0h0 Y yn,V^QF 5-?W=yҁc-TU;ޣ nx|Zb3My5j}S! y}Rt$HȀDFchF.`*(&ʹuXŭ|U&$Q+GY0Nn<;{z~oʳ7x4vo7OdJׯ7]ztxpsM;׿`Z󃋅% m@a38 sV`P77MƜ}z5U1`T0U9偆,!Sw)g3[|NM{+4alS^wĘ!(*P݇r͋aΖm lqFf hՔ?U76D%5M9_$ %O DK4bj +Du $$ %+1| ܞKbQ(ڇa3@P]VCF M*? prB͠dS"Y^V5//b|qpO.P@v'Tg![vdÐԌ;Gջ:i𝊋ü'߿..CwGӟr+UgwoM/[o8Xz?/>~roGhrUls' lֲ@ejdQɶ?MT IA KE RVhjg0DB&U!ªqf[31E HfE5+}(bˍCp׮[ջoƽ> 0P"* !!!iL.8Bd[fϽv}`{ ?l;}<9 wԩYFF7ʞmA4EY-{wy|џ]/~ٝC޹nwjZ}Y I9d|s̑Mhĝ.j 3Γ ECrhQ$%]8d]-3rȾG .!e1n]\\W'8e6(˾ڴ*ȹٙ1:f*ٌs|$`L˕ \KhL9>GRgbt>èP_%Y<}#w8"EZ7N4 WBh4Ó.׫ux&_,YzwKY._>d>S= Ρ4䇔GJՆ^,\M@vdf@qlr6mg0db5Q$PQ(jJ)SN05,VT`Pf5Bh8U1BN`*InFąʂfF Z":\p)pd2UɂTjv3DP?ȎwLbˍ\z4nU+>|9~myFFhI%tm`j` żÔe6ɉ2 0 V{"GCj!x&UTQ5~!9ODu!p8 ;'iq=|za`%_usm?[$֫|>O) C)Dƒ'v-O2X3ý$wO֖iv<(a t*Aͪ D f U(fC&R6-~tD"ZkTH@Ls/q޹઺N389p^p<{tpŏg\Pj+:$)A`R}uj&û{Y_GF'e6: #OO/vbHG8&Ųm&ٹ'D0 >mfM Ԍ[!Wo\/N_5qh'u\$PQ]}\L;$#rcJL,RlEY F/I ʓ#OL= (uݽ`~E|pלt; IDAT<[ݺ/+c4惄%''N߫ebhr΃t,!C>u~/R=쌪i5C4l-f{0 TMss6KzgYHv4'=:3S;OD)I,|^ofx|"S*Y,)[FQeC1fU@qe3ChJ)KKY8dV{gU w&#R^(u"&d}`\՜zQ)r6eEˡEfsl < K9A1|qHyyw1QNAА0E3leyf@Nا"bJjWz%X9H1#WWSVjy) Đ1+X "+Hd_ji|`fUpDl4']]*Y<9;r瘉ZU%|q1Jl'Ոrx_Td2a軳zZHB"Ǩ*J+&v L(U'+v<j<>i`ѯ6E?rf\L)"dR6vU-QC**T$ھ.yZ51t̋jUCq,]'4u Zhun4J rS3s}ǔZ@ ypY3BĻ]W^|ٳ'?]d 8 V#bY:^rqT޳EsbVftGUjZxO>fH~|OQ" ?ȿijPZVa3O'痧n(7T*&'.z?ʴLo^ϟz:/?JؗV00o N#2MV9yx bn,W !pb><}~a=|"I?zz̞TϘшMЦyYfR7tr9YG}$64G{rn%Ni]e'#f%d j1,y@x_cJ0sgN.rA[jx}'fD;B&s3cdU{ޔ*Җzyji2Z* ݉E \z zsۛl:#PxO>cgrdzrw` M6`*R}} imǃlmq| nM?lt @pܜ%v[䫂Ng9auyOVӢgc)c'FZ1wEa>vGw)2 xmm&j )Pʄ\uS7}c 9QΜ([# cap,p"Wյi^ˬ2E]IIqcEt C6vI<@D"s),L>n~tdsnDNjh$B"->et,ˬUuj ]/8)* TD h-$BdS $<'PyO =0C jqUe!$D-2#9 69:I TS9gq@diXt&H&A,b֓Z"e˃tEg~/h 7r7_\ypZH@CD%ms)V )S0H8!AR=_ $r_B,ZV4Ts"p}D ݭH0wy/KZ8aqf̔`۔_jSNZD2e)K vzwyw>m, um c 3ƥ[66iۻÛoٛ_~s]Ne?\!̥xeF1k} RVwDUN`ZG;QF:<0=ɗ귷Sѩtm۝#0v2sQ#v2]\Ъó'yxdim[2[Yק޽r*@ VOk$¥ L s@sono2d٦qm!D#0!Pf&$D pSD{؟sl6y"u]^\ΰ)".RE/K)2W ֥T@"Sb旱GNX"!j .mE' L%f%8iV$ HQG͝ ]QrbS9;""r)gJ]'给A(  N:@V:QZ+Vi @פgT$\), b€$3%Bd"w\)ywGY /OJm)53o?^矍x<ϗsa/^=|XXi&KĮZިWPvY+Gj *:2##`YMNӗ`Dp(-~@`n`Di@!IZ&Ii(]HljKQ" ZɄK](IG յF.pSꈀL+DerG٠D3Z]7<ӛl30gf!$$n&^ lj]w#[[fM<03''?y:??y<4YMݱV5]؁S nlL)w Li;0y 3:8QFCR/|pbx;-xqGI" ~eX%x뺔zu.urOe͋OtۜJ-R oߞr>Lq:M^?|1+"%a{LW`4#>V^lͪvco#rSzhL °WSqH^ͪ9@bL]bb$0Lp5_P{B V+ŘSB\fZLMM?ޏ cվhONX#cѨ-}b & i+nB#P#uDFЉIr3wLHQ5A2Ek 䧿 N_zMp,4^U?|STR;Eܬ,ݮuwСBv$b@-º.hn! 2>eN"(NiĖmLƱfNV'!I$37ݵVWeeYT:$' w8'N#X=-Íe2t9d#Ҳ,]txrKecmr&DZ^q!ǷϾ;|CM'Ёuk\@`2/r>3vnӘ -1b9*L/O???{};o.e$䜹$ @JoPͳ0CɛgnC7#etrG%Ng}7%vLwwEDno@_'Mn{&v7 TLtX2i ,.%x7uDDFc @LaC l"#ֆ rIg5$wDF3-LH$WH DL87Έힾ؄648f xU+ bIb3PΒTէ \fW]$LY{;QIZ| 8"1DgBsjk4c䀈Ctb>o|(I;׮1.G y,8HXV5u3"WO\ZuUx &UkZ̗ɬM ERrUM}ZYl##E01;轈@JF}כ\*T"shz,4.]!$I@YKi.m}L$ÀDrooo>|~ٮ.ga1L@#[%UqYfD, 2/s]^}.v\N/Ф}_?AqW?>8jbv>41'm'ʒLaQ_<3fnw$'`e 'ϛyZKbךr,:-_/n~x .YH0y>ИznJ W$`!eR1hGB@-Q!:(#nD4Zjs\ZZl)e1Z"|3l@|* @f݌Q%. 5i!p)jp]UՔBk"RuHC p`J5jXHRK83I1. nހ nqP`åU5"}@<.Uܡ‚Lw[PfufsZr`Rօ9m6?$?ko|o>m6QjЩz:EzdL ň!1~@8>pN_0qSgnj+@PsԱ.?J;##0TfY L4|9np>i"ƍPb^Q$%`L쓽&mok IDAT2u`2Z,v1e)ZXk-nsUÇÅ5AhP2<\KYY1O\796\)N3mMd8O&R5 =}]!]ft_&,836_eD1#'‰óN0$T5sybgwvB e|} "n'`L x\m# ##zZ9TU3ڢR #aӭ\̉QPmEz4Ԥ '5p jYH\A= zmӣ)%\" P1-:%o6[9=iT#{LZƧ~{7R8 "+:- 4y?Fh"i-:gwkwcϺ ɛmo9PNs',|eq$]-e9k{f#|!uuL'fuf- O_W>ՇSu}-8]cQJyFEhx8ëfx(eR+"BN(nw?]ۻav6˸4/h F,rpMuV&dgKx{C˩cfeKT-α=3_J(ŵ /+BϿ?G$[̙h} Iq/aZN7GՉ?zذ~ȊJj.Kt,jÛK-4q\j]TkTߦ~'7ͷn'wƱ,vq4tuzJZLՑ9s&IfBhfBbRHy)ZkeUS&Pe}"mWOcT ZBD$ª5F{h;<Lg$itZU;tZeZzyWffU(o_w~F`H qc@UV_ ^ը8bމ@9N!!0[t([5l0JHPE0%IȠ]J,QU:нzj%"S/mFᒧByzyzjD\c.hnsk FQ1Y'tT׉5k#~_97zݙkJ6T/<{DeR =!JA%#`!`NGS'&"`|[EwU:X\ƒvLΈHDX:%j ;x]2w&!-^>C֎[ŋ[Kpj_+]i^=(jzJڔb(|6yU|,\q4<)ownU-<5ڽ_a'UCUsHt̩>v_Nzy, 2t}u_#!o64w)ãZ4pJA2Nn_ݍn膞TݲT:Wt9-\^/+Y e2$&405e.{7sWϥ*dr-]X$2[s@6톸Oa~ QbUj 1u/S21~ó?lXjKfzǹTf$On/z|s3w9ڼRv~x<\t>Su$N ՒH" (  DH5mVUM =q}LZgN[ҪRU&>qWy"4z\'qmM@ۤIfg[EKH W՜YLRH G]PfJG-x$$`HS Yo$GZ j2{la 2̼y5C&F%b92W&0jAUG-TuB3Gt5393 8[9RjaU96Yf䀄]iAi,Ra<}!mhfl[6PD_11-]N prhĥ`]MTV?%tf" -!H=P㕇hmgd$13&ai'ݵZ-L5W@PXԄXX"x:,a2'(^uJҹ0!Ff(@N6:Z1R/d Tj1")wxLBѳ___~|$Ĕ7+2 rR>o [V=}z#U @'9S1Kʻ{ynm:t!oG\c_Uuy;8t:qԩTrޛqLð6 wVܥgVP+sY\~3q? 'O axKz@4hC"=q||aK;ؠ2O-Q1!״<DDwI h5nx:_aZ]#(4r,,0h܈:U0+jF`̔3g,2XqQc.hm!iNv+k4HxMMhUnފ`i?ft'hߊStXDrJDSJ4f`ZܨjbfȌV(%6 a;yRYEDzpB` Zr}P#:T`bDRhc@CsdR VjZV4QuD@:\C3fN̛2 <:Zp9(]!bVNk-neqy*ӈ\uy|:ERQV"EgӦ,~CCpH HsCv3B Sln 26gn8nښqѰkxJ~ @7r+=;B)ˣ3Q'ecƠNA(+#P"t!Cxߠ3)I||739Vu ǎKL39 f1#s$HMǶ㤒|<.Nͽ;p~}S?[MRwrڶp Y:ߎU,Z׆bKg])'-*:~e$ ApK*Ot}w^\'z7:J5\R px㣯|?Żj%2Mݪ6ʴj }j}iRj׽*T0yy?UVy?׭١IMw=>Ǜ! &^cr便+a:y>_MӠQݱk~'{mIDATǹ$Dqis)\8CȑWs 7(RDR0,\e\C$b0G2$ ̊k@H I*J<<UpC rHb5{g-,3j}ՉΟk[=C (Q)20I (00y"ёTPHT#5 B7LLD\Mg$d8ĖUݝ9E+ЅEDGMEJjX >.Ն>5XܨB ,?Q胺IMwgs(RqO-wG'_MS46[#n$XZp aI~J& :ZqcR ƱܻeqP53+v)lV㑋0B5z:,Z&+9sdrrs ȋ'CYENE!5]FӃ-(:/UUaqxrm;MyJ4JÝkGg_/iJ-s$ QV[p(/ҷ2G47v<}vӤt:tX\{`"WM;Xtb)q3顕dMa"FxG<~t9q`َ \T{pUuϚl| 3t딘qPni*VzzK~6xqE˽]b+I={&j=@^ⷼ'DM)OE\]|'c()o7,瞘-9kӜI|[ߙ.<5DXCIDZ9Y 55wP4J7Bs-6'j !˩غQ+!DTtv=a܍bܺX.J1GJj؅:F@'_Xpqў7H$BiWݷQWZ&'wqAM%t93{D݁JvWw" ȡ;"A ]́JTP#IոnG@W^FXsV$@n@IM8b< 4&nf莼XL  `(TkMK4y,!`Z{um/޿txپfHqlha2 36[U3&lQӪ+Emԛzw7'_ tw\dlq'].FtݦRl8i7øc<;&#!A5ufCѹO Jb0GIDuKwji:﯎ӑno$67s"y$vݧ|JI8Abnt]#ffHd+wJ!tJ(uFT=`qHwhLJ tikُƇ>5r9"2Ep=*4v P6x]uiRbTN` . U{:ǖ:xPxf 'nKG?_%DZmn[ռ[ezCk$Y: y,:O]]w]5 1En8 +؜Gж}ˇW4?=I.9~6tƸT;4Vf6M? C@ޘ|Ts[v@ޘn^_ȬV]ܻ{݃2"80H_&bP ^4R蒬8sKBfPFdTuu 7"$WpbP+Ө`D5&8`X qMC "tH w"Ȗ Bt\LM]Y)U&Rѳ4! <=#yѲX aP5cj5%B8[?v BBZx:}a+0-{C[Ҁ:o[ 012Y39+]Fd7d$kL!t rW/Z w @Y`!{IiB@yy`PƾM46IV"q?p;3+6 C=Y F8`?>~tr 8;3_l^(H#Uv+鴘j$h^^Jg~ާ?˿~#Ko +(utm. L9+ax|7{~ʮɾZ=I9vTJ<<65mBBip̻cNZ?gX{ן7m3ê_movYmܬ005FDM„g-Y1 ; ,k˵"Fp(kgDT+uLhL.G;ۋiر DBTGD5Z\nM(W-VrONHaeQ~\j%olpF9l΃<n] 1Yfb:@B8 TwF9#$# |Z *@QO8z؉r r@B03&aעJj2 kQG00Nz)sY hZrb3vL,(;汄\l y8PaѠ,u]tX˩ebdKќU)8iX ÞbDWRcme-Nt!j#;fֻwUxrD +[$dH TlTW"V!EB} S@ hɥ>lmK$smg)I.s] lGufЄ9(8:cB@?LdbU5䴔iw7_.!|y !LӬ_g nݭ_qQk"ihdE8ل^K,BU^뾩䛛-6{O0wp9oyiT#׾?s~M}1 17WMS*: e"$h"`4%9_ N@4R$m9%JE &aӤZnw'%ٛ DR#{0QZ-`eea)V`?Ds"AHV݅(1cv }и2'wg_/}7lިpU, "$?<IqN#YĠ#̷_>6xzo[?^"ɏ/zPBsIENDB`Сt?GAWYʿ+qY&ģcHռ.r=۞AB]@6O|8 <<RX0Q1)^8^8^о .zFmK׉!nnaSZK}fZȴδ뒔sΞ9&uns‚CF03`$$M}}HTQ@D4"<,! 1z<A8qoJCVhāG爮:A sqRAfQ2TbVX{ߓHD+;p!zȹ+5l9rWTˡ_]pvKb-BFʨ"͇*Ui?77,|尺 S]C2;(eG=M;>2sq]u M?690v,Z*K7:@ݪ[[M,-YKTe18r w&WbZxP/R``BÏ09;Ȉ[Xq#HrVHY[7]>Nn*@4"Dz06= D xj.84$lR!ءZXi޽QOa*Km¯r,׼|ٮ^ŶvNW[I_# 6K)+f.:9>Cmd:{i .Bx9̃D7 Ȋ[MVB ;|_\r̿,{6f}Bl5jyr*0a¤+/Mll"n8jsx΄p3=K C.#7{[WD$X d [wvIrC5ꯆ'\4In=5t&]"67_[N#n$u+?xsCtKSڞ%KDITR$7cf %qv3:{jΫϿnvy?ڒưxKp35kx0q@ 3?,=9}zWVUO_3B؄Ӏ3|9F^^|fgN;bZ!\\EܦpH>'tg7DĽo$AJ2:)YhI ?3'_-dI#-{fol }Wةa%Õ  8zo,uL2Z_Ai>eۢlGOkO߾ j˶~ 7e>p͙"yKnQbRtߧ~ #SFn6l#{[P~ P^C;̡zLY19sWU/"9 p6 q@3X{ <_s2`r"2RA*bb< wh.#*xZhtrQ!A늸؏+$# D(GNyp[&xJ[yp!n"yvn^}iHAUc_pDJH־=FGد˥dg"vO<@B28> %'g@_;:uv <ɉ|Zn}J(eߞD7\ypg߲,J#x}" "'#X9e`Za$1v8GcW>CdԑvJ$F;?S$|a,ae,AIA`ʰ%;K*=Dq H "gȲY1 ^XcqOٱ<=tjd̼דXo2YmYIzՆK:(p0ֆB/V` M_p C4LHpL&lP"/q빜J| 7 v:|vF%G&'>.ah om^K M9|J6 5 O2>9oҐaOf|z}yɥ~̕59"81sf铜2f@n^ؿ;G<- RRT ?WrK̹jݥF.{Y[HU' 7QNs=f!0-^J[c~j)pozΝ_wr~ȯ}yU^ixuT>ކ?9cPk| d{;R˜y(Z@MJ@;(r:(N1z)8:ј ;Eȳhx+>_: `\Ƹ9 0‹F;^c<u|ߐ֌8\dQǧQa+K8'csu*0e,z?Sӷg8r}]Ȣ%D+g~^, CH 'FidƓ]#k 00i UK(]EYej|y" G%R ?ם[);NocLn>d7TZ]_Jb_1 [-XRI~8i#`Io\xzq]01ԾG"7j<1D2"5o|{iucs3y7P8b w`2F&;$/ s Kq1mű T$@SVbᚯ+w ABTwYQnӴ,x~Ryا r%J]&N>pCx H\+d<-塪yg1:4c+~MןR[:rZ}#BW_wvY;+؉HO;Ƨݠ䧧g)=3a*8-D1* :_mE\67`*Ҽ7?/dw ]U`G`f2EG'p`YN1l֯5bXs|Km-5eŃ)z@7K(OyA~BuݟjwNJ}s+d^zc~K4p۾'.㓯rztLV];tPp`qU6,k;wU6,XW 8׭!m ;c;_^it̏jAUKb4aA u&بfJ+^Zzex05^|wz˲!}lYNJV`ԫ\AMb~:pL嵠5l@dz.deͅIz'=ں>߹J@۸YnߘA&b> 1h23𨻽2kG6!>=Lq#磰v!mRsa#(qn@ z8OӿT|=3kMZq\NoK#-Ft }Sl-b }_mFH*A,#-0i DzVWKu해L,5m ;7W#bN $suuX*{I;-/Wft$P]gk _aL}ܞ~!Fm55 w3~v@jrs`nm `/Dw9Ba_t$g5]sT?TpXej9W,]H~&ˣ @ v?7[|[ ,6Lp=#_68rr[>k98Į 灅Yds+Gm*j!cvvAk{C_N A0%X>*\+͌oR^g.qEPUgrBs{ըsR㝫ǽKIcmsbmBH?nXgzͧ{q㨑7i.^skGy5mV[&w R (kSQr| l'V+k?$=^h +:B\nbR@7S n۞q涅D2+Nn?"~L]<XH>, ;O:@Uy-^Hfoݯ]晦PyKo^|rLZj ˏTF,Ew.<\CR_?wyJ09?l ՞ (,d)GDY뙂8I^/He**+X Ωn.6AA.Eܐg}Ȉz?O5rd_R ?\HY`(bNY@IL;gFۈ]h?rkj)Ca}[uޏ͇ة+r"c^oAkvL!$v$5K\ vՎT=x@z$MS ]fByZK!c|DzxOvAM 8œeC_$}b.JbqqH2VDĥXʎU_O-3ߴO0!͏ fo"Vx]Y]Α{޺uyˑ[8kbQ8]W VNY_瘞>||~GHQ6[e&Z?bxŝ1U#m^Z5Ϙ΁u_/`F&n@X֑wLO00/ÐEv\e]kZd2ړxSO^B|z6<`U9lL↧WT"PA[/YIͨIE `5/IoPE5;(8j.Q._(@ݷof;3RgIA˞p#S4ɣQ FhY?,hdaоc 1|q_ٔcbcr ⩤4GbBQt'9^0%miYBj:WS]d?ts yxǷʬZZWUaaa෷+8NS0J=@HݾaCOSM^VJ{vv1n6֌־F &A*EbH&H[t\Q Zp7]t69jh^|fP(6z8e$緜S,(w>\z7UuO˫\9-k|^ZáUDKs)Ke|KG W)ԋqHO LHْ edN+b*bk^vZZ_Zλ7U9j5 .n=rG\ h YcbFF+=pI \$KYVm^H˹s} rzTid h8YA*9xգb8 &ǹ,;ZƃOR[Ļ8.ξ+Gўbi;p{`A"QߖĮIv#NZIH w]i;P{dB"}g wYM:rjI5ӪD"v=>_Xʘ0ɂN[{Ggѭ.4V ޯ-*n$ }r(_U(yG hNlcڬbex+MNYg/1lwXR৉ximH9Xad)ei-o }  ׯo-X.ϕr9B!j'/Fyi1d$M' R^mNrȷÔi YǙ^C?~_Up :0rw㈯zSCHQwA[5Di% hm_ :mU!<]oI-qX¹3‚wc;YivvC Y9aGw}q'P8E2=bF-+{y*CnGm\ &<.c P:iqIX3`;C]>"L뀲1[y?]®ya&g ytst񱿂g.MR𮋽TA_ ܽ}eOEa:s`;9ip*S¶u<1ϋ6C"o 1ف˻&ƅۚY64HxEU*8;o-O͘>>ez, eXHV6tzw876ȖN?h2ft] <"INWV;;l$3X/A ]?ELUI߯3{[ЂȘ(X]Ę6cdFC"8#X0PmCpԽ^) Kɵt<[NTjzlx 4?y`kC"KlY yFEBUn`0-Nׇd8UoHsz!QR3J[4EJ]h 䮋!*1$g-/4"Z8m,-LCwvXNԉ "9~xA%L0p@)MZ| J<;ij+(&T:ݶ*&QDNҬ {\סd Q-Ď(x:oe+0 S+n9Å"dٗC\羘350VZ~W5N+ļe\US:e.%GӠ%rW@-Gx})$sRT/HADY^\m1pK_c%'["\|Pm"hsRAwGfmQV3O>&ZII|tolX^[SH$FYhY: 2℞6;Ca#Q\Q`6hƷJОz /ߑwPE ?^NcBQn=+جLaw Yc{TZCu2Wm#4ufaΔA'{OYɷ' PPw럊j MQcC:k(}Sca$(90f*->uQMJڒ2-Mv_]w" }v"M29 ?=A^yz5eBg+҇ GD>LdٚI= '4t S@ (^lH2V9T y|weWUoacLaG+v>eDŽX>3W<դ-snJei룦Š %DIpʴII3Xd%PhER 4&8\Kre9 kK4-AnPSWXɴ.<4yƳj^Y򸷳<گ:ky_NHht"|[uHΜ#[Z}2T5{Ov7]::D'|v;P^sC,ٙo R-.5=oHp,nGHR[8(1#MTM:A6O_%^B<b3~\l8Nc4ة@;MdHF K$ P ǐ;mY&O21*=BV=esv{?}SVG*a"a]ay@:QoH>EPQC.hE^]h4^TzMlnV͎N$^C5<)_UV0Š.A?grYs{,ԋi/'3b=Qd$W!z㙂Hc%fmy 2􃇳8 Z@Qr3YBF$a߬{DP3AoT'~>L# DUur 5|[8<&TՅWh䮪y?S{F>_Rj #KzH2 &%T_kaVJhl{Vy yK!F3Ex(mKH_6r4>ʀxxp_Zp#ez? Qx 35xx~X*t뛝JLnӚrTaЊ4B8,Vl  W5b5g`l_-DZńHa:{RH]D8]Eg 7cVGnDkUnDZVuT Z65UȺmȎLg&>&,cALv>^8@ْ5AtdbAYXK)/wz⳼oQTYv`ydr6%waO* *&R^[ӆ-ׯ?}Y{9OLGGfG7=[Դ If;i ~CaqvOI+;3_ v}[cjYk91jϖ.re=%P\A"Y)ITsǹpU&KBZ*+t58"1hީ?=|nqwe9ss_FVַ"JQ'xVlh-Vc'>` 뢥~K9*n!U+Q-I̍xSiAwq@#I dqQӥ: M[$SĈQ .3~Qa͆YjF"ÊiIi>~ŒpϾ W,vOÂu;׸>굑sNC^Y5qS}#eJ~!̏CQuu7Tnc~kLjݵ_ଡ{$!_jK!{R5#B򛯎界%cwC}oࡌ97dZd>k#^7< &l*PAHOo?Z"UhK`ӳ5vnuaȧ g#dFvxtcEQAo T $>c0R,_+KbSK-\b0Ah*Y%C97A"G鞖&~9LdA@ЖZJ裖 4úz62ǂ0‘-uVK[彅AGR{Gbp`j,N,5phX8·@G"*MgR (3^e FCjtdw;U^]s?k#dcɞ9a[n݅Fg"tACZǑe''OnbfxsS?=I&$+2>V;v/_#Ѳ AJ㦞6- '_7OzRt0kY]n J!1`^Vf tѼHlr.L1 ZP@c?Yd7Wǔr:xmbdXq\g~Q?py]_u[Ei9j\ɝ*^MFag!#!i_z1TNAtz`/+ ]R\Ӈ)Lւg)K<ezbjfXda_įK,9l|]۸DTY%: We  d%=ENʙDE)V.q#gl{/$KTD3s鐾,jr)O0Ò9dIJUxqcl.T%M(kZޞ^ z~Ww'YpTc8Ɇ"= He}"!$G|& 6a`&otE#2/CE鴙g p{۬9:i_T =/-5&b)Ikܵ]oߑ*v ==?uLқzC{ޖjjt׿ڮ/p^"!*ABq;|=h.Q&-$F ZmUiDf5C>52 Ыp6 XU~Vv*4JV(Ю&Y#!KE&Ѹe/&_3Ԅd'3u(mɎt雃+ xOl;9ƶmsc`cllv6v6ɉ{{S=U35TM|C!r]JQ݈D$ Jl`ӵ!fHd3{Pd*[d>%n"n 4mRɚUv 2!6ZC%K*ZxkJX{0 x1.u!,Ux,/mmA,y Ɵh<}v\SUV8pFU Ll(kq $9a*Ad&H6Uc\8 D.?Z;,<'&զ-%`)Eni.NG!1(0̤&ېQav,qsZ%[k/%(!'x/:gGY.+„'M|\eXpYL|+~5W[WݑX"#W\祫Z}`8Svq8Te9{h!Vb~%C"ak}'NMV9,nL*xu(v@gˍ╆ ?l^>Ψ!kxæ puFcN$٢zqv+i^uIn‘y(ݔN_S!we9$3L %7ǘJ1IF-z,n -r,,8E"mo:s^z i+Qh qP)V(_P{w-h5(X.qpp85sW9V@v R.8| v Xb=9Dd@H 6P\;# g2ZFfos05 bC9fJ)D|eK BzHt7źwe"hA(ք4UT*i|0<א*j0Mksen|9[?ۛۜC",dOq@XTD߯4ѽ z8(LUG,2uHǭjEjl/Fuh37bҐZ'qTYq!2Q:* 7;e,FE)!zMgX_~]\\v-]ot)<{@/9nO>*귲D>dQ0:?̨G]]41t]U$E e8 ʂ5 Bu޹޷Sw@@^x:t%`#4.9tQ6`9V]PcHjMȆڜfEs7&2Z{܍l a]ivFHP"#wRXXYDM3QyxѸ)Adv6Sm3asٮ,:7K蛋jaZW?ф QA#Pղ;5XUg 5cmfLJڲ!BwBEYzEQKߗ"T_3cb`Pm\s*+ rH"z즧cֱ٘P&Sdrdch)-Ci da(b&;eL2P41ohni׭It 6icrwY#sSgz6E6aɨeXWn44VEstI p߮CyA)a{x)?J$b2(Zp)N5A;.+ 0N]>KLH;X%w)[17v/wxwS}c~G?DK@6L%wc(j$ނdD2DG$t 9׈گQW6ך׀kFw "th*s\K6?~ŲkC ~Pp64u1CDx"rtƹ+/a$(3"C#uӻY(A"%M SsT::9sND[}Cd"ZʖADUlʡFKqtK6(b zfN'], R_d1]u~& |HN[ǩ뼼jnduEd_DOQKIk,mE*Qѫ5nCNgN-ѳo>PtlTV%k/! oֽNocؒ[~,QUlx!fX?W+hqG&R EB,-v> ?0_a$;v@''W{+{kapI& FA= ^Vq<7&6Ӿ~/m2DʅHpz\VjUmJrE":[ Kbtg2}ɹFw}yBF$$#^@ n86<Į]qrVCX@;+ijǚgʗ|#(ׯ#x4QvEr'^oo2!d YbkpHKuם﫤XY(OV~44>= = _~^߶Yl "]i}An)}TqDYOD]7 &zr7pdʷu9[ ! V2wbX640=˕뱖Dhk0"-7~ǮIRt!5j(HD ׈QbCp甧BlU1+se:'D{l~ST\t.ZkS{~mADMkA !6/a[`4.kUrn|`r!1!$1L|Ou)PwJLZt?J,f |'b::0 _gUɴhx2'Ķ, 󶧘Fه1y߻Î.H f%k[?hP^/2O3>oZ)ݻKy~wK"dK *c5$_JEɬ ]?3; "ؗmldBx~" N~ ; D=Gεr!%و5 qvbbE~e]@gf5/rDüar rq)-W,pR!:T<UkkL(O݉ O 5Ysxg3 _m :-~`=R2W\N Azq3tf=yE2TYyb X{J1=ȊKޮa>Wگ_{/o$x!9h>;M^k(5Œ[m54232JfSoAMTefRg#bma(%Cݳ͖s8,խJ  t5b]^UjHa XTߏ噬|3Η|gcu8T!!KQƮ75oI2K{i"RTQQ@Z% hPHVg'79i.Tow'ulb?* {E mGg4$ˇL%.;[gSBώQ%4~5lp(άEA-6R014N&̮@À 쇉jXQמ-㮹ԛ*RWZ* |~yCB͸6ɩ30Tc5y4l_.o'PϤi,Ԉe·|[f~k[+܇E.F S/*'RM^s Z0ЎxŶ&qW☞'Z?jf߾jZ?`Rо>}*rث-؏>"yq@UE>am1ђ(4UlYq;gc闼KJϥf< fhC4a\^#S>~m-NY&tYXm_aBYŽ*rآk=7ztaK?} :NЎ}*#j>)inUe*KivI0ӂݙj&q"W8kݠ}7عoqo( H|,ۘczuMFU׵G! NE}_4$ n"ACi6VJ J34o}ŠfKi < ̈-WYh<h>Xi;kbW>R7}X!v20V̨I̒@iLb Av"e$ yNےNug՜$> Xߖ;¨FZ1T23IA+AjQƷq7!VῈ F@(Ihy._:ioK0vk1P{ A!Dѥ}W: ;P >>ҁr 4{)98]]Xw99D=|;=t}קaS Zs^QXY?#wi?4Ʊ8җ#ycZaAxr^e(כsw3$0;ɌzfUa_XzriQ`fb{}Ro]Yjzs~6o洆8I3%1D#hjd 7Bx߫$̓F)~D1D )wO\{uDNc qlZ@:{#h>tz>J1m1Mo9Os1N؏#p[J/S2DxWMnq Q午P]:CZD6$F[6VZ =EpBei-hWuVj0ARPr҃*\ f2 !$us~oCKOWw՝5$J!.Wٯ.GU ,tVN)(P3bDG$I;6vq\ Jo>oL5OG ^9;YߏFa$0B"pzR‹5?9/gS?Hٽ,(pId^h[Fٰ&QZyALt3!ff7 L/=Z177qiA6A1є]ʚJXų`r&SDp-b8Ȍ o{}Zo։@D 6uJɰPSa-gZxfq10Qqe}wCَhKeǚ-Fn[Ct]ClC/Qֳa=n|S<"iԱl`{t{O럦/=W5pr`Cޕ$emQPwlU^7͖ZɡǮ-vGM6m_ܿg6ro2li9 p_|'H&ChPG6a+h{:IXߌk ,]Q )+JRbǠl]r{aȷ/G(O =dFె')Q=oXvm9r}7;ޕS[F~!ϠQ68nrl;`z%;97yY V_^^8p*ed)qMV"&-j2Zw(IuJ+PGSjǯf03t(d_NO:oF`)lw?cú:4ڸ9YG({G־~Ε+5)%:KxZRӂ7-1kh>S8qH &Z)nS*LĘ`VKg ;#A| U@Bv% 8Y6>iLUm Ɵ:(^+ ̒@'r|^776tTĵ8=-Vf"QN1~>{D dWO,h۷/6FSء(0АSR TYMHђ_uM-y9* )' UZ Ȗ uϬϴAqLѻ^`<>彝\?WdYttKӚ[}Cnη5U&b^ v{~ gAJM\RL&ē7UGJ"mh4g6/p@ːcnP4\5AB8⺚쨐t1L B5=̼>Р']#@,=П9c,WПIztdͽFYtNuפQ/3:S>uRxgYW47luth%Q;|z?0P?NR'Q/?P&KV3O2bطЂ  )KdAlqcof2 :o}$/}[>OF>R0RR0)vMSVa438}#rd/m_t}~u"*?4ȱ2%ǝlԫ';6G˨ *$_UH(` @D0`33pl? 9Bwu/r+:!Cffh[ZY&?ZW2(A„ frl홏Ŗ3izl* E {L7ve%&hdv9'(,m<4r#d3dD(ȀNzfE-Z3 hWQ~_͕*+1>o~.ݫ2˻ؿ'goD3JKx}&kqåɾ- a)M&Aܜ| RG7⑆wQaG ,[.!V/T+Dl:qS21 ;!֝N.Y13X4Tx@|X`QD6OIC|ΎBQI)lFˌsy7fMwUt!N^o7n!\E"p \Ȏay)[ Ū'G]S,r/B\L7rwY{5b]zGe S#Bf"_.EΊ=qTqR9{DږX#+ -JԔ5"X ŞhT4{#NY݃~y-hAOm<+JޕTS( JJDJQl;n%iX2W;xI~5cֺP&r .Y9Zm<-VqLs? hND vN3~q*I (CڧҙM&;yW]\2oL 4jh4D"zXْWaPŖD 4 -Á@ƠDr@1leYt(R9#D< {<EuWk%}|Ө:LBh9joz?82^+@ɑ7a`!RfzS{. GMdKmGCdAFntaCh#Iw<`6 mt!a*̬XgGmo0Ѥ#XL\ Y¤*f@@gh`_>\eWka?9CZkge<sKID8ޓUkrs740p1eѡa;]{ªK~ͤʗ.rq$17m*\ 28mοh岵 MxDt[W(++ɥBmy1qƣ%u`:=ƛ͇vX9%'mWNSa" gAqs`eZ[@< E\וW`Yѡ#m׾IIyφLۆyjľjprᣬקM? $~l{l,v IڞWCd<=O3u.:YPqLB̆\QuU?"ۊA9`ДfL6rrI^]kaEZ ^Lۆ($S 7}/|~ oI?*cX^h|.ay:}*߳?X˚;ZalսVAI:Y9U\w94TT8N9[}uM;uA1ÓOaǎ:X-L$U]םꮔCF+ûK'$d{\|\4i_ˠUHHNTvs?rPvoⷱfH$13`P!,w|t96偵3D覒BV2NJ_ {Ro[Kr `8a"v/J^ffMgÿ2#7;VO\)qs%˞_Q_TK=N*9:3xރt wjJtF_~t 7*AH#% A)|x*  ģ]Iݨsļ~{Y{a {= "TBB4~PeG<=CCAW-b{|"˺A[[PӂTdd\览56P/4Ayz)77UzŃP/ޕtufV].%Q'VsSQvFRxq9UO(P5>ݳ+~Xiuy~ N'{ֺ{+qGڞ_ն7?=RwGmaRV zةBkJMX:nӃ+g s~Wb }Ϡ|1k ߑQT*U^w.֞]),\~MSTV~ϳTr4HDxJrD*6 20-me @X%ݫ+ǐ߻:}:yR:z6> F]H[wC]`]i¡]{y iQN FJ#`h C@b}͉٤|yEGn#`0P@yrj܃RE']l+\^ #r^C+‚w¡72\ЭrO)~}'nBWGg[h `>bC ]B}SvrU0&9}v)۳<{r~16o "s Pgt ( >9ڗbnj`P[:!AVYA'3Qtv(6j+1ISgeA Z˱́p :J1iV0U7Kݝ[wK9"Dpttk }9$=IowOf'51{ J>Mi>u/mH,29WАMcm=k4IҘ]7׼ΪY7fSȱ1d?Sa6p囄DrX>EY2@ݪΗsukjҕkZ\Ql wQ @BL |U ÉxrzZ5z÷yHEL\d$;SB{)+Mi(ߙfpW6@9֩dC'QY*3uV)wu~کXy*w8,#MhB=q+;.hKKuhH$*~-c}Rezq~jUGsWcV_cRΥQ=w67n=6g!5{C$y?^}A3\_\ }mkњ=Z||,?|v`tn|pjskOyZ1oNH.\>?5[녟}:na~6-Ih+&X(ܨiﯭ-0]2j T]MG$n7#rQt/kzȷf*^BȂ1DOm L&1= 3ir g11)4*GiAgBS2݌ @X (*a~EP |r'PIrRx}h @)mP@{@p<ΓhK!!fv?L pudŀ $ҁ~P@HI͔[^$POf<.S >m>ʡ4!!;&VXҏ w̐|vgǞd|5/DPPb0%W zdUͺ>W䋊'pu5X ojwW"-z[1SRӈԒb%Cg:C$c&f,ͷxњemBߩB&dλM/3x6s/ٟ_ovUv\.5|mi7V~+tg~3$pN߾,abAPWLc8ԶAah_3)e?Xl*TN*Ή8g1|"HbOw/NQA8#zょ}c|ۂ݁NCx!E$̷P8^$Vx,q̟1>+6'.!$Ms+>s%^f|R&e<_/9mb^|N>ɋE.g.OFCDsY8DUW?UpF4!?KhZy>SuՉt `&T ^,z$(ٔɜ*a$,Qm4M,IC,)oP&?9!Gɽj 8@*Bny̷un^?e|M !^/EğD#^%,+aռ6-.ƴ @A&YʼwLGܭǢ/_"gXZ4ݮi'At7u}\%h\mWY&*DB'kNAp .k_q&K I\z&F%yy<]`t`H&ffsbNVnѭ.]z6Qp\?xk4?mcHV,]Z6B=p4ɩ٩nnz[Jf`m l=M ¼#0zgQJ&0sx)HGRgu)nbA7@ӬY-1xQ@ma^#rb;k|Ah ͪ:TB |K;~[otù^tZ-ew$5?~nm><8`ae{HУUG>*ًms,Qkluq˹K]qMdz 9hb y*?v3@Ch-b#C}_7Id91i%NP-2 B=u4g0 3fdiJā$Wͳsv~u|"1)r1 x\4 @_Yd9 nf)M@俰hlPal"0 !0RĴ`@:g&fE&D[Msݐq`:sğsb"A.X(0l0C,$ԀVV %ĩ I"H{{ݪ P%~7VVȘ#2Ac&cO͓!8SXqc塑{t 9>k}+cfC=q0<BU뮐ߣkxpn~_*$>:q[`R?gnt\ %`OxzVHev"92T% [nKV8:5V-iV_BV6 $ύEOyEo%]T]n^Rc]UѱUū&] aٿbmnkWoqA_auaQ}EI!}hrXZz?GajTUo ˵cۖ #|N7vV;fEeRtL8+46Qj^=zwSBfђGE^x+5J)8+ ^|b^' :J@]1G( B,ͽ`'\FQ J'Fe3ܳb=n`Cula@JR- |LHMhՆ ʂ;bguӴ~!~Gwc_^8ȏ0j B4";V::e 9 L(h#'`u8Xol$@/>w2oT8*bH^DHW%ϭjb;R"^ds pLyUsШ9ѩmHͥ_|O#:6E= -PHLqgQ葹M4qBonJV6ҡ7Z:7,{׭]k=9>Riyw+NOBv_Vf]R(d͢-68p¦VMWmUW{1OꞮ5t{E۽.`ULxUTQ-b**`ߩJ٧&7H" K[ؿUs237[(6^qa6a@ IiN.Q#ID32Gchx{ςk^ ڈ$ٸA֊9R{K @eY:b_#*ԯpM+h`''Z}Bh d٩:?+r3A\C8ba,k׊vŸ=uA$¯OzX ofeƳ2<;32M5<03kX^ѱj4SDz(Yg]̠P"YY.-juK; QԨ& >Qj y #b+i(2dAeqLNR1+sƷP4x;!tV4Uv&l=g33Ζ<9`,4` @?/sjmͶ?w˶skث?Yu&RMwܵCRnB+OʪPAڂݚ'|XN׷'7Xc6::})aʺjk6T -vYubVJ|}{< y.8;p]U,33PkWRϲ{!4-n⭱\.*;zVOSަK+}"3ǘJȴ/.\+kjl5.YNB~`X[NO,nDFn@Z 詪^Α%VKie(Qm"ո/$)%"9^0"Kbv"o2RkNirNCVN4sƷ^e5$"05wV;:*6'KGTUxf)zZLOfi 7C`t/ZˤlsDc YKR]kz&n2;{gP8Q/tX(ͫB;zHh"ZC*0"q2lca G!KPF:9W\l];?)V's8Y'saY-EHH@"e"hB71YA_IA7̱`zAyvUpStv9h;{CBo8H Bðx1sKO;G"3w,,&GSuU^4%eջ= v~8NL%,YX[1s.DZ/i݆*.hr% |bFƐxeѲj'g3pi=lqTuЙ9-UwE7K$FDTBye":{@ā2r 8Y 28YA1D`s8Nu'ɤ4 7l,)`< hF_&g~ʨ^̀ UẶ_3~+'tJDmB\!6fC+x,iYnPu܀ْmc:&(tJr7/|Ȯ/ĸ{g: ߛͩ?z[N6VL Q؋G=˟ ’U!t9W]^ y?Y LdS?veWg%f'ʖ *>|K21A3#ӂPuu1)OH?+Hz=Cp@!9(YUÁE܇rtGGĹjB'FrS3WuVUx"U.î ֈ2+$lfNʋ잻󵳒nyïOm\Uwa5]C0JdM~%ÿ3aYy1di#4[%=zwt/8f#b9 s̬v9N TK|Ρ&'woɃAO4A`KV,?7xKe@ʠ00Z*smQsC|9亸IRtde }*}:vN˿dѨV_ȿ;ȱLLV?t\L- T,ơ.$\;3Z@TL"NW{(K` *zD:AD26?j\eG37VX3 5#YoTzaoXL+zC U-*˩cn"*_J9ͫrҵZ|& Q|9lmpemڳ2W!FMu//CS 'TstWOG.;dfӅ|7bb˹ra(5*ݱndrPbSd>"Ԯ-m}_k nS׿7&,ku+m_W*-rmu,&nXs AXO;{Ymܡ{z.VS=;NxCk>ZZ%nHc  b{%6LVBJ 72XXIqmqr"ߴ>Wܜ\Nk$׈'_]y}%[ݱCVV챁3%Z!pcAE@B5L`APnA[#M@Qȶ:G `ynL8[xsuA) -0"Gri_&j' OxD+"{'ٝo2Ù3LTaGm.cL3 Eٝ@yK*B.F; :9^'*880 lY D9aaVˬMGvM:m5*WDa&.T9xA{pf|"y%9[H䴻6=4AEf YUQ!,g"G#Ǽ=$Nfd6ݲucu$-`}8RyT mh9X "DʫB%9`6 i9ԸRuݗ.g>oju7/ |cݵԉx7g] jUcFzT6hekӝ=3[9 oP3>w[Z;Nhv~[z/{'2縫ŝޭ-г_ 'v /拤?W"DI" &R/Q  s 1#рH0m># DEr'34]l3(,:W kGASPGn-=o=)LvW5uVՆ,o.Ɠ~ɸHX'X2FcyΜeMp̳b*!2Mΰ*8|^(Z$:*؍#< A'1R^Yr6)~#> PJ9ɓ44G\K"|aas Rm]H0;Eᩄ9΋<(JPGBC6[7H \W@F6 Yd,(JgCa= GlrqϲPM~g +z zk|LD^K>Em[o^xgνuK ]E]*3uO!noxseDQ>+ds9]Mg3[6ASSWo<(jJȲ`k'O|r+xFba5[ƔWWhnpTpE{ nΫ?+]}]7T wfĹ7Cg )Sק_)H_U|'K)=^x{b'O`T.Ʉ&c34ywH~*ݥ5iw;r6휸' ).S;UV[ul*UW=p|/V}~Izr4E5p:\N5yNs1-p*'1NCF0L@P#F?q@kѺјo{#o$]sgJ̚egG3Qxk^\)jЭ,ȴ|(ջ.fäCx|MQx-Om-kٔhNxݞiߪjYnٸ;mOj⮉#bMOgZFJWщ†T{x21OjKnTulB[ᇝ}w@\ᚥW< wmQ^~uI~U<딋(9U1-@&Fq( 8 "ω&S܈[ eR}dacPqnv#QtؒXvDH$qrKزFkRȍ6WAK3DXYg-cn}ec.;T9IZTu!lQD2d\*@8_X̒ej9C4[4!@j!f dGCB&$χ"$! # a#5b&q7=LHHi< IDAT 0 4[S_E@h$Xv>7U$<)<ץӽT\ɤ];#ru}W5*28.#%au5F(z4f#D jl5@f{3'jG2 Hhs@ ?`8s@Q"NHH[iQp]3vJQQocJxG?ݲM0꺿;>WNZdWIQ1 t,X_Z! -[BZ |kkƮ}53IW=Ɵc\4|G6$'+=$DPXruUNΌͥ:ɞ:YtEӓJM|f\y7^ յ\E=5Xq=)umw>BA]{2U8z˺ ,-mIY/}l:Q0Z2ɼڲ w XJ@XH!@jrHZ!4ٯ0 5YP( |WCZ)TXӉG0=wߛn$&n[3{o웗Ӝl@l(ﺏq||~`a&.F#4^0cŇ6 MOy}40Y*&cw(u< E,? JX E<:O~k3;޲y+6)j'I3 gFŵ# )Fˆt q $M䗴nZ%5%LO/C++ψE?osZbwVg ^QP T~D&4"lԹ",3 lDeZ'@PpW*'{}I7__\vY(C;I2M,jǵ<;s'zdz[oɓ׾{L϶S7L' mSkm} Gf=7ڥ_Ɇ Ƙs-// 9<޳ne!gǖ, 7LV⚓Z.kNez%i* +L]QYEx37mMu7 LǎS%iXfD%RE5DVKL.wCXʫܣ>(;ٶfɉϷn$/*ݑdu1-̢2>y<6'CkyBʾU<].c\*h$ L<.Ar}on\QIfBQc%zP=U "#]oe* k1B!2h[V`&q36c.gǣ '(˃,,扏E_3gz]!=뽕\-x"$z%lfemer4@a9`yˮ mA)d6ϖ~[yOndg"Tz4NNo\N`X6; f1 ښerx'>"3Þ5Ա-~S2DB-yobnf୑:r^-om@rc|̾Dj9 2`oΛm:p+Ur37,-hE#[DEuF^[صOemDyܻGػW<{;0U7U@1-O* r"/CQ$(=sSI4@Ilv3:tyiIn~qCZC"C3ԶA.>/~"z"Kk;7e_Ҋ>ާ7vGG{yY궠QɶR侀@<(_$xs#sX`+voȏ$A*E#!zcLF $  9x0 6_ߞݺi-l_X{kϹl&X7:Rig*dg*ԅOdsOyu7{tNxM'olb2f%񡧎Uֻ6/h`pm'1dէ^=ۼUL`O}4p1y8Aeغ>6v<ٵ(C5AK+\.#XH@ĉ".>H *+d5C;TvlU+ۃ2qoDKiDug_d ;TU5 A%KSwÎGܘP ڐIψ:72g!nJ:a`)x"j8*f [7;H;/+9(=";+b%aY:?jpHxa%7 ˪JTzGp"+JW_.Y BZd>TpGk  &Y@'rn>S9˚feX^/N<\L(֖X:q#ɞF鞈13Ͽ0؎_a?Y}f\Ȫ^??1o#~Ujc4]ro 9]m 9j0^-JD]BGX,0>^Б\VD$ \ոE5yH%+r om sR22WxU%CEÒ*19BeKzp@mZwWޚK|5WHgI&rV u %. x`h\ƕz..]~uB^pxX)IBvTi {C "pM. rʬR!#a26 vz\>QT)v_$( ;^ DCk%LIͨQKfZ&rtt*7*ļ,@fȡ*e)3J ʱH,Dzbx89ɹlo/wu, -n m͕~ 6Ѩ,$#82o)YWlW۴l: t(Ch![(Xm? GBٗ:AΒ':6)F7Fq ?wu_rJA8WJ4,EE-*Ą\:KQ$FF#bi2ŹKd.Pe0TݢD҈4 %A@$D& xdgJU75?y&_GDo-" %(5$+-1J:+hTKBP >OK +] eR$[J6jT[yK>uC%?ml}#ǩt2GҬ%V[Ik%q?K0>yBBȍkb8;&2HL xPxQ%Γ߅eNmbOMohgjj?)#Vl2+ dI-U+aÓN*F8Ojk^ư_Sh>4SP*"n,}/$({KtS _tM+;V+w\Ggen MQi"YP@>4y\ZҮ,\%a ']P+R FD%K$SU1ЈJZ,̜S46Wjinpe"Xn ,DzTV>,1q zB32fME'ȁF=lӷ^\.9|kw~Otyj=,[;>&Hcn ֱX]s_#C]ڞW>ʱ8?hi [1Yc.SCtKX0,-uG[B@2yDj= $8caIeq`p0)rY*8']n=IHMDi$!j*> 4+*lAHP,KJ "idO%ZHq-&ٛ! d%s2r=v*V8Q{(vpq~J] ²r=f|'o;+Owb_O׬*>~?>O.{apv,[*Lδ-ZTeT),ҥ/B\U2NJE \ CBx*=7tDŔP~7+\^^Y?O|.H gfW@/f'j|c%WF S<_=6L~.>ғj?[C2>|g߶kW'cjz\3?gټfݵ͍^9[Wlu;O~p4O.Jk -d 0גk, yE I%էĹ}mB|\x9BDnшrj@bn *h w15pV=͛Uɘ*DY2OZc@ƍ5\ tqQ0'eJ<_U) tsȔT>*șbA|[~v C1ªZ!wQA F`` ̟Z.U6jΉ]%5y/7ŷЩ 6ՄI=j)}ڕeNM 53U@ Bԃummpye"HE4 D&{uUk}b媮Y9ٖdIlpdL 03CqH30ɶ$#YRKS|~S-7{9?]\>kײ)垐(%Bl);8H2X ch@94iDW`6u%Up𮳺몊8 B rJ@T L9И,\(b]/D9Nu?>뮾Oq2L2byd'3J˟팍|2_1k4JM@s,vkK̓J)<0(Y# =Fnۺg8TV%NXJħ@H^9mE[%&'=(Wo]|l'3 -hxT$gEAr}t6KyD G; .>>;=~׮[;9zrPw=%گ|܍_ɯ~ǖ,[d믿>+wmCKPP@=IRgt3D1nr LBΞ_D"_P"zu 6Wzxe(TfQue~C^ojrRW#t뫱mWסApp,$[`uTPZ@)\ֹS[[[MOL856IKX,qjzpp;aW>衖V} FT9pl.Dd@.u>|}]k!к?6Zb~iNy.V\*ꯪ KG~OYY>s_kCX)?r {@˭wt'RsXz<՜r XVz^;K\aW]gD2ǩj;F3"7үh.FnpE2[ex>t$>rzO|fJ?yjwkWB=  IDATRA&W_}Gх X4,K'+̲Nu&~ B lq`awxBn_fp3J&s,{>Ue߇p҈;IV`]v1  @h/penwyZˤ.wmsNpGk[{4&p=^UCL b~:|.K ʸNn}A"Fwh]_m4ݑxnPn Go5*FjމC#3lW#G@8 IBU@`|WhCJ6_(Ni ' T#lG-+B"ټQy,RjuG ;tLcc5BV,[VJa@@KS$H}x?󎼮 Qr \%wvXCf nB/(jؠ&Vmzo.,`Bcv"m8qzq'~+L ,^7o\(ԾgIC&s.iYic}8]AH1#>UJ%fLn %gUtxQX z7o\8T*AhAsa2x=ku;n~)S{zo}ۡhO1{ܒK!ى4!b uJ࣬Ppܔ(+7'َ+ݽH)k:8KM;_Xyٚuu9IRd'mMD,,}erO$zc=D>rz5 IFIL<`*`Ypw1r{OWZL-oao|RG\2Op1en֕dsZ;VYZu+)%7^J}N) /&m{eFm %˯*R!U H!伒/]uֺneOv,ymB)MP Xe*xTip BGV̀K2jDwp 7ˁZBsr6#)0s˘ )EP?;uc>wź^n^]0ic(C*>%%Po8NzGڝOSG=ݥIT@@nZ.)9Ү<6v@<ؘB: rn, & qPګ[ˡnb+# ФO{N@"!}o-x 2Cl"% ABDU LUytU'9cݣH % "Bcq2IٴE@rNc[D<%a%-(XaH$dW\Q@ȔA*#rBQ GL'P bP_x'eNgG(SW 4K[&U "}…Vjuu>FQumU{>sZ/bP8"_d z/=9vsE>KS]mk"Ɩm\j噗2stɣS ˆ2߉+}'ENL 3~?L9/)M,E[B?/f /'>A\zŸ~W/w,tQ(葢!E؂ 0`" hǒҀ̈emQ=ޖMWccҖ~'=ͽK.ZWV"ҍj['5д9qӑvn}mqeZ K4y*׳ QPM]G/=+Vtzg$=a^OxgXחE#L:]-Tp*"rBբѕ]jEhfKXϓI}EµʘT=E mS@ơ(E@F2B/~uw8vS`\ }3Cgl*k~$e+t{qOf/5;931ң kS59E Px!yVF@8[ G:|ն;xg^!Ե|!}^.3YK_\xv$DuOAX$Y҉5!I">e -K0" 6fK%ee۶ØLarD8%XL0:ۡ9GB) P8;@ %$PdMCMeITpdl&;- A0Ucͺئ%  tUUYYWHSE&'~׭1^xN" b<&|k-V۫YN`CJ} IRR|I|^&4ʂBte}WSy_\}˷?{v,!.XgvtPT3UĴnJ$tOLGYlM3go9H|Ύ_ .=D7)pS.>aJ噲iSv,Ys/$uWa{~3m]XH6'<| d(äy2 ~x᝴D = }eyO]cEM;ڷpQno 4IgfَѼ#qy0]Zvhٳ[7k;7PGԐZsfM>x䐊eD"JkPԍJ>Ս8g"U>T(hN1$ɿqwN4 :0yDu~'|C ̛\ x)@#"hQϩN?|<8qbN"=Ȧ ʖhJl(a0`4鲐0m4AD`Я@1_l Vq`@ 9%Ш&p-xE*``"Ib %+)\ FP%L8Ѧ@2]~3}&ַ9|61`TN;&D\7NMGaꡮhT%X#.n.)Ֆl%NBx^s7O'y[7tSϳqi\zfL˝ѝRW"lC!e@,g_mmϦ8e'zƇ{ T_0ʳ9FrS9֥ŭe&7>i}ۏ.^PR__q-ƜMR0(CG)B:5&Ϗz@~ѝwrEb$e~߿1)H)(^4G⓾%Bʏ{Wnv)Zv$YkNϞ:VdqJ;vj6y셲5괴ؽ5Lwz"JT̡攊T<O#T&)FV[LI:: <WI 3KUa>6)̝(zL0Sb(TZ=K\4i&~%^J9Ç_],8'9ėK}!18 Wcx:MQ xMDFYx&勣C/<>6 1^d՛2Lj<7wyL@*\Oq^~="^Y?fNb& ²k_Jz%YWKe 2w6s[$+sm:Q kR`iA`ap;M%IrUpBOEoˉ0K&a`[̶wx DATVJ%I+Ù][Eˆ\>|vS3Wr_G˞=VtOU|Dk>ut7=ݥܟ> _OCt@kpD8z-=lptM^]Ze^'Lirb6 x2G %4>Gx5㿨N %+wmujc"3P y`lL<_1_N}mٳ 5=m;HHa O9'b<%[(c7ݿ[o%J& @vif<$ҭvn{!?־67E6oë6=$9v~yacZ]捏%l)3TVNybdPݖB5yb}턤g F?o*侎PKZ*7гm#IkfLS6Ox)G&hTVǜ )ԾCgZ5Ե患{\Ep}H+ R Sa#T]0Q i5UCqkbuw\aCooQ~Gh>=cu,px_|tIZtõU@;{PY8}"] ٗ+[_MP쀪vG_n9}7(Q-uJjV=7EKi҈F$4Q|>Mj;t\iX Ѫm:u*l񒍨*CkL^L X4C2!Pp88)K XXOz{ Td2f>瀦#ɠfDFgJ <@k/~G>ԟ3嶖7#mW>x uڥy/qt6۠opٙqg p} .]uS:ӗI)˕_ɂD̖̩DlJ(IL@!<*$3 ^ rZ)D)p *\備("TNR @8P6 ۴lD%PUq[`Z6PV@RP pVQ^f0 c|o;_6+$y;-8`q2/~hkN Wn~ۣ;BvT;(SА /3Á `liT=>&ĥx.]]F5J,j&V6u)jyBh%,+Mh@]0,Gi58Q\`3i,.Z[oW) s,9.zKoY=_ڔ &UΎx=wvk]-j,Jܻ IDATM}mш6mz+Aۀs? >ݕҠ wwu& 澊ʢƃHmX 9]_­P(ȟ}(6\{\;zHʮ\e|YY WU X[׉NԟvT<*蜹 Z5ua- f-m86&,ڭ"l[sGwg;?_@i8 ,eҼv79ޱv`b0}aAێcFJzǠb~OW:}8u6еFvr?60^}f0Z9^}{Z]qfz?:RmԞS)3k=̄x[[ \V (Bh J؝1]&Zz(48HXϊb^ncyN^[u~C-jOjpJ F'T(Ē%6w8hNW&ࡐm>T }?\0sT#Q_eE-YKݟKSۧIkf9Sxd9%fK6p!t'=wfzۏ:_h/hwh|:w, ?7!z$@ƶU_SՈu 8;G$u\LUY-*P {?KLW=ۖ PIVi4pS4x--xIhpA!BA8o PՒa[ [`ጃ`BpD{,"( 0&kc\$YDd,D $&ȚcMQ^dF$A0MBQPF Dpɴ$h[]OTp4@¸cJR@䄀i2䗿RQv !+ X v6Ll V>jBWkyuH&$]|?t/9D|/~ *[ZБSs[п<"!P(C{رwٙaE״?<%iv f] R+66EBaӣHJ ȸJG/D{ G $K3/o癅{`x xE_̴Y(f:{$XsGJtϺM`kD& ĹC'DwHN<38)l8 [tǞ_\.+nҘuL+ɯ2v[L1.ks. )r Em.ҖI"TdŢQkXNFFaG>{4/ WV]D9f&J-Q%aJd Ų!{,Wǿ~fֿOCn^x^Wګqo=1msE _<}t钖q)Hu=k70"-fѫOS>5iu_?6DZq׆caEn(xaJccҙU&Qn Ղζp?T@\}DE+IL?X]r+\ $#Jp؄ zZ::=>(TJ̖/[N&UhsK)t7[#h( PDᒔ'9w8s3PkYR B$tn+c-I,AAZ":H:P.FDaf$ෘ%Q W2U((0FA?!l1B(l[!T(*3L̴˩,޸!ĦtE7K*Q.jf=sP]6o_FuK)xf[FHPسCSً A}jZD@G?Қgf&n,Ik"D:W3߭&ISTxrHe\(Ӗ٘ cz')DcEo5dӗN[&MSڅd:(DvJƃOo._jBpUӯȜ뮷9ߕofGXߛv{IX*'9pbsߖO֜;VUw5ȁ\nV}dr)C6s~Ϲ MMWGmɊ<30}b BhУ(3lAlX|ٺMڍNpՆшg͖`P^:>m:X1Ci$ !`?E Gh5$yr%FH !sVXxBSO]:JkO>b=1UT"^l Z|J@]VN='lvttcV6 f)~k5fRkX"(c{׾_?upF*cޮ\bqL6_I&~[u5Nا^8go*U$էsH2uN^Fue.xr.|6jHZa`<ަVO)ͦ{FGkAm;>Xp}^9&I @&Ho@( ?I7MbYL|t"Ud"Si~U҃aye]/ۜ;"r}^Ed"I`-Q׫eYT$PT<15S(`2%VmCH)DJ!thȦRm0Y@pJ%Ll\pGP*Ȏs%.ۜsJCU9 l@B" ܴ#y$M!&BXr/K~GWF"%dEv,[ؼ{w8Pp)\:u$ :"a>g.mD&މ=o~Ͻm~RnϘ)+.m->EWG/D^xtEs}ZfƘ1…z~&@W`'l5DN!z0R#-A=M7ܘLT?1WS30C*==>ӄBrr)#y86BĚ1b ^0&,UD$:lpŚW_]x٩N==>m(O6ďrՋxn;O˚䒱 7]Ѻp`93Gr<^86u5[nL&'! \5b!y!~FJw/-aP?R'pO(+Lږ͗8Q߳.1x0y\{8,$mJZ=xG&)rv(y``&H2x[ffǠHEѶP )!PdJ ¦L:2ym =M}bd0 >T&®W 5;.VN !Q p up8YeHRyk82y J^y,) MLѽ&K2*kn>vbeIvj/ȡv8=F~N_WKdsT: S= _S@V4*Y',yxSssKGKdXE,LnMyٛ?;܁'_#;g _b+kh4!%tJqڷAQ.Y@IcL:` G'<Y ΎͱTI7qc3ɩ)K 8cB"@3CCl*pPIҐ{)iVTUJJU*&Y䲃T&Ẃ`A 5McE\B$vIT,@Wv`\LʵF7l8"WtJR.[ RY%*I":rq;E)TD y"涞jףeӆCY,YpWĒP9,۶&b( g2c7/&uB0]v}~" xGT}RtJmWI&fTg֭[}L:$ klE+'S_xtZSp*PNO S_ #d{uEyj*ruˢ]7c83Oۊeݡp̎s3[HvS3$~th=;M?պ&I̖~>yV;=]۽/S7r'| _(nxzT3t$sjdf:խ=}|3d-_w]qhohZ{Kύ;g4O M6ӹBэ Ķ7cK?>;p1{e k/ް2B)::d5Gybм1ɛ6OƢ#4/湏'H@sBkCT\n:Yd8X vuxJ 2K- ˞+LÙ&xlۯF@Tf/т5Ϝ<8zagѩyR7݉Foc:OjlQ)ȥx($ cU&t6NgR鮶D:Ð|XUr ٿkdH\U̵^OjVDGb~ߋisZDlsViBB>c\Chf'暥MF S_qZ0RP˗gљ\9e ᡑѱ ;514KMWePIiŒe*ɲW!S% *H:Lٕ1WU"^]aيBIdl]QF.QMdIQ$ɲ0.m0ESg[S"T%"lTTEDDBEʖe J5=9LtɧYTL a>pLlQ~ِ~;}JYuec+޳9Z@^߄*~nyǎIK>_į}nmmS-8V1J,AZm-5W=G&WoV龖ȑ;xpD0>f[>uTh-rL<[ׯX̐R0tˣ~|謶Frc֖be >=tvS Ƥ5Vk^v}ƅ^ek/\s;VpQ#7rG{iuP>}N?P Y4+NӁRko'VR +Ս;FN<m] Zӱ;hA6*iۺsӴΜ?ӷ;+մT7ht־ַ7FN|Ș}+'~%%(~MVfuUTveֵml/pE+K,ԆKӶUtP2{`]k$ hm6v(ZH9z(-(4΄qV{Q[uk@ bz򶷮UkR cD׮gJ,9ATjv)Mɠ&6 (AcPjҖY 9x $ \EM|0I ^ kѫ yrU@`SN([K`Uks@ r|.05p\WMx K˰ w $aZ$1,M`%rb 3@u}mH|>ii Lh2ܼ}6ݣò}{?_쿘SMl!J@YXP pXmEi@v9 Q BN(&p#.ϱLQqS"^R9!#뗬wFWxNk+)J/s!BrMYJ<^+C[ EO}0b+:Q>'>sZY|[ZS+Պ @:2ܱ{{2@"ћ^kTxKVՂ3-kҦ(TnXl>L7=Ww5ZKG^lDj^V,[9`㎮hmصVf\~cW-ozd̏L{;/™orW%SsE:" IDATP0< "%Do(H>=򅎭 M9w pHF7-ax /KB<̎ %4_-gn2i?eA 6kzLU[ze6l SM>$PLvtf߹XhQ]FjR^G0Y4,h29$(+?L A@=&8L\C0.>VW:Ks$LWė%@ڿO$.ݛyO\4= >0?~l~!f{[CԦh%!wM1WU׵MQ!Qu݆Yf5]PZ(WXP˶׿V&aZH (kOah~Nd # kfe_#N\!/V6_1G >./_0kahY2.k4yPܹッwdص@w,ɛoؘfs:v,5EdYU>Ac,BL*Am-ic"+ٜŅR)P,P;0\ #leܣGEY"g5,i!$( tS'ʡ5 j&[_]QI`έ^ sm3@a#X i@0`X G3E@8uhͦ90| l6K@xdQ;EJ9E l ۼG0AKY.>"Ze]<_5>49Ĉby 2}-Wّ'pêxMkw\s˅SCg?Ou?Jھ& $lΩQTٸfMƼB1w^liD_uXG&kjWV{Vmuu8Z m뮾38^cM4pw*ح+6 jV ]mZ߲qtkcDZ43n2қd֮'y[F<!ዣG-VpɱW.}|Hk)7pbReCӪ|KdlNnxzf>/NW E1z%Ig`/=2?Ku;տMd U;֧ɦ]e {-*x`sbw.4mZQ.& N@ \BLTHaG'/쮲I,e:V>90Ζ?M90\< 6p0Rk 3I Fz)JQ@OWu#_<́+Ź*IeQ]o{adD kV5'ڮPd c~޳T(FlI#9!\u`[t+C}9` U)$l6@+ˍXWÛUZڞ.Vˤ|G#Tٙd#Kۻdw) 0LJ+ rMJ'|~TnlyB "  eZݬ^*px\ysEջ+MGLoכ- O܈njÛ9תy- ^ct882gaIikhBந D?$J9[?ޗU|%l:ۙ9R~?z2[EFO.kCOwfΏ'Snj-op^(Dh.FriU)B+O{x+kzv Р( ƥ )pUP+OؕRɐG([ Z /zT3LcȗBYAD5"b5 ;)^t&*΍-&ɜ:]W5W7$+9ǶSk6A-khtˮ> U<5r$mtvq ùGDž0)+uoQ8 sc ǥ½"\yT'@}zVKUc @ }pp xQױ8f*\xÖ7yq&&pە>B&b[;  Em9q匚,a|{>Zrz~$`5M24mR.%CAh(] &**`l:8Lsٴ ⒬sdQ8瞞IupQ0n-j$Rhؓ3sNvQ[l*"$ N;ͦ$q!rFmk0ȁе"4Sv,Wo3A^*gDt4uzr@UYqBd/jN(q9pY$NZ@E_*M0a32BI_X^x4CeFP\|'>CkTuJe/CVPɧM%㿭/|EFB,P 7_'h{qEΕU׶n::}]2ٰ'1m]4fFÓ5:%_kTC3ry{/|XZ ރ.ּXΡgd-Uvx`vugzo~STMmm86|[o|_8 ;{+/oqH_Q69|sО8>w%K+7DFq\~z,j)(?JnKͶ~h ^E XpTW֐h5`lR๣.zc{ךb1B?OǞ 3OV[o ۶͐B-3%?nO'i87dϝRksp5*9ht؜wvO6{X)P7Ė$+V*,KQ?Khh)!U2>RZO]|Ugc"C  f~7ΡCswxL]ɱ&+4B m).F=9wѶ!TL3}1܄]$Q[SƁSXHӈ ';3/}ɯ~M-񽡠 [[ 86hZ*M-A3zy -8Z 8Ɨ K7JxY 'HU2; ~!u2;mw;<|AO9C_LU /Ζ˰ؑ&6^3AA|8FӽO75˧_y[0fL ]=HZ*ukF¼AE1y.s8kf-gepM3\򞷿 ^}s ~`~]s=ݘNS݃Kobp:h3e?޴c'Mq"j2(St'76؂/Ŏ`,w!8U'> = A% c1qIhGGvQs1X>ׂ=[/ž}gW\e)Ce`pZ+rXSiDVvG,,ia#JgFΑɆÃAiՐE 騲{bɑ^MEuQ539wxOac̷uȷюkidE&h{9+Ga,[/G.SQW10a4- O 2̔wk %&-[qs_Ğ(V#A%H(i.Ʀx90FBGG8L!5 2DXX`$jX0LnXxq%JĩȚ⸮}-;7)sw)ul-p > (۷lnpX`#}`zg&S)I"# eOݦ(e` KDL|Ɋ:E*9B">0ĩ%LI,B@&sB "қCAS>>(Sð_򤎈BrD@ǁ'`U]`et{ /r? "@\wEǫ!*DfOD&vܴyRf .ǝݨMww?yfrʫE-u\/g'F DHb .1-hu4Gi߶Isi]lsL 0}uG6r*970}jCwegG߽tJ# 6922ܻSmcGN<ݗJͲۨltTȜMՀbЫd ^,>*Nyn4ꮳ5L`)7m#junL[;mMUzJL_̦}kfϟ&+Wll\0=F0wu#g>-{PVl虤6~izu[lwZ{Eۮl{uZy:k'=~:]kHb47wH=CO խw}#55v[;23pU7+5cvpɗl]d:*3'o|]k:r.!2;w]q"Ci֜oM5]c9%\FUع+s_ٔjk6hi \%29~6q^/o!MxH5b(jN5]<0k3*nٳY-䏌ͻHj0[ʥ9-=+m85stLN5Rd΁kʣ/lضhD¢(Bp4jM ۨ5J`Zm滦竺SKR$K|K_}e`"K0ԖZK%p*MJ[Tt>LN1ZQQNDIp=R?r{Wl؛ ? ?,}A;tPOUX&օkSe͆G^>:qp&*|{Ϫ/Z?۷ڹGMZzm{zxM[L6OĢ,cZ2M"f흊Ӝ3lx{ņ-R_Zqd*4EYO"<69SYxĥLI }L0JBj\H& U ^\wǟFjpE<ٓvm.Au5VkZם;Cب5kPbkw͖y0hȒHxL.1|K,`GWʖJK> ^kC+C+wrhE߽:S8o[!aAı&woD=pxGx1e=?7wg,j2 ,'Ⱦ咴 ʁ)[zѬ-o*Ba7MU*oͤKn{ᅖ ~R+yȣDY*z'={u1+NP\wM(˶U8:o_˩u "޺$qncܘύ_vM 㳥WsBR?Bwl[ٖȶT%[n!.\3S_`S :ODٜ;?V?p. G#(H6'gBPic/)P$@TIpibL:E5 4?p-XbXB3 G tIEБ_8Rtȣs'Dh=F be;]2q{Aa*sC-d:ԥ ˷u%}mI-ȻLpvDy|]\}olòmE%8-"ucѬtzDPw&yWb/B13@8pEUZլYTAUH*RY\~ 3>O i {\%ƣ0˵E5m{S="o,{2]SEIWc7`S_ ;[8y}[$>Ec23"AVqUVw B{Dyώ|C|gal6GxkuLGrSz啟Č# QN>Ƃ#ڦbsD*s]HI:_'"ZJ\qӖk˝8y|>~|j }G?ǘ'S9V2C91v'J:trꝭug篼mpfd,7\pzhM2gfiaQ?DiVkꖪJfmX+W YIfH'&d-M&ͺΩ}xxۛZFm"PS~Q@WGE|s57kٔa@6X Pvx@Ʈd2!- w]g>kRXp9"}soq3pf7Q7\#D;: 8"*c JWD( ܵ\\L׊2®[\*CB1낪dsd"׊JzY?:Et(ڳo! `yfQ{ h5)eew%]in,nw r(pA2wo?}[S}ч>hD`!TAUT)aL}D5IIp̏M\k[%hሖNDCִݦ:0A1@ϩ)`||pD9SϧOa]luu- a0# ̀3p"Ev;䎻nʬۆG{6\ݳjb H]sM5Ep-ñ w<ߣGm<ag^,3L{xn|zn|;1QĀ Ȓbchvrvvr֬չrCK CwxQrN0"ICk֯ߴůP=WHf#")*51x8W:,HvcP;a2=0mt}W%B@ﺿ|߭̕ ;(Zk&S;?i)^xv^JLGB\[ /[xyO8w;yŖ嚁c>=vύkSo硣{|O-6ţ39?+#m=mHk:bR-7nrplx᱓9z^f}d ON4pkzZ1i",’" 5֡FBcD$ME\i^ eMz!}ZͲMDx*QE!^7}0Qe!:\[=Pr/5ݑ|nܨsTn}E&/2Z%`<Ͼ5ŅDU[^oVm' g;zVR`H){̞ػLڊ5 !aTƯ\!6o- }ѹ].=PD*d ϕF" -N$12\?(\R:Gӵ/l=QI=>PRT&+%Pu[քYx,4=KGK%q'ZVB+,m6Lu x8s$tLI Ezw=v}"$ǁcE YVRe" A2g@󀆙`Q}S-MF>GƀAD ;`s G. 0K1a "j-ж& D/:1'\b8$F o{ 8=nUz;69Ta,ڶ/RVh-oj< ԎAݭo-=q55pdw[fjΐ aT7+gČnHtouk>rflM<\) Gu8ۧ (ϟ~;:oVh; '.q%%Z5p'HUtQbPYRSoݙ NLz.m7;FbN̟U'3<{ɬٌφ?L͗FOTa_mݾc%+#Pep)oX<<*\wXXÞGg"ΡfRnB*v|#W+?q}og\P  8{sSg5eSw|v1*098f Y0:ɐ=6K]H(pI]X(/,?33=656_MSDaPv]L(Fox[W˴"2eiw]XKWFkYg ^P_!h,- 9zO߽Z8}Я>s̪!'OO _ԏ?ok4>?So7n~CO`u}+E.=ew6~$wzٱy0KIOfd˾6Y^˵SN'_Qe;ix+< ;?Skzɗ}W xwN: y3qסYyh#֒:bVfv do8-Ú9;˴!(;zǪsR];IQ5g&f2i*DG@s yʘ 3+Ve+JyZ:r2T?Lէhq'LM~g+m^Φo;_1Z&dz+o8h@ՇzƑH uH:Ae6F2a6n?xWJOlXG9<ӣP[O7ŧ3dy P Ț㋘HBV% C" n=wt6.%a3fv2F71,u}cVybHwz>)U{on5bN9ܾP0=L0aqE,ŒG(o7)6ppW% s܏N.3d|)B-IП%%l?_KHW(Sq Ǐ<_kxQ7M<_o,>5\SY~7nFb +Z9kZc3!J"$4,I}?HдMCZ}#r,! LMv+T2f#PtSQ4e۩Km vA"I # T$ @bW3)'Ss[[hz^(qBQy L \H 9T5O-~Dq!R!* ^;e?eQ E!O #$`|c4[ČHrJT1ƄT"CO0_x:Yl~Ϟ8w]U "y쥓c{g ! #@7>>~,/ň]ajXskhD(m30\2&8Qpq6;RVц [kr1syE᧫qın0MAV{^xS}Вp|bאN'Siwf'Qk _Wn}-?)gBro߾gb7]w߼׼t%UJϼ|68gXyՖ5s2F! '`ؑ7bԄuGi1Wj5ЌէA,kBM&nm=3jh2 DzHRxck}b>7*|S`634bg3\Q"5`xv6 DHT-iZAT98Ss`vb̪'4ƿ><8<18aI#ƉB $BTXFX%* [T j$1& J,LQ@f!c"(fK.풄"B BK۾TӢIH*BU s!D?x{Ӕӕ?gK3_ED nN h.1+ ojW )L~//6@1 JW=q̘Bma ئacoqLS_j[t[^|prVbw^7Xk;}s7欞ԕAgcei)LkkU+7=x--)&Ueⅾd*%گ*랱{g~=s&r뫋c j/s?|kM驛ubJcdy? -O.vuH)f dVO9|A IDATӧuǝv/y/W]EtGߌ8OwѺdv׭…fz)(%`,HɅ0B Ie$8~EjPP6a9<s3K^N2Yb&,eNR@/tg|2]^F#c:Ls~eaN\ G|lU Oa6I5Vªmө鉍ũ=ֆԡLb y?8FWwk'qX{s 㦷$A 7{kQrA^/I NHs2G K2r3V~ YzSʎ>h67^}{{&:SQ45_?ܣG.2cGAiXTF3֫Sqw]QsUG&DRAQ`ER=oب5{^zX̥zvhtqEm$Sتf/MوI6^Ox1I}r/7fA#JxîahVvI}E[젩`i➔MC\ao}́ g?N`"g抹`9}EA .@p/ϩ a@P6 ^>=ZlKW臭z[~#n-_vz;v/m%v=$¦sPt)׼gOwL BFTnfEqX\lb"gd X)%`9 (GawumxyʖO*7 L@nWV J5.RqIǗ ZmERfBĂ擏{h7Ӎ^u=|~7/ MNQc@ =/ "+5fLljNM A5yۖ!,1)0I$3ΙB#7Jsd+M aA_~ IUT8ĸ  .]L*T( mJ"wK88!Ubh\S(0Hb1#u-Y@!$1B ]r݁I2N8`A(gr %M3~0SzS"h&!*&I6D5SB)3& (cPᧈK)'+Ō #DX8Ov}󦷬)أ~KW @09 0`+X$|RSm*x?c qF6R3t0XR.GRU3M,wm?{"Ʀ*pT~SZQ5"M* y 7t,3klخ &wɽbyql!&Jrf:p6^Mۀy_":Қ+[_Ե7ZZ\foa#d"t#]%t=/k0fHSX,7*L]\7}0bgs#[Ga`(j/N2Yd$"S!`B %ǘݳk50a p>%,"8MA In:˶"$BHU$i G (A))jSEMPLs GJ㊪#jr{&+zmss(VjXʥ%XJ&t$\oAA\@Tӹ C@aYםRY(J-337W+I*T!eu]Kc C8$ H8Ob&#TJ+#Uyqm[rpc%1LPI(Fe,$`05jt3$ť_aϏ?YMGDwר3, ylfOl8%S 5ʼnq*P)cIdF{αO]بMN*F6b{Ϸ , ag-]lRh]¬B 嬲ž}כݘ 1muj!ʎڬ'|Mq}{oMgvX?ٌw U?$z.qGm%0UjQY~<)6f[&Y04A[ ia˫}dǜ,Iԭ$[ KXr`2U j;0kku1S4BMK,4*s Ytn0D>vTU'J\of$T(cjL;t{[mb9Ө&wpegT滋t:Lf^[s8 n&aF!vj ;o3kbtcu}' ܘ* 詋M^8۽f96QTٶ箪LMۅSj{hui7"Ju4b9Cwo1ngV[^͕0JgeΜ75b:kNJLdq+KK, fI\OţIr_f𝧎?կ= =G_x!INj_NX,"5ZZ. Y+Q9cݐ {ő7I  ƄuHA0v(D BX(fiN12u;M31LQ1Tռ4fvISrI8嬕nNhZYgmAN䝬ؔ EDQH$| ' dB-;Y_( -Hu-c tܷcH{vvxL7JĠ'&j~1DʎFPPf*R.tdϯ414 8)MЃ؛mt O+7z0S~w#'~;g_:>LW>::uU7V?D?ܓmىyiINe-zJƱЈʹXhհ'y<;=a+(k(Z>sak$EZ& b\.%BQUpGAsyy^?G+4jqf*gt"65(u*+q,|9p+X BIyW||[G@D񇿺L.t{7O=_Lafvz^:FNm~3 |ŘNm2c*"ZN0- EQ5-Mym` 1 D b\Dl8qĤ tm;&\`| 1F!B T Td>Pd%TՄR!'ҡxf2'V%/(WRjkӻW7VjQ&qJ)V( X zƌ p TRF1ÈΤFq$8X !ɣxISz31^"p{7 D H&B("cࠨm뚪C 6sv"S0T-RAT{R˫ 8K/[n]_)3TF21 $٦T7P$,I83lEqh`&fɕv`Py?j;HCYߗ D(z0Bz]N/le\>~IjPl,}{榯s qNTzODH>^x[fm'cJTTƊ#qGAǬްDmlu< 8fLp,$K]JJ [aI!D1fUU'L IDJ1!)DF4OOXfTUbq! HE#D5:[=>C5[BY)`5NL!a`,9( A#.Vg)Q(YT$ # LL d)ʘFRy\Q%w0(MA$9`)oy1M-nDUCĠmF>_$1"9AK(0dA8EHI1IwsjG8I7n\sbF"׼5ꣿ;>(_Ïz{/ cS ݅` _w?/$ >V.B6L va SQH)A65GHQD$<Б;o?G/N*v-mL> z RX"t^L4EAD)\4@\"X*g~T lc}T0%ouҺfk?ܧϜ]>aZP հi$eLfTͩ8#3VR IDAT3G]rԈX_٤K77?g8uel2\mԲ(OIbP@ع\/54%řW1|Kj<hc3z-~W;8c})WV<7nj3lf,^aS^(rq$n9GKjhfRvvԤѨ/4-D65d2=ƖoXM'w5H&yb9l?ZXOQgwWqpʅm Y\lviŗYzP[,tu vbzv[,/fu67_/ISġ]7s^xown/?{p+/<۫yDO&*(KƊn0D)3LH`vDr*k`t U֓aDHڠsNu !& ^-8czi{+GWO.u7lC#Vg(_D4S2wÄ9PoAHI.)[|yo'_r|ڗo翊18qăKՙ {oyGIJ'/߽|S|5@5 7h7GľoW$@1(p+MHIB @ U[9"Dؕ# Eldru;f $Bh`eXpC7`] .TswRIDCya:z$AZμs4|+7f$);,apd:dmk*@r g Y'&)2m AĴm 0F^[]% q'ߧxFV>H6n[J"e 7a dG|p}?C;8߷dgq5I?t DI4C_G``00L RkLFpzE˿B>.hp]GiǺ.% ^\_˙ª]ݺ$cىTQ-.$B-mg|w}_tfՆZ{u=f#Dm+t9e;u@cmoga/;6lbp5u ~aJibBm:z$nPKHYn#}7 QuZk$^_l46t jޙJ14|WVU m\y|g1;m+ڝbىmQ͕D[87cK|1VtzFw4ꚓ12f> Fղn4L~/R??[d66*N+k}~q34`RG(%G9NTmde9Nu^Ya|5҈Zg?T?W?x+KKkן]<݇JUauCH)yM(DT]՜`лzߵ[-7 =9+:vVSU`*AtVEq4RH8% x,9 M@>_;e T4j*5)|.x\&cN& qnH'W~goG9H৲I[A*A $!G^_,\z2?İDO-rw݈"yjz盏}幧{ϝu~z?s)}.cLD0KxT R-K34{JeIvJ`0A@HRr+Jt}?Jo5A/6ۣie]36YcϿDN?X5,T;s4[?> ˋi2Ĉ:r6PPl0U+LWI=}z=,eou}o]{No)vce]2%!٥%\3#?PR(} c20DOQ(ݎa*wϴ7]8CMQ h,VX4o";b(iT;[KzaX/2,++n@A FP/ӓ'ϗju.@pD^h~h;g6;͂UՈ@_!v̍i3>r"kX-o{1saWplQxFfy @NU>O(ov'ֱ|FqvN1+a6/:wxWrv#'_LLeo>u۵N<G<VP\j؅Նu(`JeIrkz7=|YX\5H$Z1rtE (KR`S6)"ٞtd"-hO,FMԱ"1cRY_wHED^(>:%X y^R^+}cj,n}ˋ#~ʱW:g{_ugbm223k|J*$JB>H4L@Gh iĴ  P[׻s7ۛ3s #:{7c?lV}Nyk:|eqh9_)JsE:YFD1& h8oH׊JtKuIJezaIe  * !JqD"H$%pH)A @ 8K 8YQ(J0 ##r8Gy{K:Zl4gq7޹q5la !;㚦c92Ew4'+xy=\ c{ %!K%y$BP0($~ƅM|?JBc 4GebB *$9W{0F$`!1Q0nnA#ΞU~'"2g(rΟ{^:_g5LP'eqZ2UT@!)ظɶMIӘLr%\JR ȲY0S5UrNL,bv=Z4OpǩWV EV:z"@#;]PgK[j&.$Jjo7vFbQ.H).A<>_>5azՕVi ֶ=Q3ȹy:}t`nx ˬ./ܸj֣wn",lkño ;$46PɝGZK_[s#R4Ds[ yx߿e)>OO`9t~7gc>TʘاZ$JYN҆ c&q,`gy=,̝ID`SoWѭgd9f*|AL3 !@aʩeG$#/P*G6TST]Sսݎif"X-{lU1.x+%b])R |,|;,,wnozxoQO>׽mQo}6&97BwX~CkU_Z]%+} ȾߧئO<^*>3WGܑ{^$~w>rБ& DG>kK'g@x&)BB8H4I%tc?=+lE)XG.S ,HZ'r~@ jTr[\i4{jӘWnlηYQG3( ?vv:KUٞ{4>ykZGNfS.MԼ=鬶n,4:1;[!%[-aq{~!`b{o"5k[jn{0&,N8 Rgueм4rY6)a3o+b󊓷P%{Au$v0 @GcVs.9G5Jr+7m-趴\RV>H4HR13>7w^?D{n2z/ǬDɷ=j.\zsPd*#G-e"w+*fFK0*BM\9U)'9@ϮV_(<s,v~0sx#W_+妑; KS<\/4i|N#nb^+TIҘfRwx8A MvvE;9lVo+JL҉2ݛ!:Xyhn{‰&P8TpC'o竏>sױJIg1$󷟰OzgQ冝%0pMsJTn f<~5v]$nX+xH,={J߼.QxXLU0(BTN/_谒F:UjYnĩoUEH9zK`n0V)9|niVh{(Lh I^v\Xl7sAO$9񢆑F2TȔ$wF!^\&$@ ku~+˯[mݑ$+ߢ ߧ).|n}}hsRl?>AGY6Xj! b>?ߏN @Jba99[$eZH$Q(_o=(׮X)Mcg i?7~_n¡XOF"_|3aj 2A̓\,wdBȉQN͆"KhYxĒKY~λ3d{oV+CYiLA +zml2̢Bw鸵l+uLiJS}%OƑ"x, FrKq ,{a`J{hUkEQ!U&*R则_ $/ً$F ymEӌj$ p>q٤~ꊆ1|)  \*%V0aIBBc7i7jR퍀 sIWV(;TE #=`[>Y!=P7rb{LbosodK<LY*:[z~ȀrVo|+:^Dgqٹjo|u:ԫ9EusnTؿ vGu]dzTh (*zΩ:{C 2 D&B,)Ig)/:ȊI-\Y.+|Q~wH%826+P%+#&$<q)d" B{-ܽ\;|.j-=3ފ??n. ciXIʥYQ0 "CG46:~o莇h84O{q@AJƄ)Y)9DbP,M ܤkK1BJD HFRAAFRyStcDXvcyÚ'}ÌǏtBDtsZ5-Z<ۚAxȔ!1łR9PUJW}1'!%R&x?$dY D"Ȧhm[M\`MնW{"1FKIRjH؎UU4J)cXcБh*cR (H q J1&HL0R2'/]Kjw%]8v.\EMopz=y?4Os !PuTžfuGN/m^E]wE)FRd1N~'.Օxz=)`zUwk~1=Wg0x$wC4"JƋ;k㗮{N>9<3W>\YFة6vz 5* d8L4MHƓh*A_xj%tED9[ҹ;-Bt}R;qV +t ÈgT x{쮨s )h̰(] }y˅{gI$aU^b;f/#/^GWJ2$t^.ްY*j #RH’f~\7hZX]벹ClFy>z)3i1RӨU Wo4sR+w- -k7^sT%1y!{^{ 91v /?pSJd]3xgοXUͯ^>o.8/n{k?o> HIfJP.`"&D7 j?UDRr?c525lX8$Mׂ @Ę ]PX(%Af˒iOdH<h3C$[ lvs쇌ݏ<ߛ}9&ܾP-`HOSnFtp0[c1lRb1IST9 B3/-39@ )wC؊R`< Xd h7gg<ͻO7j-?| RLRX9Z[~Xu3.NYj|Ο{^ޏ- ccVrdQE~CgDFK'O̒FY"p83AF-TW"Clr*0K N.c]B^x2o?>ڮfÿ:rE$.UL U]=of`b4%w- t0}_K W_ʷiYONMk{+/ϝ^ǍęM,렪Yq)3(fйʍЭ,LD937;9Sޗ弭ZzU,L+T$US &iLAmJ>CYHԲhFӛ-u:;T0Kdzk|.p-/];t1 8~_2f=<H!Q%2T2F)F<Ҩؒwk۽PkzFdp|NlvvV0sHhkLJ^*~F ]5N%4g54t$q |4 65 `c&j[u* Séh7FIj_뤿TmTzfd* w92 zTqޣX " ˱HFӟ LC'Ox$IZcÄM,ӈd.^%_~Ch04 ?3v^y[+oFwZ7ckzGjbяUU}?t:Om7 q_j֮_@(ZhZKo0ޝw~~eA2쫔&IX3dm[[N;tO?~zg7ή7 ֫Z*aH;W^8c5h㹋+O EQj[~Bt翢V{I1wPV)\P_m Hq6t&c"R4,գRѴJǑH,t rnt63 BN4y"%d*J9bBM8 /0өDEF+Jq'- kgUjhadZ?lieRGf{â"PA劌ndzVrponzw0ȢnEL}Z"4-4K)saL*0sՍ7ZU!C-N>ߔ8VߌAqZ($Qe~"8CV=3ii0uH,0pƓZd0tVPe{mWJp1B\z^X/Z483*i޲w{xr@TɴZ϶, LD^ɟ@cSfk|kd (vc3i<)__Ʋ< Hr3'SiH{?.o7|T攻Ozjqa}>\,!L"l )  gJ5Q, KDA0(%eLH"RJJxs$@H? nR#_~$BJ,a@X0&pB (xv>Txm4(٭I‹$+DjBݍBKk!&rkyno|h8}׻~x_m_v0FX4{ٔf> `΍>W쥴'o\ˈ"Iŋo֭BdύO4c\r7۾5Fy^V^JZCtjEcpi(6p :Q,jUK4K3,a*Zl &Å}`aW_ = jnǮ ȊÆU2FBk~6]T[t#8v J{}RB*G~^Nb},4*S5=1rwXSSUjRaenH$ eL$~pioc) a,8wa,|χ$eqFr%e7BLĝEIݤZ0\a{oA*k+]ib8zY 8uds2 05$-*?5D'O3IETح;1Llv E5*vvIqh8HE ]+ApΉfI* `&C `RQ /dʙ$3T2sRo$iR,L$ֈ*OMgaflTykBh{k~ߘ_)w?ôFgk{V(Zd4 BI?wSn ؃$ DJ|q-V?vRA#V/>j?,]q`f9_.r,~"C3_͂@Wl5ˠ!cIFa`ВiU?y*f"E ,72xDB%"omBF XJ s.J!H,'<{o=L(*.͗6w]NJci9), Tzf})۸vR5Dٟ2H$'_y%1H87$c@:5ge$Ƙ9isa i%{.M%IϘI"X  ZS"0MU]3jʩ&\f`&H &HH25]AX',J ]QT7vq#$ qݍٍ]/ 6Dkۤ}IG|9]/6~đC=c7Z3ir>4RZ:ʧ^HWrWzәLwW0Q5 ݵJ:y罺T'/H/%t۫+yۏئ3{Mp~Ij@DWrKR͗Z(JK׭2Br nYEIV)ֶtwraԛ +HD`iwz;UR7[߾^Tַ0B$S*x6 Y2C2OVP.oj!-aa !E0Ky[mQ))յ?ze-ƽ ,])ɘhg5*ϤQmX6W:$5k3iDmo4I"(HS]d Bbt8 1T-א#TNfViږ4nwtp9vF:NcnNMXAvGԏ+WjIL:K7`\99sue}GRi2ƳSQr 4TH Ln $\J>ocɩNTp *0@ Nӌ(,JihKKYZ9}&B۟yQ‹<ˆat ņ^w{ CޚNzť/=@0 wmW^wky)LiʑA$ 3TA;=O'5%R)&4( Rb*܉'8 ) y=7kTEa$Wt ̼$&4"prLec8B0ĜeRJD1&̕U@h`! pχ8B|_68vΤz}kmzh{]O|;'Kx_3؟`: aV7?3U YjZݻzn}jC7 |BR b I4,zjT-tv=o7'$oc_}{~g:RFug2b\"L7VV\2M(^}ON=o߰%[8sGEZSl%Q4rY|$φj-nnsK%jm_~2 ŵݽ΀vgfմzP4\z5><;0qZ3b\_/h-. IDAT.^餉 /W*n^VJ(f u#Cf櫵4LQ'iR}'ŁMj=Cu(dezHY )=̦(l؞y^\0 Ε52wXE^wbk[9/o9T!PLןyڭn%_fyEVqVdE!Y1T_dR xVTEl3+&K" ϡJqh As-@"Ĕ @di a* #2E@R)%u`1\yXi+{TG$/ӂgٜ2/x8Zk g6'/`jq˿g/zu<2Zq 1H#RIi 4B q4YRYeLVJD@0Pzt4/R.1`0i^PLmBQ;tcjl:cLq5s,- dQkwm@*wGxK/_oW3m<+jE̓gbuiw~Ŗ {4gAUJ8RSOW5wES{#gV+^ʳw;qWNhg(v+ 젱2j zA|+%-=O+w_amel+Sr/ډk/|σؼ؟Xi~?bl2Ү-Zc?v>Gu϶ݝ_[[S,5~L-t4?ͤ>p8҂:_iPٌ3˧kӻnB4՞VoYbm{_m]^s,J-̣htz?-o{zN*O U)Xr%^ژQ/_s@``nܐ漠&MzN'^CtUZnrs6+}\qmf$ pN0N,5iVP/Q=gzVƇ.i2=ZqmMN,w)^|~ϭge=w2Y"tJ8G۔B;w`o2P2=T /eP(fض $4궂־U+] Aw4˚ՊI&֙Ru0lu#$&kZ.,pSgK1ߟj6aKW^+K_թT-⸐ä|(i;DHX[ǭ903oc_K|xynٯ}bc?#?Ѩgi{@P5)̧j@Q#ǖR˞ABe(A BS9 UJ7 i&JI7:W*awm(0J4;oт-%!2"I)a Ę!|F{v? Pt`L)TB :^ ((Ѐ?|W\}K_zꧯN%Bd}>OX x{:t8e\_]o-=_q'*kTduw"SG^e*f5eQ\6JQyThs[WVOB,Ay􅲵 ]N͸eWO b8bf: g!z0}[p_%jxau󯺄ϟYi5uٗꕥ|ڨIuKܳusW?!n`^v 7wDH)U:_;{/^2=k.mGlFÀw꨹.D<q*ɠFų9yPX?WlV 2I._,񬵶{8=]X2EjcH*ҪewWٌg,͆$d*UB]}mo *- 2&37t3ʪU,M,T :erC8am98A qp8629,ZL"ڱ ($^A|[I:7{W["jȠ,Km*8 =}Ɛs}4I独,˂rhUU䝺G=4\̌#KԢ:K-PVR|B%E4ʹDJhU")~99FH 56kPD0@Y31@DYJεҀJkK-1(Ơb%dBhN?|~`m \uk.AR*#,;;? +']G_/F5$.+*Yȼ=S5zDc晐JeqB}{?oΞ<6:+;[u^1X?^u}=<bٴc\'I%ݷ՚٫v+Dz^kyqf[r?n[3_ -Wpi?F[of8rj-Nml%vuߙ"eA}lL8۰N/Un3KF#z eo,nشRCh!JKr 4.?w|χXk.e ;sη^gU}yRJ-D=ƙԈP@(%D@xX̣l4.CJJp$1AYQzH{ڴPPJ0`-0T XkЀR фa2ԠcCژc0҆b1 († Cu@LJҶJ~Q c,Sj@j JId ,1Kt_^w;B_ ::jhP9A5p+\imy+al, ``HP-EN@QUkz=pju.JT kQjvI"ϤAU0Tڭ(J @peZȢyJ1Bf  e3ށ Hӟ!A[u')'h8WIf}>ڭgᅱO~>^- 6}^r)gmN<%IP Dٯڿɟ~;>qBmξJ5O~ƕe|e@󾏼v7:C V:VԹw,c=Tܗ{~ac5Fo$qN8ԧ?ڶMqtG[=s0Aˡ^Fcy]:㹼=\\ݾ)YZ]Σ28omݞpY=wCVځYthvbk±2Y!;DWoСƫ5f1Z6Q2ZNR<ʊPa*÷FA=K-%/ %vƳ#wy|zME-y(P]1`d Wr6tWn@kB,R Eq 4 kAPћ'"elb)ķotk$4 s +J]+_ DsLEſɟV>v">;ߺ7==|;uczs{xc?VtM-|Ƒ/N, ܨ9ባEkT|ܙ7Ae BhY+;d9|rPfv]v=kw>vs]*spQ۷.\|(OvohŃb<2F u}5Um,wal<]Z_Sn%/XTj|OIunٮ˨J&oۻ; plCo}t^9I.|$<>e~*Ɩ[:%3V+/ ]CU1( H %J˜reBzݷu7p{69<*/m;"SFn,ͽiϢxqp0;n98e/ FESnonR[jVpk)1"΄I#yBĩBA'KJFr=Qq\t˽7}ɝi~}܄w<P"\;GecD ;tM;XJ_3'>{J1: /|?W_t?dΟ?#:my-qteʤo VUqܟ<!}מ+1XXTksJVFnm5*ZJx/[KO?gG#Zkݼ{nyguЎ|>wzJ`=3WgJk}rv,C( v5, Ss]ԼWE R$s|{Omԝ$Kŵ{P 5ݩd ]+Oaͣ߸kQfzl>>h ܟ].6$FͰިxa{4lʈF+ ]ןLF=Mt$vZi+>ءvPq$y彥AMXn+8`J+O y7l6{t{^"}jWɝf=V'ł9֝f?R\v\ji cJʩCO'g6Zy"- Ac Lt 2jgHBU1JgЬ:FWnnkV%{Ө<70 Nw>EFI yE@Fc;/q9/uƃ~SK!Y w+VG0c: 2t2`R%t  sfJTpͽޮmTjw)uVwn$ZsYg{D߹OT]z5#իI`e ڝ̊K]s eniUmÕ'u^n؜E27􁓛]_׷ f`xyf1ض ZC* !",)81`g2yV䠄C4!eWFQo$҄QF1!Z= IDATl߳!`6mw;AS..K1.<,(bc F-wk~!CyεZ뺖ۖ aY!cO.wՋ zA&,`gbk^]9{^MJΏ]Z)0H)eJmK%0t )A%҆2RkT< ul˳cZòlhjQ%JLl1*/D*ɨ'Q^oUBaJ(LlR2Fya kк5?` xRץ2ڴ:s] 2;>@~/<*S!X"De'Bv-J,8JOyZ9=ǛNg%Z~`t[ۛ׮\ܸyl2)dB0}=N+ȫصPGKpS#Rq) 8ypwVq"83R TL^X &l%wF:=ں+lp|Nomeoݸ1%i]}sW6:;[;{xrɍfU{=i~!OI8+ɨ9XuXZU>Iכ^˄t4mZG Qm4*+,/h\;}"E !z6|^TہN0>`Vm \dalb[l,>S- ۝άy*>mg::5NWiNfi+Jy2jWi^"(1& !x:UG2-N.gq3^uwJǶm(,jPk:+}аHXCaĊcL8ƸTREFێJdT1QѸeoP+)Z;^c1#B5``eDQ1*.Rjg40]2&yVZMʬD"ˣl(lߑv`JbX|S+|b?,߰SnJ,T`(C,8wfyYk 4O}8S_g$ɏNq!8/˜n?Pk2 %|ϷaJ9 l clQ(*@( ^ʲR) 1 !R u1h BF Z1J\ lDQi  mz6 \ |# LҢHѐ%%`p(fC , Q 9urRa /̹0d$i0j@%:sz4ݥ0Ƙh`@ kUd# PuzSHAlj!TK(!4^Dtz\UJj){b'YR m4B+6()xQdn@,XiabbaSdYNȒ A83kE/jeI\~]__q"'a o>Oxએg/lRXKf(Ċ)EiIdJh{n^&sU^緿{?V_Igú|}ٚ'.7Λo vuoD |b^&rt8;qq"Qw4 &;i ;V=-Q~x%tQPJSQIM]wz}MAbS\6]5FW1.E.RF^}DI<\G1b:^]G\ka*NG'lx-p9P<w4E n-2o;|c+WC$v{©A!Qĭbˋ,jVXXGtw'YD8"Y@* 'ܲ4zեyqW*WNtج0a`O#R:L9jTFW^hK3^p[&#O'fmX[uxc߳>~t$"/*W{5d2K}?h j'pbb)zڬjG0SNam2F&Q6>ZZn ܽ\ׯxxpl6N\JKO'+kp̬o0nO={pu<ݿ5 zLj$4 37D%&G?n|p _ՃcoXoRiylARܱ`bcRnE"2(q`#o?o#h[?# X%5"ER2أcm l@H`}u :GG"y)80F=F")%(ڤZ Jx?FQJ-0jaPfW_ ]-q'32f3ml@!ưy%%B K5`@)y CJ=$ B@ }LOP|ZP Ƣ㙔FcHOqwn.#?ǣ΋7^?ŭ/"N䉓*l8տ]߱7JlTKcs?pn%xkA糣}IҲWY՛b]זϴ܌ Cyh(ˣīJx;gb݃KgVRngXd4 Vyn|Փ+;wgυdQTŠF!v/׉TktQKۓ p! u&P1`^H!vo|>-V앛ݺbi0HZe2ֆGsWOh΢ta;N8v|"']'nUimy4yZZc8lrT~<*ã43 2IkftTkzk43/ jhO{N C'6 8Mm`se$)J.!X`4(ٛ&Bj(sT qD\s)KAeVJWIBH9V"S't.qpʱKdo*\(rϳܲh flZJC%דr3q)bίhZw(ӖM%Qqj?&bc*X,F[뫃f?uVluWFO4_̓3_}{Ϯȅcv9FBHܥ酾'!y'&)2`VyRR)]ϧ)7F Fu(B FQ0Z6 PZB1cL4oM1&jz;,ש(f ]u[puWZDm itkN*mv$Լ(1J(|۶,HJĩ_<=p4K\II`2BtYjcT4(*;*HiG/M2i Jf(Y2!A]1 DPx'Qٶ}\ڹ\*BRZJic6Fz4ycQPh9߽ b :WzO֣n;H`[|{o~"W7_) '7s,I&+wn,fӯ^~ķ|ӿMsKgvBrMIص*#lWDd^!NƱۨy=:g9`op O.U({~gWj04kVXoU|b/Th-l^HUcVug& 9 x j-7Oi?+NoWҙ_~9{O;R{{?qeŽE-xsO~{.~hRL^(hd%HeiSۉ$bQǪժ: -%L(I.m(Bk6b^ղ$+#5H%R@5BABi@`h2F#ز0"0UVRD.,euw$\D+cL^@BX軚%y= ݕZiKYQJY(4Wy^ouH)dł {ę;;H,`%||F϶TJQd@_aaKv%@s!Ҡy)EY"!vΚjqZhBP2BRj20` ໶h^/$e{vs"#a!Y )?{txwUT]@Tm뷞?G׻s;B|wsCx~`{Atv, |tH2؏طdۿ[}e8~(ٟKoؽZ^ah锱14<dR'A18 Yfc~-J;O9|ta2 @̴LLd>RIe$ETv*L EI @ 0yz:7{r9;4vڵzkoO@PB9M7K .Z8JyQf*y^JLei8H*3d)6)zG}I*"լ\RUkAwd2TWWW֢7 ŏ޿ŵW[{eǭ1 x,O<ܷoNíofd[ ^o9_n%F[%zϝ8+Hs.ZcL` eV-ڍFݯfI@I !\(J. Cc`YJi ј0ƥˆ"D&cLSK Zi%$xKkP)1c"8ǀ"ԉ6vQ2F( $̂h0 'Y'iy0t< 0g,00(J0 Ƴ b!tlx>LJ48 m\tz G[\BiZ!2/EVHXdʰ֚S!1N\kd3(F)!;&(U%7 lD0MRŹTJk%R`U]< p2IhiKOu0B!L("aLJJM`Kg<@;߶^?#yL)ϊӧ-papvwh'ANsE5ňf9׼/ s ߍcrɚ\Yk>_|U/iS[;gFwpt&%ymSn٧6|~d8..kom1r8 WAOos+I8/fuW>uZon=Tv^޻|e]F3Ӱ`3פGܳMJ07~կ {S|wÚFu뷰b.w7on?O\+=֪^\X.}1$t. r+ ujnǃ45A,IYN6[Nm<97Ng-<}^ՕU@ZQ1ײ^zͷߍ.)3TBt~u0Irv 7o>0zaO>w?6XMٴq;-V':\F^9#Z*C_'p&ӳ'`ebRcv쵪,nxI!j<>(#DH^Μ9`)T40iNUh(2*NIrQyweiŖA,˖Lš Bhi̶-QUN4l[qܨz;9uM3,Ӵpb4 FEv6̴l7~ɽ.Go'[? .#Hc m<_xmhuj3?+|g^|ԡٍ/ƹ f҇^eTWj}/a_ ^Z-SV1ڕr!דk '% ׶3ASAZ'{o{[GuQ%v뮫\"&G_#_p5veIo`ε zk|#|.߸zi!>OJjʣS.eŠHb ǣˆ`$@]JH hRO< d&t2 Y$qqYfi2yB,((4K'AN'`6t:Ù.!64H$bT*Khg{t5!é4 p T!ĄhDc%\"Ȅ( \H^JrbkDy.Bj#jJ-ӞXSD#0|N IDATLȴ$SXƳZc hIW{\:t4.L z>Z8x4ii{S?|fYj/U5sìŸ|饚<ڶ.s]ozϋ ~Ji%Cםq*yPJyԪ;%EU1z(4H$ÔItJ&i^2^w1ai ΕJQc矼{Fw7<ׄQ^HJI,3NR+())Х~0EYHYuEZ"K@Suju/I HxnA8>ɵ٬٨GCBAb: VA8?qqT=|L CtqsPQfza~S?}w~럵;Z%н__݌/_\?qዿ󅊿xn7NYx z񕻯Vd!ǃ=ok[׭?rS ،Ԥ!m 0H!JIɣ(R@rYHИh0"D,EӢHF&c`r4ȥܶmJi.4R$( 1 ی1̈ˆ2ĀarBFXJNB*WLQ^6ֆes^&IIQa%q<,`d8CxO͊N ~㝇_>|e1V3/ ޸׬h8+ ?FA VvbmU֣[w^-wbݮ0-k9m7?s|&Éf*†CO"gIX&9'B *I={S|̼?jLoo $K1׮WK/+ߺqT(Fp鷾`̅sAO.uηʼd!͌\u69/(§. $kJi//Du۽ޣIWuKF0.u M r}kU^Yk(ʒW:W|F9ӬU .,wnb`mʕDa(*E2P\Yag,`S(vv#J0Ӆ_5ɅQ˅K+V.:h5g^}><|K6ŏO0WO2 /ԏ׮=ē?5k/[GL}__Oy'2cKϕկ}[+'\+G(٫v.ƨU};|gpq~}CpgW7>U]s, *1`6:Os=>w{9>ڛv3e]RΟ m?N֨TkBWąъvM]LtY+J\Y~Jqzoogq\i gsbnͨzq[++JbZA<2LhfBbjRάȊ TXg B+!$ň&yA)K)AhJzY9h5]DYRp]* 0YX|՞wd0amَoU6MprЙ}x~}eҟ/Cp/h)ޕkHFa^'oPu^xQ_z֨Z54ҕ/$MseНzE,?JrD~WZ1VJ)}ˤ|0RhД" 0IJ&TRIR+!%" M2Lô\4 55@FQJ R c4(!c(K$5R %J e)FZk!11]H$^S.4\j 4 ˱FmڮT4MLXR+Y ǭ%fT{l0f umstPFqM1}󵷲x(ZF@ *BJFi$kmY)J:&# <-$WXI^u,:WyS%Xs(-RQhQh-fHp1PAcϱV{y,K Jj?W4Q7+ӧ';{kOi頾/i l9ϵ{?#>> p?faΑؕť8bSY[X1x`|ο 8. g'k܏~'FO/O( G=Xy(D]},x&a^m~4̂b[jwÃIvy}EWgaLJdgG7pt4yM,]/fȲgOh.s,XLɍ;yFzx*bF+J-:9-exw4]8'5w;hUݩÐBʖYcdR -GҮYYkT+Y2:LqV-ogA zUw2I}oqddV(tjeVq6߶yF"LsmTN_QmEZ02Y0Fv' LA٬p-phUۮEHiJ-guӳ* Z ި7[J^.ηz-F0-1l:xm6-lW2}[qXz)8Ȱy71Tk͵ɤӨԚW$S-ҫfE&"jnLO.'CMYKP{v~ZS"icE2-dmNve ܫV\QT9sޥ5a?yx$PX]VY<|wq!a_>; kg Fwk~OlcO~/e׿YSFkעQ ̥B !D)ASeKεPRjRHDx)J^̎$!cL(h4`5400`B# c(2 RkD 5`^YVRhiJKp.x(ZcYFKaBHiJ#<58JevPLF4-pմ<ޥ^+v6̵ZF5@k_KU1HiBFZ_fYŕD*}<1bRb""+ԄaۢmbkͺUJ9/5\۠Y֬7+SKmwa@VZj-V!-e B[-qt B΄@<)&uӲމ6hT&;?l~B̓ [5ӟK>TI1c9j1LJy֛߬n2}jj`ǯMS teyhONwoksDo7޾& I1-R02rݠ  sݣ#S1gUƴ Yangqҝ\c9SzQbuLȩ%'34*]ۛhm0*a^^Z}^g~;|l:<ٝåSyY: l?a^˒qi{Zm 19-\iՕe$ dI^he0nQrQ'/K0ȸ$Y^=Ѭ.H2`|{q1sp'%CZY:Ӫ\Ho6Vzu<՛`JK="p+9O<ܚQǔDi&)0J ӯ,/W;7m.تك8Hz8.~Cg={C}xxU5VMur}sn<~{wUriBrA/mi8ɨʚQFQ!D4e0Jp[ifDՅ[N_vCck/:KfXi1SХ ͺA/K,Ms-QF\F%tmbXňJլ7NJ:yjU1ŕ?P1gYphh`@ o'X47&80 ) LP| PJs)E`5pLFL$ ,b@?ZR00J8GqȏǫS\ Fъ >fn f{!(so*yK;>nQfiA6_Cʬ#F@P3`8/ A(R:Q|a O}oM~sG iÃq>Sή=?}/ޗEř|pie(# rUwY' <2\+~X^VƉ#s(Dn͝mlie:}jmwoWFU5 F7ߩyz#Z~HMZk-E$ Ž0TeA$Bi: "A`,@#=~Kr!18FKH eKcBcҵi{.LIa9%+@PiQP!& "lSV(H*Y@YH<k;@a8H׿ >%I6=[0:^;"xCHL@"BD X!pВj X+#AtS1Gѱ0rl+^#`!oIh4wg)߸ɞNffe)ċqd whiʛ/]TJHA  R$H1Qwy/~ý[[nݨ6UT5=z?|6$2bUr ӪS]}q0+,N%us%j4`V"tԛ7_w`Tii:$V`Xe&r"r~:< rҩv-azFra˫)8|Y]r"NIⅪ$;o뭋O=D9\gq󨈧pEMPQ~$V&ͺE3ߚ:9˝7sGjZ [ _t,8K.;\wJԓd IDATpױF hT3!1M`[AMB)Jj`BBaTw盔`ԠE1F)!Xe҅19cc"i „PD2)=eZ#U̵Wj]iܻDJ Z 2!M&APara3R+#$pL@HT1تֲBDQ:E23 c,J9/^ !Qꭺ&$ +jagF\F%/\k+gw^[듽7zaVJJuN,T\وȫ\85ƂK ڲ|˯nO˿[}[so4~7^iPoΆl̷vkjqnٝ' z~PDzV]^JWo;_|A7p1Yb2?puy cCϵ[Ҋ߫^o͎\~{o֯z`Q^C d+τG"4Q˔HiV.qJHγ;wq_=Ջ/Jff䩚ۨ[VZf[/?{a{w+kӝ?% ר-t4wtn: 05}m]R%M$aIM+ + (0YkFYdR|&2/ݪSk˻Y5H*&9Gp+qK/&PRcjD8Սz+ܬ=$%4:+w145ּ.vmI+ԜkɲUlNȱ*p8%0+O2;<ò=~8-]72 ]ƂEq{k`()J8}8 q~3qdYre0w:68UJ:zi&zXrht~$mrǮT6zɜ V&yTI#5PEQfb\kO_xô4 bh*k,1\خAMXTLtaY&(MҔ&^_[f)H0L=8I8 =9ȋܭU8 &%A'7:r,)$8Ad 3ShWN|ׄH"f|c_?w;UBeo7i1b5VWVU`A3A0v0 眀:nfrQFE^ʒ[bÜdiZYh!@khʼ1AAjFa%%>>_ SJBf%DVB"JcRZkM 1ŀ/QP)iZ!XjgR @BiEFTh Bp/aZab f8{odiOܳ*k뽧GAvC mA 6H4H=]]kVUfVy˻>?d?@u_Ar_:{cƸ([օ5%ƪqiۃI&O3Z k1X@t!epSCH PE㋳9X/oZ"1JjשּׂJl2%`BatVK"Ȏ&y9.DDȅ*#\sjr#HY Ku, ?'GwCT.'뵕b;}}ڛl• _er4R,M\K+,֐HSgn?i6Wl4)ʪ{<&HcT糁˫RSbNk]ya9ru>ZY%=FA~tô^k #$/D>>yj{>8xGxn4ןY!4py lGY--D  gE.Iz(cK+.̒=L禜g׋]^D%Pkצm-C̟x_~k[fWjLg!sIҨ"+UV+zdʋBERTX#RyV 0jY`A9؂&!)V^XR.j5 {qZ@U(M #bV#Lc5`4UD}L`D QBFy qʈV]'b'n5IAnjV{Y`. z%+_orvj/OeXFc%5Y]iWjA4X4F^Zjd k1$.sneDSB,8/R@Z.sZj(R-s+,BthVvGYI!5Kr̭EOA?9G??Ί\~j57o{e{Nb^TGGk+otTJxgTvجap϶.U>:l.^޶TpGi?LV_>7.&F3nݸ|xTKvy(+TJ :|`pzpm}g_ .j/qOR٭yQyئӵKF{~wAF܆,Qᓽ˞z~s][=krtir6OlUVVҳq#. rQBlE|d|]EXǭ9gg˝TZ-ZZX"Ҩ!Ri:$QX:+{4G00GXLE\m^Y_m7%iV9dBRLb 0dѵ+DyifIʥI r P24iCw0)f椄YRlqY˗=`Yt3rF}i\^[0v;Jx8B v–X-6yZ2 uš%t%276o:!R|(F=eHlM1OҼT3ksQJy2gw^8yZtʙL'3(pjTid^Jx\IR:͒ `UgխQ᳙\}/<+k탿_?_?l>J]+RU:魐_fl)y/Ӱɟ.j;d;]%T)?^]j-OxTwo~JyuP"%`?iw3aˋm/lm.t*ٯq7n\;qX(V;٥͵rk4w^o}mW^ݼlˋ-/ O whTAxD >*/?DJ8~Pj sW^, /4^yp:N(]~nV`dgpvҒ+ Ͽ%m݇ea (ؓqQin?;<wtEӟ}{p{;#N)sUZk]Ṳjq`k뛷Ofݩ:4ILKGk'O0CV2S a@Hi$(66r;B$yt8h!9XڹFW_ye7iǓJeF'B+ժy)H䀌r՜,,NH<9΁!KZh{éݩS2b9 #bw2ҨYw55ihi3g`29׾~;x<>9OA^mU+#sZVH߾{[U*F[/?wɊ[p !壏GYk5 e<`3_|+~yVfѸi9KfOf_`U3J1ܹX{Ϳz>!~w>_/}et?w}?y?Pd;/;//OZ+jHHݹ@eEi$սkOt5b+չOf/zI#/c7\K$%ÁՍxN.{`wӤa! {)Og~'˫^]y~kZ^%ө\q"Ӄdqy+EXR#Kj+k;kɇޓNP?)nte_~e˗/_`ƅ '>^mZy:ySCXLb[ں9ƋhLXQ}wNS ?sG_hG[Zj=g*^Xܟ&y^ɆSt(i%B*/m:L#3!e.wNt=i5jwa23HbFgH SOnhQ#.~1in{dPLKVii*r]- q3lklƟ lLL.Fi՛@:t M`ƄcңZKQm-LyPV(kͭϬn  T6) 7D$鼘e^8E\j/SOg/-~/'·[YhKNFF5a!T 0w+z$Yڸ$GnJXz9ԽbMAc3u||*u^bFAP^hAqa™>AJseX+. 3ocR e1c1rRdspL/a $ZFԀhXWhKV 0sܘmpl\4@Oᑘq-w_7? 0xڛ/X S,`ZL.\H öПA[Z6ea* #ȥ^`dr=MB0@T**4uz6iiZ Nܢ,D Љ#H\0/$*dcfg{|?kTވT}o~|_5>x㭭[i{Vl2}R{}QY|`~w:awsȯhY9)'9KM^=Si>I_Hy2\[[83\%bC}I=Nm͎hԆB "X oqZ}|I>fs^̇OWs`cBÝfˢxeGsmÇV;/FՅ`vsj*8YxiSDf`64ϋ|qwT>ヌc?VYf.cKR;}*j NF0Uj)`>YnU{~#p8ϑͧ")Fјo^ZMe1IDb }+K7Q, )v:Lxq%hE$'X˭k5Keq$YZsOrX-t4`@ϦSf80 Z+G>rR \awj"JKѭ,c䥵V;đ2cYIiԨ`c9g!BX[%M:(؂(K00`qBgVfaR`Z;% IDAT ˥PFBHQJsTic ,ƀ9bO1%G/wG~o {WO{Gg"|k ,Jm݁ӳ+ K(o5K??u?yw )ed|ueadE;gP {fӨ~C}U6s #>2Q3.vS ʝ"70.F~/|P%SϳY`5Ac1QaTlX:@y˼"rM\?||ZhƯcY'5FBd ,ij~`guq} 6ߺ!rY]==tEj{t8^Hȴ67gӝGGݓ[rGW>+Y: Z6iCՖ?xJgu kg{pm2 3e2S())eBV6V9Äd2`Qb\4!$2h&`qjTJh-41j_ `a%,\B #+ZFY+B/pN,;KR(c:cD_di0D(1{љ!BpW[!+#,5ڵW׿2=5RjS|c TY0#LC1!B(l"؀,2Z0@(Kd:#+2(3)EQeT*R NygeYD]VSdF`TiV;,B΋RhJ+c-1k1F/Xj4Wׯ}ǿk_$ԿOԗ6Nщ*+/mUf pv|x\_|ո/3~6b]yXmo9Hk!Ҋd:|i3t7aԩ[x%4!/ɟwx:4v"KkW|o|D ga_'?}G8 66VZ'tʳ'QĚEcsrphjwKu5%n\9=a\㕅Zno/on8NFk4jNjՍg@^ν l8MEta8|p6x!QbQOԂʕh>HJo7VM}C~9|Hd=YkR\S̑Os}km*=;„a7bVWڣh ĩ; \H<ɡD̏}[R`Hמo~U*Ǧ nJ=ߛ͹@=OĥÝ>?7Ko/[[(K$_ i&'Ј`6A#տ¿NrD?=x7ǙFR;'`JrK;YgTi30Rծo+ r -,7)!Yj\'swW(4(}zql|㐢y1$v+fXʬ^^~|4-\S"Llj.t"㫯O}LF'*P, eay6+Dfhn(RBaV#s[[] ϥЭz %Ç``楐U5bmA!8 0Nu'a5˓(t>+֕8jh0_tUErҨ`]6Z;Հ a6N]m r$Bzʓ4I') ŕz<ϼq")52"ylYV-FHmM౅vZl&p\w>IWg? _kT9FRuo5.ZB3H{lp~6J|V_^;=ڼVĞO~g:|=9皏>v~@R)u<*)Fa D0 TI]J(PVX Fe`kEF)Mѧ)]%yL(&( 3*/c 1XkZ!0PJ^)khb  % zjD4R0"Hak eXkZk^z~ a/=0ApȞbG;W}9y\/:׌EYeBR* ,VXzF co'RX+R d.D)J (,Җ; Rb=AD&0.բLJ b`7\)k(!Ap9Å`,B`aSJ0Ƙ a6d~ㅇy|tO|x痾lM#Avpp9~z[ K$~织_~╗_Yy#O@*ް"v__;Nyaֹ1c?k7} ^6ˢNOG򴵾tq//nS#]˵56*wz+eoQdɴϵq1 zV%0( j{,%ȺC ]Gpsx>z֥7?jGJfÏi|Beie5v\>~ΛŖpz̬[/ ~ЧI鮴bQrv>-EIv/+֮l)W:jW:7BF-/J{D+W%UrzwVn!Ueh>4ilVn>2H݃6T4VL^^t6iJQjL}]o5{RJh{פ`uJۙDk9XXʹ*)#̺IAtEkRhjgI:lOi^y ;X 8'o\u}'GYFf#Pw©^YO"rTF=pkeX `pޗi 6Qdej!7ء`M*5O"PxUWw=+s#Z.d^]..-޺B=kIU)L6bl\BY/_^~[빘,:>wD!KZ9kU kzW$ {8ߪ,y}SKcߛWY4P[:' GQny1sgmy<ޝQ kWчQ#es qt'ŐڋUҿB `~>Z{Ha7:K{՘q{kSϕ~_wQÍkHdUY $IQu6W/_^;nw2z389_h~~}hngq)t>NdPׯmJKx:>+gEk3I}qELORy/~+_ܺ<}WƋz &:Z+rMӼiQh %jX|zt?{TVQ2O|"76lwgiuq?WYwص0yppWfxSFv'EVIԐL2)2Wbʐn>qLZwL !H97Jb &$)Rku@)s9ub:UEE!Lc ㈵@0 00N Ah- 2Ն0JmE 3BZJ8BdcDPQ0AÈK-FE0&ƍ")(%jz.&RJ!baBQ5xkuoXc5Lk W~=u,ʒ0q_T 0(1% 8gRjU Kp8.3D]sB|_˒"R m0JРaYأs -YPHLz^c%]8aZ}bic60X!JZѠ""mt()cHbL%6qgǍ d1ED icJY(K JPN5 ckjc,Do]EfFH)`>%BRX?Ä#!,,AX, s86lWCRsz 8"rWjaSf0`c3eZRD<ܡY+A*mV yaB)@)rBI),Z+BOܿMoy;Go|am:s\Ƈ$GoVW'j6&v%"ҷw_p~3f6O͘'tCebnK׼NSs]n nlH( !p,+r8qj]5y>98{so%<^׿ F-> QMgZ8[EQjGAInMUtwNN[lϜ>X_)hKq30QUϵD|?:+XDQMSI7bsS(74g;p0Zk.yZkn~/vwU!h8rhYGi8E(yɵR]9bK[H 'jcE IDAT+"GfVj^xyu NiR$U`Iw0vm?>;~jVţI?=1덟R3NreZr: #00xPxFjN yA"d^i;%bR\$iFSAIZj( b$T-j(2k B``lf,ie&#9B!8~0ZiQ`4BT u<=LƄ3PYL)1cFJƔ Ri-FC*u |FFi1~OS(`m;A`ae|Ʃ "e8#@ܿH|mܯ^&mK&OGlMQƓ3Rlaf*s4B)^VJF8ǔ$f1bBK Jlc1F AuGk(זDjzb9GL=b]z1}~JDi,gPv^A3ǝ$Ok7W<~?'wprVmc1oP.jl&XD[k~h\fAaۀԔ%{;)n:^cgy?(Z*:pj}oK`p~<y4`]^ޚS9)-\Fn+W6R&3<FΞL>~#&Q}φQG-OIDtM|ltԼuuw?Ht!Ù6XC*//j5v<%vT:%(:6PY|1 aqܨ8B!`;l}ePwgު5lc,@Εt8:^$6ֹ%$Z*1뛸^vnwxiߦ+u?ZOr"\d6 "cJFiX.ƀ *Řq}o03?b}gI<V&%ZJ"VV7 eq,%1 5b+U֕Egƶ<8Z|{/ҸXL:p8 $(\_\P#Mp1j7n-/KH/9߲\F,|wG ??Zm?Zݻ"Oq1;:>XjgoO/Gk˥n*7=}:j:'~bi_/ML@ϰ bx6T^;x$tztq:86ׄqF;ͿѻO>Jn8Gݺq1L }mcQ[/Nʕ۾@׮H( fఋq$+WLQg{W4;=9xXΪUuh:T#Wa甘>@ 6H2J̶-Th)J94Pƌ &r 2PB0Ơ 1B1d`ah3N0€,FsKdm;se͵zh+\h.8*$Cw9 0HpZ]"k  7„Kle6р)!B9D.6׮QM Èa#eK1Ar@Fit,;K"K "UhPt%QTrY6l2\'SQ*`$1@1e2J1!Zض*M󼐩HQe4" @(D.gBښ_>62>A6*}/>GZ6$jx=N;qjmqO;"&z:w77<ߕܲ =ztq9Sa!QaқwfDϢJy`VMxVɉ}NxHR:|V}qN횫 Rol/"`J^i~ZӣA@ԓ4(/^]7_L߯]yr0Ɩ-:vp齍׿~YI@SAf:>C=[i7!YPlP cǣ`&kr7/џn/7E*kk͵"5N{RR'tAB%\BMu-FQ^" 9?R!T*^ltd{K}nt~>m5Q\HiLr8DIRyy>\ؕƋTlɗO&(WrmA꓃%vl;й`y x1͢U{qF  A[l<3a9H)FfTFik9NF3Gg{G"ɱc͔6GnrV.p^!a*1B%KE6b0aCq59lol>2_LGnݺ9y~pkf\//GQ!.5vB_2R%AEt/m)Lukb(%ܦ\*F (\lq'g,rfQP`ӖP? Ss šRܖYaQh%(@0)0c% K "4ЈJ$HL#Dhca$%}=(&sj#79,f^8c`"KB^\Pc03h%RkYR ŸvQzp t.ȦBDd +\\^@&r (0 sX?1" ^~1BTLli#@F MY@`8g1pD&Ҹ hItxH86zƥg\O~nz#1,_Tlls0¹}kRn+x/hVeת$~[TBqp~f9qmkmCx,f7NxxpTXW\VwLw"&}o믮~PgvW~y HNY/W\fb65"޺ɝQx04՟gi5M ;VJbb{2/dQ`sSS B]FD9LaDDGޥ_yVhުgQ4ƣ||oVCr<+ڕ81:\R^Z?K'~Y#\rdd!9{QR;XZ'O&x歧^Q" yE5yb#YJ˕OO+>0Yv BW.ΟfÃzx\a'p:Kl7JVͅH@i&qLœ31/G'FZ^+?߱U< (JFޭWw9=k/?WV}i4P2 F1G=O+t8~4Nzq8OH$PTYetgm)3zܙPcL3 '8pmLW+E]]__J4tWwOr#{֨MjMOV-;,I Keէ׮_չAS=NvV[2ut3Ur&Ō縊FAڈhr;8m8@-^]98ʌ63)L$6Xs҅\3)ARg*Emyٓ{2f}8AQ4kY4{׸˫k'G BY:/%٣$aD;N;vj&;vpZw,^(+AO.g䜝:ƨB!\bLh!,0" eT,:ԶlYqDu-NJ2VjqPH p,n0&c5`4RRb% , FB(c2YeiVBH RBMUWDKAM Y#maL&!"`Q(%B(%YPi "/6evu +}63}oF"FȘBȲosF,rf9[t"!Z/&Rh-a @(6FH56-B  APriB(Řb!V*ODV2# `0B  (22( Uo {a:f?f}v1A&LJϣD4lx6qQD*7.à#Q0Mv؞JC.;hތesDvݕ+7*t4>?޼9,NugWgoekpg=BZ.LJOgduɴ#66~Jmŷ;׸o(Zr]b'Q1WH(tYͭ|QͳY,K}E+$h AiC*>V:AJ̔!AI(3yl:M"Q;pyd < gm3FUUBkU(NIJXfZXDj`ToQgڸ 06wIs4YpZQ#zc~.Fo &ի{G c4SNӬC{s^|c?!G/fR.X<b$-uQH 3 -T$QlA-ǡ U9f$ Y,HILRE4cQ@bvBD ZB@ܪE)e@/: tZi#`"FF# ,l;2TSl@9S&w< \l,wlF#bP>1FBYHcB:qei FEQȅgdB0G1׵T@tlCIX)Bh)NrP,rT6'/޽\דի8Kn\+[~ї:,fߺwtu{620oOK 7*Jeq=~nL \YN;ywl(~sXrr(^[VHr#h6eͲ,wFnq #9_ 5;Bf+Ou:6,2 ;.k (GI]}|oyi)SsZW>P`)/ I;>k-~ݛEq[Yg/vn6-(ɀ~gzZ}퍭/TX Vi>.֪tt8^m}qpbĢ}$ SIRBhZ;;~mW "^:9y9,ͦ'Ln~%?y|*(eeQnv671UI46'RCqóӝ[vwQnX ~a/cT<);C\^ڏOŌZ) ^,Z)fHRdzot(Rdl> R37FhI9]`X%T%Ю1^ 注{zFkr[ QFXh-  :¨!-bwa &Bc0*04VB-^g"ƴ.^PkRh 2/ %`p4\(/1ZfZ=6zZ ~X@ (Z8\g't"!_V懓b 4TX6WXPEqt2(^l4]@e1bTE+MD+YAb>%E] mB0[;(8 yčzk+NqmҮhU.?[o4=8]rv岗?ƄhJV^kɝUZI߻s6L4gx
6/sDeN8%s/ℂu8vwT*W*dqOa,~oʕa/##A2Ԛ ޚ XJ zÓg7_}kUI7VO¾L^Z+;Z&I@1J[} t'H^~v4^]n"/Lzm^! QITBW{՛w?_><;{JX'Ȳ pI0fN-ě'}LFg冭Q`2q Q  mH7BrJl2G)6 QU˵  0"@-pbc@a BeB`*r"U4e E<1"^V+@( Ahm QpkH+5@/h"MXDic^^ N< 3hVe7J^x PE2 6",MRK`@YAZI,* $"H/[@(#-'A(xQbm/@2/`~m.Q:4pA q,*Pq:3L0!2($ɟ WګSSOyZF8茰e|unyI燝O|(-.aΒʛ^rf:UJ4$ ޽;onpi0ݸht/mhlVJfI!=t,EIO4Iξw:d;JO+ݍ0p4Pҁ 0 #qy}-Jyzi %BJ.j8^x.d?X]gk}7 #2>yrx:OtIj+ Fs 08y .6LrH_{ *mb]ia;3M:>st$(0"۶ƹȢqˎK˓pv֛f)q,ZͥLv^:I =%,tONHr0 )6oKjjCp*382 @6"ө´yˍe#,i8T<~"2)Xl< VdHcjs:E؀6U-a0 תjt4عUꌰOTWw^}/n]kmy7}獷6Y:|ݮpd^-9cO}|#TRԦq0PumjQ(gEKS%bH!u0 2(r:ˮ뺎:`m4Safcf+Mr8Γld&I1ʘB0hPB(c #0iPHG+FFÈaα iP͍a!D!PFdsB=a3a@ڀ2JiD5c #q 4BZۣ h`mw*9u,A^jy<,'(R+ mۖ((RF67!ogW?O[X]ST^OIRWrNNiɶgEEaͭuCǺq!&tzk n#bgk~ЛK G{z~lυW޸f{[QceT(eDo=on#N{vӣuշ`{oe1+Gu;rZ$/ Y8Y1ؚd^sy9phLDzR1"Q(HB[6d2Ai??NŶ6()e056[I{tRoaDHD˅J~+OȷgZztܓ P ~l~T'r Q i KMn9Ԋͽ凟EC6[RbZı__"Y)!M(%呞[F۾8߿o\w!v%5Y__){˕R-vO12V;_Y CMV\~zf{:F,5WW i8|5GW6?:wO0 9ƈ8G`(57_m wP9dX/?:kd"e\jLƶaf9 YĪHZ., S(@**le΢Y/ dYu=}o>,=ye-Y ڗ׉O&*+Ӌ,ʾKՊQ+hbrU\˿BA8 872o.mxq\i [X ǃx ƄJ!x+qYs{YJ=J%z,SYF""mk0( 4diR(a,(ub@J@c@<ϝɢ%);R xU}/CL,nkZ ) 1E/5sB_X\"/$(Z8 ~Hh2/Re Be"l_A@( ;/,z5c Xc4Ƅ! % &*v(H/\|)r 4EQwVP*O^|-XٵM>W_/6]?fvy0J\l&'(7RJB0D@F?p{B;!.2 CE gإAsbƊZ뗗?՛7G<ַOijw`IfRs8U[+ rd Q"~pZ4'G:]*;]Aqltp6q<|:\VJյ4?x]ޠGVzgE+g1Us[2/˭U}Rc~QPYwZ<;Fٻ|LAw僻k&[ ,Rn l,*θSF>/*QDG0FbijLl"y._%oqV&׶W'8~Jlmwj6`~tgv}|p+ΣX(vdi$ͳ"^YZj,?[[H{hz\n7޼qrqr8I-呒kgsoogPJ{>ԛi6gV!_-G۲!Ga,a`>_D9us꾛&Ddrơq࡙S%fcvӣQZ*wNq.O/^eqRq=,M0"ǃaR{ޟPlBn]>y1IBmũ,D soL=qk҈qo<}euc\$SteLJ7{ol[vׇ״3{HT֣2P®`+*3F~ /7VO΢He,KLH;tZQ !u[Q|哫6C_FzUtqfuZ lآ,ъ?='fLP2)}6+U+q?J5Ϟ T:7DFrVIT7-d4WR5 W&vP(Y?ݺ^b+2E6ZR͋J{W ;zYeoQ<| F7)Wi$m0#mA`bA>>>x?{/D@J볳3\Y]^RjQ T98UYhfm$5ضug@1ѨJ! Ke^3Sg!)}p8Vi'HYiCa GJkTfqE5^Ŷ(YF-Y%;͢jeDBM-o~X`g?`cgng$ZuC~o~uX!Ӟ,QB!ijԲAcs u uR %iyׅBBy!1Ҙ /\ۓGijo>2<V;Gr{9  ]|1 A-<4#N{s߽V3鏥Xy9)7R5 Zu\5u"? s̈Z ۯ6˫wn^S<\l>7ÙGGߚm԰幅6tfP*a?Yyz4_{#:pmEEQ*ASJh쪵V/%u]ǵE sXp1rfW?˚hK\ByTjHV[V+PmnAwlnEZpo8۝$჉Izv+~ vZ=̅FHP$hPsݭ^~{i4Sqm@0ۦo3L,E{y_`=> 3M)1*SF=>brI.U7o[߻u}F#q9?[|~cbQ+;>>J4 c&޽ѩ3%]9M1"m@'}L9}ΣE2>tfYfΊ5C/j\%u~?|~e4u"OQk+,(RKV8\G67۬5t^w,xAs]Nyh`l8rJ< 5+?zy:!%FӣӏxauCdi\&VK bi;I 0 0$bSv8.N#lŚsVmRn5ARB`$׹ҧϮ<}S heevFmu9? 3wVpBYƂ&8jRiBC0VNXsʃ=۳Fݴ?^nq礷lȹָH8ڤi$ YFy.(k&ť!j5ݽkۻGq{X w$sh: mHT$`s4A^a4W?}j坷KBe4D b3keRJeFRx \ e$P`)@VL@h PIJ)Q0ZhBpTZh0Iv'F{-AicZk0dB"Xs j4RJH./S@1%X. nCPǶΖY̢Ԛxc`1B0& `1+gf 1V d1_ͼ h4R_͐mKBB]$/ ZLnf6Mukp=,gAhge/޸8_931S!k խj~ݛܷgNoy;8}vOxĜxyd<.fkڝ73sr}0GP+ݹc֗#kzάѣVRuP-H0;do/<$IݠT{h>_ĽN;gJrܦŇbOK /~`^c30*<[j$O7Lݞڞc¶3x; pʙEN7nji0yJ@JhSZfHC^ r?㏝ꎆJ a?nw\wuJ0T1tCO(|F4ʼ3J8pmZwK<力cF s V KqVK!B('-\I( jiZ  Kf$\baq=;Gp0)e|#9"ffi#x]Hʍӫ+o:ƲY2ɃjM'jM a Nmj8v0zɍrVȓk\Ofg7jIaʋ,ı8@!8f2(ͥ0mם@TZ4,$*Щ*7SG("(`4ekI)m eJiÖieӉ6ٍsKWVuX^WʑGӛ>ڷhc ++*u./QGʼn砅&hB& Ե 被 w٤,ãҕ[%ޑq_v͛Ki.NWe8[>S0tv$gƱG;H#71!.LsJ:ASbO7s7OƱ*[1XD ޏSwHpQOYlʬ>Ů"=u&9 =TRz;BwK8òJJosG3eKC!jR>x<}Tzm@ sХVtv;uuۦ\ (W`Ids'~aQ/S2!2*BWO&3Pۢ^^d_4 h35T2TrmwL틧3w@OH)a4E /:L)Iij-VcF OeJY0ذ|8⊪S=E362}a_- N7 L JE궤yppAqXm9mRy,{`yYʙdCa;RXQmz€D$i8\6#^;åvB0 ph)g\ibo)P#].$0`rM^l(pn %n8Ad 0.tB?O&{0"NEiwCe؇r8:ӓ%zu|ra:\\&fN_MZwb/RH(0 x AŸU~L.. y3(X)#*gCV蟴2 Ld8y! S@,"lJ9slB1%2Q^vXfH`;>Z FC+e@씃?UU.]8 ZsK=^P/#,jIA7;{"Z-^֋E(#_J̦r 6fWS_5U$6To%F!BHT~D^WȫfF~=P|[xZ鳳>DԷndi$:/*cM("RB-+{'jS.o?HZ7e::DJu^ Wɤ&HϊcmhSKoI,:qմsUx@GьSQΎrS"di8J-cUS"'5CeTIK3UHWD^jLa(Mk|(_Wݯ-`9Ѿꑲ{Isoːa F"ux?>z|YO).el~(2h.orxU각YBgƭ}Mg3"=>Kљܒ Pq_lYdQ گ%׍l/=)g;IKo AOb_u3lɋ'Cq9uԢ2B)mS,q!;FPo3'hC^fYA,ܦuEׅJmaRѝ*+X>QzoK! pDbwx{s|NwKdګ%N?ȋZefG뽉sG Ӵeضm3oODSI|MNiE3f;޶-⪬EWfKԙkF;'ZH G31Ͱ*q~ eIvS3E(shJ|T49íZ[]Q7O`sbyi`m=g*U \b_"%>H4a9ieITGt0Pz2Jj-c3.H c ңAOm[2uc;k`-G?ge/W3|I8Sȱ zQKSi%!.e}.e`F1UY3c`'ҧ#1#gb\GʰqzAzD6aTأv`VzL 9^eӦdY( */ ӱ=G8Ł?/f~i Wz_:1=94a')Dg(̓TQC-thwXt?3ƈə6ek+˨%Ǩ}& E*cߣIŒAW5%΃f=ȇ]ȣAd OpІ$5P@sxaf*בW `NҀ\P{wB^V_NHߏEITz ό) *BBF)p-PMCeBɊՑ@K3o'[v.Z!Q>9ES^řghR_.A n=#SS˼,5s\Ȑ1Wӆ?4otr_\ \Wr1DK".% CʤAxP{(|.rӶGvvPEcRՓ2P ,`$":xfBZWeoX{S@]PtBإm4ʄY118,*G۞BuLIipWHLL $&)2%S0b5Q98AY~ԗ@d}uDm }XD,tqaNF/:3?ơwo7ۧ1KoXE[ET eyCNg!Os7 *6\V3Z2ϐ읪mI3ʕPˍ$=:ýc·JRsM{Nr˫)~pqŎ>?rЮbXgcco,zc]NYSe`^h=p٫cu]T@;QC`Xԧ e:gtg#[1وUW@_J‡'yˎQЫ7wEHsD0 g8 eaM>Y=ԥakaFpY*,/ uG'-ONw臮\JྸH[][SZ'ʙ^ <8[ݓ1^kujڽ~m]{Յ$ȇw!e\߸> :.$ Ö6p F(AZabx $MF77OvF#xァe'\Ʉdx(6=!I?yzԟ5? V@HYFyw.[1tF4RCsEg=| 9 ;EcxD(#?*dVؠ6\^,x?vXtX .훹E~xFGܗ2LXaCc2b&HsdX\6݆"3y#F1i V'*k=\ 2GZ+5XQa?fY{ ۙR~>CTI+VfqNN+1՜g2<55Z"j R#Фӛ961*c:K{(vTu,S f^5KvbY QݑQy<#{F0b(3n%sWtpۊ;º EI΍bGBw>@ȏRKrR{X*]^IueeOk%)wT=-Li0c,Ő Sz?ǛB1Z(xwp9T_!lL"Sk哢/q)D1efrdSیE8* 1?` UΑq[UO0<8ĬxF"L@M j<`$FF5> JL  Jhhdu.xXyg٢5I@ 5M) t?9{IhFH!c}Me{.F̕VSDGt CGT:Qs=$KcDPq=ng*يÚ͙ߊn8X*b(j U:Ux%%X" vD;mZskHk#ǣn__Q&i)Iv~n=֥"9a`0( #JMց.} dQJSkpf UOż5kWEA5؝$~0:=pJ>m=OOϵ8-mXmV56h9[Qx6\03H=dPa7I$]wqxʸ/S uVI|$=Ws>UgH% Y Hw:F?䎎 4Ͻo5|K{>EҏXvܭ{c:O76_BAQBb404cuBBJqPC5 {61?QDW(@4b,Jć<K%qk98l:hx@]zwAMVJRQ b]۵,n#bFp,aĊ~K`\OKWP_xUNlZ,!sƏ/ӥ0Kr %`t?rrn:5便:\'xЀ>zv-PކnYH"Z.*T@FF GP\ ;n'_1![SX`dĐ @y>L 4B{DwDj/2R ,~S%ހ$u&o@|0p畗6cgmC@aK(ky:w|`\;π^ôs;;-׻Ff~vem2]R2novV7z.[FY03)oj|f4Z,4fU44"z" ^Aڴ睩 \u[ rq~DR3ep}҄_XȭAv;esY^!ט{p*B{ƽcrqq_ׯ*Lyf6ffoUgs<Ēe?;X8[x7dm}A`￰:lZL\`cTf_$ciľZg9:P\g|$|6U=vʛ]]D1M;GjZñ 1OGPvs:S;Y{p^Y~Zeu<ȌV _E *QB"~9rȖbƀܕ23䟍c)J|ãy86Ni`!^։2h3bD]$k3au^*G:!z\tlT :\'Xbo#<dϗVL`(`NY{<rz)`ӣ^asLKG{.we#{zmMxsnH'VM[9|"@1$-67X dP@E ˒; mE/쏔>"mpW+!6B-hp ߰4PN!)[2\ ke] $li.L$oЀ~\`؁f@;jK;J%s42PZfsLT|S4+F9 ͮɜmM׳w,:lqKʢ?e1D06_&:`%|3+w_܂h= EB9 Tܨ $\ o GL9TMA>xSZ>CDFfgۿi; ,n20 wO`ò]!hk{PGP4Njh] þ:ժŋreEm%DZgZ<%^mbvy(t]ګVB)yc4U}Xm"<LDTt_=ط~|^s$l <{>dTEjO\t^|~}mMq:JQ7(©H{e#3]C~}ln x_t5w?~.բ/b<:͠?F >X<͗@$Oފ܏#ǧU.3,݇ ?=lgfLM4o^/~d!tPx?hT:vE k+'?r]f]XHfN˖׀Ihl#ԛHk߶eQ4l3OKxm;{\iǢ'ۦ`l;\x|i#H`X,[Ɓ'| 8V{qq+ؠOm)ݝzdKg^ݦfM±?s!L~Dpת))y85$RN[LZ|!X"ب3!,R4dʎ.g{wfqx_~m6M_RA8xr*~ 72YRu4uBIs**>JC!NGuP!a!I 'ATSÊlx?`zTT32*0 udп}S \1UK SZ UAOD111=2@0:OZ/YpY,EehriԠ?dqDF)(PԺ#_,v^d ϻ?;Ps,j6h1,Fl7$:(XlH 4B!.!fYj(=/Gʘ~Џ49@l2B-BB5ʡLpK1rRz(Od|^?,=|yzt]LkɌi5f 93)M TJZ=\sfX"Lzv! jܕyx0zmRJ\$q18k5GB%m!yAsA/Ac~"^8/6 &繅`Ƶ1z ZNb#"hBz"V*BMaU3[~Kxrc(" zvl}}eXnA3ԙO_lY ofdj W;_FN)K,3I=֖͜NHp YJYAXԗ(ݷ= ʋ!2."waCG3vw N]ݝIޫD7KX΍ uy&1[Owe4ؖK!Ҫȅp&MLq7-Z[4.01QəeCVGFkđLćZj\|T.oS@6(\.\/ـ$SY:SWymԦ"mkXOĊ@e ˳ڪě-2lN\~MV:edS݅^)V};W+IdfsݑM{i& z&>i_Ib eU+| "elquK᲻9^,50t<%xEgyuIH &?wm*(U58b*RDMí9u`M˹Q~I c^V䩸ǏxP}^ ңdɁ:4G !¢$e$K$K_pl/'h^R}ag\`^_kPLZ ITXhˏ  f ?#D&uuD2x,Έ)E7,:o~9*gpG JLIVp`%hߒ @@2s#+p.>˄ЀޢGG1<@|yFSZ%:4#C@ˈ {=rHLYt34>yߣI6JvQ b$ .J F,JέIW5SkԦ-D$MAg @%)tN;_eJ6+.d䬼 )E$.yQ ">|۞_~6ZzC{oXq@cyypXUJr՘Ϣf? W2S |d-2 ҍ~Sd,S%%A@ [ǓO9T;p60 Іbhr!-VC)5W#r"+LgĝKz;y>eob誯Z7Ov \e -l䦶gVUV7uPSR5`2,׍U!}qg׸s*:ፍbz`MrZL5M<LF&2++ B<Ő" OlNHk^ΏߞT  t;S|vҺ-0zKpS 9z&tׯ|?=VVV&UL57}v <*\Jbҵ4scS*`߸eE`>F[}<]2!|:jZOoo fM* ȔMr"Y%qݳ<^8q:RCy.̮#ris= 3{y8`Q6Nzԥst:>e>BF<+ɵp{|g>q !i}mcdv$=3noDSI01$PIP(vF6 x}yP3,I1h\$MoNC~,O-8eB?MrȊG' eEaRJD3Qc[ϑHQՃ)i3#'(alW–j*P`t\}rA.IIvh8ٚO4;Z n!;(S<ƇF8!SZ%W?HnU+2_(vJtn+d_q1VoIyd;$Iqͧgjo2jݯ3=Ose_H>?;d\ofO\\\'q :C_ۺ>u FÖtQcfc=6鄶MQv$ 0Xvg+dM%-yz_毊h㍐'3:w>Yq㧧K\ݐ[iT 憥mnMeP,Ǭ Nr:e;4-fp[߶BH]ũr! ;^ёQ4JGjۣcmQ DNbrlw؀'R1hT0_v MM"v";ӗ=Op);s_`輦ei9 75FؚXӰfo;( 1> ~-krn ?z?\ii^d|۲%/+UJx@Ю1P?΄eI b8$ڱ͋JFOvhCJJXl/+,Q@I%LmTأj5F4  !ApO$a8P`DTJM_ԦP߶-pD1([E )bpr%+<} v؄N_QȨx[B Lĕc( 46D֣QOr.;NbE\m Q64:9g&Ì0_g7]҃ LV%0abxo4 $ֺ*&AH2o/> -b%OkIrT a)oH@3lqTh`Cj|vU5;=K 3 Qv)!JBCvh֎jM5^M 37ӸpEP 2 BB~3D(Xi~L6i~Xe24~ӵO:>yyʟ[M(I!)LkSw0&kMTGn~:M;wJ.^/+~ԏ[gHiAJ)U0Anz )W())mC}B`uKˏnG酶f\+Ien9>y .L-)IS+t6SmSm@üxږ(# J9ii6k쌓HDI ҜoDH"dY\$co۵ΩPWiXL)nϞJJc,BҠ".&ՒM-!'jV;[/d1i 4O88u2<nMG5/SƁeSDǣ(OrF.aK0 [TJTq+>[0L \J6{=Y&3o/<8b0k*Rݒ' Cd0Nee/҅zK"~`ΖOMth<HUi)xea!.٣Hh6=:T Pu*x*@4byF G=7A[ A?PANs?ʄ$#pk :YDA]&T)BCuE*ͪ]Ț1C!}ml r}I%pTK,rZ_V{e-= =nyJ})heyKm6=6VQg>G ķ-Bz)[IEH'Y J~|#FJ? <]fܞfƦD+ojp3}֨P8N/DHL'KB4צMSO)S~yζo:`쯲 _4<ZȍKۄR֠ZnR3J6c8HjФ>u/V/\CbZH?xRFNPɵK§` D jZ僇 :s"ΐw`#I5Ce8nzv0ũl}3cHz#D`'Ň7=7TJBy^x92crր,x*s'; 1:ԗCٌ=!iYVIBCYvUpA&TCuh(\Nx?otLVr?@5-3ǁ;E79'ܰI!k|&.|4^7zޖk?o-ec~y#}[m~ABe-o,FU0ͣ8?yύr@'0ziKփ6Q6FYW;=&HN>&ACYFgyE+C:b"2v̦ Mg8?>H[5'e  k I lӋ$ߗO=T>EgK0rɬE ne:w ),]G> lYa%SLxo\[_w ƁNRsoenT\vEzꡮ[= ),Tc^`Pejgee[$۩ Xl-AI[ulɌXL~ FrIf, C锴SqxQ#-~PF\@(ԁhY(JH%Ad^-!gO 9|O:׵sg}3øI^"10S>ЈCcĺfVզSK话יRȔJP0Q  @>6AoPfƀP!CdDCB[$O5 K$2 C?.c@ָ)1P(j9|~~}V)[@SD1~YE' Hl[]w&d?yq6rMAeᔺ7 m*t%|k m)[nCG{[i8/ +zK#hsl>?~Z5J"'U;{>a y(ꗖNdzPN>54QyCsI;UeAϽUh9zTsJmexY wI9|<3a|5I׹$~һ5!v+ɽ`TqON?ZtX-o=gL޿ͪ$YdDc!ĔICY÷xjx-~BWHm^DkWh(OˬΖX"( /6j}%N]v"/ +1r?( (+>dc=0C]NVn0B#b ia 3]X]!VnEP 0 B^SFhDx,ÁPMWҢZ2]X#Iur'_Wv^bLz1eeיe\W}Ӣ ^G z ՘x^@[i{H#?wZ&ܲ;wXӢF_SfCEx-FXcTpvNpPGqki^<)ߢW_h0:u%_qxe_c]ywp+Zдy=?'Q܇j6ZlyzzYV_|[-[`gYpDծcōQݚseߦ{S3犲RD)_^ jd;oS!ZiVYm^FqCăb)ʔcCM4`{|g;5u-b_WFB禎>Kf,hۣUMiN\W+nE՘y\ò1`_ Ɔ[״Y-dwWq' `+*`z<u߿Y;&Dg!MaU+v #GC(ctV Lw]& *3YcRS>ۓ^ JPE Z48 c?FR4U! ;IgjQ }DZuI?!iI7cQDbF|دAI;1ipEfDԽ 8)6}|tw 2b3t&>ăLJ aQbZ{(&ʑ03&c&Fo]Pr@3A=32M/ V8!z>PZPK۶<@OZ m(o_]`Yg@Q Ͽ[<:._~EըVԭ.V_vcwƞ#ˈCx:g2^X(4H/dqH֥TdaF2hemH'i0[,ύRSUMYZECX2}mUlG1#_^5ig,ORrFjO z?d|TKBgXzcJd*vIz()P<σkR )?aB{ xP8Pvƛld!檡|0B-cd/mb# "Kpb{;2I  EÐ1sg3O$ O%KHe#*Q!Rct#RׅPs8"(qu$-2c罡&TqVBt!KKK)8l {qsQ`-+1$зD'vyR|<֛]e+:2p:\kG>DQ3wv;\-(jΫҭzç{}) A]hQ7wv7yb=w 4z.x4"^*tO^ lP}pb|̅HXL(li*LpiԿe$FfE!*F<7Wsא8B`\gB"Ա}iuH cW'*eL`0B?_6E/N+-+5ښ'b 1'j_ZAB?O7tj,TsܖԱD1ف 냈±Cz}]}9Z]흫&hzEê-ݖLI}N, IH0jd0L>yݲ  7x7(2` 0pLnc^?O8LF+É2Gw.!qa^?LdEiʖY6WEwgYLdA0@JgA&UP ɭA8]<"&M~>v|(($ăQ1@I~6VѶJ}#WX<-MY낿m73[fZ;j ý3[UPG7/4$k͐a6Epr{w(B:stq0CPAmo,I4˄}E?.ߛn!^}˿LL_F_j+Y-%Ys| : |_!juN(.mUa-yHЍ"禺Կ?˙,$iW}I6ң}޽ѷp v.}c/e'6q(il5vxB?k%8! =˗;p}sW e;&_Ya ]2SvRkD&T챕i %*]8!'D(>[ICpӄCD`0 ۋ\FlA:N `DBz쉼vY"~*HA*>zdePO"%lO*=mN uħ<*2Hds1䙿ph ON$^-o4MqKx9$ J(K˺/_} fn$-?D_Nf+jrx~[z0F$Dh{*b5)k!vVO0n>}5SQ>2ɒ)z,u[j!pUlt@JDaIaA' *]Ix:i%hX0?r\Oo+7g~/Nr );Վ7-d‘qCTR<-m-ͲG}jZWАtF3I51#JfWW}re^H3k<wMN`6oEY;Qz8*n.iIn1,f{W x{.-?ڙU\Kw\UPMX鸺Ka}J})F쓾|zg›X2q^s1N;WZz^ΘA ǥB$Fom矙>^n A6>SՓ6b*;Zæk)ZYam@| Lӵ> sEg&uw?h~g.kM %ya`DB> O@[N.R^nmZԓ葪j[Gx8W^c8ija-,uO!C5RGD_#ġ$:n_j]?M`E.͕*jk~ /Hh#'۝c* ǃu:T8'2"DIGwq$ E[ܱ`j,tX\^e%N8}*Dz ?R636@f=X1",fnԔn?\"2!o dMęJTm1.l jˍOeŢf0@#ԟzx`㚎&ŸG -A  G#Rx@ɏ٣Ǫ:/{kgHf!T I. :"5K@,>_ E)s%Hwf'Ap~~jǖ[]<£UJI a-X>`Cq~! 3o&k$UZ1t&0~31u:Xm0赔QOqKBO 59d)ɔ,Z&#l>EH"_f{uWf] 1Jz"qRe=T<ޠfC3PGD7db앀FtWɗ4DUBr/XwTV"!u 9Y[&')qV$+J>-𹻶<~pQ-4MeUJz/nOO"պħםsߣƷ |#Q+ ` ;hbP eλgzѤv%M/ο;>^?wQ>/+%q_'\딧ai)+ĔlR齕$6n,Ջ>[ ӝC6l|C9$`30Oje*H$ģvRyuW-iVBD\ "皅&5wWǧͻLkKp]u!&3P ';öDQ܍A{$m09 G[!Ew.yq _ w 秩2$& {yբ$/;LVoL~Q?GrS`)d=tGF`ܒ(H͝GD+~'W_Iٳ&5<7˵ Q[k%9tX@ rh}EJ",v[z I`d,h _ȥ@7Dx߄_ J Sb(Ƞ" B[ZŕQ |] 0 -6E?"LΤT& (]ӱAn&LʠҜ%5EV@:xz94`~H1#LL㳑%::>fx((AxV w姴ȁhy8 5jbؙ˺Q~Ԓ#?GzUѮ l`f|c/$󱟳ךSrf׬b ], JũѯvJyn?Vp.w橏f;K$|r- ԌI;:+J"?%?iyS c×*rÛ8(" I&=؆"Txuʞ?=7$_xϏ❃t;ےe3b |ۨ ;\,?<Za' bPˆ5Da8w׎{gy,:8̩[FK{R&\̢ajĆNMlwۣgeWNXH-< ɤ <بmdf/=[\"a5W ]g/Ar}nźpJuMv+EM'|Afךz}T5hN5vp͸ŵv93 I}eU}W֥6k)#?q~Do$C]\d] (Rhrc;S{8ܾAݧ@lX`S퍗lro>r'29GYr4o/57EKj4<10BMO5U6fB+lsռU*2t#̗ş:Vi{g]]>4s,waN civTBnr7r;ى v{Nڕ|Q\G%antI]⅔8؋aѨj!I~)ӳ1QBs=Xc/'ZMac3/buCA͸^ِݷ&y|r-bNԕzR"IAmBy瑏lcJ"2=Z#zIdlRbU؊~ dXn)%!Tdϟ^Al/C.)o/Q6rhH?s0 1c} ruG1@~rΖubNx6c¦i~|߳PfubqtDd!+?rZԕ,΄~Z⡛L5|8_ _!**u6ӗ &2x|X͡tU5P?\ #N>EG14(-kZ{+K mq?3p@lk'0;ߐzIhK7ٌk"ՊKx$ȎX;Lc(&T' r̈T-\e7#K~*L!8ƼY*s8j(Y$)@3&8F!($BP6ch@t l(GHS?[]w8L;؋*`_Iqʄb&N~vvxxym>RƎވKMZA#Es|ڸ2aĹa0,쏉O~]D۔0هJyVqww#q́n"V g-[ЃL9׽kQ^S&ʺ%h9_,h`$۔5p;&[6%^\ygV.}vZөՆ|V8˄<`3rO4G5G1_h&3$߈h~$et`%_\>rTD,Cq q|y%z`YfMŖm'Bzw( s{Y?UǚNº ׹vGnP|z}lv&a21>u? Mrf`M>is)yO>\kK%{4oKY \"5Ta("OxzS n_33XILj_Uܚen1ө.7: OSs_2싈N 3VL$sd5_<]_c|Khw)8뜌*A1A r-(R((1z.UWiS>M:o\Ε.E-jb4oJs?䃛rԿ&:R2e^%M i%ܯF.LHI:M4@ȉV*(ҪH"9(7^I_3R*/$.,N1)yqE-vnA@R:Wwɩrx!&kwao&W=PS v^ß}vb^t=m:I;3MdP˸z#oӻ7(ZqYj%Ck]7ew/Qg9OYvzz]^`ϳ@wͭ*&/Gy4^h8xWHz?J(Ap..1p'( nFrl"iDT0R#!G3t>ns4//1,2V HuA1I\gF5EHgDSۅ}(t)P4Kw@4'3z'lo:trX8I$7UIOz|DYh׌Zc#N .a8\T!q (;+bl՜l($dk9{!9$j ": ^2 K&dE?"Z S/ԡAֆ9ĵG4 bPvyֱԪ4sazن*wx^c}c_.ي{ֶ/W==G8˶JHQbcEE6Hk Z cOVI&??-m0<.d(GoJ&2>_ Cp`V]"PFJCXj6s5k"[U{%_bNђ|msB? jB[K \ q?]>Brj4lF g$FV݅W[w8}Լh0/I hݗX~c}m^F#VBku(8~dpY P~XEaZa!cXG<~s4@*%#1 FB*/Cxc` wu`}Qu,"#6";J@ L뺙Ȑ%̩BYSaP*ncJ zMT7coMȼRJ994z' QrHYFCv֙`f_ SfLg0mno YML#TJ(}-vTONίΞ&4خz.~KKL1(Gn^c_cB5kƺmpyruT#-K}߸?ۋd]pݮ.+ЙuJKg2B]ߚKg+MOYZ&UEiy=.P)>A jJ0DU51@οE\C{6jJ_ @:cLD)(f6]Ur5X.uCwRdP!Q,+Ư"5 0-$] 1ź5&ˍHFr1)@L-Äp'ty[V{># <ba]NF `k106!l89lx֍e4XjN'÷Ǘ=/+p2]lw{eO5V%o",gΝ{.\oNC#t6ScLZ=MŤVUIta?8YfJ/NN./i-i+;7[QKlrO?( H:lyc٣ql16}60$K˜[Z \!HV`2gG)aeaRi$eU'(CMWJ\N39ǫmɕ Yl0uWۭFGr18|zRcueZ`EQAK"5iS&Er}9LUddgk9- P]ƙ`RUJlGٚ9VUJ˰Jq43\QJQncT9yf%25 f.5B$H|D(E0Vjxr+;3VWӤm4GAL27wW]m姏R;/Ģr㧧XY> r!2<}b[2-Hc,_ۺ#+.e%Ǟsm}㵍mf[W ha)mk{xeU߽wdhcX`,BhA0FQ1J m;?L4s/8dˡQH Y) ^`2^YH 'cAƯ輼 yV2H̴1$% JYY a(]A*Hڟ^=w!+@&[Kwn@-9 *Dtl,;-B BԢ k. XHE06@U\_مt^p ^<'Fj  f8ҋ/ Z([pD<Šay cc7<@ T%ܿʟ=WD1F `tYꐔbS(f1,0B)Rh4~(]GTY6M@5Z7`)@cZ -'2D$g>'1֟񓉑@/G /89>a3SkC6a훟w"˭~׷z 2)'aJgj'U ;<TU60D8JEp]tnS* 6_drkKܿq=<'΍ jw𚭬VwZ~~wWKE-Abf0P%p.JšW\rLk+ui LQ`0  ;)R̾Ryu7{_oY@Q.s^֛ jeT!Kway L"V=DS خ<3:iln<.G绫;ݸ]*<[oX7ƕà]{j/'oэ7nOkRg,+?hhc5lZE$g7ZHP.O1%dǮ_Ew|?>6d43I)$P hi\ud|t|V+P~3pRNY*LGdPkyCq4U3fL)ɕF, ,=\ae NK6kEXH3Pdzk|d(*(xY8ZryRܢmXRRz rq$&ϣHW[scg3Emd^5T4+KLJyyRQ3F:07Z|=v]+RxNǻG ϶"usW(Au˒ՙg8_1 Txn,pX]ݵV45Weg}=F OgNk0jE%+womr)BoFM7ܹ2_E+RFfck~r6iciVEG7lm?^[Ezrַ7q}{ك?[['4u.^u+jL'?7n\=`9y&_j tt}t9OBPN ) 8׋:O0`{`@UB76%Q0>q4ihup曝Ammd$}.DlBSy&7W`κdKy9/-LTy~{o^|ZeϑHV Q0-.8Ir>!pഛ70 >O uLfl 9}'e")LBn,DJm#ecdbuЧ1Rһ*gЀ\]{|Y*q ߸򤮬#.*GT'H{2$Q}:NᣓV̂#'":崄Lk&PE[s3M,'zb|52P ώGgS][j=pArXW+\;;3{vʗuſ>ޠwڍ~{vgo,Eg?>VnnDnwautꦄwz~7/g}K{}2*f'v/5׹y7"OʙOѣt' h-^:' 4)C-)x9*bP"jQNx UXޡRhdupև B$ o+]NDžF`AnwA#(^V-uӿ8~䇯{mo^C"ƕk?~z޺zG3o?x2Қ˛7/N}cV׮ nŃ{vg'7^TO6ӻ#)Ͽ%}#l# 罢AGKGE-" ε']&UtRR׷NΔҺ僣3akkwinWgH`IB R#FG6R))xa-?:ibOn/YLԛ K/?9,C+_,u"R'!N*UO?q$ʥ~w4\\xE8HKuÊUO&hk)JBEѴ%Lc2RB)U(ThI:'%ontR]ho柝yר]ӜF$ /BKj46/'/Ff)IV|U-ő+-Aa}A$Lq4l]i0PR,nms琵6QL]<#WV EQGS~2)!dl™^\ӫ˩Źj^Ȓs<%Ir|^9 E mt֟g58 H@KѸ0NM}UZThI#Zoi?T"NpkQ\pA$H#ͲvLR |D4d~uk򛷖udDD[/o]o7nEgckr`x}Օđ192Ad6DrQw.y] q/D{|tAuU/wo>yo|teiɨozʕ{W_hw/vw]jFg9շ޼f_dr.$XYҦוǣJ$)G,2-bpżYnYe1`r wW޸P-Q3ϫFV/tX"7;I΋I%qdJL LL&QZN"m QЕcp{k 0Z+'hJ:qemH,R t;<\_Ϧ <&ⵍi6b n'i%  B\+uQImÒs "UkY0:J҃"{ZbksW9y;lKO\g۷o{xmyNhoՏ>oWw֗}ۯ%R_}@@Tu4 d~ニ[?gW{-L0NuZ<>Rm#7 "B 5oj *Y :0v7ͣ0G-l([;4@c#~܁:uaisnwXы]v. vV6z=_%AgE l>N@we: ݎ@&` Ƴo 8bd(-mRݹ!k@<77`=\LEˈu0sl5o|]l nLiq @J%eUN%Q`%xgb^(E2Sg\&GA E"ɘ*%^ @P(zTBC&U ĿrAXw&sg\ZXƓr8Z[Y?=<_1g:^V0a)EDz.,v3Z]̫kb.mnM\xq7_;~|qd n\~/'Z {"r|Ivz|OWViٽ惫7ILҋWoln=.\8b<}~Vc'ĝϿdwКD[+{Ps'Ie!H'BR%Rt .Hd6X+ɾrYeJKY3/wQuU%Ao>p Rjc'k>r "D:ΧQ,i^$QmQ\k|PkiQ[Wǟ? C䄸~|z{7^>9غn殚gV'C -LȋiUV5K\?yH\P]$kk޸tv|V8.Å~ov*Q'_fTÓWݺQ@t$T$W._LS@Ѡ%~1XNr2 h&(&}dvi/_p^jCf%1K-  IDAT@PHZbQ-:YmmfY.Y2D"F2`4Gݵ [tG(gkk`me~NBG52$)1A Ө 1^Idl9VR6YACRSY\ ) )ex#f#$55O~Qӓ1~'obT61nox}RHo]$qQ,iijfͪN >D5) sT.ym  "yy/kt??3xx(ؽHd +bQ(Eȍ!?>C!e$R 3vqշ>k>~ʒ;tTJկg?EO?|_~j2.}~ѓǏ?N[_9-N^>;uݎwvY+uvjˢm om,}{!kN,2Y q AHdV{a#(}dyy_\2:KL"Ͷx6˓`<N*md)cO;;RHF Bpc"[{ŁyXqKIb>.llG>k_:2Kg/= **xR';NV4E-:S6P ҝٴb*2FXlbLC#rBP>cYKEhTj/=HSf)dHRR .P+b D쉄2<3)|B*rc$\2qK7?Gj'cM!n^J t`歏\|g{oOqrY*jΖacoogt7ǼwQqz}JŅOv:gSXQ{=]IYy1TT>l@J)s ƴz(N[Cy9F {b6닛 *IHɴff{7ы'I IRQ+VYJ> zQ $t!r1$ J((PQJR_W嶪#)_U|Фsrs`c4XY%v#G2CDQPR:`A\F#6ERr4Z տo][WEt~~O)z0+wV̏}g?r|#?}u+޾zy묨qR^K>N{g=[eo}|P}*%RmY/tq=?bd$^!I l[ `adБ8,T/ʅ%WmŊKI22DvuZ|YXgbF)u`g+\$V, g dDfl*xwE/>[}yW1?^%a>ywFbp:{<˒RNE9O3"v˃a?IkW!"d4JUuPҨP5ĢFñ*%%j+BO{0Vn?yi* abcTUri/08fY0&r>q퍣ӽrgezk)13C_WDAP"9#5s>Het bǺm͛֯qBt" !Te.HA:J#AZq>!!& *&20jPdRctuǰsGI7M6Dh$O{t2~έۯ>'g_㾐{HF죃6g;GT*묗읜.o)%NÜ]tcs:)*a~}IuMd)pR,=lqMU]LiL0G+WAJULN'Z$up!0D]"ʴhjܸv]\KD!MvkvZ1r,h4Jfy[䪮| 2QHp_=JtqI,Ov2Kn,U%ZBA@6P Jr]dY:/]$,H,텅2 ) L\C􁄬ʍPJ.v,\Ԩ,UI*Ϗדͭo?wx8 6mCyN7/՛[ÓG]eV.f)= u=jR^^?<~曯Ə3I;wϞ-1,`fzGҳY6ӝLNjH7IRdݘ0 ηe-Zo|E\A|fI>zӹ"Zܸu;Tl%pɱ}sXD$UE1I鬖VV:1YW/^.$[~t<-*&lWy-`"i>Wi3ڝWn4&=ܣº~Ç۳*|kمz'/V8`2GBQ[?y[|]_NGφ#btTĚ;=d2I b{ڄ^S.rg?~_|_y0QHMt8A3M5ҋ̤M\zW4wRĆ8JWLfjҬ{r`ZeYXpTf gg]V UYm#L )tr@CSt.Vk3M'd& &|ii֪}bi,EEogKdn+5?[ "[sl\6.#{7HdL:*@A0,j \ty_:|;\{*( Gc!z$Dk~Xg)Y'BB(q6+{gVfH:ĔC u>X*ziDV" Ƙ "*GA18v5Xj:@) Rx 062kvDS* BT?⫨TVN12J(i׿VSVz궮~h}NKleM-ql)+VfCj'"YWU HIZ.:G f0/=GfE9W_LE YaB T8:M:Dir^ rVp/#sN\xG$7VVJ"(#·H.Mt@Tre,m[l',9;4qr\ͪ *u,hPsDa)r49 J<) Rv<ꩭDj GS| fOח lt&BĈT 7*˞ X !.,:yw:Nozݯ8gSk}̓ӽWB7ӕd8 Z.>ڿYX۪[>~b«W~A)b)Z˃n+z^U([FDvB(}A J'w?Qd|<Ȁ V<p³o2WyЗcc^%T:uz`b2QPBJsYϬ PM8WTڄFQ@pi(Γv/~kV?K$ևFjk\38ȌY_Ypfg I&?TfEkji}fu+,cc> ,γ'Fiݞ9%DgpSR28c19NBt&(Q l,'g/<% &)KPTZB΄$ [R? !Bz?3-6FNHo/HƗU"Ҋ満.DEQÜj–,e t `) 5t"d8Kzqe`PTe#u :h--,v8=m0+'ʺ@B7bQX2*2- .k4H+QT%a`Z @fLBٴT\$EF@t{ 1 e"v+%v`@J4.x2mb{T')2ٸx>e;Ik^q2Y$M-yrrg"c_=Aix L"p+&w\_9}~9w2.d` $Cdz:,K>x3[zL1\ٳry7s/t?{ul>< A[p/Tyw89~(ueY_|\ cU i[TEUɵ<}kʦ ?B:9z.]}b'G0"N~ywOЊ[DϪ 2z+ 1" P\:$崿Ԯa#a7 }ƒgg[b؋rvpkv_vMQq: Rcƈ>g,H ^ %y)d2ϕƾc"yZ3 THj[WKcǮBq\ЙYyy"TM~rLݒ5(Yx)@ֿkY6;jʏŶu)pބY)\US}"Դ\BjhRq\spj8@j%L$Hf'"52 ffN9+)`+'dl`|:_ c?R?WԪ]fAox왏C3;:s2zpQͻtL]Ok7Ud\E.,w.^|ѭ̸wk^Tv?#9*b_{#{hbI.PRWi6),_͋o5HsG{{ld2?|XZ_;xckW7trځDb0۳ycBBäJ b1WAVG~xvhԇ}Eh?it?3__xrzjhἕ.,>?y$@,iSCjO̪RR*>,*.Ffh#H)d³?{vϭMNgN&~''"5/tSdv˫Wԙѹkoj>zᣟܼy޽󏞻5ݼQvB]lV'zcoN~3DԩIcCqr7g`%0l1B veD]) !hL_ol/B߮<մ"$VY&cMv"R(d!23%2b6.58MNI`[6&QrhPCW**u )yiը1T =bhu֞S90{>= @PL&rՌ˛Y% ~ 7E ֪r@5CuI)"- 'e.f,'pxh"C H{0lCS<-G#Y2XލrlITUs_zU8(9Eis$-B |&vpztUDЮ\pN>S*HHFD$Kļ|'fb!akt)è-(GcLJ܁cI Pe֓5=glVդHFW{Bg(U=p/Ok%z}oB+|aUդRi؅[GbфԧIC猆x9:(LO5bX$֖[bm[bcP֕ncHUj6*,nec9wiUNf53s-/`lO_tOGz vչх> fN%)YD96d" <;'f n7&ٽgi~iH䄽;we}εAI,!ٜ5{.).0-ڶs0ה` fA]NON|ש=^Dkhk~#5(6p`Go޼w޺|k?gx78{V)G]7%waskk?Xї^}tvbv2l۹Ͽw'+7>l 6G>V׿M vm˻}/|I`L $Ѹӷf1-ʘ{pjo~&:sLpxdoTsؤLa*]b+BJKD64i$Sb *Wzkh.j1p?fƮue26I"*ғQƐ!,O$QIDP1dQf[g5$9'1G)d"3BFlF/MYS br$[%4Vޣ 1'GFP*76nmUmȱ\v.{Kx8^([r21{no$KE:c}lR:;Xn->V%QaomgEeި)m'GWF?Yȯ61`%Qa7+?K4}mwxOO=ğwLPT9R!\p9D&j7GzL<}s捣Rk,Ɗ歱)WnXtk߻3K8 wg6!ׄT=Gن^z=P(,x:gWU8,99sztʕYGnw2v_ʹ:eqk_O_ڮ^$ٽ4NM Įbhqkٸ;{nK#7s&[2X.-=&]5-]\47"@Ia B4-;uvg7;w.%fILҭa |Z))H#NFu]& ,)dfFB 7u-E$ĮlmaD+7Z7 6eg>_7;ΦlrJJx%v"gxcu1iL !!f*,Dd-LΘnՊ,U%'or.{⠲VҬCJIb>[FEvFĵ+So*h}\Lnwk߭Z`;uv>/ [dIN wG"gvRk;n{FF TŐY2kg>$b`n9Ѡ*W ^ukdG߽qy#kϽ(gN*9?;qӏɫ[ lLu97'ӪpQ5dG9$ 84i\6=(k.ˢug䒦8ӓEΤX~ŗN7+&m 2NN \b j?8X"آpvegqu&]}6핺c/|Tk}mS+Cz0o߹+{/_ʢ2fc{{ޜN<{e9;:|^ٕڢ.99[OS;&wٕ?|n<l*ǶԿnSKN26ϭ??'/<>ٮ/̸rѴt<0qU IMl(ljvFs,ՖW}o t9ggG_w,mxk6Za{׾i piod$T{Uv>;ήwݳ*>Gn~BQxcOܼtp=aAB؝7r{=WUiߗ٦[zA6q̻@ sPʪ m$%CC($/Ϲ`2ItXJᖡX;²SacP>V``:wipMI]G6p /<{Q  {3.31=)/bƘf1Y E+<ӓ:U@.C BVMKF Y`:+똗╭g-Ar52bFjR(\?;PXn `͕[r,6a8{a{'@0Qi܄koFy%Z蕢.(s$DLM̋جq 3귫'6=8Yk r H&lrlH3"!$$"̔@Eo䨎JE39W>*4tU.s6H}X;2 !0rVHrQC2^~O&ZvRJXQըY/TJΑg.&wΞ=usf[K<%hiJ{'d~Ihz%*(1+6gͤD1%QQ<7}g~qer0M"rl_\?,p?[Cn?3X;kahi`Vi6t Ua;p9 m&ZIƅ$ZJ])u Yg7u9mOzf8>U-".X+,^AMVYSu덳 &6%2vU>e4>E;;ݸޝ{0m}hVT"xU(xI|aGk+둥ir,G]3V 7{ޭ?O+,*.hQKo>0;{yث_V7X P%L)i^jSw|md!΂v q-id21CU٨ W7lο<?U]=9ۣGYJޑ/j(Q'GUr6ne2)F5F.hz̦yf)ɩP IU`ec' ^ڤ8e95HiH3j((IKytD6wCJ-Qzn%fQ0ⲃ%8[N~8-zak{09ɶd, 6zY5ƩNTڜZ(BfdLGPEڕ & JR$%>U ݻ7*m9d&cdU{r+t;ʽ[{r}7v._kf ~e/d$lj)ϻT Gl⤝.+dS}иǞVi\ q6Pκ1RЃ^wd Ic*"3LI"@L$ CYbKC$5a,acmr<=tFCEjwu䇞wx`rld.d"eIrۓTzm+Tk,1`+2/}+֠'{=dB}xy#@⪢2e਽+K"s1b__&r%,9ڏY@ /ƽָN+흶Ǔ>f\UT Jk;KļKdO~stEA(,)\Jt_V4M ;cD3m'P˃u5 mOmw81'KqΪp&Q)srx3 #x|e*~sk J&.q gW#յxͭ"eب,2`컨G(_xҗVY/FzS _4FxEh:L%u!j=LfRSLv6{Ҝ=! /&Ǡ~9?^h$͕#iJĒ<;K21L 93hJx%&5 u4(-P9"V2&I,:աa&dUUG ̀r 6l^vm"<(- eYDDr/!%d!oԗYU>j`_hi$m[H)ɽ46 UJ0b` 4!|ped-H$.dӅݳ3gSK&΋{o޻E9E Dٚf74r]NbD3t+[fM٪ں[`DAdʺ{ﮄe [Vl*px˥ d{;;4䊨0H1TVơo%U3E K,`yLʄl䇯5#v7w؇Frhs?`stvA|w ]/у{k8qyr\rlTWF.Z7^}eRM݅s3=ia&ӽPz{LJ -7iw4/WBk?H'>w|OIZXgɃÓ>tShS]O)B ;ԣ1!ӟ}m+:s ]Vq{NHR*C040mO&EEǨ:HXc$Jzȃ/@ꓣ%1-uU8!er),v(`ԃQc7hObdX$-be)Cc~Q1D9!d94+b$l@͈B I \LֆN)Ҩs,sj[4ӞtXFEBD @NEma WEw,dAD`oLfP"ΊD\,Bb "2 Y%z&TOXRrvFJ3UhTGhHšaam/tyyQAj=mi0xrkw_o^0[wև?^rըѠ9u͠!p"eA߻ye0+[ks+k#kiڍժm"2@!>;^ڸw{u^~SO?^~xrBӣ]w^ԗǟ|p8k>;ٺz5m.\:gcc^{(RLf'f/ɼYۦX<>[ǟƝ[vm\7e귝°kԮ?hf?'15d|pwc4 W"*JlEE/׿cOs!KCRQ#$}0زZ-ntxmC*A51懙0Yƅmg `0셭Y\\`/@25 M(9Wݹ2W^z$qZ$^4,q]cOq>xx ?9G?G\L@z)pNʪKr+YaX]0?¢@h'811,k1%IܴS}j'Ο>:.r>zo^Qga+WuWnuP[l%Krd8bc66lca {cm0p8㬄dN]+ syU5֨1s=wRFPApXfj`uuu\lֻL3%-)F˶TvgN͟hg AH()FZ8J[b :Z7koڲ~|dVð/ ŲVn$If4-?#כޔri竵Z}*޶ŏ{h'[- 2#!L,eO sO Pg<-J&IΚJIia+ª?6[Cv igiIl`,E43rmbbz5'VʅqA$*0] Y )YBqNMt,lV eBAffر݅0+0['$)-95^^nK]ǞAc`8fO%ˑv (rIOPHJXTz=Y>qv~Qv_C돬4 h'I\.s-;q|/w^{7"$ HQڱКHR* X.EnѾ:3g[Be-8o_K_{ɆLz|齷ݸX֛zxhyiA౳BE!ݜȥ9 +Y#ЀoۙI4itmH2V Yw]FAd -p%WR˗m߂k3`rT^mvbԬpYy1XmܶvbN푃'7\Cb5.jb~*!V5\sbh8\_8yZj3 p@˔tfHF3bCC1r&MW2voDڀyQcaR VᕍOD@B$R0{(&멣֭p@2*IoUK! T pהvlRb5 jLv qe $%zuBڜv+(l~}Ͷ8b ^;:f|NN{&Z˕,w\7s A nZZ=S7cJLp9rO<C۵B²7V™܋2PiRe2TYu-4fJD3q,08+X/{n)ZU7/.K_Yxh_J|eX!")W,/.d}/UzkݼtÏ7nv:,.vvjˋQ:Sq7>7K&Η^Y%(FvؤL, B1+o[S7E?=ya|@|0gX ^7?o^yvT>h.5Wj征3'']n˜v[ IgYHrOIn <l|RsNhjT t^3XXO^Y."'T/̬FV>Pty7*ZVn)Fz#P;pNG\-$qA^Cn߽3s+rE9ΜbJJD$TnU :Pq!Vm g,֏U۳zenaid4e:~bo%_q_T$\!pk;ycw/sw-1s\x7͎;GdFҵNbAk54346Z0?=),tkm{`|@Lbb@bQX=le0cQ`ӦN_xf#ge{B'`BOX\]o˓# fpZ}Ɨ.ׯ޽W67W.`Bi (TtmyK*_Dc;̮'b?3yq U`Cjg`А߬1Z+C)W:y復s|{' I-E~w) 2JfRhCBqj,B-ɑ\z"RR pXxGJi9i/ z^ج<J؜bz{4p`5 0{&a ɦb5Ad;^ 5Hˍ RYnpJ>Kv Z~h(Dd9_xy2`iTLm|@8$P(ӟ{2YعcXv@kc@}sXiMp2AG^4R=_l|r;3>TBn˿Rl-y殗g_w,V+1Tu%VC+Ku FR {A&B 2S QYv*B횹,]4Ѕ|@ IDATZjZ- $W$];Յ@1Rq0\TJPEAjWV-WR*,v7Wo6a˖v-UV(#-7jt,vb/U3lf05}j P9"+6kgN_\dt_9|^H=//S|fc㊅B%uZ.3\ǟ%3x]{z/K""8m[A(\, d8ouزR)>'+,@x/B*1kցv?P鬬>;gz]<{/yYf2D =1+ᕒ0)C˞.BHi OR\P9 !}) oͽV&l> ]!ԑh< ɖBzA^!2y/P MF<%",dXRx760nu2O!Mwz}C$@ۿ߿c|_z}/ߺּzKݿOz//~sw菮S˩ )U_]ܽqa~]/|¶T-?s/\lCgݶyS<4BdXi9O>'^ȿK2E82`rM:[`5 0;-c]U7(:-iti ' JrT²t팊aRZ! yH+.˜chik QquI}嶻~ʊ2vy7O)&gxxjSNZC]v+R8İNJmo펕],6Kn\- [W6n׾y`\XKNƂHVm'?79Ao}+YpCG@[V>zY4WIpZ:s.qn%د,5Cio߭]wel}5RO'+1( Tzp͛F@'vsHyRG.a@HJ@aliYV"$( cx\.q9 ˵nB/ɳC*Sm5`&m]@[z`jx8O{6Vo1Vn%0[S#}~Zd{=bs;5llF:hW,HZ6&${Қ=ɞ+Rɍw,se6#<[e88^!<`&ǐPcr 霋 fPBJX(5^)*R)zߡ;o`eۿ箾s[?~H'^G6|_p]>xϹֽ[nWw֏3mYE'v+m{=>g/%g?n~_+w 'TW:@wtˆ [m×S޴C_@Y:8Ӛ_!-$!$jUH#am. T3Q 5")l1_r #PZB<3#kWN1 OR1J:c[W|)ZiŭF;MS(FB9nJfHb-Ʌr~ؚz-\.(m˸+ErjVfY˂`m,}Yg5&hl 9p[_^2<2}[)" r<[B$ ,ei"J4W7ݹM+fJ @ݰcΧLa\}$lZj;!"p쭳]%>ׂz8< %gX]C3ىj@ M{? u4RJaX=pT%RT d!$ ˁ3q2Ф Z3t'3is yˑJ*<NYJff 0/5]׬/Ul3~@Khpi⢙<`#|lKs3Ɓ &K{PqܛR8@^#p= ȔEcXmHIZkB{п $Mk k= Y!=z"GJ1[rtN8Vp(XgkAPj&֩ى5;+J/w<n׋7]( RUǦPͥn2V%&ύ }2;gS{,xL\+* #MҸR1{nQ,F$2Rf\޶͞ko8qM8HMydJt[B9Xh:*PvB2C$iuET̚yCc卛 .MRV_[[W5FBkfE^0Cnqoc'.Dz`dKټZnuCnWfxл<1cfxd6:йn7cf % :w#2yBJ \a|?cSz2L@ BNBHugatL8E =ArAZIY'[py+!dY|jꁕ覫4 a {˩#CO=mhODk}dc({sk*SiRkƛ+ݶ':qRk}?r]rC.{ ~f0mw8Np]{/m:_M|M>/NLr*+e d%E# dF9iȱO{o e "0iKcuVD6TD!uؑ/Ũ=uEd|erup9SZ^fS]~WKs=33y~BP]**diOD2l- bKH(Ir=Oh:m$Qayph MAPS+ v56 B &yW(T;NXigOZ @UoV8W*qTI!H˅x(J [8UJjPA!"ofyQ#N ɭ$F:$70:lן8uκ٩'{/1!s.("VI: cg@0GF&^YQmbjuwG{A0vzSb;yS9#YP>8C;)# `exv=SZȒ}tq ƒd(ai~{c}eJ m0r l;?54'Œओlr ̖=2HHas^"玥(D[]GRd9)󮞚G^җ% ) @ 8)}PW-ϬLONL\:sutr(3ZoLBIvmE75rYk3/ͬYe)H fI܅+F^k%P +f2qEsLN2(TFLNGVT}a)湳Ã}pc'syP8xqxvڕutHzcjƍ \DSO0?z`\ݶsje,O2ɿCS.}e&wtVl'T*i*K5sfÿo/\/m+VM ]]^\~薫XAtR\4vm/UFM6<Ǟx֟}'F<:-pyb~zr֚.|=kܳ? RV`J-CKL˛xgz@&O(%<8uǶ&+KRm蚞 n 6 wDPi4~Z߹ōgBJ,U*2f5[kD5YXXuRw=NqB =E#sgZ-ŵ۷G7>)2rA -x,yr>*?b}TBxY9ke򌴰:$,K8gJgp gP>,GD 4{bxV [y =!B3{f/pV*a]N"_iACJ')={i^g^VyOLԬcSޓ F쉡PΉ({k!IC+~`UvM7'4!޲s8<3LzU?3uKQkx٧}83U*o} §^Ia`dJL}k@ՊqXw,i3HuKWw8{. 3?o{%.I 2u (^%07z=ڳ,[ aڻormsO.WJ+CY\+y;7$$eȴ0 x4yoAϭ$R-Xй #pskzgyy(T}{k&Yafp@+@z -IZoJfZ"X# [1D $ dÀJH7@i-AxX/Ϭ1 H!JJ%lØgKB2a 3KBK5}o|ޯ*W"7/?xey}'S^?}Rmr#UͿPx˽_};*/ŕJaqXyqg\ttMyvua:7ݼiCg/sjxJw28rj\ndsNJsw޳cZ)όyn },V'46ؗ_\Z9W+O(LGHalw];u|pmՙ2\2(*I]Efd +J0VN+ͲJSqT36q,VWyIDRuDitYy V\doھ33E .O./.N`x0jDžaj=U6nn>s0yri徝.&~q &/ݗ°_8,[fl0SI.KnylMirlei\1Ym~hnRGƫ#&O \; "G<&wG_]|}ڰG>˲3qTAT4a?l5(jz\Gٱz..yHRE`%< D^(&-PK_…-~F^OlϺK\J#ow}7|k:ْvad<I ?= <1'<3 /Izr䙥"Ϟ IsZJz/ ʳ佇 d `ĹP23c!E1ڻN~:[CP_3M=<;/oݽCsO}Wxdl4[osz@u5طK4&]6JԴ+^YՎ_[P _R/Wٶ[W(jvߴkFZKnRJˋdS~L_n/M^ssS|߇: Kf~ёjno=T苷o}9,kfVOOwxnX9y(TE.Hl{M* |cW/NڴS/..__:|n}sٱ>'[+L/09/Eb lL`r#Yenb@nY0TzVn(gV:m5IT*%DPPJwqM8 @MNpBZ_%Va(%Ji @ >yWyכ2C AJ`׽r1i3+ KsIb @HyʆbohK>q]ϾN;:*"iCyXb!33/',(O3 kk]X}ۮy͑]nzf햭C}e?z 3gy1s-˟Z0⽺=~uyeYf$)I 2T6 !'ƒ{x@& B*yXJA .EI' 5e" J:x=rX)2Ƨ@Y DntP5طO{˶wSՁ܉3۾>ū|݇~ursy#[מ>[/MKIrGKŤmRmCr7=ГÅN4s۽n5O>|j75;ĕ#ӵ:V?~VlgW0u@L5y;lTQP 4˗' >fAguz=oΤ3H:,Ye! N3@h8! Th.:TQթt @cc%ْeMG: wz3:)]{߭[j=MgnFԭGKf=;ҭS\^yap4[O'>ʽݗ[9)zP`FVhj$cqѝή]fQWӱ2l{K˨&D޴fWN.` l0^|ۋg+{D,JSu~MHj:m<%r\XTߜ'ՕsOp@\j6.¹F`""0'F9[=; q:ʲ_|ȼ+Q_} KsGrd'q/i+)`$8g!˖Y)b,g k=r!!rx|8+̋vRbʹsѶ7Q1 ŤprNir, s{` R0`ȁsg6nÊp,$MVEHi,gm3V$ޑS kiyhHDm9wkܶqhGk/b%jn^9綿|]ܾs޺'ׯ׷/ ǵ?sFASTL8#m"t=5^ISYE!, ƭ`mUxۦMR˚aT<}2 l8.nhڊVSe֖M1mvƔ֍vdͨReL߲sQp+ZU.W3Օ)m{4*ƷǓɶEey jAySDSsj?gL+oJ?w/>WKffP/^./׍~u:=S;G_βjJ]x= i %q(މ?v7,Ojf2хO>>Gr46]^*шiQL~TX'{SIqPeM[]!#?)9 dT7坝,q>_~n+o;+K)SƒٍxV=uz(vik0uƅwl,e&;wz?^?wrWgͩO4=uNe9"utP?s)dEGmXİǗVVUuRt"p0"ƃsWy ƶm< Z'\J)8T:&8;/p/GzOtV,bIֵxXB;t ХP5gh^d9#N91ͧ1F 4'Hi|BqQx:AF*@ZqNP@ZM@ dܖu0PO$I(8Vn|˗ͽ SY2m-փ%ZA$ђ܇$b)V /nVc5' Apf݉3gj~{}ͮtRp2"tx矹~<~ִo'k]vtVH4LU6,,Vd۲2J)CzbbaԢru?9ҩ*?a{0"6otﰘQD>z1ֿO?@Gs#]c&iϒ:J 󭑴\"D2Xh*FU,w#0NE+MYwm0.!&I"MT0NdlɩA]qyADdR'ubnE]hl&*"Tш(n\޹mwsC0qĕ1"1\?ëo?]5N%ÍUyo;k&%Lۦ,&؈F|sk_m\'KYg浝sŧ悉8tjZ₴U0gB¶ueqOH4+ۯLII[\=j̀U-xHXZ~K|E,زkK;L yBQabL>3{K/,ҎE'R Y%~s3Lzſ~SD,ID[@Q.k$DsoW'/:${./8>LҮ:qfX2D5B >1: RH8JL4>UQۙiwɋlITbmnۃyOgLP{KiX;{d4J(ot\A[p([;Q׺NS"# )xc ܓ1-F3gԟ8*F۞ȋ۟'|3RX]=Oyj9z詇ɤQkDMD8?Y^;uDiˣJxr㊺Zs.XQ %YuKӹB.rz.wA`^ۿsz8|0Sj8?q[ű,?]/g0-oͽ]m:k=8裧\ڇ|w>}N`8 ߘgdP bd]ۦ Ȗ$DBM ϜZQ_诬-ek+B@]I g.̛<]< `;p91{Nʵh7-je\Y>~T@jXW8BY'{C(' fF'-B ޟ3S+ےc+%g~2eErbN&rszw\K~zRv^sqw'7Wއ;&E3,*KTYwVYi*Cef65֐ U!Ȉ %ݰP1fRM*U@ A6ʒ3MɘK(8 rM8&hyv0/M2`KEԦ[ϞE,p*׫Uk6Nnԍ\qfl u[j jj"R2@k+-NMjXZHÇ-Xd]sLl0νD"8s\$ye %3%+A5 )e\u%cf^"ٸ ZSe`BY%Ir81qGdg3֖֮<>f݃CrSS.,/֣rWVӃbs%'z f=VŨ>@xtcWWmU٪I:ŷ_n¶uexWΦζ6D]rO{"A($O<& ru3+ӟ{3lQY!}G˷>(q饛Gh떟 ^Lq4FKcgXדB߭-E3Z,gu*Tw~3iAQqbMmXxKLGkU{@㿻YsX->sJ +JrgiJ g~Ř`TEitlV\~>w_]ٴv18:T;EX:W !gnO鉇/<~esX^X%cvtRrg7qL|SgvۃEw37}msL{5b/)g47F`}u<_[w\xfm~^܂ ѵ6<#֯\P)&\9]zJ2; bk4|֧8)jF Q4.ORX @VH@u S{O^/k<\8I]͍1Yc8Ր @aJ0Ɉh>eg<51~>w=ιJ՟k$0=J@I@+y.@s8t~ m<3ٻQD_8v3E9qm\rXO 1.LU=p+48tFӍT\F`7S vbr#X7[D;9ǃ+Nԛg/}ᡈ{L'shye!ئ--c4Y kη_5$GKz|{d"n}{|X3.s=cm .,c/A?sr{/yZ$ <ػ};% :Y[ bnx7 vG.n ~oU*z1&3ze{o/@-/?;9  Rq:K)L?x @?̣Ͼ6:j8!`<ЩZ^;Hh&,,sv@VD5_IUB?+Wv*;/@f|$ !|wؿ?./L?K_.E›:.ʸ|L6D\sHθwNe]%{YcR콸S &AtL<;{SYcqĄZgىMoÛmZɴ?լu:kKȣ[wWfa:AOA]U7\~UۥZ|t4D[^$y+kGt}olA ]'i56[KX^KX3kSS[.|uxjguȪ<*ۚ3I.JK4 PJI}!p&ʦރ8% \j.C:[3df(BmMNsV}O I,.80͑䚾o pM S ;S-cbRWe깎"qjxŹ*a2bI>WĹbqAPtVeQ$R : \qXT@x "g 򶩥yH6A+5\ n\ȎNb|ֶ7SŒ~T6t!DIn鍳 [*@ݹa8%Bk`lp=Igc [}G߸;l,Jqo̕+ `.{yڝՙ7Hl~~أ;~ `Ĺ#lUv,zl[ZZ|3f{z>=z,)oJ_?v g_O;{v/Ǟ8 P3:yt‚;#OQG;o6@Y'_8_3XQ0D|>yA`K㸴ݿ \x.}EHE[<."I"4"8^ԆR'Ym|W֍xl%qow3.g ``;@+Uc@#|0+'"p D9(0& ?r 11F# c<boGu82tԢ(Q{excZ׶kv"=W٧χHLTƼ5+۽y7}ͅԭдx=~.d[ݾsa 3s|@{|}.me_7p9_]r{Ms,h8x @z}nO8Oiivwog>wU]vm)8!)@(!@AQD$$G1Hf1 ƸGUmt[w:{wZϽU}Ϸ9ҳ]k2:8q1J挮Do},pmrZW2~;ws3 HOF? wgNxS[/ͫ=XޒWk2T)_w'? w_xlw X7Ms$TLXMm_+ CfSϤ b/IEiiq!HPny$i,|&}捽oVɩ˥=]KQ*e~X)AWۯ{tj QYb{3$Eb\Y'VZG&`nҺVA;>czwASDHTe5׆8S*NW<-SrPiLbm|pq'j-(ۺR]tetkǣ,ߏ~y'$1Dpy*fδ*JL@RXGyTU/|߸wo ΃F=+mߛTOȷh۪1)g~'?ܼc]|0(~l"'D2>/ |δ{f^vb~E\M/89Rke$dxݫ*| O'^it$d\$QziƚD2L :Vl.bHo: u6rڛnJeU7\aa|dvG*ޟ^l|uhV2n"D FݮH)$[Rlԍ&醘K.Mw~T&oy%Ec6!r1!:ӦNs;1'0kZ~k [}ge[np:wԋDdB:\3iMѬ\d_Wt{?ۉu AuH2~蛧Q\ :8FטZh#<].ۧ0368m`MDa<!a#l@M\x`4C `@ f؄l @[-Ag;qV4z4nTao$]m'R@+KoROf 2[W6GSiZT4~ ErNʅh|맮'? ͢Fa_ye>ޛgv[FM}燯E.ӸHtDzzvY\'s]=^~~ޞ<-UyC/X%IK8JcYN'bBØB0+<3hKP 㳳G?/~8?'ߧ]-D)ٙRNj}R:_}tjq2 EkK7]Ohl$Ss?mCBU\@UTGU )H%y`';SUOp@HNh.ټ`҂kcxF6k%QۯD Gq+JDž#`\8z/(S ,a;Fn!X+smh,-Ⅎ$Z.ʲZiN<(HFtEzIt\duU j 't)p[} "6:J"a(qJ$2d:-c [+CJӱꩰCrۺR$Nj(]Ve8>kBx:.V:HQ3biYW$0 IDATrBDBhFNcdj N E$CwkR<2LblMhle77^f]W B2";dm3eL_X>d"nc XxYIE/ 1(V.̱jDHEZHx{]W[y<*tb &0I"xoLDɌٺv7Q"ƣ  p xbx#vz |i|Lȳ./^_O|Bnc?mwGY_ѝW̎o+ w|[?[okL7Tpkn@:,NNyX4mߤϮYZyP: xzv4?8$ShB|ѻO}Yb'h<'nh>yrpE٣" cc#.׾PNn!Kx׽ ׮g[G'.O"ogl< wqF!ms<{X {aG=;/\G޺72! `iWFGĘ;вib8U$hH;Cn s$>NSziSiecL|'l%:2Yם Qv%Aq?iRi5 `FR&'K.'מV齓Q1+Dl#)^]]O`Q}Diwcb٘h3~%(N(v)JcsZ/4Z,2*E%Y5}&^iW)zYٔ*CLVu=ΤҵDe=޺!MhM7 DɕerS|x+۞d;JHozdza!g ")|q}qq $fV} l_7@!\lB<_X`&lkiyo?ysdIT@ῌt_k$#jXķƓKҾnd䭁o}gG?1;G~x{1K-\Wy zͻIol+QIԺmZǪ5b0,8:cYTM`oZz}+)x/&`o V:]jvFV (K/olPPIiU/8=MHliz3մ @It3-?ze'B :c >? ǻ}@,_.pu捿po?O|&D6@*Zއ4IQ*T4y-؜;33X< >GFG1{dW/g:ψIB*͂f)0tD=ms1jNj0 08-q?ɶIR!Л7c]$Dnt8 Y" x8H8}o\<:XAIk}kc ;$JĩZ(.`ڮ+4Vظ.wI6kuȤ: ,Cב_/fGHH%!YQά ηΧSi]g'y"ҲXr{U϶fvMl<5lI{!Q0޸fX2OsO2YE}o Υbk IG~gZ>Șl+HNE^VY Ekx׍"H<`>-%E;Bj)T젮@$H<#H3R6KK_ އT^}HM/ "z7 !9__홢@Du8f7,N_޾]*7&u7qDJXgrQZZr1 z5;CY\`'\dG!/+N( {fc}dA{u?%5ٮah:ocD}̼q}gI2l_~9*6y2NDg \5DongnH`V=T3{Ko\ /f,!"ςY~|p{~;ԛ l_|kNN 7nc}FȶiDDLo =a8ՊA8 N)g:>HZδiXҺo8 zS6HZUٵS\ozO;.Ăy58wo>|g>yZ()cUK&^f9>ehj͐ahUV>֦_ZwNKMGҴmW橖xB(yF,Y8g5 {יςCw!eTjպ(6"H'1aoܮQ9t!R J!k:/๪Αy1}ze=H6.a0Q],h'd<8RtyjWIp}*uI<EWvnw閵>R&IUX92=x=wz.Κ5'?}}I%.!W6aQ"Ʉ@=I6.btis̙>CG!|Mdo~|pyq2n\J`võ7Vgy×c,1L1<d7ԙ=}wxo;_/x?m*ZѺ9>ǟlg< Djغ:C$ds0.Ì JF%\&v"aoS!ȳ$eŔEX:nSM AG"sq k_A?2۝w_;@dNn}.rclmOC#%B5th;a|2ͯ<Wn\mXne_!;L :@涻࣯޸;Nu8tmݭ&Fj6Gzu5UœY`X<-ThTq5Lyl;O{fVdzx/،3.v!|mAW\v-+7?>{?].&o*_iȉGqY .,NUW=hٵi5tIRmeX=YDMcW#=Y.HuZ>=H"٬ һʄ<тYhmeFk L'/W~>{Ait)VRr\֦ې|eo1t:.GU߇O?m[iշ6J#:rMg|jUQ;;t-gk1eOF1tA+>)u4 `ٚj-&(#:U7lA6˪/ݹ!0YrӬ7IҼLH/j-/VQN.Mݲ_7NE_"vʍsC ACk]p?ټ[\R4r-dv"Dqu|a" k}I't2%!PQ..1 !e73HLB/w3myS_sM @TGIwRn kq@XC 'QT'a^pHY(~o0),,0;m!S^4ж]]yFe?\TX* g< h j GEx_n_y>I12mkCk߅ZMX 1}қ'<S;G2m'SC_RˊփD4Ҹc)=R*YvߥT}RΉ ~8flsG;iԊn\n<+oHvQ4;ZCVqﵴQ*L/VIso|tzE( H%%RCUw󥱽oک[פNIAMh,>/ҥ>l >x 33U(3on8]ek#0HB )ORQ$PXipԊ8)Hi:/i($r@B&"OR&$E,yxg2x ZHBzro/ݾYwsqx )`_xK4n )ڦcW΍[Vi!{v2܇@2'[cM@`gP9Fu+(R§֩R&_ǥ׀ulN.rWy4sW0͹i/8Ns|(RˠQ93׷ԯs}BZo-JYEŴVY_V-zcGJhҷ"#H{:cE*0P(Lcy?.um^7 32+z2R!,.67}2<ܙ a}B"tRGPZ*Aq "")8](Jg=Ű }_ϚO8!^ڣy9 d<3X/VVZ›zNwcqx `{l*_$O}+~o<>=ye7'7TM-+c)[?t_ξsݜ_ n*'O8<͡iX@OF)ϼF#^ $ӭ<n CBֲȻo\ ]ljfcݞ+'[=^uS~M[mUmͼMU@TRdh"~uLNj⮱y>ovNz]Y>H$y`l6mEb8IH?j@aYR};㮅")e9v^]~VH ?BWu}sTB4q'A ! I$Æ?#0J˥-}s 6 .]⊈Hhf\u90+BHâk6B<-$CR$6b8}Wo %EvEΝqSpAȡ3{ q)lgl:;] \Dn$7 IDAT|t,4?j9ow&NGӉmՋ7fcI!%v윥̵kb)% R馻Ӻ&o 뻊t %rZD$ڽt`("1[x?2uL8Y7ugQ-QiZ5Ntek[BNWn~|/~:7tֻw%~EY?]Ŏ21m `M/k7xƕL!kKl敿{\utxvӺ#S{f\y0v ҇c6H:͏.Zyqj |z+vp:#j @I@"#MO~׾045Åp^@ #gXo~2ԫ%+Ϻ On?ctjEϼ{ϭ!VS!sk Bʳ ^1zd2Ie9t Y@忯[)hT=QGZGbuzrE-J /ȼeހX5.v[Wx:yp>o=^w.r 2ҒzJ9}<8sfjXz Tqݙhb(Q^(Q R3;=:J-a+X;];u['ӑ_hI"^}c+ؘXDA>\gLHӧ6ݻXQZZ^h釸Qu^{;{k anVՂ\6Jyu5 Q'y7n|o| `ݦh])Hd~zC} ]$. !zLe 77!ڞ N%~: ~6<ŸQY6y_+/SbE ([)6UY0r;g%)RIn"J 7jeY $L=~ce ]jveJ2݃ˮ(>r;^e={XW>uxQC_}ӟ9u4aFNڽ$Xi0Ԑ97k`Tn#5rj%|=~Ͽ{{>o"m{??>YV]? O՟WIUViFbbت5Yt&z䜉`EWɈ̵dl=$[7"ex|D̬cg8\3v 9X 3L<('Rɳrv*[=_l?ۙR8ۥԚV3$ڪi lQ&DCem'±hz+4UuAkb!TХumX-O$kq-e͂l]Mk^=u&4F l6 qLš\'/PEpU*Ʒ CL@b  Igg=y};buGuջv?L.-WmMYo$w^3/W+ئ {zgHbxPGZb t].E.ɡ3&dJm$d8Y/fX84VJH*qkL(KF;='R{lbDw23 !G!xxF"NÕ@D=Ӱ\ -cP"~@`1@ѕsvAS@ 0~myf cX?C^@|X}my],I7{rFcS۝$R(œA`&J0i6a?nu_;'ǙJQF28I1G^/ǃ$ٴ5}g1g[lU^ˢT2P}6J%l!\q1ztؗL7ñ^BT Zp5M7#k$-ɋ=&%pɑ lueݶVs #βho0b`yӶjɼ(bT_ ^mqx,eTl%0Cw;? x T3K.s2x{Mqփs {ψvGg#kc;ߝc[(eoߘ/õ}!jM`16`) ` {Y/ځ'" xU,jc`WPxD<}Z,AxW ;86L'21s)TM&4;Q7;(K[v|B/#fwY_h;a\ޑLoV!&|]d4A| 賈<_s1Q̏]!"eu0!%ih!A Ţi'qj4=(6lUPڜgz$YmVb[<ȋG_}E0,H'} n]M\,Z;?JpbAh :\bN*4\or} @낷5`۔(0ƶ9^]3F=qz~ @^kc@ڧEbTlr{O3 O]5IlZʔa%Y?IJt?[9cvzyr=aek]h(6:u yqڹyB ɃtFxיzMM; LئrrE( ntW\<񉈋-JUi_mYM&Isqn[Wn\7U-x8U-"OCe&b0ToqO-~Vwnڷ60MY/]QvvqYm\&˪țFv݃$_<-6HE~~Ї_3|=;̟8^؜ޔ::PKE0n|ˇ @cgU/^K8SXk/P~I|fqH[G*  dp]˄hArs~rÒb{w-8K8X_wgmV_x??2z2x(9&6_yo1t"8=t~C.&OUL] B26NlUYyY*ˮhvpR8@ .!8$1Oa9}G՟M?ĺ$eǹպցEx+"!j#!s$)ςH<ݿ~$5,Snkx>i{nLY[DVz% %*btSe\:Z˷{:PHi!8p0NͲl*\CΫ-3o L]1/tU%0|epB^(U2NxU,IHJ&'yl Kʐ[M֫5Tl.) ~znlX;y0{9L}[+q6ΰ@1!g3[%- ƈ;oW5y3nb!\o tyK bw>`*歫7nbז4ԟ|:Ӯԛpu9K">!Wt|٬eae 3:1+i;o|ЃS#'(u#D{WjCwͲ2f>RGe][fM`uI@p]Qűl%ًS6TEQEbۙpk2 d됈٢t,9/q_XE<1tzն,=?m[RX/DV smZԛ/yp iD]H1a4k_|6?/7{O%g~w/f~ᙢ``U霠[ @elgBYͲ"x}:wQ"faL"2՜E8 146x "qVa#6C@pAF mYj  vZq6ɳmQ+]Q@$"32)Dl4(.pynFVNm:gf}I2ϳ%ѱH$$T886d%L'2I'[z:!CSA&*'Ll~v-]Ulmh@ׅtǽ{DpWoϣmˇˋP7!IW]eUzWeJ$uvѱL1jq~3-mQfI X/R7L*Ή"\HƘ: #N"$`iYwZպC#x"Xn5oeއAa7ʥfkp @-!qs'{GW0Tnk_kˉu3{< ޿n6Y*S]Y2MDdE9߶i䃵5֬Pw՜;g4nq(q ^&JU)ۦX~ E7ȏxZFZ+@ \lǓۍƯoEwb[GFXu[+ = m]T~ ">}.I`ɭ0Fv ഩ%w9x[8:xQ !&j6}w4/^,t(jw0ex4c^ @2p8<4몔M.UeH)`"QO<b ƵX2,ZTolm2DW2?lu6m/5fiW8ͥhV١nuIT:6B s꼖!fI2zT,BQea(o~2l*rAd[(eE*$qhHq]kن80B/J=mݞTw״v{/v[Uu%(2 18R=x{`3N/ngL]5*򨸆ܜ="VÍW?\ٕ?pS.-38O7L]OQN'^EV ~2WuqySh\?@lYխ8!Nb Bygu|cT<.WVi04MEt4Zm'$$K1Y 2{g_d 7:""gqU[q]?llGAh!tjwou{;=K(i/pa?ɳ1f{x 0H3Q-((:'EvV1.{R8`(jZ8t(dqxۯ\f[*9ܛvOK~_?FMI_9he.t[mu7׺KD EO݊3xo/Ov#LtΖg-l>WCwǺ&Mpk?7T <\kj3$o~6]kvP6}┻a`h`ҡ6kI̸YLr֥0p|W~?I۹!_tołUE%X8lx Z Un^/k(&in6vibR'},Ӳ]S-XD"N+./ $cʴ&*Ţc]1؛8ڂ4'p0,6ئX<ɷ'|1mz`|w0Hpw>c;io7#sسb:<[RcuPIvbWC8*/wf]m'e[ =oVR\cL'"ݮ??LTԸ7ss<FRc^Yĩ̢^nkK+8 g]5!ϲYA^6^Ù5Vnkng6֫^,!պ3GI03s$^()25ĬVu >/..OT3z &x8mXY)lGU_\r;ONl."%8Qۈ#8&H'ol32O]E";Z;FObз?_h>1??s/~ޗ$:~xlΦ<Q_%sf~7"&cQǞ4 #cjVV1.Fղ̝uM͊~68$=H_ ZlNFD&H' w"8O|-0کꌮaO$*?" _+tʆۑgmX>~c7),!7Jy[|<p;M@IFY@t|ڲNc|KoJsUS8O> *sQܹݯvhOiQ]8&@H\4-}bktIԏ$"gnnomlmYaInF j]rMJzsF^[lic5mA!8ƆZ݂'RG8/dHz]Hy2"\2N7 ]j$q]Z>_G҄ƥ ^B_Ru$6(pރ1v; !<6EUP `:$NdQtۯsG9^ĝmf{g&Q΅ K"Eei6kUDx;{9ӂ^ khY|"=W/>5P=z3 "efK^SmMPh, 1N__44^>Ț"Z1pUD~ecmc XCB±Rl68<˺ap؋ڶi/nqF R:M.ԫUg[U•߼-/|2Hzht RuJ&m:{bՌ⩒(Mj(Yl{;'D*O$! K!Δ^hؤ a @q/ZfioLJy"6zY15eQqzN{{Ixܻ(Cݶ&qnI̹Χd}G^궴Ggǂ8mQ61`68DI!;ؿ9v&7Yz{Q9CpuYqۄ+2ׯ? W|fo_ f>{wZnJpէ(x/?^FdL`WI"roهˢO6A;HfLd,u_d|zKF e9K~쪜ZO2uL%kZRoZW >9ນumUh'PGԻz9Ugޑ Dqp[E=s\:d4*VLrqNr7L O4vqlX(+^oLO\V}H EcH*7`mH;ڢLW=}X?/oU~wۊf}ͭXJ6j 97P$tVݯf(z]肭.O}/􏏾ƽnu?j;M-uPwh`W7cJyh5k]+:Ϲ lcj@pgKӓR*[7+8=}pԵhyi  ~olw-Fr9bL4eNd]H ۯ<26O?{*Lze0aTܑGh,ΈS'aIY_%1'AqVsUڨC8KumHs,ɒ0/lEKjYXApҮ(mh6R M2Lcvum]-k*.;\*1u€+[u"(=vIP۶rVDI%7#۫uU4xUm5uL4i؜ MgYGɦ޺bYO=*JόoבP,sl0MriTۃk>";ﺍA# 9}Nt[@NH1F`_61.vuA CtuQ{Bo_sL5[7\ovk!"ɂ^}`UÝ?ȸΟE5|Ϗ??kO;SIgYLyEm+COU;LưvzEXǥAo/EB}`j۴~B_ƤjmU=SEgs#L'_^E4h'utf~?]^^lx,=EwN3ˆ$ {N('fE*Cׄm }~Xd<<-*m\("8֓F!,K{3, s?\^'d$&|10|7n?;C5S>b_{#1PgNV݅=.v;ļ.Y a'ɰ."#oҸ rr|!)xb"ئY$PԇӠNۘ Cl6QcyQ+'Ce6E1I cqm'ђChs07,}[zmJX[k-OMd./HH[\cC"d AӼsl5ԋ 'd]JkAzxu/]ޘ#V.+6KٞRs 00qܴ\EQGqZF下U֮W:J <2ԡy خՏб,W瑄B>@S=1 &#&@~G: gt]${͍1='ڎ+_C<lWi$m+nZ6I'o{3n|kM&333 > ܔ0Gp.tz/~>R2Vdr`:c6-ژ!iƴ ?ԁ:F޷qϫ,!M>\<tx8[^vtvxCQ /V竢Hy7qT#u'Xj)}b|_U[1"&Bs뫢`,c$d82%ZKBw4~3^$r`a(Ok_,>r)6D izw xٶ5;^[;jO\lY.7^5ȐvѸ. z6_yoărW?{T˗ˢпL, Pk/0|3Pms `ϲ=N=ȼ?0W#Q 0Z.um^q$z)յCB<! DM)TTd=Gbv$=|~?hEs0_jr2G-yɻ7Ef6Nz1朄`+]0Eq b['4<(bdDs!< bU8 K8${Xęȓv!qpf]`/6u5fָ1 \$IBi=up6 1׮ԨrdhOmh|(({m m@mv& 4XOV:(HX:z]4M-b0"튻>ԫzL+O,s =B6;Y~5EvKFDG3};|!F6\g୵cli{*-f@z{emyzH?j}+8.BpCJ'N;zcķ1~Go3[WQa80m$R9hRkE1 \c;6uI+rV.f] F?_C*t$|[h$3]u8N'ߜo^&N3{'喑d׎(ֶZr4f6]] Uz*c.z1Lygpgnݲ56dIh_U\^NG.WVƕk/f&0j<>x}٠BbXW>mxD2ubKڔ@1Ĕ2 ?{΢tzq uX{a~]/_/zX:Vf7wl˅$@p3`Z߹鏧,p~ݮYlܞNK=I‘ AQО.;pu^`ua|srYЏhgw"(in 0-9Ỿ?K|'&Ѡ%]V[R'',x@W] H "Ll{&!N  >hg۸z'Be+=v%k gAIAƳ,O8y"Lw2 z6v{\"'@]ܟZg ?O|3vM#wXPAΚT Rm8u @ee5bY!{o{ kŦomGA˚*V\:e,uyҵ[O,[8!BLDuixgLk2DqЎ@z1PAW%ǩ&JoP?3yǷmfJוyDہbf>:]{ L]nYd8h)p T`Wu{[dSXy[ճ|쵹n[oK|MӅkiF!ȇj#Rʒ%΃q"1.zkEj]vD'C[&y0"NeJU{|eo6F|b'a}vrfd_E ޔtfuIQb*"ʽ'oty ].enG`JǫbtM/{olkzw {< ܱՃj&Krdv'*`T( S(\T*qbWb;$[,eZ=޾}ŇPp?w]z~N4om[pN梫 kv#n_cSՒd9H3%kA G3_;k"ֳ>chzK[z9<進xp0~Vo:)esYe~ 9LT&l)k{|c8Ǫye֋E%Tm;,ra?fG&ؿUU uzB?fzUuV$N?bRá5ϗi5! Z gYgכ g’_tEQ^i=cޜaM YneL[ص`J]@b)UqɃ(M;LWnNrGFr\!.9ы#.GNCshF@cs"K*B2Gݮsr5mm{sG{^&# kf7>pWCa,v/Kjt CΌ5۱.!s֐Sͽ z%{cnj Y.8Jl,V5k0~IEvlBp׿: HBh_" VcIZ z&V+dIۘ*q e&9u3{pibSWF0iuxCm:KBRHFe5q::k{Ug]A1Y7vԶ4Y0`EvM@t<8~/GGJMq)s nV _׼E^@$.`FGwsfmA n@c̃=\u'wLmIm hsm M dт|.5@`Q(L^6bËX=|'o-U>r6܀8iCjZ=/,\SgCm@Sc:"a$˄Q˦]H0bNu? ;|UE^}2j_+~ԣcxƋ͢8r*b ܚrM8c0Ս*nJΒ2*@Ӗ3CJ=oP"m_^mk,*_JS+ |+Jq^"^Ԧqxs>LDԕn* ?4,_ͻf8y HQP0Ɲ#D`oM%Z%;"cxlCN_[9Mz AW7]-2؅fGG,5 WN!wE\ G檔aώ -GgW¾B8Bb5"aA3Ɯ#k-ZG6#Q ˋZQSW٭O-齳7Ɠ8 S5sjO7m 2?F֫< $㒱fC!A89:uՆls7~0.8ȒVHݺtB8,VU[L-G! =x0p.hl@r.7Z zȝ6~3nFKtzѲU3A>_Z)TUG9X0ZPp{=4%2/ Jd*<~`؝qq([V IDATOi\7oo~؋ɴ#A]9N1Ɣ2ǩ7]Fa_ky>덨|W{̮pp8 Q,}U;֭q᭬7ښi!zv2o*\r.7φ{_/@?8n:Dz t`MZlښFi XE0osq^"4U45Ul]wec"=:C%2FuX`=?b_~#|mLo^k?'+GME`F~ RKTD^VFU-pm`b~'Xx8>:em?^Y~:8Rr `bdk %('=u`!̶["곟^F/~dv4:'c~yei/N˦KF V-E;բ&d*^-zdʵji5i#|ԦrDmЪP8vڀAv 1 un/= ڲ3%C7T*<<ʳ`'e Fb9+YuWO~jot:FWms(rsHkj  $c~z>[ i?CRS~!o`Iy=68Zxq΅ )c1 yTYGQ{#mEMZaY[d|#;G>ߺw᷊a 9;n&_V}1tJ02- %%3ȘeÝ:Vlp̲- Yh9~Kh|a1c[eZwIR``v[Gn7yF"ݶ/;r YkE@ۻ 3Đ)qs!i^B$,+v9<^}MܓZ"Jr:8/M?3^/6M{|,3zbm/C6\gqIt>Gڷ bY4`iA\K]߄v5<2$nf[z>y`gd}{ 2w210c{ZTť<⣛:['$K \*l[5ǃ[ܘ4n,Cɣ=yE>[φ]oVy)*q&Eun5 S5:};Jϟ?g_}Opӟ~/w?>Ho m~˲s|Q&/9 AX'CeV:>vukqDPŽ"Y)D-7!\,3v~0 CܒMH *L""ۮsfg:E#Vo͟rlzHʬYu/}.SW4,-ׅ"9|O%h/ rlGZmy8 p[18s\u*xuq-9\AyQ& G[z{˕vW<$lkw"V 75b:DMڽ}AFPpFdfː9YkAĄ78|mW( ǾŇ~/_ޏ?yw[]t] dQU?J_"8޻q^t*;wi-buյjttY-A>H_."rV[csr.e}tj6e~T EvÐD>`1?8bRy'W&eT=GJ+uYvdoei`);2a BߑY̌Xm˲WJWNh! 4>+r-?o Y|dK|>#2""2C$@$'pNlo#1hŝa#h|*?ͿDz];B rv':{eyzܭZO%~/bZ4;oZuV|_%# R kVAc8#[Xe8.'A:z!:H!y5|gYLIbzҔK_&CyLZ pI@-ʕya{"bX&d+?y-K [fiY+LxaMu. 8ɄG@k5qZVefC)њ}hywno'8|%1g`|0 IxrUhv2 u@oPNPp\]^3 -P|p ƙ<Xչ ^OZ|Yy vO}GBh~mPe/9;?ӊzCؠqś䧞wHv}9}9b?:޴u|n2PkM [[hU^$QN;k|-vmwhrֿ>/\{\j(ヱ*C9ow5wKu]ר. <%mQJ/<]oi_mj$)B6*mľ{ǏƕżQf6{ Bִ:owT{X†"m^.s?#',^[TlYSQ$ c,KRϼ?2E"fLF|f6g?RG7qvms &C"= %!9{eꥷ :2c)own NiwunO BM%Hĕ+t#g رv[fɽ˼Up;zخ+;9Yȴ\xs"HY_|矌n>, ;ݨx` km], .U-0Iq'~'?V|oܽK}FڹB e;C+)kK*_) <-y8"hFt+k=XtH7y(rZIW,`rFA54w8󒢙FTu9VݻϬD]vڣnnݍOwuE\_\<[d4Mkz&~PֻLMJ87gS`E87SG>ޞls+MW8=ȱ^:Q_k" ұ/^{4Y@R;͈Sސ~?_u/ 7E'YJ MTKլ2q|ق{,ڌ4iя @~ y?VDlhs.{)21Dbq . }B|lzWv|ۢCD O&6M 'v{m o{鯨WI]Z|얝 1b %&D܁ q[ηO;#)l;238[%˄$ADdN,Zp[G_zE>o.Ec٬şΗR4Q?8\Zy>_'cm}]nL t9HFqۿ5{޸wg3} 6{>q1[@-;] %2 8I5{>g~rwWټ{ӹǬF4vٖ";%%ͦdRLȉVQQߚqFJIE뚸nʮ{8[iCO65ݪ3tzQC?誙&rx:D^B7M+녴()iCEtIE-֤kŚنA zQ:{݉~/_w=UYrɈy#ؗ"rtI? EDgb5g7or|~z덓Ak1UwF ҡ75-7&msV"s@5Ƹݻ8{?{߶-I?Ƴ[bl} `=%4KI+T1'%|[wuh:Bv ,cpӎ WNWuWr.N |{JVwdp{`qk|81~[GCՖni+_ R}rGĐ EdW{A!sAȕ%qQ^ n鵏^o}>cMSnIǡx~d|=. D ÐAvtNezûgUu?N*o\<ʬ]Z9Q IDATr׉4S^*j%&Tֵi5޺D.bV([ffv]/pNdy.2, z0Len|`,M7iߙrx~oENLJҦQ4# iaSYso6lѠt @%fꎯ@'Zܜ}4{xZ F T 7 Z?K(R ta "ouGrv݆e2A弽xdU3,H[n^4|WJ(KC'c2o%^62)= v}o{jbWp4w]9"8c.Bh7uunic2TvN\],5ء+nI9wׂ@t-9rqtğLb7޾ $zUrv̆15QpȋW流 |#fok:sdxtvU6d xP״4/OYH(|k" Y5*Hak.`tG ng&벶R.=i##pY%7e )x z"u}-ZG~8nܮ3ku)[{f[Ϋz9YnEKtz!l*֖X*[ÜQ耙1t6$z'|i+U^`V_JUˎG] $D*d0 *kG W# E?@ XlLgu,u`{d|{į=>S,6~eKM=uϵO.oϿx0-JH|?ngw^tݛKDe泟~3Ӽ|~#lH[po`z5O ,x)GGks3p]TЏrhEB=(5gT~?jvPu7pݢKL?egs̕e^u21AE:F1xTsæ}"LFI?4y9/ʬ*%UJ n fMƋ@#llZnhMh56,4X 1ƚU_n3/KLַXrs߯յu4M w68G9 $^6 k2I8W/lg|^i^ )K_3a?{g Ӳ?8lTjܿ_Қy&HyReLJ]ri=5&)EAjYhi+8us٢ ju@ @KI kӬK!U6ϖ~ʥCb-h73R'!<wOզ*2)QUAC|-fE<2l1s~ٗ>{)W'^FC'YPUM$Ynz]PSZ!F@F a@KQHQF<۬0"枾:$Z>MzL&%uBEVT6#E#<'<4 hpÁ>Oq+DkZ))KD  %*-5)Hk@DTRks ےBb:-Mv2gh#k͢A?v;?J +wݗҗ[̽>eWu.^s>@Sðf{),fÑҾW•+_N.s7IFlwMY^Jqc8RJwǵJ=ao͓}-.@X8oZI1iTaDeNʹB*;=ST-Gb2KHIZSk (dYQh:a QIz@u O~Qe 0[)ȹd(2RCňP{0*\U 3EXն.u_\}y!J]VuC#˄ xq/AEqQ:2be(jEwy!2ЧR1j3`("}?!EV,hMb*&kYQv Pnj\{_CTR:>3IVy:coc^bFT iDk[&P2AQB4tu&ܥl7 ] dEU[B-U}$BRMs}Rk$ >s^G\}&6j%(65j j0J!!͍^H@V18J) Qk!MDHJP% FU-)#!Dex! %GEZUɲ,e]eN>꘎w l͗>z~k5o sыm߸EFm(3Q1Q…'󫛏:N,WBV^8Wi!lskEd\X.uRU]shI@ 0t I}x@ɀ^)4CVybݴH~=5?oL-tZ'g}vDb5ѺO,D;Ǔe6w6M!qWz7}|RÍi;DN'NW lbFxwoj_-6wzہc}[tNՆ*mj jXizŻR&mG?X޼ٍjczㄞdFS|cWL'Kjؗ#꨿FPlGFR^_il9y jE~g>cWO\fNN&T9QAdTQT{iA#U嶿{xAi`QG'KiYaklv6igY([TGe0ϔ:^89o?w|)/U!\+)%ĮmuU[^XWaq4~#R|x[k?k_>ǾhumX9TYoԠ $;2<{كKXR[p%}mA>h>Bjۛi4 zD^[[^G%;-meNZvviy֢&Dv*K]$vrV\$Zʓgely KZlb9A՝FFkE“El2xbN8Ŀ:ܾ\H݃pIg@][ֱEygh瑫--~u!=:-X獢ұۼ#.?ԓn0cx"ښ'f/%Ƒ\P]a!dvX[{Tb/ r#Sito;%B2,f&^w:-yHFiQ{3pcܟAץ v[WJn^h c"-rm*$t(Neo)>^\͊#q蔜R(Pp$R%Zu9Ȧ#7& JWRURտ.Xcl(jYRɩm.)-G*QO'N3K똖?{fZ6%T3[hFϜ:j) o.*E\E2'=++~w Y.YuּkCο2@kZ!ֿv 5$U~4)k45f`K_UM&I NR F@l&"8GНCsDl7Y@4!V3"U B !4&DM niu/R8^.1dPI*u5'?c[è_LN6[$f[q-DK nXSzEQԒ'p|L';&Nd<^YlU߯o*Ha ׆#/1[hrqG5`Sdd=Gn&ɍsҭ,0H8{W\[KLdM?|卷 /^ydž7k^2ha,}O2O/.)ɩB#n];8|b!u_'E/ѾLz1{'x IDAT6L+!NsZ;qbj#/?K V^} ">>8g9=3"?@w2.o 7xtiz}Nd_/etV%X1v>Z]iIsϏLXwʰGL'Mir:)~/»[>d3So7~ճ֏Fկ=zf.*;?/@Ϝafov~2:mqb_J˸/>#>mK߶<뽒͖k[i%ޙd}DG7[kkuYcIL ө)4~ v QxWE֟0K~9o耍LZ$)Kuf @߅NE TKs7t%oxacwjY+$( 6N_P-H Jn%s#`cQI(EРJu&VJ"!Z+qR5`p=XiWElڡGKAx!(/OS5}d" ??wt9Q=`CGiax8$xv5cq<.^~,Di( a.2o^]N.}('(O~6sM,eVH8eM7Nۗin6s2 q'7BݙPogr>ڕ#'Gw{4sjӄ;O֩'{돒u_̣-_m>4?|? K7!ID`㇛ta<ۖ 8q%i]BOѬ80ȇ;Cu/aqgQbqlo,s[?"AZdhk_afAJgبXƌZZfʷbd{aYlbI!1magx~8~p]&7ae1MӵaIVd' Z$x[n-~nM.zԿMs3>k6y~(lZ&ٖ5QeKqUTCֶBVYmQ)}],Gz_{Su aP~DJ>oI:43^W|"b+oyZGcKa G5ˑ򑖩M:jom/#3{cm~o~zȻnuFLDJAXˢ?vZf:>ke((/[vg~c-#"4*:(`Ef(uv/&`ץn,xLo~ 5Zqܷi֟$ҀJH 55UG4샐VՊ R"(8F@H 6:VDz,:h-ҷ{I6=EkMUapu}on,i䓽36 R~H xkǙ&0ۯK*f/N|Ak웰bȔyP`ĘW/2ŌӺ0(2Id,]I Afǝ*,k9)QT\RrB()18"xT/-jԋG(,KW[QՔ)7< ["臣lu 3C4/uctvnj^IeBӼƪWU 3fQ/ӵQ%Rb'X!WNkMPľB#|mCl*_AhԨ@!!Dn@PѨuWW'Ps/i,1 CU6RD#Q70jLi#1 n4{L੍o?M'i}Pş} |xt7R$e⥣h`vnO{/M3=/õKWu_T7Yl[G8ݣTXg'W/>.DbD=g3'yq:O4s?arL qlW F:'î㊸*~IyfۻQ+5ڝMiEغ;?ktZ|ty^Tӳ0.9V] 7Il^DE\ʓ,x|?|+f=axRΨ΢-x~ZqF@ZY\-:"7WNǎ;7w6g1]u2oȂ_W-o9;A,7h4ho8n6m͜>IhhMN=&ёqM[w۽*+|?<|!&tGA@D+jک+dQst\B6[Y6ĴQUZR; .fB)QsBNŒ|,eUCY /2FJazfehÖwss긆uX&QMRO_S'Vb ! 7eY Ggg>GтjRrG\O=O}me}]y۽vȉǺӿg',|G{ZZv'K&I]Zx̎2&;u\XU$|pF>ݶIaֺBYǚ_uX5v7e@I)A ڿ޹A [j TZp!xԜ+(*ADE4jiQE=mTN 7_zV+|0~Mew?Y<7u٣b7'|!ݻoUyrpqA<pB?<jvfE;ٯtŗli-$`!:U4*sZ}p`}FN/Y áA\e e5jl4F\Nmʴdirϴ7"v1/VgBXQG-YPpݺ?m\={ݗO].lպrIupnҽLΊ RlQU,?hWf`{qo}BvRk/&ͥb̅ y$hB# 6A]E޾_`Qd-8gEmZ˲^LIWKg?oy/AO-y'zd|]( I˪E$Ml;}Kg˂\Ӫ=j.jpԂӼ.2-ark;ݝeo`$5 DJRu262G ^9ehDƔRs0B֌1sALV+֍ҠA"Uak +ڪ-$)6b jɑμ7iX o y à^ihn߫ +2V!@UJ?\+c+Ϻln|ZAde$z(jt5fJU'KBVRbZTRDB=7L w^ j2ZjhqtG">3dGK7"%{p=]N]q pƼӳYg>=vڶѰl3l y$sJ|WgsFA7Q[nU^_Yē^tҪg(E;l;c\Β(d=2qBn̓MD^ qr^<̗HS1;wwd`VG,=zt[9$hdCɐXMlz:. [~)14NhQϲȷ“$p^|ks3z.Y&î-LJY޷_A}N*wa,C狈4քX2/%jyde!M-Icj3DbnsY~O& ՙI˔TkS@ < +Ye֥bqV6(JKUy bB`$V/=DCeveL$ ):>2ɢNSI%w-9$}/ךEf.c[KHeX2;~ 7V܏ލ'_o7vَt.Q̅S4yQ7NV"'V\"[̒G؎ݧL(u}_흔,,R,w2; wף`Z+)8AUYʔTR45!)yg^e<+uj >omV' 7on3EXyAR~88~ḢW}͠j?he:W諑*J9On BJ+DAP@Q %s:M4X`8-lԪϖ?=?)~7q-jQCEK-mJ O!knludM.LY^;`k;I1[ȝC$D0RB@p?>xdgo^1B $ɲlI*HnRZfQ˦FEɴ,Whצ*),k.! 0+edљ?NraFQ-K]{6+$w\ϖ@+l[L Mg/vhY9.eYTsQ2Аd9W% _,I\TZZ֌ye˭7'f)dRo'% ,ZDH9 ۢ!QܠmzyV̲z1ck>A*-x̐1ԉp"J+L GԥBejEh3-3а07kut{=t}8a{-7XZچ2zmvq;[ξݭn-]]=K 30 0LU lECl!am"Y;""[B1a zz0aYk=-qAJD~F*{ginE;Jmλ]2j_gsKVQ[U~ƢReqn˱ L:85K2w/s>V4¢st 9Dhz#2zsY;VTwY PwK}!+A΂\j U  eEX!l0&B0"$HTZ#!%IB5&})%@*Iׄq!Moiu&9emtg 9Xzkg\׍X}qrCף[R㙒p}G\~Y LH1®eDe۬Q]Y>pdYF5d<=B<˥ha0zC72ӡRҖ?:yڼx;oMB" $E텛bB)&AYYJ5=|0F"BX*@ 6dyfv]ؼSLɤMƽHa"1&ӊ/~*Q9"hZ(5Kih%& +R~GN,#Pݮrn+Q}9.L~'%(@,TR{QN6)ͣ.Kyo<ԏLT ؽSDH¨Ps((k"yj QY[#LZDkXR )EpX-P`9UIJ 3_s wáBNt>F1 T۞yzyغMOQ?j3NRlJOռ4~0l{'lR(+ r<iR,sv@m~L :AE+`)-!Ksp^u퍭!60f{kP횒-./vP#6/[`BYĴy؎S3<=oK㽟F?Ǻ_+K4ƙ2\2FC6}\Ɍ:)>!:7]aa3-[9+MiW/bdֲVwM{I(Rs 12DٺiEIJh g/ѺKh4(-Xz:ds|wseb ڭ{)*I  ˣP,v BxD=s@HhZo }.8hi{pw/'R-%3a"~(1/r-Dae|m1*}qUv]ĊHPB +DBJ#EuaY&[WH0RɛB"Ίb<~j3s"GQpu-W+Mq:Md]kD'G]4d9%P4Gec"X5j'K+ Γ<_awwF{ q*5@T!`A*늢 L´b'iqTVidJ ͍DUJU1ĖhڋX _B?zً}]:L+%0`% ,Ysvpʍw_ G`Db0bꫂ2R&i˫]9=k]:QOGMdA0 FgRV)1Sz=UѓdFy`]<6`Qhj\"*ĄS&dodŊ&3KzHQRCBLXkz}qʉ#sL۲2呢k,o1nOŪcjqTPHM#g(gi%ҨíW%X0TێaK ̋Nhky I4(i. vn(rfKg#Y) £ō,-G Q]j-I1{۽F]g2E)isY ~J";3 e0Q:*6$Ѭ;L,&˱xENj1$%Z ,oҸ,wf%]'vZ/G?jjَmr`<ػ1@M^cQ E[GZ9 6 ihLEQs5[-%I2.9d{=ն1n4⋪HiUj/UWm՚y./>5$W`457- /%vC&XͶR wqtjfSf^DaXԸ6=EUl\߸Bf0IR]%-ks۽f%#]̩iU/ u Tm.+H;NSD9R`;c15iքPA+'WJکc0.1! FBHH@1ɤI)Ĉ1R0 pQb`Lfm*1.܍~?uşd?q48*o^i^)Fv;:v˱+Q ENz=fk9A lqm~;a; G50/!ܠXUQ!S*I*JWms[!@bb*0 B2!vhǩKIJqX5q˸?>d}h$KFk?Љk:QDR(0ڊ*[SG Rpv_ӜӵGeݜCh#FcnmHsOٙ%I\M2/*d֊,evKI)4w ^zql)JHNsC(ᖊq-(9 漩005`g;O#ՖD׋$ -Vp2j~^_HT8]8YLA˳J04R0Xl.Nwdzܸt"וAR@aȁ<7HOpd9N3iʰP+tGŕ_ԄL,.CZE5r}1JF \FhvK(#ݏٱ%:^:gs/J]"HFW;Ĭ<Ҍʌ*Ys.ʬDp9 L$:~ok[ϾKBluwB'?6?xyk^_Xg}ߡ<>sT\ґy%oӿ,n{_~▏ռ2c~/kIw|ȯ߃n7!{7}_7P̍seymF>1!噵5@cL:cgN&7R=F6$*{ a9amLuVW\ϭFgTQ"~#V t) r?sfhccCJv26Ο3Zt~ccm>9 ؁u$ٵmll&m66659@hi??( 8: V׮96`ՠЙ5R"@ll<VV+ بU)enyV9`c#ؙ|Þq6an]}Ͼ'ngg_ݺElE}_k0'֗]W1͛ں[X}hGߴ;zy~8w;cِyzۛr!G)>TY>s Ǐ<ܥk0>qvG N}AfI o.n=Z ò(8/6g\w(W~!YCqq.elSe"fR|xJ/31Jj_syG-;8ַKAjij;^:/-?-j-[_ړFt+C\wɓCxwzo~Ͽ{<7?n ?W ?޽??/s:{[vOtojý^KoaC3GS|֡?ۛtW~i[}xyݼw[/}ƒX=T_}f(_]b6qB5A煷AC_96z 'EO=qaQV[޽ôOʿ'>)нW[~_~xuߛ>>YZZ/@ٳaf[yOlIENDB`6~7ynHte>3$%.kO>mMKhǢ&W'k GNoaj)һr~n`6f{q߫*N0/mǻ08p! 2łlQ.{p>/Rq7^.=Op\w]$|Yy ^ ?jkNPH#lh| SDnzJeqo~F<] }{1#Va͜3h=}Ԁ0ūI/ðxJ&fiwV(4i.uQfUI^6$ 71mʧ'b"47!\ `aڨySVcRiTj@G^HT퉠kl+9E]}{} ޜ~NGjiPG'2~ ie|Mٸo\6ybt#"~{q5=&$+@~H44RVt}LVD{XL Ve,6tZ)NUy#9GQpD hHxq}kec*"pT_Xk'ܬDݾQvrH~ܢ㻩{waBaCİIvEO`kˀEFA;?ƻhy4=!|jxPRYIZu |$ki!29a3.@bR+l)WI'y"6)T{fߦ̫:*l ]n[H|<#^U*J'7u)|RoguüHdy v'tQ3эdz)J?ȴo)ק 9ȥYpAw“DK"4-u"xh"ˡq8Z5PMbIၰ9+ MD%ARHnnUh!pPfWܨޭ8/唉?wD 0NhcsWiv}t N\y=t$̻Mk[(\()$WizZk~~&\=+SZEփ|B2iܱ_ܢ'e[aQ-Qb?=| %<51IqQm9-ŎP1PIe-FʬQ$Cbbߺ=W(𓐔wKPe$q_جuo㍶ |Kh L~QJl)RίF}Ԛ6}L%3>Uk冐T@D;Ip7+u<;ptL[B:`o_c<5'ţqaHǟn6"Q9QfCa<?ɬ`$wo \qec\n)!S`:EpIQk"{4"}e$]ZHN~sw1LRIC^ [S=HwJeKYm8˥@OvXLgcNmLWѫK17qB >v%a3AB/,0\R:Vx} Β{맽eތxDvE;B5@CcƯn>>Fנּp }6| 7:J:$!}R8<Ɗ:zbzWy( R^.teDZ:m/tnokG# 3IxS DI?3?_߭*^8 8N":[ued=DEĥMS u!jau:,&M^+A6C3>f^ !5In9[K Lu>J%A=>kG A_nxMM?cRUyB)GpÞ~'@98/v2ϣyBO_&#FpC]e+;HɆR,]oǰ H LU<+Fwr䎛7#mɥHYrզսvdf&f [iƍVdMἔBA11_b?2ee.H A FJz/F!c!/. O%:m֣a)i1C6/&/{ &`,/pJ?W7yrMzN>Ct߃~4E*$/̅PP%2%mR"BX:hf&`qMV"q IbnS_H+_!`!B!k:i5uWx*N6xt"[wp%E7&"+~bC]}#d bjVWXBZ1 }֎cI%- gG<њY7~]DVI0 RB3 Cc8e롇M'x~|Vp75[6~կ {̷]5w'{R)҇Ќa~Z#0~G[J;Vs.(o%Pؾ 㕓咗OWV#cewa(0E-MWhӔ jDEq.Q蟃n"#9_7Fn?aAmLih{8WK6U(҈8uB8"ػHDo+t?TxصGFk#(ԞZ~ѵ2Tg1] l S4:!AKoG8FP,]hTz=CPir/Jg|[twc000_~1Pu`% !3{=JS(\G';ӯ46:3 wMl?+6i+$ؒJl_<*5#.Dg0Zt}PMւo޵9Wz9:όn%u]=4,XIF*\,WpB)#zhWJ1.Ftc`xA *{Et/E1/3.VZRYB"|LdzuQ[/'TΓd6ק+8\2ГvJ`2jWcbVHwmjb&z@cU5}ol#Ga{G#RC*n)kj%҅3DmsܓH>Ko SHsI]0M({uNǞE(xR)l7\gߑPV F4$ _W0&.y.FW$ fb&31! GӔJ986DCS>CᜢSʣg2_Q# m>`ٳ~tGdd )9ρ h%-^y^.A@ |))i$By[-m+VǏp^7@k?g?-b&b>KtB^QGvҤ3U*=H6pLCHuҕĀ y$.4D7)R +x|8,S,`[2I; ?Q}Э$k9^*6 @?,Wjfܨ`]H%3ֳh).){|)4^+ƆJV1i)ƱMK&QIRI$_iO[ Hx>n/ z-\ o#IBT^g\V* jJ1fҌyE(- `r5If ;NAZSPMk% @UY k7݂pZ< lU_(hfD$cu-'~uAQ.c0xs#Z'^``ȞhMDv2d$4?#dk1.T ?&ؠe>C@ d!:İx}ƶע(sȷJr:E[ g \HR =ma'>xʬ+Fp$ cW18|eRxNb@_pCJ2co$MG ֖k PuEǩn'g^d qrzo=dWwĺ)J@Y.bseăqd>Zg32 ͪ h#FM{?9Xf-VYke[mNoD]y7"5m^Pcf ?3<{;ݻ)ȓlm+}lmD~vk .j3q &5o(W= vFΝp(jV5@\n \%K! /L]߅ejzanzp@,UUxF6]Ltո ~S1^^?J^ 8J`dL_1!*>b|^Pa #GO:;J5L&=É;9 r%K <]iϐ}(-~l| Z>]U"LYE[8J$>gLa*b_ݑ#|Qg@8~YdM2;ͣd d^1)*̚c7mw~OW@&]d׳^.tE>a&5) 5U~=,89nƀ@vcNzA4sNJĈ$uVCXYwgj8?N?_u4{'5e]6YNnr?͌ʳo)T"X {R]_x"6A wKCnoNv1 *=ة:~.d"i\-D0jI!2{-wՌHIzrL-85@I +QK^N߿]޺YwrJp vlis 2Y%>k~6~"A #(_` `WULngIJ4UŏXƂEhҝ;&jWr?+౞XE{pFXm,|7M;b1t; E6dֶF.ݷCy a=R &Px1تzZidh^u;7kqvy# d`qVފyFzaV'x)>}mCM|Sٞ4O|{aՖo4qG6>!2MĞR dJg?7H`ApВ jZg*ݠujzX )7P&aJWFAIz{zl΅<]#mu;_~@(ot7M/,ffrrMC?Mwӌ{VA@wxӷEaH3X`(}QCMVW;KD WI]!,mh-(1^O9Ћm)?gJ@R3/F };Z1}3[Q};m JhDr)xFb]Xg#,gl!G43Y}tzm9`aLvܫc̸vW1gN!~w|P"9$k&g5^;TPFyc覷*kPJ\ronϢ:}C莒e]Ys\zE#"'T6c:r=:Ⱥ Ya jFa*Wv܆=?E⤧B [vi(_58_b詜0gv # [`vŭQ_–3&>rxw }6\1$wYe`=` uy݃naao5RMfsK';3PSkT?~|ZjE^.'⸼~;ʲRS/2p+U2rcIl}rKcew}SHy|X,l9+VnB\hFUŧ~;3abJ&m'z ?{ I-Qt MD?6$}pا|424쬘%1I)|MBAXX]}%'UxA3قPYbѮ=SUa ȅXvC鎞FEcˇ O6M s]pʵ*׿m)ջ;]fmuH P֟0q W"ñp"#RWAHEѧE*@f79uFEuр"5<Ϻ2`qs_ş=vFjtL='og6ڄw(fbY6)%N]w :ܯ=Xx\pi/A6!r=ݪ%Gu؊oJOR,sS|nhEcֶc \Cz:1:=%y>Y Q x4B8탫Mghpúr)}%"$YmQ/e3fB=S?#؈=Tc<'OGQiyf{wuc]*FGG `zfiMQ<Δ[4MUqDW%vJ \+¢{iݹe>T~L}q;P_˒bĩ 6Sb?:]% n['đWDžkkz9Ibn= YAO=i={2Tm{Uު-4bڄb'Uqki **dYX?wۯ+[0]:@Rk;PrɃZ:%(4B^C_8^ $^4 sIPNʜ ӟRۀ h]p=XםSŲBi՜_i lh[Gr^ھ zg/ˈSbQ ZnO5戶*npƛ P=84_|xka ^}(E43p ^F'J59I\aj UlfNd |oLD-9!Q֊TͼO[A=7ݼB@G6FӍz5\b'gh1R o>{?@͛35]t8Me4 "R3~v i @7Kd{ M]!f=Xc43v?vB:>Iɿ$gp5 20M-nՈ՟afӃe`JO֤G|!6ښ X) M/ !X]GOE_\I3Jm@_!d<w;ߜқNeC{5 PMd< /"M1؈ l>y{{xE z&HUa0"Y~X`M,<xU`!laƴ.+^zm&}wȡ[共71oY_A0+ Mu5A.$ۑ#*?&/Ž/"v0M+q8gV+N 8{Fm55U܀gmH+6M@e\O"{֘:9ջ.gb$B؟+%!mD@vEKYg%bُ$bϿ ?; ~P'p:Īf4a`#P7+6=*& /A&GEU¢i) >ЩZ'x:. cʼnJbIL/oQ*aKB@ԆT@U}Su-ùK'ߧ{j[fduEsU<<8@?Vԁo8汙:swcnŹF ;KQStώ-v Cr3B} O'^7ϔ:!p9h_isގ&Hklٯ˦t1ᯫA̋f91@[?J o6-w!D ]⤄L TnGwx.~Q# KkB]*:JҙuwE(P plqI"Y:tXt.C i0"O A܉Ju>/WGP-짘`)K$I-e LkD#ZKDh%2bRS7cLhQ}4Cldz/Ϛ]+SNN=FS?SgƄ7NCɻ޵WGEcwWTY{w#[A@ +RVf*7NDk3_wׁ{=q;"GzTKM+/Lf^cg&ek;Zvb~ %۱w+Q"Eiybnz[| ?py|'wXo^1v`ɸ[ɤVK(W}W/)F+R h8dT+kW1-]%AҎ*SSviIxi,(T83 ٠݇$B$xǴ;ۨ]T#*cU)rL{DSHDOkTo8LBJ!T,.  JDT D˕* /TB S<P㴵OBq~VG0D+&(e9O;#*~- v ;$ I𷋭wr5jV2Ӥ\5ZϵYkwM?w"Yt3J 4Ѥv3#["Պ6tg9bboyз*- W%ɪG&+&|aLEWr뀟d$8(d4Hd⼓CO^p7^vQiw0Ezhj;8Gv+aqWTq>whAT4h-\%{9w|xGERӌuzp=}>x ˆ{b>]GVf$d _5;Q)[yxiy3R8k$ I"249]K(MvDcC_j_cSN؃Jo3-[f[3X9jy| Vng ~}ƴݮ{c{ΟYk*e$x>]3V'~* '.FZ9J)ӨE >e(ox<؞-Gwԙx|}{[N_1I?G+vݗ2Nq֮q0(q/!7p26*DfV>F~tq: ܮy wBnos~s,-z+"K'xFA>6o$(*&FiǴO~Sf| > h \'H–iUXƨKD1iG+ 8ѥ87Hb!hP8m4fBO@ B)o#сAgj8ax=Thcr, mYLf.mrB+Tk CpuI#EyI,]hxR;ZlY.YW9--FDy;n#l0[*{kL#a3Ƥ(KUy 3Q]f6$)yG{bH:yX&s .AW"qAE]qjD$=҂hIBɫW N Q/8fkŚE< AklAv3ͳ5Gm6|ςϊO$&].'`j*iϏN* 8.B^.{=2;Wn3* `nD3RzĄ+SNC!),O=偑AoJqor;i\wrk;d+Ь&Js8g 鬬_.P 0&sEct5k :Viϝ,͘lzg|R :m{L Z=+Ӈ\ ; r}Q({*nTu X>`s-+ֶoϮё.-{mOnq1`7lG;a^3Z"HiDZ#Jr} MP7puYYcJ0M<'6!z0qV7ŕK_F:7틟bLҪ ?G *j+p"N-Ӣ1RY{gp|'ڼ! yH"L|Aoc59sn|G{+?I5ηy&|Pt{^'yRo ȓ3EԁȽGLwCwOGv[}v:ȷ@?nTcBBm!g5S9.9{F#ݦOtƸ/m/|X-ΧtvX+[`}3ǵ %WcyL2"-.\RcNWj@q56r4z7J .\J~"KgTLJ~\t8KԖ#fffffضْ,f13b,ffffY<3{}o#6ή̬'rN2,^z1EC> )=x=N irϢO/+iSW @gKm&0e ՟܏xÛ.o/9m-qVI|K #B1իޜ,ؚWD|gf4 w#Tt9ot$O;7DMT|GTGaӶ<|0W5ҖЩdfQH4ɑO* )2.Ii'Vx_7R0z0|x D14YCM3'*loױ>MOx1zZ*5 !/`O\W,< xyH>/!>͞0"0JaMDt"p"Օ;{xf߬f nic!yrЂ<`R UVOpVNE뽦}|ڇ` |Z>NH *J^tݺ{Vovg:\ߖ4ML )mU u+#LO/v4U #ưP*W5@.疐6AZL9Ϥ,B Үv|sF9E[RmOD؄u4.KE|!ǞNQ**Sp#De&+$>;Wn! 7g'=oj}S:= "Dˁ&o=Jj="MtMw8u,%Z#@2d81+=o:?(X>֔xD.A+b ZC HpL΀x&$6XsW:Sq>ceS2ޭJh\nܲGyqK~ΫSјoJ<Eql]6}ۑ;>CsW(ꮄw:EۓPZ6k (t^K C~v!Zk\uaȆ@2Jxt dU'$H)JI/"PꪫpNskulPԮoeݵ JgZ9cBz4cj  .@A0{4pEP6 Osچ%"<8ceVBT(fڹ $(aɿs@Q6 DʙEOU)0b-Q-֗0oOl|`&rL>?&YjL@diPܢFq Ǿ5}6!dfY' Ge5D\,\"RhĤNW;rzIpG#d>&wVc nl)jC|yryQ\ǒ2BhIuea^=`,3lc%Kp獋sAh03cSIg- >0 f^E~"Gk FXh 3G "jm4] 9^.53j^p hcJj PC(n%1䟄 5c[E: "YH 4xp i{}óUR"Mڙ<235摄,wu o)'IBJ~(,!/w`z(Qp ʡZL$K@`aao>U3.x 1rYwl\AՏ` A|i8]LxX'ŗJ*z,Kߓe3G{?1I8aX銗NJuC99H<^FSL]2yеK]@`7ahŦZ% 'a@IBeb;fgѭ'BE2/]t48Ǩى0"0C|06= !{.wSVmo@C))lڣ1枅.Ug|vt_S{°=A}(b5mg/ ֵIP+$򂥼^m-beRt8]<$+X Y|*H~o^ֽuT k߿q.ҳEN+ըWζ(Ӑ9<Ŧup,19inV6# BHvKOpnq>bri:ƊPeffb,4Bw@X^ dj܈Psc7/18DoknL9(jۢ%N}](je\k7]RK<39AHބLu'PWgZK;uDK2Xti`S{.\/!ai4MOӔޤWǣ&}{jpTQ98 Z" dH5JlRClcl3팫z۱&oEh۔d](5|fd#e!5AV̉?vQ퇈bRc=Dލ^9jE7-4xjgľ:~r&o4~-"^1 wTU5ʛ:b'5 ݮ#qkCvl!!Tj_QKjzE {Ù:Q@&8̟8p?n!)˨gV20O@ٔќOl:<21ƇaD22Ix$:0IL_iu/G$I}~"_txܱQ5B7m}zޏS]ʕ/}BY  Bbt5zj:lj@4nbkrahXF1)߇KIV |#-aT=bٲmXg|iqS[2M:~XGx{Grf59ZvO5~d0fRK[o>_fo ;6(e<^WGyV_ω,΅HGd:׃X[-/90@E&EQGS}FY 1P<۵&߷K~;oP#KAp{ysns:qʰ{&( R܃BnT '!|jPjZD(x L!rrTwD#'d~qyba4s*Et,~?9Lݟzc~fBZP~A<+DeMI'MH.GKue"_d׽=Tp_Rft1iEUtʮ'iJ-":P4Ũq8^+ d*4 `䞟ǼLI𡃜"2_ߟ: }/!ںl)/ҖfFǙo uƋoxdfS$˨e]T3ˆMgtIdR0Zs \Y}'c#SA:_E,["sI`sM||?y(Tj(6TA VUOD*7,n.r|#YXd֌J^zoҿu#2vJ`ts?Z@ڄtk72H9f1&@E׽ǐEO6hG4$ψ%S2nGU5pL@]U=!|pooeL=۫?Cm蕵(vg xI|5Yv=mi*Cw)W&ܒu kjA@R,49tUm< t֍؃Yo3|N*zo-=auB]/qlL,?RB>B~;I^fV H#xIp1_}3 U$*DE~D8x6/1ş> Tnp SdRUnF!"ny2 ogMR~^ 59#ς]jckE${[<=Ko#$%!3x"gcv[bo{03r 5!>v>n:'@Ho߅I[Rcd ;{?@SH? x0 YS)"+9pjiרz]N=~` x4 bXx)W&xqhbB9cc 7Z9xtFs]s\otُtE~"Ca LjWu/DWLGfG9D"^HED&kD<nEQY~2 Vd1pbR`IRZj8n BhI̎Ry:k_tC&2!Q'].u,n:jMSi WȽDbiV'h'Y8eInH&4|Fֆ2F>38ߋ HZ p@( ю(w}425~xlتO&Qw-<#kQY_${C%傾t vDb|Mw F7,,"84gUT|j)Yl*6̥8jU A&آO-Z y6x%[?ˣyd[myÝnAǡhU'޻Ǿ /4ex'X|Pi?2(-cF`"8:5צr5-m {al}*$ Z^Ɇ; i˂bz.kH!#=R?IhY^E @LƊ#ˌ#⤲1m!!m?ňVD' +i*aI9Lz|CXug%@kuP6R ʯ4+zNn/?w8߰CJGqUUbro h,rQXl.tB4 t!~150Ai[H4tZ{2*O_չ2bb|b(Le} pQ;?3ԕzM!LqzyVR8VL%3wNxܘ3gbׅ`af%Ju7H7!W^+=~ ^i,$qrh(;O9]r,s&U&"q4lj\d ʊP22Ր);bwiRpȩh8 aqeHĺQ\͖]V<*x[DBXk$Hu>h{EH ]?fE3uz*mW++ѤVwU$j2f }bl B cVh9kbCj>OΣ8kgo_*KdɷڏQ^F{8JIѓ>z<.N"zxҚDu@?0L0Xp@K$UJSÛHܑ -ǩarwnhs`e>, PY4OʀǟyΙel3 Ak7&"ͬCPXoqH%Nbe-L94֕Q4ݭ7v7ΟRPF$gTKX?xQ uᇕ]V]il㛊zrs"] W8J%ޯGzQan?]5e$Ͼ6|/>utu{mAWapL_KbO09m`G޺GL|0Mgm}# W0]o ~C35߈gҕ;4륓c)XOBF2e s97ocz`SR͵+?o}Mƻ\z<R !p*/Xw90)G"ޏ?s!ډb=޵+~,ζ^/ܹeKD8 Jᓒm7ә+D??fG2d%&^ޫmFmȴ_>7Q٤50]0YQ|/N3uRlcdf3 {eu'{(=LA APwяf!-mKYz `$/~Jzý .:b&bsB~JBҾR`S?嚘: UrfifLSA} & ]ϻ吻~ZWUyӆH)$O1SG %N4o[I6 6WX;r&~="w\}OjEC r lRFhkJAA ]x4LbcZ`uhc㙘Aϐn H̓a6s.^("pz?@+h`3rh=ш~ź%=88{֬SlIcFDh*N`J ko=FjЃf\;ˆ!n"@2!>k';N@.6& *cPz0R3yGV0:}Y2 +c G1Г6vbC+s䬟`((WwKXp.f.oX+;^]]B"X-S95RʢɡGIEdX+)  PHPww@0q:з4d/$~]&=ȓOf#?bDk3w'%-09Z} r |^ A=׏5T058{p*ͤfBQ>x13~Eo΍ϋd0~gS5V#)H)@؀9Lj<ʭ(&VIC\|\<5ʼg _!Nۃhe4,Obաdhlث+o,Q[xr8_r?6h49}"v /2c3 pg_[&ݗ'8- %aʉsoQkb {̝S}t>Y ViE4`ep{:e.Qs5#_HR)_Ѕ޿25) M~t5ⓡ!3ۯfoXw y|^.6jL@*UTuQTS=8 N,[!93kN/.ү}_]OI4涛+sloh;'? ZȺDu!=Ogrrt)КnVnf#P4.- {]_$6#PTŦ>|UWUZKb.$ګǏ9 [ pqpR(GC&a#ƕ뗏Pۅjr7tme(?(2rtM$-QZFJPWSa/>S:?8K`wqŇu S9kݏ_d4eEd~4X/mZ &NPދc!z"@68\S\Hd9O+ʜUZS^fiZ>.uf1! i<$՘*@DMxWQ^ 0;5P<-o@yH si/\J~`[Ӈ|ن樽7t@O@3yM? lQ4noُ[/2$s @*±d*,.T.ִJ@NoNcHZ˜|^FQU-\<*b[R".`L79~{(0$ +O vB<@Ȋ.zR+=O9gg"0`$_]|+J7%XqTBB>I5n^ ~<~_{P/BȒ]Vv+LT sqafUMuV#_Jj=ML<8awڎ~\= {YDg"-3p;suⶎ YO`(Vg噣uiJuUW\_fPn:|4d4O9ag惐4CuBH%}@` m@WQ{?P|ív1]v㞎J:5`ߪ S@P~a;R{ydSJM s&~D0>SGۏWqz+]6syK&(M{&iW/yV_FX|aJ'K$ /A ]T3* 951ĊEffCF>J !0OqoiQI 6B |+^Np""i>xE{R%>Zg{6Ý'sؾ}ݺSfzWS(mf[7nyw)k//#,cZ4쳬~xA5#ln1xK!#r~ ԦR]>~OxElp`mWSBlˮ?m{Xĩ␧!1{5HA5vm3X7}U,_.k|079$pVjsݍ6 jL-~ue䘑aOoO uM!vњ{g kaW-'qάvAWxL"c17s8=Mú1L.ޝ'aW]~=jXUkϕUƝf]8ID A6$o|Voehd󟈘|=7C`?ԋRUvEIT^9KHQJ;&¹fawW}aҽ0x%֡߸7AY/on W#|{jn[C+=C69d>IVWm߳/6_ֳRb㿐-]0.f)Sd0KHO\`YA,,2Wv!!tHS>_ o}g,6;mNne[OӞJ%O`.4n:y<'v{sZnLtTel / ]FȷgWY-’S${!YX~6!KPe_?g5^Hy[:ZzFt]u/G,5s]-rQSٺ~>uCJ{r0Z9A Y^ drfv/$vEU}ŲnoOI ]݉7i2fd 2| y{}nxNX9O@|37B|^|S"R JÔ4`wVC>'௨#&hvYlT z 7:P{s=X{}wɵR$z`1z 98H9̭?qd>y:A?ޒT]C6NםG.!̓G`Īui x~ jbaʼ6}(:_v 'Q[WjUUK rdٟB/uشĞm351 Ny,4OH*fheYkt5a/:Ee)͝|A5,٩FqW="Ey5҅3WP¢U:ҹvkCqyo?NAVh۽k$XzlTT̹5j D{N߁e1+_tw4G}{fWj[v`Lg>g#^ƴ$󗗠v*gz'7ij[{qq;6ou󎜏?¤ &On0!hzS|Pp}C>; H1p!2 N`MSjqpΞ4&VVNo-9̂VeB* ?MJܝdRD]5v? ~3q~'5xmTžҮnH5wwܲe#`Ps3^X:F9o~_{n]䑘X y;}AsYw u9TCfz@vqV$\_kZu\|YhY\{\iild N ?*&0%.Wä҉p;ӺW]_ >'Ga ra IH:%Q9SV4?7Zg c<'\.U\=`*k _Z@j'GS MgH$'j PBUT_<렆GshVbim,KP:%!qϖTB@Y-<2|Puc?LPT2 ϣgE*/ o|L‹#SFg;; L d)Y0./4߶dp3s'A^3#֣˒('s#:CmH'N^ϡ+\*c!q?G^_騬 Bks- τP;Zm喁a=|3wYXWpI`CuKhcQA(&]yK*@J>b֟-xGu˷;F"H`CXT;y[D-[%f=SY2S<>ߞv<@3:ci"/mM_V6Ųm̌<Ҹ ?PoQ<|ݯ-N*b6%96JZ[m d!UH>*)l`.ʌ)J\[3/ki(۷o݉?(kP* CUgb&_r?oX'ݙn V\Hh%7N-<0*GWNA,Fx`xHMNŃa2ɚWlA\ͲH(IQS'?*#r*"LidD~)([g$ܣC ZHByz톊4PQYn ڐ Og|4P1"FD1z 8#Sp0[@26sѩ3ⴳ 'J2>J[c$P/pSb̈́GKsYZ օBOpXfU54ǒ%M̄Z"#ʙC(g󊨐2Tż H!1 IŴgGc) `Wz^ݸ*+= aR@ LRiM)a EV͜aaq/4 YxYؗNQKJ%dl[c%sP7 ,%2,U l@pm,Tu:xhe=Z˼8bE}܊ Uu YL4d=GP1dT!=Ai"q?:H*T:HvxBڵ3˕]Y mlp2w+gq5іx]݀Ljqmpm36*q%o9}JYabzhdť PX_G`A&99k !Md ß `CS#'Tbu 4{m-?f$׷ZM{m($|M`:Y* 䟤h4e0Α %2Pnوd\#0aeJ'5|hgmPLSS[|BI[l2Ѝ+F`':̩on{>VMZ|#pXցl@gST3٨GBMU4~Č,R!U֌f(>OO %$4հC,`1<'"׍wBʄuo>Dp8u)Dнs2\ FxlZ獉p߸YKrUXrtxOTmf!<$JRH(e?o$C˼Xd="pL =3Y#`S_Q4|o?NuG%@/MH8Tծd4 Xō6Y%4,Wv(Jߧ% x0(@W b#x7JM(romd tQ9\8XEtLƳ!$gA.>>gfd~iid/APE )X9렒GR-R/2W(hځ mp Nw 3@._jwﵞuT{lJx3=0TlMxh6T:\f0O<4[BCH.c6:Jth#&Fͪ8f5d_ )d"%Fh ۶xdU8X5 ajH,*9ec46+G%CT(J{!.lMFF9W0qS_&.$0A£r`֙V +dlS&V XEb鲍}dg<𻻖Bw,K<< 1YzCNuk$v7, v(\Wκ¶z {  B#- ٬UZS lfRFУ@Ǡi={hZ3spI)~+2{Fd~V#_ VfwBz&hlpoe 6QILT*I0*FVDƝT]Xl|B!%fmK8!caBNIEXKZg=$RXO0Q6ԏncf7J FX?p]8^C.݃)$]~)Ǥ@}J{31w!}:muQFYD2K(Ti)aj4,b1:ѭsQKJe@`8T %FJjK7 ׈v8SG+sc.g'ycԓ/Xpq9sJtAΑ"e8|C&HcHMpEtBd:c:Df@EX]yr̟0Icx$Oro+~ݲ^AU&}B28L-y4vW*oE-2˙2vh*G~ae 8ZMoJYyu;=2eyl?XVfU Qx(pj<[av AyX0)+k67xSC~oQHQ}m4&8ǒv X`K(IFϫ@vAF /fFKq=Is d@;Ha䛉jjjпCp ,N6S!IOk"iB^gGwBW4mÚj e0!#>rh ] nދ 0LXt懦ǔRcG鳦b asð(qf nHy%bbKT}MD&. qE ~&Mm.d]ȖDW{ #g1O1ڤ۹Ovo:"`70L!h[yEj]!t_VJ""mCA1 MKǫ{9#( &GՀss7e%2FW]⨄jhtEw#6N5;ǚUxzƼ>K TU{3G0k+!'Ii!Ba Sc/ɏ(3>d N{xNdiCPdtĎ63 C9vo|nxO_&C)D\r9m7e߰DJjxaⵢز9#8ʀRz4܌<| `aJC> V'a9{w^eBY`:v!ɼ(MY 1kS'VJ RJ  ӒvS aIklӚ gpn#-=΍ig3&::Zrz!osPho 3*&8l^^CV% p? P8 IqHIft) D [%箞Y(*5:3C'gZـӴ_-ouJ{MBP@}Q9Wzc03A:%s?oQ)R,+2zlfb.;Б@i*-/V>AbfDJhP]ʟW +T3rEGu\ 9Hhβ2WRvFfDZѴ̆h1`YEDx hGC+Ӷ{˕;'w.(9zNBOq0yV88]k',P`cDƒYI̩J;49 SkF#KD5s~.(`$v2nYW)B/vss*YڋzP^#/Bf~P7ή2%Rڒ|& {;/zYn.p*!@7hM E[<\ؒ8P6`˯96?8?"DSX@n-y!@Lp+Au@ff9:>+xݡ?!Ҭ'._g7#Yk=n"NvW`88u;_5z64i)t7OQh) &2[Q0ы(Ч\S74J^SLcQlZBayqر9r6BX? NZŇ9"zm#zXhk`fS[L6xrM\-l:$]&^WIz瓵j]$iL%$ok^~dރxW"T(f˃ >O]PM]hR&$ۖ9a{ӕ KmHa8V !6htXE?\Cƞ̏ߚ Ar(%g@Vс؃4==$98E&+; k䰘^(*CI(Uev{q)BZSl3|{kbYa=u(2!Ƕ`JeR P(? kDS$r8?X3ysD ..l 9,ȹ lst6ڝ]\f=%"ݮk⒊`0.X_%f~^{)pB=9#(CC:@ӻsʼnjh<ا%(#O'SVU"<%GۦZ$+_vQW燶IX%QfRyLSx{mT -]'b>2g8crLP60Y%Т'=3눍#" = /)У a`f`y@r2܃b|l$۟М6<,*lTҟ 0 Cviy[Z>T#[0և+T#X#7naֻEevfW1 Z5- q_{); NcUmtr+REcV5, yۇ+:%[!aoo~rŬ_<Ѵ̡ۿr7p|"w+5̚ g0[_)(i*ۺI"&P=xgҚt6ome ~mŮBnjK8g5uuu_A4Ii)E">3;/nDZnlof2 cMh L'hFUՉNWvgG陧ǤK^0cFl?.:QQ D?1Ϊ󽘛PНr P*3^1/كd+S˹pIL煮 S3,fOr?ʠRl|= qS_M .,Y0Vp%Ep(=W x \e\8Y#{BO2IE2T^n=du*DYA-q/`2 V(D+6K=~?b#"W֌*"׊Yu+\@"#? C L`rMDs} > n겸 IgY$No=߹y{_9?UBQZ1= 773:NFƂw!O ;x 0,ђVmiˡ] ~%kc#oؾ`G90h[Y[$7Z+gcԿSE[r:Tƞ\`3U-iI^ԔXsJ,76y93!tWKUDUe^7H$I/"u:=51UME_Œ  ujߝ g9gPS??MLz(~xZJ4je] 2*BQ!hf_-^?8x>(-1")mSDDS$\-\jd,~uakSGfPa l%20b+v)x&" ؂~ciU1M %|_I(/ 4rF@(߅S?t,PDFws֡U\>-޻Kg81 "J$6R!vwعG%гn*oZE<~HXJ"Wl)knZ]]N,ҫl c:To1خ]&rt#i{g&\b{7J%{kGjhr5uu['dgu[`=P?GOZ^D!;C(MT?q_ƉTLYǼVH wPh4iFp]עA^bqE&]DhZ[2 'lL KJ'B˱%JpC 'Xh`.Qv<=޻S㊠悐~<ܤu<-olaᳵo#m k̇ H++dmRvjD骐RLQKE-Qoޗh -I墍U5JyQDt VA&fuKrS!c^u҈>[V&ho]J9y'? r[CG k]t{"Mo&X6,q59dT$' `9AL}]0V B ciw+-J{pb᯲N ƕ[ddޛ\O2u! U9\At,T -H)cfa9w|kn|Ӱ؝{ñVIx 'g[|qg@%6߱}y,᝘ jM-6VC\]o ƚy 9=~+3 sgj1Hw2 ԅU4缜 e&Su[/ю>M GY˭v5.NX:$v4hG-YL /tJ$c8$lR./\6R6+l*,q?~q&ZnXp5s7oa#M*YعVvWyoMCohݶk͌+#"sEa4ewű +Sfw8Y~?BuLcF:eL)CW G&P^=&LO=`4D(]譫jA).\0gfYGx/n' \7QOL y1(:S 6>&V'Y}C#vp{<0}KNs[.e];^zԩ Plb8zwo%)9u,3/ `fWzQN1C8ࠠly`aɭHToBa-5sħ01*Hٽ3pq[(_˗*7tum#h&]w 1ьht*w++4D@O(NϨ~H)fbbWY4Oeax(TDƽ 36gwX2iB"θj4x6;THۋGjo -ސ˷=áwd;gckK'i`Dv;AV%~HmXinU0:唲Vc›@'8ܱ9  3:#Dqe.f4i:?hquw$Ҽ@ceڲ~d.h>w0F~w[CYĉ(-tvew6F/}{{ z݊__ۨ/6QN+B\zQ+ɩ嬋M ^Gp&ZNH&[o^wi|'B_׽{ 1$c&n $-UYTS;N1z$OfMCu(k#ZJXգqˠOx;h'tɱ8%戭()?&*n><)Jv3xd^y(u¤m'lSN+}#vE#b$WŘ_9Ko?;_ƒŴF/e.:ߓ"(&A\6?EpC`<`}[eb&(IϊKd_cVpFf:Ո!x * uܺ0sgRJLzC>ߠ7̓$~s뚶@z|Ec'=^xgwժb\$w.,գ՘ZdN]kYVFǚJGx2D\]>zN<mu¢l~V-3)N@T ጆ<}=>?"k:_Py8Υ&EL<>xd]%v\uwz{B :{Wt|Cyxڸ >)&U_;&AAVf}%`t`$In˙8KqZqIqc{U3vU&ƺF#8l-{?y) n۸t=49v&QߌH`] N"b|)-Z,+z}X$bD9Ucԋ5fKXۙ01@5?U F< ځG҅>9R0Aь`тW {z' {]1jOR7 *"|3tyk\iԕmDk" :Hdf 9}0uL$z73Q"8sDIzu^;hgj ,^Kȥq?}ߣ"ϲ?+tQyazW}rjK"zNJ;3yuu] JyUXO;8p Yw2U#XE~[ (#ZElqR8QYV0QX;$[^ABmzI)>%4;IEi|c~z cbN_{S[oSU?5T^v](q0sΆu$(HSt7Uke&Dy**U6%1ۉ^^B9i efJJX]?) 8:0 ̞FC[?κ)0jýjZMPv j.NJ;ÚGO~V.qGk _ еT\j}ۙ Uz,RZaf/AM-rGl,#v9g8 s%+th)0512rT|xJS6KQi;N |U&CC鵃9Ɲأb 'JUT,e !Uy14|FE$ M6M)ƃFf!VUc_ay2ަ_S-bM/ X=OO"ݷW,N LnETbԿE(k=N^1f6Jp~̍,|SXeHm waY S(Dbr>?e<(=MV tBq)oC/3v%ŝv#*q/SIp`ɓ荵 \,|6y4{}#gjܷgu  +{MׇXp>SӥVf m_7  F(7lq:1d`hO\cM*3NrE}g,v@AV! S[|!*E[XJTt YHAs2<ﴪomrXÌlT;S`by.Z_.u~v@$3By)nbow^1A\&br0[CϏ %hY/6|P<~E L4%OGxE-ͥfVj'pn̚Y3mEb,t"@0uQ95խFr-^(cHpx} v_[4\orL7ۨFoQӪ]4r6i1ik/("qݑrk?~4)!ԯ9Zv{%cŀ#{ ]bk̲C>{G@.vH g8xE3"CRu7~ǝwLlH2Rs(H;M6zk F;;N=sVL#!\nF,mI37 L)@7gu@<#(V({ rBRQ*x鏗H鄨¦T[٩eU=.t!wrv zae]SNVyNq>i%pZ/Xp pٞAbURzJ"ݣ>3IڪTujΔR{6n3hLnjՌAQeӗѝ-w͜xf[U$Ǣ  zȌD4[j*||@( ezY:t<ķ淌zbT F(?|p|N6cE}(} xse'hv; įX{_sBu}`SϏaӌ8H<֐Iu}@o(tCi_0 C);o=H7y{_)pF >dE[qLG9m}Tje2w`0ۢW8F-x DŧF] stj =D*DY!T|p%}S=MrZPL[at񗍍c_3!{\CbLC48NBMX<OWlJ}8MA1<eU㟕Ҹhbo?X PBm 図J_ҫ65<7 "uR<^q9RƇ 7`.or\>@b@{+#YK n 1Ҧ.3*&D"z)`໹| 蔐iD(rGXb"O!X/X 6Q4QÃ3*+c]"ags7vP;)oj-v;e͝h汞#I:ۆUIXp+춈?mݲȚv4$ RD+ c hBc ;+qY7v{S2븾A|5B]\]Hp0*^4ń1#+C˻`WNUdDF#c+Ϩ /RWE1 x-UWT p“ӆ)mJZo.w쟉ޓdj31n Y\3 t7+[W*tM̀,V^qˆ V8Pw N>t3qB` 5.gT$lMNyAhr [9Bk+"BGNLE|Ic2_L8y_#8Ya)W=RpI 7R]]W}qc.A**TP{vPzY1'Il+A-/?hvyQJ9*HPZ{} ݲH3("K~4=xa8W,?pNW@ϙďpI. mJCI0i9\޾m0lC)|/M^\z|%Y!c(bB{f)T^9Fo9eivwIM46M!]鷉x\%Vwo}Wƨvn; \%LdDμv[_E`Ӌ%^xǷWXY^1$ ~5 :jiHj=y퉙HtO31V3dvR">Qg$^G@_a -պ+fJ|^/ڞ>;$+D뿅,s=ys"a%#J痖9 ȑ+)ghbd `G39(?Gx!V4=Xli ے,4km;.MSuiMrI:B.^. !3)*jjrTj{-=Z@書O*rgXAaݪ"a~ _OWLa)ixlVہ*fd5iXa(Fqi<㞼n!3@ҎPLZB`JF~dfV!oDW'( KS[ PO ?n}I)yQtNX .F=]|܊V)7Z{ Fw '9SF)iߙe&B:U9K!n3"tDH(I .P۶@ifI/hx_û%po8~H^ճG9l6+&>^C灮_3fZSm}+Mo Dql:W ;Q=?n+؜- w*B,MD O|o; _<cЋKoidQϒ AVfWKfa2wDIsۈW=d>|u3 9J6|:DGrvAcVB;Ei%K+l7ȋАgbB>A~ŏl/?mε)7 / '}S8i"U]ԓ@Y^'6뻇X.C4|!.Iw3ii mi3}+(A.L: UF0-l$b.js ψ*—SS~b Fpّm2dR*i|S%d K(FI~ 9Nc7q- HDeD5KR?*ajBJ#55DCMf.m!aQ&2쮑z/' e;ΐ}d olzoB3:bvπ)őؒu(ł *2>5ApNǍb6Zڤ{g}5*Iof+]{Ki/k&ʻٗRdbCQ#V ck,C6ceAl5Osf]s ﶖ@硘GOPFi߭f; k E;1uϱb% ѾakϷ,+5".JO,; ^k7`u%ԖJrA$4ƙ{F <@ubY}7"Y}wCO2Ă~N,& mQՑD7[dD~kˀ(ȭB:5?ϸҨ&6%9];ҋtNHnu8Ixej\6rIlnzvN}pͱnIr|is^KNwYߥFo4hFbF2ʭvf:8 n-QDq %%k90FcZW y='q=wp?F%gp>'KJɦ"qT3Bw^qQm8U->#Y:aSe6iD걌Sۡj?!7n?cDz]PC5|9;XvDϞh ̏mȈ)6cD#s#Lʢ1aiX5|6n6nNvZ& pS@ڥVʃ53{s5X\_/ԖOB*p74(jjiв.Q9u'?~,{Mo}AۇG_Bh3,9=_<]nEfKCO/jpHJǖN?0sрNS'h)3m2 0[[oxp޿aq hj艭fYQ4&[6yge~PTOBg 8Ϻ@~C ωF²ɍ +q7xG>AxBoʲКEr""b,i޳ \lmxVV'n6Jۺ@GnFtS,laId, sM&O\%fokaIU'@d<{}a-X۪0liWP):z&րT62UJbi ٖ/0wfh,UЊRVq>B%nk1`NY(2ٕ(Z^ vL emYg ԍ:0lی"9c$j. J9_[,^|gB6uUW@?ăg\٫O_2zND#[,Ʀ+6].=Ac8Nk6Q~;󢕅:a _@aU |/(ٜ[QO;S%R2 xR=;+yztQQ]ZBXiPZXZARZYzi$%TDia?|gy33<z(f ;] C {r+6}1)K]+L_#U.[ԯQd3mww~3wL`WP7} &G5 qxM4-cޣW>P/啼b#a ]b6[ǭh/D~T"9*O1gưfv*5W92u# .C7g~yCb"P iM[f b0{9Ui[]Qh /6&bӁPpr%%JȒbgcU%dCƨViаF/^|Ej?,RQu}:mwjZz.ljp l3dnEOb^( *-z N%&3R@0v=Bb=~Bψ Ls^ejm뿁[\f֞sX2`.v# wK4k8Gʯr-w2׼wH{ƛG'Eϧ *VŪG"h]yA%C]_RakhKY{x~Ȍl-Qe O׈K)bu*gV*L>ni8󅴺_=u@]Cg\z2yn\{ėO?h XL-If&okWk+1NBaID57z7{oēw̒Px~bfp@ܾis{Aٷ!L/5.m2{ r!bEOEw_W8t;%ק?Y&'wѰ/UЃ V>T. `eTk#R7s{eٌ]L>OeC+}c78\YrƒUqϹ/6]t8$mda?ږ`di.d7e¦w(yk_<= I$/i78d6_ EqVKN% "Tu?y*y`2$Il,""BZ+bfs^VQ\h[.6ԴjZ_}5YX"3:;TO::Zw|+ [|rzhܓF[ H5voĕ(iEߘb 8n M'nc*@A"aYwn@ڵJrVZţ !Ij`z5Hb^G܆-M{)3w)P'\[J-+41> J{aS73xhK($2左jHw?xwvfĒ XAΞFy05'F'Z !M`'g+ݿC+A޼z_4Idm0K3՗" UI>7ֲ~3-v<5SgXi7ߴ!..i*[=i9M_x/M%|)=#w9z=KIAo4a+F]Ɲϟ^a-Ɉv\)Xw< Evbi=3fP ޣ'BǗlɼٵJ !lB$o)J Y wi^QepX0_/NY(d C&k^ʱpĜy(!{4kʍ,YN0=BF82dNK󡐚$B{ ;Ѯ5h7c@^mbi !zycע`wü~u=sQGK i!ΤE p*a- Ls}4}TB% j &/V,({FxCMYh=8O=Fũ c1Oi~ou7p[Q86|BҘ&+F%f(ρ^L<ڪK8t\nr*"RQNO/ Ů4);dIiܩA J[wƹ[KI<+p(Xf9|Y"~DVWyG:fP)/+L'G`D0y*SBnGʖ1xvYsdgHwdteOUcK:k,$8DnJlc% 9ǗaMMF& 'ADs!Su^\;q^j&Q "*!$'aAIfNǴ~"%#7`{2lNi|Of8*zgM1K5{3b6u u8(UPd*yr~h=A~4xѵiD;};6:6гrv1 ԴnvKlyߙ Oӣ9E?v`&'3a,}( Aڱt{پ`|[J/}p[7Ӝ5sIqu{y_ϓ$%PR@{Z 1ȷN஗ )d JmLnj#>9qqӗw\aAעo4tn l36 4,,, >)} W}KsH>W\җOꈕh4!|Q~CoԽ퍸٩7W8ēy3!dw R/ej@~HF+#CA_8qAQRf<E'%CgA RJx$cRya1L0Ί8=cF2뷗b..zNk dD 1(CGjnM&gz 'b/fQc5U~)9c^6TH2خ=#0c#blNG; )s Z]*`ȭfYn>Q%[!L'1KIg+9 ]lk%|:^7Yǧ '&9"C&5^/Fj{ٜmd|hv_py!cRVh(l2HdXUŐʁD>q]9$EWTkC]=48,݁8;|ó.!m) ;T9\5[X>}%A yEBBWPe"2|O)qe.,ZY㹗RIm"DVԴ'cAEՅ#IӸ{bIxWcק4p94HrHVd|;f[{p&l@ə6dwoRЗ) / {Y}⯝aA9O2U&E3:4-8pBp?륥00KFʯT8HKp*+R!a8oQ'@g`εQԻ&MBjJ;9>ƠS9 o\4{@$B{Ij:Q?YmE(z ^a &4t"a=7bh}_ y-4\@cl̲ܕt m);ڻ;ڿ>TeV\$ !A4 pYH ͬE@U0n{@L?H5 %}߰Hhm`[:[.jr.|)@GHzv;}[N*tݓ0玝?66V$ip>V-0wJ6mƎmeM0;Q_#ߓ[JV!Y,`*%.D: `2BV% j|9DݜT~Tz-֗*Ö j tI΅sI5NDp}Ud;*`{ghB+!IA"`R^W?p_ou(t={gA+fv6`e_Ye\$D#B3:JU~_ *@ͧú6Jb8BѸZ}6pzG&0QḃY`4.VumN7 ^yjv7^ʮ٣Z.aO鶒IՇzEgG>y0N#vрkom> d5OuxbG_|$1dREr} vzʟj:˟֗LU>&E6EV=/0_@dyFD<%iiJ헁P/§jw۩:ׇOZ}J+7a{%AԠddCVNvr&+(ؒozZh%w{&7A࣡'@'g{'ᬩo|.؃1+x t.jWwۥ\Z]{IET`<ܮ;[O!ۀxs!7 !PLJ:3=7 a?=۠x=h͵]_w -z B[L9z.ՄSOκ`H;/cכ%Z3Sq e5ڪ*:o}nYb}kspm`ˀIV)!X& =c޶Ω ouyؑ=[))m`+*TC <}L>zzczndb_lcm(} = 2pcƜv&vg| r%o5o镹Y&Eyl|gNu 'ƭvY{YI5G܄GEK4P/)&:VTAćdPPr}}?N;χKp WXt}fӖ%J0X6pշ9;6'ͮy= `Ir}4(}zGkD@R0kRH@0OWx;b3GM/.:7PHm% %9ג*W<.Q@v[w O5[lmXLaKo>54 s1q[v[g^PZ AHi]ox졾j^WzV\Wq; sT׭Tm]AmLUuAwRd޸΄qg;4Fpta +W.Ƈ!}@Ljhq"kɍJk: AבTكfg@iwf#֖e%*\v[<B$yuVBᢙa&SGG!Ȗქ! Y-_9J{ʢ 8vتwD/a< 45U?k~:PWbN<$>Qb8ɾwXsqpjwNO% ydt"SDf*,}?ۍ8OĸOgeJh5MLMjHB,}\kX'Z|+wj0U ]ZVX!Vh% zׄ[O/[y3揯(N%F݂c(hV{|45%~i ~Si5;b.]JsecZUǃѦF|nBRh_uSv7NE4y4YEK=ocㅎlЗ>/)Mx݌ǧ1,3wbBp$6M u#xm\܊ѷO5xGⲬW-ƅUAGXX|\3 WC b94#8C"^B#4솇 # b>4PEE2x! ǶeA5щ';yRz`yAϋH!#е PyY-N(zȱ'̍3׹x^w)u3ȦDً7ߏ>gF24qg$M,Ti*wͧSXD خgIT6RN ꯴)04XR8}?H΄1V] (8LMv u{NX8l8uxI3(95h5J,71Xpl\-(F+rUrvs3_q (ۺvG|ez2''Aq{wBHZҾc~HJuzͻ#:*,->D1Oaqumy|DO~p^?*J4ڔ%g~]~"{4`IT훒 (9o2Od} [Lڡ.1ĆŌS{_'+oXG~?nƯ||gŲ[=0[>}x<^^x| ~'ס`A򺽑1u?(:YoQ)/Qjo=_ ߹]R!fVN=; W.1p вn bԂh#YKwf%NLfIZsDV&6%Pq[ws'@%Eͧ*'V{"Ru:~^LKnLFBt W7 *:%"7Пco6]o#e'}i_~תZ0v u+Ja}/B&$_|'DNl@܂ ˴'&6Cwv.{gݦj|qmdq|)9 #ֿH`[XȣCC "3ǡR&޻]{f}hwnsy j:]1j!ihwGَG 2w{Nbe8?Ar6yċK+'Oد5f{=ep 5%% a3G2Y?,O UZ|f]sF^A٢&4dH &qCJi'p)pPՇm]`gR"C7 {*EOū0Pk!]B1GG<(ȨTR[#oS:8J>h ١":U q?p]r`Q se5\S\7$gt30V0zWm|A"4\?#p WCa*׏AoV0YLNhl,!O!iQB܍Xa!M|FLSRàrA^>~%7MIȌa s:*v2!G;+'X}ZൈU{&kmN E"c̼׿$ y?¹{?fgZ-!v$1;[p*LdNT,m`gj*_w&CqVMvqcے3O`v<8PHSP"ΌK'3m>H),CϒTMav-{dž$-=Ŝ>;xFGS_E[R`Am `4[DG-=U`bZ3Pf)zeLRFָk# pFƝ={y]/a9 4z}cS޻ߊQK|)k<ܠrç `U YUޖm"G1TY}44k'N/#}ikL$?{xѳH7g8 PI_2 E0P[*_||/ G ed(X0::5F2 )zѓjS6Mbj5/BŐHN +BtX #Y*cWsM?7cbk d57_Uܢ}VX FVrF`:?JMIp@pqVf@_ '(6anzA>5 2+12DzN#2nNHFxI*}֙CgW]*4JR5z2mTjOV~w"hϗ.Y2r\IW`;M#^#9A ؽ9I<{x'ė(;Ô$ |7}^Y'sfX=Uӌ|G#1.sa x`9r}#{F 먞o]EG}`i1 ;N\w65ґ x |#ʬ-mI&L2Ըajbܽ"[X0t {ق jŢNDFxWc1p1  vj&H44TcK' rL *W,(=Np4W)uf8oAjTGh'7c){&,(`w}|h)XY7<'$Sl7blV1y{ߡ*h81MUωUfǔhuL}G_e>ԩiP*h2E,r%`HYUMxHw 5&l+RIZE q. ؍q|Zm=kO\ߓ"`sZj;iݻۃcچS hce!QpnK8Q;iNcn 0y)UpF f>%5Mדٌ_n F ~0Ѻr;). ZQ焇n.|$ޞ?yjXP>beeadDסQ­\c݀I\ߡe6HW#~M18o=tzO{jŽ6pIL5sxϖ%5i+2syA. |-p@} =pΛB죏Pw .ϋN hqQ|?kss1an[`M$|[5gW)' ==&T39pAjК`k[LzپgM\p&a.nQPu%~\'ӱfwk[cyLeˮE *~-k*)N%M-v }XiF(#ȏ{jBemR?0^8FhDo?vxyxwӖb;Ѝ2.PmDz`_]7<  N =M;^P/{KH _c~4҉n)t4 ^.Y2WT AeO(g\;pܜ} D#%ԛ:!~p\WEV aݕiAW =9'n>3goQ[3; *ně7S+G[OK2ӽ Ed':4蠑_ F~ɷ&鿴To:_0zN}3[{[ДfBB oY c6zjR~AQtj\i>5dWSS6LMF:F`'c~H{ھZ_έn,S}ׯ9~O<-Izo Jk6h4fVQ}ONmQ( (̿<Ѽi'iaI9 L\<.ǯ!yal,j d"ԆJp~IVRHz oH&mBM=o$"\(Zp Ag6yizLy0г{BQtQF_={~;of6[Syå*/-WFc[80咎'4UZco([oO%ը OU25APW'^sf!1E8ZUpjlR79S8$T n}%1k0y AJV렧(ac0\RƝA'9KVCcV0EHhrFSr{ШŸ']nxtxv"IƬU%ʄ޵ `êm{]sr'oQ+ %nX•nOu d4)/m诉%.c\34NX| ?F*5G3 fT.DaLJM+`IkA` mig"R'>2A2+ #V{y)ƣf#lo =z;(ul1V҄{s&%6A6ڰ@y#sȬ`[7lx;$b+ ?dž!8omE"#k'o@3NeQe0ڛpѶǩc+J __Bk!B͑~y0>=g&Q|}U^{KG5lB@@vw;tᘓ7jX'^{oUȮOkWecpCLqZҫRhH&_kF>P^6o^I⯰AҘ|$[PrH-;$⎹iVfZKV./ AduFB-vފ%aS (Jrs jR ^$f3(2ƵNEJ.+Ɏ=u9~Y]i.bTS\J㯌"\e?yaw-AѬ%.U*Fy4d ºPi5]5$j~IIrd n)8^ #,58)m2g˰lC⼻* -!;kf ZCM 1(RD "}U#γUގ(Ovd_*c\OT~+b66um*Y<1ܤjrZFP8I6 EHO ϟwyoFզ1[I?缿mGd@o2d]p]DqP-o̘q) ?.41\yjig28wf[Nd}(!NA"sdcՐ*D*ʘ3bQFt'RzD:V Z3`y6j~u7Hg$Ȧ\3C \hj(.Bah5J[؆k -+rbAb-R ڞ̊_p_&VKO;w42ͣ%wЈ'L /uGLB7'w cWU&.- { @ z0%윎HAQ{ʔ+Y}l/۹m)5JysG9z =uQy_6Q^B ym"}ᒵ,S7 偭'&IpH`ʵxd4j'PlT\P-vF!C۪O [sB5g 1\hmLϖox/*.t(V|\'7cq] D("BV5CsoFߊۗ壜dWMάEKq+8>!g23oM[z43`*:2%aDˎ\GusSoFMZWE>| SH~CI*xN>B>Lۙ;^-) QU~Wm6#(!DNOA&ph>tFH5uY!`l7*x~xFx_8-n:"&tF:7 ],L17Y4:-R6g,Å.b|#[,UqH)_ BHI"NF cA|-ͲMjMP{JC PdK*zP"WMZ[O^]æމ ұV.,Yg+ly7XgH(ڞ' cgmU[ڽzcҚt*x+E9]$g[Ic3:0X,`1[h%ɦS{=dFLŲכs= 9 K;3$jkfQXzd3pLD+1ܟ_x{?eTpp Lw?G-gȡB'+ԧs\6.1%m']w&NGH x~r/u:Xx@D PջI( e)e9~>{˜+AqKQbZ'atSOoıFqK Fc L'̮}Z(" Wd_e\Kĥ*JR| c7L s\kH~u9oEu30tj?dmX7B%R,J&:MO'q]z@{.B৶2W\ht%Мt} GCJ̠+ukX ru_:^Va4l?XsKip5w7ۈGe5<6B|L -U;C6 hk̲( -Xm EI47&8Ffk- U\ D",! A5-HadL*4㘂 G*ZBK_ '2AR5_k,nE } )(եz~N ,TA{Z &lAmANE.U~ʲ"l7X#gVbqU.ZAcL\H@q'iBKO25f8Jlg}1fyV<#5&DT8 '(YPB.+QV`c!y20 Tn\Q<&qiP ׋=1;#7J+2ْ9hB&Iq4IiByE4BUOS8e$8<6i욬WلKx=]Xdq2qO߹ڌ)éLA^T)jiekF e;% QqYfCt(-$4KQSBOjC*iay>.ՓsO.=a)& *P纲Ds_ZU*2'ȗ\FjqéC,#|Bc;N\f:뾬*:X"A}(JȈ e4z.^HRf{kxSyDW?jSiC%(bP)gq6 Wj |!XbYgx/%\5"+1E}8zdd͹wip nY .˧̔Fr7T$QvqŊʸq5 ϒfbC"dzy ا]nuqTui foa%E݅ݑAzyO?$`Gea ZJY9S$Q(U⼘~":օc%IlWjzw&RDq1{aj Q?c7|rޤ *%^)B@K案Zz̺yBfUVZ$Y¥ f(87QaH{BD+r 40`JؼiތľND%>+y W}aI#AGHF*~!݆2S'uI)o/-K͊ Lɂ'[ ĚIjۺ`KV"_Qy--8r;}(з A Y:UUKjI7!DE"/Kŀ%O%&hr}V h=g3j=8aNhyU6/q1kn\?k{RB*zhnLx- sPa`,&+iu"qk$ zJu<d+'o:Q$ ͞fi@CuT /wc >'<؉VbB:̠@mtV5ֿw7K;>7mP!w9pZ aЯ=:j\Sg ҕ0!6^>.:0ݟ[ ^<.@c$j>Lzj3 *k"p$0)%<+k#dwLRRcL!)c ^@RoBU9CMuaX^26(9+,o*\0coa-%=>M^($C%b:.9(ZWObƞA2t'ֱ3WYCwݥ/ g*עqȋdpWepC^nI;fJ(?S:μbL*gX-pv eϹs3ke/aA'\`7}!X1lۗRF+1V 5t*Ba`H` ̗u9:ަ7!,zP{F$C='wUZqÜՅ8Rߨ,ا/;sfyB;+CQ,51Ҍʷ)Td[x *«SoЕQ%ט"y6_~5C@v[HB@|v#8w ueCuYoqzR]Cj:ƶvVv<3Bb4/X}rO+PUb_oЅӽOJ!K=>:Pi Klď!\< DI%%I~S`/(5ŕm k"NڐGҸ՗R@EpU9HCnHJ,ۇqDW/g#&EX[ ʵnj @qq<qhAz^9Vw_e|Dž %Z@fmIn7V挒9N7 _)ӝrΌ '( .km0DqzpƖMȶQb8f4Do?2MO4D$u`}^ ^o}nS |f"42& c6=2i""#- Ee:$QV$VLu|u[aM;A &?%ps'N! B((.f~:@mq}H.y;=0qG64_Ud@պB]P>ԍUp@mVM֡ONϲvrřQ][iZɬ20n)]uK5q }6I3 ͑mh'Fӯ efg#erK><{ #ilЈǃڪ;[run8F::dx7kEM3ÑO dK?DZh?oh8{[ՑB ܤl"%?%*AZ2E7(h,>bUDdKVKҒ88QBE\gv1b{?饅e!rJj A}d2+p׼ S/Z4|DS9t n`ү}pe}h#9f+۲k!O((YE\Sv驔U}̢b8fFO \59(XV<vkV"U.Q/~(& vNx6nPaY2h8xԠd~~bw;:>NR*C#ҏ0O^Uv;;|ۂ%FT}^'>~B1+ ;C TB%QFжCB: S%/z*7JCQLE#bkA)Woqv׫skRqp-@`A`WU|{*M;]ʹJ h5[Zo?GI}WYSȿa}ГJhK"͢a)gKyjLjLBŃhTm6-G]=1!?"a4lyvg (۶`{eՖٿDA}~~Q_֧(d?oO %~T]Jk5vśp&߽VPPYr?G%ΘڈI\9j/7շn6( hXxOD3VCi;sS;vl.DHr|?&E'!~$DFwg`GeB=.9us3/[YgڍbЂռ $96W;y& +]lلʟ"lvG-ض/n7>N!M^=& j+uj띫qrLQ^F 9t]]U-t>ߠI#/O 6AΛC-/ o/y(hՉV.ZFQȂouPr"ܱ4x;\r;8@F 1 FmT($bip.t4r9z[p'IpB2=ubHVf7q~7Ÿ;>n[6*?I&=KIqt'0 5~BDp{țCO=җᨳ>A0BܢM_R0, UV}r*jE<sŊ1́y/8y{z>4ƯPD>yZ澏X?fo_6o_׺a fqA3C蚆{YB~¸0#>ErGιZ]*$&DiRBe-H;~_TI ((dq9-P4,grMV.띓cz#z#MzLcKLDjssBvo(\Ib=TF&C;umoʊlXъ۶ƶm۶ƶmgk}><9ns*Ca!^IMc%4n.MZ55\DAL_og4HĸMAΞ:'%}0pbR,dhHq xy&J^EYSuYƊP"NɈ(';7P9'[Ll~8|9|v_ @(:B&_$gy&sKx L|nޔպp84{2Y瓇E3aJݟ hDUg^eŪes@9Ser˘wm2Rzgb]Z\AڦP0CK|JiKUW+FOͼ0%OD XB 嫹? fdf'uʆqN~=/P;4aYQh9`'m?o $T6?Ahg.* lB.ocHBR a \.fX)A>JTgv7Fڒ7s:A`ęGEH|B10*,O.:?Q !Y_OL_ tS;lu+PE#H<_~va!QV\ժ/ /}TW %??wN$W_ ~"n-fmpZ+')R_y}|TW;`D=_՟&[knfYRk t #7__!r?fy l/\Q.rΑY9ʵ㖲%)Z %(sbG:ƗxJ *ͩ"U0- f1tiC6I#MIK+IEa v88\ فypPa~BCbC!qxx4h JI`Rht\sA|hW8yi?@~q]1ڪĘN4$"UiYI{.a8* V6~n1լ]A&r YN[2Acۿiuo֗nZ~.~>ɔwft抾= O4n#DX(b73?,hAc+l_^q]Xr0, .>pD5]%UP?v;XÃppg4We?ŤoU͹(M s U;Bwpx9i*dq>Q='뼑hQzc@X&9?|@Misd"uu C_h NB=qnjIAJ~C=8P,݂<"TKL ى[u'SAG4Zb<ғ>˷H>GZ;;,bs J:K+#H$ $Cn6)cGg,Dl}~&4(cRQ WQkYj$x {Eb^ܓ8'o=&/ Lq4>]ZL^p -bRebw\¸>_O2|VRg4oNy3;&ӧ\>՜]lV\6ּ6?򷆆ߵ<ӯ7k&jՖZn0"kh(-&Sp]h8hlP uwTc)a~\]RF "׮,ilq~-uU!5xLF)OyW̢"c5r!B)]{E6NXPVxafM"Œ(7HN^3sԿ'C};pā*;i (}t1glTR\'d/%5N@bksp[j ) -#avJ>l1g(j"eyrklCrʫ@H\أS>w ];!e&'"l4FW$v,:w0a>-G C?Pt]] %$b 6Mls&Fv7v^[ d=wz<}{Y0̙CQ*RCsű籑IX¨ D jzkOsU4sAŤIAi i1;Mrc }4n3JCA^.зW=[9;o]InhhȰ1fJIx(-gGaS u Fßξlԭ˜yxm*$ǕmO#5̣JR_ڟO?'^7U5F?Yw?7w >x߷u>}.T{Cd:8a2\G4 V೔CM~lhHe!K\s1R|CSVSY緇?"ͧ^Gwp`u_O/0>}.Q:}||Aԫ3,bߘlBC) 4kYݾC$Quy~1Uc`syEGj'\"_9̙S 83c\2 ,I'gYam"S'j#ht2C6ˎqzD tGgBNG!M7CȏGhSzڼG ڰesc{U7l]O[ވVo{ZYC0Bé"d t_ ]j.hO 4а:$\-\ѪDh\F:dy*볳ioj[M:ؠe-r-tM,.Y){-¬+k|<.}VO_ eCqeLЎ ry b%™HIG(!RT  5YpWڜ8ǑHOpkڋ6`2 z,BU$ɵI**FRk ,ӝBq@#恋IiR9j_F-^H 2әD U"y@L&_ pZ[}q~IX8SxzWe`7}w ?>Gm |uÑ%.z}=?dgfG1>{.>nuӱ2V겦WJ)AszN$e읡ŘGϓ𯔆bUmd"IjkK/[d*l!M< @y0ĶdN8\o$ci.r(10Dv 9AMx_PMHLG7LbW8Pr5!mmCh6hQ&31-#>n6fGIߘ|˝Ᾱۿx#@>d=DIo,eCϝOχw'(Hg:;ƅN/#DYfika}ǯe}M#yvXDIEQf*Q-Ӳ;`{D 6j{A:A65՞ȫkjQZO%֧K椵 \pU!I A2(YK/.h$;"$f?ce$D4_l]\D^z.H?.FI+T<$,߹βHQ?y@XdTboEy>WAI#.̣bcBSa&$(YWd<hq߯Zi\[iOy נyZFNJ/W:7uHǑR4ˆbϑ3&(0g#B$n_].Mw4El1@(`AwuRvS,E n+&]F ]t_3:z1E.>1S4?<~dnLT K7R̘vudMZuجڴF?ï(hm_C&R)X=e}XuQ}L1/3NJ$Ci _Jfؼ!l`PF|o~qp61,Xt V^|aܝ>&!®1 oq!r*2NƷ 24 93Lu# C^=/FT<ȚopIK2MeҢ϶\3yGIT׳jI<@@ՇQe}mqq^D0ծ`{QBX z(Rx_ekw;sęS\(42(C_Eu\yp[~K 6»PdĽ@BSFDG>`ڲv~) 'pr6Ko螈8y3yY~G11x4o8#j('Uk/ۀ2&H,lw cFJ9CAN>Vb܋A-"A&*bu_MT{EyhN&[I'mT!AGN"E]~(E}Y!5+dƔw;qVv ! ;=@p W@!o*sB 0l%9]'6u;!ѱsBu.ʺq2mk_9c!Ӟݠ*F"(|"Ca t(/&q9&/LJ}<]bsﯣV塴9!#1䪤Eef]Oޤ7Y@]5쯸Uy"fhTr̪53FPMO쯵wn/u8G웤ۋ$竝/Pܧh+g?ll FF 5D(›2yR\Kl"¸ R`Dd6<e@h*Y `d.'\kd d~V+ 5|`z}TҴyu5hyX@6tؓ@6$M -?rY-c`g*ͽAJǥ%YXuj(N-=} {ׇw]N'-b*7r. .`X)~(x\BANhf< ~ s&ׁd),=;y & pP}a|ɷatHNX*[P:=cʌCX)74yaӶϡ/uYe|6šJt52k|Tڶak~i/. k~ ;f'Z"T8\(+`rۡlSEk2gk77fC L֐V$Jɯwկu;)ibB<|)u8ev_9|]n=~UL޸^CdsT'wd6ˇi?e+mEq  /Qܡ[r)).t.-N8=2%('\4oH0yc =jya83 518ᓴ Q;Wf2N1hZ(z[GPM€$C #8kH%ˤoer=0RW S3쉴O:>I8zv r~[!%T"{[ٟu~AR;`gY+Dm5{8J!Y% ׄ;0!@QZuN[\3# Qy)_(Ϩٟ.wDy$a%OoHAVr)Yss˕ϯn./l K5㖒M%`b @Y<;'bDCVF.;u7Bb6m`|qf1lz>\".z<@cAZF,zZ|%<%\߰U̜,ZbMd@{7Alr׿yh)i('"ezAIaP|:^,6Q!4hc3+I(in2 5G= *Aٍe3}}T ]>[u7M"H 4DJ7nT =wϳCn30g?xߴo3[( )ń[O2&q.\ex!:zHSzc@@Fj]ʺJHl  X$cfװƚI[bִtU?\K cFWhIyoNfM*ndqMGyehѸ*C%+Vr/B *֝%v|$jo:٥'ry㗺v[׬1 &1"Lծ{tL7S7s'N OcTCy؏&K|$f%k]%i/c6{^k/[ F'\Z;=BU*-7:3DZT6lj0%a~fd` .$'J++Jb GLH'D[  EwsSMQ6HF|1f,4O#:*i^YT.: '.%^k+KkWPrswlstz Ɛj*&hh⊃ie& , RTJFfrNoϑ]/5/ʵ%uncY5\'gʃ_i{N/)$NַTye68XcPs0NzWu#,afYet X^m :(xv~܏L S);&!{WA"]k-" O*7M>_;)HScWT "货Ohbpn ǑcTe͐(& \ڪ ԉة΢k?I߂xͤ#nT p9# 4{?6fT׭Oy[~'/iK_xX Ur{ɧkѢt,,Vq CbW(HMyTb rP0t=Y`l'#f=r9:Te|nu px=IbS\LVy)%1鲹YjX}$mpU_+8%," BYYAxj>e",oR>WH[pYK0#,@]ΈҐDꮔB/'vET)"\ۇcj$}\#7\ЛLtZa5QB+ŝW@ X7홷L~MbJXN-jP*AK-5ܮȫ5/4 G_kCEeҴh:ZCVݺ3.f05~F]S9x( `i4+ǁfuͦkt /ҤAʵdu eoGRip_v{:XUh,&vfê}<&{f m-eMniTA9)0iXU&n&=;̕ңWS\)w|*45P)IJofܟO[_޷0Un5Sb[vQlBejF[='>u^\u~Ec :EEE"d[ud$,~_rf&6$ SV%d %Ƞ. ͠ UIVC-d-vo\1uh,m^COw^\ÙTl{t}M=w+7Da ߖ`qQr5,Lk 3 m>V9g ?f qVe_$Xdo'\2|=,_EK(ZD@rm %~][T^{~]x :vld4 KZ3{G] Iqڒ/7GM loe$ nhWJM83؞:.h=_fwK>py?{/ ~sK{Y E9Ç#54ljR3Fg G&Rp_9Е,C_of:sS+MvuREJF8u5LM[[\g=4[$UҴ}9VPe8E,DUu#v\+D KqSX)0jK'ɵYư(ulwWq sIj}YIWcB38HnG2$X{\8u0D'&xb? D#{G1l#֞&X"Su~x~V2,.[f/ո ^ĘSdyX(ƽv1D9 pCXR[5OoP"I^-GmȽgJ`IYPQxu*BI0t}Y ~kbkll(fj2 wwKTʐv}XN3ay.ܞaKNȎ0Xu8vӄcu+5f*kmH^jtqk}nY8$H@9 YRQތ;0Ʀ:BԞf &RxJ5'l0ɇ Д:K[KH՟O>$P T)DTDB\NlGdcB6K3 ir# LJlL|Dhz lp=?2b2ܱyUWqlgm4)u<{ٹ 2ʣABMd߁qn;d5o4-/a଱n*24 P1t~iq=d^&Wş=xqԖp)=s9a<ѴT`a0Cx]=S/w+N6\잯3ׯw8M)9̠utFK~y-03bA"!u`aA؁w3a`ey;p%$$N}I $M ےfxXys!UL%K_'8.drxL^bjVTY[fߌJEgKx$(!TM:LΗߚ%KQJ)³"RYʕZAX[aDRkmuÝgk0ƢrYʥ ˷ ZO*-T鋝/k)!.qvfIAq6ݶop`2Xp';unsϭvStZ{{wQG PǯUR?{yapSj ~ᣚuLӜV1q* DUl}CqeSVr<[3;OC'p^Qc]?L'ZE-^qt^ŰTljwFdz9`@+RLS@`CЯm3~\<9nm':M;=#xVYBx.H;/3b`[((&C?R/_L_0HD _DKʗsyc"ge,G8D0f6:9=$?HA7 fliZv噘9(OhU D8kVBUs9iUg5Ib9 zP`_UFGou{%U҈нl>%rZ5qN%ݺbJ66$Zo@ Hfbu8^1کFtVj 6~Y"o];E W[ R>GyqaN?bȜ5$Rdи@|f2gݚ`bx°P2 EYawg>[v>\zz6O8VaM+7m)T8*2 ; 4x3l~:$%}8RX k-yt qe"c=8~tٕs &;mZy{Z;JEe ]r0쭮CWIVPi7P| z>/#%o6X;$[w# o<`X\ZN?Pl)8e0ch}˾R>w$Oi$%EY/= 9JXIipRcuF<ͿN'H8s1la+ZİP%Z7?ɞ(F16aENLjmѓlvߍM%4$(߮:.% fR ze+;evGV Մq>y])϶JmZ_ѥɿ4=[V?X|΅ TlVj ֮^e>enߍy= Zy[p=Y8;J,l _3=!Rҏ6#M5zM!@"qmR}='3%ا'T?;8\Xg?+ZJ?U˽_6{b T[(f~ΐ>! vwyErxsOZ`t=jLD6~:{;rL?91 ձ[\(d"v#NA<Ԃ<ʨl<3/5pO;Y `G^㏇ C.B*+!jGՕ CeFaggv"2|5]QvA]^XslYY˸VЫih&l220o9h%unHu0qHtnWT*^tݯLNbN^΃(^א*۴^1W-~D"#U0W.r,3⒒0"fwY[Yr`A(8ٕdR}">_e|Pb%~IrD(ׁ\LKFh&<0; BbvĤH>ԼӘT48fqY"i^o7)v7/ߥK߯#M2hҲXB_XE(an6,4So$ eL*\Q`oIr$,Mu,ݐGOVVo~L:+mxaYr#sngĝznz`|j<}󅏭^:fj Z ϥ\5YY:ū1,'U\pwqۆy>? $7m7 XY'VcWq|^şxSUSx6[ ~//On(Yz!zqpk~f/{!|:|X$rvÙX&pyiҀ0m)`X~~{Mk"𜍙7׏Nd %*E~0xjShgpAdJ[n8i(>.=( W/iscv߳mQ4VROڬFf ;}ڲ"7GU.݂ Lِ v}"A`Y|I.ލRS'd0%o e|P7$Ywj}т H;#~'ݲtmɛ~Q/ c'e%E~ɖ \g K |1s&z}!h?̚J#8+QXfRR4b֙c]#OE7;[_Z6}!.)/j& +FV_*Dk4ADru dI"u^^{$g|wê~JYJ"7<+/cƇ'|;OU&>>Yaۀs!UW,S:wE}_2rQ EP&#SՐ_^.bۋ~BR14[$:xE$,B)6۲QV[:܆E,h$mJvmpLS"@Lp6(k5q * l׺$A?H2oYݻ9 I)2 HY sPUֈ3E9|)"hU'8[bD òtZȮ3YgZ|M8NC^2OG)sBH b;a[%Y)ي X%"+g@&IUu.$'ە- Ѩә[bw'|_ňu$y_<Dlu8)L)?([M{Fzm^X鲾5"pQy.F×% ޗeIx€{F\:~CTl7-Kv}$&,[M#_W,i?m ~pT̩VM ~_&IZTs^_]ELxn7)Z OzN@IIãCY4,p;RO2m ~s[sy_~ꅕ̦kda|_nɳ0v?Zd*IANheiLwv[ K;axjWVM[]1^CS!21/Za l?[ 5-Wj>l ]#2Ew St&;*POn$<-k1U%`aJ2"C#w]t(*٢3dXʍ!.L>/p-(xپ-xsg?4eƷc ~րs9J].^Os#)C6p󬘜G'YDɝQ[(LWB|s,͗f7Io20?pP|?ݲN=ju&$id:8u:ڶvS2^¯ͯsLV1(=m Gbk"&ӥ6|A {3>z^DMwØ@52]緅}ޖK~HY{u˩E17(قCNLސ=0R̈*8\ %(,mmYI|:ʟ ;lsiI"*'4D𴡜 |==vb>v.'=`LA3Q{ɥ:a`ʌ-|іJkLry"kǯB8訅_\LZ^'^ 1F}Q @ uo/ cvŷY0\XuC#G^@BØꏓm-NpDGxٞP$&ay3[b; ]PEM~$BX()&e\IKdJI6ZVǴ)i5@TՀo E=cë_Ig?1`mXB%u0A,Z ]SD[K;s@'>-ڸSǫ(/NtMsA]@I'5S!PI"@[ xrĬ ºIɤk攒+.nԁzD3$vLKjw5MѻY݋2sZ&/P3&cF?to]΃pM8:TN#+ol[ ^\R.#rxVEXϭmʹg94Ҭ;<5nn5ĎS"N̞7`15ݡ' DžNG1_^$7̎Θm"UHH.J /K8j"VŹu$m∳F~T3WVY?k<sd\[m-LͤqbѨ -1JZ[ Vi :oQmZwK?7⪇#h]:]vs!s؏&ڀwR?, ֎R#<fHLk&w>;X#\D0(#فr69"yݟ!RI.U~G@z5Ee6=ZakTo>M=K =Gc34SCπ:5B[&{ OV-bVpӮ9'_ kqi»At|C{;-(FdU{l0I5}ashhfԢ]?Vk`ҼGC0awQnA}zd4~x7fPiprg*>za04W!w:HcNjeR~CYrd>EP<6)D~VBRaK9,~WFdhUNrR"AS 4!+>@[wKK_ٖ?0Œlu^9S>-w^wCh +tYI6F[ϟ}'`S0*EsO=9|:yӀŸ K ɠ0ed =@ m3 \f_W;pv>?jwkӗ>vD `̬Ğu:~CaK&%rs9߮~ݲ mf7 xjc\Ur Ќ` *oT9E HU Hq2> tձ[wVrA#Ukyg 'zd|F^(*QB!9h%ɴ۱obƒ(k.IgPViX mȳƟt2l"8Sɸe*gQErE1Ƶ6l~c8Z3LN(Dλ엹Sil/g(x$EufS05)4&c^#%r>~ WEyn?DkYyM-yIjЄ2̅v$䄾/yR ߇X|7nxC׃KjkYi8^8~ 7 <<1tGd`e߹_7W#FraԂkD8bP{5'7Ї+PTPsNG:t+τ?Xl4TN?9{8TT%pl oBxIGޖS&9dS_¾+nI-ld 5㼻zSMp򓬳3":غXcl$\VȿBCS6ߠ9{1>l!eH^Tc'N*p}gG Veپ%eM Ur D->Lv/i9FH>CI*\eDv:]Kj$ N\=%ڑ2զZB2^C4:yO$v-vbzub+}()]x|2a\AQNϷMxsQrr3:~q DK ?6n+*zn;)V{ȼjH;Кb=GLi1z0|1pEOSR6WHE"?9B(5Gb \Z' P,6A'PZ"i^V_K]Y䪉5~'|jJ'פ<3X4C I1,nG!);8ۻY n'! MbĹs1[}1Nr?JWowMoveGJPwҘrE#z3 WLȐ Fݲ\jْh{&[+ÌIt&e?ޘ߿!.p3vWc5d};Kryd,c=Vu00PP=qԤ\+s.n16dҗ  L1E12 6m 3hJrߓ{0t&tهn=$ n1y|.5pd/ !Zi qs d2aX^<}O7߮G£Jax2){Kp\)!]k'hC>.y!Q/Ue5ٙeL?HO8rKH'3Ml¨M1!E?ļm@RcV/gWgQlytQ-\&$WzՈa(-&16x|1Lgߘ\r6-]r08B35wJUXKhv?%aTS=,li,^9IJYApJ#Qz:VJZ55S. $0?2Lf/V/BjHz98#h5-gwJ}U񸺨3q,ns3,df?LSiucH O:;:*{&3ׅ7SUO[&M)"3.Hy:# S_b珀SUvQNT 3zbGgŒCm F܉#^V!L' M:SǖtaV!FG+W.[5K*8ϹB__h}f*[B0t . JW*PϡA8oTŹ!R}cFřwޱ8w_λ>rmP5BO$Ե{̝ϣR88fl'\ho<>2HLV76TRW!6#I󱗅ɗE4(3}YrND].C—_ǥ5Likіàre)53hd%lۨuT/_Y/PyZ !P,wp&ύF_GZk輰㎠ՋGa|OByr3äkUY"TƗmg֜ig,~n̋ %E)Dp'{y8 6[/v e94v7]1-*+sn7k #})ciО۬EJ0/l<#9ٷ!3lnx{vt?)7&d>}m&>ϙHVΙH_^2b^1 NY?nPzOLxL2byg""-Uo]*] ˨0>uJ؍i."ܩ^X&gǞEA:rVt 0EƖrryZߤ I ٪[^s?- Ca"D?SYj44gR(y$b;& &Q*z+_-@vt!n1O UCrmG(]t^,1Cwzy[;!I,8b4yLys)˷%9s$EMsM9 o'9&*.{ ?ejc?/rL]lR*/kO9SDk<=v|vqeIk3 {]';Tl2RaܜLICpoY26:'NYvd(H㛰=a`<.2ݿ;!+ U;&g!~Y6et6`##lj_C0Y-Nd[?dD>n\}Eq!- 'bYt9KEÐ2/l6OyY ,Ă+>LNG<ϲ\sUTdH Z숯K(M" l#ʎvH\ mPdLTV~7ۀko>w<WDZz,;%ԩkW{N(Ei ugq718-<{ *`╨(AFkdPq'm=G2J$z fq{ o[!Tmn’`d-aү Ws&Ig C*e-Zᥙ&ӈ\?KTK*B9ҙ.mq;oVy7 QH[Hh쌫bٮrI|R;jy =rT+/ִ*e+~a2|v#N/:`HJ9&0o\o?u)~ y80s94" &Ʊ^ps|q ~蘒tzĒA-cC3}×hg7uKw "8exiv8}\^aY<"|/v>ŀT?D]A4#ڂmMR>čuB):_CPChe(>"Kzrq| 'i7&W9c4}݆[L'g0pPop3v9;yu/ i[PEʑ ]X[ÒV |  t,kI拪pfJ50 NHH~}6l2_ۄv'hvf̸ӛj\Nݢ3;B % F1KK /Q9\VATarS0؂I!.B94C.K3K?ۖHbȨ'j;67 >VtB $1q PWg)vꨑ6<8?\;ڑ7,G$YU=|ӄOM͎;"A97$ziCfvEw=?d .?scO8_tg?kJ/r ]:&}@⧑13T[24.XvG8bֳk$F~I nj0Z7)7i=udDD Ȭ ~N#WP KҺ6{fEo+N[[ l(@\vKjn]j9'F[>{ WUB8L+Xۏ\ P)O,>WzBZ1dF]}- p2\0fǬـ8vtr)Fb"Su;|s}AFw;Fi#*?:vsytL^ylї!}J&шL^]3 |:`gJ)=mq%A6/ecQk ;R/5ȊX]9P\@dK>t '?۞pGέ.}ry_#%@hk4Ԗiv.ήը5I*BR%5V뢛8xw.?D)<˸GR^pͥ猪\WGfV8*qC9l/_$ta_~aS+E)k|/a7 UJ.ωO//74|4j|rRg dQ &!+'%$N>04$&K\{ΧMz60HFa͏d_]#̳uy+>QH%=4glfpWO_c1{2|X)Xe@:~P@W"H H|B82Hr@OS1,Nb(a|$/(0l?\CO,d24Vk˗es[mNSҪ`/MͿ մ:EYW~QIܔP̠KI6FeV+82%oG  q4%U:O02<)&o+Kj(/iDqIEU'}vH5ig^ GdiNȪt>VY}-^۱HØo DלEm'1JDn5>0~˹/)8^k >7 3_=\^rO30ePY,9ΰVWſlMvss2G:+ |S>'~@x牧Pw  !Esd۩3QD>>VZbm"HL= ~GЀ͗}Rh IJBMR`Xbb$ƀ<:b%N~A2SC" RtgƣFç>)=ǑB! ]Pa5U(jQɨۊng %n r @!Qد[.:=Fb\CQsQ%VLJؘ 9Y3NrIeTWz)_9G9ӟekU8}pPB-|/qrd4yKC*?y;GJefos337޸_F-scL) 1Ƅ JX(K(˳ϮfoOi^AC|JdF3 _X 5wfD賆oJYa|vb4(B~(#v4$~ V)(_buOO}[kqRh'8a<[Xvv,Iβ l\d7PꜦxj#RO@7>LFx-tN-Ř:eydC=r%xp1Y1٦]*XQ|W*o}{9zв: (7 ]WGi d3Œ^E= NBJED%F(r(ss Ơτo/<*73y۷[-VKH%!1YeTp \1!IT+NyH)`8 Zj[=o;{i4E?$Y[}={}{]z'B@ia$ rFw!@f \%DQe>BJW͒[57*ΆI+-^q!;- l84zU|X>y !"8]r1o giD liZ1׍3󜘋(]=DH.\QʕI҈ճl )˒VҚýuΟ;jpȭמgoJK6xJ[?ec}]G|??Q42*9͝!۔Y|;%C~G}YYa$*5!Dž)DcKK 4ZiH)qBtFQĉ!ҒD$~Q=l!$b*kg9A(IM,t\@i]+@U9ʲ|+KSY Rh8^~^}8Q^1p_!L(rA=Ax~ɧ9,.pɨ$jz\%ohZHositg:ܣarΣfwH"x4`}}+!;|=O_|i+=ibFQMkogSygX\\l4[',:po 9 zge*隈߇yw>Cnt-)|OP2ns"wҹag6ha@8> zW_ /&+J @CB0pkpԒ2"2T(B*)$mspVxlت?B 4/LG x4q>  Lgw^)y^0(7:W4`Mq !Ql2 Rt) 7(ImZ;'54ykzO Vg0mqx l SUuAZ=go*EΣo{I||GsAhOSOph1fp> lOђi ꡧx_}XW+AڒX)"xKB 1>@E11^r)j2ψML@|R\V(&gi2k!f!ѦnLLpGpd47+>[Pՠ CY􈒻60f7j<1jJ6[7-oӒ| ;;dÊ1.2^FdsbVk^@k1 @$RkD l9S" R፮ZJ 4^5Eƺ4iRhgF/C=hQQBB<en^WC Ϸ񶪛1wqZ_XT-tG!|//"7ȗ+ L>&b*︠/aʌJI 2-s2Lm&)={ d4*m:$loݥ vG>dbs0B(APdBemD9?ͅ%VGP6_c:Hcc>{ѨhWsc+2{'"V[ZCd2!DFDu!ND0*(|Q#0JJ3 T4H AC,kFhkr30S{OQd9LDQ00LqXƃi^Xp.b"y5F՞ 0q|C4Bƴ{T2ÏA|aeɕGB~W& )x3>҆t:Mr yLWɂHw8"-&Y`{4_}""We47oݤ)gvƈ nwd?sl^fk{osʗKlRM;~'z{/"Kp EMƓ xҟ~}'i֯-s/cG)#idt#:MÈ".;ISĈK$i0]'3ɇ鈸w}oћK:8!? .Q#֮%1 c*nn쓗CZI`4Yq`2P,\NYRnGD MD:]e-qק`)mT$I'\U!MmE1fD6W3@kJ$)DS`!HRd _mCIw7FRV,Y#ISwH)@J%kJ2YT"ȋ +eNRh(e$cC8 !G^dVڦ`o1{[/0"X<}Sz=/D2W,DbHVRҞ'Sƙ6naG!D-srS*e0)xᕫ!Xlh{ko?HC0N'bBIQfXR8M#Bs? /sI th5,#|D#K?S=;HqBY( HҔ812gxog)>D 8rMrƈϯ5ڸLrqaQ!`Iwآ4o+/|{[N]d:Ϡgni.UC//s84%E!!ɷҸʂ4PpX``TaF[|!4 !cDmcѢY`uE>ȆDU.GVZ$1q+8 *),+Uf<RBAW&xsxҊΰ:S 1&%aNW$HNQ Cק=Ai+v&)98,F"YmYzy[v'҂6զ608C}7>G[ BDyRBX`{=TrĠɊ卝m-5UY7uJD@l:KT`m"#lA*F&Sx b}NDLcyl\h5П86Q5emwɀ*V81]V4'Q.oa2|[##!sdV1. 6z)}o} Hxwr w|=e~CWo|6Gc,-pk/ 'VJa1]4j o)\ۂ<x.Bt)F;|LđxRzy1?%VW(?̿F1/ Y~3si\R~S Gu,6Bs/Ї-> Y![d%?!K"%X?|ɟ[OO?\h5M#薒X wpOz&rYLYiE nܾ. '"ݨhL-yo}c̙_LŅFMIOYN4 ۛbi:g/|/..wU qCfȚDG4I4e}cNϝ cn\GEƎ8G3#TǤvO?kobnrl7=+wnF)t/2ܿpM&38 clĝ{ttt_Gǣ Y^bKKYUXklYMiJF-5vF EUPSV FZ>8T$IPDT%Z VO'zϤDڐwc4|?!Tv`gB[bGHr `5 bT"ݘaoy/nO ͍;4{"kק JJQu)@$Az$i贺IBd 6&A|ԂbVJk8A#xoMbY҈cw $B`8Ǎ1*^!M"`]Em/h W@ T#"d͜ W4Mi͵Q:A*Ml@.x 6.1x=~sTcv7J9`8'`{&^"[,a*<~?y-.>pwa+mJΚݜ'NdŘ(i MBٮApGkSh)D` (ꛍYC)d}"h\Vݬ' 5*z2Jh]j#P,-z!e)~%yZm8cgwPR_XEYI՚G5RBeSq8*i374p#oG g3<9N͏?-ؼ(+VNh$$VHJDhUVq}g3 8OUMɏeÜq`t#ewB*IUY_еXWWHF)RslVoZNWVǕ\(.G&qĖ1^aT8},R}v[9>@w$ޕh\RRh̑ HS4&='IJt  2i1*88pEHc| L .f;]MA(#^ŋ3|P^P}΋-ǷS80(HFC%<Ok7/bZGł CE>hLF;:m&o s-Գ$mn[Z=/tG!H:Fh cslJhbSyT1;6x W#_B@!&-7Cf 4ɘqYXDΗ{#A/ڨF5j-`L(QECMd(i !Ost 4G!HO;DqMnx|e: A>MUd zj'h74')G!]hzn"qQ1ū+=u,r>K/n+K4)>f9ڝ c[la&9(Q  gN#E]6֮31ml$ V݇`}wqczUɱGqR umHieIY8 IN6($n]$6QD=*r!)B]*5. BUH@HADIA3 HLs$m""R^oyBzm{9뱑[!8+*W"e=reA10iB<$nFd0$fpc{kL8Ƌw5nr[o K.g 6"Rp6gmoрqv2M N3'jޏ$wGWY9{Ic+h,Ɋ[_ĤF?efEܨ;TޑvM={b&/0\=[ởz'A<=HqBj%KZ&&Hm.Aj)c{$Q!fo}KA,e!x BHuRAL H̩yLb~<5Z q!}NKŜ\Yi:`r*rnoAE1eX8{(egOvU] ƐGĝ[ػƆܿb+qpgP9^#+*WE*Ah1L 4 Lffh^mzD)@P; קf7K-[X_#F1*j/\) [3gz{|u}]ֆU#D@H?YxDZPNHq_BY5Y|&IB,XyPL=iܨq]$a4`J BOBHpGm̃,;ݵgg4] laqAXb'(P9)@ !N1`*0Tc"0m /X5fF}.gi$Ug;5ݧ{{ϻ<hD<^XyR` r"O)g>Ib:R"D L4!Rk3m!TQ"4M"GOѣ6L fs(kb̈́Ǟij o:dxѐ"UЄ0&GȊ} SC)+n|6ր¢`24`GyOpߦ5YkŬ>Q$IBcvkTmo<քd _:D_z;] XEDcf' _B" QH BHiQOU2AHAc\)4B)M8=|"ٸ,t*"45(-hmw{pΣDFR'&$ ]t { :oVg=A:ZFfȨYGb&-c$hgI*W D2x麧:pE] C*$Δ˻Ծa͟){V{봘L81xUaqdB_'ZEE'w_L]7dJS7;`sE \%Ӄ#C &+zFGC^w^/oy?E[^E+5;ðCUhgԍdT-i1.-hŸٵJ2ʪDɄZDD Z% `אrAhi8yX$#nMRq>$*Y"6 y1Ơ¡v~_ qIDATCa8֊8KGHՆq2W~gO_L?%ޫ8A@hJ+Bq*(5Hsx<(1qY4LMG!^HJdPThϻf!5Z>s8LrcYS!8rJE B< gj 7~ [Ldy"^:S)60'>={(+y[?{Z-꬜ZI>ɏ Em: cc[;]{(g <wpB(t"|MǤ[tB%4M0$ޡHMEE$HeB(F;}L N+woyZiJ~;칳f406cy>u/q㬎7rU:G쉞 1W1w_ ϯڷärr?༛&"g!'A(qt[i Ov";R`Ӭ~'O3ܩ妛̡r*!%fjM N]Q”`A\޸V񟛛Tf60ΐ%JL;g %rV"Պab"IH7͑mIUh_2A5mYc< d7ď~kL ])kcOAE9١1獌0'LcL9*RhMVilL uEg%c)T 0tM4x#{G -g!H)P7A4˹KbB@*xgR /A!zssrijHqh E;Gk 8Զzw 5Nbw2wǧy{R@cPeIc*:A gkv<`\EZ:'3i'DHcLw&n8 ȦA,Sdh!SU`lAb&6c%GO|''}իFl \\HMz<ٓHF:&6\%xO8|Fӌ60GЋ;4IÅEg%T:! )w5"+e+|pe1u$,\HVS<]QB Uo.xX7Mh^`ǚ3D;;%D@iMD5uęF$ik:_#u B@_}!Bo'odqV'+m!"wb2ܢ2kؿAHH}Jvɒ-%\D7QhPjoRd x&MV66X_@]J4!)y4 $Zwv[6غFuB,r%}/#}vxnEҙgM9b`R4O!/X+6h`ʧ}$dᨹ.?,!\MUTr*=!eBJ!2X9GUMLNR$+/=!@৥d B"B yrU-Dc8sajR3.K=LVd ^<;h5{gt;x[d;P G9(%%mNn,zifi^$%xO|^;~7GiK-EZ1&NM%ϓ}AXƜ9pPWp!ńX0!T X$mdr]{+yca!᾿\ yN>ſ7qalO!֯fn>R@P&>eCIkɫ}2ϳkͫ^jtWtJҽ"3|l9Z$C) 2N g%qԎq W5q18O@FMݏ h Uk{ab}N@Vdwq2[|dI5:H Q̮E"6a03S#TP2Pis) GXQ:إCH\+!nyk׽8gs{;﹗SO-iev .P.P !GOPZPhU\IbA%A &*!$tA]">kwq SҢM IDKp! o9=\,=EBڿ4&MSsxqKkd~!:[Prg1%A34.xK^r+ӌG{Ny?ìB JVFɴ9Khދ=$i?8rC( !0 $Aʄ ^D#Nа }Wk 5m1H%IZ]c!DgY0 -RaGT֊dB^&X|/?|w+ O,ljh'6Hn I _|s%- /.?ìB ι(-Tu#˃*zubB!&QԘ0*b "Yh$J!B$$BQ65lY`i^.*a)>YLR UdrdMPZQL[):{α9\aia?&Y3jKrf݋-6r }=7)>OCh7½ӟ#``K~7_Oo殻^d3\stT|:] zi fmZ9f2ܠ!"mKצ'm^o4 ߣh嘱'3.qMMeHCJ^`!ԥs̝Z_u/ԙ3,uq8yf+oo?^n9~m>z9B?×ABb! 'CWH˔;$9-dtTB@"P:1fuT4O] j8Q41 iU5'[\t,i"06ZpuLRI.PU $t[;cC9Y!L`E9{)q!U1d~k}elu^;ȑCx+/l o_M,lMvhZQ/p2deI(`qa~s BN Z P $2hd4$h:{ k5%EO;Ҍ!0"IH(XXfx(O{_y ဝ!=֖G}!p1Sg.qqkBg~oza}Goc8d\roVXؾ9ʚYhbΎ>E 3\ !4>xǨjFPw3)lr@p# IRJ+w(q 2\Y4AD9h8zIF{uGc yRmi@YWX(mTyAj4c*3yr<5I nji*`N?C3n |x8"L.rk_˫{,2… ݻ-Uz^Fam\a@fv2⡧/$)Yh<$QTk-RZΐ `a""~q5,j9Qqꜗ,$2M4'nb}а|^9Atakyҍֹa8_uˋZ?w::ȍVWX]?K5ZE+C=y(R%vN__B'W|gCN%*"xG4_+ra}@  GOV tNhkI8Vd bk S1sOB+^~/_=`Exsz]mo/1}h4"MS Uo-r])|DF<6j! YQ;iBΘp =w}{XG*dgH[*1 :[[kJdT8cE4(RxR-1xԶS'4OY RxyA]7l6yH&"bLC'3 <|#46{a%w&ǯ)!^;t[d|}/X *#i-0j HP$؆AEjQT$ 'HnXqI-`-b<3l1^`"ϰcD=a2ޡ4釸ȋrN 0X '$h;kTA.Ґ'5K*$ݜ y|Sll^t2EݦPrH*Ν[=_sOԛXMՔW}YB (2i#2L!喏Ĵ !,)Zkʰ>~Xې&yRP#|o!n8oȲZ+jSZDcuMgZ.Jp)MJ!9$xP TO[?oҔoo`{p`jш{{ j]8̓?׿i4 YׄZ-!~ɲXj.dVIlH eֶ&T5RxI&&@(O>zc_ك?ʚΞc<[do{;~g=O:G9z0!!Òs|bt'i1O2;RZ.930 45 hp>{GÄu|oͿzk[7OwF[(r<n eRjj"yxdaݼ۷xxgw}Zs?Rk<8<`cS=YgaYBXk9;8J%w"elT?|<[_B'-tox<<$Yu;Lg;0,!|9 @U۩e0u<ϩ i,ɲ !۸p`M,Kdr%d!Dev􆈞xjLnqc.0R{nA4 rv8 %t;"zGzJefsU$$yfse4ὧ<fag=syٝafq^~ufaf>1af ٝafdIENDB`P"} XWa0)x}TQ.:$4'4X}pwlwgp2wwz{^==ݽ];HAN )f'EznNR J\֦$+yy3!6mBBG{M3S.))dDZi[00S'UNs#kO\*b,\{3bBY163#[# jƈv3*nI)d100_.QZh8ؘ:51GgcW gso @L $8XpQ\bsTXc1d=X{3.M']瘖$->@E={J~_ ,6IetRH{zau=S0H`IM僬(ذIk'IIg8& TR*% h&G\:+$J )0%%̧b~p@IFzokvG^nӣV׫ rf%#32h@8~=Diב RpHhhu]|xXzq0w4a;CXJV2TKIgt! {mmmfN/P[ǀ`-\@FI&$;:xZVSð8՝}䷚* 3`"J  CiuX_$a` WkaP\_mr9\p%,s|I7ݽBXXX}Zk7{2fC`vïRjԍcgw4??!@_.aw}qq\ `4K䚘߾Ps\]SipJ8)mmm;;;u]c>8c^ c@~+]Ve+nֲkܦqj7fv/=pҗEA* N/Ejf"J"A`C.'N2əXW dhݔ&''zc_##'/ε 89ap0X`m-0kk׷Op@C-L<:\c:SHT6#)K*̸46ΌZ 6QQM+111=FbNN"'7FB(^JGyyyN}fB*ӡ2iDɩ)Nyvѷ_|0B}6qo@^^8AHζ!KsME\?ItHtXa):@Ԓu](}@ymoB<Lzw)T=ĠGvE/ݾb|WlttSD*2kzKaTbsj>6䤌M@a;SKO&@9w j_ 0yI'} g>&}?U–J9 9Qž({ ךgQ|KC;'46\smw|Br⟪'H!b{ǩ m3N=MzoFVc8)A_ͺ՘|9>|WΦ.lH<2  *3ʟV.lv~^/8' I:ؗQz>q-?( Lv^سkc>l9b=W{#׿a5Bi,;|/7+w<9-*~QnP ōgRpGͩBVZ VH,uG~A5Ju̠BT%.zNrMN##r}gYW-k|d'A3di 싲*O->#Yw uIQO`7`?vtrr0oj߇2dbWzqƸa #iGyGzJ t#) fHo1Icl1j<TFW,z|(N_sJjy~N(cB 3DR&78*}.7"ih_K'ꗊsSo͵V8cXhߜ?wbx }pr]Q"ɏ/1hy1a ǣD+|?{/bHpơMKڦ J. */ǢL$X9MBébWfƤv3E$Xws8ʋ{NPh)k籵u{ꓨlJz{i13{!һzBvCDDD\*k u9yvQg3>rc\gwxWڛ~.T) 08zUlTG☗!r0?=ۛg6,y'DFfQ{9 ~-KRޞ0 Zu7Sg ?̨~sz`ϾlF]Y8U͕$4mIvjRX(S? |cy$v(k<@ ;f!NI; _ڔRӵLfb8S269 n? bYt73.[ޕk0Otyk@1 }8 8),ܱнXԊ=5N'd*+M] b_G^g>>3JښrkKucۄժb~`ʃr>U}! a\~}̧k]oӳg l? 8;ZĂ6jLشf:WƋg>ۀB?2OUu͵ǻzG[ soE1 3- GKX&eA.^6e`gks#N6É!2<Sb5d;ד=5_ݯʄ|#ҪnrZ=zƄm7{냄[M nhWUcqQY>![MG5W!:wLh "oD#nэI:0wjۿy((iV]K{74h]'A=Ƹ'eBtHmR *"?o⬫6^mloa1YuF-n}w:mMe(e`%iv?8+ c9\`{{k?J}y1ii9c0 }03q ~ZC}5Y}Auߩc; 儂PiZgFO1YYY E>زJ{0|%̉UԻka{ \;qT$#/cEPPTWug- j|fE$x22ggMP+GUFD-43"]QU*uBaFos O^~ iOd϶uHd]7Vg(2ny/Jc7-bU% >i,bѮ=;qbSSeAj:tJDi^ԛEߟL|raa;~[׻jZl )'&VVVMB_CssrζGߢssЙrL\\\krX@ hJ\ ЬE:mX$~=>Y @Qc}>T*zeD>Qǧ~>l>h1Zyl;?'XG|cP|`qLg<&:<0\8G5x6BFսa$[C=/+kn9H]&O°+G_Nʟ[-%xׁCWm{cZDLB<ϭ^5Ull6[=QDEj ^?%m)mueDs\ܸOQaZ*FMRd.>4'+jw~j:PAeL-(p*dfgg`;Y ! !^7; ˗#g{AqB5+^fLqE4)%,J:iWo 41Pz*O c6Wקjk}d*h9Lfme%3VvQqqz@@\o3Їq]3ҮFda1>'ߌ lknjGEI/Ytq?5l9#͘ЄȘ><gx\5kNOrXnzs?迆'WxT!|44Ko7 RFƪr䇷#"PR# tdU_Ba}yl|0?44yt4l0 -1? xCؘ)mVzi%5c;pdvQe{lYZ!<':+5m`nG[բF|$ڜ74\-fBeoþ܎ovj2bGov5;Pgv&v:.jXO3+T_#Y?#xu?M +_~8'/uD[C0jJɓbbb( mZdj!aVUvq{3!3Cĭ6l%JFKameOa9.+0M kg*9Kwt 6vHxF@N~GWĀ5$quxC]9첓ۮɯٱC#g+|@(/m9QM8Cc`Hp쓯J.] >y=]GOX<~&&d%@Mx& %n,a{ƑbqĨ\3ՔlR*8X@{i*u\~:kmt_%YUs?oM;NӬl]R-}JM):e-=Bi+2 J4bF"?!Ia1#-cܗEk%!$dzBO8BD0/oֲ 4͎N'Iɠ2ݯ=,b222JCna;?ۖ',,nigkt>)ao7$&ǐԱ UD٭_11p50#-+:Ca1F9,!, lfe̋DMɺ0Q")h8RxYSO\h­uys3@υ*qoWhUs(BהHdKB}ӉGsvB$T@@άnfars$8@ {7m,Tb,w\i꺓 ,ZTGT @@vNVi\ڋ,Qk$㯅#CǿU#e\ϡs?O^\@VPZ&׾Uri\uţ8Q~OÁ_/>m=9f}l/CY۝^mB" LRI_Lc^&~ j"ZBuR7l{!fLȫ^'ֵ4Z쟇olMe~< o0[b5HF!= (uvI$5^J#K^w'=ă&|8'ѹ =KdxW82C#k:fV ;ʷ#hcʧpd!I#*k'~}x;);"p;f0ix Io;,;>6ŝPnձՅ BG֚2mnHj-vYf-$va%X)C,Q<5J)P|C]z2tum%@@ZIo GE2F7C>9{V ~~aroů*v9}=h|97x[XBeߕUXVta>wW{S1ީa+VPt";jN'KUL+9Ghܩ@O[S?OsR@/+3xȼF+ᙠɩjň~۔A%%с@cіYP7 ٍ3N:%M?/meCؿ880١ջ"2&2/s5!0Ů ? >˂ekA8 T?`⬄8d<ۉF.Ũj;db=#11QM]`m䘚!1)bVJOA$E[J/;ܬ؏7 um 6}Y\0lKz˔7lt( F=Bx(  BՀz-Od?$)asVE՟/@^2clu\өݿ[o aS)3g_[{$Õ} flī''KѷQѬĨfF/5 &̝6YS=\㊚ <_*$%,u=t:5#TC}w6 PvBr5O4u-AU oRab3s!|5tL|{_y?n-i/4na!~iik$OTPeanuiOϑx5~zE0gz4K=D?o{5Pŀ%3PUWȆ뎛q!@5Ȋ׷z'B KZlI<ئa o:Ua ',qpDT/%Ƕ=QY' oИ'BC0j\x'S46U4$*2 */_f`5Q4 cFoRAs-)#+Uge_߈n7 DʲFň'z)Yp"f͟3(w>.,P#'%+RdJ4텥#,K#֦>/*}M\T*F;:ۇTs%^OVؤ<?I#c9wL]\.#TYwvH}j2Y!]EǐD%̗0Lr( ܖ9.%ͳ&̭xv?+/ezYAz=~"9Hn/z>>nF?~g 4=<.;y4g(w:ysƽKGeicZ/׋@2)IIi4ǝ>̰k i`M,_0]gdLn?K(<怾>!,уg{*$:sH\6 8b25K20`D`H};!PSG3IjIyeRsLOEϵqA _!a|~<*{۞b0тj4SfRu]RsvB.G@jS=UQc+ n6'$D$%C78 5(J:Nfq}σӄ/Qj1VTvP zB-cK9AVقx@h Y>?]HSK/5>lo/V{%+й;GDN9"c'N-:s ::yS`2%B'>8lI{>_!\g||UUfgavYIIAR pdon3G`b.'~ A|"{/e"yX}0KĤ(E+l~^O;Ec""WYNWUIIIq } 7{?v9M _A璔eNANm%8q=+[tcYq8ACPպauK &/SOf7v{#)">2E!ǧy_Kh -o9{ 7 bT:1xt!5A fpKaXUter{p,R o!7@KHIɎ7EpP/*R ͫ. IK-"#'vq?ˑuT;!3čwW:RZl?[z8ecя?T^|㗢בE3Vĭ`Pdh|cjzc71Ep 5cj|h;`QvLB2D] ]L 9{?(&?$F*)?&X Z^E:3-3,R&dW]MUHJ7&:[>nwU,Lp.RKfj%_hLxV}Nh~/8JOn{w4v[ qW!l-zcǶ+h5y 9R 6TyY =bw%uЪ N(n QYUc'6o=VH֜/,`3yNA璴[5iJ5[`"3hgqq _6a(k)S ))?n޾w%޼DaW:O 1/XAi߃w/kv;j)ʉGy!/%Uir~$=Ԍ"\o&ϐݢǪ==h Kʋ.5@)%E,(Ts@E8:FϔS͒8>Fv)/;So<)Uu\5{k_- ʹFmzmxevaGt'EdMͭNYRC=`]4(Į`9h܍852{qT&)}T!h܀7:|LU'z0=Y(*:)'9* 3KLC?ȝQՑW*AU)3vc^T˸HG쏯WQCf89,JZdO% NΖi-t`Pr,;B*,i{~Ru93-ywo?:^7*bSe+EWsIx=unkӆ 8ExIa+}Yc?n^٨;5["%{M:s' hUH(`B۾{} q 7-EWl؎'v|'N((l{ʜqAl|h;30@G¼O-Ɗs}wzJdD-Eh;ktH1ǮRϚ~7}F/(Ii%uX}7knG?+ZoLIY3bs"Z׌_(REDLXҘ|v8:~g)H3VHⳝL.P@ BjESt:Eh~[qbb$|79L0RG# u(laݪ쎰S{VV)V'H1$rBk9}#QW0X|dNSȸOe7ǂ+nŁ6 aqnxs7_TOj;L2R1`FZz?Sbpw| W:ټɛ"<VtCKܨ Jgdy*C7.}}[E~:AP(\Ζ*[ cX7߭2/__fKgkgqdI@6\un$3d:*æx~ E2Mo98ꬉKE%LyXpuݾ#64laxI2;3yT>RWy>bI&? MS0eZq V&5áLv80|V3xAqTPeJJW:a3 1bU@lP^BIчՙWϘns5-bUe %GW56l&䇗ɁIbieCt_\f@6| MȮG /iQQIsǍhƍZIL7>EfνG*iNׂG(Va vj'䨪s~&~$9)9uѫ04f=#{3pWWv6 [U0˻/70̻?u) d9[}4w;r|$hjlᲽ*zpE:(DD@V/ [DOy閣'_I!w[Sm|y zc$'!;[>]W$3I:a0*`2y-d0\8Jm\>h$xUng(+rzڐ|8[=xBC˩~8LYMo=-[ldK>6SwVĻ<f@ӤsnIsI<)8j#x䨍Dl&OD`pdvm.8O#+Q[ K=9K.Ǝ4%&do* )q\KgO[Ks[mxhaXY^A]_NCN2 l3q##h{$i;AH{o:oC&a*@h>dBvi'/noB?(3,Ytk#saѸ'wJ{)H=WTBg;NQRU,"@RZN* [Ni&Ud6XFebfhζT v1td|y#0v%F=;??U_ {b̉`cKO]=mibGB֘ l8 p+Iy>_ɦ2hx&)䰦ݶV Ե]B4Նi$჆2ɹ.?sۥM4<ʽf̛֤mwKfs9)6>i2jڣ =w4):}iFlMtTI"A y8>[p:o,fR93SmGͶ}Ya%'Q4cY) t̩ڿ}{dЅ7XOgfYaN["V]Og כG%d-3y~#A7=V \.E&Ȥ,-CE.}D{|?Nu9[߹lɅCDEM p"}7FO!T@uǓ'̖|ҳep伦\( $)7߻b_ҙΊ~wutt^H )\_A1YRm2ƇdШ".#E<;!8?7u d߫=˞sf " ~z6[Z|u|a{I~>6UQIjp?*lߍ]2v ߾~녪$ٖօt@KMJ!Ym3r%Gp|y[m*!V]΄FM0p \i|pB-BwOn)^/,Fy>Jkjsp-X[+H:0zݺsr7lh59⦱(^yخE 9zPRRx9nw%b+PUr19T+_BP[fB7zK ` K y!Nj &YK}; j5| gqm)\Bq|#?kkDj5C?osc% E:. t.g`Hj:!>쯗UUTPAz}J><(>-EſrZ__f=gp"=aK|ɬH1zɑ&xaorZ~2{jy=dhO8+\49'q~XfWOM*z36!'Ƕ\vyy/߇S-5ohUy>gx)ްSM/%:,lll =6KL탆`}MzEt7)K++l.`ؼ|f̼g*zBbbn5i-mYOHxɷ71G~29 #(γ/ wva>Wm]Ù_|qQ俕ݶϋZ_c_#\NqO:]4Op 9Wj'3WTͳ}zZەp]CFW1քD!Pu+ɩ*MG4&ol&09.F_6۠"6,[ .Ra-5 AcBS` xHI>a,?u@ڥAzujDYUjdžiMΊo;WQQMv9_RTU]rZՉT+ٿYg ddhXx-J]ƈIpֿsD<4;"C<l`k/kj'-ͥGYGgX !߼9;Rrb,4Nڧq_I{vdXT PZ}$S6x{ <3Z/TLaYщ |Z )=-^w1AOeI1Ƴ̱$%e$44lMB ;ޞǹ&~.\%^(7F[c<ŕq3NBv׎HD&;Y\N*y=~Qf;~~]dmMߏY  8㒭Zs+1XR-R~F?`\/5+fz"Fr&$?A%Q"gГ2ٕ^[`ΊDXFˀPs.6x0=ui*Twcv~Rwś+!cru?Oo%Р?`^~?U |kNCJNd&?4,ڐX "|U1*b β&Xj|bbH<)6) ˵jxLL`,+VsVtj}EQAz@8ZR~/XYVWD׸q`VQR,w1J͕w&FM2--<{J?_T<"$( ӌI,vԇǓJ^?(;QzII+!FDdojʝ^qECJ/ VT_f@LOb\7]3?D6}iBޜejQ&5`^/o(fphL.jl> /[Ү3{."7@F q12 k m;ͫw42wTƆ\I2W6ӻ x#j$~cC #G65L'bt>(YB]4P [[l@Br\ve!s9"ϒM Y 2P%D( qhǺ?+F1A%:DϛB D)H'jwuܶ/~sBL 0#:JNo%)̨?ܳ!Hw{ (h|](Z#-vƃʆ'-޶"қy@ڇw/> o:Q܉ކcD#ACBY1K%b IQCCRC{٦滍e2.ovޚLF2T ())5hXQ=66kz+>_yM! (*s,W 4(2քd*yոuF` _Q ROwK{gK(ra%L*x jL-^Hpylא!@fYDm Ff;n м@#I:2sȤEN |J֛j8F@QkKֵL(@ac>4MUgw:tN9ỽ[<|{Xm`2e4549)K"N{\r;6veZUs =CѾє r`dS!Qs_Uv,&|#QI/iqFf6:̚ADIFV<jqs9t5p3LJtͲ ~,,sGn3I>\8W$Πrg:AA<; A tY3FGTf~n6bꅁ=$s˝Ǔ,XP,_-~hfǺ \ТQKV_Pl!swR+g C{hEn= (55*j Otv4.aF3v=]=O˺ʀ0(R2yHluX(7WZ0brTx0^lPy4z ,["d㽶ayQ#fA$̶US-%Vg7B*50Fb`]q)$vZ)&*:긱ZL̸*鯶IQkcC󵼢"ʮ}ZB*͚]5"CDZNLh076X$J}=6>BxZXX`e+\7;5r*&wT>@YI[2.#T&)?GE5axgvZz3quPìW素kSn֥j8?<]TbQ:,*"D=ܷF*eͮm8BR'+3c3WhBkh J87 u7zS,;ΰ8OzJ)#s::*~SBK <МWO E2^>zs7Ш,Tܘ^F48$w?'ﮒ 5J-k/AF'5:q{NyPkd@TW)i(`Wݞ{;m՛&y66\|;ӥVgo 7o/ ӔV7}O\XnCPxϒh/$i>LD{4 WY}A+2O>1@>^rb -gPgt#of3C"gQt iIC+Qy3x={%FB 1C;7g|y)zÚY|S:D"-Anree]'!cɕ[Rw7ߙYmd8t ] љxWg7CHWJajN7= v5xzi(_ZAٶwYSN.kY+wkOtnMίX&(X$[[bp7)gH7Pnkq BjR]Rw|aDÐR˧@gO5ɉ`5P1a6AnQWѶֳ3i2B,u#8fw , EܿSeڣNulXbRBR[L1twl~u2}ʦN. jk#O#+fpF%4[MxF׹ER|_k})̳G(U)]4h+LqɈVbUtI9:6hR5QeĎ7xvua W[=f7ˤ+lJJaPpG?ɢ^d%cKZSϪ?i7A=SHqЀ]D(a.'+,?܂t\#1 z}W}y>U)䂑i!\v> =x,U (ܿ'rJh谌).P8 MiUpdC.y窍ǂjp"C׫`c 5FI|p 8(Î$`2{즲S!6qKV+)Rף?`E:' }Ļhj/@ Ѧv.4sc/Vkmsȋj ~%;!pvkw6Tdyåy.B)j8q?rmzY?N/(1xi 톬MCU39RjOFLP 9 K+_ySNfo Ō4иo ۵GYێ'BųsfɦZ D/ɫlģÅ('_[ֲiV)U$~~z&$V+:̟}I ˌqM|u{؜T!&(a $Jwp4d6 qt* |i]@mQ-J'Z@2}m?|:d 4?r}0~W}uENI\R-1I`;Z[^|OcxttKm52< 6Iy}MXF=L\Dv2 âNM)TE30JOaI$%n/*Q4JT R_pIoQ{%%pw6<]W\F!c!Z{KK^cŘzM p@{C7\m/I7{>s恏Nѵ?Jw"[/|?Ibo QMN.cokPGҕl;, EΓ}׌P|nP4R3h8eN ]+Ls}:q+MZN+h}q |~<\k57v7|J@J w1S&Z T)/"({:8a-ۗMzn$3D7Eڿ<\a0`F\^Ì鹕]H;H|qDtAV8?]Vp1_X| zm?;/<^S%$0x":ҸGhhݩ2&&7|v]˷PP,jHV=H" ד f>>5:1 ZX`|G/λξoJ(68 |ɾV\TھӼd~' \ϼSiO|g@n|;t/d P#w %q7<뮎h|qب$" e(2@ٸBBJo֢,{.̷s=gl 7a2K!G .Qi{掹A`tlaǛ(J4QϳgvrPd^W=,7fj\6&%t1A}Hj]t͖n)GXa.O̿y{Dlr"Ԙ͑,q.G6~ٕ岤alf4s6 |'b DWeí%۶GpppH^U|Crgd ۗ(A1:m~j}QA%̭m寊gbsJ*Wi2bXRIG7O =o`:et+ |]oK@li3i7C¯'SS{rU;quEHuܿe E ؄zt)N|t}R eUڏ_ZsM)٤'ė\+Ylƨxuо+iÉQ9Vix*<[q>7էl۫ ",z}nh\4f3. NgΤ+, !ob!w('PeYX+>ة̈́IW M.W0h'W?;eۖ"aۍT:.Hm]E(:3%/H`Vwcڅ2YbmOO~e9q$=kTV4iX}p׷I9xmj!tI?2:!%\ g㪼Ђw !Dagd'%%W>>%Ev[: ?~74Z/",K+)<1Gh,8~ udz(3EO3W?iL6ql?f1W>۟dl\'7>(x=!6gO,5yVtgQxF\NK|+ʔβe :>aу<(``! s4lٙ M/cYR7+#U5{b!a҂*h%&9h+c6ܳ+u:R?6KmߐT{zP.^ `؆&4vr;q doy 'W啁wxdM&ɉi#P:˛c'Enn ~} qtHݜ| }%]ظo!0GRl cg/nm%޻ΐ B:^w4ד\XO<|dPaH3y)"5Qb7Z|$71p%.1ls oW\y-l `E4!][Dr=ǛJp (0;:ѳ|1-|_xL6g(W(H-"ot˖Q{Z(CYp"K " NPrl\3"9 WTpݕW\- @A~(W}CkTJ ʱmJsI3Ux< Նv7.PC.=C@W{聅.Pbe,/hv@n?7ūliNR_ C?+GQ)kN GMD-8P3ɉ:RWMw'KS͕k,`-6;-r&Ì D9 /\ۙY~N}\,$HRsrup *\}"eLb:<#AP(7?Pxʑ'_/Xؘġ,A/T&+><\'=z[DJeς3yxo.@`hAd3)ͨ'w1wWJ^9H KbQak[]嵿|];'YEO$9f`GRe|0S~/t4`XѿK WsL3TEkPj|Y34о7F \^jrYhQE\OھMyW­`k/TOET"B<AMtfO[i]f9E}ؿ>Ժ86/Thq:P]O|)]@|7i[,>7M߼vHʶp%/(szICH|F,#O.GdDZm,~qx|utyJbb"Fb֣w1lx)wu'CGһ_? W_Mō\M6mD$iډԥTIJJtbp8ƒEnn.qqq8QQQ$&&Gzz:. ݎrN^^ DGGQ?iOqѥУgVoz8zl+~㿪U%Z_Cܿ0DGCU6OV/vzvs2F0X90{`ӱ#lٌ;gObU\<]O6P75@[w ;N ŦFU]\; 99coUwhز2;t}f==bɰ|nGCCF,xrh+l/ߏu/MEm?Q`K1ojĨ}&$V.[鞋ǫs_#B/f=ɤɓ[dϝEY"#l;iͯbh$lEa:,+ɔ LG}\݃9*vKM7iWbXf )u;8! 73c<9MQj>dEkn&:ɓ'zÍ\xL22XTT+60aD yj,$ןbn@EQ\Z% (fHK}kÔΨ!Ԯ`^ )ޕԾs%\9B{`>=.CW:inNg脈,"Li !ןrMC@tih Yԓ8=H~K̑#O!o,>M"6$=jt>š_z@nkCԧϲZ>ʧg5-sS.#1h $** !%Ϥwhp$%=II}mHX~K@ImJHsA]L\r7&ȌGg%vDZLF\J;l`ԩ --իQ5zkRog,6'>kqߌ+aBڷA)ShiNB A_HL¤ 5ŘX1YuVI 쩬fLa hW1tD[5j9QϹ#KՄnj<1& U ASF c&'.?֭hkqM}H&R٢GfÞ]>X1ay#sG'P|Z_AШ9~n,{JҰAƓ錡tR1 -2<^ԩHxs%c黟mD;iii!0u4 w_(yduMSFd4"RȒ QC AQ}جxav?ߍ1g_# (l?.hxs1 6 I5(DR~%gN; 4L2Aj0钱kU$:$~8hg&\mmlS8l!5JЙrpJ[p;aF''} ;Yi iL~^d;5~3cmYQm Epso#99nQBT4D C]DHSDbvq:8Bqqq'Xn7vN'tm].X|t:ѴS1IR, dP!gŏ,El3b10\ٮG2qȬ߹n ==}^bf!?ƠEVnx"JBSr}:]uk{a=g' 74X5{PIfX}NO.9JƐЈd _DsQD$kSPO("57Lt<Q1x;z`ܵ Xh֏&gVo8*C#~}1!W3etX6 &LjG%3*]IGN!Pt|Wt/d.'%5#հ%9HOL$-?hр=6ɉR]AY] *TT`ћT\X&=fZګ9tGRc4)1Xs5+-}n|Z2[gtzFA9Y (?V'/@yB{ho%Ez̜,J its\~ؿ?b1ΐطk7$qFyTVj /|dYfС"t1H턇ldsHʚ'xOc)\BHt^tX ݷ!6;su=b/u(;;v{F,zMXni (76XHKM!37Gg4arkq;BylO chh@8d$.?Oe^Ѥ%&C&# 8bb0 r՟QR3MUcpf##&OB~NQEDzwrכY2{} ;?XDNJl\b "P^YM=Z{5ep -53:HL'=3-.炙gNY 0l֯Q}dIֳk0jUUDMb`2ODΆ'oUdIp=W晴S¦ |FZI pۨS#;t:F$oukV"= Mr&њWR1aP'p["5%%#ы@РF0g@p?`Y?D'پQslb&6ZCRbI,aDX8iqPMQoP5p0lěA4DOczi:Iش~=#1b(,ZbfhFI~GĠ *'y>[DM1ubf+VDz×crxBf3F͹ң\Bv|&"yL <Z80\f{*::~c~iZoqt>o:JE4Gg (tA, _|1La]g zQ$4_ ^Ce鴅tLm>x<)6Q'|h)ZUM([&>usfߊװ[7!X-DOaC7rd_D\bl~aCKqc)2abiɌ8X-uAֶ4qboK8̍gAs&= RB-,]-WǾsٿy6 ȁkH; S06܌bc5DwEQv:=h ֥î #3ںe3︘@+}/$6-Q_9:w-tYDw C^'L.Rz 'tHd z-mǑ/bWM;4M8럘`-8e bO84 , ~G)8N-)&*pŌJ)e쟎%]f LKu6si R҈y8Tegq%cGnfcq)mS~<&R37A\UFRl%x|NXy DכZHmUWZΖ:|rV{qߘPL * Sc=kUEkSL\7DirܳC"[:& z !c9ضy eeGK$hiil`K]]xM_}Cmc}m^F fPN5h>:ʎg߰#f&Pq-+7CK "{c$varwnF n厞:Zfق|(>|9? [Ѽ- "ͻwqꨠܻ=X$:K 5VKVf:F{zU5姧>i.TڊYi JG<#ā/q̐3,e.ٲyǪP!^:$ &~W7p<‚g( M"ՕU'ӫ5=G I1g]e$ .:>`ό@ z lce?fDH=w63UXvD"mnRcckPfM"F':90W9~{p:]:4mXĎ>os;l 8p 7F6G.!g>v7Yx[u2CQ%rmM+>ZLM^6א[ [q!ei6~w[:p,o桯0lV\Y*emt,Z/P8'uhܹĺXtDE*Ie-E0C]g/h:pX3U!T n.t3? @((1kxKrn"xNz^ݍR0A0`nl )M-k[wN#?o49&%"K2UKvw4_coЩ |EtmcZ2JXfw\?Ԓ+XkʨBݏlma$o%?|yMG9™؏v$0vd -b[u :QDԳYazJXl%M-!1k<{KˁV)7\#زa |^F YUKPf`;NIC2xYf ꙵf&SkQUxC>ϜCxJDաF\:/qDǑKԧhI/wFEoFP.^ rN/L#}9<#Lxt1FD4h_IE$#+NK-^0I.vSQ+1WȸF 20Jг[TʂWtRĮG^bǬYo>FhmcyhJ g>l|zw*0~x_k~fBIETbúIzq)F;Ē箥o1/yW.WԱ˞'g9 (HM7d , A0i%lͺ54]?$W|:'.{" y,~nHdT;pK$v-@vI!wW`|sjyr0\z%17ih?Nćh/vPTn|D&=%$jΧG0X]zS8zf_>l&1O'+o_j]c &EMKK](mxLt/Q=(}u3Q`'/%q@lQ nMjgOQSȵ߆hJ1q(֮X7 DtHhki`Сb۩EU[1ӭ=E@]N ׋;sZw6L"He5 ""≚흖f򟊢Bc$fHMb1 Jd9He3Ћz-A[Lj^SD>3IV.z!IP53Cgj'Qy?rH",D1>EE3g*:AFhB8,i*`^  ejk ZDA(ZF/O0i|wl Q&KHZE -#2N~eD~~ϝϝ.aU"=#NpYum o9)'Y}ݣA͵a4GbhhYx7l &knWoFk^pi#.擇!-[0ZmE{؇&iB!YH8WLx#&?!WA1&խ/Y0(HJ2HWrqbⲆUBO+⭕B@7hF$COzxϮp˦/2v17տLyuw^:~ƴ'I~1dGI6RW[MH^p(V[ ;;=T.!A=FBDCc=>_rƦ\ѠQPPF: ժ4pB x!y\z0`6mx"hH 1ې*2ʬNLVd;^4 Ef1E'HaBa mZzEQ=CR0Èfkc」$>ryfzrd3CT$IDD "*\E1 D%(b$ Q09ιr8aD-f-:u} 88Aȉqe'4MXy8c*,bʼn1P-FiZ>qF%g_ҐVR'U se"-BH{\;l&m:J2Lax[dV*OJh,ZES ]p²Ŝz4Zy%ꗟe/߉bwMo/2:~\a6{@جN~EQBx+Vq `&l 7S(c&jDk=%SSeoyx<@`a9pã0ac;.o`CwcqST[7 E>U.5t~˸{]6 /ɐɤҘ łNk>OmCd<ضOEEd 9) 4}5{L?1l`,P2Ec$(Z)C mmTMd^@pr`6D^1L]X}~C<ЯCB6C<&?8H.aμ  bDiv+n0~Y=\r9rK`>8W\r] ӛҳq-]s)3ʙǑH ;f-FFW5So׮G:\D ЛMN%I!![Eo̫¶;fT.[J6E68KZL6Nu|CQR'cdj)v@y]٫?MCS ?Gl~ÄѲ,fϞ}Xih˲([{Rn|ZMlغf $BXԱoE4EAVKB)5,yITQIΙ @UK} Ƌs((y2}td(6H00MմLq?ټyぶ d)D:&JP[WO2`UΦMyV`]p!{cm%(,~ /_M0Dʒ y  IDAT\>;~8EaSd>UV<޽{)'BzdR֭;La,E&[P:7{>۶ihhqd(2}_9')m4l.F:HXz7߹g޵gi^/jk(\d޵k"0 0Tt:}<2~j _){@lݲyMfs;Cy_aŢf cAd]he% h:p84nw20C|"sgu\ [iVu7| ?-լ8l2 M_AE~[ waXU%^~'0#J!xnMXvrp88\.^۶q\8I}JMy=)%. ǃrUbbYv/Zؼ5_z5?f3gMH;m1eQ^%R;]ҍ"48! ~̦;yhhŕ,4yT2sC^ǽ?+sF1>vR шQ(O:h"@v%9X0DWx $| Ci^ #١Q4PaeXXy/wW"F nmx@,/\@P$ O%) x~s\{M d F"t3ϱ̦]6N8v _ _0u#6isöKq߾Kgm٨b4=bX*TPt N@ mDM!GSBWJ `X@J46m Ŗ )!Q5J4,c U[o:\JҐ^O(s=4Ϝ0!Ćv)Tp{$(Bc$'<%zxlȣM F'>%;F4u}JgTF; Ø+5 J q糬RRd %>sR…iyY8gvģtݗ38h6ь4o(fZS4mȄ MɜraBpɿw'_w(Bh2Nfi9%<i7#8/EuYX/B#"uj?yʰoO6)tʭy+!zFZxm4-l$13Q'^MG`ݹoաF-#(v3ȬBk;-RfֶltfdBzG0 ~Os)ߋ@?2MSxVϿoR8aIxv>$b(g[IY>U~|#sn=$EƩn VR)2ØFk~O N RJrfiөBEP^O^D`JPlpk ? #H)QP(HIrgv0os) MJ_QTTT$ĩͧp<|TJTUJ9afUUM p'}qĭs{9O5C˶mZ9Ө'/00؏Os/_OÉr "'2_ӈH'aCCCtuuM !Hgض&vBeeeP 9V؈>w%83Y|Y]7S`M3uU ݺFI(s/(2RP4_+m;new ~V숓d&GՂedֲg-IÂٴn߁(h^1RH ӻg/ZK}l~26u0aOџA дhq6V^F۾3=jpūxuؖ=CBJ%r9~rsg{r k[jR~O{.6b8 ̚͵<O熿[}3oi0αK%ˏ=r9f$/r׿AǁKu(iۤ-K!bx|4Kb*MSW=$`Xk#CqzoOLbZO(0\P_m U-RvocGpZye3{L]zTH:8LӜr?=Xw?EQ]0wSq׿zNmڶY3fx;} P ;]Y!Ȑmd,V64EjvΞzÛq;^/@@ Gc8rl:H$R:0LTt6! *%b쟍 EֱcǐSw(蠼*ʶ Qm =8yu#65!^؋;|SzGTG:'pᕚNzz_?545Y#U1@ӡ"$R va!'@E -H cLvRyp)*RcJRD۶N~vW_dg79ˤKQt!ll W0 [h),۵d6tQ*!P`l8K*?|>Ϯ];ƛش  WK6ib>*;2 djx'cH׍c\o#备q7X` qk^}s17_{H J" |.qB?nW Uщuruײ}BN !%7>}p)͏;uk6;}*Z;[$=;PAKk7hY~r!l'Vi 8L^~ CrpN62OOW*}5Cif:/5e4 y oWM6tYD5xU!ۦhX㡡|20s~=Mr^ZEC<׿qύ_+> ` ~v.IdIsϯy9ˠ6T:ÿ !JmoZ[[7mz!< x76<d7KBɔrXz{{DuDhS,4 JdHR Jee%3f )QzI&S: 3GĮ(#ۏ4cmAtSQ| uMQzUTOy8L_ !Au6[1UzSҵi">?ZN>*D!vTLǨ*8$4/ymi,>+I$CR$|#4P/6U⠨GC_jm ;GF5#o)6UaN:CXqncOŵ vmJ|׳kfH&4:JMa,k\f/\HYD_Q;uK!ڴ-`BQ:PGTj/'ch[OKgSZzPf%h+kҜ5K7?(|}+ݻ x}  <:$2,m㡾NQ nǃ  wS򪒥gH@4z#eY<y894)1mڡ5U5ԗHrZΡlώbKL"௯QllpiobH|Uc`3S:i,3i mQ̦Izng 8Qe6ڈӾ!Ml(b"Z&oEPBJ$*UAU@LH.o(T3N>U!6f& KA KR"Rks!J']Uh ł1dw^uc}*\^`(7vJH)p8|)5bw&7ϘEy!=/!RȒg>yEs2n&G,v"LdQ*V->g.7DeCdhzS#*~(i6Hnq-Ү ܾt'(/wxK]+rYq÷"U7uzhl@5PT폠,= LJ_ed~tFyMd ^&Ӳ{=teX̽={_;I%8}O~<-J&;*!ֿ@5Oҷl .h 8`hd>Cel߽Զ-{mZ9 i {PFˏ3-x8{iC+i3=;v2yB:XMP_Y?Dq(D͗JfhGg"?XEO硽{vxRjE6L`=>*!.(LӤX,Nh`Ygx|zxdar9qAɹ:/.1t?IYҒZ 𞝔M2RairVp4Mk>q_݊ԣyKϠ7ia =ϣ4Fq9XlQ6~ ۢ"&t}s/s~u9zO<0 xE*t CV4F5ϘF~R,j)I (lٱWo2k5h(Oķ([mB>h'::}-dZ櫱҅AWƌ8MH9BB%c)Q, Us X)U@TQ*bZؔI: -GロT);p4P8}K"\Ţt^%sM<FJat*AeE߻./I&)F SV^hbZrO>$pT"A$ad8N]m5G}4exH0&_ ^}V4LfUm]r:a.'z0&ʩ`? 'çBPM9.3eMJrIc…ŗHœC! @8ӧ5lR pd&ehJϻ8^/HǃiP(a8ΉPz]qD"~?cpDpfM4~#V[`v[6pIG@$zro25r9^)J Iա擤y-hnNݠ;E>{PmTUе0ioDZM(`ǖC1^~QT-J_`ԍi4D*ٷ܎],\vNE"lY*vlz 2.}OKVN~<PS1Y'}}8-: qVѶey OP A_O7\.sq:Pix^Fb̞3ŋd)b0!CESN\%51cV1ߏq`VE? S y;3Yzt!wg4N˪ /GHeŶd߿I.9%F}`q#/I$|a݌DatMtey̝3d*Eu}C#1,DQP*zۍ3Q,9i{8mƺ0Qxet )elo>~C~s':SCx" #IS+NGW7RD&T)/C"q(iB鈿((퐺tneHcxsxgeU&ٟeE!^,:*U(cg%b(*fB j aJ1ntN<*B Х%m)QD r_c$|J,$>:iLnF û=8U%‰ү i#lolhd^6(Fj,;f+=4$CFoض} B=ϯG~e,;h4l颾 6bK.9||n#]7lVt^[;5]I}CgֱuvlL8j?ėo9Jǟp>6s/Szڶ]I3~̪ȬIR;35*n|NWٯw'Bs]/#>2B0p\TԲnZ[hbK IDATgf41.?l>|^4Z^^AC `Q0-0^Ef 7dTdi磸ü%xh[h +S4w/gn> ".ĥ|۷0|YsXx}}X룲5k&  RC<$Fu*++ MpF<>rf̘A8& xMT|d(&tU 8g“+ﭤnFL>l܅a!|!thd LFW|Fgsk~7"-(п{C¤Jcݞ#CI 'Bat溺Aڊ:*o?Kq*/# ۥ(IdQC:Y e3d% };[8v,]8@B*jUqn<icˏp gS_OބΊeeeӷjPW&ݟnwŧ߼F4Ӧ71{\z:;?&RY͚5o0ҿWHWœs*ܚEu.`KliaX,2h r厝K AԚABPCy#DYw#xTb>>z$xPU̓Rʱ$v{w'EU3F-rܫYԑ.Ɵ*g}#2ӱȜyRԥ"&J)'B1܍/ S}7<*(3|Si|ܑ3s <'hig,_QvmAgwmm >(t^ ަalTg(9Lg;0;ҘP4mv'iypycq(JF*{±tVFp;x=3cn;6^ 4Ar"d 14U?q4thn|A ˁ04e$nRUC(NF1E{F%! LSce=#nn2C#*?q}zҔ誂a9OY|7Oʲz" y7t-{8Oycѭ\dT%ӕԥsO VP,?j|KװmFOsɧwمE:yo/1سyӝarbF>qEyiEU_̬9 A`%9GC?邛 ڇCه1]Z͠D)r"- }sşp=x]p;Ceж)+C; ϠiayXpPɡ8R4_-|s>pW]>ϳk.:::htwo/S0 4>uJnGJK) BTTT@ L۶'Z AʨEUU~?-***hll$PSSC4=fJ U㛏1s# C=νқD"\vp~v3P`n,K{O :ò {5Wpd5M qzǣil=j!D;BjoUlۆR_fen3~\\MdYvCG~E(s.nB>ySY'_̇,ڏ7:=<|Bzן+/:ہNTUÅ0: 0 u;  L.*(tn&D|96M}uI>NO9sǙ0$CNqn8t8WL]:TtwEQ2Uaw.۞m8or9t.%\po#o_ -BMilGTVTʡsׅ&MBl_gL͘c[vKyykEj8c\ϱxlaŋzBfuNYɗ?WB-oe>fa42-.]:r曇p4Y`s!> ]xQD:i9zG#d,^z)A)cxf j)ı(uz@U_'4bJ:ٍ n˳38qyǞ[C1U@<褬RJl EEAB{c"HHFjE4&B?u֑Q=rG. B!"MF;d2Ɇ [,ir '?;Jܗ:9 HJTrm9HW^KNc:dO-QdɖdR rf0ɩgs~q?=g0w߽uݺUuV!LLD $& /O_ zķyn]?Yx6!tyy6"Ӽ%=3' tqfdšm]_UUرcMrPy ,s5V=eY>|2Nפix< :ñcǚӔ&EQx, S'SO G}8CZYXy#=r٦4=XeYnx;K_؂[JXYjoì<.r1埐B[y Y_d~j.77&Y\a}`;S~YH\6K(Tlm~2U FBP#C2SCPX1p$p #i-[5jR W%j#f3~yB|eæR,ɐjK׈EgfGwq p\Xڑ[QKGٶKٔMΟ}>  W][2^ET*C5usԩ:C/oڴi|e#GznqMe(:ujUg?>ؔ즓'O"  'O$bq<R!@eB0x;wB_EZv:epXFe~T>ėu'b??Qp+|d$-zrxn>xᲗp?%$Lׯ3nnYw2Jf(ͯ|Qq08 Ǒp0(UxB>#7'vH?)&#UAl@PH5ӳ^#fZ}l0p6pqez4R2b)M"$[{$!-%Jq$ ۩WJ8HmJp#uirWz:ek׮eO@#n_4*r+JflݔʥkD[+i>{ȶj|KTT$͏yX7D|9]v5424kkx/ ߌvEYh}c_ ǹ}nfm^ESCw ֞,#IBu$Ibm85ijx|t;Hk݌WWJ =4(ٷu#vs NZJS̘Xәܸ9p j<(N>3RLgns*AE)(sCTx@Đ5_%jTL  jc[FĨdX!m%#40=7e˸.BaOLvUU12NԀs '[eƮ1U(s Lf=IXb߲~FSx[u3(Uݜ1/줖/s·zZ?Ƴ!z{}Qv{#/߁!MS-nI牴F1*S`ZERcD7pi7M죘ֻPE":HC]z?(<_222A>"zεCs6~0*8$05P?"/WI;5t'y֎Q3Z h*ϰndMk鍶hj4 ߏeYj50!:EQ39r8 !r3::ZN,L, C:&JdxxX,F"X.1L&!8}}}۟O@Po9w/L }1huWZ\4" ͉x'M_Dx\X1!H`ZNB(-$5m!4J(jM"錍-q %ʕ,hŐ#LjI$&*3;Ba/~KbY&fX׃8mfIcT%+ac74x{y0m:Ԧ@O%g8@׋4\>@/~?Ow/3w>ǹ˒ilȡK`mIVZo!i3aDC69BQMz9N4tDv}/hZ)5M# տJ>B$iڲjn7Vʟe}hg6dbCV麎/9 ngnc~-(r ~a3??EҚgpG#U7FCuo0gPBg6Hkq - pTE29r9J$p{/KF' _pS=#$8ȸ%u1b`n7ɔ)~n\ ե$4Mƭ(XmdQϣR}MV4IBU%\KQ$ 26BMe&St)HJYog" H$!C+q7e CN6wIv_~+b+y?nh<,tEq9;ȕLpmnT|VG8&P0v7+7ׂ8#D#~8?9*)0T7rP(JMرifsWHUF8;|1-^']2S~R2-. eqc/]ۙIVdla=..Rӫ[h6*MwgTXԩl~.YEơl,$ LM/R)WnGU_3D<.~K3tlbL/r·dtfk00 RQ&ֲW羃tQ{C8;ZXLSf:ϳOsI͌se!Ͻ;qvL]!iUeWVQ"Qs'PlѓD:Tj65Ӽ- E<~ٵ;yBUZ)7ӹ2Rdm~=k>^74d,\$!HDvnCߩT*E$**r|>$¿ jbH*bttY jJBP`vvQ4RùYŋhęag1D+RB룄%t@2L .pn aRsȥoMjbL:7b Cv:ۙ*x@H>L~jGDې jNg{T%b9ߍ&)X535ǡ%02=̎IdZc݌LGp$W]}yʸ c~1-TL-G|nLsNzS8uhȡ~~;^kNFX,F<'q\9ƾS9d M\./5T8HUj~"??_(R!&Q亵+{ ^*FKIvKzs(YE8*S\2dKH$zJB%,lP4sי-p kG~ zlMGVT\ض,98BE%@4!a9BH(2FD$À8Rm;nmz:H~0(T_(.ۢ*FKnv ̱%UG,:qWzJwWOrpYw7A$Hf|, X&Hȥ,"   ˄-TRhg?pi^ΏORЫD1Z0<>Gv 0:9Mzb+UQ] VgxG]P$vU<ҳht0yOel݀םwl1^<)c*]8sq #|HmF:nNZqgVR6vg9tⴲM ̲s;¢5( e]^8f(+芉U걫! i؁&XaYnݔJ%ɂi> ;'I‹v208K/3UdM>= IDAT!NQ5K.v䙯E0?}었!3jQ}iŴ\"Qn9 zz+oiÔ_d8=0]qL 1?4x;C㣔%vmҕg)>G]Hin!(T44_2L KLuA8h ˮ+^[&h|rȩ7JtuuDzhiLv5P&>xH$!#`0V"AmoذylH])lMJ|mڽ3?=(- ڃϭS1Mvog.=C`f(і5>憆(,f1#qf*DyF8z C G}";":xT4E"ʕ!q1lEW%tafA6ojp\tuv1O}">\Z GBY0H_vf%vmsslvCC1LAOgJlɑ!2SÜpCff=ÓJoOynlmQƪ^Zގ 3e[S<{dǭ*Z_;ُ09*m:JKQ\دZ:{6~rr_ jW,xn"2(xB²P]?!8$\AJx\`{ٶM8Zv%IRSfB2ךŭJ4nEVPnT[6AFH ^>$cKM ᰇp cG'f~}<թf}_gwa&a%$GR6 {j[,Vd^o B #dF݈CC@р۶ɕ cHVZg ҫ؀m׳ JK菉'D#[+p4.&[_"\ٖJu{=8o;ujq?4xN4η5xkiƯ,yqgEQn=o䡡)ARpužmdR}ARhE*xIngW[7mf8@XXHeq)UbS8P) bmSX*7%*-4$^^)vذ-b*R:3| N@Es$e^ѨJʳO}X6\:5}|mDb7"S<*t7ؿo[;讒-6Fohw!=Jesa.4! ]"6N!다YK3wއߊ~I=x=X w$^{KB \8D"¡ un-$I.•hvj34B3kɮdw$(lj!T\ . 3\J28O=$۷DnܸP(r_~UZF>G ߅ ;f $0dp*2Y‘$\m`Yq~gg{n8 57DMDoL$i!Y ##eٻm+O }3pplᨀ[hO&SkI_7hmmmʌ@ӌPW|W]B0>>rbSO>o%Heva^ ASezxbr&ǁ9v([m<4::tKĆ BS>z8ݽzv[U4Ͽ4h[&ϷfMiMRXgtx7i#Ԫ56oB&o˶y1nF d "ֱ /toa޽x^\ I&y9s4oX++5F),oFɪQ,!HHȡb1 Rb>E>* JԲI&E}1`PEYp$JUAjHKp܏-$JWERdFxވ!bF%_GqI*Bq< .i -(gJݰ1|h'/rljcfl:8̽lh,H!P/ dU"R8=zX7\֙J$晞,C̷SUTʦc1ݴp&nhM0|}Dׯӧt*L]5 :>Yx`]/cc*%o܄㼾FŅ_FҼmhk)WV]l6K:noynY7ol:g;::^Z84e2RT~%M+ealڴZիYLh ,/?NR 4-]$ѶT_.ri #x~Ee|bq&&&g3m(:ό +=爇CLf؉|ztnc+V VM䲋mފHu64E+itk4XrYjHo 3YIln2_jTY5+a<#1.ub= ?Rw*}HL\!#"!!jӧO*-/_}kLeB_:zNbikm# f㡿U$I dVm7 Md2IP$JX3 }˒e:HMEUw T<%mz@'}ev72Th cq WI%?3gCj}rah |O񞷼#g8h5ҋUnLVV Yַ7n ^RTLOOsrV(,ԩSֶdY楗^lR)èbY~Mg>VPSz|lǡPOMP&ɦF\8oɲŋ)W !B0==*`YN uA4mi&>$qĉn4]pa Mw_SSZ󯚦Ǐ#IL,:xoщ$̀{_e!o 233LNM!;{gΞEe~:099ĒN9ituuzpzi7s!B~J7Ƙ[,A,"ZKf`f&pfm#Utv Bغq3<!M&9OX'Jy׸1>U3\6#<;6mz&%JX"._E8$Q0<.&'SDp@ccWY,Cރr3B¢AU.N ī*af& [F%0m$Z0,5ƃ݂ѬYS,R|'G^@s\[ž}V)}PO̙|ݺu*kFSC74ATB $H}xey̆KzAlsGJŒxgRNtOLnLI_bA PY@0 _Oś*%g$_("VLέJdY{iZȶmNyEQycV!-xO$L#Q9{4E% &H_ua[rab+L|Gq.I pc Y;'GQ4$B#6:[|h><>-|yIZ"WΓ.` =l1jl_a>45 < :P܉OtwsgwJӝ}g$IKԭtزu;ÿM2_CȲիW 21V#Eu!x2FK&jE*YG0r<^a`NΣj!Xzxȋ,K $|_M!%Ҙp5!\ЉD]s=b좵5dI$idZ-ILV\2"SsBҹyf'jk%)FHY)y)9J>+ZXeXB0J ̜#.$*}4 tDUpR9voI*5I( >4vb6tJ@DF@SZh15C# >K L3>R%j:={VV;f^/S(s@E+r2n}w^<_Ofkg-<^^7~ҴRvu~?ˡ7zAUUyl&'XD5k IN m0>A [e,Sq_\h-dg-Zz{vws߾FT m!}py4l&[p[k=<Y0-->\$H Vu1` RmK/qk.<>r(XQW^KZBP*hu./ sLD;y)* %ڃ; @WZUH^=IвD[1W|˴ AR~㷘= [˧%Txn`멌 4gϜ~_{H\@mیS=AՐ93KNο\8R ѻ]>Cΰ~7H/@>uu~o~:6S7x?B$ƅIߍ ،,Y+zSS<\֑j Zv}zإ$ǵm{,KM#!^)@Qo|[_S\.N>Q ;Hc›`9"8s=Eĝ09wH.(XDFgdjORdRYɖ L tt&TJ#o=S bj|\Wi"~Mb;Drx\2R $㸱cVktv a~{߸ IDAT. ;W;VwELR%%JTBQ.+aST|Qy*Uz* .M"+.oz;s&2vJEm2᠊驑́n +6FQlv׿򟿏\G?kbcv'KwJTUc-/p\Yr|/ R033##)TJEX/qثJ,;$IN*LMMgqx<㚦EZŶ$Ai!KX],}VݠVkˍ,* 8E68r_YP{8.[5mmKO,=w=fҹe;v=&$E=F:X*H ,%D4K=&d</ 2PpP[e*D}@8?E/n S4<; `9LggkZQBvpa/]_c>sIvoJ\ sJ,}ǟvz3 H@H! xx t'=!@F0~zLO._Y.+cYU]ZVU'Db;v zE<>di?z_ú ݐou7p a:DjT'/%1x:J5"ѡAi x SkU\Ӑ(g2x}1|? +y" /ӓ!"/jcYw =}a^Ut<~JhG\LYAmRtZA0EbQ/I0ڨ#+~]t Cl%_\4`5'L[ ޥsEEfV49ez;oڎ/"k{x8EOr%U+QnM'Y'?b hBwc7x92iν |{9) AfK2z>]wK_Osq[ek }j^"23T)k4Tx<2icn.K`#I" [8tvZi)We4M5.]Z0tR%^m??I{{Bi星"I6r0uQzzH>uWGQZ+r_emL"TL O"j8%lELN֤;.'.Lt)w qpL@,#1޾M]n$C߸J28Ά @fPsh"~&xQJB"Œj\Ȭ%VʘI C%Q[äW= g> A__~Y~NjCt Lb_{-&ca`&dd߁ zHs0n($G9gďZ W`mH:]?ʮ]Iorp'BPH25v0< r,&.,q}b^oO0:a6B|6Q%l4Kx\bd$NW={ڸwNN$}ױ<1{+g ?юgo"F5FvphW?$\_>w}cQG`ShCe)E0afz<~Der<7H+Q$݋E4с(Ex%ik C?Y'I;J4L!,ƣ ׎*(WTpmфm1rJT&&&7"Rd sAabm~RsC~8*uEv}! ~kRp$z9j2Y#yU}=TcjQD:er0{2@׷Mx"Qwp8ei=qoR.4eh(Ğ= ٳ'PXL;[{cϞ(T *" %i4yg?=m y Q woev `rK/=ymFܙώ1ɁrKZh((\$o囝t|# !wH]Q+C.#}ZQ+:<;h"3\_|䳌&Cr y"5[@1*mxTD0&MPhԇ4$cK`'DnpidqEdd CÐQEQŶ$ʈh4ix}2\hC瀋լ0GLM7#8NRP74>YP2>N$`"eyjZz$)+x!j5: TNА t\"EE^ 31V]vnK=K=IgCb#M"|3B[|oꋱ}>PAfs9˗ ϧ h8x={ڀ:bH!8tbđ#>܉\CvG;0*~"("rͽJešCGwYXX@kv;#F n4~;#tv*{ 8NC: :lg׮6v튱C )uwh[{\u/m %|ߧHK: 3;xz&@|)%Îo35Klc~mOyf"K\Ĺa[? fGݠo|AiZrPC:*ma5Xkؖk8V⭭S\YY.Qϯrf"ȁߦ\SxGXȔ;I6W(?W qni\Ȓ[fy*,ώ3L u6|T(mφEe&JIOsvlONjVzT|7ҵo|6[ u\`;{ g.O}lֺ.H$$ۿ ,舨Dz-"ޮa╓G ,/CF28 ]Ά ݨާi^={ػRm8N+h׮~We߾TUQF}tum>yJu4t] zٱWnhL&S4TUSQUn}.TUszT/Ε2ؿ3/_~bZŕ#=l>='̀>'~Q*p@ 7_}RlXÁO? /L9a=D xȬfKҿsϞţ+ ũ.0k4MPDtUbXQ{)U+x5Bݤ^q#rE `vr|rN+M-.8FaHfMj>r Pďpl錍m4kuRK4٥P#"sO}gZ昛"k^%LcۭRx{bT+9F~iM2Q-XD4BJ~j7Á~<8Ӓ5ncSx:IԞoX%]o"">*O=1Xu2\?6!o4&r,K|*Y"$AFGۉBUnct]AQ$ >F<##o_/]]QAwwjȲLk|*ͶD"@rtBQ$"}}Q<Fouv6۷i2%:;#nkT,_c.j5Hćm;D>EfmDޖn"B>ߤ+Fi/H(Dggf]}銄8ߙlw\\Akf@瓿S*qt~7O%eHB{_QGI9ʦҾuhWj=z\z:aVeAWOިdr+kvdn.~D<@g{1BYBv-~/k9\ 8@DWFɯ%EJKyD&SZj"y\j:gϦR\.!I‘3x>*&mq?O1>ֲ&٤^1iQ@tm5VxK<"UgXZACn"&p;.kȺ(iT&Z tt ۍ'0*(LX$WiR5fp,RV`G})*ᰀehqK~tn fc4x %p)*VJqMd HĻ3CAț[8Ca?+HHS>~[FV 8w$ӏepn^uq(D"!.]7VvhGU7B!a.QPUr@5v@Mm4묭U8thtn+2gvۃtv躂ǣL]:$O'00'h zUj5Z<x<@OOs疸*##m9mo|-]!QhuIc`}DSFj1l3/1{yfSl a;/)P0+{I}(~%_+r|8癷6qP/{+,&4 ~kΕmQFF]E73A7 L_"lŵMZT5{]BR4*qO']3gŧ>oC$26 GO`ǧ<mtIdn"d>Q.U|sC S0\ufS nuI`U3F6Μ9CټDQ䮻².[(_XXnVD˲3|BM>dOK-$">un7$]:hYn&u+wJ{m]^^,~? W3^^y3oο4/ao/~LSZݿ}=WjO@<Sg)&-KZ"MqyT33Y#P9$'Ȃ!YiO/lRɠVd~z~\3u`7bIQ)M+xUAuR`,LOdOPL2D .M`[CI5GY^aaꑙv9'cZG81rjۑt,K4\GVrx >$º2A׼$2K%"mh4*}0_:!:;HRc'kx'.\XJMU8I Ḟ/ٹcX$r+ֵ7:E-pc~LS೟=m[뺛{YߟfP7Ʊc*2+(2xG?B@E uADƩH(d <ߏ$IXB{5dY.je vYuٱopfnwt4:~OwӼ辣 *|ca|O3{~xRǿ^RB|7\)*8~]њZI5tt MMkb|jFoTA DXRT*rHfcH;%L/Y3xriLv4+G&={F[G x,dbz~Uԡ&U3iMLK,=Fz(J hLGa. eL]ci^zoRIAO(,-Q5]pdm"9s'=YGpv]&ܧC5?m4kcuoc|Y=:ʷ=ѡ~zzB5cS3(xGhLT*%29H)7ryqNr;p,@Yw.x g.ugrltqAM摷o/򫯻1>2|ɿJ{*({\S/D[ydY=JꄩTj3ss"'O.!*1?0 |+Lf Ü9SVa6F(B˿^wۿ=i~,fuuu)*x<|">2mm]G]p"brWLߏ Tl#dң_;p< IDAT_K j9&x+YƦg4LX,,r^E^fLô.4mQ72YSOr]21veᵷe_#`0x*1Vūu#/ hT0/A|1`qKƑ}6]f߼J\oxq8wfYRٳF]۶ٽ{7~O<$]y`$ DQɓaB[ɲ̎;f` ɎVFiVWWy'۶[(r*egϞ+is|kRqH& nz7<]o:wb~Og(xe~C㕟`H—(G"T'mt=vZ(;0jĞ0NxQd&xiC[oᡧ U˰jJ. oK8q)C"ކ늤R.axI-)6yenqz8ۈʄs s DhcVfK4,`P'NfIfTYFR-R|I1EGgh$JG"N1J.Quؽse:zX(Ұs|d+, :5''DTtDΓMުra,Ef-`6\Qϰ*(64IWcET$؂MWG 8,L? sϟc '򮷽ǹ_;1LOPj BEN?7ro^s7å5 F8 5NCJ|!svv+#1/j'U:z{>z,=zq L8y ?@(bt4iDQFGG, EeN:(*;wDc,.MX%]Ի{^][^oFQF\q:`V~ml'nuc`.l9ű]%\\LK:WDrmf+#[Ufp HO62-KGA0:@.١Յ%xv &h6ergqI\tB9[ATe?Mkx(.tMJDl5zb <+9sUrQ;*%/ҜDgN)ؚef7Wv5_}Y*@6/ڠZ@cB?1E.6c4MFF6 TME?ad#Mn3?[0M\ykoaY֕6ʯ^!sgӻ =[6^;z+n|:߸8fec"ů XbU+l)fV8V.jzص}ɅENqvYY!g*&v};Ul2ݎu<}JDpo|tEX#Ybq0lp\VDYwJz%K$Ѭh]IT[ĵDG$><ܓ8Ƥ~ [@/O[ev6dHպoPiʖTMBչV_lѭcײMT4LӼ*}UIyC+Bymή];69LEE܂V0 wm{qm#iy?L~f}]|7ZQl8Ixݖ~cf*yiRs [a""4AEGED "N# "64k$qƘ8#ݶu]뽂6,k3z%Id< 6wnp|YA=WdK%刌wkoevS)p]ЬZtt1mS a-`~jR.& &آZut>З &/&%tYH<Fűy"211=DO7Iݥ?cbr A־?jF2AEꆁ}IrhAGX'%]Cߤ!h9QGHtEp&BX`?H(X$(JzQ'ZN̤f8ݒ)2 ㊹F=w6"MeD&SŸqg`x \O]71-?XZwCZzaBp incElLVsBD1Uwх&%3m|c4v& 1$I*]IN.a< ngg&f0jMr2gXY)Aj@ۺ8}徛:+i 2f5pMERT1.`J +M\::4KTe,cMLI\Bq즉+:.\Z%D`ΠU4UZQ_d t8szBja;AYcr@"ގm6L'N AEtl\:{ U;cx"*rgNXh`S&Ipt).m H(\BK6>U5*8JKVZ- \eYXVDŽ h M2T^cc>O o$g8iзoDǗhG+<͔CYAMoC~ˎxFuk?Tdibszk$I0da߰] //NԞ~ qiw򾛶}o<1ήf/zчy׾>?v+]Sp6Y]3ik"{0$ 7RY#ogen 8Ikx쓄>#Ͽu .\h:Hpi9a}+J9^p{2u U DN{jXwI_oϟc9Mmc f+Z&K&XOAdyC"+%b[^C;dN E*9#EeGx3n7U+=(u6@ Vx賏Αwx14{>g iDV =p(“ S~Avt/f!'e-iK (u2 ؃ga;YMG8FӼH6WTPkZXkT+ j<Ն,\8, ,=q`8H4`yf_B HTWX \G0lh]<A +5 BQ\̺bĎfW׍KUDC1Sr$L|A|*K,VCp]L&2MZx2Z_it7@I4(A%Akimb!?Α; QQծR,AT*Qm:TO @k*5z'HDzBy">bK4wFO݅?%;9o\!ު=y֛Mw'8Ώ1?\[/k O=ɹ>E#Yw>J| Ex}brw,I^ӿBO勯{7Nq/a YR -2RTkMx\vV8 Hҳ>D 1L- P\]G<3Y,JfUdi:H-*K,0 OŰeH}J".NM"ݨn'W.#Z&P[*RQڤrBAL^Ύ { jUXT!z(CW*xUmbJ9P-ź9w f _hB"6T&"P˚4 #1oj$ZAT ex]"ƿU{F٣jDC޺-v͊jIWno,vk,_ԏ cπ(n$4ε+Z C$3O1QZ,v9//ip7n u2Gxk#J߳re\-۲0 B ĀifڙǨ=dAvz` ]?=6Y޽X5ygǾccce Ww/wf7/|<],p|c_#*g>bdsqO0o3oy8Hi!bpsXֶ,7|p7\Yڔ>r]ҷe/ \ܵ ^x[οOE~5zJ;uzEo]b&CZC.h=G*,a,>6>)]] oH1ar~vF\*b>4(2d ̵DBFV2A8sό1;3CնYՙ:Wf2lwi&o䋿 j $ d*A #gb&uZtd dbXhGmb#&$+W3 4T*vMhu L ְyNOVhVm{1Ϝs"35&ýE\-+<13Yf޹(+ jІHmIJƪ!9;bhp+)}׈p<;b<ºBP%dtNϣ%Q R y^B b؃<0S]8DL2Α bagd[']$a!~)x | ג [B. ;\ZD2PB#4]4ʥ| Oηɩr@ '3X\!_HSd9\Q1])pi?oͷ%&s}Ӊx EB+ H),kIE\KLxeE\-v [ttZr /|JxH-8}64X|OX,1&XRz9_8m7nQgwi?~cL&曗$;kƱc8ww}wG.JLOOjvf|2Fښ]VoTI.- ]/W d9un# 6{o$@1>V'QI*4H'M{61X?wW38'GxM8FύxO}޳WǷ𭉧dT6PqLVcyX(G]bJ)֮]Ν;<#bnn(ڍA$|܈gفFlwZ΢evnriSUj|W4(#hRGnXb_$$஻ZbwB &&&8| Ð;SDu]tԴuV֭[DF4z衎{uQuڶm[Gî951&5fgg.`[ {q1ǎcmJf kԪeICifQLڊ$Zq&rj|L!C.i2Ey&C ₁uRi C3hUHb'Fl0@uKUZ,u% -<4P!(D]N|hgFKvGQÇpRwUM.RdYn%>X*=."c% `ffCun x;6l`ڵuz;t:pfst7[lnYxűs.-n+ wi϶Z0"{$/q/de.w񙞘ov+;Tʳ P4kvƙs9:2I5 XViᩐӠFBLKjs.Mim+Hru%ui7i4y%ə))$M0𕳳}CYCIOї\s][YĮ5ipqr? }@ =֥Y !h4>|RIEv^URJo߾~zjvڵ$u}u+vY"sؽRp%0 [ :ƹWi͚5Ws;JRݻNGZ.QJq=t\0v{mi}7N/%Ǖ!x9tSJu~9Bty q\ױTژfZJ#G@,TZi2R{8[QӘKV1?}%b|eQh6VL]#P R]HՏ13Η8ux7IO<|~~mvwN3\ԈBE2]W"6d܋_Ib5s{9iKY˫])岶&6av,ߋkgNr6|uZC<Rnh!@R# R[WMx' *]`~9#Bb[HZ[w1fb& Wdђ|>ͮ;z%4eL#x5z{Smz$VWCǎre/I>W Tud~R N@vC6U/TS)h9#l -1JD)\Ds iHoDMZ@ u1R3mMiS 9Ϝ |ɪUC)`72# '}jz^|i9?xYn(8*VjkS-_Xt9w%^f!PiG@*x(ND=~-(ٳŢЃeVdhϱj3@2R(=BWDc'PwZ+ZߋIP,.S"M" PD&]]3;W+NDgN۬)tT. ['qTG dC&݌$nbgv`aaH7!l8 Hcn#\ d2C!ӅoATiMNӒR #XY0AA 7tffN iJb_%MLRwwNǗ ổi}ZbE_t]_ϯEX%ǯ]-7YOӴgCo{`{ h8ΥHJ3~iϠygV-J`d  m}+*Vm'ex0VHh7Ҳ~̏D5*U2~.ص(e+.]џnu/i>_ eS,9pO>$׮|?ky5iˇ?a|#"::ɤ$ "BoaI BXj 2M %=apn I4-f+U8ɳt !iFMLKPc-{oXǪݔN?LnhmJS.ǏMz70MAX jcYIbGp[Y ivd9~$-uk zwe,Ҍc(hGUJJSq[ @͡c13We푎ILO$L^`!4 t*u]XYI(bRQ+$ߛ#ו$ix1\ϥ410B!R@.$:wCQ1 <ĆbbM[:ǎBP z&鳣\2Z$evEn&D!ȮkZ7?k 4)O{81a٘ |AH2Ay&bYn( wST;dC=<}&C+&R" @lR@Q̖#[M6>3UV&i%2[k3Q` P T[2Q(f ^' t'D]KлH&c`j1 >gN%#xB7 ۅ(v\q/!㕴yhFHMH~|"VDQD٠T*110u!  qZHgvU38Åqvm8J/T9?8ÓO{ܔ e0~p=s׍߼o}ƞ[^EG1fpTeRl(?@븎#E1kAD,|LS@G# c SgB2W 5 !$A+" hY O╷l|GNfi` &F`DDba)Vs[J1?ZaRܾo~`tlh"FG2)FWԧ}l~hNG*mt DՓ!+Xhcs Jl^cSAح&χD B\3v2ZM#j hniwR7xUn&#T=zb"V1.b]R J@*2>Q,q[&iE]!KRKOyOi~;ٺa3wm#+@hس 0sLM{H2MTe 6fZb$FGرsRLõ}d"@O-Qњ1RU"Ѱ8j3&vVȐHH6ٞP V>nt8=7M{0i56^dPq@\GX P-58Hq q CgMXi"ђaۧxC/bC*8?(u<' }l?CĀ#0Bn淽H(;Q;Nqft4Wvf,Cn|A4\%4yL} O/[hWywfA-WflۥѨ33=E֯_U,N䦛n&166!::THiB $*a.BDt]{t&@]ا1PIQHzbdˆnA&"e)54Z,b_'(Ujn֯ى9j.``z&oBWܲo?zD2EmJO 3K&19Eed_9q[Fݭ0?[si0 ,X[:BO+2-Ҧ3$԰d=$5 Y3\MF_Wh BL> n%DQ뷓(Yt-$rbs=zㅥے 0 х- UfhD _E6&"?a,XBa(m/ R TLeMZ؅Ճ9v8Lw5'@{X?3>5D$MB!yd _Jظq>yz(M^M"$[ȣIQ70i=I"Yd$rcZ|\fhBzNZ8J(̜E$gk XtcmNYzeb%\ȶ "!-L`l&Gsy,hkIZA!&22335mH R\x{bܚV0:]\C:rXOJD04ha't6&!R1ЪUC_"eHwQ m=Ԁ^Hrz#4q |XL2ӳ|%N8S'30xyƏ͘B2I.]|)dl(wp+O>̻f>ϓ6 BFFb".PjD4-p]Bd""&LZxBNe&ىIFNr8~nYlJn}gc$cO-CHPc,b6ݖjҗIe3D2Lʦ~ƚԬ (H&ko>LIci3gГ9OG bO70@RӾwxr\-&\kոkg:{{תrWi1Zlk1zx'qQP!aR(-Xi/c$7x#F5J*sh<W"D%cg7?m{sXF}o+ɖ3xix(6gN=0I*8|s?Q?S8M4J8)n,RR)\*|){X9<ė8.bسg.\X6zѣG;&hnݺ!`b,ժa/اbKu;V/SJ1<<)v1lcU#)%O脚uo)%JRԱ;#qU\.N'OS\fff:EQtT2޾^ΏE \O E F"$Mǎ"D v'#A^; x<.4_,7GlB+ŷ|"˯d-̙?W|x B!T4AEQSԚ5zr 4/F/5R!zW#o~3l:,S&JQ]heT\MBOT QkΝ;TDRRV۷w XreG~ qN;VRrܹcrY?|_YrdM:aHoo/TD"qMAԋ 0(F T$JJ""^42Ti& \X, ]]YwQ:wVܺĦ.6E/)۷G Xi>F J`R^+[O˙sc&lo꽓GOa0BH?rjz!}H)/K@ Go~cc:hQV2rA7-WipC?z98;na >_~#G~&*u&Y{;13ۻB c?:G dOjHieFEW_9VlXK$ D`&E6$P^DM(zf,T#,ӧBޮ.j&f&Ig0ifj!]f3\咦icW Ʋ~N;]r~~-:=W˙8r׿U81 ci;$eR\ DYժݳG=JY z-"iZLNO_޸qgP ղ9wkcp=4)B϶;|jBK/lID,8?z??d޽ou4]'>!wr=b#?0 ٻkK~X 9_(p{&Zz: Et{>\X9$(*?MRFƧu?.ҝN㨘| R4nnظf#r y=|$Eճbn'MNek϶pvdy nVޑt&2SO45l72?"Veh[V!*0c X$D/ >bpGs-Id c ڱΚIΟkv[hBO֢ЯS ZX`iX&-&T +Z5lZӾ!- q])VaKfl;bqds6Iω$aVNP.eN覆T&gϐXHs679h$VN. r oxtfZOq]ɵD(vF!ua6ΟG8vėwN$8?:ß!"Y-Lc ҳh"͇mS=$Օ#NX=k̓=Rk7`6f b`%{Vy`s]+y45h/'.õȽ2ϧ?X>Frϭ*pLĽBP*x[LRi&K oF2ab&B0ؾu+C+8u8oz5{aΟ=O0:6Ɵ|,~ի矾%_*~~OqiJ=ƈC={^qF"I:OT\^}4M 䟿`br;u _"Ν{|"h(4]'R?/_u\RO7xO?ud0})lft<ؒ}icYX 'k呱8㙒O1\r=@FW*ED.-EH )i"C?ybl|.I@Bsn"hl_K. 6p '&0gQ9CW.M:*vqfYO}nXdtop_Wkw拿WՌ3 ҙiC԰K6Vd'ʆϷ 31]2@`Gҥ-alr 2yI4ӗ\v>6w\U O _i8&&[6Hv ڈK&wL})oO$SWW8ׯH$Z9kx. |!tI߻ޢEk? -bzYzc7oC1"5VOڢҦd($j&F ÞC+Zb>@|@ (*Չ(.`6S(Zp "Q5P5!= !TP4@<|O:Fja3`P|ݽͯ 19}8#\π|ɪ^x 7FEB"^G%܂Ɩ`H KA$QK`z :$jb&T "t8, ߗe _>N<G`?-Strjk4%m b^*ö$34BqJgFo+uQ*vi0t)a4#Ȫ 䛨jQSS_'[c9P]Ө2?HDȺE . #G&!"F2!ϡ Md Q%8c敄tFӓhIfX0\M \CBTZ.Nq3kw??D0hr6f[z*"J\2f;o^6h Ez E28a`PTO:I}uDU PQ5H8&&W=T]%exM[@'Yk:>E}cxxI "y (H$zM}YlˁpLbLƗrtgǙ>mX}EEQB`-t&9>bBn\nhGW_w17}c?25{ua>O6}wJP5?̜EFccFz[ CT%wݬ8$zzz_X""uAm;e=gbp+XSiFG=Jx=cxݳǑ \i !:'w§~!@\Fy;$M/>nx1|']SWxp6GEGx5=HϢ\:M w]\j]SUx<v]r&xwxu]Uba 50.C,`:@TJӄuUp!z`$kxgOaB*D GSL'f?bC<@ S kT50='hiٴ50PN_7\|Pd9) |$.{ď+HYc[\Ogz:\>TV Km6V2>Osz{ݏGl*XuniP'>{EU(3YHA5|Eзg7Ghl?4Yխd#G4е \'̾&YĢ)LE'iS. R((lnRˑ> 9bޫ*}!}v{k/WJ/y{x4Xs a|TLF4KӋcC\{:/݉4G}b`0ʕ+GeRU-[}Q}|gŊ3 pws~z,ןqGC ,+98< .$XjըTRJXt(SUիW>}}IXu,S񄪪]nT d2GilذB0+VTjtA֬Y3fuYlYg(JuropǾŒC᫿\L;N`Zj.abs}Gd:d~1N?$ry#&`vyt E1i:>U 8x*7:K@h>BIB 4lb! b"[ M04gx`˲hml:ZuĭGt>}!Bxkӷ҉>c '0Ns`L_OH=A767747N/~U+ ݾDؼ_/?jV얟?f۩&USM*erlV5TX# &L`ɒ%C=D%Dъ2*O>$LbJNAww7W>zTnyoLlGu]MR*PaYEVb@*Y6mE(]<4M#N=otT(ű{5@UՊ*Dc%~PeLGVUTrJc q4 9K51߷+͓󫗲d\ĸ鴚n\/e_,{y}]Ǩ{3l۸mrΘSKރJ߽Rˠ xA*X<42FbDEAJyl7\K00'YPKy Q,fP,wl+le.7x♬MIf80~p%;s![b0[%]2F2-Kۢ>?P--:S:ZHh@a V.ǝTYx!|4"d]R1݈RUJ݄eĦk>Ma 6ؠZGdy[q'{={UT(};|[y5%=Okd8=D4UK,>MUMSvr~J肫Iފ1̴y6r.dɓUGr Rx珮ԅ3jU/SVc^9|z0%W.^jż7m/ٸ=v^VYKv@.c |ߡs6:̧FTM845)LnMzH @JJl_=;lȾэ|>$Ё;)̣~oyb:}C H?q6h<-GP{XTg5bg2Ը7UeD)dh}g"6k:(b CѡpkPؠE8R;g|յƋ)-]A$0sΥC˚7R!zِR 顇 ,p.!B__9‘ ÞFT8+OدuGhj ĘJL_gsp5Iޭ;9"xgmj6~#+9]~W{p7<~̼|6/\@KK>Ckؐ0tN7qZٿ[К$,$F|x#@h׿5-ܑ̓_eI|wsSdlW}r Sr`=|ױvetYyZ{ǛgsA{FHLPmmbE7E*QױYR)4)I^|_*DywJ^9q9rn!s?}9diҳ|ki^6\;΢z:2 f4k]%tn!<+|r`P%K.0cr* *quX"kp'%8ytNqU"Ce'1kBK<)1O/t<.:BNyMA)좁X--f_"#Yf0vWoΣ .y@n cAJG&T䖈$@pI~ #bI$P\1BN2-.]mL7OAɡQiA/pw>+&3kTW-9|RK%rKa/I]"R}zyrm_14gx&Inm?5qBÇ9 7KRF2s<}p΅Yfk#}A[[G6쥪 b!h 'DW(fjvwC2ǡ:^ΕN4(s:EQH) 1O UyC"/BesR3?؄dg7=kǷfsxfI ]Sغe\<f!<HP;mriߵTi{5@ O~Fۅ̱cheZJCU$>bל䇲X9A"`NFƸTES0mFEE8u=+ P9F@QӢ/R=g}W_|lf|sݽY'Җ޻bDZqɯoY7G6t!7dfSۿMy銁1|oq9CtTkCkSK24&XU#=C{0Ux Ɂݽ$AҖ" &Xs#c̞/(]oa߾,w˻Oz M5]؂9mx_GW&Ѓz?!W|'ϮY24 .C` Bz;G UCgkYT)r.?Lׅ3eˢi4hŹ"Ӧ-"۸N CAfϟyu'BV$kC:>ɚ ]ĬH,!BP # O2Yt]nJc:TO|#20 j||& NV2PAz ˮdj] 7 \<| (}@/ZH&ͤe7ypGx4?W9PŽ,㎋t|y[ 6r%_ k'?ˮ=7KPts׏si>F!tN/9汿|{~w1?iG YJ Zk) tv&X#ӇKq13fP_c*ւp))95IUU"s J$'#Kƒ>_3~= Q6b"Ol̥of@+C@|=;-j(Rvl~guN/:#Iȡ< 8AU#O m^PZNC'R sSSSE(TE4P$#=I#l@RaoɵOÙ"S$~4Y&{`re'=EE$ZCC}9&~KW` +Wn7oSg61wu-[)Gο/4j]3>qao;r Wsi涯~-~3nZ7fKaR6RJzzz*yX!ıf2,RQ뺎eYEAJU)y nSܿiCYclx_˺Mjf̛Y ߏe;68XS8:xlW}G u 3s"62~χx^!ǛvUU+X,F$wPW]]]UM7G}>C_M_~~lVDze-װ~PsO% {%umW_g@MY?H[%Xu,BP[[d3X 0*f;p 1 A-Z'&LK ENC7XqՆǴ lD\GUJD?$%0yǷ8Kvߓ;$ndAc&[Yt9p4CHwbA)jõ{!i$9uCh/1g<"UWm3s'Lz& O|N:.5fu WLgbT%M'hD)SU5hJ#q3*nN:A,*tx$ A1Vg UO(b<+86LT(cpb9[]ץn̮Ol9C*feynٴo=9%KO6^͵C"x;usD+L , 9Ǎ.q躎jĆSqJ12|o3eF#!Ä0ya!r!;X~7.X(I ]圕ݕcY<[1Κ,ϜAPUOa_SN8x&y񫝇 Χ39XFE`:a:Mww>S:J(ŋC<xLL18!?eeWy [{:%4:_zKR &Ԏv%swf !=y9C p2w-ljsaCCH"_JOTDxKO) &긮J.`]*/E˶Y jPgH9pǛ$aR[[;j^Rs+a,&Wb;;f{.jv1 O~׭aoE~Kܿz ӧ(BaC7p$o[gLQzܱhz! Ge揌`0^B$sN8ƍHdXdÆ 2渮˴iHR1A/SK:2x~zJ#ޞզ*˖-q#Lе2GWQ[qŠ }@{>/霩dYc K9k:Lh"H6m|3Wpl׵5@`!)`4mݺQyzG"(9<|B1HTyGH$4b&qڒ72j6xSD öJ 8"$֓y{V_h!S) z/ߚ/3f3c_+])֗lB௿ςYm/hno@eLX:$G% p!Ա65ZRt7XZҙ ŒЛNsWNשl]+%9'"V±.~/rIM:jZd!JsyU4hJ!4eB^'g2HS ò-Jخ7{nmk%c{n>\Q._Jr<u׬Yb!x+f꭫cTv5Mk'vmc$4v=)oONLلI>t]Ezѣ E!ʻBQl͍#=)R^ӓ*x2Q%Hؙvu>m"#I(U;lEH:ZZ)4M>d29 #tvvp@ Pq32ʺ;qӧO%W4]ץeQS{u%zˑ|ƭҮ(WTB+L8Lfα^6ʻ{--- 45g˻I꺍T^1S9Eӄ d25B@4q/sfFSW*8.P]]]Eb$Q|( 555 UUijjZZZ( ǻJ%:&OHSSSShkUJ4_1Mh"?Wl(̛;aJf}ߧ9gG D9b)IDATG"*lmmhEQ7n\e9on!˽l&LPٯ<,X7D"1 % ᙇHV/:UBē`Y),Oķ% HM|$xDUG/xYצGu)\>{㏰8|0ilO~7rŽLC7k ` T Ѓ.(> "RG" P(Ĵ589)#OsiR BFG“ UhɥEdtP X"kR 8CdU^pGEtl &6JD7D!Z1Sg(AHEh,u &WYx1 ٹ---cع%J%^SSC(vzٶ{mm?G&Nx7'N+eg|߯8I Xj%'ʆgp !\b'$˲m{u)ǿ2M_`3/橧6Lλ+ BY*-e@TF$%F@aAKrn钡;/ )5RCw8?ku\aRmϕqM䖔+PHQo307E%'Ԩ,H-9,ε,X[*CE;231l56||R:\8BG Z1:롢`۟1b| p@BS_ 6xFBφAv,w|s*J'cox}YqvMHGbtJJtWZɣ +3 |#Oռ_ս.'}/)uD63.*=0y8H(ܖ-,ni/Ux+-ZИa-;<4o~2$̔!Yhzreeo 7ά&.B!iW]Δ(FfHO+G՘q^>3+ *3-J=ӥap^(ylFpӛ"dQ'mP{5Eec9Nls"3imi ȋR#)q-vtIL`-s) Jjs"z9)Kkfc Twٳ8:r2+TcgQ;{s)AN>ᆐ>a Rob1e u\VoOx!AXBiHK @껑`'UA7pGnV/S bdKȂol [_]w݄wwOJ Ŕ,l_lOtyb lKIf65PdIk&%{9qWVEEkCvHA"~ˆ-?eXڧ@v""vyH  붿ph[^lȣN1J:H.U,*ɵ˟y7 xu̷)a(xV)QW|-]9$eRYq'yO`YaEQLv#H2J;MW0[k6CldPnxi},?|U hb29v|%kوfKh$"L"L6#!#_F`mIDevpZV_MVHڑ}IK=/rڤʾ[=Ag?x.Ų?-P>e4\s0N2oعj'#fo06rSdqT3)Rx|mk#beo ]/|xC&&0Fj㹯 "Ll:eob+LR^ޜW9m}0J>H8]Ơ;0pK; aϷAj)'ktȇOA-5oyu 9g6K XĠz?wQѴ!HFiK:FQ3!h C'*]%Mpꏶ˛VɥuV#N/ 9thL0{g\#ht nt VW1rʲihf L7vا_*J#moޒ/K Zn$@3ݠ@Lu)ێA :bP^ttkJd.w1d۲oFJL|_l|8a=bci*eV V{QuC0dԭ=~xE,cZ#y{ZVE+GTe/CNACjGb֍*vhGX´Uww.=4YkRI c$@-O K?@/x/#]O*3uoP~gE<GbF{&'ߦ`W]'` _+5~ٞ ] ioûK]dyy5&e]15{Vby-U}LJ#24Z*Yjv 2K%vo.{w:2l2rTxbmHcmDPź O ZWI(0O'.lc>Df UYs&;z 93Ӥ#߸ 8IR|C>5B雮tTt2~ĩB5'oRjN50dȳ\Uk^F ZKNtHjzZ43V $<],L&'/|iTE #KCA brk2aIfIDmq y_))L[d!խc=PO;Y+tdNR'XQ ƶQ5- A+%_.+2P-ؿ-RȴF.8u;j+PA4M+RKW!a+7Ye9 Sl&Ϭ4BOD,`~pj-h[Ċ+jCa)bzVIeq ~qd(*#8<3e T&olWySDE[ ? GP$tWY'vU5V=$j > rYXWӝ{դE徎1T4y1p {P^s)p )e)AA@Ek>d(͵1~e[sRR>SNqGZ':"u> =\B)_etxчg1k܄D~ bca/êk,OTv%!EƳ<~MMo*{ޯ]ZsnBH7+GꕡXq,rT:>$b; >(x¶U`2Ysp <.3Fk0j8|/kr굈 JV{=1¿E{;/63% yI&bԙ̈́8ϧ<̅ AIkI+n>$ew6ja[7i|Mі4G6{׍nGC-$w>!%j;@ t6p+8o.v _E@|n7EN8ZmnS4$j~?6VP9t =<;-Y9ߤI2S e\@4p踻W41>.;v501hpNZ%-q;hO*¦ P`WϨ)\tޫR(VW-?*1lLCgԾg}䔠w^!W7Ҳ#d؋_câf ƌ 7V(Ԙ|84yҲBxNd3M T'&R\jp.ęvje'|4_IjYKP0 Gncl'm4>I>Si!~ÚxVSGRv( F2o1'y0JlijNin0 Tc!]2 ZbVg^P.#+i;?s%3aHv.QJnVnTxqM,ʓauP{ ƎŇw]fy2qq5@FȌX$YR?1mxPN_- ]BV\ ɳgӝƽH ?TH2wOċcxG1ʵ6y:$~%FІȞo u.{ɄPF@4O0͆xcDi"4Jis9rN1]NE[тrLY)>@%%VHT.lUŠ |vN~4$#aK:u{%~,1htRت{f*r1au,\qg,l"]GЊ= wRT-Z~oɷ*Jz:k7\6%~ĭ慥e\WG+tQeh V&ec`ϘchQkP?Enf/2%{$%BzWTH8+ aϟQ̳岡℉')O Rg=F~]09Qr T@q-/D8]?O|Srr6VJEa\>5dvgю1SvKeTh*y =;lZDe SMu/>MOvh?VYJ')BJ=qiw'JKH0=pu9=F:EY}2+eK$ 8ճeXrޡ&PP]Z,4x $bJxTT#]-63;wapww0; ;YI+ݝJUkwN$@T {;$C IIBz {PZBG^Wi84,)+D癙mv,bgccb "hblbLflN$!)DRTH]"[me$4U_0U!R磩I0FjPIjIhS JW,'c yXjaͷW[tW=ױ^ @ρ2⠿6kkݮWp:&eBBc/l\Ƒ]BC O/ *Zmӡ(lٜ\ʲDy~eX2wD/1/\]N9/mKt1J9VoYU.H,f|vl%uΧ +"jFʽ;YhUZWܵo&Oo^D ! @'UϿqƞdu]bh'nc3ǥt(;w`~ēNbUx~9xSOUowu>tLB@n4we[]ddbR:0 A*V}TH)ඛoD)ͩg(O}jػwݣ|Cz>Rᡯ}mᛷl~xY-mST @* Aࣕ\@HT>Jkd( ٳ0 ЇOUObinnΎrcgA?y6l嗷-+84V2M6m܈eYamXM2v*c#w sf ]y|k:AM?<yKRCT"1yʔ $455GJB%QR"BAAH(b; *S,ʾ /[tqM۶].WhN$B)M"4Mz0 عcsȔ)S&Fss3lD"lQs=۷+۶ViZ8ŦaH$mRVCU;3::%QLH&Yl \JAL: fG0GIIFX,Ps(#X(pZk(mL&CWg^~=ceR]]tL&I&O!P(pwm6tS -{6m:}D޴El>|JV> CCR(%.\۶ d2Icc6rXI)1M gR0m4uG2uT#i-'!DCaص#v~{}w[9*QJq􃘵}i5QXȰntDZ bu1@Ci;:8'0LԔEK9uPJ_R'0 IM,dBg2R0 Ca(vءKBק-ZD&1 %ZW1́Ӧ.׭ŋY|e̘1D"{@IE&AarA:!!ISPVR04ӟcuض=q|<hR4Zk hl>9"%a4MyYu70:: |GkQ,,%L&׾ 9=o|,`Su,5ܹT*Ŏ;xPX"q8D!Qi`;ȻjS ]vh'DhjZ[Zikmn Aǝ>o޼[n٨Ν;ŦMa1GlF#c_4_ .]˗o?/.^LwOON 38}čTsv% bA0 ks-048*Һz(hkkӅB5lV_Շz1ZeT*ao4;wy'ӧOgѥQn5fۮ0f<۶qn}*839ʎ鋟߰5WS.ܢESK=K d2s=::<sil̢f јCtvv"c'H) RUR4Cd2iRxOgreYT]bǟxlADk{V1q$$wanYtݽ^ J"BCO:()E;w`xp{Vqh C)Wp,َCJ}i}H---mc446,84\$ yUEƸK;mY:lzSOoa0>>N+$SI'M_?A4ŭVI _+LJ '@XAȊGd(m[:l2W~/<@.g``mmmr9 à\*k. >+ NI8YB5n(]]dbUY؆ұ,la^gg'Bt:Ʃޱ)S"b,Fk+J$Sma 0׸z-h-id<|naH" Fg0 1M~'MD0M : Rp/}_*2 _]c+#J@2FWg2 >޵4D k)SU4ZL ,k1-$UGl6 Қeٴqlynm0ضY~3/C)En4_R/~_{T}UdPJ36T*A0MߏX{/l̛ĉH6mp yQ47Gzce8H))!% €KRu%C9TazٻwD2QBnfjatt485ҩϠ_+~zzzxy˖ol۶C4$F_DjKp9G>S2R 4ٳkgTIRPJ<#J>:aH?:}u]֭]Òo t_ĭ b@\Pȓˍb6]y5XeKk (vDz nn\fv,"Lx!DGePD hmop+ƃ͛6"o F{ҢC)ٶ};i ͔JKFURNgH҄%"1A txCQJ6Fww7ik+$ȱI(R R4eFOEYHi@IQV=4a0< M`ʔ̟2?<8AfCxax0gl{>?j| 3 8-\eLذa=,7lϬ|j[#⢋1+;Xv-cڹ| 9fN}]3M>u7\\sE5kػwotk׮c/3}}}  ns]5kײfZN-[+~;0A0 x'fʕV[1r)2 +V\ /r{CZ\Oń>fϙ9BT*9֭[1-+ZT0Jr]`A@&\_XX>:{vR.Sٰa= Z~]uيeŷKlp+W]u#{n''pXzf8=…gѢE̝;02DmO\"#J)tML2);l&0<}ԑqzϤS(K #hjiŴL?I&d.ZN}{ xWXӏ]dɚ|PAMg``p}s;g̙3qzypT,fڴW@.. C?D2 e!V=*V\I[km?%ou ,?~]ssC{wOss;.xZk:,nVOJE" _Q"eT2$g8)y:h)iΌˁKo_t<ꨣK^ފ~x=^x?rgp9g}۶z*tHRuW\0B')"aQAR֮;oN:)ŸXNn{U~֭[w1s͛O4d6uC{yH)ԧ>e^@1FtJQI$S1y1G׉{[/,<4,ˢqǟ@dڵ_xZOjoV:Yc3)A*i Pugn&d:hLCJ\w= ihlzC|? ' B0|ɅWfÝɤRbiF[ԚMq AP*F( ٰ~=39$n5Fu'R.d8  wnz{'q3_ڴ'z;co֖.]ʐj8$޽tuw344H6%ϳzJ>Ab7O$bLӤZu}[l0MДzz{#_{s䥩7jgQ,hnj" %wd"Vq#hw$n4'sHdA)&+?Xr/~Ë[cu9D @IҚJoJAܿs+W6f[S[־_?Ƈ[Zg76f[Եpl2!đe-i73Wv~r,7zc:T,gWtwvO{F箿8sT.y3܂*h ϵʏ#i۷nزmc+?Ӌ2`͛;vmmkifZJTt*s!˔WYi;+%ɳϼ'0SfZ[Tr熊g_Oz|B:RU;+dK}D~i̫sek+TypM~wUO}>P%VO!G@M&e_}Zm]@ƒWK]gW] `iɪ ו\9Zozn_nZtZ-:G$Ӕ^N(N2/q=eN$\>E|lm.o 1ۧd0iߪ}4yA|MެsJk˙C\h×!E۸o[4ntӟÖD2zp{'"\:C<+P%%vr|.ǣf+ۛ 9ߏʮz{OW9׳M=8Ҏ]vv9`t饞u S:l[&[e_$`g/)PyQ<~if6uh,xh`_ ?77bz3"qaE OE?7≉'ƒRYUf\14殯Tr>\UY iNXvBrEʈ;DdEgb( r\ԪxRb8i5ry pT.zkr,s(S-1C7jG4Ԋ2i4et*Yl@jM)n2NkO+"u5Y9LTU$j2"[alPQ"#< %jmE7Mw+9P_.FVaSRϸF@š ^Jyųuy̤sh:%þ25HX_6ʮz3BC)\G?#a].aqS.GeױM}űʜ,!-°?7ÃQMJ5M1MQ$U+ʽ p9nu˖S\L?Dʼr+" :n焻>|_F e4u\N%Ф(:řNk`i^:`kϏ2-]~&ܚMJx3D`TbQ7dױ0i `K8\mkZkYz{+JGXt547Tۡrs$H^$"-۪x%P֠O=ǻK,Wk}^١e^[es{ NʵM;\,tR=^";%C Τ*Yo!,25S& azP3\vH|K&eə |6+PnK@}]4YRQj+ץB6I?)*r`mqgڦK5E ot!0ͬXS)֡YvPM&Po HYW~bNIQ`p7*}cevmiY);GuK9rYOFDnה:G^=@8bfH6Q|{S_(ooM~R]&}|x.Tˡd/&Wu׍i^2W%o שѩC};cڅFXOHXJeM*|n9zֻLʇN8ASTȡ.\V7*s 7]RIh/_-q0uJ~=TQ"_i#oceEuiSSH@P6W_izyh̸#ּs+/nv.0 ~f˩U67GCľgXp"P;vܞcmz6kIW=Pi{)Q v iX|͑nq1Ctwk-Kcu\њ*jICiK݁U: ?X_LkX"X;quu׷ 55ǏS)39xšzL 1LrcY"v9 R#k`t/<ػ~ד9y:ZD:d[yق Osx6R#*Z[?Fq,"Ū-IT.*m.mu+ :Lg(D5nޓ(. Q$*`b+:s'l92} /.s27WKX<1Җu|yH%*+ hߖzޗo_uU7&|/_7fcjh?r;BFT,hK#D` %LYw>k@s#ilt3 OʮNsʼz0X}4Eyx!4H u4ێߜRc džbO Ǘ'h>߭@["I95m3vbÐ^ƱLhʴ].t^ P*˚IBRgYX3|TVy@0juoF ]F+JsoH> i.TxS!B$e.6%v HX/4::/L}U rie=޸!ߐu : =i޽Z|/˽Oִ7h\qq+Yd9 J;K0CoG]g6_ʮNms97Sp4 8ԛgL5R#8>Ҽy(.º2iGŐVE(KӔpB~Siwb Z $6į&߻@I2"P7| 87Cӥ+v|#`;[K3Z ${&tTD݄l`]G2h)^p=NiQ, U׆M/r;y18 XuMáIi,i@b?ŒpXK|«[y\ng_5A`g-3ߞd qGu{{jId^8BfZ]l CoYZug+]F+ٗX y=J84?J.4Ra<u㒃]O5Uaȓ~ eDig8g%+e>ZOaoANaiGSj9mokyغg?P1+e-f4aT|[޽W?0a\-<3^+eo-Ggnhڜ/o0N5m rd[ūUu$7a,mˁx~Lf=e5(D]E]uWʮI5[8͒/x5MF/x.ui8'{M[ֺ5UqI)TQ `iXKc Ӟ irѫY'Gh@oo>"-?XJC 8>0wf+=Z#v./>6~jݺLv8m4͡qesK{ozb(~-i; gƓtByNy\Q氎 (W5~v<q_ jHK6?0C"Z{׵@ԕhOe~ W (v,[Mp;0ٜQ{ kP+E5=Jh~]z8{@٨W\ok}@>)`rh&Js{[2w% 3,S(zϱ8w-g@me}rbX2%R퉦횖UC< J~ I33*d^u(fX2,#7cYF&M*~Np#rtnԌr4xM4nY|W+yRt(*1 <Ќrј7maQLCsXX/?Ё*< ]*@>\W_=ix2Y@anӀVv=ɰn')"` f](]L$"v)7IENDB`W d< x PNG  IHDR9pbKGD pHYstIME(5qIDATxw|\ՕǿMU̓4Tc@Pm 77' B %1) dٔ%.KL섄jۡVF%YҴwH3x~H={{946{z/+ڮ[)" j vThKR_mk]Z(bzMquc=ջW"@.x3ƸE7-_>dѲXEE[nwt^SMw8wBuLsElmk-\bPG3u:;_SKEXwklLX+?8a4|/m˻A74.cCxqL|cz8xK!ZZ :_-m3:G  }0022.html Η γραμμή εργαλείων E  y0021.html Το κύριο παράθυρο g  ;0020.html Επεξήγηση του περιβάλλοντος χρήστη 8 _0016.html Φύλλα στυλ = g0015.html Οι ρυθμίσεις για όλα τα στιγμιότυπα και οι ρυθμίσεις για το στιγμιότυπο σε εξέλιξη y _0014.htmlΗ «Ορατή» ιδιότητα των τμημάτων και η διαχείριση παύσεων M 0013.html Δυναμικές μεταβλητές f 90012.html Προκαθορισμένος τίτλος διαφάνειας D w0011.html Αρχή λειτουργίας R 0010.html Πώς λειτουργεί το ffDiaporama  %EXT%[ #0039.html Πρότυπα και αναλύσεις βίντεο 7 ]0038.html Υποδοχέας H 0037.html Κωδικοποιητής ήχου M 0036.html Κωδικοποιητής βίντεο C u0035.html Για το διαδίκτυο w [0034.html Σύστημα πολυμέσων (Οικιακός κινηματογράφος) D w0033.html Φορητές συσκευές K 0032.html Smartphones και ταμπλέτες N  0031.html Δημιουργία των βίντεο N  0030.html Δημιουργία των βίντεο _  +0024.html Ο περιηγητής αρχείων πολυμέσων X  0023.html Η γραμμή χρονοδιαγράμματος )5](e^)3% U0107.html% Export project 8$ _0106.html$ Check configuration 7# ]0105.html# Chapter properties D" w0104.html" Ιδιότητες φόντου L! 0103.html! Add or modify a predefined title slide :  c0102.html Manage devices dialog ? m0101.html Application options dialog D w0045.html Types of objects in ffDiaporama 3 U0044.html XBMC nfo files M 0043.html The configuration files for ffDiaporama > k0042.html ffDiaporama project files G }0041.html ffDiaporama command line arguments J 0040.html Technical information on ffDiaporama } g003A.html Συνημμένα αρχεία (Εικόνες επισκόπησης, nfo, κλπ...) Kx*ZxK)0 ?0118.html0 Ρυθμίζει τη διάρκεια του πρώτου στιγμιότυπου για ένα σύνολο διαφανειών / k0117.html/ Επεξεργασία του μοντέλου της εικόνα επισκόπησης F. {0116.html. Ιδιότητες χαράκων N-  0115.html- Δημιουργία του βίντεο H, 0114.html, Ιδιότητες μουσικής J+ 0113.html+ Διαχείριση του στυλ 5* Y0112.html* Manage favorites K) 0111.html) Πληροφορίες αρχείου L( 0110.html( Correct, reframe or cut image or video B' s0109.html' Επιλογή αρχείων B& s0108.html& Ιδιότητες έργου ?bNi?i?(@ 3+img/add_project.png@add_project.png$? /'img/add_image.png?add_image.png0> ;3img/add_cliparttext.png>add_cliparttext.png,= 7/img/Action_Wizard.png=Action_Wizard.png(< 3+img/Action_Open.png -%img/SmallRed.pngSmallRed.png'= 1)img/SmallGreen.pngSmallGreen.png< )!img/Shadow.pngShadow.png!; +#img/ScrollY.pngScrollY.png!: +#img/ScrollX.pngScrollX.png'9 1)img/SaveAsMenu.pngSaveAsMenu.png#8 -%img/ruler_ok.pngruler_ok.png#7 -%img/ruler_ko.pngruler_ko.png @|D hJ$l:r@/c E%img/Transitions/tr-01-03.pngtr-01-03.png/b E%img/Transitions/tr-01-02.pngtr-01-02.png/a E%img/Transitions/tr-01-01.pngtr-01-01.png/` E%img/Transitions/tr-01-00.pngtr-01-00.png/_ E%img/Transitions/tr-00-04.pngtr-00-04.png/^ E%img/Transitions/tr-00-03.pngtr-00-03.png/] E%img/Transitions/tr-00-02.pngtr-00-02.png/\ E%img/Transitions/tr-00-01.pngtr-00-01.png/[ E%img/Transitions/tr-00-00.pngtr-00-00.pngZ )!img/zoomup.pngzoomup.png#Y -%img/zoomdown.pngzoomdown.pngX %img/zoom.pngzoom.pngW )!img/Yellow.pngYellow.png'V 1)img/Visible_OK.pngVisible_OK.png+U 5-img/Visible_MASK.pngVisible_MASK.png'T 1)img/Visible_KO.pngVisible_KO.png5S ?7img/VideoMask_162x216.pngVideoMask_162x216.png5R ?7img/VideoMask_150x200.pngVideoMask_150x200.png5Q ?7img/VideoMask_120x180.pngVideoMask_120x180.png'P 1)img/Video_File.pngVideo_File.pngO )!img/undo24.pngundo24.png Jj8p> vD|J/v E%img/Transitions/tr-02-04.pngtr-02-04.png/u E%img/Transitions/tr-02-03.pngtr-02-03.png/t E%img/Transitions/tr-02-02.pngtr-02-02.png/s E%img/Transitions/tr-02-01.pngtr-02-01.png/r E%img/Transitions/tr-02-00.pngtr-02-00.png/q E%img/Transitions/tr-01-17.pngtr-01-17.png/p E%img/Transitions/tr-01-16.pngtr-01-16.png/o E%img/Transitions/tr-01-15.pngtr-01-15.png/n E%img/Transitions/tr-01-14.pngtr-01-14.png/m E%img/Transitions/tr-01-13.pngtr-01-13.png/l E%img/Transitions/tr-01-12.pngtr-01-12.png/k E%img/Transitions/tr-01-11.pngtr-01-11.png/j E%img/Transitions/tr-01-10.pngtr-01-10.png/i E%img/Transitions/tr-01-09.pngtr-01-09.png/h E%img/Transitions/tr-01-08.pngtr-01-08.png/g E%img/Transitions/tr-01-07.pngtr-01-07.png/f E%img/Transitions/tr-01-06.pngtr-01-06.png/e E%img/Transitions/tr-01-05.pngtr-01-05.png/d E%img/Transitions/tr-01-04.pngtr-01-04.png Jj8p> vD|J/  E%img/Transitions/tr-03-01.png tr-03-01.png/ E%img/Transitions/tr-03-00.pngtr-03-00.png/ E%img/Transitions/tr-02-21.pngtr-02-21.png/ E%img/Transitions/tr-02-20.pngtr-02-20.png/ E%img/Transitions/tr-02-19.pngtr-02-19.png/ E%img/Transitions/tr-02-18.pngtr-02-18.png/ E%img/Transitions/tr-02-17.pngtr-02-17.png/ E%img/Transitions/tr-02-16.pngtr-02-16.png/ E%img/Transitions/tr-02-15.pngtr-02-15.png/ E%img/Transitions/tr-02-14.pngtr-02-14.png/ E%img/Transitions/tr-02-13.pngtr-02-13.png/~ E%img/Transitions/tr-02-12.pngtr-02-12.png/} E%img/Transitions/tr-02-11.pngtr-02-11.png/| E%img/Transitions/tr-02-10.pngtr-02-10.png/{ E%img/Transitions/tr-02-09.pngtr-02-09.png/z E%img/Transitions/tr-02-08.pngtr-02-08.png/y E%img/Transitions/tr-02-07.pngtr-02-07.png/x E%img/Transitions/tr-02-06.pngtr-02-06.png/w E%img/Transitions/tr-02-05.pngtr-02-05.png @j8p> vD|@9 O/img/Transitions/tr-icon-error.pngtr-icon-error.png/ E%img/Transitions/tr-10-03.pngtr-10-03.png/ E%img/Transitions/tr-10-02.pngtr-10-02.png/ E%img/Transitions/tr-10-01.pngtr-10-01.png/ E%img/Transitions/tr-10-00.pngtr-10-00.png/ E%img/Transitions/tr-03-15.pngtr-03-15.png/ E%img/Transitions/tr-03-14.pngtr-03-14.png/ E%img/Transitions/tr-03-13.pngtr-03-13.png/ E%img/Transitions/tr-03-12.pngtr-03-12.png/ E%img/Transitions/tr-03-11.pngtr-03-11.png/ E%img/Transitions/tr-03-10.pngtr-03-10.png/ E%img/Transitions/tr-03-09.pngtr-03-09.png/ E%img/Transitions/tr-03-08.pngtr-03-08.png/ E%img/Transitions/tr-03-07.pngtr-03-07.png/ E%img/Transitions/tr-03-06.pngtr-03-06.png/  E%img/Transitions/tr-03-05.png tr-03-05.png/  E%img/Transitions/tr-03-04.png tr-03-04.png/  E%img/Transitions/tr-03-03.png tr-03-03.png/  E%img/Transitions/tr-03-02.png tr-03-02.png 5rFpA`1 `5(2 9#img/Filter/Implode.png2Implode.png,1 ='img/Filter/Grayscale.png1Grayscale.png$0 5img/Filter/Gamma.png0Gamma.png*/ ;%img/Filter/Equalize.png/Equalize.png&. 7!img/Filter/Emboss.png.Emboss.png"- 3img/Filter/Edge.png-Edge.png,, ='img/Filter/Despeckle.png,Despeckle.png.+ ?)img/Filter/Desaturate.png+Desaturate.png** ;%img/Filter/Contrast.png*Contrast.png*) ;%img/Filter/Charcoal.png)Charcoal.png.( ?)img/Filter/Brightness.png(Brightness.png"' 3img/Filter/Blur.png'Blur.png,& ='img/Filter/Antialias.png&Antialias.png)% ;#img/Arrange/arrange.png%arrange.png%$ 7img/Arrange/aotop.png$aotop.png)# ;#img/Arrange/aoright.png#aoright.png'" 9!img/Arrange/aoleft.png"aoleft.png)! ;#img/Arrange/aodistV.png!aodistV.png)  ;#img/Arrange/aodistH.png aodistH.png- ?'img/Arrange/aocenterv.pngaocenterv.png- ?'img/Arrange/aocenterh.pngaocenterh.png+ =%img/Arrange/aobottom.pngaobottom.png >Z3 M[ k>*D 9'img/Text/text_bold.pngDtext_bold.png4C C1img/Text/text_align_vup.pngCtext_align_vup.png I7img/Text/text_align_justif.png>text_align_justif.png:= I7img/Text/text_align_center.png=text_align_center.png<< K9img/Text/Shadow upper right.png: M;img/Text/Shadow bottom right.png:Shadow bottom right.png<9 K9img/Text/Shadow bottom left.png9Shadow bottom left.png&8 5#img/Text/outline.png8outline.png$7 3!img/Text/normal.png7normal.png"6 3img/Filter/Wave.png6Wave.png$5 5img/Filter/Swirl.png5Swirl.png*4 ;%img/Filter/Oilpaint.png4Oilpaint.png*3 ;%img/Filter/Negative.png3Negative.png X_2l; g*X2V M#img/MediaIcons/16x16/hdd-lan.pngVhdd-lan.png.U Iimg/MediaIcons/16x16/gmaps.pngUgmaps.png:T U+img/MediaIcons/16x16/folder_home.pngTfolder_home.png,S Gimg/MediaIcons/16x16/file.pngSfile.png:R U+img/MediaIcons/16x16/ffDiaporama.pngRffDiaporama.png6Q Q'img/MediaIcons/16x16/directory.pngQdirectory.png2P M#img/MediaIcons/16x16/delayed.pngPdelayed.png2O M#img/MediaIcons/16x16/clipart.pngOclipart.png.N Iimg/MediaIcons/16x16/cdrom.pngNcdrom.png.M Iimg/MediaIcons/16x16/audio.pngMaudio.png4L C1img/Text/text_underline.pngLtext_underline.png,K ;)img/Text/text_super.pngKtext_super.png(J 7%img/Text/text_sub.pngJtext_sub.png2I A/img/Text/text_list_nbr.pngItext_list_nbr.png*H 9'img/Text/text_list.pngHtext_list.png.G =+img/Text/text_italic.pngGtext_italic.png6F E3img/Text/text_indent_out.pngFtext_indent_out.png4E C1img/Text/text_indent_in.pngEtext_indent_in.png Tg: vCnTe wiki.cssewiki.css d /wiki_img/Work.pngdWork.png*c 9'wiki_img/Wikipedia.pngcWikipedia.png(b 7%wiki_img/Timeline.pngbTimeline.png$a 3!wiki_img/Schema.pngaSchema.png0` ?-wiki_img/AutoFraming2.png`AutoFraming2.png0_ ?-wiki_img/AutoFraming1.png_AutoFraming1.png.^ =+wiki_img/Animation_3.png^Animation_3.png.] =+wiki_img/Animation_2.png]Animation_2.png.\ =+wiki_img/Animation_1.png\Animation_1.png.[ Iimg/MediaIcons/16x16/video.png[video.png*Z Eimg/MediaIcons/16x16/usb.pngZusb.png8Y S)img/MediaIcons/16x16/Thumbnails.pngYThumbnails.png.X Iimg/MediaIcons/16x16/image.pngXimage.png*W Eimg/MediaIcons/16x16/hdd.pngWhdd.pngK 0020.htmlD   0021.html"  0022.html$  0023.html4  0024.html<   0020.htmlDialog boxes0020.html4Configuration dialog boxes0101.html$ 0102.html& 0106.html&Check configuration0116.html" 0117.html^     0020.html(Editing dialog bLoxes0103.htmlLAdd or modify a predefined title slide0119.html( 0118.html         0104.html  0105.html$Chapter properties0114.html$ 0122.html*Transition properties0121.htmlx        0110.htmlLCorrect, reframe or cut image or video0120.html( 0123.html0Add or modify a locatiMon0020.htmlFDialog boxes related to the project0108.html 0115.html*  0107.htmlExport project0020.html(Various dialog boxes0109.html 0111.html& 0112.html. 0113.html&  0030.html*  0031.html*  0032.html2Smartphones  0033.html  0034.htmlV  ( )0035.html   0036.html( 0037.html$ 0038.html0039.html8   003A.htmlf  ( , nfo, ...)0040.htmlHTechnical information on ffDiaporama0041.htmlDffDiaporama command line arguments0042.html2ffDiaporama project files0043.htmlNThe configuration files for ffDiaporama0044.htmlXBMC nfo files0045.html>Types of objects in ffDiaporama  Y{U/X-img/ruler_ko.pngW/img/fileclose.pngvV1img/Visible_KO.pngU!Eimg/Transitions/tr-02-18.pngT!Eimg/Transitions/tr-01-07.pngS!Eimg/Text/text_align_left.png?R#Iimg/MediaIcons/16x16/image.pngXQ5img/Filter/Gamma.png0P-img/AdjustWH.pngE <!/=KYgu+9GUcq '5CQ_mx 0010.html 0011.html 0012.html 0013.html 0014.html 0015.html 0016.html 0020.html 0021.html 0022.html 0023.html 0024.html 0030.html 0031.html 0032.html 0033.html 0034.html 0035.html 0036.html 0037.html 0038.html 0039.html 003A.html 0040.html 0041.html 0042.html 0043.html 0044.html 0045.html 0101.html 0102.html 0103.html! 0104.html" 0105.html# 0106.html$ 0107.html% 0108.html& 0109.html' 0110.html( 0111.html) 0112.html* 0113.html+ 0114.html, 0115.html- 0116.html. 0117.html/ 0118.html0 0119.html1 0120.html2 0121.html3 0122.html4 0123.html5 1.html63img/Action_Info.png:3img/Action_Open.png<7img/Action_Wizard.png=/img/AddFolder.pngB+img/AdjustH.pngC+img/AdjustW.pngD $``v (E`})B^v8Ur/img/Alignment.pngF=img/Arrange/aobottom.png?img/Arrange/aocenterh.png?img/Arrange/aocenterv.png;img/Arrange/aodistH.png ;img/Arrange/aodistV.png!9img/Arrange/aoleft.png";img/Arrange/aoright.png#7img/Arrange/aotop.png$;img/Arrange/arrange.png%)img/AutoTS.pngK%img/Blue.pngL)img/Camera.pngM+img/Chapter.pngO3img/Chapter_big.pngP5img/ConvertAudio.pngW1img/ConvertImg.pngX5img/ConvertVideo.pngY5img/DISPLAY_DATA.pngb;img/DISPLAY_JUKEBOX.pngc3img/DISPLAY_WEB.pngd-img/Distance.pnge/img/EditGMaps.pngi/img/EditImage.pngj/img/EditMovie.pngk-img/EditText.pngm=img/Filter/Antialias.png&3img/Filter/Blur.png'?img/Filter/Brightness.png(;img/Filter/Charcoal.png);img/Filter/Contrast.png*?img/Filter/Desaturate.png+=img/Filter/Despeckle.png,3img/Filter/Edge.png-7img/Filter/Emboss.png.;img/Filter/Equalize.png/ dd &=Ss"8aGj=img/Filter/Grayscale.png19img/Filter/Implode.png2;img/Filter/Negative.png3;img/Filter/Oilpaint.png45img/Filter/Swirl.png53img/Filter/Wave.png69img/FolderMask_200.png}1img/FolderOpen.png~-img/Geometry.pngAimg/Geometry_ImageLock.png7img/Geometry_Lock.png!Eimg/Geometry_ProjectLock.png;img/Geometry_Unlock.png'img/Green.png1img/Image_File.png-img/Internet.png)img/Lock24.png-img/Lossless.png(Simg/MediaIcons/16x16/Thumbnails.pngY#Iimg/MediaIcons/16x16/audio.pngM#Iimg/MediaIcons/16x16/cdrom.pngN%Mimg/MediaIcons/16x16/clipart.pngO%Mimg/MediaIcons/16x16/delayed.pngP'Qimg/MediaIcons/16x16/directory.pngQ)Uimg/MediaIcons/16x16/ffDiaporama.pngR"Gimg/MediaIcons/16x16/file.pngS)Uimg/MediaIcons/16x16/folder_home.pngT#Iimg/MediaIcons/16x16/gmaps.pngU%Mimg/MediaIcons/16x16/hdd-lan.pngV!Eimg/MediaIcons/16x16/hdd.pngW #qq1H^y 4H`v<`!Eimg/MediaIcons/16x16/usb.pngZ#Iimg/MediaIcons/16x16/video.png[1img/Opensource.png)img/PosEnd.png9img/PosSize_Height.png7img/PosSize_Width.png/img/PosSize_X.png/img/PosSize_Y.png-img/PosStart.png7img/PrjProperties.png)img/Radius.png#img/Red.png+img/Refresh.png+img/RotateX.png+img/RotateY.png+img/RotateZ.png1img/SaveAsMenu.png+img/ScrollX.png+img/ScrollY.png)img/Shadow.png1img/SmallGreen.png-img/SmallRed.png3img/SmallYellow.png1img/Smartphone.png1img/SortByDate.png1img/SortByName.png5img/SortByNumber.png$Kimg/Text/Shadow bottom left.png9%Mimg/Text/Shadow bottom right.png:#Iimg/Text/Shadow upper left.png;$Kimg/Text/Shadow upper right.png<3img/Text/normal.png75img/Text/outline.png8#Iimg/Text/text_align_center.png=#Iimg/Text/text_align_justif.png> cc .Pn6Qh4Vx"Gimg/Text/text_align_right.png@$Kimg/Text/text_align_vbottom.pngA$Kimg/Text/text_align_vcenter.pngB Cimg/Text/text_align_vup.pngC9img/Text/text_bold.pngD Cimg/Text/text_indent_in.pngE!Eimg/Text/text_indent_out.pngF=img/Text/text_italic.pngG9img/Text/text_list.pngHAimg/Text/text_list_nbr.pngI7img/Text/text_sub.pngJ;img/Text/text_super.pngK Cimg/Text/text_underline.pngL/img/TextStyle.png9img/TimelineBlocks.png7img/TimelineShots.png/img/Transform.png!Eimg/Transitions/tr-00-00.png!Eimg/Transitions/tr-00-01.png!Eimg/Transitions/tr-00-02.png!Eimg/Transitions/tr-00-03.png!Eimg/Transitions/tr-00-04.png!Eimg/Transitions/tr-01-00.png!Eimg/Transitions/tr-01-01.png!Eimg/Transitions/tr-01-02.png!Eimg/Transitions/tr-01-03.png!Eimg/Transitions/tr-01-04.png!Eimg/Transitions/tr-01-05.png!Eimg/Transitions/tr-01-06.png HHj6Xz$Fh4Vx!Eimg/Transitions/tr-01-08.png!Eimg/Transitions/tr-01-09.png!Eimg/Transitions/tr-01-10.png!Eimg/Transitions/tr-01-11.png!Eimg/Transitions/tr-01-12.png!Eimg/Transitions/tr-01-13.png!Eimg/Transitions/tr-01-14.png!Eimg/Transitions/tr-01-15.png!Eimg/Transitions/tr-01-16.png!Eimg/Transitions/tr-01-17.png!Eimg/Transitions/tr-02-00.png!Eimg/Transitions/tr-02-01.png!Eimg/Transitions/tr-02-02.png!Eimg/Transitions/tr-02-03.png!Eimg/Transitions/tr-02-04.png!Eimg/Transitions/tr-02-05.png!Eimg/Transitions/tr-02-06.png!Eimg/Transitions/tr-02-07.png!Eimg/Transitions/tr-02-08.png!Eimg/Transitions/tr-02-09.png!Eimg/Transitions/tr-02-10.png!Eimg/Transitions/tr-02-11.png!Eimg/Transitions/tr-02-12.png!Eimg/Transitions/tr-02-13.png!Eimg/Transitions/tr-02-14.png!Eimg/Transitions/tr-02-15.png!Eimg/Transitions/tr-02-16.png!Eimg/Transitions/tr-02-17.png VVx"Df2Tv Bd!Eimg/Transitions/tr-02-19.png!Eimg/Transitions/tr-02-20.png!Eimg/Transitions/tr-02-21.png!Eimg/Transitions/tr-03-00.png!Eimg/Transitions/tr-03-01.png !Eimg/Transitions/tr-03-02.png !Eimg/Transitions/tr-03-03.png !Eimg/Transitions/tr-03-04.png !Eimg/Transitions/tr-03-05.png !Eimg/Transitions/tr-03-06.png!Eimg/Transitions/tr-03-07.png!Eimg/Transitions/tr-03-08.png!Eimg/Transitions/tr-03-09.png!Eimg/Transitions/tr-03-10.png!Eimg/Transitions/tr-03-11.png!Eimg/Transitions/tr-03-12.png!Eimg/Transitions/tr-03-13.png!Eimg/Transitions/tr-03-14.png!Eimg/Transitions/tr-03-15.png!Eimg/Transitions/tr-10-00.png!Eimg/Transitions/tr-10-01.png!Eimg/Transitions/tr-10-02.png!Eimg/Transitions/tr-10-03.png&Oimg/Transitions/tr-icon-error.png?img/VideoMask_120x180.png?img/VideoMask_150x200.png?img/VideoMask_162x216.png1img/Video_File.png )nn.F[r2GVi}(>Od}5img/Visible_MASK.png1img/Visible_OK.png)img/Yellow.png7img/action_cancel.png83img/action_edit.png9/img/action_ok.png;;img/add_cliparttext.png>/img/add_image.png?3img/add_project.png@-img/add_text.pngA1img/arrow_down.pngG1img/arrow_left.pngH3img/arrow_right.pngI-img/arrow_up.pngJ)img/ccbysa.pngN'img/color.pngQ1img/color_fill.pngR-img/colorize.pngS)img/config.pngT3img/config_menu.pngU-img/contents.pngV!img/db.pngZ)img/db_add.png[+img/db_menu.png\3img/db_menu_big.png]/img/db_remove.png^/img/db_status.png_/img/db_update.png`1img/defaultmap.pnga%img/edit.pngf-img/editcopy.pngg+img/editcut.pngh/img/editpaste.pngl%img/exit.pngn-img/favorite.pngo5img/favorite_add.pngp;img/favorite_manage.pngq7img/favorite_menu.pngr3img/ffdiaporama.pngs7img/fifteenpieces.pngt9img/file_temporary.pngu &mm&<Nq5Om!AZy1img/fileexport.pngw+img/filenew.pngx-img/fileopen.pngy1img/filerecent.pngz-img/filesave.png{1img/filesaveas.png|%img/font.png'img/forum.png%img/gmap.png-img/gmap_add.png%img/help.png"Gimg/inheritance_down_lock.png$Kimg/inheritance_down_unlock.png+img/journal.png/img/kmultiple.png%img/logo.png-img/logo_big.png'img/medal.png5img/object_image.png=img/object_imageHide.png5img/object_movie.png=img/object_movieHide.png5img/object_sound.png3img/object_text.png;img/object_textHide.png5img/pattern_fill.png1img/player_end.png1img/player_fwd.png5img/player_pause.pngAimg/player_pause_small.png3img/player_play.png?img/player_play_small.png1img/player_rew.png3img/player_stop.png)img/random.png)img/render.png/img/rotationd.png/img/rotationg.png xhVB0qR9/wiki_img/Work.pngd9wiki_img/Wikipedia.pngc7wiki_img/Timeline.pngb3wiki_img/Schema.pnga?wiki_img/AutoFraming2.png`?wiki_img/AutoFraming1.png_=wiki_img/Animation_3.png^=wiki_img/Animation_2.png]=wiki_img/Animation_1.png\ wiki.csse main.html7)img/zoomup.png-img/zoomdown.png%img/zoom.png)img/undo24.png%img/undo.png!img/tv.png'img/trash.png3img/transparent.png9img/tr-00-01_small.png)img/splash.png-img/sound_KO.png-img/ruler_ok.png_^KK]\ 22Nt##/tableFolderTableFolderTableCREATE TABLE FolderTable(Id INTEGER PRIMARY KEY, Name Text, NamespaceID INTEGER )X''qtableMetaDataTableMetaDataTableCREATE TABLE MetaDataTable(Name Text, Value BLOB )J!aindexNameIndexIndexTableNCREATE INDEX NameIndex ON IndexTable(Name)X''oindexFileNameIndexFileNameTableOCREATE INDEX FileNameIndex ON FileNameTable(Name)V#'oindexFileIdIndexFileNameTableZCREATE INDEX FileIdIndex ON FileNameTable(FileId)  $*06<BHNTZ`flrx~ &,28>DJPV\bhntz "(.4:@FLRX^djpv|       !!""##$$%%&&''(())**++,,--..//00112233445566778899::;;<<==>>??@@AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ[[\\]]^^__``aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~ e (08@HPX`hpx (08@HPX`hpx (08@HPX`hpx d (08@HPX`hpx (08@HPX`hpx (08@HPX`hpx            !!""##$$%%&&''(())**++,,--..//00112233445566778899::;;<<==>>??@@AABBCCDDEEFFGGHHIIJJ 0xph`XPH@80eeddccbbaa``__^^]]\\[[ZZYYXXWWVVUUTTSSRRQQPPOONNMMLLffDiaporama/locale/wiki_de.qhc0000777000175000001440000002000012275647344016564 0ustar dominiqueusersSQLite format 3@ - ${e'' tableSettingsTableSettingsTableCREATE TABLE SettingsTable (Key TEXT PRIMARY KEY, Value BLOB )9M'indexsqlite_autoindex_SettingsTable_1SettingsTableh##tableFilterTableFilterTableCREATE TABLE FilterTable (NameId INTEGER, FilterAttributeId INTEGER )l++tableFilterNameTableFilterNameTableCREATE TABLE FilterNameTable (Id INTEGER PRIMARY KEY, Name TEXT ){55tableFilterAttributeTableFilterAttributeTableCREATE TABLE FilterAttributeTable (Id INTEGER PRIMARY KEY, Name TEXT )u##1tableFolderTableFolderTableCREATE TABLE FolderTable (Id INTEGER PRIMARY KEY, NamespaceId INTEGER, Name TEXT )x))+tableNamespaceTableNamespaceTableCREATE TABLE NamespaceTable (Id INTEGER PRIMARY KEY, Name TEXT, FilePath TEXT ) )#ffdiaporama_dewiki_de.qch  doc )ffdiaporama_de )ffdiaporama_de  I+ 9FullTextSearchFallback %CreationTimeRM[ ) HideAddressBar-EnableAddressBarAEnableDocumentationManager; HideFilterFunctionality?EnableFilterFunctionality6)WLastShownPagesqthelp://ffdiaporama_de/doc/main.html7+WdefaultHomepageqthelp://ffdiaporama_de/doc/main.html#)WindowTitleffDiaporama_de&-3LastRegisterTime2014-02-09T10:41:47 #G\4{9FullTextSearchFallback %CreationTime )HideAddressBar -EnableAddressBarAEnableDocumentationManager;HideFilterFunctionality?EnableFilterFunctionality)LastShownPages+defaultHomepage#WindowTitle- LastRegisterTimeffDiaporama/locale/wiki_de.qch0000777000175000001440000627400012275647347016610 0ustar dominiqueusersSQLite format 3@ ^-Z  )ffdiaporama_de )ffdiaporama_de )ffdiaporama_de     dd main.htmlVHerzlich Willkommen im WIKI von ffDiaporama0010.html0Wie ffDiaporama arbeitet0011.html:Grundstzliche Funktionalitt0012.html&Vordefinierte Titel0014.htmlDie Sichtbar  Eigenschaft von Blcken und die Verwaltung von Pausen0015.html Alle Aufnahmen  Einstellungen versus Aktuelle AufnahmI )~!h)) tableNamespaceTableNamespaceTableCREATE TABLE NamespaceTable (Id INTEGER PRIMARY KEY,Name TEXT ){55tableFilterAttributeTableFilterAttributeTableCREATE TABLE FilterAttributeTable (Id INTEGER PRIMARY KEY, Name TEXT )l++tableFilterNameTableFilterNameTableCREATE TABLE FilterNameTable (Id INTEGER PRIMARY KEY, Name TEXT )h##tableFilterTableFilterTableCREATE TABLE FilterTable (NameId INTEGER, FilterAttributeId INTEGER ) !! tableIndexTableIndexTableCREATE TABLE IndexTable (Id INTEGER PRIMARY KEY, Name TEXT, Identifier TEXT, NamespaceId INTEGER, FileId INTEGER, Anchor TEXT )c))tableIndexItemTableIndexItemTableCREATE TABLE IndexItemTable (Id INTEGER, IndexId INTEGER )x--#tableIndexFilterTableIndexFilterTableCREATE TABLE IndexFilterTable (FilterAttributeId INTEGER, IndexId INTEGER )   {''5tableContentsTableContentsTable CREATE TABLE ContentsTable (Id INTEGER PRIMARY KEY, NamespaceId INTEGER, Data BLOB ) 33/tableContentsFilterTableContentsFilterTable CREATE TABLE ContentsFilterTable (FilterAttributeId INTEGER, ContentsId INTEGER ) 77#tableFileAttributeSetTableFileAttributeSetTable CREATE TABLE FileAttributeSetTable (Id INTEGER, FilterAttributeId INTEGER )f '' tableFileDataTableFileDataTableCREATE TABLE FileDataTable (Id INTEGER PRIMARY KEY, Data BLOB )t ++tableFileFilterTableFileFilterTableCREATE TABLE FileFilterTable (FilterAttributeId INTEGER, FileId INTEGER )| ''7tableFileNameTableFileNameTableCREATE TABLE FileNameTable (FolderId INTEGER, Name TEXT, FileId INTEGER, Title TEXT ) ? HG[FHE7D!CB{Ah@S?=>$=¯u*CBu%UHم՘H]sx?50kߵZ}(PʋD@ ~2 UrK e(7[m "Zg0İQP ,*Kz2 WPt1Uo *ph!?ދٺV/T)4^t?#{^R%J "Oq1U~c75 An6/,pSmP!BhhQoaOFrx {Uȕa!n? |Q`ezLA{O\ibxhpy^нBCD"]m+FJAӏUFq#˳wSz%dh؄ }?ގ7-l&YTy''#^.!. Kin7!7I;j QO9Uapcw#:˰X$tGBVZXB+$G<̰h H9_[ G7mG!`3nJ_ SQRD9 v\# [r0rWh6DZ&$j5\5QQiT\?I+WvY2Kl9VGj/ڙǮ~;!ΧBIÜ4=g 2=,i?9jpk:"tczPiխ H.5BJuRBhfn4Fl%:`! |o_H4;.ҍ>(!V mp(I|jeݜ f.@xẘ7 *Ww5"QbKÞY2;ųe]M˩o*ᘬax3Zvq8bZHBh75–rjq\/`8aa)jL\f\w\'2 {wj1#n.s7{4.j+xdCj~FݲFM~}Od)M%y{8nݜsKr-:zQ:4"nwVlA0Rն<~ù׈$iu?Qtt[t 0(gBp DP յM.k("'-̨ s\ivko vi- Ye\7B9u 0}Ff08h>D Xs⿔YD]R]BOEM8 hGV~.ޑÝ'om \<,xUn@+=+E =zvIé7KXǎ{vޛ9Rӽ@6RZ&TJt ´]¢i7 dوqVY,B K2BF"%t#AC#>/o(}y.} ٚܦV?K;1'AJi0:W}cR"ci6S#dDau8Y[")4q)l *]<42gH@Wy-`f>`k_# %aX{ݵ@nk6d-Q2d`nžD\v bG෶͂LZL);!ץ)Pv^ +3"U 4eg7'aGYιãf釕*w׊\fȁ? |!xi/;IeS0Y!I??q'o^%F{ 9'3Yy^I~ VO.=kvd뎢7OX,J2-I0ړd]FS ^ ye5Wkǖb׌-c{ll0hϥ0h  | V0.sxZn8ONY iv[=\,(XK֟iInfH,wJ?~zoYn?J}>(|?0s K"㟗VuYe!'`/j5R? {t69+lR)+=X Wlsm=wOΟ?jyw>˟װW_VL T<tOW+Kn/LRxmJǴ fL|`B\;`ȑbb p|39؃ٳJ?GGߪxT1b|PrIS{ž=:ū+n+^ (AYL*K $;1f(͌T)2ڀ8eѫ˚ D꣘Y|B4,2{m?g̘gV'suupmVDeKPkR-$6yOYA!4qk6ݫI7,*$[ذJ]ii(il"Eh M@Cf;2șRtH;;cm7Q vg ђW)DL&Bf?̅VE&IvC>+=~- e`y KF|VDj;;O jeހ%gޏ/%pQ%TCt2/9\RBd#ň]„ef _'a$ḟ ͐~$Ƞȱ, 4mclf.*E$ $"LSx0ڍŴZJoҋtt{/O"Ig\K= `X8{qg1rYҝ uM[ S̋,Z:J xؼNFt'@nU)X1eTR][YhxB=)XYTAEyɽ=̥ein;Q:=3Hq[m,EN ᬭ4h-ݺ]p M![56={eDHD @\06*=SEwNݏbCCkG JKi7H^%]cr nƌ2#[n=eɨ{c@I}@`!uJ r&[TyZtȾ ÍR&S,OmMPh Ҹ @Yp'5ϟD5?iCQ]LpVkx2˳TC{ۦrqã[.A$޵ wݩ >$w|d _MH)Fϊ0_9<|LTqO/ځlq'kw吗Z"p԰w` ߷%# [?I(AWwT*5Hn\ R]<moje;8u' &-ALvD{Ot /t*T47!.ڭ Pq"їp| ";nK]"GhVkru4%mH/SGF]JgDJ%@:)_,.23ggwg͹H]MGL̙@dR' `L Sqӿ:2ڼ01͕Vdk(o-srR HI/,ƒ@:W?ZNf)[6{u'l&%*P9)`Lɲ02d-sriageJ/lXwM\ XF|B1xc0*ξZ͹kόU:"/3rv(L.V:!-*L;ъ NeeD02cȈW*f bĉXq֟-dpB$pYh"XWUoTiYuRC,(V t]_{t6KEr#q{/lb!+^›P vŔ>ўşA']TrP$^#Rn$;=s}h\pO# D&H̨Ʃ\Ȕ31|ԍVw SgL̒><M|PėF.J q4>SG?9TUlV6D^˾C%(C%qXPB@&:\Kj>ƮHY<>f 1ߡ}ox`yJ՛ĉFX,)8 MKz7jY4gZ_ u}^ʐ 鄻kD)rT@6Uh5)Y]b# 0r'h6a+m1` &|ݺl'[\Zvk\I2hd]ŋI\HwmwJ0^J/~E^_M `]ۍI&: iYR޿/6+|F_8 Uf |UPv $X$Zqp=‡W48i(J٧0`EXPy?*\{2-n}Zs4:BCCnŎGRṷ)Tƫn@m>!aq!36`Gz&6(:$`' *׹=G+z8 1D䒅 :tvL'X#.9kNBvN{@=#kT'e/$>aF\Όug.{lȫj>>y];mS[օ,XaR`=n5N,"焙s \ςT|678) D nw'I֔ d6?6'%.=Z!(;ínA jLlj,#[Ȭt~%J2`Ů2@2w3,/Jg.k+>qP(twV6q<=yNdf4袑 2I!7J \F^?.eY`Uh{{W4*Jp=e&T=hD:h-1uvͬ:F]W+iAقq!Y}Is J eL@?0C< ܙ׸b|4c=.PFٍ)M~mS> a'@'`f$ 1}˺ NSrjھFd6kv׮9iAżqنk*fq4wor 7]eԹ^Ǔ9G˅sXn,JGc!>=|"<;o\ċz>26.SF@%#]( >t鐏Lܛ wme` (%x"3dX$kly řǴLIʴB+2[e %CŻ&^Xr@hh5^,'DE/SuWٌWdq`|a f^DIw_Z wlXhR7S6j״FVH 3>3xWMo6`u0vFw{({d h)˂Fkw"&%Lrޛy0?7 VF~|3?zI3&fY7 ?xVX 3}kŭX6z†7l!*PfY2 reSFvz˥ubV >d/ٲUe 1`Cΐ]W'6,.?WVS\;& >RE,炯[3jN.x\[s۸~_cW%Ig7lwuL (E~{eI).v™]M&H߻O7$c'28|"ij,cn!#/L;hdeҞz}u TfOzx0=;9dF|z%|X:Va7ixTD4`^&{?q:Q)1:N=P#8 fBƬGpF c`֚ O~'(S[}3|dze&TSO@H%n>Ɖ}hf,QC2M`7ĆlNf0maIZ4uQC^xs۸ϩPANJ e5fx1ڔ))d2;2̯HXzU .7SYƝ[ƒB9ˌ}`j1BY,AY+1I,¤4oBl帒aB+`5A4u0LN==3X1ܰW ZdXVp,X: 5\BlhKAcc%\*(G8!-L}(>$jЬZFf'Eu8r\CT~⣛ L·b3]^:":`9ė %f-" RbI4`#zĉ,-uk :x5a*z@e\JsJ( M'd* &J4aVUڼ{<8m\Xd%gX*^7pв#Y^:99DyDa6MY? /X,`wm.NGy ޒ><0;QWuP4dJ_3`TX>v +9$VGP[M 7}[|Q(*duY{WNZm=V R1$W̓"c#e/g&c,9ª+3i4᥉Y&A8(8t=%fro.\hxt%VHEc`KRB\"^DF 4KBѵP4:+ USr)M{c MW9u'DM_ 11A71^go拟cir]JD#}~ #t? zzmMʼn<X.HZ}ԊQEiɍנޞ!y0 f80;Ir ЎsZrؗdؔ H:1$L*h9,{[`mP'Dw*0qOjn_UG$\-O`~vaŎf: ?r?t( O7O& PUxXr6)O)nƤgn2Zut rI"%>J7X$!JiJ$a]jӫo!Yz3?r;ob xWMs6WlyСcI׎%eƉ43i쩔vzʀJD Z~}ޒ %ٵ"\}@ {?۷oCQbO*7%o0c1FVxVn0 +8rK޶4e6DERj|('n4-,#Hٛ/Só,n M.-L'*rI9w^FˆFsxB)=:ŒvN#FP4fs J8>%)x}js*^?qA(1#IO1~QLXY'j3uFԘ'"Pe]K+:O<=h"%#evXZ- !鞑lnCǯTL=jNYH5G8pmKA,e2+g^t89̂> S=41{ţ($KZT`F ;QXdxq؁g΋Ѣ=:TƒpmkEꉨ ~).``߬c :D9)- ;PNl]/*Oݸ$(td:{4-oVNC1Ӣ%3c8P_)c _]7zs"C*-O{Ns"YͣTv0feưM]5*6su[q8_4Sfsw4Obv܊3۵ l\X[M#c(La: <}fU{ 桰G5Idor'Kr8>hy,8PxaQѴp]%} =i|82V\v{iFƼ[@{_MO@_H{}ƟͮZ^&y2foƲ-ȳ%!>ZsLHmԞgde' {=}ôЏ T6^~ X/qH484a朎XY\EU4YMd_QMﰌSvEhRslPX,WrnB*Z+,S3 9?x"gz|‚id)^ S^~}A'PĤOjQ$Ѭ"r[AKո~ m;(:L{+ERUy]Vx .|k5c͡ [;U= MQ->h91Ko DZGbX,@F@ gQ5}(_^=GвObt`_-ZLnzOX˥Wǯ7/Gϭobc !S{-ԳD:E3POXl-|p o JN~)E7#{, yLmQPs܈Zc0H*jBjm%\ݰςC'q.OĹy/Fbsa;b.g }^x+nMI x$nj,UԲOD ăS-1]i=apem^/>{7櫞6pĚtui*ULq7 ծM:wyз4`LF |ߵ*6eEIc0 ZJMDla*7p4!B=g@zôفGmMd#ɤr!rZߤGW?CDGX ^GZah@7 ?x࿺C+1}Oc# Xޝl* u,|]"` b ؽG?v8moˬ$kVƟrAgS@,<xa'ṍS]K 5d^K &FTk:#1t-x؝0OZMZIsdK3BL(v!@s7,ya܂`]NoE)Mr|g!úPv*:1JN_5j ^qis7Ddo{H !Rr+۹cJ=.H l "ϟyz4q4VTDhdk w}쥟j|" 7xYKoFWly6Ӵ– 4`)ȭ>X3IaMyZ|f84?NY*ylH7 3J3 \$kX '}k-{}nNv+pMr(qݥ$MJn,ś}(iz =ujyI+)i.: ^k+.W SQ½+ʒB͘9J`K0Bh1QzN ί;v[+X'.Jg0 t=Zcbwm S9qpV 3sߍWpRLJ6hzR ;Jp^&^]p 8."y #bf<Y l2>p[S$lSI!(Aʳ#> #`6LQuk[E#18i?'*ٴumTC\ϹzXxvchV ,glG;@W &j{"у~Bfk躁&۽+:L0[27:m/.Y1+rŋMva ðL#1tk{M :QALBݽ.]JwchdH-nq"fSl{z_Y=KCc`xBPaUWŤ ؎q,CAQ׈":;^ՓB#ҾW˶0nK<X[^;O3[10zo})Wmѕݭ<-MabjE+8p9/țL,W fʔ3ς9eHƮT5GĤ!ix>aGpLxz5pӌZCD8F fv #R~1οK4S⼲zІߪrr90Ş[ 5ZJ8h R SRj\̂f)Gw= W): AǨ1@gtL)I!)C<Wa_9u W<-L^΃Ǿ9/l"s90.t Rx(12)uiy+֌s>.%Bwf&7 ިr9vsӔ&.Lk>AwY8TB;P~ Bsk}mLz4I|NLr=WOP{( )H[z%Rx@i8YZ@g,,lws /1c!n. Rei̕`.۔5`$)ԇ|mH.tmI}|mC,b}j{31 *%"{)Z﹤WQ;'TQ6/^BkL\țY-Y,8/3tO:a5WIQACR? 0CCmٜ(Lª }f\>ʷ^|[dRͭKĩU4mz~bI[P%7p9Ki.UD1>a\%NJ~ OK*(Yr-]y-l`?@dHۗLslqwMFXM< ARaMX L$=zx5(3^&yU K1a*`b; RTڢ;AQP&CcB5K8H[:SRd\Z*|WipXoXRLvQ1h;O*qD]oJ _W/" &님¹pV9=*!0u D c~6u4#1Pl="?Km[TZboٮsbV G:/șꡲ!hU+-P~/ay_bγ f-k4sZuBtea^1hK>SOoۘ:1Z#}LukB%i,HSTđR-1!7T;âIVq>F;)J7i!eY nxLȞ EhzAQs,Y\WHZI-f4it'M,KS=w"= |'_0EB$*w䦘*"\跫#EΤ* oO߁ec6}=qZKi@1+.r*_&=a^=L|6⟆kjJVջxazckkckIOC5AxQ|:<"ūS! HR۞씸.|6wlw~+HփZ05tօx/箚lҮ55˹Iqu8(Y]"wy,܎ݾ ݧ |fR[qHwT!諳'\NMhY`j.m)ANsh&=;fn+ S!T?4f6iO\s Хcƺ9 >fdNab7'e:)׿FL_6ZKJɪ+\"bARժ~տIj='ۿ^&F۵Y7K~-V4̷Y^NAjtvx o]hWַWN.X1{izrߴD-hY') w9vLq=}&[Ұ|#1jAKL0koV;ccwu. "B T'C7+/`5 kR:gSR:濤68وԯ'Oc3X2؆Fm#M ׃ʴc]ڵ Mk^8[28: .uERm(EhM nXEllp҉j 0=Qq+˩ tW3%T.P~$=FZ|69'])Tq 2u*)s!#!m& !Qs6ЫQ=Z34OC2 .UhmY]MUr/%J~N:HA9_|jwЂeuNAWAyQj9U$s^z2s?kvoB@ԑ8Rѯz0')\4!>FO*iXTдeNnɪhiEj~ àtPƺ bNj]WRnKn7ҒGO~=G ) >>!9PW.et:bvjn2[D7%Cİm]E9S$eȇ P:w`6=d, X8Ew^!{uU{xzJ<.W 0;اftlYMr 20޸dElPGucc3OPt"|.H6rUx^Xdϻ}̪Tv/[LX55q}$DV؅/)ޣͪ?R%I@C< O+4v9?kn}C4#ѧڥdO#E† [v.j}8Z6<nt"l-9o:S/⽐cf3*N٘Ǒɏ'/4H6qSqLt5!@UU4ה uA;*'lU3T+)־㌎C!oןՖrs_h\}vB}t-TCQ-*vlNIgRԦ/9ݧ[:}c]7I7-vE>xEwq/듀, t (pjXઃvoNt0k+|&ض?2<̛g}ܭffô;aӌ}U5iۡPP%YG^d VT7+]ZDpՍh36͸?ܾ>s1w/*q˄b?㞆"52;esvH׬P ӊVuf4srݰ#xbZb:rr>ȹI:0sIlUp,Y3 8}ƫѭqOBt$/ uIG%AA 怗5`~^toTV|#e&5J,p}kڸuwA"|KФ jxoLFǖ4%)ˌM,|)4@Y`&=,x OD ^lP{œ;THI(8@NG0fMP`Xb߁0avF<QR|G@Pz*Eʑ`y:1R ]O@ZMi  $ ")Lwcwvا/QNP^H_/^_??V)&BM<6zց4*ByTbj8 "'1)j*`Eb6B!A8XUb4W2y0_WաoFٿe1̈eM+1q] O'Ҍ7AbUI=dZl9?z)"zĚ?ly|9gMZB;1ojx6H;ET̀/[9)p"_Z-YC4G`bHcYv֝U3t7JF0J@ v☂%Uѫ]QLi`kertdG\gٴ?@ V`tu-QW;~[#LFL^Α)10NQFB+AhV nV,ffu6ܼ7<*a7 i `A.(FK])wA1bLF΋8<Ч+ {5bM XIl*V"C[[k(ERX"Kosd0H!Y%BQZE19cƗ! hrYW|HAtNyz\$ڨUNe+@A '&$wOL9lcf=U5jdȁ.. xH"Bhí_C0,b;c܇o* BjBClp *@0AfĊ%Bgj_豞 #p=9 W4i~! H:qpTS7RLRiJl:$)L`]Z)WbHhò"!I-D\p 6!TBEe@T8̀AVF<=U6R!ܐ<:Tx ALIsMr G/9k9}1pO\>&JN f~cR8^*kA@Xf~ZYJŝ,ܬ-pj{Uz]gbWT]LOoNh,.|sTKV}-t*`ZW7NzYttC324y[B?eR3iQ kOu2DF1,ۃ?{ sc[hn Fss{-T_gԼkϠEw/|YmC~)~$o`屻U"WS 9eфm2ica\|I^Wbys?nCPwﰫ$¸)O|q:S8TϳuZ8ןFtM¢G%+ m|vc ~/ŪoOu얗3aE |(Ų@к[[n2r h0v3hsEjXɉGѥY`S lOZNhK!X*me/Zw(F '(vsaV ߭۱ցۺ‚"K蕚X%lﺱ9,aeU,n,:2Ϸes>Ꟁl.FImd]YX:e>z1ٴ-tJpjM"RZ۬_"T;GV Lx>ߴqLF*m p5ejf ;8eC*(acnv,O[d$!ST ~s|+\)g螰>o.JXUĽtmӟjװNN:t/4T\&Q`HtmbM$ ]u~ Ed/,:b>ܼ D؎>Wg`}ĸj+"Cl3KJJO}Z>̅x32 p KzVgjY#ݦkJ&Kݞ@Q\PEXTNtUwrwXiac8o /$XB W NU9>?cU/VDS=*G  yYFײ| ʮ/6T!HKq˚<K?ȭYNv|yHKPe_ݙuOco削M,ⷋ%} ]r9DE .*S) "E][=<(A/Vtsm=WFL#E1( ?Nw= 2ͿsIxP @R!;mG<ux-q/m9k)UypL*{zvl#:wHRxUl@ܬ߰Dtxq3ߟDOT30WTyJG}ĖN_- X76YӪNaK[AJmGi=Qydxy,9 ϧt+ƚ o>ݞ۳ꓓ > fx=Ys*\HI%:\%YjeEMr@9#Zn3poBËWx&icT{بy:DO >c#~ibQϡPK9wL#vy;=})8f#d"9SG LJ`q2FGlƱ3(5E -EJm pHĒ[k@KD@j0v91"-THDIB<$1+ƁYF";m,xM( PPM#xW]oF|ϯ b)?'MSGqE^u<*wG֯v(x;;;{toT<0*e&,+8{3X2~ :_;ɝӚEc0&ro,TpywdЪ>RGnBuTUU52ՆqXF96̇[þb .@x96zcpS8͛voo\εE-J$f)g[R-H֖7 XRVYh:>zz,fυ%/M'jx2|.U.Uxn0 } N[[A~V`Ybl!ItڼOabqb!EM'Eя!\곽@*NF'B8ۃ0P.[Viǭd=LZYG[qIYd8LS t8>蜈 UY"ϧ+Qk_msœĚ$3mx+b|UȻf6cJde دi0a:RY:R12ֲޖ0M7m:xLw"Jt2Mc`s6GGouʼn#|e6oA=O_ Wh<#L5=X5.-vO5/fUT!%r}{껆z,p!=}T2+)=CWRa !{Ǎ[šIЯzW&KodRhCua*-BhrPn.>Ѳ'+.$0,-8׋Gix7ػfu)h:;Ѯz=.Ǹx$ȵ1](_-ۇ;k-.1خ^) Jns lǀAcKYC:,W [TNs$TK7>ڂ^dd(i_|$)aWE4/[7ZŌ Ue7r6ܿ!11?[Y(7~3ǽ곈zΓ2^6{PXIct3n4KJ*m7\2 :4۹S-dbwdcH'j,kv+j0XjYbX0 ښ7K/9rShuS*QnalLXv9lI%5ڶ!mS_&jw땶Mοgl,J1AxߨJEU%79m\XWH,aXv8r%)[˓HB*er b#T+i\V%[MWgKh8-K|̤@;J-i4 BYϕ$} ʼn.-\у[g@ϬK[(Fo\BJ80Iw$B80.%Jm+z-'J{8/Xs{}F',c0F5& n?'#]ΓLГ \Dkd[m5LԞEkI(mF_9sUjDy{?-z-'tr!z1n+}$8D`x3DCv՚k.Jv z>nέ/\ڒ]*"-l{0J{x;}0hz%r쟙hGVMo A@щ~s) sH0ͮ+s9)iBL;|⦎q(-kޒJUt-Nҿ^F0ϔR`xLf:(O[s+>j-)4 ]hӖZ]B/' jfxN<>xN3X3\̏nsH| c5"ݕjz,(P< :F,ZaHR+lW3}yso 5jMTZq;巳=F 7a)F{EB"0ꨆ PO}J͎A-0 Nd8L!r5)v) II>>jQKHtfDZZ8!j AVtZ'Pp좀&G5 &9lN0>3ҥtIa5> ᾏ>)N圞%L6PZがGp<0ES3AB/b(6͈$ +UttJ:pLM}iMweI=(8^ǙQ"5O "6*z%[ Ѻ$POQ,_a_xz% ǹ ]}gG8aptA=ӔhIfHs]nSV|ogg9`R&RAu7v`&.! h!Нާyy2qA47[ݴ sXJ̢ݜfik:1' m/@7,ݠlL5=Y*]@+cYEyyr-USjѐ߉K df@4v-a{S-8}-kWHYh[&@;SīD.bOpCN$vO' np5tG+ wBCJեEפIG'۬ϲ[wdط4T4FBp-I\0v_iB(!ƣ5N r-@fR׳ T>ӱ&laFp(It]R-S>E.]O1E'cmd/2^x_< M{pQe\x0%-h*6`q&nDh3\ҍ񠱗;i7 Rq-RcX+a腦p"y* #~}J18 D&t0 ]#]gb R2maFN&Ò nS>W4﷒rt?\C՘|UD̮S(? --Q@&\% wV!֋E_1=7_ڥR>-JMĹZs3CLRvL::瓗V[cP\Lŵ fxBuk,]j/C(N|V6 _ѹ Me=(+b(s#e^>ɼ4dyTAu"r$ƄQ#@I6IqbZBcJ `g (L2bgjwdϛ ~&n> }ouHi2?NR֎Sv2~$Q,I]Ѯ|R0+֥u;8"Z\=۾+-YQw7~<IPP1+&C(YUSB2(Y8FσVzY8ojI5g],ݕ~coۅł]Ȏ7:< o*kvy ˂}kvY;KaIu}yo+@Ay|̟Ԗ,w{kNzB/ڋKnJ 2JYZ*1&V)-mSs^@sᐥ꿽ɗPS 7d&&oxlH{V!o%j>352{ېKCX͇Gr ϣpXc~-\G"fgo!syCf?:ByIÃ#8M߾BaPJ[.TV7Sw NtRNyvxYmo9_1ݓ @^[!4QkTҴ^/P#ػyi%i{W)ػy4v^y~W-O`2lyzO>Y}uCÍrl?g0<ƀ3=ccˤR.lh iPgY( DLi4k`q?|׫f6._<_<%kRWj =]Ɖb1 dXjD-\@hyx`V & -oG|׎k9Φ% ]P0YP;E&JjP D=D5])pm `KepANb+:%YN> soPe F)J{sbLW}dJ}2 L~7vkGD0$%C "OE2)om#"B*0A -eBeHxXMq*G4+šRNd@32xXnFOqJQ"c’n@HdK6Ucm{㾽-i< - 6Fo)F'I\i1!<,ö *Kp9{-Ф'\Zcf|<[1XzņkTz2}~>x[rO˩JT6a LI&$5pLfvkȸ"@N`3IL\I%Kju_o|T\U3VT3.f>tUk|pro/`K8'z|Ґ L7<ᴸ]B͊(3l"`z2FG=Z14X̠ VtHĎrBA(tHrU[rwTilVm/ddQ#%>Z齫,#C7+D]E]iP U"gqX՜D5h5r]o.V񽂃@Z}`[-Rnm'aϐS{LzYA~&kgg BK+ݑ J[P IYǥ 4fո-ԢayĄc*Ht֡([﫱q2tAO,vMڝ Ed(P t>"76D{>9EQko(ˢ .=Jgn-0*kJ)>U^krv[ڕރ+r%LPHb͸D 9HR!mQf1\zV֫"g2:$˄E)4W?$Ma WW幎̢17&,Dj1J9n傃3v>YT?}|b8n0m~!>0̫D7!S!tT5Yz++)6. '0Q;e5"to\2r]9mULHD>}8])MΉqw`')a)g4zE S7[yۥ]RL/rk R!{ npq҅ճ93y3'f} FppEr:ExoQ6m /}_(}?-&{0kz:ƛ} ;d||udzpTM>X<1,G xT,9LӏO;ywtw??Y"ݟwF%jQ/pD㸇|4ڕ 39FsSV>e~[|6[A57!0A}z  Shg%jCɤ4_! vb ' <&9q 1ĉB_N 8=ꂝs4yy#ANLqvq{A4TA?ٮ<(,Lcw(ȑwP '8&a]SڡT* qy.;\LM=xq|6*!A"[>z;bpKٍLIkP|Fy 6mecZ3p㺷M强:=n*;@{J41 X"#Ovඕ (ݬdg&i=i(趤Qݣ4{dM% 0&L𐒖IƷvq KmUwTSLR%#|>~l l~ j+EڈZw/姢foǜjO^lC]zW_i, %7z\ᙋxh#v!Ld%0͋ţvG7\(9UX[=ZJ70nVO7C66 дɴpѳHT䳣,L]3GMcf,1 [~ϱ2 նř0ʨVr߶v)!23æ{=6s$ht\.I{b8$)99 HNT\S6{ 2^-=_U^;YbF)z~-O.w)ў5+gB )g.#+haMx>ZOky^x߈cLP\jŷԱXvEJZ2]n9mo"هڼ5Xw[. o=owDA!41>98dB[:OiGY"v4A`H*Ew:p6LnƦ߹wI<YWhf.~r6k}ZOtz X e(0`KK 5rXw%Ѧ.OQEl-Qmp: b&884X,6I -k]mr nJn7>p(gхXKm`isl?#TT8 n?%}; 6y7HQ*tuT4Bx9?{*C3+T-VOL1 &Et~#l dWoGWȿ#;BpL8,a/n%zPz\Z x6gؘzi.6\@QqTwFtJXN }n7w;ۋ.wdk~1\Xz Gi/i%vFl;b]p$d6&c%I $3P]]pԴc܇,\,7N[ߦ@#HDWp#B>Ӆ+#+͗ZGg~I~z-&j1]Z3s#g&"ZA855&a@Q7rfX1-s b28 K_=)aQ RU M& teW֫֋9Ⱪ lC;IQmRbtݛν2l$oKs j".: aiհeh`Ԛӑ) Nlʌ\6pxS@IIoƨfCLg9Q*]72V?˧JTȬ*~PQk]#1[>.b0xRҶ2*'d[$Ԅ\6$ɅodJyj0'&<'&elmNjrNg,gLIm\?XRinev}\wEtrEd'Kay>/e( G&GT,LxYks:_w&LL7miKOX-I@_W6 naKwuo Mʛ.tً f]8z7@-2Zac]UKqlS--{X9.A+bڠ-7Nr=e9~N-GÉgV(JvK6M KqY&An*rNBڥ.\85e}z $Nh\np 3(SoZ \pr,mYC[{Ao ;@KEWV}xi=2g'ppq4|~*3G_K)oDۮ-=].ވPVP8U37ĝjQSBB3=!ɪv,ZQmy'o[ʸ(VyаuSTS ‘lP$!6|BlK3) 4 8$L?@]P;)}*;Ct>fH&dꑒ8Mi4E υzBP ZKEz$K*)ޮ&*v*E`Zd Z+ d~N 12T:a1>);;ěeūpon^itc곷uU[Hlc&3eLƼ!a{҉0(kܷv?-i~fRV=MYKBݻi._(/7_ج[%Gn_&49[WWPX~n) m.aog2b/SZۏŢ!eWJ:/-?>U~Z~;t '',\#xZmo9_1'UYBҪ )pm'dXzMܯ.BY6yfd˿՚?: H)/TiM8hTXxXmo0_yRIMCVMTbLhOȉ`aq`NBB"6=9{o߽&1?/D1 #NDc 2cLsXmPR[1hB)4c kWQ8$*j9clbgz1c$Di4mAX*2& #AcT˾8#83@cd,$1 |LN^s u j;4:L&IֽᡁĚMuSsIKn̐#/Ig5'VfKLIg'ĮߞȭKK7қ_n?zn~ Up ]2&M+E]U, bTxoXyA6t% Vn?DTϵYZX JOXcV5ڰ6Qh%AY b{+1 F3+zqLZW=g +w5]]'jmE)-Z`s0E F71p%8j4X(hd…DtXOs6F =ܠ:,;|'đR{93s*Ait 85R*$gcuخ&p}L3΅ bڦgzI`ܙ)$@=q?3QgRD$m ~2L}W}>~x_>qlӁX V+( 4-؊sFsk՟ZÒE{n|i#̡!KXc/>8k=?V^Ͱ.Z? W7KoXe6[Qs1rB ;g_rCŬW(dkl|ؐpU/Рn66 ?(sIs/ Q ''US=زH$|u|=,S8>\%ŗ+QˬkTڭ/:a}^o^>fϦ,[%Wύ,a\eIK W^B+~;yy!S/^!F*mPqTtJYo FGHA6z7RV?#C0rh+,Iz,ȷ:0 @ Ni6 ᨀP[:tVO.^|gda)Pc0j)h'-@D(`֩OL A҄%t-5 (*jf낁!11ݤÚgQ?%X@uJx:qX5"wM0D6Cb<F=ۧVa^?ZcF[ƀxӴ @T.T!pƨp@o}%t-=Ͼ0ӗ riZVVD@ " 2Ia P( 5wF@8Mz` 3M{qY;k hq=V-խOD/CnN07T{slHDywi]7z'(iA`T{Tǂ^|t`y $/ ԏr2BX(Wm)RtqzS~ɒ"}vzj2Pv]Ok{VK ^eC͍P`h墳Gg%rVodcAQ;*UWQymFW\~.x$`pOx&a`a?e 1.Y ℣ಸ۹QLF{50GreM4+t%O)GP[C}y.kpeAIf,j=IM׭q*$ Lr!څ[\Rӊ:ܬ fkuK$ɛ"ֈ^qAmɲ7Cb8 MYd66yzKY&ʏ3Gowȯl1G|ۥ!˹ M+)o~[ըWF|CznOɵJ;c;]Rn;4^YībmaV}kSPshDO)cЌ& ?%9I:Pq3Xv/S-Cn3'gEeE0&S?P~'*~vOcZ0Nw](4 s6D|.<4~06͓̇k 6|\4a8vijMv7ВFn𿔕ٯӃkĴ Y:R,R3imK.H=1 wD-;un:1vsf^=RR02p*JVV-OGM<6K#9IE"NfLb{X„ֈ)uVw#CWR/ Flz \huL%3=eb) ^ YyHx(ĸAN]7/|*buHB/:ni\m.'Orܙ`Cz2V7#|P ^puԨr:L)jlb^蠑Nb>cXm /ש)"t=Bsas25I;L dH(/6%Q2myt8׬# @/9 _BsxXmo6_qӇ b^0r6vb]aZ$xT0W F[EBۤ +Q$8!'$:v'eo{pڄB=,sGf8է5TE< 6b,%t|pܧ$Ia7Ƥ%­Ό-IQe]j,K+,$FjFBX}YoNU?jX[Ю$Xe[WYϔbfc,[u}dE5"hĠQv8U["Sny;_8Mr{y~Z!xT,$1GAb (`*>q> |rD+t姰ZUfP;+NtD!KWVe7YlQĖucxAׇQU:>"^G HD0+K)?"F0FOIGӖ>1<mSr[' =6Ww"vi g7 9h"Y: zڻZ En.&1-r*M'n-9BSGUl EǸm|m3 Xpw*Ψ!pܧ$傔e&3L 8+|˗9?w}IdsؽL}ƻKs1Ur%o` D|ǍN/.c2O`KN3t9g{=Iʳ>L PA^]v]"B]IJóғK|Qe۸gVo;/ o>xW]o6}ﯸӃm0r$va)!ime^I)J#);~.aIn]eFHuyxWW_, |,p =H{ $xuYZa%7?e*q2Y E*h.Xi6@ zxTr0 +P2m];S)43)XqqINm:^H[z7r}n=}uQHB/@ ՅzrnI>=w Tha,\ˆCjy[$Kg -3X}Di5şQ"OexuxoXO$8? (LV wK+;G]^4 Hec[5Yڗ`h8rTWs1EbJv{eD~Gm%̎zrYE}J~سz&PYnH$Q2(pM04LQIta!A lP/{e-^^=IH%,B^vgΪe5B:ݛ" x,υUp<Rk558k-YtD9 2f3 9jkiU͵Gަ #\\||C}xd'7N>@sZshZ+H9=2í[eF<4fj7ъ&OTǣGmj1)e3f /bp96!cII(rp_rrwr2+H2Xfʢ3), ۛ(zG>o 뉗+qp,@g+lZRh3{&A8D.jۈ{o Œwr36LsUĘ#w`RSt!ԬX&Ҋp6T^őT 02?ń.Xaɸ BH J TȽ8RMZi*p|G/0D}PoQ,% hrwږl,߈e2٪I%0i2ř QŴLJA))+D<`]4 ųp93]Onw0nzK8 ѾC4=×b_8;1S7LNNEp[$!QFh$vV,ҝbRCO__VU(Lcjs߿&Z\ϥ:nR4ê+@y.Ūt!7^x8ÝoVk>S&]Nr eiy)ӱP#˓nGzHG]rɹS8Ҽ5jW)ȼjw[6Xp(q%1 D#BIvJ1513΅NMΖWv\ѭT]@U45񮐏Z5>[bNGn'^L!VbD~'0| MB&4#g&Uz"e$=#A[dY=?IUt䮉4Ρ<w'bIqL3|, jUxnzNEwSpK)x3^g__EcEZW9t\jM Zڏ`,%ϥ\ڴ\lN`C8O,?ɏԥF?_}V5W %n&Pu::JUWuE1^{ }>em>3_}c& ;;B -xVێ6}W*`ڢEQ%/7E ^ JK)R!^;_ߡ.kюT/63gH3L{{Va-Wo aHLFWR/J8-Sk8uG, Aa!0,a3ONlӨq \cm|G8^BtT>:^ hkΞS4+mƱPf@Ž[`ļ>ZRm`F/b#~ Lo!wK9Gc0Lu)E^awݛ (`em=Y/F "'N2(P^ f%X煼S\0F kt`߂yUH:E(>e3 JbX͕#?H :.`*/X&\] O|hm3HKzWj}vl-HZwPy?^oL#su+e#cT)d)Cz؆+־i|ST1ϵ./Ѫ{f*Ͳ+>#@tPSx #c:}PYsS 5+e[FGuI\^+!ONeBԧu4G*$=elfX hv9j[LW.$Y%W$VP '5UTC?I:G9h%,5-81%/IRr^.y*zK q~[w4($9S;%:BܤʟA`5X@~QL+b~QV!.k `P$t Q<̌YS)e LO eH(1qdWАE Ϯ;fLxG߹Xc㩈?_ݣsܲ_1[C.X( L\G,0y+PJ_qHTWlf7A+AURDW/o'74"@kuqGCJn~2=zsI7$:ǷEʇgSV/wү,$>_yQz~~4>;]|2>ūݰm} 6&'L hs+.)~1^r[>~frY!1u,c"~G2^wdqwRTr1s' ǽRDG_|U#DfI1MNNo8ڥLYLם1 I&ßa\unLH"A"Q$:I+WԟXN&0ȘBr܉|V $#k֦笞 vubIJ@!1^ +-(sEoBGOa,O }h5i*Q?q͈w;lS5?@+`q6d_3'ę;zݎzdbm #aرP1L`ܶJ“4vNy=b+O-sx$+bcX_@9SߺL֐R٘v5,FLl w_)b0Fڲjt6K[cg~A<r-4dydJ?g祑Cf K65Her!NBq3 9֖s=)G};'=W_>ˈ*pB#2HHN{-$?-{ 3xa:\[٩"I0+`IJZEi,hN^j)dxaL mp-68Ԩ*{, ^~AG݋wLe΋\ Dueի6S!{3oa•jt*()*mCЋuh}L@lo ,-@)p}Y:"8.O:o<.*+xjA9.@{w'0Ak Yb[-6Xv: ު^s2='6 XT}A5LcdIxծ,UZ (^^EܘR%¶'p; AZ(UI4Ё3SI\AQ/tB F87) o'G 'eƽ9'GL^Y(݃r`{j؈T(Y6XmD@]=9eHC ̙r?qOFlljͭXτ2(3dB AD ./Efo?F$8HF&\R5^-DSko+ѼDDSRrX3r띀. m5A!(~-R})^6%vۼ+{xM X!~i0\0G{Vy7%$N"b{+2` !e6A
<1d8971fؕ_rq~;Gժ>od9{%MN /mv(81-i2º-"4W+L>i[,g>=ܒn Gͫ݀yj%5gNG?,LkBV64 ΂xV\lQKCo"wI'`l H݁B@&S޴{Dׂ腵nv?չ{Q4=+|"}-U+ˍE[2YN:R릿9iHFhDs*%?ݺrB k$(@20lƹ6VBa1A濶ؿІ *\rnkVУ-2*հVXGJ9"#ȸu6])L- 夬 U bh?T)y- sY0o_|Q2< Hv^}̵KᨊRa9ƨKƨMXJ1Gnl;&svAPB63 {_ZmwNՒT,{ETiH:rkBbLW*H=!K-J%ާm ޅpIf}ˑތSPS|sQ2b!kBOT D ;R&0`yM%NAqGx `vǓ/`N[NICY^K}Ota6RL0~GΩJ˧O,{sUj7ZcU3/}ekRrAZW&}hRm ѳ~q#R'K ƲS1?:cN*N2:+U{*2cF\_#x!9Os #U7g_s;tLh(%2/;(_}O\E+]^b,df3h1K:n<0IdBUP[(z2A.kk(z~y `#B.X:3$U9":1wu1ZFB<@(UcjqU0(3K0 n7ԊD`AcɅʑH%h5wvdpgS#JWht!Ύ ߁Cwx»þ.@nw{  ;.]vI0N@pQ|}1+Tj+R!3:o#UUAz>TZ~GGyWw^+05wJ;+umH(4L9wE`̨+mM{|S8B5.Vz\\ݮwuEEst PO@.eYt6R`y[Eb1ņQ;>E^w!3㪋ib% Eik;0#ѕ$1q!(DJ6Ls4"&'L'Df[.N%;R˪3^áݓ"&3,ⰠEK㙎FS/•1v랊a{$+65y\ }Ҟn3vNfgD=c_R΅׹V,Y%"zm:p3 ۞YVf,gW7|zkLsDzO !ێzǴ.)eqgA?K@.wWY/_cxG缑%H<ϻF\&퓀K^=*K:D`N>:HU% |2I[NQF2b(@#MB〖n%%.EJcڠ]1g 5k|UJҎjbc>м._o-v].z0p]AJLG`ݧ f ^ՠYq؇3E.OÒO_گmDcN0l,Q]l?B.N Cgܖ+Yϒ {bp654gAt_+DۙgO0UP6{Гӟ|&U6:p@~Y8̓14_HBWȍ3s->9ŅBk@C8 ˳#2Pk\]+/ћƢ}uL|.+"E,پoQsw ]d`FiW T^ 6yeJQ>r鱈'2jc4@+29{:~} .HpXfuأTMJ2Y؁ƥN QT~ }ÖjWn9{߰j%9W:>&ՊW dS+JLr<0U5Kͧb{(]P5W# Lwұ\kdȕte &|@OPe\/6AILaatE }`9؉+p%vxόW`6fx*\%iTvIށگyRdՓբ*X6[m|Rw&ո!rS*o0ֲSt[vb6{;e2m)^x^ϊbذ^G 5)N+I>C\xgSY6y٭#qX?P4T=c;'X4TW#Fz1ׇsIG8ꬹ|D7^TaBa_sR58Vφ1݀K3~-.|dP+L#ヮrۻV1+ 5&rMMrrWޯ ?=$DnY:j n,L){~ eߌ9]?Lk,l 꿂PY5nrS SHᰠOHm&jryXru5R/rGjN E7a]P\ ![cԬjF 쬵̲Z`rhvŽE;د䫄XuxfT!`4ζXLؘJT| 箉ʃ$}v^ 6~m;a6v,ZPAͩwn޽ɧ4.pEr5IA7qFk8F.%dm.VY0%ְJ3~` IL8xiE8$p™y>qZlXDYR e8#ežUtT=tՍϥJ7\Wеz׹Q1"h2n8+/v"ݵ&[zsir*T&7Y'W7Ojt+ x5Q>cAosVuȵN^U/mED @Hu.Hu`mmss99 unTXǀءzN@u ^1~x +{K?+͊圩Vt_OY&ju MZCs)ܲdhPOO|̱gRGr [۹(~ 7u d9i5QP1к^s.^ܨOF!"D\Vūy72sc.0Dw!>˷ dicΗ+ <*DAJ}zXrո6yb5Sfɼgor~l}u) RP?Y&IFY(a2 8m8Z*Q꺝 íVw}C-_ww7JSwNդd 3v\slq{Σ V=߾GPa\S2m3kEBdjH;zN,+4ޟS|;psRպao_惱4݁t~FbO9+ǒ7e3JV Wo]O m[Gqv>OmW ''y vxXmo6_i 0$vI V iKAY'0E|ݑrL9u}%ɺ]^+xAy^ATEi,o g)$ڤP3f@N2$e<ꢘZ^('BĐG5\wɺT;`aU :y6ЄR؍Wr -i.6jMض\$tVUqZi3QƿSe=PJK7B U߿3\XκBV|;spm}t ֎şz/߶_GY`Q%M>>٘|w,{;|c#SKa)FDswus6vϜ)- p WuEs%o$6ޣ/pIb௟h*ftQ[Ue[m[hBqUpSs \H%XŇ0+f*P9G)JRTp'dH`W:#OOi}[m?0'͵b5mz <_.j+XW9*o,Ŵ>>ЛQ.sIDyKib$Ej/]Z\EmTdvxQC%B[I"qݸ&BT+x*$_+E[KV:g*MtRr5=yc֏p%TDz#*! T0"SRk,ŧ"gc^=K&P'lRG-|t%MD eJNjF<"AqׂӇ];Q&NU<EMQ7S#[<6m<(~l/Ot I!BZՉR#-\fJr3jܹb$cv>lخ[l *%t4kP䯗9::^=o;ۄI \YM8Kݜ71~?.e}TT=Sߕd;[_rBb vtt0j㏉{t*ZAWS 򏌃;XpL [@c .JRbЮ[{B2.1g6"| 6c|la]qbXF< Pb(hrp "Q6X )jiAfT@TEMz6x-1ٌʁO6޽[Q٪ַ:>Pk|L#S _- 9~>aSkuw|9(w%93Т\9ą84М (!LK~Qa@ݕh9$[;A#6ԬURqDŽh1s IB@h9dsH.s6.Rh뮀'U[BQLB C jo'ZaB _>~`@*m9My\Vd%$jWIlisWQx7YJpVWŰտ8=Y5|.4q"T7x^ gN.O}#l4rPc[k>72Ϭ2G+ϐPL?x̑[8+3I'@]Ě7h)L :R'B"X˕ajU0^zxQ` :gvgiwLxgMؒ M^^&頳$ Ͱu/ksn AyQ&) r7R!&4ǽcVO4)ЊMRt(MncmWG͖s?&CZCE!Ĭd{8$CrBu2uM&EN7 `7vU6u UsZ" 25ֆ*qIo$8h*.x jv*5-c@ze[@&B0Ar{l@76`3XP2d W=8%!r&qL*h8. ٯ 8Rj<x:sОe]Tsoi BF̻2=ЩR5Il'l7g˭ ̙B 8R\ʙL[UXrW$9E 7 [*3b/9H|=Wdl~L"{׃}G?CI`x=PZ"!*}^䃱Ibd>4y, yA-;嗈Pc% :0`\@4l :U 78HG/ȀɃ2‘Zr̶v 7='K9ã"TǔgVd/xV扺EPGMYf_e-0k5Or'drroiXV L65f[9)x #CAbN(S0뙸?s'XU7w eyut&5fsZtuE=3u> qo'v)?|pRZ% Tu K)ٻYOyhdz U3:S.w$Zo>VS3y>h#tdK*a]|xն',kOc e ,|8I }i F.)d'W<}},WLaX h%;Hjg}pe(^qzʜ^h(U{dd֍:[ O`ݧJ. -kRlʟևk8!1Aμh$T?ڎq/= 91_   "8xXKs6W<$vҙ6NYLڸ3i/PX@P@֯.HY$%:4<" ~_3\^E ir&`tF^Q\T?N枮sԔZLAiz)rpM ܧ0ppBqpW𩔋aP/w5w_Вl4 ]I2|^sv<9 ^0M]J3u lFj+"j0XʙEٌ)R%);ίsHJlqk`f,<\r~ 71CR:"q?JY4'0r+?2c&J&{gx)$KfLe\r-P]q˄Yn[9Ιd$~d٭!d40ۿ<>1lq~+(*{5 ?AڒY<)eYvi4)b49Gg .D3я]f&و GA1fY?)?^vo8Q颱ogm%`M1)Ny h7L;дԹtHS >C3[R1ձs@B ?f @`ܥsj1):`(ͿÇ lYԫeᚍvt.!C')ke/.M`\m,Yܬ:1(QCʶ ӊaq,[b*P)c'G= NA앤$ZZ뵡|Epl gV !T1BH?:v<7+rbi-Z̃݋BptЉ^EB'5{׷]LyBL`;^?)x0^bL-A0Z=[LȐ*͚*0xobO  P$yNed2=3Q1z1`q<K XG58wXW]e{8p:fk+ʔT(|[ZŒn5+ǃX.)RLƕ1d+nE$mTLӈ}U]~@6+q¢Qt=94sQx=w]u7.g4Vr~ܼiy}O ;|;Wq mlҒ( ꁖlH<Ov=.m3sɐPjVy%9]rI``ӴC[*ECҚӝL$S2*J(}]gF~ <ڮ)Ez\'dI|=iM ~pl#)b+KEPRC)t@brwWK H5y'DɡO}_I%j7ˍf op ܐQWMvsORm(+ݤˢIUEדŤGNC!~FI^Ow"<[E2b<|܏vuԩe6w!)@\3]*s lԟSEI pUf 3j@ﲭUrڻ.gUTjs%x–f7œF׫R-4+p)8(sg#ȯ.jGwuUj`1Kӕބ]zϙwEF~ /_ҌJۏZOW_;(7X,E9;>yl!$JB.,;MH+ WԞg4TbRoc_.6 5G`hAG{˟>ߵs}ijRN]q';"~I\iw}|WtF(oTh3=8Dv^ g#RWxYmo6_qӀl+i7`Hdm^`Z)-$HɖdIںm>L_b/zNL\Bn 1y?p=&q`0ytE9o-{wJnQ P8gE.7VDZ4ˎ6t΀jv׀|4ӏ\kN @ l@UL8!+s*]0˕*0%roU-̘4nS`[˴䒞Iha ̽*(y, ԳJf۫ɷ!Rp^ 6WXg1gSs &bƥdq 7%:EhV8k'؋5@*Wi{\0=HdQ /<R ng&ROxo۶|&{[H',x%-JLIMwGJd˲M!%߇L,^?#AV %D YxWMs6Wl,б)(<ɸM2L}Xb.T/}-4{{u9T/2.$$ *' U!$FoxT=o0+cTKA%\+B%)UT!amt E|LLܳqmA<͔xn$n.'m:l1BAjk&֊i%X 80d)·N3/&Ad?eF^냗V8Qg_wLVZaۢLv$KYޒ!4s $U8g> 2ɼtv3A0w{c00H]N9~t?4'ƁγN^cГUx>p7yggV'РڬO6d :V${pEŌE7p{==!\;:q?I#Ю^x/X$#PSĔ7h)wO )i7)MtEuÞWoOS3U U/:9X)I;# z Gy^)i#As>̳!oy)$;NVүYnEkuؘcJx,MONu*i_R,L -ѶH+]R k\unOz-XQZ^/,Q*XҜ>F~BV[1R ?y9Rz,eH}*F?ZJe=)i s:ԁvg2& Q*vYBW:y<`H{oJh@YŦ"(lwu9KcOG_X^W\Q}x}Po66,ѣ%713dPc'! 43^tLed|r&-U-|h:|=tcNShL%q$4fH\'c8hs#3i X+v|{xTdS*=1g)C SfC,bi f%!mHSe’] S]0 C1>dITUuN;eu<2eʇ?P^fC7^L5qlzXrfnMܻq ^Y^E'TP?گzc!U4LoP02/@3;R) MUm͟eO< h* %Q.?+6 #0>8@F^5pkaUQqi;OkHDNMɄ &`dڀSB&;Vjb2堡P--_B8M 8ofH,EEx08Kԙ%U s T;‵$I@s&LZ8vɤyLP@h4IXgt@d”!(MG``#p:4} Y»[k5Md[nկcK\6`Uy#K?Oe$?w8rȅqec̝a^Iދ=N {Y-. 0rGb Ȱ'|{B|y3,@(de؎I!U\nM秂뫜kՙuX{:K8 ? X9R7,n[p$d>[|WMRMbUMTAUy_._=_ ꍆKʇXV>:`5} t: 9r<;=v4Jٵ>n9yty"x0dƭö+p[F`]_4YCWח̤ݿ !FfH]Q0\q#4Ml5)nJ̭1œV4[M1<\}2hnZޑK8$Z;Cw&a!VKA `#m:3ϗ:w<)rHιuEas 0 {/^b5ueyf]'Pn^z$#܅$Z2PL@3q¤saWR6+j5L*2V {||J¢Ѡc JXD d>~rqh7IE{sMTH@QÚ%lq¹G{qXe\`\On3PJwZԶ6L@?lEǾd!)J[f15RI*@.e=Ze<ڢ̘&zm3bTmq#DM rd:P2.[uH,}ܔBs̺i}1ܣ$Y\SQTGb@|=2s= Ş857N)TdMtuOVwXm/;C?IM_l/4o{ecdtdl1icR' =t]{t_YNM@j7PzFYN.HEw@krsCF%l6$RL2,< J W.r G|Js\utEҔ. ,жmSEo`c1Ytlnç*ڭu!.4Gok,O%/4Ҩծg܅助 y,0/O{y&Xu]E7<͌DQD,g\sfׅ9뒩QCҵrvv&}tEeevbv'$\ VKqL3 wt-v >?{7mՆ>HLr)+- $f="_fGr,毋A羅5U/`"N܉0,bϗ8L4Qwf1iԖ#mͨVЌӏ'[H8o`؆ZvY4񨈘+ZEzhVjƧ9%=֚/1[^e~*5oLy}ly`߃vs|fE΁uˀy:G8w܂Qri fU=EOd|8'ߝ5tp;wj[;J+r!~t~ꝼO7g[SSBiQw"QTWNǺtF~nnhd]uo]c`?w5,M5x3.tK \v=Y: ` `? gI2]=|V޺o\m.k.|=es?'P z'xxSM0ӶDJhJH 8,6'U4_ݤE_=o{3._l>=<>}ނZʼb*8 MW1Nl}isdP4ym0$}?èJ(2SJqSj 5LX$VtBq7pӷ(p6a]?|~H:"vĦJ-߶P#<j5U c]R'E^Ѩ>vV{q1XLF+\.7J҆vKp`OwLOG\>RX\Yn@ ?bL Dh 4ͥt*M.5xl=`-FN&Vמ=8H6eq;?@gO+Vc{rrbA RԚ| uiUD50p7́Nc$U )zɻ/IP(qElI9[S~NDY #Wç x8V[q\gC x3*ozwJ4>|)LUv5hX `enq4KLzEU +A698}\3-A*+.bh<ʈMažY֐IȌuC -( ZSPΟA DKeph3M_oHͫxJ韛(= 4gV t:{*Bakzic @XHXD/1U=lE;\ i6͇Vވ|ng~@MF>ՙL2!`JOi6X41lS5)&@j%+nD%G'r.&*E?ŹB,r2UIMm4g>vVߡ3|;dU,4 q+>$؟Gd(zDdPx 51' +ushVMlw6gP|+@ knY,.;$ ATXg> 0+jID7% ?˻6$L{|4đr"dyJ4?jB>9Q;ZP ۔l1㩬` E {Req=MZMUX q$r|B"'=.f|IXXs L3%G: }:wd4w :|0=X5jbʔۻ`ǸmGK,ЊBH"ef)"v|` fDZ0c'f)؏y0 H "t8"$0&8g". -{AN VyBCk /!=I J+=4hn]M)cGjev28@(bZZv t`9F7-XY.+ ڵHv 銈'AzsbM @-J\zy*3iϟ.ؼޝpz+aAGvq/yaRFȟtVKCVVr{Iwhޚիn]8K+&|/>v, C˚CLG}'Q at S4% {mϜDF tPi94_/n*Y?QYdWa_7G0N[][k>. ^F;f2۹Ɖ}W~|9?"wr2l"8aZ|U-,1ǀZ3NAl𙠍*xœ|I'!#iA@.j QJE\*7Xko^\?ʽ!uɚg4 [W=3o5{KɅbJwgcs nn*5zEʇ6lrfdi q"N.CtzF3 OȔ}&)- <64yg-r<{C(CZq_P|yp qg 9RY~Ϡ!HxjyB198\\<[tᜐ?Z;uŎY"meLMW}̕7́1Hi9Q`XIYpa;y`Xj_;˺e;|Zl4&FFj{F2 vOTޫ#PSBo(b8Me9+ #usom?|'ڧMhQ滦<^zp=ɏPNZs ~>xፐad or^JP@a,¶Y/͐ x5^̚ݦ5fы$7ǀ{0_0K'(vwZ:nVvw=h_%Nk }؊r>z͟6@8\XnJℽc5O1IPBeۮm]jޜIQ?gm(D .B-`egx2x?O]ElSuqG5fBYEm4YIMrnBcYG%!lI,W`Y%Yl(#K8O&8q5ʽ8=.1 'x8&w6{BPxTϡ$̥Z 1XkWU9lo"VIF7NwH (6ߚ>[O.:~_ Ɍ";Whu7>wN& ,XNȚJi 5pX 2O0Jk՛j`l.^k2{A C/Mϻ  ""ߏdv :N#Wwfw>!M'VH}]y΅>v=c@0o:UD!I=|ʟ<[LZ{gJuK4mql[( ] PRiXeYB'H"{ Y,fwJ{~ ߎ^UcUwy*}kdVr'k;UuFǡ"X acE.N4uCC"iJV^򿦥KJvs],k2i@*tz69sQMb*~'ӹ2g{ǩb\5Lnǂ^'Tۖݠ b%ג_+@e:e4YSʫc? 2|aX[Чۈ}7* xۈԮL׼\Gؓ(1˶eA 8G.oIK]W ;ΕW'aǒҤg.5za,wvd~ORА2 s`w=(ay?d^0Lsܲ+$(K{ŮSb1t e e{MJ ,$VdiL?֖?'xpG\{ZIF#Fw٭\5.A*%4JUդb5{ZT!؆|஁R C;VB_jb3JUP_= 9ѷ|˃ZIŌ[n[Xq ˢtH,:GI}.,0 h%3VoD~fc/ēXls,c,%#{2(/(AL5\6'jR<. ,uT hE0Zs٪67=-[׌Dꚏߌl~Ck,Iz% [Con<]`xh*bU{5wkd(0Hpdʵ%\[z#.a>٭{[?uȴnThtW/L۪9"#܈xްKYA> d8({2mb}=PK1]r.g;}nÌ30Z4'*]e媼9gA"@n+K>b#~4k5Sqti,XdͷS K,vx'1K?2Œ!Ֆs&<0l;ڒtArěηZ)m; F#K4@"=!3DA~9E!c5F\e, >ŷnӤ$2EyKxbD"̸펹>5`.l|-KuӁWYoԸf獕Wr6k͊%yUYb\ם|5۲۸,R!ݷUq&k<yP(hRnL%7 з=Qœ韃`W[$?;֍J^*vj3O7ǒ+Y{6%vcYӨ"Gm1Cr5a;ݹ`:+/{tfepcՀw¶OWG7u7ZUǤsөq;V?01 K&in7,^Ps`Ac"7p3S 'G2Z{1W۽ndJ]mٞPmneٱ>Яa$9j×p3|=<Y;zt\L@鰋ߺ">tjTi.y%߉?cg ^fF77XXE]i4KNޥh*&!cۊL{"͒7g_MvKPS6"`o  L)Bx\[o6~@5nH& Ȥ eֱZT=I4q~%Q<;4?N~p#(|̀0O`\(<x=ks8W`)ζ<ΌƩgiި~4P:Lhn?b}ح2:xcp6=Ԭ,۹HS|S:䩜ɔYc6q ~e{0@DHA\ Fgj@UD2˝trtΫL@AD 9fv+y9Zaj尐KxgWs *ZdܭD9RCGívIwlpruef{.YUUn!o ǐqBS?ĊG]&yCg:UYV()NBH0($MQkӡ33ѧk7-@cԯ'njh HA>X1eY3J߇b;CSvZD ь~i*b̳1e$Kcz?=_9(2.iP4t"|!{!L!UrΩo7V±)kd!q90L :M\Y<>SCxxކ>fdd={Ph C _& [q&Ԍ~?;5ЂySfTN|2HHRqN99Eh#@:.FPFI@l3O qY)vhUbT,k(ty"CUx/ץOlEYҎX}vjGU#V/X]dI*V- r}~|4Ӫ4ˮ= <$޳Ty6,MTHoCu+N%36C4F8Æv6A==薹BVC/OeS׋\;X'rK4C2!D\Rt' WhLjHY(=> bNTHJh;'L1{NnH8#ᦀ8DA< _Œbv`xe];3#yσP dA?z2>`o7Г䂝mPD’*4eҔ"E&dn1W[㩂2]Ygǚz+PDJtͯV3]J#̸V_#4_w*ȐMFm`ȒvP$ .}{11S+z/;<Yoml~ *䌌 snsO =[7 Ƶ>R"օC>/JH]2h%5=`8V1N5hV%IΪT}%h*mA,׼NU: kFzb[3l>%ZTxYmVe9-zo#;(k.6R/m0.5Wq^7B5%bc`%FaCIr['Mi,]ᶐPu޶2 y5iw? 7dHR&q^emg\853[xKRF{N[ VMsI9h)שoda<`ilH߃ltTbcJySJI#8vV)cN޼:Ď¢ Ȭ$8"rx}y[Tn|2-P& Nc[ p[epf aJ5zUwryfbæJ2^~ԡK]*_9<8^Ut]r]rG<p=Ւ,VnkFt%$ə8K9o~}5n{E a!,dVЋa>awRcDZ 4/!6ޏ}ԧ:1Gt8ؿXn\n[hFa%%TR'@& *xM0+[r&R+5j06G" ݭ*Bƒ3H>=}C}Hpi3ePqb#y?^zEc܍4ȞQ٘mH1gOt(*||<,߱H%!}/k5M|?FnNbk,6G†Ɔ2WN{)k2E9YԵ)c9&h,2vm{҅]KJ޿j4ѓWIA6`r1'7wWuJ/*ɮ4D\|-/w-iA\FE$rj`fsw㵆 6_cp7~jΖƜ^k_`^6MnFI5I3 J1]v UU(+TxWێ6}WLH]/T ]@ɦ@PH"L*/_!d6I6]Mr43gW7[@ZI 'ҙ$SupL^<zƥN'$-( g-:V$g@0cozg͓Aʭ;F]SWk ǫ"ٷ_Us:mXYb- fjK 2O[K K x4DQZK^d%b`:"'z݅r)kxp4W-E8Qq'̼5@nomFzh|[}.wN_?%*6hX2pW+{mLXrAC$lH- pKF,<"v(e+0_ l_Y)N8SdLC т.E)SCv-(fAEm'm%ḇ!T9v &TοQ\ֶce\av97~ k<)/f#zcNZz2Â3~L̟|Co5؈@] @RP+ 54TdŞ5S 7. Ul;eKT<ՠn9"\/T pQVx@a4#?h&Մ[&\s./Z/*csn.ӦckjTc[xPu#,xeRԊfGM9X:u7Drf'b=qg?p[ϭ[(W2pq}סh:;2z"&'Ҿ|!ol7ģ 0GK8d)npgDU9l 0 cp56FBi<&qA+NF!>`N,FVe0U1I2H.b3\:$l[1Qisj3}Ԛ?qj$qэHs n?T'~JoplV:iW;U`pJmגB͘9I[H%Ki"6O!] GS-f~+0 `{ TMiqaKϦ`*P-s,75W,gLy:+*;I79==O.5y-Q7$;ढ[n95#[mKWUBHx.ճ+t- YƭeVf_8@D"C{0sP(| '^ eHI2^2 MَCCڣb߃yvuo@^Bhi*B +}po֋Efwa8bo^ro_2,B㵜mԙ8N̈́jFqю1V@Űix*%{X{anGCis l0%#=[!C¾:D6aBϵz.TtM2n 4s8%`ejMV :<ԏB۱1:FR,5׸@kW b81+eu ۟jSq_eBβ5,)CVő=%dCڰw٦03x.>uokHE.04 +Ļm;GSknHC[Ƚ<05 >`\Fy[K<\tb|AjzTKZ&}0Ofؖ )5CcwoR&"J# W ʭÀ 0o-q<?}EA ۄ հ$S gJrdwH(hxRRϪ ]-\##ٻ/Ar8R{n鄲!M"4@7'}/'\j}D7~\AyZe-_̿յ4=h=brj_z8hֵL/7?R$!BEgU )1 tkڹLࠅY9t'W%/I@)mHK+R6<1gT(e ] =?% l!N@rēxu~_|ZGm'/578ѸP9 %` V|5I͓3?6JD'A0!xZmo6_ӡFHl $E^RH"Ukΐ$g7ŝ-y}w}fWcb0D:dhSkn婂KsM '4annIK^p꫕f=at;O!{ӑa]$D؇e U*daŽ-h"'a m\A/(C(g֧"K"M ajoroSߏ:룩+iq$˿(yyK*5.Vޛ?7n|Ujk>%!|MIEٹm~Ld4S)2=dH*^Cׄ 0cf:,: $R<)= Q%b7~^iėy~_7ő8dMV{dMVU|(ѻ{ Ff0\^f (!|D8 ǘ80MHhr&KMʦ` f6` CzIS0h  OA ' C))"ul|\KSpYwSpYu4?\@©A]^sx)GݯQlhqK*E2?V#C/4&D7H]-jyzÁv,p>o^r-}'ۡ=|S#fcĠ3RnlSJUI}=xY.̻i+.^kb/O/gX^+jCg gZ|*/Ie#[n^7v!+ۑv,m!ԅA+Z[w\#tmH "?_oȤ޾rLv'nF fCfA Bg3$~.nL8 炸I.DyCZTiׅ{9'S<5\I>LXz6]gpxӢRd3$H}V^he[`V2 8'Zj`S"NondM4H_Oأgu96̢nM6zPFJ S=0G@/!"<8δ`.>BC1k^+Vk oN$)d.e4m?J#BUݝ:{Pl_LrNY^ײt]͆&ԍCa)1tsThx ",rQb@O Kkh ]\=aJPˁ{qh)EL>!»H*N#~9 KdݚݽOXhS'Xy+Lq6 EffUH*ӷ^jM`\*2x_wԵ(IR;2@ ED{PݟPz]֏]&WF2I`wܬ9̵ꂿPDHa6"aE2OKMCߢ 6+S j};}DŽ<3XT4gar]Z.zK7H=ONfkʵͲ\/R^@ȝM[Ih2]dWŚY5{yvgs˨v.İ Ew{H9[N3C~ _s\ZrYB8-sJFաk#K܇{쟖c)\f^B@7}0ʙw g=Q7>Py'hyA)*l.7gkU$ xkZ } %S @k0uYZS 6qvv =QRgn@Р臋:gY>0,㚭PYr[V[%2RJ`?J԰<Zj<&@gZ SviB>ۄ=i W+ 'Akk 4' {o{QʙVeU^Ȑ/ؼh:# bhOÐi)Z][K>.o`,XA&?ꮧYW^#+PRT|}?r.!"GMqxz3@F_W}< UUA0xT͎0S >Dd%^Xi-BzXub[ڧg%iCؚgN_W?.<ܥJLrE&;(Uۄ`ǵD:eO Iw\'!Cm.J. I¦2AH6t)z~,vS>S: j>> |!.j'+ +++̄ T֮e݂C OGD$Y{f0Ao,?]ث~؇97I`ǫIM.ޔt =Z[UCi̧^g)ɵAX׎f=;R:҇6;iwbH:.ﮓ߈ZPx_%ocagg 8s1IcHE~dz^c-S o'ḮS(`NXs~"xmPḧ>ǭ_q`jXwS a>bʹVl$5-L$-b,@ȵJP2>xk$W9񸦜&}3{W1MHYx.^/@$x=rr+K{rǒ\%c;v, I,g0<S"ɟKf0^E҉Tk^0@7t7O/׿aG/tPNvBy''CCf2DqtB{"XIi)io@F}9AmXd v2-;@b3r9~b0l|&BjS&9I d T0<#OfdWkAHͤa멙MAe6OagŇmCf͞_H`hx dd+,H8L/BM|hN q/߼r_ 1D Uύ{e\֔G?BeBDArUYXIhٟmٯg$0[˭I1t);2z&5=Mjz~ژ^̳@PD]K%:ZADvw Z%>]\#I"!)!o~'*t39nݢyS)F 9S;e,O4] Uz|xZ^em2Y=KG2V$YHR(6inh;ΫЙ=Jr)Dr0|G`|!8/%L~Y5a+O1 :6U^(3~Ğ b2TQŢ`e˘fL?W1 s\RH冿LTL?\]̈e1ViFLRs2߿C6%CEP-Oq6xjC+6k,ʱ$+]?ȎKF}D ٬dj{McZ{; UgL;HkK<(],ձE<2jH(4gIiTd8KUGR[Žh3Y DW-%!r=2>|6C/(‡;+F-Hnw-̘1F"FXh܆c9%z(jEdhGC3Y>a?xrXbjig(2 @<"#`3] U臣eRИ,rҰ$sixUJ`C1SMҥWHÿ4|WS`1ǘ $ Tm^ (sW$Z܌% iVgwi0 FdİTtlW/_]^msu׽k O;70IX okc3 ~w3ȅ؎|}m Snʖ] y`P5kѶ-֪,5wry̦]o8V Ş~#:Of&z73}'hq9+2 &zOpa6pdi: jOT1KL'YMG➮ cI%|c0hv' ^aUھYl-QNt!z}$p9y;-V8L۩_?3A-%km1^a:daō|uE8旅(ha)%,'@xR9pj Co :r5Dokx6|b46nDL`~槻rYQȀ;NoJӔ5U KǑw.0` XU@/ ; lԚoU,+6Uך/': @QT- k n>/Z u 9`:zuJ!{ Fkp= ֤5ЩH+6D&WeV;9 ZA~db0Y`#My ķlwB^~y4X4r˧!no"b;p/~#L$0ņ—<1`Ygt{u׼7pvipžQs (&dŹrE5c4ehc0e)3xy7A=M~7l ұt3 HZ*sHTk\II >ifg.&LF%0!FO)93Y-V^۴;ĵQN~kMTJ?.4S^&UHK2nrpnۀycLۡ!.C4Q xĒ@m;3)p0lvv.d< w 'q9Gb;Ry|kbW /[;Q\pN铱_Xd^|nVM===T[}MIm7@(xEZF;dW*e*\gA_3Bi,0埓hT.Լ"M*M+ WRlTmR0ϻQ{)͋a)*JŎJr`9,;V'KMyL'G詸τB:9J"-21$_D*# ػFLMwh]7zL툲=Lk&SL 20=wMhy.,F@`Uݛp6H5 w"S ÄMZJfJ(x,fy XUE=`~)1>e+= |iw%o߶+b\Ҁâu9 Ҍ^Y]7XZT gS(%e[d??Vs\u`WùG?i(:쯏U*up/p5[VJT#ol#[Y:7q Ʊy1N(Ssg,l^_M0Py3M$ˈG<9ڙXUӆvc%TyCL|"SƇM4Yoh~Wm:~xۦY\ob.z(5XIy!-ڴs4Y^[r 4;3D/\t Xt~(%̊/WwF9E+ʚKei(o}`Z &Ffӂ`mdR\!Gd4EhSa 3I|ӑB1,d䇢>J[]Z`oy~y~LHki~i/Ҭjś_}6pzgeQi1֜^xLc]f7(&m[u3\M؁PX=:  1lG檂.hJ:S=;ϩ^3R7i=gmpuC@!Damۡ|^SkxD.Y%y>kjr;fuR_k.6I[`˪ _k휩xhBiiV+hS_&Fʏ)5K2p%Y ʸ{8տ(нE]d6+V0jglbZO3*-rvTL LʽoDW |cJ>#3 Sy{ZXY6~~p @+!Mb.>ϲ7`HDXA֗ą0ZrN&7X'K,qb φO" ~gƟ1Pd?BdଟgTtߊ}|cCӏvK+ƻe|t<[|EUsd|;(PlUoӭX8<x*nWgL*'B(좯ZӭI|7o_a)$2!y &qT+v&"x<q&V{TX,X*`aRBIq*X˓2  ?W){0k #\={ !ϓ8~JDē}bQ3$/PƃQ n8*1_{po yͿkx<d'x!5DPrk>3B7t@ySz:o_l/<(YV)u'!]HFiV SjQoy' Ӫb(z(JO=Z=qysD0ݸA;Ȏl|oNNkk1Yj7J m[V{fdA%}*Ol)'`'X,vOn.GB1r  ss$Q&"v\ D+`# M=сQ0Om=N]mdqʇb pђ!(- bBļT>Jv$"ֻAPZ@_og)UȲ`MMJ@yE`x2F,baE d1l]Ўb3ydazC1pc72t<27:XZq_p|R5|_qm8"ƢXi`#VsI>͋IupY^"Q\9T!bl ^ˁ!vuawɜxNJ^nVӻ/ R0%0Dr1 ܡ?21aڲc0.)+r^MYrrW#ffV|e$OqR <%]&9\ljj7(fOd//#+)i'FJ+ҧ?'bSE jn3wOj x8}b8n0~y:`gd9Wa%Vd;_&dwgQ$c N\dLHc=Escs oeNwՖ{%|wLS;0җ'y͓qƪȥo,w25@5ֈ쒛[B*D3lLx !Sb ^bD>Gwl> 0=.YȿN< 7۫b SsH=^5^y)b $@>Rr[L# z؃,Y/G:י'!T>XEiVضOO&ou5{9&NLpNu>PzMl#ݘvyO$M1 f/r)!Y0y67Xd8|⎇n/XJ  ŏ\F w8\0@Jƺz9xVt.λs'>*.o%_2ʳ'xVx=4[I$.|8Hq=Ztl"dHL xGPx/3D\"ׂOy}ޣ6S[m@d̰ӞyO jvPRlG&1h(Lڣ|mg#DiȳsK/4+AQ|L3Ғ'$5ȉz_.g=$ǵxG":Ӗav ۂK<Ճ8h/f ݙ9ըHգ(;L"H?8|d -F+Ci0zפ6YKHL_QTw8!Z8X'Վ.)e^<~di#M9ÿ영 Jn l,]*g0k!\Nah>0Hq}HOD^(hfe^la6Rf(FP^+Եr`bGb(+oY5v$C>=^ ~ < -d ֖=7æVI?j#vorOԭlW6E 5 >t"jrH eHb~Qr1^Fm ]v; uhWSǩ9ulAl[syA?ݾ,==Nbŭhl f?q"$u:q/y9.F1trwѡ /), Ak4a[5h h{4Ӵ`tId`#RPVr-LUcJ '4PbLH2;z ̋|]u 'Z/6;ت"D2z%+HI{ "P8طBncq.|54N Mhe^G 5萱i9 KϹu1o;.})疷+.&K]{}SQZSژ]Z K)d2sqmStj/( 1]H>dx:~ ctIWWT22"~c`gka0hk=J0[/kܫ>d;l'Z8]{/6-턑QN\4E3᭕|.ƟVLԛ TL6C|p^f@+CJ @wHն/P |4>7\!];Y|iTNBak:@]L5p=L($uCRdWlAbT#0@~^UP'_90h%~8`#1Z> f4-ΙhE|CqDk 2zTDi(@a*J$ٓ=5#ӤZ+mtg6QˌoZdkH/k4fB& jYԝ M ,jLE6M+3C'S`WbR-zҬZJCR$d@ZB%(ai"PB؆LP=9eX ,y$y!28۸cG N7|x, 7U~^q:1kHJJNf+/ Q5j5{ӥ[k:񭷸ժS")H*=xD1Q93kD<D&uN=TFʈ`G.=*WgvCp7;ai}X40;mȡW%D3pFڑ3l(fYûm{u6Dd=b֗_lpY{"1A@ex{?Ua!)ծczƪH82 zq5+VuxERl]醅TSs2Vī|@Y+AV6+3⊅@FLNuNpP;WΖ+%N:^NCk;DYԿ36R~ d-|]˼C3x3]gdg1aY ]Nnk^*ȽqEJB$[tH I :!(+vJR>!a{\<IA[Rڬ.vb>D.(a|HxẄIJDŽDVL@ڙNwsg˻B{"\~жzyx7cwLKL=}U!D?H)ߜ(+րN`G2Q o@ʡN%SYSo/0МXi~=&*hƨ@˟Ęp&G{UУ 0|-3j;4s3W5sH`KqV` 1 :VtׇdVaPy?K/fQdDdsi y8yJO7P61x.3r+מ Eq\5ޚک NOsٵ84HK[9k]#gznQEk'nSS֢u}AjJo0 ]S,tx.:jY"%HoeOlMGST:bc /56}CpP6o"a=#V/DB{`Pk9/V2Y_^6 :WC;eWK{]/Ӟ"^RjNPz,Ѓyܽ{~9w;=pgꌙۖNB)_,a0E*!)1/.Q%%4Z(`vSsbMPF/ϙgEta- Uz^pLfUtK$i L3L5жg3g-tBܦx0w_3XR.C}oTT=8ɥN}!Z{gd=wlw*jPiNȜAh⽁X`eu; ߮48P\__R(C)Ge]?i^ ?q1u˰KwFcu_撸.*)J[Q)SzG|[ȤtmDC7(ygb *ZR^USi7c䋖ͻ"(]upQ>qZw똢؏s!y*TXuYE8A68LiX'OpQaṛސEt/{x`wȇI$ R]DІY[G%AnmGugO}Fu,ǡ#;k`}WM+2KCk2 x( ${@eسǪ 2*D۫i^Ky3D h[H=v? :y M>.VӪp#㐞ugJ3 n՟:"^DE*m ¨: E vnEw?mk@nɩ] }m\L-iGKPFg^bDXk1(Vl8 ^iS`Hݾ Õ0 v 9PΙPE1Hp;N +#Qqsʸ "^[nNop6ɪ!s݉Fh; i.B`BʘLjoq̊m,KiQQ]ږ4=ӣeat 4Yap) ˩7Ȥlo3 7H: \Sp${ڹ6|b8렟*&0c/B eqtK1Dž;k^a3A7j/b/$6)pmZqn nE]M{mQ<9 `wmsǁbU{X;((iZMuSk^_tKߠBiZbMKy24=m|h#cCXAÐx}/du7W7}B-+Pt"/]#=lJZpyZ8C&߲ wHQM ;|Ƕ"da1 <")MEa#΋iԃh^66!QSO%s#9ˮVoܣ+];ʌFt<$Iw]w\bZQ#.> Zd̻UR}3(94V ^s\Vjg}k|HxG"oZ 1Tl¢Y)3\`Jb`㲩dv_R-_dX1-=HTC,'Sxf\ k5f͛\lJ˾A5ض;Gqa{@T(.h&= _RCN,*[([WpLNK;0'ü"p Q ӓ\^LU4+hV9-N_<ݬo-) :K8cOMufyVLurw ;к4 N['lG߼EAϡ lxS";zVryYKKMl;޸榲,\>UUaN2Ynj٦ģ=vOiM(j>kW^zZ])ք{jn5|m v4*nP}N ^5/Y*i؛P|Nc؅.ִ-HJ[1\u:KLɱkna `OشMXG*U̸WyP_*sQЍzK-l K!Hk)s?& ) ]\ 6ǚQ=ס^Ǫg]bF-^NU*b]aJ;0<\J XR͑j#,3[a;fo l eӢ_,&+ 0[{|rD.kmܤa3-ʐ1]F k5>^ܙ%sfk6fnAf@0Vck,}ƑZ=Ku^-G]9~oZ›tڽIw9%Kʨۊ}w lX0'a`SVa;u/I-ȗzj4ToHm1}X/؝tc~r=┠I|EM32Q̧BSsS|2ĝi?*>׉@.>^0E}u{ılnbM9Vt5lJA~`3I͓8Ix:.RxtJ _2BSx\YoH~_+`fwevl'A&H#ޙ)MM)%[UMIP,EW}Uu;/"I|KQ#!bã_~HKl k\7+WV=y5n;+E'=jXl֢E'&{ts}N\{o4I_/eH>쟝73%{%Ȥ!L!sMcqJg☟~j+Mp bƧ&ex!ẽLeDm>+Q`3I yla |1((͓GԹqvmՑqbn:n?gƓv$솷a[,?^7Ip_ci3X?JBQ|Λ=.i_:!Y(}01b+b@fb$tDZj|b]zb{ʀT8?g򻩉eXT_cdStGXXY1NdT`Q;WsY.H֛O@YNl x5Ly`AZE]qQ9ZgCF˹nxIyT1*Dx=Yv9} F[^ޓʒݮTddra`.27LD`I n")Z%2"Gï?Q&cQ,n%pz;_rEZjΑ3RvYC ]HN$ fzxrg1` `@,;u y5D(Z1d"P&eY-qosFx(ڂк6JW!=>Cّ+ !gXyfU >"*4}xFVOsѸz2ޝuD&98S7}׹~r^cuI?lg+=̋艋\-y4=(vMbHa_,_o/Dr==fMj7P8l\y87-z1-n7Z-}>*Ιx`).lya Y1:! AXmaÞH%Pğ(C%W"ʶ&0-"}Cp t:0w(ȌgyY#]dPgXŦ™o1`hdB6Rƶ,.L("C:wO䔀94wED;&O͵ɖyzwd*:T!st܌ժū*A4[uܙB'L8/*1:B`dV %RTT+]93Q4S[xQ%Ek|XX|3\N͐7Q[(HTEB(eUVB~h}2+ugYZL񮅢Ae‹AX%`"=J~zPBI%eu?>$RB:CNK۩u,1 fEaw츳QabKT &NW]|i|3g)StvNӧ!FRD>]r]VxGT\#9S ή|[Q"jQ)$w%|6)Y"UQ3Kܱ1L)?=EOD{!Ȳ}3Ȑc0s; oy[8^/9_!J^q7NDc̦KN?uBQqKQ8t].n"?zKrTbsZ)\he[y(L<. w*#z\p|m-'ԡWgBet~5FQ F[( b.w-r{M[ BB;3zPxO0+n~J{h&mon}I8NwN% iy}ܝ?o/\@+=;)2)fG@/PnNy'"ThN!BXd^IP_ Mm`'#ϼB/`UƧOsX:0zOAmR>/]6Y|g]VTQT 0e"û2%X)sE+=h9Rm1KYJuɖvZ JDHR9:6fC4-;Qh]F CGќ w9bHek!sZ ~dݾ5v BnD^Q'~j(@0^զw7uYFyMZ%/GNtJV%(+۴  {kȱUCё#=8e~<iu<^W*< +T*HVO.ʥadVlo6HK3$` i}#,AAZCTeخT,Hx|0$ν v.“ npӃ˵{t[nCyGo^SN6mߝihDAQIIdBZ(,3ywLn9BL☭sG2&as!>quY1+Ag0_:v81HR "#xMA#6$<&'R7Rϙ.[\ǟqXf’?U%uvي_6aeCm%J];`?cZcJjv Kh7-8b+-vZ;;GhX~.$vxtCpJYii[O@Tᒛ>ZmGQd8ԪE{G!nYz7n9{<%i+Tž S69C)xXM6WLkmmr*6~Zh98SJR8CJdoZwר/)~yo3Tŧnz?fLy@q̘@vVE^zC;~Yn2aRr0+s(}<~I[>ofW+قB|lI_77y@3[_;KI*co 3z+ 2cr%硝L&inf}NSp qX-iF{~o,*H=Rƴ ,Ƒ:֘B7nNF#$4cyNsc"^Q !˼ڴ^$oovv/KM䚆}}D-&{hނGA{x 0AŭNN^*9t(5ohB |ʟPs,:B2>` PW1^2% ngo=%x zG:tѸOmw6Y.a=2|&S=40xkBd|%Sn>S*q XiC甉GӥҖ9T*}u;<tIʚnO-ŜT){")VX2`Dp c/ ;EP!mj1W2ӈ ؝v3]*?>cDtTqQFT3ʙpDfOa/b4Y&ax;I8CVR"yh师U=FdDuZa2BK ¢gqj%mz}acvzݺf o @@;zj9pm?(sF B\Rl>8*\5%42RikFx jVtf"b`?\jw[Q6+YN*A22DeFɀ# r\J\}^Eq{bWsu^o&hp6m, zU3ȃfW`gBK`awٿZcߟkޣD~=0k c <[=O\VpUrw[nNz}Cc`M/.6SF ߍ3744ar%Gwn.6R]ʖ{*Qmʾ~_PRwb&ѣ]5pH(U؇YU`@´p4‚&p6@#Y۷boxf>;Ց˶tV4xirX+N&L2. c͝Mp^y߈Bh6#Jo%1pdh ݇iog_oCbJyvu~N6{n|7Z gg80x|PNG  IHDRaJIDAT8]KL\e;wy1 tʣMZ"GB4I҇ XMĝ&…&4q6`Q iBLM1Z"0w}.p}}9>U %/!of͇WEmش,VJt ?L˲_˧qW^gI@pHK"H96ҕC:8CCxv(U7낦ҚFȵO1]Q§s,Fś{akw<u@xC;::n!q1ܙ' Xr E4r ORϿta =,2<$k>ZK}iNϐl6 Y+$I&}~kA, 쭥HR=r AS b YQAҲ~JSE =HΕE%TY;Y5sϬE,"" 1arheSإ)1z,&o?ȥPW'P1n`Na2x%1é4ڷiz컵kz'jgj[Wѳ޻g#|¯ tnyi} mM=\iI04~#A#̞@ %ibۺGY,RUKMN['3o'8}_hl$9LxPNG  IHDRw=bKGD pHYs  tIME*5TB%=~߾}VzKxkAyЙ{JK,+K)t@yb"Ȭp&`!'VR\l@`S#p)E?k}'nRƸy4a!G> p]!W7EX8<*ZBw+A &8 -0I%S4iG,x>dsBo[dxư'oHY#O (0 ZVn}k_ԀI!nA SkQ)b3e:,r@_\@4$m: iD H( k? i3ܱ!C#zFp"ZļXƶS,L;㣜s\<{ ŵO^ @+Boo/y0Y6 %o=m.Np^fxEl.s '_<(FP=_z=##caSoacpOSVm(Fu `;7#6")+E+EҸECxFvnZ|禨V jB3}GlWPfupZ#~k4J9$!!P+*J_;'?~_ajnE\,G8=] %9YQ:<+Z3M j麷)Wm~;vla&_f4YW2+(@nc<WU忉Op1Y/ &f*ԒLG{`C!Փ?%:~4ހ^-! G#hlD}Q.KեզŤ'YqWS=tHYs䲭= :B#$&8pL8 ?,QOѪsg/=poL;A.KJ4Ovj/1b tMIK[ؑbx Wj"o!M`2t\}̩\?P<OJqv=vYobf$RWqjyxQ2{K§Y_+5K RwH9]doi:R6dI?IENDB`O%DqՏjtR/E6c{,fU+=1hHu[Gc@>HXiTͻk3n>A@ O[r@!d2YSձ_^Z 7{Ƈ|Cit掮,~H,DGݱ$|(,>VO)MAH@ڞn"1@=ʺ"[ηō- $UHsDV!X4ǣ;{݃#즳~y[t==z̜"Qv^6[%gR+lv555S-;۶@׭߳k?Xׅ~yU;ϱp߳KmiVOjBz#n<"eHDw=g dO$P$XI4 դp1 (RBJO:e90V!-=CxLdX"/TFMx&TROkxCѽdNfrօDTQ(} 0'-Fwr4`&tU_5gP ?lHW CnF0s6Ҫ^6Z<>ڋ,W04p_I2s\'㩗AWYq]@ٹ":1BDsUOtu+.bx(]kZy73M]-ɶKP B% _}fzQ*XP<\p.7\fN 8" 5lj|C4HzIp]ȍ`u~?<^pDRʴ˞o@ 6cǻw|o_x !p4wԊڙ, 0Ud]->~O;i,Up\ H '҃=9 O>lIENDB`d ;3;m=^x%PNG  IHDRw=bKGD pHYs  tIME %ϜgIDATHǵV[oU]6}3e%jgh5$`-D|%>F#&F 6ȥ)Zv:t:3Uxb?gsf7oe}AλkAwmCkwC=y :p`%󼍶]B$RU5(JQ6)!OsοBtٻ7vM=wFfMsS}KC+m|~eA(KH"!!"P5 - JKӽ\U}CC/-^|rvv@.8P4ApB0RHVA3t @ww7Tbuc#67KJ-(tf!y>AVfk,Tft2pcchubR6 ;S JKzjcjɬ`<h FwVѲpSsgoQYܴIn~_$i׼xˆ ,YZF܋?{ EC {sԬqM˗6 p׌Xx{56qHB| -[U((/S Z4.5{xttUJeH 2|χAJt:=݋K.8Xn)hdMu-)^:uyK%0 h!H`]ѐJaxx>10PH }d>" fUK*SS]A_-ߙ?JՌbU8At}.8TEA2ˊ!30 1gvtPxhjfyM^Ր C?ظuuuطTl#1PJ1 ֕\ׁa/?p6?>ֹBD:sK1)UUa,]x *BA(iBµG>Ν`ؐIÊ@B+0ϣO{ ۶[l_}@K:cEm$\'Ɩ/R&?#²,0BBH\8ls( !]( @7 Xh4 ]D`t]s!bZj5&J W % C US՚dMu cA;by U\"{M& ͅBPJ* ${D(֮mLo_Y̙3:;;.\+ UeW}\M@{??!kDžT*n߾}kX(A]y$$*6mMO8m6-[4.xD.gg8=cb"lvlsY[v*Jf{zzNOkkkDb23==}o8 #QЍeɥɳ*K#^ޗ~_E__QMtMQRH)<}w'd25k/ `2eIENDB`ӥ9X"IDATHUMHcW=y1%IMc03+kZn"ųAH@#E,DP$PI@ L_b̏~]tH5tS(={=6oA"x_8Z*++˲"d6MW=5L$}F/yv8vvvn4ĩa`` [eFFFN]..kwg) ^ ?ܜs#NX%B`/GGGQ__.Ȳ\vok3 RT{Ael@HTƃU|SaT1ؖAՖ> !`v_R>\^^|(njnn&I`0EY}.#1&ZMl$I K\0,[˲X,z/--X,T( Φ˕xHӑ($"tedmh  &mmm4UTT70suprrj5KyPSSe;v~?Sbm{KΙ32k&I'IlƶcR!*"}ŀłRZ*Z(b%j23$Lf&99sCڊ"z[|o-XPc#'&&ӟ6 !D<=4;96:F=@l{e! 17?W8 LȁloWzbpojzݏLN]ddb^,m7ԫ2͖ dg'|+_s u[XՓV&i6mj&-o<K ,%iEܖEHF0k>gWg~"Յ:g}KBȂ,I(a!@H BHRԄ{{}Om[%;3 )@  ! !R RJ 56tON%:;vtKql2ŽRȇ*@H@8@J%{BG U`P&˗*yrݐtU!B 7(L -BJEȑG#zz.ܾwFrvnѝr6H%Q0UIu.JH)PR!$d P%>NxPNG  IHDRw=bKGD pHYs B(xtIME  .2οW;:u,vݵR_xZ(A!t9s^\ 0;(=o?S?}=S'$`q~n? M4lXD6^| 팑˫x%tƕK\7y}ɑÇ,k||G;{+O|C# --`@i"J6sOpgyD/8GzČ$lR$5@<q /hIdz=ERo@J`G^b6V%<3q 22w:SX,v"I-yC!X*Di9v=:#$DaЬ_;'L `uBeMIuOcG=74<|j s7(jEjXI"ƒ!NDb !aTl2E!FFR>|5^D:T{rl"9z>r0LxK\FHA@ڤڪ,h*u>u(޷`YJ~A'Lc݅|};?yFe 06ahC: \5}ã aKfɻEyB"f:cVQj5!Z+Vx!O S.չ~*B(lV07r^L IaQmayM]7B m?F "?8Mȭo"ssk4^˻Ṳ~nSO81hi4C x^!0dy;()8[vxKOo2CGG_~/~4 J6m6A!N`Jyw,S3x˶D?]fԹ<ĉ(~~ƫyƗп,R1k.PxօW {;w8IENDB`> vvBA/x/PNG  IHDRw=bKGDC pHYs  tIME5 o@6xPNG  IHDRw=sRGBbKGD pHYs  tIME1 `IDATHǵKUAǿsW̲ !p$ZE,[ bwF /}^L^ǁsΜϜs{zzpny0;6H)B8ѣ5Fc DT9X"R D"mb! !N8CU1z)`Yv1}Zf)mXe#R8)]Z M)}46&#@7OjFW*"˵]\<ՊާJT۞\wRtSm;u OE`#mnVW'秐=5.ljz\ w1272/}t&WWxe-wq:`'l|+|><opjq7) [+)dԶe4 njA6P80?~G@:,h[-Ha+؞ɧg_}<P1 J)}%3.+t^=x{ג0==+}{v׀fZx&'&8@*0ǽyg_PJԩf:+nJ$NM;L#  Era1qIENDB`2Q!ZIDATHǭKle\ۍ;uB&Mۨ)Jhx Ur!. \@ Nq*#HH)T"0cuw㮝6Ů\7`Ѯfo矙NH$gUUqo*YJ>ae1FGG|>ib p`š!O8f``00qPx<4MRlR \ :iLMM177: P>,"Nvmaaa4Mn˲dY^^Ʋ,4MxppQ4oX$ϓdyqKX'NQYUU, Wul&Y4 ۶D" ^gBЩJidY_}e˲rwP< 9׋eYiV}jeo[B?zE\.S*.5s\s`p}އ{qܷO.ʫ?^6[zln|mB4W+mw"0H;?Z:>x @JU@6~W ?-d;Ds[aA@]^{+"fv߉7d1+4+cKB aNkB<}w_b[hE9,bR$\ x?M#-eqwnnhbG6p<(Ufѡ4&kw !5ѣ꧱P]ڐB6XT h@DGp%t]R~*- t]hC{4'9yLN^I{"@lӗZ!˱o)&{ 8o]uݗL&ud2y5 zt IENDB`Q@ bBHOxOPNG  IHDRosRGBbKGD pHYs  tIME /$>IDAT8˝SnE=Y{P JCʟU!O x+K$*Q!Ԧ UMq]{wpMT=Zͬf4gw7p1 Aj.fs0xR(CAEdi,D ww#$S+4'U(4;߹6(Y'$H%ј/{ 4>OIꦊ.L e~t@<'!T3Q4Y $@2` \"* c@'G83'_Z8Y  p HP݃&U[ <=<8!hK9ED, )zf4'Dhcԓ.?(@b|qM y[@:x$* &s#I}JjGUD0X=&{pSy$cc/%:Sw]Tљ癩/MROpVȤh,Ǫ s`mC]9g?gbk>a bԷ؟zffu̦.AGN;` y6RpBӁl_ޞT,whg4Vsg~n35ĢW{'\;xqMwd㺗SzO_U}Sk>)k} &U~7%S+_,䕵?2?_2cPQ+~fQܷlv׿/]zlmhťJIlobxU[uSI-0<]\9%4ZoJCx sb``p  $) w'ud^9lI. Ap品" 0kPו6HdkDs~nnj^ sQjbIjByfIo@x#8*Oǐ <GV}/sxWK%l/^e&_yփd9Z֟w|Y]VwӍE)Ζ+ B}K}Q0l f-b8y $g[uS-E ;,C,aԣV|V0at^mtMpéhpp|U[ٔqڳ!匌~yʵ\gE7ߐYPy)4/u^/m쩽=269Wh`kBB1jG:S) /dw"Om5RqÔ(xlZTGPJ7b;0&_ A8L'>:Fq%UXKJ)]k 3bzA/?X U/WPozVJ@1""bT3J1o-T0^G);ԃ8R$M 5K+gePo+i-#d4tAmG{3;]@֮lh=.3MCg(c ֈDdӤTrFԀ{Rvlc- US( u+@uSV( z~H+Qki(p.{ T8p9O?u1wVRzlϧPn@[f.]<xޒ?]I+yL(-'R0/4?{έ<{фnض#V~# k Bp'*$W~ٱJ܏".'`@X\s:6a?T. 錽qnzc<5h~ݚW?ݝʇ?SПR=_:'sZ/\J6ҩ/ >E<,Xt8AznxՂOɹ Vѩ̤g( RΙBDYD^çS͞~u--dmQqKpQp]()GC`UG_}%LӔ?^gң=f ojrNR]ځկ᳇SXnUHp,Tq.gIt\X4Fu$'NG(D|IENDB`=f KG8 x PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`XF4ExEPNG  IHDR BbKGD pHYs  tIME +utEXtCommentCreated with GIMPWIDATHǵOTW;o>v€MVD҆0% FcLtQUM4n wn솽.Pi56.`2f1o޻ j$ws{H@)(z qW'{? ?+J[+:%&LR$OE7|ay hٳgHc b&ERR)ǡR.GE4x4PNG  IHDR szzsRGBbKGD pHYs  tIME 6b+tEXtCommentCreated with GIMPWIDATXWYlTU{m8!P$Ұe}mF D &b01$HHx񁄚hdi1DIQmtss|!VPp}d2ɟsI^x۶)9Zk1oeG`Ym#aB"mS.!Ç.e.B eEs$Zk,B)EZEp]qPJaYR) J)JRJkN) An-Ֆn>mW[k*kH)Zn 6NO?QLG풖0E1LOOSر5wknbdd& R`YdZseRCCC6qҥtuu嘜dhhl6ŋ\zuY\r% [\8mۦ ۶QJI,DX(oqL&Ñ#GyM=blll9יLL&8??薌n>OFα- nUuux)z77ҲоNn޼+RpqZYާ9t> (9ȭ:5gΜ޽{b1fffx%!p]rL6u]1.a61556FNk8K[[ǎc߾}qOKK b``t:ͩSZsq,d2Ҭb>m $N>Vؽ{7ܹbtyybq*j6^*l:Su,As#8j j5JKXJD " +cIENDB`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F"IDATxڔKTa{SC%Sr ڴhSPQA)h"[ ShA(b:8w>- Ph9爪r>_,KjSH:[tÿ>3 f4jՊ6Xc.ibP[n6|'LŪRCø':hLTPkqgա|c@,hIoUIO",$hkظ\x٦Z|=FԹiW_0"!j`RҕiQUsҩWkY ٭&ީ$ ]vk;E &j$hik8gwpν-F}_Cv2dGuALM14A R?!x|pgD8j ܝ#4Ƃ7;Dיԯ> SsOVXHF:^떫zՓr&!nRwp$ڴ6 ҏѸ_9/{k"G;M?=7]Z\XI|\d`?͝\kOl$'{/K[Z~v0*ZO*($*ecmJD}hÂz%dBLĠ"8OJ$)>Ï `!0#(L@aT;^ [m-Ml)<^ڙO٧]k orӝMc`~{۟k<3ijj*xb,qLCNf#E3ĦXVb(Nì>aJ9EsnMB H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  )IVxPNG  IHDRw=IDATHk\U?sιݦͯkm(Vˀ҂"h_$}2HhxPNG  IHDRw=IDATHnUUksZn[ҖHMCB@L$A1)#'N/0G S RJ56?fp&iv;pasfs3wF~+Zq #X8a #cG <MpBRC 8$ F3PUR4T:zgX\T# S*dШ>1_^2a6ًY}ߒKEI,QTs^kwozėvÒEd%fJGC=۷{~@q0,G?!R 6ʝkkOZLxUVHEyJ<% غ~wmŽm1 գj@.*#s s̴tHAY.rqM8cI2 o6."rS @kxL0Kl{d7v~sJBخ!_#ĬCsŞ4LEvh[ xeU/aMBre,ISM1ڕPYjHg t{i ._O!xusKIi*$RʾV(;Pw:lP3V fNt?=A  2@& AB7Τd2+LS! GO#Hunl8bҢ~'aנEebv#Wym︎!Vg Mǘ{Žh4 ;͓S~ZSF1ֈuއji:Z{yd5s ]0AU۔3D03NenҠ Y:nuÜ-ٸ sBK `yh} N0qJQ' 1%NOb1<&i+L(7F/0\f =0M c— ^ `TCTеV+OZ'ԠC9CeRBQIENDB`_0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FkIDATxڤۋMq?k޳9GSͳq)I)"%S`P1=DSSjxY^)^C\A39xKXZZpyu$A4P 8u"n0ta@BPjǗW yb\[لߜ>8NN|3(ƍ TF`&LS$)W+G7 ySg:i宮$:::7u!c$$ RD5 9\M1g?ǽ!~4غV:!x*}'n}(]uC;q&BA(n`\u'T\p{졇 ۷c0a B@Z˅<~꫘':8q~7E&ShjN@U#p.^9s~ K$m|4oFQDc18}sJes=:(EmPվiXæg,UF8|mO aFoIZ-e<N{%Flق( .$dm$=h4P0Z{EPUEae2.$[JB(PdK%6L>= whB@QHr š[ceRȊCס*<KpɓΝ=rM`ja²,7yӭ;صk@̈;t<B$D[Bݘ:qX iQ,/.\ ػwI,222Ҹю=j8Γ/^o4:17$!F)1chO9ئtbСCuK'_TJ$w .rR&s[ J5U>oZWԈzngW1=Q#jDeR* !8c,}o4a.oO t]RIENDB` OK"$*%eY%*Q#G wo{~Zns_OL' /qBaڶ 3A J$L6#@?u:>:Y>1jRn9 CABp.|Cgg&D4׮"Ctwu>A)q8אָϞ; 3v^!(Pwl9<σl78nܸ`磴ZDDJZHPސ;Z\-Jvu 77>MxTPNG  IHDRw=bKGD#Iw{ pHYs  tIME[8IDATHǕileYNKWn"dB Qck@R A&&,D%@55PbPFE.r{};?Z "M&9w93B4v[$'BQO)VLUYYyS6ϫ\N- +ۉ$ñ=ۺx/,7Yְa!B50t PmΰX7֍o9IENDB`mDA8A(aA( 3Loi RߎTںɁ+WX=J -iYmcRY ֕-gtC2BQstP]=5^_VW|yq.}2SfϤ|- U[޵jKD(AENΪ]QyQR.tHل mͮO3@%v$3ILL)f$?)]GĜ_m]j݉aHksY-: `dFeYi#!ڤR9i)Y y_IlFQĘm8E\:4{otQYK,$NJ 캁jUɤtK#frDQޫ}@M=#L&d]ׯ,TG! D{r G%݄;!e5V,Nl9a)cDkkea~t:ښeo kv +-jw_V6"sd+(14G}E8ryT-na9q6Nr} VɂO lgem#_4TYKFWn:,f&L_BwFFyw ?Wx(CR-C3g<6^TF\9u6s?cƻiѵYΩ-FT~iT -'ɸn%hjGutC8)_޴cԸH:os,|.b /( Gpb6AB^ŝL^<Oɷ?\-Y^]S6wkNS^#%Sh..EVŢ C S &|Xgˉ:O\X{dShyn Q~A{_>^+Q R$KXG.~m筨&>2bIENDB`%k JJ3Njx_PNG  IHDRPgAMAOX2tEXtSoftwareAdobe ImageReadyqe<2IDATxb`a?R|aٴYbϮ3(//zԩVq q W^V㇏ܷxe”xqvmff6 ‚¡X<| aaa\`pܼqsڍ@O<|<}/]d={VYYi@ō]\\]5 EK?0Тpaϟ>d@[dgg'П޽{@;S50c@q4$led._IAAA`=90JJJ@񴴴PXuϟ?Y{ùh EKan -o@cR,@?+**f͚89'ĪMV{ 9 m!!!$9sFQYK_XQauI)mx }]ϟ>>m111ren:a`hb)޾}R5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  @AtIME#<IDAT8EMhTW̛y'1HpaZR)EB tEIp.\+ n ".\,TP](nҴAbәL{|p\оsؽǏJ&sH\=ͮ;ĻwW_WP=ZT3=LʕǿL=Y_GAE {=lL%_3?x o-..WWANc&'1,a|吩) ؽ%[\*[.|U_qσaiAI;-߽*ks~/0(nk6V8YKZ*B*EMMUUV#*h s"̈8rTbmk}o|*KClj8GUz/^6Eڷn!SSU 1Z'LE2=uj0,l]F9NRsJQl"yǏ͛Pu:stRvC CJQQs߿//4T9R 9Wg GƘqLߦIENDB`G f:f=P~xUPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd3Oj x _PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"b!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻC<e;?TTTT6ݵan{4[>ɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  @AtIME9$jڂIDATHUˋ\SU{ M^cIH"F ٙA y^?R "Ƞ,R< "(R<=GO?n}T,% ;SuΕwߥy">i󛛿US.bL` rBעpe4w?Ĺ/|c?׼xLKKQ4xTʀ!Lk6V`͕IL{\qի3~7ڄzh ᰆ=ѣkS^DFBu,vyw7EB,Ѣ@MoSh|9x.ysQJt:>uʹ,:3Zsz& H1󀪒 Ķۂ $U,t {BtDDōD++;I!*`P[[)"Gj?zc9۽Y[}VVMQCƐ!dde`0bB`d8u>ݻyE"}T"(42hiOp(bZu:$_|ē'm-l^Ɵo v2`!z=c315]z`բw6r,K{R1; ea8Dj5i~ -iJiJ9k5J&!`B`ݙTA IkGT*ΜᗧO3ǘ) _߾?.,C8td""TU51^GwzEz^y8|0:Dp 0ekŪ9R8ytJƑ#?{Et{j!6Ԝ#6Ƽt"TlcU?3;Cm"޿ΝE:2ZDT"oߠfR[|`i s&%!U Ρq1$d[[w~tJ苈0s֞[KKiK[K@J=`EȀy3:3EyϞfw^p!}wEo̯MDXVE?b#58@ d"7_q*jKFO?ϟoކ1sƹA$Tѱ@;"-o̵R_~D$x"睧bicNZ+F$q^HT#Oܷyt8^IENDB`E1> m]ncvRGwqj'zo]? "2vGnnҿpF԰?֌v3E0:-ZLOwonEFpu >}%҃R?l}sdL4 Lqx2@1 ҭ"\s+ O-vDQւ|`{Sfen9pu?{8((VVZmx(ׅ6.PgT5* g]Xy~S*y݉2\}א\-/o4_BZnj 8#TZ/cq1\Q1M\M]tRjv`P1@JQX!+P(NO_8/w Ìa:IVeBSUPBA0@i붥~WnWW|Rm0b(g0T:vTSS~HДnDW D# ۀ0T}0&Rw^SO=REDe6I}i6&-ؚJ(\sO}o*9O4jnN^軬`:fetC54*z=_ i" <E:ZsxtYi -"47be`phq5׼+_DlIENDB`L  QxPNG  IHDRw=IDATH}luǿ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڌkLW,PZ0K/D` [ n-t37lED̶aN>,~ZT,ٌɾ(Bb1`X#R b[!OrrN#(³f)`ŧEsTWWVWWiZV50OQm6ۧQ.Ԝ4f^P$A"Q@>Q'!;p?V5PYYXVpF,C˓+++'ڢ$I60\=|؋qpmIKMMY(++K:~PL}}=nN"F Ż)xFuuuo^eYz){%v"''梍"BMs?n^mIJNl= KkfOc8Nv;MM~=wϔ, /KNFmbU pq:L&iiA GJ`[BgP"pd->@!$$l, JgUTT d_b,c||\\4;D.\DL}r,xnIn$^_}Yj:`G!ɜL{uZZfVԡjSh±feb0Ģի&u5 hTƒ?--q $$atxѱq 2ccDhw=(ݳјh*ijr#!f3IIIn֭/**QFE/;Ts ^'*Vcl|XD|>?w\.Z:@JJhTTn`Xz7-G[]]$IFXMFhmi&..nLfGtʕsTќp8p{<&n&nZ`dŋ^I6])mll].׎bтleeewO @d:u6]9} q.$ӟ3xIENDB`Y %%HRxJPNG  IHDRĴl; pHYs  ~ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$CG "IbX*QqD2"B)%d,>5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FC4%LEZ1;yj!xvXJL5GŸpe7UN愷]o_\|b~$?Njct>}i) (՟~G ,cL־x#R5pPwCK&CΩcPiޑ\qJ^פ֟?sЅۼ ?73&^c^t \ H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<0rr*YU[QREٙwI@[hl1i~zhe9[8 TeessnFPUӭc<׍yLD}mI OG(Dr^nԕ47q+ h]Hδ'S'dZRHL_{ u>6-qIO(DCi) :&IWK$_];*96}k.0~2!^{A,v vFϟ ]vK*eg ]iik1My$ͽ꘸XOyK\ 1w Hna!ః;MJ~)߄ DPKbighi;{h)n!Mn|'9׬A]e $]ZuϽ5h4&%j׈>V@(itm((Z8wVX8C`E.%kxje//ϟ7v|NHdl 77gL2HO-cKJfܩKO;X"mii)5?PcgfFnvd #΄Q7l)驧Syw&.Y6 MHKK#щ ω1 7<3{>߮>IUUTV  VxPNG  IHDRw=IDATHMLG]7"NHPH6PJ ( N8wUrxPNG  IHDRabKGD pHYs  tIME :t'qIDAT8cL`ڿo>3%3wE ˠHK?yΝ;300cr…'O?k3*"BBܹk 9X }ӗϟ//-yP[]CW~._doػw+/^y6ȍWmZ.&V.Uϝʕk2s`ݳKCBqoشy^هDX0\tcWUM <*/,^e ^yۻ8eeHwɋT3./0ƎS֬[)e5]Ԣt[]]'gBۇ";(N6=oM#vS8E`M$3xiS M IbfYD"mb-m h"f, jz@)3S=H$ZTś(dE>ѧ֝3:*XY-'q޶c?4I* wezz{XCǗ>/LEb~IšFUщ*~čPR\ |@wԕpLfPcjG1|P݀(QV T҃gHKa;:ƿk#ZLCÞ:8]N|>(N.LzhOb~W[>pVrW9ae-ϯ.̑ɡ#zd$=}0tJչ xebd FYd*H^^T-,4MC. Y-}-<'+Ӥ\ $JO&> @da4fn!IZHCn !u?x]Q#ϤԥKRP zof]4p Ƅ4Қ?rm"ӗzZHoAO|",X;X| HEE" Atr?00F 7s G^Q@cCMMM577~O&IENDB` ^ 9X&xPNG  IHDRo OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\FC03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME1i0IDAT8˭oTEƟwΜ9_%B0@4.XL3k21A c \@$X"KKnv?vi{Ιy8-x 73߼ϛ̼xxIzi n<["V5[Rru}L@L H ӇNg$v\!` Xг  ""A .$t;s 'vw<"m+" m(6v ZA$DP&Ғ#' A$uAgVВm)=WNf  f&0ACHØ 'l򽎑(s,va8(WEGvfBKRPӝ8ytA'-pz~tQ/՗#-)wn5_̭Qk5[[ԀAB'+sՅjȺionn~0 Q*&&ƉhwOBP,%4J rܸ8Xj}#7* qrlRjvvАdם؀zw~|8)8r+WFGG??{6c˲| Vz{~p9̮EFTͭ?aΟԟ |>KRgAcXڶ簾ggMyPo:gNVέo9tb3{w)_@tѸrF(v 4 VzIicfJ ##GM>xP. w`hdzkb_? w I{A `#e[6؁Ո"W[O7jήZ9el.nc]Z]$MƵ̺X@ ^3sRJG))R&vF:&2D㭯_J4 !H3FF;Wr9NvfDZڧ4|jp$ >G{WJ麮--a aIVAq(x.l6/]t&wNP]/Q,^±1)%?6fE1 JR|>&DM;lIENDB`8RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME%#{GJIDATH}{lef3mC K[n",FR/(^Ͳ@61k`]pFcnT$@P j (ePzv:Muti}dGH;SW=_Ԅcǹ8ٙ&&(%d%g?^eM3X>X &>VM<㥦cF^uu-D^ȧO\CͿvEț3AclAX畓mިkլ4oz &xO{:=wTqt <>.9l>J/e +nK} NaGٝwqtpbJ&fy_~Mse>l86xbLt†8}1JKؽjMS;On=N^E@/xAyPUplcMn2${cؠJU Q@ Ơ"_RP'~ .ȸ1e!pL.y',D(Pq Qt,uypq/2r/B"@FƸ4ZWׯ<Ϗ0BXYv_')Sd1 #F[|oVz9UP:bGAn ¢ƒ=@u܀:xWr7}$$v2I_<δӘ=N9Mπ#ʱ1_:\NEikov&O 4}r ` }lnu hXXA5~]WG+S+]wb'bʤ|&c\ L|+czˈϮ[Ϻ?WDf RXXHV0`(g⟝.0P "4utֹn^?_)e4?xBC46~֭[ 2ډ1w@,V.奋g!9r=e($D]7MS 8⸮x_my<<}pAܘH_oX@Fƨx߀/dc g[@8;_חAgg'm&WVUU.㆗)O:"  ߐ_sFͭj m d'p%NHuP|Ri#jk/ H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@+YZxPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxLMoU{$mR.@T"A,P$ĂBIJ ]bV"X!QI˪hhv3;9y_} "NU8~BDt6ݎdæӧNrB&"r:j7&e>J)Dk-}N{e{.I=sY3ck-;A8 pdxwZ!_z N+_~6X0FS DP[[lxz/NV=bFk29 B*8!7>-ac 0FF);R'4%}rIAXk֒)6uåm G F*qDZ%=6(}` M`"NyiFkea0H)&О!0|M\Z# 5N :]e<էIFpbH&᧟7hmnn4(hoɍ" ZeDQtm [[O>~eyy#uP[^}Axa48Bnkv07ϵ[/rp/P*8:je}nnnX,^Z@Wgd 0$ڒ2 2Ll0IENDB`JB[aW}g_Wl~<$2]GLϒ bG "IbX*QqD2"B)%d,>5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F IDATxLoTe}wL;fڦe,ADB]9@;IXqFw.R ihhRmCcK;mѡ{b>9GTU\w9H$ZJ2l;Q]yO{DTٹwW*++l65"X8(4]]]ө;3Uۨ*27W..T O1,Z@+Å2'dDZAD@QmojEbxU׫^-1ck0";r@XuJUMX#"xZC:b84gH>ߙc-;9:.P7w ٳ'KQg_> cӎ㍟xcxll8v +ϣt$rJɤ1ՠFdpT*kˇ^TRBX$Ǘ?m>gHڢS(t[[[Sc=zOR 0~ޡng3{>xBu%zuzkߜ9q8gN& #_"BbZqHl0 r dllvkUR).ݸRz?"-=  ţ+~6f>'ι'__:svH_?'8L~8ɡ0G|5w)"GFF>+ [F+C8d]JUdkq0)"";l.y q)ʅW/m&ݝq׾+:| mIENDB`ñ 7\r x [PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbȜ[ x PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME .!HIDAT8uo[U?l'cǩ6DHBG*Pu`P`$V`(ATB:~.qÐ|?G"4k^ p9MӇEDgi:f]=uJ)ln""arZ2].0 QJ "Xkw:*cci}cCk-[qx t|֊K7>;VZ1jϞP (d>~xz!}z2Fk6(J"r؋$N'cL15J#&z=rIqZ8[wm |!ϡpi::3C&7A(mPz?v̝:p֫Cd [6hњrYb.{wi$e9RrAljk}2Gk#.SSSd2pVхG̿nӕ'PJ&:ЌDgֳ:mJƛo| _~5 ͥKj1O-A#"*x'g-߬^!7c4DQD8"Hm}}g񾠏~5f=DQD^?y#I,o\jv\.7fJBчY̍cڒ23Lr^kYLzIENDB`K U=R4TF<<(ZC>ָ b+HT.kr]\7 8A@'$  pB.@`0뺴<ւc[ظiHdŲEJyŋlb:}lv5] B@ ?kg=˲R{T_L>+.ꍦ~okNʕwR7q"-$V XךMrŽb}|_X;w=ٱ1Zl߶-C;wj\]3'9·f9w}?{aʵ*udfۇ00\3/\e+LvPٷ~+d2fff(. `Eܶd*f2Y^H;@-Ƒرc,]v1qku][&y{db-73SVZ!r~4/EK .[/] nx'pEZ n(&{3.Z@@0P(zrR*l@ Dn"=oIv. [^- @\.:ɭ_:u=]-VT cFlIENDB`&" ==8]txZPNG  IHDRw=bKGD pHYs  tIME22IDATH}oT3ٳ׬?m JM&@"%Fr U޴RorҪzQ5iIbH (%䃀 f׻f93@p#^=9;3LLlk6Ohm6Aۖ!J >q 맾LCk>}B)R8>ODQ,zFkMRP(ho}eLM#̯yym?Hg hX(F"m@yMRhG{ n+Zc0`A !A(R,.p}|<׿e{իժh5 !bTX^46$p,fl߶c{oow0X]+)J4MTISxMMS)l*J-R4 Ѡju\7DP~gtԩwmL;pRFJ)m`!@Z`0Wc0Ơ 7D(J5J)H["D i |5â0h`1(h4 `d粳hòllBJR 6ڠFk>h5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxDOo[Ul'c;6R.B@H6J%, ]u@| v-R!'IB$s޽wX$1͙37^Zlψi-[g>O'XQ_[[GDIQ^Z0 Z~Fsg .촚OMYkiF=J4 c JǛK}NM~hcJ)(@9RbBmnn\:t.Wj>aFk28 APBDΞdqZ1QZ= 9$ T*x/Xb9u=zhch7#F#IRHj Camx!{mQ8Հ`XN`R:0ĽCzOe}ug^(4Ξ!,~= KĽCFGGr2;Q-t:nW̼R?VсXah$ٗfjMwk_ wՊyjuz=~ 毰6x酅~FQ}Z- ޢEgwث9z{{?t>3QësUQY˾2~Xi6>8]y˅BaY!ch:Z(ST!MꟻJD1`*˲ӷ.]#mZ{"Ҍ$C?}7ū t*IENDB`H {^z x PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<G "IbX*QqD2"B)%d,>5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F=;wXDADP =z2x =J4 c "[7뭩2X1FB)"wH64-}Ae}v6l`Fk2Ԗ ^H4'8a6ʥbZ1QZsxsjMRmX,`Zyx΢/ҒjDPTk*Eչx"I,A^h(j@s*%\^hM:-;Z[[Ё!Dz]F T_z֨`އ(K\ |FNI|syR/ٹ٫/<}Bs:;;)<]WHG3D˂{}gZ*8vщOy8-fLϣW[sV@ݍFY&1] ~;TM&!e^|_v}CIENDB`.yc 4_l!x!PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxDMh\eL&4if H;jqQ V;ѕ;-J$BђI6N27:s3M̽}q+tct:D$GTdJ^}px]U֭ٹVVW]Tk:9ZmZZ:;7mׅUyTY\\zr}@w&:z`ʝwRёkKkz@DPTIqytt ѓ{o `DvU*\!j6´ H) ưzWs4[MƞSp Z8[wt;HZ-)$Í2fC79slEMOOǟ/~X{(J4#|G&M_n8RǏCN `#Ʉo̽'"n ƙ:IENDB`x  ` x PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<&I>,}yI}>D #/&a&,)TLP2`|~|=˱mPl. A$T%"B O:Gn ID!>7ͮԭ@V0..º-c,λ#X7+n B// |lz- Ah7% O3Y]{R~(?ߧW-ӧG'T&4JZTXU"nI GVO@U"TG^R!Mz)\a*<nf{ghAFFB%i(kfT+ղRn[f0iQ,WVHzıqLgJ_ Tg|q~5;/|ꎿ/0zr)L-!-1-ϩ|tH*y;I=;Ik( 2,zK%:XU*`gJ\:,~* }D&JlLfQO`(n9^>b÷gP|0GoϢq9~? vW--?­o1Rp<*3:ӀyrS݃˩<xϼ]dd9@ D e͟+XvM&9<1U^TjNIFo`#XzJJ9}vs|j,2zn)E0k7󟾂K2Jzg9Q$tNXdx=:YSW䀖#ͩl_v%]@h]h?d1(/9ڿ_)W8v{m+?lJeٹs.b"J C K_G#gC(2DbsgWW(p?oY>UM7nį 2CQ | _SIEɔ7#oY7`8%ZƁ(nbPf(j0Zvp,eHbJ68,0?Tϧ|V׷oν|@on;T΅ί{O]$SAE&&^_M#$2ۊsI/?!y*evD\e$9`gm&λ0 =΢VM MHew*S8 NVY?ND}<~؇X52y( NĹpma*KkÿWU09F!vSJPH'0y|!uRO<4CMuQpXCdk8" I2jfNшb Nvc\d 4Zi_sp\0JFV:O_*Djbo\ɾ$<dȀ,ُ{#*9/($FΪWƶ+ŌFҷqΟ?h$, xE3sWA) 8YSzlnAA2,PJTaLZ`@IJ]$?JQ I2WL8"Ǹػ>Nd2lφ!PTlg-%D'_Ʋ^SJ> I| ~c3Ӯ+km$̘Loc%(5Ǣ {}&ѫ=SNݮsi:Csw("B@@@ J{v4Φ!|lQ+āLPLHQu߆c,5TS.+8X/;Se .#%Y͋O;~Nv9( Ԯ' m]&K60tN痊#̹ANIQ^X'v@'V19AV'a)7bMK!h񨀱SkFٰUm]zn/MDru>Ɋ jOg8~YI-Zs(#/?:1s^@tњ/i6q~L"7rH,z[Ń)1!)Fͨ38q2TGmp F3)XQoFO~|x`鶽8kx̽=#xIG낰D  㤱Graab5H&df`8A;͉$T IFY<#hxU6r iKiu 7>u5,)+\,duI"i;;}8u5!$s9D)G=xqq4aVx]BN:Ϩ.L$>ɏ1(3݄=LJ,~ٖ'rㆼf}7o;uC+|~">&xR;A5كmkCAx`Qq$x05|6#4 n`7O]OɚvL>eOGϐ#bUӜl8!:U "PrXߩ*/QP^rrhG |g`[{:p#RЄz~ob0 SjHݺ!iS 0W;;},~g㰚^~jx` E|LZmP5s^l[=!Y8 OaiS“/z~} .jY!H 1{9TY@l,\n Oj9ƽvf[̶n/ 1Ma~$AFae AFG `aB\Ԃz#{Jܝ̲.1FW? :G֐mK |}8b۴ǵؒdL΍HdUiWX~o(#S c)Y e 2&1hb53hwPKLtSk$QGXaCjSDD⧳x^z`e "7'V܂3Մ=&hZBǹ0zE/cv#K)#Qjz 9VKE&/V-e4VJﶶ PQHYMYQvOS}\=co`$%ݥ\8@P]em~4EDdn;)~Nphp|'ChIk9oY-mt7RSDy)~ǦwE"KŘ!>ӍF7QQ[uPi$2s+7L:{os.}BVl9,5'ba:_~Q'gt#^ f-Ż[V 8VCNrD_L/AxsNGF^xF=C]mH#/@>/d3UM1|8o2SYn䪫w * ex&vȏ-K>϶/{^- %:q 朑0LpavJA3?3%]w{&& ᰵaM YbHtTEi8DEuL-E05̒϶gE^ ĵ Odg^^J$褱-nO2Oax9+/1\M|똎TdK~ EjQ㶫0ɼŁ|`O;07EZ4O߉n|ZX]#({!|'[[Sħ5Ei믺 VQBߎs[#І7s'>,<3/4׫O_qj/BT;MbN,5ek`qQKNeި:tPD9 x)md'ʀEi^]JQon73wV[I+B˯gE6E B8Om]Y7;.'g&-&5w(VͦFu+,:mef"kc뢽[tڝZO~1[-}d?Sfo㢛wm >Nh]Qv䅛Y QzɌCw}^F6a˄f @aM6uK9uS|dp-9$ <68(Tmjyi>m+iC=34m*곰FuOmU^/p '^ tͦSw#Z B8V/Өa;e+uzR{W kbG6NݒF{h[:Dj-_<Ǟ9Wd / 7hql(L8WsT.YkOSSS>j@&؈§u5{ܟ] $*=mZ̅s&ow(-Owp:|qČ DI aKhU eՇ઴⨬:3 Q i0IC6RN~{I2(Bٴ.=EI7cM3n0"[Cė!Z@xOo\sE sV$lވ.¸nY #λINDFE6׷o ^Gl7*dIDOs;'('p^jj9*Z⑍"R|sUFFhw$QPK |Z]w`mӋܿ*2߯ }mZ6{IL#M6ޛ9InO!+\R*PvXFT(m݅"g1%3W9.NUUwϻՁQ,|k%M0:kگ?~Lv/d󗣹zמMx0,PZ#Wo'Co?HXI\>.w <j* 'K3Y}2ee>R '5hSvge_v IDATWo+g<^^ZŠct7SǠENuIKM֚ե:xcXUYm7DV7DZ$6.+=K=G#&%'5DxgDmM(˗fGH;"q86k@,yksDBr'eWЧoϽlͧ\{O=1I>ʻ`-5d?)WkZ+$ظ^ ~i ;eڏ)5ָ@@d2Eߗ] )$eh֛Zzlnrh[ ZB#\vOY$Ƹ7)O Rhmqy%^: Rmۙ^)0>6 CfFd(594ׇt(XC$sF c'I]]qڃ0qTVE`ّo&FkG5R7HK>@0 *7Ü%|LdG P[MӪFو_pц(fr-Lqbգ1/ cw,~eT3R'YHnWӍ-F֐3B A顮$?͸Ga.V?WxZ{Bt~4ԞT>_|9%gOc\^}lYrJf?Cr|Č m]Ǧui\AԍM6?Va.>N>|RPJGPl3bj>4ַ(=f+u7e]E*ưo WqvqA/{&Q#ߴ5k[9H~k w<|Afz~|縟y#⦡pO>ۋ!~e'<2FQBNe]z*[j5@ C)p6#/z$Hrk z[_ړg V桯0.MdUeϘZ/O\yPR#R$NfG$ B#g^B>g#+$ ~ü?w{>lNK. ;| fo|rYS5oy<}fXĬvAه.ʬ?<Ko$&Q껕0I@~(o&Һ$[p>ȒA'~l{ /ྗWrT{2 Hz.R4Q_-%$N/GwY>QTT$P>-ggz,3Moc{_$,c,zdFW7o)ho7䥹N+cΧQ JL{ \Oͤq?9;1eHͦ}r+(9aΈ#+15M㭿^>C Y4-{D 8ZϽ-_tN֖!#AkX[2uP*]Ѥ?x@m nR{0PfS\r#XF> DG5Z:W :sh,e?=j:b5NqE [qa5w`j#.3 DZK#%x_'y5۹ 2bL^My稩QLWlو}'!"Tߘv|~QwJF[M dӾ >?{ׅ!I"֜Lt30;sG.oI1#=*9BE~sGX}]QL`N}=;w#9>|z乳 SܴȾ{z, jWUsOsg7z^Uvczz,7>ޔx:e~4ZyNm|OoR/ Ι{'z=쉞`O'zt@HIENDB`ѻ eelaZ+XxX+ԉPNG  IHDRZ?]RbKGD pHYs  tIME etEXtCommentCreated with GIMPW IDATxw|Uܕ{or3o;q)jbZjժ:PZ'8Q{dܑ=G+ H|}3>*LO `O'zG=? @$&ItDٽ#7+;%XCV'K\"UL~<.%fY)LG@I"I@xDBDBr)2I)Y/r|f(AU 7$'^BIS9qe$UrN(\ L%Lf&W*rMlm\$KHRNj&Phr?KV!I*$R ±t B:|k6lFT,zjvQι(p_ݬ0j>-Zb~I]M&C%l :̄HwI͜o8,# Y_۱9`dR ·_{Ts. P%41ݿKol^(d(Y~LPSP3(؝xn[ f#S&b |b|xPNG  IHDRw=bKGD pHYs  tIME kKvIDATHjAE)"^|w{ L I0! bW3af3Y^_UWwUO-՛;;8S X!`B2f!sE﭂sJml 3Qy[v>0aK>鴹sf``,}issqTPT+i,lyk}}jm1"o` fEf+`*px\A$|vF}hui&''3azjz}2߅~8n=ВX|ե7:W@TQ02SFQut>L 0*aze9}7BAGVi8ZD >ma!L.{"/Q>!tPJElvÓz71~nF取Ito3R(sF/բX畽 LBO"4IQ׉K=]'7(ujL: L ,jlll -gDzmqq7^xoSJiuuW3\.ϾEN1=HtE,KIfߙX"Sc4;Jr81 ] ;m7WVXI؉{O SS$LOH$ r|WT8P-U{JBVw!9vzVXt͙S*AKgx 1W.FަB*D6F33314IR;r8d2NQjji0XquI[5ƨrW{1x/#=6I&PJai% !Dmi" e;W>nzwED!tӷ;W0Xc\:o31Ǝ\A]o*WvTSIENDB`b 6dp#x#PNG  IHDRw=IDATHoU?޳cJIJUҪrC(rÙw↸ 'AJ4m7"7q}3qFvV}}}bfcϿ4i4T50b8NQ*13(Pxzjn)YY$"YT,E%|w9B\򣧼wmV7Piso˲ȻFIJcܸ6ۋ  ÀnҥwƸ^l؏(2o  1cu}WB|='[{N/}RR9 pP~˔g7TUEP*z20뼳bbĖs\~(K#%GKsj޵jm(""XH/F!0 , g_|~i_13u}̲_}f>LLI/`mTIENDB`q ""[e:x7PNG  IHDRw=bKGD pHYs  tIME 1h+UIDATH핱K+Y3Ơ XDU  X(V"vBD,ӼBB6vYR]AcɬI&f2sgg<} 0;ss^o@Tj?45ybtt4;77 H$I]_ɲeY\%uW(4BtޙeYeYnjV5M5MӽpWWW( wwwE,ƒ$1/ɲ$IDQBm 3Rqz{{uFѕk2DQPױm;+h6xB@<gzzڏiJ%lFQ8DQ6]M6MuiZh9D1EAUU^^^0 ۶?T8Cksxt]zNR\.Ni6\^^299I,hP*xzzT*Q.jAVCu] %j4T**777`YۄaVVVH$y<( 躎8q4M* 2gggdY*leH&i666HRhP!e}4MTUUTUrjvwwY[[##[[[T*QUcea6f]?kkgfff۶@e8Ÿp||,$O2d}} xxLL&db!D6 4M#355եw댌;5,,,t%B۲yn)^Hէ۟+jTU= .W_B-~N+V0 IENDB`IDATHǭoLeǿw,55EL4%5YLro|W2}h/|;Mɤ=HYl[kA^K|1a+Ma\.'}'?4y~:ɦTη]O> oޛYT-7b?zs:( BOў7h{'OZIBQgGĵ& Ib-2@-jfA(MUpHeG/q:͸r2B;%Ⓧb|PnO=Լ X";(拐Zƈy`^9wSEcAz/aze> B2LbP$m0W 5-Tk׈е+w$s*{7 +Ŵv\-j݂@"Y @H2w֥7 T.r@5 `=u#_DsT#IENDB` ll#gJxPNG  IHDRw=IDATHUMO@}NZޑ8?Gqo^8^Ďm) I&k{Hk9YyofQ"qeesa" c alnn~a9S^^^57(IR~`ppu:!o+XSSsR++-!! ]S,m| PWWך0PEE3(0:: }} 9-B3,@O瓩ee !Ii>98wPS_Bp)kEvVUzh01MMEAV_RJ?\&ie ȫM7ߊY.hLҨZR[Ar} {*a`cL8Ueeeև^Ai)T٭99EnW,!$V mPjbE]U*YsVI3!nf P=waH՞fCA^e1G9-˰Bh>k%; i[DA<Yz|C!Fį,BVM+!q>==pKެ(J^A_f(pb4Fxw$|D1.KRxsff t㸡֮4 `*ҭ$cSZ1V1cB1n(`5pIENDB`<`#"$" A !R%X2$܇%5eavk;~* ""rZRݴgvS3U $@%5*{y3_ܩ`m40s X􇸘cr7.=LCc/ J|[dMB^ztdm:Lsj⮇" VP:X΃%FPx;|hjZbgZQr\V|F__v2gQrU]fjs㈬2Kepq!) NL1|mP.=s/&و6׿O2{fg-"Zu|L SL/vvtBwkj8Z&hz ̩c{j[m ȹWhO8B 8soO R 5uuc,szث_eO@ ϲXc_:m cu ZK ;=W "c(GǶS,9y$=C?y.܌SZ6x=+¿Bd,Se*JhQJfqO|IENDB`wI? i*xPNG  IHDRw=bKGD pHYs  tIME "|nIDATHu[o\W={1;N☤iRIRHi1jIUMR EH AETq$$TB*mZT$j$PUIcrt{\'!>͌3{^%\>H5yf7&m ZirpPhV(@)@K{ 7k%93kalQ1\4" kEXFHsXop$ThIrtۓW94!IMҐh܍XFh:=cf}1[HѓN֮f 9no\"xnum j\Y|Y,D 4MoLdq*k[<8H6׀Y F_c-Z*EJ׋^ @̉әRp BjP?Wъ+79(gh-+ԕ ځ5`("& ﮏ*9NUP,zkA7,mp zHDdj(UXrX`k`/ c cd,oHiLyo'& 2+-ܘ\f-b4&#!ֆX 16H ?,F0F }uZDaHP{qfr̈́Jds&Qlk'["K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 0QOhIDATHoLU?<}>.`ԋJ ekj-67ڲzV2fEٜ8+f/h҈"L( \+\yӋ+ ֦]W9hll콓⁜;<mgg/PD.  )T)BhR3G/6Q ' E2@J H!4)-gaLB3$qAzU*W̉$P(%R)J4bbaY 皋H%Pn5D4T )@+%#YJ@J}J: t \Kwb%tLᢄFIf^EDoLUkeu ӵ/;(Qp'kAMMf0>}P$55AU.vM_-PjnM{ ̠kemǽE͇i ēOpK@@_)y6fI6G8O ˀAbSvNݞOS?&|>q;JyyVqjUUU /xɷj~]Oe$Yan"IENDB` zjxxPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQD磢zf:QgVd:㫴=o%E: Y_ X:R78kqc|R4pߚ3X2 AߊMA cJk_II ΅V=Â6l.ބ:TWn>Z=!;n TxqN%N֖UKTbG?5@}eaƞm }0UMd 3$< 'L@Vn G9kwo"^""toCd^Z45=p_H貨ddC# J@R2FNȰ&P(&s_@9l)z%XG<@? > oz+7^;|b#$H"x4= ®o_~LDA—|))!PHA^k;i஻;=0z0/s=shvN~jɓ'֘j@KZ=;^hu̬i 7U7J>|!~is۽s9Bۂ^+zbAnnV7g~wd[+Wa_`)ڷbLavTp8v~gfp G|p 6L &y/NTpγT|;!VQ$uZԌ"UpR]u[XE%,QŐܮ@bD ۯsdLE$kDAD1#S0ƠN!1 1xhkk, 9ɼnTSTQS<J5/^YrߞKS'^zyTbԸs8v3t8.rdyѹfO'& < #i'G71pfdaxLٵ,#wGI\4jj~Jb1pq~oBny.=>`X abn!c%CH $NJz^q3OQnzDLa_3L2NQdBU6di-Ͷ_#Pchh<`.q"uUpu6C; ^Z*חK; 1BpvujX.W 7b8ST[|[|]>Ģo02sLyL bȬ*3dzx` hzި -,a2( z35*5ͦHbZC՗H*Luo53-Ws]OڍuTk[u ~4*4ҁ&W󅙫}Rʶ橬Ȉ B*($kXsuWQQib~(1@qxTJ=n\PS:mNiM`p^Tչ <@￵r" !<@?pϦmmmr#e`Dr gFvw;;˳ G__@~(B\GrE(.7h%jkk"NY0z_IENDB`AC03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FbIDATxڤMlTU3SJA,DS] LH`EbX Ą(& bI I@ɂ%-RKi鴝vf|.LiJ==7y~?‹~.Ο_<pJ1foo߹%]SSbLr6W`̈9՜8+o߱C&FFU1Xc0!,qUaYw G묿󸈤\Ȼ_)a91-]0Ƙs\_cgXcxYTBaT%CjZZZ[kldMTJU[pc8F*1Z,"`-QP"2<8 av0@&7ozF*(B ({U{Б͒1%kX57#P σ*fE‰ K[ұa&T5c*4\C /_B'Os9:;IyN"A.,YB<`4 ɬ\I/0D}L{;7n?|O8:>D#Iմ-GH΃]AUT~tdž!ikI-]-z{)ߺIjzszY-ǓMT%YgIi&?yl ("|ɻw۲8|' !DE?N = @}hڴ#G"Fs9L`9k+RmmhDMF墋'Q^'xq#˗۶|*p3J_Ej=x|ӞҞ󈵸J짟P1R55;j'!`WWzKo'lY0n-_͍ ^P<%.F. ,UG4>Jbg2D$ Z?G=y&IENDB`@v Zn8GxGPNG  IHDRĴl; pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڌ[h\U}.9s2m&3& U4Cjmˠް4mE>j }QA R!4ڛоLIDmSM&dsC4a^ouT3 >}3p4>[,οx~T'>LO4+]*ֽz6x^-CD֯vd"dfly]Sk> o}UC;;}vcQG^>-/{Ol5uӪ-humө 򭟢S_(l"?9)7 ?۹bSXT*Yׁ2@thճx]`l:L#D <\RRjbCjfZX.ޝ:|O[nп.H8)q3|8|oYDkG x7=ұ^T br"Mx[;HǪ%o BƁdڗbq~-Wkw [?Rk拐)dkC.-5KcZݑsٶwwF[)Vzi_;{F*VLΎ&һ.? {A祏sS9'G(_ D?g&u) SWgW~2yX5nPbUMs']?Uo;H,J^]-FIENDB`~ + ;[p: HxH PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##2oh x `PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME/3ڷ*zIDAT8˕]Ha|72Z"Z ¨ @΋.*"¬.*ꪛ* KT$,3ŨpNݦmۅ(*-9?s37kň.KhsGp]yb.FFu\i:En>'>h8Qu6=1vpPt,7\HN"%I+ͳUVJ$90A˗ax+Q}ZGPptoaơ2PAT@JACCX g^?1*mʌFB~)Pt m"O&g*b-/rtz7'vQD œ FÛ@/+F$Qtw~VkL{ @81Ok_-+wtp־vWlVA@N|_jb /زV(`f4@(v+>2+)VWXYд"H oULn`MEsq{6Kђ@'%Ä8O!:Z{}STx#GP FޖnyNZ{D2t.3l/VsnFIENDB`̖]ϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME/*IDAT8˕]HT w&IfƦܘt6 >H{zb-vYb6H, ǂLÏ)uqt;ssd 9j{~='g߷8Vٛcyb[UmkT,/uЙWį *?flo"sc~)~'[$k_^G}+G²BgJ>d$AB|F>ź7J׊:0<68LYS!5(͝w % ۂ"F]ꌟhc8␌CZ%U:ioCWJn)^bs/t+H2h&2,wv& ]m^>d d0D H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##x5qn x ]PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIMEWюIDAT8˕OHTQ7ofSGLLK B3^ nkdI;-**4WAV-, A(JQI I0K 'QgFg͛y3^PI{9DUi1Jppfkn8o9n3ZJkdǥbQѶ'nNt'A9=""RV{!kpPB2)E̕QE9`@sUW|!cYjNg 2!\Ixq,TmC5HD`@L  7-yYQt[jUe@__eP["FFͷwH89lAJ{PXVAW{HmnG&-׻f\DK ~V,G 胈sqkӑM͇D6rPpA3 h08~ޒ;Vb`aICY؀.n@ikOӕeY9@k5g6 {FELvsYQEЂi2//Ψ)Oc7&% 䠢(ȲLE")@f<̤A_Ӯ=@jQ2@3ubk'y@}uIENDB`O%^U{u8~f9=.9FwlN\iSvlKv. ˋ+b]2L KKhGhu@Hpc:JsU>ǗX~`X" (;Hy=sm<'_ MK`4:SV>V\aYjѦX=X$Qcҏm8?P*8Θ>dq~bbr +ӿyT0 ^t q?#1Q)ܲ8S8/OȽ?~?WL XZsߩx%^IK}ZK:$/MpřUC8mjBqj1P4KG(rq*Gc<'O{g ^ԩS8t=[1AN=Cɏyn棝w&P7xo.^)"3zmpIvw;ĝ Bv J c >~l#r>s_;Hqϵ׷h|*I=A Rȕ<nqxs E,Y4"9"6o=zap8' ՘G)t; ĦH0㈭tڻ4M-/pkAH/1c*nRDYr}bG;\C*MD1xPA])B &J)zo *(KLOϐ Il6 BBHmI5bjnb-G4 JɠF' g`&b|@`p0@뜙Y*q)odٺLy=DX'uV2j_#Klv8vk̭>ydb<1(WP(ؼWvv?q/NĄ! Y}@wq#pv A^B1=}n{SOT+`JfIRິZ-~?o0'l-R"p\<υ1,8ql)s`po7lAuZSܵzZ—4|h4q~ _OȻtmS,/bs/L'b4j߱׮mٯ{jz&`2Iyc0h4ZqHС%2s{1f%/(zn`=OOJmWfkhݝ5sʛzM0x< Cywfv%u /̳p`Z"3- wSOmڈزuscruJL̙ ´w~ٽcsovc$1Ln\1믽T~zJӱe L)^>|D" "\'_Sjs[;;ʥ:ǶAt(Ub%r0Aay<\8R\buth"2m+x7IS`tQ٥rQ#t 2reqFx%$a NN j5V޳:33W#%Bkomm9hر,+-;t7,+Z #%2S){TtD 눒o6"()px'R84])'r!cٖB$/n}Ӳ JliLD^3ͲqD V)٩S Ԡ)H#kN_2 `Av00 $I)ڵ^ǡ*S(ܪIENDB` ^^s* x PNG  IHDR szz pHYs.#.#x?v cHRMz%u0`:o_F IDATxt[]Yk~33cǎ[4D\HVQE AxI*"<!Aj!EIJĹ؍cg친9r^{xZa˷[W_/c Buw@H)<ϵR*Y9oϜ9<+W68v!rr=8'0 4LzȤMعF&MV)8~>k<R ՒӟHsL |?.pߟ'LOeT <կXghLQ ?GL6$b@H@8vB#<8c|K?9<g?{$ǨtBgc4!RF)?(Z 2K:Ò9V |DbabκixE|˲nt?~&F!qa#L"}]@%wn/ v͢2U K@ݵX혩 ꅐc0P*61=RgX:D?.jNbz0"E3R*0Rn0ZS$8bXobimrm;JIRy~3dҧVV>/<|O_%j w?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]z ۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڤϋU?YAC"ūE[<`HAAAν=_[j{gj̫Fէ+_~t(˲(GQ{Oá5ig_C@zw;wNuW^[^]%F3MaFTm#N+RV3>ϯxWpBD‘6돛;ǎl0wfMɳO?si{;`TyR&*jUQs Z|P Dڎ{<7HP5)gq9c\LÖYTn"Uݰ?7.LQ,Rd&Pj}JҲ1'eדL1#&1,:̃uoޙsG;f6ߧO[*@(]7xIY=3u=]9f6'83qwg:dKom:#*MvdA;s{/p^e2dZ\xu]wd xBK>Pԡb2zHx kBdϟjj.jJT(hGA{S3vvs;sEX%ݸk.!z :8a@GtRhhY}Dl@拤JjV{ H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(h 7s-7lm2e:.&3\d/i5D Es}9"yg=0831c ZH)SCвy1455)d[R Cx>j7H)I<`nNm_Caa!fhS1r:簄 5=36:ʎv0v2pmtvvRSSDsl71"IJKK ˟Eѣ]]M^^RJ$r?~z~xDwj~tcv6a£tttаغi+===ϛ R|ϗ.|e%[ 5Zn)$uPJc $cƐ?>F!.)!\L,X ׮yFz.R] 48 E\)/@# feSz/\䵍{"U+8 aI~!_f!mdD7%,n a eHXYz=]VXƝ$V>ND JJ;VU\Mbc+J,ǓܙDzbFS"AYY:Y 8R0'[&q H._ .*֮I%=|^,)ܼ h+Ь`b.Ϯ&_$),|>龘/cs[twtI9l[p,C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATx4[h[ewnɭ=INڠIVtV\k+st֮"XPQT7߄ CPX 7C\Qk:[R99ߏϿC(Pٽ(M1 a1t:8@ 9[woVK"JB]>ņ8ɠeZ} FKgDBkחwGO|x۶ c puNN_~Ź'`Ox8 fkR5NyM|bz'fbG15ykSKK%/El:1cyBCoPg.ixg,_x#܍AEtţJ۠'a>RJąn%rv^d#>%9*&((.}ZbH];͎f# -Zn s+kn<xER= /j \O6w0J):I%Ǩk>^xjn_ⳕ@V"….h``rYժ,Xvg{!ؖcUыTք,!J2DQNsQњͨ4g]YaSJT(FtF"$PS(J~!OtAC7ѕzWK.b1weUz;xY)\BdFUC6+twZͨH+]fh&d9aF@!% wh4`b\Y0Dl-'xQ@ IF@6RoQ݄$,kʑȫZC$UfkG7aIENDB`f XXv.x}PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq* RKk%[H<;\0 imi!`Z|Ƿ}$ź"25UAXs8~Z5LUhjj_d޿*kXR(J!R*TƅGPZ#c$e )7 a$|c͚Nrb,s$I8wb44D 02vFF0rJݫTyjĵ Z24I' }==#"29?njƆ.G'~_JtUR&R2I'a/~S*or.^mۨjLOOӱAj@02vKH_=zcẤщړRnLTDV0xAnO Hw޹CL,[bihhhٱZ??|S2ɧRYnqLoll/ \dE{;!1cô-YR{jww.`pH غeL f|rrwu>ԙG?vMM-}}{U7 B1OezbyԷZ(;SU%#VtR.Q*/_EIENDB`5E $nx`[x[PNG  IHDRw="IDATHA0 DǦH\ˆ=ʆojϞؤR/QX+eY`gffcD4a۶zPU`*RJPU*q|YCc|s=G @Dι[.̥aqfvsP>5,[tL._/R1ndlK(ǣb GĚ>gSZP:f^9W˴J-Qn=-QMˀZmB /*!zذÇ;RsɯU4S?IENDB`OLQw&xAPNG  IHDRw=IDATH[pgaɁUb#ˆ  F#3\0w EZ(;)1 RbEvHhKMN^yoךw}bٲ7I|3]nhÆG8KI{{KWJW}2NO)7\{̯'t){%:O\m5Lh_T (N]<EF{.֢R¶,@{c N @`k->XPJcEXc,8 v.``%Iy;RcXkf1ĊD ~*#dPJqT_JPB@ XIAEЧS&mbc;a:7.؜}k}ŽgW&i:Fsv*(>$}c֭dH+|(DQtP(-so.xܫ+dHcGem@fgg&4riH!j.DP?'i`=@KP@"bnfJ֨xmB xi} XhjuëEQ@UAw/^x9InSof}eSyV *}$:R*E@P.GFF"}ie)Bumz5O 6J9 OkҩScJi*I(BEbXLmE`of{t{yZf8BG@M̊s qoFdJh u/,rTz ij~]s 8tn\^ݒw4( |}OJUsyfο=wss ܽ4~s҉jO. Z$]^+W~trr??IENDB`_ąk!j& FшBK@ko̽縘~/'s{s3FU?׉ |n 1וۍg YWnm)tٖ߱={kw{(Φնj)s0x7"c{|w[{,9NJ0\4R(uVamcgqvqYWcCpjSH:eE:Q+:oqQET"41#M:>Q4[%XZ"^R SHDJ*q,.n^D*6* V6U)/YDv :WwnR%*H]kk[,9g@ * 5L*%N74a R,H&BWj(rtr9nA,B30 c4̓64&[9dZ'$Y%e7:yk8puQ5-wq8:}+ ui'ufrt21c*||ϣ#o KPQS[_/tss<ٷ%4Vo" &y Ҟ܉ < g I]'nEʙ#kRQxc [ nP=e?#"0LH3+sQEtȺ,0.iC :ݽM~gWs<C&l@8\j~riEmYR-Is}3N}e|׹t|켿p7} W.*9Rn߾1:OPR[I~^9kraSt?*$ԀȂhbbraF6.Lp  ]{>x5PNG  IHDRw=IDATHˋUqB"@ >0Wwʽ wnD\ хd#$Wɀ&F2t=yNDnzݯ9{Y==r)ec<9}˭ȉ?>qcGyzƥK/G67`dRK-M5)Tc_NAQ#HyDf- D@)ned̰E 7_dAL  H8=j)/S5PEH3bk@7l@Dj@R/2ww6Ͽ WO2T{|ч4_˥b0od{3m!RB$ ḳ{r9j693;,2 Z\@07hPZhL0-P`;׸rU6&*6']!ң䜹~:_~-hJ5,ՀAiyDKM|2ɧUmY=uj${*BhQAUDhF "Գ--3Wk0/p)nG0ͨz0`PJ M,TΙ(׾-D tR mRJ!"ږѶ"Wf+w_ "E̓)mҶ*RP-AXģ=ϹGߪt/\xkx4f<lF G g666L6GmۜN|䩜DzȐT"ǼwVEfvik_v9#)LEd l h#xTU=028͛{A$! a-ATԚ@! !xf$ ׹$"aɠ @@+sM9{vZc]eJQ((`ڕ0li;s淬!:mm*gŅim`2uB>91(kJzՎ; (kj4H\oC 4Ǿdn|+ilvT9G-.FIX,C{|i8~ًP(8kEC$M\.sv9hJ[ҋyak>Di1Y s2(J(*gR}{xrijSCΝgGJ*`Y T %<믽_8qff.R,QX^^&M14 #"{bs9}کSJeHxISo94ͦ?bc_Jō ֛LNLp1:;;iii{%O%$!MS4%I"fݵJ֮CLNNǘRhD $IB ϒ(99>>p}Tj59Z6''P|.O>[wcX|zYbT5}{}Z'|Zvt[R9[m:c5&kLj&gϞ+fWNTUUM<LMo_1 cLS@pMUmc_/X[c^ܾKQ S: wp]!i2)6߸@pIENDB`77e hh(~T x sb``p  $?ORAN ɼrؒ]fHopxD30p 0#ì9@AO_W[윒VW_O IF808&(gd({7U{8X~;4o1淇pz㴝w~~-u})-)iy?$]=*_Pps)-:w{Ek +SkCe(wU{G/_"!3vlT)qmWmV@g0xsJhit]8}r!$x$!މPNG  IHDRXbKGD pHYs  tIME") IDATx}ɒ,Gv9cM^M )B&d&fZZ;-RЂ qA62ӎb4,dֲ)݀0PUeF"&9ބǬ|uBP( BP>,X8ˣ/Mҳso Dl^?!l}!2x?km=.h^G^#~->߿WI\=P| xPNG  IHDRw=IDATHO]U}Ki/[-UJԑ)5?9hu`H8G^6O s^{98R=:YZۨ*==K۶Nc (XX|c̊U ?T6Oyͳo_];T.[(YǞ}Ǚ B(Eb!F%#~-{ 4%>Y` p5 B])^`˶JE@^'` ["-q;o>{B|0Sq07 L=6O~Y_#J٤FE/{ Q{ R0Wˍ<>:mw_3\=^N @`S#sYB⅙;T7E ϑ5Ddؑ5yG,/?/6c89Bohr ۇY䀅KavחG kt<f+iAC(ABrDeۧzE 8#@7FjH& cX" bs z-s`x~or 0 NK0 D+.lz/sO4yc!θ!U`O=" 6ɩ}r5 a@&~Z8b˘͂E2/i~R%k'GL6IU ulۇgGh5NO@XGp<.ooH~6͐P4]@y)JdBteb[ǫD/fe:X 24 =W+޽p?{ݧg` A$q~ e-870lNv51pw]--ROQ[xpAO?_~>GVᛪZ }]`ס21$"p;ѓ%NZ"BnZG<9^3o[/6ÃΛ Yդ 'o?_S\RyAbnr7d vq ,9Oﬥ DCSRYMHE^4vL~._~W' ՛!RI˓yђOS1"0+k I®bnVbk./Ƹh&fg>`%+&"|{m޿ه:K\^%r) z a= >#MY/ƛ[<6IsR A682k?LSb[A*7ֿ{?\$'`q2z0˵V4F1'H2t1W˘:uGITGzI~]c}x"csK.Uҭb5JRF|} _ZԆ>!K`Y?kI.J9 i"!֧K,6 4rg -llR8cK-iAl8M.kYtӰÅ]wE= z G1Dr\mzX(}vigEDYoVswrtʹ {I $Xb u C|73%=%GK.\s U^ύWX7XX\3~BZ$&m׍u!b2W-b/_O"BPۧjdd@XvI@h`u="#n<!As 2Yj |S\ƖNnq1U.+"1ǏN!tS.^'!XwLh.RW3Q|}jE Rea N H!)C\,i x'HDbј(oxg y &Rhz/`ySXӴzgd`g{H걿X)9^Xd8A.)>O.X A|~?EAϗ RYu4 ld`lvm^wPdX99?a ZH*HI.21wE;Xs,ҽF@t VOjRzy A`WR5JDz< Wf u);)}jRmt 3?6" 92!yyOH ڵAz)F˵O#uGM0b`\$;utSHŃ i2{2ƋC''z35n5F_8 u~KﰻN&(НGOɬN7~LpX-  -[@KAjQDKx+$܆ߠ+;ݒ+HBb*;OMAbSnt۴Vuf5H1Ac}r?fxA3"'<oۮם4Q(fOdBbAڮH}Q(Oa㦮ٜ~+ӓD1$#|R6w)Cb}6P̅ d6Kt0-H| I69)HQ雓ӲXYM>n{o(H%$b !٦T13IWa 5Q̋ R )љ @RO.bF" ѿ+U>/"I OB Y) kADDg " )JRjҜ ( <h]lm& >W@;*fDLA|ڵx a Ҵ"2D1~0ۂ(-& LJsO$it cZ%i%yI.VIED$)pfI}DqT,R .jz_ Yb 8rIZIxDڮ9ڨt:9{^2ڑFuLI%c^kH6/[]i[{+#Y![6)ĭt#a#`bUyo\+pG,Ù4o ݃v%)om&:$gc`c,lMʤ>)ѽ T(f8@t8W3JqljlOuy\-K:VDUͧ:v),fC:"a} ><^aOEb[?Qr'5y{_PtM4,wCp3fu]βrK})7=>ŷv3og\lN#7[YRWEʶU!n|eOW^ hCľ)o¢_Ƥk#dT!|B>=Go /\l:=V RUnA ,ON؜0^ <%HMb\Z囘^js~e 5 c ްo16HVWI(0+9u ƺݫ =k0UyWE?tTz]@W^WٸXla-M(+Oc^~Y2I&YyZy ,-`ⶉH^LU*FY6i kKyEU˷*uB-oWHPQDEʢM?R/ePIEu+SN(f izpC18GIA+4ͫ@-=A7mZXP@@ZxV7RnQ$Q&z˙du mHZ9Irt<0ߖE* f '7Б$"htD$w3r ȍkUA3eit"R(AFz4ZM*fb&}` `bUJui^Ō`YI.VX1ۇ+s|i7Ab,V1כQ ² 4a\"E;ӢDb617P v $] e&RLt|@Aw6a DSH})bki5#2Rk'p$`QCtŜ!AGLI@D1G yhESlȐhN]3b~൚W13">1qQJ(CAցx]Q"Œ2eLA4Q9)&AC17LV.IWSAB ?=j^%b`QP!7QiDITE>T;7ܠԤPퟣ%I,Ou&1b1 7q#RkŜBk9WXջ[q;_ 7[QH4?Je5t)3"hVNd +])}oz#1aҺmSJ%$A )kĨ,>Cb(& eho ~8C2Rà/5KrܱP:y#ӿ%AUif )Dp5/Š=.O"9rP {Eu,LPLv4G\Tx̴C V Hj  '=])@2xL{dU`]ph{=";J Lþ );e*HqEUGki_*'4,A K.: bN ;JT`)^eݤ;cZu)R~\M}gug(~wGfXX`2t0hW'eL|R’߹Ҍ@Pk[(r{=v|{:SOX%HaƢ0&0O:B\ؖ8(c TVJ/K[I*RSXSR3UM@K7 GD)7Ɣ*W/-<[1ù f Xٷdl;2zue띃zɅ] mY7肩VdZH$CB {Sԓ|՜={_%U&To2v $Pj:b`LWIjsDѳˬzdć+q?M(In*f4.NW|ӃhAғ#Y XG rV][NDGŜ]B9h&YM Ũӱbg 1QRUv4^Q^P+HoCK"UcJ9.g{,e<؀ɀaUeGtr#:-GW2M~Vb"i"f0d@F ӛx(^D&$!,H&]46sHd9܊;hf>4=A0~޼u wAFCf˚NK;fATR(3*5yՋWWo:24c;K7zw ꡸q$(9w mRKK1h P,`[;*BˑC],XS{b!@QP(SbY%BcCI;nցA y>J38,Cqȡռ E5YA E`PcŝQ(tD Pr }Y,ytŝ" KNަPF?z]' ZkwE "ۣ,QQ6r5mݏr0;•Dռ@ IP9Hϕ){ "$R"[{ B"1 %PQ)LVX$!yX$ z C "*b-%˘Y QI#ם$zRӼyJ'D1{7rM's'"ZjM}b]ؒYE? "{Gui^GH6AbUYN'>H:P>tB ž hIDAT-~ gW"k d"ԃW{ _ |/?3v~}ws>?W'ݿO:S>]"V,-q) ۢP(&![IENDB`PU @@=~xUPNG  IHDRw=qIDATHϋUǿGK6f""9IAaeY  Bt%^QP$bDDC0Qv]q6q~<0;;LQ]>G[{ɓO \ADz"ebX$/DyqJ >;v"8s恿_W}Q,>>}VI7n|xރ~|t4tNܭ8Bnl?^>A;UcVj _]T~"ok7YqP9sf*eQFѷ,̤ ٹ(ѤYasZ5grxUP3|D~8C|k\y0PrFx0*"ªH}*B5tEiEOD`Edk'Xl-$|.~Q`? WWW/.677H]充 J4]3@Ǜ7(zSUSVk-U5c~Gyz 1:*A|yC-xl4pt97G$oE"PNS28c U`ʘ2D1kC@6Eba`U~|OvrD3ph΄jL&"PDsg*rp~ni4I`i?rBtyC٤ 4y=n4V8bV7[B& %`h͝,:8'RP{$^`KcU2OƘSBr19cP*^+ Ext~~|׫}an B /=2IENDB`;`J(IDAT8͓]lSuƟ9sڞ~Ӯk0brЄ bf q1J4b%#I;1u]ڱ ''yrCTOJ _J:]He.M!Tr'}a_o6djZ#pq ɣDriN}|CڞcYEZ R9 ]#'DVxHp? 9/6:thq(f>\Pm>D"u` Sd72{GGޮg850p3 ab̻-O*p}/.)I_=}sM~?Tam`{]dN^RJޏ 6WyhmP Y)0quR"!clI7o9<W@~gp &Y`Ѭ(ϰ,ZY+'v5m c1h2D;m 4j F;ܡq<cvvdLǏ)L=OUln,v ߻n LZ3QQApm]<27bߐ`9O#+(VpIBw۠sܿgtoocݱsh^ C"D9WMޞ̝>z"t,5=B}C YN(dfear:`eCjƃ]Ywʼl%7m Sד,M ?ǭO4j+f\ any;uv>twE7~Xs/y+GJW^h-}lfEuS*f!.J(~X%Pl//~.;2hxPNG  IHDR bKGD pHYs  tIME +$.Zuw֙qfsad'~O98 ե%ho_|O{{W.0gF=' GRA)4BRsR8X8;f 45Q_4h)B"RlCIY\WlѨOꐿ14-%i-40wPm[(eaM²X %T|Kc.G4SrB(ĉjcb` 4hM;ŞܨiCACEcf\?HDD@4"jh $9'=hn:%8R 4:ls&풪qLsCZWdˏm}Y S3] rerd75f&Zj(]D1GZkt`N2)̭[N>@+ɤGrYJb1^ᇭ[9S^M qTcAu}s>Jbf+E&Y'x(B1}:S&+83W#lk;!TQNdD",eB 8r9:;;qMIVa~>Å޷z:fZLDkM\}|G;Ϙy6n|2W0UnbFj6;P!p(%(.qX[C+N5`#<£b+%ɖ!ij>s|)`(]6ͼɺ ֎pl9Lofe |h.ܖ!R +y(tn.Ҋzd3>x&n+xal%oqye{_wY'z{{y- ~`/[#&;rl\x˫? /[<-Z+aZ6 &3s(;2j„VhIENDB`X 1fxPNG  IHDRw=bKGD pHYs  tIME 7 G*rIDATHU]HSa~al;;ڦGfsE ] !(Q.v;)Ќ ~̛ %".2b*nja -vs6ξJŸ.|{{A0<uRLftm/rqؼ׭ҙ&&s}!;oOOh4,ᑄu("ci g/։kϑJ}wg?`dY{Qʢg 6mBkͦ= dI7iM+Ǚ_Vbƭ^B^-߱\9;'OsגdjmlhO&[rɧ}&b.}0-vSPYfp͍ϟ5&9o|J䁄_YE^2)^p5V1a3.n$E'ba.PqG-k7 Ҿ|yo31-~jQ1J]v˖mN<剛N來29?sR6+ޜ,TW'*,~dz[>f8r>N./+wƮ^~!u٬㢸0-87Ff7^͜3ŵ~}=96UÝ83o7>nqu[;tqq梸pP%aj7g+恡{vܑjxB(3`2t Ksu,K_,+Z^ +cN'c:DJF#HӔx-Ou_S+W mذe)D n1u O[YWRJtwgZ+ΤҾ!kɩsIiej.Kl֊ Zᶚ8GuX*U*n5ulhoIENDB`m_ 66>xTPNG  IHDRw=bKGD pHYs.#.#x?vtIME  !ȴL8IDATHUe@73}nwRj[imI`UB01&0&QQH !F&P4 Эm}{}̝$D?pr~8Ͻq5V!Rk!R t"Сq(t$  LŚ "cmW/Mx[{ %-W d/ I/r ߠ٨3|?_!Ja ؀)sSF5aB5'[Dnjg٣_\8J6( ʐٰ|[2LAH) F,#4f5Y8k>֬4B4R!QQ*&_AJGH-|_H%4+H/1AjR!9N]*7 H"bZ`y'1 h e%vz=:zUm~ Z|ho!!€V veƘ&A[Ȕ2HGJ2mXPtu4-t֚ǎj M!K҂DV# A4Q22X,[A 7\^8F"gr6t|WhC!W--0ؕ'o zؙ2ԷсNRzzx_Pvk7fdtCm:3g. PP4߲nۃ89*<[ X8w|{<5!x<زeV ^.+RDQ(\D*Rp:^6FcIe; v*+_(q= i ,ƭV\*( @ x PNG  IHDRw=bKGD pHYs  tIME 8 nIDATHU]HSa~ώvs[.("#ZL( !ћ.]$!UKAX D&dӛ( E9wv"qNo"|/}حJ ]]]Sd2=\%8&ZZZڿsd Bn{ezz<ϹḨSFJ`3a`nnV"Pu- z6If~!yB9 \.wW_Y-;P ˭lh  *hpp0zvLF'h4`0aR)NUՒF}]z#, V+'I!0L`Yattey+SH<((uR 4 ؒwV^i"#&3M2^P1l_+zӨL%N|2 16]63UPat:կIT&*]yW" mScs Jkm2 YEnA,WZ$~%""bPτ+IU2Vc ZO@_\/Nh`-YbʕQ7f?*YRN Y>ܽYOAD1 g_Wڕ()w?}Lެ+i0E3Ik{'ËRJa*f ;tTfG3~f5{Bo+8msf^J`ht6΍;Sú=?za1o?0$"cLw=ɈUJrI~m[w~iO~w~%z""QJ@؃`b&"U sj'-'*tIENDB`˯@ pdx"PNG  IHDRo pHYs  tIME  #O41|IDAT8=KoYSꛯ#ac!240 $4Â#! H؂ Q2d8'nw{uUzR=z~hO28C@D@@L\tEWc+un0dD$y/LNl0HĤ@T;'_~C[ /K;Y1|(W.t]\2$/)g8Im,'രr|v3 KSGk RP( $"OHɲ SGFãA eZ+d8!2+{DKpI}J&1=OuREМ,R{Cu\,##{^F7*hsfױI/)S0TN"?ѓZ9R r(L0JG)yll-rev5AΌ}jrt0c6F#!>fs!eJbMr *2 '/8=U*aʡ)?0ݹPgk#4l4ZGb Q({2vw;R lȱL s;W:@)x>:3\)S s0ZQ 2^Oޖ9R4#*](koM·w(r csT[dasYHl^ff˻wlD3,cc/3P*"^09[ZEfw?WޤPڠ ghx~xri֟gF9<6$EV3֠g{oU.%" -Vwx泜9n.A)aIi݄a_:}W95HE޿{fo_+#"8ݟ} k%p)l9񝳿+|/~E]{c*Gs9JzRXLpI埙W':`,4uIENDB`o<' :::xxXPNG  IHDRw=bKGD pHYs  tIME +: 4IDATHuoge{f*(("|tn=@ݓx"UMl}N?gFiƽѴ{8:vq7o7pM~tCSK YtgqatMCcagRe((?oE^<\'T2@al02hx sb``p  $RlI. Ap品" 0kH{+m.n~cڪc;B%%y% E%) % | <.!N՝ вaS55=1Irf/ xǡ8%K*^_L9Ugo?QRJg4tU[sBOgRZXpuiZn L;J5UfieU$έ~55I7e$ܜw)MTck쎓jpi  ??^s$鑝֙~sL}3 lGV h(xaghgd%5v]R#_O$K=GC{rxN b Asc [vitǫy|]j宆 ۂcS&\'IJYIENDB`h2, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 30k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 4õ:IDATHϏU?Uv! f w%HBcHƄOML7ɓG/&F$\G4ȮeXaggz3 \E\^=3<Ӛ7p{8Z)BD]tcG _U5Zy瘞+~ A?t~bv䣝Jy毝T6L$#ñRlk%$Bb+ cֆ}Fz뫀 a" leB́J͂~߫FI|HX?1%ӧOyaߡ"+~{נ?JY>q쮼$xfvyoEcOG`͖e{'ʈu;;IENDB`n U$ LxnPNG  IHDRw=bKGD pHYs  tIME 6 [͌IDATHǕoTUk}ҡR I* >Bb˫_Oň6 wxwPNG  IHDRw=bKGD pHYs  tIME 9IDATH[lTU3眹0e:LW@B[J*5 2x{PNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A18iEUcP@A!⃉@L$@AA -Zzaҹ3shFB؏k׆n=ڤ凪습En_)2~gPby˴Ɯr>zG@2i%%r0gqH;5 U'EB }igвOa[FN!,K`SCD+חdS+[Le3[0]3L2N soHx:a;t_k`_74Z>cFo[0/|ެм%O$ %eo:}&'J4E Oj:6vzSIp";Edb]]75;0Ny%n=d`9EliU)"V4^w M*#5 P\*r\윎 Kp5Rt`o4d;-iI%i;mSfqm ^8{*k<~XOuOЅ˧7A k`lq"">_,cobv._5A5(dD,Y?F躪{u˯)ZSuZV=aZ@0,t٣}-!ݫ8K{7q㶄W|$[baچ״ 󅚣z8H0(na3A1NTT"ni㖛=aնl humx^Y@b*IƑ#tWqhC$RlB,; QZ_yv.UȔ - ?Y*y}fAɖNle67O @|^5?OF$?HiԖJB g'-='W$@@F,vU.)Ǫ& w>n_@MSy#O?MLUql44w'7ݟyo<k;> OIENDB`j] 7J4 FD[oQL[9콗 V2g}k#߻H#N+9n]SL#̇ ̤bb$g18)$xL!D%*‚* ^1^-0>*aIZѨ"ؼCo7|2%]RUy6,gGBz{W5+vb+ynJ[h6,]V\' y@}ESφWA0et&;vᝍͫh!R: gKȣ>(;ish־ď*sF.##1 PM&Jl)[3{ ^?ԧ! l~gvȠưGDzaFoZO#mO0Pyt}=Tqn}?9\od8/bj˩&YH1+FlTA'jLj @Dl"E|Bvɕ#~w笡9jU5נ>؞U *Nl?E=eU.2s;%TF<,iMhNdhзmJV^WNTS:qliYYSo̎e.;L*1Bz/?qڇgDUf t'p3l$Pb,P|GhťQΧrAckW = "NC>@p3 @d~CTOK+- .4'gOA`g |{\hj p{Վw#`]aŒ6_tsTE@ǖɪJ*61 `E0y~?:tj-SJO/fǮuRսZ B/ * ˅[FR#㱝jgΧWϿ/Dd ]jclSR/ W{wW5ov|0I#f85ydCL!?`AߧIENDB`ႌxXX6I=9ֲ5@0%#K9?CM/ Å.g^+yl̹7+RIq\y`rJ?V.8X)t}ƪ_B]3̷D/o7$͘It5ǵse3YX4'(uHÞFxk5#x" dBK7쫇9pzbPN @@#h|(ϝ0w~Ѭ̈́pfdQ 1dܑDw 5zFWLOVF  IXdu2]8Q0됞 ! odF 7H ZmCHe5*U W7`'0o½` ބ:xIlvp"̨Xdߋ&M=?'ۏDZEjDvQ<DEDF-=/q3UмLPge CAX 8j4, Vf ݻLeXw YalHEO4݆!NbZ=:A.~Z߮7] DGO4bcL4hJ.G۫c s7+.2^Β@ @9kI6PVHC^(Qjm2\p (@3]K ;. "[#f5>ЭczzB@ TE'Ӟ$t F Ƃ8&H*8IENDB`, Z 8GxGPNG  IHDRw=IDATHeklof/.k|0m_(. RF*jB#@5!@B88JJ J@15$zsc]ᕎfy3 "ᘣMPr-O;S`j5ŬRT|w{[߫r;iG/x<{<#DUר=l~&?/-P뿚j:i)(ò.7/X+c<hȆV;37VzqVn2W.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGDC pHYs  ~tIME->7IDAT8퓽Q][k[y^D<Pid#{! 83'ߙɘ$BdT^rvvoAeTsY2@,0KI QqHx =$bp#e4J<]%Q;fvo}IENDB`ܿ~y XX4 x zPNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"9=ϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ֙͢5=12כ߷`ZxZ,eIZYnZ9YXUZ]F%ֻNNgðɶۮm}agbgŮ}}= Z~sr:V:ޚΜ?}/gX3)iSGggs󈋉K.>.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڤUMO@}NZޑ8?GqoRq|#RB(}'ƁHid%yV"qeesa10unTy_dLlmm]MNNrx"xApQ011{S,.,wogg__[[E1ƃ$7555bQ%LY{a*́mt<QIvJ;x=dC;h̷-p8@p5}FS6iȩ@V;Nozff3f{r f~y ,,!+YDACR eY}(ʾw@Dʣ(`ݣR@  6& (=n6 }l9d_P#clll$Š@e(Yaj8?B(O0E^L VW?!61nnnpռ*nq܊_t:|!wfzHqzR&Zu]oowVN|߷ϫUhHSD̓>Y|>__m4v}-ЏM&IENDB`jo~ " xPNG  IHDRw=IDATHMlTU}̛ymiiPZ)k qE;Ibjܸpi\1`Bt!+ \`E\BaJeڙS/=JDx9~w{;\d2'vbճ=QJ)dYnܸm?߀}}}/_w]۷o H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bb<lK\<\䎎O.~on}|Сɓ'===A&N|T5ۿ3::::88(G9_M#":u ٷoijP:}Ҷo !qTL="[Zk,Kc_X*sJŒDQ$Q)E1E,bHEDq\X5u]r3qE!A9` *,[nwwRs V3t=zEZ۶ήLytvv5voM=U<JSS6jkkd6H)E&Ak8LLܧX,nV c/sE-"LRcfS\B)¶l2c6֚8 ,1sbq]^#5I䅢B *&T*EcW+͍WyXw\.(x Fؼa?&S\gbb֖(;v{9rco,n]" ˉ"Ɏ)n6Y.gNx"!RdViknEooR?ƛsaml槳 y!$8}4um,es:lA%@gaÊ0D3e BcJ?sJy"S4~%Slڌ8XxW{لm "=▐U+VR'k"P}ytW6pBoqjH$<c0ڠT'̣{LMe΢}O¢ΥV>?EP\.S.@ eD `>KBl~%Q6rq"/؎Z"D#FhMFa8 lE짒U-x,v]SJI("@2B "8#cٴi{}y}TIENDB`D/a^B!@ w0 %xﰒ:&G%%iO?/!%IN* }Nw| ɫ60.*pQBU̒va$ ڨGcS#@Jz&cz8DK&)Rx;UVLRąOeQ_߆eY{thV B+ja."H}FAZ%j>|89gNaV 酐ct:ݮR1 @:X"$oCo&R%\Z Llchnb_QgskF8rH*ONdI/iw[L6 ۶}ǎ"O (oǬnB&yXA@)%~"֎:&"<Ї4 Rh,l;٨kY --f- fYf +GсTd1`L"}unĉi.34NplH9I\" eRھB_N1m7v>G}e70m6oyt2c#4HIcSdm8Z 2e[bgDB!kh> $Ku>7wB>pǞ"{'m 4Isk)\iGvꃌo?>mH1eFNJ*CC#] :gh4Xɗ\vn*1%F9i3w!t[FZCaŋ1j+ #ʓD29pK ]w@G+iy! qzIc%X6r; ;q:?Sݿ Ws?,M[!z..S]%w8pu5WۋyQ`8iIK2TAkIu=RϖVTRO(D޼q^najjz{'_ǏGo>KJ KQwIkŲ1o",{W1Yw3՘k.̱u| }{RtЗS.sS)* /EA si8yhc I6qJ% `JRaa~ѨשTٱsbsQأT*1888y(I<`)^<]ߧT][+x9t/x_}WۑD 錋mKl'oC_Y<:Q 1^'{kqkr#GtMxHiaFkzW+_KY!z;IENDB`wn - x sb``p  $RAN ɼrؒ]'E8 <"Aa%wDdE,q(qM+ap.JM,IMQ(,Pp o*qj#_OV8bywu Ʉl?7ֿ^uDÉ0iyο;u g4/ Wepwç?{>[9O֑d{a㑬fh6+OwLʁu׵"ؘ%:Lۘλ. o5nxFNw[5fۿueE_d;k\O -p Q~Sn`Ns듀^etsYxZSs% LlLlĶdbLl۶m۶m'7~?bQ]_:\,,@U@ ?Аy~hVRDDAށHJDDJ 7x7 PNG  IHDR szzbKGD pHYs  tIME hIDATXՖ[]Uk>\i3LK˔jTbb$iL$`4&%A/<`"|A*H` "PJT Lι̙s^ˇ)#xO앵w_}>1AB^_ !BJ$ J)>i̯uHH0 䑖Cp€k *9CةUD/\pAEpVvH" էVA!k ' Q`1P$Ua%(̅"´"Uu8oJ}y3WOD<YԺNTA/c 6X6c| }9dhWzA6qq"eWM0ALI=Q߆܍4ī(n s~#'J!'%&cܔ+R._@̒9n"JoCOKdpy.hpH :`}u~zF8*iDm]Պ͐.[>¸ʌnfAB?̝|Z*QRTS"ڨpXr_fFM)VaVQG+!$X`2 ^ __l_fPWx\x\\8t];g?aMMT-(L>ƹXh^|.ܪ^]ڞzj8Nff<Ɲ2&o̢Ya23}9 )!!]My}xuοF0k0Btb(6hNHx~ axMBD>7c-sڌy l -w) YY]d_7= 6BKt7t*j &eG JՑyw}lyT;ϦU_*+%6b.hd0GCkC|Π6,YG*).5['39nlqޜi ǁD XǥvrhAb=mҼ 'j/<>"!#,0J4 rj+;Ut\IYIYJ)M4f44G'#7M `&_ e4XmݒZK,fop5Hz:F*c3*u[-GLZL6|)h(>Xyl=(.&'OxfN}UWSlny="c&]u5Ӹ[w<-lvnIz{A^Zl6*GHr;god^g5;hQ#-:T8˟Mk}Yu+=*×ie:4veU˦; H<,5)#LU6tm?u9<6[ej$|%k/M5.Or<~V}Ϋݷ#Wvxmϯ_1`odt=ck?{6.ޑ.Ml^ f5naBs~C$$IIc qpLfKJf'|~<.+Ow>df5>"g{k<n+kGIG fg6}nn;vG )?ߍGKߟ \%(%4?ARC_ddaBHɉAmBDDa8RB*Wu&;@tʝ̝FC~2e&zB rDtuݱC~epBM|\0 ӳԫؽۣ)a\PH$w|tWxڙ!¯ ?Vm6Ԋ ] vtED_ۭo\ oֶ>o5o8S#PI$ ]`LW Omķiݫ[O;g;l {FYꊈ Þݔ37`ت+{7$}wKz2zc7WS1=Hp[s{cglsWx{'N߅j]*ԷH7+AQO!fy ^7Z.RwC;庶tӓVѭ?⑚e-dW=- @uw8L#%wɯuž;- DEU,NP&igC{AcǾ%ree2kOpŽ<(ܜWC,Qt ZD$|ǿMjP3ˡB7SQQ@EF-Xjl$o\ B.6d4\@9åq%2NW9p~G1>b ܅daUUk_ i쥹[#QOm/J +kaS=QVIn rZ{XYVPy!#^3g̱a4RHšnokA"ɣa0BUJ݂ jCzte&0E ~˩LzaEWjKΞ1Ճ˘qd NǏ=CVZR#./yI.3;DZNX.3n.D]gXpuD)hPt;# iF8Hq7hOёE4=1;N;R25>q7 5gw9 PGy9|0=4*X5*?w7FB:FH2P:R+UfzN L0jLwNmV f%9/ N{vRbΚ_V.&aR ڰ(4{A8 ܨ_*1 % 6STgn\{1S_.;HYChh)Eqv۝^>%}.{g>m +x`e/hmJ#% vг"{ނbqf&R9~ٽo+?6A߼uֻ֫z[x[ oDN@,9jfǒa;ToY$<'ǨH0.wlVۣuӄ& j~3=_8tR,}dg4w|q@8Ph&rU{ȥkpZwOwPG?Fq<1 ortNdDGs蹲U9 v]Ӣ^2XYr-K*Tk,R`;6zto,p2>}Ժ4}J/nY=>qdDwKmmG 4|6Ky.O$U "Ekl2ۛdKUprQHjUBP qA5T[%2Xb1bpVJ$ʞ9/j,l[vn`va+FDn cQwhXŲ#؈Ffvwd4S{'f3/θϢ~s Qtr6;4){f8 t"*[5(_XkoU#R+ZmS dSTАN$NS^aWV@rKku$1 VDzI O\gJjk[Ac3 >nvͳB',"NkSLג@/4Q,Jx妈"KOEI4:`(^3Au7 eB ~C۸q)͎Ϙ#axJܔ3ukiMeS+Ыf Gk|<)?|?fO|B!njh|nVJ3b9O}hf nGm~<^33u~r>/v2rEq!TֹL[@BcjN@ڣkK{s'Y;UEr.![] " Ehv!:񗃛 /%"ð ͸ L|FP'%=#ʂ~{sHV |B8ꞻkڢ8gb| UOY\UOP*_-A G8DiZ VU:R}O5 Yt{xG~ޙysl3p n>P園iq0/EJu(0b1a(bjF@Go[Gn+yLEVZ.lܔ=:h5e څӂ)›;В7 #G_#s"^Q8d";ljWv>9ZŠLG.B# E4*ZR"3#CjbQ _͖ Ǻb"{/ A揮/O0-xuWnFɕ:9ha:R-H(03ynHY =~\Hٶ"1 :C HHT. 4wE!E y 7c67s|Q{o!gJ[tJs>xy'[,}.2ΐZW.S*O^?̣#fG-eVAOrht mC\4D p ֚5xս(J4"pIL̈p0L`{ɱܮm$ CB,b]{!-1YѦ#ZyBJ*y(?6= ,Vּwh\vgc8"'lrcTϗ(Q jSlRn q_󔆫#z6F^Uh.snkm?"#TGyZ;0/ۧItΙMz kCdIGX;i,ws=YMSBYgj[s 9BJAy*=3ەkd|xX0 g _pRg@zo!fm\0,zeJF(~Q W\k}kF{ V1C- bY07.AД *4Etɧ=xBP|8],`5:Sl )hPi[Y3dɛ{aKcɼ,ۊjHTzCR쳋H_Y m\M/&RjVD뷙کRD# K16y^pPzxF.cY}k`}ټޠFE<0w=]awNL]6z 2['Pvnd#pɕzeb'<|~ ,pP +eӎFij\D #q eua,ZX_#/Fe[I2^oJC4N-lǠ7ph^I$V4tέ!-Xv5-5(k.Z2pJpttfG.ye8Ts;g$w6 g;%5NU | "ܾҀY-#s%~"n!#~S+2-lVn604^@ڈֈ81`m"D`,UpP{5QM%K1.l{M0^l2ұ3,aӀ0> à+PCg-Ռˇb0 ZO#jƨSv;e PB5X;4]ijUfsMYwXyE͐U0hQBmý!Y+b7*m ˔p :Ow]s2nuXtK+^Y@ToSg}+"=[bQ.ie"T,/Qo[O-:Eڛ;\5׻]s"G~_S=>Cg]/;;NH߅Y~N7,Uuw(4B+C>W6 _kxrro7[mJ׺\j7TNR߸u P΅ O 89p@ AN$_LA~?T0vy|}w+C'F Iyfgj$6@& ybL;#7\!>:vݳTA +G*k󗚽r]tuz?bbV*n~5Yapw<2?U! %yA 6 IABS;:\N&tKTCqbYxkhxcZ2tv[GQ6[`P%pVp)s.Sm[]#S{$y ;uj;>C]`Ɩָ5: ;gcfsG/g;r䍞b4ؽb`nH7qo]w5nCO2\WWlX j=5:W9\SY9fޚ'QlgADNF}0 䤔Sb1 g,6$ \fQ/x(BȖro_KH郮#dfjR})ULkQZ *PKUk~Ղc,lcS43>  (:uk=)_'fHC o7kӟWbz\̝}қnnfϺsW&d]x~6bc#gaJt9S|n¯. S7~紷0v%B9E5ȢwR'Q[7(i qAe/fq_t-D*_qm7XJF\ uyZ|qY2%硃Q=v`=L&+l(F%3l*yFXr4#XK/mgXbVC_](k:+^-C'RpoXkJY2̣·^xaxPIHƀUb1A\F5U|Zb24V1/ޘ_~ۊb Ȗy b!VPQ H}gY j[#n$Uvh~O5pCήy4TCS3'D 9Qk{]fN;;:v~ta0uohu>b/aoJDIݸ2+dixNWOw>"u]۽l7 ^׭ҩjstLx/eôxXPknȂ2e5կiolkl;` #Ov[Яps6RAl{)*J~ٽ,KZdd}!q9EƘ"xNc"2 :K 4ӯ_/5HZƒ P7`:?0% '${-:Iʨ./]IʆAEIzͿY!ջ[xG?c&DqH7l}%ӯEڭ%gEe3x{5lmvA'w@X<2l[!tWBźEp:&\Yv1TaT+&XG3pi8#U%wLc_KI7:bI85t703%YjFK)!2{BE}f4Lc֯b֞]){5NC;Imx2r0I>u"]ujSQ[|V>lGBX+o'IL|`liq$g@n*VXK[k}5LaqrZ eN3swg0^hZwNj70ɴg 4ozI֥qYQCA]Yd<Y>4y%2|N?$ĸ-7LpV,(X~ ጢ<-* C]%Fe=840Ȓ VӠ|ܵy: n٧QXƟ Z:Cc[S/ yBCV`V{(Z>fߜe09,wqjsZ&ÝC:Q|)9e(>ߵ?,wjU:3:s1ԋ"7g:ߎ'E<) |Lȶ9v S6S2wj)a_G猥 ܒKT3nnHx*h2@qZyY4)PnaM*-w7WK%ڎ,ξ'JjfkA&meI?8,v&wyexZk-@rg-\mgּo1,PoEDQaM@HqFb5X6&0m00o6uAIIJ}NNΛwѿxGmu_Q*3ƼO/:ԣzoX"nc>Kp֧< ^* MIo|*xpޮj~'~nN |7Men4alBfr0v y.DcxͨU%u1AÐAmG@^R)X DF\iQ MM2?W**-Z|dIzZS X.<'TbF(jlFULcRH8AwE>,@bxDi!1)D ȸ1uc%*eRVycYƵpD?Р-aj5j -j>r]{1snǫzqP'|xo8QhJ#ڜ*j$e{x=P":h!sB]D1;1q/ŲhQk%ڞ9Z>L#q0 "ZWFiV(QbxD'h/ص#bbft>._ ~A3+z29Tobyu;6E``;(9]5"p,BdGUL0v@[ :oni. ,|ێ$T@#hzE(ڀyX FS5kH$ԽeCn9#Eȝ0["f+Qi*Sbmo nM'DR3'Ĵ|; o"9x+{gOL7F::fN~'ڬٴ jv*7 WKlSMNwU˅k~1s=Knьeeic;V y1[-ξ@B],l"W!vM;[!8ŵln<.} ų64([|]2/ܽ|"+*)sPؙvfY+ZF=tQ Mw9AQk^#B*@ kbge1Y9hjtQZ:21Cr8ZAs’V*^w(KATp٤#$Y  *]LӍi]}u_s-OH-ԷCS+XE/l5+m#.Zbs0_V5XttzzL?^4PA# $fNIH=5sFb15iΔ]GWExg$DFc./;2%$ò?#|WӏL-v4%9}89EU3H{-뀞Z#$ ueVͷWQEI--Մ"¯yyYSEэк\ω4DKT. q'&-P"AG(e?)KGa[aK SRE.CFQqDžsRO% |xo{!|4`(8LJ yD2uZ28y>r?E[=BIM3k3 P|i04sy`ot{-P9商v2Ivdr;*K6h&'8y}tfbygvGqriմh7av>d6d8,6h^_6{BpLd FחOb~<Kd:PP-Ce!+Yp'Mjr}3D+r:.'jri|[L7br$(%pM:hK"T-ŭrzg #k6p-YMXw!J/EƼ'DNw(m:UIљJ\@be@vs! |esެVk`R-"hF((Z^ܱƷm&>ի>R4Ϭ_45C'm˕njqP^>el\଴ 6$;x"̞sHi3gl-3R53U.w/Fc$%fa|FUn -fT ='cWZcenGV ok܇ocD[:'ċtJi1VԱvN,BdžˈtROoRֻܐюU;o  ў/`D6B,X.B1¡JzE$#luʭ*,Q;`thXRʘ=h࢟hrj9„$ltTfyНI@QRtzPKD&vѬ#>ӥ ~wo_,;ٴuNiatRm[ka ~Z&/HYW%OgQA,W[OeP.$.F< @1<brgGxޔ]Wѣ^K-Zr$5@yT".#6+єDwK66p>ܶ)\~9Abߚ> ~?8|2=Nh J>oiRJ8 }&EЪDMiEނ;K8llAw@,VwںΔreVRI:#SSGqPmB^G&1 fܱGM fC0eU.׼*σkJmBIHfiw,_<6SΣqSd/fchFJ7X{>pu<U/4st%USrQd9~j+$@S@UyZ%p+CVimp |@khkh+ {3nD1y2$IF`|FzӦƞG!W$UNunh\Ъ2UI3\ڷӟC.]S {|_\ڏަ!e@[@4 /!x4H PƶT{v"T:}3e$u=M 3Z(W0 @PK C2Evm/8G8@g2tH>_}!>c|Gq_oقūh61c}2OVuq|LSzV:#i>CoʕJnߤj|ϲw1{*hi;ȸ]cױx^Z9sB==@$R'"ZiYBOܥ~Mƀk9>Rs%znLbM]) W ,1ASSTU%=brHuΥ1meǑ`k$e彚 MGgpk o XӇk+O:` ckk1/}FGG{TR#%*$ F^#`'8ŕ12?[U:L`ҧ=&ZBkE$Kf?=G,/ŋgƝ)'V?Js w/Wm<2kc;yv[Pw'?va\=3_8֟`+ ~Rb;1,2"/̶&m~.?[lK]s2a$u|04Oھ&Ji`fPFEܨx'hW;UjO>$玽̎fc U0(RXS_Hه4E꒘L*LĝOJ׵S3O?Q ܄V00xgoE_EQ2acQOuEzQ$ٞP$Ρ!\Z[9y>]aQZ45rR8J>MK!3*՚1 jO2GZX3Q(S|Ԭ oRЬu@ГΚ!嗨h+P'4Ln6*,EOw'?΂#gzh+K7Ì-+\_ڂs<>"sKξ2ˉsa}L;gP2խUkS廹>fLf8RU|RKnlI:|.7E" >>u#<7 s7mZ߇8<=4^kgG-M(iCz|݉5R5VDj@Xr æy uQu6#ufJt踺ko}8LG:3sd7mO)%i"%Cj Bp^re6h #bX4'}9O+]k Ɍ. Z* %%P7EkMpt2<G8u\ebt/?l}Cq^..1~/v8w`m\|/}V 2ʹc/pr-oi^}髴W63}#,,ʒ9;hw)u#0|(BMMNa6ɤvWJ^Viv{mi1sa\bh##[9=(CT\wlg`mͰi3"S U+2sdw-1;XX??`bX;˺Ĭ!V]_7Fꐰ<(ƚF*5!'tUUUuJsW|7ntQN}%y Wwyk4 AyyJu/'-fy ^gH74fjYJX%(iZ4 PQ7Vl})4):)E_r@D,ZE4}IEcEqx\1bSԝR +`T1.zk5?R6TBƂ&K,CG7ƶRXfzXX'rE+YojG6 n if|jڋi3/?p;';q?]l߳׏{'[_#;-5QЩ=ٗ 8ۙ` IDATԩȺa;б N3 a-\7*ֵMxRoqri.Ӷ0!IP%KS ֺ 7<=̊92dYCa C*<1|`cc?r?[ WǛo2<}a,%VuEI#jjX0/h_"WRX d&AKZ<\kV9nͳ8ߘl7Ot߾ޟ[ gro. =Do=12^H٩>#AJw"2Zv~iui%gGSJu|gBiUUe$ǘ.wiՉ2n?=ҧzAb c%CD)R HNJS¦(k9ghu*AGV7Zv."SnRvSY\k,[/Y  u su&iV$%58 3iG\?EeDҋ*RB.=D>/!ӰN+,BM1#>@^97x8\r SB)A|)-9 Bi3EulSQ˸EIbۛ!u֒XAVr:Otj vA HIN=n'`4d{JҨ/^hl@Ņ _F93=@uq3?Ɵ#w3xKk|9<78u/=]ҵ&(V&’2:6B,Z4E{)DžRl ݲ\mD)ԣ2]J$cǤ䭠`%otS`! O{mAAnjzB%t6#Rڹ s\{ނ 4}wP՛=@4@ VQx7e!׺~VE<ݵڻUgʬǨ h-:7 n# Z: lKJkgdDX r_@*D&M!ogz}N!oA)JϮU3QʟE&6iR ǖ_g"B.>NT~}jűۘoGjy/?S?A~g/lF|^f;ÙDܚ%H#b,~ Bl2B]e$9tLƋgda:NZ)L3t^J#\N?)IFH%*D}! RkD¿Bv1}9۶^S.سq>|ۣ,FOKs|/>rOw@1O/>EAUI\_Q\kh[pD%N1bOKAH"ވ=(޲,4dLWd?¸M^ZZ,IJ`ޤw6/Z8{62v>w c:Nc ҁh]y{giY aI:~7pKcfHb\HBAa[Al1k%!)P;MT-t@BJI)Xa(& ĴZ{4p煛b ڍb̷-3fpIos$"æu7v;\~8f%ߤfV(%ܻ6&,\JKK5'xݟ&cͱ2J)i^]i//py$nS% s3D"FjxO"{}X]%ogJ2VأjHkSnlhz'OQ k tZzD-^8Iٓ2!zy.Iu~pvӪ8;2m/ ^Q?rY{=M^|鯕WHBvɛL@=Z0tY+pK)퍯a}"A+TCydN616mJ$FI )ڦZ7S~aHcѱY*")2.)E- y3c Mw8A&)2 = $""8vI3Qc 9# Ν5*Vtz+g/UƇs+3^X!IJ%-B}bPgS$-uO T4EZ҉[sJGSg‘Z&@ ِdL;VleRnh 4PPI*}TrS-ywV}2Mvt==3U@6KTۅ5^m 6 {PX 2Aa -3yt|%{{i@ w7|? 3 z"\kRP)Z T.Ph+ H G8B9h㢐BZfS2#ٷqI1&r!A+XMlS4@ WJ!! E6A*$ߝVܷa^߂`yBhh_klƱFY%^~%بpu9_XǴ" ><;EͥyJ9wAU0~0&&-jK" rR;qF0ѼmW qe{8NiGi?~,Hӧ&Ws]XMq6!Hgӓ6MSVGCz%c-$G[gbN 7n! i5K'100 ,{)K"z}Ӟ-?$د^s *i҅ޅf dhs&ԸL6oa7ʴLҤi©4E_GҴB'ɉ)bBQ vUم?>tT6"ef~1TڌD->e֢iX_ftVZK-ff1v-\- X]Y 4i\I%ā"CSvt"z+̍PJAd[Pi23NF#F5uMyz"E2re#n2 , :#< sIj֯{B?\@d0RG1$yJ$17G'I%>ZhpZC!P>ե3ZA "S~p(ORK%;ѣ{^ LiaIFYKQSbӄEn9IL %gF:B hB!n9xaCeB5`'h`(,\^feaJ 239yŹETbJLl"D" E#/[?<X[!/]c<& h˜.H6g_^b=3^:+ɅHiXmJI/r !8CV&Dz}@WxY)-˜/#6&L\\!{c&eX]KT"T?G(U 9Z$P(9QP%E_gOhkԆri;pר$cBWQF̝]#Hmcpw`Yʹ ~M`MxIa'>vf?V%}5`L'ҶӢIV Ul\rteHKJ0A$I֢?$Kk*U)iI. l|GM ×Mي*뱺R]a i6:!i=x?[<ŤߣY VfGCKrg=Lrg~Ȣ}zIN^dd f~c)U/!s3s k䟲q+W8xO k) j]m`/y\yafoG-QKm:"l>]OA$Ylf߾׬wp>%YZfbN_ٿeSh^ z4[d2{LUH8p̱p͍)TWB7[gG९;b&ʺ̇)Թzfrm܆^thړk HfY^DO>G /HrsWvс%YglEWV#X^`'됡8kudk,$B#ʵ}$Ut[D ' {cEXr߂$I;G sm%VgEc=6''uɾ}+g-J4d&Bz@c߶7]KX{W#zz< k@6no$:}`#=TRJD*ƺ4ӡ9(Rs26E hǯ#3R*wHI7BiAD[XmQ"8`HNKGdҷ'++18~ЗK9IA)_&-io3}^9MZsrn l"s<_c烟䪤5ţG$-&& z`;T LE%WgKkX#kJe e~m $hg P6ZkHm 2AgF&ڌmk`e {orâ"։Mֽg h48<>[U|cntqz&K"rsԗ\:hW>xFm$y B R1(Kþ yCAƦmuhJ0LlBԤmR;+-)Tڛ,=s鼙6MM i3$̸Iz;u^e7)>[gypD^OfQBKr2F(Ȅ[/7MvF$ΏZi:)?bP';o(t:lp#Slcў"{<XK /}J&Xs' ET0X0c[ >b>ӧcg>2DZS1I5ڤI yEVNޏ}+Xر&.\ce&`dbԮmb)d27m;ebfJS5OI\ a^"ezP_#?%Ƚ-*#Yo~9th>9JN?+_&_hүH􇷣?{`C~ Wwe n/Á;ΐ+>3//!"(I EH`(7 uIW\ 6׋z.5uެ|tZM&)S┳Eaf?Q zg˄Ba ^+#*$19Y㵳r,[k<ڒӃԓi ںbiJ G (HXZɭnb^˟[mklg3ua2H Ibi[3{]en~w}STÜ;chD~ᛴI{NTlCL1m/r79pN,;FE5jO_>eFTa}<{5ZkjȷA8ʄPhI0!M7i?iLR.=Oh-q߃G8uw/6wh ٺl,!DgH!?N^T1&'S;\SyS:R׉e@xkf(JKDp .Н8?\ZQ%J?3ˑGpo}G"ArՔ72R.-5ܿ{ ?r;Xl:f|ao2q5Ny:iy+ JAXR>Ϸq̫J֧mo]Ҍs-`3|C7/Q#J0/1V:_~*Pn!ؤyG:{Ŗ iZrBw3 }m M3\d)t"9e[~=fz&T66 KWغgkkY\Ж2{yj)\x/q,ܳ}<)FJ WOäEKӀpXQnո&aD,3gY1G[K_>@fY=S÷klw{T~ J71DhaQ>عZ3?7O¾"w`jp 8mCԶY֓6/-v 6?HCE˖T.9TMIPhtƫIzļ5Ƈ֛F:ŪcѡTg R$Q !aPr-㴓J75~M1PTT'j3P M LE Kڎm 4 d !Yg I؁I^r7k9Db /|9r}4fWG P/&GI'_ɩ'KuH)NRR)na`p{&Gk0@z+XjGxRɿ>K1ȶ#ۙ[^aE'_s{v*L_kG8ϩ稔߃uQ5ؐ2+DwN 5}WAg') Dy*9$v IuT T i2RSK96MVZ KjBl҆mKpnqrB:OʒO7ZIx`~WzxE/aV F4J*QoX ?'7 iu6e#|類wʬ׆~1:!:ٲYhH6UnCh?ȑI&s\e`Xy?1-8]oE0?{/?K{4,/ctm[,MFa)Vߣvm9lM}F8pW_8.Usw/h$%׾HM9K3Q}[֟%ncḏ_E$k1/]/?Ɂ16!;"g/>KXR{Ԙ[;H>1ow/f+ː%WB'EX6m׭ENj}ĦU _]` Lޑ"{wU( 0iVBW.R)9)0Y\ܕEN_YcfYڈht@ra*GI|%cse <wLݴt(yS<}"+֩XRmVf:E-*<tZoJ\nK~|$u} 4ZCeqZr2+ukIM܍&?R$c79NLGc7- 2 nvP?bN}'mʑ^`H8:@5o3;]gTeNyҥ5W_kPњ|"u>bKrz]J7du&!mk :z-B ؽ6RJ5TCf곟tw抯<X}-Eհs5V#L-}<B3Y_aԖCDpwʉLQޖqf`Dc-7ǽO.$2,MCnpd8$n4\Mт3&}w+C>M,Z!iM~+&Řyv~Gą*SP@E˘+ L!۶0k iZ[A-TC|ĭEE7F a`{ kK:B}] b4expVkgk|7R?J:q<43;ub|i&k_}JD\'5\biqEtpl1ܢEBmͧ>XjJήy#]/q(YȰXycMcb=Eϓn$<~cEǀiq{e2K-$FX"@%qa0_mZ6$%E!BWaX)BX^RDXC@XeڌSiD=ŞG2Ms -q&r3qf/q~z!̏#UR6DB$vB܁^`a o>RnS:ӴrtV#GkY*8xʩrAuj 3С:t;> HB7,玝f`Or-ŔR>ss,^cbd'3Uv]1*aŰk|7W98_=Ɖ疱MK4#I(`qؿvaA@IƇdj{#?=wľe/OhR̅NYRZEK! R.*CX(ڈ(R))WbBF5A2'iD5G' $ql1Wat`Xv&RQ Urȕˊٶ3Po/B@SQ ֔] XİE 9.,4#Ty|.]WC 颪9)<nlMSlm;0(؃pƽyN\ILaA*퐎)H r]K9Fi:I:VJ=Q6tN$Փͽwo察"_o1rwkm&P˗ɍ yDRMFw2(#*#CQ!-.L[ %sq@TY[O23=Zel\dK߯RطիOR ֫癛]+7(׸{yϫ\``[ga=c|}+'6C}9:ke6r8 /'9KM|%%%( 4ڄJţOqZB&g7Bꔹ+KY!5AI:^$MpyZ ?{ȋ:X7vZLl=Z#{j͚SHiM^lĂCBΛ,FmAF`^)PIXE!ΰ&/H) ʋ*xULlp2JC*tV!,tn`Aa8N5o5C-x)L"7ޡcmH Cc%.·λ7 ~5Ugmxx5^|\YoYkə>v_}-'YN]AJ IDATT.k-~)KIl%1 /}=Z %=hWmpa]rzEVoÌ[P8VR+vBQ$ υyh3qN=ΩCGy/G#:/:mS1mp *?멏hJZl^O-/l'~1}~49h0UN>9ny ~q2ᎳsmWTZLGfX>m΄|\v6!K͈ ;I!w];xb}8|w/cMLLmefǞIʥ!n=#8yt8}jgwחca6]ઉ[{[&o}6=ӸnE6t~yw/|:L*Qee~UA9;/^H6!'86Bc0R*CCf"C6e5q?BDnBIX$52^`i_Au< S$g ^ĦZctŸǑkx# A~V'Ow_7DqFspaCdQs[b6{Jmp4aBf輀PDW܎[*|K;"5rm73xų JG.F.ast=[[xM[=j\Î-3|9uGZzMJjJ27FQifeqM;9WHIn暫ľd# Ge=7\㝼p l%MK?ӉZaJIQ?1J@gh ~JeyŵͶ"ڔg@#5 ld=XL^\ h `-FyiW6ȳ Ok^Egb%h.tGaz{T&o<@A6_\?qs^,Kg@ ׍0$+i0.mr R3ZejdOw?)+L3R]QԐs$y$,qq܈/?Dj W>gjKXϝV_k'WY]1NI☍Vȑ㫔k{ڢsI>p[-/5FwitQ3qABsiX2x=<'f|Je sɿ".1NZ`%Qm,she'>WϾKvUxw+M+ N4e9(\D1_< ɓj5\r:GɰFáQ4aܣd)iclN>Y&Õ0kȬ!"voZ ],rIS앱)Xiw"ݜ8_f2>d_ ~.A$霠>NJcΡgzխeٵt!F7 }!֍Dq7p L(qWsVЅА(j9 " b9ZXV+f)$ P朝F&h\3=缸iu\u\;vj)wBjy1*d h^|ÇF >gOԱofM゚ !ןC'xOα&$.ŭm;ϓ//q>qN>ɧ]7r;~]6[O~|!sqspwpSD8su7132Eux3k˴ ;·}w%_nnWc$f5R +v3,&JC Jg$\0KvqHs\jeE5p);09VU1xœ~9y֣鲼ޥƴMVVVX^p*YȲaէDbݥpN4QnxdaF&9IfVva!lLd~F [⍿?m%2Ne%dnV3e:%o2=bȱ 87Է5׾H23/;~]lJFDdn~+:wA&zZp{L%{V- /⹛YZX!O<ָw;N~'?2Qmk;LN9NKlf>D7 IŒ|Ie|I畩׫kIL *aZĽ(R.zqFP*f]~F:'@fya88tp/nRE s(:_NӔ/7oZJg؁:B*Ͷ)X2 r:UK+h @c!P0Dk/Y?6en&N]$9t">RbYt/b)`v0rMq Ҡj00vX+sGy%h8{h=Dm, y*gn4KpxDu^<:4LKeF P w-<8c*8%(UJn,Gg^"(q_dNv/tBMji$e9'rŦ*,b){yk$9j1Xbc7=fv0:R+o|?D*g|O[}FG!W\,D2Y|sk>fŽ_{}1t $7 ;ؼCb mؙol"\ҝ>z76O?Ȧ}7gӦZ*S_!U`-zw\.no93TGtY@]HLN 3:[~7Y\I:6ɕE'W_Zw/Ix9­W_N-nwhTk#\gN W7tl(*6q*WISV6]MR"X$]"ffR%e;o,֣AݤY#t{օCeΗ o@t1 U8++J`JOXIfFUbq_ET:K}oΓslsź2UI[^X8TIm.Qưdg}~ck2,y2qD\ Gnʖ]'> ot-Yv_{:6|ټHuV "0eoijqמ[#_![ ﻓo~IaJM¢>Jr;[Xe9A@fK䱳Ԇ`q@z__>aR)*nYxO_χoP|6~J)qkj\^zO}1O⢰"Eq2׼RDP哴ϴ6*Y\㹽ᇶM*BK0MsnRxfOIztSn.a&n}oܿc+I. ~P%!QN:ξb׮7f@nriI@ =Óx_wC|o?շ]Oc˱G=V8׉I~A { +:0LFucPeOTJUyاY<@k%rvN?̓? _wKj[9jϞ'oCB[V/unZZZ" bfuK;k|A*Xtn#,-aG88@ Uo/$ oϠ[xi R"3}.5KBH. fp }j #y9C+V#g{26B:2@ہMR(cC),^VŠq29~kI}m=q0I(c)9懮g=FQ%=J%Q? 99Muze)2&VN/>Mdn"j2Qӏ^%$_{as,=ª./~zp:]]GTxxJkuqY9ҡTȶ <.Yfhw+ICgCqq;%WscUڭmS&KS!b KRoV2~7?}w?1Y=.RzNmv3W^?.go݄%D+k!=\{PPJ=?"q8_H#qSrB+srSre)ei"iϫ.Z|GG *q'v2Ra0CV8SJaq\yt {4!Z=q2f9v 1f\G>{ m z~~diK91\AƓ Yl2iأ[&fbd++'-MN:LR)V\N^;9 O;?d1A1xoKt1G46I*KQK˸Ak QY_@^ LR:>IPyN"ᬎ8׉1VmULg[E3+/6GVh=@::LK#۸b&_/efNӗ[|-ަfq9qIZ\R<0㐧%G"yU3p*im~0v(% uƐk'bƜx"(H1XĮX IDAT9۬5v{P9&+`>1/<\q U< 98$ ̠iIW(2A#1jG$8}9lF{1TiCЖ 8sX³ܷ;ʿBaJHܰAۑSM)+>yBfDi7opՖuSRi3uUlD ~Tb9<ؓQɩmבALWiVl垷4w]S yDiA"HGh:y'C)Ee򄹑qУ݋I L2^CSb cJAZKQ*I)adumpڭ;UF)NR. y~+b`HkpukHjR9s梇 28Vl."43ԖfTD QeHJ$J-'W./i89)2BZ.#Jr4 `@Q$΅B;:z CF G?W[0BdEA#bA 1ծ'|aDQZl&sCSQ $qFmN?\NMa'IJ%dG?Gcӛv%Ju::d8Yq%Gс=ב9UJG>NI!#<#d^V$d7q]N3w8NthgpFgxn =.5ˉSxIu}u0ZLj(7j8f{k$F:dZ$Q(DO$dc]j"RqvpK=k6XXo"v_(b<:%ynHkB[yZ, Q =S]~/ZN>MeuZkβv+{qCCfo4&F1ilv ]jXWRAfmF6J E!3(2H"F*p|?/-6E|#=5X3([.(LIV>ky (_vB3kVxuLXzl|/;v:~x|%_% =062-e>kYơ+Q_5$JlŸa13muI.(O>CuZ׿~e~)`dx{̌'lI;_826 s*#1qow Eeqqrm-Pk86#ЙKE܁TNd2'%#$mR8$C F FWi,$qD/pCYs󈪂~q2Ij+&by5-6Tj5|?={|Ͻ;e^69KELjmmIrf^Acr\tP[{-$:H%U:G*P hD%<Ɋ^zV"3 [x0/a*HIM_H~K4P6HC8V/6)k{9mW51wʨ_', sW:#Kf\>rԇH7c+Gnk+|_SSa&nd Q9<"nq]ளT㛀e26Z!.1DUR&h˔_N6IqC34A:I?J@&EKK-CjUNT)K8J#:HW)U4Z\ic"Y_Ŭh[lr(h48{Rw}{~O/`pM%c$'۔DܫrE6+{0pi),Z35~%rGZ%׭+)ǤȊV[9SXS~^^!k*.yL8 R>΀)(KQʠddG QOE {7f \v C\ѧZ .%y,VZ/&A}W>lяsb{fryo0e'{MS+n!nU֓<1Ʊg$ꮓ&1ʩV+:JM9(.3u4 KO_Tyԡ :>H0B8̱^@+r&g\:ʥ.B6ȌG܏q+2JCC̯c!Nz!7P2ViHilwTicr(JcB *^NrW/3ԨgaDDN#Z腮β @J"Ig 53*u|Z*A"+NyN7>gvT9J߽ `xIq&ǘBmdϳSxMN52 Tsr[ l>i 5 -)\oAP9(}D#3sq !tȬ*z8b;&p XTkl, 3k*a=25C}MmͤdC iJ+bS6׽nfzƝ_˗xϗz=HRCP '0iJ^A9 V+1i[lReшq|N;gLVgIDb4%1e5{G,T^dj@0qlR K꒤,iˤIJ6glܣVJA`mTkjÒՕ Ҩ+&j#%QvU8F8@:vLX$sc[u>j^:>Z pl ɵ!3)a!qqUN?'7:E8aDdJHߣq9r,w溂8LMMO~V~޵U8u",4##'qdc,D68t*U'T;=Z#lD=͢s[ncA)(cВMkW*Z#PEG cH5VJ)0"/NF dE R"b ڂ x륯:-J!x2ǯ:la&0 InN!-j31ituHʯabGwT0 q(S8,N1*=o+qjg/E:^׏˧(<"a2 gT)C&pd-(9k zN;VKYZ_bzf^o>ʇnͧ?Q׾y]?eW eRcus3#rV$/7X^YzdRFg(BfѹʼnOi3LLzDHvF@, 䔏^JBg،:qkSA L$0#J|q L4a.}AZsBzfNyN-hQW쩐utiNc%.=\ayt*GWR~=@1(#iXDxt?|Ϗ_&G*C>F(Ł5ؿs IV [P惚_ `3O&RRM30=#~_%(Gc2  堂/`5J<sw=%wr%c5^HbO#-L-3<dKJF+cx%Aa3,YQ&PQ =՘bFJsu 0~Cfcmyg>w佗H5[lyȰlu&Fm4:M?tZn` (AnnZHP+bIc,QH|y c^")ʃ8g~kIӚ>{|Kͷ+̧5O?}`{1YY! oQ|:fB.Ƈ92B/^̧ [_b=ZZ%<bULI=z#/T _~zqOwFxgs׽rc%(ՠ¶ !Øeٲz.A_6_TXΟ~oY9uٛR:WHiښ8vt[;1m\tV}ALu1FـH >q`8r3tA+DW A5oS/C/]\ɯ/&&(qCDSp, :^4 ׺8%)fzxW?b ah+Oo ¤ٹlr_oOжF:ʦfqrȝ;0Bk.8/hQ:DL!@޿& U+|ˠhmZ !o*E͝-m 8XX$ F1HsR6,+b<{j;AcM 7,J.Z{^)HAzZ>qKW_ckt<΁-Fcq:Rr9btXʁqVe.Z/3˝&`8 D=fc䪥Jp0TB*0@IѐIJW8f\9? h謿чdیtz(dqpH'|/}DWHvv6բ VnFL&D,y:UkZuH#e#~ǹ͛OkxbckA!Y6W7ޛEW yR }/ۭKY=FT'6@;<`VȺ)l7Nih FG,t@N kVSV{ )r< s)*XYdCDF)Q,j. \7i[St?uoZo 3| TSϳs\~E~Bޓu; iA"`cIjR)ꓻH{,?-5J t(Zc,. E i,TsWW84@`!kʢvXg1%)wJ-Xc0,vDsy1U B4 &p|<q tdbT"]9JC^))ZjgGXuK4q~ϲ8ؿ{7qH'x+yGw.p3OxPay5c*nLXke Nj4QK1 G2b΃5~u1,@'kjUR-OqMW}SCzKG^6Dq֊K~|g_:goNP:ɴJ?c\b>`׹vYDȲ…l'%ݨB棖Y(ٚU #O A#[xQF.$! SCa $wSt g-bvQhqjM5__nݺSQŨ8ڑz䌫Mߡplx>Wq<|K2ۤN;Bbcss|UaцYpSߞR~_wj>r]"[NI/۞ vLQؙHw-hф~ۂdExqV9ӏKZ“vRNR댣g{3E70 =QpxLy؀S8"g`p4>9g\ /t U3akl`<$#Z$ Ɩh |Zs}6i߳xմυVX,,G6 [8U1m٧%wn~scjB-8G~Y4GHH%CcWmH$\gv;5ZԂzNؿ{L-S4szpm^)W24+W AkǵI)ǣD8Z[SUb֒{x 7A3;FLݲ.3%G¤ϢƘd}AXms=q¦O8w8I+Z6bw)kz.lC4+[ Tm] 㠮 ]Fx}ßg2ĻSx'$%˹/2e(hM%cN%ZOk_,u٠G1O*¨DIЁ`~<'$q!"3zj wKKuX'/ p_4\Ԟk& ĭ4)mgNZ() A@t9.ic?C{'Hz'? gV{cf?@ I[xP=ơ$bd7lY RÌDDRR/JN$ed~BuCF %TMu)tc~灳q&&fL;EC%:Z=A>#8i ǒ2—!BB66-e 䭡W,8.h ;E谆K %cz6=8ͥ<0|AD789>N{ӊnT93k!Em&=!eR_xi@9  *%XUUm)݉l_?cY4Bp± ˌ?X6Cyal2z+pg RwZGk 8בT/MeXJ&9% oZͩ&'E (#լmTM։ۊ^ "oLsa2y;GE u,E <uK?jXƓaC Vp2Bĝ;<kA{},'ZiD$TG:iRRVHTcE(-1I0׋h [cH\||\+x\neiGO,Q'd?zzw.wq9ܽ{4ם;wp%lsx֤GyC <qd+ZY$T0>u=$ ϧ& "l(EP4\YG_>@}. >N- A :x1B[n2/bzeCv%zNpxt||w\ ,{yt:! {ibu-ApBoS63T魄tucWH4%;'h.%.8P(&yM^5SK8%iZ*9Ɉ}d[cM#y \.%r)6r',Ak)-mUՂ%x>J5:g˘^ƸB4( ([Ӓ(xꘙ,E#,Jxqdk&b$š+3I.?s3G?+Trg: dΡT0mTB.XbQU|[Nf1Rڊ)p})֦N:W,BNJuU:b̜JD[ɃC._BV9&?V}b1/( w3<%{sǕ}ǴFqyÂȤJAĠ*5pO[~y1! ݚw1ã[Mղ[K|0uhY&)¬&Hh42~CY uFx&gHLJ!xU Y"Q:mD$&QT*—SP(J#G ӼA'Ԁ ,4h8+5A*%UK)64MxrF t p ôG:̩ u K.3m_~;ݻw⩔yڂ,rI)$G]򢢗Tc ڿHYv/I sWr\92g^,([ˢp7],9Qzn޶*|qvg/cW֖ ihJ`mDђhTpAaejdņ*hGwܛ|WnN&Jm؈ ޾yJy%v#rErC}WH62"ŅnQ*X2)9[frNf,j#f9~~f. ۩]jm*hB9E:F%?}RyI0L"`hXҕaqϨ.vPِT(p#T#%z{H+%Rй/ׄZT} gru-yBϯlånD܋(f ʑ1а@23-$ "=q #-NFtI"Q{IJ~[I]5$DT6GT]F3ߡ0zjA+i_5 ys9e :]&* aqWăԫֆK?[d'TaqV`A:]4H*c(WKp d .{Pa!}fD cdŵcT3bv!<U_gH )sJ"~ /MBDArAMDž}qB_0\0eg6s1tbp 6ĭ6ᤵʸ2X+;%ڒ(&1ߜ ¸-򄼘d<)kzYWop $YF;lpd}=fV Lc4S/,FHB H\>%򎞰M<}kNbU g"Sƻϳ扭>3Dm&& l'!?cOT1V)  1Z.% +M UqFkű/ BC, HVr2)"jP +J\QQPy(#Z|FNCBB7o|=50=:0:zY7NS3[PJ) |dX'Tz0[Lkс5KT8lFqpNNqWJxԹ4mh # M|a߂?!Xƨ0\ .?AwWy_ \Y^2،9 #"d/X_i c)ZѴQ80ZHnîGjxKe5'lgSpb .䭧2jm`“vz!+S{lv t7) VKS)C!SyO.wKAJ^aGc͜z/CizIR[CW&p͂6:cQͽ9io$98beBM4't:!lN͎YbZs2 ҈ajLy$-ac>Xf?gn1?ڡy݆iC%3!5:$m/cxP,0NBhZhT3C( O9{51tɟh֭[K[is OKoZA#d,Htk dgR7ҖQ"ǣEE՚GX#ר0Yu Ҙӡj-MYڒLTm\-y-=d'@ b; Y)>e=Rgd\4AK%VC\bt;/[e _ilNjbeHv" jXַ؝9V[;.f z+jv:+O 8nW %bZ- cj:YdaPWppttMȲONߖ_1x 0wD$hEPev4rmcB1\Q ;UE$uă͊%XEo%.HB\EuA@[DS6α f:QIތ 4"Qqtѿr=Wt[iV&s{kz޼gSع"iwtH1K4 Xi4bʅA)Y@[Hh)8]ѶKk T($Exce+I\z :ܺu?_H꼠.4i>{7tch &`.McfWѶYB.޴<|[ !B?ѩ;kkViI*xʻM8tfpbXgt7Lpueqvv HZn9D OO TOƯv^׮=;{; 5ʨpѬ8fXgŒZM`G O7 Ё'KchdOg(&Z $Rx7[mbueoAV0rְ+g8t5!* ,won )݁I RLJilL{o}'xd廯nrM|7{_ڷ$8lcon2iazPN >q6JmKfNgфgFǜـ~i;9ضa2]ƳE`\!~8T>1 ۛS[ߺ_={W-#?݅|xmPrx8>\m>}_'W93Wx9y|?(O7ػ Ő_"U VOb#3_Akh(JVmΟ_$K"&,~("Ӛv6„1ke%tiL'ON:I=_# _| -D$$f|pTM?>V|v>3G?fP4 &cu F"F4GݘBHNA: S&am{H>\ jI#W6鋔` c ^s$,1_ ~yc$5Ƴt|d`^d?Eɨ͏ޔQp-7hMJj R[T% ~iMf 8\L<ү]k|x%3Ls/09s}z/ CH:<;s^Wv7W?4~ 1!Z/?V~_=~ؖ6Ÿf# vTnAiDd1UL:)Yya$GGwXT95"2i9$/ݩ_):Z x?GGKM?,?@<@=r߀j w?O{x_wG ηx^uQ?a9Xh+4(J+ݩB h#VSv4kCG?фz)3{V9}U0Lzt>EVBG% d2fr,n]1A1&غ۾ՋaŚl_f<9ftg[ݥ*KҸG#(>o7vu{q>xb,i7 ZK&i i^Q? ɔjYHjW<4!w<s/<,/O?u9äX}sjLsv#NK T 3DIt[>@ Zckv& կ\7j}YՋ9KvUx`m@TU IDATLOx|{o3#"wHĔaF]U9VC5Sz]&2.-ʔ,>3$tX:7yg |eTN*ˢaZbcOrvrXXxJ̽w\u;7ʡs7hdI(RM eJ[9<۔oY35l9ȖlIV,DQ"  9W[73T ޛ?|^U]]9go_;byi2v q./Hg oC'>7s)nsgݬRlBO$E@}h9&{;sG4oeq;ti/} j/物y+j 툖fbr-9 mK2XJ,Kd"PP&mq{\#$(2"oY]Z`dlBزlm/rmn+++f"Bw?գp{l.OМe-j85d^hL#6݌|Ћcuu PXBT4 $b8r Wqm*Nj8'`@+rzv-D'%TN,@"դU׉Q]iY3)006Jcu–a A:*Mb!\T(BlH'!kz>_E $NC4Ml# mFuYbum;mZHYvV#"}"T%.P֘.y]6Os buw?%صyOEFAf4١u{i| _//r78E%,vZ.e6ks>u+?xYaSFLKyBʕ/`o0:WɌv]&'xy޻|#P)25}jbY+Dst3cэ v"1qHILVcb34bܠj躁x(P,]g Jã']ٲe:IO{$qmP f!0y2cQ:k~CˡWCW!H}8+}VuLBbCAÐPSIg˄3<$B!{*1qG H0{V#ՊHg59=UFDbN"&]XbdH`xhM%0$9s/@sڄm"!R B<~}Eg [9.jBP(ei]DA$J鸨BJJ"`6o"B`Cwxs8$mmB4[2VDqBtUVt_'g)W Xa9R!(Z)DUr] 4Q4ڳ>6m~ 3ψmO4G߀˄/XzQhy񯿎}d4ysHvuHr _xfNYf0H܉it] _*M; d+xUn,+[XI-Q(Hi⸒a1v۶ \R"H1FQZyDJ)Qh7^;ǰf}?~ּ Kg!'O k@3@_@> >De/!rC0pXi$Z$)XH?D D~OqT]!mihF,%`+F C} 1n|6 S*hD1hKsn.T6j8NМ&Y2Pt!]d*f!>b߽$`*i֩n=:!:(aJ!uVQBh1N:ªŨAr-Ʒ0X{!'S`Qc$euai5Q nSL$L5a\m U`uK0. :3l)a6z|zc{ β&,bG:NHsdNi&e[%nQTrM#G/ZǏ|lTRs^u?1NuJtD wjF'qB';ʗ}|Ls߂W"˲QF2iM0 Bj&tH#nR/!it7N  ɚVHzk+=f8A>O\9w9^@# FECq 2t7br#z#ү#aaD",A.2ho^+4Nx]tBl LLW _^#qCI_J#I0-dtz' zLEnv6J:Awym$:Lnedt>eT[R\NlɀY'Pb| j QAT^W#yv-˯J,6T 7aTtba 榨:>Qvi6i4,-p\V;MZmNuHjk)\s$SX͈ÍYUAkD:M$4: t0c_~ @2dKVO׎nFўe0D5N0Yh |aD8݄ Qm8->I %D!(@j$4"DgQqEpxhXKOH#tlKiAEfAOa,#&DtfXZ;Fxz8 =uV򗿈*\}?Ͼ#$8f`0 )"\AӺO.2 f^ASlVg;LFFηJ+GYmxBĬW`zᷪD. wv%QkP-FW<ۡv0En'I2xw{c VhhQBxh}Oq uQg}¢GRDI Cwq݁=8*U -~M)ߏjnN"|KGU$;/GXB*+E*rFLiDx:F3! &7^nLO~8zbNG?ՌȦutPQsR6k:V?OP[9eBfzVN<׸ٶzZd!q _{:EȦV]d2;tZK' 2[ՉS6|^CF iՓ% 8pB 0-tC'ʌ^׫$ Qc(m7Ci ?KEhF &g SP }'p#Ay/@_`Ϭy©6y|lR%~UE` %'e4UHjDAFG P/Cɗx| zyId@';@:InL.GJH#H? kJtE_57Gl zEe]~^ @ r:a6[DjoUĖA5C7rvy}dYxS3+?ES+7Љ4UBlvP$\ ^m ?JqZ>%M×Z]ðMy/E &$%nX,~&" Teښpw)suFc{6n,iХO8eC+u|?(mnӥ'[+G1R&ӨqLRu)NvHDS^@T  1W[v!:NBUapW&BHu9{v@|6Hg06ݖFJɡ-t'f{kw}U_nC1i{]) h*OzYf.M# $?6BvUqMHm 6Yiw )+'5ƣjU1GWa׎ )@Ihk"Ha0g !1q*n1B7at 7B~#(JOC(*<򥹲n?T*]!{ ddD=u3ID)Z2r'`n VJcE@s2JPpϪ"0mDcʴ)fra-6 mk/|槧aqDQ!#5iMDUQ}RYC.^&'GS2:e~aq[8dhHe^>wsM`g k]h@4֛+d)M*9 khNN!?D.mVM% CMf= v 7 rW WΒR-<Et:fue%:3P&sd=b{Ѿh3|GDN22iPLbA"i6lͳجs閫*q I`k鈄 l<#O3lVquk9[;ŗ?̳etnRF kl#v#ȧsH hx<͐VnRUTF>@0 ^ y q$vmt<&8($A ګʙhN]_"t礼VK-V'DQrM]4Z.NIk}@7 x#̙h`S@)vܵ*:6b@!R1Vh""m[W~nZ WY\d' 26+muF)27H,--%4 d-jk)%CC,1i߾9}Gg9Pַf}#yr9Qy8q ՅWBmK.2؈ 39쁟 #%M^Ƕ-ӤdXiV)M4&%Mu2}\ksMcX%m5*SoDh$ z8MWg)Gw$qrיY mf( 蒟}sS}R]mwG{rN6_.R|ͭW][n{}џ>py?qpcdd'wЭ,1MtCj#Qʈ0f0;7_շo~,^4$ɋɿ5P E@^6d俼HbiS c}MMV 1-8UaxNs=D\4MD ZZ]cѬQ6D(3 IP u;Fx节 U7XK*dgv*Vo36ňScf vyգr݁yJe>%ih8uE,9k7(ܼ>|;E`lx' NL8,|߃'bEFdM@RtM]G6fvZFCM]4@s)% N}8),ԣIglG=kF_a+rj[y!-JTwnbʗyܪCyl*iTyv^vU/2]MeD4̦-}x=smͬ}g{ ]➿ܲIR-;}&E"TNcm/s(ػw/O>$@al߶q x/ĶLVU,IJ-,zj\QГUo\2 $hZj6ҋ ^EI@rpVU f&5ͶIUC8`xiK[L NB :$GՠyI^6) ~0H8%2W`o} p Da}R1kzu7S=Gun]WE 0PRl3O`dh-Jw]c6ӡݩs?Qk:պ0Q a,'3/dmd=Dvi4]9֗)~fcbr'={ǩ(quH#;نN–a7m}C,='( ӷ2CO7t[,eaz׋ g,/@[u1>L3Myx^m(DmRuoY."y-[`nfR8UpڽٻsCc"6Qt!4gH]%&i..24-wpZmWHVy]a撨&" ?v ɯo\X<8&c,=~O>$ccc}(]S/j??qYl6#BGAdaugcH{L˼8|_/„I\x@Q]0 (1'E}B̝C,D/l|f$8L UC(FbPRYdA <EEҘAWu!a?6] 5O3TJW\u9'QrA+RsrC4^Cm:k -_eL6gN=O LBݦ2Duζi:j"B6;HեĊȨI L_- ܖOKZCD(xųx?F I*l뜚9Ϧ"L,4쿒ZK*jN?N8Llij/M,S Okor% o~ .ۢEtodKGyw&?i=F0ӈV aE-RJ|AKny(zuRl` zo}Ѿc:j4;oxṳJ" C$vJEJE^M=pM̄Wr~y|dpNH6]8lK~n8(p oBu`#Ӈ؛'[y4ne橳D/Opn$gk8Z{rk#;yw4=,<}Wlghx*qªhew:~O˯DHL>vN8^B+5ֻW?Oqwb6q:z)&Ϟ6G>Nj d]of~~~MpÍDQr*0M.VUz R$ٟٵaKچ)/y]{5Mӄ/DͧcrqD3pɂTg2eFF`q~'$$u0"( =4MǴӗA~%`kn&ػJ¥Gh-?ї%;:!*ZEwpΓ[el0^E6lWC5.ّ1:fjGDl1Ѣ*" lt)Cg(p\Fk"Lb!"!A- K~8Y`LJ_FQ*6&0ͱl5IZIΑsIdDo<0WW C8e%ֹ)F^o|f7Y*qxj/tenaiq&Ft獤v^ÙK[Ιcǝ;4p3fV9{NgG}7ќ:ίwrqvw..Ɯ82g}|Yg0{ynםu|qQRvˮG~t^KkB [֋-wu'1M$Ie3zKx(7(^ ^뮻9~?ħ>>7x E*v RoYiz ?4!t)S2/1 Ԇ7ޗݰ7?IQ$3eB3/fM֋Y҅7МF 5E =KM٬E,<ֺ WIg&^'`a cu:4VjeH9)dK c;&鬉mz~}9uA{2O^MPu]hlAF/N! &*Mqr 0~ B&kLmaݓ|o5fQ:珞ۀمu] F:{KW0[8n?\W>6}vy,bag>K?˹{sc{-YL_a*>:~f'|Ӌ[v^>a6J 'i4سbxiap뭷|"J~|#!^+46)#cc-կfq399oot_I.HVHdBQs$*l미THb5W_kaF_0!|v]׍;3͗u:Smw18[k }RBYFK +*} XJDMQ#IL$e 8s0 %LJ.V>}0ى C1tբ:M`( T׫LjUS8$~=F8+,Meeh.9;dZBL))+SݍZ E`LU4"Q|RPFTbqi]"QoD6x0n}uatdOS*8I/lXf~yH]c"4[C[yWy\{M4"8rAn9p!>a{1{v៞&1;3[nEwZgYݲ̠B*kX][~'y,qh}KLdx-gYq{o>dR"6 VɉɄUUR084w qqt$!W,Po?̡ ?wX;d(s4 s 0Ԥ  4B,iFKc%%nXUQ[UU~= 7_K:3H٤ek㺝b4ѭr͘#T|~vٳJܻJڿ?\|>4ql/z4u;▻vLUi&&6_g)2NtF ma̶]c2Bn_p% t7ٰ6Z5?OQ )ٵ::uUaPƈh9dD6֠ CJvl McTTHK+dOVi-ZY=N0PNU]?淀CS)c; +׏Tl* rk#߁D@׍A63R觜SQFUuԔAD#L,$L]V]B>ziF'T|%mz[6 qD!s:2Yb BF1Z|"E34f9~$eM#lWk&Qrfztru˶7(ˤLe͘"`]<}UXtlTᩅE=콣$:Ͻχ7VfFmՍ%BŒeeg={Xsva0a+$@"-WuwyEfdx?" }qxס{UO}pk xǃȁq(`Oބ={CG8pamTFnng0 4N$D/{ =[C,1=aꡢ-.p A Ht:t[8q!p,jslB_- (LAJsc3JGK&xyH@γ֬2+5R"ŜS/sgsln`U%xVr9e39:~Idf#3Ы]$}q*?]"{$/XSStvd0{ⶃ`e8ۻ5^|9~CA[=\e"7')NRZs]C|#w/<`.8d8p g{8ݔKo<sst:w޸{wmd}/uBpپ/#\]}_ףso B Cf~{nݦa}'nSѥ$ѩ7-4|7{.5Bܰj44Iߎy.z"ϓ@XPqh4Ndkk뗰I,evKIli˧ՏNgkX#iS!>qm<"sS$eO_?3wp)LE׏X)oЍw!k2MgYݫT*A@add-pq0殕]ï(\w:a a\C͈O]&;0RX{ ⛭-VDߌESg.b"o3؟YǘX˴h0ez[F Š̈)_aD a(_`blQrY@Ҥ)fIׄb2V DZD蕉\8>CKa@ @RiJF3N!,v"OY;E,ð28aD7\(p)o&6DӀytrmS,^>K6c9D.6?}f JE@ [K$Slf!j+t͗)lDШWgFm[ PH'p ͭruw{N"A>1u*uOq9wzzhV4y/| cX{ KKg.>CVG)|Cv a N<ˉ[}Bb=ëgN MNg#+k>zF/ެH3d4:FטyG]_R `ssT*EDQ_9n86B/Ngu)%^Q_/ؠT*!|õ^[1e ta8DŒxđd||MMOހFs,?ߍ,_h} Nݱ/uDA|KORހ&jIܠ֟k6ӌ*0 } ·a{h'm`%ʢөi/0\841l+Ci> MOBQ4Qqnkn@vH DXq+o|z^tW(?EHv2zn'oe79ڠhfٍ yti*0qQqjL.cGeꁤ[ׁfU0=JÑ# ./`8/-}ـ=44gK39*d6G)Wb{ϢBmސlYHӡѬ366އ AL4 vvvm0 es4JM&]O)ER t$aT~_z=fNm !$ ØXuīny*6 Mבz2Ga(0-]ꖁRH#R ~?+RJ絴uQ- kz_Xk)R0??{g'ic'@ƘAܭvt0E4F} L6RՑBCBc a4p{- AW7SN"D_=I RK&Igdrd+\޼`'m[Y0XHB15<ԑ{,M1T}h=F{ddYi 9xnX )Ҏ)5/|#Էtv*=6W\ zǻ`o翊:r i@I*$",0 ^K-Aa\SDaǏY]Y!JS(0_3 [[ ?ı$ibpx]& TZuCZHy{]dRj ^ 3Vq!LWv)ЅK)zիUz%A pBҀR >LGuL#* t4M4!z )J+h@a&qϤP HԐ(BjA࢛iL'n:?tD6ђIsϏ=혖jmMPXJ-~ w=&6 uL`mm_1q臡M7C)|2|(VT*;8n /lz]8eQ[7BH֖,T:.kMo^$n~Ȅ-FSZ cBI)H)d b%iG +PR)%H!PRD+8Fı( )_ D(RJDaJaHJ # s/~`%ry|6h4H+4jMiJFm\'w'p=GjZ i=P~"/i f^ԭ{FBb0 4xQS=hR~eMn?t~X#I*EbBSQ?nM6Aq ͍$4*XݥgnҌ=/-wsv;m.3-NynwH7͜_drA`֋$ldq+29y]{~'YX0!u*J:_{o(_~0[\7iG;6jχX{M)T QJ R HM*BJJek\<{qcz89B=ƃH[q]Rb"܁äRdO%Ϳ{==O=MƱ,?t#tI~>)F%1&ۜҪF<~Ez~тuW?A# h?y`L2 گM7b'E]lOf}m^GPuk A)%Ο勨(n'۩ec;BH.grj <մ}p=ēO>O%qO>\ebb0vW'B ,ƬX3pᄅnHoop `\"mYҊ",!1tS aD!XB[)($Q}"ILBAR@D EERADR(8&"ŤdHƪN$UB)I)\O}S^OiN.Awřx_ɥVDL*G&%t=JEĪGMnpd]D3< + @R=^t[$V1`h)!dѴ *o|K~|a?"p1b[B^]|6FՅ) &:ݐ@*&~(GS-<GtLy#Q^JQq]LLGgdzi#_ ^hw=Gܥ ^:J7 _km]2s'xG_]܊cy c|K_(rOG)C?yɡyN{awgXowOe 5JSNȣοOw\\bs'$i깘ඛnXݟwoxL&YYY&LAΞ>ٳYZ\dzv!a06> =uػvy.q(׾Tz 6#5FoahfTA%ت5(Ĥbj}女$cƏ`G|\+̓ vt^1n\6/8{zD6pka MRmrZODI*]D244yƦfYC>wg9vY]WNV76Iڃl֯ܭҒd#iB;O1=K 8qzIek^hwF1.`&۫(46J1=4hi60ܻAƁq4.3Iv;LMMS,.?-+ˤәkMȄum@yivKy!pL(1t񉉷lЀa M(CǗ@ӄxRgiI:FǰiD[ESD0DSiJM4tM4@4LCktMԤu)EMRQBԐJAM*$U)**Ů*'?Go A&Sq4M_m)bL$K44 5 =&I*':,|Pt7Qk/d Tbd6bI $^~5(qmZ!_hmץ\'k쮿 l384mN FqcLK_e,ҳ,,hXYCw篾yۻBZucAv˻@..퀝 F3k4~Z P(1Z:% EUT31~4He$@B6^Dnd 6.\o؝232F0EH?/+B/=ѱ!o'l8NAQk/8weO&A2\Hއ:Ixn3ϒ,Qٍ^YÏ34DEx8zCvCZch]`8:q6O= n;.̷=ϟk!F|xyO,q.~6]Ff&tۄn‡)$cn5Un~&r]  a||!24nh:N^uM5c!D",ۤ{]-;!HY"#[[ "N±c!)LBh1(i AA^6|?ԅBᶔ]za]DbB(&b.JH)z!)Dq҄ CiN,Rٍ/B%#M,F?7u0s'O78pmTje`d8O'aS0=QK ޥRfcE޶ !I #4ˣ*I^ :x;FJ!Gs)^c|?Nm!]eM^7ȥD eDk;D$FC4Jx ._!Wefat;B \ED䫏;g'sK=O neHL Ü"@dskC&!w2~ϣ\ǽG7K kY"o'RdƋXi{/)fЭ6a0D(;Uw""[Q"g/n0>lk )=_~6c6ҭ}?&=bfpa,|;܉;NxLO`xH#~Ubg_l4#ZI\˦'E]ksz;︍o>d@S>D^{W+uyra=4˯^/>qX^vIriE$\҅ q:[;-v=D~DHmIS:K4>@-r)+_ۢj\9xKuk5Orjz>%`{Ai,C*,]Y$P,n?%Iervݷ*S H)n\z~7`_ׄ`act;2-^@D!&aE(0W}|ZRhOh!M#H"M/Tovlw# H6BVdL!;j՘dnpòpH26̨ ʷ+8A7Hm_hg5BpCԶ;?P]m5GjA, v0^":7US‹oB"8D(jz MDaX #?종K8b6{{;u} =̎H&`%R ^/ o[R瞻o*>S;ˀm_[67jYH|aEמϞ_᳿/HgbyWk.8o*t@4B亄btzMLNK&mBa^vJ䉣t*e,{*_Ӥ3yNQ^ ;QrD2H;IWEOhM207JmwC*Ud{n.V !o_CRJLӼ6⚦57N\gmFRAzm 1(T(dHFRaMR %  u}( 9KH#EŴF K'8x>l64X~gc܍O١2IX?Wεg;ɉFWC jp0ΰJf躻L|JvY9s=*f9{8~Ě9Hx.U&&M[ XF]9CnAt] M հ-_C D.N zҢSclD2& ) Mp /SGvRK[X1,w3sl-ympQ ۻ4hgs»n$.*H^ؓR^(TױpMj4k:s3h RʗRN'6$J*"7&]Z\R*c -m]]Nf.l*m.q$IA~ w` gtAzf`CsO|mt/Q=>Y+{ 7-rA %z@qv}N6[Z]ty݆#xmfE)?0,R職qyVZxmV}a 1n;U$ DfLa C]#e@D*D 2ft V(iI| 5sqr87R[u9/z>n{Lʡ6"V6wyw˙AVN¿?Kq579~ "vHXQtj je"jD"Apq671>QfbdFᵺdJloPRIv+BBL,zM\&N2}\06:ǠfqF hQ!뺘GdB6cV*QD&0J&ׂDض}CDͶ$ee8ˁ|G1LZ'} *uݐL/ta$:؆Fy#TٜT˦)?@QWQ^ci8=Ih]F~{^g*$ :x]ooo}Vkz3o@+ 9sn!eR9k4.H:x"z afJvvi4]`P2X2<:(wj[;dgO>w܋8LDDncM<8x}OލDb=C3hDQ8nbyB?BJHI(D)/02:AvH2&}}z6M4x)`y~"tMlf;1 H dlU5#cӫ#G;36F_ .I00IcĶ0 tvnVy7L^i !ئj}ZJnOjFfggI&qSV]gWla"kx,^zsoןvB(_p"B_#JШi a`&cH OEJ6Jmf ŦQ!錃+"(nNidB?MDŽ"p;|ϻV{Av]\~|+fi^t) qˌ ugKZ]AF=@qtfY&f%fRd zn²,'H5;l_Z% LD,A2y=q]F3V3E"LlɅ zx#׾+jK?VM'5UN4 .^āPJ1;;4^?a@Q5b]ׯW]7+ WLPX2F׵7+j"O*DRNgVRz ϓot1R($ҩUaN~t*DRzBU4NvhL% bԙǢ {G[o=|:j^[ " Cs/|O?_H:Ԃ:^}SBMw )phmN^~ŵW\`DyL0 0M6봃& 0:FȖ:)-a`dq]҅aNA;K[/A.<QE&?RCj B"B7u쫲 -EUF7L 4 ]zZ?ɥԠkĜ8C Iq9HTv(W%-sWOf%^@ 5ō::[ZA֮2fvpmuk4DRY:=%^"@q=\>Gi)/o\"0I8m8MۭG!-ݘdԱ4\V(ת] 'E!3?go%Q~oD3k}@HB,cb<ˆ1<cofg!@m lRcO^q*0 ۾ J? 8﹩pāĜ N(\L-Leh*p<깬؊oܹD f pA Qо򾨑ZAlX⺷/֖^vرsno_~ۛ &ZQ ah Ck :+}(c)8ʆ$+d'WkZ`#:.(@$l`@0I r$D@ava\ ,BRV:mB@ tlp*D2PVAuND@D)DHSIX)\Q@ sV a $a C6j+0Q$ `PBh$4` 6h":Hu" cCeNh5kkYl:x`ÐJAJ&^z3@ݑqt%pZDXZ\H;Fz+M7ᒈYdlz _J@hhÊbEϾZ04ǮeYTU<||Q딥!IB A*mHlp!lo^ƻzG7j*m7`lJvfumz{{'A.lί==PZ)[uel}ݳ'E.~~öm;eP' f B)y dt$"LMMFmel_~%vlVqzJ<A"MRElۈB>'=a$O/_G>Iq||/2k},(Zo?zzp 7As i^GF\<$ƾ^^Fazzba.?A5%h<ع}l9~5ub#Febcesӟ^S<6lٻMf' bP4Z{i%ى߽8Ǝ]{f̕\.. "Is&_8n|חe[.rד)<4~owmlݺ-›~g}\wݵ?륔ضc'y]ux'y5Eݚnmqغqn#K}Y=0s:۲u֭_Iѝd:E\yEbQ./qr';8 +}}-?}q!z.7.gyŕ^=}.mej14~frwI.kEGpfEǟb5{1{$xbU{ }QPbaժM{j|^_q]w-b GBկƶo{_qJC_O:fƦMwJ`A[/ g <#˿NEx[rM}- ?;:nwZĉx?2nmL??Lcyy'uk>9avvSS8;~ʔ DoZHeall eV;OJǤp;a@uU8%a$ @D ^?RƵϾ˺@wb3 @³2Pe²Hҍ^Am_q׼> avv{yڵkǏ;@$j++O:)"I>. ?uI  ĉBJtM|e9$֯9oc-+qNϮmS'/@'_AUxJ4w]>6I yW61 !(ֈb|AOծж\$nu{ӕgu3^/}Օo:a(i,!#4ځysAy\Í>I#; B*CJRNf&>&J%v*l" $$,),K'Ж;=uBHaRJ)$ [ -l%^7vlAU̚o7`QBGl;N[ k+;Rq[ךWNJ;Va)98oYL |t]}i;CMǫC//k:]鹥:?I/3(Lhت?o~'*KJ2طnefrTH$< $u)y"(ʶ-7#c0_bIϗsp.v\%N,;C'+`9Yc^Y8I4 kn9|GN<8dAs5c?|%<3xkn\ tT!\HR>ǟЫGnMB)gdAEt7F@뻖k&%ɱ;QĀI` "Bī -jAk:hN66G+ܮ.Q5SI[( )HGi@ZN-(5/<[_ZlYqϰRpAHRr$-C$(򙫯l(Pɷ,a Afƅ\ҢYHM\i4۲saM@4Z5A%d+<' Ht؈Ȗ ρHȡ͛$Jpf6 a X|$R/HjR"a13@lsUoiM*S@`0Tݕ/` %D83m ]v> VI)EN( ״ $@X!׷5R_Tk$AJJ J\"f:ncfFk;PIָy(q^s:UqV!e $2 "0""I\.(NDٶ粕$r-n5[\(. u\<ƞq)l߾]7݄^Z8p㠯|k'^-8z/Sa3gNcƍ, l}jG ؒtؖe$N ؑJ1z0YGc8NU0L0ZHbA02uj,Di.@/ UE9f.e- 9S;\_ t3T6QIb~y`i;m<ǑiLteER3|O߿ח޼3(rƓTrma+HSԌl-[9kM-VI )(|6OVF32 :8Q©5R(k6!El&QEdYH:dI$t;LWW\vs 'NcfNL{lafP6#)@#R:{UP*Ƴ,lXCf&!edqf܁8 r\I'1,禧 Zrw ^y1BIEdB&d{ 0EaADL V8"QɗZF#AR@`)0#y)V 8vOm -&"@/̴bVϝC ZϐAe[-٢[sԟ|r1"# ضm$zFH"\{isO PqF4M_"qAO0t]Jc84Gca"C,L1 =_uGg`=`CGƠPe:~%ډQzrLM*m{6BlK1:BAvC Pd$(jTέB$rN M!Ȗ,v!BJ3Ӗm$;p-J$JW{J J~) zZXwjKdnl,<)3O<%I _7EQkJ\Ay?!I 0H!fFZ|'Y$,iX* `օBE!-˥L6GSb#\ zp h*U*;fgG[(TJ#mJ:X׭*@NK\8 w3IJ,%,Y-743"$H*0@KDR4 v rPo;/-"f)q! ͭqJ9jY3pSO&kCle+nEP %)cڮrS ڭV?bO\Qe/hJ0 !Z&^xYm۶#ϟ\syi|_zMT*Lg'N҄=xbkk?M9!;؀%,۸ !Rh4N , \džNbhCplߖHt`͒J R A69 E'ǀ i ]Hַ kn[ 0"2t ؾscaȘSb(0;0;;YaKu|U&&œG0ؕW*EGrt˥Fn&3<[l-;=O}$ 1hx +2h6aأs;4l&KB)Cdu=qL18AȸB_|̆4e[$YGDQhuGu5& KBEqJQRJXh6]=8m/Ii9lڴ_m6l߾CCQT`+#J; fi<8x >ߏt3GX r۲3G añ( 4 $8dv•xEmfxِJ3.&OӕOվz$SÚ\φ0 g Dpmih./vx;B˲ Ԉ|Vv*d)+ Υ,{uKS`dՇVSEcZWԙ㩁DFiO%*b,+%A8*uBT`绑U~ 'o㹜xxcǮ{g CZ>kxJԒIĭmىF]s ,W[tn&IA14p3sSٵ]uoSgXN$D p /5ݓqB d0d{2 û/ d\pUƉSsj|HUtP _*`X/L5[ё^XV8^"]Fҍ:|hnrbP6%aP@AqBz^g u;xn$,Iqw]?0; RL 2vT e)`2iܪuBYȵZ-3io߾ #.>_ΞtuSk_nnT.UW ͞;:Pjq qN@D\ח/Ce`hᾂ85,$A=.CB+H؍#S@IrG~n[?t`O&!̖A`R`#mf۶r|+ :JwI@du L#D NuH85c[: bH G*HV6I̮evJQ IDATTX>UL4cژUU1N٫)}G.cPZqjv#ٲUOrOqѱڒ.ƎPl I:52y Se\j̬YZZ,_;nMm!Ѩ50Z#ӥ!%~8y*ӡ7;uuˍv-8`ALʈnhO]JQc LaﮛYdCPeGgWfD%" -# nױkK|lҾz(DHPڳ"lucwIzOJIRP|?K6H)\H&Hr\y' ^o?7-H* ٺmaav;I),X !,vgcl IԆ("-QjA/>bYֵZٷn8IYݦ.> <mذaBkZ0 _!wS)K)@~`8诿s$m\D䊎a@!,Ipxhb(3G??֩8vs=9YM(b MS亣1>vgO},cF{"80Q@`++YC*I/UC,CX&$ %LZ~&Nb]@ ~v٭掣Jqš}h.!cpI =Dӧ$J|x)Skѿ]734~\ުM1 K(B(x LV4ؿUJlQ4|2SgOZYP*u\Pʬ7QEeHY?#IC-8n[/ !a3j# Mr(?wmp%4DGB9]O3j \:2"݃qt nņ,=L$(rڍE4k+r̋%q2S(YIvD9!aS),aB:J9N IKp?( Hg\VVE5y%qLn.@7*IE"C@@D}Aw؈\ۧ K~P_^RF qɧկ ꯼z!D' \WrtI9x~R_NAk *W1e$R~gv#$3L&`Ƕ߳P:6 #,BBo @ե%^\XX$eL["- VB`)F޵X Cl;mb|6NDeBR-m@% gaE-bAr~W3"j3׫lUNj НHOq cRyEkVX+`=n0:EGj=so3S$q q gO-$C#w*8ƙS3c +"hB]y8<Ö[PNi TN^{WمٙW_`a^1$ Ve3)@e\+1f].t1$>ؽDr)"nњХray6+Q@Dͣz-sceO0u7]kv{&J} &R=Fz([GpMOO I!YUW~$DK{tceerƆ N(Ncc M4Z3D(J(r_8L7RR7g򅩵Taa|Led}zua_F}nbLYԪU2agJǻͿ}[7 )c.'

eX: X+P5r5檇ţO?]Te  ! bĮq]AWdظizC|0]_ 9vﭯ;ڮ%Rp#_PN\ARs+c̈°j]~ۏH8".Y*gs%㜗^\\1iHeuU2O3 ( [wrim9Mb{? bzf^d)byU ~e7qÆHEnI3,yb[/]˾``erX eKybh- 1&E$H蘢 \W_IM7 H1S\vaZ FfXh9^0jƊ`2b"4Z-$ea *+rMnEU$`ff^5ZZ}|{z\ B5kd\w.qrYbu/1gPtWŃFny/|4޹k7͗]}Gl/E)!!Y-^ӇN Ϯ{AK$Q,ICqu$aȞgc6''5.$W8XX\QDھ}Jfnn K3oDW8,kS;;/=鶫$sIS&澹I )N=UDO#/d1%UI0ϿJ]cnQgE|mql$톌T6;KS1HR$"Mb7k 'n9RР Z G_Dœ<&U0Z+];[kmv\o 'NCl^^Oӿ Q:{/~+_XZZyfu_ 8jV=%'KD=Ɵ$ }~呲$ H 3K$XHT@>8A;5PM:IwHh `gg$""HD1lߎBÀaM=a\UR5X>aY}>mK6\?C"4p`e,穓ujDf}EQ//%,^gs$V=cCne( qAsz *niU$1vOLO&ش*>yj6+E׾}gHSx:51~Cde)kNhŀg]$,PˬnwZ[t1,R cC B(17,`nf*Z%WU7]3Z4`hp3#xʆ I`<=mo݃4O" \7kv>K%;x艇hY+l㯏]P-%R-3{wVt8ٕj*1F&l&&َ cҩPEd#8Gs݊A[GI)SmI79+—X7B>G^|# B N!0=ۼ>fFtb߀8Luo;}:xo nG[sa+ W"?{jɯ|O41JV-%2ĩF탘QKZ0I) ƶ$l! lXMiIFh|QVUbF!XD+ϵdUD-if8̰p(Mvd;TJZ技NwsgvkKma eEELMM"H<ın4z/i *l0;U%LF{5s(Z!f0CRqq {/.ALpeΎu{І3lφTKYqR 3\)W֪@`&KIf!oܮ7|9?{ *9 $i_ˀ緡]^ǣFQmMҶFbR8OVSi**]WL{{q7^Yۊ$d5LBJJU7K<ֽ Df$`C \8cf#&x jCKAI % dK'+<|Û4:w0V.v7-X4^:zċUrf#N CNz0终a؝ aDiޙk.;sLDm`` [1E7+/ÿ059()mg# _*Ec~j 咣q3T۷\G*;)#m5 6лgQxm|EA=H0S]6^:,u[k╬M ]]ώ'6©%t8qYo [D}G_.__]NP^B%o#* A!LjX6l4Up8Cs3C=bar٠D>qmWN4FvV:LYM)g#[x v}$kM.uwQCH%P[;;A H`эhՕ ( o[Qv?ŭf`iVv|^s%pF 79^_qVϐ6F֌" eK^6l uh۰ΨK+صҘ7UWdM̌wc )9[_:hG8[AP,~ J.JX-•@GޒfmKj*[{4 ?w/@п*Qn(sRE,aMq0'CcfzYhVW;#V:T,Z bhg>>+}DAkAjPʾvixM? AakI{֕hብ %ͦC*y0uz0aSN_1UaW!M,,+Zmc5zݔ.媈`n{}x͕ݼ}vqhyM@JËk}!A>37?|ӋJ.# NXXm01p,LsJ'Ũǂm)Ch֊aDG .`.\R:MnaL#vuT)YNU*$YkDN_kG(V ӈLr˰JtHJ͒i5 +%/"T eIF@]`ֈ&~CϽk:I#d1]]2==!(2Bp'+Xg\ rUWuu7* ,c0qx3fll0N81c B9|oswu媓~ 0xkz]=~߳Z_7kUw??ovo770t b_9+;[dnx P19q5WG{U!'&cWM;zjD1>3RgPA5*yZ ;G^~OBUx:03#!*OzZ842E|9W̡XZGj3:5igry봅릶Ƨ7z3!!NqlY !\R(c 5Q#3;anAPXvOgX_@*~ (f'&%%eMA6 aDD,lC{431.|~Z1:cὅBɤB0ISHifA Ew9q^w׋5%*]l>* "!;uڽx%kՙMNgP tCfmFRex37[?4R]3.;~$itGیl\:%z˨GqѯIQUheX7OG˯??( >?_yknκE!mR9^90-N; '+[AkXf-t7ـBZ|B^34˚ks *M"i/aH 0v8BօfZ! RCx6 iL"!)cf-L)3;M{zt:mbQVe W_. @f&qhm\<^-u߮G(\J0\, R'4>`p1e@z1dg ̈́!zJ$1w~5Dv"Coy7O3ny{vG9"adf&f<BmnN)}Af[PZHtnd~=.*B!f[[ۖd^6st.W%vh* zMu"(k`)lr!]F,ut L x};ΞNKgg3ic7sqm!Vs'& ,l盶`H8d|PT;VW~wjR{c3 _GtUHԎ`Egv^?r 6xskS$Io)>p6gl Ln]rY5VQ? D)bx/;T|E$=7͝8tK[+fW@B#mqgܫ~n^َrHCX! JC_kjY5 ̯2, 'ɠ~!E69 L"R~h19tWVUu,0(3 0 JCbC`e|b:+x~z||v>$ @ C9`ׄk R&"YQ@[aB_c /ǛO#{G^叼_x-f[~|Oˇr~z=׾?5l^~[ \v;ԫD7喯ڞ^Y8W=|(;Q[($>v9{^>ո) ~xkY5rŃZ9?x3/ixį9z sْh~ɭ_OQ~䉳SR di1 a޻<^;Ea~=}ߟ711LҎ)BFDc?o|+'+#DIG-^:u+ܫאMwujsw_|`񳟛=s#nǿ}~VczFƳgSO>2)|swɧLo}wãc/ٚ>{ygx;d`|\ga62XդkoR({*tVxr4z ƦYʼ OI $bMm ҽ!MGaCuB@gvT܆euNb Eh=H~3D9oZ )D6c`h'L >6@N ">X-8e#k9qEx'xh \-!qi blCV=$/cr`ok"#@I ]kgq!)ت^BΠ/rudR-%+E7@uoTFJky^d<[C(v!= mX_L!A*3ؐ:[kh6ppP4G聆Kb? #= : TN]O1U٨#_XCPYpP % 2VڄH弃v [phM-p2B7 Fh# ʹA<~CLjAda~4fw"A/0pl-wv!\qXD%<|"L8I^Z&Գ3t|nVz7B۠ev$-4jR) R/.ameᤁlڄ`R*֛MԶVPʔPv- ֘0pЏynw #FBH)Q[S EXhˮdBHn*ÆhyسkgQ& B fp'p- zABH0T`C)YX VlW,:6N.Ξ])y^0l{i(I@BvT'SEj(g_Mc4c~|oXs0`jz'Jx=.o5k߿bm?#8z`WwyH9?vK|6xÏ,zwUϻvi&я9t VVA ǩȥ +OxxCw \~M~;gQ5p5&0e鬏c^3Ps0;7 Var\BL Ǯ] 8{!' PpYҒT2wv?:3Pl`us/Ν[j~ ajΓY ҩ=X=~s +O>ʞ.%1=vbd.{=qтc43:M%R˜"@q6'aQLr d#liά)<82vX3)4mXPqzCqkO0$__=@a t0:Xr2AGEdPh=sfzjR8N&Hb)Iin  5Cz[Q+8!`bF4 Z35d[B_I!Ě5(`Pkgx]y<]H#W" ҹi4z~[7dGU׋~1Vn*yn^{  0PŅn:aIh4j`5`rrXЭȍ"h$ȩu$$J1_9n -m K* ȎD3+k9tzm@2Ɇ;͜ ~Wss})'8 DȆrUZ\$1M۫vʕX5pt8WcC y<=zf7s=;nmb~ /ߏ(H>WluaiR"tspK!'e.5뛼g|n ctI-su ;e!BO pў} lBQ,qh Fv1%Hy2 H]I~513d)ŬYJRRZ4Xk! dAn-Җei0)0cZmsza,a$g~S'NDirLDZRҬ5o'1Xkżg"`Ě5 Vq0,@"%e\fL z]O|o,;>On.˶fDQ`]ݺkL[?-VOqqP( tjR vsah@bO4";N#FFma`ddn ܌ǟXh!ka8alןj$7pžN%VWqhvO _h cL^sKв7Epa`b&26<'Q- co'IlaCLel!Om=mđ /q,^>| u+ 6Npv->pֻq<6yHēO9n&+!iaU (7(VLNz` m,)I@V N)u+ KjlģXmð a0tZjl Qy4:+"_!inpr(2p GOBaZen|qiנ/l0 r'A9NyFh(M$AʶݩL 0jX,13#Lkk裏C ) v(ml5>BS0Ɵ{#h:>rٿRmFx6l/0{>= _}iBuP00S {Nઋyu w?q+n߃+c~,[uT*SbmqdȬDae\|rl6Ϡ@n^'Fs~ZdP@}mk𕯁v}dReNRq2U IDATc6'_YJCShtBfS7\Ba8'XYdC7~5 .da4^egAyϭ ?)}X4@emNa.} ʷ0jdHka/-+~؅a2icN]2vE9ם">90025\u##9V 5DtjȱY)AL:0=N=I[^2|jf ZOaRT)Q@Yأ8i&<k|Ü(b~(+js{ mF?48g9|`z/ryXٲB:Rٌ  l Ծ&f2v.ff )w&@h4[(A}dG†Jm.f\@ՂmYp\l?ݱ#G^SJa9@J @<HusPH ah(C-ᱱCzC )X+ 72C'OaouhN#Y r],8~Α+;>zbruoGn(Iܽ@nԉ+/|\wM1H{꣘U`p_taHbB8֏f / }vMfH8495tѴ[ 6VjjX*+Į+bo2Μ?gϝZ !HokrhEyKi{RXZ܀04:_=iLշ%Ӕс=c|OԖWyjjz~B 0A5EB„Fɚ&v>&Oۏ/Xw}}}Nes9zɏ9wv_l' p|VF4PBy5SBZ)w.vjݵx hrz'Czx{v8$HRX/zϜ2a$ķzێ7Φ2m=:<x"P*ԮөLH F.aP# s 1V/6 [+Ȓ$АΎ t>XKspNL_k 9*<Im?/\(H%W%WNtPm3`ðB\O;ewFzz כm7/ŌSdJo}Gf.o-U#O=^v80|BB6{v:6ti.wIڵ ozًj:!t'zכ6{`R[dy>N]5{fM)H$% Ipnrnz͍`E{$fhN)Q.xMscyqYNfN4:bDc>qzNo:+t:a$ 5'&zV׶f b!+( `ôؐHGQq8It,@N,BV 0&IL۴@4 l5R GI$8 `K!Parck+zNJlnG{?}o:M!ČZoll8{^ׇkuU F^nEЊYJ Q"#;ގ]`bx:vwF3Ѐ$T#h~F,M|;&uț#v3Ȇ&X^Zg/pɣ\uλ,2"ø dJ&qAeWugӛ1J5K$#Al Mc7AGnƴm0`@HЀ*RcVfeUN\۞`H||3i"~C fv7?f75(z4M ̄O~MP.C՚3`ExKsj)>$~o-x'd Gy7=ll_xܸ) =sMg(/9nP^B$=C>rpwx+V{DDbo!*<1}'mv=AjG?7>0][9OhW_2h1(鱻v7qg7lי1^HEn>Wv-odF;* :XOkK+fٷr'tc-I){s@H< Οqhpxߍy\|.㑇lfUf@M{BVC_zjߌ˭5[V쐄0B5Q,u<*"Q0/s/౯]T-){J]%bvWPsW)~%O~r߯>hѾmuOc-[݉qPpOʹJ(?J؛ ny滒ݏ? >۰rX:w%oOAJ޹垘PE(]0H4xm{bB) V62b>y|ᇱ83tAbso?+[ܛqSao9Zw1=x8rg _r\F^>˘{El]٣~)P : rX둥k`8h!ikl_BjIlV׏Wůѣ(Kx"iv>~{%C/J~\c>lӧv: lUyin<O|X ~ Dv-s'`\^/C)& 5: b?r{sc0zb89ŭ'໿oܭGgO弿v ;l^2w† C Z $#0`L&qBapt Xtq@:zwvzxq,֠jRc"eqc;^ ZGgg/^{ѯh~}ld %|4$%  R\TD3h3߃g?!0}8>EQ5tZ8ȽmXۦ4:ƣU 6ηމ>6/ vy0[OObn.Ƶ18Эp n|mo=e;[v*ߞerޞ8}|*k5yO6^~AVWʪ[*,2$hV(w t6D@>MMdOS[T%"z3^oWU8*BkJ(X?<#O' _F qDiJo 0nwj3 "VRʢXٴϯ2N43?L-@N@ `(d3xv%HI%f:>B0&AW<6c8pCJ &r2Aʲ3=MG Zb2Cӄ d k̚B01 !xﰱ9&Ei8v^kMp[Apeɕ%L0M/@Lݽ,tEV psf{gp2e D5!VQYs=_HP8(% 0f "dXT $ 3* [}Q\ ABI7' *4Uit ,CF^r8 ,?:;|D=76]+Er+ +3xiwΠOxMp(KTeG"ԡ$mYXC!,.ͭ]4M4gz~c8@* 5wK>|T._~[s5JhDi_<(¼N.ZV֖pnOt@:gD{m/-hgJ A0I`sc F^O]ơSm8`Y4kPG/_ۏ0#}_?2jg?~l;T;Nb:d©3BRxKB|} ߙdxq]A~odu/n9mo6Zt!)spm4E>鯭VAbFbِׯ'\AUQ"Ig\H+e՝m\[_e`f-ݖG?Pj _H$&sx$Vz*Y xB*JkUm:pΔUҔN ca)qlrr᠄ ,$zdbHEfNssߔT0ᑗaD:i m\ BЈ@PׁY @ߴ-BوM7_߬}$XOƚDfCR=k [Z= W4Y{s ^zxq v_x0 B)0Ƹ_ՒE)zڞ"솨'=)9\ƒ_&L1ww+Z!OC+KoLIPcDn$И3~g?1+˜P;+ƒ: !&Ny`քRْ=J^xEgJN釾-\wQb;Y_M'ti^8sO~Uh6 #-#n7iI.ny:9&07!pֲZQ5 =ёǍ 8\Ju1rQ9jBqek{`Z9LY{[H`4NJyh!٢,kǘ$zP1Êb**,Pn@1j%!JKgI {1|2Q *(PQ@Da= bj !Z"A f=|7 QK(), " @x~cc8n !nsu3:A&u>k!j`e_x<}V{c'x<]x}߃>eĽyisuB?K(5+jmb)aG%hMqw %v#ƒ4|H?#?kG{~QC@a('(!{B$]uo_;y0aq?E@&hco'nM4 _‘(}dMOSwoo|(|/g?^ŧ|Y&yjZcUby#\ 5d՛ tAD 3G ;c>"cx;}x׷MPz_n{M v7C'Dr#ߩu1|rQ*B2m?śkML^(+c;sxjt%qV@1LaLpK(!Q%w""`gT(*8[ NKL'9tR8D[YHl@GH|8iDUjڃ] !ܬ<,,a ,(-PCj[M^ &7Bl yvg]MQt#,tzS}E+%3;_`xkޓ]N3,.mo>GKӌqbe :d4ZtiW§Q܀xӫN1Z%Q$NqCx_>OaI<eޣ~IݿRcP?sXx1p;uBЌק!6/tdQm S0 !nb5ۡV+{m _=^D '?2>TVo'ynWiO.w߃? @;/9tn=Fhd 2" 7ߺTuLwi:P%/GyCŦӪg.^t֤l^:cım+pރDFP\Ia6^FQȄ{U=H{4ɹ(NOn-F;~TMÖ̀ `%I@0h6b$'lHѨd!P<,,yXp{3D;t0KMNJ`⪬je^Z{.@PJ4g(RIHx];˳?=% ?UU"]e3¡5A-ﺟQ~hC/zFieV"z1ȉ[5q׿{Fsqǂkͦ[>ZEyEﰞ ޱعE1[܆F}$ p|#KL5n끼‘Cll7IlcAAQ@ zcTΠ^oh (mj PqҿE|y=e"XL>o.wM^j8w]eYsjn$,yis9ʦtkw)J_ aKcEe4 UzƲK9eR!% !i>FYdy%@ tM[$<|YɃAD |( ZvU^-4<< BAd)3PA zb2" W`o5a1ICpZ(hFf%pR`(Ay.UY/_9%0^R2kT(3Z 0y”U!"BHlfY@DFNrTT NJ"$u,& [Z<3B8Ȳ,$]c.b  B@MN-D-rQYOG(-"V!! P%jCAk'Q9@*rP6 <9T&rq,IQB3PxF4cOʲ Dn^iM/~ߋ^>Z,7[8w%(y͚8iw5DE80؇?ҥ~g9~8x<^ą-_ 5qvsmN^Q컋'ʻ~;9p1I~nF!3Hupa3W:m(Fir5?p䰭":!p@50^YlG%,yP4BF*m58b ܍# !Ҍ4Map9, eaZU߁2:cJa;HY#$b/fs5[JMp? v'~%+I5(wM0&{DFsKDQU>  P k8Tدw4PPqX*NjF\(7šG;,>2qҡfN󝈅֖t Eno_LB9dJc)Ǐj?q0R'Ƙ?WhB:쮯mq{7P`Lpjiz} $BR1՛Qi0adEP)p5@1LG ~[h(j-f}@hVTÈ%b2搰VpJT &D2acIñ :s6++ 12$+ 67d1IˊkG;t*L@D`XSf$|-3vF)k@vFp*ED&Zs1e"[҃@Dp0570MPc`=!Jdi$Ig':lZuƁn0Q˲b牅V 8(0Waa^U Z1S"x5ر+ow2M6aTөc'>}of7ʁJA>Y\p.dlOwh HI.NNϯH+q%PABXW%X9(A2&޼2G4„81}\ORK-,83\Nshq-YXo9HWEH5yԓVy^2-6ĵ&!_yS5);xjg_]c]TKta?^'g$*7BCYmm"&cA(g\~uQ&ݬDŽF6#JP%%EIʠjpiK(gQj8XTAh5䅅SL DY + fmXW7BHE Fz=0܌U(H0;L & P!0E TPAҤ /R@.jvrUYa 硷٤fuӧ bx!kLYQ͕j@P;w;=cin(./Xg&O.iW|9dIJCK ј^ BD1Lӡ;O&a_?e[:pt1ƨ"OCpuD'cFʌ{ p:N4ރK&b<Qu*(Ev^/vM722a>'o}9\6Dmn?y|Cvh('s`o7D pa}GS_'3tkřr ["$0,85_G06@'FҭQӁ [F='&I̲\Dfv(DBU aa>BX0.2H^Y!5- cد@FP@$ZV(/`c’ <]~SCUWI@T D'sQ!$ȇd -k a<-y1AY*0+HrH"SsLַk`G: tX^U⎆*jH0\UreiaxUK`* 7P P ٌBlµV'O/󅧮#Uu< 34L0ݕBy `M9;},CgG*oRJ@/:r]{ҫ|ǻӿ>DB#/r˘L 6PTLYra+ڞ'F[ whR,%]os^|N8y,\Q4+19J>Bv|8JS9=iWPc~׬Z =ޝ?!jdsozn 'j>+WDuھ{o R=`-&йĉV8č$N?J-n;w?o$Jo1Up(`>._qjz} J5˫[4)%9W=͍Wa&"hsA)G4J`0vHB -Tc<ك SBj9rV55a=DDuz/>bg#l 0)71wxqTg=7FN:D݀0b,tbHaxhc<3eeIDAT(iw?EYDEj٘QL^% ">rUi{Hkup!M䶄R ͭvRayyedv{EQB 4\k hC,{KP  `4~3?s\'MdrSɳg/& K],_wnv-ġ:e:O !GU9l^A.X3l8' ȒdR%[~ r-7CPDPr0S8%-]CO>uQjHJSUuo6._۾9H/_S,v/`zEQ=oWW7hm=W; *@b^;B$TUtVM5}ľoyϬXӺL7E>_|,:װA4.W f|JYc>~:d߾E|zp!iբ*\u \gM} &Wx}{}={{"%֒c*qe-Aj /"0i!|tg/g3?YD@ Ԋh;ߦU%(ʺAf[.C n܄psX 4,s ]҂5V߉%ې83x>WH( *Ұ3.\! Yn4X/\xᐹ1/ahժ$b V荺CKE548E1G(BA?N:,A9X&0*IENDB`F}FZq+k+kq;Rf H3~nM8pH.:G9wHM̦1KV֦Z jZk팆"!I) )IYɩx5KK՟^jsGBi9vf@Pm"9ab%JYc'LؖsVwFt]*z~ؖeE).,ϛ 7!*>I,f`ؙأƣw)W0t1~?GmvYElP(Y!U\+ԝHsS+j*,GJh{!]}'yf,E] 31SY ,łbEa4ƛ'h\ǍP]kuxÝy=wj33 a`Ljht;"xNx_k}P s6SR46blg>swqwʿYၬIENDB`1 -L:x 'x' PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9řM x EPNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"‰GxKPNG  IHDRw=bKGD pHYs-ItIME :*AIDATHՕ[lTU9sLLN̴ h ʥ!FM$1h b&5AVI_ hbШB(&}b#m-X40u{x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME *|1IDAT8͒=LSa}_mjlDML\CB ] q`pE:8q89dttC j({/~4aapѳ=uhy|,5a:/"_wa|f3ptëW\vi!ޙ< @*rMs~\c-*†-P`B"Fh,3h(%m!MƘn! ^6)M6Et@ z>Y/OQ<ҋ # [ѶgۿXbMP:0,յmOmⱱ:). {B&Alb xv,_2q28pG>ptE"U;6Zu{0XW48t"(e}}L 8kK7:lƮ+4/P(3J=Έ uA/Jc#Z俈?:p.@IENDB`9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME$4 Y YIDAT8͒KTq?{Ό^gtPR$hcm 60EղjѪZQ !`RHrt|$83wBZp}=mǵc"1@s k*t9"\oaG)rMt#L#6(>BZq5K//ZkIcDdJeÚ:9],FRvyF]H%:8P("Ecu]S T.EY xn:Mcl" X2ROd|U3RU -a=c903}ʍXU, Jm4 s<1;oqx. .IX.M>W(듩+NL8Z 15I 0  eDn`]Nf6MΏP_[#*+˄Lk1Bv(>mxGPh3\ܱ6ti] `jYj(B\m4mIEoBS9/<2,૬F\:@L|}oZ~䖤p_䦟ԯx, ;U7%fs7m` KBh@V>;#7Q"MI`t8za<EӂzEƲ5xU$8rەj**y?D%( U ܖ-w2ѹy뗷 >Ud ˜5<+jB*skJdDx/,Ǧs-08.pt r " $@D!M\U_-Bc S+6d "$(ITl^LgϮH\ -H)I~D6-%UѩݽݸvK"IgVe\ BEjj47NiP>oCCcQJ #SQ"{0MN(q(Xɪ7M,Ӊ׾IENDB`? T,AxAPNG  IHDRw=IDATHoUsϹm] L$`RRi!PE4j>D-E6@ є6*CEԀPخOpνg}pdK[ei[YL0o`9 s|%;/q!@ be-b .I:˵䖳"Xlɲ3l݇qp\`.%p,8LnbU_ZtPgiD2ʢwͪUU5ۃc`k{;^>\D+>fSr/1p,x5{nC0]X+cc Qm ym}Սc$.x챉p)qp]UpjtN,ɢ_7#Pi{q$CA,*E4KHbWåݝ#C_42C {^?q96DªbBsS>3 Lo뀮{\0Oϙك'N()UΤ4gtx= }SL2mCP2 X^u lZ4n:F|cm.Oƾ=/vg3j޹=ؗЕїO߻p0@DLDg<+Rk6 Ʀ4ݍ=)P[&@NҲ'[2/plˏbPQB[si vكQ$:r>^bb6%S}˂S[[g/x[qekf&"7λdED)~uz)j|E):9U"!yB P%zty9hE >\cmlB"c׎N- |sZg&b( -So3<"K==ݳBUHb}0ZYu3RY4nHrBXC?@$N9(G 88Or%! mXMLwQ,yXYvѱI`+c P Vy_iXʅxIL]yXj0=t^ y} Ndokp{JDa>~@Yq\VT2},_9vВaҤtäΛ43}=1'Gzh0en#I39!FĀ1ch%\1M -ѧ_=!Kg):vOzpv`i9gϲ`y> %7o`|n ᅫPHblK&} _>E>v^6Ȋ.P0{/ ,"U`Yff2L +"P#@g<2jB2 S π IENDB`?$ ]]2x{PNG  IHDRw=bKGD pHYs  tIME%IDATH[l\gwn{cױdז@CRu4T*HUp RR" U. "'NI1bx޳{~HHHh4H3S'QWP`d@SV“{#ڵѱԧƗ9 l~޺ EOǻ|罨##O|IQWLyuR>o03kͿo/p]D>t3ނ|Ngvf )5,Z)ݲ%;DYRӸ Uɳ$-*Jd| 9 {{P]U55u}2̥DMAtթ燇 uRׇd7gl+:7Q</7oO7 ,!.Zq5֒_9y2elprDB;x}A&1=*X92 @y:ě"xSzq}Jli[KVb-Xʤ*[|ʽOn ~?:eyc*y}?{-0> l#h4wWx<;||YՕOoE=B-J.ƍ_C%uw| ,˦P(23=eY,^B[,OQU?Kޅt]kضMsEQq\!=>NVC4FLNN4Hufgg Jh Yò,~?_CQff(IP  :.ab$d ¼$IhZ-@UUUEE24ȲeY%&2L H`& !`|>ACGGz(CV$I=`tb EU-rHZs47Q:LE4D{&.U*t*( N֮[:iDxaFUdEaUP*||ڕOMɓoܾ?y9 J^ALf&zjuDQ`ǎﰴӧOضm={r<|s|q .H4Bz]*"/D|,P(̜;w~s#(2~7(jmۘiYXIHYf5mǎ{9˽JvrWF~z,)QVm>%iB!x^ ԩSG++WLoٲ|,ANʲ͛77L6?:s˲χ(..tʶT˭cR$ 5e2%RiK,ڲeD`SSq2SSS7?D"qǝ'0 !|><==xvvv8i$zRdEQ ?D"#D"Q2|_,}sssj\i* I(Jj6i  9pIENDB`.0 zzzxgxgPNG  IHDRw=.IDATHoS?>'>Nl'FnTi/ƴ &mڥ۴M(-P`@D[krȊP dI_`Dp]gi떭Ç|+P,]K/m]-}}u]V?񐮟سgϦXp(46.:  x l޺Vǹu:X>")x,|G<'O`llEQ45m: .2y b=,5GcK_+ϑCNN܌u]ڢQ:SIC:=Fnj q0 b@Oo/ [:HxHPNG  IHDRw=IDATHk$U?f̤g4$t@I Qi .tsXu'=+d^earr:IF4v ɌF҉vd }[ZT~&"_wG5۪[_@uddZtqqQ/aU7xcnn\(0 '_b?p_>33CZ- u]<xcccFGGZFѠn3;; pI,LOO8&"X[[cww(EdƘ&&&Rٹ "DIx\"2SV_XkY__wXk<ɝGyAz?u K+g"18-Z70dooJbϪDQD@UCkfH1檈BZ0$߁flvt: ³=FCQD]a-J |9#\rrYuApYD.I:^ޗ!Cee_鱫"2o" /@izUDYdzD`$u/,Ick\?έ#y-iTuX9 z{?em0c"P!0E֏@(]@;٫JLEXD=( NVd]oׁFSU΄=WC<UL#ތ^IENDB`9( WW%NxmPNG  IHDRw=bKGD pHYs  tIME% 9IDATHǥnD:1iz=FP5gT H*4M8jv<.Yд2H{;7> l ײp0~>tcz_jpR W|*aH*"Ym|]BP-Jh4V`0R~y*qwvv,V#NOOǬcS`/2nyѐRJ X, J>90j\\\4ft:%ɬOonnަQ@۫+|0mw=Eqfv<Nsn(H$-e8/l61H)O>7^ahQJi-LRdd2fs {޷A @a ! ZXB/Rp8}<=})( 50 Z T|@!0RJ)1'LWot@a"ZD"p~}Qnp8Q?/ !'1ih b΅lRd.\ZEz/@k]Bc:"ZHZ?u`b㡡C=G͊-hV╵kyWq |1 2oWjOt3#| oLBx5B2ioJl^4rS˸>bU~YWs[8 z`- lά4:ߔw ]:HDbtوȒL![ł]:P…LY_oL&ȌK xksv̝ɀ4dǮ;3ybw}OGvd@8\^| ܙ P!ˌM@BѮ}Ka ʋohd0tj E9.K0`Z,ה6ǫ$cַKk#g2uAm+0>,d:5Yɗrg>U8+S֣X=?3NF++v͙s;2i'.<W֮( _bsvٱ/p Ng0Y$0a1z!S &Fdc89-+LZoMdS>uQR+nrU<"Bt$1۬$GPӗ-~w;%L6kv;ʉIENDB`8: qfx!PNG  IHDR& ~d bKGD pHYsodtIME t45kIDATXõX]l[g~ǩ&iuqUqM?C0UBӰMCii7H;Ґ`$v:6 R.FK`Ij$M8c;^.xbu{gsޟy2 D^T/-JD4Myrh8 94 1iV)ăZv #nBUջBBwV"&2 5B&0+еSw̷d"F,mb ev!]{^^D 2iςuCmۮ 2ˁmLY}VTluWۣr l۞aRn_Gf$LPJ/Cv~f| M ?>('"n*@!S~#0B0p;u>MY/;`-ھ{G?9P5p@KO;*˥CF0PH/ñF."Z G Vbd,@-P(7j6S$=@/63݈ 8(4T0 enepWoŠ{̦3Vz6 wJ\_ɥ|q2:T]yo NrZt- 7J]!W 95==Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME .4g-IDAT8˕]LU[ZM?llj@t#0YnpƘfwr fi8e&Ʃ|l -+m߾^ 3sr_y#(³fPܹ#>(Ãq49s`0l7k A+кYO@\E:fM>Iӝb|Av.-/<ۂnP(vKKH""MM8rxfs=8t]'Or%vԲ:wv<8{=jZUUUEgg'}}}RWWNE)wttv>R&B,*׮]C5ju>h2W&ar P]UM:&H$X,JlZEhhs㣟R˃ZVVVjx}>@!:%JQz3t wwuuڍfgy9 ? E0]nss?333 EQ٬ zT"`P~l7L& $e2jjjK2. ͆$X^^&!'IȲJ"ɠѨo9+FG&3\SN:jR]]MP$L JERdñ,;C>?NͅKxQTa0$ KEŢLfupH$Yueۮ߇ߦgf奥e(EՂ&%4;`~q|4M(淃Oݻ{[ʭ݌'bH*#( fBd3Y1&Y?pw^Pek x<67lӹdYϝ;T9 IENDB` ^^ {x{PNG  IHDRĴl; OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATx4KLufv,tPC( !шiIMIfZ/=4ML؋MxhZ< .,2=uwaewI|)G[6BR(U=QdV[o>5*+RG/t=LߟqyL.N_*d9?|ԧJ: ,e3aYΞ:k`{+OI%MN>yHдjBhZ"ǢSd׷m Non*nX&cb] GF?t}n(躀BPXf *]F#9X W끽nI ߼/klN$wP\:qwv(+Ky.?Wp VDE(QkΞ_G69j7V)9._ 2l0_ĚPu?EkUIENDB`"D kknxnPNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zܯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxD[h[u.'Iڤ7zYڹծvkcÂd->'烾0|Qal+Zu)mmKdINN/xoP*h5 nmP06m'DKZBҳF1- Eq_ߑSP>'f:- k;G\#k1|Gl(:ַhfN⛟fH&Mj$v}4 "Zsު__ɎcV!/vX(8-+8BZ8H:+_̂K7Huwvf5~?Y],Z\ dۢ}{hjh"X\*m&ݙ*7+MAvFp? Ձ{:=Z7ZE9*|3S4o$$ H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%[}׾6guܩ,i(Op'ol:ۢ< ?`Hm,26;Eunbw...x.i B (M [xCjlT,17EZX{#OXq`ok #@UD5њ\.]ەJlvi~` DnJCH21d/dXiI2^e њB@ ]W)|DkP-BA"k7[vkVR~e1M4C|`VP_7Aã^B0x~Kٖ9Zc(DSZ #Q ^&-T$uĶ MPAJ  F{$hfN#&\uiS(APFtϡE>6<$vZͷ P[IU ѺhzFzҨd gچ# VběYc`/" {e}9oFiP:xȞ{svz F8bmcfn%Ţ1 F N;`ƚFk6lm_صm7p=☎PCe+"hz >4*ĻzL{lx@߮oko`a!B*&N0 XZZ"SVADg?Cog>>+<8;GscŠK,74Lj"\|Dr`[/]LNC#;_H؝iVڒ.E*RBݧ`,zZ^e]пGюׇnOI)L%䋌OegΝyy~ryW_ז=!uzPj3A|F\o/шIENDB`.~ zz_!Bx3PNG  IHDRabKGD pHYs  tIME  xPNG  IHDRw=IDATHm\Uޙ3;]tnE[$m6~@bHP 4ИR V]P?ňC 4 6FbhL0!&Fj-v̝̾{y0ۭmIν99y<(zM]7nz0ᕫِ{%=T-_ھg玍kH(b,>66sR̍DsWqyˣo0&2^TD&"g>YLD^?)ډ5pS/=_ܖFjPJŕjN -EOfMuԡ~~rD0`%MZu%A.Mi}kBOٸ.E5\4pHu|zeeشs].|xo~RzY V_|/uu(XRWfH%\^dHéEFA+o@$[HYIDAT8mML[u^飅BR>€i]â&x͖mO^\"yǖR`J{}{'G4/GCNyD"RnnX㿞^ziCo__YV6,2+%e>5T=l&G>9wi7VIW%y(*+ǺC>8Ue>⟎oパ-0;T@![$VG{.osvl)=bKeNr3!*=\#ֹ6'Ighj 6:3qN<~1C_ KZЉ0FRP Yc{%[/<Úp{cK;[ѨQېR)JE);6ww)%m{j:{;{ToNpd *W@Hɐ+H(hʠv1A)}YڦbN [XM~&e#vW[.^k[PwUs* Bk@Ѽ(BVPi<[Kp8r^jd:9FrmE}'ߟJtǿZQ5En<:eǃLXdרr)"~Q]WG\`(CWG_:U-J9+J_A{@k 3DFGԧӭG>NF>8s;.wO[+JgY*[Ny'zoճ3SіV*Bv3go0.7uIENDB`mUudRhl{͋粸vMH)i6l% 9_2$5f} $K^ȢeOt}05&4 )$B " B j S%zt+9{$kVov \0>&b8s9}EŪ~z}<}UC іʭ+@Oͯ+EMh[,ifJ9,e{Xj> RD,}WXXKx>z$ܥ CW5Jc E:1FjuAYB0MX³Kx^%K,n 󼫺@3%kx2eĨB"wOd\^6/+uY:f7` tTX)k={xdR)V@@E K %qYYξ5`@@z PŠVزc?ϼ\#zs~(h!:QsVdGG^i_Ѹ ] P il8бI-2 Zd f3-"ӓWH\:Wa: I@W| kus)4 t 0haL&M *N=?W~1|8/#`:9=ZA !^8_/ nH"~ď_@C{zV=8Nq Dd2I8FJ8LOO*PXkzM[fN_ 3ဠ԰,\nd\Hz\xWGy }^?f&VM TK*y`Yܙ?'Yn"ҳO}{I_W"AGB NC*W`l"u)uq l>ЭǢفµW*ۭlIENDB`0 g#Rx+PNG  IHDRabKGD pHYs  tIMEy"vxPNG  IHDRw=IDATHmTW{g̾uw]`JX(nijlbmR$EAԥ&~1XRI&HӴI,!Y2 };a.'y={3!6.׈~& w tJl+5|ko% Du_ؼH$cB,'dN{OɱAJynO<쿌(5VV*UVj(+uѳJm|o\5/;|;~5&Q6@)`A ̯ce|?~WT@:X:T̥CAD02݇~t@4m/??bibgWH&P|NBq$ g>(r_0ĆкBƻ$3;=\ʔ:C#|EQr9anaIDAT8mMhu33nv5ƶD#֏jkKcEՂ"B&HKTAAKKZ0zPZ/JSM&i4dggwv!m^x{%Ibی>>%ʷkf^7]:葞w%.Od+7e1b:-D|,:,D>P G8 Z;?~ -])3XRP]o}FHw70莶JNj E=7!UN~&@䏫l^PXeH,LAd5RPPBcOI{=ٳwo\IiA'vQ2kϿRsdN^#iFfAudY#XF{(.mnЗ7[8(u>ZɖNMHgdѼVu dR,Z*OZ 0*R/B@z$I"/\^ \ZLh-NsX+k*b]$Ii^3,YׄJ5܁ަxK2j!CjB]`9 x @s52*_|}1ny$<~4Ï  oj VByšogƇVlF`ū*- d#2*WwOt.x6']ځ6 FŶA}}=v-kwFw~jGwcuxTz[>|z?c'&|$RHgsSSGl%Ir51'\g]?Zvs)UIENDB`5n%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxDMlSZ붾uC l- fW?A!zbO4LԃCֹ :v[__ھE;Ul%Rj9{k(S0 m}o}5BPA@j9ʡ^ٹ[Z@@JewO"1Ʒ]vƮտx$aUGNǯ]oS1+ - r[3PY.^% IGA[Q><@b7"%Dh'd~9c˅qF$J'|Iû X979|f)b: "cc [PMRCފeKm;^LQ.2f7Q0JUGXWhtJt+WQSh߮'d9$I.zۈWq;w 5+^0~'2(Zaю>o{Q0ս^.NSnUDEQbb~0{??{%" jՙbԭ_UٟWdƿNIENDB` _<%|x sb``p  $?ORAN ɼrؒ]";,,f`ŒxK<}]oq2 Jq Yx8XNN8С_v׿.ztMYx>7^ ӆF `mxlEN}'`tsY{66 $zxzPNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G s sI(@x sb``p  $RlI. Ap品" 0kH{+m6fv>E_B%%y% E%) % |@E+<]C;O55 ߸ֳ <%CCݱG66s?\bg5?`[0܀%8Y8 Ey8XNNX `;r~[kJ( ky~\9_ %OC:.GT'^i89SMOAKRfsD j eSBB.H N+ x sb``p  $?ORAN ɼrؒ]'E8 <">0܀%8YT8fitq 8@ IJQ_mٿLZ 'p[n I>gIkӽBꙖel;w [+k<]\9%4`b)@x sb``p  $RlI. Ap品" 0kH{+m6fv!9[$K\#JssSJRKRS3K2=}ā<]C5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\k엖XHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F*IDATxڬn0V6@8OPV!ud )s.(Zt4"{I@(p$iz;\sHߗ{<Yw~ \9{]Lᜣ( xJ Qa:o%X 5I;lá2~! U% 91#$IoմgAÚF#elwKE^ͽ$e+UB@$h=@5Ћ-1:|8?n4h [[}JXCъOӣohucu2`M~ $D}AA96LSDq&ϿR]#6"̢`79H"rhGt>\|]0cPNSUk-y˭'/h6C'|css}-0Q𥓽Q56,=r [ \_]-% 6NA jes75KhIENDB`6 j-Xx(PNG  IHDRw= pHYs  tIME (/D MtEXtCommentCreated with GIMPWQIDATHՖ@kH.%-|()V),R"-6Y7?=p | ̹3Lo"H""[DT YxtހEOqQiZuu]kYFQ c2h+@0Ԣ(QEa:Ȫ́yo܀y` h8ve`heO,s} vfwZg+n ]W< #PU>it/To^#p5Sk[kv㸓`$dd=hA| @\^CƲ:CIENDB`0",H x PNG  IHDRw= pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`lJ)0'[Rvo̳z#FA[L}M5J]$hF"mhדCD\5:|tgJK=1.uxMvg}&Y|*12a ]0 +*@#yEҥ̾~uF+Whx3RU(IIi]9^+cif޺šx(lHBDǀ$TvĠOP,/rSBEHl0IQ;;T^Td(gs%Nw[Yg'?!4LH&IVڥ@lg/^w~vba&թ0ha@\e$GK7_4^g1zv J#$ Bpѧi pk<'ܢ_LIB.2yHAǡKa>Ͳ y4̽Dmńto1^ψmv0)(-UpVêe/ᎎ_dN*PV%/ǀdINYq-3Av L  j1_DϜvxr'94R4^0(RM k]˒yΩ>^8;;˩v tV,<\K~M&=bPStyHS.Ps |07GPt9Fhnߣhd:Iڍ,ݦaA1Ӹz:Dǭ>AXDCt RB 3 E[$Kh@ji1uo^·FI^@KÏ~FH/Y9KւEt"(=T:2Gh8vkqE??4ap>ݵbAgސ95a"Jg HHQdc|99WB7nPQőf(2Ylvo9:)Eq/_&oDWB+P =dgS:wRQ+T"qݯε;WiCO3tpTy4tLĬUA.O<xaID!6LҹW7 4c=*K)#J[i) / NppCJ;$) @ hCB1]|ýL)O@';H1 h߄Ife"WrtxB @90y *f _]x ?'uJ> Iζ4.Ko_!ƈ$B~f3YNvkAɨ(FO tknh- QzaS~LBIL悐FqO~Sy}TAyJ D4x hBPI{E^W0k D!T`B}n6 @#7 v&xRl) V> r~pD yf =q|'<~u@Q#b{dz8Ezc:w)HXA- w3 >k"^/,"qE @*A[x?b>`=-ēj)a9:qG|XX1!Aa (Q_.$ PJh;ps _9>չ?$Z0 2o'虳Ơ$G\L/XBΥD ĈDM$8=:z.-Y_\b=\z+ 3:j D눩ƫH~WtIENDB`3 ##W/2x sb``p  $RlI. Ap品" 0kH{+m.n~c*q@!׈ԼĒ̒ wO߀F>qF}Oo5;W0w<0B%cgy?1{M"Ϣ)vơI6(^%z clq?Y2^O\j4]cgK3izüeKcܙس&'0-wpKPbO]v?+YYy 9i}~ceۼ(ojecͰx䇌 ׷ζfxҐo .ڲ1xp]wwSY[1dO_gpu Ykw; ɯ) ;r.h x PNG  IHDR szzsRGBbKGD pHYs  tIME16)tEXtCommentCreated with GIMPW :IDATXŗKuTIݒmg`(vC1xc2C!}6I.0lsH gA-%C~WwuwW}eQhF.\>>8?{_21FŐ)BЖ$jdDA eXI}$h=#CD1N9Oqh "e0i>'%Yxݻ8bdZ$B*͉a (Q 5=!CPq]s;l[LŏkI]J C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIMEFiIDAT8˵OlEƿy3:vݤud$—[H4BK UHE*rR N#D O zM"8Q,T*mi+GwkwC(ny};Oy)pA886؟wrFq(iځuuY:^w]w @0 |+fff lKid#@ŋʶ8i"u)JX5MJr'n_z٫R7ϣ9:jj"*q6+J޿˂ X pҲ׻ϿFR|1V-wMA?uS"*&l{} @'677ϵ'8% AZ8vX&{8[_RʕE066X, J/_ТRPlhZ0 ? Ji)nApzoG"0,"%R&Yw?rxڶa) cv(@Dj\$Np1&+NaznBjjU 4ͬD49qe:y8Nsޭxgggih $> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)Zk+?>󪪪*UT-˂h 4-] %0o\ܾ}>_.R̙(//0UfX]_^Q+++X4( 2t:- )%8 JHMx<Yie˖Öeykma5igp8<v|%0`>킔h>z_i~?^/~ 56~P"gr!{cJW<G08@ oBX!''uk?D"h, ۶A0pa`hh#rRܮX,aR[PJ&p8R$R2 ּr((|hҲx,(/Y:A\.F"nxllcР*(%S _P" #^(?xs~5<^U%% , c!cGOrO`ddh8l9*3DmCuTm#L |F)FGGi:ȴ3gφ^RL[G2}}!%/S)%4MGW?dBJ n1ŕz,YR%`AUU %ΜN<BȂ͛7w۷%DΟ6Mؓ6k\xa(//{g|[Z!kZkR\ @cSSӕ+WğҥM.xvo=qXft:.\dCaȳgJB qM댮0cGA2f_7 LR{/ X^rIENDB` 1(xPNG  IHDRw=IDATHU[lTU]1w*,4~DjPGALy}@`h)3 twLy;9c}>{Cx^44487l@>WZU\ H){Q큃X4&ɔf~ v9`ss;w~ XԺsE!BH~ys^Dze­K;::2HvBokx( ϟ?*.~՚N`p8x'D+LBB`&$;`a, a4MH ؖ 4]TU]iB`}R( (`r[ &2PxPNG  IHDRo pHYsodtIME  pIDAT8;KAlkV MD%rE"Ei.Z"*6 .0эs#&n 9͙s94M)% 7z]R !A\k|WwNPЀA vۈ% 榨VSS2qq|312ϫ9i*Dl;El&o4{eyϙ ؘ6I$ait4.AeZ^~:8gg}RJJgggĶEBA tGdxloc46t$"e=׃h,u ygkKY<` SZx^'f"])赇ѵ>?HUX3 aA 鵧>L$tzȀJ K٤%"IENDB`6R q3f^x^PNG  IHDRw=bKGD pHYsodtIME IxtIDATHǵAKQ49 *P,l< `7?A"A=yDsm=='- ^K٘{=4̛R)yjy#J%,Fl6u  Odo7G>:B*pHONЙ bLw}F&ރ)jp]osx__m 9&[߮WYhC.;E.;5ѧI>OBm)=tEiZZºheD޿˖f]]/\@?{FivϿ,@t3#G)^XTx{z hy*wP@8U0ZR|BͶf6h9?OeV7_q}Q`YKKH<[g@,@Ldry,za᫘* D%B~Max^-Xz1JxQ`WLץK 0"Bگ5q+5>8 n"GXWqZ%\\?c!Zz^0y Wٲx[|߳SUA{ձ1ܻw m`PJ;KdmP[پ}Q28ղ8'O޾hFg4B/FÀjSwFבW"zf1Y1\K{7@Od|}źgYYALμI8Z3JA9^O%p]|ۦdۈRUp Q:56\.'S)y'IENDB`c` m5^ZxZPNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<IDAT8˵NZQy8DF NJ5XBр/DiEmAD0@Դ8Ҵ% Y@41_go,9'(ٹ-;5Cc-^؊֐X >څտN~1ՅW v\N)i7mp- $t+@UVlf0˼߂|@%#ZDD>U㮤##Lz(27ύ > YAW _yydzr7<B8WEeSO`J\''A9-K0BFg}5Հ# w !zBq7˅+đ6s۔CeTH`9ܷyhvע)DH&TiHH9KI$ mֵL\i9IENDB`F s6j`x`PNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<IDAT8˵ORq;Es~Vh7D i)%FW;y ֋lENɜ&UgWZAd:{>sΑd`˚囒}06HWz*``ܶ+z>"Y HE# ]|zE^`%bŢvq<ߎ!l;;qOud_W!D0_"-IJx - tn$%!?[ؕҲגm8UޜBHÝu{N*Aƍck쿞&rPPz>2I)3A.uFk4KܖA.qsjw߈`LwЃK$H wh5G0zg'hcA` 1?1mR"@Qɩ`h70ɒpGZupvUO$M c'qCGH L+@Tk?FEkҼ갺|IENDB`=3Ԩ@{ L+Np{^pGHgEF&NːPc[jv}^P6_x7>?~䶮-~FP qqPlFLIoD{3A}ö2FudaiBvt6U0Ǐa\ M`֧J$4bP$ J {3~-)qz^>;2EJ\돌y-qhX0mCyR TPGU[W"?ϔ~'hzOZmO-].X~,2K T`#,[aŇϧ) |'ӽzoZN-Cd, BTYRF ۏNLgzErpZU]U>f㐑a 4dE((pab*MjU/Nkqe_Wx: *I_! t64j#j 3Y\gdNW¾NU_`"s 7ZP@քU;P^ i"QLΔIw/$s.-Sv]Nm6r"LD׵Jy69T:I"\fNF!; h YQ(ʸ8[|$o,tngRQ87G  YMoabNoXzFI$e 4 /ka鿒"N#IfKʹhDn}Jvat&#V<ΦseU'!R,F,Tx$!:8"92q.Pؾ1`xQVnIGiN{u*ʚ54(}Pgik{_FG/}vyArnl\Dga|ޫ]Y[-.;L7LDoMZWuZz oxUlb1IENDB` Q7&>x>PNG  IHDRw=bKGD pHYsgRtIME&IDATHǭkl[9>$؎رQδi!)Ф^DĆ&ƇNhb`E"- DYHRh!ВigvnN|)QҫGzO+ön65W]g -޿g⍧Rg 'c0B3vNNˋgz`:ݶ}ݞ<ϧqC_6ƒgf)Zۺ܄%X`Nr&tAQ,K 6EfUiU-mI7O\\gEUoBQ'?ȧkCAJ)u4LJ{S]dzr魜$^mr3XaC So*Wyle)skWpm99^f4(OAkUԡ|֖rvj"%Znٶȱhk]T\ p )U pd Ρ2ϠVvьyn1!&b⣇KrJ5݉nzy1wkO&8]N7)vNKBu!$ ɤjJe͹SIv]CYe)I`2'/aLF$ᬤmil{У"ozN$#4"ĞG{eh9Ea^OЉkGC\1{`^_[˫x$lnTȬb;H'MR5N^_C8)qf?xӷWڞ3=<u)LJ%z.xnxigrEۗ>*vTjRpDDGWTBQqY6t2:@܄Tbm08yLZ9Wٳ& @nJT,3kP+)hO@EEr}g@& _B{: ՑM:55:1+dL5rĠV7w\ :Zov 2؋vxn xH @G,07nYjN7nw&ח:r_T8F]2*i-ojγ4ifV7 IENDB`Z )9VxPNG  IHDRw=bKGDC pHYs  tIME4 4TwIDATHǝoUU{rE"%6"bK}%jtk`2фCcX` TZnIBK_MsspnBd׷[Q֧ٓK׮yjݵ+A* ӷnhnn)8WWo] ڲ5,IͿHiæ- .@38j x PNG  IHDRw=bKGD pHYsgRtIME $6IDATHǭU{lSe}ݽ}l=`ma 8t Ȁ OAB&F@ Q'1F yE@A2k7h7mCQ`@wƏcB(+,S' _߶띕rEY`"THٰzy3 u.A.r@gj9%^_z@OWsr+Kf|pXa D^EX 3kw ) 玵g3h8h4$KCr674{2{o@Z=cHE3ۮ )jH" aԎs &A #,Id9O`<*;mF^.wV 'h60<’61bT5J7@ԄrGf.0TSGTHyL L B ("X@x/@!!bG5e@=o"y8( HC] n\r"ťl؁j s$Zcff'Osf=}û Z% b=sQڸ48=6>[G9@BADpBl!ZnO$*y퍷%V&ҹE-ADj2l:2({{|$ӷ}UK^9Ԓ\_R֬]:=9Bssj~ZA&nFߠq2$޹sRӓә.JZjzJdZ} Ѿ9;wpmd2>qTH$Ɏ)c!PjA).69D>tvlkg###8~d0 |Tq804Ej4o|O/w.{am8FΜ9×_͹9"لA.ek&vH|CGڵQ^yE*֚Uz)6IЬ[@lyw0OM,!xRlg-ZƤ`)_?QJZK[jc8IsZB  f߾= ^ȑ>x ZD8Tfzx }}ZV<uCB HyGEDQ\c0pҭ{ 2`hp%uK ק7nؠv Tt:U[|^Gڲi換K[6cMkBp}6JkTb%W?ũSH N!AC;5=]C쩨9Gc?_EH3) Ҍ7|8IԦ.[̜t_N| MÔs1y g^̌~sNDWAׄצ@ӧur2yp)c5jYw~WwXUf̲% ?Q1M ~.Ul6cpCBGT$A$Ȳ 0pر/|߿w^I就EA$A$4 d2ܼy1pAA^ǹs~WF#)@,{,Ba L&@)8jBZ Bp8u[`Y7*f`-x,+ ~:9GWW666`۶[]oooG @*J@^FTU}?a681H&( ζ뭳&!3UUeY~{{{`/k4xJ2SJBH(|F?4Ϳ溮ZVZ__뗅ƮI^?xosj5W(~+?2BJOi#heyB[,kݲ.y70IENDB`z! `=,x sb``p < $Jc) w'ud^9lI. Ap品" 0kPו2;B%%y% E%) % |@E=]C4Oh rֺiOYN>užvU bK Gt m|f Ηܡ.:{g[\ݦd{ޓf}vƦvWg)2qsӥ^ gt|W9aNxmZYr&źPg kOs[ W>?x sb``p < $Jc) w'ud^9lI. Ap品" 0kPוWdkDs~nnj^ sQjbIjByfIo@x#8*nOS'n: ҺrK%"1OL]u,Ly|QIпLr-5QZKȅ &ȴ.mMeVsO.?u)uOި}㰿me W*tY_:q9TbU;^)ԞZ>j;)~=̠s=U$Y8oSvpmޥp/\ްjShڀ>_)%3(tۼ6S|?[dSkONx sb``p < $Jc) w'ud^9lI. Ap品" 0kPוH'[PH59?775(5$5E<$C7 O苧c \ﯙ3KClA&qwnvܜjҡoȟ%Li^$eEfUgg_Ǘp4fje)5ο7<_y澋ç uBmqfDá_c[-~JO+gj_ۿ+o9Mӈ!Ý-]5.I4ȯjն†/wWm|MϫEZ7>[ݰzOLʬw6<}> ~.|J&|3?kkJ~nݼp ,@1@U1T#M=)+ /^{|ۯ0༣<rΜ>ʨ8O(;fuwرc; ~SO9u4;gytG~:{vb]๣Gٸw߯ivUH{Pk)۔s_a'*-B gWÇD#K. *ʧ!ٳ4\s*n&oRp1siZ~#grRo]ܪ9?شmum; fͬ@cNΜw7nbG@vxy@▵Ćd4Юb h#hTǎS<[q4!D& @:֭L,۸u(~C"d`"~5F Bϖ>r ^4_&O %LP #e t\šH;_cAD Bd GIdVQAلItD舴:N@gwDڙ(rv5>;}^JK'S6%V>h+F^!͖m(RJ8}3@AulfTUL ;"Xy(+/I`uYhTVNK a2SHjͥ_شhg[3M1P^^Ngל>{3O]%͒H/Yjjjjx!0`EkdcKtww~z{p wRYYJ(D|:.f K,8.A@o:.zd Z)Nrh׾Zؼl6Pk wsG<=uMr&N?o-hYfVIENDB` | ]]BBxsPNG  IHDRw=SIDATHݖOTA?1DN$\bbrl#LHJr w;c; Nw<)a >zVn 7#fF* w@$dA50U;1˯n{փf~tLJ29)9Wk4T1*ks}z ?a)u\w|3QByc2|N 9`Gɉ^!Ĩճ2i$TϿ7)KVjPU666qg01( 6l6d~~TH߬sOj%7PUO*\^40FtuwDN^̎"Ȉ(rLp_ ȱ;a"wp#&>:W|HVtXZ#`;t:xJtS'80ǃPd4_twRJA}L&j*rH DU.fխ5 3^eQAE%8E,pL t{&{󇏟IɲCM4M>UsJY).9jV'5mciل`IENDB`l' `CDx2PNG  IHDRw=bKGD pHYs  tIME "##ZIDATH핱kTAwI BiM * )R6EH (B gu6? (5ф"xݱxw]49}7;3_ gqc   4`6lUs˅+wؿq{ē$} 15Xcpr8{\§/ #5Qo$iYixn_l5qb W/aKC:IR։q!"8,\BE]Dlll^ ˱s j5'{1c!X,R*X^^:$SSSO>$֣jBF-5#Ն)T*"w2Ri 7 0(=MOOEz[DC03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ 6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATx\S[L=t2jiBNGnme"OHbu>l MOLc$^lDG0a,mƍ"z@;hzcK8'眜pX"V_%I\./MӗZ.r\LJh :HG_ح @ pB"*++˼suWgŖo'[ťy?k_*fX-Xo+9ʫ?>^^_d2 "ւ"pb&p'[\|y6,hp#p-, @zz:ͰΎ~}JGckji/).>>dm?`jj k+!bNwކ*] 򊊊:'8W܋n`>`fCCHJ>/sx84k2nv8ͪ soT»g{=( Ϟaq |aTQVʕ@4!pLNb7Xbx g$ F"#Wڡfi80D"Sc7MQ P)B[=\R\y8D,]yxW{/& H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G% 4+5 MLv};>:=2?~*q   @^78<\su),_X7`ag_>sGa.)Ywv8eW|:ٻW+O0?}|PaժH*7զ/F2zrK WojBԜw [x==B Ԣ}[4 Kv CE#5'C<ćNQYoCEncB8A :wĂ4 F3"D1Y%J'5dK,">DW"u.-ד$wFz%fS9)^ lMp˜+^`Jn#!`spN;$pϚq_#&&x9FQhqqd0!T ި's*j=n}=zQ~"i``וmֱhmllT"%D&n5=Kh=|{>ߴXّYfwȯ]!oLoZYsir? 쿏;fw"ThȢYf17{>΍.&&_Oy}}ü09 j#O/bdA"rNtź{5aݴ˘{c%\F Fw(y=lܑl%IzCa)g8SjTqur}[-/ȿ,ne!:#z%b<#l-("> Z/a1.($(%z,8qJlNt!f ٰ#xݥYPCT\$\e1#mԚ?Ny`u ~4SdZdΤAw?}z#trmcD+8 _U48LJ9 !qYLH-QN%|E.AE|xG5ڤַE;RomuXwMߏ#TG~4AО%h[==Dd\͍oPRNΒڊ8dEH s}(ŁF\SCWNffb8k#;RrBj1N$`3צƬ܌}FT|YQӽQRBcw T<U"|9#|a- GHw 5l$\9r,"E*)1AVPf}niD05.h1"DXlC_.Dp,$%vGBDNU͜.jĐ($) 1){N<+aȒ$ s)js\\NLyv3U$Akygv %r;ʊ})C)";.ת眂G'&Y G猛t]ؕ恳Z:O+S+g)D~_TFeX#tWhGLDc6إN\fyi/ j=JA!@7ij %4#bꉸVaY:~efvkS%Յ?oUJh#_EY)E C3+@]䂲C kCBu:_Jtμ~}"UR8^O7tI1'_#YGL"V AcS-FK*`luN"vf0,KHA.ؿF*xb{)ょxGKHn}hYѲD9T5d I"ßJ⺺|?ׅ۬`^ ({,?`?eH]#?߇JD8F6aH`F RH/f>>C:̚"NJZ 1qr*J>uonɚ]ןKu͋'"tE{ǁƉ$183e*f$?]ff08xh}C@\?p-7P/qM:ĵ:D_Juu(/:v_֩^ZtV.DA<Ac m:rVb!R2hg:;jshMo[IbH jO&#ûw=\ьz'qG;,+?\HP@3F591V(TK xfiB]j/lpay׸52ͥM$ 4hÖAhgkr OuUceݡWGbGE d0OY5 r{AY [=}FvGj_Ƚ;~[֏Ld ,pK%ZtxHmAR!ᆧƤ-/f MY'I xu?xܙج`{U7ަZZrk(KS>LH'Q[Ҧv eDi@NoA_UͅVK7K_1sivNxOi+' H+Rhv[cˆs%'d>zf2$qc׽Yi[/l4]OAL[AZZO j F9}b0sD{7R#o@O'GꌞE>gijӽn-_3)dx^zt[_S^'KjGabs?{W%J XdLDIh)w*,/5N&҆/WGdsqJYFQ~,! +X  k g(E2{ @*YQ/xO;3B zWkӉ$Ȝ|J^hn{nlEn.&'f'6sOX Yk-H0~ۿO]+{0j1cZǠg Vx4𗷅{=K .SbAc~zrSxZ}2_]">*rbu$\4=(Ѹ 9ڲ7=, \-9ga Þ=_E6^xk9Ї;SEz29b6H [>! QSaEfySqJ$XZAR"Irϥlj@?aӯU环oǼar6cypTbzih$S;: ^['QCӾ[ڃVGܩ5$G~4{ 9~3s#F.2謤m}c&.5 `tqoo;yB]`=ؒޠByT 1WmJTN ֙yμz9 Z: ;$m"JhdTLK 6t V̗6L\+SSFkr%& zlvw)9ѿ-BVD̯՝Y=[Ԃk.4qx̭ҦfS͞[IG.S.l&hLHEr6F o.Uq@Zw$A>k!st #I7|,H-K~Te701d6Ɂن;]5i7k"y܅!tZ>=AMc63/-6Mψ͟&sIo3>TTF2+h 6(`jM(7{ei":( HMao{>,?RWG( ӷ?+eD]k-?Ք4ע( !859 ~I 74Hj|6r~r7qn>oT%Ž|]J+=e0uӮh r/EbUƸ=c{4 LBAĺن0$ְ>У%iHhuX˄ p1_1*WRT3WlrRAzBEDdm}&ݭ?g W?< 4ُX3zGQ" r<߬pg2,Ƃssklu;,B:F[WA,>{3Q!yj zQ4 :3 j+p։iy~I#lsn ]񠇦Y8}7\Z Se&5 ~/iJ-8SϐW jf=me+z ,]g?z\ZUF nzW (?8M )vꡲ'}1?e+#YӗA=o30ufj5:y3// Of~A<_oq8w@D'Ħ(2ήuUB4nWHG^GCtd l'ZwZ^7ęQX5/eٲ,aϘKi6ؕ`!Ł?4jÍI1:vɋJ)OI5'&9JR^ .Dh Nsc)۪jf+[ѩ0nHb&LW1?,!.K .#+tWJAhS(T8,ɪ$tb˄y""Z/%O ^cbش^^LDB^z(Yx! TjY4f _[t9h\3_ >nD;dTmh[!.=7~E2TY[O='])-X-!ٗ?Kl;~fC\u W۪p'n?YqҪFX2od`[&ę /wR U25j #%EDL*}SvH_D6#6&bX%$h>tj5 zneob?o r;;3[E)Ip*Ȧk1= s.az5\^7u$Qeiy%YNK vg 0 VQPbo^r3|o鶼maN\=.]ŐnL^mx#ŚͣzO2$aWJNGʖ $B" k/ZnjGFb '5ڐ͟7];J:~|JMfrg @& (P!O %sF-P̕f?)a|oD0Gr 濃:|pmeV ;bӶx[ܠ7pjVt6.Wҳ'gN [q;g}NLF[yQ1ù=͘F A !7Zn8rWaVS7$؍یĚYԳA)ғ3N<~9pE peO;$DZ, | WHAhN,m ;RbܲloœB44 | .l\[%P^:@tX=pe+gHËRG46S^Oո- =ʣ=i&o/iنCy$fȏp0s>{¥rP"MU` BHe#YZhabdS͗ ”nЗɻf&|ό7P7iDlNW%YJV7t0Ā+Xٜր,鲕 חXO xߺD3Q\TVw@L*g)VRキU #fce.ef !ij%vD+ˤ=(G'Y)95Agq<7 %b jGg]c7h!ړe$3IXS Bq'p+ˊ]LYE>{i mi*Э#pW~*BQ»,qEW@ +̬"2WObT.$2lVdEΉ C,`KO0 }.PbH$OiPKjb!C--WHQ*n:h򧤦,f |Ո9Wy7Ca+k`{㸍{P睲]hԷuC]t0v÷?4DiB2Xs?563s<>Ks N~ ?NSƸInscd_i!NtUtFk^T6->'ȕ3t/+67D. t{rmHS7mx"+#߈zVzD62>ht`҄ QmY Q_֢-cl-&.ԽK<W Qtd<>jGK{AVBk۳ak}9wk80of73L]]b_<keJ}Ÿv]R-A\܌N}QG"}/Sn͔vqpblm2dsb'g#TP4FO.Z[=4Kq><䏉mb!-)ܢP jM#1 RdElѢWl.S$>Uļå%ICjR$EU2=5'ORƜ@wGRᇹLlxQ-)|z/r/,=t(>F C9 ,k߬؉^AG\B Yrd2R~tOU jкVOs^+ Bկ}b-rLu.Y zY$11޶k 03F {k !k|_{uigžoXxyv&)qٗMÃR1 dO]&r$cZwP-;)BI@;bEr4oro/Ѷ8*]VMĺZTƨ;/| K(/=G]3QqqV:%ƘirE~+_֋!z01AEت[5C(Q1EٷcI>5.?~;=U^Ç]An@M(ՂE$՞dtbn) |>Jݱr\Za8jXE(vZϹ/ӷlU 9:aΊo1Dṛ.Hh|a +Λ@~3n""ӲX<Ɍ# Fd3~.vsuȻӜMP̑ڞdf܄=ߣ!@ i %h:kRqe4M&>!b^.uGiHMF*m z;t^5_kInU=cŸ79wIn vMR,È a +3ى z`-eՒ{8mlIrỸz;c3X&<-sTӕK F8 *[THLoh&C.}vOApKҐjϨkIP7ɨ͊~Xf>/tL8dimK6V R$GUp9ز\[C%ssFڠYC]hu, KK&M~z?kvܐyG_ߞa/UV}Q|Y貚"1[?mNAay:sz~v\;[߃ͼwX Y0B^^D9ڄ]M!41nUm!MKbd 98hzjOAaGߧHlu-(`8Y^N"^ QXU}MM75RӼ)?kQPvqd=!E< )=30CذϹ}\I$ >yB.=jV,f`U>=JqFV?Mvr4;:Z3뇷j8 +\jۿ ԧ ysv7Ox(Ԇm3ju nx8>h?AVIXš9Di L֝dH__L 9qW8_{0\ '(h+ة= 8n`$g+L_ BPQm 3P,J# }$ `yd%+jC.((,C1g'\S1X8L_UkۋnDIlޑ-}:SͤRx069C"ϫ^IW>"nmpC~7|_ӈ-wQ)nZ>Շa#%fjG( t]W<#!pc4"0ۑt6JxWMvE<*i,/Yݟ߳=˫L!PD̸>1̱D,O $6#TH:4yS8 L]")&\ж]|zva*Tm<?Y[`%Lvϓ|z,3/kʞTˆʡ HBI~-5'Pj_.VBvb;1\;IX׷#7ʹ~ayA .4ILX:kܖ2i6!78d I1M|4Yt| f_&;Xv%wG‚~wLGE؝X |NA)B99#ZΕhfT2|B*i n뮑C8w"./veF[&?r߫;ĈK &si('zݛ-Gr\ʟB27pڔ@GѝL7fT ^f؋%h@l7OT/CsD=yC|fbiAWQ9Ȯ )SR+HY" Wә9nmv%axt1_HGh37Ӄ~3]>Q3Nl.ߞÅMr)xG.Wx=ptL:oIG"^ܣ+ߟ( 3oY;9r v\ K(zlh$;;Bӑ5UE~xj; ̳NٝLGNeeJjrUҺxKqL`,LwhFPeE=`]fַVYJ6G')_AwŃܮM4^/Mj3omU%5U[nB;ߥ1S䅄yڳ1O*u00#|D!$P0iqV¢A2Ks9_xšDsF0 Y {s x##}d@?45Ƥ]oJ՚"']j<;*6±{Lwk, Ł6b /\ Zݕp-3wf"Rw ?=ٲ,3\X=63q]Kxd1ݚkufm|رmi˂Te3v̧_Bja̙P)$r:G ނI8+j,8 7a' [h8mSAF[hisZr P}U3DSJtt\{UwreЦ>k&[s!̞ANEwN-J*| PhjEk+G[,QJii"hr4AYh@0o& "kPL,[ZybSy#YU0EEFK5:=%aT0xp!OhНЖ8`p'}+Üj?t:-q8KgBjUu/Hˍ$qhYspA5S8~JfF 9X;N3TҘ36azG@tpr6oHkh Ilq(}3z鏼ނ7HB0'~O}?hy&Joof4W:m/Q !t#MW*~h8/䂕yl[Ǧd ]D# iQ-#!G|0u'!^>୮xV5/JL ̢Zc L`,f/V(YV*ʋ; ;z,K>@q@W+IfFX4VĎK뾕}3AIĄa[ऍMf()Ν1zֈ$k2ֻ$^/-6 R!4,([umO̗=y1aJ0@_שXfj"S+G4o31S.T"mrp:C/ ^SFK,riKAƏykwfG!@޿"m;`ƃۧU~[WwwR&ۻA`ŗXוL2,/ƐPM2-R@ )KqCzbA "tLOijfQ/,M#Y,'璜ymBmn)+6:q`VPq{!VS),iLm!ݝ=fyFss=Vb8IF! E̒[ G fZUC#ƈh[c<.⽊GјkFjPzY?҈*Pڬo51W cI,ĆD:Ml˽=M.!et>$2ETƀvד7@H8ySR7( ׾`4aּǣ{{3 F_wYܛ1?#v|3'ra.ow{ ٤)BHJYYzқ5҆0(3E]Lq:kԭDdO4l@(!i*U PJyC1=f)֑3y4Jtt(0ʳ ô5  F]XV$l(|+NF22[ #CruNKԓ2]PpRQ5uh|E v@ ƌ*x sOJ)|JSUTtØ%c OWvXY_ݟڟ*Yeŕҥ?+ dJ#D[篲u?_r/*׮lȝRkã#g1&4Pc9XI U }sLzlvR0W6>e٪xKMqyyXǜO^(0JT" @h{+ gkzIϊ`]]ˆC/S /ǡfiȒc:#6QxbNMMtiY@F $0TXT64Zc0tlnm*LSmg Qa 7@_'_`N˰+驳> ;JniN/-ɬ$ٓ3c 5qzzFHE E"\3`$]LT2@#v&M2T٩+h 1 _id /ly.WX 80{U.i[1}{dEwo{Ow*1m{=gmF9hЙfb>߬K]/Xl$T%) <|X ]θ{Jd.3J;J1 ti|]Wt0KƵ-vy CGv.S΍\>dwˬn@Tit] `Š6¬{0p!>UX P|hz4¬9ṽ].dc\zaxF:yB{R Qb be2z {.U;>wXU4N}8㱄>v#hwE!oC1 pNLwbw0Piz(G'4w,&CM7jkC>ܽs/opٿpʣ txsl27Lv?ŗZy?,Co/lt/}y0/JNϫ)HxK2e36Rk Yo=.YauM0 m1 REr7?ġVTzUrVx@qbRLN*P}-7,+T7F\I*siNku,w&:P0ZE"'pe4FCaTg˞koG?d >d~zŗ>A3/p{o80ΩF5ݸy O#aZUtV{wi?O Z8J-nFogMϞ)_G/!:o *=\1rDO RI&qTսrk|,= V'v"tPd6 IAcZj4#99eړ$,i,CZ,A{0@ Z!u=uUSHG5R׆lo  *ABChajfC g:gTfo ]7A>T-A$b)-8-ʠo"a>:ь(4ȣQDΖ䱀)c3rujOfx{') IDAT{ [W{Aу}ۼqhk iOEzn${[_ePbWJN&A{E zS5LJRK#/mRDA*mIlAWfEw9=tju]ldfcCRrjGɨDЏttb\4jn uBZ#p4 gOZNv¸V2pFP0*Q5Aͨaf\9F*55)`}OG=:4zᣢG>,u1z)CRP( 4z'f1|$#em&ykU08:F\"z٦# V>YD.]K@?)ʕdZeWc@""#m6f7ݤ )J3M 1 -,$HAfm FCH dlզ˛Jߵ-}&6@i{|v*m09mޠU Qwbid&j,sK1'p[T3:QJWa(+s n=OZ@Uxy$}NPnfX7c0&|Cdd{:i%S/4#iTN! Jd.Oyw U$#1~w*H2Zd#RAHS1SXdfJq`X?r-h{zdd"9r:RSz뵨.*qbH;T;-ܲWy#8vt(x?dl ) l㬐Ba{$Q?]ז8$s- :³V_Fi?CȖyN:'E j\%@R3*79n9RCzc"1֖37Y^5JUAg U f,E5lrdsdؙ ̴Y\7=LʔO,e暐 ѥD;+'p/ nSNgK|e! "`Bx%e@P,yʒKl P.['?kiPkL+q8ԥ37y* )fɌEٺIFf2LDqu!ɳB&IZX*I{2yɉdG9sNf~$f6/:!9[h&3=L~0J_rxfn/Y'H#+ ,$(vpL%whAP,rowlF1H=q չ"g.h; x^oPn|z #9Td!wTlit3>( lv\'f1I1iS(d2l6m1~yEkK ~;<Zy99KӠN;_9ʙ)ENxtu֏<1iNƟM|ϳMWn6Qr Fpp/i~:.u޲I%2j͑Mf+X{&vb(SqN&00rԌo2iZRm&Ďѱn3@U>P7 1$L~a7(ٮUM\a).;^eUIwPGuOh-_5N[cEAHBѸG$רZ(upDedRdܻ#4=K,TW w~UytV..إP7p+W 'WF}7ziňޅ>do l2%k7=vp,K"&8IE83#g2'ᰓ/औX)2ݧJ9 Gez !Lİ TI>{wF'1V13__pDGI_܁p*'`t xBdz:K9+:Ymi!ԩx}\$gz3]v+p#Ar˝ݦ1D ϓ$t%gԦLP_zAU箰Z"Zc ( juQ%2FQ"|\<7O=]4.O6:QCL}pyH'يiyT(Eɾu2_K q5K4bٿD4E#\ڸI8yX~os+D?3gF ts/^~=͗&_PUPڣR*Mn3& b#+ACGiRO6rs<˝ !~X%[GuR;^q?("$¼Np&Ur9GR~2WvY^CM%.ՔR\о@y G 2%zf9]/3Jz lQ!_fy\KjF KHi&_5զ)5 : sHNٳb6rXmɤ(a'c iqOv-(p0KɶO14$,`@hctfWI8̪Y%՚".)!8"f M)9ARof-qٻb&nQ3]q{ƒ9iBls'ri'd-,!4c<yքy)[qW2 `3ݵrYB9v/r&;J ,)%5ѣPg瘴oY2l["&u;+(b6XtL&ާ^[Vq="k +(o4O詔+מ؍FlYr+#ZJ iU`EǠ3䀣=g -on̨]{P`#Tڢ? nM>,RiJ0<5 O:%QʕRf9^uhDz1KMT&l19FUM/<8RsjlӜQD=}4gh)h#чӚC+rDxn9c*&T]x ={~Yӥ{R١/l9 /cF2x6sE'4_xp|spx*F35IqrJ< R=&{;M\0[Zh(b1%% ܔ9$n|aZ_as鴡P0>0A6iU="q`A]AO9u(hn!tɳDQAt \<?ʵeZ0/~-%\{b5?b Sig{O0/}C&/~ѧ]°݃w(ӱ)0W9f i đr34kz*N̂'Y[h2p-U%!.Typ#cxnut#jד\\YT4)qX4G0b= qHg\qOwh2֐!Ȕ Ғu?rSt1^c}';Thp[iԦS IӪZqł9T+ĩ* :a8p}ѵTdId:1X$J=TX)Tls]8Qƪb16=TFf;AOJe1P#Y89yb*%J&~1p=q-Gnx|H/m`IҔVg8RT_hЩ`4ܡX:Ɯ.mVqF57wysC;|GWÛl?Hv \^ɯHFؼJ,4n $ewڋE 6~0=(Q"9v>qθ8r<)^K9y a}Z唥Vf#$Ϯ4X4ʒR!Syx uH!9>AF6RgYɪ=eT'`%#IAg&(#IG[H!!h'!O\rx鸒ĦzE4UA"{偪l$eH*)eDf'y[ݱDAIy&slgvnaSvJ&Jmcyr|{`G=m\Udq Jy݀3 ,5+7URsev9?B Hpn*4KI1NC~_wx_?iy2 gW8w}ڇ?%.TÏ (<~IMg_$nRDˇTty,z'z}~t~l8JBrk- ZNrZ$^=J\AFEAlt6+!f2,hyxQa\;W fh!!-&L84ݝv(tbtb"xp@Xdq\A4u'ZKl t A)U]#46$/@% M2PA/"M M- OC$1#9N}ʡf'OOd&;* epIBMQؔxLrx7ėϑ3:=Kڱ5f"X;ݙvUirRI6B)3d8!\IIkLa3 ɝYN}\FIOTHYCy_TX[m 1lh0 J@^,7p]~ nik( Y].At.r{!=+}Je *j[GF)MϣV?srqVp#% nm&BhN'2Bfq؄Z)ltd}W打 I.k/>r]PK߾}܍LkD$(ҸE[p /hcp\GI(ے97I VKD䜜|D|jV495'BGxG1qH%Xh%)/Hz~|eq*ړ@T 82dH05g!A凋A|H 5bY_M IDAT{QЬ/ϕ9W+h_.|=|WRaMRC /q{2+:bgA3sD^up{^ -q-+e^z {`w^|`˭[O[(RtWH]K`StbM">X9Ï!>Ni,QjN{晨IpCo9VPu(Z= Bfa:!YId_Wx#Jnv- C0k6=OT׍T;#aHNdKG͒Eh HT,87MʮH|~2kuQgQ{Dϟ$OfY1qZ,&sk%J(>&yE),/;YfpFBŔ%-YZ_B40|u>=RR/SP`9c{ ϵeM Mf.V)ǂRKP*ukic1ZqH (q+z,/zinv=t SWD\=ߠ4QBiH&1#vnKR3 1fsGx j~k4 _ C-ոtEI&)p j AKhCXJ%'Kw8l ,*.Q"Pr(USe =aF=feXvT#DfY(j ݾF(Y64?=6}3t/S6_zrF+\)Y^s&q}+`ޛgq!).ۊ+Jlb3Ogx^cp:X`EXjX_+e#$ᔸ~! %H#^Q:j+$dt7l8.sTmLͳ1eN+[k$@sD4\1{,(Fa&_R{N_[IiQpp-<|霈Sjk C'lr_.KYEe2vX9 r]Xzu[c>|.ҪI`)/D);dc6łK>peLUaC=INKeblY>w>zm7hxE~84R,qٯgyCi=(bo{@u}5?%b78MV%ZEH]1͚ X>Wp(lm/ΓD!Ҁ-R|BȷG,s t6~HV luٺۣ(sB>ޫ\lrꊽMRlQ6au,)x19_AHV}{N!s&2I# CYE!aL$4)Cb; hbbCfֵ$I\v >"!CW(p 싈blÀ0B@m1ՊG?i+6EpO8=%IZ5p0@i9: rV/v\1sOA8~J[k-$#o $[HIb-WP#|xay S[ICLǺ4"})2 B&qUI bM4EUp988ꍰZP/k*UAH5;8Rc, <#ܔA7Ťj+" ~H8'b@bFTr@9)~űš_BA3PqpL !E3wUC0!X/'&Ďg V̨Cg3Fbp8#iHn4b45gø /3Rbfa%tHGɌ!f\7.ۙ^5%gcauN;:97,VxnJ$>'8.N<-t9MV5Rq" ¡Tqi=~ԗh}Zs<8{|ĕUK1H% jIjQIUvi-;/?/OGOx* eS ,=Ӎܾyp`aB7h6b7Ao tH" )Q_&ì],PZAjasxr%TSQ?:^=sdiWV‚Q.608!(X} +"U&]smgqR @ aNyF/vJyKO "<\*-Ey:3JPUw8e*$gVruqw{?61Ns>BZ.trjEAvn~+W9 w)|y> XCZiRDs<K uο-6":[wxmyO%ǝ Jc2JG$N#m lnT]a}}!W׹wWy?/:/pş24 т`;$2`Vc6W.._p8n>7?#YZ|Y͇ͯi籢ANDc$ %![տLjR*)׏iHIWtah0LbT( a$8"ϲIp5&ALH*Hrt"aR)9v3|.#i<Ę JbmOmD=&<쎥5& k8`g7Ԛ>'@8@SY@95c[=9, 8SȲI;A" fF(EVaGnCV, z=^V3d͔ 3^Z9avɀO.1N/Q6UVt)669!CXIA`uȠd8΋Wk~fbFj'i[=!ɶҟRy!fo<8Gx˜zx;|[,9J8IHƚa$b,pDG; 8\7n?貾>cA? 1nzHZ!=ވͽ{]>n [7#ZϽʯubo|s6E9IF} /耻~̷}&~-`W(ի~|qp!zg]W{<`}R=ӢZZd4}P.!DQ\ijx*/I&- \{ih07 `2pmq&B~Kx2ȰsA:Ajx ʐDݡ` +ԉz|X%! ^Q9 3ECMзlc$:%pL^SXY`Ȥ:>h $Ao\z'DZZSq@+z ?B  b (>'hc@<SgV81a(TMTktPJbQJNY>YEm;G|zi #?qhcd³/0|0@Ͽcb)Ҙw|ȫg,ww}/":o{1qIBMu=n+O/\bYz#6qFAHX^1X_M>U/rQL۷c/="k| ݦ1׸Wwu^/Sa!>ǝwez!vv7֑BQWݠZ(-7y ET(Av{ BZi>BF_( bFÐ`H8"& Gz@zC`@AO G$­ t7gah{aCC K ,6|k8Qd *N5a-4Ṋڽ8(GRtQ$%Q}:24+YTet݃+ P&J@zeQXgS;̑9LqLh!y'aa0\six-1a̱[J4M@噿N]2 [ Y?o}"Z"&Q*H҈15m&QBf93VA:)lo3ӏ0 Σmr 1|pms$aQFeШ%lǷ>`sc5J,4\.^^e>^) W/,\YjT7 J,l&;Y3/;$ Ŵ[9%[6;͏H%,Kʍ?$*pϽGGtDCVg~, *FC5af'Fx*Ɉ8XCѓHh{ GCxD!hHqίHd%J9.PrfO6xp+u/?NX(%j5>+Vԙ%}zbIc1 TgX\&45hrdnI'd6;)>GS677޸'7Uɏ~oyxNp:}>ͺ~~$1n |蕏oytϼțo?,'==5n8[|Cby5 {{(KZibrA)%yw=xa8dAe 1!8)C 8bS'Gn<18[إ{r\'<"/1,N;|P[ =:ewy3P|,i D-)#\s[,q)>qJ>Dǻtcl%<8NDP6z2kNR7w^DTynͧ^0ق+[e[a=KZfG7o|UH"ҭlZOUU:GGL_d}JlS@w?&g<4>iRs|3_f-kS_ 'o-4 CҲa>)؞*zY2$ϽEg >p|to8]\;x?"y IDAT—Xw0g3zƻx/?5&ifIz_|-3^~9oXN**~ů{ݻ{ lmm#c^)l@x4 QѹpNKɜ՛bƎrQj8 DxD}ϋeK{unwqy\Zl=P^X2壬4iL+E6h\?:bRhA@Qjsy 9RD@8ڞaӗZs"2q̺0B(8^;x""qyf 磸B]Y_ߦ-Rxr/.%ل sx Us"Bd ԕdwg_~0rlY Kg=H!a54, _yt>5vwNY.Vgg2q̋,Wu NB'fx8o4mMKg 18jm8Gg8/sM1x镂aӆ^U?1^bwutcDi5x";<v{ºikMX7|+sޢiz)ͷ2-6/0 xsPJ1+֔( &wSsUkKl;d'"E]@IQ "ǟmd4!14RBMCz_RAܡnv H:?MԵ*.۠V SAaˡ2)mys8w71g Bti"^DQI "iLO(#*G!V4ITpph-19zH5m nw3Wy Ǐi[6PIN[GW\5p脳OxOi@J@8ʊ_'?w%l;K%^]Ζ-m3[W/k~7 zo?Z:YaN!l(>x x?@JHyt9sV>L&X!:?9|Z>*RP/CLBc\,x,f_Zxg:Pd|6{,IMܹsU(UBu{AQJT $Hiie* ,\SCB><َ$YA`:]SŴ4TEÇ+YGQYRT^JK/'<7vc$L+M]sJ@ L/x$ -1*m߸.ք̞zIJcǷ &{eVdI<*HO,'%NJ$#iSIBg8Tak{xEÓ#EI 5>d٭)pmٛUs(}ÎTՌg׿E{޺֚~ X 8i+j]_|-?xD bJ &+e@+M "Hʱ5b |ɢG$MJB:vJ*P$&Q̧[|W)EAW*Q((1P)oXr5f9:vdF\3I0̘Ϸ켛RZi$ؓ_< #x)u "#TQ{m@UQF0 ;1ZHI"5n,zcq;]%}UeǺ$gf2SVR{o]ngm.%I=^ѫ)*ڞ#+T;T"f6}X_~?q-J}K78%uX7Q g-Wv~>9Z\d %0!}jfgkF/rDNOO;ת+͕=Gl9;3Ɋeg`{[X4=/"(}@+{\A_4#ob+M%'u7+ApٯRQc1HvKɇ%zwwRP/\eR>̹C.xtIGHGpG1eţ5(/'ԠD͒JH>My|Q(&)sx ɑjL2CE6XxSLlmm‡mgP4㢥m,iDD y:reyܺIeH|.`m PDPFB"Ąr6y]:hW}8TReÒ#aD|K 6;_`% -WR˱^%!J(FP)@:URLX6ލH 1,i)YkI(.eænʷh﨑,-)il(,zʧSl$Uao#W Dٛl_ök:FEv&LP ~7_hOٞMػrl,< 6[ySc*QnX!elg݂_㳿;`$C{zP }d%^,J&a$ƁS H]"4DhRZ#TA/yF'ryFȔ@g!W[h3“O(rwU)ni0:bAfT*$A&Ht8w!b79l>8Ց)wc.1PS|4-vuLT5x0ZhIi{Vaej4`kW0Q'XB$'N|[՗q i)x˖}U;5nypx71ן!׷v8qyUw^cm lPO|*{SUK\*XX*q`bYA45"Q]m!@QQX_9<{%H|@:bƶkD(JE!(E"L "!hk'lH4YPҜuٜPJB.PsرHٴdhRU b G5R[r0RD:wlsuz"u)z~Cɤ.KjPc踒( La(˂GʼndN)ɍ&AJ/&Lr/v|l,)2q`GAѝh"*£#rcA;z'htwv'?":wx1Q^(ȁB%k)):f`-CKAAlg)Dއ%XٞVx wO)n˟IR9gg۱m_uTX(0)jȣ(UV2d%il5 8xuL* ׷ۑ?,ٟ)eER|a[l- VH80NV*L7T)B~0 .fퟲKJa#uB*35[LO`ߝeIsLQ dP%}W}k||bkv >[\//j-`guKMd@8Z=Dj}LW:%|tJt-sϵ7]M=JE< dp>:EnhڎJ+bJLg3[¿w˽h!>DJok~k@`"\KC| sqB ^GJx0J'瞽O)wͷrVHUy4 1ڭ!dLv`#<q;g$nl1  ad_a_81]?F{-`|3dF{8"S!~*^VLvr\ƌ@"!DB8c O8Y4#舐98zOb04`J^Dz)33BSZXW>O3E@JC)$N{WԫLf6c6}U-R+\f"'h%Nq3|>VNyƢ0A%>Z6ڣS| }ǤҚWtQ À6 ZC(+OQC%mXiUPϵ2b׈ļrL*l<Ѵx Q"t^8MZs}EKX Y׳\,\!t2a>#${dKDt<_Qnc0 ?B]߫8Z,XWqdLz=*9J #Ɗf<-I5){Ǣ{8 %"f .QAF"Q^м8?WiC+s?*-əH Gs;/\#1c"1ddL#g)V:8ph5)*#B:wx #IHÐA)xD7P?I eextvɟg݃Sɂc:|yɜY}O{H.Ҝ|lCZ4!(ٞ#k֫oq8Ƙ!=CVd,ƢѺz27=BQ&tMK˻kے!G vuBAB#f{^ &P$"J5kEQj!q\q>!xkw~gģ=!'Ҽ&ξ5K?I VCS_~^hbIk;n@5qehf Ϡ%S΃4(e@U(SFkQ2O2 e4&*ݸ*=d'kOdc<:%$06y{\=/OIRbVK/mWWgY4jE(s(pfLd` DԒiR{ k- G2jVl_zv-]bEfѱ8[ $Fd2a{k}^\)g#!k"1DtCp]^y<$]ps[?j?G5=T6ѯH>vnH $EAN3O(G,!RkH1ZaADJIBHRc#ذHG 6$F}A7|_&6DP")t`=O8!&uTI)\wY+`$GGZ?>g3!$bȩn23*X- !̘*")@Q$heA,eCL5{@e*B]tXS/sKIԄ* !#XdXU9o97(R A :.TMk;lEe޳6FPV{ /\>nm]\6aG;EC&0%[ƱW&Zi6Liٚ ~F>:f] e"gvy&u@QvZ jոʎ+J)>xZpwStlݻ ٚ0O),`HH73:x##p"3Gn*L)i>Iy'N"CB\L!`6)BcmHr>D>]"{AF]{^\x"rx>RAU N/yjwƪr+0'}d IDATQ)! !*|e\DzXwfմ(zh-'t{=VX;0z c~@>JJ B!Bu|MrF4 if3|4:Rb>r؂B i =+7rmUrb uE52RD)"O+(B; 1cO:aCkvɣR`&h4.ᰃBF o9;[H^lA_=yޅI)68Y!! I•f>'Et}M8v)Bd|(QJS"T2wxa5bTHKI)"vUDZDɎ"Q)#q"B)I!KsR)K.rf4DӶ)`F+S2a: H@uD%[R4}HSгD# ^"LAIfkI"QG %q R{:zMOR/Cw|5>!.;ѹ.sǃ޺(DBq(M.#FM! |C":BB$GtHtC\ M^h!,|$kf=^o,h{{5q$5#:C Rf)ÌRnx؟ع%~L,."D%<.8‡8}n=o?0Hvuϭ[l sԁVԓ(z(3ۿR'%.)H 0hD$O,*00#2\n]K0$Z,_v,N 1wx׮^;\2τgVzl%z Tu"btG(DsVX.vFq$1'L 2% ̚c-Ai=i(3+$JGyEl!)M #c+!i,{.HKZ`D_ƀH#wݖ925>a]"p!Nf"\"*$(r**7]0hIaE 5 f[Th0F}^r4 aDNZѼ2-)5 x=g@;Չp T;*n-ۢO+s/R12mV݊c*rzFg=H?O<* O5R27ѝ_D0,1@*4R8$B(ΕTð,8:ĕ X3 %f-^¥;flEJ'-X*+B`UŽ`fWIt`>+ $ũ4kb*V1pK$vv=Gw<3{wHRbUtd}xϹ":Bߡe$f^3UؐDCJ94\/|n{x鹗LʡC%PtĻ@=z 6$!ȄX1yt̻>'PW"D 0D2g4q +Q2=Ǖ} f E/0,! ! rLBOpoԈrvWÀlNI=R)T36`H> a\+8'Ë0A3C*YFFK &!~xIUW 4iyUߒD* xȢ$@je/A8 "psw~Ӡ SlU׾~*ڏ;aq2К)rB7=l=YnV-֚ɂk5(*C: 7#* v+ +zU"]:{D"R;ԓ+t7:~wR{UdŤ(.Z,=^%['e1 0$A$3@| 8 Qc<Ṍj0) ĄC\>&i7.-V+P$㌅9$a0AEjjVh<k&F;Td 9HFP貓7ILX9ҽ5.S>AG0[ף C>R ?<5cnsMET*<'M5 ^GCA*g*7 ڋHӂFy&O=$Ybd0WM(Oū=I0Vьv29zDӐ; ނq쑙Ji$i>iZ:N/a: <5o}qZ.FČDNdag%"O͍-]mqK!l $l>OtX ݋N`Ht\YJs8унcKXn*kSWШАwĹs2=@Hht 6n8Rߨ[ZQ$hE&u !XNxZ_9Ǐ@:H&\ QVu%)mʍK9%S67'Ր˹ḧfE5lQ@4ʱW:dZe)T5;uVW/ƥ h^'| iQ`%C,!$F+br? 6X:2z?ftDR9BQŠbnyK+YU>,%TaElҞ˙Lhw#:}qhD؜#G%rh0Qy+g{@LXf1VQ lcpy(&*<.ABOrzRh?zP*ƍNB@!=j xCC<# 04@h-cp(i1T`F1J"C"`]B2+MĈ9!юLjԔX; JjWv~]T5a>8 c e8KaJ9_X4s a_Yt\2֠91ՠ}QmxˍpPCV%):MPN)pܼ]R88]C+,-)>\NҞ3./b,FN|rۛ=0T|G 8Ѣ=(vSíۗi;,w9t~Q>7i۴4f{{9 a\iEOQ80"|2 D#spjfol;4\q-p ԇ1MbZC :սph8ycEJgcu- !fwuO?6W~VJ{b k>OIrק5Iu#*¸y?eiJ $KfHX B=@¿)&h4ݝa9Uo4?T5x؉r/⯾:TfGw7oEU&x92L&]$i"& wQ@`D y0T}(a^ru| 83FKZh4= eTJG53pS`[}\9w&_RvWMUI8dYS8-0◐(E*?g5.ޅk/a9X]6: E .$“JmcwV &N4Ng9=ڠx/AjN^tx>W>c:su:QQ86fgJK]ELa21O84a; RX:_V;"ۥ%+Yjpal; nuxqiHGn=+̘Gk[LYwLZpy^ʭM w{YޘnE30O՗(,^jʒ*)}"vã4* ӂ$V67.1IN 7k-fVֻc1:VV{A!݀  Ch6VYy`2H hbXpa5/$QQId{->VyiH/@+)}lceDO8Hqi)"@Ȅ2aAUJǗOj(={PئzJZw`u>qMm£*ke`6+%Ti%~ס*@-FB ^'qbGM/U ]o&q[d|-b bx?`E6{aţk^|clQF 30#dd-B*rF9 j%@*Ik.&dBF~/WuZhe+sy!G2IEIv,qdYNtfHOA'%W?VߠRaɓD-^Ԙa|@{|옊woh703/~uNgschnZy >W'OݐLaV`4f0&s"*BTHC&EقvG+lKҩ@G.OG(=z;"EQ[GޠjC"cڏA&7uvS/":?Q.d׏-ytmIm0 H@-P:CuCE ּwpSl"JᔇTRX/@y!HOP`4%e@4P&*et"GFeFVOir:{ivm/]1sa@q"eҜrjWwM|iɐ?F!=ܸx(!3',&|U8IgU y0"UOॐ,^L^#p<+Rv@&+iaEBt6ZMj (b.h2;?='pyPq @[6.ɘ7&qZ7(rKT)T9vSPMI`p[|#uiz1 -;hاŗ.^eOL2԰خS3爪5ȼ.SO:&͹0HYӳKsl#_ ęr}{[0w,8Tq8'6"4H{P8C#jDg Qa•$o(&FC*:Yvnv1 Pu{ ~C" N2.5> ~?#vkjr>";VJyUE{W@; /nlnVY"O'q6=t2"O/D}PyI;;T_w w`|m tYmOP(ط%*Nü7 L0x#S' m[RPcx]$ɘB~RzhO51v(/W) t.i! nM .`o-4& IDATۻ*=h+e:A(K`r {!8)DvJ/ V $CgAߢhρ#U ΖR ,D~{C=e|}y81Цtːk,~*|>= f2l3{ 2"/S@:I8'3,-\j)ڍ?Tc&[fG5v _z䣭c36aX nˑĊQo0mPb? Fev62p I\J V,1Hȍosec/ݸA2Ҩ̶6'br-JJ(aK]sX#|]. VY3~xr c NN,>~ %oo~{/L?./C6,a^*K +%xG+./ 1$ȣ{U!mB,L)nE .C=M>A/y,UT stHSuߑ=~'5 9]K^d?m?K:|'uxJ@a$xJ\ȌOx'tsHKj, *z["xppjR .J d` IeCz2-@J ˋ fxx􃴢s_bmŵ1e{O1F' -p'aa(A֐IFݝzP;T L sYn03fav%Nbz{kXsV Fne $Х:!0^,[1WWD^فdaT-qjt`FdxB .$Kx7*"A<6Q(Ql(MSr. H% e‚q|yJ)/4<`4!$hci;̔"D3^6/_8۸ ld8 YW@1*]XY?;W @~4CLCJusN  tn}cҁ,9!t)% + Kn#X! AY(N*;]wIm{}n^? J?5=&Iih+])pLbAyኩ7&'y/1D0?{q6GDu(rܤ_ xudrZL .E ӌv7n0Nr}34.`qv8AhT$V _HPܳ /<AN˫\3A3"w4HaJ4KX$/aQ؂:/=%+5& Z vviDXc 33du/C#ҽ=zsqZLSh e%Vd-Vjs=Nwx~~o$7$I^Cxԫ ߼ͣkIIIgzҝXڻqVEGC|}/~q 2&L0V JjT`rSJi#iUJdhNq'8GSה򀞝0{YzC JGe-A6J߀'!@8C8dTXA f,;: ߄| O iרˉIͲ[Cj'6߻SKUww{u匛SL FTjsBD+`":Q:ød/'A2;`TXaӬc4x.a@O"@(ҥpTNr!xy<)) Rcp!=Rd,ED\'_p)8g~gKK:̩xn i 6Uԑem_bp<ʼnD%VWIRӒA#'-J~9Ɉ µ=F1vߢ]kP #t2a)2 AD!akT*-+sa4%)vxsG+OS'y:7V'T+^~骓&a䱵sأ_>Et8#<)\z`N̹8c:AV,HA T('!KN@g8sdbQ$ihA/0ˑ!YU4t[l Q132h8I9<3w6ȓhad5/~ݢ'|_ѐ B/M>0\_ZF`" 'ܹVSczV lǗ_U>9Au۫6BWy/Og~{DU'3t˜\\  PB$Ya&I'dYV.j +ˋba 8 KK+X]Ƶ:[F=Vdl x tZ&Is۟,pJ)i 븽nHtDSxu+`L ?8~]J;x{qMUݝˏ _1yRv(y7Ǜ&;G)V]NG "h&m>*p#Zmt"a+*+G;ϜЌw (pEFcN0Pկc Ivz;D5?C m#g~~|[pZo'92M>(`z=f|Y^z Rxh{d~RVIBY*QPH2?ע7HؼAďrPR }F&'$qDas~p-)\ [<yGᅦӭ&/_FMj"$ 㗞yW+97{81bKoԩ1xk=jqnMe7x| gV8s4;L8#|e!@zdip8^!nK$J#<>"Bks{Ao|Ru`&j/2S>'ľF-uɂrQewSfbBj; 033CH)RY(n7w8Zhw)hPҕ6'ݤJgݻ.*BA 6(!WEp@>N GNc%8W 4GTFclKw :yNBe^~_;s?SV^"In}!MHGX]<AHoo0cCi-qm 9~䃬o[gebw:C)JxPY9Eҩ1h \iiUF|2B(VHҔW^ĩ:W9ء +}"5 z 5?[lÇ$A_*?/Vn840>*ϐ &788['xN?ᾅ%C uy.W3(3a-Ɉg?v?Gܚ -[ݚGX'>{ۛU5~S?3vEm(GɈMo价bƲǟ7_C>y9‘{O3بst'iO u^~:YnY_D\?o*[|_VadFGdGC` %I=y~o"233?Σ>‘#G_X <nݺy9w܏=<(O8莬BIRB[aM<)!×?QIOEg6w7xW'ۘވӾ~'r";v4qm{j M nng0!B!석u8GI+4VɵfGBb'[8a1ORxw V{{\E/]#tg3x ]`|w~w8zh|%Χo^&|gye]\\>s=o'ޓ'!w,c`8am#RV#qDhmEi*A[4[0{I!BcHMn/ j<5;?9-w}/$R%]I*qC%rŻ>xW/cEa9IoucRkh`J7ZW,:2%UPсE6m$f q:)5O lvTNWd)`L-Ԁ?k0svB©qY5>/?WRq9Iz2Édc8Fd YTEz>zf5OFCa!j\p(n GXڪ{k̭j-WqAH>aVvY[Ĥ?V99L+r<,!T?}m&IּGm SO np)|̧~ܻ=czx?p_cwo7ř`c'uG|gY‰c1k?ڥw*v*!y|:y7pQ$y(~I5c/ OO{<o~> !vq=;@qN6S?k1SXu9E^"P,#/2<+<9XT)s\.{QfRcUhwpNAfm9Wzp,GY$/ "j0m˔" &\^uT:Mp\3<}"^g;!:]'K?S>~ù}Il _9?޾SO>Jl~K?*y]?șޘ?ƵK0S[`d׿1뛚_Y/>&Q xQ;Cޤ1?Ws: _Leqv$ǥсw֚ťE~7~[>,--Qwg{!]v}|{W_ CR/ۿX](H@M1HWoJA^*ye]X-p./Ls8$h9*N"ZvYNq&c4$q 7W ,vvTY*Қ  >!A!~A@ERzr̽ieY{߳}=MRIb˲$ a` t ggcaiƆ dVi)Tzw>s۶茸^{s'PI".o}kxwolP tq vq<5T^&'tF +M"L=F CBe>FZ pd[0Y=,98~OX%ܕ .!,*7.Sml^T t"_G{{GX9 m ؤt.'cl]AaQ'l7p."(N|--)fo1nO%%on:Gvfnl#4KY,o\nUyevve xm*3\nh8{{מ$?⯟{#3ДbfkYW y=Nl{rD/QLs`UD yU?DlKvv|>O̱gC2."w6Vag΁)66&Yc|%|t-3a;N~~5O'4<{ ?|/Ocqۛ !X]]T*S(طwKPSG%]mFB;"DJuQJ D* PQЍđ&eJwA&dG=uB\}HÐL52FH%~GF ׇGp)Vu rF)1"i0biT\*45qYAz,JkaڄaA%a% a$d H"sXjvK@yubE V[ -f&5 F5)C$G'A+a9g6yd^}s 3cvϣV ෮!B'(Ex>5컏Dg5:t:N[*"tf[Jh:@61R>\[4_:LeA;3^XXdg4bN/cXt.%ivLMŎ2lV_mNp;  >8tB~̇yϱ=<41McBx9rvp'Zsy~ϟ[y`?-C1;wc%~O>k|'xUZ\gQ kRpc'!箬n}n /c 0 #ҳnvMFoDJ0|2Ѥ`mm qT*JIkI!Fzmh12J t"Ӆ(l459H0"EmVORY˼u\(LCTs:Y֦(HU"$0(R7\D@: >!RhHM R q>)1 ENpjt6h NAGyS`C-{juU(B֜Bꊎ, *9ԓc|/ 묮S$N/Ynuu0 _Ų~f6C4 J$o 9HXAD(uUcN]\ïw|KHK )#RB2>ZaV!ulc$wrh_ 9{?'2Ȑ$aCq y;?A!ķ0յxXކc~MZzRovC= . |'~t耎ߛi90t.y.>AtL] XZL8:[& NgL"ΒVM"( !E0Xi]"GC+dgs`8RO`SlLa#8>6/-Bu.xԊYjq(eCqt'p5NqAdF͐O\ *2Q*~U/d"gPDf3^L5f*+ ;,Hمm-]cZ+oڥch.uǾ)[[Ԧg1E~l(ts0U>t?K[\z3`,Y~XƇ380ҍX*S BqѦS'b Jp6mn %66qda&l>%Nee}[UcDQ,,,Pat;t#ce$viJS6T@' ,MC, ۲=Ѝ$2S.[&^ 米L4bE6_RK\ _t5"XX.BN# kZReb&3;-9N]4-D钙];]pܳu"TjSt wB@X!ETB-B+'[Tڳ##Ѝ&VF2V* K\=s]:k\/b4<*n+3t2ĭK! D]}({| * c1JeM<Le4ʕ1;H~D.!/s)F#wCwbzF8zPj Qwo]о on94CXݤ0 q=MhQ49Uڹyl)Nf>| H4]L]70M0EQ#yMV*]6,-ܾwb<EDEe&KsD KQLnb![WIDF95:(Ra\mB8-ή.*d|>CXC12$QhS,H,Ca!"ͥg)WN0K7!ktkk;D&1]S|y݃ih{qj ~c,ftOڗYm6cLVw1mKOZ2117Nwk{"ō lw7yYt_;:?N`wsؼXF87]6-x߻V@ynĒSAA #ѽCmXT9=io9KڤALec' _fAriz_Y6|&ɷ~-V705L# $N_(!uZ:Q'4h0 /t;q.J}AgsH_K`/;B}彏>zp <=s'Yf1,#l{DHiv h.|$q@GVB>HI{rUN}k8!VV}!_(fc|E~1 ;,a#i "wPa9U&ʳ\tO>EP|+;[׈5Ʃw^Y9Oqڭ#ԃ''Ү7vs𕧟eaD evf,w-WǍE>kLEmh] { U~HtULP~7n,:8yxߋ0*ϝ9ӯ2VcG9q\XdsAtlhJ9NB} i>f5apZm8@R%cnrv=IN8hWFlA{UdܠJ,(g]EQLvOgH=¶a6scy"/,.^`Q(;h/'Xm^euf:xsku5h.\&ո2m}ay\ap\iwh90&?P$/`JߝZg/o\3.arQ:Q vT)$HS;.]h&n||MA7> ӆ]M%ERm"c(KdRxTDD!0-8%lF7Ȝ:Lh@(%W08S;A'"ozq2U "59BQ"K)V|l'Q1o$븝=QK(kt˯bW9yJ(ФF'2<]&ͽ~K9PR:NkW2s&a*c{ *W ޢ'+Cd>8}!vaskSVk^cXHpz@wy|CՀ.Ч %S|MgZ;%b+)N>٧i:alX Im@} "|O|}Yln`w}*Ͽv{r}e%"[>g_0u IDAT4!Mֶ|UܶG" )V Oaj|*NA:u Q+ؓbZ&3s-JR}8R4͛0jR:iH0b C1 #Q\ f4b ,EL.j4}bg2iq.-e1LNN^j}i&WL2V Lw\"cGDSR qZf͊M>-\_RJ0FBx8K..= JǩcK-A ].4T;in,[;[dVW*#~@&-A0{% nM*aX$"}XdLB3DQXR.# + mQ0#FXQ7LMq0Xل&՗s/ )}~&m2 *[AhW8w<ܓDlvZ*8D3̉5IVfY\Z#ckt- :Y8$n L/)%a"4 d,La9H3۶хX|S~&w >Ĩb/GSR2eZLB;7-;1W[4! X)FnZ@Rl?KHmt,q+G~ *)7e}:]er?4N7Jƪ^`B8r׮3oɕl.X4֗zfcbq4e*]%BO FfvYZí31azpAdf mS)dsȕwf4walBbFK2\^ӥvx:U>`3,:%OQҹz}cp⯞zf 8 Ï<~0M̢2C܆FsAbr3ob4:n70]WĔ*Sa鄬{>W.-ŖjD)* #8<d&rĚO<~1 W5uܮFF+0?W_z?Øҡnh<}+ll?7K"Zstbs!qf3Tm}8u/5YXU,E b!bJ<=$|ni]6!%*i'?M\ r=B'3iN$kHEY˶M!>xòjl~-L9n%:m%V!0t<55 f*R^jmxrM^nۜBSh iTÅH v`o44 1d7@$,[ ja`]%F6鑌N@Y)HRӹ76T*HTuVQ,)M`Uf%Wqq+=_ڇnL s(ْxWfЋjq%ML-#"ӊѭ:'؜" ɢ$Ofrvݩ$,)Y^ORQ*H.y/XZCӸG~i%'Գvx DeVd{8wehŃDbBu o_f^JLe "y5y #V]:DN)^䳲|= JJ*sLB7PH<̌zυj.G!;O.ѥG+zL3g"Ο+א* %nXUcyמ_\nre{ab>)9vHm•n@7hB]Dx>PR& JcqngB0,2V c0_ # b~f;fo\JT̚yp( ci<u%@GP[D U* ]˅ujmZF6s۷) :Rɚ#wnc. Є iUz[PrgN11lp Tꄣ^@E:P $翯:T *-Pҽpk0-4zHad" }~yCo,߸CwCPds}&-N|'_?crmT :,+Fw{'O_VtB۽..p}S MXIMcZF]b2LaR7@ @&RHb32Y&fw߇9ܓ|~oJ|O 7ǫJ 4ڭ.Gwy!j7_g ʛ_%llqxn^ PNrmIYiJ}UOؼDeb1ds/PЄō+7R8NK"E,e)QʈPdt 1q;†1My6z.fv=\lPc}M'?}ZM₂*|,Inb ? 1:NLy\JaD\EHICVR+TU 4-p!44KOV= t Cj?NB#6)}f+UV: $c[4;u=\!Q( ,Q~ZtY~n#Gu7n035._\0DQD6uD6f077zInbbW(@Ղ1 f,#n=YhrûSEk`ڧ M]Kn*=GOuKW2IXy7.؏0hԷnjM2uu(6!p:ڭFi |#  ffnrt_?drv7qaZ6NO>gcl{7tdj:lllRЄI'2Q+{jhzR$pu]0q|LCP,T0h8lH{v0!$Cˢ'Ǧ$RӉz~P*C4G R\_({)r=\j%bqē#q#hZXL6ԵdIFGsj44kw0 m9N?iQRVi5\r ]78xR !vL"A/,zW׉B*xgQJ1;;$a0; 4ŭtB&C$rysm`0OglvǢ ~/F0tUimJt )V-Ak4MO,F8q]oipUPqI~>ce0L=[~>tu4X'iܯgW/z_}K>4ݠ)8{DB ˯/mrz_e8g8K\afzv7蘢g r‡?~ |+_go4z._yoX]YgGlln3R)y?㸔+)TŲd^:׮]Iqy~_xŅ+-ŏ!M0y.O>$= f{$щw~rWx:,\Ŀ?,/? sگ2{OQO~?$~Ԣ(bqqW4mf_xׯ%vUb0dԓ@Arܛ\|kz'165NM69r(ǎݙdhiԛ2L94MI.I&#$>(,bl|0 JU wR1Mc;08Ȥ9Nu\<O;R#*dG{7154!Hnh}k{1Jt_86֡[UsazzwWY{ _WyKAE7n~`]ܸzw=!>v}%#N/O)J߬NV} *Kx3<9tXMK`^3H%QꦕO*_78uss4t:oB;#djz_yW_Eyi^c(;8NiO^x''>A>?)M~w={wO_v ƣ}Goŧ?}=K\rhݾkܸqtI -[]W._aqiyNύ%Nq96t#Hb u]<666Y c&sP7ZXbY&'& RW"b #Y>[-,"azaeeFN- wN)NPS3s,vf42b]r#t X[]6@Շ~ֆ̵_n"Ø}oHWp3/rH:Odm6Q"ݴN\{EN蓣o>(=q6@&:>?g<س9߽uzY4Ҍ@!aO2MIT8Ux'v+F$!@hF3ez~9}gwz$R$xZ]}{~<|NdaEZ&LZ>[&, Y_~EOOxp>}trm6wXsXI+\buu3 14-іB*~W~c G͛|gΒQR}S&_Ef}}K4r^Gqm4?C)MҥKK4[*Q,Hs5!!|}sy?'?G (n 4 /# sy'?f^Z8֘R_{m67p .r4RIwBJwN4_ B*gI}0}yǏ@+]Ybի+ /nwJ(brr.Qˬ@/?jZ%)biQT,(E58eZ]]ad 38TNUԗbʨ16Xgr߅RܘdW,,x?kӌ^oG|v]85+(Qrc0bw~$8~_g&k<ċWm#^pt/e^yc?Y@%--<s+0I4-^2[}f+FTN,ϙ_Hcx̧S@xqx,+ Ql/:nV] = bh[c~>A87K)DuK)*"#1:.\;.z) ZF82J)f~lStڒ3> ۝n4MzUO>|Ghw:255I..TD RFC Lfz a YLEl\"+u(J,' IDATiaGabZq‰=<-bXkN"csKr~VPVM($IlHZ!Eo?e4qDz!h4;I,K5rν|1[L&LLcAG8`3L|(xGrltLdVdYƵ/}s2;R2DkK1pyz\2=;ñSp #@i RpaͪR9?Bgo=G}Z,/a&&&8v,Nnj 8pqIDYh0u'6B sO r)R":Q D ut_)i^X>nC31ά#xT8U&g2ȝBR m`tFJ]fG{bKC=q̾C0h9~Uuhe!8R+Nx}'!Q%:>4'>N5I,޿CjsgH풓9J:/K8;MMuVunbյUƩ--u[17]n#"Ǟ#Ԍ|WRȲ< I2X}p쓘Z_޵}QmuxʎQU ERp)NZll3??ϑ#+K"(]=q;&&z\z"W^ennSO3;;G@!}H`kkv*[ȏ33́=Zi-dY^ALXI/(HmmPfXJyN=Gq="PTEh^u% 9$4wxuU- HkOg?>P5 D?VqV8 <#NOᱷg;>rv"L[NqS~)tTg$ڥ>ez@鉷DxG*EojsO< vG|^oc BB+lm0g՛h Fͫ9x[8vTܔ*EO~m"e?L++ðLQĩso# ?Lwo\F>7MLknq2p !KKt]zwe9/ #$iġk41&wNzH~ۇOjƬ.-|w-woH8GXCg4[mYN#n1{Α$ W;ps?Ĥ=bJ:1=Gw,MQ,I9Ab<M20Fo-;]S!v::|;?fbbD F!B%i83^+"XYGY\ؙC*JcZy\lo0ZS td7'ͅKW_ZǑgLnhu_9w 2&>x5YE~#^̇};]͛7Y]]eyy#"zI>o!?8)MFo!%#&ȂGVa-NST(hZ_E(S\D[Q\ * 9pA.8EfEyЈߺ=Bآ@] W lϰpGO rc-t-ޯsrWֿm?B.DV\4%71SvȟJT - Ő \V tQRaTlomo./Doz.h\/"*1W/]+x뾉S ] "i7S8H|m$qQЬ#:"h\(Nt'qU6֖G~8B_<8I4܍h8:&Y:W^"9p<"i9[d<ƕBm<&˂,Q:VILhDhQ ␓,Kj֡h D+P~-*"+GHҞ"БDG8đBGU&ޥ%~.b K^%,B6mnHx$n]^Ԭ1=KQz=/p/eiujVh]{ZHl$?Ggx&Rk~8@Uv`껵",Gqe-~,UU}މ c}fT+ lCg޺OH"N9|2o#gH$N*6!vH(X _ȉ|{O>hCT;IE#nűyd)Z:VHd8bY䋦Z(N/[җkLNMDk ), *&r9.DƲx6FCb߾+w¾Iڸi Q*X[Z`fkmt4p֠t:L;pLT>|bk}Npi&gy;4m?<XÇ҆ 8]yO{%^Ydt?L4vn$~il%D2XT9r P`E>W5+/HOsEH*ܚ*Wi ٰXkʬbp󴫹F}1Vc\d1zȀR4HWMI> DF \†Sхb9Rd<;Ccf;-n\}FK$íMrF|@x\ QpgU&"f K:v/ P5t>Ků:En^ikJVZ5-#B?-b4MMwv^q.V9$:,:h#gΓ$M.rNp]9t@ዛxJJC<VH'*KyΕW.0}&OQ:̟!*%D' L MJvMe-B'lq6:$a<L̢#e(ͰF=mO~o~Gy]NOM!gK$%6Zjrq%<v:&!iwy&g% ӳ</|\{yVYtc&Qﵢl`4N7WZ_F:be;;;~JF ؿ k|kl91fggtWif@{ R%aνnI R-XYdޙV[Q !u;{Ol)d^̵{]{::V`Cn,Qg vˇ )^PQN;ZTAV<σ(>ڍ RpTv!.qYË8$Rf( J5?-I6k++Omkeyiwd(! מlRkP$7IND)^~Kyɭ ƣ!na&/|=H"׿[y/?$GN"NH[&&7cAH >{g~kw83a+ ;tLNrS|>Ջ#]!,%N<'#Ou E k'cVҙ!&gqe'XaH 1Z \{эYѠwOpX:Rv"w_S&I VB:H9~wo\eߑ>6$&.?FJ)%"w89G~9^sl]RE1QܤݛdV78nN^CH<a`'`ld1pXh$wUp3.e\JeEMRvUbL[4.@Y. ݧP)N/N6Ԡ4Ƙ'q>'r[FYf/ϭZ)>ӿf oLR59&f tf-~h1o0,[le4r N>G6>ԣs˼[>LPp]iJ/ + 9*~dS;q\`8Ce(kKܻ}}sp <,ٕY8s)N9Nj~ۯʁG5HgMD8%0FqU8gG4M"))H#L>d4ءӝ R9fH#ir٢j"Ln\{|G4YY_Y:677hLNq5-ڭ靖~5ka-)WoXavDNA4-<.G!yP) rcJKZUp«g: WB ]w;Lj.Q(!<096X{jui_xEP,HMQxv-rޏ,cN g$[`$L@֢˲emKW~8z9v$Ȼ8?)DZ!!R8bsm#IFcz)ffzy6h1y_2ƒ[GlI)^E̚ nYrv41UY 'XSG.?u쭃rUR@]{My7{r!PB cL6Ĺʲ4🊀uo+$8sr'O?  [>WۀdY0<s_5D*Bqrɷ{`瓿1ܸLIܺ~엱ovg4aHay7𻘚 $^Bx:(MW^ԣOt)"RLX^`g{Wv%b{c4R8:?RO>1XjhThR)RXc^)%`cm%F"nH-A$-&'z;p$Ydkט}`h"2"h7#zMA3$ڐȜX(R5ȺQ8s]M M<rQQXh?i(EH R!d5(sRԔ"{NԎ1vCA{a}8OMV3Cal_2f7I=l\Rn:_`gۿ{e-'Q;70ﰹrl #@X2ˋ ;,Y8ٽ5 ю^n5>'>__? }?O=S.Ud!˪amtΤ N=XՏ3[kQ1Z`c^wo]Бao3s1 8a ݂.a}uv2Q#gjs汧Yb1lmXpr4Ϲ^2F}PZ M#k,/ܡhx~y:A%$qBӡ\F" &: M7;t6q+-! iSM./]S(0#1EXertrE8TaP8()k>?;)5JH_WYA|MVB-K!6W}pE8zӯ;˳$woR+^䋟[G wW FHC ei~|FZMfވʇ zw~Ӈhhv:ۑoZ315G~=V=p(`Uv5Y:.]zw6˅pI͈O}wDP (*(Ȓɧ`:&6Taa Z.^/|G3IOLJ='Up.ڌgQi1 BmIoqaS|?@7I +8!w~o1cyr"a_Hἡ4M3_ʏ5֕$QpC'{J*R y:"Iw@B#5(Ƙ-,G%ɞY6!1.'4db- "r*RtS_`,@vM %' وH{'*BqQ>Η ) fTݔE}Gp#ezO(*"(U6/o!>ǕD)KWaqV}ܮ}:?ՏW+?[7?399E,//Н'~oWpN)ɳ-RF5z^p^m"Ep*MBb˛+ \YPq7H*^q?8O[gb\H?Y?G Zir 4inJkFҖ&ZȫCd 2p޸:KH.#!pAtB V*tn"RpY$B p:N얿{BTZPDIBk\ɛVY(`Z#]s8B<ؐ:e<^|`'x݉g?)]yI}?("OSVX]^dyiMΜ{Gw^C_-{ h=L>FK]HpasD.Vѹ Y~R)!\d]KK2!C)`@wNm%~BCߡ )1 $Ry1܊`(:]4¡#,ӆk $ANBD(J]&/" t䐛'}S3$qDn$[8U" 8k‡D˩KW![!0NS0  eWP-eUXBXBZ `]QU5']Qr:BQ+M>s"--vLLNmX×шwXZ"m:O=u|7;qx:"vipDq4t֟ƀ.5?i \} \Ί d4-Y+–O#)-J ?F*Jt*SsHE1#V Ч&gQuA9`xP=R2"5rΛ;8g&:3)DMj1",ŊFҠ4BϺ596ψDhuQHQ>g 7I1,%"Ґ!hT&]/ fc偦8 |N)d[Y7TO3*ͯD&="]f֌~ kXoHxDLcff<ϙwycjfXp(=u!P$7%THDik ^GAEBA[hx0E8 Y㬖c[m\NjL.YuUQņkZ Ь"z]7 Gijʼn9E0!eIQRAD@R \\u$X_t}V,Slg0NcTƬ> U]|t.,j YsZ 39Bh),JJ(Ň$2(!~t_@0",J'hcf`RTxmoH 773V")ܟGcO0ՕE@Hk|Zo3om1:sO<-ѠϽs⋬.-pK<Ӭ6MZ[l^},i[שׂ/ őBqU s(U|'eEƕ:SF<R(p;VG4:>=,ncm&HDASVߒTHb8S6]GQD%a̱2gng,J8O&S׉岳XLؔ>26PY@ky#I Fx<Ƶ+l$ I8.'uL "K360 IՂ元8|b4˸Dk4< QRqQZvp:UFD@$y2MLL$I4Q䭵Lt w6IbM9C,e4x~1^>3XGhiHH=$^Hb(|&&J)&PI "-ANqgIpLu$:R;mLQa!PBj4=[Yݕ*r!&L䊖ܽV!:WTaǯ h(eĮ,]foU*ÅQ35=Mբ2==C|zLLL4r_+8j6 xpn]h8bg{}܆B-qľlh \&3Ơ"9|( őr!cX&r9OJ3154YghaY|'!UKqyiwSgÕ/smz^h\XHVnLZkXGcvnBE DQ֪<`Jl68v$fC EFȡ71I!"2١ahiw^,?$S YYZ?O&1sLLY(B$*GJ?{YIoBއzrgT !Kk{Wp[g:B1vŚUrQUjrjי0A\_CU`jEj I FB'!W}Yd_1N6*vJV55 ^plm3;3WlRn(ڇ 5 Uqn&"1JWt4i4fy y|nё*[ؠuςK ȱB09='u:[t:ݪ˕u$=KgUl4Sӡ'%AG53ǣ2yftu;+oV5'r(b<ꣵ))VWdvnfU51FQ䃶h< ?XWn8&'Y\W>8MJGLOM VaB ύT xD5xyXɵDi"t4NĉVH;4'- ud=N'69
Ą_WE dM58 +\fqc_t-dE|Q 'Qj jWB5$PJ{sZJ">a;/wpvIΕn6C9Z"0k[c@ QT@XPE=Iպp#e >ubJ)(J"Q6]9F0k i1QЦcHzp43݅JL):$M%]q\-G(hl'`D0=7|2,+HKj͙('o1 i2 /P&Mo)Df'OdudMx0o U s@%ƺ20U}kh,Yb*Έ]am|]u pq!O;^Wu V<&›I'CUӈှqq&ȨfW?~.3gpE5jT H&~hy:GHKàR}˗/`9 Gg\#]`ů~_-\=cMm.Q)˄w.0 F)m#")?7 8C[mր\. t(ڔ Q Q2TA {@b$#d )azlצTF') 2T<ߢhdD x0ȺZSMs!܈$1a/jݥTnbP)K1XS |.)NPJ;}E q{pp:8x$SI OJ /'Կ$UNT lT#GLYKlrE*@* QHKP=` [~T Rav2'W(4̾4# b&V@|4 8EEiܿ$t/8 '}3|9fĦDj͝ #&kJ.R{ޙ(dY)pss@ן~ƧO NV:nU]ONSt§ߴk{83`"' DC>KMɂ&RO~o\0SSgHHT.:7w8Ͽ)`}{*(kLjD?kz877wx '\.gk%SD쒺݀~OuKɚO*,2fE!bp=u !Z^"djAĄׁMMȾlXН|q.sx6,2 "Ri 'dqlor2~7&&%~8VJ?HLJ_>ƭyTl1Č.j D:Z't1b .޿lysRQ&fF#ܲ}_뒑Àۻ'UoF}iQz?iJ/FT7>0U01+.&4m>ɔuqmH#}4ibPi-t5b (Bpa?j`z Ҙ %M-f 'ݽ|H_nn~rI&nwB<,&4]MsY;L1À̄?`/X bzvZog0܋4CCЫii tقm<"C 1NYl5R1i9E9/:dA,|O,HMdʏӸATb( h`X=NI*sj4:UBtr$6:N"NQ ɦ .1& t}ٞI]0jFaMY'P>$]bS*э" itޢLMy$immGtmIDQwT"'N'<\S 0F YʶGٚ1&HOS%+H4*;;ETr%A%+窮<)1<-#xj~intXh^G06rJKk) V)kKSJZw!x~ۂEQ'9G Dh R4_ʥ5 YLD.Iwb1r*RȲЫJ*2dOdBPZxx|hj-=Cp`!, RU*H2fNfUHBBegFQzuo AL: D Vn餣IHVGY;E#i$IiJiՇJ+~; \_l78H&izk ٌmS;jk/< *Kh8cdvIeЭC!(4d𢚃U(P-.NΌ'2 +Y M$ ʗMLAZ7yu&pСCM`;?ԤRPyT@#ezeɫCh (#J6\UeRRZJ!`ͲJ#C̣f3k.O-FS=Kkq(fϮ%2`O9,4wAS;'*/dYC c ,UZ(>e!5)07[d)<C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑp.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME IDATHUKKkW#ۊʭ#!:PAA"PJ;upN:@\(\[JmX[j)Z 1BR8v';bQk'tgoo}km{F5Ƙo~J4巜Ͽ899ѧD=!"۞Dd262|h\.W7Y88H&ciqtt$Php ukBmuuؘyTUqmmn/ }&B +9iauz<+TUt^Ӵׇf\.)"<~CXZZnoo/$PD|>Oay<4榪zPRdƧTyM[[[F"V, !8888x~ڦi~1Ƃ RA!O`4M} t:m @yee{,.r_#j2 ;|LDzJRQUUW%; +~٭ dj_Bs"B.Ӄ`ZvΛוRohh|ND ?dh4J ujaa8fP ڝq, mR)[ m׳ɲ-Y]?^ŞkpΝT*ۑֵ^d~nnn溮a]Q+pն R???81ltt4dm>Sd<;;$Fs˲NH=*-YHMZu)[+ qnN3IENDB` / aFFNxNPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xtn **RG(x@PNG  IHDRw=bKGD pHYs  tIME 'wLIDATHǽKh\e߽߼'EhccQBDD Th|l4]I|4RD;E)B uJ0"$L43y;3ozs~?.偶D~S%dns|qfS~4}w}g[-^[)9֩ό? .XF 8U0@ъjUx?"54a(W)E)1LNR.`PB&M0籮b o-[8a:oCH Jy/ޏuܒBѱJt+vvA~K9 @k%2t7q:(I9IYʎa [bPExˇׂKgj<(;ch V&&/'@^?Ƕϐ.\M%2 @c qRɕ|V Y+ɹɹrX֜Z `drPJv=?\+JdNpi<]?5B$}tCIENDB`~%J:ibJ(R"ߏǭ/0KmT’.^Zb B` icJ@`;{!X[AN?尮0Ʋ?8JlN]Q\.lPӲ;K#Zu5q!P| _Jcc#X0VxtM>LER !-ac| o|GɍR[ l @Ӭ UQU6/rj86x\?zΛG6ќNq9.>n;%QA3鄂O$X,JjNᶦ2@˩@}#j*3Ї5!~կ} g=>\P(@1@kx=tMKW(͜_"c4|_ٵ>ݽ=/IqQ| `h =#dӕCf3i(UXz7/W>B**| Xr,D G"dC~ Hߚ162L._ L aRR\p,S}1@X"Q(XqѱNM|/p!2Ka -,aa AQs-ȪYD撻ѱu JǾgּ{7Μ1 ./{J!jjBX"uY|2RI۲_ouzii];WxMc|tpK- ֆ%nm<1:6jNHO411띝;~:_|GOʒKihlի8)-0arCǎ MkEQnޛ /_v۷d{{D2td[Jcc\2TKK)FfD(6 ܱ`ZdQ}}}iL&iyMlxroBKRӛ.\M^ɖr3Xr[ULW8,ZV_ovIENDB` ZZI xPNG  IHDRw=bKGD pHYs  tIME &u+HZxPNG  IHDRw=IDATHklٛ]&@H )R.UDP#zKT %R j4 IF\ZR¥u b\`].;3;gfNٺKIgEJr (@8 8u[V 044ȍl)%ukk#>`C~@? 3[!NH$6l[ꋛ +ik#EAhhh`hh .ŽNfΚ!PWB{ﺛ*gz.ǫ~C --OQ/h455|v:&)n|z3P0(+VSq{4䉓xUv[x<'}Iq/Ⴧ6/9C1T QEI7chj^MU108LSSaqfQ*W?+.8~8x|  [w`:Vi´,H)Q,+Z:te$MxoxWzPŋ)A(k ÿV+KoKa:;;YLss."a-B1J)b:bk0M ۇP~t!wrZ;'R4chm@2@ PJaZ&\7wў={^~^{.RJ$@J@{{&E {7R^pv{_Dw.UV#ASs kxxc.|7GPk[HI-[|H$nbp##BۋP155L ,Da ,8iju]CB,B<ibL R9HXؿVL۶h7rcWR<999}Ӎ7y'$q7㚮隢( TR yAh4\.?*cIENDB`xoB R@~R1MfxaPNG  IHDRw=eIDATHI3ozCBwLBD!BAğ@쐐. A8@hw-߭Λ"ye0R5W??xۣ#qr7#y.L`xPNG  IHDRw=IDATHoEں8v,O؇HE D(8q@\x>Kx sb``p  $'L0RAN ɼr8 <"Aa {+mF6cESB%%y% E%) % |@E.!}n26f*Qtw:)Y޾ ) Q34Jlx^PNG  IHDRw=hIDATHYlTU眻;]fDvFlQ(/_Ԁ&Dc1%. &q&*4H`ki;[9>(BQ_R }ǟxw,IT^| AZ brVg6MMrE׸\" EQFٔ9HQض}{q WW,xȿ>7lX@B)\B )!iuKP =၁WEؾSExMEEGB" C%KfB3t  B*SgX!)%9>vDDKAbl1Nb{`zʫwd3],'y0ǎ,ZZ29y}=uwsٝ/ONw0Й+b۷`(*u1`k]ǥ[lmɓSݨr˫ 8H\fiyWN{=ċ/癜bo_;R A@+8}4.׏rF3A@?4 333͛\>5 !CF#i]{@AE֊BᡙIkQiy9 9@CAp6mh"ҌJ -(%"|@p!4@kkާwE$^VkRKBb@Pp1J2*AkڻEQDhCEmqudcPcpEDƴ7]2C)"޵ӻol00$hPExVJkxՃ]ٵK\sZҥBBHdS?r.Clm5`{݅}|DžT? \H_ߞ)ӏBHZKG93Bl6|h._n>i)IEX 8&.pQR ZkN:67k޹0Vc Ru6VrlX__ZwfkOT*:I7WVV~v\cB2Zc!bL?+ZֳU>8c."1f %~>lNIENDB` BPa9{6z7vz'i\|ѻsmgWWW\xNB.FΙRf{zGױ2/~w||d$$#$UN""_#~[?RJVwϏ38 ͐)Y(IP ;{5j|?<Dfy?I@K''!r#0;v}wĩqлѤҚ!ޱB@ 2YtR檄$j(wޙ̾6R"AV`TeFJHֆNYfFyn`ޝw !R"{0FmJm dJG;V P3(K&$UfPUHN^z_2wڸfFiJJ4]jJډd c$QuPfCoΐ3!Z In3s_;jt8"{=PmHI6UЮnBB,ͺ݄D'D HJH)/6=0Xu!/E3Rq@Uyސ(Cr렃ҠB:֝C~ <sN2aJJ ɂ "[j7:74)s?;(q/|{)'2#"dH)1#9` ,eqAD͆c/r a0fCJ‹/w RhhQJJϴhM򳫵߹~?y=11D%8!IH^2.n_tqr=ztɓ8m㓓v-lK)G)Qj=@*&ح붘dF~c.o5s>,]fƷcIENDB`,B{m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxLMoU1xƎcI0   B5?.@"lB|@]*D7B#qg{Y8r|9:f8B{]漫RzKD*p`G1AzME LgNs]WrC%UWu7hh5f>8"i5! k(6 31ć)pr>p_OTn\}Wz s`X yR [ ˃M-gӓj;('0"#'!&'dQJ}ӃZ0ZZWW.<ͭk}%Y~9zJI%`dZۿ_"sZ,Ӛ.%]JRY\jSkW bOr e_^+ :wY(o\oW0] ^xou{o&:1Ekkڣ۞ O<ƀsDdma9- 2yMG /<S) ȑDc BNLw,\.˭=߶e5]qʴArIJ =V KJIENDB`#X? { {OsxsPNG  IHDRw=:IDATHˏW[]]3qbma A@[0XH,A  ;d!@b (DEJLxf<ϪzârJG::Dz`jϧ'qf D0ss Or,"ks6_|:%74lE f{:μ%l.G Kn% #_MO ڰL@=pUTA^ױ%[ݭ?Λ[f56؝aA+WU}N˽ĥ%T2+NѺ V.M^x~_NB x 3PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;z NJ=խ՗ٻnvm.#WۛBH`b_~+rivJx5Cf@LF&X,x*+"'K Lh.]SGVϿ1ʨ:U[kYL3iF1AJ RtN2Hᢥ4YYZdl3}s _t廤)Eg|5vQ!1q$b=T39i1&Lv& ~>Yj63Z_^\zZmK?ӏWXj/"]h3gȐ !Y3eCl ť ڬp rXk ~Lo_qڛE`ƉEDTZRF6x+%!XI1v_%^BwBB+h4FOޅv'836-_S̭ cÈFqGf6.N(NLS^- A8?Oj@vQ]$ `fbrNJX:6zjҩ+g9b?Ї-k"H&bJZ:QAD J sg16o6<695 џ~m~B{mª&UQa*]Pdӑlx|)})w4lg.]Re4oT%s$rܑ9Q)a6IgfɫIOG (ga7ZV%IџIQ]{sgƥ A-xG @sjUv/쀈IENDB`v$4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 4 oIDATHǍylUΔQ(DE"Q ѪD\\ DWBSWт(P@W_)ケǝ5dfΛ{o#V4^mzBڌe7^Á$ŅԾ4O WꪥK MϠjT+iIGkdOlcn^?@`{#pT)2Ǎ#1(" PAAՃ Κ¥7&"A1#  4$9m*9OċO$D!BOa 2OU 0w$uGqϜϛiZc ՠf Vaٹ%TU[_&P~F)!QD'߲yA:",]9u9[>@;!PT2WL TF~tVUDU%?4mmcLA||M8(NK+"`BEm &-kwƥnRP:uR1{W]MlY2Ш/ `| kA]rM$R (!;ğ᪃R1@AJ<{p?DAC8gi&C"@Bψ_!""L!]Eϒ$wDreÞ yH ]DAPD1xW9-sFЖ4vd&(ye91 @*_oiCU.7p= 흍4(((]6IENDB`>yq ggPrxrPNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH 0q}pl܊!}EEpvyv᝺[\AH֪iKE-[zowV3Ȩ wtmRF5k(,坽8ypG[Giss +Q ؃ _ϳK<=,N NK1KRY56YOkjJ)hCf6łxuŎ0fa1z@ a 󫑑lO:5$.J~s(CB1}OӛRwo"l Ry? A$L<T{r =xͤ;=5U \.`vXQЅ~TγS} +AWx쌤mcGڳAuȝ<>h F%O~*V6 twr(Dm 9@,:uwwd4V xN%2杘[G./c-!n/b}*䴱Y)T gt7̧bdkХS)%UiR+dȍrC-kf3\dk"f++i#o[죣N{R AElpvմvў,Q@&&_f|i 0e}rʉ۴ܹ?Omn2#ߜbY[P&ī۰B0īuuu n \)jɕq?*=jBHŠ.lj:ӧ_֝dC|Q#7q&xy'07ߓL'>qJmR0k^k)"kmm5N 02S3ڭ[&, s{oiP[- (˼y N1(S@#}+#8qOF}">Ȭ@&T1gDWcѽ K{my.ԥ`gVn.3(@-zx^6[$+T)qlωA?'^{Vc!"N7zzd ,gC/uhVau\|]&Q3vmy_IRD%Rv\!18BKw GA{v^ﴔ" Ngi_Uzf՞`2`B}u/6\TxK5 l4 >$dKY+4% naI=!FcJH– B!GwM(23G3JT2]tw2(e1l-qW~,isH) {`=DwCP@+[Kxo-_⍤(hKLf:6>.ƅӄ洜ӹ,PQ6@% Nq;~A8zݻ'? SJ39Xεr YU%W0SkĜSW~@Ɋᘨ[H>>>99;B^w7t x³X2 +i4!Jl:Qʀ2; L+o!-,p3j˫̗?fbՌw{X7~Z:|㌲9W`PziдkfčI9zGrm0'zXsC| ]>>uq 5aͤvi׮\D!ϕv֎w  S ]xWy4]QJٲEЃU}F3[1TĄJV2*0B # cIh<{9{~?ߛdm4Rl x͖7sjk*j҈P[B#(JpEV Q[MZ/J"r%jTcJTziϻw?pg̜o̙3o빳RG$ )jD!!&%EXY`[aH1 [PZ p;=b{"IoƟ jgᮞפvx\_.E<ܗ:x켷w Z _|OH{@Z5YVb3X~=̽=H/o챇iЬ<?YG۞N.t=OcL~@?9 c +4eLŶVÈb1]wQ{@Lݤ~\Qm2d}Ny\"QH xV{84/ cմT-?Q K5;-3_rRSRsɬ]~0iXEe:<9y}|?>7v9-X1 el|_gK".rUHUJs: -(GW# ݈VP Dׇӊ $h98^Q-q%`~5fHh,o6ׯLIH!&v( XZ>^ ~}1q6̦i76ḦT-To.Wj xBBXGdᚲTl5nsQIu5%\p^$ ǘC[gN|)][%7"^^ ۲ 2(m"@D;)'gG"֊<`d1u:/NZp:̹BXdy&fS8ۗ`c)/~s5BP4YpAnm@S WƂyl PQF "{P^</}^b _w H5{ qq?d67_@p`=VU[hVb6@6" m`o:L>kaklLz,>|KS]^\@gwvF,Ic*Y=C6E Hk3gdx2~y;/;vQ[I6OExc) wo25Jm'|.Y,>{MkSh̯ڵxBRe2Nh.D7={pd7uz/ˏܝ𖵟}X3}yhi,Z3sZtDѽɐCP@7ס&_QXy;#_8Lp vk:N5} …4D!~r9a%E|Xfa} eH?7_D}8Ы5-r:S[Ծ#]^cXҦ!j~KyLA OUhMM0der:H UoL >3*]֥4$ i 9h OߑUhʦ/!o`581b?30Dܼ$)!66LB'Y!Ue䍥/}9޺ufru A!U0 M[iNb:Er0Yc rQ xҌ3V߱X1x)mHp 톯&Xxd>R\nD65+ؙmz4-)j-sjsY;]ͥ KF̢3)&- )za+ ȄۍF.{& *v,A-ޒ}vUmhrVJ5 s޹0L-Ϳ Q঄z{POe˿X%\(@^=IܧE3Z|i&}V8ڝ^/oiu\8\&F6L,da#&076~'1-ǂM0k\ah)rt7 [z`Z2t*bjB"BoPo/pP_)cSBjj]G 'LI6ǵ4e V׷2:P^(39)T5 T16WCM 6ǝ _D~4gZzT#y6+f/(wΞ6;k`[KquzކsFTn+W4NAI$mP#Of"*XQmp$V+/~ii600cqnmEق-8/.-}P>or}"p59rUk_|E4Mu55{pױyq[!޶孚7== 4^UnC; "QxiJdTJ2Ow.Y\3_`z!U ꚯ;o Rԭ6 =I? ]*i&؂T3~LJ2Pe]-V" ][8H{ώWyؒWD ?i:Vba[ɳYT'--ioJ(0c?ƣje= [۫˩NZ C59 *u Y^sxh735%9JS]7ŪK xvUMM[ -|3I{pe+`aa! #R~D$νMsωYnqUѽzG{{{ 7 FqQn1m k٘שel^6T|=yU<TH  ,O*q1[B;1ZRNeV{ɼ];n"վ&ewr3I5ǣ8$#=J9^ @kp]Ex؂GߨR6.+J'˚3jVVU ͓H3/1uJ.v0|iu b^ 8 M 6em7wQjL5[/lG.fL|[AUŕ`kDnܾ\ξ̐]rd[g'tIb|LjWT`$v1YؼSE{P~e5;bCH1C}լ ֜R= )K:|Kԃz8bfj!{mN5TIYXaً֪)A\@s R9c xYD%qSG̺CA.֮g]e )>;F4!LĚCdKx$KMv $߇oJ_TB:k@^LO<ܵ`'ܓb~HTdO R4#cOժ_bW?Oi^x KV"w찾cT˒X1uʡt Di#i.M[o~}hJ%,ܷb\50<v7m'֛ƘmYt _±SQB9Ԇi ܁J0jz֩^r-VУ;;;Kf@~bo˶MXLlLܹs6 3*[WᜤFOSE: t-T)<}QY_},1eært|&B#jmMTINK]q=MirOwBy݀5 E x$3)UW+ 'o`ĕ]jfWF^0C@ '&XxbsjdW"/Mum(;m4"EbSAd-$0 "OW;IՓvI^NՈ$ *ZZ ;T1S) |L\!"!!J78M6}6d)ϭ:NGGU4mdrݩoɊhzWp[x8*d>ШѪ2Rs%]8HpX]f~š/g =ӕ~̶ΣZޓ?r>3|XwWUK5rno~Q e/S gk,/:<pB)Z$J|<ҭ+n  #+~;UM$7t*fo1{Jo/ ܅+Wk~iUP z4Fj't,"S/8fV*-Z3\:_?iޒzXVRf9yCi[h1l/P}I A`.\&aZ=_'Ԫ4pI6TGeǤW!LG[Joitzk:(C 8,PZAI0X n $CoQ){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 0:=vjIDATHǽolSoP'Ɛ 8FT* JuedѦIӤMX5+&`-Ѝ%$FHĉcv\۹w}弟=Gy1ݻ7/JuF B>z᣽ݤj @1 |avC2u%0$`B|-3$ إz;`^mpAqYqs8(ꁧɺ' TWWN!!~/%%IR. !>J`+QӴFG/\Fg6oLбcǒmmm庮;Ѭ/8O>=AuuTWWbx^en;}`wwΝ;~7o[O?Yk===$]lYN[ccco v6gd2bcUUioP߲=AZQΝ]\A~~u!Z[[Kf-L/o_=V!8{eH5 ~7@Ӵ`Xdma}9wtD.).>x>bݻwTU||+q H-)Sx)Q(0ʌ[<7^}k'' bXly Zil1&s8Ba;Ah!Ϊ*e1%qMZwwhnnn V].5558Nv;-[ ^6@$ڲ̬h6ݺuҮ]"%Z8n߿?$N};)/FH-R (.su/`bbb,8h4B8 Er_ijjzt:QEQtvv  /$SwMFcF___~:. 麞鼼aXD"Qv)Ft(0B8-l:o|!^fe9*UVV~ ˲f͚5\Dm#32GXgF^b65E4~zOeeeǏHwQKJJeff*~Cєe>9X \Z׮"4&TȲc:asLytt0LFf$lL$FGIamE9qRd~TX@}g$) %) H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@FKT8x8PNG  IHDRw= OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME *>d@IDATHǽO[ǿ{6<1!clL UQThED΢nˢXYD.RU.J !H˯}=.TɨJ~7,9?ߗ{qӲ ! !Żw?|Y]]a BD!! @ tlf4 ! L9٪$ !l)d2pAq |fR<3ZXX'tz  BEyt:҂;B[mbx*jmllpbNj;wTU&''Iӑ;ڽ{ꪪd2zBMH$b|܃_ !!,//a!/F)(>z7o$m l6}tt:,\*J<>5mTRqvZn7CV}YD򋋑TJfGmaaT!BZ5!p\ U>[]&o702C#" %geYVw7yG2<(]|YB p2ƠjUU;XlYVʴW<__twQ+KScN;4;;۸~aqq1v@ Nj]^^v躾ѵ]tf~~<~S P?G [p&+Ws`8h&M$#ZmK1~kL}y?$hS !0q ߥ;gf'OST4!f:D"csɤw~ q/~?`[CS,Ư;@'p%UͦAI䤉D󥥥ᥥkΩ4[ 2^ BNMS€`~!x]+BGB2R88y lu7 (kFp+,pnC&.$rl'''@ UŐEUUxv[uLR.z'<LN`^Y`kCmGh4 ˲Fm۾ZT۷oDjn,s~#װaH0Bi []$M6lA 2\.4ҒNիWv;td((ITr:C1hӰ ۸~9,fs`04HdRJyeq]|hݒ\Մ0ML 0&)jD,01Ei(J`Z<>ʅ VlL;  Ce1qc6jrr3-*! xO>F~hbfz,Ro T͎hܲ,^[GGGV~{{;gFǍ2IӴ<9ν=lllǍJRu8Q֭[:<OZj=S3˙g?iHrJ6IENDB`W.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 1 JIDATHǕ_LT9sf`A`Eg+6j41&H6‹^46zEslLĘX7mTdX-?F@fa`f9s^,v}s> 8qmF-,tv!]t)7xurdRʷeRJ'`, BWO[Ku}򈔲&4e+,{!GRʇ`0T@ P HJ8WzB|Bl`#0<חwW&P?\C!E!uMn9^UUn ! k}0ߟPuvv,@1;~ŋ3(XŮ\tvvJ)K)877qpM88ve`LJy' ~RnR@Vxtڵ!s)㕹\C' μfQccWUտ55/--jeOŢ#of;2;߮ohpRD~{7O*O18y$tNONNzMܟZ\(S/X92ۤ'E\]CP:NHxMN&I!D(EmOQBﴍG1 SAsR)ع!߆lM\FTJR 0P^^qZPCpk3E136*S"6POb8={n24&''JKK㚦%@ 04M69\H,8r ̏ P.] m}+s @:.:a&''K+u`` [UUܙپ[,^ȑUx7R}u6=XFɞ #'6 H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qW b0XdxPNG  IHDRw=sRGBbKGD pHYs  W8xxPNG  IHDRw=bKGD pHYs  tIME (tEXtCommentCreated with GIMPWIDATHUk@}  <\`^B|Ch=%:@ԡKnSHڎN6% 1 b0ؕ#~ֵR}%-jhZ&زmZ`LS,M͙vdֻTkJ ^W‡5b<^y5 y vu0Vʈ`5U)"ycqs!oW2UpzvM<۔VO$k~R)8p_ O/Փ՗^GJC .f4nU|S/K5^WWy^WZ|E5yV5I /7"AwLc$:B"N;($ƓYOt 7ʼql>4Jn<,Rm.rPJG#n(3Y8NI;gׄœ//g(|NLZuy}ʆW?}s s&D2ͦ4MSLl, X[?RqBضM6e{{%L\inn~ǿ %onn>**ضa gcc cq9wLQ$p@ @}}=pB~Ogg'ʽTKK˯7/t]IQ)~?`~?^˅|s||,ONN4/$@wwwҶ jjja<. )%RDJ磭t:MXOVdT2 Gmm-B!>rhww7DUUS)x<B"bbWB0<#ssslll@ţ¶mb(+#ե޹\fgg4<-qBBRb* |{{.( "֟^=pqqq!H<{E_5tUd-EQLȽ%ɪNh4j5rX oR> jU<IENDB`b %%WY2x;PNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<VIDAT8˥kRQ`A nozѨK?!eMmm9%Mٲñ&5d^lxusnSA/ ** խ(6ZDsŵ>9Gׁ 5lcf l"|n^'iṞ![>DQDί'r::;Hjle pg,.\ ZqBx5K$b+M,*$GmiQWI2V&ahQQU8Qt)!?D~s Ht+TZ4 Y h,Y9t)>;#(D{k |sG,â\6o7`֧GKD6,8|w#ûUK3A.߮X  4w6p^8{x}u6xYWí\O"bKe1!ޱc[ 'zf>]"-Sl܃<^ = ɲ 0ۍan2^=D6ܴ`cw)䫠iJ|rRIENDB`?y{{  %*/49>CHMRW\afkpuz "(.4:@FLRX^djpv| ! ' , -157<=?AEL P"S#T&Y'_)b*c+f-j0x2{3}4~5678:;=?ABDGJKMNPQRSTVXZ\]^_`abcdeghijmnpr s uvxyz{~#%')*,./ 4 8 ;?CɁˁ́΁ρсՁف݁߁!#%(+-/012345679;=p`6flrx~ &,28>DJPV\bhntz "(.4:@FLRX^djpv|`5dAB C DmEqFrGtIwM}OPSUVXYZ\^`abcdefghijklmnopqsuwy{}‚  Ă ł Ƃǂɂ˂͂ςЂт҂ӂԂՂւׂ؂قڂۂ ܂!݂"ނ#߂%)+./457;?CDEFGHIL M N OPRSTUVWXY[_a&b.c hZTx*PNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<gIDAT8˥Kq zäqV(uD).Vۚ:nWS$#aKkz+mmL36v„"=>>}1: /8y>o??#TX|M-Rv,n1O1Eirf&F@lN.`9QXһ pg\{?~+E4  @[ˤ:!9%)ʅx.D F8]ND3deH']\ӍNtqP|PSt jʙЈ2A>"eƍ헮?F>3eh=,RA$!d8 «Y97'@77DQf5Ž֧@x&_mjn-̶/=e,ZbT\y—Gu+{!V%E[&ת+C0o2A Q{`:Nپ:ZpۅHy ;{`dSTyWF CT>;/좓IENDB`[DB /+/x\tx sb``p  $)$ow `@bnafd5G(^~[ae@!׈ԼĒ̒ wO߀F>qOǐ) ?446ij;f ́<;#>x~o[͍dXp|\j*pOKZCv ~~c;YV\+.4?4(=S71Ohz|_ۖno|+IT3X)찿E+f%vNiZ^;579/䶋KG68jG]ϟg?$Y?+xˬOխ9إxsNY3NY++I6EJobƇk;az/ύ5xrCyF{|Ro) xQ[&x sb``p  $) w'ud^9lI. 1 Q%I@bnafd5G(^~Eߔ@!׈ԼĒ̒ wO߀F>qU2.!^b z>LJ]SF= "{r,Qd:cC ) K[EN l"[m& S:LZUu.KLk3.O_qm[⏩3̴ Xҳ00<]\9%4q L9^vx sb``p  $)$ow `@bnafd5G(^~[I]OdkDs~nnj^ sQjbIjByfIo@x#8PcH 8^7wDc^,NQ!VEeSBB/~0]dxbPNG  IHDR szzbKGD pHYs  tIME Z tEXtCommentCreated with GIMPWIDATXcd``0#5q@,1{>Q XIcMg72h8\cu0U:T>آ:Eg"-TuT rR=գOq\hE%_?QOHcrc?Qٍ |!a#~:[[/vݐ`yDOV+OO&%Aε;Eغ b/j3d>gJk1fmŐkz1010rp0XaR`ʍX[‚آ 14\bp/Wb`C^"pd# sry`aF)Z we`]9nQB->NjSHѐg$431;v͙IDE#ZuL>*.Y7 ;&%a _1iM4 hDŽq餸IENDB`*',ks}8*EPvaqo7vmkFA#{\]dεV֊e/<,J`  ݮDD!*SZUw e-)-Z[#n Jgn"I#UY+תZ.M|fYm1jWeKЀeFY Dpdfj]Oq-kfE0 $<` H&33"Wq7q˷U &'n~ M<|3n"ȈX\ ^d$Q&d6M0\"",3 ,z)]d} # =L3%{y˱ /Ai/+7ǿ4'|vpqލPEv ~Cɠ^6;. E_6 8/xCiD6!i+vo?R]޻&ϿvX͇ۡDA-R㻫.QiwwkoS]qf w|v^h':U507̃.ld"B{IENDB`5iYh //v`pcxcPNG  IHDR szzsRGBbKGD pHYs  tIME9&e@tEXtCommentCreated with GIMPWIDATXW1n@u@F%)ME7D\!  4 ,d9cÇϰ%K>kvg@F l׿ x0a1fyˇpe@c>`*R&QWWF@Tub5K^ez렞ۮ"To.OyH #Z;NB" ?MǁzZU wAw4.{[V+2beAI`>% YD$*qBUlX9'<;SNg5}O[U#B"sUh9xw4e"{wn #x]@?gE("OH Z\,8S d=}TQ[ʑHOdO> \,gT]p:~aAReF}h])8 F2a-IENDB`HK_8x8PNG  IHDR  pHYs  tIME  *4tנctEXtCommentCreated with GIMPWIDATHUV@o1s ,sn+T9c-*f$H m%Ctitq-܋kq-T2|9 L7&l@6|>2f<`(usy]\*fFDA d /#t;FU\k㺢VTEdL &=pc˒fЃ'ag X //MaxEPNG  IHDR szzsRGBbKGD pHYs  tIME **3-"tEXtCommentCreated with GIMPWIDATXWJA=jBMRt!DM =G3MDdxeڍR,Hm6:;;53glqH"xor"YZ{ooQO!z&֢|e[кc+f-kvNSǜ ` b7O7εL/Yqm ;K*:4mED Ţvڻš4 baXJڻ%sA(,oΫݓ ؅n+JJJ0h"9mdW!mw\#?&p2Xp0}*:+P2/Z玏 76Bz ֲTʨQyioBS&9xFVG&R:vg{|([[$8lh IW:Fj+4U># Eڠ5JQ4FR𮧒S9|IhaK4tx%dgz R6߱~IENDB`a0 wwbrxrPNG  IHDR szzsRGBbKGD pHYs  tIME;;tEXtCommentCreated with GIMPWIDATXW=n0}A ԅ3pЩĀQ$.VX:1%+CEP!H␀?2`1h:Pǽxmn΍xddu)]S /$pC$"p ! j#\0컶`Ԝg !Eջ:59 Ry.^~[@%SG@dSjiXG Vkf/*r]F'kD͸^{^uhʟ)F`MH̐R!U%[ Gp&<0vdYX==8IFB׈01?e9-EP^ ͟r| V5"il~;]f\%n<0o]:Q|fa8IENDB`j e.xPNG  IHDR szzsRGBbKGD pHYs  tIME |tEXtCommentCreated with GIMPW]IDATXWn@5,HɅTK9Pġ~>ws;N<D 6 =ZEB2 3[x#YZyfwv- O84PnÅ=g Y I*=D[;ѮJOOlŬQ8>9V)<@ qlhQD8~ wf2 $ɦnW?D @@D@@uHu/t"~pxo\?h~Z;3 {@6!p[Y[1aÊ@1aSglU3eri⪵@fbgǻ>Z@IENDB`@- ??=g~xUPNG  IHDR szzsRGBbKGD pHYs  tIME ultEXtCommentCreated with GIMPWIDATX햿k@?R햂m4쥆AK]ZJ%;-N]l2$ESc! I|-YDg}?޻'Y`VtݭO S=,Cl|V{<;8X^6XP. ڛ e\O&VA0s{L-TMQ!rTP>ў,kTMYU\X>e-3jz@Hڞ$>6l5' ŋrފµaZ,4Ve+.siE .\ b}`;KpcOΏxSN0Q^ۻ<: vq`/ CQ@|g0p z`e{~L ^|T{G?NCP2 ARe!h*wR]y1l^C'Q= !aE`1Uc,t6W-6():Ihri+ ́gYq3\$,#A'<_?s@ RoS5xUvoiF*u`Ċ\0 PԬU"yY=xا?r;ne"R{K@[zΔc,@\ "8;# G WGÁ7BtL¨ ٍ"~gXXaC;T7Jaa,tTZi(v#c.O2O"͚QfaȨIENDB` !iFxPNG  IHDR szzsRGBbKGD pHYs  tIME , tEXtCommentCreated with GIMPWiIDATXWO@}+.EBk)a=՜!zGp7ߦ_A)KZ [Xl]C03${{ @qXF~4! D//PoLH!ޜ}DӞZ F4gn[h% ]'y HoskE"@3F3sL'AӞA-_miϘ2T;c %E4uy22JC(_E Pw $GS mA M&ä}䟁9XUwoةӒwnP@_+g|v4~y Jc"k,Xd Bo9]rʢkgaSP ,Bh$MPR@)0,*qf/S%@ 0-C} ӥ"Y!U~_͑-kx6sܟݨYas:w)(#;:w׈&no'QF gx !#wr@drB$~ɷj?IDn{[] wd2uIENDB`Pw sjj`x`PNG  IHDR szzsRGBbKGD pHYs  tIMEDbtEXtCommentCreated with GIMPWIDATXW;n@}Xb# J3pBRXP \ m 4R6AS$K 쮝ɲdy=3d/jN_#7:w7m.lZK1g\>ex:箌 E`;|{y'r>\JMsHlt r_UThNMC5@D{qko:D"WɾR2,(o4 ^H;PDcWّϞ~a@ngEw4@lb;%p:͢ŧ NC;{_fcBg!҃( kb)M(:)0Q;섍totf֠IENDB` Jk7x7PNG  IHDR szzsRGBbKGD pHYs  tIME %7)ЎtEXtCommentCreated with GIMPWIDATXWOoAeG 5D#)HMx{ Ջ݋LLi\lM lb#Hʎ .R%μv ǢrF2 rv+^,:;:-@CIЫkWT贰szPRh()]\Dfz St>b5 wni߆al_IZ0}Kf{#Tb7;m+&3 c w7/ vX9Ν _c0EDf'BWȕ ׾+劖W"""f:J"J"u0ȢS*}%i#3ܰj!9p4ZC@Ղ0XT>Cm`3dn̟ds o)DsأqSS1]]ȃ?dҸID kZWEa8Vۖft[Jf3>D9be0$ Yd+o7ebe\Z2gdl0dYmQIENDB`Zlh DD8ltxZPNG  IHDR szzsRGBbKGD pHYs  tIMEɄtEXtCommentCreated with GIMPWIDATXWJA=nܕD+tR(DV $"J F-Lt׸ kfg.{Ξ{av ` $p'KIwCU ` }'zq? -4Ŵe7zܛC [ea/1r7'H 6`x:=}TL.0&^sc% mք.z*h%Ԇ 4ڊJQ֝25l) $^v">vHBQ]Zo%QQ/"X0DV\Jʳ2U,5m,0I@T1cqiyDW`|{;\xP5x_5\,&¶ "jz;M1aVv7cC1m[+?,lV܆=r &7dqj!z?ϲ]IENDB`u cmJx/PNG  IHDR szzsRGBbKGD pHYs  tIME tEXtCommentCreated with GIMPW+IDATXWJQΌ*B@AΓ+o+ a+E0A&zZ s9QE?b̜;߆أ }k|qVx6i;BvGRÞ6߄|vYb<-1}Ld,QcN ޛE'rfTgJ 7:FʺaGdxFYIJ:*)n?PuY@XH;Dٿzf= #Ld@̣kzcs ;$0&CTxzfJ:Nf:r Q+h+hq^߹kVDu`9lr<|2HkIENDB`qp0. 66FnxLPNG  IHDR szzsRGBbKGD pHYs  tIME^=tEXtCommentCreated with GIMPWIDATXW1K@}צQ(urr'C$D9jAt?]]EDl5sB\bc?4K{ 10*鼝sȿ]!܋9p8&ohWߵ0t.h3nqzdoklty_| '?>S ]tiCM%vMݻ{i᳚<\@rE{ @a~{q]of~QÄ~-smF:#Y[X^JX-5LĠDk @%"ZS+8r ܗ' >1:\`eMb"D5$Х?с$ a1:5̄Q>b& X,DcqŁпJJL%epbAMЮlBwư_&`|mT!NM}DecvA`pY]erxܞZ7]-iAq IENDB`D)J boHx0PNG  IHDR szzsRGBbKGD pHYs  tIME !9C8tEXtCommentCreated with GIMPW*IDATXW=K@~mBPł(duj7gտЪछFTX2iuiu T)!4 %Ku>ׅ _7&qf~ L!f0a< $ -בZ`e|(>3Z`fR|!4Yd2J*" I?YO$H5aS*(Y2lU+ÇX, UvV> 6{!|{1ۊU@} K~fegQi{[jCy|el/=\9c7왱,lg6$/7Z]@[/YZOO jEYֿY="z1} "{exG4%WzWz!@.~koRvp5 AjuCaHUYMJ~>"2aTnwB0x]Y$)|$ve?`Fu~b 1Z&uX2#2ĚP"ՃoσTLr[Q#gRb>t0{.N( Ŷ$rYUbub%/F8 )\yDLϲrUIM.N_V$w[ѧL(F(US5o­4a''4Us@FH8NZ;8kl~jP9 fJT\p3J`LgķL7> :nqXV*ݜufl|`j`yhM %uh(IIdNiFyIENDB`R 3 [q:HxHPNG  IHDR szzsRGBbKGD pHYs  tIME1_tEXtCommentCreated with GIMPWIDATXW;r0\CSq*70Rb \!4r* 祀g$!!O $E&1^Xe.!)9x4"M[ {=`r/b,@2"m`p&#:`-=V~) lBt|\^Qx*hUD 3(Yt|ή9}dLq8Wxz9zwnk30Lf]lp%hK Q{PMf}ӾIضTd1l|\FD5^~@DUqvݑEFMk-snm]չ43sV_Xu7bනj&̾?+CIENDB`Wz z+z-s^x sb``p  $) w'ud^9lI. Ap品" 0kPו ndkDs~nnj^ sQjbIjByfIo@x#8P?Oǐ) ?446*ӯ}s<><qUʞ.!S~7hhhm.}IOT<^u+3Ąw{Z*'8;,ԶMˣmf9zBԊ#ڋ]1;C3@֭Ȳn}#1/&;JHHCYɄĔ"/.P8!ȭ]VI?0{iR‰7)IHIIx}x˜b@_cE*ȎSnhW4ǀ+#yӅÏ)M匐q=]irKGU҂^Ɵٺ/0L<]\9%4t+ $/$ux sb``p  $) w'ud^9lI. Ap品" 0kPוʗz@!׈ԼĒ̒ wO߀F>qU.!NuAm?#.[6z&m_Cu% YIYq q5ةNaF3U7.?3. B͉ڳOj01X>A.7:- Jkg}yGd׎'òc5Yf<޸}{'B&~{mSɭxM~{:닽'kɐ6-L2zJnq3[WL = ^>5QU fE6gwqh1łj2b"罨=ڤƴ·)#tUEUnjכYQ3/n)Ծ" ט 1) /Mtx sb``p  $) w'ud^9lI. Ap品" 0kPו«igʀB%%y% E%) % |@=]C"'$$8o]W/)zgo:)mKXV9IqBǝx'Ip3z=bp ".[6Ԡx(@L)Cٶ| |]b>a'=r#=<<))aO/eSBC҃[v:x sb``p  $) w'ud^9lI. Ap品" 0kPו+ @!׈ԼĒ̒ wO߀F>qU.!߆[596H7`jm-ma}]lK^rp\n?)bV _\W|wc[ s)w"9|cVZp5QҵJD #|gz(B>+Ã@U{j̙Xp0{|vT.L XOW?uN Mw&) AALyx sb``p  $) w'ud^9lI. Ap品" 0kPו+t5@!׈ԼĒ̒ wO߀F>qU2.!S~7hhhme:w.ؙppsκwm_B~ 3kORN@xy!WrGHظcڂo2[a`ĥ1CyߟuZ"U%%%%*npqGԩ 5 Oبodʮ!>Aj͒ןᱟ~à Kmk`'{ˍѲls֒EO|dsx;F򾯱 J_ uf*|BL1S[[ ^"grW``2xsJh@PhkxZx sb``p  $) w'ud^9lI. Ap品" 0kPו+dkDs~nnj^ sQjbIjByfIo@x#8*3Oǐo59$cqS?p4I-Lة#m{NV6##5rj#5?sfÌs1?r[~dwr]u'W31\|3I"=~SKh#v$SGjSm\ 0L)ϿpFZ%_s2\0`&Roϒ~֩gxxA]ƾ~[o1|D8M+rRszj}cVvo)R[rLd&3~[#0SGo Yw v"Ô2 翟(9a|eSBB >+{Zx sb``p  $) w'ud^9lI. Ap品" 0kPו6 7n_-PH59?775(5$5E<$C7 O菧cH䔄 Z`dU77Vf7Y| Wީ\vJo|Dwt1eqnދ1F?6({Ⱦ V7(|JXfC,6 ps:UˉO8*:hqYV"g⼚lO5ny"% v|pQ\R-yYaJC̎IYX$%jK+9G310<]\9%4=T>zx sb``p  $) w'ud^9lI. Ap品" 0kPו6 7 W9@!׈ԼĒ̒ wO߀F>qU.!S~7hhhme3sV>м~<><yɲOwxQqIq{M bL1{8I,*= 3J 6%6P0ź9z!0v<]\9%49ґ 99Z8x sb``p  $) w'ud^9lI. Ap品" 0kPו6 7ϒ@!׈ԼĒ̒ wO߀F>qU.!߆5H^2ݵQœf7gXZ,`Lz3ܼg [tKD{Rw`]ǯsg1#۷n raOWV|tԩRc [iSsBʾ:SK]QLrli_Ya\xϦ/w=]v͖"Z SUR/Aitwk?> WOW?uN M'e~Nx sb``p  $) w'ud^9lI. Ap品" 0kPו6 7U@!׈ԼĒ̒ wO߀F>qU&.!߆Y2M4}-K[j;8N`08ܺ-"jGCV.~oNhl-j;WoLQZξz?۬Bk ~lֹ3T-ǽLk]zQ,9|oڜ57d;ܯ pK|Ks驵 =z 4YbףKT8tD,bu`PZ0e˼Q.:Uk/V /!yÔ x sb``p  $) w'ud^9lI. Ap品" 0kPו6 7Ci߁B%%y% E%) % |@<]C"'$$8o]t_*ؙpp3F*Ss/-匴@U[lWl\qB /xI9O|įWD:BF,_6:?8(Si#bNiq_nmH(6ꧬxmFܷNMY43RV}(IQm=l{_`(9-)!!1#BBKswxd-<,wAo}N|b\ɝpq{~n%BE0̟iٖ,`1xsJhߤfPx sb``p  $) w'ud^9lI. Ap品" 0kPו6 7G.PH59?775(5$5E<$C7 OhcHa}M:/m5 BԆZ\)}dцw }Gob>XU}ߧ 3r[OUK`Ÿ#a}\,Z7"S=:I|ph[c ug!}Gғγ=&V;JZAKy`3xsJhCK x sb``p  $)$ow `@bnafd5G(^~[Oв/B%%y% E%) % | 1.!Sg`3a@yno{]F򬍧vX&k/FyҊIڇo3oN0yypXQcN5fǥm/bz` fG+L ;O8zcwsfee\5}ur$2mV`.ݔ@lc5mU\ir!*㕌%%~Ü+%v#eSBJ޿ 2xPNG  IHDR szzbKGD pHYs  tIME  ;tEXtCommentCreated with GIMPWlIDATXVn0N]Wȃ$s^R'OLx֖SlHi#wH`RU}#Dmo8Et8ݵJSc"S#Wkoo<[ܽe]_or$O;.8Ar2"wU>O }'D绮!|p.eDg/<1A?6`?k Ɗs\hGXM#քMM 5%, D%;:/>U1kro)n[c6fKV\h ,2 *ųӕ7>GAo>w2/JЋIENDB`( 2xPNG  IHDR szzbKGD pHYs  tIME  $;tEXtCommentCreated with GIMPWlIDATXV9R@ZH\~3(刈H !<(Q䜄0"bDU{uwf@ yi]s fc ˼"Md?%'fV֭qLN5֋Qn&\;Oe081 |:px'E N2\%'Ⱥ!k=?v^jLtǿ*) Nu$>7*PdY*DD&|[HK3M$wN`tD\Bڄu/Pٖ7M8ݢRv忻bגlE@{`*+ͫ=T#IȆԀIENDB`v xPNG  IHDR szzbKGD pHYs  tIME  ;<tEXtCommentCreated with GIMPWVIDATXWN0EݺKIg^)SJ@g }.ق $3@d9lSHl$9???m캟@4e~"vIi?<\2P IB(AB":*I(NUO4eԈ> u j |HD~\!EX_F$ӽQXXVv lzGB.!T&#[*Udn4ea5a_{[ULC>6t~Pm7=cNH39^ɪt;Y߰;:OP[ituKdWjחIENDB`׍t kZx'PNG  IHDR szzbKGD pHYs  tIME  ! ˢ%tEXtCommentCreated with GIMPW@IDATXõWN0=vB:!J2e6V>!S;Vtb!1AUE%5CIbN4.r} PW\׈ n)gh]?DOC7 Pgu1rS݉k4Cg}0M.&& i2Ip~ d+"%KRN5!^!i!fԑI$f DĜlpR%X{q%;+.T _E\U6?Am۶]i@m ieG1$$ mT|9Wb7lHYgwW],^>7ihe_Wg $_y|٩ \_o&T6:odD_ Fn ġYD5H%:tv&$;ӣ89hY9>acȎ ٲe Wtm#MIOZ5}KN y~hj^7cѕ~L*5CRU>Jb6 uC`1FA hãn 07ԤdM/^͖!IENDB`v3 unxPNG  IHDR szzbKGD pHYs  tIME  t"tEXtCommentCreated with GIMPWJIDATXõW=n0q"C >FQ4E\ @' E@Arf!"@6\UA!MQOYodQHtc0|>|܏ S'X+qm>KK{aT_$GZw\妅s_ƺ@e|\FxFKCM#ܐ#qr}u#&6# Gޑ8rbH14\;iUIK|+)ꦔ,' y wzΡ$XN}|I,w7 lֿ?yгf~F;Ad l\~}k-C}[8Z 8 n ꁮ; qt!E8<k/{ mkc65 Y ԅgN|  A5ńc٠8=lJ]Tȷw]` xX )VT6%CfF#ńO-v<^h$ݘ[-!$V4 q:˿͵Y>K+JXPi*gy! t%a;1B.Ͽ5[wzd}+-a-IENDB`^? __6 px sb``p  $) w'ud^9lI. Ap品" 0kPוan؎@!׈ԼĒ̒ wO߀F>qU.!S~7hhhme3sV>м~<></.)qDT 2 mӘ_򟟬Έ0͚x*OI/~;0 *=ZȐH=gD`2xsJh/w LcL *x sb``p  $) w'ud^9lI. Ap品" 0kPו:@!׈ԼĒ̒ wO߀F>qU.!߆;l O&FH3d6 'Ks7Pb[ơS̪!{A A+nF-$Jg3<ذCaGl8xB1XLK/'MakJpkvvFm3-84|I v35U _{ U͹+6!ĖY7.f>E=`\z_XN=:Ʌgߝe|bV-m-84eW>n&/xsՁW> r+#Ga\/ nش7oS]ncȪlTs,MuLoՖiȼ F Vs:'_vZ/5G`l0xsJh̤Ǔ 6x sb``p  $) w'ud^9lI. Ap品" 0kPוb s%K\#JssSJRKRS3K2=}ā{8DNNIHqޠ^R\gU)?b%$`aEÍfrg$JlH tX4a)'xedDVYa_ ~oYc @!YdTtZbb)קɵԩ[̝$HɌ :w5zhn)sZrE3='Nt(3jVR:WP2 /^6[M笴) O\p yy  pxpPNG  IHDR szzsRGBbKGD pHYs  tIME % rtEXtCommentCreated with GIMPWIDATXVk@Ζlv1K<@M@E0-K[vb:xr= !Pׅx*q3Xd(tO?NnɁN:{߻/(un0D bRPBql Hp 3_&"~L%aM#Ifr`<3|!TH"L.UeD:k%R@heļ8~~h!=&-h!Nkxz%0K\7%KU6cdh1RKΗ[Pvy. H׆fڤh*v {( hc4d&yEc:8(>71J+`Ih*MEV࠶aeK;3B I=T*ӿ`!g!|Eߥ/P5fESͺyq}rUZsot)!/Z@|Zf0ܙE=^$ O=B\2c{X}HR| Z–'B} 48"/W&/VqC*RrЩ\2s(=|+z?U64tG5!w?\l\X׼~&pyfQuO~H0)%p^v`1vIENDB`}{ }} lxlPNG  IHDR szzsRGBbKGD pHYs  tIME &2OtEXtCommentCreated with GIMPWIDATXKA?dTbVZ E m4([Q{ ri_`B)\(%Aha(ژLawf'{&z-)DuAv)iD!UWZb.=t)-84ı0pOB T26()s }fd:G[- `LptnɋB! H ֏b7 M᎘  HIx#!5+G;|xH.;!-6g2],'eXUVvq֪QI$S.z00tiU $S ~F_ *Iل2A /Z5U#kU%רAXB0lʱ?U~Ǻ$|nEKgBU%ّ~WOB9pʘD7KS] X$~1Ɨo#7v'2VU|"D~ICZа(w'Νy |v򫃪V) / vRNLz^8؝GO]Owg_c~a`C!s~KCip"A[pv~0zֻ+u JHp a1\kMk7( MIENDB`J G4x4PNG  IHDR szzsRGBbKGD pHYs  tIME *):%LtEXtCommentCreated with GIMPWIDATXW=oA}9cɗ)%KP ("M ߐ&I*lr+db#H'H9ΰ)=-(#yocg G*TSEez2m/"0:} I?K2#!΢ۍe'~m:1*sF!#.7"HKWc`Dխ-6! v0quƖɏ/}=[O R5es9rbIgs9Dfv!7pp"q:yesE׾pCBv=ktYXM0&sS 넭3l^y9><$ߝ49nBC$hD $~nG Cf`cwm% B7a;v]bƫ-L`vuK'ʾr_ÌE;T~0w\: g| մc.ۭSf|v?Ƶl'29F2:'I(4]xX$4ԒPn yלdBsyՖɏH zuZE[o H{D!D }1FS9 cPHTHAr/KB9f2ȢԎWL6D>RIENDB`7b ;z(x(PNG  IHDR szzsRGBbKGD pHYs  tIME , tEXtCommentCreated with GIMPWIDATXV1o@^bjHZQ$&g ډ.l-3] NSVZ&JTBB-Pɪ!81Dw}-޽{wᄐ{dcfhdv*dIbLئ3bM*q{LmNLqq>02fl {33ay0Ȃe $J7+X݁0e%(!xd o8(s  '!0x3\_wh rݡ5s'j=x\xq w)sߙ׭a{u ۫[ք=;{x%Zl:m^mk?ZfTuï*&IENDB`Zfv@ӍmnzX ?zn^~'טzgx{w i }A Cs]˴?U4V4\ޛecYX b]Z9~gfi8aɎ#BDhshԯ =|9b :+HG'mt. W ӸZt]Xŝ[xIKĕO0>pibv]ac0 D2[\KD] *A(R v@wZ>o__۷;ܡi#1Hc"`?4)pwnpitPŐj8o˧r}&T/xy ݓp}!rhg~ߜ;+~L_$gpgA5v6jKcQŔuP=~n<鎬=Ʀ"v$o6N[mKh~ QԨ#GW~{Cg]@)ZPʮ#68ܳ?T_߿zݺkJs/#O8EM[/)F4mW1c4Ņk,ujL?4zթլoAZ"UHv7HO?.TZX]/()}yVs&|F`74[ jQ! ,ٓ{B&ڸrg#Q)D!F; 3 &fF5QyKN_4dDcZ ]m* |xIENDB`o 4l!x!PNG  IHDR szzbKGD pHYs  tIME19tEXtCommentCreated with GIMPWIDATXåKl\?qqEM*B*PlXTRvl@B(UhYTE+6D$ Accܹs.3s/՟{|Y*C-]wĨD *^j+U wlqbl?/bgϰ%~E9&I:IR$)d4˭?q%,!$}3Kc0II#t/?F3]pYe! 89[1}0H7OL:o<00(`fؿ@5tF:ro>go_)R|G_AX6 51 - ,wd34 = Ӻ7jTrXh  xor]7z¹Ħ?{9;S2q3wg~e4Ɂ&\DhpIh> (WB1롣:l/ Enfqkt-.2vD5PJo9\\`P1^"oy5"M?ѭp<6%$Z8ٳ9t(1 bFJ̅m]@H OZŽyթu釾p ꬶkrO)ʮS2-ozt5좤}=cT x.~`z2h\xVBS }*N&'Rgv㻤Q* _?Лz;[7p n7ȩ_H b!y{fsems\*߁UMb1.-ŋ*dO}]P;sp= @:њOi~8e7&6(A@$7pAUT}?la?ʲz()QJ|V^˗2sygJyX,o/@Ḟ-jvGhNT)?/ 4yyF'' A&l?zT)^e.:iҦl^OQy*y-k,|)פu?++Fp&Baquiv ;/_BۿSgn fp6qmZ&:&>>JRcic52Z[Nj~Q} L#t>bX[>0 oɾ<4b41!hczʀ1o>3`Bmnna*'D`<"hFԞ iLK!zTS 6vIENDB`r5 D 1x1PNG  IHDR szzbKGD pHYs  tIME+<tEXtCommentCreated with GIMPWIDATXåKl\WcflҺie"D+`Ŋ%f uW!udžJV  BiS5jIc}scdҞ=/7\^,<|9oGRy]&PB轎R-֊z@K @HYv1糖OKaI]x ϽB~?|!`8X|C>{"қB80I8,ww2 қ&+7M\%Avj;ڪ򃝛(!eq`b,!I-?;18@>o`}c4JϹ՝.Ѐ9B 473SdfE_zb a!lSZGE`WQ4t<x=QyRIU{hR{<é8ؔ!jh?$+I*\UұHiAEbBV* }|r}f9q^6&cT[1t)ّbBr"°Qtv/p`Ws!;O[!% =>fx"GC1۫r%Pt,{Ǯk*8|Q??5qV*yV6^a]:#a5烵6b<|3 (pxFδ7سnMo9<=ˁT:a%ҪN/`z wgC6hym'Bzlᓦv"/f@VTZfhj@ >{NEZU3|U{ ͋W:giän,KQ9[4=G *ˮqϗ ʯPO k^߄3szO_AJ4h1%kT\歄zJ"T!x??4  o?VY$kvj̅Sz~M-n`MkbW3IENDB`i b6bHxJPNG  IHDR szzbKGD pHYs  tIMEĢtEXtCommentCreated with GIMPWIDATXýYlTUs{gtN[RXe !DC"11`4B0D|BLL411LxAc7 h= *i}nLJ N1'̝9#P5}fM羊UvݬDZB-]u<7M J>&ъ7iÆ0ۇ6@w]_-nXC+ -)@cB`E< n#1,W5BIS)KY zSQ+PDųkxTPNG  IHDR szzbKGD pHYs  tIME /tEXtCommentCreated with GIMPWIDATXýYlTU.sgt Zh@Jbx  FM\/>i рFqRіtvZtJ'7;C-*TMptLkn]]Vu3Ұ/<%@x]Z3 \!58B)%Hl!u؜chq< Hc'jW)I!"$4 %OŮҵ< 9U#d43ԙyɚVLE-D "u,vxvgQ:eG )<([;6=8bq&@ʵ [E BrfO%3_K1#>Ί㑒><^.U0@9 aWy^]U|[HɈcD5skDJy.;PpEۆ:z}Z`d9E#x]5^ .*]q@,qX;'kcdH31ڱqLv^&z ͙vDL)׼Cv3i>9H7iKМ+ejN/'r CD@Zy/Wp?dJi\EB]tb&z(iHҹ;f15vUOvE+OݳgL~{|;=JO,Nqg97 ^L4o:-1bУ#c= Y- ͍Y)7%u{ߎڸГ/x "j6-u@5~`GKq ֺFQܜma%zpr w X7bjU&xu _:oP7:Iܕe?@"% UDnfe8$ju#/ZUVS߂9p&";5EUO'u03R}A7lz6<%myѣN\HQl%=#0$$JU=EJ R▲e] 1s4w iadDF`&`xNjkCo 'r䠹) Q5 CzwBfX*N.C"h׳ alZ{M<3}moJqWI6~4B_ݸ$ G#IENDB`)v ::BxPPNG  IHDR szzbKGD pHYs  tIME 74IFtEXtCommentCreated with GIMPWIDATXݗoPٍK(&Mi! dS#BbABLWS:G 5 bCHUKې؉? `[,t=c?("a5d旒[>y%tO+!2CZ6ƱkkH|@ I(!sV9:wYr [ EtZ_HT)#L})PdΉIʱH:v0*`"GCh(fZ̥ܤ!uԋ'0(?@SjBQ! XR'n"<~ͥQWHy<(~<K#HTdق#(<\u/$Mf ~΂\Jާ- ӣs˷،O )1!v{ A߂\eUcLj1W~%gćORI.k>ŝe߻G=>S%ZRD?AӼR 7ؚ|VտisW"WtBCIENDB`(s$} ..N xDPNG  IHDR szzbKGD pHYs  tIME 9ƽtEXtCommentCreated with GIMPW#IDATXKkQLIi.uUܤU .ЍJRqQ\D̢XFKncsd.DžB;.I2933Ho\]Ѩ!*?~m"ƍ$@o,_l,p:_g+Ȯn%B@&w7sOx+0_/@m6+{W0a\mˆŔ$oN@X)6 9bPmlaofCy=Փ~m inWnk `A+b'6܏ }ςFȶ(Ko6e^4:3- )$ P !^mǣ9MNtzكI>=ډYJ8Sߘ)&zgD6!W@Lwne]C As6$'m,}x.p2\H}υ ]Jk{/b˃V5%IENDB` & ff0x|PNG  IHDR szzbKGD pHYs  tIME .QtEXtCommentCreated with GIMPWIDATX=Q3s3~m媅.( 6He@EqN- "fw3ɝ{,Bę̘5njf==s9W0Z< 3ibu+xŧBLU^kj 뙢Y-h7[c+OBۏQmiw0$T\ P %p"w"Nf^p;~Jly[;ƅq? 0@$(G]rW]`ibBxD}mVSķû\ܦ.w~]qrJo+ٝ6l2bUKg`qgVHM|(/q?@P۪H$~?GfH"P-~Nɪ$t1?7f_"[@"aP>^D-\.D| l, H\5SIENDB`#9 `Dx2PNG  IHDR szzbKGD pHYs  tIME  'xq#MtEXtCommentCreated with GIMPW5IDATX헿OSQ?OijBE 3q0qͰ]Lb\M' 6BH0H]ju Z(Bϡ'9}{|{$@@-He{Z|U.H+@aHnЯ mbkj${em>tkC(z\i;<8EIC`[2MnSZDvAOdSTuL4eE)+99$ ņm% TU6hjYk| gU-c\Z M]/QV =A^*1Baw]y\kI-DYP(#2eIAqbl֠M|lCIdH$v3ŃGJ!o֪hje"F&z@m&$qz{ &{Ȥaz͒^RTB?:J5ғLo>' *IENDB`= dd4xzPNG  IHDR szzbKGD pHYs  tIME2/&ltEXtCommentCreated with GIMPWIDATXW=l@:1$QHeD4AA (*uΔS+ Js•(e!?N RI4a5! 'yw~߽{w()λv"L t)фo߽c|#;)ʀ;49Lh*v'(NRy^os Ws?@ S*@Zg..5{M(D*Q10G gI>oW6@L/-pp>a| Uej|Ղ f0y$T6 /O$&I$'1Ȩ(24 }o~"`i@9GG_.L QG95r ty&ƎNιN,@eIZ@#Q:0ݳ.Fas oݜg~Zݛ𖆭lOq7M+OmeBl =M=h#2-"v+vv z0T50T5г8vv:Nl#PT X`%bP򕒮i >k;ߪ2l ѷMc 󣪌W7oV<"DѕHƈ,N.7=j"~.&o]ǭIIZ#$5b,!hMIH%S(&'wO^Xi 4$ŴkU\Q Lh`vgjG׎ iq?x e-S ݣ>[IENDB`[ _BLxLPNG  IHDR szzbKGD pHYs  tIME39ftEXtCommentCreated with GIMPWIDATX͗Oa?mjZ2<ڦFTqp0 . CM aف.R7cpVBI[8)*Rgs~. VYɥx=w#=x>FA@%`O@m[R0֖x1<}uoczcdc-Sno0AAÏ:퍍[ԍkoY + '"GG+8˔*5xX W [)M#GG쯫~ n§ؚLaInU+5?XM}ࠠ0ƛ]N vpansq\zW5>)@ TW1Y __sa !~vK*` o糒آ3R' οͤ%UW[ ҊJN:&CF;VfA$#蹷MZQZUk~s{ fTIENDB`l KK1fxaPNG  IHDR szzsRGBbKGD pHYs  tIME #]yXtEXtCommentCreated with GIMPWIDATXŗ1K#AG@KPA;Q:YXf!~*Wrj abo/&;d}0 ̾ov޾70`ARn-mZ~?"T*y@e%>/Ғ;60$};=՟ soO_άħJ[Gnhcc^j3ᐽbvY KdMU|ߧn U4U*Ic;Nئ"Śf׽G=MvV41_|>^ͽ!A긕d<R=BVF#Ёx)a^rdtm_8)4A #QO& |hөNжڷ_{@Z@% Ih_[}O:YWzJ5k݌ `6Hle^u氠IENDB`% ee2x{PNG  IHDRabKGD pHYs  tIME~IDAT8˥kQ?om5X[(VMX00|g|]Oܭ܄mU HoOyōA&\;6-gR^k_^:&v[*4ca5F"Rsd;M< M+HZZvuH .4YجWFz< d0@*5GSpّܸɍ67_\<3$FIENDB`b2 unbxbPNG  IHDRabKGD pHYs  tIME wJIDAT8ݒ=kSa7iBVC.]\-BvpQ:8t)XB~TŐR"MHғ9}Nqcy_g"۾`@jtKivD+yn6.)g%EK@aӛk+_j_%d3UE<t9cJG-Bv*/@tʧ|,ܨW@毧{ /uFIENDB`hP &  0xPNG  IHDRabKGD pHYs  tIME 9IDAT8˥OQrؚ̙ؐ 񫠁 v&„@V?Drx`w -;X3Nf޼f@jK/jKvV/7h`ulwr+≠~UvF铷Oʹtb'G8!N$puƳNAw{>P>eԃ H.W'1S@zv%RnTpa|Za}|&^W4 0v ^7A©$>n2- (o].2]> ›M &Ru6h`~)$n}10v妯]cAa<˷k[&Ͱ6~6AKue+E^He#'gSxP&^;11_!&ip)YpBڠqЅ"L*D d/N9?`\k /KiAph䇣jZD߂53W v(4E$2lK_m\ %6_z0)P~I$$#Z(A 0$` ^>;iN\:[YAIENDB` D" 1x1PNG  IHDRabKGD pHYs  tIME.jIDAT8˥kaywrS  6bEJ,X ""v 1hj؝!_#d;03|BesowS]4FPePۘܣx>PNG  IHDRabKGD pHYs  tIME/6@IDAT8ˍ=kQ33;!"р2+ X)b'X6J*/)VJ*(ggv\Y' 9p9{{ιxtM|H.L{V @+i\^Y Р:?7o_t VZ8$@*||^} /H^B@|`K2< A&:V!,'mזpۧ=̅2@ukfZ)ז8}7vk쌄}Dkp]պ%΃^]=Jh An ?0O2#T49?IvߟpEGږ_K$ UȴR$ѿ% =f بtQ餐p$83G2C(22;ՋbtsYyx$txPNG  IHDRabKGD pHYs  tIMEBYrIDAT8œ?/ 9իowB֖C:ϵ1@ @p~ܬ}r#vv|=A-8  Ȳq6(@=VLv UdKBĂBFY[HS0hZDd{QH!p͉ <[0I5=hBj~c -)3gon5<9m߇B4EE}ɻ8~i]>hwSg BD?+GM u-HlIENDB`Zǫ=#:IDATH[h\U\93ܓ1m.5ViJS3NR(yCEC/J)HTTВNmjjbMӴc55צs|7 ܋ ٩&+b)@ ذ΍ZǶm4B6رK}3<\X 4ll@!аQu׈D"z]; %RHMJLZ)[\i boKB! 'f] @ Mj8L;Z;L< 鿽$DRP+^ӁSBAR۶5;D"LbPHL3#R A emMi9(?e~j~PTH!vf|^7DSU{zz:rz(*0YI6GB`x`x`ҝ%i)0u'---$ (熻gwAZIAJN`7g/7L}Eݴ5B*16rK~_z:O_G0f.#&䴛L@6Gkkkz[ָ\&?ύI>|iKQla9LS󮲻p8̓餪( U͙[.iNS_nj+qzyX H{p;ovu5xyuœ\i i:Np6N9EU$OPXRNL@,+ ]5Ldz"9ߚarnE◯;{uZB+̣83WȆ_2###)AG ãu rOyp恐P =&?o@om15!nIENDB`w A A )xPNG  IHDRw=bKGD pHYs  tIME {Y(6FxFPNG  IHDRw=bKGD pHYs  tIME 4 [tEXtCommentCreated with GIMPWIDATHǵ1k@iXiB&-&`* ]D t%_& I$!/^P-ERN?=ݽ"rDlN܊5.񵐈X5Zϧ-pJJ)u2R? yp8<~,KfyGJ\$"'I(*Ea$1"r,Kc,"w{1vaV Ð83[aEN%m]s:O.AK+p7Mc\4{s(s'\dYv[UUȲp9 ڻrv ;cHkWuނ2U VE*]_p24 yv:r\G,*T+Qd(˪An- %SEĢbP \K`pO"%QRu@]"D2 B&C9Q|!k-Al5XUꑕn$ATD X21H*#lQ|P*ׂ%NmN"{&|_(C ܭP 0C'YB_ W$Y4^w~֤h"?z1xepx.:1.,3~]ݘ$SohK绫/ nLq dJ.7 80$i'QoҨЙCc>&Zm툫WƹW%>9.qζ5شs|= j,Мϩy~~{dix9&J JRcker{ؒzt=]8OލƼZ =O:܃ $&Q |Vdzw7x21˶89~o>]h,Tk;/Q,6 x$܏32+RKpsA>`;Ǜpp [^it䏵rU;Wb&(]Q,>MS m;Qw/Bȫi9%aƎ}`@j(g L_>666vyÇ3NEg(V{17i= IENDB`},IDATHMlTUfZj @ ejAL43JmR7ƕ7D.ݻBÂ&5*6ą h̀LiK!x3:)+↓Mxla2==m%fs$L05è*'i"ZQT,.Z~(ֹ DDZ^aZW}B  *8ĢaD1qy E#mbV "Xupcz΃<6/"5." X*"UiHo1)UTU>v X1XqP+ FS@8J3l3ߟak;{u j*# ]j@z^1= JC?">͵kn?/\v?GB~\?Y]ZgQЄLV,'.u-111Ars7~P@X#|Iⷜ;wZOGDۢAÇ) aHP`qq@!Jx}׻Y/p(!j8 8|bH" ɐH$H =9DJ9oGp9 ~v{߾}3|RD& uX,ə~+ͦ kǩs<_w3^SՀH$8Z }d2y 0m? ;8wKlLqp,L]Y HRd2(###`!QT[P.9~c.hn;=+M &ϭ:16jѾ8Zq`5jXu(lr;cn<^cIENDB`kк +< x PNG  IHDRw=bKGD pHYs  tIME 9,tEXtCommentCreated with GIMPWqIDATH핽jP#M At(.FEMEܼބd9h3.PQ$BS83Ԥn~ܔ"@kݐRIwJ)W1ZZ@0 ,,6 >ϞU8 w=^@x ذ8QwZF&s`C'\~!nZSΛlM\?H)wZF<)cc/U!oc4OY|N&[y?uؖ*myE:@)N -D) B̗k; Ƭ_L+$l(-0#80 T%BR3qJcV!iyQܔ'ݟz#(IENDB`)]*>Tx sb``p  $RlI. Ap品" 0kH{+m.n~f6sB%%y% E%) % |@E{<]C<(Ԭ*Lzg~`c^L3WԵ!MY|x&Lyv}B# }~!>'q^1{Юfz/8/u9?ŧ3{3U~\~zwߣwW[ OzÑ8c_ XnR OW?uN M:}+rzH]Sˌ#[yMܹwM`Y吖j[gNIf UɼXﮠD+'ZyTCJc*v3t ##4ȕSrd6ފ$XH'zrQckm*I.cyda2cVѳå}sEAI7 FFyhǢhyC^ɣؗ4o'g ^/ o¹a2r]$2`_ F'cCryOIv3]_~c^^}EQV>f;'.K)ƍhȪYcX!'2?Iw6FƴKXB.o!>4 _)#7ωmt"OTPS5CIFYSfރ.01H$",)+[\ gjjdH0ɜr$4  3GR g"H"x|P"9̵&ֵQ@՟]"bI`fIENDB`A | .x PNG  IHDRw=bKGD pHYs  tIME 6b-Hx0PNG  IHDRw=bKGD pHYs  tIME &x,texePNG  IHDRw=bKGD pHYs  tIME  fIDATHmLeX4\IDATHKhU?1MbliҴy(j, .&WD*TAqA ]J@ ]4AXiJ 6}6NŤi vyr{Ofz±XwZ;u,CM9302dyqzpOn&= $]ym_ )愓CsD#-7߯nՑ$I)RaY ACq湁'!g p&r!hzbeXke~݊{^6v3W"A'^'Ā"‰$\ -c0G8 = 뛙IGZڏ Ӫ&,@yE21O;Uڏş':vӦ}4*!fyx~oZ-EPFۑN. rIs6;Mav_!)bbCHYcb'JOӰqӔ&h'}\KE}u8 3靰wafLpT4]ew) oHBK'/ϯ jqw!LE u1XȅsG3*M;ef;8:9^IENDB`9IDATHKlU~|ϡfK21Pd&dƋ<pL ơvI^'yк.V)bۅ _۽x) 4&褊T58|+n!=@4ÁWޢ=Ea?_I@FzI`0p3 "5ݼo6fg2>7dZr䮰3cHf.KNZ@ϰέ-nyh}a7Zk>I Azl^eω:yd f=*ƽ'&-GN@7?PFִ1qcd߅rȱ<# ýCgnBf} ?ïNҙ 8rccw/˿RQqλIENDB`Rg c[4:HxHPNG  IHDRw=bKGD pHYs  tIME  (63p#x#PNG  IHDRw=bKGD pHYs  tIME ;>2+x+PNG  IHDRw=bKGD pHYs  tIME :{1zxPNG  IHDRw=bKGD pHYs  tIME F*0X#x sb``p  $EWRlI. Ap品" 0kH{+m.n~c!@!׈ԼĒ̒ wO߀F>qnOkmP`pUl3f<`喊2|/1dzrBusV ^^mSΦbn[כ,"DjNam2\ W/sә}|r*d=p5Xß'Q_z) *pg>uIDATHO\esp/ô vH@E„FM[X4]ǒDuC$qS&bMbbLh%TJ̘dܹ302DX4qٜy=Rd8ed29i$ϟڢ N\krS3'}{ )KcL+IajDQ1Xjac? NN2՟ 4*`-pUEDZMvQD FK-l7:mX,@a%elD1DT,ThZwŰm("(" C+++uX\\K6燔޴20 NQ'k>r^CN$8Ӷ1rapp<ywWҹRvp<˲PU a>sssA(YXgq~x+S~/W߳l3K(}U677) A@u0$PT}0=aQ[?orE Y/L; ja|ddbHѠd2$k,[&3]]]r9jdD"A >J5J^7xo~koK3ʽҗZ;,vwwަhEQk]gc `Y{>x'0=:2x< F0 [vpÑ?OmjM=IENDB`pWE lIDATHo[U{79~MICJBH_@ ;$ĊJ !EPtHqۉ{ F !UlGxu%8 c)^*.~Z -沂S3\OiT8O/VlZݍw Ճ_t5Ʋ9Lh )Sg;x"@ 2$(xPK*AIdG˸f* 6D :1qn# yPa`AKlV"{۫@/O:i7;T*QoyEXza=5sg! ܿZߓFfO751(!F zT7hl#x%HGQD}]^G7k1AJrA.ëKsLGZ)2\>^'` ǁl•kwhni5ꄩ> >Q_?6vciA~!Oo *{x퀓GWuh(~?KLfpVĭ{4/.s RSy!f$ȉ,8_ebCZ6x,><K^#Wc,=Vw\:SRP=h6Y8P )GRLOγ|n3,<DQ.z8'-gyu:U8st ο?RŖ +4IENDB`<s IDATHKhUI23MIsiܨmFPjB"҅H^.DDi 1kmswLaEv~ysWl(<u{ֶf v qnMh+ k DVSm' `jDQ8j鹱3໾=IE⣬0\|  *8r$<?i0Ia@"` hV6XUD-VGܐ$<nktT Ze[`yjk}rl!T,`)PF%u'OW姏&8;7M&`36c?%&6sQ7OSDf&ٽ*Ƨg\ޕ pÅ;B aۢ~[6+l{-[,MGiԕ''X h] 5)q.B,csQ.|?IS<Уt_fV&z)*^mg& 9aRy]37Ki8Hlpba_ y b8)H*Y@`"j@@E0"Xjaɥc <ͺ`ꭏ727X"!AB܌xǙmL&:j[Ds3jYV$33F0A TYIH:p[>]d%@\$?A{SddS0KI /Nb<cSC,{m0_ǙB]e}_Yȳp``ϑ4/ƞg+i8NU{ oVh5Q 5?:L n{tzv=~<"NDdeMX_,:EQH[+sf`6eWCǎu'@HWP{a 8L~.rnڥsi 746|zDB5-fw!\)@C£8{SS.koÔ860Rz3{Xwe;sY& qT?H83>M /V |T 2CY $bly}McMC?H%p|-B,xxN@Xũz(iIJPr< ?f5ΫY$ q# QB! kj1u[_oG|Ir>b>wPea-*5vƲ13Q15DKDvCy'8tg#n Y UsIĉ8i粕d2.Ic{yǹ9<2?_s/䒿_H :;H$ljWX\j91YxMʶ8y{˳_"d~?@ϗXf`6 vw)NAvOvne3KP)]ap^}mkגɌP,B` RhB.6 ]cY1b1 0PUqg NC{n7φ3HP2pwwwڬUP pX:IENDB`?0 HH,5\xfPNG  IHDRw=bKGD pHYs  tIME  1z&IDATHՖYh\ewܙ;wܙ2IS.%$P}qCPAŇ""jZ}J(.]UkƤdLf ) R!o.ibwlwwwHsp6x b4MTU%j>a&U}( Ci꣢[ik_.DF^RF pC#L\N2`'W-<6 ]|L@G[aۙ`~~Sei*ct)[7XVuZ,,,L&@ AEQB^o3g0x؍4)8j<'"%^zVVI&\XF6?:iȧ'ﮬ,mx=(62Qlnn~ӾbtN~`L@S nfA!_s \CݰIENDB`E D7 x sb``p  $?ORlI. Ap品" 0kPו7?*B%%y% E%) % |@E.!$X{n߻+_qO#tHHH%y]ģ@ ~.g7Hs6j`x`PNG  IHDRw=bKGD pHYs  tIME  -׳tIDATHǵYl\ww}qfg۩Rb;%Jd좐" EPE$,VfqaeEPE@ 00L]gn736v illTYe?>+!tP! ++x`j3Ndr:"3VJXVʊvW̔~V{:ELTؼpwj4d2)>ҰDBκLRȡtwwhkkv DjQ;&x sb``p  $?ORlI. Ap品" 0kPו7o@!׈ԼĒ̒ wO߀F>q"sO o]I6nxxnМ3Lzt Xdƻ<6N|@w00xsJhe>cV:0x sb``p  $?ORlI. Ap品" 0kPו70`dkDs~nnj^ sQjbIjByfIo@x#8Pc ֞,hnW?=!)aFnuovpcACFUK=0xsJh!=OU9.x sb``p  $?ORlI. Ap品" 0kPו70|ˋ@!׈ԼĒ̒ wO߀F>q"O =7Xɯ_9yEAcǎWvӍ Pm1[AKGT) :_8Bx sb``p  $?ORlI. Ap品" 0kPו70KEdkDs~nnj^ sQjbIjByfIo@x#8PcO 7ꃾlLxr?rM+]9Ӂ;/9Ș6pMTv``X2_P ~.$A \04=\]?>x sb``p  $2X}֟0gz KF秕'28'*x&&TL*Jtq 8|aV)SP '66~7Tş5XWӰ_'"˫Hs1:#Zh:&,Oρs>jx sb``p  $2ܝ֝y 0%y0o?,,f`aFYs$%Xeԗۑ tq 8tnV i e 8lR8Rhά3UEJW J-fp!76NH]nOW?uN M.: i>Ki^C@x sb``p  $?ORAN ɼrؒ]'E8 <"Aa {+-66N-V2@!׈ԼĒ̒ wO߀F>q"sO :_%9EYkW3>deڸP0Y}@mK$^IVgAš"_`tsY ?aoBbx sb``p  $?ORAN ɼrؒ]'E8 <"Aa {+-66NuxordkDs~nnj^ sQjbIjByfIo@x#8Pċ;bB&toŸϫM*=s٣Lj%^rKF2xsJhGN]A>x sb``p  $?ORAN ɼrؒ]'E8 <"Aa {+-66N6B%%y% E%) % |@Ef.!$X$%h|hEThl6Y%o? t7t0ijF[-F#.) ?d]@>x sb``p  $2X}֟0gz KF秕'28'*x&&TL*Jtq 8|aV)SP '66~7Tsp~\ ʷ{{4o_S wctsY/O& CD 0x0PNG  IHDR7gAMA7tEXtSoftwareAdobe ImageReadyqe<IDAT(cπ2PKAyBS',aBq} V^1֧O+CAz}h_n-c(H|ߧX|Q ,a2yy4 /@SVjh l=']=K Tz\JZz_IENDB` I1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME !'1RIDAT8c`1Ok ).@7#/S+  !"".b Mr`K;@0g&Y 1GIENDB` Hb 3Ej x PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dtt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  ~tIME !#8oQIDAT8c`1Ok ).@3#-S;  !""aŊ 06 @ň \^4`g&r 䱄#IENDB`%H 2Fh x PNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F d lG\x sb``p  $2X}֟0gz KF秕'28'*x&&TL**tq 8|Q@c(s|#-o85]>?5m\[LAcCExmLK/dq+'v z W/Z) S03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FhIDATxA @ +׾#Dѓ{-!`W@0IZ=J)ar[K77KLa8ZDO@?`FAp~2IENDB`ÖZ] `HD MxM PNG  IHDRa pHYs  ~ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>CVcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxԑ 0CQ)I')t*HJ@rK_3@9*$4ρ)@ђX%-Mn~@gwr, t-Hy K(@W9j8'qeQ꿢IENDB`k: uu{Iz hxh PNG  IHDRa pHYs  ~ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" SgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FZIDATxڌJ@YzRy# lR~aLO}}2k=%+U=]AHȄ}˚ZNb(%hAޟв|{ҹ?)>GE6,o勵]y<_?n%+ͻWn>й ~.Iv3K2 x {PNG  IHDRa pHYs  ~ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, RJ( ?x? PNG  IHDRa pHYs  ~ OiCCPPhotoshop ICC profilexڝ !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڌ1kPv2l{+d0TZkPZ1S KE@hLJc lYjIvLnyO{DUy,jv^O﫼;1?h4*JIpu ?Pn(J!័ʯسCooZP8eάe8^.]V/>&d8R{w %IENDB`#t ^M@KxKPNG  IHDRabKGD pHYs B(xtIME+UIDAT8k`o4IK9CnzEd< yAŋ$":\n&[%$Ox9}yoʅWّ AGWUX!ԝxao*H\,$| 7 iNL>GfѶ-o+i36C3L[kP\V}Fc}tZCמ t9m /7mEDXO6m2 }ځSFQ(H̞QYգpؑJ)>l²kϺzher|Hwꇹd*fVj H鋒gkh>X'Tǘfv})".sڮ_ 0p帔(זUos  @`@ֳ5 1IENDB`= CC9NvxYPNG  IHDRamIDAT8]_L[uǿwo\nl ,CSfaa AML|!’}3HQLD -ҍ!v` ̓<'''r1,I_TwYsٰJ>33I.vv's#a[(ی'ͱZdRj 23$Z|)lig{T*K(lllv{=ʮD[yeo)R)3RF,ڗ |'/v{2o=fj`ڽx޿8(֫g<+=}%AY@/? { 9|AM @G}tuu}>r.~WnJq+ ^wMӴXb* q.E>11AFFFp8i]B 54 nPa/Athr<y"X+ޘۂ(aYe"* c[s%9%kg_?9m˙i዗_^"v̜NMFAJ˜_f6e{n8atsY`[B)%d,>5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F[IDATxTKLug`UZ JTДFS#zAc|%MLFZ4R.iuyÖ\hlWvޝ{2~1n/Nd2qpݛng @paKCDx0 Ӳ^<#088o}X[]~R8ޚ$[Zxׂ*.?^wblVc1ΒH&Yf2O##|GE` ;<Ĩ9(3xim\Xw2w=U?LL< UG_b:9hV&irlS ZI0ض^,8J Uز,d0X%+EBD7(D##I%]*Z܎p]4VWd#-T'9 [VmY9 #oSUU0 )AIndO>iZ*Y͍jkb#_A*P2Y fUtS˃iZ[^T&HHXo'DB@K:*+8@3q.!x2jln>߈#t7)Z  H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<D+ |M>Fm-S b`-X`˻{&Žyŋ=.3̜=P޿3= h Sы;I|yxwX@UH`+ _?y:q.[u   8=g薙WpY>Yj(W@58dKA ($ W7h~>![kܮmjXmܢڝaJ:E' S9#JLs$I1&Ɛ^&iCw@ey?#-z8P'02eL,239JO?(qx7 UIENDB`ѓlyrIDAT85IlTe}o,.LӖE  1/h*L&&ƻ^?.-Ua&'9sbo/2A!B*R׾/aho$. 9$H$)Yx36:JGMn;j5Wt@jjL"T,N B`it-kj.=ffKcZ`ʱo~%],CyҲ}qꕈisCїbbE|q{A)q픅<2C&Gi:'#p6xt`74AOA䃕4jm|ui۟σ{$q+<3ʹa#Tw~dy gQՙqw&|++w^\n^Cu0ٙBtsGi ~.iܣeNB>GBIE^C ˴hhzbTtHBnWfgN16 [7HP(`&!iE-Iw?.}\)]2 h{{KaH'MLNw/dV!>6?rxJ4[]ttrmcS{jko^f@@K~ubO,eOIP6( T@t;,Tz9U*g3ݝBl-+0Hz.Ͷ,+jȄe?oVYB l66TВ$IENDB`<b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxڔ 6}qDMH=w_be<<13ຮ/ED{Y;S +p1FRuRż1ϜsI)UAZf`P LZ=  LŐ*dfކ8%`s~ $6Y4]} w׸X}4'IENDB`M} >>2Sh x `PNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K& ||TmxmPNG  IHDRa4IDAT8uKle͍tzo2AF&EEBh[Z QD bD QLDqf01a1E2mNgLۙCgyf *6>c5W&#"hh-|<NB)4 ,XF{?yoG|ycK'4KnnA>c;sy$d/n^"L 8$ b4Gb6Y=iXU_Sstndi) "x@ @47=I\6::6C Ξt4]]ݬ4sgK ---DVG9y'*ʃooZ^50e۴y (*0}e"8ŧ`ͧ6m8;g.eI$7HR$g3,s;8l+?~z] $E`6E+|\tÇqVd\G.[-aݬm\=u`MVJdHd&wpc2l'v\FD*f4-U91)7E#i ~ʥ]bJC& 8 xboTf,y0 #i!dP$&㥏v2}\aIENDB`Q ##YU6x9PNG  IHDRabKGD pHYs  tIME  1f%tEXtCommentCreated with GIMPW.IDAT8-O[e9 -孼, t2lqY\v^y&&F?`bf|E324a+m)Жsx#~虥MJ5lA)D!@KB(/ b^@no}bvsZqB`"{<}A@aB?6C/"ٮ[Dg_f$v6R(֩ڤcQ%UlP(nb9 җr `aPGDBϜb<}Orw~;hf#M Q+Am.'_`goVwў<4G~,hFȥj)J(euuG ѐ1"ە7xcc6,Ŷƀ6u*MU} b\+!(> 5[>>|DO0N 93or.Xp?b'r@ogQ\<3$IENDB`> ::BVxPPNG  IHDRabKGD pHYs B(xtIME _lG!uj1 m"j)Uv½BhQhbI]^ 'I4'ݷ@וٝ<爵ZjL:ɂxt充L0>ÍiBEOX+(J++[x (Z VH8?@CSx>JČ ‘Muh||{RS@Qg7UIENDB`W ``Y<xT]L\E޹߽w.K, cRi,6u_\SMDhO!BjcI5 PH- ,ݻ{:KD79s朙9s9S]@>qqg,"kcҙv\޳񍗺:`7b/vwV1>T2Sypx_oo;Q'_HtwwG#.⤩< vi_y1K}P(dFGGdE6ĊlT٣6b3 #688x- ս<_UTT2EQY"\|G H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'Z:xPNG  IHDRabKGD pHYs B(xtIME ̵IDAT8c`66 _YwXimԭѕOIOa"͛Kq&lhh1X5w̜\2 bB  =cxk.HHh7nO_xDn|Ơ!3s6ܓ{= 22Z}5s&fvvF6{wo1]ỹϞ %cc 0aPec`bad];vrƂNdKYX[k,< 7/38rأ7m{e~ɉq2ܹs]/3ܸ/CW,;G0tv *-{ |X,}?щ$)i.C hGN\sIENDB`&{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQ G6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME7O·3IDAT8mMHTQ!@2 ڵi*@j!f}m+*"1Mm2 Zb&)J3i{Z7ogsιWD]hpU1AoFG)Ş3xwuY(iiLO:%uM^lNj_Td{JthLf:ac"@Oo68LƦ'iiH3$r7)zF~dsZ&~?BT_47;E*Po"^U5fo`)ѱՈ!Pb.S,Px}`U&@kPXWP:q֬:^^fw%m t-8Ie%Z/PJC odu :(Ǻ|di'ܸ5;?Pޢ{ E?-pt1)DA K\OOyy+?  EYV$ b",KIᔝL Y) ^@%&H^(XP5IENDB`^="c5|KlHVA KdK /" a+ܠ&I7fdMS}}lkuMY 6SY:i4iܽ2 [&jLZ99}M5 F ˣ͘PO9w j&<L2I(Llr B;B)4ašST\&~tf3tF }:NmH8|2Th?q|[wq)ک #V+4[BɂĤ7gxk$X>-~)L7`*>. S?H'h__ i|a5D;0__7=q'߇k\ER}Uifpv[Z~hL='N5ǽ7)44aNzP]uxݵXaxY&a'#ak-(}- zB C;5:ej}}BOa =y4f u/0P_r(;s̹*> E?ܰ'VN0:W3{Ŵ,E2 )CWUXOѓ=L\y1iM]f0, sЅ~.俲6;= F0^J5nEUG 2(&lo70i#o?^?YCZ]<{"}^7NO,Ec+ kj|Ђ;k&771%yjsbOT^B~SC=(] OT72텭H5[J!"S[I6ԛ "}C`)Ԟgx#ao#rM/%?#V b;X&bH)7w:SYOi-&^o#/-oSRPw7-5ZwbCIde;]Az'f1LQwF0`(Oj ?FGGEX;csVe4uYZ_UyXWcc;z _gGvO{U*;5Y؅MqYf :xRjuibe"_xqR#msд0"fQ`4o]h}I.tH'TF&B)|)9}Ymiߝ'0#oZV#3_cnR_p>};bQ)Њ9nee;ӋfzB)T\$/>ý?RN8h0w:e}a@;}il͕=HfƋSԄ͵2iFf$(za͈W:&r/ R|4|YexpMߙL⋽iӃA9$ EɊ4j!"+|~hM̲`- cmaK}Keܫ45:Y^D$x~v#zi Ć嵐1aз;`dtײ\tO ;!N۽beǍE6(rF0vkgùN-1cxn)ޣI(.H4LdD͡jь5IqBVI+oD(d gC~.$ʑ'U/A935=Tp>J%a ؃eKv\_*o8Op'oVD.0{s';ϯm# BzA|##a/71=;}Bx.qB TIQhzS{_DC m[(2@Χ*/eex[+, Uq8[uCY౉J3RsEK$942d?d?4 r>a6)U1eԜ_+![w[wE˜Kmh,K` =y 'K@qU[1'pI;8g!|8EX@MGf(w Qx{k6+N ю ,{2g:-#0EHp,+ES(=irdz,%5 nxt~mN1€(ܧ7{/ 3ٿCnWCK\Vcs-3|[O:0Q5K 3Jg bd]Pfg7ѫrW[cq$tsG\vG]ٽa]Ke؜`y]n h Z8>([W*fqq 9bv, :{0:tk"VO|>ן,iGu9DCބߞou.^TJ6+'ai0ţYsмDB[7cbWs.yr5xqwz/f@pɆpS2v:C*P'SA=G\ǁjr揿Kpw##aʓUԆDW> 6z"I$vD+ P-`,hۀ6J2c˥Nwpț>:Wg,%zTTT%}m&dml |` gٙynڽaɵfH]7d.gm l|ma^|5N$Ȃ>yjk>ʱ T/ڽQس40K\_sVc\.2aeg="IއZ J/B?!&&xzjgVB_!0Y05 3)&x|)NhRǎʝ%i+`?R֞O gCk0k&3iWByFqO|祒 6|C=\u#囝 : |@. k v|@ ~WEFjQfyLncZ8uLݹnlMSZH.`.t@e .!r+(+dRq"!FM@MYhR|l13 LЮo*\hWpxrlX:%A+ÎYˆOoɿDA#^r4LEBx$Ɋ5&d[!\R ar!d4aq7>Qpm' VyDn0hxpF# aNdVQ\񉩧ތC:#Y D +I= fQ@%!kdm.P~m=duKjpڝ@Q:LOCmvTR'+c RYr&X}nGpnoRpPK`Zh.*>JV.k%W?F3.fB `g}}y uן?0Fpy#CMr }ߥb-" |'ŽFtAzkV<|v9tX8&dO1?!)|xTI|(K hSgfsW3as흔Kp]l_,aQnA}?(5>LtAL f9X#hnUa;p[ ր*;iȁXdJBtQg{ԒR轁cST!ӉpF 0v`D)Da$xF!9\_[okъCXOc6`$TH-j"IiPes;-_~e YX c,Mwh01=eYzP-4m=D/u3Z_GA}!{RD~=YfG-j| ӑ|K^CD=.`zeLlhXp_J<B)tD;oN;tv4%?;ZB B hiSEFMl̆<{fVm',)uq-9 wHؓ#<\|94.v2ʐ5ԐZ aԅE %qڜN-!-Ϙ[x&CҾ5? u繞Cէ;?{bq7*o5IB% {ɘ!k|lR9czW=W*cC;Gs BZOo[2QFJ}fD̷ e8dj_p;=`ߣE7^oxoAk!/d\%ϋ,7wH?~Gt /[ l[A'm}Qߑ۰IlZ/р &B>t{[1֒xFm~h՛Nwʬ4Z#8[@% :轍+Ŷ[w;<&ϻj?j Ji8baX'!!f/ ʰm(W]+=̩z?::tb+#1evGO}<=5vGS:ڑi4mr ]}Վl9?Q?Í^:~Ǧo':[, Jtin`[N)ZY.Ht ']aF [)ǘ"*+D͙0)K;sRl=4$xۈߖfDŽHB=d }gU܎Z8_ 𻖉% \fЖ!tT[ c:/qK Q6[[PzvFRl#ޓ%(J(j䯮RK$mF|,k'^i'/RȠDބJPQV_Wms\M~ Ζ?mKKG}M}2KGVح 7<ăKwI ezsL@=Xyp*`UHF:ЏB r6aǶ 65ٸ?=*MbN*))9I}lߺe؃~t;duqcH06yX:E#3R=xlܑ6Q61G/RTW% ᏌwGm=˵1D &/WB@4n/BU joyUĀPpVZ|1nF1'-Ոk/>`]-_ll+L .CڙYso2VVARzI׹>*|*& LjtbH gr~ֳnL鱜-/V@sgh.wH}YuoP5|(?Ҏ?Fzsw}4j/ 6RhRX%* hEN:#;=4UU/hj)T,C* !L0+P>g2V]P)HoDWq,n胓o@drNvt]ܺm 3<9Dĉ>٬e1(zoJ3:,aV/ʭ:3SbR|ڗZz6?/ŵFs^}k-cBRhq`[ 7h$n.ED룑Ơz;'DD^911%'$ =َE& 7aU]~epzBe! X2s}Fr*SY`5wp(:bKt3 e*nܪ ?=?5ZA.Jd o *V`_ J"(\az =!)^utqBpN>xt0^3yO7wO cg`v:g.=cw KDΔ2&8x <eE\0Ɏ$*܇6w" Bh]s1v\\v²k5,R1z;Xz-D͜˩G|LDI%Qa,Ld~ZCn-0ŸXQ%)#JDRG}ZV).**IKWB Jk/GEDxwm6u<97@gIbUJȥ)~.m'<#dQ%'#Jz $ԯJJ? _sk71oƗMj #=\y=/ J|9hK-dφ赘>.)}  xsY(p|\HʯWcQ?ۦ/8_޿Uxz_kʔp[}˕sH>[lzu9 Q~/a o|rF}d o*<΄gp3T  t( sZ!1ZąшQzE[pq\^?夽6fs JH%s~Mo-O7C~١?YhQB-! k'Ա!D~esaZ'd6!mB Oio]i9dSkHLM{~rFng"N}>S*?_:k \W<(hjw20a4У8';S ecGK:1{囐9˂ͷSG[BPgC^ap‰9\`+4+ rW@G~Q+D|6G@J2L ǀCEʅtg7[+0+SF1ACG/ٍr K{c#䶻$MZGzCBTt~hi>4ddpbT5{ 7 ؄?V:r  5ɃWLqB572gVcH5a 7ewzC@BOL\:n)M 7% c}Z66okKo=wL"zhh& ߏpuICOұ~/l/ !hh}Ui̗3AX]z0XԭJyC#Mt SJjiV)(' !XQ25ݬC(\&8{U!glĤ]HW`򥟉ҨwbsinF{;L_˓\nXzrp//7ܵ+zUVI[,UK4.ųGL&۲N#X?H<ْٓ-?hR\Y.aՍ"A'14\3~5"Մ״ϔEt*Hds̓XSoNsV%$蝞/Tzn]O,_ϵ.AKrt\歉?a ?umg .H{ _+]OjP2%,6^6+WSC˗yoB:l}/iHz&v ,HjdWEz!pG,[u@jaߞa_:0\vKB|=I89Z9.hO9ٳl~͏~c\In[?/UkXm-M.e(@ucsGn?53xG^:֡r{ Ǐ g Sn Q$,^Ѯp?O[I9q%x0pXQRJrb9gv[24w(Cw-g!m`3x#u,PKXNs,$ef_xtW$% ]"C~f`\H=$o)J]cSyޮVJ><PGL+bb3Y@/Bļp؍E6)].]XeN@yt/ ~Z!]%\$jW`խx= ڟҖzBј$3Q0D[,~]gYiNd$)71TΙNL%#ɐLqᮣJsyp"5ԢedU){:b>@t;r/b-2k+$^^I(EjIY0/R[Ç^T?7a(2y.Rj-t(FӢ,a]ƓCڨT֔D SM>։*1Z+ed(rpBr UK' ?n۳S2!k[~HSES4CC+q?G4|!r[~. ;빟/Pn+n;kϞS{u `E qVN<̨71C%_)+ַ[ 1b@DܦB&xJ"/4_'Qu:ft_S1 `O @(-^B4LTw+GL߇ Q OB}x"8*ʗbKJb;*b(mǖZ^̵& X 9윔'Bm&Lo8BFU>A,Y="Y\VѝC_KI8z[oin <js1/H3)KX!9O-~%z4Qi x-aN="=x.BvqJBeQ7k\J/r'wJlϲw??rD漡hRQV 7s/ʗ]\$' 3UC?rOf(@f)-[\4!u2ڹ<ۂwK/JAԸ> L*.y?& %YyjBDSǒl_ɥ*/s NZ۳fN=Xc@;{ ݿ'>(;ݷA+ u7~j=]Jp ZGBkBM^Iڬ^ӆh-zQ^"~)rxvD3ikBCA(#ߦdTŧ+|cF ?0Wu".zc#HnCoqahf %i1K{PDl8Ch J.7Ca(':P0¤n) togzuQv2 r)՝ot搉G4/CYB>~M1Pe}WB%\mAbwˑ@ IޢQZ&G'Mǎ~kHh؊J*8A}l]YN/(a+l +A3iGBw帎Y:􊑘`~'< | ;uoLyA@sqhWED^ƜNLJ;W|Hɹ ߤ} QuS|Ak˘3<~; Aւo^fUgcgMby$V<ޑOD&7l?].DD_GmVf&sѝĘЦe[>v?CE'GTa˔2c)FGJVb)'SY(#[M&U; ziGs[t}sD9DZ#{fb֠h7;ԐR^7;36XDF" $ {>_Bnmm0.뻔bv7.x\3aky&53ܒ!jىH!"lZN1jJUe̜$6̷96`v46#5 YtB|i3Ѳok2Jr_hsX&bQl}'m^qPܑ a.JF8(O^۝h32 e4ѧx/\ZƲO_X/dlȧPƗ՝ML]KrA._нa1#e/֠"Ka#, JRN>/PM^ $`=1Gf?^ZFĝ&ACqz_1^D>@qxAP\әu0V+mR]v&MlC#8s"T{qhTc&7sI.B0m\NOQ "T|#}L3~|d$/oIG ߖ6#MeòzID UIi!k>,TӉ%fDMf(#1EM蝚m ;=йTIi,0Q^]2!wC1.]k*P>0SK{C\uбxpazzvPEfÍ"2BQ)M͖ U`^=gcy.l2 h %s܌yi%}v-Ja S~|\ms>)U'؈Q)y=k\]-``JZ #q*a}RBKңG^). 0:ʫ#0_ȵ33~aK,f+ *ʶ;H)Y!Lf2co#)(/Ss(f{$@ ЖR%g72^ KA3w.nLjS2¤7TTI`iO6/i'dĿ '˻ 0f:;.rţ2tx1F"Y}D.a׌-k-EEL%Q"C \gWȠ-Bu^H gF2U 6Z|sTg_AbZ &25~#;,1_AUn2P^,szf2ht9;o^>49gݗzZMʹ(Yû)ɻ`IH*ow>(c^py &1muËIJfXEf)6\mEA(wKo2$Tc(dI^0hYȿxSݑݙzW0r#ݾ ZQ$~fT*n#!y}R脘hh^CarREp 0ж):XF>ܙaPGo1a|a*R`w RIZk h T.֯MVJ\)淟ي&R^X3琱ز@{SA #3TQƯDRAv+ ÈXY\jnefNI. gV rwck(*ڕ%E_dgdB'C]pݓ2DjHe}u3c [20~x&%\|s}wt}+ +mŶm۶S1*m۶m;sYs}͹8ھMw>{zgÎ@[Ms;f`gQ&'8śSJ$v ~{`/743U \UX'7^짦rmnԡPI\P(Q="6NV7 ;JϪ^NdA/O&EB aתjь74ԐM2;37VFPR)JV8nnRmO@+%j4+X{%%{4'upi/^I-?(  ̱m_z@ƀ/23!1$҆/Aud_ĚꝷyDKԞ\{l`#SԷG,W,^THGaoƄ{o'~g<9Y0lE :J/8T5i5ut3=62<0CgȾѝrl'k _4`kJfP-ҁ%qB)"P?GJ@?呵9~h<;KZ)\5)(yEgG)}x='$C .Zk\h?6OvƑd);F׍fgĕT8[-Tm<*ޯC6& oB[y[KH(|=Hс*{Dz9lَLVOɒVRT8_6,ύT:ApɵnBVE1çWa 6܅y٥3oD tIJq϶qզA#UE pOcaEasbja3o7 Ua_Dlq)9mQw?3҃>y3K>!5m<2G}5h}Vв<%$? 3TjX'2fzop׸ Gp0w)* P:  &K_o-R2e@[w81܇!v"WXnPJr4]0z]˶cqSӹtV( *Hoݠ|B*NĬKSCj'WAD)-kwx:7̶KV|+}c F9rlI:I=9%L&".rO}98Cڪh H 9W4:j5BT] ac,Ne5ˬq̏F"͘Щu@@SLwBxG!&嚺PJ}t)Jm)*%Fr̻;=xU2g1 ߓJ#e&tTha!\"M$Aq7d?#Q:}? }%.bׄ_SԱt;($X-u{^Wхn/N\90\=w˪A+2%\#l_w's%dCbx\TĄYk#n߻X9-balPA4cr,z^"IJ?4rx iga'FȌmNЂvR9 gX+ԺXP*&~7@R 'TEP (k$Uzlx|źߒO X(l8RI>{0/0(yԥg#,5UEWgK{NMHEr眒 Yg*,&TiWi!K]"&@ DĺH2lan+,34M"_n^d@l?݉jSV4}9w] %7:A1f@/E\NlCa&'f6K\$mV~A- +)Fj7gWj.% ߝ.Tu"4WىJyZ<3P 5RrRO.+ 0/&An6%! 6XUK+INdd32C$b9ay>(ZYdUI:"ϐ^8|sњ\ym㪢$ 'b+=8Y,5B( &("̚:@_AVd.E"m럜4˶:sY8TJ=!¹4r%S}wMp=tyuf#.P=)6{^sv3C[FbF6 rTO uŶ ߵcq{ ư!- ^ݱ_7GRH;z}x3YW t@gyf b8 ]&N&h4)Ĝ[j/fdco"9ʅ%S|t3k2|= ' 5R8LS6ˈjz]Ůc^5nD׵ۄ]J U @[@j(& t$bO qXPPI s i <_^%{һ5q^G퇌ϡ%ZO gj]10t_87:qD-'%Z"&5v)'lct^ 2"2l?:Y .k/âs:΋TXUpc! svj< gi^Djd NsۢS{$7|B[*,"DL wٮ?I!_1KJ&ٯ)cJvZ(^Q yՉp} 'ڙpid1jHTTV(Y+PdɛeS\wM-" /+2wRD$M~h%׀> )#ڄ^F} CC9.&O"tn1nxAEeQ3?mN7=;mn>CP(,$swzEÚGz;ӒyV&c24:xHFӞ:&XF'8W,Ul16ʓUxADtTr⥥ ̸IR'?k8Z+4Qyju"Ԩ(o1itD:bUA ޥYhd{_* + *5ۖ㷽^V1 I)C߼fe޸2MBf=Pe1nw\ 3:GQ$oU9<3AB67rp2![ ˛Co`b9[_n(=BVӐB U coe#.ҝڎ jV7L?0QDr]Oh]Y=&VDC$rMÎ].ˣVE Z@.v;ﭖ9:FjSnD'{T;Yz<}dk,,=/WO TϛT:Ln.1 f1] 5n+av*HzKB*U뎹&+[O# 5!iQrq<&~C}{51{yb;jBu[ $#N*<UgZ(LGG2uQ6' <@(TG$Q@Wtl.= mÛAZHbUЉI8fi?22&DcP@YUazv 1\) 4 RVp347fEEhjf3HrQM#Y6iZCwL>ff~mƟ--U=MfJEClf,frC>:V;=TńdFWw-h:S-MIXm_Du/ b8n-E?X7嵟Z/<.ԝawPaW{ḁ)M3׃5h(}>FPVϑVoI9RJ<Ȱ1rn턩s'+m33$ >ͣ[x^2Ri1zH h2 *qn·j(Ra! *yPx(W뗣FoN}kxxJ IyN锂HhIղ]A@ӽA2anZ`UV_u[F#6bavlvK&>+*&2=?1ʊ;纂/WU;G6;RC<.WF^qnqڡjnKCchMR|J,Gw P"#c0V*ӣ(AO:PqJ3]2۞ૃU]\D}K)kQ@ycZTFQăMxDҹZ Ɲ`Wt7loD2wd/t4<o}(y&rRmażO6TfohaXǓ-/c5EVyu `jhnTڛ<_G/6~l4A9adoQUH.޺ZAՋ9Ss8%SlSn,z1cRէ3!f^xWsYlf&/b{; D j1EK6;3qƾXz8%UN`2`EV)1àbT]RʼX;5S݌F1?u2-3+hځp +?b֭Z›\d+h_ yѿh/-P5uiFv/?F4ʘ\`|\""Q足-J`RU~,2һdo9ȹIILcM~CMccik*HcώQ+A4ݫ-15Ie 6gTC=IX ׌6/$$ۄxzUy8\e[zVSZ ;WԸ i2B6,$#hMXDu)CaR:٬0ysNI ;U6}OLB̿SbWJ!jEdElv{i:{K9ln։טN^VdrlI'u{p^]\  n '1uAm_eOժ/vCfu9[nk'BzJ8$Dqyo29YFP ;\o(/zNG,;bl >QtspS0WG F k9a#$pq7s"|bЅ[h(PB, 7n&:B3ߋN B;QT-^|="YsRӷvcgoB6jeS*kO=Dlo.45ld6nj/n~O$Y+6D2\JvbN6H< LCQ)n(^L7^,A4 ȒPzme]ː~|#ͩp]CH%}\< 9S@jvݓF/ x%:6&1x[f8ճ ݻ?`+U.zhv@7-0ghu-"w5H_)ޫ ~R۩(g<ǁ FaPL-MDN=LˀKSaR-=2tmַړR1k򸘸1tb}#zNg& AG cr50fWi9̙clW0c>?:iPKcGԞb( g&2o=3 [^ՏuX;HP(d$CNK2FSDee#a;߈Hg{{̦ngǽZ. Nn V"Y(#m >of,6Q5#d&6u0+YQ_Wm cl!L`lwhVMPuu NdLSQt]|ްtRlK*ASBw)b \qIJvtS⮚=+ m-JqR WKe{^%o81h&cseI1@SG_%d"pA}cWmDxmظ2*t1˽H Y3$EJGz$Y(^f|J]#S|0-|BG!M*TtdL#U}Y *{ROn}wyonIY@J^Dؠ}c SK(54@'2'K3], 2qm܎uvl^Tѻʊs\: ';$ 30u{xB4iAѠ(^ʬ-S"3ifW ͈Yʦ(1ZK~ Xr-!?};bs5kr3',Tb9&##dt{%ԓ.쀕'z؉~4`{7_8NLɩEm q։y{ (re:"7XAnz ~FZ4)bt +XQ .y!u}ivO/N?T]-w[O E[L 7&K Cq9M4ǭ۾N~fl6-VR1#;( 2#sC˔ "i͘%tREl2щ˛c+h"wrT NqȀ >*5h9M^Ք6Y ᎙rYJG@_PXv븪=&e'#oX4Fhmօ<\%^x8P^iu ȶӨ}N` jή-@Ff_cςXaOqFǞ ǮfC%_'B JRkwsHA/瑱5B]nCz-wt*,f |P9*CTqB](9=sf._vY=M)C9̒u_JF$}*CB.Ƅa_1MbnHws >ǼT55^@D}7 R,L.[l}h TWS%Vit60cBcY봁k};1D kit`$ GrUTx' Rܑ=VfTi >Jn:-CDo:t 0eiNh~[騗@L{AGH0U2W ŕի"oe(yPkg +*&q0}WE'z|`\NYfwDnΤl3D@mWϗ1֏UXxCC#Yn". GC^ ֝uH}r& ݎXR aweVF,mq7$θ+EH$?>J`"d姗Ү_8e2-sjSinβ]cf:UTIYM;k.yd(_!u0bH';:ʪ=yz1m1qB~UшN92u&ư]53M(O3zYmZ!ݑ#us97b'3f[prU=T"]HS\\g0,a0|\['^0b0(ɝt⎌lUǢp~!˰ ɑNXpIG2?ǘ fK[cFDb8́E)EM],jy\Ds'MO|V,RNIHV<dz>Ov*ZmdOC7Fjy9(E^՞6az"aY2*TfRаG%QBmUN#;0Qs3.ib*>K(`·b7*4 pT35F#Q?_]V91_0TGQp^ٿ,!jv1oksW#kT[Xg'nر4w[ MDHfiK^N2C<2,&SPVUJ$BhH(3, ',.rGK'G DnUCܓٱMTnEAj.FћQ3HosSbZ<&9#])$橖K~~2 i0&N_ 3{ó\/P376kSmaGzadnc6l{G:,{n4}[fld(XەoSA+‹=j6M,t Ї: ϩJWL 7DŸFv 1+~wTº*76*qލtёi }mOs<3}YZcfF@6q mym%$=#*C!:&z SҰMQGn.: Lw(Grء<7bs3NIP|Mi˓=ဓ.J.Ϋ R˔e\TX Tmn|p^Δ Ԟhk= 8K'U]dzcKȍuE!x+ p!pg"E)dSRwC# R.슻T]'dnT] ⩡D1C?YvE/㊯r7 b֥nݬy^:qT3 SuT.Me@䢷Y܃D-I$e1rff/K"KG8=zTn)/ɏ?Y%O+~rZB/229ADBHӗ\;UlDϯuBMtM}!&'z^D u'b:T|tNj`72pa!afA(63G>inPNhs_ųtf !!Bk̼c^{SSrSrTAE|Ǚ2s |G~ƒw%39/}J=(%'Q&gq@=:0c;2p ez (>[t#[P&`쪚hz*Y]_R6Zeaw R|`4wd',!*ejK] .r8̑1>[5-Kz/'g8yȝ]rGseXb91M~x4~e\H+aA 2_FC殤ٷЯJ{^bb&b!3dO -lnq-Ӑsu(5bI/*2;W0w^7,WAo %5eWe A^ ԏ%OQkJ=3+S\HKU+T}q雤,&ܺr=?$bhl>5rڸ&??P{ Tg2,׈_<5#W|ʘ<  K&%L'@w=++TKb*jϕg.+aHi_?G#PC]}rRX&+HBN7~t*nRukC.g֬6n? RXSkyφvo9+ Gi[U Cֹ~Hsz>Bꬖɠ`.*Fcv9BK5Y[eԍ`tB+!RY uwB(0t<6m_&!h@ȶ3nX߯vrU 0QdڈgCOm<&ywUXX@^P[\}d_’@:~ZpTZ(i-6qivQq_ ꘽b.U>I~LF\cG#6m `/0 zI3ʫ ^RY]-, ܩfo r;\b, G9昬V\JI/talX3#-?0Fd7-Fc%|+Pqͼ*Zu)[5X~[Jj)+n޲N'ݜ3ͻ4++a?e9;"ĪqQHI`Ŏ uP0L*'^j2}7MrkQC+U *EIN*( 6\]ö RWYn QSfNXQ}u'-R*ɔnߞW Ootg|C X6jW0r[׿`^zϤEBmi ^ֳ"Elnަ/P6.6OJDڶ~9zw:Ģ<{!6F+, z]}T~?ӷaP-8[[W /,5lVy3$EgmjU _sutLf+pLN4,`YeU\a嬵#?unD JD~\=hH=1I",|m˻f0i)I@Zn*h<gԜQPs)gmFW.;;2 !`/ۿ;ˉzOgCC%:ɔFB`Sl>ǛI\/G 2'*|)O:FSO&etOGx0SV{4S" *("a5&2% RrzQ~<n -ͿcCɄȥD;U onG|xZGext8$O[A="|wB<k]h^VOn/Îܝy$ }L<[ &_ԮY$u@jG҂F(b6#er|W{( s>4D%#=0~Ȼ/@+;@O˃q+/޺gƭgdaT (*ԙk={' ps) R"a<#| F5b~;JF++_ՊeH<A2#<А#73 \MY2X 8?^D-? y fձ!.UwJN?$8 |d?  Sj"Dk_W.\Hm L'3 mVl$ oV߁phh}<`$d=ӦցsWɗT.Ȼpȶ?l+m^PSh"B|Q 5t,'}6VI;3hsRI?LŔn\~P3i3eOtӑA ?&rK/">nEQ 'Βi xxII7^_߇{mGZO 3 _DoY/si& Z `><m^/i #Z>٧T$<C1şMebMl?#"'RC;߭,G'%Xh=7m4p?C /*;%xB: )Dw>18O*:>()'-6b8u .k#Xrs:8p?#Eh/S HQٟR%a Á@miY`-}щl$wx \myFwM-5SD0*UzqZ`1F0d=҇vn5yRaAgCذإ? C |jr  ^z>W馊50kX&^lP-\dsOc0ci{uF;B񤘚$ӂ,4Uja֭:9@~` g[{A; ʊJ+9‰fjtGBÁǧ_=DK©YC3ѷޝe;;rԩPGC6G "L/#% kw;b|(+rcET/C)*+RCjp/*1mNclpGR/oi5x\X*58BW[RuwY[b ۍ=gx4Dr;o<(h<3au? *=4IS_8ޒRJ49Ǿ*b+Pvh c,3_d7D?̝pvZb(>}p ԎZRZuD8#nIfC.Ċ'qm@YBϱa~Ryu̩ ݹER>pk%m7Lj-'L t<{ĒqQ;([7e}Pyȑqwƕ kC'*} G]":Z`ACIz7calBߑpZ߀G=gJo0$9h92*h~Opb9;J F,`2[Ro؏''v[?^+w߀$5tv.5QiC( /Q\/| ǦH sfI ~#&|&quk'XŅS Y%LͷDH$v{z;tI[qy=26ԫshkٲV(D9 U__Hc*Ŕ QP}?)8A5^m295 )p@Y{?Z mq0))- R B1F'nldÎm,L#gVn"GU=iY-0YU&$?N9 {Bp;4uԵ%vo {e.D7 YQbH~pfFnXaݼg=HǚEB-v7J(oa$ōD<Ք^~j1p I"u?P",U M8W ӵDaT/Z;WhE,o5 hj `]~<|90ς&ADV I9fWMA/B</g<'PM&3;jen*Tcec% 'Q>[>5vٰ0/IA(P VP.u71.XPhpU?zTs j=Ț+z<:ebfn IdFhéqmuSˌwQA@Fz,O WoDKc+뫐#' ֭ /7,%}%IFEy=^LĿC@j"$_}O;­d7{NŶ/ pv_-FjpnCO*v,G"4vƠ JMťh)EQI^Z~v>2}c@cyM>:~No&wsF"3z(% "PdRŚkJ_YfwgR 4X8ZϭOz?6v45OwcUHuSoӇOuo6&|&뱳~_\>VtzxM/sJgw 5#5,2cR{G톍#BVn2{~DE50я#x0tRW[{؍?=2 w󢯫'[h4Oe^jwyE9>օR1+ށy4zf&cbdQ%z<̚H58|{03 A/)D~ ԅ'PE[ZSk7Ps i'<Q!q]A 5֊pP wl V Vg͞3ZX[c践9 nR†NE1BY|rDᱚ dq#^)E\h廾z,T4knIJqw^3Spǁ[_ެdcʥӸ_;zBLn1۴ 千'xB43nKG[@S=zU6Й_at2qH7>4t/d,SOD 5wV uO3#$m#ȩnp'9n2joE:rkV[{Y+"]s!mଅZS] \:$WO hÿgZP_}?q!=sYNR]#׏fXBT9V"^cCbp~$Ws#c~l^*K[5E)Gcf}j5f/Jq_Xs,ws.rstIxXRRn~.tcTU(9v +&nT niv0!?/<)[n7Y]6CA=90pD}DH&f D7〝R)Ãl>ۑAeMbc'?> A ƆaJ;7ǝRgC<4:mZԗMй,Gjq*܎Koo S&+ӏ]M#sfb!MBQI<v$ӖԎ Ҹ>R]~N%;qc^^Ly1(^30*Q£#@<%YK y+$$CZb&ԽEX%񫿍ٸ[9Rf1?#>7)cڃ4FA7RI^꿹Yysb]$C-m?xr~Z^͑8:"JePE)9:³_Kg:{Vrܯj@ŐttO54 ÔFOcE`CXUCuc4!6ll&CJ高l@Aa08<؀ u5"u@ tW.xQ rrmƛ)-ɬtg]ذ$D>a#C8Zɤ2~FQs3;GK7ɉnkQEZ \U'l GB8.] gMf-Y^^ێuH7;a#8bstkmMD!7.+8L-tvz>~p}~ϡX>l IK[ۮoU6uزZ 0l|_% )=C7{m4-'08+sh5ʺ^P%oBP 7Umf%kqj8#OKxكT.fGLi1ja _&ɡ(~ُD?,>ɉfw|&xXeSȤ&1^ Aq9xiVXE<εᦍC\z b`*%pڡ|.)v1?";U5sv Ʌ&c yˇƵѠ$vu M&sQopsNzaՇj8[y#f]%Ӎnꋾv1fcz{-: X0m[1 BmP?4cb=EG疤;$7d6N(H$ffS蕓z,M5jJhגi kt5!ZGP*2EtҨ]hV5!E>UK _*ڔ- aO/w!:7o9Yw<-^/z˗lŞ2x-Qpܲa%vxKg귩R76ƈޖςNdNІ87jd.1 uv ZUo6H1HqUikd*ծ:+!n :NHf 7O`BZ 7C#E~;72rSҼ&qsƒR4;?7g>sk\ qp>d1RQ>|}A'"E+yI U^Pe(,;ۅeK`Me'{UJTSgm\l>:P߃5Tywq17t^F󥣓"u$8V_yKp<x-܌'7^3Vg!wvQ™zE*u9H*CdZP~U/ϵ$yo1@S^-5n\- . &0%q v?ZZ uTgHmod^$Ce?m2|>9cMYt6AA@j'ox-(`*~(ۅeXdJJvn, AR aC˞E/˦ǡs.Ki$;BG0Y8yGCGCLNZ?Ϣwc(b,~v/'}> IDATG Þ%̸A4SZ{ǙOaˊmXCUmm \x<\0cE0cK 0I!)lh2Sh7-`.&M;xjTNF740 f4Tuq4QEjCM;5S}|H1іpXgu3Qc2]9TkCCaR 1Vac2vWAfφA~~Sg=>[pFMџrPy{O}'Zz f/BR\pfڿb4C3&$dFrGm+Q8F<|Ct|;R5]&gu*P*:`U^H~.mJtdIœ5Tڇ_QSnjU4KB5$`MdQ3I z(EPwE* Sbpy>TF闺R+"j=P=ITf ZFkڷ-3Tޖ^$J(\5 B9r  ^-6 CX3'Xn9d916 F ʲoW.š'U%.u+o]|5˝Lx]>g9bdГ܋ϡ!JOw#Y v#1Bˏg(|?yzp$uO=(uw-nTxMA_X6!Ɏn·[w[Јpvңu \h,!hcDIldIv$Jx{=OMj ײ![7ALݦ `Y@"fd-DzV$p};-%.OH ($[ pv{8Yl\c<[`Zؙ3#ΰ SzkSeCSb`4qPw*JOk1| s%By(adjzt4'Dv {JGbcpxi_Jڻqgqi;xe8^ւ^FWeDc޾7I̻N;ޏx;QWa/^hoƺyqx'U'0ȴ4%ŁgBLg;*@dQ%L<>zׯ zm6puHHSRIJp)LUu-8U]Wa}s`?UATWR|/Q5RNSRw\`/|zWw}'=^'8`K s,<vM}Q SmLEqi~|9p"4'cuF'M *-&GC*U5&}O'O'5G缭 0RWvd%0x< .40ȏ7GQlro㍨8xcڽ4  ~uigPw77ƹǷ"69`W]=I(d\+ 3[MOѳ`eK@u?{_=N(*džގxk1-w3^^y:ijۊb?ϣM8^)(ީ+'gbUArs<uJ&U˦4+"KZjI[.&o4:΀fśP?S*]ﻁ6l8=84x-/|;F7+~q od^`o0:- e'pzH3(j-G`1y!+憅?!e2Iz,'ouKB8Vjwhv>)ϾCؼ:W3KWiݷ-kӷc8rJ 37"Xyϴrjpwa4+l6xmT$?ja 26C5<f|v0Um*L@rH"DaDa^V)Q;:s"Rz/^~/(AE {w,T߉X\9Nځy({ ًlENg }/av9k=Hf&$AłEK[Z(mH<@BH df2d=kIa~6};{=N!7[ᄆSObjFURڢ2he7(&$`^BX+ȇpcӐ[m?֦Qau)H#};<>|"w."YGphhop+^~Ҕiq1Uzſjg7)cy,?˽B;_jP1k嘈KG][*jNИџ%gOfW`|Xg[naf\_YRe:G@#=y4 4\Rڬih+){ESug5;/7G=ɪ2@Hԧ>t8\W^ޗ4ܤrhtLHquC:irEmZI#&W_pX6w wtiROw&$/x m~/:jm(4+xxX0mrOs䍚gl']u>3uujP8^79E7GW>D t(t( $Tu]~K~)6)Eqn2e*0:\ ]Is@5nX3@?~~z[u%:4?c<8g? љE 9vFxܾ3NuΤgt'JS̝ }p;\vۻyMA=/yd$Ц:[tb }zߡ77񓭱@!m7ib(`N֝uo/#}Yza[.ʏOՌap,csa$0Kr+nm?Sx4xCJglAɆfS.jWsy ?z{n֮~wժmA)=ͤAKԀł$ _{>'0x_-:F5C6❇O;EYoNeAD(5שZa`Fmwjva/vb?"`D:AM kO vQ{dh8lsPHj/%i5_P| lvo~rwQ7<։(@J2JQdkWCrY@.Z%4I:9x+yz1#Gr||V)+1z`(`0RRmڵ@fwUu}^n*TrIUuEt{mQbqkӹFazoS!|f,JQt>^H5V?ܪ OhSgG#*@(&>Ǘrk'),^ jS!XsQc۵" 5p+/2QcT/yZX շu>dy]&b5v8&7|tųtҹjhyLE5~ ^k>zB*z ʪ]Bxn'XcȐ3\sަuj]I.G 5*읻$~ØDf._-GN4EC(,4*k HOӀiDkvTj uVLd$͌(D2O!pk7 W5{rvTî#J}omz̰iwcP oUuV]=N7JX>lЮyBĄ)1s`F{/WLq '%M;} yw =+o 'H;OV̮԰v ;_8Oi7~=u/yVOlYw>$I`o}x,@&PzdtczxW, g8 uq0@f/ il嫿כ_QL wo_W#{/D'NUWc6*9$sV,cUmˎխ )OL SM 5hZyVIz啧tãkt7~lHc) <^ niԦr-٢[{t2#csN56ހlsRwg+A.S]^)xۼ*~>TM276O֪SYlܵ4-2_oڲ]-\GK˸_nJ0uLG|&ў8ƞ n} ;T ?n?1SVM}F6AW\HsX7"5Cn}UU_t")ɑ7Iu4oPMjlD$x S{oRK+ӧ|pbO!ۍoǎN'iVp0:(ߠ b ;TҨ\[EFE`^ dp6N}߆h)z흿&xy Xx|>"4-}ū肋uG t+ODuڥޡcRՈvݪOXWߤA| b!Kk?)xLaX?;ǿ?PKxVj߾$㟄Ia' hX*-PGo#'3TViןx|2ޏ YG^&-:y\Vi([b%]s +u La2yJM?Urg|3ɥkBcPVAzjC32?c]^?M}6 .\]x'D%ͣp|Cq5+0s愄$xƢJU7PO><֕xۡ\ 5рMUDty_UJ-5) /s5+g[yv.DO$U[۠Ә(VF~ƂPJ٠Q74]v@TKj٬r2S ôxY2P5A٠97C;3!ןxWT֞jMɚ姟=A0Qs}[k]Suy[7>wN~1 ٝ(:l@4&*c}kȰJnOkrTӀ15Z k.&V၊,W{^B(z^6s VTd:KTd{'?.͝ >2aq;5QW&Xz`SZB؉@+fGKjyc#XM˴`ߧzG)ijߨ?:{ ٽ룘Tԏ<To foVR\L)`g+f\?{Тab}S IDAT[4Bpyp xjjQP*=cmkov~K{oSVl=^];џ;1$;Ogwp/= 훕;}>DA_u<ᐋ4Z]ٝѝGk8X.JՕmVc͚SubZ?9Z~ڿNmlhֺ2Cݩ򈘨Vm5owk)^["xUJΘ*.Z/_mٯN2kiKuiɓT\' {ΕOPSn'):Key9:y$(893K3.U6?JTŨ7`gpYgF^}hL8ycOX,cDZ_eVV]+G-yv򽚆R-8`'{]O# sSW`R,p~׫7?ޠ^ tBǎPͮuxDwN^Z|,mYx>y \4_1d7wnnT94рiQ7ųk8 PtDd56@ky'V` y1MCҽijJIQLl@($:^oEkSt*0AJsʚT[۩&(<ЊPѫ_GS. j*1i<US7/Qwv1W7>ڐR(6~V Ig~}8(>49}%Ɇ kQ~eg)whO!o\ fM{iUmkhRaN&iF#}JU2F4> O߱ZkpH[ҷ Unyw9OdE7˛spypYfU<^,t)Asa_pכzwV{yYP$ @ӱ\a;֙/k۷Cqc_!/A4 9I)ô`_EzɪfӰ2^w~W'X76wݘyhk`PU"@lyDfʔDwg6w[K*8tP 4T{Hg<`߫ ɐ'A x/zLIlVmF֨6f@Q0[lhӁ4x)'EQj/bYV!åj)@'<wz6WPnz25qt]ʎ|}M`ipM$5)*$\q+UJIYvU.*,܂ O;>M 7oTutFK zGu@s qHk.Xo{ zQjA(^T=?biO~%?P6Ϊϼ>JjQ4ƺ1S>g10cѷ s9jG'[*vVBGi>]:cd 5"v2 Wk Et='*Cfjbtt/S̳惻ՑvNY_+bʰYJ'PYEЫZM>mP1K~VzvTCYrJ{z;u'0: Z;P)y3hJ-b # ?pw/Ov?>ol?)Vq=Rۡ6e`` K7풠A88oOOS҄TPqx3IMXvN%R@ͧNS˧[6tiFBc @65!t .A5_>CHI #(! I&Ǐ_}lؖ>d{!Jbx\ʫ[Ui}T0ۚT)ػҐo輦`? ab ߪq|V-U{G`LKOi)>4:Ѯ:hlDh劅7.#@ \S/Tp"009pKeD&F.'_ !džP0叙Ws}]sy11N<_G wH3И.fa @I/cGF_xE5_T] =]j(􃮨^e_}xO Vx^zC<ԇ* ~En4M6FXM7?eVcUJudmlhT0u4*V?6{0R>߆;[@Rݞ9Lx}d *" F-؛BtI:sPTݣx0ù ΃Y-\ẋqާ0&`v\Bb5š36OW+`-DDDo2u*49j+{43~qVcwD']|kW.# +=N>fjo흼w^9FTCOߪ[-!mp!mؽIKN_ êh?=H[UMS?oZjENѤIWҽ0hyi\ #B3O>_;,}feW:PFӦNԏOLT|4-f::ZQ7(Ũ&N%De:ݷGlնiԳ^97RC\k?%E#5ʺ&Twog `^No;QQ!^bLޘf Ψ^cAyVܖUWacbD%ū#r18"R>!Dnò.ƑlA؏4ƾ ۃMeVt)#Hl}M840ڛѥ!vjr(FM a$G`Z7(g9 ?@+j'Z'Ѵ C!.??L1򸯾NH r W2%DӨN$ Xc(#tniK@T o{D}aGׂ(ϲ##>ܝ ?; aAksy'_H䷏ݮGpxV3/RHvߢ* ^llB_R٢rZXR'_Mb%HnĨ,]:մ0`ϻ!W6f!\V\W7V8'L55-h z D~x^>,dPCZ4chtk;~C&Uux2Pf0:$'c@kk*/آE τ&=J_~BZ UC[kRfP ԿY+|,V~# ڌ\÷eN^8kzÕzgxQbjƌ *@^__ƠE/?&?~+x CM1<]xc_ #h\ɥOHcV͜Lx'LL&J)}od 28Q`aՓ;̼%Xl\:K1wghFBE&'0:zHo9|P@Kxcljq:IF7;qw6@w"p+Lz Hq1|ɁmCF7D!%̝ gXMq!;^pDbzfKNSl#{`W?;b\ -_%VL߼:o Sę()X#"/X͞@ o^ځ G4O~p-VkNLPb}eE`|=meZ֮7e7:9:pOu6[H4D+lEsȉϾ85w\u{swH]seȳI6C{>B795?Gg]*Ztfҹz9Dp+iCW1gewgZ|_e.a}A`J5PQc7Ӄ[Cg\VGKDK.y@>@ c; At ZӦr8(*0 'Hx ~/rmtyf럪d(NV0i.Rb10d7ˈD ܔVA$GIeױ;\N?yΜ} kV102;8]y F.@1_ |3WYOxpdArqoSh/d>FNMti (_ oG\888Z*pه44PQ=@;N:HHu e/0Ƹw$Q8Йu ԡ6a:L:|HHsz$|deS&FYgP(קЀ0lPtxFһ;e1w;['P; 7X2W@B\,Hڕ9!Jcsfc 6uh`0(2Ɗ=myC/T[Z}c8eAbsɘlV["saF:ңYڼc7ҧSczy Y_?ǝ1pU6%cHHxF\ybr]0[ܖ>(j9zA_[DW]!B GZuE6R}>} zpj&|Ƶ͞Rq:_47_]پ= ]1W5o |* }bv7ZAmg}@YTI! wԍԈ`֬P[Nqa$V$.v%+fW!8<|!ۦv~Rmp(˸&NUt>gˎqXuLJy8R4z쭇)I Y{i)tV˫?]1ݖgpfQAuNFr" C>˼ʛU|P(0zEQvT y6u w.?WY臟P˴ 1NEm8l^UD,fdÉP\'*Vdr""@BQdF*_ ኖ6EO4ɋۋUSK?6hܬ>ªv tF6Fݥ/@FwM9f .%OyE0aƳ\^:j0u7c;  Q2+ y?`f>b jɘżYMq o €?$?kn2b؀=0AA!`ԅ*6>Fa&ub}&C9 p`Zb=͘.I_|͙s'#MMm@tS4!~.lݶل; /t& :M RG'G!Dؤ56}j-dhuu ,[m-.i8 8鐎4vFX'$_yCBt$-\z~rA_!J5K;X7?\=d~RO^HxT .x]w 77Ȟ]@yxq{w gך Wɺrq$t 3`HbJyFɄ"SU"Q_0"ݢ6ҋi)Y@ "T`w74 2 Ke.%;TӐ%^ 8(> 0n9J ) LA}=߽t͇S̤1(teCi#GY4g:!25`Ѯ;AK;s,uPE755c=^ht}=fjr7xwج!2n53&?aCCnhFj 0`֦\˘XHvK~rϕ!N@Mtgs*3c[:I,Of7N#F/3yR}ffJy7]ơ%{f\<ˀd8qF]_gq$ N %7Ste5o^ #bG#$8'Z@z6|Ɍ!96 Wɳ`|m߻Ozt#rWXd)c.I lKTKE_"=]#SʁI}KՎ#߽ OR -T%E9J c*k^AWOj b )Rf8!x̠YZ{o8oFqw=+X/_z"en@F\L[joo ;n:siώS:&=q$5!0%?^a}rVlќ1Qw+vQY 0LfxR"wtŗ}ٌ[-gcVK1?H-<15j"5  =@acR :PG|_W\ YjZZ0LqY(* ^]}n<~ x0mV:*)/а~#E..R&|܂^3kJZ֯۫ yXB^i!jà ϝwt, 3 46fd%h>8It9pRKN{Blz;`6ilX,=W>;xg>9"j|%vҗ_i$Ęp=7w'<5Zy/?۠*KZ3]L^nKŚ93H}YMXZp >_y}(+J5MT^TMiצ4=( yE: ڑS"sޗ0fTf9Kс%`#f%$w^fլ;H yvSQn$ND 6JәgϿʼݍ+aJ 4wD]~NN_jױR~:M"Jv=ntp8 E$sY F+pf4C/dר0B^q :Џk t+dI;6d`+C7:5:NA{E^K#2$,N1P`5Q V"yw` T7䡕fHu3qȊ**8\5* m\chD'`M`ٻ06@of.HxF{vɌ\.e^@Ftһ!tn確.Њ6:1xa0ogf?:`q?Q̟GG>vDV׮i0˘`YZ7`>&|X ΃+vD/֪yڠq3/# 'Za6f &TZh2tp ¢؛B1wXMqƯ"w`iW@I0ЫkJ(W#mkG[^q 4>x7 Qb˸#.GUU`1١:͘ĬYZ9.>&-:ڼm.bz ƽ ~֫:Mݰ!xhɻTX|м/H#0W $V#@EXt\ oylزC Eh#L;n{Kߨmۧ'5c|b$ϗgȼa8 +PaRƤD%QG.^}>f]LDNJC7oz,(Ug[=˺䚇4܇W a]pe*x,#$xDk4e܊3~En'-nW`|+AGO H}LVݡ]u8Q۬XzQT}eOi^Pz[!+Q=2oV< 7OT[:<w͊72۶Zb`֡Q5CxhLb y1/wc `%3ou>]-K0}E"ñτ񎻎Wys(tC7`AuI Y" Y ] ޵{x@Gex=-}w( FģϷ4&W3OQ[r(#I*ySh @|*{fLYfuqa\W+,(E4(E>* & 3\P x&\ Kg8uvv[]N4ű=5Ü݆w3bfݧvSta[_7n,mg-ѢVݥxy[ij)K9Dj0kA=WA#Y rS"6y|R@b]ԯ WW=/ކJ:6,D'M;I&X TWh P;"`Y B)ɓ#,y^|W{ ߆'[܁9 4%j CGFȋ =0_$$U륇&؍{ dU<ăğn 2OO?>x?.䡸HZ g:yn̻} g_IQrsٽc%NH?c߼_o+tD3;ц^Mu` `i&v̬BgqIs)8b-Nh 1C'BH1+_b,u^FEzcЉTOLy]S٪tQtR^thꇥ߃O[qG~F)#fR "dQ@ PXS7'&PHfʻdCB'e;} q PKL_6Yl0x+{6MRA^aq - aJ2.O#"XuWcX27T ZX1܆tNnJd# D4A2 f†l(Jqd~ǾG;)wcQ 6"L>KAt ԄbZ0xǯ bW{jbSBUz_:4۪Lsg*,CaL/`+Z4[/hNL5}R8LRED&wTYzVַddaJacBVúߪB v;I8h:Hse#d&=&Px30-TY]B6]:d3&S =TTR5\ғdGu:@6[&1gm*‚6&DS6YX8Y٠#Ih IPF7~a%]+3>ZN1Bz`Ԧg;`蒪Z{ h:0!VbI5U &isƎ>:v_ft|t~mUxKYY`Rp#h$6?k$.5r 7?A7 pÇAo[0NލN4f+Aj9t3B51#GԀat\eqF4K.~5؞ __ "HΆAU6{CL|rd^!KNf=u0iqx@ː~#IDstMTŧKC&WQ)¤z ~o^w눏2TVg^gɗN T9NWA]jqS}2G;< v!wiJJ]26e$LbaBF0JO0ä)_OfnJp%xFа֏$n؟CܬXm[و"8x*LOSZ6S[stʲs]_ɳemc'jT>хܫ}1:L\'u͌ǏG7 F!^ml/V}3mf@eثE45);;ת:C1>IikXйVVM7icJ}ꔑ潓Qh.xNa7ڣVG T4f~Z`jEg]Ң86N6`xYi9#Ac*W),JG*PMDqO/A7]uW0i r vO8^6a 3'VE^a1nƆk8\z8yA."9,K $F+`Xzw5e=q;_A*1Lo` BR2?XPu=08$㖄H68sF+p f:+!_@Ǿ6Â5QV VݫfH|,UTE_GUP9L!y# xuA7h IlJv颻4%+эZ3?8Q 2nz/dyzJЯ ct47t᪋:}]Ub#|茏FkHZqrxb+Eg/,+n!a<ȡϷA%r7=B2~Im@}۸}6&|/*ȝĖ[_m_<*#+T2);p{1?k0h–ќѱ֖wC(c~MOx,p{-Cb#B$t5Qm0i׊%u$'HPW%+|k|:g{^ӽ T Dd4ԞnF|1Z{A`N[G4i-b6Mi^!toyYy"mkPK]™[`ۻ< !9̊ݼ﹂0Xz@M025/ݰ0@.#h.h4^ t.]}rPU`UI{t.`G! 27<(t<0H=8t0hl0?c0߰#d otW3pM y#5Y(G:wpx2>Q%ڿ ;HC}hYyddiix_}NАWZ%Ax1ԑlG'CZ%D`?xʹsp?TU5J[cFh<5e:[%k#S$-׼-r}};:^۠%ӧ)ONy!4 ㉰;VsrURL}W:\Y_٪V`OS)jccXئeKompwitl\gLϫxdgChcW_\jF+/d2:ȸ*,/pok#MY܃}}9\?H5 j;:E; 6k&=Sͱ0q~x}oZחP {6Ey;YuA!.e$yqsx 7>Ȁi_"DMC3nյ@Ѕo6s끳?`n^UEQ¶Xbʜ_@'7$h?:f:X@%es"S~Cퟆ(^9+c,vv/5;|{`v2/ Dbbsѫ}إ_:OTk/3 r;1]'1 d~ 35|:ګ;5Y 4"YDNlhNo1VLqs}Se=7QT(-Xpc_Y^r|RܾW/G{/{tەIb_duu5D/,f" &V-L$;p+?b~dO໅~K 6 9mP~He y+~Q-wSfz=D(lYIq_E[Ou2-0/# @@ϙZeh. Ğ[ -H|;{\\4LB؁簅5 m,dht14 fbhabfFQ:Vٷ`,cBZFH vkI+qH92r"=3;U4e hh٬$lZX!@n#5 IDAT$X-ϖ Hd ӛ j aM4!ˀ{KF@{WW zua%L@hB-u)r{<o)ЋM9D<.:q`]#/k_~GZGƳF]m9o|Mez;٢'"{O|^=o&x`eÕP{G)~*k;h>yq{HviY}Gg-d5aV9+ P"M! INlq=LDOnAĆس>EJ ݽqY-ձ.n3_AHS˺ey^–8GBxZ]*u`*KW 8FQl#"yW i4 SFIϛ鋯jb5J>&`b翨gQDU汊ʄ> " aʤ8]5Ϋ鿀K`F>{^n]xU*ۋč/B.'?/ GɽN͕Y jrp8-z_:Ԏ ȋg| »F$qI[#Kng) XݤzX,MpJK/*"z\CW`0\՝EX PF0@5!L@>0w"LӍ0wtYU_7&ҶV)ݿZe;N{5$Kn6v 놐&VbU&'ǹ,}}|7&&|œB@@LmcAo,PO+ggRQt mϿ Y8@(VltMPI V=P݁2d| 4,@Hb^LUNTb5xk+L Hx+W QL_yiܗխ٧OoA-p^~ķ?, f2~TM>gڦjuwhgCzZcc&= W0U}yVױM(DAO>}_?|3Z_fO(a M@!x9#Z{ǑJfd-)z<6C3ouy۾P"yɦ,+gncv4ŬnpPaucZ4$Gu;@Hvfّc ԉTܫ`)Ёg0k–|p՛'cnM55gY|ƕveuIޑA5?5Wb\CHGf֑ ~2~?{ǯRNVB˄ Tnĵ䰐QUHDȱoթix|B02D_{F7 ymQ^Udě]lXń ~XA~26BEj|B×|Z}\̉JuOa!Ab6O_s]_' |A+jeBVT0?'^Mp Gj\> [ +lŠM4lPШYq{ʟ}F䦮 .btE1Fj+uUԪ ƶ+u3b?j$Q{P$gh 5q_A4r@ed /ˎcu2Y 1^#WBsrS?j5N`N u K(@׿43xq oeX(x' ~E?xuc 7mCOQlU~]Lgk`߀-l*oQ#=^IEZZThHZɷ)aHVIHS69d /ATG+S!}d#rdfezͷA"9)^;l 6PEŻFNA"#vs>n:N hd-%7R;vp̄Ml#Uh:y9@L}ny wgpƱ,r@2cLP8YCfr<:m$ ϡMMGs\hme?LSA}+%o,DRi}v}O>KIhU0߅[2Tf MA,VnݤV|) (=}6dl_?#@LGP,<4uy$~Cz5ߓ*$\]bj?9 &'9/<<"ǒIth[^~h]C}/jmK#`Dg,FPؠ7ZA8$@ʹ9D}=FbyHQj`v?; Hv{,7C+s\}c?o<*?GO(b-a< H[%`bD"#sӦ4!(h|P(vfiieEy[! V|@Z]|OK2[^1N`N`k8rg F @{-v_w)Ryb9蘭1EPρU4<ͰKW;%0PCqU93= ̽CM ѰUDZ`l~; /XV^7 qZ(VS L~W^l͈C†=yާ{Eg~,{$0>L.{JMSIKnT^՗)B_DK )p<?N :("+e)A IN]4E1TcO3ǻ]01M ՘>\Ӝ3T$V]=.RjYASv {v8mD=ۖj="FQ}^{&mfjkYWW}ʯcp LѷO}]<s$>&wٶ. 5!M.N1=pna鱓ut?*[{HS`4UyM%KHS>A ?wtellDu,'~_|Ih}``7*g5a5B%x^}kC9 1C!T[WN{iNyFL*WlvA{ycvӷ^z^̢d )S')^rUpJ9j4PՋ\2_t0Uq4][5`UPBZ}  LȇJZx婂ekGq$ rDzgYhq<rly ѵ1`23UMI{<*E#c]a=+k3  \h>-ņO2Egj줠vX1 yc`30nvwfɽsET!Ev+( L4$ dIAmw<g>|s4ADfCuG7o+gE14"Id0k52j&_>Q*:?OAqV8[E&:L6{yyR4NTA Y7_^u^Lҹ϶K!4b&-}%W7}rp+8 !޽ Ydl_&=1{byW|6&s(HLꬢ'!]6ףQ>(Ji&AV&@pP=k*VLڙ^. j.=UYOΜQC jй\MM/`h FDke3 ѐ/};*X[>h`~Aq?gc䙕4SM⒏ 4)ZKf]53H7 QW迟O̽;2G^YAn/<8xI# Ο=ў@N~)A/l$Ͼv"o1=_x'qޅmo jpCl]R%put-e|߽'1#)Tq'Ԝ$GDt W]^+XZ=Ld25{f{x6 I VéE ͈ VI;c6Upix}4 % d4~&p]^0bNKo𠶁z0!c:;O.^fI%Z dIom`s:a[HA%y6RX| Sуն}hB65̜8r~N";N݆0; |&x$*VƓ?Cl78ᡃ|Xtg L%ё#GG槑jW2NήI\^B}jTeu{%"llwU]aVC]<%LL+N9(suQ >eK`Vvګà@>Y 8@eE:jQm#rŃvqaYcũ&ɵkD0V - h)>coȗ)gAFC+o{ZYe7mp0L.5- w!1pICZ<' 0î2.g2b.bA@{!H>3jȅq+$hƵV_iB*dO:E.pAbgZdL3D6SOnߥaqn܉]u2ؓ7 -D{  ς"Xq1(ЦB1,ZӖH`Ꟙ'آjۯ? c:HG1q&#@ {tW&h5r=gLuHY_GuvTDQ?|vex T?tl!)FIe\(GB2r ~i uM-񟆉R4L%Fit'{mE6`#lOVAA,GZ?İ}K(Z ]N]4!+v*ٻVrTHy68دO(-tZ43*y.C(y𣭜?kq~!ǩ^]ˏ |u9$mCiau/2ɗ{4ryMcU*8i4oS~E:zꔦǟIuUwmV<0AfԴ_!M"#E;sF }Wh*nM4˙*QNרҎ(c]AFO^͌ J1|o^\*A&o)5u;ڇߵ_-PR\_1E2s5ֽF=V$RLivB⿥X1)wAҲgvjtPԘze|kSr% IDAT>7Np]h3mq,^AM6QHCֳbc&/_aa '4m5?ʮK?\FcSsa쟪QǚQeqo:D/48 n4 $l\2P8WϴݎS_qPYݙjt皉Xc n4Ьdb<[,VK[0w|5Uү)VL)uoQ@ Mc=vϞ>̎ٙ .U9H 9{hIPph[|5l8M]vSz4ڎ|0"&tg kcSgT5 h> kY; G1M=F_z VU\Wж3b,t\)9,h$ױ>#ȓ?2zاdD1퉫Dr-akW09nͩ++Ҿ]BAkZҊfϏcP'W:ם۟1@P*T]k7GtLe(I`/OPpU\Ih\FCu 5Z0?fפțtu` y.bg2N(F*U{0V!4jevA%iا~mT3b=C'1iw~~@맿R}M tUkҹevGd*KE7@ǰ|] g~kK 8,CcZe^_ ա)åMFʱ4> 4E֛P0*,`j2l JȋR{S30iLGYxZbMUbk_\6 LFbwk#';t98I+"u =pѣ f`"Yy'eU5bSSEHq~V Ry\zJQ*g*`ݢ2 V`񗕻&vGgdə0dZV!Tq3Kjn"NX[`RYEJdS%4 ҙмw}N;c:0n=ykQ$j-2dbT%4e R@;ɕpaf1tg0P 3%&+eBZ8O^}O+Fu{H[RS|\SsUqF aDe&NoݓDuc£GrU1!1ߞoSyY$3L IquCO}eek'ܖE!(ukOHct.ƒ06$֝k隘gu bcC58>hc>! >+<8MT8(]*Qqn&|x]dҐDBTh84uh1/z43d `E\_Tkއq7l7V<֖ JAη+B;@ &i{Oޞ+ڏR3׆ 4b @~c4u鳆ӍEvV.jU M$Pp#:R, p[F!5+} í\EC =.w?0_3*),oѽw!VC~%Ka5I=5{ M:~u_E˺i} RF+Gf%ޤÖpB[d<_ו$m!߭ qf",  N#-䃯`7Ӻ; #|=!'1;3qs=b Әrcv0gò%V7.,Q3LYZuY\:{uaǙ* 5Ap=~3c`yu  ||N$X5 ؀K0x%{cdARXEX 89RjTQ`eYyx  ѡC3PC`o@wc}VY.4]-9K=hv sdi<򳘾]g7`7TSM- Q ^|ZUiB$a =XqOX بvKsa8hѷa7i}z4@b!ݫ-4TdLg?" g # q I&8?q^3 _"HeHcΜ`ߎO!"$'2I|R{-z{)0ya7JT] GU+=gA'vFhl4ʮɮ+OA~p#d_sUJ+(ٙD x-Ĺuu> 2"G\iؚ݅e(A6('*YR Ɏ |ffĄ?\ &&Psxw8%iMT7FYc 9k +똡7.jp4>s>~uh{g{'}?ف\9LT>i)hi'Vv;dR;HlUL+r: ]Kf/ eBrU؁Śǯ v+rb@J2?c\kj?YOJЙ q4I`-4ц^9Zg~Ee&<޻hR=&!B0腁B3;5d kݷ\H}P(H5ĸǏԌiz~zri&hizan1qxC~c9;|',=H>B|(!\=v&';*0I\؁yO-HJ ?#fvX#ѱOǾ7±$1@l<;=1ILqlbyh~xh`ֺ I*.~Heg4T4WqwcقM؍!G\TKߢ(͠?m*@R7 ^0OLaɚaVk$!a40m<}ByyXmr7 d2f`(Mo9-x?6 qIj+DM]7oԾ2hh'(ܺ|&xBix#|+\4"u¡E~YQ3If|oP<.9/@@'D`UHagiv˭G-k.lXgy4D&x.c,X;ZpR{WX->k{;q 1ք )/`+a>CJxcWd[xRi0o~E!+̚JC1Εv`u^|;?N@.Z <+Zv~D eEyzB.-'x}fe?!$gއ!T4Hܥh13a9Haa5a,lo.2e m&qKvc#,8Q,|L(3'6Y\E$u!M Ѱ[A~ln :;Et۪ 5{*,~ ΁+qF&Acf_N$Y&2̍ӱ΀M1*3Blh 5mĘd:#P!ӴL9hɋtr(4UH\$|h6oQX-1ᯰlVri@LM4vI q 79WpU#0Ho>,:rZ!"b,8iOHgUN}g=Njwgtefc"Gәݞa¥A<Pծ.C#[Dc҃^ڂ׉*`xm !+r/}u߬nA;~/{ݺl"r!z91cݯM*>NOG_gc3Bt#MN`~bNn!a<Ϯ1&X shY(Мƀ !t{倭썐؅{pk|:9<։\/3(VvE n̐S(}iYr;[;U}F!ww>-N+x x#%ڡ0;? )ķ0InX! YyvA+pzUkpmLmF}@v9(J!޾6$_R .~_|;:[ۙq5cߒ:$u6~kO~8n0 JxoN+O#盧DL,t1ʂ,%o \@_`؀Eo*ɽm bo⵫*Ʉ[rc_WI "ԤGFrσz9V[dA/Kq[{|'.u]gO>~ B^c BLUȇc4`! ;r+T[bAs!S@F9?[4K~Pfӗ,8TޑE>_Yh}7>8Sg0䙠+Yِ^9_|uн_{OLMٻ}^ojG$@̞&53!EP3a,OOmV6cCmŕ i[K29(@ehy6Kټ:*'&-5$AZ[T=cJez&{3${vqCB| nwm zs>r)1}A &S5>i0S>H̆SD iI[M1-FR;c4 VlgPb;7 v008I-*BBEһ]䈑(a9LF2x_uPE"r ue08S0( []L1><#w8,\S QH،Z0C<1n &I=ĥ07@3sS4D6 {nvx+`z#5AIe&nVn$u&IBLvKN%☻/χ9'/E>gMӄ/Dܦ~&up*$ZTIP.<Ԩ^}Cڄdq#>D :k8['${'w |y{askVt>'ߖAv;waTHz`| v> hF.L%^tsT"s Aל4T֢vװ!Ywu`t ~{FH"q=JQ9 `j!. @э9 )o{z|uE̬(/Rx< ?ny\Y-S(M$ܙh( .;(SUx)"g!{_fHP.M&0cumuK}1Rk3 2$ɣRɽG"A $<1N+3H24WO0"M L NHь;^sږF&5 }ddFGY6gН[`b?duL- (zb!mŪa};ufȉDnhiqBCR>ao okìJݺ! ]vh(֙![c!s(# l@^bZP*P#֨L| E33!(E3s3ǑUy:a:C]hl`^tkt(nCFȊd34 pG=^~gt4;v<&b@&=rLD#I'V!21Gtћ2M ݰ}:i OK'O?џ}̠vW;iCc68>5=4#D"A+{^{Uh~ '_3Oߛz/7ohN#RE9m&cg@HL `B҉?8.U G5M|6(r; fM5M@cK;(0}77#ԆLb^<\VF8RQ#rpI3\P& M/@V_X Ch;u`:LNtumR -v$T9eNֽJEB@QsstJ9a<7tk,fۋ 9E%{{Y$cԑiU!U&>^,7lתC}w Z=<{o~/ ٸ俸T5LBeia\!lisI jja+9b'5dU=Ok5gA.֭˨ljF'˴̊X_oy< {ګu_ڡo}NO$q]F=N:ҟ2uH' ڨ֜W}ݾFY}?w`0SV[W $;nfG>ƃ+BC0$.w9d6FK푝 [MdSnjF!Pk_XyqW]Iӽ4DI JLrs͐Q0^R> }@mP.a86Vdop $5Q˰shB bJ#bE; S \eu.#&oiL3nrvY C 49<:bZ#4AF>]lDgƟ7GEafXMo- ATFnʼ o,!yqs]4-T)0 PSP,31+f-s~R5s5 1}!LDO*F H OO69p `jkyJAɔ\S)vſ~,emiNb@ {`W_\KC9zAZSFPo FZ"_[(pi.~O .D";_[_G|/2: ۊѨg_Z5U6ٓB4wU~l 13s =ɮuB-Nځf8A&<Y̥5Jjd+M/ ߥ0[R8Y9jR+Щs؅F;÷v Z}ٸTeՅsYnwImNhѡEzݲ 60AAσ8e}G~]ː q[DB+X5i6Bà%\&M[qÜ q<4@><ͣ&~ľpb3LQR[ &>tAPVMGoj,,w쇖i-dJ/ip$Ox9Ζeqj`E9!74B| vhQ$@^llGAI+6^`l&E:nQz6V8vƅ1VZ1f߮m|"#瞝.? MNtL(XAZȇ ;8mx5)|ddX[++4c0jT\ Haƀf$9m ( #72yԀ,,$*B\Qk2u}̀=D6+4Mfu0Mfᆔy2iivxfʢwI-N)v=}wH9kO !]E0$([+ 4nYnz~h׀#XޖwE_LLW^=Բ STDL{Fcv1*>upGD9Ae3wY*Vb!d܆^~CCZe@peu므 }qJSL$( aА ƶq_PL%κ@hȌF2"a3nz~IS6u6fNV6H<(;m#g'f=Uu8E : ^ѡ{~\H3ڜa1ÑEr:~Ͷf8"Si)"9hͧ Da!Ǟnx=_W{4#,>'3^?Wǡ\}ISRb9+ _|VaoGj1ɷN']Muxd uSg(F]F0 RӭE*m<(,G_O2zZē.˿fz4AL\*{E=% M˂T.? d9͙vL.U!AM+K,⿲44 <δY/~Psy^o I$nI8a=>/0|j]11쭸Yx+sf*jq)@ h˷u"`hs P @vAXg!3$5D.Es vUAR4!28(x~F%T+@5ȀKUCMcρ+LH7nc" AxLJ/y~>gZV`[N$!}eLqմaIvfyb79z>}ū֧ΘS4lN95~F&Y)JzT-{dw?4']~NoxH+Uef>ǵM.D9jT=wήߦMF؏}n wHʣF=eL,./iB!*X_{(KwSSu*꜓Z9"@`3=3c/ﲙYc1kl&"0BIHBRu:wWwO3H==j+z~x5Up_妁NijZkA-aSrU% C:vZkx@*zqK~aa3} r\4;mKv|m*+V [V"SE&bquΟU3h *\5>G1p4jwFBˎҰh@tvʯosw`")$?/v찧$!CV18^eWe8'&$!}.2nzv-M,})`Vy0NJ!xvo?xă D/FC3ÎuO0bvl %E"gAzDZт dR-?@ 8aV'Yډ^ȄS_ xLv>Ț&-|J&if؃m5/J,ǬͽtbE;C_wA]i8 VjN9IxpcO^H9Ɍ&#<7A Wd)(A]D{_i@>ϑ'`)M(TԨNsh}_IPKڄzoB6N=DL!,H/`(>7<$(hF9 `-. wiTSdSO,WgrvqZ{ ȗ{EnGuxwIִ 6d_ɚdb~GıZUFu Gu4a}7Hr Hl.()~/=p+9MNzoJf2S@ը%Ynx^΃0;6z2p_!ukHS_Ż>׼8tJ'ywԸ^ sJȹxw`Hdgr2d~!{mPSih;ԉ4 ďZSA l ѮN .&H9$ Su^4D]^``OAŴ AaEƚL B'En^Lo Y H@6f]|*ÊƸ .I?DE9x +6V=%fAFa~$oAm^X 8{ճsB\e}ѰNXD% W1 gahw :Oo5"2;,(bs`z lĄtjO%NZ/7oj H܇&P+ruLc7:tQFjw=K:u^XzfNZzekNOɳG/ApKzv:( И ofT=s$N`Q+O~ΑqPdn 'д&&w-L}TKo̊6(K@3|e %jȽN`:VjrH_>FiE½r,y&-}^~ 9C/>57.v%bj7AS,z # gpa;n}D;I ,Z~vN`yf[znW W܄|czL'm0MjG!s@&+atѠl7#daϻjxث 踫M4Z!HֶqUX.XISc7@#>3!CN#%sP4`qX?uO2uٝy`cewAѣ k!KuO֨kSrX>95EsX$ X%(geIm"{qi%ѭN$ކ_tȡ] oAÚ66fk[ɓljnk Cd/ q%xlX%,wU4?'֘k#d=,8)@@jjÉnE]-$U"Nن)4Ic²ia5i1`Z̦y^#C -ZU`v G毄t1. I k㽟s4x41/Q\&J.:$+o~Q ~[h(m !S&ᒤ+y 4z_g&1MG^zqmw7/W6 +L! o*ceӓ80gxe|ID=o/؈PdF9z3a2lj5LT"R[hF됃fZ 3xhdHwdQ)T7x;5O0`/-[حF1B!U=) hVbw"ftd|6[Z_1*\5?mc<[#[?lNo<5c@u&jk·ʃ^gL@JL_]o-[el9hL ӟr <> y89::I|h)ql|?m)p2 cOWROπyν@]IQ>6;.^_VI@Kg9裱s˱s*6#?B"jZbLjXV-Ҩl, p 8 `S_XYL?wy4iap3e"?LKJ^2YtO3*D]lKr~iӔ(@+,~ɻ PcՑZZygU䥓}r) OQ/˝JqsW09o4(@lB237p7c) RlJ-T L~α6/H*Gf@ ه'0Q|4r(*q"qL,}Io]\o&++p.NL%2l4UE( Y\_3y׍tONFfː) ?(l kl9C7y~Ä,q\\vWyOSe8n9p?fFBazY;d=m㾢SLf9sNt8Id3"󣕀YRYs`O7.fq'𦟀B Y`"2 =Kr}/GwX.,jF<2r 0ׁVqX[G)- g( ۜI7l!@pb gb:<)1[ЃiFedYj|9 W_+; q =kWa~@/dHs@>LT7Bw,fP!ǯҜh4!MgwDNEwqKH5&X`sN]ed TB[L2ܼzf&>_#}o6KByI}fǪOc=nZp{F)p> a9Ku9sfoVW}›bb7wЉoU/p~*GKyZ|e<4!I~`-IN ~ vMF  :@ 2 +˫\k{&m R! v0j \]k 1b&p0u,VG֒^bg?o}U7O9P7+H{pB}Vylpf {kLZI9R˲)ri-+i HOb'BTfo]ʎǑb1Y40~:QhUZ6!!cЍ׼V-$EgSwAgA/cf29i쏷߂L*fڌ T}f|{K'&߽(Va)pMSt3hYa뱄' x^^s>Sb>) x?YIT [4_)Bln2xr`t _B@`A"!) _]_;Z(XcepPP)0Hgoh)#MSxA\RVzVV/Ax 5d{v2(')E7dٕxoǺ#mjQͼY"Qa$ef8 p_M&J|aY&Q+R@HEy7<+bC`EZy |ΧKb '>kbkoJ>Їo=@noń}q5q3 {a {(  ~B~ eD^?ggBAu%o[9F(#r ,_v;b/m73A]_F7OGv/ia(/@$/^N&U1pʃEfz 6)A-ƞ]$ €wB b`wd@% iQ P)\9-֬K`)jno'ԧU 3.q' 9l8`PuX5 POd r\K;Ѽ"is"'Ek#U<׀JﻃF(΢xX/MW7Jᨩ E8"kʹP4;$};.6'Icu]ݘUMXD&(`Lw@cE fؽyS:[f;/HRKsSB" OdaP]1&oۛ4uu5' >@AeLZFpixljƞ8lyt8Q|9\0`b"s 63LLQK,)֐ly_(8+k3e >2F}*Ah$݅ rC% a4`BZg;A˨1(kއmidfhm$A}R0Ի#bt!AXgXmH,#m\\s!QziO۲t0ǔYC(.4IdjdQ@cu]!D ʓr4ȇtNciFKͮˋ/bh7;} L5\ӸgK AS7 N( kL$&$2F*6HNp_>tD<}u4Cv.`B5.5 ԍNVڿSDw#tB;O1țW˙Y,{$M22~ EaE) Q~& pt"u~FtQq)C2Twg I؊b#.ĥ /  +VA>a9c^勨,|FFDC#(/ VaMMfp=jou~q߸~κz "T?ofDTV~;;Wτ -퉯=sme wava:9$G/{i*|)c0 *3= :E:o\p,teSk<:dJdzH=ģ}ei3qv6&D3'c[d?ѧ䱯}=nu"gaJJ$؉ HE W~)yŠ$JY SyTb(LX"3$E.HDQӤ=E(0ム+UAi\` av)#ǵ6h(XZOhaqV/Ξ7).V0kx/(Et C`;|uF" r1 ou-0@p"NMK 踫"5Ț3-db!X$bT 5GCdk|E4x ,~C4ref ve S .d^䐪=i¶n13&0A7jЀO!ecĊb]} @Iɜm,0*܈26&F&gFX ,oݦ*U*.tM)$ey&PLޏ [2tf-QȷY IYiLvvj5>mƮ(fbS0eiԞՅ`:wQ t_`;82]{iN|;f_>}~ Ü㲮aN@v97E D&Ƅ4ohORfxSN5 E=x-i=Zޅ0$^ {x.IJ0<'dz1^3cֈfعh0IYB(Ӕ2>AO87ULh%>N ِ k kP #c,wuQD3'I|[?)$G-ࢩ֊)[,N{k(KkHis(uRLKd,4$Ӿ2k O[k:ãs &~}rbG-]S(xdv_νRLvu ejiU\;Ca"䒺ʵc hjP$Xy'…=|RfqP h㾶xS '=fN:M@1 Ө3U[gLymc|Rb_wښ:<͆X3Юܛn}\<7 &kn6\斎`r }a|GiLiRD3#݃W< +]0=2J$|Ag"]Z,[_\rk)1@3a+(:(SITCh-vFEnLkS_z/7nG~m\ \''@I:g-:.[PIGRc3^&2aO8[Mo&X,{nWַǑ̑l'<<$%\4`=2^cglDԹl<&t!;kh z\vҊڎ @',{vMTfJOqd:1ӳh5} 󙽲C <ÚBE_kQ{ gF#9Xf&"Up5Js%~r:dl~9 #[rGEHya绱@Kog%f¼~if1!:%寅KL~m!l 8k}@S&=nSqȊ$ [\nȽ$` \|zAvn zDړ^R{P 3EC;U)#PM{vuɒɏ;6 } tF'ʆ{i&7G{? X 0s"=Wg' ɲGpl%Gfՙ9S%H\\!|S2$1MA y+"ϬJ\4Nm.NDLQ!mZj, XQzva6g޼P=deIQ\MYt2AXgaQ9_<L{߮RK 5x;F+rP bqML"|n9iFQ Z YSCaK5 Q0%;X)ʎR]JLdfYo/ 8Z`X<1aI6FCae^2ϴX.C3@Us//bj#/I?mPWV4{A`uZ8#/iy!A Z &(;Ek`/sm5kGP'GQ0S3,r oa+I֌g?-Xm]<*ߓPw=q+~kKl):p܌tvJ3y o J <%i a6}p/9pC+^ S@68􊸘t xl31`/+a&^(`$E^Fc]9m4^ ?hQ:yQpS4KIθ+]Ygy'fgS_KgdmofŃ'+ر.B0%a^!=`Uf'lf 8% s9a};Ʃ[^xJI2$nc/@3e %3};F~ v>zֈ͠y\qq{:{zʳx_'iLI(u&eڗ[Za^-T/R!s–Nr1  Ziجi& l59;#3w[o6ih<}7` V$Ķpz} z`_ӛ+dE Y5g0U kUY9f0h6>(F"`#X)ؤB21k/Il'}4ֵmfvv$5'U zY&w;hJ+@:kÂoU:|/{)Zt%PGϾ8pD v4~u'5YeG5sr) ڷKp0$nВ& a$P㵇vN6JoCxP(:{obc,^JzPv"9!Z_hUIӣBSeBԯW`+E=4iPݰN0 kV΀4HUZuy+ta#r۹iY74ɉ9C{ȕU [VKϞdm{e^å3rFH\; ÅPդ2gI5JU3j)TYƸŘ4'=:/%!m,/!M 0w#>9D$͙KHȖq˙iV\i~rx+bE|qbVPdA ^4OK[7pv`uȗi/XnA]nAQcU!YU, U`44xM۱DVȧlǨ z%ih$MjLb4õZ) rm1)ukS BdV̸` y0bW t>Tam&kzqTeDesϯAq:/ |~~(hZq ҸAn]HsF>t+~*8[Y5AUlXLzI>G  ٧ d-ۍ87Y9?RA)FQ*p)R6 NZUi>~#+ws tLT\g7M.P<FVp)9=%'ݮ΃ĥ1sI&2j)c4ldWgx9d;"=z-L+Ts _`N:J@J,dFC% %@ ))<=msKvt$[1ٲ )YdH1f_cпÀ["0#ps`# `ݺ0yFcV" a}>*ޚ{{ aPB4MrEL~ðhGV=(CFN$)4d^d#)T瓒 NV2A 9^S GFdtZ)`?B lI׊\ ;h|A`tUU*`켄<E44"ΒðFAYv+oD<.0h:#&X4~Aq & [ZCU4HTSyy J-fm90qV[I#-ݚU ms:21g mjuBO d,4 #̤ v;`_ݹs9 B*wop^bk3L])Q4\멟H@fsQF30&CTZ'¥I4ꗏ!d\]}k_\3V aT L"4+@j(3 OAk4t5[VUa_H X9kl]Cl0ȃ\e>_@ v Y"v[_},dj0AUv9ІoTqulf/Uewor.JZ׮G DE|tub֎NXŜHٜ)%&ɭmׂ-`:c]])_#/Qܞ@ sԂQ 33 '9ك].;y ͅޗ=8ER(5 +*M\U6 >mxyU5>rfLIs^c33dNMTC(,p7!d:V :a~D|+4 >} _~VI]~KQ}p-u4ǚG UDf5Tӡd&LH qdV?=\+74Jch)* ?w]k1+E04~Z/>b!?KĹvb>4!v㷟=kLʰW]U {6S9!Pa2|>Oe~&},r,+i({s6qFeο-h”#01|ڰNmn #jqo\*z)&R~`@Z`c L JpÌfF"[c?!ҰH &ҲsE5OE "e.or&e ##BW@¦"EĕqcO_e"HB  2ҼM=0q^%mp`a3I??Eն9Kd޷/W=Y]8P4=>'r- ;v%&t{=kRJd5ΊDE02ى<} ,ȇ:0Qc=)2_]s\C`!9$~Drjx I2e(TLީr-ku3 צF"^N5glL05B`E^85ыpURelGNbs&GrޭDOqҸ>}6Y09 PJMqipߦ!>KXL7]?wEٷuА#j))竌iDQAՅ60Ljk>Lr!`-k3XPŹfeW_|LNJ&4_^or=w#ֵIcㆤGcĨ{'ŘjOa8gD6fy-KCx_?B_x(X.& `:7(ò G،L/~/peȭsf޳:4xHDh$D4FY^*g8)l%`͓[cx3k+i&U;d3[ck|K4uO@/lͣǔL#LmB80b֊RV^7CoY7Bf@F4on>zR':TZQgB57Fƭ$(;]|o64(AB +[Xog+Rf;}-| naW\$%kU):q5G᠈n"T%H;|60uc3~CsbȟݷS_p$Ln >2;u!N k-dĺne+φY u A&.A$jwJP+j6MՃ y'Gd _@ uOrI,Sig9_l?@F4owG_Μ8!.;jkp (09&O )pȃ;86\ eRx YЕ0b()[d6aPwpvG _H՝0S'z!hdd/^pO4C^LBÈE=[}eO0{eAoVXYoDeL=r~+<HA IDAT4u H@]GsIDV &)R&.\L,ChULVk#^tf6 u5M?1hzvoly o`2}-1S> R}pP3)Zu@ј?rV/SCvvHEU$ᄄ&6<}TG9ɏю4wd T(kE p/W{œS S>S#t36@ڏ>VljɺG'f kO4P YWƮ":[b c aK¾=O3⋲Zer2)mn/nJ!] Z5-*A x#iQr\Ii!r$ƹ9`C3[ "QϽvְm5{iN@ ]W/vƒ,nτgY#r AlKҀSfDֶ~0%\q;@Ba$|Hl 5tyd CY4gB&|f /EZ٭?%$|d\3B<"^8Z 7hhuqmS/pcs~35;,VNtw`ރ_9EePJkam4>K^ ?.4~HVhƼ\S:K,nEVAtz㸓o!bQ";@:il|4G|r 49}#;;ɓO|W 4C{&{z7LjӠ{< K){uã':05 UG~qsuUo[FV,xD6:d_d.*`q!;c9PZV _țG?$wsask ^[g2nmgdnfWYR82qˣ/w [AeYiFOF}lJ& %7pHexH6X-(l:$D?9%E^թC+YS ^S"=}En!Lb̹x Zyㆧ2V^'^R? :MQ7RGl4Ǻ/ _rFj/kE/ӑo|]Fk6N'{h2NY ZxHl:ՙv4CJ/T)&?quǪIpq5wQ@uWl-=Ecnw=,TdUz*]Ln|yɇSd-_HhbZ<īE^H|rʥ4 >^BO+߿srO(P6H?aTWy*9(C蚽@535rӸ(._ {pw}(6.#GwnRR$ wh] ڥfP@(Osa*z2֮[YCVIJ[~\kZp1<| u?/S~Bg.=o|;1kx1dUNUfFG y9^]~GB7JsVJ;$G,1EsYyl)^ΪƊ͎ *XZ)aADtgLvui'.K2swc"tͳ{[˜mo#E8܊, r7͋sGJ<)5BjWT%Ǫdž</rRFhVPqֈ``&YUtHE$5f1S3/fj0k`Y9SSʬ[C̵zIů/@~Ck6N:9UTz%w3Vؕfh_2hڟTΤ O-huR}`<0z>FH7s&`&vy beb:am"h\Ce|-Y\5iQ7ʻ-07mGUt.?ymYp6:KDz_Gc0$. ߔ/%"k95 {MF2 E\&, +߮~^PxfC\cIXD楥#@Z |ıh 1i{(BeD9ef08?+'<;|Mɉ*}aPFCf"|+ȁf"2NwRt7Ȍ",nbzy49.ƪC8)('3rsrǗ_+pbnos3!v5Y\$#?tUx&| a%}+Aj @r~~mz"T"[78%|Տ^m0.H4 33҄INw\ j|9$!;Z)A~ ;Nڦ })>gPK\Q' t*>͸/z׭r{8YrJ/ȎfOO#2:"QP p)J!.0~`rAC'tr7?dW oV5VQf\r8f5dRr, |6к{s_6뤤l̷ (Re`"d75µa1$jI@}dJk'5w03W߆_5ߺ03jl֬:}ބgRRFz}2'6ܫ-w\X^hoX$e-{edrELȵ꘡ P@3u˴ 'e'mrʑ aqbyAoHӹ#DO/O*&XO韝vyr.O,*E wte߁]hBS&5u*qv UWS3WƒA`Ii1];K{GP(Tn Lx+5"fO\ 3},.=.eo^~\}LVVWjNxͱO@-Em{l&S4憺Jm~n#1㖯 8K.~ q6LY#6'?@E:kelb  Cvʅ+pCHf:cI80!Z;4Q=Phb.(5+ȅ 3+-Lh2׳L*CGXjJ]3p1^@i,_PeGf7.kXA7&3߿f)z%OF$)S࡜X%pA+4x S^)$XgP;erFhfFZ)yYykh-xs [꩷q1'p}LwH%<('_>8V#– VBCe ˖[>"GͬHv;ol[wG7Y>r-]{FH]pK[+AKF4T\{۲L: rYUU|L;v@6[y'^a͚U=r\<[G8J% 蔬}s oggF@gS Q Wu 5e,ո82_iĊBi0EP<5WY>ؓUEgw` FC IMf$ ne9l&Yv$'rm.x gEȬ@ dGȘ8mjk)&w>Ɗ(^dyYTKjC : rVhk@<#kGSoM4~kB& 7?ym@~U_'{ܩsӯʧ>ru:r&i4547S z&VQ).}6*<ٳ3M)fP &fS 97P]6~F&^C?gXD䟿O[.B鑅i`v$pϓk2 V>o/0A@X2Pmc2_qغwb"r=f_}NuΙs̮H+VdrƸR 7]ronB S.$!@ġ ca#jڢіK=DaDg\vw>{~ef#!t_g@Mг/_~&vsŹ!]O.ǥ+aËu01=vM>CVGoBI1dv}&NoMI+8w> 89,Hx焣|"4>EV;ey4r0)κ xX7˃r^>?E|Cr,y[940AÄc$N Do&b[<.MM ;tXy*&IÈM`E'LRHd3N\qh8P뭲b'G& P8W!HHקI M\Yk1ZGO`(ȈtW*Ugm~\>пL/=>GGa.)&}`E~qMĿ?! ZpNlQ/Z1\Tvpâ$'}YD4s[-)*ɎۚaTcTJ\V_o+myg} 5)򘺏t@V*Zسqe6卧F?C9ƽ. 9n&#*{;Yy,'&,C7!Nq1 7nJ?H*^@Z'7S\f\/A_"sLYy''3>&oޢ"Iuno,"94[bV>Ŋba$xlm|. y;Z:mIɶNY|&_J1FMf]g`o˙Wɔ2wlH_Ea%(IᶱJHR(lQXdC܅ӧ-z%/3I|*[AoߓoxhiPػw!0OGCȱw|äva+T yGL]7nپNX > .>S<7ȳ_EȄu!v:{}9 |QWD~0 ?R%}(NPD'wӶ>,//>w>j@uKqr m|&EU ?}9YYe~gWcޓww z+G;{GVqc!]`&ZzFS#:c8Mf|^#;s}j`0_/om]G_<_ȯ7?>VQ{Oīfq֖5صEUH.2dr&f ^O Q*@GeN>!@JNp\)dʮҰP=`}!)9#Tmߏ,ځLrP]9 G=D[Eޑ'/:܂_ ]w$W`6`­ CoqXRأkݣŋ9;vnƬ;%'R؃d׮ S~4Ez2vҫimY-L.ǵK$d`MB%C@4=wN7n:$V9u@uO=#N<7ʥJ[eI,lЇ=g/[KOJx/D < .@M*MK IS$4 N&B(&.t6̉r? ib}~ޚodu}ävRF?a%4k{ vlw y"zd߂}'_soq&;+'R^# 9U{Xp\ՈpFhLq|oȞwJ•wQM>yym Fn{ ga)01ے 1YߺDx˾1R^D6f;x'~Mu1S+H AxW;H^(> XjP@=hD:y\jkD'K+$w4 \TW @Sgc'؜9JrbxL0>`q{=$/?Yy;By9.3:,1ajqk;AK#@zlS4fS0iA2F5=߹.T;LfLx$!uBA^6 |Ͻ8ޏ䩻1ِcL?cʏ)|x*͓&dq SupCp}$3&Ż4 I96'0y:DP8#cslS*FGn,ZEsYĒ \b]”jҎl=~ba_B9_ Md ,b/S¢W &J ŽfB !fh<5;~ ߏ?}~yݘu/'[G`ĺ/N(c82ME]YYkgOZ)1!Liv"pJBo_*CEW;^^Aң vRi-03,5qXv)ZaG IDATvj:{X~HqR_^]ô;IfmҴfd{*'5̝I$(ь=Ԝ} {DŽ0Ł:D)]\X*RtHajq P\kȫJ/Μu91Ǯ׼l堟 ihvG}ujC`P!EQz$ |N /#IqbI>]#+,KMC jlHVlP<^u@-1<\Nih*LL2ga]XW<߇/ߡ<~yd3|&-RI>UY!W3.HJ*knG(58Uz)xylT4/a~/&Hkm1w/_<)L6܇”G.y$AyV Ii[I؜Nth3@j]ʞLHv6@*cbVqPFaUx*ߎ.:)eҗN:S`DM9ƞ[ hN@Ի{dP{4L}=PͿFM> 9ͫY`vSx w.V n&pAуu~ulqQWaU-ژiUWX=D!Eé7r౏iݬ4BwvyWU_VO5\' J@}~ڭXDL˴8nb!w-F5/H%z0i{k`K4^^39OŽ,"Hט1idfna}thk T}y8?j4 mmuCԈ҇Oe,xAὬBn`7aV^w4 !y, eQTe}'&&e~kTڠh£5S=·fTjH::a}A]||n?25]09[ƚA]oYWg8#/D]<>#0:%^INV }yz 6a[eɣtt`i3eh»5&~Q`M>Źp/~B>T3m u52Ö7\yF% ^=2PaE݆R8![y& rf8h-<+p0:TL_|X5$e`tMasQ<}p T۝B!}sUr)LsQ|Re vmsAט^ŝ}K̇P؀}Ut}t"} wf׾@:%)\(rsظE!ui~(ZS'T?fi6MYWa+!^ׂaEjaI3mFefLr*Rv- 1|33N$0E7m]Q67Ʉ ӥ]zYyKY+z7; ̃Se 6z[jsgpQwDI}O+ClzlUh4 {xu.j"6&L zO1龟֬Ri{ds Ej) QsU&H8=DB iSorzV{<CvJ%K5 @0A&'b9󓼟 q,ajrs=l#?^j7׍K@'5|&fŃViY`؃='9Oin^i[u!1n[4=,4Ip>k- sdE/mHRh{?t/SOc9J4(L\7?{Q10O ]k00һ.'L)(@׿؊Rؑw\3ⵐA'"ϧn+FMHip'h8qUOAvW;p`^e:yV#tl=RFeb k'^;UST_8SGzguSؘN~{)oT>I^E`a`y%PW-h6L+A~ 8=.Z46׿|7*P'U "MR:ϮYlC+iV o$8?ϊeUsfY%\27@8V wo#1_V(L|:zMeY7i40I*_}5 tAܜ )KS>drdŕ^-7-e{2C9xy`Xe=$r0Qq/́b`&TKWr|pJi[~KNf}*8M }ݾB?fݿu C IcF0fs7Hƅ Xifz ncNrHpRAR\А^Qw4rn+:Z+ "\0HX& u5BL&=κPf|VaRيWeԵ&dYCy~v!p!ncL1)0l%]X1(00ԝQg\huNz(TU8em'FBѮ9>^炙|ky]Vxc'lM5TFIͅn]~ i .:Sy#6mѭ1=Bn ;yF[*|Nd`l=ZIrӸt5]yngՠ x4VijC4<:sRhӁulx^r!|CpPmnVašjzIxX xAh5] d1meO ]3y~à8'qߣImRix-Ur*[ÒJhڤyNdp=v~pyJP PFp;{ˬOs.)v }ѩ{9N4U9pPΫ 94$yQϯr^‰d@z+pC*}A'dj5m#'/3% 83# y/n]/h|^~GjN^ReD9tˎd;\t4!UM͐:!2Y95Fյ j@!<\m kѠxXj839 b_Eg2{k׽,Ej[&=w0EW g<~ 5X<,4 FӢ )wx ӑ:>Q`pI\Ex=aN{CK72|ygݢqsGhPK`:E%4zpN z&u}e:vCHkNV/n3"kO}zh ẖFT"Un=OwASn8ӾFV؟*<Yf3jӕ8g`ܑ=>ųl4YAp~9Y": ۓ*Z(6T>@Mq?qCJc셁c)B43d.A+/O񧐕x7e`h%BZ _M$=v!h\w'L}>k) :|cp y0 #IT\58~r(I;EFx1VE Mjhi^YbGXv.QC4^9燧Йw gPݲtxLcp\l?XY'E~1F`jʪАPtԨRM~1ne eBS63n_\Ưd|^G<T8tQ,LM GD3=:ڠ!8WjAkIR,}2 9=ӕ2]_(zF(򕤥c5BneF(>  z&L4^qbJ⤑5-dLzX6wu_NG8:9zu@"khxi (&mgHvV]t5ldGKlk7>ME hOos 'RNhB4$0󕡯;ukS=]w`~}M>VDөj'X 3MSp4XZ@{1bkkNIvnɎ[ qavA>Aϥv@Cv'8)S34% (mbNڧKqHxWկ^? J)ǁu@?=A^F$h*kS۬W:(q~=[iаsc3o= Jx}EtK`&rcV&~ʂlyXF_!z_k3; HT2& ukbUu (h<C(ޞ_ )><*vHۂ; jxQ4'AԦ0Aq{Q!N%;4BXGdV !`ې"!75 ݫ2 AcMM4Fx~:!oM9{osB0nה1 O>'$N㱆+í; D"悭VF;Lv.,?W)]!2?Zyݩ#Y$`LEɻL]&Mi7E 9ЏjZ;U-_ݡX|%Mz3P"[vvIozVl >C4")eEA& ;[$7l3FwAjk$J?0cѬGtL Y R =s5'H%VT{^ˊ7Hyo-Ώ {f*?4UFƎEvXt"[! _eWtrbjag;>:ݨ Trq<%h Ґ>|=QȄĩ"$r hmYgѨPM7%㶘QNGƻ ]998Ec0pHX j"\F)kOeZo[1ĉ;'FJSX~#`{T44h=Ќ> ˬY8U $b&\p>ʎ@W$ۜ?=oi~\GpFiF\@2pXeؾmh Zj=}8u E&`6nn4&rA65;yLb $:w>h&MLs:!/H .Z#C{L^}P%!Jix7h+Wم@Q8/u楈>?_u~g1PNzF-0V VXlB֡6.L7f}B8̈́cLu:CAfJƔq^K>x7ٝF0P8uf K/jA ,n՜~iM E88f,rPmh䷕|Dž}O퐕QIdR VC58TB-4 &)̚rM5B||Fw|gЭI_KL9jxL#%t]`mJ՜3s$Kvc![,mGMֺyCLL%=WCs9qJg[iSZZ8>y@{6A B%pEIPCxȻ0ȧ4 Q4$2 ihPeIjꣿY . MWU>}票u8.&]VPŃ HVNðkӝ8`k{y`b@Ą(f o%ϵҢx)A&v;ӬHY`#,ϢaL=2Q)9(^%PpۧA,MV8shqc|$ _BJ$:E r.>2J.@*^+A "ۆ}|My9rɩ]@|xO>Ή5"saFo"! IDAT͊L Av߹**ʓ?>;kx uCtjA+sQtUqʬ|4a~ 6huQl;rM? 0Z$$ZnXMA`A ¹Sbi$*@m^ne] }/u up?wtLO75 BBՍ:^7Kג3 y(ΐGu!}e!.'D:Pkb]AZB_-G/H9`E>]$SRnR2?d7pfrbNr9.GcRҥߓȩ^GwG"f73!ЩLKҌͪ]tݯ?>YE[]3߽` 䯨-g޲/|X̢S´o}SLo 4;a>8Pq ] BP""P!8>0-)^%4[+{E]Lov?@yeag _rpƈj4p}Mv4m3'syn͡勲MfۖY /H"X%'qli7qAYr-@T>'ǣCc%F1ܧQ_P}4AJYD HyȎĐ>}zk 8@+b> RxlJL`a)gI# @h>΋(Rm>s`7I#D#Ʈ];| O0C, C>_ г0fHe{E㭦@Kp/H4=Ӭh!aKF{*!]rhayU?/no6>#w#]}ƅ`GOe^iǢԁmEͥ ; <~UZ\dc2 r6'dD œ^<ҠbX=F.H4&>DﵿO`MEZ2Հץx LR8h6Q$kj`"4?{yKfMG?bXj,z[LkLb0{0){ ހ9űz0 hЉPYoau\flI&_<!uQ]_gd2-Qe.Nl Tp00h+`p"$ pDe  ow%£(Xd:,` l{ڗivj7 a.&gzU"idlIȞy ؟9 F?ZNCS`aQ8ڧ&_'N-4r6,pm߽,̤I::I@\S pr:>5Y NSV]/GizS25<]~yj DQBw1K fcMI _]zxo rFT4b (NR iܶΰS~j)i`Mf(qrNdVp,( _s#?&+ʌf/{!duU(N%t:}v5WTY.\TܚBC Նml<VSFeBZ'c>S|nZcbBI:w%>n4>fܡ09)6(7ӝts jMQvfjQdon`<Ǵ?<_#V:Y_G!<@ލHbh#;9$:{^{gV8t+1hRor&Pdꗧ[@u0־x=4wUD&'N/2603#"1}I@+bO@+l2M)L8tFmѸFd@6oRHI\A#X^0pX8\0i fePu(r;uFNF0Gnvp[&_ Hژ%hDz R-^i|Wٝƫ&{J ]&QAuU!/Ál_Ib !X'yRAcqf6gM7x$REiZh@9օLqHN5Ӎj]51>EG~LnvUBPpJ; q4%݋K@b/f;kLZ72 : ِ iH~z<9T7tD1Jy; Rq+\`W/=)ϥ:ecv0&^9 쇭1g2nqb?5GsmoM5G,눕o[69&q\x0@'fedyv]986&Ucx- Tt}4I晑(޷(A5;y8H)u2 }C*5<~V8W7ol4M aG5 AFQn_p3phRTkR903D %vj4w:rX4pĂ# <( <A2L NQ!wрץu ekuW 68r}9\W降 h }ݾB?f]A}F^oBzsفJŽBLxjdY~'q_?&`_kJ4;wB|WarQ˒ دP yT#(B;`2?`*q:'uEDjSYF'ӰQF\ɥ7zQaFfnZ3s7>QO~Z] &lQnP!n0>`OH2)CgT8Ѹl o|E>r-BV5琒A*CpJBNdRjj|_9^g5ri -iD%\KoH㕴.IH$8Q+Д`-)Goؿ>iv~",_w0Fi.W3JGh8(P7~f3h|mzƐi>0 3 qq}mFM#5#dhLK1?1i%1Q3;r9ɏzE KV| kfNE 3j{;5WQ,cwAP<i/.$n*tWܯ؛f,ZN8+}'i^fU6g$HBҔ@"䱿x&MnuDzt,#]_W]>G`|#`1ySAg:!P]2)B_I"ka"頞ޓCr)n>mugo DživmyM&(nQ\%|տx驝P+6Epw< J';Ւ/Ʉ|uF,fsFou8YQVAj-GEaѾ\'l3PhGS@%n Z1d7оIRO"fX][)s=}|75zz69S.@G5@% #!d, pCxϯccEο9 \&v+׎#U=?a _SuZȇېD0D)?q,R2-'Mzh[ G5Jѝ*ӄ`ePpkf$@X_]g_wwH4_'OdNix]+L^|yİ_@YǏ!BІpբB diks qW(=RxOAEbnV՗h*G?m쀣MeBt uAv/Y1 9A 54|%&'B{TPYYD+Ix.2ЦL!$яeca9EJEbGc5RtQ.#uP߅2||r^6qC 'Cib L h󫛒<~'M!{v!|1y@e5C$4E\]1ytMw+ h| }33X%k<NLNlAb {o^T|VE>>~UF8ݜS3܆1kcCPmTQAc Į2!k5tqOփ 7aL~X$l y w"=J^KkDJቫA'铘Uk>~,x/=KWHm^04*S'ٻcM[cVBp1c^*1Mr/{MSEKH|$[s)$R17InFƃ&|q X =$Zl{7)v]`;!`!U98n?6E!s0%ClןnH$BÅ [^M} n&P "r @TCI5(v5̋ؿ![Kc}blfrwq0V oew^.0F:7sŻ(n*! 9vLYݢt#.454S`?0TAMi粜Kk?HMoJgF'=l@|:h_r.|Ay0܃`ED_n9cK\mXYLO!$ Nc5=quK";E,62ns5z*y}P=vZ&P8RgIȚ^ i,3(^| oyܙJKlYD__@QƄSeHpta O׍|e4vA.n PZצ`cPvg ==l"kd8; dQIs>2#dE#LB@=fnx#hЏ嵸+>brdo ?-(}4SLvt6(hׂ~+"tnΠvh)_o7B,_M+Շ|{>uCbǓ(KrR^A>gMa[k.ՎKa[W +!-0Ŀ`!By8- ̑܇uUC%.4N͢8 ? {7% )P!V+Jz#U\x⋰iggI|#FaOf"˳R0wDv'$Q_3}\.S Wc7܉%xHzkZizb?DZXF NS(4˾Nl11¨GB,q)xgVwSِD-d( dA&+vR\uRSDLNqKvIcL] kSIʛk1 iI ofmMllo-?7[yhG?ZeAV7;x.ƻL H]>)#}5[~}Qm%pHh1)ǽ YMs'O~4|r|E C,)nzmyAL@)Ǧr3Seߞ<4R9@\VrXaW~ÜjxZ(C '#H6 %bY$$oB`d8N2w.9nqXɅ:Q4 0r?W<9v4cfL@EB!oY3T`UW ʩB$ VFCR?E OZH"$1H S 5l@ɀ!dC[vu&Q4c!ui 9%9x$ i]J{2DgHg(Gṕ$o F, u{8!uT, P(/<}9h >)0+%wG 8aF'.LVⶈK^ZbF"pGVoZ[ULjT,ֽ,^N-xj\{OZ'ts?DgNWiWF ΡIdIcvR335ktk5ki6phCupT~Mkp 1vj7MCcs=y.IDAT:WK?3ZCtV"EiMyܰSey3ryY>u>InIvǪDCS4q g ➷l8@,`UJR8b+ęD4miuO>z{CN/܂SN‰EI LN?dI1SWgn ?uEH)i>38׳M|XnU%v ؑc %dAm>k2vZ4.3iX#i"gsCԹ9ЛTe@$1NuH1;v/k8Ȳwً,BX-tdt>ϴ ~HG&rmj4p%HifM &%܆<OTm~SSo yڸߐn[j2D`(džqu }x:;~xqh]?@jœE`j'JhZogLX*ږk(>:j<هv @8`B;ثژzLi4DmN0yZN{&d*I\04(MH^=.lLO,H>^t7l1 sp3|~daktt56mFw< wPȁy#s$ϿoR\[=lZ 1׭U@Cppc!5eo@ڄ ^Ȁ.vV3B4q{󬾑)V[&mO{N=p4 (E܉~;cGΡ:DX{lG9s"Ŋ aљdÏoLBUMFp`?Wя 78YyQsY֟>omhmޘ1qS}vDAm,(:1v^LtQW-3f[Klzlwe/K_.'8 ;㗥;ژ̮9S JL9)ˎ. H,oyP*1(˕Ucf4gbhShțۚ0Y@<(?"Kwr_إge /ˮ! o)8@&WvdBmQXz9%擬wʜmA?iM$TgttE̟} :WSR:6oϹMoムؐ]x+<P 5 ҕ\.v&X g1lysP~ĺ9]1z ?/{}aOMFfcĸ@ Zcqf22Uzx۷Q/o'#@|@2fkGN |l0a| I&JT4sJw֙ ')@vMw l*XZ-&o1{1Q1{EiXƩS5erFk0߼⏴jq~J021#GtUe{f9k9+ @A͛7<} ӫv켵xSOE0*O d2vMs͒-2_>Wָ(ݯC0)@GKŀ^g>UIϋ{-8YۙҰ-v׮Qpυd‰0,{mֲj}\GZi#׫RO0ɮRcՏ70 3fj:jM蘢19 8(B_3brOkN&QLk63}V 5 BP=E\|Dӡu ~ P!nCSh_cW;z7$2%;2; {s#v}J^J 2bwN.^YY[]cEu#tmuUaWaca찅 lz4$ mC`$?9Moz,FR40}#{3L+p\o$ Xz>]rdH[HȔMVIPfo?"O`\xJP cf&(Lenc =c+=\1)9Da^;Zs m jT⦚e,bn]?'&[:og~)>˵[嬢mqLV#*G7O1WZE3Y{^s.skXH[ޟYQP% zm]g?^qDƥG!*FG95oC/m*^Ň)dr*{{Ln`;ZIy C$"Ryb~4 [+/SSܑ!+էF[}RKp 8 >&o uo/-X\Gs?Cg-q 萏Qݑ5l9bEY7)x/0l%Px76/ֶ.$wq hq:W[Dw%Sk0!sUnF671}:$.)yn)6;2(Lf&7h*T )%SkU`O4 Q|jIȩ~04]4;e! {$[{_3$? Y$H]ĪG&q,w"UJ   |ݾe~xQ5xkL. T< ^7'!Gw$Ȅis׀P70ᐼo֋Xz%Kpi=g۹p/&իa+H暰u ;yKrf*BhyzjyU~lƣLToc&GHۮ)#ot9o1acjylSGzϾGM>YPYq&4Vӡ6:yLBFao;W"+?.+X 2'|m}2fǟe* vY!ݢ v/ʓ#P68'Sp [J~`%P|LRjA'1>%1 1N4 4"aݯHsﰾMcE8\|uݝnʎݹRn|LHN v0q|ވaO.=B2րS> 8]aYI1Sb'/-@ݻ! yly p ~I°o6rڦU 7Ep za͎}bv(!O[b~ _D-ボ8'^IG}d'u?uDm&KF$%$_\CWNSƬ?~ـ-9+m|mǔ5`rbb*9F:%uJ6 zPgy[SU`e8VQ-in0ѴnwJrPʂPhh2) c(.^2jcE m1ץ ߼[m#uh9b߼`,OUs!9%}—eSHOqRoO0cJw p>yv}euL͎ɮȴvwI4ٕ\ ;|]u3ri^U$e=#!m|H Ddfz6~I"Y`j챫Εrs)XRߞؕ$k !Q6v.-DåaDrLJ ;k z ԉsܮ /4cu|I AqփgoBNFf IvX La!жHޫci'c?ϠfҰ@ڃ!gMSc@%7ru2a> "g6A"+g9-m:'tO3> ͦ<5sr'VD~;?))'q\CQ] Č1`2jкSLU m3 _OKgѸ`~cmD./B Ff/o:!M: 7Ze_?{B.l#xII|3Bm@ʢǀeo)G8*Q3yNX9s=7h5s[x͏y.C0%}ajw ! ympoZ\-WLO~ $=yj6y`d[y'PIasb@n I->aN|P`|uN8$!yS(+:hw@wOPW,Mecs 34[Vz5OraϿ.8:X`P}vO`ND"wPErGɛ/OϳGQ$ @$L&eˬbo g(L`_|HBY~<5]ÀFc4DvC8&A4nj]sV,޾] $tD&V[2aGڈ&1<(Ѯ_eQ$Jj?L3tK_y1kr̔  ڕ ^5Lz:W;D.+'gAVN&Uk]>na 1|M!_Џ#0>/ڡZL^$]bgᒱ5Udy.?7RwIHҐ#e& P OEWJ hO7}L?VGoYmߌVVqV:nZ 99SPGqmnU(_;(iҤ$mJcufʀ.u5"qF]+ A|md@*#ATTjai&Mȣi>vi}߽-INIosns^?D.ُ ߸f6m2flk]mszcj+L<7Blu2<"Rs~-͛?s[3猃YdoϐDxPΝo*/\( Qpz"1)JPmL^neD)ރ콟K%Y`{qhDVP𻉬+Ql_8:vd^Ck%syBH+/ذcVڢ B'bޯt9x}}0 QXǩe`wHB5IV/#{h8vPc48 <=j}Ա7pJc!z:"}fuό f25F=DT.ǘC.L# Vmk@\tP Yi J=sNTqE;{F] PIktVpT²d ڹ#Eb1U'AH'}dlBř&`ikk9 ̨?z H._Ξ/H[W=&uv6wV'!o#EmѮ ɗd 1&0A6l_R#d*YiMM8ȧ[uz^71 6&q/yFc^< nT.A#KW۞y׳v^79QL%ȼw7`:4>M{. usͺn?ܮ IoG ÑpgOSYNi$">E|y$?V>e?̂wRg&ĵ#I;"R>":wv&m׶DzC.WO$FJBD-Eޥ#9>#%|NwW,C&Acn3܇O;KL#PQ, sP#0| ^Wu*~5:}RWdzl ]B>@Q>9b0 SI 'G-I^\HJdޜ, ߑåF6ZFI轐~'~iGJ9&gsaח(dQ2e-S!+#)tnvN?>Ddr^A?a@$|}g( <7h B8qP?"xLMd_SW!p~[C#t_0k&mE@PEm("40jxsui"(zFG2ju7:tϛfs5Ms7B}eޔ4u|Y޿o[BW("Do֥*"4jouŊ"(MU3MPE@PCYUUW("X/x,\4IENDB`* h;hj_Vx|uL_6R;)nenuqȶhqwww](lE;ŭ8~={99d2'=יIDaySA^Z͛" ?  BIN <Ut7Y9$=TdޯRb 6I'"rqrv|#nmimEciG-7 ھ+~ C]uP7oq~b^h Zr1{hIKь߫1p:u:Y(?.'Y]%+ %tux^LG}NFD$֘^Otɛ?l '-!!ەzq<[wa69;3AX_.VTى?@  o  H+5/O'8a%ޏ6m^\nx4[p%Ѷm۞`b۶mؓd≭m6n?Twꪮs>;ZIA  IK`F ,R$8 ]r_x>@PNG  IHDR^d=3sRGB pHYs  tIME 3|D\ nxLct&QӮc۶m;@gc 7:K8c~-]~"aQOt<{Ib!(BBi. Vr(;#Tk"p0 @ů[k!hDMgSEڈ)]a$[6nR}2ˍ1 \3Z &EVPyJhYkRJaeR X]*),n}ܟlRw%DWTߣx@]; 3x`QDH;siN1BO\W.~ +[_w.lxſ޺ K0wxO,FG.ugu6Od<yUIhy%v_Y&ƅ4-Miq~m%%sbuSA\i^yUO % ;psG?@U .Ur{&tKM 4'L(R> ^V!WZl+b20ST J8@B9T5N &c >d(ǢP\譬2(Br\*29F@@cFHZ-aq4QLHH U4q#6XV5i "Pvit_to@i,F+'K'v=rJ>YEI+TTY]eH(6>i>Tv>;Sn@,P+_L,9 A0֌re!&wB z@-ZDҩ8&RHδ{@!X "9-;";ܻ=Y}rv}<[ ;g "D 8BZ(,~+j t|J7S'G|ß]ٺU)?.t+&K~?GhՊ)JcE6k[hĕ HBg/\<4%b}atZwWYQ i8^~qI,$[@rg s:6̝Š̋z_'6" Hk#SߊMK˝ÝI/!@%v\u.5C TBCR+/6 son?v: QJԿq\iREJX~ng!":Fd@(RH"slP 8£U0B+{ڭTwKHq53֬p k_hؽ${@G8;k n3PDD䔵ɹ0ax-oͻt[mx/b2|A%E$(W⤝g(2Zk%!(B.P TL!d4ZyfP(B* ~RgIlKV++ McrOXXRWB.E2A 9 8 7ZPyM@,g?__J'C?ӃS_އ?ȴpwOB(Skh eqǎt8OӜExscg<<[kkX) kz؀7uԞH*TcՑ/N9=*Z,S=5d -i#nE @ yjyY)8R!IZyY @Θ4 aUծ@w1"(D&HE=ueX췿8<]k+CE6V\Qdk2> 03( 5!* "FSXa/t3"KBYi"#Bh#mQUQ5FCx&³/y ?+4UD,&" v}hLRyx'k4wO&ɥ֥^"R_쮮@?*]-NAdMƏ<ÛJZ7Ej[ :eƹr*>P+ ~ k@SDJ?IڿE^H3:$&`A*K&@AF"߭Aas.) # CH(0+",PӠ uE$Vx’k PAXEaiITIA.w_7PwbvRGVcx4*x/Hm-+g/rR E0`Eg$(G\ǭ5 Y|VnEjT}uO<AHALԤXKɒ. (J&}}+ϯgEF:8B."B!T0 f{JnRWv@*} v )鮖EV'IIP'\Z`t1"\X"q{D@s=BcY, K[m Q H3(BQ ZKEA%Y$nyJ\kA"3@U dЊEj> V|39hWdk+|?~8aku|6Ng^ᄆriRn^[IhρILͨ};n]X\Nxy9J3R7/ )d5d դ|#YP9` 0'j#⒪*T'Wt,w[׶Kp@!*/eN :&*bF]Ś  `'+]]I&ZT}λ[j#ƭթ%ջke((bZ"|to/YVfG-yLL`[t4mR 1VJD,">xhW:u.2Fhk yDDD t\LՍFf7te#̳lMhjN5g$,ߟxFVxNT,4b.! C1&*!x߯cZTCsݥn>4 EG{JQgiE}*]3 cX{VDCG82V@i3_Gc#c[ |Ab((>0P9Uoyq*Ys&K0+y\Tk;x݆SAeU=W,SXyflۚRRkF#\lj-wmE/'V'g괻+̻ģ[]=iE6DZ)2,dɰWut~W~4n\ܼ0xggY ѤPiY&´4! 75zì bݗ @HPx6 `UA_5'i)3k4" )PW9/_JN\ ^8Tj $T{M@,(<8pIG QI9Y5 pAs&_D`Dy᭻__'CZdF#IڽN/iwȐ"ΡNq̾ZlfP+5sy;imH)"$ 6TZy\U kŖѳ &:1L@^zJD6.|'ssIӻ_'v5rU jBS(Ahbap.Q4/~z~Xs,уiFTWnOk$"(AVbA4*]ҷm+ҢRVkKJ!"  At""Ie犠\0V)V MDڱ}U'!xN'KDyv9 WHx% ( @DK ܄S{aۍ F;wǓ z;w*G?#vig9Oo+AڥK}i}dp$+W/|`;y绿_Z(\Yȧ߼YZJ'ڙ۷;ʵzۋ/ )5jEuYEgWs>U8QӃPmpFsa:+޸}hzhA:9k_w.yV U 5bjEa`9]qWUn: VDfQ$VA'R$a;֠OYm: Jj hj: :CXwx3G?'>cc"swlVcci]9:)EZ)vgMZl鵕Zka$$*giiS;Vr@ D炯{c,DT\H 犤J)m@ؕl>Y+AG'D}<"i E㡤Ap+pnTL Y*! QYZ X@뼫f瞳^EѼV/0gW ( 'ǡHIv@s^P:k JH1"aȦDJ[Q"A,0m BHJ|;d!畎lH,fyɁwZk9 [n \1Y|r?{VݥSfpFz4R("Df B:"鬀pҒy*),]k,蛯=k&.~SYmO(iΕEko/n9w[{?Y[)Y9ivv_wk+mNԭۃ^{d <|AqxT^("9[W]M;N79Q uҍٹ;<ػRYnoyw")4 [/~7;L~_~jQ@,0PZӺU\-0wrd/ D&Ӌ7-;ؾ9WPuW9]T |(xM|s>/K{D)|l\)i$Zm5Is(2nsuc`8I'#3_8I$F R!^HB8@XlsJc ~Y %0+R B]ZV }`/ i}mj 6xf=˼+^CMOXm (6RYhA p4b#{ry"Kk'$I`o;-Q[FPAV*2ւF"ljs!QdYDKٲLޕZI,$:'`QQJDkAF4ǥ"Έ|+vD80#^̄@#(@> QD._ڊha7 ]AЈ 꾻r"j. @ 4"T,C,N!ԧn*>|Dy}qe"-t6*TG%߱J<<~k[o?Gb dzן;Vo5xO6~<}tg^ ,/u 'ER)&eޱp3vݍ:/ʢ%QZEy/~?CϼlD+OM&O|O_~Wzyq6'09ͶC<bM@2pA-qN/i/wkV:Fn~8REA^(Sْ4& Lfkُ|Ay:I4[0?W~)YΛwn?~޻^Zf'?mJQ$♀R/VX] SU53ԫ\''S!Λ|;Xo|_: yzB…~XD4!0 I,0,4^y,+OUB @42 NZAWNhFħFta#H1_ïr#돬n4{9>=glcr"(ƀ6ڕ>M %]g  rf[ y\QfQZeaYd"3;W@AFYPg2f99t26:a<Zu+/nwyfGDSOnBij>@u¾RSbe9]gq`pJU\h"հL&`2t$JhA07%gRyE"#FD5hc}Y8>*0c&.0 j4f}9+Y6uzxG? xf曥ȋ,@Z jM)z7_x[n>^w>c_"RԈT&f Ŋ. @@V?Qڴj xŭ5HmTNdD%D.4 (%{k]Y$%x׊i^ {2i2˳EJ׏P9Dq+0 T]4&t̼5cA5(5`YT4<&8Bddve>Q IG*·V+U;e#\'HԉejTTjBj83߾*M|CZ ;4BԹNT^f"gؗAƕʚj_A5;wY&$P"qEM@ASڸҗL8xa zW pAأJ٤R aii%/b.\9&L!8G̉! EZDP 0 K2 sE"]CI:hyq|p7 mŭ2$GwFλ˝V:vݾsA"Tw]Rd w3md* }:@@DV BQ% sλODdp](qdHS MtF Py ZKi2y_ OIQF; MC37T@7oъKW?Yw7?٭՝Nww'NvGe>6 '٠ĻKk `YpA̹vj pRzzv5T"nKtt2b)/_y>Iuye3${Y1Y^~/>_Ϳ8y'sl-;CjptT<ۗz1-tTlNh^fouk+<b:˯z^~.'?se*/_/*SjM</̠8:d[>]!Eʑ.I%ڶ}qsΕEltΆcvY"ŌgjJ,A"Mn0!j LHs(6-`0WYi MY!֤px蜘A@)FSff'nW*,b: RLa .fvB `2"hJ*?* =GkT\γi@kڭd$hZ1Blw./n+M@Ds֨ЙHG1,J©9i Y+?>Ҳ( g2}.@qs\FCEl'VաHc˔|j90_Yl !I!z9ṞrX uwC{ N[5GG0nu95ME ػ8N:%ծ{ y{@/{̬(ejň^ prZβ& [e: I1$IK<6:7V+ QHUzoO@| O=- -( Z[v4<8ܫU3%Nl<ERIQ2=~imm뉬u)/~Z@hozҝ2vȇKUziծIVdO,w&)r_8XNu%uR\˽0;|tpMۯfpYDcO擨z='CuѴ86Ӊ35#w|7/DR-FPy{4SX P_szt|<αLh+E9.л}}/n2D"P,ȡ{Zk9=s.D+R*^`80fWYs]DB{!D7eYx/IeYy"ؤ# qEmMSiqd+ ꯐTs5bB,hdŔ+4֒jxEQ̢|9!y=iq\œ`f:",IZ.=܊өRi "a}j",2NsYRCd , #f@PQXbiXZ]Hc_d@"⊴B(2ɗ.!V 5 3 ,sNY"tɅKR/@\1,.ʽu/ jMӻxbG 3%P AHsp!a@.db0׎zs(2DW FfV&+~6T,NߙNRA-!KJ.@Ѕ M$ncAԉi6ͪ Z DZk7_KBVg7r/ ;K[';w?~o$kkC:Syv^fuwFZzIdSwUQ'ɀ4 m +e͕ ?nB52jҋմ7\kw;6] olOȥY7 F~ Tδ ߽qyo_R֥旿t>űhcA"l V{{\ҷ_J{9ɍΏIn]F|g>?x|yZ7?Ꮧac]~KO}wKo}RQp˪n|Og^Z[M7}տO~(i9(턝 Hjג"ǝg}ŃՃi&B*ˋ斈< H1Q553iW>HYBD^yF3J4>@ FN "@HCacmf6A) <"kJ`^IP n8ɜb$hcs@2"tuFҼHJzvSUz~S2Mn Ԫ%J"5d5F%fRvɕPcD{RY`$:NZUdMl6WW9`iI KV, 9.F& Fa>xGsX}1ey>C!2 RQg H\N7/ HAؕE>$Wd zT1G\yCvlZ@RE^"H F |4mێhQHU"E(gE!vw%Lhly ߋTuUMDJ )-,.FYvXIdB$X=CbmĭnMƣAp(4Vq6L&cQ]Оt2݉"Ŝs _4<#3kE8Vf!1Uu`‚ADW<泉w^6 Njl9:^ TdNp.xNw(tߌlE^9޽y|}VOq )F;jleirf32[Z/\OI뵟{Mpyyg?'~__n8΃E[|`DN BB6}?>yyePj{7 rYݺiO}_D`\NPGphu>4h=1H+jx+W6ׇedxa `[_PSҟ/}߿ȵkk/=_Pv2@~5oyշehv}lmu#I80wedcp wVqg`VTVFju:ÓI:2eFQ(e(a:}_Lj^@Fh4M>89ʲ5:#jz/̵MN .ׄ, G@EP#|f# A&]+e鐔2Q{R읱Qό)e|\PE3"R A`W{FUs)"ƽ( tVDi/a'D "ZQ HEYdMD9gf/Zц`7(Y^Zj2# i[{VewCiqbLh8Ba\PX-f6Zwd6MOK{u@DQOyj@WIg)N!/rWf'A,>!("+cu>˚00K=QqZm:H:UCwy,~vh;`DZOv{IB'@0>4hK/|T7k_lm "M̲խヷ't[C[Da2/m>O(簷no=ajvzpw&eWj>ejRRI.0+lW` jde U J@ 2LeNLa{w#g{iۯu;_K?3<:k+ǫjV|;ު9by_=3Ž@}(ή\~/>;O+f&9c2Ej{UDS+""MT4UYzqzpogd2|79Dtg`m ϴ$,B}،}[TćK:|yg㩚ż(BC@.Q\nȼ\8vg'}߭ "D1MjqbՈ̦9h9+Q: ZNΝ.ߣwnZXr2KR$3XFp,N?I}h '&(z4atQ"j̙1w0̠ӍUY$/ww.G"9⤬e}T&E=ލjkkx9_&֮NUȁAJQ޽^^t.pD?zY7C(]LYnj}Y 4wԩI &^ܗj y蚪`M}Ʀn< }4 ZE; f]fݬαa]ׇb߈XY`JIǓ]U>NGϦ3gh/}skҬ+EW6/%ih{KGMd{7y+)ŁN~4f^V|9j{'5A~ɏ,__ rq'Gw^ "wCPic৯_;DXa̚g^|o2Qն䋋[w@4&;.ʂ]ׯ]|KD.a"QōG}կmxou[u9kiQ痮\~/i1U מgW.kA޺o{^IFYF*o|_(G#f:òڽr6\Wk;y_Cm|zG&'_֍7^&1~0$'KYr/I$ƔMɲ+F^$f"oW1HB† 2G;.Y]};qbMe<9j/sֺ.4٪YiN!8Gz_iʕkѸ*KvUC uIDMc̉)Ljm׈FA%eT~2ͦLE5ќvIv}Z䣓,砆A;Q0E&6ӲT̔z4 IDAT6v`s)9ߩަ,1,}̩ $!k"F$h9&p^9v"!¹"do9ǫűo/B 뛮Y ;E ju,ƌIrĔҹ8HM`1*ĜBr6>aSޘU{{Դ<)vu:{x'>/=Uӎ+;xmuվ._+kޝ(O$asFrq+iy8=8\;XO&Ӯ/ڬ6Y=}/3z'~0cдnTlWknc<&|pp(,v?//'ewph(y o}i}xLַ5 mD@L%|o+;{Oo/^J$+_핣x|v>|=ĸ\w]5\OyZz̳~xֽ&W[Eg5ޥy˓|O-9v e5i._sօbEdbrSR]O9g[9erjrLUR̔XD/ڮFU%@C"H)**+__9_@%$R8) >k"rD'g'wvXMM)ݽs܉  WJ4\^$#(?#Sw BC\j-@U(;V`̹4z9NRCf$$NUۮcDR>Oɕ.ޅЙfԣNM[%.Ũѭy+ML-~,U9'u @}ߍ cS~\r)o90I"9hV8 0"bv*Ğ\"EQ :G(㜳ЯCl1EeL-*CL뛲,TTQը(*3]{[[CC9( gӶdɒəsZAY@H"YrYẅiQrsH<#6 S9zRLL}"OZIja=.l\M1)e0%vSLRlmحљX߮6j{]v2, O1+P[ZDGDChb63,fq<38|ZW|}:_^kZbW]vtǵA_94Sպ58zw>;]˰>k4NY89$?]ϏU5qu{pPlN-W?3O&vv-}x2ԭ#cWl2hݵo||.I?2 P}w>;4U}—?s1#~|[VYɼbz`t?ԧ֨شoxyfwɍ݃_,ܽ̄ʋ^N@3sϣ~wx4>zSn~] ^R-v/lTbAr7t_Ὼsf> }{XCSJWŘC@!_9jRH)wفi FլY}RVUuW#svuB)!"#3!NO5ֈx6eNFUș sԮW9sE"d4!fvjJVLk4XOz6ٌOa勚!g14 nާ{|B^eA`c MSU5""a9Q@JU4)l0s9 '9PӲ2v[[.s]MrjL# slbB|t"SJUb 7Q$9(!%d4u) T%1. Irn3j rR@ fSG")1;Kyvթ[(3S s1UjB]}:v Ck1e1v$){a= @arj@NGDSq< cS[.F#L!G˨C|,'ɚ Rf>1c}_^MM >|%xƐE$G-<К/,EL̬Dt\܇*Ftc"m(h Z ˶oSq 9=;r~gщcp aIia2qh~לֳӃ`ZN8z;fc4IB(^Bp"DY mQrU*;)c>CgpxΕb13ٹ?FnA??k鮄ӓ|y::<]zŝúpI}]eس?967ҡ34 Zz_3&?ӿ/;/>'}lݥiN/^z}Szz+_:Wb7<[u[3l8iVo#pzxg%Ϟzaܭ$oܾ"g=Xb增NƳQ؅qQ@h6d_޺7̧aMɄ%ϒ$/L. i5d4="8c6C̡֮09yff'*0!cSE <Q8E=DYC"v9&C;9&*rxx<냣X'yQTTuASlYrj@EŘrjZTl;?+./߸ WL[>tf^>x¥>+%_'ٽ 7@EQ>wR66ks<4e1sJGbbqezjAR=k/g~U~z/_/,Nc谬K:l~W~婧/Lմj ι. 3 3$$mFݐf)g&R3UCDb f$tf}3&fFfo)@D TUU0Я/Q];5@!;TKbu_s@*+;FCD5C$ViQV޹E4C&,KH`QyӜ5][2jĮ*h@FADC ,ifӓÃo%J"YyM۶[o߹5XQTCC<%E -KvΫ* b$b$ȞrnxY@~d`z._Tc*<y K$6ِRuj2r~RFT IT#{DBʒއ;DŽĄ` <шUϑ!E芔ڡnΕy4hʝH&*s (Yts|f$›/ :ar|rrp0x^",C#y^'7V|9dz`A=h+jLeHBp78tF rfh<^X8b3UӢ9ʺk4Ijcӡ »tp7*JJobҝͪ툰|zpQm ٶodA)P3^y/|LxT*"Q6b5̟|CkJG=R뎺좸ݽfן'u-rYOZus~i޸ݮ{9_~6w^VY?_O֧.]vvn|{2B-}70MmJq ]5ݺ|[`jijY׿/p.^8|;5gGgx<ܧ㇀܇?͏LѯʓO>_S_VcU-@@cJM 1BJL LU7lU!#4#A8kf(9! s+J1+9Dؠg`">j)gQI)QUϐ(ވU!J"tOʐ1PuARbدA 4Isn؏d#0QSÔ"$ADC }|Rttza}6?<*$)4"Ƹ\,Մ]1aȩ~#}\e띝ϚV5=KIvoV;_ll[rXɢf@TN 1jMB;0ޘLR`rhfӍtEbU_J5q~JXEVڍlW$2[/՟?gM/~va]#6Errh{4uV5k߼_ !;hZuvɏ޺'@O?y.7xz}xjW&nl-޸v}/]|vjo?] w.jl?\zv!.^x|yV<"RqyQ]pR /}GέdlxlNo"6akg ]7O&da`j QnXRPzh 2*dN$k0bFL9FTS}ij2 ZLb5朕@M%"HJ2 sN9ѬD#B=3Q}!m[Ue,;>U=,.<r~Xd2260>w u,4 _+qYnvI/*\<7Qfs% 3K}r4mU-(qYTԥTT[:Ud2@C1ٍ} I(|V2RfuȣVUsrDҮl<Ms90PI9D& INR.|!)i LrtBQ 5*jdjUQdCY M5bULR6C.bHQi4k֫p,*}̮qD@L{'Yu6gLI o'G.\xY] @4|4 89&$_^w>N£RV86vzIEfQ(,=$E\ه+H-":Mȱh:I)cHBޗр-#Dw>SřYǜY,@[",|C9k$SIIQ]!K:>Ƿn޼u΍f11?]7߿;\Y? /txqݦeӬb˚4Dՠ^euFOM#Mǒl *UhhQŪT*[[¢=$cJuRwl_;\QQaހrpޏ->c=QƿwMܼ~{oxڏᕝ~ʵxas'?|/nk_3t;f/]YkjZgX ;=YfWcz߾0j.j݅kO'ګA%=?7ԫ_w*?ܜ6/}l'>g+kǟ~b6^4h]s5PIc߇ÝbV1sh)FiAA&]_rY+hSF@``HDFYAB61tf\E\.,@e< 瘋᲍GwVM/ĵgrmlnNB53hQ8Q|n-ff8D !v}cN*hwgB;@ǓM$dJ"YdS8tP!&I1У D5Bd"͖sFC"V I15DM QA2ࣩAh #|NBĢSjF1ƪ/9 ]I9 hg:BͪjNGtUǻ!r6m챨9j&us`9%轗ba68mx9Lrt#9܅H׫eJNc(C6ڶ_,EYnmK4m0qQD1;fW1o?y<3>ڿsm{O=cW½~52o]M^s7v[؏=;/}w-?O?lz4dԳU{eݔ#jb2R )tb̄m&4sJE(KM! Cm&ULI  U2'9@Ly<{T@cBd/zQKjLx.@@S1P HLTCLGMFcHDkVr)&YX]vEdպm(qׯ4ΩYJln"ٱ IDAT'R!?"TrugBi#EQ33,prz:?]֣*vMUͪ.XmY)N'{iߧ̗ՐzC %!M/Iաoced"%Ps*@ C8 r&1C28D -&ZebF,`@hj8xyܳH8$bŔ ;iLjj0dSIT ,a]E5=xx:;;j]Y$/OD|]Vh^dˑN"qU64GqgŢ'e=nUb);@RTƴٶ+QN!Qh#&xL)rx}ߔl<*'wQ2"s+`Z;W_O7.$[h:&yX7l:2{c7[KVygޞN]Ph\Jbn!0_` /OCt ڮ{@˲"y+9{羼}ikrKU?$Tl5[4oͯ\xkT]-fME*­y\U}ȶXӃ{ۻ=L<].>9NΖ}t{ |ƫ_ud%N?@Cuͣ1@rT'Z.1v}:)G.b@)PW̘s?'Ī N L''ǔRH!(sJb*4¼gkO^im0$ukU%GsiNyhGF5( I53( ƬJAEY A]AV1z S%:AHܾDT4geS v^1"֎ !A=gV1_89$,XTsRP$0M\BŽws:>)3+EUC,Kf.=fms S ԗyLf4}c( *,g0*sCnNK!z<^rV:IQNZlq "<3{[[};LѸ s&#飈36r]Ǘ޸СǤE5[M ˬ)6UQWMV}{ewNe5S*u[մ1lmH'Ne( Gu*!5u=VAZݣ1HN\.xzkXjR 0)]:[ ;]G~R {U/Fv)/aU\z{Xh:|;_fվ}uoomT魓QN/?|,{;{i{ppgswG[7o~ ٚT42whʑ,sͼfKrLޛVYylE4TC4̂؅D*G l\U@ʒ6YI'@7lV>޺u{{$_CiJ8#ۂي( XBA4@33 $dQN DwHbHbV_f$HpjPEo?A n Q@|HLSwWs) f6i[Mw ۧrIYKsUHUCd2Mz+"S8f*:$68礔8iK=凈v= &ۦ*hwV2I9L㳗W.AΪw˛'Gs퓺'.<<>hA$mqq ({@hie\u]l}wuyR5<:sc~=^N E],qTR<WˣP}U;'a^{zOojߍ28īG7=Ï=Or՟Aܽ{)RNU;_*d_ g7J<Lv*[=o秛-t^ɟ~O~;_Ę9:珞ǤG$ UAR=u2$*BĜɥ{BLIA&MU{$ NuC4cG =JQ30vMUwT ,E{A˱]<@ #)_<1\I!2;i´JbNYj>׹Ķy9\|eS;bJT `u"dE;[Ah:BIrlij |4hih&h X&H.ЋysKI1e(Y Ir.RHiU'VJcBjεsfBF21zEpQ3&b&b9H)W4i@A*Ls8>0zJvlrԢL)cW5A5xuh6M)YӤ< L!D14 p1E{4/M9j&\e;bdc=9KPUdQ#u;c@TDTЧD8N4qFuJ6,yEiC]\gVtlܺ1}f-1!Kivp\8sa_\m$U}u1[mEAT̡jv!J^̛Pn?R4 d>F^Lf=hnZ*57xFG! 7VqOm< ym͏?\_~;7^_\Pf 1>Nb}J|̓?vz[Z?׏O?Z./ח)~qx[sHus w0Ɠ̗mU/ɵv rkH*o{o#y֫:aߟ-/nW>7~ܭoP_|ދ?׋3oi[/ b9fv u*0x"BBޕRD$3E&& Ds=;s\yLbQPDޱc$(Y̔bQE͜gBPiLS #71Tqi |q6~\`\q}I9KCIYSՒͲRSԢ|MVҨEcM%yUy.Of*iS*LE;7EST5!iAMs*|]>>f1_]Ϯ \. (qWʿC?~aÇ{_f~twQ10S (Ld>R c&b}.L#>y uF0e3sĪ =Ĩ.8UT s*8gu%qL4&5s*5CvQ>9E3cuR׹ f r ـJ.ޓd&E8GR#]7uM۴Wۏ]9>J>^qg]_ X>ݺ9;:<gMuuGv7/7oN7#Rry9"Q\@A!)r&5^, Y|·3v~W}ӯxn/|lw+>j3+岱|3_ޗ;ܽ۩ W%Dj)"@TJ]7;&B*0@vCT4EB0Fǔz߶ vRt/fGiRJ`BӅҐLӫjZ3@vc /u~#'9#&<-Ōܧ\O>'q3up0Ӌssv]?ES8G7nSʣCLA;3'gvRKco6x#{əzk<==k\”xAmD`8rB HXrV0KӔ!Wg\T>"Ʉm4pIrI״?F%3!ONj3C(x\5TM x*LC X"bm: &`)*p,62 Rlק>|~9KMmn{%Jj6eE25@v~/B=cj0 :4bf"ErruMBDd+Ϊc֡+~T5xFSTuclLH0Fpr.q@H?tul[UAh޹٬%QMgU5us d0-{Wr)"1FCTI\8ZJqsupR@-xvTMsVcQ'UNV*MD.,#NPrxf:-G'_!J.(~.9y$,F}D`Q0hS,!,g#6s$b<ՋR.CDHT5W1 ᬭ-RDWČV$!+/8Fd\ƔL ̲p`E$:Mƺ’n?l>\3oLuja珟4uHv\ׯj?hCoCŋy~ Ao9ݼ]@jv;1^]cfC;9!vZaBhCT ٻ7Vss<(xs>a0Y8M q,U hf3V w8dg'~ڗ~#>z'KJwwyCzW'rv:J;_p|rѻ?ɓ{/&|={ѭW?{_;Oߨj}`y2~ ?nߦ^>|JwZ5ݗO~O}_Fհlo>ߝV {?}g=n7A0 lqPbDk+` :UBUCRWu+"f(jXhȚDjTMM\r"rq+1w1f`&A@ !f((6HR$DDŴ:$8LadfCq|TKoal~f} >*(UUZןՋlqPЋ u$/rB5oz{18DdR\ &CQ|hfM~?n(6]825u c{vōvcomP̘9w]PR$"fhJ}뭷~'~⭷ArHK.߉sٍyUC+9"S JirE gW$3bizhrn*11\| QTK.@LDvM>@|Lk6Ժvw_>#s>☂E;/#[cjuk߯N8+Bcc1RFpJnJNjQM C |H9S8@v~x͜G7ΎWRڒ@@4eۜ_#ۼwݾ`ypqu\̅4_.~bfޜ?y&H< f7BdP, ,1n3"w.ИߧvY;iL"0`[J,㻮r@hN>q}ŕO@?v6 IDAT~}~l> A}}i|rxWsZCJwWǻ&vw/.|ϼRy^ G3~_x~ރW 7gu6Cޙv] 1~z._+o;|W^{ٟo67Xc9څݏ{7x]߿ ] p8ir9{/?PS'\5EEDgj9#goZhcvՄASJyc"G<+"!xh(R @Ęuds,R{F1-E'1!N qd$"4G+ fR"(ёyaODE*ziUͻl}**}ØխY#zB]0yd@b%g0E3{(IU\J v1tv5䂟u<8}9!{mCfUU{13aLyD"D@hf4Gu///|oܸ}0)Wu qHS4+ 0SFR!,Vs) s\DDS0Lm^bRL$B렇(;4)xǓ1[7կzs MeQ"Hq,8StB1k6hh̨?=TF) UU]aHiY7իL]EP2 "" > eIinliRξM'T5Uc :1&t#Bm*Tri}ӒHDd`f"#5MSX=x zuզC=kη-f3+)@4^*c5\Uqe/KasfXt(:uk%Rءd&.QQB4 2R0(sJ#*`Ž&M{SD0v㠂Hy`8末YB*΍11J2KEDKNUYUK)s\49|#%kw_kW^}k'''˙dS/AQTRH) ח @ h:6KΓLQ]s2{? c@$1M^>0qSz#"V7`:"*"R't>" ;H~LgBtDcQv0]みKʀRu)I%":1U1_A*U,*:Gޙ1\2(Rp2#r /@II0 l$9G"e3깙iS* & `%hfmӤ]Q͕Y]9w8]ŌgRh9C4y[ v}ux½ M,cTêIܽsHγv~yyjT.A 1zOc=yph8klϷE}χMQ|.9;#˒W}[DMsnpCn|^Am9o7.8(],bю4cNfM]ׁO?ug>5Zl.EQ(R U̝cXy{R1%=}}ϱc:JÃ4lN3hN1fmC2 CUeePU)GN>OW@iFcFgW1qtxq1k훫'߼Zuw4KQUD5ĠM_^{/w?/cfNĩT,FSA'B#)6 L-x7Ɣbp3X&#”˵:Lui=M7IUr3FK*uS3#B2 a:U` Ġc$d)=iEChp2i"gE$1"3^[:ΘL80sATXy &*[) 2o&0hA1" q$35R*匀.Ԏ!=p%yps.Z_o~7}B%.  &LB(uO?ּ9&Bc*k\pNE "8@+79x6OU-T!'}"$Ӏ D/!$F1 3hA!&ƪBD7 TFq뀪 C;4E+..}V#b@`)L'>1!0JMq}v"LS{J(T-X*Z \WAe"MdUy0s(͛E'V'9o,6~ֻhZpXc'g:ܼql} jcT+ͣ~T}qvLbŐG6PMˇ.T*\R1wlrBR]-5bV#?}9{yUEՍ!_=;݂䰬(rZC+Ǹa7>c >[Nݦt[m@)ɓnWSRW&ϼyRp􎁐YQ.윊*1w9s|[C;DvpՐ`Fu!CM؃OB8Q}g-6.vm}`^^^=l͏xv;:-v>u<^o@]5/ϟvХ窌_>|ӯ(Oʃ;wN>by{9߿*/nyvO>x쟾=曓÷OO"?{Ke5 :hMUv;?8XD`f<c2v%gfVS(""9h hZ096QbsE!t[5C6)郆g<ѹsd) "3CUb&*2BNZLU $rv7&@dbyɚ%))&#' mj)fv.B)X;~<,h@HDIF0014dSV͞HB㠢˪2Kַ#@ǦhS;9U+ e` tOKó77~ݻO&Q7ߠA?3?[o+{xxY U0~DB1ƈ`" CYĔj 1"QYVbH0`$8yHe1(@ TY]KØ#HhE 0eQ#3(`H40ddf:#1L[m"Ƙf ̤@j:1hL)N]Ǥdb!$Y r%@v30sY0yGI3V9+-8DP$&j9YL)OD`%R]UإHC"f9+ys^C(GҡKNA%;q8aOQb%_TAɭ6e=uv+.7ŬlB٥[hkfù~@%&p1|y]/_(+*BkcߦиO֋#Q_&>wMO²nvm78 czjI(i9©eՕC:wGtxu+qy4ra{gG.V.eYEa㘖99k~o=X>'<oՏ("uYޤKrQwɨCSn^ˋGb5,Nnm7}ž:8\ {O/gXty蝯բ|.~x9?eY~Se _ݻw뻾|E XNĔ)3!1'0p cDn~_EF./OONEG#_W`}̚(mmt:*pMXTa!Џev;.*mFb*e;\ 5,fM?vIrS+juMm:/ qJ)@)82HUsV lA0;O, MbV3yG)iѲ|q=sL.9EIYdiQ #BJ95Sfƨ"CR@9S̾lR싢@E)il#0oA%ص  ./v(۶'.7Er_;w>}+_n)"`Ā`IHhN9$)c7Ĉ &TJ\y!(!("y&$)AUTj IDAT#$%%&CDSYTq׍E Cn;ӹNs&aj:ii"fQxshِP&LUL%) QrU"E!"Y\c %xF 2&dr;6*(M7;=zrLeYidvlcd@C7P̫L%&q*Dfiq 91]9+wk5t8mꫯ\}$Zzا|I u./.ʢwuUcG.I*ƒ=yAYήwnn W{d6 e>>Z"*bXj5؃{GDS_:#3XBD<bC/ ?Hn't b׻y48==&}c*6۫@8o73䝎ۮ }YY B {f]~8:9ZG'^{x# >=??לcqZwn>uӮ~lÓr5lѻcw~}ۋwnh6jSm~z+Q8Nh1n{WW?OOk A f`DfY:&D~Zг(\gMSxyo\.aydsxqy~58usjspTl-4i& s.&ui?`JبΖsܯb,X!ΊR&L ٗM .儨7 Ȧ,&̰yUKsh D|]Q43!Q!69p0^QURA»!BYDcƮM,MO, &{b2QW;/9Q}PռY>&:IJ/\D7_{oo}w*QLHP2}6sN0+uC&"S @mj{C$1""9 䜧> PAQ !,uD L\qΓD DxL"i6CUWr,EIr,6ɓIL5%d)&@,cYGrކ>#6C1N P wbSfbC:HL ̩f<:\bUH`}?$Amcell̊eA d4KQ>$cхhQi\)n|pvOӭ~oOOrSU_O>XB?[={^fۃ*OyWz쯾⽧Oo_tI5e6 b~(~{?hUhjqۛƜ&z>}Y/ϞQgy?=9RﺶU1ϯ6mWO|vWj`V\^ulBDȧ'l"w^|ӷ|ڮ_\ml9ʗ~p~1 .g D?4n?=g`<1q&krL&zl~b?ͪ"EʑPDot*2qPHƘdD"ÐRdC0v|DØ1q?D D4rV !SQ\EY5<9 TDUIW/CO\]/ƎsEyvcD5&cÇ#OOܺuC_7CDΫNF DbN8uħݐbιi ǖR[P}{'2Q(1yM]zY')e02YSe/lV“Ę9"4DU Q<L4)vC 6#&% )d+UME S| `)!*N/>@c"F= }HYRΙ񃬛gbtΫ1!! D TMS%FAu],"jޏ DcLKL&ľY硫s p~9,ŬnW[+,99x{grU?4bڍ#ק@5M]ۮ|(yNTcg[yiDEC3 ZV!'O˪*RjBY0;TE&s%ߞ^6y0'<9\4e ?/TO-E޹w_lNj*0_m>uBј583xBo۶达#o69 W׏DS)PŜc;>{rs1먃9==Lh1Wwi N^RBQk?r;ƔpN v~}vlMe}Fvխ }1;H7A??;;gv7mrYٌv4}쇔GؽSƾtA= ;8ZlwdXL)pn{(vL2no|VeW8﯏ݵWb)1-MeͬU|fhnr0d1d-'1D)(*!uE@͈̑8Z`S&&20 )ĤuS 9a ۍ s֢TjJJf4=AI,BTd@ \(58&Zθc q:", j959ɎcJ& ?{<~޽{ՕsM4Ew@`d)gH'735CbDu]A*·9b2#PxEd2fUéMH9"sN%^q6Mz9 "ĸc24DpL%O5$$)O<|)0D-BQzP9*w7~'74gfy c1 y{g"ղMeR3Ff &ABY#L|8<&$eH9gU%1*KNhs7r*ۜw%ZʶuS3/3bf^,W߹ZfK<_v$ٱwVQ7o'_^ƽ7۪`Ub^U|r=J}@8>7՝rkBD]|Ůlk|=DҗnDL}ۛQ]. ǘr,LDe(z>lKI|a5WE`P6G$]_^7 wN%߽u2 jܸEGڸ_Ip\_ mߍ'a.ɝuhX,톔fv ]3ѲdUцM Hs&ZAU2Ĕ@45 0iBBGHU*&r)+19DŽ)+.' md&L#L9"O-+"FhYMKl 0Lb/E]{tMUY8 s9_; {/>???1o\A#B(aLILmzL}3yhS!"Iىj*y|H *&YpzN,{@@Ď$+"1ZYDabܤL8t3\9'3Ydd2Pc98"jЍcZeEȞ=۶di PHlhŒ(`9JV&"FQQQ a]"d:7D " 2d$RTah;!tɳH] S*hDh*+w>eD#yZ.98լߎiDrvYz׾ZI_\]s1"XNwoX^6; E nݐSfr1iڥ1"RKh4Dw8zrzQ$fjZs*K<8/CY@<M.>O|D0W4^_|%gw]nn4ozO'ؐn? jq7P/k,k:Ćd4溬#}~* YUv.8iO=;ϾL5S5J~np,m[wY.|suW];?ԯ߿[N_q,+,riM|/| =B K?=?c6@pc`Ɔ9i;v$z}% T}_V5޽{oIt.8!-拜&bU?+eM<\85+&1ًWWۧ/toq{>C7e3q4tBRƲ u\fQUIHb}p{h<4E"TDDDɉ/ C|Vfu@TUADT,tBF Dr`y !jxD$LkHqhy9\@]o1% ;C43@5fcb]̆!y6uS sUUY`<nK1W~W~~7|nVZ0[Aao'``d sN"sN)Gc&FtR""ދ!d X(:DG7x)K׍ hEɪ)YcGα399T;ff& rRGH)%S#BckYS(@w*,"8 9OIcD. !2H.0#OBS"Ӑ(XQxgUf#~m,ĖbPS&vLEYVuL⽋}.E]5fV#bpvYm*y®]g_yQfxHf*,9 >oyraqpZ{Z./LJc?B 2؍i{gCl -1_]F@=K,TC#~/GjpƘhQ AY2=[RRJMyi}׻a)6keQrF,Wݐ6 ^Tmu::9 ߶q9WLM"ڹ0j-}ExnusD-Kݶ7Ēv?/믿|ѣG%e9Sd4T @DCHTVaSBBe);@Ϥ7M4`&",<=!NJyhɲUvЬf21K @Y ݤ~'R?R@`朋9# fT4fC&3Cs,Y!{?C-h)k6\ RLeƔ9ǬD*-hb,(1MU_5̦"9&$j CDgNAt#/˪nq>q_sI(1|SVʢe<źʘ+_lguO<\YL]1*d(a8 NU "1P??_q8u4#yS% !J,,!Zkipc~(L!XHЭw/z!eS^.f`]:9-+_<{l޻!&++pY͗_jNkҳUdT/d}#ku7ȮܽȶW}hFAtEU?}f3BI蝻sYӴl~^4,˥쯙 .VY {٢L(PH4q@\ϟ=::\4{ω!m Hj)[Nbbý~뷪?=qTiqʘkX}!'_|;'\hY4% #2/8U}!@s9')w )P IDAT-c&"Hzbwb^۫%iQlLQ(%qD1 Z n{SͲ.E*9"cΒP4O+& LZ!e,MI.d;553/zr9%d4 }`D̘zODvcr!ahTL L '?XiG_:o/ЪѺ-ߵ;w06~VW_s}'>lfl-=msSwf}yّwÐIp8&hDLEAߥxeӼ\ErWm\9oQm:YzVKֺdDv>~";^.Жy#dX<)&mjƘmw!Udڅظٜ/^O/_Ղr'gE0`qeq 385W"4.wβApnۜ\dq<98H6gݍ>(EpK^,K h0ZBmێ0+|xusW_w%϶۔01 q0Iؕ~OrԴvU(b5ĺ<b07sP(CoػOϯϯ 37c;ÐS6yѶ;S]V[݋j71]R5t:B"`j$ ܶfލT̫f(Sι) I7fݶ7fM5#zgD\Ywα` "I $1Pis/HRFT6 TStDJRrssF 0Ȗ*8Hn}eCɊlFfcycDM1w414#CpYhMN%͏z_g?__j6j XʐS;"(<>n6m[AzW1g3 dbxC0C {)3NF"7#|؝p$5sL$gmd$Vq9<(}I.M3U"Cu\VȒl.18y:ըc]JB,v'yyx]`bƼc-Z?||0dc2P+#?#//hx8[n6kSP,켂JV1f3m~og:9/3qpv[4ݶ%ǒeTE&Y#ZYY"^w8Jh{MoT_UW2Hqp2YHD"RPDBnABB)x qE(7XHD2{Ov==}XkbUn< .K]{7qUtHypo ELB꽵K%:{Q`HSD^MH S]SNw1""Ġf:s)i 4 B("B%ds.mj1E""HL 1|aGCd"5$=%sI)F)|lQ3;B"@@50pS:X%kT 4 @`E/2EU]??'^4gLZ]hЦTK.MpYun ̨ʳYbvPJA5Or`'6eD\Bl@QjEŬ2k$= VsQ% T#vw;Y[-Drv!u椱}ѻf^G&t(͂p Mpĭ'W r7z}y14\<-nvYx_!iUkafZ3A)k(jVu(Ť33hi  hWŀXRکM1i8in߽uw fiaX̖^dz嵗~yb8>uܓvS{K-Y8̳~cX-6qٵw~G~>Qh5܍TYQ P\Z˲Z3q",7Wfʠwͼ~XA ~iqwwS޽x\ׅ+p }wo׳%7M]>tTV9"Ƙʑ^w+4NAԐu7wK_d K̅Sq}W dxH"'GQ`qjكW^?=y"ž[6׸ dhhFy/7~7/?zۖ8G3$tʤb.e`$z_Orqu f;wn};k󓷯7'qjKVbw(۔q?r场'ɗnykW@ zlxL n\̧~~a Q#,$EAG1DP51 ` ZT%)AYWVBh|L!qM-"&rE&tHňB^@U2Tb%jccƍ!oDŐ]쐐ԸbTOiNڳhK`I(cN \f`H8B;#V<43wcf<vM@ʷ#0$wA$;M M0OA d4.WAq7 [;oV|ݺ]o~Hk_F7odG_}m[P6MfӔqJhy2NEyE_oֻqcȇ?_$11"`;Ǥ>xb;@p`W!xj<a3 @mh%Ny6o)ϝRԐChr|p[vm|x{ǫ!5E3kfj ^z}f8ł3ݦާsl5?;9h{v}LVR*C,*@\hf,95b'2n#`>sߒ vЭ(> )O-2"i(ȘrWW->Qʬ(9΋gx owrsRV5{ͷ=~h;}Lu7W7~o=FaNݻݤiDt\.nۘzM1n><=vs4.tF19djFPp}Ƣx\̽)&f"83ybgJ$&Băji޵@ƎSմɋ~̐,R840O U,@ &fjT.4bV  1!:)Yj5:OH`6TTL9bD5U!LS 9-TQ$P?|/o._z!840@baYMTr*cL$rǬ*k[1$")E3bbCcrTcL6MITm֧UTiןJ 3"(:}`9жl1䵘-0La޽ޫ/M0CXmӴ 8%7VAZ@mf]ӥ0>c? ˡ_.g]K)/×?~ƭNiوʔ1>Cb[o Q.` ozIQŜwhhC3F?%9f>RQmTPc %vZ̽߶$ d gӣhu\2E݋oIdjk؋Mc/rʻRXJ}HJC~ mKH1WS3Uj%(ZъfLcՒQ!1"yrUkm"Yb*bMN 0BԺcfB4y"j&b)Wnd`ghv)B{30ǎsÐT8!b*E*  c͙>}C?O~vDHZ,K.B`FH$Rih;AըhXMc΢=1qB\Jǩ6I:g:cPD))G6zrmYT*R|"b/24 A *Y~UQܑ0;ZmO/)e-wm;wg ۵h'].fq? اTc$%9"#/^\ߵ7k܌c.LjrtR RJ*ńt֐rJ*:\T( x KsdBh`Ԃ)o@'sx_\n1iIӫg1'GRJQoo7S]3[tsﴬ構3CzvwSN׻~R߅}6ތM)NW?}~'kV014$YswӳsBMc$":t呙 5 SR*~%ݬ4۫qz|q9NX,.o5fV`΅F,}L҄&N?Y,qm{Nj>GS^R'Sf 4L9F xHS]gO=o'Ɛ棧݉G{;=9wGLw:~Q=ϻݛ\,fMGu-L4~׿bmϞ=7]@$gQ]O1ʹ T Tovvl1 sS W'tP>W'4xqI˾gח7w4ŔE+/}򟝿M3!sZbqL(MsfdƔz6ljĪ/Ӕ"wdQ)%3CR$*R0@^LD"\9'DpID)ALL VN2!(1f4(&"9%H)$u{B&9[U51#M1,`PV`6|,+ޏ؏SbYS$isQb%@6@(j̜r"3gU 4"r-RJ~`0S^1Q0g9KQE&jB"T|/j;t@"5t蘉0Ra}bgnnOvmET-g mvS>Z...o1Y?|h=ccN㧥n6 f|{HZaʱӐR69,MMkQxF>T+pUW# TTs%0,Q@LL}s"ZNIݑ;S)auqPKbKdr7k1{1)짬y1; |%!27[-ڿ_-7}"Zz>#%4t#BK$61v>0,~7ƕjx~~wiQiEfT󖉐fv׫3#bz8]x&2핝ˀ<ƤmqkAMLJXǨl,)*NS?4~7ZEerp!,ݥ(OНO!^Oo]7cUS߅9b)U܈/S_?O}Rg>m++'5o%o>#EhDNU($meB)EkYh|vs\wui{I8lvy*o6RC2\q |6)#Z&Y}`TT9!*"!4NԼc3"{!j'_O{ţnلM0dPCcCR&]*{7v]+J’t 0Q.9G%Efn7Pt5{/ IDAToMaZj{w|:{Njwn3/ˋ=lmoզP 0fmlg:en-r ;M9h,˓bq˶ w@0)2pd:Mj"]o^dq,,4I"NFA4Qs`Ec3y޽{[oگڋ+s7xK_ҋߎ2&*&&VFsT*Y7 /g0nnķ J5]bѾ!b%PH?(Mh&^mַ}֛#Y,:qѵPna;-@*R$瘱$dlzGȄ밋ֵ̤:%f4RDXѲeHe\ȲlKH.hȠZ;IQrJ*a"jy)X~pn~ۖ}s ߉26U5RE$"3_S#U4sI~2óXk~;YUMONq):i,dZ}F`Pb4 40Bfh;Ebj N;߀!b~m>NE_M`G}4-bX8fq6o_\=MDJKUhZ>Mwq9O@TɳdebFf%"vSLL4H V >`S֢fr,=h19L\L"jbV?bLn?כ-fyD&2h1;?aJZdnR[]+nK S"Wr^xw=_L8Ma3*gOջ=Ov=Mf%ΝXN[o4%6Ѳ-swsӷW[0b՜J!<&pKQHsAo·QdU~闼_Wڊ)'U!32jsr&xD|u<1h51e&kvz`c)fzv_vkcZ2DSkԵ 4|]CZzh8fn$)5 8#PH]e'4q7]TtRs^m0m0R)@U 8R*mHI30"$" H,UIjkOUs?kE5I=jHٔ'9"5ߘw wR*Nq&bjo aTN 1#\FrQv(Eٓ22F4U CUZ/@\t 9B>]=y┆:n hR^ڻsv 2n}x߮w]\ۛvn]S4(d/E)l6}) # 1`*6a"kAS-&U)#R2)jD@5 1Y b) `l*#, *9GrV%h <&S|r/gWv۞p(YiU)_OLjZw$쵶?~gn8 1bfuavRdž꨽#r8ŀk/N*-;1EyX6f]aSiڻy˞P8%^.]N2N|秼+s_AG's4 fBdSN؈@$@ڏg\4kSj&laz'.m''q]1f=D'q7{TH=['G^?q۶r>:YuSQH;jPJ1DMZ // _^),ZqHHjQr)蘻6㙃gW=pv~&9$hޮO{|q!ETWtv 䡪lyviq3l>MC~#&4Q_x$5 yĞ{.Zs)őC1+("!8TEHh=OQ1U@vN L9) ,a"b#b)Wox *?L=wKQE~jP J@X!,R.x-1bMEQ39 @ѪEphVjC@$1v@m}oNWsp9x 9cJ(bDUeDDP9K 0("ed @V0Ń쒹ƟT61IeτP8&rc9,, W'O@638Mǫ7/W~EN^zinzS`-^ YYvqO.CS."߼]Mgh @3vm l+JȸT2I`3UFMz5SSjU0*9?n3Pr 8yQОf1{7`DzkA=W3!Vp;F{NvR  0"&4Ͷ鵹0Li;$Kb;P-Gv\VsU5v"2f3V8&]J=/s$\QP-yXhr]X1X />ns=j`blyw8z/JI}l gWۦuRBS$~Kuċ@]lTvU _r47dYȍfiɇvwFQAcPId=/[J @v͆{M(QQE暧81v;ZƜs66/k?w T,;MB&N7% 2 PE>j-~^ыwYVp=}+4 5!$,DYX=~tգg0"j^# :D cHXtEq<`hfm;+9S˾yQdx~v2Lc3kb݊ѮOvDD of&80(jĀPӻ ѓT3PLK6@U3D14ۋf jƎJ$*}@Uޕ,*ƎHVP<ĎYT ɴHEԮa @5Dq06 )J"!0XPU 027j]?ԧ[1csw@ \(R PM9%9L IDKB U|fYOܴq Xkvڑ ru(L58e'G4"Zm6cx3ӳo~L/?yYo] aO'_gs;kYDz)è13H1A8KJ 0eQL@l{-}LiuJƃ|vSJD\Y)w*RJt !v\r~ XxOEȡRuק9QD2\$/"ZNP\pTtcJEPqc\@t*`ZɰT 2;:T)g(U kc~??l^ .J* VP (R4sʥza֌Ȧ^51 @"Sź`f- V,Uwj;V"UE Ɯ̈DL\h}}f*jXkg6N8zvsӶҀ)'zr'1Rd[o?- waָj=(΅p4o%i pLXJQI@C@dEvLmtu E Gu YQGMIeumI)sE!!3=MαxlݍenͶc{'{GuO&E\hs3cF&xLvMSBQ)ټgƈ$e= NYY3YA4d%t(\|?%#;o(& 38mXpnwErTbΈp˦ \-EΣMY>y$8?O_{yK붩 YS"` s?yzyOV~,&LyķkD􎙹RGU4t j6NW]@#dhJUD}V2n63UG\ؾeA Lax)E)𞦜ETjM>xDt)Ev5FD#U7Tꖪ`lË$"}CvXîNb ZU #"1>6"b`&r̄5iV/Bx뭷ڶ͟6bw:5ímU[DBTlMEKZ)"5]V#Ü]EA5אSZݵn:AEԼmzY9XS$ ;s08Dȸ޽oI~];97t8Zvw  c˒jBLILNi9kŜ-i.,Y41c*ITp4l,!oHB.h@W"`fHE~@FfNUL Ȏ02D!KV<X v~v?Z@mRҫ?Rҷy赇S1|m5``s:xf3(eƔGD՘ ,|ޡ½.Nʙ?{˧/@B ʃӓ(-Ypo4˴ _a]U%;9ӴonET4O$9-n<:oª JHst-I~">Є@gglB.CNc")MS&n\KHC@B? 卯[8b\V\rfEnc17Ǝq{)ٟ?/| WN|>%j}@~,l_;SIff}3|ƪ:5uGv۝mD`p D@ d  $G\q%@`DX IPlv܃{Ts{}Zp]݊w"\ZӳŦ61oXUmg$BG!x3X\tW?vzSx({i'Bpݭsu&ٖ^DM3 W.xjG{ry##ֵP_;vFTeERZ4 NG &\YGeEP:TR ͌9ϦLj )GBt*y-f@$(ThLId;,aXJ_Vf&Y9eeU/Q};y~~9ͿPa޾6*>آʓnUhY oBed&R!3YRՌ[/)9X%5 #9v7P1Q_HĵӋqn֎o>{Tp)7M)z暯lgR9]|=_hԀ8E.aѸX\VlIU՚q+pXwLURQ ֹW$+1wP>]&v\BL.L$## ʶ3r]~R`, 12d0m'X (n{M,gQb]A!g,Vj&Rú g|.ȷMZU` bN,9:z:3ivz[6DIbr?Ȧ!>zz~;q*`HyXya2abd7'ئL~H<lW= ݵDѵ5V0qu3>MPTY+<{Vs PcҔcU?:p{ xΝov۶[,],B+r!Q9G;''gj(EkNM76>]6gx6.z!QXQHQ}굏7ӽ7s+A]B:9O- eԶA`ȎIL e1Q٘vZ@20"SHRfFL3L)0-퇨e5MY%Ky4ZV0SU) VBCAU J;&"OT՘`XD\1C"1 $ *C?o%*hAԉȹ)o{{Ew'`*{ !vi),YT0Q6+]︔[b_Vrd`x9u*ЯYBaA(9$,;j,vA+Ax+9]ٙu_v3(^BדYYaG0i^zggk}?PlP4&sNBwL (inՎrPJOHrYw)vM3LF!Ǯ1 5-io&\l{$׆jr lAt-_I mT1dXdIYaR̆ IDAT?8~ք'm{lrd^] X FT搐$!1|u"g ,ԜÇkG;[,ygs,<U_됖t+rPlxxoGM5@ʿ Xm2 2u!m"%5Bb9xZ-iH9fZb wJ"Jm q%ˈ .h E[M `+MȊƆ)jG, $9"92͙0LMQY62- 6PC5az9S3me[짔ȉ _¿]yc9e}g!@`tre((ny4Xe-H뒉2cJiq֫˛MWZ太Ʈ0(hX(d"#t~tCΛ w~0j;f:MfXEI q%`Uu[:@0@bd14&*m/H(*n0Mʋĭ韶QMEp.PcQ)*50K!ΗCߧ,,CSJĦÐV}J"1b@શ~'lPU5QDBpWɶ1fv(fZWԎ|΁^9VƼwLvP.j՗xY^:)W#_j:5u]vT:Ͼ K .$7yCԮsШm}C 6h-Gfjפ0\1wTb6@̷'fλaͼ$_ΙƬhjI""ݣN'o Ia+Z5WiG!i\*orޕlBu&&x) #ޅek,"=;JBd- Qp9ߨa9"dbf"&*~|~9Ŕ!@HK29b)&(o„YV^-K.,IL/L.(EEtb!g-?8L9]kG,XTv~Nܶya[<:CᶋjV"Jv f0ƾ7J "ŶscX( LҨr>n:W7F;bҰX'T+/j~0:tmk_l:iںL.nIKY%x|> AѼ3f]`a2)"Qּ-.em*1DS -ɦ-͐,\U-Z10 j|^a{D3Y\lŝ*&F"ΑJI(K&v49_y J 4iP90l*Vh'_Li":D~ *ϣi;hʐ TUFQ7O}Rl^~nQD "B닳SW_v+F8GݢppJ>wxuT1O_6~zh6Q@pM֠AE;UӦRWT&^/frHI,k=CCr.4Ӛ,CRݫF3grM07qp3öѡj7Ŵ VUKVl#pܖ|oWQۇaYmnhjƜ#xT!9U!jRئKj!;^3|[}z||7E_!Ylo2NƒUq8xLZqXGRlzoG9M/\D y5"2䜐wjX,#k@ss (8Hds\(҂"rj(gCPujfȤE DZRO(GU8^6Gt&IKh=Jqh]TXi*B*?r"8k`l]%VW >$v^ŭQ|jۓ [7>JSUaMLf*D$R0#@TF Ь޶*W B#٫ }8 \uݚ=0|1wB87ll|qv; v94m埽՝l&5LK2w]E]ettX3tTC@LCTPrmۙJYF<(nr̒]̈ 2'j"vP+.ϥAsJ&j,ΡZYޤ&ON}Lj.\۝=z|`4'_otJhy8xEڕPx<,'~L0spn2?=~;X^yq3gg|/7ueh[J-D/IdRɛ>r=hb2P4tx` jgk[&#Z(qzYtv!t_i6EtsԪ庮\_lj]b%\3W_Kc}<:8]CTQ/#+qkĴ 2 <Ѝˮ_m=;h\urrPOySLr?R7hٰt:Λog7>orp4zxݼNfD#QLk8VDRVAU5P) [V!Tt߼qq;,@3j>,L[OBNI4UXFc|pljٺb;g]yz|FT}'?f'uQ%uPWA*18\DX|{|  Ĩ PhT~ME s`&Kp `):G1fA`-_&GdrЬbZ S(5 n8(I΅H-8T)])fє@-1Z]@`굝wgX8T䌽MY=iyWv;/Me۫Q^zϿ;iġ['=<~zz۹큫ۿ鋛A|g>(>;r<{`rSս]c2/.֣v9%dK2s^U-sוw]xa/pͷgsdcהjnvbOү^;45btCD LH0-02y X21$*\cYĀICvn~g>588gz˓OO}r?{y _Lc@w7n .N$fqN&_{{|rM3*dD L%bNR6ƪyߘ7]Tj21,CLYs z؜M]H3uv1CJY?C5+P3!e"5Cj0m LHFT C͔ 4uP.V+ fF)Km@_P ǣЂ_J*b|V)eB'9!Ŝ-^o|.1@0uYr鸋CN6 in[:AJ鸩4Nc.'6ÀܬסzοgwwqrS>ߺvZTϖ'_erɔ.<>l 㟼:}=y|n_swxB:Nh`SVCQ;@ )p'ޖW#!jv*DkW3$h{t >m˧o`-˷mtU1T ,UH.vW28HrR %iMEz>o_+=^?o^yrާ?kO_w75W^~??X~鋻GW&oq?C mC&1ElCS2 N!O=ncN )FuU_xc_w?i=/~_ȠB#jqX뿿g'g??9]_䡡6aTvs"ո { ؑWQӧǏ/ LPkr{N{G{psGg>w܍]x';>=}g}CΗ)o~jt Q뾥/|g_gwWb~z|SG<;6 }%>>yO̞ftM4t|`*\=:(@@4KW GM Vj$M1Aj{,jJÀE}RZD.|IUM sJ8D!F1Yȡ*:֜bxG#rg%fPFb.?|8gZQ pR,CVK9 "*$tgF{fG M70a|Fm@i488D[ lp+G-1./ 9,@ze١)cBS~߽Mc8 z>]앆i?O`W?c??o_?l꯬+UVE靯~uW?a`p]I+̮f>>:шi{߿.hX*"Cιs-l% iKKh9gǸw(;l׼DhbH@t\oh~8p ubFBJu D9PJLR8 Uo5 d*j)}wߟc_9^z&{|q֍hs~ߎNkKv׵;7_]L?Xf߽`Q/p8lHQ&s-dVn?f̹o{ߺoݾq}wn}_MWOC#rU5U~Ͻ7w~kŏ|{jU6)0h0 Y yn,V^QF 5-?W=yҁc-TU;ޣ nx|Zb3My5j}S! y}Rt$HȀDFchF.`*(&ʹuXŭ|U&$Q+GY0Nn<;{z~oʳ7x4vo7OdJׯ7]ztxpsM;׿`Z󃋅% m@a38 sV`P77MƜ}z5U1`T0U9偆,!Sw)g3[|NM{+4alS^wĘ!(*P݇r͋aΖm lqFf hՔ?U76D%5M9_$ %O DK4bj +Du $$ %+1| ܞKbQ(ڇa3@P]VCF M*? prB͠dS"Y^V5//b|qpO.P@v'Tg![vdÐԌ;Gջ:i𝊋ü'߿..CwGӟr+UgwoM/[o8Xz?/>~roGhrUls' lֲ@ejdQɶ?MT IA KE RVhjg0DB&U!ªqf[31E HfE5+}(bˍCp׮[ջoƽ> 0P"* !!!iL.8Bd[fϽv}`{ ?l;}<9 wԩYFF7ʞmA4EY-{wy|џ]/~ٝC޹nwjZ}Y I9d|s̑Mhĝ.j 3Γ ECrhQ$%]8d]-3rȾG .!e1n]\\W'8e6(˾ڴ*ȹٙ1:f*ٌs|$`L˕ \KhL9>GRgbt>èP_%Y<}#w8"EZ7N4 WBh4Ó.׫ux&_,YzwKY._>d>S= Ρ4䇔GJՆ^,\M@vdf@qlr6mg0db5Q$PQ(jJ)SN05,VT`Pf5Bh8U1BN`*InFąʂfF Z":\p)pd2UɂTjv3DP?ȎwLbˍ\z4nU+>|9~myFFhI%tm`j` żÔe6ɉ2 0 V{"GCj!x&UTQ5~!9ODu!p8 ;'iq=|za`%_usm?[$֫|>O) C)Dƒ'v-O2X3ý$wO֖iv<(a t*Aͪ D f U(fC&R6-~tD"ZkTH@Ls/q޹઺N389p^p<{tpŏg\Pj+:$)A`R}uj&û{Y_GF'e6: #OO/vbHG8&Ųm&ٹ'D0 >mfM Ԍ[!Wo\/N_5qh'u\$PQ]}\L;$#rcJL,RlEY F/I ʓ#OL= (uݽ`~E|pלt; IDAT<[ݺ/+c4惄%''N߫ebhr΃t,!C>u~/R=쌪i5C4l-f{0 TMss6KzgYHv4'=:3S;OD)I,|^ofx|"S*Y,)[FQeC1fU@qe3ChJ)KKY8dV{gU w&#R^(u"&d}`\՜zQ)r6eEˡEfsl < K9A1|qHyyw1QNAА0E3leyf@Nا"bJjWz%X9H1#WWSVjy) Đ1+X "+Hd_ji|`fUpDl4']]*Y<9;r瘉ZU%|q1Jl'Ոrx_Td2a軳zZHB"Ǩ*J+&v L(U'+v<j<>i`ѯ6E?rf\L)"dR6vU-QC**T$ھ.yZ51t̋jUCq,]'4u Zhun4J rS3s}ǔZ@ ypY3BĻ]W^|ٳ'?]d 8 V#bY:^rqT޳EsbVftGUjZxO>fH~|OQ" ?ȿijPZVa3O'痧n(7T*&'.z?ʴLo^ϟz:/?JؗV00o N#2MV9yx bn,W !pb><}~a=|"I?zz̞TϘшMЦyYfR7tr9YG}$64G{rn%Ni]e'#f%d j1,y@x_cJ0sgN.rA[jx}'fD;B&s3cdU{ޔ*Җzyji2Z* ݉E \z zsۛl:#PxO>cgrdzrw` M6`*R}} imǃlmq| nM?lt @pܜ%v[䫂Ng9auyOVӢgc)c'FZ1wEa>vGw)2 xmm&j )Pʄ\uS7}c 9QΜ([# cap,p"Wյi^ˬ2E]IIqcEt C6vI<@D"s),L>n~tdsnDNjh$B"->et,ˬUuj ]/8)* TD h-$BdS $<'PyO =0C jqUe!$D-2#9 69:I TS9gq@diXt&H&A,b֓Z"e˃tEg~/h 7r7_\ypZH@CD%ms)V )S0H8!AR=_ $r_B,ZV4Ts"p}D ݭH0wy/KZ8aqf̔`۔_jSNZD2e)K vzwyw>m, um c 3ƥ[66iۻÛoٛ_~s]Ne?\!̥xeF1k} RVwDUN`ZG;QF:<0=ɗ귷Sѩtm۝#0v2sQ#v2]\Ъó'yxdim[2[Yק޽r*@ VOk$¥ L s@sono2d٦qm!D#0!Pf&$D pSD{؟sl6y"u]^\ΰ)".RE/K)2W ֥T@"Sb旱GNX"!j .mE' L%f%8iV$ HQG͝ ]QrbS9;""r)gJ]'给A(  N:@V:QZ+Vi @פgT$\), b€$3%Bd"w\)ywGY /OJm)53o?^矍x<ϗsa/^=|XXi&KĮZިWPvY+Gj *:2##`YMNӗ`Dp(-~@`n`Di@!IZ&Ii(]HljKQ" ZɄK](IG յF.pSꈀL+DerG٠D3Z]7<ӛl30gf!$$n&^ lj]w#[[fM<03''?y:??y<4YMݱV5]؁S nlL)w Li;0y 3:8QFCR/|pbx;-xqGI" ~eX%x뺔zu.urOe͋OtۜJ-R oߞr>Lq:M^?|1+"%a{LW`4#>V^lͪvco#rSzhL °WSqH^ͪ9@bL]bb$0Lp5_P{B V+ŘSB\fZLMM?ޏ cվhONX#cѨ-}b & i+nB#P#uDFЉIr3wLHQ5A2Ek 䧿 N_zMp,4^U?|STR;Eܬ,ݮuwСBv$b@-º.hn! 2>eN"(NiĖmLƱfNV'!I$37ݵVWeeYT:$' w8'N#X=-Íe2t9d#Ҳ,]txrKecmr&DZ^q!ǷϾ;|CM'Ёuk\@`2/r>3vnӘ -1b9*L/O???{};o.e$䜹$ @JoPͳ0CɛgnC7#etrG%Ng}7%vLwwEDno@_'Mn{&v7 TLtX2i ,.%x7uDDFc @LaC l"#ֆ rIg5$wDF3-LH$WH DL87Έힾ؄648f xU+ bIb3PΒTէ \fW]$LY{;QIZ| 8"1DgBsjk4c䀈Ctb>o|(I;׮1.G y,8HXV5u3"WO\ZuUx &UkZ̗ɬM ERrUM}ZYl##E01;轈@JF}כ\*T"shz,4.]!$I@YKi.m}L$ÀDrooo>|~ٮ.ga1L@#[%UqYfD, 2/s]^}.v\N/Ф}_?AqW?>8jbv>41'm'ʒLaQ_<3fnw$'`e 'ϛyZKbךr,:-_/n~x .YH0y>ИznJ W$`!eR1hGB@-Q!:(#nD4Zjs\ZZl)e1Z"|3l@|* @f݌Q%. 5i!p)jp]UՔBk"RuHC p`J5jXHRK83I1. nހ nqP`åU5"}@<.Uܡ‚Lw[PfufsZr`Rօ9m6?$?ko|o>m6QjЩz:EzdL ň!1~@8>pN_0qSgnj+@PsԱ.?J;##0TfY L4|9np>i"ƍPb^Q$%`L쓽&mok IDAT2u`2Z,v1e)ZXk-nsUÇÅ5AhP2<\KYY1O\796\)N3mMd8O&R5 =}]!]ft_&,836_eD1#'‰óN0$T5sybgwvB e|} "n'`L x\m# ##zZ9TU3ڢR #aӭ\̉QPmEz4Ԥ '5p jYH\A= zmӣ)%\" P1-:%o6[9=iT#{LZƧ~{7R8 "+:- 4y?Fh"i-:gwkwcϺ ɛmo9PNs',|eq$]-e9k{f#|!uuL'fuf- O_W>ՇSu}-8]cQJyFEhx8ëfx(eR+"BN(nw?]ۻav6˸4/h F,rpMuV&dgKx{C˩cfeKT-α=3_J(ŵ /+BϿ?G$[̙h} Iq/aZN7GՉ?zذ~ȊJj.Kt,jÛK-4q\j]TkTߦ~'7ͷn'wƱ,vq4tuzJZLՑ9s&IfBhfBbRHy)ZkeUS&Pe}"mWOcT ZBD$ª5F{h;<Lg$itZU;tZeZzyWffU(o_w~F`H qc@UV_ ^ը8bމ@9N!!0[t([5l0JHPE0%IȠ]J,QU:нzj%"S/mFᒧByzyzjD\c.hnsk FQ1Y'tT׉5k#~_97zݙkJ6T/<{DeR =!JA%#`!`NGS'&"`|[EwU:X\ƒvLΈHDX:%j ;x]2w&!-^>C֎[ŋ[Kpj_+]i^=(jzJڔb(|6yU|,\q4<)ownU-<5ڽ_a'UCUsHt̩>v_Nzy, 2t}u_#!o64w)ãZ4pJA2Nn_ݍn膞TݲT:Wt9-\^/+Y e2$&405e.{7sWϥ*dr-]X$2[s@6톸Oa~ QbUj 1u/S21~ó?lXjKfzǹTf$On/z|s3w9ڼRv~x<\t>Su$N ՒH" (  DH5mVUM =q}LZgN[ҪRU&>qWy"4z\'qmM@ۤIfg[EKH W՜YLRH G]PfJG-x$$`HS Yo$GZ j2{la 2̼y5C&F%b92W&0jAUG-TuB3Gt5393 8[9RjaU96Yf䀄]iAi,Ra<}!mhfl[6PD_11-]N prhĥ`]MTV?%tf" -!H=P㕇hmgd$13&ai'ݵZ-L5W@PXԄXX"x:,a2'(^uJҹ0!Ff(@N6:Z1R/d Tj1")wxLBѳ___~|$Ĕ7+2 rR>o [V=}z#U @'9S1Kʻ{ynm:t!oG\c_Uuy;8t:qԩTrޛqLð6 wVܥgVP+sY\~3q? 'O axKz@4hC"=q||aK;ؠ2O-Q1!״<DDwI h5nx:_aZ]#(4r,,0h܈:U0+jF`̔3g,2XqQc.hm!iNv+k4HxMMhUnފ`i?ft'hߊStXDrJDSJ4f`ZܨjbfȌV(%6 a;yRYEDzpB` Zr}P#:T`bDRhc@CsdR VjZV4QuD@:\C3fN̛2 <:Zp9(]!bVNk-neqy*ӈ\uy|:ERQV"EgӦ,~CCpH HsCv3B Sln 26gn8nښqѰkxJ~ @7r+=;B)ˣ3Q'ecƠNA(+#P"t!Cxߠ3)I||739Vu ǎKL39 f1#s$HMǶ㤒|<.Nͽ;p~}S?[MRwrڶp Y:ߎU,Z׆bKg])'-*:~e$ ApK*Ot}w^\'z7:J5\R px㣯|?Żj%2Mݪ6ʴj }j}iRj׽*T0yy?UVy?׭١IMw=>Ǜ! &^cr便+a:y>_MӠQݱk~'{mIDATǹ$Dqis)\8CȑWs 7(RDR0,\e\C$b0G2$ ̊k@H I*J<<UpC rHb5{g-,3j}ՉΟk[=C (Q)20I (00y"ёTPHT#5 B7LLD\Mg$d8ĖUݝ9E+ЅEDGMEJjX >.Ն>5XܨB ,?Q胺IMwgs(RqO-wG'_MS46[#n$XZp aI~J& :ZqcR ƱܻeqP53+v)lV㑋0B5z:,Z&+9sdrrs ȋ'CYENE!5]FӃ-(:/UUaqxrm;MyJ4JÝkGg_/iJ-s$ QV[p(/ҷ2G47v<}vӤt:tX\{`"WM;Xtb)q3顕dMa"FxG<~t9q`َ \T{pUuϚl| 3t딘qPni*VzzK~6xqE˽]b+I={&j=@^ⷼ'DM)OE\]|'c()o7,瞘-9kӜI|[ߙ.<5DXCIDZ9Y 55wP4J7Bs-6'j !˩غQ+!DTtv=a܍bܺX.J1GJj؅:F@'_Xpqў7H$BiWݷQWZ&'wqAM%t93{D݁JvWw" ȡ;"A ]́JTP#IոnG@W^FXsV$@n@IM8b< 4&nf莼XL  `(TkMK4y,!`Z{um/޿txپfHqlha2 36[U3&lQӪ+Emԛzw7'_ tw\dlq'].FtݦRl8i7øc<;&#!A5ufCѹO Jb0GIDuKwji:﯎ӑno$67s"y$vݧ|JI8Abnt]#ffHd+wJ!tJ(uFT=`qHwhLJ tikُƇ>5r9"2Ep=*4v P6x]uiRbTN` . U{:ǖ:xPxf 'nKG?_%DZmn[ռ[ezCk$Y: y,:O]]w]5 1En8 +؜Gж}ˇW4?=I.9~6tƸT;4Vf6M? C@ޘ|Ts[v@ޘn^_ȬV]ܻ{݃2"80H_&bP ^4R蒬8sKBfPFdTuu 7"$WpbP+Ө`D5&8`X qMC "tH w"Ȗ Bt\LM]Y)U&Rѳ4! <=#yѲX aP5cj5%B8[?v BBZx:}a+0-{C[Ҁ:o[ 012Y39+]Fd7d$kL!t rW/Z w @Y`!{IiB@yy`PƾM46IV"q?p;3+6 C=Y F8`?>~tr 8;3_l^(H#Uv+鴘j$h^^Jg~ާ?˿~#Ko +(utm. L9+ax|7{~ʮɾZ=I9vTJ<<65mBBip̻cNZ?gX{ן7m3ê_movYmܬ005FDM„g-Y1 ; ,k˵"Fp(kgDT+uLhL.G;ۋiر DBTGD5Z\nM(W-VrONHaeQ~\j%olpF9l΃<n] 1Yfb:@B8 TwF9#$# |Z *@QO8z؉r r@B03&aעJj2 kQG00Nz)sY hZrb3vL,(;汄\l y8PaѠ,u]tX˩ebdKќU)8iX ÞbDWRcme-Nt!j#;fֻwUxrD +[$dH TlTW"V!EB} S@ hɥ>lmK$smg)I.s] lGufЄ9(8:cB@?LdbU5䴔iw7_.!|y !LӬ_g nݭ_qQk"ihdE8ل^K,BU^뾩䛛-6{O0wp9oyiT#׾?s~M}1 17WMS*: e"$h"`4%9_ N@4R$m9%JE &aӤZnw'%ٛ DR#{0QZ-`eea)V`?Ds"AHV݅(1cv }и2'wg_/}7lިpU, "$?<IqN#YĠ#̷_>6xzo[?^"ɏ/zPBsIENDB`Сt?GAWYʿ+qY&ģcHռ.r=۞AB]@6O|8 <<RX0Q1)^8^8^о .zFmK׉!nnaSZK}fZȴδ뒔sΞ9&uns‚CF03`$$M}}HTQ@D4"<,! 1z<A8qoJCVhāG爮:A sqRAfQ2TbVX{ߓHD+;p!zȹ+5l9rWTˡ_]pvKb-BFʨ"͇*Ui?77,|尺 S]C2;(eG=M;>2sq]u M?690v,Z*K7:@ݪ[[M,-YKTe18r w&WbZxP/R``BÏ09;Ȉ[Xq#HrVHY[7]>Nn*@4"Dz06= D xj.84$lR!ءZXi޽QOa*Km¯r,׼|ٮ^ŶvNW[I_# 6K)+f.:9>Cmd:{i .Bx9̃D7 Ȋ[MVB ;|_\r̿,{6f}Bl5jyr*0a¤+/Mll"n8jsx΄p3=K C.#7{[WD$X d [wvIrC5ꯆ'\4In=5t&]"67_[N#n$u+?xsCtKSڞ%KDITR$7cf %qv3:{jΫϿnvy?ڒưxKp35kx0q@ 3?,=9}zWVUO_3B؄Ӏ3|9F^^|fgN;bZ!\\EܦpH>'tg7DĽo$AJ2:)YhI ?3'_-dI#-{fol }Wةa%Õ  8zo,uL2Z_Ai>eۢlGOkO߾ j˶~ 7e>p͙"yKnQbRtߧ~ #SFn6l#{[P~ P^C;̡zLY19sWU/"9 p6 q@3X{ <_s2`r"2RA*bb< wh.#*xZhtrQ!A늸؏+$# D(GNyp[&xJ[yp!n"yvn^}iHAUc_pDJH־=FGد˥dg"vO<@B28> %'g@_;:uv <ɉ|Zn}J(eߞD7\ypg߲,J#x}" "'#X9e`Za$1v8GcW>CdԑvJ$F;?S$|a,ae,AIA`ʰ%;K*=Dq H "gȲY1 ^XcqOٱ<=tjd̼דXo2YmYIzՆK:(p0ֆB/V` M_p C4LHpL&lP"/q빜J| 7 v:|vF%G&'>.ah om^K M9|J6 5 O2>9oҐaOf|z}yɥ~̕59"81sf铜2f@n^ؿ;G<- RRT ?WrK̹jݥF.{Y[HU' 7QNs=f!0-^J[c~j)pozΝ_wr~ȯ}yU^ixuT>ކ?9cPk| d{;R˜y(Z@MJ@;(r:(N1z)8:ј ;Eȳhx+>_: `\Ƹ9 0‹F;^c<u|ߐ֌8\dQǧQa+K8'csu*0e,z?Sӷg8r}]Ȣ%D+g~^, CH 'FidƓ]#k 00i UK(]EYej|y" G%R ?ם[);NocLn>d7TZ]_Jb_1 [-XRI~8i#`Io\xzq]01ԾG"7j<1D2"5o|{iucs3y7P8b w`2F&;$/ s Kq1mű T$@SVbᚯ+w ABTwYQnӴ,x~Ryا r%J]&N>pCx H\+d<-塪yg1:4c+~MןR[:rZ}#BW_wvY;+؉HO;Ƨݠ䧧g)=3a*8-D1* :_mE\67`*Ҽ7?/dw ]U`G`f2EG'p`YN1l֯5bXs|Km-5eŃ)z@7K(OyA~BuݟjwNJ}s+d^zc~K4p۾'.㓯rztLV];tPp`qU6,k;wU6,XW 8׭!m ;c;_^it̏jAUKb4aA u&بfJ+^Zzex05^|wz˲!}lYNJV`ԫ\AMb~:pL嵠5l@dz.deͅIz'=ں>߹J@۸YnߘA&b> 1h23𨻽2kG6!>=Lq#磰v!mRsa#(qn@ z8OӿT|=3kMZq\NoK#-Ft }Sl-b }_mFH*A,#-0i DzVWKu해L,5m ;7W#bN $suuX*{I;-/Wft$P]gk _aL}ܞ~!Fm55 w3~v@jrs`nm `/Dw9Ba_t$g5]sT?TpXej9W,]H~&ˣ @ v?7[|[ ,6Lp=#_68rr[>k98Į 灅Yds+Gm*j!cvvAk{C_N A0%X>*\+͌oR^g.qEPUgrBs{ըsR㝫ǽKIcmsbmBH?nXgzͧ{q㨑7i.^skGy5mV[&w R (kSQr| l'V+k?$=^h +:B\nbR@7S n۞q涅D2+Nn?"~L]<XH>, ;O:@Uy-^Hfoݯ]晦PyKo^|rLZj ˏTF,Ew.<\CR_?wyJ09?l ՞ (,d)GDY뙂8I^/He**+X Ωn.6AA.Eܐg}Ȉz?O5rd_R ?\HY`(bNY@IL;gFۈ]h?rkj)Ca}[uޏ͇ة+r"c^oAkvL!$v$5K\ vՎT=x@z$MS ]fByZK!c|DzxOvAM 8œeC_$}b.JbqqH2VDĥXʎU_O-3ߴO0!͏ fo"Vx]Y]Α{޺uyˑ[8kbQ8]W VNY_瘞>||~GHQ6[e&Z?bxŝ1U#m^Z5Ϙ΁u_/`F&n@X֑wLO00/ÐEv\e]kZd2ړxSO^B|z6<`U9lL↧WT"PA[/YIͨIE `5/IoPE5;(8j.Q._(@ݷof;3RgIA˞p#S4ɣQ FhY?,hdaоc 1|q_ٔcbcr ⩤4GbBQt'9^0%miYBj:WS]d?ts yxǷʬZZWUaaa෷+8NS0J=@HݾaCOSM^VJ{vv1n6֌־F &A*EbH&H[t\Q Zp7]t69jh^|fP(6z8e$緜S,(w>\z7UuO˫\9-k|^ZáUDKs)Ke|KG W)ԋqHO LHْ edN+b*bk^vZZ_Zλ7U9j5 .n=rG\ h YcbFF+=pI \$KYVm^H˹s} rzTid h8YA*9xգb8 &ǹ,;ZƃOR[Ļ8.ξ+Gўbi;p{`A"QߖĮIv#NZIH w]i;P{dB"}g wYM:rjI5ӪD"v=>_Xʘ0ɂN[{Ggѭ.4V ޯ-*n$ }r(_U(yG hNlcڬbex+MNYg/1lwXR৉ximH9Xad)ei-o }  ׯo-X.ϕr9B!j'/Fyi1d$M' R^mNrȷÔi YǙ^C?~_Up :0rw㈯zSCHQwA[5Di% hm_ :mU!<]oI-qX¹3‚wc;YivvC Y9aGw}q'P8E2=bF-+{y*CnGm\ &<.c P:iqIX3`;C]>"L뀲1[y?]®ya&g ytst񱿂g.MR𮋽TA_ ܽ}eOEa:s`;9ip*S¶u<1ϋ6C"o 1ف˻&ƅۚY64HxEU*8;o-O͘>>ez, eXHV6tzw876ȖN?h2ft] <"INWV;;l$3X/A ]?ELUI߯3{[ЂȘ(X]Ę6cdFC"8#X0PmCpԽ^) Kɵt<[NTjzlx 4?y`kC"KlY yFEBUn`0-Nׇd8UoHsz!QR3J[4EJ]h 䮋!*1$g-/4"Z8m,-LCwvXNԉ "9~xA%L0p@)MZ| J<;ij+(&T:ݶ*&QDNҬ {\סd Q-Ď(x:oe+0 S+n9Å"dٗC\羘350VZ~W5N+ļe\US:e.%GӠ%rW@-Gx})$sRT/HADY^\m1pK_c%'["\|Pm"hsRAwGfmQV3O>&ZII|tolX^[SH$FYhY: 2℞6;Ca#Q\Q`6hƷJОz /ߑwPE ?^NcBQn=+جLaw Yc{TZCu2Wm#4ufaΔA'{OYɷ' PPw럊j MQcC:k(}Sca$(90f*->uQMJڒ2-Mv_]w" }v"M29 ?=A^yz5eBg+҇ GD>LdٚI= '4t S@ (^lH2V9T y|weWUoacLaG+v>eDŽX>3W<դ-snJei룦Š %DIpʴII3Xd%PhER 4&8\Kre9 kK4-AnPSWXɴ.<4yƳj^Y򸷳<گ:ky_NHht"|[uHΜ#[Z}2T5{Ov7]::D'|v;P^sC,ٙo R-.5=oHp,nGHR[8(1#MTM:A6O_%^B<b3~\l8Nc4ة@;MdHF K$ P ǐ;mY&O21*=BV=esv{?}SVG*a"a]ay@:QoH>EPQC.hE^]h4^TzMlnV͎N$^C5<)_UV0Š.A?grYs{,ԋi/'3b=Qd$W!z㙂Hc%fmy 2􃇳8 Z@Qr3YBF$a߬{DP3AoT'~>L# DUur 5|[8<&TՅWh䮪y?S{F>_Rj #KzH2 &%T_kaVJhl{Vy yK!F3Ex(mKH_6r4>ʀxxp_Zp#ez? Qx 35xx~X*t뛝JLnӚrTaЊ4B8,Vl  W5b5g`l_-DZńHa:{RH]D8]Eg 7cVGnDkUnDZVuT Z65UȺmȎLg&>&,cALv>^8@ْ5AtdbAYXK)/wz⳼oQTYv`ydr6%waO* *&R^[ӆ-ׯ?}Y{9OLGGfG7=[Դ If;i ~CaqvOI+;3_ v}[cjYk91jϖ.re=%P\A"Y)ITsǹpU&KBZ*+t58"1hީ?=|nqwe9ss_FVַ"JQ'xVlh-Vc'>` 뢥~K9*n!U+Q-I̍xSiAwq@#I dqQӥ: M[$SĈQ .3~Qa͆YjF"ÊiIi>~ŒpϾ W,vOÂu;׸>굑sNC^Y5qS}#eJ~!̏CQuu7Tnc~kLjݵ_ଡ{$!_jK!{R5#B򛯎界%cwC}oࡌ97dZd>k#^7< &l*PAHOo?Z"UhK`ӳ5vnuaȧ g#dFvxtcEQAo T $>c0R,_+KbSK-\b0Ah*Y%C97A"G鞖&~9LdA@ЖZJ裖 4úz62ǂ0‘-uVK[彅AGR{Gbp`j,N,5phX8·@G"*MgR (3^e FCjtdw;U^]s?k#dcɞ9a[n݅Fg"tACZǑe''OnbfxsS?=I&$+2>V;v/_#Ѳ AJ㦞6- '_7OzRt0kY]n J!1`^Vf tѼHlr.L1 ZP@c?Yd7Wǔr:xmbdXq\g~Q?py]_u[Ei9j\ɝ*^MFag!#!i_z1TNAtz`/+ ]R\Ӈ)Lւg)K<ezbjfXda_įK,9l|]۸DTY%: We  d%=ENʙDE)V.q#gl{/$KTD3s鐾,jr)O0Ò9dIJUxqcl.T%M(kZޞ^ z~Ww'YpTc8Ɇ"= He}"!$G|& 6a`&otE#2/CE鴙g p{۬9:i_T =/-5&b)Ikܵ]oߑ*v ==?uLқzC{ޖjjt׿ڮ/p^"!*ABq;|=h.Q&-$F ZmUiDf5C>52 Ыp6 XU~Vv*4JV(Ю&Y#!KE&Ѹe/&_3Ԅd'3u(mɎt雃+ xOl;9ƶmsc`cllv6v6ɉ{{S=U35TM|C!r]JQ݈D$ Jl`ӵ!fHd3{Pd*[d>%n"n 4mRɚUv 2!6ZC%K*ZxkJX{0 x1.u!,Ux,/mmA,y Ɵh<}v\SUV8pFU Ll(kq $9a*Ad&H6Uc\8 D.?Z;,<'&զ-%`)Eni.NG!1(0̤&ېQav,qsZ%[k/%(!'x/:gGY.+„'M|\eXpYL|+~5W[WݑX"#W\祫Z}`8Svq8Te9{h!Vb~%C"ak}'NMV9,nL*xu(v@gˍ╆ ?l^>Ψ!kxæ puFcN$٢zqv+i^uIn‘y(ݔN_S!we9$3L %7ǘJ1IF-z,n -r,,8E"mo:s^z i+Qh qP)V(_P{w-h5(X.qpp85sW9V@v R.8| v Xb=9Dd@H 6P\;# g2ZFfos05 bC9fJ)D|eK BzHt7źwe"hA(ք4UT*i|0<א*j0Mksen|9[?ۛۜC",dOq@XTD߯4ѽ z8(LUG,2uHǭjEjl/Fuh37bҐZ'qTYq!2Q:* 7;e,FE)!zMgX_~]\\v-]ot)<{@/9nO>*귲D>dQ0:?̨G]]41t]U$E e8 ʂ5 Bu޹޷Sw@@^x:t%`#4.9tQ6`9V]PcHjMȆڜfEs7&2Z{܍l a]ivFHP"#wRXXYDM3QyxѸ)Adv6Sm3asٮ,:7K蛋jaZW?ф QA#Pղ;5XUg 5cmfLJڲ!BwBEYzEQKߗ"T_3cb`Pm\s*+ rH"z즧cֱ٘P&Sdrdch)-Ci da(b&;eL2P41ohni׭It 6icrwY#sSgz6E6aɨeXWn44VEstI p߮CyA)a{x)?J$b2(Zp)N5A;.+ 0N]>KLH;X%w)[17v/wxwS}c~G?DK@6L%wc(j$ނdD2DG$t 9׈گQW6ך׀kFw "th*s\K6?~ŲkC ~Pp64u1CDx"rtƹ+/a$(3"C#uӻY(A"%M SsT::9sND[}Cd"ZʖADUlʡFKqtK6(b zfN'], R_d1]u~& |HN[ǩ뼼jnduEd_DOQKIk,mE*Qѫ5nCNgN-ѳo>PtlTV%k/! oֽNocؒ[~,QUlx!fX?W+hqG&R EB,-v> ?0_a$;v@''W{+{kapI& FA= ^Vq<7&6Ӿ~/m2DʅHpz\VjUmJrE":[ Kbtg2}ɹFw}yBF$$#^@ n86<Į]qrVCX@;+ijǚgʗ|#(ׯ#x4QvEr'^oo2!d YbkpHKuם﫤XY(OV~44>= = _~^߶Yl "]i}An)}TqDYOD]7 &zr7pdʷu9[ ! V2wbX640=˕뱖Dhk0"-7~ǮIRt!5j(HD ׈QbCp甧BlU1+se:'D{l~ST\t.ZkS{~mADMkA !6/a[`4.kUrn|`r!1!$1L|Ou)PwJLZt?J,f |'b::0 _gUɴhx2'Ķ, 󶧘Fه1y߻Î.H f%k[?hP^/2O3>oZ)ݻKy~wK"dK *c5$_JEɬ ]?3; "ؗmldBx~" N~ ; D=Gεr!%و5 qvbbE~e]@gf5/rDüar rq)-W,pR!:T<UkkL(O݉ O 5Ysxg3 _m :-~`=R2W\N Azq3tf=yE2TYyb X{J1=ȊKޮa>Wگ_{/o$x!9h>;M^k(5Œ[m54232JfSoAMTefRg#bma(%Cݳ͖s8,խJ  t5b]^UjHa XTߏ噬|3Η|gcu8T!!KQƮ75oI2K{i"RTQQ@Z% hPHVg'79i.Tow'ulb?* {E mGg4$ˇL%.;[gSBώQ%4~5lp(άEA-6R014N&̮@À 쇉jXQמ-㮹ԛ*RWZ* |~yCB͸6ɩ30Tc5y4l_.o'PϤi,Ԉe·|[f~k[+܇E.F S/*'RM^s Z0ЎxŶ&qW☞'Z?jf߾jZ?`Rо>}*rث-؏>"yq@UE>am1ђ(4UlYq;gc闼KJϥf< fhC4a\^#S>~m-NY&tYXm_aBYŽ*rآk=7ztaK?} :NЎ}*#j>)inUe*KivI0ӂݙj&q"W8kݠ}7عoqo( H|,ۘczuMFU׵G! NE}_4$ n"ACi6VJ J34o}ŠfKi < ̈-WYh<h>Xi;kbW>R7}X!v20V̨I̒@iLb Av"e$ yNےNug՜$> Xߖ;¨FZ1T23IA+AjQƷq7!VῈ F@(Ihy._:ioK0vk1P{ A!Dѥ}W: ;P >>ҁr 4{)98]]Xw99D=|;=t}קaS Zs^QXY?#wi?4Ʊ8җ#ycZaAxr^e(כsw3$0;ɌzfUa_XzriQ`fb{}Ro]Yjzs~6o洆8I3%1D#hjd 7Bx߫$̓F)~D1D )wO\{uDNc qlZ@:{#h>tz>J1m1Mo9Os1N؏#p[J/S2DxWMnq Q午P]:CZD6$F[6VZ =EpBei-hWuVj0ARPr҃*\ f2 !$us~oCKOWw՝5$J!.Wٯ.GU ,tVN)(P3bDG$I;6vq\ Jo>oL5OG ^9;YߏFa$0B"pzR‹5?9/gS?Hٽ,(pId^h[Fٰ&QZyALt3!ff7 L/=Z177qiA6A1є]ʚJXų`r&SDp-b8Ȍ o{}Zo։@D 6uJɰPSa-gZxfq10Qqe}wCَhKeǚ-Fn[Ct]ClC/Qֳa=n|S<"iԱl`{t{O럦/=W5pr`Cޕ$emQPwlU^7͖ZɡǮ-vGM6m_ܿg6ro2li9 p_|'H&ChPG6a+h{:IXߌk ,]Q )+JRbǠl]r{aȷ/G(O =dFె')Q=oXvm9r}7;ޕS[F~!ϠQ68nrl;`z%;97yY V_^^8p*ed)qMV"&-j2Zw(IuJ+PGSjǯf03t(d_NO:oF`)lw?cú:4ڸ9YG({G־~Ε+5)%:KxZRӂ7-1kh>S8qH &Z)nS*LĘ`VKg ;#A| U@Bv% 8Y6>iLUm Ɵ:(^+ ̒@'r|^776tTĵ8=-Vf"QN1~>{D dWO,h۷/6FSء(0АSR TYMHђ_uM-y9* )' UZ Ȗ uϬϴAqLѻ^`<>彝\?WdYttKӚ[}Cnη5U&b^ v{~ gAJM\RL&ē7UGJ"mh4g6/p@ːcnP4\5AB8⺚쨐t1L B5=̼>Р']#@,=П9c,WПIztdͽFYtNuפQ/3:S>uRxgYW47luth%Q;|z?0P?NR'Q/?P&KV3O2bطЂ  )KdAlqcof2 :o}$/}[>OF>R0RR0)vMSVa438}#rd/m_t}~u"*?4ȱ2%ǝlԫ';6G˨ *$_UH(` @D0`33pl? 9Bwu/r+:!Cffh[ZY&?ZW2(A„ frl홏Ŗ3izl* E {L7ve%&hdv9'(,m<4r#d3dD(ȀNzfE-Z3 hWQ~_͕*+1>o~.ݫ2˻ؿ'goD3JKx}&kqåɾ- a)M&Aܜ| RG7⑆wQaG ,[.!V/T+Dl:qS21 ;!֝N.Y13X4Tx@|X`QD6OIC|ΎBQI)lFˌsy7fMwUt!N^o7n!\E"p \Ȏay)[ Ū'G]S,r/B\L7rwY{5b]zGe S#Bf"_.EΊ=qTqR9{DږX#+ -JԔ5"X ŞhT4{#NY݃~y-hAOm<+JޕTS( JJDJQl;n%iX2W;xI~5cֺP&r .Y9Zm<-VqLs? hND vN3~q*I (CڧҙM&;yW]\2oL 4jh4D"zXْWaPŖD 4 -Á@ƠDr@1leYt(R9#D< {<EuWk%}|Ө:LBh9joz?82^+@ɑ7a`!RfzS{. GMdKmGCdAFntaCh#Iw<`6 mt!a*̬XgGmo0Ѥ#XL\ Y¤*f@@gh`_>\eWka?9CZkge<sKID8ޓUkrs740p1eѡa;]{ªK~ͤʗ.rq$17m*\ 28mοh岵 MxDt[W(++ɥBmy1qƣ%u`:=ƛ͇vX9%'mWNSa" gAqs`eZ[@< E\וW`Yѡ#m׾IIyφLۆyjľjprᣬקM? $~l{l,v IڞWCd<=O3u.:YPqLB̆\QuU?"ۊA9`ДfL6rrI^]kaEZ ^Lۆ($S 7}/|~ oI?*cX^h|.ay:}*߳?X˚;ZalսVAI:Y9U\w94TT8N9[}uM;uA1ÓOaǎ:X-L$U]םꮔCF+ûK'$d{\|\4i_ˠUHHNTvs?rPvoⷱfH$13`P!,w|t96偵3D覒BV2NJ_ {Ro[Kr `8a"v/J^ffMgÿ2#7;VO\)qs%˞_Q_TK=N*9:3xރt wjJtF_~t 7*AH#% A)|x*  ģ]Iݨsļ~{Y{a {= "TBB4~PeG<=CCAW-b{|"˺A[[PӂTdd\览56P/4Ayz)77UzŃP/ޕtufV].%Q'VsSQvFRxq9UO(P5>ݳ+~Xiuy~ N'{ֺ{+qGڞ_ն7?=RwGmaRV zةBkJMX:nӃ+g s~Wb }Ϡ|1k ߑQT*U^w.֞]),\~MSTV~ϳTr4HDxJrD*6 20-me @X%ݫ+ǐ߻:}:yR:z6> F]H[wC]`]i¡]{y iQN FJ#`h C@b}͉٤|yEGn#`0P@yrj܃RE']l+\^ #r^C+‚w¡72\ЭrO)~}'nBWGg[h `>bC ]B}SvrU0&9}v)۳<{r~16o "s Pgt ( >9ڗbnj`P[:!AVYA'3Qtv(6j+1ISgeA Z˱́p :J1iV0U7Kݝ[wK9"Dpttk }9$=IowOf'51{ J>Mi>u/mH,29WАMcm=k4IҘ]7׼ΪY7fSȱ1d?Sa6p囄DrX>EY2@ݪΗsukjҕkZ\Ql wQ @BL |U ÉxrzZ5z÷yHEL\d$;SB{)+Mi(ߙfpW6@9֩dC'QY*3uV)wu~کXy*w8,#MhB=q+;.hKKuhH$*~-c}Rezq~jUGsWcV_cRΥQ=w67n=6g!5{C$y?^}A3\_\ }mkњ=Z||,?|v`tn|pjskOyZ1oNH.\>?5[녟}:na~6-Ih+&X(ܨiﯭ-0]2j T]MG$n7#rQt/kzȷf*^BȂ1DOm L&1= 3ir g11)4*GiAgBS2݌ @X (*a~EP |r'PIrRx}h @)mP@{@p<ΓhK!!fv?L pudŀ $ҁ~P@HI͔[^$POf<.S >m>ʡ4!!;&VXҏ w̐|vgǞd|5/DPPb0%W zdUͺ>W䋊'pu5X ojwW"-z[1SRӈԒb%Cg:C$c&f,ͷxњemBߩB&dλM/3x6s/ٟ_ovUv\.5|mi7V~+tg~3$pN߾,abAPWLc8ԶAah_3)e?Xl*TN*Ή8g1|"HbOw/NQA8#zょ}c|ۂ݁NCx!E$̷P8^$Vx,q̟1>+6'.!$Ms+>s%^f|R&e<_/9mb^|N>ɋE.g.OFCDsY8DUW?UpF4!?KhZy>SuՉt `&T ^,z$(ٔɜ*a$,Qm4M,IC,)oP&?9!Gɽj 8@*Bny̷un^?e|M !^/EğD#^%,+aռ6-.ƴ @A&YʼwLGܭǢ/_"gXZ4ݮi'At7u}\%h\mWY&*DB'kNAp .k_q&K I\z&F%yy<]`t`H&ffsbNVnѭ.]z6Qp\?xk4?mcHV,]Z6B=p4ɩ٩nnz[Jf`m l=M ¼#0zgQJ&0sx)HGRgu)nbA7@ӬY-1xQ@ma^#rb;k|Ah ͪ:TB |K;~[otù^tZ-ew$5?~nm><8`ae{HУUG>*ًms,Qkluq˹K]qMdz 9hb y*?v3@Ch-b#C}_7Id91i%NP-2 B=u4g0 3fdiJā$Wͳsv~u|"1)r1 x\4 @_Yd9 nf)M@俰hlPal"0 !0RĴ`@:g&fE&D[Msݐq`:sğsb"A.X(0l0C,$ԀVV %ĩ I"H{{ݪ P%~7VVȘ#2Ac&cO͓!8SXqc塑{t 9>k}+cfC=q0<BU뮐ߣkxpn~_*$>:q[`R?gnt\ %`OxzVHev"92T% [nKV8:5V-iV_BV6 $ύEOyEo%]T]n^Rc]UѱUū&] aٿbmnkWoqA_auaQ}EI!}hrXZz?GajTUo ˵cۖ #|N7vV;fEeRtL8+46Qj^=zwSBfђGE^x+5J)8+ ^|b^' :J@]1G( B,ͽ`'\FQ J'Fe3ܳb=n`Cula@JR- |LHMhՆ ʂ;bguӴ~!~Gwc_^8ȏ0j B4";V::e 9 L(h#'`u8Xol$@/>w2oT8*bH^DHW%ϭjb;R"^ds pLyUsШ9ѩmHͥ_|O#:6E= -PHLqgQ葹M4qBonJV6ҡ7Z:7,{׭]k=9>Riyw+NOBv_Vf]R(d͢-68p¦VMWmUW{1OꞮ5t{E۽.`ULxUTQ-b**`ߩJ٧&7H" K[ؿUs237[(6^qa6a@ IiN.Q#ID32Gchx{ςk^ ڈ$ٸA֊9R{K @eY:b_#*ԯpM+h`''Z}Bh d٩:?+r3A\C8ba,k׊vŸ=uA$¯OzX ofeƳ2<;32M5<03kX^ѱj4SDz(Yg]̠P"YY.-juK; QԨ& >Qj y #b+i(2dAeqLNR1+sƷP4x;!tV4Uv&l=g33Ζ<9`,4` @?/sjmͶ?w˶skث?Yu&RMwܵCRnB+OʪPAڂݚ'|XN׷'7Xc6::})aʺjk6T -vYubVJ|}{< y.8;p]U,33PkWRϲ{!4-n⭱\.*;zVOSަK+}"3ǘJȴ/.\+kjl5.YNB~`X[NO,nDFn@Z 詪^Α%VKie(Qm"ո/$)%"9^0"Kbv"o2RkNirNCVN4sƷ^e5$"05wV;:*6'KGTUxf)zZLOfi 7C`t/ZˤlsDc YKR]kz&n2;{gP8Q/tX(ͫB;zHh"ZC*0"q2lca G!KPF:9W\l];?)V's8Y'saY-EHH@"e"hB71YA_IA7̱`zAyvUpStv9h;{CBo8H Bðx1sKO;G"3w,,&GSuU^4%eջ= v~8NL%,YX[1s.DZ/i݆*.hr% |bFƐxeѲj'g3pi=lqTuЙ9-UwE7K$FDTBye":{@ā2r 8Y 28YA1D`s8Nu'ɤ4 7l,)`< hF_&g~ʨ^̀ UẶ_3~+'tJDmB\!6fC+x,iYnPu܀ْmc:&(tJr7/|Ȯ/ĸ{g: ߛͩ?z[N6VL Q؋G=˟ ’U!t9W]^ y?Y LdS?veWg%f'ʖ *>|K21A3#ӂPuu1)OH?+Hz=Cp@!9(YUÁE܇rtGGĹjB'FrS3WuVUx"U.î ֈ2+$lfNʋ잻󵳒nyïOm\Uwa5]C0JdM~%ÿ3aYy1di#4[%=zwt/8f#b9 s̬v9N TK|Ρ&'woɃAO4A`KV,?7xKe@ʠ00Z*smQsC|9亸IRtde }*}:vN˿dѨV_ȿ;ȱLLV?t\L- T,ơ.$\;3Z@TL"NW{(K` *zD:AD26?j\eG37VX3 5#YoTzaoXL+zC U-*˩cn"*_J9ͫrҵZ|& Q|9lmpemڳ2W!FMu//CS 'TstWOG.;dfӅ|7bb˹ra(5*ݱndrPbSd>"Ԯ-m}_k nS׿7&,ku+m_W*-rmu,&nXs AXO;{Ymܡ{z.VS=;NxCk>ZZ%nHc  b{%6LVBJ 72XXIqmqr"ߴ>Wܜ\Nk$׈'_]y}%[ݱCVV챁3%Z!pcAE@B5L`APnA[#M@Qȶ:G `ynL8[xsuA) -0"Gri_&j' OxD+"{'ٝo2Ù3LTaGm.cL3 Eٝ@yK*B.F; :9^'*880 lY D9aaVˬMGvM:m5*WDa&.T9xA{pf|"y%9[H䴻6=4AEf YUQ!,g"G#Ǽ=$Nfd6ݲucu$-`}8RyT mh9X "DʫB%9`6 i9ԸRuݗ.g>oju7/ |cݵԉx7g] jUcFzT6hekӝ=3[9 oP3>w[Z;Nhv~[z/{'2縫ŝޭ-г_ 'v /拤?W"DI" &R/Q  s 1#рH0m># DEr'34]l3(,:W kGASPGn-=o=)LvW5uVՆ,o.Ɠ~ɸHX'X2FcyΜeMp̳b*!2Mΰ*8|^(Z$:*؍#< A'1R^Yr6)~#> PJ9ɓ44G\K"|aas Rm]H0;Eᩄ9΋<(JPGBC6[7H \W@F6 Yd,(JgCa= GlrqϲPM~g +z zk|LD^K>Em[o^xgνuK ]E]*3uO!noxseDQ>+ds9]Mg3[6ASSWo<(jJȲ`k'O|r+xFba5[ƔWWhnpTpE{ nΫ?+]}]7T wfĹ7Cg )Sק_)H_U|'K)=^x{b'O`T.Ʉ&c34ywH~*ݥ5iw;r6휸' ).S;UV[ul*UW=p|/V}~Izr4E5p:\N5yNs1-p*'1NCF0L@P#F?q@kѺјo{#o$]sgJ̚egG3Qxk^\)jЭ,ȴ|(ջ.fäCx|MQx-Om-kٔhNxݞiߪjYnٸ;mOj⮉#bMOgZFJWщ†T{x21OjKnTulB[ᇝ}w@\ᚥW< wmQ^~uI~U<딋(9U1-@&Fq( 8 "ω&S܈[ eR}dacPqnv#QtؒXvDH$qrKزFkRȍ6WAK3DXYg-cn}ec.;T9IZTu!lQD2d\*@8_X̒ej9C4[4!@j!f dGCB&$χ"$! # a#5b&q7=LHHi< IDAT 0 4[S_E@h$Xv>7U$<)<ץӽT\ɤ];#ru}W5*28.#%au5F(z4f#D jl5@f{3'jG2 Hhs@ ?`8s@Q"NHH[iQp]3vJQQocJxG?ݲM0꺿;>WNZdWIQ1 t,X_Z! -[BZ |kkƮ}53IW=Ɵc\4|G6$'+=$DPXruUNΌͥ:ɞ:YtEӓJM|f\y7^ յ\E=5Xq=)umw>BA]{2U8z˺ ,-mIY/}l:Q0Z2ɼڲ w XJ@XH!@jrHZ!4ٯ0 5YP( |WCZ)TXӉG0=wߛn$&n[3{o웗Ӝl@l(ﺏq||~`a&.F#4^0cŇ6 MOy}40Y*&cw(u< E,? JX E<:O~k3;޲y+6)j'I3 gFŵ# )Fˆt q $M䗴nZ%5%LO/C++ψE?osZbwVg ^QP T~D&4"lԹ",3 lDeZ'@PpW*'{}I7__\vY(C;I2M,jǵ<;s'zdz[oɓ׾{L϶S7L' mSkm} Gf=7ڥ_Ɇ Ƙs-// 9<޳ne!gǖ, 7LV⚓Z.kNez%i* +L]QYEx37mMu7 LǎS%iXfD%RE5DVKL.wCXʫܣ>(;ٶfɉϷn$/*ݑdu1-̢2>y<6'CkyBʾU<].c\*h$ L<.Ar}on\QIfBQc%zP=U "#]oe* k1B!2h[V`&q36c.gǣ '(˃,,扏E_3gz]!=뽕\-x"$z%lfemer4@a9`yˮ mA)d6ϖ~[yOndg"Tz4NNo\N`X6; f1 ښerx'>"3Þ5Ա-~S2DB-yobnf୑:r^-om@rc|̾Dj9 2`oΛm:p+Ur37,-hE#[DEuF^[صOemDyܻGػW<{;0U7U@1-O* r"/CQ$(=sSI4@Ilv3:tyiIn~qCZC"C3ԶA.>/~"z"Kk;7e_Ҋ>ާ7vGG{yY궠QɶR侀@<(_$xs#sX`+voȏ$A*E#!zcLF $  9x0 6_ߞݺi-l_X{kϹl&X7:Rig*dg*ԅOdsOyu7{tNxM'olb2f%񡧎Uֻ6/h`pm'1dէ^=ۼUL`O}4p1y8Aeغ>6v<ٵ(C5AK+\.#XH@ĉ".>H *+d5C;TvlU+ۃ2qoDKiDug_d ;TU5 A%KSwÎGܘP ڐIψ:72g!nJ:a`)x"j8*f [7;H;/+9(=";+b%aY:?jpHxa%7 ˪JTzGp"+JW_.Y BZd>TpGk  &Y@'rn>S9˚feX^/N<\L(֖X:q#ɞF鞈13Ͽ0؎_a?Y}f\Ȫ^??1o#~Ujc4]ro 9]m 9j0^-JD]BGX,0>^Б\VD$ \ոE5yH%+r om sR22WxU%CEÒ*19BeKzp@mZwWޚK|5WHgI&rV u %. x`h\ƕz..]~uB^pxX)IBvTi {C "pM. rʬR!#a26 vz\>QT)v_$( ;^ DCk%LIͨQKfZ&rtt*7*ļ,@fȡ*e)3J ʱH,Dzbx89ɹlo/wu, -n m͕~ 6Ѩ,$#82o)YWlW۴l: t(Ch![(Xm? GBٗ:AΒ':6)F7Fq ?wu_rJA8WJ4,EE-*Ą\:KQ$FF#bi2ŹKd.Pe0TݢD҈4 %A@$D& xdgJU75?y&_GDo-" %(5$+-1J:+hTKBP >OK +] eR$[J6jT[yK>uC%?ml}#ǩt2GҬ%V[Ik%q?K0>yBBȍkb8;&2HL xPxQ%Γ߅eNmbOMohgjj?)#Vl2+ dI-U+aÓN*F8Ojk^ư_Sh>4SP*"n,}/$({KtS _tM+;V+w\Ggen MQi"YP@>4y\ZҮ,\%a ']P+R FD%K$SU1ЈJZ,̜S46Wjinpe"Xn ,DzTV>,1q zB32fME'ȁF=lӷ^\.9|kw~Otyj=,[;>&Hcn ֱX]s_#C]ڞW>ʱ8?hi [1Yc.SCtKX0,-uG[B@2yDj= $8caIeq`p0)rY*8']n=IHMDi$!j*> 4+*lAHP,KJ "idO%ZHq-&ٛ! d%s2r=v*V8Q{(vpq~J] ²r=f|'o;+Owb_O׬*>~?>O.{apv,[*Lδ-ZTeT),ҥ/B\U2NJE \ CBx*=7tDŔP~7+\^^Y?O|.H gfW@/f'j|c%WF S<_=6L~.>ғj?[C2>|g߶kW'cjz\3?gټfݵ͍^9[Wlu;O~p4O.Jk -d 0גk, yE I%էĹ}mB|\x9BDnшrj@bn *h w15pV=͛Uɘ*DY2OZc@ƍ5\ tqQ0'eJ<_U) tsȔT>*șbA|[~v C1ªZ!wQA F`` ̟Z.U6jΉ]%5y/7ŷЩ 6ՄI=j)}ڕeNM 53U@ Bԃummpye"HE4 D&{uUk}b媮Y9ٖdIlpdL 03CqH30ɶ$#YRKS|~S-7{9?]\>kײ)垐(%Bl);8H2X ch@94iDW`6u%Up𮳺몊8 B rJ@T L9И,\(b]/D9Nu?>뮾Oq2L2byd'3J˟팍|2_1k4JM@s,vkK̓J)<0(Y# =Fnۺg8TV%NXJħ@H^9mE[%&'=(Wo]|l'3 -hxT$gEAr}t6KyD G; .>>;=~׮[;9zrPw=%گ|܍_ɯ~ǖ,[d믿>+wmCKPP@=IRgt3D1nr LBΞ_D"_P"zu 6Wzxe(TfQue~C^ojrRW#t뫱mWסApp,$[`uTPZ@)\ֹS[[[MOL856IKX,qjzpp;aW>衖V} FT9pl.Dd@.u>|}]k!к?6Zb~iNy.V\*ꯪ KG~OYY>s_kCX)?r {@˭wt'RsXz<՜r XVz^;K\aW]gD2ǩj;F3"7үh.FnpE2[ex>t$>rzO|fJ?yjwkWB=  IDATRA&W_}Gх X4,K'+̲Nu&~ B lq`awxBn_fp3J&s,{>Ue߇p҈;IV`]v1  @h/penwyZˤ.wmsNpGk[{4&p=^UCL b~:|.K ʸNn}A"Fwh]_m4ݑxnPn Go5*FjމC#3lW#G@8 IBU@`|WhCJ6_(Ni ' T#lG-+B"ټQy,RjuG ;tLcc5BV,[VJa@@KS$H}x?󎼮 Qr \%wvXCf nB/(jؠ&Vmzo.,`Bcv"m8qzq'~+L ,^7o\(ԾgIC&s.iYic}8]AH1#>UJ%fLn %gUtxQX z7o\8T*AhAsa2x=ku;n~)S{zo}ۡhO1{ܒK!ى4!b uJ࣬Ppܔ(+7'َ+ݽH)k:8KM;_Xyٚuu9IRd'mMD,,}erO$zc=D>rz5 IFIL<`*`Ypw1r{OWZL-oao|RG\2Op1en֕dsZ;VYZu+)%7^J}N) /&m{eFm %˯*R!U H!伒/]uֺneOv,ymB)MP Xe*xTip BGV̀K2jDwp 7ˁZBsr6#)0s˘ )EP?;uc>wź^n^]0ic(C*>%%Po8NzGڝOSG=ݥIT@@nZ.)9Ү<6v@<ؘB: rn, & qPګ[ˡnb+# ФO{N@"!}o-x 2Cl"% ABDU LUytU'9cݣH % "Bcq2IٴE@rNc[D<%a%-(XaH$dW\Q@ȔA*#rBQ GL'P bP_x'eNgG(SW 4K[&U "}…Vjuu>FQumU{>sZ/bP8"_d z/=9vsE>KS]mk"Ɩm\j噗2stɣS ˆ2߉+}'ENL 3~?L9/)M,E[B?/f /'>A\zŸ~W/w,tQ(葢!E؂ 0`" hǒҀ̈emQ=ޖMWccҖ~'=ͽK.ZWV"ҍj['5д9qӑvn}mqeZ K4y*׳ QPM]G/=+Vtzg$=a^OxgXחE#L:]-Tp*"rBբѕ]jEhfKXϓI}EµʘT=E mS@ơ(E@F2B/~uw8vS`\ }3Cgl*k~$e+t{qOf/5;931ң kS59E Px!yVF@8[ G:|ն;xg^!Ե|!}^.3YK_\xv$DuOAX$Y҉5!I">e -K0" 6fK%ee۶ØLarD8%XL0:ۡ9GB) P8;@ %$PdMCMeITpdl&;- A0Ucͺئ%  tUUYYWHSE&'~׭1^xN" b<&|k-V۫YN`CJ} IRR|I|^&4ʂBte}WSy_\}˷?{v,!.XgvtPT3UĴnJ$tOLGYlM3go9H|Ύ_ .=D7)pS.>aJ噲iSv,Ys/$uWa{~3m]XH6'<| d(äy2 ~x᝴D = }eyO]cEM;ڷpQno 4IgfَѼ#qy0]Zvhٳ[7k;7PGԐZsfM>x䐊eD"JkPԍJ>Ս8g"U>T(hN1$ɿqwN4 :0yDu~'|C ̛\ x)@#"hQϩN?|<8qbN"=Ȧ ʖhJl(a0`4鲐0m4AD`Я@1_l Vq`@ 9%Ш&p-xE*``"Ib %+)\ FP%L8Ѧ@2]~3}&ַ9|61`TN;&D\7NMGaꡮhT%X#.n.)Ֆl%NBx^s7O'y[7tSϳqi\zfL˝ѝRW"lC!e@,g_mmϦ8e'zƇ{ T_0ʳ9FrS9֥ŭe&7>i}ۏ.^PR__q-ƜMR0(CG)B:5&Ϗz@~ѝwrEb$e~߿1)H)(^4G⓾%Bʏ{Wnv)Zv$YkNϞ:VdqJ;vj6y셲5괴ؽ5Lwz"JT̡攊T<O#T&)FV[LI:: <WI 3KUa>6)̝(zL0Sb(TZ=K\4i&~%^J9Ç_],8'9ėK}!18 Wcx:MQ xMDFYx&勣C/<>6 1^d՛2Lj<7wyL@*\Oq^~="^Y?fNb& ²k_Jz%YWKe 2w6s[$+sm:Q kR`iA`ap;M%IrUpBOEoˉ0K&a`[̶wx DATVJ%I+Ù][Eˆ\>|vS3Wr_G˞=VtOU|Dk>ut7=ݥܟ> _OCt@kpD8z-=lptM^]Ze^'Lirb6 x2G %4>Gx5㿨N %+wmujc"3P y`lL<_1_N}mٳ 5=m;HHa O9'b<%[(c7ݿ[o%J& @vif<$ҭvn{!?־67E6oë6=$9v~yacZ]捏%l)3TVNybdPݖB5yb}턤g F?o*侎PKZ*7гm#IkfLS6Ox)G&hTVǜ )ԾCgZ5Ե患{\Ep}H+ R Sa#T]0Q i5UCqkbuw\aCooQ~Gh>=cu,px_|tIZtõU@;{PY8}"] ٗ+[_MP쀪vG_n9}7(Q-uJjV=7EKi҈F$4Q|>Mj;t\iX Ѫm:u*l񒍨*CkL^L X4C2!Pp88)K XXOz{ Td2f>瀦#ɠfDFgJ <@k/~G>ԟ3嶖7#mW>x uڥy/qt6۠opٙqg p} .]uS:ӗI)˕_ɂD̖̩DlJ(IL@!<*$3 ^ rZ)D)p *\備("TNR @8P6 ۴lD%PUq[`Z6PV@RP pVQ^f0 c|o;_6+$y;-8`q2/~hkN Wn~ۣ;BvT;(SА /3Á `liT=>&ĥx.]]F5J,j&V6u)jyBh%,+Mh@]0,Gi58Q\`3i,.Z[oW) s,9.zKoY=_ڔ &UΎx=wvk]-j,Jܻ IDATM}mш6mz+Aۀs? >ݕҠ wwu& 澊ʢƃHmX 9]_­P(ȟ}(6\{\;zHʮ\e|YY WU X[׉NԟvT<*蜹 Z5ua- f-m86&,ڭ"l[sGwg;?_@i8 ,eҼv79ޱv`b0}aAێcFJzǠb~OW:}8u6еFvr?60^}f0Z9^}{Z]qfz?:RmԞS)3k=̄x[[ \V (Bh J؝1]&Zz(48HXϊb^ncyN^[u~C-jOjpJ F'T(Ē%6w8hNW&ࡐm>T }?\0sT#Q_eE-YKݟKSۧIkf9Sxd9%fK6p!t'=wfzۏ:_h/hwh|:w, ?7!z$@ƶU_SՈu 8;G$u\LUY-*P {?KLW=ۖ PIVi4pS4x--xIhpA!BA8o PՒa[ [`ጃ`BpD{,"( 0&kc\$YDd,D $&ȚcMQ^dF$A0MBQPF Dpɴ$h[]OTp4@¸cJR@䄀i2䗿RQv !+ X v6Ll V>jBWkyuH&$]|?t/9D|/~ *[ZБSs[п<"!P(C{رwٙaE״?<%iv f] R+66EBaӣHJ ȸJG/D{ G $K3/o癅{`x xE_̴Y(f:{$XsGJtϺM`kD& ĹC'DwHN<38)l8 [tǞ_\.+nҘuL+ɯ2v[L1.ks. )r Em.ҖI"TdŢQkXNFFaG>{4/ WV]D9f&J-Q%aJd Ų!{,Wǿ~fֿOCn^x^Wګqo=1msE _<}t钖q)Hu=k70"-fѫOS>5iu_?6DZq׆caEn(xaJccҙU&Qn Ղζp?T@\}DE+IL?X]r+\ $#Jp؄ zZ::=>(TJ̖/[N&UhsK)t7[#h( PDᒔ'9w8s3PkYR B$tn+c-I,AAZ":H:P.FDaf$ෘ%Q W2U((0FA?!l1B(l[!T(*3L̴˩,޸!ĦtE7K*Q.jf=sP]6o_FuK)xf[FHPسCSً A}jZD@G?Қgf&n,Ik"D:W3߭&ISTxrHe\(Ӗ٘ cz')DcEo5dӗN[&MSڅd:(DvJƃOo._jBpUӯȜ뮷9ߕofGXߛv{IX*'9pbsߖO֜;VUw5ȁ\nV}dr)C6s~Ϲ MMWGmɊ<30}b BhУ(3lAlX|ٺMڍNpՆшg͖`P^:>m:X1Ci$ !`?E Gh5$yr%FH !sVXxBSO]:JkO>b=1UT"^l Z|J@]VN='lvttcV6 f)~k5fRkX"(c{׾_?upF*cޮ\bqL6_I&~[u5Nا^8go*U$էsH2uN^Fue.xr.|6jHZa`<ަVO)ͦ{FGkAm;>Xp}^9&I @&Ho@( ?I7MbYL|t"Ud"Si~U҃aye]/ۜ;"r}^Ed"I`-Q׫eYT$PT<15S(`2%VmCH)DJ!thȦRm0Y@pJ%Ll\pGP*Ȏs%.ۜsJCU9 l@B" ܴ#y$M!&BXr/K~GWF"%dEv,[ؼ{w8Pp)\:u$ :"a>g.mD&މ=o~Ͻm~RnϘ)+.m->EWG/D^xtEs}ZfƘ1…z~&@W`'l5DN!z0R#-A=M7ܘLT?1WS30C*==>ӄBrr)#y86BĚ1b ^0&,UD$:lpŚW_]x٩N==>m(O6ďrՋxn;O˚䒱 7]Ѻp`93Gr<^86u5[nL&'! \5b!y!~FJw/-aP?R'pO(+Lږ͗8Q߳.1x0y\{8,$mJZ=xG&)rv(y``&H2x[ffǠHEѶP )!PdJ ¦L:2ym =M}bd0 >T&®W 5;.VN !Q p up8YeHRyk82y J^y,) MLѽ&K2*kn>vbeIvj/ȡv8=F~N_WKdsT: S= _S@V4*Y',yxSssKGKdXE,LnMyٛ?;܁'_#;g _b+kh4!%tJqڷAQ.Y@IcL:` G'<Y ΎͱTI7qc3ɩ)K 8cB"@3CCl*pPIҐ{)iVTUJJU*&Y䲃T&Ẃ`A 5McE\B$vIT,@Wv`\LʵF7l8"WtJR.[ RY%*I":rq;E)TD y"涞jףeӆCY,YpWĒP9,۶&b( g2c7/&uB0]v}~" xGT}RtJmWI&fTg֭[}L:$ klE+'S_xtZSp*PNO S_ #d{uEyj*ruˢ]7c83Oۊeݡp̎s3[HvS3$~th=;M?պ&I̖~>yV;=]۽/S7r'| _(nxzT3t$sjdf:խ=}|3d-_w]qhohZ{Kύ;g4O M6ӹBэ Ķ7cK?>;p1{e k/ް2B)::d5Gybм1ɛ6OƢ#4/湏'H@sBkCT\n:Yd8X vuxJ 2K- ˞+LÙ&xlۯF@Tf/т5Ϝ<8zagѩyR7݉Foc:OjlQ)ȥx($ cU&t6NgR鮶D:Ð|XUr ٿkdH\U̵^OjVDGb~ߋisZDlsViBB>c\Chf'暥MF S_qZ0RP˗gљ\9e ᡑѱ ;514KMWePIiŒe*ɲW!S% *H:Lٕ1WU"^]aيBIdl]QF.QMdIQ$ɲ0.m0ESg[S"T%"lTTEDDBEʖe J5=9LtɧYTL a>pLlQ~ِ~;}JYuec+޳9Z@^߄*~nyǎIK>_į}nmmS-8V1J,AZm-5W=G&WoV龖ȑ;xpD0>f[>uTh-rL<[ׯX̐R0tˣ~|謶Frc֖be >=tvS Ƥ5Vk^v}ƅ^ek/\s;VpQ#7rG{iuP>}N?P Y4+NӁRko'VR +Ս;FN<m] Zӱ;hA6*iۺsӴΜ?ӷ;+մT7ht־ַ7FN|Ș}+'~%%(~MVfuUTveֵml/pE+K,ԆKӶUtP2{`]k$ hm6v(ZH9z(-(4΄qV{Q[uk@ bz򶷮UkR cD׮gJ,9ATjv)Mɠ&6 (AcPjҖY 9x $ \EM|0I ^ kѫ yrU@`SN([K`Uks@ r|.05p\WMx K˰ w $aZ$1,M`%rb 3@u}mH|>ii Lh2ܼ}6ݣò}{?_쿘SMl!J@YXP pXmEi@v9 Q BN(&p#.ϱLQqS"^R9!#뗬wFWxNk+)J/s!BrMYJ<^+C[ EO}0b+:Q>'>sZY|[ZS+Պ @:2ܱ{{2@"ћ^kTxKVՂ3-kҦ(TnXl>L7=Ww5ZKG^lDj^V,[9`㎮hmصVf\~cW-ozd̏L{;/™orW%SsE:" IDATP0< "%Do(H>=򅎭 M9w pHF7-ax /KB<̎ %4_-gn2i?eA 6kzLU[ze6l SM>$PLvtf߹XhQ]FjR^G0Y4,h29$(+?L A@=&8L\C0.>VW:Ks$LWė%@ڿO$.ݛyO\4= >0?~l~!f{[CԦh%!wM1WU׵MQ!Qu݆Yf5]PZ(WXP˶׿V&aZH (kOah~Nd # kfe_#N\!/V6_1G >./_0kahY2.k4yPܹッwdص@w,ɛoؘfs:v,5EdYU>Ac,BL*Am-ic"+ٜŅR)P,P;0\ #leܣGEY"g5,i!$( tS'ʡ5 j&[_]QI`έ^ sm3@a#X i@0`X G3E@8uhͦ90| l6K@xdQ;EJ9E l ۼG0AKY.>"Ze]<_5>49Ĉby 2}-Wّ'pêxMkw\s˅SCg?Ou?Jھ& $lΩQTٸfMƼB1w^liD_uXG&kjWV{Vmuu8Z m뮾38^cM4pw*ح+6 jV ]mZ߲qtkcDZ43n2қd֮'y[F<!ዣG-VpɱW.}|Hk)7pbReCӪ|KdlNnxzf>/NW E1z%Ig`/=2?Ku;տMd U;֧ɦ]e {-*x`sbw.4mZQ.& N@ \BLTHaG'/쮲I,e:V>90Ζ?M90\< 6p0Rk 3I Fz)JQ@OWu#_<́+Ź*IeQ]o{adD kV5'ڮPd c~޳T(FlI#9!\u`[t+C}9` U)$l6@+ˍXWÛUZڞ.Vˤ|G#Tٙd#Kۻdw) 0LJ+ rMJ'|~TnlyB "  eZݬ^*px\ysEջ+MGLoכ- O܈njÛ9תy- ^ct882gaIikhBந D?$J9[?ޗU|%l:ۙ9R~?z2[EFO.kCOwfΏ'Snj-op^(Dh.FriU)B+O{x+kzv Р( ƥ )pUP+OؕRɐG([ Z /zT3LcȗBYAD5"b5 ;)^t&*΍-&ɜ:]W5W7$+9ǶSk6A-khtˮ> U<5r$mtvq ùGDž0)+uoQ8 sc ǥ½"\yT'@}zVKUc @ }pp xQױ8f*\xÖ7yq&&pە>B&b[;  Em9q匚,a|{>Zrz~$`5M24mR.%CAh(] &**`l:8Lsٴ ⒬sdQ8瞞IupQ0n-j$Rhؓ3sNvQ[l*"$ N;ͦ$q!rFmk0ȁе"4Sv,Wo3A^*gDt4uzr@UYqBd/jN(q9pY$NZ@E_*M0a32BI_X^x4CeFP\|'>CkTuJe/CVPɧM%㿭/|EFB,P 7_'h{qEΕU׶n::}]2ٰ'1m]4fFÓ5:%_kTC3ry{/|XZ ރ.ּXΡgd-Uvx`vugzo~STMmm86|[o|_8 ;{+/oqH_Q69|sО8>w%K+7DFq\~z,j)(?JnKͶ~h ^E XpTW֐h5`lR๣.zc{ךb1B?OǞ 3OV[o ۶͐B-3%?nO'i87dϝRksp5*9ht؜wvO6{X)P7Ė$+V*,KQ?Khh)!U2>RZO]|Ugc"C  f~7ΡCswxL]ɱ&+4B m).F=9wѶ!TL3}1܄]$Q[SƁSXHӈ ';3/}ɯ~M-񽡠 [[ 86hZ*M-A3zy -8Z 8Ɨ K7JxY 'HU2; ~!u2;mw;<|AO9C_LU /Ζ˰ؑ&6^3AA|8FӽO75˧_y[0fL ]=HZ*ukF¼AE1y.s8kf-gepM3\򞷿 ^}s ~`~]s=ݘNS݃Kobp:h3e?޴c'Mq"j2(St'76؂/Ŏ`,w!8U'> = A% c1qIhGGvQs1X>ׂ=[/ž}gW\e)Ce`pZ+rXSiDVvG,,ia#JgFΑɆÃAiՐE 騲{bɑ^MEuQ539wxOac̷uȷюkidE&h{9+Ga,[/G.SQW10a4- O 2̔wk %&-[qs_Ğ(V#A%H(i.Ʀx90FBGG8L!5 2DXX`$jX0LnXxq%JĩȚ⸮}-;7)sw)ul-p > (۷lnpX`#}`zg&S)I"# eOݦ(e` KDL|Ɋ:E*9B">0ĩ%LI,B@&sB "қCAS>>(Sð_򤎈BrD@ǁ'`U]`et{ /r? "@\wEǫ!*DfOD&vܴyRf .ǝݨMww?yfrʫE-u\/g'F DHb .1-hu4Gi߶Isi]lsL 0}uG6r*970}jCwegG߽tJ# 6922ܻSmcGN<ݗJͲۨltTȜMՀbЫd ^,>*Nyn4ꮳ5L`)7m#junL[;mMUzJL_̦}kfϟ&+Wll\0=F0wu#g>-{PVl虤6~izu[lwZ{Eۮl{uZy:k'=~:]kHb47wH=CO խw}#55v[;23pU7+5cvpɗl]d:*3'o|]k:r.!2;w]q"Ci֜oM5]c9%\FUع+s_ٔjk6hi \%29~6q^/o!MxH5b(jN5]<0k3*nٳY-䏌ͻHj0[ʥ9-=+m85stLN5Rd΁kʣ/lضhD¢(Bp4jM ۨ5J`Zm滦竺SKR$K|K_}e`"K0ԖZK%p*MJ[Tt>LN1ZQQNDIp=R?r{Wl؛ ? ?,}A;tPOUX&օkSe͆G^>:qp&*|{Ϫ/Z?۷ڹGMZzm{zxM[L6OĢ,cZ2M"f흊Ӝ3lx{ņ-R_Zqd*4EYO"<69SYxĥLI }L0JBj\H& U ^\wǟFjpE<ٓvm.Au5VkZם;Cب5kPbkw͖y0hȒHxL.1|K,`GWʖJK> ^kC+C+wrhE߽:S8o[!aAı&woD=pxGx1e=?7wg,j2 ,'Ⱦ咴 ʁ)[zѬ-o*Ba7MU*oͤKn{ᅖ ~R+yȣDY*z'={u1+NP\wM(˶U8:o_˩u "޺$qncܘύ_vM 㳥WsBR?Bwl[ٖȶT%[n!.\3S_`S :ODٜ;?V?p. G#(H6'gBPic/)P$@TIpibL:E5 4?p-XbXB3 G tIEБ_8Rtȣs'Dh=F be;]2q{Aa*sC-d:ԥ ˷u%}mI-ȻLpvDy|]\}olòmE%8-"ucѬtzDPw&yWb/B13@8pEUZլYTAUH*RY\~ 3>O i {\%ƣ0˵E5m{S="o,{2]SEIWc7`S_ ;[8y}[$>Ec23"AVqUVw B{Dyώ|C|gal6GxkuLGrSz啟Č# QN>Ƃ#ڦbsD*s]HI:_'"ZJ\qӖk˝8y|>~|j }G?ǘ'S9V2C91v'J:trꝭug篼mpfd,7\pzhM2gfiaQ?DiVkꖪJfmX+W YIfH'&d-M&ͺΩ}xxۛZFm"PS~Q@WGE|s57kٔa@6X Pvx@Ʈd2!- w]g>kRXp9"}soq3pf7Q7\#D;: 8"*c JWD( ܵ\\L׊2®[\*CB1낪dsd"׊JzY?:Et(ڳo! `yfQ{ h5)eew%]in,nw r(pA2wo?}[S}ч>hD`!TAUT)aL}D5IIp̏M\k[%hሖNDCִݦ:0A1@ϩ)`||pD9SϧOa]luu- a0# ̀3p"Ev;䎻nʬۆG{6\ݳjb H]sM5Ep-ñ w<ߣGm<ag^,3L{xn|zn|;1QĀ Ȓbchvrvvr֬չrCK CwxQrN0"ICk֯ߴůP=WHf#")*51x8W:,HvcP;a2=0mt}W%B@ﺿ|߭̕ ;(Zk&S;?i)^xv^JLGB\[ /[xyO8w;yŖ嚁c>=vύkSo硣{|O-6ţ39?+#m=mHk:bR-7nrplx᱓9z^f}d ON4pkzZ1i",’" 5֡FBcD$ME\i^ eMz!}ZͲMDx*QE!^7}0Qe!:\[=Pr/5ݑ|nܨsTn}E&/2Z%`<Ͼ5ŅDU[^oVm' g;zVR`H){̞ػLڊ5 !aTƯ\!6o- }ѹ].=PD*d ϕF" -N$12\?(\R:Gӵ/l=QI=>PRT&+%Pu[քYx,4=KGK%q'ZVB+,m6Lu x8s$tLI Ezw=v}"$ǁcE YVRe" A2g@󀆙`Q}S-MF>GƀAD ;`s G. 0K1a "j-ж& D/:1'\b8$F o{ 8=nUz;69Ta,ڶ/RVh-oj< ԎAݭo-=q55pdw[fjΐ aT7+gČnHtouk>rflM<\) Gu8ۧ (ϟ~;:oVh; '.q%%Z5p'HUtQbPYRSoݙ NLz.m7;FbN̟U'3<{ɬٌφ?L͗FOTa_mݾc%+#Pep)oX<<*\wXXÞGg"ΡfRnB*v|#W+?q}og\P  8{sSg5eSw|v1*098f Y0:ɐ=6K]H(pI]X(/,?33=656_MSDaPv]L(Fox[W˴"2eiw]XKWFkYg ^P_!h,- 9zO߽Z8}Я>s̪!'OO _ԏ?ok4>?So7n~CO`u}+E.=ew6~$wzٱy0KIOfd˾6Y^˵SN'_Qe;ix+< ;?Skzɗ}W xwN: y3qסYyh#֒:bVfv do8-Ú9;˴!(;zǪsR];IQ5g&f2i*DG@s yʘ 3+Ve+JyZ:r2T?Lէhq'LM~g+m^Φo;_1Z&dz+o8h@ՇzƑH uH:Ae6F2a6n?xWJOlXG9<ӣP[O7ŧ3dy P Ț㋘HBV% C" n=wt6.%a3fv2F71,u}cVybHwz>)U{on5bN9ܾP0=L0aqE,ŒG(o7)6ppW% s܏N.3d|)B-IП%%l?_KHW(Sq Ǐ<_kxQ7M<_o,>5\SY~7nFb +Z9kZc3!J"$4,I}?HдMCZ}#r,! LMv+T2f#PtSQ4e۩Km vA"I # T$ @bW3)'Ss[[hz^(qBQy L \H 9T5O-~Dq!R!* ^;e?eQ E!O #$`|c4[ČHrJT1ƄT"CO0_x:Yl~Ϟ8w]U "y쥓c{g ! #@7>>~,/ň]ajXskhD(m30\2&8Qpq6;RVц [kr1syE᧫qın0MAV{^xS}Вp|bאN'Siwf'Qk _Wn}-?)gBro߾gb7]w߼׼t%UJϼ|68gXyՖ5s2F! '`ؑ7bԄuGi1Wj5ЌէA,kBM&nm=3jh2 DzHRxck}b>7*|S`634bg3\Q"5`xv6 DHT-iZAT98Ss`vb̪'4ƿ><8<18aI#ƉB $BTXFX%* [T j$1& J,LQ@f!c"(fK.풄"B BK۾TӢIH*BU s!D?x{Ӕӕ?gK3_ED nN h.1+ ojW )L~//6@1 JW=q̘Bma ئacoqLS_j[t[^|prVbw^7Xk;}s7欞ԕAgcei)LkkU+7=x--)&Ueⅾd*%گ*랱{g~=s&r뫋c j/s?|kM驛ubJcdy? -O.vuH)f dVO9|A IDATӧuǝv/y/W]EtGߌ8OwѺdv׭…fz)(%`,HɅ0B Ie$8~EjPP6a9<s3K^N2Yb&,eNR@/tg|2]^F#c:Ls~eaN\ G|lU Oa6I5Vªmө鉍ũ=ֆԡLb y?8FWwk'qX{s 㦷$A 7{kQrA^/I NHs2G K2r3V~ YzSʎ>h67^}{{&:SQ45_?ܣG.2cGAiXTF3֫Sqw]QsUG&DRAQ`ER=oب5{^zX̥zvhtqEm$Sتf/MوI6^Ox1I}r/7fA#JxîahVvI}E[젩`i➔MC\ao}́ g?N`"g抹`9}EA .@p/ϩ a@P6 ^>=ZlKW臭z[~#n-_vz;v/m%v=$¦sPt)׼gOwL BFTnfEqX\lb"gd X)%`9 (GawumxyʖO*7 L@nWV J5.RqIǗ ZmERfBĂ擏{h7Ӎ^u=|~7/ MNQc@ =/ "+5fLljNM A5yۖ!,1)0I$3ΙB#7Jsd+M aA_~ IUT8ĸ  .]L*T( mJ"wK88!Ubh\S(0Hb1#u-Y@!$1B ]r݁I2N8`A(gr %M3~0SzS"h&!*&I6D5SB)3& (cPᧈK)'+Ō #DX8Ov}󦷬)أ~KW @09 0`+X$|RSm*x?c qF6R3t0XR.GRU3M,wm?{"Ʀ*pT~SZQ5"M* y 7t,3klخ &wɽbyql!&Jrf:p6^Mۀy_":Қ+[_Ե7ZZ\foa#d"t#]%t=/k0fHSX,7*L]\7}0bgs#[Ga`(j/N2Yd$"S!`B %ǘݳk50a p>%,"8MA In:˶"$BHU$i G (A))jSEMPLs GJ㊪#jr{&+zmss(VjXʥ%XJ&t$\oAA\@Tӹ C@aYםRY(J-337W+I*T!eu]Kc C8$ H8Ob&#TJ+#Uyqm[rpc%1LPI(Fe,$`05jt3$ť_aϏ?YMGDwר3, ylfOl8%S 5ʼnq*P)cIdF{αO]بMN*F6b{Ϸ , ag-]lRh]¬B 嬲ž}כݘ 1muj!ʎڬ'|Mq}{oMgvX?ٌw U?$z.qGm%0UjQY~<)6f[&Y04A[ ia˫}dǜ,Iԭ$[ KXr`2U j;0kku1S4BMK,4*s Ytn0D>vTU'J\of$T(cjL;t{[mb9Ө&wpegT滋t:Lf^[s8 n&aF!vj ;o3kbtcu}' ܘ* 詋M^8۽f96QTٶ箪LMۅSj{hui7"Ju4b9Cwo1ngV[^͕0JgeΜ75b:kNJLdq+KK, fI\OţIr_f𝧎?կ= =G_x!INj_NX,"5ZZ. Y+Q9cݐ {ő7I  ƄuHA0v(D BX(fiN12u;M31LQ1Tռ4fvISrI8嬕nNhZYgmAN䝬ؔ EDQH$| ' dB-;Y_( -Hu-c tܷcH{vvxL7JĠ'&j~1DʎFPPf*R.tdϯ414 8)MЃ؛mt O+7z0S~w#'~;g_:>LW>::uU7V?D?ܓmىyiINe-zJƱЈʹXhհ'y<;=a+(k(Z>sak$EZ& b\.%BQUpGAsyy^?G+4jqf*gt"65(u*+q,|9p+X BIyW||[G@D񇿺L.t{7O=_Lafvz^:FNm~3 |ŘNm2c*"ZN0- EQ5-Mym` 1 D b\Dl8qĤ tm;&\`| 1F!B T Td>Pd%TՄR!'ҡxf2'V%/(WRjkӻW7VjQ&qJ)V( X zƌ p TRF1ÈΤFq$8X !ɣxISz31^"p{7 D H&B("cࠨm뚪C 6sv"S0T-RAT{R˫ 8K/[n]_)3TF21 $٦T7P$,I83lEqh`&fɕv`Py?j;HCYߗ D(z0Bz]N/le\>~IjPl,}{榯s qNTzODH>^x[fm'cJTTƊ#qGAǬްDmlu< 8fLp,$K]JJ [aI!D1fUU'L IDJ1!)DF4OOXfTUbq! HE#D5:[=>C5[BY)`5NL!a`,9( A#.Vg)Q(YT$ # LL d)ʘFRy\Q%w0(MA$9`)oy1M-nDUCĠmF>_$1"9AK(0dA8EHI1IwsjG8I7n\sbF"׼5ꣿ;>(_Ïz{/ cS ݅` _w?/$ >V.B6L va SQH)A65GHQD$<Б;o?G/N*v-mL> z RX"t^L4EAD)\4@\"X*g~T lc}T0%ouҺfk?ܧϜ]>aZP հi$eLfTͩ8#3VR IDAT3G]rԈX_٤K77?g8uel2\mԲ(OIbP@ع\/54%řW1|Kj<hc3z-~W;8c})WV<7nj3lf,^aS^(rq$n9GKjhfRvvԤѨ/4-D65d2=ƖoXM'w5H&yb9l?ZXOQgwWqpʅm Y\lviŗYzP[,tu vbzv[,/fu67_/ISġ]7s^xown/?{p+/<۫yDO&*(KƊn0D)3LH`vDr*k`t U֓aDHڠsNu !& ^-8czi{+GWO.u7lC#Vg(_D4S2wÄ9PoAHI.)[|yo'_r|ڗo翊18qăKՙ {oyGIJ'/߽|S|5@5 7h7GľoW$@1(p+MHIB @ U[9"Dؕ# Eldru;f $Bh`eXpC7`] .TswRIDCya:z$AZμs4|+7f$);,apd:dmk*@r g Y'&)2m AĴm 0F^[]% q'ߧxFV>H6n[J"e 7a dG|p}?C;8߷dgq5I?t DI4C_G``00L RkLFpzE˿B>.hp]GiǺ.% ^\_˙ª]ݺ$cىTQ-.$B-mg|w}_tfՆZ{u=f#Dm+t9e;u@cmoga/;6lbp5u ~aJibBm:z$nPKHYn#}7 QuZk$^_l46t jޙJ14|WVU m\y|g1;m+ڝbىmQ͕D[87cK|1VtzFw4ꚓ12f> Fղn4L~/R??[d66*N+k}~q34`RG(%G9NTmde9Nu^Ya|5҈Zg?T?W?x+KKkן]<݇JUauCH)yM(DT]՜`лzߵ[-7 =9+:vVSU`*AtVEq4RH8% x,9 M@>_;e T4j*5)|.x\&cN& qnH'W~goG9H৲I[A*A $!G^_,\z2?İDO-rw݈"yjz盏}幧{ϝu~z?s)}.cLD0KxT R-K34{JeIvJ`0A@HRr+Jt}?Jo5A/6ۣie]36YcϿDN?X5,T;s4[?> ˋi2Ĉ:r6PPl0U+LWI=}z=,eou}o]{No)vce]2%!٥%\3#?PR(} c20DOQ(ݎa*wϴ7]8CMQ h,VX4o";b(iT;[KzaX/2,++n@A FP/ӓ'ϗju.@pD^h~h;g6;͂UՈ@_!v̍i3>r"kX-o{1saWplQxFfy @NU>O(ov'ֱ|FqvN1+a6/:wxWrv#'_LLeo>u۵N<G<VP\j؅Նu(`JeIrkz7=|YX\5H$Z1rtE (KR`S6)"ٞtd"-hO,FMԱ"1cRY_wHED^(>:%X y^R^+}cj,n}ˋ#~ʱW:g{_ugbm223k|J*$JB>H4L@Gh iĴ  P[׻s7ۛ3s #:{7c?lV}Nyk:|eqh9_)JsE:YFD1& h8oH׊JtKuIJezaIe  * !JqD"H$%pH)A @ 8K 8YQ(J0 ##r8Gy{K:Zl4gq7޹q5la !;㚦c92Ew4'+xy=\ c{ %!K%y$BP0($~ƅM|?JBc 4GebB *$9W{0F$`!1Q0nnA#ΞU~'"2g(rΟ{^:_g5LP'eqZ2UT@!)ظɶMIӘLr%\JR ȲY0S5UrNL,bv=Z4OpǩWV EV:z"@#;]PgK[j&.$Jjo7vFbQ.H).A<>_>5azՕVi ֶ=Q3ȹy:}t`nx ˬ./ܸj֣wn",lkño ;$46PɝGZK_[s#R4Ds[ yx߿e)>OO`9t~7gc>TʘاZ$JYN҆ c&q,`gy=,̝ID`SoWѭgd9f*|AL3 !@aʩeG$#/P*G6TST]Sսݎif"X-{lU1.x+%b])R |,|;,,wnozxoQO>׽mQo}6&97BwX~CkU_Z]%+} ȾߧئO<^*>3WGܑ{^$~w>rБ& DG>kK'g@x&)BB8H4I%tc?=+lE)XG.S ,HZ'r~@ jTr[\i4{jӘWnlηYQG3( ?vv:KUٞ{4>ykZGNfS.MԼ=鬶n,4:1;[!%[-aq{~!`b{o"5k[jn{0&,N8 Rgueм4rY6)a3o+b󊓷P%{Au$v0 @GcVs.9G5Jr+7m-趴\RV>H4HR13>7w^?D{n2z/ǬDɷ=j.\zsPd*#G-e"w+*fFK0*BM\9U)'9@ϮV_(<s,v~0sx#W_+妑; KS<\/4i|N#nb^+TIҘfRwx8A MvvE;9lVo+JL҉2ݛ!:Xyhn{‰&P8TpC'o竏>sױJIg1$󷟰OzgQ冝%0pMsJTn f<~5v]$nX+xH,={J߼.QxXLU0(BTN/_谒F:UjYnĩoUEH9zK`n0V)9|niVh{(Lh I^v\Xl7sAO$9񢆑F2TȔ$wF!^\&$@ ku~+˯[mݑ$+ߢ ߧ).|n}}hsRl?>AGY6Xj! b>?ߏN @Jba99[$eZH$Q(_o=(׮X)Mcg i?7~_n¡XOF"_|3aj 2A̓\,wdBȉQN͆"KhYxĒKY~λ3d{oV+CYiLA +zml2̢Bw鸵l+uLiJS}%OƑ"x, FrKq ,{a`J{hUkEQ!U&*R则_ $/ً$F ymEӌj$ p>q٤~ꊆ1|)  \*%V0aIBBc7i7jR퍀 sIWV(;TE #=`[>Y!=P7rb{LbosodK<LY*:[z~ȀrVo|+:^Dgqٹjo|u:ԫ9EusnTؿ vGu]dzTh (*zΩ:{C 2 D&B,)Ig)/:ȊI-\Y.+|Q~wH%826+P%+#&$<q)d" B{-ܽ\;|.j-=3ފ??n. ciXIʥYQ0 "CG46:~o莇h84O{q@AJƄ)Y)9DbP,M ܤkK1BJD HFRAAFRyStcDXvcyÚ'}ÌǏtBDtsZ5-Z<ۚAxȔ!1łR9PUJW}1'!%R&x?$dY D"Ȧhm[M\`MնW{"1FKIRjH؎UU4J)cXcБh*cR (H q J1&HL0R2'/]Kjw%]8v.\EMopz=y?4Os !PuTžfuGN/m^E]wE)FRd1N~'.Օxz=)`zUwk~1=Wg0x$wC4"JƋ;k㗮{N>9<3W>\YFة6vz 5* d8L4MHƓh*A_xj%tED9[ҹ;-Bt}R;qV +t ÈgT x{쮨s )h̰(] }y˅{gI$aU^b;f/#/^GWJ2$t^.ްY*j #RH’f~\7hZX]벹ClFy>z)3i1RӨU Wo4sR+w- -k7^sT%1y!{^{ 91v /?pSJd]3xgοXUͯ^>o.8/n{k?o> HIfJP.`"&D7 j?UDRr?c525lX8$Mׂ @Ę ]PX(%Af˒iOdH<h3C$[ lvs쇌ݏ<ߛ}9&ܾP-`HOSnFtp0[c1lRb1IST9 B3/-39@ )wC؊R`< Xd h7gg<ͻO7j-?| RLRX9Z[~Xu3.NYj|Ο{^ޏ- ccVrdQE~CgDFK'O̒FY"p83AF-TW"Clr*0K N.c]B^x2o?>ڮfÿ:rE$.UL U]=of`b4%w- t0}_K W_ʷiYONMk{+/ϝ^ǍęM,렪Yq)3(fйʍЭ,LD937;9Sޗ弭ZzU,L+T$US &iLAmJ>CYHԲhFӛ-u:;T0Kdzk|.p-/];t1 8~_2f=<H!Q%2T2F)F<Ҩؒwk۽PkzFdp|NlvvV0sHhkLJ^*~F ]5N%4g54t$q |4 65 `c&j[u* Séh7FIj_뤿TmTzfd* w92 zTqޣX " ˱HFӟ LC'Ox$IZcÄM,ӈd.^%_~Ch04 ?3v^y[+oFwZ7ckzGjbяUU}?t:Om7 q_j֮_@(ZhZKo0ޝw~~eA2쫔&IX3dm[[N;tO?~zg7ή7 ֫Z*aH;W^8c5h㹋+O EQj[~Bt翢V{I1wPV)\P_m Hq6t&c"R4,գRѴJǑH,t rnt63 BN4y"%d*J9bBM8 /0өDEF+Jq'- kgUjhadZ?lieRGf{â"PA劌ndzVrponzw0ȢnEL}Z"4-4K)saL*0sՍ7ZU!C-N>ߔ8VߌAqZ($Qe~"8CV=3ii0uH,0pƓZd0tVPe{mWJp1B\z^X/Z483*i޲w{xr@TɴZ϶, LD^ɟ@cSfk|kd (vc3i<)__Ʋ< Hr3'SiH{?.o7|T攻Ozjqa}>\,!L"l )  gJ5Q, KDA0(%eLH"RJJxs$@H? nR#_~$BJ,a@X0&pB (xv>Txm4(٭I‹$+DjBݍBKk!&rkyno|h8}׻~x_m_v0FX4{ٔf> `΍>W쥴'o\ˈ"Iŋo֭BdύO4c\r7۾5Fy^V^JZCtjEcpi(6p :Q,jUK4K3,a*Zl &Å}`aW_ = jnǮ ȊÆU2FBk~6]T[t#8v J{}RB*G~^Nb},4*S5=1rwXSSUjRaenH$ eL$~pioc) a,8wa,|χ$eqFr%e7BLĝEIݤZ0\a{oA*k+]ib8zY 8uds2 05$-*?5D'O3IETح;1Llv E5*vvIqh8HE ]+ApΉfI* `&C `RQ /dʙ$3T2sRo$iR,L$ֈ*OMgaflTykBh{k~ߘ_)w?ôFgk{V(Zd4 BI?wSn ؃$ DJ|q-V?vRA#V/>j?,]q`f9_.r,~"C3_͂@Wl5ˠ!cIFa`ВiU?y*f"E ,72xDB%"omBF XJ s.J!H,'<{o=L(*.͗6w]NJci9), Tzf})۸vR5Dٟ2H$'_y%1H87$c@:5ge$Ƙ9isa i%{.M%IϘI"X  ZS"0MU]3jʩ&\f`&H &HH25]AX',J ]QT7vq#$ qݍٍ]/ 6Dkۤ}IG|9]/6~đC=c7Z3ir>4RZ:ʧ^HWrWzәLwW0Q5 ݵJ:y罺T'/H/%t۫+yۏئ3{Mp~Ij@DWrKR͗Z(JK׭2Br nYEIV)ֶtwraԛ +HD`iwz;UR7[߾^Tַ0B$S*x6 Y2C2OVP.oj!-aa !E0Ky[mQ))յ?ze-ƽ ,])ɘhg5*ϤQmX6W:$5k3iDmo4I"(HS]d Bbt8 1T-א#TNfViږ4nwtp9vF:NcnNMXAvGԏ+WjIL:K7`\99sue}GRi2ƳSQr 4TH Ln $\J>ocɩNTp *0@ Nӌ(,JihKKYZ9}&B۟yQ‹<ˆat ņ^w{ CޚNzť/=@0 wmW^wky)LiʑA$ 3TA;=O'5%R)&4( Rb*܉'8 ) y=7kTEa$Wt ̼$&4"prLec8B0ĜeRJD1&̕U@h`! pχ8B|_68vΤz}kmzh{]O|;'Kx_3؟`: aV7?3U YjZݻzn}jC7 |BR b I4,zjT-tv=o7'$oc_}{~g:RFug2b\"L7VV\2M(^}ON=o߰%[8sGEZSl%Q4rY|$φj-nnsK%jm_~2 ŵݽ΀vgfմzP4\z5><;0qZ3b\_/h-. IDAT.^餉 /W*n^VJ(f u#Cf櫵4LQ'iR}'ŁMj=Cu(dezHY )=̦(l؞y^\0 Ε52wXE^wbk[9/o9T!PLןyڭn%_fyEVqVdE!Y1T_dR xVTEl3+&K" ϡJqh As-@"Ĕ @di a* #2E@R)%u`1\yXi+{TG$/ӂgٜ2/x8Zk g6'/`jq˿g/zu<2Zq 1H#RIi 4B q4YRYeLVJD@0Pzt4/R.1`0i^PLmBQ;tcjl:cLq5s,- dQkwm@*wGxK/_oW3m<+jE̓gbuiw~Ŗ {4gAUJ8RSOW5wES{#gV+^ʳw;qWNhg(v+ 젱2j zA|+%-=O+w_amel+Sr/ډk/|σؼ؟Xi~?bl2Ү-Zc?v>Gu϶ݝ_[[S,5~L-t4?ͤ>p8҂:_iPٌ3˧kӻnB4՞VoYbm{_m]^s,J-̣htz?-o{zN*O U)Xr%^ژQ/_s@``nܐ漠&MzN'^CtUZnrs6+}\qmf$ pN0N,5iVP/Q=gzVƇ.i2=ZqmMN,w)^|~ϭge=w2Y"tJ8G۔B;w`o2P2=T /eP(fض $4궂־U+] Aw4˚ՊI&֙Ru0lu#$&kZ.,pSgK1ߟj6aKW^+K_թT-⸐ä|(i;DHX[ǭ903oc_K|xynٯ}bc?#?Ѩgi{@P5)̧j@Q#ǖR˞ABe(A BS9 UJ7 i&JI7:W*awm(0J4;oт-%!2"I)a Ę!|F{v? Pt`L)TB :^ ((Ѐ?|W\}K_zꧯN%Bd}>OX x{:t8e\_]o-=_q'*kTduw"SG^e*f5eQ\6JQyThs[WVOB,Ay􅲵 ]N͸eWO b8bf: g!z0}[p_%jxau󯺄ϟYi5uٗꕥ|ڨIuKܳusW?!n`^v 7wDH)U:_;{/^2=k.mGlFÀw꨹.D<q*ɠFų9yPX?WlV 2I._,񬵶{8=]X2EjcH*ҪewWٌg,͆$d*UB]}mo *- 2&37t3ʪU,M,T :erC8am98A qp8629,ZL"ڱ ($^A|[I:7{W["jȠ,Km*8 =}Ɛs}4I独,˂rhUU䝺G=4\̌#KԢ:K-PVR|B%E4ʹDJhU")~99FH 56kPD0@Y31@DYJεҀJkK-1(Ơb%dBhN?|~`m \uk.AR*#,;;? +']G_/F5$.+*Yȼ=S5zDc晐JeqB}{?oΞ<6:+;[u^1X?^u}=<bٴc\'I%ݷ՚٫v+Dz^kyqf[r?n[3_ -Wpi?F[of8rj-Nml%vuߙ"eA}lL8۰N/Un3KF#z eo,nشRCh!JKr 4.?w|χXk.e ;sη^gU}yRJ-D=ƙԈP@(%D@xX̣l4.CJJp$1AYQzH{ڴPPJ0`-0T XkЀR фa2ԠcCژc0҆b1 († Cu@LJҶJ~Q c,Sj@j JId ,1Kt_^w;B_ ::jhP9A5p+\imy+al, ``HP-EN@QUkz=pju.JT kQjvI"ϤAU0Tڭ(J @peZȢyJ1Bf  e3ށ Hӟ!A[u')'h8WIf}>ڭgᅱO~>^- 6}^r)gmN<%IP Dٯڿɟ~;>qBmξJ5O~ƕe|e@󾏼v7:C V:VԹw,c=Tܗ{~ac5Fo$qN8ԧ?ڶMqtG[=s0Aˡ^Fcy]:㹼=\\ݾ)YZ]Σ28omݞpY=wCVځYthvbk±2Y!;DWoСƫ5f1Z6Q2ZNR<ʊPa*÷FA=K-%/ %vƳ#wy|zME-y(P]1`d Wr6tWn@kB,R Eq 4 kAPћ'"elb)ķotk$4 s +J]+_ DsLEſɟV>v">;ߺ7==|;uczs{xc?VtM-|Ƒ/N, ܨ9ባEkT|ܙ7Ae BhY+;d9|rPfv]v=kw>vs]*spQ۷.\|(OvohŃb<2F u}5Um,wal<]Z_Sn%/XTj|OIunٮ˨J&oۻ; plCo}t^9I.|$<>e~*Ɩ[:%3V+/ ]CU1( H %J˜reBzݷu7p{69<*/m;"SFn,ͽiϢxqp0;n98e/ FESnonR[jVpk)1"΄I#yBĩBA'KJFr=Qq\t˽7}ɝi~}܄w<P"\;GecD ;tM;XJ_3'>{J1: /|?W_t?dΟ?#:my-qteʤo VUqܟ<!}מ+1XXTksJVFnm5*ZJx/[KO?gG#Zkݼ{nyguЎ|>wzJ`=3WgJk}rv,C( v5, Ss]ԼWE R$s|{Omԝ$Kŵ{P 5ݩd ]+Oaͣ߸kQfzl>>h ܟ].6$FͰިxa{4lʈF+ ]ןLF=Mt$vZi+>ءvPq$y彥AMXn+8`J+O y7l6{t{^"}jWɝf=V'ł9֝f?R\v\ji cJʩCO'g6Zy"- Ac Lt 2jgHBU1JgЬ:FWnnkV%{Ө<70 Nw>EFI yE@Fc;/q9/uƃ~SK!Y w+VG0c: 2t2`R%t  sfJTpͽޮmTjw)uVwn$ZsYg{D߹OT]z5#իI`e ڝ̊K]s eniUmÕ'u^n؜E27􁓛]_׷ f`xyf1ض ZC* !",)81`g2yV䠄C4!eWFQo$҄QF1!Z= IDATl߳!`6mw;AS..K1.<,(bc F-wk~!CyεZ뺖ۖ aY!cO.wՋ zA&,`gbk^]9{^MJΏ]Z)0H)eJmK%0t )A%҆2RkT< ul˳cZòlhjQ%JLl1*/D*ɨ'Q^oUBaJ(LlR2Fya kк5?` xRץ2ڴ:s] 2;>@~/<*S!X"De'Bv-J,8JOyZ9=ǛNg%Z~`t[ۛ׮\ܸyl2)dB0}=N+ȫصPGKpS#Rq) 8ypwVq"83R TL^X &l%wF:=ں+lp|Nomeoݸ1%i]}sW6:;[;{xrɍfU{=i~!OI8+ɨ9XuXZU>Iכ^˄t4mZG Qm4*+,/h\;}"E !z6|^TہN0>`Vm \dalb[l,>S- ۝άy*>mg::5NWiNfi+Jy2jWi^"(1& !x:UG2-N.gq3^uwJǶm(,jPk:+}аHXCaĊcL8ƸTREFێJdT1QѸeoP+)Z;^c1#B5``eDQ1*.Rjg40]2&yVZMʬD"ˣl(lߑv`JbX|S+|b?,߰SnJ,T`(C,8wfyYk 4O}8S_g$ɏNq!8/˜n?Pk2 %|ϷaJ9 l clQ(*@( ^ʲR) 1 !R u1h BF Z1J\ lDQi  mz6 \ |# LҢHѐ%%`p(fC , Q 9urRa /̹0d$i0j@%:sz4ݥ0Ƙh`@ kUd# PuzSHAlj!TK(!4^Dtz\UJj){b'YR m4B+6()xQdn@,XiabbaSdYNȒ A83kE/jeI\~]__q"'a o>Oxએg/lRXKf(Ċ)EiIdJh{n^&sU^緿{?V_Igú|}ٚ'.7Λo vuoD |b^&rt8;qq"Qw4 &;i ;V=-Q~x%tQPJSQIM]wz}MAbS\6]5FW1.E.RF^}DI<\G1b:^]G\ka*NG'lx-p9P<w4E n-2o;|c+WC$v{©A!Qĭbˋ,jVXXGtw'YD8"Y@* 'ܲ4zեyqW*WNtج0a`O#R:L9jTFW^hK3^p[&#O'fmX[uxc߳>~t$"/*W{5d2K}?h j'pbb)zڬjG0SNam2F&Q6>ZZn ܽ\ׯxxpl6N\JKO'+kp̬o0nO={pu<ݿ5 zLj$4 37D%&G?n|p _ՃcoXoRiylARܱ`bcRnE"2(q`#o?o#h[?# X%5"ER2أcm l@H`}u :GG"y)80F=F")%(ڤZ Jx?FQJ-0jaPfW_ ]-q'32f3ml@!ưy%%B K5`@)y CJ=$ B@ }LOP|ZP Ƣ㙔FcHOqwn.#?ǣ΋7^?ŭ/"N䉓*l8տ]߱7JlTKcs?pn%xkA糣}IҲWY՛b]זϴ܌ Cyh(ˣīJx;gb݃KgVRngXd4 Vyn|Փ+;wgυdQTŠF!v/׉TktQKۓ p! u&P1`^H!vo|>-V앛ݺbi0HZe2ֆGsWOh΢ta;N8v|"']'nUimy4yZZc8lrT~<*ã43 2IkftTkzk43/ jhO{N C'6 8Mm`se$)J.!X`4(ٛ&Bj(sT qD\s)KAeVJWIBH9V"S't.qpʱKdo*\(rϳܲh flZJC%דr3q)bίhZw(ӖM%Qqj?&bc*X,F[뫃f?uVluWFO4_̓3_}{Ϯȅcv9FBHܥ酾'!y'&)2`VyRR)]ϧ)7F Fu(B FQ0Z6 PZB1cL4oM1&jz;,ש(f ]u[puWZDm itkN*mv$Լ(1J(|۶,HJĩ_<=p4K\II`2BtYjcT4(*;*HiG/M2i Jf(Y2!A]1 DPx'Qٶ}\ڹ\*BRZJic6Fz4ycQPh9߽ b :WzO֣n;H`[|{o~"W7_) '7s,I&+wn,fӯ^~ķ|ӿMsKgvBrMIص*#lWDd^!NƱۨy=:g9`op O.U({~gWj04kVXoU|b/Th-l^HUcVug& 9 x j-7Oi?+NoWҙ_~9{O;R{{?qeŽE-xsO~{.~hRL^(hd%HeiSۉ$bQǪժ: -%L(I.m(Bk6b^ղ$+#5H%R@5BABi@`h2F#ز0"0UVRD.,euw$\D+cL^@BX軚%y= ݕZiKYQJY(4Wy^ouH)dł {ę;;H,`%||F϶TJQd@_aaKv%@s!Ҡy)EY"!vΚjqZhBP2BRj20` ໶h^/$e{vs"#a!Y )?{txwUT]@Tm뷞?G׻s;B|wsCx~`{Atv, |tH2؏طdۿ[}e8~(ٟKoؽZ^ah锱14<dR'A18 Yfc~-J;O9|ta2 @̴LLd>RIe$ETv*L EI @ 0yz:7{r9;4vڵzkoO@PB9M7K .Z8JyQf*y^JLei8H*3d)6)zG}I*"լ\RUkAwd2TWWW֢7 ŏ޿ŵW[{eǭ1 x,O<ܷoNíofd[ ^o9_n%F[%zϝ8+Hs.ZcL` eV-ڍFݯfI@I !\(J. Cc`YJi ј0ƥˆ"D&cLSK Zi%$xKkP)1c"8ǀ"ԉ6vQ2F( $̂h0 'Y'iy0t< 0g,00(J0 Ƴ b!tlx>LJ48 m\tz G[\BiZ!2/EVHXdʰ֚S!1N\kd3(F)!;&(U%7 lD0MRŹTJk%R`U]< p2IhiKOu0B!L("aLJJM`Kg<@;߶^?#yL)ϊӧ-papvwh'ANsE5ňf9׼/ s ߍcrɚ\Yk>_|U/iS[;gFwpt&%ymSn٧6|~d8..kom1r8 WAOos+I8/fuW>uZon=Tv^޻|e]F3Ӱ`3פGܳMJ07~կ {S|wÚFu뷰b.w7on?O\+=֪^\X.}1$t. r+ ujnǃ45A,IYN6[Nm<97Ng-<}^ՕU@ZQ1ײ^zͷߍ.)3TBt~u0Irv 7o>0zaO>w?6XMٴq;-V':\F^9#Z*C_'p&ӳ'`ebRcv쵪,nxI!j<>(#DH^Μ9`)T40iNUh(2*NIrQyweiŖA,˖Lš Bhi̶-QUN4l[qܨz;9uM3,Ӵpb4 FEv6̴l7~ɽ.Go'[? .#Hc m<_xmhuj3?+|g^|ԡٍ/ƹ f҇^eTWj}/a_ ^Z-SV1ڕr!דk '% ׶3ASAZ'{o{[GuQ%v뮫\"&G_#_p5veIo`ε zk|#|.߸zi!>OJjʣS.eŠHb ǣˆ`$@]JH hRO< d&t2 Y$qqYfi2yB,((4K'AN'`6t:Ù.!64H$bT*Khg{t5!é4 p T!ĄhDc%\"Ȅ( \H^JrbkDy.Bj#jJ-ӞXSD#0|N IDATLȴ$SXƳZc hIW{\:t4.L z>Z8x4ii{S?|fYj/U5sìŸ|饚<ڶ.s]ozϋ ~Ji%Cםq*yPJyԪ;%EU1z(4H$ÔItJ&i^2^w1ai ΕJQc矼{Fw7<ׄQ^HJI,3NR+())Х~0EYHYuEZ"K@Suju/I HxnA8>ɵ٬٨GCBAb: VA8?qqT=|L CtqsPQfza~S?}w~럵;Z%н__݌/_\?qዿ󅊿xn7NYx z񕻯Vd!ǃ=ok[׭?rS ،Ԥ!m 0H!JIɣ(R@rYHИh0"D,EӢHF&c`r4ȥܶmJi.4R$( 1 ی1̈ˆ2ĀarBFXJNB*WLQ^6ֆes^&IIQa%q<,`d8CxO͊N ~㝇_>|e1V3/ ޸׬h8+ ?FA VvbmU֣[w^-wbݮ0-k9m7?s|&Éf*†CO"gIX&9'B *I={S|̼?jLoo $K1׮WK/+ߺqT(Fp鷾`̅sAO.uηʼd!͌\u69/(§. $kJi//Du۽ޣIWuKF0.u M r}kU^Yk(ʒW:W|F9ӬU .,wnb`mʕDa(*E2P\Yag,`S(vv#J0Ӆ_5ɅQ˅K+V.:h5g^}><|K6ŏO0WO2 /ԏ׮=ē?5k/[GL}__Oy'2cKϕկ}[+'\+G(٫v.ƨU};|gpq~}CpgW7>U]s, *1`6:Os=>w{9>ڛv3e]RΟ m?N֨TkBWąъvM]LtY+J\Y~Jqzoogq\i gsbnͨzq[++JbZA<2LhfBbjRάȊ TXg B+!$ň&yA)K)AhJzY9h5]DYRp]* 0YX|՞wd0amَoU6MprЙ}x~}eҟ/Cp/h)ޕkHFa^'oPu^xQ_z֨Z54ҕ/$MseНzE,?JrD~WZ1VJ)}ˤ|0RhД" 0IJ&TRIR+!%" M2Lô\4 55@FQJ R c4(!c(K$5R %J e)FZk!11]H$^S.4\j 4 ˱FmڮT4MLXR+Y ǭ%fT{l0f umstPFqM1}󵷲x(ZF@ *BJFi$kmY)J:&# <-$WXI^u,:WyS%Xs(-RQhQh-fHp1PAcϱV{y,K Jj?W4Q7+ӧ';{kOi頾/i l9ϵ{?#>> p?faΑؕť8bSY[X1x`|ο 8. g'k܏~'FO/O( G=Xy(D]},x&a^m~4̂b[jwÃIvy}EWgaLJdgG7pt4yM,]/fȲgOh.s,XLɍ;yFzx*bF+J-:9-exw4]8'5w;hUݩÐBʖYcdR -GҮYYkT+Y2:LqV-ogA zUw2I}oqddV(tjeVq6߶yF"LsmTN_QmEZ02Y0Fv' LA٬p-phUۮEHiJ-guӳ* Z ި7[J^.ηz-F0-1l:xm6-lW2}[qXz)8Ȱy71Tk͵ɤӨԚW$S-ҫfE&"jnLO.'CMYKP{v~ZS"icE2-dmNve ܫV\QT9sޥ5a?yx$PX]VY<|wq!a_>; kg Fwk~OlcO~/e׿YSFkעQ ̥B !D)ASeKεPRjRHDx)J^̎$!cL(h4`5400`B# c(2 RkD 5`^YVRhiJKp.x(ZcYFKaBHiJ#<58JevPLF4-pմ<ޥ^+v6̵ZF5@k_KU1HiBFZ_fYŕD*}<1bRb""+ԄaۢmbkͺUJ9/5\۠Y֬7+SKmwa@VZj-V!-e B[-qt B΄@<)&uӲމ6hT&;?l~B̓ [5ӟK>TI1c9j1LJy֛߬n2}jj`ǯMS teyhONwoksDo7޾& I1-R02rݠ  sݣ#S1gUƴ Yangqҝ\c9SzQbuLȩ%'34*]ۛhm0*a^^Z}^g~;|l:<ٝåSyY: l?a^˒qi{Zm 19-\iՕe$ dI^he0nQrQ'/K0ȸ$Y^=Ѭ.H2`|{q1sp'%CZY:Ӫ\Ho6Vzu<՛`JK="p+9O<ܚQǔDi&)0J ӯ,/W;7m.تك8Hz8.~Cg={C}xxU5VMur}sn<~{wUriBrA/mi8ɨʚQFQ!D4e0Jp[ifDՅ[N_vCck/:KfXi1SХ ͺA/K,Ms-QF\F%tmbXňJլ7NJ:yjU1ŕ?P1gYphh`@ o'X47&80 ) LP| PJs)E`5pLFL$ ,b@?ZR00J8GqȏǫS\ Fъ >fn f{!(so*yK;>nQfiA6_Cʬ#F@P3`8/ A(R:Q|a O}oM~sG iÃq>Sή=?}/ޗEř|pie(# rUwY' <2\+~X^VƉ#s(Dn͝mlie:}jmwoWFU5 F7ߩyz#Z~HMZk-E$ Ž0TeA$Bi: "A`,@#=~Kr!18FKH eKcBcҵi{.LIa9%+@PiQP!& "lSV(H*Y@YH<k;@a8H׿ >%I6=[0:^;"xCHL@"BD X!pВj X+#AtS1Gѱ0rl+^#`!oIh4wg)߸ɞNffe)ċqd whiʛ/]TJHA  R$H1Qwy/~ý[[nݨ6UT5=z?|6$2bUr ӪS]}q0+,N%us%j4`V"tԛ7_w`Tii:$V`Xe&r"r~:< rҩv-azFra˫)8|Y]r"NIⅪ$;o뭋O=D9\gq󨈧pEMPQ~$V&ͺE3ߚ:9˝7sGjZ [ _t,8K.;\wJԓd IDATpױF hT3!1M`[AMB)Jj`BBaTw盔`ԠE1F)!Xe҅19cc"i „PD2)=eZ#U̵Wj]iܻDJ Z 2!M&APara3R+#$pL@HT1تֲBDQ:E23 c,J9/^ !Qꭺ&$ +jagF\F%/\k+gw^[듽7zaVJJuN,T\وȫ\85ƂK ڲ|˯nO˿[}[so4~7^iPoΆl̷vkjqnٝ' z~PDzV]^JWo;_|A7p1Yb2?puy cCϵ[Ҋ߫^o͎\~{o֯z`Q^C d+τG"4Q˔HiV.qJHγ;wq_=Ջ/Jff䩚ۨ[VZf[/?{a{w+kӝ?% ר-t4wtn: 05}m]R%M$aIM+ + (0YkFYdR|&2/ݪSk˻Y5H*&9Gp+qK/&PRcjD8Սz+ܬ=$%4:+w145ּ.vmI+ԜkɲUlNȱ*p8%0+O2;<ò=~8-]72 ]ƂEq{k`()J8}8 q~3qdYre0w:68UJ:zi&zXrht~$mrǮT6zɜ V&yTI#5PEQfb\kO_xô4 bh*k,1\خAMXTLtaY&(MҔ&^_[f)H0L=8I8 =9ȋܭU8 &%A'7:r,)$8Ad 3ShWN|ׄH"f|c_?w;UBeo7i1b5VWVU`A3A0v0 眀:nfrQFE^ʒ[bÜdiZYh!@khʼ1AAjFa%%>>_ SJBf%DVB"JcRZkM 1ŀ/QP)iZ!XjgR @BiEFTh Bp/aZab f8{odiOܳ*k뽧GAvC mA 6H4H=]]kVUfVy˻>?d?@u_Ar_:{cƸ([օ5%ƪqiۃI&O3Z k1X@t!epSCH PE㋳9X/oZ"1JjשּׂJl2%`BatVK"Ȏ&y9.DDȅ*#\sjr#HY Ku, ?'GwCT.'뵕b;}}ڛl• _er4R,M\K+,֐HSgn?i6Wl4)ʪ{<&HcT糁˫RSbNk]ya9ru>ZY%=FA~tô^k #$/D>>yj{>8xGxn4ןY!4py lGY--D  gE.Iz(cK+.̒=L禜g׋]^D%Pkצm-C̟x_~k[fWjLg!sIҨ"+UV+zdʋBERTX#RyV 0jY`A9؂&!)V^XR.j5 {qZ@U(M #bV#Lc5`4UD}L`D QBFy qʈV]'b'n5IAnjV{Y`. z%+_orvj/OeXFc%5Y]iWjA4X4F^Zjd k1$.sneDSB,8/R@Z.sZj(R-s+,BthVvGYI!5Kr̭EOA?9G??Ί\~j57o{e{Nb^TGGk+otTJxgTvجap϶.U>:l.^޶TpGi?LV_>7.&F3nݸ|xTKvy(+TJ :|`pzpm}g_ .j/qOR٭yQyئӵKF{~wAF܆,Qᓽ˞z~s][=krtir6OlUVVҳq#. rQBlE|d|]EXǭ9gg˝TZ-ZZX"Ҩ!Ri:$QX:+{4G00GXLE\m^Y_m7%iV9dBRLb 0dѵ+DyifIʥI r P24iCw0)f椄YRlqY˗=`Yt3rF}i\^[0v;Jx8B v–X-6yZ2 uš%t%276o:!R|(F=eHlM1OҼT3ksQJy2gw^8yZtʙL'3(pjTid^Jx\IR:͒ `UgխQ᳙\}/<+k탿_?_?l>J]+RU:魐_fl)y/Ӱɟ.j;d;]%T)?^]j-OxTwo~JyuP"%`?iw3aˋm/lm.t*ٯq7n\;qX(V;٥͵rk4w^o}mW^ݼlˋ-/ O whTAxD >*/?DJ8~Pj sW^, /4^yp:N(]~nV`dgpvҒ+ Ͽ%m݇ea (ؓqQin?;<wtEӟ}{p{;#N)sUZk]Ṳjq`k뛷Ofݩ:4ILKGk'O0CV2S a@Hi$(66r;B$yt8h!9XڹFW_ye7iǓJeF'B+ժy)H䀌r՜,,NH<9΁!KZh{éݩS2b9 #bw2ҨYw55ihi3g`29׾~;x<>9OA^mU+#sZVH߾{[U*F[/?wɊ[p !壏GYk5 e<`3_|+~yVfѸi9KfOf_`U3J1ܹX{Ϳz>!~w>_/}et?w}?y?Pd;/;//OZ+jHHݹ@eEi$սkOt5b+չOf/zI#/c7\K$%ÁՍxN.{`wӤa! {)Og~'˫^]y~kZ^%ө\q"Ӄdqy+EXR#Kj+k;kɇޓNP?)nte_~e˗/_`ƅ '>^mZy:ySCXLb[ں9ƋhLXQ}wNS ?sG_hG[Zj=g*^Xܟ&y^ɆSt(i%B*/m:L#3!e.wNt=i5jwa23HbFgH SOnhQ#.~1in{dPLKVii*r]- q3lklƟ lLL.Fi՛@:t M`ƄcңZKQm-LyPV(kͭϬn  T6) 7D$鼘e^8E\j/SOg/-~/'·[YhKNFF5a!T 0w+z$Yڸ$GnJXz9ԽbMAc3u||*u^bFAP^hAqa™>AJseX+. 3ocR e1c1rRdspL/a $ZFԀhXWhKV 0sܘmpl\4@Oᑘq-w_7? 0xڛ/X S,`ZL.\H öПA[Z6ea* #ȥ^`dr=MB0@T**4uz6iiZ Nܢ,D Љ#H\0/$*dcfg{|?kTވT}o~|_5>x㭭[i{Vl2}R{}QY|`~w:awsȯhY9)'9KM^=Si>I_Hy2\[[83\%bC}I=Nm͎hԆB "X oqZ}|I>fs^̇OWs`cBÝfˢxeGsmÇV;/FՅ`vsj*8YxiSDf`64ϋ|qwT>ヌc?VYf.cKR;}*j NF0Uj)`>YnU{~#p8ϑͧ")Fјo^ZMe1IDb }+K7Q, )v:Lxq%hE$'X˭k5Keq$YZsOrX-t4`@ϦSf80 Z+G>rR \awj"JKѭ,c䥵V;đ2cYIiԨ`c9g!BX[%M:(؂(K00`qBgVfaR`Z;% IDAT ˥PFBHQJsTic ,ƀ9bO1%G/wG~o {WO{Gg"|k ,Jm݁ӳ+ K(o5K??u?yw )ed|ueadE;gP {fӨ~C}U6s #>2Q3.vS ʝ"70.F~/|P%SϳY`5Ac1QaTlX:@y˼"rM\?||ZhƯcY'5FBd ,ij~`guq} 6ߺ!rY]==tEj{t8^Hȴ67gӝGGݓ[rGW>+Y: Z6iCՖ?xJgu kg{pm2 3e2S())eBV6V9Äd2`Qb\4!$2h&`qjTJh-41j_ `a%,\B #+ZFY+B/pN,;KR(c:cD_di0D(1{љ!BpW[!+#,5ڵW׿2=5RjS|c TY0#LC1!B(l"؀,2Z0@(Kd:#+2(3)EQeT*R NygeYD]VSdF`TiV;,B΋RhJ+c-1k1F/Xj4Wׯ}ǿk_$ԿOԗ6Nщ*+/mUf pv|x\_|ո/3~6b]yXmo9Hk!Ҋd:|i3t7aԩ[x%4!/ɟwx:4v"KkW|o|D ga_'?}G8 66VZ'tʳ'QĚEcsrphjwKu5%n\9=a\㕅Zno/on8NFk4jNjՍg@^ν l8MEta8|p6x!QbQOԂʕh>HJo7VM}C~9|Hd=YkR\S̑Os}km*=;„a7bVWڣh ĩ; \H<ɡD̏}[R`Hמo~U*Ǧ nJ=ߛ͹@=OĥÝ>?7Ko/[[(K$_ i&'Ј`6A#տ¿NrD?=x7ǙFR;'`JrK;YgTi30Rծo+ r -,7)!Yj\'swW(4(}zql|㐢y1$v+fXʬ^^~|4-\S"Llj.t"㫯O}LF'*P, eay6+Dfhn(RBaV#s[[] ϥЭz %Ç``楐U5bmA!8 0Nu'a5˓(t>+֕8jh0_tUErҨ`]6Z;Հ a6N]m r$Bzʓ4I') ŕz<ϼq")52"ylYV-FHmM౅vZl&p\w>IWg? _kT9FRuo5.ZB3H{lp~6J|V_^;=ڼVĞO~g:|=9皏>v~@R)u<*)Fa D0 TI]J(PVX Fe`kEF)Mѧ)]%yL(&( 3*/c 1XkZ!0PJ^)khb  % zjD4R0"Hak eXkZk^z~ a/=0ApȞbG;W}9y\/:׌EYeBR* ,VXzF co'RX+R d.D)J (,Җ; Rb=AD&0.բLJ b`7\)k(!Ap9Å`,B`aSJ0Ƙ a6d~ㅇy|tO|x痾lM#Avpp9~z[ K$~织_~╗_Yy#O@*ް"v__;Nyaֹ1c?k7} ^6ˢNOG򴵾tq//nS#]˵56*wz+eoQdɴϵq1 zV%0( j{,%ȺC ]Gpsx>z֥7?jGJfÏi|Beie5v\>~ΛŖpz̬[/ ~ЧI鮴bQrv>-EIv/+֮l)W:jW:7BF-/J{D+W%UrzwVn!Ueh>4ilVn>2H݃6T4VL^^t6iJQjL}]o5{RJh{פ`uJۙDk9XXʹ*)#̺IAtEkRhjgI:lOi^y ;X 8'o\u}'GYFf#Pw©^YO"rTF=pkeX `pޗi 6Qdej!7ء`M*5O"PxUWw=+s#Z.d^]..-޺B=kIU)L6bl\BY/_^~[빘,:>wD!KZ9kU kzW$ {8ߪ,y}SKcߛWY4P[:' GQny1sgmy<ޝQ kWчQ#es qt'ŐڋUҿB `~>Z{Ha7:K{՘q{kSϕ~_wQÍkHdUY $IQu6W/_^;nw2z389_h~~}hngq)t>NdPׯmJKx:>+gEk3I}qELORy/~+_ܺ<}WƋz &:Z+rMӼiQh %jX|zt?{TVQ2O|"76lwgiuq?WYwص0yppWfxSFv'EVIԐL2)2Wbʐn>qLZwL !H97Jb &$)Rku@)s9ub:UEE!Lc ㈵@0 00N Ah- 2Ն0JmE 3BZJ8BdcDPQ0AÈK-FE0&ƍ")(%jz.&RJ!baBQ5xkuoXc5Lk W~=u,ʒ0q_T 0(1% 8gRjU Kp8.3D]sB|_˒"R m0JРaYأs -YPHLz^c%]8aZ}bic60X!JZѠ""mt()cHbL%6qgǍ d1ED icJY(K JPN5 ckjc,Do]EfFH)`>%BRX?Ä#!,,AX, s86lWCRsz 8"rWjaSf0`c3eZRD<ܡY+A*mV yaB)@)rBI),Z+BOܿMoy;Go|am:s\Ƈ$GoVW'j6&v%"ҷw_p~3f6O͘'tCebnK׼NSs]n nlH( !p,+r8qj]5y>98{so%<^׿ F-> QMgZ8[EQjGAInMUtwNN[lϜ>X_)hKq30QUϵD|?:+XDQMSI7bsS(74g;p0Zk.yZkn~/vwU!h8rhYGi8E(yɵR]9bK[H 'jcE IDAT+"GfVj^xyu NiR$U`Iw0vm?>;~jVţI?=1덟R3NreZr: #00xPxFjN yA"d^i;%bR\$iFSAIZj( b$T-j(2k B``lf,ie&#9B!8~0ZiQ`4BT u<=LƄ3PYL)1cFJƔ Ri-FC*u |FFi1~OS(`m;A`ae|Ʃ "e8#@ܿH|mܯ^&mK&OGlMQƓ3Rlaf*s4B)^VJF8ǔ$f1bBK Jlc1F AuGk(זDjzb9GL=b]z1}~JDi,gPv^A3ǝ$Ok7W<~?'wprVmc1oP.jl&XD[k~h\fAaۀԔ%{;)n:^cgy?(Z*:pj}oK`p~<y4`]^ޚS9)-\Fn+W6R&3<FΞL>~#&Q}φQG-OIDtM|ltԼuuw?Ht!Ù6XC*//j5v<%vT:%(:6PY|1 aqܨ8B!`;l}ePwgު5lc,@Εt8:^$6ֹ%$Z*1뛸^vnwxiߦ+u?ZOr"\d6 "cJFiX.ƀ *Řq}o03?b}gI<V&%ZJ"VV7 eq,%1 5b+U֕Egƶ<8Z|{/ҸXL:p8 $(\_\P#Mp1j7n-/KH/9߲\F,|wG ??Zm?Zݻ"Oq1;:>XjgoO/Gk˥n*7=}:j:'~bi_/ML@ϰ bx6T^;x$tztq:86ׄqF;ͿѻO>Jn8Gݺq1L }mcQ[/Nʕ۾@׮H( fఋq$+WLQg{W4;=9xXΪUuh:T#Wa甘>@ 6H2J̶-Th)J94Pƌ &r 2PB0Ơ 1B1d`ah3N0€,FsKdm;se͵zh+\h.8*$Cw9 0HpZ]"k  7„Kle6р)!B9D.6׮QM Èa#eK1Ar@Fit,;K"K "UhPt%QTrY6l2\'SQ*`$1@1e2J1!Zض*M󼐩HQe4" @(D.gBښ_>62>A6*}/>GZ6$jx=N;qjmqO;"&z:w77<ߕܲ =ztq9Sa!QaқwfDϢJy`VMxVɉ}NxHR:|V}qN횫 Rol/"`J^i~ZӣA@ԓ4(/^]7_L߯]yr0Ɩ-:vp齍׿~YI@SAf:>C=[i7!YPlP cǣ`&kr7/џn/7E*kk͵"5N{RR'tAB%\BMu-FQ^" 9?R!T*^ltd{K}nt~>m5Q\HiLr8DIRyy>\ؕƋTlɗO&(WrmA꓃%vl;й`y x1͢U{qF  A[l<3a9H)FfTFik9NF3Gg{G"ɱc͔6GnrV.p^!a*1B%KE6b0aCq59lol>2_LGnݺ9y~pkf\//GQ!.5vB_2R%AEt/m)Lukb(%ܦ\*F (\lq'g,rfQP`ӖP? Ss šRܖYaQh%(@0)0c% K "4ЈJ$HL#Dhca$%}=(&sj#79,f^8c`"KB^\Pc03h%RkYR ŸvQzp t.ȦBDd +\\^@&r (0 sX?1" ^~1BTLli#@F MY@`8g1pD&Ҹ hItxH86zƥg\O~nz#1,_Tlls0¹}kRn+x/hVeת$~[TBqp~f9qmkmCx,f7NxxpTXW\VwLw"&}o믮~PgvW~y HNY/W\fb65"޺ɝQx04՟gi5M ;VJbb{2/dQ`sSS B]FD9LaDDGޥ_yVhުgQ4ƣ||oVCr<+ڕ81:\R^Z?K'~Y#\rdd!9{QR;XZ'O&x歧^Q" yE5yb#YJ˕OO+>0Yv BW.ΟfÃzx\a'p:Kl7JVͅH@i&qLœ31/G'FZ^+?߱U< (JFޭWw9=k/?WV}i4P2 F1G=O+t8~4Nzq8OH$PTYetgm)3zܙPcL3 '8pmLW+E]]__J4tWwOr#{֨MjMOV-;,I Keէ׮_չAS=NvV[2ut3Ur&Ō縊FAڈhr;8m8@-^]98ʌ63)L$6Xs҅\3)ARg*Emyٓ{2f}8AQ4kY4{׸˫k'G BY:/%٣$aD;N;vj&;vpZw,^(+AO.g䜝:ƨB!\bLh!,0" eT,:ԶlYqDu-NJ2VjqPH p,n0&c5`4RRb% , FB(c2YeiVBH RBMUWDKAM Y#maL&!"`Q(%B(%YPi "/6evu +}63}oF"FȘBȲosF,rf9[t"!Z/&Rh-a @(6FH56-B  APriB(Řb!V*ODV2# `0B  (22( Uo {a:f?f}v1A&LJϣD4lx6qQD*7.à#Q0Mv؞JC.;hތesDvݕ+7*t4>?޼9,NugWgoekpg=BZ.LJOgduɴ#66~Jmŷ;׸o(Zr]b'Q1WH(tYͭ|QͳY,K}E+$h AiC*>V:AJ̔!AI(3yl:M"Q;pyd < gm3FUUBkU(NIJXfZXDj`ToQgڸ 06wIs4YpZQ#zc~.Fo &ի{G c4SNӬC{s^|c?!G/fR.X<b$-uQH 3 -T$QlA-ǡ U9f$ Y,HILRE4cQ@bvBD ZB@ܪE)e@/: tZi#`"FF# ,l;2TSl@9S&w< \l,wlF#bP>1FBYHcB:qei FEQȅgdB0G1׵T@tlCIX)Bh)NrP,rT6'/޽\דի8Kn\+[~ї:,fߺwtu{620oOK 7*Jeq=~nL \YN;ywl(~sXrr(^[VHr#h6eͲ,wFnq #9_ 5;Bf+Ou:6,2 ;.k (GI]}|oyi)SsZW>P`)/ I;>k-~ݛEq[Yg/vn6-(ɀ~gzZ}퍭/TX Vi>.֪tt8^m}qpbĢ}$ SIRBhZ;;~mW "^:9y9,ͦ'Ln~%?y|*(eeQnv671UI46'RCqóӝ[vwQnX ~a/cT<);C\^ڏOŌZ) ^,Z)fHRdzot(Rdl> R37FhI9]`X%T%Ю1^ 注{zFkr[ QFXh-  :¨!-bwa &Bc0*04VB-^g"ƴ.^PkRh 2/ %`p4\(/1ZfZ=6zZ ~X@ (Z8\g't"!_V懓b 4TX6WXPEqt2(^l4]@e1bTE+MD+YAb>%E] mB0[;(8 yčzk+NqmҮhU.?[o4=8]rv岗?ƄhJV^kɝUZI߻s6L4gx
6/sDeN8%s/ℂu8vwT*W*dqOa,~oʕa/##A2Ԛ ޚ XJ zÓg7_}kUI7VO¾L^Z+;Z&I@1J[} t'H^~v4^]n"/Lzm^! QITBW{՛w?_><;{JX'Ȳ pI0fN-ě'}LFg冭Q`2q Q  mH7BrJl2G)6 QU˵  0"@-pbc@a BeB`*r"U4e E<1"^V+@( Ahm QpkH+5@/h"MXDic^^ N< 3hVe7J^x PE2 6",MRK`@YAZI,* $"H/[@(#-'A(xQbm/@2/`~m.Q:4pA q,*Pq:3L0!2($ɟ WګSSOyZF8茰e|unyI燝O|(-.aΒʛ^rf:UJ4$ ޽;onpi0ݸht/mhlVJfI!=t,EIO4Iξw:d;JO+ݍ0p4Pҁ 0 #qy}-Jyzi %BJ.j8^x.d?X]gk}7 #2>yrx:OtIj+ Fs 08y .6LrH_{ *mb]ia;3M:>st$(0"۶ƹȢqˎK˓pv֛f)q,ZͥLv^:I =%,tONHr0 )6oKjjCp*382 @6"ө´yˍe#,i8T<~"2)Xl< VdHcjs:E؀6U-a0 תjt4عUꌰOTWw^}/n]kmy7}獷6Y:|ݮpd^-9cO}|#TRԦq0PumjQ(gEKS%bH!u0 2(r:ˮ뺎:`m4Safcf+Mr8Γld&I1ʘB0hPB(c #0iPHG+FFÈaα iP͍a!D!PFdsB=a3a@ڀ2JiD5c #q 4BZۣ h`mw*9u,A^jy<,'(R+ mۖ((RF67!ogW?O[X]ST^OIRWrNNiɶgEEaͭuCǺq!&tzk n#bgk~ЛK G{z~lυW޸f{[QceT(eDo=on#N{vӣuշ`{oe1+Gu;rZ$/ Y8Y1ؚd^sy9phLDzR1"Q(HB[6d2Ai??NŶ6()e056[I{tRoaDHD˅J~+OȷgZztܓ P ~l~T'r Q i KMn9Ԋͽ凟EC6[RbZı__"Y)!M(%呞[F۾8߿o\w!v%5Y__){˕R-vO12V;_Y CMV\~zf{:F,5WW i8|5GW6?:wO0 9ƈ8G`(57_m wP9dX/?:kd"e\jLƶaf9 YĪHZ., S(@**le΢Y/ dYu=}o>,=ye-Y ڗ׉O&*+Ӌ,ʾKՊQ+hbrU\˿BA8 872o.mxq\i [X ǃx ƄJ!x+qYs{YJ=J%z,SYF""mk0( 4diR(a,(ub@J@c@<ϝɢ%);R xU}/CL,nkZ ) 1E/5sB_X\"/$(Z8 ~Hh2/Re Be"l_A@( ;/,z5c Xc4Ƅ! % &*v(H/\|)r 4EQwVP*O^|-XٵM>W_/6]?fvy0J\l&'(7RJB0D@F?p{B;!.2 CE gإAsbƊZ뗗?՛7G<ַOijw`IfRs8U[+ rd Q"~pZ4'G:]*;]Aqltp6q<|:\VJյ4?x]ޠGVzgE+g1Us[2/˭U}Rc~QPYwZ<;Fٻ|LAw僻k&[ ,Rn l,*θSF>/*QDG0FbijLl"y._%oqV&׶W'8~Jlmwj6`~tgv}|p+ΣX(vdi$ͳ"^YZj,?[[H{hz\n7޼qrqr8I-呒kgsoogPJ{>ԛi6gV!_-G۲!Ga,a`>_D9us꾛&Ddrơq࡙S%fcvӣQZ*wNq.O/^eqRq=,M0"ǃaR{ޟPlBn]>y1IBmũ,D soL=qk҈qo<}euc\$SteLJ7{ol[vׇ״3{HT֣2P®`+*3F~ /7VO΢He,KLH;tZQ !u[Q|哫6C_FzUtqfuZ lآ,ъ?='fLP2)}6+U+q?J5Ϟ T:7DFrVIT7-d4WR5 W&vP(Y?ݺ^b+2E6ZR͋J{W ;zYeoQ<| F7)Wi$m0#mA`bA>>>x?{/D@J볳3\Y]^RjQ T98UYhfm$5ضug@1ѨJ! Ke^3Sg!)}p8Vi'HYiCa GJkTfqE5^Ŷ(YF-Y%;͢jeDBM-o~X`g?`cgng$ZuC~o~uX!Ӟ,QB!ijԲAcs u uR %iyׅBBy!1Ҙ /\ۓGijo>2<V;Gr{9  ]|1 A-<4#N{s߽V3鏥Xy9)7R5 Zu\5u"? s̈Z ۯ6˫wn^S<\l>7ÙGGߚm԰幅6tfP*a?Yyz4_{#:pmEEQ*ASJh쪵V/%u]ǵE sXp1rfW?˚hK\ByTjHV[V+PmnAwlnEZpo8۝$჉Izv+~ vZ=̅FHP$hPsݭ^~{i4Sqm@0ۦo3L,E{y_`=> 3M)1*SF=>brI.U7o[߻u}F#q9?[|~cbQ+;>>J4 c&޽ѩ3%]9M1"m@'}L9}ΣE2>tfYfΊ5C/j\%u~?|~e4u"OQk+,(RKV8\G67۬5t^w,xAs]Nyh`l8rJ< 5+?zy:!%FӣӏxauCdi\&VK bi;I 0 0$bSv8.N#lŚsVmRn5ARB`$׹ҧϮ<}S heevFmu9? 3wVpBYƂ&8jRiBC0VNXsʃ=۳Fݴ?^nq礷lȹָH8ڤi$ YFy.(k&ť!j5ݽkۻGq{X w$sh: mHT$`s4A^a4W?}j坷KBe4D b3keRJeFRx \ e$P`)@VL@h PIJ)Q0ZhBpTZh0Iv'F{-AicZk0dB"Xs j4RJH./S@1%X. nCPǶΖY̢Ԛxc`1B0& `1+gf 1V d1_ͼ h4R_͐mKBB]$/ ZLnf6Mukp=,gAhge/޸8_931S!k խj~ݛܷgNoy;8}vOxĜxyd<.fkڝ73sr}0GP+ݹc֗#kzάѣVRuP-H0;do/<$IݠT{h>_ĽN;gJrܦŇbOK /~`^c30*<[j$O7Lݞڞc¶3x; pʙEN7nji0yJ@JhSZfHC^ r?㏝ꎆJ a?nw\wuJ0T1tCO(|F4ʼ3J8pmZwK<力cF s V KqVK!B('-\I( jiZ  Kf$\baq=;Gp0)e|#9"ffi#x]Hʍӫ+o:ƲY2ɃjM'jM a Nmj8v0zɍrVȓk\Ofg7jIaʋ,ı8@!8f2(ͥ0mם@TZ4,$*Щ*7SG("(`4ekI)m eJiÖieӉ6ٍsKWVuX^WʑGӛ>ڷhc ++*u./QGʼn砅&hB& Ե 被 w٤,ãҕ[%ޑq_v͛Ki.NWe8[>S0tv$gƱG;H#71!.LsJ:ASbO7s7OƱ*[1XD ޏSwHpQOYlʬ>Ů"=u&9 =TRz;BwK8òJJosG3eKC!jR>x<}Tzm@ sХVtv;uuۦ\ (W`Ids'~aQ/S2!2*BWO&3Pۢ^^d_4 h35T2TrmwL틧3w@OH)a4E /:L)Iij-VcF OeJY0ذ|8⊪S=E362}a_- N7 L JE궤yppAqXm9mRy,{`yYʙdCa;RXQmz€D$i8\6#^;åvB0 ph)g\ibo)P#].$0`rM^l(pn %n8Ad 0.tB?O&{0"NEiwCe؇r8:ӓ%zu|ra:\\&fN_MZwb/RH(0 x AŸU~L.. y3(X)#*gCV蟴2 Ld8y! S@,"lJ9slB1%2Q^vXfH`;>Z FC+e@씃?UU.]8 ZsK=^P/#,jIA7;{"Z-^֋E(#_J̦r 6fWS_5U$6To%F!BHT~D^WȫfF~=P|[xZ鳳>DԷndi$:/*cM("RB-+{'jS.o?HZ7e::DJu^ Wɤ&HϊcmhSKoI,:qմsUx@GьSQΎrS"di8J-cUS"'5CeTIK3UHWD^jLa(Mk|(_Wݯ-`9Ѿꑲ{Isoːa F"ux?>z|YO).el~(2h.orxU각YBgƭ}Mg3"=>Kљܒ Pq_lYdQ گ%׍l/=)g;IKo AOb_u3lɋ'Cq9uԢ2B)mS,q!;FPo3'hC^fYA,ܦuEׅJmaRѝ*+X>QzoK! pDbwx{s|NwKdګ%N?ȋZefG뽉sG Ӵeضm3oODSI|MNiE3f;޶-⪬EWfKԙkF;'ZH G31Ͱ*q~ eIvS3E(shJ|T49íZ[]Q7O`sbyi`m=g*U \b_"%>H4a9ieITGt0Pz2Jj-c3.H c ңAOm[2uc;k`-G?ge/W3|I8Sȱ zQKSi%!.e}.e`F1UY3c`'ҧ#1#gb\GʰqzAzD6aTأv`VzL 9^eӦdY( */ ӱ=G8Ł?/f~i Wz_:1=94a')Dg(̓TQC-thwXt?3ƈə6ek+˨%Ǩ}& E*cߣIŒAW5%΃f=ȇ]ȣAd OpІ$5P@sxaf*בW `NҀ\P{wB^V_NHߏEITz ό) *BBF)p-PMCeBɊՑ@K3o'[v.Z!Q>9ES^řghR_.A n=#SS˼,5s\Ȑ1Wӆ?4otr_\ \Wr1DK".% CʤAxP{(|.rӶGvvPEcRՓ2P ,`$":xfBZWeoX{S@]PtBإm4ʄY118,*G۞BuLIipWHLL $&)2%S0b5Q98AY~ԗ@d}uDm }XD,tqaNF/:3?ơwo7ۧ1KoXE[ET eyCNg!Os7 *6\V3Z2ϐ읪mI3ʕPˍ$=:ýc·JRsM{Nr˫)~pqŎ>?rЮbXgcco,zc]NYSe`^h=p٫cu]T@;QC`Xԧ e:gtg#[1وUW@_J‡'yˎQЫ7wEHsD0 g8 eaM>Y=ԥakaFpY*,/ uG'-ONw臮\JྸH[][SZ'ʙ^ <8[ݓ1^kujڽ~m]{Յ$ȇw!e\߸> :.$ Ö6p F(AZabx $MF77OvF#xァe'\Ʉdx(6=!I?yzԟ5? V@HYFyw.[1tF4RCsEg=| 9 ;EcxD(#?*dVؠ6\^,x?vXtX .훹E~xFGܗ2LXaCc2b&HsdX\6݆"3y#F1i V'*k=\ 2GZ+5XQa?fY{ ۙR~>CTI+VfqNN+1՜g2<55Z"j R#Фӛ961*c:K{(vTu,S f^5KvbY QݑQy<#{F0b(3n%sWtpۊ;º EI΍bGBw>@ȏRKrR{X*]^IueeOk%)wT=-Li0c,Ő Sz?ǛB1Z(xwp9T_!lL"Sk哢/q)D1efrdSیE8* 1?` UΑq[UO0<8ĬxF"L@M j<`$FF5> JL  Jhhdu.xXyg٢5I@ 5M) t?9{IhFH!c}Me{.F̕VSDGt CGT:Qs=$KcDPq=ng*يÚ͙ߊn8X*b(j U:Ux%%X" vD;mZskHk#ǣn__Q&i)Iv~n=֥"9a`0( #JMց.} dQJSkpf UOż5kWEA5؝$~0:=pJ>m=OOϵ8-mXmV56h9[Qx6\03H=dPa7I$]wqxʸ/S uVI|$=Ws>UgH% Y Hw:F?䎎 4Ͻo5|K{>EҏXvܭ{c:O76_BAQBb404cuBBJqPC5 {61?QDW(@4b,Jć<K%qk98l:hx@]zwAMVJRQ b]۵,n#bFp,aĊ~K`\OKWP_xUNlZ,!sƏ/ӥ0Kr %`t?rrn:5便:\'xЀ>zv-PކnYH"Z.*T@FF GP\ ;n'_1![SX`dĐ @y>L 4B{DwDj/2R ,~S%ހ$u&o@|0p畗6cgmC@aK(ky:w|`\;π^ôs;;-׻Ff~vem2]R2novV7z.[FY03)oj|f4Z,4fU44"z" ^Aڴ睩 \u[ rq~DR3ep}҄_XȭAv;esY^!ט{p*B{ƽcrqq_ׯ*Lyf6ffoUgs<Ēe?;X8[x7dm}A`￰:lZL\`cTf_$ciľZg9:P\g|$|6U=vʛ]]D1M;GjZñ 1OGPvs:S;Y{p^Y~Zeu<ȌV _E *QB"~9rȖbƀܕ23䟍c)J|ãy86Ni`!^։2h3bD]$k3au^*G:!z\tlT :\'Xbo#<dϗVL`(`NY{<rz)`ӣ^asLKG{.we#{zmMxsnH'VM[9|"@1$-67X dP@E ˒; mE/쏔>"mpW+!6B-hp ߰4PN!)[2\ ke] $li.L$oЀ~\`؁f@;jK;J%s42PZfsLT|S4+F9 ͮɜmM׳w,:lqKʢ?e1D06_&:`%|3+w_܂h= EB9 Tܨ $\ o GL9TMA>xSZ>CDFfgۿi; ,n20 wO`ò]!hk{PGP4Njh] þ:ժŋreEm%DZgZ<%^mbvy(t]ګVB)yc4U}Xm"<LDTt_=ط~|^s$l <{>dTEjO\t^|~}mMq:JQ7(©H{e#3]C~}ln x_t5w?~.բ/b<:͠?F >X<͗@$Oފ܏#ǧU.3,݇ ?=lgfLM4o^/~d!tPx?hT:vE k+'?r]f]XHfN˖׀Ihl#ԛHk߶eQ4l3OKxm;{\iǢ'ۦ`l;\x|i#H`X,[Ɓ'| 8V{qq+ؠOm)ݝzdKg^ݦfM±?s!L~Dpת))y85$RN[LZ|!X"ب3!,R4dʎ.g{wfqx_~m6M_RA8xr*~ 72YRu4uBIs**>JC!NGuP!a!I 'ATSÊlx?`zTT32*0 udп}S \1UK SZ UAOD111=2@0:OZ/YpY,EehriԠ?dqDF)(PԺ#_,v^d ϻ?;Ps,j6h1,Fl7$:(XlH 4B!.!fYj(=/Gʘ~Џ49@l2B-BB5ʡLpK1rRz(Od|^?,=|yzt]LkɌi5f 93)M TJZ=\sfX"Lzv! jܕyx0zmRJ\$q18k5GB%m!yAsA/Ac~"^8/6 &繅`Ƶ1z ZNb#"hBz"V*BMaU3[~Kxrc(" zvl}}eXnA3ԙO_lY ofdj W;_FN)K,3I=֖͜NHp YJYAXԗ(ݷ= ʋ!2."waCG3vw N]ݝIޫD7KX΍ uy&1[Owe4ؖK!Ҫȅp&MLq7-Z[4.01QəeCVGFkđLćZj\|T.oS@6(\.\/ـ$SY:SWymԦ"mkXOĊ@e ˳ڪě-2lN\~MV:edS݅^)V};W+IdfsݑM{i& z&>i_Ib eU+| "elquK᲻9^,50t<%xEgyuIH &?wm*(U58b*RDMí9u`M˹Q~I c^V䩸ǏxP}^ ңdɁ:4G !¢$e$K$K_pl/'h^R}ag\`^_kPLZ ITXhˏ  f ?#D&uuD2x,Έ)E7,:o~9*gpG JLIVp`%hߒ @@2s#+p.>˄ЀޢGG1<@|yFSZ%:4#C@ˈ {=rHLYt34>yߣI6JvQ b$ .J F,JέIW5SkԦ-D$MAg @%)tN;_eJ6+.d䬼 )E$.yQ ">|۞_~6ZzC{oXq@cyypXUJr՘Ϣf? W2S |d-2 ҍ~Sd,S%%A@ [ǓO9T;p60 Іbhr!-VC)5W#r"+LgĝKz;y>eob誯Z7Ov \e -l䦶gVUV7uPSR5`2,׍U!}qg׸s*:ፍbz`MrZL5M<LF&2++ B<Ő" OlNHk^ΏߞT  t;S|vҺ-0zKpS 9z&tׯ|?=VVV&UL57}v <*\Jbҵ4scS*`߸eE`>F[}<]2!|:jZOoo fM* ȔMr"Y%qݳ<^8q:RCy.̮#ris= 3{y8`Q6Nzԥst:>e>BF<+ɵp{|g>q !i}mcdv$=3noDSI01$PIP(vF6 x}yP3,I1h\$MoNC~,O-8eB?MrȊG' eEaRJD3Qc[ϑHQՃ)i3#'(alW–j*P`t\}rA.IIvh8ٚO4;Z n!;(S<ƇF8!SZ%W?HnU+2_(vJtn+d_q1VoIyd;$Iqͧgjo2jݯ3=Ose_H>?;d\ofO\\\'q :C_ۺ>u FÖtQcfc=6鄶MQv$ 0Xvg+dM%-yz_毊h㍐'3:w>Yq㧧K\ݐ[iT 憥mnMeP,Ǭ Nr:e;4-fp[߶BH]ũr! ;^ёQ4JGjۣcmQ DNbrlw؀'R1hT0_v MM"v";ӗ=Op);s_`輦ei9 75FؚXӰfo;( 1> ~-krn ?z?\ii^d|۲%/+UJx@Ю1P?΄eI b8$ڱ͋JFOvhCJJXl/+,Q@I%LmTأj5F4  !ApO$a8P`DTJM_ԦP߶-pD1([E )bpr%+<} v؄N_QȨx[B Lĕc( 46D֣QOr.;NbE\m Q64:9g&Ì0_g7]҃ LV%0abxo4 $ֺ*&AH2o/> -b%OkIrT a)oH@3lqTh`Cj|vU5;=K 3 Qv)!JBCvh֎jM5^M 37ӸpEP 2 BB~3D(Xi~L6i~Xe24~ӵO:>yyʟ[M(I!)LkSw0&kMTGn~:M;wJ.^/+~ԏ[gHiAJ)U0Anz )W())mC}B`uKˏnG酶f\+Ien9>y .L-)IS+t6SmSm@üxږ(# J9ii6k쌓HDI ҜoDH"dY\$co۵ΩPWiXL)nϞJJc,BҠ".&ՒM-!'jV;[/d1i 4O88u2<nMG5/SƁeSDǣ(OrF.aK0 [TJTq+>[0L \J6{=Y&3o/<8b0k*Rݒ' Cd0Nee/҅zK"~`ΖOMth<HUi)xea!.٣Hh6=:T Pu*x*@4byF G=7A[ A?PANs?ʄ$#pk :YDA]&T)BCuE*ͪ]Ț1C!}ml r}I%pTK,rZ_V{e-= =nyJ})heyKm6=6VQg>G ķ-Bz)[IEH'Y J~|#FJ? <]fܞfƦD+ojp3}֨P8N/DHL'KB4צMSO)S~yζo:`쯲 _4<ZȍKۄR֠ZnR3J6c8HjФ>u/V/\CbZH?xRFNPɵK§` D jZ僇 :s"ΐw`#I5Ce8nzv0ũl}3cHz#D`'Ň7=7TJBy^x92crր,x*s'; 1:ԗCٌ=!iYVIBCYvUpA&TCuh(\Nx?otLVr?@5-3ǁ;E79'ܰI!k|&.|4^7zޖk?o-ec~y#}[m~ABe-o,FU0ͣ8?yύr@'0ziKփ6Q6FYW;=&HN>&ACYFgyE+C:b"2v̦ Mg8?>H[5'e  k I lӋ$ߗO=T>EgK0rɬE ne:w ),]G> lYa%SLxo\[_w ƁNRsoenT\vEzꡮ[= ),Tc^`Pejgee[$۩ Xl-AI[ulɌXL~ FrIf, C锴SqxQ#-~PF\@(ԁhY(JH%Ad^-!gO 9|O:׵sg}3øI^"10S>ЈCcĺfVզSK话יRȔJP0Q  @>6AoPfƀP!CdDCB[$O5 K$2 C?.c@ָ)1P(j9|~~}V)[@SD1~YE' Hl[]w&d?yq6rMAeᔺ7 m*t%|k m)[nCG{[i8/ +zK#hsl>?~Z5J"'U;{>a y(ꗖNdzPN>54QyCsI;UeAϽUh9zTsJmexY wI9|<3a|5I׹$~һ5!v+ɽ`TqON?ZtX-o=gL޿ͪ$YdDc!ĔICY÷xjx-~BWHm^DkWh(OˬΖX"( /6j}%N]v"/ +1r?( (+>dc=0C]NVn0B#b ia 3]X]!VnEP 0 B^SFhDx,ÁPMWҢZ2]X#Iur'_Wv^bLz1eeיe\W}Ӣ ^G z ՘x^@[i{H#?wZ&ܲ;wXӢF_SfCEx-FXcTpvNpPGqki^<)ߢW_h0:u%_qxe_c]ywp+Zдy=?'Q܇j6ZlyzzYV_|[-[`gYpDծcōQݚseߦ{S3犲RD)_^ jd;oS!ZiVYm^FqCăb)ʔcCM4`{|g;5u-b_WFB禎>Kf,hۣUMiN\W+nE՘y\ò1`_ Ɔ[״Y-dwWq' `+*`z<u߿Y;&Dg!MaU+v #GC(ctV Lw]& *3YcRS>ۓ^ JPE Z48 c?FR4U! ;IgjQ }DZuI?!iI7cQDbF|دAI;1ipEfDԽ 8)6}|tw 2b3t&>ăLJ aQbZ{(&ʑ03&c&Fo]Pr@3A=32M/ V8!z>PZPK۶<@OZ m(o_]`Yg@Q Ͽ[<:._~EըVԭ.V_vcwƞ#ˈCx:g2^X(4H/dqH֥TdaF2hemH'i0[,ύRSUMYZECX2}mUlG1#_^5ig,ORrFjO z?d|TKBgXzcJd*vIz()P<σkR )?aB{ xP8Pvƛld!檡|0B-cd/mb# "Kpb{;2I  EÐ1sg3O$ O%KHe#*Q!Rct#RׅPs8"(qu$-2c罡&TqVBt!KKK)8l {qsQ`-+1$зD'vyR|<֛]e+:2p:\kG>DQ3wv;\-(jΫҭzç{}) A]hQ7wv7yb=w 4z.x4"^*tO^ lP}pb|̅HXL(li*LpiԿe$FfE!*F<7Wsא8B`\gB"Ա}iuH cW'*eL`0B?_6E/N+-+5ښ'b 1'j_ZAB?O7tj,TsܖԱD1ف 냈±Cz}]}9Z]흫&hzEê-ݖLI}N, IH0jd0L>yݲ  7x7(2` 0pLnc^?O8LF+É2Gw.!qa^?LdEiʖY6WEwgYLdA0@JgA&UP ɭA8]<"&M~>v|(($ăQ1@I~6VѶJ}#WX<-MY낿m73[fZ;j ý3[UPG7/4$k͐a6Epr{w(B:stq0CPAmo,I4˄}E?.ߛn!^}˿LL_F_j+Y-%Ys| : |_!juN(.mUa-yHЍ"禺Կ?˙,$iW}I6ң}޽ѷp v.}c/e'6q(il5vxB?k%8! =˗;p}sW e;&_Ya ]2SvRkD&T챕i %*]8!'D(>[ICpӄCD`0 ۋ\FlA:N `DBz쉼vY"~*HA*>zdePO"%lO*=mN uħ<*2Hds1䙿ph ON$^-o4MqKx9$ J(K˺/_} fn$-?D_Nf+jrx~[z0F$Dh{*b5)k!vVO0n>}5SQ>2ɒ)z,u[j!pUlt@JDaIaA' *]Ix:i%hX0?r\Oo+7g~/Nr );Վ7-d‘qCTR<-m-ͲG}jZWАtF3I51#JfWW}re^H3k<wMN`6oEY;Qz8*n.iIn1,f{W x{.-?ڙU\Kw\UPMX鸺Ka}J})F쓾|zg›X2q^s1N;WZz^ΘA ǥB$Fom矙>^n A6>SՓ6b*;Zæk)ZYam@| Lӵ> sEg&uw?h~g.kM %ya`DB> O@[N.R^nmZԓ葪j[Gx8W^c8ija-,uO!C5RGD_#ġ$:n_j]?M`E.͕*jk~ /Hh#'۝c* ǃu:T8'2"DIGwq$ E[ܱ`j,tX\^e%N8}*Dz ?R636@f=X1",fnԔn?\"2!o dMęJTm1.l jˍOeŢf0@#ԟzx`㚎&ŸG -A  G#Rx@ɏ٣Ǫ:/{kgHf!T I. :"5K@,>_ E)s%Hwf'Ap~~jǖ[]<£UJI a-X>`Cq~! 3o&k$UZ1t&0~31u:Xm0赔QOqKBO 59d)ɔ,Z&#l>EH"_f{uWf] 1Jz"qRe=T<ޠfC3PGD7db앀FtWɗ4DUBr/XwTV"!u 9Y[&')qV$+J>-𹻶<~pQ-4MeUJz/nOO"պħםsߣƷ |#Q+ ` ;hbP eλgzѤv%M/ο;>^?wQ>/+%q_'\딧ai)+ĔlR齕$6n,Ջ>[ ӝC6l|C9$`30Oje*H$ģvRyuW-iVBD\ "皅&5wWǧͻLkKp]u!&3P ';öDQ܍A{$m09 G[!Ew.yq _ w 秩2$& {yբ$/;LVoL~Q?GrS`)d=tGF`ܒ(H͝GD+~'W_Iٳ&5<7˵ Q[k%9tX@ rh}EJ",v[z I`d,h _ȥ@7Dx߄_ J Sb(Ƞ" B[ZŕQ |] 0 -6E?"LΤT& (]ӱAn&LʠҜ%5EV@:xz94`~H1#LL㳑%::>fx((AxV w姴ȁhy8 5jbؙ˺Q~Ԓ#?GzUѮ l`f|c/$󱟳ךSrf׬b ], JũѯvJyn?Vp.w橏f;K$|r- ԌI;:+J"?%?iyS c×*rÛ8(" I&=؆"Txuʞ?=7$_xϏ❃t;ےe3b |ۨ ;\,?<Za' bPˆ5Da8w׎{gy,:8̩[FK{R&\̢ajĆNMlwۣgeWNXH-< ɤ <بmdf/=[\"a5W ]g/Ar}nźpJuMv+EM'|Afךz}T5hN5vp͸ŵv93 I}eU}W֥6k)#?q~Do$C]\d] (Rhrc;S{8ܾAݧ@lX`S퍗lro>r'29GYr4o/57EKj4<10BMO5U6fB+lsռU*2t#̗ş:Vi{g]]>4s,waN civTBnr7r;ى v{Nڕ|Q\G%antI]⅔8؋aѨj!I~)ӳ1QBs=Xc/'ZMac3/buCA͸^ِݷ&y|r-bNԕzR"IAmBy瑏lcJ"2=Z#zIdlRbU؊~ dXn)%!Tdϟ^Al/C.)o/Q6rhH?s0 1c} ruG1@~rΖubNx6c¦i~|߳PfubqtDd!+?rZԕ,΄~Z⡛L5|8_ _!**u6ӗ &2x|X͡tU5P?\ #N>EG14(-kZ{+K mq?3p@lk'0;ߐzIhK7ٌk"ՊKx$ȎX;Lc(&T' r̈T-\e7#K~*L!8ƼY*s8j(Y$)@3&8F!($BP6ch@t l(GHS?[]w8L;؋*`_Iqʄb&N~vvxxym>RƎވKMZA#Es|ڸ2aĹa0,쏉O~]D۔0هJyVqww#q́n"V g-[ЃL9׽kQ^S&ʺ%h9_,h`$۔5p;&[6%^\ygV.}vZөՆ|V8˄<`3rO4G5G1_h&3$߈h~$et`%_\>rTD,Cq q|y%z`YfMŖm'Bzw( s{Y?UǚNº ׹vGnP|z}lv&a21>u? Mrf`M>is)yO>\kK%{4oKY \"5Ta("OxzS n_33XILj_Uܚen1ө.7: OSs_2싈N 3VL$sd5_<]_c|Khw)8뜌*A1A r-(R((1z.UWiS>M:o\Ε.E-jb4oJs?䃛rԿ&:R2e^%M i%ܯF.LHI:M4@ȉV*(ҪH"9(7^I_3R*/$.,N1)yqE-vnA@R:Wwɩrx!&kwao&W=PS v^ß}vb^t=m:I;3MdP˸z#oӻ7(ZqYj%Ck]7ew/Qg9OYvzz]^`ϳ@wͭ*&/Gy4^h8xWHz?J(Ap..1p'( nFrl"iDT0R#!G3t>ns4//1,2V HuA1I\gF5EHgDSۅ}(t)P4Kw@4'3z'lo:trX8I$7UIOz|DYh׌Zc#N .a8\T!q (;+bl՜l($dk9{!9$j ": ^2 K&dE?"Z S/ԡAֆ9ĵG4 bPvyֱԪ4sazن*wx^c}c_.ي{ֶ/W==G8˶JHQbcEE6Hk Z cOVI&??-m0<.d(GoJ&2>_ Cp`V]"PFJCXj6s5k"[U{%_bNђ|msB? jB[K \ q?]>Brj4lF g$FV݅W[w8}Լh0/I hݗX~c}m^F#VBku(8~dpY P~XEaZa!cXG<~s4@*%#1 FB*/Cxc` wu`}Qu,"#6";J@ L뺙Ȑ%̩BYSaP*ncJ zMT7coMȼRJ994z' QrHYFCv֙`f_ SfLg0mno YML#TJ(}-vTONίΞ&4خz.~KKL1(Gn^c_cB5kƺmpyruT#-K}߸?ۋd]pݮ.+ЙuJKg2B]ߚKg+MOYZ&UEiy=.P)>A jJ0DU51@οE\C{6jJ_ @:cLD)(f6]Ur5X.uCwRdP!Q,+Ư"5 0-$] 1ź5&ˍHFr1)@L-Äp'ty[V{># <ba]NF `k106!l89lx֍e4XjN'÷Ǘ=/+p2]lw{eO5V%o",gΝ{.\oNC#t6ScLZ=MŤVUIta?8YfJ/NN./i-i+;7[QKlrO?( H:lyc٣ql16}60$K˜[Z \!HV`2gG)aeaRi$eU'(CMWJ\N39ǫmɕ Yl0uWۭFGr18|zRcueZ`EQAK"5iS&Er}9LUddgk9- P]ƙ`RUJlGٚ9VUJ˰Jq43\QJQncT9yf%25 f.5B$H|D(E0Vjxr+;3VWӤm4GAL27wW]m姏R;/Ģr㧧XY> r!2<}b[2-Hc,_ۺ#+.e%Ǟsm}㵍mf[W ha)mk{xeU߽wdhcX`,BhA0FQ1J m;?L4s/8dˡQH Y) ^`2^YH 'cAƯ輼 yV2H̴1$% JYY a(]A*Hڟ^=w!+@&[Kwn@-9 *Dtl,;-B BԢ k. XHE06@U\_مt^p ^<'Fj  f8ҋ/ Z([pD<Šay cc7<@ T%ܿʟ=WD1F `tYꐔbS(f1,0B)Rh4~(]GTY6M@5Z7`)@cZ -'2D$g>'1֟񓉑@/G /89>a3SkC6a훟w"˭~׷z 2)'aJgj'U ;<TU60D8JEp]tnS* 6_drkKܿq=<'΍ jw𚭬VwZ~~wWKE-Abf0P%p.JšW\rLk+ui LQ`0  ;)R̾Ryu7{_oY@Q.s^֛ jeT!Kway L"V=DS خ<3:iln<.G绫;ݸ]*<[oX7ƕà]{j/'oэ7nOkRg,+?hhc5lZE$g7ZHP.O1%dǮ_Ew|?>6d43I)$P hi\ud|t|V+P~3pRNY*LGdPkyCq4U3fL)ɕF, ,=\ae NK6kEXH3Pdzk|d(*(xY8ZryRܢmXRRz rq$&ϣHW[scg3Emd^5T4+KLJyyRQ3F:07Z|=v]+RxNǻG ϶"usW(Au˒ՙg8_1 Txn,pX]ݵV45Weg}=F OgNk0jE%+womr)BoFM7ܹ2_E+RFfck~r6iciVEG7lm?^[Ezrַ7q}{ك?[['4u.^u+jL'?7n\=`9y&_j tt}t9OBPN ) 8׋:O0`{`@UB76%Q0>q4ihup曝Ammd$}.DlBSy&7W`κdKy9/-LTy~{o^|ZeϑHV Q0-.8Ir>!pഛ70 >O uLfl 9}'e")LBn,DJm#ecdbuЧ1Rһ*gЀ\]{|Y*q ߸򤮬#.*GT'H{2$Q}:NᣓV̂#'":崄Lk&PE[s3M,'zb|52P ώGgS][j=pArXW+\;;3{vʗuſ>ޠwڍ~{vgo,Eg?>VnnDnwautꦄwz~7/g}K{}2*f'v/5׹y7"OʙOѣt' h-^:' 4)C-)x9*bP"jQNx UXޡRhdupև B$ o+]NDžF`AnwA#(^V-uӿ8~䇯{mo^C"ƕk?~z޺zG3o?x2Қ˛7/N}cV׮ nŃ{vg'7^TO6ӻ#)Ͽ%}#l# 罢AGKGE-" ε']&UtRR׷NΔҺ僣3akkwinWgH`IB R#FG6R))xa-?:ibOn/YLԛ K/?9,C+_,u"R'!N*UO?q$ʥ~w4\\xE8HKuÊUO&hk)JBEѴ%Lc2RB)U(ThI:'%ontR]ho柝yר]ӜF$ /BKj46/'/Ff)IV|U-ő+-Aa}A$Lq4l]i0PR,nms琵6QL]<#WV EQGS~2)!dl™^\ӫ˩Źj^Ȓs<%Ir|^9 E mt֟g58 H@KѸ0NM}UZThI#Zoi?T"NpkQ\pA$H#ͲvLR |D4d~uk򛷖udDD[/o]o7nEgckr`x}Օđ192Ad6DrQw.y] q/D{|tAuU/wo>yo|teiɨozʕ{W_hw/vw]jFg9շ޼f_dr.$XYҦוǣJ$)G,2-bpżYnYe1`r wW޸P-Q3ϫFV/tX"7;I΋I%qdJL LL&QZN"m QЕcp{k 0Z+'hJ:qemH,R t;<\_Ϧ <&ⵍi6b n'i%  B\+uQImÒs "UkY0:J҃"{ZbksW9y;lKO\g۷o{xmyNhoՏ>oWw֗}ۯ%R_}@@Tu4 d~ニ[?gW{-L0NuZ<>Rm#7 "B 5oj *Y :0v7ͣ0G-l([;4@c#~܁:uaisnwXы]v. vV6z=_%AgE l>N@we: ݎ@&` Ƴo 8bd(-mRݹ!k@<77`=\LEˈu0sl5o|]l nLiq @J%eUN%Q`%xgb^(E2Sg\&GA E"ɘ*%^ @P(zTBC&U ĿrAXw&sg\ZXƓr8Z[Y?=<_1g:^V0a)EDz.,v3Z]̫kb.mnM\xq7_;~|qd n\~/'Z {"r|Ivz|OWViٽ惫7ILҋWoln=.\8b<}~Vc'ĝϿdwКD[+{Ps'Ie!H'BR%Rt .Hd6X+ɾrYeJKY3/wQuU%Ao>p Rjc'k>r "D:ΧQ,i^$QmQ\k|PkiQ[Wǟ? C䄸~|z{7^>9غn殚gV'C -LȋiUV5K\?yH\P]$kk޸tv|V8.Å~ov*Q'_fTÓWݺQ@t$T$W._LS@Ѡ%~1XNr2 h&(&}dvi/_p^jCf%1K-  IDAT@PHZbQ-:YmmfY.Y2D"F2`4Gݵ [tG(gkk`me~NBG52$)1A Ө 1^Idl9VR6YACRSY\ ) )ex#f#$55O~Qӓ1~'obT61nox}RHo]$qQ,iijfͪN >D5) sT.ym  "yy/kt??3xx(ؽHd +bQ(Eȍ!?>C!e$R 3vqշ>k>~ʒ;tTJկg?EO?|_~j2.}~ѓǏ?N[_9-N^>;uݎwvY+uvjˢm om,}{!kN,2Y q AHdV{a#(}dyy_\2:KL"Ͷx6˓`<N*md)cO;;RHF Bpc"[{ŁyXqKIb>.llG>k_:2Kg/= **xR';NV4E-:S6P ҝٴb*2FXlbLC#rBP>cYKEhTj/=HSf)dHRR .P+b D쉄2<3)|B*rc$\2qK7?Gj'cM!n^J t`歏\|g{oOqrY*jΖacoogt7ǼwQqz}JŅOv:gSXQ{=]IYy1TT>l@J)s ƴz(N[Cy9F {b6닛 *IHɴff{7ы'I IRQ+VYJ> zQ $t!r1$ J((PQJR_W嶪#)_U|Фsrs`c4XY%v#G2CDQPR:`A\F#6ERr4Z տo][WEt~~O)z0+wV̏}g?r|#?}u+޾zy묨qR^K>N{g=[eo}|P}*%RmY/tq=?bd$^!I l[ `adБ8,T/ʅ%WmŊKI22DvuZ|YXgbF)u`g+\$V, g dDfl*xwE/>[}yW1?^%a>ywFbp:{<˒RNE9O3"v˃a?IkW!"d4JUuPҨP5ĢFñ*%%j+BO{0Vn?yi* abcTUri/08fY0&r>q퍣ӽrgezk)13C_WDAP"9#5s>Het bǺm͛֯qBt" !Te.HA:J#AZq>!!& *&20jPdRctuǰsGI7M6Dh$O{t2~έۯ>'g_㾐{HF죃6g;GT*묗읜.o)%NÜ]tcs:)*a~}IuMd)pR,=lqMU]LiL0G+WAJULN'Z$up!0D]"ʴhjܸv]\KD!MvkvZ1r,h4Jfy[䪮| 2QHp_=JtqI,Ov2Kn,U%ZBA@6P Jr]dY:/]$,H,텅2 ) L\C􁄬ʍPJ.v,\Ԩ,UI*Ϗדͭo?wx8 6mCyN7/՛[ÓG]eV.f)= u=jR^^?<~曯Ə3I;wϞ-1,`fzGҳY6ӝLNjH7IRdݘ0 ηe-Zo|E\A|fI>zӹ"Zܸu;Tl%pɱ}sXD$UE1I鬖VV:1YW/^.$[~t<-*&lWy-`"i>Wi3ڝWn4&=ܣº~Ç۳*|kمz'/V8`2GBQ[?y[|]_NGφ#btTĚ;=d2I b{ڄ^S.rg?~_|_y0QHMt8A3M5ҋ̤M\zW4wRĆ8JWLfjҬ{r`ZeYXpTf gg]V UYm#L )tr@CSt.Vk3M'd& &|ii֪}bi,EEogKdn+5?[ "[sl\6.#{7HdL:*@A0,j \ty_:|;\{*( Gc!z$Dk~Xg)Y'BB(q6+{gVfH:ĔC u>X*ziDV" Ƙ "*GA18v5Xj:@) Rx 062kvDS* BT?⫨TVN12J(i׿VSVz궮~h}NKleM-ql)+VfCj'"YWU HIZ.:G f0/=GfE9W_LE YaB T8:M:Dir^ rVp/#sN\xG$7VVJ"(#·H.Mt@Tre,m[l',9;4qr\ͪ *u,hPsDa)r49 J<) Rv<ꩭDj GS| fOח lt&BĈT 7*˞ X !.,:yw:Nozݯ8gSk}̓ӽWB7ӕd8 Z.>ڿYX۪[>~b«W~A)b)Z˃n+z^U([FDvB(}A J'w?Qd|<Ȁ V<p³o2WyЗcc^%T:uz`b2QPBJsYϬ PM8WTڄFQ@pi(Γv/~kV?K$ևFjk\38ȌY_Ypfg I&?TfEkji}fu+,cc> ,γ'Fiݞ9%DgpSR28c19NBt&(Q l,'g/<% &)KPTZB΄$ [R? !Bz?3-6FNHo/HƗU"Ҋ満.DEQÜj–,e t `) 5t"d8Kzqe`PTe#u :h--,v8=m0+'ʺ@B7bQX2*2- .k4H+QT%a`Z @fLBٴT\$EF@t{ 1 e"v+%v`@J4.x2mb{T')2ٸx>e;Ik^q2Y$M-yrrg"c_=Aix L"p+&w\_9}~9w2.d` $Cdz:,K>x3[zL1\ٳry7s/t?{ul>< A[p/Tyw89~(ueY_|\ cU i[TEUɵ<}kʦ ?B:9z.]}b'G0"N~ywOЊ[DϪ 2z+ 1" P\:$崿Ԯa#a7 }ƒgg[b؋rvpkv_vMQq: Rcƈ>g,H ^ %y)d2ϕƾc"yZ3 THj[WKcǮBq\ЙYyy"TM~rLݒ5(Yx)@ֿkY6;jʏŶu)pބY)\US}"Դ\BjhRq\spj8@j%L$Hf'"52 ffN9+)`+'dl`|:_ c?R?WԪ]fAox왏C3;:s2zpQͻtL]Ok7Ud\E.,w.^|ѭ̸wk^Tv?#9*b_{#{hbI.PRWi6),_͋o5HsG{{ld2?|XZ_;xckW7trځDb0۳ycBBäJ b1WAVG~xvhԇ}Eh?it?3__xrzjhἕ.,>?y$@,iSCjO̪RR*>,*.Ffh#H)d³?{vϭMNgN&~''"5/tSdv˫Wԙѹkoj>zᣟܼy޽󏞻5ݼQvB]lV'zcoN~3DԩIcCqr7g`%0l1B veD]) !hL_ol/B߮<մ"$VY&cMv"R(d!23%2b6.58MNI`[6&QrhPCW**u )yiը1T =bhu֞S90{>= @PL&rՌ˛Y% ~ 7E ֪r@5CuI)"- 'e.f,'pxh"C H{0lCS<-G#Y2XލrlITUs_zU8(9Eis$-B |&vpztUDЮ\pN>S*HHFD$Kļ|'fb!akt)è-(GcLJ܁cI Pe֓5=glVդHFW{Bg(U=p/Ok%z}oB+|aUդRi؅[GbфԧIC猆x9:(LO5bX$֖[bm[bcP֕ncHUj6*,nec9wiUNf53s-/`lO_tOGz vչх> fN%)YD96d" <;'f n7&ٽgi~iH䄽;we}εAI,!ٜ5{.).0-ڶs0ה` fA]NON|ש=^Dkhk~#5(6p`Go޼w޺|k?gx78{V)G]7%waskk?Xї^}tvbv2l۹Ͽw'+7>l 6G>V׿M vm˻}/|I`L $Ѹӷf1-ʘ{pjo~&:sLpxdoTsؤLa*]b+BJKD64i$Sb *Wzkh.j1p?fƮue26I"*ғQƐ!,O$QIDP1dQf[g5$9'1G)d"3BFlF/MYS br$[%4Vޣ 1'GFP*76nmUmȱ\v.{Kx8^([r21{no$KE:c}lR:;Xn->V%QaomgEeި)m'GWF?Yȯ61`%Qa7+?K4}mwxOO=ğwLPT9R!\p9D&j7GzL<}s捣Rk,Ɗ歱)WnXtk߻3K8 wg6!ׄT=Gن^z=P(,x:gWU8,99sztʕYGnw2v_ʹ:eqk_O_ڮ^$ٽ4NM Įbhqkٸ;{nK#7s&[2X.-=&]5-]\47"@Ia B4-;uvg7;w.%fILҭa |Z))H#NFu]& ,)dfFB 7u-E$ĮlmaD+7Z7 6eg>_7;ΦlrJJx%v"gxcu1iL !!f*,Dd-LΘnՊ,U%'or.{⠲VҬCJIb>[FEvFĵ+So*h}\Lnwk߭Z`;uv>/ [dIN wG"gvRk;n{FF TŐY2kg>$b`n9Ѡ*W ^ukdG߽qy#kϽ(gN*9?;qӏɫ[ lLu97'ӪpQ5dG9$ 84i\6=(k.ˢug䒦8ӓEΤX~ŗN7+&m 2NN \b j?8X"آpvegqu&]}6핺c/|Tk}mS+Cz0o߹+{/_ʢ2fc{{ޜN<{e9;:|^ٕڢ.99[OS;&wٕ?|n<l*ǶԿnSKN26ϭ??'/<>ٮ/̸rѴt<0qU IMl(ljvFs,ՖW}o t9ggG_w,mxk6Za{׾i piod$T{Uv>;ήwݳ*>Gn~BQxcOܼtp=aAB؝7r{=WUiߗ٦[zA6q̻@ sPʪ m$%CC($/Ϲ`2ItXJᖡX;²SacP>V``:wipMI]G6p /<{Q  {3.31=)/bƘf1Y E+<ӓ:U@.C BVMKF Y`:+똗╭g-Ar52bFjR(\?;PXn `͕[r,6a8{a{'@0Qi܄koFy%Z蕢.(s$DLM̋جq 3귫'6=8Yk r H&lrlH3"!$$"̔@Eo䨎JE39W>*4tU.s6H}X;2 !0rVHrQC2^~O&ZvRJXQըY/TJΑg.&wΞ=usf[K<%hiJ{'d~Ihz%*(1+6gͤD1%QQ<7}g~qer0M"rl_\?,p?[Cn?3X;kahi`Vi6t Ua;p9 m&ZIƅ$ZJ])u Yg7u9mOzf8>U-".X+,^AMVYSu덳 &6%2vU>e4>E;;ݸޝ{0m}hVT"xU(xI|aGk+둥ir,G]3V 7{ޭ?O+,*.hQKo>0;{yث_V7X P%L)i^jSw|md!΂v q-id21CU٨ W7lο<?U]=9ۣGYJޑ/j(Q'GUr6ne2)F5F.hz̦yf)ɩP IU`ec' ^ڤ8e95HiH3j((IKytD6wCJ-Qzn%fQ0ⲃ%8[N~8-zak{09ɶd, 6zY5ƩNTڜZ(BfdLGPEڕ & JR$%>U ݻ7*m9d&cdU{r+t;ʽ[{r}7v._kf ~e/d$lj)ϻT Gl⤝.+dS}иǞVi\ q6Pκ1RЃ^wd Ic*"3LI"@L$ CYbKC$5a,acmr<=tFCEjwu䇞wx`rld.d"eIrۓTzm+Tk,1`+2/}+֠'{=dB}xy#@⪢2e਽+K"s1b__&r%,9ڏY@ /ƽָN+흶Ǔ>f\UT Jk;KļKdO~stEA(,)\Jt_V4M ;cD3m'P˃u5 mOmw81'KqΪp&Q)srx3 #x|e*~sk J&.q gW#յxͭ"eب,2`컨G(_xҗVY/FzS _4FxEh:L%u!j=LfRSLv6{Ҝ=! /&Ǡ~9?^h$͕#iJĒ<;K21L 93hJx%&5 u4(-P9"V2&I,:աa&dUUG ̀r 6l^vm"<(- eYDDr/!%d!oԗYU>j`_hi$m[H)ɽ46 UJ0b` 4!|ped-H$.dӅݳ3gSK&΋{o޻E9E Dٚf74r]NbD3t+[fM٪ں[`DAdʺ{ﮄe [Vl*px˥ d{;;4䊨0H1TVơo%U3E K,`yLʄl䇯5#v7w؇Frhs?`stvA|w ]/у{k8qyr\rlTWF.Z7^}eRM݅s3=ia&ӽPz{LJ -7iw4/WBk?H'>w|OIZXgɃÓ>tShS]O)B ;ԣ1!ӟ}m+:s ]Vq{NHR*C040mO&EEǨ:HXc$Jzȃ/@ꓣ%1-uU8!er),v(`ԃQc7hObdX$-be)Cc~Q1D9!d94+b$l@͈B I \LֆN)Ҩs,sj[4ӞtXFEBD @NEma WEw,dAD`oLfP"ΊD\,Bb "2 Y%z&TOXRrvFJ3UhTGhHšaam/tyyQAj=mi0xrkw_o^0[wև?^rըѠ9u͠!p"eA߻ye0+[ks+k#kiڍժm"2@!>;^ڸw{u^~SO?^~xrBӣ]w^ԗǟ|p8k>;ٺz5m.\:gcc^{(RLf'f/ɼYۦX<>[ǟƝ[vm\7e귝°kԮ?hf?'15d|pwc4 W"*JlEE/׿cOs!KCRQ#$}0زZ-ntxmC*A51懙0Yƅmg `0셭Y\\`/@25 M(9Wݹ2W^z$qZ$^4,q]cOq>xx ?9G?G\L@z)pNʪKr+YaX]0?¢@h'811,k1%IܴS}j'Ο>:.r>zo^Qga+WuWnuP[l%Krd8bc66lca {cm0p8㬄dN]+ syU5֨1s=wRFPApXfj`uuu\lֻL3%-)F˶TvgN͟hg AH()FZ8J[b :Z7koڲ~|dVð/ ŲVn$If4-?#כޔri竵Z}*޶ŏ{h'[- 2#!L,eO sO Pg<-J&IΚJIia+ª?6[Cv igiIl`,E43rmbbz5'VʅqA$*0] Y )YBqNMt,lV eBAffر݅0+0['$)-95^^nK]ǞAc`8fO%ˑv (rIOPHJXTz=Y>qv~Qv_C돬4 h'I\.s-;q|/w^{7"$ HQڱКHR* X.EnѾ:3g[Be-8o_K_{ɆLz|齷ݸX֛zxhyiA౳BE!ݜȥ9 +Y#ЀoۙI4itmH2V Yw]FAd -p%WR˗m߂k3`rT^mvbԬpYy1XmܶvbN푃'7\Cb5.jb~*!V5\sbh8\_8yZj3 p@˔tfHF3bCC1r&MW2voDڀyQcaR VᕍOD@B$R0{(&멣֭p@2*IoUK! T pהvlRb5 jLv qe $%zuBڜv+(l~}Ͷ8b ^;:f|NN{&Z˕,w\7s A nZZ=S7cJLp9rO<C۵B²7V™܋2PiRe2TYu-4fJD3q,08+X/{n)ZU7/.K_Yxh_J|eX!")W,/.d}/UzkݼtÏ7nv:,.vvjˋQ:Sq7>7K&Η^Y%(FvؤL, B1+o[S7E?=ya|@|0gX ^7?o^yvT>h.5Wj征3'']n˜v[ IgYHrOIn <l|RsNhjT t^3XXO^Y."'T/̬FV>Pty7*ZVn)Fz#P;pNG\-$qA^Cn߽3s+rE9ΜbJJD$TnU :Pq!Vm g,֏U۳zenaid4e:~bo%_q_T$\!pk;ycw/sw-1s\x7͎;GdFҵNbAk54346Z0?=),tkm{`|@Lbb@bQX=le0cQ`ӦN_xf#ge{B'`BOX\]o˓# fpZ}Ɨ.ׯ޽W67W.`Bi (TtmyK*_Dc;̮'b?3yq U`Cjg`А߬1Z+C)W:y復s|{' I-E~w) 2JfRhCBqj,B-ɑ\z"RR pXxGJi9i/ z^ج<J؜bz{4p`5 0{&a ɦb5Ad;^ 5Hˍ RYnpJ>Kv Z~h(Dd9_xy2`iTLm|@8$P(ӟ{2YعcXv@kc@}sXiMp2AG^4R=_l|r;3>TBn˿Rl-y殗g_w,V+1Tu%VC+Ku FR {A&B 2S QYv*B횹,]4Ѕ|@ IDATZjZ- $W$];Յ@1Rq0\TJPEAjWV-WR*,v7Wo6a˖v-UV(#-7jt,vb/U3lf05}j P9"+6kgN_\dt_9|^H=//S|fc㊅B%uZ.3\ǟ%3x]{z/K""8m[A(\, d8ouزR)>'+,@x/B*1kցv?P鬬>;gz]<{/yYf2D =1+ᕒ0)C˞.BHi OR\P9 !}) oͽV&l> ]!ԑh< ɖBzA^!2y/P MF<%",dXRx760nu2O!Mwz}C$@ۿ߿c|_z}/ߺּzKݿOz//~sw菮S˩ )U_]ܽqa~]/|¶T-?s/\lCgݶyS<4BdXi9O>'^ȿK2E82`rM:[`5 0;-c]U7(:-iti ' JrT²t팊aRZ! yH+.˜chik QquI}嶻~ʊ2vy7O)&gxxjSNZC]v+R8İNJmo펕],6Kn\- [W6n׾y`\XKNƂHVm'?79Ao}+YpCG@[V>zY4WIpZ:s.qn%د,5Cio߭]wel}5RO'+1( Tzp͛F@'vsHyRG.a@HJ@aliYV"$( cx\.q9 ˵nB/ɳC*Sm5`&m]@[z`jx8O{6Vo1Vn%0[S#}~Zd{=bs;5llF:hW,HZ6&${Қ=ɞ+Rɍw,se6#<[e88^!<`&ǐPcr 霋 fPBJX(5^)*R)zߡ;o`eۿ箾s[?~H'^G6|_p]>xϹֽ[nWw֏3mYE'v+m{=>g/%g?n~_+w 'TW:@wtˆ [m×S޴C_@Y:8Ӛ_!-$!$jUH#am. T3Q 5")l1_r #PZB<3#kWN1 OR1J:c[W|)ZiŭF;MS(FB9nJfHb-Ʌr~ؚz-\.(m˸+ErjVfY˂`m,}Yg5&hl 9p[_^2<2}[)" r<[B$ ,ei"J4W7ݹM+fJ @ݰcΧLa\}$lZj;!"p쭳]%>ׂz8< %gX]C3ىj@ M{? u4RJaX=pT%RT d!$ ˁ3q2Ф Z3t'3is yˑJ*<NYJff 0/5]׬/Ul3~@Khpi⢙<`#|lKs3Ɓ &K{PqܛR8@^#p= ȔEcXmHIZkB{п $Mk k= Y!=z"GJ1[rtN8Vp(XgkAPj&֩ى5;+J/w<n׋7]( RUǦPͥn2V%&ύ }2;gS{,xL\+* #MҸR1{nQ,F$2Rf\޶͞ko8qM8HMydJt[B9Xh:*PvB2C$iuET̚yCc卛 .MRV_[[W5FBkfE^0Cnqoc'.Dz`dKټZnuCnWfxл<1cfxd6:йn7cf % :w#2yBJ \a|?cSz2L@ BNBHugatL8E =ArAZIY'[py+!dY|jꁕ覫4 a {˩#CO=mhODk}dc({sk*SiRkƛ+ݶ':qRk}?r]rC.{ ~f0mw8Np]{/m:_M|M>/NLr*+e d%E# dF9iȱO{o e "0iKcuVD6TD!uؑ/Ũ=uEd|erup9SZ^fS]~WKs=33y~BP]**diOD2l- bKH(Ir=Oh:m$Qayph MAPS+ v56 B &yW(T;NXigOZ @UoV8W*qTI!H˅x(J [8UJjPA!"ofyQ#N ɭ$F:$70:lן8uκ٩'{/1!s.("VI: cg@0GF&^YQmbjuwG{A0vzSb;yS9#YP>8C;)# `exv=SZȒ}tq ƒd(ai~{c}eJ m0r l;?54'Œओlr ̖=2HHas^"玥(D[]GRd9)󮞚G^җ% ) @ 8)}PW-ϬLONL\:sutr(3ZoLBIvmE75rYk3/ͬYe)H fI܅+F^k%P +f2qEsLN2(TFLNGVT}a)湳Ã}pc'syP8xqxvڕutHzcjƍ \DSO0?z`\ݶsje,O2ɿCS.}e&wtVl'T*i*K5sfÿo/\/m+VM ]]^\~薫XAtR\4vm/UFM6<Ǟx֟}'F<:-pyb~zr֚.|=kܳ? RV`J-CKL˛xgz@&O(%<8uǶ&+KRm蚞 n 6 wDPi4~Z߹ōgBJ,U*2f5[kD5YXXuRw=NqB =E#sgZ-ŵ۷G7>)2rA -x,yr>*?b}TBxY9ke򌴰:$,K8gJgp gP>,GD 4{bxV [y =!B3{f/pV*a]N"_iACJ')={i^g^VyOLԬcSޓ F쉡PΉ({k!IC+~`UvM7'4!޲s8<3LzU?3uKQkx٧}83U*o} §^Ia`dJL}k@ՊqXw,i3HuKWw8{. 3?o{%.I 2u (^%07z=ڳ,[ aڻormsO.WJ+CY\+y;7$$eȴ0 x4yoAϭ$R-Xй #pskzgyy(T}{k&Yafp@+@z -IZoJfZ"X# [1D $ dÀJH7@i-AxX/Ϭ1 H!JJ%lØgKB2a 3KBK5}o|ޯ*W"7/?xey}'S^?}Rmr#UͿPx˽_};*/ŕJaqXyqg\ttMyvua:7ݼiCg/sjxJw28rj\ndsNJsw޳cZ)όyn },V'46ؗ_\Z9W+O(LGHalw];u|pmՙ2\2(*I]Efd +J0VN+ͲJSqT36q,VWyIDRuDitYy V\doھ33E .O./.N`x0jDžaj=U6nn>s0yri徝.&~q &/ݗ°_8,[fl0SI.KnylMirlei\1Ym~hnRGƫ#&O \; "G<&wG_]|}ڰG>˲3qTAT4a?l5(jz\Gٱz..yHRE`%< D^(&-PK_…-~F^OlϺK\J#ow}7|k:ْvad<I ?= <1'<3 /Izr䙥"Ϟ IsZJz/ ʳ佇 d `ĹP23c!E1ڻN~:[CP_3M=<;/oݽCsO}Wxdl4[osz@u5طK4&]6JԴ+^YՎ_[P _R/Wٶ[W(jvߴkFZKnRJˋdS~L_n/M^ssS|߇: Kf~ёjno=T苷o}9,kfVOOwxnX9y(TE.Hl{M* |cW/NڴS/..__:|n}sٱ>'[+L/09/Eb lL`r#Yenb@nY0TzVn(gV:m5IT*%DPPJwqM8 @MNpBZ_%Va(%Ji @ >yWyכ2C AJ`׽r1i3+ KsIb @HyʆbohK>q]ϾN;:*"iCyXb!33/',(O3 kk]X}ۮy͑]nzf햭C}e?z 3gy1s-˟Z0⽺=~uyeYf$)I 2T6 !'ƒ{x@& B*yXJA .EI' 5e" J:x=rX)2Ƨ@Y DntP5طO{˶wSՁ܉3۾>ū|݇~ursy#[מ>[/MKIrGKŤmRmCr7=ГÅN4s۽n5O>|j75;ĕ#ӵ:V?~VlgW0u@L5y;lTQP 4˗' >fAguz=oΤ3H:,Ye! N3@h8! Th.:TQթt @cc%ْeMG: wz3:)]{߭[j=MgnFԭGKf=;ҭS\^yap4[O'>ʽݗ[9)zP`FVhj$cqѝή]fQWӱ2l{K˨&D޴fWN.` l0^|ۋg+{D,JSu~MHj:m<%r\XTߜ'ՕsOp@\j6.¹F`""0'F9[=; q:ʲ_|ȼ+Q_} KsGrd'q/i+)`$8g!˖Y)b,g k=r!!rx|8+̋vRbʹsѶ7Q1 ŤprNir, s{` R0`ȁsg6nÊp,$MVEHi,gm3V$ޑS kiyhHDm9wkܶqhGk/b%jn^9綿|]ܾs޺'ׯ׷/ ǵ?sFASTL8#m"t=5^ISYE!, ƭ`mUxۦMR˚aT<}2 l8.nhڊVSe֖M1mvƔ֍vdͨReL߲sQp+ZU.W3Օ)m{4*ƷǓɶEey jAySDSsj?gL+oJ?w/>WKffP/^./׍~u:=S;G_βjJ]x= i %q(މ?v7,Ojf2хO>>Gr46]^*шiQL~TX'{SIqPeM[]!#?)9 dT7坝,q>_~n+o;+K)SƒٍxV=uz(vik0uƅwl,e&;wz?^?wrWgͩO4=uNe9"utP?s)dEGmXİǗVVUuRt"p0"ƃsWy ƶm< Z'\J)8T:&8;/p/GzOtV,bIֵxXB;t ХP5gh^d9#N91ͧ1F 4'Hi|BqQx:AF*@ZqNP@ZM@ dܖu0PO$I(8Vn|˗ͽ SY2m-փ%ZA$ђ܇$b)V /nVc5' Apf݉3gj~{}ͮtRp2"tx矹~<~ִo'k]vtVH4LU6,,Vd۲2J)CzbbaԢru?9ҩ*?a{0"6otﰘQD>z1ֿO?@Gs#]c&iϒ:J 󭑴\"D2Xh*FU,w#0NE+MYwm0.!&I"MT0NdlɩA]qyADdR'ubnE]hl&*"Tш(n\޹mwsC0qĕ1"1\?ëo?]5N%ÍUyo;k&%Lۦ,&؈F|sk_m\'KYg浝sŧ悉8tjZ₴U0gB¶ueqOH4+ۯLII[\=j̀U-xHXZ~K|E,زkK;L yBQabL>3{K/,ҎE'R Y%~s3Lzſ~SD,ID[@Q.k$DsoW'/:${./8>LҮ:qfX2D5B >1: RH8JL4>UQۙiwɋlITbmnۃyOgLP{KiX;{d4J(ot\A[p([;Q׺NS"# )xc ܓ1-F3gԟ8*F۞ȋ۟'|3RX]=Oyj9z詇ɤQkDMD8?Y^;uDiˣJxr㊺Zs.XQ %YuKӹB.rz.wA`^ۿsz8|0Sj8?q[ű,?]/g0-oͽ]m:k=8裧\ڇ|w>}N`8 ߘgdP bd]ۦ Ȗ$DBM ϜZQ_诬-ek+B@]I g.̛<]< `;p91{Nʵh7-je\Y>~T@jXW8BY'{C(' fF'-B ޟ3S+ےc+%g~2eErbN&rszw\K~zRv^sqw'7Wއ;&E3,*KTYwVYi*Cef65֐ U!Ȉ %ݰP1fRM*U@ A6ʒ3MɘK(8 rM8&hyv0/M2`KEԦ[ϞE,p*׫Uk6Nnԍ\qfl u[j jj"R2@k+-NMjXZHÇ-Xd]sLl0νD"8s\$ye %3%+A5 )e\u%cf^"ٸ ZSe`BY%Ir81qGdg3֖֮<>f݃CrSS.,/֣rWVӃbs%'z f=VŨ>@xtcWWmU٪I:ŷ_n¶uexWΦζ6D]rO{"A($O<& ru3+ӟ{3lQY!}G˷>(q饛Gh떟 ^Lq4FKcgXדB߭-E3Z,gu*Tw~3iAQqbMmXxKLGkU{@㿻YsX->sJ +JrgiJ g~Ř`TEitlV\~>w_]ٴv18:T;EX:W !gnO鉇/<~esX^X%cvtRrg7qL|SgvۃEw37}msL{5b/)g47F`}u<_[w\xfm~^܂ ѵ6<#֯\P)&\9]zJ2; bk4|֧8)jF Q4.ORX @VH@u S{O^/k<\8I]͍1Yc8Ր @aJ0Ɉh>eg<51~>w=ιJ՟k$0=J@I@+y.@s8t~ m<3ٻQD_8v3E9qm\rXO 1.LU=p+48tFӍT\F`7S vbr#X7[D;9ǃ+Nԛg/}ᡈ{L'shye!ئ--c4Y kη_5$GKz|{d"n}{|X3.s=cm .,c/A?sr{/yZ$ <ػ};% :Y[ bnx7 vG.n ~oU*z1&3ze{o/@-/?;9  Rq:K)L?x @?̣Ͼ6:j8!`<ЩZ^;Hh&,,sv@VD5_IUB?+Wv*;/@f|$ !|wؿ?./L?K_.E›:.ʸ|L6D\sHθwNe]%{YcR콸S &AtL<;{SYcqĄZgىMoÛmZɴ?լu:kKȣ[wWfa:AOA]U7\~UۥZ|t4D[^$y+kGt}olA ]'i56[KX^KX3kSS[.|uxjguȪ<*ۚ3I.JK4 PJI}!p&ʦރ8% \j.C:[3df(BmMNsV}O I,.80͑䚾o pM S ;S-cbRWe깎"qjxŹ*a2bI>WĹbqAPtVeQ$R : \qXT@x "g 򶩥yH6A+5\ n\ȎNb|ֶ7SŒ~T6t!DIn鍳 [*@ݹa8%Bk`lp=Igc [}G߸;l,Jqo̕+ `.{yڝՙ7Hl~~أ;~ `Ĺ#lUv,zl[ZZ|3f{z>=z,)oJ_?v g_O;{v/Ǟ8 P3:yt‚;#OQG;o6@Y'_8_3XQ0D|>yA`K㸴ݿ \x.}EHE[<."I"4"8^ԆR'Ym|W֍xl%qow3.g ``;@+Uc@#|0+'"p D9(0& ?r 11F# c<boGu82tԢ(Q{excZ׶kv"=W٧χHLTƼ5+۽y7}ͅԭдx=~.d[ݾsa 3s|@{|}.me_7p9_]r{Ms,h8x @z}nO8Oiivwog>wU]vm)8!)@(!@AQD$$G1Hf1 ƸGUmt[w:{wZϽU}Ϸ9ҳ]k2:8q1J挮Do},pmrZW2~;ws3 HOF? wgNxS[/ͫ=XޒWk2T)_w'? w_xlw X7Ms$TLXMm_+ CfSϤ b/IEiiq!HPny$i,|&}捽oVɩ˥=]KQ*e~X)AWۯ{tj QYb{3$Eb\Y'VZG&`nҺVA;>czwASDHTe5׆8S*NW<-SrPiLbm|pq'j-(ۺR]tetkǣ,ߏ~y'$1Dpy*fδ*JL@RXGyTU/|߸wo ΃F=+mߛTOȷh۪1)g~'?ܼc]|0(~l"'D2>/ |δ{f^vb~E\M/89Rke$dxݫ*| O'^it$d\$QziƚD2L :Vl.bHo: u6rڛnJeU7\aa|dvG*ޟ^l|uhV2n"D FݮH)$[Rlԍ&醘K.Mw~T&oy%Ec6!r1!:ӦNs;1'0kZ~k [}ge[np:wԋDdB:\3iMѬ\d_Wt{?ۉu AuH2~蛧Q\ :8FטZh#<].ۧ0368m`MDa<!a#l@M\x`4C `@ f؄l @[-Ag;qV4z4nTao$]m'R@+KoROf 2[W6GSiZT4~ ErNʅh|맮'? ͢Fa_ye>ޛgv[FM}燯E.ӸHtDzzvY\'s]=^~~ޞ<-UyC/X%IK8JcYN'bBØB0+<3hKP 㳳G?/~8?'ߧ]-D)ٙRNj}R:_}tjq2 EkK7]Ohl$Ss?mCBU\@UTGU )H%y`';SUOp@HNh.ټ`҂kcxF6k%QۯD Gq+JDž#`\8z/(S ,a;Fn!X+smh,-Ⅎ$Z.ʲZiN<(HFtEzIt\duU j 't)p[} "6:J"a(qJ$2d:-c [+CJӱꩰCrۺR$Nj(]Ve8>kBx:.V:HQ3biYW$0 IDATrBDBhFNcdj N E$CwkR<2LblMhle77^f]W B2";dm3eL_X>d"nc XxYIE/ 1(V.̱jDHEZHx{]W[y<*tb &0I"xoLDɌٺv7Q"ƣ  p xbx#vz |i|Lȳ./^_O|Bnc?mwGY_ѝW̎o+ w|[?[okL7Tpkn@:,NNyX4mߤϮYZyP: xzv4?8$ShB|ѻO}Yb'h<'nh>yrpE٣" cc#.׾PNn!Kx׽ ׮g[G'.O"ogl< wqF!ms<{X {aG=;/\G޺72! `iWFGĘ;вib8U$hH;Cn s$>NSziSiecL|'l%:2Yם Qv%Aq?iRi5 `FR&'K.'מV齓Q1+Dl#)^]]O`Q}Diwcb٘h3~%(N(v)JcsZ/4Z,2*E%Y5}&^iW)zYٔ*CLVu=ΤҵDe=޺!MhM7 DɕerS|x+۞d;JHozdza!g ")|q}qq $fV} l_7@!\lB<_X`&lkiyo?ysdIT@ῌt_k$#jXķƓKҾnd䭁o}gG?1;G~x{1K-\Wy zͻIol+QIԺmZǪ5b0,8:cYTM`oZz}+)x/&`o V:]jvFV (K/olPPIiU/8=MHliz3մ @It3-?ze'B :c >? ǻ}@,_.pu捿po?O|&D6@*Zއ4IQ*T4y-؜;33X< >GFG1{dW/g:ψIB*͂f)0tD=ms1jNj0 08-q?ɶIR!Л7c]$Dnt8 Y" x8H8}o\<:XAIk}kc ;$JĩZ(.`ڮ+4Vظ.wI6kuȤ: ,Cב_/fGHH%!YQά ηΧSi]g'y"ҲXr{U϶fvMl<5lI{!Q0޸fX2OsO2YE}o Υbk IG~gZ>Șl+HNE^VY Ekx׍"H<`>-%E;Bj)T젮@$H<#H3R6KK_ އT^}HM/ "z7 !9__홢@Du8f7,N_޾]*7&u7qDJXgrQZZr1 z5;CY\`'\dG!/+N( {fc}dA{u?%5ٮah:ocD}̼q}gI2l_~9*6y2NDg \5DongnH`V=T3{Ko\ /f,!"ςY~|p{~;ԛ l_|kNN 7nc}FȶiDDLo =a8ՊA8 N)g:>HZδiXҺo8 zS6HZUٵS\ozO;.Ăy58wo>|g>yZ()cUK&^f9>ehj͐ahUV>֦_ZwNKMGҴmW橖xB(yF,Y8g5 {יςCw!eTjպ(6"H'1aoܮQ9t!R J!k:/๪Αy1}ze=H6.a0Q],h'd<8RtyjWIp}*uI<EWvnw閵>R&IUX92=x=wz.Κ5'?}}I%.!W6aQ"Ʉ@=I6.btis̙>CG!|Mdo~|pyq2n\J`võ7Vgy×c,1L1<d7ԙ=}wxo;_/x?m*ZѺ9>ǟlg< Djغ:C$ds0.Ì JF%\&v"aoS!ȳ$eŔEX:nSM AG"sq k_A?2۝w_;@dNn}.rclmOC#%B5th;a|2ͯ<Wn\mXne_!;L :@涻࣯޸;Nu8tmݭ&Fj6Gzu5UœY`X<-ThTq5Lyl;O{fVdzx/،3.v!|mAW\v-+7?>{?].&o*_iȉGqY .,NUW=hٵi5tIRmeX=YDMcW#=Y.HuZ>=H"٬ һʄ<тYhmeFk L'/W~>{Ait)VRr\֦ې|eo1t:.GU߇O?m[iշ6J#:rMg|jUQ;;t-gk1eOF1tA+>)u4 `ٚj-&(#:U7lA6˪/ݹ!0YrӬ7IҼLH/j-/VQN.Mݲ_7NE_"vʍsC ACk]p?ټ[\R4r-dv"Dqu|a" k}I't2%!PQ..1 !e73HLB/w3myS_sM @TGIwRn kq@XC 'QT'a^pHY(~o0),,0;m!S^4ж]]yFe?\TX* g< h j GEx_n_y>I12mkCk߅ZMX 1}қ'<S;G2m'SC_RˊփD4Ҹc)=R*YvߥT}RΉ ~8flsG;iԊn\n<+oHvQ4;ZCVqﵴQ*L/VIso|tzE( H%%RCUw󥱽oک[פNIAMh,>/ҥ>l >x 33U(3on8]ek#0HB )ORQ$PXipԊ8)Hi:/i($r@B&"OR&$E,yxg2x ZHBzro/ݾYwsqx )`_xK4n )ڦcW΍[Vi!{v2܇@2'[cM@`gP9Fu+(R§֩R&_ǥ׀ulN.rWy4sW0͹i/8Ns|(RˠQ93׷ԯs}BZo-JYEŴVY_V-zcGJhҷ"#H{:cE*0P(Lcy?.um^7 32+z2R!,.67}2<ܙ a}B"tRGPZ*Aq "")8](Jg=Ű }_ϚO8!^ڣy9 d<3X/VVZ›zNwcqx `{l*_$O}+~o<>=ye7'7TM-+c)[?t_ξsݜ_ n*'O8<͡iX@OF)ϼF#^ $ӭ<n CBֲȻo\ ]ljfcݞ+'[=^uS~M[mUmͼMU@TRdh"~uLNj⮱y>ovNz]Y>H$y`l6mEb8IH?j@aYR};㮅")e9v^]~VH ?BWu}sTB4q'A ! I$Æ?#0J˥-}s 6 .]⊈Hhf\u90+BHâk6B<-$CR$6b8}Wo %EvEΝqSpAȡ3{ q)lgl:;] \Dn$7 IDAT|t,4?j9ow&NGӉmՋ7fcI!%v윥̵kb)% R馻Ӻ&o 뻊t %rZD$ڽt`("1[x?2uL8Y7ugQ-QiZ5Ntek[BNWn~|/~:7tֻw%~EY?]Ŏ21m `M/k7xƕL!kKl敿{\utxvӺ#S{f\y0v ҇c6H:͏.Zyqj |z+vp:#j @I@"#MO~׾045Åp^@ #gXo~2ԫ%+Ϻ On?ctjEϼ{ϭ!VS!sk Bʳ ^1zd2Ie9t Y@忯[)hT=QGZGbuzrE-J /ȼeހX5.v[Wx:yp>o=^w.r 2ҒzJ9}<8sfjXz Tqݙhb(Q^(Q R3;=:J-a+X;];u['ӑ_hI"^}c+ؘXDA>\gLHӧ6ݻXQZZ^h釸Qu^{;{k anVՂ\6Jyu5 Q'y7n|o| `ݦh])Hd~zC} ]$. !zLe 77!ڞ N%~: ~6<ŸQY6y_+/SbE ([)6UY0r;g%)RIn"J 7jeY $L=~ce ]jveJ2݃ˮ(>r;^e={XW>uxQC_}ӟ9u4aFNڽ$Xi0Ԑ97k`Tn#5rj%|=~Ͽ{{>o"m{??>YV]? O՟WIUViFbbت5Yt&z䜉`EWɈ̵dl=$[7"ex|D̬cg8\3v 9X 3L<('Rɳrv*[=_l?ۙR8ۥԚV3$ڪi lQ&DCem'±hz+4UuAkb!TХumX-O$kq-e͂l]Mk^=u&4F l6 qLš\'/PEpU*Ʒ CL@b  Igg=y};buGuջv?L.-WmMYo$w^3/W+ئ {zgHbxPGZb t].E.ɡ3&dJm$d8Y/fX84VJH*qkL(KF;='R{lbDw23 !G!xxF"NÕ@D=Ӱ\ -cP"~@`1@ѕsvAS@ 0~myf cX?C^@|X}my],I7{rFcS۝$R(œA`&J0i6a?nu_;'ǙJQF28I1G^/ǃ$ٴ5}g1g[lU^ˢT2P}6J%l!\q1ztؗL7ñ^BT Zp5M7#k$-ɋ=&%pɑ lueݶVs #βho0b`yӶjɼ(bT_ ^mqx,eTl%0Cw;? x T3K.s2x{Mqփs {ψvGg#kc;ߝc[(eoߘ/õ}!jM`16`) ` {Y/ځ'" xU,jc`WPxD<}Z,AxW ;86L'21s)TM&4;Q7;(K[v|B/#fwY_h;a\ޑLoV!&|]d4A| 賈<_s1Q̏]!"eu0!%ih!A Ţi'qj4=(6lUPڜgz$YmVb[<ȋG_}E0,H'} n]M\,Z;?JpbAh :\bN*4\or} @낷5`۔(0ƶ9^]3F=qz~ @^kc@ڧEbTlr{O3 O]5IlZʔa%Y?IJt?[9cvzyr=aek]h(6:u yqڹyB ɃtFxיzMM; LئrrE( ntW\<񉈋-JUi_mYM&Isqn[Wn\7U-x8U-"OCe&b0ToqO-~Vwnڷ60MY/]QvvqYm\&˪țFv݃$_<-6HE~~Ї_3|=;̟8^؜ޔ::PKE0n|ˇ @cgU/^K8SXk/P~I|fqH[G*  dp]˄hArs~rÒb{w-8K8X_wgmV_x??2z2x(9&6_yo1t"8=t~C.&OUL] B26NlUYyY*ˮhvpR8@ .!8$1Oa9}G՟M?ĺ$eǹպցEx+"!j#!s$)ςH<ݿ~$5,Snkx>i{nLY[DVz% %*btSe\:Z˷{:PHi!8p0NͲl*\CΫ-3o L]1/tU%0|epB^(U2NxU,IHJ&'yl Kʐ[M֫5Tl.) ~znlX;y0{9L}[+q6ΰ@1!g3[%- ƈ;oW5y3nb!\o tyK bw>`*歫7nbז4ԟ|:Ӯԛpu9K">!Wt|٬eae 3:1+i;o|ЃS#'(u#D{WjCwͲ2f>RGe][fM`uI@p]Qűl%ًS6TEQEbۙpk2 d됈٢t,9/q_XE<1tzն,=?m[RX/DV smZԛ/yp iD]H1a4k_|6?/7{O%g~w/f~ᙢ``U霠[ @elgBYͲ"x}:wQ"faL"2՜E8 146x "qVa#6C@pAF mYj  vZq6ɳmQ+]Q@$"32)Dl4(.pynFVNm:gf}I2ϳ%ѱH$$T886d%L'2I'[z:!CSA&*'Ll~v-]Ulmh@ׅtǽ{DpWoϣmˇˋP7!IW]eUzWeJ$uvѱL1jq~3-mQfI X/R7L*Ή"\HƘ: #N"$`iYwZպC#x"Xn5oeއAa7ʥfkp @-!qs'{GW0Tnk_kˉu3{< ޿n6Y*S]Y2MDdE9߶i䃵5֬Pw՜;g4nq(q ^&JU)ۦX~ E7ȏxZFZ+@ \lǓۍƯoEwb[GFXu[+ = m]T~ ">}.I`ɭ0Fv ഩ%w9x[8:xQ !&j6}w4/^,t(jw0ex4c^ @2p8<4몔M.UeH)`"QO<b ƵX2,ZTolm2DW2?lu6m/5fiW8ͥhV١nuIT:6B s꼖!fI2zT,BQea(o~2l*rAd[(eE*$qhHq]kن80B/J=mݞTw״v{/v[Uu%(2 18R=x{`3N/ngL]5*򨸆ܜ="VÍW?\ٕ?pS.-38O7L]OQN'^EV ~2WuqySh\?@lYխ8!Nb Bygu|cT<.WVi04MEt4Zm'$$K1Y 2{g_d 7:""gqU[q]?llGAh!tjwou{;=K(i/pa?ɳ1f{x 0H3Q-((:'EvV1.{R8`(jZ8t(dqxۯ\f[*9ܛvOK~_?FMI_9he.t[mu7׺KD EO݊3xo/Ov#LtΖg-l>WCwǺ&Mpk?7T <\kj3$o~6]kvP6}┻a`h`ҡ6kI̸YLr֥0p|W~?I۹!_tołUE%X8lx Z Un^/k(&in6vibR'},Ӳ]S-XD"N+./ $cʴ&*Ţc]1؛8ڂ4'p0,6ئX<ɷ'|1mz`|w0Hpw>c;io7#sسb:<[RcuPIvbWC8*/wf]m'e[ =oVR\cL'"ݮ??LTԸ7ss<FRc^Yĩ̢^nkK+8 g]5!ϲYA^6^Ù5Vnkng6֫^,!պ3GI03s$^()25ĬVu >/..OT3z &x8mXY)lGU_\r;ONl."%8Qۈ#8&H'ol32O]E";Z;FObз?_h>1??s/~ޗ$:~xlΦ<Q_%sf~7"&cQǞ4 #cjVV1.Fղ̝uM͊~68$=H_ ZlNFD&H' w"8O|-0کꌮaO$*?" _+tʆۑgmX>~c7),!7Jy[|<p;M@IFY@t|ڲNc|KoJsUS8O> *sQܹݯvhOiQ]8&@H\4-}bktIԏ$"gnnomlmYaInF j]rMJzsF^[lic5mA!8ƆZ݂'RG8/dHz]Hy2"\2N7 ]j$q]Z>_G҄ƥ ^B_Ru$6(pރ1v; !<6EUP `:$NdQtۯsG9^ĝmf{g&Q΅ K"Eei6kUDx;{9ӂ^ khY|"=W/>5P=z3 "efK^SmMPh, 1N__44^>Ț"Z1pUD~ecmc XCB±Rl68<˺ap؋ڶi/nqF R:M.ԫUg[U•߼-/|2Hzht RuJ&m:{bՌ⩒(Mj(Yl{;'D*O$! K!Δ^hؤ a @q/ZfioLJy"6zY15eQqzN{{Ixܻ(Cݶ&qnI̹Χd}G^궴Ggǂ8mQ61`68DI!;ؿ9v&7Yz{Q9CpuYqۄ+2ׯ? W|fo_ f>{wZnJpէ(x/?^FdL`WI"roهˢO6A;HfLd,u_d|zKF e9K~쪜ZO2uL%kZRoZW >9ນumUh'PGԻz9Ugޑ Dqp[E=s\:d4*VLrqNr7L O4vqlX(+^oLO\V}H EcH*7`mH;ڢLW=}X?/oU~wۊf}ͭXJ6j 97P$tVݯf(z]肭.O}/􏏾ƽnu?j;M-uPwh`W7cJyh5k]+:Ϲ lcj@pgKӓR*[7+8=}pԵhyi  ~olw-Fr9bL4eNd]H ۯ<26O?{*Lze0aTܑGh,ΈS'aIY_%1'AqVsUڨC8KumHs,ɒ0/lEKjYXApҮ(mh6R M2Lcvum]-k*.;\*1u€+[u"(=vIP۶rVDI%7#۫uU4xUm5uL4i؜ MgYGɦ޺bYO=*JόoבP,sl0MriTۃk>";ﺍA# 9}Nt[@NH1F`_61.vuA CtuQ{Bo_sL5[7\ovk!"ɂ^}`UÝ?ȸΟE5|Ϗ??kO;SIgYLyEm+COU;LưvzEXǥAo/EB}`j۴~B_ƤjmU=SEgs#L'_^E4h'utf~?]^^lx,=EwN3ˆ$ {N('fE*Cׄm }~Xd<<-*m\("8֓F!,K{3, s?\^'d$&|10|7n?;C5S>b_{#1PgNV݅=.v;ļ.Y a'ɰ."#oҸ rr|!)xb"ئY$PԇӠNۘ Cl6QcyQ+'Ce6E1I cqm'ђChs07,}[zmJX[k-OMd./HH[\cC"d AӼsl5ԋ 'd]JkAzxu/]ޘ#V.+6KٞRs 00qܴ\EQGqZF下U֮W:J <2ԡy خՏб,W瑄B>@S=1 &#&@~G: gt]${͍1='ڎ+_C<lWi$m+nZ6I'o{3n|kM&333 > ܔ0Gp.tz/~>R2Vdr`:c6-ژ!iƴ ?ԁ:F޷qϫ,!M>\<tx8[^vtvxCQ /V竢Hy7qT#u'Xj)}b|_U[1"&Bs뫢`,c$d82%ZKBw4~3^$r`a(Ok_,>r)6D izw xٶ5;^[;jO\lY.7^5ȐvѸ. z6_yoărW?{T˗ˢпL, Pk/0|3Pms `ϲ=N=ȼ?0W#Q 0Z.um^q$z)յCB<! DM)TTd=Gbv$=|~?hEs0_jr2G-yɻ7Ef6Nz1朄`+]0Eq b['4<(bdDs!< bU8 K8${Xęȓv!qpf]`/6u5fָ1 \$IBi=up6 1׮ԨrdhOmh|(({m m@mv& 4XOV:(HX:z]4M-b0"튻>ԫzL+O,s =B6;Y~5EvKFDG3};|!F6\g୵cli{*-f@z{emyzH?j}+8.BpCJ'N;zcķ1~Go3[WQa80m$R9hRkE1 \c;6uI+rV.f] F?_C*t$|[h$3]u8N'ߜo^&N3{'喑d׎(ֶZr4f6]] Uz*c.z1Lygpgnݲ56dIh_U\^NG.WVƕk/f&0j<>x}٠BbXW>mxD2ubKڔ@1Ĕ2 ?{΢tzq uX{a~]/_/zX:Vf7wl˅$@p3`Z߹鏧,p~ݮYlܞNK=I‘ AQО.;pu^`ua|srYЏhgw"(in 0-9Ỿ?K|'&Ѡ%]V[R'',x@W] H "Ll{&!N  >hg۸z'Be+=v%k gAIAƳ,O8y"Lw2 z6v{\"'@]ܟZg ?O|3vM#wXPAΚT Rm8u @ee5bY!{o{ kŦomGA˚*V\:e,uyҵ[O,[8!BLDuixgLk2DqЎ@z1PAW%ǩ&JoP?3yǷmfJוyDہbf>:]{ L]nYd8h)p T`Wu{[dSXy[ճ|쵹n[oK|MӅkiF!ȇj#Rʒ%΃q"1.zkEj]vD'C[&y0"NeJU{|eo6F|b'a}vrfd_E ޔtfuIQb*"ʽ'oty ].enG`JǫbtM/{olkzw {< ܱՃj&Krdv'*`T( S(\T*qbWb;$[,eZ=޾}ŇPp?w]z~N4om[pN梫 kv#n_cSՒd9H3%kA G3_;k"ֳ>chzK[z9<進xp0~Vo:)esYe~ 9LT&l)k{|c8Ǫye֋E%Tm;,ra?fG&ؿUU uzB?fzUuV$N?bRá5ϗi5! Z gYgכ g’_tEQ^i=cޜaM YneL[ص`J]@b)UqɃ(M;LWnNrGFr\!.9ы#.GNCshF@cs"K*B2Gݮsr5mm{sG{^&# kf7>pWCa,v/Kjt CΌ5۱.!s֐Sͽ z%{cnj Y.8Jl,V5k0~IEvlBp׿: HBh_" VcIZ z&V+dIۘ*q e&9u3{pibSWF0iuxCm:KBRHFe5q::k{Ug]A1Y7vԶ4Y0`EvM@t<8~/GGJMq)s nV _׼E^@$.`FGwsfmA n@c̃=\u'wLmIm hsm M dт|.5@`Q(L^6bËX=|'o-U>r6܀8iCjZ=/,\SgCm@Sc:"a$˄Q˦]H0bNu? ;|UE^}2j_+~ԣcxƋ͢8r*b ܚrM8c0Ս*nJΒ2*@Ӗ3CJ=oP"m_^mk,*_JS+ |+Jq^"^Ԧqxs>LDԕn* ?4,_ͻf8y HQP0Ɲ#D`oM%Z%;"cxlCN_[9Mz AW7]-2؅fGG,5 WN!wE\ G檔aώ -GgW¾B8Bb5"aA3Ɯ#k-ZG6#Q ˋZQSW٭O-齳7Ɠ8 S5sjO7m 2?F֫< $㒱fC!A89:uՆls7~0.8ȒVHݺtB8,VU[L-G! =x0p.hl@r.7Z zȝ6~3nFKtzѲU3A>_Z)TUG9X0ZPp{=4%2/ Jd*<~`؝qq([V IDATOi\7oo~؋ɴ#A]9N1Ɣ2ǩ7]Fa_ky>덨|W{̮pp8 Q,}U;֭q᭬7ښi!zv2o*\r.7φ{_/@?8n:Dz t`MZlښFi XE0osq^"4U45Ul]wec"=:C%2FuX`=?b_~#|mLo^k?'+GME`F~ RKTD^VFU-pm`b~'Xx8>:em?^Y~:8Rr `bdk %('=u`!̶["곟^F/~dv4:'c~yei/N˦KF V-E;բ&d*^-zdʵji5i#|ԦrDmЪP8vڀAv 1 un/= ڲ3%C7T*<<ʳ`'e Fb9+YuWO~jot:FWms(rsHkj  $c~z>[ i?CRS~!o`Iy=68Zxq΅ )c1 yTYGQ{#mEMZaY[d|#;G>ߺw᷊a 9;n&_V}1tJ02- %%3ȘeÝ:Vlp̲- Yh9~Kh|a1c[eZwIR``v[Gn7yF"ݶ/;r YkE@ۻ 3Đ)qs!i^B$,+v9<^}MܓZ"Jr:8/M?3^/6M{|,3zbm/C6\gqIt>Gڷ bY4`iA\K]߄v5<2$nf[z>y`gd}{ 2w210c{ZTť<⣛:['$K \*l[5ǃ[ܘ4n,Cɣ=yE>[φ]oVy)*q&Eun5 S5:};Jϟ?g_}Opӟ~/w?>Ho m~˲s|Q&/9 AX'CeV:>vukqDPŽ"Y)D-7!\,3v~0 CܒMH *L""ۮsfg:E#Vo͟rlzHʬYu/}.SW4,-ׅ"9|O%h/ rlGZmy8 p[18s\u*xuq-9\AyQ& G[z{˕vW<$lkw"V 75b:DMڽ}AFPpFdfː9YkAĄ78|mW( ǾŇ~/_ޏ?yw[]t] dQU?J_"8޻q^t*;wi-buյjttY-A>H_."rV[csr.e}tj6e~T EvÐD>`1?8bRy'W&eT=GJ+uYvdoei`);2a BߑY̌Xm˲WJWNh! 4>+r-?o Y|dK|>#2""2C$@$'pNlo#1hŝa#h|*?ͿDz];B rv':{eyzܭZO%~/bZ4;oZuV|_%# R kVAc8#[Xe8.'A:z!:H!y5|gYLIbzҔK_&CyLZ pI@-ʕya{"bX&d+?y-K [fiY+LxaMu. 8ɄG@k5qZVefC)њ}hywno'8|%1g`|0 IxrUhv2 u@oPNPp\]^3 -P|p ƙ<Xչ ^OZ|Yy vO}GBh~mPe/9;?ӊzCؠqś䧞wHv}9}9b?:޴u|n2PkM [[hU^$QN;k|-vmwhrֿ>/\{\j(ヱ*C9ow5wKu]ר. <%mQJ/<]oi_mj$)B6*mľ{ǏƕżQf6{ Bִ:owT{X†"m^.s?#',^[TlYSQ$ c,KRϼ?2E"fLF|f6g?RG7qvms &C"= %!9{eꥷ :2c)own NiwunO BM%Hĕ+t#g رv[fɽ˼Up;zخ+;9Yȴ\xs"HY_|矌n>, ;ݨx` km], .U-0Iq'~'?V|oܽK}FڹB e;C+)kK*_) <-y8"hFt+k=XtH7y(rZIW,`rFA54w8󒢙FTu9VݻϬD]vڣnnݍOwuE\_\<[d4Mkz&~PֻLMJ87gS`E87SG>ޞls+MW8=ȱ^:Q_k" ұ/^{4Y@R;͈Sސ~?_u/ 7E'YJ MTKլ2q|ق{,ڌ4iя @~ y?VDlhs.{)21Dbq . }B|lzWv|ۢCD O&6M 'v{m o{鯨WI]Z|얝 1b %&D܁ q[ηO;#)l;238[%˄$ADdN,Zp[G_zE>o.Ec٬şΗR4Q?8\Zy>_'cm}]nL t9HFqۿ5{޸wg3} 6{>q1[@-;] %2 8I5{>g~rwWټ{ӹǬF4vٖ";%%ͦdRLȉVQQߚqFJIE뚸nʮ{8[iCO65ݪ3tzQC?誙&rx:D^B7M+녴()iCEtIE-֤kŚنA zQ:{݉~/_w=UYrɈy#ؗ"rtI? EDgb5g7or|~z덓Ak1UwF ҡ75-7&msV"s@5Ƹݻ8{?{߶-I?Ƴ[bl} `=%4KI+T1'%|[wuh:Bv ,cpӎ WNWuWr.N |{JVwdp{`qk|81~[GCՖni+_ R}rGĐ EdW{A!sAȕ%qQ^ n鵏^o}>cMSnIǡx~d|=. D ÐAvtNezûgUu?N*o\<ʬ]Z9Q IDATr׉4S^*j%&Tֵi5޺D.bV([ffv]/pNdy.2, z0Len|`,M7iߙrx~oENLJҦQ4# iaSYso6lѠt @%fꎯ@'Zܜ}4{xZ F T 7 Z?K(R ta "ouGrv݆e2A弽xdU3,H[n^4|WJ(KC'c2o%^62)= v}o{jbWp4w]9"8c.Bh7uunic2TvN\],5ء+nI9wׂ@t-9rqtğLb7޾ $zUrv̆15QpȋW流 |#fok:sdxtvU6d xP״4/OYH(|k" Y5*Hak.`tG ng&벶R.=i##pY%7e )x z"u}-ZG~8nܮ3ku)[{f[Ϋz9YnEKtz!l*֖X*[ÜQ耙1t6$z'|i+U^`V_JUˎG] $D*d0 *kG W# E?@ XlLgu,u`{d|{į=>S,6~eKM=uϵO.oϿx0-JH|?ngw^tݛKDe泟~3Ӽ|~#lH[po`z5O ,x)GGks3p]TЏrhEB=(5gT~?jvPu7pݢKL?egs̕e^u21AE:F1xTsæ}"LFI?4y9/ʬ*%UJ n fMƋ@#llZnhMh56,4X 1ƚU_n3/KLַXrs߯յu4M w68G9 $^6 k2I8W/lg|^i^ )K_3a?{g Ӳ?8lTjܿ_Қy&HyReLJ]ri=5&)EAjYhi+8us٢ ju@ @KI kӬK!U6ϖ~ʥCb-h73R'!<wOզ*2)QUAC|-fE<2l1s~ٗ>{)W'^FC'YPUM$Ynz]PSZ!F@F a@KQHQF<۬0"枾:$Z>MzL&%uBEVT6#E#<'<4 hpÁ>Oq+DkZ))KD  %*-5)Hk@DTRks ےBb:-Mv2gh#k͢A?v;?J +wݗҗ[̽>eWu.^s>@Sðf{),fÑҾW•+_N.s7IFlwMY^Jqc8RJwǵJ=ao͓}-.@X8oZI1iTaDeNʹB*;=ST-Gb2KHIZSk (dYQh:a QIz@u O~Qe 0[)ȹd(2RCňP{0*\U 3EXն.u_\}y!J]VuC#˄ xq/AEqQ:2be(jEwy!2ЧR1j3`("}?!EV,hMb*&kYQv Pnj\{_CTR:>3IVy:coc^bFT iDk[&P2AQB4tu&ܥl7 ] dEU[B-U}$BRMs}Rk$ >s^G\}&6j%(65j j0J!!͍^H@V18J) Qk!MDHJP% FU-)#!Dex! %GEZUɲ,e]eN>꘎w l͗>z~k5o sыm߸EFm(3Q1Q…'󫛏:N,WBV^8Wi!lskEd\X.uRU]shI@ 0t I}x@ɀ^)4CVybݴH~=5?oL-tZ'g}vDb5ѺO,D;Ǔe6w6M!qWz7}|RÍi;DN'NW lbFxwoj_-6wzہc}[tNՆ*mj jXizŻR&mG?X޼ٍjczㄞdFS|cWL'Kjؗ#꨿FPlGFR^_il9y jE~g>cWO\fNN&T9QAdTQT{iA#U嶿{xAi`QG'KiYaklv6igY([TGe0ϔ:^89o?w|)/U!\+)%ĮmuU[^XWaq4~#R|x[k?k_>ǾhumX9TYoԠ $;2<{كKXR[p%}mA>h>Bjۛi4 zD^[[^G%;-meNZvviy֢&Dv*K]$vrV\$Zʓgely KZlb9A՝FFkE“El2xbN8Ŀ:ܾ\H݃pIg@][ֱEygh瑫--~u!=:-X獢ұۼ#.?ԓn0cx"ښ'f/%Ƒ\P]a!dvX[{Tb/ r#Sito;%B2,f&^w:-yHFiQ{3pcܟAץ v[WJn^h c"-rm*$t(Neo)>^\͊#q蔜R(Pp$R%Zu9Ȧ#7& JWRURտ.Xcl(jYRɩm.)-G*QO'N3K똖?{fZ6%T3[hFϜ:j) o.*E\E2'=++~w Y.YuּkCο2@kZ!ֿv 5$U~4)k45f`K_UM&I NR F@l&"8GНCsDl7Y@4!V3"U B !4&DM niu/R8^.1dPI*u5'?c[è_LN6[$f[q-DK nXSzEQԒ'p|L';&Nd<^YlU߯o*Ha ׆#/1[hrqG5`Sdd=Gn&ɍsҭ,0H8{W\[KLdM?|卷 /^ydž7k^2ha,}O2O/.)ɩB#n];8|b!u_'E/ѾLz1{'x IDAT6L+!NsZ;qbj#/?K V^} ">>8g9=3"?@w2.o 7xtiz}Nd_/etV%X1v>Z]iIsϏLXwʰGL'Mir:)~/»[>d3So7~ճ֏Fկ=zf.*;?/@Ϝafov~2:mqb_J˸/>#>mK߶<뽒͖k[i%ޙd}DG7[kkuYcIL ө)4~ v QxWE֟0K~9o耍LZ$)Kuf @߅NE TKs7t%oxacwjY+$( 6N_P-H Jn%s#`cQI(EРJu&VJ"!Z+qR5`p=XiWElڡGKAx!(/OS5}d" ??wt9Q=`CGiax8$xv5cq<.^~,Di( a.2o^]N.}('(O~6sM,eVH8eM7Nۗin6s2 q'7BݙPogr>ڕ#'Gw{4sjӄ;O֩'{돒u_̣-_m>4?|? K7!ID`㇛ta<ۖ 8q%i]BOѬ80ȇ;Cu/aqgQbqlo,s[?"AZdhk_afAJgبXƌZZfʷbd{aYlbI!1magx~8~p]&7ae1MӵaIVd' Z$x[n-~nM.zԿMs3>k6y~(lZ&ٖ5QeKqUTCֶBVYmQ)}],Gz_{Su aP~DJ>oI:43^W|"b+oyZGcKa G5ˑ򑖩M:jom/#3{cm~o~zȻnuFLDJAXˢ?vZf:>ke((/[vg~c-#"4*:(`Ef(uv/&`ץn,xLo~ 5Zqܷi֟$ҀJH 55UG4샐VՊ R"(8F@H 6:VDz,:h-ҷ{I6=EkMUapu}on,i䓽36 R~H xkǙ&0ۯK*f/N|Ak웰bȔyP`ĘW/2ŌӺ0(2Id,]I Afǝ*,k9)QT\RrB()18"xT/-jԋG(,KW[QՔ)7< ["臣lu 3C4/uctvnj^IeBӼƪWU 3fQ/ӵQ%Rb'X!WNkMPľB#|mCl*_AhԨ@!!Dn@PѨuWW'Ps/i,1 CU6RD#Q70jLi#1 n4{L੍o?M'i}Pş} |xt7R$e⥣h`vnO{/M3=/õKWu_T7Yl[G8ݣTXg'W/>.DbD=g3'yq:O4s?arL qlW F:'î㊸*~IyfۻQ+5ڝMiEغ;?ktZ|ty^Tӳ0.9V] 7Il^DE\ʓ,x|?|+f=axRΨ΢-x~ZqF@ZY\-:"7WNǎ;7w6g1]u2oȂ_W-o9;A,7h4ho8n6m͜>IhhMN=&ёqM[w۽*+|?<|!&tGA@D+jک+dQst\B6[Y6ĴQUZR; .fB)QsBNŒ|,eUCY /2FJazfehÖwss긆uX&QMRO_S'Vb ! 7eY Ggg>GтjRrG\O=O}me}]y۽vȉǺӿg',|G{ZZv'K&I]Zx̎2&;u\XU$|pF>ݶIaֺBYǚ_uX5v7e@I)A ڿ޹A [j TZp!xԜ+(*ADE4jiQE=mTN 7_zV+|0~Mew?Y<7u٣b7'|!ݻoUyrpqA<pB?<jvfE;ٯtŗli-$`!:U4*sZ}p`}FN/Y áA\e e5jl4F\Nmʴdirϴ7"v1/VgBXQG-YPpݺ?m\={ݗO].lպrIupnҽLΊ RlQU,?hWf`{qo}BvRk/&ͥb̅ y$hB# 6A]E޾_`Qd-8gEmZ˲^LIWKg?oy/AO-y'zd|]( I˪E$Ml;}Kg˂\Ӫ=j.jpԂӼ.2-ark;ݝeo`$5 DJRu262G ^9ehDƔRs0B֌1sALV+֍ҠA"Uak +ڪ-$)6b jɑμ7iX o y à^ihn߫ +2V!@UJ?\+c+Ϻln|ZAde$z(jt5fJU'KBVRbZTRDB=7L w^ j2ZjhqtG">3dGK7"%{p=]N]q pƼӳYg>=vڶѰl3l y$sJ|WgsFA7Q[nU^_Yē^tҪg(E;l;c\Β(d=2qBn̓MD^ qr^<̗HS1;wwd`VG,=zt[9$hdCɐXMlz:. [~)14NhQϲȷ“$p^|ks3z.Y&î-LJY޷_A}N*wa,C狈4քX2/%jyde!M-Icj3DbnsY~O& ՙI˔TkS@ < +Ye֥bqV6(JKUy bB`$V/=DCeveL$ ):>2ɢNSI%w-9$}/ךEf.c[KHeX2;~ 7V܏ލ'_o7vَt.Q̅S4yQ7NV"'V\"[̒G؎ݧL(u}_흔,,R,w2; wף`Z+)8AUYʔTR45!)yg^e<+uj >omV' 7on3EXyAR~88~ḢW}͠j?he:W諑*J9On BJ+DAP@Q %s:M4X`8-lԪϖ?=?)~7q-jQCEK-mJ O!knludM.LY^;`k;I1[ȝC$D0RB@p?>xdgo^1B $ɲlI*HnRZfQ˦FEɴ,Whצ*),k.! 0+edљ?NraFQ-K]{6+$w\ϖ@+l[L Mg/vhY9.eYTsQ2Аd9W% _,I\TZZ֌ye˭7'f)dRo'% ,ZDH9 ۢ!QܠmzyV̲z1ck>A*-x̐1ԉp"J+L GԥBejEh3-3а07kut{=t}8a{-7XZچ2zmvq;[ξݭn-]]=K 30 0LU lECl!am"Y;""[B1a zz0aYk=-qAJD~F*{ginE;Jmλ]2j_gsKVQ[U~ƢReqn˱ L:85K2w/s>V4¢st 9Dhz#2zsY;VTwY PwK}!+A΂\j U  eEX!l0&B0"$HTZ#!%IB5&})%@*Iׄq!Moiu&9emtg 9Xzkg\׍X}qrCף[R㙒p}G\~Y LH1®eDe۬Q]Y>pdYF5d<=B<˥ha0zC72ӡRҖ?:yڼx;oMB" $E텛bB)&AYYJ5=|0F"BX*@ 6dyfv]ؼSLɤMƽHa"1&ӊ/~*Q9"hZ(5Kih%& +R~GN,#Pݮrn+Q}9.L~'%(@,TR{QN6)ͣ.Kyo<ԏLT ؽSDH¨Ps((k"yj QY[#LZDkXR )EpX-P`9UIJ 3_s wáBNt>F1 T۞yzyغMOQ?j3NRlJOռ4~0l{'lR(+ r<iR,sv@m~L :AE+`)-!Ksp^u퍭!60f{kP횒-./vP#6/[`BYĴy؎S3<=oK㽟F?Ǻ_+K4ƙ2\2FC6}\Ɍ:)>!:7]aa3-[9+MiW/bdֲVwM{I(Rs 12DٺiEIJh g/ѺKh4(-Xz:ds|wseb ڭ{)*I  ˣP,v BxD=s@HhZo }.8hi{pw/'R-%3a"~(1/r-Dae|m1*}qUv]ĊHPB +DBJ#EuaY&[WH0RɛB"Ίb<~j3s"GQpu-W+Mq:Md]kD'G]4d9%P4Gec"X5j'K+ Γ<_awwF{ q*5@T!`A*늢 L´b'iqTVidJ ͍DUJU1ĖhڋX _B?zً}]:L+%0`% ,Ysvpʍw_ G`Db0bꫂ2R&i˫]9=k]:QOGMdA0 FgRV)1Sz=UѓdFy`]<6`Qhj\"*ĄS&dodŊ&3KzHQRCBLXkz}qʉ#sL۲2呢k,o1nOŪcjqTPHM#g(gi%ҨíW%X0TێaK ̋Nhky I4(i. vn(rfKg#Y) £ō,-G Q]j-I1{۽F]g2E)isY ~J";3 e0Q:*6$Ѭ;L,&˱xENj1$%Z ,oҸ,wf%]'vZ/G?jjَmr`<ػ1@M^cQ E[GZ9 6 ihLEQs5[-%I2.9d{=ն1n4⋪HiUj/UWm՚y./>5$W`457- /%vC&XͶR wqtjfSf^DaXԸ6=EUl\߸Bf0IR]%-ks۽f%#]̩iU/ u Tm.+H;NSD9R`;c15iքPA+'WJکc0.1! FBHH@1ɤI)Ĉ1R0 pQb`Lfm*1.܍~?uşd?q48*o^i^)Fv;:v˱+Q ENz=fk9A lqm~;a; G50/!ܠXUQ!S*I*JWms[!@bb*0 B2!vhǩKIJqX5q˸?>d}h$KFk?Љk:QDR(0ڊ*[SG Rpv_ӜӵGeݜCh#FcnmHsOٙ%I\M2/*d֊,evKI)4w ^zql)JHNsC(ᖊq-(9 漩005`g;O#ՖD׋$ -Vp2j~^_HT8]8YLA˳J04R0Xl.Nwdzܸt"וAR@aȁ<7HOpd9N3iʰP+tGŕ_ԄL,.CZE5r}1JF \FhvK(#ݏٱ%:^:gs/J]"HFW;Ĭ<Ҍʌ*Ys.ʬDp9 L$:~ok[ϾKBluwB'?6?xyk^_Xg}ߡ<>sT\ґy%oӿ,n{_~▏ռ2c~/kIw|ȯ߃n7!{7}_7P̍seymF>1!噵5@cL:cgN&7R=F6$*{ a9amLuVW\ϭFgTQ"~#V t) r?sfhccCJv26Ο3Zt~ccm>9 ؁u$ٵmll&m66659@hi??( 8: V׮96`ՠЙ5R"@ll<VV+ بU)enyV9`c#ؙ|Þq6an]}Ͼ'ngg_ݺElE}_k0'֗]W1͛ں[X}hGߴ;zy~8w;cِyzۛr!G)>TY>s Ǐ<ܥk0>qvG N}AfI o.n=Z ò(8/6g\w(W~!YCqq.elSe"fR|xJ/31Jj_syG-;8ַKAjij;^:/-?-j-[_ړFt+C\wɓCxwzo~Ͽ{<7?n ?W ?޽??/s:{[vOtojý^KoaC3GS|֡?ۛtW~i[}xyݼw[/}ƒX=T_}f(_]b6qB5A煷AC_96z 'EO=qaQV[޽ôOʿ'>)нW[~_~xuߛ>>YZZ/@ٳaf[yOlIENDB`6~7ynHte>3$%.kO>mMKhǢ&W'k GNoaj)һr~n`6f{q߫*N0/mǻ08p! 2łlQ.{p>/Rq7^.=Op\w]$|Yy ^ ?jkNPH#lh| SDnzJeqo~F<] }{1#Va͜3h=}Ԁ0ūI/ðxJ&fiwV(4i.uQfUI^6$ 71mʧ'b"47!\ `aڨySVcRiTj@G^HT퉠kl+9E]}{} ޜ~NGjiPG'2~ ie|Mٸo\6ybt#"~{q5=&$+@~H44RVt}LVD{XL Ve,6tZ)NUy#9GQpD hHxq}kec*"pT_Xk'ܬDݾQvrH~ܢ㻩{waBaCİIvEO`kˀEFA;?ƻhy4=!|jxPRYIZu |$ki!29a3.@bR+l)WI'y"6)T{fߦ̫:*l ]n[H|<#^U*J'7u)|RoguüHdy v'tQ3эdz)J?ȴo)ק 9ȥYpAw“DK"4-u"xh"ˡq8Z5PMbIၰ9+ MD%ARHnnUh!pPfWܨޭ8/唉?wD 0NhcsWiv}t N\y=t$̻Mk[(\()$WizZk~~&\=+SZEփ|B2iܱ_ܢ'e[aQ-Qb?=| %<51IqQm9-ŎP1PIe-FʬQ$Cbbߺ=W(𓐔wKPe$q_جuo㍶ |Kh L~QJl)RίF}Ԛ6}L%3>Uk冐T@D;Ip7+u<;ptL[B:`o_c<5'ţqaHǟn6"Q9QfCa<?ɬ`$wo \qec\n)!S`:EpIQk"{4"}e$]ZHN~sw1LRIC^ [S=HwJeKYm8˥@OvXLgcNmLWѫK17qB >v%a3AB/,0\R:Vx} Β{맽eތxDvE;B5@CcƯn>>Fנּp }6| 7:J:$!}R8<Ɗ:zbzWy( R^.teDZ:m/tnokG# 3IxS DI?3?_߭*^8 8N":[ued=DEĥMS u!jau:,&M^+A6C3>f^ !5In9[K Lu>J%A=>kG A_nxMM?cRUyB)GpÞ~'@98/v2ϣyBO_&#FpC]e+;HɆR,]oǰ H LU<+Fwr䎛7#mɥHYrզսvdf&f [iƍVdMἔBA11_b?2ee.H A FJz/F!c!/. O%:m֣a)i1C6/&/{ &`,/pJ?W7yrMzN>Ct߃~4E*$/̅PP%2%mR"BX:hf&`qMV"q IbnS_H+_!`!B!k:i5uWx*N6xt"[wp%E7&"+~bC]}#d bjVWXBZ1 }֎cI%- gG<њY7~]DVI0 RB3 Cc8e롇M'x~|Vp75[6~կ {̷]5w'{R)҇Ќa~Z#0~G[J;Vs.(o%Pؾ 㕓咗OWV#cewa(0E-MWhӔ jDEq.Q蟃n"#9_7Fn?aAmLih{8WK6U(҈8uB8"ػHDo+t?TxصGFk#(ԞZ~ѵ2Tg1] l S4:!AKoG8FP,]hTz=CPir/Jg|[twc000_~1Pu`% !3{=JS(\G';ӯ46:3 wMl?+6i+$ؒJl_<*5#.Dg0Zt}PMւo޵9Wz9:όn%u]=4,XIF*\,WpB)#zhWJ1.Ftc`xA *{Et/E1/3.VZRYB"|LdzuQ[/'TΓd6ק+8\2ГvJ`2jWcbVHwmjb&z@cU5}ol#Ga{G#RC*n)kj%҅3DmsܓH>Ko SHsI]0M({uNǞE(xR)l7\gߑPV F4$ _W0&.y.FW$ fb&31! GӔJ986DCS>CᜢSʣg2_Q# m>`ٳ~tGdd )9ρ h%-^y^.A@ |))i$By[-m+VǏp^7@k?g?-b&b>KtB^QGvҤ3U*=H6pLCHuҕĀ y$.4D7)R +x|8,S,`[2I; ?Q}Э$k9^*6 @?,Wjfܨ`]H%3ֳh).){|)4^+ƆJV1i)ƱMK&QIRI$_iO[ Hx>n/ z-\ o#IBT^g\V* jJ1fҌyE(- `r5If ;NAZSPMk% @UY k7݂pZ< lU_(hfD$cu-'~uAQ.c0xs#Z'^``ȞhMDv2d$4?#dk1.T ?&ؠe>C@ d!:İx}ƶע(sȷJr:E[ g \HR =ma'>xʬ+Fp$ cW18|eRxNb@_pCJ2co$MG ֖k PuEǩn'g^d qrzo=dWwĺ)J@Y.bseăqd>Zg32 ͪ h#FM{?9Xf-VYke[mNoD]y7"5m^Pcf ?3<{;ݻ)ȓlm+}lmD~vk .j3q &5o(W= vFΝp(jV5@\n \%K! /L]߅ejzanzp@,UUxF6]Ltո ~S1^^?J^ 8J`dL_1!*>b|^Pa #GO:;J5L&=É;9 r%K <]iϐ}(-~l| Z>]U"LYE[8J$>gLa*b_ݑ#|Qg@8~YdM2;ͣd d^1)*̚c7mw~OW@&]d׳^.tE>a&5) 5U~=,89nƀ@vcNzA4sNJĈ$uVCXYwgj8?N?_u4{'5e]6YNnr?͌ʳo)T"X {R]_x"6A wKCnoNv1 *=ة:~.d"i\-D0jI!2{-wՌHIzrL-85@I +QK^N߿]޺YwrJp vlis 2Y%>k~6~"A #(_` `WULngIJ4UŏXƂEhҝ;&jWr?+౞XE{pFXm,|7M;b1t; E6dֶF.ݷCy a=R &Px1تzZidh^u;7kqvy# d`qVފyFzaV'x)>}mCM|Sٞ4O|{aՖo4qG6>!2MĞR dJg?7H`ApВ jZg*ݠujzX )7P&aJWFAIz{zl΅<]#mu;_~@(ot7M/,ffrrMC?Mwӌ{VA@wxӷEaH3X`(}QCMVW;KD WI]!,mh-(1^O9Ћm)?gJ@R3/F };Z1}3[Q};m JhDr)xFb]Xg#,gl!G43Y}tzm9`aLvܫc̸vW1gN!~w|P"9$k&g5^;TPFyc覷*kPJ\ronϢ:}C莒e]Ys\zE#"'T6c:r=:Ⱥ Ya jFa*Wv܆=?E⤧B [vi(_58_b詜0gv # [`vŭQ_–3&>rxw }6\1$wYe`=` uy݃naao5RMfsK';3PSkT?~|ZjE^.'⸼~;ʲRS/2p+U2rcIl}rKcew}SHy|X,l9+VnB\hFUŧ~;3abJ&m'z ?{ I-Qt MD?6$}pا|424쬘%1I)|MBAXX]}%'UxA3قPYbѮ=SUa ȅXvC鎞FEcˇ O6M s]pʵ*׿m)ջ;]fmuH P֟0q W"ñp"#RWAHEѧE*@f79uFEuр"5<Ϻ2`qs_ş=vFjtL='og6ڄw(fbY6)%N]w :ܯ=Xx\pi/A6!r=ݪ%Gu؊oJOR,sS|nhEcֶc \Cz:1:=%y>Y Q x4B8탫Mghpúr)}%"$YmQ/e3fB=S?#؈=Tc<'OGQiyf{wuc]*FGG `zfiMQ<Δ[4MUqDW%vJ \+¢{iݹe>T~L}q;P_˒bĩ 6Sb?:]% n['đWDžkkz9Ibn= YAO=i={2Tm{Uު-4bڄb'Uqki **dYX?wۯ+[0]:@Rk;PrɃZ:%(4B^C_8^ $^4 sIPNʜ ӟRۀ h]p=XםSŲBi՜_i lh[Gr^ھ zg/ˈSbQ ZnO5戶*npƛ P=84_|xka ^}(E43p ^F'J59I\aj UlfNd |oLD-9!Q֊TͼO[A=7ݼB@G6FӍz5\b'gh1R o>{?@͛35]t8Me4 "R3~v i @7Kd{ M]!f=Xc43v?vB:>Iɿ$gp5 20M-nՈ՟afӃe`JO֤G|!6ښ X) M/ !X]GOE_\I3Jm@_!d<w;ߜқNeC{5 PMd< /"M1؈ l>y{{xE z&HUa0"Y~X`M,<xU`!laƴ.+^zm&}wȡ[共71oY_A0+ Mu5A.$ۑ#*?&/Ž/"v0M+q8gV+N 8{Fm55U܀gmH+6M@e\O"{֘:9ջ.gb$B؟+%!mD@vEKYg%bُ$bϿ ?; ~P'p:Īf4a`#P7+6=*& /A&GEU¢i) >ЩZ'x:. cʼnJbIL/oQ*aKB@ԆT@U}Su-ùK'ߧ{j[fduEsU<<8@?Vԁo8汙:swcnŹF ;KQStώ-v Cr3B} O'^7ϔ:!p9h_isގ&Hklٯ˦t1ᯫA̋f91@[?J o6-w!D ]⤄L TnGwx.~Q# KkB]*:JҙuwE(P plqI"Y:tXt.C i0"O A܉Ju>/WGP-짘`)K$I-e LkD#ZKDh%2bRS7cLhQ}4Cldz/Ϛ]+SNN=FS?SgƄ7NCɻ޵WGEcwWTY{w#[A@ +RVf*7NDk3_wׁ{=q;"GzTKM+/Lf^cg&ek;Zvb~ %۱w+Q"Eiybnz[| ?py|'wXo^1v`ɸ[ɤVK(W}W/)F+R h8dT+kW1-]%AҎ*SSviIxi,(T83 ٠݇$B$xǴ;ۨ]T#*cU)rL{DSHDOkTo8LBJ!T,.  JDT D˕* /TB S<P㴵OBq~VG0D+&(e9O;#*~- v ;$ I𷋭wr5jV2Ӥ\5ZϵYkwM?w"Yt3J 4Ѥv3#["Պ6tg9bboyз*- W%ɪG&+&|aLEWr뀟d$8(d4Hd⼓CO^p7^vQiw0Ezhj;8Gv+aqWTq>whAT4h-\%{9w|xGERӌuzp=}>x ˆ{b>]GVf$d _5;Q)[yxiy3R8k$ I"249]K(MvDcC_j_cSN؃Jo3-[f[3X9jy| Vng ~}ƴݮ{c{ΟYk*e$x>]3V'~* '.FZ9J)ӨE >e(ox<؞-Gwԙx|}{[N_1I?G+vݗ2Nq֮q0(q/!7p26*DfV>F~tq: ܮy wBnos~s,-z+"K'xFA>6o$(*&FiǴO~Sf| > h \'H–iUXƨKD1iG+ 8ѥ87Hb!hP8m4fBO@ B)o#сAgj8ax=Thcr, mYLf.mrB+Tk CpuI#EyI,]hxR;ZlY.YW9--FDy;n#l0[*{kL#a3Ƥ(KUy 3Q]f6$)yG{bH:yX&s .AW"qAE]qjD$=҂hIBɫW N Q/8fkŚE< AklAv3ͳ5Gm6|ςϊO$&].'`j*iϏN* 8.B^.{=2;Wn3* `nD3RzĄ+SNC!),O=偑AoJqor;i\wrk;d+Ь&Js8g 鬬_.P 0&sEct5k :Viϝ,͘lzg|R :m{L Z=+Ӈ\ ; r}Q({*nTu X>`s-+ֶoϮё.-{mOnq1`7lG;a^3Z"HiDZ#Jr} MP7puYYcJ0M<'6!z0qV7ŕK_F:7틟bLҪ ?G *j+p"N-Ӣ1RY{gp|'ڼ! yH"L|Aoc59sn|G{+?I5ηy&|Pt{^'yRo ȓ3EԁȽGLwCwOGv[}v:ȷ@?nTcBBm!g5S9.9{F#ݦOtƸ/m/|X-ΧtvX+[`}3ǵ %WcyL2"-.\RcNWj@q56r4z7J .\J~"KgTLJ~\t8KԖ#fffffضْ,f13b,ffffY<3{}o#6ή̬'rN2,^z1EC> )=x=N irϢO/+iSW @gKm&0e ՟܏xÛ.o/9m-qVI|K #B1իޜ,ؚWD|gf4 w#Tt9ot$O;7DMT|GTGaӶ<|0W5ҖЩdfQH4ɑO* )2.Ii'Vx_7R0z0|x D14YCM3'*loױ>MOx1zZ*5 !/`O\W,< xyH>/!>͞0"0JaMDt"p"Օ;{xf߬f nic!yrЂ<`R UVOpVNE뽦}|ڇ` |Z>NH *J^tݺ{Vovg:\ߖ4ML )mU u+#LO/v4U #ưP*W5@.疐6AZL9Ϥ,B Үv|sF9E[RmOD؄u4.KE|!ǞNQ**Sp#De&+$>;Wn! 7g'=oj}S:= "Dˁ&o=Jj="MtMw8u,%Z#@2d81+=o:?(X>֔xD.A+b ZC HpL΀x&$6XsW:Sq>ceS2ޭJh\nܲGyqK~ΫSјoJ<Eql]6}ۑ;>CsW(ꮄw:EۓPZ6k (t^K C~v!Zk\uaȆ@2Jxt dU'$H)JI/"PꪫpNskulPԮoeݵ JgZ9cBz4cj  .@A0{4pEP6 Osچ%"<8ceVBT(fڹ $(aɿs@Q6 DʙEOU)0b-Q-֗0oOl|`&rL>?&YjL@diPܢFq Ǿ5}6!dfY' Ge5D\,\"RhĤNW;rzIpG#d>&wVc nl)jC|yryQ\ǒ2BhIuea^=`,3lc%Kp獋sAh03cSIg- >0 f^E~"Gk FXh 3G "jm4] 9^.53j^p hcJj PC(n%1䟄 5c[E: "YH 4xp i{}óUR"Mڙ<235摄,wu o)'IBJ~(,!/w`z(Qp ʡZL$K@`aao>U3.x 1rYwl\AՏ` A|i8]LxX'ŗJ*z,Kߓe3G{?1I8aX銗NJuC99H<^FSL]2yеK]@`7ahŦZ% 'a@IBeb;fgѭ'BE2/]t48Ǩى0"0C|06= !{.wSVmo@C))lڣ1枅.Ug|vt_S{°=A}(b5mg/ ֵIP+$򂥼^m-beRt8]<$+X Y|*H~o^ֽuT k߿q.ҳEN+ըWζ(Ӑ9<Ŧup,19inV6# BHvKOpnq>bri:ƊPeffb,4Bw@X^ dj܈Psc7/18DoknL9(jۢ%N}](je\k7]RK<39AHބLu'PWgZK;uDK2Xti`S{.\/!ai4MOӔޤWǣ&}{jpTQ98 Z" dH5JlRClcl3팫z۱&oEh۔d](5|fd#e!5AV̉?vQ퇈bRc=Dލ^9jE7-4xjgľ:~r&o4~-"^1 wTU5ʛ:b'5 ݮ#qkCvl!!Tj_QKjzE {Ù:Q@&8̟8p?n!)˨gV20O@ٔќOl:<21ƇaD22Ix$:0IL_iu/G$I}~"_txܱQ5B7m}zޏS]ʕ/}BY  Bbt5zj:lj@4nbkrahXF1)߇KIV |#-aT=bٲmXg|iqS[2M:~XGx{Grf59ZvO5~d0fRK[o>_fo ;6(e<^WGyV_ω,΅HGd:׃X[-/90@E&EQGS}FY 1P<۵&߷K~;oP#KAp{ysns:qʰ{&( R܃BnT '!|jPjZD(x L!rrTwD#'d~qyba4s*Et,~?9Lݟzc~fBZP~A<+DeMI'MH.GKue"_d׽=Tp_Rft1iEUtʮ'iJ-":P4Ũq8^+ d*4 `䞟ǼLI𡃜"2_ߟ: }/!ںl)/ҖfFǙo uƋoxdfS$˨e]T3ˆMgtIdR0Zs \Y}'c#SA:_E,["sI`sM||?y(Tj(6TA VUOD*7,n.r|#YXd֌J^zoҿu#2vJ`ts?Z@ڄtk72H9f1&@E׽ǐEO6hG4$ψ%S2nGU5pL@]U=!|pooeL=۫?Cm蕵(vg xI|5Yv=mi*Cw)W&ܒu kjA@R,49tUm< t֍؃Yo3|N*zo-=auB]/qlL,?RB>B~;I^fV H#xIp1_}3 U$*DE~D8x6/1ş> Tnp SdRUnF!"ny2 ogMR~^ 59#ς]jckE${[<=Ko#$%!3x"gcv[bo{03r 5!>v>n:'@Ho߅I[Rcd ;{?@SH? x0 YS)"+9pjiרz]N=~` x4 bXx)W&xqhbB9cc 7Z9xtFs]s\otُtE~"Ca LjWu/DWLGfG9D"^HED&kD<nEQY~2 Vd1pbR`IRZj8n BhI̎Ry:k_tC&2!Q'].u,n:jMSi WȽDbiV'h'Y8eInH&4|Fֆ2F>38ߋ HZ p@( ю(w}425~xlتO&Qw-<#kQY_${C%傾t vDb|Mw F7,,"84gUT|j)Yl*6̥8jU A&آO-Z y6x%[?ˣyd[myÝnAǡhU'޻Ǿ /4ex'X|Pi?2(-cF`"8:5צr5-m {al}*$ Z^Ɇ; i˂bz.kH!#=R?IhY^E @LƊ#ˌ#⤲1m!!m?ňVD' +i*aI9Lz|CXug%@kuP6R ʯ4+zNn/?w8߰CJGqUUbro h,rQXl.tB4 t!~150Ai[H4tZ{2*O_չ2bb|b(Le} pQ;?3ԕzM!LqzyVR8VL%3wNxܘ3gbׅ`af%Ju7H7!W^+=~ ^i,$qrh(;O9]r,s&U&"q4lj\d ʊP22Ր);bwiRpȩh8 aqeHĺQ\͖]V<*x[DBXk$Hu>h{EH ]?fE3uz*mW++ѤVwU$j2f }bl B cVh9kbCj>OΣ8kgo_*KdɷڏQ^F{8JIѓ>z<.N"zxҚDu@?0L0Xp@K$UJSÛHܑ -ǩarwnhs`e>, PY4OʀǟyΙel3 Ak7&"ͬCPXoqH%Nbe-L94֕Q4ݭ7v7ΟRPF$gTKX?xQ uᇕ]V]il㛊zrs"] W8J%ޯGzQan?]5e$Ͼ6|/>utu{mAWapL_KbO09m`G޺GL|0Mgm}# W0]o ~C35߈gҕ;4륓c)XOBF2e s97ocz`SR͵+?o}Mƻ\z<R !p*/Xw90)G"ޏ?s!ډb=޵+~,ζ^/ܹeKD8 Jᓒm7ә+D??fG2d%&^ޫmFmȴ_>7Q٤50]0YQ|/N3uRlcdf3 {eu'{(=LA APwяf!-mKYz `$/~Jzý .:b&bsB~JBҾR`S?嚘: UrfifLSA} & ]ϻ吻~ZWUyӆH)$O1SG %N4o[I6 6WX;r&~="w\}OjEC r lRFhkJAA ]x4LbcZ`uhc㙘Aϐn H̓a6s.^("pz?@+h`3rh=ш~ź%=88{֬SlIcFDh*N`J ko=FjЃf\;ˆ!n"@2!>k';N@.6& *cPz0R3yGV0:}Y2 +c G1Г6vbC+s䬟`((WwKXp.f.oX+;^]]B"X-S95RʢɡGIEdX+)  PHPww@0q:з4d/$~]&=ȓOf#?bDk3w'%-09Z} r |^ A=׏5T058{p*ͤfBQ>x13~Eo΍ϋd0~gS5V#)H)@؀9Lj<ʭ(&VIC\|\<5ʼg _!Nۃhe4,Obաdhlث+o,Q[xr8_r?6h49}"v /2c3 pg_[&ݗ'8- %aʉsoQkb {̝S}t>Y ViE4`ep{:e.Qs5#_HR)_Ѕ޿25) M~t5ⓡ!3ۯfoXw y|^.6jL@*UTuQTS=8 N,[!93kN/.ү}_]OI4涛+sloh;'? ZȺDu!=Ogrrt)КnVnf#P4.- {]_$6#PTŦ>|UWUZKb.$ګǏ9 [ pqpR(GC&a#ƕ뗏Pۅjr7tme(?(2rtM$-QZFJPWSa/>S:?8K`wqŇu S9kݏ_d4eEd~4X/mZ &NPދc!z"@68\S\Hd9O+ʜUZS^fiZ>.uf1! i<$՘*@DMxWQ^ 0;5P<-o@yH si/\J~`[Ӈ|ن樽7t@O@3yM? lQ4noُ[/2$s @*±d*,.T.ִJ@NoNcHZ˜|^FQU-\<*b[R".`L79~{(0$ +O vB<@Ȋ.zR+=O9gg"0`$_]|+J7%XqTBB>I5n^ ~<~_{P/BȒ]Vv+LT sqafUMuV#_Jj=ML<8awڎ~\= {YDg"-3p;suⶎ YO`(Vg噣uiJuUW\_fPn:|4d4O9ag惐4CuBH%}@` m@WQ{?P|ív1]v㞎J:5`ߪ S@P~a;R{ydSJM s&~D0>SGۏWqz+]6syK&(M{&iW/yV_FX|aJ'K$ /A ]T3* 951ĊEffCF>J !0OqoiQI 6B |+^Np""i>xE{R%>Zg{6Ý'sؾ}ݺSfzWS(mf[7nyw)k//#,cZ4쳬~xA5#ln1xK!#r~ ԦR]>~OxElp`mWSBlˮ?m{Xĩ␧!1{5HA5vm3X7}U,_.k|079$pVjsݍ6 jL-~ue䘑aOoO uM!vњ{g kaW-'qάvAWxL"c17s8=Mú1L.ޝ'aW]~=jXUkϕUƝf]8ID A6$o|Voehd󟈘|=7C`?ԋRUvEIT^9KHQJ;&¹fawW}aҽ0x%֡߸7AY/on W#|{jn[C+=C69d>IVWm߳/6_ֳRb㿐-]0.f)Sd0KHO\`YA,,2Wv!!tHS>_ o}g,6;mNne[OӞJ%O`.4n:y<'v{sZnLtTel / ]FȷgWY-’S${!YX~6!KPe_?g5^Hy[:ZzFt]u/G,5s]-rQSٺ~>uCJ{r0Z9A Y^ drfv/$vEU}ŲnoOI ]݉7i2fd 2| y{}nxNX9O@|37B|^|S"R JÔ4`wVC>'௨#&hvYlT z 7:P{s=X{}wɵR$z`1z 98H9̭?qd>y:A?ޒT]C6NםG.!̓G`Īui x~ jbaʼ6}(:_v 'Q[WjUUK rdٟB/uشĞm351 Ny,4OH*fheYkt5a/:Ee)͝|A5,٩FqW="Ey5҅3WP¢U:ҹvkCqyo?NAVh۽k$XzlTT̹5j D{N߁e1+_tw4G}{fWj[v`Lg>g#^ƴ$󗗠v*gz'7ij[{qq;6ou󎜏?¤ &On0!hzS|Pp}C>; H1p!2 N`MSjqpΞ4&VVNo-9̂VeB* ?MJܝdRD]5v? ~3q~'5xmTžҮnH5wwܲe#`Ps3^X:F9o~_{n]䑘X y;}AsYw u9TCfz@vqV$\_kZu\|YhY\{\iild N ?*&0%.Wä҉p;ӺW]_ >'Ga ra IH:%Q9SV4?7Zg c<'\.U\=`*k _Z@j'GS MgH$'j PBUT_<렆GshVbim,KP:%!qϖTB@Y-<2|Puc?LPT2 ϣgE*/ o|L‹#SFg;; L d)Y0./4߶dp3s'A^3#֣˒('s#:CmH'N^ϡ+\*c!q?G^_騬 Bks- τP;Zm喁a=|3wYXWpI`CuKhcQA(&]yK*@J>b֟-xGu˷;F"H`CXT;y[D-[%f=SY2S<>ߞv<@3:ci"/mM_V6Ųm̌<Ҹ ?PoQ<|ݯ-N*b6%96JZ[m d!UH>*)l`.ʌ)J\[3/ki(۷o݉?(kP* CUgb&_r?oX'ݙn V\Hh%7N-<0*GWNA,Fx`xHMNŃa2ɚWlA\ͲH(IQS'?*#r*"LidD~)([g$ܣC ZHByz톊4PQYn ڐ Og|4P1"FD1z 8#Sp0[@26sѩ3ⴳ 'J2>J[c$P/pSb̈́GKsYZ օBOpXfU54ǒ%M̄Z"#ʙC(g󊨐2Tż H!1 IŴgGc) `Wz^ݸ*+= aR@ LRiM)a EV͜aaq/4 YxYؗNQKJ%dl[c%sP7 ,%2,U l@pm,Tu:xhe=Z˼8bE}܊ Uu YL4d=GP1dT!=Ai"q?:H*T:HvxBڵ3˕]Y mlp2w+gq5іx]݀Ljqmpm36*q%o9}JYabzhdť PX_G`A&99k !Md ß `CS#'Tbu 4{m-?f$׷ZM{m($|M`:Y* 䟤h4e0Α %2Pnوd\#0aeJ'5|hgmPLSS[|BI[l2Ѝ+F`':̩on{>VMZ|#pXցl@gST3٨GBMU4~Č,R!U֌f(>OO %$4հC,`1<'"׍wBʄuo>Dp8u)Dнs2\ FxlZ獉p߸YKrUXrtxOTmf!<$JRH(e?o$C˼Xd="pL =3Y#`S_Q4|o?NuG%@/MH8Tծd4 Xō6Y%4,Wv(Jߧ% x0(@W b#x7JM(romd tQ9\8XEtLƳ!$gA.>>gfd~iid/APE )X9렒GR-R/2W(hځ mp Nw 3@._jwﵞuT{lJx3=0TlMxh6T:\f0O<4[BCH.c6:Jth#&Fͪ8f5d_ )d"%Fh ۶xdU8X5 ajH,*9ec46+G%CT(J{!.lMFF9W0qS_&.$0A£r`֙V +dlS&V XEb鲍}dg<𻻖Bw,K<< 1YzCNuk$v7, v(\Wκ¶z {  B#- ٬UZS lfRFУ@Ǡi={hZ3spI)~+2{Fd~V#_ VfwBz&hlpoe 6QILT*I0*FVDƝT]Xl|B!%fmK8!caBNIEXKZg=$RXO0Q6ԏncf7J FX?p]8^C.݃)$]~)Ǥ@}J{31w!}:muQFYD2K(Ti)aj4,b1:ѭsQKJe@`8T %FJjK7 ׈v8SG+sc.g'ycԓ/Xpq9sJtAΑ"e8|C&HcHMpEtBd:c:Df@EX]yr̟0Icx$Oro+~ݲ^AU&}B28L-y4vW*oE-2˙2vh*G~ae 8ZMoJYyu;=2eyl?XVfU Qx(pj<[av AyX0)+k67xSC~oQHQ}m4&8ǒv X`K(IFϫ@vAF /fFKq=Is d@;Ha䛉jjjпCp ,N6S!IOk"iB^gGwBW4mÚj e0!#>rh ] nދ 0LXt懦ǔRcG鳦b asð(qf nHy%bbKT}MD&. qE ~&Mm.d]ȖDW{ #g1O1ڤ۹Ovo:"`70L!h[yEj]!t_VJ""mCA1 MKǫ{9#( &GՀss7e%2FW]⨄jhtEw#6N5;ǚUxzƼ>K TU{3G0k+!'Ii!Ba Sc/ɏ(3>d N{xNdiCPdtĎ63 C9vo|nxO_&C)D\r9m7e߰DJjxaⵢز9#8ʀRz4܌<| `aJC> V'a9{w^eBY`:v!ɼ(MY 1kS'VJ RJ  ӒvS aIklӚ gpn#-=΍ig3&::Zrz!osPho 3*&8l^^CV% p? P8 IqHIft) D [%箞Y(*5:3C'gZـӴ_-ouJ{MBP@}Q9Wzc03A:%s?oQ)R,+2zlfb.;Б@i*-/V>AbfDJhP]ʟW +T3rEGu\ 9Hhβ2WRvFfDZѴ̆h1`YEDx hGC+Ӷ{˕;'w.(9zNBOq0yV88]k',P`cDƒYI̩J;49 SkF#KD5s~.(`$v2nYW)B/vss*YڋzP^#/Bf~P7ή2%Rڒ|& {;/zYn.p*!@7hM E[<\ؒ8P6`˯96?8?"DSX@n-y!@Lp+Au@ff9:>+xݡ?!Ҭ'._g7#Yk=n"NvW`88u;_5z64i)t7OQh) &2[Q0ы(Ч\S74J^SLcQlZBayqر9r6BX? NZŇ9"zm#zXhk`fS[L6xrM\-l:$]&^WIz瓵j]$iL%$ok^~dރxW"T(f˃ >O]PM]hR&$ۖ9a{ӕ KmHa8V !6htXE?\Cƞ̏ߚ Ar(%g@Vс؃4==$98E&+; k䰘^(*CI(Uev{q)BZSl3|{kbYa=u(2!Ƕ`JeR P(? kDS$r8?X3ysD ..l 9,ȹ lst6ڝ]\f=%"ݮk⒊`0.X_%f~^{)pB=9#(CC:@ӻsʼnjh<ا%(#O'SVU"<%GۦZ$+_vQW燶IX%QfRyLSx{mT -]'b>2g8crLP60Y%Т'=3눍#" = /)У a`f`y@r2܃b|l$۟М6<,*lTҟ 0 Cviy[Z>T#[0և+T#X#7naֻEevfW1 Z5- q_{); NcUmtr+REcV5, yۇ+:%[!aoo~rŬ_<Ѵ̡ۿr7p|"w+5̚ g0[_)(i*ۺI"&P=xgҚt6ome ~mŮBnjK8g5uuu_A4Ii)E">3;/nDZnlof2 cMh L'hFUՉNWvgG陧ǤK^0cFl?.:QQ D?1Ϊ󽘛PНr P*3^1/كd+S˹pIL煮 S3,fOr?ʠRl|= qS_M .,Y0Vp%Ep(=W x \e\8Y#{BO2IE2T^n=du*DYA-q/`2 V(D+6K=~?b#"W֌*"׊Yu+\@"#? C L`rMDs} > n겸 IgY$No=߹y{_9?UBQZ1= 773:NFƂw!O ;x 0,ђVmiˡ] ~%kc#oؾ`G90h[Y[$7Z+gcԿSE[r:Tƞ\`3U-iI^ԔXsJ,76y93!tWKUDUe^7H$I/"u:=51UME_Œ  ujߝ g9gPS??MLz(~xZJ4je] 2*BQ!hf_-^?8x>(-1")mSDDS$\-\jd,~uakSGfPa l%20b+v)x&" ؂~ciU1M %|_I(/ 4rF@(߅S?t,PDFws֡U\>-޻Kg81 "J$6R!vwعG%гn*oZE<~HXJ"Wl)knZ]]N,ҫl c:To1خ]&rt#i{g&\b{7J%{kGjhr5uu['dgu[`=P?GOZ^D!;C(MT?q_ƉTLYǼVH wPh4iFp]עA^bqE&]DhZ[2 'lL KJ'B˱%JpC 'Xh`.Qv<=޻S㊠悐~<ܤu<-olaᳵo#m k̇ H++dmRvjD骐RLQKE-Qoޗh -I墍U5JyQDt VA&fuKrS!c^u҈>[V&ho]J9y'? r[CG k]t{"Mo&X6,q59dT$' `9AL}]0V B ciw+-J{pb᯲N ƕ[ddޛ\O2u! U9\At,T -H)cfa9w|kn|Ӱ؝{ñVIx 'g[|qg@%6߱}y,᝘ jM-6VC\]o ƚy 9=~+3 sgj1Hw2 ԅU4缜 e&Su[/ю>M GY˭v5.NX:$v4hG-YL /tJ$c8$lR./\6R6+l*,q?~q&ZnXp5s7oa#M*YعVvWyoMCohݶk͌+#"sEa4ewű +Sfw8Y~?BuLcF:eL)CW G&P^=&LO=`4D(]譫jA).\0gfYGx/n' \7QOL y1(:S 6>&V'Y}C#vp{<0}KNs[.e];^zԩ Plb8zwo%)9u,3/ `fWzQN1C8ࠠly`aɭHToBa-5sħ01*Hٽ3pq[(_˗*7tum#h&]w 1ьht*w++4D@O(NϨ~H)fbbWY4Oeax(TDƽ 36gwX2iB"θj4x6;THۋGjo -ސ˷=áwd;gckK'i`Dv;AV%~HmXinU0:唲Vc›@'8ܱ9  3:#Dqe.f4i:?hquw$Ҽ@ceڲ~d.h>w0F~w[CYĉ(-tvew6F/}{{ z݊__ۨ/6QN+B\zQ+ɩ嬋M ^Gp&ZNH&[o^wi|'B_׽{ 1$c&n $-UYTS;N1z$OfMCu(k#ZJXգqˠOx;h'tɱ8%戭()?&*n><)Jv3xd^y(u¤m'lSN+}#vE#b$WŘ_9Ko?;_ƒŴF/e.:ߓ"(&A\6?EpC`<`}[eb&(IϊKd_cVpFf:Ո!x * uܺ0sgRJLzC>ߠ7̓$~s뚶@z|Ec'=^xgwժb\$w.,գ՘ZdN]kYVFǚJGx2D\]>zN<mu¢l~V-3)N@T ጆ<}=>?"k:_Py8Υ&EL<>xd]%v\uwz{B :{Wt|Cyxڸ >)&U_;&AAVf}%`t`$In˙8KqZqIqc{U3vU&ƺF#8l-{?y) n۸t=49v&QߌH`] N"b|)-Z,+z}X$bD9Ucԋ5fKXۙ01@5?U F< ځG҅>9R0Aь`тW {z' {]1jOR7 *"|3tyk\iԕmDk" :Hdf 9}0uL$z73Q"8sDIzu^;hgj ,^Kȥq?}ߣ"ϲ?+tQyazW}rjK"zNJ;3yuu] JyUXO;8p Yw2U#XE~[ (#ZElqR8QYV0QX;$[^ABmzI)>%4;IEi|c~z cbN_{S[oSU?5T^v](q0sΆu$(HSt7Uke&Dy**U6%1ۉ^^B9i efJJX]?) 8:0 ̞FC[?κ)0jýjZMPv j.NJ;ÚGO~V.qGk _ еT\j}ۙ Uz,RZaf/AM-rGl,#v9g8 s%+th)0512rT|xJS6KQi;N |U&CC鵃9Ɲأb 'JUT,e !Uy14|FE$ M6M)ƃFf!VUc_ay2ަ_S-bM/ X=OO"ݷW,N LnETbԿE(k=N^1f6Jp~̍,|SXeHm waY S(Dbr>?e<(=MV tBq)oC/3v%ŝv#*q/SIp`ɓ荵 \,|6y4{}#gjܷgu  +{MׇXp>SӥVf m_7  F(7lq:1d`hO\cM*3NrE}g,v@AV! S[|!*E[XJTt YHAs2<ﴪomrXÌlT;S`by.Z_.u~v@$3By)nbow^1A\&br0[CϏ %hY/6|P<~E L4%OGxE-ͥfVj'pn̚Y3mEb,t"@0uQ95խFr-^(cHpx} v_[4\orL7ۨFoQӪ]4r6i1ik/("qݑrk?~4)!ԯ9Zv{%cŀ#{ ]bk̲C>{G@.vH g8xE3"CRu7~ǝwLlH2Rs(H;M6zk F;;N=sVL#!\nF,mI37 L)@7gu@<#(V({ rBRQ*x鏗H鄨¦T[٩eU=.t!wrv zae]SNVyNq>i%pZ/Xp pٞAbURzJ"ݣ>3IڪTujΔR{6n3hLnjՌAQeӗѝ-w͜xf[U$Ǣ  zȌD4[j*||@( ezY:t<ķ淌zbT F(?|p|N6cE}(} xse'hv; įX{_sBu}`SϏaӌ8H<֐Iu}@o(tCi_0 C);o=H7y{_)pF >dE[qLG9m}Tje2w`0ۢW8F-x DŧF] stj =D*DY!T|p%}S=MrZPL[at񗍍c_3!{\CbLC48NBMX<OWlJ}8MA1<eU㟕Ҹhbo?X PBm 図J_ҫ65<7 "uR<^q9RƇ 7`.or\>@b@{+#YK n 1Ҧ.3*&D"z)`໹| 蔐iD(rGXb"O!X/X 6Q4QÃ3*+c]"ags7vP;)oj-v;e͝h汞#I:ۆUIXp+춈?mݲȚv4$ RD+ c hBc ;+qY7v{S2븾A|5B]\]Hp0*^4ń1#+C˻`WNUdDF#c+Ϩ /RWE1 x-UWT p“ӆ)mJZo.w쟉ޓdj31n Y\3 t7+[W*tM̀,V^qˆ V8Pw N>t3qB` 5.gT$lMNyAhr [9Bk+"BGNLE|Ic2_L8y_#8Ya)W=RpI 7R]]W}qc.A**TP{vPzY1'Il+A-/?hvyQJ9*HPZ{} ݲH3("K~4=xa8W,?pNW@ϙďpI. mJCI0i9\޾m0lC)|/M^\z|%Y!c(bB{f)T^9Fo9eivwIM46M!]鷉x\%Vwo}Wƨvn; \%LdDμv[_E`Ӌ%^xǷWXY^1$ ~5 :jiHj=y퉙HtO31V3dvR">Qg$^G@_a -պ+fJ|^/ڞ>;$+D뿅,s=ys"a%#J痖9 ȑ+)ghbd `G39(?Gx!V4=Xli ے,4km;.MSuiMrI:B.^. !3)*jjrTj{-=Z@書O*rgXAaݪ"a~ _OWLa)ixlVہ*fd5iXa(Fqi<㞼n!3@ҎPLZB`JF~dfV!oDW'( KS[ PO ?n}I)yQtNX .F=]|܊V)7Z{ Fw '9SF)iߙe&B:U9K!n3"tDH(I .P۶@ifI/hx_û%po8~H^ճG9l6+&>^C灮_3fZSm}+Mo Dql:W ;Q=?n+؜- w*B,MD O|o; _<cЋKoidQϒ AVfWKfa2wDIsۈW=d>|u3 9J6|:DGrvAcVB;Ei%K+l7ȋАgbB>A~ŏl/?mε)7 / '}S8i"U]ԓ@Y^'6뻇X.C4|!.Iw3ii mi3}+(A.L: UF0-l$b.js ψ*—SS~b Fpّm2dR*i|S%d K(FI~ 9Nc7q- HDeD5KR?*ajBJ#55DCMf.m!aQ&2쮑z/' e;ΐ}d olzoB3:bvπ)őؒu(ł *2>5ApNǍb6Zڤ{g}5*Iof+]{Ki/k&ʻٗRdbCQ#V ck,C6ceAl5Osf]s ﶖ@硘GOPFi߭f; k E;1uϱb% ѾakϷ,+5".JO,; ^k7`u%ԖJrA$4ƙ{F <@ubY}7"Y}wCO2Ă~N,& mQՑD7[dD~kˀ(ȭB:5?ϸҨ&6%9];ҋtNHnu8Ixej\6rIlnzvN}pͱnIr|is^KNwYߥFo4hFbF2ʭvf:8 n-QDq %%k90FcZW y='q=wp?F%gp>'KJɦ"qT3Bw^qQm8U->#Y:aSe6iD걌Sۡj?!7n?cDz]PC5|9;XvDϞh ̏mȈ)6cD#s#Lʢ1aiX5|6n6nNvZ& pS@ڥVʃ53{s5X\_/ԖOB*p74(jjiв.Q9u'?~,{Mo}AۇG_Bh3,9=_<]nEfKCO/jpHJǖN?0sрNS'h)3m2 0[[oxp޿aq hj艭fYQ4&[6yge~PTOBg 8Ϻ@~C ωF²ɍ +q7xG>AxBoʲКEr""b,i޳ \lmxVV'n6Jۺ@GnFtS,laId, sM&O\%fokaIU'@d<{}a-X۪0liWP):z&րT62UJbi ٖ/0wfh,UЊRVq>B%nk1`NY(2ٕ(Z^ vL emYg ԍ:0lی"9c$j. J9_[,^|gB6uUW@?ăg\٫O_2zND#[,Ʀ+6].=Ac8Nk6Q~;󢕅:a _@aU |/(ٜ[QO;S%R2 xR=;+yztQQ]ZBXiPZXZARZYzi$%TDia?|gy33<z(f ;] C {r+6}1)K]+L_#U.[ԯQd3mww~3wL`WP7} &G5 qxM4-cޣW>P/啼b#a ]b6[ǭh/D~T"9*O1gưfv*5W92u# .C7g~yCb"P iM[f b0{9Ui[]Qh /6&bӁPpr%%JȒbgcU%dCƨViаF/^|Ej?,RQu}:mwjZz.ljp l3dnEOb^( *-z N%&3R@0v=Bb=~Bψ Ls^ejm뿁[\f֞sX2`.v# wK4k8Gʯr-w2׼wH{ƛG'Eϧ *VŪG"h]yA%C]_RakhKY{x~Ȍl-Qe O׈K)bu*gV*L>ni8󅴺_=u@]Cg\z2yn\{ėO?h XL-If&okWk+1NBaID57z7{oēw̒Px~bfp@ܾis{Aٷ!L/5.m2{ r!bEOEw_W8t;%ק?Y&'wѰ/UЃ V>T. `eTk#R7s{eٌ]L>OeC+}c78\YrƒUqϹ/6]t8$mda?ږ`di.d7e¦w(yk_<= I$/i78d6_ EqVKN% "Tu?y*y`2$Il,""BZ+bfs^VQ\h[.6ԴjZ_}5YX"3:;TO::Zw|+ [|rzhܓF[ H5voĕ(iEߘb 8n M'nc*@A"aYwn@ڵJrVZţ !Ij`z5Hb^G܆-M{)3w)P'\[J-+41> J{aS73xhK($2左jHw?xwvfĒ XAΞFy05'F'Z !M`'g+ݿC+A޼z_4Idm0K3՗" UI>7ֲ~3-v<5SgXi7ߴ!..i*[=i9M_x/M%|)=#w9z=KIAo4a+F]Ɲϟ^a-Ɉv\)Xw< Evbi=3fP ޣ'BǗlɼٵJ !lB$o)J Y wi^QepX0_/NY(d C&k^ʱpĜy(!{4kʍ,YN0=BF82dNK󡐚$B{ ;Ѯ5h7c@^mbi !zycע`wü~u=sQGK i!ΤE p*a- Ls}4}TB% j &/V,({FxCMYh=8O=Fũ c1Oi~ou7p[Q86|BҘ&+F%f(ρ^L<ڪK8t\nr*"RQNO/ Ů4);dIiܩA J[wƹ[KI<+p(Xf9|Y"~DVWyG:fP)/+L'G`D0y*SBnGʖ1xvYsdgHwdteOUcK:k,$8DnJlc% 9ǗaMMF& 'ADs!Su^\;q^j&Q "*!$'aAIfNǴ~"%#7`{2lNi|Of8*zgM1K5{3b6u u8(UPd*yr~h=A~4xѵiD;};6:6гrv1 ԴnvKlyߙ Oӣ9E?v`&'3a,}( Aڱt{پ`|[J/}p[7Ӝ5sIqu{y_ϓ$%PR@{Z 1ȷN஗ )d JmLnj#>9qqӗw\aAעo4tn l36 4,,, >)} W}KsH>W\җOꈕh4!|Q~CoԽ퍸٩7W8ēy3!dw R/ej@~HF+#CA_8qAQRf<E'%CgA RJx$cRya1L0Ί8=cF2뷗b..zNk dD 1(CGjnM&gz 'b/fQc5U~)9c^6TH2خ=#0c#blNG; )s Z]*`ȭfYn>Q%[!L'1KIg+9 ]lk%|:^7Yǧ '&9"C&5^/Fj{ٜmd|hv_py!cRVh(l2HdXUŐʁD>q]9$EWTkC]=48,݁8;|ó.!m) ;T9\5[X>}%A yEBBWPe"2|O)qe.,ZY㹗RIm"DVԴ'cAEՅ#IӸ{bIxWcק4p94HrHVd|;f[{p&l@ə6dwoRЗ) / {Y}⯝aA9O2U&E3:4-8pBp?륥00KFʯT8HKp*+R!a8oQ'@g`εQԻ&MBjJ;9>ƠS9 o\4{@$B{Ij:Q?YmE(z ^a &4t"a=7bh}_ y-4\@cl̲ܕt m);ڻ;ڿ>TeV\$ !A4 pYH ͬE@U0n{@L?H5 %}߰Hhm`[:[.jr.|)@GHzv;}[N*tݓ0玝?66V$ip>V-0wJ6mƎmeM0;Q_#ߓ[JV!Y,`*%.D: `2BV% j|9DݜT~Tz-֗*Ö j tI΅sI5NDp}Ud;*`{ghB+!IA"`R^W?p_ou(t={gA+fv6`e_Ye\$D#B3:JU~_ *@ͧú6Jb8BѸZ}6pzG&0QḃY`4.VumN7 ^yjv7^ʮ٣Z.aO鶒IՇzEgG>y0N#vрkom> d5OuxbG_|$1dREr} vzʟj:˟֗LU>&E6EV=/0_@dyFD<%iiJ헁P/§jw۩:ׇOZ}J+7a{%AԠddCVNvr&+(ؒozZh%w{&7A࣡'@'g{'ᬩo|.؃1+x t.jWwۥ\Z]{IET`<ܮ;[O!ۀxs!7 !PLJ:3=7 a?=۠x=h͵]_w -z B[L9z.ՄSOκ`H;/cכ%Z3Sq e5ڪ*:o}nYb}kspm`ˀIV)!X& =c޶Ω ouyؑ=[))m`+*TC <}L>zzczndb_lcm(} = 2pcƜv&vg| r%o5o镹Y&Eyl|gNu 'ƭvY{YI5G܄GEK4P/)&:VTAćdPPr}}?N;χKp WXt}fӖ%J0X6pշ9;6'ͮy= `Ir}4(}zGkD@R0kRH@0OWx;b3GM/.:7PHm% %9ג*W<.Q@v[w O5[lmXLaKo>54 s1q[v[g^PZ AHi]ox졾j^WzV\Wq; sT׭Tm]AmLUuAwRd޸΄qg;4Fpta +W.Ƈ!}@Ljhq"kɍJk: AבTكfg@iwf#֖e%*\v[<B$yuVBᢙa&SGG!Ȗქ! Y-_9J{ʢ 8vتwD/a< 45U?k~:PWbN<$>Qb8ɾwXsqpjwNO% ydt"SDf*,}?ۍ8OĸOgeJh5MLMjHB,}\kX'Z|+wj0U ]ZVX!Vh% zׄ[O/[y3揯(N%F݂c(hV{|45%~i ~Si5;b.]JsecZUǃѦF|nBRh_uSv7NE4y4YEK=ocㅎlЗ>/)Mx݌ǧ1,3wbBp$6M u#xm\܊ѷO5xGⲬW-ƅUAGXX|\3 WC b94#8C"^B#4솇 # b>4PEE2x! ǶeA5щ';yRz`yAϋH!#е PyY-N(zȱ'̍3׹x^w)u3ȦDً7ߏ>gF24qg$M,Ti*wͧSXD خgIT6RN ꯴)04XR8}?H΄1V] (8LMv u{NX8l8uxI3(95h5J,71Xpl\-(F+rUrvs3_q (ۺvG|ez2''Aq{wBHZҾc~HJuzͻ#:*,->D1Oaqumy|DO~p^?*J4ڔ%g~]~"{4`IT훒 (9o2Od} [Lڡ.1ĆŌS{_'+oXG~?nƯ||gŲ[=0[>}x<^^x| ~'ס`A򺽑1u?(:YoQ)/Qjo=_ ߹]R!fVN=; W.1p вn bԂh#YKwf%NLfIZsDV&6%Pq[ws'@%Eͧ*'V{"Ru:~^LKnLFBt W7 *:%"7Пco6]o#e'}i_~תZ0v u+Ja}/B&$_|'DNl@܂ ˴'&6Cwv.{gݦj|qmdq|)9 #ֿH`[XȣCC "3ǡR&޻]{f}hwnsy j:]1j!ihwGَG 2w{Nbe8?Ar6yċK+'Oد5f{=ep 5%% a3G2Y?,O UZ|f]sF^A٢&4dH &qCJi'p)pPՇm]`gR"C7 {*EOū0Pk!]B1GG<(ȨTR[#oS:8J>h ١":U q?p]r`Q se5\S\7$gt30V0zWm|A"4\?#p WCa*׏AoV0YLNhl,!O!iQB܍Xa!M|FLSRàrA^>~%7MIȌa s:*v2!G;+'X}ZൈU{&kmN E"c̼׿$ y?¹{?fgZ-!v$1;[p*LdNT,m`gj*_w&CqVMvqcے3O`v<8PHSP"ΌK'3m>H),CϒTMav-{dž$-=Ŝ>;xFGS_E[R`Am `4[DG-=U`bZ3Pf)zeLRFָk# pFƝ={y]/a9 4z}cS޻ߊQK|)k<ܠrç `U YUޖm"G1TY}44k'N/#}ikL$?{xѳH7g8 PI_2 E0P[*_||/ G ed(X0::5F2 )zѓjS6Mbj5/BŐHN +BtX #Y*cWsM?7cbk d57_Uܢ}VX FVrF`:?JMIp@pqVf@_ '(6anzA>5 2+12DzN#2nNHFxI*}֙CgW]*4JR5z2mTjOV~w"hϗ.Y2r\IW`;M#^#9A ؽ9I<{x'ė(;Ô$ |7}^Y'sfX=Uӌ|G#1.sa x`9r}#{F 먞o]EG}`i1 ;N\w65ґ x |#ʬ-mI&L2Ըajbܽ"[X0t {ق jŢNDFxWc1p1  vj&H44TcK' rL *W,(=Np4W)uf8oAjTGh'7c){&,(`w}|h)XY7<'$Sl7blV1y{ߡ*h81MUωUfǔhuL}G_e>ԩiP*h2E,r%`HYUMxHw 5&l+RIZE q. ؍q|Zm=kO\ߓ"`sZj;iݻۃcچS hce!QpnK8Q;iNcn 0y)UpF f>%5Mדٌ_n F ~0Ѻr;). ZQ焇n.|$ޞ?yjXP>beeadDסQ­\c݀I\ߡe6HW#~M18o=tzO{jŽ6pIL5sxϖ%5i+2syA. |-p@} =pΛB죏Pw .ϋN hqQ|?kss1an[`M$|[5gW)' ==&T39pAjК`k[LzپgM\p&a.nQPu%~\'ӱfwk[cyLeˮE *~-k*)N%M-v }XiF(#ȏ{jBemR?0^8FhDo?vxyxwӖb;Ѝ2.PmDz`_]7<  N =M;^P/{KH _c~4҉n)t4 ^.Y2WT AeO(g\;pܜ} D#%ԛ:!~p\WEV aݕiAW =9'n>3goQ[3; *ně7S+G[OK2ӽ Ed':4蠑_ F~ɷ&鿴To:_0zN}3[{[ДfBB oY c6zjR~AQtj\i>5dWSS6LMF:F`'c~H{ھZ_έn,S}ׯ9~O<-Izo Jk6h4fVQ}ONmQ( (̿<Ѽi'iaI9 L\<.ǯ!yal,j d"ԆJp~IVRHz oH&mBM=o$"\(Zp Ag6yizLy0г{BQtQF_={~;of6[Syå*/-WFc[80咎'4UZco([oO%ը OU25APW'^sf!1E8ZUpjlR79S8$T n}%1k0y AJV렧(ac0\RƝA'9KVCcV0EHhrFSr{ШŸ']nxtxv"IƬU%ʄ޵ `êm{]sr'oQ+ %nX•nOu d4)/m诉%.c\34NX| ?F*5G3 fT.DaLJM+`IkA` mig"R'>2A2+ #V{y)ƣf#lo =z;(ul1V҄{s&%6A6ڰ@y#sȬ`[7lx;$b+ ?dž!8omE"#k'o@3NeQe0ڛpѶǩc+J __Bk!B͑~y0>=g&Q|}U^{KG5lB@@vw;tᘓ7jX'^{oUȮOkWecpCLqZҫRhH&_kF>P^6o^I⯰AҘ|$[PrH-;$⎹iVfZKV./ AduFB-vފ%aS (Jrs jR ^$f3(2ƵNEJ.+Ɏ=u9~Y]i.bTS\J㯌"\e?yaw-AѬ%.U*Fy4d ºPi5]5$j~IIrd n)8^ #,58)m2g˰lC⼻* -!;kf ZCM 1(RD "}U#γUގ(Ovd_*c\OT~+b66um*Y<1ܤjrZFP8I6 EHO ϟwyoFզ1[I?缿mGd@o2d]p]DqP-o̘q) ?.41\yjig28wf[Nd}(!NA"sdcՐ*D*ʘ3bQFt'RzD:V Z3`y6j~u7Hg$Ȧ\3C \hj(.Bah5J[؆k -+rbAb-R ڞ̊_p_&VKO;w42ͣ%wЈ'L /uGLB7'w cWU&.- { @ z0%윎HAQ{ʔ+Y}l/۹m)5JysG9z =uQy_6Q^B ym"}ᒵ,S7 偭'&IpH`ʵxd4j'PlT\P-vF!C۪O [sB5g 1\hmLϖox/*.t(V|\'7cq] D("BV5CsoFߊۗ壜dWMάEKq+8>!g23oM[z43`*:2%aDˎ\GusSoFMZWE>| SH~CI*xN>B>Lۙ;^-) QU~Wm6#(!DNOA&ph>tFH5uY!`l7*x~xFx_8-n:"&tF:7 ],L17Y4:-R6g,Å.b|#[,UqH)_ BHI"NF cA|-ͲMjMP{JC PdK*zP"WMZ[O^]æމ ұV.,Yg+ly7XgH(ڞ' cgmU[ڽzcҚt*x+E9]$g[Ic3:0X,`1[h%ɦS{=dFLŲכs= 9 K;3$jkfQXzd3pLD+1ܟ_x{?eTpp Lw?G-gȡB'+ԧs\6.1%m']w&NGH x~r/u:Xx@D PջI( e)e9~>{˜+AqKQbZ'atSOoıFqK Fc L'̮}Z(" Wd_e\Kĥ*JR| c7L s\kH~u9oEu30tj?dmX7B%R,J&:MO'q]z@{.B৶2W\ht%Мt} GCJ̠+ukX ru_:^Va4l?XsKip5w7ۈGe5<6B|L -U;C6 hk̲( -Xm EI47&8Ffk- U\ D",! A5-HadL*4㘂 G*ZBK_ '2AR5_k,nE } )(եz~N ,TA{Z &lAmANE.U~ʲ"l7X#gVbqU.ZAcL\H@q'iBKO25f8Jlg}1fyV<#5&DT8 '(YPB.+QV`c!y20 Tn\Q<&qiP ׋=1;#7J+2ْ9hB&Iq4IiByE4BUOS8e$8<6i욬WلKx=]Xdq2qO߹ڌ)éLA^T)jiekF e;% QqYfCt(-$4KQSBOjC*iay>.ՓsO.=a)& *P纲Ds_ZU*2'ȗ\FjqéC,#|Bc;N\f:뾬*:X"A}(JȈ e4z.^HRf{kxSyDW?jSiC%(bP)gq6 Wj |!XbYgx/%\5"+1E}8zdd͹wip nY .˧̔Fr7T$QvqŊʸq5 ϒfbC"dzy ا]nuqTui foa%E݅ݑAzyO?$`Gea ZJY9S$Q(U⼘~":օc%IlWjzw&RDq1{aj Q?c7|rޤ *%^)B@K案Zz̺yBfUVZ$Y¥ f(87QaH{BD+r 40`JؼiތľND%>+y W}aI#AGHF*~!݆2S'uI)o/-K͊ Lɂ'[ ĚIjۺ`KV"_Qy--8r;}(з A Y:UUKjI7!DE"/Kŀ%O%&hr}V h=g3j=8aNhyU6/q1kn\?k{RB*zhnLx- sPa`,&+iu"qk$ zJu<d+'o:Q$ ͞fi@CuT /wc >'<؉VbB:̠@mtV5ֿw7K;>7mP!w9pZ aЯ=:j\Sg ҕ0!6^>.:0ݟ[ ^<.@c$j>Lzj3 *k"p$0)%<+k#dwLRRcL!)c ^@RoBU9CMuaX^26(9+,o*\0coa-%=>M^($C%b:.9(ZWObƞA2t'ֱ3WYCwݥ/ g*עqȋdpWepC^nI;fJ(?S:μbL*gX-pv eϹs3ke/aA'\`7}!X1lۗRF+1V 5t*Ba`H` ̗u9:ަ7!,zP{F$C='wUZqÜՅ8Rߨ,ا/;sfyB;+CQ,51Ҍʷ)Td[x *«SoЕQ%ט"y6_~5C@v[HB@|v#8w ueCuYoqzR]Cj:ƶvVv<3Bb4/X}rO+PUb_oЅӽOJ!K=>:Pi Klď!\< DI%%I~S`/(5ŕm k"NڐGҸ՗R@EpU9HCnHJ,ۇqDW/g#&EX[ ʵnj @qq<qhAz^9Vw_e|Dž %Z@fmIn7V挒9N7 _)ӝrΌ '( .km0DqzpƖMȶQb8f4Do?2MO4D$u`}^ ^o}nS |f"42& c6=2i""#- Ee:$QV$VLu|u[aM;A &?%ps'N! B((.f~:@mq}H.y;=0qG64_Ud@պB]P>ԍUp@mVM֡ONϲvrřQ][iZɬ20n)]uK5q }6I3 ͑mh'Fӯ efg#erK><{ #ilЈǃڪ;[run8F::dx7kEM3ÑO dK?DZh?oh8{[ՑB ܤl"%?%*AZ2E7(h,>bUDdKVKҒ88QBE\gv1b{?饅e!rJj A}d2+p׼ S/Z4|DS9t n`ү}pe}h#9f+۲k!O((YE\Sv驔U}̢b8fFO \59(XV<vkV"U.Q/~(& vNx6nPaY2h8xԠd~~bw;:>NR*C#ҏ0O^Uv;;|ۂ%FT}^'>~B1+ ;C TB%QFжCB: S%/z*7JCQLE#bkA)Woqv׫skRqp-@`A`WU|{*M;]ʹJ h5[Zo?GI}WYSȿa}ГJhK"͢a)gKyjLjLBŃhTm6-G]=1!?"a4lyvg (۶`{eՖٿDA}~~Q_֧(d?oO %~T]Jk5vśp&߽VPPYr?G%ΘڈI\9j/7շn6( hXxOD3VCi;sS;vl.DHr|?&E'!~$DFwg`GeB=.9us3/[YgڍbЂռ $96W;y& +]lلʟ"lvG-ض/n7>N!M^=& j+uj띫qrLQ^F 9t]]U-t>ߠI#/O 6AΛC-/ o/y(hՉV.ZFQȂouPr"ܱ4x;\r;8@F 1 FmT($bip.t4r9z[p'IpB2=ubHVf7q~7Ÿ;>n[6*?I&=KIqt'0 5~BDp{țCO=җᨳ>A0BܢM_R0, UV}r*jE<sŊ1́y/8y{z>4ƯPD>yZ澏X?fo_6o_׺a fqA3C蚆{YB~¸0#>ErGιZ]*$&DiRBe-H;~_TI ((dq9-P4,grMV.띓cz#z#MzLcKLDjssBvo(\Ib=TF&C;umoʊlXъ۶ƶm۶ƶmgk}><9ns*Ca!^IMc%4n.MZ55\DAL_og4HĸMAΞ:'%}0pbR,dhHq xy&J^EYSuYƊP"NɈ(';7P9'[Ll~8|9|v_ @(:B&_$gy&sKx L|nޔպp84{2Y瓇E3aJݟ hDUg^eŪes@9Ser˘wm2Rzgb]Z\AڦP0CK|JiKUW+FOͼ0%OD XB 嫹? fdf'uʆqN~=/P;4aYQh9`'m?o $T6?Ahg.* lB.ocHBR a \.fX)A>JTgv7Fڒ7s:A`ęGEH|B10*,O.:?Q !Y_OL_ tS;lu+PE#H<_~va!QV\ժ/ /}TW %??wN$W_ ~"n-fmpZ+')R_y}|TW;`D=_՟&[knfYRk t #7__!r?fy l/\Q.rΑY9ʵ㖲%)Z %(sbG:ƗxJ *ͩ"U0- f1tiC6I#MIK+IEa v88\ فypPa~BCbC!qxx4h JI`Rht\sA|hW8yi?@~q]1ڪĘN4$"UiYI{.a8* V6~n1լ]A&r YN[2Acۿiuo֗nZ~.~>ɔwft抾= O4n#DX(b73?,hAc+l_^q]Xr0, .>pD5]%UP?v;XÃppg4We?ŤoU͹(M s U;Bwpx9i*dq>Q='뼑hQzc@X&9?|@Misd"uu C_h NB=qnjIAJ~C=8P,݂<"TKL ى[u'SAG4Zb<ғ>˷H>GZ;;,bs J:K+#H$ $Cn6)cGg,Dl}~&4(cRQ WQkYj$x {Eb^ܓ8'o=&/ Lq4>]ZL^p -bRebw\¸>_O2|VRg4oNy3;&ӧ\>՜]lV\6ּ6?򷆆ߵ<ӯ7k&jՖZn0"kh(-&Sp]h8hlP uwTc)a~\]RF "׮,ilq~-uU!5xLF)OyW̢"c5r!B)]{E6NXPVxafM"Œ(7HN^3sԿ'C};pā*;i (}t1glTR\'d/%5N@bksp[j ) -#avJ>l1g(j"eyrklCrʫ@H\أS>w ];!e&'"l4FW$v,:w0a>-G C?Pt]] %$b 6Mls&Fv7v^[ d=wz<}{Y0̙CQ*RCsű籑IX¨ D jzkOsU4sAŤIAi i1;Mrc }4n3JCA^.зW=[9;o]InhhȰ1fJIx(-gGaS u Fßξlԭ˜yxm*$ǕmO#5̣JR_ڟO?'^7U5F?Yw?7w >x߷u>}.T{Cd:8a2\G4 V೔CM~lhHe!K\s1R|CSVSY緇?"ͧ^Gwp`u_O/0>}.Q:}||Aԫ3,bߘlBC) 4kYݾC$Quy~1Uc`syEGj'\"_9̙S 83c\2 ,I'gYam"S'j#ht2C6ˎqzD tGgBNG!M7CȏGhSzڼG ڰesc{U7l]O[ވVo{ZYC0Bé"d t_ ]j.hO 4а:$\-\ѪDh\F:dy*볳ioj[M:ؠe-r-tM,.Y){-¬+k|<.}VO_ eCqeLЎ ry b%™HIG(!RT  5YpWڜ8ǑHOpkڋ6`2 z,BU$ɵI**FRk ,ӝBq@#恋IiR9j_F-^H 2әD U"y@L&_ pZ[}q~IX8SxzWe`7}w ?>Gm |uÑ%.z}=?dgfG1>{.>nuӱ2V겦WJ)AszN$e읡ŘGϓ𯔆bUmd"IjkK/[d*l!M< @y0ĶdN8\o$ci.r(10Dv 9AMx_PMHLG7LbW8Pr5!mmCh6hQ&31-#>n6fGIߘ|˝Ᾱۿx#@>d=DIo,eCϝOχw'(Hg:;ƅN/#DYfika}ǯe}M#yvXDIEQf*Q-Ӳ;`{D 6j{A:A65՞ȫkjQZO%֧K椵 \pU!I A2(YK/.h$;"$f?ce$D4_l]\D^z.H?.FI+T<$,߹βHQ?y@XdTboEy>WAI#.̣bcBSa&$(YWd<hq߯Zi\[iOy נyZFNJ/W:7uHǑR4ˆbϑ3&(0g#B$n_].Mw4El1@(`AwuRvS,E n+&]F ]t_3:z1E.>1S4?<~dnLT K7R̘vudMZuجڴF?ï(hm_C&R)X=e}XuQ}L1/3NJ$Ci _Jfؼ!l`PF|o~qp61,Xt V^|aܝ>&!®1 oq!r*2NƷ 24 93Lu# C^=/FT<ȚopIK2MeҢ϶\3yGIT׳jI<@@ՇQe}mqq^D0ծ`{QBX z(Rx_ekw;sęS\(42(C_Eu\yp[~K 6»PdĽ@BSFDG>`ڲv~) 'pr6Ko螈8y3yY~G11x4o8#j('Uk/ۀ2&H,lw cFJ9CAN>Vb܋A-"A&*bu_MT{EyhN&[I'mT!AGN"E]~(E}Y!5+dƔw;qVv ! ;=@p W@!o*sB 0l%9]'6u;!ѱsBu.ʺq2mk_9c!Ӟݠ*F"(|"Ca t(/&q9&/LJ}<]bsﯣV塴9!#1䪤Eef]Oޤ7Y@]5쯸Uy"fhTr̪53FPMO쯵wn/u8G웤ۋ$竝/Pܧh+g?ll FF 5D(›2yR\Kl"¸ R`Dd6<e@h*Y `d.'\kd d~V+ 5|`z}TҴyu5hyX@6tؓ@6$M -?rY-c`g*ͽAJǥ%YXuj(N-=} {ׇw]N'-b*7r. .`X)~(x\BANhf< ~ s&ׁd),=;y & pP}a|ɷatHNX*[P:=cʌCX)74yaӶϡ/uYe|6šJt52k|Tڶak~i/. k~ ;f'Z"T8\(+`rۡlSEk2gk77fC L֐V$Jɯwկu;)ibB<|)u8ev_9|]n=~UL޸^CdsT'wd6ˇi?e+mEq  /Qܡ[r)).t.-N8=2%('\4oH0yc =jya83 518ᓴ Q;Wf2N1hZ(z[GPM€$C #8kH%ˤoer=0RW S3쉴O:>I8zv r~[!%T"{[ٟu~AR;`gY+Dm5{8J!Y% ׄ;0!@QZuN[\3# Qy)_(Ϩٟ.wDy$a%OoHAVr)Yss˕ϯn./l K5㖒M%`b @Y<;'bDCVF.;u7Bb6m`|qf1lz>\".z<@cAZF,zZ|%<%\߰U̜,ZbMd@{7Alr׿yh)i('"ezAIaP|:^,6Q!4hc3+I(in2 5G= *Aٍe3}}T ]>[u7M"H 4DJ7nT =wϳCn30g?xߴo3[( )ń[O2&q.\ex!:zHSzc@@Fj]ʺJHl  X$cfװƚI[bִtU?\K cFWhIyoNfM*ndqMGyehѸ*C%+Vr/B *֝%v|$jo:٥'ry㗺v[׬1 &1"Lծ{tL7S7s'N OcTCy؏&K|$f%k]%i/c6{^k/[ F'\Z;=BU*-7:3DZT6lj0%a~fd` .$'J++Jb GLH'D[  EwsSMQ6HF|1f,4O#:*i^YT.: '.%^k+KkWPrswlstz Ɛj*&hh⊃ie& , RTJFfrNoϑ]/5/ʵ%uncY5\'gʃ_i{N/)$NַTye68XcPs0NzWu#,afYet X^m :(xv~܏L S);&!{WA"]k-" O*7M>_;)HScWT "货Ohbpn ǑcTe͐(& \ڪ ԉة΢k?I߂xͤ#nT p9# 4{?6fT׭Oy[~'/iK_xX Ur{ɧkѢt,,Vq CbW(HMyTb rP0t=Y`l'#f=r9:Te|nu px=IbS\LVy)%1鲹YjX}$mpU_+8%," BYYAxj>e",oR>WH[pYK0#,@]ΈҐDꮔB/'vET)"\ۇcj$}\#7\ЛLtZa5QB+ŝW@ X7홷L~MbJXN-jP*AK-5ܮȫ5/4 G_kCEeҴh:ZCVݺ3.f05~F]S9x( `i4+ǁfuͦkt /ҤAʵdu eoGRip_v{:XUh,&vfê}<&{f m-eMniTA9)0iXU&n&=;̕ңWS\)w|*45P)IJofܟO[_޷0Un5Sb[vQlBejF[='>u^\u~Ec :EEE"d[ud$,~_rf&6$ SV%d %Ƞ. ͠ UIVC-d-vo\1uh,m^COw^\ÙTl{t}M=w+7Da ߖ`qQr5,Lk 3 m>V9g ?f qVe_$Xdo'\2|=,_EK(ZD@rm %~][T^{~]x :vld4 KZ3{G] Iqڒ/7GM loe$ nhWJM83؞:.h=_fwK>py?{/ ~sK{Y E9Ç#54ljR3Fg G&Rp_9Е,C_of:sS+MvuREJF8u5LM[[\g=4[$UҴ}9VPe8E,DUu#v\+D KqSX)0jK'ɵYư(ulwWq sIj}YIWcB38HnG2$X{\8u0D'&xb? D#{G1l#֞&X"Su~x~V2,.[f/ո ^ĘSdyX(ƽv1D9 pCXR[5OoP"I^-GmȽgJ`IYPQxu*BI0t}Y ~kbkll(fj2 wwKTʐv}XN3ay.ܞaKNȎ0Xu8vӄcu+5f*kmH^jtqk}nY8$H@9 YRQތ;0Ʀ:BԞf &RxJ5'l0ɇ Д:K[KH՟O>$P T)DTDB\NlGdcB6K3 ir# LJlL|Dhz lp=?2b2ܱyUWqlgm4)u<{ٹ 2ʣABMd߁qn;d5o4-/a଱n*24 P1t~iq=d^&Wş=xqԖp)=s9a<ѴT`a0Cx]=S/w+N6\잯3ׯw8M)9̠utFK~y-03bA"!u`aA؁w3a`ey;p%$$N}I $M ےfxXys!UL%K_'8.drxL^bjVTY[fߌJEgKx$(!TM:LΗߚ%KQJ)³"RYʕZAX[aDRkmuÝgk0ƢrYʥ ˷ ZO*-T鋝/k)!.qvfIAq6ݶop`2Xp';unsϭvStZ{{wQG PǯUR?{yapSj ~ᣚuLӜV1q* DUl}CqeSVr<[3;OC'p^Qc]?L'ZE-^qt^ŰTljwFdz9`@+RLS@`CЯm3~\<9nm':M;=#xVYBx.H;/3b`[((&C?R/_L_0HD _DKʗsyc"ge,G8D0f6:9=$?HA7 fliZv噘9(OhU D8kVBUs9iUg5Ib9 zP`_UFGou{%U҈нl>%rZ5qN%ݺbJ66$Zo@ Hfbu8^1کFtVj 6~Y"o];E W[ R>GyqaN?bȜ5$Rdи@|f2gݚ`bx°P2 EYawg>[v>\zz6O8VaM+7m)T8*2 ; 4x3l~:$%}8RX k-yt qe"c=8~tٕs &;mZy{Z;JEe ]r0쭮CWIVPi7P| z>/#%o6X;$[w# o<`X\ZN?Pl)8e0ch}˾R>w$Oi$%EY/= 9JXIipRcuF<ͿN'H8s1la+ZİP%Z7?ɞ(F16aENLjmѓlvߍM%4$(߮:.% fR ze+;evGV Մq>y])϶JmZ_ѥɿ4=[V?X|΅ TlVj ֮^e>enߍy= Zy[p=Y8;J,l _3=!Rҏ6#M5zM!@"qmR}='3%ا'T?;8\Xg?+ZJ?U˽_6{b T[(f~ΐ>! vwyErxsOZ`t=jLD6~:{;rL?91 ձ[\(d"v#NA<Ԃ<ʨl<3/5pO;Y `G^㏇ C.B*+!jGՕ CeFaggv"2|5]QvA]^XslYY˸VЫih&l220o9h%unHu0qHtnWT*^tݯLNbN^΃(^א*۴^1W-~D"#U0W.r,3⒒0"fwY[Yr`A(8ٕdR}">_e|Pb%~IrD(ׁ\LKFh&<0; BbvĤH>ԼӘT48fqY"i^o7)v7/ߥK߯#M2hҲXB_XE(an6,4So$ eL*\Q`oIr$,Mu,ݐGOVVo~L:+mxaYr#sngĝznz`|j<}󅏭^:fj Z ϥ\5YY:ū1,'U\pwqۆy>? $7m7 XY'VcWq|^şxSUSx6[ ~//On(Yz!zqpk~f/{!|:|X$rvÙX&pyiҀ0m)`X~~{Mk"𜍙7׏Nd %*E~0xjShgpAdJ[n8i(>.=( W/iscv߳mQ4VROڬFf ;}ڲ"7GU.݂ Lِ v}"A`Y|I.ލRS'd0%o e|P7$Ywj}т H;#~'ݲtmɛ~Q/ c'e%E~ɖ \g K |1s&z}!h?̚J#8+QXfRR4b֙c]#OE7;[_Z6}!.)/j& +FV_*Dk4ADru dI"u^^{$g|wê~JYJ"7<+/cƇ'|;OU&>>Yaۀs!UW,S:wE}_2rQ EP&#SՐ_^.bۋ~BR14[$:xE$,B)6۲QV[:܆E,h$mJvmpLS"@Lp6(k5q * l׺$A?H2oYݻ9 I)2 HY sPUֈ3E9|)"hU'8[bD òtZȮ3YgZ|M8NC^2OG)sBH b;a[%Y)ي X%"+g@&IUu.$'ە- Ѩә[bw'|_ňu$y_<Dlu8)L)?([M{Fzm^X鲾5"pQy.F×% ޗeIx€{F\:~CTl7-Kv}$&,[M#_W,i?m ~pT̩VM ~_&IZTs^_]ELxn7)Z OzN@IIãCY4,p;RO2m ~s[sy_~ꅕ̦kda|_nɳ0v?Zd*IANheiLwv[ K;axjWVM[]1^CS!21/Za l?[ 5-Wj>l ]#2Ew St&;*POn$<-k1U%`aJ2"C#w]t(*٢3dXʍ!.L>/p-(xپ-xsg?4eƷc ~րs9J].^Os#)C6p󬘜G'YDɝQ[(LWB|s,͗f7Io20?pP|?ݲN=ju&$id:8u:ڶvS2^¯ͯsLV1(=m Gbk"&ӥ6|A {3>z^DMwØ@52]緅}ޖK~HY{u˩E17(قCNLސ=0R̈*8\ %(,mmYI|:ʟ ;lsiI"*'4D𴡜 |==vb>v.'=`LA3Q{ɥ:a`ʌ-|іJkLry"kǯB8訅_\LZ^'^ 1F}Q @ uo/ cvŷY0\XuC#G^@BØꏓm-NpDGxٞP$&ay3[b; ]PEM~$BX()&e\IKdJI6ZVǴ)i5@TՀo E=cë_Ig?1`mXB%u0A,Z ]SD[K;s@'>-ڸSǫ(/NtMsA]@I'5S!PI"@[ xrĬ ºIɤk攒+.nԁzD3$vLKjw5MѻY݋2sZ&/P3&cF?to]΃pM8:TN#+ol[ ^\R.#rxVEXϭmʹg94Ҭ;<5nn5ĎS"N̞7`15ݡ' DžNG1_^$7̎Θm"UHH.J /K8j"VŹu$m∳F~T3WVY?k<sd\[m-LͤqbѨ -1JZ[ Vi :oQmZwK?7⪇#h]:]vs!s؏&ڀwR?, ֎R#<fHLk&w>;X#\D0(#فr69"yݟ!RI.U~G@z5Ee6=ZakTo>M=K =Gc34SCπ:5B[&{ OV-bVpӮ9'_ kqi»At|C{;-(FdU{l0I5}ashhfԢ]?Vk`ҼGC0awQnA}zd4~x7fPiprg*>za04W!w:HcNjeR~CYrd>EP<6)D~VBRaK9,~WFdhUNrR"AS 4!+>@[wKK_ٖ?0Œlu^9S>-w^wCh +tYI6F[ϟ}'`S0*EsO=9|:yӀŸ K ɠ0ed =@ m3 \f_W;pv>?jwkӗ>vD `̬Ğu:~CaK&%rs9߮~ݲ mf7 xjc\Ur Ќ` *oT9E HU Hq2> tձ[wVrA#Ukyg 'zd|F^(*QB!9h%ɴ۱obƒ(k.IgPViX mȳƟt2l"8Sɸe*gQErE1Ƶ6l~c8Z3LN(Dλ엹Sil/g(x$EufS05)4&c^#%r>~ WEyn?DkYyM-yIjЄ2̅v$䄾/yR ߇X|7nxC׃KjkYi8^8~ 7 <<1tGd`e߹_7W#FraԂkD8bP{5'7Ї+PTPsNG:t+τ?Xl4TN?9{8TT%pl oBxIGޖS&9dS_¾+nI-ld 5㼻zSMp򓬳3":غXcl$\VȿBCS6ߠ9{1>l!eH^Tc'N*p}gG Veپ%eM Ur D->Lv/i9FH>CI*\eDv:]Kj$ N\=%ڑ2զZB2^C4:yO$v-vbzub+}()]x|2a\AQNϷMxsQrr3:~q DK ?6n+*zn;)V{ȼjH;Кb=GLi1z0|1pEOSR6WHE"?9B(5Gb \Z' P,6A'PZ"i^V_K]Y䪉5~'|jJ'פ<3X4C I1,nG!);8ۻY n'! MbĹs1[}1Nr?JWowMoveGJPwҘrE#z3 WLȐ Fݲ\jْh{&[+ÌIt&e?ޘ߿!.p3vWc5d};Kryd,c=Vu00PP=qԤ\+s.n16dҗ  L1E12 6m 3hJrߓ{0t&tهn=$ n1y|.5pd/ !Zi qs d2aX^<}O7߮G£Jax2){Kp\)!]k'hC>.y!Q/Ue5ٙeL?HO8rKH'3Ml¨M1!E?ļm@RcV/gWgQlytQ-\&$WzՈa(-&16x|1Lgߘ\r6-]r08B35wJUXKhv?%aTS=,li,^9IJYApJ#Qz:VJZ55S. $0?2Lf/V/BjHz98#h5-gwJ}U񸺨3q,ns3,df?LSiucH O:;:*{&3ׅ7SUO[&M)"3.Hy:# S_b珀SUvQNT 3zbGgŒCm F܉#^V!L' M:SǖtaV!FG+W.[5K*8ϹB__h}f*[B0t . JW*PϡA8oTŹ!R}cFřwޱ8w_λ>rmP5BO$Ե{̝ϣR88fl'\ho<>2HLV76TRW!6#I󱗅ɗE4(3}YrND].C—_ǥ5Likіàre)53hd%lۨuT/_Y/PyZ !P,wp&ύF_GZk輰㎠ՋGa|OByr3äkUY"TƗmg֜ig,~n̋ %E)Dp'{y8 6[/v e94v7]1-*+sn7k #})ciО۬EJ0/l<#9ٷ!3lnx{vt?)7&d>}m&>ϙHVΙH_^2b^1 NY?nPzOLxL2byg""-Uo]*] ˨0>uJ؍i."ܩ^X&gǞEA:rVt 0EƖrryZߤ I ٪[^s?- Ca"D?SYj44gR(y$b;& &Q*z+_-@vt!n1O UCrmG(]t^,1Cwzy[;!I,8b4yLys)˷%9s$EMsM9 o'9&*.{ ?ejc?/rL]lR*/kO9SDk<=v|vqeIk3 {]';Tl2RaܜLICpoY26:'NYvd(H㛰=a`<.2ݿ;!+ U;&g!~Y6et6`##lj_C0Y-Nd[?dD>n\}Eq!- 'bYt9KEÐ2/l6OyY ,Ă+>LNG<ϲ\sUTdH Z숯K(M" l#ʎvH\ mPdLTV~7ۀko>w<WDZz,;%ԩkW{N(Ei ugq718-<{ *`╨(AFkdPq'm=G2J$z fq{ o[!Tmn’`d-aү Ws&Ig C*e-Zᥙ&ӈ\?KTK*B9ҙ.mq;oVy7 QH[Hh쌫bٮrI|R;jy =rT+/ִ*e+~a2|v#N/:`HJ9&0o\o?u)~ y80s94" &Ʊ^ps|q ~蘒tzĒA-cC3}×hg7uKw "8exiv8}\^aY<"|/v>ŀT?D]A4#ڂmMR>čuB):_CPChe(>"Kzrq| 'i7&W9c4}݆[L'g0pPop3v9;yu/ i[PEʑ ]X[ÒV |  t,kI拪pfJ50 NHH~}6l2_ۄv'hvf̸ӛj\Nݢ3;B % F1KK /Q9\VATarS0؂I!.B94C.K3K?ۖHbȨ'j;67 >VtB $1q PWg)vꨑ6<8?\;ڑ7,G$YU=|ӄOM͎;"A97$ziCfvEw=?d .?scO8_tg?kJ/r ]:&}@⧑13T[24.XvG8bֳk$F~I nj0Z7)7i=udDD Ȭ ~N#WP KҺ6{fEo+N[[ l(@\vKjn]j9'F[>{ WUB8L+Xۏ\ P)O,>WzBZ1dF]}- p2\0fǬـ8vtr)Fb"Su;|s}AFw;Fi#*?:vsytL^ylї!}J&шL^]3 |:`gJ)=mq%A6/ecQk ;R/5ȊX]9P\@dK>t '?۞pGέ.}ry_#%@hk4Ԗiv.ήը5I*BR%5V뢛8xw.?D)<˸GR^pͥ猪\WGfV8*qC9l/_$ta_~aS+E)k|/a7 UJ.ωO//74|4j|rRg dQ &!+'%$N>04$&K\{ΧMz60HFa͏d_]#̳uy+>QH%=4glfpWO_c1{2|X)Xe@:~P@W"H H|B82Hr@OS1,Nb(a|$/(0l?\CO,d24Vk˗es[mNSҪ`/MͿ մ:EYW~QIܔP̠KI6FeV+82%oG  q4%U:O02<)&o+Kj(/iDqIEU'}vH5ig^ GdiNȪt>VY}-^۱HØo DלEm'1JDn5>0~˹/)8^k >7 3_=\^rO30ePY,9ΰVWſlMvss2G:+ |S>'~@x牧Pw  !Esd۩3QD>>VZbm"HL= ~GЀ͗}Rh IJBMR`Xbb$ƀ<:b%N~A2SC" RtgƣFç>)=ǑB! ]Pa5U(jQɨۊng %n r @!Qد[.:=Fb\CQsQ%VLJؘ 9Y3NrIeTWz)_9G9ӟekU8}pPB-|/qrd4yKC*?y;GJefos337޸_F-scL) 1Ƅ JX(K(˳ϮfoOi^AC|JdF3 _X 5wfD賆oJYa|vb4(B~(#v4$~ V)(_buOO}[kqRh'8a<[Xvv,Iβ l\d7PꜦxj#RO@7>LFx-tN-Ř:eydC=r%xp1Y1٦]*XQ|W*o}{9zв: (7 ]WGi d3Œ^E= NBJED%F(r(ss Ơτo/<*73y۷[-VKH%!1YeTp \1!IT+NyH)`8 Zj[=o;{i4E?$Y[}={}{]z'B@ia$ rFw!@f \%DQe>BJW͒[57*ΆI+-^q!;- l84zU|X>y !"8]r1o giD liZ1׍3󜘋(]=DH.\QʕI҈ճl )˒VҚýuΟ;jpȭמgoJK6xJ[?ec}]G|??Q42*9͝!۔Y|;%C~G}YYa$*5!Dž)DcKK 4ZiH)qBtFQĉ!ҒD$~Q=l!$b*kg9A(IM,t\@i]+@U9ʲ|+KSY Rh8^~^}8Q^1p_!L(rA=Ax~ɧ9,.pɨ$jz\%ohZHositg:ܣarΣfwH"x4`}}+!;|=O_|i+=ibFQMkogSygX\\l4[',:po 9 zge*隈߇yw>Cnt-)|OP2ns"wҹag6ha@8> zW_ /&+J @CB0pkpԒ2"2T(B*)$mspVxlت?B 4/LG x4q>  Lgw^)y^0(7:W4`Mq !Ql2 Rt) 7(ImZ;'54ykzO Vg0mqx l SUuAZ=go*EΣo{I||GsAhOSOph1fp> lOђi ꡧx_}XW+AڒX)"xKB 1>@E11^r)j2ψML@|R\V(&gi2k!f!ѦnLLpGpd47+>[Pՠ CY􈒻60f7j<1jJ6[7-oӒ| ;;dÊ1.2^FdsbVk^@k1 @$RkD l9S" R፮ZJ 4^5Eƺ4iRhgF/C=hQQBB<en^WC Ϸ񶪛1wqZ_XT-tG!|//"7ȗ+ L>&b*︠/aʌJI 2-s2Lm&)={ d4*m:$loݥ vG>dbs0B(APdBemD9?ͅ%VGP6_c:Hcc>{ѨhWsc+2{'"V[ZCd2!DFDu!ND0*(|Q#0JJ3 T4H AC,kFhkr30S{OQd9LDQ00LqXƃi^Xp.b"y5F՞ 0q|C4Bƴ{T2ÏA|aeɕGB~W& )x3>҆t:Mr yLWɂHw8"-&Y`{4_}""We47oݤ)gvƈ nwd?sl^fk{osʗKlRM;~'z{/"Kp EMƓ xҟ~}'i֯-s/cG)#idt#:MÈ".;ISĈK$i0]'3ɇ鈸w}oћK:8!? .Q#֮%1 c*nn쓗CZI`4Yq`2P,\NYRnGD MD:]e-qק`)mT$I'\U!MmE1fD6W3@kJ$)DS`!HRd _mCIw7FRV,Y#ISwH)@J%kJ2YT"ȋ +eNRh(e$cC8 !G^dVڦ`o1{[/0"X<}Sz=/D2W,DbHVRҞ'Sƙ6naG!D-srS*e0)xᕫ!Xlh{ko?HC0N'bBIQfXR8M#Bs? /sI th5,#|D#K?S=;HqBY( HҔ812gxog)>D 8rMrƈϯ5ڸLrqaQ!`Iwآ4o+/|{[N]d:Ϡgni.UC//s84%E!!ɷҸʂ4PpX``TaF[|!4 !cDmcѢY`uE>ȆDU.GVZ$1q+8 *),+Uf<RBAW&xsxҊΰ:S 1&%aNW$HNQ Cק=Ai+v&)98,F"YmYzy[v'҂6զ608C}7>G[ BDyRBX`{=TrĠɊ卝m-5UY7uJD@l:KT`m"#lA*F&Sx b}NDLcyl\h5П86Q5emwɀ*V81]V4'Q.oa2|[##!sdV1. 6z)}o} Hxwr w|=e~CWo|6Gc,-pk/ 'VJa1]4j o)\ۂ<x.Bt)F;|LđxRzy1?%VW(?̿F1/ Y~3si\R~S Gu,6Bs/Ї-> Y![d%?!K"%X?|ɟ[OO?\h5M#薒X wpOz&rYLYiE nܾ. '"ݨhL-yo}c̙_LŅFMIOYN4 ۛbi:g/|/..wU qCfȚDG4I4e}cNϝ cn\GEƎ8G3#TǤvO?kobnrl7=+wnF)t/2ܿpM&38 clĝ{ttt_Gǣ Y^bKKYUXklYMiJF-5vF EUPSV FZ>8T$IPDT%Z VO'zϤDڐwc4|?!Tv`gB[bGHr `5 bT"ݘaoy/nO ͍;4{"kק JJQu)@$Az$i贺IBd 6&A|ԂbVJk8A#xoMbY҈cw $B`8Ǎ1*^!M"`]Em/h W@ T#"d͜ W4Mi͵Q:A*Ml@.x 6.1x=~sTcv7J9`8'`{&^"[,a*<~?y-.>pwa+mJΚݜ'NdŘ(i MBٮApGkSh)D` (ꛍYC)d}"h\Vݬ' 5*z2Jh]j#P,-z!e)~%yZm8cgwPR_XEYI՚G5RBeSq8*i374p#oG g3<9N͏?-ؼ(+VNh$$VHJDhUVq}g3 8OUMɏeÜq`t#ewB*IUY_еXWWHF)RslVoZNWVǕ\(.G&qĖ1^aT8},R}v[9>@w$ޕh\RRh̑ HS4&='IJt  2i1*88pEHc| L .f;]MA(#^ŋ3|P^P}΋-ǷS80(HFC%<Ok7/bZGł CE>hLF;:m&o s-Գ$mn[Z=/tG!H:Fh cslJhbSyT1;6x W#_B@!&-7Cf 4ɘqYXDΗ{#A/ڨF5j-`L(QECMd(i !Ost 4G!HO;DqMnx|e: A>MUd zj'h74')G!]hzn"qQ1ū+=u,r>K/n+K4)>f9ڝ c[la&9(Q  gN#E]6֮31ml$ V݇`}wqczUɱGqR umHieIY8 IN6($n]$6QD=*r!)B]*5. BUH@HADIA3 HLs$m""R^oyBzm{9뱑[!8+*W"e=reA10iB<$nFd0$fpc{kL8Ƌw5nr[o K.g 6"Rp6gmoрqv2M N3'jޏ$wGWY9{Ic+h,Ɋ[_ĤF?efEܨ;TޑvM={b&/0\=[ởz'A<=HqBj%KZ&&Hm.Aj)c{$Q!fo}KA,e!x BHuRAL H̩yLb~<5Z q!}NKŜ\Yi:`r*rnoAE1eX8{(egOvU] ƐGĝ[ػƆܿb+qpgP9^#+*WE*Ah1L 4 Lffh^mzD)@P; קf7K-[X_#F1*j/\) [3gz{|u}]ֆU#D@H?YxDZPNHq_BY5Y|&IB,XyPL=iܨq]$a4`J BOBHpGm̃,;ݵgg4] laqAXb'(P9)@ !N1`*0Tc"0m /X5fF}.gi$Ug;5ݧ{{ϻ<hD<^XyR` r"O)g>Ib:R"D L4!Rk3m!TQ"4M"GOѣ6L fs(kb̈́Ǟij o:dxѐ"UЄ0&GȊ} SC)+n|6ր¢`24`GyOpߦ5YkŬ>Q$IBcvkTmo<քd _:D_z;] XEDcf' _B" QH BHiQOU2AHAc\)4B)M8=|"ٸ,t*"45(-hmw{pΣDFR'&$ ]t { :oVg=A:ZFfȨYGb&-c$hgI*W D2x麧:pE] C*$Δ˻Ծa͟){V{봘L81xUaqdB_'ZEE'w_L]7dJS7;`sE \%Ӄ#C &+zFGC^w^/oy?E[^E+5;ðCUhgԍdT-i1.-hŸٵJ2ʪDɄZDD Z% `אrAhi8yX$#nMRq>$*Y"6 y1Ơ¡v~_ qIDATCa8֊8KGHՆq2W~gO_L?%ޫ8A@hJ+Bq*(5Hsx<(1qY4LMG!^HJdPThϻf!5Z>s8LrcYS!8rJE B< gj 7~ [Ldy"^:S)60'>={(+y[?{Z-꬜ZI>ɏ Em: cc[;]{(g <wpB(t"|MǤ[tB%4M0$ޡHMEE$HeB(F;}L N+woyZiJ~;칳f406cy>u/q㬎7rU:G쉞 1W1w_ ϯڷärr?༛&"g!'A(qt[i Ov";R`Ӭ~'O3ܩ妛̡r*!%fjM N]Q”`A\޸V񟛛Tf60ΐ%JL;g %rV"Պab"IH7͑mIUh_2A5mYc< d7ď~kL ])kcOAE9١1獌0'LcL9*RhMVilL uEg%c)T 0tM4x#{G -g!H)P7A4˹KbB@*xgR /A!zssrijHqh E;Gk 8Զzw 5Nbw2wǧy{R@cPeIc*:A gkv<`\EZ:'3i'DHcLw&n8 ȦA,Sdh!SU`lAb&6c%GO|''}իFl \\HMz<ٓHF:&6\%xO8|Fӌ60GЋ;4IÅEg%T:! )w5"+e+|pe1u$,\HVS<]QB Uo.xX7Mh^`ǚ3D;;%D@iMD5uęF$ik:_#u B@_}!Bo'odqV'+m!"wb2ܢ2kؿAHH}Jvɒ-%\D7QhPjoRd x&MV66X_@]J4!)y4 $Zwv[6غFuB,r%}/#}vxnEҙgM9b`R4O!/X+6h`ʧ}$dᨹ.?,!\MUTr*=!eBJ!2X9GUMLNR$+/=!@৥d B"B yrU-Dc8sajR3.K=LVd ^<;h5{gt;x[d;P G9(%%mNn,zifi^$%xO|^;~7GiK-EZ1&NM%ϓ}AXƜ9pPWp!ńX0!T X$mdr]{+yca!᾿\ yN>ſ7qalO!֯fn>R@P&>eCIkɫ}2ϳkͫ^jtWtJҽ"3|l9Z$C) 2N g%qԎq W5q18O@FMݏ h Uk{ab}N@Vdwq2[|dI5:H Q̮E"6a03S#TP2Pis) GXQ:إCH\+!nyk׽8gs{;﹗SO-iev .P.P !GOPZPhU\IbA%A &*!$tA]">kwq SҢM IDKp! o9=\,=EBڿ4&MSsxqKkd~!:[Prg1%A34.xK^r+ӌG{Ny?ìB JVFɴ9Khދ=$i?8rC( !0 $Aʄ ^D#Nа }Wk 5m1H%IZ]c!DgY0 -RaGT֊dB^&X|/?|w+ O,ljh'6Hn I _|s%- /.?ìB ι(-Tu#˃*zubB!&QԘ0*b "Yh$J!B$$BQ65lY`i^.*a)>YLR UdrdMPZQL[):{α9\aia?&Y3jKrf݋-6r }=7)>OCh7½ӟ#``K~7_Oo殻^d3\stT|:] zi fmZ9f2ܠ!"mKצ'm^o4 ߣh嘱'3.qMMeHCJ^`!ԥs̝Z_u/ԙ3,uq8yf+oo?^n9~m>z9B?×ABb! 'CWH˔;$9-dtTB@"P:1fuT4O] j8Q41 iU5'[\t,i"06ZpuLRI.PU $t[;cC9Y!L`E9{)q!U1d~k}elu^;ȑCx+/l o_M,lMvhZQ/p2deI(`qa~s BN Z P $2hd4$h:{ k5%EO;Ҍ!0"IH(XXfx(O{_y ဝ!=֖G}!p1Sg.qqkBg~oza}Goc8d\roVXؾ9ʚYhbΎ>E 3\ !4>xǨjFPw3)lr@p# IRJ+w(q 2\Y4AD9h8zIF{uGc yRmi@YWX(mTyAj4c*3yr<5I nji*`N?C3n |x8"L.rk_˫{,2… ݻ-Uz^Fam\a@fv2⡧/$)Yh<$QTk-RZΐ `a""~q5,j9Qqꜗ,$2M4'nb}а|^9Atakyҍֹa8_uˋZ?w::ȍVWX]?K5ZE+C=y(R%vN__B'W|gCN%*"xG4_+ra}@  GOV tNhkI8Vd bk S1sOB+^~/_=`Exsz]mo/1}h4"MS Uo-r])|DF<6j! YQ;iBΘp =w}{XG*dgH[*1 :[[kJdT8cE4(RxR-1xԶS'4OY RxyA]7l6yH&"bLC'3 <|#46{a%w&ǯ)!^;t[d|}/X *#i-0j HP$؆AEjQT$ 'HnXqI-`-b<3l1^`"ϰcD=a2ޡ4釸ȋrN 0X '$h;kTA.Ґ'5K*$ݜ y|Sll^t2EݦPrH*Ν[=_sOԛXMՔW}YB (2i#2L!喏Ĵ !,)Zkʰ>~Xې&yRP#|o!n8oȲZ+jSZDcuMgZ.Jp)MJ!9$xP TO[?oҔoo`{p`jш{{ j]8̓?׿i4 YׄZ-!~ɲXj.dVIlH eֶ&T5RxI&&@(O>zc_ك?ʚΞc<[do{;~g=O:G9z0!!Òs|bt'i1O2;RZ.930 45 hp>{GÄu|oͿzk[7OwF[(r<n eRjj"yxdaݼ۷xxgw}Zs?Rk<8<`cS=YgaYBXk9;8J%w"elT?|<[_B'-tox<<$Yu;Lg;0,!|9 @U۩e0u<ϩ i,ɲ !۸p`M,Kdr%d!Dev􆈞xjLnqc.0R{nA4 rv8 %t;"zGzJefsU$$yfse4ὧ<fag=syٝafq^~ufaf>1af ٝafdIENDB`P"} XWa0)x}TQ.:$4'4X}pwlwgp2wwz{^==ݽ];HAN )f'EznNR J\֦$+yy3!6mBBG{M3S.))dDZi[00S'UNs#kO\*b,\{3bBY163#[# jƈv3*nI)d100_.QZh8ؘ:51GgcW gso @L $8XpQ\bsTXc1d=X{3.M']瘖$->@E={J~_ ,6IetRH{zau=S0H`IM僬(ذIk'IIg8& TR*% h&G\:+$J )0%%̧b~p@IFzokvG^nӣV׫ rf%#32h@8~=Diב RpHhhu]|xXzq0w4a;CXJV2TKIgt! {mmmfN/P[ǀ`-\@FI&$;:xZVSð8՝}䷚* 3`"J  CiuX_$a` WkaP\_mr9\p%,s|I7ݽBXXX}Zk7{2fC`vïRjԍcgw4??!@_.aw}qq\ `4K䚘߾Ps\]SipJ8)mmm;;;u]c>8c^ c@~+]Ve+nֲkܦqj7fv/=pҗEA* N/Ejf"J"A`C.'N2əXW dhݔ&''zc_##'/ε 89ap0X`m-0kk׷Op@C-L<:\c:SHT6#)K*̸46ΌZ 6QQM+111=FbNN"'7FB(^JGyyyN}fB*ӡ2iDɩ)Nyvѷ_|0B}6qo@^^8AHζ!KsME\?ItHtXa):@Ԓu](}@ymoB<Lzw)T=ĠGvE/ݾb|WlttSD*2kzKaTbsj>6䤌M@a;SKO&@9w j_ 0yI'} g>&}?U–J9 9Qž({ ךgQ|KC;'46\smw|Br⟪'H!b{ǩ m3N=MzoFVc8)A_ͺ՘|9>|WΦ.lH<2  *3ʟV.lv~^/8' I:ؗQz>q-?( Lv^سkc>l9b=W{#׿a5Bi,;|/7+w<9-*~QnP ōgRpGͩBVZ VH,uG~A5Ju̠BT%.zNrMN##r}gYW-k|d'A3di 싲*O->#Yw uIQO`7`?vtrr0oj߇2dbWzqƸa #iGyGzJ t#) fHo1Icl1j<TFW,z|(N_sJjy~N(cB 3DR&78*}.7"ih_K'ꗊsSo͵V8cXhߜ?wbx }pr]Q"ɏ/1hy1a ǣD+|?{/bHpơMKڦ J. */ǢL$X9MBébWfƤv3E$Xws8ʋ{NPh)k籵u{ꓨlJz{i13{!һzBvCDDD\*k u9yvQg3>rc\gwxWڛ~.T) 08zUlTG☗!r0?=ۛg6,y'DFfQ{9 ~-KRޞ0 Zu7Sg ?̨~sz`ϾlF]Y8U͕$4mIvjRX(S? |cy$v(k<@ ;f!NI; _ڔRӵLfb8S269 n? bYt73.[ޕk0Otyk@1 }8 8),ܱнXԊ=5N'd*+M] b_G^g>>3JښrkKucۄժb~`ʃr>U}! a\~}̧k]oӳg l? 8;ZĂ6jLشf:WƋg>ۀB?2OUu͵ǻzG[ soE1 3- GKX&eA.^6e`gks#N6É!2<Sb5d;ד=5_ݯʄ|#ҪnrZ=zƄm7{냄[M nhWUcqQY>![MG5W!:wLh "oD#nэI:0wjۿy((iV]K{74h]'A=Ƹ'eBtHmR *"?o⬫6^mloa1YuF-n}w:mMe(e`%iv?8+ c9\`{{k?J}y1ii9c0 }03q ~ZC}5Y}Auߩc; 儂PiZgFO1YYY E>زJ{0|%̉UԻka{ \;qT$#/cEPPTWug- j|fE$x22ggMP+GUFD-43"]QU*uBaFos O^~ iOd϶uHd]7Vg(2ny/Jc7-bU% >i,bѮ=;qbSSeAj:tJDi^ԛEߟL|raa;~[׻jZl )'&VVVMB_CssrζGߢssЙrL\\\krX@ hJ\ ЬE:mX$~=>Y @Qc}>T*zeD>Qǧ~>l>h1Zyl;?'XG|cP|`qLg<&:<0\8G5x6BFսa$[C=/+kn9H]&O°+G_Nʟ[-%xׁCWm{cZDLB<ϭ^5Ull6[=QDEj ^?%m)mueDs\ܸOQaZ*FMRd.>4'+jw~j:PAeL-(p*dfgg`;Y ! !^7; ˗#g{AqB5+^fLqE4)%,J:iWo 41Pz*O c6Wקjk}d*h9Lfme%3VvQqqz@@\o3Їq]3ҮFda1>'ߌ lknjGEI/Ytq?5l9#͘ЄȘ><gx\5kNOrXnzs?迆'WxT!|44Ko7 RFƪr䇷#"PR# tdU_Ba}yl|0?44yt4l0 -1? xCؘ)mVzi%5c;pdvQe{lYZ!<':+5m`nG[բF|$ڜ74\-fBeoþ܎ovj2bGov5;Pgv&v:.jXO3+T_#Y?#xu?M +_~8'/uD[C0jJɓbbb( mZdj!aVUvq{3!3Cĭ6l%JFKameOa9.+0M kg*9Kwt 6vHxF@N~GWĀ5$quxC]9첓ۮɯٱC#g+|@(/m9QM8Cc`Hp쓯J.] >y=]GOX<~&&d%@Mx& %n,a{ƑbqĨ\3ՔlR*8X@{i*u\~:kmt_%YUs?oM;NӬl]R-}JM):e-=Bi+2 J4bF"?!Ia1#-cܗEk%!$dzBO8BD0/oֲ 4͎N'Iɠ2ݯ=,b222JCna;?ۖ',,nigkt>)ao7$&ǐԱ UD٭_11p50#-+:Ca1F9,!, lfe̋DMɺ0Q")h8RxYSO\h­uys3@υ*qoWhUs(BהHdKB}ӉGsvB$T@@άnfars$8@ {7m,Tb,w\i꺓 ,ZTGT @@vNVi\ڋ,Qk$㯅#CǿU#e\ϡs?O^\@VPZ&׾Uri\uţ8Q~OÁ_/>m=9f}l/CY۝^mB" LRI_Lc^&~ j"ZBuR7l{!fLȫ^'ֵ4Z쟇olMe~< o0[b5HF!= (uvI$5^J#K^w'=ă&|8'ѹ =KdxW82C#k:fV ;ʷ#hcʧpd!I#*k'~}x;);"p;f0ix Io;,;>6ŝPnձՅ BG֚2mnHj-vYf-$va%X)C,Q<5J)P|C]z2tum%@@ZIo GE2F7C>9{V ~~aroů*v9}=h|97x[XBeߕUXVta>wW{S1ީa+VPt";jN'KUL+9Ghܩ@O[S?OsR@/+3xȼF+ᙠɩjň~۔A%%с@cіYP7 ٍ3N:%M?/meCؿ880١ջ"2&2/s5!0Ů ? >˂ekA8 T?`⬄8d<ۉF.Ũj;db=#11QM]`m䘚!1)bVJOA$E[J/;ܬ؏7 um 6}Y\0lKz˔7lt( F=Bx(  BՀz-Od?$)asVE՟/@^2clu\өݿ[o aS)3g_[{$Õ} flī''KѷQѬĨfF/5 &̝6YS=\㊚ <_*$%,u=t:5#TC}w6 PvBr5O4u-AU oRab3s!|5tL|{_y?n-i/4na!~iik$OTPeanuiOϑx5~zE0gz4K=D?o{5Pŀ%3PUWȆ뎛q!@5Ȋ׷z'B KZlI<ئa o:Ua ',qpDT/%Ƕ=QY' oИ'BC0j\x'S46U4$*2 */_f`5Q4 cFoRAs-)#+Uge_߈n7 DʲFň'z)Yp"f͟3(w>.,P#'%+RdJ4텥#,K#֦>/*}M\T*F;:ۇTs%^OVؤ<?I#c9wL]\.#TYwvH}j2Y!]EǐD%̗0Lr( ܖ9.%ͳ&̭xv?+/ezYAz=~"9Hn/z>>nF?~g 4=<.;y4g(w:ysƽKGeicZ/׋@2)IIi4ǝ>̰k i`M,_0]gdLn?K(<怾>!,уg{*$:sH\6 8b25K20`D`H};!PSG3IjIyeRsLOEϵqA _!a|~<*{۞b0тj4SfRu]RsvB.G@jS=UQc+ n6'$D$%C78 5(J:Nfq}σӄ/Qj1VTvP zB-cK9AVقx@h Y>?]HSK/5>lo/V{%+й;GDN9"c'N-:s ::yS`2%B'>8lI{>_!\g||UUfgavYIIAR pdon3G`b.'~ A|"{/e"yX}0KĤ(E+l~^O;Ec""WYNWUIIIq } 7{?v9M _A璔eNANm%8q=+[tcYq8ACPպauK &/SOf7v{#)">2E!ǧy_Kh -o9{ 7 bT:1xt!5A fpKaXUter{p,R o!7@KHIɎ7EpP/*R ͫ. IK-"#'vq?ˑuT;!3čwW:RZl?[z8ecя?T^|㗢בE3Vĭ`Pdh|cjzc71Ep 5cj|h;`QvLB2D] ]L 9{?(&?$F*)?&X Z^E:3-3,R&dW]MUHJ7&:[>nwU,Lp.RKfj%_hLxV}Nh~/8JOn{w4v[ qW!l-zcǶ+h5y 9R 6TyY =bw%uЪ N(n QYUc'6o=VH֜/,`3yNA璴[5iJ5[`"3hgqq _6a(k)S ))?n޾w%޼DaW:O 1/XAi߃w/kv;j)ʉGy!/%Uir~$=Ԍ"\o&ϐݢǪ==h Kʋ.5@)%E,(Ts@E8:FϔS͒8>Fv)/;So<)Uu\5{k_- ʹFmzmxevaGt'EdMͭNYRC=`]4(Į`9h܍852{qT&)}T!h܀7:|LU'z0=Y(*:)'9* 3KLC?ȝQՑW*AU)3vc^T˸HG쏯WQCf89,JZdO% NΖi-t`Pr,;B*,i{~Ru93-ywo?:^7*bSe+EWsIx=unkӆ 8ExIa+}Yc?n^٨;5["%{M:s' hUH(`B۾{} q 7-EWl؎'v|'N((l{ʜqAl|h;30@G¼O-Ɗs}wzJdD-Eh;ktH1ǮRϚ~7}F/(Ii%uX}7knG?+ZoLIY3bs"Z׌_(REDLXҘ|v8:~g)H3VHⳝL.P@ BjESt:Eh~[qbb$|79L0RG# u(laݪ쎰S{VV)V'H1$rBk9}#QW0X|dNSȸOe7ǂ+nŁ6 aqnxs7_TOj;L2R1`FZz?Sbpw| W:ټɛ"<VtCKܨ Jgdy*C7.}}[E~:AP(\Ζ*[ cX7߭2/__fKgkgqdI@6\un$3d:*æx~ E2Mo98ꬉKE%LyXpuݾ#64laxI2;3yT>RWy>bI&? MS0eZq V&5áLv80|V3xAqTPeJJW:a3 1bU@lP^BIчՙWϘns5-bUe %GW56l&䇗ɁIbieCt_\f@6| MȮG /iQQIsǍhƍZIL7>EfνG*iNׂG(Va vj'䨪s~&~$9)9uѫ04f=#{3pWWv6 [U0˻/70̻?u) d9[}4w;r|$hjlᲽ*zpE:(DD@V/ [DOy閣'_I!w[Sm|y zc$'!;[>]W$3I:a0*`2y-d0\8Jm\>h$xUng(+rzڐ|8[=xBC˩~8LYMo=-[ldK>6SwVĻ<f@ӤsnIsI<)8j#x䨍Dl&OD`pdvm.8O#+Q[ K=9K.Ǝ4%&do* )q\KgO[Ks[mxhaXY^A]_NCN2 l3q##h{$i;AH{o:oC&a*@h>dBvi'/noB?(3,Ytk#saѸ'wJ{)H=WTBg;NQRU,"@RZN* [Ni&Ud6XFebfhζT v1td|y#0v%F=;??U_ {b̉`cKO]=mibGB֘ l8 p+Iy>_ɦ2hx&)䰦ݶV Ե]B4Նi$჆2ɹ.?sۥM4<ʽf̛֤mwKfs9)6>i2jڣ =w4):}iFlMtTI"A y8>[p:o,fR93SmGͶ}Ya%'Q4cY) t̩ڿ}{dЅ7XOgfYaN["V]Og כG%d-3y~#A7=V \.E&Ȥ,-CE.}D{|?Nu9[߹lɅCDEM p"}7FO!T@uǓ'̖|ҳep伦\( $)7߻b_ҙΊ~wutt^H )\_A1YRm2ƇdШ".#E<;!8?7u d߫=˞sf " ~z6[Z|u|a{I~>6UQIjp?*lߍ]2v ߾~녪$ٖօt@KMJ!Ym3r%Gp|y[m*!V]΄FM0p \i|pB-BwOn)^/,Fy>Jkjsp-X[+H:0zݺsr7lh59⦱(^yخE 9zPRRx9nw%b+PUr19T+_BP[fB7zK ` K y!Nj &YK}; j5| gqm)\Bq|#?kkDj5C?osc% E:. t.g`Hj:!>쯗UUTPAz}J><(>-EſrZ__f=gp"=aK|ɬH1zɑ&xaorZ~2{jy=dhO8+\49'q~XfWOM*z36!'Ƕ\vyy/߇S-5ohUy>gx)ްSM/%:,lll =6KL탆`}MzEt7)K++l.`ؼ|f̼g*zBbbn5i-mYOHxɷ71G~29 #(γ/ wva>Wm]Ù_|qQ俕ݶϋZ_c_#\NqO:]4Op 9Wj'3WTͳ}zZەp]CFW1քD!Pu+ɩ*MG4&ol&09.F_6۠"6,[ .Ra-5 AcBS` xHI>a,?u@ڥAzujDYUjdžiMΊo;WQQMv9_RTU]rZՉT+ٿYg ddhXx-J]ƈIpֿsD<4;"C<l`k/kj'-ͥGYGgX !߼9;Rrb,4Nڧq_I{vdXT PZ}$S6x{ <3Z/TLaYщ |Z )=-^w1AOeI1Ƴ̱$%e$44lMB ;ޞǹ&~.\%^(7F[c<ŕq3NBv׎HD&;Y\N*y=~Qf;~~]dmMߏY  8㒭Zs+1XR-R~F?`\/5+fz"Fr&$?A%Q"gГ2ٕ^[`ΊDXFˀPs.6x0=ui*Twcv~Rwś+!cru?Oo%Р?`^~?U |kNCJNd&?4,ڐX "|U1*b β&Xj|bbH<)6) ˵jxLL`,+VsVtj}EQAz@8ZR~/XYVWD׸q`VQR,w1J͕w&FM2--<{J?_T<"$( ӌI,vԇǓJ^?(;QzII+!FDdojʝ^qECJ/ VT_f@LOb\7]3?D6}iBޜejQ&5`^/o(fphL.jl> /[Ү3{."7@F q12 k m;ͫw42wTƆ\I2W6ӻ x#j$~cC #G65L'bt>(YB]4P [[l@Br\ve!s9"ϒM Y 2P%D( qhǺ?+F1A%:DϛB D)H'jwuܶ/~sBL 0#:JNo%)̨?ܳ!Hw{ (h|](Z#-vƃʆ'-޶"қy@ڇw/> o:Q܉ކcD#ACBY1K%b IQCCRC{٦滍e2.ovޚLF2T ())5hXQ=66kz+>_yM! (*s,W 4(2քd*yոuF` _Q ROwK{gK(ra%L*x jL-^Hpylא!@fYDm Ff;n м@#I:2sȤEN |J֛j8F@QkKֵL(@ac>4MUgw:tN9ỽ[<|{Xm`2e4549)K"N{\r;6veZUs =CѾє r`dS!Qs_Uv,&|#QI/iqFf6:̚ADIFV<jqs9t5p3LJtͲ ~,,sGn3I>\8W$Πrg:AA<; A tY3FGTf~n6bꅁ=$s˝Ǔ,XP,_-~hfǺ \ТQKV_Pl!swR+g C{hEn= (55*j Otv4.aF3v=]=O˺ʀ0(R2yHluX(7WZ0brTx0^lPy4z ,["d㽶ayQ#fA$̶US-%Vg7B*50Fb`]q)$vZ)&*:긱ZL̸*鯶IQkcC󵼢"ʮ}ZB*͚]5"CDZNLh076X$J}=6>BxZXX`e+\7;5r*&wT>@YI[2.#T&)?GE5axgvZz3quPìW素kSn֥j8?<]TbQ:,*"D=ܷF*eͮm8BR'+3c3WhBkh J87 u7zS,;ΰ8OzJ)#s::*~SBK <МWO E2^>zs7Ш,Tܘ^F48$w?'ﮒ 5J-k/AF'5:q{NyPkd@TW)i(`Wݞ{;m՛&y66\|;ӥVgo 7o/ ӔV7}O\XnCPxϒh/$i>LD{4 WY}A+2O>1@>^rb -gPgt#of3C"gQt iIC+Qy3x={%FB 1C;7g|y)zÚY|S:D"-Anree]'!cɕ[Rw7ߙYmd8t ] љxWg7CHWJajN7= v5xzi(_ZAٶwYSN.kY+wkOtnMίX&(X$[[bp7)gH7Pnkq BjR]Rw|aDÐR˧@gO5ɉ`5P1a6AnQWѶֳ3i2B,u#8fw , EܿSeڣNulXbRBR[L1twl~u2}ʦN. jk#O#+fpF%4[MxF׹ER|_k})̳G(U)]4h+LqɈVbUtI9:6hR5QeĎ7xvua W[=f7ˤ+lJJaPpG?ɢ^d%cKZSϪ?i7A=SHqЀ]D(a.'+,?܂t\#1 z}W}y>U)䂑i!\v> =x,U (ܿ'rJh谌).P8 MiUpdC.y窍ǂjp"C׫`c 5FI|p 8(Î$`2{즲S!6qKV+)Rף?`E:' }Ļhj/@ Ѧv.4sc/Vkmsȋj ~%;!pvkw6Tdyåy.B)j8q?rmzY?N/(1xi 톬MCU39RjOFLP 9 K+_ySNfo Ō4иo ۵GYێ'BųsfɦZ D/ɫlģÅ('_[ֲiV)U$~~z&$V+:̟}I ˌqM|u{؜T!&(a $Jwp4d6 qt* |i]@mQ-J'Z@2}m?|:d 4?r}0~W}uENI\R-1I`;Z[^|OcxttKm52< 6Iy}MXF=L\Dv2 âNM)TE30JOaI$%n/*Q4JT R_pIoQ{%%pw6<]W\F!c!Z{KK^cŘzM p@{C7\m/I7{>s恏Nѵ?Jw"[/|?Ibo QMN.cokPGҕl;, EΓ}׌P|nP4R3h8eN ]+Ls}:q+MZN+h}q |~<\k57v7|J@J w1S&Z T)/"({:8a-ۗMzn$3D7Eڿ<\a0`F\^Ì鹕]H;H|qDtAV8?]Vp1_X| zm?;/<^S%$0x":ҸGhhݩ2&&7|v]˷PP,jHV=H" ד f>>5:1 ZX`|G/λξoJ(68 |ɾV\TھӼd~' \ϼSiO|g@n|;t/d P#w %q7<뮎h|qب$" e(2@ٸBBJo֢,{.̷s=gl 7a2K!G .Qi{掹A`tlaǛ(J4QϳgvrPd^W=,7fj\6&%t1A}Hj]t͖n)GXa.O̿y{Dlr"Ԙ͑,q.G6~ٕ岤alf4s6 |'b DWeí%۶GpppH^U|Crgd ۗ(A1:m~j}QA%̭m寊gbsJ*Wi2bXRIG7O =o`:et+ |]oK@li3i7C¯'SS{rU;quEHuܿe E ؄zt)N|t}R eUڏ_ZsM)٤'ė\+Ylƨxuо+iÉQ9Vix*<[q>7էl۫ ",z}nh\4f3. NgΤ+, !ob!w('PeYX+>ة̈́IW M.W0h'W?;eۖ"aۍT:.Hm]E(:3%/H`Vwcڅ2YbmOO~e9q$=kTV4iX}p׷I9xmj!tI?2:!%\ g㪼Ђw !Dagd'%%W>>%Ev[: ?~74Z/",K+)<1Gh,8~ udz(3EO3W?iL6ql?f1W>۟dl\'7>(x=!6gO,5yVtgQxF\NK|+ʔβe :>aу<(``! s4lٙ M/cYR7+#U5{b!a҂*h%&9h+c6ܳ+u:R?6KmߐT{zP.^ `؆&4vr;q doy 'W啁wxdM&ɉi#P:˛c'Enn ~} qtHݜ| }%]ظo!0GRl cg/nm%޻ΐ B:^w4ד\XO<|dPaH3y)"5Qb7Z|$71p%.1ls oW\y-l `E4!][Dr=ǛJp (0;:ѳ|1-|_xL6g(W(H-"ot˖Q{Z(CYp"K " NPrl\3"9 WTpݕW\- @A~(W}CkTJ ʱmJsI3Ux< Նv7.PC.=C@W{聅.Pbe,/hv@n?7ūliNR_ C?+GQ)kN GMD-8P3ɉ:RWMw'KS͕k,`-6;-r&Ì D9 /\ۙY~N}\,$HRsrup *\}"eLb:<#AP(7?Pxʑ'_/Xؘġ,A/T&+><\'=z[DJeς3yxo.@`hAd3)ͨ'w1wWJ^9H KbQak[]嵿|];'YEO$9f`GRe|0S~/t4`XѿK WsL3TEkPj|Y34о7F \^jrYhQE\OھMyW­`k/TOET"B<AMtfO[i]f9E}ؿ>Ժ86/Thq:P]O|)]@|7i[,>7M߼vHʶp%/(szICH|F,#O.GdDZm,~qx|utyJbb"Fb֣w1lx)wu'CGһ_? W_Mō\M6mD$iډԥTIJJtbp8ƒEnn.qqq8QQQ$&&Gzz:. ݎrN^^ DGGQ?iOqѥУgVoz8zl+~㿪U%Z_Cܿ0DGCU6OV/vzvs2F0X90{`ӱ#lٌ;gObU\<]O6P75@[w ;N ŦFU]\; 99coUwhز2;t}f==bɰ|nGCCF,xrh+l/ߏu/MEm?Q`K1ojĨ}&$V.[鞋ǫs_#B/f=ɤɓ[dϝEY"#l;iͯbh$lEa:,+ɔ LG}\݃9*vKM7iWbXf )u;8! 73c<9MQj>dEkn&:ɓ'zÍ\xL22XTT+60aD yj,$ןbn@EQ\Z% (fHK}kÔΨ!Ԯ`^ )ޕԾs%\9B{`>=.CW:inNg脈,"Li !ןrMC@tih Yԓ8=H~K̑#O!o,>M"6$=jt>š_z@nkCԧϲZ>ʧg5-sS.#1h $** !%Ϥwhp$%=II}mHX~K@ImJHsA]L\r7&ȌGg%vDZLF\J;l`ԩ --իQ5zkRog,6'>kqߌ+aBڷA)ShiNB A_HL¤ 5ŘX1YuVI 쩬fLa hW1tD[5j9QϹ#KՄnj<1& U ASF c&'.?֭hkqM}H&R٢GfÞ]>X1ay#sG'P|Z_AШ9~n,{JҰAƓ錡tR1 -2<^ԩHxs%c黟mD;iii!0u4 w_(yduMSFd4"RȒ QC AQ}جxav?ߍ1g_# (l?.hxs1 6 I5(DR~%gN; 4L2Aj0钱kU$:$~8hg&\mmlS8l!5JЙrpJ[p;aF''} ;Yi iL~^d;5~3cmYQm Epso#99nQBT4D C]DHSDbvq:8Bqqq'Xn7vN'tm].X|t:ѴS1IR, dP!gŏ,El3b10\ٮG2qȬ߹n ==}^bf!?ƠEVnx"JBSr}:]uk{a=g' 74X5{PIfX}NO.9JƐЈd _DsQD$kSPO("57Lt<Q1x;z`ܵ Xh֏&gVo8*C#~}1!W3etX6 &LjG%3*]IGN!Pt|Wt/d.'%5#հ%9HOL$-?hр=6ɉR]AY] *TT`ћT\X&=fZګ9tGRc4)1Xs5+-}n|Z2[gtzFA9Y (?V'/@yB{ho%Ez̜,J its\~ؿ?b1ΐطk7$qFyTVj /|dYfС"t1H턇ldsHʚ'xOc)\BHt^tX ݷ!6;su=b/u(;;v{F,zMXni (76XHKM!37Gg4arkq;BylO chh@8d$.?Oe^Ѥ%&C&# 8bb0 r՟QR3MUcpf##&OB~NQEDzwrכY2{} ;?XDNJl\b "P^YM=Z{5ep -53:HL'=3-.炙gNY 0l֯Q}dIֳk0jUUDMb`2ODΆ'oUdIp=W晴S¦ |FZI pۨS#;t:F$oukV"= Mr&њWR1aP'p["5%%#ы@РF0g@p?`Y?D'پQslb&6ZCRbI,aDX8iqPMQoP5p0lěA4DOczi:Iش~=#1b(,ZbfhFI~GĠ *'y>[DM1ubf+VDz×crxBf3F͹ң\Bv|&"yL <Z80\f{*::~c~iZoqt>o:JE4Gg (tA, _|1La]g zQ$4_ ^Ce鴅tLm>x<)6Q'|h)ZUM([&>usfߊװ[7!X-DOaC7rd_D\bl~aCKqc)2abiɌ8X-uAֶ4qboK8̍gAs&= RB-,]-WǾsٿy6 ȁkH; S06܌bc5DwEQv:=h ֥î #3ںe3︘@+}/$6-Q_9:w-tYDw C^'L.Rz 'tHd z-mǑ/bWM;4M8럘`-8e bO84 , ~G)8N-)&*pŌJ)e쟎%]f LKu6si R҈y8Tegq%cGnfcq)mS~<&R37A\UFRl%x|NXy DכZHmUWZΖ:|rV{qߘPL * Sc=kUEkSL\7DirܳC"[:& z !c9ضy eeGK$hiil`K]]xM_}Cmc}m^F fPN5h>:ʎg߰#f&Pq-+7CK "{c$varwnF n厞:Zfق|(>|9? [Ѽ- "ͻwqꨠܻ=X$:K 5VKVf:F{zU5姧>i.TڊYi JG<#ā/q̐3,e.ٲyǪP!^:$ &~W7p<‚g( M"ՕU'ӫ5=G I1g]e$ .:>`ό@ z lce?fDH=w63UXvD"mnRcckPfM"F':90W9~{p:]:4mXĎ>os;l 8p 7F6G.!g>v7Yx[u2CQ%rmM+>ZLM^6א[ [q!ei6~w[:p,o桯0lV\Y*emt,Z/P8'uhܹĺXtDE*Ie-E0C]g/h:pX3U!T n.t3? @((1kxKrn"xNz^ݍR0A0`nl )M-k[wN#?o49&%"K2UKvw4_coЩ |EtmcZ2JXfw\?Ԓ+XkʨBݏlma$o%?|yMG9™؏v$0vd -b[u :QDԳYazJXl%M-!1k<{KˁV)7\#زa |^F YUKPf`;NIC2xYf ꙵf&SkQUxC>ϜCxJDաF\:/qDǑKԧhI/wFEoFP.^ rN/L#}9<#Lxt1FD4h_IE$#+NK-^0I.vSQ+1WȸF 20Jг[TʂWtRĮG^bǬYo>FhmcyhJ g>l|zw*0~x_k~fBIETbúIzq)F;Ē箥o1/yW.WԱ˞'g9 (HM7d , A0i%lͺ54]?$W|:'.{" y,~nHdT;pK$v-@vI!wW`|sjyr0\z%17ih?Nćh/vPTn|D&=%$jΧG0X]zS8zf_>l&1O'+o_j]c &EMKK](mxLt/Q=(}u3Q`'/%q@lQ nMjgOQSȵ߆hJ1q(֮X7 DtHhki`Сb۩EU[1ӭ=E@]N ׋;sZw6L"He5 ""≚흖f򟊢Bc$fHMb1 Jd9He3Ћz-A[Lj^SD>3IV.z!IP53Cgj'Qy?rH",D1>EE3g*:AFhB8,i*`^  ejk ZDA(ZF/O0i|wl Q&KHZE -#2N~eD~~ϝϝ.aU"=#NpYum o9)'Y}ݣA͵a4GbhhYx7l &knWoFk^pi#.擇!-[0ZmE{؇&iB!YH8WLx#&?!WA1&խ/Y0(HJ2HWrqbⲆUBO+⭕B@7hF$COzxϮp˦/2v17տLyuw^:~ƴ'I~1dGI6RW[MH^p(V[ ;;=T.!A=FBDCc=>_rƦ\ѠQPPF: ժ4pB x!y\z0`6mx"hH 1ې*2ʬNLVd;^4 Ef1E'HaBa mZzEQ=CR0Èfkc」$>ryfzrd3CT$IDD "*\E1 D%(b$ Q09ιr8aD-f-:u} 88Aȉqe'4MXy8c*,bʼn1P-FiZ>qF%g_ҐVR'U se"-BH{\;l&m:J2Lax[dV*OJh,ZES ]p²Ŝz4Zy%ꗟe/߉bwMo/2:~\a6{@جN~EQBx+Vq `&l 7S(c&jDk=%SSeoyx<@`a9pã0ac;.o`CwcqST[7 E>U.5t~˸{]6 /ɐɤҘ łNk>OmCd<ضOEEd 9) 4}5{L?1l`,P2Ec$(Z)C mmTMd^@pr`6D^1L]X}~C<ЯCB6C<&?8H.aμ  bDiv+n0~Y=\r9rK`>8W\r] ӛҳq-]s)3ʙǑH ;f-FFW5So׮G:\D ЛMN%I!![Eo̫¶;fT.[J6E68KZL6Nu|CQR'cdj)v@y]٫?MCS ?Gl~ÄѲ,fϞ}Xih˲([{Rn|ZMlغf $BXԱoE4EAVKB)5,yITQIΙ @UK} Ƌs((y2}td(6H00MմLq?ټyぶ d)D:&JP[WO2`UΦMyV`]p!{cm%(,~ /_M0Dʒ y  IDAT\>;~8EaSd>UV<޽{)'BzdR֭;La,E&[P:7{>۶ihhqd(2}_9')m4l.F:HXz7߹g޵gi^/jk(\d޵k"0 0Tt:}<2~j _){@lݲyMfs;Cy_aŢf cAd]he% h:p84nw20C|"sgu\ [iVu7| ?-լ8l2 M_AE~[ waXU%^~'0#J!xnMXvrp88\.^۶q\8I}JMy=)%. ǃrUbbYv/Zؼ5_z5?f3gMH;m1eQ^%R;]ҍ"48! ~̦;yhhŕ,4yT2sC^ǽ?+sF1>vR шQ(O:h"@v%9X0DWx $| Ci^ #١Q4PaeXXy/wW"F nmx@,/\@P$ O%) x~s\{M d F"t3ϱ̦]6N8v _ _0u#6isöKq߾Kgm٨b4=bX*TPt N@ mDM!GSBWJ `X@J46m Ŗ )!Q5J4,c U[o:\JҐ^O(s=4Ϝ0!Ćv)Tp{$(Bc$'<%zxlȣM F'>%;F4u}JgTF; Ø+5 J q糬RRd %>sR…iyY8gvģtݗ38h6ь4o(fZS4mȄ MɜraBpɿw'_w(Bh2Nfi9%<i7#8/EuYX/B#"uj?yʰoO6)tʭy+!zFZxm4-l$13Q'^MG`ݹoաF-#(v3ȬBk;-RfֶltfdBzG0 ~Os)ߋ@?2MSxVϿoR8aIxv>$b(g[IY>U~|#sn=$EƩn VR)2ØFk~O N RJrfiөBEP^O^D`JPlpk ? #H)QP(HIrgv0os) MJ_QTTT$ĩͧp<|TJTUJ9afUUM p'}qĭs{9O5C˶mZ9Ө'/00؏Os/_OÉr "'2_ӈH'aCCCtuuM !Hgض&vBeeeP 9V؈>w%83Y|Y]7S`M3uU ݺFI(s/(2RP4_+m;new ~V숓d&GՂedֲg-IÂٴn߁(h^1RH ӻg/ZK}l~26u0aOџA дhq6V^F۾3=jpūxuؖ=CBJ%r9~rsg{r k[jR~O{.6b8 ̚͵<O熿[}3oi0αK%ˏ=r9f$/r׿AǁKu(iۤ-K!bx|4Kb*MSW=$`Xk#CqzoOLbZO(0\P_m U-RvocGpZye3{L]zTH:8LӜr?=Xw?EQ]0wSq׿zNmڶY3fx;} P ;]Y!Ȑmd,V64EjvΞzÛq;^/@@ Gc8rl:H$R:0LTt6! *%b쟍 EֱcǐSw(蠼*ʶ Qm =8yu#65!^؋;|SzGTG:'pᕚNzz_?545Y#U1@ӡ"$R va!'@E -H cLvRyp)*RcJRD۶N~vW_dg79ˤKQt!ll W0 [h),۵d6tQ*!P`l8K*?|>Ϯ];ƛش  WK6ib>*;2 djx'cH׍c\o#备q7X` qk^}s17_{H J" |.qB?nW Uщuruײ}BN !%7>}p)͏;uk6;}*Z;[$=;PAKk7hY~r!l'Vi 8L^~ CrpN62OOW*}5Cif:/5e4 y oWM6tYD5xU!ۦhX㡡|20s~=Mr^ZEC<׿qύ_+> ` ~v.IdIsϯy9ˠ6T:ÿ !JmoZ[[7mz!< x76<d7KBɔrXz{{DuDhS,4 JdHR Jee%3f )QzI&S: 3GĮ(#ۏ4cmAtSQ| uMQzUTOy8L_ !Au6[1UzSҵi">?ZN>*D!vTLǨ*8$4/ymi,>+I$CR$|#4P/6U⠨GC_jm ;GF5#o)6UaN:CXqncOŵ vmJ|׳kfH&4:JMa,k\f/\HYD_Q;uK!ڴ-`BQ:PGTj/'ch[OKgSZzPf%h+kҜ5K7?(|}+ݻ x}  <:$2,m㡾NQ nǃ  wS򪒥gH@4z#eY<y894)1mڡ5U5ԗHrZΡlώbKL"௯QllpiobH|Uc`3S:i,3i mQ̦Izng 8Qe6ڈӾ!Ml(b"Z&oEPBJ$*UAU@LH.o(T3N>U!6f& KA KR"Rks!J']Uh ł1dw^uc}*\^`(7vJH)p8|)5bw&7ϘEy!=/!RȒg>yEs2n&G,v"LdQ*V->g.7DeCdhzS#*~(i6Hnq-Ү ܾt'(/wxK]+rYq÷"U7uzhl@5PT폠,= LJ_ed~tFyMd ^&Ӳ{=teX̽={_;I%8}O~<-J&;*!ֿ@5Oҷl .h 8`hd>Cel߽Զ-{mZ9 i {PFˏ3-x8{iC+i3=;v2yB:XMP_Y?Dq(D͗JfhGg"?XEO硽{vxRjE6L`=>*!.(LӤX,Nh`Ygx|zxdar9qAɹ:/.1t?IYҒZ 𞝔M2RairVp4Mk>q_݊ԣyKϠ7ia =ϣ4Fq9XlQ6~ ۢ"&t}s/s~u9zO<0 xE*t CV4F5ϘF~R,j)I (lٱWo2k5h(Oķ([mB>h'::}-dZ櫱҅AWƌ8MH9BB%c)Q, Us X)U@TQ*bZؔI: -GロT);p4P8}K"\Ţt^%sM<FJat*AeE߻./I&)F SV^hbZrO>$pT"A$ad8N]m5G}4exH0&_ ^}V4LfUm]r:a.'z0&ʩ`? 'çBPM9.3eMJrIc…ŗHœC! @8ӧ5lR pd&ehJϻ8^/HǃiP(a8ΉPz]qD"~?cpDpfM4~#V[`v[6pIG@$zro25r9^)J Iա擤y-hnNݠ;E>{PmTUе0ioDZM(`ǖC1^~QT-J_`ԍi4D*ٷ܎],\vNE"lY*vlz 2.}OKVN~<PS1Y'}}8-: qVѶey OP A_O7\.sq:Pix^Fb̞3ŋd)b0!CESN\%51cV1ߏq`VE? S y;3Yzt!wg4N˪ /GHeŶd߿I.9%F}`q#/I$|a݌DatMtey̝3d*Eu}C#1,DQP*zۍ3Q,9i{8mƺ0Qxet )elo>~C~s':SCx" #IS+NGW7RD&T)/C"q(iB鈿((퐺tneHcxsxgeU&ٟeE!^,:*U(cg%b(*fB j aJ1ntN<*B Х%m)QD r_c$|J,$>:iLnF û=8U%‰ү i#lolhd^6(Fj,;f+=4$CFoض} B=ϯG~e,;h4l颾 6bK.9||n#]7lVt^[;5]I}CgֱuvlL8j?ėo9Jǟp>6s/Szڶ]I3~̪ȬIR;35*n|NWٯw'Bs]/#>2B0p\TԲnZ[hbK IDATgf41.?l>|^4Z^^AC `Q0-0^Ef 7dTdi磸ü%xh[h +S4w/gn> ".ĥ|۷0|YsXx}}X룲5k&  RC<$Fu*++ MpF<>rf̘A8& xMT|d(&tU 8g“+ﭤnFL>l܅a!|!thd LFW|Fgsk~7"-(п{C¤Jcݞ#CI 'Bat溺Aڊ:*o?Kq*/# ۥ(IdQC:Y e3d% };[8v,]8@B*jUqn<icˏp gS_OބΊeeeӷjPW&ݟnwŧ߼F4Ӧ71{\z:;?&RY͚5o0ҿWHWœs*ܚEu.`KliaX,2h r厝K AԚABPCy#DYw#xTb>>z$xPU̓Rʱ$v{w'EU3F-rܫYԑ.Ɵ*g}#2ӱȜyRԥ"&J)'B1܍/ S}7<*(3|Si|ܑ3s <'hig,_QvmAgwmm >(t^ ަalTg(9Lg;0;ҘP4mv'iypycq(JF*{±tVFp;x=3cn;6^ 4Ar"d 14U?q4thn|A ˁ04e$nRUC(NF1E{F%! LSce=#nn2C#*?q}zҔ誂a9OY|7Oʲz" y7t-{8Oycѭ\dT%ӕԥsO VP,?j|KװmFOsɧwمE:yo/1سyӝarbF>qEyiEU_̬9 A`%9GC?邛 ڇCه1]Z͠D)r"- }sşp=x]p;Ceж)+C; ϠiayXpPɡ8R4_-|s>pW]>ϳk.:::htwo/S0 4>uJnGJK) BTTT@ L۶'Z AʨEUU~?-***hll$PSSC4=fJ U㛏1s# C=νқD"\vp~v3P`n,K{O :ò {5Wpd5M qzǣil=j!D;BjoUlۆR_fen3~\\MdYvCG~E(s.nB>ySY'_̇,ڏ7:=<|Bzן+/:ہNTUÅ0: 0 u;  L.*(tn&D|96M}uI>NO9sǙ0$CNqn8t8WL]:TtwEQ2Uaw.۞m8or9t.%\po#o_ -BMilGTVTʡsׅ&MBl_gL͘c[vKyykEj8c\ϱxlaŋzBfuNYɗ?WB-oe>fa42-.]:r曇p4Y`s!> ]xQD:i9zG#d,^z)A)cxf j)ı(uz@U_'4bJ:ٍ n˳38qyǞ[C1U@<褬RJl EEAB{c"HHFjE4&B?u֑Q=rG. B!"MF;d2Ɇ [,ir '?;Jܗ:9 HJTrm9HW^KNc:dO-QdɖdR rf0ɩgs~q?=g0w߽uݺUuV!LLD $& /O_ zķyn]?Yx6!tyy6"Ӽ%=3' tqfdšm]_UUرcMrPy ,s5V=eY>|2Nפix< :ñcǚӔ&EQx, S'SO G}8CZYXy#=r٦4=XeYnx;K_؂[JXYjoì<.r1埐B[y Y_d~j.77&Y\a}`;S~YH\6K(Tlm~2U FBP#C2SCPX1p$p #i-[5jR W%j#f3~yB|eæR,ɐjK׈EgfGwq p\Xڑ[QKGٶKٔMΟ}>  W][2^ET*C5usԩ:C/oڴi|e#GznqMe(:ujUg?>ؔ즓'O"  'O$bq<R!@eB0x;wB_EZv:epXFe~T>ėu'b??Qp+|d$-zrxn>xᲗp?%$Lׯ3nnYw2Jf(ͯ|Qq08 Ǒp0(UxB>#7'vH?)&#UAl@PH5ӳ^#fZ}l0p6pqez4R2b)M"$[{$!-%Jq$ ۩WJ8HmJp#uirWz:ek׮eO@#n_4*r+JflݔʥkD[+i>{ȶj|KTT$͏yX7D|9]v5424kkx/ ߌvEYh}c_ ǹ}nfm^ESCw ֞,#IBu$Ibm85ijx|t;Hk݌WWJ =4(ٷu#vs NZJS̘Xәܸ9p j<(N>3RLgns*AE)(sCTx@Đ5_%jTL  jc[FĨdX!m%#40=7e˸.BaOLvUU12NԀs '[eƮ1U(s Lf=IXb߲~FSx[u3(Uݜ1/줖/s·zZ?Ƴ!z{}Qv{#/߁!MS-nI牴F1*S`ZERcD7pi7M죘ֻPE":HC]z?(<_222A>"zεCs6~0*8$05P?"/WI;5t'y֎Q3Z h*ϰndMk鍶hj4 ߏeYj50!:EQ39r8 !r3::ZN,L, C:&JdxxX,F"X.1L&!8}}}۟O@Po9w/L }1huWZ\4" ͉x'M_Dx\X1!H`ZNB(-$5m!4J(jM"錍-q %ʕ,hŐ#LjI$&*3;Ba/~KbY&fX׃8mfIcT%+ac74x{y0m:Ԧ@O%g8@׋4\>@/~?Ow/3w>ǹ˒ilȡK`mIVZo!i3aDC69BQMz9N4tDv}/hZ)5M# տJ>B$iڲjn7Vʟe}hg6dbCV麎/9 ngnc~-(r ~a3??EҚgpG#U7FCuo0gPBg6Hkq - pTE29r9J$p{/KF' _pS=#$8ȸ%u1b`n7ɔ)~n\ ե$4Mƭ(XmdQϣR}MV4IBU%\KQ$ 26BMe&St)HJYog" H$!C+q7e CN6wIv_~+b+y?nh<,tEq9;ȕLpmnT|VG8&P0v7+7ׂ8#D#~8?9*)0T7rP(JMرifsWHUF8;|1-^']2S~R2-. eqc/]ۙIVdla=..Rӫ[h6*MwgTXԩl~.YEơl,$ LM/R)WnGU_3D<.~K3tlbL/r·dtfk00 RQ&ֲW羃tQ{C8;ZXLSf:ϳOsI͌se!Ͻ;qvL]!iUeWVQ"Qs'PlѓD:Tj65Ӽ- E<~ٵ;yBUZ)7ӹ2Rdm~=k>^74d,\$!HDvnCߩT*E$**r|>$¿ jbH*bttY jJBP`vvQ4RùYŋhęag1D+RB룄%t@2L .pn aRsȥoMjbL:7b Cv:ۙ*x@H>L~jGDې jNg{T%b9ߍ&)X535ǡ%02=̎IdZc݌LGp$W]}yʸ c~1-TL-G|nLsNzS8uhȡ~~;^kNFX,F<'q\9ƾS9d M\./5T8HUj~"??_(R!&Q亵+{ ^*FKIvKzs(YE8*S\2dKH$zJB%,lP4sי-p kG~ zlMGVT\ض,98BE%@4!a9BH(2FD$À8Rm;nmz:H~0(T_(.ۢ*FKnv ̱%UG,:qWzJwWOrpYw7A$Hf|, X&Hȥ,"   ˄-TRhg?pi^ΏORЫD1Z0<>Gv 0:9Mzb+UQ] VgxG]P$vU<ҳht0yOel݀םwl1^<)c*]8sq #|HmF:nNZqgVR6vg9tⴲM ̲s;¢5( e]^8f(+芉U걫! i؁&XaYnݔJ%ɂi> ;'I‹v208K/3UdM>= IDAT!NQ5K.v䙯E0?}었!3jQ}iŴ\"Qn9 zz+oiÔ_d8=0]qL 1?4x;C㣔%vmҕg)>G]Hin!(T44_2L KLuA8h ˮ+^[&h|rȩ7JtuuDzhiLv5P&>xH$!#`0V"AmoذylH])lMJ|mڽ3?=(- ڃϭS1Mvog.=C`f(і5>憆(,f1#qf*DyF8z C G}";":xT4E"ʕ!q1lEW%tafA6ojp\tuv1O}">\Z GBY0H_vf%vmsslvCC1LAOgJlɑ!2SÜpCff=ÓJoOynlmQƪ^Zގ 3e[S<{dǭ*Z_;ُ09*m:JKQ\دZ:{6~rr_ jW,xn"2(xB²P]?!8$\AJx\`{ٶM8Zv%IRSfB2ךŭJ4nEVPnT[6AFH ^>$cKM ᰇp cG'f~}<թf}_gwa&a%$GR6 {j[,Vd^o B #dF݈CC@р۶ɕ cHVZg ҫ؀m׳ JK菉'D#[+p4.&[_"\ٖJu{=8o;ujq?4xN4η5xkiƯ,yqgEQn=o䡡)ARpužmdR}ARhE*xIngW[7mf8@XXHeq)UbS8P) bmSX*7%*-4$^^)vذ-b*R:3| N@Es$e^ѨJʳO}X6\:5}|mDb7"S<*t7ؿo[;讒-6Fohw!=Jesa.4! ]"6N!다YK3wއߊ~I=x=X w$^{KB \8D"¡ un-$I.•hvj34B3kɮdw$(lj!T\ . 3\J28O=$۷DnܸP(r_~UZF>G ߅ ;f $0dp*2Y‘$\m`Yq~gg{n8 57DMDoL$i!Y ##eٻm+O }3pplᨀ[hO&SkI_7hmmmʌ@ӌPW|W]B0>>rbSO>o%Heva^ ASezxbr&ǁ9v([m<4::tKĆ BS>z8ݽzv[U4Ͽ4h[&ϷfMiMRXgtx7i#Ԫ56oB&o˶y1nF d "ֱ /toa޽x^\ I&y9s4oX++5F),oFɪQ,!HHȡb1 Rb>E>* JԲI&E}1`PEYp$JUAjHKp܏-$JWERdFxވ!bF%_GqI*Bq< .i -(gJݰ1|h'/rljcfl:8̽lh,H!P/ dU"R8=zX7\֙J$晞,C̷SUTʦc1ݴp&nhM0|}Dׯӧt*L]5 :>Yx`]/cc*%o܄㼾FŅ_FҼmhk)WV]l6K:noynY7ol:g;::^Z84e2RT~%M+ealڴZիYLh ,/?NR 4-]$ѶT_.ri #x~Ee|bq&&&g3m(:ό +=爇CLf؉|ztnc+V VM䲋mފHu64E+itk4XrYjHo 3YIln2_jTY5+a<#1.ub= ?Rw*}HL\!#"!!jӧO*-/_}kLeB_:zNbikm# f㡿U$I dVm7 Md2IP$JX3 }˒e:HMEUw T<%mz@'}ev72Th cq WI%?3gCj}rah |O񞷼#g8h5ҋUnLVV Yַ7n ^RTLOOsrV(,ԩSֶdY楗^lR)èbY~Mg>VPSz|lǡPOMP&ɦF\8oɲŋ)W !B0==*`YN uA4mi&>$qĉn4]pa Mw_SSZ󯚦Ǐ#IL,:xoщ$̀{_e!o 233LNM!;{gΞEe~:099ĒN9ituuzpzi7s!B~J7Ƙ[,A,"ZKf`f&pfm#Utv Bغq3<!M&9OX'Jy׸1>U3\6#<;6mz&%JX"._E8$Q0<.&'SDp@ccWY,Cރr3B¢AU.N ī*af& [F%0m$Z0,5ƃ݂ѬYS,R|'G^@s\[ž}V)}PO̙|ݺu*kFSC74ATB $H}xey̆KzAlsGJŒxgRNtOLnLI_bA PY@0 _Oś*%g$_("VLέJdY{iZȶmNyEQycV!-xO$L#Q9{4E% &H_ua[rab+L|Gq.I pc Y;'GQ4$B#6:[|h><>-|yIZ"WΓ.` =l1jl_a>45 < :P܉OtwsgwJӝ}g$IKԭtزu;ÿM2_CȲիW 21V#Eu!x2FK&jE*YG0r<^a`NΣj!Xzxȋ,K $|_M!%Ҙp5!\ЉD]s=b좵5dI$idZ-ILV\2"SsBҹyf'jk%)FHY)y)9J>+ZXeXB0J ̜#.$*}4 tDUpR9voI*5I( >4vb6tJ@DF@SZh15C# >K L3>R%j:={VV;f^/S(s@E+r2n}w^<_Ofkg-<^^7~ҴRvu~?ˡ7zAUUyl&'XD5k IN m0>A [e,Sq_\h-dg-Zz{vws߾FT m!}py4l&[p[k=<Y0-->\$H Vu1` RmK/qk.<>r(XQW^KZBP*hu./ sLD;y)* %ڃ; @WZUH^=IвD[1W|˴ AR~㷘= [˧%Txn`멌 4gϜ~_{H\@mیS=AՐ93KNο\8R ѻ]>Cΰ~7H/@>uu~o~:6S7x?B$ƅIߍ ،,Y+zSS<\֑j Zv}zإ$ǵm{,KM#!^)@Qo|[_S\.N>Q ;Hc›`9"8s=Eĝ09wH.(XDFgdjORdRYɖ L tt&TJ#o=S bj|\Wi"~Mb;Drx\2R $㸱cVktv a~{߸ IDAT. ;W;VwELR%%JTBQ.+aST|Qy*Uz* .M"+.oz;s&2vJEm2᠊驑́n +6FQlv׿򟿏\G?kbcv'KwJTUc-/p\Yr|/ R033##)TJEX/qثJ,;$IN*LMMgqx<㚦EZŶ$Ai!KX],}VݠVkˍ,* 8E68r_YP{8.[5mmKO,=w=fҹe;v=&$E=F:X*H ,%D4K=&d</ 2PpP[e*D}@8?E/n S4<; `9LggkZQBvpa/]_c>sIvoJ\ sJ,}ǟvz3 H@H! xx t'=!@F0~zLO._Y.+cYU]ZVU'Db;v zE<>di?z_ú ݐou7p a:DjT'/%1x:J5"ѡAi x SkU\Ӑ(g2x}1|? +y" /ӓ!"/jcYw =}a^Ut<~JhG\LYAmRtZA0EbQ/I0ڨ#+~]t Cl%_\4`5'L[ ޥsEEfV49ez;oڎ/"k{x8EOr%U+QnM'Y'?b hBwc7x92iν |{9) AfK2z>]wK_Osq[ek }j^"23T)k4Tx<2icn.K`#I" [8tvZi)We4M5.]Z0tR%^m??I{{Bi星"I6r0uQzzH>uWGQZ+r_emL"TL O"j8%lELN֤;.'.Lt)w qpL@,#1޾M]n$C߸J28Ά @fPsh"~&xQJB"Œj\Ȭ%VʘI C%Q[äW= g> A__~Y~NjCt Lb_{-&ca`&dd߁ zHs0n($G9gďZ W`mH:]?ʮ]Iorp'BPH25v0< r,&.,q}b^oO0:a6B|6Q%l4Kx\bd$NW={ڸwNN$}ױ<1{+g ?юgo"F5FvphW?$\_>w}cQG`ShCe)E0afz<~Der<7H+Q$݋E4с(Ex%ik C?Y'I;J4L!,ƣ ׎*(WTpmфm1rJT&&&7"Rd sAabm~RsC~8*uEv}! ~kRp$z9j2Y#yU}=TcjQD:er0{2@׷Mx"Qwp8ei=qoR.4eh(Ğ= ٳ'PXL;[{cϞ(T *" %i4yg?=m y Q woev `rK/=ymFܙώ1ɁrKZh((\$o囝t|# !wH]Q+C.#}ZQ+:<;h"3\_|䳌&Cr y"5[@1*mxTD0&MPhԇ4$cK`'DnpidqEdd CÐQEQŶ$ʈh4ix}2\hC瀋լ0GLM7#8NRP74>YP2>N$`"eyjZz$)+x!j5: TNА t\"EE^ 31V]vnK=K=IgCb#M"|3B[|oꋱ}>PAfs9˗ ϧ h8x={ڀ:bH!8tbđ#>܉\CvG;0*~"("rͽJešCGwYXX@kv;#F n4~;#tv*{ 8NC: :lg׮6v튱C )uwh[{\u/m %|ߧHK: 3;xz&@|)%Îo35Klc~mOyf"K\Ĺa[? fGݠo|AiZrPC:*ma5Xkؖk8V⭭S\YY.Qϯrf"ȁߦ\SxGXȔ;I6W(?W qni\Ȓ[fy*,ώ3L u6|T(mφEe&JIOsvlONjVzT|7ҵo|6[ u\`;{ g.O}lֺ.H$$ۿ ,舨Dz-"ޮa╓G ,/CF28 ]Ά ݨާi^={ػRm8N+h׮~We߾TUQF}tum>yJu4t] zٱWnhL&S4TUSQUn}.TUszT/Ε2ؿ3/_~bZŕ#=l>='̀>'~Q*p@ 7_}RlXÁO? /L9a=D xȬfKҿsϞţ+ ũ.0k4MPDtUbXQ{)U+x5Bݤ^q#rE `vr|rN+M-.8FaHfMj>r Pďpl錍m4kuRK4٥P#"sO}gZ昛"k^%LcۭRx{bT+9F~iM2Q-XD4BJ~j7Á~<8Ӓ5ncSx:IԞoX%]o"">*O=1Xu2\?6!o4&r,K|*Y"$AFGۉBUnct]AQ$ >F<##o_/]]QAwwjȲLk|*ͶD"@rtBQ$"}}Q<Fouv6۷i2%:;#nkT,_c.j5Hćm;D>EfmDޖn"B>ߤ+Fi/H(Dggf]}銄8ߙlw\\Akf@瓿S*qt~7O%eHB{_QGI9ʦҾuhWj=z\z:aVeAWOިdr+kvdn.~D<@g{1BYBv-~/k9\ 8@DWFɯ%EJKyD&SZj"y\j:gϦR\.!I‘3x>*&mq?O1>ֲ&٤^1iQ@tm5VxK<"UgXZACn"&p;.kȺ(iT&Z tt ۍ'0*(LX$WiR5fp,RV`G})*ᰀehqK~tn fc4x %p)*VJqMd HĻ3CAț[8Ca?+HHS>~[FV 8w$ӏepn^uq(D"!.]7VvhGU7B!a.QPUr@5v@Mm4묭U8thtn+2gvۃtv躂ǣL]:$O'00'h zUj5Z<x<@OOs疸*##m9mo|-]!QhuIc`}DSFj1l3/1{yfSl a;/)P0+{I}(~%_+r|8癷6qP/{+,&4 ~kΕmQFF]E73A7 L_"lŵMZT5{]BR4*qO']3gŧ>oC$26 GO`ǧ<mtIdn"d>Q.U|sC S0\ufS nuI`U3F6Μ9CټDQ䮻².[(_XXnVD˲3|BM>dOK-$">un7$]:hYn&u+wJ{m]^^,~? W3^^y3oο4/ao/~LSZݿ}=WjO@<Sg)&-KZ"MqyT33Y#P9$'Ȃ!YiO/lRɠVd~z~\3u`7bIQ)M+xUAuR`,LOdOPL2D .M`[CI5GY^aaꑙv9'cZG81rjۑt,K4\GVrx >$º2A׼$2K%"mh4*}0_:!:;HRc'kx'.\XJMU8I Ḟ/ٹcX$r+ֵ7:E-pc~LS೟=m[뺛{YߟfP7Ʊc*2+(2xG?B@E uADƩH(d <ߏ$IXB{5dY.je vYuٱopfnwt4:~OwӼ辣 *|ca|O3{~xRǿ^RB|7\)*8~]њZI5tt MMkb|jFoTA DXRT*rHfcH;%L/Y3xriLv4+G&={F[G x,dbz~Uԡ&U3iMLK,=Fz(J hLGa. eL]ci^zoRIAO(,-Q5]pdm"9s'=YGpv]&ܧC5?m4kcuoc|Y=:ʷ=ѡ~zzB5cS3(xGhLT*%29H)7ryqNr;p,@Yw.x g.ugrltqAM摷o/򫯻1>2|ɿJ{*({\S/D[ydY=JꄩTj3ss"'O.!*1?0 |+Lf Ü9SVa6F(B˿^wۿ=i~,fuuu)*x<|">2mm]G]p"brWLߏ Tl#dң_;p< IDAT_K j9&x+YƦg4LX,,r^E^fLô.4mQ72YSOr]21veᵷe_#`0x*1Vūu#/ hT0/A|1`qKƑ}6]f߼J\oxq8wfYRٳF]۶ٽ{7~O<$]y`$ DQɓaB[ɲ̎;f` ɎVFiVWWy'۶[(r*egϞ+is|kRqH& nz7<]o:wb~Og(xe~C㕟`H—(G"T'mt=vZ(;0jĞ0NxQd&xiC[oᡧ U˰jJ. oK8q)C"ކ늤R.axI-)6yenqz8ۈʄs s DhcVfK4,`P'NfIfTYFR-R|I1EGgh$JG"N1J.Quؽse:zX(Ұs|d+, :5''DTtDΓMުra,Ef-`6\Qϰ*(64IWcET$؂MWG 8,L? sϟc '򮷽ǹ_;1LOPj BEN?7ro^s7å5 F8 5NCJ|!svv+#1/j'U:z{>z,=zq L8y ?@(bt4iDQFGG, EeN:(*;wDc,.MX%]Ի{^][^oFQF\q:`V~ml'nuc`.l9ű]%\\LK:WDrmf+#[Ufp HO62-KGA0:@.١Յ%xv &h6ergqI\tB9[ATe?Mkx(.tMJDl5zb <+9sUrQ;*%/ҜDgN)ؚef7Wv5_}Y*@6/ڠZ@cB?1E.6c4MFF6 TME?ad#Mn3?[0M\ykoaY֕6ʯ^!sgӻ =[6^;z+n|:߸8fec"ů XbU+l)fV8V.jzص}ɅENqvYY!g*&v};Ul2ݎu<}JDpo|tEX#Ybq0lp\VDYwJz%K$Ѭh]IT[ĵDG$><ܓ8Ƥ~ [@/O[ev6dHպoPiʖTMBչV_lѭcײMT4LӼ*}UIyC+Bymή];69LEE܂V0 wm{qm#iy?L~f}]|7ZQl8Ixݖ~cf*yiRs [a""4AEGED "N# "64k$qƘ8#ݶu]뽂6,k3z%Id< 6wnp|YA=WdK%刌wkoevS)p]ЬZtt1mS a-`~jR.& &آZut>З &/&%tYH<Fűy"211=DO7Iݥ?cbr A־?jF2AEꆁ}IrhAGX'%]Cߤ!h9QGHtEp&BX`?H(X$(JzQ'ZN̤f8ݒ)2 ㊹F=w6"MeD&SŸqg`x \O]71-?XZwCZzaBp incElLVsBD1Uwх&%3m|c4v& 1$I*]IN.a< ngg&f0jMr2gXY)Aj@ۺ8}徛:+i 2f5pMERT1.`J +M\::4KTe,cMLI\Bq즉+:.\Z%D`ΠU4UZQ_d t8szBja;AYcr@"ގm6L'N AEtl\:{ U;cx"*rgNXh`S&Ipt).m H(\BK6>U5*8JKVZ- \eYXVDŽ h M2T^cc>O o$g8iзoDǗhG+<͔CYAMoC~ˎxFuk?Tdibszk$I0da߰] //NԞ~ qiw򾛶}o<1ήf/zчy׾>?v+]Sp6Y]3ik"{0$ 7RY#ogen 8Ikx쓄>#Ͽu .\h:Hpi9a}+J9^p{2u U DN{jXwI_oϟc9Mmc f+Z&K&XOAdyC"+%b[^C;dN E*9#EeGx3n7U+=(u6@ Vx賏Αwx14{>g iDV =p(“ S~Avt/f!'e-iK (u2 ؃ga;YMG8FӼH6WTPkZXkT+ j<Ն,\8, ,=q`8H4`yf_B HTWX \G0lh]<A +5 BQ\̺bĎfW׍KUDC1Sr$L|A|*K,VCp]L&2MZx2Z_it7@I4(A%Akimb!?Α; QQծR,AT*Qm:TO @k*5z'HDzBy">bK4wFO݅?%;9o\!ު=y֛Mw'8Ώ1?\[/k O=ɹ>E#Yw>J| Ex}brw,I^ӿBO勯{7Nq/a YR -2RTkMx\vV8 Hҳ>D 1L- P\]G<3Y,JfUdi:H-*K,0 OŰeH}J".NM"ݨn'W.#Z&P[*RQڤrBAL^Ύ { jUXT!z(CW*xUmbJ9P-ź9w f _hB"6T&"P˚4 #1oj$ZAT ex]"ƿU{F٣jDC޺-v͊jIWno,vk,_ԏ cπ(n$4ε+Z C$3O1QZ,v9//ip7n u2Gxk#J߳re\-۲0 B ĀifڙǨ=dAvz` ]?=6Y޽X5ygǾccce Ww/wf7/|<],p|c_#*g>bdsqO0o3oy8Hi!bpsXֶ,7|p7\Yڔ>r]ҷe/ \ܵ ^x[οOE~5zJ;uzEo]b&CZC.h=G*,a,>6>)]] oH1ar~vF\*b>4(2d ̵DBFV2A8sό1;3CնYՙ:Wf2lwi&o䋿 j $ d*A #gb&uZtd dbXhGmb#&$+W3 4T*vMhu L ְyNOVhVm{1Ϝs"35&ýE\-+<13Yf޹(+ jІHmIJƪ!9;bhp+)}׈p<;b<ºBP%dtNϣ%Q R y^B b؃<0S]8DL2Α bagd[']$a!~)x | ג [B. ;\ZD2PB#4]4ʥ| Oηɩr@ '3X\!_HSd9\Q1])pi?oͷ%&s}Ӊx EB+ H),kIE\KLxeE\-v [ttZr /|JxH-8}64X|OX,1&XRz9_8m7nQgwi?~cL&曗$;kƱc8ww}wG.JLOOjvf|2Fښ]VoTI.- ]/W d9un# 6{o$@1>V'QI*4H'M{61X?wW38'GxM8FύxO}޳WǷ𭉧dT6PqLVcyX(G]bJ)֮]Ν;<#bnn(ڍA$|܈gفFlwZ΢evnriSUj|W4(#hRGnXb_$$஻ZbwB &&&8| Ð;SDu]tԴuV֭[DF4z衎{uQuڶm[Gî951&5fgg.`[ {q1ǎcmJf kԪeICifQLڊ$Zq&rj|L!C.i2Ey&C ₁uRi C3hUHb'Fl0@uKUZ,u% -<4P!(D]N|hgFKvGQÇpRwUM.RdYn%>X*=."c% `ffCun x;6l`ڵuz;t:pfst7[lnYxűs.-n+ wi϶Z0"{$/q/de.w񙞘ov+;Tʳ P4kvƙs9:2I5 XViᩐӠFBLKjs.Mim+Hru%ui7i4y%ə))$M0𕳳}CYCIOї\s][YĮ5ipqr? }@ =֥Y !h4>|RIEv^URJo߾~zjvڵ$u}u+vY"sؽRp%0 [ :ƹWi͚5Ws;JRݻNGZ.QJq=t\0v{mi}7N/%Ǖ!x9tSJu~9Bty q\ױTژfZJ#G@,TZi2R{8[QӘKV1?}%b|eQh6VL]#P R]HՏ13Η8ux7IO<|~~mvwN3\ԈBE2]W"6d܋_Ib5s{9iKY˫])岶&6av,ߋkgNr6|uZC<Rnh!@R# R[WMx' *]`~9#Bb[HZ[w1fb& Wdђ|>ͮ;z%4eL#x5z{Smz$VWCǎre/I>W Tud~R N@vC6U/TS)h9#l -1JD)\Ds iHoDMZ@ u1R3mMiS 9Ϝ |ɪUC)`72# '}jz^|i9?xYn(8*VjkS-_Xt9w%^f!PiG@*x(ND=~-(ٳŢЃeVdhϱj3@2R(=BWDc'PwZ+ZߋIP,.S"M" PD&]]3;W+NDgN۬)tT. ['qTG dC&݌$nbgv`aaH7!l8 Hcn#\ d2C!ӅoATiMNӒR #XY0AA 7tffN iJb_%MLRwwNǗ ổi}ZbE_t]_ϯEX%ǯ]-7YOӴgCo{`{ h8ΥHJ3~iϠygV-J`d  m}+*Vm'ex0VHh7Ҳ~̏D5*U2~.ص(e+.]џnu/i>_ eS,9pO>$׮|?ky5iˇ?a|#"::ɤ$ "BoaI BXj 2M %=apn I4-f+U8ɳt !iFMLKPc-{oXǪݔN?LnhmJS.ǏMz70MAX jcYIbGp[Y ivd9~$-uk zwe,Ҍc(hGUJJSq[ @͡c13We푎ILO$L^`!4 t*u]XYI(bRQ+$ߛ#ו$ix1\ϥ410B!R@.$:wCQ1 <ĆbbM[:ǎBP z&鳣\2Z$evEn&D!ȮkZ7?k 4)O{81a٘ |AH2Ay&bYn( wST;dC=<}&C+&R" @lR@Q̖#[M6>3UV&i%2[k3Q` P T[2Q(f ^' t'D]KлH&c`j1 >gN%#xB7 ۅ(v\q/!㕴yhFHMH~|"VDQD٠T*110u!  qZHgvU38Åqvm8J/T9?8ÓO{ܔ e0~p=s׍߼o}ƞ[^EG1fpTeRl(?@븎#E1kAD,|LS@G# c SgB2W 5 !$A+" hY O╷l|GNfi` &F`DDba)Vs[J1?ZaRܾo~`tlh"FG2)FWԧ}l~hNG*mt DՓ!+Xhcs Jl^cSAح&χD B\3v2ZM#j hniwR7xUn&#T=zb"V1.b]R J@*2>Q,q[&iE]!KRKOyOi~;ٺa3wm#+@hس 0sLM{H2MTe 6fZb$FGرsRLõ}d"@O-Qњ1RU"Ѱ8j3&vVȐHH6ٞP V>nt8=7M{0i56^dPq@\GX P-58Hq q CgMXi"ђaۧxC/bC*8?(u<' }l?CĀ#0Bn淽H(;Q;Nqft4Wvf,Cn|A4\%4yL} O/[hWywfA-WflۥѨ33=E֯_U,N䦛n&166!::THiB $*a.BDt]{t&@]ا1PIQHzbdˆnA&"e)54Z,b_'(Ujn֯ى9j.``z&oBWܲo?zD2EmJO 3K&19Eed_9q[Fݭ0?[si0 ,X[:BO+2-Ҧ3$԰d=$5 Y3\MF_Wh BL> n%DQ뷓(Yt-$rbs=zㅥے 0 х- UfhD _E6&"?a,XBa(m/ R TLeMZ؅Ճ9v8Lw5'@{X?3>5D$MB!yd _Jظq>yz(M^M"$[ȣIQ70i=I"Yd$rcZ|\fhBzNZ8J(̜E$gk XtcmNYzeb%\ȶ "!-L`l&Gsy,hkIZA!&22335mH R\x{bܚV0:]\C:rXOJD04ha't6&!R1ЪUC_"eHwQ m=Ԁ^Hrz#4q |XL2ӳ|%N8S'30xyƏ͘B2I.]|)dl(wp+O>̻f>ϓ6 BFFb".PjD4-p]Bd""&LZxBNe&ىIFNr8~nYlJn}gc$cO-CHPc,b6ݖjҗIe3D2Lʦ~ƚԬ (H&ko>LIci3gГ9OG bO70@RӾwxr\-&\kոkg:{{תrWi1Zlk1zx'qQP!aR(-Xi/c$7x#F5J*sh<W"D%cg7?m{sXF}o+ɖ3xix(6gN=0I*8|s?Q?S8M4J8)n,RR)\*|){X9<ė8.bسg.\X6zѣG;&hnݺ!`b,ժa/اbKu;V/SJ1<<)v1lcU#)%O脚uo)%JRԱ;#qU\.N'OS\fff:EQtT2޾^ΏE \O E F"$Mǎ"D v'#A^; x<.4_,7GlB+ŷ|"˯d-̙?W|x B!T4AEQSԚ5zr 4/F/5R!zW#o~3l:,S&JQ]heT\MBOT QkΝ;TDRRV۷w XreG~ qN;VRrܹcrY?|_YrdM:aHoo/TD"qMAԋ 0(F T$JJ""^42Ti& \X, ]]YwQ:wVܺĦ.6E/)۷G Xi>F J`R^+[O˙sc&lo꽓GOa0BH?rjz!}H)/K@ Go~cc:hQV2rA7-WipC?z98;na >_~#G~&*u&Y{;13ۻB c?:G dOjHieFEW_9VlXK$ D`&E6$P^DM(zf,T#,ӧBޮ.j&f&Ig0ifj!]f3\咦icW Ʋ~N;]r~~-:=W˙8r׿U81 ci;$eR\ DYժݳG=JY z-"iZLNO_޸qgP ղ9wkcp=4)B϶;|jBK/lID,8?z??d޽ou4]'>!wr=b#?0 ٻkK~X 9_(p{&Zz: Et{>\X9$(*?MRFƧu?.ҝN㨘| R4nnظf#r y=|$Eճbn'MNek϶pvdy nVޑt&2SO45l72?"Veh[V!*0c X$D/ >bpGs-Id c ڱΚIΟkv[hBO֢ЯS ZX`iX&-&T +Z5lZӾ!- q])VaKfl;bqds6Iω$aVNP.eN覆T&gϐXHs679h$VN. r oxtfZOq]ɵD(vF!ua6ΟG8vėwN$8?:ß!"Y-Lc ҳh"͇mS=$Օ#NX=k̓=Rk7`6f b`%{Vy`s]+y45h/'.õȽ2ϧ?X>Frϭ*pLĽBP*x[LRi&K oF2ab&B0ؾu+C+8u8oz5{aΟ=O0:6Ɵ|,~ի矾%_*~~OqiJ=ƈC={^qF"I:OT\^}4M 䟿`br;u _"Ν{|"h(4]'R?/_u\RO7xO?ud0})lft<ؒ}icYX 'k呱8㙒O1\r=@FW*ED.-EH )i"C?ybl|.I@Bsn"hl_K. 6p '&0gQ9CW.M:*vqfYO}nXdtop_Wkw拿WՌ3 ҙiC԰K6Vd'ʆϷ 31]2@`Gҥ-alr 2yI4ӗ\v>6w\U O _i8&&[6Hv ڈK&wL})oO$SWW8ׯH$Z9kx. |!tI߻ޢEk? -bzYzc7oC1"5VOڢҦd($j&F ÞC+Zb>@|@ (*Չ(.`6S(Zp "Q5P5!= !TP4@<|O:Fja3`P|ݽͯ 19}8#\π|ɪ^x 7FEB"^G%܂Ɩ`H KA$QK`z :$jb&T "t8, ߗe _>N<G`?-Strjk4%m b^*ö$34BqJgFo+uQ*vi0t)a4#Ȫ 䛨jQSS_'[c9P]Ө2?HDȺE . #G&!"F2!ϡ Md Q%8c敄tFӓhIfX0\M \CBTZ.Nq3kw??D0hr6f[z*"J\2f;o^6h Ez E28a`PTO:I}uDU PQ5H8&&W=T]%exM[@'Yk:>E}cxxI "y (H$zM}YlˁpLbLƗrtgǙ>mX}EEQB`-t&9>bBn\nhGW_w17}c?25{ua>O6}wJP5?̜EFccFz[ CT%wݬ8$zzz_X""uAm;e=gbp+XSiFG=Jx=cxݳǑ \i !:'w§~!@\Fy;$M/>nx1|']SWxp6GEGx5=HϢ\:M w]\j]SUx<v]r&xwxu]Uba 50.C,`:@TJӄuUp!z`$kxgOaB*D GSL'f?bC<@ S kT50='hiٴ50PN_7\|Pd9) |$.{ď+HYc[\Ogz:\>TV Km6V2>Osz{ݏGl*XuniP'>{EU(3YHA5|Eзg7Ghl?4Yխd#G4е \'̾&YĢ)LE'iS. R((lnRˑ> 9bޫ*}!}v{k/WJ/y{x4Xs a|TLF4KӋcC\{:/݉4G}b`0ʕ+GeRU-[}Q}|gŊ3 pws~z,ןqGC ,+98< .$XjըTRJXt(SUիW>}}IXu,S񄪪]nT d2GilذB0+VTjtA֬Y3fuYlYg(JuropǾŒC᫿\L;N`Zj.abs}Gd:d~1N?$ry#&`vyt E1i:>U 8x*7:K@h>BIB 4lb! b"[ M04gx`˲hml:ZuĭGt>}!Bxkӷ҉>c '0Ns`L_OH=A767747N/~U+ ݾDؼ_/?jV얟?f۩&USM*erlV5TX# &L`ɒ%C=D%Dъ2*O>$LbJNAww7W>zTnyoLlGu]MR*PaYEVb@*Y6mE(]<4M#N=otT(ű{5@UՊ*Dc%~PeLGVUTrJc q4 9K51߷+͓󫗲d\ĸ鴚n\/e_,{y}]Ǩ{3l۸mrΘSKރJ߽Rˠ xA*X<42FbDEAJyl7\K00'YPKy Q,fP,wl+le.7x♬MIf80~p%;s![b0[%]2F2-Kۢ>?P--:S:ZHh@a V.ǝTYx!|4"d]R1݈RUJ݄eĦk>Ma 6ؠZGdy[q'{={UT(};|[y5%=Okd8=D4UK,>MUMSvr~J肫Iފ1̴y6r.dɓUGr Rx珮ԅ3jU/SVc^9|z0%W.^jż7m/ٸ=v^VYKv@.c |ߡs6:̧FTM845)LnMzH @JJl_=;lȾэ|>$Ё;)̣~oyb:}C H?q6h<-GP{XTg5bg2Ը7UeD)dh}g"6k:(b CѡpkPؠE8R;g|յƋ)-]A$0sΥC˚7R!zِR 顇 ,p.!B__9‘ ÞFT8+OدuGhj ĘJL_gsp5Iޭ;9"xgmj6~#+9]~W{p7<~̼|6/\@KK>Ckؐ0tN7qZٿ[К$,$F|x#@h׿5-ܑ̓_eI|wsSdlW}r Sr`=|ױvetYyZ{ǛgsA{FHLPmmbE7E*QױYR)4)I^|_*DywJ^9q9rn!s?}9diҳ|ki^6\;΢z:2 f4k]%tn!<+|r`P%K.0cr* *quX"kp'%8ytNqU"Ce'1kBK<)1O/t<.:BNyMA)좁X--f_"#Yf0vWoΣ .y@n cAJG&T䖈$@pI~ #bI$P\1BN2-.]mL7OAɡQiA/pw>+&3kTW-9|RK%rKa/I]"R}zyrm_14gx&Inm?5qBÇ9 7KRF2s<}p΅Yfk#}A[[G6쥪 b!h 'DW(fjvwC2ǡ:^ΕN4(s:EQH) 1O UyC"/BesR3?؄dg7=kǷfsxfI ]Sغe\<f!<HP;mriߵTi{5@ O~Fۅ̱cheZJCU$>bל䇲X9A"`NFƸTES0mFEE8u=+ P9F@QӢ/R=g}W_|lf|sݽY'Җ޻bDZqɯoY7G6t!7dfSۿMy銁1|oq9CtTkCkSK24&XU#=C{0Ux Ɂݽ$AҖ" &Xs#c̞/(]oa߾,w˻Oz M5]؂9mx_GW&Ѓz?!W|'ϮY24 .C` Bz;G UCgkYT)r.?Lׅ3eˢi4hŹ"Ӧ-"۸N CAfϟyu'BV$kC:>ɚ ]ĬH,!BP # O2Yt]nJc:TO|#20 j||& NV2PAz ˮdj] 7 \<| (}@/ZH&ͤe7ypGx4?W9PŽ,㎋t|y[ 6r%_ k'?ˮ=7KPts׏si>F!tN/9汿|{~w1?iG YJ Zk) tv&X#ӇKq13fP_c*ւp))95IUU"s J$'#Kƒ>_3~= Q6b"Ol̥of@+C@|=;-j(Rvl~guN/:#Iȡ< 8AU#O m^PZNC'R sSSSE(TE4P$#=I#l@RaoɵOÙ"S$~4Y&{`re'=EE$ZCC}9&~KW` +Wn7oSg61wu-[)Gο/4j]3>qao;r Wsi涯~-~3nZ7fKaR6RJzzz*yX!ıf2,RQ뺎eYEAJU)y nSܿiCYclx_˺Mjf̛Y ߏe;68XS8:xlW}G u 3s"62~χx^!ǛvUU+X,F$wPW]]]UM7G}>C_M_~~lVDze-װ~PsO% {%umW_g@MY?H[%Xu,BP[[d3X 0*f;p 1 A-Z'&LK ENC7XqՆǴ lD\GUJD?$%0yǷ8Kvߓ;$ndAc&[Yt9p4CHwbA)jõ{!i$9uCh/1g<"UWm3s'Lz& O|N:.5fu WLgbT%M'hD)SU5hJ#q3*nN:A,*tx$ A1Vg UO(b<+86LT(cpb9[]ץn̮Ol9C*feynٴo=9%KO6^͵C"x;usD+L , 9Ǎ.q躎jĆSqJ12|o3eF#!Ä0ya!r!;X~7.X(I ]圕ݕcY<[1Κ,ϜAPUOa_SN8x&y񫝇 Χ39XFE`:a:Mww>S:J(ŋC<xLL18!?eeWy [{:%4:_zKR &Ԏv%swf !=y9C p2w-ljsaCCH"_JOTDxKO) &긮J.`]*/E˶Y jPgH9pǛ$aR[[;j^Rs+a,&Wb;;f{.jv1 O~׭aoE~Kܿz ӧ(BaC7p$o[gLQzܱhz! Ge揌`0^B$sN8ƍHdXdÆ 2渮˴iHR1A/SK:2x~zJ#ޞզ*˖-q#Lе2GWQ[qŠ }@{>/霩dYc K9k:Lh"H6m|3Wpl׵5@`!)`4mݺQyzG"(9<|B1HTyGH$4b&qڒ72j6xSD öJ 8"$֓y{V_h!S) z/ߚ/3f3c_+])֗lB௿ςYm/hno@eLX:$G% p!Ա65ZRt7XZҙ ŒЛNsWNשl]+%9'"V±.~/rIM:jZd!JsyU4hJ!4eB^'g2HS ò-Jخ7{nmk%c{n>\Q._Jr<u׬Yb!x+f꭫cTv5Mk'vmc$4v=)oONLلI>t]Ezѣ E!ʻBQl͍#=)R^ӓ*x2Q%Hؙvu>m"#I(U;lEH:ZZ)4M>d29 #tvvp@ Pq32ʺ;qӧO%W4]ץeQS{u%zˑ|ƭҮ(WTB+L8Lfα^6ʻ{--- 45g˻I꺍T^1S9Eӄ d25B@4q/sfFSW*8.P]]]Eb$Q|( 555 UUijjZZZ( ǻJ%:&OHSSSShkUJ4_1Mh"?Wl(̛;aJf}ߧ9gG D9b)IDATG"*lmmhEQ7n\e9on!˽l&LPٯ<,X7D"1 % ᙇHV/:UBē`Y),Oķ% HM|$xDUG/xYצGu)\>{㏰8|0ilO~7rŽLC7k ` T Ѓ.(> "RG" P(Ĵ589)#OsiR BFG“ UhɥEdtP X"kR 8CdU^pGEtl &6JD7D!Z1Sg(AHEh,u &WYx1 ٹ---cع%J%^SSC(vzٶ{mm?G&Nx7'N+eg|߯8I Xj%'ʆgp !\b'$˲m{u)ǿ2M_`3/橧6Lλ+ BY*-e@TF$%F@aAKrn钡;/ )5RCw8?ku\aRmϕqM䖔+PHQo307E%'Ԩ,H-9,ε,X[*CE;231l56||R:\8BG Z1:롢`۟1b| p@BS_ 6xFBφAv,w|s*J'cox}YqvMHGbtJJtWZɣ +3 |#Oռ_ս.'}/)uD63.*=0y8H(ܖ-,ni/Ux+-ZИa-;<4o~2$̔!Yhzreeo 7ά&.B!iW]Δ(FfHO+G՘q^>3+ *3-J=ӥap^(ylFpӛ"dQ'mP{5Eec9Nls"3imi ȋR#)q-vtIL`-s) Jjs"z9)Kkfc Twٳ8:r2+TcgQ;{s)AN>ᆐ>a Rob1e u\VoOx!AXBiHK @껑`'UA7pGnV/S bdKȂol [_]w݄wwOJ Ŕ,l_lOtyb lKIf65PdIk&%{9qWVEEkCvHA"~ˆ-?eXڧ@v""vyH  붿ph[^lȣN1J:H.U,*ɵ˟y7 xu̷)a(xV)QW|-]9$eRYq'yO`YaEQLv#H2J;MW0[k6CldPnxi},?|U hb29v|%kوfKh$"L"L6#!#_F`mIDevpZV_MVHڑ}IK=/rڤʾ[=Ag?x.Ų?-P>e4\s0N2oعj'#fo06rSdqT3)Rx|mk#beo ]/|xC&&0Fj㹯 "Ll:eob+LR^ޜW9m}0J>H8]Ơ;0pK; aϷAj)'ktȇOA-5oyu 9g6K XĠz?wQѴ!HFiK:FQ3!h C'*]%Mpꏶ˛VɥuV#N/ 9thL0{g\#ht nt VW1rʲihf L7vا_*J#moޒ/K Zn$@3ݠ@Lu)ێA :bP^ttkJd.w1d۲oFJL|_l|8a=bci*eV V{QuC0dԭ=~xE,cZ#y{ZVE+GTe/CNACjGb֍*vhGX´Uww.=4YkRI c$@-O K?@/x/#]O*3uoP~gE<GbF{&'ߦ`W]'` _+5~ٞ ] ioûK]dyy5&e]15{Vby-U}LJ#24Z*Yjv 2K%vo.{w:2l2rTxbmHcmDPź O ZWI(0O'.lc>Df UYs&;z 93Ӥ#߸ 8IR|C>5B雮tTt2~ĩB5'oRjN50dȳ\Uk^F ZKNtHjzZ43V $<],L&'/|iTE #KCA brk2aIfIDmq y_))L[d!խc=PO;Y+tdNR'XQ ƶQ5- A+%_.+2P-ؿ-RȴF.8u;j+PA4M+RKW!a+7Ye9 Sl&Ϭ4BOD,`~pj-h[Ċ+jCa)bzVIeq ~qd(*#8<3e T&olWySDE[ ? GP$tWY'vU5V=$j > rYXWӝ{դE徎1T4y1p {P^s)p )e)AA@Ek>d(͵1~e[sRR>SNqGZ':"u> =\B)_etxчg1k܄D~ bca/êk,OTv%!EƳ<~MMo*{ޯ]ZsnBH7+GꕡXq,rT:>$b; >(x¶U`2Ysp <.3Fk0j8|/kr굈 JV{=1¿E{;/63% yI&bԙ̈́8ϧ<̅ AIkI+n>$ew6ja[7i|Mі4G6{׍nGC-$w>!%j;@ t6p+8o.v _E@|n7EN8ZmnS4$j~?6VP9t =<;-Y9ߤI2S e\@4p踻W41>.;v501hpNZ%-q;hO*¦ P`WϨ)\tޫR(VW-?*1lLCgԾg}䔠w^!W7Ҳ#d؋_câf ƌ 7V(Ԙ|84yҲBxNd3M T'&R\jp.ęvje'|4_IjYKP0 Gncl'm4>I>Si!~ÚxVSGRv( F2o1'y0JlijNin0 Tc!]2 ZbVg^P.#+i;?s%3aHv.QJnVnTxqM,ʓauP{ ƎŇw]fy2qq5@FȌX$YR?1mxPN_- ]BV\ ɳgӝƽH ?TH2wOċcxG1ʵ6y:$~%FІȞo u.{ɄPF@4O0͆xcDi"4Jis9rN1]NE[тrLY)>@%%VHT.lUŠ |vN~4$#aK:u{%~,1htRت{f*r1au,\qg,l"]GЊ= wRT-Z~oɷ*Jz:k7\6%~ĭ慥e\WG+tQeh V&ec`ϘchQkP?Enf/2%{$%BzWTH8+ aϟQ̳岡℉')O Rg=F~]09Qr T@q-/D8]?O|Srr6VJEa\>5dvgю1SvKeTh*y =;lZDe SMu/>MOvh?VYJ')BJ=qiw'JKH0=pu9=F:EY}2+eK$ 8ճeXrޡ&PP]Z,4x $bJxTT#]-63;wapww0; ;YI+ݝJUkwN$@T {;$C IIBz {PZBG^Wi84,)+D癙mv,bgccb "hblbLflN$!)DRTH]"[me$4U_0U!R磩I0FjPIjIhS JW,'c yXjaͷW[tW=ױ^ @ρ2⠿6kkݮWp:&eBBc/l\Ƒ]BC O/ *Zmӡ(lٜ\ʲDy~eX2wD/1/\]N9/mKt1J9VoYU.H,f|vl%uΧ +"jFʽ;YhUZWܵo&Oo^D ! @'UϿqƞdu]bh'nc3ǥt(;w`~ēNbUx~9xSOUowu>tLB@n4we[]ddbR:0 A*V}TH)ඛoD)ͩg(O}jػwݣ|Cz>Rᡯ}mᛷl~xY-mST @* Aࣕ\@HT>Jkd( ٳ0 ЇOUObinnΎrcgA?y6l嗷-+84V2M6m܈eYamXM2v*c#w sf ]y|k:AM?<yKRCT"1yʔ $455GJB%QR"BAAH(b; *S,ʾ /[tqM۶].WhN$B)M"4Mz0 عcsȔ)S&Fss3lD"lQs=۷+۶ViZ8ŦaH$mRVCU;3::%QLH&Yl \JAL: fG0GIIFX,Ps(#X(pZk(mL&CWg^~=ceR]]tL&I&O!P(pwm6tS -{6m:}D޴El>|JV> CCR(%.\۶ d2Icc6rXI)1M gR0m4uG2uT#i-'!DCaص#v~{}w[9*QJq􃘵}i5QXȰntDZ bu1@Ci;:8'0LԔEK9uPJ_R'0 IM,dBg2R0 Ca(vءKBק-ZD&1 %ZW1́Ӧ.׭ŋY|e̘1D"{@IE&AarA:!!ISPVR04ӟcuض=q|<hR4Zk hl>9"%a4MyYu70:: |GkQ,,%L&׾ 9=o|,`Su,5ܹT*Ŏ;xPX"q8D!Qi`;ȻjS ]vh'DhjZ[Zikmn Aǝ>o޼[n٨Ν;ŦMa1GlF#c_4_ .]˗o?/.^LwOON 38}čTsv% bA0 ks-048*Һz(hkkӅB5lV_Շz1ZeT*ao4;wy'ӧOgѥQn5fۮ0f<۶qn}*839ʎ鋟߰5WS.ܢESK=K d2s=::<sil̢f јCtvv"c'H) RUR4Cd2iRxOgreYT]bǟxlADk{V1q$$wanYtݽ^ J"BCO:()E;w`xp{Vqh C)Wp,َCJ}i}H---mc446,84\$ yUEƸK;mY:lzSOoa0>>N+$SI'M_?A4ŭVI _+LJ '@XAȊGd(m[:l2W~/<@.g``mmmr9 à\*k. >+ NI8YB5n(]]dbUY؆ұ,la^gg'Bt:Ʃޱ)S"b,Fk+J$Sma 0׸z-h-id<|naH" Fg0 1M~'MD0M : Rp/}_*2 _]c+#J@2FWg2 >޵4D k)SU4ZL ,k1-$UGl6 Қeٴqlynm0ضY~3/C)En4_R/~_{T}UdPJ36T*A0MߏX{/l̛ĉH6mp yQ47Gzce8H))!% €KRu%C9TazٻwD2QBnfjatt485ҩϠ_+~zzzxy˖ol۶C4$F_DjKp9G>S2R 4ٳkgTIRPJ<#J>:aH?:}u]֭]Òo t_ĭ b@\Pȓˍb6]y5XeKk (vDz nn\fv,"Lx!DGePD hmop+ƃ͛6"o F{ҢC)ٶ};i ͔JKFURNgH҄%"1A txCQJ6Fww7ik+$ȱI(R R4eFOEYHi@IQV=4a0< M`ʔ̟2?<8AfCxax0gl{>?j| 3 8-\eLذa=,7lϬ|j[#⢋1+;Xv-cڹ| 9fN}]3M>u7\\sE5kػwotk׮c/3}}}  ns]5kײfZN-[+~;0A0 x'fʕV[1r)2 +V\ /r{CZ\Oń>fϙ9BT*9֭[1-+ZT0Jr]`A@&\_XX>:{vR.Sٰa= Z~]uيeŷKlp+W]u#{n''pXzf8=…gѢE̝;02DmO\"#J)tML2);l&0<}ԑqzϤS(K #hjiŴL?I&d.ZN}{ xWXӏ]dɚ|PAMg``p}s;g̙3qzypT,fڴW@.. C?D2 e!V=*V\I[km?%ou ,?~]ssC{wOss;.xZk:,nVOJE" _Q"eT2$g8)y:h)iΌˁKo_t<ꨣK^ފ~x=^x?rgp9g}۶z*tHRuW\0B')"aQAR֮;oN:)ŸXNn{U~֭[w1s͛O4d6uC{yH)ԧ>e^@1FtJQI$S1y1G׉{[/,<4,ˢqǟ@dڵ_xZOjoV:Yc3)A*i Pugn&d:hLCJ\w= ihlzC|? ' B0|ɅWfÝɤRbiF[ԚMq AP*F( ٰ~=39$n5Fu'R.d8  wnz{'q3_ڴ'z;co֖.]ʐj8$޽tuw344H6%ϳzJ>Ab7O$bLӤZu}[l0MДzz{#_{s䥩7jgQ,hnj" %wd"Vq#hw$n4'sHdA)&+?Xr/~Ë[cu9D @IҚJoJAܿs+W6f[S[־_?Ƈ[Zg76f[Եpl2!đe-i73Wv~r,7zc:T,gWtwvO{F箿8sT.y3܂*h ϵʏ#i۷nزmc+?Ӌ2`͛;vmmkifZJTt*s!˔WYi;+%ɳϼ'0SfZ[Tr熊g_Oz|B:RU;+dK}D~i̫sek+TypM~wUO}>P%VO!G@M&e_}Zm]@ƒWK]gW] `iɪ ו\9Zozn_nZtZ-:G$Ӕ^N(N2/q=eN$\>E|lm.o 1ۧd0iߪ}4yA|MެsJk˙C\h×!E۸o[4ntӟÖD2zp{'"\:C<+P%%vr|.ǣf+ۛ 9ߏʮz{OW9׳M=8Ҏ]vv9`t饞u S:l[&[e_$`g/)PyQ<~if6uh,xh`_ ?77bz3"qaE OE?7≉'ƒRYUf\14殯Tr>\UY iNXvBrEʈ;DdEgb( r\ԪxRb8i5ry pT.zkr,s(S-1C7jG4Ԋ2i4et*Yl@jM)n2NkO+"u5Y9LTU$j2"[alPQ"#< %jmE7Mw+9P_.FVaSRϸF@š ^Jyųuy̤sh:%þ25HX_6ʮz3BC)\G?#a].aqS.GeױM}űʜ,!-°?7ÃQMJ5M1MQ$U+ʽ p9nu˖S\L?Dʼr+" :n焻>|_F e4u\N%Ф(:řNk`i^:`kϏ2-]~&ܚMJx3D`TbQ7dױ0i `K8\mkZkYz{+JGXt547Tۡrs$H^$"-۪x%P֠O=ǻK,Wk}^١e^[es{ NʵM;\,tR=^";%C Τ*Yo!,25S& azP3\vH|K&eə |6+PnK@}]4YRQj+ץB6I?)*r`mqgڦK5E ot!0ͬXS)֡YvPM&Po HYW~bNIQ`p7*}cevmiY);GuK9rYOFDnה:G^=@8bfH6Q|{S_(ooM~R]&}|x.Tˡd/&Wu׍i^2W%o שѩC};cڅFXOHXJeM*|n9zֻLʇN8ASTȡ.\V7*s 7]RIh/_-q0uJ~=TQ"_i#oceEuiSSH@P6W_izyh̸#ּs+/nv.0 ~f˩U67GCľgXp"P;vܞcmz6kIW=Pi{)Q v iX|͑nq1Ctwk-Kcu\њ*jICiK݁U: ?X_LkX"X;quu׷ 55ǏS)39xšzL 1LrcY"v9 R#k`t/<ػ~ד9y:ZD:d[yق Osx6R#*Z[?Fq,"Ū-IT.*m.mu+ :Lg(D5nޓ(. Q$*`b+:s'l92} /.s27WKX<1Җu|yH%*+ hߖzޗo_uU7&|/_7fcjh?r;BFT,hK#D` %LYw>k@s#ilt3 OʮNsʼz0X}4Eyx!4H u4ێߜRc džbO Ǘ'h>߭@["I95m3vbÐ^ƱLhʴ].t^ P*˚IBRgYX3|TVy@0juoF ]F+JsoH> i.TxS!B$e.6%v HX/4::/L}U rie=޸!ߐu : =i޽Z|/˽Oִ7h\qq+Yd9 J;K0CoG]g6_ʮNms97Sp4 8ԛgL5R#8>Ҽy(.º2iGŐVE(KӔpB~Siwb Z $6į&߻@I2"P7| 87Cӥ+v|#`;[K3Z ${&tTD݄l`]G2h)^p=NiQ, U׆M/r;y18 XuMáIi,i@b?ŒpXK|«[y\ng_5A`g-3ߞd qGu{{jId^8BfZ]l CoYZug+]F+ٗX y=J84?J.4Ra<u㒃]O5Uaȓ~ eDig8g%+e>ZOaoANaiGSj9mokyغg?P1+e-f4aT|[޽W?0a\-<3^+eo-Ggnhڜ/o0N5m rd[ūUu$7a,mˁx~Lf=e5(D]E]uWʮI5[8͒/x5MF/x.ui8'{M[ֺ5UqI)TQ `iXKc Ӟ irѫY'Gh@oo>"-?XJC 8>0wf+=Z#v./>6~jݺLv8m4͡qesK{ozb(~-i; gƓtByNy\Q氎 (W5~v<q_ jHK6?0C"Z{׵@ԕhOe~ W (v,[Mp;0ٜQ{ kP+E5=Jh~]z8{@٨W\ok}@>)`rh&Js{[2w% 3,S(zϱ8w-g@me}rbX2%R퉦횖UC< J~ I33*d^u(fX2,#7cYF&M*~Np#rtnԌr4xM4nY|W+yRt(*1 <Ќrј7maQLCsXX/?Ё*< ]*@>\W_=ix2Y@anӀVv=ɰn')"` f](]L$"v)7IENDB`W d< x PNG  IHDR9pbKGD pHYstIME(5qIDATxw|\ՕǿMU̓4Tc@Pm 77' B %1) dٔ%.KL섄jۡVF%YҴwH3x~H={{946{z/+ڮ[)" j vThKR_mk]Z(bzMquc=ջW"@.x3ƸE7-_>dѲXEE[nwt^SMw8wBuLsElmk-\bPG3u:;_SKEXwklLX+?8a4|/m˻A74.cCxqL|cz8xK!ZZ 1OV#q<S1  /0033.htmlProtable Geräte E y0032.html Smartphones; Handys; Tablets usw 5 Y0031.html Videos erstellen 5 Y0030.html Videos erstellen 2  S0024.html Der Multimediabrowser für Dateien 3  U0023.html Die Zeitleiste 7  ]0022.html Die Werkzeugleiste 5  Y0021.html Das Hauptfenster @  o0020.html Schnittstellen-Beschreibung 1 Q0016.html Stilvorlagen ` -0015.html“Alle Aufnahmen” Einstellungen versus “Aktuelle Aufnahme” Einstellungen Z !0014.htmlDie "Sichtbarkeit" Eigenschaft eines Blocks und die Verwaltung von Pausen 9 a0013.html Dynamische Variablen 8 _0012.html Vordefinierte Titel / M0011.htmlGrundsätzliche Funktionalität = i0010.html Wie ffDiaporama arbeitet  7i8]dv7=" i0104.html" Hintergrundeigenschaften D! w0103.html!Hinzufügen oder Ändern eines vordefinierten Titels /  M0102.html Verwaltung der Gerätedatenbank / M0101.htmlFenster für Anwendungsoptionen D w0045.html Types of objects in ffDiaporama 5 Y0044.html XBMC nfo Dateien : c0043.htmlDie Konfigurationsdateien für ffDiaporama C u0042.html Projektdateien von ffDiaporama ? m0041.html ffDiaporama Startparameter : c0040.htmlTechnische Informationen über ffdiaporama < g003A.htmlDateianhänge (Vorschaubilder, nfo, usw....) / M0039.htmlVideostandards und Auflösungen . K0038.html Container / M0037.html Audiocodec / M0036.html Videocodec ! 10035.htmlFür das Internet A q0034.html Multimediasysteme (Heimkino) g_$w=^*g32 U0120.html2 Text editieren 51 Y0119.html1 Diaeigenschaften U0 0118.html0Setzen der Laufzeit für die erste Aufnahme für eine Reihe von Dias 2/ S0117.html/Ändern Modell für Vorschaubilder 8. _0116.html. Linealeigenschaften 4- W0115.html- Video erstellen 7, ]0114.html, Musikeigenschaften 4+ W0113.html+ Stile verwalten 8* _0112.html* Favoriten verwalten 7) ]0111.html) Dateiinformationen N(  0110.html(Korrigieren, Beschneiden oder Kürzen von Bildern oder Videos "' 30109.html'Dateien auswählen 9& a0108.html& Projekteigenschaften 8% _0107.html% Projekt exportieren *$ C0106.html$Konfiguration überprüfen 9# a0105.html# Kapiteleigenschaften JNtJ$tJ&rJ&G 1)img/arrow_down.pngGarrow_down.png$F /'img/Alignment.pngFAlignment.png"E -%img/AdjustWH.pngEAdjustWH.png D +#img/AdjustW.pngDAdjustW.png C +#img/AdjustH.pngCAdjustH.png$B /'img/AddFolder.pngBAddFolder.png"A -%img/add_text.pngAadd_text.png(@ 3+img/add_project.png@add_project.png$? /'img/add_image.png?add_image.png0> ;3img/add_cliparttext.png>add_cliparttext.png,= 7/img/Action_Wizard.png=Action_Wizard.png(< 3+img/Action_Open.pngP(fJ&pH"h>'= 1)img/SmallGreen.pngSmallGreen.png< )!img/Shadow.pngShadow.png!; +#img/ScrollY.pngScrollY.png!: +#img/ScrollX.pngScrollX.png'9 1)img/SaveAsMenu.pngSaveAsMenu.png#8 -%img/ruler_ok.pngruler_ok.png#7 -%img/ruler_ko.pngruler_ko.png%6 /'img/rotationg.pngrotationg.png%5 /'img/rotationd.pngrotationd.png!4 +#img/RotateZ.pngRotateZ.png!3 +#img/RotateY.pngRotateY.png!2 +#img/RotateX.pngRotateX.png1 )!img/render.pngrender.png!0 +#img/Refresh.pngRefresh.png/ #img/Red.pngRed.png. )!img/random.pngrandom.png- )!img/Radius.pngRadius.png-, 7/img/PrjProperties.pngPrjProperties.png#+ -%img/PosStart.pngPosStart.png%* /'img/PosSize_Y.pngPosSize_Y.png%) /'img/PosSize_X.pngPosSize_X.png-( 7/img/PosSize_Width.pngPosSize_Width.png/' 91img/PosSize_Height.pngPosSize_Height.png& )!img/PosEnd.pngPosEnd.png)% 3+img/player_stop.pngplayer_stop.png ^Z0`0pR0^5S ?7img/VideoMask_162x216.pngVideoMask_162x216.png5R ?7img/VideoMask_150x200.pngVideoMask_150x200.png5Q ?7img/VideoMask_120x180.pngVideoMask_120x180.png'P 1)img/Video_File.pngVideo_File.pngO )!img/undo24.pngundo24.pngN %img/undo.pngundo.pngM !img/tv.pngtv.pngL 'img/trash.pngtrash.png)K 3+img/transparent.pngtransparent.png%J /'img/Transform.pngTransform.png/I 91img/tr-00-01_small.pngtr-00-01_small.png-H 7/img/TimelineShots.pngTimelineShots.png/G 91img/TimelineBlocks.pngTimelineBlocks.png%F /'img/TextStyle.pngTextStyle.pngE )!img/splash.pngsplash.png#D -%img/sound_KO.pngsound_KO.png+C 5-img/SortByNumber.pngSortByNumber.png'B 1)img/SortByName.pngSortByName.png'A 1)img/SortByDate.pngSortByDate.png'@ 1)img/Smartphone.pngSmartphone.png)? 3+img/SmallYellow.pngSmallYellow.png#> -%img/SmallRed.pngSmallRed.png :~\>`.f4l:/h E%img/Transitions/tr-01-08.pngtr-01-08.png/g E%img/Transitions/tr-01-07.pngtr-01-07.png/f E%img/Transitions/tr-01-06.pngtr-01-06.png/e E%img/Transitions/tr-01-05.pngtr-01-05.png/d E%img/Transitions/tr-01-04.pngtr-01-04.png/c E%img/Transitions/tr-01-03.pngtr-01-03.png/b E%img/Transitions/tr-01-02.pngtr-01-02.png/a E%img/Transitions/tr-01-01.pngtr-01-01.png/` E%img/Transitions/tr-01-00.pngtr-01-00.png/_ E%img/Transitions/tr-00-04.pngtr-00-04.png/^ E%img/Transitions/tr-00-03.pngtr-00-03.png/] E%img/Transitions/tr-00-02.pngtr-00-02.png/\ E%img/Transitions/tr-00-01.pngtr-00-01.png/[ E%img/Transitions/tr-00-00.pngtr-00-00.pngZ )!img/zoomup.pngzoomup.png#Y -%img/zoomdown.pngzoomdown.pngX %img/zoom.pngzoom.pngW )!img/Yellow.pngYellow.png'V 1)img/Visible_OK.pngVisible_OK.png+U 5-img/Visible_MASK.pngVisible_MASK.png'T 1)img/Visible_KO.pngVisible_KO.png Jj8p> vD|J/{ E%img/Transitions/tr-02-09.pngtr-02-09.png/z E%img/Transitions/tr-02-08.pngtr-02-08.png/y E%img/Transitions/tr-02-07.pngtr-02-07.png/x E%img/Transitions/tr-02-06.pngtr-02-06.png/w E%img/Transitions/tr-02-05.pngtr-02-05.png/v E%img/Transitions/tr-02-04.pngtr-02-04.png/u E%img/Transitions/tr-02-03.pngtr-02-03.png/t E%img/Transitions/tr-02-02.pngtr-02-02.png/s E%img/Transitions/tr-02-01.pngtr-02-01.png/r E%img/Transitions/tr-02-00.pngtr-02-00.png/q E%img/Transitions/tr-01-17.pngtr-01-17.png/p E%img/Transitions/tr-01-16.pngtr-01-16.png/o E%img/Transitions/tr-01-15.pngtr-01-15.png/n E%img/Transitions/tr-01-14.pngtr-01-14.png/m E%img/Transitions/tr-01-13.pngtr-01-13.png/l E%img/Transitions/tr-01-12.pngtr-01-12.png/k E%img/Transitions/tr-01-11.pngtr-01-11.png/j E%img/Transitions/tr-01-10.pngtr-01-10.png/i E%img/Transitions/tr-01-09.pngtr-01-09.png Jj8p> vD|J/ E%img/Transitions/tr-03-06.pngtr-03-06.png/  E%img/Transitions/tr-03-05.png tr-03-05.png/  E%img/Transitions/tr-03-04.png tr-03-04.png/  E%img/Transitions/tr-03-03.png tr-03-03.png/  E%img/Transitions/tr-03-02.png tr-03-02.png/  E%img/Transitions/tr-03-01.png tr-03-01.png/ E%img/Transitions/tr-03-00.pngtr-03-00.png/ E%img/Transitions/tr-02-21.pngtr-02-21.png/ E%img/Transitions/tr-02-20.pngtr-02-20.png/ E%img/Transitions/tr-02-19.pngtr-02-19.png/ E%img/Transitions/tr-02-18.pngtr-02-18.png/ E%img/Transitions/tr-02-17.pngtr-02-17.png/ E%img/Transitions/tr-02-16.pngtr-02-16.png/ E%img/Transitions/tr-02-15.pngtr-02-15.png/ E%img/Transitions/tr-02-14.pngtr-02-14.png/ E%img/Transitions/tr-02-13.pngtr-02-13.png/~ E%img/Transitions/tr-02-12.pngtr-02-12.png/} E%img/Transitions/tr-02-11.pngtr-02-11.png/| E%img/Transitions/tr-02-10.pngtr-02-10.png Tj8p> v: T)! ;#img/Arrange/aodistV.png!aodistV.png)  ;#img/Arrange/aodistH.png aodistH.png- ?'img/Arrange/aocenterv.pngaocenterv.png- ?'img/Arrange/aocenterh.pngaocenterh.png+ =%img/Arrange/aobottom.pngaobottom.png9 O/img/Transitions/tr-icon-error.pngtr-icon-error.png/ E%img/Transitions/tr-10-03.pngtr-10-03.png/ E%img/Transitions/tr-10-02.pngtr-10-02.png/ E%img/Transitions/tr-10-01.pngtr-10-01.png/ E%img/Transitions/tr-10-00.pngtr-10-00.png/ E%img/Transitions/tr-03-15.pngtr-03-15.png/ E%img/Transitions/tr-03-14.pngtr-03-14.png/ E%img/Transitions/tr-03-13.pngtr-03-13.png/ E%img/Transitions/tr-03-12.pngtr-03-12.png/ E%img/Transitions/tr-03-11.pngtr-03-11.png/ E%img/Transitions/tr-03-10.pngtr-03-10.png/ E%img/Transitions/tr-03-09.pngtr-03-09.png/ E%img/Transitions/tr-03-08.pngtr-03-08.png/ E%img/Transitions/tr-03-07.pngtr-03-07.png NV'wFuFuN$7 3!img/Text/normal.png7normal.png"6 3img/Filter/Wave.png6Wave.png$5 5img/Filter/Swirl.png5Swirl.png*4 ;%img/Filter/Oilpaint.png4Oilpaint.png*3 ;%img/Filter/Negative.png3Negative.png(2 9#img/Filter/Implode.png2Implode.png,1 ='img/Filter/Grayscale.png1Grayscale.png$0 5img/Filter/Gamma.png0Gamma.png*/ ;%img/Filter/Equalize.png/Equalize.png&. 7!img/Filter/Emboss.png.Emboss.png"- 3img/Filter/Edge.png-Edge.png,, ='img/Filter/Despeckle.png,Despeckle.png.+ ?)img/Filter/Desaturate.png+Desaturate.png** ;%img/Filter/Contrast.png*Contrast.png*) ;%img/Filter/Charcoal.png)Charcoal.png.( ?)img/Filter/Brightness.png(Brightness.png"' 3img/Filter/Blur.png'Blur.png,& ='img/Filter/Antialias.png&Antialias.png)% ;#img/Arrange/arrange.png%arrange.png%$ 7img/Arrange/aotop.png$aotop.png)# ;#img/Arrange/aoright.png#aoright.png'" 9!img/Arrange/aoleft.png"aoleft.png =Wa(o8 j=*H 9'img/Text/text_list.pngHtext_list.png.G =+img/Text/text_italic.pngGtext_italic.png6F E3img/Text/text_indent_out.pngFtext_indent_out.png4E C1img/Text/text_indent_in.pngEtext_indent_in.png*D 9'img/Text/text_bold.pngDtext_bold.png4C C1img/Text/text_align_vup.pngCtext_align_vup.png I7img/Text/text_align_justif.png>text_align_justif.png:= I7img/Text/text_align_center.png=text_align_center.png<< K9img/Text/Shadow upper right.png: M;img/Text/Shadow bottom right.png:Shadow bottom right.png<9 K9img/Text/Shadow bottom left.png9Shadow bottom left.png&8 5#img/Text/outline.png8outline.png /q: n5[&`/.[ Iimg/MediaIcons/16x16/video.png[video.png*Z Eimg/MediaIcons/16x16/usb.pngZusb.png8Y S)img/MediaIcons/16x16/Thumbnails.pngYThumbnails.png.X Iimg/MediaIcons/16x16/image.pngXimage.png*W Eimg/MediaIcons/16x16/hdd.pngWhdd.png2V M#img/MediaIcons/16x16/hdd-lan.pngVhdd-lan.png.U Iimg/MediaIcons/16x16/gmaps.pngUgmaps.png:T U+img/MediaIcons/16x16/folder_home.pngTfolder_home.png,S Gimg/MediaIcons/16x16/file.pngSfile.png:R U+img/MediaIcons/16x16/ffDiaporama.pngRffDiaporama.png6Q Q'img/MediaIcons/16x16/directory.pngQdirectory.png2P M#img/MediaIcons/16x16/delayed.pngPdelayed.png2O M#img/MediaIcons/16x16/clipart.pngOclipart.png.N Iimg/MediaIcons/16x16/cdrom.pngNcdrom.png.M Iimg/MediaIcons/16x16/audio.pngMaudio.png4L C1img/Text/text_underline.pngLtext_underline.png,K ;)img/Text/text_super.pngKtext_super.png(J 7%img/Text/text_sub.pngJtext_sub.png2I A/img/Text/text_list_nbr.pngItext_list_nbr.png Km:eKe wiki.cssewiki.css d /wiki_img/Work.pngdWork.png*c 9'wiki_img/Wikipedia.pngcWikipedia.png(b 7%wiki_img/Timeline.pngbTimeline.png$a 3!wiki_img/Schema.pngaSchema.png0` ?-wiki_img/AutoFraming2.png`AutoFraming2.png0_ ?-wiki_img/AutoFraming1.png_AutoFraming1.png.^ =+wiki_img/Animation_3.png^Animation_3.png.] =+wiki_img/Animation_2.png]Animation_2.png.\ =+wiki_img/Animation_1.png\Animation_1.pngJe  Einstellungen0016.htmlStilvorlagen0013.html(Dynamische Variablen0020.html6Schnittstellen-Beschreibung0021.html Das Hauptfenster0022.html$Die Werkzeugleiste0023.htmlDie Zeitleiste0024.htmlNDer Dateibrowser fr Multimedia Dateien0020.htmlDialogfenster0020.htmlFDialogfenster fr die Konfiguration0101.html.Anwendungseinstellungen0102.html Gerte verwalten0106.html0Konfiguration berprfen0116.html&Linealeigenschaften0117.html@ndern MKodell fr Vorschaubilder0020.html,Dialoge fr nderungen0103.html`Hinzufgen oder ndern von vordefinierten Titeln0119.html Diaeigenschaften0118.html~Setzen der Dauer fr die erste Aufnahme fr eine Reihe von Dias0104.html0Hintergrundeigenschaften0105.html(Kapiteleigenschaften0114.html$Musikeigenschaften0122.html&Effekteigenschaften0121.htmlFEffektdauer fr eine Reihe von Dias0110.htmlxKorrigieren, Beschneiden oder Krzen von Bildern oder Videos0120.htLmlText editieren0123.html0Add or modify a location0020.html2Projektbezogenen Dialoge 0108.html(Projekteigenschaften0115.htmlVideo erstellen0107.html&Projekt exportieren0020.html*Weitere Dialogfenster0109.html"Dateien auswhlen0111.html$Dateiinformationen0112.html&Favoriten verwalten0113.htmlStile verwalten0030.html Videos erstellen0031.html Videos erstellen0032.html8Smartphones; Handys; Tablets0033.htmlPortable Gerte0034.html8Multimediasysteme (Heimkino)0035.html Fr das Internet0036.htmlVideocodec0037.htmlAudiocodec0038.htmlContainer0039.html8Videostandards und Auflsung003A.htmlVDateianhnge (Vorschaubilder, nfo, usw....)0040.htmlRTechnische Informationen ber ffdiaporama0041.html4ffDiaporama Startparameter0042.html<Projektdateien von ffDiaporama0043.htmlRDie Konfigurationsdateien fr ffDiaporama0044.html XBMC nfo Dateien0045.html>Types of objects in ffDiaporama  X{U/W-img/ruler_ko.pngV/img/fileclose.pngvU1img/Visible_KO.pngT!Eimg/Transitions/tr-02-18.pngS!Eimg/Transitions/tr-01-07.pngR!Eimg/Text/text_align_left.png?Q#Iimg/MediaIcons/16x16/image.pngXP5img/Filter/Gamma.png0O-img/AdjustWH.pngE <!/=KYgu+9GUcq '5CQ_mx 0010.html 0011.html 0012.html 0013.html 0014.html 0015.html 0016.html 0020.html 0021.html 0022.html 0023.html 0024.html 0030.html 0031.html 0032.html 0033.html 0034.html 0035.html 0036.html 0037.html 0038.html 0039.html 003A.html 0040.html 0041.html 0042.html 0043.html 0044.html 0045.html 0101.html 0102.html 0103.html! 0104.html" 0105.html# 0106.html$ 0107.html% 0108.html& 0109.html' 0110.html( 0111.html) 0112.html* 0113.html+ 0114.html, 0115.html- 0116.html. 0117.html/ 0118.html0 0119.html1 0120.html2 0121.html3 0122.html4 0123.html5 1.html63img/Action_Info.png:3img/Action_Open.png<7img/Action_Wizard.png=/img/AddFolder.pngB+img/AdjustH.pngC+img/AdjustW.pngD $``v (E`})B^v8Ur/img/Alignment.pngF=img/Arrange/aobottom.png?img/Arrange/aocenterh.png?img/Arrange/aocenterv.png;img/Arrange/aodistH.png ;img/Arrange/aodistV.png!9img/Arrange/aoleft.png";img/Arrange/aoright.png#7img/Arrange/aotop.png$;img/Arrange/arrange.png%)img/AutoTS.pngK%img/Blue.pngL)img/Camera.pngM+img/Chapter.pngO3img/Chapter_big.pngP5img/ConvertAudio.pngW1img/ConvertImg.pngX5img/ConvertVideo.pngY5img/DISPLAY_DATA.pngb;img/DISPLAY_JUKEBOX.pngc3img/DISPLAY_WEB.pngd-img/Distance.pnge/img/EditGMaps.pngi/img/EditImage.pngj/img/EditMovie.pngk-img/EditText.pngm=img/Filter/Antialias.png&3img/Filter/Blur.png'?img/Filter/Brightness.png(;img/Filter/Charcoal.png);img/Filter/Contrast.png*?img/Filter/Desaturate.png+=img/Filter/Despeckle.png,3img/Filter/Edge.png-7img/Filter/Emboss.png.;img/Filter/Equalize.png/ dd &=Ss"8aGj=img/Filter/Grayscale.png19img/Filter/Implode.png2;img/Filter/Negative.png3;img/Filter/Oilpaint.png45img/Filter/Swirl.png53img/Filter/Wave.png69img/FolderMask_200.png}1img/FolderOpen.png~-img/Geometry.pngAimg/Geometry_ImageLock.png7img/Geometry_Lock.png!Eimg/Geometry_ProjectLock.png;img/Geometry_Unlock.png'img/Green.png1img/Image_File.png-img/Internet.png)img/Lock24.png-img/Lossless.png(Simg/MediaIcons/16x16/Thumbnails.pngY#Iimg/MediaIcons/16x16/audio.pngM#Iimg/MediaIcons/16x16/cdrom.pngN%Mimg/MediaIcons/16x16/clipart.pngO%Mimg/MediaIcons/16x16/delayed.pngP'Qimg/MediaIcons/16x16/directory.pngQ)Uimg/MediaIcons/16x16/ffDiaporama.pngR"Gimg/MediaIcons/16x16/file.pngS)Uimg/MediaIcons/16x16/folder_home.pngT#Iimg/MediaIcons/16x16/gmaps.pngU%Mimg/MediaIcons/16x16/hdd-lan.pngV!Eimg/MediaIcons/16x16/hdd.pngW #qq1H^y 4H`v<`!Eimg/MediaIcons/16x16/usb.pngZ#Iimg/MediaIcons/16x16/video.png[1img/Opensource.png)img/PosEnd.png9img/PosSize_Height.png7img/PosSize_Width.png/img/PosSize_X.png/img/PosSize_Y.png-img/PosStart.png7img/PrjProperties.png)img/Radius.png#img/Red.png+img/Refresh.png+img/RotateX.png+img/RotateY.png+img/RotateZ.png1img/SaveAsMenu.png+img/ScrollX.png+img/ScrollY.png)img/Shadow.png1img/SmallGreen.png-img/SmallRed.png3img/SmallYellow.png1img/Smartphone.png1img/SortByDate.png1img/SortByName.png5img/SortByNumber.png$Kimg/Text/Shadow bottom left.png9%Mimg/Text/Shadow bottom right.png:#Iimg/Text/Shadow upper left.png;$Kimg/Text/Shadow upper right.png<3img/Text/normal.png75img/Text/outline.png8#Iimg/Text/text_align_center.png=#Iimg/Text/text_align_justif.png> cc .Pn6Qh4Vx"Gimg/Text/text_align_right.png@$Kimg/Text/text_align_vbottom.pngA$Kimg/Text/text_align_vcenter.pngB Cimg/Text/text_align_vup.pngC9img/Text/text_bold.pngD Cimg/Text/text_indent_in.pngE!Eimg/Text/text_indent_out.pngF=img/Text/text_italic.pngG9img/Text/text_list.pngHAimg/Text/text_list_nbr.pngI7img/Text/text_sub.pngJ;img/Text/text_super.pngK Cimg/Text/text_underline.pngL/img/TextStyle.png9img/TimelineBlocks.png7img/TimelineShots.png/img/Transform.png!Eimg/Transitions/tr-00-00.png!Eimg/Transitions/tr-00-01.png!Eimg/Transitions/tr-00-02.png!Eimg/Transitions/tr-00-03.png!Eimg/Transitions/tr-00-04.png!Eimg/Transitions/tr-01-00.png!Eimg/Transitions/tr-01-01.png!Eimg/Transitions/tr-01-02.png!Eimg/Transitions/tr-01-03.png!Eimg/Transitions/tr-01-04.png!Eimg/Transitions/tr-01-05.png!Eimg/Transitions/tr-01-06.png HHj6Xz$Fh4Vx!Eimg/Transitions/tr-01-08.png!Eimg/Transitions/tr-01-09.png!Eimg/Transitions/tr-01-10.png!Eimg/Transitions/tr-01-11.png!Eimg/Transitions/tr-01-12.png!Eimg/Transitions/tr-01-13.png!Eimg/Transitions/tr-01-14.png!Eimg/Transitions/tr-01-15.png!Eimg/Transitions/tr-01-16.png!Eimg/Transitions/tr-01-17.png!Eimg/Transitions/tr-02-00.png!Eimg/Transitions/tr-02-01.png!Eimg/Transitions/tr-02-02.png!Eimg/Transitions/tr-02-03.png!Eimg/Transitions/tr-02-04.png!Eimg/Transitions/tr-02-05.png!Eimg/Transitions/tr-02-06.png!Eimg/Transitions/tr-02-07.png!Eimg/Transitions/tr-02-08.png!Eimg/Transitions/tr-02-09.png!Eimg/Transitions/tr-02-10.png!Eimg/Transitions/tr-02-11.png!Eimg/Transitions/tr-02-12.png!Eimg/Transitions/tr-02-13.png!Eimg/Transitions/tr-02-14.png!Eimg/Transitions/tr-02-15.png!Eimg/Transitions/tr-02-16.png!Eimg/Transitions/tr-02-17.png VVx"Df2Tv Bd!Eimg/Transitions/tr-02-19.png!Eimg/Transitions/tr-02-20.png!Eimg/Transitions/tr-02-21.png!Eimg/Transitions/tr-03-00.png!Eimg/Transitions/tr-03-01.png !Eimg/Transitions/tr-03-02.png !Eimg/Transitions/tr-03-03.png !Eimg/Transitions/tr-03-04.png !Eimg/Transitions/tr-03-05.png !Eimg/Transitions/tr-03-06.png!Eimg/Transitions/tr-03-07.png!Eimg/Transitions/tr-03-08.png!Eimg/Transitions/tr-03-09.png!Eimg/Transitions/tr-03-10.png!Eimg/Transitions/tr-03-11.png!Eimg/Transitions/tr-03-12.png!Eimg/Transitions/tr-03-13.png!Eimg/Transitions/tr-03-14.png!Eimg/Transitions/tr-03-15.png!Eimg/Transitions/tr-10-00.png!Eimg/Transitions/tr-10-01.png!Eimg/Transitions/tr-10-02.png!Eimg/Transitions/tr-10-03.png&Oimg/Transitions/tr-icon-error.png?img/VideoMask_120x180.png?img/VideoMask_150x200.png?img/VideoMask_162x216.png1img/Video_File.png )nn.F[r2GVi}(>Od}5img/Visible_MASK.png1img/Visible_OK.png)img/Yellow.png7img/action_cancel.png83img/action_edit.png9/img/action_ok.png;;img/add_cliparttext.png>/img/add_image.png?3img/add_project.png@-img/add_text.pngA1img/arrow_down.pngG1img/arrow_left.pngH3img/arrow_right.pngI-img/arrow_up.pngJ)img/ccbysa.pngN'img/color.pngQ1img/color_fill.pngR-img/colorize.pngS)img/config.pngT3img/config_menu.pngU-img/contents.pngV!img/db.pngZ)img/db_add.png[+img/db_menu.png\3img/db_menu_big.png]/img/db_remove.png^/img/db_status.png_/img/db_update.png`1img/defaultmap.pnga%img/edit.pngf-img/editcopy.pngg+img/editcut.pngh/img/editpaste.pngl%img/exit.pngn-img/favorite.pngo5img/favorite_add.pngp;img/favorite_manage.pngq7img/favorite_menu.pngr3img/ffdiaporama.pngs7img/fifteenpieces.pngt9img/file_temporary.pngu &mm&<Nq5Om!AZy1img/fileexport.pngw+img/filenew.pngx-img/fileopen.pngy1img/filerecent.pngz-img/filesave.png{1img/filesaveas.png|%img/font.png'img/forum.png%img/gmap.png-img/gmap_add.png%img/help.png"Gimg/inheritance_down_lock.png$Kimg/inheritance_down_unlock.png+img/journal.png/img/kmultiple.png%img/logo.png-img/logo_big.png'img/medal.png5img/object_image.png=img/object_imageHide.png5img/object_movie.png=img/object_movieHide.png5img/object_sound.png3img/object_text.png;img/object_textHide.png5img/pattern_fill.png1img/player_end.png1img/player_fwd.png5img/player_pause.pngAimg/player_pause_small.png3img/player_play.png?img/player_play_small.png1img/player_rew.png3img/player_stop.png)img/random.png)img/render.png/img/rotationd.png/img/rotationg.png xhVB0qR9/wiki_img/Work.pngd9wiki_img/Wikipedia.pngc7wiki_img/Timeline.pngb3wiki_img/Schema.pnga?wiki_img/AutoFraming2.png`?wiki_img/AutoFraming1.png_=wiki_img/Animation_3.png^=wiki_img/Animation_2.png]=wiki_img/Animation_1.png\ wiki.csse main.html7)img/zoomup.png-img/zoomdown.png%img/zoom.png)img/undo24.png%img/undo.png!img/tv.png'img/trash.png3img/transparent.png9img/tr-00-01_small.png)img/splash.png-img/sound_KO.png-img/ruler_ok.png^]KK\[ 22Nt##/tableFolderTableFolderTableCREATE TABLE FolderTable(Id INTEGER PRIMARY KEY, Name Text, NamespaceID INTEGER )X''qtableMetaDataTableMetaDataTableCREATE TABLE MetaDataTable(Name Text, Value BLOB )J!aindexNameIndexIndexTableMCREATE INDEX NameIndex ON IndexTable(Name)X''oindexFileNameIndexFileNameTableNCREATE INDEX FileNameIndex ON FileNameTable(Name)V#'oindexFileIdIndexFileNameTableYCREATE INDEX FileIdIndex ON FileNameTable(FileId)  $*06<BHNTZ`flrx~ &,28>DJPV\bhntz "(.4:@FLRX^djpv|       !!""##$$%%&&''(())**++,,--..//00112233445566778899::;;<<==>>??@@AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ[[\\]]^^__``aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~ e (08@HPX`hpx (08@HPX`hpx (08@HPX`hpx d (08@HPX`hpx (08@HPX`hpx (08@HPX`hpx            !!""##$$%%&&''(())**++,,--..//00112233445566778899::;;<<==>>??@@AABBCCDDEEFFGGHHIIJJ 0xph`XPH@80eeddccbbaa``__^^]]\\[[ZZYYXXWWVVUUTTSSRRQQPPOONNMMLLffDiaporama/locale/qt_zh_tw.qm0000777000175000001440000034500512275647346016673 0ustar dominiqueusers,(4G(4H (5HA(5Hu*y|*yr*ye*TR*0'*0+F}i+F+L/+f+fA7+z.++s++z/ ++6+A+S-+}+s+į +įsB+į+/V7s:9;*}@ƼC:F0iFn4Fn4FG7`Hw9Hw97H 0I'L$I-uIqJ+=J6J60pJ67J6;J6~9J6J6J6Jcb!KQ _KDhLZL L0LbM5<MbIMeBMgNMtO|0PFE!PFEZPFEnQNROJR|cROuS8^TTʴTZU?^,U|5*U}PYV1V1¶VlVV VUVPW-WT5WTWTX~X9X X˙:'XYPYYlYG?ZgZkmZQ[;^d\ņ\]4 \]4\\at%gclG|^;c?v5vy$fXi4L5.96CLyIA[9@Ikyɵn1ɵneɵnirɵnxɵnɵnɵnmɵnr(ZY Bq* 'C QMHEnaǽ\,q >^3H,<!p 5+#QB%UT{(ŎH*4@-ct25vEјEn{=8AAW[yL^no31z=m~M|MEUE[LwwWt^[ I GisD !eW%C&()D*/eu5"W;ByEc0GF5SO/ZfV\c``|ubFcփ5f(g&4jCHmnlqTqaLtuu(ܨ{>}ka`PD~${P eVy @Gt:$e$Lq+76(ʁVr^K K֊0; nz:,f ];yO-SHAĴnKk7^k=W&Hf."/fM?=IxS-MR>+YMUPYM[^R9h^#8i&psscs-wUxK/^rq2>7+ۊ/at.8N,Z]Ϙ]VIIII7II+IINYހi޲y݆ݸ"TIHz߬uDXuD^@Do, ,s,ڒ,,]`=rhɘe[5$ZfRfRFG>7d4_~CN0FyNc%SOPqYV8VfR@ .  NA  yq jd$%C#g&~N&3)2nD)8*4M+,?"y?>u JA,KN MtR%V|O]e(]hdI)gBky^! {yf5t ZFFd:ΞVP*G%Sn<ص+ǥ+D69tH{y/;QxARr+9\QIsQu#ϾK%-{IZC-'5mC^^ƨ ~ƨ˾i,eҝz=iէ?Z>*z>ߺbi>fsq.m}^9! "${~bE~bJoMm!h)ўR+u\+3O,8//114~6 ? 2:ASD#XGTGbILAUdOr!Pѧ8Q]SneTyUkU:UTdZّZٽZZ[]k*E]8-^n_peiX>i^{kQ+oN'6y;y{}u(}w}w|}w }* lOr"B>}vtt5. .3>PțiUaDDDYuIt(@t[tO2$-n+_ +2F{C]ʢ3ʢBƴd4Dd{Vddd0 59g~эŲ+b#NSLUd5B hwhp 2Y }?  g'V|v+_,D /42=42c"6Y7D:sd?;2CU]&D fIN;}J0KK U|4V7O\ar̕twL|(^| |}wZ}$Э}$N}$ }ϗ,ZXVN_ Da^L>YiNqjK<9!f+·҅·ý3m׳7 /]H/UESHhxvu:%5J?Tm e~QDi~i9%kwb/#)%''p-.z.) 5kEɮ=N=?t?x CtIMPP?V%rXU DZiX`Ӡ`NvbDAbGo>fDLfdgAhINmi$x1 cz*2A|QRQdJx6lU(.G5z=c.`"1 rX~mT^en$M9;b_†5iKC:ʴ5}ʴ5@ʶ,^ cԄ۔#SD>'Nmd*F5!ZF5~Ypb+>?IIE*As 3 }$|2 qeZ ڤ$ ڥh d Ey E  Ac AcGj R 35 u bØ bbx b`/ b` gUvZ i3% la lfo uui xq$ |oT |j JĄ t$ tG .&  a )N F>.~ ? (~   B ҉A >΂  [ j z nw Ns p Y+W K % 팤^ l~? %' B /3/ =# qQ v }% o>J 9U )_ */ .>w_ 5`@ 7u ;p =T$ BR BnFw J" J"b K2J Rۮ", Ty t T^آ Uj4tw ] `ep ` bu b c( cEs d e eE e{֨ f1VZ f* g5UQ gn* k, rD"- t>n :. f 5 f BO 4g2 .Rb X ss sD AAYe 9 8^ 9|  m, #-t 0N+ 5 A, CUR E9T I] L L' L^ Mc\: R_ ShO Vk W ]$2 f)s f)B f= io>!r m`" w xR17 yr5 >S  tu H HAh *D nF $CP .@ 7 i `  s % J JD8 %@ t. k Ӈ MP  N>o ̺S &k -DTW .r2 ۷i c>J rO k k U)^  <! ԡ B 0?  {  z+  W  ^ IM %R Nq   xHa w :=  ..= 7F >Y >Z$ >Z >a- >l >r >M > ?t| DT Q I- P@  RVG RV RVB S.N SGD Sw Y YV [ c`g% hۮMD j7o@+ p.{ vu 5 .˸ Bi  T2' Tx T, T  j 3w M S )d Tv  ;>z .2_ .f .yg . . .ͼ  ! s a y! p e.BB hNq >ZV ҂&6  %  u : |c m_  Xt n 9 t a_ @ :b_8 Uqw p O.> ʜ-'  ^ #$ #= %nr (I$ (N2g +>/ +k 0E 64* ;ɾ. Fg K9? Pt! Pt8 T>T W I dBh\ fe fe gN iFC۲ iE` i jӮ kGn m9 n)w u u v o v& v{E wM w w ! w}} w}! w} O |[-\  U [ %o Jc ^K }q| R PR  xN Uu ɰe F}Y ) XH &- D F + t5~ t5 E< b >   ) "Rwy @agT)hZoC'gT)6*(*/E(/E\=BnI__KfOOvXRu0X6[ [ a.8a.1gcnyG,fvɅy$ʞ~`>HboZ4u&n_'A44Sk^XǗ 2:B&rsݖ[y5^{r | CG5(lD'"#:$Ua%4:%4J-vF0i)01c2wT<U<(_D#HJd`kK`K#j5L$.Wcc57c5 g3iCmhDp|yC$+{~aw6$Y5 O&&{kB`nTa[#>V(\C>b=N? E"~LfDr)=rky Ln~BPUt2,xT#)dUi;l<html>eHde>n <b>%1</b> ]SOu( Vpg Q*QHk Vkd\RcR0rn0</html>xSwitching to the audio playback device %1
which just became available and has higher preference. AudioOutputr<html>eHde>n <b>%1</b> g*KO\0<br/>e9u(-n <b>%2</b>0</html>^The audio playback device %1 does not work.
Falling back to %2. AudioOutputV_R0n %1Revert back to device '%1' AudioOutputܕR Close Tab CloseButton e %1About %1MAC_APPLICATION_MENU%1Hide %1MAC_APPLICATION_MENUQvN Hide OthersMAC_APPLICATION_MENU POY}-["Preferences...MAC_APPLICATION_MENU }Pg_ %1Quit %1MAC_APPLICATION_MENUg RServicesMAC_APPLICATION_MENUoy:QhShow AllMAC_APPLICATION_MENURn AccessibilityPhonon::  CommunicationPhonon::Jb2GamesPhonon::jMusicPhonon::w NotificationsPhonon::_qPVideoPhonon::dfTJ`Slg [ GStreamer Ycz _0 b@g eH_qPe/c\ܕ0~Warning: You do not seem to have the base GStreamer plugins installed. All audio and video support has been disabledPhonon::Gstreamer::BackendzfTJ`Slg [ gstreamer0.10-plugins-good0 g N_qPvR\ܕ0Warning: You do not seem to have the package gstreamer0.10-plugins-good installed. Some video features have been disabled.Phonon::Gstreamer::BackendkdQg[%0`A required codec is missing. You need to install the following codec(s) to play this content: %0Phonon::Gstreamer::MediaObjectq!lՕYde>0 jg`v Gstreamer [ N&x[`g [ libgstreamer-plugins-base YWN0wCannot start playback. Check your Gstreamer installation and make sure you have libgstreamer-plugins-base installed.Phonon::Gstreamer::MediaObjectq!lՉxZOn0Could not decode media source.Phonon::Gstreamer::MediaObjectq!l[OMZOn0Could not locate media source.Phonon::Gstreamer::MediaObject"q!lՕU_eHn0n]W(Ou(N-0:Could not open audio device. The device is already in use.Phonon::Gstreamer::MediaObjectq!lՕU_ZOn0Could not open media source.Phonon::Gstreamer::MediaObjectN TlvOnWaK0Invalid source type.Phonon::Gstreamer::MediaObjectBOu(kdnRVhOet0g]搊vOMnp 0% gSvp %1%0WUse this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1%Phonon::VolumeSlider %1% Volume: %1%Phonon::VolumeSlider%1 %2 g*[%1, %2 not definedQ3AccelN fxv %1 \g*UtAmbiguous %1 not handledQ3AccelR*dDelete Q3DataTablePGFalse Q3DataTablecQeInsert Q3DataTablewTrue Q3DataTablefeUpdate Q3DataTable&%1 b~N R0jhH0 jg_jT 0+%1 File not found. Check path and filename. Q3FileDialog R*d(&D)&Delete Q3FileDialog T&(&N)&No Q3FileDialog x[(&O)&OK Q3FileDialog U_(&O)&Open Q3FileDialogeT}T (&R)&Rename Q3FileDialog Q2[X(&S)&Save Q3FileDialogg*c^(&U) &Unsorted Q3FileDialog f/(&Y)&Yes Q3FileDialog4<qt>`x[R*d %1 "%2" U</qt>1Are you sure you wish to delete %1 "%2"? Q3FileDialogb@g jhH (*) All Files (*) Q3FileDialogb@g jhH (*.*)All Files (*.*) Q3FileDialog\l`' Attributes Q3FileDialogVBack Q3FileDialogSmCancel Q3FileDialogbyRjhHCopy or Move a File Q3FileDialog ^zeeY>Create New Folder Q3FileDialogegDate Q3FileDialog R*d %1 Delete %1 Q3FileDialogs}0j Detail View Q3FileDialogvDir Q3FileDialogv Directories Q3FileDialogv Directory: Q3FileDialog/Error Q3FileDialogjhHFile Q3FileDialogjT (&N) File &name: Q3FileDialogjhHWaK(&T) File &type: Q3FileDialog\ b~vFind Directory Q3FileDialogq!l[XS Inaccessible Q3FileDialogRhj List View Q3FileDialog\ b~e(&I) Look &in: Q3FileDialogT z1Name Q3FileDialogeeY> New Folder Q3FileDialogeeY> %1 New Folder %1 Q3FileDialog eeY> 1 New Folder 1 Q3FileDialog _N N\dvOne directory up Q3FileDialogU_Open Q3FileDialogU_ Open  Q3FileDialog jhHQg[Preview File Contents Q3FileDialog jhHNJ Preview File Info Q3FileDialoge Qe(&E)R&eload Q3FileDialogU/ Read-only Q3FileDialogS[ Read-write Q3FileDialog S%1Read: %1 Q3FileDialogS[XejSave As Q3FileDialogːxdNP vSelect a Directory Q3FileDialogoy:j(&H)Show &hidden files Q3FileDialogY'\Size Q3FileDialogc^Sort Q3FileDialogOegc^(&D) Sort by &Date Q3FileDialogOT z1c^(&N) Sort by &Name Q3FileDialogOY'\c^(&S) Sort by &Size Q3FileDialogryk{Special Q3FileDialogR0vv{&_#}PSymlink to Directory Q3FileDialogR0jhHv{&_#}PSymlink to File Q3FileDialogR0ryk{v{&_#}PSymlink to Special Q3FileDialogWaKType Q3FileDialogU/[ Write-only Q3FileDialog [Qe%1 Write: %1 Q3FileDialogkdv the directory Q3FileDialogkdjhHthe file Q3FileDialog kd{&_#}P the symlink Q3FileDialogq!l^zv %1Could not create directory %1 Q3LocalFsq!lՕU_ %1Could not open %1 Q3LocalFsq!lՋSv %1Could not read directory %1 Q3LocalFsq!lydv %1%Could not remove file or directory %1 Q3LocalFsq!l\ %1 eT}T p %2Could not rename %1 to %2 Q3LocalFsq!l[Qe %1Could not write %1 Q3LocalFs ... Customize... Q3MainWindowcRLine up Q3MainWindowOu(]N-kbdO\Operation stopped by the userQ3NetworkProtocolSmCancelQ3ProgressDialogYWu(Apply Q3TabDialogSmCancel Q3TabDialog-Defaults Q3TabDialogfHelp Q3TabDialogx[OK Q3TabDialog (&C)&Copy Q3TextEdit N (&P)&Paste Q3TextEdit PZ(&R)&Redo Q3TextEdit _S(&U)&Undo Q3TextEditndClear Q3TextEdit RjN (&T)Cu&t Q3TextEditQhxd Select All Q3TextEditܕClose Q3TitleBarܕzCloses the window Q3TitleBarST+dO\kdzvcN*Contains commands to manipulate the window Q3TitleBar$oy:zT z1 N&ST+dO\[vcR6QCNFDisplays the name of the window and contains controls to manipulate it Q3TitleBar\ze>Y'R0QhukbMakes the window full screen Q3TitleBargY'SMaximize Q3TitleBarg\SMinimize Q3TitleBar bzyMoves the window out of the way Q3TitleBar\gY'Sze>VSY'\&Puts a maximized window back to normal Q3TitleBar\g\Sze>VSY'\Puts a minimized back to normal Q3TitleBarTN `b_ Restore down Q3TitleBarTN `b_ Restore up Q3TitleBar|}qSystem Q3TitleBar fY...More... Q3ToolBarg*w  (unknown) Q3UrlOperator&ST[ %1 g*e/cbyRjhHbvIThe protocol `%1' does not support copying or moving files or directories Q3UrlOperatorST[ %1 g*e/c^zev;The protocol `%1' does not support creating new directories Q3UrlOperatorST[ %1 g*e/cS_jhH0The protocol `%1' does not support getting files Q3UrlOperatorST[ %1 g*e/cRQv6The protocol `%1' does not support listing directories Q3UrlOperatorST[ %1 g*e/c[QejhH0The protocol `%1' does not support putting files Q3UrlOperator ST[ %1 g*e/cydjhHbv@The protocol `%1' does not support removing files or directories Q3UrlOperator$ST[ %1 g*e/ceT}T jhHbv@The protocol `%1' does not support renaming files or directories Q3UrlOperatorST[ %1 g*e/c"The protocol `%1' is not supported Q3UrlOperator Sm(&C)&CancelQ3Wizard [b(&F)&FinishQ3Wizard f(&H)&HelpQ3WizardN NP (&N)&Next >Q3WizardV(&B)< &BackQ3Wizard#}ڈbConnection refusedQAbstractSocket#}ڐ>fBConnection timed outQAbstractSocket b~N R0N;j_Host not foundQAbstractSocket q!lOu(}Network unreachableQAbstractSocketSocket vdO\g*e/c$Operation on socket is not supportedQAbstractSocketSocket g*#}Socket is not connectedQAbstractSocketSocket dO\>fBSocket operation timed outQAbstractSocketQhxd(&S) &Select AllQAbstractSpinBoxUkeTN (&S)&Step upQAbstractSpinBoxUkeTN (&D) Step &downQAbstractSpinBoxU_RActivate QApplicationU_Rz _vN;z#Activates the program's main window QApplication6WLj %1 Qt %2 OFSb~R0 Qt %30,Executable '%1' requires Qt %2, found Qt %3. QApplicationQt Q_^N v[v/Incompatible Qt Library Error QApplicationLTRQT_LAYOUT_DIRECTION QApplication Sm(&C)&Cancel QAxSelectCOM riN(&O) COM &Object: QAxSelectx[OK QAxSelectxd ActiveX cR6Select ActiveX Control QAxSelectRxCheck QCheckBoxRcToggle QCheckBoxSmRxUncheck QCheckBoxeXR0Or(&A)&Add to Custom Colors QColorDialogWg,Or(&B) &Basic colors QColorDialogOr(&C)&Custom colors QColorDialog }(&G)&Green: QColorDialog }(&R)&Red: QColorDialogT^(&S)&Sat: QColorDialogN^(&V)&Val: QColorDialogAlpha r;(&L)A&lpha channel: QColorDialog (&U)Bl&ue: QColorDialogr(&E)Hu&e: QColorDialogxdǘOr Select Color QColorDialogܕClose QComboBoxPGFalse QComboBoxU_Open QComboBoxwTrue QComboBox%1ftok Y1eW%1: ftok failedQCoreApplication%1uP(&N) &New Folder QFileDialog U_(&O)&Open QFileDialogeT}T (&R)&Rename QFileDialog Q2[X(&S)&Save QFileDialog&%1 g [QeO݋w0 `x[R*d[U9'%1' is write protected. Do you want to delete it anyway? QFileDialogb@g jhH (*) All Files (*) QFileDialogb@g jhH (*.*)All Files (*.*) QFileDialog`x[R*d %1 U!Are sure you want to delete '%1'? QFileDialogVBack QFileDialogq!lR*dv0Could not delete directory. QFileDialog ^zeeY>Create New Folder QFileDialogs}0j Detail View QFileDialogv Directories QFileDialogv Directory: QFileDialogxxDrive QFileDialogjhHFile QFileDialogjT (&N) File &name: QFileDialog jhHWaKFiles of type: QFileDialog\ b~vFind Directory QFileDialog_RMForward QFileDialogRhj List View QFileDialog\ b~eLook in: QFileDialogbvf My Computer QFileDialogeeY> New Folder QFileDialogU_Open QFileDialogr6vParent Directory QFileDialog gvW0e Recent Places QFileDialogydRemove QFileDialogS[XejSave As QFileDialogoy: Show  QFileDialogoy:j(&H)Show &hidden files QFileDialogg*wUnknown QFileDialog %1 GB%1 GBQFileSystemModel %1 KB%1 KBQFileSystemModel %1 MB%1 MBQFileSystemModel %1 TB%1 TBQFileSystemModel %1 OMQC}D%1 bytesQFileSystemModel^<b>q!lOu(T z1 "%1"0</b><p>Ou(Qv[T z1 [WQCex\N bf/N g j{&_0oThe name "%1" can not be used.

Try using another name, with fewer characters or no punctuations marks.QFileSystemModelfComputerQFileSystemModelfeg Date ModifiedQFileSystemModel N TlvjT Invalid filenameQFileSystemModelz.^KindQFileSystemModelbvf My ComputerQFileSystemModelT z1NameQFileSystemModelY'\SizeQFileSystemModelWaKTypeQFileSystemModelNOUAny QFontDatabase?bO/Arabic QFontDatabaseN\Tamil QFontDatabase TeluguTelugu QFontDatabase ThaanaThaana QFontDatabaselThai QFontDatabaseTibetan QFontDatabase~AN-eTraditional Chinese QFontDatabaseSW Vietnamese QFontDatabase [WW(&F)&Font QFontDialog Y'\(&S)&Size QFontDialog ^}(&U) &Underline QFontDialogeHgEffects QFontDialog[WWj#_(&Y) Font st&yle QFontDialog{OSample QFontDialogxd[WW Select Font QFontDialogR*d}(&K) Stri&keout QFontDialog[Qe|}q(&I)Wr&iting System QFontDialogfvfBY1eW %1Changing directory failed: %1QFtp ]#}R0N;j_Connected to hostQFtp]#cR0N;j_ %1Connected to host %1QFtp#}R0N;j_Y1eW %1Connecting to host failed: %1QFtp #}]ܕConnection closedQFtp e#}ڈb&Connection refused for data connectionQFtp#}R0N;j_ %1 bConnection refused to host %1QFtp#}R0N;j_ %1 >fBConnection timed out to host %1QFtpR0 %1 v#}]ܕConnection to %1 closedQFtp^zvfBY1eW %1Creating directory failed: %1QFtpN jhHfBY1eW %1Downloading file failed: %1QFtpb~R0N;j_ %1 Host %1 foundQFtpb~N R0N;j_ %1Host %1 not foundQFtpb~R0N;j_ Host foundQFtpRQvfBY1eW %1Listing directory failed: %1QFtpv{QeY1eW %1Login failed: %1QFtpg*#} Not connectedQFtpydvfBY1eW %1Removing directory failed: %1QFtpydjhHfBY1eW %1Removing file failed: %1QFtp g*wv/ Unknown errorQFtpN PjhHfBY1eW %1Uploading file failed: %1QFtp g*wv/ Unknown error QHostInfo b~N R0N;j_Host not foundQHostInfoAgentg*wvOMW@WaKUnknown address typeQHostInfoAgent g*wv/ Unknown errorQHostInfoAgentIAuthentication requiredQHttp ]#}R0N;j_Connected to hostQHttp]#cR0N;j_ %1Connected to host %1QHttp #}]ܕConnection closedQHttp#}ڈbConnection refusedQHttp#}ڈbb#}ڐ>fB !Connection refused (or timed out)QHttpR0 %1 v#}]ܕConnection to %1 closedQHttp e]d kData corruptedQHttp[QeVaR0nfBv|u/ Error writing response to deviceQHttpHTTP lBY1eWHTTP request failedQHttp0HTTPS #}ڗv SSL e/cN&g*}o2O:HTTPS connection requested but SSL support not compiled inQHttpb~R0N;j_ %1 Host %1 foundQHttpb~N R0N;j_ %1Host %1 not foundQHttpb~R0N;j_ Host foundQHttp N;j_IHost requires authenticationQHttpN Tlv HTTP S@XJN;Invalid HTTP chunked bodyQHttpN Tlv HTTP Vމj-Invalid HTTP response headerQHttplg -[#}R0TP O:g VhNo server set to connect toQHttpNtO:g VhIProxy authentication requiredQHttpNtO:g VhIProxy requires authenticationQHttplBN-kbRequest abortedQHttpSSL nY1eWSSL handshake failedQHttpO:g Vhq!fܕ#}%Server closed connection unexpectedlyQHttp g*wv/ Unknown errorQHttpc[Ng*wvST[Unknown protocol specifiedQHttp/vQg[w^Wrong content lengthQHttpIAuthentication requiredQHttpSocketEngine$g*_NtO:g Vhce6R0 HTTP Va(Did not receive HTTP response from proxyQHttpSocketEngine& HTTP NtO:g Vho~kfBv|u/#Error communicating with HTTP proxyQHttpSocketEngine(RVg_NtO:g VhPOvIlBfBv|u//Error parsing authentication request from proxyQHttpSocketEngineNtO:g Vh#}]N kc^8ܕ#Proxy connection closed prematurelyQHttpSocketEngineNtO:g Vh#}ڈbProxy connection refusedQHttpSocketEngineNtO:g Vhb}U#}Proxy denied connectionQHttpSocketEngineNtO:g Vh#}ڐ>fB!Proxy server connection timed outQHttpSocketEngineb~N R0NtO:g VhProxy server not foundQHttpSocketEngine q!lՕYNRCould not start transaction QIBaseDriverU_e^v|u/Error opening database QIBaseDriver q!lcNNRUnable to commit transaction QIBaseDriver q!lS͏INRUnable to rollback transaction QIBaseDriver q!lՑMneXCould not allocate statement QIBaseResultq!lcϏ8QeeX"Could not describe input statement QIBaseResult q!lcϏeXCould not describe statement QIBaseResultq!lbSN NP vCould not fetch next item QIBaseResult b~N R0cRCould not find array QIBaseResultq!lS_cReCould not get array data QIBaseResultq!lS_gbNJ Could not get query info QIBaseResultq!lS_eXNJ Could not get statement info QIBaseResult q!lnPeXCould not prepare statement QIBaseResult q!lՕYNRCould not start transaction QIBaseResult q!lՕܕeXUnable to close statement QIBaseResult q!lcNNRUnable to commit transaction QIBaseResultq!l^z BLOBUnable to create BLOB QIBaseResult q!lWLgbUnable to execute query QIBaseResultq!lՕU_ BLOBUnable to open BLOB QIBaseResultq!lՋS BLOBUnable to read BLOB QIBaseResultq!l[Qe BLOBUnable to write BLOB QIBaseResultnN ]q!zzNo space left on device QIODeviceb~N R0rjhHbvNo such file or directory QIODevicek PN Permission denied QIODevice U_NYjhHToo many open files QIODevice g*wv/ Unknown error QIODeviceMac OS X 8QelMac OS X input method QInputContextWindows 8QelWindows input method QInputContextXIMXIM QInputContextXIM 8QelXIM input method QInputContext ˏ8QeP<Enter a value: QInputDialogq!lՏ QeQ_^ %1%2Cannot load library %1: %2QLibrary$q!lS͉ %2 Qgv{&_ %1%3$Cannot resolve symbol "%1" in %2: %3QLibraryq!lSx Q_^ %1%2Cannot unload library %1: %2QLibraryq!l mmap '%1'%2Could not mmap '%1': %2QLibrary q!l unmap '%1'%2Could not unmap '%1': %2QLibrary$W( %1 N-vYcz _xeN {&T)Plugin verification data mismatch in '%1'QLibrary(jhH %1 N f/Tlv Qt Ycz _0'The file '%1' is not a valid Qt plugin.QLibraryFYcz _ %1 Ou(N v[v Qt Q_^%2.%3.%4 0%50=The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5]QLibraryTYcz _ %1 Ou(N v[v Qt Q_^0N \d/QrHvQ_^mW(Nw0 WThe plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.)QLibraryJYcz _ %1 Ou(N v[v Qt Q_^0g^i˔p %2 S{_R0 %3OThe plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3"QLibraryb~N R0RNQ_^!The shared library was not found.QLibrary g*wv/ Unknown errorQLibrary (&C)&Copy QLineEdit N (&P)&Paste QLineEdit PZ(&R)&Redo QLineEdit _S(&U)&Undo QLineEdit RjN (&T)Cu&t QLineEditR*dDelete QLineEditQhxd Select All QLineEdit%1OMW@Ou(N-%1: Address in use QLocalServer%1T z1/%1: Name error QLocalServer%1[XSֈb%1: Permission denied QLocalServer%1g*wv/ %2%1: Unknown error %2 QLocalServer%1#}ړ/%1: Connection error QLocalSocket%1#}ڈb%1: Connection refused QLocalSocket%1eSNY'%1: Datagram too large QLocalSocket%1N TlvT z1%1: Invalid name QLocalSocket%1`z]ܕ%1: Remote closed QLocalSocket%1Socket OMW@/%1: Socket access error QLocalSocket%1Socket dO\>fB%1: Socket operation timed out QLocalSocket%1Socket n/%1: Socket resource error QLocalSocket%1socket dO\g*e/c)%1: The socket operation is not supported QLocalSocket%1g*wv/%1: Unknown error QLocalSocket%1g*wv/ %2%1: Unknown error %2 QLocalSocket q!lՕYNRUnable to begin transaction QMYSQLDriver q!lcNNRUnable to commit transaction QMYSQLDriverq!lՐ#}Unable to connect QMYSQLDriverq!lՕU_e^Unable to open database ' QMYSQLDriver q!lS͏INRUnable to rollback transaction QMYSQLDriverq!l}PT8QP<Unable to bind outvalues QMYSQLResult q!l}PTexP<Unable to bind value QMYSQLResultq!lWLN NP gbUnable to execute next query QMYSQLResult q!lWLgbUnable to execute query QMYSQLResult q!lWLeXUnable to execute statement QMYSQLResult q!lbS֌eUnable to fetch data QMYSQLResult q!lnPeXUnable to prepare statement QMYSQLResult q!lՑneXUnable to reset statement QMYSQLResultq!lQ2[XN NP }PgUnable to store next result QMYSQLResult q!lQ2[X}PgUnable to store result QMYSQLResultq!lQ2[XeX}Pg!Unable to store statement results QMYSQLResult g*T}T  (Untitled)QMdiArea%1 - [%2] %1 - [%2] QMdiSubWindow ܕ(&C)&Close QMdiSubWindow yR(&M)&Move QMdiSubWindow V_(&R)&Restore QMdiSubWindow Y'\(&S)&Size QMdiSubWindow - [%1]- [%1] QMdiSubWindowܕClose QMdiSubWindowfHelp QMdiSubWindowgY'S(&X) Ma&ximize QMdiSubWindowgY'SMaximize QMdiSubWindowxUMenu QMdiSubWindowg\S(&N) Mi&nimize QMdiSubWindowg\SMinimize QMdiSubWindowV_Restore QMdiSubWindowTN `b_ Restore Down QMdiSubWindown=Shade QMdiSubWindowuYW(z(&T) Stay on &Top QMdiSubWindowSmn=Unshade QMdiSubWindowܕCloseQMenuWLExecuteQMenuU_OpenQMenu e QtAbout Qt QMessageBoxfHelp QMessageBoxϊs`...Hide Details... QMessageBoxx[OK QMessageBoxoy:s`...Show Details... QMessageBox xdǏ8Qel Select IMQMultiInputContextY͏8QelRcVhMultiple input method switcherQMultiInputContextPlugin*Ou(e[WQCNN-vQgexUvY͏8QelRcVhMMultiple input method switcher that uses the context menu of the text widgetsQMultiInputContextPlugin,SNP socket ]}W(v}T NP #cW4Another socket is already listening on the same portQNativeSocketEngine>fWW(lg IPv6 e/cv^sSN Ou( IPv6 socket=Attempt to use IPv6 socket on a platform with no IPv6 supportQNativeSocketEngine#}ڈbConnection refusedQNativeSocketEngine#}ڐ>fBConnection timed outQNativeSocketEngineeNY'q!lՐQDatagram was too large to sendQNativeSocketEngineq!lՐ#}R0N;j_Host unreachableQNativeSocketEngineN Tlv socket cϏ[PInvalid socket descriptorQNativeSocketEngine}/ Network errorQNativeSocketEngine }dO\>fBNetwork operation timed outQNativeSocketEngine q!lOu(}Network unreachableQNativeSocketEngine\ ^ socket dO\Operation on non-socketQNativeSocketEnginenN Out of resourcesQNativeSocketEnginek PN Permission deniedQNativeSocketEngineST[WaKg*e/cProtocol type not supportedQNativeSocketEngine q!lS_OMW@The address is not availableQNativeSocketEnginekdOMW@]O݋wThe address is protectedQNativeSocketEngine}PTvOMW@]}W(Ou(N-#The bound address is already in useQNativeSocketEngineNtO:g VhWaKq!le/ckddO\,The proxy type is invalid for this operationQNativeSocketEngine`zN;j_ܕN#}%The remote host closed the connectionQNativeSocketEngineq!lRYS^d socket%Unable to initialize broadcast socketQNativeSocketEngine q!lRYS^;d`' socket(Unable to initialize non-blocking socketQNativeSocketEngine q!lce6 `oUnable to receive a messageQNativeSocketEngine q!lՐQ `oUnable to send a messageQNativeSocketEngineq!l[QeUnable to writeQNativeSocketEngine g*wv/ Unknown errorQNativeSocketEngineg*e/cv socket dO\Unsupported socket operationQNativeSocketEngineU_ %1 v|u/Error opening %1QNetworkAccessCacheBackend q!lՕU_ %1kd_f/NP v#Cannot open %1: Path is a directoryQNetworkAccessFileBackendU_ %1 v|u/%2Error opening %1: %2QNetworkAccessFileBackend_ %1 S֓/%2Read error reading from %1: %2QNetworkAccessFileBackendlBU_^g,W0zjhH %1%Request for opening non-local file %1QNetworkAccessFileBackend[Qe %1 fBv|u/%2Write error writing to %1: %2QNetworkAccessFileBackendq!lՕU_ %1f/NP vCannot open %1: is a directoryQNetworkAccessFtpBackendN %1 fBv|u/%2Error while downloading %1: %2QNetworkAccessFtpBackendN P %1 fBv|u/%2Error while uploading %1: %2QNetworkAccessFtpBackendv{Qe %1 Y1eWI0Logging in to %1 failed: authentication requiredQNetworkAccessFtpBackendb~N R0TivNtO:g VhNo suitable proxy foundQNetworkAccessFtpBackendb~N R0TivNtO:g VhNo suitable proxy foundQNetworkAccessHttpBackend(N %1 fBv|u/%O:g VhVa%2)Error downloading %1 - server replied: %2 QNetworkReplyg*wvST[ %1Protocol "%1" is unknown QNetworkReplySmdO\Operation canceledQNetworkReplyImpl q!lՕYNRUnable to begin transaction QOCIDriver q!lcNNRUnable to commit transaction QOCIDriver q!lRYSUnable to initialize QOCIDriverq!lv{QeUnable to logon QOCIDriver q!lS͏INRUnable to rollback transaction QOCIDriver q!lՑMneXUnable to alloc statement QOCIResultq!l}PTkOMNPZbyk!WL'Unable to bind column for batch execute QOCIResult q!l}PTexP<Unable to bind value QOCIResultq!lWLbyk!eX!Unable to execute batch statement QOCIResult q!lWLeXUnable to execute statement QOCIResultq!lՍR0N NP Unable to goto next QOCIResult q!lnPeXUnable to prepare statement QOCIResult q!lcNNRUnable to commit transaction QODBCDriverq!lՐ#cUnable to connect QODBCDriver(q!lՐ#c%ERz _q!le/cb@g vRCUnable to connect - Driver doesn't support all needed functionality QODBCDriverq!lՕܕRcNRUnable to disable autocommit QODBCDriverq!lՕU_RcNRUnable to enable autocommit QODBCDriver q!lS͏INRUnable to rollback transaction QODBCDriverQODBCResult::reset: q!lՊ-[ SQL_CURSOR_STATIC PZpeX\l`'0jg`v ODBC ERz _v-[yQODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResult q!l}PTexUnable to bind variable QODBCResult q!lWLeXUnable to execute statement QODBCResultq!lbSUnable to fetch QODBCResultq!lbS{,N{FUnable to fetch first QODBCResultq!lbSg_N{FUnable to fetch last QODBCResultq!lbSN N{FUnable to fetch next QODBCResultq!lbSRMN{FUnable to fetch previous QODBCResult q!lnPeXUnable to prepare statement QODBCResultHomeQObjectN Tlv}W@%1Invalid URI: %1QObject g*c[N;j_No host name givenQObjectW( %1 N N e/ckddO\Operation not supported on %1QObject"ST[/ce6R0Y'\p 0 v\S)Protocol error: packet of size 0 receivedQObject_ %1 S֓/%2Read error reading from %1: %2QObject&e %1 N `zN;j_ܕNN kc^8v#}3Remote host closed the connection prematurely on %1QObject&%1 N v|u socket /%2Socket error on %1: %2QObject[Qe %1 fBv|u/%2Write error writing to %1: %2QObjectT z1NameQPPDOptionsModelP<ValueQPPDOptionsModel q!lՕYNRCould not begin transaction QPSQLDriver q!lcNNRCould not commit transaction QPSQLDriver q!lS͏INRCould not rollback transaction QPSQLDriverq!lՐ#}Unable to connect QPSQLDriverq!lՊUnable to subscribe QPSQLDriver q!lSmUnable to unsubscribe QPSQLDriver q!l^zgbUnable to create query QPSQLResult q!lnPeXUnable to prepare statement QPSQLResultQlRCentimeters (cm)QPageSetupWidgethUFormQPageSetupWidget^Height:QPageSetupWidgetT  Inches (in)QPageSetupWidgetjkT LandscapeQPageSetupWidget}MarginsQPageSetupWidgetQlSMillimeters (mm)QPageSetupWidgeteT OrientationQPageSetupWidget }_5Y'\ Page size:QPageSetupWidget}_5PaperQPageSetupWidget }_5On Paper source:QPageSetupWidget Points (pt)QPageSetupWidget~1TPortraitQPageSetupWidgetS^jkTReverse landscapeQPageSetupWidgetS^~1TReverse portraitQPageSetupWidget[^Width:QPageSetupWidgetN } bottom marginQPageSetupWidget]} left marginQPageSetupWidgetS} right marginQPageSetupWidgetN } top marginQPageSetupWidgetYcz _g* Qe0The plugin was not loaded. QPluginLoader g*wv/ Unknown error QPluginLoader%1 ][XW(0 `[[U/%1 already exists. Do you want to overwrite it? QPrintDialog$%1 f/NP v0 ːxdQvNjT 07%1 is a directory. Please choose a different file name. QPrintDialogdO\ (&O) << &Options << QPrintDialogdO\ (&O) >> &Options >> QPrintDialog RSp(&P)&Print QPrintDialog <qt>`[[U</qt>%Do you want to overwrite it? QPrintDialogA0A0 QPrintDialog$A0 (841 x 1189 mm)A0 (841 x 1189 mm) QPrintDialogA1A1 QPrintDialog"A1 (594 x 841 mm)A1 (594 x 841 mm) QPrintDialogA2A2 QPrintDialog"A2 (420 x 594 mm)A2 (420 x 594 mm) QPrintDialogA3A3 QPrintDialog"A3 (297 x 420 mm)A3 (297 x 420 mm) QPrintDialogA4A4 QPrintDialogBA4 (210 x 297 mm, 8.26 x 11.7 T )%A4 (210 x 297 mm, 8.26 x 11.7 inches) QPrintDialogA5A5 QPrintDialog"A5 (148 x 210 mm)A5 (148 x 210 mm) QPrintDialogA6A6 QPrintDialog"A6 (105 x 148 mm)A6 (105 x 148 mm) QPrintDialogA7A7 QPrintDialog A7 (74 x 105 mm)A7 (74 x 105 mm) QPrintDialogA8A8 QPrintDialogA8 (52 x 74 mm)A8 (52 x 74 mm) QPrintDialogA9A9 QPrintDialogA9 (37 x 52 mm)A9 (37 x 52 mm) QPrintDialog R%T %1 Aliases: %1 QPrintDialogB0B0 QPrintDialog&B0 (1000 x 1414 mm)B0 (1000 x 1414 mm) QPrintDialogB1B1 QPrintDialog$B1 (707 x 1000 mm)B1 (707 x 1000 mm) QPrintDialogB10B10 QPrintDialog B10 (31 x 44 mm)B10 (31 x 44 mm) QPrintDialogB2B2 QPrintDialog"B2 (500 x 707 mm)B2 (500 x 707 mm) QPrintDialogB3B3 QPrintDialog"B3 (353 x 500 mm)B3 (353 x 500 mm) QPrintDialogB4B4 QPrintDialog"B4 (250 x 353 mm)B4 (250 x 353 mm) QPrintDialogB5B5 QPrintDialogBB5 (176 x 250 mm, 6.93 x 9.84 T )%B5 (176 x 250 mm, 6.93 x 9.84 inches) QPrintDialogB6B6 QPrintDialog"B6 (125 x 176 mm)B6 (125 x 176 mm) QPrintDialogB7B7 QPrintDialog B7 (88 x 125 mm)B7 (88 x 125 mm) QPrintDialogB8B8 QPrintDialogB8 (62 x 88 mm)B8 (62 x 88 mm) QPrintDialogB9B9 QPrintDialogB9 (44 x 62 mm)B9 (44 x 62 mm) QPrintDialogC5EC5E QPrintDialog$C5E (163 x 229 mm)C5E (163 x 229 mm) QPrintDialogCustom QPrintDialogDLEDLE QPrintDialog$DLE (110 x 220 mm)DLE (110 x 220 mm) QPrintDialogExecutive Executive QPrintDialogJExecutive (7.5 x 10 T , 191 x 254 mm))Executive (7.5 x 10 inches, 191 x 254 mm) QPrintDialog(jhH %1 q!l[Qe0 ːxdQv[jT 0=File %1 is not writable. Please choose a different file name. QPrintDialog jhH][XW( File exists QPrintDialog FolioFolio QPrintDialog"\ (210 x 330 mm)Folio (210 x 330 mm) QPrintDialog LedgerLedger QPrintDialog*Ledger (432 x 279 mm)Ledger (432 x 279 mm) QPrintDialog LegalLegal QPrintDialogBLegal (8.5 x 14 T , 216 x 356 mm)%Legal (8.5 x 14 inches, 216 x 356 mm) QPrintDialog LetterLetter QPrintDialogDLetter (8.5 x 11 T , 216 x 279 mm)&Letter (8.5 x 11 inches, 216 x 279 mm) QPrintDialog g,W0zjhH Local file QPrintDialogx[OK QPrintDialogRSpPrint QPrintDialogRSpR0jhH...Print To File ... QPrintDialogQhRSp Print all QPrintDialogRSp{W  Print range QPrintDialog RSpxdS@Print selection QPrintDialogRSpR0jhHPDF Print to File (PDF) QPrintDialog"RSpR0jhHPostscript Print to File (Postscript) QPrintDialogTabloidTabloid QPrintDialog,Tabloid (279 x 432 mm)Tabloid (279 x 432 mm) QPrintDialogwYexPY'Zoom inQPrintPreviewDialog~.\Zoom outQPrintPreviewDialog2AdvancedQPrintPropertiesWidgethUFormQPrintPropertiesWidgetbPageQPrintPropertiesWidgeth!\ CollateQPrintSettingsOutputOrColorQPrintSettingsOutputOrj!_ Color ModeQPrintSettingsOutputNexCopiesQPrintSettingsOutputNexCopies:QPrintSettingsOutput]RSpDuplex PrintingQPrintSettingsOutputhUFormQPrintSettingsOutputpp GrayscaleQPrintSettingsOutputw Long sideQPrintSettingsOutputq!NoneQPrintSettingsOutputxOptionsQPrintSettingsOutput8Q-[Output SettingsQPrintSettingsOutput c[b_ Pages fromQPrintSettingsOutputQhRSp Print allQPrintSettingsOutputRSp{W  Print rangeQPrintSettingsOutputSTReverseQPrintSettingsOutputxdS@ SelectionQPrintSettingsOutputw퐊 Short sideQPrintSettingsOutputR0toQPrintSettingsOutputT z1(&N)&Name: QPrintWidget...... QPrintWidgethUForm QPrintWidgetOMn Location: QPrintWidget8QjhH(&F) Output &file: QPrintWidget \l`'(&R) P&roperties QPrintWidgetPreview QPrintWidgetSphj_Printer QPrintWidgetWaKType: QPrintWidgetq!lՕU_8Qe\TN勀S,Could not open input redirection for readingQProcessq!lՕU_8Q\TN[Qe-Could not open output redirection for writingQProcess_Lz SfBv|u/Error reading from processQProcess[QeLz fBv|u/Error writing to processQProcess Lz ]])opProcess crashedQProcess U_RՈLz Y1eWProcess failed to startQProcess Lz dO\>fBProcess operation timed outQProcess n/fork Y1eW %1!Resource error (fork failure): %1QProcessSmCancelQProgressDialogU_Open QPushButtonRxCheck QRadioButton/v[WQC^R%lbad char class syntaxQRegExp /v lookahead lbad lookahead syntaxQRegExp/v͉lbad repetition syntaxQRegExpOu(]ܕvRdisabled feature usedQRegExpN TlvQk2OMP<invalid octal valueQRegExp GR0QgPR6met internal limitQRegExp\N]evS@{&missing left delimQRegExp lg v|u/no error occurredQRegExpg*gGR0}P\>unexpected endQRegExpU_e^fBv|u/Error to open databaseQSQLite2Driver q!lՕYNRUnable to begin transactionQSQLite2Driver q!lcNNRUnable to commit transactionQSQLite2Driver q!lS͏INRUnable to rollback TransactionQSQLite2Driver q!lWLeXUnable to execute statementQSQLite2Result q!lbS}PgUnable to fetch resultsQSQLite2Resultܕe^v|u/Error closing database QSQLiteDriverU_e^v|u/Error opening database QSQLiteDriver q!lՕYNRUnable to begin transaction QSQLiteDriver q!lcNNRUnable to commit transaction QSQLiteDriver q!lS͏INRUnable to rollback transaction QSQLiteDriverlg gbNo query QSQLiteResultSexexN {&TParameter count mismatch QSQLiteResult q!l}PTSexUnable to bind parameters QSQLiteResult q!lWLeXUnable to execute statement QSQLiteResult q!lbSRUnable to fetch row QSQLiteResult q!lՑneXUnable to reset statement QSQLiteResult^zBottom QScrollBar]搊} Left edge QScrollBar\ N cR Line down QScrollBar\ N cRLine up QScrollBarbN e Page down QScrollBarb]e Page left QScrollBarbSe Page right QScrollBarbN ePage up QScrollBarOMnPosition QScrollBarS} Right edge QScrollBar_N cr Scroll down QScrollBarW(kdcr Scroll here QScrollBar_]cr Scroll left QScrollBar_Scr Scroll right QScrollBar_N cr Scroll up QScrollBarzTop QScrollBar %1][XW(%1: already exists QSharedMemory%1^zY'\\e 0%1: create size is less then 0 QSharedMemory %1N [XW(%1: doesn't exists QSharedMemory%1ftok Y1eW%1: ftok failed QSharedMemory%1N TlvY'\%1: invalid size QSharedMemory%1uP Media Play QShortcut ZRMNMedia Previous QShortcutZԓ Media Record QShortcutZP\kb Media Stop QShortcutxUMenu QShortcutMetaMeta QShortcutT&No QShortcutex[W[Num Lock QShortcutex[W[NumLock QShortcutex[W[ Number Lock QShortcutU_}W@Open URL QShortcut_N N Page Down QShortcut_N NPage Up QShortcut PausePause QShortcut PgDownPgDown QShortcutPgUpPgUp QShortcut PrintPrint QShortcutRSp^U Print Screen QShortcutR7eRefresh QShortcut ReturnReturn QShortcutSuRight QShortcutcr[ Scroll Lock QShortcutcr[ ScrollLock QShortcutd\ Search QShortcutxdSelect QShortcut ShiftShift QShortcutzzv}uSpace QShortcut_T}Standby QShortcutP\kbStop QShortcut SysReqSysReq QShortcut|}qlB SysRqSystem Request QShortcutTabTab QShortcutTreble Down Treble Down QShortcutTreble Up Treble Up QShortcutN uUp QShortcutϖMON Volume Down QShortcut\ Volume Mute QShortcutcК Volume Up QShortcutf/Yes QShortcutbN e Page downQSliderb]e Page leftQSliderbSe Page rightQSliderbN ePage upQSliderOMnPositionQSliderOMW@WaKg*e/cAddress type not supportedQSocks5SocketEngine$#}g* SOCKSv5 O:g VhQA1(Connection not allowed by SOCKSv5 serverQSocks5SocketEngineNtO:g Vh#}]N kc^8ܕ&Connection to proxy closed prematurelyQSocks5SocketEngineNtO:g Vh#}ڈbConnection to proxy refusedQSocks5SocketEngineNtO:g Vh#}ڐ>fBConnection to proxy timed outQSocks5SocketEngine"N,v SOCKSv5 O:g Vh/General SOCKSv5 server failureQSocks5SocketEngine }dO\>fBNetwork operation timed outQSocks5SocketEngineNtO:g VhIY1eWProxy authentication failedQSocks5SocketEngineNtO:g VhIY1eW%1Proxy authentication failed: %1QSocks5SocketEngineb~N R0NtO:g VhProxy host not foundQSocks5SocketEngineSOCKS 5 vST[/SOCKS version 5 protocol errorQSocks5SocketEngineSOCKSv5 cNg*e/cSOCKSv5 command not supportedQSocks5SocketEngine TTL >fB TTL expiredQSocks5SocketEngine4g*wv SOCKSv5 NtO:g Vh/Nx 0x%1%Unknown SOCKSv5 proxy error code 0x%1QSocks5SocketEngine\LessQSpinBoxfYMoreQSpinBoxSmCancelQSqlSm}/UCancel your edits?QSqlxConfirmQSqlR*dDeleteQSqlR*d{F}UDelete this record?QSqlcQeInsertQSqlT&NoQSqlQ2[X}/NvQg[U Save edits?QSqlfeUpdateQSqlf/YesQSqllg єpq!lcOaI%1,Cannot provide a certificate with no key, %1 QSslSocket$^z SSL QgefBv|u/%1 Error creating SSL context (%1) QSslSocket&^z SSL ]O\kfBv|u/%1Error creating SSL session, %1 QSslSocket&^z SSL ]O\kfBv|u/%1Error creating SSL session: %1 QSslSocketSSL T kefBv|u/%1Error during SSL handshake: %1 QSslSocket Qeg,W0aIfBv|u/%1#Error loading local certificate, %1 QSslSocket QeypfBv|u/%1Error loading private key, %1 QSslSocketSfBv|u/%1Error while reading: %1 QSslSocketN Tlbzzv}vR[nU%1 !Invalid or empty cipher list (%1) QSslSockety[Ƒєpq!lՊIQlєp %1/Private key does not certificate public key, %1 QSslSocketq!l[Qee%1Unable to write data: %1 QSslSocket %1][XW(%1: already existsQSystemSemaphore %1N [XW(%1: does not existQSystemSemaphore%1nN %1: out of resourcesQSystemSemaphore%1[XSֈb%1: permission deniedQSystemSemaphore%1g*wv/ %2%1: unknown error %2QSystemSemaphore q!lՕU_#}Unable to open connection QTDSDriverq!lOu(e^Unable to use database QTDSDriver_]cr Scroll LeftQTabBar_Scr Scroll RightQTabBarSocket vdO\g*e/c$Operation on socket is not supported QTcpServer (&C)&Copy QTextControl N (&P)&Paste QTextControl PZ(&R)&Redo QTextControl _S(&U)&Undo QTextControl#}POMW@(&L)Copy &Link Location QTextControl RjN (&T)Cu&t QTextControlR*dDelete QTextControlQhxd Select All QTextControlU_Open QToolButtonc N Press QToolButtonkd^sSN e/c IPv6#This platform does not support IPv6 QUdpSocketPZRedo QUndoGroup_SUndo QUndoGroupzzv} QUndoModelPZRedo QUndoStack_SUndo QUndoStackcQe,W xcR6[WQC Insert Unicode control characterQUnicodeControlCharacterMenuLRE ]R0S]LQew$LRE Start of left-to-right embeddingQUnicodeControlCharacterMenuLRM ]R0SjLRM Left-to-right markQUnicodeControlCharacterMenuLRO ]R0S[w#LRO Start of left-to-right overrideQUnicodeControlCharacterMenuPDF _HQeTh<_PDF Pop directional formattingQUnicodeControlCharacterMenuRLE SR0]]LQew$RLE Start of right-to-left embeddingQUnicodeControlCharacterMenuRLM SR0]jRLM Right-to-left markQUnicodeControlCharacterMenuRLO SR0]扆[w#RLO Start of right-to-left overrideQUnicodeControlCharacterMenuZWJ [^#cVhZWJ Zero width joinerQUnicodeControlCharacterMenuZWNJ [^^#cVhZWNJ Zero width non-joinerQUnicodeControlCharacterMenuZWSP [^zzv}ZWSP Zero width spaceQUnicodeControlCharacterMenu q!l՘oy:}W@Cannot show URL QWebFrameq!l՘oy: MIME WaKCannot show mimetype QWebFrame jhHN [XW(File does not exist QWebFrame_qPϏ QeVe?{Vf N-e&Frame load interruped by policy change QWebFrame lB]򈫖;dRequest blocked QWebFrame lB]SmRequest cancelled QWebFrame%1%2x%3 P} %1 (%2x%3 pixels)QWebPage %n P jhH %n file(s)QWebPage eXR0[WQxAdd To DictionaryQWebPageN ov HTTP lBBad HTTP requestQWebPage|BoldQWebPage^zBottomQWebPagejgb[WelCheck Grammar With SpellingQWebPagejgb[WCheck SpellingQWebPagebS[WfBzSsjgb[WCheck Spelling While TypingQWebPagexdjhH Choose FileQWebPagendgvd\ Clear recent searchesQWebPageCopyQWebPage_qP Copy ImageQWebPage#}P Copy LinkQWebPageRjN CutQWebPage-DefaultQWebPageR*dR0kdU[Wv}P\>Delete to the end of the wordQWebPageR*dR0kdU[Wvw-Delete to the start of the wordQWebPageeT DirectionQWebPage[WWFontsQWebPage_VGo BackQWebPage_RM Go ForwardQWebPageb[WelHide Spelling and GrammarQWebPage_ueIgnoreQWebPage_ue Ignore Grammar context menu itemIgnoreQWebPagegWInspectQWebPageeItalicQWebPage$JavaScript fTJ % %1JavaScript Alert - %1QWebPage$JavaScript x % %1JavaScript Confirm - %1QWebPage$JavaScript cy: % %1JavaScript Prompt - %1QWebPage]R0SLTRQWebPage]搊} Left edgeQWebPage W([WQxd\ Look Up In DictionaryQWebPageyRn8jR0NP S@XJv}P\>'Move the cursor to the end of the blockQWebPageyRn8jR0NP eNv}P\>*Move the cursor to the end of the documentQWebPageyRn8jR0NLv}P\>&Move the cursor to the end of the lineQWebPageyRn8jR0N NP [WQC%Move the cursor to the next characterQWebPageyRn8jR0N NL Move the cursor to the next lineQWebPageyRn8jR0N NP U[W Move the cursor to the next wordQWebPageyRn8jR0RMNP [WQC)Move the cursor to the previous characterQWebPageyRn8jR0RMNL$Move the cursor to the previous lineQWebPageyRn8jR0RMNP U[W$Move the cursor to the previous wordQWebPageyRn8jR0NP S@XJvw-)Move the cursor to the start of the blockQWebPageyRn8jR0NP eNvw-,Move the cursor to the start of the documentQWebPageyRn8jR0NLvw-(Move the cursor to the start of the lineQWebPageb~N R0SvQg[No Guesses FoundQWebPageg*xSNOUjhHNo file selectedQWebPagelg gvd\ No recent searchesQWebPageU_hFg Open FrameQWebPageU__qP Open ImageQWebPageU_#}P Open LinkQWebPage W(ezU_Open in New WindowQWebPageYhF}OutlineQWebPagebN e Page downQWebPageb]e Page leftQWebPagebSe Page rightQWebPagebN ePage upQWebPageN PasteQWebPageSR0]RTLQWebPage gvd\ Recent searchesQWebPagee QeReloadQWebPagenResetQWebPageS} Right edgeQWebPageQ2[X_qP Save ImageQWebPageQ2[X#}P... Save Link...QWebPage_N cr Scroll downQWebPageW(kdcr Scroll hereQWebPage_]cr Scroll leftQWebPage_Scr Scroll rightQWebPage_N cr Scroll upQWebPaged\ zSSearch The WebQWebPagexdR0NP S@XJv}P\>Select to the end of the blockQWebPagexdR0NP eNv}P\>!Select to the end of the documentQWebPagexdR0NLv}P\>Select to the end of the lineQWebPagexdR0N NP [WQCSelect to the next characterQWebPage xdR0N NLSelect to the next lineQWebPagexdR0N NP U[WSelect to the next wordQWebPagexdR0RMNP [WQC Select to the previous characterQWebPage xdR0RMNLSelect to the previous lineQWebPagexdR0RMNP U[WSelect to the previous wordQWebPagexdR0NP S@XJvw- Select to the start of the blockQWebPagexdR0NP eNvw-#Select to the start of the documentQWebPagexdR0NLvw-Select to the start of the lineQWebPageoy:b[WelShow Spelling and GrammarQWebPageb[WSpellingQWebPageP\kbStopQWebPagecNSubmitQWebPagecNQSubmit (input element) alt text for elements with no alt, title, or valueSubmitQWebPagee[WeTText DirectionQWebPage"f/Sd\ v}"_0ˏ8Qeܓu[W03This is a searchable index. Enter search keywords: QWebPagezTopQWebPage^} UnderlineQWebPageg*wUnknownQWebPage}zgWVh%%2Web Inspector - %2QWebPage f/N What's This?QWhatsThisAction+*QWidget [b(&F)&FinishQWizard f(&H)&HelpQWizardN NP (&N)&NextQWizardN NP (&N)&Next >QWizardV(&B)< &BackQWizardSmCancelQWizardcNCommitQWizard~|~ContinueQWizard[bDoneQWizard_VGo BackQWizardfHelpQWizard%1 - [%2] %1 - [%2] QWorkspace ܕ(&C)&Close QWorkspace yR(&M)&Move QWorkspace V_(&R)&Restore QWorkspace Y'\(&S)&Size QWorkspaceSmn=(&U)&Unshade QWorkspaceܕClose QWorkspacegY'S(&X) Ma&ximize QWorkspaceg\S(&N) Mi&nimize QWorkspaceg\SMinimize QWorkspaceTN `b_ Restore Down QWorkspace n=(&A)Sh&ade QWorkspaceuYW(z(&T) Stay on &Top QWorkspace*S XML [TJfBag }x[TJbshz[TJYencoding declaration or standalone declaration expected while reading the XML declarationQXmlW(Y[N-ve[W[TJg /3error in the text declaration of an external entityQXmlRVg;fBv|u/$error occurred while parsing commentQXmlRVgQg[fBv|u/$error occurred while parsing contentQXmlRVgeNWaK[fBv|u/5error occurred while parsing document type definitionQXmlRVgQC} fBv|u/$error occurred while parsing elementQXmlRVgSÀfBv|u/&error occurred while parsing referenceQXmlu(b6v|v/error triggered by consumerQXml*W( DTD N-N QA1Ou(YRVgv[SÀ;external parsed general entity reference not allowed in DTDQXml&W(\l`'Punexpected end of fileQXml W(/vQgeN-g g*RVgv[SÀ*unparsed entity reference in wrong contextQXmlS XML [TJfBag rHg,_2version expected while reading the XML declarationQXmlshz[TJfBvPzg YvQg[0!Extra content at end of document. QXmlStreamN TlvT}T zz[TJ0Illegal namespace declaration. QXmlStreamN Tlv XML [WQC0Invalid XML character. QXmlStreamN Tlv XML T z10Invalid XML name. QXmlStreamN Tlv XML rHg,[WN20Invalid XML version string. QXmlStreamXML [TJN-g N Tlv\l`'0%Invalid attribute in XML declaration. QXmlStreamN Tlv[WQCSÀ0Invalid character reference. QXmlStreamN TlveN0Invalid document. QXmlStreamN Tlv[P<Invalid entity value. QXmlStreamN TlvUtcNT z10$Invalid processing instruction name. QXmlStreamW(Sex[[TJg NDATA0&NDATA in parameter entity declaration. QXmlStream T}T zzvRMn[WN2 %1 g*[TJ"Namespace prefix '%1' not declared QXmlStreamU_}Pg_vj|dN \ z10 Opening and ending tag mismatch. QXmlStreameN}P\>N kcx0Premature end of document. QXmlStreamPun,R0^[0Recursive entity detected. QXmlStream W(\l`'P"0&Sequence ']]>' not allowed in content. QXmlStream"shz[ScS yes b no0"Standalone accepts only yes or no. QXmlStreamgag Yj|d0Start tag expected. QXmlStream"shzv[d\l`'_ŘW(}xNK_Qs0?The standalone pseudo attribute must appear after the encoding. QXmlStream^g Unexpected ' QXmlStream(W(QlNx[WQCN-GR0^gv[WQC %10/Unexpected character '%1' in public id literal. QXmlStreamg*e/cv XML rHg,0Unsupported XML version. QXmlStreamXML [TJlg W(eNYˆU0)XML declaration not at start of document. QXmlStream(%1  %2 {&TNNLvY˂}P\>0,%1 and %2 match the start and end of a line. QtXmlPatterns%1 q!lS_%1 cannot be retrieved QtXmlPatterns4%1 ST+NW(lBv}x %2 QgN QA1vQk2OMP<0E%1 contains octets which are disallowed in the requested encoding %2. QtXmlPatternsN%1 f/exWaK q!lՏIcbexWaK0q6 IcpSWaK Y %2 f/SLv0s%1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works. QtXmlPatterns%1 f/N Tlv %2%1 is an invalid %2 QtXmlPatterns0%1 f/kchy:_N-N Tlvej0Tlvejg ?%1 is an invalid flag for regular expressions. Valid flags are: QtXmlPatterns%1 f/N TlvT}T zz}W@0%1 is an invalid namespace URI. QtXmlPatterns$%1 f/N Tlvkchy:_j#_%2/%1 is an invalid regular expression pattern: %2 QtXmlPatterns%1 N f/Tlvj#g,j!_T z10$%1 is an invalid template mode name. QtXmlPatterns%1 f/g*wvj_R6WaK0%1 is an unknown schema type. QtXmlPatterns%1 f/P g*e/cv}x0%1 is an unsupported encoding. QtXmlPatterns(%1 N f/Tlv XML 1.0 [WQC0$%1 is not a valid XML 1.0 character. QtXmlPatterns%1 N f/UtcNvTlT z104%1 is not a valid name for a processing-instruction. QtXmlPatterns%1 N f/TlvexP<0"%1 is not a valid numeric literal. QtXmlPatternsH%1 N f/NP TlvUtcNvvjT z10_Řf/ %2 vP< OY %30Z%1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3. QtXmlPatterns"%1 N f/Tlv %2 WaKvP<0#%1 is not a valid value of type %2. QtXmlPatterns%1 N f/RvexP<0$%1 is not a whole number of minutes. QtXmlPatterns(%1 N f/NP SWaK0SIcpSWaK0C%1 is not an atomic type. Casting is only possible to atomic types. QtXmlPatterns2%1 N f/{W Qg\l`'[TJ0laj_R6S/QeRg*e/c0g%1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported. QtXmlPatterns"%1 N f/Tlv %2 WaKvP<0&%1 is not valid as a value of type %2. QtXmlPatterns%1 {&TNcۈL[WQC%1 matches newline characters QtXmlPatterns8%1 _b_Ř߄W %2 b %3 ^SN[WN2v}P\>0J%1 must be followed by %2 or %3, not at the end of the replacement string. QtXmlPatterns6%1 \ %n P Sex Vkd %2 f/N Tlv0=%1 requires at least %n argument(s). %2 is therefore invalid. QtXmlPatterns8%1 gYSg %n P Sex Vkd %2 f/N Tlv09%1 takes at most %n argument(s). %2 is therefore invalid. QtXmlPatterns%1 ]T|S0%1 was called. QtXmlPatterns;N ST+ %1A comment cannot contain %1 QtXmlPatterns;N N %1 PZ}P\>A comment cannot end with a %1. QtXmlPatterns0GR0N^i [斛N SQA1W( XQuery Qg0WaK %1 vP<_ŘST+PvexP ex[W0exP< %2 g*{&TkdhN0PA value of type %1 must contain an even number of digits. The value %2 does not. QtXmlPatternsT p %1 vex][TJ00A variable by name %1 has already been declared. QtXmlPatterns>S@WOMy_Řf/W( %1 R0 %2 {W NKQg0%3 ]Q{W 0HA zone offset must be in the range %1..%2 inclusive. %3 is out of range. QtXmlPatternsN fxvRG{&T0Ambiguous rule match. QtXmlPatterns<\l`' %1 _ŘNTlv %2 pP< %3 f/N Tlv0>An %1-attribute must have a valid %2 as value, which %3 isn't. QtXmlPatterns ][TJ\l`' %1 vP\l`'N PZpeNv[P{0Vkd \l`' %1 vOMnN Ti0dAn attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place. QtXmlPatterns"%2 _Ř\g NP [PQC} %103At least one %1 element must appear as child of %2. QtXmlPatterns*\NP QC} %1 QsW( %2 NKRM0-At least one %1-element must occur before %2. QtXmlPatterns*\NP QC} %1 QsW( %2 NKQg0-At least one %1-element must occur inside %2. QtXmlPatterns_ŘhT\NP }DN0'At least one component must be present. QtXmlPatterns2W(QC} %2 v %1 \l`'N-\c[NP j!_0FAt least one mode must be specified in the %1-attribute on element %2. QtXmlPatterns*W(R{& %1 __Ř\g NP fB}DN0?At least one time component must appear after the %1-delimiter. QtXmlPatterns \l`' %1  %2 _|kdNe0+Attribute %1 and %2 are mutually exclusive. QtXmlPatterns.\l`'QC} %1 q!l^RS VpO\l`' %1 N QsW(QC} %20Sg %3 NSjn\l`'0YAttribute %1 cannot appear on the element %2. Allowed is %3, and the standard attributes. QtXmlPatterns>\l`' %1 N QsW(QC} %20Sg %3 NSjn\l`'0^Attribute %1 cannot appear on the element %2. Only %3 is allowed, and the standard attributes. QtXmlPatterns2\l`' %1 N QsW(QC} %20Sg jn\l`'0VAttribute %1 cannot appear on the element %2. Only the standard attributes can appear. QtXmlPatterns\l`' %1 vPQC} %1 lg \l`' %2 RGN_N g \l`' %3 b %40EIf element %1 has no attribute %2, it cannot have attribute %3 or %4. QtXmlPatternshYg{,NP Sexf/zz^R bf/w^p 0 v[WN2lg T}T zz RGq!lc[RMn[WN20OFf/`c[N %10If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified. QtXmlPatterns,W(|!Svj#_hj!}DN- \l`' %1 _Ř[XW(0@In a simplified stylesheet module, attribute %1 must be present. QtXmlPatternsBW( XSL-T j#_Qg N u( %1 Su( %2 b %30DIn an XSL-T pattern, axis %1 cannot be used, only axis %2 or %3 can. QtXmlPatterns8W( XSL-T j#_Qg Q_ %1 vN g {,N P Sex0>In an XSL-T pattern, function %1 cannot have a third argument. QtXmlPatternsHW( XSL-T j#_Qg Sg Q_ %1 %2 SNu(ek\ 0%3 N L0OIn an XSL-T pattern, only function %1 and %2, not %3, can be used for matching. QtXmlPatternsTW( XSL-T j#_Qg Q_ %1 v{,NP Sex_Řf/e[WbexSÀ NOu(ek\ 0yIn an XSL-T pattern, the first argument to function %1 must be a literal or a variable reference, when used for matching. QtXmlPatternsJW( XSL-T j#_Qg Q_ %1 v{,NP Sex_Řf/[WN2 NOu(ek\ 0hIn an XSL-T pattern, the first argument to function %1 must be a string literal, when used for matching. QtXmlPatterns>W(SN[WN2N- %1 Su(eꎫb %2 v+8 ^ %30MIn the replacement string, %1 can only be used to escape itself or %2, not %3 QtXmlPatterns\WaK %1 NXN %2 b %3kcbq!PY' f/N QA1v0YMultiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed. QtXmlPatternsfB0Network timeout. QtXmlPatternsN IcR0 %1 WaK02No casting is possible with %1 as the target type. QtXmlPatternsST+WaK %1 fBN PZkԏ01No comparisons can be done involving the type %1. QtXmlPatternsDg*e/cYQ_0b@g e/cvT+_SNvcOu( N QH[TJpYQ_0{No external functions are supported. All supported functions can be used directly, without first declaring them as external QtXmlPatternslg T p %1 vQ_0$No function by name %1 is available. QtXmlPatternslg |=zp %1 vQ_SOu(*No function with signature %1 is available QtXmlPatterns RMn[WN2 %1 lg }PTT}T zz-No namespace binding exists for the prefix %1 QtXmlPatterns,W( %2 vRMn[WN2 %1 lg }PTT}T zz3No namespace binding exists for the prefix %1 in %2 QtXmlPatterns(etexdllg KO\\ a %1 SNf/ %21No operand in an integer division, %1, can be %2. QtXmlPatternslg T p %1 vj#g,[XW(0No template by name %1 exists. QtXmlPatterns$T p %1 vY苊exlg Su(vP<0;No value is available for the external variable by name %1. QtXmlPatternslg T p %1 vex[XW(No variable by name %1 exists QtXmlPatterns4g*e/c pragma eX0Vk! _Řg -veX0^None of the pragma expressions are supported. Therefore, a fallback expression must be present QtXmlPatterns"Sg NP %1 [TJSNW(gbN-06Only one %1 declaration can occur in the query prolog. QtXmlPatternsSQsNP QC} %10Only one %1-element can appear. QtXmlPatternsXSe/c Unicode Codepoint Collation%1 0%2 g*e/c0;IOnly the Unicode Codepoint Collation is supported(%1). %2 is unsupported. QtXmlPatterns0Sg RMn[WN2 %1  %2 }PT0SNKNq605Only the prefix %1 can be bound to %2 and vice versa. QtXmlPatterns6dO\QC %1 N u(eWaK %2  %3 vSexP<0>Operator %1 cannot be used on atomic values of type %2 and %3. QtXmlPatterns"dO\QC %1 N u(eWaK %20&Operator %1 cannot be used on type %2. QtXmlPatterns6dO\QC %1 N u(eWaK %2  %3 vSexP<0EOperator %1 is not available between atomic values of type %2 and %3. QtXmlPatternsnOMq!lՈhy:eg %10"Overflow: Can't represent date %1. QtXmlPatternsnOMq!lՈhy:eg0$Overflow: Date can't be represented. QtXmlPatternsRVg/%1Parse error: %1 QtXmlPatternsW(zznull vT}T zz N f/P %1 W( XSL-T T}T zz0iXSL-T attributes on XSL-T elements must be in the null namespace, not in the XSL-T namespace which %1 is. QtXmlPatterns,^tN %1 N Tl Vpf/_ %2 Yv0-Year %1 is invalid because it begins with %2. QtXmlPatternszzv}empty QtXmlPatternsR[Y}NP  exactly one QtXmlPatternsNP NN  one or more QtXmlPatterns 0 P NN  zero or more QtXmlPatterns0 b 1 P  zero or one QtXmlPatterns\Muted VolumeSlider %1% Volume: %1% VolumeSliderffDiaporama/locale/qt_zh_TW.qm0000777000175000001440000034500512275647346016573 0ustar dominiqueusers,(4G(4H (5HA(5Hu*y|*yr*ye*TR*0'*0+F}i+F+L/+f+fA7+z.++s++z/ ++6+A+S-+}+s+į +įsB+į+/V7s:9;*}@ƼC:F0iFn4Fn4FG7`Hw9Hw97H 0I'L$I-uIqJ+=J6J60pJ67J6;J6~9J6J6J6Jcb!KQ _KDhLZL L0LbM5<MbIMeBMgNMtO|0PFE!PFEZPFEnQNROJR|cROuS8^TTʴTZU?^,U|5*U}PYV1V1¶VlVV VUVPW-WT5WTWTX~X9X X˙:'XYPYYlYG?ZgZkmZQ[;^d\ņ\]4 \]4\\at%gclG|^;c?v5vy$fXi4L5.96CLyIA[9@Ikyɵn1ɵneɵnirɵnxɵnɵnɵnmɵnr(ZY Bq* 'C QMHEnaǽ\,q >^3H,<!p 5+#QB%UT{(ŎH*4@-ct25vEјEn{=8AAW[yL^no31z=m~M|MEUE[LwwWt^[ I GisD !eW%C&()D*/eu5"W;ByEc0GF5SO/ZfV\c``|ubFcփ5f(g&4jCHmnlqTqaLtuu(ܨ{>}ka`PD~${P eVy @Gt:$e$Lq+76(ʁVr^K K֊0; nz:,f ];yO-SHAĴnKk7^k=W&Hf."/fM?=IxS-MR>+YMUPYM[^R9h^#8i&psscs-wUxK/^rq2>7+ۊ/at.8N,Z]Ϙ]VIIII7II+IINYހi޲y݆ݸ"TIHz߬uDXuD^@Do, ,s,ڒ,,]`=rhɘe[5$ZfRfRFG>7d4_~CN0FyNc%SOPqYV8VfR@ .  NA  yq jd$%C#g&~N&3)2nD)8*4M+,?"y?>u JA,KN MtR%V|O]e(]hdI)gBky^! {yf5t ZFFd:ΞVP*G%Sn<ص+ǥ+D69tH{y/;QxARr+9\QIsQu#ϾK%-{IZC-'5mC^^ƨ ~ƨ˾i,eҝz=iէ?Z>*z>ߺbi>fsq.m}^9! "${~bE~bJoMm!h)ўR+u\+3O,8//114~6 ? 2:ASD#XGTGbILAUdOr!Pѧ8Q]SneTyUkU:UTdZّZٽZZ[]k*E]8-^n_peiX>i^{kQ+oN'6y;y{}u(}w}w|}w }* lOr"B>}vtt5. .3>PțiUaDDDYuIt(@t[tO2$-n+_ +2F{C]ʢ3ʢBƴd4Dd{Vddd0 59g~эŲ+b#NSLUd5B hwhp 2Y }?  g'V|v+_,D /42=42c"6Y7D:sd?;2CU]&D fIN;}J0KK U|4V7O\ar̕twL|(^| |}wZ}$Э}$N}$ }ϗ,ZXVN_ Da^L>YiNqjK<9!f+·҅·ý3m׳7 /]H/UESHhxvu:%5J?Tm e~QDi~i9%kwb/#)%''p-.z.) 5kEɮ=N=?t?x CtIMPP?V%rXU DZiX`Ӡ`NvbDAbGo>fDLfdgAhINmi$x1 cz*2A|QRQdJx6lU(.G5z=c.`"1 rX~mT^en$M9;b_†5iKC:ʴ5}ʴ5@ʶ,^ cԄ۔#SD>'Nmd*F5!ZF5~Ypb+>?IIE*As 3 }$|2 qeZ ڤ$ ڥh d Ey E  Ac AcGj R 35 u bØ bbx b`/ b` gUvZ i3% la lfo uui xq$ |oT |j JĄ t$ tG .&  a )N F>.~ ? (~   B ҉A >΂  [ j z nw Ns p Y+W K % 팤^ l~? %' B /3/ =# qQ v }% o>J 9U )_ */ .>w_ 5`@ 7u ;p =T$ BR BnFw J" J"b K2J Rۮ", Ty t T^آ Uj4tw ] `ep ` bu b c( cEs d e eE e{֨ f1VZ f* g5UQ gn* k, rD"- t>n :. f 5 f BO 4g2 .Rb X ss sD AAYe 9 8^ 9|  m, #-t 0N+ 5 A, CUR E9T I] L L' L^ Mc\: R_ ShO Vk W ]$2 f)s f)B f= io>!r m`" w xR17 yr5 >S  tu H HAh *D nF $CP .@ 7 i `  s % J JD8 %@ t. k Ӈ MP  N>o ̺S &k -DTW .r2 ۷i c>J rO k k U)^  <! ԡ B 0?  {  z+  W  ^ IM %R Nq   xHa w :=  ..= 7F >Y >Z$ >Z >a- >l >r >M > ?t| DT Q I- P@  RVG RV RVB S.N SGD Sw Y YV [ c`g% hۮMD j7o@+ p.{ vu 5 .˸ Bi  T2' Tx T, T  j 3w M S )d Tv  ;>z .2_ .f .yg . . .ͼ  ! s a y! p e.BB hNq >ZV ҂&6  %  u : |c m_  Xt n 9 t a_ @ :b_8 Uqw p O.> ʜ-'  ^ #$ #= %nr (I$ (N2g +>/ +k 0E 64* ;ɾ. Fg K9? Pt! Pt8 T>T W I dBh\ fe fe gN iFC۲ iE` i jӮ kGn m9 n)w u u v o v& v{E wM w w ! w}} w}! w} O |[-\  U [ %o Jc ^K }q| R PR  xN Uu ɰe F}Y ) XH &- D F + t5~ t5 E< b >   ) "Rwy @agT)hZoC'gT)6*(*/E(/E\=BnI__KfOOvXRu0X6[ [ a.8a.1gcnyG,fvɅy$ʞ~`>HboZ4u&n_'A44Sk^XǗ 2:B&rsݖ[y5^{r | CG5(lD'"#:$Ua%4:%4J-vF0i)01c2wT<U<(_D#HJd`kK`K#j5L$.Wcc57c5 g3iCmhDp|yC$+{~aw6$Y5 O&&{kB`nTa[#>V(\C>b=N? E"~LfDr)=rky Ln~BPUt2,xT#)dUi;l<html>eHde>n <b>%1</b> ]SOu( Vpg Q*QHk Vkd\RcR0rn0</html>xSwitching to the audio playback device %1
which just became available and has higher preference. AudioOutputr<html>eHde>n <b>%1</b> g*KO\0<br/>e9u(-n <b>%2</b>0</html>^The audio playback device %1 does not work.
Falling back to %2. AudioOutputV_R0n %1Revert back to device '%1' AudioOutputܕR Close Tab CloseButton e %1About %1MAC_APPLICATION_MENU%1Hide %1MAC_APPLICATION_MENUQvN Hide OthersMAC_APPLICATION_MENU POY}-["Preferences...MAC_APPLICATION_MENU }Pg_ %1Quit %1MAC_APPLICATION_MENUg RServicesMAC_APPLICATION_MENUoy:QhShow AllMAC_APPLICATION_MENURn AccessibilityPhonon::  CommunicationPhonon::Jb2GamesPhonon::jMusicPhonon::w NotificationsPhonon::_qPVideoPhonon::dfTJ`Slg [ GStreamer Ycz _0 b@g eH_qPe/c\ܕ0~Warning: You do not seem to have the base GStreamer plugins installed. All audio and video support has been disabledPhonon::Gstreamer::BackendzfTJ`Slg [ gstreamer0.10-plugins-good0 g N_qPvR\ܕ0Warning: You do not seem to have the package gstreamer0.10-plugins-good installed. Some video features have been disabled.Phonon::Gstreamer::BackendkdQg[%0`A required codec is missing. You need to install the following codec(s) to play this content: %0Phonon::Gstreamer::MediaObjectq!lՕYde>0 jg`v Gstreamer [ N&x[`g [ libgstreamer-plugins-base YWN0wCannot start playback. Check your Gstreamer installation and make sure you have libgstreamer-plugins-base installed.Phonon::Gstreamer::MediaObjectq!lՉxZOn0Could not decode media source.Phonon::Gstreamer::MediaObjectq!l[OMZOn0Could not locate media source.Phonon::Gstreamer::MediaObject"q!lՕU_eHn0n]W(Ou(N-0:Could not open audio device. The device is already in use.Phonon::Gstreamer::MediaObjectq!lՕU_ZOn0Could not open media source.Phonon::Gstreamer::MediaObjectN TlvOnWaK0Invalid source type.Phonon::Gstreamer::MediaObjectBOu(kdnRVhOet0g]搊vOMnp 0% gSvp %1%0WUse this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1%Phonon::VolumeSlider %1% Volume: %1%Phonon::VolumeSlider%1 %2 g*[%1, %2 not definedQ3AccelN fxv %1 \g*UtAmbiguous %1 not handledQ3AccelR*dDelete Q3DataTablePGFalse Q3DataTablecQeInsert Q3DataTablewTrue Q3DataTablefeUpdate Q3DataTable&%1 b~N R0jhH0 jg_jT 0+%1 File not found. Check path and filename. Q3FileDialog R*d(&D)&Delete Q3FileDialog T&(&N)&No Q3FileDialog x[(&O)&OK Q3FileDialog U_(&O)&Open Q3FileDialogeT}T (&R)&Rename Q3FileDialog Q2[X(&S)&Save Q3FileDialogg*c^(&U) &Unsorted Q3FileDialog f/(&Y)&Yes Q3FileDialog4<qt>`x[R*d %1 "%2" U</qt>1Are you sure you wish to delete %1 "%2"? Q3FileDialogb@g jhH (*) All Files (*) Q3FileDialogb@g jhH (*.*)All Files (*.*) Q3FileDialog\l`' Attributes Q3FileDialogVBack Q3FileDialogSmCancel Q3FileDialogbyRjhHCopy or Move a File Q3FileDialog ^zeeY>Create New Folder Q3FileDialogegDate Q3FileDialog R*d %1 Delete %1 Q3FileDialogs}0j Detail View Q3FileDialogvDir Q3FileDialogv Directories Q3FileDialogv Directory: Q3FileDialog/Error Q3FileDialogjhHFile Q3FileDialogjT (&N) File &name: Q3FileDialogjhHWaK(&T) File &type: Q3FileDialog\ b~vFind Directory Q3FileDialogq!l[XS Inaccessible Q3FileDialogRhj List View Q3FileDialog\ b~e(&I) Look &in: Q3FileDialogT z1Name Q3FileDialogeeY> New Folder Q3FileDialogeeY> %1 New Folder %1 Q3FileDialog eeY> 1 New Folder 1 Q3FileDialog _N N\dvOne directory up Q3FileDialogU_Open Q3FileDialogU_ Open  Q3FileDialog jhHQg[Preview File Contents Q3FileDialog jhHNJ Preview File Info Q3FileDialoge Qe(&E)R&eload Q3FileDialogU/ Read-only Q3FileDialogS[ Read-write Q3FileDialog S%1Read: %1 Q3FileDialogS[XejSave As Q3FileDialogːxdNP vSelect a Directory Q3FileDialogoy:j(&H)Show &hidden files Q3FileDialogY'\Size Q3FileDialogc^Sort Q3FileDialogOegc^(&D) Sort by &Date Q3FileDialogOT z1c^(&N) Sort by &Name Q3FileDialogOY'\c^(&S) Sort by &Size Q3FileDialogryk{Special Q3FileDialogR0vv{&_#}PSymlink to Directory Q3FileDialogR0jhHv{&_#}PSymlink to File Q3FileDialogR0ryk{v{&_#}PSymlink to Special Q3FileDialogWaKType Q3FileDialogU/[ Write-only Q3FileDialog [Qe%1 Write: %1 Q3FileDialogkdv the directory Q3FileDialogkdjhHthe file Q3FileDialog kd{&_#}P the symlink Q3FileDialogq!l^zv %1Could not create directory %1 Q3LocalFsq!lՕU_ %1Could not open %1 Q3LocalFsq!lՋSv %1Could not read directory %1 Q3LocalFsq!lydv %1%Could not remove file or directory %1 Q3LocalFsq!l\ %1 eT}T p %2Could not rename %1 to %2 Q3LocalFsq!l[Qe %1Could not write %1 Q3LocalFs ... Customize... Q3MainWindowcRLine up Q3MainWindowOu(]N-kbdO\Operation stopped by the userQ3NetworkProtocolSmCancelQ3ProgressDialogYWu(Apply Q3TabDialogSmCancel Q3TabDialog-Defaults Q3TabDialogfHelp Q3TabDialogx[OK Q3TabDialog (&C)&Copy Q3TextEdit N (&P)&Paste Q3TextEdit PZ(&R)&Redo Q3TextEdit _S(&U)&Undo Q3TextEditndClear Q3TextEdit RjN (&T)Cu&t Q3TextEditQhxd Select All Q3TextEditܕClose Q3TitleBarܕzCloses the window Q3TitleBarST+dO\kdzvcN*Contains commands to manipulate the window Q3TitleBar$oy:zT z1 N&ST+dO\[vcR6QCNFDisplays the name of the window and contains controls to manipulate it Q3TitleBar\ze>Y'R0QhukbMakes the window full screen Q3TitleBargY'SMaximize Q3TitleBarg\SMinimize Q3TitleBar bzyMoves the window out of the way Q3TitleBar\gY'Sze>VSY'\&Puts a maximized window back to normal Q3TitleBar\g\Sze>VSY'\Puts a minimized back to normal Q3TitleBarTN `b_ Restore down Q3TitleBarTN `b_ Restore up Q3TitleBar|}qSystem Q3TitleBar fY...More... Q3ToolBarg*w  (unknown) Q3UrlOperator&ST[ %1 g*e/cbyRjhHbvIThe protocol `%1' does not support copying or moving files or directories Q3UrlOperatorST[ %1 g*e/c^zev;The protocol `%1' does not support creating new directories Q3UrlOperatorST[ %1 g*e/cS_jhH0The protocol `%1' does not support getting files Q3UrlOperatorST[ %1 g*e/cRQv6The protocol `%1' does not support listing directories Q3UrlOperatorST[ %1 g*e/c[QejhH0The protocol `%1' does not support putting files Q3UrlOperator ST[ %1 g*e/cydjhHbv@The protocol `%1' does not support removing files or directories Q3UrlOperator$ST[ %1 g*e/ceT}T jhHbv@The protocol `%1' does not support renaming files or directories Q3UrlOperatorST[ %1 g*e/c"The protocol `%1' is not supported Q3UrlOperator Sm(&C)&CancelQ3Wizard [b(&F)&FinishQ3Wizard f(&H)&HelpQ3WizardN NP (&N)&Next >Q3WizardV(&B)< &BackQ3Wizard#}ڈbConnection refusedQAbstractSocket#}ڐ>fBConnection timed outQAbstractSocket b~N R0N;j_Host not foundQAbstractSocket q!lOu(}Network unreachableQAbstractSocketSocket vdO\g*e/c$Operation on socket is not supportedQAbstractSocketSocket g*#}Socket is not connectedQAbstractSocketSocket dO\>fBSocket operation timed outQAbstractSocketQhxd(&S) &Select AllQAbstractSpinBoxUkeTN (&S)&Step upQAbstractSpinBoxUkeTN (&D) Step &downQAbstractSpinBoxU_RActivate QApplicationU_Rz _vN;z#Activates the program's main window QApplication6WLj %1 Qt %2 OFSb~R0 Qt %30,Executable '%1' requires Qt %2, found Qt %3. QApplicationQt Q_^N v[v/Incompatible Qt Library Error QApplicationLTRQT_LAYOUT_DIRECTION QApplication Sm(&C)&Cancel QAxSelectCOM riN(&O) COM &Object: QAxSelectx[OK QAxSelectxd ActiveX cR6Select ActiveX Control QAxSelectRxCheck QCheckBoxRcToggle QCheckBoxSmRxUncheck QCheckBoxeXR0Or(&A)&Add to Custom Colors QColorDialogWg,Or(&B) &Basic colors QColorDialogOr(&C)&Custom colors QColorDialog }(&G)&Green: QColorDialog }(&R)&Red: QColorDialogT^(&S)&Sat: QColorDialogN^(&V)&Val: QColorDialogAlpha r;(&L)A&lpha channel: QColorDialog (&U)Bl&ue: QColorDialogr(&E)Hu&e: QColorDialogxdǘOr Select Color QColorDialogܕClose QComboBoxPGFalse QComboBoxU_Open QComboBoxwTrue QComboBox%1ftok Y1eW%1: ftok failedQCoreApplication%1uP(&N) &New Folder QFileDialog U_(&O)&Open QFileDialogeT}T (&R)&Rename QFileDialog Q2[X(&S)&Save QFileDialog&%1 g [QeO݋w0 `x[R*d[U9'%1' is write protected. Do you want to delete it anyway? QFileDialogb@g jhH (*) All Files (*) QFileDialogb@g jhH (*.*)All Files (*.*) QFileDialog`x[R*d %1 U!Are sure you want to delete '%1'? QFileDialogVBack QFileDialogq!lR*dv0Could not delete directory. QFileDialog ^zeeY>Create New Folder QFileDialogs}0j Detail View QFileDialogv Directories QFileDialogv Directory: QFileDialogxxDrive QFileDialogjhHFile QFileDialogjT (&N) File &name: QFileDialog jhHWaKFiles of type: QFileDialog\ b~vFind Directory QFileDialog_RMForward QFileDialogRhj List View QFileDialog\ b~eLook in: QFileDialogbvf My Computer QFileDialogeeY> New Folder QFileDialogU_Open QFileDialogr6vParent Directory QFileDialog gvW0e Recent Places QFileDialogydRemove QFileDialogS[XejSave As QFileDialogoy: Show  QFileDialogoy:j(&H)Show &hidden files QFileDialogg*wUnknown QFileDialog %1 GB%1 GBQFileSystemModel %1 KB%1 KBQFileSystemModel %1 MB%1 MBQFileSystemModel %1 TB%1 TBQFileSystemModel %1 OMQC}D%1 bytesQFileSystemModel^<b>q!lOu(T z1 "%1"0</b><p>Ou(Qv[T z1 [WQCex\N bf/N g j{&_0oThe name "%1" can not be used.

Try using another name, with fewer characters or no punctuations marks.QFileSystemModelfComputerQFileSystemModelfeg Date ModifiedQFileSystemModel N TlvjT Invalid filenameQFileSystemModelz.^KindQFileSystemModelbvf My ComputerQFileSystemModelT z1NameQFileSystemModelY'\SizeQFileSystemModelWaKTypeQFileSystemModelNOUAny QFontDatabase?bO/Arabic QFontDatabaseN\Tamil QFontDatabase TeluguTelugu QFontDatabase ThaanaThaana QFontDatabaselThai QFontDatabaseTibetan QFontDatabase~AN-eTraditional Chinese QFontDatabaseSW Vietnamese QFontDatabase [WW(&F)&Font QFontDialog Y'\(&S)&Size QFontDialog ^}(&U) &Underline QFontDialogeHgEffects QFontDialog[WWj#_(&Y) Font st&yle QFontDialog{OSample QFontDialogxd[WW Select Font QFontDialogR*d}(&K) Stri&keout QFontDialog[Qe|}q(&I)Wr&iting System QFontDialogfvfBY1eW %1Changing directory failed: %1QFtp ]#}R0N;j_Connected to hostQFtp]#cR0N;j_ %1Connected to host %1QFtp#}R0N;j_Y1eW %1Connecting to host failed: %1QFtp #}]ܕConnection closedQFtp e#}ڈb&Connection refused for data connectionQFtp#}R0N;j_ %1 bConnection refused to host %1QFtp#}R0N;j_ %1 >fBConnection timed out to host %1QFtpR0 %1 v#}]ܕConnection to %1 closedQFtp^zvfBY1eW %1Creating directory failed: %1QFtpN jhHfBY1eW %1Downloading file failed: %1QFtpb~R0N;j_ %1 Host %1 foundQFtpb~N R0N;j_ %1Host %1 not foundQFtpb~R0N;j_ Host foundQFtpRQvfBY1eW %1Listing directory failed: %1QFtpv{QeY1eW %1Login failed: %1QFtpg*#} Not connectedQFtpydvfBY1eW %1Removing directory failed: %1QFtpydjhHfBY1eW %1Removing file failed: %1QFtp g*wv/ Unknown errorQFtpN PjhHfBY1eW %1Uploading file failed: %1QFtp g*wv/ Unknown error QHostInfo b~N R0N;j_Host not foundQHostInfoAgentg*wvOMW@WaKUnknown address typeQHostInfoAgent g*wv/ Unknown errorQHostInfoAgentIAuthentication requiredQHttp ]#}R0N;j_Connected to hostQHttp]#cR0N;j_ %1Connected to host %1QHttp #}]ܕConnection closedQHttp#}ڈbConnection refusedQHttp#}ڈbb#}ڐ>fB !Connection refused (or timed out)QHttpR0 %1 v#}]ܕConnection to %1 closedQHttp e]d kData corruptedQHttp[QeVaR0nfBv|u/ Error writing response to deviceQHttpHTTP lBY1eWHTTP request failedQHttp0HTTPS #}ڗv SSL e/cN&g*}o2O:HTTPS connection requested but SSL support not compiled inQHttpb~R0N;j_ %1 Host %1 foundQHttpb~N R0N;j_ %1Host %1 not foundQHttpb~R0N;j_ Host foundQHttp N;j_IHost requires authenticationQHttpN Tlv HTTP S@XJN;Invalid HTTP chunked bodyQHttpN Tlv HTTP Vމj-Invalid HTTP response headerQHttplg -[#}R0TP O:g VhNo server set to connect toQHttpNtO:g VhIProxy authentication requiredQHttpNtO:g VhIProxy requires authenticationQHttplBN-kbRequest abortedQHttpSSL nY1eWSSL handshake failedQHttpO:g Vhq!fܕ#}%Server closed connection unexpectedlyQHttp g*wv/ Unknown errorQHttpc[Ng*wvST[Unknown protocol specifiedQHttp/vQg[w^Wrong content lengthQHttpIAuthentication requiredQHttpSocketEngine$g*_NtO:g Vhce6R0 HTTP Va(Did not receive HTTP response from proxyQHttpSocketEngine& HTTP NtO:g Vho~kfBv|u/#Error communicating with HTTP proxyQHttpSocketEngine(RVg_NtO:g VhPOvIlBfBv|u//Error parsing authentication request from proxyQHttpSocketEngineNtO:g Vh#}]N kc^8ܕ#Proxy connection closed prematurelyQHttpSocketEngineNtO:g Vh#}ڈbProxy connection refusedQHttpSocketEngineNtO:g Vhb}U#}Proxy denied connectionQHttpSocketEngineNtO:g Vh#}ڐ>fB!Proxy server connection timed outQHttpSocketEngineb~N R0NtO:g VhProxy server not foundQHttpSocketEngine q!lՕYNRCould not start transaction QIBaseDriverU_e^v|u/Error opening database QIBaseDriver q!lcNNRUnable to commit transaction QIBaseDriver q!lS͏INRUnable to rollback transaction QIBaseDriver q!lՑMneXCould not allocate statement QIBaseResultq!lcϏ8QeeX"Could not describe input statement QIBaseResult q!lcϏeXCould not describe statement QIBaseResultq!lbSN NP vCould not fetch next item QIBaseResult b~N R0cRCould not find array QIBaseResultq!lS_cReCould not get array data QIBaseResultq!lS_gbNJ Could not get query info QIBaseResultq!lS_eXNJ Could not get statement info QIBaseResult q!lnPeXCould not prepare statement QIBaseResult q!lՕYNRCould not start transaction QIBaseResult q!lՕܕeXUnable to close statement QIBaseResult q!lcNNRUnable to commit transaction QIBaseResultq!l^z BLOBUnable to create BLOB QIBaseResult q!lWLgbUnable to execute query QIBaseResultq!lՕU_ BLOBUnable to open BLOB QIBaseResultq!lՋS BLOBUnable to read BLOB QIBaseResultq!l[Qe BLOBUnable to write BLOB QIBaseResultnN ]q!zzNo space left on device QIODeviceb~N R0rjhHbvNo such file or directory QIODevicek PN Permission denied QIODevice U_NYjhHToo many open files QIODevice g*wv/ Unknown error QIODeviceMac OS X 8QelMac OS X input method QInputContextWindows 8QelWindows input method QInputContextXIMXIM QInputContextXIM 8QelXIM input method QInputContext ˏ8QeP<Enter a value: QInputDialogq!lՏ QeQ_^ %1%2Cannot load library %1: %2QLibrary$q!lS͉ %2 Qgv{&_ %1%3$Cannot resolve symbol "%1" in %2: %3QLibraryq!lSx Q_^ %1%2Cannot unload library %1: %2QLibraryq!l mmap '%1'%2Could not mmap '%1': %2QLibrary q!l unmap '%1'%2Could not unmap '%1': %2QLibrary$W( %1 N-vYcz _xeN {&T)Plugin verification data mismatch in '%1'QLibrary(jhH %1 N f/Tlv Qt Ycz _0'The file '%1' is not a valid Qt plugin.QLibraryFYcz _ %1 Ou(N v[v Qt Q_^%2.%3.%4 0%50=The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5]QLibraryTYcz _ %1 Ou(N v[v Qt Q_^0N \d/QrHvQ_^mW(Nw0 WThe plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.)QLibraryJYcz _ %1 Ou(N v[v Qt Q_^0g^i˔p %2 S{_R0 %3OThe plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3"QLibraryb~N R0RNQ_^!The shared library was not found.QLibrary g*wv/ Unknown errorQLibrary (&C)&Copy QLineEdit N (&P)&Paste QLineEdit PZ(&R)&Redo QLineEdit _S(&U)&Undo QLineEdit RjN (&T)Cu&t QLineEditR*dDelete QLineEditQhxd Select All QLineEdit%1OMW@Ou(N-%1: Address in use QLocalServer%1T z1/%1: Name error QLocalServer%1[XSֈb%1: Permission denied QLocalServer%1g*wv/ %2%1: Unknown error %2 QLocalServer%1#}ړ/%1: Connection error QLocalSocket%1#}ڈb%1: Connection refused QLocalSocket%1eSNY'%1: Datagram too large QLocalSocket%1N TlvT z1%1: Invalid name QLocalSocket%1`z]ܕ%1: Remote closed QLocalSocket%1Socket OMW@/%1: Socket access error QLocalSocket%1Socket dO\>fB%1: Socket operation timed out QLocalSocket%1Socket n/%1: Socket resource error QLocalSocket%1socket dO\g*e/c)%1: The socket operation is not supported QLocalSocket%1g*wv/%1: Unknown error QLocalSocket%1g*wv/ %2%1: Unknown error %2 QLocalSocket q!lՕYNRUnable to begin transaction QMYSQLDriver q!lcNNRUnable to commit transaction QMYSQLDriverq!lՐ#}Unable to connect QMYSQLDriverq!lՕU_e^Unable to open database ' QMYSQLDriver q!lS͏INRUnable to rollback transaction QMYSQLDriverq!l}PT8QP<Unable to bind outvalues QMYSQLResult q!l}PTexP<Unable to bind value QMYSQLResultq!lWLN NP gbUnable to execute next query QMYSQLResult q!lWLgbUnable to execute query QMYSQLResult q!lWLeXUnable to execute statement QMYSQLResult q!lbS֌eUnable to fetch data QMYSQLResult q!lnPeXUnable to prepare statement QMYSQLResult q!lՑneXUnable to reset statement QMYSQLResultq!lQ2[XN NP }PgUnable to store next result QMYSQLResult q!lQ2[X}PgUnable to store result QMYSQLResultq!lQ2[XeX}Pg!Unable to store statement results QMYSQLResult g*T}T  (Untitled)QMdiArea%1 - [%2] %1 - [%2] QMdiSubWindow ܕ(&C)&Close QMdiSubWindow yR(&M)&Move QMdiSubWindow V_(&R)&Restore QMdiSubWindow Y'\(&S)&Size QMdiSubWindow - [%1]- [%1] QMdiSubWindowܕClose QMdiSubWindowfHelp QMdiSubWindowgY'S(&X) Ma&ximize QMdiSubWindowgY'SMaximize QMdiSubWindowxUMenu QMdiSubWindowg\S(&N) Mi&nimize QMdiSubWindowg\SMinimize QMdiSubWindowV_Restore QMdiSubWindowTN `b_ Restore Down QMdiSubWindown=Shade QMdiSubWindowuYW(z(&T) Stay on &Top QMdiSubWindowSmn=Unshade QMdiSubWindowܕCloseQMenuWLExecuteQMenuU_OpenQMenu e QtAbout Qt QMessageBoxfHelp QMessageBoxϊs`...Hide Details... QMessageBoxx[OK QMessageBoxoy:s`...Show Details... QMessageBox xdǏ8Qel Select IMQMultiInputContextY͏8QelRcVhMultiple input method switcherQMultiInputContextPlugin*Ou(e[WQCNN-vQgexUvY͏8QelRcVhMMultiple input method switcher that uses the context menu of the text widgetsQMultiInputContextPlugin,SNP socket ]}W(v}T NP #cW4Another socket is already listening on the same portQNativeSocketEngine>fWW(lg IPv6 e/cv^sSN Ou( IPv6 socket=Attempt to use IPv6 socket on a platform with no IPv6 supportQNativeSocketEngine#}ڈbConnection refusedQNativeSocketEngine#}ڐ>fBConnection timed outQNativeSocketEngineeNY'q!lՐQDatagram was too large to sendQNativeSocketEngineq!lՐ#}R0N;j_Host unreachableQNativeSocketEngineN Tlv socket cϏ[PInvalid socket descriptorQNativeSocketEngine}/ Network errorQNativeSocketEngine }dO\>fBNetwork operation timed outQNativeSocketEngine q!lOu(}Network unreachableQNativeSocketEngine\ ^ socket dO\Operation on non-socketQNativeSocketEnginenN Out of resourcesQNativeSocketEnginek PN Permission deniedQNativeSocketEngineST[WaKg*e/cProtocol type not supportedQNativeSocketEngine q!lS_OMW@The address is not availableQNativeSocketEnginekdOMW@]O݋wThe address is protectedQNativeSocketEngine}PTvOMW@]}W(Ou(N-#The bound address is already in useQNativeSocketEngineNtO:g VhWaKq!le/ckddO\,The proxy type is invalid for this operationQNativeSocketEngine`zN;j_ܕN#}%The remote host closed the connectionQNativeSocketEngineq!lRYS^d socket%Unable to initialize broadcast socketQNativeSocketEngine q!lRYS^;d`' socket(Unable to initialize non-blocking socketQNativeSocketEngine q!lce6 `oUnable to receive a messageQNativeSocketEngine q!lՐQ `oUnable to send a messageQNativeSocketEngineq!l[QeUnable to writeQNativeSocketEngine g*wv/ Unknown errorQNativeSocketEngineg*e/cv socket dO\Unsupported socket operationQNativeSocketEngineU_ %1 v|u/Error opening %1QNetworkAccessCacheBackend q!lՕU_ %1kd_f/NP v#Cannot open %1: Path is a directoryQNetworkAccessFileBackendU_ %1 v|u/%2Error opening %1: %2QNetworkAccessFileBackend_ %1 S֓/%2Read error reading from %1: %2QNetworkAccessFileBackendlBU_^g,W0zjhH %1%Request for opening non-local file %1QNetworkAccessFileBackend[Qe %1 fBv|u/%2Write error writing to %1: %2QNetworkAccessFileBackendq!lՕU_ %1f/NP vCannot open %1: is a directoryQNetworkAccessFtpBackendN %1 fBv|u/%2Error while downloading %1: %2QNetworkAccessFtpBackendN P %1 fBv|u/%2Error while uploading %1: %2QNetworkAccessFtpBackendv{Qe %1 Y1eWI0Logging in to %1 failed: authentication requiredQNetworkAccessFtpBackendb~N R0TivNtO:g VhNo suitable proxy foundQNetworkAccessFtpBackendb~N R0TivNtO:g VhNo suitable proxy foundQNetworkAccessHttpBackend(N %1 fBv|u/%O:g VhVa%2)Error downloading %1 - server replied: %2 QNetworkReplyg*wvST[ %1Protocol "%1" is unknown QNetworkReplySmdO\Operation canceledQNetworkReplyImpl q!lՕYNRUnable to begin transaction QOCIDriver q!lcNNRUnable to commit transaction QOCIDriver q!lRYSUnable to initialize QOCIDriverq!lv{QeUnable to logon QOCIDriver q!lS͏INRUnable to rollback transaction QOCIDriver q!lՑMneXUnable to alloc statement QOCIResultq!l}PTkOMNPZbyk!WL'Unable to bind column for batch execute QOCIResult q!l}PTexP<Unable to bind value QOCIResultq!lWLbyk!eX!Unable to execute batch statement QOCIResult q!lWLeXUnable to execute statement QOCIResultq!lՍR0N NP Unable to goto next QOCIResult q!lnPeXUnable to prepare statement QOCIResult q!lcNNRUnable to commit transaction QODBCDriverq!lՐ#cUnable to connect QODBCDriver(q!lՐ#c%ERz _q!le/cb@g vRCUnable to connect - Driver doesn't support all needed functionality QODBCDriverq!lՕܕRcNRUnable to disable autocommit QODBCDriverq!lՕU_RcNRUnable to enable autocommit QODBCDriver q!lS͏INRUnable to rollback transaction QODBCDriverQODBCResult::reset: q!lՊ-[ SQL_CURSOR_STATIC PZpeX\l`'0jg`v ODBC ERz _v-[yQODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResult q!l}PTexUnable to bind variable QODBCResult q!lWLeXUnable to execute statement QODBCResultq!lbSUnable to fetch QODBCResultq!lbS{,N{FUnable to fetch first QODBCResultq!lbSg_N{FUnable to fetch last QODBCResultq!lbSN N{FUnable to fetch next QODBCResultq!lbSRMN{FUnable to fetch previous QODBCResult q!lnPeXUnable to prepare statement QODBCResultHomeQObjectN Tlv}W@%1Invalid URI: %1QObject g*c[N;j_No host name givenQObjectW( %1 N N e/ckddO\Operation not supported on %1QObject"ST[/ce6R0Y'\p 0 v\S)Protocol error: packet of size 0 receivedQObject_ %1 S֓/%2Read error reading from %1: %2QObject&e %1 N `zN;j_ܕNN kc^8v#}3Remote host closed the connection prematurely on %1QObject&%1 N v|u socket /%2Socket error on %1: %2QObject[Qe %1 fBv|u/%2Write error writing to %1: %2QObjectT z1NameQPPDOptionsModelP<ValueQPPDOptionsModel q!lՕYNRCould not begin transaction QPSQLDriver q!lcNNRCould not commit transaction QPSQLDriver q!lS͏INRCould not rollback transaction QPSQLDriverq!lՐ#}Unable to connect QPSQLDriverq!lՊUnable to subscribe QPSQLDriver q!lSmUnable to unsubscribe QPSQLDriver q!l^zgbUnable to create query QPSQLResult q!lnPeXUnable to prepare statement QPSQLResultQlRCentimeters (cm)QPageSetupWidgethUFormQPageSetupWidget^Height:QPageSetupWidgetT  Inches (in)QPageSetupWidgetjkT LandscapeQPageSetupWidget}MarginsQPageSetupWidgetQlSMillimeters (mm)QPageSetupWidgeteT OrientationQPageSetupWidget }_5Y'\ Page size:QPageSetupWidget}_5PaperQPageSetupWidget }_5On Paper source:QPageSetupWidget Points (pt)QPageSetupWidget~1TPortraitQPageSetupWidgetS^jkTReverse landscapeQPageSetupWidgetS^~1TReverse portraitQPageSetupWidget[^Width:QPageSetupWidgetN } bottom marginQPageSetupWidget]} left marginQPageSetupWidgetS} right marginQPageSetupWidgetN } top marginQPageSetupWidgetYcz _g* Qe0The plugin was not loaded. QPluginLoader g*wv/ Unknown error QPluginLoader%1 ][XW(0 `[[U/%1 already exists. Do you want to overwrite it? QPrintDialog$%1 f/NP v0 ːxdQvNjT 07%1 is a directory. Please choose a different file name. QPrintDialogdO\ (&O) << &Options << QPrintDialogdO\ (&O) >> &Options >> QPrintDialog RSp(&P)&Print QPrintDialog <qt>`[[U</qt>%Do you want to overwrite it? QPrintDialogA0A0 QPrintDialog$A0 (841 x 1189 mm)A0 (841 x 1189 mm) QPrintDialogA1A1 QPrintDialog"A1 (594 x 841 mm)A1 (594 x 841 mm) QPrintDialogA2A2 QPrintDialog"A2 (420 x 594 mm)A2 (420 x 594 mm) QPrintDialogA3A3 QPrintDialog"A3 (297 x 420 mm)A3 (297 x 420 mm) QPrintDialogA4A4 QPrintDialogBA4 (210 x 297 mm, 8.26 x 11.7 T )%A4 (210 x 297 mm, 8.26 x 11.7 inches) QPrintDialogA5A5 QPrintDialog"A5 (148 x 210 mm)A5 (148 x 210 mm) QPrintDialogA6A6 QPrintDialog"A6 (105 x 148 mm)A6 (105 x 148 mm) QPrintDialogA7A7 QPrintDialog A7 (74 x 105 mm)A7 (74 x 105 mm) QPrintDialogA8A8 QPrintDialogA8 (52 x 74 mm)A8 (52 x 74 mm) QPrintDialogA9A9 QPrintDialogA9 (37 x 52 mm)A9 (37 x 52 mm) QPrintDialog R%T %1 Aliases: %1 QPrintDialogB0B0 QPrintDialog&B0 (1000 x 1414 mm)B0 (1000 x 1414 mm) QPrintDialogB1B1 QPrintDialog$B1 (707 x 1000 mm)B1 (707 x 1000 mm) QPrintDialogB10B10 QPrintDialog B10 (31 x 44 mm)B10 (31 x 44 mm) QPrintDialogB2B2 QPrintDialog"B2 (500 x 707 mm)B2 (500 x 707 mm) QPrintDialogB3B3 QPrintDialog"B3 (353 x 500 mm)B3 (353 x 500 mm) QPrintDialogB4B4 QPrintDialog"B4 (250 x 353 mm)B4 (250 x 353 mm) QPrintDialogB5B5 QPrintDialogBB5 (176 x 250 mm, 6.93 x 9.84 T )%B5 (176 x 250 mm, 6.93 x 9.84 inches) QPrintDialogB6B6 QPrintDialog"B6 (125 x 176 mm)B6 (125 x 176 mm) QPrintDialogB7B7 QPrintDialog B7 (88 x 125 mm)B7 (88 x 125 mm) QPrintDialogB8B8 QPrintDialogB8 (62 x 88 mm)B8 (62 x 88 mm) QPrintDialogB9B9 QPrintDialogB9 (44 x 62 mm)B9 (44 x 62 mm) QPrintDialogC5EC5E QPrintDialog$C5E (163 x 229 mm)C5E (163 x 229 mm) QPrintDialogCustom QPrintDialogDLEDLE QPrintDialog$DLE (110 x 220 mm)DLE (110 x 220 mm) QPrintDialogExecutive Executive QPrintDialogJExecutive (7.5 x 10 T , 191 x 254 mm))Executive (7.5 x 10 inches, 191 x 254 mm) QPrintDialog(jhH %1 q!l[Qe0 ːxdQv[jT 0=File %1 is not writable. Please choose a different file name. QPrintDialog jhH][XW( File exists QPrintDialog FolioFolio QPrintDialog"\ (210 x 330 mm)Folio (210 x 330 mm) QPrintDialog LedgerLedger QPrintDialog*Ledger (432 x 279 mm)Ledger (432 x 279 mm) QPrintDialog LegalLegal QPrintDialogBLegal (8.5 x 14 T , 216 x 356 mm)%Legal (8.5 x 14 inches, 216 x 356 mm) QPrintDialog LetterLetter QPrintDialogDLetter (8.5 x 11 T , 216 x 279 mm)&Letter (8.5 x 11 inches, 216 x 279 mm) QPrintDialog g,W0zjhH Local file QPrintDialogx[OK QPrintDialogRSpPrint QPrintDialogRSpR0jhH...Print To File ... QPrintDialogQhRSp Print all QPrintDialogRSp{W  Print range QPrintDialog RSpxdS@Print selection QPrintDialogRSpR0jhHPDF Print to File (PDF) QPrintDialog"RSpR0jhHPostscript Print to File (Postscript) QPrintDialogTabloidTabloid QPrintDialog,Tabloid (279 x 432 mm)Tabloid (279 x 432 mm) QPrintDialogwYexPY'Zoom inQPrintPreviewDialog~.\Zoom outQPrintPreviewDialog2AdvancedQPrintPropertiesWidgethUFormQPrintPropertiesWidgetbPageQPrintPropertiesWidgeth!\ CollateQPrintSettingsOutputOrColorQPrintSettingsOutputOrj!_ Color ModeQPrintSettingsOutputNexCopiesQPrintSettingsOutputNexCopies:QPrintSettingsOutput]RSpDuplex PrintingQPrintSettingsOutputhUFormQPrintSettingsOutputpp GrayscaleQPrintSettingsOutputw Long sideQPrintSettingsOutputq!NoneQPrintSettingsOutputxOptionsQPrintSettingsOutput8Q-[Output SettingsQPrintSettingsOutput c[b_ Pages fromQPrintSettingsOutputQhRSp Print allQPrintSettingsOutputRSp{W  Print rangeQPrintSettingsOutputSTReverseQPrintSettingsOutputxdS@ SelectionQPrintSettingsOutputw퐊 Short sideQPrintSettingsOutputR0toQPrintSettingsOutputT z1(&N)&Name: QPrintWidget...... QPrintWidgethUForm QPrintWidgetOMn Location: QPrintWidget8QjhH(&F) Output &file: QPrintWidget \l`'(&R) P&roperties QPrintWidgetPreview QPrintWidgetSphj_Printer QPrintWidgetWaKType: QPrintWidgetq!lՕU_8Qe\TN勀S,Could not open input redirection for readingQProcessq!lՕU_8Q\TN[Qe-Could not open output redirection for writingQProcess_Lz SfBv|u/Error reading from processQProcess[QeLz fBv|u/Error writing to processQProcess Lz ]])opProcess crashedQProcess U_RՈLz Y1eWProcess failed to startQProcess Lz dO\>fBProcess operation timed outQProcess n/fork Y1eW %1!Resource error (fork failure): %1QProcessSmCancelQProgressDialogU_Open QPushButtonRxCheck QRadioButton/v[WQC^R%lbad char class syntaxQRegExp /v lookahead lbad lookahead syntaxQRegExp/v͉lbad repetition syntaxQRegExpOu(]ܕvRdisabled feature usedQRegExpN TlvQk2OMP<invalid octal valueQRegExp GR0QgPR6met internal limitQRegExp\N]evS@{&missing left delimQRegExp lg v|u/no error occurredQRegExpg*gGR0}P\>unexpected endQRegExpU_e^fBv|u/Error to open databaseQSQLite2Driver q!lՕYNRUnable to begin transactionQSQLite2Driver q!lcNNRUnable to commit transactionQSQLite2Driver q!lS͏INRUnable to rollback TransactionQSQLite2Driver q!lWLeXUnable to execute statementQSQLite2Result q!lbS}PgUnable to fetch resultsQSQLite2Resultܕe^v|u/Error closing database QSQLiteDriverU_e^v|u/Error opening database QSQLiteDriver q!lՕYNRUnable to begin transaction QSQLiteDriver q!lcNNRUnable to commit transaction QSQLiteDriver q!lS͏INRUnable to rollback transaction QSQLiteDriverlg gbNo query QSQLiteResultSexexN {&TParameter count mismatch QSQLiteResult q!l}PTSexUnable to bind parameters QSQLiteResult q!lWLeXUnable to execute statement QSQLiteResult q!lbSRUnable to fetch row QSQLiteResult q!lՑneXUnable to reset statement QSQLiteResult^zBottom QScrollBar]搊} Left edge QScrollBar\ N cR Line down QScrollBar\ N cRLine up QScrollBarbN e Page down QScrollBarb]e Page left QScrollBarbSe Page right QScrollBarbN ePage up QScrollBarOMnPosition QScrollBarS} Right edge QScrollBar_N cr Scroll down QScrollBarW(kdcr Scroll here QScrollBar_]cr Scroll left QScrollBar_Scr Scroll right QScrollBar_N cr Scroll up QScrollBarzTop QScrollBar %1][XW(%1: already exists QSharedMemory%1^zY'\\e 0%1: create size is less then 0 QSharedMemory %1N [XW(%1: doesn't exists QSharedMemory%1ftok Y1eW%1: ftok failed QSharedMemory%1N TlvY'\%1: invalid size QSharedMemory%1uP Media Play QShortcut ZRMNMedia Previous QShortcutZԓ Media Record QShortcutZP\kb Media Stop QShortcutxUMenu QShortcutMetaMeta QShortcutT&No QShortcutex[W[Num Lock QShortcutex[W[NumLock QShortcutex[W[ Number Lock QShortcutU_}W@Open URL QShortcut_N N Page Down QShortcut_N NPage Up QShortcut PausePause QShortcut PgDownPgDown QShortcutPgUpPgUp QShortcut PrintPrint QShortcutRSp^U Print Screen QShortcutR7eRefresh QShortcut ReturnReturn QShortcutSuRight QShortcutcr[ Scroll Lock QShortcutcr[ ScrollLock QShortcutd\ Search QShortcutxdSelect QShortcut ShiftShift QShortcutzzv}uSpace QShortcut_T}Standby QShortcutP\kbStop QShortcut SysReqSysReq QShortcut|}qlB SysRqSystem Request QShortcutTabTab QShortcutTreble Down Treble Down QShortcutTreble Up Treble Up QShortcutN uUp QShortcutϖMON Volume Down QShortcut\ Volume Mute QShortcutcК Volume Up QShortcutf/Yes QShortcutbN e Page downQSliderb]e Page leftQSliderbSe Page rightQSliderbN ePage upQSliderOMnPositionQSliderOMW@WaKg*e/cAddress type not supportedQSocks5SocketEngine$#}g* SOCKSv5 O:g VhQA1(Connection not allowed by SOCKSv5 serverQSocks5SocketEngineNtO:g Vh#}]N kc^8ܕ&Connection to proxy closed prematurelyQSocks5SocketEngineNtO:g Vh#}ڈbConnection to proxy refusedQSocks5SocketEngineNtO:g Vh#}ڐ>fBConnection to proxy timed outQSocks5SocketEngine"N,v SOCKSv5 O:g Vh/General SOCKSv5 server failureQSocks5SocketEngine }dO\>fBNetwork operation timed outQSocks5SocketEngineNtO:g VhIY1eWProxy authentication failedQSocks5SocketEngineNtO:g VhIY1eW%1Proxy authentication failed: %1QSocks5SocketEngineb~N R0NtO:g VhProxy host not foundQSocks5SocketEngineSOCKS 5 vST[/SOCKS version 5 protocol errorQSocks5SocketEngineSOCKSv5 cNg*e/cSOCKSv5 command not supportedQSocks5SocketEngine TTL >fB TTL expiredQSocks5SocketEngine4g*wv SOCKSv5 NtO:g Vh/Nx 0x%1%Unknown SOCKSv5 proxy error code 0x%1QSocks5SocketEngine\LessQSpinBoxfYMoreQSpinBoxSmCancelQSqlSm}/UCancel your edits?QSqlxConfirmQSqlR*dDeleteQSqlR*d{F}UDelete this record?QSqlcQeInsertQSqlT&NoQSqlQ2[X}/NvQg[U Save edits?QSqlfeUpdateQSqlf/YesQSqllg єpq!lcOaI%1,Cannot provide a certificate with no key, %1 QSslSocket$^z SSL QgefBv|u/%1 Error creating SSL context (%1) QSslSocket&^z SSL ]O\kfBv|u/%1Error creating SSL session, %1 QSslSocket&^z SSL ]O\kfBv|u/%1Error creating SSL session: %1 QSslSocketSSL T kefBv|u/%1Error during SSL handshake: %1 QSslSocket Qeg,W0aIfBv|u/%1#Error loading local certificate, %1 QSslSocket QeypfBv|u/%1Error loading private key, %1 QSslSocketSfBv|u/%1Error while reading: %1 QSslSocketN Tlbzzv}vR[nU%1 !Invalid or empty cipher list (%1) QSslSockety[Ƒєpq!lՊIQlєp %1/Private key does not certificate public key, %1 QSslSocketq!l[Qee%1Unable to write data: %1 QSslSocket %1][XW(%1: already existsQSystemSemaphore %1N [XW(%1: does not existQSystemSemaphore%1nN %1: out of resourcesQSystemSemaphore%1[XSֈb%1: permission deniedQSystemSemaphore%1g*wv/ %2%1: unknown error %2QSystemSemaphore q!lՕU_#}Unable to open connection QTDSDriverq!lOu(e^Unable to use database QTDSDriver_]cr Scroll LeftQTabBar_Scr Scroll RightQTabBarSocket vdO\g*e/c$Operation on socket is not supported QTcpServer (&C)&Copy QTextControl N (&P)&Paste QTextControl PZ(&R)&Redo QTextControl _S(&U)&Undo QTextControl#}POMW@(&L)Copy &Link Location QTextControl RjN (&T)Cu&t QTextControlR*dDelete QTextControlQhxd Select All QTextControlU_Open QToolButtonc N Press QToolButtonkd^sSN e/c IPv6#This platform does not support IPv6 QUdpSocketPZRedo QUndoGroup_SUndo QUndoGroupzzv} QUndoModelPZRedo QUndoStack_SUndo QUndoStackcQe,W xcR6[WQC Insert Unicode control characterQUnicodeControlCharacterMenuLRE ]R0S]LQew$LRE Start of left-to-right embeddingQUnicodeControlCharacterMenuLRM ]R0SjLRM Left-to-right markQUnicodeControlCharacterMenuLRO ]R0S[w#LRO Start of left-to-right overrideQUnicodeControlCharacterMenuPDF _HQeTh<_PDF Pop directional formattingQUnicodeControlCharacterMenuRLE SR0]]LQew$RLE Start of right-to-left embeddingQUnicodeControlCharacterMenuRLM SR0]jRLM Right-to-left markQUnicodeControlCharacterMenuRLO SR0]扆[w#RLO Start of right-to-left overrideQUnicodeControlCharacterMenuZWJ [^#cVhZWJ Zero width joinerQUnicodeControlCharacterMenuZWNJ [^^#cVhZWNJ Zero width non-joinerQUnicodeControlCharacterMenuZWSP [^zzv}ZWSP Zero width spaceQUnicodeControlCharacterMenu q!l՘oy:}W@Cannot show URL QWebFrameq!l՘oy: MIME WaKCannot show mimetype QWebFrame jhHN [XW(File does not exist QWebFrame_qPϏ QeVe?{Vf N-e&Frame load interruped by policy change QWebFrame lB]򈫖;dRequest blocked QWebFrame lB]SmRequest cancelled QWebFrame%1%2x%3 P} %1 (%2x%3 pixels)QWebPage %n P jhH %n file(s)QWebPage eXR0[WQxAdd To DictionaryQWebPageN ov HTTP lBBad HTTP requestQWebPage|BoldQWebPage^zBottomQWebPagejgb[WelCheck Grammar With SpellingQWebPagejgb[WCheck SpellingQWebPagebS[WfBzSsjgb[WCheck Spelling While TypingQWebPagexdjhH Choose FileQWebPagendgvd\ Clear recent searchesQWebPageCopyQWebPage_qP Copy ImageQWebPage#}P Copy LinkQWebPageRjN CutQWebPage-DefaultQWebPageR*dR0kdU[Wv}P\>Delete to the end of the wordQWebPageR*dR0kdU[Wvw-Delete to the start of the wordQWebPageeT DirectionQWebPage[WWFontsQWebPage_VGo BackQWebPage_RM Go ForwardQWebPageb[WelHide Spelling and GrammarQWebPage_ueIgnoreQWebPage_ue Ignore Grammar context menu itemIgnoreQWebPagegWInspectQWebPageeItalicQWebPage$JavaScript fTJ % %1JavaScript Alert - %1QWebPage$JavaScript x % %1JavaScript Confirm - %1QWebPage$JavaScript cy: % %1JavaScript Prompt - %1QWebPage]R0SLTRQWebPage]搊} Left edgeQWebPage W([WQxd\ Look Up In DictionaryQWebPageyRn8jR0NP S@XJv}P\>'Move the cursor to the end of the blockQWebPageyRn8jR0NP eNv}P\>*Move the cursor to the end of the documentQWebPageyRn8jR0NLv}P\>&Move the cursor to the end of the lineQWebPageyRn8jR0N NP [WQC%Move the cursor to the next characterQWebPageyRn8jR0N NL Move the cursor to the next lineQWebPageyRn8jR0N NP U[W Move the cursor to the next wordQWebPageyRn8jR0RMNP [WQC)Move the cursor to the previous characterQWebPageyRn8jR0RMNL$Move the cursor to the previous lineQWebPageyRn8jR0RMNP U[W$Move the cursor to the previous wordQWebPageyRn8jR0NP S@XJvw-)Move the cursor to the start of the blockQWebPageyRn8jR0NP eNvw-,Move the cursor to the start of the documentQWebPageyRn8jR0NLvw-(Move the cursor to the start of the lineQWebPageb~N R0SvQg[No Guesses FoundQWebPageg*xSNOUjhHNo file selectedQWebPagelg gvd\ No recent searchesQWebPageU_hFg Open FrameQWebPageU__qP Open ImageQWebPageU_#}P Open LinkQWebPage W(ezU_Open in New WindowQWebPageYhF}OutlineQWebPagebN e Page downQWebPageb]e Page leftQWebPagebSe Page rightQWebPagebN ePage upQWebPageN PasteQWebPageSR0]RTLQWebPage gvd\ Recent searchesQWebPagee QeReloadQWebPagenResetQWebPageS} Right edgeQWebPageQ2[X_qP Save ImageQWebPageQ2[X#}P... Save Link...QWebPage_N cr Scroll downQWebPageW(kdcr Scroll hereQWebPage_]cr Scroll leftQWebPage_Scr Scroll rightQWebPage_N cr Scroll upQWebPaged\ zSSearch The WebQWebPagexdR0NP S@XJv}P\>Select to the end of the blockQWebPagexdR0NP eNv}P\>!Select to the end of the documentQWebPagexdR0NLv}P\>Select to the end of the lineQWebPagexdR0N NP [WQCSelect to the next characterQWebPage xdR0N NLSelect to the next lineQWebPagexdR0N NP U[WSelect to the next wordQWebPagexdR0RMNP [WQC Select to the previous characterQWebPage xdR0RMNLSelect to the previous lineQWebPagexdR0RMNP U[WSelect to the previous wordQWebPagexdR0NP S@XJvw- Select to the start of the blockQWebPagexdR0NP eNvw-#Select to the start of the documentQWebPagexdR0NLvw-Select to the start of the lineQWebPageoy:b[WelShow Spelling and GrammarQWebPageb[WSpellingQWebPageP\kbStopQWebPagecNSubmitQWebPagecNQSubmit (input element) alt text for elements with no alt, title, or valueSubmitQWebPagee[WeTText DirectionQWebPage"f/Sd\ v}"_0ˏ8Qeܓu[W03This is a searchable index. Enter search keywords: QWebPagezTopQWebPage^} UnderlineQWebPageg*wUnknownQWebPage}zgWVh%%2Web Inspector - %2QWebPage f/N What's This?QWhatsThisAction+*QWidget [b(&F)&FinishQWizard f(&H)&HelpQWizardN NP (&N)&NextQWizardN NP (&N)&Next >QWizardV(&B)< &BackQWizardSmCancelQWizardcNCommitQWizard~|~ContinueQWizard[bDoneQWizard_VGo BackQWizardfHelpQWizard%1 - [%2] %1 - [%2] QWorkspace ܕ(&C)&Close QWorkspace yR(&M)&Move QWorkspace V_(&R)&Restore QWorkspace Y'\(&S)&Size QWorkspaceSmn=(&U)&Unshade QWorkspaceܕClose QWorkspacegY'S(&X) Ma&ximize QWorkspaceg\S(&N) Mi&nimize QWorkspaceg\SMinimize QWorkspaceTN `b_ Restore Down QWorkspace n=(&A)Sh&ade QWorkspaceuYW(z(&T) Stay on &Top QWorkspace*S XML [TJfBag }x[TJbshz[TJYencoding declaration or standalone declaration expected while reading the XML declarationQXmlW(Y[N-ve[W[TJg /3error in the text declaration of an external entityQXmlRVg;fBv|u/$error occurred while parsing commentQXmlRVgQg[fBv|u/$error occurred while parsing contentQXmlRVgeNWaK[fBv|u/5error occurred while parsing document type definitionQXmlRVgQC} fBv|u/$error occurred while parsing elementQXmlRVgSÀfBv|u/&error occurred while parsing referenceQXmlu(b6v|v/error triggered by consumerQXml*W( DTD N-N QA1Ou(YRVgv[SÀ;external parsed general entity reference not allowed in DTDQXml&W(\l`'Punexpected end of fileQXml W(/vQgeN-g g*RVgv[SÀ*unparsed entity reference in wrong contextQXmlS XML [TJfBag rHg,_2version expected while reading the XML declarationQXmlshz[TJfBvPzg YvQg[0!Extra content at end of document. QXmlStreamN TlvT}T zz[TJ0Illegal namespace declaration. QXmlStreamN Tlv XML [WQC0Invalid XML character. QXmlStreamN Tlv XML T z10Invalid XML name. QXmlStreamN Tlv XML rHg,[WN20Invalid XML version string. QXmlStreamXML [TJN-g N Tlv\l`'0%Invalid attribute in XML declaration. QXmlStreamN Tlv[WQCSÀ0Invalid character reference. QXmlStreamN TlveN0Invalid document. QXmlStreamN Tlv[P<Invalid entity value. QXmlStreamN TlvUtcNT z10$Invalid processing instruction name. QXmlStreamW(Sex[[TJg NDATA0&NDATA in parameter entity declaration. QXmlStream T}T zzvRMn[WN2 %1 g*[TJ"Namespace prefix '%1' not declared QXmlStreamU_}Pg_vj|dN \ z10 Opening and ending tag mismatch. QXmlStreameN}P\>N kcx0Premature end of document. QXmlStreamPun,R0^[0Recursive entity detected. QXmlStream W(\l`'P"0&Sequence ']]>' not allowed in content. QXmlStream"shz[ScS yes b no0"Standalone accepts only yes or no. QXmlStreamgag Yj|d0Start tag expected. QXmlStream"shzv[d\l`'_ŘW(}xNK_Qs0?The standalone pseudo attribute must appear after the encoding. QXmlStream^g Unexpected ' QXmlStream(W(QlNx[WQCN-GR0^gv[WQC %10/Unexpected character '%1' in public id literal. QXmlStreamg*e/cv XML rHg,0Unsupported XML version. QXmlStreamXML [TJlg W(eNYˆU0)XML declaration not at start of document. QXmlStream(%1  %2 {&TNNLvY˂}P\>0,%1 and %2 match the start and end of a line. QtXmlPatterns%1 q!lS_%1 cannot be retrieved QtXmlPatterns4%1 ST+NW(lBv}x %2 QgN QA1vQk2OMP<0E%1 contains octets which are disallowed in the requested encoding %2. QtXmlPatternsN%1 f/exWaK q!lՏIcbexWaK0q6 IcpSWaK Y %2 f/SLv0s%1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works. QtXmlPatterns%1 f/N Tlv %2%1 is an invalid %2 QtXmlPatterns0%1 f/kchy:_N-N Tlvej0Tlvejg ?%1 is an invalid flag for regular expressions. Valid flags are: QtXmlPatterns%1 f/N TlvT}T zz}W@0%1 is an invalid namespace URI. QtXmlPatterns$%1 f/N Tlvkchy:_j#_%2/%1 is an invalid regular expression pattern: %2 QtXmlPatterns%1 N f/Tlvj#g,j!_T z10$%1 is an invalid template mode name. QtXmlPatterns%1 f/g*wvj_R6WaK0%1 is an unknown schema type. QtXmlPatterns%1 f/P g*e/cv}x0%1 is an unsupported encoding. QtXmlPatterns(%1 N f/Tlv XML 1.0 [WQC0$%1 is not a valid XML 1.0 character. QtXmlPatterns%1 N f/UtcNvTlT z104%1 is not a valid name for a processing-instruction. QtXmlPatterns%1 N f/TlvexP<0"%1 is not a valid numeric literal. QtXmlPatternsH%1 N f/NP TlvUtcNvvjT z10_Řf/ %2 vP< OY %30Z%1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3. QtXmlPatterns"%1 N f/Tlv %2 WaKvP<0#%1 is not a valid value of type %2. QtXmlPatterns%1 N f/RvexP<0$%1 is not a whole number of minutes. QtXmlPatterns(%1 N f/NP SWaK0SIcpSWaK0C%1 is not an atomic type. Casting is only possible to atomic types. QtXmlPatterns2%1 N f/{W Qg\l`'[TJ0laj_R6S/QeRg*e/c0g%1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported. QtXmlPatterns"%1 N f/Tlv %2 WaKvP<0&%1 is not valid as a value of type %2. QtXmlPatterns%1 {&TNcۈL[WQC%1 matches newline characters QtXmlPatterns8%1 _b_Ř߄W %2 b %3 ^SN[WN2v}P\>0J%1 must be followed by %2 or %3, not at the end of the replacement string. QtXmlPatterns6%1 \ %n P Sex Vkd %2 f/N Tlv0=%1 requires at least %n argument(s). %2 is therefore invalid. QtXmlPatterns8%1 gYSg %n P Sex Vkd %2 f/N Tlv09%1 takes at most %n argument(s). %2 is therefore invalid. QtXmlPatterns%1 ]T|S0%1 was called. QtXmlPatterns;N ST+ %1A comment cannot contain %1 QtXmlPatterns;N N %1 PZ}P\>A comment cannot end with a %1. QtXmlPatterns0GR0N^i [斛N SQA1W( XQuery Qg0WaK %1 vP<_ŘST+PvexP ex[W0exP< %2 g*{&TkdhN0PA value of type %1 must contain an even number of digits. The value %2 does not. QtXmlPatternsT p %1 vex][TJ00A variable by name %1 has already been declared. QtXmlPatterns>S@WOMy_Řf/W( %1 R0 %2 {W NKQg0%3 ]Q{W 0HA zone offset must be in the range %1..%2 inclusive. %3 is out of range. QtXmlPatternsN fxvRG{&T0Ambiguous rule match. QtXmlPatterns<\l`' %1 _ŘNTlv %2 pP< %3 f/N Tlv0>An %1-attribute must have a valid %2 as value, which %3 isn't. QtXmlPatterns ][TJ\l`' %1 vP\l`'N PZpeNv[P{0Vkd \l`' %1 vOMnN Ti0dAn attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place. QtXmlPatterns"%2 _Ř\g NP [PQC} %103At least one %1 element must appear as child of %2. QtXmlPatterns*\NP QC} %1 QsW( %2 NKRM0-At least one %1-element must occur before %2. QtXmlPatterns*\NP QC} %1 QsW( %2 NKQg0-At least one %1-element must occur inside %2. QtXmlPatterns_ŘhT\NP }DN0'At least one component must be present. QtXmlPatterns2W(QC} %2 v %1 \l`'N-\c[NP j!_0FAt least one mode must be specified in the %1-attribute on element %2. QtXmlPatterns*W(R{& %1 __Ř\g NP fB}DN0?At least one time component must appear after the %1-delimiter. QtXmlPatterns \l`' %1  %2 _|kdNe0+Attribute %1 and %2 are mutually exclusive. QtXmlPatterns.\l`'QC} %1 q!l^RS VpO\l`' %1 N QsW(QC} %20Sg %3 NSjn\l`'0YAttribute %1 cannot appear on the element %2. Allowed is %3, and the standard attributes. QtXmlPatterns>\l`' %1 N QsW(QC} %20Sg %3 NSjn\l`'0^Attribute %1 cannot appear on the element %2. Only %3 is allowed, and the standard attributes. QtXmlPatterns2\l`' %1 N QsW(QC} %20Sg jn\l`'0VAttribute %1 cannot appear on the element %2. Only the standard attributes can appear. QtXmlPatterns\l`' %1 vPQC} %1 lg \l`' %2 RGN_N g \l`' %3 b %40EIf element %1 has no attribute %2, it cannot have attribute %3 or %4. QtXmlPatternshYg{,NP Sexf/zz^R bf/w^p 0 v[WN2lg T}T zz RGq!lc[RMn[WN20OFf/`c[N %10If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified. QtXmlPatterns,W(|!Svj#_hj!}DN- \l`' %1 _Ř[XW(0@In a simplified stylesheet module, attribute %1 must be present. QtXmlPatternsBW( XSL-T j#_Qg N u( %1 Su( %2 b %30DIn an XSL-T pattern, axis %1 cannot be used, only axis %2 or %3 can. QtXmlPatterns8W( XSL-T j#_Qg Q_ %1 vN g {,N P Sex0>In an XSL-T pattern, function %1 cannot have a third argument. QtXmlPatternsHW( XSL-T j#_Qg Sg Q_ %1 %2 SNu(ek\ 0%3 N L0OIn an XSL-T pattern, only function %1 and %2, not %3, can be used for matching. QtXmlPatternsTW( XSL-T j#_Qg Q_ %1 v{,NP Sex_Řf/e[WbexSÀ NOu(ek\ 0yIn an XSL-T pattern, the first argument to function %1 must be a literal or a variable reference, when used for matching. QtXmlPatternsJW( XSL-T j#_Qg Q_ %1 v{,NP Sex_Řf/[WN2 NOu(ek\ 0hIn an XSL-T pattern, the first argument to function %1 must be a string literal, when used for matching. QtXmlPatterns>W(SN[WN2N- %1 Su(eꎫb %2 v+8 ^ %30MIn the replacement string, %1 can only be used to escape itself or %2, not %3 QtXmlPatterns\WaK %1 NXN %2 b %3kcbq!PY' f/N QA1v0YMultiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed. QtXmlPatternsfB0Network timeout. QtXmlPatternsN IcR0 %1 WaK02No casting is possible with %1 as the target type. QtXmlPatternsST+WaK %1 fBN PZkԏ01No comparisons can be done involving the type %1. QtXmlPatternsDg*e/cYQ_0b@g e/cvT+_SNvcOu( N QH[TJpYQ_0{No external functions are supported. All supported functions can be used directly, without first declaring them as external QtXmlPatternslg T p %1 vQ_0$No function by name %1 is available. QtXmlPatternslg |=zp %1 vQ_SOu(*No function with signature %1 is available QtXmlPatterns RMn[WN2 %1 lg }PTT}T zz-No namespace binding exists for the prefix %1 QtXmlPatterns,W( %2 vRMn[WN2 %1 lg }PTT}T zz3No namespace binding exists for the prefix %1 in %2 QtXmlPatterns(etexdllg KO\\ a %1 SNf/ %21No operand in an integer division, %1, can be %2. QtXmlPatternslg T p %1 vj#g,[XW(0No template by name %1 exists. QtXmlPatterns$T p %1 vY苊exlg Su(vP<0;No value is available for the external variable by name %1. QtXmlPatternslg T p %1 vex[XW(No variable by name %1 exists QtXmlPatterns4g*e/c pragma eX0Vk! _Řg -veX0^None of the pragma expressions are supported. Therefore, a fallback expression must be present QtXmlPatterns"Sg NP %1 [TJSNW(gbN-06Only one %1 declaration can occur in the query prolog. QtXmlPatternsSQsNP QC} %10Only one %1-element can appear. QtXmlPatternsXSe/c Unicode Codepoint Collation%1 0%2 g*e/c0;IOnly the Unicode Codepoint Collation is supported(%1). %2 is unsupported. QtXmlPatterns0Sg RMn[WN2 %1  %2 }PT0SNKNq605Only the prefix %1 can be bound to %2 and vice versa. QtXmlPatterns6dO\QC %1 N u(eWaK %2  %3 vSexP<0>Operator %1 cannot be used on atomic values of type %2 and %3. QtXmlPatterns"dO\QC %1 N u(eWaK %20&Operator %1 cannot be used on type %2. QtXmlPatterns6dO\QC %1 N u(eWaK %2  %3 vSexP<0EOperator %1 is not available between atomic values of type %2 and %3. QtXmlPatternsnOMq!lՈhy:eg %10"Overflow: Can't represent date %1. QtXmlPatternsnOMq!lՈhy:eg0$Overflow: Date can't be represented. QtXmlPatternsRVg/%1Parse error: %1 QtXmlPatternsW(zznull vT}T zz N f/P %1 W( XSL-T T}T zz0iXSL-T attributes on XSL-T elements must be in the null namespace, not in the XSL-T namespace which %1 is. QtXmlPatterns,^tN %1 N Tl Vpf/_ %2 Yv0-Year %1 is invalid because it begins with %2. QtXmlPatternszzv}empty QtXmlPatternsR[Y}NP  exactly one QtXmlPatternsNP NN  one or more QtXmlPatterns 0 P NN  zero or more QtXmlPatterns0 b 1 P  zero or one QtXmlPatterns\Muted VolumeSlider %1% Volume: %1% VolumeSliderffDiaporama/locale/qt_ru.qm0000777000175000001440000106315412275647352016166 0ustar dominiqueusersJIJ!eJ! JgK:LD"L"PS&?RT;Zr=[[`[`\A\J_C_P71E7a11.9w$($Z[,y yKU:1 9EELEѼ"0M%;% #֍֍~֍ ֍5$(0JC00e0}0$05%F  D D+-?,I,Mfdfffi fzfg߷l5r8D9`:;BQB4`;`ȕy5=4deDceeįįV _@] yE W~Q^QWwAQ%(Ht03k!nrvS$j$s&S.1i(2Q(4Q(4(4'5(5(5*yJ*yT*y*T*0X|*0Z+Fd+FҲ+LЋ+f6a+f+zb+K +Tp++zc+6++#++eG+/+įKV+įT+įI+c334r77:9;=;%@BjHC:C:{F0iCFn47Fn4G+H/!Hw9IHw9eH_I'I\I`IJ+KJ+J6LHJ6dUJ6J6J6eJ6hJ6J6|J6 J6 J6J6ӼJcbLJKQK TL "ZL*N1LZ"L4NLdLb;LM5MbMeM4M~dYM?NNBO|cPFENPFEgPFEfPC:Q RR|R̼=RSS8^T^T2Tʴ1HTF+U?^_U|U}0V1ӗV1Vl>VV4VhV5/VVmVE5W]W?WWTWTWT6X~X97XXX˙X8 Y/YYgY:Y}Z+:kZg:ZkZZ ([;^X[=w[f3?[f3p\\]4\]4H\]4w0\\\\@at<gclGt>w|^T|^|F|ANcZQvvS f'V)CBMdW^A4L5 .%6CZdIAF=[UŮDgt+BI/É?y XtD\D%2/Rnɵnhɵn>JɵnDɵn\ɵnɵnɵnɵnɵnmuY*Q B& BvfB*T^'6nUM1uKlN{)a.qpTP۔ Ɠ>H_sbBq8,,ɤW>$<ߕp855v#Qt%UT%UTy5(Ŏ*4-cte`-ctf.2ƭ385v(g CjRllr7l2Ol2UooR]orpEypN0'u&Sv̲{v̲|;w^~Ux |{yi@cGNFI24I&8uW 2h2/{'.RAi_PL0\v=N0 dٸyl,T -tɷVʯ_ez;Wy#^6J$urEt.8@ Ƕ0QTV߮~SIRTQH  ~6 Yd9 $W!g)"l&Xd )\-(./=N?/Xt|0̩1$<1$uz5~#:sM< J<3 =Cy>?2`?N~@V AB!!FR MNkyUiBW~u]E`i`jtlglyzK+l} oi9vtyf vty .$1!l%"M<,; 9Y4}kaK}|R>~~q$_Y;yk:VK&*$U$M0g+(A,.ʁ_r^K2L֊duSXހ.? n_,@nZh>\vqBP;y¢ω#aeO^-wI+AR- nR7^0@n'H=&H?&mK,n."/?@4r8wN?+CIxSalJKL rM?O*R.|R>0XE%uYM"YM-^tJdKh^QiVnQnѾnXr?;sscs4w H#xB/^2,"%NJۊcat;TN_] ]&I9@IIcIIIIDILIN1I( ZQI*4Y*vi*y*),)n))((I,+~+,,D+<uD&uD26DLo+,4,U4,,!,N,0]C>_`FڥrNsLLjVdJ.N_>q.oɘe#˓5$@  468fR=fRG>* Z{<U;_9N$-6cTpS^Pq)V1V$fRh|T4y&fOl3 h   Q MQ#-%pMQF <bb l(Z"o$7$ق%CQ&~F&!)2N)!5+Ѐ,53 05-8.0;_h?"^?>u?%7FuKNLK-MN>RU5V|]=i]Ce$g^4@k5\y^N({yʹw?ʎJik5t7h5tF7:ΞG% n)Wngn~صPǥ 9z+9+M+DU`ǁnt7{yT>Ւ ;#/xAWrU9\r<sQEϾ'6N!%`%*cH:{=?zC-d53UüNELC^2ƨ4ƨP˾D?hoҝz=0Ұofل*)5iT[է?O؊=v؊=Z>Li}BOzqܓ7jܳZߺfサf<f~tT롥[` Nv}mg^! -dDDy   , ,$ba~bv~b6o?)iMLt `!BA%??<'(])ўv]+u04+3K,8//,/01p4~6 9>8<dB? 2nAB>NDERFgG!GbLAUOrEPѧQ1 RC%SnTU3UHUUxUT<^YĻZ`[[ф]k*:]<^n_PC{_P_p`u>d`*d`Ҕe=i'i2kQm?$oNxy;]{{Mb}u4}w}wD}w"}bϩhs1 p~ jz~ ~r~ëlLIirM'{p~ z~ ~~BQvtlt>Yd&..D3"PiU>uk#z5DxYW^otYt.tftt)-nl_ 4Ga+Usz:ȄəFaCʢkDʢʬƴhdl1daqd>dd0 59AgэiDf+8L{NS`㵾 uWOzTkCyJU5UdTVeLBhwO 2,%6n #- A y!]+4,D~/ 2j3?42"5@h6(7D9!:E:%T?;rCU][CU>~DޢE[zGmIN(\J0JK@KQ~cU|[V7fW<\ے\DGare nlig*.M$ld 8n8_6p&t@Ew>y' |(^||}wZQ}$b}$Dc}$~9<4DϗӹZJ~]@VNwxD7L>{t9KNqiLiZSnj-ni=K<pf+E.˜·e·· ýB׳Y:NB:nΆT~< $nc/0fCuLnk-nje= !t;mҙU iNf7iE x~$ȥ-NvON-u9s%5TM} e~rvi~7WԆ&гb Ai9%<wcb !D# #%% %d"r'-.۲.5kEm=g=b=?V?[@T\CtI Efe4NP1PgV%*IV%+XU  7ZZ`awbD=bGNfdfpgAFhIi$=knx1 z*2u||QRd~J` +U%c0(.\zc.54C5P^Bug)rZXm!p^e˜nH]73b†5?iC+q~͝U$ʴ5eʴ5ʶg= ϡ$aы#*DU^ :Ԅm۔#D'NdHAF5NF5fZY_p9R+>4NtIY WuK WMNr `B b* bb b` b`m d gUYy i3U kkw la}j lf ln ok qv qvڲ qz@ tN u՘ xq |oa |# |{ ͧ JF tA t Y .   7 )a F>n    le̢ Yv  u JG  v B ҉ 4 h ( > >qI < Uc k % c E `" W nZx Nм o V % u" x Y+a Y> 0 KL  팤 E l~. %'n MN 5 , t /Y C' K| =, q3  D P } 9! oE Ą  d #* )C */< +u .>Z 5 74 7uݛ ;P jxE $N+7 # IX I_ I ;E~ 0 a  r f jVV I( !{ 'W  J; $e $d %p\D ,5 ,1 =} ]w 9 | N4, t `5 Sd naP ! pm zn BU v>f h v" :b f 8@ f X 4@ T .  )& s; s ~ AA( 9( 1u u 9d 05 r! J m,D 5 !t #-t #-t}n ' < 0N^> 5J :  AQ CUY E9AQ I& L LV LX Lи Mc\r OO O P..q/ R SB VG+ W/ X\f Z2 \Ot ]$iS `. c f)8 f) f= io>F j l#88 m`Q n|n w@ xR o yrL {n >~# $  H6 H G [ a n7[ $ .@? y G i <P <3  L Uf e | zdL % J;P J   ] t.% k ӇLz  M1 J N>OA / ̺ C & w -D!. .S/ x ۷| rf kS k" % U)3# } <Os f^   03B '  : $r8  z+  &  1  I * 9NV % `& N 3 Lz s xH7 [ Iu  !pz $ %6bJ )Ε .a 2 7F <y =ю >)_ >* >,R >78 >H >S > ># >hx >k< >$ ?t| A^ DT3@ Fn G(a I]8 Ia- J> Ka K L² Mb: P@ QTV RV RVe RVi Rnn S.N\ SG S T~ Ya Yhe [ hۮI j7o_ m( pb4 sL! v 5 BE, 8 Th~ T]H T2 TD  F` j  =  G ,' ,0 S )d )d~" TY R .h .> .^ . . .T . .ne )  K >  a az P yO  q e.3C x0 C '[ N   hN ɾd%2 ɾd't e ̈́^s >i ҂2 Ӵ ء{ ߢ.Ij  >] %W u t h ' |[  b#. H Xtv n 9 )}} t} L aT /i .}s # :b3 Uq ~ [ ʜ`\ f f f $Z 3p    $ n  R #$ #=] %nA '.w (I$E (NS +>cc +k 0El 64v ;ɾ Cn Fg? K9 Ptf Pt, R"y S,= T> ci dB fe  fe g  g hQ$. iFC#] i i# jNu jx jӮ0 kGn l"F m9u m9 Y n% s'~ u4n u3 uS v  v& v{ 6 w wC wI w} w}D" w} yn |[  uB #~ .; < hB J9 b " | ^} %' z F ] }R R %7i Pˣ  xN "6# UX? ɰe Fް ri ְj  X>e bi Y &% xXi D?  + t5f t5 5r  ?Hq > g~ ԝ )3 -k P$aROw2>Y< @aG |T[G,~ (6^o<]ngT[v! !a&-M*X*+%/EZ2/Es/Ew4Qt$7SjIEI_4"K NOOY S5XRuIX*Zo[ [ ha.a.$a%!gcFi$"nyGsWv6_v<_)vɅEMy$y?."H~6>%+9>; =Q4x}N 9N9'24ed~SHdN1_^5Ǘp:Z5DBWezS5ʖL3Ӯ`obӮ`Ӯ`A~3  orUݖmU$ߍ[y_4^GrFjKj  % .|R 9  GlDVJKi"#X"#p^$UC%4%4X'w7,-b-v0i)/00 1c51cxz2wT.^>kDRF74UGMHCiJd5JmKJL$.RlUW5[{*Lb4rc50c5cg3=iC[iTKlpqiikv)ǛyCS{`f@{~a,~516$TVi&&DDD,E`k{``nYΙ[>l)'nͣ5|: t>bN| Ew"~gdTLprZr-1gky֠ U ڔ.l"H'T/344Lnc>BPˇjUt2^\Yeamtd`Ui 0:@KBL 2:;04:C Close Tab CloseButton<=5>?@545;5=>> Debugger::JSAgentWatchData([0AA82 @07<5@>< %1][Array of length %1]Debugger::JSAgentWatchData"$8:B82=0O >H81:0! Fake error! FakeReply,5:>@@5:B=K9 04@5A URL Invalid URL FakeReply ?@>3@0<<5 %1About %1MAC_APPLICATION_MENU!:@KBL %1Hide %1MAC_APPLICATION_MENU !:@KBL >AB0;L=K5 Hide OthersMAC_APPLICATION_MENU0AB@>9:8 &Preferences...MAC_APPLICATION_MENU025@H8BL %1Quit %1MAC_APPLICATION_MENU !;C61KServicesMAC_APPLICATION_MENU>:070BL 2A5Show AllMAC_APPLICATION_MENU.!?5F80;L=K5 2>7<>6=>AB8 AccessibilityPhonon::1I5=85 CommunicationPhonon::3@KGamesPhonon:: C7K:0MusicPhonon::#254><;5=8O NotificationsPhonon:: 845>VideoPhonon::<html>5@5:;NG5=85 =0 CAB@>9AB2> 2K2>40 72C:0 <b>%1</b><br/>, :>B>@>5 8<55B 2KAH89 ?@8>@8B5B 8;8 =0AB@>5=> 4;O >1@01>B:8 40==>3> ?>B>:0.</html>Switching to the audio playback device %1
which has higher preference or is specifically configured for this stream.Phonon::AudioOutput<html>5@5:;NG5=85 =0 72C:>2>5 CAB@>9AB2> <b>%1</b><br/>, :>B>@>5 AB0;> 4>ABC?=> 8 8<55B 2KAH89 ?@8>@8B5B.</html>xSwitching to the audio playback device %1
which just became available and has higher preference.Phonon::AudioOutput<html>2C:>2>5 CAB@>9AB2> <b>%1</b> =5 @01>B05B.<br/>C45B 8A?>;L7>20BLAO <b>%2</b>.</html>^The audio playback device %1 does not work.
Falling back to %2.Phonon::AudioOutput:>72@0I5=85 : CAB@>9AB2C %1Revert back to device '%1'Phonon::AudioOutput=8<0=85: >E>65, >A=>2=>9 <>4C;L GStreamer =5 CAB0=>2;5=. >445@6:0 2845> 8 0C48> >B:;NG5=0~Warning: You do not seem to have the base GStreamer plugins installed. All audio and video support has been disabledPhonon::Gstreamer::Backend=8<0=85: >E>65, ?0:5B gstreamer0.10-plugins-good =5 CAB0=>2;5=. 5:>B>@K5 2>7<>6=>AB8 2>A?@>872545=8O 2845> =54>ABC?=K.Warning: You do not seem to have the package gstreamer0.10-plugins-good installed. Some video features have been disabled.Phonon::Gstreamer::BackendBACBAB2C5B =5>1E>48<K9 :>45:. 0< =C6=> CAB0=>28BL A;54CNI85 :>45:8 4;O 2>A?@>872545=8O 40==>3> A>45@68<>3>: %0`A required codec is missing. You need to install the following codec(s) to play this content: %0Phonon::Gstreamer::MediaObject52>7<>6=> =0G0BL 2>A?@>872545=85. @>25@LB5 ?@028;L=>ABL CAB0=>2:8 GStreamer 8 C1548B5AL, GB> ?0:5B libgstreamer-plugins-base CAB0=>2;5=.wCannot start playback. Check your GStreamer installation and make sure you have libgstreamer-plugins-base installed.Phonon::Gstreamer::MediaObject\5 C40;>AL 45:>48@>20BL 8AB>G=8: <5480-40==KE.Could not decode media source.Phonon::Gstreamer::MediaObjectN5 C40;>AL =09B8 8AB>G=8: <5480-40==KE.Could not locate media source.Phonon::Gstreamer::MediaObject5 C40;>AL >B:@KBL 72C:>2>5 CAB@>9AB2>. #AB@>9AB2> C65 8A?>;L7C5BAO.:Could not open audio device. The device is already in use.Phonon::Gstreamer::MediaObjectR5 C40;>AL >B:@KBL 8AB>G=8: <5480-40==KE.Could not open media source.Phonon::Gstreamer::MediaObjectP5:>@@5:B=K9 B8? 8AB>G=8:0 <5480-40==KE.Invalid source type.Phonon::Gstreamer::MediaObjectLBACBAB2C5B AF5=0@89 CAB0=>2:8 :>45:0.&Missing codec helper script assistant.Phonon::Gstreamer::MediaObjectN5 C40;>AL CAB0=>28BL <>4C;L :>45:0: %0.Plugin codec installation failed for codec: %0Phonon::Gstreamer::MediaObject>ABC? 70?@5IQ= Access denied Phonon::MMF#65 ACI5AB2C5BAlready exists Phonon::MMF*>A?@>872545=85 72C:0 Audio Output Phonon::MMFtC48>- 8;8 2845>-A>AB>2;ONI0O =5 <>65B 1KBL 2>A?@>872545=0-Audio or video components could not be played Phonon::MMF8H81:0 2>A?@>872545=8O 72C:0Audio output error Phonon::MMF@5 C40;>AL CAB0=>28BL A>548=5=85Could not connect Phonon::MMFH81:0 DRM DRM error Phonon::MMF(H81:0 45:>48@>20=8O Decoder error Phonon::MMF(!>548=5=85 @07>@20=> Disconnected Phonon::MMFA?>;L7C5BAOIn use Phonon::MMFL54>AB0B>G=0O A:>@>ABL ?5@540G8 40==KEInsufficient bandwidth Phonon::MMF,5:>@@5:B=K9 04@5A URL Invalid URL Phonon::MMF*5:>@@5:B=K9 ?@>B>:>;Invalid protocol Phonon::MMFBH81:0 H8@>:>25I0B5;L=>9 ?5@540G8Multicast error Phonon::MMF<H81:0 A5B52>3> >1<5=0 40==K<8Network communication error Phonon::MMF!5BL =54>ABC?=0Network unavailable Phonon::MMF5B >H81:8No error Phonon::MMF5 =0945=> Not found Phonon::MMF5 3>B>2> Not ready Phonon::MMF"5 ?>445@68205BAO Not supported Phonon::MMF*54>AB0B>G=> @5AC@A>2 Out of memory Phonon::MMF5@5?>;=5=85Overflow Phonon::MMFCBL =5 =0945=Path not found Phonon::MMF>ABC? 70?@5IQ=Permission denied Phonon::MMF*H81:0 ?@>:A8-A5@25@0Proxy server error Phonon::MMF>@>:A8-A5@25@ =5 ?>445@68205BAOProxy server not supported Phonon::MMF!83=0; A5@25@0 Server alert Phonon::MMFV>B>:>2>5 2>A?@>872545=85 =5 ?>445@68205BAOStreaming not supported Phonon::MMF@#AB@>9AB2> 2>A?@>872545=8O 72C:0The audio output device Phonon::MMF865 3@0=8FK Underflow Phonon::MMF.58725AB=0O >H81:0 (%1)Unknown error (%1) Phonon::MMF8H81:0 2>A?@>872545=8O 2845>Video output error Phonon::MMFH81:0 703@C7:8Download error Phonon::MMF::AbstractMediaPlayer4H81:0 >B:@KB8O 04@5A0 URLError opening URL Phonon::MMF::AbstractMediaPlayer*H81:0 >B:@KB8O D09;0Error opening file Phonon::MMF::AbstractMediaPlayer.H81:0 >B:@KB8O @5AC@A0Error opening resource Phonon::MMF::AbstractMediaPlayer^H81:0 >B:@KB8O 8AB>G=8:0: @5AC@A =5 1K; >B:@KB)Error opening source: resource not opened Phonon::MMF::AbstractMediaPlayer25 C40;>AL 703@C78BL :;8?Loading clip failed Phonon::MMF::AbstractMediaPlayer45 3>B>2 : 2>A?@>872545=8NNot ready to play Phonon::MMF::AbstractMediaPlayer2>A?@>872545=85 7025@H5=>Playback complete Phonon::MMF::AbstractMediaPlayerN5 C40;>AL CAB0=>28BL C@>25=L 3@><:>AB8Setting volume failed Phonon::MMF::AbstractMediaPlayer65 C40;>AL ?>;CG8BL ?>78F8NGetting position failed Phonon::MMF::AbstractVideoPlayer.5 C40;>AL >B:@KBL :;8?Opening clip failed Phonon::MMF::AbstractVideoPlayerP5 C40;>AL ?@8>AB0=>28BL 2>A?@>872545=85 Pause failed Phonon::MMF::AbstractVideoPlayer:5 C40;>AL CAB0=>28BL ?>78F8N Seek failed Phonon::MMF::AbstractVideoPlayer %1 F%1 HzPhonon::MMF::AudioEqualizer65 C40;>AL ?>;CG8BL ?>78F8NGetting position failedPhonon::MMF::AudioPlayer0H81:0 >B>1@065=8O 2845>Video display errorPhonon::MMF::DsaVideoPlayer:;NG5=>EnabledPhonon::MMF::EffectFactory8>MDD8F85=B 70BCE0=8O ' (%)Decay HF ratio (%) Phonon::MMF::EnvironmentalReverb(@5<O 70BCE0=8O (<A)Decay time (ms) Phonon::MMF::EnvironmentalReverb;>B=>ABL (%) Density (%) Phonon::MMF::EnvironmentalReverb 0AA5820=85 (%) Diffusion (%) Phonon::MMF::EnvironmentalReverb00BCE0=85 >B@065=89 (<A)Reflections delay (ms) Phonon::MMF::EnvironmentalReverb0#@>25=L >B@065=89 (<0@)Reflections level (mB) Phonon::MMF::EnvironmentalReverb"045@6:0 ME0 (<A)Reverb delay (ms) Phonon::MMF::EnvironmentalReverb$#@>25=L ME0 (<0@)Reverb level (mB) Phonon::MMF::EnvironmentalReverb(#@>25=L ' >B@065=89 Room HF level Phonon::MMF::EnvironmentalReverb0#@>25=L >B@065=89 (<0@)Room level (mB) Phonon::MMF::EnvironmentalReverbH81:0 >B:@KB8O 8AB>G=8:0: =5 C40;>AL >?@545;8BL B8? <5480-40==KE8Error opening source: media type could not be determinedPhonon::MMF::MediaObjectPH81:0 >B:@KB8O 8AB>G=8:0: A60BK9 @5AC@A,Error opening source: resource is compressedPhonon::MMF::MediaObject\H81:0 >B:@KB8O 8AB>G=8:0: =5:>@@5:B=K9 @5AC@A(Error opening source: resource not validPhonon::MMF::MediaObject`H81:0 >B:@KB8O 8AB>G=8:0: B8? =5 ?>445@68205BAO(Error opening source: type not supportedPhonon::MMF::MediaObjectR5 C40;>AL 7040BL C:070==CN B>G:C 4>ABC?0Failed to set requested IAPPhonon::MMF::MediaObject#@>25=L (%) Level (%)Phonon::MMF::StereoWidening0H81:0 >B>1@065=8O 2845>Video display errorPhonon::MMF::SurfaceVideoPlayer57 72C:0MutedPhonon::VolumeSliderA?>;L7C9B5 40==K9 @53C;OB>@ 4;O =0AB@>9:8 3@><:>AB8. @09=55 ;52>5 ?>;>65=85 A>>B25BAB2C5B 0%, :@09=55 ?@02>5 - %1%WUse this slider to adjust the volume. The leftmost position is 0%. The rightmost is %1%Phonon::VolumeSlider@><:>ABL: %1% Volume: %1%Phonon::VolumeSlider&%1, %2 =5 >?@545;Q=%1, %2 not definedQ3AccelR5>4=>7=0G=0O :><18=0F8O %1 =5 >1@01>B0=0Ambiguous %1 not handledQ3Accel#40;8BLDelete Q3DataTable5BFalse Q3DataTableAB028BLInsert Q3DataTable0True Q3DataTable1=>28BLUpdate Q3DataTablez%1 $09; =5 =0945=. @>25@LB5 ?@028;L=>ABL ?CB8 8 8<5=8 D09;0.+%1 File not found. Check path and filename. Q3FileDialog&#40;8BL&Delete Q3FileDialog&5B&No Q3FileDialog&&OK Q3FileDialog&B:@KBL&Open Q3FileDialog&5@58<5=>20BL&Rename Q3FileDialog&!>E@0=8BL&Save Q3FileDialog"&5 C?>@O4>G820BL &Unsorted Q3FileDialog&0&Yes Q3FileDialogb<qt>K 459AB28B5;L=> E>B8B5 C40;8BL %1 %2?</qt>1Are you sure you wish to delete %1 "%2"? Q3FileDialogA5 D09;K (*) All Files (*) Q3FileDialogA5 D09;K (*.*)All Files (*.*) Q3FileDialogB@81CBK Attributes Q3FileDialog 0704Back Q3FileDialog B<5=0Cancel Q3FileDialog>>?8@>20BL 8;8 ?5@5<5AB8BL D09;Copy or Move a File Q3FileDialog!>740BL ?0?:CCreate New Folder Q3FileDialog0B0Date Q3FileDialog#40;8BL %1 Delete %1 Q3FileDialog>4@>1=K9 284 Detail View Q3FileDialog0B0;>3Dir Q3FileDialog0B0;>38 Directories Q3FileDialog0B0;>3: Directory: Q3FileDialog H81:0Error Q3FileDialog$09;File Q3FileDialog&<O D09;0: File &name: Q3FileDialog&"8? D09;0: File &type: Q3FileDialog09B8 :0B0;>3Find Directory Q3FileDialog5B 4>ABC?0 Inaccessible Q3FileDialog !?8A>: List View Q3FileDialog&0?:0: Look &in: Q3FileDialog<OName Q3FileDialog>20O ?0?:0 New Folder Q3FileDialog>20O ?0?:0 %1 New Folder %1 Q3FileDialog>20O ?0?:0 1 New Folder 1 Q3FileDialog*25@E =0 >48= C@>25=LOne directory up Q3FileDialogB:@KBLOpen Q3FileDialogB:@KBL Open  Q3FileDialog<@54?@>A<>B@ A>45@68<>3> D09;0Preview File Contents Q3FileDialog>@54?@>A<>B@ 8=D>@<0F88 > D09;5Preview File Info Q3FileDialog&1=>28BLR&eload Q3FileDialog">;L:> GB5=85 Read-only Q3FileDialog'B5=85 8 70?8AL Read-write Q3FileDialog'B5=85: %1Read: %1 Q3FileDialog!>E@0=8BL :0:Save As Q3FileDialogK1@0BL :0B0;>3Select a Directory Q3FileDialog.>:070BL A:&@KBK5 D09;KShow &hidden files Q3FileDialog  07<5@Size Q3FileDialog#?>@O4>G8BLSort Q3FileDialog> &40B5 Sort by &Date Q3FileDialog> &8<5=8 Sort by &Name Q3FileDialog> &@07<5@C Sort by &Size Q3FileDialog!?5FD09;Special Q3FileDialog"!AK;:0 =0 :0B0;>3Symlink to Directory Q3FileDialog!AK;:0 =0 D09;Symlink to File Q3FileDialog$!AK;:0 =0 A?5FD09;Symlink to Special Q3FileDialog"8?Type Q3FileDialog">;L:> 70?8AL Write-only Q3FileDialog0?8AL: %1 Write: %1 Q3FileDialog:0B0;>3 the directory Q3FileDialogD09;the file Q3FileDialog AAK;:C the symlink Q3FileDialog:5 C40;>AL A>740BL :0B0;>3 %1Could not create directory %1 Q3LocalFs*5 C40;>AL >B:@KBL %1Could not open %1 Q3LocalFs>5 C40;>AL ?@>G8B0BL :0B0;>3 %1Could not read directory %1 Q3LocalFsL5 C40;>AL C40;8BL D09; 8;8 :0B0;>3 %1%Could not remove file or directory %1 Q3LocalFs@5 C40;>AL ?5@58<5=>20BL %1 2 %2Could not rename %1 to %2 Q3LocalFs,5 C40;>AL 70?8A0BL %1Could not write %1 Q3LocalFs0AB@>8BL... Customize... Q3MainWindowK@>2=OBLLine up Q3MainWindowD?5@0F8O >AB0=>2;5=0 ?>;L7>20B5;5<Operation stopped by the userQ3NetworkProtocol B<5=0CancelQ3ProgressDialog@8<5=8BLApply Q3TabDialog B<5=0Cancel Q3TabDialog> C<>;G0=8NDefaults Q3TabDialog!?@02:0Help Q3TabDialogOK Q3TabDialog&>?8@>20BL&Copy Q3TextEdit&AB028BL&Paste Q3TextEdit&&>2B>@8BL 459AB285&Redo Q3TextEdit$&B<5=8BL 459AB285&Undo Q3TextEditG8AB8BLClear Q3TextEdit&K@570BLCu&t Q3TextEditK45;8BL 2AQ Select All Q3TextEdit0:@KBLClose Q3TitleBarK:@K205B >:=>Closes the window Q3TitleBarB!>45@68B :><0=4K C?@02;5=8O >:=><*Contains commands to manipulate the window Q3TitleBarrB>1@0605B =0720=85 >:=0 8 A>45@68B :><0=4K C?@02;5=8O 8<FDisplays the name of the window and contains controls to manipulate it Q3TitleBar@ 072>@0G8205B >:=> =0 25AL M:@0=Makes the window full screen Q3TitleBar 0A?0E=CBLMaximize Q3TitleBar!25@=CBLMinimize Q3TitleBar !2>@0G8205B >:=>Moves the window out of the way Q3TitleBard>72@0I05B @0A?0E=CB>5 >:=> 2 =>@<0;L=>5 A>AB>O=85&Puts a maximized window back to normal Q3TitleBar`>72@0I05B A2Q@=CB>5 >:=> 2 =>@<0;L=>5 A>AB>O=85&Puts a minimized window back to normal Q3TitleBar>AAB0=>28BL Restore down Q3TitleBar>AAB0=>28BL Restore up Q3TitleBar!8AB5<=>5 <5=NSystem Q3TitleBar>;LH5...More... Q3ToolBar(=58725AB=>) (unknown) Q3UrlOperator@>B>:>; %1 =5 ?>445@68205B :>?8@>20=85 8;8 ?5@5<5I5=85 D09;>2 8;8 :0B0;>3>2IThe protocol `%1' does not support copying or moving files or directories Q3UrlOperator`@>B>:>; %1 =5 ?>445@68205B A>740=85 :0B0;>3>2;The protocol `%1' does not support creating new directories Q3UrlOperatorZ@>B>:>; %1 =5 ?>445@68205B ?5@540GC D09;>20The protocol `%1' does not support getting files Q3UrlOperator`@>B>:>; %1 =5 ?>445@68205B ?@>A<>B@ :0B0;>3>26The protocol `%1' does not support listing directories Q3UrlOperatorZ@>B>:>; %1 =5 ?>445@68205B >B?@02:C D09;>20The protocol `%1' does not support putting files Q3UrlOperatorv@>B>:>; %1 =5 ?>445@68205B C40;5=85 D09;>2 8;8 :0B0;>3>2@The protocol `%1' does not support removing files or directories Q3UrlOperator@>B>:>; %1 =5 ?>445@68205B ?5@58<5=>20=85 D09;>2 8;8 :0B0;>3>2@The protocol `%1' does not support renaming files or directories Q3UrlOperator>@>B>:>; %1 =5 ?>445@68205BAO"The protocol `%1' is not supported Q3UrlOperatorB&<5=0&CancelQ3Wizard&025@H8BL&FinishQ3Wizard&!?@02:0&HelpQ3Wizard&0;55 >&Next >Q3Wizard< &0704< &BackQ3Wizard*B:070=> 2 A>548=5=88Connection refusedQAbstractSocket6@5<O =0 A>548=5=85 8AB5:;>Connection timed outQAbstractSocket#75; =5 =0945=Host not foundQAbstractSocket!5BL =54>ABC?=0Network unreachableQAbstractSocketH?5@0F8O A A>:5B>< =5 ?>445@68205BAO$Operation on socket is not supportedQAbstractSocket$!>:5B =5 ?>4:;NGQ=Socket is not connectedQAbstractSocketF@5<O =0 >?5@0F8N A A>:5B>< 8AB5:;>Socket operation timed outQAbstractSocket&K45;8BL 2AQ &Select AllQAbstractSpinBox(03 22&5@E&Step upQAbstractSpinBox(03 2=&87 Step &downQAbstractSpinBox:;NG8BLCheckQAccessibleButton 060BLPressQAccessibleButtonK:;NG8BLUncheckQAccessibleButton:B828@>20BLActivate QApplicationB:B828@C5B 3;02=>5 >:=> ?@>3@0<<K#Activates the program's main window QApplicationr@>3@0<<=K9 <>4C;L %1 B@51C5B Qt %2, =0945=0 25@A8O %3.,Executable '%1' requires Qt %2, found Qt %3. QApplicationDH81:0 A>2<5AB8<>AB8 181;8>B5:8 QtIncompatible Qt Library Error QApplicationLTRQT_LAYOUT_DIRECTION QApplicationB&<5=0&Cancel QAxSelect&1J5:B COM: COM &Object: QAxSelectK1@0BLOK QAxSelect0K1>@ :><?>=5=BK ActiveXSelect ActiveX Control QAxSelectB<5B8BLCheck QCheckBox5@5:;NG8BLToggle QCheckBox!=OBL >B<5B:CUncheck QCheckBoxF&>1028BL : ?>;L7>20B5;LA:8< F25B0<&Add to Custom Colors QColorDialog&A=>2=K5 F25B0 &Basic colors QColorDialog.&>;L7>20B5;LA:85 F25B0&Custom colors QColorDialog&5;Q=K9:&Green: QColorDialog&@0A=K9:&Red: QColorDialog &0A:&Sat: QColorDialog &/@::&Val: QColorDialog&;LD0-:0=0;:A&lpha channel: QColorDialog!&8=89:Bl&ue: QColorDialog &">=:Hu&e: QColorDialogK1>@ F25B0 Select Color QColorDialog0:@KBLClose QComboBox5BFalse QComboBoxB:@KBLOpen QComboBox0True QComboBox$%1: C65 ACI5AB2C5B%1: already existsQCoreApplication"%1: =5 ACI5AB2C5B%1: does not existQCoreApplication%1: >H81:0 ftok%1: ftok failedQCoreApplication%1: ?CAB>9 :;NG%1: key is emptyQCoreApplication2%1: =54>AB0B>G=> @5AC@A>2%1: out of resourcesQCoreApplication&%1: 4>ABC? 70?@5IQ=%1: permission deniedQCoreApplication6%1: =52>7<>6=> A>740BL :;NG%1: unable to make keyQCoreApplication2%1: =58725AB=0O >H81:0 %2%1: unknown error %2QCoreApplication>52>7<>6=> 7025@H8BL B@0=70:F8NUnable to commit transaction QDB2Driver,52>7<>6=> A>548=8BLAOUnable to connect QDB2Driver<52>7<>6=> >B:0B8BL B@0=70:F8NUnable to rollback transaction QDB2Driver^52>7<>6=> CAB0=>28BL 02B>7025@H5=85 B@0=70:F89Unable to set autocommit QDB2Driver:52>7<>6=> ?@82O70BL 7=0G5=85Unable to bind variable QDB2Result<52>7<>6=> 2K?>;=8BL 2K@065=85Unable to execute statement QDB2ResultB52>7<>6=> ?>;CG8BL ?5@2CN AB@>:CUnable to fetch first QDB2ResultH52>7<>6=> ?>;CG8BL A;54CNICN AB@>:CUnable to fetch next QDB2Result:52>7<>6=> ?>;CG8BL 70?8AL %1Unable to fetch record %1 QDB2Result@52>7<>6=> ?>43>B>28BL 2K@065=85Unable to prepare statement QDB2ResultAMAM QDateTimeEditPMPM QDateTimeEditamam QDateTimeEditpmpm QDateTimeEditBAnimation - MB> 01AB@0:B=K9 :;0AAAnimation is an abstract classQDeclarativeAbstractAnimationf52>7<>6=> 0=8<8@>20BL =5ACI5AB2C5I55 A2>9AB2> %1)Cannot animate non-existent property "%1"QDeclarativeAbstractAnimationl52>7<>6=> 0=8<8@>20BL A2>9AB2> B>;L:> 4;O GB5=8O %1&Cannot animate read-only property "%1"QDeclarativeAbstractAnimationL52>7<>6=> CAB0=>28BL 4;8B5;L=>ABL < 0Cannot set a duration of < 0QDeclarativeAnchorAnimation52>7<>6=> 8A?>;L7>20BL 107>2CN ?@82O7:C 2<5AB5 A 25@E=59, =86=59 8 F5=B@0;L=>9 ?> 25@B8:0;8.SBaseline anchor cannot be used in conjunction with top, bottom, or vcenter anchors.QDeclarativeAnchorsr52>7<>6=> ?@82O70BL 3>@87>=B0;L=K9 :@09 : 25@B8:0;L=><C.3Cannot anchor a horizontal edge to a vertical edge.QDeclarativeAnchorsr52>7<>6=> ?@82O70BL 25@B8:0;L=K9 :@09 : 3>@87>=B0;L=><C.3Cannot anchor a vertical edge to a horizontal edge.QDeclarativeAnchorsV52>7<>6=> ?@82O70BL M;5<5=B : A0<><C A515.Cannot anchor item to self.QDeclarativeAnchorsV52>7<>6=> ?@82O70BLAO : =C;52><C M;5<5=BC.Cannot anchor to a null item.QDeclarativeAnchors52>7<>6=> CAB0=>28BL ?@82O7:C : M;5<5=BC, =5 O2;ONI5<CAO @>48B5;5< 8;8 A>A54><.8Cannot anchor to an item that isn't a parent or sibling.QDeclarativeAnchorsf52>7<>6=> 7040BL ;52CN, ?@02CN 8 A@54=NN ?@82O7:8.0Cannot specify left, right, and hcenter anchors.QDeclarativeAnchorsj52>7<>6=> 7040BL 25@E=NN, =86=NN 8 A@54=NN ?@82O7:8.0Cannot specify top, bottom, and vcenter anchors.QDeclarativeAnchorsh1=0@C65=0 2>7<>6=0O F8:;8G=0O ?@82O7:0 =0 centerIn.*Possible anchor loop detected on centerIn.QDeclarativeAnchors`1=0@C65=0 2>7<>6=0O F8:;8G=0O ?@82O7:0 =0 fill.&Possible anchor loop detected on fill.QDeclarativeAnchors1=0@C65=0 2>7<>6=0O F8:;8G=0O ?@82O7:0 : 3>@87>=B0;L=>9 ?@82O7:5.3Possible anchor loop detected on horizontal anchor.QDeclarativeAnchors1=0@C65=0 2>7<>6=0O F8:;8G=0O ?@82O7:0 : 25@B8:0;L=>9 ?@82O7:5.1Possible anchor loop detected on vertical anchor.QDeclarativeAnchorsHQt 1K;> A>1@0=> 157 ?>445@6:8 QMovie'Qt was built without support for QMovieQDeclarativeAnimatedImage>;0AA Application - 01AB@0:B=K9 Application is an abstract classQDeclarativeApplicationh52>7<>6=> 87<5=8BL 0=8<0F8N, =07=0G5==CN ?>2545=8N.3Cannot change the animation assigned to a Behavior.QDeclarativeBehaviord1=0@C65=> 70F8:;820=85 ?@82O7:8 4;O A2>9AB20 %1'Binding loop detected for property "%1"QDeclarativeBinding^1=0@C65=0 F8:;8G=0O ?@82O7:0 4;O A2>9AB20 %1'Binding loop detected for property "%1"QDeclarativeCompiledBindingsH%1 =5 <>65B 2>7459AB2>20BL =0 %2"%1" cannot operate on "%2"QDeclarativeCompilerX%1.%2 =5 4>ABC?=> 87-70 25@A88 :><?>=5=BK.5"%1.%2" is not available due to component versioning.QDeclarativeCompiler>%1.%2 =5 4>ABC?=> 2 %3 %4.%5.%"%1.%2" is not available in %3 %4.%5.QDeclarativeCompilerL!2>9AB2> ?A524>=8<0 2KE>48B 70 3@0=8FK#Alias property exceeds alias boundsQDeclarativeCompilern@8:@5?;Q==K5 A2>9AB20 =5 <>3CB 1KBL 8A?>;L7>20=K 745AL'Attached properties cannot be used hereQDeclarativeCompilerX>6=> =07=0G8BL B>;L:> >4=C A2O7L 4;O A?8A:0$Can only assign one binding to listsQDeclarativeCompiler52>7<>6=> ?@8A2>8BL 7=0G5=85 =5?>A@54AB25==> A3@C??8@>20==><C A2>9AB2C4Cannot assign a value directly to a grouped propertyQDeclarativeCompiler52>7<>6=> =07=0G8BL 7=0G5=85 A83=0;C (AF5=0@89 4>;65= 1KBL 70?CI5=)@Cannot assign a value to a signal (expecting a script to be run)QDeclarativeCompilerz52>7<>6=> =07=0G8BL <=>65AB25==>5 7=0G5=85 A2>9AB2C AF5=0@8O2Cannot assign multiple values to a script propertyQDeclarativeCompiler52>7<>6=> ?@8A2>8BL <=>65AB2> 7=0G5=89 A2>9AB2C, ?@8=8<0NI5<C B>;L:> >4=>4Cannot assign multiple values to a singular propertyQDeclarativeCompilerD52>7<>6=> =07=0G8BL >1J5:B A?8A:CCannot assign object to listQDeclarativeCompilerF52>7<>6=> =07=0G8BL >1J5:BA2>9AB2C Cannot assign object to propertyQDeclarativeCompilerJ52>7<>6=> =07=0G8BL ?@8<8B82K A?8A:C!Cannot assign primitives to listsQDeclarativeCompilert52>7<>6=> =07=0G8BL =5ACI5AB2CNI5<C A2>9AB2C ?> C<>;G0=8N.Cannot assign to non-existent default propertyQDeclarativeCompilerd52>7<>6=> =07=0G8BL =5ACI5AB2CNI5<C A2>9AB2C %1+Cannot assign to non-existent property "%1"QDeclarativeCompiler`52>7<>6=> A>740BL ?CABCN A?5F8D8:0FN :><?>=5=B0+Cannot create empty component specificationQDeclarativeCompilerP52>7<>6=> ?5@5>?@545;8BL A2>9AB2> FINALCannot override FINAL propertyQDeclarativeCompilerl-;5<5=BK Component =5 <>3CB A>45@60BL A2>9AB2 :@><5 id;Component elements may not contain properties other than idQDeclarativeCompilerf1J5:BK Component =5 <>3CB >1JO2;OBL =>2K5 DC=:F88./Component objects cannot declare new functions.QDeclarativeCompilerh1J5:BK Component =5 <>3CB >1JO2;OBL =>2K5 A2>9AB20.0Component objects cannot declare new properties.QDeclarativeCompilerf1J5:BK Component =5 <>3CB >1JO2;OBL =>2K5 A83=0;K.-Component objects cannot declare new signals.QDeclarativeCompilerDC1;8@>20=85 A2>9AB20 ?> C<>;G0=8NDuplicate default propertyQDeclarativeCompiler8C1;8@>20=85 =0720=85 <5B>40Duplicate method nameQDeclarativeCompiler<C1;8@>20=85 =0720=8O A2>9AB20Duplicate property nameQDeclarativeCompiler:C1;8@>20=85 =0720=8O A83=0;0Duplicate signal nameQDeclarativeCompiler@-;5<5=B =5 O2;O5BAO A>740205<K<.Element is not creatable.QDeclarativeCompiler4CAB>5 =07=0G5=85 A2>9AB20Empty property assignmentQDeclarativeCompiler2CAB>5 =07=0G5=85 A83=0;0Empty signal assignmentQDeclarativeCompiler|45=B8D8:0B>@ =525@=> <0A:8@C5B 3;>10;L=>5 A2>9AB2> JavaScript-ID illegally masks global JavaScript propertyQDeclarativeCompilerh45=B8D8:0B>@K =5 <>3CB =0G8=0BLAO A 703;02=>9 1C:2K)IDs cannot start with an uppercase letterQDeclarativeCompiler45=B8D8:0B>@K 4>;6=K A>45@60BL B>;L:> 1C:2K, F8D@K 8 ?>4GQ@:820=8O7IDs must contain only letters, numbers, and underscoresQDeclarativeCompilert45=B8D8:0B>@K 4>;6=K =0G8=0BLAO A 1C:2K 8;8 ?>4GQ@:820=8O*IDs must start with a letter or underscoreQDeclarativeCompiler854>?CAB8<>5 =0720=85 <5B>40Illegal method nameQDeclarativeCompiler<54>?CAB8<>5 =0720=85 A2>9AB20Illegal property nameQDeclarativeCompiler:54>?CAB8<>5 =0720=85 A83=0;0Illegal signal nameQDeclarativeCompilerD525@=> C:070=> =07=0G5=85 A83=0;0'Incorrectly specified signal assignmentQDeclarativeCompilerD5:>@@5:B=>5 @07<5I5=85 ?A524>=8<0Invalid alias locationQDeclarativeCompiler5:>@@5:B=0O AAK;:0 =0 ?A524>=8<. !AK;:0 =0 ?A524>=8< 4>;6=0 1KBL C:070=0, :0: <id>, <id>.<A2>9AB2>> 8;8 <id>.<A2>9AB2> 7=0G5=8O>.<A2>9AB2>>zInvalid alias reference. An alias reference must be specified as , . or ..QDeclarativeCompilert5:>@@5:B=0O AAK;:0 =0 ?A524>=8<. 5 C40;>AL =09B8 id %1/Invalid alias reference. Unable to find id "%1"QDeclarativeCompiler\5:>@@5:B=>5 =07=0G5=85 ?@8:@5?;Q==>3> >1J5:B0"Invalid attached object assignmentQDeclarativeCompilerR5:>@@5:B=0O A?5F8D8:0F8O B5;0 :><?>=5=B0$Invalid component body specificationQDeclarativeCompilerN5:>@@5:B=0O A?5F8D8:0F8O id :><?>=5=B0"Invalid component id specificationQDeclarativeCompilerB5:>@@5:B=K9 ?CAB>9 845=B8D8:0B>@Invalid empty IDQDeclarativeCompiler^5:>@@5:B=K9 4>ABC? : A3@C??8@>20==><C A2>9AB2CInvalid grouped property accessQDeclarativeCompiler5:>@@5:B=>5 ?@8A20820=85 A2>9AB20: %1 A2>9AB2> B>;L:> 4;O GB5=8O9Invalid property assignment: "%1" is a read-only propertyQDeclarativeCompiler5:>@@5:B=>5 ?@8A20820=85 A2>9AB20: >68405BAO 7=0G5=85 B8?0 B@QE<5@=K9 25:B>@/Invalid property assignment: 3D vector expectedQDeclarativeCompiler5:>@@5:B=>5 ?@8A20820=85 A2>9AB20: >68405BAO 7=0G5=85 1C;52>3> B8?0-Invalid property assignment: boolean expectedQDeclarativeCompiler5:>@@5:B=>5 ?@8A20820=85 A2>9AB20: >68405BAO 7=0G5=85 B8?0 color+Invalid property assignment: color expectedQDeclarativeCompiler5:>@@5:B=>5 ?@8A20820=85 A2>9AB20: >68405BAO 7=0G5=85 B8?0 date*Invalid property assignment: date expectedQDeclarativeCompiler5:>@@5:B=>5 ?@8A20820=85 A2>9AB20: >68405BAO 7=0G5=85 B8?0 datetime.Invalid property assignment: datetime expectedQDeclarativeCompiler5:>@@5:B=>5 ?@8A20820=85 A2>9AB20: >68405BAO 7=0G5=85 B8?0 int)Invalid property assignment: int expectedQDeclarativeCompilerf5:>@@5:B=>5 ?@8A20820=85 A2>9AB20: >68405BAO G8A;>,Invalid property assignment: number expectedQDeclarativeCompiler5:>@@5:B=>5 ?@8A20820=85 A2>9AB20: >68405BAO 7=0G5=85 B8?0 point+Invalid property assignment: point expectedQDeclarativeCompiler5:>@@5:B=>5 ?@8A20820=85 A2>9AB20: >68405BAO 7=0G5=85 B8?0 rect*Invalid property assignment: rect expectedQDeclarativeCompilerl5:>@@5:B=>5 ?@8A20820=85 A2>9AB20: >68405BAO AF5=0@89,Invalid property assignment: script expectedQDeclarativeCompiler5:>@@5:B=>5 ?@8A20820=85 A2>9AB20: >68405BAO 7=0G5=85 B8?0 size*Invalid property assignment: size expectedQDeclarativeCompiler5:>@@5:B=>5 ?@8A20820=85 A2>9AB20: >68405BAO 7=0G5=85 B8?0 string,Invalid property assignment: string expectedQDeclarativeCompiler5:>@@5:B=>5 ?@8A20820=85 A2>9AB20: >68405BAO 7=0G5=85 B8?0 time*Invalid property assignment: time expectedQDeclarativeCompilerx5:>@@5:B=>5 ?@8A20820=85 A2>9AB20: =58725AB=>5 ?5@5G8A;5=850Invalid property assignment: unknown enumerationQDeclarativeCompiler5:>@@5:B=>5 ?@8A20820=85 A2>9AB20: >68405BAO 7=0G5=85 B8?0 unsigned int2Invalid property assignment: unsigned int expectedQDeclarativeCompilerz5:>@@5:B=>5 ?@8A20820=85 A2>9AB20: =5?>445@68205<K9 B8? %12Invalid property assignment: unsupported type "%1"QDeclarativeCompiler5:>@@5:B=>5 ?@8A20820=85 A2>9AB20: >68405BAO 7=0G5=85 B8?0 url)Invalid property assignment: url expectedQDeclarativeCompiler@5:>@@5:B=>5 2;>65==>ABL A2>9AB2Invalid property nestingQDeclarativeCompiler25:>@@5:B=K9 B8? A2>9AB20Invalid property typeQDeclarativeCompilerF5:>@@5:B=>5 8A?>;L7>20=85 A2>9AB20Invalid property useQDeclarativeCompilerL5:>@@5:B=>5 8A?>;L7>20=85 A2>9AB20 idInvalid use of id propertyQDeclarativeCompilerX5:>@@5:B=>5 8A?>;L7>20=85 ?@>AB@0=AB20 8<Q=Invalid use of namespaceQDeclarativeCompilerl0720=8O <5B>4>2 =5 <>3CB =0G8=0BLAO A 703;02=>9 1C:2K3Method names cannot begin with an upper case letterQDeclarativeCompilerTBACBAB2C5B @07<5I5=85 ?A524>=8<0 A2>9AB20No property alias locationQDeclarativeCompilerF5ACI5AB2CNI89 ?@8:@5?;Q==K9 >1J5:BNon-existent attached objectQDeclarativeCompilerP5 O2;O5BAO 8<5=5< ?@82O70==>3> A2>9AB20Not an attached property nameQDeclarativeCompiler:68405BAO =07=0G5=85 A2>9AB20Property assignment expectedQDeclarativeCompiler>!2>9AB2C C65 =07=0G5=> 7=0G5=85*Property has already been assigned a valueQDeclarativeCompilerl0720=8O A2>9AB2 =5 <>3CB =0G8=0BLAO A 703;02=>9 1C:2K5Property names cannot begin with an upper case letterQDeclarativeCompilerL=0G5=85 A2>9AB20 7040=> =5A:>;L:> @07!Property value set multiple timesQDeclarativeCompilern0720=8O A83=0;>2 =5 <>3CB =0G8=0BLAO A 703;02=>9 1C:2K3Signal names cannot begin with an upper case letterQDeclarativeCompilerN68405BAO >48=>G=>5 =07=0G5=85 A2>9AB20#Single property assignment expectedQDeclarativeCompiler<5>6840==>5 =07=0G5=85 >1J5:B0Unexpected object assignmentQDeclarativeCompilerid =5 C=8:0;5=id is not uniqueQDeclarativeCompiler CAB>9 04@5A URLInvalid empty URLQDeclarativeComponentVcreateObject: 7=0G5=85 =5 O2;O5BAO >1J5:B><$createObject: value is not an objectQDeclarativeComponentd52>7<>6=> =07=0G8BL =5ACI5AB2CNI5<C A2>9AB2C %1+Cannot assign to non-existent property "%1"QDeclarativeConnectionsT>4:;NG5=8O: 2;>65==K5 >1J5:BK =54>?CAB8<K'Connections: nested objects not allowedQDeclarativeConnections>>4:;NG5=8O: >68405BAO AF5=0@89Connections: script expectedQDeclarativeConnectionsD>4:;NG5=8O: A8=B0:A8G5A:0O >H81:0Connections: syntax errorQDeclarativeConnections8"@0=70:F8O B>;L:> 4;O GB5=8ORead-only TransactionQDeclarativeEngineF5 C40;>AL 2K?>;=8BL B@0=70:F8N SQLSQL transaction failedQDeclarativeEngineF5 A>2?0405B 25@A8O 107K 40==KE SQLSQL: database version mismatchQDeclarativeEngineZ5A>2?045=85 25@A89: >6840;0AL %1, =0945=0 %2'Version mismatch: expected %1, found %2QDeclarativeEngineJexecuteSql() 2K720= 2=5 transaction()'executeSql called outside transaction()QDeclarativeEngineLB@0=70:F8O: >BACBAB2C5B >1@0B=K9 2K7>2transaction: missing callbackQDeclarativeEngineLback - A2>9AB2> 4;O >4=>:@0B=>9 70?8A8back is a write-once propertyQDeclarativeFlipableNfront - A2>9AB2> 4;O >4=>:@0B=>9 70?8A8front is a write-once propertyQDeclarativeFlipable6%1: :0B0;>3 =5 ACI5AB2C5B"%1": no such directoryQDeclarativeImportDatabaseJ- %1 - =5:>@@5:B=>5 ?@>AB@0=AB2> 8<Q=- %1 is not a namespaceQDeclarativeImportDatabaseR- 2;>65==K5 ?@>AB@0=AB20 8<Q= =54>?CAB8<K- nested namespaces not allowedQDeclarativeImportDatabaseR 538AB@ 8<5=8 D09;0 =5 A>>B25BAB2C5B %1 File name case mismatch for "%1"QDeclarativeImportDatabase`:0B0;>3 %1 =5 A>45@68B =8 qmldir, =8 namespace*import "%1" has no qmldir and no namespaceQDeclarativeImportDatabase>=5>4=>7=0G=>. 0945=> 2 %1 8 %2#is ambiguous. Found in %1 and in %2QDeclarativeImportDatabase^=5>4=>7=0G=>. 0945=> 2 %1 25@A89 %2.%3 8 %4.%54is ambiguous. Found in %1 in version %2.%3 and %4.%5QDeclarativeImportDatabase2>1@010BK205BAO @5:C@A82=>is instantiated recursivelyQDeclarativeImportDatabase"=5 O2;O5BAO B8?>< is not a typeQDeclarativeImportDatabase";>:0;L=K9 :0B0;>3local directoryQDeclarativeImportDatabase2<>4C;L %1 =5 CAB0=>2;5=module "%1" is not installedQDeclarativeImportDatabaseD<>4C;L %1 ?;038=0 %2 =5 =0945=!module "%1" plugin "%2" not foundQDeclarativeImportDatabaseL<>4C;L %1 25@A88 %2.%3 =5 CAB0=>2;5=*module "%1" version %2.%3 is not installedQDeclarativeImportDatabase^=5 C40;>AL 703@C78BL ?;038= 4;O <>4C;O %1: %2+plugin cannot be loaded for module "%1": %2QDeclarativeImportDatabasetKeyNavigation 4>ABC?=0 B>;L:> G5@57 ?@8:@5?;Q==K5 A2>9AB207KeyNavigation is only available via attached properties!QDeclarativeKeyNavigationAttachedbKeys 4>ABC?=K B>;L:> G5@57 ?@8:@5?;Q==K5 A2>9AB20.Keys is only available via attached propertiesQDeclarativeKeysAttached>4:;NGQ==>5 A2>9AB2> LayoutDirection @01>B05B B>;L:> A M;5<5=B0<87LayoutDirection attached property only works with Items#QDeclarativeLayoutMirroringAttachedvLayoutMirroring 4>ABC?=> B>;L:> G5@57 ?>4:;NG05<K5 A2>9AB209LayoutMirroring is only available via attached properties#QDeclarativeLayoutMirroringAttacheddListElement: =5 <>65B A>45@60BL 2;>65==K5 M;5<5=BK+ListElement: cannot contain nested elementsQDeclarativeListModelListElement: =52>7<>6=> 8A?>;L7>20BL 70@575@28@>20==>5 A2>9AB2> id.ListElement: cannot use reserved "id" propertyQDeclarativeListModelListElement: =52>7<>6=> 8A?>;L7>20BL AF5=0@89 2 :0G5AB25 7=0G5=8O A2>9AB201ListElement: cannot use script for property valueQDeclarativeListModelNListModel: =5>?@545;Q==>5 A2>9AB2> %1"ListModel: undefined property '%1'QDeclarativeListModelJappend: 7=0G5=85 =5 O2;O5BAO >1J5:B><append: value is not an objectQDeclarativeListModel>insert: 8=45:A %1 2=5 480?07>=0insert: index %1 out of rangeQDeclarativeListModelJinsert: 7=0G5=85 =5 O2;O5BAO >1J5:B><insert: value is not an objectQDeclarativeListModel4move: 8=45:A 2=5 480?07>=0move: out of rangeQDeclarativeListModel>remove: 8=45:A %1 2=5 480?07>=0remove: index %1 out of rangeQDeclarativeListModel8set: 8=45:A %1 2=5 480?07>=0set: index %1 out of rangeQDeclarativeListModelDset: 7=0G5=85 =5 O2;O5BAO >1J5:B><set: value is not an objectQDeclarativeListModelt03@C7G8: =5 ?>445@68205B 703@C7:C =5287C0;L=KE M;5<5=B>2.4Loader does not support loading non-visual elements.QDeclarativeLoaderv52>7<>6=> A>E@0=8BL 2=5H=89 284 ?@8 A;>6=>< ?@5>1@07>20=885Unable to preserve appearance under complex transformQDeclarativeParentAnimationt52>7<>6=> A>E@0=8BL 2=5H=89 284 ?@8 =5>4=>@>4=>< <0AHB0155Unable to preserve appearance under non-uniform scaleQDeclarativeParentAnimation^52>7<>6=> A>E@0=8BL 2=5H=89 284 ?@8 <0AHB015 0.Unable to preserve appearance under scale of 0QDeclarativeParentAnimationv52>7<>6=> A>E@0=8BL 2=5H=89 284 ?@8 A;>6=>< ?@5>1@07>20=885Unable to preserve appearance under complex transformQDeclarativeParentChanget52>7<>6=> A>E@0=8BL 2=5H=89 284 ?@8 =5>4=>@>4=>< <0AHB0155Unable to preserve appearance under non-uniform scaleQDeclarativeParentChange^52>7<>6=> A>E@0=8BL 2=5H=89 284 ?@8 <0AHB015 0.Unable to preserve appearance under scale of 0QDeclarativeParentChange.68405BAO B8? ?0@0<5B@0Expected parameter typeQDeclarativeParser,68405BAO B8? A2>9AB20Expected property typeQDeclarativeParser*68405BAO A8<2>; %1Expected token `%1'QDeclarativeParser.68405BAO =0720=85 B8?0Expected type nameQDeclarativeParserR45=B8D8:0B>@ =5 <>65B =0G8=0BLAO A F8D@K,Identifier cannot start with numeric literalQDeclarativeParser&54>?CAB8<K9 A8<2>;Illegal characterQDeclarativeParserF54>?CAB8<0O esc-?>A;54>20B5;L=>ABLIllegal escape sequenceQDeclarativeParserd54>?CAB8<K9 A8=B0:A8A 4;O M:A?>=5=F80;L=>3> G8A;0%Illegal syntax for exponential numberQDeclarativeParserV54>?CAB8<0O unicode esc-?>A;54>20B5;L=>ABLIllegal unicode escape sequenceQDeclarativeParserJ5:>@@5:B=K9 ID A?5F8D8:0B>@0 8<?>@B0Invalid import qualifier IDQDeclarativeParserL5:>@@5:B=K9 <>48D8:0B>@ B8?0 A2>9AB20Invalid property type modifierQDeclarativeParserZ5:>@@5:B=K9 D;03 %0 2 @53C;O@=>< 2K@065=88$Invalid regular expression flag '%0'QDeclarativeParserT?@545;5=85 JavaScript 2=5 M;5<5=B0 Script-JavaScript declaration outside Script elementQDeclarativeParser@<?>@B 181;8>B5:8 B@51C5B 25@A8N!Library import requires a versionQDeclarativeParserV=0G5=85 A2>9AB20 CAB0=>2;5=> =5A:>;L:> @07!Property value set multiple timesQDeclarativeParser<Readonly 5IQ =5 ?>445@68205BAOReadonly not yet supportedQDeclarativeParser0@575@28@>20==>5 8<O Qt =5 <>65B 1KBL 8A?>;L7>20=> 2 :0G5AB25 A?5F8D8:0B>@01Reserved name "Qt" cannot be used as an qualifierQDeclarativeParsern!?5F8D8:0B>@K 8<?>@B0 AF5=0@8O 4>;6=K 1KBL C=8:0;L=K<8.(Script import qualifiers must be unique.QDeclarativeParserV;O 8<?>@B0 AF5=0@8O B@51C5BAO A?5F8D8:0B>@"Script import requires a qualifierQDeclarativeParser*!8=B0:A8G5A:0O >H81:0 Syntax errorQDeclarativeParserJ570:@KBK9 :><<5=B0@89 2 :>=F5 AB@>:8Unclosed comment at end of fileQDeclarativeParser>570:@KBK9 B5:AB 2 :>=F5 AB@>:8Unclosed string at end of lineQDeclarativeParserJ5>6840==K9 <>48D8:0B>@ B8?0 A2>9AB20!Unexpected property type modifierQDeclarativeParser.5>6840==K9 A8<2>; %1Unexpected token `%1'QDeclarativeParser 53C;O@=>5 2K@065=85 A>45@68B =57025@HQ==CN M:@0=8@>20==CN ?>A;54>20B5;L=>ABL2Unterminated regular expression backslash sequenceQDeclarativeParserb 53C;O@=>5 2K@065=85 A>45@68B =57025@HQ==K9 :;0AA%Unterminated regular expression classQDeclarativeParserV570:>=G5==K9 ;8B5@0; @53C;O@=>3> 2K@065=8O'Unterminated regular expression literalQDeclarativeParserL52>7<>6=> CAB0=>28BL 4;8B5;L=>ABL < 0Cannot set a duration of < 0QDeclarativePauseAnimation,5 C40;>AL >B:@KBL: %1Cannot open: %1QDeclarativePixmap8H81:0 45:>48@>20=8O: %1: %2Error decoding: %1: %2QDeclarativePixmapx5 C40;>AL ?>;CG8BL 87>1@065=85 >B ?>AB0I8:0 87>1@065=89: %1%Failed to get image from provider: %1QDeclarativePixmapL52>7<>6=> CAB0=>28BL 4;8B5;L=>ABL < 0Cannot set a duration of < 0QDeclarativePropertyAnimationd52>7<>6=> =07=0G8BL =5ACI5AB2CNI5<C A2>9AB2C %1+Cannot assign to non-existent property "%1"QDeclarativePropertyChangesh52>7<>6=> =07=0G8BL A2>9AB2C B>;L:> 4;O GB5=8O %1(Cannot assign to read-only property "%1"QDeclarativePropertyChangesPropertyChanges =5 ?>445@6820NB A>740=85 >1J5:B>2, 7028A8<KE >B A>AB>O=8O.APropertyChanges does not support creating state-specific objects.QDeclarativePropertyChangesT5 C40;>AL 8=AB0=F88@>20BL 45;530B :C@A>@0%Could not instantiate cursor delegateQDeclarativeTextInputH5 C40;>AL 703@C78BL 45;530B :C@A>@0Could not load cursor delegateQDeclarativeTextInput %1 %2%1 %2QDeclarativeTypeLoader@>AB@0=AB2> 8<Q= %1 =5 <>65B 1KBL 8A?>;L7>20=> 2 :0G5AB25 B8?0%Namespace %1 cannot be used as a typeQDeclarativeTypeLoader,!F5=0@89 %1 =54>ABC?5=Script %1 unavailableQDeclarativeTypeLoader&"8? %1 =54>ABC?5=Type %1 unavailableQDeclarativeTypeLoaderb52>7<>6=> =07=0G8BL >1J5:B : A2>9AB2C A83=0;0 %1-Cannot assign an object to signal property %1QDeclarativeVME^52>7<>6=> =07=0G8BL >1J5:B A2>9AB2C 8=B5@D59A0*Cannot assign object to interface propertyQDeclarativeVMED52>7<>6=> =07=0G8BL >1J5:B A?8A:CCannot assign object to listQDeclarativeVMEz52>7<>6=> ?@8A2>8BL >1J5:B B8?0 %1 157 <5B>40 ?> C<>;G0=8N3Cannot assign object type %1 with no default methodQDeclarativeVME`52>7<>6=> ?@8A2>8BL 7=0G5=85 %1 A2>9AB2C %2%Cannot assign value %1 to property %2QDeclarativeVMEn52>7<>6=> ?>4:;NG8BL >BACBAB2CNI89 A83=0;/A;>B %1 : %20Cannot connect mismatched signal/slot %1 %vs. %2QDeclarativeVMEr52>7<>6=> CAB0=>28BL A2>9AB20 4;O %1, B0: :0: >= =C;52>9)Cannot set properties on %1 as it is nullQDeclarativeVMEF5 C40;>AL A>740BL 2;>65==K9 >1J5:B Unable to create attached objectQDeclarativeVMEF52>7<>6=> A>740BL >1J5:B B8?0 %1"Unable to create object of type %1QDeclarativeVMET><?>=5=B0 45;530B0 4>;65= 1KBL B8?0 Item.%Delegate component must be Item type.QDeclarativeVisualDataModelRQt 1K;> A>1@0=> 157 ?>445@6:8 xmlpatterns,Qt was built without support for xmlpatternsQDeclarativeXmlListModelR0?@>A XmlRole =5 4>;65= =0G8=0BLAO A /(An XmlRole query must not start with '/'QDeclarativeXmlListModelRoleh0?@>A XmlListModel 4>;65= =0G8=0BLAO A / 8;8 //1An XmlListModel query must start with '/' or "//"QDeclarativeXmlRoleList QDialQDialQDialSliderHandle SliderHandleQDialSpeedoMeter SpeedoMeterQDial >B>2>DoneQDialog'B> MB>? What's This?QDialogB&<5=0&CancelQDialogButtonBox&0:@KBL&CloseQDialogButtonBox&5B&NoQDialogButtonBox&&OKQDialogButtonBox&!>E@0=8BL&SaveQDialogButtonBox&0&YesQDialogButtonBox@5@20BLAbortQDialogButtonBox@8<5=8BLApplyQDialogButtonBox B<5=0CancelQDialogButtonBox0:@KBLCloseQDialogButtonBox,0:@KBL 157 A>E@0=5=8OClose without SavingQDialogButtonBoxB:;>=8BLDiscardQDialogButtonBox5 A>E@0=OBL Don't SaveQDialogButtonBox!?@02:0HelpQDialogButtonBox@>?CAB8BLIgnoreQDialogButtonBox&5B 4;O 2A5E N&o to AllQDialogButtonBoxOKQDialogButtonBoxB:@KBLOpenQDialogButtonBox!1@>A8BLResetQDialogButtonBox*>AAB0=>28BL 7=0G5=8ORestore DefaultsQDialogButtonBox>2B>@8BLRetryQDialogButtonBox!>E@0=8BLSaveQDialogButtonBox!>E@0=8BL 2A5Save AllQDialogButtonBox0 4;O &2A5E Yes to &AllQDialogButtonBox0B0 87<5=5=8O Date Modified QDirModel84Kind QDirModel<OName QDirModel  07<5@Size QDirModel"8?Type QDirModel0:@KBLClose QDockWidget@8:@5?8BLDock QDockWidgetB:@5?8BLFloat QDockWidget 5=LH5LessQDoubleSpinBox >;LH5MoreQDoubleSpinBox&0:@KBL&OK QErrorMessageL&>:07K20BL MB> A>>1I5=85 2 40;L=59H5<&Show this message again QErrorMessage*B;04>G=>5 A>>1I5=85:Debug Message: QErrorMessage&@8B8G5A:0O >H81:0: Fatal Error: QErrorMessage@54C?@5645=85:Warning: QErrorMessage@52>7<>6=> A>740BL %1 4;O 2K2>40Cannot create %1 for outputQFile>52>7<>6=> >B:@KBL %1 4;O 22>40Cannot open %1 for inputQFile:52>7<>6=> >B:@KBL 4;O 2K2>40Cannot open for outputQFile@52>7<>6=> C40;8BL 8AE>4=K9 D09;Cannot remove source fileQFile$09; ACI5AB2C5BDestination file existsQFile"!1>9 70?8A8 1;>:0Failure to write blockQFilet5B D09;>2>3> 4286:0 8;8 >= =5 ?>445@68205B UnMapExtensionBNo file engine available or engine does not support UnMapExtensionQFile>A;54>20B5;L=K9 D09; =5 1C45B ?5@58<5=>20= A 8A?>;L7>20=85< ?>1;>G=>3> :>?8@>20=8O0Will not rename sequential file using block copyQFile%1 0B0;>3 =5 =0945=. @>25@LB5 ?@028;L=>ABL C:070==>3> 8<5=8 :0B0;>30.K%1 Directory not found. Please verify the correct directory name was given. QFileDialog%1 $09; =5 =0945=. @>25@LB5 ?@028;L=>ABL C:070==>3> 8<5=8 D09;0.A%1 File not found. Please verify the correct file name was given. QFileDialogN%1 C65 ACI5AB2C5B. %>B8B5 70<5=8BL 53>?-%1 already exists. Do you want to replace it? QFileDialog&K1@0BL&Choose QFileDialog&#40;8BL&Delete QFileDialog&>20O ?0?:0 &New Folder QFileDialog&B:@KBL&Open QFileDialog&5@58<5=>20BL&Rename QFileDialog&!>E@0=8BL&Save QFileDialogl%1 70I8IQ= >B 70?8A8. 59AB28B5;L=> 65;05B5 C40;8BL?9'%1' is write protected. Do you want to delete it anyway? QFileDialogA524>=8<Alias QFileDialogA5 D09;K (*) All Files (*) QFileDialogA5 D09;K (*.*)All Files (*.*) QFileDialogJK 459AB28B5;L=> E>B8B5 C40;8BL %1?!Are sure you want to delete '%1'? QFileDialog 0704Back QFileDialog:5@5:;NG8BL 2 ?>4@>1=K9 @568<Change to detail view mode QFileDialog45@5:;NG8BL 2 @568< A?8A:0Change to list view mode QFileDialog65 C40;>AL C40;8BL :0B0;>3.Could not delete directory. QFileDialog!>740BL ?0?:CCreate New Folder QFileDialog&!>740BL =>2CN ?0?:CCreate a New Folder QFileDialog>4@>1=K9 284 Detail View QFileDialog0B0;>38 Directories QFileDialog0B0;>3: Directory: QFileDialog8A:Drive QFileDialog$09;File QFileDialog&<O D09;0: File &name: QFileDialog0?:0 A D09;0<8 File Folder QFileDialog"8?K D09;>2:Files of type: QFileDialog09B8 :0B0;>3Find Directory QFileDialog 0?:0Folder QFileDialog ?5@Q4Forward QFileDialog 0704Go back QFileDialog ?5@Q4 Go forward QFileDialog<5@59B8 2 @>48B5;LA:89 :0B0;>3Go to the parent directory QFileDialog !?8A>: List View QFileDialog5@59B8 ::Look in: QFileDialog>9 :><?LNB5@ My Computer QFileDialog>20O ?0?:0 New Folder QFileDialogB:@KBLOpen QFileDialog( >48B5;LA:89 :0B0;>3Parent Directory QFileDialog$5402=85 4>:C<5=BK Recent Places QFileDialog#40;8BLRemove QFileDialog!>E@0=8BL :0:Save As QFileDialog /@;K:Shortcut QFileDialog>:070BL Show  QFileDialog.>:070BL A:&@KBK5 D09;KShow &hidden files QFileDialog58725AB=K9Unknown QFileDialog %1 1%1 GBQFileSystemModel %1 1%1 KBQFileSystemModel %1 1%1 MBQFileSystemModel %1 "1%1 TBQFileSystemModel%1 109B %1 byte(s)QFileSystemModel%1 109B%1 bytesQFileSystemModel<b><O %1 =5 <>65B 1KBL 8A?>;L7>20=>.</b><p>>?@>1C9B5 8A?>;L7>20BL 8<O <5=LH59 4;8=K 8/8;8 157 A8<2>;>2 ?C=:BC0F88.oThe name "%1" can not be used.

Try using another name, with fewer characters or no punctuations marks.QFileSystemModel><?LNB5@ComputerQFileSystemModel0B0 87<5=5=8O Date ModifiedQFileSystemModel,5:>@@5:B=>5 8<O D09;0Invalid filenameQFileSystemModel84KindQFileSystemModel>9 :><?LNB5@ My ComputerQFileSystemModel<ONameQFileSystemModel  07<5@SizeQFileSystemModel"8?TypeQFileSystemModel N10OAny QFontDatabase@01A:0OArabic QFontDatabase@<O=A:0OArmenian QFontDatabase5=30;LA:0OBengali QFontDatabase 'Q@=K9Black QFontDatabase 8@=K9Bold QFontDatabase8@8;;8F0Cyrillic QFontDatabase!@54=89Demi QFontDatabase>;C68@=K9 Demi Bold QFontDatabase520=038@8 Devanagari QFontDatabase@C78=A:0OGeorgian QFontDatabase@5G5A:0OGreek QFontDatabaseC460@0B8Gujarati QFontDatabaseC@<C:E8Gurmukhi QFontDatabase 2@8BHebrew QFontDatabase C@A82Italic QFontDatabase/?>=A:0OJapanese QFontDatabase0==040Kannada QFontDatabaseE<5@A:0OKhmer QFontDatabase>@59A:0OKorean QFontDatabase0>AA:0OLao QFontDatabase0B8=8F0Latin QFontDatabase!25B;K9Light QFontDatabase0;09O;0< Malayalam QFontDatabase LO=<0Myanmar QFontDatabase:>N'Ko QFontDatabase1KG=K9Normal QFontDatabase0:;>==K9Oblique QFontDatabase30<8G5A:0OOgham QFontDatabase@8OOriya QFontDatabase C=8G5A:0ORunic QFontDatabase(8B09A:0O C?@>IQ==0OSimplified Chinese QFontDatabase!8=30;LA:0OSinhala QFontDatabase!8<2>;L=0OSymbol QFontDatabase!8@89A:0OSyriac QFontDatabase"0<8;LA:0OTamil QFontDatabase "5;C3CTelugu QFontDatabase "00=0Thaana QFontDatabase"09A:0OThai QFontDatabase"815BA:0OTibetan QFontDatabase,8B09A:0O B@048F8>==0OTraditional Chinese QFontDatabaseL5B=0<A:0O Vietnamese QFontDatabase &(@8DB&Font QFontDialog& 07<5@&Size QFontDialog&>4GQ@:=CBK9 &Underline QFontDialog-DD5:BKEffects QFontDialog&0G5@B0=85 Font st&yle QFontDialog @8<5@Sample QFontDialogK1>@ H@8DB0 Select Font QFontDialog0GQ@&:=CBK9 Stri&keout QFontDialog&!8AB5<0 ?8AL<0Wr&iting System QFontDialog<5 C40;>AL A<5=8BL :0B0;>3: %1Changing directory failed: %1QFtp<!>548=5=85 A C7;>< CAB0=>2;5=>Connected to hostQFtpB#AB0=>2;5=> A>548=5=85 A C7;>< %1Connected to host %1QFtpD5 C40;>AL A>548=8BLAO A C7;><: %1Connecting to host failed: %1QFtp$!>548=5=85 70:@KB>Connection closedQFtpLB:07 2 A>548=5=88 4;O ?5@540G8 40==KE&Connection refused for data connectionQFtp@ A>548=5=88 A C7;>< %1 >B:070=>Connection refused to host %1QFtpL@5<O =0 A>548=5=85 A C7;>< %1 8AB5:;>Connection timed out to host %1QFtp.!>548=5=85 A %1 70:@KB>Connection to %1 closedQFtp<5 C40;>AL A>740BL :0B0;>3: %1Creating directory failed: %1QFtp:5 C40;>AL 703@C78BL D09;: %1Downloading file failed: %1QFtp#75; %1 =0945= Host %1 foundQFtp"#75; %1 =5 =0945=Host %1 not foundQFtp#75; =0945= Host foundQFtp@5 C40;>AL ?@>G8B0BL :0B0;>3: %1Listing directory failed: %1QFtp:5 C40;>AL 02B>@87>20BLAO: %1Login failed: %1QFtp2!>548=5=85 =5 CAB0=>2;5=> Not connectedQFtp<5 C40;>AL C40;8BL :0B0;>3: %1Removing directory failed: %1QFtp65 C40;>AL C40;8BL D09;: %1Removing file failed: %1QFtp$58725AB=0O >H81:0 Unknown errorQFtp:5 C40;>AL >B3@C78BL D09;: %1Uploading file failed: %1QFtp:;/2K:;Toggle QGroupBox$<O C7;0 =5 7040=>No host name given QHostInfo$58725AB=0O >H81:0 Unknown error QHostInfo#75; =5 =0945=Host not foundQHostInfoAgent*5:>@@5:B=>5 8<O C7;0Invalid hostnameQHostInfoAgent$<O C7;0 =5 7040=>No host name givenQHostInfoAgent,58725AB=K9 B8? 04@5A0Unknown address typeQHostInfoAgent$58725AB=0O >H81:0 Unknown errorQHostInfoAgent.58725AB=0O >H81:0 (%1)Unknown error (%1)QHostInfoAgent*"@51C5BAO 02B>@870F8OAuthentication requiredQHttp<!>548=5=85 A C7;>< CAB0=>2;5=>Connected to hostQHttpB#AB0=>2;5=> A>548=5=85 A C7;>< %1Connected to host %1QHttp$!>548=5=85 70:@KB>Connection closedQHttp*B:070=> 2 A>548=5=88Connection refusedQHttpd A>548=5=88 >B:070=> (8;8 2@5<O >6840=8O 8AB5:;>)!Connection refused (or timed out)QHttp:!>548=5=85 A C7;>< %1 70:@KB>Connection to %1 closedQHttp"0==K5 ?>2@5645=KData corruptedQHttpDH81:0 70?8A8 >B25B0 =0 CAB@>9AB2> Error writing response to deviceQHttp*HTTP-70?@>A =5 C40;AOHTTP request failedQHttp0?@>H5=> A>548=5=85 ?> ?@>B>:>;C HTTPS, => ?>445@6:0 SSL =5 A:><?8;8@>20=0:HTTPS connection requested but SSL support not compiled inQHttp#75; %1 =0945= Host %1 foundQHttp"#75; %1 =5 =0945=Host %1 not foundQHttp#75; =0945= Host foundQHttp0#75; B@51C5B 02B>@870F8NHost requires authenticationQHttpR5:>@@5:B=>5 HTTP-D@03<5=B8@>20=85 40==KEInvalid HTTP chunked bodyQHttpD5:>@@5:B=K9 HTTP-703>;>2>: >B25B0Invalid HTTP response headerQHttp@5 C:070= A5@25@ 4;O ?>4:;NG5=8ONo server set to connect toQHttpN"@51C5BAO 02B>@870F8O =0 ?@>:A8-A5@25@5Proxy authentication requiredQHttpB@>:A8-A5@25@ B@51C5B 02B>@870F8NProxy requires authenticationQHttp0?@>A ?@5@20=Request abortedQHttp628B8@>20=85 SSL =5 C40;>ALSSL handshake failedQHttpJ!5@25@ =5>6840==> @07>@20; A>548=5=85%Server closed connection unexpectedlyQHttp:58725AB=K9 <5B>4 02B>@870F88Unknown authentication methodQHttp$58725AB=0O >H81:0 Unknown errorQHttp6#:070= =58725AB=K9 ?@>B>:>;Unknown protocol specifiedQHttp4525@=0O 4;8=0 A>45@68<>3>Wrong content lengthQHttp*"@51C5BAO 02B>@870F8OAuthentication requiredQHttpSocketEngineN5 ?>;CG5= HTTP->B25B >B ?@>:A8-A5@25@0(Did not receive HTTP response from proxyQHttpSocketEngineXH81:0 >1<5=0 40==K<8 A ?@>:A8-A5@25@>< HTTP#Error communicating with HTTP proxyQHttpSocketEnginehH81:0 @071>@0 70?@>A0 02B>@870F88 >B ?@>:A8-A5@25@0/Error parsing authentication request from proxyQHttpSocketEngine^!>548=5=85 A ?@>:A8-A5@25@>< =5>6840==> 70:@KB>#Proxy connection closed prematurelyQHttpSocketEngineJ A>548=5=88 ?@>:A8-A5@25@>< >B:070=>Proxy connection refusedQHttpSocketEngineB@>:A8-A5@25@ 70?@5B8; A>548=5=85Proxy denied connectionQHttpSocketEngineZ@5<O =0 A>548=5=85 A ?@>:A8-A5@25@>< 8AB5:;>!Proxy server connection timed outQHttpSocketEngine.@>:A8-A5@25@ =5 =0945=Proxy server not foundQHttpSocketEngine85 C40;>AL =0G0BL B@0=70:F8NCould not start transaction QIBaseDriver6H81:0 >B:@KB8O 107K 40==KEError opening database QIBaseDriver>52>7<>6=> 7025@H8BL B@0=70:F8NUnable to commit transaction QIBaseDriver<52>7<>6=> >B:0B8BL B@0=70:F8NUnable to rollback transaction QIBaseDriverd5 C40;>AL ?>;CG8BL @5AC@AK 4;O A>740=8O 2K@065=8OCould not allocate statement QIBaseResultJ5 C40;>AL >?8A0BL 2E>4OI55 2K@065=85"Could not describe input statement QIBaseResult85 C40;>AL >?8A0BL 2K@065=85Could not describe statement QIBaseResultJ5 C40;>AL ?>;CG8BL A;54CNI89 M;5<5=BCould not fetch next item QIBaseResult.5 C40;>AL =09B8 <0AA82Could not find array QIBaseResult>5 C40;>AL =09B8 40==K5 <0AA820Could not get array data QIBaseResultJ5 C40;>AL =09B8 8=D>@<0F8N > 70?@>A5Could not get query info QIBaseResultN5 C40;>AL =09B8 8=D>@<0F8N > 2K@065=88Could not get statement info QIBaseResult@5 C40;>AL ?>43>B>28BL 2K@065=85Could not prepare statement QIBaseResult85 C40;>AL =0G0BL B@0=70:F8NCould not start transaction QIBaseResult852>7<>6=> 70:@KBL 2K@065=85Unable to close statement QIBaseResult>52>7<>6=> 7025@H8BL B@0=70:F8NUnable to commit transaction QIBaseResult.52>7<>6=> A>740BL BLOBUnable to create BLOB QIBaseResult652>7<>6=> 2K?>;=8BL 70?@>AUnable to execute query QIBaseResult.52>7<>6=> >B:@KBL BLOBUnable to open BLOB QIBaseResult252>7<>6=> ?@>G8B0BL BLOBUnable to read BLOB QIBaseResult052>7<>6=> 70?8A0BL BLOBUnable to write BLOB QIBaseResultD5B A2>1>4=>3> <5AB0 =0 CAB@>9AB25No space left on device QIODevice<$09; 8;8 :0B0;>3 =5 ACI5AB2C5BNo such file or directory QIODevice>ABC? 70?@5IQ=Permission denied QIODevice:!;8H:>< <=>3> >B:@KBKE D09;>2Too many open files QIODevice$58725AB=0O >H81:0 Unknown error QIODevice&5B>4 22>40 S60 FEPFEP QInputContext(5B>4 22>40 Mac OS XMac OS X input method QInputContext&5B>4 22>40 S60 FEPS60 FEP input method QInputContext&5B>4 22>40 WindowsWindows input method QInputContext*5B>4 22>40 X-A5@25@0XIM QInputContext*5B>4 22>40 X-A5@25@0XIM input method QInputContext"#:068B5 7=0G5=85:Enter a value: QInputDialogP%1 O2;O5BAO =525@=K< >1J5:B>< ELF (%2)"'%1' is an invalid ELF object (%2)QLibrary:%1 =5 O2;O5BAO >1J5:B>< ELF'%1' is not an ELF objectQLibraryD%1 =5 O2;O5BAO >1J5:B>< ELF (%2)'%1' is not an ELF object (%2)QLibraryL52>7<>6=> 703@C78BL 181;8>B5:C %1: %2Cannot load library %1: %2QLibraryR52>7<>6=> @07@5H8BL A8<2>; %1 2 %2: %3$Cannot resolve symbol "%1" in %2: %3QLibraryL52>7<>6=> 2K3@C78BL 181;8>B5:C %1: %2Cannot unload library %1: %2QLibraryf@>25@>G=0O 8=D>@<0F8O 4;O <>4C;O %1 =5 A>2?0405B)Plugin verification data mismatch in '%1'QLibrary\$09; %1 - =5 O2;O5BAO :>@@5:B=K< <>4C;5< Qt.'The file '%1' is not a valid Qt plugin.QLibrary>4C;L %1 8A?>;L7C5B =5A><5AB8<CN 181;8>B5:C Qt. (%2.%3.%4) [%5]=The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5]QLibrary>4C;L %1 8A?>;L7C5B =5A><5AB8<CN 181;8>B5:C Qt. (52>7<>6=> A>2<5AB8BL @5;87=K5 8 >B;04>G=K5 181;8>B5:8.)WThe plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.)QLibrary>4C;L %1 8A?>;L7C5B =5A><5AB8<CN 181;8>B5:C Qt. 68405BAO :;NG %2, => ?>;CG5= :;NG %3OThe plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3"QLibraryF8=0<8G5A:0O 181;8>B5:0 =5 =0945=0.!The shared library was not found.QLibrary$58725AB=0O >H81:0 Unknown errorQLibrary&>?8@>20BL&Copy QLineEdit&AB028BL&Paste QLineEdit&&>2B>@8BL 459AB285&Redo QLineEdit$&B<5=8BL 459AB285&Undo QLineEdit&K@570BLCu&t QLineEdit#40;8BLDelete QLineEditK45;8BL 2AQ Select All QLineEdit,%1: 4@5A 8A?>;L7C5BAO%1: Address in use QLocalServer(%1: 5:>@@5:B=>5 8<O%1: Name error QLocalServer&%1: >ABC? 70?@5IQ=%1: Permission denied QLocalServer2%1: 58725AB=0O >H81:0 %2%1: Unknown error %2 QLocalServer&%1: >ABC? 70?@5IQ=%1: Access denied QLocalSocket*%1: H81:0 A>548=5=8O%1: Connection error QLocalSocket2%1: B:070=> 2 A>548=5=88%1: Connection refused QLocalSocket<%1: 0B03@0<<0 A;8H:>< 1>;LH0O%1: Datagram too large QLocalSocket(%1: 5:>@@5:B=>5 8<O%1: Invalid name QLocalSocket<%1: 0:@KB> C40;5==>9 AB>@>=>9%1: Remote closed QLocalSocket:%1: H81:0 >1@0I5=8O : A>:5BC%1: Socket access error QLocalSocketN%1: @5<O =0 >?5@0F8N A A>:5B>< 8AB5:;>%1: Socket operation timed out QLocalSocketH%1: H81:0 2K45;5=8O @5AC@A>2 A>:5B0%1: Socket resource error QLocalSocketP%1: ?5@0F8O A A>:5B>< =5 ?>445@68205BAO)%1: The socket operation is not supported QLocalSocket,%1: 58725AB=0O >H81:0%1: Unknown error QLocalSocket2%1: 58725AB=0O >H81:0 %2%1: Unknown error %2 QLocalSocket852>7<>6=> =0G0BL B@0=70:F8NUnable to begin transaction QMYSQLDriver>52>7<>6=> 7025@H8BL B@0=70:F8NUnable to commit transaction QMYSQLDriver,52>7<>6=> A>548=8BLAOUnable to connect QMYSQLDriver@52>7<>6=> >B:@KBL 107C 40==KE 'Unable to open database ' QMYSQLDriver<52>7<>6=> >B:0B8BL B@0=70:F8NUnable to rollback transaction QMYSQLDriverX52>7<>6=> ?@82O70BL @57C;LB8@CNI85 7=0G5=8OUnable to bind outvalues QMYSQLResult:52>7<>6=> ?@82O70BL 7=0G5=85Unable to bind value QMYSQLResultJ52>7<>6=> 2K?>;=8BL A;54CNI89 70?@>AUnable to execute next query QMYSQLResult652>7<>6=> 2K?>;=8BL 70?@>AUnable to execute query QMYSQLResult<52>7<>6=> 2K?>;=8BL 2K@065=85Unable to execute statement QMYSQLResult452>7<>6=> ?>;CG8BL 40==K5Unable to fetch data QMYSQLResult@52>7<>6=> ?>43>B>28BL 2K@065=85Unable to prepare statement QMYSQLResult:52>7<>6=> A1@>A8BL 2K@065=85Unable to reset statement QMYSQLResultP52>7<>6=> A>E@0=8BL A;54CNI89 @57C;LB0BUnable to store next result QMYSQLResult<52>7<>6=> A>E@0=8BL @57C;LB0BUnable to store result QMYSQLResulth52>7<>6=> A>E@0=8BL @57C;LB0BK 2K?>;=5=8O 2K@065=8O!Unable to store statement results QMYSQLResult(5>703;02;5=>) (Untitled)QMdiArea%1 - [%2] %1 - [%2] QMdiSubWindow&0:@KBL&Close QMdiSubWindow&5@5<5AB8BL&Move QMdiSubWindow&>AAB0=>28BL&Restore QMdiSubWindow& 07<5@&Size QMdiSubWindow - [%1]- [%1] QMdiSubWindow0:@KBLClose QMdiSubWindow!?@02:0Help QMdiSubWindow &0A?0E=CBL Ma&ximize QMdiSubWindow 0A?0E=CBLMaximize QMdiSubWindow5=NMenu QMdiSubWindow&!25@=CBL Mi&nimize QMdiSubWindow!25@=CBLMinimize QMdiSubWindow>AAB0=>28BLRestore QMdiSubWindow>AAB0=>28BL Restore Down QMdiSubWindow(!25@=CBL 2 703>;>2>:Shade QMdiSubWindow$AB020BLAO &A25@EC Stay on &Top QMdiSubWindow2>AAB0=>28BL 87 703>;>2:0Unshade QMdiSubWindow0:@KBLCloseQMenuK?>;=8BLExecuteQMenuB:@KBLOpenQMenu59AB28OActionsQMenuBar#3;>20O ?0=5;LCorner ToolbarQMenuBarz<h3> Qt</h3><p>0==0O ?@>3@0<<0 8A?>;L7C5B Qt 25@A88 %1.</p>8

About Qt

This program uses Qt version %1.

 QMessageBox <p>Qt - MB> 8=AB@C<5=B0@89 4;O @07@01>B:8 :@>AA?;0BD>@<5==KE ?@8;>65=89 =0 C++.</p><p>Qt ?@54>AB02;O5B A>2<5AB8<>ABL =0 C@>2=5 8AE>4=KE B5:AB>2 <564C MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux 8 2A5<8 ?>?C;O@=K<8 :><<5@G5A:8<8 20@80=B0<8 Unix. "0:65 Qt 4>ABC?=0 4;O 2AB@08205<KE CAB@>9AB2 2 2845 Qt 4;O Embedded Linux 8 Qt 4;O Windows CE.</p><p>Qt 4>ABC?=0 ?>4 B@5<O @07;8G=K<8 ;8F5=78O<8, @07@01>B0==K<8 4;O C4>2;5B2>@5=8O @07;8G=KE B@51>20=89.</p><p>Qt ?>4 =0H59 :><<5@G5A:>9 ;8F5=7859 ?@54=07=0G5=0 4;O @0728B8O ?@>?@85B0@=>3>/:><<5@G5A:>3> ?@>3@0<<=>3> >15A?5G5=8O, :>340 K =5 65;05B5 ?@54>AB02;OBL 8AE>4=K5 B5:ABK B@5BL8< AB>@>=0<, 8;8 2 A;CG05 =52>7<>6=>AB8 ?@8=OB8O CA;>289 ;8F5=789 GNU LGPL 25@A88 2.1 8;8 GNU GPL 25@A88 3.0.</p><p>Qt ?>4 ;8F5=7859 GNU LGPL 25@A88 2.1 ?@54=07=0G5=0 4;O @07@01>B:8 ?@>3@0<<=>3> >15A?5G5=8O A >B:@KBK<8 8AE>4=K<8 B5:AB0<8 8;8 :><<5@G5A:>3> ?@>3@0<<=>3> >15A?5G5=8O ?@8 A>1;N45=88 CA;>289 ;8F5=788 GNU LGPL 25@A88 2.1.</p><p>Qt ?>4 ;8F5=7859 GNU General Public License 25@A88 3.0 ?@54=07=0G5=0 4;O @07@01>B:8 ?@>3@0<<=KE ?@8;>65=89 2 B5E A;CG0OE, :>340 K E>B5;8 1K 8A?>;L7>20BL B0:85 ?@8;>65=8O 2 A>G5B0=88 A ?@>3@0<<=K< >15A?5G5=85< =0 CA;>28OE ;8F5=788 GNU GPL A 25@A88 3.0 8;8 5A;8 K 3>B>2K A>1;N40BL CA;>28O ;8F5=788 GNU GPL 25@A88 3.0.</p><p>1@0B8B5AL : <a href="http://qt.digia.com/product/licensing">qt.digia.com/product/licensing</a> 4;O >17>@0 ;8F5=789 Qt.</p><p>Copyright (C) 2012 >@?>@0F8O Digia 8/8;8 5Q 4>G5@=85 ?>4@0745;5=8O.</p><p>Qt - ?@>4C:B :><?0=88 Digia. 1@0B8B5AL : <a href="http://qt.digia.com/">qt.digia.com</a> 4;O ?>;CG5=8O 4>?>;=8B5;L=>9 8=D>@<0F88.</p>

Qt is a C++ toolkit for cross-platform application development.

Qt provides single-source portability across MS Windows, Mac OS X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.

Qt is available under three different licensing options designed to accommodate the needs of our various users.

Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.

Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.

Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.

Please see qt.digia.com/product/licensing for an overview of Qt licensing.

Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).

Qt is a Digia product. See qt.digia.com for more information.

 QMessageBox QtAbout Qt QMessageBox!?@02:0Help QMessageBox*!:@KBL ?>4@>1=>AB8...Hide Details... QMessageBox0:@KBLOK QMessageBox.>:070BL ?>4@>1=>AB8...Show Details... QMessageBox$K1>@ @568<0 22>40 Select IMQMultiInputContextR5@5:;NG0B5;L @568<0 <=>65AB25==>3> 22>40Multiple input method switcherQMultiInputContextPlugin5@5:;NG0B5;L @568<0 <=>65AB25==>3> 22>40, 8A?>;L7C5<K9 2 :>=B5:AB=>< <5=N B5:AB>2KE @540:B>@>2MMultiple input method switcher that uses the context menu of the text widgetsQMultiInputContextPluginN@C3>9 A>:5B C65 ?@>A;CH8205B MB>B ?>@B4Another socket is already listening on the same portQNativeSocketEngine|>?KB:0 8A?>;L7>20BL IPv6 =0 ?;0BD>@<5, =5 ?>445@6820NI59 IPv6=Attempt to use IPv6 socket on a platform with no IPv6 supportQNativeSocketEngine*B:070=> 2 A>548=5=88Connection refusedQNativeSocketEngine6@5<O =0 A>548=5=85 8AB5:;>Connection timed outQNativeSocketEngineN0B03@0<<0 A;8H:>< 1>;LH0O 4;O >B?@02:8Datagram was too large to sendQNativeSocketEngine#75; =54>ABC?5=Host unreachableQNativeSocketEngine<5:>@@5:B=K9 45A:@8?B>@ A>:5B0Invalid socket descriptorQNativeSocketEngineH81:0 A5B8 Network errorQNativeSocketEngineB@5<O =0 A5B52CN >?5@0F8N 8AB5:;>Network operation timed outQNativeSocketEngine!5BL =54>ABC?=0Network unreachableQNativeSocketEngine*?5@0F8O A =5-A>:5B><Operation on non-socketQNativeSocketEngine*54>AB0B>G=> @5AC@A>2Out of resourcesQNativeSocketEngine>ABC? 70?@5IQ=Permission deniedQNativeSocketEngine4@>B>:>; =5 ?>445@68205BAOProtocol type not supportedQNativeSocketEngine 4@5A =54>ABC?5=The address is not availableQNativeSocketEngine4@5A 70I8IQ=The address is protectedQNativeSocketEngine,4@5A C65 8A?>;L7C5BAO#The bound address is already in useQNativeSocketEnginef5:>@@5:B=K9 B8? ?@>:A8-A5@25@0 4;O 40==>9 >?5@0F88,The proxy type is invalid for this operationQNativeSocketEngine@#40;Q==K9 C75; 70:@K; A>548=5=85%The remote host closed the connectionQNativeSocketEnginef52>7<>6=> 8=8F80;878@>20BL H8@>:>25I0B5;L=K9 A>:5B%Unable to initialize broadcast socketQNativeSocketEngineX52>7<>6=> 8=8F80;878@>20BL =5-1;>G=K9 A>:5B(Unable to initialize non-blocking socketQNativeSocketEngine:52>7<>6=> ?>;CG8BL A>>1I5=85Unable to receive a messageQNativeSocketEngine<52>7<>6=> >B?@028BL A>>1I5=85Unable to send a messageQNativeSocketEngine&52>7<>6=> 70?8A0BLUnable to writeQNativeSocketEngine$58725AB=0O >H81:0 Unknown errorQNativeSocketEngineH?5@0F8O A A>:5B>< =5 ?>445@68205BAOUnsupported socket operationQNativeSocketEngine$H81:0 >B:@KB8O %1Error opening %1QNetworkAccessCacheBackend(5:>@@5:B=K9 URI: %1Invalid URI: %1QNetworkAccessDataBackendf#40;Q==K9 C75; =5>6840==> ?@5@20; A>548=5=85 4;O %13Remote host closed the connection prematurely on %1QNetworkAccessDebugPipeBackend.H8:0 A>:5B0 4;O %1: %2Socket error on %1: %2QNetworkAccessDebugPipeBackend,H81:0 70?8A8 2 %1: %2Write error writing to %1: %2QNetworkAccessDebugPipeBackendZ52>7<>6=> >B:@KBL %1: #:070= ?CBL : :0B0;>3C#Cannot open %1: Path is a directoryQNetworkAccessFileBackend,H81:0 >B:@KB8O %1: %2Error opening %1: %2QNetworkAccessFileBackend.H81:0 GB5=8O 87 %1: %2Read error reading from %1: %2QNetworkAccessFileBackend`0?@>A =0 >B:@KB85 D09;0 2=5 D09;>2>9 A8AB5<K %1%Request for opening non-local file %1QNetworkAccessFileBackend,H81:0 70?8A8 2 %1: %2Write error writing to %1: %2QNetworkAccessFileBackendZ52>7<>6=> >B:@KBL %1: #:070= ?CBL : :0B0;>3CCannot open %1: is a directoryQNetworkAccessFtpBackendBH81:0 2 ?@>F5AA5 703@C7:8 %1: %2Error while downloading %1: %2QNetworkAccessFtpBackendBH81:0 2 ?@>F5AA5 >B3@C7:8 %1: %2Error while uploading %1: %2QNetworkAccessFtpBackendb!>548=5=85 A %1 =5 C40;>AL: B@51C5BAO 02B>@870F8O0Logging in to %1 failed: authentication requiredQNetworkAccessFtpBackendD>4E>4OI89 ?@>:A8-A5@25@ =5 =0945=No suitable proxy foundQNetworkAccessFtpBackendD>4E>4OI89 ?@>:A8-A5@25@ =5 =0945=No suitable proxy foundQNetworkAccessHttpBackend.>ABC? 2 A5BL >B:;NGQ=.Network access is disabled.QNetworkAccessManagerLH81:0 703@C7:8 %1 - >B25B A5@25@0: %2)Error downloading %1 - server replied: %2 QNetworkReply,H81:0 A5B52>9 A5AA88.Network session error. QNetworkReply258725AB=K9 ?@>B>:>; %1Protocol "%1" is unknown QNetworkReply,@5<5==0O >H81:0 A5B8.Temporary network failure. QNetworkReply0>H81:0 70?CA:0 4@0925@0.backend start error. QNetworkReply"?5@0F8O >B<5=5=0Operation canceledQNetworkReplyImpl45:>@@5:B=0O :>=D83C@0F8O.Invalid configuration.QNetworkSessionH81:0 @>C<8=30 Roaming errorQNetworkSessionPrivateImpl> >C<8=3 ?@5@20= 8;8 =52>7<>65=.'Roaming was aborted or is not possible.QNetworkSessionPrivateImplT!5AA8O ?@5@20=0 ?>;L7>20B5;5< 8;8 A8AB5<>9!Session aborted by user or systemQNetworkSessionPrivateImpl\"@51C5<0O >?5@0F8O =5 ?>445@68205BAO A8AB5<>9.7The requested operation is not supported by the system.QNetworkSessionPrivateImpl`!5AA8O 1K;0 ?@5@20=0 ?>;L7>20B5;5< 8;8 A8AB5<>9..The session was aborted by the user or system.QNetworkSessionPrivateImpl^52>7<>6=> 8A?>;L7>20BL C:070==CN :>=D83C@0F8N.+The specified configuration cannot be used.QNetworkSessionPrivateImpl*5>?@545;Q==0O >H81:0Unidentified ErrorQNetworkSessionPrivateImpl458725AB=0O >H81:0 A5AA88.Unknown session error.QNetworkSessionPrivateImpl852>7<>6=> =0G0BL B@0=70:F8NUnable to begin transaction QOCIDriver>52>7<>6=> 7025@H8BL B@0=70:F8NUnable to commit transaction QOCIDriver652>7<>6=> 8=8F80;878@>20BLUnable to initialize QOCIDriver252>7<>6=> 02B>@87>20BLAOUnable to logon QOCIDriver<52>7<>6=> >B:0B8BL B@0=70:F8NUnable to rollback transaction QOCIDriver852>7<>6=> A>740BL 2K@065=85Unable to alloc statement QOCIResultj52>7<>6=> ?@82O70BL AB>;15F 4;O ?0:5B=>3> 2K?>;=5=8O'Unable to bind column for batch execute QOCIResultX52>7<>6=> ?@82O70BL @57C;LB8@CNI85 7=0G5=8OUnable to bind value QOCIResultN52>7<>6=> 2K?>;=8BL ?0:5B=>5 2K@065=85!Unable to execute batch statement QOCIResult<52>7<>6=> 2K?>;=8BL 2K@065=85Unable to execute statement QOCIResultF52>7<>6=> >?@545;8BL B8? 2K@065=8OUnable to get statement type QOCIResultJ52>7<>6=> ?5@59B8 : A;54CNI59 AB@>:5Unable to goto next QOCIResult@52>7<>6=> ?>43>B>28BL 2K@065=85Unable to prepare statement QOCIResult>52>7<>6=> 7025@H8BL B@0=70:F8NUnable to commit transaction QODBCDriver,52>7<>6=> A>548=8BLAOUnable to connect QODBCDriver52>7<>6=> A>548=8BLAO - @0925@ =5 ?>445@68205B B@51C5<K9 DC=:F8>=0;EUnable to connect - Driver doesn't support all functionality required QODBCDriver\52>7<>6=> >B:;NG8BL 02B>7025@H5=85 B@0=70:F89Unable to disable autocommit QODBCDriverZ52>7<>6=> 2:;NG8BL 02B>7025@H5=85 B@0=70:F89Unable to enable autocommit QODBCDriver<52>7<>6=> >B:0B8BL B@0=70:F8NUnable to rollback transaction QODBCDriverQODBCResult::reset: 52>7<>6=> CAB0=>28BL SQL_CURSOR_STATIC 0B@81CB>< 2K@065=85. @>25@LB5 =0AB@>9:8 4@0925@0 ODBCyQODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResult:52>7<>6=> ?@82O70BL 7=0G5=85Unable to bind variable QODBCResult<52>7<>6=> 2K?>;=8BL 2K@065=85Unable to execute statement QODBCResult452>7<>6=> ?>;CG8BL 40==K5Unable to fetch QODBCResultB52>7<>6=> ?>;CG8BL ?5@2CN AB@>:CUnable to fetch first QODBCResultH52>7<>6=> ?>;CG8BL ?>A;54=NN AB@>:CUnable to fetch last QODBCResultH52>7<>6=> ?>;CG8BL A;54CNICN AB@>:CUnable to fetch next QODBCResultJ52>7<>6=> ?>;CG8BL ?@54K4CICN AB@>:CUnable to fetch previous QODBCResult@52>7<>6=> ?>43>B>28BL 2K@065=85Unable to prepare statement QODBCResultv%1 ?>2B>@O5B 8<O ?@54K4CI59 @>;8 8 =5 1C45B 8A?>;L7>20=>.:"%1" duplicates a previous role name and will be disabled.QObjectT5 C40;>AL ?@>G8B0BL >:>=G0=85 87>1@065=8OCould not read footerQObjectN5 C40;>AL ?@>G8B0BL 40==K5 87>1@065=8OCould not read image dataQObjectL5 C40;>AL A1@>A8BL 2 8AE>4=CN ?>78F8N!Could not reset to start positionQObjectX5 C40;>AL ?5@5<5AB8BLAO : :>=FC 87>1@065=8O#Could not seek to image read footerQObject#75; =5 =0945=Host not foundQObjectL54>?CAB8<0O 3;C18=0 F25B0 87>1@065=8OImage depth not validQObjectP5 C40;>AL ?@>G8B0BL mHeader 87>1@065=8OImage mHeader read failedQObject|"8? 87>1@065=8O (>B;8G=K9 >B TrueVision 2.0) =5 ?>445@68205BAO-Image type (non-TrueVision 2.0) not supportedQObjectB"8? 87>1@065=8O =5 ?>445@68205BAOImage type not supportedQObject42C:>2>9 A5@25@ PulseAudioPulseAudio Sound ServerQObject5 C40;>AL ?@>8725AB8 ?5@5<5I5=85 ?> D09;C/CAB@>9AB2C 4;O GB5=8O 87>1@065=8O&Seek file/device for image read failedQObject5 ?>445@68205BAO GB5=8O 87>1@065=89 87 ?>A;54>20B5;L=KE CAB@>9AB2 (=0?@8<5@ A>:5B0):Sequential device (eg socket) for image read not supportedQObject25:>@@5:B=K9 70?@>A: %1invalid query: "%1"QObject<ONameQPPDOptionsModel=0G5=85ValueQPPDOptionsModel85 C40;>AL =0G0BL B@0=70:F8NCould not begin transaction QPSQLDriver>5 C40;>AL 7025@H8BL B@0=70:F8NCould not commit transaction QPSQLDriver<5 C40;>AL >B:0B8BL B@0=70:F8NCould not rollback transaction QPSQLDriver,52>7<>6=> A>548=8BLAOUnable to connect QPSQLDriver,52>7<>6=> ?>4?8A0BLAOUnable to subscribe QPSQLDriver*52>7<>6=> >B?8A0BLAOUnable to unsubscribe QPSQLDriver252>7<>6=> A>740BL 70?@>AUnable to create query QPSQLResult@52>7<>6=> ?>43>B>28BL 2K@065=85Unable to prepare statement QPSQLResult!0=B8<5B@K (cm)Centimeters (cm)QPageSetupWidget $>@<0FormQPageSetupWidgetKA>B0:Height:QPageSetupWidgetN9<K (in) Inches (in)QPageSetupWidget;L1><=0O LandscapeQPageSetupWidget>;OMarginsQPageSetupWidget8;;8<5B@K (mm)Millimeters (mm)QPageSetupWidget@85=B0F8O OrientationQPageSetupWidget  07<5@ AB@0=8FK: Page size:QPageSetupWidget C<030PaperQPageSetupWidget AB>G=8: 1C<038: Paper source:QPageSetupWidget">G:8 (pt) Points (pt)QPageSetupWidget=86=0OPortraitQPageSetupWidget,5@52Q@=CB0O 0;L1><=0OReverse landscapeQPageSetupWidget(5@52Q@=CB0O :=86=0OReverse portraitQPageSetupWidget(8@8=0:Width:QPageSetupWidget=86=55 ?>;5 bottom marginQPageSetupWidget;52>5 ?>;5 left marginQPageSetupWidget?@02>5 ?>;5 right marginQPageSetupWidget25@E=55 ?>;5 top marginQPageSetupWidget.>4C;L =5 1K; 703@C65=.The plugin was not loaded. QPluginLoader$58725AB=0O >H81:0 Unknown error QPluginLoaderN%1 C65 ACI5AB2C5B. %>B8B5 70<5=8BL 53>?/%1 already exists. Do you want to overwrite it? QPrintDialogX%1 - MB> :0B0;>3. K15@8B5 4@C3>5 8<O D09;0.7%1 is a directory. Please choose a different file name. QPrintDialog&0@0<5B@K << &Options << QPrintDialog&0@0<5B@K >> &Options >> QPrintDialog&5G0BL&Print QPrintDialog2<qt>%>B8B5 70<5=8BL?</qt>%Do you want to overwrite it? QPrintDialogA0A0 QPrintDialog$A0 (841 x 1189 <<)A0 (841 x 1189 mm) QPrintDialogA1A1 QPrintDialog"A1 (594 x 841 <<)A1 (594 x 841 mm) QPrintDialogA2A2 QPrintDialog"A2 (420 x 594 <<)A2 (420 x 594 mm) QPrintDialogA3A3 QPrintDialog"A3 (297 x 420 <<)A3 (297 x 420 mm) QPrintDialogA4A4 QPrintDialogJA4 (210 x 297 <<, 8.26 x 11.7 4N9<>2)%A4 (210 x 297 mm, 8.26 x 11.7 inches) QPrintDialogA5A5 QPrintDialog"A5 (148 x 210 <<)A5 (148 x 210 mm) QPrintDialogA6A6 QPrintDialog"A6 (105 x 148 <<)A6 (105 x 148 mm) QPrintDialogA7A7 QPrintDialog A7 (74 x 105 <<)A7 (74 x 105 mm) QPrintDialogA8A8 QPrintDialogA8 (52 x 74 <<)A8 (52 x 74 mm) QPrintDialogA9A9 QPrintDialogA9 (37 x 52 <<)A9 (37 x 52 mm) QPrintDialogA524>=8<K: %1 Aliases: %1 QPrintDialogB0B0 QPrintDialog&B0 (1000 x 1414 <<)B0 (1000 x 1414 mm) QPrintDialogB1B1 QPrintDialog$B1 (707 x 1000 <<)B1 (707 x 1000 mm) QPrintDialogB10B10 QPrintDialog B10 (31 x 44 <<)B10 (31 x 44 mm) QPrintDialogB2B2 QPrintDialog"B2 (500 x 707 <<)B2 (500 x 707 mm) QPrintDialogB3B3 QPrintDialog"B3 (353 x 500 <<)B3 (353 x 500 mm) QPrintDialogB4B4 QPrintDialog"B4 (250 x 353 <<)B4 (250 x 353 mm) QPrintDialogB5B5 QPrintDialogJB5 (176 x 250 <<, 6.93 x 9.84 4N9<>2)%B5 (176 x 250 mm, 6.93 x 9.84 inches) QPrintDialogB6B6 QPrintDialog"B6 (125 x 176 <<)B6 (125 x 176 mm) QPrintDialogB7B7 QPrintDialog B7 (88 x 125 <<)B7 (88 x 125 mm) QPrintDialogB8B8 QPrintDialogB8 (62 x 88 <<)B8 (62 x 88 mm) QPrintDialogB9B9 QPrintDialogB9 (44 x 62 <<)B9 (44 x 62 mm) QPrintDialogC5EC5E QPrintDialog$C5E (163 x 229 <<)C5E (163 x 229 mm) QPrintDialog >;L7>20B5;LA:89Custom QPrintDialogDLEDLE QPrintDialog$DLE (110 x 220 <<)DLE (110 x 220 mm) QPrintDialogExecutive Executive QPrintDialogRExecutive (191 x 254 <<, 7.5 x 10 4N9<>2))Executive (7.5 x 10 inches, 191 x 254 mm) QPrintDialogh%1 =54>ABC?5= 4;O 70?8A8. K15@8B5 4@C3>5 8<O D09;0.=File %1 is not writable. Please choose a different file name. QPrintDialog$09; ACI5AB2C5B File exists QPrintDialog FolioFolio QPrintDialog(Folio (210 x 330 <<)Folio (210 x 330 mm) QPrintDialog LedgerLedger QPrintDialog*Ledger (432 x 279 <<)Ledger (432 x 279 mm) QPrintDialog LegalLegal QPrintDialogJLegal (216 x 356 <<, 8.5 x 14 4N9<>2)%Legal (8.5 x 14 inches, 216 x 356 mm) QPrintDialog LetterLetter QPrintDialogLLetter (216 x 279 <<, 8.5 x 11 4N9<>2)&Letter (8.5 x 11 inches, 216 x 279 mm) QPrintDialog>:0;L=K9 D09; Local file QPrintDialog0:@KBLOK QPrintDialog 5G0BLPrint QPrintDialog"5G0BL 2 D09; ...Print To File ... QPrintDialogA5 AB@0=8FK Print all QPrintDialog "5:CI0O AB@0=8F0Print current page QPrintDialog 80?07>= AB@0=8F Print range QPrintDialog&K45;5==K9 D@03<5=BPrint selection QPrintDialog&5G0BL 2 D09; (PDF)Print to File (PDF) QPrintDialog45G0BL 2 D09; (Postscript)Print to File (Postscript) QPrintDialogTabloidTabloid QPrintDialog,Tabloid (279 x 432 <<)Tabloid (279 x 432 mm) QPrintDialog`=0G5=85 A =5 <>65B 1KBL 1>;LH5 7=0G5=8O ?>.7The 'From' value cannot be greater than the 'To' value. QPrintDialog,US Common #10 EnvelopeUS Common #10 Envelope QPrintDialog6>=25@B US #10 (105x241 <<)%US Common #10 Envelope (105 x 241 mm) QPrintDialog0?8AL %1 D09;0 Write %1 file QPrintDialog$A>548=5=> ;>:0;L=>locally connected QPrintDialog=58725AB=>unknown QPrintDialog%1%%1%QPrintPreviewDialog0:@KBLCloseQPrintPreviewDialog-:A?>@B 2 PDF Export to PDFQPrintPreviewDialog(-:A?>@B 2 PostscriptExport to PostScriptQPrintPreviewDialog5@20O AB@0=8F0 First pageQPrintPreviewDialog0 2AN AB@0=8FCFit pageQPrintPreviewDialog> H8@8=5 Fit widthQPrintPreviewDialog;L1><=0O LandscapeQPrintPreviewDialog$>A;54=OO AB@0=8F0 Last pageQPrintPreviewDialog$!;54CNI0O AB@0=8F0 Next pageQPrintPreviewDialog$0@0<5B@K AB@0=8FK Page SetupQPrintPreviewDialog$0@0<5B@K AB@0=8FK Page setupQPrintPreviewDialog=86=0OPortraitQPrintPreviewDialog&@54K4CI0O AB@0=8F0 Previous pageQPrintPreviewDialog 5G0BLPrintQPrintPreviewDialog@>A<>B@ ?5G0B8 Print PreviewQPrintPreviewDialog6>:070BL B8BC;L=K5 AB@0=8FKShow facing pagesQPrintPreviewDialog6>:070BL >17>@ 2A5E AB@0=8FShow overview of all pagesQPrintPreviewDialog,>:070BL >4=C AB@0=8FCShow single pageQPrintPreviewDialog#25;8G8BLZoom inQPrintPreviewDialog#<5=LH8BLZoom outQPrintPreviewDialog>?>;=8B5;L=>AdvancedQPrintPropertiesWidget $>@<0FormQPrintPropertiesWidget!B@0=8F0PageQPrintPropertiesWidget& 07>1@0BL ?> :>?8O<CollateQPrintSettingsOutput&25BColorQPrintSettingsOutput 568< F25B0 Color ModeQPrintSettingsOutput >?88CopiesQPrintSettingsOutput">;8G5AB2> :>?89:Copies:QPrintSettingsOutput "5:CI0O AB@0=8F0 Current PageQPrintSettingsOutput&2CAB>@>==OO ?5G0BLDuplex PrintingQPrintSettingsOutput $>@<0FormQPrintSettingsOutputBB5=:8 A5@>3> GrayscaleQPrintSettingsOutput$> 4;8==>9 AB>@>=5 Long sideQPrintSettingsOutput5BNoneQPrintSettingsOutput0@0<5B@KOptionsQPrintSettingsOutput 0AB@>9:8 2K2>40Output SettingsQPrintSettingsOutput!B@0=8FK A Pages fromQPrintSettingsOutputA5 Print allQPrintSettingsOutput80?07>= ?5G0B8 Print rangeQPrintSettingsOutput 1@0B=K9 ?>@O4>:ReverseQPrintSettingsOutput&K45;5==K9 D@03<5=B SelectionQPrintSettingsOutput&> :>@>B:>9 AB>@>=5 Short sideQPrintSettingsOutput?>toQPrintSettingsOutput&0720=85:&Name: QPrintWidget...... QPrintWidget $>@<0Form QPrintWidget 0A?>;>65=85: Location: QPrintWidgetK2>4 2 &D09;: Output &file: QPrintWidget!&2>9AB20 P&roperties QPrintWidget@>A<>B@Preview QPrintWidget@8=B5@Printer QPrintWidget"8?:Type: QPrintWidgetf5 C40;>AL >B:@KBL ?5@5=0?@02;5=85 22>40 4;O GB5=8O,Could not open input redirection for readingQProcessh5 C40;>AL >B:@KBL ?5@5=0?@02;5=85 2K2>40 4;O 70?8A8-Could not open output redirection for writingQProcessFH81:0 ?>;CG5=8O 40==KE >B ?@>F5AA0Error reading from processQProcess>H81:0 >B?@02:8 40==KE ?@>F5AACError writing to processQProcess(@>3@0<<0 =5 C:070=0No program definedQProcess8@>F5AA 7025@H8;AO A >H81:>9Process crashedQProcess@5 C40;>AL 70?CAB8BL ?@>F5AA: %1Process failed to start: %1QProcessJ@5<O =0 >?5@0F8N A ?@>F5AA>< 8AB5:;>Process operation timed outQProcessRH81:0 2K45;5=8O @5AC@A>2 (A1>9 fork): %1!Resource error (fork failure): %1QProcess B<5=0CancelQProgressDialogB:@KBLOpen QPushButtonB<5B8BLCheck QRadioButtonL=5?@028;L=K9 A8=B0:A8A :;0AA0 A8<2>;>2bad char class syntaxQRegExp@=5?@028;L=K9 A8=B0:A8A lookaheadbad lookahead syntaxQRegExpB=5?@028;L=K9 A8=B0:A8A ?>2B>@5=8Obad repetition syntaxQRegExpL8A?>;L7>20=85 >B:;NGQ==KE 2>7<>6=>AB59disabled feature usedQRegExp,=5:>@@5:B=0O :0B53>@8Oinvalid categoryQRegExp*=5:>@@5:B=K9 8=B5@20;invalid intervalQRegExpD=5:>@@5:B=>5 2>AL<5@8G=>5 7=0G5=85invalid octal valueQRegExpXlookbehind =5 ?>445@68205BAO, A<. QTBUG-2371)lookbehinds not supported, see QTBUG-2371QRegExpB4>AB83=CB> 2=CB@5==55 >3@0=8G5=85met internal limitQRegExp:>BACBAB2C5B ;52K9 @0745;8B5;Lmissing left delimQRegExp$>H81:8 >BACBAB2CNBno error occurredQRegExp"=5>6840==K9 :>=5Funexpected endQRegExp6H81:0 >B:@KB8O 107K 40==KEError opening databaseQSQLite2Driver852>7<>6=> =0G0BL B@0=70:F8NUnable to begin transactionQSQLite2Driver>52>7<>6=> 7025@H8BL B@0=70:F8NUnable to commit transactionQSQLite2Driver<52>7<>6=> >B:0B8BL B@0=70:F8NUnable to rollback transactionQSQLite2Driver<52>7<>6=> 2K?>;=8BL 2K@065=85Unable to execute statementQSQLite2Result<52>7<>6=> ?>;CG8BL @57C;LB0BKUnable to fetch resultsQSQLite2Result6H81:0 70:@KB8O 107K 40==KEError closing database QSQLiteDriver6H81:0 >B:@KB8O 107K 40==KEError opening database QSQLiteDriver852>7<>6=> =0G0BL B@0=70:F8NUnable to begin transaction QSQLiteDriver>52>7<>6=> 7025@H8BL B@0=70:F8NUnable to commit transaction QSQLiteDriver<52>7<>6=> >B:0B8BL B@0=70:F8NUnable to rollback transaction QSQLiteDriver$BACBAB2C5B 70?@>ANo query QSQLiteResultD>;8G5AB2> ?0@0<5B@>2 =5 A>2?0405BParameter count mismatch QSQLiteResult:52>7<>6=> ?@82O70BL ?0@0<5B@Unable to bind parameters QSQLiteResultl52>7<>6=> >4=>2@5<5==> 70?CAB8BL =5A:>;L:> >?5@0B>@>2/Unable to execute multiple statements at a time QSQLiteResult<52>7<>6=> 2K?>;=8BL 2K@065=85Unable to execute statement QSQLiteResult452>7<>6=> ?>;CG8BL AB@>:CUnable to fetch row QSQLiteResult:52>7<>6=> A1@>A8BL 2K@065=85Unable to reset statement QSQLiteResult#A;>285 ConditionQScriptBreakpointsModel!>2?045=89 Hit-countQScriptBreakpointsModelIDIDQScriptBreakpointsModel@>?CI5=> Ignore-countQScriptBreakpointsModel 07<5I5=85LocationQScriptBreakpointsModel4=>:@0B=> Single-shotQScriptBreakpointsModel#40;8BLDeleteQScriptBreakpointsWidget >20ONewQScriptBreakpointsWidget(&09B8 2 AF5=0@88...&Find in Script...QScriptDebugger G8AB8BL :>=A>;L Clear ConsoleQScriptDebugger2G8AB8BL >B;04>G=K9 2K2>4Clear Debug OutputQScriptDebugger,G8AB8BL 6C@=0; >H81>:Clear Error LogQScriptDebugger@>4>;68BLContinueQScriptDebugger Ctrl+FCtrl+FQScriptDebuggerCtrl+F10Ctrl+F10QScriptDebugger Ctrl+GCtrl+GQScriptDebuggerB;04:0DebugQScriptDebuggerF10F10QScriptDebuggerF11F11QScriptDebuggerF3F3QScriptDebuggerF5F5QScriptDebuggerF9F9QScriptDebugger 09B8 &A;54CNI55 Find &NextQScriptDebugger"09B8 &?@54K4CI55Find &PreviousQScriptDebugger 5@59B8 : AB@>:5 Go to LineQScriptDebugger@5@20BL InterruptQScriptDebugger!B@>:0:Line:QScriptDebugger(K?>;=8BL 4> :C@A>@0 Run to CursorQScriptDebugger8K?>;=8BL 4> =>2>3> AF5=0@8ORun to New ScriptQScriptDebuggerShift+F11 Shift+F11QScriptDebuggerShift+F3Shift+F3QScriptDebuggerShift+F5Shift+F5QScriptDebugger>9B8 2 Step IntoQScriptDebugger K9B8 87 DC=:F88Step OutQScriptDebugger5@59B8 G5@57 Step OverQScriptDebugger@#AB0=>28BL/C1@0BL B>G:C >AB0=>20Toggle BreakpointQScriptDebugger<img src=":/qt/scripttools/debugging/images/wrap.png">&nbsp;>8A: A =0G0;0J Search wrappedQScriptDebuggerCodeFinderWidget"#G8BK20BL @538AB@Case SensitiveQScriptDebuggerCodeFinderWidget0:@KBLCloseQScriptDebuggerCodeFinderWidget!;54CNI89NextQScriptDebuggerCodeFinderWidget@54K4CI89PreviousQScriptDebuggerCodeFinderWidget!;>20 F5;8:>< Whole wordsQScriptDebuggerCodeFinderWidget0720=85NameQScriptDebuggerLocalsModel=0G5=85ValueQScriptDebuggerLocalsModel#@>25=LLevelQScriptDebuggerStackModel 07<5I5=85LocationQScriptDebuggerStackModel0720=85NameQScriptDebuggerStackModel.#A;>285 B>G:8 >AB0=>20:Breakpoint Condition: QScriptEdit*#1@0BL B>G:C >AB0=>20Disable Breakpoint QScriptEdit2#AB0=>28BL B>G:C >AB0=>20Enable Breakpoint QScriptEdit@#AB0=>28BL/C1@0BL B>G:C >AB0=>20Toggle Breakpoint QScriptEdit">G:8 >AB0=>20 BreakpointsQScriptEngineDebugger>=A>;LConsoleQScriptEngineDebugger B;04>G=K9 2K2>4 Debug OutputQScriptEngineDebuggerC@=0; >H81>: Error LogQScriptEngineDebugger(03@C65==K5 AF5=0@88Loaded ScriptsQScriptEngineDebugger(>:0;L=K5 ?5@5<5==K5LocalsQScriptEngineDebugger*B;04G8: AF5=0@852 QtQt Script DebuggerQScriptEngineDebugger >8A:SearchQScriptEngineDebugger!B5:StackQScriptEngineDebugger84ViewQScriptEngineDebugger0:@KBLCloseQScriptNewBreakpointWidget=87Bottom QScrollBar ;52>9 3@0=8F5 Left edge QScrollBar0 AB@>:C 2=87 Line down QScrollBar0 AB@>:C 225@ELine up QScrollBar 0 AB@0=8FC 2=87 Page down QScrollBar"0 AB@0=8FC 2;52> Page left QScrollBar$0 AB@0=8FC 2?@02> Page right QScrollBar"0 AB@0=8FC 225@EPage up QScrollBar>;>65=85Position QScrollBar  ?@02>9 3@0=8F5 Right edge QScrollBar@>:@CB8BL 2=87 Scroll down QScrollBar@>:@CB8BL AN40 Scroll here QScrollBar @>:@CB8BL 2;52> Scroll left QScrollBar"@>:@CB8BL 2?@02> Scroll right QScrollBar @>:@CB8BL 225@E Scroll up QScrollBar 25@ETop QScrollBarR%1: A?5F8D8G5A:89 :;NG UNIX =5 ACI5AB2C5B%1: UNIX key file doesn't exist QSharedMemory$%1: C65 ACI5AB2C5B%1: already exists QSharedMemory %1: =525@=>5 8<O %1: bad name QSharedMemory,%1: @07<5@ <5=LH5 =C;O%1: create size is less then 0 QSharedMemory"%1: =5 ACI5AB2C5B%1: doesn't exist QSharedMemory"%1: =5 ACI5AB2C5B%1: doesn't exists QSharedMemory%1: >H81:0 ftok%1: ftok failed QSharedMemory&%1: =525@=K9 @07<5@%1: invalid size QSharedMemory%1: ?CAB>9 :;NG%1: key is empty QSharedMemory$%1: =5 ?@8;>65==K9%1: not attached QSharedMemory2%1: =54>AB0B>G=> @5AC@A>2%1: out of resources QSharedMemory&%1: 4>ABC? 70?@5IQ=%1: permission denied QSharedMemory>%1: =5 C40;>AL 70?@>A8BL @07<5@%1: size query failed QSharedMemoryV%1: A8AB5<>9 =0;>65=K >3@0=8G5=8O =0 @07<5@$%1: system-imposed size restrictions QSharedMemory8%1: =52>7<>6=> 701;>:8@>20BL%1: unable to lock QSharedMemory6%1: =52>7<>6=> A>740BL :;NG%1: unable to make key QSharedMemoryR%1: =52>7<>6=> CAB0=>28BL :;NG 1;>:8@>2:8%1: unable to set key on lock QSharedMemory:%1: =52>7<>6=> @071;>:8@>20BL%1: unable to unlock QSharedMemory2%1: =58725AB=0O >H81:0 %2%1: unknown error %2 QSharedMemory++ QShortcut(>1028BL 2 871@0==>5 Add Favorite QShortcut"0AB@>9:0 O@:>AB8Adjust Brightness QShortcutAltAlt QShortcutF0F8:;5==>5 2>A?@>872545=85 4>@>6:8Audio Cycle Track QShortcut@>A;54>20B5;L=>5 2>A?@>872545=85 Audio Forward QShortcut2!;CG09=>5 2>A?@>872545=85Audio Random Play QShortcut0>A?@>872545=85 ?> :@C3C Audio Repeat QShortcut*5@5<>B:0 0C48> =0704 Audio Rewind QShortcut#HQ;Away QShortcut 0704Back QShortcut0704/2?5@Q4 Back Forward QShortcutBackspace Backspace QShortcutBacktabBacktab QShortcut#A8;5=85 10A>2 Bass Boost QShortcut0AK =865 Bass Down QShortcut0AK 2KH5Bass Up QShortcut0B0@5OBattery QShortcutBluetooth Bluetooth QShortcut =830Book QShortcut1>7@520B5;LBrowser QShortcutCDCD QShortcut0;L:C;OB>@ Calculator QShortcut>72>=8BLCall QShortcut$$>:CA8@>2:0 :0<5@K Camera Focus QShortcut0B2>@ :0<5@KCamera Shutter QShortcut5@=89 @538AB@ Caps Lock QShortcutCapsLockCapsLock QShortcutG8AB8BLClear QShortcut0:@KBLClose QShortcut2>4 :>40 Code input QShortcut!>>1I5AB2> Community QShortcut>?8@>20BLCopy QShortcutCtrlCtrl QShortcutK@570BLCut QShortcutDOSDOS QShortcutDelDel QShortcut#40;8BLDelete QShortcutB>1@078BLDisplay QShortcut>:C<5=BK Documents QShortcut=87Down QShortcut72;5GLEject QShortcutEndEnd QShortcut EnterEnter QShortcutEscEsc QShortcut EscapeEscape QShortcutF%1F%1 QShortcut71@0==>5 Favorites QShortcut$8=0=AKFinance QShortcut @KH:0Flip QShortcut ?5@Q4Forward QShortcut3@0Game QShortcut5@59B8Go QShortcut B1>9Hangup QShortcut!?@02:0Help QShortcut#AK?8BL Hibernate QShortcutAB>@8OHistory QShortcutHomeHome QShortcut><0H=89 >D8A Home Office QShortcut"><0H=OO AB@0=8F0 Home Page QShortcut>@OG85 AAK;:8 Hot Links QShortcutInsIns QShortcutAB028BLInsert QShortcutL#<5=LH8BL O@:>ABL ?>4A25B:8 :;0280BC@KKeyboard Brightness Down QShortcutL#25;8G8BL O@:>ABL ?>4A25B:8 :;0280BC@KKeyboard Brightness Up QShortcut>:;./B:;. ?>4A25B:C :;0280BC@KKeyboard Light On/Off QShortcut";0280BC@=>5 <5=N Keyboard Menu QShortcut>2B>@=K9 =01>@Last Number Redial QShortcut0?CAB8BL (0) Launch (0) QShortcut0?CAB8BL (1) Launch (1) QShortcut0?CAB8BL (2) Launch (2) QShortcut0?CAB8BL (3) Launch (3) QShortcut0?CAB8BL (4) Launch (4) QShortcut0?CAB8BL (5) Launch (5) QShortcut0?CAB8BL (6) Launch (6) QShortcut0?CAB8BL (7) Launch (7) QShortcut0?CAB8BL (8) Launch (8) QShortcut0?CAB8BL (9) Launch (9) QShortcut0?CAB8BL (A) Launch (A) QShortcut0?CAB8BL (B) Launch (B) QShortcut0?CAB8BL (C) Launch (C) QShortcut0?CAB8BL (D) Launch (D) QShortcut0?CAB8BL (E) Launch (E) QShortcut0?CAB8BL (F) Launch (F) QShortcut >GB0 Launch Mail QShortcut@>83@K20B5;L Launch Media QShortcut ;52>Left QShortcut0<?>G:0 LightBulb QShortcut K9B8 87 A8AB5<KLogoff QShortcut 5@5A;0BL ?8AL<> Mail Forward QShortcut  K=>:Market QShortcut.>A?@>8725AB8 A;54CNI55 Media Next QShortcut:@8>AB0=>28BL 2>A?@>872545=85 Media Pause QShortcut,0G0BL 2>A?@>872545=85 Media Play QShortcut0>A?@>8725AB8 ?@54K4CI55Media Previous QShortcut0G0BL 70?8AL Media Record QShortcut4AB0=>28BL 2>A?@>872545=85 Media Stop QShortcutAB@5G0Meeting QShortcut5=NMenu QShortcutJ;85=B >1<5=0 <3=>25==K<8 A>>1I5=8O<8 Messenger QShortcutMetaMeta QShortcut4#<5=LH8BL O@:>ABL <>=8B>@0Monitor Brightness Down QShortcut4#25;8G8BL O@:>ABL <>=8B>@0Monitor Brightness Up QShortcut&5A:>;L:> 20@80=B>2Multiple Candidate QShortcut C7K:0Music QShortcut>8 A09BKMy Sites QShortcut>2>AB8News QShortcut5BNo QShortcut &8D@>2K5 :;028H8Num Lock QShortcutNumLockNumLock QShortcut &8D@>2K5 :;028H8 Number Lock QShortcutB:@KBL URLOpen URL QShortcut ?F8OOption QShortcut 0 AB@0=8FC 2=87 Page Down QShortcut"0 AB@0=8FC 225@EPage Up QShortcutAB028BLPaste QShortcut PausePause QShortcut PgDownPgDown QShortcutPgUpPgUp QShortcut"5;5D>=Phone QShortcut7>1@065=8OPictures QShortcut$B:;NG5=85 ?8B0=8O Power Off QShortcut$@54K4CI89 20@80=BPrevious Candidate QShortcut PrintPrint QShortcut5G0BL M:@0=0 Print Screen QShortcut1=>28BLRefresh QShortcut5@5703@C78BLReload QShortcutB25B8BLReply QShortcut ReturnReturn QShortcut ?@02>Right QShortcut>25@=CBL >:=0Rotate Windows QShortcut!>E@0=8BLSave QShortcut"-:@0==0O 70AB02:0 Screensaver QShortcutScroll Lock Scroll Lock QShortcutScrollLock ScrollLock QShortcut >8A:Search QShortcutK1@0BLSelect QShortcutB?@028BLSend QShortcut ShiftShift QShortcut03078=Shop QShortcut!?OI89 @568<Sleep QShortcut @>15;Space QShortcut&@>25@:0 >@D>3@0D88 Spellchecker QShortcut 0745;8BL M:@0= Split Screen QShortcut&-;5:B@>==0O B01;8FK Spreadsheet QShortcut 568< >6840=8OStandby QShortcutAB0=>28BLStop QShortcut!C1B8B@KSubtitle QShortcut>445@6:0Support QShortcut@8>AB0=>28BLSuspend QShortcut SysReqSysReq QShortcut !8AB5<=K9 70?@>ASystem Request QShortcutTabTab QShortcut0=5;L 7040G Task Panel QShortcut"5@<8=0;Terminal QShortcut @5<OTime QShortcut*!=OBL/?>;>68BL B@C1:CToggle Call/Hangup QShortcutP@8>AB0=>28BL/?@>4>;68BL 2>A?@>872545=85Toggle Media Play/Pause QShortcut=AB@C<5=BKTools QShortcut;02=>5 <5=NTop Menu QShortcutCB5H5AB285Travel QShortcut' =865 Treble Down QShortcut' 2KH5 Treble Up QShortcut2!25@EH8@>:>?>;>A=0O A2O7LUltra Wide Band QShortcut 25@EUp QShortcut 845>Video QShortcut84View QShortcut>;>A>2>9 2K7>2 Voice Dial QShortcut"8H5 Volume Down QShortcutK:;NG8BL 72C: Volume Mute QShortcut @><G5 Volume Up QShortcutWWWWWW QShortcut@>1C645=85Wake Up QShortcutM1-:0<5@0WebCam QShortcut"5A?@>2>4=0O A5BLWireless QShortcut$"5:AB>2K9 @540:B>@Word Processor QShortcut0Yes QShortcut#25;8G8BLZoom In QShortcut#<5=LH8BLZoom Out QShortcut iTouchiTouch QShortcut!B@0=8F0 2=87 Page downQSlider!B@0=8F0 2;52> Page leftQSlider!B@0=8F0 2?@02> Page rightQSlider!B@0=8F0 225@EPage upQSlider>;>65=85PositionQSlider8"8? 04@5A0 =5 ?>445@68205BAOAddress type not supportedQSocks5SocketEngineP!>548=5=85 =5 @07@5H5=> A5@25@>< SOCKSv5(Connection not allowed by SOCKSv5 serverQSocks5SocketEngine^!>548=5=85 A ?@>:A8-A5@25@>< =5>6840==> 70:@KB>&Connection to proxy closed prematurelyQSocks5SocketEngineN A>548=5=88 A ?@>:A8-A5@25@>< >B:070=>Connection to proxy refusedQSocks5SocketEngineZ@5<O =0 A>548=5=85 A ?@>:A8-A5@25@>< 8AB5:;>Connection to proxy timed outQSocks5SocketEngine,H81:0 A5@25@5 SOCKSv5General SOCKSv5 server failureQSocks5SocketEngineB@5<O =0 A5B52CN >?5@0F8N 8AB5:;>Network operation timed outQSocks5SocketEngineV5 C40;>AL 02B>@87>20BLAO =0 ?@>:A8-A5@25@5Proxy authentication failedQSocks5SocketEngine^5 C40;>AL 02B>@87>20BLAO =0 ?@>:A8-A5@25@5: %1Proxy authentication failed: %1QSocks5SocketEngine.@>:A8-A5@25@ =5 =0945=Proxy host not foundQSocks5SocketEngine0H81:0 ?@>B>:>;0 SOCKSv5SOCKS version 5 protocol errorQSocks5SocketEngineB><0=40 SOCKSv5 =5 ?>445@68205BAOSOCKSv5 command not supportedQSocks5SocketEngineTTL 8AB5:;> TTL expiredQSocks5SocketEngineX58725AB=0O >H81:0 SOCKSv5 ?@>:A8 (:>4 0x%1)%Unknown SOCKSv5 proxy error code 0x%1QSocks5SocketEngine B<5=0CancelQSoftKeyManager >B>2>DoneQSoftKeyManager KE>4ExitQSoftKeyManagerOKOKQSoftKeyManager0@0<5B@KOptionsQSoftKeyManagerK1@0BLSelectQSoftKeyManager 5=LH5LessQSpinBox >;LH5MoreQSpinBox B<5=0CancelQSql&B<5=8BL 87<5=5=8O?Cancel your edits?QSql>4B25@645=85ConfirmQSql#40;8BLDeleteQSql,#40;8BL 40==CN 70?8AL?Delete this record?QSqlAB028BLInsertQSql5BNoQSql(!>E@0=8BL 87<5=5=8O? Save edits?QSql1=>28BLUpdateQSql0YesQSql`52>7<>6=> ?@54>AB028BL A5@B8D8:0B 157 :;NG0, %1,Cannot provide a certificate with no key, %1 QSslSocketFH81:0 A>740=8O :>=B5:AB0 SSL: (%1)Error creating SSL context (%1) QSslSocket<H81:0 A>740=8O A5AA88 SSL, %1Error creating SSL session, %1 QSslSocket<H81:0 A>740=8O A5AA88 SSL: %1Error creating SSL session: %1 QSslSocket6H81:0 :28B8@>20=8O SSL: %1Error during SSL handshake: %1 QSslSocketTH81:0 703@C7:8 ;>:0;L=>3> A5@B8D8:0B0, %1#Error loading local certificate, %1 QSslSocketFH81:0 703@C7:8 70:@KB>3> :;NG0, %1Error loading private key, %1 QSslSocket"H81:0 GB5=8O: %1Error while reading: %1 QSslSocketT5:>@@5:B=K9 8;8 ?CAB>9 A?8A>: H8D@>2 (%1)!Invalid or empty cipher list (%1) QSslSocket@5 C40;>AL ?@>25@8BL A5@B8D8:0BK!No certificates could be verified QSslSocket5B >H81:8No error QSslSocketh48= 87 A5@B8D8:0B>2 F5=B@0 A5@B8D8:0F88 =5:>@@5:B5=%One of the CA certificates is invalid QSslSocketd0:@KBK9 :;NG =5 A>>B25BAB2C5B >B:@KB><C :;NGC, %1+Private key does not certify public key, %1 QSslSocket@52KH5=> 7=0G5=85 ?0@0<5B@0 4;8=K ?CB8 ?>;O basicConstraints A5@B8D8:0B0!@>: 459AB28O A5@B8D8:0B0 8ABQ:The certificate has expired QSslSocketR!@>: 459AB28O A5@B8D8:0B0 5IQ =5 =0ABC?8; The certificate is not yet valid QSslSocketf!5@B8D8:0B A0<>?>4?8A0==K9 8 =5 O2;O5BAO 7025@5==K<-The certificate is self-signed, and untrusted QSslSocketV5 C40;>AL @0AH8D@>20BL ?>4?8AL A5@B8D8:0B00The certificate signature could not be decrypted QSslSocketj>;5 notAfter A5@B8D8:0B0 A>45@68B =5:>@@5:B=>5 2@5<O9The certificate's notAfter field contains an invalid time QSslSocketl>;5 notBefore A5@B8D8:0B0 A>45@68B =5:>@@5:B=>5 2@5<O:The certificate's notBefore field contains an invalid time QSslSocket "5:CI89 A5@B8D8:0B 8740B5;O 1K; >B:;>=Q=, B0: :0: =0720=85 8740B5;O 8 A5@89=K9 =><5@ =5 A>2?040NB A 845=B8D8:0B>@>< :;NG0 A5@B8D8:0B0The current candidate issuer certificate was rejected because its issuer name and serial number was present and did not match the authority key identifier of the current certificate QSslSocket"5:CI89 A5@B8D8:0B 8740B5;O 1K; >B:;>=Q=, B0: :0: =0720=85 B5<K =5 A>2?0405B A =0720=85< 8740B5;O A5@B8D8:0B0The current candidate issuer certificate was rejected because its subject name did not match the issuer name of the current certificate QSslSocket0720=85 C7;0 =5 A>2?0405B A 4>?CAB8<K<8 =0720=8O<8 C7;>2 A5@B8D8:0B0GThe host name did not match any of the valid hosts for this certificate QSslSocketH5 C40;>AL =09B8 A5@B8D8:0B 8740B5;O)The issuer certificate could not be found QSslSocketv5 C40;>AL =09B8 A5@B8D8:0B 8740B5;O ;>:0;L=>3> A5@B8D8:0B0LThe issuer certificate of a locally looked up certificate could not be found QSslSocket>!5@B8D8:0B C7;0 2 GQ@=>< A?8A:5#The peer certificate is blacklisted QSslSocket<!5@B8D8:0B =5 1K; ?@54>AB02;5=(The peer did not present any certificate QSslSocket\5 C40;>AL ?@>G8B0BL >B:@KBK9 :;NG A5@B8D8:0B03The public key in the certificate could not be read QSslSocket>@=52>9 A5@B8D8:0B F5=B@0 A5@B8D8:0F88 >B<5G5= =0 >B:;>=5=85 4;O 40==>9 F5;8AThe root CA certificate is marked to reject the specified purpose QSslSocket>@=52>9 A5@B8D8:0B F5=B@0 A5@B8D8:0F88 =5 O2;O5BAO 7025@5==K< 4;O 40==>9 F5;87The root CA certificate is not trusted for this purpose QSslSocket>@=52>9 A5@B8D8:0B F5?>G:8 A5@B8D8:0B>2 A0<>?>4?8A0==K9 8 =5 O2;O5BAO 7025@5==K<KThe root certificate of the certificate chain is self-signed, and untrusted QSslSocket@5:>@@5:B=0O ?>4?8AL A5@B8D8:0B0+The signature of the certificate is invalid QSslSocketh@54AB02;5==K9 A5@B8D8:0B =5?@83>45= 4;O 40==>9 F5;87The supplied certificate is unsuitable for this purpose QSslSocketD52>7<>6=> @0AH8D@>20BL 40==K5: %1Unable to decrypt data: %1 QSslSocket<52>7<>6=> 70?8A0BL 40==K5: %1Unable to write data: %1 QSslSocket$58725AB=0O >H81:0 Unknown error QSslSocketBACBAB2C5B A>AB>O=85 ?> C<>;G0=8N 2 8AB>@8G5A:>< A>AB>O=88 %1+Missing default state in history state '%1' QStateMachinerBACBAB2C5B 8AE>4=>5 A>AB>O=85 2 A>AB02=>< A>AB>O=88 %1,Missing initial state in compound state '%1' QStateMachine~5B >1I53> ?@54:0 C 8AB>G=8:0 8 F5;8 ?5@5E>40 87 A>AB>O=8O %1GNo common ancestor for targets and source of transition from state '%1' QStateMachine$58725AB=0O >H81:0 Unknown error QStateMachine6H81:0 >B:@KB8O 107K 40==KEError opening database QSymSQLDriver&525@=K9 ?0@0<5B@: Invalid option:  QSymSQLDriverPOLICY_DB_DEFAULT 4>;6=0 1KBL 7040=0 4> =0G0;0 8A?>;L7>20=8O 4@C38E >?@545;5=89 POLICYQPOLICY_DB_DEFAULT must be defined before any other POLICY definitions can be used QSymSQLDriver852>7<>6=> =0G0BL B@0=70:F8NUnable to begin transaction QSymSQLDriver>52>7<>6=> 7025@H8BL B@0=70:F8NUnable to commit transaction QSymSQLDriver<52>7<>6=> >B:0B8BL B@0=70:F8NUnable to rollback transaction QSymSQLDriverFH81:0 ?>;CG5=8O :>;8G5AB20 :>;>=>:Error retrieving column count QSymSQLResultBH81:0 ?>;CG5=8O =0720=8O :>;>=:8Error retrieving column name QSymSQLResult:H81:0 ?>;CG5=8O B8?0 :>;>=:8Error retrieving column type QSymSQLResultD>;8G5AB2> ?0@0<5B@>2 =5 A>2?0405BParameter count mismatch QSymSQLResult2K@065=85 =5 ?>43>B>2;5=>Statement is not prepared QSymSQLResult:52>7<>6=> ?@82O70BL ?0@0<5B@Unable to bind parameters QSymSQLResult<52>7<>6=> 2K?>;=8BL 2K@065=85Unable to execute statement QSymSQLResult452>7<>6=> ?>;CG8BL AB@>:CUnable to fetch row QSymSQLResult:52>7<>6=> A1@>A8BL 2K@065=85Unable to reset statement QSymSQLResultN@C3>9 A>:5B C65 ?@>A;CH8205B MB>B ?>@B4Another socket is already listening on the same portQSymbianSocketEngine|>?KB:0 8A?>;L7>20BL IPv6 =0 ?;0BD>@<5, =5 ?>445@6820NI59 IPv6=Attempt to use IPv6 socket on a platform with no IPv6 supportQSymbianSocketEngine*B:070=> 2 A>548=5=88Connection refusedQSymbianSocketEngine6@5<O =0 A>548=5=85 8AB5:;>Connection timed outQSymbianSocketEngineN0B03@0<<0 A;8H:>< 1>;LH0O 4;O >B?@02:8Datagram was too large to sendQSymbianSocketEngine#75; =54>ABC?5=Host unreachableQSymbianSocketEngine<5:>@@5:B=K9 45A:@8?B>@ A>:5B0Invalid socket descriptorQSymbianSocketEngineH81:0 A5B8 Network errorQSymbianSocketEngineB@5<O =0 A5B52CN >?5@0F8N 8AB5:;>Network operation timed outQSymbianSocketEngine!5BL =54>ABC?=0Network unreachableQSymbianSocketEngine*?5@0F8O A =5-A>:5B><Operation on non-socketQSymbianSocketEngine*54>AB0B>G=> @5AC@A>2Out of resourcesQSymbianSocketEngine>ABC? 70?@5IQ=Permission deniedQSymbianSocketEngine4@>B>:>; =5 ?>445@68205BAOProtocol type not supportedQSymbianSocketEngineT0==K9 04@5A =5 4>?CAB8< 4;O MB>9 >?5@0F88)The address is invalid for this operationQSymbianSocketEngine 4@5A =54>ABC?5=The address is not availableQSymbianSocketEngine4@5A 70I8IQ=The address is protectedQSymbianSocketEngine,4@5A C65 8A?>;L7C5BAO#The bound address is already in useQSymbianSocketEnginef5:>@@5:B=K9 B8? ?@>:A8-A5@25@0 4;O 40==>9 >?5@0F88,The proxy type is invalid for this operationQSymbianSocketEngine@#40;Q==K9 C75; 70:@K; A>548=5=85%The remote host closed the connectionQSymbianSocketEngineF#:070==0O A5B520O A5AA8O =5 >B:@KB0+The specified network session is not openedQSymbianSocketEnginef52>7<>6=> 8=8F80;878@>20BL H8@>:>25I0B5;L=K9 A>:5B%Unable to initialize broadcast socketQSymbianSocketEngineX52>7<>6=> 8=8F80;878@>20BL =5-1;>G=K9 A>:5B(Unable to initialize non-blocking socketQSymbianSocketEngine:52>7<>6=> ?>;CG8BL A>>1I5=85Unable to receive a messageQSymbianSocketEngine<52>7<>6=> >B?@028BL A>>1I5=85Unable to send a messageQSymbianSocketEngine&52>7<>6=> 70?8A0BLUnable to writeQSymbianSocketEngine$58725AB=0O >H81:0 Unknown errorQSymbianSocketEngineH?5@0F8O A A>:5B>< =5 ?>445@68205BAOUnsupported socket operationQSymbianSocketEngine$%1: C65 ACI5AB2C5B%1: already existsQSystemSemaphore"%1: =5 ACI5AB2C5B%1: does not existQSystemSemaphore$%1: >H81:0 2 8<5=8%1: name errorQSystemSemaphore2%1: =54>AB0B>G=> @5AC@A>2%1: out of resourcesQSystemSemaphore&%1: 4>ABC? 70?@5IQ=%1: permission deniedQSystemSemaphore2%1: =58725AB=0O >H81:0 %2%1: unknown error %2QSystemSemaphore:52>7<>6=> >B:@KBL A>548=5=85Unable to open connection QTDSDriverF52>7<>6=> 8A?>;L7>20BL 107C 40==KEUnable to use database QTDSDriver:B828@>20BLActivateQTabBar(:B828@>20BL 2:;04:CActivate the tabQTabBar0:@KBLCloseQTabBar0:@KBL 2:;04:C Close the tabQTabBar 060BLPressQTabBar @>:@CB8BL 2;52> Scroll LeftQTabBar"@>:@CB8BL 2?@02> Scroll RightQTabBarH?5@0F8O A A>:5B>< =5 ?>445@68205BAO$Operation on socket is not supported QTcpServer&>?8@>20BL&Copy QTextControl&AB028BL&Paste QTextControl&&>2B>@8BL 459AB285&Redo QTextControl$&B<5=8BL 459AB285&Undo QTextControl2!:>?8@>20BL &04@5A AAK;:8Copy &Link Location QTextControl&K@570BLCu&t QTextControl#40;8BLDelete QTextControlK45;8BL 2AQ Select All QTextControlB:@KBLOpen QToolButton 060BLPress QToolButtonJ0==0O ?;0BD>@<0 =5 ?>445@68205B IPv6#This platform does not support IPv6 QUdpSocket$>2B>@8BL 459AB285Redo QUndoGroup>2B>@8BL %1Redo %1 QUndoGroup"B<5=8BL 459AB285Undo QUndoGroupB<5=8BL %1Undo %1 QUndoGroup<?CAB>> QUndoModel$>2B>@8BL 459AB285Redo QUndoStack>2B>@8BL %1Redo %1 QUndoStack"B<5=8BL 459AB285Undo QUndoStackB<5=8BL %1Undo %1 QUndoStackFAB028BL C?@02;ONI89 A8<2>; Unicode Insert Unicode control characterQUnicodeControlCharacterMenu\LRE 0G0;> 2AB@0820=8O =0?8A0=8O A;520 =0?@02>$LRE Start of left-to-right embeddingQUnicodeControlCharacterMenuFLRM @87=0: =0?8A0=8O A;520 =0?@02>LRM Left-to-right markQUnicodeControlCharacterMenuRLRO 0G0;> 70<5=K =0?8A0=8O A;520 =0?@02>#LRO Start of left-to-right overrideQUnicodeControlCharacterMenujPDF @87=0: >:>=G0=8O =0?8A0=8O A 4@C38< =0?@02;5=85<PDF Pop directional formattingQUnicodeControlCharacterMenu\LRE 0G0;> 2AB@0820=8O =0?8A0=8O A?@020 =0;52>$RLE Start of right-to-left embeddingQUnicodeControlCharacterMenuFRLM @87=0: =0?8A0=8O A?@020 =0;52>RLM Right-to-left markQUnicodeControlCharacterMenuRRLO 0G0;> 70<5=K =0?8A0=8O A?@020 =0;52>#RLO Start of right-to-left overrideQUnicodeControlCharacterMenuLZWJ 1J548=ONI89 A8<2>; =C;52>9 H8@8=KZWJ Zero width joinerQUnicodeControlCharacterMenuRZWNJ 5>1J548=ONI89 A8<2>; =C;52>9 H8@8=KZWNJ Zero width non-joinerQUnicodeControlCharacterMenu4ZWSP @>15; =C;52>9 H8@8=KZWSP Zero width spaceQUnicodeControlCharacterMenu252>7<>6=> >B>1@078BL URLCannot show URL QWebFrame<52>7<>6=> >B>1@078BL B8? MIMECannot show mimetype QWebFrame$$09; =5 ACI5AB2C5BFile does not exist QWebFrameX03@C7:0 D@59<0 ?@5@20=0 87<5=5=85< ?>;8B8:8'Frame load interrupted by policy change QWebFrameX03@C7:0 2K?>;=O5BAO <C;LB8<5480-?>4A8AB5<>9&Loading is handled by the media engine QWebFrame"0?@>A 1;>:8@>20=Request blocked QWebFrame0?@>A >B<5=Q=Request canceled QWebFrame0?@>A >B<5=Q=Request cancelled QWebFrame%1 (%2x%3 px)%1 (%2x%3 pixels)QWebPageF%1 4=59 %2 G0A>2 %3 <8=CB %4 A5:C=4&%1 days %2 hours %3 minutes %4 secondsQWebPage6%1 G0A>2 %2 <8=CB %3 A5:C=4%1 hours %2 minutes %3 secondsQWebPage$%1 <8=CB %2 A5:C=4%1 minutes %2 secondsQWebPage%1 A5:C=4 %1 secondsQWebPage%n D09;(0)%n D09;0%n D09;>2 %n file(s)QWebPage$>1028BL 2 A;>20@LAdd To DictionaryQWebPage> ;52><C :@0N Align LeftQWebPage> ?@02><C :@0N Align RightQWebPageC48>-M;5<5=B Audio ElementQWebPage-;5<5=BK C?@02;5=8O 2>A?@>872545=85< 72C:0 8 >B>1@065=85< A>AB>O=8O2Audio element playback controls and status displayQWebPage,0G0BL 2>A?@>872545=85Begin playbackQWebPage 8@=K9BoldQWebPage=87BottomQWebPage> F5=B@CCenterQWebPageD@>25@OBL 3@0<<0B8:C A >@D>3@0D859Check Grammar With SpellingQWebPage&@>25@:0 >@D>3@0D88Check SpellingQWebPageL@>25@OBL >@D>3@0D8N ?@8 =01>@5 B5:AB0Check Spelling While TypingQWebPageK1@0BL D09; Choose FileQWebPage.G8AB8BL 8AB>@8N ?>8A:0Clear recent searchesQWebPage>?8@>20BLCopyQWebPage"!:>?8@>20BL 0C48> Copy AudioQWebPage,>?8@>20BL 87>1@065=85 Copy ImageQWebPage:!:>?8@>20BL 04@5A 87>1@065=8OCopy Image AddressQWebPage.>?8@>20BL 04@5A AAK;:8 Copy LinkQWebPage"!:>?8@>20BL 2845> Copy VideoQWebPage0"5:CI55 A>AB>O=85 D8;L<0Current movie statusQWebPage("5:CI55 2@5<O D8;L<0Current movie timeQWebPageK@570BLCutQWebPage> C<>;G0=8NDefaultQWebPage,#40;8BL 4> :>=F0 A;>20Delete to the end of the wordQWebPage.#40;8BL 4> =0G0;0 A;>20Delete to the start of the wordQWebPage>4@>1=>AB8DetailsQWebPage$0?@02;5=85 ?8AL<0 DirectionQWebPage@>H;> 2@5<5=8 Elapsed TimeQWebPage&>;=>M:@0==K9 @568<Enter FullscreenQWebPage (@8DBKFontsQWebPage,=>?:0 0 25AL M:@0=Fullscreen ButtonQWebPage 0704Go BackQWebPage ?5@Q4 Go ForwardQWebPageF!:@KBL ?0=5;L ?@>25@:8 ?@02>?8A0=8OHide Spelling and GrammarQWebPage@>?CAB8BLIgnoreQWebPage@>?CAB8BL Ignore Grammar context menu itemIgnoreQWebPage&@5<O =5 >?@545;5=>Indefinite timeQWebPage #25;8G8BL >BABC?IndentQWebPage:AB028BL <0@:8@>20==K9 A?8A>:Insert Bulleted ListQWebPage8AB028BL =C<5@>20==K9 A?8A>:Insert Numbered ListQWebPage*AB028BL =>2CN AB@>:CInsert a new lineQWebPage.AB028BL =>2K9 ?0@03@0DInsert a new paragraphQWebPage@>25@8BLInspectQWebPage C@A82ItalicQWebPage>JavaScript: @54C?@5645=85 - %1JavaScript Alert - %1QWebPage<JavaScript: >4B25@645=85 - %1JavaScript Confirm - %1QWebPage2JavaScript: @>1;5<0 - %1JavaScript Problem - %1QWebPage.JavaScript: 0?@>A - %1JavaScript Prompt - %1QWebPage> H8@8=5JustifyQWebPage ;52>9 3@0=8F5 Left edgeQWebPage!;520 =0?@02> Left to RightQWebPage">B>:>2>5 25I0=85Live BroadcastQWebPage03@C7:0... Loading...QWebPage A:0BL 2 A;>20@5Look Up In DictionaryQWebPage$>4C;L >BACBAB2C5BMissing Plug-inQWebPageF5@5<5AB8BL C:070B5;L 2 :>=5F 1;>:0'Move the cursor to the end of the blockQWebPageN5@5<5AB8BL C:070B5;L 2 :>=5F 4>:C<5=B0*Move the cursor to the end of the documentQWebPageH5@5<5AB8BL C:070B5;L 2 :>=5F AB@>:8&Move the cursor to the end of the lineQWebPageT5@5<5AB8BL C:070B5;L : A;54CNI5<C A8<2>;C%Move the cursor to the next characterQWebPageR5@5<5AB8BL C:070B5;L =0 A;54CNICN AB@>:C Move the cursor to the next lineQWebPageP5@5<5AB8BL C:070B5;L : A;54CNI5<C A;>2C Move the cursor to the next wordQWebPageV5@5<5AB8BL C:070B5;L : ?@54K4CI5<C A8<2>;C)Move the cursor to the previous characterQWebPageT5@5<5AB8BL C:070B5;L =0 ?@54K4CICN AB@>:C$Move the cursor to the previous lineQWebPageR5@5<5AB8BL C:070B5;L : ?@54K4CI5<C A;>2C$Move the cursor to the previous wordQWebPageH5@5<5AB8BL C:070B5;L 2 =0G0;> 1;>:0)Move the cursor to the start of the blockQWebPageP5@5<5AB8BL C:070B5;L 2 =0G0;> 4>:C<5=B0,Move the cursor to the start of the documentQWebPageJ5@5<5AB8BL C:070B5;L 2 =0G0;> AB@>:8(Move the cursor to the start of the lineQWebPage5@5<>B:0Movie time scrubberQWebPage">78F8O ?5@5<>B:8Movie time scrubber thumbQWebPage@83;CH8BLMuteQWebPage.=>?:0 B:;NG8BL 72C: Mute ButtonQWebPage4B:;NG8BL 72C:>2K5 4>@>6:8Mute audio tracksQWebPage*!>2?045=89 =5 =0945=>No Guesses FoundQWebPage$09; =5 C:070=No file selectedQWebPage(AB>@8O ?>8A:0 ?CAB0No recent searchesQWebPageB:@KBL 0C48> Open AudioQWebPageB:@KBL D@59< Open FrameQWebPage&B:@KBL 87>1@065=85 Open ImageQWebPageB:@KBL AAK;:C Open LinkQWebPageB:@KBL 2845> Open VideoQWebPage(B:@KBL 2 =>2>< >:=5Open in New WindowQWebPage #<5=LH8BL >BABC?OutdentQWebPage5@5GQ@:=CBK9OutlineQWebPage 0 AB@0=8FC 2=87 Page downQWebPage"0 AB@0=8FC 2;52> Page leftQWebPage$0 AB@0=8FC 2?@02> Page rightQWebPage"0 AB@0=8FC 225@EPage upQWebPageAB028BLPasteQWebPage0AB028BL, A>E@0=82 AB8;LPaste and Match StyleQWebPage@8>AB0=>28BLPauseQWebPage=>?:0 0C70 Pause ButtonQWebPage:@8>AB0=>28BL 2>A?@>872545=85Pause playbackQWebPage>A?@>8725AB8PlayQWebPage0=>?:0 >A?@>872545=85 Play ButtonQWebPaged>A?@>872545=85 2 @568<5 >B>1@065=8O =0 25AL M:@0=Play movie in full-screen modeQWebPageAB>@8O ?>8A:0Recent searchesQWebPage<>AB83=CB ?@545; ?5@504@5A0F88Redirection limit reachedQWebPage1=>28BLReloadQWebPage AB0;>AL 2@5<5=8Remaining TimeQWebPage.AB02H55AO 2@5<O D8;L<0Remaining movie timeQWebPage,#40;8BL D>@<0B8@>20=85Remove formattingQWebPage!1@>A8BLResetQWebPage~>72@0I05B ?>B>:>2>5 2845> : 2>A?@>872545=8N 2 @50;L=>< 2@5<5=8#Return streaming movie to real-timeQWebPageB=>?:0 5@=CBL 2 @50;L=>5 2@5<OReturn to Real-time ButtonQWebPage0=>?:0 5@5<>B:0 =0704 Rewind ButtonQWebPage$5@5<>B:0 2 =0G0;> Rewind movieQWebPage  ?@02>9 3@0=8F5 Right edgeQWebPage!?@020 =0;52> Right to LeftQWebPage*!>E@0=8BL 87>1@065=85 Save ImageQWebPage4!>E@0=8BL ?> AAK;:5 :0:... Save Link...QWebPage@>:@CB8BL 2=87 Scroll downQWebPage@>:@CB8BL AN40 Scroll hereQWebPage @>:@CB8BL 2;52> Scroll leftQWebPage"@>:@CB8BL 2?@02> Scroll rightQWebPage @>:@CB8BL 225@E Scroll upQWebPage"A:0BL 2 =B5@=5BSearch The WebQWebPage0=>?:0 5@5<>B:0 =0704Seek Back ButtonQWebPage2=>?:0 5@5<>B:0 2?5@Q4Seek Forward ButtonQWebPage.KAB@0O ?5@5<>B:0 =0704Seek quickly backQWebPage0KAB@0O ?5@5<>B:0 2?5@Q4Seek quickly forwardQWebPageK45;8BL 2AQ Select AllQWebPage.K45;8BL 4> :>=F0 1;>:0Select to the end of the blockQWebPage6K45;8BL 4> :>=F0 4>:C<5=B0!Select to the end of the documentQWebPage0K45;8BL 4> :>=F0 AB@>:8Select to the end of the lineQWebPage<K45;8BL 4> A;54CNI53> A8<2>;0Select to the next characterQWebPage8K45;8BL 4> A;54CNI59 AB@>:8Select to the next lineQWebPage8K45;8BL 4> A;54CNI53> A;>20Select to the next wordQWebPage>K45;8BL 4> ?@54K4CI53> A8<2>;0 Select to the previous characterQWebPage:K45;8BL 4> ?@54K4CI59 AB@>:8Select to the previous lineQWebPage:K45;8BL 4> ?@54K4CI53> A;>20Select to the previous wordQWebPage0K45;8BL 4> =0G0;0 1;>:0 Select to the start of the blockQWebPage8K45;8BL 4> =0G0;0 4>:C<5=B0#Select to the start of the documentQWebPage2K45;8BL 4> =0G0;0 AB@>:8Select to the start of the lineQWebPageJ>:070BL ?0=5;L ?@>25@:8 ?@02>?8A0=8OShow Spelling and GrammarQWebPage 53C;OB>@SliderQWebPage(#:070B5;L @53C;OB>@0 Slider ThumbQWebPage@D>3@0D8OSpellingQWebPage*B>1@065=85 A>AB>O=8OStatus DisplayQWebPageAB0=>28BLStopQWebPage0GQ@:=CBK9 StrikethroughQWebPageB?@028BLSubmitQWebPageB?@028BLQSubmit (input element) alt text for elements with no alt, title, or valueSubmitQWebPage>4AB@>G=K9 SubscriptQWebPage04AB@>G=K9 SuperscriptQWebPage$0?@02;5=85 B5:AB0Text DirectionQWebPage!1>9 2K?>;=5=8O AF5=0@8O =0 40==>9 AB@0=8F5. 5;05B5 >AB0=>28BL 2K?>;5=85 AF5=0@8O?RThe script on this page appears to have a problem. Do you want to stop the script?QWebPaged=45:A ?>8A:0. 2548B5 :;NG52K5 A;>20 4;O ?>8A:0: 3This is a searchable index. Enter search keywords: QWebPage&:;/2K:; C?@02;5=85Toggle ControlsQWebPage,:;/2K:; 70F8:;5==>ABL Toggle LoopQWebPage 25@ETopQWebPage>4GQ@:=CBK9 UnderlineQWebPage58725AB=>UnknownQWebPage,=>?:0 :;NG8BL 72C: Unmute ButtonQWebPage2:;NG8BL 72C:>2K5 4>@>6:8Unmute audio tracksQWebPage845>-M;5<5=B Video ElementQWebPage-;5<5=BK C?@02;5=8O 2>A?@>872545=85< 2845> 8 >B>1@065=85< A>AB>O=8O2Video element playback controls and status displayQWebPage&Web-8=A?5:B>@ - %2Web Inspector - %2QWebPage'B> MB>? What's This?QWhatsThisAction**QWidget&025@H8BL&FinishQWizard&!?@02:0&HelpQWizard &0;55&NextQWizard&0;55 >&Next >QWizard< &0704< &BackQWizard B<5=0CancelQWizard>4B25@48BLCommitQWizard@>4>;68BLContinueQWizard >B>2>DoneQWizard 0704Go BackQWizard!?@02:0HelpQWizard%1 - [%2] %1 - [%2] QWorkspace&0:@KBL&Close QWorkspace&5@5<5AB8BL&Move QWorkspace&>AAB0=>28BL&Restore QWorkspace& 07<5@&Size QWorkspace4&>AAB0=>28BL 87 703>;>2:0&Unshade QWorkspace0:@KBLClose QWorkspace &0A?0E=CBL Ma&ximize QWorkspace&!25@=CBL Mi&nimize QWorkspace!25@=CBLMinimize QWorkspace>AAB0=>28BL Restore Down QWorkspace*!2&5@=CBL 2 703>;>2>:Sh&ade QWorkspace$AB020BLAO &A25@EC Stay on &Top QWorkspacex2 >1JO2;5=88 XML >6840NBAO ?0@0<5B@K encoding 8;8 standaloneYencoding declaration or standalone declaration expected while reading the XML declarationQXmlH>H81:0 2 >1JO2;5=88 2=5H=53> >1J5:B03error in the text declaration of an external entityQXml4>H81:0 @071>@0 :><<5=B0@8O$error occurred while parsing commentQXml0>H81:0 @071>@0 4>:C<5=B0$error occurred while parsing contentQXmlP>H81:0 @071>@0 >1JO2;5=8O B8?0 4>:C<5=B05error occurred while parsing document type definitionQXml.>H81:0 @071>@0 M;5<5=B0$error occurred while parsing elementQXml*>H81:0 @071>@0 AAK;:8&error occurred while parsing referenceQXml8>H81:0 2K720=0 ?>;L7>20B5;5<error triggered by consumerQXml`2=5H=OO AAK;:0 =0 >1I89 >1J5:B =54>?CAB8<0 2 DTD;external parsed general entity reference not allowed in DTDQXml|2=5H=OO AAK;:0 =0 >1I89 >1J5:B =54>?CAB8<0 2 7=0G5=88 0B@81CB0Gexternal parsed general entity reference not allowed in attribute valueQXmlf2=CB@5==OO AAK;:0 =0 >1I89 >1J5:B =54>?CAB8<0 2 DTD4internal general entity reference not allowed in DTDQXmlD=5:>@@5:B=>5 8<O 48@5:B82K @071>@0'invalid name for processing instructionQXml>6840;0AL 1C:20letter is expectedQXmlFC:070=> 1>;55 >4=>3> B8?0 4>:C<5=B0&more than one document type definitionQXml$>H81:8 >BACBAB2CNBno error occurredQXml&@5:C@A82=K5 >1J5:BKrecursive entitiesQXml\2 >1JO2;5=88 XML >68405BAO ?0@0<5B@ standaloneAstandalone declaration expected while reading the XML declarationQXml BM3 =5 A>2?0405B tag mismatchQXml$=5>6840==K9 A8<2>;unexpected characterQXml.=5>6840==K9 :>=5F D09;0unexpected end of fileQXmln=5@07>1@0==0O AAK;:0 =0 >1J5:B 2 =5?@028;L=>< :>=B5:AB5*unparsed entity reference in wrong contextQXmlV2 >1JO2;5=88 XML >68405BAO ?0@0<5B@ version2version expected while reading the XML declarationQXmlT=5:>@@5:B=>5 7=0G5=85 ?0@0<5B@0 standalone&wrong value for standalone declarationQXmlVH81:0 %1 2 %2, 2 AB@>:5 %3, AB>;1F5 %4: %5)Error %1 in %2, at line %3, column %4: %5QXmlPatternistCLI$H81:0 %1 2 %2: %3Error %1 in %2: %3QXmlPatternistCLI058725AB=>5 @0A?>;>65=85Unknown locationQXmlPatternistCLI`@54C?@5645=85 2 %1, 2 AB@>:5 %2, AB>;1F5 %3: %4(Warning in %1, at line %2, column %3: %4QXmlPatternistCLI.@54C?@5645=85 2 %1: %2Warning in %1: %2QXmlPatternistCLIN%1 - =5:>@@5:B=K9 845=B8D8:0B>@ PUBLIC.#%1 is an invalid PUBLIC identifier. QXmlStream`%1 - =5 O2;O5BAO :>@@5:B=K< =0720=85< :>48@>2:8.%1 is an invalid encoding name. QXmlStream|%1 =5 O2;O5BAO :>@@5:B=K< =0720=85< >1@010BK205<>9 8=AB@C:F88.-%1 is an invalid processing instruction name. QXmlStream, ?>;CG8;8 ' , but got ' QXmlStream,B@81CB ?5@5>?@545;Q=.Attribute redefined. QXmlStream<>48@>2:0 %1 =5 ?>445@68205BAOEncoding %1 is unsupported QXmlStreamb1=0@C65=> =5:>@@5:B=> 70:>48@>20==>5 A>45@68<>5.(Encountered incorrectly encoded content. QXmlStream01J5:B %1 =5 >1JO2;5=.Entity '%1' not declared. QXmlStream6840;>AL  Expected  QXmlStream86840NBAO A8<2>;L=K5 40==K5.Expected character data. QXmlStream@8H=85 40==K5 2 :>=F5 4>:C<5=B0.!Extra content at end of document. QXmlStreamT5:>@@5:B=>5 >1JO2;5=85 ?@>AB@0=AB20 8<Q=.Illegal namespace declaration. QXmlStream05:>@@5:B=K9 A8<2>; XML.Invalid XML character. QXmlStream*5:>@@5:B=>5 8<O XML.Invalid XML name. QXmlStream>5:>@@5:B=0O AB@>:0 25@A88 XML.Invalid XML version string. QXmlStreamL5:>@@5:B=K9 0B@81CB 2 >1JO2;5=88 XML.%Invalid attribute in XML declaration. QXmlStream>5:>@@5:B=0O A8<2>;L=0O AAK;:0.Invalid character reference. QXmlStream,5:>@@5:B=K9 4>:C<5=B.Invalid document. QXmlStream<5:>@@5:B=>5 7=0G5=85 >1J5:B0.Invalid entity value. QXmlStream`5:>@@5:B=>5 =0720=85 >1@010BK205<>9 8=AB@C:F88.$Invalid processing instruction name. QXmlStream:NDATA 2 >1JO2;5=88 ?0@0<5B@0.&NDATA in parameter entity declaration. QXmlStreamT@5D8:A ?@>AB@0=AB20 8<Q= %1 =5 >1JO2;5="Namespace prefix '%1' not declared QXmlStreamVB:@K20NI89 BM3 =5 A>2?0405B A 70:@K20NI8<. Opening and ending tag mismatch. QXmlStream85>6840==K9 :>=5F 4>:C<5=B0.Premature end of document. QXmlStream:1=0@C65= @5:C@A82=K9 >1J5:B.Recursive entity detected. QXmlStreamd!AK;:0 =0 2=5H=89 >1J5:B %1 2 7=0G5=88 0B@81CB0.5Reference to external entity '%1' in attribute value. QXmlStreamJ!AK;:0 =0 =5>1@01>B0==K9 >1J5:B %1."Reference to unparsed entity '%1'. QXmlStreamd>A;54>20B5;L=>ABL ]]> =54>?CAB8<0 2 A>45@68<><.&Sequence ']]>' not allowed in content. QXmlStreamA524>0B@81CB standalone <>65B ?@8=8<0BL B>;L:> 7=0G5=8O yes 8;8 no."Standalone accepts only yes or no. QXmlStream468405BAO >B:@K20NI89 BM3.Start tag expected. QXmlStreamA524>0B@81CB standalone 4>;65= =0E>48BLAO ?>A;5 C:070=8O :>48@>2:8.?The standalone pseudo attribute must appear after the encoding. QXmlStream5>6840==>5 ' Unexpected ' QXmlStreamx5>6840==K9 A8<2>; %1 2 ;8B5@0;5 >B:@KB>3> 845=B8D8:0B>@0./Unexpected character '%1' in public id literal. QXmlStream85?>445@68205<0O 25@A8O XML.Unsupported XML version. QXmlStream^1JO2;5=85 XML =0E>48BAO =5 2 =0G0;5 4>:C<5=B0.)XML declaration not at start of document. QXmlStream-;5<5=BKItems QmlJSDebugger::LiveSelectionTool0.125xQmlJSDebugger::QmlToolBar0.1xQmlJSDebugger::QmlToolBar0.25xQmlJSDebugger::QmlToolBar0.5xQmlJSDebugger::QmlToolBar1xQmlJSDebugger::QmlToolBar>@8<5=8BL 87<5=5=8O : 4>:C<5=BCApply Changes to DocumentQmlJSDebugger::QmlToolBarRA?>;L7>20BL 87<5=5=8O 2 ?@>A<>B@I8:5 QMLApply Changes to QML ViewerQmlJSDebugger::QmlToolBar8?5B:0 Color PickerQmlJSDebugger::QmlToolBar* 568< 8=A?5:B8@>20=8OInspector ModeQmlJSDebugger::QmlToolBar@0?CAB8BL/?@8>AB0=>28BL 0=8<0F88Play/Pause AnimationsQmlJSDebugger::QmlToolBarK1@0BLSelectQmlJSDebugger::QmlToolBar K1@0BL (0@:5B)Select (Marquee)QmlJSDebugger::QmlToolBar=AB@C<5=BKToolsQmlJSDebugger::QmlToolBar0AHB01ZoomQmlJSDebugger::QmlToolBar !:>?8@>20BL F25B Copy ColorQmlJSDebugger::ToolBarColorBox#25;8G8BLZoom InQmlJSDebugger::ZoomTool#<5=LH8BLZoom OutQmlJSDebugger::ZoomTool0AHB01 &100% Zoom to &100%QmlJSDebugger::ZoomToolX%1 8 %2 A>>B25BAB2CNB =0G0;C 8 :>=FC AB@>:8.,%1 and %2 match the start and end of a line. QtXmlPatterns:%1 =5 <>65B 1KBL 2>AAB0=>2;5=%1 cannot be retrieved QtXmlPatternsZ%1 A>45@68B D0A5B %2 A =525@=K<8 40==K<8: %3.+%1 contains %2 facet with invalid data: %3. QtXmlPatterns@%1 A>45@68B =5:>@@5:B=K5 40==K5.%1 contains invalid data. QtXmlPatterns%1 A>45@68B >:B5BK, :>B>@K5 =54>?CAB8<K 2 B@51C5<>9 :>48@>2:5 %2.E%1 contains octets which are disallowed in the requested encoding %2. QtXmlPatternsT$0A5BK %1 8 %2 =5 <>3CB 1KBL >4=>2@5<5==>.-%1 facet and %2 facet cannot appear together. QtXmlPatterns$0A5B %1 =5 <>65B 1KBL %2, 5A;8 D0A5B %3 107>2>3> B8?0 @025= %4.5%1 facet cannot be %2 if %3 facet of base type is %4. QtXmlPatterns$0A5B %1 =5 <>65B 1KBL %2 8;8 %3, 5A;8 D0A5B %4 107>2>3> B8?0 @025= %5.;%1 facet cannot be %2 or %3 if %4 facet of base type is %5. QtXmlPatterns2$0A5B %1 ?@>B82>@5G8B %2. %1 facet collides with %2 facet. QtXmlPatterns^$0A5B %1 A>45@68B =525@=>5 @53C;O@=>5 2K@065=85,%1 facet contains invalid regular expression QtXmlPatternsV$0A5B %1 A>45@68B =525@=>5 7=0G5=85 %2: %3.'%1 facet contains invalid value %2: %3. QtXmlPatternsl$0A5B %1 4>;65= 1KBL =5 <5=55 D0A5B0 %2 107>2>3> B8?0.=%1 facet must be equal or greater than %2 facet of base type. QtXmlPatternsf$0A5B %1 4>;65= 1KBL 1>;55 D0A5B0 %2 107>2>3> B8?0.4%1 facet must be greater than %2 facet of base type. QtXmlPatternsl$0A5B %1 4>;65= 1KBL =5 <5=55 D0A5B0 %2 107>2>3> B8?0.@%1 facet must be greater than or equal to %2 facet of base type. QtXmlPatternsf$0A5B %1 4>;65= 1KBL <5=55 D0A5B0 %2 107>2>3> B8?0.1%1 facet must be less than %2 facet of base type. QtXmlPatternsJ$0A5B %1 4>;65= 1KBL <5=55 D0A5B0 %2.$%1 facet must be less than %2 facet. QtXmlPatternsl$0A5B %1 4>;65= 1KBL =5 1>;55 D0A5B0 %2 107>2>3> B8?0.=%1 facet must be less than or equal to %2 facet of base type. QtXmlPatternsP$0A5B %1 4>;65= 1KBL =5 1>;55 D0A5B0 %2.0%1 facet must be less than or equal to %2 facet. QtXmlPatterns$0A5B %1 4>;65= 8<5BL B0:>5 65 7=0G5=85, :0: 8 D0A5B %2 107>2>3> B8?0.;%1 facet must have the same value as %2 facet of base type. QtXmlPatternsd# %1 70F8:;5=> =0A;54>20=85 2 53> 107>2>< B8?5 %2.,%1 has inheritance loop in its base type %2. QtXmlPatterns%1 - A;>6=K9 B8?. @5>1@07>20=85 : A;>6=K< B8?0< =52>7<>6=>. 4=0:>, ?@5>1@07>20=85 : 0B><0@=K< B8?0< :0: %2 @01>B05B.s%1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works. QtXmlPatterns(%1 =5:>@@5:=> 4;O %2%1 is an invalid %2 QtXmlPatterns~%1 - =5:>@@5:B=K9 D;03 @53C;O@=>3> 2K@065=8O. >?CAB8<K5 D;038:?%1 is an invalid flag for regular expressions. Valid flags are: QtXmlPatternsP%1 - =5:>@@5:B=K9 URI ?@>AB@0=AB20 8<Q=.%1 is an invalid namespace URI. QtXmlPatternsd%1 - =5:>@@5:B=K9 H01;>= @53C;O@=>3> 2K@065=8O: %2/%1 is an invalid regular expression pattern: %2 QtXmlPatterns`%1 =5 O2;O5BAO :>@@5:B=K< H01;>=>< 8<5=8 @568<0.$%1 is an invalid template mode name. QtXmlPatternsJ%1 O2;O5BAO AE5<>9 =58725AB=>3> B8?0.%1 is an unknown schema type. QtXmlPatterns>>48@>2:0 %1 =5 ?>445@68205BAO.%1 is an unsupported encoding. QtXmlPatternsB!8<2>; %1 =54>?CAB8< 4;O XML 1.0.$%1 is not a valid XML 1.0 character. QtXmlPatternsr%1 =5 O2;O5BAO :>@@5:B=K< =0720=85< 8=AB@C:F88 >1@01>B:8.4%1 is not a valid name for a processing-instruction. QtXmlPatternsZ%1 =5 O2;O5BAO :>@@5:B=K< G8A;>2K< ;8B5@0;><."%1 is not a valid numeric literal. QtXmlPatterns%1 =5:>@@5:B=>5 F5;52>5 8<O 2 >1@010BK205<>9 8=AB@C:F88. <O 4>;6=> 1KBL 7=0G5=85< B8?0 %2, =0?@8<5@: %3.Z%1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3. QtXmlPatternsX%1 =5 O2;O5BAO ?@028;L=K< 7=0G5=85< B8?0 %2.#%1 is not a valid value of type %2. QtXmlPatternsP%1 =5 O2;O5BAO ?>;=K< :>;8G5AB2>< <8=CB.$%1 is not a whole number of minutes. QtXmlPatterns%1 =5 <>65B =0A;54>20BL %2 G5@57 @0AH8@5=85, B0: :0: @0=55 >?@545;5=>, GB> >= :>=5G=K9.S%1 is not allowed to derive from %2 by extension as the latter defines it as final. QtXmlPatterns%1 =5 <>65B =0A;54>20BL %2 G5@57 A?8A>:, B0: :0: @0=55 >?@545;5=>, GB> >= :>=5G=K9.N%1 is not allowed to derive from %2 by list as the latter defines it as final. QtXmlPatterns%1 =5 <>65B =0A;54>20BL %2 G5@57 >3@0=8G5=85, B0: :0: @0=55 >?@545;5=>, GB> >= :>=5G=K9.U%1 is not allowed to derive from %2 by restriction as the latter defines it as final. QtXmlPatterns%1 =5 <>65B =0A;54>20BL %2 G5@57 >1J548=5=85, B0: :0: @0=55 >?@545;5=>, GB> >= :>=5G=K9.O%1 is not allowed to derive from %2 by union as the latter defines it as final. QtXmlPatterns5 4>?CAB8<>, GB>1K %1 >?@545;O; 2=CB@5==89 B8? A B0:8< 65 8<5=5<.E%1 is not allowed to have a member type with the same name as itself. QtXmlPatternsB%1 =5 <>65B 8<5B =8:0:8E D0A5B>2.%%1 is not allowed to have any facets. QtXmlPatterns%1 - =5 0B><0@=K9 B8?. @5>1@07>20=85 2>7<>6=> B>;L:> : 0B><0@=K< B8?0<.C%1 is not an atomic type. Casting is only possible to atomic types. QtXmlPatterns%1 O2;O5BAO >1JO2;5=85< 0B@81CB0 2=5 >1;0AB8 >1JO2;5=89. <59B5 2 284C, 2>7<>6=>ABL 8<?>@B0 AE5< =5 ?>445@68205BAO.g%1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported. QtXmlPatternsF%1 =5:>@@5:B=> 2 A>>B25BAB288 A %2. %1 is not valid according to %2. QtXmlPatternsH=0G5=85 %1 =5:>@@5:B=> 4;O B8?0 %2.&%1 is not valid as a value of type %2. QtXmlPatternsL%1 A>>B25BAB2C5B A8<2>;0< :>=F0 AB@>:8%1 matches newline characters QtXmlPatterns%1 4>;6=> A>?@>2>640BLAO %2 8;8 %3, => =5 2 :>=F5 70<5I05<>9 AB@>:8.J%1 must be followed by %2 or %3, not at the end of the replacement string. QtXmlPatterns%1 ?@8=8<05B =5 <5=55 %n 0@3C<5=B0. !;54>20B5;L=>, %2 =5:>@@5:B=>.%1 ?@8=8<05B =5 <5=55 %n 0@3C<5=B>2. !;54>20B5;L=>, %2 =5:>@@5:B=>.%1 ?@8=8<05B =5 <5=55 %n 0@3C<5=B>2. !;54>20B5;L=>, %2 =5:>@@5:B=>.=%1 requires at least %n argument(s). %2 is therefore invalid. QtXmlPatterns%1 ?@8=8<05B =5 1>;55 %n 0@3C<5=B0. !;54>20B5;L=>, %2 =5:>@@5:B=>.%1 ?@8=8<05B =5 1>;55 %n 0@3C<5=B>2. !;54>20B5;L=>, %2 =5:>@@5:B=>.%1 ?@8=8<05B =5 1>;55 %n 0@3C<5=B>2. !;54>20B5;L=>, %2 =5:>@@5:B=>.9%1 takes at most %n argument(s). %2 is therefore invalid. QtXmlPatterns %1 1K;> 2K720=>.%1 was called. QtXmlPatterns54>?CAB8<K D0A5BK %1, %2, %3, %4, %5 8 %6 ?@8 =0A;54>20=88 A?8A:><.F%1, %2, %3, %4, %5 and %6 facets are not allowed when derived by list. QtXmlPatternsjB@81CB %1 8<55B =5:>@@5:B=>5 A>45@68<>5 QName: %2.2'%1' attribute contains invalid QName content: %2. QtXmlPatternsB><<5=B0@89 =5 <>65B A>45@60BL %1A comment cannot contain %1 QtXmlPatternsP><<5=B0@89 =5 <>65B >:0=G820BLAO =0 %1.A comment cannot end with a %1. QtXmlPatternsvAB@5G5=0 :>=AB@C:F8O, 70?@5IQ==0O 4;O B5:CI53> O7K:0 (%1).LA construct was encountered which is disallowed in the current language(%1). QtXmlPatterns1JO2;5=85 ?@>AB@0=AB2> 8<Q= ?> C<>;G0=8N 4>;6=> 1KBL 4> >1JO2;5=8O DC=:F89, ?5@5<5==KE 8 >?F89.^A default namespace declaration must occur before function, variable, and option declarations. QtXmlPatterns@O<>9 :>=AB@C:B>@ M;5<5=B0 A>AB02;5= =5:>@@5:B=>. %1 70:0=G8205BAO =0 %2.EA direct element constructor is not well-formed. %1 is ended with %2. QtXmlPatternsN$C=:F8O A A83=0BC@>9 %1 C65 ACI5AB2C5B.0A function already exists with the signature %1. QtXmlPatterns>4C;L 181;8>B5:8 =5 <>65B 8A?>;L7>20BLAO =0?@O<CN. = 4>;65= 1KBL 8<?>@B8@>20= 87 >A=>2=>3> <>4C;O.VA library module cannot be evaluated directly. It must be imported from a main module. QtXmlPatternsb0@0<5B@ DC=:F88 =5 <>65B 1KBL >1JO2;5= BC==5;5<.78F8>==K9 ?@548:0B 4>;65= 2KG8A;OBLAO :0: G8A;>2>5 2K@065=85.?A positional predicate must evaluate to a single numeric value. QtXmlPatternsX$C=:F8O AB8;59 4>;6=0 8<5BL 8<O A ?@5D8:A><.0A stylesheet function must have a prefixed name. QtXmlPatternsH(01;>= A 8<5=5< %1 C65 1K; >1JO2;5=.2A template with name %1 has already been declared. QtXmlPatterns=0G5=85 B8?0 %1 =5 <>65B 1KBL CA;>285<. #A;>285< <>3CB O2;OBLAO G8A;>2>9 8 1C;52K9 B8?K.yA value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type. QtXmlPatternsb=0G5=85 B8?0 %1 =5 <>65B 1KBL 1C;52K< 7=0G5=85<.:A value of type %1 cannot have an Effective Boolean Value. QtXmlPatterns=0G5=85 B8?0 %1 4>;6=> A>45@60BL G5B=>5 :>;8G5AB2> F8D@. =0G5=85 %2 MB><C B@51>20=8N =5 C4>2;5B2>@O5B.PA value of type %1 must contain an even number of digits. The value %2 does not. QtXmlPatternsJ5@5<5==0O A 8<5=5< %1 C65 >1JO2;5=0.2A variable with name %1 has already been declared. QtXmlPatterns 538>=0;L=>5 A<5I5=85 4>;6=> 1KBL 2 ?5@545;0E >B %1 4> %2 2:;NG8B5;L=>. %3 2KE>48B 70 4>?CAB8<K5 ?@545;K.HA zone offset must be in the range %1..%2 inclusive. %3 is out of range. QtXmlPatternsF5>4=>7=0G=>5 A>>B25BAB285 ?@028;C.Ambiguous rule match. QtXmlPatterns@3C<5=B A 8<5=5< %1 C65 >1JO2;5=. <O :064>3> 0@3C<5=B0 4>;6=> 1KBL C=8:0;L=K<.WAn argument with name %1 has already been declared. Every argument name must be unique. QtXmlPatternsFB@81CB A 8<5=5< %1 C65 ACI5AB2C5B.1An attribute by name %1 has already been created. QtXmlPatterns#75;-0B@81CB =5 <>65B 1KBL ?>B><:>< C7;0-4>:C<5=B0. B@81CB %1 =5C<5AB5=.dAn attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place. QtXmlPatternspB@81CB A 8<5=5< %1 C65 ACI5AB2C5B 4;O 40==>3> M;5<5=B0.?An attribute with name %1 has already appeared on this element. QtXmlPatternsZ0: <8=8<C< >48= M;5<5=B %1 4>;65= 1KBL 2 %2.3At least one %1 element must appear as child of %2. QtXmlPatternsb0: <8=8<C< >48= M;5<5=B %1 4>;65= 1KBL ?5@54 %2.-At least one %1-element must occur before %2. QtXmlPatternsd0: <8=8<C< >48= M;5<5=B %1 4>;65= 1KBL 2=CB@8 %2.-At least one %1-element must occur inside %2. QtXmlPatternsd>;6=0 ?@8ACBAB2>20BL :0: <8=8<C< >4=0 :><?>=5=B0.'At least one component must be present. QtXmlPatterns0: <8=8<C< >48= @568< 4>;65= 1KBL C:070= 2 0B@81CB5 %1 M;5<5=B0 %2.FAt least one mode must be specified in the %1-attribute on element %2. QtXmlPatterns0: <8=8<C< >4=0 :><?>=5=B0 2@5<5=8 4>;6=0 A;54>20BL 70 @0745;8B5;5< %1.?At least one time component must appear after the %1-delimiter. QtXmlPatterns2B@81CB %1 C65 >?@545;Q=.Attribute %1 already defined. QtXmlPatternsFB@81CBK %1 8 %2 2708<>8A:;NG0NI85.+Attribute %1 and %2 are mutually exclusive. QtXmlPatternsB@81CB %1 =5 <>65B 1KBL A5@80;87>20=, B0: :0: ?@8ACBAB2C5B =0 25@E=5< C@>2=5.EAttribute %1 can't be serialized because it appears at the top level. QtXmlPatternsTB@81CB %1 =5 <>65B ?@8=8<0BL 7=0G5=85 %2.&Attribute %1 cannot have the value %2. QtXmlPatternsP-;5<5=B %1 A>45@68B =525@=>5 A>45@68<>5.&Attribute %1 contains invalid content. QtXmlPatternsNB@81CB %1 A>45@68B =525@=K5 40==K5: %2&Attribute %1 contains invalid data: %2 QtXmlPatternsHB@81CB %1 =5 A>>B25BAB2C5B H01;>=C.3Attribute %1 does not match the attribute wildcard. QtXmlPatterns@C??0 0B@81CB>2 %1 A>45@68B 0B@81CB %2, =0 7=0G5=85 :>B>@>3> =0;>65=> >3@0=8G5=85, => B8? =0A;54>20= >B %3.bAttribute group %1 contains attribute %2 that has value constraint but type that inherits from %3. QtXmlPatternsZ@C??0 0B@81CB>2 %1 A>45@68B 420 0B@81CB0 %2./Attribute group %1 contains attribute %2 twice. QtXmlPatterns@C??0 0B@81CB>2 %1 A>45@68B 420 @07=KE 0B@81CB0, ?@>872>4=KE >B %2.ZAttribute group %1 contains two different attributes that both have types derived from %2. QtXmlPatternsB@81CBK A;>6=>3> B8?0 %1 =525@=> 4>?>;=ONB 0B@81CBK 107>2>3> B8?0 %2: %3.^Attributes of complex type %1 are not a valid extension of the attributes of base type %2: %3. QtXmlPatternsB@81CBK A;>6=>3> B8?0 %1 =5 O2;ONBAO 25@=K< >3@0=8G5=85< 0B@81CB>2 107>2>3> B8?0 %2: %3.bAttributes of complex type %1 are not a valid restriction from the attributes of base type %2: %3. QtXmlPatterns07>2K9 B8? %1 ?@>AB>3> B8?0 %2 =5 <>65B 8<5BL >3@0=8G5=85 4;O 0B@81CB0 %3.RBase type %1 of simple type %2 is not allowed to have restriction in %3 attribute. QtXmlPatterns07>2K9 B8? %1 ?@>AB>3> B8?0 %2 4>;65= A>45@60BL :0:>5-B> >1J548=5=85.:Base type %1 of simple type %2 must have variety of union. QtXmlPatternsd07>2K< ?@>AB>3> B8?0 %1 =5 <>65B 1KBL A;>6=K9 %2.6Base type of simple type %1 cannot be complex type %2. QtXmlPatterns07>2K9 B8? ?@>AB>3> B8?0 %1 >?@545;Q= :>=5G=K< 8AE>4O 87 >3@0=8G5=8O.KBase type of simple type %1 has defined derivation by restriction as final. QtXmlPatterns07>2K9 B8? ?@>AB>3> B8?0 %1 4>;65= A>45@60BL :0:>9-=81C4L A?8A>:.;Base type of simple type %1 must have variety of type list. QtXmlPatterns^2>8G=K5 40==K5 =5 A>>B25BAB2CNB D0A5BC length./Binary content does not match the length facet. QtXmlPatternsd2>8G=K5 40==K5 =5 A>>B25BAB2CNB D0A5BC maxLength.2Binary content does not match the maxLength facet. QtXmlPatternsd2>8G=K5 40==K5 =5 A>>B25BAB2CNB D0A5BC minLength.2Binary content does not match the minLength facet. QtXmlPatternsb2>8G=K5 40==K5 >BACBAB2CNB 2 D0A5B5 enumeration.6Binary content is not listed in the enumeration facet. QtXmlPatterns\C;52>5 G8A;> =5 A>>B25BAB2C5B D0A5BC pattern.-Boolean content does not match pattern facet. QtXmlPatternsP&8:;8G=>5 =0A;54>20=85 107>2>3> B8?0 %1.%Circular inheritance of base type %1. QtXmlPatternsL&8:;8G=>5 =0A;54>20=85 >1J548=5=8O %1.!Circular inheritance of union %1. QtXmlPatternsb!;>6=K9 B8? %1 =5 <>65B 1KBL ?@>872>4=K< >B %2%3.6Complex type %1 cannot be derived from base type %2%3. QtXmlPatterns!;>6=K9 B8? %1 A>45@68B 0B@81CB %2, =0 7=0G5=85 :>B>@>3> =0;>65=> >3@0=8G5=85, => B8? =0A;54>20= >B %3._Complex type %1 contains attribute %2 that has value constraint but type that inherits from %3. QtXmlPatternsP!;>6=K9 B8? %1 A>45@68B 420 0B@81CB0 %2.,Complex type %1 contains attribute %2 twice. QtXmlPatterns~!;>6=K9 B8? %1 A>45@68B 420 @07=KE 0B@81CB0, ?@>872>4=KE >B %2.WComplex type %1 contains two different attributes that both have types derived from %2. QtXmlPatterns!;>6=K9 B8? %1 8<55B ?>2B>@ONI89AO M;5<5=B %2 2 A2>59 <>45;8 A>45@68<>3>.?Complex type %1 has duplicated element %2 in its content model. QtXmlPatternsh!;>6=K9 B8? %1 8<55B =545B5@<8=8@>20==>5 A>45@68<>5..Complex type %1 has non-deterministic content. QtXmlPatternsd54>?CAB8<>, GB>1K A;>6=K9 B8? %1 1K; 01AB@0:B=K<..Complex type %1 is not allowed to be abstract. QtXmlPatterns^!;>6=K9 B8? %1 4>;65= 8<5BL ?@>AB>5 A>45@68<>5.)Complex type %1 must have simple content. QtXmlPatterns!;>6=K9 B8? %1 4>;65= A>45@60BL B0:>9 65 ?@>AB>9 B8?, :0: 8 53> 107>2K9 :;0AA %2.DComplex type %1 must have the same simple type as its base class %2. QtXmlPatterns!;>6=K9 B8? %1 A ?@>ABK< A>45@68<K< =5 <>65B 1KBL ?@>872>4=K< >B A;>6=>3> B8?0 %2.PComplex type %1 with simple content cannot be derived from complex base type %2. QtXmlPatterns>45;L A>45@68<>3> A;>6=>3> B8?0 %1 =525@=> 4>?>;=O5B <>45;L A>45@68<>3> %2.QContent model of complex type %1 is not a valid extension of content model of %2. QtXmlPatterns!>45@68<>5 0B@81CB0 %1 =5 A>>B25BAB2C5B >?@545;Q==><C >3@0=8G5=8N 7=0G5=8O.@Content of attribute %1 does not match defined value constraint. QtXmlPatterns!>45@68<>5 0B@81CB0 %1 =5 A>>B25BAB2C5B 53> >?@545;5=8N B8?0: %2.?Content of attribute %1 does not match its type definition: %2. QtXmlPatterns!>45@68<>5 M;5<5=B0 %1 =5 A>>B25BAB2C5B >?@545;Q==><C >3@0=8G5=8N 7=0G5=8O.>Content of element %1 does not match defined value constraint. QtXmlPatterns!>45@68<>5 M;5<5=B0 %1 =5 A>>B25BAB2C5B 53> >?@545;5=8N B8?0: %2.=Content of element %1 does not match its type definition: %2. QtXmlPatternsJ0==K5 B8?0 %1 =5 <>3CB 1KBL ?CABK<8.,Data of type %1 are not allowed to be empty. QtXmlPatternsV0B0-2@5<O =5 A>>B25BAB2C5B D0A5BC pattern./Date time content does not match pattern facet. QtXmlPatterns`0B0-2@5<O =5 A>>B25BAB2C5B D0A5BC maxExclusive.8Date time content does not match the maxExclusive facet. QtXmlPatterns`0B0-2@5<O =5 A>>B25BAB2C5B D0A5BC maxInclusive.8Date time content does not match the maxInclusive facet. QtXmlPatterns`0B0-2@5<O =5 A>>B25BAB2C5B D0A5BC minExclusive.8Date time content does not match the minExclusive facet. QtXmlPatterns`0B0-2@5<O =5 A>>B25BAB2C5B D0A5BC minInclusive.8Date time content does not match the minInclusive facet. QtXmlPatternsX0B0-2@5<O >BACBAB2C5B 2 D0A5B5 enumeration.9Date time content is not listed in the enumeration facet. QtXmlPatterns<5=L %1 =525@5= 4;O <5AOF0 %2.Day %1 is invalid for month %2. QtXmlPatterns:5=L %1 2=5 480?07>=0 %2..%3.#Day %1 is outside the range %2..%3. QtXmlPatternsd5AOB8G=>5 =5 A>>B25BAB2C5B D0A5BC fractionDigits.;Decimal content does not match in the fractionDigits facet. QtXmlPatterns^5AOB8G=>5 =5 A>>B25BAB2C5B D0A5BC totalDigits.8Decimal content does not match in the totalDigits facet. QtXmlPatternsFBACBAB2C5B >1JO2;5=85 0B@81CB0 %1.,Declaration for attribute %1 does not exist. QtXmlPatternsFBACBAB2C5B >1JO2;5=85 M;5<5=B0 %1.*Declaration for element %1 does not exist. QtXmlPatterns5B>4 =0A;54>20=8O %1 4>;65= 1KBL @0AH8@5=85, B0: :0: 107>2K9 B8? %2 O2;O5BAO ?@>ABK<.TDerivation method of %1 must be extension because the base type %2 is a simple type. QtXmlPatterns5;5=85 G8A;0 B8?0 %1 =0 %2 (=5 G8A;>2>5 2K@065=85) =54>?CAB8<>.@Dividing a value of type %1 by %2 (not-a-number) is not allowed. QtXmlPatterns5;5=85 G8A;0 B8?0 %1 =0 %2 8;8 %3 (?;NA 8;8 <8=CA =C;L) =54>?CAB8<>.LDividing a value of type %1 by %2 or %3 (plus or minus zero) is not allowed. QtXmlPatternsP5;5=85 (%1) =0 =C;L (%2) =5 >?@545;5=>.(Division (%1) by zero (%2) is undefined. QtXmlPatternsj59AB28B5;L=>5 G8A;> =5 A>>B25BAB2C5B D0A5BC pattern.,Double content does not match pattern facet. QtXmlPatternst59AB28B5;L=>5 G8A;> =5 A>>B25BAB2C5B D0A5BC maxExclusive.5Double content does not match the maxExclusive facet. QtXmlPatternst59AB28B5;L=>5 G8A;> =5 A>>B25BAB2C5B D0A5BC maxInclusive.5Double content does not match the maxInclusive facet. QtXmlPatternst59AB28B5;L=>5 G8A;> =5 A>>B25BAB2C5B D0A5BC minExclusive.5Double content does not match the minExclusive facet. QtXmlPatternst59AB28B5;L=>5 G8A;> =5 A>>B25BAB2C5B D0A5BC minInclusive.5Double content does not match the minInclusive facet. QtXmlPatternsl59AB28B5;L=>5 G8A;> >BACBAB2C5B 2 D0A5B5 enumeration.6Double content is not listed in the enumeration facet. QtXmlPatternsZ;8B5;L=>ABL =5 A>>B25BAB2C5B D0A5BC pattern..Duration content does not match pattern facet. QtXmlPatternsd;8B5;L=>ABL =5 A>>B25BAB2C5B D0A5BC maxExclusive.7Duration content does not match the maxExclusive facet. QtXmlPatternsd;8B5;L=>ABL =5 A>>B25BAB2C5B D0A5BC maxInclusive.7Duration content does not match the maxInclusive facet. QtXmlPatternsd;8B5;L=>ABL =5 A>>B25BAB2C5B D0A5BC minExclusive.7Duration content does not match the minExclusive facet. QtXmlPatternsd;8B5;L=>ABL =5 A>>B25BAB2C5B D0A5BC minInclusive.7Duration content does not match the minInclusive facet. QtXmlPatterns\;8B5;L=>ABL >BACBAB2C5B 2 D0A5B5 enumeration.8Duration content is not listed in the enumeration facet. QtXmlPatterns<O :064>3> ?0@0<5B@0 H01;>=0 4>;6=> 1KBL C=8:0;L=K<, => %1 ?>2B>@O5BAO.CEach name of a template parameter must be unique; %1 is duplicated. QtXmlPatternsC;52> 7=0G5=85 =5 <>65B 1KBL 2KG8A;5=> 4;O ?>A;54>20B5;L=>AB59, :>B>@K5 A>45@60B 420 8 1>;55 0B><0@=KE 7=0G5=8O.aEffective Boolean Value cannot be calculated for a sequence containing two or more atomic values. QtXmlPatterns2-;5<5=B %1 C65 >?@545;Q=.Element %1 already defined. QtXmlPatterns-;5<5=B %1 =5 <>65B 1KBL A5@80;87>20=, B0: :0: @0A?>;>65= 2=5 4>:C<5=B0.OElement %1 can't be serialized because it appears outside the document element. QtXmlPatterns-;5<5=B %1 =5 <>65B A>45@60BL 4@C385 M;5<5=BK, B0: :0: C =53> D8:A8@>20==>5 A>45@68<>5.BElement %1 cannot contain other elements, as it has fixed content. QtXmlPatternsr-;5<5=B %1 =5 <>65B 8<5BL :>=AB@C:B>@ ?>A;54>20B5;L=>AB8..Element %1 cannot have a sequence constructor. QtXmlPatternsF-;5<5=B %1 =5 <>65B 8<5BL ?>B><:>2. Element %1 cannot have children. QtXmlPatternsX M;5<5=B5 %1 =0E>48BAO =525@=>5 A>45@68<>5.$Element %1 contains invalid content. QtXmlPatternsT-;5<5=B %1 A>45@68B =54>?CAB8<K5 0B@81CBK.+Element %1 contains not allowed attributes. QtXmlPatternsj-;5<5=B %1 A>45@68B =54>?CAB8<>5 4>G5@=55 A>45@68<>5..Element %1 contains not allowed child content. QtXmlPatternsd-;5<5=B %1 A>45@68B =54>?CAB8<K9 4>G5@=89 M;5<5=B..Element %1 contains not allowed child element. QtXmlPatternsl-;5<5=B %1 A>45@68B =54>?CAB8<>5 B5:AB>2>5 A>45@68<>5.-Element %1 contains not allowed text content. QtXmlPatternsR-;5<5=B %1 A>45@68B 420 0B@81CB0 B8?0 %2..Element %1 contains two attributes of type %2. QtXmlPatternsV-;5<5=B %1 A>45@68B =58725AB=K9 0B@81CB %2.)Element %1 contains unknown attribute %2. QtXmlPatterns@-;5<5=B %1 >1JO2;5= 01AB@0:B=K<.#Element %1 is declared as abstract. QtXmlPatternsV# M;5<5=B0 %1 >BACBAB2C5B 4>G5@=89 M;5<5=B.$Element %1 is missing child element. QtXmlPatternsb# M;5<5=B0 %1 >BACBAB2C5B =5>1E>48<K9 0B@81CB %2.,Element %1 is missing required attribute %2. QtXmlPatternsF-;5<5=B %1 =54>?CAB8< 2 MB>< <5AB5.+Element %1 is not allowed at this location. QtXmlPatterns-;5<5=BC %1 =54>?CAB8<> 8<5BL >3@0=8G5=85 =0 7=0G5=8O, 5A;8 C 53> 107>2K9 B8? A;>6=K9.QElement %1 is not allowed to have a value constraint if its base type is complex. QtXmlPatterns-;5<5=BC %1 =54>?CAB8<> 8<5BL >3@0=8G5=85 =0 7=0G5=8O, 5A;8 53> B8? ?@>872>4=K9 >B %2.TElement %1 is not allowed to have a value constraint if its type is derived from %2. QtXmlPatternsV-;5<5=B %1 =5 >?@545;Q= 2 40==>< :>=B5:AB5.(Element %1 is not defined in this scope. QtXmlPatterns0-;5<5=B %1 =5>1=C;O5<K9.Element %1 is not nillable. QtXmlPatternsB-;5<5=B %1 4>;65= 84B8 ?>A;54=8<.Element %1 must come last. QtXmlPatterns-;5<5=B %1 4>;65= 8<5BL :0: <8=8<C< >48= 87 0B@81CB>2 %2 8;8 %3.=Element %1 must have at least one of the attributes %2 or %3. QtXmlPatterns-;5<5=B %1 4>;65= 8<5BL 0B@81CB %2 8;8 :>=AB@C:B>@ ?>A;54>20B5;L=>AB8.EElement %1 must have either a %2-attribute or a sequence constructor. QtXmlPatternsX-;5<5=B =5>1=C;O5<K9, B.:. 8<55B A>45@68<>5.1Element contains content although it is nillable. QtXmlPatternsF@C??0 M;5<5=B>2 %1 C65 >?@545;Q=0.!Element group %1 already defined. QtXmlPatterns>>;5 %1 =5 8<55B ?@>AB>3> B8?0.Field %1 has no simple type. QtXmlPatterns;O >1=C;O5<KE M;5<5=B>2 =54>?CAB8<> >3@0=8G5=85 D8:A8@>20==K< 7=0G5=85<.:Fixed value constraint not allowed if element is nillable. QtXmlPatterns<=0G5=85 ID %1 =5 C=8:0;L=>.ID value '%1' is not unique. QtXmlPatternsA;8 >10 7=0G5=8O 8<5NB @538>=0;L=K5 A<5I5=8O, A<5I5=8O 4>;6=K 1KBL >48=0:>2K. %1 8 %2 =5 >48=0:>2K.bIf both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same. QtXmlPatternsA;8 M;5<5=B %1 =5 8<55B 0B@81CB %2, C =53> =5 <>65B 1KBL 0B@81CB>2 %3 8 %4.EIf element %1 has no attribute %2, it cannot have attribute %3 or %4. QtXmlPatterns"@5D8:A =5 4>;65= 1KBL C:070=, 5A;8 ?5@2K9 ?0@0<5B@ - ?CAB0O ?>A;54>20B5;L=>ABL 8;8 ?CAB0O AB@>:0 (2=5 ?@>AB@0=AB20 8<Q=). K; C:070= ?@5D8:A %1.If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified. QtXmlPatterns :>=AB@C:B>@5 ?@>AB@0=AB20 8<Q= 7=0G5=85 ?@>AB@0=AB20 8<Q= =5 <>65B 1KBL ?CAB>9 AB@>:>9.PIn a namespace constructor, the value for a namespace cannot be an empty string. QtXmlPatterns <>4C;5 C?@>IQ==>9 B01;8FK AB8;59 >1O70= ?@8ACBAB2>20BL 0B@81CB %1.@In a simplified stylesheet module, attribute %1 must be present. QtXmlPatterns H01;>=5 XSL-T =5 <>65B 1KBL 8A?>;L7>20=0 >AL %1 - B>;L:> >A8 %2 8;8 %3.DIn an XSL-T pattern, axis %1 cannot be used, only axis %2 or %3 can. QtXmlPatterns~ H01;>=5 XSL-T C DC=:F88 %1 =5 4>;6=> 1KBL B@5BL53> 0@3C<5=B0.>In an XSL-T pattern, function %1 cannot have a third argument. QtXmlPatterns H01;>=5 XSL-T B>;L:> DC=:F88 %1 8 %2 <>3CB 8A?>;L7>20BLAO 4;O A@02=5=8O, => =5 %3.OIn an XSL-T pattern, only function %1 and %2, not %3, can be used for matching. QtXmlPatterns H01;>=5 XSL-T ?5@2K9 0@3C<5=B DC=:F88 %1 4>;65= 1KBL ;8B5@0;>< 8;8 AAK;:>9 =0 ?5@5<5==CN, 5A;8 DC=:F8O 8A?>;L7C5BAO 4;O A@02=5=8O.yIn an XSL-T pattern, the first argument to function %1 must be a literal or a variable reference, when used for matching. QtXmlPatterns H01;>=5 XSL-T ?5@2K9 0@3C<5=B DC=:F88 %1 4>;65= 1KBL AB@>:>2K< ;8B5@0;><, 5A;8 DC=:F8O 8A?>;L7C5BAO 4;O A@02=5=8O.hIn an XSL-T pattern, the first argument to function %1 must be a string literal, when used for matching. QtXmlPatterns 70<5I05<>9 AB@>:5 A8<2>; %1 <>65B 8A?>;L7>20BLAO B>;L:> 4;O M:@0=8@>20=8O A0<>3> A51O 8;8 %2, => =5 %3MIn the replacement string, %1 can only be used to escape itself or %2, not %3 QtXmlPatterns 70<5I05<>9 AB@>:5 %1 4>;6=> A>?@>2>640BLAO :0: <8=8<C< >4=>9 F8D@>9, 5A;8 =5M:@0=8@>20=>.VIn the replacement string, %1 must be followed by at least one digit when not escaped. QtXmlPatternsl&5;>G8A;5==>5 45;5=85 (%1) =0 =C;L (%2) =5 >?@545;5=>.0Integer division (%1) by zero (%2) is undefined. QtXmlPatternsD5:>@@5:B=>5 A>45@68<>5 QName: %1.Invalid QName content: %1. QtXmlPatternsB52>7<>6=> A2O70BL A ?@5D8:A>< %1+It is not possible to bind to the prefix %1 QtXmlPatternsJ52>7<>6=> ?5@5>?@545;8BL ?@5D8:A %1.*It is not possible to redeclare prefix %1. QtXmlPatternsBC45B =52>7<>6=> 2>AAB0=>28BL %1.'It will not be possible to retrieve %1. QtXmlPatternsz52>7<>6=> 4>102;OBL 0B@81CBK ?>A;5 ;N1>3> 4@C3>3> 2840 C7;0.AIt's not possible to add attributes after any other kind of node. QtXmlPatternsx"8? M;5<5=B0 107>2>3> B8?0 =5 A>2?0405B A B8?>< M;5<5=B0 %1.6Item type of base type does not match item type of %1. QtXmlPatternst@>AB>9 B8? %1 =5 <>65B A>45@60BL M;5<5=B>2 A;>6=KE B8?>2.5Item type of simple type %1 cannot be a complex type. QtXmlPatternsb3@0=8G5=85 =0 :;NG %1 A>45@68B =54>AB0NI85 ?>;O.)Key constraint %1 contains absent fields. QtXmlPatterns3@0=8G5=85 =0 :;NG %1 A>45@68B AAK;:8 =0 >1=C;O5<K9 M;5<5=B %2.:Key constraint %1 contains references nillable element %2. QtXmlPatternsL!?8A>: =5 A>>B25BAB2C5B D0A5BC length.)List content does not match length facet. QtXmlPatternsR!?8A>: =5 A>>B25BAB2C5B D0A5BC maxLength.,List content does not match maxLength facet. QtXmlPatternsR!?8A>: =5 A>>B25BAB2C5B D0A5BC minLength.,List content does not match minLength facet. QtXmlPatternsd!>45@68<>5 A?8A:0 =5 A>>B25BAB2C5B D0A5BC pattern.*List content does not match pattern facet. QtXmlPatternsl!>45@68<>5 A?8A:0 =5 ?5@5G8A;5=> 2 D0A5B5 enumeration.4List content is not listed in the enumeration facet. QtXmlPatternsF03@C65==K9 D09; AE5<K =5:>@@5:B5=.Loaded schema file is invalid. QtXmlPatterns>!>>B25BAB28O @538AB@>=57028A8<KMatches are case insensitive QtXmlPatterns=CB@5==89 B8? %1 =5 <>65B 1KBL ?@>872>4=K< >B B8?0 %2, >?@545;Q==>3> 2 107>2>< B8?5 B8?0 %3 - %4.JMember type %1 cannot be derived from member type %2 of %3's base type %4. QtXmlPatterns`@>AB>9 B8? %1 =5 <>65B >?@545;OBL A;>6=K5 B8?K.7Member type of simple type %1 cannot be a complex type. QtXmlPatterns<?>@B8@C5<K5 <>4C;8 4>;6=K 1KBL C:070=K 4> >1JO2;5=8O DC=:F89, ?5@5<5==KE 8 >?F89.MModule imports must occur before function, variable, and option declarations. QtXmlPatternsd5;5=85 ?> <>4C;N (%1) =0 =C;L (%2) =5 >?@545;5=>.0Modulus division (%1) by zero (%2) is undefined. QtXmlPatterns<5AOF %1 2=5 480?07>=0 %2..%3.%Month %1 is outside the range %2..%3. QtXmlPatternsT;O ?>;O %1 =0945=> 1>;55 >4=>3> 7=0G5=8O.'More than one value found for field %1. QtXmlPatterns#<=>65=85 G8A;0 B8?0 %1 =0 %2 8;8 %3 (?;NA-<8=CA 15A:>=5G=>ABL) =54>?CAB8<>.YMultiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed. QtXmlPatterns@>AB@0=AB2> 8<Q= %1 <>65B 1KBL A2O70=> B>;L:> A %2 (2 40==>< A;CG05 C65 ?@54>?@545;5=>).ONamespace %1 can only be bound to %2 (and it is, in either case, pre-declared). QtXmlPatterns1JO2;5=85 ?@>AB@0=AB20 8<Q= 4>;6=> 1KBL 4> >1JO2;5=8O DC=:F89, ?5@5<5==KE 8 >?F89.UNamespace declarations must occur before function, variable, and option declarations. QtXmlPatterns8@5<O >6840=8O A5B8 8AB5:;>.Network timeout. QtXmlPatternsHBACBAB2C5B >?@545;5=85 M;5<5=B0 %1.'No definition for element %1 available. QtXmlPatterns =5H=85 DC=:F88 =5 ?>445@6820NBAO. A5 ?>445@68205<K5 DC=:F88 <>3CB 8A?>;L7>20BLAO =0?@O<CN 157 ?5@2>=0G0;L=>3> >1JO2;5=8O 8E 2 :0G5AB25 2=5H=8E{No external functions are supported. All supported functions can be used directly, without first declaring them as external QtXmlPatterns@$C=:F8O A 8<5=5< %1 >BACBAB2C5B.&No function with name %1 is available. QtXmlPatternsF$C=:F8O A A83=0BC@>9 %1 >BACBAB2C5B*No function with signature %1 is available QtXmlPatternspBACBAB2C5B ?@82O7:0 : ?@>AB@0=AB2C 8<Q= 4;O ?@5D8:A0 %1-No namespace binding exists for the prefix %1 QtXmlPatternszBACBAB2C5B ?@82O7:0 : ?@>AB@0=AB2C 8<Q= 4;O ?@5D8:A0 %1 2 %23No namespace binding exists for the prefix %1 in %2 QtXmlPatternsB!E5<0 4;O ?@>25@:8 =5 >?@545;5=0.!No schema defined for validation. QtXmlPatterns>(01;>= A 8<5=5< %1 >BACBAB2C5B.No template by name %1 exists. QtXmlPatternspBACBAB2C5B 7=0G5=85 4;O 2=5H=59 ?5@5<5==>9 A 8<5=5< %1.=No value is available for the external variable with name %1. QtXmlPatternsD5@5<5==0O A 8<5=5< %1 >BACBAB2C5BNo variable with name %1 exists QtXmlPatternsh1=0@C65=> =5C=8:0;L=>5 7=0G5=85 4;O >3@0=8G5=8O %1.)Non-unique value found for constraint %1. QtXmlPatterns8 >4=> 87 2K@065=89 pragma =5 ?>445@68205BAO. >;6=> ACI5AB2>20BL 70?0A=>5 2K@065=85^None of the pragma expressions are supported. Therefore, a fallback expression must be present QtXmlPatternsp!>45@68<>5 Notation =5 ?5@5G8A;5=> 2 D0A5B5 enumeration.8Notation content is not listed in the enumeration facet. QtXmlPatternsz@8 =0A;54>20=88 >1J548=5=85< 4>ABC?=K B>;L:> D0A5BK %1 8 %2.8Only %1 and %2 facets are allowed when derived by union. QtXmlPatterns">;L:> >4=> >1JO2;5=85 %1 <>65B ?@8ACBAB2>20BL 2 ?@>;>35 70?@>A0.6Only one %1 declaration can occur in the query prolog. QtXmlPatternsF>;65= 1KBL B>;L:> >48= M;5<5=B %1.Only one %1-element can appear. QtXmlPatterns>445@68205BAO B>;L:> Unicode Codepoint Collation (%1). %2 =5 ?>445@68205BAO.IOnly the Unicode Codepoint Collation is supported(%1). %2 is unsupported. QtXmlPatternsh">;L:> ?@5D8:A %1 <>65B 1KBL A2O70= A %2 8 =0>1>@>B.5Only the prefix %1 can be bound to %2 and vice versa. QtXmlPatterns?5@0B>@ %1 =5 <>65B 8A?>;L7>20BLAO 4;O 0B><0@=KE 7=0G5=89 B8?>2 %2 8 %3.>Operator %1 cannot be used on atomic values of type %2 and %3. QtXmlPatterns`?5@0B>@ %1 =5 <>65B 8A?>;L7>20BLAO 4;O B8?0 %2.&Operator %1 cannot be used on type %2. QtXmlPatternsZ5@5?>;=5=85: 5 C40QBAO ?@54AB028BL 40BC %1."Overflow: Can't represent date %1. QtXmlPatternsT5@5?>;=5=85: =52>7<>6=> ?@54AB028BL 40BC.$Overflow: Date can't be represented. QtXmlPatterns$H81:0 @071>@0: %1Parse error: %1 QtXmlPatterns@5D8:A %1 <>65B 1KBL A2O70= B>;L:> A %2 (2 40==>< A;CG05 C65 ?@54>?@545;5=>).LPrefix %1 can only be bound to %2 (and it is, in either case, pre-declared). QtXmlPatternsD@5D8:A %1 C65 >1JO2;5= 2 ?@>;>35.,Prefix %1 is already declared in the prolog. QtXmlPatterns\@5>1@07>20=85 %1 : %2 <>65B A=878BL B>G=>ABL./Promoting %1 to %2 may cause loss of precision. QtXmlPatternsb!>45@68<>5 QName =5 A>>B25BAB2C5B D0A5BC pattern.+QName content does not match pattern facet. QtXmlPatternsd!>45@68<>5 QName >BACBAB2C5B 2 D0A5B5 enumeration.5QName content is not listed in the enumeration facet. QtXmlPatternsJ5>1E>48<> %1 M;5<5=B>2, ?>;CG5=> %2./Required cardinality is %1; got cardinality %2. QtXmlPatternsD"@51C5BAO B8? %1, => >1=0@C65= %2.&Required type is %1, but %2 was found. QtXmlPatterns~K?>;=O5BAO B01;8F0 AB8;59 XSL-T 1.0 A >1@01>BG8:>< 25@A88 2.0.5Running an XSL-T 1.0 stylesheet with a 2.0 processor. QtXmlPatternsf=0:>2>5 F5;>5 =5 A>>B25BAB2C5B D0A5BC totalDigits.?Signed integer content does not match in the totalDigits facet. QtXmlPatterns^=0:>2>5 F5;>5 =5 A>>B25BAB2C5B D0A5BC pattern.4Signed integer content does not match pattern facet. QtXmlPatternsh=0:>2>5 F5;>5 =5 A>>B25BAB2C5B D0A5BC maxExclusive.=Signed integer content does not match the maxExclusive facet. QtXmlPatternsh=0:>2>5 F5;>5 =5 A>>B25BAB2C5B D0A5BC maxInclusive.=Signed integer content does not match the maxInclusive facet. QtXmlPatternsh=0:>2>5 F5;>5 =5 A>>B25BAB2C5B D0A5BC minExclusive.=Signed integer content does not match the minExclusive facet. QtXmlPatternsh=0:>2>5 F5;>5 =5 A>>B25BAB2C5B D0A5BC minInclusive.=Signed integer content does not match the minInclusive facet. QtXmlPatterns`=0:>2>5 F5;>5 >BACBAB2C5B 2 D0A5B5 enumeration.>Signed integer content is not listed in the enumeration facet. QtXmlPatterns# ?@>AB>3> B8?0 %1 <>65B 1KBL B>;L:> ?@>AB>9 0B><0@=K9 107>2K9 B8?.=Simple type %1 can only have simple atomic type as base type. QtXmlPatterns@>AB>9 B8? %1 =5 <>65B =0A;54>20BL %2, B0: :0: 5ABL >3@0=8G5=85, >?@545;ONI55 53> :>=5G=K<.PSimple type %1 cannot derive from %2 as the latter defines restriction as final. QtXmlPatterns# ?@>AB>3> B8?0 %1 %2 =5 <>65B 1KBL =5?>A@54AB25==K< 107>2K< B8?><./Simple type %1 cannot have direct base type %2. QtXmlPatternsf@>AB>9 B8? %1 A>45@68B =54>?CAB8<K9 D0A5B B8?0 %2.2Simple type %1 contains not allowed facet type %2. QtXmlPatternsd54>?CAB8<>, GB>1K ?@>AB>9 B8? %1 8<5; 107>2K< %2.3Simple type %1 is not allowed to have base type %2. QtXmlPatternsV@>AB>9 B8? %1 <>65B 8<5BL B>;L:> D0A5B %2.0Simple type %1 is only allowed to have %2 facet. QtXmlPatternsV@>AB>9 B8? A>45@68B =54>?CAB8<K9 D0A5B %1.*Simple type contains not allowed facet %1. QtXmlPatternsJ#:070==K9 B8? %1 H01;>=C =5 8725AB5=.-Specified type %1 is not known to the schema. QtXmlPatterns#:070==K9 B8? %1 =5 <>65B 1KBL :>@@5:B=> 70<5IQ= M;5<5=B>< B8?0 %2.DSpecified type %1 is not validly substitutable with element type %2. QtXmlPatternsd!>45@68<>5 AB@>:8 =5 A>>B25BAB2C5B D0A5BC pattern.,String content does not match pattern facet. QtXmlPatternsb!>45@68<>5 AB@>:8 =5 A>>B25BAB2C5B D0A5BC length./String content does not match the length facet. QtXmlPatternsh!>45@68<>5 AB@>:8 =5 A>>B25BAB2C5B D0A5BC maxLength.2String content does not match the maxLength facet. QtXmlPatternsh!>45@68<>5 AB@>:8 =5 A>>B25BAB2C5B D0A5BC minLength.2String content does not match the minLength facet. QtXmlPatternsf!>45@68<>5 AB@>:8 >BACBAB2C5B 2 D0A5B5 enumeration.6String content is not listed in the enumeration facet. QtXmlPatternsP"5:AB>2K5 C7;K =54>?CAB8<K 2 MB>< <5AB5.,Text nodes are not allowed at this location. QtXmlPatterns"5:AB 8;8 AAK;:0 =0 >1J5:B =54>?CAB8<K 2 :0G5AB25 A>45@68<>3> M;5<5=B0 %17Text or entity references not allowed inside %1 element QtXmlPatternsBAL %1 =5 ?>445@68205BAO 2 XQuery$The %1-axis is unsupported in XQuery QtXmlPatterns>7<>6=>ABL 8<?>@B0 AE5< =5 ?>445@68205BAO, A;54>20B5;L=>, >1JO2;5=89 %1 1KBL =5 4>;6=>.WThe Schema Import feature is not supported, and therefore %1 declarations cannot occur. QtXmlPatterns>7<>6=>ABL ?@>25@:8 ?> AE5<5 =5 ?>445@68205BAO. K@065=8O %1 =5 <>3CB 8A?>;L7>20BLAO.VThe Schema Validation Feature is not supported. Hence, %1-expressions may not be used. QtXmlPatterns>URI =5 <>65B A>45@60BL D@03<5=BThe URI cannot have a fragment QtXmlPatternsfB@81CB %1 <>65B 1KBL B>;L:> C ?5@2>3> M;5<5=B0 %2.9The attribute %1 can only appear on the first %2 element. QtXmlPatterns|# %2 =5 <>65B 1KBL 0B@81CB0 %1, :>340 >= O2;O5BAO ?>B><:>< %3.?The attribute %1 cannot appear on %2, when it is a child of %3. QtXmlPatterns!8<2>; A :>4>< %1, ?@8ACBAB2CNI89 2 %2 ?@8 8A?>;L7>20=88 :>48@>2:8 %3, =5 O2;O5BAO 4>?CAB8<K< A8<2>;>< XML.QThe codepoint %1, occurring in %2 using encoding %3, is an invalid XML character. QtXmlPatterns~0==K5 >1@010BK205<>9 8=AB@C:F88 =5 <>3CB A>45@60BL AB@>:C %1AThe data of a processing instruction cannot contain the string %1 QtXmlPatterns>01>@ ?> C<>;G0=8N =5 >?@545;Q=#The default collection is undefined QtXmlPatterns$<O :>48@>2:8 %1 =5:>@@5:B=>. <O :>48@>2:8 4>;6=> A>45@60BL B>;L:> A8<2>;K ;0B8=8FK 157 ?@>15;>2 8 4>;6=> C4>2;5B2>@OBL @53C;O@=><C 2K@065=8N %2.The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2. QtXmlPatterns5@2K9 0@3C<5=B %1 =5 <>65B 1KBL B8?0 %2. = 4>;65= 1KBL G8A;>2>3> B8?0, B8?0 xs:yearMonthDuration 8;8 B8?0 xs:dayTimeDuration.uThe first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration. QtXmlPatterns5@2K9 0@3C<5=B %1 =5 <>65B 1KBL B8?0 %2. = 4>;65= 1KBL B8?0 %3, %4 8;8 %5.PThe first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. QtXmlPatterns&$>:CA =5 >?@545;Q=.The focus is undefined. QtXmlPatternsb=8F80;870F8O ?5@5<5==>9 %1 7028A8B >B A51O A0<>93The initialization of variable %1 depends on itself QtXmlPatternsb-;5<5=B %1 =5 A>>B25BAB2C5B =5>1E>48<><C B8?C %2./The item %1 did not match the required type %2. QtXmlPatterns;NG52>5 A;>2> %1 =5 <>65B 2AB@5G0BLAO A ;N1K< 4@C38< =0720=85< @568<0.5The keyword %1 cannot occur with any other mode name. QtXmlPatterns>A;54=OO G0ABL ?CB8 4>;6=0 A>45@60BL C7;K 8;8 0B><0@=K5 7=0G5=8O, => =5 <>65B A>45@60BL 8 B>, 8 4@C3>5 >4=>2@5<5==>.kThe last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two. QtXmlPatternsZ>7<>6=>ABL 8<?>@B0 <>4C;59 =5 ?>445@68205BAO*The module import feature is not supported QtXmlPatternsd0720=85 %1 =5 A>>B25BAB2C5B =8 >4=><C B8?C AE5<K..The name %1 does not refer to any schema type. QtXmlPatterns0720=85 @0AG8BK205<>3> 0B@81CB0 =5 <>65B 8<5BL URI ?@>AB@0=AB20 8<Q= %1 A ;>:0;L=K< 8<5=5< %2.ZThe name for a computed attribute cannot have the namespace URI %1 with the local name %2. QtXmlPatterns<O ?5@5<5==>9, A2O70==>9 A 2K@065=85< for, 4>;6=> >B;8G0BLAO >B ?>78F8>==>9 ?5@5<5==>9. 25 ?5@5<5==K5 A 8<5=5< %1 :>=D;8:BCNB.The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide. QtXmlPatterns|0720=85 2K@065=8O @0AH8@5=8O 4>;6=> 1KBL 2 ?@>AB@0=AB25 8<Q=.;The name of an extension expression must be in a namespace. QtXmlPatterns0720=85 >?F88 4>;6=> A>45@60BL ?@5D8:A. 5B ?@>AB@0=AB20 8<Q= ?> C<>;G0=8N 4;O >?F89.TThe name of an option must have a prefix. There is no default namespace for options. QtXmlPatternsf@>AB@0=BA2> 8<Q= %1 70@575@28@>20=>, ?>MB><C ?>;L7>20B5;LA:85 DC=:F88 =5 <>3CB 53> 8A?>;L7>20BL. >?@>1C9B5 ?@54>?@545;Q==K9 ?@5D8:A %2, :>B>@K9 ACI5AB2C5B 4;O ?>4>1=KE A8BC0F89.The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases. QtXmlPatternsURI ?@>AB@0=AB20 8<Q= =5 <>65B 1KBL ?CAB>9 AB@>:>9 ?@8 A2O7K20=88 A ?@5D8:A>< %1.JThe namespace URI cannot be the empty string when binding to a prefix, %1. QtXmlPatternsURI ?@>AB@0=AB20 8<Q= 2 =0720=88 @0AAG8BK205<>3> 0B@81CB0 =5 <>65B 1KBL %1.DThe namespace URI in the name for a computed attribute cannot be %1. QtXmlPatternsURI ?@>AB@0=AB20 8<Q= 4>;65= 1KBL :>=AB0=B>9 8 =5 <>65B A>45@60BL 2K@065=89.IThe namespace URI must be a constant and cannot use enclosed expressions. QtXmlPatterns@>AB@0=AB2> 8<Q= 4;O DC=:F88 ?>;L7>20B5;O =5 <>65B 1KBL ?CABK< (?>?@>1C9B5 ?@54>?@545;Q==K9 ?@5D8:A %1, A>740==K9 4;O ?>4>1=KE A;CG052)zThe namespace for a user defined function cannot be empty (try the predefined prefix %1, which exists for cases like this) QtXmlPatterns8@>AB@0=AB2> 8<Q= ?>;L7>20B5;LA:>9 DC=:F88 2 <>4C;5 181;8>B5:8 4>;65= A>>B25BAB2>20BL ?@>AB@0=AB2C 8<Q= <>4C;O. @C38<8 A;>20<8, >= 4>;65= 1KBL %1 2<5AB> %2The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2 QtXmlPatterns$>@<0 =>@<0;870F88 %1 =5 ?>445@68205BAO. >445@6820NBAO B>;L:> %2, %3, %4, %5 8 ?CAB0O, B.5. ?CAB0O AB@>:0 (157 =>@<0;870F88).The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization). QtXmlPatternsv5@540= ?0@0<5B@ %1 , => A>>B25BAB2CNI53> %2 =5 ACI5AB2C5B.;The parameter %1 is passed, but no corresponding %2 exists. QtXmlPatternsv5>1E>48< ?0@0<5B@ %1 , => A>>B25BAB2CNI53> %2 =5 ?5@540=>.BThe parameter %1 is required, but no corresponding %2 is supplied. QtXmlPatterns>@5D8:A%1 =5 <>65B 1KBL A2O70=.The prefix %1 cannot be bound. QtXmlPatterns5 C40QBAO A2O70BL ?@5D8:A %1. > C<>;G0=8N ?@5D8:A A2O70= A ?@>AB@0=AB2>< 8<Q= %2.SThe prefix %1 cannot be bound. By default, it is already bound to the namespace %2. QtXmlPatternsp@5D8:A 4>;65= 1KBL :>@@5:B=K< %1, => %2 8< =5 O2;O5BAO./The prefix must be a valid %1, which %2 is not. QtXmlPatterns>@=52>9 C75; 2B>@>3> 0@3C<5=B0 DC=:F88 %1 4>;65= 1KBL 4>:C<5=B><. %2 =5 O2;O5BAO 4>:C<5=B><.gThe root node of the second argument to function %1 must be a document node. %2 is not a document node. QtXmlPatternsB>@>9 0@3C<5=B %1 =5 <>65B 1KBL B8?0 %2. = 4>;65= 1KBL B8?0 %3, %4 8;8 %5.QThe second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. QtXmlPatterns&5;52>5 8<O 2 >1@010BK205<>9 8=AB@C:F88 =5 <>65B 1KBL %1 2 ;N1>9 :><18=0F88 =86=53> 8 25@E=53> @538AB@>2. <O %2 =5:>@@5:B=>.~The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, %2 is invalid. QtXmlPatternsd&5;52>5 ?@>AB@0=AB2> 8<Q= %1 =5 <>65B 1KBL ?CABK<.-The target namespace of a %1 cannot be empty. QtXmlPatterns=0G5=85 0B@81CB0 %1 M;5<5=B0 %2 4>;6=> 1KBL 8;8 %3, 8;8 %4, => =5 %5.IThe value for attribute %1 on element %2 must either be %3 or %4, not %5. QtXmlPatterns=0G5=85 0B@81CB0 %1 4>;6=> 1KBL B8?0 %2, => %3 =5 A>>B25BAB2C5B 40==><C B8?C.=The value of attribute %1 must be of type %2, which %3 isn't. QtXmlPatterns=0G5=85 0B@81CB0 25@A88 XSL-T 4>;6=> 1KBL B8?0 %1, => %2 8< =5 O2;O5BAO.TThe value of the XSL-T version attribute must be a value of type %1, which %2 isn't. QtXmlPatterns:5@5<5==0O %1 =5 8A?>;L7C5BAOThe variable %1 is unused QtXmlPatternsz@8ACBAB2C5B >4=> 7=0G5=85 IDREF 157 A>>B25BAB2CNI53> ID: %1.6There is one IDREF value with no corresponding ID: %1. QtXmlPatterns0==K9 >1@01>BG8: =5 @01>B05B A> AE5<0<8, A;54>20B5;L=>, %1 =5 <>65B 8A?>;L7>20BLAO.CThis processor is not Schema-aware and therefore %1 cannot be used. QtXmlPatterns<@5<O %1:%2:%3.%4 =5:>@@5:B=>.Time %1:%2:%3.%4 is invalid. QtXmlPatterns@5<O 24:%1:%2.%3 =5:>@@5:B=>. 24 G0A0, => <8=CBK, A5:C=4K 8/8;8 <8;;8A5:C=4K >B;8G=K >B 0; _Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0;  QtXmlPatterns-;5<5=BK 25@E=53> C@>2=O B01;8FK AB8;59 4>;6=K 1KBL 2 ?@>AB@0=AB25 8<5=, :>B>@K< %1 =5 O2;O5BAO.NTop level stylesheet elements must be in a non-null namespace, which %1 isn't. QtXmlPatterns20 0B@81CB0 >1JO2;5=8O ?@>AB@0=AB2 8<Q= 8<5NB >48=0:>2>5 8<O: %1.?@545;Q=.Type %1 already defined. QtXmlPatternsrH81:0 B8?>2 2 ?@5>1@07>20=88, >6840;>AL %1, ?>;CG5=> %2.-Type error in cast, expected %1, received %2. QtXmlPatternsX1J548=5=85 =5 A>>B25BAB2C5B D0A5BC pattern.+Union content does not match pattern facet. QtXmlPatterns`1J548=5=85 =5 ?5@5G8A;5=> 2 D0A5B5 enumeration.5Union content is not listed in the enumeration facet. QtXmlPatterns<58725AB2=K9 0B@81CB XSL-T %1.Unknown XSL-T attribute %1. QtXmlPatternsh D0A5B5 %2 8A?>;L7C5BAO =58725AB=>5 >1>7=0G5=85 %1.%Unknown notation %1 used in %2 facet. QtXmlPatternsl577=0:>2>5 F5;>5 =5 A>>B25BAB2C5B D0A5BC totalDigits.AUnsigned integer content does not match in the totalDigits facet. QtXmlPatternsd577=0:>2>5 F5;>5 =5 A>>B25BAB2C5B D0A5BC pattern.6Unsigned integer content does not match pattern facet. QtXmlPatternsn577=0:>2>5 F5;>5 =5 A>>B25BAB2C5B D0A5BC maxExclusive.?Unsigned integer content does not match the maxExclusive facet. QtXmlPatternsn577=0:>2>5 F5;>5 =5 A>>B25BAB2C5B D0A5BC maxInclusive.?Unsigned integer content does not match the maxInclusive facet. QtXmlPatternsn577=0:>2>5 F5;>5 =5 A>>B25BAB2C5B D0A5BC minExclusive.?Unsigned integer content does not match the minExclusive facet. QtXmlPatternsn577=0:>2>5 F5;>5 =5 A>>B25BAB2C5B D0A5BC minInclusive.?Unsigned integer content does not match the minInclusive facet. QtXmlPatternsf577=0:>2>5 F5;>5 >BACBAB2C5B 2 D0A5B5 enumeration.@Unsigned integer content is not listed in the enumeration facet. QtXmlPatternsT=0G5=85 %1 B8?0 %2 1>;LH5 <0:A8<C<0 (%3).)Value %1 of type %2 exceeds maximum (%3). QtXmlPatternsR=0G5=85 %1 B8?0 %2 <5=LH5 <8=8<C<0 (%3).*Value %1 of type %2 is below minimum (%3). QtXmlPatternsl3@0=8G5=85 7=0G5=8O 0B@81CB0 %1 =5 B8?0 0B@81CB0: %2.?Value constraint of attribute %1 is not of attributes type: %2. QtXmlPatternsl3@0=8G5=85 7=0G5=8O M;5<5=B0 %1 =5 B8?0 M;5<5=B0: %2.;Value constraint of element %1 is not of elements type: %2. QtXmlPatterns84K B8?>2 M;5<5=B>2 %1 4>;6=K 1KBL 8;8 0B><0@=K<8, 8;8 >1J548=5=8O<8.:Variety of item type of %1 must be either atomic or union. QtXmlPatterns`84K 2=CB@5==8E B8?>2 %1 4>;6=K 1KBL 0B><0@=K<8.-Variety of member types of %1 must be atomic. QtXmlPatterns|5@A8O %1 =5 ?>445@68205BAO. >445@68205BAO XQuery 25@A88 1.0.AVersion %1 is not supported. The supported XQuery version is 1.0. QtXmlPatternsJ>;5 >3@0=8G5=89 B8?0 H01;>=0 W3C XML(W3C XML Schema identity constraint field QtXmlPatterns\5@5:;NG0B5;L >3@0=8G5=89 B8?0 H01;>=0 W3C XML+W3C XML Schema identity constraint selector QtXmlPatternsA;8 ?0@0<5B@ =5>1E>48<, 7=0G5=85 ?> C<>;G0=85 =5 <>65B 1KBL ?5@540=> G5@57 0B@81CB %1 8;8 :>=AB@C:B>@ ?>A;54>20B5;L=>AB8.rWhen a parameter is required, a default value cannot be supplied through a %1-attribute or a sequence constructor. QtXmlPatternsA;8 %2 A>45@68B 0B@81CB %1, :>=AB@C:B>@ ?>A;54>20B5;L=>AB8 =5 <>65B 1KBL 8A?>;L7>20=.JWhen attribute %1 is present on %2, a sequence constructor cannot be used. QtXmlPatterns|@8 ?@5>1@07>20=88 %2 2 %1 8AE>4=>5 7=0G5=85 =5 <>65B 1KBL %3.:When casting to %1 from %2, the source value cannot be %3. QtXmlPatterns@8 ?@5>1@07>20=88 2 %1 8;8 ?@>872>4=K5 >B =53> B8?K 8AE>4=>5 7=0G5=85 4>;6=> 1KBL B>3> 65 B8?0 8;8 AB@>:>2K< ;8B5@0;><. "8? %2 =54>?CAB8<.When casting to %1 or types derived from it, the source value must be of the same type, or it must be a string literal. Type %2 is not allowed. QtXmlPatternsA;8 DC=:F8O %1 8A?>;L7C5BAO 4;O A@02=5=8O 2=CB@8 H01;>=0, 0@3C<5=B 4>;65= 1KBL AAK;:>9 =0 ?5@5<5==CN 8;8 AB@>:>2K< ;8B5@0;><.vWhen function %1 is used for matching inside a pattern, the argument must be a variable reference or a string literal. QtXmlPatterns!8<2>;K ?@>15;>2 C40;5=K (70 8A:;NG5=85< B5E, GB> 1K;8 2 A8<2>;0E :;0AA>2)OWhitespace characters are removed, except when they appear in character classes QtXmlPatternsP>4 %1 =525@5=, B0: :0: =0G8=05BAO A %2.-Year %1 is invalid because it begins with %2. QtXmlPatterns ?CAB>empty QtXmlPatterns@>2=> >48= exactly one QtXmlPatterns>48= 8;8 1>;55 one or more QtXmlPatternsxsi:noNamespaceSchemaLocation =5 <>65B 2AB@5G0BLAO ?>A;5 ?5@2>3> =5-`namespace` M;5<5=B0 8;8 0B@81CB0.^xsi:noNamespaceSchemaLocation cannot appear after the first no-namespace element or attribute. QtXmlPatterns@>AB@0=AB2> 8<Q= xsi:schemaLocation %1 C65 2AB@5G0;>AL @0=55 2 40==>< 4>:C<5=B5.Vxsi:schemaLocation namespace %1 has already appeared earlier in the instance document. QtXmlPatterns=C;L 8;8 1>;55 zero or more QtXmlPatterns=C;L 8;8 >48= zero or one QtXmlPatterns ) , ffDiaporama/locale/qt_pt.qm0000777000175000001440000021126112275647345016156 0ustar dominiqueusers,ֺ$H5L)H5f pf2f;fIf|Effl_<>NLZ`қ`\A2Dege>~eLįįސ y)*y*yo*y*TL*0'*0+Fy+F+f+fC<+z0U+d+p-+O+z0+u+8+C+M+y+W+į+įp`+įۅ+0F0iG9$Hw9Hw99\I.nIJ+J6xJ61J69J6>J6yJ6{J6SJ6KGLZMLL1Lb !O|1PFEPFE{ PFErTQV1V1Vl VϛW WT<WT"X;XbX˙<XYZg5\]4\]4E\|^v7v"fT IA)[<4IEyVɵn2zɵn^ɵneɵnqɵn~ɵnRɵn) W B+OMElMqH-<p5#QI%UT*42CCCe#D"uD1R,MaR?CfP loR+Xw^}^|{yW2{2'.?di dysjurgO "l)*-T/=Nf1$95~P< k}?NxNky]`4Y`  H)i 68$6x6^T|3o=}C)EE%=g{+8AAR[yLnp4uhMxMEOEX#ww!e) */eK5^;BylO ZfE`wcփu(" e$$'+(Ԋ^ n,a;yC&H`j/_IxS/ YMOYMXrh^ i%ssc~wP1ۊ1YN-)]]JIII5I9IXII#IFYɆiyFȆIˆʆFFuDSduDZ`oG,,p,,,`uɘeš5$fR afRINƘJ&c#PqV8V;Vw ǖG +h'$%C ?"sKN8MHR~]]]dky^f{yG%NصǥѤ+t{yr %.C-n5yƨyƨ˾eZҝz է?f~bIo~bKo !c(+3//S6 hGOLAUټPѧ:UizUZÓZZZ;^ne iSiZy;r{}uh}w}w}wjtJt.1.PDt([tYt_ Fvʢ5ʢd6dvtdd59b&ؕUBw-mr b2?6UCU]DK1U|$arrt}wZ}$}$Մ}$ZK<;M* /YEMuTi~5kEXU HUbDbGlgAi$^x1 ]z*2dpU¿5[z@xmNnБb*C=ʴ5yMʴ5ԄD&dF5F5zdYI $IHAsp 6 }$w qeW` ڤ Et E AcP AcJ 35n K!?Ez bb b` b` i3% la|m lf |R t tJh j @ (  > o f u K %'\   )r */ 7u =N4 B/ T^„ ] `^d ` c( dז e eI( f1Q` gn k, rD": x ~dN $Q 9 I'S I-c I7 ; v  Jb %p* ,y ,C +! ˔M8 P' PU Q Y_ 68 :0 f  f D 4a s sG2 AAU :` m, #-tt 0N+ E9 L' L Mc\=[ Sc Vh ]$3 f) f)E io>L m` A w~ H7 HCm $F .@ӧ  i? / p ܓ J JGi t.1 kږ Ӈ k ̺Mv -DN k k U)[ < 0C  S  Z ή xH]| ./ 7FA >U >V >W >]3 >j2 >o >_ > DT I. RVK RV RV S.= S Y [v j7oBz p/ . Bfe 8 T3 TrN T T f g 53 E Sp )d) @ .3Y ._` .sV . a yS | U t :b[r ʜ. +>0 0E ;ɾ۽ Ptz Pt6 feB fe g~ iFC iH ic u/ w w w; w}L w}7 w} P X ^| }nP R3 X - D? t5z% t5 {I  )J T)gT**(%*/E)c/Ej=BkI_[XRu[ a.:vɅYy$~\SiB&`ݖ[yrE  F"#k$U%4=%4KP-v0i)̿0͋1c62wT{D!5HWJd\WL$. c5fc5iCyC" {~a`} :FNAkyPt2,q=>XihSobre o %1About %1MAC_APPLICATION_MENUOcultar %1Hide %1MAC_APPLICATION_MENUOcultar Outros Hide OthersMAC_APPLICATION_MENUPreferncias &Preferences...MAC_APPLICATION_MENUEncerrar %1Quit %1MAC_APPLICATION_MENUServiosServicesMAC_APPLICATION_MENUMostrar TudoShow AllMAC_APPLICATION_MENU"%1, %2 indefinido%1, %2 not definedQ3Accel,%1 ambguo no tratadoAmbiguous %1 not handledQ3AccelRemoverDelete Q3DataTable FalsoFalse Q3DataTableInserirInsert Q3DataTableVerdadeiroTrue Q3DataTableActualizarUpdate Q3DataTablez%1 Ficheiro no encontrado. Verifique a localizao e o nome.+%1 File not found. Check path and filename. Q3FileDialog&Apagar&Delete Q3FileDialog&No&No Q3FileDialog&OK&OK Q3FileDialog &Abrir&Open Q3FileDialog&Mudar Nome&Rename Q3FileDialog&Gravar&Save Q3FileDialogNo &Ordenado &Unsorted Q3FileDialog&Sim&Yes Q3FileDialogJ<qt>Deseja mesmo apagar %1 "%2"?</qt>1Are you sure you wish to delete %1 "%2"? Q3FileDialog,Todos os Ficheiros (*) All Files (*) Q3FileDialog0Todos os Ficheiros (*.*)All Files (*.*) Q3FileDialogAtributos Attributes Q3FileDialog RecuarBack Q3FileDialogCancelarCancel Q3FileDialog6Copiar ou Mover um FicheiroCopy or Move a File Q3FileDialog Criar Nova PastaCreate New Folder Q3FileDialogDataDate Q3FileDialogApagar %1 Delete %1 Q3FileDialogVista Detalhada Detail View Q3FileDialog PastaDir Q3FileDialog Pastas Directories Q3FileDialog Pasta: Directory: Q3FileDialogErroError Q3FileDialogFicheiroFile Q3FileDialog$&Nome do Ficheiro: File &name: Q3FileDialog$&Tipo de Ficheiro: File &type: Q3FileDialogProcurar PastaFind Directory Q3FileDialogInacessvel Inaccessible Q3FileDialogVista Abreviada List View Q3FileDialogVer &em: Look &in: Q3FileDialogNomeName Q3FileDialogNova Pasta New Folder Q3FileDialogNova Pasta %1 New Folder %1 Q3FileDialogNova Pasta 1 New Folder 1 Q3FileDialogPasta MeOne directory up Q3FileDialog AbrirOpen Q3FileDialog Abrir Open  Q3FileDialog8Antever Contedo do FicheiroPreview File Contents Q3FileDialog<Antever Informao do FicheiroPreview File Info Q3FileDialog&RecarregarR&eload Q3FileDialogApenas Leitura Read-only Q3FileDialog"Leitura e escrita Read-write Q3FileDialogLer: %1Read: %1 Q3FileDialogGuardar ComoSave As Q3FileDialog(Seleccione uma PastaSelect a Directory Q3FileDialog:Mostrar ficheiros &escondidosShow &hidden files Q3FileDialogTamanhoSize Q3FileDialogOrdenarSort Q3FileDialog$Ordenar pela &Data Sort by &Date Q3FileDialog$Ordenar pelo &Nome Sort by &Name Q3FileDialog*Ordenar pelo &Tamanho Sort by &Size Q3FileDialogEspecialSpecial Q3FileDialog$Ligao para PastaSymlink to Directory Q3FileDialog*Ligao para FicheiroSymlink to File Q3FileDialog*Ligao para EspecialSymlink to Special Q3FileDialogTipoType Q3FileDialogApenas Escrita Write-only Q3FileDialogEscrever: %1 Write: %1 Q3FileDialoga pasta the directory Q3FileDialogo ficheirothe file Q3FileDialoga ligao the symlink Q3FileDialogBNo foi possvel criar a pasta %1Could not create directory %1 Q3LocalFs2No foi possvel abrir %1Could not open %1 Q3LocalFs>No foi possvel ler a pasta %1Could not read directory %1 Q3LocalFs`No foi possvel apagar o ficheiro ou a pasta %1%Could not remove file or directory %1 Q3LocalFsRNo foi possvel mudar o nome %1 para %2Could not rename %1 to %2 Q3LocalFs8Nao foi possvel escrever %1Could not write %1 Q3LocalFsConfigurar... Customize... Q3MainWindowAlinharLine up Q3MainWindowJOperao interrompida pelo utilizadorOperation stopped by the userQ3NetworkProtocolCancelarCancelQ3ProgressDialogAplicarApply Q3TabDialogCancelarCancel Q3TabDialogPredefiniesDefaults Q3TabDialog AjudaHelp Q3TabDialogOKOK Q3TabDialog&Copiar&Copy Q3TextEdit Co&lar&Paste Q3TextEdit&Refazer&Redo Q3TextEdit&Desfazer&Undo Q3TextEdit LimparClear Q3TextEditCor&tarCu&t Q3TextEdit Seleccionar Tudo Select All Q3TextEdit FecharClose Q3TitleBarFecha a janelaCloses the window Q3TitleBarNContm comandos para manipular a janela*Contains commands to manipulate the window Q3TitleBarvMostra o nome da janela e contm controlos para a manipularFDisplays the name of the window and contains controls to manipulate it Q3TitleBar@Coloca a janela em ecr completoMakes the window full screen Q3TitleBarMaximizarMaximize Q3TitleBarMinimizarMinimize Q3TitleBar.Tira a janela da frenteMoves the window out of the way Q3TitleBarZColoca uma janela maximizada no estado normal&Puts a maximized window back to normal Q3TitleBarZColoca uma janela minimizada no estado normalPuts a minimized back to normal Q3TitleBar Restaurar abaixo Restore down Q3TitleBarRestaurar acima Restore up Q3TitleBarSistemaSystem Q3TitleBarMais...More... Q3ToolBar(desconhecido) (unknown) Q3UrlOperatorO protocolo '%1' no suporta copiar ou mover ficheiros ou pastasIThe protocol `%1' does not support copying or moving files or directories Q3UrlOperatorhO protocolo '%1' no suporta criao de novas pastas;The protocol `%1' does not support creating new directories Q3UrlOperatordO protocolo '%1' no suporta obteno de ficheiros0The protocol `%1' does not support getting files Q3UrlOperator^O protocolo '%1' no suporta listagem de pastas6The protocol `%1' does not support listing directories Q3UrlOperatorfO protocolo '%1' no suporta colocao de ficheiros0The protocol `%1' does not support putting files Q3UrlOperator|O protocolo '%1' no suporta eliminao de ficheiros ou pastas@The protocol `%1' does not support removing files or directories Q3UrlOperatorO protocolo '%1' no suporta mudana de nome de ficheiros ou pastas@The protocol `%1' does not support renaming files or directories Q3UrlOperator@O protocolo '%1' no suportado"The protocol `%1' is not supported Q3UrlOperator&Cancelar&CancelQ3Wizard&Terminar&FinishQ3Wizard &Ajuda&HelpQ3Wizard&Avanar >&Next >Q3Wizard< &Recuar< &BackQ3Wizard Ligao recusadaConnection refusedQAbstractSocket Ligao expiradaConnection timed outQAbstractSocket(Mquina desconhecidaHost not foundQAbstractSocket"Rede inalcanvelNetwork unreachableQAbstractSocket$'Socket' desligadoSocket is not connectedQAbstractSocket:Operao de 'socket' expiradaSocket operation timed outQAbstractSocket&Passo acima&Step upQAbstractSpinBoxPasso &abaixo Step &downQAbstractSpinBoxActivarActivate QApplicationJActiva a janela principal do programa#Activates the program's main window QApplicationdO executvel '%1' requere Qt %2, Qt %3 encontrado.,Executable '%1' requires Qt %2, found Qt %3. QApplicationTErro de Incompatibilidade da Biblioteca QtIncompatible Qt Library Error QApplicationLTRQT_LAYOUT_DIRECTION QApplication&Cancelar&Cancel QAxSelect&Objecto COM: COM &Object: QAxSelectOKOK QAxSelect8Seleccionar Controlo ActiveXSelect ActiveX Control QAxSelectActivarCheck QCheckBoxComutarToggle QCheckBoxDesactivarUncheck QCheckBox@&Adicionar s Cores Customizadas&Add to Custom Colors QColorDialogCores &bsicas &Basic colors QColorDialog&Cores c&ustomizadas&Custom colors QColorDialogV&erde:&Green: QColorDialog&Vermelho:&Red: QColorDialog&Saturao:&Sat: QColorDialog&Valor:&Val: QColorDialog*Canal &transparncia:A&lpha channel: QColorDialog &Azul:Bl&ue: QColorDialog C&or:Hu&e: QColorDialog FecharClose QComboBox FalsoFalse QComboBox AbrirOpen QComboBoxVerdadeiroTrue QComboBoxLFinalizao de transaco no possvelUnable to commit transaction QDB2Driver(Ligao no possvelUnable to connect QDB2DriverFAnulao de transaco no possvelUnable to rollback transaction QDB2DriverFFinalizao automtica no possvelUnable to set autocommit QDB2Driver@Ligao de varivel no possvelUnable to bind variable QDB2Result*Execuo no possvelUnable to execute statement QDB2ResultBObteno do primeiro no possvelUnable to fetch first QDB2ResultBObteno do seguinte no possvelUnable to fetch next QDB2ResultFObteno do registo %1 no possvelUnable to fetch record %1 QDB2Result.Preparao no possvelUnable to prepare statement QDB2ResultAMAM QDateTimeEditPMPM QDateTimeEditamam QDateTimeEditpmpm QDateTimeEditO Que Isto? What's This?QDialog&Cancelar&CancelQDialogButtonBox&Fechar&CloseQDialogButtonBox&No&NoQDialogButtonBox&OK&OKQDialogButtonBox&Gravar&SaveQDialogButtonBox&Sim&YesQDialogButtonBoxAbortarAbortQDialogButtonBoxAplicarApplyQDialogButtonBoxCancelarCancelQDialogButtonBox FecharCloseQDialogButtonBox"Fechar sem GravarClose without SavingQDialogButtonBoxDescartarDiscardQDialogButtonBoxNo Gravar Don't SaveQDialogButtonBox AjudaHelpQDialogButtonBoxIgnorarIgnoreQDialogButtonBoxN&o para Todos N&o to AllQDialogButtonBoxOKOKQDialogButtonBox AbrirOpenQDialogButtonBoxRestaurarResetQDialogButtonBox.Restaurar PredefiniesRestore DefaultsQDialogButtonBox Tentar NovamenteRetryQDialogButtonBox GravarSaveQDialogButtonBoxGravar TodosSave AllQDialogButtonBoxSim para &Todos Yes to &AllQDialogButtonBox&Data de Modificao Date Modified QDirModelTipoKind QDirModelNomeName QDirModelTamanhoSize QDirModelTipoType QDirModel FecharClose QDockWidget MenosLessQDoubleSpinBoxMaisMoreQDoubleSpinBox&OK&OK QErrorMessage@&Mostrar esta mensagem novamente&Show this message again QErrorMessage&Mensagem Depurao:Debug Message: QErrorMessageErro Fatal: Fatal Error: QErrorMessage Aviso:Warning: QErrorMessagez%1 Pasta no encontrada. Por favor verifique o nome da pasta.K%1 Directory not found. Please verify the correct directory name was given. QFileDialog%1 Ficheiro no encontrado. Por favor verifique o nome do ficheiro.A%1 File not found. Please verify the correct file name was given. QFileDialog@%1 j existe. Deseja substituir?-%1 already exists. Do you want to replace it? QFileDialog&Apagar&Delete QFileDialog &Abrir&Open QFileDialog&Mudar o Nome&Rename QFileDialog&Gravar&Save QFileDialog'%1' est protegido contra escrita. Deseja apagar de qualquer forma?9'%1' is write protected. Do you want to delete it anyway? QFileDialog,Todos os Ficheiros (*) All Files (*) QFileDialog0Todos os Ficheiros (*.*)All Files (*.*) QFileDialog2Deseja mesmo apagar '%1'?!Are sure you want to delete '%1'? QFileDialog RecuarBack QFileDialog@No foi possvel apagar a pasta.Could not delete directory. QFileDialog Criar Nova PastaCreate New Folder QFileDialogVista Detalhada Detail View QFileDialog Pastas Directories QFileDialog Pasta: Directory: QFileDialogUnidadeDrive QFileDialogFicheiroFile QFileDialog$&Nome do Ficheiro: File &name: QFileDialog$FIcheiros do tipo:Files of type: QFileDialogProcurar PastaFind Directory QFileDialogSeguinteForward QFileDialogVista Abreviada List View QFileDialog O Meu Computador My Computer QFileDialogNova Pasta New Folder QFileDialog AbrirOpen QFileDialogPasta MeParent Directory QFileDialogGravar ComoSave As QFileDialog:Mostrar ficheiros &escondidosShow &hidden files QFileDialogDesconhecidoUnknown QFileDialog&Data de Modificao Date ModifiedQFileSystemModelTipoKindQFileSystemModel O Meu Computador My ComputerQFileSystemModelNomeNameQFileSystemModelTamanhoSizeQFileSystemModelTipoTypeQFileSystemModel&Tipo de Letra&Font QFontDialog&Tamanho&Size QFontDialog&Sublinhar &Underline QFontDialogEfeitosEffects QFontDialog*&Estilo Tipo de Letra Font st&yle QFontDialogAmostraSample QFontDialog0Seleccione Tipo de Letra Select Font QFontDialog&Riscar Stri&keout QFontDialog&&Sistema de EscritaWr&iting System QFontDialog:A mudana de pasta falhou: %1Changing directory failed: %1QFtp$Ligado ao servidorConnected to hostQFtp*Ligado ao servidor %1Connected to host %1QFtp@A ligao ao servidor falhou: %1Connecting to host failed: %1QFtpLigao fechadaConnection closedQFtp2Ligao de dados recusada&Connection refused for data connectionQFtp>Ligao ao servidor %1 recusadaConnection refused to host %1QFtp(Ligao a %1 fechadaConnection to %1 closedQFtp:A criao da pasta falhou: %1Creating directory failed: %1QFtpBA descarga do ficheiro falhou: %1Downloading file failed: %1QFtp,Servidor %1 encontrado Host %1 foundQFtp4Servidor %1 no encontradoHost %1 not foundQFtp&Servidor encontrado Host foundQFtp<A listagem da pasta falhou: %1Listing directory failed: %1QFtp2A autenticao falhou: %1Login failed: %1QFtpDesligado Not connectedQFtp:A remoo da pasta falhou: %1Removing directory failed: %1QFtp@A remoo do ficheiro falhou: %1Removing file failed: %1QFtp"Erro desconhecido Unknown errorQFtpJO carregamento do ficheiro falhou: %1Uploading file failed: %1QFtp"Erro desconhecido Unknown error QHostInfo.Servidor No encontradoHost not foundQHostInfoAgent:Tipo de endereo desconhecidoUnknown address typeQHostInfoAgent"Erro desconhecido Unknown errorQHostInfoAgent$Ligado ao servidorConnected to hostQHttp*Ligado ao servidor %1Connected to host %1QHttpLigao fechadaConnection closedQHttp Ligao recusadaConnection refusedQHttp(Ligao a %1 fechadaConnection to %1 closedQHttp(O pedido HTTP falhouHTTP request failedQHttp,Servidor %1 encontrado Host %1 foundQHttp4Servidor %1 no encontradoHost %1 not foundQHttp&Servidor encontrado Host foundQHttp6Corpo parcial HTTP invlidoInvalid HTTP chunked bodyQHttpFCabealho de resposta HTTP invlidoInvalid HTTP response headerQHttp4Nenhum servidor para ligarNo server set to connect toQHttpPedido abortadoRequest abortedQHttpVO servidor fechou a ligao inesperadamente%Server closed connection unexpectedlyQHttp"Erro desconhecido Unknown errorQHttp4Tamanho de contedo erradoWrong content lengthQHttpJNo foi possvel iniciar a transacoCould not start transaction QIBaseDriver:Erro ao abrir a base de dadosError opening database QIBaseDriverNNo foi possvel finalizar a transacoUnable to commit transaction QIBaseDriverHNo foi possvel anular a transacoUnable to rollback transaction QIBaseDriverFNo foi possvel alocar a expressoCould not allocate statement QIBaseResultbNo foi possvel descrever a expresso de entrada"Could not describe input statement QIBaseResultLNo foi possvel descrever a expressoCould not describe statement QIBaseResultTNo foi possvel obter o elemento seguinteCould not fetch next item QIBaseResultDNo foi possvel encontrar o arrayCould not find array QIBaseResultPNo foi possvel obter os dados do arrayCould not get array data QIBaseResultTNo foi possvel obter informao da queryCould not get query info QIBaseResult\No foi possvel obter informao da expressoCould not get statement info QIBaseResultJNo foi possvel preparar a expressoCould not prepare statement QIBaseResultJNo foi possvel iniciar a transacoCould not start transaction QIBaseResultFNo foi possvel fechar a expressoUnable to close statement QIBaseResultNNo foi possvel finalizar a transacoUnable to commit transaction QIBaseResult:No foi possvel criar o BLOBUnable to create BLOB QIBaseResultBNo foi possvel executar a queryUnable to execute query QIBaseResult:No foi possvel abrir o BLOBUnable to open BLOB QIBaseResult6No foi possvel ler o BLOBUnable to read BLOB QIBaseResult@No foi possvel escrever o BLOBUnable to write BLOB QIBaseResult8Dispositivo sem espao livreNo space left on device QIODevice:Ficheiro ou pasta inexistenteNo such file or directory QIODevice Permisso negadaPermission denied QIODevice8Demasiados ficheiros abertosToo many open files QIODevice"Erro desconhecido Unknown error QIODevice4Mtodo de entrada Max OS XMac OS X input method QInputContext2Mtodo de entrada WindowsWindows input method QInputContextXIMXIM QInputContext*Mtodo de entrada XIMXIM input method QInputContext@No foi possivel mapear '%1': %2Could not mmap '%1': %2QLibraryFNo foi possvel desmapear '%1': %2Could not unmap '%1': %2QLibrarydDados de verificao do plugin incorrectos em '%1')Plugin verification data mismatch in '%1'QLibraryO plugin '%1' usa uma biblioteca Qt incompatvel. (%2.%3.%4) [%5]=The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5]QLibraryO plugin '%1' usa uma biblioteca Qt incompatvel. A chave de compilao esperada "%2", ficou "%3"OThe plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3"QLibrary"Erro desconhecido Unknown errorQLibrary&Copiar&Copy QLineEdit Co&lar&Paste QLineEdit&Refazer&Redo QLineEdit&Desfazer&Undo QLineEditCor&tarCu&t QLineEdit ApagarDelete QLineEdit Seleccionar Tudo Select All QLineEditJNo foi possvel iniciar a transacoUnable to begin transaction QMYSQLDriverNNo foi possvel finalizar a transacoUnable to commit transaction QMYSQLDriverLNo foi possvel estabelecer a ligaoUnable to connect QMYSQLDriverPNo foi possvel abrir a base de dados 'Unable to open database ' QMYSQLDriverHNo foi possvel anular a transacoUnable to rollback transaction QMYSQLDriverjNo foi possvel fazer a ligao dos valores externosUnable to bind outvalues QMYSQLResultRNo foi possvel fazer a ligao do valorUnable to bind value QMYSQLResultBNo foi possvel executar a queryUnable to execute query QMYSQLResultJNo foi possvel executar a expressoUnable to execute statement QMYSQLResult8No foi possvel obter dadosUnable to fetch data QMYSQLResultJNo foi possvel preparar a expressoUnable to prepare statement QMYSQLResultLNo foi possvel restaurar a expressoUnable to reset statement QMYSQLResultHNo foi possvel guardar o resultadoUnable to store result QMYSQLResultfNo foi possvel guardar os resultados da expresso!Unable to store statement results QMYSQLResult%1 - [%2] %1 - [%2] QMdiSubWindow&Fechar&Close QMdiSubWindow &Mover&Move QMdiSubWindow&Restaurar&Restore QMdiSubWindow&Tamanho&Size QMdiSubWindow FecharClose QMdiSubWindow AjudaHelp QMdiSubWindowMa&ximizar Ma&ximize QMdiSubWindowMaximizarMaximize QMdiSubWindowMenuMenu QMdiSubWindowMi&nimizar Mi&nimize QMdiSubWindowMinimizarMinimize QMdiSubWindowRestaurar Baixo Restore Down QMdiSubWindow&Permanecer no &Topo Stay on &Top QMdiSubWindow FecharCloseQMenuExecutarExecuteQMenu AbrirOpenQMenuAcerca do QtAbout Qt QMessageBox AjudaHelp QMessageBox.No Mostrar Detalhes...Hide Details... QMessageBoxOKOK QMessageBox&Mostrar Detalhes...Show Details... QMessageBox8Seleccione Mtodo de Entrada Select IMQMultiInputContextDSeleccionador de mtodo de entradaMultiple input method switcherQMultiInputContextPluginSeleccionador de mtodo de entrada que utiliza o menu de contexto dos elementos de textoMMultiple input method switcher that uses the context menu of the text widgetsQMultiInputContextPlugin\Outro 'socket' j est escuta no mesmo porto4Another socket is already listening on the same portQNativeSocketEngineTentativa de utilizao de 'socket' IPv6 numa plataforma sem suporte IPv6=Attempt to use IPv6 socket on a platform with no IPv6 supportQNativeSocketEngine Ligao recusadaConnection refusedQNativeSocketEngine Ligao expiradaConnection timed outQNativeSocketEngineLDatagrama demasiado grande para enviarDatagram was too large to sendQNativeSocketEngine(Mquina inalcanvelHost unreachableQNativeSocketEngine<Descritor de 'socket' invlidoInvalid socket descriptorQNativeSocketEngineErro de rede Network errorQNativeSocketEngine2Operao de rede expiradaNetwork operation timed outQNativeSocketEngine"Rede inalcanvelNetwork unreachableQNativeSocketEngine0Operao em no 'socket'Operation on non-socketQNativeSocketEngineSem recursosOut of resourcesQNativeSocketEngine Permisso negadaPermission deniedQNativeSocketEngine>Tipo de protocolo no suportadoProtocol type not supportedQNativeSocketEngine<O endereo no est disponvelThe address is not availableQNativeSocketEngine2O endereo est protegidoThe address is protectedQNativeSocketEngineHO endereo de ligao j est em uso#The bound address is already in useQNativeSocketEngineBA mquina remota fechou a ligao%The remote host closed the connectionQNativeSocketEnginehNo foi possvel inicializar 'socket' de transmisso%Unable to initialize broadcast socketQNativeSocketEnginehNo foi possvel inicializar 'socket' no bloqueante(Unable to initialize non-blocking socketQNativeSocketEngineJNo foi possvel receber uma mensagemUnable to receive a messageQNativeSocketEngineHNo foi possvel enviar uma mensagemUnable to send a messageQNativeSocketEngine2No foi possvel escreverUnable to writeQNativeSocketEngine"Erro desconhecido Unknown errorQNativeSocketEngineDOperao de 'socket' no suportadaUnsupported socket operationQNativeSocketEngineJNo foi possvel iniciar a transacoUnable to begin transaction QOCIDriver8No foi possvel inicializarUnable to initialize QOCIDriver6No foi possvel autenticarUnable to logon QOCIDriverFNo foi possvel alocar a expressoUnable to alloc statement QOCIResultNo foi possvel fazer a licao da coluna para execuo 'batch''Unable to bind column for batch execute QOCIResultVNo foi possvel fazer o ligamento do valorUnable to bind value QOCIResult`No foi possvel executar a expresso de 'batch'!Unable to execute batch statement QOCIResultJNo foi possvel executar a expressoUnable to execute statement QOCIResultFNo foi possvel passar ao seguinteUnable to goto next QOCIResultJNo foi possvel preparar a expressoUnable to prepare statement QOCIResultNNo foi possvel finalizar a transacoUnable to commit transaction QODBCDriver,No foi possvel ligarUnable to connect QODBCDriverNo foi possvel ligar - O 'driver' no suporta todas as funcionalidades necessriasCUnable to connect - Driver doesn't support all needed functionality QODBCDriverfNo foi possvel desactivar finalizao automticaUnable to disable autocommit QODBCDriver^No foi possvel activar finalizao automticaUnable to enable autocommit QODBCDriverHNo foi possvel anular a transacoUnable to rollback transaction QODBCDriver(QODBCResult::reset: No foi possvel definir 'SQL_CURSOR_STATIC' como atributo da expresso. Por favor verifique a configurao do seu 'driver' ODBCyQODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResult\No foi possvel fazer o ligamento da varivelUnable to bind variable QODBCResultJNo foi possvel executar a expressoUnable to execute statement QODBCResultBObteno do primeiro no possvelUnable to fetch first QODBCResultBNo foi possvel obter o seguinteUnable to fetch next QODBCResultJNo foi possvel preparar a expressoUnable to prepare statement QODBCResult IncioHomeQObjectNomeNameQPPDOptionsModel ValorValueQPPDOptionsModelJNo foi possvel iniciar a transacoCould not begin transaction QPSQLDriverNNo foi possvel finalizar a transacoCould not commit transaction QPSQLDriverHNo foi possvel anular a transacoCould not rollback transaction QPSQLDriver,No foi possvel ligarUnable to connect QPSQLDriver@No foi possvel criar a 'query'Unable to create query QPSQLResultPaisagem LandscapeQPageSetupWidgetTamanho pgina: Page size:QPageSetupWidgetFonte papel: Paper source:QPageSetupWidgetRetratoPortraitQPageSetupWidget"Erro desconhecido Unknown error QPluginLoader@%1 j existe. Deseja substituir?/%1 already exists. Do you want to overwrite it? QPrintDialog@<qt>Deseja gravar por cima?</qt>%Do you want to overwrite it? QPrintDialog$A0 (841 x 1189 mm)A0 (841 x 1189 mm) QPrintDialog"A1 (594 x 841 mm)A1 (594 x 841 mm) QPrintDialog"A2 (420 x 594 mm)A2 (420 x 594 mm) QPrintDialog"A3 (297 x 420 mm)A3 (297 x 420 mm) QPrintDialogPA4 (210 x 297 mm, 8.26 x 11.7 polegadas)%A4 (210 x 297 mm, 8.26 x 11.7 inches) QPrintDialog"A5 (148 x 210 mm)A5 (148 x 210 mm) QPrintDialog"A6 (105 x 148 mm)A6 (105 x 148 mm) QPrintDialog A7 (74 x 105 mm)A7 (74 x 105 mm) QPrintDialogA8 (52 x 74 mm)A8 (52 x 74 mm) QPrintDialogA9 (37 x 52 mm)A9 (37 x 52 mm) QPrintDialog,Nomes Alternativos: %1 Aliases: %1 QPrintDialog&B0 (1000 x 1414 mm)B0 (1000 x 1414 mm) QPrintDialog$B1 (707 x 1000 mm)B1 (707 x 1000 mm) QPrintDialog B10 (31 x 44 mm)B10 (31 x 44 mm) QPrintDialog"B2 (500 x 707 mm)B2 (500 x 707 mm) QPrintDialog"B3 (353 x 500 mm)B3 (353 x 500 mm) QPrintDialog"B4 (250 x 353 mm)B4 (250 x 353 mm) QPrintDialogPB5 (176 x 250 mm, 6.93 x 9.84 polegadas)%B5 (176 x 250 mm, 6.93 x 9.84 inches) QPrintDialog"B6 (125 x 176 mm)B6 (125 x 176 mm) QPrintDialog B7 (88 x 125 mm)B7 (88 x 125 mm) QPrintDialogB8 (62 x 88 mm)B8 (62 x 88 mm) QPrintDialogB9 (44 x 62 mm)B9 (44 x 62 mm) QPrintDialog$C5E (163 x 229 mm)C5E (163 x 229 mm) QPrintDialog$DLE (110 x 220 mm)DLE (110 x 220 mm) QPrintDialogXExecutivo (7.5 x 10 polegadas, 191 x 254 mm))Executive (7.5 x 10 inches, 191 x 254 mm) QPrintDialogNo possvel escrever no ficheiro %1. Por favor escolha um nome diferente.=File %1 is not writable. Please choose a different file name. QPrintDialog"O ficheiro existe File exists QPrintDialog(Folio (210 x 330 mm)Folio (210 x 330 mm) QPrintDialog*Ledger (432 x 279 mm)Ledger (432 x 279 mm) QPrintDialogPLegal (8.5 x 14 polegadas, 216 x 356 mm)%Legal (8.5 x 14 inches, 216 x 356 mm) QPrintDialogPCarta (8.5 x 11 polegadas, 216 x 279 mm)&Letter (8.5 x 11 inches, 216 x 279 mm) QPrintDialogOKOK QPrintDialogImprimirPrint QPrintDialog4Imprimir Para Ficheiro ...Print To File ... QPrintDialogImprimir todas Print all QPrintDialog&Seleco de pginas Print range QPrintDialog*Seleco de ImpressoPrint selection QPrintDialog.Tablide (279 x 432 mm)Tabloid (279 x 432 mm) QPrintDialogJEnvelope #10 Comum EUA (105 x 241 mm)%US Common #10 Envelope (105 x 241 mm) QPrintDialog"ligado localmentelocally connected QPrintDialogdesconhecidounknown QPrintDialog FecharCloseQPrintPreviewDialogPaisagem LandscapeQPrintPreviewDialogRetratoPortraitQPrintPreviewDialog JuntarCollateQPrintSettingsOutput CpiasCopiesQPrintSettingsOutput OpesOptionsQPrintSettingsOutputPginas de Pages fromQPrintSettingsOutputImprimir todas Print allQPrintSettingsOutput&Seleco de pginas Print rangeQPrintSettingsOutputSeleco SelectionQPrintSettingsOutputatoQPrintSettingsOutputImpressoraPrinter QPrintWidgetCancelarCancelQProgressDialog AbrirOpen QPushButtonActivarCheck QRadioButtonDm sintaxe de classe de caracteresbad char class syntaxQRegExp2m sintaxe de antecipaobad lookahead syntaxQRegExp.m sintaxe de repetiobad repetition syntaxQRegExp^funcionalidade desactivada est a ser utilizadadisabled feature usedQRegExp(valor octal invlidoinvalid octal valueQRegExp0limite interno alcanadomet internal limitQRegExp:delimitador esquerdo em faltamissing left delimQRegExpsem errosno error occurredQRegExpfim inesperadounexpected endQRegExp6Erro ao abrir base de dadosError to open databaseQSQLite2DriverJNo foi possvel iniciar a transacoUnable to begin transactionQSQLite2DriverNNo foi possvel finalizar a transacoUnable to commit transactionQSQLite2DriverHNo foi possvel anular a transacoUnable to rollback TransactionQSQLite2DriverJNo foi possvel executar a expressoUnable to execute statementQSQLite2ResultHNo foi possvel obter os resultadosUnable to fetch resultsQSQLite2Result<Erro ao fechar a base de dadosError closing database QSQLiteDriver:Erro ao abrir a base de dadosError opening database QSQLiteDriverJNo foi possvel iniciar a transacoUnable to begin transaction QSQLiteDriverNNo foi possvel finalizar a transacoUnable to commit transaction QSQLiteDriverVIncorrespondncia de contagem de parmetrosParameter count mismatch QSQLiteResult^No foi possvel fazer a ligao dos parametrosUnable to bind parameters QSQLiteResultJNo foi possvel executar a expressoUnable to execute statement QSQLiteResult<No foi possvel obter a linhaUnable to fetch row QSQLiteResultLNo foi possvel restaurar a expressoUnable to reset statement QSQLiteResult FundoBottom QScrollBarBorda esquerda Left edge QScrollBarLinha abaixo Line down QScrollBarLinha acimaLine up QScrollBar"Pgina para baixo Page down QScrollBar(Pgina para esquerda Page left QScrollBar&Pgina para direita Page right QScrollBar Pgina para cimaPage up QScrollBarPosioPosition QScrollBarBorda direita Right edge QScrollBar&Deslizar para baixo Scroll down QScrollBarDeslizar aqui Scroll here QScrollBar,Deslizar para esquerda Scroll left QScrollBar.Deslizar para a direita Scroll right QScrollBar$Deslizar para cima Scroll up QScrollBarTopoTop QScrollBar++ QShortcutAltAlt QShortcutAnteriorBack QShortcutBackspace Backspace QShortcutBacktabBacktab QShortcutBass Boost Bass Boost QShortcutBass Baixo Bass Down QShortcutBass CimaBass Up QShortcut ChamarCall QShortcutCaps Lock Caps Lock QShortcutCapsLockCapsLock QShortcutContexto1Context1 QShortcutContexto2Context2 QShortcutContexto3Context3 QShortcutContexto4Context4 QShortcutCtrlCtrl QShortcut DeleteDel QShortcut DeleteDelete QShortcut BaixoDown QShortcutEndEnd QShortcut EnterEnter QShortcutEscEsc QShortcut EscapeEscape QShortcutF%1F%1 QShortcutFavoritos Favorites QShortcutInverterFlip QShortcutSeguinteForward QShortcutDesligarHangup QShortcut AjudaHelp QShortcutHomeHome QShortcut Pgina Principal Home Page QShortcut InsertIns QShortcut InsertInsert QShortcutExecutar (0) Launch (0) QShortcutExecutar (1) Launch (1) QShortcutExecutar (2) Launch (2) QShortcutExecutar (3) Launch (3) QShortcutExecutar (4) Launch (4) QShortcutExecutar (5) Launch (5) QShortcutExecutar (6) Launch (6) QShortcutExecutar (7) Launch (7) QShortcutExecutar (8) Launch (8) QShortcutExecutar (9) Launch (9) QShortcutExecutar (A) Launch (A) QShortcutExecutar (B) Launch (B) QShortcutExecutar (C) Launch (C) QShortcutExecutar (D) Launch (D) QShortcutExecutar (E) Launch (E) QShortcutExecutar (F) Launch (F) QShortcut&Correio Electrnico Launch Mail QShortcut Mdia Launch Media QShortcutEsquerdaLeft QShortcutMdia Seguinte Media Next QShortcutTocar Mdia Media Play QShortcutMdia AnteriorMedia Previous QShortcutGravao Mdia Media Record QShortcutParar Mdia Media Stop QShortcutMenuMenu QShortcutMetaMeta QShortcutNoNo QShortcutNum LockNum Lock QShortcutNum LockNumLock QShortcutNumber Lock Number Lock QShortcutAbrir EndereoOpen URL QShortcutPage Down Page Down QShortcutPage UpPage Up QShortcut PausePause QShortcut PgDownPgDown QShortcutPgUpPgUp QShortcut PrintPrint QShortcutPrint Screen Print Screen QShortcutRefrescarRefresh QShortcut ReturnReturn QShortcutDireitaRight QShortcutScroll Lock Scroll Lock QShortcutScrollLock ScrollLock QShortcutProcurarSearch QShortcut SelectSelect QShortcut ShiftShift QShortcut SpaceSpace QShortcutHibernaoStandby QShortcut PararStop QShortcut SysReqSysReq QShortcutSystem RequestSystem Request QShortcutTabTab QShortcutTreble Baixo Treble Down QShortcutTreble Cima Treble Up QShortcutCimaUp QShortcutVolume Cima Volume Down QShortcutVolume Mute Volume Mute QShortcutVolume Baixo Volume Up QShortcutSimYes QShortcut"Pgina para baixo Page downQSlider(Pgina para esquerda Page leftQSlider&Pgina para direita Page rightQSlider Pgina para cimaPage upQSliderPosioPositionQSlider2Operao de rede expiradaNetwork operation timed outQSocks5SocketEngine MenosLessQSpinBoxMaisMoreQSpinBoxCancelarCancelQSql.Cancelar as alteraes?Cancel your edits?QSqlConfirmarConfirmQSql ApagarDeleteQSql(Apagar este registo?Delete this record?QSqlInserirInsertQSqlNoNoQSql*Gravar as alteraes? Save edits?QSqlActualizarUpdateQSqlSimYesQSqlLNo foi possvel estabelecer a ligaoUnable to open connection QTDSDriverRNo foi possvel utilizar a base de dadosUnable to use database QTDSDriver,Deslizar para Esquerda Scroll LeftQTabBar*Deslizar para Direita Scroll RightQTabBar&Copiar&Copy QTextControl Co&lar&Paste QTextControl&Refazer&Redo QTextControl&Desfazer&Undo QTextControl<Copiar &Localizao da LigaoCopy &Link Location QTextControlCor&tarCu&t QTextControl ApagarDelete QTextControl Seleccionar Tudo Select All QTextControl AbrirOpen QToolButtonPressionarPress QToolButton@Esta plataforma no suporta IPv6#This platform does not support IPv6 QUdpSocketRefazerRedo QUndoGroupDesfazerUndo QUndoGroup<vazio> QUndoModelRefazerRedo QUndoStackDesfazerUndo QUndoStackHInserir carcter de controlo Unicode Insert Unicode control characterQUnicodeControlCharacterMenuVLRE Incio de encaixe esquerda-para-direita$LRE Start of left-to-right embeddingQUnicodeControlCharacterMenu>LRM Marca esquerda-para-direitaLRM Left-to-right markQUnicodeControlCharacterMenu`LRO Incio de sobreposio esquerda-para-direita#LRO Start of left-to-right overrideQUnicodeControlCharacterMenu<PDF Formatao pop direccionalPDF Pop directional formattingQUnicodeControlCharacterMenuVRLE Incio de encaixe direita-para-esquerda$RLE Start of right-to-left embeddingQUnicodeControlCharacterMenu>RLM Marca direita-para-esquerdaRLM Right-to-left markQUnicodeControlCharacterMenu`RLO Incio de sobreposio direita-para-esquerda#RLO Start of right-to-left overrideQUnicodeControlCharacterMenu>ZWJ Ligador de comprimento zeroZWJ Zero width joinerQUnicodeControlCharacterMenuHZWNJ No-ligador de comprimento zeroZWNJ Zero width non-joinerQUnicodeControlCharacterMenu>ZWSP Espao de comprimento zeroZWSP Zero width spaceQUnicodeControlCharacterMenu FundoBottomQWebPageIgnorarIgnoreQWebPageIgnorar Ignore Grammar context menu itemIgnoreQWebPageBorda esquerda Left edgeQWebPage"Pgina para baixo Page downQWebPage(Pgina para esquerda Page leftQWebPage&Pgina para direita Page rightQWebPage Pgina para cimaPage upQWebPageRestaurarResetQWebPageBorda direita Right edgeQWebPage&Deslizar para baixo Scroll downQWebPageDeslizar aqui Scroll hereQWebPage,Deslizar para esquerda Scroll leftQWebPage.Deslizar para a direita Scroll rightQWebPage$Deslizar para cima Scroll upQWebPage PararStopQWebPageTopoTopQWebPageDesconhecidoUnknownQWebPageO Que Isto? What's This?QWhatsThisAction**QWidget&Terminar&FinishQWizard &Ajuda&HelpQWizard&Avanar >&Next >QWizard< &Recuar< &BackQWizardCancelarCancelQWizard AjudaHelpQWizard%1 - [%2] %1 - [%2] QWorkspace&Fechar&Close QWorkspace &Mover&Move QWorkspace&Restaurar&Restore QWorkspace&Tamanho&Size QWorkspace&Sair Sombra&Unshade QWorkspace FecharClose QWorkspaceMa&ximizar Ma&ximize QWorkspaceMi&nimizar Mi&nimize QWorkspaceMinimizarMinimize QWorkspaceRestaurar Baixo Restore Down QWorkspaceSombr&aSh&ade QWorkspace&Permanecer no &Topo Stay on &Top QWorkspacedeclarao de codificao ou declarao nica esperada ao ler a declarao XMLYencoding declaration or standalone declaration expected while reading the XML declarationQXmlTerro na declarao de uma entidade externa3error in the text declaration of an external entityQXml6erro ao analisar comentrio$error occurred while parsing commentQXml6erro ao analisar o contedo$error occurred while parsing contentQXmlberro ao analisar a definio de tipo de documento5error occurred while parsing document type definitionQXml2erro ao analisar elemento$error occurred while parsing elementQXml6erro ao analisar referncia&error occurred while parsing referenceQXml<erro disparado pelo consumidorerror triggered by consumerQXmlreferncia de entidade geral analisada externa no permitida na DTD;external parsed general entity reference not allowed in DTDQXmlreferncia de entidade geral analisada externa no permitida no valor do atributoGexternal parsed general entity reference not allowed in attribute valueQXmlrreferncia de entidade geral interna no permitida na DTD4internal general entity reference not allowed in DTDQXmlVnome invlido de instruo de processamento'invalid name for processing instructionQXml(uma letra esperadaletter is expectedQXmlTmais de uma definio de tipo de documento&more than one document type definitionQXml.no ocorreu nenhum errono error occurredQXml(entidades recursivasrecursive entitiesQXmlbdeclarao nica esperada ao ler a declarao XMLAstandalone declaration expected while reading the XML declarationQXml2m combinao de etiqueta tag mismatchQXml&carcter inesperadounexpected characterQXml4fim de ficheiro inesperadounexpected end of fileQXmlnreferncia de entidade no analisada em contexto errado*unparsed entity reference in wrong contextQXmlNverso esperada ao ler a declarao XML2version expected while reading the XML declarationQXmlDvalor errado para declarao nica&wrong value for standalone declarationQXmlffDiaporama/locale/qt_it.ts0000777000175000001440000156460212275647352016171 0ustar dominiqueusers CloseButton Close Tab Chiudi scheda FakeReply Fake error ! Errore falso ! Invalid URL Url non valido MAC_APPLICATION_MENU Services Servizi Hide %1 Nascondi %1 Hide Others Nascondi altri Show All Mostra tutto Preferences... Preferenze... Quit %1 Esci da %1 About %1 Informazioni su %1 Phonon:: Accessibility Accessibilità Communication Comunicazioni Games Giochi Music Musica Notifications Notifiche Video Video Phonon::AudioOutput <html>The audio playback device <b>%1</b> does not work.<br/>Falling back to <b>%2</b>.</html> <html>Il dispositivo di riproduzione audio <b>%1</b> non funziona.<br/>Ripiego su <b>%2</b>.</html> <html>Switching to the audio playback device <b>%1</b><br/>which just became available and has higher preference.</html> <html>Cambio al dispositivo di riproduzione audio <b>%1</b><br/>che è appena diventato disponibile e ha una preferenza più alta.</html> Revert back to device '%1' Ritorno al dispositivo '%1' <html>Switching to the audio playback device <b>%1</b><br/>which has higher preference or is specifically configured for this stream.</html> <html>Cambio al dispositivo di riproduzione audio <b>%1</b><br/>che ha una preferenza maggiore o è configurato specificatamente per questo stream.</html> Phonon::Gstreamer::Backend Warning: You do not seem to have the base GStreamer plugins installed. All audio and video support has been disabled Warning: Non sono stati trovati i plugin di base GStreamer. Tutto il supporto audio e video è stato disabilitato Warning: You do not seem to have the package gstreamer0.10-plugins-good installed. Some video features have been disabled. Warning: Non è stato trovato il pacchetto gstreamer0.10-plugins-good. Alcune opzioni video sono state disabilitate. Phonon::Gstreamer::MediaObject A required codec is missing. You need to install the following codec(s) to play this content: %0 Manca un codec richiesto. Installare il seguente codec per riprodurre questo contenuto: %0 Could not decode media source. Impossibile decodificare la sorgente del media. Could not locate media source. Impossibile localizzare la sorgente del media. Cannot start playback. Check your GStreamer installation and make sure you have libgstreamer-plugins-base installed. Non è possibile avviare la riproduzione. Controlla la tua installazione di GStreamer e verifica che il plugin libgstreamer sia installato. Missing codec helper script assistant. Script assistente codec di aiuto mancante. Plugin codec installation failed for codec: %0 Installazione del plugin per codec fallita per il codec: %0 Could not open audio device. The device is already in use. Impossibile aprire il dispositivo audio. Il dispositivo è già in uso. Could not open media source. Impossibile aprire la sorgente del media. Invalid source type. Tipo di sorgente non valido. Phonon::MMF Audio Output Uscita audio The audio output device Il dispositivo di uscita audio No error Nessun errore Not found Non trovato Out of memory Memoria insufficiente Not supported Non supportato Overflow Overflow Underflow Underflow Already exists Esiste già Path not found Percorso non trovato In use In uso Not ready Non pronto Access denied Accesso negato Could not connect Impossibile connettersi Disconnected Disconnesso Permission denied Accesso negato Insufficient bandwidth Banda insufficiente Network unavailable Rete non disponibile Network communication error Errore di comunicazione di rete Streaming not supported Streaming non supportato Server alert Avviso dal server Invalid protocol Protocollo non valido Invalid URL Url non valido Multicast error Errore multicast Proxy server error Errore server proxy Proxy server not supported Server proxy non supportato Audio output error Errore uscita audio Video output error Errore uscita video Decoder error Errore decoder Audio or video components could not be played Impossibile riprodurre componenti audio o video DRM error Errore DRM Unknown error (%1) Errore sconosciuto (%1) Phonon::MMF::AbstractMediaPlayer Not ready to play Non pronto per avviare Error opening file Errore nell'apertura file Error opening URL Errore nell'apertura URL Error opening resource Errore nell'apertura risorsa Error opening source: resource not opened Errore nell'apertura sorgente: risorsa non aperta Setting volume failed Impostazioni volume fallite Loading clip failed Caricamento clip fallita Playback complete Riproduzione completata Phonon::MMF::AbstractVideoPlayer Pause failed Impossibile mettere in pausa Seek failed Impossibile impostare la posizione Getting position failed Impossibile ottenere la posizione Opening clip failed Impossibile aprire il clip video Phonon::MMF::AudioEqualizer %1 Hz %1 Hz Phonon::MMF::AudioPlayer Getting position failed Impossibile ottenere la posizione Phonon::MMF::DsaVideoPlayer Video display error Errore visualizzazione video Phonon::MMF::EffectFactory Enabled Abilitato Phonon::MMF::EnvironmentalReverb Decay HF ratio (%) DecayHFRatio: Ratio of high-frequency decay time to the value specified by DecayTime. Decadimento rapporto HF (%) Decay time (ms) DecayTime: Time over which reverberation is diminished. Decadimento temporale (ms) Density (%) Density Delay between first and subsequent reflections. Note that the S60 platform documentation does not make clear the distinction between this value and the Diffusion value. Densità (%) Diffusion (%) Diffusion: Delay between first and subsequent reflections. Note that the S60 platform documentation does not make clear the distinction between this value and the Density value. Diffusione (%) Reflections delay (ms) ReflectionsDelay: Amount of delay between the arrival the direct path from the source and the arrival of the first reflection. Ritardo riflessioni (ms) Reflections level (mB) ReflectionsLevel: Amplitude of reflections. This value is corrected by the RoomLevel to give the final reflection amplitude. Riflessione livello (mb) Reverb delay (ms) ReverbDelay: Amount of time between arrival of the first reflection and start of the late reverberation. Ritardo riverbero (ms) Reverb level (mB) ReverbLevel Amplitude of reverberations. This value is corrected by the RoomLevel to give the final reverberation amplitude. Livello riverbero (mB) Room HF level RoomHFLevel: Amplitude of low-pass filter used to attenuate the high frequency component of reflected sound. Livello stanza HF Room level (mB) RoomLevel: Master volume control for all reflected sound. Livello stanza (mB) Phonon::MMF::MediaObject Error opening source: type not supported Errore apertura sorgente: tipo non supportato Error opening source: resource is compressed Errore apertura sorgente: risorsa compressa Error opening source: resource not valid Errore apertura sorgente: risorsa non valida Error opening source: media type could not be determined Errore apertura sorgente: impossibile determinare il tipo di media Phonon::MMF::StereoWidening Level (%) Livello (%) Phonon::MMF::SurfaceVideoPlayer Video display error Errore visualizzazione video Phonon::VolumeSlider Use this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1% Usa questa controllo per regolare il volume. La posizione più a sinistra è 0%, quella più a destra è %1% Muted Muto Volume: %1% Volume: %1% Q3Accel %1, %2 not defined %1, %2 non definito Ambiguous %1 not handled %1 ambiguo non gestito Q3DataTable Delete Elimina False Falso Insert Inserisci True Vero Update Aggiorna Q3FileDialog %1 File not found. Check path and filename. %1 Impossibile trovare il file Controllare il nome del file e riprovare. &Delete &Elimina &No &No &OK &OK &Open &Apri &Rename &Rinomina &Save &Salva &Unsorted &Non ordinare &Yes &Sì <qt>Are you sure you wish to delete %1 "%2"?</qt> <qt>Eliminare %1 "%2"?</qt> All Files (*) Tutti i file(*) All Files (*.*) Tutti i file(*.*) Attributes Attributi Back Indietro Cancel Annulla Copy or Move a File Copia o sposta un file Create New Folder Crea una nuova cartella Date Data Delete %1 Elimina %1 Detail View Visualizza dettagli Dir Directory Directories Directory Directory: Directory: Error Errore File File File &name: &Nome file: File &type: &Tipo file: Find Directory Trova directory Inaccessible Non accessibile List View Visualizza elenco Look &in: Cerca &in: Name Nome New Folder Nuova cartella New Folder %1 Nuova cartella: %1 New Folder 1 Nuova cartella 1 One directory up Directory superiore Open Apri Open Apri Preview File Contents Anteprima contenuto file Preview File Info Anteprima informazioni file R&eload R&icarica Read-only Sola lettura Read-write Lettura-scrittura Read: %1 Lettura: %1 Save As Salva come Select a Directory Selezionare una directory Show &hidden files Mostra file &nascosti Size Dimensioni Sort Ordina Sort by &Date Ordina per &data Sort by &Name Ordina per &nome Sort by &Size Ordina per dimen&sioni Special File Speciale Symlink to Directory Collegamento simbolico a directory Symlink to File Collegamento simbolico a file Symlink to Special Collegamento simbolico a file speciale Type Tipo Write-only Sola scrittura Write: %1 Scrittura: %1 the directory la directory the file il file the symlink il collegamento simbolico Q3LocalFs Could not create directory %1 Impossibile creare la directory %1 Could not open %1 Impossibile aprire %1 Could not read directory %1 Impossibile leggere la directory %1 Could not remove file or directory %1 Impossibile rimuovere il file o la directory %1 Could not rename %1 to %2 Impossibile rinominare %1 in %2 Could not write %1 Impossibile scrivere %1 Q3MainWindow Customize... Personalizza… Line up Allinea Q3NetworkProtocol Operation stopped by the user Operazione terminata dall'utente Q3ProgressDialog Cancel Annulla Q3TabDialog Apply Applica Cancel Annulla Defaults Predefiniti Help Guida OK OK Q3TextEdit &Copy &Copia &Paste &Incolla &Redo &Ripeti &Undo &Annulla Clear Pulisci Cu&t &Taglia Select All Seleziona tutto Q3TitleBar Close Chiudi Closes the window Chiude la finestra Contains commands to manipulate the window Contiene comandi per manipolare la finestra Displays the name of the window and contains controls to manipulate it Mostra il nome della finestra e contiene controlli per manipolarla Makes the window full screen Imposta la finestra a schermo intero Maximize Ingrandisci Minimize Riduci a icona Puts a minimized window back to normal Ripristina una finestra ridotta a icona Moves the window out of the way Sposta la finestra Puts a maximized window back to normal Ripristina una finestra ingrandita Restore down Ripristina in basso Restore up Ripristina in alto System Sistema Q3ToolBar More... Ancora… Q3UrlOperator (unknown) (sconosciuto) The protocol `%1' does not support copying or moving files or directories Il protocollo '%1' non supporta la la copia o lo spostamento di file o directory The protocol `%1' does not support creating new directories Il protocollo '%1' non supporta la creazione di nuove directory The protocol `%1' does not support getting files Il protocollo '%1' non supporta lo scaricamento dei file The protocol `%1' does not support listing directories Il protocollo '%1' non supporta l'elenco delle directory The protocol `%1' does not support putting files Il protocollo '%1' non supporta il caricamento dei file The protocol `%1' does not support removing files or directories Il protocollo '%1' non supporta la rimozione di file o directory The protocol `%1' does not support renaming files or directories Il protocollo '%1' non supporta la rinominazione di file o directory The protocol `%1' is not supported Il protocollo '%1' non è supportato Q3Wizard &Cancel &Annulla &Finish &Finisci &Help &Guida &Next > &Successivo > < &Back < &Indietro QAbstractSocket Connection refused Connessione rifiutata Connection timed out Connessione fuori tempo massimo Host not found Host non trovato Network unreachable Rete irraggiungibile Operation on socket is not supported Operazione su socket non supportata Socket is not connected Socket non connesso Socket operation timed out Operazione socket fuori tempo massimo QAbstractSpinBox &Select All &Seleziona tutto &Step up &Aumenta Step &down &Diminuisci QAccessibleButton Press Premi QApplication Activate Attiva Activates the program's main window Attiva la finestra principale del programma Executable '%1' requires Qt %2, found Qt %3. L'eseguibile '%1' richiede Qt %2, trovata Qt %3. Incompatible Qt Library Error Errore di libreria Qt non compatibile QT_LAYOUT_DIRECTION Translate this string to the string 'LTR' in left-to-right languages or to 'RTL' in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout. LTR QAxSelect &Cancel &Annulla COM &Object: &Oggetto COM: OK OK Select ActiveX Control Seleziona il controllo ActiveX QCheckBox Check Seleziona Toggle Inverti Uncheck Deseleziona QColorDialog &Add to Custom Colors &Aggiungi ai colori personalizzati &Basic colors Colori di &base &Custom colors Colori &personalizzati &Green: &Verde: &Red: &Rosso: &Sat: &Saturazione: &Val: &Luminosità: A&lpha channel: Cana&le Alfa: Bl&ue: Bl&u: Hu&e: &Tonalità: Select Color Seleziona colore QComboBox Close Chiudi False Falso Open Apri True Vero QCoreApplication %1: already exists QSystemSemaphore %1: esiste già %1: does not exist QSystemSemaphore %1: non esiste %1: out of resources QSystemSemaphore %1: risorse insufficienti %1: unknown error %2 QSystemSemaphore %1: errore sconosciuto %2 %1: key is empty QSystemSemaphore %1: chiave vuota %1: unable to make key QSystemSemaphore %1: impossibile creare la chiave %1: ftok failed QSystemSemaphore %1: ftok fallito QDB2Driver Unable to commit transaction Impossibile convalidare la transazione Unable to connect Impossibile connettersi Unable to rollback transaction Impossibile annullare la transazione Unable to set autocommit Impossibile impostare l'autoconvalida QDB2Result Unable to bind variable Impossibile associare la variabile Unable to execute statement Impossibile eseguire il comando Unable to fetch first Impossibile ottenere il primo Unable to fetch next Impossibile ottenere il successivo Unable to fetch record %1 Impossibile ottenere il record %1 Unable to prepare statement Impossibile preparare il comando QDateTimeEdit AM AM PM PM am am pm pm QDeclarativeAbstractAnimation Cannot animate non-existent property "%1" Impossibile animare la proprietà non esistente "%1" Cannot animate read-only property "%1" Impossibile animare la proprietà di sola lettura "%1" Animation is an abstract class Animation è una classe astratta QDeclarativeAnchorAnimation Cannot set a duration of < 0 Impossibile impostare una durata negativa QDeclarativeAnchors Possible anchor loop detected on fill. Possible anchor loop detected on centerIn. Cannot anchor to an item that isn't a parent or sibling. Possible anchor loop detected on vertical anchor. Possible anchor loop detected on horizontal anchor. Cannot specify left, right, and hcenter anchors. Cannot anchor to a null item. Cannot anchor a horizontal edge to a vertical edge. Cannot anchor item to self. Cannot specify top, bottom, and vcenter anchors. Baseline anchor cannot be used in conjunction with top, bottom, or vcenter anchors. Cannot anchor a vertical edge to a horizontal edge. QDeclarativeAnimatedImage Qt was built without support for QMovie Qt è stato compilato senza il supporto per QMovie QDeclarativeBehavior Cannot change the animation assigned to a Behavior. Impossibile cambiare l'animazione assegnata a un Behavior. QDeclarativeBinding Binding loop detected for property "%1" Rilevato collegamento ciclico per la proprietà "%1" QDeclarativeCompiledBindings Binding loop detected for property "%1" Rilevato collegamento ciclico per la proprietà "%1" QDeclarativeCompiler Invalid property assignment: "%1" is a read-only property Invalid property assignment: unknown enumeration Invalid property assignment: string expected Invalid property assignment: url expected Invalid property assignment: unsigned int expected Invalid property assignment: int expected Invalid property assignment: number expected Invalid property assignment: color expected Invalid property assignment: date expected Invalid property assignment: time expected Invalid property assignment: datetime expected Invalid property assignment: point expected Invalid property assignment: size expected Invalid property assignment: rect expected Invalid property assignment: boolean expected Invalid property assignment: 3D vector expected Invalid property assignment: unsupported type "%1" Element is not creatable. Component elements may not contain properties other than id Invalid component id specification id is not unique Invalid component body specification Component objects cannot declare new properties. Component objects cannot declare new signals. Component objects cannot declare new functions. Cannot create empty component specification Incorrectly specified signal assignment Cannot assign a value to a signal (expecting a script to be run) Empty signal assignment Empty property assignment Attached properties cannot be used here Non-existent attached object Invalid attached object assignment Cannot assign to non-existent default property Cannot assign to non-existent property "%1" Impossibile assegnare ad una proprietà inesistente "%1" Invalid use of namespace Not an attached property name Invalid use of id property Property has already been assigned a value Invalid grouped property access Cannot assign a value directly to a grouped property Invalid property use Property assignment expected Single property assignment expected Unexpected object assignment Cannot assign object to list Can only assign one binding to lists Cannot assign primitives to lists Cannot assign multiple values to a script property Invalid property assignment: script expected Cannot assign object to property "%1" cannot operate on "%2" Duplicate default property Duplicate property name Property names cannot begin with an upper case letter Illegal property name Duplicate signal name Signal names cannot begin with an upper case letter Illegal signal name Duplicate method name Method names cannot begin with an upper case letter Illegal method name Property value set multiple times Invalid property nesting Cannot override FINAL property Invalid property type Invalid empty ID IDs cannot start with an uppercase letter IDs must start with a letter or underscore IDs must contain only letters, numbers, and underscores ID illegally masks global JavaScript property No property alias location Invalid alias location Invalid alias reference. An alias reference must be specified as <id> or <id>.<property> Invalid alias reference. Unable to find id "%1" QDeclarativeComponent Invalid empty URL URL vuoto non valido QDeclarativeCompositeTypeManager Resource %1 unavailable Risorsa %1 non disponibile Namespace %1 cannot be used as a type Impossibile usare il namespace %1 come tipo %1 %2 %1 %2 Type %1 unavailable Tipo %1 non disponibile QDeclarativeConnections Cannot assign to non-existent property "%1" Impossibile assegnare ad una proprietà inesistente "%1" Connections: nested objects not allowed Connessioni: oggetti nidificati non permessi Connections: syntax error Connessioni: errore di sintassi Connections: script expected Connessioni: atteso script QDeclarativeEngine executeSql called outside transaction() executeSql è stato chiamato al di fuori di transaction() Read-only Transaction Transazione in sola lettura Version mismatch: expected %1, found %2 Versione errata: attesa %1, trovata %2 SQL transaction failed Transazione SQL fallita transaction: missing callback transazione: callback mancante SQL: database version mismatch SQL: versione database errata QDeclarativeFlipable front is a write-once property back is a write-once property QDeclarativeImportDatabase module "%1" definition "%2" not readable plugin cannot be loaded for module "%1": %2 module "%1" plugin "%2" not found module "%1" version %2.%3 is not installed module "%1" is not installed "%1": no such directory import "%1" has no qmldir and no namespace - %1 is not a namespace - nested namespaces not allowed local directory is ambiguous. Found in %1 and in %2 is ambiguous. Found in %1 in version %2.%3 and %4.%5 is instantiated recursively is not a type QDeclarativeKeyNavigationAttached KeyNavigation is only available via attached properties QDeclarativeKeysAttached Keys is only available via attached properties QDeclarativeListModel remove: index %1 out of range insert: value is not an object insert: index %1 out of range move: out of range append: value is not an object set: value is not an object set: index %1 out of range ListElement: cannot contain nested elements ListElement: cannot use reserved "id" property ListElement: cannot use script for property value ListModel: undefined property '%1' QDeclarativeLoader Loader does not support loading non-visual elements. QDeclarativeParentAnimation Unable to preserve appearance under complex transform Unable to preserve appearance under non-uniform scale Unable to preserve appearance under scale of 0 QDeclarativeParentChange Unable to preserve appearance under complex transform Unable to preserve appearance under non-uniform scale Unable to preserve appearance under scale of 0 QDeclarativeParser Illegal unicode escape sequence Illegal character Unclosed string at end of line Illegal escape squence Unclosed comment at end of file Illegal syntax for exponential number Identifier cannot start with numeric literal Unterminated regular expression literal Invalid regular expression flag '%0' Unterminated regular expression backslash sequence Unterminated regular expression class Syntax error Unexpected token `%1' Expected token `%1' Property value set multiple times Expected type name Invalid import qualifier ID Reserved name "Qt" cannot be used as an qualifier Script import qualifiers must be unique. Script import requires a qualifier Library import requires a version Expected parameter type Invalid property type modifier Unexpected property type modifier Expected property type Readonly not yet supported JavaScript declaration outside Script element QDeclarativePauseAnimation Cannot set a duration of < 0 Impossibile impostare una durata negativa QDeclarativePixmap Error decoding: %1: %2 Failed to get image from provider: %1 Cannot open: %1 QDeclarativePropertyAnimation Cannot set a duration of < 0 Impossibile impostare una durata negativa QDeclarativePropertyChanges PropertyChanges does not support creating state-specific objects. Cannot assign to non-existent property "%1" Impossibile assegnare ad una proprietà inesistente "%1" Cannot assign to read-only property "%1" QDeclarativeTextInput Could not load cursor delegate Could not instantiate cursor delegate QDeclarativeVME Unable to create object of type %1 Cannot assign value %1 to property %2 Cannot assign object type %1 with no default method Cannot connect mismatched signal/slot %1 %vs. %2 Cannot assign an object to signal property %1 Cannot assign object to list Cannot assign object to interface property Unable to create attached object Cannot set properties on %1 as it is null QDeclarativeVisualDataModel Delegate component must be Item type. QDeclarativeXmlListModel Qt was built without support for xmlpatterns QDeclarativeXmlListModelRole An XmlRole query must not start with '/' QDeclarativeXmlRoleList An XmlListModel query must start with '/' or "//" QDial QDial QDial SliderHandle Manopola SpeedoMeter Tachimetro QDialog Done Fatto What's This? Cosa è questo? QDialogButtonBox &Cancel &Annulla &Close &Chiudi &No &No &OK &OK &Save &Salva &Yes &Sì Abort Interrompi Apply Applica Cancel Annulla Close Chiudi Close without Saving Chiudi senza salvare Discard Scarta Don't Save Non salvare Help Guida Ignore Ignora N&o to All N&o a tutti OK OK Open Apri Reset Reimposta Restore Defaults Ripristina predefiniti Retry Riprova Save Salva Save All Salva tutto Yes to &All Sì a &tutti QDirModel Date Modified Data ultima modifica Name Nome Size Dimensioni Kind Match OS X Finder Tipo Type All other platforms Tipo QDockWidget Close Chiudi Dock Aggangia Float Sgancia QDoubleSpinBox Less Diminuisci More Aumenta QErrorMessage &OK &OK &Show this message again &Mostra ancora questo messaggio Debug Message: Debug: Fatal Error: Errore fatale: Warning: Warning: QFile Cannot create %1 for output Impossibile creare %1 per la scrittura Cannot open %1 for input Impossibile aprire %1 per la lettura Cannot open for output Impossibile aprire per la scrittura Cannot remove source file Impossibile rimuovere il file sorgente Destination file exists Il file di destinazione esiste Will not rename sequential file using block copy Non rinomineremo la sequenza file utilizzando la copia blocco Failure to write block Impossibile scrivere il blocco QFileDialog %1 Directory not found. Please verify the correct directory name was given. %1 Impossibile trovare la directory. Controllare il nome della directory e riprovare. %1 File not found. Please verify the correct file name was given. %1 Impossibile trovare il file Controllare il nome del file e riprovare. %1 already exists. Do you want to replace it? %1 esiste già. Sostituirlo? &Choose S&cegli &Delete &Elimina &New Folder &Nuova cartella &Open &Apri &Rename &Rinomina &Save &Salva '%1' is write protected. Do you want to delete it anyway? '%1' è in sola lettura. Eliminarlo lo stesso? All Files (*) Tutti i file(*) All Files (*.*) Tutti i file(*.*) Are sure you want to delete '%1'? Eliminare '%1'? Back Indietro Could not delete directory. Impossibile eliminare la directory. Create New Folder Crea una nuova cartella Detail View Visualizza dettagli Directories Directory Directory: Directory: Drive Unità File File File Folder Match Windows Explorer File cartella Folder All other platforms Cartella Alias Mac OS X Finder Alias Shortcut All other platforms Scorciatoia File &name: &Nome file: Files of type: File del tipo: Find Directory Trova directory Forward Avanti List View Visualizza elenco Look in: Cerca in: My Computer Risorse del computer New Folder Nuova cartella Open Apri Parent Directory Directory superiore Recent Places Posizioni recenti Remove Rimuovi Save As Salva come Show Mostra Show &hidden files Mostra file &nascosti Unknown Sconosciuto Go back Indietro Go forward Avanti Go to the parent directory Directory superiore Create a New Folder Crea una nuova cartella Change to list view mode Modalità visualizza lista Change to detail view mode Modalità visualizza dettagli QFileSystemModel %1 GB %1 GiB %1 KB %1 KiB %1 MB %1 MiB %1 TB %1 TiB %1 bytes %1 byte <b>The name "%1" can not be used.</b><p>Try using another name, with fewer characters or no punctuations marks. <b>Impossibile utilizzare il nome "%1".</b><p>Selezionare un altro nome, con meno caratteri o senza segni di punteggiatura. Kind Match OS X Finder Tipo Type All other platforms Tipo Computer Computer Date Modified Data ultima modifica Invalid filename Nome file non valido My Computer Risorse del computer Name Nome Size Dimensioni %1 byte(s) %1 byte %1 byte QFontDatabase Any Qualunque Arabic Arabo Armenian Armeno Bengali Bengali Black Nero Bold Grassetto Cyrillic Cirillico Demi Pesante Demi Bold Grassetto pesante Devanagari Devanagari Georgian Georgiano Greek Greco Gujarati Gujarati Gurmukhi Gurmukhi Hebrew Ebraico Italic Italico Japanese Giapponese Kannada Kannada Khmer Khmer Korean Koreano Lao Lao Latin Latino Light Leggero Malayalam Malayalam Myanmar Myanmar Normal Normale Oblique Obliquo Ogham Ogham Oriya Oriya Runic Runico Simplified Chinese Cinese semplificato Sinhala Sinhala Symbol Simboli Syriac Siriano Tamil Tamil Telugu Telugu Thaana Thaana Thai Tailandese Tibetan Tibetano Traditional Chinese Cinese tradizionale Vietnamese Vietnamita N'Ko N'Ko QFontDialog &Font &Carattere &Size Dimen&sioni &Underline So&ttolineato Effects Effetti Font st&yle St&ile carattere Sample Esempio Select Font Seleziona carattere Stri&keout Ba&rrato Wr&iting System Sist&ema di scrittura QFtp Changing directory failed: %1 Cambio directory fallito: %1 Connected to host Connessione all'host Connected to host %1 Connessione all'host %1 Connecting to host failed: %1 Connessione all'host fallita: %1 Connection closed Connessione chiusa Connection refused for data connection Connessione rifiutata per la connessione dati Connection refused to host %1 Connessione all'host %1 rifiutata Connection timed out to host %1 Connessione all'host %1 fuori tempo massimo Connection to %1 closed Connessione a %1 chiusa Creating directory failed: %1 Creazione directory fallita: %1 Downloading file failed: %1 Scaricamento file fallito: %1 Host %1 found Host %1 trovato Host %1 not found Host %1 non trovato Host found Host trovato Listing directory failed: %1 Elenco directory fallito: %1 Login failed: %1 Login fallito: %1 Not connected Non connesso Removing directory failed: %1 Rimozione directory fallita: %1 Removing file failed: %1 Rimozione file fallita: %1 Unknown error Errore sconosciuto Uploading file failed: %1 Caricamento file fallito: %1 QHostInfo Unknown error Errore sconosciuto No host name given Nessun nome host specificato QHostInfoAgent Host not found Host non trovato Unknown address type Tipo di indirizzo sconosciuto No host name given Nessun nome host specificato Invalid hostname Nome host non valido Unknown error Errore sconosciuto QHttp Authentication required Autenticazione richiesta Connected to host Connesso all'host Connected to host %1 Connesso all'host %1 Connection closed Connessione chiusa Connection refused Connessione rifiutata Connection refused (or timed out) Connessione rifiutata (o fuori tempo massimo) Connection to %1 closed Connessione a %1 chiusa Data corrupted Dati corrotti Error writing response to device Errore nella scrittura della risposta al dispositivo HTTP request failed Richiesta HTTP fallita HTTPS connection requested but SSL support not compiled in Richiesta connessione HTTPS, ma supporto SSL non compilato Host %1 found Host %1 trovato Host %1 not found Host %1 non trovato Host found Host trovato Host requires authentication L'host richiede l'autenticazione Invalid HTTP chunked body Parte della risposta HTTP non valida Invalid HTTP response header Header di risposta HTTP non valido No server set to connect to Nessun server impostato a cui connettersi Proxy authentication required Richiesta autenticazione proxy Proxy requires authentication Il proxy richiede l'autenticazione Request aborted Richiesta interrotta SSL handshake failed Inizializzazione SSL fallita Server closed connection unexpectedly Il server ha chiuso la connessione Unknown authentication method Metodo di autenticazione sconosciuto Unknown error Errore sconosciuto Unknown protocol specified Protocollo specificato sconosciuto Wrong content length Dimensioni del contenuto errate QHttpSocketEngine Authentication required Autenticazione richiesta Did not receive HTTP response from proxy Nessuna risposta HTTP ricevuta dal proxy Error communicating with HTTP proxy Errore nella comunicazione con il proxy HTTP Error parsing authentication request from proxy Errore nell'analisi della richiesta di autenticazione dal proxy Proxy connection closed prematurely Il proxy ha chiuso la connessione inaspettatamente Proxy connection refused Connessione al proxy rifiutata Proxy denied connection Il proxy ha negato la connessione Proxy server connection timed out Connessione al proxy fuori tempo massimo Proxy server not found Server proxy non trovato QIBaseDriver Could not start transaction Impossibile iniziare la transazione Error opening database Errore nell'apertura del database Unable to commit transaction Impossibile convalidare la transazione Unable to rollback transaction Impossibile annullare la transazione QIBaseResult Could not allocate statement Impossibile allocare il comando Could not describe input statement Impossibile descrivere il comando di input Could not describe statement Impossibile descrivere il comando Could not fetch next item Impossibile ottenere il prossimo elemento Could not find array Impossibile trovare l'array Could not get array data Impossibile ottenere dati dall'array Could not get query info Impossibile ottenere informazioni sulla query Could not get statement info Impossibile ottenere informazioni sul comando Could not prepare statement Impossibile preparare il comando Could not start transaction Impossibile iniziare la transazione Unable to close statement Impossibile chiudere il comando Unable to commit transaction Impossibile convalidare la transazione Unable to create BLOB Impossibile creare il BLOB Unable to execute query Impossibile eseguire la query Unable to open BLOB Impossibile aprire il BLOB Unable to read BLOB Impossibile leggere il BLOB Unable to write BLOB Impossibile scrivere il BLOB QIODevice No space left on device Spazio su disco insufficiente No such file or directory File o directory non trovato Permission denied Accesso negato Too many open files Troppi file aperti Unknown error Errore sconosciuto QInputContext Mac OS X input method Metodo di input Mac OS X Windows input method Metodo di input Windows XIM XIM FEP FEP XIM input method Metodo di input XIM S60 FEP input method Metodo di input S60 FEP QInputDialog Enter a value: Inserisci un valore: QLibrary Cannot load library %1: %2 Impossibile caricare la libreria %1: %2 Cannot resolve symbol "%1" in %2: %3 Impossibile risolvere il simbolo "%1" in %2: %3 Cannot unload library %1: %2 Impossibile scaricare la libreria %1: %2 Could not mmap '%1': %2 Impossibile eseguire mmap '%1': %2 Could not unmap '%1': %2 Impossibile eseguire unmap '%1': %2 Plugin verification data mismatch in '%1' Verifica dati plugin errata in '%1' The file '%1' is not a valid Qt plugin. Il file '%1' non è un plugin Qt valido. The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5] Il plugin '%1' usa una libreria Qt non compatibile. (%2.%3.%4) [%5] The plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.) Il plugin '%1' usa una libreria Qt non compatibile. (Impossibile mescolare librerie di rilascio e debug.) The plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3" Il plugin '%1' usa una libreria Qt non compatibile. Attesa build key "%2", presente "%3" The shared library was not found. Impossibile trovare la libreria condivisa. Unknown error Errore sconosciuto QLineEdit &Copy &Copia &Paste &Incolla &Redo &Ripeti &Undo &Annulla Cu&t &Taglia Delete Elimina Select All Seleziona tutto QLocalServer %1: Address in use %1: Indirizzo in uso %1: Name error %1: Errore di nome %1: Permission denied %1: Accesso negato %1: Unknown error %2 %1: Errore sconosciuto %2 QLocalSocket %1: Connection error %1: Errore di connessione %1: Connection refused %1: Connessione rifiutata %1: Datagram too large %1: Datagramma troppo grande per l'invio %1: Invalid name %1: Nome non valido %1: Remote closed %1: Connessione remota chiusa %1: Socket access error %1: Errore di accesso al socket %1: Socket operation timed out %1: Operazione socket fuori tempo massimo %1: Socket resource error %1: Errore di risorsa socket %1: The socket operation is not supported %1: Operazione su socket non supportata %1: Unknown error %1: Errore sconosciuto %1: Unknown error %2 %1: Errore sconosciuto %2 QMYSQLDriver Unable to begin transaction Impossibile iniziare la transazione Unable to commit transaction Impossibile convalidare la transazione Unable to connect Impossibile connettersi Unable to open database ' Impossibile aprire il database ' Unable to rollback transaction Impossibile annullare la transazione QMYSQLResult Unable to bind outvalues Impossibile associare i valori in uscita Unable to bind value Impossibile associare il valore Unable to execute next query Impossibile eseguire la prossima query Unable to execute query Impossibile eseguire la query Unable to execute statement Impossibile eseguire il comando Unable to fetch data Impossibile ottenere i dati Unable to prepare statement Impossibile preparare il comando Unable to reset statement Impossibile reimpostare il comando Unable to store next result Impossibile memorizzare il prossimo risultato Unable to store result Impossibile memorizzare i risultati Unable to store statement results Impossibile memorizzare i risultati del comando QMdiArea (Untitled) (Senza titolo) QMdiSubWindow %1 - [%2] %1 - [%2] &Close &Chiudi &Move &Sposta &Restore &Ripristina &Size Ri&dimensiona - [%1] - [%1] Close Chiudi Help Guida Ma&ximize Ingra&ndisci Maximize Ingrandisce Menu Menu Mi&nimize R&iduci a icona Minimize Riduce a icona Restore Ripristina Restore Down Ripristina in basso Shade Arrotola Stay on &Top Sempre in &primo piano Unshade Srotola QMenu Close Chiudi Execute Esegui Open Apri QMenuBar Actions Azioni QMessageBox About Qt Informazioni su Qt Help Guida Hide Details... Nascondi dettagli… OK OK <h3>About Qt</h3><p>This program uses Qt version %1.</p> <h3>Informazioni su Qt</h3><p>Questo programma usa Qt versione %1.</p> <p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.</p><p>Qt is available under three different licensing options designed to accommodate the needs of our various users.</p><p>Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.</p><p>Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.</p><p>Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.</p><p>Please see <a href="http://qt.nokia.com/products/licensing">qt.nokia.com/products/licensing</a> for an overview of Qt licensing.</p><p>Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).</p><p>Qt is a Nokia product. See <a href="http://qt.nokia.com/">qt.nokia.com</a> for more information.</p> Kept original English "Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)." <p>Qt è un toolkit C++ per lo sviluppo di applicazioni multipiattaforma.</p> <p>Qt garantisce portabilità con un unico sorgente tra MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, e tutte le maggiori varianti commerciali di Unix. Qt è anche disponibile per dispositivi embedded con Qt per Embedded Linux e Qt per Windows CE.</p> <p>Qt è disponibile sotto tre diverse opzioni di licenza pensate per venire incontro alle esigenze di tutti i nostri utenti.</p> <p>Il nostro accordo di licenza commerciale è adatto per lo sviluppo di software proprietario/commerciale, nel caso non si voglia condividere codice sorgente con terze parti senza rispettare i termini della licenza GNU LGPL versione 2.1 o GNU GPL versione 3.0.</p> <p>La licenza GNU LGPL version 2.1 è adatta per lo sviluppo di applicazioni Qt (proprietarie od open source) nel caso si possano rispettare i termini della licenza GNU LGPL versione 2.1.</p> <p>La licenza GNU General Public License versione 3.0 è adatta per lo sviluppo di applicazioni nel caso sia necessario rispettare i termini della licenza GNU GPL versione 3.0. <p>Vedere <a href="http://qt.nokia.com/products/licensing">qt.nokia.com/products/licensing</a> per una panoramica sulle opzioni di licenza Qt.</p> <p>Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).</p> <p>Qt è un prodotto Nokia. Vedere <a href="http://qt.nokia.com/">qt.nokia.com</a> per maggiori informazioni.</p> Show Details... Mostra dettagli… QMultiInputContext Select IM Selezionare l'IM QMultiInputContextPlugin Multiple input method switcher Commutatore per metodi di input multipli Multiple input method switcher that uses the context menu of the text widgets Commutatore per metodi di input multipli che usa il menu contestuale dei controlli di testo QNativeSocketEngine Another socket is already listening on the same port Un altro socket è già in ascolto sulla stessa porta Attempt to use IPv6 socket on a platform with no IPv6 support Tentativo di utilizzare IPv6 su una piattaforma che non lo supporta Connection refused Connessione rifiutata Connection timed out Connessione fuori tempo massimo Datagram was too large to send Datagramma troppo grande per l'invio Host unreachable Host irraggiungibile Invalid socket descriptor Descrittore socket non valido Network error Errore di rete Network operation timed out Operazione di rete fuori tempo massimo Network unreachable Rete irraggiungibile Operation on non-socket Operazione su un non socket Out of resources Risorse insufficienti Permission denied Accesso negato Protocol type not supported Tipo di protocollo non supportato The address is not available L'indirizzo non è disponibile The address is protected L'indirizzo è protetto The bound address is already in use L'indirizzo scelto è già utilizzato The proxy type is invalid for this operation Tipo di proxy non valido per quest'operazione The remote host closed the connection L'host remoto ha chiuso la connessione Unable to initialize broadcast socket Impossibile inizializzare un socket broadcast Unable to initialize non-blocking socket Impossibile inizializzare un socket non bloccante Unable to receive a message Impossibile ricevere un messaggio Unable to send a message Impossibile inviare un messaggio Unable to write Impossibile scrivere Unknown error Errore sconosciuto Unsupported socket operation Operazione socket non supportata QNetworkAccessCacheBackend Error opening %1 Errore nell'apertura di %1 QNetworkAccessDataBackend Operation not supported on %1 Operazione non supportata su %1 Invalid URI: %1 URI non valido: %1 QNetworkAccessDebugPipeBackend Write error writing to %1: %2 Errore di scrittura nella scrittura di %1: %2 Socket error on %1: %2 Errore socket su %1: %2 Remote host closed the connection prematurely on %1 L'host remoto ha chiuso inaspettatamente la connessione su %1 QNetworkAccessFileBackend Cannot open %1: Path is a directory Impossibile aprire %1: Il percorso è una directory Error opening %1: %2 Errore nell'apertura di %1: %2 Read error reading from %1: %2 Errore di lettura nella lettura di %1: %2 Request for opening non-local file %1 Richiesta di apertura del file non locale %1 Write error writing to %1: %2 Errore di scrittura nella scrittura di %1: %2 QNetworkAccessFtpBackend Cannot open %1: is a directory Impossibile aprire %1: è una directory Error while downloading %1: %2 Errore nello scaricamento di %1: %2 Error while uploading %1: %2 Errore nel caricamento di %1: %2 Logging in to %1 failed: authentication required Accesso a %1 fallito: autenticazione richiesta No suitable proxy found Non sono stati trovati proxy adatti QNetworkAccessHttpBackend No suitable proxy found Non sono stati trovati proxy adatti QNetworkAccessManager Network access is disabled. Accesso alla rete disabilitato. QNetworkReply Error downloading %1 - server replied: %2 Errore nello scaricamento di %1 - il server ha risposto: %2 Protocol "%1" is unknown Protocollo "%1" sconosciuto Network session error. Errore sessione di rete. Temporary network failure. Errore temporaneo di rete. QNetworkReplyImpl Operation canceled Operazione annullata QNetworkSession Invalid configuration. Configurazione non valida. QNetworkSessionPrivateImpl Roaming error Errore roaming Session aborted by user or system Sessione interrotta dall'utente o dal sistema Unidentified Error Errore non identificato Unknown session error. Errore di sessione sconosciuto. The session was aborted by the user or system. La sessione è stata interrotta dall'utente o dal sistema. The requested operation is not supported by the system. L'operazione richiesta non è supportata dal sistema. The specified configuration cannot be used. Impossibile usare la configurazione specificata. Roaming was aborted or is not possible. Il roaming è stato abortito o non è possibile. QOCIDriver Unable to initialize QOCIDriver Impossibile inizializzare Unable to begin transaction Impossibile iniziare la transazione Unable to commit transaction Impossibile convalidare la transazione Unable to logon Impossibile effettuare il logon Unable to rollback transaction Impossibile annullare la transazione QOCIResult Unable to alloc statement Impossibile allocare il comando Unable to bind column for batch execute Impossibile associare la colonna per l'esecuzione batch Unable to get statement type Impossibile ottenere il tipo di comando Unable to bind value Impossibile associare il valore Unable to execute batch statement Impossibile eseguire il comando batch Unable to execute statement Impossibile eseguire il comando Unable to goto next Impossibile andare al prossimo Unable to prepare statement Impossibile preparare il comando QODBCDriver Unable to commit transaction Impossibile convalidare la transazione Unable to connect Impossibile connettersi Unable to connect - Driver doesn't support all functionality required Impossibile connettersi - Il driver non supporta tutte le caratteristiche necessarie Unable to disable autocommit Impossibile disabilitare l'autoconvalida Unable to enable autocommit Impossibile abilitare l'autoconvalida Unable to rollback transaction Impossibile annullare la transazione QODBCResult QODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResult::reset: Impossibile impostare 'SQL_CURSOR_STATIC' come attributo del comando. Controllare la configurazione del driver ODBC Unable to bind variable Impossibile associare la variabile Unable to execute statement Impossibile eseguire il comando Unable to fetch Impossibile ottenere Unable to fetch first Impossibile ottenere il primo Unable to fetch last Impossibile ottenere l'ultimo Unable to fetch next Impossibile ottenere il successivo Unable to fetch previous Impossibile ottenere il precedente Unable to prepare statement Impossibile preparare il comando QObject PulseAudio Sound Server Server sonoro PulseAudio "%1" duplicates a previous role name and will be disabled. "%1" duplica un nome di ruolo precedente e sarà disabilitato. invalid query: "%1" query non valida: "%1" QPPDOptionsModel Name Nome Value Valore QPSQLDriver Could not begin transaction Impossibile iniziare la transazione Could not commit transaction Impossibile convalidare la transazione Could not rollback transaction Impossibile annullare la transazione Unable to connect Impossibile connettersi Unable to subscribe Impossibile effettuare la sottoscrizione Unable to unsubscribe Impossibile cancellare la sottoscrizione QPSQLResult Unable to create query Impossibile creare la query Unable to prepare statement Impossibile preparare il comando QPageSetupWidget Centimeters (cm) Centimetri (cm) Form Form Height: Altezza: Inches (in) Pollici (in) Landscape Paesaggio Margins Margini Millimeters (mm) Millimetri (mm) Orientation Orientamento Page size: Dimensioni pagina: Paper Carta Paper source: Sorgente carta: Points (pt) Punti (pt) Portrait Ritratto Reverse landscape Paesaggio speculare Reverse portrait Ritratto speculare Width: Larghezza: bottom margin margine basso left margin margine sinistro right margin margine destro top margin margine alto QPluginLoader The plugin was not loaded. Il plugin non è stato caricato. Unknown error Errore sconosciuto QPrintDialog %1 already exists. Do you want to overwrite it? %1 esiste già. Sostituirlo? %1 is a directory. Please choose a different file name. Il file %1 è una directory. Selezionare un altro file. &Options << &Opzioni << &Options >> &Opzioni >> &Print &Stampa <qt>Do you want to overwrite it?</qt> <qt>Sovrascriverlo?</qt> A0 A0 A0 (841 x 1189 mm) A0 (841 x 1189 mm) A1 A1 A1 (594 x 841 mm) A1 (594 x 841 mm) A2 A2 A2 (420 x 594 mm) A2 (420 x 594 mm) A3 A3 A3 (297 x 420 mm) A3 (297 x 420 mm) A4 A4 A4 (210 x 297 mm, 8.26 x 11.7 inches) A4 (210 x 297 mm, 8.26 x 11.7 pollici) A5 A5 A5 (148 x 210 mm) A5 (148 x 210 mm) A6 A6 A6 (105 x 148 mm) A6 (105 x 148 mm) A7 A7 A7 (74 x 105 mm) A7 (74 x 105 mm) A8 A8 A8 (52 x 74 mm) A8 (52 x 74 mm) A9 A9 A9 (37 x 52 mm) A9 (37 x 52 mm) Aliases: %1 Alias: %1 B0 B0 B0 (1000 x 1414 mm) B0 (1000 x 1414 mm) B1 B1 B1 (707 x 1000 mm) B1 (707 x 1000 mm) B10 B10 B10 (31 x 44 mm) B10 (31 x 44 mm) B2 B2 B2 (500 x 707 mm) B2 (500 x 707 mm) B3 B3 B3 (353 x 500 mm) B3 (353 x 500 mm) B4 B4 B4 (250 x 353 mm) B4 (250 x 353 mm) B5 B5 B5 (176 x 250 mm, 6.93 x 9.84 inches) B5 (176 x 250 mm, 6.93 x 9.84 pollici) B6 B6 B6 (125 x 176 mm) B6 (125 x 176 mm) B7 B7 B7 (88 x 125 mm) B7 (88 x 125 mm) B8 B8 B8 (62 x 88 mm) B8 (62 x 88 mm) B9 B9 B9 (44 x 62 mm) B9 (44 x 62 mm) C5E C5E C5E (163 x 229 mm) C5E (163 x 229 mm) Custom Personalizzato DLE DLE DLE (110 x 220 mm) DLE (110 x 220 mm) Executive Executive Executive (7.5 x 10 inches, 191 x 254 mm) Executive (7.5 x 10 pollici, 191 x 254 mm) File %1 is not writable. Please choose a different file name. Il file %1 non è accessibile in scrittura. Selezionare un altro file. File exists Il file esiste Folio Folio Folio (210 x 330 mm) Folio (210 x 330 mm) Ledger Ledger Ledger (432 x 279 mm) Ledger (432 x 279 mm) Legal Legal Legal (8.5 x 14 inches, 216 x 356 mm) Legal (8.5 x 14 pollici, 216 x 356 mm) Letter Letter Letter (8.5 x 11 inches, 216 x 279 mm) Letter (8.5 x 11 pollici, 216 x 279 mm) Local file File locale OK OK Print Stampa Print To File ... Stampa su file… Print all Stampa tutto Print range Intervallo di stampa Print current page Stampa pagina corrente Print selection Stampa selezione Print to File (PDF) Stampa su file (PDF) Print to File (Postscript) Stampa su file (Postscript) Tabloid Tabloid Tabloid (279 x 432 mm) Tabloid (279 x 432 mm) The 'From' value cannot be greater than the 'To' value. Il valore 'From' non può essere più grande di quello 'To'. US Common #10 Envelope US Common #10 Envelope US Common #10 Envelope (105 x 241 mm) US Common #10 Envelope (105 x 241 mm) Write %1 file Scrivi %1 file locally connected connesse localmente unknown sconosciuto QPrintPreviewDialog %1% %1% Close Chiudi Export to PDF Esporta PDF Export to PostScript Esporta Postscript First page Prima pagina Fit page Adatta altezza Fit width Adatta larghezza Landscape Paesaggio Last page Ultima pagina Next page Pagina successiva Page Setup Imposta pagina Page setup Imposta pagina Portrait Ritratto Previous page Pagina precedente Print Stampa Print Preview Anteprima di stampa Show facing pages Mostra pagine frontali Show overview of all pages Mostra panoramica di tutte le pagine Show single page Mostra pagina singola Zoom in Zoom in Zoom out Zoom out QPrintPropertiesWidget Advanced Avanzate Form Form Page Pagina QPrintSettingsOutput Collate Fascicola Color Colori Color Mode Colore Copies Copie Copies: Copie: Duplex Printing Stampa fronte retro Form Form Grayscale Scala di grigio Long side Lato lungo None Nessuno Options Opzioni Output Settings Impostazioni di uscita Pages from Pagine da Print all Stampa tutto Print range Intervallo di stampa Reverse Inverti pagine Selection Seleziona Short side Lato corto to a Current Page Pagina corrente QPrintWidget &Name: &Nome: ... Form Form Location: Posizione: Output &file: &File di uscita: P&roperties P&roprietà Preview Anteprima Printer Stampante Type: Tipo: QProcess Could not open input redirection for reading Impossible aprire la redirezione input per la lettura Could not open output redirection for writing Impossible aprire la redirezione output per la scrittura Error reading from process Errore nella lettura dal processo Error writing to process Errore nella scrittura sul processo No program defined Nessun programma definito Process crashed Processo chiuso inaspettatamente Process operation timed out Operazione processo fuori tempo massimo Resource error (fork failure): %1 Errore di risorse (fork fallito): %1 Process failed to start: %1 Impossibile avviare il processo: %1 QProgressDialog Cancel Annulla QPushButton Open Apri QRadioButton Check Seleziona QRegExp bad char class syntax bad lookahead syntax bad repetition syntax invalid interval invalid category disabled feature used invalid octal value met internal limit missing left delim no error occurred unexpected end QSQLite2Driver Error opening database Errore nell'apertura del database Unable to begin transaction Impossibile iniziare la transazione Unable to commit transaction Impossibile convalidare la transazione Unable to rollback transaction Impossibile annullare la transazione QSQLite2Result Unable to execute statement Impossibile eseguire il comando Unable to fetch results Impossibile ottenere i risultati QSQLiteDriver Error closing database Errore nella chiusura del database Error opening database Errore nell'apertura del database Unable to begin transaction Impossibile iniziare la transazione Unable to commit transaction Impossibile convalidare la transazione Unable to rollback transaction Impossibile annullare la transazione QSQLiteResult No query Nessuna query Parameter count mismatch Numero di parametri errato Unable to bind parameters Impossibile associare i parametri Unable to execute statement Impossibile eseguire il comando Unable to fetch row Impossibile ottenere la riga Unable to reset statement Impossibile reimpostare il comando QScriptBreakpointsModel ID ID Location Posizione Condition Condizione Ignore-count ignora-conteggio Single-shot scatto-singolo Hit-count Classifica-conteggio QScriptBreakpointsWidget New Nuovo Delete Elimina QScriptDebugger Go to Line Line: Interrupt Shift+F5 Continue Continua F5 Step Into F11 Step Over F10 Step Out Shift+F11 Run to Cursor Ctrl+F10 Run to New Script Toggle Breakpoint Imposta breakpoint F9 Clear Debug Output Clear Error Log Clear Console &Find in Script... Ctrl+F Find &Next F3 Find &Previous Shift+F3 Ctrl+G Debug QScriptDebuggerCodeFinderWidget Close Chiudi Previous Next Case Sensitive Whole words <img src=":/qt/scripttools/debugging/images/wrap.png">&nbsp;Search wrapped QScriptDebuggerLocalsModel Name Nome Value Valore QScriptDebuggerStackModel Level Name Nome Location Posizione QScriptEdit Toggle Breakpoint Imposta breakpoint Disable Breakpoint Disabilita breakpoint Enable Breakpoint Abilita breakpoint Breakpoint Condition: Condizione breakpoint: QScriptEngineDebugger Loaded Scripts Script caricati Breakpoints Breakpoint Stack Stack Locals Console Console Debug Output Output debug Error Log Log errori Search Cerca View Visualizza Qt Script Debugger Qt Script Debugger QScriptNewBreakpointWidget Close Chiudi QScrollBar Bottom Fondo Left edge Bordo sinistro Line down Linea successiva Line up Linea precedente Page down Una pagina in basso Page left Una pagina a sinistra Page right Una pagina a destra Page up Una pagina in alto Position Posizione Right edge Bordo destro Scroll down Scorri in basso Scroll here Scorri qui Scroll left Scorri a sinistra Scroll right Scorri a destra Scroll up Scorri in alto Top Cima QSharedMemory %1: already exists %1: esiste già %1: create size is less then 0 %1: dimensioni inferiori a 0 %1: doesn't exists %1: non esiste %1: ftok failed %1: ftok fallito %1: invalid size %1: dimensioni non valide %1: key error %1: errore della chiave %1: doesn't exist %1: non esiste %1: key is empty %1: la chiave è vuota %1: UNIX key file doesn't exist %1: il file chiave UNIX non esiste %1: not attached %1: non assegnato %1: out of resources %1: risorse insufficienti %1: permission denied %1: accesso negato %1: size query failed %1: query sulle dimensioni fallita %1: system-imposed size restrictions %1: restrizioni sulle dimensioni imposte dal sistema %1: unable to lock %1: impossibile bloccare %1: unable to make key %1: impossibile creare la chiave %1: unable to set key on lock %1: impossibile bloccare la chiave %1: unable to unlock %1: impossibile sbloccare %1: unknown error %2 %1: errore sconosciuto %2 QShortcut + + Alt Alt Back Indietro Backspace Backspace Backtab Backtab Bass Boost Aumente i bassi Bass Down Diminuisci bassi Bass Up Aumenta bassi Call Button to start a call (note: a separate button is used to end the call) Chiama Caps Lock Blocco Maiuscole CapsLock BlocMaiusc Monitor Brightness Up Aumenta luminosità monitor Monitor Brightness Down Diminuisci luminosità monitor Keyboard Light On/Off Keyboard Brightness Up Keyboard Brightness Down Power Off Wake Up Eject Screensaver WWW Sleep LightBulb Shop History Add Favorite Hot Links Adjust Brightness Finance Community Audio Rewind Back Forward Application Left Application Right Book CD Calculator Clear Pulisci Clear Grab Close Chiudi Copy Copia Cut Taglia Display DOS Documents Documenti Spreadsheet Browser Browser Game Gioco Go Vai iTouch Logoff Chiudi sessione Market Meeting Keyboard Menu Menu PB My Sites Miei siti News Notizie Home Office Option Opzione Paste Incolla Phone Telefono Reply Rispondi Reload Aggiorna Rotate Windows Rotation PB Rotation KB Save Salva Send Invia Spellchecker Controllo ortografia Split Screen Dividi schermo Support Task Panel Terminal Terminale Tools Travel Video Video Word Processor XFer Zoom In Zoom In Zoom Out Zoom Out Away Messenger WebCam Mail Forward Pictures Music Musica Battery Batteria Bluetooth Bluetooth Wireless Wireless Ultra Wide Band Audio Forward Audio Repeat Audio Random Play Subtitle Audio Cycle Track Time View Visualizza Top Menu Suspend Hibernate Context1 Contesto1 Context2 Contesto2 Context3 Contesto3 Context4 Contesto4 Toggle Call/Hangup Button that will hang up if we're in call, or make a call if we're not. Voice Dial Button to trigger voice dialling Last Number Redial Button to redial the last number called Camera Shutter Button to trigger the camera shutter (take a picture) Camera Focus Button to focus the camera Kanji Muhenkan Henkan Romaji Hiragana Katakana Hiragana Katakana Zenkaku Hankaku Zenkaku Hankaku Touroku Massyo Kana Lock Kana Shift Eisu Shift Eisu toggle Code input Multiple Candidate Previous Candidate Hangul Hangul Start Hangul End Hangul Hanja Hangul Jamo Hangul Romaja Hangul Jeonja Hangul Banja Hangul PreHanja Hangul PostHanja Hangul Special Ctrl Ctrl Del Canc Delete Elimina Down Giù End Fine Enter Invio Esc Esc Escape Escape F%1 F%1 Favorites Preferiti Flip Ribalta Forward Avanti Hangup Button to end a call (note: a separate button is used to start the call) RIaggancia Help Guida Home Inizio Home Page Pagina iniziale Ins Ins Insert Inserisci Launch (0) Esegui (0) Media Pause Media player pause button Toggle Media Play/Pause Media player button to toggle between playing and paused Launch (1) Esegui (1) Launch (2) Esegui (2) Launch (3) Esegui (3) Launch (4) Esegui (4) Launch (5) Esegui (5) Launch (6) Esegui (6) Launch (7) Esegui (7) Launch (8) Esegui (8) Launch (9) Esegui (9) Launch (A) Esegui (A) Launch (B) Esegui (B) Launch (C) Esegui (C) Launch (D) Esegui (D) Launch (E) Esegui (E) Launch (F) Esegui (F) Launch Mail Posta Launch Media Media Left Sinistra Media Next Media Successivo Media Play Media Play Media Previous Media Precedente Media Record Media Registra Media Stop Media Stop Menu Menu Meta Meta No No Num Lock Blocco Num NumLock BlocNum Number Lock Blocco Tastierino Numerico Open URL Apri URL Page Down Pagina Giù Page Up Pagina Su Pause Pausa PgDown PgGiù PgUp PgSu Print Stamp Print Screen Stampa Schermo Refresh Aggiorna Return Invio Right Destra Scroll Lock Blocco Scorrimento ScrollLock BlocScorr Search Cerca Select Seleziona Shift Shift Space This and all following "incomprehensible" strings in QShortcut context are key names. Please use the localized names appearing on actual keyboards or whatever is commonly used. Spazio Standby Standby Stop Stop SysReq SysReq System Request System Request Tab Tab Treble Down Diminuisci alti Treble Up Aumenta alti Up Su Volume Down Aumenta volume Volume Mute Muto Volume Up Diminusci volume Yes QSlider Page down Una pagina in basso Page left Una pagina a sinistra Page right Una pagina a destra Page up Una pagina in alto Position Posizione QSocks5SocketEngine Address type not supported Tipo di indirizzo non supportato Connection not allowed by SOCKSv5 server Connessione non permessa dal server SOCKSv5 Connection to proxy closed prematurely Il proxy ha chiuso la connessione inaspettatamente Connection to proxy refused Connessione al proxy rifiutata Connection to proxy timed out Connessione al proxy fuori tempo massimo General SOCKSv5 server failure Errore generale del server SOCKSv5 Network operation timed out Operazione di rete fuori tempo massimo Proxy authentication failed Autenticazione proxy fallita Proxy authentication failed: %1 Autenticazione proxy fallita: %1 Proxy host not found Server proxy non trovato SOCKS version 5 protocol error Errore del protocollo SOCKS versione 5 SOCKSv5 command not supported Comando SOCKSv5 non supportato TTL expired TTL esaurito Unknown SOCKSv5 proxy error code 0x%1 Codice di errore SOCKSv5 sconosciuto 0x%1 QSoftKeyManager Ok Ok Select Seleziona Done Fatto Options Opzioni Cancel Annulla Exit Esci QSpinBox Less Diminuisci More Aumenta QSql Cancel Annulla Cancel your edits? Annullare le modifiche? Confirm Conferma Delete Elimina Delete this record? Eliminare questo record? Insert Inserisci No No Save edits? Salvare le modifiche? Update Aggiorna Yes QSslSocket Cannot provide a certificate with no key, %1 Impossibile fornire un certificato senza una chiave, %1 Error creating SSL context (%1) Errore nella creazione del contesto SSL (%1) Private key does not certify public key, %1 La chiave privata non certifica la chiave pubblica, %1 Error creating SSL session, %1 Errore nella creazione della sessione SSL, %1 Error creating SSL session: %1 Errore nella creazione della sessione SSL: %1 Unable to decrypt data: %1 Impossibile decifrare i dati: %1 Error during SSL handshake: %1 Errore nell'inizializzazione SSL: %1 Error loading local certificate, %1 Errore nel caricamento del certificato locale, %1 Error loading private key, %1 Errore nel caricamento della chiave privata, %1 Error while reading: %1 Errore nella lettura: %1 Invalid or empty cipher list (%1) Lista di cifrari vuota o non valida (%1) Unable to write data: %1 Impossibile scrivere i dati: %1 No error Nessun errore The issuer certificate could not be found Impossibile trovare il certificato dell'emittente The certificate signature could not be decrypted Impossibile decifrare la firma del certificato The public key in the certificate could not be read Impossibile leggere la chiave pubblica del certificato The signature of the certificate is invalid La firma del certificato non è valida The certificate is not yet valid Il certificato non è ancora valido The certificate has expired Il certificato è scaduto The certificate's notBefore field contains an invalid time Should "notBefore" be translated? Il campo notBefore del certificato contiene una data non valida The certificate's notAfter field contains an invalid time Should "notAfter" be translated? Il campo notAfter del certificato contiene una data non valida The certificate is self-signed, and untrusted Il certificato è auto-firmato, e non fidato The root certificate of the certificate chain is self-signed, and untrusted Il certificato radice della catena di certificati è auto-firmato, e non fidato The issuer certificate of a locally looked up certificate could not be found Impossibile trovare il certificato dell'emittente di un certificato cercato localmente No certificates could be verified Impossibile verificare i certificati One of the CA certificates is invalid Uno dei certificati della CA è invalido The basicConstraints path length parameter has been exceeded Il parametro di lunghezza percorso basicConstraints è stato superato The supplied certificate is unsuitable for this purpose Il certificato fornito non è adatto per questo scopo The root CA certificate is not trusted for this purpose Il certificato della CA radice non è fidato per questo scopo The root CA certificate is marked to reject the specified purpose Il certificato della CA radice è impostato per rifiutare lo scopo specificato The current candidate issuer certificate was rejected because its subject name did not match the issuer name of the current certificate La candidata emittente del certificato è stata rifiutata poiché il suo nome non corrisponde a quello dell'emittente del certificato corrente The current candidate issuer certificate was rejected because its issuer name and serial number was present and did not match the authority key identifier of the current certificate La candidata emittente del certificato è stata rifiutata poiché i suoi nome e numero di serie sono presenti e non corrispondono alla chiave identificativa del certificato corrente The peer did not present any certificate Il peer non ha presentato nessun certificato The host name did not match any of the valid hosts for this certificate Il nome host non corrisponde a nessun host valido per questo certificato Unknown error Errore sconosciuto QStateMachine Missing initial state in compound state '%1' Stato iniziale mancante nello stato composto '%1' Missing default state in history state '%1' Stato iniziale mancante nello stato history '%1' No common ancestor for targets and source of transition from state '%1' Nessun antenato comune per sorgente e obbiettivo della transizione dallo stato '%1' Unknown error Errore sconosciuto QSystemSemaphore %1: already exists %1: esiste già %1: does not exist %1: non esiste %1: out of resources %1: risorse insufficienti %1: permission denied %1: accesso negato %1: unknown error %2 %1: errore sconosciuto %2 QTDSDriver Unable to open connection Impossibile aprire la connessione Unable to use database Impossibile utilizzare il database QTabBar Scroll Left Scorri a sinistra Scroll Right Scorri a destra QTcpServer Operation on socket is not supported Operazione su socket non supportata QTextControl &Copy &Copia &Paste &Incolla &Redo &Ripeti &Undo &Annulla Copy &Link Location Copia Co&llegamento Cu&t &Taglia Delete Elimina Select All Seleziona tutto QToolButton Open Apri Press Premi QUdpSocket This platform does not support IPv6 La piattaforma non supporta IPv6 QUndoGroup Redo Ripeti Undo Annulla QUndoModel <empty> <vuoto> QUndoStack Redo Ripeti Undo Annulla QUnicodeControlCharacterMenu Insert Unicode control character Inserisci carattere di controllo Unicode LRE Start of left-to-right embedding LRE Start of left-to-right embedding LRM Left-to-right mark LRM Left-to-right mark LRO Start of left-to-right override LRO Start of left-to-right override PDF Pop directional formatting PDF Pop directional formatting RLE Start of right-to-left embedding RLE Start of right-to-left embedding RLM Right-to-left mark RLM Right-to-left mark RLO Start of right-to-left override RLO Start of right-to-left override ZWJ Zero width joiner ZWJ Zero width joiner ZWNJ Zero width non-joiner ZWNJ Zero width non-joiner ZWSP Zero width space ZWSP Zero width space QWebFrame Cannot show URL Impossibile mostrare l'URL Frame load interrupted by policy change Caricamento frame interrotto da cambio di policy Cannot show mimetype Impossibile mostrare il mimetype File does not exist Il file non esiste Request blocked Richiesta bloccata Request cancelled Richiesta annullata QWebPage Redirection limit reached Raggiunto limite redirezioni Bad HTTP request Richiesta HTTP non valida Bottom Fondo Delete to the end of the word Elimina fino alla fine della parola Delete to the start of the word Elimina fino all'inizio della parola Insert a new line Inserisce una nuova linea Insert a new paragraph Inserisce un nuovo paragrafo JavaScript Alert - %1 Avviso JavaScript - %1 JavaScript Confirm - %1 Conferma JavaScript - %1 JavaScript Prompt - %1 Richiesta JavaScript - %1 Left edge Bordo sinistro Move the cursor to the end of the block Sposta il cursore alla fine del blocco Move the cursor to the end of the document Sposta il cursore alla fine del documento Move the cursor to the end of the line Sposta il cursore alla fine della linea JavaScript Problem - %1 Problema JavaScript - %1 The script on this page appears to have a problem. Do you want to stop the script? Lo script in questa pagina sembra avere problemi. Interrompere lo script? Move the cursor to the next character Sposta il cursore al carattere successivo Move the cursor to the next line Sposta il cursore alla linea successiva Paste and Match Style Remove formatting Strikethrough Subscript Superscript Insert Bulleted List Insert Numbered List Indent Outdent Center Justify Align Left Align Right Move the cursor to the next word Sposta il cursore alla parola successiva Move the cursor to the previous character Sposta il cursore al carattere precedente Move the cursor to the previous line Sposta il cursore alla linea precedente Move the cursor to the previous word Sposta il cursore alla parola precedente Move the cursor to the start of the block Sposta il cursore all'inizio del blocco Move the cursor to the start of the document Sposta il cursore all'inizio del documento Move the cursor to the start of the line Sposta il cursore all'inizio della linea Page down Una pagina in basso Page left Una pagina a sinistra Page right Una pagina a destra Page up Una pagina in alto Right edge Bordo destro Scroll down Scorri in basso Scroll here Scorri qui Scroll left Scorri a sinistra Scroll right Scorri a destra Scroll up Scorri in alto Select all Seleziona tutto Select to the end of the block Seleziona fino alla fine del blocco Select to the end of the document Seleziona fino alla fine del documento Select to the end of the line Seleziona fino alla fine della linea Select to the next character Seleziona fino al carattere successivo Select to the next line Seleziona fino alla linea successiva Select to the next word Seleziona fino alla parola successiva Select to the previous character Seleziona fino al carattere precedente Select to the previous line Seleziona fino alla linea precedente Select to the previous word Seleziona fino alla parola precedente Select to the start of the block Seleziona fino all'inizio del blocco Select to the start of the document Seleziona fino all'inizio del documento Select to the start of the line Seleziona fino all'inizio della linea Top Cima Web Inspector - %2 Web Inspector - %2 %n file(s) number of chosen file %n file %n file Submit default label for Submit buttons in forms on web pages Invia Submit Submit (input element) alt text for <input> elements with no alt, title, or value Invia Reset default label for Reset buttons in forms on web pages Reimposta This is a searchable index. Enter search keywords: text that appears at the start of nearly-obsolete web pages in the form of a 'searchable index' Questo è un indice per le ricerche. Inserire le parole per la ricerca: Choose File title for file button used in HTML forms Sfoglia No file selected text to display in file button used in HTML forms when no file is selected Nessun file selezionato Open in New Window Open in New Window context menu item Apri in una nuova finestra Save Link... Download Linked File context menu item Salva l'oggetto collegato… Copy Link Copy Link context menu item Copia l'indirizzo del collegamento Open Image Open Image in New Window context menu item Visualizza immagine Save Image Download Image context menu item Salva l'immagine Copy Image Copy Link context menu item Copia l'immagine Open Frame Open Frame in New Window context menu item Apri Frame Copy Copy context menu item Copia Go Back Back context menu item Indietro Go Forward Forward context menu item Avanti Stop Stop context menu item Stop Reload Reload context menu item Aggiorna Cut Cut context menu item Taglia Paste Paste context menu item Incolla No Guesses Found No Guesses Found context menu item Nessun indizio trovato Ignore Ignore Spelling context menu item Ignora Add To Dictionary Learn Spelling context menu item Aggiungi al dizionario Search The Web Search The Web context menu item Cerca nel Web Look Up In Dictionary Look Up in Dictionary context menu item Cerca nel dizionario Open Link Open Link context menu item Apri collegamento Ignore Ignore Grammar context menu item Ignora Spelling Spelling and Grammar context sub-menu item Ortografia Show Spelling and Grammar menu item title Mostra ortografia e grammatica Hide Spelling and Grammar menu item title Nascondi ortografia e grammatica Check Spelling Check spelling context menu item Controllo ortografico Check Spelling While Typing Check spelling while typing context menu item Controllo ortografico durante la digitazione Check Grammar With Spelling Check grammar with spelling context menu item Controlla la grammatica con l'ortografia Fonts Font context sub-menu item Caratteri Bold Bold context menu item Grassetto Italic Italic context menu item Italico Underline Underline context menu item Sottolineato Outline Outline context menu item Allinea Direction Writing direction context sub-menu item Direzione Text Direction Text direction context sub-menu item Direzione del testo Default Default writing direction context menu item Predefinito Left to Right Left to Right context menu item Right to Left Right to Left context menu item Inspect Inspect Element context menu item Ispeziona No recent searches Label for only item in menu that appears when clicking on the search field image, when no searches have been performed Nessuna ricerca recente Recent searches label for first item in the menu that appears when clicking on the search field image, used as embedded menu title Ricerche recenti Clear recent searches menu item in Recent Searches menu that empties menu's contents Elimina ricerche recenti Missing Plug-in Label text to be used when a plug-in is missing Unknown Unknown filesize FTP directory listing item Sconosciuto %1 (%2x%3 pixels) Title string for images %1 (%2x%3 pixel) Loading... Media controller status message when the media is loading Live Broadcast Media controller status message when watching a live broadcast Audio Element Media controller element Video Element Media controller element Mute Button Media controller element Unmute Button Media controller element Play Button Media controller element Pause Button Media controller element Slider Media controller element Slider Thumb Media controller element Rewind Button Media controller element Return to Real-time Button Media controller element Elapsed Time Media controller element Remaining Time Media controller element Status Display Media controller element Fullscreen Button Media controller element Seek Forward Button Media controller element Seek Back Button Media controller element Audio element playback controls and status display Media controller element Video element playback controls and status display Media controller element Mute audio tracks Media controller element Unmute audio tracks Media controller element Begin playback Media controller element Pause playback Media controller element Movie time scrubber Media controller element Movie time scrubber thumb Media controller element Rewind movie Media controller element Return streaming movie to real-time Media controller element Current movie time Media controller element Remaining movie time Media controller element Current movie status Media controller element Play movie in full-screen mode Media controller element Seek quickly back Media controller element Seek quickly forward Media controller element Indefinite time Media time description %1 days %2 hours %3 minutes %4 seconds Media time description %1 hours %2 minutes %3 seconds Media time description %1 minutes %2 seconds Media time description %1 seconds Media time description QWhatsThisAction What's This? Guida rapida QWidget * * QWizard &Finish &Finisci &Help &Guida &Next &Successivo &Next > &Successivo > < &Back < &Indietro Cancel Annulla Commit Conferma Continue Continua Done Fatto Go Back Indietro Help Guida QWorkspace %1 - [%2] %1 - [%2] &Close &Chiudi &Move &Sposta &Restore &Ripristina &Size Ri&dimensiona &Unshade Sro&tola Close Chiudi Ma&ximize Ingra&ndisci Mi&nimize R&iduci a icona Minimize Riduce a icona Restore Down Ripristina in basso Sh&ade &Arrotola Stay on &Top Sempre in &primo piano QXml encoding declaration or standalone declaration expected while reading the XML declaration error in the text declaration of an external entity error occurred while parsing comment error occurred while parsing content error occurred while parsing document type definition error occurred while parsing element error occurred while parsing reference error triggered by consumer external parsed general entity reference not allowed in DTD external parsed general entity reference not allowed in attribute value internal general entity reference not allowed in DTD invalid name for processing instruction letter is expected more than one document type definition no error occurred recursive entities standalone declaration expected while reading the XML declaration tag mismatch unexpected character unexpected end of file unparsed entity reference in wrong context version expected while reading the XML declaration wrong value for standalone declaration QXmlPatternistCLI Warning in %1, at line %2, column %3: %4 Warning in %1: %2 Unknown location Error %1 in %2, at line %3, column %4: %5 Error %1 in %2: %3 QXmlStream %1 is an invalid PUBLIC identifier. %1 is an invalid encoding name. %1 is an invalid processing instruction name. , but got ' Attribute redefined. Encoding %1 is unsupported Encountered incorrectly encoded content. Entity '%1' not declared. Expected Expected character data. Extra content at end of document. Illegal namespace declaration. Invalid XML character. Invalid XML name. Invalid XML version string. Invalid attribute in XML declaration. Invalid character reference. Invalid document. Invalid entity value. Invalid processing instruction name. NDATA in parameter entity declaration. Namespace prefix '%1' not declared Opening and ending tag mismatch. Premature end of document. Recursive entity detected. Reference to external entity '%1' in attribute value. Reference to unparsed entity '%1'. Sequence ']]>' not allowed in content. Standalone accepts only yes or no. Start tag expected. The standalone pseudo attribute must appear after the encoding. Unexpected ' Unexpected character '%1' in public id literal. Unsupported XML version. XML declaration not at start of document. QtXmlPatterns %1 and %2 match the start and end of a line. %1 cannot be retrieved %1 contains octets which are disallowed in the requested encoding %2. %1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works. %1 is an invalid %2 %1 is an invalid flag for regular expressions. Valid flags are: %1 is an invalid namespace URI. %1 is an invalid regular expression pattern: %2 %1 is an invalid template mode name. %1 is an unknown schema type. %1 is an unsupported encoding. %1 is not a valid XML 1.0 character. %1 is not a valid name for a processing-instruction. %1 is not a valid numeric literal. The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, %2 is invalid. %1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3. %1 is not a valid value of type %2. %1 is not a whole number of minutes. %1 is not an atomic type. Casting is only possible to atomic types. %1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported. %1 is not valid as a value of type %2. %1 matches newline characters %1 must be followed by %2 or %3, not at the end of the replacement string. %1 requires at least %n argument(s). %2 is therefore invalid. %1 takes at most %n argument(s). %2 is therefore invalid. %1 was called. A comment cannot contain %1 A comment cannot end with a %1. A default namespace declaration must occur before function, variable, and option declarations. An attribute with name %1 has already appeared on this element. A direct element constructor is not well-formed. %1 is ended with %2. A function already exists with the signature %1. A library module cannot be evaluated directly. It must be imported from a main module. A parameter in a function cannot be declared to be a tunnel. A positional predicate must evaluate to a single numeric value. A stylesheet function must have a prefixed name. A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type. A value of type %1 cannot have an Effective Boolean Value. A value of type %1 must contain an even number of digits. The value %2 does not. A zone offset must be in the range %1..%2 inclusive. %3 is out of range. Ambiguous rule match. An attribute by name %1 has already been created. An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place. At least one %1 element must appear as child of %2. At least one %1-element must occur before %2. At least one %1-element must occur inside %2. At least one component must be present. At least one mode must be specified in the %1-attribute on element %2. At least one time component must appear after the %1-delimiter. Attribute %1 and %2 are mutually exclusive. Attribute %1 can't be serialized because it appears at the top level. Attribute %1 cannot have the value %2. Day %1 is invalid for month %2. Day %1 is outside the range %2..%3. Dividing a value of type %1 by %2 (not-a-number) is not allowed. Dividing a value of type %1 by %2 or %3 (plus or minus zero) is not allowed. Division (%1) by zero (%2) is undefined. Each name of a template parameter must be unique; %1 is duplicated. Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values. Element %1 can't be serialized because it appears outside the document element. Element %1 cannot have a sequence constructor. Element %1 cannot have children. Element %1 is not allowed at this location. Element %1 must come last. Element %1 must have at least one of the attributes %2 or %3. Element %1 must have either a %2-attribute or a sequence constructor. If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same. If element %1 has no attribute %2, it cannot have attribute %3 or %4. If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified. In a namespace constructor, the value for a namespace cannot be an empty string. In a simplified stylesheet module, attribute %1 must be present. In an XSL-T pattern, axis %1 cannot be used, only axis %2 or %3 can. In an XSL-T pattern, function %1 cannot have a third argument. In an XSL-T pattern, only function %1 and %2, not %3, can be used for matching. In an XSL-T pattern, the first argument to function %1 must be a literal or a variable reference, when used for matching. In an XSL-T pattern, the first argument to function %1 must be a string literal, when used for matching. In the replacement string, %1 can only be used to escape itself or %2, not %3 In the replacement string, %1 must be followed by at least one digit when not escaped. Integer division (%1) by zero (%2) is undefined. It is not possible to bind to the prefix %1 It is not possible to redeclare prefix %1. It will not be possible to retrieve %1. It's not possible to add attributes after any other kind of node. Matches are case insensitive Module imports must occur before function, variable, and option declarations. Modulus division (%1) by zero (%2) is undefined. Month %1 is outside the range %2..%3. Multiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed. Namespace %1 can only be bound to %2 (and it is, in either case, pre-declared). Namespace declarations must occur before function, variable, and option declarations. Network timeout. No external functions are supported. All supported functions can be used directly, without first declaring them as external No function with signature %1 is available No namespace binding exists for the prefix %1 No namespace binding exists for the prefix %1 in %2 No template by name %1 exists. None of the pragma expressions are supported. Therefore, a fallback expression must be present Only one %1 declaration can occur in the query prolog. Only one %1-element can appear. Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported. Only the prefix %1 can be bound to %2 and vice versa. Operator %1 cannot be used on atomic values of type %2 and %3. Operator %1 cannot be used on type %2. Overflow: Can't represent date %1. Overflow: Date can't be represented. Parse error: %1 Prefix %1 can only be bound to %2 (and it is, in either case, pre-declared). Prefix %1 is already declared in the prolog. Promoting %1 to %2 may cause loss of precision. Required cardinality is %1; got cardinality %2. Required type is %1, but %2 was found. Running an XSL-T 1.0 stylesheet with a 2.0 processor. Text nodes are not allowed at this location. The %1-axis is unsupported in XQuery The Schema Import feature is not supported, and therefore %1 declarations cannot occur. The Schema Validation Feature is not supported. Hence, %1-expressions may not be used. The URI cannot have a fragment The attribute %1 can only appear on the first %2 element. The attribute %1 cannot appear on %2, when it is a child of %3. The codepoint %1, occurring in %2 using encoding %3, is an invalid XML character. The data of a processing instruction cannot contain the string %1 The default collection is undefined The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2. The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration. The first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. The focus is undefined. The initialization of variable %1 depends on itself The item %1 did not match the required type %2. The keyword %1 cannot occur with any other mode name. The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two. The module import feature is not supported The name %1 does not refer to any schema type. The name for a computed attribute cannot have the namespace URI %1 with the local name %2. The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide. The name of an extension expression must be in a namespace. The name of an option must have a prefix. There is no default namespace for options. W3C XML Schema identity constraint selector W3C XML Schema identity constraint field A construct was encountered which is disallowed in the current language(%1). A template with name %1 has already been declared. No variable with name %1 exists The value of attribute %1 must be of type %2, which %3 isn't. The prefix %1 cannot be bound. By default, it is already bound to the namespace %2. A variable with name %1 has already been declared. No value is available for the external variable with name %1. The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases. An argument with name %1 has already been declared. Every argument name must be unique. No function with name %1 is available. The namespace URI cannot be the empty string when binding to a prefix, %1. The namespace URI in the name for a computed attribute cannot be %1. The namespace URI must be a constant and cannot use enclosed expressions. The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this) The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2 The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization). The parameter %1 is passed, but no corresponding %2 exists. The parameter %1 is required, but no corresponding %2 is supplied. The prefix %1 cannot be bound. The prefix must be a valid %1, which %2 is not. The root node of the second argument to function %1 must be a document node. %2 is not a document node. The second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. The target namespace of a %1 cannot be empty. The value for attribute %1 on element %2 must either be %3 or %4, not %5. The value of the XSL-T version attribute must be a value of type %1, which %2 isn't. The variable %1 is unused This processor is not Schema-aware and therefore %1 cannot be used. Time %1:%2:%3.%4 is invalid. Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0; Top level stylesheet elements must be in a non-null namespace, which %1 isn't. Two namespace declaration attributes have the same name: %1. Type error in cast, expected %1, received %2. Unknown XSL-T attribute %1. Value %1 of type %2 exceeds maximum (%3). Value %1 of type %2 is below minimum (%3). Version %1 is not supported. The supported XQuery version is 1.0. When a parameter is required, a default value cannot be supplied through a %1-attribute or a sequence constructor. When attribute %1 is present on %2, a sequence constructor cannot be used. When casting to %1 from %2, the source value cannot be %3. When casting to %1 or types derived from it, the source value must be of the same type, or it must be a string literal. Type %2 is not allowed. When function %1 is used for matching inside a pattern, the argument must be a variable reference or a string literal. Whitespace characters are removed, except when they appear in character classes Year %1 is invalid because it begins with %2. empty exactly one one or more zero or more zero or one Empty particle cannot be derived from non-empty particle. Derived particle is missing element %1. Derived element %1 is missing value constraint as defined in base particle. Derived element %1 has weaker value constraint than base particle. Fixed value constraint of element %1 differs from value constraint in base particle. Derived element %1 cannot be nillable as base element is not nillable. Block constraints of derived element %1 must not be more weaker than in the base element. Simple type of derived element %1 cannot be validly derived from base element. Complex type of derived element %1 cannot be validly derived from base element. Element %1 is missing in derived particle. Element %1 does not match namespace constraint of wildcard in base particle. Wildcard in derived particle is not a valid subset of wildcard in base particle. processContent of wildcard in derived particle is weaker than wildcard in base particle. Derived particle allows content that is not allowed in the base particle. %1 has inheritance loop in its base type %2. Circular inheritance of base type %1. Circular inheritance of union %1. %1 is not allowed to derive from %2 by restriction as the latter defines it as final. %1 is not allowed to derive from %2 by extension as the latter defines it as final. Base type of simple type %1 cannot be complex type %2. Simple type %1 cannot have direct base type %2. Simple type %1 is not allowed to have base type %2. Simple type %1 can only have simple atomic type as base type. Simple type %1 cannot derive from %2 as the latter defines restriction as final. Variety of item type of %1 must be either atomic or union. Variety of member types of %1 must be atomic. %1 is not allowed to derive from %2 by list as the latter defines it as final. Simple type %1 is only allowed to have %2 facet. Base type of simple type %1 must have variety of type list. Base type of simple type %1 has defined derivation by restriction as final. Item type of base type does not match item type of %1. Simple type %1 contains not allowed facet type %2. %1 is not allowed to derive from %2 by union as the latter defines it as final. %1 is not allowed to have any facets. Base type %1 of simple type %2 must have variety of union. Base type %1 of simple type %2 is not allowed to have restriction in %3 attribute. Member type %1 cannot be derived from member type %2 of %3's base type %4. Derivation method of %1 must be extension because the base type %2 is a simple type. Complex type %1 has duplicated element %2 in its content model. Complex type %1 has non-deterministic content. Attributes of complex type %1 are not a valid extension of the attributes of base type %2: %3. Content model of complex type %1 is not a valid extension of content model of %2. Complex type %1 must have simple content. Complex type %1 must have the same simple type as its base class %2. Complex type %1 cannot be derived from base type %2%3. Attributes of complex type %1 are not a valid restriction from the attributes of base type %2: %3. Complex type %1 with simple content cannot be derived from complex base type %2. Item type of simple type %1 cannot be a complex type. Member type of simple type %1 cannot be a complex type. %1 is not allowed to have a member type with the same name as itself. %1 facet collides with %2 facet. %1 facet must have the same value as %2 facet of base type. %1 facet must be equal or greater than %2 facet of base type. %1 facet must be less than or equal to %2 facet of base type. %1 facet contains invalid regular expression Unknown notation %1 used in %2 facet. %1 facet contains invalid value %2: %3. %1 facet cannot be %2 or %3 if %4 facet of base type is %5. %1 facet cannot be %2 if %3 facet of base type is %4. %1 facet must be less than or equal to %2 facet. %1 facet must be less than %2 facet of base type. %1 facet and %2 facet cannot appear together. %1 facet must be greater than %2 facet of base type. %1 facet must be less than %2 facet. %1 facet must be greater than or equal to %2 facet of base type. Simple type contains not allowed facet %1. %1, %2, %3, %4, %5 and %6 facets are not allowed when derived by list. Only %1 and %2 facets are allowed when derived by union. %1 contains %2 facet with invalid data: %3. Attribute group %1 contains attribute %2 twice. Attribute group %1 contains two different attributes that both have types derived from %2. Attribute group %1 contains attribute %2 that has value constraint but type that inherits from %3. Complex type %1 contains attribute %2 twice. Complex type %1 contains two different attributes that both have types derived from %2. Complex type %1 contains attribute %2 that has value constraint but type that inherits from %3. Element %1 is not allowed to have a value constraint if its base type is complex. Element %1 is not allowed to have a value constraint if its type is derived from %2. Value constraint of element %1 is not of elements type: %2. Element %1 is not allowed to have substitution group affiliation as it is no global element. Type of element %1 cannot be derived from type of substitution group affiliation. Value constraint of attribute %1 is not of attributes type: %2. Attribute %1 has value constraint but has type derived from %2. %1 attribute in derived complex type must be %2 like in base type. Attribute %1 in derived complex type must have %2 value constraint like in base type. Attribute %1 in derived complex type must have the same %2 value constraint like in base type. Attribute %1 in derived complex type must have %2 value constraint. processContent of base wildcard must be weaker than derived wildcard. Element %1 exists twice with different types. Particle contains non-deterministic wildcards. Base attribute %1 is required but derived attribute is not. Type of derived attribute %1 cannot be validly derived from type of base attribute. Value constraint of derived attribute %1 does not match value constraint of base attribute. Derived attribute %1 does not exist in the base definition. Derived attribute %1 does not match the wildcard in the base definition. Base attribute %1 is required but missing in derived definition. Derived definition contains an %1 element that does not exists in the base definition Derived wildcard is not a subset of the base wildcard. %1 of derived wildcard is not a valid restriction of %2 of base wildcard Attribute %1 from base type is missing in derived type. Type of derived attribute %1 differs from type of base attribute. Base definition contains an %1 element that is missing in the derived definition Can not process unknown element %1, expected elements are: %2. Element %1 is not allowed in this scope, possible elements are: %2. Child element is missing in that scope, possible child elements are: %1. Document is not a XML schema. %1 attribute of %2 element contains invalid content: {%3} is not a value of type %4. %1 attribute of %2 element contains invalid content: {%3}. Target namespace %1 of included schema is different from the target namespace %2 as defined by the including schema. Target namespace %1 of imported schema is different from the target namespace %2 as defined by the importing schema. %1 element is not allowed to have the same %2 attribute value as the target namespace %3. %1 element without %2 attribute is not allowed inside schema without target namespace. %1 element is not allowed inside %2 element if %3 attribute is present. %1 element has neither %2 attribute nor %3 child element. %1 element with %2 child element must not have a %3 attribute. %1 attribute of %2 element must be %3 or %4. %1 attribute of %2 element must have a value of %3. %1 attribute of %2 element must have a value of %3 or %4. %1 element must not have %2 and %3 attribute together. Content of %1 attribute of %2 element must not be from namespace %3. %1 attribute of %2 element must not be %3. %1 attribute of %2 element must have the value %3 because the %4 attribute is set. Specifying use='prohibited' inside an attribute group has no effect. %1 element must have either %2 or %3 attribute. %1 element must have either %2 attribute or %3 or %4 as child element. %1 element requires either %2 or %3 attribute. Text or entity references not allowed inside %1 element %1 attribute of %2 element must contain %3, %4 or a list of URIs. %1 element is not allowed in this context. %1 attribute of %2 element has larger value than %3 attribute. Prefix of qualified name %1 is not defined. %1 attribute of %2 element must either contain %3 or the other values. Component with ID %1 has been defined previously. Element %1 already defined. Attribute %1 already defined. Type %1 already defined. Attribute group %1 already defined. Element group %1 already defined. Notation %1 already defined. Identity constraint %1 already defined. Duplicated facets in simple type %1. %1 references unknown %2 or %3 element %4. %1 references identity constraint %2 that is no %3 or %4 element. %1 has a different number of fields from the identity constraint %2 that it references. Base type %1 of %2 element cannot be resolved. Item type %1 of %2 element cannot be resolved. Member type %1 of %2 element cannot be resolved. Type %1 of %2 element cannot be resolved. Base type %1 of complex type cannot be resolved. %1 cannot have complex base type that has a %2. Content model of complex type %1 contains %2 element so it cannot be derived by extension from a non-empty type. Complex type %1 cannot be derived by extension from %2 as the latter contains %3 element in its content model. Type of %1 element must be a simple type, %2 is not. Substitution group %1 of %2 element cannot be resolved. Substitution group %1 has circular definition. Duplicated element names %1 in %2 element. Reference %1 of %2 element cannot be resolved. Circular group reference for %1. %1 element is not allowed in this scope %1 element cannot have %2 attribute with value other than %3. %1 element cannot have %2 attribute with value other than %3 or %4. %1 or %2 attribute of reference %3 does not match with the attribute declaration %4. Attribute group %1 has circular reference. %1 attribute in %2 must have %3 use like in base type %4. Attribute wildcard of %1 is not a valid restriction of attribute wildcard of base type %2. %1 has attribute wildcard but its base type %2 has not. Union of attribute wildcard of type %1 and attribute wildcard of its base type %2 is not expressible. Enumeration facet contains invalid content: {%1} is not a value of type %2. Namespace prefix of qualified name %1 is not defined. %1 element %2 is not a valid restriction of the %3 element it redefines: %4. %1 is not valid according to %2. String content does not match the length facet. String content does not match the minLength facet. String content does not match the maxLength facet. String content does not match pattern facet. String content is not listed in the enumeration facet. Signed integer content does not match the maxInclusive facet. Signed integer content does not match the maxExclusive facet. Signed integer content does not match the minInclusive facet. Signed integer content does not match the minExclusive facet. Signed integer content is not listed in the enumeration facet. Signed integer content does not match pattern facet. Signed integer content does not match in the totalDigits facet. Unsigned integer content does not match the maxInclusive facet. Unsigned integer content does not match the maxExclusive facet. Unsigned integer content does not match the minInclusive facet. Unsigned integer content does not match the minExclusive facet. Unsigned integer content is not listed in the enumeration facet. Unsigned integer content does not match pattern facet. Unsigned integer content does not match in the totalDigits facet. Double content does not match the maxInclusive facet. Double content does not match the maxExclusive facet. Double content does not match the minInclusive facet. Double content does not match the minExclusive facet. Double content is not listed in the enumeration facet. Double content does not match pattern facet. Decimal content does not match in the fractionDigits facet. Decimal content does not match in the totalDigits facet. Date time content does not match the maxInclusive facet. Date time content does not match the maxExclusive facet. Date time content does not match the minInclusive facet. Date time content does not match the minExclusive facet. Date time content is not listed in the enumeration facet. Date time content does not match pattern facet. Duration content does not match the maxInclusive facet. Duration content does not match the maxExclusive facet. Duration content does not match the minInclusive facet. Duration content does not match the minExclusive facet. Duration content is not listed in the enumeration facet. Duration content does not match pattern facet. Boolean content does not match pattern facet. Binary content does not match the length facet. Binary content does not match the minLength facet. Binary content does not match the maxLength facet. Binary content is not listed in the enumeration facet. Invalid QName content: %1. QName content is not listed in the enumeration facet. QName content does not match pattern facet. Notation content is not listed in the enumeration facet. List content does not match length facet. List content does not match minLength facet. List content does not match maxLength facet. List content is not listed in the enumeration facet. List content does not match pattern facet. Union content is not listed in the enumeration facet. Union content does not match pattern facet. Data of type %1 are not allowed to be empty. Element %1 is missing child element. There is one IDREF value with no corresponding ID: %1. Loaded schema file is invalid. %1 contains invalid data. xsi:schemaLocation namespace %1 has already appeared earlier in the instance document. xsi:noNamespaceSchemaLocation cannot appear after the first no-namespace element or attribute. No schema defined for validation. No definition for element %1 available. Specified type %1 is not known to the schema. Element %1 is not defined in this scope. Declaration for element %1 does not exist. Element %1 contains invalid content. Element %1 is declared as abstract. Element %1 is not nillable. Attribute %1 contains invalid data: %2 Element contains content although it is nillable. Fixed value constraint not allowed if element is nillable. Specified type %1 is not validly substitutable with element type %2. Complex type %1 is not allowed to be abstract. Element %1 contains not allowed attributes. Element %1 contains not allowed child element. Content of element %1 does not match its type definition: %2. Content of element %1 does not match defined value constraint. Element %1 contains not allowed child content. Element %1 contains not allowed text content. Element %1 cannot contain other elements, as it has a fixed content. Element %1 is missing required attribute %2. Attribute %1 does not match the attribute wildcard. Declaration for attribute %1 does not exist. Element %1 contains two attributes of type %2. Attribute %1 contains invalid content. Element %1 contains unknown attribute %2. Content of attribute %1 does not match its type definition: %2. Content of attribute %1 does not match defined value constraint. Non-unique value found for constraint %1. Key constraint %1 contains absent fields. Key constraint %1 contains references nillable element %2. No referenced value found for key reference %1. More than one value found for field %1. Field %1 has no simple type. ID value '%1' is not unique. '%1' attribute contains invalid QName content: %2. ffDiaporama/locale/qt_it.qm0000777000175000001440000043062012275647345016151 0ustar dominiqueusersJѶ7p9E|EE %9%!֍9֍_֍b8֍f(50H0000 0|58  D DA+/,/,ɵnɵn˴ɵnɵn$ɵn*ɵnnɵnqX B?*&M< 'E~akEqL@ H^i8,*_pF5#QL%UT )(Ŏ*4-J-ctc-ct2F35vJ?t9A<C@CGCe?D"@6D1MDa;,aR?feee_%fP;ltWl2l2*oR\+orv̲ov̲pw^\xr|{yEcfG.V.W22x{'.Ai yH,T{MaUur0TSIQ & Yd $)[|-</=N@1$Q5~< Ѫ<3z>v?2 M_NkyI#Ui9e]C:`h)`/jt}lg7vlyzl}oi}vtydvty1_99?)Q6}76|6^eIBhлR>jTA=eqAcEE{Ӥ= 8A7τAGY[yCL)QtylnThj(0wo,smhM?MEeEn"wG'w~H IUڎF  k!e٧)M*/e+!,N;?4ByJF|O5Zf\c8`\cփ'g&4 zjCqtuu(f}ka:yK$Wi2(rK0u֊b n6o,?;yBω!I)Anf nL&HƆ&k/ IxS_KxMYMYMJh^OiUonsscw~x'2ۊb6N]]}] bI6{IGIHLI~Il}II@I(IpYiy$4DIP`uDuDDoa,1s,0,w ,,,]M>uC:m[,!>vɘe5$=x 4*fR;fR*~NWcSH*SPqV'VfR|1  L KP|8Ôbq*"o$i%CP&~)2}+P,R45a?"s?>uFuKN~K- lMyRU5vV|]]ʺg^ky^L{yMw?BD5t5tFv:7G%nvsnxص%fǥA|++`Kt4t{yM-F;1/xAerJ9\isO%_vću5UC^ƨ2:ƨ˾<ҝz:iէ?#z_ߺ=ft롥{`y^^!;: w zp$I~b~bro<MY9^*tz!'#m+u{+3o/T/do4~6 N<Ł? 2A`GGbMLAUOrPѧQvSn>UU6U UTZZ-ZeZ[w[]k*X_P_p_be;YiIim?$Wxy;r{c>{g}uG}w}}w}w}ZP lNPr'?Bvft<t\Yd$..3iUXP5T(Y~tWtts('_ aj+Fʢiʢ2$ƴ1djzdOd*Pd3d8059(эgw-+ENS2yUd}h0w% 9 ȓ nC+,D2B6z9:%Tu?;>CU]Gl"J0>K=KU|\\ arp"n8sp&?t=|(^|<|\[}wZ;}$.}$h}$~9yoϗg!Zg[~3VD^qK<^f+·c·O·̤׳c| Bk/REu6%5TXi~4Qb3i9%Ww#G%d '9=e=+=?ܰ?@TCtIcEfONPQsACV%V%jXU A`bDbGfd5gADhIisVi$(Wx1 [z*2F|QRd,UEzc.u4+C5seXrrXm^eMnFb †5siCʴ5ʴ5Eʶ?d^ W۔#^9AF5MF5BY8~pI9IAs6 j }$ qe ڤ ڥbm d8 E E' Ac?! Ac  35N t0 % GD  XQ  :  ҉U+ >s_ : ̧ n8 # u"4c  Y+@ KK  팤 %' 2p  q]  Dj& 6 }=6 9K o )S */ .> ; = BW H  J" K2^ Ty : T^ Uj4V ] `Ă `m `p bn c(`W cEZE d e:[ e ee{ e{ f1o f*aK g5U[o k,@ rD"G] t S 9B  IV I^4 I| ;C  t f j I& J $dD $ %p[? ,3L ,M [ N4+- tF `A  ȯ'> tI ˔ }p PW P| u ~tз  v"4 :a f 5k f H 4ǜ . 'Y s8c s AA 9 I Li LWy L Mc\J Sɧ VX ZN ]$g f)5 f) f=Y m`Oe w>A yr|T  H4 H Z $S .@ F iDZ <N B J@ b   %NH J8 J" t..U kϺ ӇJ  M_ H N>Յ /z ̺_ -Dd .Y ۷\ k k/ U)  <M d x J 0  :% z+!   > I ) % i G z xHl B  !pn .`] 2A >S >o >H > > > >- >?x >ɕ >Q ?t| DT0 G& I_ Mbt P@/ RV6 RV RVX S.m SG Sc Y Ya [׫ hۮ j7o m(r p` sL1 B= Tf T T+R T7 A ́ i 1G  J N ,& ,.p SN )d Tߧ փ .g# .ń . .&7 .- .n .r%    a , yM x.! s ɾd#A ɾd% Ӵ{  > %1 u |$ b!c F 9 a :b  ʜ^ fq= ftL f{,  $ #=hx (I$1 +>a 64; ;ɾ\ Fgg K9h Pt Ptg cv8 fe} fe gRg hQ$, iFC i iQ jӮV m9$ m9w u u v&< v{ w~ w w w}~ w} w}J  J ^ }= R( %7ʒ PC  xN U ɰeW] X; bF Y x D= +d t5 t5' |  )1 ORNwkqTZI*@gTZg*W*P/EY/E 4Qt"=BI_{OOS5XRua.a% gc i"MvɅCy?.$~%4:4SρNI^@QǗi:9DBVYظ Ӯ`mӮ`yӮ`z8rۨݖO"[yIr#Fw # 7 lDjw"#r$UA%4%4,--vv0i)01c r2wTDP]F74kHA JdK[{(c5c5g3[iCiTklp7yCQh{`U{~a6$4Y5/%&&Dy`F 7>bW܊N ET"~rYxr-1ȧkyCdU'T-r]BaPKBt2]r$_mqdYUxiChiudi scheda Close Tab CloseButtonErrore falso ! Fake error ! FakeReplyUrl non valido Invalid URL FakeReply$Informazioni su %1About %1MAC_APPLICATION_MENUNascondi %1Hide %1MAC_APPLICATION_MENUNascondi altri Hide OthersMAC_APPLICATION_MENUPreferenze...Preferences...MAC_APPLICATION_MENUEsci da %1Quit %1MAC_APPLICATION_MENUServiziServicesMAC_APPLICATION_MENUMostra tuttoShow AllMAC_APPLICATION_MENUAccessibilit AccessibilityPhonon::Comunicazioni CommunicationPhonon:: GiochiGamesPhonon:: MusicaMusicPhonon::Notifiche NotificationsPhonon:: VideoVideoPhonon::2<html>Cambio al dispositivo di riproduzione audio <b>%1</b><br/>che ha una preferenza maggiore o configurato specificatamente per questo stream.</html>Switching to the audio playback device %1
which has higher preference or is specifically configured for this stream.Phonon::AudioOutput<html>Cambio al dispositivo di riproduzione audio <b>%1</b><br/>che appena diventato disponibile e ha una preferenza pi alta.</html>xSwitching to the audio playback device %1
which just became available and has higher preference.Phonon::AudioOutput<html>Il dispositivo di riproduzione audio <b>%1</b> non funziona.<br/>Ripiego su <b>%2</b>.</html>^The audio playback device %1 does not work.
Falling back to %2.Phonon::AudioOutput6Ritorno al dispositivo '%1'Revert back to device '%1'Phonon::AudioOutputWarning: Non sono stati trovati i plugin di base GStreamer. Tutto il supporto audio e video stato disabilitato~Warning: You do not seem to have the base GStreamer plugins installed. All audio and video support has been disabledPhonon::Gstreamer::BackendWarning: Non stato trovato il pacchetto gstreamer0.10-plugins-good. Alcune opzioni video sono state disabilitate.Warning: You do not seem to have the package gstreamer0.10-plugins-good installed. Some video features have been disabled.Phonon::Gstreamer::BackendManca un codec richiesto. Installare il seguente codec per riprodurre questo contenuto: %0`A required codec is missing. You need to install the following codec(s) to play this content: %0Phonon::Gstreamer::MediaObjectNon possibile avviare la riproduzione. Controlla la tua installazione di GStreamer e verifica che il plugin libgstreamer sia installato.wCannot start playback. Check your GStreamer installation and make sure you have libgstreamer-plugins-base installed.Phonon::Gstreamer::MediaObject^Impossibile decodificare la sorgente del media.Could not decode media source.Phonon::Gstreamer::MediaObject\Impossibile localizzare la sorgente del media.Could not locate media source.Phonon::Gstreamer::MediaObjectImpossibile aprire il dispositivo audio. Il dispositivo gi in uso.:Could not open audio device. The device is already in use.Phonon::Gstreamer::MediaObjectRImpossibile aprire la sorgente del media.Could not open media source.Phonon::Gstreamer::MediaObject8Tipo di sorgente non valido.Invalid source type.Phonon::Gstreamer::MediaObjectTScript assistente codec di aiuto mancante.&Missing codec helper script assistant.Phonon::Gstreamer::MediaObjectvInstallazione del plugin per codec fallita per il codec: %0.Plugin codec installation failed for codec: %0Phonon::Gstreamer::MediaObjectAccesso negato Access denied Phonon::MMFEsiste giAlready exists Phonon::MMFUscita audio Audio Output Phonon::MMF^Impossibile riprodurre componenti audio o video-Audio or video components could not be played Phonon::MMF&Errore uscita audioAudio output error Phonon::MMF.Impossibile connettersiCould not connect Phonon::MMFErrore DRM DRM error Phonon::MMFErrore decoder Decoder error Phonon::MMFDisconnesso Disconnected Phonon::MMF In usoIn use Phonon::MMF&Banda insufficienteInsufficient bandwidth Phonon::MMFUrl non valido Invalid URL Phonon::MMF*Protocollo non validoInvalid protocol Phonon::MMF Errore multicastMulticast error Phonon::MMF>Errore di comunicazione di reteNetwork communication error Phonon::MMF(Rete non disponibileNetwork unavailable Phonon::MMFNessun erroreNo error Phonon::MMFNon trovato Not found Phonon::MMFNon pronto Not ready Phonon::MMFNon supportato Not supported Phonon::MMF*Memoria insufficiente Out of memory Phonon::MMFOverflowOverflow Phonon::MMF(Percorso non trovatoPath not found Phonon::MMFAccesso negatoPermission denied Phonon::MMF&Errore server proxyProxy server error Phonon::MMF6Server proxy non supportatoProxy server not supported Phonon::MMF"Avviso dal server Server alert Phonon::MMF0Streaming non supportatoStreaming not supported Phonon::MMF<Il dispositivo di uscita audioThe audio output device Phonon::MMFUnderflow Underflow Phonon::MMF.Errore sconosciuto (%1)Unknown error (%1) Phonon::MMF&Errore uscita videoVideo output error Phonon::MMF0Errore nell'apertura URLError opening URL Phonon::MMF::AbstractMediaPlayer2Errore nell'apertura fileError opening file Phonon::MMF::AbstractMediaPlayer8Errore nell'apertura risorsaError opening resource Phonon::MMF::AbstractMediaPlayerbErrore nell'apertura sorgente: risorsa non aperta)Error opening source: resource not opened Phonon::MMF::AbstractMediaPlayer0Caricamento clip fallitaLoading clip failed Phonon::MMF::AbstractMediaPlayer,Non pronto per avviareNot ready to play Phonon::MMF::AbstractMediaPlayer.Riproduzione completataPlayback complete Phonon::MMF::AbstractMediaPlayer6Impostazioni volume falliteSetting volume failed Phonon::MMF::AbstractMediaPlayerBImpossibile ottenere la posizioneGetting position failed Phonon::MMF::AbstractVideoPlayer@Impossibile aprire il clip videoOpening clip failed Phonon::MMF::AbstractVideoPlayer8Impossibile mettere in pausa Pause failed Phonon::MMF::AbstractVideoPlayerDImpossibile impostare la posizione Seek failed Phonon::MMF::AbstractVideoPlayer %1 Hz%1 HzPhonon::MMF::AudioEqualizerBImpossibile ottenere la posizioneGetting position failedPhonon::MMF::AudioPlayer8Errore visualizzazione videoVideo display errorPhonon::MMF::DsaVideoPlayerAbilitatoEnabledPhonon::MMF::EffectFactory6Decadimento rapporto HF (%)Decay HF ratio (%) Phonon::MMF::EnvironmentalReverb4Decadimento temporale (ms)Decay time (ms) Phonon::MMF::EnvironmentalReverbDensit (%) Density (%) Phonon::MMF::EnvironmentalReverbDiffusione (%) Diffusion (%) Phonon::MMF::EnvironmentalReverb0Ritardo riflessioni (ms)Reflections delay (ms) Phonon::MMF::EnvironmentalReverb0Riflessione livello (mb)Reflections level (mB) Phonon::MMF::EnvironmentalReverb,Ritardo riverbero (ms)Reverb delay (ms) Phonon::MMF::EnvironmentalReverb,Livello riverbero (mB)Reverb level (mB) Phonon::MMF::EnvironmentalReverb"Livello stanza HF Room HF level Phonon::MMF::EnvironmentalReverb&Livello stanza (mB)Room level (mB) Phonon::MMF::EnvironmentalReverbErrore apertura sorgente: impossibile determinare il tipo di media8Error opening source: media type could not be determinedPhonon::MMF::MediaObjectVErrore apertura sorgente: risorsa compressa,Error opening source: resource is compressedPhonon::MMF::MediaObjectXErrore apertura sorgente: risorsa non valida(Error opening source: resource not validPhonon::MMF::MediaObjectZErrore apertura sorgente: tipo non supportato(Error opening source: type not supportedPhonon::MMF::MediaObjectLivello (%) Level (%)Phonon::MMF::StereoWidening8Errore visualizzazione videoVideo display errorPhonon::MMF::SurfaceVideoPlayerMutoMutedPhonon::VolumeSliderUsa questa controllo per regolare il volume. La posizione pi a sinistra 0%, quella pi a destra %1%WUse this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1%Phonon::VolumeSliderVolume: %1% Volume: %1%Phonon::VolumeSlider&%1, %2 non definito%1, %2 not definedQ3Accel,%1 ambiguo non gestitoAmbiguous %1 not handledQ3AccelEliminaDelete Q3DataTable FalsoFalse Q3DataTableInserisciInsert Q3DataTableVeroTrue Q3DataTableAggiornaUpdate Q3DataTable%1 Impossibile trovare il file Controllare il nome del file e riprovare.+%1 File not found. Check path and filename. Q3FileDialog&Elimina&Delete Q3FileDialog&No&No Q3FileDialog&OK&OK Q3FileDialog &Apri&Open Q3FileDialog&Rinomina&Rename Q3FileDialog &Salva&Save Q3FileDialog&Non ordinare &Unsorted Q3FileDialog&S&Yes Q3FileDialog6<qt>Eliminare %1 "%2"?</qt>1Are you sure you wish to delete %1 "%2"? Q3FileDialogTutti i file(*) All Files (*) Q3FileDialog"Tutti i file(*.*)All Files (*.*) Q3FileDialogAttributi Attributes Q3FileDialogIndietroBack Q3FileDialogAnnullaCancel Q3FileDialog,Copia o sposta un fileCopy or Move a File Q3FileDialog.Crea una nuova cartellaCreate New Folder Q3FileDialogDataDate Q3FileDialogElimina %1 Delete %1 Q3FileDialog&Visualizza dettagli Detail View Q3FileDialogDirectoryDir Q3FileDialogDirectory Directories Q3FileDialogDirectory: Directory: Q3FileDialog ErroreError Q3FileDialogFileFile Q3FileDialog&Nome file: File &name: Q3FileDialog&Tipo file: File &type: Q3FileDialogTrova directoryFind Directory Q3FileDialogNon accessibile Inaccessible Q3FileDialog"Visualizza elenco List View Q3FileDialogCerca &in: Look &in: Q3FileDialogNomeName Q3FileDialogNuova cartella New Folder Q3FileDialog$Nuova cartella: %1 New Folder %1 Q3FileDialog Nuova cartella 1 New Folder 1 Q3FileDialog&Directory superioreOne directory up Q3FileDialogApriOpen Q3FileDialogApriOpen  Q3FileDialog0Anteprima contenuto filePreview File Contents Q3FileDialog6Anteprima informazioni filePreview File Info Q3FileDialogR&icaricaR&eload Q3FileDialogSola lettura Read-only Q3FileDialog"Lettura-scrittura Read-write Q3FileDialogLettura: %1Read: %1 Q3FileDialogSalva comeSave As Q3FileDialog2Selezionare una directorySelect a Directory Q3FileDialog*Mostra file &nascostiShow &hidden files Q3FileDialogDimensioniSize Q3FileDialog OrdinaSort Q3FileDialog Ordina per &data Sort by &Date Q3FileDialog Ordina per &nome Sort by &Name Q3FileDialog,Ordina per dimen&sioni Sort by &Size Q3FileDialogFile SpecialeSpecial Q3FileDialogDCollegamento simbolico a directorySymlink to Directory Q3FileDialog:Collegamento simbolico a fileSymlink to File Q3FileDialogLCollegamento simbolico a file specialeSymlink to Special Q3FileDialogTipoType Q3FileDialogSola scrittura Write-only Q3FileDialogScrittura: %1 Write: %1 Q3FileDialogla directory the directory Q3FileDialogil filethe file Q3FileDialog2il collegamento simbolico the symlink Q3FileDialogDImpossibile creare la directory %1Could not create directory %1 Q3LocalFs*Impossibile aprire %1Could not open %1 Q3LocalFsFImpossibile leggere la directory %1Could not read directory %1 Q3LocalFs^Impossibile rimuovere il file o la directory %1%Could not remove file or directory %1 Q3LocalFs>Impossibile rinominare %1 in %2Could not rename %1 to %2 Q3LocalFs.Impossibile scrivere %1Could not write %1 Q3LocalFsPersonalizza & Customize... Q3MainWindowAllineaLine up Q3MainWindow@Operazione terminata dall'utenteOperation stopped by the userQ3NetworkProtocolAnnullaCancelQ3ProgressDialogApplicaApply Q3TabDialogAnnullaCancel Q3TabDialogPredefinitiDefaults Q3TabDialog GuidaHelp Q3TabDialogOKOK Q3TabDialog &Copia&Copy Q3TextEdit&Incolla&Paste Q3TextEdit&Ripeti&Redo Q3TextEdit&Annulla&Undo Q3TextEditPulisciClear Q3TextEdit&TagliaCu&t Q3TextEditSeleziona tutto Select All Q3TextEdit ChiudiClose Q3TitleBar$Chiude la finestraCloses the window Q3TitleBarVContiene comandi per manipolare la finestra*Contains commands to manipulate the window Q3TitleBarMostra il nome della finestra e contiene controlli per manipolarlaFDisplays the name of the window and contains controls to manipulate it Q3TitleBarHImposta la finestra a schermo interoMakes the window full screen Q3TitleBarIngrandisciMaximize Q3TitleBarRiduci a iconaMinimize Q3TitleBar$Sposta la finestraMoves the window out of the way Q3TitleBarDRipristina una finestra ingrandita&Puts a maximized window back to normal Q3TitleBarNRipristina una finestra ridotta a icona&Puts a minimized window back to normal Q3TitleBar&Ripristina in basso Restore down Q3TitleBar$Ripristina in alto Restore up Q3TitleBarSistemaSystem Q3TitleBarAncora &More... Q3ToolBar(sconosciuto) (unknown) Q3UrlOperatorIl protocollo '%1' non supporta la la copia o lo spostamento di file o directoryIThe protocol `%1' does not support copying or moving files or directories Q3UrlOperator~Il protocollo '%1' non supporta la creazione di nuove directory;The protocol `%1' does not support creating new directories Q3UrlOperatorpIl protocollo '%1' non supporta lo scaricamento dei file0The protocol `%1' does not support getting files Q3UrlOperatorpIl protocollo '%1' non supporta l'elenco delle directory6The protocol `%1' does not support listing directories Q3UrlOperatornIl protocollo '%1' non supporta il caricamento dei file0The protocol `%1' does not support putting files Q3UrlOperatorIl protocollo '%1' non supporta la rimozione di file o directory@The protocol `%1' does not support removing files or directories Q3UrlOperatorIl protocollo '%1' non supporta la rinominazione di file o directory@The protocol `%1' does not support renaming files or directories Q3UrlOperatorFIl protocollo '%1' non supportato"The protocol `%1' is not supported Q3UrlOperator&Annulla&CancelQ3Wizard&Finisci&FinishQ3Wizard &Guida&HelpQ3Wizard&Successivo >&Next >Q3Wizard< &Indietro< &BackQ3Wizard*Connessione rifiutataConnection refusedQAbstractSocket>Connessione fuori tempo massimoConnection timed outQAbstractSocket Host non trovatoHost not foundQAbstractSocket(Rete irraggiungibileNetwork unreachableQAbstractSocketFOperazione su socket non supportata$Operation on socket is not supportedQAbstractSocket&Socket non connessoSocket is not connectedQAbstractSocketJOperazione socket fuori tempo massimoSocket operation timed outQAbstractSocket &Seleziona tutto &Select AllQAbstractSpinBox&Aumenta&Step upQAbstractSpinBox&Diminuisci Step &downQAbstractSpinBox PremiPressQAccessibleButton AttivaActivate QApplicationVAttiva la finestra principale del programma#Activates the program's main window QApplication`L'eseguibile '%1' richiede Qt %2, trovata Qt %3.,Executable '%1' requires Qt %2, found Qt %3. QApplicationJErrore di libreria Qt non compatibileIncompatible Qt Library Error QApplicationLTRQT_LAYOUT_DIRECTION QApplication&Annulla&Cancel QAxSelect&Oggetto COM: COM &Object: QAxSelectOKOK QAxSelect<Seleziona il controllo ActiveXSelect ActiveX Control QAxSelectSelezionaCheck QCheckBoxInvertiToggle QCheckBoxDeselezionaUncheck QCheckBoxD&Aggiungi ai colori personalizzati&Add to Custom Colors QColorDialogColori di &base &Basic colors QColorDialog,Colori &personalizzati&Custom colors QColorDialog&Verde:&Green: QColorDialog&Rosso:&Red: QColorDialog&Saturazione:&Sat: QColorDialog&Luminosit:&Val: QColorDialogCana&le Alfa:A&lpha channel: QColorDialog Bl&u:Bl&ue: QColorDialog&Tonalit:Hu&e: QColorDialog Seleziona colore Select Color QColorDialog ChiudiClose QComboBox FalsoFalse QComboBoxApriOpen QComboBoxVeroTrue QComboBox%1: esiste gi%1: already existsQCoreApplication%1: non esiste%1: does not existQCoreApplication %1: ftok fallito%1: ftok failedQCoreApplication %1: chiave vuota%1: key is emptyQCoreApplication2%1: risorse insufficienti%1: out of resourcesQCoreApplication@%1: impossibile creare la chiave%1: unable to make keyQCoreApplication2%1: errore sconosciuto %2%1: unknown error %2QCoreApplicationLImpossibile convalidare la transazioneUnable to commit transaction QDB2Driver.Impossibile connettersiUnable to connect QDB2DriverHImpossibile annullare la transazioneUnable to rollback transaction QDB2DriverJImpossibile impostare l'autoconvalidaUnable to set autocommit QDB2DriverDImpossibile associare la variabileUnable to bind variable QDB2Result>Impossibile eseguire il comandoUnable to execute statement QDB2Result:Impossibile ottenere il primoUnable to fetch first QDB2ResultDImpossibile ottenere il successivoUnable to fetch next QDB2ResultBImpossibile ottenere il record %1Unable to fetch record %1 QDB2Result@Impossibile preparare il comandoUnable to prepare statement QDB2ResultAMAM QDateTimeEditPMPM QDateTimeEditamam QDateTimeEditpmpm QDateTimeEdit>Animation una classe astrattaAnimation is an abstract classQDeclarativeAbstractAnimationfImpossibile animare la propriet non esistente "%1")Cannot animate non-existent property "%1"QDeclarativeAbstractAnimationjImpossibile animare la propriet di sola lettura "%1"&Cannot animate read-only property "%1"QDeclarativeAbstractAnimationRImpossibile impostare una durata negativaCannot set a duration of < 0QDeclarativeAnchorAnimationbQt stato compilato senza il supporto per QMovie'Qt was built without support for QMovieQDeclarativeAnimatedImagetImpossibile cambiare l'animazione assegnata a un Behavior.3Cannot change the animation assigned to a Behavior.QDeclarativeBehaviorfRilevato collegamento ciclico per la propriet "%1"'Binding loop detected for property "%1"QDeclarativeBindingfRilevato collegamento ciclico per la propriet "%1"'Binding loop detected for property "%1"QDeclarativeCompiledBindingsnImpossibile assegnare ad una propriet inesistente "%1"+Cannot assign to non-existent property "%1"QDeclarativeCompiler(URL vuoto non validoInvalid empty URLQDeclarativeComponent %1 %2%1 %2 QDeclarativeCompositeTypeManagerVImpossibile usare il namespace %1 come tipo%Namespace %1 cannot be used as a type QDeclarativeCompositeTypeManager4Risorsa %1 non disponibileResource %1 unavailable QDeclarativeCompositeTypeManager.Tipo %1 non disponibileType %1 unavailable QDeclarativeCompositeTypeManagernImpossibile assegnare ad una propriet inesistente "%1"+Cannot assign to non-existent property "%1"QDeclarativeConnectionsXConnessioni: oggetti nidificati non permessi'Connections: nested objects not allowedQDeclarativeConnections4Connessioni: atteso scriptConnections: script expectedQDeclarativeConnections>Connessioni: errore di sintassiConnections: syntax errorQDeclarativeConnections6Transazione in sola letturaRead-only TransactionQDeclarativeEngine.Transazione SQL fallitaSQL transaction failedQDeclarativeEngine:SQL: versione database errataSQL: database version mismatchQDeclarativeEngineLVersione errata: attesa %1, trovata %2'Version mismatch: expected %1, found %2QDeclarativeEnginepexecuteSql stato chiamato al di fuori di transaction()'executeSql called outside transaction()QDeclarativeEngine<transazione: callback mancantetransaction: missing callbackQDeclarativeEngineRImpossibile impostare una durata negativaCannot set a duration of < 0QDeclarativePauseAnimationRImpossibile impostare una durata negativaCannot set a duration of < 0QDeclarativePropertyAnimationnImpossibile assegnare ad una propriet inesistente "%1"+Cannot assign to non-existent property "%1"QDeclarativePropertyChanges QDialQDialQDialManopola SliderHandleQDialTachimetro SpeedoMeterQDial FattoDoneQDialogCosa questo? What's This?QDialog&Annulla&CancelQDialogButtonBox&Chiudi&CloseQDialogButtonBox&No&NoQDialogButtonBox&OK&OKQDialogButtonBox &Salva&SaveQDialogButtonBox&S&YesQDialogButtonBoxInterrompiAbortQDialogButtonBoxApplicaApplyQDialogButtonBoxAnnullaCancelQDialogButtonBox ChiudiCloseQDialogButtonBox(Chiudi senza salvareClose without SavingQDialogButtonBox ScartaDiscardQDialogButtonBoxNon salvare Don't SaveQDialogButtonBox GuidaHelpQDialogButtonBox IgnoraIgnoreQDialogButtonBoxN&o a tutti N&o to AllQDialogButtonBoxOKOKQDialogButtonBoxApriOpenQDialogButtonBoxReimpostaResetQDialogButtonBox,Ripristina predefinitiRestore DefaultsQDialogButtonBoxRiprovaRetryQDialogButtonBox SalvaSaveQDialogButtonBoxSalva tuttoSave AllQDialogButtonBoxS a &tutti Yes to &AllQDialogButtonBox(Data ultima modifica Date Modified QDirModelTipoKind QDirModelNomeName QDirModelDimensioniSize QDirModelTipoType QDirModel ChiudiClose QDockWidgetAggangiaDock QDockWidgetSganciaFloat QDockWidgetDiminuisciLessQDoubleSpinBoxAumentaMoreQDoubleSpinBox&OK&OK QErrorMessage>&Mostra ancora questo messaggio&Show this message again QErrorMessage Debug:Debug Message: QErrorMessageErrore fatale: Fatal Error: QErrorMessageWarning:Warning: QErrorMessageLImpossibile creare %1 per la scritturaCannot create %1 for outputQFileHImpossibile aprire %1 per la letturaCannot open %1 for inputQFileFImpossibile aprire per la scritturaCannot open for outputQFileLImpossibile rimuovere il file sorgenteCannot remove source fileQFile<Il file di destinazione esisteDestination file existsQFile<Impossibile scrivere il bloccoFailure to write blockQFilezNon rinomineremo la sequenza file utilizzando la copia blocco0Will not rename sequential file using block copyQFile%1 Impossibile trovare la directory. Controllare il nome della directory e riprovare.K%1 Directory not found. Please verify the correct directory name was given. QFileDialog%1 Impossibile trovare il file Controllare il nome del file e riprovare.A%1 File not found. Please verify the correct file name was given. QFileDialog6%1 esiste gi. Sostituirlo?-%1 already exists. Do you want to replace it? QFileDialogS&cegli&Choose QFileDialog&Elimina&Delete QFileDialog&Nuova cartella &New Folder QFileDialog &Apri&Open QFileDialog&Rinomina&Rename QFileDialog &Salva&Save QFileDialogZ'%1' in sola lettura. Eliminarlo lo stesso?9'%1' is write protected. Do you want to delete it anyway? QFileDialog AliasAlias QFileDialogTutti i file(*) All Files (*) QFileDialog"Tutti i file(*.*)All Files (*.*) QFileDialogEliminare '%1'?!Are sure you want to delete '%1'? QFileDialogIndietroBack QFileDialog8Modalit visualizza dettagliChange to detail view mode QFileDialog2Modalit visualizza listaChange to list view mode QFileDialogFImpossibile eliminare la directory.Could not delete directory. QFileDialog.Crea una nuova cartellaCreate New Folder QFileDialog.Crea una nuova cartellaCreate a New Folder QFileDialog&Visualizza dettagli Detail View QFileDialogDirectory Directories QFileDialogDirectory: Directory: QFileDialog UnitDrive QFileDialogFileFile QFileDialog&Nome file: File &name: QFileDialogFile cartella File Folder QFileDialogFile del tipo:Files of type: QFileDialogTrova directoryFind Directory QFileDialogCartellaFolder QFileDialog AvantiForward QFileDialogIndietroGo back QFileDialog Avanti Go forward QFileDialog&Directory superioreGo to the parent directory QFileDialog"Visualizza elenco List View QFileDialogCerca in:Look in: QFileDialog(Risorse del computer My Computer QFileDialogNuova cartella New Folder QFileDialogApriOpen QFileDialog&Directory superioreParent Directory QFileDialog"Posizioni recenti Recent Places QFileDialogRimuoviRemove QFileDialogSalva comeSave As QFileDialogScorciatoiaShortcut QFileDialog MostraShow  QFileDialog*Mostra file &nascostiShow &hidden files QFileDialogSconosciutoUnknown QFileDialog %1 GiB%1 GBQFileSystemModel %1 KiB%1 KBQFileSystemModel %1 MiB%1 MBQFileSystemModel %1 TiB%1 TBQFileSystemModel%1 byte %1 byte(s)QFileSystemModel%1 byte%1 bytesQFileSystemModel<b>Impossibile utilizzare il nome "%1".</b><p>Selezionare un altro nome, con meno caratteri o senza segni di punteggiatura.oThe name "%1" can not be used.

Try using another name, with fewer characters or no punctuations marks.QFileSystemModelComputerComputerQFileSystemModel(Data ultima modifica Date ModifiedQFileSystemModel(Nome file non validoInvalid filenameQFileSystemModelTipoKindQFileSystemModel(Risorse del computer My ComputerQFileSystemModelNomeNameQFileSystemModelDimensioniSizeQFileSystemModelTipoTypeQFileSystemModelQualunqueAny QFontDatabase AraboArabic QFontDatabase ArmenoArmenian QFontDatabaseBengaliBengali QFontDatabaseNeroBlack QFontDatabaseGrassettoBold QFontDatabaseCirillicoCyrillic QFontDatabasePesanteDemi QFontDatabase"Grassetto pesante Demi Bold QFontDatabaseDevanagari Devanagari QFontDatabaseGeorgianoGeorgian QFontDatabase GrecoGreek QFontDatabaseGujaratiGujarati QFontDatabaseGurmukhiGurmukhi QFontDatabaseEbraicoHebrew QFontDatabaseItalicoItalic QFontDatabaseGiapponeseJapanese QFontDatabaseKannadaKannada QFontDatabase KhmerKhmer QFontDatabaseKoreanoKorean QFontDatabaseLaoLao QFontDatabase LatinoLatin QFontDatabaseLeggeroLight QFontDatabaseMalayalam Malayalam QFontDatabaseMyanmarMyanmar QFontDatabaseN'KoN'Ko QFontDatabaseNormaleNormal QFontDatabaseObliquoOblique QFontDatabase OghamOgham QFontDatabase OriyaOriya QFontDatabase RunicoRunic QFontDatabase&Cinese semplificatoSimplified Chinese QFontDatabaseSinhalaSinhala QFontDatabaseSimboliSymbol QFontDatabaseSirianoSyriac QFontDatabase TamilTamil QFontDatabase TeluguTelugu QFontDatabase ThaanaThaana QFontDatabaseTailandeseThai QFontDatabaseTibetanoTibetan QFontDatabase&Cinese tradizionaleTraditional Chinese QFontDatabaseVietnamita Vietnamese QFontDatabase&Carattere&Font QFontDialogDimen&sioni&Size QFontDialogSo&ttolineato &Underline QFontDialogEffettiEffects QFontDialog St&ile carattere Font st&yle QFontDialogEsempioSample QFontDialog&Seleziona carattere Select Font QFontDialogBa&rrato Stri&keout QFontDialog*Sist&ema di scritturaWr&iting System QFontDialog8Cambio directory fallito: %1Changing directory failed: %1QFtp(Connessione all'hostConnected to hostQFtp.Connessione all'host %1Connected to host %1QFtp@Connessione all'host fallita: %1Connecting to host failed: %1QFtp$Connessione chiusaConnection closedQFtpZConnessione rifiutata per la connessione dati&Connection refused for data connectionQFtpBConnessione all'host %1 rifiutataConnection refused to host %1QFtpVConnessione all'host %1 fuori tempo massimoConnection timed out to host %1QFtp.Connessione a %1 chiusaConnection to %1 closedQFtp>Creazione directory fallita: %1Creating directory failed: %1QFtp:Scaricamento file fallito: %1Downloading file failed: %1QFtpHost %1 trovato Host %1 foundQFtp&Host %1 non trovatoHost %1 not foundQFtpHost trovato Host foundQFtp8Elenco directory fallito: %1Listing directory failed: %1QFtp"Login fallito: %1Login failed: %1QFtpNon connesso Not connectedQFtp>Rimozione directory fallita: %1Removing directory failed: %1QFtp4Rimozione file fallita: %1Removing file failed: %1QFtp$Errore sconosciuto Unknown errorQFtp8Caricamento file fallito: %1Uploading file failed: %1QFtp8Nessun nome host specificatoNo host name given QHostInfo$Errore sconosciuto Unknown error QHostInfo Host non trovatoHost not foundQHostInfoAgent(Nome host non validoInvalid hostnameQHostInfoAgent8Nessun nome host specificatoNo host name givenQHostInfoAgent:Tipo di indirizzo sconosciutoUnknown address typeQHostInfoAgent$Errore sconosciuto Unknown errorQHostInfoAgent0Autenticazione richiestaAuthentication requiredQHttp"Connesso all'hostConnected to hostQHttp(Connesso all'host %1Connected to host %1QHttp$Connessione chiusaConnection closedQHttp*Connessione rifiutataConnection refusedQHttpZConnessione rifiutata (o fuori tempo massimo)!Connection refused (or timed out)QHttp.Connessione a %1 chiusaConnection to %1 closedQHttpDati corrottiData corruptedQHttphErrore nella scrittura della risposta al dispositivo Error writing response to deviceQHttp,Richiesta HTTP fallitaHTTP request failedQHttptRichiesta connessione HTTPS, ma supporto SSL non compilato:HTTPS connection requested but SSL support not compiled inQHttpHost %1 trovato Host %1 foundQHttp&Host %1 non trovatoHost %1 not foundQHttpHost trovato Host foundQHttp@L'host richiede l'autenticazioneHost requires authenticationQHttpHParte della risposta HTTP non validaInvalid HTTP chunked bodyQHttpDHeader di risposta HTTP non validoInvalid HTTP response headerQHttpRNessun server impostato a cui connettersiNo server set to connect toQHttp<Richiesta autenticazione proxyProxy authentication requiredQHttpDIl proxy richiede l'autenticazioneProxy requires authenticationQHttp(Richiesta interrottaRequest abortedQHttp8Inizializzazione SSL fallitaSSL handshake failedQHttpDIl server ha chiuso la connessione%Server closed connection unexpectedlyQHttpHMetodo di autenticazione sconosciutoUnknown authentication methodQHttp$Errore sconosciuto Unknown errorQHttpDProtocollo specificato sconosciutoUnknown protocol specifiedQHttp>Dimensioni del contenuto errateWrong content lengthQHttp0Autenticazione richiestaAuthentication requiredQHttpSocketEnginePNessuna risposta HTTP ricevuta dal proxy(Did not receive HTTP response from proxyQHttpSocketEngineXErrore nella comunicazione con il proxy HTTP#Error communicating with HTTP proxyQHttpSocketEngine~Errore nell'analisi della richiesta di autenticazione dal proxy/Error parsing authentication request from proxyQHttpSocketEnginedIl proxy ha chiuso la connessione inaspettatamente#Proxy connection closed prematurelyQHttpSocketEngine<Connessione al proxy rifiutataProxy connection refusedQHttpSocketEngineBIl proxy ha negato la connessioneProxy denied connectionQHttpSocketEnginePConnessione al proxy fuori tempo massimo!Proxy server connection timed outQHttpSocketEngine0Server proxy non trovatoProxy server not foundQHttpSocketEngineFImpossibile iniziare la transazioneCould not start transaction QIBaseDriverBErrore nell'apertura del databaseError opening database QIBaseDriverLImpossibile convalidare la transazioneUnable to commit transaction QIBaseDriverHImpossibile annullare la transazioneUnable to rollback transaction QIBaseDriver>Impossibile allocare il comandoCould not allocate statement QIBaseResultTImpossibile descrivere il comando di input"Could not describe input statement QIBaseResultBImpossibile descrivere il comandoCould not describe statement QIBaseResultRImpossibile ottenere il prossimo elementoCould not fetch next item QIBaseResult6Impossibile trovare l'arrayCould not find array QIBaseResultHImpossibile ottenere dati dall'arrayCould not get array data QIBaseResultZImpossibile ottenere informazioni sulla queryCould not get query info QIBaseResultZImpossibile ottenere informazioni sul comandoCould not get statement info QIBaseResult@Impossibile preparare il comandoCould not prepare statement QIBaseResultFImpossibile iniziare la transazioneCould not start transaction QIBaseResult>Impossibile chiudere il comandoUnable to close statement QIBaseResultLImpossibile convalidare la transazioneUnable to commit transaction QIBaseResult4Impossibile creare il BLOBUnable to create BLOB QIBaseResult:Impossibile eseguire la queryUnable to execute query QIBaseResult4Impossibile aprire il BLOBUnable to open BLOB QIBaseResult6Impossibile leggere il BLOBUnable to read BLOB QIBaseResult8Impossibile scrivere il BLOBUnable to write BLOB QIBaseResult:Spazio su disco insufficienteNo space left on device QIODevice8File o directory non trovatoNo such file or directory QIODeviceAccesso negatoPermission denied QIODevice$Troppi file apertiToo many open files QIODevice$Errore sconosciuto Unknown error QIODeviceFEPFEP QInputContext0Metodo di input Mac OS XMac OS X input method QInputContext.Metodo di input S60 FEPS60 FEP input method QInputContext.Metodo di input WindowsWindows input method QInputContextXIMXIM QInputContext&Metodo di input XIMXIM input method QInputContext(Inserisci un valore:Enter a value: QInputDialogNImpossibile caricare la libreria %1: %2Cannot load library %1: %2QLibrary^Impossibile risolvere il simbolo "%1" in %2: %3$Cannot resolve symbol "%1" in %2: %3QLibraryPImpossibile scaricare la libreria %1: %2Cannot unload library %1: %2QLibraryDImpossibile eseguire mmap '%1': %2Could not mmap '%1': %2QLibraryFImpossibile eseguire unmap '%1': %2Could not unmap '%1': %2QLibraryFVerifica dati plugin errata in '%1')Plugin verification data mismatch in '%1'QLibraryNIl file '%1' non un plugin Qt valido.'The file '%1' is not a valid Qt plugin.QLibraryIl plugin '%1' usa una libreria Qt non compatibile. (%2.%3.%4) [%5]=The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5]QLibraryIl plugin '%1' usa una libreria Qt non compatibile. (Impossibile mescolare librerie di rilascio e debug.)WThe plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.)QLibraryIl plugin '%1' usa una libreria Qt non compatibile. Attesa build key "%2", presente "%3"OThe plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3"QLibraryTImpossibile trovare la libreria condivisa.!The shared library was not found.QLibrary$Errore sconosciuto Unknown errorQLibrary &Copia&Copy QLineEdit&Incolla&Paste QLineEdit&Ripeti&Redo QLineEdit&Annulla&Undo QLineEdit&TagliaCu&t QLineEditEliminaDelete QLineEditSeleziona tutto Select All QLineEdit(%1: Indirizzo in uso%1: Address in use QLocalServer$%1: Errore di nome%1: Name error QLocalServer$%1: Accesso negato%1: Permission denied QLocalServer2%1: Errore sconosciuto %2%1: Unknown error %2 QLocalServer2%1: Errore di connessione%1: Connection error QLocalSocket2%1: Connessione rifiutata%1: Connection refused QLocalSocketP%1: Datagramma troppo grande per l'invio%1: Datagram too large QLocalSocket&%1: Nome non valido%1: Invalid name QLocalSocket:%1: Connessione remota chiusa%1: Remote closed QLocalSocket>%1: Errore di accesso al socket%1: Socket access error QLocalSocketR%1: Operazione socket fuori tempo massimo%1: Socket operation timed out QLocalSocket8%1: Errore di risorsa socket%1: Socket resource error QLocalSocketN%1: Operazione su socket non supportata)%1: The socket operation is not supported QLocalSocket,%1: Errore sconosciuto%1: Unknown error QLocalSocket2%1: Errore sconosciuto %2%1: Unknown error %2 QLocalSocketFImpossibile iniziare la transazioneUnable to begin transaction QMYSQLDriverLImpossibile convalidare la transazioneUnable to commit transaction QMYSQLDriver.Impossibile connettersiUnable to connect QMYSQLDriver@Impossibile aprire il database 'Unable to open database ' QMYSQLDriverHImpossibile annullare la transazioneUnable to rollback transaction QMYSQLDriverPImpossibile associare i valori in uscitaUnable to bind outvalues QMYSQLResult>Impossibile associare il valoreUnable to bind value QMYSQLResultLImpossibile eseguire la prossima queryUnable to execute next query QMYSQLResult:Impossibile eseguire la queryUnable to execute query QMYSQLResult>Impossibile eseguire il comandoUnable to execute statement QMYSQLResult6Impossibile ottenere i datiUnable to fetch data QMYSQLResult@Impossibile preparare il comandoUnable to prepare statement QMYSQLResultDImpossibile reimpostare il comandoUnable to reset statement QMYSQLResultZImpossibile memorizzare il prossimo risultatoUnable to store next result QMYSQLResultFImpossibile memorizzare i risultatiUnable to store result QMYSQLResult^Impossibile memorizzare i risultati del comando!Unable to store statement results QMYSQLResult(Senza titolo) (Untitled)QMdiArea%1 - [%2] %1 - [%2] QMdiSubWindow&Chiudi&Close QMdiSubWindow&Sposta&Move QMdiSubWindow&Ripristina&Restore QMdiSubWindowRi&dimensiona&Size QMdiSubWindow - [%1]- [%1] QMdiSubWindow ChiudiClose QMdiSubWindow GuidaHelp QMdiSubWindowIngra&ndisci Ma&ximize QMdiSubWindowIngrandisceMaximize QMdiSubWindowMenuMenu QMdiSubWindowR&iduci a icona Mi&nimize QMdiSubWindowRiduce a iconaMinimize QMdiSubWindowRipristinaRestore QMdiSubWindow&Ripristina in basso Restore Down QMdiSubWindowArrotolaShade QMdiSubWindow,Sempre in &primo piano Stay on &Top QMdiSubWindowSrotolaUnshade QMdiSubWindow ChiudiCloseQMenu EseguiExecuteQMenuApriOpenQMenu AzioniActionsQMenuBar<h3>Informazioni su Qt</h3><p>Questo programma usa Qt versione %1.</p>8

About Qt

This program uses Qt version %1.

 QMessageBox <p>Qt un toolkit C++ per lo sviluppo di applicazioni multipiattaforma.</p> <p>Qt garantisce portabilit con un unico sorgente tra MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, e tutte le maggiori varianti commerciali di Unix. Qt anche disponibile per dispositivi embedded con Qt per Embedded Linux e Qt per Windows CE.</p> <p>Qt disponibile sotto tre diverse opzioni di licenza pensate per venire incontro alle esigenze di tutti i nostri utenti.</p> <p>Il nostro accordo di licenza commerciale adatto per lo sviluppo di software proprietario/commerciale, nel caso non si voglia condividere codice sorgente con terze parti senza rispettare i termini della licenza GNU LGPL versione 2.1 o GNU GPL versione 3.0.</p> <p>La licenza GNU LGPL version 2.1 adatta per lo sviluppo di applicazioni Qt (proprietarie od open source) nel caso si possano rispettare i termini della licenza GNU LGPL versione 2.1.</p> <p>La licenza GNU General Public License versione 3.0 adatta per lo sviluppo di applicazioni nel caso sia necessario rispettare i termini della licenza GNU GPL versione 3.0. <p>Vedere <a href="http://qt.nokia.com/products/licensing">qt.nokia.com/products/licensing</a> per una panoramica sulle opzioni di licenza Qt.</p> <p>Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).</p> <p>Qt un prodotto Nokia. Vedere <a href="http://qt.nokia.com/">qt.nokia.com</a> per maggiori informazioni.</p>

Qt is a C++ toolkit for cross-platform application development.

Qt provides single-source portability across MS Windows, Mac OS X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.

Qt is available under three different licensing options designed to accommodate the needs of our various users.

Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.

Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.

Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.

Please see qt.nokia.com/products/licensing for an overview of Qt licensing.

Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).

Qt is a Nokia product. See qt.nokia.com for more information.

 QMessageBox$Informazioni su QtAbout Qt QMessageBox GuidaHelp QMessageBox$Nascondi dettagli &Hide Details... QMessageBoxOKOK QMessageBox Mostra dettagli &Show Details... QMessageBox Selezionare l'IM Select IMQMultiInputContextPCommutatore per metodi di input multipliMultiple input method switcherQMultiInputContextPluginCommutatore per metodi di input multipli che usa il menu contestuale dei controlli di testoMMultiple input method switcher that uses the context menu of the text widgetsQMultiInputContextPluginfUn altro socket gi in ascolto sulla stessa porta4Another socket is already listening on the same portQNativeSocketEngineTentativo di utilizzare IPv6 su una piattaforma che non lo supporta=Attempt to use IPv6 socket on a platform with no IPv6 supportQNativeSocketEngine*Connessione rifiutataConnection refusedQNativeSocketEngine>Connessione fuori tempo massimoConnection timed outQNativeSocketEngineHDatagramma troppo grande per l'invioDatagram was too large to sendQNativeSocketEngine(Host irraggiungibileHost unreachableQNativeSocketEngine:Descrittore socket non validoInvalid socket descriptorQNativeSocketEngineErrore di rete Network errorQNativeSocketEngineLOperazione di rete fuori tempo massimoNetwork operation timed outQNativeSocketEngine(Rete irraggiungibileNetwork unreachableQNativeSocketEngine6Operazione su un non socketOperation on non-socketQNativeSocketEngine*Risorse insufficientiOut of resourcesQNativeSocketEngineAccesso negatoPermission deniedQNativeSocketEngineBTipo di protocollo non supportatoProtocol type not supportedQNativeSocketEngine:L'indirizzo non disponibileThe address is not availableQNativeSocketEngine,L'indirizzo protettoThe address is protectedQNativeSocketEngineFL'indirizzo scelto gi utilizzato#The bound address is already in useQNativeSocketEngineZTipo di proxy non valido per quest'operazione,The proxy type is invalid for this operationQNativeSocketEngineLL'host remoto ha chiuso la connessione%The remote host closed the connectionQNativeSocketEngineZImpossibile inizializzare un socket broadcast%Unable to initialize broadcast socketQNativeSocketEnginebImpossibile inizializzare un socket non bloccante(Unable to initialize non-blocking socketQNativeSocketEngineBImpossibile ricevere un messaggioUnable to receive a messageQNativeSocketEngine@Impossibile inviare un messaggioUnable to send a messageQNativeSocketEngine(Impossibile scrivereUnable to writeQNativeSocketEngine$Errore sconosciuto Unknown errorQNativeSocketEngine@Operazione socket non supportataUnsupported socket operationQNativeSocketEngine4Errore nell'apertura di %1Error opening %1QNetworkAccessCacheBackend$URI non valido: %1Invalid URI: %1QNetworkAccessDataBackend>Operazione non supportata su %1Operation not supported on %1QNetworkAccessDataBackendzL'host remoto ha chiuso inaspettatamente la connessione su %13Remote host closed the connection prematurely on %1QNetworkAccessDebugPipeBackend.Errore socket su %1: %2Socket error on %1: %2QNetworkAccessDebugPipeBackendZErrore di scrittura nella scrittura di %1: %2Write error writing to %1: %2QNetworkAccessDebugPipeBackenddImpossibile aprire %1: Il percorso una directory#Cannot open %1: Path is a directoryQNetworkAccessFileBackend<Errore nell'apertura di %1: %2Error opening %1: %2QNetworkAccessFileBackendRErrore di lettura nella lettura di %1: %2Read error reading from %1: %2QNetworkAccessFileBackendXRichiesta di apertura del file non locale %1%Request for opening non-local file %1QNetworkAccessFileBackendZErrore di scrittura nella scrittura di %1: %2Write error writing to %1: %2QNetworkAccessFileBackendLImpossibile aprire %1: una directoryCannot open %1: is a directoryQNetworkAccessFtpBackendFErrore nello scaricamento di %1: %2Error while downloading %1: %2QNetworkAccessFtpBackend@Errore nel caricamento di %1: %2Error while uploading %1: %2QNetworkAccessFtpBackend\Accesso a %1 fallito: autenticazione richiesta0Logging in to %1 failed: authentication requiredQNetworkAccessFtpBackendFNon sono stati trovati proxy adattiNo suitable proxy foundQNetworkAccessFtpBackendFNon sono stati trovati proxy adattiNo suitable proxy foundQNetworkAccessHttpBackend>Accesso alla rete disabilitato.Network access is disabled.QNetworkAccessManagervErrore nello scaricamento di %1 - il server ha risposto: %2)Error downloading %1 - server replied: %2 QNetworkReply0Errore sessione di rete.Network session error. QNetworkReply6Protocollo "%1" sconosciutoProtocol "%1" is unknown QNetworkReply4Errore temporaneo di rete.Temporary network failure. QNetworkReply(Operazione annullataOperation canceledQNetworkReplyImpl4Configurazione non valida.Invalid configuration.QNetworkSessionErrore roaming Roaming errorQNetworkSessionPrivateImpl\Il roaming stato abortito o non possibile.'Roaming was aborted or is not possible.QNetworkSessionPrivateImplZSessione interrotta dall'utente o dal sistema!Session aborted by user or systemQNetworkSessionPrivateImplhL'operazione richiesta non supportata dal sistema.7The requested operation is not supported by the system.QNetworkSessionPrivateImplrLa sessione stata interrotta dall'utente o dal sistema..The session was aborted by the user or system.QNetworkSessionPrivateImpl`Impossibile usare la configurazione specificata.+The specified configuration cannot be used.QNetworkSessionPrivateImpl.Errore non identificatoUnidentified ErrorQNetworkSessionPrivateImpl>Errore di sessione sconosciuto.Unknown session error.QNetworkSessionPrivateImplFImpossibile iniziare la transazioneUnable to begin transaction QOCIDriverLImpossibile convalidare la transazioneUnable to commit transaction QOCIDriver2Impossibile inizializzareUnable to initialize QOCIDriver>Impossibile effettuare il logonUnable to logon QOCIDriverHImpossibile annullare la transazioneUnable to rollback transaction QOCIDriver>Impossibile allocare il comandoUnable to alloc statement QOCIResultnImpossibile associare la colonna per l'esecuzione batch'Unable to bind column for batch execute QOCIResult>Impossibile associare il valoreUnable to bind value QOCIResultJImpossibile eseguire il comando batch!Unable to execute batch statement QOCIResult>Impossibile eseguire il comandoUnable to execute statement QOCIResultNImpossibile ottenere il tipo di comandoUnable to get statement type QOCIResult<Impossibile andare al prossimoUnable to goto next QOCIResult@Impossibile preparare il comandoUnable to prepare statement QOCIResultLImpossibile convalidare la transazioneUnable to commit transaction QODBCDriver.Impossibile connettersiUnable to connect QODBCDriverImpossibile connettersi - Il driver non supporta tutte le caratteristiche necessarieEUnable to connect - Driver doesn't support all functionality required QODBCDriverPImpossibile disabilitare l'autoconvalidaUnable to disable autocommit QODBCDriverJImpossibile abilitare l'autoconvalidaUnable to enable autocommit QODBCDriverHImpossibile annullare la transazioneUnable to rollback transaction QODBCDriverQODBCResult::reset: Impossibile impostare 'SQL_CURSOR_STATIC' come attributo del comando. Controllare la configurazione del driver ODBCyQODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResultDImpossibile associare la variabileUnable to bind variable QODBCResult>Impossibile eseguire il comandoUnable to execute statement QODBCResult(Impossibile ottenereUnable to fetch QODBCResult:Impossibile ottenere il primoUnable to fetch first QODBCResult:Impossibile ottenere l'ultimoUnable to fetch last QODBCResultDImpossibile ottenere il successivoUnable to fetch next QODBCResultDImpossibile ottenere il precedenteUnable to fetch previous QODBCResult@Impossibile preparare il comandoUnable to prepare statement QODBCResultz"%1" duplica un nome di ruolo precedente e sar disabilitato.:"%1" duplicates a previous role name and will be disabled.QObject0Server sonoro PulseAudioPulseAudio Sound ServerQObject,query non valida: "%1"invalid query: "%1"QObjectNomeNameQPPDOptionsModel ValoreValueQPPDOptionsModelFImpossibile iniziare la transazioneCould not begin transaction QPSQLDriverLImpossibile convalidare la transazioneCould not commit transaction QPSQLDriverHImpossibile annullare la transazioneCould not rollback transaction QPSQLDriver.Impossibile connettersiUnable to connect QPSQLDriverPImpossibile effettuare la sottoscrizioneUnable to subscribe QPSQLDriverPImpossibile cancellare la sottoscrizioneUnable to unsubscribe QPSQLDriver6Impossibile creare la queryUnable to create query QPSQLResult@Impossibile preparare il comandoUnable to prepare statement QPSQLResultCentimetri (cm)Centimeters (cm)QPageSetupWidgetFormFormQPageSetupWidgetAltezza:Height:QPageSetupWidgetPollici (in) Inches (in)QPageSetupWidgetPaesaggio LandscapeQPageSetupWidgetMarginiMarginsQPageSetupWidgetMillimetri (mm)Millimeters (mm)QPageSetupWidgetOrientamento OrientationQPageSetupWidget$Dimensioni pagina: Page size:QPageSetupWidget CartaPaperQPageSetupWidgetSorgente carta: Paper source:QPageSetupWidgetPunti (pt) Points (pt)QPageSetupWidgetRitrattoPortraitQPageSetupWidget&Paesaggio speculareReverse landscapeQPageSetupWidget$Ritratto speculareReverse portraitQPageSetupWidgetLarghezza:Width:QPageSetupWidgetmargine basso bottom marginQPageSetupWidget margine sinistro left marginQPageSetupWidgetmargine destro right marginQPageSetupWidgetmargine alto top marginQPageSetupWidget>Il plugin non stato caricato.The plugin was not loaded. QPluginLoader$Errore sconosciuto Unknown error QPluginLoader6%1 esiste gi. Sostituirlo?/%1 already exists. Do you want to overwrite it? QPrintDialoglIl file %1 una directory. Selezionare un altro file.7%1 is a directory. Please choose a different file name. QPrintDialog&Opzioni << &Options << QPrintDialog&Opzioni >> &Options >> QPrintDialog&Stampa&Print QPrintDialog0<qt>Sovrascriverlo?</qt>%Do you want to overwrite it? QPrintDialogA0A0 QPrintDialog$A0 (841 x 1189 mm)A0 (841 x 1189 mm) QPrintDialogA1A1 QPrintDialog"A1 (594 x 841 mm)A1 (594 x 841 mm) QPrintDialogA2A2 QPrintDialog"A2 (420 x 594 mm)A2 (420 x 594 mm) QPrintDialogA3A3 QPrintDialog"A3 (297 x 420 mm)A3 (297 x 420 mm) QPrintDialogA4A4 QPrintDialogLA4 (210 x 297 mm, 8.26 x 11.7 pollici)%A4 (210 x 297 mm, 8.26 x 11.7 inches) QPrintDialogA5A5 QPrintDialog"A5 (148 x 210 mm)A5 (148 x 210 mm) QPrintDialogA6A6 QPrintDialog"A6 (105 x 148 mm)A6 (105 x 148 mm) QPrintDialogA7A7 QPrintDialog A7 (74 x 105 mm)A7 (74 x 105 mm) QPrintDialogA8A8 QPrintDialogA8 (52 x 74 mm)A8 (52 x 74 mm) QPrintDialogA9A9 QPrintDialogA9 (37 x 52 mm)A9 (37 x 52 mm) QPrintDialogAlias: %1 Aliases: %1 QPrintDialogB0B0 QPrintDialog&B0 (1000 x 1414 mm)B0 (1000 x 1414 mm) QPrintDialogB1B1 QPrintDialog$B1 (707 x 1000 mm)B1 (707 x 1000 mm) QPrintDialogB10B10 QPrintDialog B10 (31 x 44 mm)B10 (31 x 44 mm) QPrintDialogB2B2 QPrintDialog"B2 (500 x 707 mm)B2 (500 x 707 mm) QPrintDialogB3B3 QPrintDialog"B3 (353 x 500 mm)B3 (353 x 500 mm) QPrintDialogB4B4 QPrintDialog"B4 (250 x 353 mm)B4 (250 x 353 mm) QPrintDialogB5B5 QPrintDialogLB5 (176 x 250 mm, 6.93 x 9.84 pollici)%B5 (176 x 250 mm, 6.93 x 9.84 inches) QPrintDialogB6B6 QPrintDialog"B6 (125 x 176 mm)B6 (125 x 176 mm) QPrintDialogB7B7 QPrintDialog B7 (88 x 125 mm)B7 (88 x 125 mm) QPrintDialogB8B8 QPrintDialogB8 (62 x 88 mm)B8 (62 x 88 mm) QPrintDialogB9B9 QPrintDialogB9 (44 x 62 mm)B9 (44 x 62 mm) QPrintDialogC5EC5E QPrintDialog$C5E (163 x 229 mm)C5E (163 x 229 mm) QPrintDialogPersonalizzatoCustom QPrintDialogDLEDLE QPrintDialog$DLE (110 x 220 mm)DLE (110 x 220 mm) QPrintDialogExecutive Executive QPrintDialogTExecutive (7.5 x 10 pollici, 191 x 254 mm))Executive (7.5 x 10 inches, 191 x 254 mm) QPrintDialogIl file %1 non accessibile in scrittura. Selezionare un altro file.=File %1 is not writable. Please choose a different file name. QPrintDialogIl file esiste File exists QPrintDialog FolioFolio QPrintDialog(Folio (210 x 330 mm)Folio (210 x 330 mm) QPrintDialog LedgerLedger QPrintDialog*Ledger (432 x 279 mm)Ledger (432 x 279 mm) QPrintDialog LegalLegal QPrintDialogLLegal (8.5 x 14 pollici, 216 x 356 mm)%Legal (8.5 x 14 inches, 216 x 356 mm) QPrintDialog LetterLetter QPrintDialogNLetter (8.5 x 11 pollici, 216 x 279 mm)&Letter (8.5 x 11 inches, 216 x 279 mm) QPrintDialogFile locale Local file QPrintDialogOKOK QPrintDialog StampaPrint QPrintDialogStampa su file &Print To File ... QPrintDialogStampa tutto Print all QPrintDialog,Stampa pagina correntePrint current page QPrintDialog(Intervallo di stampa Print range QPrintDialog Stampa selezionePrint selection QPrintDialog(Stampa su file (PDF)Print to File (PDF) QPrintDialog6Stampa su file (Postscript)Print to File (Postscript) QPrintDialogTabloidTabloid QPrintDialog,Tabloid (279 x 432 mm)Tabloid (279 x 432 mm) QPrintDialogtIl valore 'From' non pu essere pi grande di quello 'To'.7The 'From' value cannot be greater than the 'To' value. QPrintDialog,US Common #10 EnvelopeUS Common #10 Envelope QPrintDialogJUS Common #10 Envelope (105 x 241 mm)%US Common #10 Envelope (105 x 241 mm) QPrintDialogScrivi %1 file Write %1 file QPrintDialog&connesse localmentelocally connected QPrintDialogsconosciutounknown QPrintDialog%1%%1%QPrintPreviewDialog ChiudiCloseQPrintPreviewDialogEsporta PDF Export to PDFQPrintPreviewDialog$Esporta PostscriptExport to PostScriptQPrintPreviewDialogPrima pagina First pageQPrintPreviewDialogAdatta altezzaFit pageQPrintPreviewDialog Adatta larghezza Fit widthQPrintPreviewDialogPaesaggio LandscapeQPrintPreviewDialogUltima pagina Last pageQPrintPreviewDialog"Pagina successiva Next pageQPrintPreviewDialogImposta pagina Page SetupQPrintPreviewDialogImposta pagina Page setupQPrintPreviewDialogRitrattoPortraitQPrintPreviewDialog"Pagina precedente Previous pageQPrintPreviewDialog StampaPrintQPrintPreviewDialog&Anteprima di stampa Print PreviewQPrintPreviewDialog,Mostra pagine frontaliShow facing pagesQPrintPreviewDialogHMostra panoramica di tutte le pagineShow overview of all pagesQPrintPreviewDialog*Mostra pagina singolaShow single pageQPrintPreviewDialogZoom inZoom inQPrintPreviewDialogZoom outZoom outQPrintPreviewDialogAvanzateAdvancedQPrintPropertiesWidgetFormFormQPrintPropertiesWidget PaginaPageQPrintPropertiesWidgetFascicolaCollateQPrintSettingsOutput ColoriColorQPrintSettingsOutput Colore Color ModeQPrintSettingsOutput CopieCopiesQPrintSettingsOutput Copie:Copies:QPrintSettingsOutputPagina corrente Current PageQPrintSettingsOutput&Stampa fronte retroDuplex PrintingQPrintSettingsOutputFormFormQPrintSettingsOutputScala di grigio GrayscaleQPrintSettingsOutputLato lungo Long sideQPrintSettingsOutputNessunoNoneQPrintSettingsOutputOpzioniOptionsQPrintSettingsOutput,Impostazioni di uscitaOutput SettingsQPrintSettingsOutputPagine da Pages fromQPrintSettingsOutputStampa tutto Print allQPrintSettingsOutput(Intervallo di stampa Print rangeQPrintSettingsOutputInverti pagineReverseQPrintSettingsOutputSeleziona SelectionQPrintSettingsOutputLato corto Short sideQPrintSettingsOutputatoQPrintSettingsOutput &Nome:&Name: QPrintWidget &... QPrintWidgetFormForm QPrintWidgetPosizione: Location: QPrintWidget &File di uscita: Output &file: QPrintWidgetP&ropriet P&roperties QPrintWidgetAnteprimaPreview QPrintWidgetStampantePrinter QPrintWidget Tipo:Type: QPrintWidgetjImpossible aprire la redirezione input per la lettura,Could not open input redirection for readingQProcesspImpossible aprire la redirezione output per la scrittura-Could not open output redirection for writingQProcessBErrore nella lettura dal processoError reading from processQProcessFErrore nella scrittura sul processoError writing to processQProcess2Nessun programma definitoNo program definedQProcess@Processo chiuso inaspettatamenteProcess crashedQProcessFImpossibile avviare il processo: %1Process failed to start: %1QProcessNOperazione processo fuori tempo massimoProcess operation timed outQProcessHErrore di risorse (fork fallito): %1!Resource error (fork failure): %1QProcessAnnullaCancelQProgressDialogApriOpen QPushButtonSelezionaCheck QRadioButtonBErrore nell'apertura del databaseError opening databaseQSQLite2DriverFImpossibile iniziare la transazioneUnable to begin transactionQSQLite2DriverLImpossibile convalidare la transazioneUnable to commit transactionQSQLite2DriverHImpossibile annullare la transazioneUnable to rollback transactionQSQLite2Driver>Impossibile eseguire il comandoUnable to execute statementQSQLite2Result@Impossibile ottenere i risultatiUnable to fetch resultsQSQLite2ResultDErrore nella chiusura del databaseError closing database QSQLiteDriverBErrore nell'apertura del databaseError opening database QSQLiteDriverFImpossibile iniziare la transazioneUnable to begin transaction QSQLiteDriverLImpossibile convalidare la transazioneUnable to commit transaction QSQLiteDriverHImpossibile annullare la transazioneUnable to rollback transaction QSQLiteDriverNessuna queryNo query QSQLiteResult4Numero di parametri erratoParameter count mismatch QSQLiteResultBImpossibile associare i parametriUnable to bind parameters QSQLiteResult>Impossibile eseguire il comandoUnable to execute statement QSQLiteResult8Impossibile ottenere la rigaUnable to fetch row QSQLiteResultDImpossibile reimpostare il comandoUnable to reset statement QSQLiteResultCondizione ConditionQScriptBreakpointsModel(Classifica-conteggio Hit-countQScriptBreakpointsModelIDIDQScriptBreakpointsModel ignora-conteggio Ignore-countQScriptBreakpointsModelPosizioneLocationQScriptBreakpointsModelscatto-singolo Single-shotQScriptBreakpointsModelEliminaDeleteQScriptBreakpointsWidget NuovoNewQScriptBreakpointsWidgetContinuaContinueQScriptDebugger$Imposta breakpointToggle BreakpointQScriptDebugger ChiudiCloseQScriptDebuggerCodeFinderWidgetNomeNameQScriptDebuggerLocalsModel ValoreValueQScriptDebuggerLocalsModelPosizioneLocationQScriptDebuggerStackModelNomeNameQScriptDebuggerStackModel,Condizione breakpoint:Breakpoint Condition: QScriptEdit*Disabilita breakpointDisable Breakpoint QScriptEdit$Abilita breakpointEnable Breakpoint QScriptEdit$Imposta breakpointToggle Breakpoint QScriptEditBreakpoint BreakpointsQScriptEngineDebuggerConsoleConsoleQScriptEngineDebuggerOutput debug Debug OutputQScriptEngineDebuggerLog errori Error LogQScriptEngineDebuggerScript caricatiLoaded ScriptsQScriptEngineDebugger$Qt Script DebuggerQt Script DebuggerQScriptEngineDebugger CercaSearchQScriptEngineDebugger StackStackQScriptEngineDebuggerVisualizzaViewQScriptEngineDebugger ChiudiCloseQScriptNewBreakpointWidget FondoBottom QScrollBarBordo sinistro Left edge QScrollBar Linea successiva Line down QScrollBar Linea precedenteLine up QScrollBar&Una pagina in basso Page down QScrollBar*Una pagina a sinistra Page left QScrollBar&Una pagina a destra Page right QScrollBar$Una pagina in altoPage up QScrollBarPosizionePosition QScrollBarBordo destro Right edge QScrollBarScorri in basso Scroll down QScrollBarScorri qui Scroll here QScrollBar"Scorri a sinistra Scroll left QScrollBarScorri a destra Scroll right QScrollBarScorri in alto Scroll up QScrollBarCimaTop QScrollBarD%1: il file chiave UNIX non esiste%1: UNIX key file doesn't exist QSharedMemory%1: esiste gi%1: already exists QSharedMemory8%1: dimensioni inferiori a 0%1: create size is less then 0 QSharedMemory%1: non esiste%1: doesn't exist QSharedMemory%1: non esiste%1: doesn't exists QSharedMemory %1: ftok fallito%1: ftok failed QSharedMemory2%1: dimensioni non valide%1: invalid size QSharedMemory.%1: errore della chiave %1: key error QSharedMemory*%1: la chiave vuota%1: key is empty QSharedMemory"%1: non assegnato%1: not attached QSharedMemory2%1: risorse insufficienti%1: out of resources QSharedMemory$%1: accesso negato%1: permission denied QSharedMemoryD%1: query sulle dimensioni fallita%1: size query failed QSharedMemoryh%1: restrizioni sulle dimensioni imposte dal sistema$%1: system-imposed size restrictions QSharedMemory0%1: impossibile bloccare%1: unable to lock QSharedMemory@%1: impossibile creare la chiave%1: unable to make key QSharedMemoryD%1: impossibile bloccare la chiave%1: unable to set key on lock QSharedMemory2%1: impossibile sbloccare%1: unable to unlock QSharedMemory2%1: errore sconosciuto %2%1: unknown error %2 QSharedMemory++ QShortcutAltAlt QShortcutIndietroBack QShortcutBackspace Backspace QShortcutBacktabBacktab QShortcutAumente i bassi Bass Boost QShortcut Diminuisci bassi Bass Down QShortcutAumenta bassiBass Up QShortcutBatteriaBattery QShortcutBluetooth Bluetooth QShortcutBrowserBrowser QShortcut ChiamaCall QShortcut Blocco Maiuscole Caps Lock QShortcutBlocMaiuscCapsLock QShortcutPulisciClear QShortcut ChiudiClose QShortcutContesto1Context1 QShortcutContesto2Context2 QShortcutContesto3Context3 QShortcutContesto4Context4 QShortcut CopiaCopy QShortcutCtrlCtrl QShortcut TagliaCut QShortcutCancDel QShortcutEliminaDelete QShortcutDocumenti Documents QShortcutGiDown QShortcutFineEnd QShortcut InvioEnter QShortcutEscEsc QShortcut EscapeEscape QShortcutF%1F%1 QShortcutPreferiti Favorites QShortcutRibaltaFlip QShortcut AvantiForward QShortcut GiocoGame QShortcutVaiGo QShortcutRIagganciaHangup QShortcut GuidaHelp QShortcut InizioHome QShortcutPagina iniziale Home Page QShortcutInsIns QShortcutInserisciInsert QShortcutEsegui (0) Launch (0) QShortcutEsegui (1) Launch (1) QShortcutEsegui (2) Launch (2) QShortcutEsegui (3) Launch (3) QShortcutEsegui (4) Launch (4) QShortcutEsegui (5) Launch (5) QShortcutEsegui (6) Launch (6) QShortcutEsegui (7) Launch (7) QShortcutEsegui (8) Launch (8) QShortcutEsegui (9) Launch (9) QShortcutEsegui (A) Launch (A) QShortcutEsegui (B) Launch (B) QShortcutEsegui (C) Launch (C) QShortcutEsegui (D) Launch (D) QShortcutEsegui (E) Launch (E) QShortcutEsegui (F) Launch (F) QShortcut Posta Launch Mail QShortcut Media Launch Media QShortcutSinistraLeft QShortcutChiudi sessioneLogoff QShortcut Media Successivo Media Next QShortcutMedia Play Media Play QShortcut Media PrecedenteMedia Previous QShortcutMedia Registra Media Record QShortcutMedia Stop Media Stop QShortcutMenuMenu QShortcutMetaMeta QShortcut:Diminuisci luminosit monitorMonitor Brightness Down QShortcut4Aumenta luminosit monitorMonitor Brightness Up QShortcut MusicaMusic QShortcutMiei sitiMy Sites QShortcutNotizieNews QShortcutNoNo QShortcutBlocco NumNum Lock QShortcutBlocNumNumLock QShortcut4Blocco Tastierino Numerico Number Lock QShortcutApri URLOpen URL QShortcutOpzioneOption QShortcutPagina Gi Page Down QShortcutPagina SuPage Up QShortcutIncollaPaste QShortcut PausaPause QShortcut PgGiPgDown QShortcutPgSuPgUp QShortcutTelefonoPhone QShortcut StampPrint QShortcutStampa Schermo Print Screen QShortcutAggiornaRefresh QShortcutAggiornaReload QShortcutRispondiReply QShortcut InvioReturn QShortcutDestra Right QShortcut SalvaSave QShortcut$Blocco Scorrimento Scroll Lock QShortcutBlocScorr ScrollLock QShortcut CercaSearch QShortcutSelezionaSelect QShortcut InviaSend QShortcut ShiftShift QShortcut SpazioSpace QShortcut(Controllo ortografia Spellchecker QShortcutDividi schermo Split Screen QShortcutStandbyStandby QShortcutStopStop QShortcut SysReqSysReq QShortcutSystem RequestSystem Request QShortcutTabTab QShortcutTerminaleTerminal QShortcutDiminuisci alti Treble Down QShortcutAumenta alti Treble Up QShortcutSuUp QShortcut VideoVideo QShortcutVisualizzaView QShortcutAumenta volume Volume Down QShortcutMuto Volume Mute QShortcut Diminusci volume Volume Up QShortcutWirelessWireless QShortcutSYes QShortcutZoom InZoom In QShortcutZoom OutZoom Out QShortcut&Una pagina in basso Page downQSlider*Una pagina a sinistra Page leftQSlider&Una pagina a destra Page rightQSlider$Una pagina in altoPage upQSliderPosizionePositionQSlider@Tipo di indirizzo non supportatoAddress type not supportedQSocks5SocketEngineVConnessione non permessa dal server SOCKSv5(Connection not allowed by SOCKSv5 serverQSocks5SocketEnginedIl proxy ha chiuso la connessione inaspettatamente&Connection to proxy closed prematurelyQSocks5SocketEngine<Connessione al proxy rifiutataConnection to proxy refusedQSocks5SocketEnginePConnessione al proxy fuori tempo massimoConnection to proxy timed outQSocks5SocketEngineDErrore generale del server SOCKSv5General SOCKSv5 server failureQSocks5SocketEngineLOperazione di rete fuori tempo massimoNetwork operation timed outQSocks5SocketEngine8Autenticazione proxy fallitaProxy authentication failedQSocks5SocketEngine@Autenticazione proxy fallita: %1Proxy authentication failed: %1QSocks5SocketEngine0Server proxy non trovatoProxy host not foundQSocks5SocketEngineLErrore del protocollo SOCKS versione 5SOCKS version 5 protocol errorQSocks5SocketEngine<Comando SOCKSv5 non supportatoSOCKSv5 command not supportedQSocks5SocketEngineTTL esaurito TTL expiredQSocks5SocketEngineRCodice di errore SOCKSv5 sconosciuto 0x%1%Unknown SOCKSv5 proxy error code 0x%1QSocks5SocketEngineAnnullaCancelQSoftKeyManager FattoDoneQSoftKeyManagerEsciExitQSoftKeyManagerOkOkQSoftKeyManagerOpzioniOptionsQSoftKeyManagerSelezionaSelectQSoftKeyManagerDiminuisciLessQSpinBoxAumentaMoreQSpinBoxAnnullaCancelQSql.Annullare le modifiche?Cancel your edits?QSqlConfermaConfirmQSqlEliminaDeleteQSql0Eliminare questo record?Delete this record?QSqlInserisciInsertQSqlNoNoQSql*Salvare le modifiche? Save edits?QSqlAggiornaUpdateQSqlSYesQSqlnImpossibile fornire un certificato senza una chiave, %1,Cannot provide a certificate with no key, %1 QSslSocketXErrore nella creazione del contesto SSL (%1)Error creating SSL context (%1) QSslSocketZErrore nella creazione della sessione SSL, %1Error creating SSL session, %1 QSslSocketZErrore nella creazione della sessione SSL: %1Error creating SSL session: %1 QSslSocketHErrore nell'inizializzazione SSL: %1Error during SSL handshake: %1 QSslSocketbErrore nel caricamento del certificato locale, %1#Error loading local certificate, %1 QSslSocket^Errore nel caricamento della chiave privata, %1Error loading private key, %1 QSslSocket0Errore nella lettura: %1Error while reading: %1 QSslSocketPLista di cifrari vuota o non valida (%1)!Invalid or empty cipher list (%1) QSslSocketHImpossibile verificare i certificati!No certificates could be verified QSslSocketNessun erroreNo error QSslSocketNUno dei certificati della CA invalido%One of the CA certificates is invalid QSslSocketlLa chiave privata non certifica la chiave pubblica, %1+Private key does not certify public key, %1 QSslSocketIl parametro di lunghezza percorso basicConstraints stato superatoImpossibile scrivere i dati: %1Unable to write data: %1 QSslSocket$Errore sconosciuto Unknown error QSslSocket`Stato iniziale mancante nello stato history '%1'+Missing default state in history state '%1' QStateMachinebStato iniziale mancante nello stato composto '%1',Missing initial state in compound state '%1' QStateMachineNessun antenato comune per sorgente e obbiettivo della transizione dallo stato '%1'GNo common ancestor for targets and source of transition from state '%1' QStateMachine$Errore sconosciuto Unknown error QStateMachine%1: esiste gi%1: already existsQSystemSemaphore%1: non esiste%1: does not existQSystemSemaphore2%1: risorse insufficienti%1: out of resourcesQSystemSemaphore$%1: accesso negato%1: permission deniedQSystemSemaphore2%1: errore sconosciuto %2%1: unknown error %2QSystemSemaphoreBImpossibile aprire la connessioneUnable to open connection QTDSDriverDImpossibile utilizzare il databaseUnable to use database QTDSDriver"Scorri a sinistra Scroll LeftQTabBarScorri a destra Scroll RightQTabBarFOperazione su socket non supportata$Operation on socket is not supported QTcpServer &Copia&Copy QTextControl&Incolla&Paste QTextControl&Ripeti&Redo QTextControl&Annulla&Undo QTextControl&Copia Co&llegamentoCopy &Link Location QTextControl&TagliaCu&t QTextControlEliminaDelete QTextControlSeleziona tutto Select All QTextControlApriOpen QToolButton PremiPress QToolButton@La piattaforma non supporta IPv6#This platform does not support IPv6 QUdpSocket RipetiRedo QUndoGroupAnnullaUndo QUndoGroup<vuoto> QUndoModel RipetiRedo QUndoStackAnnullaUndo QUndoStackPInserisci carattere di controllo Unicode Insert Unicode control characterQUnicodeControlCharacterMenuHLRE Start of left-to-right embedding$LRE Start of left-to-right embeddingQUnicodeControlCharacterMenu,LRM Left-to-right markLRM Left-to-right markQUnicodeControlCharacterMenuFLRO Start of left-to-right override#LRO Start of left-to-right overrideQUnicodeControlCharacterMenu<PDF Pop directional formattingPDF Pop directional formattingQUnicodeControlCharacterMenuHRLE Start of right-to-left embedding$RLE Start of right-to-left embeddingQUnicodeControlCharacterMenu,RLM Right-to-left markRLM Right-to-left markQUnicodeControlCharacterMenuFRLO Start of right-to-left override#RLO Start of right-to-left overrideQUnicodeControlCharacterMenu*ZWJ Zero width joinerZWJ Zero width joinerQUnicodeControlCharacterMenu4ZWNJ Zero width non-joinerZWNJ Zero width non-joinerQUnicodeControlCharacterMenu*ZWSP Zero width spaceZWSP Zero width spaceQUnicodeControlCharacterMenu4Impossibile mostrare l'URLCannot show URL QWebFrame@Impossibile mostrare il mimetypeCannot show mimetype QWebFrame$Il file non esisteFile does not exist QWebFrame`Caricamento frame interrotto da cambio di policy'Frame load interrupted by policy change QWebFrame$Richiesta bloccataRequest blocked QWebFrame&Richiesta annullataRequest cancelled QWebFrame %1 (%2x%3 pixel)%1 (%2x%3 pixels)QWebPage%n file%n file %n file(s)QWebPage,Aggiungi al dizionarioAdd To DictionaryQWebPage2Richiesta HTTP non validaBad HTTP requestQWebPageGrassettoBoldQWebPage FondoBottomQWebPagePControlla la grammatica con l'ortografiaCheck Grammar With SpellingQWebPage*Controllo ortograficoCheck SpellingQWebPageXControllo ortografico durante la digitazioneCheck Spelling While TypingQWebPageSfoglia Choose FileQWebPage0Elimina ricerche recentiClear recent searchesQWebPage CopiaCopyQWebPage Copia l'immagine Copy ImageQWebPageDCopia l'indirizzo del collegamento Copy LinkQWebPage TagliaCutQWebPagePredefinitoDefaultQWebPageFElimina fino alla fine della parolaDelete to the end of the wordQWebPageHElimina fino all'inizio della parolaDelete to the start of the wordQWebPageDirezione DirectionQWebPageCaratteriFontsQWebPageIndietroGo BackQWebPage Avanti Go ForwardQWebPage@Nascondi ortografia e grammaticaHide Spelling and GrammarQWebPage IgnoraIgnoreQWebPage Ignora Ignore Grammar context menu itemIgnoreQWebPage2Inserisce una nuova lineaInsert a new lineQWebPage8Inserisce un nuovo paragrafoInsert a new paragraphQWebPageIspezionaInspectQWebPageItalicoItalicQWebPage,Avviso JavaScript - %1JavaScript Alert - %1QWebPage0Conferma JavaScript - %1JavaScript Confirm - %1QWebPage0Problema JavaScript - %1JavaScript Problem - %1QWebPage2Richiesta JavaScript - %1JavaScript Prompt - %1QWebPageBordo sinistro Left edgeQWebPage(Cerca nel dizionarioLook Up In DictionaryQWebPageLSposta il cursore alla fine del blocco'Move the cursor to the end of the blockQWebPageRSposta il cursore alla fine del documento*Move the cursor to the end of the documentQWebPageNSposta il cursore alla fine della linea&Move the cursor to the end of the lineQWebPageRSposta il cursore al carattere successivo%Move the cursor to the next characterQWebPageNSposta il cursore alla linea successiva Move the cursor to the next lineQWebPagePSposta il cursore alla parola successiva Move the cursor to the next wordQWebPageRSposta il cursore al carattere precedente)Move the cursor to the previous characterQWebPageNSposta il cursore alla linea precedente$Move the cursor to the previous lineQWebPagePSposta il cursore alla parola precedente$Move the cursor to the previous wordQWebPageNSposta il cursore all'inizio del blocco)Move the cursor to the start of the blockQWebPageTSposta il cursore all'inizio del documento,Move the cursor to the start of the documentQWebPagePSposta il cursore all'inizio della linea(Move the cursor to the start of the lineQWebPage,Nessun indizio trovatoNo Guesses FoundQWebPage.Nessun file selezionatoNo file selectedQWebPage.Nessuna ricerca recenteNo recent searchesQWebPageApri Frame Open FrameQWebPage&Visualizza immagine Open ImageQWebPage"Apri collegamento Open LinkQWebPage4Apri in una nuova finestraOpen in New WindowQWebPageAllineaOutlineQWebPage&Una pagina in basso Page downQWebPage*Una pagina a sinistra Page leftQWebPage&Una pagina a destra Page rightQWebPage$Una pagina in altoPage upQWebPageIncollaPasteQWebPage Ricerche recentiRecent searchesQWebPage8Raggiunto limite redirezioniRedirection limit reachedQWebPageAggiornaReloadQWebPageReimpostaResetQWebPageBordo destro Right edgeQWebPage Salva l'immagine Save ImageQWebPage4Salva l'oggetto collegato & Save Link...QWebPageScorri in basso Scroll downQWebPageScorri qui Scroll hereQWebPage"Scorri a sinistra Scroll leftQWebPageScorri a destra Scroll rightQWebPageScorri in alto Scroll upQWebPageCerca nel WebSearch The WebQWebPageSeleziona tutto Select allQWebPageFSeleziona fino alla fine del bloccoSelect to the end of the blockQWebPageLSeleziona fino alla fine del documento!Select to the end of the documentQWebPageHSeleziona fino alla fine della lineaSelect to the end of the lineQWebPageLSeleziona fino al carattere successivoSelect to the next characterQWebPageHSeleziona fino alla linea successivaSelect to the next lineQWebPageJSeleziona fino alla parola successivaSelect to the next wordQWebPageLSeleziona fino al carattere precedente Select to the previous characterQWebPageHSeleziona fino alla linea precedenteSelect to the previous lineQWebPageJSeleziona fino alla parola precedenteSelect to the previous wordQWebPageHSeleziona fino all'inizio del blocco Select to the start of the blockQWebPageNSeleziona fino all'inizio del documento#Select to the start of the documentQWebPageJSeleziona fino all'inizio della lineaSelect to the start of the lineQWebPage<Mostra ortografia e grammaticaShow Spelling and GrammarQWebPageOrtografiaSpellingQWebPageStopStopQWebPage InviaSubmitQWebPage InviaQSubmit (input element) alt text for elements with no alt, title, or valueSubmitQWebPage&Direzione del testoText DirectionQWebPageLo script in questa pagina sembra avere problemi. Interrompere lo script?RThe script on this page appears to have a problem. Do you want to stop the script?QWebPageQuesto un indice per le ricerche. Inserire le parole per la ricerca: 3This is a searchable index. Enter search keywords: QWebPageCimaTopQWebPageSottolineato UnderlineQWebPageSconosciutoUnknownQWebPage$Web Inspector - %2Web Inspector - %2QWebPageGuida rapida What's This?QWhatsThisAction**QWidget&Finisci&FinishQWizard &Guida&HelpQWizard&Successivo&NextQWizard&Successivo >&Next >QWizard< &Indietro< &BackQWizardAnnullaCancelQWizardConfermaCommitQWizardContinuaContinueQWizard FattoDoneQWizardIndietroGo BackQWizard GuidaHelpQWizard%1 - [%2] %1 - [%2] QWorkspace&Chiudi&Close QWorkspace&Sposta&Move QWorkspace&Ripristina&Restore QWorkspaceRi&dimensiona&Size QWorkspaceSro&tola&Unshade QWorkspace ChiudiClose QWorkspaceIngra&ndisci Ma&ximize QWorkspaceR&iduci a icona Mi&nimize QWorkspaceRiduce a iconaMinimize QWorkspace&Ripristina in basso Restore Down QWorkspace&ArrotolaSh&ade QWorkspace,Sempre in &primo piano Stay on &Top QWorkspaceffDiaporama/locale/qt_fr.qm0000777000175000001440000076223512275647344016155 0ustar dominiqueusersH5H5&H5H5H5L8LVEf@fhffWfoffgl;a?D@`@C6UC`By$5D5 heFuI oGF yƽ ~X*^X`]TQHt]3H!nwT$)&S.!(2S(4(4(4'(52(5f*yM*yZ*y*T%*0[|*0%+Fk+F׋+LP+f6+f +zfo+Ml+Z+Y+zf+7Y+B+ +& +l ++įM+į[)+į+f3Q4rQ7:9;=A@BjHC:C:{F0iQFn4$Fn4GHw9LHw9I'IAI_IdtIJ+MJ+!eJ6NJ6h?J6hJ6J6ltJ6oDJ60J6J6 J6!J6gJcbJK3L %FLZ%L4LhnLb} |^|^||A c~7avvx VJԱ*z -f-g)CIMdϲ4L¢5]̓.H6CdIAIM[Fg+I5sÉ$y&XtDD^%8 EIɵnlɵnCɵnJgɵncɵnɵnɵnXɵn'\0 B5 Bw*x'<M1)dad<4FqpT۔w $>GHcxB8,+ɤ]D<8pǨ55v#Q͂%UT%UTz (Ŏ*4m-ct23a?2=?NFRxNky6UiW5W~Q]G-`nz`'jtUlg+lyzQUl}oi8vty.$1!lb%N"=<e4+)MOU 66k^6X^-M9Z$RT=~.5?YEEO{q=8A;&τnA,M$[yDLQt C$CWnդ`>ng.ltml@Mk!ME(E3 nwKw :6e4^B6 In )Aڎ$p!P8 4'$`IEUK!e&)G*/eG+C+,0,N^1E:ϭ;z;tZ?4_cBy$EcFFlNjO{tO%ZfI[ \cO\,`j>b(b-0cփ5)fg&4 VjCmn[nqYqK+tuNu(+{>z.}kaR}^#B>~T1*_'y)\sK&$$$Xs5e+N(H<u6Zʁsr^YK3@LM֊gz n2f'w,E6q;yVω#aGO&-5I+~T>bAZ- nC7^Z-l=w+&HE&r,n,}./D4!(5,^8k?CrIxSe KL"5LOݺR>UXmYM(YM3W^3eh^TiYnnn`Rsscssw^)%x/^d12"%ۊgqatR] ][&~mI9IKILEI/IzISITIZQ-I00Y0li0y0/@/|//./I2L1\1121 uD,uD7dD'o,4t,[,,$',U{,`]K>2r V_|>ɘe%5$Ai 4;82fR>fRG>{ݿ-<SUhA _s]9N'N)Q~*cW GS!Pq/VfR |T4,,VbK   Q O `JG+4L Bbj l."o$!$%CTA&~ & )2TX)5+Ѥ,/`53 T53t8484@;_?"e%?>uAqwFuKNK-YM+N><RU5BV|"@Z*]B]Iieg^:1k;+y^P{yήw?Ji05t=UF(=:Ξ9"t8 >G%&n*n%nǥً @)+@_+T%+DD`nW[t7{y1r;$p/xA$r˛9\#C~s$SϾ6N[%dk^:{,`EgC-$C59mUC^7ƨ59ƨV˾Iҝz>Xلi[է?U؊=.؊=Z>i}Hzܓ7ߺff~t\}롥cF` +!*=N{omrD$^!DDĕ   V SUi$i5~b~bo@{MS t  `?!G%?E'd)ў4+u5n+3,8//N/t14~6 ?8Ȕ<lD? 2#AD{G(GbLAU7OrLPѧQ6SRC+SnsTmUUNUUyUTAYĻ~Z"pZ"Z"Z#[[[]k*]^nD_PJo_P_pM`ud`d`e?i-.i7kQum?$QoNGxy;d{M{S}u:}w}wK}w}}hsX01$lL#O{r 'NBqvt0t݄Yd&..K3PiU> tu5DޕY^V^tt\t3t}tu^)-nBl_ 9aUspFgCFvʢoʢiʬAƴdpdh%dSdadm59Fejэi+=RNS㵾]VbHkJyUUdGTelBhwVA 2>,%342NI6.i7D(9!,:e :%T6?;.CU]CUEDGE[PGrIN7J0KAU| V7/Xw\\D]/t$arnld" n8gvp&tAw-Qy'|:}wZ}$^}$KW}$@~9:"4Dϗ:-Z~VNI&D<#L>@ {89`NEqloiK<͒··ý v׳ /5fC Fe[tB(ӛU+et7EE&ȥKvU%ONTu:-%51TuS e~2i~8W,DMbi9%UbP##%p%%d"\'h-.n.K5kEk;C==X?]*?b.@J!@TCtIEfmNP7P0V%0&V%1XU BZV`awbDCbGTfdZgAHhI 9i$Hlsf(x1 !/z*2|QR dBdJl\sUc(.zPc.:$4C5Q gQ,VXZm'eCnJ=b†5 igCU*Cʴ5kʴ5ʶm;8+^ ?g}Ԅ۔#D 'N^<duAF5QF5mYp>+>|C4Ny&DI=lIAs9j p[ }$i qe1 ڤ ڤs ڥ dQ Ee E  AcC Ac) N7 *3 35 35 i `B bT bb? b` b`B d gU_ i3X kk lay lf lsZ qv qv` qzGz tN uh xq |o7 |p |{_ = JZ  tBu t` ` . F g 4 y K ).v F>    le \t  u P  w B? ҉ 4 .I > = U C KZ f n` V/ %  u" Y+ 0 KO  쉥F 팤 E{ l~c %' 5s 2 ' / + C- Q = q#  DS  } 9 o' Ąˮ o )= ) ) */ .>aB 5J8 7u ;W+  e= ee e{ f1*V f*P g5UZ gn k,D n$ rD"KD t o> `: Sd n- çl $ B vC ȯ'4 $ lCG ˔&@ }p P[F P +> 4 ~tO .X 68 >>^ p v"c :f7 f 8 f  4F .% = ( s; s AA. 9 1  9j 05 r$] ߤ m,E 5r ݡ( l 2 ! #-tF #-t}8 #$ ' ~ 0NaN 5r AW CU% E9B G] I L[ LՅ Mc\8 P..u RI SHJ VM W] Z8 [@ \Ot` ]$m c f)9 f) 2 f=i io> l#>A luE m`S wB4 xR; yr }QJ ķ f H7 H H G ^ G n' С(y $& .@Fi I iŻ <R B * N9 [   zdR9 (P % J<& J N a t.l k ӇN  M Ly N>U / ̺&| 9Np &  -D'} .Y x? ۷ r/ kK k U)8m T>7 <R  q 097 $r?S   ,  7! IY * %%= hr Nb 9  xH= a I ~l y !p $ %6bR )Ε .e 2; 7F >/t >0 >2[ >N >ZI > > >p >sX > ?t| DT3 G(C I`D Id L MbA P@ QT RV RV S.T SG S Y. Yo [ hۮ j7o m( pe sL u( vh-  * BJ  Tm Tc TU T 3 L< ol x DU  / u ,' ,13 S )d )d} T`E  .mv .D .d .& . . .  R@ = a az P yQ a} v e." x0 c hNb+ ɾd% ɾd'@ e ̈́^x >@ ҂ ӏ Ӵ [ ~ >e % up t; R$ oo  |A ]4 b#8 Je Xtu n 9 )f t ۰ a[i  & :b8 Uqk 6 b{ ʜd f f fd "  H $ #  H` #$ #= %nc % (I$L (N +>g# +k{ 0Ew 64t ;ɾ Fg K9 Ptm~ Pt R"y S,D T>6L ^Uj) c dBV fe fe g hQ$. iFC&W i; i& jN/ jӮ׀ kGnv l"< m9 n u:a u#G uZ v ` v&m v{ w wJ w w} w}K w} |[+ uH ) 3 < J? bߧ ל |+ ^ 8 }X S R) %7q X xN` "; U^ ɰeT Fq U X? bo Y &   x_ D@  + t5l t5ؗ % M >x[ n, @ )4 3? SE$R>w>Y @aUYT^,\vgT^pSdpS!a9$+4&-ֽ'*[*ռ+,/E] /Ez/Exb4Qt$7SI_9@KOO_wS5XRuXI[ [ Ua.Ua.a%!gcMi$(nyGvɅGoy$y?.!~;b%1,>*e)_4cvh'!4SNl'N7 ^:|tZ56DBZzq5BL3Ӯ`tӮ`Ӯ`A>$r\ ݖmUڎ[yʭ4>^pprFrj;jw6  * : G lD+"#{$UE%4~%4'|;*],-j-vw0i)4051c^1cyH2wT4dDT~F74]FHEJd:KQ3L$.ݑO{zPdDWO|[{*c5c5{c d#g3ܥiCQlpqii v)[yCUs{`n6{~a26$Y51& & Du$t+{Yi`4n6[&>8ͣ;;hkt"N EH"~gdLR(r]rc4-1oky֠U"H'T/S44aLnt2޷BP̝rSt2ab>dU{ilFermer l'onglet Close Tab CloseButton<indfini> Debugger::JSAgentWatchData0[Tableau de longueur %1][Array of length %1]Debugger::JSAgentWatchDataFausse erreur ! Fake error! FakeReplyURL invalide Invalid URL FakeReply propos de %1About %1MAC_APPLICATION_MENUMasquer %1Hide %1MAC_APPLICATION_MENU$Masquer les autres Hide OthersMAC_APPLICATION_MENUPrfrences...Preferences...MAC_APPLICATION_MENUQuitter %1Quit %1MAC_APPLICATION_MENUServicesServicesMAC_APPLICATION_MENUTout afficherShow AllMAC_APPLICATION_MENUAccessibilit AccessibilityPhonon::Communication CommunicationPhonon::JeuxGamesPhonon::MusiqueMusicPhonon::Notifications NotificationsPhonon:: VidoVideoPhonon::><html>Basculement vers le priphrique audio <b>%1</b><br/>dont le niveau de prfrence est plus lev ou qui est spcifiquement configur pour ce flux.</html>Switching to the audio playback device %1
which has higher preference or is specifically configured for this stream.Phonon::AudioOutput&<html>Basculement vers le priphrique audio <b>%1</b><br/>qui vient juste d'tre disponible et dont le niveau de prfrence est plus lev.</html>xSwitching to the audio playback device %1
which just became available and has higher preference.Phonon::AudioOutput<html>Le priphrique audio <b>%1</b> ne fonctionne pas.<br/>Repli sur <b>%2</b>.</html>^The audio playback device %1 does not work.
Falling back to %2.Phonon::AudioOutput8Revenir au priphrique '%1'Revert back to device '%1'Phonon::AudioOutputAttention: Vous n'avez apparemment pas installes les plugins de base de GStreamer. Le support audio et vido est dsactiv~Warning: You do not seem to have the base GStreamer plugins installed. All audio and video support has been disabledPhonon::Gstreamer::Backend Attention: Vous n'avez apparemment pas install le paquet gstreamer0.10-plugins-good. Des fonctionnalits vido ont t desactives.Warning: You do not seem to have the package gstreamer0.10-plugins-good installed. Some video features have been disabled.Phonon::Gstreamer::BackendUn codec requis est manquant. Vous devez installer le codec suivant pour jouer le contenu: %0`A required codec is missing. You need to install the following codec(s) to play this content: %0Phonon::Gstreamer::MediaObjectImpossible de dmarrer la lecture. Vrifiez votre installation de GStreamer et assurez-vous d'avoir install libgstreamer-plugins-base.wCannot start playback. Check your GStreamer installation and make sure you have libgstreamer-plugins-base installed.Phonon::Gstreamer::MediaObjectLImpossible de dcoder le mdia source.Could not decode media source.Phonon::Gstreamer::MediaObjectPImpossible de localiser le mdia source.Could not locate media source.Phonon::Gstreamer::MediaObjectImpossible d'ouvrir le priphrique audio. Celui-ci est dj en cours d'utilisation.:Could not open audio device. The device is already in use.Phonon::Gstreamer::MediaObjectHImpossible d'ouvrir le mdia source.Could not open media source.Phonon::Gstreamer::MediaObject0Type de source invalide.Invalid source type.Phonon::Gstreamer::MediaObjectZAssistant de script d'aide au codec manquant.&Missing codec helper script assistant.Phonon::Gstreamer::MediaObjecthchec de l'installation du plugin pour le codec : %0.Plugin codec installation failed for codec: %0Phonon::Gstreamer::MediaObject(Autorisation refuse Access denied Phonon::MMFExiste djAlready exists Phonon::MMFSortie audio Audio Output Phonon::MMFfLes composants audio ou vido n'ont pas pu tre lus-Audio or video components could not be played Phonon::MMF,Erreur de sortie audioAudio output error Phonon::MMF(Connexion impossibleCould not connect Phonon::MMFErreur GDN DRM error Phonon::MMF$Erreur du dcodeur Decoder error Phonon::MMFDconnect Disconnected Phonon::MMFUtilisIn use Phonon::MMF6Bande passante insuffisanteInsufficient bandwidth Phonon::MMFURL invalide Invalid URL Phonon::MMF$Protocole invalideInvalid protocol Phonon::MMF Erreur multicastMulticast error Phonon::MMF<Erreur de communication rseauNetwork communication error Phonon::MMF*Rseau non disponibleNetwork unavailable Phonon::MMFAucune erreurNo error Phonon::MMFIntrouvable Not found Phonon::MMFPas prt Not ready Phonon::MMFNon support Not supported Phonon::MMF(Mmoire insuffisante Out of memory Phonon::MMFDpassementOverflow Phonon::MMF$Chemin introuvablePath not found Phonon::MMF(Autorisation refusePermission denied Phonon::MMF.Erreur du serveur proxyProxy server error Phonon::MMF4Serveur proxy non supportProxy server not supported Phonon::MMFAlerte serveur Server alert Phonon::MMF,Streaming non supportStreaming not supported Phonon::MMF8Priphrique audio de sortieThe audio output device Phonon::MMFSoupassement Underflow Phonon::MMF(Erreur inconnue (%1)Unknown error (%1) Phonon::MMF,Erreur de sortie vidoVideo output error Phonon::MMF0Erreur de tlchargementDownload error Phonon::MMF::AbstractMediaPlayerFErreur lors de l'ouverture de l'URLError opening URL Phonon::MMF::AbstractMediaPlayerJErreur lors de l'ouverture du fichierError opening file Phonon::MMF::AbstractMediaPlayerTerreur lors de l'ouverture de la ressourceError opening resource Phonon::MMF::AbstractMediaPlayer~erreur lors de l'ouverture de la source : ressource non ouverte)Error opening source: resource not opened Phonon::MMF::AbstractMediaPlayer8chec de l'ouverture du clipLoading clip failed Phonon::MMF::AbstractMediaPlayer*Pas prt pour lectureNot ready to play Phonon::MMF::AbstractMediaPlayer Lecture terminePlayback complete Phonon::MMF::AbstractMediaPlayer:Le rglage du volume a chouSetting volume failed Phonon::MMF::AbstractMediaPlayerFL'obtention de la position a chouGetting position failed Phonon::MMF::AbstractVideoPlayer8L'ouverture du clip a chouOpening clip failed Phonon::MMF::AbstractVideoPlayer2La mise en pause a chou Pause failed Phonon::MMF::AbstractVideoPlayer*La recherche a chou Seek failed Phonon::MMF::AbstractVideoPlayer %1 Hz%1 HzPhonon::MMF::AudioEqualizerFL'obtention de la position a chouGetting position failedPhonon::MMF::AudioPlayer6Erreur de l'affichage vidoVideo display errorPhonon::MMF::DsaVideoPlayer ActivEnabledPhonon::MMF::EffectFactory,Ratio HF du dclin (%)Decay HF ratio (%) Phonon::MMF::EnvironmentalReverb(Temps de dclin (ms)Decay time (ms) Phonon::MMF::EnvironmentalReverbDensit (%) Density (%) Phonon::MMF::EnvironmentalReverbDiffusion (%) Diffusion (%) Phonon::MMF::EnvironmentalReverb*Dlai rflexions (ms)Reflections delay (ms) Phonon::MMF::EnvironmentalReverb,Niveau rflexions (mB)Reflections level (mB) Phonon::MMF::EnvironmentalReverb6Dlai de rverbration (ms)Reverb delay (ms) Phonon::MMF::EnvironmentalReverb8Niveau de rverbration (mB)Reverb level (mB) Phonon::MMF::EnvironmentalReverbNiveau HF pice Room HF level Phonon::MMF::EnvironmentalReverb"Niveau pice (mB)Room level (mB) Phonon::MMF::EnvironmentalReverbErreur lors de l'ouverture de la source: type de mdia non dtermin8Error opening source: media type could not be determinedPhonon::MMF::MediaObject|Erreur lors de l'ouverture de la source : ressource compresse,Error opening source: resource is compressedPhonon::MMF::MediaObjectxErreur lors de l'ouverture de la source : ressource invalide(Error opening source: resource not validPhonon::MMF::MediaObjectvErreur lors de l'ouverture de la source: type non support(Error opening source: type not supportedPhonon::MMF::MediaObjectEchec lors de l'tablissement du point d'accs Internet requisFailed to set requested IAPPhonon::MMF::MediaObjectNiveau (%) Level (%)Phonon::MMF::StereoWidening6Erreur de l'affichage vidoVideo display errorPhonon::MMF::SurfaceVideoPlayerSon coupMutedPhonon::VolumeSliderUtilisez le slider pour ajuster le volume. La position la plus gauche est 0%, la plus droite est %1%WUse this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1%Phonon::VolumeSliderVolume: %1% Volume: %1%Phonon::VolumeSliderHLa squence %1, %2 n'est pas dfinie%1, %2 not definedQ3Accel>Squence ambigu %1 non traiteAmbiguous %1 not handledQ3AccelSupprimerDelete Q3DataTableFauxFalse Q3DataTableInsrerInsert Q3DataTableVraiTrue Q3DataTableActualiserUpdate Q3DataTable%1 Impossible de trouver le fichier. Vrifiez le chemin et le nom du fichier.+%1 File not found. Check path and filename. Q3FileDialogSuppri&mer&Delete Q3FileDialog&Non&No Q3FileDialog&OK&OK Q3FileDialog&Ouvrir&Open Q3FileDialog&Renommer&Rename Q3FileDialog&Enregistrer&Save Q3FileDialog&Non tri &Unsorted Q3FileDialog&Oui&Yes Q3FileDialogb<qt>Voulez-vous vraiment supprimer %1 "%2"?</qt>1Are you sure you wish to delete %1 "%2"? Q3FileDialog*Tous les fichiers (*) All Files (*) Q3FileDialog.Tous les fichiers (*.*)All Files (*.*) Q3FileDialogAttributs Attributes Q3FileDialog,Prcdent (historique)Back Q3FileDialogAnnulerCancel Q3FileDialog6Copie ou dplace un fichierCopy or Move a File Q3FileDialog0Crer un nouveau dossierCreate New Folder Q3FileDialogDateDate Q3FileDialogSupprimer %1 Delete %1 Q3FileDialog$Affichage dtaill Detail View Q3FileDialogDossierDir Q3FileDialogDossiers Directories Q3FileDialogDossier:  Directory: Q3FileDialog ErreurError Q3FileDialogFichierFile Q3FileDialog$&Nom de fichier:  File &name: Q3FileDialog&&Type de fichier:  File &type: Q3FileDialog0Chercher dans le dossierFind Directory Q3FileDialogInaccessible Inaccessible Q3FileDialogAffichage liste List View Q3FileDialog"Chercher &dans:  Look &in: Q3FileDialogNomName Q3FileDialogNouveau dossier New Folder Q3FileDialog$Nouveau dossier %1 New Folder %1 Q3FileDialog"Nouveau dossier 1 New Folder 1 Q3FileDialog.Aller au dossier parentOne directory up Q3FileDialog OuvrirOpen Q3FileDialog OuvrirOpen  Q3FileDialog>Contenu du fichier prvisualisPreview File Contents Q3FileDialogHInformations du fichier prvisualisPreview File Info Q3FileDialogR&echargerR&eload Q3FileDialogLecture seule Read-only Q3FileDialog Lecture-criture Read-write Q3FileDialogLecture: %1Read: %1 Q3FileDialog Enregistrer sousSave As Q3FileDialog.Slectionner un dossierSelect a Directory Q3FileDialog:Afficher les fic&hiers cachsShow &hidden files Q3FileDialog TailleSize Q3FileDialogTriSort Q3FileDialogTrier par &date Sort by &Date Q3FileDialogTrier par &nom Sort by &Name Q3FileDialog"Trier par ta&ille Sort by &Size Q3FileDialogFichier spcialSpecial Q3FileDialog>Lien symbolique vers un dossierSymlink to Directory Q3FileDialog>Lien symbolique vers un fichierSymlink to File Q3FileDialogNLien symbolique vers un fichier spcialSymlink to Special Q3FileDialogTypeType Q3FileDialogcriture seule Write-only Q3FileDialogcriture: %1 Write: %1 Q3FileDialogle dossier the directory Q3FileDialogle fichierthe file Q3FileDialog$le lien symbolique the symlink Q3FileDialogBImpossible de crer le dossier %1Could not create directory %1 Q3LocalFs,Impossible d'ouvrir %1Could not open %1 Q3LocalFs@Impossible de lire le dossier %1Could not read directory %1 Q3LocalFs`Impossible de supprimer le fichier ou dossier %1%Could not remove file or directory %1 Q3LocalFs>Impossible de renommer %1 en %2Could not rename %1 to %2 Q3LocalFs,Impossible d'crire %1Could not write %1 Q3LocalFs Personnaliser... Customize... Q3MainWindowAlignerLine up Q3MainWindowNOpration interrompue par l'utilisateurOperation stopped by the userQ3NetworkProtocolAnnulerCancelQ3ProgressDialogAppliquerApply Q3TabDialogAnnulerCancel Q3TabDialogPar dfautDefaults Q3TabDialogAideHelp Q3TabDialogOKOK Q3TabDialogCop&ier&Copy Q3TextEditCo&ller&Paste Q3TextEdit&Rtablir&Redo Q3TextEdit&Annuler&Undo Q3TextEditEffacerClear Q3TextEditCo&uperCu&t Q3TextEdit"Tout slectionner Select All Q3TextEdit FermerClose Q3TitleBar Ferme la fentreCloses the window Q3TitleBar`Contient des commandes pour manipuler la fentre*Contains commands to manipulate the window Q3TitleBarAffiche le nom de la fentre et contient des contrles pour la manipulerFDisplays the name of the window and contains controls to manipulate it Q3TitleBarBAffiche la fentre en plein cranMakes the window full screen Q3TitleBarMaximiserMaximize Q3TitleBarRduireMinimize Q3TitleBar8Dplace la fentre l'cartMoves the window out of the way Q3TitleBar\Rend une fentre minimise son aspect normal&Puts a maximized window back to normal Q3TitleBar\Rend une fentre minimise son aspect normal&Puts a minimized window back to normal Q3TitleBar Restaurer en bas Restore down Q3TitleBar"Restaurer en haut Restore up Q3TitleBarSystmeSystem Q3TitleBarPlus...More... Q3ToolBar(inconnu) (unknown) Q3UrlOperatorLe protocole `%1' ne permet pas de copier ou de dplacer des fichiersIThe protocol `%1' does not support copying or moving files or directories Q3UrlOperatorzLe protocole `%1' ne permet pas de crer de nouveaux dossiers;The protocol `%1' does not support creating new directories Q3UrlOperatorpLe protocole `%1' ne permet pas de recevoir des fichiers0The protocol `%1' does not support getting files Q3UrlOperatorLe protocole `%1' ne permet pas de lister les fichiers d'un dossier6The protocol `%1' does not support listing directories Q3UrlOperatorlLe protocole `%1' ne permet pas d'envoyer des fichiers0The protocol `%1' does not support putting files Q3UrlOperatorLe protocole `%1' ne permet pas de supprimer des fichiers ou des dossiers@The protocol `%1' does not support removing files or directories Q3UrlOperatorLe protocole `%1' ne permet pas de renommer des fichiers ou des dossiers@The protocol `%1' does not support renaming files or directories Q3UrlOperator@Le protocole '%1' n'est pas gr"The protocol `%1' is not supported Q3UrlOperator&Annuler&CancelQ3Wizard&Terminer&FinishQ3Wizard &Aide&HelpQ3Wizard&Suivant >&Next >Q3Wizard< &Prcdent< &BackQ3Wizard"Connexion refuseConnection refusedQAbstractSocket"Connexion expireConnection timed outQAbstractSocket Hte introuvableHost not foundQAbstractSocket:Rseau impossible rejoindreNetwork unreachableQAbstractSocketDOpration sur socket non supporte$Operation on socket is not supportedQAbstractSocket8Le socket n'est pas connectSocket is not connectedQAbstractSocket0Opration socket expireSocket operation timed outQAbstractSocket$Tout &slectionner &Select AllQAbstractSpinBox&Augmenter&Step upQAbstractSpinBox&Diminuer Step &downQAbstractSpinBox CocherCheckQAccessibleButtonAppuyerPressQAccessibleButtonDcocherUncheckQAccessibleButtonActiverActivate QApplicationRActive la fentre principale du programme#Activates the program's main window QApplicationbL'excutable '%1' requiert Qt %2 (Qt %3 prsent).,Executable '%1' requires Qt %2, found Qt %3. QApplicationJErreur: bibliothque Qt incompatibleIncompatible Qt Library Error QApplicationLTRTranslate this string to the string 'LTR' in left-to-right languages or to 'RTL' in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.QT_LAYOUT_DIRECTION QApplication&Annuler&Cancel QAxSelect&Objet COM:  COM &Object: QAxSelectOKOK QAxSelect@Slectionner un contrle ActiveXSelect ActiveX Control QAxSelect CocherCheck QCheckBoxChangerToggle QCheckBoxDcocherUncheck QCheckBoxH&Ajouter aux couleurs personnalises&Add to Custom Colors QColorDialog"Couleurs de &base &Basic colors QColorDialog0&Couleurs personnalises&Custom colors QColorDialog&Vert: &Green: QColorDialog&Rouge: &Red: QColorDialog&Saturation: &Sat: QColorDialog&Valeur: &Val: QColorDialogCanal a&lpha: A&lpha channel: QColorDialogBle&u: Bl&ue: QColorDialog&Teinte: Hu&e: QColorDialog0Slectionner une couleur Select Color QColorDialog FermerClose QComboBoxFauxFalse QComboBox OuvrirOpen QComboBoxVraiTrue QComboBox %1 : existe djQSystemSemaphore%1: already existsQCoreApplication"%1 : n'existe pasQSystemSemaphore%1: does not existQCoreApplication$%1 : ftok a chouQSystemSemaphore%1: ftok failedQCoreApplication%1 : cl videQSystemSemaphore%1: key is emptyQCoreApplicationF%1 : plus de ressources disponiblesQSystemSemaphore%1: out of resourcesQCoreApplication.%1: permission refuse%1: permission deniedQCoreApplication>%1 : impossible de crer la clQSystemSemaphore%1: unable to make keyQCoreApplication.%1 : erreur inconnue %2QSystemSemaphore%1: unknown error %2QCoreApplicationJIncapable de soumettre la transactionUnable to commit transaction QDB2DriverBIncapable d'tablir une connexionUnable to connect QDB2DriverDIncapable d'annuler la transactionUnable to rollback transaction QDB2DriverLImpossible d'activer l'auto-soumissionUnable to set autocommit QDB2DriverBImpossible d'attacher la variableUnable to bind variable QDB2Result@Impossible d'excuter la requteUnable to execute statement QDB2ResultDImpossible de rcuprer le premierUnable to fetch first QDB2ResultDImpossible de rcuprer le suivantUnable to fetch next QDB2ResultVImpossible de rcuprer l'enregistrement %1Unable to fetch record %1 QDB2ResultBImpossible de prparer la requteUnable to prepare statement QDB2ResultAMAM QDateTimeEditPMPM QDateTimeEditamam QDateTimeEditpmpm QDateTimeEditHL'animation est une classe abstraiteAnimation is an abstract classQDeclarativeAbstractAnimationbImpossible d'animer la proprit inexistante "%1")Cannot animate non-existent property "%1"QDeclarativeAbstractAnimationlImpossible d'animer la proprit en lecture seule "%1"&Cannot animate read-only property "%1"QDeclarativeAbstractAnimationZImpossible de slectionner une dure ngativeCannot set a duration of < 0QDeclarativeAnchorAnimationL'ancre baseline ne peut pas etre combine l'usage des ancres haut, bas ou vcenter.SBaseline anchor cannot be used in conjunction with top, bottom, or vcenter anchors.QDeclarativeAnchorstImpossible d'ancrer un bord horizontal un bord vertical.3Cannot anchor a horizontal edge to a vertical edge.QDeclarativeAnchorstImpossible d'ancrer un bord vertical un bord horizontal.3Cannot anchor a vertical edge to a horizontal edge.QDeclarativeAnchorsRImpossible d'ancrer l'lment lui mme.Cannot anchor item to self.QDeclarativeAnchorsJImpossible d'ancrer un lment nul.Cannot anchor to a null item.QDeclarativeAnchorsImpossible d'ancrer un lment qui n'est pas un parent ou partage le mme parent.8Cannot anchor to an item that isn't a parent or sibling.QDeclarativeAnchorsImpossible de spcifier la fois une ancre gauche, droite et hcenter.0Cannot specify left, right, and hcenter anchors.QDeclarativeAnchorsImpossible de spcifier la fois une ancre haut, bas et vcenter.0Cannot specify top, bottom, and vcenter anchors.QDeclarativeAnchorszBoucle potentielle dans les ancres dtecte pour le centrage.*Possible anchor loop detected on centerIn.QDeclarativeAnchorsBoucle potentielle dans les ancres dtecte pour le remplissage.&Possible anchor loop detected on fill.QDeclarativeAnchorsBoucle potentielle dans les ancres dtecte pour l'ancre horizontale.3Possible anchor loop detected on horizontal anchor.QDeclarativeAnchorsBoucle potentielle dans les ancres dtecte pour l'ancre verticale.1Possible anchor loop detected on vertical anchor.QDeclarativeAnchorsNQt a t compil sans support de QMovie'Qt was built without support for QMovieQDeclarativeAnimatedImageHApplication est une classe abstraite Application is an abstract classQDeclarativeApplicationzImpossible de changer l'animation affecte un comportement.3Cannot change the animation assigned to a Behavior.QDeclarativeBehaviorrBoucle dtecte dans l'affectation pour la proprit "%1"'Binding loop detected for property "%1"QDeclarativeBindingrBoucle dtecte dans l'affectation pour la proprit "%1"'Binding loop detected for property "%1"QDeclarativeCompiledBindingsTL'alias de proprit n'a pas d'emplacementQDeclarativeCompiler@"%1" ne peut pas oprer sur "%2""%1" cannot operate on "%2"QDeclarativeCompilerz"%1.%2" n'est pas disponible dans cette version du composant.5"%1.%2" is not available due to component versioning.QDeclarativeCompilerV"%1.%2" n'est pas disponible dans %3 %4.%5.%"%1.%2" is not available in %3 %4.%5.QDeclarativeCompilerjLa configuration spcifie ne peut tre utilise ici.'Attached properties cannot be used hereQDeclarativeCompilerVUn seul lien peut tre assign des listes$Can only assign one binding to listsQDeclarativeCompilerImpossible d'assigner directement une valeur une proprit groupe4Cannot assign a value directly to a grouped propertyQDeclarativeCompilerImpossible d'assigner une valeur un signal (un script excuter est attendu)@Cannot assign a value to a signal (expecting a script to be run)QDeclarativeCompilerImpossible d'assigner plusieurs valeurs une proprit de script2Cannot assign multiple values to a script propertyQDeclarativeCompilerImpossible d'assigner plusieurs valeurs une proprit singulire4Cannot assign multiple values to a singular propertyQDeclarativeCompilerTImpossible d'assigner un objet une listeCannot assign object to listQDeclarativeCompiler\Impossible d'assigner un objet une proprit Cannot assign object to propertyQDeclarativeCompilerbImpossible d'assigner des primitives des listes!Cannot assign primitives to listsQDeclarativeCompilerxImpossible d'attacher une proprit par dfaut inexistante.Cannot assign to non-existent default propertyQDeclarativeCompilerlImpossible d'attacher une proprit inexistante "%1"+Cannot assign to non-existent property "%1"QDeclarativeCompilernImpossible de crer une spcification du composant vide+Cannot create empty component specificationQDeclarativeCompilerTImpossible de remplacer la proprit FINALCannot override FINAL propertyQDeclarativeCompilerLes lments du composant ne peuvent pas contenir des proprits autres que id;Component elements may not contain properties other than idQDeclarativeCompilerLes objets composants ne peuvent pas dclarer de nouvelles fonctions./Component objects cannot declare new functions.QDeclarativeCompilerLes objets composants ne peuvent pas dclarer de nouvelles proprits.0Component objects cannot declare new properties.QDeclarativeCompilerLes objets composants ne peuvent pas dclarer de nouveaux signaux.-Component objects cannot declare new signals.QDeclarativeCompiler<Proprit par dfaut en doubleDuplicate default propertyQDeclarativeCompiler0Nom de mthode en doubleDuplicate method nameQDeclarativeCompiler4Nom de proprit en doubleDuplicate property nameQDeclarativeCompiler.Nom de signal en doubleDuplicate signal nameQDeclarativeCompiler<Impossible de crer l'lment.Element is not creatable.QDeclarativeCompiler:Affectation de proprit videEmpty property assignmentQDeclarativeCompiler4Affectation de signal videEmpty signal assignmentQDeclarativeCompilerlid masque illgalement la proprit JavaScript globale-ID illegally masks global JavaScript propertyQDeclarativeCompilerfLes ids ne peuvent pas commencer par une majuscule)IDs cannot start with an uppercase letterQDeclarativeCompilerLes ids ne peuvent contenir que des lettres, des nombres ou des tirets bas7IDs must contain only letters, numbers, and underscoresQDeclarativeCompilerpLes ids doivent commencer par une lettre ou un tiret bas*IDs must start with a letter or underscoreQDeclarativeCompiler.Nom de mthode invalideIllegal method nameQDeclarativeCompiler2Nom de proprit invalideIllegal property nameQDeclarativeCompiler,Nom de signal invalideIllegal signal nameQDeclarativeCompilerhL'affectation du signal est incorrectement spcifie'Incorrectly specified signal assignmentQDeclarativeCompilervRfrence d'alias invalide. Impossible de trouver l'id "%1"/Invalid alias reference. Unable to find id "%1"QDeclarativeCompilerZL'affectation de l'objet attach est invalide"Invalid attached object assignmentQDeclarativeCompilertLe corps de la spcification du composant n'est pas valide$Invalid component body specificationQDeclarativeCompilerXL'id de composant spcifie n'est pas valide"Invalid component id specificationQDeclarativeCompiler id vide invalideInvalid empty IDQDeclarativeCompilerLAccs invalide une proprit groupeInvalid grouped property accessQDeclarativeCompilerAffectation de proprit invalide : "%1"est une proprit en lecture seule9Invalid property assignment: "%1" is a read-only propertyQDeclarativeCompilerlAffectation de proprit invalide : vecteur 3D attendu/Invalid property assignment: 3D vector expectedQDeclarativeCompilerfAffectation de proprit invalide : boolen attendu-Invalid property assignment: boolean expectedQDeclarativeCompilerhAffectation de proprit invalide : couleur attendue+Invalid property assignment: color expectedQDeclarativeCompilerbAffectation de proprit invalide : date attendue*Invalid property assignment: date expectedQDeclarativeCompilervAffectation de proprit invalide : date et heure attendues.Invalid property assignment: datetime expectedQDeclarativeCompiler^Affectation de proprit invalide : int attendu)Invalid property assignment: int expectedQDeclarativeCompilerdAffectation de proprit invalide : nombre attendu,Invalid property assignment: number expectedQDeclarativeCompilerbAffectation de proprit invalide : point attendu+Invalid property assignment: point expectedQDeclarativeCompilerjAffectation de proprit invalide : rectangle attendu*Invalid property assignment: rect expectedQDeclarativeCompilerdAffectation de proprit invalide : script attendu,Invalid property assignment: script expectedQDeclarativeCompilerfAffectation de proprit invalide : taille attendue*Invalid property assignment: size expectedQDeclarativeCompilerfAffectation de proprit invalide : chane attendue,Invalid property assignment: string expectedQDeclarativeCompilerdAffectation de proprit invalide : heure attendue*Invalid property assignment: time expectedQDeclarativeCompilerpAffectation de proprit invalide : numration inconnue0Invalid property assignment: unknown enumerationQDeclarativeCompilerpAffectation de proprit invalide : unsigned int attendu2Invalid property assignment: unsigned int expectedQDeclarativeCompilertAffectation de proprit invalide : type "%1" non support2Invalid property assignment: unsupported type "%1"QDeclarativeCompiler`Affectation de proprit invalide : url attendue)Invalid property assignment: url expectedQDeclarativeCompilerBImbrication de proprit invalideInvalid property nestingQDeclarativeCompiler4Type de proprit invalideInvalid property typeQDeclarativeCompilerDLa proprit utilise est invalideInvalid property useQDeclarativeCompilerNUtilisation invalide de la proprit idInvalid use of id propertyQDeclarativeCompilerJUtilisation invalide d'espace de nomsInvalid use of namespaceQDeclarativeCompilerLes noms des mthodes ne peuvent pas commencer par une majuscule3Method names cannot begin with an upper case letterQDeclarativeCompiler0Objet attach inexistantNon-existent attached objectQDeclarativeCompilerRCe n'est pas un nom de proprit attacheNot an attached property nameQDeclarativeCompilerBAffectation de proprit attendueProperty assignment expectedQDeclarativeCompiler\Une valeur a dj t attribue la proprit*Property has already been assigned a valueQDeclarativeCompilerLes noms des proprits ne peuvent pas commencer par une majuscule5Property names cannot begin with an upper case letterQDeclarativeCompilerXValeur de proprit attribue plusieurs fois!Property value set multiple timesQDeclarativeCompiler|Les noms de signaux ne peuvent pas commencer par une majuscule3Signal names cannot begin with an upper case letterQDeclarativeCompiler^Une seule affectation de proprit est attendue#Single property assignment expectedQDeclarativeCompiler<Affectation d'objet inattendueUnexpected object assignmentQDeclarativeCompiler*l'id n'est pas uniqueid is not uniqueQDeclarativeCompiler"URL vide invalideInvalid empty URLQDeclarativeComponentfcreateObject : la valeur fournie n'est pas un objet$createObject: value is not an objectQDeclarativeComponenthImposible d'assigner la proprit inexistante "%1"+Cannot assign to non-existent property "%1"QDeclarativeConnectionsrConnexions: les lments imbriqus ne sont pas autoriss'Connections: nested objects not allowedQDeclarativeConnections6Connexions: script attenduConnections: script expectedQDeclarativeConnections<Connexions: erreur de syntaxeConnections: syntax errorQDeclarativeConnections8Transaction en lecture seuleRead-only TransactionQDeclarativeEngine8la transaction SQL a choueSQL transaction failedQDeclarativeEnginenSQL : la version de la base de donnes est incompatibleSQL: database version mismatchQDeclarativeEngine\Version incompatible: %1 attendue, %2 trouve'Version mismatch: expected %1, found %2QDeclarativeEnginedexecuteSql a t appel en dehors de transaction()'executeSql called outside transaction()QDeclarativeEngine^transaction: la fonction de rappel est absentetransaction: missing callbackQDeclarativeEnginePback est une proprit criture uniqueback is a write-once propertyQDeclarativeFlipableRfront est une proprit criture uniquefront is a write-once propertyQDeclarativeFlipableB"%1" : le rpertoire n'existe pas"%1": no such directoryQDeclarativeImportDatabase@- %1 n'est pas un espace de noms- %1 is not a namespaceQDeclarativeImportDatabasej- les espaces de noms imbriqus ne sont pas autoriss- nested namespaces not allowedQDeclarativeImportDatabasepl'importation "%1" n'a pas de qmldir ni d'espace de noms*import "%1" has no qmldir and no namespaceQDeclarativeImportDatabaseJest ambigu. Trouv dans %1 et dans %2#is ambiguous. Found in %1 and in %2QDeclarativeImportDatabasevest ambigu. Trouv dans %1 dans les versions %2.%3 et %4.%54is ambiguous. Found in %1 in version %2.%3 and %4.%5QDeclarativeImportDatabase6est instanci rcursivementis instantiated recursivelyQDeclarativeImportDatabase"n'est pas un type is not a typeQDeclarativeImportDatabase rpertoire locallocal directoryQDeclarativeImportDatabasefla dfinition "%2" du module "%1% n'est pas lisible(module "%1" definition "%2" not readableQDeclarativeImportDatabaseBle module "%1" n'est pas installmodule "%1" is not installedQDeclarativeImportDatabase`le plugin "%2" du module "%1" n'a pas t trouv!module "%1" plugin "%2" not foundQDeclarativeImportDatabasefla version %2.%3 du module "%1" n'est pas installe*module "%1" version %2.%3 is not installedQDeclarativeImportDatabasepimpossible de charger le plugin pour le module "%1" : %2+plugin cannot be loaded for module "%1": %2QDeclarativeImportDatabaseKeyNavigation est disponible uniquement via les proprits attaches7KeyNavigation is only available via attached properties!QDeclarativeKeyNavigationAttachedvKeys est disponible uniquement via les proprits attaches.Keys is only available via attached propertiesQDeclarativeKeysAttachedrListElement: ne peut pas contenir des lments imbriqus+ListElement: cannot contain nested elementsQDeclarativeListModelzListElement: ne peut pas utiliser la proprit rserve "id".ListElement: cannot use reserved "id" propertyQDeclarativeListModelListElement: ne peut pas utiliser script comme valeur pour une proprit1ListElement: cannot use script for property valueQDeclarativeListModelHListModel: proprit indfinie '%1'"ListModel: undefined property '%1'QDeclarativeListModelLappend : une valeur n'est pas un objetappend: value is not an objectQDeclarativeListModel~insert : l'index %1 est hors de la plage de valeurs admissiblesinsert: index %1 out of rangeQDeclarativeListModelLinsert : une valeur n'est pas un objetinsert: value is not an objectQDeclarativeListModel\move : hors de la plage de valeurs admissiblesmove: out of rangeQDeclarativeListModel~remove : l'index %1 est hors de la plage de valeurs admissiblesremove: index %1 out of rangeQDeclarativeListModelvset : l'index %1 est hors de la plage de valeurs admissibleset: index %1 out of rangeQDeclarativeListModelFset : une valeur n'est pas un objetset: value is not an objectQDeclarativeListModelLe chargeur n'est pas compatible avec le chargement d'lments non-visuels.4Loader does not support loading non-visual elements.QDeclarativeLoaderImpossible de conserver l'aspect lors d'une transformation complexe5Unable to preserve appearance under complex transformQDeclarativeParentAnimationImpossible de conserver l'aspect lors d'une mise l'chelle non uniforme5Unable to preserve appearance under non-uniform scaleQDeclarativeParentAnimationImpossible de conserver l'aspect lors d'une mise l'chelle gale 0.Unable to preserve appearance under scale of 0QDeclarativeParentAnimationImpossible de conserver l'aspect lors d'une transformation complexe5Unable to preserve appearance under complex transformQDeclarativeParentChangeImpossible de conserver l'aspect lors d'une mise l'chelle non uniforme5Unable to preserve appearance under non-uniform scaleQDeclarativeParentChangeImpossible de conserver l'aspect lors d'une mise l'chelle gale 0.Unable to preserve appearance under scale of 0QDeclarativeParentChange2Type de paramtre attenduExpected parameter typeQDeclarativeParser2Type de proprit attenduExpected property typeQDeclarativeParser$jeton attendu '%1'Expected token `%1'QDeclarativeParser&Nom de type attenduExpected type nameQDeclarativeParserjImpossible de commencer un identifiant par un chiffre,Identifier cannot start with numeric literalQDeclarativeParser"Caractre illgalIllegal characterQDeclarativeParser>Squence d'chappement illgaleIllegal escape sequenceQDeclarativeParserVSyntaxe illgale pour un nombre exponentiel%Illegal syntax for exponential numberQDeclarativeParserNSquence d'chappement Unicode illgaleIllegal unicode escape sequenceQDeclarativeParserLqualificatif id d'importation invalideInvalid import qualifier IDQDeclarativeParser^Modificateur invalide pour le type de propritInvalid property type modifierQDeclarativeParser`Drapeau '%0' invalid pour l'expression rgulire$Invalid regular expression flag '%0'QDeclarativeParserhDclaration JavaScript en dehors de l'lment Script-JavaScript declaration outside Script elementQDeclarativeParser^L'importation de bibliothque exige une version!Library import requires a versionQDeclarativeParserdvaleur de proprit attribue plusieurs reprises!Property value set multiple timesQDeclarativeParserZLa lecture seule n'est pas encore implmenteReadonly not yet supportedQDeclarativeParser"Qt" est un nom rserv et ne peut pas tre utilis comme qualificatif1Reserved name "Qt" cannot be used as an qualifierQDeclarativeParser~Les qualificatifs d'importation de script doivent tre uniques.(Script import qualifiers must be unique.QDeclarativeParserZL'importation de script exige un qualificatif"Script import requires a qualifierQDeclarativeParser"Erreur de syntaxe Syntax errorQDeclarativeParserJCommentaire non ferm en fin de ligneUnclosed comment at end of fileQDeclarativeParser^Chane de caractres non ferme en fin de ligneUnclosed string at end of lineQDeclarativeParser`Modificateur inattendu pour le type de proprit!Unexpected property type modifierQDeclarativeParser(jeton inattendu '%1'Unexpected token `%1'QDeclarativeParservSquence antislash non termine pour l'expression rgulire2Unterminated regular expression backslash sequenceQDeclarativeParser^Classe non termine pour l'expression rgulire%Unterminated regular expression classQDeclarativeParser^lment non termin pour l'expression rgulire'Unterminated regular expression literalQDeclarativeParserHImpossible d'attribuer une dure < 0Cannot set a duration of < 0QDeclarativePauseAnimation0Impossible d'ouvrir: %1Cannot open: %1QDeclarativePixmap8Erreur de dcodage: %1: %2Error decoding: %1: %2QDeclarativePixmap`Impossible d'obtenir l'image du fournisseur: %1%Failed to get image from provider: %1QDeclarativePixmapHImpossible d'attribuer une dure < 0Cannot set a duration of < 0QDeclarativePropertyAnimationhNe peut pas assigner la proprit inexistante "%1"+Cannot assign to non-existent property "%1"QDeclarativePropertyChangesrNe peut pas assigner la proprit en lecture seule "%1"(Cannot assign to read-only property "%1"QDeclarativePropertyChangesPropertyChanges n'est pas compatible avec la cration d'objets spcifiques un tat.APropertyChanges does not support creating state-specific objects.QDeclarativePropertyChangesZImpossible d'instancier le dlgu de curseur%Could not instantiate cursor delegateQDeclarativeTextInputVImpossible de charger le dlgu de curseurCould not load cursor delegateQDeclarativeTextInput %1 %2%1 %2QDeclarativeTypeLoadertL'espace de noms %1 ne peut pas tre utilis comme un type%Namespace %1 cannot be used as a typeQDeclarativeTypeLoader>Le type %1 n'est pas disponibleType %1 unavailableQDeclarativeTypeLoaderxImpossible d'assigner un objet la proprit %1 d'un signal-Cannot assign an object to signal property %1QDeclarativeVMEzImpossible d'assigner un objet la proprit d'une interface*Cannot assign object to interface propertyQDeclarativeVMETImpossible d'assigner un objet une listeCannot assign object to listQDeclarativeVMEImpossible d'assigner un objet de type %1 sans mthode par dfaut3Cannot assign object type %1 with no default methodQDeclarativeVMEhImpossible d'assigner la valeur %1 la proprit %2%Cannot assign value %1 to property %2QDeclarativeVMEImpossible de connecter le signal/slot %1 %vs. %2 pour cause d'incompatibilit0Cannot connect mismatched signal/slot %1 %vs. %2QDeclarativeVMEImpossible d'attribuer les proprits %1 car ce dernier est nul)Cannot set properties on %1 as it is nullQDeclarativeVMEHImpossible de crer un objet attach Unable to create attached objectQDeclarativeVMENImpossible de crer un objet de type %1"Unable to create object of type %1QDeclarativeVMEXUn composant dlgu doit tre de type Item.%Delegate component must be Item type.QDeclarativeVisualDataModel\Qt a t compil sans support pour xmlpatterns,Qt was built without support for xmlpatternsQDeclarativeXmlListModelbUne requte XmlRole ne doit pas commencer par '/'(An XmlRole query must not start with '/'QDeclarativeXmlListModelRolenUne requte XmlListModel doit commencer par '/' ou "//"1An XmlListModel query must start with '/' or "//"QDeclarativeXmlRoleList QDialQDialQDial"Poigne du slider SliderHandleQDialTachymtre SpeedoMeterQDialTerminerDoneQDialog*Qu'est-ce que c'est? What's This?QDialog&Annuler&CancelQDialogButtonBox&Fermer&CloseQDialogButtonBox&Non&NoQDialogButtonBox&OK&OKQDialogButtonBoxEnregi&strer&SaveQDialogButtonBox&Oui&YesQDialogButtonBoxAbandonnerAbortQDialogButtonBoxAppliquerApplyQDialogButtonBoxAnnulerCancelQDialogButtonBox FermerCloseQDialogButtonBox.Fermer sans enregistrerClose without SavingQDialogButtonBox$Ne pas enregistrerDiscardQDialogButtonBox$Ne pas enregistrer Don't SaveQDialogButtonBoxAideHelpQDialogButtonBoxIgnorerIgnoreQDialogButtonBoxNon to&ut N&o to AllQDialogButtonBoxOKOKQDialogButtonBox OuvrirOpenQDialogButtonBoxRinitialiserResetQDialogButtonBox@Restaurer les valeurs par dfautRestore DefaultsQDialogButtonBoxRessayerRetryQDialogButtonBoxEnregistrerSaveQDialogButtonBox Tout EnregistrerSave AllQDialogButtonBoxOui &tout Yes to &AllQDialogButtonBox*Dernire Modification Date Modified QDirModelTypeMatch OS X FinderKind QDirModelNomName QDirModel TailleSize QDirModelTypeAll other platformsType QDirModel FermerClose QDockWidgetAttacherDock QDockWidgetDtacherFloat QDockWidget MoinsLessQDoubleSpinBoxPlusMoreQDoubleSpinBox&OK&OK QErrorMessage>&Afficher ce message de nouveau&Show this message again QErrorMessage,Message de dbogage: Debug Message: QErrorMessage Erreur fatale:  Fatal Error: QErrorMessage Avertissement: Warning: QErrorMessageHImpossible de crer %1 pour critureCannot create %1 for outputQFileFImpossible d'ouvrir %1 pour lectureCannot open %1 for inputQFileBImpossible d'ouvrir pour critureCannot open for outputQFileRImpossible de supprimer le fichier sourceCannot remove source fileQFile:Le fichier destination existeDestination file existsQFile6Impossible d'crire un blocFailure to write blockQFileAucun moteur de fichier disponible ou celui-ci ne supporte pas UnMapExtensionBNo file engine available or engine does not support UnMapExtensionQFile|Ne renommera pas le fichier squentiel avec la copie par blocs0Will not rename sequential file using block copyQFile%1 Dossier introuvable. Veuillez vrifier que le nom du dossier est correct.K%1 Directory not found. Please verify the correct directory name was given. QFileDialog%1 Fichier introuvable. Veuillez vrifier que le nom du fichier est correct.A%1 File not found. Please verify the correct file name was given. QFileDialogdLe fichier %1 existe dj. Voulez-vous l'craser?-%1 already exists. Do you want to replace it? QFileDialog&Choisir&Choose QFileDialogSuppri&mer&Delete QFileDialog &Nouveau dossier &New Folder QFileDialog&Ouvrir&Open QFileDialog&Renommer&Rename QFileDialog&Enregistrer&Save QFileDialog'%1' est protg en criture. Voulez-vous quand mme le supprimer?9'%1' is write protected. Do you want to delete it anyway? QFileDialog AliasMac OS X FinderAlias QFileDialog*Tous les fichiers (*) All Files (*) QFileDialog.Tous les fichiers (*.*)All Files (*.*) QFileDialogRtes-vous sr de vouloir supprimer '%1'?!Are sure you want to delete '%1'? QFileDialog,Prcdent (historique)Back QFileDialog$Affichage dtaillChange to detail view mode QFileDialogAffichage listeChange to list view mode QFileDialogFImpossible de supprimer le dossier.Could not delete directory. QFileDialog0Crer un nouveau dossierCreate New Folder QFileDialog0Crer un nouveau dossierCreate a New Folder QFileDialog$Affichage dtaill Detail View QFileDialogDossiers Directories QFileDialogDossier:  Directory: QFileDialog UnitDrive QFileDialogFichierFile QFileDialog$&Nom de fichier:  File &name: QFileDialogFichier DossierMatch Windows Explorer File Folder QFileDialog&Fichiers de type: Files of type: QFileDialog0Chercher dans le dossierFind Directory QFileDialogDossierAll other platformsFolder QFileDialogSuccesseurForward QFileDialogPrcdentGo back QFileDialogSuivant Go forward QFileDialogDossier parentGo to the parent directory QFileDialogAffichage liste List View QFileDialogVoir dans: Look in: QFileDialog Poste de travail My Computer QFileDialogNouveau dossier New Folder QFileDialog OuvrirOpen QFileDialogDossier parentParent Directory QFileDialog(Emplacements rcents Recent Places QFileDialogSupprimerRemove QFileDialog Enregistrer sousSave As QFileDialogRaccourciAll other platformsShortcut QFileDialogAfficherShow  QFileDialog:Afficher les fic&hiers cachsShow &hidden files QFileDialogInconnuUnknown QFileDialog %1 Go%1 GBQFileSystemModel %1 Ko%1 KBQFileSystemModel %1 Mo%1 MBQFileSystemModel %1 To%1 TBQFileSystemModel%1 octet(s) %1 byte(s)QFileSystemModel%1 octets%1 bytesQFileSystemModel<b>Le nom "%1" ne peut pas tre utilis.</b><p>Essayez un autre nom avec moins de caractres ou sans ponctuation.oThe name "%1" can not be used.

Try using another name, with fewer characters or no punctuations marks.QFileSystemModelOrdinateurComputerQFileSystemModel*Dernire modification Date ModifiedQFileSystemModel.Nom de fichier invalideInvalid filenameQFileSystemModelTypeMatch OS X FinderKindQFileSystemModel Poste de travail My ComputerQFileSystemModelNomNameQFileSystemModel TailleSizeQFileSystemModelTypeAll other platformsTypeQFileSystemModelTousAny QFontDatabase ArabeArabic QFontDatabaseArmnienArmenian QFontDatabaseBengaliBengali QFontDatabaseExtra-grasBlack QFontDatabaseGrasBold QFontDatabaseCyrilliqueCyrillic QFontDatabaseDemiDemi QFontDatabaseDemi-gras Demi Bold QFontDatabaseDvanagari Devanagari QFontDatabaseGorgienGeorgian QFontDatabaseGrecGreek QFontDatabaseGujaratiGujarati QFontDatabaseGurmukhiGurmukhi QFontDatabase HbreuHebrew QFontDatabaseItaliqueItalic QFontDatabaseJaponaisJapanese QFontDatabaseKannadaKannada QFontDatabase KhmerKhmer QFontDatabase CorenKorean QFontDatabaseLaoLao QFontDatabase LatinLatin QFontDatabase MaigreLight QFontDatabaseMalayalam Malayalam QFontDatabaseMyanmarMyanmar QFontDatabaseN'KoN'Ko QFontDatabase NormalNormal QFontDatabaseObliqueOblique QFontDatabase OghamOgham QFontDatabase OriyaOriya QFontDatabaseRuniqueRunic QFontDatabase"Chinois SimplifiSimplified Chinese QFontDatabaseSinhalaSinhala QFontDatabaseSymboleSymbol QFontDatabaseSyriaqueSyriac QFontDatabase TamoulTamil QFontDatabase TeluguTelugu QFontDatabase ThnaThaana QFontDatabaseThaThai QFontDatabaseTibtainTibetan QFontDatabase(Chinois TraditionnelTraditional Chinese QFontDatabaseVietnamien Vietnamese QFontDatabase&Police&Font QFontDialog&Taille&Size QFontDialog&Soulign &Underline QFontDialog EffetsEffects QFontDialog St&yle de police Font st&yle QFontDialogExempleSample QFontDialog$Choisir une police Select Font QFontDialog &Barr Stri&keout QFontDialog&&Systme d'critureWr&iting System QFontDialogFchec du changement de dossier: %1Changing directory failed: %1QFtp"Connect l'hteConnected to hostQFtp(Connect l'hte %1Connected to host %1QFtpBchec de la connexion l'hte %1Connecting to host failed: %1QFtp Connexion fermeConnection closedQFtp0Connexion donne refuse&Connection refused for data connectionQFtp:Connexion l'hte %1 refuseConnection refused to host %1QFtp@Connexion expire vers l'hte %1Connection timed out to host %1QFtp*Connexion %1 fermeConnection to %1 closedQFtpLchec de la cration d'un dossier: %1Creating directory failed: %1QFtpNchec du tlchargement du fichier: %1Downloading file failed: %1QFtpHte %1 trouv Host %1 foundQFtp&Hte %1 introuvableHost %1 not foundQFtpHte trouv Host foundQFtp@chec du listage du dossier: %1Listing directory failed: %1QFtp&chec du login: %1Login failed: %1QFtpNon connect Not connectedQFtpRchec de la suppression d'un dossier: %1Removing directory failed: %1QFtpRchec de la suppression d'un fichier: %1Removing file failed: %1QFtpErreur inconnue Unknown errorQFtp<chec du tldchargement: %1Uploading file failed: %1QFtp<Aucun nom d'hte n'a t donnNo host name given QHostInfoErreur inconnue Unknown error QHostInfo Hte introuvableHost not foundQHostInfoAgent&Nom d'hte invalideInvalid hostnameQHostInfoAgent<Aucun nom d'hte n'a t donnNo host name givenQHostInfoAgent.Adresse de type inconnuUnknown address typeQHostInfoAgentErreur inconnue Unknown errorQHostInfoAgent0Authentification requiseAuthentication requiredQHttp"Connect l'hteConnected to hostQHttp(Connect l'hte %1Connected to host %1QHttp Connexion fermeConnection closedQHttp"Connexion refuseConnection refusedQHttpFConnexion refuse (ou dlai expir)!Connection refused (or timed out)QHttp*Connexion %1 fermeConnection to %1 closedQHttp$Donnes corrompuesData corruptedQHttpNErreur lors de l'criture de la rponse Error writing response to deviceQHttp0chec de la requte HTTPHTTP request failedQHttpzConnexion HTTPS requise mais le support SSL n'est pas compil:HTTPS connection requested but SSL support not compiled inQHttpHte %1 trouv Host %1 foundQHttp&Hte %1 introuvableHost %1 not foundQHttpHte trouv Host foundQHttpHL'hte requiert une authentificationHost requires authenticationQHttp,Fragment HTTP invalideInvalid HTTP chunked bodyQHttp>Entte de rponse HTTP invalideInvalid HTTP response headerQHttp,Aucun serveur spcifiNo server set to connect toQHttpLLe proxy requiert une authentificationProxy authentication requiredQHttpLLe proxy requiert une authentificationProxy requires authenticationQHttp&Requte interrompueRequest abortedQHttp>La poigne de main SSL a chouSSL handshake failedQHttpHConnexion interrompue par le serveur%Server closed connection unexpectedlyQHttpFMthode d'authentification inconnueUnknown authentication methodQHttpErreur inconnue Unknown errorQHttp4Protocole spcifi inconnuUnknown protocol specifiedQHttp8Longueur du contenu invalideWrong content lengthQHttp0Authentification requiseAuthentication requiredQHttpSocketEngineNPas de rponse HTTP de la part du proxy(Did not receive HTTP response from proxyQHttpSocketEngineTErreur de communication avec le proxy HTTP#Error communicating with HTTP proxyQHttpSocketEnginenErreur dans le reqte d'authentification reue du proxy/Error parsing authentication request from proxyQHttpSocketEnginepLa connexion au serveur proxy a t ferme prmaturment#Proxy connection closed prematurelyQHttpSocketEngine4Connexion au proxy refuseProxy connection refusedQHttpSocketEngine<Le proxy a rejet la connexionProxy denied connectionQHttpSocketEngineLLa connexion au serveur proxy a expir!Proxy server connection timed outQHttpSocketEngine2Serveur proxy introuvableProxy server not foundQHttpSocketEngineNLa transaction n'a pas pu tre dmarreCould not start transaction QIBaseDriverPErreur d'ouverture de la base de donnesError opening database QIBaseDriverJIncapable de soumettre la transactionUnable to commit transaction QIBaseDriverDIncapable d'annuler la transactionUnable to rollback transaction QIBaseDriver>Impossible d'allouer la requteCould not allocate statement QIBaseResult@Impossible de dcrire la requte"Could not describe input statement QIBaseResult@Impossible de dcrire la requteCould not describe statement QIBaseResultRImpossible de rcuperer l'lment suivantCould not fetch next item QIBaseResult@Impossible de trouver le tableauCould not find array QIBaseResultVImpossible de trouver le tableau de donnesCould not get array data QIBaseResultdImpossible d'avoir les informations sur la requteCould not get query info QIBaseResultdImpossible d'avoir les informations sur la requteCould not get statement info QIBaseResultBImpossible de prparer la requteCould not prepare statement QIBaseResultJImpossible de dmarrer la transactionCould not start transaction QIBaseResult>Impossible de fermer la requteUnable to close statement QIBaseResultJIncapable de soumettre la transactionUnable to commit transaction QIBaseResult6Impossible de crer un BLOBUnable to create BLOB QIBaseResult@Impossible d'excuter la requteUnable to execute query QIBaseResult6Impossible d'ouvrir le BLOBUnable to open BLOB QIBaseResult4Impossible de lire le BLOBUnable to read BLOB QIBaseResult6Impossible d'crire le BLOBUnable to write BLOB QIBaseResultVAucun espace disponible sur le priphriqueNo space left on device QIODeviceDAucun fichier ou dossier de ce nomNo such file or directory QIODevice(Autorisation refusePermission denied QIODeviceLTrop de fichiers ouverts simultanmentToo many open files QIODeviceErreur inconnue Unknown error QIODevice$Processeur frontalFEP QInputContext2Mthode d'entre Mac OS XMac OS X input method QInputContextPMthode de saisie processeur frontal S60S60 FEP input method QInputContext0Mthode d'entre WindowsWindows input method QInputContextXIMXIM QInputContext(Mthode d'entre XIMXIM input method QInputContext(Entrer une valeur: Enter a value: QInputDialogN'%1' n'est pas un objet ELF valide (%2)"'%1' is an invalid ELF object (%2)QLibrary6'%1' n'est pas un objet ELF'%1' is not an ELF objectQLibrary@'%1' n'est pas un objet ELF (%2)'%1' is not an ELF object (%2)QLibraryZImpossible de charger la bibliothque %1: %2Cannot load library %1: %2QLibraryfImpossible de rsoudre le symbole "%1" dans %2: %3$Cannot resolve symbol "%1" in %2: %3QLibrary^Impossible de dcharger la bibliothque %1: %2Cannot unload library %1: %2QLibrarylDonnes de vrification du plugin diffrente dans '%1')Plugin verification data mismatch in '%1'QLibrary\Le fichier '%1' n'est pas un plugin Qt valide.'The file '%1' is not a valid Qt plugin.QLibraryLe plugin '%1' utilise une bibliothque Qt incompatible. (%2.%3.%4) [%5]=The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5]QLibraryLe plugin '%1' utilise une bibliothque Qt incompatible. (Il est impossible de mlanger des bibliothques 'debug' et 'release'.)WThe plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.)QLibraryLe plugin '%1' utilise une bibliothque Qt incompatible. Cl attendue "%2", reue "%3"OThe plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3"QLibraryRLa bibliothque partage est introuvable.!The shared library was not found.QLibraryErreur inconnue Unknown errorQLibraryCop&ier&Copy QLineEditCo&ller&Paste QLineEdit&Rtablir&Redo QLineEdit&Annuler&Undo QLineEditCo&uperCu&t QLineEditSupprimerDelete QLineEdit"Tout slectionner Select All QLineEdit4%1: Address dj utilise%1: Address in use QLocalServer$%1: Erreur de nom%1: Name error QLocalServer.%1: Permission refuse%1: Permission denied QLocalServer.%1: Erreur inconnue %2%1: Unknown error %2 QLocalServer2%1 : Autorisation refuse%1: Access denied QLocalSocket0%1: Erreur de connexion%1: Connection error QLocalSocket,%1: Connexion refuse%1: Connection refused QLocalSocket4%1: Datagramme trop grand%1: Datagram too large QLocalSocket"%1: Nom invalide%1: Invalid name QLocalSocket*%1: Connexion ferme%1: Remote closed QLocalSocket:%1: Erreur d'accs au socket%1: Socket access error QLocalSocket@%1: L'opration socket a expir%1: Socket operation timed out QLocalSocketD%1: Erreur de ressource du socket%1: Socket resource error QLocalSocketH%1: L'opration n'est pas supporte)%1: The socket operation is not supported QLocalSocket(%1: erreur inconnue%1: Unknown error QLocalSocket.%1: Erreur inconnue %2%1: Unknown error %2 QLocalSocketJImpossible de dmarrer la transactionUnable to begin transaction QMYSQLDriverLImpossible de soumettre la transactionUnable to commit transaction QMYSQLDriverDImpossible d'tablir une connexionUnable to connect QMYSQLDriverPImpossible d'ouvrir la base de donnes 'Unable to open database ' QMYSQLDriverFImpossible d'annuler la transactionUnable to rollback transaction QMYSQLDriverVImpossible d'attacher les valeurs de sortieUnable to bind outvalues QMYSQLResult>Impossible d'attacher la valeurUnable to bind value QMYSQLResultRImpossible d'excuterla prochaine requteUnable to execute next query QMYSQLResult@Impossible d'excuter la requteUnable to execute query QMYSQLResult@Impossible d'excuter la requteUnable to execute statement QMYSQLResultFImpossible de rcuperer des donnesUnable to fetch data QMYSQLResultHImpossible de prparer l'instructionUnable to prepare statement QMYSQLResultRImpossible de rinitialiser l'instructionUnable to reset statement QMYSQLResultTImpossible de stocker le prochain rsultatUnable to store next result QMYSQLResultBImpossible de stocker le rsultatUnable to store result QMYSQLResultbImpossible de stocker les rsultats de la requte!Unable to store statement results QMYSQLResult(Sans titre) (Untitled)QMdiArea%1 - [%2] %1 - [%2] QMdiSubWindow&Fermer&Close QMdiSubWindow&Dplacer&Move QMdiSubWindow&Restaurer&Restore QMdiSubWindow&Taille&Size QMdiSubWindow - [%1]- [%1] QMdiSubWindow FermerClose QMdiSubWindowAideHelp QMdiSubWindowMa&ximiser Ma&ximize QMdiSubWindowMaximiserMaximize QMdiSubWindowMenuMenu QMdiSubWindowRd&uire Mi&nimize QMdiSubWindowRduireMinimize QMdiSubWindowRestaurerRestore QMdiSubWindow Restaurer en bas Restore Down QMdiSubWindow OmbrerShade QMdiSubWindow.&Rester au premier plan Stay on &Top QMdiSubWindowRestaurerUnshade QMdiSubWindow FermerCloseQMenuExcuterExecuteQMenu OuvrirOpenQMenuActionsActionsQMenuBar<h3> propos de Qt</h3><p>Ce programme utilise Qt version %1.</p>8

About Qt

This program uses Qt version %1.

 QMessageBox x<p>Qt est une bibliothque logicielle C++ pour le dveloppement d applications multiplateformes.</p><p>Qt fournit une portabilit source unique pour MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux et les principales variantes commerciales d Unix. Qt est galement disponible pour appareils intgrs comme Qt pour Embedded Linux et Qt pour Windows CE.</p><p>Il existe trois options de licence diffrentes conues pour s adapter aux besoins d utilisateurs varis.</p><p>Qt concde sous notre contrat de licence commerciale est destine au dveloppement de logiciels propritaires/commerciaux dont vous ne souhaitez pas partager le code source avec des tiers ou qui ne peuvent se conformer aux termes de la LGPL GNU version 2.1 ou GPL GNU version 3.0.</p><p>Qt concde sous la LGPL GNU version 2.1 est destine au dveloppement d applications Qt (propritaires ou libres) condition que vous vous conformiez aux conditions gnrales de la LGPL GNU version 2.1.</p><p>Qt concde sous la licence publique gnrale GNU version 3.0 est destine au dveloppement d applications Qt lorsque vous souhaitez utiliser ces applications avec d autres logiciels soumis aux termes de la GPL GNU version 3.0 ou lorsque vous acceptez les termes de la GPL GNU version 3.0.</p><p>Veuillez consulter<a href="http: //qt.nokia.com/products/licensing">qt.nokia.com/products/licensing</a> pour un aperu des concessions de licences Qt.</p><p>Copyright (C) 2012 Nokia Corporation et/ou ses filiales.</p><p>Qt est un produit Nokia. Voir <a href="http: //qt.nokia.com/">qt.nokia.com</a> pour de plus amples informations.</p>

Qt is a C++ toolkit for cross-platform application development.

Qt provides single-source portability across MS Windows, Mac OS X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.

Qt is available under three different licensing options designed to accommodate the needs of our various users.

Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.

Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.

Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.

Please see qt.nokia.com/products/licensing for an overview of Qt licensing.

Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).

Qt is a Nokia product. See qt.nokia.com for more information.

 QMessageBox propos de QtAbout Qt QMessageBoxAideHelp QMessageBox*Cacher les dtails...Hide Details... QMessageBoxOKOK QMessageBox,Montrer les dtails...Show Details... QMessageBoxSlectionner IM Select IMQMultiInputContextDSlectionneur de mthode de saisieMultiple input method switcherQMultiInputContextPluginSlectionneur de mthode de saisie qui utilise le menu contextuel des widgets de texteMMultiple input method switcher that uses the context menu of the text widgetsQMultiInputContextPluginXUn autre socket coute dj sur le mme port4Another socket is already listening on the same portQNativeSocketEngineTentative d'utiliser un socket IPv6 sur une plateforme qui ne supporte pas IPv6=Attempt to use IPv6 socket on a platform with no IPv6 supportQNativeSocketEngine"Connexion refuseConnection refusedQNativeSocketEngine"Connexion expireConnection timed outQNativeSocketEngine^Le datagramme tait trop grand pour tre envoyDatagram was too large to sendQNativeSocketEngine"Hte inaccessibleHost unreachableQNativeSocketEngine<Descripteur de socket invalideInvalid socket descriptorQNativeSocketEngineErreur rseau Network errorQNativeSocketEngine6L'opration rseau a expirNetwork operation timed outQNativeSocketEngine:Rseau impossible rejoindreNetwork unreachableQNativeSocketEngine0Operation sur non-socketOperation on non-socketQNativeSocketEngine(Manque de ressourcesOut of resourcesQNativeSocketEngine(Autorisation refusePermission deniedQNativeSocketEngine"Protocol non grProtocol type not supportedQNativeSocketEngine<L'adresse n'est pas disponibleThe address is not availableQNativeSocketEngine,L'adresse est protgeThe address is protectedQNativeSocketEngine@L'adresse lie est dj en usage#The bound address is already in useQNativeSocketEnginedLe type de proxy est invalide pour cette opration,The proxy type is invalid for this operationQNativeSocketEngineFL'hte distant a ferm la connexion%The remote host closed the connectionQNativeSocketEngineXImpossible d'initialiser le socket broadcast%Unable to initialize broadcast socketQNativeSocketEngineZImpossible d'initialiser le socket asynchrone(Unable to initialize non-blocking socketQNativeSocketEngineBImpossible de recevoir un messageUnable to receive a messageQNativeSocketEngine>Impossible d'envoyer un messageUnable to send a messageQNativeSocketEngine&Impossible d'crireUnable to writeQNativeSocketEngineErreur inconnue Unknown errorQNativeSocketEngine<Opration socket non supporteUnsupported socket operationQNativeSocketEngine@Erreur lors de l'ouverture de %1Error opening %1QNetworkAccessCacheBackend"URI invalide: %1Invalid URI: %1QNetworkAccessDataBackend|L'hte distant a ferm sa connexion de faon prmature sur %13Remote host closed the connection prematurely on %1QNetworkAccessDebugPipeBackend8Erreur de socket sur %1: %2Socket error on %1: %2QNetworkAccessDebugPipeBackendLErreur lors de l'criture dans %1: %2Write error writing to %1: %2QNetworkAccessDebugPipeBackendbImpossible d'ouvrir %1: le chemin est un dossier#Cannot open %1: Path is a directoryQNetworkAccessFileBackendJErreur lors de l'ouverture de %1: %2Error opening %1: %2QNetworkAccessFileBackend8Erreur de lecture de %1: %2Read error reading from %1: %2QNetworkAccessFileBackendRRequte d'ouverture de fichier distant %1%Request for opening non-local file %1QNetworkAccessFileBackend8Erreur d'criture de %1: %2Write error writing to %1: %2QNetworkAccessFileBackendbImpossible d'ouvrir %1: le chemin est un dossierCannot open %1: is a directoryQNetworkAccessFtpBackendPErreur lors du tlchargement de %1: %2Error while downloading %1: %2QNetworkAccessFtpBackendBErreur lors de l'envoi de %1: %2Error while uploading %1: %2QNetworkAccessFtpBackenddConnexion %1 a chou: authentification requise0Logging in to %1 failed: authentication requiredQNetworkAccessFtpBackend$Aucun proxy trouvNo suitable proxy foundQNetworkAccessFtpBackend$Aucun proxy trouvNo suitable proxy foundQNetworkAccessHttpBackend@L'accs au rseau est dsactiv.Network access is disabled.QNetworkAccessManager~Erreur lors du tlchargement de %1 - le serveur a rpondu: %2)Error downloading %1 - server replied: %2 QNetworkReply2Erreur de session rseau.Network session error. QNetworkReply:Le protocole "%1" est inconnuProtocol "%1" is unknown QNetworkReply2Erreur rseau temporaire.Temporary network failure. QNetworkReply"Opration annuleOperation canceledQNetworkReplyImpl.Configuration invalide.Invalid configuration.QNetworkSession"Erreur de roaming Roaming errorQNetworkSessionPrivateImplTLe roaming a t annul ou est impossible.'Roaming was aborted or is not possible.QNetworkSessionPrivateImpl^Session annule par l'utilisateur ou le systme!Session aborted by user or systemQNetworkSessionPrivateImpllL'opration requise n'est pas suporte par le systme.7The requested operation is not supported by the system.QNetworkSessionPrivateImplrla session a t annule par l'utilisateur ou le systme..The session was aborted by the user or system.QNetworkSessionPrivateImplbLa configuration spcifie ne peut tre utilise.+The specified configuration cannot be used.QNetworkSessionPrivateImplErreur inconnueUnidentified ErrorQNetworkSessionPrivateImpl6Erreur de session inconnue.Unknown session error.QNetworkSessionPrivateImplJImpossible de dmarrer la transactionUnable to begin transaction QOCIDriverNImpossible d'enregistrer la transactionUnable to commit transaction QOCIDriver2L'initialisation a chou QOCIDriverUnable to initialize QOCIDriver>Impossible d'ouvrir une sessionUnable to logon QOCIDriverFImpossible d'annuler la transactionUnable to rollback transaction QOCIDriver>Impossible d'allouer la requteUnable to alloc statement QOCIResultrImpossible d'attacher la colonne pour une execution batch'Unable to bind column for batch execute QOCIResult>Impossible d'attacher la valeurUnable to bind value QOCIResultRImpossible d'excuter l'instruction batch!Unable to execute batch statement QOCIResult@Impossible d'exctuer la requteUnable to execute statement QOCIResultTImpossible d'obtenir le type de la requteUnable to get statement type QOCIResult>Impossible de passer au suivantUnable to goto next QOCIResultBImpossible de prparer la requteUnable to prepare statement QOCIResultJIncapable de soumettre la transactionUnable to commit transaction QODBCDriverBIncapable d'tablir une connexionUnable to connect QODBCDriverImpossible de se connecter - Le pilote ne supporte pas toutes les fonctionnalits ncessairesEUnable to connect - Driver doesn't support all functionality required QODBCDriverJImpossible de dsactiver l'autocommitUnable to disable autocommit QODBCDriverBImpossible d'activer l'autocommitUnable to enable autocommit QODBCDriverDIncapable d'annuler la transactionUnable to rollback transaction QODBCDriver"QODBCResult::reset: Impossible d'utiliser 'SQL_CURSOR_STATIC' comme attribut de requte. Veuillez vrifier la configuration de votre pilote ODBCyQODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResultBImpossible d'attacher la variableUnable to bind variable QODBCResult@Impossible d'exctuer la requteUnable to execute statement QODBCResult.Impossible de rcuprerUnable to fetch QODBCResultDImpossible de rcuprer le premierUnable to fetch first QODBCResultDImpossible de rcuprer le dernierUnable to fetch last QODBCResultDImpossible de rcuprer le suivantUnable to fetch next QODBCResultHImpossible de rcuprer le prcedentUnable to fetch previous QODBCResultBImpossible de prparer la requteUnable to prepare statement QODBCResult"%1" est un doublon d'un nom de role existant et sera dsactiv.:"%1" duplicates a previous role name and will be disabled.QObject Hte introuvableHost not foundQObject2Serveur de son PulseAudioPulseAudio Sound ServerQObject.Requte invalide : "%1"invalid query: "%1"QObjectNomNameQPPDOptionsModel ValeurValueQPPDOptionsModelJImpossible de dmarrer la transactionCould not begin transaction QPSQLDriverLImpossible de soumettre la transactionCould not commit transaction QPSQLDriverFImpossible d'annuler la transactionCould not rollback transaction QPSQLDriverDImpossible d'tablir une connexionUnable to connect QPSQLDriver0Impossible de s'inscrireUnable to subscribe QPSQLDriver8Impossible de se dsinscrireUnable to unsubscribe QPSQLDriver<Impossible de crer la requteUnable to create query QPSQLResultBImpossible de prparer la requteUnable to prepare statement QPSQLResult Centimtres (cm)Centimeters (cm)QPageSetupWidgetFormulaireFormQPageSetupWidgetHauteur: Height:QPageSetupWidgetPouces (in) Inches (in)QPageSetupWidgetPaysage LandscapeQPageSetupWidget MargesMarginsQPageSetupWidget Millimtres (mm)Millimeters (mm)QPageSetupWidgetOrientation OrientationQPageSetupWidgetDimensions:  Page size:QPageSetupWidget PapierPaperQPageSetupWidget&Source du papier:  Paper source:QPageSetupWidgetPoints (pts) Points (pt)QPageSetupWidgetPortraitPortraitQPageSetupWidgetPaysage inversReverse landscapeQPageSetupWidget Portrait inversReverse portraitQPageSetupWidgetLargeur: Width:QPageSetupWidgetmarge basse bottom marginQPageSetupWidgetmarge gauche left marginQPageSetupWidgetmarge droite right marginQPageSetupWidgetmarge haute top marginQPageSetupWidget:Le plugin n'a pas t charg.The plugin was not loaded. QPluginLoaderErreur inconnue Unknown error QPluginLoaderD%1 existe. Voulez-vous l'craser?/%1 already exists. Do you want to overwrite it? QPrintDialog%1 est un dossier. Veuillez choisir un nom de fichier diffrent.7%1 is a directory. Please choose a different file name. QPrintDialog &Options << QPrintDialog &Options >> QPrintDialogIm&primer&Print QPrintDialog@<qt>voulez-vous l'craser?</qt>%Do you want to overwrite it? QPrintDialogA0 QPrintDialog$A0 (841 x 1189 mm)A0 (841 x 1189 mm) QPrintDialogA1 QPrintDialog"A1 (594 x 841 mm)A1 (594 x 841 mm) QPrintDialogA2 QPrintDialog"A2 (420 x 594 mm)A2 (420 x 594 mm) QPrintDialogA3 QPrintDialog"A3 (297 x 420 mm)A3 (297 x 420 mm) QPrintDialogA4 QPrintDialog"A4 (210 x 297 mm)%A4 (210 x 297 mm, 8.26 x 11.7 inches) QPrintDialogA5 QPrintDialog"A5 (148 x 210 mm)A5 (148 x 210 mm) QPrintDialogA6 QPrintDialog"A6 (105 x 148 mm)A6 (105 x 148 mm) QPrintDialogA7 QPrintDialog A7 (74 x 105 mm)A7 (74 x 105 mm) QPrintDialogA8 QPrintDialogA8 (52 x 74 mm)A8 (52 x 74 mm) QPrintDialogA9 QPrintDialogA9 (37 x 52 mm)A9 (37 x 52 mm) QPrintDialogAlias: %1 Aliases: %1 QPrintDialogB0 QPrintDialog&B0 (1000 x 1414 mm)B0 (1000 x 1414 mm) QPrintDialogB1 QPrintDialog$B1 (707 x 1000 mm)B1 (707 x 1000 mm) QPrintDialogB10 QPrintDialog B10 (31 x 44 mm)B10 (31 x 44 mm) QPrintDialogB2 QPrintDialog"B2 (500 x 707 mm)B2 (500 x 707 mm) QPrintDialogB3 QPrintDialog"B3 (353 x 500 mm)B3 (353 x 500 mm) QPrintDialogB4 QPrintDialog"B4 (250 x 353 mm)B4 (250 x 353 mm) QPrintDialogB5 QPrintDialog"B5 (176 x 250 mm)%B5 (176 x 250 mm, 6.93 x 9.84 inches) QPrintDialogB6 QPrintDialog"B6 (125 x 176 mm)B6 (125 x 176 mm) QPrintDialogB7 QPrintDialog B7 (88 x 125 mm)B7 (88 x 125 mm) QPrintDialogB8 QPrintDialogB8 (62 x 88 mm)B8 (62 x 88 mm) QPrintDialogB9 QPrintDialogB9 (44 x 62 mm)B9 (44 x 62 mm) QPrintDialogC5E QPrintDialog$C5E (163 x 229 mm)C5E (163 x 229 mm) QPrintDialogPersonnalisCustom QPrintDialogDLE QPrintDialog$DLE (110 x 220 mm)DLE (110 x 220 mm) QPrintDialog Executive QPrintDialogRExecutive (7,5 x 10 pouces, 191 x 254 mm))Executive (7.5 x 10 inches, 191 x 254 mm) QPrintDialogImpossible d'crire dans le fichier %1. Veuillez choisir un nom de fichier diffrent.=File %1 is not writable. Please choose a different file name. QPrintDialog"Le fichier existe File exists QPrintDialogFolio QPrintDialog(Folio (210 x 330 mm)Folio (210 x 330 mm) QPrintDialogLedger QPrintDialog*Ledger (432 x 279 mm)Ledger (432 x 279 mm) QPrintDialogLegal QPrintDialogJLegal (8.5 x 14 pouces, 216 x 356 mm)%Legal (8.5 x 14 inches, 216 x 356 mm) QPrintDialogLetter QPrintDialogLLetter (8,5 x 11 pouces, 216 x 279 mm)&Letter (8.5 x 11 inches, 216 x 279 mm) QPrintDialogFichier local Local file QPrintDialogOKOK QPrintDialogImprimerPrint QPrintDialog6Imprimer dans un fichier...Print To File ... QPrintDialogImprimer tout Print all QPrintDialog2Imprimer la page courantePrint current page QPrintDialog*Imprimer la slection Print range QPrintDialog*Imprimer la slectionPrint selection QPrintDialog<Imprimer dans un fichier (PDF)Print to File (PDF) QPrintDialogJImprimer dans un fichier (PostScript)Print to File (Postscript) QPrintDialogTabloid QPrintDialog.Tablode (279 x 432 mm)Tabloid (279 x 432 mm) QPrintDialog|La valeur 'de' ne peut pas tre plus grande que la valeur ''.7The 'From' value cannot be greater than the 'To' value. QPrintDialogUS Common #10 Envelope QPrintDialogJUS Common #10 Envelope (105 x 241 mm)%US Common #10 Envelope (105 x 241 mm) QPrintDialog,Ecriture du fichier %1 Write %1 file QPrintDialog"connect en locallocally connected QPrintDialoginconnuunknown QPrintDialog%1%%1%QPrintPreviewDialog FermerCloseQPrintPreviewDialog"Exporter vers PDF Export to PDFQPrintPreviewDialog0Exporter vers PostScriptExport to PostScriptQPrintPreviewDialogPremire page First pageQPrintPreviewDialogAjuster la pageFit pageQPrintPreviewDialog$Ajuster la largeur Fit widthQPrintPreviewDialogPaysage LandscapeQPrintPreviewDialogDernire page Last pageQPrintPreviewDialogPage suivante Next pageQPrintPreviewDialogMise en page Page SetupQPrintPreviewDialogMise en page Page setupQPrintPreviewDialogPortraitPortraitQPrintPreviewDialogPage prcdente Previous pageQPrintPreviewDialogImprimerPrintQPrintPreviewDialog.Aperu avant impression Print PreviewQPrintPreviewDialog&Afficher deux pagesShow facing pagesQPrintPreviewDialogLAfficher un aperu de toutes les pagesShow overview of all pagesQPrintPreviewDialog.Afficher une seule pageShow single pageQPrintPreviewDialogZoom avantZoom inQPrintPreviewDialogZoom arrireZoom outQPrintPreviewDialog AvancAdvancedQPrintPropertiesWidgetFormulaireFormQPrintPropertiesWidgetPageQPrintPropertiesWidgetAssemblerCollateQPrintSettingsOutputCouleurColorQPrintSettingsOutputMode de couleur Color ModeQPrintSettingsOutput CopiesCopiesQPrintSettingsOutputCopies : Copies:QPrintSettingsOutputPage courante Current PageQPrintSettingsOutput(Impression en duplexDuplex PrintingQPrintSettingsOutputFormulaireFormQPrintSettingsOutputDgrad de gris GrayscaleQPrintSettingsOutputCt long Long sideQPrintSettingsOutput AucunNoneQPrintSettingsOutputOptionsOptionsQPrintSettingsOutput(Paramtres de sortieOutput SettingsQPrintSettingsOutput Pages Pages fromQPrintSettingsOutputImprimer tout Print allQPrintSettingsOutput*Imprimer la slection Print rangeQPrintSettingsOutputInverseReverseQPrintSettingsOutputSlection SelectionQPrintSettingsOutputCt court Short sideQPrintSettingsOutputtoQPrintSettingsOutput&Nom: &Name: QPrintWidget... QPrintWidgetFormulaireForm QPrintWidgetEmplacement:  Location: QPrintWidget*&Fichier de sortie:  Output &file: QPrintWidgetP&roprits P&roperties QPrintWidget PrvisualisationPreview QPrintWidgetImprimantePrinter QPrintWidgetType : Type: QPrintWidgetlImpossible d'ouvrir la redirection d'entre en lecture,Could not open input redirection for readingQProcesstImpossible d'ouvrir la redirection de sortie pour criture-Could not open output redirection for writingQProcess<Erreur de lecture du processusError reading from processQProcessFErreur d"criture vers le processusError writing to processQProcess,Aucun programme dfiniNo program definedQProcess*Le processus plantProcess crashedQProcessNLe dmarrage du processus a chou: %1Process failed to start: %1QProcess>Operation de processus a expirProcess operation timed outQProcess<Erreur de ressouce (fork): %1!Resource error (fork failure): %1QProcessAnnulerCancelQProgressDialog OuvrirOpen QPushButton CocherCheck QRadioButtonRsyntaxe invalide pour classe de caractrebad char class syntaxQRegExp>syntaxe invalide pour lookaheadbad lookahead syntaxQRegExp@syntaxe invalide pour rptitionbad repetition syntaxQRegExp"option dsactivedisabled feature usedQRegExp$catgorie invalideinvalid categoryQRegExp&intervalle invalideinvalid intervalQRegExp,valeur octale invalideinvalid octal valueQRegExp0rencontr limite internemet internal limitQRegExp4dlmiteur gauche manquantmissing left delimQRegExp>aucune erreur ne s'est produiteno error occurredQRegExpfin impromptueunexpected endQRegExp`Erreur lors de l'ouverture de la base de donnesError opening databaseQSQLite2DriverJImpossible de dmarrer la transactionUnable to begin transactionQSQLite2DriverLImpossible de soumettre la transactionUnable to commit transactionQSQLite2DriverHImpossible de rpter la transactionUnable to rollback transactionQSQLite2Driver@Impossible d'excuter la requteUnable to execute statementQSQLite2ResultJImpossible de rcuprer les rsultatsUnable to fetch resultsQSQLite2ResultbErreur lors de la fermeture de la base de donnesError closing database QSQLiteDriver`Erreur lors de l'ouverture de la base de donnesError opening database QSQLiteDriverJImpossible de dmarrer la transactionUnable to begin transaction QSQLiteDriverJIncapable de soumettre la transactionUnable to commit transaction QSQLiteDriverFImpossible d'annuler la transactionUnable to rollback transaction QSQLiteDriverPas de requteNo query QSQLiteResult<Nombre de paramtres incorrectParameter count mismatch QSQLiteResultHImpossible d'attacher les paramtresUnable to bind parameters QSQLiteResult@Impossible d'excuter la requteUnable to execute statement QSQLiteResultBImpossible de rcuprer la rangeUnable to fetch row QSQLiteResultLImpossible de rinitialiser la requteUnable to reset statement QSQLiteResultCondition ConditionQScriptBreakpointsModelNombre de coups Hit-countQScriptBreakpointsModelIdentifiantIDQScriptBreakpointsModel Nombre d'ignors Ignore-countQScriptBreakpointsModelLieuLocationQScriptBreakpointsModelUn seul coup Single-shotQScriptBreakpointsModelSupprimerDeleteQScriptBreakpointsWidget CrerNewQScriptBreakpointsWidget6&Chercher dans le script...&Find in Script...QScriptDebugger$Effacer la console Clear ConsoleQScriptDebuggerBEffacer les rsultats du dbogageClear Debug OutputQScriptDebugger8Effacer le journal d'erreursClear Error LogQScriptDebuggerContinuerContinueQScriptDebugger Ctrl+FCtrl+FQScriptDebuggerCtrl+F10Ctrl+F10QScriptDebugger Ctrl+GCtrl+GQScriptDebuggerDboguerDebugQScriptDebuggerF10F10QScriptDebuggerF11F11QScriptDebuggerF3F3QScriptDebuggerF5F5QScriptDebuggerF9F9QScriptDebugger"Rsultat &suivant Find &NextQScriptDebugger&Chercher &prcdentFind &PreviousQScriptDebugger Aller la ligne Go to LineQScriptDebuggerInterrompre InterruptQScriptDebuggerLigne: Line:QScriptDebugger&Excuter au curseur Run to CursorQScriptDebugger4Excuter au nouveau scriptRun to New ScriptQScriptDebuggerShift+F11 Shift+F11QScriptDebuggerShift+F3Shift+F3QScriptDebuggerShift+F5Shift+F5QScriptDebugger$Pas pas dtaill Step IntoQScriptDebugger"Pas pas sortantStep OutQScriptDebugger&Pas pas principal Step OverQScriptDebugger2Basculer le point d'arrtToggle BreakpointQScriptDebugger<img src=": /qt/scripttools/debugging/images/wrap.png">&nbsp;La recherche est revenue au dbutJ Search wrappedQScriptDebuggerCodeFinderWidget&Sensible la casseCase SensitiveQScriptDebuggerCodeFinderWidget FermerCloseQScriptDebuggerCodeFinderWidgetSuivantNextQScriptDebuggerCodeFinderWidgetPrcdentPreviousQScriptDebuggerCodeFinderWidgetMots complets Whole wordsQScriptDebuggerCodeFinderWidgetNomNameQScriptDebuggerLocalsModel ValeurValueQScriptDebuggerLocalsModel NiveauLevelQScriptDebuggerStackModelEmplacementLocationQScriptDebuggerStackModelNomNameQScriptDebuggerStackModel:Condition du point d'arrt: Breakpoint Condition: QScriptEdit6Dsactiver le point d'arrtDisable Breakpoint QScriptEdit0Activer le point d'arrtEnable Breakpoint QScriptEdit2Basculer le point d'arrtToggle Breakpoint QScriptEditPoints d'arrt BreakpointsQScriptEngineDebuggerConsoleConsoleQScriptEngineDebugger*Rsultats du dbogage Debug OutputQScriptEngineDebugger"Journal d'erreurs Error LogQScriptEngineDebuggerScripts chargsLoaded ScriptsQScriptEngineDebugger LocauxLocalsQScriptEngineDebugger,Dbogueur de script QtQt Script DebuggerQScriptEngineDebuggerChercherSearchQScriptEngineDebuggerPileStackQScriptEngineDebuggerAffichageViewQScriptEngineDebugger FermerCloseQScriptNewBreakpointWidget En basBottom QScrollBarBord gauche Left edge QScrollBarAligner en-bas Line down QScrollBarAlignerLine up QScrollBarPage suivante Page down QScrollBarPage prcdente Page left QScrollBarPage suivante Page right QScrollBarPage prcdentePage up QScrollBarPositionPosition QScrollBarBord droit Right edge QScrollBar&Dfiler vers le bas Scroll down QScrollBar"Dfiler jusqu'ici Scroll here QScrollBar,Dfiler vers la gauche Scroll left QScrollBar,Dfiler vers la droite Scroll right QScrollBar(Dfiler vers le haut Scroll up QScrollBarEn hautTop QScrollBarR%1: le fichier de cls UNIX n'existe pas%1: UNIX key file doesn't exist QSharedMemory %1: existe dj%1: already exists QSharedMemoryR%1: taille de cration est infrieur 0%1: create size is less then 0 QSharedMemory"%1: n'existe pas%1: doesn't exist QSharedMemory"%1: n'existe pas%1: doesn't exists QSharedMemory$%1: ftok a chou%1: ftok failed QSharedMemory(%1: taille invalide%1: invalid size QSharedMemory%1: cl vide%1: key is empty QSharedMemory %1: non attach%1: not attached QSharedMemoryF%1: plus de ressources disponibles%1: out of resources QSharedMemory.%1: permission refuse%1: permission denied QSharedMemoryD%1: la requte de taille a chou%1: size query failed QSharedMemoryj%1: le systme impose des restrictions sur la taille$%1: system-imposed size restrictions QSharedMemory<%1: impossible de vrrouiller%1: unable to lock QSharedMemory>%1: impossible de crer la cl%1: unable to make key QSharedMemoryV%1: impossible d'affecter la cl au verrou%1: unable to set key on lock QSharedMemory@%1: impossible de dverrouiller%1: unable to unlock QSharedMemory.%1: erreur inconnue %2%1: unknown error %2 QSharedMemory++ QShortcutAjouter favori Add Favorite QShortcut(Rgler la luminositAdjust Brightness QShortcutAltAlt QShortcut$Application gaucheApplication Left QShortcut$Application droiteApplication Right QShortcut,Audio rpter la pisteAudio Cycle Track QShortcutAudio avant Audio Forward QShortcut.Audio lecture alatoireAudio Random Play QShortcutAudio rpter Audio Repeat QShortcutAudio arrire Audio Rewind QShortcut AbsentAway QShortcut,Prcdent (historique)Back QShortcutRetour avant Back Forward QShortcutEffacement Backspace QShortcutTab arrBacktab QShortcutGraves fort Bass Boost QShortcutGraves bas Bass Down QShortcutGraves hautBass Up QShortcutBatterieBattery QShortcutBluetooth Bluetooth QShortcut LivreBook QShortcutNavigateurBrowser QShortcutCDCD QShortcutCalculatrice Calculator QShortcutAppelerCall QShortcut(Focus appareil photo Camera Focus QShortcut4Dclencheur appareil photoCamera Shutter QShortcutVerr Maj Caps Lock QShortcutVerr majCapsLock QShortcutEffacerClear QShortcut Effacer la prise Clear Grab QShortcut FermerClose QShortcut Code input QShortcutCommunaut Community QShortcutContexte1Context1 QShortcutContexte2Context2 QShortcutContexte3Context3 QShortcutContexte4Context4 QShortcut CopierCopy QShortcutCtrlCtrl QShortcut CouperCut QShortcutDOSDOS QShortcut SupprDel QShortcutSupprimerDelete QShortcutAffichageDisplay QShortcutDocuments Documents QShortcutBasDown QShortcut Eisu Shift QShortcut Eisu toggle QShortcutjecterEject QShortcutFinEnd QShortcut EntreEnter QShortcut chapEsc QShortcutchapementEscape QShortcutF%1F%1 QShortcutPrfrs Favorites QShortcutFinancesFinance QShortcutRetournerFlip QShortcut.Successeur (historique)Forward QShortcutJeuGame QShortcut AllerGo QShortcutHangul QShortcut Hangul Banja QShortcutHangul Fin Hangul End QShortcut Hangul Hanja QShortcut Hangul Jamo QShortcut Hangul Jeonja QShortcutHangul PostHanja QShortcutHangul PreHanja QShortcut Hangul Romaja QShortcutHangul Special QShortcutHangul dbut Hangul Start QShortcutRaccrocherHangup QShortcutHankaku QShortcutAideHelp QShortcutHenkan QShortcutHiberner Hibernate QShortcutHiragana QShortcutHiragana Katakana QShortcutHistoriqueHistory QShortcut DbutHome QShortcut"Bureau domicile Home Office QShortcutPage d'accueil Home Page QShortcutLiens chauds Hot Links QShortcut InserIns QShortcutInsrerInsert QShortcut Kana Lock QShortcut Kana Shift QShortcutKanji QShortcutKatakana QShortcut@Baisser la luminosit du clavierKeyboard Brightness Down QShortcutDAugmenter la luminosit du clavierKeyboard Brightness Up QShortcut2Avec/sans lumire clavierKeyboard Light On/Off QShortcutMenu du clavier Keyboard Menu QShortcutBisLast Number Redial QShortcutLancer (0) Launch (0) QShortcutLancer (1) Launch (1) QShortcutLancer (2) Launch (2) QShortcutLancer (3) Launch (3) QShortcutLancer (4) Launch (4) QShortcutLancer (5) Launch (5) QShortcutLancer (6) Launch (6) QShortcutLancer (7) Launch (7) QShortcutLancer (8) Launch (8) QShortcutLancer (9) Launch (9) QShortcutLancer (A) Launch (A) QShortcutLancer (B) Launch (B) QShortcutLancer (C) Launch (C) QShortcutLancer (D) Launch (D) QShortcutLancer (E) Launch (E) QShortcutLancer (F) Launch (F) QShortcutLancer courrier Launch Mail QShortcutLancer mdia Launch Media QShortcut GaucheLeft QShortcutAmpoule LightBulb QShortcut$Fermer une sessionLogoff QShortcut*Faire suivre l'e-mail Mail Forward QShortcut MarchMarket QShortcutMassyo QShortcutMdia suivant Media Next QShortcutMdia pause Media Pause QShortcutMdia dmarrer Media Play QShortcutMdia prcdentMedia Previous QShortcut"Mdia enregistrer Media Record QShortcutMdia arrt Media Stop QShortcutRunionMeeting QShortcutMenuMenu QShortcutMenu PBMenu PB QShortcut,Messagerie instantane Messenger QShortcutMtaMeta QShortcutBBaisser la luminosit du moniteurMonitor Brightness Down QShortcutFAugmenter la luminosit du moniteurMonitor Brightness Up QShortcutMuhenkan QShortcut"Candidat multipleMultiple Candidate QShortcutMusiqueMusic QShortcutMes sitesMy Sites QShortcutActualitsNews QShortcutNonNo QShortcutVerr numNum Lock QShortcutVerr numNumLock QShortcut,Verrouillage numrique Number Lock QShortcutOuvrir URLOpen URL QShortcut OptionOption QShortcutPage bas Page Down QShortcutPage hautPage Up QShortcut CollerPaste QShortcut PausePause QShortcutPage suivPgDown QShortcutPage prcPgUp QShortcutTlphonePhone QShortcut ImagesPictures QShortcut*Couper l'alimentation Power Off QShortcut$Candidat prcdentPrevious Candidate QShortcutImprimerPrint QShortcutCapture d'cran Print Screen QShortcutRafrachirRefresh QShortcutRechargerReload QShortcutRpondreReply QShortcut RetourReturn QShortcut DroiteRight QShortcutRomaji QShortcut0Faire tourner la fentreRotate Windows QShortcutRotation KB Rotation KB QShortcutRotation PB Rotation PB QShortcutEnregistrerSave QShortcut&conomiseur d'cran Screensaver QShortcut Arrt dfilement Scroll Lock QShortcutArrt dfil ScrollLock QShortcutRechercheSearch QShortcutSlectionnerSelect QShortcutEnvoyerSend QShortcutMajShift QShortcutMagasinShop QShortcut DormirSleep QShortcut EspaceSpace QShortcut2Correcteur orthographique Spellchecker QShortcut Partager l'cran Split Screen QShortcut"Feuille de calcul Spreadsheet QShortcutAttenteStandby QShortcutArrterStop QShortcutSous-titreSubtitle QShortcutSupporterSupport QShortcutSuspendreSuspend QShortcutSystSysReq QShortcutSystmeSystem Request QShortcutTabTab QShortcut"Panneau de tches Task Panel QShortcutTerminalTerminal QShortcut HeureTime QShortcut(Dcrocher/RaccrocherToggle Call/Hangup QShortcut&Mdia Lecture/PauseToggle Media Play/Pause QShortcut OutilsTools QShortcutHaut du menuTop Menu QShortcutTouroku QShortcutVoyagerTravel QShortcutAigus bas Treble Down QShortcutAigus haut Treble Up QShortcut Bande ultralargeUltra Wide Band QShortcutHautUp QShortcut VidoVideo QShortcutAffichageView QShortcutCommande vocale Voice Dial QShortcutVolume bas Volume Down QShortcutVolume muet Volume Mute QShortcutVolume haut  Volume Up QShortcutWWWWWW QShortcutRveillerWake Up QShortcutWebcamraWebCam QShortcutSans filWireless QShortcut&Traitement de texteWord Processor QShortcutXFerXFer QShortcutOuiYes QShortcutZenkaku QShortcutZenkaku Hankaku QShortcutAgrandirZoom In QShortcutRtrcirZoom Out QShortcut iTouchiTouch QShortcutPage suivante Page downQSliderPage prcdente Page leftQSliderPage suivante Page rightQSliderPage prcdentePage upQSliderPositionPositionQSlider6Type d'adresse non supportAddress type not supportedQSocks5SocketEnginePConnexion refuse par le serveur SOCKSv5(Connection not allowed by SOCKSv5 serverQSocks5SocketEngineNconnexion au proxy ferme prmaturment&Connection to proxy closed prematurelyQSocks5SocketEngine4Connexion au proxy refuseConnection to proxy refusedQSocks5SocketEngine4Connexion au proxy expireConnection to proxy timed outQSocks5SocketEngineDErreur gnrale du serveur SOCKSv5General SOCKSv5 server failureQSocks5SocketEngine6L'opration rseau a expirNetwork operation timed outQSocks5SocketEngineBL'authentification proxy a chouProxy authentication failedQSocks5SocketEngineLL'authentification proxy a chou: %1Proxy authentication failed: %1QSocks5SocketEngine,Hte proxy introuvableProxy host not foundQSocks5SocketEngineFErreur de protocole SOCKS version 5SOCKS version 5 protocol errorQSocks5SocketEngine<Commande SOCKSv5 non supporteSOCKSv5 command not supportedQSocks5SocketEngineTTL expir TTL expiredQSocks5SocketEngineHErreur proxy SOCKSv5 inconnue: 0x%1%Unknown SOCKSv5 proxy error code 0x%1QSocks5SocketEngineAnnulerCancelQSoftKeyManagerTerminerDoneQSoftKeyManagerQuitterExitQSoftKeyManagerOKOkQSoftKeyManagerOptionsOptionsQSoftKeyManagerSlectionnerSelectQSoftKeyManager MoinsLessQSpinBoxPlusMoreQSpinBoxAnnulerCancelQSql6Annuler vos modifications?Cancel your edits?QSqlConfirmerConfirmQSqlSupprimerDeleteQSql<Supprimer cet enregistrement?Delete this record?QSqlInsrerInsertQSqlNonNoQSql>Enregistrer les modifications? Save edits?QSqlActualiserUpdateQSqlOuiYesQSql`Impossible de fournir un certificat sans cl, %1,Cannot provide a certificate with no key, %1 QSslSocket^Erreur lors de la cration du contexte SSL (%1)Error creating SSL context (%1) QSslSocket`Erreur lors de la cration de la session SSL, %1Error creating SSL session, %1 QSslSocketbErreur lors de la cration de la session SSL: %1Error creating SSL session: %1 QSslSocketTErreur lors de la poigne de main SSL: %1Error during SSL handshake: %1 QSslSocketbErreur lors du chargement du certificat local, %1#Error loading local certificate, %1 QSslSocket\Erreur lors du chargement de la cl prive, %1Error loading private key, %1 QSslSocket<Erreur lors de la lecture: %1Error while reading: %1 QSslSocketbLa list de chiffrements est invalide ou vide (%1)!Invalid or empty cipher list (%1) QSslSocketHAucun certificat n'a pu tre vrifi!No certificates could be verified QSslSocketAucune erreurNo error QSslSocketPL'un des certificats CA n'est pas valide%One of the CA certificates is invalid QSslSocketbLa cl prive ne certifie pas la cl publique, %1+Private key does not certify public key, %1 QSslSocketLe paramtre de longueur du chemin basicConstraints a t dpassImpossible d'envoyer un messageUnable to send a messageQSymbianSocketEngine&Impossible d'crireUnable to writeQSymbianSocketEngineErreur inconnue Unknown errorQSymbianSocketEngine<Opration socket non supporteUnsupported socket operationQSymbianSocketEngine %1: existe dj%1: already existsQSystemSemaphore"%1: n'existe pas%1: does not existQSystemSemaphoreF%1: plus de ressources disponibles%1: out of resourcesQSystemSemaphore.%1: permission refuse%1: permission deniedQSystemSemaphore.%1: erreur inconnue %2%1: unknown error %2QSystemSemaphore@Impossible d'ouvrir la connexionUnable to open connection QTDSDriverPImpossible d'utiliser la base de donnesUnable to use database QTDSDriver,Dfiler vers la gauche Scroll LeftQTabBar,Dfiler vers la droite Scroll RightQTabBarJOpration sur le socket non supporte$Operation on socket is not supported QTcpServerCop&ier&Copy QTextControlCo&ller&Paste QTextControl&Rtablir&Redo QTextControl&Annuler&Undo QTextControl2Copier l'adresse du &lienCopy &Link Location QTextControlCo&uperCu&t QTextControlSupprimerDelete QTextControl"Tout slectionner Select All QTextControl OuvrirOpen QToolButtonAppuyerPress QToolButtonJCette plateforme ne supporte pas IPv6#This platform does not support IPv6 QUdpSocketRtablirDefault text for redo actionRedo QUndoGroupAnnulerDefault text for undo actionUndo QUndoGroup <vide> QUndoModelRtablirDefault text for redo actionRedo QUndoStackAnnulerDefault text for undo actionUndo QUndoStackJInsrer caractre de contrle Unicode Insert Unicode control characterQUnicodeControlCharacterMenuHLRE Start of left-to-right embedding$LRE Start of left-to-right embeddingQUnicodeControlCharacterMenu,LRM Left-to-right markLRM Left-to-right markQUnicodeControlCharacterMenuFLRO Start of left-to-right override#LRO Start of left-to-right overrideQUnicodeControlCharacterMenu<PDF Pop directional formattingPDF Pop directional formattingQUnicodeControlCharacterMenuHRLE Start of right-to-left embedding$RLE Start of right-to-left embeddingQUnicodeControlCharacterMenu,RLM Right-to-left markRLM Right-to-left markQUnicodeControlCharacterMenuFRLO Start of right-to-left override#RLO Start of right-to-left overrideQUnicodeControlCharacterMenu*ZWJ Zero width joinerZWJ Zero width joinerQUnicodeControlCharacterMenu4ZWNJ Zero width non-joinerZWNJ Zero width non-joinerQUnicodeControlCharacterMenu*ZWSP Zero width spaceZWSP Zero width spaceQUnicodeControlCharacterMenu6Impossible d'afficher l'URLCannot show URL QWebFrameBImpossible d'afficher le mimetypeCannot show mimetype QWebFrame.Le fichier n'existe pasFile does not exist QWebFrame|Chargement du cadre interrompue par le changement de stratgie'Frame load interrupted by policy change QWebFrameRequte bloqueRequest blocked QWebFrameRequte annuleRequest cancelled QWebFrame"%1 (%2x%3 pixels)Title string for images%1 (%2x%3 pixels)QWebPageR%1 jours %2 heures %3 minutes %4 secondesMedia time description&%1 days %2 hours %3 minutes %4 secondsQWebPage@%1 heures %2 minutes %3 secondesMedia time description%1 hours %2 minutes %3 secondsQWebPage,%1 minutes %2 secondesMedia time description%1 minutes %2 secondsQWebPage%1 secondesMedia time description %1 secondsQWebPage%n fichier%n fichiers %n file(s)QWebPage.Ajouter au dictionnaire Learn Spelling context menu itemAdd To DictionaryQWebPage Aligner gauche Align LeftQWebPage Aligner droite Align RightQWebPagelment audioMedia controller element Audio ElementQWebPage|Commandes de lecture et affichage de l'tat de l'lment audioMedia controller element2Audio element playback controls and status displayQWebPage(Commencer la lectureMedia controller elementBegin playbackQWebPageGrasBold context menu itemBoldQWebPage En basBottomQWebPage CentrCenterQWebPagejVrifier la grammaire en mme temps que l'orthographe-Check grammar with spelling context menu itemCheck Grammar With SpellingQWebPage,Vrifier l'orthographe Check spelling context menu itemCheck SpellingQWebPagePVrifier l'orthographe pendant la saisie-Check spelling while typing context menu itemCheck Spelling While TypingQWebPage$Choisir le fichier(title for file button used in HTML forms Choose FileQWebPage>Effacer les recherches rcentes>menu item in Recent Searches menu that empties menu's contentsClear recent searchesQWebPage CopierCopy context menu itemCopyQWebPageCopier l'imageCopy Link context menu item Copy ImageQWebPageCopier le lienCopy Link context menu item Copy LinkQWebPage&tat du film actuelMedia controller elementCurrent movie statusQWebPage,Dure du film en coursMedia controller elementCurrent movie timeQWebPage CouperCut context menu itemCutQWebPagePar dfaut+Default writing direction context menu itemDefaultQWebPage>Supprimer jusqu' la fin du motDelete to the end of the wordQWebPage>Supprimer jusqu'au dbut du motDelete to the start of the wordQWebPage'Writing direction context sub-menu item DirectionQWebPageTemps coulMedia controller element Elapsed TimeQWebPagePolicesFont context sub-menu itemFontsQWebPage*Bouton de plein cranMedia controller elementFullscreen ButtonQWebPagePrcdentBack context menu itemGo BackQWebPageSuivantForward context menu item Go ForwardQWebPage>Cacher Orthographe et Grammairemenu item titleHide Spelling and GrammarQWebPageIgnorer Ignore Grammar context menu itemIgnoreQWebPageIgnorer!Ignore Spelling context menu itemIgnoreQWebPageDure indfinieMedia time descriptionIndefinite timeQWebPageRetraitIndentQWebPage2Insrer une liste pucesInsert Bulleted ListQWebPage6Insrer une liste numroteInsert Numbered ListQWebPage4Insrer une nouvelle ligneInsert a new lineQWebPage:Insrer un nouveau paragrapheInsert a new paragraphQWebPageInspecter!Inspect Element context menu itemInspectQWebPageItaliqueItalic context menu itemItalicQWebPage,Alerte JavaScript - %1JavaScript Alert - %1QWebPage8Confirmation JavaScript - %1JavaScript Confirm - %1QWebPage6Problme de JavaScript - %1JavaScript Problem - %1QWebPage,Invite JavaScript - %1JavaScript Prompt - %1QWebPageJustifiJustifyQWebPage gauche Left edgeQWebPageGauche droiteLeft to Right context menu item Left to RightQWebPage&Diffusion en direct>Media controller status message when watching a live broadcastLive BroadcastQWebPageChargement...9Media controller status message when the media is loading Loading...QWebPage:Chercher dans le dictionnaire'Look Up in Dictionary context menu itemLook Up In DictionaryQWebPage Plug-in manquantMissing Plug-inQWebPageTDplacer le curseur la fin du paragraphe'Move the cursor to the end of the blockQWebPageLDplacer le curseur en fin de document*Move the cursor to the end of the documentQWebPageFDplacer le curseur en fin de ligne&Move the cursor to the end of the lineQWebPagePDplacer le curseur au caractre suivant%Move the cursor to the next characterQWebPageNDplacer le curseur la ligne suivante Move the cursor to the next lineQWebPageDDplacer le curseur au mot suivant Move the cursor to the next wordQWebPageTDplacer le curseur au caractre prcdent)Move the cursor to the previous characterQWebPageRDplacer le curseur la ligne prcdente$Move the cursor to the previous lineQWebPageHDplacer le curseur au mot prcdent$Move the cursor to the previous wordQWebPageTDplacer le curseur au dbut du paragraphe)Move the cursor to the start of the blockQWebPagePDplacer le curseur en dbut de document,Move the cursor to the start of the documentQWebPageJDplacer le curseur en dbut de ligne(Move the cursor to the start of the lineQWebPage2Balayeur de dure du filmMedia controller elementMovie time scrubberQWebPagedCase de dfilement du balayeur de la dure du filmMedia controller elementMovie time scrubber thumbQWebPage<Bouton de dsactivation du sonMedia controller element Mute ButtonQWebPage<Couper le son des pistes audioMedia controller elementMute audio tracksQWebPage.Pas de candidat trouvs"No Guesses Found context menu itemNo Guesses FoundQWebPage4Pas de fichier slectionnJtext to display in file button used in HTML forms when no file is selectedNo file selectedQWebPage0Pas de recherche rcentevLabel for only item in menu that appears when clicking on the search field image, when no searches have been performedNo recent searchesQWebPageOuvrir le cadre*Open Frame in New Window context menu item Open FrameQWebPageOuvrir l'image*Open Image in New Window context menu item Open ImageQWebPageOuvrir le lienOpen Link context menu item Open LinkQWebPage@Ouvrir dans une Nouvelle Fentre$Open in New Window context menu itemOpen in New WindowQWebPageRetrait ngatifOutdentQWebPageContourOutline context menu itemOutlineQWebPagePage bas Page downQWebPagePage gauche Page leftQWebPagePage droite Page rightQWebPagePage hautPage upQWebPage CollerPaste context menu itemPasteQWebPage2Coller et suivre le stylePaste and Match StyleQWebPage PausePauseQWebPageBouton de pauseMedia controller element Pause ButtonQWebPagePause lectureMedia controller elementPause playbackQWebPage"Bouton de lectureMedia controller element Play ButtonQWebPageHRegarder le film en mode plein cranMedia controller elementPlay movie in full-screen modeQWebPage&Recherches rcentesrlabel for first item in the menu that appears when clicking on the search field image, used as embedded menu titleRecent searchesQWebPage<Limite de redirection atteinteRedirection limit reachedQWebPageRechargerReload context menu itemReloadQWebPageDure restanteMedia controller elementRemaining TimeQWebPage,Dure de film restanteMedia controller elementRemaining movie timeQWebPage0Retirer la mise en formeRemove formattingQWebPageRinitialiser5default label for Reset buttons in forms on web pagesResetQWebPageTRamener le film en streaming en temps relMedia controller element#Return streaming movie to real-timeQWebPage<Bouton de retour au temps relMedia controller elementReturn to Real-time ButtonQWebPage6Bouton de retour en arrireMedia controller element Rewind ButtonQWebPage$Rembobiner le filmMedia controller element Rewind movieQWebPage droite Right edgeQWebPageDroite gaucheRight to Left context menu item Right to LeftQWebPage&Enregistrer l'image Download Image context menu item Save ImageQWebPage,Enregistrer le lien...&Download Linked File context menu item Save Link...QWebPage&Dfiler vers le bas Scroll downQWebPage"Dfiler jusqu'ici Scroll hereQWebPage,Dfiler vers la gauche Scroll leftQWebPage,Dfiler vers la droite Scroll rightQWebPage(Dfiler vers le haut Scroll upQWebPage&Chercher sur le Web Search The Web context menu itemSearch The WebQWebPage6Bouton de recherche arrireMedia controller elementSeek Back ButtonQWebPage2Bouton de recherche avantMedia controller elementSeek Forward ButtonQWebPage0Recherche rapide arrireMedia controller elementSeek quickly backQWebPage,Recherche rapide avantMedia controller elementSeek quickly forwardQWebPage"Tout slectionner Select AllQWebPageRSlectionner jusqu' la fin du paragrapheSelect to the end of the blockQWebPageNSlectionner jusqu' la fin du document!Select to the end of the documentQWebPageDSlectionner jusqu'en fin de ligneSelect to the end of the lineQWebPageNSlectionner jusqu'au caractre suivantSelect to the next characterQWebPageLSlectionner jusqu' la ligne suivanteSelect to the next lineQWebPageBSlectionner jusqu'au mot suivantSelect to the next wordQWebPageRSlectionner jusqu'au caractre prcdent Select to the previous characterQWebPagePSlectionner jusqu' la ligne prcdenteSelect to the previous lineQWebPageFSlectionner jusqu'au mot prcdentSelect to the previous wordQWebPageRSlectionner jusqu'au dbut du paragraphe Select to the start of the blockQWebPageNSlectionner jusqu'au dbut du document#Select to the start of the documentQWebPageHSlectionner jusqu'en dbut de ligneSelect to the start of the lineQWebPageBAfficher Orthographe et Grammairemenu item titleShow Spelling and GrammarQWebPage SliderMedia controller elementSliderQWebPageBCurseur de la barre de dfilementMedia controller element Slider ThumbQWebPageOrthographe*Spelling and Grammar context sub-menu itemSpellingQWebPage&Affichage de l'tatMedia controller elementStatus DisplayQWebPageArrterStop context menu itemStopQWebPage Barr StrikethroughQWebPageSoumettreQSubmit (input element) alt text for elements with no alt, title, or valueSubmitQWebPageSoumettre6default label for Submit buttons in forms on web pagesSubmitQWebPage Indice SubscriptQWebPageExposant SuperscriptQWebPage(Orientation du texte$Text direction context sub-menu itemText DirectionQWebPageLe script de cette page semble avoir un problme. Souhaitez-vous arrter le script?RThe script on this page appears to have a problem. Do you want to stop the script?QWebPagedCeci est un index. Veuillez saisir les mots-cl: _text that appears at the start of nearly-obsolete web pages in the form of a 'searchable index'3This is a searchable index. Enter search keywords: QWebPageHautTopQWebPageSoulignUnderline context menu item UnderlineQWebPageInconnu+Unknown filesize FTP directory listing itemUnknownQWebPage:Bouton de ractivation du sonMedia controller element Unmute ButtonQWebPageBRactiver le son des pistes audioMedia controller elementUnmute audio tracksQWebPagelment vidoMedia controller element Video ElementQWebPage|Commandes de lecture et affichage de l'tat de l'lment vidoMedia controller element2Video element playback controls and status displayQWebPage&Inspecteur Web - %2Web Inspector - %2QWebPage*Qu'est-ce que c'est ? What's This?QWhatsThisAction*QWidget&Terminer&FinishQWizard &Aide&HelpQWizard&Suivant >&NextQWizard&Suivant >&Next >QWizard< &Prcdent< &BackQWizardAnnulerCancelQWizardSoumettreCommitQWizardContinuerContinueQWizardTerminerDoneQWizardPrcdentGo BackQWizardAideHelpQWizard%1 - [%2] %1 - [%2] QWorkspace&Fermer&Close QWorkspace&Dplacer&Move QWorkspace&Restaurer&Restore QWorkspace&Taille&Size QWorkspaceDr&ouler&Unshade QWorkspace FermerClose QWorkspaceMa&ximiser Ma&ximize QWorkspaceRd&uire Mi&nimize QWorkspaceRduireMinimize QWorkspace Restaurer en bas Restore Down QWorkspaceEnrou&lerSh&ade QWorkspace.Rester au &premier plan Stay on &Top QWorkspacedclaration d'encodage ou dclaration "standalone" attendue lors de la lecture de la dclaration XMLYencoding declaration or standalone declaration expected while reading the XML declarationQXmljerreur dans la dclaration texte d'une entit externe3error in the text declaration of an external entityQXmlune erreur s'est produite pendant l'analyse syntaxique du commentaire$error occurred while parsing commentQXmlune erreur s'est produite pendant l'analyse syntaxique du contenu$error occurred while parsing contentQXmlune erreur s'est produite pendant l'analyse syntaxique de la dfinition du type de document5error occurred while parsing document type definitionQXmlune erreur s'est produite pendant l'analyse syntaxique de l'lement$error occurred while parsing elementQXmlune erreur s'est produite pendant l'analyse syntaxique d'une rfrence&error occurred while parsing referenceQXmlJErreur dclenche par le consommateurerror triggered by consumerQXmlrfrence une entit gnrale externe non autorise dans le DTD;external parsed general entity reference not allowed in DTDQXmlrfrence une entit gnrale externe non autorise dans la valeur d'attributGexternal parsed general entity reference not allowed in attribute valueQXmlrfrence une entit gnrale interne non autorise dans la DTD4internal general entity reference not allowed in DTDQXml4nom d'instruction invalide'invalid name for processing instructionQXml.une lettre est attendueletter is expectedQXmlRplus d'une dfinition de type de document&more than one document type definitionQXml>aucune erreur ne s'est produiteno error occurredQXml$entits rcursivesrecursive entitiesQXmldclaration "standalone" attendue lors de la lecture de la dclaration XMLAstandalone declaration expected while reading the XML declarationQXmltag incongru tag mismatchQXml&caractre inattenduunexpected characterQXml2Fin de fichier inattendueunexpected end of fileQXmlxrfrence une entit non analyse dans le mauvais contexte*unparsed entity reference in wrong contextQXml`une version est attendue dans la dclaration XML2version expected while reading the XML declarationQXmlfvaleur incorrecte pour une dclaration "standalone"&wrong value for standalone declarationQXmlLieu inconnuQXmlPatternistCLIbErreur %1 dans %2, la ligne %3, colonne %4: %5)Error %1 in %2, at line %3, column %4: %5QXmlPatternistCLI,Erreur %1 dans %2: %3Error %1 in %2: %3QXmlPatternistCLIjAvertissement dans %1, la ligne %2, colonne %3: %4(Warning in %1, at line %2, column %3: %4QXmlPatternistCLI4Avertissement dans %1: %2Warning in %1: %2QXmlPatternistCLIX%1 n'est pas un identifiant "PUBLIC" valide.#%1 is an invalid PUBLIC identifier. QXmlStreamL%1 n'est pas un nom d'encodage valide.%1 is an invalid encoding name. QXmlStreamR%1 n'est pas un nom d'instruction valide.-%1 is an invalid processing instruction name. QXmlStream, mais trouv ' , but got ' QXmlStream0Redfinition d'attribut.Attribute redefined. QXmlStreamB%1 n'est pas un encodage supportEncoding %1 is unsupported QXmlStreamlDu contenu avec un encodage incorrect a t rencontr.(Encountered incorrectly encoded content. QXmlStream2Entit '%1' non dclare.Entity '%1' not declared. QXmlStreamAttendu(e) Expected  QXmlStream0donnes texte attendues.Expected character data. QXmlStreamLContenu superflu la fin du document.!Extra content at end of document. QXmlStreamVDclaration d'espace de noms non autorise.Illegal namespace declaration. QXmlStream.Caractre XML invalide.Invalid XML character. QXmlStream"Nom XML invalide.Invalid XML name. QXmlStream>Chane de version XML invalide.Invalid XML version string. QXmlStreamVAttribut invalide dans une dclaration XML.%Invalid attribute in XML declaration. QXmlStreamDRfrence un caractre invalide.Invalid character reference. QXmlStream$Document invalide.Invalid document. QXmlStream8Valeur de l'entit invalide.Invalid entity value. QXmlStream6nom d'instruction invalide.$Invalid processing instruction name. QXmlStreambNDATA dans une dclaration de paramtre d'entit.&NDATA in parameter entity declaration. QXmlStreamdLe prfixe d'espace de noms %1 n'a pas t dclar"Namespace prefix '%1' not declared QXmlStream\Tags ouvrant et fermants ne correspondent pas. Opening and ending tag mismatch. QXmlStream6Fin de document inattendue.Premature end of document. QXmlStream4Entit rcursive dtecte.Recursive entity detected. QXmlStreamnRfrence l'entit externe '%1' en valeur d'attribut.5Reference to external entity '%1' in attribute value. QXmlStreamNRfrence l'entit '%1' non analyse."Reference to unparsed entity '%1'. QXmlStreamZsquence ']]>' non autorise dans le contenu.&Sequence ']]>' not allowed in content. QXmlStreamLe seules valeurs possibles pour "standalone" sont "yes" ou "no"."Standalone accepts only yes or no. QXmlStream,Tag de dpart attendu.Start tag expected. QXmlStreamLe pseudo-attribut "standalone" doit apparatre aprs l'encodage.?The standalone pseudo attribute must appear after the encoding. QXmlStreamInattendu(e) Unexpected ' QXmlStream|Caractre '%1' inattendu pour une valeur d'identifiant public./Unexpected character '%1' in public id literal. QXmlStream4Version XML non supporte.Unsupported XML version. QXmlStreamdLa dclaration XML doit tre en dbut de document.)XML declaration not at start of document. QXmlStream 0.125x0.125xQmlJSDebugger::QmlToolBar0.1x0.1xQmlJSDebugger::QmlToolBar 0.25x0.25xQmlJSDebugger::QmlToolBar0.5x0.5xQmlJSDebugger::QmlToolBar1x1xQmlJSDebugger::QmlToolBarSlectionnerSelectQmlJSDebugger::QmlToolBar OutilsToolsQmlJSDebugger::QmlToolBarAgrandirZoom InQmlJSDebugger::ZoomToolRtrcirZoom OutQmlJSDebugger::ZoomTooldL'lment %1 n'est pas autoris cet emplacement. QtXmlPatternsp%1 et %2 correspondent au dbut et la fin d'une ligne.,%1 and %2 match the start and end of a line. QtXmlPatterns8%1 ne peut pas tre rcupr%1 cannot be retrieved QtXmlPatterns%1 contient 'octets', qui n'est pas autoris pour l'encodage %2.E%1 contains octets which are disallowed in the requested encoding %2. QtXmlPatterns%1 est une type complexe. Caster vers des types complexes n'est pas possible. Cependant, caster vers des types atomiques comme %2 marche.s%1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works. QtXmlPatterns(%1 est un ivalide %2%1 is an invalid %2 QtXmlPatterns%1 est un flag invalide pour des expressions rgulires. Les flags valides sont: ?%1 is an invalid flag for regular expressions. Valid flags are: QtXmlPatternsH%1 est un URI de namespace invalide.%1 is an invalid namespace URI. QtXmlPatternsj%1 est un modle d'expression rgulire invalide: %2/%1 is an invalid regular expression pattern: %2 QtXmlPatternsV%1 est un nom de mode de template invalide.$%1 is an invalid template mode name. QtXmlPatternsB%1 est un type de schema inconnu.%1 is an unknown schema type. QtXmlPatterns@%1 est un encodage non support.%1 is an unsupported encoding. QtXmlPatternsR%1 n'est pas un caractre XML 1.0 valide.$%1 is not a valid XML 1.0 character. QtXmlPatterns|%1 n'est pas un nom valide pour une instruction de traitement.4%1 is not a valid name for a processing-instruction. QtXmlPatternsR%1 n'est pas une valeur numrique valide."%1 is not a valid numeric literal. QtXmlPatterns%1 n'est pas un nom de destination valide dans une instruction de traitement. Ce doit tre une valeur %2, par ex. %3.Z%1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3. QtXmlPatternsT%1 n'est pas une valeur valide du type %2.#%1 is not a valid value of type %2. QtXmlPatternsR%1 n'est pas un nombre entier de minutes.$%1 is not a whole number of minutes. QtXmlPatterns%1 n'est pas un type atomique. Il est uniquement possible de caster vers des types atomiques.C%1 is not an atomic type. Casting is only possible to atomic types. QtXmlPatterns%1 n'est pas dans les dclaration d'attribut in-scope. La fonctionnalit d'inport de schma n'est pas supporte.g%1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported. QtXmlPatternsT%1 n'est pas une valeur valide de type %2.&%1 is not valid as a value of type %2. QtXmlPatterns^%1 correspond des caractres de saut de ligne%1 matches newline characters QtXmlPatterns%1 doit tre suivi par %2 ou %3, et non la fin de la chane de remplacement.J%1 must be followed by %2 or %3, not at the end of the replacement string. QtXmlPatternsn%1 requiert au moins %n argument. %2 est donc invalide.p%1 requiert au moins %n arguments. %2 est donc invalide.=%1 requires at least %n argument(s). %2 is therefore invalid. QtXmlPatternsl%1 prend au maximum %n argument. %2 est donc invalide.n%1 prend au maximum %n arguments. %2 est donc invalide.9%1 takes at most %n argument(s). %2 is therefore invalid. QtXmlPatterns %1 a t appel.%1 was called. QtXmlPatternsLUn commentaire ne peut pas contenir %1A comment cannot contain %1 QtXmlPatternsPUn commentaire ne peut pas finir par %1.A comment cannot end with a %1. QtXmlPatternsUn dclaration de namespace par dfaut doit tre place avant toute fonction, variable ou declaration d'option.^A default namespace declaration must occur before function, variable, and option declarations. QtXmlPatternsUn constructeur direct d'lment est mal-form. %1 est termin par %2.EA direct element constructor is not well-formed. %1 is ended with %2. QtXmlPatterns\Une fonction avec la signature %1 existe dj.0A function already exists with the signature %1. QtXmlPatternsUn module de bibliothque ne peut pas tre valu directement. Il doit tre import d'un module principal.VA library module cannot be evaluated directly. It must be imported from a main module. QtXmlPatternsUn paramtre de fonction ne peut pas tre dclar comme un tunnel.In an XSL-T pattern, function %1 cannot have a third argument. QtXmlPatternsDans un pattern XSL-T, seules les fonctions %1 et %2 (pas %3) peuvent tre utilises pour le matching.OIn an XSL-T pattern, only function %1 and %2, not %3, can be used for matching. QtXmlPatternsDans un pattern XSL-T, le premier argument la fonction %1 doit tre un litral ou une rfrence de variable.yIn an XSL-T pattern, the first argument to function %1 must be a literal or a variable reference, when used for matching. QtXmlPatternsDans un pattern XSL-T, le premier argument la fonction %1 doit tre une chane de caractres quand utilis pour correspondance.hIn an XSL-T pattern, the first argument to function %1 must be a string literal, when used for matching. QtXmlPatternsDans la chane de remplacement, %1 peut seulement tre utilis pour chapper lui-mme ou %2 mais pas %3MIn the replacement string, %1 can only be used to escape itself or %2, not %3 QtXmlPatternsDans la chane de remplacement, %1 doit tre suivi par au moins un chiffre s'il n'est pas chapp.VIn the replacement string, %1 must be followed by at least one digit when not escaped. QtXmlPatterns\Division entire (%1) par zro (%2) indfinie.0Integer division (%1) by zero (%2) is undefined. QtXmlPatternsTIl est impossible de se lier au prfixe %1+It is not possible to bind to the prefix %1 QtXmlPatterns\Il est impossible de redclarer le prfixe %1.*It is not possible to redeclare prefix %1. QtXmlPatternsFIl sera impossible de rcuprer %1.'It will not be possible to retrieve %1. QtXmlPatternsIl est impossible d'ajouter des attributs aprs un autre type de noeuds.AIt's not possible to add attributes after any other kind of node. QtXmlPatternshLes correspondances ne sont pas sensibles la casseMatches are case insensitive QtXmlPatternsLes imports de module doivent tre placs avant tout fonction, variable ou dclaration d'option.MModule imports must occur before function, variable, and option declarations. QtXmlPatternsZModule division (%1) par zro (%2) indfinie.0Modulus division (%1) by zero (%2) is undefined. QtXmlPatternsVLe mois %1 est hors de l'intervalle %2..%3.%Month %1 is outside the range %2..%3. QtXmlPatternsLa multiplication d'une valeur du type %1 par %2 ou %3 (plus ou moins infini) est interdite.YMultiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed. QtXmlPatternsLe namespace %1 peut seulement tre li %2 (et doit tre pr-dclar).ONamespace %1 can only be bound to %2 (and it is, in either case, pre-declared). QtXmlPatternsLes declarations de namespace doivent tre places avant tout fonction, variable ou dclaration d'option.UNamespace declarations must occur before function, variable, and option declarations. QtXmlPatterns0Le rseau ne rpond pas.Network timeout. QtXmlPatterns@Les fonctions externes ne sont pas supportes. Toutes les fonctions supportes peuvent ter utilises directement sans les dclarer pralablement comme externes{No external functions are supported. All supported functions can be used directly, without first declaring them as external QtXmlPatternsVAucune fonction nomme %1 n'est disponible.&No function with name %1 is available. QtXmlPatternsjAucune fonction avec la signature %1 n'est disponible*No function with signature %1 is available QtXmlPatternsfAucun lien de namespace n'existe pour le prfixe %1-No namespace binding exists for the prefix %1 QtXmlPatternsvAucun lien de namespace n'existe pour le prfixe %1 dans %23No namespace binding exists for the prefix %1 in %2 QtXmlPatternsBAucun template nomm %1 n'existe.No template by name %1 exists. QtXmlPatternsvAucune valeur n'est disponible pour la variable externe %1.=No value is available for the external variable with name %1. QtXmlPatternsDAucune variable nomme %1 n'existeNo variable with name %1 exists QtXmlPatternsAucune des expressions pragma n'est supporte. Une expression par dfault doit tre prsente^None of the pragma expressions are supported. Therefore, a fallback expression must be present QtXmlPatternsSeulement une dclaration %1 peut intervenir lors du prologue de la requte.6Only one %1 declaration can occur in the query prolog. QtXmlPatternsPSeulement un lment %1 peut apparatre.Only one %1-element can appear. QtXmlPatternsSeule le Unicode CodepointCollation est support (%1), %2 n'est pas support.IOnly the Unicode Codepoint Collation is supported(%1). %2 is unsupported. QtXmlPatternsjSeul le prfixe %1 peut tre li %2, et vice versa.5Only the prefix %1 can be bound to %2 and vice versa. QtXmlPatternsL'oprateur %1 ne peut pas tre utilis pour des valeurs atomiques de type %2 ou %3.>Operator %1 cannot be used on atomic values of type %2 and %3. QtXmlPatternspL'oprateur %1 ne peut pas tre utilis pour le type %2.&Operator %1 cannot be used on type %2. QtXmlPatterns`Overflow: impossible de reprsenter la date %1."Overflow: Can't represent date %1. QtXmlPatterns`Overflow: la date ne peut pas tre reprsente.$Overflow: Date can't be represented. QtXmlPatternsErreur: %1Parse error: %1 QtXmlPatternsLe prfixe %1 peut seulement tre li %2 (et doit tre prdclar).LPrefix %1 can only be bound to %2 (and it is, in either case, pre-declared). QtXmlPatterns`Le prfixe %1 est dj dclar dans le prologue.,Prefix %1 is already declared in the prolog. QtXmlPatternszLa Promotion de %1 vers %2 peut causer un perte de prcision./Promoting %1 to %2 may cause loss of precision. QtXmlPatternsNLa cardinalit requise est %1; reu %2./Required cardinality is %1; got cardinality %2. QtXmlPatternsTLe type requis est %1, mais %2 a t reu.&Required type is %1, but %2 was found. QtXmlPatternsLancement d'une feuille de style XSL-T 1.0 avec un processeur 2.0.5Running an XSL-T 1.0 stylesheet with a 2.0 processor. QtXmlPatternsNL'axe %1 n'est pas support dans XQuery$The %1-axis is unsupported in XQuery QtXmlPatternsLa fonctionnalit "Schema Import" n'est pas supporte et les dclarations %1 ne peuvent donc intervenir.WThe Schema Import feature is not supported, and therefore %1 declarations cannot occur. QtXmlPatternsLa fonctionnalit "Schema Validation" n'est pas supporte. Les expressions %1 ne seront pas utilises.VThe Schema Validation Feature is not supported. Hence, %1-expressions may not be used. QtXmlPatternsHL'URI ne peut pas avoir de fragmentsThe URI cannot have a fragment QtXmlPatternsL'attribute %1 peut seulement apparatre sur le premier lment %2.9The attribute %1 can only appear on the first %2 element. QtXmlPatternsL'attribut %1 ne peut pas apparatre sur %2 quand il est fils de %3.?The attribute %1 cannot appear on %2, when it is a child of %3. QtXmlPatternsLe codepoint %1 dans %2 et utilisant l'encodage %3 est un caractre XML invalide.QThe codepoint %1, occurring in %2 using encoding %3, is an invalid XML character. QtXmlPatternsLes donnes d'une instruction de traitement ne peut contenir la chane %1AThe data of a processing instruction cannot contain the string %1 QtXmlPatternsLI'l n'y a pas de collection par dfaut#The default collection is undefined QtXmlPatternsL'encodage %1 est invalide. Il doit contenir uniquement des caractres latins, sans blanc et doit tre conforme l'expression rgulire %2.The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2. QtXmlPatternsLe premier argument de %1 ne peut tre du type %2. Il doit tre de type numrique, xs:yearMonthDuration ou xs:dayTimeDuration.uThe first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration. QtXmlPatternsLe premier argument de %1 ne peut tre du type %2. Il doit tre de type %3, %4 ou %5.PThe first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. QtXmlPatterns,Le focus est indfini.The focus is undefined. QtXmlPatternsjL'initialisation de la variable %1 dpend d'elle-mme3The initialization of variable %1 depends on itself QtXmlPatterns\L'item %1 ne correspond pas au type requis %2./The item %1 did not match the required type %2. QtXmlPatterns~Le mot-cl %1 ne peut pas apparatre avec un autre nom de mode.5The keyword %1 cannot occur with any other mode name. QtXmlPatterns La dernire tape dans un chemin doit contenir soit des noeuds soit des valeurs atomiques. Cela ne peut pas tre un mlange des deux.kThe last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two. QtXmlPatternsjLa fonctionnalit "module import" n'est pas supporte*The module import feature is not supported QtXmlPatterns\Le nom %1 ne se rfre aucun type de schema..The name %1 does not refer to any schema type. QtXmlPatternsLe nom d'un attribut calcul ne peut pas avoir l'URI de namespace %1 avec le nom local %2.ZThe name for a computed attribute cannot have the namespace URI %1 with the local name %2. QtXmlPatterns&Le nom d'une variable lie dans un expression for doit tre different de la variable positionnelle. Les deux variables appeles %1 sont en conflit.The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide. QtXmlPatternsLe nom d'une expression d'extension doit tre dans un namespace.;The name of an extension expression must be in a namespace. QtXmlPatternsLe nom d'une option doit avoir un prfixe. Il n'y a pas de namespace par dfaut pour les options.TThe name of an option must have a prefix. There is no default namespace for options. QtXmlPatternsHLe namespace %1 est rserv; c'est pourquoi les fonctions dfinies par l'utilisateur ne peuvent l'utiliser. Essayez le prfixe prdfini %2 qui existe pour ces cas.The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases. QtXmlPatternsL'URI de namespace ne peut tre une chane vide quand on le lie un prfixe, %1.JThe namespace URI cannot be the empty string when binding to a prefix, %1. QtXmlPatternsL'URI de namespace dans le nom d'un attribut calcul ne peut pas tre %1.DThe namespace URI in the name for a computed attribute cannot be %1. QtXmlPatternsL'URI de namespace doit tre une constante et ne peut contenir d'expressions.IThe namespace URI must be a constant and cannot use enclosed expressions. QtXmlPatternsLe namespace d'une fonction utilisateur ne peut pas tre vide (essayez le prfixe prdfini %1 qui existe pour ce genre de cas)yThe namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this) QtXmlPatternsLLe namespace d'une fonction utilisateur dans un module de bibliothque doit tre quivalent au namespace du module. En d'autres mots, il devrait tre %1 au lieu de %2The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2 QtXmlPatterns(Le forme de normalisation %1 n'est pas supporte. Les formes supportes sont %2, %3, %4 et %5, et aucun, ie. une chane vide (pas de normalisation).The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization). QtXmlPatterns~Le paramtre %1 est pass mais aucun %2 correspondant n'existe.;The parameter %1 is passed, but no corresponding %2 exists. QtXmlPatternsLe paramtre %1 est requis, mais aucun %2 correspondant n'est fourni.BThe parameter %1 is required, but no corresponding %2 is supplied. QtXmlPatterns>Le prfixe %1 ne peut tre li.The prefix %1 cannot be bound. QtXmlPatternsLe prfixe %1 ne peut tre li. Par dfault, il est dj li au namespace %2.SThe prefix %1 cannot be bound. By default, it is already bound to the namespace %2. QtXmlPatternshLe prfixe doit tre un valide %1; %2 n'e l'est pas./The prefix must be a valid %1, which %2 is not. QtXmlPatternsLe noeuds racine du deuxime argument la fonction %1 doit tre un noeuds document. %2 n'est pas un document.gThe root node of the second argument to function %1 must be a document node. %2 is not a document node. QtXmlPatternsLe deuxime argument de %1 ne peut tre du type %2. Il doit tre de type %3, %4 ou %5.QThe second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. QtXmlPatternsLe nom de destination dans une instruction de traitement ne peut tre %1. %2 est invalide.~The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, %2 is invalid. QtXmlPatternsZLe namespace cible d'un %1 ne peut tre vide.-The target namespace of a %1 cannot be empty. QtXmlPatternsLa valeur de l'attribut %1 de l'lement %2 doit tre %3 ou %4, et pas %5.IThe value for attribute %1 on element %2 must either be %3 or %4, not %5. QtXmlPatternsLa valeur de l'attribut %1 doit tre du type %2, %3 n'en est pas.=The value of attribute %1 must be of type %2, which %3 isn't. QtXmlPatternsLa valeur de l'attribut de version XSL-T doit tre du type %1, et non %2.TThe value of the XSL-T version attribute must be a value of type %1, which %2 isn't. QtXmlPatterns:La variable %1 est inutiliseThe variable %1 is unused QtXmlPatternsCe processeur ne comprend pas les Schemas. C'est pourquoi %1 ne peut pas tre utilis.CThis processor is not Schema-aware and therefore %1 cannot be used. QtXmlPatternsJL'heure %1: %2: %3.%4 est invalide.Time %1:%2:%3.%4 is invalid. QtXmlPatternsHeure 24: %1: %2.%3 est invalide. L'heure est 24 mais les minutes, secondes et millisecondes ne sont pas 0;_Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0;  QtXmlPatternsLes lment d'une feuille de style de haut niveau doivent tre dans un namespace non nul; %1 ne l'est pas.NTop level stylesheet elements must be in a non-null namespace, which %1 isn't. QtXmlPatternsDeux attributs de dclarations de namespace ont le mme nom: %1.i00u00955 DA DT+',B,~+į+3K;"F0iG<Hw9Hw9<I0IJ+J6:J64,J6=UJ6BDJ6zJ6J6J6KLLZMLL4[Lb M5BO|3PFE PFEPFEXTU?^&GU|:<V1V1VlVWWTWT:X?X)X˙@CX&Y^YPZg\]4\]4\[at|^v;v$f]IA[?[I7y&ɵn4ɵnj7ɵnqbɵnɵn*ɵnƔɵn++` B3oMEx+qH0<p5#Q%UT (ŎRy*42CCCeGD"D1[MvaR?HfP loR-w^0|{yW2M2.CoRM d yEvurr k"l)-N-^/=N1$!5~Zh< w!?NrNky]`6`"  4MC$)te6;66^^;~%=~.N6WEIEЛH{,8A A\O[yL4n>7IǠ˘MSMcEXEbUww!e+&)*/e5!N;nBy>F:eOZfH`cփfjCR<qIu(@~S '$$ e(^ n,la;y1A&Hk./k3IxS1|R>%YMY?YMbh^"i'sscxwͤYۊ3N/]]IdIqII=I,II<IJYچiyZٖIfv۲*:uD]uDdDno,,,,,kXɘe֡5$fR +fROINװOc%Pq`V>VfRGGخ Ys$%C"?"KN=MR]i<]pZky^H{yFPG%WKصǥ+$t {ygr"%1C-|5oƨƨ˾pҝz i2է?Z>#vf 0~bO ~bU*o!n+3(//#6 DGXuGbSLAUPѧ=Sn%UtUZԗZZZ?[]k*N^nue pi]qidkQ$oN^y;{V}uh}w'}wx}w"  v#tt.{.PD t*wtcKte_ Fʢ85ʢd9 dddu59m~gUBw zB m+f2C6^CU]CDKEU| arȪt}wZC}$}$$}$ZK<>4 /cEVu%5TTi~vX%. 5kEýXU MbDIbGxgAXi$x1 ]z*2ҳd.Uә5ŗzDmXnkb,C@ʴ5ʴ5Ԅ DXdF5F5YI IMAs 8 }$" qea1 ڤ E, E Acv AcP 35x K!?Jk bb b`\ b` i3' la5 lf xq | t tPG . V D *  > 1 rC K m %']  ܢ =  )H */Ҁ 7ua ;{* =W B Rۮ T^R ] `i `" c( dd e t eN f1Z gnf k,A rD" tT m`"; w yr: H HHL , $K4 .@  i-   J JL t t. k Ӈj  N>y ̺V -DW .} k k U)e= < 09  \  dO ߤ xHhe .1 7F >_ >` >a >h >u >~^ >I > DT I1E RVQ' RV RV S. S Ym [/ j7oF p2H . Bq < T5c T" T T V s# 7  Sr )dS  .5 .j . .U a y C ҂  t a :be ʜ0r +>3 0E ~ ;ɾ Pt Pt fe^ fe gL iFC iN@ ia n!' u% uV w" w| w w}v w} w}* |['~ Z c ^ }| R ! X &' DK t5 t5   )t !T+gT,M**=*/E+/E~=Bw}I_fXRu[ a.>&nyG%vɅy$Q~gSuM^B(<ݖ[yrI  K3"#ʡ$U%4AA%4T4-v0i)ݡ0y1cP2wT[D#-HJdg.L$. c5ϲc5eiCyC${~a`i[5H LNEkyPzt2/ɘi(2Acerca de %1About %1MAC_APPLICATION_MENUOcultar %1Hide %1MAC_APPLICATION_MENUOcultar otros Hide OthersMAC_APPLICATION_MENUPreferencias &Preferences...MAC_APPLICATION_MENUSalir de %1Quit %1MAC_APPLICATION_MENUServiciosServicesMAC_APPLICATION_MENUMostrar todoShow AllMAC_APPLICATION_MENUHLa secuencia %1, %2 no est definida%1, %2 not definedQ3Accel>Secuencia ambigua %1 no tratadaAmbiguous %1 not handledQ3Accel BorrarDelete Q3DataTable FalsoFalse Q3DataTableInsertarInsert Q3DataTableVerdaderoTrue Q3DataTableActualizarUpdate Q3DataTable%1 Fichero no encontrado. Compruebe la ruta y el nombre del fichero.+%1 File not found. Check path and filename. Q3FileDialog&Borrar&Delete Q3FileDialog&No&No Q3FileDialog&Aceptar&OK Q3FileDialog &Abrir&Open Q3FileDialog$Cambia&r de nombre&Rename Q3FileDialog&Guardar&Save Q3FileDialog&Sin ordenar &Unsorted Q3FileDialog&S&Yes Q3FileDialogT<qt>Seguro que desea borrar %1 %2?</qt>1Are you sure you wish to delete %1 "%2"? Q3FileDialog,Todos los ficheros (*) All Files (*) Q3FileDialog0Todos los ficheros (*.*)All Files (*.*) Q3FileDialogAtributos Attributes Q3FileDialog,Precedente (histrico)Back Q3FileDialogCancelarCancel Q3FileDialog2Copiar o mover un ficheroCopy or Move a File Q3FileDialog.Crear una nueva carpetaCreate New Folder Q3FileDialog FechaDate Q3FileDialogBorrar %1 Delete %1 Q3FileDialogVista detallada Detail View Q3FileDialogDirectorioDir Q3FileDialogDirectorios Directories Q3FileDialogDirectorio: Directory: Q3FileDialog ErrorError Q3FileDialogFicheroFile Q3FileDialog&&Nombre de fichero: File &name: Q3FileDialog"&Tipo de fichero: File &type: Q3FileDialog.Buscar en el directorioFind Directory Q3FileDialogInaccesible Inaccessible Q3FileDialogVista de lista List View Q3FileDialogBuscar &en: Look &in: Q3FileDialog NombreName Q3FileDialogNueva carpeta New Folder Q3FileDialog Nueva carpeta %1 New Folder %1 Q3FileDialogNueva carpeta 1 New Folder 1 Q3FileDialog2Ir al directorio superiorOne directory up Q3FileDialog AbrirOpen Q3FileDialog Abrir Open  Q3FileDialogHContenido del fichero previsualizadoPreview File Contents Q3FileDialogLInformacin del fichero previsualizadoPreview File Info Q3FileDialogR&ecargarR&eload Q3FileDialogSlo lectura Read-only Q3FileDialog"Lectura-escritura Read-write Q3FileDialogLectura: %1Read: %1 Q3FileDialogGuardar comoSave As Q3FileDialog2Seleccionar un directorioSelect a Directory Q3FileDialog:Mostrar los fic&heros ocultosShow &hidden files Q3FileDialog TamaoSize Q3FileDialogOrdenarSort Q3FileDialog$Ordenar por &fecha Sort by &Date Q3FileDialog&Ordenar por &nombre Sort by &Name Q3FileDialog&Ordenar por &tamao Sort by &Size Q3FileDialog Fichero especialSpecial Q3FileDialog@Enlace simblico a un directorioSymlink to Directory Q3FileDialog:Enlace simblico a un ficheroSymlink to File Q3FileDialogLEnlace simblico a un fichero especialSymlink to Special Q3FileDialogTipoType Q3FileDialogSlo escritura Write-only Q3FileDialogEscritura: %1 Write: %1 Q3FileDialogel directorio the directory Q3FileDialogel ficherothe file Q3FileDialog&el enlace simblico the symlink Q3FileDialogJNo fue posible crear el directorio %1Could not create directory %1 Q3LocalFs.No fue posible abrir %1Could not open %1 Q3LocalFsHNo fue posible leer el directorio %1Could not read directory %1 Q3LocalFsdNo fue posible eliminar el fichero o directorio %1%Could not remove file or directory %1 Q3LocalFsPNo fue posible cambiar el nombre %1 a %2Could not rename %1 to %2 Q3LocalFs4No fue posible escribir %1Could not write %1 Q3LocalFsPersonalizar... Customize... Q3MainWindowAlinearLine up Q3MainWindowBOperacin detenida por el usuarioOperation stopped by the userQ3NetworkProtocolCancelarCancelQ3ProgressDialogAplicarApply Q3TabDialogCancelarCancel Q3TabDialog&Valores por omisinDefaults Q3TabDialog AyudaHelp Q3TabDialogAceptarOK Q3TabDialog&Copiar&Copy Q3TextEdit &Pegar&Paste Q3TextEdit&Rehacer&Redo Q3TextEdit&Deshacer&Undo Q3TextEditLimpiarClear Q3TextEditCor&tarCu&t Q3TextEdit Seleccionar todo Select All Q3TextEdit CerrarClose Q3TitleBar"Cierra la ventanaCloses the window Q3TitleBarTContiene rdenes para manipular la ventana*Contains commands to manipulate the window Q3TitleBarMuestra el nombre de la ventana y contiene controles para manipularlaFDisplays the name of the window and contains controls to manipulate it Q3TitleBarNMuestra la ventana en pantalla completaMakes the window full screen Q3TitleBarMaximizarMaximize Q3TitleBarMinimizarMinimize Q3TitleBar"Aparta la ventanaMoves the window out of the way Q3TitleBarfDevuelve una ventana maximizada a su aspecto normal&Puts a maximized window back to normal Q3TitleBarfDevuelve una ventana minimizada a su aspecto normalPuts a minimized back to normal Q3TitleBarRestaurar abajo Restore down Q3TitleBar Restaurar arriba Restore up Q3TitleBarSistemaSystem Q3TitleBar Ms...More... Q3ToolBar(desconocido) (unknown) Q3UrlOperatorEl protocolo %1 no permite copiar o mover ficheros o directoriosIThe protocol `%1' does not support copying or moving files or directories Q3UrlOperatorjEl protocolo %1 no permite crear nuevos directorios;The protocol `%1' does not support creating new directories Q3UrlOperatorZEl protocolo %1 no permite recibir ficheros0The protocol `%1' does not support getting files Q3UrlOperatorEl protocolo %1 no permite listar los ficheros de un directorio6The protocol `%1' does not support listing directories Q3UrlOperatorXEl protocolo %1 no permite enviar ficheros0The protocol `%1' does not support putting files Q3UrlOperatorxEl protocolo %1 no permite eliminar ficheros o directorios@The protocol `%1' does not support removing files or directories Q3UrlOperatorEl protocolo %1 no permite cambiar de nombre ficheros o directorios@The protocol `%1' does not support renaming files or directories Q3UrlOperatorJEl protocolo %1 no est contemplado"The protocol `%1' is not supported Q3UrlOperator&Cancelar&CancelQ3Wizard&Terminar&FinishQ3Wizard &Ayuda&HelpQ3WizardSiguie&nte >&Next >Q3Wizard< &Anterior< &BackQ3Wizard$Conexin rechazadaConnection refusedQAbstractSocket"Conexin expiradaConnection timed outQAbstractSocket(Equipo no encontradoHost not foundQAbstractSocket Red inalcanzableNetwork unreachableQAbstractSocket6El socket no est conectadoSocket is not connectedQAbstractSocket2Operacin socket expiradaSocket operation timed outQAbstractSocket"&Seleccionar todo &Select AllQAbstractSpinBox&Aumentar&Step upQAbstractSpinBoxRe&ducir Step &downQAbstractSpinBoxActivarActivate QApplicationPActiva la ventana principal del programa#Activates the program's main window QApplicationlEl ejecutable %1 requiere Qt %2 (se encontr Qt %3).,Executable '%1' requires Qt %2, found Qt %3. QApplicationBError: biblioteca Qt incompatibleIncompatible Qt Library Error QApplicationLTRQT_LAYOUT_DIRECTION QApplication&Cancelar&Cancel QAxSelect&Objeto COM: COM &Object: QAxSelectAceptarOK QAxSelect<Seleccionar un control ActiveXSelect ActiveX Control QAxSelect MarcarCheck QCheckBoxConmutarToggle QCheckBoxDesmarcarUncheck QCheckBoxH&Aadir a los colores personalizados&Add to Custom Colors QColorDialog Colores &bsicos &Basic colors QColorDialog.&Colores personalizados&Custom colors QColorDialog&Verde:&Green: QColorDialog &Rojo:&Red: QColorDialog&Saturacin:&Sat: QColorDialog&Valor:&Val: QColorDialogCanal a&lfa:A&lpha channel: QColorDialog Az&ul:Bl&ue: QColorDialog &Tono:Hu&e: QColorDialog CerrarClose QComboBox FalsoFalse QComboBox AbrirOpen QComboBoxVerdaderoTrue QComboBox@Incapaz de enviar la transaccinUnable to commit transaction QDB2DriverBImposible establecer una conexinUnable to connect QDB2Driver@Incapaz de anular la transaccinUnable to rollback transaction QDB2DriverLIncapaz de activar el envo automticoUnable to set autocommit QDB2Driver>No es posible ligar la variableUnable to bind variable QDB2ResultBImposible ejecutar la instruccinUnable to execute statement QDB2Result<Imposible recuperar el primeroUnable to fetch first QDB2Result@Imposible recuperar el siguienteUnable to fetch next QDB2Result@Imposible obtener el registro %1Unable to fetch record %1 QDB2ResultBImposible preparar la instruccinUnable to prepare statement QDB2ResultAMAM QDateTimeEditPMPM QDateTimeEditamam QDateTimeEditpmpm QDateTimeEdit QDialQDialQDial$Asa del deslizador SliderHandleQDialVelocmetro SpeedoMeterQDialTerminarDoneQDialogQu es esto? What's This?QDialog&Cancelar&CancelQDialogButtonBox&Cerrar&CloseQDialogButtonBox&No&NoQDialogButtonBox&Aceptar&OKQDialogButtonBox&Guardar&SaveQDialogButtonBox&S&YesQDialogButtonBoxInterrumpirAbortQDialogButtonBoxAplicarApplyQDialogButtonBoxCancelarCancelQDialogButtonBox CerrarCloseQDialogButtonBox$Cerrar sin guardarClose without SavingQDialogButtonBoxDescartarDiscardQDialogButtonBoxNo guardar Don't SaveQDialogButtonBox AyudaHelpQDialogButtonBoxIgnorarIgnoreQDialogButtonBoxN&o a todo N&o to AllQDialogButtonBoxAceptarOKQDialogButtonBox AbrirOpenQDialogButtonBoxReinicializarResetQDialogButtonBoxJRestaurar los valores predeterminadosRestore DefaultsQDialogButtonBoxReintentarRetryQDialogButtonBoxGuardarSaveQDialogButtonBoxGuardar todoSave AllQDialogButtonBoxS a &todo Yes to &AllQDialogButtonBox&ltima modificacin Date Modified QDirModel ClaseKind QDirModel NombreName QDirModel TamaoSize QDirModelTipoType QDirModel CerrarClose QDockWidgetAncladaDock QDockWidgetFlotanteFloat QDockWidget MenosLessQDoubleSpinBoxMsMoreQDoubleSpinBox&Aceptar&OK QErrorMessage<Mo&strar este mensaje de nuevo&Show this message again QErrorMessage,Mensaje de depuracin:Debug Message: QErrorMessageError fatal: Fatal Error: QErrorMessage Aviso:Warning: QErrorMessage%1 Directorio no encontrado. Verique que el nombre del directorio es correcto.K%1 Directory not found. Please verify the correct directory name was given. QFileDialog%1 Fichero no encontrado. Verifique que el nombre del fichero es correcto.A%1 File not found. Please verify the correct file name was given. QFileDialogZEl fichero %1 ya existe. Desea reemplazarlo?-%1 already exists. Do you want to replace it? QFileDialog&Seleccionar&Choose QFileDialog&Borrar&Delete QFileDialog&Nueva carpeta &New Folder QFileDialog &Abrir&Open QFileDialog$Cambia&r de nombre&Rename QFileDialog&Guardar&Save QFileDialog%1 est protegido contra escritura. Desea borrarlo de todas formas?9'%1' is write protected. Do you want to delete it anyway? QFileDialog,Todos los ficheros (*) All Files (*) QFileDialog0Todos los ficheros (*.*)All Files (*.*) QFileDialog<Seguro que desea borrar %1?!Are sure you want to delete '%1'? QFileDialog(Anterior (histrico)Back QFileDialogHNo fue posible borrar el directorio.Could not delete directory. QFileDialog.Crear una nueva carpetaCreate New Folder QFileDialogVista detallada Detail View QFileDialogDirectorios Directories QFileDialogDirectorio: Directory: QFileDialog UnidadDrive QFileDialogFicheroFile QFileDialog&&Nombre de fichero: File &name: QFileDialog"Ficheros de tipo:Files of type: QFileDialog.Buscar en el directorioFind Directory QFileDialog*Siguiente (histrico)Forward QFileDialogVista de lista List View QFileDialogVer en:Look in: QFileDialogMi equipo My Computer QFileDialogNueva carpeta New Folder QFileDialog AbrirOpen QFileDialog&Directorio superiorParent Directory QFileDialogEliminarRemove QFileDialogGuardar comoSave As QFileDialogMostrar Show  QFileDialog:Mostrar los fic&heros ocultosShow &hidden files QFileDialogDesconocidoUnknown QFileDialog %1 GiB%1 GBQFileSystemModel %1 KiB%1 KBQFileSystemModel %1 MiB%1 MBQFileSystemModel %1 TiB%1 TBQFileSystemModel%1 bytes%1 bytesQFileSystemModel<b>No se puede utilizar el nombre %1.</b><p>Intente usar otro nombre con menos caracteres o sin signos de puntuacin.oThe name "%1" can not be used.

Try using another name, with fewer characters or no punctuations marks.QFileSystemModel EquipoComputerQFileSystemModel&ltima modificacin Date ModifiedQFileSystemModel6Nombre de fichero no vlidoInvalid filenameQFileSystemModel ClaseKindQFileSystemModelMi equipo My ComputerQFileSystemModel NombreNameQFileSystemModel TamaoSizeQFileSystemModelTipoTypeQFileSystemModel&Tipo de letra&Font QFontDialog&Tamao&Size QFontDialogS&ubrayado &Underline QFontDialogEfectosEffects QFontDialog2&Estilo del tipo de letra Font st&yle QFontDialogMuestraSample QFontDialog8Seleccionar un tipo de letra Select Font QFontDialog&Tachado Stri&keout QFontDialog*Sistema de escr&ituraWr&iting System QFontDialogDFallo del cambio de directorio: %1Changing directory failed: %1QFtp&Conectado al equipoConnected to hostQFtp,Conectado al equipo %1Connected to host %1QFtpPLa conexin con el equipo ha fallado: %1Connecting to host failed: %1QFtp Conexin cerradaConnection closedQFtpRConexin para conexin de datos rechazada&Connection refused for data connectionQFtp>Conexin rechazada al equipo %1Connection refused to host %1QFtp*Conexin a %1 cerradaConnection to %1 closedQFtpRFallo de la creacin de un directorio: %1Creating directory failed: %1QFtpHFallo de la descarga del fichero: %1Downloading file failed: %1QFtp(Equipo %1 encontrado Host %1 foundQFtp.Equipo %1 no encontradoHost %1 not foundQFtp"Equipo encontrado Host foundQFtpPEl listado del directorio ha fallado: %1Listing directory failed: %1QFtp4Identificacin fallida: %1Login failed: %1QFtpNo conectado Not connectedQFtpJEliminacin de directorio fallida: %1Removing directory failed: %1QFtpDEliminacin de fichero fallida: %1Removing file failed: %1QFtp"Error desconocido Unknown errorQFtpFEl envo del fichero ha fallado: %1Uploading file failed: %1QFtp"Error desconocido Unknown error QHostInfo(Equipo no encontradoHost not foundQHostInfoAgent:Direccin de tipo desconocidoUnknown address typeQHostInfoAgent"Error desconocido Unknown errorQHostInfoAgent0Se precisa autenticacinAuthentication requiredQHttp&Conectado al equipoConnected to hostQHttp,Conectado al equipo %1Connected to host %1QHttp Conexin cerradaConnection closedQHttp$Conexin rechazadaConnection refusedQHttp*Conexin a %1 cerradaConnection to %1 closedQHttp,Solicitud HTTP fallidaHTTP request failedQHttp(Equipo %1 encontrado Host %1 foundQHttp.Equipo %1 no encontradoHost %1 not foundQHttp"Equipo encontrado Host foundQHttp0Fragmento HTTP no vlidoInvalid HTTP chunked bodyQHttpHCabecera de respuesta HTTP no vlidaInvalid HTTP response headerQHttpfNo se ha indicado ningn servidor al que conectarseNo server set to connect toQHttp>El proxy requiere autenticacinProxy authentication requiredQHttp,Solicitud interrumpidaRequest abortedQHttpZEl servidor cerr la conexin inesperadamente%Server closed connection unexpectedlyQHttp"Error desconocido Unknown errorQHttp<Longitud del contenido errneaWrong content lengthQHttp0Se precisa autenticacinAuthentication requiredQHttpSocketEngineJNo fue posible iniciar la transaccinCould not start transaction QIBaseDriver>Error al abrir la base de datosError opening database QIBaseDriver@Incapaz de enviar la transaccinUnable to commit transaction QIBaseDriver@Incapaz de anular la transaccinUnable to rollback transaction QIBaseDriverJNo fue posible asignar la instruccinCould not allocate statement QIBaseResultdNo fue posible describir la instruccin de entrada"Could not describe input statement QIBaseResultNNo fue posible describir la instruccinCould not describe statement QIBaseResultXNo fue posible obtener el elemento siguienteCould not fetch next item QIBaseResultBNo fue posible encontrar la tablaCould not find array QIBaseResultXNo fue posible obtener los datos de la tablaCould not get array data QIBaseResulthNo fue posible obtener informacin sobre la consultaCould not get query info QIBaseResultnNo fue posible obtener informacin sobre la instruccinCould not get statement info QIBaseResultLNo fue posible preparar la instruccinCould not prepare statement QIBaseResultJNo fue posible iniciar la transaccinCould not start transaction QIBaseResultHNo fue posible cerrar la instruccinUnable to close statement QIBaseResult@Incapaz de enviar la transaccinUnable to commit transaction QIBaseResult.Imposible crear un BLOBUnable to create BLOB QIBaseResultFNo fue posible ejecutar la consultaUnable to execute query QIBaseResult.Imposible abrir el BLOBUnable to open BLOB QIBaseResult,Imposible leer el BLOBUnable to read BLOB QIBaseResult4Imposible escribir el BLOBUnable to write BLOB QIBaseResultDNo queda espacio en el dispositivoNo space left on device QIODevicebNo hay ningn fichero o directorio con ese nombreNo such file or directory QIODevice Permiso denegadoPermission denied QIODeviceXDemasiados ficheros abiertos simultneamenteToo many open files QIODevice"Error desconocido Unknown error QIODevice4Mtodo de entrada Mac OS XMac OS X input method QInputContext2Mtodo de entrada WindowsWindows input method QInputContextXIMXIM QInputContext*Mtodo de entrada XIMXIM input method QInputContextzNo fu posible establecer la proyeccin en memoria de %1: %2Could not mmap '%1': %2QLibraryxNo fue posible suprimir la proyeccin en memoria de %1: %2Could not unmap '%1': %2QLibrary|Los datos de verificacin del complemento no coinciden en %1)Plugin verification data mismatch in '%1'QLibrarydEl fichero %1 no es un complemento de Qt vlido.'The file '%1' is not a valid Qt plugin.QLibraryEl complemento %1 usa una biblioteca Qt incompatible. (%2.%3.%4) [%5]=The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5]QLibraryEl complemento %1 usa una biblioteca Qt incompatible. (No se pueden mezclar las bibliotecas debug y release.)WThe plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.)QLibraryEl complemento %1 usa una biblioteca Qt incompatible. Se esperaba la clave %2, pero se ha recibido %3OThe plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3"QLibraryZNo se ha encontrado la biblioteca compartida.!The shared library was not found.QLibrary"Error desconocido Unknown errorQLibrary&Copiar&Copy QLineEdit &Pegar&Paste QLineEdit&Rehacer&Redo QLineEdit&Deshacer&Undo QLineEditCor&tarCu&t QLineEdit BorrarDelete QLineEdit Seleccionar todo Select All QLineEditHNo es posible iniciar la transaccinUnable to begin transaction QMYSQLDriverFNo es posible enviar la transaccinUnable to commit transaction QMYSQLDriverJNo es posible establecer una conexinUnable to connect QMYSQLDriverDImposible abrir la base de datos 'Unable to open database ' QMYSQLDriverFNo es posible anular la transaccinUnable to rollback transaction QMYSQLDriverRNo es posible ligar los valores de salidaUnable to bind outvalues QMYSQLResult8No es posible ligar el valorUnable to bind value QMYSQLResultDNo es posible ejecutar la consultaUnable to execute query QMYSQLResultJNo es posible ejecutar la instruccinUnable to execute statement QMYSQLResult>No es posible obtener los datosUnable to fetch data QMYSQLResultJNo es posible preparar la instruccinUnable to prepare statement QMYSQLResultTNo es posible reinicializar la instruccinUnable to reset statement QMYSQLResultHNo es posible almacenar el resultadoUnable to store result QMYSQLResultpNo es posible almacenar los resultados de la instruccin!Unable to store statement results QMYSQLResult%1 - [%2] %1 - [%2] QMdiSubWindow&Cerrar&Close QMdiSubWindow &Mover&Move QMdiSubWindow&Restaurar&Restore QMdiSubWindowRedimen&sionar&Size QMdiSubWindow CerrarClose QMdiSubWindow AyudaHelp QMdiSubWindowMa&ximizar Ma&ximize QMdiSubWindowMaximizarMaximize QMdiSubWindowMenMenu QMdiSubWindowMi&nimizar Mi&nimize QMdiSubWindowMinimizarMinimize QMdiSubWindowRestaurar abajo Restore Down QMdiSubWindow6Permanecer en &primer plano Stay on &Top QMdiSubWindow CerrarCloseQMenuEjecutarExecuteQMenu AbrirOpenQMenuAcerca de QtAbout Qt QMessageBox AyudaHelp QMessageBox.Ocultar los detalles...Hide Details... QMessageBoxAceptarOK QMessageBox.Mostrar los detalles...Show Details... QMessageBoxSeleccionar IM Select IMQMultiInputContextTSeleccionador de varios mtodos de entradaMultiple input method switcherQMultiInputContextPluginSeleccionador de varios mtodos de entrada que usa el men contextual de los elementos de textoMMultiple input method switcher that uses the context menu of the text widgetsQMultiInputContextPluginbYa hay otro socket escuchando por el mismo puerto4Another socket is already listening on the same portQNativeSocketEngineIntento de usar un socket IPv6 sobre una plataforma que no contempla IPv6=Attempt to use IPv6 socket on a platform with no IPv6 supportQNativeSocketEngine$Conexin rechazadaConnection refusedQNativeSocketEngine"Conexin expiradaConnection timed outQNativeSocketEnginepEl datagrama era demasiado grande para poder ser enviadoDatagram was too large to sendQNativeSocketEngine$Equipo inaccesibleHost unreachableQNativeSocketEngine<Descriptor de socket no vlidoInvalid socket descriptorQNativeSocketEngineError de red Network errorQNativeSocketEngine>La operacin de red ha expiradoNetwork operation timed outQNativeSocketEngine Red inalcanzableNetwork unreachableQNativeSocketEngine8Operacin sobre un no-socketOperation on non-socketQNativeSocketEngine,Insuficientes recursosOut of resourcesQNativeSocketEngine Permiso denegadoPermission deniedQNativeSocketEngine:Tipo de protocolo no admitidoProtocol type not supportedQNativeSocketEngine>La direccin no est disponibleThe address is not availableQNativeSocketEngine6La direccin est protegidaThe address is protectedQNativeSocketEngineHLa direccin enlazada ya est en uso#The bound address is already in useQNativeSocketEngineNEl equipo remoto ha cerrado la conexin%The remote host closed the connectionQNativeSocketEngineVImposible inicializar el socket de difusin%Unable to initialize broadcast socketQNativeSocketEngineZImposible inicializar el socket no bloqueante(Unable to initialize non-blocking socketQNativeSocketEngine8Imposible recibir un mensajeUnable to receive a messageQNativeSocketEngine6Imposible enviar un mensajeUnable to send a messageQNativeSocketEngine$Imposible escribirUnable to writeQNativeSocketEngine"Error desconocido Unknown errorQNativeSocketEngine8Operacin socket no admitidaUnsupported socket operationQNativeSocketEngineHNo es posible iniciar la transaccinUnable to begin transaction QOCIDriver8La inicializacin ha falladoUnable to initialize QOCIDriver4No es posible abrir sesinUnable to logon QOCIDriverHNo es posible asignar la instruccinUnable to alloc statement QOCIResultvNo es posible ligar la columna para una ejecucin por lotes'Unable to bind column for batch execute QOCIResult8No es posible ligar el valorUnable to bind value QOCIResult^No es posible ejecutar la instruccin por lotes!Unable to execute batch statement QOCIResultJNo es posible ejecutar la instruccinUnable to execute statement QOCIResult@No es posible pasar al siguienteUnable to goto next QOCIResultJNo es posible preparar la instruccinUnable to prepare statement QOCIResultFNo es posible enviar la transaccinUnable to commit transaction QODBCDriverJNo es posible establecer una conexinUnable to connect QODBCDriverNo es posible conectarse - El controlador no ofrece todas las funciones necesariasCUnable to connect - Driver doesn't support all needed functionality QODBCDriverZNo es posible inhabilitar el envo automticoUnable to disable autocommit QODBCDriverVNo es posible habilitar el envo automticoUnable to enable autocommit QODBCDriverFNo es posible anular la transaccinUnable to rollback transaction QODBCDriver QODBCResult::reset: No es posible establecer SQL_CURSOR_STATIC como atributo de instruccin. Compruebe la configuracin de su controlador ODBCyQODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResult>No es posible ligar la variableUnable to bind variable QODBCResultJNo es posible ejecutar la instruccinUnable to execute statement QODBCResult<Imposible recuperar el primeroUnable to fetch first QODBCResultDNo es posible obtener el siguienteUnable to fetch next QODBCResultJNo es posible preparar la instruccinUnable to prepare statement QODBCResult InicioHomeQObject NombreNameQPPDOptionsModel ValorValueQPPDOptionsModelJNo fue posible iniciar la transaccinCould not begin transaction QPSQLDriverHNo fue posible enviar la transaccinCould not commit transaction QPSQLDriverHNo fue posible anular la transaccinCould not rollback transaction QPSQLDriverBNo es posible establecer conexinUnable to connect QPSQLDriver>No es posible crear la consultaUnable to create query QPSQLResultApaisado LandscapeQPageSetupWidget"Tamao de pgina: Page size:QPageSetupWidget"Fuente del papel: Paper source:QPageSetupWidgetVerticalPortraitQPageSetupWidget<El complemento no fue cargado.The plugin was not loaded. QPluginLoader"Error desconocido Unknown error QPluginLoaderJ%1 ya existe. Desea sobrescribirlo?/%1 already exists. Do you want to overwrite it? QPrintDialogv%1 es un directorio. Elija un nombre de fichero diferente.7%1 is a directory. Please choose a different file name. QPrintDialog><qt>Desea sobrescribirlo?</qt>%Do you want to overwrite it? QPrintDialog$A0 (841 x 1189 mm)A0 (841 x 1189 mm) QPrintDialog"A1 (594 x 841 mm)A1 (594 x 841 mm) QPrintDialog"A2 (420 x 594 mm)A2 (420 x 594 mm) QPrintDialog"A3 (297 x 420 mm)A3 (297 x 420 mm) QPrintDialogNA4 (210 x 297 mm, 8,26 x 11,7 pulgadas)%A4 (210 x 297 mm, 8.26 x 11.7 inches) QPrintDialog"A5 (148 x 210 mm)A5 (148 x 210 mm) QPrintDialog"A6 (105 x 148 mm)A6 (105 x 148 mm) QPrintDialog A7 (74 x 105 mm)A7 (74 x 105 mm) QPrintDialogA8 (52 x 74 mm)A8 (52 x 74 mm) QPrintDialogA9 (37 x 52 mm)A9 (37 x 52 mm) QPrintDialogAlias: %1 Aliases: %1 QPrintDialog&B0 (1000 x 1414 mm)B0 (1000 x 1414 mm) QPrintDialog$B1 (707 x 1000 mm)B1 (707 x 1000 mm) QPrintDialog B10 (31 x 44 mm)B10 (31 x 44 mm) QPrintDialog"B2 (500 x 707 mm)B2 (500 x 707 mm) QPrintDialog"B3 (353 x 500 mm)B3 (353 x 500 mm) QPrintDialog"B4 (250 x 353 mm)B4 (250 x 353 mm) QPrintDialogNB5 (176 x 250 mm, 6,93 x 9,84 pulgadas)%B5 (176 x 250 mm, 6.93 x 9.84 inches) QPrintDialog"B6 (125 x 176 mm)B6 (125 x 176 mm) QPrintDialog B7 (88 x 125 mm)B7 (88 x 125 mm) QPrintDialogB8 (62 x 88 mm)B8 (62 x 88 mm) QPrintDialogB9 (44 x 62 mm)B9 (44 x 62 mm) QPrintDialog$C5E (163 x 229 mm)C5E (163 x 229 mm) QPrintDialog$DLE (110 x 220 mm)DLE (110 x 220 mm) QPrintDialogVEjecutivo (7,5 x 10 pulgadas, 191 x 254 mm))Executive (7.5 x 10 inches, 191 x 254 mm) QPrintDialogNo se puede escribir en el fichero %1. Elija un nombre de fichero diferente.=File %1 is not writable. Please choose a different file name. QPrintDialog"El fichero existe File exists QPrintDialog(Folio (210 x 330 mm)Folio (210 x 330 mm) QPrintDialog*Ledger (432 x 279 mm)Ledger (432 x 279 mm) QPrintDialogNLegal (8,5 x 14 pulgadas, 216 x 356 mm)%Legal (8.5 x 14 inches, 216 x 356 mm) QPrintDialogNCarta (8,5 x 11 pulgadas, 216 x 279 mm)&Letter (8.5 x 11 inches, 216 x 279 mm) QPrintDialogAceptarOK QPrintDialogImprimirPrint QPrintDialog*Imprimir a fichero...Print To File ... QPrintDialogImprimir todo Print all QPrintDialog*Imprimir el intervalo Print range QPrintDialog*Imprimir la seleccinPrint selection QPrintDialog.Tabloide (279 x 432 mm)Tabloid (279 x 432 mm) QPrintDialogDSobre US Common #10 (105 x 241 mm)%US Common #10 Envelope (105 x 241 mm) QPrintDialog(conectado localmentelocally connected QPrintDialogdesconocidounknown QPrintDialog CerrarCloseQPrintPreviewDialogApaisado LandscapeQPrintPreviewDialogVerticalPortraitQPrintPreviewDialogRecopilarCollateQPrintSettingsOutput CopiasCopiesQPrintSettingsOutputOpcionesOptionsQPrintSettingsOutputPginas Pages fromQPrintSettingsOutputImprimir todo Print allQPrintSettingsOutput*Imprimir el intervalo Print rangeQPrintSettingsOutputSeleccin SelectionQPrintSettingsOutputatoQPrintSettingsOutputImpresoraPrinter QPrintWidgetCancelarCancelQProgressDialog AbrirOpen QPushButton MarcarCheck QRadioButtonVsintaxis no vlida para clase de caracteresbad char class syntaxQRegExpBsintaxis no vlida para lookaheadbad lookahead syntaxQRegExpDsintaxis no vlida para repeticinbad repetition syntaxQRegExpXse ha usado una caracterstica no habilitadadisabled feature usedQRegExp*valor octal no vlidoinvalid octal valueQRegExp8se alcanz el lmite internomet internal limitQRegExp<falta el delimitador izquierdomissing left delimQRegExp>no se ha producido ningn errorno error occurredQRegExpfin inesperadounexpected endQRegExp>Error al abrir la base de datosError to open databaseQSQLite2DriverHNo es posible iniciar la transaccinUnable to begin transactionQSQLite2DriverFNo es posible enviar la transaccinUnable to commit transactionQSQLite2DriverFNo es posible anular la transaccinUnable to rollback TransactionQSQLite2DriverJNo es posible ejecutar la instruccinUnable to execute statementQSQLite2ResultHNo es posible obtener los resultadosUnable to fetch resultsQSQLite2Result@Error al cerrar la base de datosError closing database QSQLiteDriver>Error al abrir la base de datosError opening database QSQLiteDriverHNo es posible iniciar la transaccinUnable to begin transaction QSQLiteDriverFNo es posible enviar la transaccinUnable to commit transaction QSQLiteDriver>Nmero de parmetros incorrectoParameter count mismatch QSQLiteResultDNo es posible ligar los parmetrosUnable to bind parameters QSQLiteResultJNo es posible ejecutar la instruccinUnable to execute statement QSQLiteResult:No es posible obtener la filaUnable to fetch row QSQLiteResultTNo es posible reinicializar la instruccinUnable to reset statement QSQLiteResultParte inferiorBottom QScrollBarBorde izquierdo Left edge QScrollBar"Alinear por abajo Line down QScrollBarAlinearLine up QScrollBar,Una pgina hacia abajo Page down QScrollBar2Una pgina a la izquierda Page left QScrollBar.Una pgina a la derecha Page right QScrollBar.Una pgina hacia arribaPage up QScrollBarPosicinPosition QScrollBarBorde derecho Right edge QScrollBar*Desplazar hacia abajo Scroll down QScrollBar(Desplazar hasta aqu Scroll here QScrollBar8Desplazar hacia la izquierda Scroll left QScrollBar4Desplazar hacia la derecha Scroll right QScrollBar,Desplazar hacia arriba Scroll up QScrollBarParte superiorTop QScrollBar++ QShortcutAltAlt QShortcut(Anterior (histrico)Back QShortcut Borrar Backspace QShortcut*Tabulador hacia atrsBacktab QShortcut(Potenciar los graves Bass Boost QShortcut Bajar los graves Bass Down QShortcut Subir los gravesBass Up QShortcut LlamarCall QShortcut*Bloqueo de maysculas Caps Lock QShortcutBloq MaysCapsLock QShortcutContexto1Context1 QShortcutContexto2Context2 QShortcutContexto3Context3 QShortcutContexto4Context4 QShortcutCtrlCtrl QShortcutSuprDel QShortcut BorrarDelete QShortcut AbajoDown QShortcutFinEnd QShortcut IntroEnter QShortcutEscEsc QShortcut EscapeEscape QShortcutF%1F%1 QShortcutFavoritos Favorites QShortcutVoltearFlip QShortcut*Siguiente (histrico)Forward QShortcutDescolgarHangup QShortcut AyudaHelp QShortcut InicioHome QShortcut Pgina de inicio Home Page QShortcutInsIns QShortcutInsertarInsert QShortcutLanzar (0) Launch (0) QShortcutLanzar (1) Launch (1) QShortcutLanzar (2) Launch (2) QShortcutLanzar (3) Launch (3) QShortcutLanzar (4) Launch (4) QShortcutLanzar (5) Launch (5) QShortcutLanzar (6) Launch (6) QShortcutLanzar (7) Launch (7) QShortcutLanzar (8) Launch (8) QShortcutLanzar (9) Launch (9) QShortcutLanzar (A) Launch (A) QShortcutLanzar (B) Launch (B) QShortcutLanzar (C) Launch (C) QShortcutLanzar (D) Launch (D) QShortcutLanzar (E) Launch (E) QShortcutLanzar (F) Launch (F) QShortcutLanzar correo Launch Mail QShortcutLanzar medio Launch Media QShortcutIzquierdaLeft QShortcutSiguiente medio Media Next QShortcut&Reproducir el medio Media Play QShortcutMedio anteriorMedia Previous QShortcutGrabar medio Media Record QShortcut Detener el medio Media Stop QShortcutMenMenu QShortcutMetaMeta QShortcutNoNo QShortcutBloq numNum Lock QShortcutBloq NumNumLock QShortcut Bloqueo numrico Number Lock QShortcutAbrir URLOpen URL QShortcutAvanzar pgina Page Down QShortcut"Retroceder pginaPage Up QShortcut PausaPause QShortcut Av PgPgDown QShortcut Re PgPgUp QShortcutImpr PantPrint QShortcut"Imprimir pantalla Print Screen QShortcutActualizarRefresh QShortcutRetornoReturn QShortcutDerechaRight QShortcut4Bloqueo del desplazamiento Scroll Lock QShortcutBloq Despl ScrollLock QShortcutBsquedaSearch QShortcutSeleccionarSelect QShortcutMayShift QShortcutEspacioSpace QShortcut ReposoStandby QShortcutDetenerStop QShortcut PetSisSysReq QShortcut(Peticin del sistemaSystem Request QShortcutTabuladorTab QShortcut Bajar los agudos Treble Down QShortcut Subir los agudos Treble Up QShortcut ArribaUp QShortcut Bajar el volumen Volume Down QShortcutSilenciar Volume Mute QShortcut Subir el volumen Volume Up QShortcutSYes QShortcut,Una pgina hacia abajo Page downQSlider2Una pgina a la izquierda Page leftQSlider.Una pgina a la derecha Page rightQSlider.Una pgina hacia arribaPage upQSliderPosicinPositionQSlider>La operacin de red ha expiradoNetwork operation timed outQSocks5SocketEngine MenosLessQSpinBoxMsMoreQSpinBoxCancelarCancelQSql:Cancelar sus modificaciones?Cancel your edits?QSqlConfirmarConfirmQSql BorrarDeleteQSql,Borrar este registro?Delete this record?QSqlInsertarInsertQSqlNoNoQSql8Guardar las modificaciones? Save edits?QSqlActualizarUpdateQSqlSYesQSqljNo se puede proporcionar un certificado sin clave, %1,Cannot provide a certificate with no key, %1 QSslSocketFError al crear el contexto SSL (%1)Error creating SSL context (%1) QSslSocket@Error al crear la sesin SSL, %1Error creating SSL session, %1 QSslSocket@Error al crear la sesin SSL: %1Error creating SSL session: %1 QSslSocket>Error durante el saludo SSL: %1Error during SSL handshake: %1 QSslSocketPError al cargar el certificado local, %1#Error loading local certificate, %1 QSslSocketHError al cargar la clave privada, %1Error loading private key, %1 QSslSocket"Error al leer: %1Error while reading: %1 QSslSocketLLista de cifras vaca o no vlida (%1)!Invalid or empty cipher list (%1) QSslSocketHNo es posible escribir los datos: %1Unable to write data: %1 QSslSocket>No es posible abrir la conexinUnable to open connection QTDSDriverNNo es posible utilizar la base de datosUnable to use database QTDSDriver8Desplazar hacia la izquierda Scroll LeftQTabBar4Desplazar hacia la derecha Scroll RightQTabBar&Copiar&Copy QTextControl &Pegar&Paste QTextControl&Rehacer&Redo QTextControl&Deshacer&Undo QTextControl>Copiar la ubicacin del en&laceCopy &Link Location QTextControlCor&tarCu&t QTextControl BorrarDelete QTextControl Seleccionar todo Select All QTextControl AbrirOpen QToolButton PulsarPress QToolButton>La plataforma no contempla IPv6#This platform does not support IPv6 QUdpSocketRehacerRedo QUndoGroupDeshacerUndo QUndoGroup<vaco> QUndoModelRehacerRedo QUndoStackDeshacerUndo QUndoStackHInsertar carcter de control Unicode Insert Unicode control characterQUnicodeControlCharacterMenuHLRE Start of left-to-right embedding$LRE Start of left-to-right embeddingQUnicodeControlCharacterMenu,LRM Left-to-right markLRM Left-to-right markQUnicodeControlCharacterMenuFLRO Start of left-to-right override#LRO Start of left-to-right overrideQUnicodeControlCharacterMenu<PDF Pop directional formattingPDF Pop directional formattingQUnicodeControlCharacterMenuHRLE Start of right-to-left embedding$RLE Start of right-to-left embeddingQUnicodeControlCharacterMenu,RLM Right-to-left markRLM Right-to-left markQUnicodeControlCharacterMenuFRLO Start of right-to-left override#RLO Start of right-to-left overrideQUnicodeControlCharacterMenu*ZWJ Zero width joinerZWJ Zero width joinerQUnicodeControlCharacterMenu4ZWNJ Zero width non-joinerZWNJ Zero width non-joinerQUnicodeControlCharacterMenu*ZWSP Zero width spaceZWSP Zero width spaceQUnicodeControlCharacterMenuParte inferiorBottomQWebPagePrecedenteGo BackQWebPageIgnorarIgnoreQWebPageIgnorar Ignore Grammar context menu itemIgnoreQWebPageBorde izquierdo Left edgeQWebPage,Una pgina hacia abajo Page downQWebPage2Una pgina a la izquierda Page leftQWebPage.Una pgina a la derecha Page rightQWebPage.Una pgina hacia arribaPage upQWebPageReinicializarResetQWebPageBorde derecho Right edgeQWebPage*Desplazar hacia abajo Scroll downQWebPage(Desplazar hasta aqu Scroll hereQWebPage8Desplazar hacia la izquierda Scroll leftQWebPage4Desplazar hacia la derecha Scroll rightQWebPage,Desplazar hacia arriba Scroll upQWebPageDetenerStopQWebPageParte superiorTopQWebPageDesconocidoUnknownQWebPageQu es esto? What's This?QWhatsThisAction**QWidget&Terminar&FinishQWizard &Ayuda&HelpQWizardSiguie&nte >&Next >QWizard< &Anterior< &BackQWizardCancelarCancelQWizard EnviarCommitQWizardSiguienteContinueQWizardTerminarDoneQWizardPrecedenteGo BackQWizard AyudaHelpQWizard%1 - [%2] %1 - [%2] QWorkspace&Cerrar&Close QWorkspace &Mover&Move QWorkspace&Restaurar&Restore QWorkspace&Tamao&Size QWorkspaceQ&uitar sombra&Unshade QWorkspace CerrarClose QWorkspaceMa&ximizar Ma&ximize QWorkspaceMi&nimizar Mi&nimize QWorkspaceMinimizarMinimize QWorkspaceRestaurar abajo Restore Down QWorkspaceSombre&arSh&ade QWorkspace6Permanecer en &primer plano Stay on &Top QWorkspacese esperaba una declaracin de codificacin o declaracin autnoma al leer la declaracin XMLYencoding declaration or standalone declaration expected while reading the XML declarationQXmlnerror en la declaracin de texto de una entidad externa3error in the text declaration of an external entityQXmlzse ha producido un error durante el anlisis de un comentario$error occurred while parsing commentQXmltse ha producido un error durante el anlisis del contenido$error occurred while parsing contentQXmlse ha producido un error durante el anlisis de la definicin de tipo de documento5error occurred while parsing document type definitionQXmlvse ha producido un error durante el anlisis de un elemento$error occurred while parsing elementQXml|se ha producido un error durante el anlisis de una referencia&error occurred while parsing referenceQXml4error debido al consumidorerror triggered by consumerQXmlno se permiten referencias a entidades externas generales ya analizadas en la DTD;external parsed general entity reference not allowed in DTDQXmlno se permiten referencias a entidades externas generales ya analizadas en el valor de un atributoGexternal parsed general entity reference not allowed in attribute valueQXmlno se permiten referencias a entidades internas generales en la DTD4internal general entity reference not allowed in DTDQXml\nombre de instruccin de tratamiento no vlido'invalid name for processing instructionQXml*se esperaba una letraletter is expectedQXmlTms de una definicin de tipo de documento&more than one document type definitionQXml>no se ha producido ningn errorno error occurredQXml(entidades recursivasrecursive entitiesQXmlse esperaba una declaracin independiente al leer la declaracin XMLAstandalone declaration expected while reading the XML declarationQXml.etiqueta desequilibrada tag mismatchQXml&carcter inesperadounexpected characterQXml2fin de fichero inesperadounexpected end of fileQXmltreferencia a entidad no analizada en un contexto no vlido*unparsed entity reference in wrong contextQXmlbse esperaba la versin al leer la declaracin XML2version expected while reading the XML declarationQXml^valor errneo para la declaracin independiente&wrong value for standalone declarationQXmlP%1 no es un identificador PUBLIC vlido.#%1 is an invalid PUBLIC identifier. QXmlStreamT%1 es un nombre de codificacin no vlido.%1 is an invalid encoding name. QXmlStreamt%1 es un nombre de instruccin de procesamiento no vlido.-%1 is an invalid processing instruction name. QXmlStream., pero se ha recibido ' , but got ' QXmlStream(Atributo redefinido.Attribute redefined. QXmlStream>No se admite la codificacin %1Encoding %1 is unsupported QXmlStream`Encontrado contenido codificado incorrectamente.(Encountered incorrectly encoded content. QXmlStream4Entidad %1 no declarada.Entity '%1' not declared. QXmlStreamSe esperaba  Expected  QXmlStream>Se esperaban datos de carcter.Expected character data. QXmlStreamNContenido extra al final del documento.!Extra content at end of document. QXmlStreamRDeclaracin de espacio de nombres ilegal.Illegal namespace declaration. QXmlStream.Carcter XML no vlido.Invalid XML character. QXmlStream*Nombre XML no vlido.Invalid XML name. QXmlStream@Cadena de versin XML no vlida.Invalid XML version string. QXmlStreamRAtributo no vlido en la declaracin XML.%Invalid attribute in XML declaration. QXmlStreamBReferencia un carcter no vlido.Invalid character reference. QXmlStream(Documento no vlido.Invalid document. QXmlStream<Valor de la entidad no vlido.Invalid entity value. QXmlStreambNombre de instruccin de procesamiento no vlido.$Invalid processing instruction name. QXmlStream\NDATA en una declaracin de entidad parmetro.&NDATA in parameter entity declaration. QXmlStream^Prefijo de espacio de nombres %1 no declarado"Namespace prefix '%1' not declared QXmlStream`Las etiquetas de apertura y cierre no coinciden. Opening and ending tag mismatch. QXmlStream<Final prematuro del documento.Premature end of document. QXmlStream8Detectada entidad recursiva.Recursive entity detected. QXmlStream~Referencia a una entidad externa %1 en el valor del atributo.5Reference to external entity '%1' in attribute value. QXmlStreamVReferencia a una entidad no analizada %1."Reference to unparsed entity '%1'. QXmlStreamZSecuencia ]]> no permitida en el contenido.&Sequence ']]>' not allowed in content. QXmlStreamJStandalone slo acepta s o no."Standalone accepts only yes or no. QXmlStream>Se esperaba etiqueta de inicio.Start tag expected. QXmlStreamEl pseudoatributo standalone debe aparece despus de la codificacin.?The standalone pseudo attribute must appear after the encoding. QXmlStream No se esperaba ' Unexpected ' QXmlStreamCarcter %1 inesperado en un literal de identificacin pblico./Unexpected character '%1' in public id literal. QXmlStream0Versin XML no admitida.Unsupported XML version. QXmlStreamlLa declaracin XML no est al principio del documento.)XML declaration not at start of document. QXmlStreamffDiaporama/locale/ffDiaporama_zh_tw.ts0000777000175000001440000107337712275647352020501 0ustar dominiqueusers CommonInfoMsg Select a file 選取檔案 DlgAbout Licence 授權 This software is licensed under the GPL version 2 : 這個軟體的授權基於 GPL 版本 2: Credits 鳴謝 &Ok 確定(&O) Texturemate Translation Note: If you want to help us or by completing an incomplete translation, or by translating the application into another language, do not hesitate to contact us on the forum. Interface translation version: to translate WIKI translation version: Changelog DlgApplicationSettings Application settings 應用程式設定值 Application options 應用程式選項 Remember last used folders 記住最後一次使用的資料夾 fps (Reduce this value for slow computer) 影格/秒 (減小這個值用於較慢電腦) Application Options 應用程式選項 Define the transition duration 定義轉換時間 Ask user confirmation to remove slide, object or shot 向使用者確認以移除投影片、物件或照片 Object deletion : 物件刪除: Coordinates unit : 座標單位: Percent 百分比 Pixel 像素 Enable "raster" Graphics System (Need application restart) 啟用「點陣」圖形系統 (需要重新啟動應用程式) Automatically crop 1920x1088 video to 1920x1080 自動裁剪 1920x1088 視訊為 1920x1080 SDL Audio use old mode SDL 音訊使用舊的模式 256 Mb 256 Mb 512 Mb 512 Mb 1 Gb 1 Gb 2 Gb 2 Gb Memory profil : 記憶體側寫檔: Image smoothing : 圖像平滑化: Smooth image during preview 在預覽期間平滑化圖像 Project Options 專案選項 Project geometry: 專案位置與尺寸: Project properties (default values) 專案性質 (預設值) 1st shot duration: 第一張照片持續時間: Next shot duration: 下一張照片持續時間: Default transition: 預設轉換: Text 文字 Background 背景 Coordinates 座標 Default options for new image or video block (when creating slide) 預設用於新圖像或視訊區塊的選項 (建立投影片時) Text style 文字樣式 Shape 形狀 Title : 標題: Author : 作者: No automatic filling 沒有自動填充 Fill with project name when project save (if not yet defined) 專案儲存時以專案名稱充填 (如果尚未定義) Fill with project folder name when project save (if not yet defined) 專案儲存時以資料夾名稱充填 (如果尚未定義) Default language : 預設語言: und 未定義 (ISO 639 language code) (ISO 639 語言編碼) Rendering Options 潤算選項 Default advanced rendering options 預設進階潤算選項 Default device mode rendering options 預設裝置模式潤算選項 Smartphone : 智慧型手機: Multimedia system : 多媒體系統: For the WEB : 用於網頁: Default video name : 預設視訊名稱: Use project name as video name 使用專案名稱做為視訊名稱 Use project folder's name as video name 使用專案資料夾名稱做為視訊名稱 Lossless : 無損: Check Configuration 檢查組態 Accept modification and exit dialog box 採納修改然後離開對話方塊 Cancel modification and exit dialog box 取消修改然後離開對話方塊 Object position : 物件位置: Insert after current object 插入於目前物件之後 Append at project end 附加於專案結束 (Only for new project) (只用於新專案) Frame rate : 影格率: Old TV (4:3) 舊型 TV (4:3) TV Wide (16:9) TV 寬螢幕 (16:9) Cinema (2.35:1) Cinema (2.35:1) sec PAL PAL NTSC NTSC Video standard : 視訊標準: Bit rate : 位元速率: Video codec : 視訊編碼解碼器: Format : 格式: Audio codec : 音訊編碼解碼器: File format : 檔案格式: Use title project as video name 使用標題專案做為視訊名稱 Manage Devices 管理裝置 &Ok 確定(&O) &Cancel 取消(&C) Language selection 語言選取 Language must be empty or an ISO 639 language code (3 characters) See help for more details! 語言必須是空的或 ISO 639 語言編碼 (3 字元) 參看說明以獲得更多細節! Video cropping : Activate deinterlace filter when add new MTS videos <html><head/><body><p><br/>Preview options</p></body></html> Video deinterlacing : Remember size and position of windows Sound sample rate : Hz (Reduce this value for slow computer) <html><head/><body><p><br/>Default options for speed wave</p></body></html> Block animation: Locking <html><head/><body><p><br/>Project options (default values)</p></body></html> Set the default type of transition to be inserted between slides to: Randomly from the transition library Set the default type of transition to be inserted between slides to: No transition Set the default type of transition to be inserted between slides to: Crossfade transition Transition: Photo landscape Image landscape Coordinates: Video landscape Photo portrait Framing: Video portrait image portrait Image animation: Select the type of equipment which will be proposed by default when you click the "Player and Smartphone" button in the "Render movie" menu Select the default bit rate to use for audio during the rendering Select the default image format to use for the rendering Select the type of equipment which will be proposed by default when you click the "For the WEB" button in the "Render movie" menu Select the default file type to use for the rendering Select the model of equipment which will be proposed by default when you click the "For the WEB" button in the "Render movie" menu Select the model of equipment which will be proposed by default when you click the "Player and Smartphone" button in the "Render movie" menu Select the type of equipment which will be proposed by default when you click the "Multimedia system" button in the "Render movie" menu Select the model of equipment which will be proposed by default when you click the "Multimedia system" button in the "Render movie" menu Select the default video standard to use, PAL or NTSC Default soundtrack rendering options Select the default bit rate to use for video during the rendering Select the default video codec to use for the rendering Select the default audio codec to use for the rendering Frequency : The Application options tab allows to define the general behavior of ffDiaporama. This option allows you to adjust the positions occupied by new objects inserted into the timeline. - If Insert after the current selected object is selected, then the new slides will be created after the current slide. - If Append to the end of the project is selected, then the new slides will be created at the end of the project. if this box is checked, old setting mode is use for SDL Audio. This option is useful on some Linux distribution which still use the old SDL packages (For example: Ubuntu 10.10 and 11.04, Fedora 14 and 15, etc.). If this box is checked, the directories for images, videos, projects, music and the generation of your movie will be saved and reused the next time you use ffDiaporama. If the Automatically crop 1920×1088 video to 1920×1080 is checked then video images are automatically cropped. Remark: Some manufacturers produce FullHD videos 1920×1088 rather than 1920×1080. They make it to accelerate the encoding which is faster with a multiple of 16 lines. But this size is not 16:9. To keep the whole image, not only the image is deformed to fit into the screen but besides black bands appear on the sides. To avoid all these problems, by checking this box, these videos are truncated to be returned to the 1920×1080 sizes. Then 4 lines are cut at the top and bottom. If this box is checked, the image smoothing effect will be applied to the images during the preview. Remark: This effect consumes lots of resources and can result in slow preview on small machines. Unchecking this box allows then to keep a fluid preview. This option allows to select the unit for the coordinates which will be used in the properties dialog. You can choose: - Percentage: Coordinates (X, Y, Width and Height) are expressed in percentages - Pixel: Coordinates (X, Y, Width and Height) are expressed in pixels relative to a screen in 1080p mode If the Activate deinterlace filter when add new MTS videos is checked, deinterlace filter will automatically be activated for all .mts videos added to the project. Remark: Some manufacturers produce videos using interlaced mode. They make it to accelerate the encoding. The problem is it deforms the image on which moved lines appear. For more information on interlaced video, see Wikipedia page on interlaced video. Defines the number of images per second which will be generated to show the preview. Note: the higher this number, the more smooth the preview will be. On the other hand, more computer resources will be required. Reduce this number on slow computers or if the gauge for your multimedia reader is frequently in the red zone. If this box is checked, the graphic system "raster" is used instead of the default graphic system. This option is used only at application start up. The "raster" Graphics accelerates the display but can raise problems on some computer in particular with KDE. If this box is checked, a confirmation prompt will be displayed every time you remove an object: - A slide from the main window -A shot or block from the slide properties dialog box If this box is checked, the sizes and the positions of all windows and dialogs will be saved and reused the next time you use ffDiaporama. Defines the frequency of the sound generated to show the preview. The Project options tab allows to define the options by default of the current project and for the new projects. Sets the default speed curve for the blocks animations of new projects Allows to Select the geometric constraint applied to the new text blocks. - Unlock: The shape of the block is free - Lock to project geometry: The shape of the block has the same shape as the image Selects the image geometry to be used for the creation of projects. Three geometries are available : - 4:3 : Corresponds to an old TV with (almost) square screen - 16:9 : Corresponds to a modern TV with rectangular screen - 2.35:1 : Corresponds to the Cinema format (on a TV, this format will use black strips at the top and below.) Note: the geometry of a project is defined once and for all when it is created. It is not possible to modify it afterwards. Sets the default speed curve for the image effects animations of new projects Allows to select, for every project geometry, the style of the location applied to the new text blocks. This style defines the size, the coordinates, the rotations and the geometrical constraint. Defines the default duration of further shots. Framing styles define how to crop the image to make it compatible with the block in which is displayed. The positioning styles define the the size, coordinates, rotations and geometric constraint to apply to blocks. Allows to select the characters style applied to the text of the blocks. This style defines the font, its size, its color and the shadow effects applied to the text. Remark: This setting apply to all image formats. Allows to select the style of the shape applied to the new text blocks. This style defines the shape (rectangle, circle, …), the border, the opaqueness and the shadow effect applied to the block. Remark: This setting apply to all image formats. Allows to select the characters style applied to the new text blocks. This style defines the font, its size, its color and the shadow effects applied to the text. Defines the default value for the field Language Sets the default speed wave for the transitions of new projects Defines the default duration of the first shot for slides during their creation. Allows to select the style of the shape to applied to the new text blocks. This style defines the shape (rectangle, circle, …), the border, the opaqueness and the shadow effect applied to the block. Allows to select the style of background applied to the new text blocks. This style defines the transparency of the block and its filling. <html><head/><body><p>This group of settings applies to the new text blocks created in slide dialogue by means of the <img src=":/img/add_text.png"/> button.</p></body></html> Default options for new text block Default options for new image or video block (when adding block in slide dialog) The Rendering options Tab allows to define the options used by default during the generation of videos. This option allows to select the name which will be proposed by default during the rendering of videos. This option can be applied only if the project was saved at first. Use project name as video name: If the project name is assembly.ffd, then assembly will be the proposed name Use project folder's name as video name: If the project name is assembly.ffd and is saved in the My holidays 2011 directory, then My holidays 2011 will be the proposed name Use title project as video name: Use the title defined in the project properties as the name of video Select the default frequency to use for audio during the rendering. Allows you to open the Check configuration dialog box Allows you to open the Manage device dialog box <html><head/><body><p>This group of settings applies to the new image or video blocks created in slide dialogue by means of the <img src=":/img/add_image.png"/> button.<br/><br/>For every image format and every project geometry select the style of location to applied to the new blocks. <br/>- Framing styles define how to crop the image to make it compatible with the block in which is displayed.<br/>- The positioning styles define the the size, coordinates, rotations and geometric constraint to apply to blocks.</p></body></html> <html><head/><body><p>This group of settings applies to the new image or video blocks created from the main window by means of the <img src=":/img/add_image.png"/> button.<br><br>For every image format and every project geometry select the style of location to applied to the new blocks. <br>- Framing styles define how to crop the image to make it compatible with the block in which is displayed.<br>- The positioning styles define the the size, coordinates, rotations and geometric constraint to apply to blocks.</p></body></html> Defines the automatic filling method to use for the title's project properties: - No automatic filling : You will have to define manually the title - Fill with project name when project save : The title will take the same name as the .ffd file - Fill with project folder name when project save : The title will take the same name as the folder where the file .ffd is saved Note: this field is limited to 30 characters to remain compatible with jukebox (Reduce this value for slow computer) Max video preview height : Sets the maximum height of videos used for the preview. Beyond this height, the videos are automatically reduced for creating images. <html><head/><body><p>Defines the quantity of memory used as cache memory by ffDiaporama. This parameter is important because it allows to adapt ffDiaporama to your hardware.</p></body></html> If this box is checked, tooltips will no longer appear in dialog boxes (only what's this will be available). Disable tooltips in dialog box For more compatibility with the standard id3v2, check this box to limit Title, Author and Album fields to 30 characters Enhance id3v2 comptatibility Short date format : MM/dd/yyyy Default Date format : dd/MM/yyyy or MM/dd/yyyy or yyyy/MM/dd or dd.MM.yyyy and so on... <html><head/><body><p><br/>Various options</p></body></html> Default thumbnail : Defines the model use as default thumbnail If this box is checked then a thumbnail file will be created with video. Join thumbnail to rendered file Offer to open the download Web page when a new version is available If this box is checked then a XMBC .nfo file will be created with video. Join XBMC .nfo file to rendered file If this box is checked, a dialog box will appear at startup the next time a new version will be available. &Help 求助(&H) Show help about this dialogue box Editor options (when adding objects) This option allows you to specify the format in which computed dates are displayed. Defines the default value for the field Author (often so called Artist by Media Center Systems) Note: this field is limited to 30 characters to remain compatible with jukebox Distance unit : This option lets you specify the unit to be used for distances. Kilometers Miles Album : 專輯: Defines the default value for the field Album Note: this field is limited to 30 characters to remain compatible with jukebox Proxy address : <html><head/><body><p><br/>Network settings</p></body></html> Check this box if your network requires that you use a proxy Use a proxy to access the Internet Enter address of the proxy host Enter the port number to access the proxy or nothing to use default port Proxy port : Login : Password : Enter the login name to access the proxy or nothing if no login is required Enter the login password to access the proxy or nothing if no login is required DlgAutoTitleSlide Event date: If this box is checked, you can enter a longtime different from that generated from the date of the chapter. Enter here a date, in a free format, for the chapter Select a date for the chapter. Override date: Accept modification and go to previous slide 採納修改並前往上一張投影片 Previous 上一張 Accept modification and exit dialog box 採納修改然後離開對話方塊 &Ok 確定(&O) Accept modification and go to next slide 採納修改並前往下一張投影片 Next 下一張 Cancel modification and exit dialog box 取消修改然後離開對話方塊 &Cancel 取消(&C) Chapter name: If this box is checked, the date of the chapter is different from the date of the project. Remark: It is often useful to differentiate the date of the chapter of the date of the project. For example, if the project is "My vacation from 1 to 15", the chapter may be limited to the 3. Add a predefined title slide Edit a predefined title slide Slide type: Project title Chapter title Category: &Project properties This button allows you to convert this slide to a standard slide. Standard slide are fully customizable. &Convert to standard slide Please select a model first Enter here the title of the chapter (if the "Chapter name different from slide name" box is checked). This button allows you to open project properties dialog. Chapter date different from project date Credit title Show help about this dialogue box &Help 求助(&H) Chapter location different from project location Event location: Select the location of the event of the project Clear this location DlgBackgroundProperties Background properties 背景性質 Select a new background 選取新的背景 Keep aspect ratio 維持外觀比率 Full filling (deform image) 全部填充 (形變圖像) &Ok 確定(&O) &Cancel 取消(&C) Solid brush 實線筆刷 Gradient 2 colors 梯度 2 色 Gradient 3 colors 梯度 3 色 Image from library 圖像來自圖庫 Image from disk 圖像來自磁碟 Select a file 選取檔案 Same background as preceding object Undo last action (CTRL+Z) Undo Ctrl+Z If this option is selected, the slide will have no background definition but will use the same background as the previous slide: - If the previous slide does not have a background definition either, the check continues backwards until a slide is found which does have a background definition. - If no previous slide has a background definition, then a black frame will be used. If this option is selected, the slide will have its own background definition. Allows you to select an image. Allows you to select a brush type in the following list: - Solid brush: Allow to selects a plain color. - Gradient 2 colors: Allow to select a gradient from 2 colors - Gradient 3 colors: Allow to select a gradient from 3 colors - Image from library: Allow to select a predefined background - Image disk: Allow to select a photo or an image from a file on the disk. If this box is checked, the image isn't deformed and you can open the Image framing dialog to select a part of the image. Opens the Image framing dialog to select a part of the image. Allows you to select the gradient orientation. Allows you to define the position (in percentage) of the 3rd gradient color. Allows you to select the first color. Allows you to select the second color. Allows you to select the last color. If this box is checked, the image fills the screen, even if it has to be deformed. Allows you to select a photo or an image from a file on the disk. Accept modification and exit dialog box 採納修改然後離開對話方塊 Cancel modification and exit dialog box 取消修改然後離開對話方塊 Show help about this dialogue box &Help 求助(&H) DlgChapter Chapter properties Start a new chapter from this slide. (If this box is checked, the slide will mark the beginning of a new chapter.) Remarks : This box cannot be deactivated for the first slide of the project. Start a new chapter with this slide If this box is checked, the date of the chapter is different from the date of the project. Remark: It is often useful to differentiate the date of the chapter of the date of the project. For example, if the project is "My vacation from 1 to 15", the chapter may be limited to the 3. Chapter name: Accept modification and exit dialog box 採納修改然後離開對話方塊 &Ok 確定(&O) Cancel modification and exit dialog box 取消修改然後離開對話方塊 &Cancel 取消(&C) Override date: Event date: Select a date for the chapter. If this box is checked, you can enter a longtime different from that generated from the date of the chapter. Enter here a date, in a free format, for the chapter Chapter date different from project date Enter here the name of the chapter Show help about this dialogue box &Help 求助(&H) Event location: Chapter location different from project location Select the location of the event of the project Clear this location DlgCheckConfig Check configuration 檢查組態 Check configuration at startup 啟動時檢查組態 &Ok 確定(&O) available 可用 LibExiv2 version: LibExiv2 版本: not available 無法使用 LibExiv2 support for preview image 預覽圖像支援 LibExiv2 TAGLib version: TAGLib 版本: TAGLib support for FLAC FLAC 支援 TAGLib TAGLib support for ASF/WMA ASF/WMA 支援 TAGLib TAGLib support for M4A/MP4 M4A/MP4 支援 TAGLib Lossless rendering 無損潤算 Operating system version: %1 - %2 Core/CPU Application architecture: 32 bits Application architecture: 64 bits User config file: %1 Global config file: %1 Starting path: %1 Working path set to: %1 Search path set to: %1 The background library contains %1 pictures The non-luma library contains %1 transitions The luma library contains %1 transitions fmt_filters version:0.6.4-Licence=LGPL QT version: %1 Detected system locale: %1 Translation file loaded: %1 LIBAV general version: Audio Codecs Video Codecs Container Formats Here are listed the components used and their status: Red: The component does not work properly Green: The component works perfectly Yellow: The component works partially - For a codec: Only reading is available (not encoding) - For a library: The version is old Close dialog box qimageblitz version:0.6.6-Licence=LGPL SDL version: %1.%2.%3-Licence=GPL version 2.1 or later LIBAVUTIL version: %1.%2.%3.%4 LIBAVCODEC version: %1.%2.%3.%4 LIBAVFORMAT version: %1.%2.%3.%4 LIBAVFILTER version: %1.%2.%3.%4 LIBSWSCALE version: %1.%2.%3.%4 LIBAVRESAMPLE version: %1.%2.%3.%4 LIBSWRESAMPLE version: %1.%2.%3.%4 Show help about this dialogue box &Help 求助(&H) DlgExportProject Export project Click on this button to select graphically a destination folder. Destination folder: Project subfolder: Start export process &Ok 確定(&O) Abort export operation and exit dialog box &Cancel 取消(&C) % done;Destination file;Source file Export done Error message Export cancel Error message not started Project file Error during the creation of the %1 folder Error message started done error Error during the export of the project file Error message Error during the copy of %1 to %2 Error message Show help about this dialogue box &Help 求助(&H) Error: Project subfolder can't be empty Error message DlgFileExplorer Accept modification and exit dialog box 採納修改然後離開對話方塊 &Ok 確定(&O) Cancel modification and exit dialog box 取消修改然後離開對話方塊 &Cancel 取消(&C) &Help 求助(&H) F1 F1 Show help about this dialogue box DlgGMapsGeneration Generate Google Maps map Cancel modification and exit dialog box 取消修改然後離開對話方塊 &Cancel 取消(&C) Download failed: %1. => wait 1sec and retry Error decoding image received from Google Maps Google stop responding May be you have reach the maximum number of request allowed. Please retry in one hour. %1 pending section(s) should be retrieve later %1 pending section(s) to retrieve from Google Maps DlgGMapsLocation Select a location Give a friendly name for this location Icon: Click to select an icon Edit icon Remove icon Click on the map to select a location Increase zoom level Adjust zoom level Decrease zoom level Latitude: Longitude: Accept modification and exit dialog box 採納修改然後離開對話方塊 &Ok 確定(&O) Cancel modification and exit dialog box 取消修改然後離開對話方塊 &Cancel 取消(&C) Show help about this dialogue box &Help 求助(&H) Select another file Edit current image Google stop responding May be you have reach the maximum number of request allowed. Please retry in one hour. Incorect addres ? (%1) Google said: %1 Are you sure to have written the address correctly? Error parsing XML Error parsing XML / incorrect root Erreur de parsing XML / status KO Download failed: %1. Error decoding image reveived from Google Maps The map has not been fully generated. Do you want to resume the generation now? Friendly name: Google address: Friendly address: Give a friendly address for this location Enter the postal adress to find in this zone. Open the favorite menu A map on slide %1 must be regenerated. Do you want to do it now? XML parsing error XML parsing error / incorrect root XML parsing error / status KO DlgImageComposer Edit thumbnail model Add a new text block Add text Ctrl+Ins Ctrl+Ins Add one or several new blocks of images or video. A file selection dialog appears allowing you to select files. Note: in case of multiple selection, files are added in the alphabetical order of the filenames or in the digital order of shots (according to the option selected in the configuration dialog). Add file Ins Ins Edit block Edit block Arrange blocks Arrange block Display information on image or video file Block information Allows you to open the rulers settings dialog. Rulers Block coordinates : Represents the width of the block. This value is defined as a percentage (%) of the total width of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog box. Represents the height of the block. This value is defined as a percentage (%) of the total height of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog. Define the angle of rotation about the x-axis (expressed in degrees) Reset to zero 重置為零 Allows you to select a shape for the block. The selected shape will be used as: - A fusion mask for the images and the videos. - A cutting zone for texts. Represents the horizontal offset of the block from the left. This position is defined as a percentage (%) of the total width of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog. Represents the vertical offset of the block from the top. This position is defined as a percentage (%) of the total height of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog. Shape : 形狀: Clip-Art : Select in which corner the shadow will be positioned (or no shadow). Remark: the position of the shadow is independent of rotation of the block: the right lower corner is always the right lower corner, whatever rotation is applied. Define the angle of rotation about the y-axis (expressed in degrees) Border : 邊框: Defines the thickness of the border. Remark: This value is defined as 1/1080 of the height of the screen. A value of 10 corresponds to 10 points on a 1920×1080 FullHD screen, but only to 6 points on a 1280×720 screen. Select the color of the line to be used to draw the border Select the type of line (solid, dotted line, etc.) Shadow : 陰影: Opacity : 濁度: This settings group deals with style management. Select the opaqueness of the block Define the distance between the block and its shadow Select the color of the shadow Define the angle of rotation about the z-axis (expressed in degrees) Select a clip-art <html><head/><body><p><br/>Block shape :</p></body></html> Define a zoom value for the text. Remark: To make animations of text, you have to create at least 2 shots then: -Define values for zoom and scrolling for the 1st shot -Define different values for zoom and scrolling for the 2nd Reset to 100% 重置為 100% <html><head/><body><p><br/>Text option :</p></body></html> Zoom : Accept modification and exit dialog box 採納修改然後離開對話方塊 &Ok 確定(&O) Cancel modification and exit dialog box 取消修改然後離開對話方塊 &Cancel 取消(&C) Edit text 編輯文字 Define the properties of the text block 定義文字區塊的性質 Correct or reframe image Define framing and correction of image or movie Move to background Change the order of blocks by moving the active block towards the background Move to foreground Change the order of blocks by moving the active block towards the foreground Display information Display detailed information on current block Copy block Copy the current block to the ffDiaporama clipboard Ctrl+C Ctrl+C Cut block Copy the current block to the ffDiaporama clipboard and remove it from the slide 複製目前的區塊到 ffDiaporama 剪貼簿並從投影片移除 Ctrl+X Ctrl+X Remove 移除 Remove current block(s) Del Del Paste block Paste block from the ffDiaporama clipboard and insert it Ctrl+V Ctrl+V Align top 對齊頂端 Align blocks to the top Align middle Align blocks to the middle Align bottom 對齊底部 Align blocks to the bottom Align left 靠左對齊 Align blocks to the left Align center 置中對齊 Align blocks to the center Align right 靠右對齊 Align blocks to the right Add text block Add file Add a new block of type image or video distribute horizontally Place each block so as to have the same space between each distribute vertically Add simple text block Add a new simple text block Add ClipArt text block Add a new ClipArt text block Text Default text value 文字 Show help about this dialogue box &Help 求助(&H) DlgImageCorrection Image framing and correction 圖像影格化和校正 Accept modification and exit dialog box 採納修改然後離開對話方塊 &Ok 確定(&O) Cancel modification and exit dialog box 取消修改然後離開對話方塊 &Cancel 取消(&C) Unlock 解除鎖定 Lock to this geometry 鎖定到這個位置與尺寸 Lock to project geometry 鎖定到專案位置與尺寸 Rulers Undo last action (CTRL+Z) Undo Ctrl+Z Full screen size TV margins TV 邊距 Two thirds screen Half screen Third screen Quarter screen Real image size Custom size Allows you to enable or disable the magnetic rulers. When rulers are enabled, the mouse will automatically snap to the edges of the photo, facilitating the framing. Show help about this dialogue box &Help 求助(&H) Export current map to a file Export map DlgInfoFile File information 檔案資訊 File name : 檔案名稱: File type : 檔案類型: File size : 檔案大小: File created : 檔案建立: File modify : 檔案修改: Video track information 視訊軌段資訊 Chapter information 章節資訊 Audio track information 音訊軌段資訊 Additional information 附加資訊 Accept modification and exit dialog box 採納修改然後離開對話方塊 &Ok 確定(&O) The date and the hour of creation of the file on the disk (when you transferred it since the camera). The date and the hour of the last modification of the file (when the photo was taken or when you modified it with an image editor). This zone contains a board listing every video track present in the file. For every track, the following information is shown: - #: Track number - Image size: The size of the images of the video track in number of points by number of line - Image format: The size of the images of the video track in million of pixels - Image geometry: The image geometry of the video track (4:3, 16:9, etc.) - Codec: The video codec used for compressed the images - Frame rate: The number of images per second of the video - Bitrate: The video compression ratio (when available) This zone contains a table listing every audio track present in the file. For every track, the following information is shown: - #: Track number - Language: The language in which is the audio track (generally cameras and camcorders indicate und for undefine) - Codec: The audio codec used for compressed the sound - Channels: The number of audio channels (1=mono, 2=stereo, etc.) - Bitrate: The audio compression ratio (when available) - Frequency: The frequency of sampling used by the audio track - Title: A title (when available) This zone appears only for files containing chapters. it contains a table listing every chapter present in the file. For every chapter, the following information is shown: - #: Chapter number - Title: The title of the chapter - Start: The temporal position of the beginning of the chapter - End: The temporal position of the end of the chapter - Duration: The duration of the chapter For an image: Show the EXIF information supplied by the camera. This zone can contain several hundreds of lines according to what the camera supplies. For a video: Show information on the video. At least the information about the duration of the video will be shown, but a lot of other information can appear according to what is available in the file, such as: - Creation_time: Date and time of creation of the video - Title: Title field of the TAG ID3v2 of the video - Artist: Artist field of the TAG ID3v2 of the video - Album: Album field of the TAG ID3v2 of the video - Date: Date field of the TAG ID3v2 of the video - Comment: Comment field of the TAG ID3v2 of the video - Composer: The software with which the video was created Show help about this dialogue box &Help 求助(&H) DlgManageDevices Manage Devices 管理裝置 Device type : 裝置類型: Model 型式 Add Device 加入裝置 Remove Device 移除裝置 Reset Device to Default 重置裝置為預設 Device model : 裝置型式: File format : 檔案格式: Video standard : 視訊標準: PAL PAL NTSC NTSC Image format : 圖像格式: Video codec : 視訊編碼解碼器: Bit rate : 位元速率: Audio codec : 音訊編碼解碼器: Apply 套用 Accept modification and exit dialog box 採納修改然後離開對話方塊 &Ok 確定(&O) Cancel modification and exit dialog box 取消修改然後離開對話方塊 &Cancel 取消(&C) Apply modification 套用修改 Do you whant to apply modification for this device? 您要套用修改於這個裝置嗎? <new device> <新裝置> Device category : Type Cancel the modifications that you made on a predefined equipment profile in the ffDiaporama database Select the file type to use for the rendering Select the video standard to use, PAL or NTSC Select the image format to use for the rendering Select the video codec to use for the rendering Select the bit rate to use for video during the rendering Select the audio codec to use for the rendering Select the bit rate to use for audio during the rendering <html><head/><body><p>The device type zone allows you to select the type of equipment to be shown in the list.</p></body></html> <html><head/><body><p>This list shows the categories and the device types present in the database.</p><p><img src=":/img/db.png"/> Devices preceded by this icon are defined in the default database.</p><p><img src=":/img/db_update.png"/> Devices preceded by this icon are those that you defined yourself, or those from the default database that you have modified.</p></body></html> <html><head/><body><p>Allows you to create a new device which will be added to the database.</p><p>The creation of a new device is made in 3 steps:</p><p>1- You must first create a device</p><p>2- You define the various parameters</p><p>3- You click the &quot;Apply modifications&quot; button to register the parameters</p></body></html> <html><head/><body><p>Allows you to delete a device.</p><p>Note that you can delete only devices which you created – those shown with the <img src=":/img/db_update.png"/> icon</p></body></html> <html><head/><body><p>Allows you to select the category in which the equipment is classified</p></body></html> <html><head/><body><p>Enter here the name of the device (free text entry field)</p></body></html> &Help 求助(&H) Show help about this dialogue box DlgManageFavorite Manage favorite Dialog title Rename favorite Rename 重新命名 Remove favorite Remove 移除 Accept modification and exit dialog box 採納修改然後離開對話方塊 &Ok 確定(&O) Cancel modification and exit dialog box 取消修改然後離開對話方塊 &Cancel 取消(&C) New favorite name: A favorite with this name already exist. Please select another name! Show help about this dialogue box &Help 求助(&H) DlgManageStyle Rename style 重新命名樣式 Manage style Dialog title 管理樣式 Rename 重新命名 Remove 移除 Reset to default 重置為預設 Accept modification and exit dialog box 採納修改然後離開對話方塊 &Ok 確定(&O) Cancel modification and exit dialog box 取消修改然後離開對話方塊 &Cancel 取消(&C) Custom style 自訂樣式 Big black text with white outlines 大黑色文字與白色描邊 Big light yellow text with dark brown shadow 大淺黃文字與暗棕色陰影 Medium black text with white outlines 中黑色文字與白色描邊 Medium light yellow text with dark brown shadow 中淺黃文字與暗棕色陰影 Small white text with black outlines 小白色文字與黑色描邊 Centered Blue Gradient 置中的藍色梯度 Centered Brown Gradient 置中的棕色梯度 Centered Dark-Gray Gradient 置中的深灰梯度 Centered Green Gradient 置中的綠色梯度 Centered Light-Gray Gradient 置中的淺灰色梯度 Centered Red Gradient 置中的紅色梯度 Transparent block (no brush) 透明區塊 (沒有筆刷) Rounded rectangle with small brown border 圓角矩形與小棕色邊框 Rectangle with no effect 矩形不具任何效果 Create new style 建立新的樣式 Manage existing style 管理現有樣式 Update existing style 更新現有樣式 Style name: 樣式名稱: A style with this name already exist. Do you want to overwrite-it ? 這個樣式名稱已經存在。 您要覆寫它嗎? New style name: 新樣式名稱: A style with this name already exist. Please select another name! 這個樣式名稱已經存在。 請選取另外的名稱! <html><head/><body><p>The existing styles appear with an icon which has various meanings:</p><p><img src=":/img/db.png"/> for a standard style</p><p><img src=":/img/db_update.png"/> for a standard style you modified or for a custom style</p></body></html> Allows to rename the selected style. Allows to remove the personalized style. Allows to delete the customizations of a standard style and thus to return it to the default values for this style. It concerns as well the name of the style as the associated settings. Select this style Update this style Show help about this dialogue box &Help 求助(&H) DlgMusicProperties Music properties 音樂性質 Change volume level to : 變更音量等級到: Normal 一般 Define the sound volume for this slide 定義這張投影片的音量 Set to pause 設定為暫停 No specific settings 沒有特定的設定值 Start a new playlist from this slide 從這張投影片起開始新的播放清單 Total playlist duration : 播放清單總計時間: File 檔案 Duration 持續時間 Volume 音量 Source folder 來源資料夾 Accept modification and exit dialog box 採納修改然後離開對話方塊 &Ok 確定(&O) Cancel modification and exit dialog box 取消修改然後離開對話方塊 &Cancel 取消(&C) Add music files 加入音樂檔案 You can start a new playlist from this slide Specifies that from now on, the sound volume is reduced. This option is particularly useful, for example, to reduce the sound of the music during the play of a video. Remark: This volume reduction is applied only for the selected slide. Pauses the current play list. Remark: This pause is applied only for the selected slide Adds a file to the playlist. A file selection dialog appears, allowing you to select a file Removes the current selected file from the playlist Changes the order in which the music files will be played. Moves the currently selected file one step up. Changes the order in which the music files will be played. Moves the currently selected file one step down Show help about this dialogue box &Help 求助(&H) Credit Settings for the music track DlgRenderVideo Render video 潤算視訊 Destination file : 目的檔案: Video codec : 視訊編碼解碼器: Image format : 圖像格式: Destination file path 目的檔案路徑 Select the video standard to use, PAL or NTSC. 選取要使用的視訊標準,PAL 或 NTSC。 Bit rate : 位元速率: Audio codec : 音訊編碼解碼器: Select the model of equipment 選取設備的型式 Device model : 裝置型式: Device type : 裝置類型: All slides 所有投影片 From To To render : 潤算: Sound : 音效: Include sound in the video 在視訊中包含音效 Rendering to : 潤算到: Video format : 視訊格式: Audio format : 音訊格式: fps 影格/秒 Accept modification and start rendering process 採納修改並啟動潤算程序 &Properties 性質(&P) Cancel modification or rendering process and exit dialog box 取消修改或潤算程序然後離開對話方塊 Old TV (4:3) 舊的 TV (4:3) TV Wide (16:9) TV 寬螢幕 (16:9) Cinema (2.35:1) Cinema (2.35:1) PAL PAL NTSC NTSC Video standard : 視訊標準: Geometry : 位置與尺寸: File format : 檔案格式: und 未定義 (ISO 639 language code) (ISO 639 語言編碼) Language : 語言: Elapsed time : 經過時間: Average render speed : 平均潤算速度: &Ok 確定(&O) &Cancel 取消(&C) Advanced render video 進階潤算視訊 Render video for mobil player and smartphone 潤算用於行動播放器和智慧型手機的視訊 Render video for multimedia system 潤算用於多媒體系統的視訊 Render video for the WEB 潤算用於網頁的視訊 movie Default name for rendering 影片 Select destination file 選取目的檔案 Stop rendering 停止潤算 Range selection 範圍選取 Slide range is defined to incorrect values 投影片範圍被定義到不正確的值 Language selection 語言選取 Language must be empty or an ISO 639 language code (3 characters) See help for more details! 語言必須是空的或 ISO 639 語言編碼 (3 字元) 參看說明以獲得更多細節! Overwrite file ? 覆寫檔案? The file you selected already exist. Do you want to overwrite it ? 您所選的檔案已經存在。 您要覆寫它嗎? Device model selection 裝置型式選擇 A device model is require! 需要裝置型式! Encoding sound 編碼音效 - Estimated time left : - 估計的剩餘時間: Select the type of equipment Frequency : Render lossless video Export soundtrack soundtrack Default name for rendering Stop rendering process and exit dialog box Incorrect codec combination! Job canceled! Job error! Please contact ffDiaporama team Current slide progression Total progression Encoding video Defines the value of the Language field. This value is used by players to indicate in which language is the audio track. This value is on 3 characters and follows the ISO 639 recommendation. Select the image format to be used to render the video from the displayed list. Show the geometry of the project. Select the audio codec to be used to render the video from the displayed list. Select the video codec to be used to render the video from the displayed list. Select the video compression ratio from the displayed list. Select the type of file to be used to render the video from the displayed list. The rendering can be made on the whole project or only on a part. By checking the option All slides to render the video of the whole project. The rendering can be made on the whole project or only on a part. By checking the option From and then entering the numbers of the start and end slides to generate a video of only a part of the project. If this box is checked then the sound track will be included in the video. Click on this button to select graphically a file and a directory. This button allows you to open project properties dialog. It allows you to adjust the properties before generating the video. Note: the project properties are saved into the video as TAG (METADATA) which are used by a lot of indexing programs or by jukeboxes. If this box is checked then a thumbnail file will be created with video. Join thumbnail to rendered file If this box is checked then a XBMC .nfo file will be created with video. Join XBMC .nfo file to rendered file Select destination folder Show help about this dialogue box &Help 求助(&H) Select the audio compression ratio from the displayed list. Select the frequency to use for audio during the rendering. Job completed successfully! Do you want to open the video now? If this box is checked, the bitrate is variable (between -50% to +125%) Notes: - If the project contains mostly pictures, this option can significantly reduce the size of the video file (up to 80%) - By cons, if the project contains mostly videos this option will increase the size of the video file By default, this box is checked if duration of videos are less than half of the total duration Variable bitrate Job completed successfully! Do you want to open the audio track now? DlgRulerDef Ruler properties Horizontal rulers Vertical rulers screen borders TV margins TV 邊距 Screen center Unselected objects Accept modification and exit dialog box 採納修改然後離開對話方塊 &Ok 確定(&O) Cancel modification and exit dialog box 取消修改然後離開對話方塊 &Cancel 取消(&C) Enable or disable ruler for the horizontal edges of the screen. Enable or disable ruler for the vertical edges of the screen. Enable or disable ruler for the horizontal TV margins. In ffDiaporama, the TV margins are of type "Title safe area" and are defined on 90% in width and 90% in height, for all the project geometries. Enable or disable ruler for the vertical TV margins. In ffDiaporama, the TV margins are of type "Title safe area" and are defined on 90% in width and 90% in height, for all the project geometries. Enable or disable ruler for the horizontal center of the screen. Enable or disable ruler for the vertical center of the screen. Enable or disable horizontal rulers of the center, of the top edge, of the bottom edge, of the left edge and of the right edge of each objects which are not a part of the selection. Enable or disable vertical rulers of the center, of the top edge, of the bottom edge, of the left edge and of the right edge of each objects which are not a part of the selection. Show help about this dialogue box &Help 求助(&H) DlgSlideDuration Set first shot duration for a set of slides First shot duration : HH:mm:ss.zzz HH:mm:ss.zzz Accept modification and exit dialog box 採納修改然後離開對話方塊 &Ok 確定(&O) Cancel modification and exit dialog box 取消修改然後離開對話方塊 &Cancel 取消(&C) Define the duration of the first shot. Show help about this dialogue box &Help 求助(&H) DlgSlideProperties Slide properties 投影片性質 Shot duration : 照片持續時間: Ctrl+Ins Ctrl+Ins Ins Ins Del Del Ctrl+C Ctrl+C Copy the current block to the ffDiaporama clipboard and remove it from the slide 複製目前的區塊到 ffDiaporama 剪貼簿並從投影片移除 Ctrl+X Ctrl+X Ctrl+V Ctrl+V Give the sound, during this shot, to the current video block 在這張照片期間給予目前的視訊區塊音效 Define the properties of the text block 定義文字區塊的性質 Accept modification and go to previous slide 採納修改並前往上一張投影片 Previous 上一張 Accept modification and go to next slide 採納修改並前往下一張投影片 Next 下一張 Opacity : 濁度: Shadow : 陰影: Append a shot to end of the timeline 附加一張照片到時間軸尾端 Add shot 加入一張照片 Remove current selected shot 移除目前已選的照片 Remove 移除 Move left 向左移動 Move right 向右移動 HH:mm:ss.zzz HH:mm:ss.zzz Border : 邊框: Shape : 形狀: Accept modification and exit dialog box 採納修改然後離開對話方塊 &Ok 確定(&O) Cancel modification and exit dialog box 取消修改然後離開對話方塊 &Cancel 取消(&C) Shadow upper left 左上陰影 Shadow upper right 右上陰影 Shadow bottom left 左下陰影 Shadow bottom right 右下陰影 None Slide 投影片 Remove shot 移除照片 Text Default text value 文字 Add shot Remove shot Add a new text block Add text Add file Edit block Edit block Arrange blocks Arrange block Display information on image or video file Block information Define a name for the slide. It is this name which will appear on the thumbnail in the main window timeline Total duration : Reset to zero 重置為零 <html><head/><body><p><br/>Block animation :</p></body></html> Define the angle of rotation about the z-axis (expressed in degrees) Select the color of the line to be used to draw the border Select the type of line (solid, dotted line, etc.) Define the distance between the block and its shadow Select the color of the shadow Define the angle of rotation about the y-axis (expressed in degrees) Zoom : <html><head/><body><p><br/>Animation settings:</p></body></html> Define the angle of rotation about the x-axis (expressed in degrees) <html><head/><body><p><br/>Text animation :</p></body></html> Speed wave : Select the opaqueness of the block Dissolve : Type : Reset to 100% 重置為 100% Clip-Art : Rulers Undo last action (CTRL+Z) Undo Ctrl+Z Edit text 編輯文字 Correct or reframe image Define framing and correction of image or movie Move to background Change the order of blocks by moving the active block towards the background Move to foreground Change the order of blocks by moving the active block towards the foreground Visible Take the sound Display information Display detailed information on current block Copy block Copy the current block to the ffDiaporama clipboard Cut block Remove current block(s) Paste block Paste block from the ffDiaporama clipboard and insert it Align top 對齊頂端 Align blocks to the top Align middle Align blocks to the middle Align bottom 對齊底部 Align blocks to the bottom Align left 靠左對齊 Align blocks to the left Align center 置中對齊 Align blocks to the center Align right 靠右對齊 Align blocks to the right Add text block Add file Add a new block of type image or video Append a shot at the end of the timeline Change the order of the shots by moving the current selected shot a notch towards the left Change the order of the shots by moving the current selected shot a notch towards the right Hide Hide the active block distribute horizontally Place each block so as to have the same space between each distribute vertically Add simple text block Add a new simple text block Add ClipArt text block Add a new ClipArt text block Correct or reframe image Action title in slide edit dialog + dialog title of image edit dialog Correct, reframe or cut video Action title in slide edit dialog + dialog title of image edit dialog Define framing and correction of image Tooltip Define framing and correction of image or cut video Tooltip Multiple block turn Dissolve Appear Disappear Blink at slow speed Blink at medium speed Blink at fast speed Blink at very fast speed Are you sure you want to delete this shot? Lengthened to %1 Remove block Are you sure you want to delete this block? Remove blocks Are you sure you want to delete these blocks? Duration: Add one or several new blocks of images or video. A file selection dialog appears allowing you to select files. Note: in case of multiple selection, files are added in the alphabetical order of the filenames or in the digital order of shots (according to the option selected in the configuration dialog). The total slide duration is displayed here. This duration takes into account possible adjustments for minimal duration of the shot. The shots table shows the shots as thumbnails, in the order in which they will be played (from left to right). For each shot, the thumbnail shows: - The shot duration (At the top of the thumbnail) - The temporal position of the shot at the end of its duration (At the bottom right of the thumbnail) - An image representing the shot at the end of its duration Remark : - The order of the shots can be changed by using Drag & Drop. Indicate here the duration of the currently selected shot For the last shot of the slide, there is a minimum duration. The following rules are used to calculate the minimum duration of the shot: - The total slide duration cannot be lower than the sum of the durations of the entering transition of the slide plus that of the transition to the following slide. - The total slide duration must permit complete play of the longest video sequence (time of breaks is taken into account). - The total slide duration cannot be lower than 1:30 second If you specify a duration lower than the minimum calculated duration for the shot, it is this minimum duration that will be used in place of the value which you specified. Define the number of rotations around the X axis that is to be made during this shot. Remark: the rotation direction is defined by the sign, so +5 will give 5 rotations in one direction while -5 will give 5 rotations in the other direction. Allows you to select a pre-defined block size Scroll text from bottom to top. Remark: To make animations of text, you have to create at least 2 shots then: -Define values for zoom and scrolling for the 1st shot -Define different values for zoom and scrolling for the 2nd Define the number of rotations around the Z axis that is to be made during this shot. Remark: the rotation direction is defined by the sign, so +5 will give 5 rotations in one direction while -5 will give 5 rotations in the other direction. Define the number of rotations around the Y axis that is to be made during this shot. Remark: the rotation direction is defined by the sign, so +5 will give 5 rotations in one direction while -5 will give 5 rotations in the other direction. Represents the horizontal offset of the block from the left. This position is defined as a percentage (%) of the total width of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog. Represents the vertical offset of the block from the top. This position is defined as a percentage (%) of the total height of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog. Represents the width of the block. This value is defined as a percentage (%) of the total width of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog box. Represents the height of the block. This value is defined as a percentage (%) of the total height of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog. Defines the thickness of the border. Remark: This value is defined as 1/1080 of the height of the screen. A value of 10 corresponds to 10 points on a 1920×1080 FullHD screen, but only to 6 points on a 1280×720 screen. This settings group deals with style management. Selects a speed curve for block animations (movement, resizing and rotating of blocks, animation of text and blocks) Remark: To change the velocity curve for image animation (graphic effect and framing), edit the image or video and select a velocity in the Image framing and correction dialog. Scroll text from left to right. Remark: To make animations of text, you have to create at least 2 shots then: -Define values for zoom and scrolling for the 1st shot -Define different values for zoom and scrolling for the 2nd The block animations define which animations will run during the current shot. You can define different animations for every shot! - Multiple rotations: This animation allows to turn a block several times during the shot. - Dissolve: This animation dissolves between the block and a transparent zone according to the settings. Allows you to select a reframing style for the image. It has the same effect as selecting a style in the Image framing and correction dialog. Allows you to select the geometrical constraints to be applied to the block. Three type of constraint are available: - No constraint is applied to the selection rectangle. - Lock selection rectangle to the actual geometry. It has no meaning until you have defined a shape in "no constraint" mode. - Lock selection rectangle to the same geometry as the project, such that, if you place the image in full screen, the reframed part will correspond to the whole screen. Appear: The block will appear during the shot Disappear: The block will disappear during the shot Blink: The block will blink during the shot (appear then disappear). 4 speeds are proposed (from slow to very fast). Define a zoom value for the text. Remark: To make animations of text, you have to create at least 2 shots then: -Define values for zoom and scrolling for the 1st shot -Define different values for zoom and scrolling for the 2nd Select in which corner the shadow will be positioned (or no shadow). Remark: the position of the shadow is independent of rotation of the block: the right lower corner is always the right lower corner, whatever rotation is applied. Allows you to select a shape for the block. The selected shape will be used as: - A fusion mask for the images and the videos. - A cutting zone for texts. Select a clip-art Allows you to open the rulers settings dialog. Make the active block visible. Note: Hidden video blocks are automatically paused Manage chapter information for this slide Chapter Information Slide name: Save this slide as a model Save as model Append to project title models Append to chapter title models Slide added in Project title models collection Information message Slide added in Chapter title models collection Information message Append to credit title models Slide added in Credit title models collection Information message Show help about this dialogue box &Help 求助(&H) Add special Add a GMaps map Add a map from Google maps Correct, reframe or cut a Google Maps map Action title in slide edit dialog + dialog title of image edit dialog Reframe image vector Action title in slide edit dialog + dialog title of image edit dialog Define framing and correction of image vector Tooltip Modify Google Maps map Action title in slide edit dialog + dialog title of image edit dialog Define Modify Google Maps map and framing and correction of map Tooltip Add image from clipboard Create a new block using image from clipboard Inheritance changes: Block coordinates : If this box is checked, the changes made in a previous shot will be applied to this object in this shot Inherit changes Reactivate the inheritance of changes Do you want to apply to this block the properties it has in the previous shot? Block shape (common to all shots): DlgTextEdit Edit text 編輯文字 Accept modification and exit dialog box 採納修改然後離開對話方塊 &Ok 確定(&O) Cancel modification and exit dialog box 取消修改然後離開對話方塊 &Cancel 取消(&C) No effect 沒有效果 Outerline 外框 Shadow upper left 左上陰影 Shadow upper right 右上陰影 Shadow bottom left 左下陰影 Shadow bottom right 右下陰影 No brush 沒有筆刷 Solid brush 實線筆刷 Pattern brush 胚騰筆刷 Gradient 2 colors 梯度 2 色 Gradient 3 colors 梯度 3 色 Image from library 圖像來自圖庫 Text 文字 Background 背景 Background properties : Margins Default margins Full Shape Custom 自訂 Undo last action (CTRL+Z) Undo Ctrl+Z Allows you to access the text styles menu. Allows you to select the font size. This setting applies to the paragraphs of the current selection. Allows you to select the font color. This setting applies to the paragraphs of the current selection. Allows you to establish (or to remove) a bullet list. This setting applies to the paragraphs of the current selection. Allows you to establish (or to remove) a numbered list. This setting applies to the paragraphs of the current selection. Horizontal alignment: left. This setting applies to the paragraph in which the cursor is. Horizontal alignment: justified. This setting applies to the paragraph in which the cursor is. Horizontal alignment: centered. This setting applies to the paragraph in which the cursor is. Horizontal alignment: right. This setting applies to the paragraph in which the cursor is. Allows you to select a font effect (outerline, shadow). Remark: This setting applies to the block (to the whole text). Allows you to select the outerline or shadow color. Remark: This setting applies to the block (to the whole text). Sets bold characters. This setting applies to the current selection. Sets characters to italics. This setting applies to the current selection. Underlines the characters. This setting applies to the current selection. Puts the characters to super. This setting applies to the current selection. Puts the characters to sub. This setting applies to the current selection. Move the paragraph of a notch towards the right (indent). This setting applies to the paragraph in which is the cursor. Move the paragraph of a notch towards the left (unindent). This setting applies to the paragraph in which is the cursor. Vertical alignment: top. This setting applies to the block (to the whole text). Vertical alignment: middle. This setting applies to the block (to the whole text). Vertical alignment: bottom. This setting applies to the block (to the whole text). Allows you to access the background text styles menu. Allows you to define a background brush for the shape. The following options are available: No brush The shape will have no background and will thus be totally transparent. Solid brush Allows you to select a plain color. Pattern brush Allows you to select a hatched brush. Gradient 2 colors Allows you to select a gradient of 2 colors. Gradient 3 colors Allows you to select a gradient of 3 colors. Image from library Allows you to select an image from the library. If background brush is Solid, Pattern or Gradient brush, then this line appears and allows you to select a color. (Depending on the brush you select, there will be one, two or three selectable colors.) If background brush is Pattern brush, then this line appears and allows you to select a pattern. If background brush is Gradient, then this line appears and allows you to select the gradient orientation. If the Gradient has 3 colors, additional controls allow to define the position (in percentage) of the 3rd gradient color. If background brush is Image from library, then this line appears and allows you to select an image. Represents the horizontal position of the margins relative to the top-left corner of the block. This value is expressed in % of the width of the block. Allows you to use predefined margins for the shape of the block.In general, these margins ensure that the text is contained in the form. Allows you to use margins corresponding to the entire form, in fact, the selection rectangle shape regardless of the design. Allows you to use custom margins. Represents the vertical position of the margins relative to the top-left corner of the block. This value is expressed in % of the height of the block. Represents the height of the margins. This value is expressed in % of the height of the block. Represents the width of the margins. This value is expressed in % of the width of the block. Allows you to select the font to be used. This setting applies to the current selection. Insert a text variable Show help about this dialogue box &Help 求助(&H) DlgTransitionDuration Select transition duration for a set of slides Duration : 持續時間: Define the animation duration 定義動畫持續時間 second(s) Accept modification and exit dialog box 採納修改然後離開對話方塊 &Ok 確定(&O) Cancel modification and exit dialog box 取消修改然後離開對話方塊 &Cancel 取消(&C) Show help about this dialogue box &Help 求助(&H) DlgTransitionProperties Transition properties 轉換性質 None and basic 無、基本 Zoom 縮放 Slide 投影片 Push 推移 Deform 形變 Luma-Bar 光度-條狀 Luma-Box 光度-方框 Luma-Center 光度-中心 Luma-Checker 光度-檢查 Luma-Clock 光度-時鐘 Luma-Snake 光度-蛇形 Accept modification and exit dialog box 採納修改然後離開對話方塊 &Ok 確定(&O) Cancel modification and exit dialog box 取消修改然後離開對話方塊 &Cancel 取消(&C) Transition type: Speed wave: 速度波動: Duration: second(s) Select a transition for a set of slides Allows you to select a transition family. - No transition: The new slide immediately replaces the old one. (Note that this also deactivates Background transitions and Sound fades so the playlist of the new slide immediately replaces that of the old one) - Basic/Dissolve effect: The slide appears gradually, with gradually increasing opacity. - Zoom: The new slide appears by getting bigger while the old slide disappears with a dissolve effect. - Slide: The new slide glides onto the old slide which disappears with a dissolve effect. -Push: The new slide takes the place of the old slide by pushing it aside. -LUMA transition: The animation is based on a luminance mask : the darker the points in the mask, the faster the corresponding points in the new slide replace those in the old slide. Allows you to select a speed curve to apply to the transition. Allows you to define the duration of the animation. The possible choices are of 0,5 seconds (very fast) to 10 seconds (very slow). Allows you to select a transition. Show help about this dialogue box &Help 求助(&H) DlgWorkingTask Cancel DlgffDPjrProperties Project properties 專案性質 Title : 標題: Author : 作者: Album : 專輯: Language : 語言: und 未定義 (ISO 639 language code) (ISO 639 語言編碼) Comment : 評論: Accept modification and exit dialog box 採納修改然後離開對話方塊 &Ok 確定(&O) Cancel modification and exit dialog box 取消修改然後離開對話方塊 &Cancel 取消(&C) #;Slide;Title;Start;End;Duration Column headers #;投影片;標題;開始;結束;持續時間 Project geometry: 專案位置與尺寸: Old TV (4:3) TV Wide (16:9) TV 寬螢幕 (16:9) Cinema (2.35:1) Cinema (2.35:1) Block animation: Transition: Image animation: New project 新專案 Create project The language of the audio track (ISO 639 standard – 3 characters). A free comment which can spread out on several lines. Remark: numerous indexing systems or jukeboxes will read only the 1st line. This field allows you to select the geometry to be used for the project. Note: This field is only editable when the dialog box is opened for creating a new project. Subsequently, it is not possible to change this value. Defined default speed curve for transitions. This option sets the value of the velocity curves for use whenever the corresponding options are set to "Project Default". Defined default speed curve for block animations. This option sets the value of the velocity curves for use whenever the corresponding options are set to "Project Default". Defined default speed curve for image animations. This option sets the value of the velocity curves for use whenever the corresponding options are set to "Project Default". Chapters defined in the project are listed for consultation. To modify chapters use modify slide dialog. The following fields appear: -#: The chapter number -Slide: Slide number in wich chapter is defined -Title: Chapter title -Start: Chapter start position -End: Chapter end position -Duration: Chapter duration Remark: Video formats do not support all the chapters in the same way. The album of the project (If the id3v2 compatibility option is set in option dialog, this fields is limited to 30 characters). The name of the author of the project (If the id3v2 compatibility option is set in option dialog, this fields is limited to 30 characters). Remark: This field is often shown by indexing system and jukeboxes under the term Artist. The title of the project (If the id3v2 compatibility option is set in option dialog, this fields is limited to 30 characters). The date of the event of the project Event date : Override date : Defines the model use as default thumbnail Customize the thumbnail only for this project (without creating a new thumbnail model) Create a new model from this thumbnail or edit custom thumbnail Expor thumbnail to a jpeg file Export thumbnail Thumbnail successfully exported Information message Edit custom model Create custom model Show help about this dialogue box &Help 求助(&H) Check this box to override the date and offer you to enter the date as a free text Enter here the date of the event of the project as a free text Options for speed wave Chapters Event location: Select the location of the event of the project Clear this location Framing styles Custom geometry - unlocked Custom geometry - locked Custom size - Image geometry Custom size - Project geometry Full image Full inner image Project height - to the left Project inner height - to the left Project height - in the center Project inner height - in the center Project height - to the right Project inner height - to the right Project width - at the top Project inner width - at the top Project width - in the middle Project inner width - in the middle Project width - at the bottom Project inner width - at the bottom HelpPopup Changes the document displayed to the previous document in the list of documents built by navigating links. Backward Changes the document displayed to the main page. Home Changes the document displayed to the next document in the list of documents built by navigating links. Forward Open the ffDiaporama Web site into your internet browser. Web Site Open the ffDiaporama Forum into your internet browser. Forum Close the WIKI Exit 離開 If this checkbox is checked and the WIKI remains open, then automatically displayed in the WIKI the document corresponding to the currently used interface element (main window, dialog, etc ...) Follow the interface ffDiaporama is a <a href="http://en.wikipedia.org/wiki/Free_software">Free Software (Open Source)</a> and is distributed under the <a href="http://www.gnu.org/licenses/gpl-2.0.html">GNU General Public License (GPL) version 2</a> ©2011-2013 The ffDiaporama Team - This wiki and all the resources it contains are under license MainWindow Remove 移除 File 檔案 Create a new empty project (Ctrl+N) 建立新的空白專案 (Ctrl+N) New project 新增 專案 Open a previously saved project (Ctrl+O) 開啟之前儲存的專案 (Ctrl+O) Open project 開啟 專案 Open a recently used project file 開啟最近使用的專案檔案 Open recent 開啟最 近專案 Save current project (Ctrl+S) 儲存目前的專案 (Ctrl+S) Save project 儲存 專案 Save current project to a new project file 另存目前的專案為新的專案檔案 Save project as 另存 專案 Define project properties 定義專案性質 Project properties 專案 性質 Change application and project settings 變更應用程式和專案設定值 Exit application (Ctrl+W) 離開應用程式 (Ctrl+W) Exit 離開 Project 專案 Add an empty slide 加入空的投影片 Add title 加入 標題 Add image or video as slide (INS) 加入圖像或視訊做為投影片 (INS) Add files 加入 檔案 Add project 加入 專案 Copy current slide to clipboard and remove it (Ctrl+X) 複製目前的投影片到剪貼簿並移除它 (Ctrl+X) Copy current slide to clipboard (Ctrl+C) 複製目前的投影片到剪貼簿 (Ctrl+C) Paste current slide from clipboard (Ctrl+V) 從剪貼簿貼上目前的投影片 (Ctrl+V) Edit 編輯 Remove current slide (DEL) 移除目前的投影片 (DEL) Player and smartphone 播放器和 智慧型手機 Multimedia system 多媒體 系統 For the WEB 用於 網頁 Lossless 無損 Render project as a video 專案潤算為視訊 Edit the background image for the slide 編輯背景圖像用於投影片 Edit slide 編輯投影片 Edit the slide 編輯投影片 Help 求助 About 關於 Call ffDiaporama WIKI 呼叫 ffDiaporama WIKI Support and help 支援 和說明 Display blog/news page from internet WEB site 從網際網路網站顯示部落格/新聞頁面 Switch display to sheet mode 切換顯示為紙張模式 ... Switch display to preview mode 切換顯示為預覽模式 Reduce thumbnails 減小縮圖 Enlarge thumbnails 放大縮圖 Edit background 編輯背景 Edit music 編輯音樂 Edit the slide musical playlist 編輯投影片的音樂播放清單 Edit object transition 編輯物件轉換 Edit entering transition for the slide 編輯投影片的進入轉換 Cut 剪下 Settings 設定值 Copy 複製 Paste 貼上 Advanced 進階 What's new 新增功能 Add a previously saved project at the end of this project 加入之前儲存的專案於這個專案的尾端 Render video 潤算視訊 Search Raster mode in configuration file 在組態檔案中搜尋點陣模式 All suported file ( 所有支援的檔案 ( Image file ( 圖像檔案 ( Video file ( 視訊檔案 ( Music file ( 音樂檔案 ( Read configuration file 讀取組態檔案 This application support only audio track with unsigned 8 bits or signed 16 bits sample format Error message 這個應用程式只支援具有無正負 8 位元或帶正負 16 位元採樣格式的音訊軌段 This application support only mono or stereo audio track Error message 這個應用程式只支援單聲道或立體的音效訊軌段 Error Error message 錯誤 Error reading configuration file Error message 讀取組態檔案時發生錯誤 Error reading content of configuration file Error message 讀取組態檔案的內容時發生錯誤 The file is not a valid configuration file Error message 檔案並非有效的組態檔案 Error creating configuration file Error message 建立組態檔案時發生錯誤 Title Default slide name when no file 標題 Saving project file ... 儲存專案檔案… Error creating data file Error message 建立資料檔案時發生錯誤 Open project file 開啟專案檔案 Impossible to open project file %1 無法開啟專案檔案 %1 Error reading project file Error message 讀取專案檔案時發生錯誤 Error reading content of project file Error message 讀取專案檔案的內容時發生錯誤 The file is not a valid project file Error message 檔案並非有效的專案檔案 Impossible to import this file : Image geometry in this file is not the same than the current project Error message 無法匯入這個檔案: 這個檔案中的圖像位置與尺寸與目前的專案並不相同 Starting SDL... 啟動 SDL… Loading background library... 載入背景圖庫… Loading no-luma transitions... 載入無光度轉換… Loading luma transitions... 載入光度轉換… Want to save the project before closing? 要在關閉之前儲存專案? <html><body>Visit the ffDiaporama Web site to use the forum,<br>consult tutorials and learn the lastest news:<br><a href="http://ffdiaporama.tuxfamily.org">http://ffdiaporama.tuxfamily.org</a></body></html> <html><body>造訪 ffDiaporama 網站以使用論壇、<br>諮詢教學課程和學習最近的新聞:<br><a href="http://ffdiaporama.tuxfamily.org">http://ffdiaporama.tuxfamily.org</a></body></html> Saving configuration file and applying new configuration ... 儲存組態檔案並套用新組態… Open file : 開啟檔案: This project was created with a newer version of ffDiaporama. If you continue, you take the risk of losing data! Do you want to open it nevertheless? 這個專案是以較新版本的 ffDiaporama 建立。 如果您繼續,就會有遺失資料的風險! 您無論如何都要開啟它嗎? This video files contains more than one chapter. Do you want to create one slide for each chapters ? 這個視訊檔案含有超過一個章節。 您要建立一張投影片用於每個章節嗎? Add project file : 新增專案檔案: Remove slide 移除投影片 Current project has been modified. Do you want to save-it ? 目前的專案已被修改。 您要儲存它嗎? Loading system icons... 載入系統圖示… Close application 關閉應用程式 <new project> when project have no name define <新專案> <html><body>Select a project to open or to create a new project<br>To discover ffDiaporama:<br><a href="%1">Consult the WIKI</a></body></html> <html><body>選取專案以開啟或建立新的專案<br>要探索 ffDiaporama:<br><a href="%1">諮詢 WIKI</a></body></html> <html><body>Add empty slides or slides based on photos or videos<br>To discover how to build your slide show and to animate slides:<br><a href="%1">Discover the principles of functioning of ffDiaporama</a></body></html> <html><body>加入空白投影片或基於相片或視訊的投影片<br>要探索如何組建您的投影片放映和產生投影片動畫:<br><a href="%1">探索 ffDiaporama 的功能原理</a></body></html> <html><body>Select the equipment type that you plan to use for your video<br>To discover how to render videos:<br><a href="%1">Consult the rendering videos WIKI page</a></body></html> <html><body>選取您計畫要用於視訊的設備類型<br>要探索如何潤算視訊:<br><a href="%1">諮詢潤算視訊 WIKI 頁面</a></body></html> Open project 開啟專案 Save project as 另存專案 Add files 加入檔案 Format not supported Error message 格式不支援 Add a sub project 加入子專案 Impossible to open file 無法開啟檔案 Do you want to select another file ? 您要選取另外的檔案嗎? Select another file for 選取另外的檔案用於 Loading file : 載入檔案: Error allocating memory for render image 配置記憶體用於潤算圖像時發生錯誤 Error loading file : 載入檔案時發生錯誤: Add file to project : 加入檔案到專案: Export Soundtrack Display information about ffDiaporama Latest version number of ffDiaporama is indeterminable Slide: xx/xxx Chapter: xx/xxx Switch display to file explorer mode Add title Add project Add to favorite Manage favorites Open Properties Use as new playlist Add files to project Rename 重新命名 Rename file Remove transitions Select transitions Set transition duration Randomize transitions Set first shot duration Reset background to "Same as previous" Reset music to "Same as previous" Error during startup Error during initialisation of sound system. Check your configuration and try again Total duration: Total size:%1 %1 audio files %1 video files %1 image files %1 ffDiaporama project files %1 folders %1 files Multiple file types Refresh All update drive list update drive (%1) update current folder Favorite name: A favorite with this name already exists. Do you want to overwrite it? A favorite with for this path already exists. Do you want to overwrite it? All files Managed files Image files Video files Music files ffDiaporama project files Hide hidden files and folders Show hidden files and folders Hide files name Show files name Capture image Select destination file 選取目的檔案 Starting libav... Slide: Chapter: Loading slide %1/%2 Add file to project Capture the image Are you sure you want to remove this slide? Remove multiple slides Are you sure you want to remove these %1 slides? Impossible to remove file %1 - error %2:%3 Impossible to remove folder %1 - error %2:%3 Successfully deleted folder (and all its content) %1 Are you sure to remove this folder ? (Warning: Content will not be moved to trash) Rename folder Folder: Impossible to rename folder! Remove files Remove file : Are you sure to delete this file or folder ? (Warning: Content will not be moved to trash) Remove folder Impossible to delete folder! Are you sure it is empty? Remove file Impossible to delete file! New name: Impossible to rename file! Del Del Ctrl+X Ctrl+X Ctrl+C Ctrl+C Ctrl+V Ctrl+V The file is not a valid thumbnail file Error message Start ... Scan drives in computer... Register models... Add a predefined title slide Error creating model file Error message The file is not a valid title model file Error message Export project Export current project and all used files in a new folder Render project as a video using a predefined model Render project as a lossless video Render sound trak of project Init WIKI... Error reading window state of %1 from home user database Error message Init home user database... Error initialising home user database... Error initialising home user database ffDiaporama can't start Error message Loading text frame library... Sort by number Sort by name Sort by date Show folder first A new release is available from WEB site. Please update from http://ffdiaporama.tuxfamily.org ! Your version of %1 is up to day A new version is available from WEB site. Do you want to download it now? Sorry, but ffDiaporama is already started on this computer and can't be started several time. Image vector file ( Impossible to read one image from the file Error message No audio track found Error message Image vector files Select this file %1 image vector files Restore from a previous crash... Select an image file Update this favorite Remove this favorites Error getting image from clipboard Error message Impossible to read an image from the file Error message Loading file from ressource Error loading ressource Init translations... Init multimedia browser... Edit this location Define a location Add a map Add a Google Maps map Loading project ressources: %1 QCustomFolderTable File Column header 檔案 File Type Column header File Size Column header File Date Column header Duration Column header 持續時間 Image Size Column header Image Format Column header Image Geometry Column header Video Codec Column header Frame Rate Column header Video Bitrate Column header Audio Language Column header Audio Codec Column header Audio Channels Column header Audio Bitrate Column header Audio Frequency Column header Title Column header 標題 Artist Column header Album Column header Year Column header Track Column header Genre Column header Comment Column header Composer Column header Encoder Column header Chapters Column header 章節 Author Column header Reading directory content (%1) QCustomFolderTree Kb Unit Kb Kb Mb Unit Mb Mb Gb Unit Gb Gb Tb Unit Tb Tb Refresh all Refresh from here Create new subfolder Remove folder Rename folder Create folder Folder: Error %1: Impossible to create folder ! System files Empty drive... Personal folder Clipart Shape forms No shape Rectangle Rounded rectangle Bubble Ellipse Old Triangle up version Old Triangle right version Old Triangle down version Old Triangle left version Rhombus Pentagon Hexagon Octogon Simple arrow up Simple arrow right Simple arrow down Simple arrow left Heart Puzzle Up-Left Puzzle Up-Center Puzzle Up-Right Double vertical arrows Double horizontal arrows Double diagonal arrows 1 Double diagonal arrows 2 Spade Puzzle Middle-Left Puzzle Middle-Center Puzzle Middle-Right Right triangle Up-Left Right triangle Up-Right Right triangle Down-Left Right triangle Down-Right Club Puzzle Down-Left Puzzle Down-Center Puzzle Down-Right Single triangle up Single triangle right Single triangle down Single triangle left Pushed up Sharp down Four-pointed stars Five-pointed stars Double triangle up Double triangle right Double triangle down Double triangle left Double chevron up Single chevron down Six-pointed stars Height-pointed stars Pushed left Double chevron left Single chevron left Sharp left Single chevron up Double chevron down Six tooth gear Eight tooth gear Sharp right Single chevron right Double chevron right Pushed right Sharp up Pushed down Ten tooth gear Twelve tooth gear Vertical Binoculars Vertical Trinoculars Trapezoid Down-Right Trapezoid Up Trapezoid Down-Left Trapezoid Right-Down Trapezoid Left-Down Keyhole Horizontal Binoculars Horizontal Trinoculars Trapezoid Up-Right Trapezoid Down Trapezoid Up-Left Trapezoid Left Trapezoid Right Plus Four oculars Parallelogram Left Parallelogram Right Parallelogram Up Parallelogram Down Trapezoid Right-Up Trapezoid Left-Up Hourglass Speed wave Project default (%1) Constant speed Fast then slow Slow then fast Faster and faster Slower and slower Variables Select this variable Project properties values Project date values Current slide values Chapters values Current chapter date values Various values Today date values Project title Project author Project album Project comment Project duration Project slide count Long date Short date Year Month Month as number Day Day of week Current slide name Current slide number Current chapter name Current chapter number Current chapter duration Chapter count ffDiaporama version %1 presents A %1 production Chapter %1 Project author as <Author presents> Project author as <A Author production> Content: Project statistics %1 slides (%2) %1 chapters %1 videos (%2) %3 vector images %4 photos %5 text blocks %6 automatic slides Musical content: Project statistics The end Copyright Project made Content Musical content Project location name Project location address Current chapter location name Current chapter location address Project's location not set (Name) Project's location not set (Address) - © %1 (%2) Project statistics-Music - © %1 Project statistics-Music from «%1» Project statistics-Music Current chapter number as "Chapter N°" Project done the %1: ·with %2 (%3) ·on a %4 (%5 Core/CPU) computer cBaseMediaFile Impossible to open file 無法開啟檔案 Do you want to select another file ? 您要選取另外的檔案嗎? Select another file for 選取另外的檔案用於 Impossible to open file %1 無法開啟檔案 %1 MPix MPix Unmanaged File type 無法處理 Slides 投影片 Chapters 章節 Image File type 圖像 Thumbnail File type 縮圖 Video File type 視訊 Music File type 音樂 Mono Audio channels mode 單聲道 Open file 開啟檔案 ffDiaporama File type ffDiaporama Stereo Audio channels mode 立體聲 Folder File type 資料夾 Add video file 加入視訊檔案 Vector image File type Map type Image size Map zoom and size Map latitude Map longitude %1 location(s) GPS Coordinates %1 / %2 Roadmap Satellite Terrain Hybrid Small (640x360) 720p-16:9 (1280x720) 720px4-16:9 (2560x1440) 1080p-16:9 (1920x1080) 1080px4-16:9 (3840x2160) Select at least one location to produce Google Maps map Image from clipboard File type Google Maps map File type 720px9-16:9 (3840x2160) 1080px9-16:9 (5760x3240) The map must be regenerated because the locations have changed or project's location no set Project's location must be defined to produce this Google Maps map %1 Zoom %2 Small cBrushDefinition Error: Project's location no set Project's location (%1) Chapter's location (%1) cDeviceModelList Advanced Device database type 進階 Smartphone Device database type 智慧型手機 Multimedia system Device database type 多媒體系統 For the WEB Device database type 用於網頁 Lossless Device database type 無損 Portable Player Device database type 可攜式播放器 Netbook/NetPC Device database type 小筆電/NetPC Handheld game console Device database type 手持遊戲機 Tablet computer Device database type 平板電腦 Multimedia hard drive and gateway Device database type 多媒體硬碟和閘道器 Player Device database type 播放器 ADSL Box Device database type ADSL 機上盒 Game console Device database type 遊戲機 SWF Flash Player Device database type SWF 閃圖播放器 Video-sharing and social WebSite Device database type 視訊分享和社交網站 HTML 5 Device database type HTML 5 cModelList Project title Project album Project author Project comment Chapter title Error reading default thumbnail file Error message Error Error message 錯誤 Error reading content of default thumbnail file Error message Register thumbnail models... Register Project title slide models (%1)... Register Chapter title slide models (%1)... Simple titles without animation Animated titles Custom titles Simple chapter titles without animation Animated chapter titles Custom chapter titles Error reading content of title model file Error message Register Credit title slide models (%1)... Simple credit titles Custom credit titles Error reading title model file Error message wgt_QEditImage Name of image/video file 圖像/視訊檔案的名稱 Select another file Reset to zero 重置為零 Reset to 5 重置為 5 Allows you to activate the charcoal filter. Charcoal Adjust value for frequency of wave transformation Allows you to activate the grayscale (black & white) filter. Grayscale Adjust green channel Adjust value for implode transformation Allows you to activate the oilpaint filter. Oilpaint Image rotation: Color enhancement: Adjust blue channel Adjust luminosity 調整亮度 Adjust red channel Reset to 1 重置為 1 Image distortion: Luminosity, contrast and gamma: Adjust blur/sharpen sigma Allows you to activate the despeckle (Noise reduction) filter. Despeckle 除斑 Adjust desaturat level Image enhancement: Adjust value for amplitude of wave transformation Artistic effects: Allows you to define the width. This value is expressed as a percentage (%) of the original width of the image. Example: if Width=33 %, the re-framed image will represent 1/3 of the original. Define the height 定義高度 Allows you to define the height. This value is expressed as a percentage (%) of the original height of the image. Example: if Height=33 %, the re-framed image will represent 1/3 of the original. Defined speed curve for image animations. Adjust value for swirl transformation Adjust gamma 調整γ值 Adjust contrast 調整對比 Type: Select the blur/sharpen algorythm Fast Gaussian Allows you to activate the emboss filter. Emboss Adjust blur/sharpen radius Allows you to activate the edge filter. Edge Allows you to select a framing from a list of predefined framings. According to the image format, various choices will be proposed to you. The framings are classified in different categories: - Lock on the project geometry: Lock the image framing selection rectangle to the same geometry as the project. If you place the image in full screen, the reframed part will correspond to the whole screen. - Lock on the image geometry: Lock the image framing selection rectangle to the same geometry as the image. - No constraint: No constraint is applied to the image framing selection rectangle. - Lock on this geometry: Lock image framing selection rectangle to the actual geometry. This only has meaning when a shape has been defined in "no constraint" mode. Allows you to activate the negative filter. Negative Allows you to activate the equalize (Histogram equalization) filter. Equalize 均化 Allows you to define the horizontal position from the left (X). This position is expressed as a percentage (%) of the width of the image. Example: if X=25 % then the 1st quarter to the left of the image is eliminated. Allows you to define the vertical position from the top of the image ( Y ). This position is expressed as a percentage (%) of the height of the image. Example: if Y=25 % the 1st quarter at the top of the image is eliminated. Allows you to activate the antialias (minimizing the distortion artifacts) filter. Antialias Annimation settings: Define the width 定義寬度 Allows you to activate the normalize filter. Automatic contrast (normalize) Turn the image to the left (on the next multiple of 90°) Define the rotation angle for the z axis Turn the image to the right (on the next multiple of 90°) Speed wave: 速度波動: Framing and form: Select a shape for the current block Video position : wgt_QEditVideo Start : 開始: Move to start position Tooltip in dialog box 移動開始位置 Use current position as start position Tooltip in dialog box 使用現行位置做為開始位置 Define the start position to use Tooltip in dialog box End : 結束: Define the end position to use Tooltip in dialog box Use current position as end position Tooltip in dialog box 使用現行位置做為結束位置 Move to end position Tooltip in dialog box 移動到結束位置 Duration : 持續時間: Volume : 音量: Select the " Master Volume " for the movie Allows you to activate the deinterlace filter Deinterlace video wgt_QGMapsMap Define the size of the map Map type: Define the type of the map Define the size of the image generated for the map Image size: Map size: Location Use Google Maps to select a location Edit current location Remove current location Properties for all shots Distance: Properties for this shot Background color: Visibility: Line color: Text color: GPS Position form: Define a form for the GPS position Point Circle Rectangle Marker form: Define a form for the marker Bubble Composition: Icon+Name+Address Icon+Name Icon Name Name+Address Size: Define the size of the marker and the GPS position Small Medium Large Huge Near Normal 一般 Far Hide Masked Visible Do you want include the markers on the map? Add a location Add project's location Add chapter's location Localizations Address Defined what information will be displayed in the marker Defined where to display the marker (the distance between the marker and the GPS position) Defines the color of the text Defines the color of the background of the marker, of the GPS position and of the part between the two Defined if the marker is visible, half-visible (masked) or hidden Defines the color of the border wgt_QMultimediaBrowser Form Refresh folder table Use Detail view in browser Use Icon view in browser Use or manage favorite path Change to previous folder Change to upper folder Adjust display mode and file filtering The selection can't include folders. wgt_QVideoPlayer Click to start play, click again to pause the movie Tooltip in dialog box 按一下開始播放,再按一下暫停影片 Save this image of the movie Tooltip in dialog box The progress bar allows you to set the video display to a specific position. Remark : The length of the ruler is increased in proportion to the duration of the video. The blue part represents the part of the video which is selected (which will be used in the assembly). ffDiaporama/locale/ffDiaporama_zh_tw.qm0000777000175000001440000014347212275647345020463 0ustar dominiqueusers+[Hs+[M+[\+[^e+[`+[l+[q.+[sJ+[x]1|J.JeJJPS/,PSg!T\T\;kT\V-ms[y|D|D\F|D|5L4Dy|f>%J%%]SQ0S'9sE9s;:9sU|FOL'LgVEg|vR0kp]wGeV djA do*0g*0*0*0!+*0"E*0&*0&*0(*0*Y*01*03*06*0<*0>*0H;*0Mx*0\*0^/*0_*0lQ*0p*0s *0x$/v0+0bx0BDENENU?GHw98!LF:Lb[LbP7T35XTZ; TVW^Ye|Z/k|Z/v[ %d[ %\SgD.gDfgDmqtl\zbP"}e(-9m-QC]%8RFu7g*"sI"#%%nrF h#intōəu UQz(dUCat -mV%# 5%CݳK E]+'E]a+`b![P.ʹ,BDC>KE2?q+r+:Nx%TOS8O?ieQE8  INn$ |+dP$J:WcDRWΊX2K!E2xH#35H#]3w{vD.&]U#ZXzGZSzԽcNڅ/څiKʯ/ʯiʯ"fOU)uE@-|%u3^5Zr9<Zz}Qb7-dt-e.3eN֍t[]m*5#8%KN) cNR(L)RSguV|KWV|dѿdѿ6e߮4jV _ajV fqn6fr(u>~{veve`F/F> FEFhFH5>=H5EH5ȿ.Y153pZw<5L@D;I :S#I'{':v':L3h 3hp[<2cG^McaMcaTng Jk lcmVYprt+IE~ǟw,>cMK:m|t {t <t [4Es)m)ccmssn54nȜ& : ,X ,޷F8G 0xo>֣MH:Qfg 5J5 F9.>*B4 kNêG0g<X}4gETw7Zf7Z87ZP^W@ 7nR$Z/ZZh x#OegggBg!g''g)Yg*g1sg4g7g=Cg@'gHg]g^g`RglgqggsgxӮՅW=zô J5 B84d%~ eJ61.)z/)zyV. FXf]^C4V4a!#vTjTp!6C@r5s5(<_[LlWhV|W{.j{e ;j ;os +i2 ?*[t Qb y' ~M8  ] 3J @e9 W % ׶{n gj0l gjk $ T $Z )7 ? Fs" ga k lFjY zbW j o c I) I I I I% I& I( I( I*! I0 I6 I< I>q IH IMB I\r I] I_ Il Ip Ir Iw f _  js ?1 l# zo C bYM bYZ bY{ n 9 'j 'j| _C ? شg 2 AZ  DoZN RE) k qzI {wuH ;W= A - d P :X S N. i? j5 s M M Ѝe uC 5PL uI J V.s *O )XP _B E Ӻ[ ,-N /[i 2F$ 4t 4Xt 9 < =y 6 NY S Zt.8O b= b= cU, cUc h; o4h wgQ |a Q Jg `b `y K s5 tSk ; DcZ jY ׵uN Dca K2 :G 5 =- ?^# CjO G" G I IU I Ry - k2 9 Ri 9sW Zy _A R o>b$+$b?UY ! 7.jE; hTVX PxY{l09{liQEi/zT;zzӞ|q#8ÓBJk8!'(Q),q19 =AGIQ]d^cm>qsy07K 1$$"AU<0H|UN@N@Bl8llO! .GhvO!D? ;8B B {%gY3@,3@biEvv *i8xSjhH Select a file CommonInfoMsg x[(&O)&OkDlgAboutCreditsDlgAboutck LicenceDlgAbout&P ߚvck We GPL rHg, 23This software is licensed under the GPL version 2 :DlgAbout Sm(&C)&CancelDlgApplicationSettings lBR(&H)&HelpDlgApplicationSettings x[(&O)&OkDlgApplicationSettings(ISO 639 }x)(ISO 639 language code)DlgApplicationSettings(Su(ee\hH)(Only for new project)DlgApplicationSettings1 Gb1 GbDlgApplicationSettings{,N_5qgrGc~fB1st shot duration:DlgApplicationSettings2 Gb2 GbDlgApplicationSettings 256 Mb256 MbDlgApplicationSettings 512 Mb512 MbDlgApplicationSettingsc} Oe9q6_╋\ qeXJ'Accept modification and exit dialog boxDlgApplicationSettings\/Album :DlgApplicationSettingsDRe\hH}Pg_Append at project endDlgApplicationSettings au(z _xApplication OptionsDlgApplicationSettings au(z _xApplication optionsDlgApplicationSettingsau(z _-[P<Application settingsDlgApplicationSettings$TOu(xNydb_qrG0riNbqgrG5Ask user confirmation to remove slide, object or shotDlgApplicationSettings }xxVh Audio codec :DlgApplicationSettingsO\Author :DlgApplicationSettings8RՈRj 1920x1088 p 1920x1080/Automatically crop 1920x1088 video to 1920x1080DlgApplicationSettingsfo BackgroundDlgApplicationSettings OMQCs Bit rate :DlgApplicationSettingsSmOe9q6_╋\ qeXJ'Cancel modification and exit dialog boxDlgApplicationSettingsjg}DaKCheck ConfigurationDlgApplicationSettingsCinema (2.35:1)Cinema (2.35:1)DlgApplicationSettings^j CoordinatesDlgApplicationSettings ^jUOMCoordinates unit :DlgApplicationSettings-2od{x"Default advanced rendering optionsDlgApplicationSettings-nj!_od{x%Default device mode rendering optionsDlgApplicationSettings -Default language :DlgApplicationSettings0-u(eeWPb S@XJvx (^zb_qrGfB)BDefault options for new image or video block (when creating slide)DlgApplicationSettings -IcDefault transition:DlgApplicationSettings- T z1Default video name :DlgApplicationSettings [IcfBDefine the transition durationDlgApplicationSettings.U_u(0 ޖc0 W_b|}q (eU_Rau(z _):Enable "raster" Graphics System (Need application restart)DlgApplicationSettings jhHh<_ File format :DlgApplicationSettings,\hHQ2[XfBNeY>T z1QEXk (Yg\g*[)DFill with project folder name when project save (if not yet defined)DlgApplicationSettings*\hHQ2[XfBN\hHT z1QEXk (Yg\g*[)=Fill with project name when project save (if not yet defined)DlgApplicationSettings u(e} For the WEB :DlgApplicationSettingsh<_Format :DlgApplicationSettings_qhRemember last used foldersDlgApplicationSettingsod{xRendering OptionsDlgApplicationSettingsSDL Ou( vj!_SDL Audio use old modeDlgApplicationSettings_brShapeDlgApplicationSettings fzagWbKj_ Smartphone :DlgApplicationSettingsW(g^snSWPSmooth image during previewDlgApplicationSettingsTV [쇢^U (16:9)TV Wide (16:9)DlgApplicationSettingse[WTextDlgApplicationSettingse[Wj#_ Text styleDlgApplicationSettingsjLTitle :DlgApplicationSettingsOu(\hHeY>T z1PZp T z1'Use project folder's name as video nameDlgApplicationSettingsOu(\hHT z1PZp T z1Use project name as video nameDlgApplicationSettingsOu(jL\hHPZp T z1Use title project as video nameDlgApplicationSettings }xxVh Video codec :DlgApplicationSettings jnVideo standard :DlgApplicationSettings$_qh</y (n\P PvRMvS@XJR0 ffDiaporama Rj|?N&_b_qrGydPCopy the current block to the ffDiaporama clipboard and remove it from the slideDlgImageComposer Ctrl+CCtrl+CDlgImageComposerCtrl+InsCtrl+InsDlgImageComposer Ctrl+VCtrl+VDlgImageComposer Ctrl+XCtrl+XDlgImageComposer[e[WS@XJv`''Define the properties of the text blockDlgImageComposerDelDelDlgImageComposer}/e[W Edit textDlgImageComposerInsInsDlgImageComposero^ Opacity :DlgImageComposerydRemoveDlgImageComposernp 100% Reset to 100%DlgImageComposernp Reset to zeroDlgImageComposerp_qShadow :DlgImageComposer_brShape :DlgImageComposere[WTextDlgImageComposer Sm(&C)&CancelDlgImageCorrection lBR(&H)&HelpDlgImageCorrection x[(&O)&OkDlgImageCorrectionc} Oe9q6_╋\ qeXJ'Accept modification and exit dialog boxDlgImageCorrectionSmOe9q6_╋\ qeXJ'Cancel modification and exit dialog boxDlgImageCorrectionWP_qh DlgManageDevicesc} Oe9q6_╋\ qeXJ'Accept modification and exit dialog boxDlgManageDevicesRQen Add DeviceDlgManageDevicesYWu(ApplyDlgManageDevicesYWu(Oe9Apply modificationDlgManageDevices }xxVh Audio codec :DlgManageDevices OMQCs Bit rate :DlgManageDevicesSmOe9q6_╋\ qeXJ'Cancel modification and exit dialog boxDlgManageDevices nW_Device model :DlgManageDevices n^W Device type :DlgManageDevices`YWu(Oe9eP nU3Do you whant to apply modification for this device?DlgManageDevices jhHh<_ File format :DlgManageDevices WPh<_Image format :DlgManageDevices{tnManage DevicesDlgManageDevicesW_ModelDlgManageDevicesNTSCNTSCDlgManageDevicesPALPALDlgManageDevicesydn Remove DeviceDlgManageDevicesnnp-Reset Device to DefaultDlgManageDevices }xxVh Video codec :DlgManageDevices jnVideo standard :DlgManageDevices Sm(&C)&CancelDlgManageFavorite lBR(&H)&HelpDlgManageFavorite x[(&O)&OkDlgManageFavoritec} Oe9q6_╋\ qeXJ'Accept modification and exit dialog boxDlgManageFavoriteSmOe9q6_╋\ qeXJ'Cancel modification and exit dialog boxDlgManageFavoriteydRemoveDlgManageFavoriteeT}T RenameDlgManageFavorite Sm(&C)&CancelDlgManageStyle lBR(&H)&HelpDlgManageStyle x[(&O)&OkDlgManageStyle&P j#_T z1]}[XW(0 `[[UCA style with this name already exist. Do you want to overwrite-it ?DlgManageStyle*P j#_T z1]}[XW(0 ːxSSYvT z1AA style with this name already exist. Please select another name!DlgManageStylec} Oe9q6_╋\ qeXJ'Accept modification and exit dialog boxDlgManageStyleY'тre[Wv}rcϐ"Big black text with white outlinesDlgManageStyleY'me[WfhՂrp_q,Big light yellow text with dark brown shadowDlgManageStyleSmOe9q6_╋\ qeXJ'Cancel modification and exit dialog boxDlgManageStylenN-v͂rh^Centered Blue GradientDlgManageStylenN-vhՂrh^Centered Brown GradientDlgManageStylenN-vmpph^Centered Dark-Gray GradientDlgManageStylenN-v}rh^Centered Green GradientDlgManageStylenN-vmpprh^Centered Light-Gray GradientDlgManageStylenN-v}rh^Centered Red GradientDlgManageStyle ^zevj#_Create new styleDlgManageStylej#_ Custom styleDlgManageStyle {tsg j#_Manage existing styleDlgManageStyle{tj#_ Manage styleDlgManageStyleN-тre[Wv}rcϐ%Medium black text with white outlinesDlgManageStyleN-me[WfhՂrp_q/Medium light yellow text with dark brown shadowDlgManageStyle ej#_T z1New style name:DlgManageStylew_bN QwNOUeHgRectangle with no effectDlgManageStyleydRemoveDlgManageStyleeT}T RenameDlgManageStyle eT}T j#_ Rename styleDlgManageStyle np-Reset to defaultDlgManageStyleWw_b\hՂrhF)Rounded rectangle with small brown borderDlgManageStyle\v}re[Wтrcϐ$Small white text with black outlinesDlgManageStyle j#_T z1 Style name:DlgManageStylefS@XJ (lg {FR7)Transparent block (no brush)DlgManageStyle fesg j#_Update existing styleDlgManageStyle Sm(&C)&CancelDlgMusicProperties lBR(&H)&HelpDlgMusicProperties x[(&O)&OkDlgMusicPropertiesc} Oe9q6_╋\ qeXJ'Accept modification and exit dialog boxDlgMusicProperties RQejjhHAdd music filesDlgMusicPropertiesSmOe9q6_╋\ qeXJ'Cancel modification and exit dialog boxDlgMusicPropertiesf{I}R0Change volume level to :DlgMusicProperties[_5b_qrGv&Define the sound volume for this slideDlgMusicPropertiesc~fBDurationDlgMusicPropertiesjhHFileDlgMusicPropertiesj`'Music propertiesDlgMusicPropertieslg ry[v-[P<No specific settingsDlgMusicPropertiesN,NormalDlgMusicProperties -[pfP\ Set to pauseDlgMusicProperties OneY> Source folderDlgMusicProperties__5b_qrGwYevde>nU$Start a new playlist from this slideDlgMusicPropertiesde>nU~=fBTotal playlist duration : DlgMusicPropertiesVolumeDlgMusicProperties - O0vRifB - Estimated time left : DlgRenderVideo Sm(&C)&CancelDlgRenderVideo lBR(&H)&HelpDlgRenderVideo x[(&O)&OkDlgRenderVideo `'(&P) &PropertiesDlgRenderVideo(ISO 639 }x)(ISO 639 language code)DlgRenderVideonW_A device model is require!DlgRenderVideoc} Oe9N&U_Rod{z ^/Accept modification and start rendering processDlgRenderVideo 2od{ Advanced render videoDlgRenderVideo b@g b_qrG All slidesDlgRenderVideo }xxVh Audio codec :DlgRenderVideo h<_Audio format :DlgRenderVideo^sWGod{^Average render speed :DlgRenderVideo OMQCs Bit rate :DlgRenderVideo"SmOe9bod{z ^q6_╋\ qeXJVhTfzagWbKj_v ,Render video for mobil player and smartphoneDlgRenderVideood{u(eYZ|}qv "Render video for multimedia systemDlgRenderVideood{u(e}v Render video for the WEBDlgRenderVideood{R0Rendering to :DlgRenderVideo xSvvjhHSelect destination fileDlgRenderVideoxS֊-PvW_Select the model of equipmentDlgRenderVideo,xS։Ou(v jn PAL b NTSC0.Select the video standard to use, PAL or NTSC.DlgRenderVideob_qrG{W [R0N kcxvP<*Slide range is defined to incorrect valuesDlgRenderVideoeHSound :DlgRenderVideoP\kbod{Stop renderingDlgRenderVideoTV [쇢^U (16:9)TV Wide (16:9)DlgRenderVideo&`b@xvjhH]}[XW(0 `[[UBThe file you selected already exist. Do you want to overwrite it ?DlgRenderVideoR0ToDlgRenderVideood{ To render :DlgRenderVideo }xxVh Video codec :DlgRenderVideo h<_Video format :DlgRenderVideo jnVideo standard :DlgRenderVideo_qh</yfpsDlgRenderVideo_qrGmovieDlgRenderVideog*[undDlgRenderVideo Sm(&C)&Cancel DlgRulerDef lBR(&H)&Help DlgRulerDef x[(&O)&Ok DlgRulerDefc} Oe9q6_╋\ qeXJ'Accept modification and exit dialog box DlgRulerDefSmOe9q6_╋\ qeXJ'Cancel modification and exit dialog box DlgRulerDef TV  TV margins DlgRulerDef Sm(&C)&CancelDlgSlideDuration lBR(&H)&HelpDlgSlideDuration x[(&O)&OkDlgSlideDurationc} Oe9q6_╋\ qeXJ'Accept modification and exit dialog boxDlgSlideDurationSmOe9q6_╋\ qeXJ'Cancel modification and exit dialog boxDlgSlideDurationHH:mm:ss.zzz HH:mm:ss.zzzDlgSlideDuration Sm(&C)&CancelDlgSlideProperties lBR(&H)&HelpDlgSlideProperties x[(&O)&OkDlgSlidePropertiesc} Oe9q6_╋\ qeXJ'Accept modification and exit dialog boxDlgSlidePropertiesc} Oe9N&RM_N N_5b_qrG(Accept modification and go to next slideDlgSlidePropertiesc} Oe9N&RM_N N_5b_qrG,Accept modification and go to previous slideDlgSlideProperties RQeN_5qgrGAdd shotDlgSlideProperties\ J^ Align bottomDlgSlidePropertiesnN-\ J Align centerDlgSlideProperties`]\ J Align leftDlgSlideProperties`S\ J Align rightDlgSlideProperties\ Jz Align topDlgSlidePropertiesDRN_5qgrGR0fB\>z$Append a shot to end of the timelineDlgSlidePropertieshFBorder :DlgSlidePropertiesSmOe9q6_╋\ qeXJ'Cancel modification and exit dialog boxDlgSlideProperties>vRMvS@XJR0 ffDiaporama Rj|?N&_b_qrGydPCopy the current block to the ffDiaporama clipboard and remove it from the slideDlgSlideProperties Ctrl+CCtrl+CDlgSlidePropertiesCtrl+InsCtrl+InsDlgSlideProperties Ctrl+VCtrl+VDlgSlideProperties Ctrl+XCtrl+XDlgSlideProperties[e[WS@XJv`''Define the properties of the text blockDlgSlidePropertiesDelDelDlgSlideProperties}/e[W Edit textDlgSlideProperties$W(_5qgrGg}fNvRMv S@XJeHZoomDlgTransitionProperties&#;b_qrG;jL;Y;}Pg_;c~fB #;Slide;Title;Start;End;DurationDlgffDPjrProperties Sm(&C)&CancelDlgffDPjrProperties lBR(&H)&HelpDlgffDPjrProperties x[(&O)&OkDlgffDPjrProperties(ISO 639 }x)(ISO 639 language code)DlgffDPjrPropertiesc} Oe9q6_╋\ qeXJ'Accept modification and exit dialog boxDlgffDPjrProperties\/Album :DlgffDPjrPropertiesO\Author :DlgffDPjrPropertiesSmOe9q6_╋\ qeXJ'Cancel modification and exit dialog boxDlgffDPjrPropertiesCinema (2.35:1)Cinema (2.35:1)DlgffDPjrPropertiesU Comment :DlgffDPjrProperties Language :DlgffDPjrPropertiese\hH New projectDlgffDPjrProperties\hHOMn\:[Project geometry:DlgffDPjrProperties\hH`'Project propertiesDlgffDPjrPropertiesTV [쇢^U (16:9)TV Wide (16:9)DlgffDPjrPropertiesjLTitle :DlgffDPjrPropertiesg*[undDlgffDPjrProperties╋Exit HelpPopup &... MainWindow<html><body>RQezzv}b_qrGbWevrGb vb_qrG<br>c}"YOU}D^`vb_qrGe>f Tu"ub_qrGRuk<br><a href="%1">c}" ffDiaporama vRSt</a></body></html>Add empty slides or slides based on photos or videos
To discover how to build your slide show and to animate slides:
Discover the principles of functioning of ffDiaporama MainWindow<html><body>xS\hHN啋U_b^zev\hH<br>c}" ffDiaporama<br><a href="%1">b WIKI</a></body></html>Select a project to open or to create a new project
To discover ffDiaporama:
Consult the WIKI MainWindow<html><body>xS`uku(e v-P^W<br>c}"YOUod{ <br><a href="%1">bod{ WIKI b</a></body></html>Select the equipment type that you plan to use for your video
To discover how to render videos:
Consult the rendering videos WIKI page MainWindow.<html><body> * ffDiaporama }zNOu(X0<br>beY[xz T[xgve^<br><a href="http://ffdiaporama.tuxfamily.org">http://ffdiaporama.tuxfamily.org</a></body></html>Visit the ffDiaporama Web site to use the forum,
consult tutorials and learn the lastest news:
http://ffdiaporama.tuxfamily.org MainWindow   MainWindoweAbout MainWindow RQe jhH Add files MainWindow RQe \hH Add project MainWindow RQe jL Add title MainWindow"RQeNKRMQ2[Xv\hHeP \hHv\>z9Add a previously saved project at the end of this project MainWindow RQe[P\hHAdd a sub project MainWindowRQezzvb_qrGAdd an empty slide MainWindowRQejhHR0\hHAdd file to project : MainWindowRQejhH Add files MainWindow$RQeWPb PZpb_qrG (INS)!Add image or video as slide (INS) MainWindoweX\hHjhHAdd project file : MainWindow2Advanced MainWindowb@g e/cvjhH (All suported file ( MainWindow&T|S ffDiaporama WIKICall ffDiaporama WIKI MainWindowfau(z _T\hH-[P<'Change application and project settings MainWindow ܕau(z _Close application MainWindowCopy MainWindow*vRMvb_qrGR0Rj|? (Ctrl+C)(Copy current slide to clipboard (Ctrl+C) MainWindow2vRMvb_qrGR0Rj|?N&yd[ (Ctrl+X)6Copy current slide to clipboard and remove it (Ctrl+X) MainWindow"^zevzzv}\hH (Ctrl+N)#Create a new empty project (Ctrl+N) MainWindow Ctrl+CCtrl+C MainWindow Ctrl+VCtrl+V MainWindow Ctrl+XCtrl+X MainWindow$vRMv\hH]Oe90 `Q2[X[U;Current project has been modified. Do you want to save-it ? MainWindowRjN Cut MainWindow [\hH`'Define project properties MainWindowDelDel MainWindow"_}}}z٘oy:=h</e^b-Display blog/news page from internet WEB site MainWindow`xSSYvjhHU$Do you want to select another file ? MainWindow}/Edit MainWindow}/foEdit background MainWindow}/b_qrGv2QeIc&Edit entering transition for the slide MainWindow}/j Edit music MainWindow }/riNIcEdit object transition MainWindow }/b_qrG Edit slide MainWindow}/foWPu(eb_qrG'Edit the background image for the slide MainWindow }/b_qrGEdit the slide MainWindow}/b_qrGvjde>nUEdit the slide musical playlist MainWindowe>Y'~.WEnlarge thumbnails MainWindow/Error MainWindow Mnau(eod{WPfBv|u/(Error allocating memory for render image MainWindow^z}DaKjhHfBv|u/!Error creating configuration file MainWindow^zˌejhHfBv|u/Error creating data file MainWindow QejhHfBv|u/Error loading file : MainWindowS}DaKjhHfBv|u/ Error reading configuration file MainWindowS}DaKjhHvQg[fBv|u/+Error reading content of configuration file MainWindowS\hHjhHvQg[fBv|u/%Error reading content of project file MainWindowS\hHjhHfBv|u/Error reading project file MainWindow╋Exit MainWindow╋au(z _ (Ctrl+W)Exit application (Ctrl+W) MainWindowjhHFile MainWindow u(e } For the WEB MainWindow h<_N e/cFormat not supported MainWindowlBRHelp MainWindow WPjhH ( Image file ( MainWindowBq!lS/QeP jhH P jhHN-vWPOMn\:[vRMv\hHN&N vT eImpossible to import this file : Image geometry in this file is not the same than the current project MainWindowq!lՕU_jhH Impossible to open file  MainWindowq!lՕU_\hHjhH %1"Impossible to open project file %1 MainWindow QefoW^ &Loading background library... MainWindow QejhHLoading file : MainWindow QeQI^Ic &Loading luma transitions... MainWindow Qeq!QI^Ic &Loading no-luma transitions... MainWindow Qe|}qWy: &Loading system icons... MainWindowq!d Lossless MainWindow YZ |}qMultimedia system MainWindow jjhH ( Music file ( MainWindow eX \hH New project MainWindow U_ \hH Open project MainWindowU_g \hH Open recent MainWindow$U_NKRMQ2[Xv\hH (Ctrl+O)(Open a previously saved project (Ctrl+O) MainWindowU_gOu(v\hHjhH!Open a recently used project file MainWindow U_jhH Open file : MainWindowU_\hH Open project MainWindow U_\hHjhHOpen project file MainWindowN Paste MainWindow*_Rj|?N vRMvb_qrG (Ctrl+V)+Paste current slide from clipboard (Ctrl+V) MainWindowde>VhT fzagWbKj_Player and smartphone MainWindow\hHProject MainWindow \hH `'Project properties MainWindow S}DaKjhHRead configuration file MainWindown\~.WReduce thumbnails MainWindowydRemove MainWindowydvRMvb_qrG (DEL)Remove current slide (DEL) MainWindow ydb_qrG Remove slide MainWindoweT}T Rename MainWindow\hHod{p Render project as a video MainWindowod{  Render video MainWindow Q2[X \hH Save project MainWindow S[X \hHSave project as MainWindow Q2[XvRMv\hH (Ctrl+S)Save current project (Ctrl+S) MainWindowS[XvRMv\hHpev\hHjhH*Save current project to a new project file MainWindowS[X\hHSave project as MainWindowQ2[X}DaKjhHN&YWu(e}DaK &FoldercBaseMediaFileWPImagecBaseMediaFileq!lՕU_jhH Impossible to open file cBaseMediaFileq!lՕU_jhH %1Impossible to open file %1cBaseMediaFileMPixMPixcBaseMediaFileUrSMonocBaseMediaFilejMusiccBaseMediaFileU_jhH Open filecBaseMediaFilexSSYvjhHu(e Select another file for cBaseMediaFileb_qrGSlidescBaseMediaFilez˚ԀrStereocBaseMediaFile~.W ThumbnailcBaseMediaFileq!lՆUt UnmanagedcBaseMediaFile VideocBaseMediaFileffDiaporama ffDiaporamacBaseMediaFileADSL j_N vADSL BoxcDeviceModelList2AdvancedcDeviceModelListu(e} For the WEBcDeviceModelListJb2j_ Game consolecDeviceModelList HTML 5HTML 5cDeviceModelList bKcJb2j_Handheld game consolecDeviceModelListq!d LosslesscDeviceModelListYZxlxTSVh!Multimedia hard drive and gatewaycDeviceModelList YZ|}qMultimedia systemcDeviceModelList\{F/NetPC Netbook/NetPCcDeviceModelListde>VhPlayercDeviceModelList Se_de>VhPortable PlayercDeviceModelListSWF Wde>VhSWF Flash PlayercDeviceModelList fzagWbKj_ SmartphonecDeviceModelList^sgfTablet computercDeviceModelList RNTy>N}z Video-sharing and social WebSitecDeviceModelList/Error cModelListet\ kAdjust contrastwgt_QEditImageetP< Adjust gammawgt_QEditImageetN^Adjust luminositywgt_QEditImage[^Define the heightwgt_QEditImage[[^Define the widthwgt_QEditImagede Despecklewgt_QEditImageWGSEqualizewgt_QEditImageWP/ jhHvT z1Name of image/video filewgt_QEditImage np 1 Reset to 1wgt_QEditImage np 5 Reset to 5wgt_QEditImagenp Reset to zerowgt_QEditImage ^lR Speed wave:wgt_QEditImage c~fB Duration :wgt_QEditVideo}Pg_End :wgt_QEditVideoyRR0}Pg_OMnMove to end positionwgt_QEditVideo yRՕYOMnMove to start positionwgt_QEditVideoYStart :wgt_QEditVideoOu(sLOMnPZp}Pg_OMn$Use current position as end positionwgt_QEditVideoOu(sLOMnPZpYOMn&Use current position as start positionwgt_QEditVideoVolume :wgt_QEditVideoN,Normal wgt_QGMapsMap c NN Yde> Qc NN fP\_qrG3Click to start play, click again to pause the moviewgt_QVideoPlayerffDiaporama/locale/ffDiaporama_ru.ts0000777000175000001440000231165112275647351017762 0ustar dominiqueusers CommonInfoMsg Select a file Выбор файла DlgAbout Licence Лицензия This software is licensed under the GPL version 2 : Эта программа распростроняется по лицензии GPL версии 2: Credits Авторы Texturemate Texturemate Translation Переводы Note: If you want to help us or by completing an incomplete translation, or by translating the application into another language, do not hesitate to contact us on the forum. Примечание: Если вы хотите помочь нам завершить неполный перевод или перевести приложение на другой язык, не стесняйтесь обращаться к нам на форум. Changelog История изменений &Ok &Ок Interface translation version: Версия перевода интерфейса: to translate требует перевода WIKI translation version: Версия перевода WIKI: DlgApplicationSettings Application settings Настройки программы Application Options Параметры программы Remember last used folders Запоминать последнюю используемую папку Application options Параметры программы Frame rate : Частота кадров: fps (Reduce this value for slow computer) кадров в секунду (уменьшите это значение для медленного компьютера) Object position : Положение объекта: Insert after current object Вставить после текущего объекта Append at project end Добавить в конец проекта Define the transition duration Выбрать длительность перехода sec сек <html><head/><body><p><br/>Preview options</p></body></html> <html><head/><body><p><br/>Предварительный просмотр</p></body></html> Ask user confirmation to remove slide, object or shot Запрашивать подтверждение при удалении слайда, объекта или кадра Object deletion : Удаление объекта: Coordinates unit : Единицы измерения: Percent Проценты Pixel Пиксели Video cropping : Обрезка видео: Project Options Параметры проекта Old TV (4:3) Старый ТВ (4:3) TV Wide (16:9) Широкоэкранный ТВ (16:9) Cinema (2.35:1) Фильм (2,35:1) (Only for new project) (только для новых проектов) Rendering Options Параметры создания файла Default advanced rendering options Дополнительные параметры создания видеофайла (по умолчанию) Video standard : Стандарт видео: Video codec : Видео кодек: File format : Формат файла: Format : Формат: PAL PAL NTSC NTSC Bit rate : Битрейт: Audio codec : Аудио кодек: Default device mode rendering options Параметры создания видеофайла для различных устройств (по умолчанию) Smartphone : Смартфон: Multimedia system : Мультимедиа система: For the WEB : Интернет: Enable "raster" Graphics System (Need application restart) Включить "растровую" Графическую Систему (требуется перезапуск) Automatically crop 1920x1088 video to 1920x1080 Автоматически обрезать видео 1920x1088 до 1920x1080 SDL Audio use old mode Использовать старый аудио режим SDL 256 Mb 256 Мб 512 Mb 512 Мб 1 Gb 1 Гб 2 Gb 2 Гб Memory profil : Профиль для работы с объемом памяти Профиль памяти : Image smoothing : Сглаживание изображений : Smooth image during preview Сглаживать изображение при предпросмотре Project geometry: Геометрия проекта: Remember size and position of windows Запоминать размер и позицию окон Activate deinterlace filter when add new MTS videos Активировать фильтр устранения чересстрочности при добавлении нового видео в формате MTS Video deinterlacing : Устранение чересстрочности видео : Project properties (default values) Свойства проекта (по умолчанию) 1st shot duration: Длительность первого кадра: Next shot duration: Длительность следующего кадра: Default transition: Переход по умолчанию: Set the default type of transition to be inserted between slides to: Randomly from the transition library Установить основной тип перехода между слайдами: случайным образом Set the default type of transition to be inserted between slides to: No transition Установить основной тип перехода между слайдами: без перехода Set the default type of transition to be inserted between slides to: Crossfade transition Установить основной тип перехода между слайдами: плавное затухание Text Текст Background Фон Coordinates Координаты Default options for new image or video block (when creating slide) Параметры нового изображения или видео (по умолчанию - при создании слайда) Text style Стиль текста Shape Форма Title : Название : <html><head/><body><p><br/>Project options (default values)</p></body></html> <html><head/><body><p><br/>Параметры проекта (по умолчанию)</p></body></html> Author : Автор: No automatic filling Без автозаполнения The Application options tab allows to define the general behavior of ffDiaporama. Вкладка "Параметры программы" позволяет определять общее поведение ffDiaporama. This option allows you to adjust the positions occupied by new objects inserted into the timeline. - If Insert after the current selected object is selected, then the new slides will be created after the current slide. - If Append to the end of the project is selected, then the new slides will be created at the end of the project. Этот параметр позволяет регулировать позицию, занимаемую новыми объектами, вставляемыми на шкалу времени: - если выбран параметр Вставить после текущего объекта, то новые слайды будут создаваться после текущего слайда. - если выбран параметр Добавить в конец проекта, то новые слайды будут создаваться в конце проекта. if this box is checked, old setting mode is use for SDL Audio. This option is useful on some Linux distribution which still use the old SDL packages (For example: Ubuntu 10.10 and 11.04, Fedora 14 and 15, etc.). Если этот флажок установлен, используется старый режим SDL аудио. Этот параметр полезен на некоторых дистрибутивах Linux, которые все еще используют старые пакеты SDL (например: Ubuntu 10.10 и 11.04, Fedora 14 и 15, и т.д.). If this box is checked, the directories for images, videos, projects, music and the generation of your movie will be saved and reused the next time you use ffDiaporama. Если этот флажок установлен, папки с изображениями, видео, проектами, музыкой и созданным фильмом будут запомнены и повторно использованы при следующем запуске ffDiaporama. If the Automatically crop 1920×1088 video to 1920×1080 is checked then video images are automatically cropped. Remark: Some manufacturers produce FullHD videos 1920×1088 rather than 1920×1080. They make it to accelerate the encoding which is faster with a multiple of 16 lines. But this size is not 16:9. To keep the whole image, not only the image is deformed to fit into the screen but besides black bands appear on the sides. To avoid all these problems, by checking this box, these videos are truncated to be returned to the 1920×1080 sizes. Then 4 lines are cut at the top and bottom. Если этот флажок установлен, то видеоизображение автоматически обрезается. Примечание: некоторые производители создают FullHD видео с разрешением 1920 × 1088, а не 1920 × 1080. Они делают это для ускорения кодирования, которое происходит быстрее если кратно 16 линиям. Но этот размер не 16:9. При вписании в экран изображения целиком, без деформации появляются черные полосы по бокам. Чтобы избежать всех этих проблем, установите этот флажок и такое видео будет обрезано до размера 1920 × 1080. По 4 строки обрезается сверху и снизу. If this box is checked, the image smoothing effect will be applied to the images during the preview. Remark: This effect consumes lots of resources and can result in slow preview on small machines. Unchecking this box allows then to keep a fluid preview. Если этот флажок установлен, то эффект сглаживания изображений будет применен во время предпросмотра. Примечание: этот эффект потребляет много ресурсов и может привести к медленному предпросмотру на слабых компьютерах. Снимите этот флажок, чтобы вернуть скорость предпросмотра. This option allows to select the unit for the coordinates which will be used in the properties dialog. You can choose: - Percentage: Coordinates (X, Y, Width and Height) are expressed in percentages - Pixel: Coordinates (X, Y, Width and Height) are expressed in pixels relative to a screen in 1080p mode Эта опция позволяет выбрать единицы измерения координат, которые будут использоваться в диалоговом окне свойств. Вы можете выбрать: - проценты: координаты (X, Y, ширина и высота) будут выражены в процентах, - пикселы: координаты (X, Y, ширина и высота) будут выражены в пикселях относительно экрана в режиме 1080p If the Activate deinterlace filter when add new MTS videos is checked, deinterlace filter will automatically be activated for all .mts videos added to the project. Remark: Some manufacturers produce videos using interlaced mode. They make it to accelerate the encoding. The problem is it deforms the image on which moved lines appear. For more information on interlaced video, see Wikipedia page on interlaced video. Если этот флажок установлен, то фильтр устранения чересстрочности будет автоматически активирован для всего .mts видео, добавленного в проект. Примечание: некоторые производители выпускают видео, используя режим чересстрочной развертки. Они делают это, чтобы ускорить кодирование. Проблема в том, что он искажает изображение, на котором появляются линии движения. Для получения дополнительной информации по видео с чересстрочной разверткой, см. соответствующую статью в Википедии. Defines the number of images per second which will be generated to show the preview. Note: the higher this number, the more smooth the preview will be. On the other hand, more computer resources will be required. Reduce this number on slow computers or if the gauge for your multimedia reader is frequently in the red zone. Определяет количество кадров в секунду, которое будет использоваться при предпросмотре. Примечание: чем выше это число, тем более гладким будет просмотр. С другой стороны потребуется больше ресурсов компьютера. Уменьшите это значение на медленных компьютерах или если датчик вашего мультимедиапроигрывателя часто находится в красной зоне. If this box is checked, the graphic system "raster" is used instead of the default graphic system. This option is used only at application start up. The "raster" Graphics accelerates the display but can raise problems on some computer in particular with KDE. Если этот флажок установлен, будет использоваться растровая графическая система вместо графической системы по умолчанию. Этот параметр вступит в силу только после перезапуска программы. Растровая графика ускоряет отображение, но может вызвать проблемы на некоторых компьютерах, в частности с KDE. If this box is checked, a confirmation prompt will be displayed every time you remove an object: - A slide from the main window -A shot or block from the slide properties dialog box Если этот флажок установлен, то запрос на подтверждение будет отображаться при каждом удалении объекта: - слайда из главного окна - кадра или блока из диалогового окна свойств слайда If this box is checked, the sizes and the positions of all windows and dialogs will be saved and reused the next time you use ffDiaporama. Если этот флажок установлен, размеры и положение всех окон и диалогов будут запомнены и повторно использованы при следующем запуске ffDiaporama. Sound sample rate : Частота дискретизации звука: (Reduce this value for slow computer) (уменьшите это значение для медленного компьютера) Defines the frequency of the sound generated to show the preview. Определяет частоту звука для воспроизведения при предварительном просмотре. Hz (Reduce this value for slow computer) Гц (уменьшите это значение для медленного компьютера) Max video preview height : Максимальная высота видео при предпросмотре: Sets the maximum height of videos used for the preview. Beyond this height, the videos are automatically reduced for creating images. Определяет максимальную высоту видео, используемого при предварительном просмотре. Видео, превышающее эту высоту, будет автоматически уменьшено. The Project options tab allows to define the options by default of the current project and for the new projects. Вкладка "Параметры проекта" позволяет задать настройки по умолчанию как для текущего проекта, так и для новых проектов. Sets the default speed curve for the blocks animations of new projects Устанавливает скорость анимации блоков новых проектов по умолчанию Allows to Select the geometric constraint applied to the new text blocks. - Unlock: The shape of the block is free - Lock to project geometry: The shape of the block has the same shape as the image Позволяет выбрать блокировку геометрии, применяемую к новым блокам текста. - Разблокировать: свободная форма блока - Заблокировать геометрию проекта: форма блока имеет такую ​​же форму, что и изображение Selects the image geometry to be used for the creation of projects. Three geometries are available : - 4:3 : Corresponds to an old TV with (almost) square screen - 16:9 : Corresponds to a modern TV with rectangular screen - 2.35:1 : Corresponds to the Cinema format (on a TV, this format will use black strips at the top and below.) Note: the geometry of a project is defined once and for all when it is created. It is not possible to modify it afterwards. Выбор геометрии изображения, используемой при создании проектов. Доступно три геометрии: - 4:3: соответствует старому телевизору с (почти) квадратным экраном - 16:9: соответствует современному телевизору с прямоугольным экраном - 2.35:1: соответствует формату кино (на экране телевизора, это формат приведет к появлению черных полос вверху и внизу). Примечание: геометрия проекта определяется при его создании один раз и навсегда. Ее невозможно изменить впоследствии. Defines the automatic filling method to use for the title's project properties: - No automatic filling : You will have to define manually the title - Fill with project name when project save : The title will take the same name as the .ffd file - Fill with project folder name when project save : The title will take the same name as the folder where the file .ffd is saved Note: this field is limited to 30 characters to remain compatible with jukebox Определяет метод автоматического заполнения названия проекта: - Без автозаполнения: вы должны будете задать название вручную - Использовать имя проекта при сохранении: название будет таким же, как имя ffd файла - Использовать имя папки проекта при сохранении: название будет таким же, как имя папки, где находится ffd файл Примечание: это поле не должно превышать 30 символов, чтобы сохранить совместимость с jukebox Fill with project name when project save (if not yet defined) Использовать имя проекта при сохранении (если не определено) Fill with project folder name when project save (if not yet defined) Использовать имя папки проекта при сохранении (если не определено) <html><head/><body><p>This group of settings applies to the new image or video blocks created from the main window by means of the <img src=":/img/add_image.png"/> button.<br><br>For every image format and every project geometry select the style of location to applied to the new blocks. <br>- Framing styles define how to crop the image to make it compatible with the block in which is displayed.<br>- The positioning styles define the the size, coordinates, rotations and geometric constraint to apply to blocks.</p></body></html> <html><head/><body><p>Эта группа настроек применяется к новому изображению или видео, созданным из главного окна с помощью кнопки <img src=":/img/add_image.png"/>".<br><br>Для каждого формата изображения и каждой геометрии проекта выберите стиль расположения, применяемый к новым блокам. <br>- Стиль кадрирования определяет как обрезается изображение, для обеспечения его совместимости с блоком, в котором оно отображается..<br>-Стиль позиционирования определяет размер, координаты, вращение и ограничения геометрии, применяемые к блокам.</p></body></html> Sets the default speed curve for the image effects animations of new projects Устанавливает скорость анимации изображений новых проектов по умолчанию Allows to select, for every project geometry, the style of the location applied to the new text blocks. This style defines the size, the coordinates, the rotations and the geometrical constraint. Позволяет выбрать для геометрии каждого проекта стиль расположения, применяемый к новым текстовым блокам. Этот стиль определяет размер, координаты, повороты и ограничения геометрии. Defines the default duration of further shots. Определяет длительность следующих кадров (по умолчанию). Framing styles define how to crop the image to make it compatible with the block in which is displayed. Стиль обрамления определяет как обрезается изображение, для обеспечения его совместимости с блоком, в котором оно отображается. The positioning styles define the the size, coordinates, rotations and geometric constraint to apply to blocks. Стиль позиционирования определяет размер, координаты, вращение и ограничения геометрии, применяемые к блокам. Allows to select the characters style applied to the text of the blocks. This style defines the font, its size, its color and the shadow effects applied to the text. Remark: This setting apply to all image formats. Позволяет выбрать стиль символов, применяемый к новым блокам текста. Этот стиль определяет шрифт, его размер, цвет и эффект тени, применяемый к тексту. Примечание: эта настройка применяется для всех форматов. Allows to select the style of the shape applied to the new text blocks. This style defines the shape (rectangle, circle, …), the border, the opaqueness and the shadow effect applied to the block. Remark: This setting apply to all image formats. Позволяет выбрать тип фигуры, применяемый к новому текстовому блоку. Этот стиль определяет форму (прямоугольник, круг, ...), границы, непрозрачность и эффект тени, применяемый к блоку. Примечание: эта настройка применяется для всех форматов. Default language : Язык по умолчанию: Allows to select the characters style applied to the new text blocks. This style defines the font, its size, its color and the shadow effects applied to the text. Позволяет выбрать стиль символов, применяемый к новым блокам текста. Этот стиль определяет шрифт, его размер, цвет и эффект тени, применяемый к тексту. Defines the default value for the field Language Установка параметров языка по умолчанию und und (ISO 639 language code) (код языка по ISO 639) Sets the default speed wave for the transitions of new projects Устанавливает скорость переходов новых проектов по умолчанию Editor options (when adding objects) Параметры редактора (при добавлении объектов) This option allows you to specify the format in which computed dates are displayed. Этот параметр позволяет выбрать формат в котором будет отображаться дата. If this box is checked, a dialog box will appear at startup the next time a new version will be available. Если этот флажок установлен, при появлении новой версии во время запуска появится диалоговое окно. Distance unit : Единица измерения расстояния : This option lets you specify the unit to be used for distances. Этот параметр позволяет выбрать единицу измерения расстояния. Kilometers Километры Miles Мили Proxy address : Прокси адрес : <html><head/><body><p><br/>Network settings</p></body></html> <html><head/><body><p><br/>Параметры сети</p></body></html> Check this box if your network requires that you use a proxy Установите этот флажок, если в вашей сети требуется использование прокси-сервера Use a proxy to access the Internet Использовать прокси для доступа в Интернет Enter address of the proxy host Введите адрес прокси-сервера Enter the port number to access the proxy or nothing to use default port Введите номер порта для доступа к прокси или оставьте пустым, чтобы использовать порт по умолчанию Proxy port : Порт : Login : Логин : Password : Пароль : Enter the login name to access the proxy or nothing if no login is required Введите имя пользователя для доступа к прокси или оставьте пустым, если логин не требуется Enter the login password to access the proxy or nothing if no login is required Введите пароль пользователя для доступа к прокси или оставьте пустым, если пароль не требуется Defines the default duration of the first shot for slides during their creation. Определяет длительность первого кадра по умолчанию для слайдов во время их создания. Allows to select the style of the shape to applied to the new text blocks. This style defines the shape (rectangle, circle, …), the border, the opaqueness and the shadow effect applied to the block. Позволяет выбрать тип фигуры, применяемый к новому текстовому блоку. Этот стиль определяет форму (прямоугольник, круг, ...), границы, непрозрачность и эффект тени, применяемый к блоку. Allows to select the style of background applied to the new text blocks. This style defines the transparency of the block and its filling. Позволяет выбрать тип фона, применяемый к новому текстовому блоку. Этот стиль определяет прозрачность блока и его заливку. <html><head/><body><p>This group of settings applies to the new text blocks created in slide dialogue by means of the <img src=":/img/add_text.png"/> button.</p></body></html> <html><head/><body><p>Эта группа настроек применяется к новым текстовым блокам, созданным в окне редактирования слайда с помощью кнопки <img src=":/img/add_text.png"/>".</p></body></html> Default options for new text block Параметры нового текстового блока (по умолчанию) <html><head/><body><p>This group of settings applies to the new image or video blocks created in slide dialogue by means of the <img src=":/img/add_image.png"/> button.<br/><br/>For every image format and every project geometry select the style of location to applied to the new blocks. <br/>- Framing styles define how to crop the image to make it compatible with the block in which is displayed.<br/>- The positioning styles define the the size, coordinates, rotations and geometric constraint to apply to blocks.</p></body></html> <html><head/><body><p>Эта группа настроек применяется к новому изображению или видео, созданным в окне редактирования слайда с помощью кнопки <img src=":/img/add_image.png"/>".<br/><br/>Для каждого формата изображения и каждой геометрии проекта выберите стиль расположения, применяемый к новым блокам. <br/>-Стиль кадрирования определяет как обрезается изображение, для обеспечения его совместимости с блоком, в котором оно отображается.<br/>-Стиль позиционирования определяет размер, координаты, вращение и ограничения геометрии, применяемые к блокам.</p></body></html> Default options for new image or video block (when adding block in slide dialog) Параметры нового изображения или видео (по умолчанию - при добавлении блока) Album : Альбом : Defines the default value for the field Album Note: this field is limited to 30 characters to remain compatible with jukebox Введите значение по умолчанию для поля Альбом Примечание: это поле не должно превышать 30 символов для обеспечения совместимости с мультимедиа плеерами The Rendering options Tab allows to define the options used by default during the generation of videos. Вкладка "Параметры создания файла" позволяет задать настройки, используемые по умолчанию при создании видео. Default video name : Имя видео (по умолчанию) : This option allows to select the name which will be proposed by default during the rendering of videos. This option can be applied only if the project was saved at first. Use project name as video name: If the project name is assembly.ffd, then assembly will be the proposed name Use project folder's name as video name: If the project name is assembly.ffd and is saved in the My holidays 2011 directory, then My holidays 2011 will be the proposed name Use title project as video name: Use the title defined in the project properties as the name of video Эта опция позволяет выбрать название, которое будет предложено по умолчанию во время создания видео. Она может быть применена только если проект был сохранен впервые. Использовать имя файла проекта как название видео: если имя файла проекта "assembly.ffd", то название видео будет "assembly" Использовать имя папки проекта как название видео: если имя проекта "assembly.ffd" и он сохранен в папке "Мои праздники 2011", то название видео будет " Мои праздники 2011" Использовать имя проекта как название видео: использование имени определено в свойствах проекта в качестве названия видео Use project name as video name Использовать имя файла проекта как название видео Show help about this dialogue box Показать справку об этом диалоговом окне &Help &Справка Use project folder's name as video name Использовать имя папки проекта как название видео Use title project as video name Использовать имя проекта как название видео Lossless : Сжатие без потерь : Manage Devices Управление устройствами Check Configuration Проверить конфигурацию <html><head/><body><p><br/>Default options for speed wave</p></body></html> <html><head/><body><p><br/>Параметры скорости (по умолчанию)</p></body></html> Block animation: Анимация блока: Locking Блокировка Transition: Переход: Photo landscape Фото - ландшафтный режим Image landscape Изображение - ландшафтный режим Coordinates: Координаты: Video landscape Видео - ландшафтный режим Photo portrait Фото - портретный режим Framing: Кадрирование: Video portrait Видео - портретный режим image portrait Изображение - портретный режим Image animation: Анимация изображения: Select the default bit rate to use for video during the rendering Выберите битрейт видео создаваемого файла (по умолчанию) Select the default video codec to use for the rendering Выберите видео кодек для создаваемого файла (по умолчанию) Select the default audio codec to use for the rendering Выберите аудио кодек для создаваемого файла (по умолчанию) Select the default bit rate to use for audio during the rendering Выберите битрейт аудио создаваемого файла (по умолчанию) Select the type of equipment which will be proposed by default when you click the "Player and Smartphone" button in the "Render movie" menu Выберите вид оборудования, который будет предложен по умолчанию при нажатии кнопки "Плеер и смартфон" в меню "Создание видео" Select the type of equipment which will be proposed by default when you click the "For the WEB" button in the "Render movie" menu Выберите вид оборудования, который будет предложен по умолчанию при нажатии кнопки "Интернет" в меню "Создание видео" Select the type of equipment which will be proposed by default when you click the "Multimedia system" button in the "Render movie" menu Выберите вид оборудования, который будет предложен по умолчанию при нажатии кнопки "Мультимедиа система" в меню "Создание видео" Select the model of equipment which will be proposed by default when you click the "Player and Smartphone" button in the "Render movie" menu Выберите модель оборудования, которая будет предложена по умолчанию при нажатии кнопки "Плеер и смартфон" в меню "Создание видео" Select the model of equipment which will be proposed by default when you click the "Multimedia system" button in the "Render movie" menu Выберите модель оборудования, которая будет предложена по умолчанию при нажатии кнопки "Мультимедиа система" в меню "Создать фильм" Select the model of equipment which will be proposed by default when you click the "For the WEB" button in the "Render movie" menu Выберите модель оборудования, которая будет предложена по умолчанию при нажатии кнопки "Интернет" в меню "Создать фильм" Select the default file type to use for the rendering Выберите формат создаваемого файла (по умолчанию) Select the default image format to use for the rendering Выберите формат изображения создаваемого видеофайла (по умолчанию) <html><head/><body><p>Defines the quantity of memory used as cache memory by ffDiaporama. This parameter is important because it allows to adapt ffDiaporama to your hardware.</p></body></html> <html><head/><body><p>Определяет количество памяти, используемой в качестве кэш-памяти ffDiaporama. Этот параметр важен, поскольку позволяет адаптировать ffDiaporama под ваш компьютер.</p></body></html> If this box is checked, tooltips will no longer appear in dialog boxes (only what's this will be available). Если этот флажок установлен, всплывающие подсказки больше не будут появляться в диалоговых окнах. Disable tooltips in dialog box Отключить всплывающие подсказки в диалоговых окнах Short date format : Краткий формат даты : <html><head/><body><p><br/>Various options</p></body></html> <html><head/><body><p><br/>Разные настройки</p></body></html> Offer to open the download Web page when a new version is available Предлагать открыть страницу загрузки при появлении новой версии For more compatibility with the standard id3v2, check this box to limit Title, Author and Album fields to 30 characters Установите этот флажок для большей совместимости со стандартом id3v2 (ограничение полей Название, Автор и Альбом 30 символами) Enhance id3v2 comptatibility Повышенная совместимость с id3v2 Default thumbnail : Обложка по умолчанию : Defines the model use as default thumbnail Выбрать шаблон, используемый в качестве обложки по умолчанию Select the default video standard to use, PAL or NTSC Выберите используемый стандарт видео, PAL или NTSC Default soundtrack rendering options Параметры создания аудиофайла (по умолчанию) Frequency : Частота: Select the default frequency to use for audio during the rendering. Выберите частоту аудио создаваемого файла (по умолчанию). Defines the default value for the field Author (often so called Artist by Media Center Systems) Note: this field is limited to 30 characters to remain compatible with jukebox Определяет значение по умолчанию для поля Автор (часто также именуется Артист мультимедиа системами) Примечание: это поле не должно превышать 30 символов для обеспечения совместимости с мультимедиа плеерами If this box is checked then a thumbnail file will be created with video. Если этот флажок установлен, обложка будет создана вместе с видеофайлом. Join thumbnail to rendered file Присоединить обложку к создаваемому файлу If this box is checked then a XMBC .nfo file will be created with video. Если этот флажок установлен, XMBC .nfo файл будет создан вместе с видеофайлом. Join XBMC .nfo file to rendered file Присоединить XBMC .nfo файл к создаваемому файлу Allows you to open the Check configuration dialog box Открывает диалоговое окно проверки конфигурации Allows you to open the Manage device dialog box Открывает диалоговое окно управления устройствами Accept modification and exit dialog box Применить изменения и выйти из диалогового окна &Ok &Ок Cancel modification and exit dialog box Отменить изменения и выйти из диалогового окна &Cancel &Отмена Language selection Выбрать язык Language must be empty or an ISO 639 language code (3 characters) See help for more details! Поле должно быть пустым или содержать код языка по ISO 639 (3 символа) Смотрите справку для более подробной информации! MM/dd/yyyy Default Date format : dd/MM/yyyy or MM/dd/yyyy or yyyy/MM/dd or dd.MM.yyyy and so on... MM/dd/yyyy DlgAutoTitleSlide Event date: Дата: If this box is checked, you can enter a longtime different from that generated from the date of the chapter. Отметьте этот флажок, чтобы ввести дату вручную в нужном вам формате (как простой текст). Enter here a date, in a free format, for the chapter Введите здесь дату главы в любом формате Select a date for the chapter. Выберите дату главы. Override date: Замещающая дата: Accept modification and go to previous slide Применить изменения и вернуться к предыдущему слайду Previous Предыдущий Accept modification and exit dialog box Применить изменения и выйти из диалогового окна &Ok &Ок Accept modification and go to next slide Применить изменения и перейти на следующий слайд Next Следующий Cancel modification and exit dialog box Отменить изменения и выйти из диалогового окна &Cancel &Отмена Show help about this dialogue box Показать справку об этом диалоговом окне &Help &Справка Chapter date different from project date Дата главы отличается от даты проекта Slide type: Тип слайда: Project title Название проекта Chapter title Название главы Credit title Заключительный Category: Категория: Chapter name: Название главы: Enter here the title of the chapter (if the "Chapter name different from slide name" box is checked). Введите здесь название главы (если установлен флажок "Имя главы отличается от имени слайда"). Chapter location different from project location Местоположение главы отличается от местоположения проекта Event location: Местоположение события: Select the location of the event of the project Выбор местоположения события проекта Clear this location Удалить это местоположение This button allows you to open project properties dialog. Эта кнопка позволяет открыть диалоговое окно параметров проекта. &Project properties &Свойства проекта This button allows you to convert this slide to a standard slide. Standard slide are fully customizable. Эта кнопка позволяет преобразовать этот слайд в обычный слайд. Обычный слайд полностью настраиваем. &Convert to standard slide &Преобразовать в обычный слайд If this box is checked, the date of the chapter is different from the date of the project. Remark: It is often useful to differentiate the date of the chapter of the date of the project. For example, if the project is "My vacation from 1 to 15", the chapter may be limited to the 3. Если этот флажок установлен, дата главы отличается от даты проекта. Примечание: зачастую полезно различать дату главы и дату проекта. Например, если проект называется "Мой отпуск с 1 по 15", то глава может быть ограничена 3 числом. Add a predefined title slide Добавить слайд из шаблона Edit a predefined title slide Изменение шаблона слайда Please select a model first Пожалуйста, выберите сначала шаблон DlgBackgroundProperties Background properties Свойства фона Select a new background Выбор нового фона Full filling (deform image) Растянуть (с деформацией) Keep aspect ratio Сохранить пропорции If this option is selected, the slide will have no background definition but will use the same background as the previous slide: - If the previous slide does not have a background definition either, the check continues backwards until a slide is found which does have a background definition. - If no previous slide has a background definition, then a black frame will be used. Если этот параметр выбран, настройка фона слайда будет недоступна и фон будет как у предыдущего слайда: - если предыдущий слайд не имеет фона, то будет найден первый предыдущий слайд, имеющий фон. - если нет предыдущего слайда, имеющего фон, то будет использоваться черная рамка. If this option is selected, the slide will have its own background definition. Если выбрана эта опция, слайд будет иметь свой собственный фон. Allows you to select an image. Позволяет выбрать изображение. Allows you to select a brush type in the following list: - Solid brush: Allow to selects a plain color. - Gradient 2 colors: Allow to select a gradient from 2 colors - Gradient 3 colors: Allow to select a gradient from 3 colors - Image from library: Allow to select a predefined background - Image disk: Allow to select a photo or an image from a file on the disk. Позволяет выбрать тип кисти вз следующего списка: - Твердая кисть: позволяет выбрать простой цвет. - Градиент из двух цветов: позволяет выбрать градиент, состоящий из 2 цветов. - Градиент из трех цветов: позволяет выбрать градиент, состоящий из 3 цветов. - Изображение из библиотеки: позволяет выбрать предопределенный фон. - Изображение с диска: позволяет выбрать фотографию или изображение из файла на диске. If this box is checked, the image isn't deformed and you can open the Image framing dialog to select a part of the image. Если этот флажок установлен, изображение не деформируется и вы можете открыть диалоговое окно кадрирования изображения, чтобы выбрать его часть. Opens the Image framing dialog to select a part of the image. Открывает диалоговое окно кадрирования изображения, чтобы выбрать часть изображения. Allows you to select the gradient orientation. Позволяет выбрать направление градиента. Allows you to define the position (in percentage) of the 3rd gradient color. Позволяет определить заполнение (в процентах) 3-го цвета градиента. Allows you to select the first color. Позволяет вам выбрать первый цвет. Allows you to select the second color. Позволяет вам выбрать второй цвет. Allows you to select the last color. Позволяет вам выбрать последний цвет. If this box is checked, the image fills the screen, even if it has to be deformed. Если этот флажок установлен, изображение занимает весь экран, даже если будет при этом деформировано. Allows you to select a photo or an image from a file on the disk. Позволяет выбрать фотографию или изображение из файла на диске. Show help about this dialogue box Показать справку об этом диалоговом окне &Help &Справка Accept modification and exit dialog box Применить изменения и выйти из диалогового окна Undo last action (CTRL+Z) Отменить последнее действие (Ctrl + Z) Undo Отменить Ctrl+Z Ctrl+Z &Ok &Ок Same background as preceding object Тот же фон, что и у предыдущего объекта Cancel modification and exit dialog box Отменить изменения и выйти из диалогового окна &Cancel &Отмена Solid brush Твердая кисть Gradient 2 colors Градиент из двух цветов Gradient 3 colors Градиент из трех цветов Image from library Изображение из бибилиотеки Image from disk Изображение с диска Select a file Выберите файл DlgChapter Chapter properties Свойства главы Show help about this dialogue box Показать справку об этом диалоговом окне &Help &Справка Enter here the name of the chapter Введите здесь название главы Start a new chapter from this slide. (If this box is checked, the slide will mark the beginning of a new chapter.) Remarks : This box cannot be deactivated for the first slide of the project. Начать новую главу с этого слайда. (Если этот флажок установлен слайд будет помечен как начало новой главы). Примечание : Этот флажок нельзя отключить для первого слайда проекта. Start a new chapter with this slide Начать новую главу с этого слайда If this box is checked, the date of the chapter is different from the date of the project. Remark: It is often useful to differentiate the date of the chapter of the date of the project. For example, if the project is "My vacation from 1 to 15", the chapter may be limited to the 3. Если этот флажок установлен, дата главы отличается от даты проекта. Примечание: зачастую полезно различать дату главы и дату проекта. Например, если проект называется "Мой отпуск с 1 по 15", то глава может быть ограничена 3 числом. Chapter name: Название главы: Accept modification and exit dialog box Применить изменения и выйти из диалогового окна &Ok &Ок Cancel modification and exit dialog box Отменить изменения и выйти из диалогового окна &Cancel &Отмена Chapter date different from project date Дата главы отличается от даты проекта Event location: Местоположение события: Chapter location different from project location Местоположение главы отличается от местоположения проекта Select the location of the event of the project Выбор местоположения события проекта Clear this location Удалить это местоположение Override date: Замещающая дата: Event date: Дата: Select a date for the chapter. Выберите дату главы. If this box is checked, you can enter a longtime different from that generated from the date of the chapter. Отметьте этот флажок, чтобы ввести дату вручную в нужном вам формате (как простой текст). Enter here a date, in a free format, for the chapter Введите здесь дату главы в любом формате DlgCheckConfig Check configuration Проверить конфигурацию Here are listed the components used and their status: Red: The component does not work properly Green: The component works perfectly Yellow: The component works partially - For a codec: Only reading is available (not encoding) - For a library: The version is old Здесь перечислены используемые компоненты и их статус: Красный: компонент не работает должным образом Зеленый: компонент работает отлично Желтый: компонент работает частично - Для кодека: доступно только чтение (не кодирование) - Для библиотеки: старая версия Check configuration at startup Проверить конфигурацию при запуске Close dialog box Закрыть диалоговое окно &Ok &Ок Show help about this dialogue box Показать справку об этом диалоговом окне &Help &Справка available доступно Operating system version: %1 - %2 Core/CPU Версия операционной системы: %1 - %2 Ядра CPU Application architecture: 32 bits Архитектура приложения: 32 бита Application architecture: 64 bits Архитектура приложения: 64 бита User config file: %1 Пользовательский конфигурационный файл: %1 Global config file: %1 Глобальный конфигурационный файл: %1 Starting path: %1 Путь запуска: %1 Working path set to: %1 Рабочий путь: %1 Search path set to: %1 Путь поиска: %1 The background library contains %1 pictures Библиотека фонов содержит %1 фотографий The non-luma library contains %1 transitions Библиотека не luma переходов содержит %1 переходов The luma library contains %1 transitions Библиотека luma переходов содержит %1 переходов SDL version: %1.%2.%3-Licence=GPL version 2.1 or later SDL версия: %1.%2.%3-Лицензия=GPL версии 2.1 или позже fmt_filters version:0.6.4-Licence=LGPL fmt_filters версии:0.6.4-Лицензия=LGPL qimageblitz version:0.6.6-Licence=LGPL qimageblitz версия:0.6.6-Лицензия=LGPL QT version: %1 QT версии: %1 Detected system locale: %1 Обнаруженный язык системы: %1 Translation file loaded: %1 Загруженный файл перевода: %1 LibExiv2 version: LibExiv2 версии: not available не доступно LibExiv2 support for preview image LibExiv2 поддержка предварительного просмотра изображений TAGLib version: TAGLib версии: TAGLib support for FLAC TAGLib поддержка FLAC TAGLib support for ASF/WMA TAGLib поддержка ASF/WMA TAGLib support for M4A/MP4 TAGLib поддержка M4A/MP4 LIBAV general version: Libav общая версия: LIBAVUTIL version: %1.%2.%3.%4 LIBAVUTIL версия: %1.%2.%3.%4 LIBAVCODEC version: %1.%2.%3.%4 LIBAVCODEC версия: %1.%2.%3.%4 LIBAVFORMAT version: %1.%2.%3.%4 LIBAVFORMAT версия: %1.%2.%3.%4 LIBAVFILTER version: %1.%2.%3.%4 LIBAVFILTER версия: %1.%2.%3.%4 LIBSWSCALE version: %1.%2.%3.%4 LIBSWSCALE версия: %1.%2.%3.%4 LIBAVRESAMPLE version: %1.%2.%3.%4 LIBAVRESAMPLE версия: %1.%2.%3.%4 LIBSWRESAMPLE version: %1.%2.%3.%4 LIBSWRESAMPLE версия: %1.%2.%3.%4 Audio Codecs Аудио кодеки Video Codecs Видео кодеки Container Formats Форматы файлов Lossless rendering Сжатие "без потерь" DlgExportProject Export project Экспорт проекта Click on this button to select graphically a destination folder. Нажмите эту кнопку чтобы выбрать папку назначения. Destination folder: Папка назначения: Project subfolder: Подпапка проекта: Show help about this dialogue box Показать справку об этом диалоговом окне &Help &Справка Start export process Начать экспорт &Ok &Ок Abort export operation and exit dialog box Отменить экспорт и выйти из диалогового окна &Cancel &Отмена % done;Destination file;Source file % выполнения;Файл назначения;Исходный файл Error: Project subfolder can't be empty Error message Ошибка: Подпапка проекта не может быть пустой Export done Error message Экспорт завершен Export cancel Error message Экспорт отменен not started не запущено Project file Файл проекта Error during the creation of the %1 folder Error message Ошибка при создании папки %1 started запущено done завершено error ошибка Error during the export of the project file Error message Ошибка при экспорте файла проекта Error during the copy of %1 to %2 Error message Ошибка при копировании %1 в %2 DlgFileExplorer Accept modification and exit dialog box Применить изменения и выйти из диалогового окна &Ok &Ок Cancel modification and exit dialog box Отменить изменения и выйти из диалогового окна &Cancel &Отмена Show help about this dialogue box Показать справку об этом диалоговом окне &Help &Справка F1 F1 DlgGMapsGeneration Generate Google Maps map Создание карты Google Maps Cancel modification and exit dialog box Отменить изменения и выйти из диалогового окна &Cancel &Отмена Download failed: %1. => wait 1sec and retry Ошибка загрузки: %1. => подождите 1 сек и попробуйте снова Error decoding image received from Google Maps Ошибка декодирования изображений, полученных от Google Maps Google stop responding May be you have reach the maximum number of request allowed. Please retry in one hour. Google не отвечает на запросы Возможно, вы превысили максимально допустимое количество запросов. Пожалуйста, попробуйте снова через час. %1 pending section(s) should be retrieve later %1 раздел(ов) ожидается для последующего получения %1 pending section(s) to retrieve from Google Maps %1 раздел(ов) ожидается для извлечения из Google Maps DlgGMapsLocation Select a location Выбор местоположения Give a friendly name for this location Введите имя для этого местоположения Icon: Значок: Click to select an icon Нажмите, чтобы выбрать значок Edit icon Изменить значок Remove icon Удалить значок Friendly name: Понятное имя: Enter the postal adress to find in this zone. Введите в эту область искомый почтовый адрес. Open the favorite menu Открыть Избранное Google address: Адрес Google: Friendly address: Понятный адрес: Give a friendly address for this location Введите удобный адрес для этого местоположения Click on the map to select a location Нажмите на карту, чтобы выбрать местоположение Increase zoom level Увеличение масштаба Adjust zoom level Изменить масштаб Decrease zoom level Уменьшение масштаба Latitude: Широта: Longitude: Долгота: Accept modification and exit dialog box Применить изменения и выйти из диалогового окна &Ok &Ок Cancel modification and exit dialog box Отменить изменения и выйти из диалогового окна &Cancel &Отмена Show help about this dialogue box Показать справку об этом диалоговом окне &Help &Справка Select another file Выбрать другой файл Edit current image Изменить текущее изображение Google stop responding May be you have reach the maximum number of request allowed. Please retry in one hour. Google не отвечает на запросы Возможно, вы превысили максимально допустимое количество запросов. Пожалуйста, попробуйте снова через час. Incorect addres ? (%1) Неправильный адрес ? (%1) Google said: %1 Are you sure to have written the address correctly? Ответ Google: %1 Вы уверены, что правильно написали адрес? Error parsing XML Ошибка чтения XML Error parsing XML / incorrect root Ошибка чтения XML / недопустимый root Erreur de parsing XML / status KO Ошибка чтения XML / статус KO Download failed: %1. Ошибка загрузки: %1. Error decoding image reveived from Google Maps Ошибка декодирования изображений, полученных от Google Maps XML parsing error Ошибка анализа XML XML parsing error / incorrect root Ошибка анализа XML / неправильный root XML parsing error / status KO Ошибка анализа XML / статус KO The map has not been fully generated. Do you want to resume the generation now? Карта сформирована неполностью. Хотите возобновить создание карты сейчас? A map on slide %1 must be regenerated. Do you want to do it now? Карта на слайде %1 должна быть создана заново. Хотите сделать это сейчас? DlgImageComposer Edit thumbnail model Изменить шаблон обложки Add a new text block Добавить новый блок текста Add text Добавить текст Ctrl+Ins Ctrl+Ins Add one or several new blocks of images or video. A file selection dialog appears allowing you to select files. Note: in case of multiple selection, files are added in the alphabetical order of the filenames or in the digital order of shots (according to the option selected in the configuration dialog). Добавить один или несколько новых блоков изображения или видео. Откроется диалоговое окно выбора файлов. Примечание: в случае множественного выбора, файлы добавляются в алфавитном порядке имен файлов или в цифровом порядке кадров (в зависимости от выбранной опции в диалоге конфигурации). Add file Добавить файл Ins Ins Edit block Изменить блок Edit block Изменить блок Arrange blocks Упорядочить блоки Arrange block Упорядочить блоки Display information on image or video file Показать информацию о изображении или видеофайле Block information Информация о блоке Allows you to open the rulers settings dialog. Открыть диалоговое окно настроек линеек. Rulers Линейки Block coordinates : Координаты блока : Represents the width of the block. This value is defined as a percentage (%) of the total width of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog box. Ширина блока. Определяется как процент (%) от общей ширины изображения или в пикселях (на экране 1080) в соответствии с единицами измерения, заданными в диалоге конфигурации. Represents the height of the block. This value is defined as a percentage (%) of the total height of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog. Высота блока. Определяется как процент (%) от общей высоты изображения или в пикселях (на экране 1080) в соответствии с единицами измерения, заданными в диалоге конфигурации. Define the angle of rotation about the x-axis (expressed in degrees) Определить угол поворота по оси x (в градусах) Reset to zero Сбросить на 0 Allows you to select a shape for the block. The selected shape will be used as: - A fusion mask for the images and the videos. - A cutting zone for texts. Позволяет выбрать форму блока. Выбранная форма будет использоваться в качестве: - маска слияния для изображений и видео. - зоны обрезки для текстов. Represents the horizontal offset of the block from the left. This position is defined as a percentage (%) of the total width of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog. Горизонтальное смещение блока с левой стороны. Определяется как процент (%) от общей ширины изображения или в пикселях (на экране 1080) в соответствии с единицами измерения, заданными в диалоге конфигурации. Represents the vertical offset of the block from the top. This position is defined as a percentage (%) of the total height of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog. Вертикальное смещение блока сверху. Определяется как процент (%) от общей высоты изображения или в пикселях (на экране 1080) в соответствии с единицами измерения, заданными в диалоге конфигурации. Shape : Форма : Clip-Art : Клипарт : Select in which corner the shadow will be positioned (or no shadow). Remark: the position of the shadow is independent of rotation of the block: the right lower corner is always the right lower corner, whatever rotation is applied. Выберите, в каком углу будет располагаться тень (или без тени). Примечание: положение тени не зависит от вращения блока: правый нижний угол - это всегда правый нижний угол, независимо от поворота. Define the angle of rotation about the y-axis (expressed in degrees) Определить угол поворота по оси y (в градусах) Border : Граница : Defines the thickness of the border. Remark: This value is defined as 1/1080 of the height of the screen. A value of 10 corresponds to 10 points on a 1920×1080 FullHD screen, but only to 6 points on a 1280×720 screen. Толщина границы. Примечание: определяется как 1/1080 от высоты экрана. Значению 10 соответствует 10 точек на 1920 × 1080 FullHD экране и только 6 точек на 1280 × 720 экране. Select the color of the line to be used to draw the border Выбрать цвет линии границы Select the type of line (solid, dotted line, etc.) Выбрать тип линии (сплошная, пунктирная и т.д.) Shadow : Тень : Opacity : Непрозрачность : This settings group deals with style management. Это группа настроек стиля управления. Select the opaqueness of the block Выбрать непрозрачность блока Define the distance between the block and its shadow Выбрать расстояние между блоком и его тенью Select the color of the shadow Выбрать цвет тени Define the angle of rotation about the z-axis (expressed in degrees) Определить угол поворота по оси z (в градусах) Select a clip-art Выберите клипарт <html><head/><body><p><br/>Block shape :</p></body></html> <html><head/><body><p><br/>Форма блока :</p></body></html> Define a zoom value for the text. Remark: To make animations of text, you have to create at least 2 shots then: -Define values for zoom and scrolling for the 1st shot -Define different values for zoom and scrolling for the 2nd Определить значения масштабирования текста. Примечание: чтобы получить анимацию текста, вы должны создать как минимум 2 кадра: - определеть значения масштабирования и прокрутки для 1-го кадра - определить другие значения масштабирования и прокрутки для 2-го кадра Reset to 100% Сбросить на 100% <html><head/><body><p><br/>Text option :</p></body></html> <html><head/><body><p><br/>Настройки текста :</p></body></html> Zoom : Масштаб : Accept modification and exit dialog box Применить изменения и выйти из диалогового окна &Ok &Ок Cancel modification and exit dialog box Отменить изменения и выйти из диалогового окна &Cancel &Отмена Show help about this dialogue box Показать справку об этом диалоговом окне &Help &Справка Edit text Изменить текст Define the properties of the text block Определить свойства текстового блока Correct or reframe image Кадрирование и коррекция изображения Define framing and correction of image or movie Настроить кадрирование и коррекцию изображения или фильма Move to background Переместить на задний план Change the order of blocks by moving the active block towards the background Изменить порядок блоков перемещением активного блока на задний план Move to foreground Переместить на передний план Change the order of blocks by moving the active block towards the foreground Изменить порядок блоков перемещением активного блока на передний план Display information Показать информацию Display detailed information on current block Показать подробную информацию о текущем блоке Copy block Копировать блок Copy the current block to the ffDiaporama clipboard Скопировать текущий блок в буфер обмена ffDiaporama Ctrl+C Ctrl+C Cut block Вырезать блок Copy the current block to the ffDiaporama clipboard and remove it from the slide Скопировать текущий блок в буфер обмена ffDiaporama и удалить со слайда Ctrl+X Ctrl+X Remove Удалить Remove current block(s) Удалить текущий блок(и) Del Del Paste block Вставить блок Paste block from the ffDiaporama clipboard and insert it Вставить блок из буфера обмена ffDiaporama Ctrl+V Ctrl+V Align top Выровнять по верху Align blocks to the top Выровнять блоки по верху Align middle Выровнять по середине Align blocks to the middle Выровнять блоки по середине Align bottom Выровнять по низу Align blocks to the bottom Выровнять блоки по низу Align left Выровнять по левому краю Align blocks to the left Выровнять блоки по левому краю Align center Выровнять по центру Align blocks to the center Выровнять блоки по центру Align right Выровнять по правому краю Align blocks to the right Выровнять блоки по правому краю Add text block Добавить блок текста Add file Добавить файл Add a new block of type image or video Добавить новый блок изображения или видео distribute horizontally Распределить горизонтально Place each block so as to have the same space between each Разместить блоки на равном расстоянии друг от друга distribute vertically Распределить вертикально Add simple text block Добавить простой блок текста Add a new simple text block Добавить новый простой блок текста Add ClipArt text block Добавить клипарт блок текста Add a new ClipArt text block Добавить новый клипарт блок текста Text Default text value Текст DlgImageCorrection Image framing and correction Кадрирование и коррекция изображения Export current map to a file Экспортировать текущую карту в файл Export map Экспорт карты Undo last action (CTRL+Z) Отменить последнее действие (Ctrl + Z) Undo Отменить Ctrl+Z Ctrl+Z Accept modification and exit dialog box Применить изменения и выйти из диалогового окна Rulers Линейки Show help about this dialogue box Показать справку об этом диалоговом окне &Help &Справка Allows you to enable or disable the magnetic rulers. When rulers are enabled, the mouse will automatically snap to the edges of the photo, facilitating the framing. Позволяет включить или отключить магнитные линейки. Когда линейки включены, мышь будет автоматически привязываться к краям фотографии, содействуя выравниванию. &Ok &Ок Cancel modification and exit dialog box Отменить изменения и выйти из диалогового окна &Cancel &Отмена Full screen size Во весь экран TV margins TV поля Two thirds screen Две трети экрана Half screen Половина экрана Third screen Треть экрана Quarter screen Четверть экрана Unlock Разблокировать Real image size Реальный размер Custom size Заданный размер Lock to this geometry Заблокировать в этой геометрии Lock to project geometry Заблокировать геометрию проекта DlgInfoFile File information Информация о файле File name : Имя файла : File type : Тип файла: File size : Размер файла: File created : Дата создания файла: The date and the hour of creation of the file on the disk (when you transferred it since the camera). Дата и время создания файла на диске (когда вы перенесли его с камеры). File modify : Дата изменения файла: The date and the hour of the last modification of the file (when the photo was taken or when you modified it with an image editor). Дата и время последнего изменения файла (когда была сделана фотография или когда вы изменили ее редактором изображений). This zone contains a board listing every video track present in the file. For every track, the following information is shown: - #: Track number - Image size: The size of the images of the video track in number of points by number of line - Image format: The size of the images of the video track in million of pixels - Image geometry: The image geometry of the video track (4:3, 16:9, etc.) - Codec: The video codec used for compressed the images - Frame rate: The number of images per second of the video - Bitrate: The video compression ratio (when available) Эта область содержит список видео дорожек в файле. Для каждой из них отображается следуюшая информация: - #:: Номер дорожки - Размер изображения: Размер изображения видео дорожки - Формат изображения: Размер изображения видео дорожки в мегапикселях - Геометрия изображения: Геометрия видео дорожки (4:3, 16:9, и др.) - Кодек: Видео кодек, используемый для сжатия изображения - Частота кадров: Количество кадров в секунду - Битрейт: Степень сжатия видео (при наличии) Video track information Информация о видео дорожке This zone contains a table listing every audio track present in the file. For every track, the following information is shown: - #: Track number - Language: The language in which is the audio track (generally cameras and camcorders indicate und for undefine) - Codec: The audio codec used for compressed the sound - Channels: The number of audio channels (1=mono, 2=stereo, etc.) - Bitrate: The audio compression ratio (when available) - Frequency: The frequency of sampling used by the audio track - Title: A title (when available) Эта область содержит список аудио дорожек в файле. Для каждой из них отображается следуюшая информация: - #:: Номер дорожки - Язык: Язык аудио дорожки (как правило, фотоаппараты и камеры указывают und (неопределено)) - Кодек: Аудио кодек, используемый для сжатия звука - Каналы: Количество звуковых каналов (1 = моно, 2 = стерео и т.д.) - Битрейт: Степень сжатия звука (при наличии) - Частота кадров: Частота дискретизации аудио дорожки - Название: Название (при наличии) Chapter information Информация о главе Show help about this dialogue box Показать справку об этом диалоговом окне &Help &Справка Audio track information Информация об аудио дорожке This zone appears only for files containing chapters. it contains a table listing every chapter present in the file. For every chapter, the following information is shown: - #: Chapter number - Title: The title of the chapter - Start: The temporal position of the beginning of the chapter - End: The temporal position of the end of the chapter - Duration: The duration of the chapter Эта область появляется только для файлов, содержащих главы. Она содержит список глав, присутствующих в файле. Для каждой из них отображается следуюшая информация: - #:: Номер главы - Название: Название главы - Начало: Временное положение начала главы - Конец: Временное положение окончания главы - Продолжительность Продолжительность главы For an image: Show the EXIF information supplied by the camera. This zone can contain several hundreds of lines according to what the camera supplies. For a video: Show information on the video. At least the information about the duration of the video will be shown, but a lot of other information can appear according to what is available in the file, such as: - Creation_time: Date and time of creation of the video - Title: Title field of the TAG ID3v2 of the video - Artist: Artist field of the TAG ID3v2 of the video - Album: Album field of the TAG ID3v2 of the video - Date: Date field of the TAG ID3v2 of the video - Comment: Comment field of the TAG ID3v2 of the video - Composer: The software with which the video was created Для изображений: Показывает EXIF информацию, предоставляемую камерой. Эта область может содержать несколько сотен значений в зависимости от камеры. Для видео: Показывает информацию о видео. По крайней мере будет показана информация о продолжительности видео, а также может содержать много другой информации в зависимости от того, что есть в файле: - Время создания: Дата и время создания видео - Название: Поле Название тега ID3v2 видеофайла - Исполнитель: Поле Исполнитель тега ID3v2 видеофайла - Альбом: Поле Альбом тега ID3v2 видеофайла - Дата: Поле Дата тега ID3v2 видеофайла - Комментарий: Поле Комментарий тега ID3v2 видеофайла - Композитор: Название программы в которой было создано видео Additional information Дополнительная информация Accept modification and exit dialog box Применить изменения и выйти из диалогового окна &Ok &Ок DlgManageDevices Manage Devices Управление устройствами Device category : Категория устройства : Type Тип Cancel the modifications that you made on a predefined equipment profile in the ffDiaporama database Отменить изменения, сделанные в предустановленном профиле оборудования Device type : Тип устройства: Select the file type to use for the rendering Выберите формат создаваемого файла Select the video standard to use, PAL or NTSC Выберите используемый стандарт видео, PAL или NTSC Select the image format to use for the rendering Выберите формат изображения создаваемого видеофайла Select the video codec to use for the rendering Выберите видео кодек для создаваемого файла Select the bit rate to use for video during the rendering Выберите битрейт видео создаваемого файла Select the audio codec to use for the rendering Выберите аудио кодек для создаваемого файла Select the bit rate to use for audio during the rendering Выберите битрейт аудио создаваемого файла Model Модель <html><head/><body><p>The device type zone allows you to select the type of equipment to be shown in the list.</p></body></html> <html><head/><body><p>Категория устройства позволяет выбрать тип оборудования, которое будет показано в списке.</p></body></html> <html><head/><body><p>This list shows the categories and the device types present in the database.</p><p><img src=":/img/db.png"/> Devices preceded by this icon are defined in the default database.</p><p><img src=":/img/db_update.png"/> Devices preceded by this icon are those that you defined yourself, or those from the default database that you have modified.</p></body></html> <html><head/><body><p>Этот список показывает категории и типы устройств, присутствующих в базе данных.</p><p><img src=":/img/db.png"/> Устройства, помеченные этим значком, имеются в базе данных изначально (по умолчанию).</p><p><img src=":/img/db_update.png"/> Устройства, помеченные этим значком, добавлены или изменены вами в базе данных.</p></body></html> <html><head/><body><p>Allows you to create a new device which will be added to the database.</p><p>The creation of a new device is made in 3 steps:</p><p>1- You must first create a device</p><p>2- You define the various parameters</p><p>3- You click the &quot;Apply modifications&quot; button to register the parameters</p></body></html> <html><head/> <body><p>Позволяет создать новое устройство, которое будет добавлено в базу данных.</p><p>Создание нового устройства производится в три этапа:</p><p>1 -Создание самого устройства</p><p>2 - Задание различных параметров обработки</p><p>3 - Нажатие кнопки &quot;Применить изменения&quot; для регистрации параметров</p></body></html> Add Device Добавить устройство <html><head/><body><p>Allows you to delete a device.</p><p>Note that you can delete only devices which you created – those shown with the <img src=":/img/db_update.png"/> icon</p></body></html> <html><head/><body><p>Позволяет удалить устройство.</p><p>Обратите внимание, что удалить можно только устройства, созданные вами. Они помечены значком <img src=":/img/db_update.png"/></p></body></html> Remove Device Удалить устройство Reset Device to Default По умолчанию <html><head/><body><p>Allows you to select the category in which the equipment is classified</p></body></html> <html><head/><body><p>Позволяет выбрать категорию, в которой позиционируется оборудование</p></body></html> Device model : Модель устройства : File format : Формат файла: <html><head/><body><p>Enter here the name of the device (free text entry field)</p></body></html> <html><head/><body><p>Введите здесь имя устройства</p></body></html> Video standard : Стандарт видео : PAL PAL NTSC NTSC Image format : Формат изображения: Video codec : Видео кодек: Bit rate : Битрейт: Audio codec : Аудио кодек: Show help about this dialogue box Показать справку об этом диалоговом окне &Help &Справка Apply Применить Accept modification and exit dialog box Применить изменения и выйти из диалогового окна &Ok &Ок Cancel modification and exit dialog box Отменить изменения и выйти из диалогового окна &Cancel &Отмена Apply modification Применить изменения Do you whant to apply modification for this device? Хотите сохранить изменения для этого устройства? <new device> <новое устройство> DlgManageFavorite Manage favorite Dialog title Управление избранным Rename Переименовать Remove favorite Удалить избранное Remove Удалить Accept modification and exit dialog box Применить изменения и выйти из диалогового окна &Ok &Ок Cancel modification and exit dialog box Отменить изменения и выйти из диалогового окна &Cancel &Отмена Show help about this dialogue box Показать справку об этом диалоговом окне &Help &Справка Rename favorite Переименовать избранное New favorite name: Имя нового избранного: A favorite with this name already exist. Please select another name! Избранное с таким именем уже существует. Пожалуйста, выберите другое имя! DlgManageStyle Manage style Dialog title Управление стилями Rename style Переименовать стиль Rename Переименовать Remove Удалить <html><head/><body><p>The existing styles appear with an icon which has various meanings:</p><p><img src=":/img/db.png"/> for a standard style</p><p><img src=":/img/db_update.png"/> for a standard style you modified or for a custom style</p></body></html> <html><head/><body><p>Существующие стили отображаются со значком, который имеет различные значения:</p><p><img src=":/img/db.png"/> для стандартного стиля</p><p><img src=":/img/db_update.png"/> для стандартного стиля, значения которого вы изменили, или для пользовательского стиля</p></body></html> Allows to rename the selected style. Позволяет переименовать выбранный стиль. Allows to remove the personalized style. Позволяет удалить пользовательский стиль. Allows to delete the customizations of a standard style and thus to return it to the default values for this style. It concerns as well the name of the style as the associated settings. Позволяет удалить настройки стандартного стиля, тем самым вернув его значения по умолчанию. Это касается как имени стиля так и соответствующих настроек. Reset to default Сбросить по умолчанию Show help about this dialogue box Показать справку об этом диалоговом окне &Help &Справка Accept modification and exit dialog box Применить изменения и выйти из диалогового окна &Ok &Ок Cancel modification and exit dialog box Отменить изменения и выйти из диалогового окна &Cancel &Отмена New style name: Новое имя стиля: A style with this name already exist. Please select another name! Стиль с таким именем уже существует. Пожалуйста, выберите другое имя! Custom style Пользовательский стиль Big black text with white outlines Крупный черный текст с белым обрамлением Big light yellow text with dark brown shadow Крупный светло-желтый текст с темно-коричневой тенью Medium black text with white outlines Средний черный текст с белым обрамлением Medium light yellow text with dark brown shadow Средний светло-желтый текст с темно-коричневой тенью Small white text with black outlines Мелкий былый текст с черным обрамлением Centered Blue Gradient Синий градиент от центра Centered Brown Gradient Коричневый градиент от центра Centered Dark-Gray Gradient Темно-серый градиент от центра Centered Green Gradient Зеленый градиент от центра Centered Light-Gray Gradient Светло-серый градиент от центра Centered Red Gradient Красный градиент от центра Transparent block (no brush) Прозрачный блок (без фона) Rounded rectangle with small brown border Скругленный прямоугольник с тонкой коричневой границей Rectangle with no effect Прямоугольник без эффектов Create new style Создать новый стиль Manage existing style Управление существующими стилями Update existing style Обновить существующий стиль Select this style Выбрать этот стиль Update this style Обновить этот стиль Style name: Название стиля: A style with this name already exist. Do you want to overwrite-it ? Стиль с таким именем уже существует. Желаете перезаписать его? DlgMusicProperties Music properties Параметры музыки Change volume level to : Изменить уровень громкости на : Define the sound volume for this slide Определить уровень громкости во время этого слайда Set to pause Поставить на паузу No specific settings Без пользовательских настроек Normal Без изменений Start a new playlist from this slide Начать новый плейлист с этого слайда You can start a new playlist from this slide Позволяет начать новый плейлист с этого слайда Settings for the music track Настройки музыкального трека Specifies that from now on, the sound volume is reduced. This option is particularly useful, for example, to reduce the sound of the music during the play of a video. Remark: This volume reduction is applied only for the selected slide. Указывает, что с этого момента, громкость звука уменьшается. Эта настройка особенно полезна, например, для уменьшения звука музыки во время воспроизведения видео. Примечание: заданная громкость применяется только для выбранного слайда. Pauses the current play list. Remark: This pause is applied only for the selected slide Пауза текущего списка воспроизведения. Примечание: эта пауза применяется только для выбранного слайда Adds a file to the playlist. A file selection dialog appears, allowing you to select a file Добавить файл в список воспроизведения. Появится диалоговое окно выбора файлов, позволяющее выбрать файл Removes the current selected file from the playlist Удаляет выбранный файл из списка воспроизведения Changes the order in which the music files will be played. Moves the currently selected file one step up. Изменение порядка в котором музыкальные файлы будут воспроизводиться. Перемещение выбранного файла на один шаг вверх. Changes the order in which the music files will be played. Moves the currently selected file one step down Изменение порядка в котором музыкальные файлы будут воспроизводиться. Перемещение выбранного файла на один шаг вниз Total playlist duration : Общая продолжительность плейлиста : File Файл Duration Длительность Volume Громкость Credit Показ в титрах Source folder Исходная папка Show help about this dialogue box Показать справку об этом диалоговом окне &Help &Справка Accept modification and exit dialog box Применить изменения и выйти из диалогового окна &Ok &Ок Cancel modification and exit dialog box Отменить изменения и выйти из диалогового окна &Cancel &Отмена Add music files Добавить музыкальные файлы DlgRenderVideo Image format : Формат изображения: Destination file : Файл назначения : Destination file path Путь к файлу назначения Video standard : Стандарт видео : Select the video standard to use, PAL or NTSC. Выберите используемый стандарт видео, PAL или NTSC. Defines the value of the Language field. This value is used by players to indicate in which language is the audio track. This value is on 3 characters and follows the ISO 639 recommendation. Определяет значение поля языка. Это значение используется плеерами для определения языка звуковой дорожки. Это значение состоит из 3 символов и соответствует рекомендации ISO 639. Select the image format to be used to render the video from the displayed list. Выберите формат изображения создаваемого видеофайла. PAL PAL NTSC NTSC Geometry : Геометрия : Show the geometry of the project. Показывает геометрию проекта. Old TV (4:3) Старый телевизор (4:3) TV Wide (16:9) Широкоэкранный ТВ (16:9) Cinema (2.35:1) Фильм (2.35:1) Bit rate : Битрейт: Show help about this dialogue box Показать справку об этом диалоговом окне &Help &Справка File format : Формат файла: Audio codec : Аудио кодек: Video codec : Видео кодек: Select the model of equipment Выберите модель оборудования Device model : Модель устройства : Device type : Тип устройства: Frequency : Частота : Select the audio codec to be used to render the video from the displayed list. Выберите аудио кодек для создаваемого файла. Select the video codec to be used to render the video from the displayed list. Выберите видео кодек для создаваемого файла. Select the video compression ratio from the displayed list. Выберите битрейт видео создаваемого файла. Select the type of file to be used to render the video from the displayed list. Выберите формат создаваемого файла. The rendering can be made on the whole project or only on a part. By checking the option All slides to render the video of the whole project. Может быть обработан весь проект или только его часть. При установке опции Все слайды будет создан видеофайл из всего проекта. All slides Все слайды The rendering can be made on the whole project or only on a part. By checking the option From and then entering the numbers of the start and end slides to generate a video of only a part of the project. Может быть обработан весь проект или только его часть. Опция С ... По... , содержащая номера начального и конечного слайдов, позволяет создать видеофайл только из части проекта. From С To По To render : Обработать : Sound : Звук : Include sound in the video Включить звук в видео und und (ISO 639 language code) (код языка по ISO 639) Language : Язык : Select the type of equipment Выберите тип оборудования Rendering to : Создаваемый файл : Video format : Формат видео: Audio format : Формат аудио: Elapsed time : Прошло : Average render speed : Средняя скорость обработки : fps fps Accept modification and start rendering process Применить изменения и начать создание файла &Properties &Свойства проекта If this box is checked, the bitrate is variable (between -50% to +125%) Notes: - If the project contains mostly pictures, this option can significantly reduce the size of the video file (up to 80%) - By cons, if the project contains mostly videos this option will increase the size of the video file By default, this box is checked if duration of videos are less than half of the total duration Если этот флажок установлен, то битрейт является переменным (от -50% до +125%) Примечания: - Если проект содержит в основном фотографии, этот параметр может существенно уменьшить размер видео-файла (до 80%) - Если проект содержит в основном видео, этот параметр увеличит размер видео файла По умолчанию этот флажок установлен, если длительность видео составляет менее половины общей продолжительности проекта Variable bitrate Переменный битрейт Select the audio compression ratio from the displayed list. Выберите битрейт аудио создаваемого файла. If this box is checked then the sound track will be included in the video. Если этот флажок установлен, то звуковая дорожка будет включена в видео. Click on this button to select graphically a file and a directory. Нажмите на эту кнопку для выбора файла и папки. If this box is checked then a thumbnail file will be created with video. Если этот флажок установлен, обложка будет создана вместе с видеофайлом. Join thumbnail to rendered file Присоединить обложку к создаваемому файлу Select the frequency to use for audio during the rendering. Выберите частоту аудио создаваемого файла. If this box is checked then a XBMC .nfo file will be created with video. Если этот флажок установлен, XMBC .nfo файл будет создан вместе с видеофайлом. Join XBMC .nfo file to rendered file Присоединить XBMC .nfo файл к создаваемому файлу Current slide progression Прогресс текущего слайда Total progression Общий прогресс This button allows you to open project properties dialog. It allows you to adjust the properties before generating the video. Note: the project properties are saved into the video as TAG (METADATA) which are used by a lot of indexing programs or by jukeboxes. Эта кнопка позволяет открыть диалоговое окно свойств проекта. Оно позволяет настройть свойства проекта до создания видео. Примечание: свойства проекта сохраняются в видео, как тег (метаданные), которые используются многими программами или устройствами. &Ok &Ок Cancel modification or rendering process and exit dialog box Отмменить изменения или процесс создания файла и выйти из диалогового окна &Cancel &Отмена Advanced render video Дополнительные параметры создания видеофайла Render lossless video Создать видеофайл без потери качества Render video for mobil player and smartphone Создать видеофайл для мобильного плеера или смартфона Render video for multimedia system Создать видеофайл для мультимедиа системы Render video for the WEB Создать видеофайл для интернета Export soundtrack Экспорт аудио дорожки soundtrack Default name for rendering Аудио дорожка movie Default name for rendering Видео Select destination file Выберите файл назначения Stop rendering Остановить кодирование Range selection Выбор диапазона Slide range is defined to incorrect values Диапазон слайдов определен неправильными значениями Language selection Выбор языка Language must be empty or an ISO 639 language code (3 characters) See help for more details! Поле должно быть пустым или содержать код языка по ISO 639 (3 символа) Смотрите справку для более подробной информации! Overwrite file ? Перезаписать файл? The file you selected already exist. Do you want to overwrite it ? Выбранный файл уже существует. Хотите перезаписать его? Incorrect codec combination! Неправильное сочетание кодеков! Stop rendering process and exit dialog box Остановить кодирование и выйти из диалогового окна Encoding video Кодирование видео Job completed successfully! Do you want to open the video now? Задание успешно завершено! Хотите открыть видео сейчас? Job completed successfully! Do you want to open the audio track now? Задание успешно завершено! Хотите открыть аудио сейчас? Job canceled! Задание отменено! Job error! Please contact ffDiaporama team Ошибка задания! Пожалуйста, свяжитесь с командой ffDiaporama Render video Создание видео Device model selection Выбор модели устройства A device model is require! Требуется модель устройства! Encoding sound Кодирование звука - Estimated time left : Прогнозируемое оставшееся время : Select destination folder Выберите папку назначения DlgRulerDef Ruler properties Свойства линеек Horizontal rulers Горизонтальные линейки Vertical rulers Вертикальные линейки Enable or disable ruler for the horizontal edges of the screen. Включить или отключить линейки для горизонтальных краев экрана. screen borders края экрана Enable or disable ruler for the vertical edges of the screen. Включить или отключить линейки для вертикальных краев экрана. Enable or disable ruler for the horizontal TV margins. In ffDiaporama, the TV margins are of type "Title safe area" and are defined on 90% in width and 90% in height, for all the project geometries. Включить или отключить линейки для горизонтальных ТВ полей. В ffDiaporama, поля телевизора имеют тип "Безопасная зона" и определяются на 90% в ширину и 90% в высоту, для всех геометрий проекта. TV margins Поля TV Enable or disable ruler for the vertical TV margins. In ffDiaporama, the TV margins are of type "Title safe area" and are defined on 90% in width and 90% in height, for all the project geometries. Включить или отключить линейки для вертикальных ТВ полей. В ffDiaporama, поля телевизора имеют тип "Безопасная зона" и определяются на 90% в ширину и 90% в высоту, для всех геометрий проекта. Enable or disable ruler for the horizontal center of the screen. Включить или отключить горизонтальную линейку по центру экрана. Screen center Центр экрана Enable or disable ruler for the vertical center of the screen. Включить или отключить вертикальную линейку по центру экрана. Enable or disable horizontal rulers of the center, of the top edge, of the bottom edge, of the left edge and of the right edge of each objects which are not a part of the selection. Включить или отключить горизонтальные линейки из центра, по верхнему краю, по нижнему краю, от левого и правого краев каждого объекта, которые не являются частью выделения. Unselected objects Невыделенные объекты Enable or disable vertical rulers of the center, of the top edge, of the bottom edge, of the left edge and of the right edge of each objects which are not a part of the selection. Включить или отключить вертикальные линейки из центра, по верхнему краю, по нижнему краю, от левого и правого краев каждого объекта, которые не являются частью выделения. Show help about this dialogue box Показать справку об этом диалоговом окне &Help &Справка Accept modification and exit dialog box Применить изменения и выйти из диалогового окна &Ok &Ок Cancel modification and exit dialog box Отменить изменения и выйти из диалогового окна &Cancel &Отмена DlgSlideDuration Set first shot duration for a set of slides Выберите продолжительность первого кадра для группы слайдов First shot duration : Продолжительность первого кадра: Define the duration of the first shot. Установить продолжительность первого кадра. HH:mm:ss.zzz HH:mm:ss.zzz Show help about this dialogue box Показать справку об этом диалоговом окне &Help &Справка Accept modification and exit dialog box Применить изменения и выйти из диалогового окна &Ok &Ок Cancel modification and exit dialog box Отменить изменения и выйти из диалогового окна &Cancel &Отмена DlgSlideProperties Slide properties Параметры слайда Append a shot to end of the timeline Добавить кадр в конец линии времени Add file Добавить файл Add shot Добавить кадр Remove current selected shot Удалить выбранный кадр Remove Удалить Move left Передвинуть влево Move right Передвинуть вправо HH:mm:ss.zzz HH:mm:ss.zzz Shot duration : Продолжительность кадра : Add a new text block Добавить новый блок текста Arrange blocks Упорядочить блоки Display information on image or video file Показать информацию о изображении или видеофайле <html><head/><body><p><br/>Text animation :</p></body></html> <html><head/><body><p><br/>Анимация текста :</p></body></html> <html><head/><body><p><br/>Block animation :</p></body></html> <html><head/><body><p><br/>Анимация блока :</p></body></html> Add one or several new blocks of images or video. A file selection dialog appears allowing you to select files. Note: in case of multiple selection, files are added in the alphabetical order of the filenames or in the digital order of shots (according to the option selected in the configuration dialog). Добавить один или несколько новых блоков изображения или видео. Появится диалоговое окно выбора файлов, позволяющее выбрать файлы. Примечание: в случае множественного выбора, файлы добавляются в алфавитном порядке имен файлов или в цифровом порядке кадров (в зависимости от выбранной опции в диалоге конфигурации). Add special Добавить спец. элемент Save this slide as a model Сохранить этот слайд как шаблон Save as model Сохранить как шаблон The total slide duration is displayed here. This duration takes into account possible adjustments for minimal duration of the shot. Общая продолжительность слайда. С учетом возможных корректировок минимальной длительности кадра. The shots table shows the shots as thumbnails, in the order in which they will be played (from left to right). For each shot, the thumbnail shows: - The shot duration (At the top of the thumbnail) - The temporal position of the shot at the end of its duration (At the bottom right of the thumbnail) - An image representing the shot at the end of its duration Remark : - The order of the shots can be changed by using Drag & Drop. Таблица кадров показывает миниатюры кадров в том порядке, в котором они будут воспроизводиться (слева направо). Для каждого кадра миниатюра показывает: - продолжительность кадра (вверху миниатюры) - временное положение кадра в конце его продолжительности (внизу справа миниатюры) - изображение, представляющее кадр, в конце его продолжительности Примечание: - порядок кадров может быть изменен с помощью перетаскивания. Indicate here the duration of the currently selected shot For the last shot of the slide, there is a minimum duration. The following rules are used to calculate the minimum duration of the shot: - The total slide duration cannot be lower than the sum of the durations of the entering transition of the slide plus that of the transition to the following slide. - The total slide duration must permit complete play of the longest video sequence (time of breaks is taken into account). - The total slide duration cannot be lower than 1:30 second If you specify a duration lower than the minimum calculated duration for the shot, it is this minimum duration that will be used in place of the value which you specified. Укажите здесь продолжительность выбранного кадра Для последнего кадра слайда, есть минимальная продолжительность. Следующие правила используются при расчете минимальной продолжительности кадра: - общая продолжительность слайда не может быть меньше, чем сумма длительностей входящего перехода слайда и перехода на следующий слайд. - общая продолжительность слайда должна допускать полное воспроизведение самого длинного видеоряда (время перерывов учитывается). - общая продолжительность слайд не может быть меньше, чем 1/30 секунды Если указанная продолжительностью меньше минимальной продолжительности кадра, то будет использоваться минимальная продолжительность, а не то значение, которое вы указали. Define the number of rotations around the X axis that is to be made during this shot. Remark: the rotation direction is defined by the sign, so +5 will give 5 rotations in one direction while -5 will give 5 rotations in the other direction. Задать количество оборотов вокруг оси X, которые должны быть сделаны в течение этого кадра. Примечание: направление вращения определяется знаком, так +5 даст 5 оборотов в одном направлении, в то время как -5 даст 5 оборотов в другом направлении. Allows you to select a pre-defined block size Позволяет выбрать заранее определенный размер блока Scroll text from bottom to top. Remark: To make animations of text, you have to create at least 2 shots then: -Define values for zoom and scrolling for the 1st shot -Define different values for zoom and scrolling for the 2nd Прокрутка текста снизу вверх. Примечание: чтобы получить анимацию текста, вы должны создать как минимум 2 кадра: - определить значения масштабирования и прокрутки для 1-го кадра - определить другие значения масштабирования и прокрутки для 2-го кадра Define the number of rotations around the Z axis that is to be made during this shot. Remark: the rotation direction is defined by the sign, so +5 will give 5 rotations in one direction while -5 will give 5 rotations in the other direction. Определить количество оборотов вокруг оси Z, которые должны быть сделаны в течение этого кадра. Примечание: направление вращения определяется знаком, так +5 даст 5 оборотов в одном направлении, в то время как -5 даст 5 оборотов в другом направлении. Define the number of rotations around the Y axis that is to be made during this shot. Remark: the rotation direction is defined by the sign, so +5 will give 5 rotations in one direction while -5 will give 5 rotations in the other direction. Определить количество оборотов вокруг оси Y, которые должны быть сделаны в течение этого кадра. Примечание: направление вращения определяется знаком, так +5 даст 5 оборотов в одном направлении, в то время как -5 даст 5 оборотов в другом направлении. Represents the horizontal offset of the block from the left. This position is defined as a percentage (%) of the total width of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog. Горизонтальное смещение блока с левой стороны. Определяется как процент (%) от общей ширины изображения или в пикселях (на экране 1080) в соответствии с единицами измерения, заданными в диалоге конфигурации. Represents the vertical offset of the block from the top. This position is defined as a percentage (%) of the total height of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog. Вертикальное смещение блока сверху. Определяется как процент (%) от общей высоты изображения или в пикселях (на экране 1080) в соответствии с единицами измерения, заданными в диалоге конфигурации. Represents the width of the block. This value is defined as a percentage (%) of the total width of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog box. Ширина блока. Определяется как процент (%) от общей ширины изображения или в пикселях (на экране 1080) в соответствии с единицами измерения, заданными в диалоге конфигурации. Represents the height of the block. This value is defined as a percentage (%) of the total height of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog. Высота блока. Определяется как процент (%) от общей высоты изображения или в пикселях (на экране 1080) в соответствии с единицами измерения, заданными в диалоге конфигурации. Defines the thickness of the border. Remark: This value is defined as 1/1080 of the height of the screen. A value of 10 corresponds to 10 points on a 1920×1080 FullHD screen, but only to 6 points on a 1280×720 screen. Толщина границы. Примечание: определяется как 1/1080 от высоты экрана. Значению 10 соответствует 10 точек на 1920 × 1080 FullHD экране и только 6 точек на 1280 × 720 экране. This settings group deals with style management. Это группа настроек стиля управления. Selects a speed curve for block animations (movement, resizing and rotating of blocks, animation of text and blocks) Remark: To change the velocity curve for image animation (graphic effect and framing), edit the image or video and select a velocity in the Image framing and correction dialog. Выбор скорости анимации блока (перемещение, изменение размера и поворот, анимация текста и блоков) Примечание: измененить скорости анимации изображения (графический эффект и кадрирование), отредактировать изображение или видео и выбрать скорость можно в диалоге Кадрирование и коррекция изображения. Scroll text from left to right. Remark: To make animations of text, you have to create at least 2 shots then: -Define values for zoom and scrolling for the 1st shot -Define different values for zoom and scrolling for the 2nd Прокрутка текста слева направо. Примечание: чтобы получить анимацию текста, вы должны создать как минимум 2 кадра: - определить значения масштабирования и прокрутки для 1-го кадра - определить другие значения масштабирования и прокрутки для 2-го кадра <html><head/><body><p><br/>Animation settings:</p></body></html> <html><head/><body><p><br/>Настройки анимации:</p></body></html> The block animations define which animations will run during the current shot. You can define different animations for every shot! - Multiple rotations: This animation allows to turn a block several times during the shot. - Dissolve: This animation dissolves between the block and a transparent zone according to the settings. Анимация блока определяет, какая анимация будет выполняться в течение текущего кадра. Вы можете задать различные анимации для каждого кадра! - Несколько поворотов: эта анимация позволяет повернуть блок несколько за время кадра. - Растворение: эта анимация позволяет осуществить плавный переход между блоком и прозрачной областью. Speed wave : Скорость : Allows you to select a reframing style for the image. It has the same effect as selecting a style in the Image framing and correction dialog. Позволяет выбрать стиль обрезки изображения. Имеет такой же эффект, как и выбор стиля в диалоге Кадрирование и коррекция изображения. Allows you to select the geometrical constraints to be applied to the block. Three type of constraint are available: - No constraint is applied to the selection rectangle. - Lock selection rectangle to the actual geometry. It has no meaning until you have defined a shape in "no constraint" mode. - Lock selection rectangle to the same geometry as the project, such that, if you place the image in full screen, the reframed part will correspond to the whole screen. Позволяет выбрать ограничения геометрии, которые должны применяться к блоку. Доступно три типа ограничений: - К прямоугольнику выделения не применяются ограничения. - Прямоугольник выделения будет той же геометрии, что и в настоящее время. Не имеет смысла до тех пор, пока не будет определена форма в режиме "Без ограничений". - Прямоугольник выделение будет той же геометрии, что и сам проект. Если вы откроете изображение в полноэкранном режиме, то выбранная часть будет соответствовать всему экрану. Inheritance changes: Наследование изменений: Appear: The block will appear during the shot Disappear: The block will disappear during the shot Blink: The block will blink during the shot (appear then disappear). 4 speeds are proposed (from slow to very fast). Появление: блок появится во время кадра Исчезновение: блок исчезнет во время кадра Мигание: блок будет мигать во время кадра (появился, исчез). Доступно 4 скорости (от медленной до очень быстрой). Define a zoom value for the text. Remark: To make animations of text, you have to create at least 2 shots then: -Define values for zoom and scrolling for the 1st shot -Define different values for zoom and scrolling for the 2nd Определить значения масштабирования текста. Примечание: чтобы получить анимацию текста, вы должны создать как минимум 2 кадра: - определить значения масштабирования и прокрутки для 1-го кадра - определить другие значения масштабирования и прокрутки для 2-го кадра Select in which corner the shadow will be positioned (or no shadow). Remark: the position of the shadow is independent of rotation of the block: the right lower corner is always the right lower corner, whatever rotation is applied. Выберите, в каком углу будет располагаться тень (или без тени). Примечание: положение тени не зависит от вращения блока: правый нижний угол - это всегда правый нижний угол, независимо от поворота. Allows you to select a shape for the block. The selected shape will be used as: - A fusion mask for the images and the videos. - A cutting zone for texts. Позволяет выбрать форму блока. Выбранная форма будет использоваться в качестве: - маска слияния для изображений и видео. - зоны обрезки для текстов. Clip-Art : Клипарт : Select a clip-art Выберите клипарт Block coordinates : Координаты блока : If this box is checked, the changes made in a previous shot will be applied to this object in this shot Если этот флажок установлен, изменения, сделанные на предыдущем кадре, будет применены к данному объекту на этом кадре Inherit changes Наследовать изменения Allows you to open the rulers settings dialog. Открыть диалоговое окно настройки линеек. Show help about this dialogue box Показать справку об этом диалоговом окне &Help &Справка Edit text Изменить текст Make the active block visible. Note: Hidden video blocks are automatically paused Сделать активный блок видимым. Примечание: скрытые видео блоки автоматически приостанавливаются Take the sound Использовать звук Display information Показать информацию Display detailed information on current block Показать подробную информацию о текущем блоке Copy the current block to the ffDiaporama clipboard Скопировать текущий блок в буфер обмена ffDiaporama Remove current block(s) Удалить текущий блок(и) Paste block from the ffDiaporama clipboard and insert it Вставить блок из буфера обмена ffDiaporama Align top Выровнять по верху Align blocks to the top Выровнять блоки по верху Align middle Выровнять по середине Align blocks to the middle Выровнять блоки по середине Align bottom Выровнять по низу Align blocks to the bottom Выровнять блоки по низу Align left Выровнять по левому краю Align blocks to the left Выровнять блоки по левому краю Align center Выровнять по центру Align blocks to the center Выровнять блоки по центру Align right Выровнять по правому краю Align blocks to the right Выровнять блоки по правому краю Add text block Добавить блок текста distribute horizontally Распределить горизонтально Place each block so as to have the same space between each Разместить блоки на равном расстоянии друг от друга distribute vertically Распределить вертикально Add simple text block Добавить простой блок текста Add a new simple text block Добавить новый простой блок текста Add ClipArt text block Добавить клипарт блок текста Add a new ClipArt text block Добавить новый клипарт блок текста Append to project title models Добавить к шаблонам названий проекта Append to chapter title models Добавить к шаблонам названий глав Append to credit title models Добавить к шаблонам заключительных титров Add a GMaps map Добавить карту GMaps Add a map from Google maps Добавить карту из Google Maps Add image from clipboard Добавить изображение из буфера обмена Create a new block using image from clipboard Создать новый блок из изображения в буфере обмена Remove block Удалить блок Ctrl+Ins Ctrl+Ins Ins Ins Del Del Move to background Переместить на задний план Change the order of blocks by moving the active block towards the background Изменить порядок блоков перемещением активного блока на задний план Change the order of blocks by moving the active block towards the foreground Изменить порядок блоков перемещением активного блока на передний план Visible Показать Copy block Копировать блок Ctrl+C Ctrl+C Cut block Вырезать блок Copy the current block to the ffDiaporama clipboard and remove it from the slide Скопировать текущий блок в буфер обмена ffDiaporama и удалить со слайда Ctrl+X Ctrl+X Paste block Вставить блок Ctrl+V Ctrl+V Give the sound, during this shot, to the current video block Пустить звук в течение этого кадра для данного блока видео Define the properties of the text block Определить свойства текстового блока Border : Граница : Shape : Форма : Opacity : Непрозрачность : Undo last action (CTRL+Z) Отменить последнее действие (Ctrl+Z) Undo Отменить Ctrl+Z Ctrl+Z Add shot Добавить кадр Remove shot Удалить кадр Add text Добавить текст Add file Добавить файл Edit block Редактировать блок Edit block Изменить блок Arrange block Упорядочить блоки Block information Информация о блоке Define a name for the slide. It is this name which will appear on the thumbnail in the main window timeline Указать название слайда. Это то название, которое будет отображено в миниатюре на линии времени главного окна Define the angle of rotation about the z-axis (expressed in degrees) Определить угол поворота по оси z (в градусах) Reset to zero Сбросить на ноль Define the angle of rotation about the x-axis (expressed in degrees) Определить угол поворота по оси x (в градусах) Define the angle of rotation about the y-axis (expressed in degrees) Определить угол поворота по оси y (в градусах) Select the opaqueness of the block Выбрать непрозрачность блока Select the color of the line to be used to draw the border Выбрать цвет линии границы Select the type of line (solid, dotted line, etc.) Выбрать тип линии (сплошная, пунктирная и т.д.) Define the distance between the block and its shadow Выбрать расстояние между блоком и его тенью Select the color of the shadow Выбрать цвет тени Zoom : Масштаб : Reset to 100% Сбросить на 100% Hide the active block Скрыть активный блок Type : Тип: Dissolve : Растворение : Total duration : Общая продолжительность : Manage chapter information for this slide Изменение информации о главе для этого слайда Chapter Information Информация о главе Slide name: Имя слайда: Block shape (common to all shots): Форма блока (общая для всех кадров): Rulers Линейки Correct or reframe image Кадрирование и коррекция изображения Define framing and correction of image or movie Настроить кадрирование и коррекцию изображения или фильма Move to foreground Переместить на передний план Add a new block of type image or video Добавить новый блок изображения или видео Append a shot at the end of the timeline Добавить кадр в конец временной шкалы Change the order of the shots by moving the current selected shot a notch towards the left Изменить порядок кадров перемещением данного кадра на шаг влево Change the order of the shots by moving the current selected shot a notch towards the right Изменить порядок кадров перемещением данного кадра на шаг вправо Hide Скрыть Shadow : Тень : Accept modification and go to previous slide Применить изменения и вернуться к предыдущему слайду Previous Предыдущий Accept modification and exit dialog box Применить изменения и выйти из диалогового окна &Ok &Ок Accept modification and go to next slide Применить изменения и перейти на следующий слайд Next Следующий Cancel modification and exit dialog box Отменить изменения и выйти из диалогового окна &Cancel &Отмена None Нет Shadow upper left Тень слева вверху Shadow upper right Тень справа вверху Shadow bottom left Тень слева внизу Shadow bottom right Тень справа внизу Reactivate the inheritance of changes Возобновить наследование изменений Do you want to apply to this block the properties it has in the previous shot? Хотите применить к этому блоку его свойства из предыдущего кадра? Multiple block turn Несколько поворотов Dissolve Растворение Appear Появление Disappear Исчезновение Blink at slow speed Мигание (медленно) Blink at medium speed Мигание (средне) Blink at fast speed Мигание (быстро) Blink at very fast speed Мигание (очень быстро) Slide added in Project title models collection Information message Слайд добавлен в коллекцию шаблонов названий проекта Slide added in Chapter title models collection Information message Слайд добавлен в коллекцию шаблонов названий глав Slide added in Credit title models collection Information message Слайд добавлен в коллекцию шаблонов заключительных титров Are you sure you want to delete this shot? Удалить этот кадр? Lengthened to %1 Удлинен на %1 Are you sure you want to delete this block? Удалить этот блок? Are you sure you want to delete these blocks? Удалить эти блоки? Remove blocks Удалить блоки Slide Слайд Remove shot Удалить кадр Text Default text value Текст Duration: Продолжительность: Correct or reframe image Action title in slide edit dialog + dialog title of image edit dialog Кадрирование и коррекция изображения Correct, reframe or cut video Action title in slide edit dialog + dialog title of image edit dialog Коррекция, кадрирование или обрезка видео Correct, reframe or cut a Google Maps map Action title in slide edit dialog + dialog title of image edit dialog Коррекция, кадрирование или обрезка карт Google Maps Define framing and correction of image Tooltip Настроить кадрирование и коррекцию изображения Reframe image vector Action title in slide edit dialog + dialog title of image edit dialog Кадрировать векторное изображение Define framing and correction of image vector Tooltip Настроить кадрирование и коррекцию векторных изображений Modify Google Maps map Action title in slide edit dialog + dialog title of image edit dialog Изменить карту Google Maps Define Modify Google Maps map and framing and correction of map Tooltip Изменение карт Google Maps (обрезка и коррекция) Define framing and correction of image or cut video Tooltip Настроить кадрирование и коррекцию изображения или обрезку видео DlgTextEdit Edit text Изменить текст Text Текст Background Фон Background properties : Параметры фона : Allows you to access the text styles menu. Позволяет получить доступ к меню стилей текста. Allows you to select the font to be used. This setting applies to the current selection. Позволяет выбрать шрифт. Этот параметр применяется к текущему выделению. Allows you to select the font size. This setting applies to the paragraphs of the current selection. Позволяет выбрать размер шрифта. Этот параметр применяется к текущему выделению. Allows you to select the font color. This setting applies to the paragraphs of the current selection. Позволяет выбрать цвет шрифта. Этот параметр применяется к текущему выделению. Allows you to establish (or to remove) a bullet list. This setting applies to the paragraphs of the current selection. Позволяет установить (или удалить) маркированный список. Этот параметр применяется к текущему выделению. Allows you to establish (or to remove) a numbered list. This setting applies to the paragraphs of the current selection. Позволяет установить (или удалить) нумерованный список. Этот параметр применяется к текущему выделению. Horizontal alignment: left. This setting applies to the paragraph in which the cursor is. Горизонтальное выравнивание: по левому краю. Этот параметр применяется к абзацу, в котором находится курсор. Horizontal alignment: justified. This setting applies to the paragraph in which the cursor is. Горизонтальное выравнивание: по ширине. Этот параметр применяется к абзацу, в котором находится курсор. Horizontal alignment: centered. This setting applies to the paragraph in which the cursor is. Горизонтальное выравнивание: по центру. Этот параметр применяется к абзацу, в котором находится курсор. Horizontal alignment: right. This setting applies to the paragraph in which the cursor is. Горизонтальное выравнивание: по правому краю. Этот параметр применяется к абзацу, в котором находится курсор. Allows you to select a font effect (outerline, shadow). Remark: This setting applies to the block (to the whole text). Позволяет выбрать эффект шрифта (контур, тени). Примечание: этот параметр применяется к блоку (для всего текста). Allows you to select the outerline or shadow color. Remark: This setting applies to the block (to the whole text). Позволяет выбрать контур или цвет тени. Примечание: этот параметр применяется к блоку (для всего текста). Sets bold characters. This setting applies to the current selection. Жирный. Этот параметр применяется к текущему выделению. Sets characters to italics. This setting applies to the current selection. Курсив. Этот параметр применяется к текущему выделению. Underlines the characters. This setting applies to the current selection. Подчеркнутый. Этот параметр применяется к текущему выделению. Puts the characters to super. This setting applies to the current selection. Надстрочный. Этот параметр применяется к текущему выделению. Puts the characters to sub. This setting applies to the current selection. Подстрочный. Этот параметр применяется к текущему выделению. Move the paragraph of a notch towards the right (indent). This setting applies to the paragraph in which is the cursor. Увеличить отступ. Этот параметр применяется к абзацу, в котором находится курсор. Move the paragraph of a notch towards the left (unindent). This setting applies to the paragraph in which is the cursor. Уменьшить отступ. Этот параметр применяется к абзацу, в котором находится курсор. Vertical alignment: top. This setting applies to the block (to the whole text). Вертикальное выравнивание: по верху. Этот параметр применяется к блоку (для всего текста). Vertical alignment: middle. This setting applies to the block (to the whole text). Вертикальное выравнивание: по середине. Этот параметр применяется к блоку (для всего текста). Vertical alignment: bottom. This setting applies to the block (to the whole text). Вертикальное выравнивание: по низу. Этот параметр применяется к блоку (для всего текста). Insert a text variable Вставить текстовую переменную Allows you to access the background text styles menu. Позволяет получить доступ к меню стилей фона текста. Allows you to define a background brush for the shape. The following options are available: No brush The shape will have no background and will thus be totally transparent. Solid brush Allows you to select a plain color. Pattern brush Allows you to select a hatched brush. Gradient 2 colors Allows you to select a gradient of 2 colors. Gradient 3 colors Allows you to select a gradient of 3 colors. Image from library Allows you to select an image from the library. Позволяет выбрать кисть фона для фигуры. Доступны следующие опции: Нет кисти Форма не будет иметь никакого фона и, таким образом, будет полностью прозрачной. Твердая кисть Позволяет выбрать простой цвет. Кисть - узор Позволяет выбрать штриховку. Градиент из двух цветов Позволяет выбрать градиент, состоящий из 2 цветов. Градиент из трех цветов Позволяет выбрать градиент, состоящий из 3 цветов. Изображение из библиотеки Позволяет выбрать изображение из библиотеки. If background brush is Solid, Pattern or Gradient brush, then this line appears and allows you to select a color. (Depending on the brush you select, there will be one, two or three selectable colors.) Если кисть фона - твердая, узор или градиент, то появляется эта настройка и позволяет выбрать цвет. (В зависимости от выбора кисти, там будет один, два или три цвета.) If background brush is Pattern brush, then this line appears and allows you to select a pattern. Если кисть фона - узор, то появляется эта настройка и позволяет выбрать шаблон. If background brush is Gradient, then this line appears and allows you to select the gradient orientation. If the Gradient has 3 colors, additional controls allow to define the position (in percentage) of the 3rd gradient color. Если кисть фона - градиент, то появляется эта настройка и позволяет выбрать направление градиента. Если градиент имеет 3 цвета, дополнительные элементы управления позволяют определить положение (в процентах) 3-го цвета градиента. If background brush is Image from library, then this line appears and allows you to select an image. Если кисть фона - изображение из библиотеки, то появляется эта настройка и позволяет выбрать изображение. Margins Поля Represents the horizontal position of the margins relative to the top-left corner of the block. This value is expressed in % of the width of the block. Горизонтальная позиция поля от верхнего левого угла блока. Выражается в % от ширины блока. Allows you to use predefined margins for the shape of the block.In general, these margins ensure that the text is contained in the form. Позволяет использовать предопределенные поля для формы блока. Эти поля гарантируют, что текст поместится в форме. Default margins Поля по умолчанию Allows you to use margins corresponding to the entire form, in fact, the selection rectangle shape regardless of the design. Позволяет использовать поля, соответствующие полной форме, то есть форме прямоугольника выделения, независимо от дизайна. Full Shape Полная форма Allows you to use custom margins. Позволяет использовать настраиваемые поля. Custom Пользовательские Represents the vertical position of the margins relative to the top-left corner of the block. This value is expressed in % of the height of the block. Вертикальная позиция поля от верхнего левого угла блока. Выражается в % от высоты блока. Represents the height of the margins. This value is expressed in % of the height of the block. Высота поля. Выражается в % от высоты блока. Represents the width of the margins. This value is expressed in % of the width of the block. Ширина поля. Выражается в % от ширины блока. Show help about this dialogue box Показать справку об этом диалоговом окне &Help &Справка Accept modification and exit dialog box Применить изменения и выйти из диалогового окна &Ok &Ок Undo last action (CTRL+Z) Отменить последнее действие (CTRL+Z) Undo Отменить Ctrl+Z Ctrl+Z Cancel modification and exit dialog box Отменить изменения и выйти из диалогового окна &Cancel &Отмена No effect Без эффекта Outerline Контур Shadow upper left Тень вверху слева Shadow upper right Тень вверху справа Shadow bottom left Тень внизу слева Shadow bottom right Тень внизу справа No brush Без кисти Solid brush Твердая кисть Pattern brush Кисть-узор Gradient 2 colors Градиент из двух цветов Gradient 3 colors Градиент из трех цветов Image from library Изображение из бибилиотеки DlgTransitionDuration Select transition duration for a set of slides Выберите продолжительность перехода для группы слайдов Duration : Продолжительность : Define the animation duration Установить продолжительность анимации second(s) секунд(ы) Show help about this dialogue box Показать справку об этом диалоговом окне &Help &Справка Accept modification and exit dialog box Применить изменения и выйти из диалогового окна &Ok &Ок Cancel modification and exit dialog box Отменить изменения и выйти из диалогового окна &Cancel &Отмена DlgTransitionProperties Transition properties Параметры перехода Select a transition for a set of slides Выберите переход для группы слайдов None and basic Нет и базовые Zoom Масштабирование Slide Скольжение Push Сталкивание Deform Деформация Luma-Bar Luma-Bar Luma-Box Luma-Box Luma-Center Luma-Center Luma-Checker Luma-Checker Luma-Clock Luma-Clock Luma-Snake Luma-Snake Transition type: Тип перехода: Allows you to select a transition family. - No transition: The new slide immediately replaces the old one. (Note that this also deactivates Background transitions and Sound fades so the playlist of the new slide immediately replaces that of the old one) - Basic/Dissolve effect: The slide appears gradually, with gradually increasing opacity. - Zoom: The new slide appears by getting bigger while the old slide disappears with a dissolve effect. - Slide: The new slide glides onto the old slide which disappears with a dissolve effect. -Push: The new slide takes the place of the old slide by pushing it aside. -LUMA transition: The animation is based on a luminance mask : the darker the points in the mask, the faster the corresponding points in the new slide replace those in the old slide. Позволяет вам выбрать тип перехода. - Нет перехода: новый слайд немедленно заменяет старый. (Обратите внимание, что также отключается фон перехода и исчезает звук, т.к. плейлист нового слайда немедленно заменяет старый) - Базовые/Наплыв: слайд появляется постепенно увеличивая непрозрачность. - Масштабирование: новый слайд появляется все больше и больше, в то время как старый слайд исчезает с эффектом растворения. - Скольжение: новый слайд скользит на старый слайд, который исчезает с эффектом растворения. - Сталкивание: новый слайд занимает место старого,сталкивая его в сторону. - Luma переход: анимация основана на маске яркости: темные точки в маске быстрее заменяются соответствующими точками нового слайда. Speed wave: Скорость: Allows you to select a speed curve to apply to the transition. Позволяет выбрать скорость перехода. Duration: Продолжительность: Allows you to define the duration of the animation. The possible choices are of 0,5 seconds (very fast) to 10 seconds (very slow). Позволяет установить продолжительность анимации. Возможны варианты от 0,5 секунд (очень быстро) до 10 секунд (очень медленно). second(s) секунд(ы) Allows you to select a transition. Позволяет выбрать переход. Show help about this dialogue box Показать справку об этом диалоговом окне &Help &Справка Accept modification and exit dialog box Применить изменения и выйти из диалогового окна &Ok &Ок Cancel modification and exit dialog box Отменить изменения и выйти из диалогового окна &Cancel &Отмена DlgWorkingTask Cancel Отмена DlgffDPjrProperties Project properties Свойства проекта Title : Название : Author : Автор: Album : Альбом : The language of the audio track (ISO 639 standard – 3 characters). Язык аудио дорожки (код языка по ISO 639 - 3 знака). Chapters defined in the project are listed for consultation. To modify chapters use modify slide dialog. The following fields appear: -#: The chapter number -Slide: Slide number in wich chapter is defined -Title: Chapter title -Start: Chapter start position -End: Chapter end position -Duration: Chapter duration Remark: Video formats do not support all the chapters in the same way. Главы, определенные в проекте, представлены для справки. Для изменения глав используйте диалоговое окно изменения слайда. Имеются следующие поля: - #: номер главы - Слайдe: № слайда в котором определена глава - Название: название главы - Начало: позиция начала главы - Конец: позиция окончания главы - Длительность: продолжительность главы Примечание: видео форматы не поддерживают все разделы таким же образом. A free comment which can spread out on several lines. Remark: numerous indexing systems or jukeboxes will read only the 1st line. Произвольный комментарий, который может содержать несколько строк. Примечание: многочисленные системы индексации и музыкальные устройства могут прочитать только 1 строку. This field allows you to select the geometry to be used for the project. Note: This field is only editable when the dialog box is opened for creating a new project. Subsequently, it is not possible to change this value. Это поле позволяет выбрать геометрию, используемую в проекте. Примечание: Это поле может редактироваться только когда открывается диалоговое окно для создания нового проекта. Впоследствии невозможно изменить это значение. Language : Язык : Defined default speed curve for transitions. This option sets the value of the velocity curves for use whenever the corresponding options are set to "Project Default". Определяет скорость переходов по умолчанию. Эта опция задает значение скорости, когда соответствующие параметры установлены по умолчанию. Defined default speed curve for block animations. This option sets the value of the velocity curves for use whenever the corresponding options are set to "Project Default". Определяет скорость анимации блоков по умолчанию. Эта опция задает значение скорости, когда соответствующие параметры установлены по умолчанию. Defined default speed curve for image animations. This option sets the value of the velocity curves for use whenever the corresponding options are set to "Project Default". Определяет скорость анимации изображений по умолчанию. Эта опция задает значение скорости, когда соответствующие параметры установлены по умолчанию. Defines the model use as default thumbnail Выбрать шаблон, используемый в качестве обложки по умолчанию und und (ISO 639 language code) (код языка по ISO 639) Comment : Комментарий : Project geometry: Геометрия проекта: Old TV (4:3) Старый ТВ (4:3) TV Wide (16:9) Широкоэкранный ТВ (16:9) Cinema (2.35:1) Фильм (2.35:1) Event date : Дата : The album of the project (If the id3v2 compatibility option is set in option dialog, this fields is limited to 30 characters). Альбом проекта (если в настройках установлена совместимость с id3v2, то поле ограничено 30 символами). The title of the project (If the id3v2 compatibility option is set in option dialog, this fields is limited to 30 characters). Название проекта (если в настройках установлена совместимость с id3v2, то поле ограничено 30 символами). Override date : Замещающая дата : The name of the author of the project (If the id3v2 compatibility option is set in option dialog, this fields is limited to 30 characters). Remark: This field is often shown by indexing system and jukeboxes under the term Artist. Имя автора проекта (если в настройках установлена совместимость с id3v2, то поле ограничено 30 символами). Примечание: это поле часто отображается системами индексации и плеерами как Артист. Options for speed wave Параметры скорости Chapters Главы Event location: Местоположение события: The date of the event of the project Дата события проекта Select the location of the event of the project Выбор местоположения события проекта Clear this location Удалить это местоположение Check this box to override the date and offer you to enter the date as a free text Отметьте этот флажок, чтобы ввести дату вручную в нужном вам формате (как простой текст) Enter here the date of the event of the project as a free text Введите здесь дату события в любом формате (как простой текст) Block animation: Анимация блока: Transition: Переход: Image animation: Анимация изображения: Create a new model from this thumbnail or edit custom thumbnail Создать новый шаблон для этой обложки или отредактировать существующий Customize the thumbnail only for this project (without creating a new thumbnail model) Изменить обложку только для этого проекта (без создания нового шаблона обложки) Expor thumbnail to a jpeg file Экспорт обложки в jpeg файл Accept modification and exit dialog box Применить изменения и выйти из диалогового окна &Ok &Ок Cancel modification and exit dialog box Отменить изменения и выйти из диалогового окна &Cancel &Отмена Show help about this dialogue box Показать справку об этом диалоговом окне &Help &Справка New project Новый проект Create project Создать проект #;Slide;Title;Start;End;Duration Column headers #;Слайд;Название;Начало;Конец;Длительность Export thumbnail Экспорт обложки Thumbnail successfully exported Information message Обложка успешно экспортирована Edit custom model Изменить текущий шаблон Create custom model Создать свой шаблон Framing styles Custom geometry - unlocked Пользовательская геометрия - разблокировано Custom geometry - locked Пользовательская геометрия - заблокировано Custom size - Image geometry Пользовательский размер - Геометрия изображения Custom size - Project geometry Пользовательский размер - Геометрия проекта Full image Полное изображение Full inner image Полное изображение - внутри Project inner height - to the left Внутренняя высота проекта - слева Project inner height - in the center Внутренняя высота проекта - в центре Project inner height - to the right Внутренняя высота проекта - справа Project inner width - at the top Внутренняя ширина проекта - сверху Project inner width - in the middle Внутренняя ширина проекта - в середине Project inner width - at the bottom Внутренняя ширина проекта - снизу Project height - to the left Высота проекта - слева Project height - in the center Высота проекта - по центру Project height - to the right Высота проекта - справа Project width - at the top Ширина проекта - сверху Project width - in the middle Ширина проекта - в середине Project width - at the bottom Ширина проекта - снизу HelpPopup Changes the document displayed to the previous document in the list of documents built by navigating links. Вернуться к предыдущему просмотренному документу. Backward Назад Changes the document displayed to the main page. Перейти на главную страницу. Home Главная Changes the document displayed to the next document in the list of documents built by navigating links. Перейти к следующему просмотренному документу. Forward Вперед Open the ffDiaporama Web site into your internet browser. Открыть сайт ffDiaporama в интернет браузере. Web Site Сайт Open the ffDiaporama Forum into your internet browser. Открыть форум ffDiaporama в интернет браузере. Forum Форум Close the WIKI Закрыть WIKI Exit Выход If this checkbox is checked and the WIKI remains open, then automatically displayed in the WIKI the document corresponding to the currently used interface element (main window, dialog, etc ...) Если этот флажок установлен и WIKI остается открытым, то в WIKI автоматически отображается документ, соответствующий открытому в настоящее время элементу интерфейса (главное окно, диалоговое окно, и т.д.) Follow the interface Следовать за интерфейсом ffDiaporama is a <a href="http://en.wikipedia.org/wiki/Free_software">Free Software (Open Source)</a> and is distributed under the <a href="http://www.gnu.org/licenses/gpl-2.0.html">GNU General Public License (GPL) version 2</a> ffDiaporama- это <a href="http://en.wikipedia.org/wiki/Free_software">свободная программа (с открытым исходным кодом)</a>, распространяющаяся по <a href="http://www.gnu.org/licenses/gpl-2.0.html">GNU General Public License (GPL) version 2</a> ©2011-2013 The ffDiaporama Team - This wiki and all the resources it contains are under license ©2011-2013 The ffDiaporama Team - Это wiki и все составляющие его ресурсы распространяются по лицензии MainWindow File Файл Create a new empty project (Ctrl+N) Создать новый пустой проект (Ctrl+N) New project Новый проект Open a previously saved project (Ctrl+O) Открыть ранее сохраненный проект (Ctrl+O) Open project Открыть проект Open a recently used project file Открыть недавно используемый проект Open recent Открыть недавний Save current project (Ctrl+S) Сохранить текущий проект (Ctrl+S) Save project Cохранить проект Save current project to a new project file Cохранить текущий проект в новый файл Save project as Сохранить проект как Define project properties Задать свойства проекта Project properties Свойства проекта Change application and project settings Изменить настройки программы и свойства проекта Settings Настройки Exit application (Ctrl+W) Закрыть программу (Ctrl+W) Exit Выход Project Проект Add an empty slide Добавить пустой слайд Add title Добавить слайд Add image or video as slide (INS) Добавить изображение или видео как слайд (INS) Add files Добавить файлы Add a previously saved project at the end of this project Добавить ранее сохраненный проект в конец данного проекта Add project Добавить проект Copy current slide to clipboard and remove it (Ctrl+X) Вырезать текущий слайд в буфер обмена (Ctrl+X) Cut Вырезать Copy current slide to clipboard (Ctrl+C) Копировать текущий слайд в буфер обмена (Ctrl+C) Copy Копировать Paste current slide from clipboard (Ctrl+V) Вставить текущий слайд из буфера обмена (Ctrl+V) Paste Вставить Edit Редактировать Remove current slide (DEL) Удалить текущий слайд (Delete) Remove Удалить Render video Создание видео Render project as a video using a predefined model Создать видеофайл из проекта, выбрав соответствующий шаблон Player and smartphone Плеер и смартфон Multimedia system Мультимедиа система For the WEB Интернет Lossless Сжатие без потерь Render project as a video Создать видеофайл из проекта Advanced Дополнительно Export Soundtrack Экспорт аудио дорожки Help Помощь Display information about ffDiaporama Показать информацию о ffDiaporama About О программе Call ffDiaporama WIKI Открыть ffDiaporama WIKI Support and help Справка Display blog/news page from internet WEB site Показать блог/ новости с домашней страницы What's new Что нового Switch display to preview mode Переключить экран в режим предварительного просмотра Del Del Ctrl+X Ctrl+X Ctrl+C Ctrl+C Ctrl+V Ctrl+V Add a map Добавить карту Add a Google Maps map Добавить карту Google Maps Select an image file Выбрать файл изображения Add to favorite Добавить в избранное Update this favorite Обновить это Избранное Remove this favorites Удалить это Избранное Manage favorites Управление избранным Open Открыть Properties Свойства Remove transitions Удалить переходы Select transitions Выбрать переходы Randomize transitions Перемешать переходы Reset music to "Same as previous" Сбросить музыку на "Как в предыдущем" Add a predefined title slide Добавить слайд из шаблона Export project Экспорт проекта Export current project and all used files in a new folder Экспорт текущего проекта и всех используемых в нем файлов в новую папку Use as new playlist Использовать как новый плейлист Add files to project Добавить файлы в проект Rename Переименовать Rename file Переименовать файл Set transition duration Установить длительность перехода Set first shot duration Установить длительность первого кадра Reset background to "Same as previous" Сбросить фон на "Как в предыдущем" ... ... Switch display to sheet mode Переключить экран в режим таблицы Switch display to file explorer mode Переключить экран в режим менеджера файлов Render project as a lossless video Создать видеофайл из проекта без потери качества Render sound trak of project Создать аудио дорожку из проекта Latest version number of ffDiaporama is indeterminable Невозможно определить последнюю версию ffDiaporama Slide: xx/xxx Слайд: xx/xxx Chapter: xx/xxx Глава: xx/xxx Enlarge thumbnails Увеличить миниатюры Reduce thumbnails Уменьшить миниатюры Edit background Редактировать фон Edit the background image for the slide Редактировать фоновое изображение слайда Edit slide Редактировать слайд Edit the slide Редактировать слайд Edit music Редактировать музыку Edit the slide musical playlist Редактировать плейлист слайда Edit object transition Редактировать переход Edit entering transition for the slide Редактировать переход открывающий слайд Add title Добавить слайд Add project Добавить проект Search Raster mode in configuration file Найти растровый режим в файле конфигурации All suported file ( Все поддерживаемые файлы ( Image file ( Изображения ( Image vector file ( Векторные изображения ( Video file ( Видео файлы ( Music file ( Аудио файлы ( Read configuration file Прочитать файл конфигурации Impossible to read one image from the file Error message Невозможно прочитать изображение из файла This application support only audio track with unsigned 8 bits or signed 16 bits sample format Error message Это приложение поддерживает аудио дорожку только с неподписанным 8 битным или подписанным 16 битным форматом сэмпла Impossible to read an image from the file Error message Невозможно прочитать изображение из файла This application support only mono or stereo audio track Error message Это приложение поддерживает только моно или стерео аудио дорожки No audio track found Error message Не найдена аудио дорожка Error Error message Ошибка Error reading configuration file Error message Ошибка чтения файла конфигурации Error reading content of configuration file Error message Ошибка чтения содержимого файла конфигурации The file is not a valid configuration file Error message Этот файл не является файлом конфигурации Error creating configuration file Error message Ошибка создания файла конфигурации Title Default slide name when no file Название The file is not a valid thumbnail file Error message Файл не является обложкой The file is not a valid title model file Error message Файл не является шаблоном титров Error creating model file Error message Ошибка создания файла шаблона Error creating data file Error message Ошибка создания файла данных Open project file Открыть файл проекта Impossible to open file Невозможно открыть файл Do you want to select another file ? Хотите выбрать другой файл? Select another file for Выбрать другой файл Impossible to open project file %1 Невозможно открыть файл проекта %1 Error reading project file Error message Ошибка чтения файла проекта Error reading content of project file Error message Ошибка чтения содержимого файла проекта The file is not a valid project file Error message Этот файл не является файлом проекта Impossible to import this file : Image geometry in this file is not the same than the current project Error message Невозможно импортировать этот файл: геометрия изображения в нем не соответствует текущему проекту Loading file from ressource Загрузка файла из ресурсов Error loading ressource Ошибка загрузки ресурсов Loading file : Загрузка файла: Error allocating memory for render image Ошибка выделения памяти для обработки изображения Error loading file : Ошибка загрузки файла: Init home user database... Инициализация базы данных пользователя... Error initialising home user database... Ошибка инициализации базы данных пользователя... Error initialising home user database ffDiaporama can't start Error message Ошибка инициализации базы данных пользователя Не удается запустить ffDiaporama Init translations... Инициализация переводов... Restore from a previous crash... Восстановление после сбоя... Sorry, but ffDiaporama is already started on this computer and can't be started several time. Извините, но ffDiaporama уже запущена на этом компьютере и не может быть запущена повторно. Starting SDL... Запуск SDL... Loading background library... Загрузка библиотек фонов ... Loading text frame library... Загрузка библиотек форм текста... Loading no-luma transitions... Загрузка не luma переходов... Loading luma transitions... Загрузка luma переходов... Scan drives in computer... Сканирование дисков компьютера... Register models... Регистрация шаблонов... Init WIKI... Инициализация WIKI... Close application Закрыть программу Want to save the project before closing? Хотите сохранить проект перед закрытием? <html><body>Visit the ffDiaporama Web site to use the forum,<br>consult tutorials and learn the lastest news:<br><a href="http://ffdiaporama.tuxfamily.org">http://ffdiaporama.tuxfamily.org</a></body></html> <html><body>Посетите сайт ffDiaporama чтобы<br>посмотреть руководство и узнать последние новости:<br><a href="http://ffdiaporama.tuxfamily.org">http://ffdiaporama.tuxfamily.org</a></body></html> Saving configuration file and applying new configuration ... Сохранение файла конфигурации и применение новой конфигурации ... Current project has been modified. Do you want to save-it ? Текущий проект был изменен. Сохранить его? Loading project ressources: %1 Загрузка ресурсов проекта: %1 Loading slide %1/%2 Загрузка слайда %1/%2 Add file to project Добавить файл в проект This video files contains more than one chapter. Do you want to create one slide for each chapters ? Этот видеофайл содержит более чем одну главу. Хотите создать отдельный слайд для каждой главы ? Are you sure you want to remove this slide? Удалить этот слайд? Remove multiple slides Удалить несколько слайдов Error getting image from clipboard Error message Ошибка получения изображения из буфера обмена Are you sure to delete this file or folder ? (Warning: Content will not be moved to trash) Удалить этот файл или папку? (Внимание: они не будут перемещены в корзину) Impossible to delete folder! Are you sure it is empty? Невозможно удалить папку! Вы уверены, что она пустая? Impossible to delete file! Невозможно удалить файл! Total duration: Общая продолжительность: Total size:%1 Общий размер:%1 %1 audio files аудио файлов - %1 %1 video files видео файлов - %1 %1 image files изображений - %1 %1 image vector files векторных изображений - %1 %1 ffDiaporama project files файлов проектов ffDiaporama - %1 %1 folders папок - %1 %1 files файлов - %1 Multiple file types Несколько типов файлов Refresh All Обновить все update drive list Обновить список дисков update drive (%1) Обновление дисков (%1) update current folder Обновить текущую папку Favorite name: Имя избранного: Impossible to remove file %1 - error %2:%3 Невозможно удалить файл%1 - Ошибка:%2:%3 Impossible to remove folder %1 - error %2:%3 Невозможно удалить папку%1 - Ошибка:%2:%3 Are you sure to remove this folder ? (Warning: Content will not be moved to trash) Удалить эту папку? (Внимание: она не будет перемещена в корзину) Rename folder Переименовать папку Folder: Папка: Impossible to rename folder! Невозможно переименовать папку! Hide files name Скрыть имена файлов Show files name Показать имена файлов Remove files Удалить файлы Remove file : Удалить файл : Remove folder Удалить папку Remove file Удалить файл New name: Новое имя: Impossible to rename file! Невозможно переименовать файл! Are you sure you want to remove these %1 slides? Удалить слайды %1? A favorite with this name already exists. Do you want to overwrite it? Избранное с таким именем уже существует. Перезаписать его? A favorite with for this path already exists. Do you want to overwrite it? Избранное с таким путем уже существует. Перезаписать его? Successfully deleted folder (and all its content) %1 Папка %1 успешно удалена (и все ее содержимое) Sort by number Сортировать по номеру Sort by name Сортировать по имени Sort by date Сортировать по дате Show folder first Сначала показывать папки All files Все файлы Managed files Поддерживаемые файлы Image files Изображения Image vector files Векторные изображения Video files Видео файлы Music files Аудио файлы ffDiaporama project files Файлы проектов ffDiaporama Hide hidden files and folders Не показывать скрытые файлы и папки Show hidden files and folders Показать скрытые файлы и папки Select this file Выбрать этот файл <new project> when project have no name define <Новый проект> Open file : Открыть файл : Open project Открыть проект Loading system icons... Загрузка системных иконок... Starting libav... Запуск libav... Init multimedia browser... Инициализация мультимедиа Проводника... Slide: Слайд: Chapter: Глава: A new release is available from WEB site. Please update from http://ffdiaporama.tuxfamily.org ! Доступна новая версия. Вы можете скачать ее с сайта http://ffdiaporama.tuxfamily.org ! A new version is available from WEB site. Do you want to download it now? Доступна новая версия. Хотите загрузить ее сейчас? Your version of %1 is up to day Ваша версия %1 не требует обновления <html><body>Select a project to open or to create a new project<br>To discover ffDiaporama:<br><a href="%1">Consult the WIKI</a></body></html> <html><body>Выберите существующий проект или создайте новый.<br>Чтобы узнать больше о ffDiaporama,<br><a href="%1">посетите WIKI</a></body></html> <html><body>Add empty slides or slides based on photos or videos<br>To discover how to build your slide show and to animate slides:<br><a href="%1">Discover the principles of functioning of ffDiaporama</a></body></html> <html><body>Добавьте пустые слайды или слайды из фотографий или видео.<br>Чтобы узнать как создать слайд-шоу и анимировать слайды,<br><a href="%1">познакомьтесь с принципами функционирования ffDiaporama</a></body></html> <html><body>Select the equipment type that you plan to use for your video<br>To discover how to render videos:<br><a href="%1">Consult the rendering videos WIKI page</a></body></html> <html><body>Выберите тип устройства, на котором вы собираетесь просматривать видео.<br>Чтобы узнать как сделать видео,<br><a href="%1">посетите страницу обработки видео в WIKI</a></body></html> This project was created with a newer version of ffDiaporama. If you continue, you take the risk of losing data! Do you want to open it nevertheless? Этот проект был создан в новой версии ffDiaporama. Если продолжить, то можно потерять данные! Хотите открыть его все равно? Saving project file ... Сохранение файла проекта ... Save project as Сохранить проект как Add files Добавить файлы Format not supported Error message Формат не поддерживается Add a sub project Добавить подпроект Add project file : Добавить файл проекта : Capture the image Захват изображения Remove slide Удалить слайд Add file to project : Добавить файл в проект : Capture image Захват изображения Select destination file Выберите файл назначения Error during startup Ошибка при запуске Error during initialisation of sound system. Check your configuration and try again Ошибка при инициализации звуковой системы. Проверьте ваши настройки и попробуйте снова Start ... Запуск ... Error reading window state of %1 from home user database Error message Ошибка чтения размера и положения окна %1 из базы данных пользователя Edit this location Изменить это местоположение Define a location Определить местоположение QCustomFolderTable File Column header Файл File Type Column header Тип File Size Column header Размер File Date Column header Дата Duration Column header Продолжительность Image Size Column header Размер изображения Image Format Column header Формат изображения Image Geometry Column header Геометрия Video Codec Column header Видео кодек Frame Rate Column header Частота кадров Video Bitrate Column header Битрейт видео Audio Language Column header Язык аудио Audio Codec Column header Аудио кодек Audio Channels Column header Аудиоканал Audio Bitrate Column header Битрейт аудио Audio Frequency Column header Частота звука Title Column header Название Artist Column header Исполнитель Album Column header Альбом Year Column header Год Track Column header Трек Genre Column header Жанр Comment Column header Комментарий Composer Column header Композитор Encoder Column header Кодер Chapters Column header Главы Author Column header Автор Reading directory content (%1) Чтение содержимого каталога (%1) QCustomFolderTree Kb Unit Kb кб Mb Unit Mb Мб Gb Unit Gb Гб Tb Unit Tb Тб Refresh all Обновить все Refresh from here Обновить выделенное Create new subfolder Создать новую подпапку Remove folder Удалить папку Rename folder Переименовать папку Create folder Создать папку Folder: Папка: Error %1: Ошибка %1: Impossible to create folder ! Невозможно создать папку ! System files Системные файлы Clipart Клипарт Empty drive... Пустой диск... Personal folder Личная папка Shape forms No shape Нет формы Rectangle Прямоугольник Rounded rectangle Скругленный прямоугольник Bubble Пузырь Ellipse Эллипс Old Triangle up version Треугольник вверх (старая версия) Old Triangle right version Треугольник вправо (старая версия) Old Triangle down version Треугольник вниз (старая версия) Old Triangle left version Треугольник влево (старая версия) Rhombus Ромб Pentagon Пятиугольник Hexagon Шестиугольник Octogon Восьмиугольник Simple arrow up Стрелка вверх Simple arrow right Стрелка вправо Simple arrow down Стрелка вниз Simple arrow left Стрелка влево Heart Сердце Puzzle Up-Left Пазл верхний левый Puzzle Up-Center Пазл верхний средний Puzzle Up-Right Пазл верхний правый Double vertical arrows Двойная вертикальная стрелка Double horizontal arrows Двойная горизонтальная стрелка Double diagonal arrows 1 Двойная диагональная стрелка 1 Double diagonal arrows 2 Двойная диагональная стрелка 2 Spade Пика Puzzle Middle-Left Пазл средний левый Puzzle Middle-Center Пазл средний Puzzle Middle-Right Пазл средний правый Right triangle Up-Left Прямоугольный треугольник вверху слева Right triangle Up-Right Прямоугольный треугольник вверху справа Right triangle Down-Left Прямоугольный треугольник внизу слева Right triangle Down-Right Прямоугольный треугольник внизу справа Club Клевер Puzzle Down-Left Пазл нижний левый Puzzle Down-Center Пазл нижний средний Puzzle Down-Right Пазл нижний правый Single triangle up Треугольник вверх Single triangle right Треугольник вправо Single triangle down Треугольник вниз Single triangle left Треугольник влево Pushed up Прижатый вверх Sharp down Выгнутый вниз Four-pointed stars Четырехконечная звезда Five-pointed stars Пятиконечная звезда Double triangle up Двойной треугольник вверх Double triangle right Двойной треугольник вправо Double triangle down Двойной треугольник вниз Double triangle left Двойной треугольник влево Double chevron up Двойной шеврон вверх Single chevron down Шеврон вниз Six-pointed stars Шестиконечная звезда Height-pointed stars Восьмиконечная звезда Pushed left Прижатый влево Double chevron left Двойной шеврон влево Single chevron left Шеврон влево Sharp left Выгнутый влево Single chevron up Шеврон вверх Double chevron down Двойной шеврон вниз Six tooth gear Шестерня (6 зубьев) Eight tooth gear Шестерня (8 зубьев) Sharp right Выгнутый вправо Single chevron right Шеврон вправо Double chevron right Двойной шеврон вправо Pushed right Прижатый вправо Sharp up Выгнутый вверх Pushed down Прижатый вниз Ten tooth gear Шестерня (10 зубьев) Twelve tooth gear Шестерня (12 зубьев) Vertical Binoculars Вертикальный бинокль Vertical Trinoculars Вертикальный тринокль Trapezoid Down-Right Трапеция вниз-вправо Trapezoid Up Трапеция вверх Trapezoid Down-Left Трапеция вниз-влево Trapezoid Right-Down Трапеция вправо-вниз Trapezoid Left-Down Трапеция влево-вниз Keyhole Замочная скважина Horizontal Binoculars Горизонтальный бинокль Horizontal Trinoculars Горизонтальный тринокль Trapezoid Up-Right Трапеция вверх-вправо Trapezoid Down Трапеция вниз Trapezoid Up-Left Трапеция вверх-влево Trapezoid Left Трапеция влево Trapezoid Right Трапеция вправо Plus Плюс Four oculars Четыре окуляра Parallelogram Left Параллелограмм влево Parallelogram Right Параллелограмм вправо Parallelogram Up Параллелограмм вверх Parallelogram Down Параллелограмм вниз Trapezoid Right-Up Трапеция вправо-вверх Trapezoid Left-Up Трапеция влево-вверх Hourglass Песочные часы Speed wave Project default (%1) Проект по умолчанию (%1) Constant speed Постоянная скорость Fast then slow Быстро, затем медленно Slow then fast Медленно, затем быстро Faster and faster Все быстрее и быстрее Slower and slower Все медленнее и медленнее Variables %1 presents %1 представляет A %1 production Производство %1 Chapter %1 Глава %1 Project done the %1: ·with %2 (%3) ·on a %4 (%5 Core/CPU) computer Проект создан %1: ·в %2 (%3) ·на компьютере с %4 (%5 Core/CPU) The end Конец Select this variable Выбрать эту переменную Project properties values Значения свойств проекта Project date values Дата проекта Current slide values Значения текущего слайда Chapters values Значения глав Current chapter date values Дата текущей главы Various values Разные значения Today date values Сегодня (дата) Project title Название проекта Project author Автор проекта Project author as <Author presents> Автор проекта: "<Автор представляет>" Project author as <A Author production> Автор проекта: "<Производство Автор>" Project album Альбом проекта Project location name Название местоположения проекта Project location address Адрес местоположения проекта Project comment Комментарий к проекту Project duration Продолжительность проекта Current chapter number as "Chapter N°" Номер текущей главы: "Глава №" Project slide count Количество слайдов проекта Long date Дата (полностью) Short date Дата (кратко) Year Год Month Месяц Month as number Номер месяца Day День Day of week День недели Current slide name Имя текущего слайда Current slide number Номер текущего слайда Current chapter name Название текущей главы Current chapter number Номер текущей главы Current chapter duration Длительность текущей главы Chapter count Количество глав Current chapter location name Название местоположения текущей главы Current chapter location address Адрес местоположения текущей главы ffDiaporama version Версия ffDiaporama Copyright Копирайт Project made Проект создан Content Содержимое Musical content Музыка Project's location not set (Name) Местоположение проекта не задано (Название) Project's location not set (Address) Местоположение проекта не задано (Адрес) Content: Project statistics Содержимое: %1 slides (%2) слайдов - %1 (%2) %1 chapters глав - %1 %1 videos (%2) видеофайлов - %1 (%2) %3 vector images векторных изображений - %3 %4 photos фотографий - %4 %5 text blocks блоков текста - %5 %6 automatic slides шаблонов - %6 Musical content: Project statistics Музыка: - © %1 (%2) Project statistics-Music - © %1 (%2) - © %1 Project statistics-Music - © %1 from «%1» Project statistics-Music из «%1» cBaseMediaFile Impossible to open file Невозможно открыть файл Do you want to select another file ? Хотите выбрать другой файл? Select another file for Выбрать другой файл Impossible to open file %1 Невозможно открыть файл %1 MPix Мп Unmanaged File type Неуправляемый Slides Слайды Chapters Главы Image File type Изображение Vector image File type Векторное изображение Thumbnail File type Миниатюра Map type Тип карты Image size Размер изображения Map zoom and size Масштаб и размер карты Map latitude Широта карты Map longitude Долгота карты %1 location(s) %1 местоположение(ий) GPS Coordinates %1 / %2 GPS координаты %1 / %2 %1 Zoom %2 %1 Масштаб %2 Roadmap Дорожная карта Satellite Вид со спутника Terrain Географическая карта Hybrid Смешанная (спутник + дорожная) Small Маленькая Small (640x360) Маленькая (640x360) 720p-16:9 (1280x720) 720p-16:9 (1280x720) 720px4-16:9 (2560x1440) 720px4-16:9 (2560x1440) 720px9-16:9 (3840x2160) 720px9-16:9 (3840x2160) 1080p-16:9 (1920x1080) 1080p-16:9 (1920x1080) 1080px4-16:9 (3840x2160) 1080px4-16:9 (3840x2160) 1080px9-16:9 (5760x3240) 1080px9-16:9 (5760x3240) The map must be regenerated because the locations have changed or project's location no set Карта должна быть создана заново, потому что местоположения изменились или не установлены Project's location must be defined to produce this Google Maps map Местоположение проекта должно быть определено для получения этой карты Google Maps Select at least one location to produce Google Maps map Выберите хотя бы одно местоположение для составления карты Google Maps Video File type Видео Music File type Аудио Mono Audio channels mode Моно Open file Открыть файл ffDiaporama File type ffDiaporama Stereo Audio channels mode Стерео Folder File type Папка Add video file Добавить видеофайл Image from clipboard File type Изображения из буфера обмена Google Maps map File type Карта Google Maps cBrushDefinition Error: Project's location no set Ошибка: местоположение проекта не задано Project's location (%1) Местоположение проекта (%1) Chapter's location (%1) Местоположение главы (%1) cDeviceModelList Advanced Device database type Дополнительно Smartphone Device database type Смартфон и плеер Multimedia system Device database type Мультимедиа система For the WEB Device database type Интернет Lossless Device database type Сжатие без потерь Portable Player Device database type Портативный плеер Netbook/NetPC Device database type Нетбук/NetPC Handheld game console Device database type Портативная игровая консоль Tablet computer Device database type Планшетный компьютер Multimedia hard drive and gateway Device database type Мультимедийный жесткий диск и шлюз Player Device database type Плеер ADSL Box Device database type ADSL приставка Game console Device database type Игровая консоль SWF Flash Player Device database type SWF Flash Player Video-sharing and social WebSite Device database type Сайты видео-обмена и социальные сети HTML 5 Device database type HTML 5 cModelList Project title Название проекта Project album Альбом проекта Project author Автор проекта Project comment Комментарий к проекту Error reading default thumbnail file Error message Ошибка чтения файла обложки по умолчанию Error reading content of title model file Error message Ошибка чтения содержимого файла шаблона названий Register Credit title slide models (%1)... Регистрация шаблонов заключительных титров (%1)... Error Error message Ошибка Error reading title model file Error message Ошибка чтения файла шаблона названий Error reading content of default thumbnail file Error message Ошибка чтения содержимого файла обложки по умолчанию Register thumbnail models... Регистрация шаблонов обложек... Register Project title slide models (%1)... Регистрация шаблонов названий проекта (%1)... Register Chapter title slide models (%1)... Регистрация шаблонов названий глав (%1)... Chapter title Название главы Simple titles without animation Простые без анимации Animated titles Анимированные Custom titles Пользовательские Simple chapter titles without animation Простые без анимации Animated chapter titles Анимированные Custom chapter titles Пользовательские Simple credit titles Простые Custom credit titles Пользовательские wgt_QEditImage Name of image/video file Имя файла изображения/видео Select another file Выбрать другой файл Reset to zero Сбросить на 0 Reset to 5 Сбросить на 5 Allows you to activate the charcoal filter. Активировать угольный фильтр. Charcoal Рисунок углем Adjust value for frequency of wave transformation Настроить частоту волновой трансформации Allows you to activate the grayscale (black & white) filter. Активировать фильтр градации серого (черно-белый). Grayscale Оттенки серого Adjust green channel Настроить зеленый канал Adjust value for implode transformation Настроить значение имплозии (взрыв направленный внутрь) Allows you to activate the oilpaint filter. Активировать маслянный фильтр. Oilpaint Рисунок маслом Image rotation: Поворот изображения: Color enhancement: Улучшение цвета: Adjust blue channel Настроить синий канал Adjust luminosity Настройка яркости Adjust red channel Настроить красный канал Reset to 1 Сбросить на 1 Image distortion: Искажение изображения: Luminosity, contrast and gamma: Яркость, контрастность и гамма: Adjust blur/sharpen sigma Настроить сигму размытия/резкости Allows you to activate the despeckle (Noise reduction) filter. Активировать фильтр удаления пятен (подавления шумов). Despeckle Удаление пятен Adjust desaturat level Настроить уровень обесцвечивания Image enhancement: Улучшение изображения: Adjust value for amplitude of wave transformation Настроить амплитуду волновой трансформации Artistic effects: Художественные эффекты: Allows you to define the width. This value is expressed as a percentage (%) of the original width of the image. Example: if Width=33 %, the re-framed image will represent 1/3 of the original. Позволяет задать ширину. Это значение, выраженное в процентах (%) от исходной ширины изображения. Пример: если ширина = 33 %, кадрированное изображение составит 1/3 оригинала. Define the height Определить высоту Allows you to define the height. This value is expressed as a percentage (%) of the original height of the image. Example: if Height=33 %, the re-framed image will represent 1/3 of the original. Позволяет задать высоту. Это значение, выраженное в процентах (%) от исходной высоты изображения. Пример: если высота = 33 %, кадрированное изображение составит 1/3 оригинала. Defined speed curve for image animations. Задать скорость анимации изображений. Adjust value for swirl transformation Настроить значение трансформации кручения Adjust gamma Настройка гаммы Adjust contrast Настройка контрастности Type: Тип: Select the blur/sharpen algorythm Выберите алгоритм размытия/резкости Fast быстрый Gaussian размытие по Гауссу Allows you to activate the emboss filter. Активировать фильтр тиснения. Emboss Тиснение Adjust blur/sharpen radius Настроить радиус размытия/резкости Allows you to activate the edge filter. Активировать фильтр контура. Edge Контур Allows you to select a framing from a list of predefined framings. According to the image format, various choices will be proposed to you. The framings are classified in different categories: - Lock on the project geometry: Lock the image framing selection rectangle to the same geometry as the project. If you place the image in full screen, the reframed part will correspond to the whole screen. - Lock on the image geometry: Lock the image framing selection rectangle to the same geometry as the image. - No constraint: No constraint is applied to the image framing selection rectangle. - Lock on this geometry: Lock image framing selection rectangle to the actual geometry. This only has meaning when a shape has been defined in "no constraint" mode. Позволяет выбрать тип кадрирования из предопределенного списка. В соответствии с форматом изображения, вам будут доступны различные варианты. Кадрирование подразделяется на следующие категории: - Блокировка геометрии проекта: Означает, что прямоугольник выделения при кадрировании изображения будет той же геометрии, что и сам проект. Если вы откроете изображение в полноэкранном режиме, то выбранная часть будет соответствовать всему экрану. - Блокировка геометрии изображения: Означает, что прямоугольник выделения при кадрировании изображения будет той же геометрии, что и изображение. - Без ограничений: Означает, что к прямоугольнику выделения при кадрировании изображения не применяются ограничения. - Блокировка геометрии: Означает, что прямоугольник выделения при кадрировании изображения будет той же геометрии, что и в настоящее время. Это имеет смысл только когда форма была определена в режиме "без ограничений". Allows you to activate the negative filter. Активировать фильтр негатива. Negative Негатив Allows you to activate the equalize (Histogram equalization) filter. Активировать фильтр выравнивания (выравнивание гистограммы). Equalize Выравнивание Allows you to define the horizontal position from the left (X). This position is expressed as a percentage (%) of the width of the image. Example: if X=25 % then the 1st quarter to the left of the image is eliminated. Позволяет задать горизонтальное положение от левого края (X). Это положение, выраженное в процентах (%) от ширины изображения. Например: если Х = 25 %, то левая четверть изображения будет обрезана. Allows you to define the vertical position from the top of the image ( Y ). This position is expressed as a percentage (%) of the height of the image. Example: if Y=25 % the 1st quarter at the top of the image is eliminated. Позволяет задать вертикальное положение от верхнего края (Y). Это положение, выраженное в процентах (%) от высоты изображения. Например: если Y = 25 %, то верхняя четверть изображения будет обрезана. Allows you to activate the antialias (minimizing the distortion artifacts) filter. Активировать фильтр сглаживания (сведение к минимуму артефактов искажения). Antialias Сглаживание Annimation settings: Настройки анимации: Define the width Определить ширину Allows you to activate the normalize filter. Активировать фильтр нормализации. Automatic contrast (normalize) Автоконстрастность (нормализация) Turn the image to the left (on the next multiple of 90°) Повернуть изображение влево (на 90°) Define the rotation angle for the z axis Определить угол вращения по оси z Turn the image to the right (on the next multiple of 90°) Повернуть изображение вправо (на 90°) Speed wave: Скорость: Framing and form: Кадрирование и форма: Select a shape for the current block Выбрать форму данного блока Video position : Позиция видео : wgt_QEditVideo Start : Начало: Move to start position Tooltip in dialog box Переместить в начало Use current position as start position Tooltip in dialog box Использовать текущую позицию как стартовую Define the start position to use Tooltip in dialog box Указать стартовую позицию End : Конец : Define the end position to use Tooltip in dialog box Указать конечную позицию Use current position as end position Tooltip in dialog box Использовать текущую позицию как конечную Move to end position Tooltip in dialog box Переместить в конец Duration : Продолжительность : Volume : Громкость : Select the " Master Volume " for the movie Выбрать громкость фильма Allows you to activate the deinterlace filter Активировать фильтр устранения чересстрочности (деинтерлейсинга) Deinterlace video Устранение черезстрочности видео wgt_QGMapsMap Define the size of the map Выберите размер карты Map type: Тип карты: Define the type of the map Выберите тип карты Define the size of the image generated for the map Выберите размер создаваемого изображения карты Image size: Размер изображения: Localizations Местоположения Properties for all shots Свойства для всех кадров GPS Position form: Форма GPS позиции: Define a form for the GPS position Выберите форму для отображения GPS позиции Point Точка Circle Круг Rectangle Прямоугольник Marker form: Форма маркера: Define a form for the marker Выберите форму маркера Bubble Пузырь Composition: Содержимое: Defined what information will be displayed in the marker Выберите информацию, отображаемую в маркере Icon+Name+Address Значок+Название+Адрес Icon+Name Значок+Название Icon Значок Name Название Name+Address Название+Адрес Address Адрес Size: Размер: Define the size of the marker and the GPS position Выберите размер маркера и GPS положения Small Маленький Medium Средний Large Большой Huge Огромный Distance: Расстояние: Defined where to display the marker (the distance between the marker and the GPS position) Выберите где показывать маркер (расстояние между маркером и GPS позицией) Defines the color of the text Выберите цвет текста Defines the color of the background of the marker, of the GPS position and of the part between the two Выберите цвет фона маркера, GPS позиции и части между ними Defined if the marker is visible, half-visible (masked) or hidden Выберите видимость маркера: видим, полувидим или скрыт Defines the color of the border Выберите цвет границы Properties for this shot Свойства этого кадра Background color: Цвет фона: Visibility: Видимость: Near Близко Normal Нормально Far Далеко Hide Скрыть Masked Полувидимый Visible Показать Line color: Цвет линий: Text color: Цвет текста: Map size: Размер карты: Location Местоположение Use Google Maps to select a location Использовать Google Maps для выбора местоположения Edit current location Изменить текущее местоположение Remove current location Удалить текущее местоположение Add a location Добавить местоположение Add project's location Добавить местоположение проекта Add chapter's location Добавить местоположение главы Do you want include the markers on the map? Хотите включить маркеры на карте? wgt_QMultimediaBrowser Form Вид Refresh folder table Обновить список папок Use Detail view in browser Подробно Use Icon view in browser Значки Use or manage favorite path Избранное Change to previous folder Вернуться в предыдущую папку Change to upper folder Перейти вверх Adjust display mode and file filtering Настроить режим отображения и фильтрации файлов The selection can't include folders. Выбранное не содержит папок. wgt_QVideoPlayer Click to start play, click again to pause the movie Tooltip in dialog box Нажмите для воспроизведения, нажмите еще раз, чтобы остановить видео The progress bar allows you to set the video display to a specific position. Remark : The length of the ruler is increased in proportion to the duration of the video. The blue part represents the part of the video which is selected (which will be used in the assembly). Индикатор позволяет перемотать видео на определенный момент времени. Примечание: длина линейки увеличивается пропорционально продолжительности видео. Синяя часть соответствует выделенному на шкале времени фрагменту. Save this image of the movie Tooltip in dialog box Захватить изображение ffDiaporama/locale/ffDiaporama_ru.qm0000777000175000001440000115173112275647345017754 0ustar dominiqueusers?e^#"s6"%%-e03w:FO'TNU?5%UXP<[ _ q>`U4gp*uh#0i>j'y5|c~05Ild*ftcBi"ٚqP$n9^ 0#Pd[Qdd<C^,dv9,d{!3vō?ə7$P9gTفφSuH#A5<  HydU! H4S%m'"F9#"M!"MEN%r#ͧZCyu E.ڜ.(  : 5%ݳ{nE]\9E]e(qcq"3L\e}9Iu a/SK a/[!d ![f#n׫) . .ʹΣ/4"I5BOC>|IKEP*^BdbZT^egZXgZahYi,cm$dpq-tNuv ezc |U L~|Z$֠3i1~LV+{+oJB}|nR.@[s>)1"U"UBTeBOYVvW[J4l/s]Ӳ%qIImaǺ7ɿSs[IItW.]QEH>ֺieȬ/Wj8EcD  Y y$  5NIN"55:e5:ǎE#9'4$ +d&. /57I9#8:@AwADo`DtL#BMIuP$Ja$WcWΊX2 XZ Q[L^jjFqmCz?n5qP%z, Kb u1!9NE2 xH#yH#K.8b,3<Jv:IH B^lWLjDB`EҊ.h&>lY?I,RU%]BU%f7~DUd]ZXGZӇ3vԽcNif/څڅŮʯʯʯtjkcLK"UeN1vדz)7E ;m$%`&N+-_> -|%7-X6.\00`*23^c4h5Z%6Rx#<ZIoHFKc8N.Ot\gj0c|"rk?tHupw>y./{kr>b9 I6 zI;%%Q5 2.%jGNbV{g[h^)hb    ֍5]/+|v#8?"C8G8  Z![;qnÖoàN|àN Dcc$c| 9 G;,Y*.5< A⧞3#Th`%RC$ NA/u5i c] 7 t ) oNמ";().P /V6(76о\8,.U8K38;?yRB+kTB+kUC}~C}~C}~IHAUR~R2S ,=SgOU{IV| V|Vdѿdѿ. e߮fMng@jV PjV eqnq2r?u>~{û֮a֮{ezBsjve<veVMFy!FFFFƈH5wH5H5ɠ>OMKn,6,,V#+6n*Sn!ȿ7Y^.."4)^ ?kg:jxpD5"2 %V̽~BP ;asCBQ\#qZ<5@Dϻۊ\ۊ 6ۊTj;t8#:c7{IWS7cIIaҺQan2nys ) >g: ~_:c_:jʅyd8>E~epNIuE!#Iz$`&F!&F '{'::X':v(I.,fk3h3h9@<2}* H:g6~pNn<- 5J S 5Uמ9")*`(H*GZ,4y.y/9/AN0ßxN1.<=+>*nD?U?;wa?;wB4C ^EWb!4Nl*ۅNê^B`Oxbȵ2&clg<- gn.k]loCXp^,p^p^X"pJOw:\ːz#$}4&Fl0g7Z9O7Z 7Z W 7nZwZ'CNm\x#QAsg!Ag֑ggQg3eg=gQg"gg'gggIg/׶36"ƻՅr=>w>Vuô64NhGJyZ1, P7~And#O͢(`I#on4 Tz@ eJ![ ? 39;.::U@מ$N+'U2p(Q)z")zA$)V1-z.=F)N kN]*9]^ugE9vPgz t zW44WKN61^~ŤN[d KZ4#:.SmT|TDrVIJ^6C&zMDsee"(M/5oG:S:ID;}ʑ~ ʛp+=e7Һq2h1K?q6iF_ն'|% TSn{o{n9ZZS| ;m ; x^^Q x^gL / ) t ڥq u 9 TZc TcJ _ .H, #H^ $T > *c%/ +i 4<s 7 8 < >I >̤o >̤h ?*:u D3 H~ Hn Ii( Lo Qu T~ U4 U V W4 \pl ^s ^ c%eg c7( ddf iO i od t7Jx y'> ~M8; [tf A Y'm %x+ {N~  ~ \*c D ] /> TY* 3= _W @e| -"- W? Ϟ' %  g M Rx& YG ݞp SR Pi Ѧe{ gF ׶W T } } ݘN O 6 gj gj $ 0 d[2  T t ;K` ~ HD Tn jB 5g 9K D Wg $`O $Z %Y %b (V0 ) ,:lX ,y /3 0 W 0h( 2S 6=i 6=it =q ?` CHC D3 FsD I4MY I4Mbh Kʅ PUQ PUX Pg QJa QJc QXQ QR QX X9 XA [N a /U d' d; d< eK fUT fU\ gw gaN jM[ ko/ lFj/ q>N s(y t1Y2 t t wN zb%A >Jq "  l# Cp C1 Aڪ JJ U jn <R p h h h h! h"P h0 h4 hK h h h h h h h$ h- hK9 hQ h} hj h'5 h9v hX I I I I I* I2 I6 I;~ IN Iz I I0 I۷ I I I; IL IR I I#y I( I=d -" } n < d f n X >   2 j| 2  ? eق cO  } @ ش5H I    +wI .<V 1> 24H 2| 4Uۖ :^ ?C ?_ AZCE Do1+ Euu J JS& L4 RE SfK [M ^nn _w f gҾ  h* i4[ k3 k< l meW mF nd qz[ u^1 xU x] z. {wuH |.`y }!Η ;$ GGI $5Z $5c s h!  \    g I ?r bb .C2 ,lƑ wzm JP J G6-  k} N{3 RS YG y 2n i }+  B j s  *- & {Dv {D ^ ~  /j!l M M *2 V. g@9 *  ݍ )X  L _ ү E3n 'c ' > Y* b Y7 U. Ӻ9@ !* "~ GS [ )$˧ +eH ,-N1 . E0 .>>J /[ 13W 2F# 3v 46 4X6 5Dn 7$ 8N 9 9 9dZ <=. =y@ D3. DT JZ KD0 NY Sш Ts% Uڽ Zt.b Zy> _c b=s b=t# cUfb cUU d~& he h x o4 qvL sMCJ wO> w |> Cl, C Q ў @   g< < _ 1 ^^ ^jk  Sn ߉ `8 `Ac *>   s ^R tS S,? zw ۬*  5 5  ˵% T?o DcU ѵg! { & j?R ׵7_ Dc K s 4 4 TnT "l "y "n| " "m "@ 3)c : HO nu 2 u u Վ' C~R P' o "5 "AA( +~n -JV .CJ 2&y 4v 5 =s ?^ Cj  E. Gxay G& G: I5 I! IV I… JO 0 0 U /s b~P a  uR y$\$e@  Kr TJU%FF-3 ~Y! 7("O)c1+v-L-L3.j55L^7nTw7nT;e;CBrTBE)FD3T!2TVT(W6_X  Z]4E jd lDlfw!*xYxr{l{l2 B<&-l"P  ` y9E<zBT+VM/ !^;ܵ|UzzzV7Ӟ{qРÓ84d4}$ JR#ѽlvivP̮~.>z~6z, i^{9Q47,>b|H|=NE|Z$5<Ab=)~\0v,t0&U>Pjc}i]uZi 61#8a2ynrk0F W&"A"Q#Oi(iR)+J*Y*Z5-d2|D4J6NlD<0Ы@ALAʂD\:,DӕH|@L~Mj$NtKN@oN@5KQ{GU7XRS)ZzFbYenXg)Eldllmc uokt;vsx\xYyZ~+'zx\zv` = fASv@O!/GҍDq[K?Y RM\J c6st8n%f33f̰B B Wkg/,ޒ.P3@]3@fY,r!rEiEBvvJ>}iK1>@ D09;0 Select a file CommonInfoMsg&:&OkDlgAbout"AB>@8O 87<5=5=89 ChangelogDlgAbout 2B>@KCreditsDlgAbout85@A8O ?5@52>40 8=B5@D59A0: Interface translation version: DlgAbout8F5=78OLicenceDlgAbout&@8<5G0=85: A;8 2K E>B8B5 ?><>GL =0< 7025@H8BL =5?>;=K9 ?5@52>4 8;8 ?5@525AB8 ?@8;>65=85 =0 4@C3>9 O7K:, =5 AB5A=O9B5AL >1@0I0BLAO : =0< =0 D>@C<.Note: If you want to help us or by completing an incomplete translation, or by translating the application into another language, do not hesitate to contact us on the forum.DlgAboutTexturemate TexturemateDlgAboutp-B0 ?@>3@0<<0 @0A?@>AB@>=O5BAO ?> ;8F5=788 GPL 25@A88 2:3This software is licensed under the GPL version 2 :DlgAbout5@52>4K TranslationDlgAbout,5@A8O ?5@52>40 WIKI: WIKI translation version: DlgAbout B@51C5B ?5@52>40 to translateDlgAbout >>@48=0BK: Coordinates:DlgApplicationSettingsZ0@0<5B@K @540:B>@0 (?@8 4>102;5=88 >1J5:B>2)% Editor options (when adding objects)DlgApplicationSettings 04@8@>20=85: Framing:DlgApplicationSettings&B<5=0&CancelDlgApplicationSettings&!?@02:0&HelpDlgApplicationSettings&:&OkDlgApplicationSettings,(:>4 O7K:0 ?> ISO 639)(ISO 639 language code)DlgApplicationSettings6(B>;L:> 4;O =>2KE ?@>5:B>2)(Only for new project)DlgApplicationSettingsd(C<5=LH8B5 MB> 7=0G5=85 4;O <54;5==>3> :><?LNB5@0)%(Reduce this value for slow computer)DlgApplicationSettings1 11 GbDlgApplicationSettings6;8B5;L=>ABL ?5@2>3> :04@0:1st shot duration:DlgApplicationSettings2 12 GbDlgApplicationSettings 256 1256 MbDlgApplicationSettings 512 1512 MbDlgApplicationSettings<html><head/><body><p><br/>0@0<5B@K A:>@>AB8 (?> C<>;G0=8N)</p></body></html>K


Default options for speed wave

DlgApplicationSettingsv<html><head/><body><p><br/>0@0<5B@K A5B8</p></body></html>=


Network settings

DlgApplicationSettings<html><head/><body><p><br/>@5420@8B5;L=K9 ?@>A<>B@</p></body></html><


Preview options

DlgApplicationSettings<html><head/><body><p><br/>0@0<5B@K ?@>5:B0 (?> C<>;G0=8N)</p></body></html>M


Project options (default values)

DlgApplicationSettingsz<html><head/><body><p><br/> 07=K5 =0AB@>9:8</p></body></html><


Various options

DlgApplicationSettings<html><head/><body><p>?@545;O5B :>;8G5AB2> ?0<OB8, 8A?>;L7C5<>9 2 :0G5AB25 :MH-?0<OB8 ffDiaporama. -B>B ?0@0<5B@ 2065=, ?>A:>;L:C ?>72>;O5B 040?B8@>20BL ffDiaporama ?>4 20H :><?LNB5@.</p></body></html>

Defines the quantity of memory used as cache memory by ffDiaporama. This parameter is important because it allows to adapt ffDiaporama to your hardware.

DlgApplicationSettingsZ<html><head/><body><p>-B0 3@C??0 =0AB@>5: ?@8<5=O5BAO : =>2><C 87>1@065=8N 8;8 2845>, A>740==K< 87 3;02=>3> >:=0 A ?><>ILN :=>?:8 <img src=":/img/add_image.png"/>".<br><br>;O :064>3> D>@<0B0 87>1@065=8O 8 :064>9 35><5B@88 ?@>5:B0 2K15@8B5 AB8;L @0A?>;>65=8O, ?@8<5=O5<K9 : =>2K< 1;>:0<. <br>- !B8;L :04@8@>20=8O >?@545;O5B :0: >1@5705BAO 87>1@065=85, 4;O >15A?5G5=8O 53> A>2<5AB8<>AB8 A 1;>:><, 2 :>B>@>< >=> >B>1@0605BAO..<br>-!B8;L ?>78F8>=8@>20=8O >?@545;O5B @07<5@, :>>@48=0BK, 2@0I5=85 8 >3@0=8G5=8O 35><5B@88, ?@8<5=O5<K5 : 1;>:0<.</p></body></html>

This group of settings applies to the new image or video blocks created from the main window by means of the button.

For every image format and every project geometry select the style of location to applied to the new blocks.
- Framing styles define how to crop the image to make it compatible with the block in which is displayed.
- The positioning styles define the the size, coordinates, rotations and geometric constraint to apply to blocks.

DlgApplicationSettingsv<html><head/><body><p>-B0 3@C??0 =0AB@>5: ?@8<5=O5BAO : =>2><C 87>1@065=8N 8;8 2845>, A>740==K< 2 >:=5 @540:B8@>20=8O A;0940 A ?><>ILN :=>?:8 <img src=":/img/add_image.png"/>".<br/><br/>;O :064>3> D>@<0B0 87>1@065=8O 8 :064>9 35><5B@88 ?@>5:B0 2K15@8B5 AB8;L @0A?>;>65=8O, ?@8<5=O5<K9 : =>2K< 1;>:0<. <br/>-!B8;L :04@8@>20=8O >?@545;O5B :0: >1@5705BAO 87>1@065=85, 4;O >15A?5G5=8O 53> A>2<5AB8<>AB8 A 1;>:><, 2 :>B>@>< >=> >B>1@0605BAO.<br/>-!B8;L ?>78F8>=8@>20=8O >?@545;O5B @07<5@, :>>@48=0BK, 2@0I5=85 8 >3@0=8G5=8O 35><5B@88, ?@8<5=O5<K5 : 1;>:0<.</p></body></html>

This group of settings applies to the new image or video blocks created in slide dialogue by means of the button.

For every image format and every project geometry select the style of location to applied to the new blocks.
- Framing styles define how to crop the image to make it compatible with the block in which is displayed.
- The positioning styles define the the size, coordinates, rotations and geometric constraint to apply to blocks.

DlgApplicationSettingsv<html><head/><body><p>-B0 3@C??0 =0AB@>5: ?@8<5=O5BAO : =>2K< B5:AB>2K< 1;>:0<, A>740==K< 2 >:=5 @540:B8@>20=8O A;0940 A ?><>ILN :=>?:8 <img src=":/img/add_text.png"/>".</p></body></html>

This group of settings applies to the new text blocks created in slide dialogue by means of the button.

DlgApplicationSettings^@8<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Accept modification and exit dialog boxDlgApplicationSettings:B828@>20BL D8;LB@ CAB@0=5=8O G5@5AAB@>G=>AB8 ?@8 4>102;5=88 =>2>3> 2845> 2 D>@<0B5 MTS3Activate deinterlace filter when add new MTS videosDlgApplicationSettings;L1>< :Album :DlgApplicationSettings>72>;O5B 2K1@0BL 1;>:8@>2:C 35><5B@88, ?@8<5=O5<CN : =>2K< 1;>:0< B5:AB0. -  071;>:8@>20BL: A2>1>4=0O D>@<0 1;>:0 - 01;>:8@>20BL 35><5B@8N ?@>5:B0: D>@<0 1;>:0 8<55B B0:CN 65 D>@<C, GB> 8 87>1@065=85Allows to Select the geometric constraint applied to the new text blocks. - Unlock: The shape of the block is free - Lock to project geometry: The shape of the block has the same shape as the imageDlgApplicationSettings.>72>;O5B 2K1@0BL AB8;L A8<2>;>2, ?@8<5=O5<K9 : =>2K< 1;>:0< B5:AB0. -B>B AB8;L >?@545;O5B H@8DB, 53> @07<5@, F25B 8 MDD5:B B5=8, ?@8<5=O5<K9 : B5:ABC.Allows to select the characters style applied to the new text blocks. This style defines the font, its size, its color and the shadow effects applied to the text.DlgApplicationSettings>72>;O5B 2K1@0BL AB8;L A8<2>;>2, ?@8<5=O5<K9 : =>2K< 1;>:0< B5:AB0. -B>B AB8;L >?@545;O5B H@8DB, 53> @07<5@, F25B 8 MDD5:B B5=8, ?@8<5=O5<K9 : B5:ABC. @8<5G0=85: MB0 =0AB@>9:0 ?@8<5=O5BAO 4;O 2A5E D>@<0B>2.Allows to select the characters style applied to the text of the blocks. This style defines the font, its size, its color and the shadow effects applied to the text. Remark: This setting apply to all image formats.DlgApplicationSettings>72>;O5B 2K1@0BL B8? D>=0, ?@8<5=O5<K9 : =>2><C B5:AB>2><C 1;>:C. -B>B AB8;L >?@545;O5B ?@>7@0G=>ABL 1;>:0 8 53> 70;82:C.Allows to select the style of background applied to the new text blocks. This style defines the transparency of the block and its filling.DlgApplicationSettings>72>;O5B 2K1@0BL B8? D83C@K, ?@8<5=O5<K9 : =>2><C B5:AB>2><C 1;>:C. -B>B AB8;L >?@545;O5B D>@<C (?@O<>C3>;L=8:, :@C3, ...), 3@0=8FK, =5?@>7@0G=>ABL 8 MDD5:B B5=8, ?@8<5=O5<K9 : 1;>:C. @8<5G0=85: MB0 =0AB@>9:0 ?@8<5=O5BAO 4;O 2A5E D>@<0B>2.Allows to select the style of the shape applied to the new text blocks. This style defines the shape (rectangle, circle, …), the border, the opaqueness and the shadow effect applied to the block. Remark: This setting apply to all image formats.DlgApplicationSettingsp>72>;O5B 2K1@0BL B8? D83C@K, ?@8<5=O5<K9 : =>2><C B5:AB>2><C 1;>:C. -B>B AB8;L >?@545;O5B D>@<C (?@O<>C3>;L=8:, :@C3, ...), 3@0=8FK, =5?@>7@0G=>ABL 8 MDD5:B B5=8, ?@8<5=O5<K9 : 1;>:C.Allows to select the style of the shape to applied to the new text blocks. This style defines the shape (rectangle, circle, …), the border, the opaqueness and the shadow effect applied to the block.DlgApplicationSettingsj>72>;O5B 2K1@0BL 4;O 35><5B@88 :064>3> ?@>5:B0 AB8;L @0A?>;>65=8O, ?@8<5=O5<K9 : =>2K< B5:AB>2K< 1;>:0<. -B>B AB8;L >?@545;O5B @07<5@, :>>@48=0BK, ?>2>@>BK 8 >3@0=8G5=8O 35><5B@88.Allows to select, for every project geometry, the style of the location applied to the new text blocks. This style defines the size, the coordinates, the rotations and the geometrical constraint.DlgApplicationSettings^B:@K205B 480;>3>2>5 >:=> ?@>25@:8 :>=D83C@0F885Allows you to open the Check configuration dialog boxDlgApplicationSettingsbB:@K205B 480;>3>2>5 >:=> C?@02;5=8O CAB@>9AB20<8/Allows you to open the Manage device dialog boxDlgApplicationSettings0>1028BL 2 :>=5F ?@>5:B0Append at project endDlgApplicationSettings&0@0<5B@K ?@>3@0<<KApplication OptionsDlgApplicationSettings&0@0<5B@K ?@>3@0<<KApplication optionsDlgApplicationSettings&0AB@>9:8 ?@>3@0<<KApplication settingsDlgApplicationSettings0?@0H820BL ?>4B25@645=85 ?@8 C40;5=88 A;0940, >1J5:B0 8;8 :04@05Ask user confirmation to remove slide, object or shotDlgApplicationSettingsC48> :>45:: Audio codec :DlgApplicationSettings 2B>@:Author :DlgApplicationSettingsf2B><0B8G5A:8 >1@570BL 2845> 1920x1088 4> 1920x1080/Automatically crop 1920x1088 video to 1920x1080DlgApplicationSettings$>= BackgroundDlgApplicationSettings8B@59B: Bit rate :DlgApplicationSettings=8<0F8O 1;>:0:Block animation:DlgApplicationSettings\B<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Cancel modification and exit dialog boxDlgApplicationSettings,@>25@8BL :>=D83C@0F8NCheck ConfigurationDlgApplicationSettings#AB0=>28B5 MB>B D;06>:, 5A;8 2 20H59 A5B8 B@51C5BAO 8A?>;L7>20=85 ?@>:A8-A5@25@0>@48=0BK CoordinatesDlgApplicationSettings$48=8FK 87<5@5=8O:Coordinates unit :DlgApplicationSettingsv>?>;=8B5;L=K5 ?0@0<5B@K A>740=8O 2845>D09;0 (?> C<>;G0=8N)"Default advanced rendering optionsDlgApplicationSettings0@0<5B@K A>740=8O 2845>D09;0 4;O @07;8G=KE CAB@>9AB2 (?> C<>;G0=8N)%Default device mode rendering optionsDlgApplicationSettings$/7K: ?> C<>;G0=8N:Default language :DlgApplicationSettings0@0<5B@K =>2>3> 87>1@065=8O 8;8 2845> (?> C<>;G0=8N - ?@8 4>102;5=88 1;>:0)PDefault options for new image or video block (when adding block in slide dialog)DlgApplicationSettings0@0<5B@K =>2>3> 87>1@065=8O 8;8 2845> (?> C<>;G0=8N - ?@8 A>740=88 A;0940)BDefault options for new image or video block (when creating slide)DlgApplicationSettings`0@0<5B@K =>2>3> B5:AB>2>3> 1;>:0 (?> C<>;G0=8N)"Default options for new text blockDlgApplicationSettingsX0@0<5B@K A>740=8O 0C48>D09;0 (?> C<>;G0=8N)$Default soundtrack rendering optionsDlgApplicationSettings,1;>6:0 ?> C<>;G0=8N :Default thumbnail :DlgApplicationSettings*5@5E>4 ?> C<>;G0=8N:Default transition:DlgApplicationSettings4<O 2845> (?> C<>;G0=8N) :Default video name :DlgApplicationSettings:K1@0BL 4;8B5;L=>ABL ?5@5E>40Define the transition durationDlgApplicationSettingsB?@545;O5B <5B>4 02B><0B8G5A:>3> 70?>;=5=8O =0720=8O ?@>5:B0: - 57 02B>70?>;=5=8O: 2K 4>;6=K 1C45B5 7040BL =0720=85 2@CG=CN - A?>;L7>20BL 8<O ?@>5:B0 ?@8 A>E@0=5=88: =0720=85 1C45B B0:8< 65, :0: 8<O ffd D09;0 - A?>;L7>20BL 8<O ?0?:8 ?@>5:B0 ?@8 A>E@0=5=88: =0720=85 1C45B B0:8< 65, :0: 8<O ?0?:8, 345 =0E>48BAO ffd D09; @8<5G0=85: MB> ?>;5 =5 4>;6=> ?@52KH0BL 30 A8<2>;>2, GB>1K A>E@0=8BL A>2<5AB8<>ABL A jukeboxDefines the automatic filling method to use for the title's project properties: - No automatic filling : You will have to define manually the title - Fill with project name when project save : The title will take the same name as the .ffd file - Fill with project folder name when project save : The title will take the same name as the folder where the file .ffd is saved Note: this field is limited to 30 characters to remain compatible with jukeboxDlgApplicationSettingsp?@545;O5B 4;8B5;L=>ABL A;54CNI8E :04@>2 (?> C<>;G0=8N)..Defines the default duration of further shots.DlgApplicationSettings?@545;O5B 4;8B5;L=>ABL ?5@2>3> :04@0 ?> C<>;G0=8N 4;O A;094>2 2> 2@5<O 8E A>740=8O.PDefines the default duration of the first shot for slides during their creation.DlgApplicationSettings.2548B5 7=0G5=85 ?> C<>;G0=8N 4;O ?>;O ;L1>< @8<5G0=85: MB> ?>;5 =5 4>;6=> ?@52KH0BL 30 A8<2>;>2 4;O >15A?5G5=8O A>2<5AB8<>AB8 A <C;LB8<5480 ?;55@0<8|Defines the default value for the field Album Note: this field is limited to 30 characters to remain compatible with jukeboxDlgApplicationSettings?@545;O5B 7=0G5=85 ?> C<>;G0=8N 4;O ?>;O 2B>@ (G0AB> B0:65 8<5=C5BAO @B8AB <C;LB8<5480 A8AB5<0<8) @8<5G0=85: MB> ?>;5 =5 4>;6=> ?@52KH0BL 30 A8<2>;>2 4;O >15A?5G5=8O A>2<5AB8<>AB8 A <C;LB8<5480 ?;55@0<8Defines the default value for the field Author (often so called Artist by Media Center Systems) Note: this field is limited to 30 characters to remain compatible with jukeboxDlgApplicationSettingsN#AB0=>2:0 ?0@0<5B@>2 O7K:0 ?> C<>;G0=8N0Defines the default value for the field LanguageDlgApplicationSettings?@545;O5B G0AB>BC 72C:0 4;O 2>A?@>872545=8O ?@8 ?@5420@8B5;L=>< ?@>A<>B@5.ADefines the frequency of the sound generated to show the preview.DlgApplicationSettingsxK1@0BL H01;>=, 8A?>;L7C5<K9 2 :0G5AB25 >1;>6:8 ?> C<>;G0=8N*Defines the model use as default thumbnailDlgApplicationSettings?@545;O5B :>;8G5AB2> :04@>2 2 A5:C=4C, :>B>@>5 1C45B 8A?>;L7>20BLAO ?@8 ?@54?@>A<>B@5. @8<5G0=85: G5< 2KH5 MB> G8A;>, B5< 1>;55 3;04:8< 1C45B ?@>A<>B@. ! 4@C3>9 AB>@>=K ?>B@51C5BAO 1>;LH5 @5AC@A>2 :><?LNB5@0. #<5=LH8B5 MB> 7=0G5=85 =0 <54;5==KE :><?LNB5@0E 8;8 5A;8 40BG8: 20H53> <C;LB8<5480?@>83@K20B5;O G0AB> =0E>48BAO 2 :@0A=>9 7>=5.CDefines the number of images per second which will be generated to show the preview. Note: the higher this number, the more smooth the preview will be. On the other hand, more computer resources will be required. Reduce this number on slow computers or if the gauge for your multimedia reader is frequently in the red zone.DlgApplicationSettingsdB:;NG8BL 2A?;K20NI85 ?>4A:07:8 2 480;>3>2KE >:=0EDisable tooltips in dialog boxDlgApplicationSettings<48=8F0 87<5@5=8O @0AAB>O=8O :Distance unit :DlgApplicationSettings~:;NG8BL "@0AB@>2CN" @0D8G5A:CN !8AB5<C (B@51C5BAO ?5@570?CA:):Enable "raster" Graphics System (Need application restart)DlgApplicationSettings@>2KH5==0O A>2<5AB8<>ABL A id3v2Enhance id3v2 comptatibilityDlgApplicationSettings82548B5 04@5A ?@>:A8-A5@25@0Enter address of the proxy hostDlgApplicationSettings2548B5 8<O ?>;L7>20B5;O 4;O 4>ABC?0 : ?@>:A8 8;8 >AB02LB5 ?CABK<, 5A;8 ;>38= =5 B@51C5BAOKEnter the login name to access the proxy or nothing if no login is requiredDlgApplicationSettings2548B5 ?0@>;L ?>;L7>20B5;O 4;O 4>ABC?0 : ?@>:A8 8;8 >AB02LB5 ?CABK<, 5A;8 ?0@>;L =5 B@51C5BAOOEnter the login password to access the proxy or nothing if no login is requiredDlgApplicationSettings2548B5 =><5@ ?>@B0 4;O 4>ABC?0 : ?@>:A8 8;8 >AB02LB5 ?CABK<, GB>1K 8A?>;L7>20BL ?>@B ?> C<>;G0=8NHEnter the port number to access the proxy or nothing to use default portDlgApplicationSettings$>@<0B D09;0: File format :DlgApplicationSettingsA?>;L7>20BL 8<O ?0?:8 ?@>5:B0 ?@8 A>E@0=5=88 (5A;8 =5 >?@545;5=>)DFill with project folder name when project save (if not yet defined)DlgApplicationSettingsxA?>;L7>20BL 8<O ?@>5:B0 ?@8 A>E@0=5=88 (5A;8 =5 >?@545;5=>)=Fill with project name when project save (if not yet defined)DlgApplicationSettings#AB0=>28B5 MB>B D;06>: 4;O 1>;LH59 A>2<5AB8<>AB8 A> AB0=40@B>< id3v2 (>3@0=8G5=85 ?>;59 0720=85, 2B>@ 8 ;L1>< 30 A8<2>;0<8)wFor more compatibility with the standard id3v2, check this box to limit Title, Author and Album fields to 30 charactersDlgApplicationSettings=B5@=5B: For the WEB :DlgApplicationSettings$>@<0B:Format :DlgApplicationSettings'0AB>B0 :04@>2: Frame rate :DlgApplicationSettings!B8;L >1@0<;5=8O >?@545;O5B :0: >1@5705BAO 87>1@065=85, 4;O >15A?5G5=8O 53> A>2<5AB8<>AB8 A 1;>:><, 2 :>B>@>< >=> >B>1@0605BAO.gFraming styles define how to crop the image to make it compatible with the block in which is displayed.DlgApplicationSettings'0AB>B0: Frequency :DlgApplicationSettingsjF (C<5=LH8B5 MB> 7=0G5=85 4;O <54;5==>3> :><?LNB5@0)(Hz (Reduce this value for slow computer)DlgApplicationSettingsA;8 MB>B D;06>: CAB0=>2;5=, B> D8;LB@ CAB@0=5=8O G5@5AAB@>G=>AB8 1C45B 02B><0B8G5A:8 0:B828@>20= 4;O 2A53> .mts 2845>, 4>102;5==>3> 2 ?@>5:B. @8<5G0=85: =5:>B>@K5 ?@>872>48B5;8 2K?CA:0NB 2845>, 8A?>;L7CO @568< G5@5AAB@>G=>9 @0725@B:8. =8 45;0NB MB>, GB>1K CA:>@8BL :>48@>20=85. @>1;5<0 2 B><, GB> >= 8A:0605B 87>1@065=85, =0 :>B>@>< ?>O2;ONBAO ;8=88 42865=8O. ;O ?>;CG5=8O 4>?>;=8B5;L=>9 8=D>@<0F88 ?> 2845> A G5@5AAB@>G=>9 @0725@B:>9, A<. A>>B25BAB2CNICN AB0BLN 2 8:8?5488.If the Activate deinterlace filter when add new MTS videos is checked, deinterlace filter will automatically be activated for all .mts videos added to the project. Remark: Some manufacturers produce videos using interlaced mode. They make it to accelerate the encoding. The problem is it deforms the image on which moved lines appear. For more information on interlaced video, see Wikipedia page on interlaced video.DlgApplicationSettings.A;8 MB>B D;06>: CAB0=>2;5=, B> 2845>87>1@065=85 02B><0B8G5A:8 >1@5705BAO. @8<5G0=85: =5:>B>@K5 ?@>872>48B5;8 A>740NB FullHD 2845> A @07@5H5=85< 1920 1088, 0 =5 1920 1080. =8 45;0NB MB> 4;O CA:>@5=8O :>48@>20=8O, :>B>@>5 ?@>8AE>48B 1KAB@55 5A;8 :@0B=> 16 ;8=8O<. > MB>B @07<5@ =5 16:9. @8 2?8A0=88 2 M:@0= 87>1@065=8O F5;8:><, 157 45D>@<0F88 ?>O2;ONBAO G5@=K5 ?>;>AK ?> 1>:0<. 'B>1K 871560BL 2A5E MB8E ?@>1;5<, CAB0=>28B5 MB>B D;06>: 8 B0:>5 2845> 1C45B >1@570=> 4> @07<5@0 1920 1080. > 4 AB@>:8 >1@5705BAO A25@EC 8 A=87C.RIf the Automatically crop 1920×1088 video to 1920×1080 is checked then video images are automatically cropped. Remark: Some manufacturers produce FullHD videos 1920×1088 rather than 1920×1080. They make it to accelerate the encoding which is faster with a multiple of 16 lines. But this size is not 16:9. To keep the whole image, not only the image is deformed to fit into the screen but besides black bands appear on the sides. To avoid all these problems, by checking this box, these videos are truncated to be returned to the 1920×1080 sizes. Then 4 lines are cut at the top and bottom.DlgApplicationSettingsA;8 MB>B D;06>: CAB0=>2;5=, XMBC .nfo D09; 1C45B A>740= 2<5AB5 A 2845>D09;><.HIf this box is checked then a XMBC .nfo file will be created with video.DlgApplicationSettingsA;8 MB>B D;06>: CAB0=>2;5=, >1;>6:0 1C45B A>740=0 2<5AB5 A 2845>D09;><.HIf this box is checked then a thumbnail file will be created with video.DlgApplicationSettingslA;8 MB>B D;06>: CAB0=>2;5=, B> 70?@>A =0 ?>4B25@645=85 1C45B >B>1@060BLAO ?@8 :064>< C40;5=88 >1J5:B0: - A;0940 87 3;02=>3> >:=0 - :04@0 8;8 1;>:0 87 480;>3>2>3> >:=0 A2>9AB2 A;0940If this box is checked, a confirmation prompt will be displayed every time you remove an object: - A slide from the main window -A shot or block from the slide properties dialog boxDlgApplicationSettingsA;8 MB>B D;06>: CAB0=>2;5=, ?@8 ?>O2;5=88 =>2>9 25@A88 2> 2@5<O 70?CA:0 ?>O28BAO 480;>3>2>5 >:=>.jIf this box is checked, a dialog box will appear at startup the next time a new version will be available.DlgApplicationSettingsXA;8 MB>B D;06>: CAB0=>2;5=, ?0?:8 A 87>1@065=8O<8, 2845>, ?@>5:B0<8, <C7K:>9 8 A>740==K< D8;L<>< 1C4CB 70?><=5=K 8 ?>2B>@=> 8A?>;L7>20=K ?@8 A;54CNI5< 70?CA:5 ffDiaporama.If this box is checked, the directories for images, videos, projects, music and the generation of your movie will be saved and reused the next time you use ffDiaporama.DlgApplicationSettingsRA;8 MB>B D;06>: CAB0=>2;5=, 1C45B 8A?>;L7>20BLAO @0AB@>20O 3@0D8G5A:0O A8AB5<0 2<5AB> 3@0D8G5A:>9 A8AB5<K ?> C<>;G0=8N. -B>B ?0@0<5B@ 2ABC?8B 2 A8;C B>;L:> ?>A;5 ?5@570?CA:0 ?@>3@0<<K.  0AB@>20O 3@0D8:0 CA:>@O5B >B>1@065=85, => <>65B 2K720BL ?@>1;5<K =0 =5:>B>@KE :><?LNB5@0E, 2 G0AB=>AB8 A KDE.If this box is checked, the graphic system "raster" is used instead of the default graphic system. This option is used only at application start up. The "raster" Graphics accelerates the display but can raise problems on some computer in particular with KDE.DlgApplicationSettings*A;8 MB>B D;06>: CAB0=>2;5=, B> MDD5:B A3;06820=8O 87>1@065=89 1C45B ?@8<5=5= 2> 2@5<O ?@54?@>A<>B@0. @8<5G0=85: MB>B MDD5:B ?>B@51;O5B <=>3> @5AC@A>2 8 <>65B ?@825AB8 : <54;5==><C ?@54?@>A<>B@C =0 A;01KE :><?LNB5@0E. !=8<8B5 MB>B D;06>:, GB>1K 25@=CBL A:>@>ABL ?@54?@>A<>B@0.If this box is checked, the image smoothing effect will be applied to the images during the preview. Remark: This effect consumes lots of resources and can result in slow preview on small machines. Unchecking this box allows then to keep a fluid preview.DlgApplicationSettings A;8 MB>B D;06>: CAB0=>2;5=, @07<5@K 8 ?>;>65=85 2A5E >:>= 8 480;>3>2 1C4CB 70?><=5=K 8 ?>2B>@=> 8A?>;L7>20=K ?@8 A;54CNI5< 70?CA:5 ffDiaporama.If this box is checked, the sizes and the positions of all windows and dialogs will be saved and reused the next time you use ffDiaporama.DlgApplicationSettingsA;8 MB>B D;06>: CAB0=>2;5=, 2A?;K20NI85 ?>4A:07:8 1>;LH5 =5 1C4CB ?>O2;OBLAO 2 480;>3>2KE >:=0E.lIf this box is checked, tooltips will no longer appear in dialog boxes (only what's this will be available).DlgApplicationSettings*=8<0F8O 87>1@065=8O:Image animation:DlgApplicationSettings>7>1@065=85 - ;0=4H0DB=K9 @568<Image landscapeDlgApplicationSettings2!3;06820=85 87>1@065=89 :Image smoothing :DlgApplicationSettings>AB028BL ?>A;5 B5:CI53> >1J5:B0Insert after current objectDlgApplicationSettings`@8A>548=8BL XBMC .nfo D09; : A>740205<><C D09;C$Join XBMC .nfo file to rendered fileDlgApplicationSettingsR@8A>548=8BL >1;>6:C : A>740205<><C D09;CJoin thumbnail to rendered fileDlgApplicationSettings8;><5B@K KilometersDlgApplicationSettings>;5 4>;6=> 1KBL ?CABK< 8;8 A>45@60BL :>4 O7K:0 ?> ISO 639 (3 A8<2>;0) !<>B@8B5 A?@02:C 4;O 1>;55 ?>4@>1=>9 8=D>@<0F88!\Language must be empty or an ISO 639 language code (3 characters) See help for more details!DlgApplicationSettingsK1@0BL O7K:Language selectionDlgApplicationSettings;>:8@>2:0LockingDlgApplicationSettings>38= :Login :DlgApplicationSettings&!60B85 157 ?>B5@L : Lossless :DlgApplicationSettingsMM/dd/yyyy MM/dd/yyyyDlgApplicationSettings.#?@02;5=85 CAB@>9AB20<8Manage DevicesDlgApplicationSettingsX0:A8<0;L=0O 2KA>B0 2845> ?@8 ?@54?@>A<>B@5:Max video preview height :DlgApplicationSettings @>D8;L ?0<OB8 :Memory profil :DlgApplicationSettings8;8MilesDlgApplicationSettings(C;LB8<5480 A8AB5<0:Multimedia system :DlgApplicationSettingsNTSCNTSCDlgApplicationSettings<;8B5;L=>ABL A;54CNI53> :04@0:Next shot duration:DlgApplicationSettings$57 02B>70?>;=5=8ONo automatic fillingDlgApplicationSettings"#40;5=85 >1J5:B0:Object deletion :DlgApplicationSettings$>;>65=85 >1J5:B0:Object position :DlgApplicationSettings~@54;030BL >B:@KBL AB@0=8FC 703@C7:8 ?@8 ?>O2;5=88 =>2>9 25@A88COffer to open the download Web page when a new version is availableDlgApplicationSettings!B0@K9 " (4:3) Old TV (4:3)DlgApplicationSettingsPALPALDlgApplicationSettings0@>;L : Password :DlgApplicationSettings@>F5=BKPercentDlgApplicationSettings0$>B> - ;0=4H0DB=K9 @568<Photo landscapeDlgApplicationSettings.$>B> - ?>@B@5B=K9 @568<Photo portraitDlgApplicationSettings8:A5;8PixelDlgApplicationSettings"0@0<5B@K ?@>5:B0Project OptionsDlgApplicationSettings$5><5B@8O ?@>5:B0:Project geometry:DlgApplicationSettings>!2>9AB20 ?@>5:B0 (?> C<>;G0=8N)#Project properties (default values)DlgApplicationSettings@>:A8 04@5A :Proxy address :DlgApplicationSettings >@B : Proxy port :DlgApplicationSettingsN0?><8=0BL ?>A;54=NN 8A?>;L7C5<CN ?0?:CRemember last used foldersDlgApplicationSettings@0?><8=0BL @07<5@ 8 ?>78F8N >:>=%Remember size and position of windowsDlgApplicationSettings00@0<5B@K A>740=8O D09;0Rendering OptionsDlgApplicationSettingsFA?>;L7>20BL AB0@K9 0C48> @568< SDLSDL Audio use old modeDlgApplicationSettingstK15@8B5 0C48> :>45: 4;O A>740205<>3> D09;0 (?> C<>;G0=8N)7Select the default audio codec to use for the renderingDlgApplicationSettingspK15@8B5 18B@59B 0C48> A>740205<>3> D09;0 (?> C<>;G0=8N)ASelect the default bit rate to use for audio during the renderingDlgApplicationSettingspK15@8B5 18B@59B 2845> A>740205<>3> D09;0 (?> C<>;G0=8N)ASelect the default bit rate to use for video during the renderingDlgApplicationSettingsbK15@8B5 D>@<0B A>740205<>3> D09;0 (?> C<>;G0=8N)5Select the default file type to use for the renderingDlgApplicationSettingsrK15@8B5 G0AB>BC 0C48> A>740205<>3> D09;0 (?> C<>;G0=8N).CSelect the default frequency to use for audio during the rendering.DlgApplicationSettingsK15@8B5 D>@<0B 87>1@065=8O A>740205<>3> 2845>D09;0 (?> C<>;G0=8N)8Select the default image format to use for the renderingDlgApplicationSettingstK15@8B5 2845> :>45: 4;O A>740205<>3> D09;0 (?> C<>;G0=8N)7Select the default video codec to use for the renderingDlgApplicationSettingsfK15@8B5 8A?>;L7C5<K9 AB0=40@B 2845>, PAL 8;8 NTSC 5Select the default video standard to use, PAL or NTSCDlgApplicationSettingsK15@8B5 <>45;L >1>@C4>20=8O, :>B>@0O 1C45B ?@54;>65=0 ?> C<>;G0=8N ?@8 =060B88 :=>?:8 "=B5@=5B" 2 <5=N "!>740BL D8;L<"Select the model of equipment which will be proposed by default when you click the "For the WEB" button in the "Render movie" menuDlgApplicationSettingsK15@8B5 <>45;L >1>@C4>20=8O, :>B>@0O 1C45B ?@54;>65=0 ?> C<>;G0=8N ?@8 =060B88 :=>?:8 "C;LB8<5480 A8AB5<0" 2 <5=N "!>740BL D8;L<"Select the model of equipment which will be proposed by default when you click the "Multimedia system" button in the "Render movie" menuDlgApplicationSettingsK15@8B5 <>45;L >1>@C4>20=8O, :>B>@0O 1C45B ?@54;>65=0 ?> C<>;G0=8N ?@8 =060B88 :=>?:8 ";55@ 8 A<0@BD>=" 2 <5=N "!>740=85 2845>"Select the model of equipment which will be proposed by default when you click the "Player and Smartphone" button in the "Render movie" menuDlgApplicationSettingsK15@8B5 284 >1>@C4>20=8O, :>B>@K9 1C45B ?@54;>65= ?> C<>;G0=8N ?@8 =060B88 :=>?:8 "=B5@=5B" 2 <5=N "!>740=85 2845>"Select the type of equipment which will be proposed by default when you click the "For the WEB" button in the "Render movie" menuDlgApplicationSettingsK15@8B5 284 >1>@C4>20=8O, :>B>@K9 1C45B ?@54;>65= ?> C<>;G0=8N ?@8 =060B88 :=>?:8 "C;LB8<5480 A8AB5<0" 2 <5=N "!>740=85 2845>"Select the type of equipment which will be proposed by default when you click the "Multimedia system" button in the "Render movie" menuDlgApplicationSettingsK15@8B5 284 >1>@C4>20=8O, :>B>@K9 1C45B ?@54;>65= ?> C<>;G0=8N ?@8 =060B88 :=>?:8 ";55@ 8 A<0@BD>=" 2 <5=N "!>740=85 2845>"Select the type of equipment which will be proposed by default when you click the "Player and Smartphone" button in the "Render movie" menuDlgApplicationSettingsK1>@ 35><5B@88 87>1@065=8O, 8A?>;L7C5<>9 ?@8 A>740=88 ?@>5:B>2. >ABC?=> B@8 35><5B@88: - 4:3: A>>B25BAB2C5B AB0@><C B5;5287>@C A (?>GB8) :204@0B=K< M:@0=>< - 16:9: A>>B25BAB2C5B A>2@5<5==><C B5;5287>@C A ?@O<>C3>;L=K< M:@0=>< - 2.35:1: A>>B25BAB2C5B D>@<0BC :8=> (=0 M:@0=5 B5;5287>@0, MB> D>@<0B ?@82545B : ?>O2;5=8N G5@=KE ?>;>A 225@EC 8 2=87C). @8<5G0=85: 35><5B@8O ?@>5:B0 >?@545;O5BAO ?@8 53> A>740=88 >48= @07 8 =02A5340. 5 =52>7<>6=> 87<5=8BL 2?>A;54AB288.Selects the image geometry to be used for the creation of projects. Three geometries are available : - 4:3 : Corresponds to an old TV with (almost) square screen - 16:9 : Corresponds to a modern TV with rectangular screen - 2.35:1 : Corresponds to the Cinema format (on a TV, this format will use black strips at the top and below.) Note: the geometry of a project is defined once and for all when it is created. It is not possible to modify it afterwards.DlgApplicationSettings#AB0=>28BL >A=>2=>9 B8? ?5@5E>40 <564C A;0940<8: ?;02=>5 70BCE0=85YSet the default type of transition to be inserted between slides to: Crossfade transitionDlgApplicationSettingsz#AB0=>28BL >A=>2=>9 B8? ?5@5E>40 <564C A;0940<8: 157 ?5@5E>40RSet the default type of transition to be inserted between slides to: No transitionDlgApplicationSettings#AB0=>28BL >A=>2=>9 B8? ?5@5E>40 <564C A;0940<8: A;CG09=K< >1@07><iSet the default type of transition to be inserted between slides to: Randomly from the transition libraryDlgApplicationSettings#AB0=02;8205B A:>@>ABL 0=8<0F88 1;>:>2 =>2KE ?@>5:B>2 ?> C<>;G0=8NFSets the default speed curve for the blocks animations of new projectsDlgApplicationSettings#AB0=02;8205B A:>@>ABL 0=8<0F88 87>1@065=89 =>2KE ?@>5:B>2 ?> C<>;G0=8NMSets the default speed curve for the image effects animations of new projectsDlgApplicationSettingsx#AB0=02;8205B A:>@>ABL ?5@5E>4>2 =>2KE ?@>5:B>2 ?> C<>;G0=8N?Sets the default speed wave for the transitions of new projectsDlgApplicationSettings ?@545;O5B <0:A8<0;L=CN 2KA>BC 2845>, 8A?>;L7C5<>3> ?@8 ?@5420@8B5;L=>< ?@>A<>B@5. 845>, ?@52KH0NI55 MBC 2KA>BC, 1C45B 02B><0B8G5A:8 C<5=LH5=>.Sets the maximum height of videos used for the preview. Beyond this height, the videos are automatically reduced for creating images.DlgApplicationSettings $>@<0ShapeDlgApplicationSettings*@0B:89 D>@<0B 40BK :Short date format :DlgApplicationSettingsP>:070BL A?@02:C >1 MB>< 480;>3>2>< >:=5!Show help about this dialogue boxDlgApplicationSettings!<0@BD>=: Smartphone :DlgApplicationSettingsP!3;06820BL 87>1@065=85 ?@8 ?@54?@>A<>B@5Smooth image during previewDlgApplicationSettings8'0AB>B0 48A:@5B870F88 72C:0:Sound sample rate :DlgApplicationSettings0(8@>:>M:@0==K9 " (16:9)TV Wide (16:9)DlgApplicationSettings "5:ABTextDlgApplicationSettings!B8;L B5:AB0 Text styleDlgApplicationSettings:;04:0 "0@0<5B@K ?@>3@0<<K" ?>72>;O5B >?@545;OBL >1I55 ?>2545=85 ffDiaporama.QThe Application options tab allows to define the general behavior of ffDiaporama.DlgApplicationSettings:;04:0 "0@0<5B@K ?@>5:B0" ?>72>;O5B 7040BL =0AB@>9:8 ?> C<>;G0=8N :0: 4;O B5:CI53> ?@>5:B0, B0: 8 4;O =>2KE ?@>5:B>2.pThe Project options tab allows to define the options by default of the current project and for the new projects.DlgApplicationSettings:;04:0 "0@0<5B@K A>740=8O D09;0" ?>72>;O5B 7040BL =0AB@>9:8, 8A?>;L7C5<K5 ?> C<>;G0=8N ?@8 A>740=88 2845>.gThe Rendering options Tab allows to define the options used by default during the generation of videos.DlgApplicationSettings!B8;L ?>78F8>=8@>20=8O >?@545;O5B @07<5@, :>>@48=0BK, 2@0I5=85 8 >3@0=8G5=8O 35><5B@88, ?@8<5=O5<K5 : 1;>:0<.oThe positioning styles define the the size, coordinates, rotations and geometric constraint to apply to blocks.DlgApplicationSettings-B0 >?F8O ?>72>;O5B 2K1@0BL =0720=85, :>B>@>5 1C45B ?@54;>65=> ?> C<>;G0=8N 2> 2@5<O A>740=8O 2845>. =0 <>65B 1KBL ?@8<5=5=0 B>;L:> 5A;8 ?@>5:B 1K; A>E@0=5= 2?5@2K5. A?>;L7>20BL 8<O D09;0 ?@>5:B0 :0: =0720=85 2845>: 5A;8 8<O D09;0 ?@>5:B0 "assembly.ffd", B> =0720=85 2845> 1C45B "assembly" A?>;L7>20BL 8<O ?0?:8 ?@>5:B0 :0: =0720=85 2845>: 5A;8 8<O ?@>5:B0 "assembly.ffd" 8 >= A>E@0=5= 2 ?0?:5 ">8 ?@074=8:8 2011", B> =0720=85 2845> 1C45B " >8 ?@074=8:8 2011" A?>;L7>20BL 8<O ?@>5:B0 :0: =0720=85 2845>: 8A?>;L7>20=85 8<5=8 >?@545;5=> 2 A2>9AB20E ?@>5:B0 2 :0G5AB25 =0720=8O 2845>-This option allows to select the name which will be proposed by default during the rendering of videos. This option can be applied only if the project was saved at first. Use project name as video name: If the project name is assembly.ffd, then assembly will be the proposed name Use project folder's name as video name: If the project name is assembly.ffd and is saved in the My holidays 2011 directory, then My holidays 2011 will be the proposed name Use title project as video name: Use the title defined in the project properties as the name of videoDlgApplicationSettingsv-B0 >?F8O ?>72>;O5B 2K1@0BL 548=8FK 87<5@5=8O :>>@48=0B, :>B>@K5 1C4CB 8A?>;L7>20BLAO 2 480;>3>2>< >:=5 A2>9AB2. K <>65B5 2K1@0BL: - ?@>F5=BK: :>>@48=0BK (X, Y, H8@8=0 8 2KA>B0) 1C4CB 2K@065=K 2 ?@>F5=B0E, - ?8:A5;K: :>>@48=0BK (X, Y, H8@8=0 8 2KA>B0) 1C4CB 2K@065=K 2 ?8:A5;OE >B=>A8B5;L=> M:@0=0 2 @568<5 1080p2This option allows to select the unit for the coordinates which will be used in the properties dialog. You can choose: - Percentage: Coordinates (X, Y, Width and Height) are expressed in percentages - Pixel: Coordinates (X, Y, Width and Height) are expressed in pixels relative to a screen in 1080p modeDlgApplicationSettings|-B>B ?0@0<5B@ ?>72>;O5B @53C;8@>20BL ?>78F8N, 70=8<05<CN =>2K<8 >1J5:B0<8, 2AB02;O5<K<8 =0 H:0;C 2@5<5=8: - 5A;8 2K1@0= ?0@0<5B@ AB028BL ?>A;5 B5:CI53> >1J5:B0, B> =>2K5 A;094K 1C4CB A>74020BLAO ?>A;5 B5:CI53> A;0940. - 5A;8 2K1@0= ?0@0<5B@ >1028BL 2 :>=5F ?@>5:B0, B> =>2K5 A;094K 1C4CB A>74020BLAO 2 :>=F5 ?@>5:B0.LThis option allows you to adjust the positions occupied by new objects inserted into the timeline. - If Insert after the current selected object is selected, then the new slides will be created after the current slide. - If Append to the end of the project is selected, then the new slides will be created at the end of the project.DlgApplicationSettings-B>B ?0@0<5B@ ?>72>;O5B 2K1@0BL D>@<0B 2 :>B>@>< 1C45B >B>1@060BLAO 40B0.SThis option allows you to specify the format in which computed dates are displayed.DlgApplicationSettingsz-B>B ?0@0<5B@ ?>72>;O5B 2K1@0BL 548=8FC 87<5@5=8O @0AAB>O=8O.?This option lets you specify the unit to be used for distances.DlgApplicationSettings0720=85 :Title :DlgApplicationSettings5@5E>4: Transition:DlgApplicationSettingsTA?>;L7>20BL ?@>:A8 4;O 4>ABC?0 2 =B5@=5B"Use a proxy to access the InternetDlgApplicationSettingsbA?>;L7>20BL 8<O ?0?:8 ?@>5:B0 :0: =0720=85 2845>'Use project folder's name as video nameDlgApplicationSettingsbA?>;L7>20BL 8<O D09;0 ?@>5:B0 :0: =0720=85 2845>Use project name as video nameDlgApplicationSettingsVA?>;L7>20BL 8<O ?@>5:B0 :0: =0720=85 2845>Use title project as video nameDlgApplicationSettings845> :>45:: Video codec :DlgApplicationSettings1@57:0 2845>:Video cropping :DlgApplicationSettingsD#AB@0=5=85 G5@5AAB@>G=>AB8 2845> :Video deinterlacing :DlgApplicationSettings2845> - ;0=4H0DB=K9 @568<Video landscapeDlgApplicationSettings0845> - ?>@B@5B=K9 @568<Video portraitDlgApplicationSettings!B0=40@B 2845>:Video standard :DlgApplicationSettings:04@>2 2 A5:C=4C (C<5=LH8B5 MB> 7=0G5=85 4;O <54;5==>3> :><?LNB5@0))fps (Reduce this value for slow computer)DlgApplicationSettingsA;8 MB>B D;06>: CAB0=>2;5=, 8A?>;L7C5BAO AB0@K9 @568< SDL 0C48>. -B>B ?0@0<5B@ ?>;575= =0 =5:>B>@KE 48AB@81CB820E Linux, :>B>@K5 2A5 5I5 8A?>;L7CNB AB0@K5 ?0:5BK SDL (=0?@8<5@: Ubuntu 10.10 8 11.04, Fedora 14 8 15, 8 B.4.).if this box is checked, old setting mode is use for SDL Audio. This option is useful on some Linux distribution which still use the old SDL packages (For example: Ubuntu 10.10 and 11.04, Fedora 14 and 15, etc.).DlgApplicationSettings<7>1@065=85 - ?>@B@5B=K9 @568<image portraitDlgApplicationSettingsA5:secDlgApplicationSettingsundundDlgApplicationSettings&B<5=0&CancelDlgAutoTitleSlide<&@5>1@07>20BL 2 >1KG=K9 A;094&Convert to standard slideDlgAutoTitleSlide&!?@02:0&HelpDlgAutoTitleSlide&:&OkDlgAutoTitleSlide"&!2>9AB20 ?@>5:B0&Project propertiesDlgAutoTitleSlide^@8<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Accept modification and exit dialog boxDlgAutoTitleSlide`@8<5=8BL 87<5=5=8O 8 ?5@59B8 =0 A;54CNI89 A;094(Accept modification and go to next slideDlgAutoTitleSlideh@8<5=8BL 87<5=5=8O 8 25@=CBLAO : ?@54K4CI5<C A;094C,Accept modification and go to previous slideDlgAutoTitleSlide2>1028BL A;094 87 H01;>=0Add a predefined title slideDlgAutoTitleSlide\B<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Cancel modification and exit dialog boxDlgAutoTitleSlide0B53>@8O: Category:DlgAutoTitleSlideJ0B0 3;02K >B;8G05BAO >B 40BK ?@>5:B0(Chapter date different from project dateDlgAutoTitleSlider5AB>?>;>65=85 3;02K >B;8G05BAO >B <5AB>?>;>65=8O ?@>5:B00Chapter location different from project locationDlgAutoTitleSlide0720=85 3;02K: Chapter name:DlgAutoTitleSlide0720=85 3;02K Chapter titleDlgAutoTitleSlide4#40;8BL MB> <5AB>?>;>65=85Clear this locationDlgAutoTitleSlide0:;NG8B5;L=K9 Credit titleDlgAutoTitleSlide07<5=5=85 H01;>=0 A;0940Edit a predefined title slideDlgAutoTitleSlideP2548B5 745AL 40BC 3;02K 2 ;N1>< D>@<0B54Enter here a date, in a free format, for the chapterDlgAutoTitleSlide2548B5 745AL =0720=85 3;02K (5A;8 CAB0=>2;5= D;06>: "<O 3;02K >B;8G05BAO >B 8<5=8 A;0940").eEnter here the title of the chapter (if the "Chapter name different from slide name" box is checked).DlgAutoTitleSlide 0B0: Event date:DlgAutoTitleSlide.5AB>?>;>65=85 A>1KB8O:Event location:DlgAutoTitleSlideA;8 MB>B D;06>: CAB0=>2;5=, 40B0 3;02K >B;8G05BAO >B 40BK ?@>5:B0. @8<5G0=85: 70G0ABCN ?>;57=> @07;8G0BL 40BC 3;02K 8 40BC ?@>5:B0. 0?@8<5@, 5A;8 ?@>5:B =07K205BAO ">9 >B?CA: A 1 ?> 15", B> 3;020 <>65B 1KBL >3@0=8G5=0 3 G8A;><.If this box is checked, the date of the chapter is different from the date of the project. Remark: It is often useful to differentiate the date of the chapter of the date of the project. For example, if the project is "My vacation from 1 to 15", the chapter may be limited to the 3.DlgAutoTitleSlideB<5BLB5 MB>B D;06>:, GB>1K 225AB8 40BC 2@CG=CN 2 =C6=>< 20< D>@<0B5 (:0: ?@>AB>9 B5:AB).lIf this box is checked, you can enter a longtime different from that generated from the date of the chapter.DlgAutoTitleSlide!;54CNI89NextDlgAutoTitleSlide 0<5I0NI0O 40B0:Override date:DlgAutoTitleSlideF>60;C9AB0, 2K15@8B5 A=0G0;0 H01;>=Please select a model firstDlgAutoTitleSlide@54K4CI89PreviousDlgAutoTitleSlide 0720=85 ?@>5:B0 Project titleDlgAutoTitleSlide(K15@8B5 40BC 3;02K.Select a date for the chapter.DlgAutoTitleSlideHK1>@ <5AB>?>;>65=8O A>1KB8O ?@>5:B0/Select the location of the event of the projectDlgAutoTitleSlideP>:070BL A?@02:C >1 MB>< 480;>3>2>< >:=5!Show help about this dialogue boxDlgAutoTitleSlide"8? A;0940: Slide type:DlgAutoTitleSlide-B0 :=>?:0 ?>72>;O5B ?@5>1@07>20BL MB>B A;094 2 >1KG=K9 A;094. 1KG=K9 A;094 ?>;=>ABLN =0AB@08205<.hThis button allows you to convert this slide to a standard slide. Standard slide are fully customizable.DlgAutoTitleSlide-B0 :=>?:0 ?>72>;O5B >B:@KBL 480;>3>2>5 >:=> ?0@0<5B@>2 ?@>5:B0.9This button allows you to open project properties dialog.DlgAutoTitleSlide&B<5=0&CancelDlgBackgroundProperties&!?@02:0&HelpDlgBackgroundProperties&:&OkDlgBackgroundProperties^@8<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Accept modification and exit dialog boxDlgBackgroundProperties>72>;O5B >?@545;8BL 70?>;=5=85 (2 ?@>F5=B0E) 3-3> F25B0 3@0485=B0.LAllows you to define the position (in percentage) of the 3rd gradient color.DlgBackgroundProperties>>72>;O5B 2K1@0BL B8? :8AB8 27 A;54CNI53> A?8A:0: - "25@40O :8ABL: ?>72>;O5B 2K1@0BL ?@>AB>9 F25B. - @0485=B 87 42CE F25B>2: ?>72>;O5B 2K1@0BL 3@0485=B, A>AB>OI89 87 2 F25B>2. - @0485=B 87 B@5E F25B>2: ?>72>;O5B 2K1@0BL 3@0485=B, A>AB>OI89 87 3 F25B>2. - 7>1@065=85 87 181;8>B5:8: ?>72>;O5B 2K1@0BL ?@54>?@545;5==K9 D>=. - 7>1@065=85 A 48A:0: ?>72>;O5B 2K1@0BL D>B>3@0D8N 8;8 87>1@065=85 87 D09;0 =0 48A:5.lAllows you to select a brush type in the following list: - Solid brush: Allow to selects a plain color. - Gradient 2 colors: Allow to select a gradient from 2 colors - Gradient 3 colors: Allow to select a gradient from 3 colors - Image from library: Allow to select a predefined background - Image disk: Allow to select a photo or an image from a file on the disk.DlgBackgroundProperties~>72>;O5B 2K1@0BL D>B>3@0D8N 8;8 87>1@065=85 87 D09;0 =0 48A:5.AAllows you to select a photo or an image from a file on the disk.DlgBackgroundProperties<>72>;O5B 2K1@0BL 87>1@065=85.Allows you to select an image.DlgBackgroundPropertiesD>72>;O5B 20< 2K1@0BL ?5@2K9 F25B.%Allows you to select the first color.DlgBackgroundPropertiesP>72>;O5B 2K1@0BL =0?@02;5=85 3@0485=B0..Allows you to select the gradient orientation.DlgBackgroundPropertiesJ>72>;O5B 20< 2K1@0BL ?>A;54=89 F25B.$Allows you to select the last color.DlgBackgroundPropertiesD>72>;O5B 20< 2K1@0BL 2B>@>9 F25B.&Allows you to select the second color.DlgBackgroundProperties!2>9AB20 D>=0Background propertiesDlgBackgroundProperties\B<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Cancel modification and exit dialog boxDlgBackgroundProperties Ctrl+ZCtrl+ZDlgBackgroundProperties2 0ABO=CBL (A 45D>@<0F859)Full filling (deform image)DlgBackgroundProperties.@0485=B 87 42CE F25B>2Gradient 2 colorsDlgBackgroundProperties.@0485=B 87 B@5E F25B>2Gradient 3 colorsDlgBackgroundPropertiesA;8 MB>B D;06>: CAB0=>2;5=, 87>1@065=85 70=8<05B 25AL M:@0=, 4065 5A;8 1C45B ?@8 MB>< 45D>@<8@>20=>.RIf this box is checked, the image fills the screen, even if it has to be deformed.DlgBackgroundProperties A;8 MB>B D;06>: CAB0=>2;5=, 87>1@065=85 =5 45D>@<8@C5BAO 8 2K <>65B5 >B:@KBL 480;>3>2>5 >:=> :04@8@>20=8O 87>1@065=8O, GB>1K 2K1@0BL 53> G0ABL.yIf this box is checked, the image isn't deformed and you can open the Image framing dialog to select a part of the image.DlgBackgroundProperties~A;8 2K1@0=0 MB0 >?F8O, A;094 1C45B 8<5BL A2>9 A>1AB25==K9 D>=.NIf this option is selected, the slide will have its own background definition.DlgBackgroundProperties.A;8 MB>B ?0@0<5B@ 2K1@0=, =0AB@>9:0 D>=0 A;0940 1C45B =54>ABC?=0 8 D>= 1C45B :0: C ?@54K4CI53> A;0940: - 5A;8 ?@54K4CI89 A;094 =5 8<55B D>=0, B> 1C45B =0945= ?5@2K9 ?@54K4CI89 A;094, 8<5NI89 D>=. - 5A;8 =5B ?@54K4CI53> A;0940, 8<5NI53> D>=, B> 1C45B 8A?>;L7>20BLAO G5@=0O @0<:0.zIf this option is selected, the slide will have no background definition but will use the same background as the previous slide: - If the previous slide does not have a background definition either, the check continues backwards until a slide is found which does have a background definition. - If no previous slide has a background definition, then a black frame will be used.DlgBackgroundProperties&7>1@065=85 A 48A:0Image from diskDlgBackgroundProperties47>1@065=85 87 1818;8>B5:8Image from libraryDlgBackgroundProperties&!>E@0=8BL ?@>?>@F88Keep aspect ratioDlgBackgroundPropertiesB:@K205B 480;>3>2>5 >:=> :04@8@>20=8O 87>1@065=8O, GB>1K 2K1@0BL G0ABL 87>1@065=8O.=Opens the Image framing dialog to select a part of the image.DlgBackgroundPropertiesN">B 65 D>=, GB> 8 C ?@54K4CI53> >1J5:B0#Same background as preceding objectDlgBackgroundPropertiesK15@8B5 D09; Select a fileDlgBackgroundProperties"K1>@ =>2>3> D>=0Select a new backgroundDlgBackgroundPropertiesP>:070BL A?@02:C >1 MB>< 480;>3>2>< >:=5!Show help about this dialogue boxDlgBackgroundProperties"25@40O :8ABL Solid brushDlgBackgroundPropertiesB<5=8BLUndoDlgBackgroundPropertiesLB<5=8BL ?>A;54=55 459AB285 (Ctrl + Z)Undo last action (CTRL+Z)DlgBackgroundProperties&B<5=0&Cancel DlgChapter&!?@02:0&Help DlgChapter&:&Ok DlgChapter^@8<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Accept modification and exit dialog box DlgChapter\B<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Cancel modification and exit dialog box DlgChapterJ0B0 3;02K >B;8G05BAO >B 40BK ?@>5:B0(Chapter date different from project date DlgChapterr5AB>?>;>65=85 3;02K >B;8G05BAO >B <5AB>?>;>65=8O ?@>5:B00Chapter location different from project location DlgChapter0720=85 3;02K: Chapter name: DlgChapter!2>9AB20 3;02KChapter properties DlgChapter4#40;8BL MB> <5AB>?>;>65=85Clear this location DlgChapterP2548B5 745AL 40BC 3;02K 2 ;N1>< D>@<0B54Enter here a date, in a free format, for the chapter DlgChapter82548B5 745AL =0720=85 3;02K"Enter here the name of the chapter DlgChapter 0B0: Event date: DlgChapter.5AB>?>;>65=85 A>1KB8O:Event location: DlgChapterA;8 MB>B D;06>: CAB0=>2;5=, 40B0 3;02K >B;8G05BAO >B 40BK ?@>5:B0. @8<5G0=85: 70G0ABCN ?>;57=> @07;8G0BL 40BC 3;02K 8 40BC ?@>5:B0. 0?@8<5@, 5A;8 ?@>5:B =07K205BAO ">9 >B?CA: A 1 ?> 15", B> 3;020 <>65B 1KBL >3@0=8G5=0 3 G8A;><.If this box is checked, the date of the chapter is different from the date of the project. Remark: It is often useful to differentiate the date of the chapter of the date of the project. For example, if the project is "My vacation from 1 to 15", the chapter may be limited to the 3. DlgChapterB<5BLB5 MB>B D;06>:, GB>1K 225AB8 40BC 2@CG=CN 2 =C6=>< 20< D>@<0B5 (:0: ?@>AB>9 B5:AB).lIf this box is checked, you can enter a longtime different from that generated from the date of the chapter. DlgChapter 0<5I0NI0O 40B0:Override date: DlgChapter(K15@8B5 40BC 3;02K.Select a date for the chapter. DlgChapterHK1>@ <5AB>?>;>65=8O A>1KB8O ?@>5:B0/Select the location of the event of the project DlgChapterP>:070BL A?@02:C >1 MB>< 480;>3>2>< >:=5!Show help about this dialogue box DlgChapterd0G0BL =>2CN 3;02C A MB>3> A;0940. (A;8 MB>B D;06>: CAB0=>2;5= A;094 1C45B ?><5G5= :0: =0G0;> =>2>9 3;02K). @8<5G0=85 : -B>B D;06>: =5;L7O >B:;NG8BL 4;O ?5@2>3> A;0940 ?@>5:B0.Start a new chapter from this slide. (If this box is checked, the slide will mark the beginning of a new chapter.) Remarks : This box cannot be deactivated for the first slide of the project. DlgChapterB0G0BL =>2CN 3;02C A MB>3> A;0940#Start a new chapter with this slide DlgChapter&!?@02:0&HelpDlgCheckConfig&:&OkDlgCheckConfig>@E8B5:BC@0 ?@8;>65=8O: 32 18B0!Application architecture: 32 bitsDlgCheckConfig>@E8B5:BC@0 ?@8;>65=8O: 64 18B0!Application architecture: 64 bitsDlgCheckConfigC48> :>45:8 Audio CodecsDlgCheckConfig,@>25@8BL :>=D83C@0F8NCheck configurationDlgCheckConfigD@>25@8BL :>=D83C@0F8N ?@8 70?CA:5Check configuration at startupDlgCheckConfig.0:@KBL 480;>3>2>5 >:=>Close dialog boxDlgCheckConfig$>@<0BK D09;>2Container FormatsDlgCheckConfig:1=0@C65==K9 O7K: A8AB5<K: %1Detected system locale: %1DlgCheckConfigH;>10;L=K9 :>=D83C@0F8>==K9 D09;: %1Global config file: %1DlgCheckConfig45AL ?5@5G8A;5=K 8A?>;L7C5<K5 :><?>=5=BK 8 8E AB0BCA: @0A=K9: :><?>=5=B =5 @01>B05B 4>;6=K< >1@07>< 5;5=K9: :><?>=5=B @01>B05B >B;8G=> 5;BK9: :><?>=5=B @01>B05B G0AB8G=> - ;O :>45:0: 4>ABC?=> B>;L:> GB5=85 (=5 :>48@>20=85) - ;O 181;8>B5:8: AB0@0O 25@A8O Here are listed the components used and their status: Red: The component does not work properly Green: The component works perfectly Yellow: The component works partially - For a codec: Only reading is available (not encoding) - For a library: The version is oldDlgCheckConfig(Libav >1I0O 25@A8O: LIBAV general version:DlgCheckConfig<LIBAVCODEC 25@A8O: %1.%2.%3.%4LIBAVCODEC version: %1.%2.%3.%4DlgCheckConfig>LIBAVFILTER 25@A8O: %1.%2.%3.%4 LIBAVFILTER version: %1.%2.%3.%4DlgCheckConfig>LIBAVFORMAT 25@A8O: %1.%2.%3.%4 LIBAVFORMAT version: %1.%2.%3.%4DlgCheckConfigBLIBAVRESAMPLE 25@A8O: %1.%2.%3.%4"LIBAVRESAMPLE version: %1.%2.%3.%4DlgCheckConfig:LIBAVUTIL 25@A8O: %1.%2.%3.%4LIBAVUTIL version: %1.%2.%3.%4DlgCheckConfigBLIBSWRESAMPLE 25@A8O: %1.%2.%3.%4"LIBSWRESAMPLE version: %1.%2.%3.%4DlgCheckConfig<LIBSWSCALE 25@A8O: %1.%2.%3.%4LIBSWSCALE version: %1.%2.%3.%4DlgCheckConfigrLibExiv2 ?>445@6:0 ?@5420@8B5;L=>3> ?@>A<>B@0 87>1@065=89"LibExiv2 support for preview imageDlgCheckConfig"LibExiv2 25@A88: LibExiv2 version:DlgCheckConfig&!60B85 "157 ?>B5@L"Lossless renderingDlgCheckConfigZ5@A8O >?5@0F8>==>9 A8AB5<K: %1 - %2 /4@0 CPU*Operating system version: %1 - %2 Core/CPUDlgCheckConfigQT 25@A88: %1QT version: %1DlgCheckConfiglSDL 25@A8O: %1.%2.%3-8F5=78O=GPL 25@A88 2.1 8;8 ?>7656SDL version: %1.%2.%3-Licence=GPL version 2.1 or laterDlgCheckConfigCBL ?>8A:0: %1Search path set to: %1DlgCheckConfigP>:070BL A?@02:C >1 MB>< 480;>3>2>< >:=5!Show help about this dialogue boxDlgCheckConfig CBL 70?CA:0: %1Starting path: %1DlgCheckConfig0TAGLib ?>445@6:0 ASF/WMATAGLib support for ASF/WMADlgCheckConfig*TAGLib ?>445@6:0 FLACTAGLib support for FLACDlgCheckConfig0TAGLib ?>445@6:0 M4A/MP4TAGLib support for M4A/MP4DlgCheckConfigTAGLib 25@A88:TAGLib version:DlgCheckConfigN81;8>B5:0 D>=>2 A>45@68B %1 D>B>3@0D89+The background library contains %1 picturesDlgCheckConfig^81;8>B5:0 luma ?5@5E>4>2 A>45@68B %1 ?5@5E>4>2(The luma library contains %1 transitionsDlgCheckConfigd81;8>B5:0 =5 luma ?5@5E>4>2 A>45@68B %1 ?5@5E>4>2,The non-luma library contains %1 transitionsDlgCheckConfig:03@C65==K9 D09; ?5@52>40: %1Translation file loaded: %1DlgCheckConfigT>;L7>20B5;LA:89 :>=D83C@0F8>==K9 D09;: %1User config file: %1DlgCheckConfig845> :>45:8 Video CodecsDlgCheckConfig  01>G89 ?CBL: %1Working path set to: %1DlgCheckConfig4>ABC?=> availableDlgCheckConfigLfmt_filters 25@A88:0.6.4-8F5=78O=LGPL&fmt_filters version:0.6.4-Licence=LGPLDlgCheckConfig=5 4>ABC?=> not availableDlgCheckConfigLqimageblitz 25@A8O:0.6.6-8F5=78O=LGPL&qimageblitz version:0.6.6-Licence=LGPLDlgCheckConfigT% 2K?>;=5=8O;$09; =07=0G5=8O;AE>4=K9 D09;#% done;Destination file;Source fileDlgExportProject&B<5=0&CancelDlgExportProject&!?@02:0&HelpDlgExportProject&:&OkDlgExportProjectXB<5=8BL M:A?>@B 8 2K9B8 87 480;>3>2>3> >:=0*Abort export operation and exit dialog boxDlgExportProjectd06<8B5 MBC :=>?:C GB>1K 2K1@0BL ?0?:C =07=0G5=8O.@Click on this button to select graphically a destination folder.DlgExportProject"0?:0 =07=0G5=8O:Destination folder:DlgExportProject<H81:0 ?@8 :>?8@>20=88 %1 2 %2!Error during the copy of %1 to %2DlgExportProject8H81:0 ?@8 A>740=88 ?0?:8 %1*Error during the creation of the %1 folderDlgExportProjectBH81:0 ?@8 M:A?>@B5 D09;0 ?@>5:B0+Error during the export of the project fileDlgExportProjectZH81:0: >4?0?:0 ?@>5:B0 =5 <>65B 1KBL ?CAB>9'Error: Project subfolder can't be emptyDlgExportProject-:A?>@B >B<5=5= Export cancelDlgExportProject -:A?>@B 7025@H5= Export doneDlgExportProject-:A?>@B ?@>5:B0Export projectDlgExportProject$09; ?@>5:B0 Project fileDlgExportProject">4?0?:0 ?@>5:B0:Project subfolder:DlgExportProjectP>:070BL A?@02:C >1 MB>< 480;>3>2>< >:=5!Show help about this dialogue boxDlgExportProject0G0BL M:A?>@BStart export processDlgExportProject7025@H5=>doneDlgExportProject >H81:0errorDlgExportProject=5 70?CI5=> not startedDlgExportProject70?CI5=>startedDlgExportProject&B<5=0&CancelDlgFileExplorer&!?@02:0&HelpDlgFileExplorer&:&OkDlgFileExplorer^@8<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Accept modification and exit dialog boxDlgFileExplorer\B<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Cancel modification and exit dialog boxDlgFileExplorerF1F1DlgFileExplorerP>:070BL A?@02:C >1 MB>< 480;>3>2>< >:=5!Show help about this dialogue boxDlgFileExplorerd%1 @0745;(>2) >68405BAO 4;O ?>A;54CNI53> ?>;CG5=8O.%1 pending section(s) should be retrieve laterDlgGMapsGenerationj%1 @0745;(>2) >68405BAO 4;O 872;5G5=8O 87 Google Maps2%1 pending section(s) to retrieve from Google MapsDlgGMapsGeneration&B<5=0&CancelDlgGMapsGeneration\B<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Cancel modification and exit dialog boxDlgGMapsGenerationtH81:0 703@C7:8: %1. => ?>4>648B5 1 A5: 8 ?>?@>1C9B5 A=>20+Download failed: %1. => wait 1sec and retryDlgGMapsGenerationvH81:0 45:>48@>20=8O 87>1@065=89, ?>;CG5==KE >B Google Maps.Error decoding image received from Google MapsDlgGMapsGeneration4!>740=85 :0@BK Google MapsGenerate Google Maps mapDlgGMapsGenerationGoogle =5 >B25G05B =0 70?@>AK >7<>6=>, 2K ?@52KA8;8 <0:A8<0;L=> 4>?CAB8<>5 :>;8G5AB2> 70?@>A>2. >60;C9AB0, ?>?@>1C9B5 A=>20 G5@57 G0A.mGoogle stop responding May be you have reach the maximum number of request allowed. Please retry in one hour.DlgGMapsGeneration&B<5=0&CancelDlgGMapsLocation&!?@02:0&HelpDlgGMapsLocation&:&OkDlgGMapsLocation0@B0 =0 A;0945 %1 4>;6=0 1KBL A>740=0 70=>2>. %>B8B5 A45;0BL MB> A59G0A?@A map on slide %1 must be regenerated. Do you want to do it now?DlgGMapsLocation^@8<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Accept modification and exit dialog boxDlgGMapsLocation 7<5=8BL <0AHB01Adjust zoom levelDlgGMapsLocation\B<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Cancel modification and exit dialog boxDlgGMapsLocation\06<8B5 =0 :0@BC, GB>1K 2K1@0BL <5AB>?>;>65=85%Click on the map to select a locationDlgGMapsLocation:06<8B5, GB>1K 2K1@0BL 7=0G>:Click to select an iconDlgGMapsLocation&#<5=LH5=85 <0AHB010Decrease zoom levelDlgGMapsLocation(H81:0 703@C7:8: %1.Download failed: %1.DlgGMapsLocation87<5=8BL B5:CI55 87>1@065=85Edit current imageDlgGMapsLocation7<5=8BL 7=0G>: Edit iconDlgGMapsLocationZ2548B5 2 MBC >1;0ABL 8A:><K9 ?>GB>2K9 04@5A.-Enter the postal adress to find in this zone.DlgGMapsLocation:H81:0 GB5=8O XML / AB0BCA KO!Erreur de parsing XML / status KODlgGMapsLocationvH81:0 45:>48@>20=8O 87>1@065=89, ?>;CG5==KE >B Google Maps.Error decoding image reveived from Google MapsDlgGMapsLocation"H81:0 GB5=8O XMLError parsing XMLDlgGMapsLocationJH81:0 GB5=8O XML / =54>?CAB8<K9 root"Error parsing XML / incorrect rootDlgGMapsLocation>=OB=K9 04@5A:Friendly address:DlgGMapsLocation>=OB=>5 8<O:Friendly name:DlgGMapsLocation\2548B5 C4>1=K9 04@5A 4;O MB>3> <5AB>?>;>65=8O)Give a friendly address for this locationDlgGMapsLocationH2548B5 8<O 4;O MB>3> <5AB>?>;>65=8O&Give a friendly name for this locationDlgGMapsLocation4@5A Google:Google address:DlgGMapsLocationtB25B Google: %1 K C25@5=K, GB> ?@028;L=> =0?8A0;8 04@5A?CGoogle said: %1 Are you sure to have written the address correctly?DlgGMapsLocationGoogle =5 >B25G05B =0 70?@>AK >7<>6=>, 2K ?@52KA8;8 <0:A8<0;L=> 4>?CAB8<>5 :>;8G5AB2> 70?@>A>2. >60;C9AB0, ?>?@>1C9B5 A=>20 G5@57 G0A.mGoogle stop responding May be you have reach the maximum number of request allowed. Please retry in one hour.DlgGMapsLocation=0G>::Icon:DlgGMapsLocation25?@028;L=K9 04@5A ? (%1)Incorect addres ? (%1)DlgGMapsLocation&#25;8G5=85 <0AHB010Increase zoom levelDlgGMapsLocation(8@>B0: Latitude:DlgGMapsLocation>;3>B0: Longitude:DlgGMapsLocation"B:@KBL 71@0==>5Open the favorite menuDlgGMapsLocation#40;8BL 7=0G>: Remove iconDlgGMapsLocation(K1>@ <5AB>?>;>65=8OSelect a locationDlgGMapsLocation&K1@0BL 4@C3>9 D09;Select another fileDlgGMapsLocationP>:070BL A?@02:C >1 MB>< 480;>3>2>< >:=5!Show help about this dialogue boxDlgGMapsLocation0@B0 AD>@<8@>20=0 =5?>;=>ABLN. %>B8B5 2>7>1=>28BL A>740=85 :0@BK A59G0A?OThe map has not been fully generated. Do you want to resume the generation now?DlgGMapsLocation$H81:0 0=0;870 XMLXML parsing errorDlgGMapsLocationLH81:0 0=0;870 XML / =5?@028;L=K9 root"XML parsing error / incorrect rootDlgGMapsLocation<H81:0 0=0;870 XML / AB0BCA KOXML parsing error / status KODlgGMapsLocation&B<5=0&CancelDlgImageComposer&!?@02:0&HelpDlgImageComposer&:&OkDlgImageComposert<html><head/><body><p><br/>$>@<0 1;>:0 :</p></body></html>:


Block shape :

DlgImageComposer~<html><head/><body><p><br/>0AB@>9:8 B5:AB0 :</p></body></html>:


Text option :

DlgImageComposer^@8<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Accept modification and exit dialog boxDlgImageComposer>1028BL D09;Add fileDlgImageComposer>1028BL B5:ABAdd textDlgImageComposer8>1028BL :;8?0@B 1;>: B5:AB0Add ClipArt text blockDlgImageComposerD>1028BL =>2K9 :;8?0@B 1;>: B5:AB0Add a new ClipArt text blockDlgImageComposerR>1028BL =>2K9 1;>: 87>1@065=8O 8;8 2845>&Add a new block of type image or videoDlgImageComposerD>1028BL =>2K9 ?@>AB>9 1;>: B5:AB0Add a new simple text blockDlgImageComposer4>1028BL =>2K9 1;>: B5:AB0Add a new text blockDlgImageComposer>1028BL D09;Add fileDlgImageComposerB>1028BL >48= 8;8 =5A:>;L:> =>2KE 1;>:>2 87>1@065=8O 8;8 2845>. B:@>5BAO 480;>3>2>5 >:=> 2K1>@0 D09;>2. @8<5G0=85: 2 A;CG05 <=>65AB25==>3> 2K1>@0, D09;K 4>102;ONBAO 2 0;D028B=>< ?>@O4:5 8<5= D09;>2 8;8 2 F8D@>2>< ?>@O4:5 :04@>2 (2 7028A8<>AB8 >B 2K1@0==>9 >?F88 2 480;>35 :>=D83C@0F88).1Add one or several new blocks of images or video. A file selection dialog appears allowing you to select files. Note: in case of multiple selection, files are added in the alphabetical order of the filenames or in the digital order of shots (according to the option selected in the configuration dialog).DlgImageComposer8>1028BL ?@>AB>9 1;>: B5:AB0Add simple text blockDlgImageComposer(>1028BL 1;>: B5:AB0Add text blockDlgImageComposer.K@>2=OBL 1;>:8 ?> =87CAlign blocks to the bottomDlgImageComposer2K@>2=OBL 1;>:8 ?> F5=B@CAlign blocks to the centerDlgImageComposer<K@>2=OBL 1;>:8 ?> ;52><C :@0NAlign blocks to the leftDlgImageComposer6K@>2=OBL 1;>:8 ?> A5@548=5Align blocks to the middleDlgImageComposer>K@>2=OBL 1;>:8 ?> ?@02><C :@0NAlign blocks to the rightDlgImageComposer0K@>2=OBL 1;>:8 ?> 25@ECAlign blocks to the topDlgImageComposer"K@>2=OBL ?> =87C Align bottomDlgImageComposer&K@>2=OBL ?> F5=B@C Align centerDlgImageComposer0K@>2=OBL ?> ;52><C :@0N Align leftDlgImageComposer*K@>2=OBL ?> A5@548=5 Align middleDlgImageComposer2K@>2=OBL ?> ?@02><C :@0N Align rightDlgImageComposer$K@>2=OBL ?> 25@EC Align topDlgImageComposerPB:@KBL 480;>3>2>5 >:=> =0AB@>5: ;8=55:..Allows you to open the rulers settings dialog.DlgImageComposer*>72>;O5B 2K1@0BL D>@<C 1;>:0. K1@0==0O D>@<0 1C45B 8A?>;L7>20BLAO 2 :0G5AB25: - <0A:0 A;8O=8O 4;O 87>1@065=89 8 2845>. - 7>=K >1@57:8 4;O B5:AB>2.Allows you to select a shape for the block. The selected shape will be used as: - A fusion mask for the images and the videos. - A cutting zone for texts.DlgImageComposer"#?>@O4>G8BL 1;>:8 Arrange blockDlgImageComposer"#?>@O4>G8BL 1;>:8Arrange blocksDlgImageComposer$=D>@<0F8O > 1;>:5Block informationDlgImageComposer$>>@48=0BK 1;>:0 :Block coordinates :DlgImageComposer@0=8F0 :Border :DlgImageComposer\B<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Cancel modification and exit dialog boxDlgImageComposer7<5=8BL ?>@O4>: 1;>:>2 ?5@5<5I5=85< 0:B82=>3> 1;>:0 =0 704=89 ?;0=LChange the order of blocks by moving the active block towards the backgroundDlgImageComposer7<5=8BL ?>@O4>: 1;>:>2 ?5@5<5I5=85< 0:B82=>3> 1;>:0 =0 ?5@54=89 ?;0=LChange the order of blocks by moving the active block towards the foregroundDlgImageComposer;8?0@B : Clip-Art :DlgImageComposer>?8@>20BL 1;>: Copy blockDlgImageComposerf!:>?8@>20BL B5:CI89 1;>: 2 1CD5@ >1<5=0 ffDiaporama3Copy the current block to the ffDiaporama clipboardDlgImageComposer!:>?8@>20BL B5:CI89 1;>: 2 1CD5@ >1<5=0 ffDiaporama 8 C40;8BL A> A;0940PCopy the current block to the ffDiaporama clipboard and remove it from the slideDlgImageComposerH04@8@>20=85 8 :>@@5:F8O 87>1@065=8OCorrect or reframe imageDlgImageComposer Ctrl+CCtrl+CDlgImageComposerCtrl+InsCtrl+InsDlgImageComposer Ctrl+VCtrl+VDlgImageComposer Ctrl+XCtrl+XDlgImageComposerK@570BL 1;>: Cut blockDlgImageComposer?@545;8BL 7=0G5=8O <0AHB018@>20=8O B5:AB0. @8<5G0=85: GB>1K ?>;CG8BL 0=8<0F8N B5:AB0, 2K 4>;6=K A>740BL :0: <8=8<C< 2 :04@0: - >?@545;5BL 7=0G5=8O <0AHB018@>20=8O 8 ?@>:@CB:8 4;O 1-3> :04@0 - >?@545;8BL 4@C385 7=0G5=8O <0AHB018@>20=8O 8 ?@>:@CB:8 4;O 2-3> :04@0Define a zoom value for the text. Remark: To make animations of text, you have to create at least 2 shots then: -Define values for zoom and scrolling for the 1st shot -Define different values for zoom and scrolling for the 2ndDlgImageComposerr0AB@>8BL :04@8@>20=85 8 :>@@5:F8N 87>1@065=8O 8;8 D8;L<0/Define framing and correction of image or movieDlgImageComposer\?@545;8BL C3>; ?>2>@>B0 ?> >A8 x (2 3@04CA0E)DDefine the angle of rotation about the x-axis (expressed in degrees)DlgImageComposer\?@545;8BL C3>; ?>2>@>B0 ?> >A8 y (2 3@04CA0E)DDefine the angle of rotation about the y-axis (expressed in degrees)DlgImageComposer\?@545;8BL C3>; ?>2>@>B0 ?> >A8 z (2 3@04CA0E)DDefine the angle of rotation about the z-axis (expressed in degrees)DlgImageComposerVK1@0BL @0AAB>O=85 <564C 1;>:>< 8 53> B5=LN4Define the distance between the block and its shadowDlgImageComposerH?@545;8BL A2>9AB20 B5:AB>2>3> 1;>:0'Define the properties of the text blockDlgImageComposer\">;I8=0 3@0=8FK. @8<5G0=85: >?@545;O5BAO :0: 1/1080 >B 2KA>BK M:@0=0. =0G5=8N 10 A>>B25BAB2C5B 10 B>G5: =0 1920 1080 FullHD M:@0=5 8 B>;L:> 6 B>G5: =0 1280 720 M:@0=5.Defines the thickness of the border. Remark: This value is defined as 1/1080 of the height of the screen. A value of 10 corresponds to 10 points on a 1920×1080 FullHD screen, but only to 6 points on a 1280×720 screen.DlgImageComposerDelDelDlgImageComposerZ>:070BL ?>4@>1=CN 8=D>@<0F8N > B5:CI5< 1;>:5-Display detailed information on current blockDlgImageComposer&>:070BL 8=D>@<0F8NDisplay informationDlgImageComposer`>:070BL 8=D>@<0F8N > 87>1@065=88 8;8 2845>D09;5*Display information on image or video fileDlgImageComposer7<5=8BL 1;>: Edit blockDlgImageComposer7<5=8BL 1;>: Edit blockDlgImageComposer7<5=8BL B5:AB Edit textDlgImageComposer.7<5=8BL H01;>= >1;>6:8Edit thumbnail modelDlgImageComposerInsInsDlgImageComposer45@5<5AB8BL =0 704=89 ?;0=Move to backgroundDlgImageComposer85@5<5AB8BL =0 ?5@54=89 ?;0=Move to foregroundDlgImageComposer 5?@>7@0G=>ABL : Opacity :DlgImageComposerAB028BL 1;>: Paste blockDlgImageComposerTAB028BL 1;>: 87 1CD5@0 >1<5=0 ffDiaporama8Paste block from the ffDiaporama clipboard and insert itDlgImageComposerf 07<5AB8BL 1;>:8 =0 @02=>< @0AAB>O=88 4@C3 >B 4@C30:Place each block so as to have the same space between eachDlgImageComposer#40;8BLRemoveDlgImageComposer.#40;8BL B5:CI89 1;>:(8)Remove current block(s)DlgImageComposer\KA>B0 1;>:0. ?@545;O5BAO :0: ?@>F5=B (%) >B >1I59 2KA>BK 87>1@065=8O 8;8 2 ?8:A5;OE (=0 M:@0=5 1080) 2 A>>B25BAB288 A 548=8F0<8 87<5@5=8O, 7040==K<8 2 480;>35 :>=D83C@0F88.Represents the height of the block. This value is defined as a percentage (%) of the total height of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog.DlgImageComposer>@87>=B0;L=>5 A<5I5=85 1;>:0 A ;52>9 AB>@>=K. ?@545;O5BAO :0: ?@>F5=B (%) >B >1I59 H8@8=K 87>1@065=8O 8;8 2 ?8:A5;OE (=0 M:@0=5 1080) 2 A>>B25BAB288 A 548=8F0<8 87<5@5=8O, 7040==K<8 2 480;>35 :>=D83C@0F88.Represents the horizontal offset of the block from the left. This position is defined as a percentage (%) of the total width of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog.DlgImageComposer5@B8:0;L=>5 A<5I5=85 1;>:0 A25@EC. ?@545;O5BAO :0: ?@>F5=B (%) >B >1I59 2KA>BK 87>1@065=8O 8;8 2 ?8:A5;OE (=0 M:@0=5 1080) 2 A>>B25BAB288 A 548=8F0<8 87<5@5=8O, 7040==K<8 2 480;>35 :>=D83C@0F88.Represents the vertical offset of the block from the top. This position is defined as a percentage (%) of the total height of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog.DlgImageComposer\(8@8=0 1;>:0. ?@545;O5BAO :0: ?@>F5=B (%) >B >1I59 H8@8=K 87>1@065=8O 8;8 2 ?8:A5;OE (=0 M:@0=5 1080) 2 A>>B25BAB288 A 548=8F0<8 87<5@5=8O, 7040==K<8 2 480;>35 :>=D83C@0F88.Represents the width of the block. This value is defined as a percentage (%) of the total width of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog box.DlgImageComposer !1@>A8BL =0 100% Reset to 100%DlgImageComposer!1@>A8BL =0 0 Reset to zeroDlgImageComposer8=59:8RulersDlgImageComposer K15@8B5 :;8?0@BSelect a clip-artDlgImageComposerK15@8B5, 2 :0:>< C3;C 1C45B @0A?>;030BLAO B5=L (8;8 157 B5=8). @8<5G0=85: ?>;>65=85 B5=8 =5 7028A8B >B 2@0I5=8O 1;>:0: ?@02K9 =86=89 C3>; - MB> 2A5340 ?@02K9 =86=89 C3>;, =57028A8<> >B ?>2>@>B0.Select in which corner the shadow will be positioned (or no shadow). Remark: the position of the shadow is independent of rotation of the block: the right lower corner is always the right lower corner, whatever rotation is applied.DlgImageComposer4K1@0BL F25B ;8=88 3@0=8FK:Select the color of the line to be used to draw the borderDlgImageComposer"K1@0BL F25B B5=8Select the color of the shadowDlgImageComposer8K1@0BL =5?@>7@0G=>ABL 1;>:0"Select the opaqueness of the blockDlgImageComposer^K1@0BL B8? ;8=88 (A?;>H=0O, ?C=:B8@=0O 8 B.4.)2Select the type of line (solid, dotted line, etc.)DlgImageComposer "5=L :Shadow :DlgImageComposer$>@<0 :Shape :DlgImageComposerP>:070BL A?@02:C >1 MB>< 480;>3>2>< >:=5!Show help about this dialogue boxDlgImageComposer "5:ABTextDlgImageComposerJ-B> 3@C??0 =0AB@>5: AB8;O C?@02;5=8O.0This settings group deals with style management.DlgImageComposer0AHB01 :Zoom :DlgImageComposer4 0A?@545;8BL 3>@87>=B0;L=>distribute horizontallyDlgImageComposer0 0A?@545;8BL 25@B8:0;L=>distribute verticallyDlgImageComposer&B<5=0&CancelDlgImageCorrection&!?@02:0&HelpDlgImageCorrection&:&OkDlgImageCorrection^@8<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Accept modification and exit dialog boxDlgImageCorrection>>72>;O5B 2:;NG8BL 8;8 >B:;NG8BL <03=8B=K5 ;8=59:8. >340 ;8=59:8 2:;NG5=K, <KHL 1C45B 02B><0B8G5A:8 ?@82O7K20BLAO : :@0O< D>B>3@0D88, A>459AB2CO 2K@02=820=8N.Allows you to enable or disable the magnetic rulers. When rulers are enabled, the mouse will automatically snap to the edges of the photo, facilitating the framing.DlgImageCorrection\B<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Cancel modification and exit dialog boxDlgImageCorrection Ctrl+ZCtrl+ZDlgImageCorrection040==K9 @07<5@ Custom sizeDlgImageCorrectionF-:A?>@B8@>20BL B5:CICN :0@BC 2 D09;Export current map to a fileDlgImageCorrection-:A?>@B :0@BK Export mapDlgImageCorrection> 25AL M:@0=Full screen sizeDlgImageCorrection>;>28=0 M:@0=0 Half screenDlgImageCorrectionH04@8@>20=85 8 :>@@5:F8O 87>1@065=8OImage framing and correctionDlgImageCorrection>01;>:8@>20BL 35><5B@8N ?@>5:B0Lock to project geometryDlgImageCorrection<01;>:8@>20BL 2 MB>9 35><5B@88Lock to this geometryDlgImageCorrection'5B25@BL M:@0=0Quarter screenDlgImageCorrection 50;L=K9 @07<5@Real image sizeDlgImageCorrection8=59:8RulersDlgImageCorrectionP>:070BL A?@02:C >1 MB>< 480;>3>2>< >:=5!Show help about this dialogue boxDlgImageCorrectionTV ?>;O TV marginsDlgImageCorrection"@5BL M:@0=0 Third screenDlgImageCorrection 25 B@5B8 M:@0=0Two thirds screenDlgImageCorrectionB<5=8BLUndoDlgImageCorrectionLB<5=8BL ?>A;54=55 459AB285 (Ctrl + Z)Undo last action (CTRL+Z)DlgImageCorrection 071;>:8@>20BLUnlockDlgImageCorrection&!?@02:0&Help DlgInfoFile&:&Ok DlgInfoFile^@8<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Accept modification and exit dialog box DlgInfoFile2>?>;=8B5;L=0O 8=D>@<0F8OAdditional information DlgInfoFile6=D>@<0F8O >1 0C48> 4>@>6:5Audio track information DlgInfoFile$=D>@<0F8O > 3;025Chapter information DlgInfoFile(0B0 A>740=8O D09;0:File created : DlgInfoFile$=D>@<0F8O > D09;5File information DlgInfoFile*0B0 87<5=5=8O D09;0: File modify : DlgInfoFile<O D09;0 : File name : DlgInfoFile 07<5@ D09;0: File size : DlgInfoFile"8? D09;0: File type : DlgInfoFile;O 87>1@065=89: >:07K205B EXIF 8=D>@<0F8N, ?@54>AB02;O5<CN :0<5@>9. -B0 >1;0ABL <>65B A>45@60BL =5A:>;L:> A>B5= 7=0G5=89 2 7028A8<>AB8 >B :0<5@K. ;O 2845>: >:07K205B 8=D>@<0F8N > 2845>. > :@09=59 <5@5 1C45B ?>:070=0 8=D>@<0F8O > ?@>4>;68B5;L=>AB8 2845>, 0 B0:65 <>65B A>45@60BL <=>3> 4@C3>9 8=D>@<0F88 2 7028A8<>AB8 >B B>3>, GB> 5ABL 2 D09;5: - @5<O A>740=8O: 0B0 8 2@5<O A>740=8O 2845> - 0720=85: >;5 0720=85 B530 ID3v2 2845>D09;0 - A?>;=8B5;L: >;5 A?>;=8B5;L B530 ID3v2 2845>D09;0 - ;L1><: >;5 ;L1>< B530 ID3v2 2845>D09;0 - 0B0: >;5 0B0 B530 ID3v2 2845>D09;0 - ><<5=B0@89: >;5 ><<5=B0@89 B530 ID3v2 2845>D09;0 - ><?>78B>@: 0720=85 ?@>3@0<<K 2 :>B>@>9 1K;> A>740=> 2845>For an image: Show the EXIF information supplied by the camera. This zone can contain several hundreds of lines according to what the camera supplies. For a video: Show information on the video. At least the information about the duration of the video will be shown, but a lot of other information can appear according to what is available in the file, such as: - Creation_time: Date and time of creation of the video - Title: Title field of the TAG ID3v2 of the video - Artist: Artist field of the TAG ID3v2 of the video - Album: Album field of the TAG ID3v2 of the video - Date: Date field of the TAG ID3v2 of the video - Comment: Comment field of the TAG ID3v2 of the video - Composer: The software with which the video was created DlgInfoFileP>:070BL A?@02:C >1 MB>< 480;>3>2>< >:=5!Show help about this dialogue box DlgInfoFile0B0 8 2@5<O A>740=8O D09;0 =0 48A:5 (:>340 2K ?5@5=5A;8 53> A :0<5@K).eThe date and the hour of creation of the file on the disk (when you transferred it since the camera). DlgInfoFile0B0 8 2@5<O ?>A;54=53> 87<5=5=8O D09;0 (:>340 1K;0 A45;0=0 D>B>3@0D8O 8;8 :>340 2K 87<5=8;8 55 @540:B>@>< 87>1@065=89).The date and the hour of the last modification of the file (when the photo was taken or when you modified it with an image editor). DlgInfoFile-B0 >1;0ABL ?>O2;O5BAO B>;L:> 4;O D09;>2, A>45@60I8E 3;02K. =0 A>45@68B A?8A>: 3;02, ?@8ACBAB2CNI8E 2 D09;5. ;O :064>9 87 =8E >B>1@0605BAO A;54CNH0O 8=D>@<0F8O: - #:: ><5@ 3;02K - 0720=85: 0720=85 3;02K - 0G0;>: @5<5==>5 ?>;>65=85 =0G0;0 3;02K - >=5F: @5<5==>5 ?>;>65=85 >:>=G0=8O 3;02K - @>4>;68B5;L=>ABL @>4>;68B5;L=>ABL 3;02KThis zone appears only for files containing chapters. it contains a table listing every chapter present in the file. For every chapter, the following information is shown: - #: Chapter number - Title: The title of the chapter - Start: The temporal position of the beginning of the chapter - End: The temporal position of the end of the chapter - Duration: The duration of the chapter DlgInfoFile-B0 >1;0ABL A>45@68B A?8A>: 2845> 4>@>65: 2 D09;5. ;O :064>9 87 =8E >B>1@0605BAO A;54CNH0O 8=D>@<0F8O: - #:: ><5@ 4>@>6:8 -  07<5@ 87>1@065=8O:  07<5@ 87>1@065=8O 2845> 4>@>6:8 - $>@<0B 87>1@065=8O:  07<5@ 87>1@065=8O 2845> 4>@>6:8 2 <530?8:A5;OE - 5><5B@8O 87>1@065=8O: 5><5B@8O 2845> 4>@>6:8 (4:3, 16:9, 8 4@.) - >45:: 845> :>45:, 8A?>;L7C5<K9 4;O A60B8O 87>1@065=8O - '0AB>B0 :04@>2: >;8G5AB2> :04@>2 2 A5:C=4C - 8B@59B: !B5?5=L A60B8O 2845> (?@8 =0;8G88);This zone contains a board listing every video track present in the file. For every track, the following information is shown: - #: Track number - Image size: The size of the images of the video track in number of points by number of line - Image format: The size of the images of the video track in million of pixels - Image geometry: The image geometry of the video track (4:3, 16:9, etc.) - Codec: The video codec used for compressed the images - Frame rate: The number of images per second of the video - Bitrate: The video compression ratio (when available) DlgInfoFile-B0 >1;0ABL A>45@68B A?8A>: 0C48> 4>@>65: 2 D09;5. ;O :064>9 87 =8E >B>1@0605BAO A;54CNH0O 8=D>@<0F8O: - #:: ><5@ 4>@>6:8 - /7K:: /7K: 0C48> 4>@>6:8 (:0: ?@028;>, D>B>0??0@0BK 8 :0<5@K C:07K20NB und (=5>?@545;5=>)) - >45:: C48> :>45:, 8A?>;L7C5<K9 4;O A60B8O 72C:0 - 0=0;K: >;8G5AB2> 72C:>2KE :0=0;>2 (1 = <>=>, 2 = AB5@5> 8 B.4.) - 8B@59B: !B5?5=L A60B8O 72C:0 (?@8 =0;8G88) - '0AB>B0 :04@>2: '0AB>B0 48A:@5B870F88 0C48> 4>@>6:8 - 0720=85: 0720=85 (?@8 =0;8G88)This zone contains a table listing every audio track present in the file. For every track, the following information is shown: - #: Track number - Language: The language in which is the audio track (generally cameras and camcorders indicate und for undefine) - Codec: The audio codec used for compressed the sound - Channels: The number of audio channels (1=mono, 2=stereo, etc.) - Bitrate: The audio compression ratio (when available) - Frequency: The frequency of sampling used by the audio track - Title: A title (when available) DlgInfoFile4=D>@<0F8O > 2845> 4>@>6:5Video track information DlgInfoFile&B<5=0&CancelDlgManageDevices&!?@02:0&HelpDlgManageDevices&:&OkDlgManageDevices<html><head/> <body><p>>72>;O5B A>740BL =>2>5 CAB@>9AB2>, :>B>@>5 1C45B 4>102;5=> 2 107C 40==KE.</p><p>!>740=85 =>2>3> CAB@>9AB20 ?@>872>48BAO 2 B@8 MB0?0:</p><p>1 -!>740=85 A0<>3> CAB@>9AB20</p><p>2 - 040=85 @07;8G=KE ?0@0<5B@>2 >1@01>B:8</p><p>3 - 060B85 :=>?:8 &quot;@8<5=8BL 87<5=5=8O&quot; 4;O @538AB@0F88 ?0@0<5B@>2</p></body></html>Q

Allows you to create a new device which will be added to the database.

The creation of a new device is made in 3 steps:

1- You must first create a device

2- You define the various parameters

3- You click the "Apply modifications" button to register the parameters

DlgManageDevices<html><head/><body><p>>72>;O5B C40;8BL CAB@>9AB2>.</p><p>1@0B8B5 2=8<0=85, GB> C40;8BL <>6=> B>;L:> CAB@>9AB20, A>740==K5 20<8. =8 ?><5G5=K 7=0G:>< <img src=":/img/db_update.png"/></p></body></html>

Allows you to delete a device.

Note that you can delete only devices which you created – those shown with the icon

DlgManageDevices<html><head/><body><p>>72>;O5B 2K1@0BL :0B53>@8N, 2 :>B>@>9 ?>78F8>=8@C5BAO >1>@C4>20=85</p></body></html>n

Allows you to select the category in which the equipment is classified

DlgManageDevices<html><head/><body><p>2548B5 745AL 8<O CAB@>9AB20</p></body></html>a

Enter here the name of the device (free text entry field)

DlgManageDevices<html><head/><body><p>0B53>@8O CAB@>9AB20 ?>72>;O5B 2K1@0BL B8? >1>@C4>20=8O, :>B>@>5 1C45B ?>:070=> 2 A?8A:5.</p></body></html>

The device type zone allows you to select the type of equipment to be shown in the list.

DlgManageDevices<html><head/><body><p>-B>B A?8A>: ?>:07K205B :0B53>@88 8 B8?K CAB@>9AB2, ?@8ACBAB2CNI8E 2 1075 40==KE.</p><p><img src=":/img/db.png"/> #AB@>9AB20, ?><5G5==K5 MB8< 7=0G:><, 8<5NBAO 2 1075 40==KE 87=0G0;L=> (?> C<>;G0=8N).</p><p><img src=":/img/db_update.png"/> #AB@>9AB20, ?><5G5==K5 MB8< 7=0G:><, 4>102;5=K 8;8 87<5=5=K 20<8 2 1075 40==KE.</p></body></html>|

This list shows the categories and the device types present in the database.

Devices preceded by this icon are defined in the default database.

Devices preceded by this icon are those that you defined yourself, or those from the default database that you have modified.

DlgManageDevices$<=>2>5 CAB@>9AB2>> DlgManageDevices^@8<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Accept modification and exit dialog boxDlgManageDevices&>1028BL CAB@>9AB2> Add DeviceDlgManageDevices@8<5=8BLApplyDlgManageDevices&@8<5=8BL 87<5=5=8OApply modificationDlgManageDevicesC48> :>45:: Audio codec :DlgManageDevices8B@59B: Bit rate :DlgManageDevices\B<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Cancel modification and exit dialog boxDlgManageDevicesB<5=8BL 87<5=5=8O, A45;0==K5 2 ?@54CAB0=>2;5==>< ?@>D8;5 >1>@C4>20=8OdCancel the modifications that you made on a predefined equipment profile in the ffDiaporama databaseDlgManageDevices,0B53>@8O CAB@>9AB20 :Device category :DlgManageDevices&>45;L CAB@>9AB20 :Device model :DlgManageDevices"8? CAB@>9AB20: Device type :DlgManageDevicesb%>B8B5 A>E@0=8BL 87<5=5=8O 4;O MB>3> CAB@>9AB20?3Do you whant to apply modification for this device?DlgManageDevices$>@<0B D09;0: File format :DlgManageDevices&$>@<0B 87>1@065=8O:Image format :DlgManageDevices.#?@02;5=85 CAB@>9AB20<8Manage DevicesDlgManageDevices >45;LModelDlgManageDevicesNTSCNTSCDlgManageDevicesPALPALDlgManageDevices$#40;8BL CAB@>9AB2> Remove DeviceDlgManageDevices> C<>;G0=8NReset Device to DefaultDlgManageDevicesVK15@8B5 0C48> :>45: 4;O A>740205<>3> D09;0/Select the audio codec to use for the renderingDlgManageDevicesRK15@8B5 18B@59B 0C48> A>740205<>3> D09;09Select the bit rate to use for audio during the renderingDlgManageDevicesRK15@8B5 18B@59B 2845> A>740205<>3> D09;09Select the bit rate to use for video during the renderingDlgManageDevicesDK15@8B5 D>@<0B A>740205<>3> D09;0-Select the file type to use for the renderingDlgManageDevicesfK15@8B5 D>@<0B 87>1@065=8O A>740205<>3> 2845>D09;00Select the image format to use for the renderingDlgManageDevicesVK15@8B5 2845> :>45: 4;O A>740205<>3> D09;0/Select the video codec to use for the renderingDlgManageDevicesfK15@8B5 8A?>;L7C5<K9 AB0=40@B 2845>, PAL 8;8 NTSC -Select the video standard to use, PAL or NTSCDlgManageDevicesP>:070BL A?@02:C >1 MB>< 480;>3>2>< >:=5!Show help about this dialogue boxDlgManageDevices"8?TypeDlgManageDevices845> :>45:: Video codec :DlgManageDevices !B0=40@B 2845> :Video standard :DlgManageDevices&B<5=0&CancelDlgManageFavorite&!?@02:0&HelpDlgManageFavorite&:&OkDlgManageFavorite71@0==>5 A B0:8< 8<5=5< C65 ACI5AB2C5B. >60;C9AB0, 2K15@8B5 4@C3>5 8<O!DA favorite with this name already exist. Please select another name!DlgManageFavorite^@8<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Accept modification and exit dialog boxDlgManageFavorite\B<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Cancel modification and exit dialog boxDlgManageFavorite(#?@02;5=85 871@0==K<Manage favoriteDlgManageFavorite,<O =>2>3> 871@0==>3>:New favorite name:DlgManageFavorite#40;8BLRemoveDlgManageFavorite"#40;8BL 871@0==>5Remove favoriteDlgManageFavorite5@58<5=>20BLRenameDlgManageFavorite.5@58<5=>20BL 871@0==>5Rename favoriteDlgManageFavoriteP>:070BL A?@02:C >1 MB>< 480;>3>2>< >:=5!Show help about this dialogue boxDlgManageFavorite&B<5=0&CancelDlgManageStyle&!?@02:0&HelpDlgManageStyle&:&OkDlgManageStyleT<html><head/><body><p>!CI5AB2CNI85 AB8;8 >B>1@060NBAO A> 7=0G:><, :>B>@K9 8<55B @07;8G=K5 7=0G5=8O:</p><p><img src=":/img/db.png"/> 4;O AB0=40@B=>3> AB8;O</p><p><img src=":/img/db_update.png"/> 4;O AB0=40@B=>3> AB8;O, 7=0G5=8O :>B>@>3> 2K 87<5=8;8, 8;8 4;O ?>;L7>20B5;LA:>3> AB8;O</p></body></html>

The existing styles appear with an icon which has various meanings:

for a standard style

for a standard style you modified or for a custom style

DlgManageStyle|!B8;L A B0:8< 8<5=5< C65 ACI5AB2C5B. 5;05B5 ?5@570?8A0BL 53>?CA style with this name already exist. Do you want to overwrite-it ?DlgManageStyle!B8;L A B0:8< 8<5=5< C65 ACI5AB2C5B. >60;C9AB0, 2K15@8B5 4@C3>5 8<O!AA style with this name already exist. Please select another name!DlgManageStyle^@8<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Accept modification and exit dialog boxDlgManageStyle0>72>;O5B C40;8BL =0AB@>9:8 AB0=40@B=>3> AB8;O, B5< A0<K< 25@=C2 53> 7=0G5=8O ?> C<>;G0=8N. -B> :0A05BAO :0: 8<5=8 AB8;O B0: 8 A>>B25BAB2CNI8E =0AB@>5:.Allows to delete the customizations of a standard style and thus to return it to the default values for this style. It concerns as well the name of the style as the associated settings.DlgManageStyleR>72>;O5B C40;8BL ?>;L7>20B5;LA:89 AB8;L.(Allows to remove the personalized style.DlgManageStyleP>72>;O5B ?5@58<5=>20BL 2K1@0==K9 AB8;L.$Allows to rename the selected style.DlgManageStyleP@C?=K9 G5@=K9 B5:AB A 15;K< >1@0<;5=85<"Big black text with white outlinesDlgManageStyleh@C?=K9 A25B;>-65;BK9 B5:AB A B5<=>-:>@8G=52>9 B5=LN,Big light yellow text with dark brown shadowDlgManageStyle\B<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Cancel modification and exit dialog boxDlgManageStyle0!8=89 3@0485=B >B F5=B@0Centered Blue GradientDlgManageStyle:>@8G=52K9 3@0485=B >B F5=B@0Centered Brown GradientDlgManageStyle<"5<=>-A5@K9 3@0485=B >B F5=B@0Centered Dark-Gray GradientDlgManageStyle45;5=K9 3@0485=B >B F5=B@0Centered Green GradientDlgManageStyle>!25B;>-A5@K9 3@0485=B >B F5=B@0Centered Light-Gray GradientDlgManageStyle4@0A=K9 3@0485=B >B F5=B@0Centered Red GradientDlgManageStyle&!>740BL =>2K9 AB8;LCreate new styleDlgManageStyle,>;L7>20B5;LA:89 AB8;L Custom styleDlgManageStyleB#?@02;5=85 ACI5AB2CNI8<8 AB8;O<8 Manage existing styleDlgManageStyle$#?@02;5=85 AB8;O<8 Manage styleDlgManageStyleP!@54=89 G5@=K9 B5:AB A 15;K< >1@0<;5=85<%Medium black text with white outlinesDlgManageStyleh!@54=89 A25B;>-65;BK9 B5:AB A B5<=>-:>@8G=52>9 B5=LN/Medium light yellow text with dark brown shadowDlgManageStyle >2>5 8<O AB8;O:New style name:DlgManageStyle4@O<>C3>;L=8: 157 MDD5:B>2Rectangle with no effectDlgManageStyle#40;8BLRemoveDlgManageStyle5@58<5=>20BLRenameDlgManageStyle&5@58<5=>20BL AB8;L Rename styleDlgManageStyle*!1@>A8BL ?> C<>;G0=8NReset to defaultDlgManageStylel!:@C3;5==K9 ?@O<>C3>;L=8: A B>=:>9 :>@8G=52>9 3@0=8F59)Rounded rectangle with small brown borderDlgManageStyle$K1@0BL MB>B AB8;LSelect this styleDlgManageStyleP>:070BL A?@02:C >1 MB>< 480;>3>2>< >:=5!Show help about this dialogue boxDlgManageStyleN5;:89 1K;K9 B5:AB A G5@=K< >1@0<;5=85<$Small white text with black outlinesDlgManageStyle0720=85 AB8;O: Style name:DlgManageStyle4@>7@0G=K9 1;>: (157 D>=0)Transparent block (no brush)DlgManageStyle61=>28BL ACI5AB2CNI89 AB8;LUpdate existing styleDlgManageStyle&1=>28BL MB>B AB8;LUpdate this styleDlgManageStyle&B<5=0&CancelDlgMusicProperties&!?@02:0&HelpDlgMusicProperties&:&OkDlgMusicProperties^@8<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Accept modification and exit dialog boxDlgMusicProperties4>1028BL <C7K:0;L=K5 D09;KAdd music filesDlgMusicProperties>1028BL D09; 2 A?8A>: 2>A?@>872545=8O. >O28BAO 480;>3>2>5 >:=> 2K1>@0 D09;>2, ?>72>;ONI55 2K1@0BL D09;[Adds a file to the playlist. A file selection dialog appears, allowing you to select a fileDlgMusicProperties\B<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Cancel modification and exit dialog boxDlgMusicProperties>7<5=8BL C@>25=L 3@><:>AB8 =0 :Change volume level to :DlgMusicProperties7<5=5=85 ?>@O4:0 2 :>B>@>< <C7K:0;L=K5 D09;K 1C4CB 2>A?@>872>48BLAO. 5@5<5I5=85 2K1@0==>3> D09;0 =0 >48= H03 2=87jChanges the order in which the music files will be played. Moves the currently selected file one step downDlgMusicProperties7<5=5=85 ?>@O4:0 2 :>B>@>< <C7K:0;L=K5 D09;K 1C4CB 2>A?@>872>48BLAO. 5@5<5I5=85 2K1@0==>3> D09;0 =0 >48= H03 225@E.iChanges the order in which the music files will be played. Moves the currently selected file one step up.DlgMusicProperties>:07 2 B8B@0ECreditDlgMusicPropertiesd?@545;8BL C@>25=L 3@><:>AB8 2> 2@5<O MB>3> A;0940&Define the sound volume for this slideDlgMusicProperties;8B5;L=>ABLDurationDlgMusicProperties$09;FileDlgMusicProperties 0@0<5B@K <C7K:8Music propertiesDlgMusicProperties:57 ?>;L7>20B5;LA:8E =0AB@>5:No specific settingsDlgMusicProperties57 87<5=5=89NormalDlgMusicProperties0C70 B5:CI53> A?8A:0 2>A?@>872545=8O. @8<5G0=85: MB0 ?0C70 ?@8<5=O5BAO B>;L:> 4;O 2K1@0==>3> A;0940WPauses the current play list. Remark: This pause is applied only for the selected slideDlgMusicProperties`#40;O5B 2K1@0==K9 D09; 87 A?8A:0 2>A?@>872545=8O3Removes the current selected file from the playlistDlgMusicProperties$>AB028BL =0 ?0C7C Set to pauseDlgMusicProperties80AB@>9:8 <C7K:0;L=>3> B@5:0Settings for the music trackDlgMusicPropertiesP>:070BL A?@02:C >1 MB>< 480;>3>2>< >:=5!Show help about this dialogue boxDlgMusicPropertiesAE>4=0O ?0?:0 Source folderDlgMusicProperties#:07K205B, GB> A MB>3> <><5=B0, 3@><:>ABL 72C:0 C<5=LH05BAO. -B0 =0AB@>9:0 >A>15==> ?>;57=0, =0?@8<5@, 4;O C<5=LH5=8O 72C:0 <C7K:8 2> 2@5<O 2>A?@>872545=8O 2845>. @8<5G0=85: 7040==0O 3@><:>ABL ?@8<5=O5BAO B>;L:> 4;O 2K1@0==>3> A;0940.Specifies that from now on, the sound volume is reduced. This option is particularly useful, for example, to reduce the sound of the music during the play of a video. Remark: This volume reduction is applied only for the selected slide.DlgMusicPropertiesH0G0BL =>2K9 ?;59;8AB A MB>3> A;0940$Start a new playlist from this slideDlgMusicPropertiesH1I0O ?@>4>;68B5;L=>ABL ?;59;8AB0 : Total playlist duration : DlgMusicProperties@><:>ABLVolumeDlgMusicProperties\>72>;O5B =0G0BL =>2K9 ?;59;8AB A MB>3> A;0940,You can start a new playlist from this slideDlgMusicPropertiesL @>3=>78@C5<>5 >AB02H55AO 2@5<O :  - Estimated time left : DlgRenderVideo&B<5=0&CancelDlgRenderVideo&!?@02:0&HelpDlgRenderVideo&:&OkDlgRenderVideo"&!2>9AB20 ?@>5:B0 &PropertiesDlgRenderVideo,(:>4 O7K:0 ?> ISO 639)(ISO 639 language code)DlgRenderVideo8"@51C5BAO <>45;L CAB@>9AB20!A device model is require!DlgRenderVideoV@8<5=8BL 87<5=5=8O 8 =0G0BL A>740=85 D09;0/Accept modification and start rendering processDlgRenderVideoX>?>;=8B5;L=K5 ?0@0<5B@K A>740=8O 2845>D09;0Advanced render videoDlgRenderVideoA5 A;094K All slidesDlgRenderVideoC48> :>45:: Audio codec :DlgRenderVideo$>@<0B 0C48>:Audio format :DlgRenderVideo8!@54=OO A:>@>ABL >1@01>B:8 :Average render speed :DlgRenderVideo8B@59B: Bit rate :DlgRenderVideoB<<5=8BL 87<5=5=8O 8;8 ?@>F5AA A>740=8O D09;0 8 2K9B8 87 480;>3>2>3> >:=0?:C 4;O 2K1>@0 D09;0 8 ?0?:8.BClick on this button to select graphically a file and a directory.DlgRenderVideo0@>3@5AA B5:CI53> A;0940Current slide progressionDlgRenderVideof?@545;O5B 7=0G5=85 ?>;O O7K:0. -B> 7=0G5=85 8A?>;L7C5BAO ?;55@0<8 4;O >?@545;5=8O O7K:0 72C:>2>9 4>@>6:8. -B> 7=0G5=85 A>AB>8B 87 3 A8<2>;>2 8 A>>B25BAB2C5B @5:><5=40F88 ISO 639.Defines the value of the Language field. This value is used by players to indicate in which language is the audio track. This value is on 3 characters and follows the ISO 639 recommendation.DlgRenderVideo"$09; =07=0G5=8O :Destination file :DlgRenderVideo.CBL : D09;C =07=0G5=8ODestination file pathDlgRenderVideo&>45;L CAB@>9AB20 :Device model :DlgRenderVideo.K1>@ <>45;8 CAB@>9AB20Device model selectionDlgRenderVideo"8? CAB@>9AB20: Device type :DlgRenderVideo@>H;> :Elapsed time :DlgRenderVideo">48@>20=85 72C:0Encoding soundDlgRenderVideo">48@>20=85 2845>Encoding videoDlgRenderVideo*-:A?>@B 0C48> 4>@>6:8Export soundtrackDlgRenderVideo$>@<0B D09;0: File format :DlgRenderVideo'0AB>B0 : Frequency :DlgRenderVideo!FromDlgRenderVideo5><5B@8O : Geometry :DlgRenderVideoA;8 MB>B D;06>: CAB0=>2;5=, XMBC .nfo D09; 1C45B A>740= 2<5AB5 A 2845>D09;><.HIf this box is checked then a XBMC .nfo file will be created with video.DlgRenderVideoA;8 MB>B D;06>: CAB0=>2;5=, >1;>6:0 1C45B A>740=0 2<5AB5 A 2845>D09;><.HIf this box is checked then a thumbnail file will be created with video.DlgRenderVideoA;8 MB>B D;06>: CAB0=>2;5=, B> 72C:>20O 4>@>6:0 1C45B 2:;NG5=0 2 2845>.JIf this box is checked then the sound track will be included in the video.DlgRenderVideo4A;8 MB>B D;06>: CAB0=>2;5=, B> 18B@59B O2;O5BAO ?5@5<5==K< (>B -50% 4> +125%) @8<5G0=8O: - A;8 ?@>5:B A>45@68B 2 >A=>2=>< D>B>3@0D88, MB>B ?0@0<5B@ <>65B ACI5AB25==> C<5=LH8BL @07<5@ 2845>-D09;0 (4> 80%) - A;8 ?@>5:B A>45@68B 2 >A=>2=>< 2845>, MB>B ?0@0<5B@ C25;8G8B @07<5@ 2845> D09;0 > C<>;G0=8N MB>B D;06>: CAB0=>2;5=, 5A;8 4;8B5;L=>ABL 2845> A>AB02;O5B <5=55 ?>;>28=K >1I59 ?@>4>;68B5;L=>AB8 ?@>5:B0If this box is checked, the bitrate is variable (between -50% to +125%) Notes: - If the project contains mostly pictures, this option can significantly reduce the size of the video file (up to 80%) - By cons, if the project contains mostly videos this option will increase the size of the video file By default, this box is checked if duration of videos are less than half of the total durationDlgRenderVideo&$>@<0B 87>1@065=8O:Image format :DlgRenderVideo*:;NG8BL 72C: 2 2845>Include sound in the videoDlgRenderVideo>5?@028;L=>5 A>G5B0=85 :>45:>2!Incorrect codec combination!DlgRenderVideo"040=85 >B<5=5=>! Job canceled!DlgRenderVideon040=85 CA?5H=> 7025@H5=>! %>B8B5 >B:@KBL 0C48> A59G0A?DJob completed successfully! Do you want to open the audio track now?DlgRenderVideon040=85 CA?5H=> 7025@H5=>! %>B8B5 >B:@KBL 2845> A59G0A?>Job completed successfully! Do you want to open the video now?DlgRenderVideoxH81:0 7040=8O! >60;C9AB0, A2O68B5AL A :><0=4>9 ffDiaporama*Job error! Please contact ffDiaporama teamDlgRenderVideo`@8A>548=8BL XBMC .nfo D09; : A>740205<><C D09;C$Join XBMC .nfo file to rendered fileDlgRenderVideoR@8A>548=8BL >1;>6:C : A>740205<><C D09;CJoin thumbnail to rendered fileDlgRenderVideo /7K: : Language :DlgRenderVideo>;5 4>;6=> 1KBL ?CABK< 8;8 A>45@60BL :>4 O7K:0 ?> ISO 639 (3 A8<2>;0) !<>B@8B5 A?@02:C 4;O 1>;55 ?>4@>1=>9 8=D>@<0F88!\Language must be empty or an ISO 639 language code (3 characters) See help for more details!DlgRenderVideoK1>@ O7K:0Language selectionDlgRenderVideoNTSCNTSCDlgRenderVideo,!B0@K9 B5;5287>@ (4:3) Old TV (4:3)DlgRenderVideo$5@570?8A0BL D09;?Overwrite file ?DlgRenderVideoPALPALDlgRenderVideoK1>@ 480?07>=0Range selectionDlgRenderVideoJ!>740BL 2845>D09; 157 ?>B5@8 :0G5AB20Render lossless videoDlgRenderVideo!>740=85 2845> Render videoDlgRenderVideoj!>740BL 2845>D09; 4;O <>18;L=>3> ?;55@0 8;8 A<0@BD>=0,Render video for mobil player and smartphoneDlgRenderVideoR!>740BL 2845>D09; 4;O <C;LB8<5480 A8AB5<K"Render video for multimedia systemDlgRenderVideo>!>740BL 2845>D09; 4;O 8=B5@=5B0Render video for the WEBDlgRenderVideo$!>740205<K9 D09; :Rendering to :DlgRenderVideo0K15@8B5 D09; =07=0G5=8OSelect destination fileDlgRenderVideo2K15@8B5 ?0?:C =07=0G5=8OSelect destination folderDlgRenderVideoXK15@8B5 0C48> :>45: 4;O A>740205<>3> D09;0.NSelect the audio codec to be used to render the video from the displayed list.DlgRenderVideoTK15@8B5 18B@59B 0C48> A>740205<>3> D09;0.;Select the audio compression ratio from the displayed list.DlgRenderVideoTK15@8B5 G0AB>BC 0C48> A>740205<>3> D09;0.;Select the frequency to use for audio during the rendering.DlgRenderVideohK15@8B5 D>@<0B 87>1@065=8O A>740205<>3> 2845>D09;0.OSelect the image format to be used to render the video from the displayed list.DlgRenderVideo8K15@8B5 <>45;L >1>@C4>20=8OSelect the model of equipmentDlgRenderVideo2K15@8B5 B8? >1>@C4>20=8OSelect the type of equipmentDlgRenderVideoFK15@8B5 D>@<0B A>740205<>3> D09;0.OSelect the type of file to be used to render the video from the displayed list.DlgRenderVideoXK15@8B5 2845> :>45: 4;O A>740205<>3> D09;0.NSelect the video codec to be used to render the video from the displayed list.DlgRenderVideoTK15@8B5 18B@59B 2845> A>740205<>3> D09;0.;Select the video compression ratio from the displayed list.DlgRenderVideofK15@8B5 8A?>;L7C5<K9 AB0=40@B 2845>, PAL 8;8 NTSC..Select the video standard to use, PAL or NTSC.DlgRenderVideoP>:070BL A?@02:C >1 MB>< 480;>3>2>< >:=5!Show help about this dialogue boxDlgRenderVideo:>:07K205B 35><5B@8N ?@>5:B0.!Show the geometry of the project.DlgRenderVideof80?07>= A;094>2 >?@545;5= =5?@028;L=K<8 7=0G5=8O<8*Slide range is defined to incorrect valuesDlgRenderVideo 2C: :Sound :DlgRenderVideo,AB0=>28BL :>48@>20=85Stop renderingDlgRenderVideodAB0=>28BL :>48@>20=85 8 2K9B8 87 480;>3>2>3> >:=0*Stop rendering process and exit dialog boxDlgRenderVideo0(8@>:>M:@0==K9 " (16:9)TV Wide (16:9)DlgRenderVideonK1@0==K9 D09; C65 ACI5AB2C5B. %>B8B5 ?5@570?8A0BL 53>?BThe file you selected already exist. Do you want to overwrite it ?DlgRenderVideo>65B 1KBL >1@01>B0= 25AL ?@>5:B 8;8 B>;L:> 53> G0ABL. @8 CAB0=>2:5 >?F88 A5 A;094K 1C45B A>740= 2845>D09; 87 2A53> ?@>5:B0.The rendering can be made on the whole project or only on a part. By checking the option All slides to render the video of the whole project.DlgRenderVideob>65B 1KBL >1@01>B0= 25AL ?@>5:B 8;8 B>;L:> 53> G0ABL. ?F8O ! ... >... , A>45@60I0O =><5@0 =0G0;L=>3> 8 :>=5G=>3> A;094>2, ?>72>;O5B A>740BL 2845>D09; B>;L:> 87 G0AB8 ?@>5:B0.The rendering can be made on the whole project or only on a part. By checking the option From and then entering the numbers of the start and end slides to generate a video of only a part of the project.DlgRenderVideo-B0 :=>?:0 ?>72>;O5B >B:@KBL 480;>3>2>5 >:=> A2>9AB2 ?@>5:B0. => ?>72>;O5B =0AB@>9BL A2>9AB20 ?@>5:B0 4> A>740=8O 2845>. @8<5G0=85: A2>9AB20 ?@>5:B0 A>E@0=ONBAO 2 2845>, :0: B53 (<5B040==K5), :>B>@K5 8A?>;L7CNBAO <=>38<8 ?@>3@0<<0<8 8;8 CAB@>9AB20<8.This button allows you to open project properties dialog. It allows you to adjust the properties before generating the video. Note: the project properties are saved into the video as TAG (METADATA) which are used by a lot of indexing programs or by jukeboxes.DlgRenderVideo>ToDlgRenderVideo1@01>B0BL : To render :DlgRenderVideo1I89 ?@>3@5AATotal progressionDlgRenderVideo$5@5<5==K9 18B@59BVariable bitrateDlgRenderVideo845> :>45:: Video codec :DlgRenderVideo$>@<0B 2845>:Video format :DlgRenderVideo !B0=40@B 2845> :Video standard :DlgRenderVideofpsfpsDlgRenderVideo 845>movieDlgRenderVideoC48> 4>@>6:0 soundtrackDlgRenderVideoundundDlgRenderVideo&B<5=0&Cancel DlgRulerDef&!?@02:0&Help DlgRulerDef&:&Ok DlgRulerDef^@8<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Accept modification and exit dialog box DlgRulerDef\B<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Cancel modification and exit dialog box DlgRulerDefX:;NG8BL 8;8 >B:;NG8BL 3>@87>=B0;L=K5 ;8=59:8 87 F5=B@0, ?> 25@E=5<C :@0N, ?> =86=5<C :@0N, >B ;52>3> 8 ?@02>3> :@052 :064>3> >1J5:B0, :>B>@K5 =5 O2;ONBAO G0ABLN 2K45;5=8O.Enable or disable horizontal rulers of the center, of the top edge, of the bottom edge, of the left edge and of the right edge of each objects which are not a part of the selection. DlgRulerDef:;NG8BL 8;8 >B:;NG8BL ;8=59:8 4;O 3>@87>=B0;L=KE " ?>;59.  ffDiaporama, ?>;O B5;5287>@0 8<5NB B8? "57>?0A=0O 7>=0" 8 >?@545;ONBAO =0 90% 2 H8@8=C 8 90% 2 2KA>BC, 4;O 2A5E 35><5B@89 ?@>5:B0.Enable or disable ruler for the horizontal TV margins. In ffDiaporama, the TV margins are of type "Title safe area" and are defined on 90% in width and 90% in height, for all the project geometries. DlgRulerDef~:;NG8BL 8;8 >B:;NG8BL 3>@87>=B0;L=CN ;8=59:C ?> F5=B@C M:@0=0.@Enable or disable ruler for the horizontal center of the screen. DlgRulerDef~:;NG8BL 8;8 >B:;NG8BL ;8=59:8 4;O 3>@87>=B0;L=KE :@052 M:@0=0.?Enable or disable ruler for the horizontal edges of the screen. DlgRulerDef~:;NG8BL 8;8 >B:;NG8BL ;8=59:8 4;O 25@B8:0;L=KE " ?>;59.  ffDiaporama, ?>;O B5;5287>@0 8<5NB B8? "57>?0A=0O 7>=0" 8 >?@545;ONBAO =0 90% 2 H8@8=C 8 90% 2 2KA>BC, 4;O 2A5E 35><5B@89 ?@>5:B0.Enable or disable ruler for the vertical TV margins. In ffDiaporama, the TV margins are of type "Title safe area" and are defined on 90% in width and 90% in height, for all the project geometries. DlgRulerDefz:;NG8BL 8;8 >B:;NG8BL 25@B8:0;L=CN ;8=59:C ?> F5=B@C M:@0=0.>Enable or disable ruler for the vertical center of the screen. DlgRulerDefz:;NG8BL 8;8 >B:;NG8BL ;8=59:8 4;O 25@B8:0;L=KE :@052 M:@0=0.=Enable or disable ruler for the vertical edges of the screen. DlgRulerDefV:;NG8BL 8;8 >B:;NG8BL 25@B8:0;L=K5 ;8=59:8 87 F5=B@0, ?> 25@E=5<C :@0N, ?> =86=5<C :@0N, >B ;52>3> 8 ?@02>3> :@052 :064>3> >1J5:B0, :>B>@K5 =5 O2;ONBAO G0ABLN 2K45;5=8O.Enable or disable vertical rulers of the center, of the top edge, of the bottom edge, of the left edge and of the right edge of each objects which are not a part of the selection. DlgRulerDef,>@87>=B0;L=K5 ;8=59:8Horizontal rulers DlgRulerDef!2>9AB20 ;8=55:Ruler properties DlgRulerDef&5=B@ M:@0=0 Screen center DlgRulerDefP>:070BL A?@02:C >1 MB>< 480;>3>2>< >:=5!Show help about this dialogue box DlgRulerDef>;O TV  TV margins DlgRulerDef(52K45;5==K5 >1J5:BKUnselected objects DlgRulerDef(5@B8:0;L=K5 ;8=59:8Vertical rulers DlgRulerDef:@0O M:@0=0screen borders DlgRulerDef&B<5=0&CancelDlgSlideDuration&!?@02:0&HelpDlgSlideDuration&:&OkDlgSlideDuration^@8<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Accept modification and exit dialog boxDlgSlideDuration\B<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Cancel modification and exit dialog boxDlgSlideDurationV#AB0=>28BL ?@>4>;68B5;L=>ABL ?5@2>3> :04@0.&Define the duration of the first shot.DlgSlideDuration@@>4>;68B5;L=>ABL ?5@2>3> :04@0:First shot duration :DlgSlideDurationHH:mm:ss.zzz HH:mm:ss.zzzDlgSlideDurationvK15@8B5 ?@>4>;68B5;L=>ABL ?5@2>3> :04@0 4;O 3@C??K A;094>2+Set first shot duration for a set of slidesDlgSlideDurationP>:070BL A?@02:C >1 MB>< 480;>3>2>< >:=5!Show help about this dialogue boxDlgSlideDuration& >>@48=0BK 1;>:0 : Block coordinates :DlgSlidePropertiesJ $>@<0 1;>:0 (>1I0O 4;O 2A5E :04@>2):# Block shape (common to all shots):DlgSlideProperties&B<5=0&CancelDlgSlideProperties&!?@02:0&HelpDlgSlideProperties&:&OkDlgSlideProperties<html><head/><body><p><br/>0AB@>9:8 0=8<0F88:</p></body></html>@


Animation settings:

DlgSlidePropertiesz<html><head/><body><p><br/>=8<0F8O 1;>:0 :</p></body></html>>


Block animation :

DlgSlideProperties|<html><head/><body><p><br/>=8<0F8O B5:AB0 :</p></body></html>=


Text animation :

DlgSlideProperties^@8<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Accept modification and exit dialog boxDlgSlideProperties`@8<5=8BL 87<5=5=8O 8 ?5@59B8 =0 A;54CNI89 A;094(Accept modification and go to next slideDlgSlidePropertiesh@8<5=8BL 87<5=5=8O 8 25@=CBLAO : ?@54K4CI5<C A;094C,Accept modification and go to previous slideDlgSlideProperties>1028BL D09;Add fileDlgSlideProperties>1028BL :04@Add shotDlgSlideProperties,>1028BL A?5F. M;5<5=B Add specialDlgSlideProperties>1028BL B5:ABAdd textDlgSlideProperties8>1028BL :;8?0@B 1;>: B5:AB0Add ClipArt text blockDlgSlideProperties(>1028BL :0@BC GMapsAdd a GMaps mapDlgSlideProperties:>1028BL :0@BC 87 Google MapsAdd a map from Google mapsDlgSlidePropertiesD>1028BL =>2K9 :;8?0@B 1;>: B5:AB0Add a new ClipArt text blockDlgSlidePropertiesR>1028BL =>2K9 1;>: 87>1@065=8O 8;8 2845>&Add a new block of type image or videoDlgSlidePropertiesD>1028BL =>2K9 ?@>AB>9 1;>: B5:AB0Add a new simple text blockDlgSlideProperties4>1028BL =>2K9 1;>: B5:AB0Add a new text blockDlgSlideProperties>1028BL D09;Add fileDlgSlidePropertiesJ>1028BL 87>1@065=85 87 1CD5@0 >1<5=0Add image from clipboardDlgSlidePropertiest>1028BL >48= 8;8 =5A:>;L:> =>2KE 1;>:>2 87>1@065=8O 8;8 2845>. >O28BAO 480;>3>2>5 >:=> 2K1>@0 D09;>2, ?>72>;ONI55 2K1@0BL D09;K. @8<5G0=85: 2 A;CG05 <=>65AB25==>3> 2K1>@0, D09;K 4>102;ONBAO 2 0;D028B=>< ?>@O4:5 8<5= D09;>2 8;8 2 F8D@>2>< ?>@O4:5 :04@>2 (2 7028A8<>AB8 >B 2K1@0==>9 >?F88 2 480;>35 :>=D83C@0F88).1Add one or several new blocks of images or video. A file selection dialog appears allowing you to select files. Note: in case of multiple selection, files are added in the alphabetical order of the filenames or in the digital order of shots (according to the option selected in the configuration dialog).DlgSlideProperties>1028BL :04@Add shotDlgSlideProperties8>1028BL ?@>AB>9 1;>: B5:AB0Add simple text blockDlgSlideProperties(>1028BL 1;>: B5:AB0Add text blockDlgSlideProperties.K@>2=OBL 1;>:8 ?> =87CAlign blocks to the bottomDlgSlideProperties2K@>2=OBL 1;>:8 ?> F5=B@CAlign blocks to the centerDlgSlideProperties<K@>2=OBL 1;>:8 ?> ;52><C :@0NAlign blocks to the leftDlgSlideProperties6K@>2=OBL 1;>:8 ?> A5@548=5Align blocks to the middleDlgSlideProperties>K@>2=OBL 1;>:8 ?> ?@02><C :@0NAlign blocks to the rightDlgSlideProperties0K@>2=OBL 1;>:8 ?> 25@ECAlign blocks to the topDlgSlideProperties"K@>2=OBL ?> =87C Align bottomDlgSlideProperties&K@>2=OBL ?> F5=B@C Align centerDlgSlideProperties0K@>2=OBL ?> ;52><C :@0N Align leftDlgSlideProperties*K@>2=OBL ?> A5@548=5 Align middleDlgSlideProperties2K@>2=OBL ?> ?@02><C :@0N Align rightDlgSlideProperties$K@>2=OBL ?> 25@EC Align topDlgSlidePropertiesRB:@KBL 480;>3>2>5 >:=> =0AB@>9:8 ;8=55:..Allows you to open the rulers settings dialog.DlgSlidePropertiesf>72>;O5B 2K1@0BL 70@0=55 >?@545;5==K9 @07<5@ 1;>:0-Allows you to select a pre-defined block sizeDlgSlideProperties >72>;O5B 2K1@0BL AB8;L >1@57:8 87>1@065=8O. <55B B0:>9 65 MDD5:B, :0: 8 2K1>@ AB8;O 2 480;>35 04@8@>20=85 8 :>@@5:F8O 87>1@065=8O.Allows you to select a reframing style for the image. It has the same effect as selecting a style in the Image framing and correction dialog.DlgSlideProperties*>72>;O5B 2K1@0BL D>@<C 1;>:0. K1@0==0O D>@<0 1C45B 8A?>;L7>20BLAO 2 :0G5AB25: - <0A:0 A;8O=8O 4;O 87>1@065=89 8 2845>. - 7>=K >1@57:8 4;O B5:AB>2.Allows you to select a shape for the block. The selected shape will be used as: - A fusion mask for the images and the videos. - A cutting zone for texts.DlgSlideProperties>72>;O5B 2K1@0BL >3@0=8G5=8O 35><5B@88, :>B>@K5 4>;6=K ?@8<5=OBLAO : 1;>:C. >ABC?=> B@8 B8?0 >3@0=8G5=89: -  ?@O<>C3>;L=8:C 2K45;5=8O =5 ?@8<5=ONBAO >3@0=8G5=8O. - @O<>C3>;L=8: 2K45;5=8O 1C45B B>9 65 35><5B@88, GB> 8 2 =0AB>OI55 2@5<O. 5 8<55B A<KA;0 4> B5E ?>@, ?>:0 =5 1C45B >?@545;5=0 D>@<0 2 @568<5 "57 >3@0=8G5=89". - @O<>C3>;L=8: 2K45;5=85 1C45B B>9 65 35><5B@88, GB> 8 A0< ?@>5:B. A;8 2K >B:@>5B5 87>1@065=85 2 ?>;=>M:@0==>< @568<5, B> 2K1@0==0O G0ABL 1C45B A>>B25BAB2>20BL 2A5<C M:@0=C.Allows you to select the geometrical constraints to be applied to the block. Three type of constraint are available: - No constraint is applied to the selection rectangle. - Lock selection rectangle to the actual geometry. It has no meaning until you have defined a shape in "no constraint" mode. - Lock selection rectangle to the same geometry as the project, such that, if you place the image in full screen, the reframed part will correspond to the whole screen.DlgSlideProperties>O2;5=85AppearDlgSlideProperties>O2;5=85: 1;>: ?>O28BAO 2> 2@5<O :04@0 AG57=>25=85: 1;>: 8AG57=5B 2> 2@5<O :04@0 830=85: 1;>: 1C45B <830BL 2> 2@5<O :04@0 (?>O28;AO, 8AG57). >ABC?=> 4 A:>@>AB8 (>B <54;5==>9 4> >G5=L 1KAB@>9).Appear: The block will appear during the shot Disappear: The block will disappear during the shot Blink: The block will blink during the shot (appear then disappear). 4 speeds are proposed (from slow to very fast).DlgSlidePropertiesJ>1028BL :04@ 2 :>=5F 2@5<5==>9 H:0;K(Append a shot at the end of the timelineDlgSlidePropertiesF>1028BL :04@ 2 :>=5F ;8=88 2@5<5=8$Append a shot to end of the timelineDlgSlidePropertiesB>1028BL : H01;>=0< =0720=89 3;02Append to chapter title modelsDlgSlidePropertiesR>1028BL : H01;>=0< 70:;NG8B5;L=KE B8B@>2Append to credit title modelsDlgSlidePropertiesH>1028BL : H01;>=0< =0720=89 ?@>5:B0Append to project title modelsDlgSlideProperties$#40;8BL MB8 1;>:8?-Are you sure you want to delete these blocks?DlgSlideProperties$#40;8BL MB>B 1;>:?+Are you sure you want to delete this block?DlgSlideProperties$#40;8BL MB>B :04@?*Are you sure you want to delete this shot?DlgSlideProperties"#?>@O4>G8BL 1;>:8 Arrange blockDlgSlideProperties"#?>@O4>G8BL 1;>:8Arrange blocksDlgSlideProperties 830=85 (1KAB@>)Blink at fast speedDlgSlideProperties 830=85 (A@54=5)Blink at medium speedDlgSlideProperties$830=85 (<54;5==>)Blink at slow speedDlgSlideProperties,830=85 (>G5=L 1KAB@>)Blink at very fast speedDlgSlideProperties&=D>@<0F8O > 1;>:5Block informationDlgSlideProperties@0=8F0 :Border :DlgSlideProperties\B<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Cancel modification and exit dialog boxDlgSlideProperties7<5=8BL ?>@O4>: 1;>:>2 ?5@5<5I5=85< 0:B82=>3> 1;>:0 =0 704=89 ?;0=LChange the order of blocks by moving the active block towards the backgroundDlgSlideProperties7<5=8BL ?>@O4>: 1;>:>2 ?5@5<5I5=85< 0:B82=>3> 1;>:0 =0 ?5@54=89 ?;0=LChange the order of blocks by moving the active block towards the foregroundDlgSlideProperties~7<5=8BL ?>@O4>: :04@>2 ?5@5<5I5=85< 40==>3> :04@0 =0 H03 2;52>ZChange the order of the shots by moving the current selected shot a notch towards the leftDlgSlideProperties7<5=8BL ?>@O4>: :04@>2 ?5@5<5I5=85< 40==>3> :04@0 =0 H03 2?@02>[Change the order of the shots by moving the current selected shot a notch towards the rightDlgSlideProperties$=D>@<0F8O > 3;025Chapter InformationDlgSlideProperties;8?0@B : Clip-Art :DlgSlideProperties>?8@>20BL 1;>: Copy blockDlgSlidePropertiesf!:>?8@>20BL B5:CI89 1;>: 2 1CD5@ >1<5=0 ffDiaporama3Copy the current block to the ffDiaporama clipboardDlgSlideProperties!:>?8@>20BL B5:CI89 1;>: 2 1CD5@ >1<5=0 ffDiaporama 8 C40;8BL A> A;0940PCopy the current block to the ffDiaporama clipboard and remove it from the slideDlgSlidePropertiesH04@8@>20=85 8 :>@@5:F8O 87>1@065=8OCorrect or reframe imageDlgSlidePropertiesH04@8@>20=85 8 :>@@5:F8O 87>1@065=8OEAction title in slide edit dialog + dialog title of image edit dialogCorrect or reframe imageDlgSlidePropertiesh>@@5:F8O, :04@8@>20=85 8;8 >1@57:0 :0@B Google Maps)Correct, reframe or cut a Google Maps mapDlgSlidePropertiesR>@@5:F8O, :04@8@>20=85 8;8 >1@57:0 2845>Correct, reframe or cut videoDlgSlidePropertiesb!>740BL =>2K9 1;>: 87 87>1@065=8O 2 1CD5@5 >1<5=0-Create a new block using image from clipboardDlgSlideProperties Ctrl+CCtrl+CDlgSlidePropertiesCtrl+InsCtrl+InsDlgSlideProperties Ctrl+VCtrl+VDlgSlideProperties Ctrl+XCtrl+XDlgSlideProperties Ctrl+ZCtrl+ZDlgSlidePropertiesK@570BL 1;>: Cut blockDlgSlideProperties`7<5=5=85 :0@B Google Maps (>1@57:0 8 :>@@5:F8O)?Define Modify Google Maps map and framing and correction of mapDlgSlideProperties#:070BL =0720=85 A;0940. -B> B> =0720=85, :>B>@>5 1C45B >B>1@065=> 2 <8=80BN@5 =0 ;8=88 2@5<5=8 3;02=>3> >:=0kDefine a name for the slide. It is this name which will appear on the thumbnail in the main window timelineDlgSlideProperties?@545;8BL 7=0G5=8O <0AHB018@>20=8O B5:AB0. @8<5G0=85: GB>1K ?>;CG8BL 0=8<0F8N B5:AB0, 2K 4>;6=K A>740BL :0: <8=8<C< 2 :04@0: - >?@545;8BL 7=0G5=8O <0AHB018@>20=8O 8 ?@>:@CB:8 4;O 1-3> :04@0 - >?@545;8BL 4@C385 7=0G5=8O <0AHB018@>20=8O 8 ?@>:@CB:8 4;O 2-3> :04@0Define a zoom value for the text. Remark: To make animations of text, you have to create at least 2 shots then: -Define values for zoom and scrolling for the 1st shot -Define different values for zoom and scrolling for the 2ndDlgSlideProperties\0AB@>8BL :04@8@>20=85 8 :>@@5:F8N 87>1@065=8O&Define framing and correction of imageDlgSlideProperties0AB@>8BL :04@8@>20=85 8 :>@@5:F8N 87>1@065=8O 8;8 >1@57:C 2845>3Define framing and correction of image or cut videoDlgSlidePropertiesr0AB@>8BL :04@8@>20=85 8 :>@@5:F8N 87>1@065=8O 8;8 D8;L<0/Define framing and correction of image or movieDlgSlidePropertiesp0AB@>8BL :04@8@>20=85 8 :>@@5:F8N 25:B>@=KE 87>1@065=89-Define framing and correction of image vectorDlgSlideProperties\?@545;8BL C3>; ?>2>@>B0 ?> >A8 x (2 3@04CA0E)DDefine the angle of rotation about the x-axis (expressed in degrees)DlgSlideProperties\?@545;8BL C3>; ?>2>@>B0 ?> >A8 y (2 3@04CA0E)DDefine the angle of rotation about the y-axis (expressed in degrees)DlgSlideProperties\?@545;8BL C3>; ?>2>@>B0 ?> >A8 z (2 3@04CA0E)DDefine the angle of rotation about the z-axis (expressed in degrees)DlgSlidePropertiesVK1@0BL @0AAB>O=85 <564C 1;>:>< 8 53> B5=LN4Define the distance between the block and its shadowDlgSlideProperties040BL :>;8G5AB2> >1>@>B>2 2>:@C3 >A8 X, :>B>@K5 4>;6=K 1KBL A45;0=K 2 B5G5=85 MB>3> :04@0. @8<5G0=85: =0?@02;5=85 2@0I5=8O >?@545;O5BAO 7=0:><, B0: +5 40AB 5 >1>@>B>2 2 >4=>< =0?@02;5=88, 2 B> 2@5<O :0: -5 40AB 5 >1>@>B>2 2 4@C3>< =0?@02;5=88.Define the number of rotations around the X axis that is to be made during this shot. Remark: the rotation direction is defined by the sign, so +5 will give 5 rotations in one direction while -5 will give 5 rotations in the other direction.DlgSlideProperties?@545;8BL :>;8G5AB2> >1>@>B>2 2>:@C3 >A8 Y, :>B>@K5 4>;6=K 1KBL A45;0=K 2 B5G5=85 MB>3> :04@0. @8<5G0=85: =0?@02;5=85 2@0I5=8O >?@545;O5BAO 7=0:><, B0: +5 40AB 5 >1>@>B>2 2 >4=>< =0?@02;5=88, 2 B> 2@5<O :0: -5 40AB 5 >1>@>B>2 2 4@C3>< =0?@02;5=88.Define the number of rotations around the Y axis that is to be made during this shot. Remark: the rotation direction is defined by the sign, so +5 will give 5 rotations in one direction while -5 will give 5 rotations in the other direction.DlgSlideProperties?@545;8BL :>;8G5AB2> >1>@>B>2 2>:@C3 >A8 Z, :>B>@K5 4>;6=K 1KBL A45;0=K 2 B5G5=85 MB>3> :04@0. @8<5G0=85: =0?@02;5=85 2@0I5=8O >?@545;O5BAO 7=0:><, B0: +5 40AB 5 >1>@>B>2 2 >4=>< =0?@02;5=88, 2 B> 2@5<O :0: -5 40AB 5 >1>@>B>2 2 4@C3>< =0?@02;5=88.Define the number of rotations around the Z axis that is to be made during this shot. Remark: the rotation direction is defined by the sign, so +5 will give 5 rotations in one direction while -5 will give 5 rotations in the other direction.DlgSlidePropertiesH?@545;8BL A2>9AB20 B5:AB>2>3> 1;>:0'Define the properties of the text blockDlgSlideProperties\">;I8=0 3@0=8FK. @8<5G0=85: >?@545;O5BAO :0: 1/1080 >B 2KA>BK M:@0=0. =0G5=8N 10 A>>B25BAB2C5B 10 B>G5: =0 1920 1080 FullHD M:@0=5 8 B>;L:> 6 B>G5: =0 1280 720 M:@0=5.Defines the thickness of the border. Remark: This value is defined as 1/1080 of the height of the screen. A value of 10 corresponds to 10 points on a 1920×1080 FullHD screen, but only to 6 points on a 1280×720 screen.DlgSlidePropertiesDelDelDlgSlidePropertiesAG57=>25=85 DisappearDlgSlidePropertiesZ>:070BL ?>4@>1=CN 8=D>@<0F8N > B5:CI5< 1;>:5-Display detailed information on current blockDlgSlideProperties&>:070BL 8=D>@<0F8NDisplay informationDlgSlideProperties`>:070BL 8=D>@<0F8N > 87>1@065=88 8;8 2845>D09;5*Display information on image or video fileDlgSlideProperties 0AB2>@5=85DissolveDlgSlideProperties 0AB2>@5=85 : Dissolve :DlgSlideProperties%>B8B5 ?@8<5=8BL : MB><C 1;>:C 53> A2>9AB20 87 ?@54K4CI53> :04@0?NDo you want to apply to this block the properties it has in the previous shot?DlgSlideProperties$@>4>;68B5;L=>ABL: Duration:DlgSlideProperties7<5=8BL 1;>: Edit blockDlgSlideProperties$ 540:B8@>20BL 1;>: Edit blockDlgSlideProperties7<5=8BL B5:AB Edit textDlgSlidePropertiestCAB8BL 72C: 2 B5G5=85 MB>3> :04@0 4;O 40==>3> 1;>:0 2845>:Hide the active blockDlgSlidePropertiesA;8 MB>B D;06>: CAB0=>2;5=, 87<5=5=8O, A45;0==K5 =0 ?@54K4CI5< :04@5, 1C45B ?@8<5=5=K : 40==><C >1J5:BC =0 MB>< :04@5gIf this box is checked, the changes made in a previous shot will be applied to this object in this shotDlgSlideProperties#:068B5 745AL ?@>4>;68B5;L=>ABL 2K1@0==>3> :04@0 ;O ?>A;54=53> :04@0 A;0940, 5ABL <8=8<0;L=0O ?@>4>;68B5;L=>ABL. !;54CNI85 ?@028;0 8A?>;L7CNBAO ?@8 @0AG5B5 <8=8<0;L=>9 ?@>4>;68B5;L=>AB8 :04@0: - >1I0O ?@>4>;68B5;L=>ABL A;0940 =5 <>65B 1KBL <5=LH5, G5< AC<<0 4;8B5;L=>AB59 2E>4OI53> ?5@5E>40 A;0940 8 ?5@5E>40 =0 A;54CNI89 A;094. - >1I0O ?@>4>;68B5;L=>ABL A;0940 4>;6=0 4>?CA:0BL ?>;=>5 2>A?@>872545=85 A0<>3> 4;8==>3> 2845>@O40 (2@5<O ?5@5@K2>2 CG8BK205BAO). - >1I0O ?@>4>;68B5;L=>ABL A;094 =5 <>65B 1KBL <5=LH5, G5< 1/30 A5:C=4K A;8 C:070==0O ?@>4>;68B5;L=>ABLN <5=LH5 <8=8<0;L=>9 ?@>4>;68B5;L=>AB8 :04@0, B> 1C45B 8A?>;L7>20BLAO <8=8<0;L=0O ?@>4>;68B5;L=>ABL, 0 =5 B> 7=0G5=85, :>B>@>5 2K C:070;8.Indicate here the duration of the currently selected shot For the last shot of the slide, there is a minimum duration. The following rules are used to calculate the minimum duration of the shot: - The total slide duration cannot be lower than the sum of the durations of the entering transition of the slide plus that of the transition to the following slide. - The total slide duration must permit complete play of the longest video sequence (time of breaks is taken into account). - The total slide duration cannot be lower than 1:30 second If you specify a duration lower than the minimum calculated duration for the shot, it is this minimum duration that will be used in place of the value which you specified.DlgSlideProperties*0A;54>20BL 87<5=5=8OInherit changesDlgSlideProperties.0A;54>20=85 87<5=5=89:Inheritance changes:DlgSlidePropertiesInsInsDlgSlideProperties#4;8=5= =0 %1Lengthened to %1DlgSlideProperties!45;0BL 0:B82=K9 1;>: 2848<K<. @8<5G0=85: A:@KBK5 2845> 1;>:8 02B><0B8G5A:8 ?@8>AB0=02;820NBAOQMake the active block visible. Note: Hidden video blocks are automatically pausedDlgSlidePropertiesZ7<5=5=85 8=D>@<0F88 > 3;025 4;O MB>3> A;0940)Manage chapter information for this slideDlgSlideProperties47<5=8BL :0@BC Google MapsModify Google Maps mapDlgSlideProperties"5@5428=CBL 2;52> Move leftDlgSlideProperties$5@5428=CBL 2?@02> Move rightDlgSlideProperties45@5<5AB8BL =0 704=89 ?;0=Move to backgroundDlgSlideProperties85@5<5AB8BL =0 ?5@54=89 ?;0=Move to foregroundDlgSlideProperties&5A:>;L:> ?>2>@>B>2Multiple block turnDlgSlideProperties!;54CNI89NextDlgSlideProperties5BNoneDlgSlideProperties 5?@>7@0G=>ABL : Opacity :DlgSlidePropertiesAB028BL 1;>: Paste blockDlgSlidePropertiesTAB028BL 1;>: 87 1CD5@0 >1<5=0 ffDiaporama8Paste block from the ffDiaporama clipboard and insert itDlgSlidePropertiesf 07<5AB8BL 1;>:8 =0 @02=>< @0AAB>O=88 4@C3 >B 4@C30:Place each block so as to have the same space between eachDlgSlideProperties@54K4CI89PreviousDlgSlidePropertiesD>7>1=>28BL =0A;54>20=85 87<5=5=89%Reactivate the inheritance of changesDlgSlidePropertiesB04@8@>20BL 25:B>@=>5 87>1@065=85Reframe image vectorDlgSlideProperties#40;8BLRemoveDlgSlideProperties#40;8BL :04@ Remove shotDlgSlideProperties#40;8BL 1;>: Remove blockDlgSlideProperties#40;8BL 1;>:8 Remove blocksDlgSlideProperties.#40;8BL B5:CI89 1;>:(8)Remove current block(s)DlgSlideProperties,#40;8BL 2K1@0==K9 :04@Remove current selected shotDlgSlideProperties#40;8BL :04@ Remove shotDlgSlideProperties\KA>B0 1;>:0. ?@545;O5BAO :0: ?@>F5=B (%) >B >1I59 2KA>BK 87>1@065=8O 8;8 2 ?8:A5;OE (=0 M:@0=5 1080) 2 A>>B25BAB288 A 548=8F0<8 87<5@5=8O, 7040==K<8 2 480;>35 :>=D83C@0F88.Represents the height of the block. This value is defined as a percentage (%) of the total height of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog.DlgSlideProperties>@87>=B0;L=>5 A<5I5=85 1;>:0 A ;52>9 AB>@>=K. ?@545;O5BAO :0: ?@>F5=B (%) >B >1I59 H8@8=K 87>1@065=8O 8;8 2 ?8:A5;OE (=0 M:@0=5 1080) 2 A>>B25BAB288 A 548=8F0<8 87<5@5=8O, 7040==K<8 2 480;>35 :>=D83C@0F88.Represents the horizontal offset of the block from the left. This position is defined as a percentage (%) of the total width of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog.DlgSlideProperties5@B8:0;L=>5 A<5I5=85 1;>:0 A25@EC. ?@545;O5BAO :0: ?@>F5=B (%) >B >1I59 2KA>BK 87>1@065=8O 8;8 2 ?8:A5;OE (=0 M:@0=5 1080) 2 A>>B25BAB288 A 548=8F0<8 87<5@5=8O, 7040==K<8 2 480;>35 :>=D83C@0F88.Represents the vertical offset of the block from the top. This position is defined as a percentage (%) of the total height of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog.DlgSlideProperties\(8@8=0 1;>:0. ?@545;O5BAO :0: ?@>F5=B (%) >B >1I59 H8@8=K 87>1@065=8O 8;8 2 ?8:A5;OE (=0 M:@0=5 1080) 2 A>>B25BAB288 A 548=8F0<8 87<5@5=8O, 7040==K<8 2 480;>35 :>=D83C@0F88.Represents the width of the block. This value is defined as a percentage (%) of the total width of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog box.DlgSlideProperties !1@>A8BL =0 100% Reset to 100%DlgSlideProperties !1@>A8BL =0 =>;L Reset to zeroDlgSlideProperties8=59:8RulersDlgSlideProperties(!>E@0=8BL :0: H01;>= Save as modelDlgSlideProperties>!>E@0=8BL MB>B A;094 :0: H01;>=Save this slide as a modelDlgSlideProperties@>:@CB:0 B5:AB0 A=87C 225@E. @8<5G0=85: GB>1K ?>;CG8BL 0=8<0F8N B5:AB0, 2K 4>;6=K A>740BL :0: <8=8<C< 2 :04@0: - >?@545;8BL 7=0G5=8O <0AHB018@>20=8O 8 ?@>:@CB:8 4;O 1-3> :04@0 - >?@545;8BL 4@C385 7=0G5=8O <0AHB018@>20=8O 8 ?@>:@CB:8 4;O 2-3> :04@0Scroll text from bottom to top. Remark: To make animations of text, you have to create at least 2 shots then: -Define values for zoom and scrolling for the 1st shot -Define different values for zoom and scrolling for the 2ndDlgSlideProperties@>:@CB:0 B5:AB0 A;520 =0?@02>. @8<5G0=85: GB>1K ?>;CG8BL 0=8<0F8N B5:AB0, 2K 4>;6=K A>740BL :0: <8=8<C< 2 :04@0: - >?@545;8BL 7=0G5=8O <0AHB018@>20=8O 8 ?@>:@CB:8 4;O 1-3> :04@0 - >?@545;8BL 4@C385 7=0G5=8O <0AHB018@>20=8O 8 ?@>:@CB:8 4;O 2-3> :04@0Scroll text from left to right. Remark: To make animations of text, you have to create at least 2 shots then: -Define values for zoom and scrolling for the 1st shot -Define different values for zoom and scrolling for the 2ndDlgSlideProperties K15@8B5 :;8?0@BSelect a clip-artDlgSlidePropertiesK15@8B5, 2 :0:>< C3;C 1C45B @0A?>;030BLAO B5=L (8;8 157 B5=8). @8<5G0=85: ?>;>65=85 B5=8 =5 7028A8B >B 2@0I5=8O 1;>:0: ?@02K9 =86=89 C3>; - MB> 2A5340 ?@02K9 =86=89 C3>;, =57028A8<> >B ?>2>@>B0.Select in which corner the shadow will be positioned (or no shadow). Remark: the position of the shadow is independent of rotation of the block: the right lower corner is always the right lower corner, whatever rotation is applied.DlgSlideProperties4K1@0BL F25B ;8=88 3@0=8FK:Select the color of the line to be used to draw the borderDlgSlideProperties"K1@0BL F25B B5=8Select the color of the shadowDlgSlideProperties8K1@0BL =5?@>7@0G=>ABL 1;>:0"Select the opaqueness of the blockDlgSlideProperties^K1@0BL B8? ;8=88 (A?;>H=0O, ?C=:B8@=0O 8 B.4.)2Select the type of line (solid, dotted line, etc.)DlgSlidePropertiesXK1>@ A:>@>AB8 0=8<0F88 1;>:0 (?5@5<5I5=85, 87<5=5=85 @07<5@0 8 ?>2>@>B, 0=8<0F8O B5:AB0 8 1;>:>2) @8<5G0=85: 87<5=5=8BL A:>@>AB8 0=8<0F88 87>1@065=8O (3@0D8G5A:89 MDD5:B 8 :04@8@>20=85), >B@540:B8@>20BL 87>1@065=85 8;8 2845> 8 2K1@0BL A:>@>ABL <>6=> 2 480;>35 04@8@>20=85 8 :>@@5:F8O 87>1@065=8O.&Selects a speed curve for block animations (movement, resizing and rotating of blocks, animation of text and blocks) Remark: To change the velocity curve for image animation (graphic effect and framing), edit the image or video and select a velocity in the Image framing and correction dialog.DlgSlideProperties "5=L :Shadow :DlgSlideProperties "5=L A;520 2=87CShadow bottom leftDlgSlideProperties""5=L A?@020 2=87CShadow bottom rightDlgSlideProperties""5=L A;520 225@ECShadow upper leftDlgSlideProperties$"5=L A?@020 225@ECShadow upper rightDlgSlideProperties$>@<0 :Shape :DlgSlideProperties2@>4>;68B5;L=>ABL :04@0 :Shot duration :DlgSlidePropertiesP>:070BL A?@02:C >1 MB>< 480;>3>2>< >:=5!Show help about this dialogue boxDlgSlideProperties !;094SlideDlgSlidePropertiesb!;094 4>102;5= 2 :>;;5:F8N H01;>=>2 =0720=89 3;02.Slide added in Chapter title models collectionDlgSlidePropertiesr!;094 4>102;5= 2 :>;;5:F8N H01;>=>2 70:;NG8B5;L=KE B8B@>2-Slide added in Credit title models collectionDlgSlidePropertiesh!;094 4>102;5= 2 :>;;5:F8N H01;>=>2 =0720=89 ?@>5:B0.Slide added in Project title models collectionDlgSlideProperties<O A;0940: Slide name:DlgSlideProperties 0@0<5B@K A;0940Slide propertiesDlgSlideProperties!:>@>ABL : Speed wave :DlgSlideProperties"A?>;L7>20BL 72C:Take the soundDlgSlideProperties "5:ABTextDlgSlideProperties=8<0F8O 1;>:0 >?@545;O5B, :0:0O 0=8<0F8O 1C45B 2K?>;=OBLAO 2 B5G5=85 B5:CI53> :04@0. K <>65B5 7040BL @07;8G=K5 0=8<0F88 4;O :064>3> :04@0! - 5A:>;L:> ?>2>@>B>2: MB0 0=8<0F8O ?>72>;O5B ?>25@=CBL 1;>: =5A:>;L:> 70 2@5<O :04@0. -  0AB2>@5=85: MB0 0=8<0F8O ?>72>;O5B >ACI5AB28BL ?;02=K9 ?5@5E>4 <564C 1;>:>< 8 ?@>7@0G=>9 >1;0ABLN.GThe block animations define which animations will run during the current shot. You can define different animations for every shot! - Multiple rotations: This animation allows to turn a block several times during the shot. - Dissolve: This animation dissolves between the block and a transparent zone according to the settings.DlgSlidePropertiesJ"01;8F0 :04@>2 ?>:07K205B <8=80BN@K :04@>2 2 B>< ?>@O4:5, 2 :>B>@>< >=8 1C4CB 2>A?@>872>48BLAO (A;520 =0?@02>). ;O :064>3> :04@0 <8=80BN@0 ?>:07K205B: - ?@>4>;68B5;L=>ABL :04@0 (225@EC <8=80BN@K) - 2@5<5==>5 ?>;>65=85 :04@0 2 :>=F5 53> ?@>4>;68B5;L=>AB8 (2=87C A?@020 <8=80BN@K) - 87>1@065=85, ?@54AB02;ONI55 :04@, 2 :>=F5 53> ?@>4>;68B5;L=>AB8 @8<5G0=85: - ?>@O4>: :04@>2 <>65B 1KBL 87<5=5= A ?><>ILN ?5@5B0A:820=8O.The shots table shows the shots as thumbnails, in the order in which they will be played (from left to right). For each shot, the thumbnail shows: - The shot duration (At the top of the thumbnail) - The temporal position of the shot at the end of its duration (At the bottom right of the thumbnail) - An image representing the shot at the end of its duration Remark : - The order of the shots can be changed by using Drag & Drop.DlgSlideProperties1I0O ?@>4>;68B5;L=>ABL A;0940. ! CG5B>< 2>7<>6=KE :>@@5:B8@>2>: <8=8<0;L=>9 4;8B5;L=>AB8 :04@0.The total slide duration is displayed here. This duration takes into account possible adjustments for minimal duration of the shot.DlgSlidePropertiesJ-B> 3@C??0 =0AB@>5: AB8;O C?@02;5=8O.0This settings group deals with style management.DlgSlideProperties21I0O ?@>4>;68B5;L=>ABL :Total duration :DlgSlideProperties"8?:Type :DlgSlidePropertiesB<5=8BLUndoDlgSlidePropertiesHB<5=8BL ?>A;54=55 459AB285 (Ctrl+Z)Undo last action (CTRL+Z)DlgSlideProperties>:070BLVisibleDlgSlideProperties0AHB01 :Zoom :DlgSlideProperties4 0A?@545;8BL 3>@87>=B0;L=>distribute horizontallyDlgSlideProperties0 0A?@545;8BL 25@B8:0;L=>distribute verticallyDlgSlideProperties&B<5=0&Cancel DlgTextEdit&!?@02:0&Help DlgTextEdit&:&Ok DlgTextEdit^@8<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Accept modification and exit dialog box DlgTextEdith>72>;O5B ?>;CG8BL 4>ABC? : <5=N AB8;59 D>=0 B5:AB0.5Allows you to access the background text styles menu. DlgTextEdit^>72>;O5B ?>;CG8BL 4>ABC? : <5=N AB8;59 B5:AB0.*Allows you to access the text styles menu. DlgTextEdit>72>;O5B 2K1@0BL :8ABL D>=0 4;O D83C@K. >ABC?=K A;54CNI85 >?F88: 5B :8AB8 $>@<0 =5 1C45B 8<5BL =8:0:>3> D>=0 8, B0:8< >1@07><, 1C45B ?>;=>ABLN ?@>7@0G=>9. "25@40O :8ABL >72>;O5B 2K1@0BL ?@>AB>9 F25B. 8ABL - C7>@ >72>;O5B 2K1@0BL HB@8E>2:C. @0485=B 87 42CE F25B>2 >72>;O5B 2K1@0BL 3@0485=B, A>AB>OI89 87 2 F25B>2. @0485=B 87 B@5E F25B>2 >72>;O5B 2K1@0BL 3@0485=B, A>AB>OI89 87 3 F25B>2. 7>1@065=85 87 181;8>B5:8 >72>;O5B 2K1@0BL 87>1@065=85 87 181;8>B5:8.Allows you to define a background brush for the shape. The following options are available: No brush The shape will have no background and will thus be totally transparent. Solid brush Allows you to select a plain color. Pattern brush Allows you to select a hatched brush. Gradient 2 colors Allows you to select a gradient of 2 colors. Gradient 3 colors Allows you to select a gradient of 3 colors. Image from library Allows you to select an image from the library. DlgTextEdit>72>;O5B CAB0=>28BL (8;8 C40;8BL) <0@:8@>20==K9 A?8A>:. -B>B ?0@0<5B@ ?@8<5=O5BAO : B5:CI5<C 2K45;5=8N.vAllows you to establish (or to remove) a bullet list. This setting applies to the paragraphs of the current selection. DlgTextEdit>72>;O5B CAB0=>28BL (8;8 C40;8BL) =C<5@>20==K9 A?8A>:. -B>B ?0@0<5B@ ?@8<5=O5BAO : B5:CI5<C 2K45;5=8N.xAllows you to establish (or to remove) a numbered list. This setting applies to the paragraphs of the current selection. DlgTextEdit>72>;O5B 2K1@0BL MDD5:B H@8DB0 (:>=BC@, B5=8). @8<5G0=85: MB>B ?0@0<5B@ ?@8<5=O5BAO : 1;>:C (4;O 2A53> B5:AB0).vAllows you to select a font effect (outerline, shadow). Remark: This setting applies to the block (to the whole text). DlgTextEdit>72>;O5B 2K1@0BL F25B H@8DB0. -B>B ?0@0<5B@ ?@8<5=O5BAO : B5:CI5<C 2K45;5=8N.eAllows you to select the font color. This setting applies to the paragraphs of the current selection. DlgTextEdit>72>;O5B 2K1@0BL @07<5@ H@8DB0. -B>B ?0@0<5B@ ?@8<5=O5BAO : B5:CI5<C 2K45;5=8N.dAllows you to select the font size. This setting applies to the paragraphs of the current selection. DlgTextEdit>72>;O5B 2K1@0BL H@8DB. -B>B ?0@0<5B@ ?@8<5=O5BAO : B5:CI5<C 2K45;5=8N.XAllows you to select the font to be used. This setting applies to the current selection. DlgTextEdit>72>;O5B 2K1@0BL :>=BC@ 8;8 F25B B5=8. @8<5G0=85: MB>B ?0@0<5B@ ?@8<5=O5BAO : 1;>:C (4;O 2A53> B5:AB0).rAllows you to select the outerline or shadow color. Remark: This setting applies to the block (to the whole text). DlgTextEditT>72>;O5B 8A?>;L7>20BL =0AB@08205<K5 ?>;O.!Allows you to use custom margins. DlgTextEdit>72>;O5B 8A?>;L7>20BL ?>;O, A>>B25BAB2CNI85 ?>;=>9 D>@<5, B> 5ABL D>@<5 ?@O<>C3>;L=8:0 2K45;5=8O, =57028A8<> >B 48709=0.|Allows you to use margins corresponding to the entire form, in fact, the selection rectangle shape regardless of the design. DlgTextEdit>72>;O5B 8A?>;L7>20BL ?@54>?@545;5==K5 ?>;O 4;O D>@<K 1;>:0. -B8 ?>;O 30@0=B8@CNB, GB> B5:AB ?><5AB8BAO 2 D>@<5.Allows you to use predefined margins for the shape of the block.In general, these margins ensure that the text is contained in the form. DlgTextEdit$>= Background DlgTextEdit 0@0<5B@K D>=0 :Background properties : DlgTextEdit\B<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Cancel modification and exit dialog box DlgTextEdit Ctrl+ZCtrl+Z DlgTextEdit >;L7>20B5;LA:85Custom DlgTextEdit">;O ?> C<>;G0=8NDefault margins DlgTextEdit7<5=8BL B5:AB Edit text DlgTextEdit>;=0O D>@<0 Full Shape DlgTextEdit.@0485=B 87 42CE F25B>2Gradient 2 colors DlgTextEdit.@0485=B 87 B@5E F25B>2Gradient 3 colors DlgTextEdit>@87>=B0;L=>5 2K@02=820=85: ?> F5=B@C. -B>B ?0@0<5B@ ?@8<5=O5BAO : 0170FC, 2 :>B>@>< =0E>48BAO :C@A>@.]Horizontal alignment: centered. This setting applies to the paragraph in which the cursor is. DlgTextEdit>@87>=B0;L=>5 2K@02=820=85: ?> H8@8=5. -B>B ?0@0<5B@ ?@8<5=O5BAO : 0170FC, 2 :>B>@>< =0E>48BAO :C@A>@.^Horizontal alignment: justified. This setting applies to the paragraph in which the cursor is. DlgTextEdit>@87>=B0;L=>5 2K@02=820=85: ?> ;52><C :@0N. -B>B ?0@0<5B@ ?@8<5=O5BAO : 0170FC, 2 :>B>@>< =0E>48BAO :C@A>@.YHorizontal alignment: left. This setting applies to the paragraph in which the cursor is. DlgTextEdit>@87>=B0;L=>5 2K@02=820=85: ?> ?@02><C :@0N. -B>B ?0@0<5B@ ?@8<5=O5BAO : 0170FC, 2 :>B>@>< =0E>48BAO :C@A>@.ZHorizontal alignment: right. This setting applies to the paragraph in which the cursor is. DlgTextEditA;8 :8ABL D>=0 - 3@0485=B, B> ?>O2;O5BAO MB0 =0AB@>9:0 8 ?>72>;O5B 2K1@0BL =0?@02;5=85 3@0485=B0. A;8 3@0485=B 8<55B 3 F25B0, 4>?>;=8B5;L=K5 M;5<5=BK C?@02;5=8O ?>72>;ONB >?@545;8BL ?>;>65=85 (2 ?@>F5=B0E) 3-3> F25B0 3@0485=B0.If background brush is Gradient, then this line appears and allows you to select the gradient orientation. If the Gradient has 3 colors, additional controls allow to define the position (in percentage) of the 3rd gradient color. DlgTextEditA;8 :8ABL D>=0 - 87>1@065=85 87 181;8>B5:8, B> ?>O2;O5BAO MB0 =0AB@>9:0 8 ?>72>;O5B 2K1@0BL 87>1@065=85.dIf background brush is Image from library, then this line appears and allows you to select an image. DlgTextEditA;8 :8ABL D>=0 - C7>@, B> ?>O2;O5BAO MB0 =0AB@>9:0 8 ?>72>;O5B 2K1@0BL H01;>=.`If background brush is Pattern brush, then this line appears and allows you to select a pattern. DlgTextEditNA;8 :8ABL D>=0 - B25@40O, C7>@ 8;8 3@0485=B, B> ?>O2;O5BAO MB0 =0AB@>9:0 8 ?>72>;O5B 2K1@0BL F25B. ( 7028A8<>AB8 >B 2K1>@0 :8AB8, B0< 1C45B >48=, 420 8;8 B@8 F25B0.)If background brush is Solid, Pattern or Gradient brush, then this line appears and allows you to select a color. (Depending on the brush you select, there will be one, two or three selectable colors.) DlgTextEdit47>1@065=85 87 1818;8>B5:8Image from library DlgTextEdit:AB028BL B5:AB>2CN ?5@5<5==CNInsert a text variable DlgTextEdit>;OMargins DlgTextEdit#<5=LH8BL >BABC?. -B>B ?0@0<5B@ ?@8<5=O5BAO : 0170FC, 2 :>B>@>< =0E>48BAO :C@A>@.xMove the paragraph of a notch towards the left (unindent). This setting applies to the paragraph in which is the cursor. DlgTextEdit#25;8G8BL >BABC?. -B>B ?0@0<5B@ ?@8<5=O5BAO : 0170FC, 2 :>B>@>< =0E>48BAO :C@A>@.wMove the paragraph of a notch towards the right (indent). This setting applies to the paragraph in which is the cursor. DlgTextEdit57 :8AB8No brush DlgTextEdit57 MDD5:B0 No effect DlgTextEdit >=BC@ Outerline DlgTextEdit8ABL-C7>@ Pattern brush DlgTextEditx>4AB@>G=K9. -B>B ?0@0<5B@ ?@8<5=O5BAO : B5:CI5<C 2K45;5=8N.JPuts the characters to sub. This setting applies to the current selection. DlgTextEditx04AB@>G=K9. -B>B ?0@0<5B@ ?@8<5=O5BAO : B5:CI5<C 2K45;5=8N.LPuts the characters to super. This setting applies to the current selection. DlgTextEditXKA>B0 ?>;O. K@0605BAO 2 % >B 2KA>BK 1;>:0.^Represents the height of the margins. This value is expressed in % of the height of the block. DlgTextEdit>@87>=B0;L=0O ?>78F8O ?>;O >B 25@E=53> ;52>3> C3;0 1;>:0. K@0605BAO 2 % >B H8@8=K 1;>:0.Represents the horizontal position of the margins relative to the top-left corner of the block. This value is expressed in % of the width of the block. DlgTextEdit5@B8:0;L=0O ?>78F8O ?>;O >B 25@E=53> ;52>3> C3;0 1;>:0. K@0605BAO 2 % >B 2KA>BK 1;>:0.Represents the vertical position of the margins relative to the top-left corner of the block. This value is expressed in % of the height of the block. DlgTextEditX(8@8=0 ?>;O. K@0605BAO 2 % >B H8@8=K 1;>:0.\Represents the width of the margins. This value is expressed in % of the width of the block. DlgTextEditn8@=K9. -B>B ?0@0<5B@ ?@8<5=O5BAO : B5:CI5<C 2K45;5=8N.DSets bold characters. This setting applies to the current selection. DlgTextEditnC@A82. -B>B ?0@0<5B@ ?@8<5=O5BAO : B5:CI5<C 2K45;5=8N.JSets characters to italics. This setting applies to the current selection. DlgTextEdit "5=L 2=87C A;520Shadow bottom left DlgTextEdit""5=L 2=87C A?@020Shadow bottom right DlgTextEdit""5=L 225@EC A;520Shadow upper left DlgTextEdit$"5=L 225@EC A?@020Shadow upper right DlgTextEditP>:070BL A?@02:C >1 MB>< 480;>3>2>< >:=5!Show help about this dialogue box DlgTextEdit"25@40O :8ABL Solid brush DlgTextEdit "5:ABText DlgTextEditz>4G5@:=CBK9. -B>B ?0@0<5B@ ?@8<5=O5BAO : B5:CI5<C 2K45;5=8N.IUnderlines the characters. This setting applies to the current selection. DlgTextEditB<5=8BLUndo DlgTextEditHB<5=8BL ?>A;54=55 459AB285 (CTRL+Z)Undo last action (CTRL+Z) DlgTextEdit5@B8:0;L=>5 2K@02=820=85: ?> =87C. -B>B ?0@0<5B@ ?@8<5=O5BAO : 1;>:C (4;O 2A53> B5:AB0).RVertical alignment: bottom. This setting applies to the block (to the whole text). DlgTextEdit5@B8:0;L=>5 2K@02=820=85: ?> A5@548=5. -B>B ?0@0<5B@ ?@8<5=O5BAO : 1;>:C (4;O 2A53> B5:AB0).RVertical alignment: middle. This setting applies to the block (to the whole text). DlgTextEdit5@B8:0;L=>5 2K@02=820=85: ?> 25@EC. -B>B ?0@0<5B@ ?@8<5=O5BAO : 1;>:C (4;O 2A53> B5:AB0).OVertical alignment: top. This setting applies to the block (to the whole text). DlgTextEdit&B<5=0&CancelDlgTransitionDuration&!?@02:0&HelpDlgTransitionDuration&:&OkDlgTransitionDuration^@8<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Accept modification and exit dialog boxDlgTransitionDuration\B<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Cancel modification and exit dialog boxDlgTransitionDurationJ#AB0=>28BL ?@>4>;68B5;L=>ABL 0=8<0F88Define the animation durationDlgTransitionDuration&@>4>;68B5;L=>ABL : Duration :DlgTransitionDurationlK15@8B5 ?@>4>;68B5;L=>ABL ?5@5E>40 4;O 3@C??K A;094>2.Select transition duration for a set of slidesDlgTransitionDurationP>:070BL A?@02:C >1 MB>< 480;>3>2>< >:=5!Show help about this dialogue boxDlgTransitionDurationA5:C=4(K) second(s)DlgTransitionDuration&B<5=0&CancelDlgTransitionProperties&!?@02:0&HelpDlgTransitionProperties&:&OkDlgTransitionProperties^@8<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Accept modification and exit dialog boxDlgTransitionProperties>72>;O5B CAB0=>28BL ?@>4>;68B5;L=>ABL 0=8<0F88. >7<>6=K 20@80=BK >B 0,5 A5:C=4 (>G5=L 1KAB@>) 4> 10 A5:C=4 (>G5=L <54;5==>).Allows you to define the duration of the animation. The possible choices are of 0,5 seconds (very fast) to 10 seconds (very slow).DlgTransitionPropertiesH>72>;O5B 2K1@0BL A:>@>ABL ?5@5E>40.>Allows you to select a speed curve to apply to the transition.DlgTransitionProperties>72>;O5B 20< 2K1@0BL B8? ?5@5E>40. - 5B ?5@5E>40: =>2K9 A;094 =5<54;5==> 70<5=O5B AB0@K9. (1@0B8B5 2=8<0=85, GB> B0:65 >B:;NG05BAO D>= ?5@5E>40 8 8AG5705B 72C:, B.:. ?;59;8AB =>2>3> A;0940 =5<54;5==> 70<5=O5B AB0@K9) - 07>2K5/0?;K2: A;094 ?>O2;O5BAO ?>AB5?5==> C25;8G820O =5?@>7@0G=>ABL. - 0AHB018@>20=85: =>2K9 A;094 ?>O2;O5BAO 2A5 1>;LH5 8 1>;LH5, 2 B> 2@5<O :0: AB0@K9 A;094 8AG5705B A MDD5:B>< @0AB2>@5=8O. - !:>;L65=85: =>2K9 A;094 A:>;L78B =0 AB0@K9 A;094, :>B>@K9 8AG5705B A MDD5:B>< @0AB2>@5=8O. - !B0;:820=85: =>2K9 A;094 70=8<05B <5AB> AB0@>3>,AB0;:820O 53> 2 AB>@>=C. - Luma ?5@5E>4: 0=8<0F8O >A=>20=0 =0 <0A:5 O@:>AB8: B5<=K5 B>G:8 2 <0A:5 1KAB@55 70<5=ONBAO A>>B25BAB2CNI8<8 B>G:0<8 =>2>3> A;0940.Allows you to select a transition family. - No transition: The new slide immediately replaces the old one. (Note that this also deactivates Background transitions and Sound fades so the playlist of the new slide immediately replaces that of the old one) - Basic/Dissolve effect: The slide appears gradually, with gradually increasing opacity. - Zoom: The new slide appears by getting bigger while the old slide disappears with a dissolve effect. - Slide: The new slide glides onto the old slide which disappears with a dissolve effect. -Push: The new slide takes the place of the old slide by pushing it aside. -LUMA transition: The animation is based on a luminance mask : the darker the points in the mask, the faster the corresponding points in the new slide replace those in the old slide.DlgTransitionProperties4>72>;O5B 2K1@0BL ?5@5E>4."Allows you to select a transition.DlgTransitionProperties\B<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Cancel modification and exit dialog boxDlgTransitionProperties5D>@<0F8ODeformDlgTransitionProperties$@>4>;68B5;L=>ABL: Duration:DlgTransitionPropertiesLuma-BarLuma-BarDlgTransitionPropertiesLuma-BoxLuma-BoxDlgTransitionPropertiesLuma-Center Luma-CenterDlgTransitionPropertiesLuma-Checker Luma-CheckerDlgTransitionPropertiesLuma-Clock Luma-ClockDlgTransitionPropertiesLuma-Snake Luma-SnakeDlgTransitionProperties5B 8 107>2K5None and basicDlgTransitionProperties!B0;:820=85PushDlgTransitionPropertiesFK15@8B5 ?5@5E>4 4;O 3@C??K A;094>2'Select a transition for a set of slidesDlgTransitionPropertiesP>:070BL A?@02:C >1 MB>< 480;>3>2>< >:=5!Show help about this dialogue boxDlgTransitionProperties!:>;L65=85SlideDlgTransitionProperties!:>@>ABL: Speed wave:DlgTransitionProperties$0@0<5B@K ?5@5E>40Transition propertiesDlgTransitionProperties"8? ?5@5E>40:Transition type:DlgTransitionProperties0AHB018@>20=85ZoomDlgTransitionPropertiesA5:C=4(K) second(s)DlgTransitionProperties B<5=0CancelDlgWorkingTask ;02K ChaptersDlgffDPjrProperties& 0@0<5B@K A:>@>AB8 Options for speed waveDlgffDPjrPropertiesT#;!;094;0720=85;0G0;>;>=5F;;8B5;L=>ABL #;Slide;Title;Start;End;DurationDlgffDPjrProperties&B<5=0&CancelDlgffDPjrProperties&!?@02:0&HelpDlgffDPjrProperties&:&OkDlgffDPjrProperties,(:>4 O7K:0 ?> ISO 639)(ISO 639 language code)DlgffDPjrPropertiesT@>872>;L=K9 :><<5=B0@89, :>B>@K9 <>65B A>45@60BL =5A:>;L:> AB@>:. @8<5G0=85: <=>3>G8A;5==K5 A8AB5<K 8=45:A0F88 8 <C7K:0;L=K5 CAB@>9AB20 <>3CB ?@>G8B0BL B>;L:> 1 AB@>:C.A free comment which can spread out on several lines. Remark: numerous indexing systems or jukeboxes will read only the 1st line.DlgffDPjrProperties^@8<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Accept modification and exit dialog boxDlgffDPjrProperties;L1>< :Album :DlgffDPjrProperties 2B>@:Author :DlgffDPjrProperties=8<0F8O 1;>:0:Block animation:DlgffDPjrProperties\B<5=8BL 87<5=5=8O 8 2K9B8 87 480;>3>2>3> >:=0'Cancel modification and exit dialog boxDlgffDPjrProperties:;02K, >?@545;5==K5 2 ?@>5:B5, ?@54AB02;5=K 4;O A?@02:8. ;O 87<5=5=8O 3;02 8A?>;L7C9B5 480;>3>2>5 >:=> 87<5=5=8O A;0940. <5NBAO A;54CNI85 ?>;O: - #: =><5@ 3;02K - !;094e: ! A;0940 2 :>B>@>< >?@545;5=0 3;020 - 0720=85: =0720=85 3;02K - 0G0;>: ?>78F8O =0G0;0 3;02K - >=5F: ?>78F8O >:>=G0=8O 3;02K - ;8B5;L=>ABL: ?@>4>;68B5;L=>ABL 3;02K @8<5G0=85: 2845> D>@<0BK =5 ?>445@6820NB 2A5 @0745;K B0:8< 65 >1@07><.Chapters defined in the project are listed for consultation. To modify chapters use modify slide dialog. The following fields appear: -#: The chapter number -Slide: Slide number in wich chapter is defined -Title: Chapter title -Start: Chapter start position -End: Chapter end position -Duration: Chapter duration Remark: Video formats do not support all the chapters in the same way.DlgffDPjrPropertiesB<5BLB5 MB>B D;06>:, GB>1K 225AB8 40BC 2@CG=CN 2 =C6=>< 20< D>@<0B5 (:0: ?@>AB>9 B5:AB)RCheck this box to override the date and offer you to enter the date as a free textDlgffDPjrProperties$8;L< (2.35:1)Cinema (2.35:1)DlgffDPjrProperties4#40;8BL MB> <5AB>?>;>65=85Clear this locationDlgffDPjrProperties><<5=B0@89 : Comment :DlgffDPjrProperties&!>740BL A2>9 H01;>=Create custom modelDlgffDPjrProperties!>740BL =>2K9 H01;>= 4;O MB>9 >1;>6:8 8;8 >B@540:B8@>20BL ACI5AB2CNI89?Create a new model from this thumbnail or edit custom thumbnailDlgffDPjrProperties!>740BL ?@>5:BCreate projectDlgffDPjrProperties7<5=8BL >1;>6:C B>;L:> 4;O MB>3> ?@>5:B0 (157 A>740=8O =>2>3> H01;>=0 >1;>6:8)VCustomize the thumbnail only for this project (without creating a new thumbnail model)DlgffDPjrProperties?@545;O5B A:>@>ABL 0=8<0F88 1;>:>2 ?> C<>;G0=8N. -B0 >?F8O 70405B 7=0G5=85 A:>@>AB8, :>340 A>>B25BAB2CNI85 ?0@0<5B@K CAB0=>2;5=K ?> C<>;G0=8N.Defined default speed curve for block animations. This option sets the value of the velocity curves for use whenever the corresponding options are set to "Project Default".DlgffDPjrProperties(?@545;O5B A:>@>ABL 0=8<0F88 87>1@065=89 ?> C<>;G0=8N. -B0 >?F8O 70405B 7=0G5=85 A:>@>AB8, :>340 A>>B25BAB2CNI85 ?0@0<5B@K CAB0=>2;5=K ?> C<>;G0=8N.Defined default speed curve for image animations. This option sets the value of the velocity curves for use whenever the corresponding options are set to "Project Default".DlgffDPjrProperties?@545;O5B A:>@>ABL ?5@5E>4>2 ?> C<>;G0=8N. -B0 >?F8O 70405B 7=0G5=85 A:>@>AB8, :>340 A>>B25BAB2CNI85 ?0@0<5B@K CAB0=>2;5=K ?> C<>;G0=8N.Defined default speed curve for transitions. This option sets the value of the velocity curves for use whenever the corresponding options are set to "Project Default".DlgffDPjrPropertiesxK1@0BL H01;>=, 8A?>;L7C5<K9 2 :0G5AB25 >1;>6:8 ?> C<>;G0=8N*Defines the model use as default thumbnailDlgffDPjrProperties.7<5=8BL B5:CI89 H01;>=Edit custom modelDlgffDPjrProperties|2548B5 745AL 40BC A>1KB8O 2 ;N1>< D>@<0B5 (:0: ?@>AB>9 B5:AB)>Enter here the date of the event of the project as a free textDlgffDPjrProperties 0B0 : Event date :DlgffDPjrProperties.5AB>?>;>65=85 A>1KB8O:Event location:DlgffDPjrProperties6-:A?>@B >1;>6:8 2 jpeg D09;Expor thumbnail to a jpeg fileDlgffDPjrProperties-:A?>@B >1;>6:8Export thumbnailDlgffDPjrProperties*=8<0F8O 87>1@065=8O:Image animation:DlgffDPjrProperties /7K: : Language :DlgffDPjrProperties>2K9 ?@>5:B New projectDlgffDPjrProperties!B0@K9 " (4:3) Old TV (4:3)DlgffDPjrProperties"0<5I0NI0O 40B0 :Override date :DlgffDPjrProperties$5><5B@8O ?@>5:B0:Project geometry:DlgffDPjrProperties !2>9AB20 ?@>5:B0Project propertiesDlgffDPjrPropertiesHK1>@ <5AB>?>;>65=8O A>1KB8O ?@>5:B0/Select the location of the event of the projectDlgffDPjrPropertiesP>:070BL A?@02:C >1 MB>< 480;>3>2>< >:=5!Show help about this dialogue boxDlgffDPjrProperties0(8@>:>M:@0==K9 " (16:9)TV Wide (16:9)DlgffDPjrProperties;L1>< ?@>5:B0 (5A;8 2 =0AB@>9:0E CAB0=>2;5=0 A>2<5AB8<>ABL A id3v2, B> ?>;5 >3@0=8G5=> 30 A8<2>;0<8).~The album of the project (If the id3v2 compatibility option is set in option dialog, this fields is limited to 30 characters).DlgffDPjrProperties(0B0 A>1KB8O ?@>5:B0$The date of the event of the projectDlgffDPjrPropertiesh/7K: 0C48> 4>@>6:8 (:>4 O7K:0 ?> ISO 639 - 3 7=0:0).DThe language of the audio track (ISO 639 standard – 3 characters).DlgffDPjrProperties|<O 02B>@0 ?@>5:B0 (5A;8 2 =0AB@>9:0E CAB0=>2;5=0 A>2<5AB8<>ABL A id3v2, B> ?>;5 >3@0=8G5=> 30 A8<2>;0<8). @8<5G0=85: MB> ?>;5 G0AB> >B>1@0605BAO A8AB5<0<8 8=45:A0F88 8 ?;55@0<8 :0: @B8AB.The name of the author of the project (If the id3v2 compatibility option is set in option dialog, this fields is limited to 30 characters). Remark: This field is often shown by indexing system and jukeboxes under the term Artist.DlgffDPjrProperties0720=85 ?@>5:B0 (5A;8 2 =0AB@>9:0E CAB0=>2;5=0 A>2<5AB8<>ABL A id3v2, B> ?>;5 >3@0=8G5=> 30 A8<2>;0<8).~The title of the project (If the id3v2 compatibility option is set in option dialog, this fields is limited to 30 characters).DlgffDPjrProperties-B> ?>;5 ?>72>;O5B 2K1@0BL 35><5B@8N, 8A?>;L7C5<CN 2 ?@>5:B5. @8<5G0=85: -B> ?>;5 <>65B @540:B8@>20BLAO B>;L:> :>340 >B:@K205BAO 480;>3>2>5 >:=> 4;O A>740=8O =>2>3> ?@>5:B0. ?>A;54AB288 =52>7<>6=> 87<5=8BL MB> 7=0G5=85.This field allows you to select the geometry to be used for the project. Note: This field is only editable when the dialog box is opened for creating a new project. Subsequently, it is not possible to change this value.DlgffDPjrProperties<1;>6:0 CA?5H=> M:A?>@B8@>20=0Thumbnail successfully exportedDlgffDPjrProperties0720=85 :Title :DlgffDPjrProperties5@5E>4: Transition:DlgffDPjrPropertiesundundDlgffDPjrPropertiesT>;L7>20B5;LA:0O 35><5B@8O - 701;>:8@>20=>Custom geometry - lockedFraming stylesV>;L7>20B5;LA:0O 35><5B@8O - @071;>:8@>20=>Custom geometry - unlockedFraming styles^>;L7>20B5;LA:89 @07<5@ - 5><5B@8O 87>1@065=8OCustom size - Image geometryFraming stylesV>;L7>20B5;LA:89 @07<5@ - 5><5B@8O ?@>5:B0Custom size - Project geometryFraming styles$>;=>5 87>1@065=85 Full imageFraming styles6>;=>5 87>1@065=85 - 2=CB@8Full inner imageFraming styles4KA>B0 ?@>5:B0 - ?> F5=B@CProject height - in the centerFraming styles,KA>B0 ?@>5:B0 - A;520Project height - to the leftFraming styles.KA>B0 ?@>5:B0 - A?@020Project height - to the rightFraming stylesH=CB@5==OO 2KA>B0 ?@>5:B0 - 2 F5=B@5$Project inner height - in the centerFraming stylesB=CB@5==OO 2KA>B0 ?@>5:B0 - A;520"Project inner height - to the leftFraming stylesD=CB@5==OO 2KA>B0 ?@>5:B0 - A?@020#Project inner height - to the rightFraming stylesB=CB@5==OO H8@8=0 ?@>5:B0 - A=87C#Project inner width - at the bottomFraming stylesD=CB@5==OO H8@8=0 ?@>5:B0 - A25@EC Project inner width - at the topFraming stylesL=CB@5==OO H8@8=0 ?@>5:B0 - 2 A5@548=5#Project inner width - in the middleFraming styles,(8@8=0 ?@>5:B0 - A=87CProject width - at the bottomFraming styles.(8@8=0 ?@>5:B0 - A25@ECProject width - at the topFraming styles6(8@8=0 ?@>5:B0 - 2 A5@548=5Project width - in the middleFraming styles 0704Backward HelpPopup85@59B8 =0 3;02=CN AB@0=8FC.0Changes the document displayed to the main page. HelpPopup\5@59B8 : A;54CNI5<C ?@>A<>B@5==><C 4>:C<5=BC.gChanges the document displayed to the next document in the list of documents built by navigating links. HelpPopupb5@=CBLAO : ?@54K4CI5<C ?@>A<>B@5==><C 4>:C<5=BC.kChanges the document displayed to the previous document in the list of documents built by navigating links. HelpPopup0:@KBL WIKIClose the WIKI HelpPopup KE>4Exit HelpPopup0!;54>20BL 70 8=B5@D59A><Follow the interface HelpPopup $>@C<Forum HelpPopup ?5@54Forward HelpPopup;02=0OHome HelpPopupA;8 MB>B D;06>: CAB0=>2;5= 8 WIKI >AB05BAO >B:@KBK<, B> 2 WIKI 02B><0B8G5A:8 >B>1@0605BAO 4>:C<5=B, A>>B25BAB2CNI89 >B:@KB><C 2 =0AB>OI55 2@5<O M;5<5=BC 8=B5@D59A0 (3;02=>5 >:=>, 480;>3>2>5 >:=>, 8 B.4.)If this checkbox is checked and the WIKI remains open, then automatically displayed in the WIKI the document corresponding to the currently used interface element (main window, dialog, etc ...) HelpPopup\B:@KBL D>@C< ffDiaporama 2 8=B5@=5B 1@0C75@5.6Open the ffDiaporama Forum into your internet browser. HelpPopupZB:@KBL A09B ffDiaporama 2 8=B5@=5B 1@0C75@5.9Open the ffDiaporama Web site into your internet browser. HelpPopup!09BWeb Site HelpPopupffDiaporama- MB> <a href="http://en.wikipedia.org/wiki/Free_software">A2>1>4=0O ?@>3@0<<0 (A >B:@KBK< 8AE>4=K< :>4><)</a>, @0A?@>AB@0=ONI0OAO ?> <a href="http://www.gnu.org/licenses/gpl-2.0.html">GNU General Public License (GPL) version 2</a>ffDiaporama is a Free Software (Open Source) and is distributed under the GNU General Public License (GPL) version 2 HelpPopup2011-2013 The ffDiaporama Team - -B> wiki 8 2A5 A>AB02;ONI85 53> @5AC@AK @0A?@>AB@0=ONBAO ?> ;8F5=788`©2011-2013 The ffDiaporama Team - This wiki and all the resources it contains are under license HelpPopup"0C48> D09;>2 - %1%1 audio files MainWindow@D09;>2 ?@>5:B>2 ffDiaporama - %1%1 ffDiaporama project files MainWindowD09;>2 - %1%1 files MainWindow?0?>: - %1 %1 folders MainWindow 87>1@065=89 - %1%1 image files MainWindow425:B>@=KE 87>1@065=89 - %1%1 image vector files MainWindow"2845> D09;>2 - %1%1 video files MainWindow...... MainWindow<html><body>>102LB5 ?CABK5 A;094K 8;8 A;094K 87 D>B>3@0D89 8;8 2845>.<br>'B>1K C7=0BL :0: A>740BL A;094-H>C 8 0=8<8@>20BL A;094K,<br><a href="%1">?>7=0:><LB5AL A ?@8=F8?0<8 DC=:F8>=8@>20=8O ffDiaporama</a></body></html>Add empty slides or slides based on photos or videos
To discover how to build your slide show and to animate slides:
Discover the principles of functioning of ffDiaporama MainWindow$<html><body>K15@8B5 ACI5AB2CNI89 ?@>5:B 8;8 A>7409B5 =>2K9.<br>'B>1K C7=0BL 1>;LH5 > ffDiaporama,<br><a href="%1">?>A5B8B5 WIKI</a></body></html>Select a project to open or to create a new project
To discover ffDiaporama:
Consult the WIKI MainWindow<html><body>K15@8B5 B8? CAB@>9AB20, =0 :>B>@>< 2K A>18@05B5AL ?@>A<0B@820BL 2845>.<br>'B>1K C7=0BL :0: A45;0BL 2845>,<br><a href="%1">?>A5B8B5 AB@0=8FC >1@01>B:8 2845> 2 WIKI</a></body></html>Select the equipment type that you plan to use for your video
To discover how to render videos:
Consult the rendering videos WIKI page MainWindow<html><body>>A5B8B5 A09B ffDiaporama GB>1K<br>?>A<>B@5BL @C:>2>4AB2> 8 C7=0BL ?>A;54=85 =>2>AB8:<br><a href="http://ffdiaporama.tuxfamily.org">http://ffdiaporama.tuxfamily.org</a></body></html>Visit the ffDiaporama Web site to use the forum,
consult tutorials and learn the lastest news:
http://ffdiaporama.tuxfamily.org MainWindow<>2K9 ?@>5:B>  MainWindowr71@0==>5 A B0:8< ?CB5< C65 ACI5AB2C5B. 5@570?8A0BL 53>?JA favorite with for this path already exists. Do you want to overwrite it? MainWindowt71@0==>5 A B0:8< 8<5=5< C65 ACI5AB2C5B. 5@570?8A0BL 53>?FA favorite with this name already exists. Do you want to overwrite it? MainWindow>ABC?=0 =>20O 25@A8O. K <>65B5 A:0G0BL 55 A A09B0 http://ffdiaporama.tuxfamily.org !_A new release is available from WEB site. Please update from http://ffdiaporama.tuxfamily.org ! MainWindowd>ABC?=0 =>20O 25@A8O. %>B8B5 703@C78BL 55 A59G0A?IA new version is available from WEB site. Do you want to download it now? MainWindow ?@>3@0<<5About MainWindow>1028BL D09;K Add files MainWindow>1028BL ?@>5:B Add project MainWindow>1028BL A;094 Add title MainWindow4>1028BL :0@BC Google MapsAdd a Google Maps map MainWindow>1028BL :0@BC Add a map MainWindow2>1028BL A;094 87 H01;>=0Add a predefined title slide MainWindowr>1028BL @0=55 A>E@0=5==K9 ?@>5:B 2 :>=5F 40==>3> ?@>5:B09Add a previously saved project at the end of this project MainWindow$>1028BL ?>4?@>5:BAdd a sub project MainWindow*>1028BL ?CAB>9 A;094Add an empty slide MainWindow,>1028BL D09; 2 ?@>5:BAdd file to project MainWindow0>1028BL D09; 2 ?@>5:B :Add file to project : MainWindow>1028BL D09;K Add files MainWindow.>1028BL D09;K 2 ?@>5:BAdd files to project MainWindow\>1028BL 87>1@065=85 8;8 2845> :0: A;094 (INS)!Add image or video as slide (INS) MainWindow>1028BL ?@>5:B Add project MainWindow.>1028BL D09; ?@>5:B0 :Add project file : MainWindow>1028BL A;094 Add title MainWindow(>1028BL 2 871@0==>5Add to favorite MainWindow>?>;=8B5;L=>Advanced MainWindowA5 D09;K All files MainWindow4A5 ?>445@68205<K5 D09;K (All suported file ( MainWindow#40;8BL MB>B D09; 8;8 ?0?:C? (=8<0=85: >=8 =5 1C4CB ?5@5<5I5=K 2 :>@78=C)ZAre you sure to delete this file or folder ? (Warning: Content will not be moved to trash) MainWindow#40;8BL MBC ?0?:C? (=8<0=85: >=0 =5 1C45B ?5@5<5I5=0 2 :>@78=C)RAre you sure to remove this folder ? (Warning: Content will not be moved to trash) MainWindow$#40;8BL A;094K %1?0Are you sure you want to remove these %1 slides? MainWindow&#40;8BL MB>B A;094?+Are you sure you want to remove this slide? MainWindow0B:@KBL ffDiaporama WIKICall ffDiaporama WIKI MainWindow$0E20B 87>1@065=8O Capture image MainWindow&0E20B 87>1@065=8O Capture the image  MainWindow^7<5=8BL =0AB@>9:8 ?@>3@0<<K 8 A2>9AB20 ?@>5:B0'Change application and project settings MainWindow ;020: Chapter:  MainWindow;020: xx/xxxChapter: xx/xxx MainWindow"0:@KBL ?@>3@0<<CClose application MainWindow>?8@>20BLCopy MainWindow`>?8@>20BL B5:CI89 A;094 2 1CD5@ >1<5=0 (Ctrl+C)(Copy current slide to clipboard (Ctrl+C) MainWindow\K@570BL B5:CI89 A;094 2 1CD5@ >1<5=0 (Ctrl+X)6Copy current slide to clipboard and remove it (Ctrl+X) MainWindowH!>740BL =>2K9 ?CAB>9 ?@>5:B (Ctrl+N)#Create a new empty project (Ctrl+N) MainWindow Ctrl+CCtrl+C MainWindow Ctrl+VCtrl+V MainWindow Ctrl+XCtrl+X MainWindowT"5:CI89 ?@>5:B 1K; 87<5=5=. !>E@0=8BL 53>?;Current project has been modified. Do you want to save-it ? MainWindowK@570BLCut MainWindow2?@545;8BL <5AB>?>;>65=85Define a location MainWindow.040BL A2>9AB20 ?@>5:B0Define project properties MainWindowDelDel MainWindowT>:070BL 1;>3/ =>2>AB8 A 4><0H=59 AB@0=8FK-Display blog/news page from internet WEB site MainWindowB>:070BL 8=D>@<0F8N > ffDiaporama%Display information about ffDiaporama MainWindow6%>B8B5 2K1@0BL 4@C3>9 D09;?$Do you want to select another file ? MainWindow 540:B8@>20BLEdit MainWindow" 540:B8@>20BL D>=Edit background MainWindowN 540:B8@>20BL ?5@5E>4 >B:@K20NI89 A;094&Edit entering transition for the slide MainWindow( 540:B8@>20BL <C7K:C Edit music MainWindow* 540:B8@>20BL ?5@5E>4Edit object transition MainWindow& 540:B8@>20BL A;094 Edit slide MainWindowP 540:B8@>20BL D>=>2>5 87>1@065=85 A;0940'Edit the background image for the slide MainWindow& 540:B8@>20BL A;094Edit the slide MainWindow: 540:B8@>20BL ?;59;8AB A;0940Edit the slide musical playlist MainWindow67<5=8BL MB> <5AB>?>;>65=85Edit this location MainWindow&#25;8G8BL <8=80BN@KEnlarge thumbnails MainWindow H81:0Error MainWindowbH81:0 2K45;5=8O ?0<OB8 4;O >1@01>B:8 87>1@065=8O(Error allocating memory for render image MainWindowDH81:0 A>740=8O D09;0 :>=D83C@0F88!Error creating configuration file MainWindow8H81:0 A>740=8O D09;0 40==KEError creating data file MainWindow:H81:0 A>740=8O D09;0 H01;>=0Error creating model file MainWindowH81:0 ?@8 8=8F80;870F88 72C:>2>9 A8AB5<K. @>25@LB5 20H8 =0AB@>9:8 8 ?>?@>1C9B5 A=>20SError during initialisation of sound system. Check your configuration and try again MainWindow$H81:0 ?@8 70?CA:5Error during startup MainWindowZH81:0 ?>;CG5=8O 87>1@065=8O 87 1CD5@0 >1<5=0"Error getting image from clipboard MainWindowH81:0 8=8F80;870F88 107K 40==KE ?>;L7>20B5;O 5 C405BAO 70?CAB8BL ffDiaporama=Error initialising home user database ffDiaporama can't start MainWindow`H81:0 8=8F80;870F88 107K 40==KE ?>;L7>20B5;O...(Error initialising home user database... MainWindow,H81:0 703@C7:8 D09;0:Error loading file : MainWindow0H81:0 703@C7:8 @5AC@A>2Error loading ressource MainWindow@H81:0 GB5=8O D09;0 :>=D83C@0F88 Error reading configuration file MainWindowXH81:0 GB5=8O A>45@68<>3> D09;0 :>=D83C@0F88+Error reading content of configuration file MainWindowNH81:0 GB5=8O A>45@68<>3> D09;0 ?@>5:B0%Error reading content of project file MainWindow6H81:0 GB5=8O D09;0 ?@>5:B0Error reading project file MainWindowH81:0 GB5=8O @07<5@0 8 ?>;>65=8O >:=0 %1 87 107K 40==KE ?>;L7>20B5;O8Error reading window state of %1 from home user database MainWindow KE>4Exit MainWindow40:@KBL ?@>3@0<<C (Ctrl+W)Exit application (Ctrl+W) MainWindow*-:A?>@B 0C48> 4>@>6:8Export Soundtrack MainWindow-:A?>@B B5:CI53> ?@>5:B0 8 2A5E 8A?>;L7C5<KE 2 =5< D09;>2 2 =>2CN ?0?:C9Export current project and all used files in a new folder MainWindow-:A?>@B ?@>5:B0Export project MainWindow<O 871@0==>3>:Favorite name: MainWindow$09;File MainWindow 0?:0:Folder: MainWindow=B5@=5B For the WEB MainWindow0$>@<0B =5 ?>445@68205BAOFormat not supported MainWindow ><>ILHelp MainWindow&!:@KBL 8<5=0 D09;>2Hide files name MainWindowF5 ?>:07K20BL A:@KBK5 D09;K 8 ?0?:8Hide hidden files and folders MainWindow7>1@065=8O ( Image file ( MainWindow7>1@065=8O Image files MainWindow.5:B>@=K5 87>1@065=8O (Image vector file ( MainWindow*5:B>@=K5 87>1@065=8OImage vector files MainWindow052>7<>6=> C40;8BL D09;!Impossible to delete file! MainWindowj52>7<>6=> C40;8BL ?0?:C! K C25@5=K, GB> >=0 ?CAB0O?6Impossible to delete folder! Are you sure it is empty? MainWindow52>7<>6=> 8<?>@B8@>20BL MB>B D09;: 35><5B@8O 87>1@065=8O 2 =5< =5 A>>B25BAB2C5B B5:CI5<C ?@>5:BCeImpossible to import this file : Image geometry in this file is not the same than the current project MainWindow.52>7<>6=> >B:@KBL D09;Impossible to open file  MainWindowD52>7<>6=> >B:@KBL D09; ?@>5:B0 %1"Impossible to open project file %1 MainWindowR52>7<>6=> ?@>G8B0BL 87>1@065=85 87 D09;0)Impossible to read an image from the file MainWindowR52>7<>6=> ?@>G8B0BL 87>1@065=85 87 D09;0*Impossible to read one image from the file MainWindowP52>7<>6=> C40;8BL D09;%1 - H81:0:%2:%3*Impossible to remove file %1 - error %2:%3 MainWindowR52>7<>6=> C40;8BL ?0?:C%1 - H81:0:%2:%3,Impossible to remove folder %1 - error %2:%3 MainWindow<52>7<>6=> ?5@58<5=>20BL D09;!Impossible to rename file! MainWindow>52>7<>6=> ?5@58<5=>20BL ?0?:C!Impossible to rename folder! MainWindow*=8F80;870F8O WIKI... Init WIKI... MainWindowR=8F80;870F8O 107K 40==KE ?>;L7>20B5;O...Init home user database... MainWindowN=8F80;870F8O <C;LB8<5480 @>2>4=8:0...Init multimedia browser... MainWindow4=8F80;870F8O ?5@52>4>2...Init translations... MainWindowd52>7<>6=> >?@545;8BL ?>A;54=NN 25@A8N ffDiaporama6Latest version number of ffDiaporama is indeterminable MainWindow803@C7:0 181;8>B5: D>=>2 ...Loading background library... MainWindow03@C7:0 D09;0:Loading file : MainWindow403@C7:0 D09;0 87 @5AC@A>2Loading file from ressource MainWindow403@C7:0 luma ?5@5E>4>2...Loading luma transitions... MainWindow:03@C7:0 =5 luma ?5@5E>4>2...Loading no-luma transitions... MainWindow:03@C7:0 @5AC@A>2 ?@>5:B0: %1Loading project ressources: %1 MainWindow*03@C7:0 A;0940 %1/%2Loading slide %1/%2 MainWindow803@C7:0 A8AB5<=KE 8:>=>:...Loading system icons... MainWindowB03@C7:0 181;8>B5: D>@< B5:AB0...Loading text frame library... MainWindow$!60B85 157 ?>B5@LLossless MainWindow(#?@02;5=85 871@0==K<Manage favorites MainWindow(>445@68205<K5 D09;K Managed files MainWindow&C;LB8<5480 A8AB5<0Multimedia system MainWindow,5A:>;L:> B8?>2 D09;>2Multiple file types MainWindowC48> D09;K ( Music file ( MainWindowC48> D09;K Music files MainWindow>2K9 ?@>5:B New project MainWindow>2>5 8<O: New name: MainWindow05 =0945=0 0C48> 4>@>6:0No audio track found MainWindowB:@KBLOpen MainWindowB:@KBL ?@>5:B Open project MainWindow B:@KBL =5402=89 Open recent MainWindowRB:@KBL @0=55 A>E@0=5==K9 ?@>5:B (Ctrl+O)(Open a previously saved project (Ctrl+O) MainWindowFB:@KBL =5402=> 8A?>;L7C5<K9 ?@>5:B!Open a recently used project file MainWindowB:@KBL D09; : Open file : MainWindowB:@KBL ?@>5:B Open project MainWindow(B:@KBL D09; ?@>5:B0Open project file MainWindowAB028BLPaste MainWindow`AB028BL B5:CI89 A;094 87 1CD5@0 >1<5=0 (Ctrl+V)+Paste current slide from clipboard (Ctrl+V) MainWindow ;55@ 8 A<0@BD>=Player and smartphone MainWindow @>5:BProject MainWindow !2>9AB20 ?@>5:B0Project properties MainWindow!2>9AB20 Properties MainWindow&5@5<5H0BL ?5@5E>4KRandomize transitions MainWindow6@>G8B0BL D09; :>=D83C@0F88Read configuration file MainWindow&#<5=LH8BL <8=80BN@KReduce thumbnails MainWindow1=>28BL 2A5 Refresh All MainWindow. 538AB@0F8O H01;>=>2...Register models... MainWindow#40;8BLRemove MainWindow<#40;8BL B5:CI89 A;094 (Delete)Remove current slide (DEL) MainWindow#40;8BL D09; Remove file MainWindow#40;8BL D09; : Remove file : MainWindow#40;8BL D09;K Remove files MainWindow#40;8BL ?0?:C Remove folder MainWindow2#40;8BL =5A:>;L:> A;094>2Remove multiple slides MainWindow#40;8BL A;094 Remove slide MainWindow*#40;8BL MB> 71@0==>5Remove this favorites MainWindow #40;8BL ?5@5E>4KRemove transitions MainWindow5@58<5=>20BLRename MainWindow$5@58<5=>20BL D09; Rename file MainWindow&5@58<5=>20BL ?0?:C Rename folder MainWindow`!>740BL 2845>D09; 87 ?@>5:B0 157 ?>B5@8 :0G5AB20"Render project as a lossless video MainWindow8!>740BL 2845>D09; 87 ?@>5:B0Render project as a video MainWindowv!>740BL 2845>D09; 87 ?@>5:B0, 2K1@02 A>>B25BAB2CNI89 H01;>=2Render project as a video using a predefined model MainWindow@!>740BL 0C48> 4>@>6:C 87 ?@>5:B0Render sound trak of project MainWindow!>740=85 2845> Render video MainWindowD!1@>A8BL D>= =0 "0: 2 ?@54K4CI5<"&Reset background to "Same as previous" MainWindowJ!1@>A8BL <C7K:C =0 "0: 2 ?@54K4CI5<"!Reset music to "Same as previous" MainWindow8>AAB0=>2;5=85 ?>A;5 A1>O... Restore from a previous crash... MainWindow C>E@0=8BL ?@>5:B Save project MainWindow(!>E@0=8BL ?@>5:B :0:Save project as MainWindowB!>E@0=8BL B5:CI89 ?@>5:B (Ctrl+S)Save current project (Ctrl+S) MainWindowJC>E@0=8BL B5:CI89 ?@>5:B 2 =>2K9 D09;*Save current project to a new project file MainWindow(!>E@0=8BL ?@>5:B :0:Save project as MainWindow!>E@0=5=85 D09;0 :>=D83C@0F88 8 ?@8<5=5=85 =>2>9 :>=D83C@0F88 ...E@0=5=85 D09;0 ?@>5:B0 ...Saving project file ... MainWindowB!:0=8@>20=85 48A:>2 :><?LNB5@0...Scan drives in computer... MainWindowT09B8 @0AB@>2K9 @568< 2 D09;5 :>=D83C@0F88(Search Raster mode in configuration file MainWindow0K1@0BL D09; 87>1@065=8OSelect an image file MainWindow&K1@0BL 4@C3>9 D09;Select another file for  MainWindow0K15@8B5 D09; =07=0G5=8OSelect destination file MainWindow"K1@0BL MB>B D09;Select this file MainWindow K1@0BL ?5@5E>4KSelect transitions MainWindowJ#AB0=>28BL 4;8B5;L=>ABL ?5@2>3> :04@0Set first shot duration MainWindow@#AB0=>28BL 4;8B5;L=>ABL ?5@5E>40Set transition duration MainWindow0AB@>9:8Settings MainWindow*>:070BL 8<5=0 D09;>2Show files name MainWindow0!=0G0;0 ?>:07K20BL ?0?:8Show folder first MainWindow<>:070BL A:@KBK5 D09;K 8 ?0?:8Show hidden files and folders MainWindow !;094:Slide:  MainWindow!;094: xx/xxx Slide: xx/xxx MainWindow728=8B5, => ffDiaporama C65 70?CI5=0 =0 MB>< :><?LNB5@5 8 =5 <>65B 1KBL 70?CI5=0 ?>2B>@=>.]Sorry, but ffDiaporama is already started on this computer and can't be started several time. MainWindow&!>@B8@>20BL ?> 40B5 Sort by date MainWindow(!>@B8@>20BL ?> 8<5=8 Sort by name MainWindow*!>@B8@>20BL ?> =><5@CSort by number MainWindow0?CA: ... Start ... MainWindow0?CA: SDL...Starting SDL... MainWindow0?CA: libav...Starting libav... MainWindow\0?:0 %1 CA?5H=> C40;5=0 (8 2A5 55 A>45@68<>5)4Successfully deleted folder (and all its content) %1 MainWindow!?@02:0Support and help MainWindowT5@5:;NG8BL M:@0= 2 @568< <5=5465@0 D09;>2$Switch display to file explorer mode MainWindowh5@5:;NG8BL M:@0= 2 @568< ?@5420@8B5;L=>3> ?@>A<>B@0Switch display to preview mode MainWindowB5@5:;NG8BL M:@0= 2 @568< B01;8FKSwitch display to sheet mode MainWindowR-B>B D09; =5 O2;O5BAO D09;>< :>=D83C@0F88*The file is not a valid configuration file MainWindowH-B>B D09; =5 O2;O5BAO D09;>< ?@>5:B0$The file is not a valid project file MainWindow2$09; =5 O2;O5BAO >1;>6:>9&The file is not a valid thumbnail file MainWindow@$09; =5 O2;O5BAO H01;>=>< B8B@>2(The file is not a valid title model file MainWindow-B> ?@8;>65=85 ?>445@68205B 0C48> 4>@>6:C B>;L:> A =5?>4?8A0==K< 8 18B=K< 8;8 ?>4?8A0==K< 16 18B=K< D>@<0B>< AM<?;0^This application support only audio track with unsigned 8 bits or signed 16 bits sample format MainWindow-B> ?@8;>65=85 ?>445@68205B B>;L:> <>=> 8;8 AB5@5> 0C48> 4>@>6:88This application support only mono or stereo audio track MainWindow-B>B ?@>5:B 1K; A>740= 2 =>2>9 25@A88 ffDiaporama. A;8 ?@>4>;68BL, B> <>6=> ?>B5@OBL 40==K5! %>B8B5 >B:@KBL 53> 2A5 @02=>?This project was created with a newer version of ffDiaporama. If you continue, you take the risk of losing data! Do you want to open it nevertheless? MainWindow-B>B 2845>D09; A>45@68B 1>;55 G5< >4=C 3;02C. %>B8B5 A>740BL >B45;L=K9 A;094 4;O :064>9 3;02K ?dThis video files contains more than one chapter. Do you want to create one slide for each chapters ? MainWindow0720=85Title MainWindow01I0O ?@>4>;68B5;L=>ABL:Total duration: MainWindow1I89 @07<5@:%1 Total size:%1 MainWindow,1=>28BL MB> 71@0==>5Update this favorite MainWindow>A?>;L7>20BL :0: =>2K9 ?;59;8ABUse as new playlist MainWindow845> D09;K ( Video file ( MainWindow845> D09;K Video files MainWindowP%>B8B5 A>E@0=8BL ?@>5:B ?5@54 70:@KB85<?(Want to save the project before closing? MainWindow'B> =>2>3> What's new MainWindowH0H0 25@A8O %1 =5 B@51C5B >1=>2;5=8OYour version of %1 is up to day MainWindow4$09;K ?@>5:B>2 ffDiaporamaffDiaporama project files MainWindow,1=>28BL B5:CICN ?0?:Cupdate current folder MainWindow,1=>2;5=85 48A:>2 (%1)update drive (%1) MainWindow,1=>28BL A?8A>: 48A:>2update drive list MainWindow ;L1><AlbumQCustomFolderTableA?>;=8B5;LArtistQCustomFolderTable8B@59B 0C48> Audio BitrateQCustomFolderTableC48>:0=0;Audio ChannelsQCustomFolderTableC48> :>45: Audio CodecQCustomFolderTable'0AB>B0 72C:0Audio FrequencyQCustomFolderTable/7K: 0C48>Audio LanguageQCustomFolderTable 2B>@AuthorQCustomFolderTable ;02KChaptersQCustomFolderTable><<5=B0@89CommentQCustomFolderTable><?>78B>@ComposerQCustomFolderTable"@>4>;68B5;L=>ABLDurationQCustomFolderTable >45@EncoderQCustomFolderTable$09;FileQCustomFolderTable0B0 File DateQCustomFolderTable  07<5@ File SizeQCustomFolderTable"8? File TypeQCustomFolderTable'0AB>B0 :04@>2 Frame RateQCustomFolderTable0=@GenreQCustomFolderTable$$>@<0B 87>1@065=8O Image FormatQCustomFolderTable5><5B@8OImage GeometryQCustomFolderTable$ 07<5@ 87>1@065=8O Image SizeQCustomFolderTable@'B5=85 A>45@68<>3> :0B0;>30 (%1)Reading directory content (%1)QCustomFolderTable0720=85TitleQCustomFolderTable"@5:TrackQCustomFolderTable8B@59B 2845> Video BitrateQCustomFolderTable845> :>45: Video CodecQCustomFolderTable>4YearQCustomFolderTable;8?0@BClipartQCustomFolderTree!>740BL ?0?:C Create folderQCustomFolderTree,!>740BL =>2CN ?>4?0?:CCreate new subfolderQCustomFolderTreeCAB>9 48A:...Empty drive...QCustomFolderTreeH81:0 %1: Error %1:QCustomFolderTree 0?:0:Folder:QCustomFolderTree1GbQCustomFolderTree452>7<>6=> A>740BL ?0?:C !Impossible to create folder !QCustomFolderTree:1KbQCustomFolderTree1MbQCustomFolderTree8G=0O ?0?:0Personal folderQCustomFolderTree1=>28BL 2A5 Refresh allQCustomFolderTree&1=>28BL 2K45;5==>5Refresh from hereQCustomFolderTree#40;8BL ?0?:C Remove folderQCustomFolderTree&5@58<5=>20BL ?0?:C Rename folderQCustomFolderTree!8AB5<=K5 D09;K System filesQCustomFolderTree"1TbQCustomFolderTree C7K@LBubble Shape forms ;525@Club Shape forms&2>9=>9 H52@>= 2=87Double chevron down Shape forms(2>9=>9 H52@>= 2;52>Double chevron left Shape forms*2>9=>9 H52@>= 2?@02>Double chevron right Shape forms(2>9=>9 H52@>= 225@EDouble chevron up Shape forms<2>9=0O 4803>=0;L=0O AB@5;:0 1Double diagonal arrows 1 Shape forms<2>9=0O 4803>=0;L=0O AB@5;:0 2Double diagonal arrows 2 Shape forms<2>9=0O 3>@87>=B0;L=0O AB@5;:0Double horizontal arrows Shape forms02>9=>9 B@5C3>;L=8: 2=87Double triangle down Shape forms22>9=>9 B@5C3>;L=8: 2;52>Double triangle left Shape forms42>9=>9 B@5C3>;L=8: 2?@02>Double triangle right Shape forms22>9=>9 B@5C3>;L=8: 225@EDouble triangle up Shape forms82>9=0O 25@B8:0;L=0O AB@5;:0Double vertical arrows Shape forms&(5AB5@=O (8 7C1L52)Eight tooth gear Shape forms -;;8?AEllipse Shape forms&OB8:>=5G=0O 725740Five-pointed stars Shape forms'5BK@5 >:C;O@0 Four oculars Shape forms,'5BK@5E:>=5G=0O 725740Four-pointed stars Shape forms !5@4F5Heart Shape forms*>AL<8:>=5G=0O 725740Height-pointed stars Shape forms(5AB8C3>;L=8:Hexagon Shape forms,>@87>=B0;L=K9 18=>:;LHorizontal Binoculars Shape forms.>@87>=B0;L=K9 B@8=>:;LHorizontal Trinoculars Shape forms5A>G=K5 G0AK Hourglass Shape forms"0<>G=0O A:2068=0Keyhole Shape forms5B D>@<KNo shape Shape forms>AL<8C3>;L=8:Octogon Shape forms@"@5C3>;L=8: 2=87 (AB0@0O 25@A8O)Old Triangle down version Shape formsB"@5C3>;L=8: 2;52> (AB0@0O 25@A8O)Old Triangle left version Shape formsD"@5C3>;L=8: 2?@02> (AB0@0O 25@A8O)Old Triangle right version Shape formsB"@5C3>;L=8: 225@E (AB0@0O 25@A8O)Old Triangle up version Shape forms&0@0;;5;>3@0<< 2=87Parallelogram Down Shape forms(0@0;;5;>3@0<< 2;52>Parallelogram Left Shape forms*0@0;;5;>3@0<< 2?@02>Parallelogram Right Shape forms(0@0;;5;>3@0<< 225@EParallelogram Up Shape formsOB8C3>;L=8:Pentagon Shape forms;NAPlus Shape forms@860BK9 2=87 Pushed down Shape forms@860BK9 2;52> Pushed left Shape forms@860BK9 2?@02> Pushed right Shape forms@860BK9 225@E Pushed up Shape forms&07; =86=89 A@54=89Puzzle Down-Center Shape forms"07; =86=89 ;52K9Puzzle Down-Left Shape forms$07; =86=89 ?@02K9Puzzle Down-Right Shape forms07; A@54=89Puzzle Middle-Center Shape forms$07; A@54=89 ;52K9Puzzle Middle-Left Shape forms&07; A@54=89 ?@02K9Puzzle Middle-Right Shape forms(07; 25@E=89 A@54=89Puzzle Up-Center Shape forms$07; 25@E=89 ;52K9Puzzle Up-Left Shape forms&07; 25@E=89 ?@02K9Puzzle Up-Right Shape forms@O<>C3>;L=8: Rectangle Shape forms ><1Rhombus Shape formsJ@O<>C3>;L=K9 B@5C3>;L=8: 2=87C A;520Right triangle Down-Left Shape formsL@O<>C3>;L=K9 B@5C3>;L=8: 2=87C A?@020Right triangle Down-Right Shape formsL@O<>C3>;L=K9 B@5C3>;L=8: 225@EC A;520Right triangle Up-Left Shape formsN@O<>C3>;L=K9 B@5C3>;L=8: 225@EC A?@020Right triangle Up-Right Shape forms2!:@C3;5==K9 ?@O<>C3>;L=8:Rounded rectangle Shape formsK3=CBK9 2=87 Sharp down Shape formsK3=CBK9 2;52> Sharp left Shape formsK3=CBK9 2?@02> Sharp right Shape formsK3=CBK9 225@ESharp up Shape forms!B@5;:0 2=87Simple arrow down Shape forms!B@5;:0 2;52>Simple arrow left Shape forms!B@5;:0 2?@02>Simple arrow right Shape forms!B@5;:0 225@ESimple arrow up Shape forms(52@>= 2=87Single chevron down Shape forms(52@>= 2;52>Single chevron left Shape forms(52@>= 2?@02>Single chevron right Shape forms(52@>= 225@ESingle chevron up Shape forms "@5C3>;L=8: 2=87Single triangle down Shape forms""@5C3>;L=8: 2;52>Single triangle left Shape forms$"@5C3>;L=8: 2?@02>Single triangle right Shape forms""@5C3>;L=8: 225@ESingle triangle up Shape forms&(5AB5@=O (6 7C1L52)Six tooth gear Shape forms((5AB8:>=5G=0O 725740Six-pointed stars Shape forms8:0Spade Shape forms((5AB5@=O (10 7C1L52)Ten tooth gear Shape forms"@0?5F8O 2=87Trapezoid Down Shape forms&"@0?5F8O 2=87-2;52>Trapezoid Down-Left Shape forms("@0?5F8O 2=87-2?@02>Trapezoid Down-Right Shape forms"@0?5F8O 2;52>Trapezoid Left Shape forms&"@0?5F8O 2;52>-2=87Trapezoid Left-Down Shape forms("@0?5F8O 2;52>-225@ETrapezoid Left-Up Shape forms"@0?5F8O 2?@02>Trapezoid Right Shape forms("@0?5F8O 2?@02>-2=87Trapezoid Right-Down Shape forms*"@0?5F8O 2?@02>-225@ETrapezoid Right-Up Shape forms"@0?5F8O 225@E Trapezoid Up Shape forms("@0?5F8O 225@E-2;52>Trapezoid Up-Left Shape forms*"@0?5F8O 225@E-2?@02>Trapezoid Up-Right Shape forms((5AB5@=O (12 7C1L52)Twelve tooth gear Shape forms(5@B8:0;L=K9 18=>:;LVertical Binoculars Shape forms*5@B8:0;L=K9 B@8=>:;LVertical Trinoculars Shape forms&>AB>O==0O A:>@>ABLConstant speed Speed wave,KAB@>, 70B5< <54;5==>Fast then slow Speed wave*A5 1KAB@55 8 1KAB@55Faster and faster Speed wave0@>5:B ?> C<>;G0=8N (%1)Project default (%1) Speed wave,54;5==>, 70B5< 1KAB@>Slow then fast Speed wave2A5 <54;5==55 8 <54;5==55Slower and slower Speed wave - %1 - © %1 Variables - %1 (%2) - © %1 (%2) Variables 87 %1 from «%1» Variables3;02 - %1 %1 chapters Variables%1 ?@54AB02;O5B %1 presents Variables"A;094>2 - %1 (%2)%1 slides (%2) Variables*2845>D09;>2 - %1 (%2)%1 videos (%2) Variables425:B>@=KE 87>1@065=89 - %3%3 vector images VariablesD>B>3@0D89 - %4 %4 photos Variables$1;>:>2 B5:AB0 - %5%5 text blocks VariablesH01;>=>2 - %6%6 automatic slides Variables@>872>4AB2> %1A %1 production Variables;020 %1 Chapter %1 Variables>;8G5AB2> 3;02 Chapter count Variables=0G5=8O 3;02Chapters values Variables!>45@68<>5Content Variables!>45@68<>5:Content: Variables>?8@09B Copyright Variables$0B0 B5:CI59 3;02KCurrent chapter date values Variables4;8B5;L=>ABL B5:CI59 3;02KCurrent chapter duration VariablesD4@5A <5AB>?>;>65=8O B5:CI59 3;02K Current chapter location address VariablesJ0720=85 <5AB>?>;>65=8O B5:CI59 3;02KCurrent chapter location name Variables,0720=85 B5:CI59 3;02KCurrent chapter name Variables&><5@ B5:CI59 3;02KCurrent chapter number Variables<><5@ B5:CI59 3;02K: ";020 !"'Current chapter number as "Chapter N°" Variables&<O B5:CI53> A;0940Current slide name Variables*><5@ B5:CI53> A;0940Current slide number Variables0=0G5=8O B5:CI53> A;0940Current slide values Variables5=LDay Variables5=L =545;8 Day of week Variables 0B0 (?>;=>ABLN) Long date Variables 5AOFMonth Variables><5@ <5AOF0Month as number Variables C7K:0Musical content VariablesC7K:0:Musical content: Variables;L1>< ?@>5:B0 Project album Variables2B>@ ?@>5:B0Project author VariablesJ2B>@ ?@>5:B0: "<@>872>4AB2> 2B>@>"'Project author as  VariablesJ2B>@ ?@>5:B0: "<2B>@ ?@54AB02;O5B>"#Project author as  Variables*><<5=B0@89 : ?@>5:BCProject comment Variables0B0 ?@>5:B0Project date values Variables@>5:B A>740= %1: 2 %2 (%3) =0 :><?LNB5@5 A %4 (%5 Core/CPU)FProject done the %1: ·with %2 (%3) ·on a %4 (%5 Core/CPU) computer Variables2@>4>;68B5;L=>ABL ?@>5:B0Project duration Variables84@5A <5AB>?>;>65=8O ?@>5:B0Project location address Variables>0720=85 <5AB>?>;>65=8O ?@>5:B0Project location name Variables@>5:B A>740= Project made Variables0=0G5=8O A2>9AB2 ?@>5:B0Project properties values Variables4>;8G5AB2> A;094>2 ?@>5:B0Project slide count Variables 0720=85 ?@>5:B0 Project title VariablesP5AB>?>;>65=85 ?@>5:B0 =5 7040=> (4@5A)$Project's location not set (Address) VariablesV5AB>?>;>65=85 ?@>5:B0 =5 7040=> (0720=85)!Project's location not set (Name) Variables,K1@0BL MBC ?5@5<5==CNSelect this variable Variables0B0 (:@0B:>) Short date Variables >=5FThe end Variables!53>4=O (40B0)Today date values Variables 07=K5 7=0G5=8OVarious values Variables>4Year Variables$5@A8O ffDiaporamaffDiaporama version Variables%1 0AHB01 %2 %1 Zoom %2cBaseMediaFile*%1 <5AB>?>;>65=85(89)%1 location(s)cBaseMediaFile,1080p-16:9 (1920x1080)1080p-16:9 (1920x1080)cBaseMediaFile01080px4-16:9 (3840x2160)1080px4-16:9 (3840x2160)cBaseMediaFile01080px9-16:9 (5760x3240)1080px9-16:9 (5760x3240)cBaseMediaFile(720p-16:9 (1280x720)720p-16:9 (1280x720)cBaseMediaFile.720px4-16:9 (2560x1440)720px4-16:9 (2560x1440)cBaseMediaFile.720px9-16:9 (3840x2160)720px9-16:9 (3840x2160)cBaseMediaFile$>1028BL 2845>D09;Add video filecBaseMediaFile ;02KChapterscBaseMediaFile6%>B8B5 2K1@0BL 4@C3>9 D09;?$Do you want to select another file ?cBaseMediaFile 0?:0FoldercBaseMediaFile,GPS :>>@48=0BK %1 / %2GPS Coordinates %1 / %2cBaseMediaFile"0@B0 Google MapsGoogle Maps mapcBaseMediaFile<!<5H0==0O (A?CB=8: + 4>@>6=0O)HybridcBaseMediaFile7>1@065=85ImagecBaseMediaFile87>1@065=8O 87 1CD5@0 >1<5=0Image from clipboardcBaseMediaFile$ 07<5@ 87>1@065=8O Image sizecBaseMediaFile052>7<>6=> >B:@KBL D09; Impossible to open file cBaseMediaFile452>7<>6=> >B:@KBL D09; %1Impossible to open file %1cBaseMediaFile?MPixcBaseMediaFile(8@>B0 :0@BK Map latitudecBaseMediaFile>;3>B0 :0@BK Map longitudecBaseMediaFile"8? :0@BKMap typecBaseMediaFile,0AHB01 8 @07<5@ :0@BKMap zoom and sizecBaseMediaFile>=>MonocBaseMediaFile C48>MusiccBaseMediaFileB:@KBL D09; Open filecBaseMediaFile5AB>?>;>65=85 ?@>5:B0 4>;6=> 1KBL >?@545;5=> 4;O ?>;CG5=8O MB>9 :0@BK Google MapsBProject's location must be defined to produce this Google Maps mapcBaseMediaFile>@>6=0O :0@B0RoadmapcBaseMediaFile84 A> A?CB=8:0 SatellitecBaseMediaFile&K1@0BL 4@C3>9 D09;Select another file for cBaseMediaFileK15@8B5 E>BO 1K >4=> <5AB>?>;>65=85 4;O A>AB02;5=8O :0@BK Google Maps7Select at least one location to produce Google Maps mapcBaseMediaFile !;094KSlidescBaseMediaFile0;5=L:0OSmallcBaseMediaFile&0;5=L:0O (640x360)Small (640x360)cBaseMediaFile !B5@5>StereocBaseMediaFile(5>3@0D8G5A:0O :0@B0TerraincBaseMediaFile0@B0 4>;6=0 1KBL A>740=0 70=>2>, ?>B><C GB> <5AB>?>;>65=8O 87<5=8;8AL 8;8 =5 CAB0=>2;5=K[The map must be regenerated because the locations have changed or project's location no setcBaseMediaFile8=80BN@0 ThumbnailcBaseMediaFile5C?@02;O5<K9 UnmanagedcBaseMediaFile*5:B>@=>5 87>1@065=85 Vector imagecBaseMediaFile 845>VideocBaseMediaFileffDiaporama ffDiaporamacBaseMediaFile25AB>?>;>65=85 3;02K (%1)Chapter's location (%1)cBrushDefinitionPH81:0: <5AB>?>;>65=85 ?@>5:B0 =5 7040=> Error: Project's location no setcBrushDefinition65AB>?>;>65=85 ?@>5:B0 (%1)Project's location (%1)cBrushDefinitionADSL ?@8AB02:0ADSL BoxcDeviceModelList>?>;=8B5;L=>AdvancedcDeviceModelList=B5@=5B For the WEBcDeviceModelList3@>20O :>=A>;L Game consolecDeviceModelList HTML 5HTML 5cDeviceModelList6>@B0B82=0O 83@>20O :>=A>;LHandheld game consolecDeviceModelList"!60B85 157 ?>B5@LLosslesscDeviceModelListDC;LB8<5489=K9 65AB:89 48A: 8 H;N7!Multimedia hard drive and gatewaycDeviceModelList&C;LB8<5480 A8AB5<0Multimedia systemcDeviceModelList5B1C:/NetPC Netbook/NetPCcDeviceModelList ;55@PlayercDeviceModelList">@B0B82=K9 ?;55@Portable PlayercDeviceModelList SWF Flash PlayerSWF Flash PlayercDeviceModelList !<0@BD>= 8 ?;55@ SmartphonecDeviceModelList(;0=H5B=K9 :><?LNB5@Tablet computercDeviceModelListH!09BK 2845>->1<5=0 8 A>F80;L=K5 A5B8 Video-sharing and social WebSitecDeviceModelList=8<8@>20==K5Animated chapter titles cModelList=8<8@>20==K5Animated titles cModelList0720=85 3;02K Chapter title cModelList >;L7>20B5;LA:85Custom chapter titles cModelList >;L7>20B5;LA:85Custom credit titles cModelList >;L7>20B5;LA:85 Custom titles cModelList H81:0Error cModelListhH81:0 GB5=8O A>45@68<>3> D09;0 >1;>6:8 ?> C<>;G0=8N/Error reading content of default thumbnail file cModelList`H81:0 GB5=8O A>45@68<>3> D09;0 H01;>=0 =0720=89)Error reading content of title model file cModelListPH81:0 GB5=8O D09;0 >1;>6:8 ?> C<>;G0=8N$Error reading default thumbnail file cModelListHH81:0 GB5=8O D09;0 H01;>=0 =0720=89Error reading title model file cModelList;L1>< ?@>5:B0 Project album cModelList2B>@ ?@>5:B0Project author cModelList*><<5=B0@89 : ?@>5:BCProject comment cModelList 0720=85 ?@>5:B0 Project title cModelListT 538AB@0F8O H01;>=>2 =0720=89 3;02 (%1)...+Register Chapter title slide models (%1)... cModelListd 538AB@0F8O H01;>=>2 70:;NG8B5;L=KE B8B@>2 (%1)...*Register Credit title slide models (%1)... cModelListZ 538AB@0F8O H01;>=>2 =0720=89 ?@>5:B0 (%1)...+Register Project title slide models (%1)... cModelList> 538AB@0F8O H01;>=>2 >1;>65:...Register thumbnail models... cModelList(@>ABK5 157 0=8<0F88'Simple chapter titles without animation cModelList@>ABK5Simple credit titles cModelList(@>ABK5 157 0=8<0F88Simple titles without animation cModelList*0AB@>8BL A8=89 :0=0;Adjust blue channelwgt_QEditImageD0AB@>8BL @048CA @07<KB8O/@57:>AB8Adjust blur/sharpen radiuswgt_QEditImageB0AB@>8BL A83<C @07<KB8O/@57:>AB8Adjust blur/sharpen sigmawgt_QEditImage.0AB@>9:0 :>=B@0AB=>AB8Adjust contrastwgt_QEditImage@0AB@>8BL C@>25=L >15AF25G820=8OAdjust desaturat levelwgt_QEditImage0AB@>9:0 30<<K Adjust gammawgt_QEditImage.0AB@>8BL 75;5=K9 :0=0;Adjust green channelwgt_QEditImage"0AB@>9:0 O@:>AB8Adjust luminositywgt_QEditImage.0AB@>8BL :@0A=K9 :0=0;Adjust red channelwgt_QEditImageT0AB@>8BL 0<?;8BC4C 2>;=>2>9 B@0=AD>@<0F881Adjust value for amplitude of wave transformationwgt_QEditImageP0AB@>8BL G0AB>BC 2>;=>2>9 B@0=AD>@<0F881Adjust value for frequency of wave transformationwgt_QEditImagen0AB@>8BL 7=0G5=85 8<?;>788 (27@K2 =0?@02;5==K9 2=CB@L)'Adjust value for implode transformationwgt_QEditImageR0AB@>8BL 7=0G5=85 B@0=AD>@<0F88 :@CG5=8O%Adjust value for swirl transformationwgt_QEditImage:B828@>20BL D8;LB@ A3;06820=8O (A2545=85 : <8=8<C<C 0@B5D0:B>2 8A:065=8O).RAllows you to activate the antialias (minimizing the distortion artifacts) filter.wgt_QEditImage::B828@>20BL C3>;L=K9 D8;LB@.+Allows you to activate the charcoal filter.wgt_QEditImagel:B828@>20BL D8;LB@ C40;5=8O ?OB5= (?>402;5=8O HC<>2).>Allows you to activate the despeckle (Noise reduction) filter.wgt_QEditImage8:B828@>20BL D8;LB@ :>=BC@0.'Allows you to activate the edge filter.wgt_QEditImage::B828@>20BL D8;LB@ B8A=5=8O.)Allows you to activate the emboss filter.wgt_QEditImagex:B828@>20BL D8;LB@ 2K@02=820=8O (2K@02=820=85 38AB>3@0<<K).DAllows you to activate the equalize (Histogram equalization) filter.wgt_QEditImaged:B828@>20BL D8;LB@ 3@040F88 A5@>3> (G5@=>-15;K9).20BL D8;LB@ =530B820.+Allows you to activate the negative filter.wgt_QEditImageB:B828@>20BL D8;LB@ =>@<0;870F88.,Allows you to activate the normalize filter.wgt_QEditImage<:B828@>20BL <0A;O==K9 D8;LB@.+Allows you to activate the oilpaint filter.wgt_QEditImage^>72>;O5B 7040BL 2KA>BC. -B> 7=0G5=85, 2K@065==>5 2 ?@>F5=B0E (%) >B 8AE>4=>9 2KA>BK 87>1@065=8O. @8<5@: 5A;8 2KA>B0 = 33 %, :04@8@>20==>5 87>1@065=85 A>AB028B 1/3 >@838=0;0.Allows you to define the height. This value is expressed as a percentage (%) of the original height of the image. Example: if Height=33 %, the re-framed image will represent 1/3 of the original.wgt_QEditImage>72>;O5B 7040BL 3>@87>=B0;L=>5 ?>;>65=85 >B ;52>3> :@0O (X). -B> ?>;>65=85, 2K@065==>5 2 ?@>F5=B0E (%) >B H8@8=K 87>1@065=8O. 0?@8<5@: 5A;8 % = 25 %, B> ;520O G5B25@BL 87>1@065=8O 1C45B >1@570=0.Allows you to define the horizontal position from the left (X). This position is expressed as a percentage (%) of the width of the image. Example: if X=25 % then the 1st quarter to the left of the image is eliminated.wgt_QEditImage>72>;O5B 7040BL 25@B8:0;L=>5 ?>;>65=85 >B 25@E=53> :@0O (Y). -B> ?>;>65=85, 2K@065==>5 2 ?@>F5=B0E (%) >B 2KA>BK 87>1@065=8O. 0?@8<5@: 5A;8 Y = 25 %, B> 25@E=OO G5B25@BL 87>1@065=8O 1C45B >1@570=0.Allows you to define the vertical position from the top of the image ( Y ). This position is expressed as a percentage (%) of the height of the image. Example: if Y=25 % the 1st quarter at the top of the image is eliminated.wgt_QEditImage^>72>;O5B 7040BL H8@8=C. -B> 7=0G5=85, 2K@065==>5 2 ?@>F5=B0E (%) >B 8AE>4=>9 H8@8=K 87>1@065=8O. @8<5@: 5A;8 H8@8=0 = 33 %, :04@8@>20==>5 87>1@065=85 A>AB028B 1/3 >@838=0;0.Allows you to define the width. This value is expressed as a percentage (%) of the original width of the image. Example: if Width=33 %, the re-framed image will represent 1/3 of the original.wgt_QEditImageB>72>;O5B 2K1@0BL B8? :04@8@>20=8O 87 ?@54>?@545;5==>3> A?8A:0.  A>>B25BAB288 A D>@<0B>< 87>1@065=8O, 20< 1C4CB 4>ABC?=K @07;8G=K5 20@80=BK. 04@8@>20=85 ?>4@0745;O5BAO =0 A;54CNI85 :0B53>@88: - ;>:8@>2:0 35><5B@88 ?@>5:B0: 7=0G05B, GB> ?@O<>C3>;L=8: 2K45;5=8O ?@8 :04@8@>20=88 87>1@065=8O 1C45B B>9 65 35><5B@88, GB> 8 A0< ?@>5:B. A;8 2K >B:@>5B5 87>1@065=85 2 ?>;=>M:@0==>< @568<5, B> 2K1@0==0O G0ABL 1C45B A>>B25BAB2>20BL 2A5<C M:@0=C. - ;>:8@>2:0 35><5B@88 87>1@065=8O: 7=0G05B, GB> ?@O<>C3>;L=8: 2K45;5=8O ?@8 :04@8@>20=88 87>1@065=8O 1C45B B>9 65 35><5B@88, GB> 8 87>1@065=85. - 57 >3@0=8G5=89: 7=0G05B, GB> : ?@O<>C3>;L=8:C 2K45;5=8O ?@8 :04@8@>20=88 87>1@065=8O =5 ?@8<5=ONBAO >3@0=8G5=8O. - ;>:8@>2:0 35><5B@88: 7=0G05B, GB> ?@O<>C3>;L=8: 2K45;5=8O ?@8 :04@8@>20=88 87>1@065=8O 1C45B B>9 65 35><5B@88, GB> 8 2 =0AB>OI55 2@5<O. -B> 8<55B A<KA; B>;L:> :>340 D>@<0 1K;0 >?@545;5=0 2 @568<5 "157 >3@0=8G5=89".Allows you to select a framing from a list of predefined framings. According to the image format, various choices will be proposed to you. The framings are classified in different categories: - Lock on the project geometry: Lock the image framing selection rectangle to the same geometry as the project. If you place the image in full screen, the reframed part will correspond to the whole screen. - Lock on the image geometry: Lock the image framing selection rectangle to the same geometry as the image. - No constraint: No constraint is applied to the image framing selection rectangle. - Lock on this geometry: Lock image framing selection rectangle to the actual geometry. This only has meaning when a shape has been defined in "no constraint" mode.wgt_QEditImage&0AB@>9:8 0=8<0F88:Annimation settings:wgt_QEditImage!3;06820=85 Antialiaswgt_QEditImage.%C4>65AB25==K5 MDD5:BK:Artistic effects:wgt_QEditImageB2B>:>=AB@0AB=>ABL (=>@<0;870F8O)Automatic contrast (normalize)wgt_QEditImage 8AC=>: C3;5<Charcoalwgt_QEditImage #;CGH5=85 F25B0:Color enhancement:wgt_QEditImage"?@545;8BL 2KA>BCDefine the heightwgt_QEditImageB?@545;8BL C3>; 2@0I5=8O ?> >A8 z(Define the rotation angle for the z axiswgt_QEditImage"?@545;8BL H8@8=CDefine the widthwgt_QEditImageJ040BL A:>@>ABL 0=8<0F88 87>1@065=89.)Defined speed curve for image animations.wgt_QEditImage#40;5=85 ?OB5= Despecklewgt_QEditImage >=BC@Edgewgt_QEditImage"8A=5=85Embosswgt_QEditImageK@02=820=85Equalizewgt_QEditImage1KAB@K9Fastwgt_QEditImage*04@8@>20=85 8 D>@<0:Framing and form:wgt_QEditImage$@07<KB85 ?> 0CAACGaussianwgt_QEditImageBB5=:8 A5@>3> Grayscalewgt_QEditImage,A:065=85 87>1@065=8O:Image distortion:wgt_QEditImage,#;CGH5=85 87>1@065=8O:Image enhancement:wgt_QEditImage(>2>@>B 87>1@065=8O:Image rotation:wgt_QEditImage>/@:>ABL, :>=B@0AB=>ABL 8 30<<0:Luminosity, contrast and gamma:wgt_QEditImage6<O D09;0 87>1@065=8O/2845>Name of image/video filewgt_QEditImage530B82Negativewgt_QEditImage 8AC=>: <0A;><Oilpaintwgt_QEditImage!1@>A8BL =0 1 Reset to 1wgt_QEditImage!1@>A8BL =0 5 Reset to 5wgt_QEditImage!1@>A8BL =0 0 Reset to zerowgt_QEditImage6K1@0BL D>@<C 40==>3> 1;>:0$Select a shape for the current blockwgt_QEditImage&K1@0BL 4@C3>9 D09;Select another filewgt_QEditImageFK15@8B5 0;3>@8B< @07<KB8O/@57:>AB8!Select the blur/sharpen algorythmwgt_QEditImage!:>@>ABL: Speed wave:wgt_QEditImageH>25@=CBL 87>1@065=85 2;52> (=0 90)9Turn the image to the left (on the next multiple of 90°)wgt_QEditImageJ>25@=CBL 87>1@065=85 2?@02> (=0 90):Turn the image to the right (on the next multiple of 90°)wgt_QEditImage"8?:Type:wgt_QEditImage>78F8O 2845> :Video position :wgt_QEditImage:B828@>20BL D8;LB@ CAB@0=5=8O G5@5AAB@>G=>AB8 (458=B5@;59A8=30)-Allows you to activate the deinterlace filterwgt_QEditVideo0#:070BL :>=5G=CN ?>78F8NDefine the end position to usewgt_QEditVideo2#:070BL AB0@B>2CN ?>78F8N Define the start position to usewgt_QEditVideo@#AB@0=5=85 G5@57AB@>G=>AB8 2845>Deinterlace videowgt_QEditVideo&@>4>;68B5;L=>ABL : Duration :wgt_QEditVideo>=5F :End :wgt_QEditVideo&5@5<5AB8BL 2 :>=5FMove to end positionwgt_QEditVideo(5@5<5AB8BL 2 =0G0;>Move to start positionwgt_QEditVideo0K1@0BL 3@><:>ABL D8;L<0*Select the " Master Volume " for the moviewgt_QEditVideo0G0;>:Start :wgt_QEditVideoRA?>;L7>20BL B5:CICN ?>78F8N :0: :>=5G=CN$Use current position as end positionwgt_QEditVideoTA?>;L7>20BL B5:CICN ?>78F8N :0: AB0@B>2CN&Use current position as start positionwgt_QEditVideo@><:>ABL :Volume :wgt_QEditVideo.>1028BL <5AB>?>;>65=85Add a location wgt_QGMapsMap:>1028BL <5AB>?>;>65=85 3;02KAdd chapter's location wgt_QGMapsMap>>1028BL <5AB>?>;>65=85 ?@>5:B0Add project's location wgt_QGMapsMap 4@5AAddress wgt_QGMapsMap&25B D>=0:Background color: wgt_QGMapsMap C7K@LBubble wgt_QGMapsMap@C3Circle wgt_QGMapsMap!>45@68<>5: Composition: wgt_QGMapsMapTK15@8B5 D>@<C 4;O >B>1@065=8O GPS ?>78F88"Define a form for the GPS position wgt_QGMapsMap,K15@8B5 D>@<C <0@:5@0Define a form for the marker wgt_QGMapsMap\K15@8B5 @07<5@ A>740205<>3> 87>1@065=8O :0@BK2Define the size of the image generated for the map wgt_QGMapsMap*K15@8B5 @07<5@ :0@BKDefine the size of the map wgt_QGMapsMapNK15@8B5 @07<5@ <0@:5@0 8 GPS ?>;>65=8O2Define the size of the marker and the GPS position wgt_QGMapsMap$K15@8B5 B8? :0@BKDefine the type of the map wgt_QGMapsMaplK15@8B5 2848<>ABL <0@:5@0: 2848<, ?>;C2848< 8;8 A:@KBADefined if the marker is visible, half-visible (masked) or hidden wgt_QGMapsMapVK15@8B5 8=D>@<0F8N, >B>1@0605<CN 2 <0@:5@58Defined what information will be displayed in the marker wgt_QGMapsMapK15@8B5 345 ?>:07K20BL <0@:5@ (@0AAB>O=85 <564C <0@:5@>< 8 GPS ?>78F859)ZDefined where to display the marker (the distance between the marker and the GPS position) wgt_QGMapsMaptK15@8B5 F25B D>=0 <0@:5@0, GPS ?>78F88 8 G0AB8 <564C =8<8fDefines the color of the background of the marker, of the GPS position and of the part between the two wgt_QGMapsMap*K15@8B5 F25B 3@0=8FKDefines the color of the border wgt_QGMapsMap(K15@8B5 F25B B5:AB0Defines the color of the text wgt_QGMapsMap 0AAB>O=85: Distance: wgt_QGMapsMapB%>B8B5 2:;NG8BL <0@:5@K =0 :0@B5?+Do you want include the markers on the map? wgt_QGMapsMap>7<5=8BL B5:CI55 <5AB>?>;>65=85Edit current location wgt_QGMapsMap 0;5:>Far wgt_QGMapsMap$$>@<0 GPS ?>78F88:GPS Position form: wgt_QGMapsMap !:@KBLHide wgt_QGMapsMap3@><=K9Huge wgt_QGMapsMap =0G>:Icon wgt_QGMapsMap=0G>:+0720=85 Icon+Name wgt_QGMapsMap*=0G>:+0720=85+4@5AIcon+Name+Address wgt_QGMapsMap& 07<5@ 87>1@065=8O: Image size: wgt_QGMapsMap>;LH>9Large wgt_QGMapsMap&25B ;8=89: Line color: wgt_QGMapsMap5AB>?>;>65=8O Localizations wgt_QGMapsMap5AB>?>;>65=85Location wgt_QGMapsMap 07<5@ :0@BK: Map size: wgt_QGMapsMap"8? :0@BK: Map type: wgt_QGMapsMap$>@<0 <0@:5@0: Marker form: wgt_QGMapsMap>;C2848<K9Masked wgt_QGMapsMap!@54=89Medium wgt_QGMapsMap0720=85Name wgt_QGMapsMap0720=85+4@5A Name+Address wgt_QGMapsMap ;87:>Near wgt_QGMapsMap>@<0;L=>Normal wgt_QGMapsMap ">G:0Point wgt_QGMapsMap0!2>9AB20 4;O 2A5E :04@>2Properties for all shots wgt_QGMapsMap(!2>9AB20 MB>3> :04@0Properties for this shot wgt_QGMapsMap@O<>C3>;L=8: Rectangle wgt_QGMapsMap<#40;8BL B5:CI55 <5AB>?>;>65=85Remove current location wgt_QGMapsMap 07<5@:Size: wgt_QGMapsMap0;5=L:89Small wgt_QGMapsMap&25B B5:AB0: Text color: wgt_QGMapsMapdA?>;L7>20BL Google Maps 4;O 2K1>@0 <5AB>?>;>65=8O$Use Google Maps to select a location wgt_QGMapsMap848<>ABL: Visibility: wgt_QGMapsMap>:070BLVisible wgt_QGMapsMap^0AB@>8BL @568< >B>1@065=8O 8 D8;LB@0F88 D09;>2&Adjust display mode and file filteringwgt_QMultimediaBrowser85@=CBLAO 2 ?@54K4CICN ?0?:CChange to previous folderwgt_QMultimediaBrowser5@59B8 225@EChange to upper folderwgt_QMultimediaBrowser84Formwgt_QMultimediaBrowser*1=>28BL A?8A>: ?0?>:Refresh folder tablewgt_QMultimediaBrowser8K1@0==>5 =5 A>45@68B ?0?>:.$The selection can't include folders.wgt_QMultimediaBrowser>4@>1=>Use Detail view in browserwgt_QMultimediaBrowser =0G:8Use Icon view in browserwgt_QMultimediaBrowser71@0==>5Use or manage favorite pathwgt_QMultimediaBrowser06<8B5 4;O 2>A?@>872545=8O, =06<8B5 5I5 @07, GB>1K >AB0=>28BL 2845>3Click to start play, click again to pause the moviewgt_QVideoPlayer*0E20B8BL 87>1@065=85Save this image of the moviewgt_QVideoPlayer=48:0B>@ ?>72>;O5B ?5@5<>B0BL 2845> =0 >?@545;5==K9 <><5=B 2@5<5=8. @8<5G0=85: 4;8=0 ;8=59:8 C25;8G8205BAO ?@>?>@F8>=0;L=> ?@>4>;68B5;L=>AB8 2845>. !8=OO G0ABL A>>B25BAB2C5B 2K45;5==><C =0 H:0;5 2@5<5=8 D@03<5=BC. The progress bar allows you to set the video display to a specific position. Remark : The length of the ruler is increased in proportion to the duration of the video. The blue part represents the part of the video which is selected (which will be used in the assembly).wgt_QVideoPlayer ) , ffDiaporama/locale/ffDiaporama_pt.ts0000777000175000001440000214307512275647345017765 0ustar dominiqueusers CommonInfoMsg Select a file Seleccione um ficheiro DlgAbout Licence Licença This software is licensed under the GPL version 2 : Este software é licenciado sob a GPL versão 2: Credits Créditos Texturemate Textura mate Translation Tradução Note: If you want to help us or by completing an incomplete translation, or by translating the application into another language, do not hesitate to contact us on the forum. Nota: Se você quiser nos ajudar ou através do preenchimento de uma tradução incompleta, ou para traduzir o aplicativo para outro idioma , não hesite em contactar-nos no fórum. Changelog &Ok &Ok Interface translation version: Interface, versão de tradução: to translate Por traduzir WIKI translation version: WIKI versão de tradução: DlgApplicationSettings Application settings Configurações da aplicação Project geometry: Geometria do projecto: 1st shot duration: Duração 1º disparo: Next shot duration: Duração próximo disparo: Application Options Opções da Aplicação Remember last used folders Lembrar de últimas pastas usadas Application options Opções da aplicação Frame rate : Relação de quadros: fps (Reduce this value for slow computer) qps (Reduzir este valor para computador lento) Object position : Posição do objecto: Insert after current object Insere depois do corrente objecto Append at project end Acrescentar no final do projeto Video cropping : Recorte de vídeo: Define the transition duration Defina a duração da transição sec seg Ask user confirmation to remove slide, object or shot Pergunte a confirmação do utilizador para remover slide, objeto ou disparo Object deletion : Apagar objecto: Coordinates unit : Coordenadas- unidade: Percent Percentagem Pixel Pixel Enable "raster" Graphics System (Need application restart) Habilitar "raster" Sistema Gráfico (Precisa reiniciar o aplicativo) Automatically crop 1920x1088 video to 1920x1080 Cortar automaticamente vídeo 1920x1088 para 1920x1080 SDL Audio use old mode SDL Audio usar o modo antigo 256 Mb 256 Mb 512 Mb 512 Mb 1 Gb 1 Gb 2 Gb 2 Gb Memory profil : Perfil da memória: Remember size and position of windows Lembrar tamanho e posição das janelas <html><head/><body><p><br/>Preview options</p></body></html> <html><head/><body><p><br/>Opções de visualização</p></body></html> Image smoothing : Suavização da imagem: Smooth image during preview Imagem suave durante a visualização Activate deinterlace filter when add new MTS videos Activar filtro desinterlaçar quando adicionar novos vídeos MTS Video deinterlacing : Desentrelaçamento de vídeo: Project Options Opções do Projecto Project properties (default values) Propriedades do Projeto (valores predefinidos) Old TV (4:3) TV antiga (4:3) TV Wide (16:9) TV Ampla (16:9) Cinema (2.35:1) Cinema (2.35:1) (Only for new project) (Sómente para novos projectos) Default transition: Transição pré definida: Set the default type of transition to be inserted between slides to: Randomly from the transition library Defina o tipo predefinido de transição para ser inserido entre os slides para: Aleatoriamente a partir da biblioteca de transição Set the default type of transition to be inserted between slides to: No transition Defina o tipo predefinido de transição para ser inserido entre os slides para: Sem transição Set the default type of transition to be inserted between slides to: Crossfade transition Defina o tipo predefinido de transição para ser inserido entre os slides para: Transição Crossfade Text Texto Background Fundo Coordinates Coordenadas Default options for new image or video block (when creating slide) Opções predefinidas para imagem ou bloco vídeo (quando criar slide) Text style Estilo do texto Shape Forma Title : Título: <html><head/><body><p><br/>Project options (default values)</p></body></html> <html><head/><body><p><br/>Opções de projeto (valores predefinidos)</p></body></html> Author : Autor: No automatic filling Sem preenchimento automático The Application options tab allows to define the general behavior of ffDiaporama. O separador Opções da Aplicação permite definir o comportamento geral do ffDiaporama. This option allows you to adjust the positions occupied by new objects inserted into the timeline. - If Insert after the current selected object is selected, then the new slides will be created after the current slide. - If Append to the end of the project is selected, then the new slides will be created at the end of the project. Esta opção permite ajustar as posições ocupadas pelos novos objetos inseridos no cronograma. - Se Inserir após o objeto actualmente seleccionado estiver selecionado, os novos slides serão criados após o slide atual. - Se Adicionar ao final do projeto é selecionado, então os slides serão criados novos no final do projeto. if this box is checked, old setting mode is use for SDL Audio. This option is useful on some Linux distribution which still use the old SDL packages (For example: Ubuntu 10.10 and 11.04, Fedora 14 and 15, etc.). Se esta caixa estiver marcada, o modo de configuração antiga é usada para SDL Audio. Esta opção é útil em alguma distribuição Linux, que ainda usam os pacotes antigos do SDL (Por exemplo: Ubuntu 10.10 e 11.04, Fedora 14 e 15, etc.). If this box is checked, the directories for images, videos, projects, music and the generation of your movie will be saved and reused the next time you use ffDiaporama. Se esta opção estiver marcada, os diretórios para imagens, vídeos, projetos, música e geração de seu filme serão salvas e reutilizadas na próxima vez que você usa ffDiaporama. If the Automatically crop 1920×1088 video to 1920×1080 is checked then video images are automatically cropped. Remark: Some manufacturers produce FullHD videos 1920×1088 rather than 1920×1080. They make it to accelerate the encoding which is faster with a multiple of 16 lines. But this size is not 16:9. To keep the whole image, not only the image is deformed to fit into the screen but besides black bands appear on the sides. To avoid all these problems, by checking this box, these videos are truncated to be returned to the 1920×1080 sizes. Then 4 lines are cut at the top and bottom. Se na opção Recorte de vídeo - Cortar automaticamente vídeo de 1920 × 1088 para 1920 × 1080, estiver marcada, então as imagens de vídeo são automaticamente cortadas. Nota: Alguns fabricantes produzem vídeos FullHD 1920 × 1088 em vez de 1920 × 1080. Eles tendem a acelerar a codificação que é mais rápida com um múltiplo de 16 linhas. Mas este tamanho não é de 16:9. Para manter a imagem inteira, não apenas a imagem é deformada para caber na tela, mas, também aparecem faixas pretas nas laterais. Para evitar todos esses problemas, marcando esta caixa, estes vídeos serão truncados para serem devolvidos aos tamanhos 1920 × 1080. Em seguida, 4 linhas são cortadas na parte superior e inferior. If this box is checked, the image smoothing effect will be applied to the images during the preview. Remark: This effect consumes lots of resources and can result in slow preview on small machines. Unchecking this box allows then to keep a fluid preview. Se esta opção estiver marcada, o efeito de suavização da imagem será aplicada às imagens durante a visualização. Observação: Este efeito consome muitos recursos e pode resultar em visualização lento em máquinas pequenas. Desmarcar esta caixa permite, então para manter uma pré-visualização fluída. This option allows to select the unit for the coordinates which will be used in the properties dialog. You can choose: - Percentage: Coordinates (X, Y, Width and Height) are expressed in percentages - Pixel: Coordinates (X, Y, Width and Height) are expressed in pixels relative to a screen in 1080p mode Esta opção permite seleccionar a unidade para as coordenadas que serão utilizados no diálogo das propriedades. Você pode escolher: - Percentagem: Coordenadas (X, Y, largura e altura) são expressos em percentagens - Pixel: Coordenadas (X, Y, largura e altura) são expressos em pixels em relação a uma tela no modo 1080p If the Activate deinterlace filter when add new MTS videos is checked, deinterlace filter will automatically be activated for all .mts videos added to the project. Remark: Some manufacturers produce videos using interlaced mode. They make it to accelerate the encoding. The problem is it deforms the image on which moved lines appear. For more information on interlaced video, see Wikipedia page on interlaced video. Se Activar filtro desinterlaçar quando adicionar novos vídeos MTS estiver marcado , o filtro de desentrelaçamento será activado para todos os vídeos mts adicionados ao projecto. Nota: Alguns fabricantes produzem vídeos usando o modo entrelaçado. Eles fazem a acelerar a codificação. O problema é que ela deforma a imagem em que as linhas movidas aparecem. Para mais informações sobre o vídeo entrelaçado, consulte a página da Wikipedia sobre vídeo entrelaçado. Defines the number of images per second which will be generated to show the preview. Note: the higher this number, the more smooth the preview will be. On the other hand, more computer resources will be required. Reduce this number on slow computers or if the gauge for your multimedia reader is frequently in the red zone. Define o número de imagens por segundo que serão gerados para mostrar duarante a previsualização. Nota: Quanto maior for esse número, mais suave será a visualização. Por outro lado, mais recursos do computador serão necessários. Reduzir este número em computadores lentos ou se o medidor para o seu leitor multimédia está muitas vezes na zona vermelha. If this box is checked, the graphic system "raster" is used instead of the default graphic system. This option is used only at application start up. The "raster" Graphics accelerates the display but can raise problems on some computer in particular with KDE. Se esta opção estiver marcada, o sistema gráfico "raster" é usado em vez do sistema gráfico padrão. Esta opção é usada apenas quando a aplicação iniciar. O "raster" Graphics acelera a exibição, mas pode levantar problemas em alguns computadores, em especial com o KDE. If this box is checked, a confirmation prompt will be displayed every time you remove an object: - A slide from the main window -A shot or block from the slide properties dialog box Se esta opção estiver marcada, uma mensagem de confirmação será exibida cada vez que você remover um objeto: - Um slide a partir da janela principal - Um disparo ou bloco da caixa de diálogo Propriedades de slides If this box is checked, the sizes and the positions of all windows and dialogs will be saved and reused the next time you use ffDiaporama. Se esta caixa estiver marcada, os tamanhos e as posições de todas as janelas e diálogos serão salvas e reutilizadas na próxima vez que você usa ffDiaporama. Defines the frequency of the sound generated to show the preview. Define a frequência do som gerado para mostrar durante a previsualização. (Reduce this value for slow computer) (Reduzir este valor para computadores lentos) Max video preview height : Altura de visualização de vídeo máxima: Sets the maximum height of videos used for the preview. Beyond this height, the videos are automatically reduced for creating images. Define a altura máxima dos vídeos utilizados para a visualização. Para além desta altura, os vídeos são reduzidos automaticamente para a criação de imagens. If this box is checked, tooltips will no longer appear in dialog boxes (only what's this will be available). Se esta opção estiver marcada, as dicas não aparecerão mais nas caixas de diálogo (somente quando estão disponíveis). Disable tooltips in dialog box Desativar dicas das caixas de diálogo The Project options tab allows to define the options by default of the current project and for the new projects. O separador Opções do Projeto permite definir as opções por padrão do projeto atual e para os novos projetos. Sets the default speed curve for the blocks animations of new projects Define a curva de velocidade padrão para as animações de blocos de novos projetos Allows to Select the geometric constraint applied to the new text blocks. - Unlock: The shape of the block is free - Lock to project geometry: The shape of the block has the same shape as the image Permite seleccionar a restrição geométrica aplicada aos novos blocos de texto. - Desbloquear: A forma do bloco é livre - Bloquear a geometria projecto: A forma do bloco tem a mesma forma que a imagem Selects the image geometry to be used for the creation of projects. Three geometries are available : - 4:3 : Corresponds to an old TV with (almost) square screen - 16:9 : Corresponds to a modern TV with rectangular screen - 2.35:1 : Corresponds to the Cinema format (on a TV, this format will use black strips at the top and below.) Note: the geometry of a project is defined once and for all when it is created. It is not possible to modify it afterwards. Selecciona a geometria da imagem a ser usada para a criação de projectos. Três geometrias estão disponíveis: - 4:3: Corresponde a uma TV velha, com (quase) tela quadrada - 16:9: Corresponde a uma TV moderna com tela retangular - 2,35:1: Corresponde ao formato de cinema (num televisor, este formato irá usar tiras pretas na parte superior e inferior.) Nota: a geometria de um projeto é definido de uma vez por todas, quando ele é criado. Não é possível modificá-lo depois. Fill with project name when project save (if not yet defined) Preenche com o nome do projeto quando salvar o projeto (se ainda não foi definido) Fill with project folder name when project save (if not yet defined) Preenche com o nome da pasta quando salvar o projeto (se ainda não foi definido) Sets the default speed curve for the image effects animations of new projects Define a curva de velocidade padrão para efeitos de animações de imagem de novos projetos Allows to select, for every project geometry, the style of the location applied to the new text blocks. This style defines the size, the coordinates, the rotations and the geometrical constraint. Permite seleccionar, para cada geometria do projeto, o estilo do local aplicado aos novos blocos de texto. Esse estilo define o tamanho, as coordenadas, as rotações e a restrição geométrica. Defines the default duration of further shots. Define a duração padrão de disparos adicionais. Framing styles define how to crop the image to make it compatible with the block in which is displayed. Estilos de enquadramento define a forma como cortar a imagem para torná-lo compatível com o bloco em que é exibido. The positioning styles define the the size, coordinates, rotations and geometric constraint to apply to blocks. Os estilos de posicionamento definem o tamanho, coordenadas, rotações e restrição geométrica para aplicar em blocos. Allows to select the characters style applied to the text of the blocks. This style defines the font, its size, its color and the shadow effects applied to the text. Remark: This setting apply to all image formats. Permite seleccionar o estilo de caracteres aplicada ao texto dos blocos. Este estilo define a fonte, seu tamanho, sua cor e os efeitos de sombra aplicada ao texto. Observação: Esta configuração aplica-se a todos os formatos de imagem. Allows to select the style of the shape applied to the new text blocks. This style defines the shape (rectangle, circle, …), the border, the opaqueness and the shadow effect applied to the block. Remark: This setting apply to all image formats. Permite seleccionar o estilo da forma aplicada aos novos blocos de texto. Este estilo define a forma (rectângulo, círculo, ...), a bordadura, a opacidade e o efeito de sombra aplicada ao bloco. Observação: Esta configuração aplica-se a todos os formatos de imagem. Default language : Idioma padrão: Allows to select the characters style applied to the new text blocks. This style defines the font, its size, its color and the shadow effects applied to the text. Permite seleccionar o estilo de caracteres aplicada aos novos blocos de texto. Este estilo define a fonte, o seu tamanho, a sua cor e os efeitos de sombra aplicada ao texto. Defines the default value for the field Language Define o valor padrão para o campo Idioma und ind (ISO 639 language code) (Código de idioma ISO 639) Locking Bloqueio Sound sample rate : Taxa de amostragem do som: Hz (Reduce this value for slow computer) Hz (Reduzir este valor para computador lento) <html><head/><body><p><br/>Default options for speed wave</p></body></html> <html><head/><body><p><br/>Opções predefinidas para a velocidade da onda</p></body></html> Block animation: Animação do Bloco: Transition: Transição: Photo landscape Foto paisagem Image landscape Imagem paisagem Coordinates: Coordenadas: Video landscape Vídeo paisagem Photo portrait Foto retrato Framing: Enquadramento: Video portrait Video retrato image portrait Imagem retrato <html><head/><body><p>Defines the quantity of memory used as cache memory by ffDiaporama. This parameter is important because it allows to adapt ffDiaporama to your hardware.</p></body></html> <html> <head/> <body> <p> Define a quantidade de memória utilizada como memória cache do ffDiaporama. Este parâmetro é importante porque permite adaptar o ffDiaporama para o seu hardware..</p></body></html> Image animation: Animação de Imagem: Defines the automatic filling method to use for the title's project properties: - No automatic filling : You will have to define manually the title - Fill with project name when project save : The title will take the same name as the .ffd file - Fill with project folder name when project save : The title will take the same name as the folder where the file .ffd is saved Note: this field is limited to 30 characters to remain compatible with jukebox Define o método de preenchimento automático a ser usado para o título nas propriedades do projeto : - Năo preenchimento automático: Você terá que definir manualmente o título - Preencher com o nome do projeto quando o salvar o projeto : O título terá o mesmo nome que o arquivo .ffd. - Preencher com o nome da pasta do projeto quando salvar o projeto : O título terá o mesmo nome da pasta onde o arquivo .ffd será salvo . Nota: este campo é limitado a 30 caracteres para ficar compatível com jukebox <html><head/><body><p>This group of settings applies to the new image or video blocks created from the main window by means of the <img src=":/img/add_image.png"/> button.<br><br>For every image format and every project geometry select the style of location to applied to the new blocks. <br>- Framing styles define how to crop the image to make it compatible with the block in which is displayed.<br>- The positioning styles define the the size, coordinates, rotations and geometric constraint to apply to blocks.</p></body></html> <html><head/><body><p>Este grupo de definições aplica-se aos novos blocos de imagem ou video criados a partir da janela principal por meio de <img src=":/img/add_image.png"/> botão.<br><br>Para cada formato de imagem e cada geometria do projeto, selecione o estilo de localização para ser aplicado aos novos blocos. <br>- Estilos de enquadramento definem a forma como cortar a imagem para torná-lo compatível com o bloco em que é exibido.<br>- Os estilos de posicionamento definem o tamanho, coordenadas, rotações e restrição geométrica para aplicar a blocos.</p></body></html> Sets the default speed wave for the transitions of new projects Define a onda de velocidade padrão para as transições de novos projetos Defines the default duration of the first shot for slides during their creation. Define a duração padrão do primeiro disparo para os slides durante a sua criação. Short date format : Formato de data abreviada: <html><head/><body><p><br/>Various options</p></body></html> <html><head/><body><p><br/>Várias opções</p></body></html> Offer to open the download Web page when a new version is available Ofereçe-se para abrir a página de download da Web quando uma nova versão está disponível Editor options (when adding objects) Opções de edição (quando adicionar objetos) This option allows you to specify the format in which computed dates are displayed. Esta opção permite que você especifique o formato em que datas computadas são exibidas. If this box is checked, a dialog box will appear at startup the next time a new version will be available. Se esta opção estiver marcada, uma caixa de diálogo aparecerá na inicialização da próxima vez que uma nova versão estiver disponível. Distance unit : Distância, unidades : This option lets you specify the unit to be used for distances. Esta opção permite-lhe especificar a unidade a ser usada para as distências. Kilometers Quilómetros Miles Milhas Proxy address : Endereço de proxy: <html><head/><body><p><br/>Network settings</p></body></html> <html><head/><body><p><br/>Configurações de rede</p></body></html> Check this box if your network requires that you use a proxy Marque esta caixa se a sua rede exige que você use um proxy Use a proxy to access the Internet Use um proxy para aceder à Internet Enter address of the proxy host Digite o endereço do anfitrião do proxy Enter the port number to access the proxy or nothing to use default port Digite o número da porta para aceder ao proxy ou nada para usar a porta padrão Proxy port : Porta de proxy: Login : Login : Password : Senha: Enter the login name to access the proxy or nothing if no login is required Digite o nome de login para aceder ao proxy ou nada se nenhum login é necessário Enter the login password to access the proxy or nothing if no login is required Digite a senha de login para aceder ao proxy ou nada se nenhum login é necessário Allows to select the style of the shape to applied to the new text blocks. This style defines the shape (rectangle, circle, …), the border, the opaqueness and the shadow effect applied to the block. Permite seleccionar o estilo da forma para ser aplicada aos novos blocos de texto. Este estilo define a forma (rectângulo, círculo, ...), a bordadura, a opacidade e o efeito de sombra aplicada ao bloco. Allows to select the style of background applied to the new text blocks. This style defines the transparency of the block and its filling. Permite seleccionar o estilo de plano de fundo aplicado aos novos blocos de texto. Esse estilo define a transparência do bloco e o seu preenchimento. <html><head/><body><p>This group of settings applies to the new text blocks created in slide dialogue by means of the <img src=":/img/add_text.png"/> button.</p></body></html> <html><head/><body><p>Este grupo de definições aplica-se aos novos blocos de texto criados no diálogo deslizante por meio de <img src=":/img/add_text.png"/> botão.</p></body></html> Default options for new text block Translation not reflected on ffdiaporama (after realeas as...) Opções predefinidas para novo bloco de texto Default options for new image or video block (when adding block in slide dialog) Translation not reflected on ffdiaporama (after realeas as...) Opções predefinidas de bloco de imagem ou vídeo (ao adicionar bloco na caixa de diálogo do slide) For more compatibility with the standard id3v2, check this box to limit Title, Author and Album fields to 30 characters Para mais compatibilidade com o padrão id3v2, marque esta caixa para limitar campos Album Título e, Autor a 30 caracteres Enhance id3v2 comptatibility Melhoramento compatibilidade id3v2 Default thumbnail : Miniatura padrão : Defines the model use as default thumbnail Define o uso do modelo como miniatura padrão Album : Album : Defines the default value for the field Album Note: this field is limited to 30 characters to remain compatible with jukebox Define o valor padrão para o campo Album Nota: este campo é limitado a 30 caracteres para permanecer compatível com jukebox Rendering Options Opções de Renderização The Rendering options Tab allows to define the options used by default during the generation of videos. Separador Opções de renderização permite definir as opções usadas por padrão durante a geração de vídeos. This option allows to select the name which will be proposed by default during the rendering of videos. This option can be applied only if the project was saved at first. Use project name as video name: If the project name is assembly.ffd, then assembly will be the proposed name Use project folder's name as video name: If the project name is assembly.ffd and is saved in the My holidays 2011 directory, then My holidays 2011 will be the proposed name Use title project as video name: Use the title defined in the project properties as the name of video Esta opção permite seleccionar o nome que será proposto por padrão durante o processamento de vídeos. Esta opção só pode ser aplicado se o projeto foi salvo em primeiro lugar. Usar o nome do projeto como nome do vídeo: Se o nome do projeto é "montagem.ffd", então, "montagem" será o nome proposto Usar o nome da pasta como nome do vídeo: Se o nome do projeto é "montagem.ffd" e é salvo na pasta "As Minha ferias 2011" , então "as minhas férias 2011" será o nome proposto Usar o título do projecto como nome do vídeo: Usa o título pré-definido nas propriedades do projeto, como o nome do vídeo Default soundtrack rendering options Trilha sonora predefinida - opções de renderização Default advanced rendering options Avançado predefinido - opções de renderização Show help about this dialogue box Visualizar ajuda sobre esta caixa de diálogo &Help &Ajuda Select the default bit rate to use for video during the rendering Selecione a taxa de bits padrão para usar em vídeo durante a renderização Select the default video codec to use for the rendering Selecione codec de vídeo padrão para usar para a renderização Select the default audio codec to use for the rendering Selecione codec de audio padrão para usar para a renderização Select the default bit rate to use for audio during the rendering Selecione a taxa de bits padrão para usar em audio durante a renderização Select the type of equipment which will be proposed by default when you click the "Player and Smartphone" button in the "Render movie" menu Selecione o tipo de equipamento que será proposto por defeito quando você clicar no botão "Leitor e Smartphone" no menu "Renderização filme" Select the type of equipment which will be proposed by default when you click the "For the WEB" button in the "Render movie" menu Selecione o tipo de equipamento que será proposto por defeito quando você clicar no botão "Para a Web" no menu "Renderização filme" Select the type of equipment which will be proposed by default when you click the "Multimedia system" button in the "Render movie" menu Selecione o tipo de equipamento que será proposto por defeito quando você clicar no botão "Sistema Multimédia" no menu "Renderização filme" Select the model of equipment which will be proposed by default when you click the "Player and Smartphone" button in the "Render movie" menu Selecione o modelo de equipamento que será proposto por defeito quando você clicar no botão "Leitor e Smartphone" no menu "Renderização filme" Select the model of equipment which will be proposed by default when you click the "Multimedia system" button in the "Render movie" menu Selecione o modelo de equipamento que será proposto por defeito quando você clicar no botão "Sistema Multimédia" no menu "Renderização filme" Select the model of equipment which will be proposed by default when you click the "For the WEB" button in the "Render movie" menu Selecione o modelo de equipamento que será proposto por defeito quando você clicar no botão "Para a Web" no menu "Renderização filme" Select the default file type to use for the rendering Selecione o tipo de ficheiro padrão a ser usado para a renderização Video standard : Padrão de vídeo: Select the default image format to use for the rendering Selecione o formato do ficheiro de imagem padrão a ser usado para a renderização <html><head/><body><p>This group of settings applies to the new image or video blocks created in slide dialogue by means of the <img src=":/img/add_image.png"/> button.<br/><br/>For every image format and every project geometry select the style of location to applied to the new blocks. <br/>- Framing styles define how to crop the image to make it compatible with the block in which is displayed.<br/>- The positioning styles define the the size, coordinates, rotations and geometric constraint to apply to blocks.</p></body></html> <html><head/><body><p>Este grupo de definições aplica-se aos novos blocos de imagem ou video criados no diálogo deslizante por meio de <img src=":/img/add_image.png"/> botão.<br/><br/>Para cada formato de imagem e cada geometria do projeto, selecione o estilo de localização para ser aplicado aos novos blocos. <br/>- Estilos de enquadramento define a forma como cortar a imagem para torná-lo compatível com o bloco em que é exibido.<br/>- Os estilos de posicionamento definem o tamanho, coordenadas, rotações e restrição geométrica para aplicar a blocos.</p></body></html> Use title project as video name Usar o titulo do projecto como nome do video Lossless : Sem Perdas : Defines the default value for the field Author (often so called Artist by Media Center Systems) Note: this field is limited to 30 characters to remain compatible with jukebox Define o valor padrão para o campo Autor (muitas vezes chamado Artista pelo Centro de Sistemas de Média) Nota: este campo é limitado a 30 caracteres para ficar compatível com jukebox Select the default video standard to use, PAL or NTSC Selecione padrão de vídeo predefenido para usar, PAL ou NTSC Select the default frequency to use for audio during the rendering. Selecione a frequência padrão para usar em áudio durante a renderização. If this box is checked then a thumbnail file will be created with video. Se esta opção estiver marcada, então um arquivo miniatura será criado com o vídeo. Join thumbnail to rendered file Junta miniatura ao arquivo renderizado If this box is checked then a XMBC .nfo file will be created with video. Se esta opção estiver marcada, então um arquivo XMBC .nfo Será criado com o vídeo. Join XBMC .nfo file to rendered file Junta ficheiro XBMC .nfo ao arquivo renderizado Allows you to open the Check configuration dialog box Permite que você abra a caixa de diálogo de Verificar a configuração Allows you to open the Manage device dialog box Permite que você abra a caixa de diálogo Gerir dispositivos Manage Devices Gerir Dispositivos Video codec : Video codec : File format : Ficheiro- formato: Format : Formato: PAL PAL NTSC NTSC Bit rate : Taxa de bits: Audio codec : Audio codec : Default device mode rendering options Modo do dispositivo predefinido- opções de rendirezação Smartphone : Smartphone : Multimedia system : Sistema Multimédia: For the WEB : Para a WEB : Default video name : Nome padrão do vídeo: Use project name as video name Usar o nome do projecto como nome do video Use project folder's name as video name Usar o nome da pasta como nome do video Frequency : Frequência: Check Configuration Verificar a configuração Accept modification and exit dialog box Aceitar modificação e sair da caixa de diálogo &Ok &Ok Cancel modification and exit dialog box Cancelar modificação e sair da caixa de diálogo &Cancel &Cancelar Language selection Idioma-selecção Language must be empty or an ISO 639 language code (3 characters) See help for more details! Idioma deve estar vazio ou com um código de idioma ISO 639 (3 caracteres) Consulte a ajuda para mais detalhes! MM/dd/yyyy Default Date format : dd/MM/yyyy or MM/dd/yyyy or yyyy/MM/dd or dd.MM.yyyy and so on... MM/dd/aaaa DlgAutoTitleSlide Event date: Data do evento: If this box is checked, you can enter a longtime different from that generated from the date of the chapter. Se esta opção estiver marcada, você pode inserir um diferente, e longínqua, data de que a gerada a partir da data do capítulo. Enter here a date, in a free format, for the chapter Digite aqui a data, em formato livre, para o capítulo Select a date for the chapter. Seleccione uma data para o capítulo. Override date: Substituir data: Accept modification and go to previous slide Aceitar modificação e ir para o slide anterior Previous Anterior Accept modification and exit dialog box Aceitar modificação e sair da caixa de diálogo &Ok &Ok Accept modification and go to next slide Aceitar modificação e ir para o slide seguinte Next Seguinte Cancel modification and exit dialog box Cancelar modificação e sair da caixa de diálogo &Cancel &Cancelar Show help about this dialogue box Visualizar ajuda sobre esta caixa de diálogo &Help &Ajuda Chapter date different from project date Data do capítulo diferente da data do projecto Slide type: Slide tipo: Project title Título do projecto Chapter title Título do capítulo Credit title Título dos créditos Category: Categoria: Chapter name: Nome do capítulo: Enter here the title of the chapter (if the "Chapter name different from slide name" box is checked). Digite aqui o título do capítulo (se o "Nome do capítulo diferente do nome do slides " caixa é marcada). Chapter location different from project location Localizaçãp do Capítulo diferente do local do projeto Event location: Localização do evento: Select the location of the event of the project Escolha do local do evento de projecto Clear this location Limpar esta localização This button allows you to open project properties dialog. Este botão permite que você abra a caixa de diálogo de propriedades do projeto. &Project properties &Propriedades do projecto This button allows you to convert this slide to a standard slide. Standard slide are fully customizable. Este botão permite que você converta este slide para um slide padrão. Slides padrão são totalmente personalizáveis. &Convert to standard slide &Converter para slide padrão If this box is checked, the date of the chapter is different from the date of the project. Remark: It is often useful to differentiate the date of the chapter of the date of the project. For example, if the project is "My vacation from 1 to 15", the chapter may be limited to the 3. Se esta opção estiver marcada, a data do do capítulo é diferente da data do projeto. Observação: Muitas vezes é útil para diferenciar a data do capítulo da data do projeto. Por exemplo, se o projecto é "Meu férias de 1 a 15", o capítulo pode ser limitada ao 3. Add a predefined title slide Adiciona um titulo de slide predefinido Edit a predefined title slide Edita um título do slide predefinido Please select a model first Por favor, escolha um modelo primeiro DlgBackgroundProperties Background properties Fundo -propriedades Select a new background Seleccione um novo fundo Keep aspect ratio Manter relação de aspecto Full filling (deform image) Preenchimento completo (deforma imagem) Same background as preceding object Fundo igual ao objecto precedente If this option is selected, the slide will have no background definition but will use the same background as the previous slide: - If the previous slide does not have a background definition either, the check continues backwards until a slide is found which does have a background definition. - If no previous slide has a background definition, then a black frame will be used. Se esta opção for selecionada, o slide não terá definição do fundo, mas vai usar o mesmo fundo que o slide anterior: - Se o diapositivo anterior não têm uma definição do fundo , a verificação continua para trás até que for encontrado um slide que tenha um fundo definido. - Se nenhum slide anterior tiver uma definição de fundo, então, será utilizada uma moldura preta. If this option is selected, the slide will have its own background definition. Se esta opção for selecionada, o slide vai ter um fundo com a sua própria definição. Allows you to select an image. Permite que você selecione uma imagem. Allows you to select a brush type in the following list: - Solid brush: Allow to selects a plain color. - Gradient 2 colors: Allow to select a gradient from 2 colors - Gradient 3 colors: Allow to select a gradient from 3 colors - Image from library: Allow to select a predefined background - Image disk: Allow to select a photo or an image from a file on the disk. Permite que você seleccione um tipo de pincel na lista a seguir: - Escova sólida: Permite seleccionar uma cor lisa. - Gradiente de 2 cores: Permite escolher um gradiente de duas cores - Gradiente de 3 cores: Permite escolher um gradiente de três cores - Imagem da biblioteca: Permite escolher um fundo predefinido - Imagem no disco: Permite seleccionar uma foto ou uma imagem de um arquivo do disco. If this box is checked, the image isn't deformed and you can open the Image framing dialog to select a part of the image. Se esta opção estiver marcada, a imagem não será deformada e você pode abrir a janela de diálogo "enquadramento de imagem" para seleccionar uma parte da imagem. Opens the Image framing dialog to select a part of the image. Abre a janela de diálogo "enquadramento de imagem" para seleccionar uma parte da imagem. Allows you to select the gradient orientation. Permite que você selecione a orientação do gradiente. Allows you to define the position (in percentage) of the 3rd gradient color. Permite definir a posição (em percentagem) da 3ª cor do gradiente. Allows you to select the first color. Permite que você selecione a primeira cor. Allows you to select the second color. Permite que você selecione a segunda cor. Allows you to select the last color. Permite que você selecione a última cor. If this box is checked, the image fills the screen, even if it has to be deformed. Se esta opção estiver marcada, a imagem preenche a tela, mesmo que venha a ser deformada. Allows you to select a photo or an image from a file on the disk. Permite que você selecione uma foto ou uma imagem dum arquivo do disco. Show help about this dialogue box Visualizar ajuda sobre esta caixa de diálogo &Help &Ajuda Accept modification and exit dialog box Aceitar modificação e sair da caixa de diálogo &Ok &Ok Undo last action (CTRL+Z) Desfazer ultima acção (CTRL+Z) Undo Desfazer Ctrl+Z Ctrl+Z Cancel modification and exit dialog box Cancelar modificação e sair da caixa de diálogo &Cancel &Cancelar Solid brush Pincel sólido Gradient 2 colors Gradiente 2 cores Gradient 3 colors Gradiente 3 cores Image from library Imagem da livraria Image from disk Imagem do disco Select a file Seleccione um ficheiro DlgChapter Chapter properties Propriedades do capítulo Show help about this dialogue box Visualizar ajuda sobre esta caixa de diálogo &Help &Ajuda Enter here the name of the chapter Digite aqui o nome do capítulo Start a new chapter from this slide. (If this box is checked, the slide will mark the beginning of a new chapter.) Remarks : This box cannot be deactivated for the first slide of the project. Iniciar um novo capítulo a partir deste slide. (Se esta opção estiver marcada, o slide vai marcar o início de um novo capítulo.) Observações: Esta caixa não pode ser desativado para o primeiro slide do projeto. Start a new chapter with this slide Iniciar um novo capítulo com este slide If this box is checked, the date of the chapter is different from the date of the project. Remark: It is often useful to differentiate the date of the chapter of the date of the project. For example, if the project is "My vacation from 1 to 15", the chapter may be limited to the 3. Se esta opção estiver marcada, a data do do capítulo é diferente da data do projeto. Observação: Muitas vezes é útil para diferenciar a data do capítulo da data do projeto. Por exemplo, se o projecto é "Meu férias de 1 a 15", o capítulo pode ser limitada ao 3. Chapter name: Nome do capítulo: Accept modification and exit dialog box Aceitar modificação e sair da caixa de diálogo &Ok &Ok Cancel modification and exit dialog box Cancelar modificação e sair da caixa de diálogo &Cancel &Cancelar Chapter date different from project date Data do capítulo diferente da data do projecto Event location: Localização do evento: Chapter location different from project location Localizaçãp do Capítulo diferente do local do projeto Select the location of the event of the project Escolha o local do evento de projecto Clear this location Limpar esta localização Override date: Substituir data: Event date: Data do evento: Select a date for the chapter. Seleccione uma data para o capítulo. If this box is checked, you can enter a longtime different from that generated from the date of the chapter. Se esta opção estiver marcada, você pode inserir um diferente, e longínqua, data de que a gerada a partir da data do capítulo. Enter here a date, in a free format, for the chapter Digite aqui a data, em formato livre, para o capítulo DlgCheckConfig Check configuration Verificar a configuração Here are listed the components used and their status: Red: The component does not work properly Green: The component works perfectly Yellow: The component works partially - For a codec: Only reading is available (not encoding) - For a library: The version is old Aqui estão listados os componentes utilizados e seu status: Vermelho: O componente não funciona corretamente Verde: O componente funciona perfeitamente Amarelo: O componente funciona parcialmente - Para um codec: leitura Apenas está disponível (não codificação) - Para uma biblioteca: A versão é antiga Check configuration at startup Verificar a configuração na inicialização Close dialog box Fechar caixa de diálogo &Ok &Ok Show help about this dialogue box Visualizar ajuda sobre esta caixa de diálogo &Help &Ajuda available disponível Operating system version: %1 - %2 Core/CPU Versão do sistema operacional: %1 - %2 Core/CPU Application architecture: 32 bits Arquitetura da aplicação: 32 bits Application architecture: 64 bits Arquitetura da aplicação: 64 bits User config file: %1 Ficheiro de configuração do utilizador: %1 Global config file: %1 Ficheiro de configuração global: %1 Starting path: %1 Caminho de partida: %1 Working path set to: %1 Caminho de trabalho definido para: %1 Search path set to: %1 Caminho de busca definido para: %1 The background library contains %1 pictures A livraria de fundos contêm %1 imagens The non-luma library contains %1 transitions A livraria não-luma contêm %1 transições The luma library contains %1 transitions A livraria luma contêm %1 transições SDL version: %1.%2.%3-Licence=GPL version 2.1 or later Versão SDL: %1.%2.%3-Licença=GPL versão 2.1 ou superior fmt_filters version:0.6.4-Licence=LGPL fmt_filters versão:0.6.4-Licensa=LGPL qimageblitz version:0.6.6-Licence=LGPL Versão qimageblitz:0.6.6-Licença=LGPL QT version: %1 QT versão: %1 Detected system locale: %1 Localidade do sistema detectado: %1 Translation file loaded: %1 Ficheiro de tradução carregado: %1 LibExiv2 version: LibExiv2 versão: not available não disponível LibExiv2 support for preview image LibExiv2 suporte para visualização da imagem TAGLib version: TAGLib versão: TAGLib support for FLAC TAGLib suporte para FLAC TAGLib support for ASF/WMA TAGLib suporte para ASF/WMA TAGLib support for M4A/MP4 TAGLib suporte para M4A/MP4 LIBAV general version: LIBAV versão geral: LIBAVUTIL version: %1.%2.%3.%4 LIBAVUTIL versão: %1.%2.%3.%4 LIBAVCODEC version: %1.%2.%3.%4 LIBAVCODEC versão: %1.%2.%3.%4 LIBAVFORMAT version: %1.%2.%3.%4 LIBAVFORMAT versão: %1.%2.%3.%4 LIBAVFILTER version: %1.%2.%3.%4 LIBAVFILTER versão: %1.%2.%3.%4 LIBSWSCALE version: %1.%2.%3.%4 LIBSWSCALE versão: %1.%2.%3.%4 LIBAVRESAMPLE version: %1.%2.%3.%4 LIBAVRESAMPLE versão: %1.%2.%3.%4 LIBSWRESAMPLE version: %1.%2.%3.%4 LIBSWRESAMPLE versão: %1.%2.%3.%4 Audio Codecs Audio Codecs Video Codecs Video Codecs Container Formats Recipiente Formatos Lossless rendering Sem Perdas-renderização DlgExportProject Export project Exportar projecto Click on this button to select graphically a destination folder. Clique neste botão para seleccionar graficamente uma pasta de destino. Destination folder: Pasta destino: Project subfolder: Projecto - sub pasta: Show help about this dialogue box Visualizar ajuda sobre esta caixa de diálogo &Help &Ajuda Start export process Início do processo de exportação &Ok &Ok Abort export operation and exit dialog box Cancelar operaçaõ de exportação e sair da caixa de diálogo &Cancel &Cancelar % done;Destination file;Source file % efectuado;Ficheiro destino;Ficheiro de origem Error: Project subfolder can't be empty Error message Erro: Subpasta de projecto não pode ser vazio Export done Error message Exportação efectuada Export cancel Error message Cancelar exportação not started não iníciado Project file Arquivo do projecto Error during the creation of the %1 folder Error message Erro durante a criação da %1 pasta started iníciado done efectuado error erro Error during the export of the project file Error message Erro durante a exportação do ficheiro do projecto Error during the copy of %1 to %2 Error message Erro durante a cópia de %1 para %2 DlgFileExplorer Accept modification and exit dialog box Aceitar modificação e sair da caixa de diálogo &Ok &Ok Cancel modification and exit dialog box Cancelar modificação e sair da caixa de diálogo &Cancel &Cancelar Show help about this dialogue box Visualizar ajuda sobre esta caixa de diálogo &Help &Ajuda F1 F1 DlgGMapsGeneration Generate Google Maps map Gerar mapa Google Maps Cancel modification and exit dialog box Cancelar modificação e sair da caixa de diálogo &Cancel &Cancelar Download failed: %1. => wait 1sec and retry Baixar falhou: %1. => Espere 1seg e tente novamente Error decoding image received from Google Maps Erro recebido do Google Maps na Descodificação de imagens Google stop responding May be you have reach the maximum number of request allowed. Please retry in one hour. Google parou de responder Pode ser que você tenha alcançado o número máximo de solicitações permitido. Por favor, tente novamente daqui a uma hora. %1 pending section(s) should be retrieve later %1 secção (s) pendentes devem ser recuperadas mais tarde %1 pending section(s) to retrieve from Google Maps %1 secção (s) pendentes por recuperar de Google Maps DlgGMapsLocation Select a location Seleccionar localização Give a friendly name for this location Dê um nome "amigável" para esta localização Icon: Ícone: Click to select an icon Clique para seleccionar um ícone Edit icon Editar ícone Remove icon Remover ícone Friendly name: Nome "amigável": Enter the postal adress to find in this zone. Digite o endereço postal para encontrar nesta zona. Open the favorite menu Abrir o menu favorito Google address: Endereço do Google: Friendly address: Endereço "amigável": Give a friendly address for this location Dê um nome "amigável" do endereço para esta localização Click on the map to select a location Clique no mapa para seleccionar uma localização Increase zoom level Aumentar o nível de zoom Adjust zoom level Ajustar o nível de zoom Decrease zoom level Diminuir o nível de zoom Latitude: Latitude: Longitude: Longitude: Accept modification and exit dialog box Aceitar modificação e sair da caixa de diálogo &Ok &Ok Cancel modification and exit dialog box Cancelar modificação e sair da caixa de diálogo &Cancel &Cancelar Show help about this dialogue box Visualizar ajuda sobre esta caixa de diálogo &Help &Ajuda Select another file Seleccionar outro ficheiro Edit current image Editar imagem actual Google stop responding May be you have reach the maximum number of request allowed. Please retry in one hour. Google parou de responder Pode ser que você tenha alcançado o número máximo de solicitações permitido. Por favor, tente novamente daqui a uma hora. Incorect addres ? (%1) Endereço incorreto? (%1) Google said: %1 Are you sure to have written the address correctly? Google disse: %1 Você tem certeza de ter escrito o endereço correctamente? Error parsing XML Erro ao analisar XML Error parsing XML / incorrect root Erro de análise XML / raiz incorreta Erreur de parsing XML / status KO KO or OK? Erro de análise XML / status KO Download failed: %1. Baixar falhou: %1. Error decoding image reveived from Google Maps Erro recebido do Google Maps na Descodificação de imagens XML parsing error Erro de análise XML XML parsing error / incorrect root Erro de análise XML / raiz incorreta XML parsing error / status KO KO or OK? Erro de análise XML / estado KO The map has not been fully generated. Do you want to resume the generation now? O mapa não foi totalmente gerado. Você quer retomar a geração agora? A map on slide %1 must be regenerated. Do you want to do it now? Um mapa no slide %1 deve ser regenerado. Você quer fazê-lo agora? DlgImageComposer Edit thumbnail model Editar modelo de miniatura Add a new text block Adicionar um novo bloco de texto Add text Adicionar texto Ctrl+Ins Ctrl+Ins Add one or several new blocks of images or video. A file selection dialog appears allowing you to select files. Note: in case of multiple selection, files are added in the alphabetical order of the filenames or in the digital order of shots (according to the option selected in the configuration dialog). Adiciona um ou vários novos blocos de imagens ou vídeo. Uma caixa de diálogo de seleção de arquivo aparece permitindo que você selecione os arquivos. Nota: em caso de seleção múltipla, os arquivos são adicionados na ordem alfabética dos nomes ou na ordem digitais das fotografias (de acordo com a opção selecionada na caixa de diálogo de configuração). Add file Adicionar ficheiro Ins Ins Edit block Editar bloco Edit block Editar bloco Arrange blocks Organizar blocos Arrange block Organizar bloco Display information on image or video file Exibir informações do ficheiro de imagem ou vídeo Block information Bloco Informação Allows you to open the rulers settings dialog. Permite que você abra caixa de diálogo configurações das réguas. Rulers Réguas Block coordinates : Bloco - coordenadas : Represents the width of the block. This value is defined as a percentage (%) of the total width of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog box. Representa a largura do bloco. Este valor é definido como uma percentagem (%) da largura total da imagem ou em pixeis (para um ecrã 1080p) de acordo com a unidade definida na caixa de diálogo de configuração. Represents the height of the block. This value is defined as a percentage (%) of the total height of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog. Representa a altura do bloco. Este valor é definido como uma percentagem (%) da altura total da imagem ou em pixeis (para um ecrã 1080p) de acordo com a unidade definida na janela de configuração. Define the angle of rotation about the x-axis (expressed in degrees) Definir o ângulo de rotação em torno do eixo x (expresso em graus) Reset to zero Repor a zero Allows you to select a shape for the block. The selected shape will be used as: - A fusion mask for the images and the videos. - A cutting zone for texts. Permite que você selecione uma forma para o bloco. A forma seleccionada será utilizado como: - A máscara de fusão para as imagens e os vídeos. - A zona de corte para os textos. Represents the horizontal offset of the block from the left. This position is defined as a percentage (%) of the total width of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog. Representa o deslocamento horizontal do bloco a partir da esquerda. Esta posição é definida como uma percentagem (%) da largura total da imagem ou em pixeis (para um ecrã 1080p) de acordo com a unidade definida na janela de configuração. Represents the vertical offset of the block from the top. This position is defined as a percentage (%) of the total height of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog. Representa o deslocamento vertical do bloco a partir do cima. Esta posição é definida como uma percentagem (%) da altura total da imagem ou em pixeis (para um ecrã 1080p) de acordo com a unidade definida na janela de configuração. Shape : Forma: Clip-Art : Clip-Art : Select in which corner the shadow will be positioned (or no shadow). Remark: the position of the shadow is independent of rotation of the block: the right lower corner is always the right lower corner, whatever rotation is applied. Selecciona em que canto a sombra será posicionada (ou nenhuma sombra). Observação: a posição da sombra é independente da rotação do bloco: o canto inferior direito é sempre o canto inferior direito, seja qual for a rotação que é aplicada. Define the angle of rotation about the y-axis (expressed in degrees) Definir o ângulo de rotação em torno do eixo y (expresso em graus) Border : Bordo : Defines the thickness of the border. Remark: This value is defined as 1/1080 of the height of the screen. A value of 10 corresponds to 10 points on a 1920×1080 FullHD screen, but only to 6 points on a 1280×720 screen. Define a espessura da borda. Nota: Este valor é definido como 1/1080 da altura do ecrã. Um valor 10 corresponde a 10 pontos numa tela de 1920 x 1080 FullHD, mas apenas a 6 pontos numa tela de 1280 x 720. Select the color of the line to be used to draw the border Seleccione a cor da linha a ser utilizada para desenhar a borda Select the type of line (solid, dotted line, etc.) Selecione o tipo de linha (linha sólida, pontilhada, etc) Shadow : Sombra : Opacity : Opacidade: This settings group deals with style management. Este grupo de configurações lida com gestão de estilo. Select the opaqueness of the block Selecione a opacidade do bloco Define the distance between the block and its shadow Defina a distância entre o bloco e a sua sombra Select the color of the shadow Seleccione a cor da sombra Define the angle of rotation about the z-axis (expressed in degrees) Definir o ângulo de rotação em torno do eixo z (expresso em graus) Select a clip-art Seleccionar um clip-art <html><head/><body><p><br/>Block shape :</p></body></html> <html><head/><body><p><br/>Bloqueio da forma:</p></body></html> Define a zoom value for the text. Remark: To make animations of text, you have to create at least 2 shots then: -Define values for zoom and scrolling for the 1st shot -Define different values for zoom and scrolling for the 2nd Define um valor de zoom para o texto. Observação: Para fazer animações de texto, você tem que criar pelo menos dois disparos e em seguida: -Definir valores para zoom e rolagem para o 1 º disparo -Definir valores diferentes para zoom e rolagem para o 2 º Reset to 100% Redefinir para 100% <html><head/><body><p><br/>Text option :</p></body></html> <html><head/><body><p><br/>Opção de texto:</p></body></html> Zoom : Zoom : Accept modification and exit dialog box Aceitar modificação e sair da caixa de diálogo &Ok &Ok Cancel modification and exit dialog box Cancelar modificação e sair da caixa de diálogo &Cancel &Cancelar Show help about this dialogue box Visualizar ajuda sobre esta caixa de diálogo &Help &Ajuda Edit text Editar texto Define the properties of the text block Defina as propriedades do bloco de texto Correct or reframe image Corrigir imagem ou reenquadramento Define framing and correction of image or movie Defina o enquadramento e correção de imagem ou filme Move to background Mover para o fundo Change the order of blocks by moving the active block towards the background Alterar a ordem dos blocos movendo o bloco ativo para o fundo Move to foreground Mover para primeiro plano Change the order of blocks by moving the active block towards the foreground Alterar a ordem dos blocos movendo o bloco ativo para o primeiro plano Display information Exibir informação Display detailed information on current block Apresentar informações detalhadas sobre bloco atual Copy block Copiar bloco Copy the current block to the ffDiaporama clipboard Copiar o bloco atual para a área de transferência ffDiaporama Ctrl+C Ctrl+C Cut block Cortar bloco Copy the current block to the ffDiaporama clipboard and remove it from the slide Copiar o bloco atual para a área de transferência ffDiaporama e removê-lo deste slide Ctrl+X Ctrl+X Remove Remover Remove current block(s) Remover bloco(s) corrente(s) Del Del Paste block Colar bloco Paste block from the ffDiaporama clipboard and insert it Colar bloco da área de transferência ffDiaporama e inseri-lo Ctrl+V Ctrl+V Align top Alinhar ao topo Align blocks to the top Alinhar blocos para o topo Align middle Alinhar ao meio Align blocks to the middle Alinhar blocos para o meio Align bottom Alinhar na parte inferior Align blocks to the bottom Alinhar blocos para a parte inferior Align left Alinhar à esquerda Align blocks to the left Alinhar blocos para a esquerda Align center Alinhar ao centro Align blocks to the center Alinhar blocos para o centro Align right Alinhar à direita Align blocks to the right Alinhar blocos para a direita Add text block Adicionar bloco de texto Add file Adicionar ficheiros Add a new block of type image or video Adicionar um novo bloco do tipo imagem ou vídeo distribute horizontally distribuir horizontalmente Place each block so as to have the same space between each Colocar cada bloco, de modo a ter o mesmo espaço entre cada distribute vertically distribuir verticalmente Add simple text block Adicionar bloco de texto simples Add a new simple text block Adicionar um novo bloco de texto simples Add ClipArt text block Adicionar ClipArt bloco de texto Add a new ClipArt text block Adicionar um novo ClipArt bloco de texto Text Default text value Texto DlgImageCorrection Image framing and correction Imagem - enquadramento e correção Undo Desfazer Ctrl+Z Ctrl+Z Undo last action (CTRL+Z) Desfazer ultima acção (CTRL+Z) Accept modification and exit dialog box Aceitar modificação e sair da caixa de diálogo Rulers Réguas Show help about this dialogue box Visualizar ajuda sobre esta caixa de diálogo &Help &Ajuda Allows you to enable or disable the magnetic rulers. When rulers are enabled, the mouse will automatically snap to the edges of the photo, facilitating the framing. Permite activar ou desactivar as réguas magnéticas. Quando as réguas estão habilitados, o rato irá ajustar-se automaticamente para as bordas da foto, facilitando o enquadramento. Export current map to a file Exportar mapa actual para um arquivo Export map Exportar mapa &Ok &Ok Cancel modification and exit dialog box Cancelar modificação e sair da caixa de diálogo &Cancel &Cancelar Full screen size Tamanho de tela inteira TV margins Margens de TV Two thirds screen Dois terços da tela Half screen Meia tela Third screen Um terço da tela Quarter screen Um quarto da tela Unlock Bloqueio Real image size Tamanho de imagem real Custom size Tamanho personalizado Lock to this geometry Bloquear a esta geometria Lock to project geometry Bloquear a geometria do projeto DlgInfoFile File information Ficheiro - informação File name : Ficheiro - nome: File type : Ficheiro - tipo: File size : Ficheiro - tamanho: File created : Ficheiro -criado: The date and the hour of creation of the file on the disk (when you transferred it since the camera). A data e hora da criação do arquivo no disco (quando você o transferiu da câmera). File modify : Ficheiro- modificado: The date and the hour of the last modification of the file (when the photo was taken or when you modified it with an image editor). A data e a hora da última modificação do arquivo (quando a foto foi tirada ou quando modificada com um editor de imagem). This zone contains a board listing every video track present in the file. For every track, the following information is shown: - #: Track number - Image size: The size of the images of the video track in number of points by number of line - Image format: The size of the images of the video track in million of pixels - Image geometry: The image geometry of the video track (4:3, 16:9, etc.) - Codec: The video codec used for compressed the images - Frame rate: The number of images per second of the video - Bitrate: The video compression ratio (when available) Esta zona contém um quadro que lista cada faixa de vídeo presente no arquivo. Por cada faixa, a seguinte informação é exibida: - #: Número da faixa - Tamanho da imagem: O tamanho das imagens da faixa vídeo em número de pontos por número de linha - Formato de imagem : O tamanho das imagens da faixa de vídeo em milhões de pixels - Geometria da Imagem: A geometria da imagem da faixa de vídeo (4:3, 16:9, etc) - Codec: O codec de vídeo utilizado para comprimir as imagens - Taxa de quadros: O número de imagens por segundo do vídeo - Taxa de bits: A taxa de compressão do vídeo (quando disponível) This zone contains a table listing every audio track present in the file. For every track, the following information is shown: - #: Track number - Language: The language in which is the audio track (generally cameras and camcorders indicate und for undefine) - Codec: The audio codec used for compressed the sound - Channels: The number of audio channels (1=mono, 2=stereo, etc.) - Bitrate: The audio compression ratio (when available) - Frequency: The frequency of sampling used by the audio track - Title: A title (when available) Esta zona contém uma tabela listando todas as faixas de áudio presente no arquivo. Por cada faixa, a seguinte informação é exibida: - #: Número da faixa - Idioma: O idioma em que éstá a faixa de áudio (geralmente câmeras e máquinas filmar indicam und para indefinido) - Codec: O codec de áudio usado para comprimir o som - Canais: O número de canais de áudio (1 = mono, 2 = stereo, etc) - Taxa de bits: A taxa de compressão de áudio (quando disponível) - Frequência: A frequência de amostragem utilizada pela faixa de áudio - Título: Um título (quando disponível) This zone appears only for files containing chapters. it contains a table listing every chapter present in the file. For every chapter, the following information is shown: - #: Chapter number - Title: The title of the chapter - Start: The temporal position of the beginning of the chapter - End: The temporal position of the end of the chapter - Duration: The duration of the chapter Esta zona aparece somente para arquivos que contêm capítulos. Ela contém uma tabela listando todos os capítulos presentes no arquivo. Para cada capítulo, a seguinte informação é exibida: - #: Número do capítulo - Título: O título do capítulo - Início: A posição temporal do início do capítulo - Fim: A posição temporal do final do capítulo - Duração: A duração do capítulo For an image: Show the EXIF information supplied by the camera. This zone can contain several hundreds of lines according to what the camera supplies. For a video: Show information on the video. At least the information about the duration of the video will be shown, but a lot of other information can appear according to what is available in the file, such as: - Creation_time: Date and time of creation of the video - Title: Title field of the TAG ID3v2 of the video - Artist: Artist field of the TAG ID3v2 of the video - Album: Album field of the TAG ID3v2 of the video - Date: Date field of the TAG ID3v2 of the video - Comment: Comment field of the TAG ID3v2 of the video - Composer: The software with which the video was created Para uma imagem: Mostrar as informações EXIF fornecidas pela câmera. Esta zona pode conter várias centenas de linhas de acordo com aquilo que as câmeras fornecem. Para assistir um vídeo: Mostra informações sobre o vídeo. Pelo menos, as informações sobre a duração do vídeo será mostrado, mas uma série de outras informações podem aparecer de acordo com o que está disponível no arquivo, tais como: - Criação_tempo:Data e hora de criação do vídeo - Título: campo Título da TAG ID3v2 do vídeo - Artista: Artista do campo TAG ID3v2 do vídeo - Album: Álbum do campo TAG ID3v2 do vídeo - Data: campo Data da TAG ID3v2 do vídeo - Comentário: Comentário campo da TAG ID3v2 do vídeo - Compositor: O software com o qual o vídeo foi criado Show help about this dialogue box Visualizar ajuda sobre esta caixa de diálogo &Help &Ajuda Video track information Informações da faixa de vídeo Chapter information Chapther= Capítulo. There are one phrase before about TAGS and CHAPTERS not translated theath words informações do capítulo Audio track information Informações da faixa de áudio Additional information Informação adicional Accept modification and exit dialog box Aceitar modificação e sair da caixa de diálogo &Ok &Ok DlgManageDevices Manage Devices Gerir Dispositivos Device category : Categoria do dispositivo: Type Tipo Cancel the modifications that you made on a predefined equipment profile in the ffDiaporama database Cancelar as modificações feitas dum perfil predefinido equipamento no banco de dados ffDiaporama Device type : Tipo de dispositivo: Select the file type to use for the rendering Selecione o tipo de arquivo a ser usado para a renderização Select the video standard to use, PAL or NTSC Selecione padrão de vídeo para usar, PAL ou NTSC Select the image format to use for the rendering Selecione o formato de imagem a ser usado na renderização Select the video codec to use for the rendering Selecione codec de vídeo para usar na renderização Select the bit rate to use for video during the rendering Selecione a taxa de bits para video para usar na renderização Select the audio codec to use for the rendering Selecione codec de audio padrão para usar na renderização Select the bit rate to use for audio during the rendering Selecione a taxa de bits para audio para usar na renderização Model Modelo <html><head/><body><p>The device type zone allows you to select the type of equipment to be shown in the list.</p></body></html> <html><head/><body><p>A zona tipo de dispositivo permite que você selecione o tipo de equipamento a ser mostrado na lista.</p></body></html> <html><head/><body><p>This list shows the categories and the device types present in the database.</p><p><img src=":/img/db.png"/> Devices preceded by this icon are defined in the default database.</p><p><img src=":/img/db_update.png"/> Devices preceded by this icon are those that you defined yourself, or those from the default database that you have modified.</p></body></html> <html><head/><body><p>Esta lista mostra as categorias e os tipos de dispositivos presentes no banco de dados.</p><p><img src=":/img/db.png"/> Dispositivos precedidas por este ícone são definidos na base de dados por defeito.</p><p><img src=":/img/db_update.png"/> Dispositivos precedidos por este ícone são aqueles que você definiu, ou os do banco de dados padrão que você tenha modificado.</p></body></html> <html><head/><body><p>Allows you to create a new device which will be added to the database.</p><p>The creation of a new device is made in 3 steps:</p><p>1- You must first create a device</p><p>2- You define the various parameters</p><p>3- You click the &quot;Apply modifications&quot; button to register the parameters</p></body></html> <html><head/><body><p>Permite a criação de um novo dispositivo, que serão adicionados à base de dados.</p><p>A criação de um novo dispositivo é feito em 3 etapas:</p><p>1 - Primeiro, você deve criar um dispositivo</p><p>2 - Você define os vários parâmetros</p><p>3 - Você clica no &quot;Aplicar modificações&quot; botão para registrar os parâmetros</p></body></html> Add Device Adicione dispositivo <html><head/><body><p>Allows you to delete a device.</p><p>Note that you can delete only devices which you created – those shown with the <img src=":/img/db_update.png"/> icon</p></body></html> <html><head/><body><p>Permite que você apague um dispositivo.</p><p>Note que você pode excluir os dispositivos que você criou - os apresentados com o <img src=":/img/db_update.png"/> ícone</p></body></html> Remove Device Apagar dispositivo Reset Device to Default Reiniciar o dispositivo como padrão <html><head/><body><p>Allows you to select the category in which the equipment is classified</p></body></html> <html><head/><body><p>Permite que você selecione a categoria em que o equipamento é classificado</p></body></html> Device model : Modelo do dispositivo: File format : Ficheiro- formato: <html><head/><body><p>Enter here the name of the device (free text entry field)</p></body></html> <html><head/><body><p>Digite aqui o nome do dispositivo (campo de entrada de texto livre)</p></body></html> Video standard : Padrão de vídeo: PAL PAL NTSC NTSC Image format : Imagem- formato: Video codec : Video codec : Bit rate : Taxa de bits: Audio codec : Audio codec : Show help about this dialogue box Visualizar ajuda sobre esta caixa de diálogo &Help &Ajuda Apply Aplicar Accept modification and exit dialog box Aceitar modificação e sair da caixa de diálogo &Ok &Ok Cancel modification and exit dialog box Cancelar modificação e sair da caixa de diálogo &Cancel &Cancelar Apply modification Aplicar modificações Do you whant to apply modification for this device? Você deseja aplicar modificação para este dispositivo? <new device> <new dispositivo> DlgManageFavorite Manage favorite Dialog title Gerir favoritos Rename Renomear Remove favorite Apagar favoritos Remove Apagar Accept modification and exit dialog box Aceitar modificação e sair da caixa de diálogo &Ok &Ok Cancel modification and exit dialog box Cancelar modificação e sair da caixa de diálogo &Cancel &Cancelar Show help about this dialogue box Visualizar ajuda sobre esta caixa de diálogo &Help &Ajuda Rename favorite Renomear favoritos New favorite name: Novo favorito- nome: A favorite with this name already exist. Please select another name! DlgManageStyle Rename style Renomear estilo Manage style Dialog title Gerir estilo <html><head/><body><p>The existing styles appear with an icon which has various meanings:</p><p><img src=":/img/db.png"/> for a standard style</p><p><img src=":/img/db_update.png"/> for a standard style you modified or for a custom style</p></body></html> <html><head/><body><p>Os estilos existentes aparecem com um ícone que tem vários significados:</p><p><img src=":/img/db.png"/> para um estilo padrão</p><p><img src=":/img/db_update.png"/> para um estilo padrão que você modificou ou para um estilo personalizado</p></body></html> Allows to rename the selected style. Permite mudar o nome do estilo selecionado. Rename Renomear Allows to remove the personalized style. Permite remover o estilo personalizado. Remove Apagar Allows to delete the customizations of a standard style and thus to return it to the default values for this style. It concerns as well the name of the style as the associated settings. Permite apagar as personalizações de um estilo padrão e, portanto, repôr os valores padrão para este modelo. Diz respeito também ao nome do estilo, bêm como as definições associadas. Reset to default Redefinir para o padrão Show help about this dialogue box Visualizar ajuda sobre esta caixa de diálogo &Help &Ajuda Accept modification and exit dialog box Aceitar modificação e sair da caixa de diálogo &Ok &Ok Cancel modification and exit dialog box Cancelar modificação e sair da caixa de diálogo &Cancel &Cancelar Custom style Estilo personalizado Big black text with white outlines Texto preto grande, com contornos brancos Big light yellow text with dark brown shadow Texto grande, amarelo claro com sombra castanho escuro Medium black text with white outlines Texto preto médio, com contornos brancos Medium light yellow text with dark brown shadow Texto médio, amarelo claro com sombra castanho escuro Small white text with black outlines Texto preto pequeno, com contornos brancos Centered Blue Gradient Gradiente Azul Centrado Centered Brown Gradient Gradiente Castanho Centrado Centered Dark-Gray Gradient Gradiente Cinza-escuro Centrado Centered Green Gradient Gradiente Verde Centrado Centered Light-Gray Gradient Gradiente Cinza-claro Centrado Centered Red Gradient Gradiente Vermelho Centrado Transparent block (no brush) Bloco transparente (sem pincel) Rounded rectangle with small brown border Rectângulo arredondado com pequena borda castanha Rectangle with no effect Rectângulo sem efeito Create new style Criar novo estilo Manage existing style Gerir estilo existente Update existing style Actualizar estilo existente Select this style Selecione este estilo Update this style Atualizar este estilo Style name: Estilo - nome: A style with this name already exist. Do you want to overwrite-it ? Um estilo com este nome já existe. Você quer substituir-lo? New style name: Novo estilo - nome: A style with this name already exist. Please select another name! Um estilo com este nome já existe. Selecione outro nome! DlgMusicProperties Music properties Musica - propriedades Change volume level to : Alterar o nível de volume para: Define the sound volume for this slide Definir o volume do som para esse slide Set to pause Em pausa No specific settings Não há configurações específicas Normal Normal Start a new playlist from this slide Iniciar uma nova lista de músicas neste slide You can start a new playlist from this slide Você pode iniciar uma nova lista de músicas neste slide Settings for the music track Configurações para a faixa de música Specifies that from now on, the sound volume is reduced. This option is particularly useful, for example, to reduce the sound of the music during the play of a video. Remark: This volume reduction is applied only for the selected slide. Especifica que a partir desta posição, o volume do som é reduzido. Esta opção é particularmente útil, por exemplo, para reduzir o som da música durante a reprodução de um vídeo. Observação: Esta redução de volume é aplicado apenas para o slide selecionado. Pauses the current play list. Remark: This pause is applied only for the selected slide Pausa a lista de reprodução atual. Observação: Esta pausa é aplicada apenas para o slide selecionado Adds a file to the playlist. A file selection dialog appears, allowing you to select a file Adiciona um ficheiro à lista de reprodução. Uma caixa de diálogo de seleção de arquivos é exibida, permitindo que você selecione um arquivo Removes the current selected file from the playlist Remove o ficheiro seleccionado da lista de reprodução Changes the order in which the music files will be played. Moves the currently selected file one step up. Muda a ordem em que os arquivos de música serão reproduzidas. Move o arquivo actualmente selecionado um passo para cima. Changes the order in which the music files will be played. Moves the currently selected file one step down Muda a ordem em que os arquivos de música serão reproduzidas. Move o arquivo atualmente selecionado um passo para baixo Total playlist duration : Total duração da lista de música : File Ficheiro Duration Duração Volume Volume Credit Crédito Source folder Pasta de origem Show help about this dialogue box Visualizar ajuda sobre esta caixa de diálogo &Help &Ajuda Accept modification and exit dialog box Aceitar modificação e sair da caixa de diálogo &Ok &Ok Cancel modification and exit dialog box Cancelar modificação e sair da caixa de diálogo &Cancel &Cancelar Add music files Adicionar ficheiros de música DlgRenderVideo Image format : Imagem- formato: Destination file : Arquivo de destino: Destination file path Caminho do arquivo de destino Video standard : Padrão de vídeo: Select the video standard to use, PAL or NTSC. Selecione padrão de vídeo para usar, PAL ou NTSC. Defines the value of the Language field. This value is used by players to indicate in which language is the audio track. This value is on 3 characters and follows the ISO 639 recommendation. Define o valor do campo Idioma. Este valor é usado por leitores para indicar em que língua está a faixa de áudio. Este valor está em 3 caracteres e segue a recomendação ISO 639. Select the image format to be used to render the video from the displayed list. Seleccione o formato de imagem a ser usado para renderizar o vídeo a partir na lista exibida. PAL PAL NTSC NTSC Geometry : Geometria: Show the geometry of the project. Mostra a geometria do projeto. Old TV (4:3) TV antiga (4:3) TV Wide (16:9) TV Ampla (16:9) Cinema (2.35:1) Cinema (2.35:1) Bit rate : Taxa de bits: File format : Ficheiro- formato: Audio codec : Audio codec : Video codec : Video codec : Select the model of equipment Seleccione o modelo de equipamento Device model : Modelo do dispositivo: Device type : Tipo de dispositivo: All slides Todos os slides From De To Para To render : Para renderizar: Sound : Som: Include sound in the video Incluir som no vídeo und ind (ISO 639 language code) (Código de idioma ISO 639) Language : Idioma : Select the type of equipment Seleccione o tipo de equipamento Frequency : Frequência: Select the audio codec to be used to render the video from the displayed list. Selecione o codec de áudio a ser usado para renderizar o vídeo na lista exibida. Select the video codec to be used to render the video from the displayed list. Selecione o codec de vídeo a ser usado para renderizar o vídeo na lista exibida. Select the video compression ratio from the displayed list. Selecione a taxa de compressão de vídeo a partir da lista exibida. Select the type of file to be used to render the video from the displayed list. Selecione o tipo de ficheiro a ser usado para renderizar o vídeo na lista exibida. The rendering can be made on the whole project or only on a part. By checking the option All slides to render the video of the whole project. A renderização pode ser feita em todo o projeto ou apenas uma parte. Marcar a opção de Todos os slides para renderizar o vídeo do projecto inteiro. The rendering can be made on the whole project or only on a part. By checking the option From and then entering the numbers of the start and end slides to generate a video of only a part of the project. A renderização pode ser feita em todo o projeto ou apenas uma parte. Marcar a opção a partir de, e em seguida, digitar os números do início e fim para gerar um vídeo de apenas uma parte do projeto. If this box is checked then the sound track will be included in the video. Se esta opção estiver marcada, então a trilha sonora será incluída no vídeo. If this box is checked, the bitrate is variable (between -50% to +125%) Notes: - If the project contains mostly pictures, this option can significantly reduce the size of the video file (up to 80%) - By cons, if the project contains mostly videos this option will increase the size of the video file By default, this box is checked if duration of videos are less than half of the total duration Se esta opção estiver marcada, a taxa de bits é variável (entre -50% a +125%) Notas: - Se o projecto contém principalmente fotos, esta opção pode reduzir significativamente o tamanho do arquivo de vídeo (até 80%) - Pelo contrário, se o projeto contém principalmente vídeos esta opção irá aumentar o tamanho do arquivo de vídeo Por padrão, essa caixa está marcada, se a duração dos vídeos for menos de metade da duração total Variable bitrate Taxa de bits variável Select the audio compression ratio from the displayed list. Seleccione a taxa de compressão de áudio a partir da lista apresentada. Click on this button to select graphically a file and a directory. Clique neste botão para seleccionar graficamente um arquivo e um diretório. If this box is checked then a thumbnail file will be created with video. Se esta opção estiver marcada, então um arquivo miniatura será criado com o vídeo. Join thumbnail to rendered file Junta miniatura ao arquivo renderizado Select the frequency to use for audio during the rendering. Selecione a freqüência a utilizar para o áudio durante a renderização. If this box is checked then a XBMC .nfo file will be created with video. Se esta opção estiver marcada, então um arquivo XMBC .nfo Será criado com o vídeo. Join XBMC .nfo file to rendered file Junta ficheiro XBMC .nfo ao arquivo renderizado Rendering to : Renderizando para: Video format : Video- formato: Audio format : Audio- formato: Elapsed time : Tempo decorrido: Average render speed : Velocidade de renderização média: fps qps Accept modification and start rendering process Aceitar modificação e iniciar o processo de renderização Show help about this dialogue box Visualizar ajuda sobre esta caixa de diálogo &Help &Ajuda &Properties &Propriedades Current slide progression Progressão do slide actual Total progression Progressão total This button allows you to open project properties dialog. It allows you to adjust the properties before generating the video. Note: the project properties are saved into the video as TAG (METADATA) which are used by a lot of indexing programs or by jukeboxes. Este botão permite que você abra caixa de diálogo de propriedades do projecto. Ele permite que você ajuste as propriedades antes de gerar o vídeo. Nota: as propriedades do projeto são salvos no vídeo como TAG (metadados), que são usados ​​por uma série de programas de indexação ou por jukeboxes. &Ok &Ok Cancel modification or rendering process and exit dialog box Cancelar modificação ou processo de renderização e sair da caixa de diálogo &Cancel &Cancelar Advanced render video Avançado - vídeo, renderização Render lossless video Sem Perdas-video, renderização Render video for mobil player and smartphone Leitor portátil e smartphone-video, renderização Render video for multimedia system Sistema Multimédia-video, renderização Render video for the WEB Para a WEB-video, renderização Export soundtrack Exportação de trilha sonora soundtrack Default name for rendering Trilha-sonora movie Default name for rendering filme Select destination file Selecione o arquivo de destino Stop rendering Parar a renderização Range selection Seleção de intervalo Slide range is defined to incorrect values Seleção de intervalo do slide é definido para valores incorretos Language selection Idioma-selecção Language must be empty or an ISO 639 language code (3 characters) See help for more details! Idioma deve estar vazio ou com um código de idioma ISO 639 (3 caracteres) Consulte a ajuda para mais detalhes! Overwrite file ? Sobregravar arquivo ? The file you selected already exist. Do you want to overwrite it ? O arquivo selecionado já existe. Você quer substituí-lo? Encoding video Codificação de vídeo Job completed successfully! Do you want to open the video now? Tarefa concluída com sucesso! Você quer abrir o vídeo agora? Job completed successfully! Do you want to open the audio track now? Tarefa concluída com sucesso! Você quer abrir a faixa de áudio agora? Job canceled! Trabalho cancelado! Job error! Please contact ffDiaporama team Erro de trabalho! Por favor, contate a equipe ffDiaporama Stop rendering process and exit dialog box Parar o processo de renderização e sair da caixa de diálogo Incorrect codec combination! Combinação de codec incorreto! Render video Renderizar vídeo Device model selection Seleção do modelo de dispositivo A device model is require! Um modelo do dispositivo é necessário! Encoding sound Codificação de som - Estimated time left : - Tempo restante estimado: Select destination folder Seleccione pasta destino DlgRulerDef Ruler properties Régua - propriedades Horizontal rulers Réguas horizontais Vertical rulers Réguas verticais screen borders Fronteiras da tela TV margins Margens de TV Screen center Centro da tela Unselected objects Objetos não selecionados Enable or disable ruler for the horizontal edges of the screen. Ativar ou desativar a régua para as margens horizontais da tela. Enable or disable ruler for the vertical edges of the screen. Ativar ou desativar a régua para as extremidades verticais da tela. Enable or disable ruler for the horizontal TV margins. In ffDiaporama, the TV margins are of type "Title safe area" and are defined on 90% in width and 90% in height, for all the project geometries. Ativar ou desativar a régua para as margens horizontais de TV. Em ffDiaporama, as margens de TV são do tipo "Título área de segurança" e que são definidos em 90% em largura e 90% em altura, para todas as geometrias do projecto. Enable or disable ruler for the vertical TV margins. In ffDiaporama, the TV margins are of type "Title safe area" and are defined on 90% in width and 90% in height, for all the project geometries. Ativar ou desativar a régua para as margens verticais de TV. Em ffDiaporama, as margens de TV são do tipo "Título área de segurança" e que são definidos em 90% em largura e 90% em altura, para todas as geometrias do projecto. Enable or disable ruler for the horizontal center of the screen. Ativar ou desativar a régua para o centro horizontal da tela. Enable or disable ruler for the vertical center of the screen. Ativar ou desativar a régua para o centro vertical da tela. Enable or disable horizontal rulers of the center, of the top edge, of the bottom edge, of the left edge and of the right edge of each objects which are not a part of the selection. Ativar ou desativar as réguas horizontal do centro, da borda superior, da borda inferior, do lado esquerdo e do lado direito de cada um dos objetos que não fazem parte da seleção. Enable or disable vertical rulers of the center, of the top edge, of the bottom edge, of the left edge and of the right edge of each objects which are not a part of the selection. Ativar ou desativar réguas verticais do centro, da borda superior, da borda inferior, do lado esquerdo e do lado direito de cada um dos objetos que não fazem parte da seleção. Show help about this dialogue box Visualizar ajuda sobre esta caixa de diálogo &Help &Ajuda Accept modification and exit dialog box Aceitar modificação e sair da caixa de diálogo &Ok &Ok Cancel modification and exit dialog box Cancelar modificação e sair da caixa de diálogo &Cancel &Cancelar DlgSlideDuration Set first shot duration for a set of slides Definir a duração 1º disparo para um conjunto de slides First shot duration : Duração 1º disparo: Define the duration of the first shot. Define a duração do primeiro disparo. HH:mm:ss.zzz HH:mm:ss.zzz Show help about this dialogue box Visualizar ajuda sobre esta caixa de diálogo &Help &Ajuda Accept modification and exit dialog box Aceitar modificação e sair da caixa de diálogo &Ok &Ok Cancel modification and exit dialog box Cancelar modificação e sair da caixa de diálogo &Cancel &Cancelar DlgSlideProperties Slide properties Slide - propriedades Append a shot to end of the timeline Anexar um disparo no final da linha do tempo Add file Adicionar ficheiros Add a new block of type image or video Adicionar um novo bloco do tipo imagem ou vídeo Add shot Adicionar disparo Remove current selected shot Remover o disparo atual selecionado Remove Apagar Move left Mover à esquerda Move right Mover à direita HH:mm:ss.zzz HH:mm:ss.zzz Shot duration : Duração disparo: Add a new text block Adicionar um novo bloco de texto Undo Desfazer Add text Adicionar texto Add file Adicionar ficheiro Edit block Editar bloco Arrange blocks Organizar blocos Arrange block Organizar bloco Block information Bloco Informação Zoom : Zoom : Reset to 100% Redefinir para 100% Type : Tipo: Dissolve : Dissolver : Total duration : Duração total : Edit text Editar texto Move to foreground Mover para primeiro plano Append a shot at the end of the timeline Anexar um disparo no final da linha do tempo Change the order of the shots by moving the current selected shot a notch towards the left Alterar a ordem dos disparos movendo o disparo atual selecionado um entalhe para a esquerda Change the order of the shots by moving the current selected shot a notch towards the right Alterar a ordem dos disparos movendo o disparo atual selecionado um entalhe para a direita Hide Ocultar Display information on image or video file Exibir informações do ficheiro de imagem ou vídeo Define a name for the slide. It is this name which will appear on the thumbnail in the main window timeline Defina um nome para o slide. É este nome que aparecerá na miniatura na linha do tempo da janela principal Define the angle of rotation about the z-axis (expressed in degrees) Definir o ângulo de rotação em torno do eixo z (expresso em graus) Reset to zero Repor a zero Define the angle of rotation about the x-axis (expressed in degrees) Definir o ângulo de rotação em torno do eixo x (expresso em graus) Define the angle of rotation about the y-axis (expressed in degrees) Definir o ângulo de rotação em torno do eixo y (expresso em graus) Select the opaqueness of the block Selecione a opacidade do bloco Select the color of the line to be used to draw the border Seleccione a cor da linha a ser utilizada para desenhar a borda Select the type of line (solid, dotted line, etc.) Selecione o tipo de linha (linha sólida, pontilhada, etc) Define the distance between the block and its shadow Defina a distância entre o bloco e a sua sombra Select the color of the shadow Seleccione a cor da sombra <html><head/><body><p><br/>Text animation :</p></body></html> <html><head/><body><p><br/>Texto - animação :</p></body></html> <html><head/><body><p><br/>Animation settings:</p></body></html> <html><head/><body><p><br/>Animações - configurações:</p></body></html> Manage chapter information for this slide Gerir informações do capítulo para este slide Chapter Information Capítulo Informação Slide name: Nome do slide: Block shape (common to all shots): Bloqueio da forma (comum a todos os disparos): <html><head/><body><p><br/>Block animation :</p></body></html> <html><head/><body><p><br/>Bloco - animações :</p></body></html> Speed wave : Velocidade da onda: Clip-Art : Clip-Art : Rulers Réguas Show help about this dialogue box Visualizar ajuda sobre esta caixa de diálogo &Help &Ajuda Correct or reframe image Corrigir imagem ou reenquadramento Define framing and correction of image or movie Defina o enquadramento e correção de imagem ou filme Take the sound Pegue o som Display information Exibir informação Display detailed information on current block Apresentar informações detalhadas sobre bloco atual Copy the current block to the ffDiaporama clipboard Copiar o bloco atual para a área de transferência ffDiaporama Remove current block(s) Remover bloco(s) corrente(s) Paste block from the ffDiaporama clipboard and insert it Colar bloco da área de transferência ffDiaporama e inseri-lo Align top Alinhar ao topo Align blocks to the top Alinhar blocos para o topo Align middle Alinhar ao meio Align blocks to the middle Alinhar blocos para o meio Align bottom Alinhar na parte inferior Align blocks to the bottom Alinhar blocos para a parte inferior Align left Alinhar à esquerda Align blocks to the left Alinhar blocos para a esquerda Align center Alinhar ao centro Align blocks to the center Alinhar blocos para o centro Align right Alinhar à direita Align blocks to the right Alinhar blocos para a direita Add text block Adicionar bloco de texto Hide the active block Ocultar o bloco ativo distribute horizontally distribuir horizontalmente Place each block so as to have the same space between each Colocar cada bloco, de modo a ter o mesmo espaço entre cada distribute vertically distribuir verticalmente Add simple text block Adicionar bloco de texto simples Add a new simple text block Adicionar um novo bloco de texto simples Add ClipArt text block Adicionar ClipArt bloco de texto Add a new ClipArt text block Adicionar um novo ClipArt bloco de texto Remove block Apagar bloco Ctrl+Ins Ctrl+Ins Ins Ins Del Del Move to background Mover para o fundo Add one or several new blocks of images or video. A file selection dialog appears allowing you to select files. Note: in case of multiple selection, files are added in the alphabetical order of the filenames or in the digital order of shots (according to the option selected in the configuration dialog). Adiciona um ou vários novos blocos de imagens ou vídeo. Uma caixa de diálogo de seleção de arquivo aparece permitindo que você selecione os arquivos. Nota: em caso de seleção múltipla, os arquivos são adicionados na ordem alfabética dos nomes ou na ordem digitais das fotografias (de acordo com a opção selecionada na caixa de diálogo de configuração). Add special Adicionar especial Save this slide as a model Salvar este slide como um modelo Save as model Salvar como modelo The total slide duration is displayed here. This duration takes into account possible adjustments for minimal duration of the shot. A duração total dos slides é exibida aqui. Esta duração leva em conta possíveis ajustes para duração mínima do disparo. The shots table shows the shots as thumbnails, in the order in which they will be played (from left to right). For each shot, the thumbnail shows: - The shot duration (At the top of the thumbnail) - The temporal position of the shot at the end of its duration (At the bottom right of the thumbnail) - An image representing the shot at the end of its duration Remark : - The order of the shots can be changed by using Drag & Drop. Warnings about "Accelerator possibly missing in translation", are related with & on text. Traduction is ok. A tabela de disparos mostra os disparos como miniaturas, na ordem em que eles serão executados (da esquerda para a direita). Para cada disparo, a miniatura mostra: - O prazo de duração do disparo (na parte superior da miniatura) - A posição temporal do disparo no final da sua duração (No canto inferior direito da miniatura) - Uma imagem que representa o disparo no final da sua duração Observação : - A ordem das cenas pode ser alterada usando arrastar e soltar. Indicate here the duration of the currently selected shot For the last shot of the slide, there is a minimum duration. The following rules are used to calculate the minimum duration of the shot: - The total slide duration cannot be lower than the sum of the durations of the entering transition of the slide plus that of the transition to the following slide. - The total slide duration must permit complete play of the longest video sequence (time of breaks is taken into account). - The total slide duration cannot be lower than 1:30 second If you specify a duration lower than the minimum calculated duration for the shot, it is this minimum duration that will be used in place of the value which you specified. Indica a duração do disparo selecionado Para o último disparo do slide, há uma duração mínima. As regras seguintes são usadas para calcular a duração mínima do tiro: - A duração total dos slides não pode ser menor do que a soma das durações de transição de entrada do slide mais a transição para o slide seguinte. - A duração total dos slides deve permitir que o jogo completo da sequência de vídeo mais longa (o tempo de quebras é tomado em conta). - A duração total dos slides não pode ser menor que 1:30 segundos Se você especificar uma duração inferior à duração mínima calculada para o disparo, é essa duração mínima que será utilizada no lugar do valor que você especificou. Define the number of rotations around the X axis that is to be made during this shot. Remark: the rotation direction is defined by the sign, so +5 will give 5 rotations in one direction while -5 will give 5 rotations in the other direction. Define o número de rotações em torno do eixo X, que está a efectuar durante este disparo. Observação: o sentido de rotação é definido pelo sinal, para +5 vai dar 5 rotações numa direção enquanto -5 vai dar 5 rotações na outra direção. Allows you to select a pre-defined block size Permite seleccionar um tamanho de bloco pré-definido Scroll text from bottom to top. Remark: To make animations of text, you have to create at least 2 shots then: -Define values for zoom and scrolling for the 1st shot -Define different values for zoom and scrolling for the 2nd Texto de rolagem de baixo para cima. Observação: Para fazer animações de texto, você tem que criar pelo menos dois disparos e em seguida: -Definir valores para zoom e rolagem para o 1º disparo -Definir valores diferentes para zoom e rolagem para o 2 º Define the number of rotations around the Z axis that is to be made during this shot. Remark: the rotation direction is defined by the sign, so +5 will give 5 rotations in one direction while -5 will give 5 rotations in the other direction. Definir o número de rotações em torno do eixo Z, que deve ser efectuado durante este disparo. Observação: o sentido de rotação é definido pelo sinal, para +5 vai dar 5 rotações numa direção enquanto -5 vai dar 5 rotações na outra direção. Define the number of rotations around the Y axis that is to be made during this shot. Remark: the rotation direction is defined by the sign, so +5 will give 5 rotations in one direction while -5 will give 5 rotations in the other direction. Definir o número de rotações em torno do eixo Y, que será efectuado durante este disparo. Observação: o sentido de rotação é definido pelo sinal, para +5 vai dar 5 rotações numa direção enquanto -5 vai dar 5 rotações na outra direção. Represents the horizontal offset of the block from the left. This position is defined as a percentage (%) of the total width of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog. Representa o deslocamento horizontal do bloco a partir da esquerda. Esta posição é definida como uma percentagem (%) da largura total da imagem ou em pixeis (para um ecrã 1080p) de acordo com a unidade definida na janela de configuração. Represents the vertical offset of the block from the top. This position is defined as a percentage (%) of the total height of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog. Representa o deslocamento vertical do bloco a partir do cima. Esta posição é definida como uma percentagem (%) da altura total da imagem ou em pixeis (para um ecrã 1080p) de acordo com a unidade definida na janela de configuração. Represents the width of the block. This value is defined as a percentage (%) of the total width of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog box. Representa a largura do bloco. Este valor é definido como uma percentagem (%) da largura total da imagem ou em pixeis (para um ecrã 1080p) de acordo com a unidade definida na caixa de diálogo de configuração. Represents the height of the block. This value is defined as a percentage (%) of the total height of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog. Representa a altura do bloco. Este valor é definido como uma percentagem (%) da altura total da imagem ou em pixeis (para um ecrã 1080p) de acordo com a unidade definida na janela de configuração. Defines the thickness of the border. Remark: This value is defined as 1/1080 of the height of the screen. A value of 10 corresponds to 10 points on a 1920×1080 FullHD screen, but only to 6 points on a 1280×720 screen. Define a espessura da borda. Nota: Este valor é definido como 1/1080 da altura do ecrã. Um valor 10 corresponde a 10 pontos numa tela de 1920 x 1080 FullHD, mas apenas a 6 pontos numa tela de 1280 x 720. This settings group deals with style management. Este grupo de configurações lida com gestão de estilo. Selects a speed curve for block animations (movement, resizing and rotating of blocks, animation of text and blocks) Remark: To change the velocity curve for image animation (graphic effect and framing), edit the image or video and select a velocity in the Image framing and correction dialog. Seleciona uma curva de velocidade para o do bloco de animações (movimento, redimensionamento e rotação de blocos, animação de texto e blocos) Observação: Para alterar a curva de velocidade para a animação de imagem (efeito gráfico e enquadramento), editar a imagem ou vídeo e selecione uma velocidade na caixa de diálogo reenquadramento e correção de imagem. Scroll text from left to right. Remark: To make animations of text, you have to create at least 2 shots then: -Define values for zoom and scrolling for the 1st shot -Define different values for zoom and scrolling for the 2nd Texto de rolagem da esquerda para a direita. Observação: Para fazer animações de texto, você tem que criar pelo menos dois disparos e em seguida: -Definir valores para zoom e rolagem para o 1 º disparo -Definir valores diferentes para zoom e rolagem para o 2 º The block animations define which animations will run during the current shot. You can define different animations for every shot! - Multiple rotations: This animation allows to turn a block several times during the shot. - Dissolve: This animation dissolves between the block and a transparent zone according to the settings. O bloco de animações define quais as animações que serão executadas durante o disparo actual. Você pode definir diferentes animações para cada disparo! - Múltiplas rotações: Esta animação permite virar um bloco várias vezes durante o disparo. - Dissolver: Esta animação dissolve entre o bloco e uma zona transparente de acordo com as configurações. Allows you to select a reframing style for the image. It has the same effect as selecting a style in the Image framing and correction dialog. Permite seleccionar um estilo de reenquadramento da imagem. Ele tem o mesmo efeito que seleccionar um estilo reenquadramento e correção de imagem na caixa de diálogo. Allows you to select the geometrical constraints to be applied to the block. Three type of constraint are available: - No constraint is applied to the selection rectangle. - Lock selection rectangle to the actual geometry. It has no meaning until you have defined a shape in "no constraint" mode. - Lock selection rectangle to the same geometry as the project, such that, if you place the image in full screen, the reframed part will correspond to the whole screen. Permite que você selecione as restrições geométricas a serem aplicadas ao bloco. Três tipo de restrição estão disponíveis: - Não há restrição é aplicado o rectângulo de seleção. - Bloqueio rectângulo de seleção para a geometria real. Não tem nenhum significado até que você tenha definido uma forma em modo "nenhum constrangimento". - Bloquear rectângulo de seleção para a mesma geometria que o projecto, de modo que, se você colocar a imagem em tela cheia, a parte reenquadrada corresponderá a toda a tela. Inheritance changes: Alterações de herança: Appear: The block will appear during the shot Disappear: The block will disappear during the shot Blink: The block will blink during the shot (appear then disappear). 4 speeds are proposed (from slow to very fast). Aparecer: O bloco será exibido durante o disparo Desaparecer: O bloco irá desaparecer durante o disparo Piscar: O bloco irá piscar durante o disparo (aparece e em seguida, desaparece). 4 velocidades são propostos (de lenta até muito rápida). Define a zoom value for the text. Remark: To make animations of text, you have to create at least 2 shots then: -Define values for zoom and scrolling for the 1st shot -Define different values for zoom and scrolling for the 2nd Define um valor de zoom para o texto. Observação: Para fazer animações de texto, você tem que criar pelo menos dois disparos e em seguida: -Definir valores para zoom e rolagem para o 1 º disparo -Definir valores diferentes para zoom e rolagem para o 2 º Select in which corner the shadow will be positioned (or no shadow). Remark: the position of the shadow is independent of rotation of the block: the right lower corner is always the right lower corner, whatever rotation is applied. Selecciona em que canto a sombra será posicionada (ou nenhuma sombra). Observação: a posição da sombra é independente da rotação do bloco: o canto inferior direito é sempre o canto inferior direito, seja qual for a rotação que é aplicada. Allows you to select a shape for the block. The selected shape will be used as: - A fusion mask for the images and the videos. - A cutting zone for texts. Permite que você selecione uma forma para o bloco. A forma seleccionada será utilizado como: - A máscara de fusão para as imagens e os vídeos. - A zona de corte para os textos. Select a clip-art Seleccionar um clip-art Block coordinates : Bloco - coordenadas : If this box is checked, the changes made in a previous shot will be applied to this object in this shot Se esta caixa estiver marcada, as alterações feitas num disparo anterior será aplicada a este objeto nesta foto Inherit changes Herdar alterações Allows you to open the rulers settings dialog. Permite que você abra caixa de diálogo configurações das réguas. Change the order of blocks by moving the active block towards the background Alterar a ordem dos blocos movendo o bloco ativo para o fundo Change the order of blocks by moving the active block towards the foreground Alterar a ordem dos blocos movendo o bloco ativo para o primeiro plano Visible Visível Make the active block visible. Note: Hidden video blocks are automatically paused Faz bloco activo visível. Nota: blocos de vídeo ocultos são automaticamente pausados Copy block Copiar bloco Ctrl+C Ctrl+C Cut block Cortar bloco Copy the current block to the ffDiaporama clipboard and remove it from the slide Copiar o bloco atual para a área de transferência ffDiaporama e removê-lo deste slide Ctrl+X Ctrl+X Paste block Colar bloco Ctrl+V Ctrl+V Append to project title models Acrescente ao projecto modelos de títulos Append to chapter title models Acrescente ao capítulo modelos de títulos Append to credit title models Acrescente aos créditos modelos de títulos Add a GMaps map Adicionar um mapa GMaps Add a map from Google maps Adicionar um mapa a partir de mapas do Google Add image from clipboard Adicionar imagem da área de transferência Create a new block using image from clipboard Criar um novo bloco usando uma imagem da área de transferência Give the sound, during this shot, to the current video block Dar o som, durante este disparo, para o bloco de vídeo actual Define the properties of the text block Defina as propriedades do bloco de texto Border : Bordo : Shape : Forma: Undo last action (CTRL+Z) Desfazer ultima acção (CTRL+Z) Ctrl+Z Ctrl+Z Add shot Adicionar disparo Remove shot Apagar disparo Edit block Editar bloco Opacity : Opacidade: Shadow : Sombra : Accept modification and go to previous slide Aceitar modificação e ir para o slide anterior Previous Anterior Accept modification and exit dialog box Aceitar modificação e sair da caixa de diálogo &Ok &Ok Accept modification and go to next slide Aceitar modificação e ir para o slide seguinte Next Seguinte Cancel modification and exit dialog box Cancelar modificação e sair da caixa de diálogo &Cancel &Cancelar Slide Slide None Nenhum Shadow upper left Sombra superior à esquerda Shadow upper right Sombra superior à direita Shadow bottom left Sombra inferior à esquerda Shadow bottom right Sombra inferior à direita Reactivate the inheritance of changes Reactivar Alterações de herança Do you want to apply to this block the properties it has in the previous shot? Você deseja aplicar a este bloco as propriedades que tem no disparo anterior? Multiple block turn Virar bloco múltiplo Dissolve Dissolver Appear Aparecer Disappear Desaparecer Blink at slow speed Piscar em velocidade lenta Blink at medium speed Piscar em velocidade média Blink at fast speed Piscar em alta velocidade Blink at very fast speed Piscar em muito alta velocidade Slide added in Project title models collection Information message Slide adicionado em Projecto colecção de modelos de títulos Slide added in Chapter title models collection Information message Slide adicionado em Capítulo colecção de modelos de títulos Slide added in Credit title models collection Information message Slide adicionado em Créditos colecção de modelos de títulos Are you sure you want to delete this shot? Tem certeza de que deseja excluir este disparo? Lengthened to %1 Alongado para %1 Are you sure you want to delete this block? Tem certeza de que deseja excluir este bloco? Are you sure you want to delete these blocks? Tem certeza de que deseja excluir estes bloco? Remove blocks Apagar bloco Remove shot Apagar disparo Text Default text value Texto Duration: Duração: Correct or reframe image Action title in slide edit dialog + dialog title of image edit dialog Corrigir imagem ou reenquadramento Correct, reframe or cut video Action title in slide edit dialog + dialog title of image edit dialog Corrigir reenquadramento ou cortar vídeo Correct, reframe or cut a Google Maps map Action title in slide edit dialog + dialog title of image edit dialog Corrigir, reenquadrar ou cortar um mapa do Google Maps Define framing and correction of image Tooltip Define o enquadramento e correção de imagem Reframe image vector Action title in slide edit dialog + dialog title of image edit dialog Reenquadrar imagem vetorial Define framing and correction of image vector Tooltip Definir o enquadramento e correção de imagem vetorial Modify Google Maps map Action title in slide edit dialog + dialog title of image edit dialog Modificar mapa Google Maps Define Modify Google Maps map and framing and correction of map Tooltip Definir Modificar mapa Google Maps e do enquadramento e correção do mapa Define framing and correction of image or cut video Tooltip Define o enquadramento e correção de imagem ou corte de video DlgTextEdit Edit text Editar texto Text Texto Allows you to select the font to be used. This setting applies to the current selection. Permite que você selecione o tipo de letra a ser utilizado. Essa configuração aplica-se à selecção actual. Background Fundo Background properties : Fundo -propriedades : Allows you to access the text styles menu. Permite-lhe aceder ao menu estilos de texto. Allows you to select the font size. This setting applies to the paragraphs of the current selection. Permite que você selecione o tamanho da fonte. Esta definição aplica-se aos parágrafos da seleção actual. Allows you to select the font color. This setting applies to the paragraphs of the current selection. Permite seleccionar a cor da fonte. Esta definição aplica-se aos parágrafos da seleção actual. Allows you to establish (or to remove) a bullet list. This setting applies to the paragraphs of the current selection. Permite estabelecer (ou remover) a lista de marcadores. Esta definição aplica-se aos parágrafos da seleção actual. Allows you to establish (or to remove) a numbered list. This setting applies to the paragraphs of the current selection. Permite estabelecer (ou remover) uma lista numerada. Esta definição aplica-se aos parágrafos da seleção actual. Horizontal alignment: left. This setting applies to the paragraph in which the cursor is. Alinhamento horizontal: à esquerda. Esta definição aplica-se o parágrafo em que está o cursor. Horizontal alignment: justified. This setting applies to the paragraph in which the cursor is. Alinhamento horizontal: justificado. Esta definição aplica-se o parágrafo em que está o cursor. Horizontal alignment: centered. This setting applies to the paragraph in which the cursor is. Alinhamento horizontal: centrado. Esta definição aplica-se o parágrafo em que está o cursor. Horizontal alignment: right. This setting applies to the paragraph in which the cursor is. Alinhamento horizontal: à direita. Esta definição aplica-se o parágrafo em que está o cursor. Allows you to select a font effect (outerline, shadow). Remark: This setting applies to the block (to the whole text). Permite que você selecione um efeito de fonte (linha exterior, sombra). Observação: Esta definição aplica-se ao bloco (para todo o texto). Allows you to select the outerline or shadow color. Remark: This setting applies to the block (to the whole text). Permite que você selecione a linha exterior ou cor da sombra. Observação: Esta definição aplica-se ao bloco (para todo o texto). Sets bold characters. This setting applies to the current selection. Define carecteres em negrito. Essa configuração aplica-se à selecção actual. Sets characters to italics. This setting applies to the current selection. Define caracteres para itálico. Essa configuração aplica-se à selecção actual. Underlines the characters. This setting applies to the current selection. Sublinha os caracteres. Essa configuração aplica-se à selecção actual. Puts the characters to super. This setting applies to the current selection. Coloca os caracteres para supra (acima). Essa configuração aplica-se à selecção actual. Puts the characters to sub. This setting applies to the current selection. Coloca os caracteres para sub (abaixo). Essa configuração aplica-se à selecção actual. Move the paragraph of a notch towards the right (indent). This setting applies to the paragraph in which is the cursor. Move o parágrafo de um entalhe para a direita (recuo). Esta definição aplica-se o parágrafo em que está o cursor. Move the paragraph of a notch towards the left (unindent). This setting applies to the paragraph in which is the cursor. Move o parágrafo de um entalhe para a esquerda (desfaz recuo). Esta definição aplica-se o parágrafo em que está o cursor. Vertical alignment: top. This setting applies to the block (to the whole text). Alinhamento vertical: topo. Esta definição aplica-se ao bloco (para todo o texto). Vertical alignment: middle. This setting applies to the block (to the whole text). Alinhamento vertical: meio. Esta definição aplica-se ao bloco (para todo o texto). Vertical alignment: bottom. This setting applies to the block (to the whole text). Alinhamento Vertical: em baixo. Esta definição aplica-se ao bloco (para todo o texto). Insert a text variable Insira uma variável de texto Allows you to access the background text styles menu. Permite-lhe aceder ao menu estilos texto do fundo. Allows you to define a background brush for the shape. The following options are available: No brush The shape will have no background and will thus be totally transparent. Solid brush Allows you to select a plain color. Pattern brush Allows you to select a hatched brush. Gradient 2 colors Allows you to select a gradient of 2 colors. Gradient 3 colors Allows you to select a gradient of 3 colors. Image from library Allows you to select an image from the library. Permite definir um pincel de fundo para a forma. As seguintes opções estão disponíveis: Sem escova A forma não terá fundo e, portanto, será totalmente transparente. Pincel sólido Permite que você selecione uma cor lisa. Escova padrão Permite que você selecione um pincel eclodido. Gradiente 2 cores Permite que você selecione um gradiente de duas cores. Gradiente de três cores Permite que você selecione um gradiente de três cores. Imagem da biblioteca Permite que você selecione uma imagem da biblioteca. If background brush is Solid, Pattern or Gradient brush, then this line appears and allows you to select a color. (Depending on the brush you select, there will be one, two or three selectable colors.) Se pincel fundo é Sólido, Padrão ou Gradiente , então esta linha aparece e permite que você selecione uma cor. (Dependendo do pincel que você escolher, haverá uma, duas ou três cores selecionáveis.) If background brush is Pattern brush, then this line appears and allows you to select a pattern. Se o pincel de fundo é pincel padrão, então esta linha aparece e permite que você selecione um padrão. If background brush is Gradient, then this line appears and allows you to select the gradient orientation. If the Gradient has 3 colors, additional controls allow to define the position (in percentage) of the 3rd gradient color. Se o pincel de fundo é Gradiente, então esta linha aparece e permite que você selecione a orientação do gradiente. Se a inclinação tem três cores, controlos adicionais permitem definir a posição (em percentagem) da cor do terceiro gradiente. If background brush is Image from library, then this line appears and allows you to select an image. Se o pincel de fundo é imagem da biblioteca, então esta linha aparece e permite que você selecione uma imagem. Margins Margens Represents the horizontal position of the margins relative to the top-left corner of the block. This value is expressed in % of the width of the block. Representa a posição horizontal das margens em relação ao canto superior esquerdo do bloco. Este valor é expresso em % da largura do bloco. Allows you to use predefined margins for the shape of the block.In general, these margins ensure that the text is contained in the form. Permite a utilização de margens pré-definidas para a forma do bloco. Em geral, estas margens de asseguraram que o texto está contido na forma. Default margins Margens predefinidas Allows you to use margins corresponding to the entire form, in fact, the selection rectangle shape regardless of the design. Permite que você use margens correspondentes a toda a forma, de facto, a seleção forma de rectângulo é efectuada, independentemente do desenho. Full Shape Forma completa Allows you to use custom margins. Permite que você use margens personalizadas. Custom Personalizado Represents the vertical position of the margins relative to the top-left corner of the block. This value is expressed in % of the height of the block. Representa a posição vertical das margens em relação ao canto superior esquerdo do bloco. Este valor é expresso em % da altura do bloco. Represents the height of the margins. This value is expressed in % of the height of the block. Representa a altura das margens. Este valor é expresso em % da altura do bloco. Represents the width of the margins. This value is expressed in % of the width of the block. Representa a largura das margens. Este valor é expresso em % da largura do bloco. Show help about this dialogue box Visualizar ajuda sobre esta caixa de diálogo &Help &Ajuda Accept modification and exit dialog box Aceitar modificação e sair da caixa de diálogo &Ok &Ok Undo last action (CTRL+Z) Desfazer ultima acção (CTRL+Z) Undo Desfazer Ctrl+Z Ctrl+Z Cancel modification and exit dialog box Cancelar modificação e sair da caixa de diálogo &Cancel &Cancelar No effect Nenhum efeito Outerline Linha exterior Shadow upper left Sombra - superior à esquerda Shadow upper right Sombra - superior à direita Shadow bottom left Sombra - inferior à esquerda Shadow bottom right Sombra - inferior à direita No brush Nenhum pincel Solid brush Pincel sólido Pattern brush Pincel padrão Gradient 2 colors Gradiente 2 cores Gradient 3 colors Gradiente 3 cores Image from library Imagem da livraria DlgTransitionDuration Select transition duration for a set of slides Seleccione duração da transição para um conjunto de diapositivos Duration : Duração: Define the animation duration Defina a duração da animação second(s) segundo(s) Show help about this dialogue box Visualizar ajuda sobre esta caixa de diálogo &Help &Ajuda Accept modification and exit dialog box Aceitar modificação e sair da caixa de diálogo &Ok &Ok Cancel modification and exit dialog box Cancelar modificação e sair da caixa de diálogo &Cancel &Cancelar DlgTransitionProperties Transition properties Transição -propriedades Select a transition for a set of slides Seleccione duração da transição para um conjunto de diapositivos None and basic Nenhum e básico Zoom Zoom Slide Deslizar Push Empurrar Deform Deformar Luma-Bar Luma-Barra Luma-Box Luma-Caixa Luma-Center Luma-Centro Luma-Checker Luma-Xadrez Luma-Clock Luma-Relógio Luma-Snake Luma-Cobra Transition type: Transição - tipo: Allows you to select a transition family. - No transition: The new slide immediately replaces the old one. (Note that this also deactivates Background transitions and Sound fades so the playlist of the new slide immediately replaces that of the old one) - Basic/Dissolve effect: The slide appears gradually, with gradually increasing opacity. - Zoom: The new slide appears by getting bigger while the old slide disappears with a dissolve effect. - Slide: The new slide glides onto the old slide which disappears with a dissolve effect. -Push: The new slide takes the place of the old slide by pushing it aside. -LUMA transition: The animation is based on a luminance mask : the darker the points in the mask, the faster the corresponding points in the new slide replace those in the old slide. Permite seleccionar uma família de transição. - Sem transição: O novo slide imediatamente substitui o antigo. (Note que isso também desativa as transições de fundo e desvanecimento do som para que a lista do novo slide imediatamente substituia a do antigo) - Básico / efeito Dissolver : O slide é exibido de forma gradual, com aumento gradual de opacidade. - Zoom: O novo slide é exibido pela cada vez maior, enquanto o velho desaparece com um efeito dissolvente. - Deslizar: O novo slide desliza sobre o antigo que desaparece com um efeito dissolvente. -Empurrar: O novo slide toma o lugar do antigo , empurrando-o para o lado. -LUMA transição: A animação é baseada numa máscara de luminosidade: quanto mais escuro os pontos da máscara, mais rápido os pontos correspondentes no novo slide substituirão aqueles no antigo slide. Speed wave: Velocidade da onda: Allows you to select a speed curve to apply to the transition. Permite seleccionar uma curva de velocidade para aplicar a transição. Duration: Duração: Allows you to define the duration of the animation. The possible choices are of 0,5 seconds (very fast) to 10 seconds (very slow). Permite definir a duração da animação. As escolhas possíveis são de 0,5 segundos (muito rápida) a 10 segundos (muito lenta). second(s) segundo(s) Allows you to select a transition. Permite que você selecione uma transição. Show help about this dialogue box Visualizar ajuda sobre esta caixa de diálogo &Help &Ajuda Accept modification and exit dialog box Aceitar modificação e sair da caixa de diálogo &Ok &Ok Cancel modification and exit dialog box Cancelar modificação e sair da caixa de diálogo &Cancel &Cancelar DlgWorkingTask Cancel Cancelar DlgffDPjrProperties Project properties Projecto - propriedades Title : Título: Author : Autor: Album : Album : The language of the audio track (ISO 639 standard – 3 characters). O idioma da faixa de áudio (padrão ISO 639-3 caracteres). A free comment which can spread out on several lines. Remark: numerous indexing systems or jukeboxes will read only the 1st line. Um comentário livre que pode espalhar-se em várias linhas. Observação: vários sistemas de indexação ou jukeboxes vão ler apenas a primeira linha. This field allows you to select the geometry to be used for the project. Note: This field is only editable when the dialog box is opened for creating a new project. Subsequently, it is not possible to change this value. Este campo permite que você escolha a geometria a ser utilizada para o projeto. Nota: Este campo só é editável quando a caixa de diálogo é aberta para a criação de um novo projeto. Posteriormente, não é possível alterar este valor. Language : Idioma : The album of the project (If the id3v2 compatibility option is set in option dialog, this fields is limited to 30 characters). O álbum do projeto (se a opção de compatibilidade id3v2 é definido na caixa de diálogo opção, este campo é limitado a 30 caracteres). The name of the author of the project (If the id3v2 compatibility option is set in option dialog, this fields is limited to 30 characters). Remark: This field is often shown by indexing system and jukeboxes under the term Artist. O nome do autor do projeto (se a opção de compatibilidade id3v2 é definido na caixa de diálogo opção, este campo é limitado a 30 caracteres). Observação: Este campo é freqüentemente mostrado pelo sistema de indexação e jukeboxes sob o termo Artista. Check this box to override the date and offer you to enter the date as a free text Marque esta caixa para substituir a data e disponibilizar-lhe o campo para inserir a data como um texto livre Enter here the date of the event of the project as a free text Digite aqui a data do evento do projeto como um texto livre Defined default speed curve for transitions. This option sets the value of the velocity curves for use whenever the corresponding options are set to "Project Default". Curva de velocidade predefinida para as transições. Esta opção define o valor das curvas de velocidade para uso sempre que as opções correspondentes são definidas como "Opções do Projecto". Defined default speed curve for block animations. This option sets the value of the velocity curves for use whenever the corresponding options are set to "Project Default". Curva de velocidade predefinida para animações bloco. Esta opção define o valor das curvas de velocidade para uso sempre que as opções correspondentes são definidas como "Opções do Projecto". Defined default speed curve for image animations. This option sets the value of the velocity curves for use whenever the corresponding options are set to "Project Default". Curva de velocidade predefinida para animações de imagem. Esta opção define o valor das curvas de velocidade para uso sempre que as opções correspondentes são definidas como "Opções do Projecto". Defines the model use as default thumbnail Define o uso do modelo como miniatura padrão Create a new model from this thumbnail or edit custom thumbnail Criar um novo modelo a partir desta miniatura ou editar miniatura personalizada Customize the thumbnail only for this project (without creating a new thumbnail model) Personalize a miniatura só para este projeto (sem a criação de um novo modelo de miniaturas) Expor thumbnail to a jpeg file Exportar miniatura para um arquivo jpeg Show help about this dialogue box Visualizar ajuda sobre esta caixa de diálogo &Help &Ajuda und ind (ISO 639 language code) (Código de idioma ISO 639) Comment : Comentário : Project geometry: Geometria do projecto: Chapters defined in the project are listed for consultation. To modify chapters use modify slide dialog. The following fields appear: -#: The chapter number -Slide: Slide number in wich chapter is defined -Title: Chapter title -Start: Chapter start position -End: Chapter end position -Duration: Chapter duration Remark: Video formats do not support all the chapters in the same way. Capítulos definidos no projeto são listados para consulta. Para modificar capítulos usar modificar na caixa de diálogo do slide. Os seguintes campos são exibidos: - #: O número do capítulo -Slide: Número do slide em cujo capítulo é definido -Título: Título do capítulo -Início: a posição de início de capítulo -Fim: posição final do capítulo -Duração: duração do capítulo Observação: Os formatos de vídeo não suportam todos os capítulos da mesma forma. Old TV (4:3) TV antiga (4:3) TV Wide (16:9) TV Ampla (16:9) Cinema (2.35:1) Cinema (2.35:1) The title of the project (If the id3v2 compatibility option is set in option dialog, this fields is limited to 30 characters). O título do do projecto (se a opção de compatibilidade id3v2 é definido na caixa de diálogo opção, este campo é limitado a 30 caracteres). The date of the event of the project A data do evento do projeto Event date : Data do evento: Override date : Substituir data: Block animation: Animação do Bloco: Transition: Transição: Image animation: Animação de Imagem: Options for speed wave Opções para onda de velocidade Chapters Capítulos Event location: Localização do evento: Select the location of the event of the project Escolha o local do evento do projecto Clear this location Limpar esta localização Accept modification and exit dialog box Aceitar modificação e sair da caixa de diálogo &Ok &Ok Cancel modification and exit dialog box Cancelar modificação e sair da caixa de diálogo &Cancel &Cancelar New project Novo projecto Create project Criar projecto #;Slide;Title;Start;End;Duration Column headers #;Slide;Título;Início;Fim;Duração Export thumbnail Exportar miniatura Thumbnail successfully exported Information message Miniatura exportada com sucesso Edit custom model Editar modelo personalizado Create custom model Criar modelo personalizado Framing styles Custom geometry - unlocked Geometria personalizada - desbloqueado Custom geometry - locked Geometria personalizada - bloqueado Custom size - Image geometry Tamanho personalizado - Geometria da imagem Custom size - Project geometry Tamanho personalizado - Geometria do projecto Full image Imagem completa Full inner image Imagem interna completa Project inner height - to the left Altura do projeto interno - para a esquerda Project inner height - in the center Altura do projeto interno - no centro Project inner height - to the right Altura do projeto interno - para a direita Project inner width - at the top Largura do projecto interno - no topo Project inner width - in the middle Largura do projecto interno - no meio Project inner width - at the bottom Largura do projecto interno - na parte inferior Project height - to the left Altura do projeto - para a esquerda Project height - in the center Altura do projeto - no centro Project height - to the right Altura do projeto - para a direita Project width - at the top Largura projeto - no topo Project width - in the middle Largura do projecto - no meio Project width - at the bottom Largura projeto - na parte inferior HelpPopup Changes the document displayed to the previous document in the list of documents built by navigating links. Altera o documento exibido no documento anterior na lista de documentos construída por navegação de links. Backward Para trás Changes the document displayed to the main page. Altera o documento exibido para a página principal. Home Home Changes the document displayed to the next document in the list of documents built by navigating links. Altera o documento exibido no documento seguinte na lista de documentos construída por navegação de links. Forward Para a frente Open the ffDiaporama Web site into your internet browser. Abre o site ffDiaporama no seu navegador de internet. Web Site Site web Open the ffDiaporama Forum into your internet browser. Abre o forum ffDiaporama no seu navegador de internet. Forum Forum Close the WIKI Fechar a WIKI Exit Sair If this checkbox is checked and the WIKI remains open, then automatically displayed in the WIKI the document corresponding to the currently used interface element (main window, dialog, etc ...) Se esta opção for assinalada e o WIKI permanece aberto, em seguida, aparece automaticamente no WIKI o documento correspondente ao elemento de interface utilizada actualmente (janela principal, diálogo, etc ...) Follow the interface Seguir a interface ffDiaporama is a <a href="http://en.wikipedia.org/wiki/Free_software">Free Software (Open Source)</a> and is distributed under the <a href="http://www.gnu.org/licenses/gpl-2.0.html">GNU General Public License (GPL) version 2</a> ffDiaporama é um <a href="http://en.wikipedia.org/wiki/Free_software"> Software Livre (Open Source) </a>e é distribuído sob a <a href = "http://www.gnu .org/licenses/gpl-2.0.html ">GNU General Public License (GPL) versão 2</a> ©2011-2013 The ffDiaporama Team - This wiki and all the resources it contains are under license © 2011-2013 A Equipe ffDiaporama - Este wiki e todos os recursos que ele contém estão sob licença MainWindow File Ficheiro Create a new empty project (Ctrl+N) Criar um novo projeto vazio (Ctrl+N) New project Novo projecto Open a previously saved project (Ctrl+O) Abrir um projeto salvo anteriormente (Ctrl+O) Open project Abrir projecto Open a recently used project file Abrir um arquivo de projeto usado recentemente Open recent Abrir recente Save current project (Ctrl+S) Salvar projeto atual (Ctrl+S) Save project Salvar projecto Save current project to a new project file Salvar projeto atual para um novo arquivo de projeto Save project as Salvar projecto como Define project properties Definir propriedades do projeto Project properties Projecto propriedades Change application and project settings Alterar as configurações do aplicativo e do projeto Settings Configurações Exit application (Ctrl+W) Sair da aplicação (Ctrl + W) Exit Sair Project Projecto Add an empty slide Adicionar um slide vazio Add title Adicionar título Add image or video as slide (INS) Adicionar imagem ou vídeo,como slide (INS) Add files Adicionar ficheiros Add a previously saved project at the end of this project Adicionar um projeto previamente salvo no final deste projeto Add project Adicionar projecto Copy current slide to clipboard and remove it (Ctrl+X) Copie slide atual para área de transferência e remova-o (Ctrl+X) Cut Cortar Copy current slide to clipboard (Ctrl+C) Copie slide atual para área de transferência (Ctrl+C) Copy Copiar Paste current slide from clipboard (Ctrl+V) Colar slide atual da área de transferência (Ctrl+V) Paste Colar Edit Editar Remove current slide (DEL) Remover slide atual (DEL) Remove Remover Render video Renderizar vídeo Render project as a video using a predefined model Renderizar projeto como um vídeo usando um modelo predefinido Player and smartphone Leitor e smartphone Multimedia system Sistema Multimédia For the WEB Para a WEB Lossless Sem Perdas Render project as a video Renderização do projeto como um vídeo Advanced Avançado Export Soundtrack Exportar trilha sonora Help Ajuda Display information about ffDiaporama Exibir informações sobre ffDiaporama About Acerca Call ffDiaporama WIKI Chame ffDiaporama WIKI Support and help Suporte e Ajuda Display blog/news page from internet WEB site Mostrar blog / página de notícias do site da Internet What's new O que há de novo Switch display to preview mode Mudar exibir para o modo de visualização Del Apagar Ctrl+X Ctrl+X Ctrl+C Ctrl+C Ctrl+V Ctrl+V Add a map Adicionar um mapa Add a Google Maps map Adicionar um mapa Google Maps Select an image file Seleccione um ficheiro de imagem Add to favorite Adicionar aos favoritos Update this favorite Actualize este favorito Remove this favorites Remover estes favoritos Manage favorites Gerir favoritos Open Abrir Properties Propriedades Remove transitions Apagar transições Select transitions Seleccionar transições Randomize transitions Aleatorizar transições Reset music to "Same as previous" Redefinir a música para "Igual ao anterior" Add a predefined title slide Adiciona um titulo de slide predefinido Export project Exportar projecto Export current project and all used files in a new folder Exportar projecto actual e todos os ficheiros usados para uma nova pasta Use as new playlist Use como nova lista de reprodução Add files to project Adicionar ficheiro ao projecto Rename Renomear Rename file Renomear ficheiro Set transition duration Definir duração da transição Set first shot duration Definir duração 1º disparo Reset background to "Same as previous" Redefinir fundo para "Igual ao anterior" ... ... Switch display to sheet mode Mude para o modo de exibição folha Switch display to file explorer mode Mudar exibir para o modo de explorar ficheiros Render project as a lossless video Renderizar projeto como um vídeo lossless (sem perdas) Render sound trak of project Renderizar faixa de som do projeto Latest version number of ffDiaporama is indeterminable Número de versão mais recente do ffDiaporama é indeterminável Slide: xx/xxx Slide: xx/xxx Chapter: xx/xxx Capítulo: xx/xxx Enlarge thumbnails Ampliar miniaturas Reduce thumbnails Reduzir miniaturas Edit background Editar fundo Edit the background image for the slide Editar a imagem de fundo para o slide Edit slide Editar slide Edit the slide Editar este slide Edit music Editar musica Edit the slide musical playlist Editar o slide musical lista de reprodução Edit object transition Editar transição de objeto Edit entering transition for the slide Editar transição de entrada para o slide Add title Adicionar título Add project Adicionar projecto Search Raster mode in configuration file Pesquisar modo Raster no arquivo de configuração All suported file ( Todos os ficheiros suportados ( Image file ( Imagem- ficheiros ( Image vector file ( Arquivo vetorial de imagem ( Video file ( Video ficheiros ( Music file ( Musica ficheiros ( Read configuration file Ler arquivo de configuração Impossible to read one image from the file Error message Impossível ler uma imagem do arquivo This application support only audio track with unsigned 8 bits or signed 16 bits sample format Error message Esta aplicação somente suporta trilhas de audio com o formato 8 bits não assignado ou 16 bites assignado Impossible to read an image from the file Error message Impossível ler uma imagem a partir do ficheiro This application support only mono or stereo audio track Error message Esta aplicação somente suporta trilhas de audio mono ou estéro No audio track found Error message Faixa de áudio não encontrada The file is not a valid title model file Error message O ficheiro não é um ficheiro de modelo de título válido Error Error message Erro Error creating model file Error message Erro ao criar arquivo de modelo The file is not a valid thumbnail file Error message O ficheiro não é um ficheiro de miniatura válido Error reading configuration file Error message Erro de leitura do arquivo de configuração Error reading content of configuration file Error message Erro de leitura do conteudo do arquivo de configuração The file is not a valid configuration file Error message O ficheiro não é um arquivo de configuração válido Error creating configuration file Error message Erro na criação do arquivo de configuração Title Default slide name when no file Título Saving project file ... Slavando o arquivo do projecto ... Error creating data file Error message Erro na criação do arquivo de dados Open project file Abrir arquivo de projecto Impossible to open file Impossível abrir ficheiro Do you want to select another file ? Você quer seleccionar outro ficheiro? Select another file for Selecione outro ficheiro para Impossible to open project file %1 Impossível abrir arquivo do projecto %1 Error reading project file Error message Erro de leitura do arquivo de projecto Error reading content of project file Error message Erro de leitura do conteudo do arquivo de projecto The file is not a valid project file Error message O ficheiro não é um arquivo de projecto válido Impossible to import this file : Image geometry in this file is not the same than the current project Error message Impossível importar este arquivo: Geometria da imagem neste arquivo não é o mesmo do que o projeto atual Loading file from ressource Carregando arquivo de recurso Error loading ressource Erro ao carregar o recurso Loading file : Carregando o arquivo: Error allocating memory for render image Erro na alocação de memória para renderização de imagem Error loading file : Erro no carregamento do arquivo: Init home user database... Inicialização banco de dados do utilizador doméstico... Error initialising home user database... Erro na inicialização do banco de dados do utilizador doméstico... Error initialising home user database ffDiaporama can't start Error message Erro na inicialização do banco de dados do utilizador doméstico ffDiaporama não pode iniciar Init translations... Inicialização traduções... Restore from a previous crash... Restaurar a partir de um acidente anterior ... Sorry, but ffDiaporama is already started on this computer and can't be started several time. Desculpe, mas ffDiaporama já foi iniciado no computador e não pode ser iniciado várias vezes. Starting SDL... Iniciando SDL ... Loading background library... Carregando biblioteca de fundos ... Loading text frame library... Carregando biblioteca moldura de texto ... Loading no-luma transitions... Carregando transições não-Luma... Loading luma transitions... Carregando transições Luma... Scan drives in computer... Procurando unidades no computador... Register models... Registrando modelos... Init WIKI... WIKI inicialização ... Close application Fechar aplicação Want to save the project before closing? Quer salvar o projeto antes de fechar? A new release is available from WEB site. Please update from http://ffdiaporama.tuxfamily.org ! Uma nova versão está disponível no site WEB. Por favor actualize a partir de http://ffdiaporama.tuxfamily.org! A new version is available from WEB site. Do you want to download it now? Uma nova versão está disponível no site WEB. Você quer baixá-la agora? Your version of %1 is up to day A sua versão de %1 está actual <html><body>Visit the ffDiaporama Web site to use the forum,<br>consult tutorials and learn the lastest news:<br><a href="http://ffdiaporama.tuxfamily.org">http://ffdiaporama.tuxfamily.org</a></body></html> <html><body>Visite o site da ffDiaporama para usar o fórum,<br>consulte tutoriais e saiba as últimas notícias:<br><a href="http://ffdiaporama.tuxfamily.org">http://ffdiaporama.tuxfamily.org</a></body></html> Saving configuration file and applying new configuration ... Salvando arquivo de configuração e aplicando nova configuração ... Current project has been modified. Do you want to save-it ? Projeto atual foi modificado. Você quer salva-lo? Loading project ressources: %1 Carregando recursos do projecto:%1 Loading slide %1/%2 Carregando slide %1/%2 Add file to project Adicionar ficheiro ao projecto This video files contains more than one chapter. Do you want to create one slide for each chapters ? Estes ficheiros de vídeo contém mais de um capítulo. Você quer criar um slide para cada um dos capítulos? Are you sure you want to remove this slide? Tem certeza de que deseja apagar este slide? Remove multiple slides Apagar múltiplos slides Error getting image from clipboard Error message Erro ao obter imagem da área de transferência Are you sure to delete this file or folder ? (Warning: Content will not be moved to trash) Tem certeza que deseja apagar este arquivo ou pasta? (Atenção: O conteúdo não será movido para a lixeira) Impossible to delete folder! Are you sure it is empty? Impossível apagar pasta! Tem certeza de que está vazia? Impossible to delete file! Impossível apagar ficheiro! Total duration: Duração total : Slide: Slide: Chapter: Capítulo: Total size:%1 Tamanho total:%1 %1 audio files %1 audio - ficheiros %1 video files %1 video - ficheiros %1 image files %1 imagem - ficheiros %1 image vector files %1 arquivos de imagem vetorial %1 ffDiaporama project files %1 ficheiros de projecto ffDiaporama %1 folders %1 pastas %1 files %1 ficheiros Multiple file types Múltiplos tipos de ficheiros Refresh All Atualizar todos update drive list atualizar a lista de discos update drive (%1) atualização de discos (%1) update current folder atualização de pasta atual Favorite name: Favorito- nome: Impossible to remove file %1 - error %2:%3 Impossível apagar ficheiro %1 - erro %2:%3 Impossible to remove folder %1 - error %2:%3 Impossível apagar pasta %1 - erro %2:%3 Are you sure to remove this folder ? (Warning: Content will not be moved to trash) Tem certeza que deseja apagar esta pasta? (Atenção: O conteúdo não será movido para a lixeira) Rename folder Renomear pasta Folder: Pasta: Impossible to rename folder! Impossível renomear a pasta! Hide files name Ocultar nome de arquivos Show files name Mostrar nome de arquivos Remove files Apagar ficheiros Remove file : Apagar ficheiro : Remove folder Apagar pasta Remove file Apagar ficheiro New name: Novo nome: Impossible to rename file! Impossível renomear ficheiro! Are you sure you want to remove these %1 slides? Tem certeza de que deseja apagar estes %1 slides? A favorite with this name already exists. Do you want to overwrite it? Um favorito com este nome já existe. Você quer substituí-lo? A favorite with for this path already exists. Do you want to overwrite it? Um favorito com a mesma aproximação, para este caminho já existe. Você quer substituí-lo? Successfully deleted folder (and all its content) %1 Pasta apagada com sucesso (e todo o seu conteúdo) %1 Sort by number Ordenar por número Sort by name Ordenar por nome Sort by date Ordenar por data Show folder first Mostrar pasta primeiro All files Todos os ficheiros Managed files Gestão de ficheiros Image files Imagem- ficheiros Image vector files Arquivos de imagem vetorial Video files Video ficheiros Music files Musica ficheiros ffDiaporama project files Ficheiros de projecto ffDiaporama Hide hidden files and folders Ocultar ficheiros e pastas ocultos Show hidden files and folders Mostrar ficheiros e pastas ocultos Select this file Seleccione este ficheiro <new project> when project have no name define <new projecto> Loading system icons... Carregando ícones do sistema ... Starting libav... Iniciando libav ... Init multimedia browser... Inicialização Navegador de multimédia... <html><body>Select a project to open or to create a new project<br>To discover ffDiaporama:<br><a href="%1">Consult the WIKI</a></body></html> <html><body>Selecione um projeto para abrir ou crie um novo projeto<br>Para descobrir ffDiaporama:<br><a href="%1">Consulte WIKI</a></body></html> <html><body>Add empty slides or slides based on photos or videos<br>To discover how to build your slide show and to animate slides:<br><a href="%1">Discover the principles of functioning of ffDiaporama</a></body></html> <html><body>Adicione slides vazios ou slides com base em fotos ou vídeos<br>Para descobrir como construir a sua apresentação de slides e como animar os slides:<br><a href="%1">Como trabalha ffDiaporama</a></body></html> <html><body>Select the equipment type that you plan to use for your video<br>To discover how to render videos:<br><a href="%1">Consult the rendering videos WIKI page</a></body></html> <html><body>Selecione o tipo de equipamento que você pretende usar para o seu vídeo<br>Para descobrir como renderizar vídeos:<br><a href="%1">Consulte a página WIKI - Renderização de vídeos </a></body></html> Open project Abrir projecto Open file : Abrir ficheiro : This project was created with a newer version of ffDiaporama. If you continue, you take the risk of losing data! Do you want to open it nevertheless? Este projeto foi criado com uma versão mais recente do ffDiaporama. Se você continuar, você corre o risco de perder dados! Você quer abri-lo mesmo assim? Save project as Salvar projecto como Add files Adicionar ficheiros Format not supported Error message Formato não suportado Add a sub project Adicionar um sub-projecto Add project file : Adicionar arquivo de projeto: Capture the image Capturar a imagem Remove slide Apagar slide Add file to project : Adicionar ficheiro ao projecto : Capture image Capturar a imagem Select destination file Selecione o arquivo de destino Error during startup Erro durante a inicialização Error during initialisation of sound system. Check your configuration and try again Erro durante a inicialização do sistema de som. Verifique a sua configuração e tente novamente Start ... Iníciando ... Error reading window state of %1 from home user database Error message Erro ao ler estado da janela de %1 a partir do banco de dados do utilizador doméstico Edit this location Editar esta localização Define a location Definir uma localização QCustomFolderTable File Column header Ficheiro File Type Column header Ficheiro - tipo File Size Column header Ficheiro - tamanho File Date Column header Ficheiro - data Duration Column header Duração Image Size Column header Imagem - tamanho Image Format Column header Imagem- formato Image Geometry Column header Imagem - geometria Video Codec Column header Video codec Frame Rate Column header Relação de quadros Video Bitrate Column header Vídeo - Taxa de bits Audio Language Column header Audio- Idioma Audio Codec Column header Audio Codec Audio Channels Column header Audio- Canais Audio Bitrate Column header Taxa de bits de áudio Audio Frequency Column header Audio- Frequência Title Column header Título Artist Column header Artista Album Column header Album Year Column header Ano Track Column header Trilha Genre Column header Género Comment Column header Comentário Composer Column header Compositor Encoder Column header Codificador Chapters Column header Capítulos Author Column header Autor Reading directory content (%1) Leitura do conteúdo do diretório (%1) QCustomFolderTree Kb Unit Kb Kb Mb Unit Mb Mb Gb Unit Gb Gb Tb Unit Tb Tb Refresh all Atualizar todos Refresh from here Atualizar daqui Create new subfolder Criar nova subpasta Remove folder Apagar pasta Rename folder Renomear pasta Create folder Criar pasta Folder: Pasta: Error %1: Erro %1: Impossible to create folder ! Impossível criar a pasta! System files Arquivos do sistema Clipart Clipart Empty drive... Unidade vazia ... Personal folder Pasta pessoal Shape forms No shape Nenhuma forma Rectangle Rectângulo Rounded rectangle Rectângulo arredondado Bubble Bolha Ellipse Elipse Old Triangle up version Triângulo velho - versão acima Old Triangle right version Triângulo velho - versão à direita Old Triangle down version Triângulo velho - versão abaixo Old Triangle left version Triângulo velho - versão à esquerda Rhombus Losango Pentagon Pentágono Hexagon Hexágono Octogon Octógono Simple arrow up Seta simples - acima Simple arrow right Seta simples - à direita Simple arrow down Seta simples - abaixo Simple arrow left Seta simples - à esquerda Heart Coração Puzzle Up-Left Quebra-cabeça,Acima - Esquerda Puzzle Up-Center Quebra-cabeça,Acima - Centro Puzzle Up-Right Quebra-cabeça,Acima - Direita Double vertical arrows Setas verticais duplas Double horizontal arrows Setas horizontais duplas Double diagonal arrows 1 Setas diagonais duplas 1 Double diagonal arrows 2 Setas diagonais duplas 2 Spade Espada Puzzle Middle-Left Quebra-cabeça, Meio - Esquerda Puzzle Middle-Center Quebra-cabeça, Meio - Centro Puzzle Middle-Right Quebra-cabeça, Meio - Direita Right triangle Up-Left Triângulo, Acima-Esquerda Right triangle Up-Right Triângulo, Acima-Direita Right triangle Down-Left Triângulo, Abaixo-Esquerda Right triangle Down-Right Triângulo, Abaixo-Direita Club Paus Puzzle Down-Left Quebra-cabeça, Abaixo - Esquerda Puzzle Down-Center Quebra-cabeça, Abaixo - Centro Puzzle Down-Right Quebra-cabeça, Abaixo - Direita Single triangle up Triângulo simples, Acima Single triangle right Triângulo simples, Direita Single triangle down Triângulo simples, Abaixo Single triangle left Triângulo simples, Esquerda Pushed up Empurrado para cima Sharp down Afiado para baixo Four-pointed stars Estrela quatro pontas Five-pointed stars Estrela cinco pontas Double triangle up Duplo triângulo, Acima Double triangle right Duplo triângulo, Direita Double triangle down Duplo triângulo, Abaixo Double triangle left Duplo triângulo, Esquerda Double chevron up Dupla divisa, Acima Single chevron down Divisa simples, Abaixo Six-pointed stars Estrela seis pontas Height-pointed stars Estrela oito pontas Pushed left Empurrado para esquerda Double chevron left Dupla divisa, Esquerda Single chevron left Divisa simples, Esquerda Sharp left Afiado para esquerda Single chevron up Divisa simples, Acima Double chevron down Dupla divisa, Abaixo Six tooth gear Engrenagem de seis dentes Eight tooth gear Engrenagem de oito dentes Sharp right Afiado para direita Single chevron right Divisa simples, Direita Double chevron right Dupla divisa, Direita Pushed right Empurrado para direita Sharp up Afiado para cima Pushed down Empurrado para baixo Ten tooth gear Engrenagem de dez dentes Twelve tooth gear Engrenagem de doze dentes Vertical Binoculars Binóculos verticais Vertical Trinoculars Trinóculos verticais Trapezoid Down-Right Trapézio, Abaixo - Direita Trapezoid Up Trapézio, Acima Trapezoid Down-Left Trapézio, Abaixo - Esquerda Trapezoid Right-Down Trapézio, Direita - Abaixo Trapezoid Left-Down Trapézio, Esquerda - Abaixo Keyhole Buraco de fechadura Horizontal Binoculars Binóculos horizontais Horizontal Trinoculars Trinóculos horizontais Trapezoid Up-Right Trapézio, Acima - Direita Trapezoid Down Trapézio, Abaixo Trapezoid Up-Left Trapézio, Acima - Esquerda Trapezoid Left Trapézio, Esquerda Trapezoid Right Trapézio, Direita Plus Mais Four oculars Quatro oculares Parallelogram Left Paralelograma - Esquerda Parallelogram Right Paralelograma - Direita Parallelogram Up Paralelograma - Acima Parallelogram Down Paralelograma - Abaixo Trapezoid Right-Up Trapézio, Direita - Acima Trapezoid Left-Up Trapézio, Esquerda - Acima Hourglass Ampulheta Speed wave Project default (%1) Predefinição do projeto (%1) Constant speed Velocidade constante Fast then slow Rápido, depois devagar Slow then fast Devagar, depois rápido Faster and faster Rápido e rápido Slower and slower Devagar e devagar Variables %1 presents %1 apresenta A %1 production Uma %1 produção Chapter %1 Capítulo %1 Project done the %1: ·with %2 (%3) ·on a %4 (%5 Core/CPU) computer Projecto feito a %1: Com %2 (%3) Sobre %4 (%5 Núcleo/CPU) do computador The end Final Select this variable Selecione esta variável Project properties values Valores de propriedades do projeto Project date values Valores de data do projecto Current slide values Valores do slide atual Chapters values Valores do capítulo Current chapter date values Valores data do Capítulo actual Various values Vários valores Today date values Hoje, valores de data Project title Título do projecto Project author Autor do projecto Project author as <Author presents> !? Autor do projeto como <Author apresenta> Project author as <A Author production> Autor do projeto como <A Autor da produção> Project album Album do projecto Project location name Nome da localização do projecto Project location address Endereço da localização do projecto Project comment Comentário do projecto Project duration Duração do projeto Current chapter number as "Chapter N°" Número do capítulo actual como "Capítulo N°" Project slide count Contagem de slides do projecto Long date longa data Short date Data curta Year Ano Month Mês Month as number Mês em número Day Dia Day of week Dia da semana Current slide name Nome do slide actual Current slide number Número do slide actual Current chapter name Nome do capítulo actual Current chapter number Número do capítulo actual Current chapter duration Duração do capítulo actual Chapter count Contagem de capítulos Current chapter location name Actual capítulo, nome da localização Current chapter location address Actual capítulo, nome do endereço ffDiaporama version ffDiaporama versão Copyright Direitos de autor Project made Projecto produzido Content Conteúdo Musical content Conteúdo musical Project's location not set (Name) Localização do projeto não definido (Nome) Project's location not set (Address) Localização do projeto não definido (Endereço) Content: Project statistics Conteúdo: %1 slides (%2) %1 slides (%2) %1 chapters %1 capítulos %1 videos (%2) %1 videos (%2) %3 vector images %3 imagens vetoriais %4 photos %4 fotos %5 text blocks %5 blocos de texto %6 automatic slides %6 slides automáticos Musical content: Project statistics Conteúdo musical: - © %1 (%2) Project statistics-Music - © %1 (%2) - © %1 Project statistics-Music - © %1 from «%1» Project statistics-Music a partir de «%1» cBaseMediaFile Impossible to open file Impossível abrir ficheiro Do you want to select another file ? Você quer seleccionar outro ficheiro? Select another file for Selecione outro ficheiro para Impossible to open file %1 Impossível abrir ficheiro %1 MPix MPix Unmanaged File type Ingerível Slides Slides Chapters Capítulos Image File type Imagem Vector image File type Imagem vectorial Thumbnail File type Miniaturas Map type Tipo de Mapa Image size Imagem - tamanho Map zoom and size Zoom e tamanho do mapa Map latitude Latitude do mapa Map longitude Longitude do mapa %1 location(s) %1 localização(ões) GPS Coordinates %1 / %2 Coordenadas GPS %1 / %2 %1 Zoom %2 %1 Zoom %2 Roadmap Roteiro Satellite Satélite Terrain Terreno Hybrid Híbrido Small Pequeno Small (640x360) Pequeno (640x360) 720p-16:9 (1280x720) 720p-16:9 (1280x720) 720px4-16:9 (2560x1440) 720px4-16:9 (2560x1440) 720px9-16:9 (3840x2160) 720px9-16:9 (3840x2160) 1080p-16:9 (1920x1080) 1080p-16:9 (1920x1080) 1080px4-16:9 (3840x2160) 1080px4-16:9 (3840x2160) 1080px9-16:9 (5760x3240) 1080px9-16:9 (5760x3240) The map must be regenerated because the locations have changed or project's location no set O mapa deve ser regenerado, porque os locais mudaram ou localização do projecto não está definido Project's location must be defined to produce this Google Maps map Localização do projecto devem ser definidos para produzir este mapa do Google Maps Select at least one location to produce Google Maps map Seleccione pelo menos um local para produzir mapa do Google Maps Video File type Video Music File type Musica Mono Audio channels mode Mono Open file Abrir ficheiro ffDiaporama File type ffDiaporama Stereo Audio channels mode Estereo Folder File type Pasta Add video file Adicionar ficheiro vídeo Image from clipboard File type Imagem da área de transferência Google Maps map File type Mapa Google Maps cBrushDefinition Error: Project's location no set Erro: localização do projecto não está definido Project's location (%1) Localização do projecto (%1) Chapter's location (%1) Localização do Capítulo (%1) cDeviceModelList Advanced Device database type Avançado Smartphone Device database type Smartphone Multimedia system Device database type Sistema Multimédia For the WEB Device database type Para a WEB Lossless Device database type Sem Perdas Portable Player Device database type Leitor portátil Netbook/NetPC Device database type Netbook/NetPC Handheld game console Device database type Video jogos portátil Tablet computer Device database type Tablet - computador Multimedia hard drive and gateway Device database type Disco rígido multimédia e porta de entrada Player Device database type Leitor ADSL Box Device database type Caixa ADSL Game console Device database type Consola de jogos SWF Flash Player Device database type SWF Flash - Leitor Video-sharing and social WebSite Device database type Video-partilha e páginas WEB sociais HTML 5 Device database type HTML 5 cModelList Project title Título do projecto Project album Album do projecto Project author Autor do projecto Project comment Comentário do projecto Error reading default thumbnail file Error message Erro de leitura do ficheiro miniatura padrão Error reading content of title model file Error message Erro de leitura do conteudo do ficheiro de modelos de títulos Register Credit title slide models (%1)... Registrando modelos título do slide de crédito (%1)... Error Error message Erro Error reading title model file Error message Erro de leitura do ficheiro modelo do título Error reading content of default thumbnail file Error message Erro de leitura do conteúdo do ficheiro miniatura padrão Register thumbnail models... Registrando modelos miniatura... Register Project title slide models (%1)... Registrando modelos título do slide do Projecto (%1)... Register Chapter title slide models (%1)... Registrando modelos título do slide de Capítulos (%1)... Chapter title Título do capítulo Simple titles without animation Títulos simples sem animação Animated titles Títulos animados Custom titles Títulos personalizados Simple chapter titles without animation Títulos de capítulo simples sem animações Animated chapter titles Títulos de capítulo animados Custom chapter titles Títulos de capítulo personalizados Simple credit titles Título dos créditos simples Custom credit titles Título dos créditos personalizados wgt_QEditImage Name of image/video file Nome do ficheiro de imagem / vídeo Select another file Seleccione outro ficheiro Reset to zero Repor a zero Reset to 5 Repor para 5 Allows you to activate the charcoal filter. Permite activar o filtro de carvão. Charcoal Carvão Adjust value for frequency of wave transformation Ajuste o valor para a freqüência de transformação da onda Allows you to activate the grayscale (black & white) filter. Permite activar o filtro Escala de cinzentos (preto e branco). Grayscale Escala de cinzentos Adjust green channel Ajustar canal verde Adjust value for implode transformation Ajuste o valor da transformação implode Allows you to activate the oilpaint filter. Permite activar o filtro de tinta a óleo. Oilpaint Pintura a óleo Image rotation: Rotação da imagem: Color enhancement: Reforço de cor: Adjust blue channel Ajustar canal azul Adjust luminosity Ajustar a luminosidade Adjust red channel Ajustar canal vermelho Reset to 1 Repor para 1 Image distortion: Distorção da imagem: Luminosity, contrast and gamma: Luminosidade, contraste e gama: Adjust blur/sharpen sigma Ajustar sigma desfocar/aguçar Allows you to activate the despeckle (Noise reduction) filter. Permite activar o filtro despeckle (redução de ruído). Despeckle Redução ruído Adjust desaturat level Ajustar o nível de dessaturação Image enhancement: Aprimoramento da imagem: Adjust value for amplitude of wave transformation Ajuste o valor de amplitude de transformação da onda Artistic effects: Efeitos artistícos: Allows you to define the width. This value is expressed as a percentage (%) of the original width of the image. Example: if Width=33 %, the re-framed image will represent 1/3 of the original. Permite definir a largura. Este valor é expresso como uma percentagem (%) da largura original da imagem. Exemplo: se a largura = 33 %, a imagem reenquadrada irá representar 1/3 do original. Define the height Definir a altura Allows you to define the height. This value is expressed as a percentage (%) of the original height of the image. Example: if Height=33 %, the re-framed image will represent 1/3 of the original. Permite definir a altura. Este valor é expresso como uma percentagem (%) da altura original da imagem. Exemplo: se a altura = 33 %, a imagem reenquadrada irá representar 1/3 do original. Defined speed curve for image animations. Definido a curva de velocidade para animações de imagem. Adjust value for swirl transformation Ajuste o valor da transformação redemoinho Adjust gamma Ajustar gama Adjust contrast Ajustar o contraste Type: Tipo: Select the blur/sharpen algorythm Selecione o algoritmo de desfocar / aguçar Fast Rápido Gaussian Gaussian Allows you to activate the emboss filter. Permite activar o filtro de relevo. Emboss Relevo Adjust blur/sharpen radius Ajustar raio desfocar/aguçar Allows you to activate the edge filter. Permite activar o filtro da borda. Edge Borda Allows you to select a framing from a list of predefined framings. According to the image format, various choices will be proposed to you. The framings are classified in different categories: - Lock on the project geometry: Lock the image framing selection rectangle to the same geometry as the project. If you place the image in full screen, the reframed part will correspond to the whole screen. - Lock on the image geometry: Lock the image framing selection rectangle to the same geometry as the image. - No constraint: No constraint is applied to the image framing selection rectangle. - Lock on this geometry: Lock image framing selection rectangle to the actual geometry. This only has meaning when a shape has been defined in "no constraint" mode. Permite que você selecione um enquadramento de uma lista de enquadramentos pré-definidos. De acordo com o formato de imagem, várias opções serão propostas . Os enquadramentos são classificados em diferentes categorias: - Bloqueio da geometria do projeto: Bloqueie a imagem rectângulo de seleção enquadramento para a mesma geometria como o projeto. Se você colocar a imagem em tela cheia, a parte renquadrada corresponderá a toda a tela. - Bloqueio da geometria da imagem: Bloqueie a imagem rectângulo de seleção enquadramento para a mesma geometria da imagem. - Não há restrição: Sem restrição é aplicada à imagem rectângulo de seleção enquadramento. - Bloquear a esta geometria: Bloquear imagem rectângulo de seleção enquadramento para a geometria real. Isso só tem sentido quando a forma foi definida no modo "nenhum constrangimento". Allows you to activate the negative filter. Permite activar do filtro de negativo. Negative Negativo Allows you to activate the equalize (Histogram equalization) filter. Permite activar o filtro equalização (equalização do histograma). Equalize Equalizar Allows you to define the horizontal position from the left (X). This position is expressed as a percentage (%) of the width of the image. Example: if X=25 % then the 1st quarter to the left of the image is eliminated. Permite definir a posição horizontal a partir da esquerda (X). Esta posição é expressa como uma percentagem (%) da largura da imagem. Exemplo: se X = 25%, em seguida, o primeiro quadrante para o lado esquerdo da imagem é eliminado. Allows you to define the vertical position from the top of the image ( Y ). This position is expressed as a percentage (%) of the height of the image. Example: if Y=25 % the 1st quarter at the top of the image is eliminated. Permite definir a posição vertical a partir do topo da imagem (Y). Esta posição é expressa como uma percentagem (%) da altura da imagem. Exemplo: se Y = 25% o primeiro quadrante com a parte superior da imagem é eliminado. Allows you to activate the antialias (minimizing the distortion artifacts) filter. Permite activar o filtro suavização de contornos (minimizando os artefatos de distorção). Antialias Suavização contornos Annimation settings: Configurações de animação: Define the width Definir a largura Allows you to activate the normalize filter. Permite activar do filtro de normalizar. Automatic contrast (normalize) Contraste automático (normalizar) Turn the image to the left (on the next multiple of 90°) Rode a imagem para a esquerda (no próximo múltiplo de 90 °) Define the rotation angle for the z axis Definir o ângulo de rotação para o eixo z Turn the image to the right (on the next multiple of 90°) Rode a imagem para a direita (no próximo múltiplo de 90 °) Speed wave: Velocidade da onda: Framing and form: Enquadramento e forma: Select a shape for the current block Seleccionar uma forma para o bloco atual Video position : Posição do vídeo: wgt_QEditVideo Start : Início: Move to start position Tooltip in dialog box Mover para a posição inicio Use current position as start position Tooltip in dialog box Usar posição atual como posição de início Define the start position to use Tooltip in dialog box Definir a posição de início para usar End : Fim: Define the end position to use Tooltip in dialog box Definir a posição de fim para usar Use current position as end position Tooltip in dialog box Usar a posição atual como a posição final Move to end position Tooltip in dialog box Mover para a posição final Duration : Duração: Volume : Volume: Select the " Master Volume " for the movie Selecione a opção "Master Volume" para o filme Allows you to activate the deinterlace filter Permite activar o filtro de desentrelaçamento Deinterlace video Desentrelaçamento vídeo wgt_QGMapsMap Define the size of the map Definir o tamanho do mapa Map type: Tipo de Mapa: Define the type of the map Definir o tipo de mapa Define the size of the image generated for the map Definir o tamanho da imagem gerada para o mapa Image size: Imagem - tamanho: Localizations Localizações Properties for all shots Propriedades para todos os disparos GPS Position form: Posição GPS forma: Define a form for the GPS position Definir uma forma para a posição GPS Point Ponto Circle Círculo Rectangle Rectângulo Marker form: Forma do Marcador: Define a form for the marker Definir um Forma para o marcador Bubble Bolha Composition: Composição: Defined what information will be displayed in the marker Definido que informações serão exibidas no marcador Icon+Name+Address Ícone + Nome + Morada Icon+Name Ícone + Nome Icon Ícone Name Nome Name+Address Nome + Endereço Address Endereço Size: Tamanho: Define the size of the marker and the GPS position Definir o tamanho do marcador e a posição GPS Small Pequeno Medium Médio Large Grande Huge Enorme Distance: Distância: Defined where to display the marker (the distance between the marker and the GPS position) Definido onde exibir o marcador (a distância entre o marcador e a posição GPS) Defines the color of the text Define a cor do texto Defines the color of the background of the marker, of the GPS position and of the part between the two Define a cor do plano de fundo do marcador, da posição GPS e da parte entre os dois Defined if the marker is visible, half-visible (masked) or hidden Definido se o marcador estiver visível, meio-visível (mascarado) ou ocultado Defines the color of the border Define a cor da borda Properties for this shot Propriedades para este disparo Background color: Cor do fundo: Visibility: Visibilidade: Near Próximo Normal Normal Far Distante Hide Oculto Masked Mascarado Visible Visível Line color: Cor da linha: Text color: Cor do texto: Map size: Tamanho do mapa: Location Localização Use Google Maps to select a location Use o Google Maps para seleccionar uma localização Edit current location Editar localização actual Remove current location Remover localização actual Add a location Adicionar uma localização Add project's location Adicionar localização do projecto Add chapter's location Adicionar Localização do capítulo Do you want include the markers on the map? Você quer incluir os marcadores no mapa? wgt_QMultimediaBrowser Form Forma Refresh folder table Atualizar tabela de pastas Use Detail view in browser Use detalhes visualizados no navegador Use Icon view in browser Use Ícone visualizado no navegador Use or manage favorite path Usar ou gerir caminho favorito Change to previous folder Mudar para a pasta anterior Change to upper folder Mudar para a pasta superior Adjust display mode and file filtering Ajuste o modo de exibição e a filtragem de arquivo The selection can't include folders. Esta selecção não pode incluir pastas. wgt_QVideoPlayer Click to start play, click again to pause the movie Tooltip in dialog box Clique para iniciar a execução, clique novamente para pausar o filme The progress bar allows you to set the video display to a specific position. Remark : The length of the ruler is increased in proportion to the duration of the video. The blue part represents the part of the video which is selected (which will be used in the assembly). A barra de progresso permite que você defina a exibição de vídeo para uma posição específica. Observação: O comprimento da régua é aumentada em proporção com a duração do vídeo. A parte azul representa a parte do vídeo, que é seleccionado (o que irá ser utilizado na montagem). Save this image of the movie Tooltip in dialog box Salve esta imagem do filme ffDiaporama/locale/ffDiaporama_pt.qm0000777000175000001440000120715612275647351017751 0ustar dominiqueusersj+[G:+[[%+[+[+[ +[+[W+[+[e+[T+[f+[l:+[ +[IE+[M+[d1;JU8JJJJLPSPST\T\+T\88msSyyM|Dځ|DT|Ds4 D ) y47Ȥvٮ%4%'%֍̣]'0'›5b^'gx9s]9s9s7_FOhH5mKLL҅VEfws5|_FuCe>į Vįį NįD#_]b*E=e9}"C d0 dAx>lО*~-^n3 DI d4*#q*0 *0l*0;*0 O*0*05R*0>5*0G*0Z*0*0*0*0O*0#*0*01*0T*0fg*0l*0 *0I *0M*0do,'-./^00j{00τ1!Tv26{4K;ZBϾD7ENEN7 GsH) Hw9IZ<LF:LbLby0MiMŅ!N/_OTP7ePD8RTT3*TZTeUTiV_W W`TOYeRZ"Z/Z/`Z8,lZ8,YZgC[ %[ %"[#\\o_GfLMgDNgDvgD$iTXiT|klb=BqDsݳKtSztlSv,.v,.zbP,}eX#oCE$Z-G-$lj[`[uC MrML]oPNQq,gu N4ua.R{9 j^*ә^L+gڈ0\gb`eޖT3%*Zm_ Xݴ N 9G.s*K%tK%s#h>J^S!"s7"% %2 -03ȵ::fF O=TNU?5[9UůX\0[<_ `UGgp`Ih#Ni6j1y51l|cCl~.GMKtdAtcxa"ٚ$noP^ d}dh;d~\C`m,d/,d[VMvōuVə]|$PDT φ u1H#v=o!OdUE 33H44S%:\}:"92"MV"M| h%#ӯZC/e.f. NK :C 5%ݳE]i#E]Hq0q-3+ui2I  a/_W a/t!d=![#n )<.;.ʹ/4"5BUC>KEP*^dbZ|e]gZetgZ{h9i,Km$.qcKtu v e tzc |U j~|Z֠ii<XJ+m+mJBS|9]n#.yd3"U"U4T͗@(O0Y&VOJ[l!|/sӲ%9IIb9UWQSƛs[t.{QֺieTSj8ucD6Y    y$7  5Z1NW5:r65:Gǎ1#91f$ +d. /E7T9#C:R>AwBDoDdL#MMIcP$JbWcWΊX2 XZ U[ ^jj_kmCn5qP% zT W@ !oE2 $x2H#H#d.Nb,3c%qEv4 a"w7^LjOBE2Ҋ.&>lZIbU%j,U%W~P4U)d:y] PZX4GZ'Ӈ3ĘԽciڅڅʯʯʯωkceÅ"U8N2ד)^ER, ;$/&NQY-_>N-|%^e-Y.(r0/0`2*'3^45ZJ6Ry<ZpHFKcN.aOwd\gj;c|"˲k?ttupOw>y./{1#kBb9DUIb%(% Q  1.%<j}GJ.bvi!u2}suƤu. d  g #I֍\e]#{aF#_G?"y\*8>{>![Sn%ÖhàNJàNPD9'cpNc$ E  R,Z*dz5r A%⧞Kt#T%C/VNSC0eggi c 7  ?V._N?מ";<(a)%.P Mv/6(m6о 8,E8K3@8;;?ykB+kB+kC}~C}~C}~p$HLR~VS ,HSgU{pV|KV|VXdѿ4dѿce߮fMCg@3YjV ijV ›qn$qhrtu>{=֮n֮zCHveveoMF%F&FFkF.H5H5H5L>gn,8,,H#aldnASn,ȿm#^1.F]"5)^ wkg: 6xr5p2-%"̽~PU_SDzH]BQ1`\#Z<5@D( ۊۊۊ}ja,t#:c._7#IX7c/I#IҺjonnXy+s-h  > G0/g: //7_:i_: ABʅ8>PeI?!T#I$`4&F;&F'{':a':(I9,f3h 3hCo9L<2_GH:#g4~pv$u<b 5J S z q+,5_מ9")*>(z*GZ,4.c/;/A- 0ß18<ޅ=6y>*? ?;5?;;B4 C ɨEWb+:Nl*=Nê ^MK`Oxbȵgcg<Dgn.k]I}loCNp^p^p^pJhw:\Dz8}4 H(fgϡr7Z:7Zݣ7ZeW< 7n$ZZCrx#QwKOAg!g=gg g>gHOg]g"gggggGgTgfgo&g gIxgNgg7]_Hd'~jiDhӭӮ >w׶3X aՅ=t'>DRô4EqNGJ&^׉1b{ v7~'daOn2I#on,P T: eJw[ @[39<.opWKמ$NB'UhH()z#/)zg)-.?DF@N NP]*]^ugER0vPz Z zs4ݐ4p{\^ Ťh~ MHF#a] <. SCTTBlDtIl6CKSsLe߼e"(N5S&:E}E ʑ~,ʛm1e7Һq*h1;qiQն'A{/|;8LT%in> {}{n9; Z{ ; ;A. x^k x^J : ۍ t ڥ # 9 TgO T}l _ .~ #H^=D $T= *c%: +i 4<'g 7 8GJ <N >I! >̤o >̤l ?*R D3Q H~8C HnC Ii Lo2 Q T U4% U V7 Wj \p"J ^ ^ c%e c7^ dd%X i i oK@ t7J y'@ ~M8q [  Y]/ % {N  p \* > ] /J TY` 3o _ @e̸ -"8H Wu Ϟ' % Aq MA R{4 Y~ ݞ?* S&h P Ѧe g}S ׶\ T@ } } ݘN a ` gj gju .W 06 d  )6 t) ;r ~z H\ T׀ jBC 5 9 D~ W֝ $`Q* $ZZ %f %| (W ) ,:lq ,Y / 0  0h$ 2SH 6=i 6=i =q* ?b CH D4 FsΈ I4MfQ I4M|j Kʅ PU] PUq* P QJѕ QJ Qq} Q^ Qr$ X;8 Xh; [NM a :3 dM dbb d< eP' fUa fUv8 gwN g{8 jM[ k lFjG* q> s( t1Y$ t t wN zb: >JV  B l#r C~4 C1 A $ Jc nD ^ < p h h h ` hi h,~ h; h@ hW h h h h hH h h\ hEA hdI hj h hB hLo h` he I Iڵ I I  I5 I= IB4 IF IZ Iz Iʕ I I I I ITJ If) Ik I X IH IMY Id. - e n? d@Q f n%? >,  : v j = ܌ ?r F< l#5 Z[ Jy C i É%j äJ z6 ɇmZ cIL |  C= ؟ hs(V =t ?Z͓ #0 \NQ l^ bY bYHz bY QT R n^R  g4 %ح N  n{` n{u+ 'jU 'jy U _Ct e d   l ش6 5 c D 5 + .<&t 1>5 246 2X 4U , :^ ?ڥ ?i AZD DoH Eu J JS0E L6 l mry m ndBA qz u^I xa\ xw z. {wur |.# }!ԣ ;:0 G`? $5g $5}  ui  ]  '    K ?rK b& .[ ,l wz J J GAs p  No ^K rq " 2 i }` *D j s ?9 *  {D {DѸ ^T$ ~ i /jV M Mq B` Ѝ u ص 5P u @ | i \  $r $ >) * V.Z gK *  ݍ3 )X e& _ o EiN 'di ''W > U e | YC U ӺQ !4n "~+ G [֤ )$ +eH ,-N . E .>>V /[؈ 13 2F- 3., 4\ 4X]4 5Dng 7Zk 8Nf 9 n 9d'p <r =yA D3. DTy JZS KDe NY S Ts% U Zt. Zy>5G _$Y b= b= cUs cU d~j wм | Cy^ C QH ў2\ @]   g0 Gh _ 1ߢ ^k ^  S ߉J `9 `g *>'  ^ s( ^ tS S,K) z$ R ۬'  5 54A 6 ˵s T?S Dce ѵgC   ju ׵] Dc K@ sT 4 4 z Tn, "z "; "{ " "{ "* 3_+ : H ny 2 u  u Վ( C~S P] 0 "k "AA28 +~5 -JXC .C 2< 47n 5] =} ?^) Cj E. Gxb G G "? q{ qw he  &  I %   ѡ g i[  O^6 O^x W W4 s {I 9s® ^ s 1lj h Z d _ NG /p h V?&@  % o> ~ 0 0 }q /ss b~  u 5$i$@? K CUUFF'(΁ ~r! 7"O;A)c+!-L*-L+ .j5F5e7nT{7nTӃ;e;EBrT|B{wFOT!2BTVT^`W6=X ]4E$Sjebl$lhwFxY/xv{l`{l I$bPce"P>3 n ' Erbz[ +LbVo/ "U^ܵ |~zrLz5tz~Ӟcq(zÓ\4q94$JRYqѽvvZvB̮.eL~/z2v j^w~y;I?>BtI[o Ugs*"J%[hbV% ~0VZ0nb~a>x~ck)#[ 8]1-zn^ynm;8 W["A7#[S(iM.)5*Y'*Z5-d)2|z4d6N<0@+AL,?Aʂ8MD\:7jDӕwH|vNLMjNtrJN@N@kQ{AUlXRS_ZzQb#enZg)Elllmc oEt;&vsxxysR~PeÖzPzZ >VA{qvXO!/n{iD[V?s RYFdAsO8n%*N33ǀ̰KB B gG\,F,ޒ.3@j3@YrW7r|ZiE(B}vv >.i5,Seleccione um ficheiro Select a file CommonInfoMsg&Ok&OkDlgAbout ChangelogDlgAboutCrditosCreditsDlgAbout<Interface, verso de traduo:Interface translation version: DlgAboutLicenaLicenceDlgAbout`Nota: Se voc quiser nos ajudar ou atravs do preenchimento de uma traduo incompleta, ou para traduzir o aplicativo para outro idioma , no hesite em contactar-nos no frum.Note: If you want to help us or by completing an incomplete translation, or by translating the application into another language, do not hesitate to contact us on the forum.DlgAboutTextura mate TexturemateDlgAbout\Este software licenciado sob a GPL verso 2:3This software is licensed under the GPL version 2 :DlgAboutTraduo TranslationDlgAbout0WIKI verso de traduo:WIKI translation version: DlgAboutPor traduzir to translateDlgAbout Coordenadas: Coordinates:DlgApplicationSettingsVOpes de edio (quando adicionar objetos)% Editor options (when adding objects)DlgApplicationSettings Enquadramento: Framing:DlgApplicationSettings&Cancelar&CancelDlgApplicationSettings &Ajuda&HelpDlgApplicationSettings&Ok&OkDlgApplicationSettings4(Cdigo de idioma ISO 639)(ISO 639 language code)DlgApplicationSettings<(Smente para novos projectos)(Only for new project)DlgApplicationSettingsZ(Reduzir este valor para computadores lentos)%(Reduce this value for slow computer)DlgApplicationSettings1 Gb1 GbDlgApplicationSettings&Durao 1 disparo:1st shot duration:DlgApplicationSettings2 Gb2 GbDlgApplicationSettings 256 Mb256 MbDlgApplicationSettings 512 Mb512 MbDlgApplicationSettings<html><head/><body><p><br/>Opes predefinidas para a velocidade da onda</p></body></html>K


Default options for speed wave

DlgApplicationSettings<html><head/><body><p><br/>Configuraes de rede</p></body></html>=


Network settings

DlgApplicationSettings<html><head/><body><p><br/>Opes de visualizao</p></body></html><


Preview options

DlgApplicationSettings<html><head/><body><p><br/>Opes de projeto (valores predefinidos)</p></body></html>M


Project options (default values)

DlgApplicationSettingst<html><head/><body><p><br/>Vrias opes</p></body></html><


Various options

DlgApplicationSettings<html> <head/> <body> <p> Define a quantidade de memria utilizada como memria cache do ffDiaporama. Este parmetro importante porque permite adaptar o ffDiaporama para o seu hardware..</p></body></html>

Defines the quantity of memory used as cache memory by ffDiaporama. This parameter is important because it allows to adapt ffDiaporama to your hardware.

DlgApplicationSettings<html><head/><body><p>Este grupo de definies aplica-se aos novos blocos de imagem ou video criados a partir da janela principal por meio de <img src=":/img/add_image.png"/> boto.<br><br>Para cada formato de imagem e cada geometria do projeto, selecione o estilo de localizao para ser aplicado aos novos blocos. <br>- Estilos de enquadramento definem a forma como cortar a imagem para torn-lo compatvel com o bloco em que exibido.<br>- Os estilos de posicionamento definem o tamanho, coordenadas, rotaes e restrio geomtrica para aplicar a blocos.</p></body></html>

This group of settings applies to the new image or video blocks created from the main window by means of the button.

For every image format and every project geometry select the style of location to applied to the new blocks.
- Framing styles define how to crop the image to make it compatible with the block in which is displayed.
- The positioning styles define the the size, coordinates, rotations and geometric constraint to apply to blocks.

DlgApplicationSettingsz<html><head/><body><p>Este grupo de definies aplica-se aos novos blocos de imagem ou video criados no dilogo deslizante por meio de <img src=":/img/add_image.png"/> boto.<br/><br/>Para cada formato de imagem e cada geometria do projeto, selecione o estilo de localizao para ser aplicado aos novos blocos. <br/>- Estilos de enquadramento define a forma como cortar a imagem para torn-lo compatvel com o bloco em que exibido.<br/>- Os estilos de posicionamento definem o tamanho, coordenadas, rotaes e restrio geomtrica para aplicar a blocos.</p></body></html>

This group of settings applies to the new image or video blocks created in slide dialogue by means of the button.

For every image format and every project geometry select the style of location to applied to the new blocks.
- Framing styles define how to crop the image to make it compatible with the block in which is displayed.
- The positioning styles define the the size, coordinates, rotations and geometric constraint to apply to blocks.

DlgApplicationSettingsj<html><head/><body><p>Este grupo de definies aplica-se aos novos blocos de texto criados no dilogo deslizante por meio de <img src=":/img/add_text.png"/> boto.</p></body></html>

This group of settings applies to the new text blocks created in slide dialogue by means of the button.

DlgApplicationSettings\Aceitar modificao e sair da caixa de dilogo'Accept modification and exit dialog boxDlgApplicationSettings|Activar filtro desinterlaar quando adicionar novos vdeos MTS3Activate deinterlace filter when add new MTS videosDlgApplicationSettingsAlbum :Album :DlgApplicationSettingsPermite seleccionar a restrio geomtrica aplicada aos novos blocos de texto. - Desbloquear: A forma do bloco livre - Bloquear a geometria projecto: A forma do bloco tem a mesma forma que a imagemAllows to Select the geometric constraint applied to the new text blocks. - Unlock: The shape of the block is free - Lock to project geometry: The shape of the block has the same shape as the imageDlgApplicationSettings\Permite seleccionar o estilo de caracteres aplicada aos novos blocos de texto. Este estilo define a fonte, o seu tamanho, a sua cor e os efeitos de sombra aplicada ao texto.Allows to select the characters style applied to the new text blocks. This style defines the font, its size, its color and the shadow effects applied to the text.DlgApplicationSettingsPermite seleccionar o estilo de caracteres aplicada ao texto dos blocos. Este estilo define a fonte, seu tamanho, sua cor e os efeitos de sombra aplicada ao texto. Observao: Esta configurao aplica-se a todos os formatos de imagem.Allows to select the characters style applied to the text of the blocks. This style defines the font, its size, its color and the shadow effects applied to the text. Remark: This setting apply to all image formats.DlgApplicationSettings*Permite seleccionar o estilo de plano de fundo aplicado aos novos blocos de texto. Esse estilo define a transparncia do bloco e o seu preenchimento.Allows to select the style of background applied to the new text blocks. This style defines the transparency of the block and its filling.DlgApplicationSettingsPermite seleccionar o estilo da forma aplicada aos novos blocos de texto. Este estilo define a forma (rectngulo, crculo, ...), a bordadura, a opacidade e o efeito de sombra aplicada ao bloco. Observao: Esta configurao aplica-se a todos os formatos de imagem.Allows to select the style of the shape applied to the new text blocks. This style defines the shape (rectangle, circle, …), the border, the opaqueness and the shadow effect applied to the block. Remark: This setting apply to all image formats.DlgApplicationSettingsPermite seleccionar o estilo da forma para ser aplicada aos novos blocos de texto. Este estilo define a forma (rectngulo, crculo, ...), a bordadura, a opacidade e o efeito de sombra aplicada ao bloco.Allows to select the style of the shape to applied to the new text blocks. This style defines the shape (rectangle, circle, …), the border, the opaqueness and the shadow effect applied to the block.DlgApplicationSettings|Permite seleccionar, para cada geometria do projeto, o estilo do local aplicado aos novos blocos de texto. Esse estilo define o tamanho, as coordenadas, as rotaes e a restrio geomtrica.Allows to select, for every project geometry, the style of the location applied to the new text blocks. This style defines the size, the coordinates, the rotations and the geometrical constraint.DlgApplicationSettingsPermite que voc abra a caixa de dilogo de Verificar a configurao5Allows you to open the Check configuration dialog boxDlgApplicationSettingsvPermite que voc abra a caixa de dilogo Gerir dispositivos/Allows you to open the Manage device dialog boxDlgApplicationSettings>Acrescentar no final do projetoAppend at project endDlgApplicationSettings&Opes da AplicaoApplication OptionsDlgApplicationSettings&Opes da aplicaoApplication optionsDlgApplicationSettings4Configuraes da aplicaoApplication settingsDlgApplicationSettingsPergunte a confirmao do utilizador para remover slide, objeto ou disparo5Ask user confirmation to remove slide, object or shotDlgApplicationSettingsAudio codec : Audio codec :DlgApplicationSettings Autor:Author :DlgApplicationSettingsjCortar automaticamente vdeo 1920x1088 para 1920x1080/Automatically crop 1920x1088 video to 1920x1080DlgApplicationSettings Fundo BackgroundDlgApplicationSettingsTaxa de bits: Bit rate :DlgApplicationSettings$Animao do Bloco:Block animation:DlgApplicationSettings^Cancelar modificao e sair da caixa de dilogo'Cancel modification and exit dialog boxDlgApplicationSettings0Verificar a configuraoCheck ConfigurationDlgApplicationSettingsvMarque esta caixa se a sua rede exige que voc use um proxyLIBAVFILTER verso: %1.%2.%3.%4 LIBAVFILTER version: %1.%2.%3.%4DlgCheckConfig>LIBAVFORMAT verso: %1.%2.%3.%4 LIBAVFORMAT version: %1.%2.%3.%4DlgCheckConfigBLIBAVRESAMPLE verso: %1.%2.%3.%4"LIBAVRESAMPLE version: %1.%2.%3.%4DlgCheckConfig:LIBAVUTIL verso: %1.%2.%3.%4LIBAVUTIL version: %1.%2.%3.%4DlgCheckConfigBLIBSWRESAMPLE verso: %1.%2.%3.%4"LIBSWRESAMPLE version: %1.%2.%3.%4DlgCheckConfig<LIBSWSCALE verso: %1.%2.%3.%4LIBSWSCALE version: %1.%2.%3.%4DlgCheckConfigXLibExiv2 suporte para visualizao da imagem"LibExiv2 support for preview imageDlgCheckConfig LibExiv2 verso:LibExiv2 version:DlgCheckConfig.Sem Perdas-renderizaoLossless renderingDlgCheckConfig^Verso do sistema operacional: %1 - %2 Core/CPU*Operating system version: %1 - %2 Core/CPUDlgCheckConfigQT verso: %1QT version: %1DlgCheckConfignVerso SDL: %1.%2.%3-Licena=GPL verso 2.1 ou superior6SDL version: %1.%2.%3-Licence=GPL version 2.1 or laterDlgCheckConfigDCaminho de busca definido para: %1Search path set to: %1DlgCheckConfigXVisualizar ajuda sobre esta caixa de dilogo!Show help about this dialogue boxDlgCheckConfig,Caminho de partida: %1Starting path: %1DlgCheckConfig6TAGLib suporte para ASF/WMATAGLib support for ASF/WMADlgCheckConfig0TAGLib suporte para FLACTAGLib support for FLACDlgCheckConfig6TAGLib suporte para M4A/MP4TAGLib support for M4A/MP4DlgCheckConfigTAGLib verso:TAGLib version:DlgCheckConfigLA livraria de fundos contm %1 imagens+The background library contains %1 picturesDlgCheckConfigHA livraria luma contm %1 transies(The luma library contains %1 transitionsDlgCheckConfigPA livraria no-luma contm %1 transies,The non-luma library contains %1 transitionsDlgCheckConfigDFicheiro de traduo carregado: %1Translation file loaded: %1DlgCheckConfigTFicheiro de configurao do utilizador: %1User config file: %1DlgCheckConfigVideo Codecs Video CodecsDlgCheckConfigJCaminho de trabalho definido para: %1Working path set to: %1DlgCheckConfigdisponvel availableDlgCheckConfigJfmt_filters verso:0.6.4-Licensa=LGPL&fmt_filters version:0.6.4-Licence=LGPLDlgCheckConfigno disponvel not availableDlgCheckConfigJVerso qimageblitz:0.6.6-Licena=LGPL&qimageblitz version:0.6.6-Licence=LGPLDlgCheckConfig^% efectuado;Ficheiro destino;Ficheiro de origem#% done;Destination file;Source fileDlgExportProject&Cancelar&CancelDlgExportProject &Ajuda&HelpDlgExportProject&Ok&OkDlgExportProjecttCancelar operaa de exportao e sair da caixa de dilogo*Abort export operation and exit dialog boxDlgExportProjectClique neste boto para seleccionar graficamente uma pasta de destino.@Click on this button to select graphically a destination folder.DlgExportProjectPasta destino:Destination folder:DlgExportProjectDErro durante a cpia de %1 para %2!Error during the copy of %1 to %2DlgExportProjectDErro durante a criao da %1 pasta*Error during the creation of the %1 folderDlgExportProjectbErro durante a exportao do ficheiro do projecto+Error during the export of the project fileDlgExportProjectZErro: Subpasta de projecto no pode ser vazio'Error: Project subfolder can't be emptyDlgExportProject&Cancelar exportao Export cancelDlgExportProject(Exportao efectuada Export doneDlgExportProject"Exportar projectoExport projectDlgExportProject&Arquivo do projecto Project fileDlgExportProject*Projecto - sub pasta:Project subfolder:DlgExportProjectXVisualizar ajuda sobre esta caixa de dilogo!Show help about this dialogue boxDlgExportProject@Incio do processo de exportaoStart export processDlgExportProjectefectuadodoneDlgExportProjecterroerrorDlgExportProjectno inciado not startedDlgExportProjectinciadostartedDlgExportProject&Cancelar&CancelDlgFileExplorer &Ajuda&HelpDlgFileExplorer&Ok&OkDlgFileExplorer\Aceitar modificao e sair da caixa de dilogo'Accept modification and exit dialog boxDlgFileExplorer^Cancelar modificao e sair da caixa de dilogo'Cancel modification and exit dialog boxDlgFileExplorerF1F1DlgFileExplorerXVisualizar ajuda sobre esta caixa de dilogo!Show help about this dialogue boxDlgFileExplorerp%1 seco (s) pendentes devem ser recuperadas mais tarde.%1 pending section(s) should be retrieve laterDlgGMapsGenerationh%1 seco (s) pendentes por recuperar de Google Maps2%1 pending section(s) to retrieve from Google MapsDlgGMapsGeneration&Cancelar&CancelDlgGMapsGeneration^Cancelar modificao e sair da caixa de dilogo'Cancel modification and exit dialog boxDlgGMapsGenerationfBaixar falhou: %1. => Espere 1seg e tente novamente+Download failed: %1. => wait 1sec and retryDlgGMapsGenerationt Erro recebido do Google Maps na Descodificao de imagens.Error decoding image received from Google MapsDlgGMapsGeneration,Gerar mapa Google MapsGenerate Google Maps mapDlgGMapsGeneration&Google parou de responder Pode ser que voc tenha alcanado o nmero mximo de solicitaes permitido. Por favor, tente novamente daqui a uma hora.mGoogle stop responding May be you have reach the maximum number of request allowed. Please retry in one hour.DlgGMapsGeneration&Cancelar&CancelDlgGMapsLocation &Ajuda&HelpDlgGMapsLocation&Ok&OkDlgGMapsLocationUm mapa no slide %1 deve ser regenerado. Voc quer faz-lo agora?@A map on slide %1 must be regenerated. Do you want to do it now?DlgGMapsLocation\Aceitar modificao e sair da caixa de dilogo'Accept modification and exit dialog boxDlgGMapsLocation.Ajustar o nvel de zoomAdjust zoom levelDlgGMapsLocation^Cancelar modificao e sair da caixa de dilogo'Cancel modification and exit dialog boxDlgGMapsLocation^Clique no mapa para seleccionar uma localizao%Click on the map to select a locationDlgGMapsLocation@Clique para seleccionar um coneClick to select an iconDlgGMapsLocation0Diminuir o nvel de zoomDecrease zoom levelDlgGMapsLocation$Baixar falhou: %1.Download failed: %1.DlgGMapsLocation(Editar imagem actualEdit current imageDlgGMapsLocationEditar cone Edit iconDlgGMapsLocationfDigite o endereo postal para encontrar nesta zona.-Enter the postal adress to find in this zone.DlgGMapsLocation>Erro de anlise XML / status KO!Erreur de parsing XML / status KODlgGMapsLocationt Erro recebido do Google Maps na Descodificao de imagens.Error decoding image reveived from Google MapsDlgGMapsLocation(Erro ao analisar XMLError parsing XMLDlgGMapsLocationHErro de anlise XML / raiz incorreta"Error parsing XML / incorrect rootDlgGMapsLocation(Endereo "amigvel":Friendly address:DlgGMapsLocation Nome "amigvel":Friendly name:DlgGMapsLocationpD um nome "amigvel" do endereo para esta localizao)Give a friendly address for this locationDlgGMapsLocationVD um nome "amigvel" para esta localizao&Give a friendly name for this locationDlgGMapsLocation&Endereo do Google:Google address:DlgGMapsLocationGoogle disse: %1 Voc tem certeza de ter escrito o endereo correctamente?CGoogle said: %1 Are you sure to have written the address correctly?DlgGMapsLocation&Google parou de responder Pode ser que voc tenha alcanado o nmero mximo de solicitaes permitido. Por favor, tente novamente daqui a uma hora.mGoogle stop responding May be you have reach the maximum number of request allowed. Please retry in one hour.DlgGMapsLocation cone:Icon:DlgGMapsLocation0Endereo incorreto? (%1)Incorect addres ? (%1)DlgGMapsLocation0Aumentar o nvel de zoomIncrease zoom levelDlgGMapsLocationLatitude: Latitude:DlgGMapsLocationLongitude: Longitude:DlgGMapsLocation*Abrir o menu favoritoOpen the favorite menuDlgGMapsLocationRemover cone Remove iconDlgGMapsLocation.Seleccionar localizaoSelect a locationDlgGMapsLocation4Seleccionar outro ficheiroSelect another fileDlgGMapsLocationXVisualizar ajuda sobre esta caixa de dilogo!Show help about this dialogue boxDlgGMapsLocationO mapa no foi totalmente gerado. Voc quer retomar a gerao agora?OThe map has not been fully generated. Do you want to resume the generation now?DlgGMapsLocation&Erro de anlise XMLXML parsing errorDlgGMapsLocationHErro de anlise XML / raiz incorreta"XML parsing error / incorrect rootDlgGMapsLocation>Erro de anlise XML / estado KOXML parsing error / status KODlgGMapsLocation&Cancelar&CancelDlgImageComposer &Ajuda&HelpDlgImageComposer&Ok&OkDlgImageComposer~<html><head/><body><p><br/>Bloqueio da forma:</p></body></html>:


Block shape :

DlgImageComposerx<html><head/><body><p><br/>Opo de texto:</p></body></html>:


Text option :

DlgImageComposer\Aceitar modificao e sair da caixa de dilogo'Accept modification and exit dialog boxDlgImageComposer$Adicionar ficheiroAdd fileDlgImageComposerAdicionar textoAdd textDlgImageComposer@Adicionar ClipArt bloco de textoAdd ClipArt text blockDlgImageComposerPAdicionar um novo ClipArt bloco de textoAdd a new ClipArt text blockDlgImageComposer^Adicionar um novo bloco do tipo imagem ou vdeo&Add a new block of type image or videoDlgImageComposerPAdicionar um novo bloco de texto simplesAdd a new simple text blockDlgImageComposer@Adicionar um novo bloco de textoAdd a new text blockDlgImageComposer&Adicionar ficheirosAdd fileDlgImageComposerAdiciona um ou vrios novos blocos de imagens ou vdeo. Uma caixa de dilogo de seleo de arquivo aparece permitindo que voc selecione os arquivos. Nota: em caso de seleo mltipla, os arquivos so adicionados na ordem alfabtica dos nomes ou na ordem digitais das fotografias (de acordo com a opo selecionada na caixa de dilogo de configurao).1Add one or several new blocks of images or video. A file selection dialog appears allowing you to select files. Note: in case of multiple selection, files are added in the alphabetical order of the filenames or in the digital order of shots (according to the option selected in the configuration dialog).DlgImageComposer@Adicionar bloco de texto simplesAdd simple text blockDlgImageComposer0Adicionar bloco de textoAdd text blockDlgImageComposerHAlinhar blocos para a parte inferiorAlign blocks to the bottomDlgImageComposer8Alinhar blocos para o centroAlign blocks to the centerDlgImageComposer<Alinhar blocos para a esquerdaAlign blocks to the leftDlgImageComposer4Alinhar blocos para o meioAlign blocks to the middleDlgImageComposer:Alinhar blocos para a direitaAlign blocks to the rightDlgImageComposer4Alinhar blocos para o topoAlign blocks to the topDlgImageComposer2Alinhar na parte inferior Align bottomDlgImageComposer"Alinhar ao centro Align centerDlgImageComposer$Alinhar esquerda Align leftDlgImageComposerAlinhar ao meio Align middleDlgImageComposer"Alinhar direita Align rightDlgImageComposerAlinhar ao topo Align topDlgImageComposerPermite que voc abra caixa de dilogo configuraes das rguas..Allows you to open the rulers settings dialog.DlgImageComposerbPermite que voc selecione uma forma para o bloco. A forma seleccionada ser utilizado como: - A mscara de fuso para as imagens e os vdeos. - A zona de corte para os textos.Allows you to select a shape for the block. The selected shape will be used as: - A fusion mask for the images and the videos. - A cutting zone for texts.DlgImageComposerOrganizar bloco Arrange blockDlgImageComposer Organizar blocosArrange blocksDlgImageComposer Bloco InformaoBlock informationDlgImageComposer*Bloco - coordenadas :Block coordinates :DlgImageComposerBordo :Border :DlgImageComposer^Cancelar modificao e sair da caixa de dilogo'Cancel modification and exit dialog boxDlgImageComposerzAlterar a ordem dos blocos movendo o bloco ativo para o fundoLChange the order of blocks by moving the active block towards the backgroundDlgImageComposerAlterar a ordem dos blocos movendo o bloco ativo para o primeiro planoLChange the order of blocks by moving the active block towards the foregroundDlgImageComposerClip-Art : Clip-Art :DlgImageComposerCopiar bloco Copy blockDlgImageComposerzCopiar o bloco atual para a rea de transferncia ffDiaporama3Copy the current block to the ffDiaporama clipboardDlgImageComposerCopiar o bloco atual para a rea de transferncia ffDiaporama e remov-lo deste slidePCopy the current block to the ffDiaporama clipboard and remove it from the slideDlgImageComposerDCorrigir imagem ou reenquadramentoCorrect or reframe imageDlgImageComposer Ctrl+CCtrl+CDlgImageComposerCtrl+InsCtrl+InsDlgImageComposer Ctrl+VCtrl+VDlgImageComposer Ctrl+XCtrl+XDlgImageComposerCortar bloco Cut blockDlgImageComposerDefine um valor de zoom para o texto. Observao: Para fazer animaes de texto, voc tem que criar pelo menos dois disparos e em seguida: -Definir valores para zoom e rolagem para o 1 disparo -Definir valores diferentes para zoom e rolagem para o 2 Define a zoom value for the text. Remark: To make animations of text, you have to create at least 2 shots then: -Define values for zoom and scrolling for the 1st shot -Define different values for zoom and scrolling for the 2ndDlgImageComposerhDefina o enquadramento e correo de imagem ou filme/Define framing and correction of image or movieDlgImageComposerDefinir o ngulo de rotao em torno do eixo x (expresso em graus)DDefine the angle of rotation about the x-axis (expressed in degrees)DlgImageComposerDefinir o ngulo de rotao em torno do eixo y (expresso em graus)DDefine the angle of rotation about the y-axis (expressed in degrees)DlgImageComposerDefinir o ngulo de rotao em torno do eixo z (expresso em graus)DDefine the angle of rotation about the z-axis (expressed in degrees)DlgImageComposer^Defina a distncia entre o bloco e a sua sombra4Define the distance between the block and its shadowDlgImageComposerPDefina as propriedades do bloco de texto'Define the properties of the text blockDlgImageComposerDefine a espessura da borda. Nota: Este valor definido como 1/1080 da altura do ecr. Um valor 10 corresponde a 10 pontos numa tela de 1920 x 1080 FullHD, mas apenas a 6 pontos numa tela de 1280 x 720. Defines the thickness of the border. Remark: This value is defined as 1/1080 of the height of the screen. A value of 10 corresponds to 10 points on a 1920×1080 FullHD screen, but only to 6 points on a 1280×720 screen.DlgImageComposerDelDelDlgImageComposerfApresentar informaes detalhadas sobre bloco atual-Display detailed information on current blockDlgImageComposer"Exibir informaoDisplay informationDlgImageComposerbExibir informaes do ficheiro de imagem ou vdeo*Display information on image or video fileDlgImageComposerEditar bloco Edit blockDlgImageComposerEditar bloco Edit blockDlgImageComposerEditar texto Edit textDlgImageComposer4Editar modelo de miniaturaEdit thumbnail modelDlgImageComposerInsInsDlgImageComposer$Mover para o fundoMove to backgroundDlgImageComposer2Mover para primeiro planoMove to foregroundDlgImageComposerOpacidade: Opacity :DlgImageComposerColar bloco Paste blockDlgImageComposerxColar bloco da rea de transferncia ffDiaporama e inseri-lo8Paste block from the ffDiaporama clipboard and insert itDlgImageComposervColocar cada bloco, de modo a ter o mesmo espao entre cada:Place each block so as to have the same space between eachDlgImageComposerRemoverRemoveDlgImageComposer8Remover bloco(s) corrente(s)Remove current block(s)DlgImageComposerRepresenta a altura do bloco. Este valor definido como uma percentagem (%) da altura total da imagem ou em pixeis (para um ecr 1080p) de acordo com a unidade definida na janela de configurao.Represents the height of the block. This value is defined as a percentage (%) of the total height of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog.DlgImageComposerRepresenta o deslocamento horizontal do bloco a partir da esquerda. Esta posio definida como uma percentagem (%) da largura total da imagem ou em pixeis (para um ecr 1080p) de acordo com a unidade definida na janela de configurao.Represents the horizontal offset of the block from the left. This position is defined as a percentage (%) of the total width of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog.DlgImageComposerRepresenta o deslocamento vertical do bloco a partir do cima. Esta posio definida como uma percentagem (%) da altura total da imagem ou em pixeis (para um ecr 1080p) de acordo com a unidade definida na janela de configurao.Represents the vertical offset of the block from the top. This position is defined as a percentage (%) of the total height of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog.DlgImageComposerRepresenta a largura do bloco. Este valor definido como uma percentagem (%) da largura total da imagem ou em pixeis (para um ecr 1080p) de acordo com a unidade definida na caixa de dilogo de configurao.Represents the width of the block. This value is defined as a percentage (%) of the total width of the image or in pixels (for a 1080p screen) according to the unit defined in the configuration dialog box.DlgImageComposer&Redefinir para 100% Reset to 100%DlgImageComposerRepor a zero Reset to zeroDlgImageComposer RguasRulersDlgImageComposer.Seleccionar um clip-artSelect a clip-artDlgImageComposerSelecciona em que canto a sombra ser posicionada (ou nenhuma sombra). Observao: a posio da sombra independente da rotao do bloco: o canto inferior direito sempre o canto inferior direito, seja qual for a rotao que aplicada.Select in which corner the shadow will be positioned (or no shadow). Remark: the position of the shadow is independent of rotation of the block: the right lower corner is always the right lower corner, whatever rotation is applied.DlgImageComposer~Seleccione a cor da linha a ser utilizada para desenhar a borda:Select the color of the line to be used to draw the borderDlgImageComposer4Seleccione a cor da sombraSelect the color of the shadowDlgImageComposer<Selecione a opacidade do bloco"Select the opaqueness of the blockDlgImageComposerrSelecione o tipo de linha (linha slida, pontilhada, etc)2Select the type of line (solid, dotted line, etc.)DlgImageComposerSombra :Shadow :DlgImageComposerForma: Shape :DlgImageComposerXVisualizar ajuda sobre esta caixa de dilogo!Show help about this dialogue boxDlgImageComposer TextoTextDlgImageComposerlEste grupo de configuraes lida com gesto de estilo.0This settings group deals with style management.DlgImageComposer Zoom :Zoom :DlgImageComposer4distribuir horizontalmentedistribute horizontallyDlgImageComposer0distribuir verticalmentedistribute verticallyDlgImageComposer&Cancelar&CancelDlgImageCorrection &Ajuda&HelpDlgImageCorrection&Ok&OkDlgImageCorrection\Aceitar modificao e sair da caixa de dilogo'Accept modification and exit dialog boxDlgImageCorrectiondPermite activar ou desactivar as rguas magnticas. Quando as rguas esto habilitados, o rato ir ajustar-se automaticamente para as bordas da foto, facilitando o enquadramento.Allows you to enable or disable the magnetic rulers. When rulers are enabled, the mouse will automatically snap to the edges of the photo, facilitating the framing.DlgImageCorrection^Cancelar modificao e sair da caixa de dilogo'Cancel modification and exit dialog boxDlgImageCorrection Ctrl+ZCtrl+ZDlgImageCorrection*Tamanho personalizado Custom sizeDlgImageCorrectionHExportar mapa actual para um arquivoExport current map to a fileDlgImageCorrectionExportar mapa Export mapDlgImageCorrection.Tamanho de tela inteiraFull screen sizeDlgImageCorrectionMeia tela Half screenDlgImageCorrectionBImagem - enquadramento e correoImage framing and correctionDlgImageCorrection>Bloquear a geometria do projetoLock to project geometryDlgImageCorrection2Bloquear a esta geometriaLock to this geometryDlgImageCorrection"Um quarto da telaQuarter screenDlgImageCorrection,Tamanho de imagem realReal image sizeDlgImageCorrection RguasRulersDlgImageCorrectionXVisualizar ajuda sobre esta caixa de dilogo!Show help about this dialogue boxDlgImageCorrectionMargens de TV TV marginsDlgImageCorrection Um tero da tela Third screenDlgImageCorrection&Dois teros da telaTwo thirds screenDlgImageCorrectionDesfazerUndoDlgImageCorrection<Desfazer ultima aco (CTRL+Z)Undo last action (CTRL+Z)DlgImageCorrectionBloqueioUnlockDlgImageCorrection &Ajuda&Help DlgInfoFile&Ok&Ok DlgInfoFile\Aceitar modificao e sair da caixa de dilogo'Accept modification and exit dialog box DlgInfoFile(Informao adicionalAdditional information DlgInfoFile:Informaes da faixa de udioAudio track information DlgInfoFile.informaes do captuloChapter information DlgInfoFile"Ficheiro -criado:File created : DlgInfoFile*Ficheiro - informaoFile information DlgInfoFile*Ficheiro- modificado: File modify : DlgInfoFile Ficheiro - nome: File name : DlgInfoFile&Ficheiro - tamanho: File size : DlgInfoFile Ficheiro - tipo: File type : DlgInfoFilePara uma imagem: Mostrar as informaes EXIF fornecidas pela cmera. Esta zona pode conter vrias centenas de linhas de acordo com aquilo que as cmeras fornecem. Para assistir um vdeo: Mostra informaes sobre o vdeo. Pelo menos, as informaes sobre a durao do vdeo ser mostrado, mas uma srie de outras informaes podem aparecer de acordo com o que est disponvel no arquivo, tais como: - Criao_tempo:Data e hora de criao do vdeo - Ttulo: campo Ttulo da TAG ID3v2 do vdeo - Artista: Artista do campo TAG ID3v2 do vdeo - Album: lbum do campo TAG ID3v2 do vdeo - Data: campo Data da TAG ID3v2 do vdeo - Comentrio: Comentrio campo da TAG ID3v2 do vdeo - Compositor: O software com o qual o vdeo foi criadoFor an image: Show the EXIF information supplied by the camera. This zone can contain several hundreds of lines according to what the camera supplies. For a video: Show information on the video. At least the information about the duration of the video will be shown, but a lot of other information can appear according to what is available in the file, such as: - Creation_time: Date and time of creation of the video - Title: Title field of the TAG ID3v2 of the video - Artist: Artist field of the TAG ID3v2 of the video - Album: Album field of the TAG ID3v2 of the video - Date: Date field of the TAG ID3v2 of the video - Comment: Comment field of the TAG ID3v2 of the video - Composer: The software with which the video was created DlgInfoFileXVisualizar ajuda sobre esta caixa de dilogo!Show help about this dialogue box DlgInfoFileA data e hora da criao do arquivo no disco (quando voc o transferiu da cmera).eThe date and the hour of creation of the file on the disk (when you transferred it since the camera). DlgInfoFileA data e a hora da ltima modificao do arquivo (quando a foto foi tirada ou quando modificada com um editor de imagem).The date and the hour of the last modification of the file (when the photo was taken or when you modified it with an image editor). DlgInfoFileEsta zona aparece somente para arquivos que contm captulos. Ela contm uma tabela listando todos os captulos presentes no arquivo. Para cada captulo, a seguinte informao exibida: - #: Nmero do captulo - Ttulo: O ttulo do captulo - Incio: A posio temporal do incio do captulo - Fim: A posio temporal do final do captulo - Durao: A durao do captuloThis zone appears only for files containing chapters. it contains a table listing every chapter present in the file. For every chapter, the following information is shown: - #: Chapter number - Title: The title of the chapter - Start: The temporal position of the beginning of the chapter - End: The temporal position of the end of the chapter - Duration: The duration of the chapter DlgInfoFileEsta zona contm um quadro que lista cada faixa de vdeo presente no arquivo. Por cada faixa, a seguinte informao exibida: - #: Nmero da faixa - Tamanho da imagem: O tamanho das imagens da faixa vdeo em nmero de pontos por nmero de linha - Formato de imagem : O tamanho das imagens da faixa de vdeo em milhes de pixels - Geometria da Imagem: A geometria da imagem da faixa de vdeo (4:3, 16:9, etc) - Codec: O codec de vdeo utilizado para comprimir as imagens - Taxa de quadros: O nmero de imagens por segundo do vdeo - Taxa de bits: A taxa de compresso do vdeo (quando disponvel);This zone contains a board listing every video track present in the file. For every track, the following information is shown: - #: Track number - Image size: The size of the images of the video track in number of points by number of line - Image format: The size of the images of the video track in million of pixels - Image geometry: The image geometry of the video track (4:3, 16:9, etc.) - Codec: The video codec used for compressed the images - Frame rate: The number of images per second of the video - Bitrate: The video compression ratio (when available) DlgInfoFilenEsta zona contm uma tabela listando todas as faixas de udio presente no arquivo. Por cada faixa, a seguinte informao exibida: - #: Nmero da faixa - Idioma: O idioma em que st a faixa de udio (geralmente cmeras e mquinas filmar indicam und para indefinido) - Codec: O codec de udio usado para comprimir o som - Canais: O nmero de canais de udio (1 = mono, 2 = stereo, etc) - Taxa de bits: A taxa de compresso de udio (quando disponvel) - Frequncia: A frequncia de amostragem utilizada pela faixa de udio - Ttulo: Um ttulo (quando disponvel)This zone contains a table listing every audio track present in the file. For every track, the following information is shown: - #: Track number - Language: The language in which is the audio track (generally cameras and camcorders indicate und for undefine) - Codec: The audio codec used for compressed the sound - Channels: The number of audio channels (1=mono, 2=stereo, etc.) - Bitrate: The audio compression ratio (when available) - Frequency: The frequency of sampling used by the audio track - Title: A title (when available) DlgInfoFile:Informaes da faixa de vdeoVideo track information DlgInfoFile&Cancelar&CancelDlgManageDevices &Ajuda&HelpDlgManageDevices&Ok&OkDlgManageDevices<html><head/><body><p>Permite a criao de um novo dispositivo, que sero adicionados base de dados.</p><p>A criao de um novo dispositivo feito em 3 etapas:</p><p>1 - Primeiro, voc deve criar um dispositivo</p><p>2 - Voc define os vrios parmetros</p><p>3 - Voc clica no &quot;Aplicar modificaes&quot; boto para registrar os parmetros</p></body></html>Q

Allows you to create a new device which will be added to the database.

The creation of a new device is made in 3 steps:

1- You must first create a device

2- You define the various parameters

3- You click the "Apply modifications" button to register the parameters

DlgManageDevices<html><head/><body><p>Permite que voc apague um dispositivo.</p><p>Note que voc pode excluir os dispositivos que voc criou - os apresentados com o <img src=":/img/db_update.png"/> cone</p></body></html>

Allows you to delete a device.

Note that you can delete only devices which you created – those shown with the icon

DlgManageDevices<html><head/><body><p>Permite que voc selecione a categoria em que o equipamento classificado</p></body></html>n

Allows you to select the category in which the equipment is classified

DlgManageDevices<html><head/><body><p>Digite aqui o nome do dispositivo (campo de entrada de texto livre)</p></body></html>a

Enter here the name of the device (free text entry field)

DlgManageDevices<html><head/><body><p>A zona tipo de dispositivo permite que voc selecione o tipo de equipamento a ser mostrado na lista.</p></body></html>

The device type zone allows you to select the type of equipment to be shown in the list.

DlgManageDevices0<html><head/><body><p>Esta lista mostra as categorias e os tipos de dispositivos presentes no banco de dados.</p><p><img src=":/img/db.png"/> Dispositivos precedidas por este cone so definidos na base de dados por defeito.</p><p><img src=":/img/db_update.png"/> Dispositivos precedidos por este cone so aqueles que voc definiu, ou os do banco de dados padro que voc tenha modificado.</p></body></html>|

This list shows the categories and the device types present in the database.

Devices preceded by this icon are defined in the default database.

Devices preceded by this icon are those that you defined yourself, or those from the default database that you have modified.

DlgManageDevices"<new dispositivo> DlgManageDevices\Aceitar modificao e sair da caixa de dilogo'Accept modification and exit dialog boxDlgManageDevices(Adicione dispositivo Add DeviceDlgManageDevicesAplicarApplyDlgManageDevices(Aplicar modificaesApply modificationDlgManageDevicesAudio codec : Audio codec :DlgManageDevicesTaxa de bits: Bit rate :DlgManageDevices^Cancelar modificao e sair da caixa de dilogo'Cancel modification and exit dialog boxDlgManageDevicesCancelar as modificaes feitas dum perfil predefinido equipamento no banco de dados ffDiaporamadCancel the modifications that you made on a predefined equipment profile in the ffDiaporama databaseDlgManageDevices2Categoria do dispositivo:Device category :DlgManageDevices,Modelo do dispositivo:Device model :DlgManageDevices(Tipo de dispositivo: Device type :DlgManageDeviceslVoc deseja aplicar modificao para este dispositivo?3Do you whant to apply modification for this device?DlgManageDevices$Ficheiro- formato: File format :DlgManageDevices Imagem- formato:Image format :DlgManageDevices$Gerir DispositivosManage DevicesDlgManageDevices ModeloModelDlgManageDevicesNTSCNTSCDlgManageDevicesPALPALDlgManageDevices$Apagar dispositivo Remove DeviceDlgManageDevicesFReiniciar o dispositivo como padroReset Device to DefaultDlgManageDevicesrSelecione codec de audio padro para usar na renderizao/Select the audio codec to use for the renderingDlgManageDeviceszSelecione a taxa de bits para audio para usar na renderizao9Select the bit rate to use for audio during the renderingDlgManageDeviceszSelecione a taxa de bits para video para usar na renderizao9Select the bit rate to use for video during the renderingDlgManageDevicesvSelecione o tipo de arquivo a ser usado para a renderizao-Select the file type to use for the renderingDlgManageDevicesrSelecione o formato de imagem a ser usado na renderizao0Select the image format to use for the renderingDlgManageDevicesdSelecione codec de vdeo para usar na renderizao/Select the video codec to use for the renderingDlgManageDevices`Selecione padro de vdeo para usar, PAL ou NTSC-Select the video standard to use, PAL or NTSCDlgManageDevicesXVisualizar ajuda sobre esta caixa de dilogo!Show help about this dialogue boxDlgManageDevicesTipoTypeDlgManageDevicesVideo codec : Video codec :DlgManageDevices Padro de vdeo:Video standard :DlgManageDevices&Cancelar&CancelDlgManageFavorite &Ajuda&HelpDlgManageFavorite&Ok&OkDlgManageFavoriteDA favorite with this name already exist. Please select another name!DlgManageFavorite\Aceitar modificao e sair da caixa de dilogo'Accept modification and exit dialog boxDlgManageFavorite^Cancelar modificao e sair da caixa de dilogo'Cancel modification and exit dialog boxDlgManageFavoriteGerir favoritosManage favoriteDlgManageFavorite(Novo favorito- nome:New favorite name:DlgManageFavorite ApagarRemoveDlgManageFavorite Apagar favoritosRemove favoriteDlgManageFavoriteRenomearRenameDlgManageFavorite$Renomear favoritosRename favoriteDlgManageFavoriteXVisualizar ajuda sobre esta caixa de dilogo!Show help about this dialogue boxDlgManageFavorite&Cancelar&CancelDlgManageStyle &Ajuda&HelpDlgManageStyle&Ok&OkDlgManageStyle,<html><head/><body><p>Os estilos existentes aparecem com um cone que tem vrios significados:</p><p><img src=":/img/db.png"/> para um estilo padro</p><p><img src=":/img/db_update.png"/> para um estilo padro que voc modificou ou para um estilo personalizado</p></body></html>

The existing styles appear with an icon which has various meanings:

for a standard style

for a standard style you modified or for a custom style

DlgManageStylevUm estilo com este nome j existe. Voc quer substituir-lo?CA style with this name already exist. Do you want to overwrite-it ?DlgManageStylepUm estilo com este nome j existe. Selecione outro nome!AA style with this name already exist. Please select another name!DlgManageStyle\Aceitar modificao e sair da caixa de dilogo'Accept modification and exit dialog boxDlgManageStylelPermite apagar as personalizaes de um estilo padro e, portanto, repr os valores padro para este modelo. Diz respeito tambm ao nome do estilo, bm como as definies associadas.Allows to delete the customizations of a standard style and thus to return it to the default values for this style. It concerns as well the name of the style as the associated settings.DlgManageStyleNPermite remover o estilo personalizado.(Allows to remove the personalized style.DlgManageStyleVPermite mudar o nome do estilo selecionado.$Allows to rename the selected style.DlgManageStyleRTexto preto grande, com contornos brancos"Big black text with white outlinesDlgManageStylelTexto grande, amarelo claro com sombra castanho escuro,Big light yellow text with dark brown shadowDlgManageStyle^Cancelar modificao e sair da caixa de dilogo'Cancel modification and exit dialog boxDlgManageStyle.Gradiente Azul CentradoCentered Blue GradientDlgManageStyle6Gradiente Castanho CentradoCentered Brown GradientDlgManageStyle>Gradiente Cinza-escuro CentradoCentered Dark-Gray GradientDlgManageStyle0Gradiente Verde CentradoCentered Green GradientDlgManageStyle<Gradiente Cinza-claro CentradoCentered Light-Gray GradientDlgManageStyle6Gradiente Vermelho CentradoCentered Red GradientDlgManageStyle"Criar novo estiloCreate new styleDlgManageStyle(Estilo personalizado Custom styleDlgManageStyle,Gerir estilo existenteManage existing styleDlgManageStyleGerir estilo Manage styleDlgManageStylePTexto preto mdio, com contornos brancos%Medium black text with white outlinesDlgManageStylejTexto mdio, amarelo claro com sombra castanho escuro/Medium light yellow text with dark brown shadowDlgManageStyle&Novo estilo - nome:New style name:DlgManageStyle*Rectngulo sem efeitoRectangle with no effectDlgManageStyle ApagarRemoveDlgManageStyleRenomearRenameDlgManageStyleRenomear estilo Rename styleDlgManageStyle.Redefinir para o padroReset to defaultDlgManageStylebRectngulo arredondado com pequena borda castanha)Rounded rectangle with small brown borderDlgManageStyle*Selecione este estiloSelect this styleDlgManageStyleXVisualizar ajuda sobre esta caixa de dilogo!Show help about this dialogue boxDlgManageStyleTTexto preto pequeno, com contornos brancos$Small white text with black outlinesDlgManageStyleEstilo - nome: Style name:DlgManageStyle>Bloco transparente (sem pincel)Transparent block (no brush)DlgManageStyle6Actualizar estilo existenteUpdate existing styleDlgManageStyle*Atualizar este estiloUpdate this styleDlgManageStyle&Cancelar&CancelDlgMusicProperties &Ajuda&HelpDlgMusicProperties&Ok&OkDlgMusicProperties\Aceitar modificao e sair da caixa de dilogo'Accept modification and exit dialog boxDlgMusicProperties:Adicionar ficheiros de msicaAdd music filesDlgMusicPropertiesAdiciona um ficheiro lista de reproduo. Uma caixa de dilogo de seleo de arquivos exibida, permitindo que voc selecione um arquivo[Adds a file to the playlist. A file selection dialog appears, allowing you to select a fileDlgMusicProperties^Cancelar modificao e sair da caixa de dilogo'Cancel modification and exit dialog boxDlgMusicProperties>Alterar o nvel de volume para:Change volume level to :DlgMusicPropertiesMuda a ordem em que os arquivos de msica sero reproduzidas. Move o arquivo atualmente selecionado um passo para baixojChanges the order in which the music files will be played. Moves the currently selected file one step downDlgMusicPropertiesMuda a ordem em que os arquivos de msica sero reproduzidas. Move o arquivo actualmente selecionado um passo para cima.iChanges the order in which the music files will be played. Moves the currently selected file one step up.DlgMusicPropertiesCrditoCreditDlgMusicPropertiesNDefinir o volume do som para esse slide&Define the sound volume for this slideDlgMusicPropertiesDuraoDurationDlgMusicPropertiesFicheiroFileDlgMusicProperties*Musica - propriedadesMusic propertiesDlgMusicProperties@No h configuraes especficasNo specific settingsDlgMusicProperties NormalNormalDlgMusicPropertiesPausa a lista de reproduo atual. Observao: Esta pausa aplicada apenas para o slide selecionadoWPauses the current play list. Remark: This pause is applied only for the selected slideDlgMusicPropertiesjRemove o ficheiro seleccionado da lista de reproduo3Removes the current selected file from the playlistDlgMusicPropertiesEm pausa Set to pauseDlgMusicPropertiesHConfiguraes para a faixa de msicaSettings for the music trackDlgMusicPropertiesXVisualizar ajuda sobre esta caixa de dilogo!Show help about this dialogue boxDlgMusicPropertiesPasta de origem Source folderDlgMusicPropertiesEspecifica que a partir desta posio, o volume do som reduzido. Esta opo particularmente til, por exemplo, para reduzir o som da msica durante a reproduo de um vdeo. Observao: Esta reduo de volume aplicado apenas para o slide selecionado.Specifies that from now on, the sound volume is reduced. This option is particularly useful, for example, to reduce the sound of the music during the play of a video. Remark: This volume reduction is applied only for the selected slide.DlgMusicPropertiesZIniciar uma nova lista de msicas neste slide$Start a new playlist from this slideDlgMusicPropertiesDTotal durao da lista de msica :Total playlist duration : DlgMusicProperties VolumeVolumeDlgMusicPropertiesnVoc pode iniciar uma nova lista de msicas neste slide,You can start a new playlist from this slideDlgMusicProperties4- Tempo restante estimado: - Estimated time left : DlgRenderVideo&Cancelar&CancelDlgRenderVideo &Ajuda&HelpDlgRenderVideo&Ok&OkDlgRenderVideo&Propriedades &PropertiesDlgRenderVideo4(Cdigo de idioma ISO 639)(ISO 639 language code)DlgRenderVideoLUm modelo do dispositivo necessrio!A device model is require!DlgRenderVideopAceitar modificao e iniciar o processo de renderizao/Accept modification and start rendering processDlgRenderVideo<Avanado - vdeo, renderizaoAdvanced render videoDlgRenderVideoTodos os slides All slidesDlgRenderVideoAudio codec : Audio codec :DlgRenderVideoAudio- formato:Audio format :DlgRenderVideoBVelocidade de renderizao mdia:Average render speed :DlgRenderVideoTaxa de bits: Bit rate :DlgRenderVideoCancelar modificao ou processo de renderizao e sair da caixa de dilogoJob completed successfully! Do you want to open the video now?DlgRenderVideorErro de trabalho! Por favor, contate a equipe ffDiaporama*Job error! Please contact ffDiaporama teamDlgRenderVideo^Junta ficheiro XBMC .nfo ao arquivo renderizado$Join XBMC .nfo file to rendered fileDlgRenderVideoLJunta miniatura ao arquivo renderizadoJoin thumbnail to rendered fileDlgRenderVideoIdioma : Language :DlgRenderVideoIdioma deve estar vazio ou com um cdigo de idioma ISO 639 (3 caracteres) Consulte a ajuda para mais detalhes!\Language must be empty or an ISO 639 language code (3 characters) See help for more details!DlgRenderVideoIdioma-selecoLanguage selectionDlgRenderVideoNTSCNTSCDlgRenderVideoTV antiga (4:3) Old TV (4:3)DlgRenderVideo*Sobregravar arquivo ?Overwrite file ?DlgRenderVideoPALPALDlgRenderVideo(Seleo de intervaloRange selectionDlgRenderVideo<Sem Perdas-video, renderizaoRender lossless videoDlgRenderVideo Renderizar vdeo Render videoDlgRenderVideo`Leitor porttil e smartphone-video, renderizao,Render video for mobil player and smartphoneDlgRenderVideoLSistema Multimdia-video, renderizao"Render video for multimedia systemDlgRenderVideo<Para a WEB-video, renderizaoRender video for the WEBDlgRenderVideo$Renderizando para:Rendering to :DlgRenderVideo<Selecione o arquivo de destinoSelect destination fileDlgRenderVideo0Seleccione pasta destinoSelect destination folderDlgRenderVideoSelecione o codec de udio a ser usado para renderizar o vdeo na lista exibida.NSelect the audio codec to be used to render the video from the displayed list.DlgRenderVideoSeleccione a taxa de compresso de udio a partir da lista apresentada.;Select the audio compression ratio from the displayed list.DlgRenderVideoSelecione a freqncia a utilizar para o udio durante a renderizao.;Select the frequency to use for audio during the rendering.DlgRenderVideoSeleccione o formato de imagem a ser usado para renderizar o vdeo a partir na lista exibida.OSelect the image format to be used to render the video from the displayed list.DlgRenderVideoDSeleccione o modelo de equipamentoSelect the model of equipmentDlgRenderVideo@Seleccione o tipo de equipamentoSelect the type of equipmentDlgRenderVideoSelecione o tipo de ficheiro a ser usado para renderizar o vdeo na lista exibida.OSelect the type of file to be used to render the video from the displayed list.DlgRenderVideoSelecione o codec de vdeo a ser usado para renderizar o vdeo na lista exibida.NSelect the video codec to be used to render the video from the displayed list.DlgRenderVideoSelecione a taxa de compresso de vdeo a partir da lista exibida.;Select the video compression ratio from the displayed list.DlgRenderVideobSelecione padro de vdeo para usar, PAL ou NTSC..Select the video standard to use, PAL or NTSC.DlgRenderVideoXVisualizar ajuda sobre esta caixa de dilogo!Show help about this dialogue boxDlgRenderVideo<Mostra a geometria do projeto.!Show the geometry of the project.DlgRenderVideoSeleo de intervalo do slide definido para valores incorretos*Slide range is defined to incorrect valuesDlgRenderVideoSom:Sound :DlgRenderVideo(Parar a renderizaoStop renderingDlgRenderVideoxParar o processo de renderizao e sair da caixa de dilogo *Stop rendering process and exit dialog boxDlgRenderVideoTV Ampla (16:9)TV Wide (16:9)DlgRenderVideopO arquivo selecionado j existe. Voc quer substitu-lo?BThe file you selected already exist. Do you want to overwrite it ?DlgRenderVideo&A renderizao pode ser feita em todo o projeto ou apenas uma parte. Marcar a opo de Todos os slides para renderizar o vdeo do projecto inteiro.The rendering can be made on the whole project or only on a part. By checking the option All slides to render the video of the whole project.DlgRenderVideoA renderizao pode ser feita em todo o projeto ou apenas uma parte. Marcar a opo a partir de, e em seguida, digitar os nmeros do incio e fim para gerar um vdeo de apenas uma parte do projeto.The rendering can be made on the whole project or only on a part. By checking the option From and then entering the numbers of the start and end slides to generate a video of only a part of the project.DlgRenderVideoPEste boto permite que voc abra caixa de dilogo de propriedades do projecto. Ele permite que voc ajuste as propriedades antes de gerar o vdeo. Nota: as propriedades do projeto so salvos no vdeo como TAG (metadados), que so usados por uma srie de programas de indexao ou por jukeboxes.This button allows you to open project properties dialog. It allows you to adjust the properties before generating the video. Note: the project properties are saved into the video as TAG (METADATA) which are used by a lot of indexing programs or by jukeboxes.DlgRenderVideoParaToDlgRenderVideo Para renderizar: To render :DlgRenderVideo Progresso totalTotal progressionDlgRenderVideo*Taxa de bits varivelVariable bitrateDlgRenderVideoVideo codec : Video codec :DlgRenderVideoVideo- formato:Video format :DlgRenderVideo Padro de vdeo:Video standard :DlgRenderVideoqpsfpsDlgRenderVideo filmemovieDlgRenderVideoTrilha-sonora soundtrackDlgRenderVideoindundDlgRenderVideo&Cancelar&Cancel DlgRulerDef &Ajuda&Help DlgRulerDef&Ok&Ok DlgRulerDef\Aceitar modificao e sair da caixa de dilogo'Accept modification and exit dialog box DlgRulerDef^Cancelar modificao e sair da caixa de dilogo'Cancel modification and exit dialog box DlgRulerDeffAtivar ou desativar as rguas horizontal do centro, da borda superior, da borda inferior, do lado esquerdo e do lado direito de cada um dos objetos que no fazem parte da seleo.Enable or disable horizontal rulers of the center, of the top edge, of the bottom edge, of the left edge and of the right edge of each objects which are not a part of the selection. DlgRulerDefAtivar ou desativar a rgua para as margens horizontais de TV. Em ffDiaporama, as margens de TV so do tipo "Ttulo rea de segurana" e que so definidos em 90% em largura e 90% em altura, para todas as geometrias do projecto.Enable or disable ruler for the horizontal TV margins. In ffDiaporama, the TV margins are of type "Title safe area" and are defined on 90% in width and 90% in height, for all the project geometries. DlgRulerDefzAtivar ou desativar a rgua para o centro horizontal da tela.@Enable or disable ruler for the horizontal center of the screen. DlgRulerDefAtivar ou desativar a rgua para as margens horizontais da tela.?Enable or disable ruler for the horizontal edges of the screen. DlgRulerDefAtivar ou desativar a rgua para as margens verticais de TV. Em ffDiaporama, as margens de TV so do tipo "Ttulo rea de segurana" e que so definidos em 90% em largura e 90% em altura, para todas as geometrias do projecto.Enable or disable ruler for the vertical TV margins. In ffDiaporama, the TV margins are of type "Title safe area" and are defined on 90% in width and 90% in height, for all the project geometries. DlgRulerDefvAtivar ou desativar a rgua para o centro vertical da tela.>Enable or disable ruler for the vertical center of the screen. DlgRulerDefAtivar ou desativar a rgua para as extremidades verticais da tela.=Enable or disable ruler for the vertical edges of the screen. DlgRulerDef^Ativar ou desativar rguas verticais do centro, da borda superior, da borda inferior, do lado esquerdo e do lado direito de cada um dos objetos que no fazem parte da seleo.Enable or disable vertical rulers of the center, of the top edge, of the bottom edge, of the left edge and of the right edge of each objects which are not a part of the selection. DlgRulerDef$Rguas horizontaisHorizontal rulers DlgRulerDef(Rgua - propriedadesRuler properties DlgRulerDefCentro da tela Screen center DlgRulerDefXVisualizar ajuda sobre esta caixa de dilogo!Show help about this dialogue box DlgRulerDefMargens de TV TV margins DlgRulerDef0Objetos no selecionadosUnselected objects DlgRulerDef Rguas verticaisVertical rulers DlgRulerDef$Fronteiras da telascreen borders DlgRulerDef&Cancelar&CancelDlgSlideDuration &Ajuda&HelpDlgSlideDuration&Ok&OkDlgSlideDuration\Aceitar modificao e sair da caixa de dilogo'Accept modification and exit dialog boxDlgSlideDuration^Cancelar modificao e sair da caixa de dilogo'Cancel modification and exit dialog boxDlgSlideDurationJDefine a durao do primeiro disparo.&Define the duration of the first shot.DlgSlideDuration&Durao 1 disparo:First shot duration :DlgSlideDurationHH:mm:ss.zzz HH:mm:ss.zzzDlgSlideDurationnDefinir a durao 1 disparo para um conjunto de slides+Set first shot duration for a set of slidesDlgSlideDurationXVisualizar ajuda sobre esta caixa de dilogo!Show help about this dialogue boxDlgSlideDuration*Bloco - coordenadas : Block coordinates :DlgSlideProperties\Bloqueio da forma (comum a todos os disparos):# Block shape (common to all shots):DlgSlideProperties&Cancelar&CancelDlgSlideProperties &Ajuda&HelpDlgSlideProperties&Ok&OkDlgSlideProperties<html><head/><body><p><br/>Animaes - configuraes:</p></body></html>@


Animation settings:

DlgSlideProperties<html><head/><body><p><br/>Bloco - animaes :</p></body></html>>


Block animation :

DlgSlideProperties~<html><head/><body><p><br/>Texto - animao :</p></body></html>=


Text animation :

DlgSlideProperties\Aceitar modificao e sair da caixa de dilogo'Accept modification and exit dialog boxDlgSlideProperties\Aceitar modificao e ir para o slide seguinte(Accept modification and go to next slideDlgSlideProperties\Aceitar modificao e ir para o slide anterior,Accept modification and go to previous slideDlgSlideProperties$Adicionar ficheiroAdd fileDlgSlideProperties"Adicionar disparoAdd shotDlgSlideProperties$Adicionar especial Add specialDlgSlidePropertiesAdicionar textoAdd textDlgSlideProperties@Adicionar ClipArt bloco de textoAdd ClipArt text blockDlgSlideProperties.Adicionar um mapa GMapsAdd a GMaps mapDlgSlidePropertiesZAdicionar um mapa a partir de mapas do GoogleAdd a map from Google mapsDlgSlidePropertiesPAdicionar um novo ClipArt bloco de textoAdd a new ClipArt text blockDlgSlideProperties^Adicionar um novo bloco do tipo imagem ou vdeo&Add a new block of type image or videoDlgSlidePropertiesPAdicionar um novo bloco de texto simplesAdd a new simple text blockDlgSlideProperties@Adicionar um novo bloco de textoAdd a new text blockDlgSlideProperties&Adicionar ficheirosAdd fileDlgSlidePropertiesRAdicionar imagem da rea de transfernciaAdd image from clipboardDlgSlidePropertiesAdiciona um ou vrios novos blocos de imagens ou vdeo. Uma caixa de dilogo de seleo de arquivo aparece permitindo que voc selecione os arquivos. Nota: em caso de seleo mltipla, os arquivos so adicionados na ordem alfabtica dos nomes ou na ordem digitais das fotografias (de acordo com a opo selecionada na caixa de dilogo de configurao).1Add one or several new blocks of images or video. A file selection dialog appears allowing you to select files. Note: in case of multiple selection, files are added in the alphabetical order of the filenames or in the digital order of shots (according to the option selected in the configuration dialog).DlgSlideProperties"Adicionar disparoAdd shotDlgSlideProperties@Adicionar bloco de texto simplesAdd simple text blockDlgSlideProperties0Adicionar bloco de textoAdd text blockDlgSlidePropertiesHAlinhar blocos para a parte inferiorAlign blocks to the bottomDlgSlideProperties8Alinhar blocos para o centroAlign blocks to the centerDlgSlideProperties<Alinhar blocos para a esquerdaAlign blocks to the leftDlgSlideProperties4Alinhar blocos para o meioAlign blocks to the middleDlgSlideProperties:Alinhar blocos para a direitaAlign blocks to the rightDlgSlideProperties4Alinhar blocos para o topoAlign blocks to the topDlgSlideProperties2Alinhar na parte inferior Align bottomDlgSlideProperties"Alinhar ao centro Align centerDlgSlideProperties$Alinhar esquerda Align leftDlgSlidePropertiesAlinhar ao meio Align middleDlgSlideProperties"Alinhar direita Align rightDlgSlidePropertiesAlinhar ao topo Align topDlgSlidePropertiesPermite que voc abra caixa de dilogo configuraes das rguas..Allows you to open the rulers settings dialog.DlgSlidePropertieshPermite seleccionar um tamanho de bloco pr-definido-Allows you to select a pre-defined block sizeDlgSlidePropertiesLPermite seleccionar um estilo de reenquadramento da imagem. Ele tem o mesmo efeito que seleccionar um estilo reenquadramento e correo de imagem na caixa de dilogo.Allows you to select a reframing style for the image. It has the same effect as selecting a style in the Image framing and correction dialog.DlgSlidePropertiesbPermite que voc selecione uma forma para o bloco. A forma seleccionada ser utilizado como: - A mscara de fuso para as imagens e os vdeos. - A zona de corte para os textos.Allows you to select a shape for the block. The selected shape will be used as: - A fusion mask for the images and the videos. - A cutting zone for texts.DlgSlidePropertiesPermite que voc selecione as restries geomtricas a serem aplicadas ao bloco. Trs tipo de restrio esto disponveis: - No h restrio aplicado o rectngulo de seleo. - Bloqueio rectngulo de seleo para a geometria real. No tem nenhum significado at que voc tenha definido uma forma em modo "nenhum constrangimento". - Bloquear rectngulo de seleo para a mesma geometria que o projecto, de modo que, se voc colocar a imagem em tela cheia, a parte reenquadrada corresponder a toda a tela.Allows you to select the geometrical constraints to be applied to the block. Three type of constraint are available: - No constraint is applied to the selection rectangle. - Lock selection rectangle to the actual geometry. It has no meaning until you have defined a shape in "no constraint" mode. - Lock selection rectangle to the same geometry as the project, such that, if you place the image in full screen, the reframed part will correspond to the whole screen.DlgSlidePropertiesAparecerAppearDlgSlidePropertiesAparecer: O bloco ser exibido durante o disparo Desaparecer: O bloco ir desaparecer durante o disparo Piscar: O bloco ir piscar durante o disparo (aparece e em seguida, desaparece). 4 velocidades so propostos (de lenta at muito rpida).Appear: The block will appear during the shot Disappear: The block will disappear during the shot Blink: The block will blink during the shot (appear then disappear). 4 speeds are proposed (from slow to very fast).DlgSlidePropertiesXAnexar um disparo no final da linha do tempo(Append a shot at the end of the timelineDlgSlidePropertiesXAnexar um disparo no final da linha do tempo$Append a shot to end of the timelineDlgSlidePropertiesRAcrescente ao captulo modelos de ttulosAppend to chapter title modelsDlgSlidePropertiesTAcrescente aos crditos modelos de ttulosAppend to credit title modelsDlgSlidePropertiesRAcrescente ao projecto modelos de ttulosAppend to project title modelsDlgSlideProperties\Tem certeza de que deseja excluir estes bloco?-Are you sure you want to delete these blocks?DlgSlidePropertiesZTem certeza de que deseja excluir este bloco?+Are you sure you want to delete this block?DlgSlideProperties^Tem certeza de que deseja excluir este disparo?*Are you sure you want to delete this shot?DlgSlidePropertiesOrganizar bloco Arrange blockDlgSlideProperties Organizar blocosArrange blocksDlgSlideProperties2Piscar em alta velocidadeBlink at fast speedDlgSlideProperties4Piscar em velocidade mdiaBlink at medium speedDlgSlideProperties4Piscar em velocidade lentaBlink at slow speedDlgSlideProperties>Piscar em muito alta velocidadeBlink at very fast speedDlgSlideProperties Bloco InformaoBlock informationDlgSlidePropertiesBordo :Border :DlgSlideProperties^Cancelar modificao e sair da caixa de dilogo'Cancel modification and exit dialog boxDlgSlidePropertieszAlterar a ordem dos blocos movendo o bloco ativo para o fundoLChange the order of blocks by moving the active block towards the backgroundDlgSlidePropertiesAlterar a ordem dos blocos movendo o bloco ativo para o primeiro planoLChange the order of blocks by moving the active block towards the foregroundDlgSlidePropertiesAlterar a ordem dos disparos movendo o disparo atual selecionado um entalhe para a esquerdaZChange the order of the shots by moving the current selected shot a notch towards the leftDlgSlidePropertiesAlterar a ordem dos disparos movendo o disparo atual selecionado um entalhe para a direita[Change the order of the shots by moving the current selected shot a notch towards the rightDlgSlideProperties&Captulo InformaoChapter InformationDlgSlidePropertiesClip-Art : Clip-Art :DlgSlidePropertiesCopiar bloco Copy blockDlgSlidePropertieszCopiar o bloco atual para a rea de transferncia ffDiaporama3Copy the current block to the ffDiaporama clipboardDlgSlidePropertiesCopiar o bloco atual para a rea de transferncia ffDiaporama e remov-lo deste slidePCopy the current block to the ffDiaporama clipboard and remove it from the slideDlgSlidePropertiesDCorrigir imagem ou reenquadramentoCorrect or reframe imageDlgSlidePropertiesDCorrigir imagem ou reenquadramentoEAction title in slide edit dialog + dialog title of image edit dialogCorrect or reframe imageDlgSlidePropertieslCorrigir, reenquadrar ou cortar um mapa do Google Maps)Correct, reframe or cut a Google Maps mapDlgSlidePropertiesPCorrigir reenquadramento ou cortar vdeoCorrect, reframe or cut videoDlgSlideProperties|Criar um novo bloco usando uma imagem da rea de transferncia-Create a new block using image from clipboardDlgSlideProperties Ctrl+CCtrl+CDlgSlidePropertiesCtrl+InsCtrl+InsDlgSlideProperties Ctrl+VCtrl+VDlgSlideProperties Ctrl+XCtrl+XDlgSlideProperties Ctrl+ZCtrl+ZDlgSlidePropertiesCortar bloco Cut blockDlgSlidePropertiesDefinir Modificar mapa Google Maps e do enquadramento e correo do mapa?Define Modify Google Maps map and framing and correction of mapDlgSlidePropertiesDefina um nome para o slide. este nome que aparecer na miniatura na linha do tempo da janela principalkDefine a name for the slide. It is this name which will appear on the thumbnail in the main window timelineDlgSlidePropertiesDefine um valor de zoom para o texto. Observao: Para fazer animaes de texto, voc tem que criar pelo menos dois disparos e em seguida: -Definir valores para zoom e rolagem para o 1 disparo -Definir valores diferentes para zoom e rolagem para o 2 Define a zoom value for the text. Remark: To make animations of text, you have to create at least 2 shots then: -Define values for zoom and scrolling for the 1st shot -Define different values for zoom and scrolling for the 2ndDlgSlidePropertiesVDefine o enquadramento e correo de imagem&Define framing and correction of imageDlgSlidePropertieszDefine o enquadramento e correo de imagem ou corte de video3Define framing and correction of image or cut videoDlgSlidePropertieshDefina o enquadramento e correo de imagem ou filme/Define framing and correction of image or movieDlgSlidePropertiesjDefinir o enquadramento e correo de imagem vetorial-Define framing and correction of image vectorDlgSlidePropertiesDefinir o ngulo de rotao em torno do eixo x (expresso em graus)DDefine the angle of rotation about the x-axis (expressed in degrees)DlgSlidePropertiesDefinir o ngulo de rotao em torno do eixo y (expresso em graus)DDefine the angle of rotation about the y-axis (expressed in degrees)DlgSlidePropertiesDefinir o ngulo de rotao em torno do eixo z (expresso em graus)DDefine the angle of rotation about the z-axis (expressed in degrees)DlgSlideProperties^Defina a distncia entre o bloco e a sua sombra4Define the distance between the block and its shadowDlgSlidePropertiesDefine o nmero de rotaes em torno do eixo X, que est a efectuar durante este disparo. Observao: o sentido de rotao definido pelo sinal, para +5 vai dar 5 rotaes numa direo enquanto -5 vai dar 5 rotaes na outra direo.Define the number of rotations around the X axis that is to be made during this shot. Remark: the rotation direction is defined by the sign, so +5 will give 5 rotations in one direction while -5 will give 5 rotations in the other direction.DlgSlidePropertiesDefinir o nmero de rotaes em torno do eixo Y, que ser efectuado durante este disparo. Observao: o sentido de rotao definido pelo sinal, para +5 vai dar 5 rotaes numa direo enquanto -5 vai dar 5 rotaes na outra direo.Define the number of rotations around the Y axis that is to be made during this shot. Remark: the rotation direction is defined by the sign, so +5 will give 5 rotations in one direction while -5 will give 5 rotations in the other direction.DlgSlidePropertiesDefinir o nmero de rotaes em torno do eixo Z, que deve ser efectuado durante este disparo. Observao: o sentido de rotao definido pelo sinal, para +5 vai dar 5 rotaes numa direo enquanto -5 vai dar 5 rotaes na outra direo.Define the number of rotations around the Z axis that is to be made during this shot. Remark: the rotation direction is defined by the sign, so +5 will give 5 rotations in one direction while -5 will give 5 rotations in the other direction.DlgSlidePropertiesPDefina as propriedades do bloco de texto'Define the properties of the text blockDlgSlidePropertiesDefine a espessura da borda. Nota: Este valor definido como 1/1080 da altura do ecr. Um valor 10 corresponde a 10 pontos numa tela de 1920 x 1080 FullHD, mas apenas a 6 pontos numa tela de 1280 x 720. Defines the thickness of the border. Remark: This value is defined as 1/1080 of the height of the screen. A value of 10 corresponds to 10 points on a 1920×1080 FullHD screen, but only to 6 points on a 1280×720 screen.DlgSlidePropertiesDelDelDlgSlidePropertiesDesaparecer DisappearDlgSlidePropertiesfApresentar informaes detalhadas sobre bloco atual-Display detailed information on current blockDlgSlideProperties"Exibir informaoDisplay informationDlgSlidePropertiesbExibir informaes do ficheiro de imagem ou vdeo*Display information on image or video fileDlgSlidePropertiesDissolverDissolveDlgSlidePropertiesDissolver : Dissolve :DlgSlidePropertiesVoc deseja aplicar a este bloco as propriedades que tem no disparo anterior?NDo you want to apply to this block the properties it has in the previous shot?DlgSlidePropertiesDurao: Duration:DlgSlidePropertiesEditar bloco Edit blockDlgSlidePropertiesEditar bloco Edit blockDlgSlidePropertiesEditar texto Edit textDlgSlidePropertieszDar o som, durante este disparo, para o bloco de vdeo actual
Free Software (Open Source) and is distributed under the GNU General Public License (GPL) version 2 HelpPopup 2011-2013 A Equipe ffDiaporama - Este wiki e todos os recursos que ele contm esto sob licena`©2011-2013 The ffDiaporama Team - This wiki and all the resources it contains are under license HelpPopup(%1 audio - ficheiros%1 audio files MainWindowH%1 ficheiros de projecto ffDiaporama%1 ffDiaporama project files MainWindow%1 ficheiros%1 files MainWindow%1 pastas %1 folders MainWindow*%1 imagem - ficheiros%1 image files MainWindow<%1 arquivos de imagem vetorial%1 image vector files MainWindow(%1 video - ficheiros%1 video files MainWindow...... MainWindow<html><body>Adicione slides vazios ou slides com base em fotos ou vdeos<br>Para descobrir como construir a sua apresentao de slides e como animar os slides:<br><a href="%1">Como trabalha ffDiaporama</a></body></html>Add empty slides or slides based on photos or videos
To discover how to build your slide show and to animate slides:
Discover the principles of functioning of ffDiaporama MainWindow$<html><body>Selecione um projeto para abrir ou crie um novo projeto<br>Para descobrir ffDiaporama:<br><a href="%1">Consulte WIKI</a></body></html>Select a project to open or to create a new project
To discover ffDiaporama:
Consult the WIKI MainWindow<html><body>Selecione o tipo de equipamento que voc pretende usar para o seu vdeo<br>Para descobrir como renderizar vdeos:<br><a href="%1">Consulte a pgina WIKI - Renderizao de vdeos </a></body></html>Select the equipment type that you plan to use for your video
To discover how to render videos:
Consult the rendering videos WIKI page MainWindow<html><body>Visite o site da ffDiaporama para usar o frum,<br>consulte tutoriais e saiba as ltimas notcias:<br><a href="http://ffdiaporama.tuxfamily.org">http://ffdiaporama.tuxfamily.org</a></body></html>Visit the ffDiaporama Web site to use the forum,
consult tutorials and learn the lastest news:
http://ffdiaporama.tuxfamily.org MainWindow<new projecto>  MainWindowUm favorito com a mesma aproximao, para este caminho j existe. Voc quer substitu-lo?JA favorite with for this path already exists. Do you want to overwrite it? MainWindowxUm favorito com este nome j existe. Voc quer substitu-lo?FA favorite with this name already exists. Do you want to overwrite it? MainWindowUma nova verso est disponvel no site WEB. Por favor actualize a partir de http://ffdiaporama.tuxfamily.org!_A new release is available from WEB site. Please update from http://ffdiaporama.tuxfamily.org ! MainWindowUma nova verso est disponvel no site WEB. Voc quer baix-la agora?IA new version is available from WEB site. Do you want to download it now? MainWindow AcercaAbout MainWindow&Adicionar ficheiros Add files MainWindow$Adicionar projecto Add project MainWindow Adicionar ttulo Add title MainWindow:Adicionar um mapa Google MapsAdd a Google Maps map MainWindow"Adicionar um mapa Add a map MainWindowNAdiciona um titulo de slide predefinidoAdd a predefined title slide MainWindowzAdicionar um projeto previamente salvo no final deste projeto9Add a previously saved project at the end of this project MainWindow2Adicionar um sub-projectoAdd a sub project MainWindow0Adicionar um slide vazioAdd an empty slide MainWindow<Adicionar ficheiro ao projectoAdd file to project MainWindow@Adicionar ficheiro ao projecto :Add file to project : MainWindow&Adicionar ficheiros Add files MainWindow<Adicionar ficheiro ao projectoAdd files to project MainWindowTAdicionar imagem ou vdeo,como slide (INS)!Add image or video as slide (INS) MainWindow$Adicionar projecto Add project MainWindow:Adicionar arquivo de projeto:Add project file : MainWindow Adicionar ttulo Add title MainWindow.Adicionar aos favoritosAdd to favorite MainWindowAvanadoAdvanced MainWindow$Todos os ficheiros All files MainWindow>Todos os ficheiros suportados (All suported file ( MainWindowTem certeza que deseja apagar este arquivo ou pasta? (Ateno: O contedo no ser movido para a lixeira)ZAre you sure to delete this file or folder ? (Warning: Content will not be moved to trash) MainWindowTem certeza que deseja apagar esta pasta? (Ateno: O contedo no ser movido para a lixeira)RAre you sure to remove this folder ? (Warning: Content will not be moved to trash) MainWindowbTem certeza de que deseja apagar estes %1 slides?0Are you sure you want to remove these %1 slides? MainWindowXTem certeza de que deseja apagar este slide?+Are you sure you want to remove this slide? MainWindow,Chame ffDiaporama WIKICall ffDiaporama WIKI MainWindow"Capturar a imagem Capture image MainWindow$Capturar a imagem Capture the image  MainWindowfAlterar as configuraes do aplicativo e do projeto'Change application and project settings MainWindowCaptulo:  Chapter:  MainWindow Captulo: xx/xxxChapter: xx/xxx MainWindow Fechar aplicaoClose application MainWindow CopiarCopy MainWindowjCopie slide atual para rea de transferncia (Ctrl+C)(Copy current slide to clipboard (Ctrl+C) MainWindowCopie slide atual para rea de transferncia e remova-o (Ctrl+X)6Copy current slide to clipboard and remove it (Ctrl+X) MainWindowHCriar um novo projeto vazio (Ctrl+N)#Create a new empty project (Ctrl+N) MainWindow Ctrl+CCtrl+C MainWindow Ctrl+VCtrl+V MainWindow Ctrl+XCtrl+X MainWindowbProjeto atual foi modificado. Voc quer salva-lo?;Current project has been modified. Do you want to save-it ? MainWindow CortarCut MainWindow.Definir uma localizaoDefine a location MainWindow>Definir propriedades do projetoDefine project properties MainWindow ApagarDel MainWindowjMostrar blog / pgina de notcias do site da Internet-Display blog/news page from internet WEB site MainWindowHExibir informaes sobre ffDiaporama%Display information about ffDiaporama MainWindowJVoc quer seleccionar outro ficheiro?$Do you want to select another file ? MainWindow EditarEdit MainWindowEditar fundoEdit background MainWindowPEditar transio de entrada para o slide&Edit entering transition for the slide MainWindowEditar musica Edit music MainWindow4Editar transio de objetoEdit object transition MainWindowEditar slide Edit slide MainWindowJEditar a imagem de fundo para o slide'Edit the background image for the slide MainWindow"Editar este slideEdit the slide MainWindowTEditar o slide musical lista de reproduoEdit the slide musical playlist MainWindow.Editar esta localizaoEdit this location MainWindow$Ampliar miniaturasEnlarge thumbnails MainWindowErroError MainWindownErro na alocao de memria para renderizao de imagem(Error allocating memory for render image MainWindowTErro na criao do arquivo de configurao!Error creating configuration file MainWindowFErro na criao do arquivo de dadosError creating data file MainWindow>Erro ao criar arquivo de modeloError creating model file MainWindowErro durante a inicializao do sistema de som. Verifique a sua configurao e tente novamenteSError during initialisation of sound system. Check your configuration and try again MainWindow8Erro durante a inicializaoError during startup MainWindowZErro ao obter imagem da rea de transferncia"Error getting image from clipboard MainWindowErro na inicializao do banco de dados do utilizador domstico ffDiaporama no pode iniciar=Error initialising home user database ffDiaporama can't start MainWindowErro na inicializao do banco de dados do utilizador domstico...(Error initialising home user database... MainWindow@Erro no carregamento do arquivo:Error loading file : MainWindow4Erro ao carregar o recursoError loading ressource MainWindowTErro de leitura do arquivo de configurao Error reading configuration file MainWindowlErro de leitura do conteudo do arquivo de configurao+Error reading content of configuration file MainWindowdErro de leitura do conteudo do arquivo de projecto%Error reading content of project file MainWindowLErro de leitura do arquivo de projectoError reading project file MainWindowErro ao ler estado da janela de %1 a partir do banco de dados do utilizador domstico8Error reading window state of %1 from home user database MainWindowSairExit MainWindow8Sair da aplicao (Ctrl + W)Exit application (Ctrl+W) MainWindow,Exportar trilha sonoraExport Soundtrack MainWindowExportar projecto actual e todos os ficheiros usados para uma nova pasta9Export current project and all used files in a new folder MainWindow"Exportar projectoExport project MainWindowFavorito- nome:Favorite name: MainWindowFicheiroFile MainWindow Pasta:Folder: MainWindowPara a WEB For the WEB MainWindow*Formato no suportadoFormat not supported MainWindow AjudaHelp MainWindow2Ocultar nome de arquivos Hide files name MainWindowDOcultar ficheiros e pastas ocultosHide hidden files and folders MainWindow&Imagem- ficheiros ( Image file ( MainWindow"Imagem- ficheiros Image files MainWindow8Arquivo vetorial de imagem (Image vector file ( MainWindow6Arquivos de imagem vetorialImage vector files MainWindow6Impossvel apagar ficheiro!Impossible to delete file! MainWindownImpossvel apagar pasta! Tem certeza de que est vazia?6Impossible to delete folder! Are you sure it is empty? MainWindowImpossvel importar este arquivo: Geometria da imagem neste arquivo no o mesmo do que o projeto atualeImpossible to import this file : Image geometry in this file is not the same than the current project MainWindow4Impossvel abrir ficheiro Impossible to open file  MainWindowNImpossvel abrir arquivo do projecto %1"Impossible to open project file %1 MainWindow\Impossvel ler uma imagem a partir do ficheiro)Impossible to read an image from the file MainWindowHImpossvel ler uma imagem do arquivo*Impossible to read one image from the file MainWindowTImpossvel apagar ficheiro %1 - erro %2:%3*Impossible to remove file %1 - error %2:%3 MainWindowNImpossvel apagar pasta %1 - erro %2:%3,Impossible to remove folder %1 - error %2:%3 MainWindow<Impossvel renomear ficheiro!Impossible to rename file! MainWindow:Impossvel renomear a pasta!Impossible to rename folder! MainWindow,WIKI inicializao ... Init WIKI... MainWindownInicializao banco de dados do utilizador domstico...Init home user database... MainWindowPInicializao Navegador de multimdia...Init multimedia browser... MainWindow4Inicializao tradues...Init translations... MainWindowzNmero de verso mais recente do ffDiaporama indeterminvel6Latest version number of ffDiaporama is indeterminable MainWindowFCarregando biblioteca de fundos ...Loading background library... MainWindow*Carregando o arquivo:Loading file : MainWindow:Carregando arquivo de recursoLoading file from ressource MainWindow:Carregando transies Luma...Loading luma transitions... MainWindowBCarregando transies no-Luma...Loading no-luma transitions... MainWindowDCarregando recursos do projecto:%1Loading project ressources: %1 MainWindow,Carregando slide %1/%2Loading slide %1/%2 MainWindow@Carregando cones do sistema ...Loading system icons... MainWindowTCarregando biblioteca moldura de texto ...Loading text frame library... MainWindowSem PerdasLossless MainWindowGerir favoritosManage favorites MainWindow&Gesto de ficheiros Managed files MainWindow$Sistema MultimdiaMultimedia system MainWindow8Mltiplos tipos de ficheirosMultiple file types MainWindow$Musica ficheiros ( Music file ( MainWindow Musica ficheiros Music files MainWindowNovo projecto New project MainWindowNovo nome: New name: MainWindow:Faixa de udio no encontradaNo audio track found MainWindow AbrirOpen MainWindowAbrir projecto Open project MainWindowAbrir recente Open recent MainWindowZAbrir um projeto salvo anteriormente (Ctrl+O)(Open a previously saved project (Ctrl+O) MainWindow\Abrir um arquivo de projeto usado recentemente!Open a recently used project file MainWindow Abrir ficheiro : Open file : MainWindowAbrir projecto Open project MainWindow2Abrir arquivo de projectoOpen project file MainWindow ColarPaste MainWindowfColar slide atual da rea de transferncia (Ctrl+V)+Paste current slide from clipboard (Ctrl+V) MainWindow&Leitor e smartphonePlayer and smartphone MainWindowProjectoProject MainWindow*Projecto propriedadesProject properties MainWindowPropriedades Properties MainWindow,Aleatorizar transiesRandomize transitions MainWindow6Ler arquivo de configuraoRead configuration file MainWindow$Reduzir miniaturasReduce thumbnails MainWindowAtualizar todos Refresh All MainWindow,Registrando modelos...Register models... MainWindowRemoverRemove MainWindow2Remover slide atual (DEL)Remove current slide (DEL) MainWindowApagar ficheiro Remove file MainWindow"Apagar ficheiro : Remove file : MainWindow Apagar ficheiros Remove files MainWindowApagar pasta Remove folder MainWindow.Apagar mltiplos slidesRemove multiple slides MainWindowApagar slide Remove slide MainWindow.Remover estes favoritosRemove this favorites MainWindow"Apagar transiesRemove transitions MainWindowRenomearRename MainWindow"Renomear ficheiro Rename file MainWindowRenomear pasta Rename folder MainWindowlRenderizar projeto como um vdeo lossless (sem perdas)"Render project as a lossless video MainWindowJRenderizao do projeto como um vdeoRender project as a video MainWindowzRenderizar projeto como um vdeo usando um modelo predefinido2Render project as a video using a predefined model MainWindowDRenderizar faixa de som do projetoRender sound trak of project MainWindow Renderizar vdeo Render video MainWindowPRedefinir fundo para "Igual ao anterior"&Reset background to "Same as previous" MainWindowVRedefinir a msica para "Igual ao anterior"!Reset music to "Same as previous" MainWindow\Restaurar a partir de um acidente anterior ... Restore from a previous crash... MainWindowSalvar projecto Save project MainWindow(Salvar projecto comoSave project as MainWindow:Salvar projeto atual (Ctrl+S)Save current project (Ctrl+S) MainWindowhSalvar projeto atual para um novo arquivo de projeto*Save current project to a new project file MainWindow(Salvar projecto comoSave project as MainWindowSalvando arquivo de configurao e aplicando nova configurao ...