.github/000077500000000000000000000000001516101153300124125ustar00rootroot00000000000000.github/workflows/000077500000000000000000000000001516101153300144475ustar00rootroot00000000000000.github/workflows/build.yml000066400000000000000000000016761516101153300163030ustar00rootroot00000000000000# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node # For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions name: build on: schedule: - cron: '0 0 1 * *' push: branches: [ master ] pull_request: branches: [ master ] jobs: build: runs-on: ubuntu-latest strategy: matrix: node-version: ['lts/*'] # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ steps: - uses: actions/checkout@v2 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v2 with: node-version: ${{ matrix.node-version }} - run: npm i -g grunt-cli - run: npm install - run: grunt .gitignore000066400000000000000000000003401516101153300130370ustar00rootroot00000000000000/build /node_modules /*.log .idea/workspace.xml .idea/tasks.xml .idea/profiles_settings.xml .idea/inspectionProfiles/Project_Default.xml .idea/inspectionProfiles/profiles_settings.xml node_modules/.yarn-integrity /release.npmignore000066400000000000000000000001041516101153300130440ustar00rootroot00000000000000/assets /node_modules /Gruntfile.js *.log /.github /.vscode /release.vscode/000077500000000000000000000000001516101153300124135ustar00rootroot00000000000000.vscode/launch.json000066400000000000000000000011111516101153300145520ustar00rootroot00000000000000{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "type": "node", "request": "launch", "outputCapture": "std", "name": "Launch Test", "skipFiles": [ "/**" ], "cwd": "${workspaceRoot}", "program": "./test/test.js" }, ] }Gruntfile.js000066400000000000000000000004231516101153300133460ustar00rootroot00000000000000module.exports = (grunt) => { const builder = require(`corifeus-builder`); const loader = new builder.loader(grunt); loader.js({ replacer: { type: 'p3x', }, }); grunt.registerTask('default', builder.config.task.build.js); };LICENSE000066400000000000000000000020131516101153300120530ustar00rootroot00000000000000MIT License Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.README.md000066400000000000000000000327601516101153300123410ustar00rootroot00000000000000[//]: #@corifeus-header [![NPM](https://img.shields.io/npm/v/p3x-html-pdf.svg)](https://www.npmjs.com/package/p3x-html-pdf) [![Donate for Corifeus / P3X](https://img.shields.io/badge/Donate-Corifeus-003087.svg)](https://paypal.me/patrikx3) [![Contact Corifeus / P3X](https://img.shields.io/badge/Contact-P3X-ff9900.svg)](https://www.patrikx3.com/en/front/contact) [![Corifeus @ Facebook](https://img.shields.io/badge/Facebook-Corifeus-3b5998.svg)](https://www.facebook.com/corifeus.software) [![Uptime Robot ratio (30 days)](https://img.shields.io/uptimerobot/ratio/m780749701-41bcade28c1ea8154eda7cca.svg)](https://stats.uptimerobot.com/9ggnzcWrw) # 📃 Generates PDF from HTML with custom headers and footers with wkhtmltopdf v2025.4.137 🌌 **Bugs are evident™ - MATRIX️** 🚧 **This project is under active development!** 📢 **We welcome your feedback and contributions.** ### NodeJS LTS is supported ### 🛠️ Built on NodeJs version ```txt v22.13.0 ``` # 📝 Description [//]: #@corifeus-header:end **p3x-html-pdf** is a Node.js package that generates PDFs from HTML with custom headers and footers using `wkhtmltopdf`. It is a robust tool for creating professional-grade PDFs with features like: - 📜 **Dynamic Headers and Footers**: Add placeholders for page numbers, dates, and more. - 🛠️ **Customizable Layouts**: Configure margins, orientation, and paper size. - ⚡ **Async/Await Support**: Modern JavaScript compatibility for efficient workflows. - 🔄 **Dynamic Content**: Render data-driven tables and content dynamically. --- ## 🚀 Installation Install via Yarn: ```bash yarn add p3x-html-pdf ``` Or install via npm: ```bash npm install p3x-html-pdf ``` Import in your project: ```javascript const { generate } = require('p3x-html-pdf'); ``` --- ## 🛠️ Features - 📜 **Custom Headers and Footers**: Create professional headers and footers with dynamic placeholders. - 🔀 **Flexible Page Settings**: Set paper size, orientation, margins, and more. - ⚡ **Async/Await Support**: Fully compatible with modern JavaScript workflows. - 📊 **Dynamic Tables and Content**: Generate tables and other dynamic HTML content easily. --- ## 📖 Usage Example ```javascript const { generate } = require('p3x-html-pdf'); const path = require('path'); (async () => { const options = { settings: { save: true, template: { format: 'A4', orientation: 'portrait', marginLeft: 10, marginRight: 10, }, html: `

Header Content

Content

This is a test PDF document.

Header 1 Header 2 Header 3
Data 1 Data 2 Data 3
Data 4 Data 5 Data 6
`, }, title: 'Sample PDF', saveFile: path.resolve(__dirname, 'output.pdf'), }; try { await generate(options); console.log('✅ PDF generated successfully!'); // or options.save = false const buffer = await generate(options); } catch (err) { console.error('❌ Error generating PDF:', err); } })(); ``` --- ## 🔧 Configuration ### Options - **Settings** - `save`: If false, it returns as a buffer. - `template.format`: Page size, e.g., `A4`, `Letter`. - `template.orientation`: Page orientation (`portrait` or `landscape`). - `template.marginLeft`, `template.marginRight`: Margins in mm. - `template.copies`: Copies to generate. - `template.fixedWidth` and `template.fixedHeight`: If above zero, generates in millimeters. - `html`: HTML content with placeholders. - **title**: PDF document title. - **saveFile**: Path for saving the PDF. - **base** The HTML base href is other then current directory, it can be online as well. - **css**: Customize the CSS for serving, by default it is in `src/html-template.css` - **jquery**: The latest that works with webkit is jQuery v1.12.4 is required, you can extend with more functions, the default is in `src/jquery-1.12.4.min.js` - **javascriptDelay**: The delay before the PDF is generated as default is 1000 ms. For more options, check the official [wkhtmltopdf usage guide](https://wkhtmltopdf.org/usage/wkhtmltopdf.txt). Unfortunately the version latest HTTPS TLS 1.3 is not working, so it is better to use inline filesystem images or using HTTP as that is dated but still works. --- ## 🌟 Placeholders You can use placeholders in your HTML for dynamic data (only these, but it is enough, the rest you can generate in HTML): - `${page}`: Current page. - `${pages}`: Total pages. Example: ```html ``` The `p3x-footer` and `p3x-header` should not have any styles other than `id` and `data-height`. --- ## 📊 Advanced Features - **Debugging**: Use `debug: true` to enable detailed logs. - **Header/Footer Templates**: Create rich HTML templates for headers/footers. - **Dynamic Content**: Inject dynamic tables, invoices, or other content into the PDF. --- ## 🌍 Architecture `p3x-html-pdf` works seamlessly on Linux and Windows. ### ARM64 Support If `os.arch() === 'arm64'`, the package will automatically set the `wkhtmltopdf` path to: `/usr/local/bin/wkhtmltopdf-arm64` To use this functionality, you must manually download the binary and place it in the specified location. You can download the ARM64 binary from the link below: [Download wkhtmltopdf-arm64 binary](https://github.com/houseoftech/wkhtmltopdf-arm64/raw/refs/heads/master/bin/wkhtmltopdf-arm64) Currently, the ARM64 binary setup is manual. If there is sufficient demand, an automated installation process may be implemented in the future. --- ## 🖼️ Example Output Check out an example output PDF: [Example PDF](https://cdn.corifeus.com/git/html-pdf/assets/p3x-html-pdf-example.pdf). ![Example Output](https://cdn.corifeus.com/git/html-pdf/assets/p3x-html-pdf-example.png) --- ## 🔬 Legacy Rendering with Webkit This library uses `wkhtmltopdf`, which relies on an older version of Webkit. As such, it does not support modern CSS features like `flexbox`. Instead, older solutions such as `float` and `table`-based layouts must be used for alignment. While these approaches are not modern, they are efficient and compatible with the rendering engine. For instance, the following layout works seamlessly: ```html
Header Logo

P3X HTML Invoice

Generated: 2023-10-01

``` ## Steps to Clone and Run `test/test.js` 1. **Clone the Repository**: ```bash git clone https://github.com/patrikx3/html-pdf.git cd html-pdf ``` 2. **Install Dependencies**: Using Yarn: ```bash yarn install ``` Or, using NPM: ```bash npm install ``` 3. **Run the Test Script**: ```bash node ./test/test.js ``` --- ## Puppeteer vs. p3x-html-pdf: Resource Usage and Features Comparison When deciding between **Puppeteer** and **p3x-html-pdf**, it's essential to understand their differences in resource usage and capabilities. ### Technology Difference - **p3x-html-pdf** is built on **wkhtmltopdf**, which uses the WebKit rendering engine. It's lightweight and optimized for HTML-to-PDF tasks. - **Puppeteer** launches a full **Chrome/Chromium** instance, consuming more CPU and memory, even in headless mode. ### Resource Usage Comparison | Feature | p3x-html-pdf (wkhtmltopdf) | Puppeteer (Chrome/Chromium) | |------------------------|---------------------------------------------|------------------------------------------| | **Memory Usage** | Low | High | | **CPU Usage** | Low | High | | **Startup Time** | Fast | Slower due to browser launch | | **Dynamic Content** | Limited support for JavaScript | Full support for JavaScript | | **Rendering Accuracy** | Basic CSS and HTML support | Pixel-perfect rendering with modern web standards | | **Flexibility** | Headers, footers, scripts (older JS versions) | Highly customizable (headers, footers, scripts) | | **Scalability** | Suitable for lightweight tasks and servers | Better for advanced use cases and large-scale rendering | | **File Size** | Smaller binary for wkhtmltopdf dependency | Puppeteer requires downloading Chromium (~100MB) | ### Trade-offs #### p3x-html-pdf (wkhtmltopdf) - **Pros:** - Lightweight and uses fewer resources. - Faster startup time. - Ideal for static HTML content with minimal JavaScript or CSS. - **Cons:** - Limited support for modern web standards and advanced JavaScript. - Basic rendering capabilities. #### Puppeteer - **Pros:** - Full support for dynamic content, advanced JavaScript, and modern web standards. - Highly customizable headers, footers, and PDF options. - Pixel-perfect rendering accuracy. - **Cons:** - Consumes more CPU and memory. - Slower startup time due to launching a full Chrome/Chromium instance. ### When to Use Each #### Use p3x-html-pdf (wkhtmltopdf): - When your content is **static** or doesn’t rely on modern web technologies. - When resource efficiency is a priority (e.g., on resource-constrained servers). #### Use Puppeteer: - When your content is **dynamic** or relies heavily on JavaScript and CSS. - When rendering accuracy, modern web technology support, or customization is critical. ### Conclusion - **p3x-html-pdf** (wkhtmltopdf) is a better fit for lightweight tasks with simple requirements. - **Puppeteer** excels in advanced and dynamic use cases but comes with higher resource costs. --- **Happy PDF Generating!** 🎉 [//]: #@corifeus-footer --- ## 🚀 Quick and Affordable Web Development Services If you want to quickly and affordably develop your next digital project, visit [corifeus.eu](https://corifeus.eu) for expert solutions tailored to your needs. --- ## 🌐 Powerful Online Networking Tool Discover the powerful and free online networking tool at [network.corifeus.com](https://network.corifeus.com). **🆓 Free** Designed for professionals and enthusiasts, this tool provides essential features for network analysis, troubleshooting, and management. Additionally, it offers tools for: - 📡 Monitoring TCP, HTTP, and Ping to ensure optimal network performance and reliability. - 📊 Status page management to track uptime, performance, and incidents in real time with customizable dashboards. All these features are completely free to use. --- ## ❤️ Support Our Open-Source Project If you appreciate our work, consider ⭐ starring this repository or 💰 making a donation to support server maintenance and ongoing development. Your support means the world to us—thank you! --- ### 🌍 About My Domains All my domains, including [patrikx3.com](https://patrikx3.com), [corifeus.eu](https://corifeus.eu), and [corifeus.com](https://corifeus.com), are developed in my spare time. While you may encounter minor errors, the sites are generally stable and fully functional. --- ### 📈 Versioning Policy **Version Structure:** We follow a **Major.Minor.Patch** versioning scheme: - **Major:** 📅 Corresponds to the current year. - **Minor:** 🌓 Set as 4 for releases from January to June, and 10 for July to December. - **Patch:** 🔧 Incremental, updated with each build. **🚨 Important Changes:** Any breaking changes are prominently noted in the readme to keep you informed. --- [**P3X-HTML-PDF**](https://corifeus.com/html-pdf) Build v2025.4.137 [![NPM](https://img.shields.io/npm/v/p3x-html-pdf.svg)](https://www.npmjs.com/package/p3x-html-pdf) [![Donate for Corifeus / P3X](https://img.shields.io/badge/Donate-Corifeus-003087.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=QZVM4V6HVZJW6) [![Contact Corifeus / P3X](https://img.shields.io/badge/Contact-P3X-ff9900.svg)](https://www.patrikx3.com/en/front/contact) [![Like Corifeus @ Facebook](https://img.shields.io/badge/LIKE-Corifeus-3b5998.svg)](https://www.facebook.com/corifeus.software) [//]: #@corifeus-footer:end assets/000077500000000000000000000000001516101153300123545ustar00rootroot00000000000000assets/p3x-html-pdf-example.pdf000066400000000000000000000730211516101153300167260ustar00rootroot00000000000000%PDF-1.4 1 0 obj << /Title (P3X-HTML-PDF Detailed Invoice 1/16/2025, 12:16:44 PM) /Creator (wkhtmltopdf 0.12.4) /Producer (Qt 4.8.7) /CreationDate (D:20250116121645+01'00') >> endobj 3 0 obj << /Type /ExtGState /SA true /SM 0.02 /ca 1.0 /CA 1.0 /AIS false /SMask /None>> endobj 4 0 obj [/Pattern /DeviceRGB] endobj 8 0 obj [0 /XYZ 28.5000000 728.750000 0] endobj 9 0 obj << /Type /XObject /Subtype /Image /Width 256 /Height 256 /BitsPerComponent 8 /ColorSpace /DeviceGray /Length 10 0 R /Filter /FlateDecode >> stream xG]sJ&$$I$$L2$$d2GLL2L$I2III$$ɕ\ۗs=_uy+)*ld7a+@l [&l g%`z25:"<;a@1[_2Țc@ցDe>ցÃl3[ />V?tg[ Yswcl-Tqg3y{;~lD8Ni>V47z&{^]bq'J,(z%m"=;zQ6؊O1lEN<bkrG +59H^}ևA%cr8[cogmتřg}V!jU`rc/N0GxE=*V%?^leJ o\Y6-kg9@݁,lqItBϰ }[puz-O0)uܳ+醜=[`_!ïG s-P(_u3֌P(eS r-Q )8Y[@rWy0F<;-RA@ Had|gk{aNse "Y [ ObD1.P= V*{Ɔ E2xYsY-Uc@**?N XhɬWhɬWhȬWhGZ2 Z2 `X1*ʇXEtfB*9lŶYCТȱwC#dͬl#U>rMƎ0 - ThYN懟Jf\Jf@;lPˬRhYCB5 Fzf(r[ȬkȬnoL{acK* -2|[G3 [e3aNfA6|X/NfSVܳms?-ٗB7'$w~fP' r^w*)_s2F3Y-st^f R ,ӫj0ш<nff)3t9 j\̪Evz]wȬZlƝ#APf:]x!VΫjQ riZmqQ0Y!Z-yHI%ن:x qȫEQWrb(42[$KoYASy{"<0Ɗ m1?Omaw6Lbȫd܀u ?Vk;TJtȐWI3}VvS+7pKV:gȸDэ`wݖ赉RG[l6{= B_Zl [(B9oxR 0݇(;kuք-R ϝRlyɵQ >GJ7q֣c&h9M ߥ,MкَG}->v_6`L$JtP/Rl$9UlV'mT{Bj:ڋƨyLjweGвڎ*[y|aU1aL|I6 RtTY'O_*xԗHQeF :RhWwSŽUW/wG!-h1I|ȫ$~*0uq$:d'Qf">*0q4:*0S/JGF 2U`(騂hC^Q5t:(-uTA)|SꨂhQ&Rc0C^%F )X%ƒVGF ZU`'QтXGە:X먂sScI b>*0a:\쨂n Q7Jʂ$;Ŏ*0UPwf;Ѣ >Z endstream endobj 10 0 obj 2381 endobj 11 0 obj << /Type /XObject /Subtype /Image /Width 256 /Height 256 /BitsPerComponent 8 /ColorSpace /DeviceRGB /SMask 9 0 R /Length 12 0 R /Filter /FlateDecode >> stream xn8s 3,w/q(9MҤAIy@Aʐ᝗(̫ROPf5>0~x>1ZoLؚéJ? vt]絍֝ږ~Gnnp>`76Cy˱Wl1&:u1=1OxR.vyc֥ `u>ϴϞpp99k/욓8-3v{;~:m_I6Ɵ~vK{3O~x_V6]lߎ_.)F7Ɵ.< gGYR?1CoK?)8vd#"2{gҏ J)qik;"1<;"Yť;g*Ġ|kS,/پ]#uұ/ݫ?hKuƟ@$=n)&Cϣoy~z>ϥNbv+_GhaJҟNGM~hq2vɯ |w?qZrUCDy|1?"En1ݞM oN~qh wW5~8^}y~" m@bKV}nj۟|'dҏ<<Mo 4@}r:V7'm!ԋ(ً9<AaCȰEKo t8/tmBJD/iWbP#C>"jEd !ANs-"$ؽ!u[u Ǥu `$#K#cpk-.uC=|]y3~TԽrͰeNo@_{1~(?9y%-P29tgGO(m E fS_4<$y|-=(HxN'Ɵ v};8&Fݯ !fB)אe㇭1sӢ,T/aY؟R}ߗ~\oE_ܞD'lx8xS,l->Zf8'G_pHƿԭ8;Kx/!yڬ]5o3M\瀌!lA1ٿX#.>lNS"[Kϛ[w"7Xl2?t 8vPM15ǣ Vr~& ϑL/oy+v:ϣ r~HW/@rVQ;`n>ﴉXUސT-kdǠВux>(Pؿ5+[{^F:vo5]ו-*+{ ҟV"ҿ.Xwi-ni](4ΩzsBP &krVҹ1L"EԚ^Ť]C@._V! rmJa@zH EvFX|I7=hu~J)FX|bz|TNΑx܋5Nt+Jd'ILNQvƕ){+* ;UTS&;s1N_8EjMgH=q6rY.m{t?^ՙjOJrWOJr¤|ad ARʗ BѨi{q=u#-eFl7HrA / 60 ]T(t]'N2i#8m=O mk<sڛ~ۅ-ZWi9)glC4&Qv؇a+UŵW"z6o\m* }6؎CigkH3j -A.6'P'p<~t(B: ARٮ (DF ?b.egK;E$J1.#e$DA(G̞Ɩ?5xBY gSz`.\Z;Xócdbv8!Ԁpn,Nu 7y|)dlߘՐ^/jǏҟ`*?}ނ}%Zl VolG&MӱukEnPZ[ڢF6%=P%2k5<UrܫDW2俗Яr_x8_.kMr TLXGvk S76z6{:R U#[T2g%K: c\QnyXOw-r- -ܞS]8!㇠ .8sB+8m|&n<Qp-Kx>F٠)/ᇶx h)^?)~qgxa*r hY6k6_F}.4K0wNl~h)ȼqg }( 0hzqDFR7M ,@>Nc<7z's"1~kOݩK?8՞to`'\/`. ->+ x>S=[2qBTok0Fqî9M tP)r834lC$L`]t3.lK;Q`o}װͭ +N} {/oqs&'T~ۅ=T:LIxᇝ>f]"z6x {>S1gS`~a,=kNr ^J?&D}|q>}>%9?Գ3ᔤzk'd&5sa$H^YY\5QG|bo1~$.Ta1 endstream endobj 12 0 obj 3873 endobj 5 0 obj << /Type /Page /Parent 2 0 R /Contents 13 0 R /Resources 15 0 R /Annots 16 0 R /MediaBox [0 0 595 842] >> endobj 15 0 obj << /ColorSpace << /PCSp 4 0 R /CSp /DeviceRGB /CSpg /DeviceGray >> /ExtGState << /GSa 3 0 R >> /Pattern << >> /Font << /F6 6 0 R /F7 7 0 R >> /XObject << /Im11 11 0 R >> >> endobj 16 0 obj [ ] endobj 13 0 obj << /Length 14 0 R /Filter /FlateDecode >> stream xQ6F+\ H",H&bP }(P$-$>HckkI쑥ȫ#ݫ>_/Qɩ֡zc cizZk U$-bӭ qQE$JiMԂ`BRlXRFETD&aC(0 SA1i@D Y,J| c3T AOaq*!)"` O(8Y@dg0 ,( fUBSE,IAPڰ?PEa"bq D4t55h%jj "*XP[*!ѕKԌ \擣+ 'GW.QS#IAPb떡,J|c3T AOqq*!)"` Oΰu?PEa"rq D4t55h%jj "*XP[*!ѕKԌ \擣+ 'GW.QS#IAPFu?P%Y>1 ˧88Y@dbf0KDR'1l2TA\f\0 ]DM͸a"r  g떡,J|t55%jj.ӕKHDR'Ul2T AOq q*!)"`P%Y>X e [ CUD&+ LDCW.QS3.pA\"ٺe 0<]DM͸a>yrq |t55 +n ˧88Y@dGg0 ,R, fH -[ CUD&+ LDKW.QS3.pA\"ٺe 0<]DM͸a>yrq |t55 [ cUB^^ѕKԌ \^^ѕKԌ \^^ѕKHDR'l2TA\f\0-]DM͸a"Zr  g떡,J|t55%jj.ӕKHDR'l2T AOq q*!)"`P%Y>X -[ CUD&+ LDKW.QS3.pA\"ٺe 0<]DM͸a>yrq |t55 5hn ˧88Y@dGg0 ,R, fH ,[ CUD&+ LDKW.QS3.pA\"5u?P%a> t554ЕKԌ \@W.QS#IAPl2t%T APiq *!* #aQ%YDMHs")8Y;bkXt݄5#X$886(ҡ19[bPFE8488xfپn_oo~gn~~h~e|?kF&uY63ڶUon?lkmG(7tiڎ1|N/͉[x!c[=}Mn۹ݛl0ޟM?`6=L4&(#&kgZ{wd6Kvo6u1.#o}|^luV^G#{ ;*emnV߈G&t͘ymN-ߋm=u-Q"Zr,=ti|4yo+.J[xg Չm[bL(u([-Dyf.'Z GZעoʊm\?{W2;U8]QxцppY"ԎY@4v:;҉ct -#["SymYS A4iuܥH3+U%S.=a_k4j'N]"ZNp/{ (_>c=k jd ▗^tRbgcޘ0ƽ5*oʝc.8᪺6]Y%b3*lQM XUzdfH7]F3ErOԞHȑljsTW<3Q=5B$/2i ۮ@"{Fl<#y'IHv浺V䝁@^K >"JfUe֌WHef#kjxLkg e+#^ ͸o̦$֚ r1g2恧Hof"T c~nxf u= >;hͅ1P.l6bk~}E]O-1CO'0Fͅ1uf >釐c$/1Cתra51O`g ؓR1Ȍ?hRM$Wm.΅x5JfFdժZa2 3l\qѰEnD$LF7]N, 4ubkH>˼OmbOJ5?ABOv.fœ֠:\?ĊD^+i֜U٧DNs2LK'ߞi'rzm>12ƣ>gf-ltE;?mf[z}yO`?{kFv_} ֌~h^=Of;erYJŊ[9ee#[[}D}ܭ.}hnE{XQ6+Dֳ:C?#khYXGWg]|ݽ\q-y>2Om2{ .͡3QGL>12"mB`~]wqnK|r9'擋>~?^ >5hlBؖoʆ3!Xیx @ >Κ7FJ endstream endobj 14 0 obj 3523 endobj 18 0 obj [1 /XYZ 28.5000000 728.750000 0] endobj 19 0 obj << /Type /Annot /Subtype /Link /Rect [276.750000 636.500000 360.750000 645.500000 ] /Border [0 0 0] /A << /Type /Action /S /URI /URI (mailto:support@corifeus.com) >> >> endobj 17 0 obj << /Type /Page /Parent 2 0 R /Contents 20 0 R /Resources 22 0 R /Annots 23 0 R /MediaBox [0 0 595 842] >> endobj 22 0 obj << /ColorSpace << /PCSp 4 0 R /CSp /DeviceRGB /CSpg /DeviceGray >> /ExtGState << /GSa 3 0 R >> /Pattern << >> /Font << /F6 6 0 R /F7 7 0 R >> /XObject << /Im11 11 0 R >> >> endobj 23 0 obj [ 19 0 R ] endobj 20 0 obj << /Length 21 0 R /Filter /FlateDecode >> stream x[M6W`e~wh6CC 8C~)%Yj-VF3a;3[mڿTf.#mw՞%WcyZĶd9a>_ wz®r-kamT-7}Ƿ/oا =R*DepЫ:@P*`yMc{rMxL EdST%Q$XBR X8<;7 XjhHԳΘLQ>έ7,5|xUHE *>λMKK/eiJ$\B!DVI)QS03O^v`;of|XњIɔm (?/,PF雒Q)|cۀ0"xagɈv qw_贽_גmqKHJǞNFiN\k0^ҁ#+3Y(c춧_? jJ6 @ni)p[ g endstream endobj 21 0 obj 1601 endobj 25 0 obj [2 /XYZ 28.5000000 728.750000 0] endobj 26 0 obj << /__WKANCHOR_2 8 0 R /__WKANCHOR_4 18 0 R /__WKANCHOR_6 25 0 R >> endobj 28 0 obj <> endobj 29 0 obj <> endobj 30 0 obj <> endobj 27 0 obj <> endobj 31 0 obj << /Type /Catalog /Pages 2 0 R /Outlines 27 0 R /PageMode /UseOutlines /Dests 26 0 R >> endobj 24 0 obj << /Type /Page /Parent 2 0 R /Contents 32 0 R /Resources 34 0 R /Annots 35 0 R /MediaBox [0 0 595 842] >> endobj 34 0 obj << /ColorSpace << /PCSp 4 0 R /CSp /DeviceRGB /CSpg /DeviceGray >> /ExtGState << /GSa 3 0 R >> /Pattern << >> /Font << /F6 6 0 R /F7 7 0 R >> /XObject << /Im11 11 0 R >> >> endobj 35 0 obj [ ] endobj 32 0 obj << /Length 33 0 R /Filter /FlateDecode >> stream xYK0WT׏ !vj% Њ.T{NdvWRkw<ӞL߭l:_f;_e;#Iy3Wmَe,wYM1?niVSC9g?w}`94gsZhͽF+P!B) $qP >q ,ՑtΦ)X$%Ҧݱץfo>{2բ "L15Q&@$Nz׀H yQ@pilC V k8$ZTuG놚ǩ/aaL+;;&shgjeXֻk!߀!"H.?a\Ԛ@%'G>sn >~O֑(*@?q8Z ƻJ1w:4a,ދż/j^ ϳG$^J4bƥF!:29{rUOK 5rX;/˭x8wG05j`Pb.;|TS$؇pO FVGQ@2k|"&eKWQ8S}eދsa.BwܮƵ10nE'ig\BN੢fܻSU^mT (%~v]WwY: +uӼ"ͫyṓZ:i\߻{~ػF M:䡌 Y< ߛ-JWҷU">pm/Q1>9%xޓ=ϖ!eΡ~Ve󓘔n'8Q[ v P[tp|Cpc  cV8[ {bMQ'>yR1peƌoJzD͇(O蠆o0381G$unb5R,5sOe[>JjdU"Oayςy8m|8M.H.ØE%ˣI*~{vn^C=k*1'6rsIh:89΁ Xec7 endstream endobj 33 0 obj 1015 endobj 36 0 obj << /Type /FontDescriptor /FontName /QKBAAA+NimbusSans-Regular /Flags 4 /FontBBox [-210 -299 1032 1075 ] /ItalicAngle 0 /Ascent 729 /Descent -271 /CapHeight 729 /StemV 50 /FontFile2 37 0 R >> endobj 37 0 obj << /Length1 7936 /Length 40 0 R /Filter /FlateDecode >> stream x9i@SW QB"D}]6Ee]BXԢEĥ]kEbJtljw2ֱN֯cgo: y|$j;1/yw=q`2,d,njyIلTq53ު򒲊 SاŽ Qa۫m 00ָګ #o43IL L[mCyOÐb%1H p|2m?dEOg\yӂa 39 )F00#AL)Ւanߟr- ~YtzB.aX,HiQ*O3e !Y]ZYs,&v|! bZ XJ<0\ _8$]fL&#n(r!<}ح>jl)rɾh!<3?A64$=drgegTj* +~%&.ht/[1r ɤ]\po)㉜l \ DLyDŃ`ol^5\?&蝤 ?i6/5r ڞ. ,+} GB<"ǮWpVyE"; f[szWĴ7yosN4{>zt>o0)H6[bUPqcM2Y6-ϼڸ5M{_S $_xL ʪ|^SYO {nO zğ 1nfMFO)/ 0- vD3dɰ,ٙ3BO x 朻teK%6e#o2t3 -(mTD_dQ$ SjV"J.i vRIƵ"}<^[ؐxz^XJCN]@ڻc񓗱%wDV/ǜĎI2.X0?'g>pb0j"%,u7q TǮQ}]] >D,V}Qm8=>U8@_;lsK֋lچd$Èz^|U6}҂DpϽ#,ԶMBpRA$(aUP9eaژ0td-OSsArqyb!M TNWBɅy\WJbA7% 5}Yl4\gx>n7gl,ܜd7-Y;.wl;!̰x):=EK©$1uG,d>>*Sذp O0A7B"3-6,jҾ 6>|GNюXeB}z]Wj-lnm"igwqA !p熡̤d(ZT,Im$x/lQvv.< * \A)11\R"Y+;k9KBTq `U% d1~%4fc@jO0!h|ڹڞlҥ}^xNPÞ{ a?od FN ˩!Se2!SN@8fjۓ[OpA+AGE /J*jD}4Z.=n5易&ZU>S-P\A|d d$G2DNp0>ȿ!g' ;*tjR8`8oKxL$Mˮ۽!=Wo_48S,T#Lg-Potf?3l }8GR1q\|O􁰊laɈV61r[AnMqґVh0&j1r/Vw-b[Љ:JTX%L¼;geIhtyÔe޺ʵ\aZMHwyG}{jdqaAS<b0UCݰ_;^2M>eʢ5RԠj1jCJ$'ه )`8mˡp?'\m;`ț_yjAK?  76ƍԜ%Z.PQkaP,UfNPTCG`]@xhjKhH/$$ӧ<W:6lꀈ݋ֿ/6{Sl-XV i#OK!ai=& &RNzMoش8%hDEqWAڛd]\TDT=5"IɾM9z v>w!ywlE;uƘ5[OQ߉ +hDjC0D[ k׺, }gfJQeQRyR\PJ顓y~EW?]P3Da \[ζȫŏ<S^ȞX}+WƦ'VOP>=qm U__6Bw90KLX:'Tw4>qL}}wE'ȿ?92$A;B)3NmrYJsb:{œ9C-.g`./o*Rhu'{SYLq<_jrZlH$B*"Vj \z’q+Tie'YݕvVtft5n3֮=?kӵ~5X+ȫkAeZ"dz5Vo~)af,jSs'?2~8;<ߞ94(9Ի5oS9Ȁʧ×͙ׄTroZ~I,̾H1B_e ΄l?[-'_>'ΦolveQۼm9ȝSqkO6r"@}xƪ#~Z # 4aoL0~{gxVx(#疜kݕgCB{:Wta΃+($7%d1Uɼc ڊvyܯ~pc| Q#gr Mə mx33H=kO8KoAօƻѵE4A_g}ܒ虡0a/I; Xo'3SCrdC"Xr#cr=$EKJo?WZ xǗD~7Fv%Pv!X=QE" ]xɲ\xٹۓ YָullwdT^X4`-w6Mw=>F_:q?qFd'P5ᚘ-cXww #-zqw3Ӌ.,!Xpm8}}BǜƢ+X` XB^)ccmu qz],R3;a!l ًcq^:-X?c>I/oZ^(MB<)ݼg&ec6 JD)ٕA#;7{B-m}*w$JFܡ[CwǑqw{|]_q?MLPLX4iˎΎlrc~Lb==[t:AmYlu,Elu1ĬrL-V  3 &,i:xA.b []hfMՕUA=JM:(5ӫ -M Jꚲ+[jKq\k/E`G&76U> /FontDescriptor 36 0 R /CIDToGIDMap /Identity /W [0 [276 606 552 220 496 276 552 496 552 496 552 716 552 276 330 552 552 552 220 552 276 496 276 662 662 552 552 552 662 552 552 716 552 552 716 552 662 552 606 772 552 716 552 276 496 662 552 826 716 772 772 716 662 716 662 936 662 662 606 276 276 552 276 826 496 552 1007 276 ] ] >> endobj 39 0 obj << /Length 833 >> stream /CIDInit /ProcSet findresource begin 12 dict begin begincmap /CIDSystemInfo << /Registry (Adobe) /Ordering (UCS) /Supplement 0 >> def /CMapName /Adobe-Identity-UCS def /CMapType 2 def 1 begincodespacerange <0000> endcodespacerange 2 beginbfrange <0000> <0000> <0000> <0001> <0043> [<0054> <0068> <0069> <0073> <0020> <006E> <0076> <006F> <0063> <0065> <0077> <0061> <0074> <0072> <0075> <0064> <0067> <006C> <0070> <0066> <0079> <002E> <0050> <0041> <0031> <0024> <0030> <0042> <0032> <0034> <0043> <0033> <0039> <0044> <0036> <0045> <0035> <0046> <0047> <0037> <0048> <0038> <0049> <004A> <004B> <004C> <004D> <004E> <004F> <0051> <0052> <0053> <0055> <0056> <0057> <0058> <0059> <005A> <003A> <002F> <0062> <002C> <006D> <006B> <0071> <0040> <0021> ] endbfrange endcmap CMapName currentdict /CMap defineresource pop end end endstream endobj 7 0 obj << /Type /Font /Subtype /Type0 /BaseFont /NimbusSans-Regular /Encoding /Identity-H /DescendantFonts [38 0 R] /ToUnicode 39 0 R>> endobj 41 0 obj << /Type /FontDescriptor /FontName /QPBAAA+NimbusSans-Bold /Flags 4 /FontBBox [-188 -307 1069 1070 ] /ItalicAngle 0 /Ascent 729 /Descent -271 /CapHeight 729 /StemV 69 /FontFile2 42 0 R >> endobj 42 0 obj << /Length1 5784 /Length 45 0 R /Filter /FlateDecode >> stream xX XSWk %DHbBGP0(" "E@Um~V:S۩/tږ\vz[v3]$*oYgֿB%"BϾuGdz}@XLu\'2 c:9(?c?qk~s  MΪGدhDbH>!1lj(+a礩DDҗp-F+T4#w7WI4Ds??pQ`$ GeoC tlZk,H=s9J^%Rk7!릑\sxu oy[/EוD-hE"-밇_1&o"nCHw@ERmp#!> (bVUIjHvؔ* | @ZݮӝYT O\WD/Fro ||$+=RܩC4@ECɀoowl֘pOxinS!j `~@쥣yV V6gB"r ^j+f=7 ?ti*_n2gہN;ߓp}x(Ӏ*427ٙfJ"2?~ty* X\nV &loh l<Ï0::OȚz։]DzJ0nE%b ;q Fz:l=AUO1`+`>H{bMox_$耐MpB/hͩޜش +BolD~O C2sO#yO`:Ec޷ӫr%kd&ĎW>j /h拀yHC5"-bVHB[i(UZ췆v&gLaj[IA3lqJgi~I0v; ZBfIup*OΌ߽4Vve3e3G2wHd^ܿ*1qUIgHr99rwτ8+JUD[?a_d\`w/Qt:9wSv$b1̛1 aBfc ZR({е$iomm.6{ew7x9g !Bx|RD7G1 9)@>WPil?~nV{]E")0O gd%Jk)Y]kw[}^ zb>'WR~V/Nл1v=tb)$6WvTu8ŽcK ~:C\Da @vļ#Q^E"' ܎ /֞v1?\_̞tDڹTǘPФ"$6!- 'ƻ$G-<*+3k)z}w=14`ުSbD Y1b @xR1I*8;7НO<;hyw`A% ,ϴ: (?^nYd#snY~tXĥd7nX]l+[ nxhAIܟ?l?:|kV|Ģf|P$\|״^ PJlVcIs槬X@Z .*J ̀"%U%~\Hh1zD<"pL)kjXzX;!10<~mgHE`) *ߔdrSx|߾rί}cc7#q6ټ eTz q82UiDņ!Vzip*{66v ;sv k2Ň% #1Ld?!~8lwfÓVC1I<}k7:8;puFXBTP11lps"R< :zUZ&4&cq1y€Mz6v K]oOuEs-Jq_c961[W{޳r;瘤788nhei{^"as?}y(AaXmqћ,T;* KU)1,?,"/zUfջϸjG;Sa}M"fbƁ[]: Kgr5-Efn.u[p} #vg7jcIHHl.WD,hkDazܞTXbZTq2>o^UqUzyGYhw#j7 z?{zQggR|3k~8?$=j3F>zU QV_92&|_y+d[؉,Z=XS'y nE*%n,e($KG һG6֣uδG@MLQ돶P}c쥾}^6hOxNA D+3w6[fU:kݬ !Peх!>rq AE006q<3^Պv_=?!=XS5^izN^"~dJ'io?) (ޟPÄM0ͤ{uo92g묑ٮ/㿑s#> >EҒk"}@:QR(gm8`ܨe/^6?P0\[lX_8l:?aOW'H J;X0#daGuts_LxMWi`oR:JR58H1ʴ=r:2,R ϫsOv;{8\{&ˊsX)J@D&>;>G,H%]R$=&}AV6˺ee0"y,|_~q]@.ڔpfx"2}m1@-!sI;% |mJd0hY)̇J_[;EDF.[nj^_[Cc6h5;ԍ[5hnjܸuY_9BX1X6MLm\ު1EEGBBĴAYFV7iBzRK> /FontDescriptor 41 0 R /CIDToGIDMap /Identity /W [0 [276 276 606 552 606 276 552 552 276 716 330 882 772 606 552 552 662 386 606 276 662 606 552 552 552 552 276 662 716 330 552 882 330 552 552 552 552 662 716 826 606 606 330 606 716 552 ] ] >> endobj 44 0 obj << /Length 679 >> stream /CIDInit /ProcSet findresource begin 12 dict begin begincmap /CIDSystemInfo << /Registry (Adobe) /Ordering (UCS) /Supplement 0 >> def /CMapName /Adobe-Identity-UCS def /CMapType 2 def 1 begincodespacerange <0000> endcodespacerange 2 beginbfrange <0000> <0000> <0000> <0001> <002D> [<0049> <006E> <0076> <006F> <0069> <0063> <0065> <0020> <0043> <0074> <006D> <0051> <0075> <0061> <0079> <0050> <0072> <0054> <006C> <0053> <0062> <0024> <0033> <0039> <0030> <002E> <0056> <0041> <0028> <0032> <0025> <0029> <0037> <0038> <0034> <0036> <0058> <0048> <004D> <004C> <0064> <0066> <0046> <004E> <0073> ] endbfrange endcmap CMapName currentdict /CMap defineresource pop end end endstream endobj 6 0 obj << /Type /Font /Subtype /Type0 /BaseFont /NimbusSans-Bold /Encoding /Identity-H /DescendantFonts [43 0 R] /ToUnicode 44 0 R>> endobj 2 0 obj << /Type /Pages /Kids [ 5 0 R 17 0 R 24 0 R ] /Count 3 /ProcSet [/PDF /Text /ImageB /ImageC] >> endobj xref 0 46 0000000000 65535 f 0000000009 00000 n 0000029113 00000 n 0000000267 00000 n 0000000362 00000 n 0000007105 00000 n 0000028972 00000 n 0000023081 00000 n 0000000399 00000 n 0000000450 00000 n 0000003004 00000 n 0000003025 00000 n 0000007084 00000 n 0000007435 00000 n 0000011034 00000 n 0000007226 00000 n 0000007415 00000 n 0000011295 00000 n 0000011055 00000 n 0000011107 00000 n 0000011633 00000 n 0000013310 00000 n 0000011417 00000 n 0000011606 00000 n 0000014039 00000 n 0000013331 00000 n 0000013383 00000 n 0000013872 00000 n 0000013467 00000 n 0000013595 00000 n 0000013752 00000 n 0000013935 00000 n 0000014370 00000 n 0000015461 00000 n 0000014161 00000 n 0000014350 00000 n 0000015482 00000 n 0000015695 00000 n 0000021705 00000 n 0000022196 00000 n 0000021684 00000 n 0000023225 00000 n 0000023435 00000 n 0000027842 00000 n 0000028241 00000 n 0000027821 00000 n trailer << /Size 46 /Info 1 0 R /Root 31 0 R >> startxref 29225 %%EOF assets/p3x-html-pdf-example.png000066400000000000000000003416511516101153300167500ustar00rootroot00000000000000PNG  IHDRxsBITOtEXtSoftwaregnome-screenshot> IDATxg@g#RŊ]w kh,kԨ1cIQ `,(El{?̽Deiƙ3gaD"k'$ H4@.h\ @ rD&M $ H4@.h\ @ rD&M $ H4@.h\ @ rD&M $ H4@.h\ lnrrr"߼i(h6/yyyNTp:$H\\ܚUڷo׾}f >y:w~ XʓOؿ_UUm:""$M]JJ{n]WK.  lD"g~WBpa:.`D>ZEEŵWWu_NNv Ŵut^ebbRo|&$ )33QK.Ia$I0y֬[`fD޾ӧ={z EE N lݻwO`a}V?.DxC:&ʟ*}tIW;$*##c> ^Hn0"~1]t-ﹱ?/;6y@f}%ߏfff5U" eff:xʕZ0f\+$r$^~s`kI`cl24aHeE {fUg9{$!++sׯ]V|~mM5]AAhh֊P(|ϻ?|V'jeCGWNjhh~Xee[~ݽ'%9N*p8.ҥK8!^'N޽{FFFg&"??[QǎϞ=$d%%%_}UAAnݺ%曗/_*))=yDrٳ###~mhhhu޼yΝc=1qĤ$f{Ώ? +WN277noܹvvvǏ}׃J_yypLX4򐐐ŋ?D"###sss###ϟ?CDcǎڵ+EEEݿɓD4k,,SNۅ,-DDp|Yi<8x4VnY3g$_~](zyy3 ((N/.]b_~ԩÃ̼tϝ;CZreII o߾7oGQQQ|ZZZNN>EDD|uڵkKKK544:BI|ɓ:].de~;880ێߤM__ŊDԮ]?#33366)omm=mڴg&%%!!!D~z%%O]vm---fCVZzjȐ!D+"255MIIDFF^~fΜ͛ Ν;O<.))1661csJbbADÇ'Wy>\?{eeիW_xQVV֪U+777KKKq+WDGGظsE'BYPк5C&EQQqي;wSb%&&2m4 0117xR"2332;wddd֭+))޷o߶m֯__sQjh߷5?.+Xir_&ѣG , 3}RS_z3 %8]vD*;vTRRLLL,++kӦM-qe˖(!!Gyyy *--eF1322hŊnnnD4rHWW?c̘1RWIIIy%/YvZQQ`hhND6l%"HaÆPr%"(88x;_v"cc]0*bϟ?D"dfXXeuttjc$lٲ%..WVVرcxx۷o߿OD]tzjI숨UVӰfGqҥǏ3 @ `XL x%"zRjjjC믿޾}7C^ės9syQaa!'** \TVV^iH$:wtZZȑ#M̔}Ei׮]m]N133[`7|tҠcǎM2۾};ijjݻWrU*X,muuO]v g52.C ̌5ҥK999o߾e옦_f0|###" źU,ìW) b`_PYRRrpgUp? Յwqg`Z?o[666~m_`hhtX޽{1YԩShʕ>u֘1cz]oٳ^btL O;wf2kB1͙DWVVgV1l6[_UU7UQRRH$fFq8?S*Ӏ*})Vz,?u޲Qff敿;g3Ν=+44O>p$LIIIO&vڍ=zҥ DcN$%%HN+ǫ0)AW^MMMeCe0~~~Fqq{cǎ˂2SÇF\\'LL-<TII/77>5MH) /`&7gggWW;;;7I:toyyٳ LDTQQ!۷3-[f'LpT//KOږLj4۷o>=666gϞ0Fuĉ,"ٳ{Lc}RRR]ƴOIu344ttt|葏H$r ijjSIIxbŊ9s(**>}:..N__Μ9uAjh96D_zYgqRfffCYz={l6dmڴaV~zHHG/177dTT۷544FGG3\,,,☮vCCCfIIY,y_ػwJKKeYSjRjj*ӦcccJD[c8---uuu :t St?;t =SSSŞ)LTuݾ}[faÆ_CCC@o~UEEń $ \~=..NMM]vNNNeRsM4E"QHHm_zU~2=]]Ǹ8h&ǻ~jX>R>|KKKMZ3L4KKK/;wͤĄ&Ѣ)fwvvh& .X״2Nӹk׉& 6T___fhxȻw<|% GfXzzz_ϛ7w;:|Mͤg4f_J)& b߿}+V޽{Whz{{[ZZ9gbb/PXXуynS/NKK+hB?~k.qWƼy󢣣\p!..`ʔ)/^֭wrr8p`%kРA.\ꫯ:u+gkk;uԄ{\|ͭ޽{wʕbGGGq۷ooܸrJc``ЩS'^Zd X,kkx񡄄#Fݻ555H TTThhh$&&7Io޼ID!!!vvvL>:jԨ5k>}hkk=IMMp8-Zï6h~@yyÇż󚍌[.^dĉu^9@[===f$X6mڴiCD`}quu}O?w^PX^^w%''ٳK.%cccGѺuk__ȅ  OLL8p`xSLv۷onjCD SxALLxgyy9QTT$ݻQDDh||ihhhhhѣ.ׯ_wܙo..jeeEDiiiZbv0Bg̘!.;>obb!6nܘ٦MٳgH4k"|}}o߾],jO1(%glڴ)##>pׯUTT&OLDLBݻsYfikkɖdZ G5x`"ٳL2??_UUUOO/77(44TB'''"Z`Ahh([۶m۶m[PѲ;::{nڵ{UWW Ŋ/]a"rL>JDl6[YYW\YpzII_yҥ;wڵ:Бh$..:bm[j-Zw .j*"HOO_|9s4??]vDp>b"b+ID̆k޿[YY9tPH!77iD$"eeeaaaͫ(VRRZz5߿||Ǐ^PP˔ >~x=٣DRQQ!1ݤܲe 6l^78o޼9s$''3C f*++=lIIM:Y,Ӿ_NMMh:vXPP40/. gڊgp|fvl`%mݻ---,Y]Ξ=[*}[5GYzzz:::3}}hq|5kֈ'777W$dee1 LNNfh***xK6V3AaZk֮ݰiL):::KLLd9sСCdddVV.++[t﫬6%h``񢢢䘍*kԩӣG"""233Srss={O.]PSN DTXX={2._<~x<[n/^`z𡭭7tҥK7n8~8SUxx8ͮLBfu"U[^nYInnn%%%k׮544pfXv IDAT8|ӧxܸq֭JNNӧOd+TGGݻwm6##000W^/_?~l "(((4//CLU޽;pŋkh̠ꨫϞ=d.:lذ:13 X2!!ʊDGGjhhDGG+++[ZZVWCzzznnn۶m?vŘd UKMM511 I5HII)((`TB0>>YZZˮhJNuBkSTR3˘ƕz$TQQ3ooUWW$#77w_?\C46exǎ}^cԶ}]{vwE),o߿~f% !D _8hGzz} >U5թӦ-["_,$DD|>޾Jtuu-]2ݽuH4k Ozڵz Iݒ>t6ݥݎ_~nӦWX_d]v~r4m"EDڥ?tU5o-|%% ͘;w~KM_i6Koҗhط?5%ε_qL|P({w|a#F|~<h6D3eSyu֖S`Ɨhؿ?%%[bX)6I$?wǵ?bYYY۸a ͗Q/O?Q}q TZZ:MZp&Mv_f\h~MPxQo"kY^SSs$jjjr YRMHӧNryvccM[~Çki}K@GMUu .iL$޻{dֲ˧L؀|C)=k33m?ӷ/jd!t[ rp ɿ(''g)D4~„W6t\_ݢYYYLfNWSSk)'B͛W}}bG?DN48ȭnmmm;@T&%% 6l &hD7nΞ3gwK544:"$gGEE^bYnnn.h^YTT{/N.ν{nXZM/ь053[h >%$`& M $  `+W޽KD~m׮];w$'6L~zşŋB]]]{{{777[[[]iD3&&I4'NXo-,,d.ڽ{w9]B(zzz9sF'333**ŋ[vm^n֭Ŗ-:wEDC9rd]U _& O9d"277%~7&dX}NMM}@ 8v옑ќ9sr7n޽{&W\!-["OXM@PVVFD'+++;;LSS)PYYr|>ĵ%''H%{eK]=>>TOOO6ܴ4===ccOMM=r)))=ztiӦxC͜9SrD"277zi{qq1)**$$$x#,!!AEELQQQ|Jc `gggggx};~ՕDSg=z~A 4~;::2sٳg;ϝ;׳gϑ#G?gϞ .LKKMMM3gN^8ϯOq@@DfgDԭ[ѣGQ~~~ll,377ařѲ2&ԍ7߿G}8qbJJ ~zȐ!yyy2dHxx8q[n...Ç޽޽{|~-g͚>< K)o߾۷o""GGG"zp@@ijj2Ye˒iKOO_f͉'޽{7o\PP@m{ٳBwwenn]em!!!رcڵ+"""""ښJJJ&Ol@ }I`& $/^0=|~QQP(o39ҥKϟ?_YYٲeKmm풒CX喔0;\nQQQuf.$'N8pf(((899ћ7of/^ѨQ wADϟ&={0-R>LDmڴ ܰaƞ?9bN>кuk"ڽ{wiilP333CGMMMMM7?zh||<M0!,,,44ʄ$VPPqϟ_z7iii]HH>ۇ888'%K<~ٳgcƌ!7nܹsmsΕ= ]9gΜAikk;99uؑb"rqqa6ɓ'L3=x}wӇfkٲeDrKJ`` ӤpVZѬYzmkk$n"";;~3ٳg2p8-Z1wOO-Zhӓ#oܸ!YO>gӳeF{" XAAa…L$b5g:X&t&ݻ3=D߻wo"}ӧGGGfݻwJMMe6+\ .0<酏1bSܐ+;~E|>\S\sns{qb!"yOoTIꪭNOtX,//Ǐs\f1s҉HUUU|x253R Ǔ=E٨ΖS|8((ƌZ^^$YV~3ͽ эѬM6mhDdbbbooѣq)X(?~)ٟ.&~0wŋ߼yf3]/00pٲe˖-p„ jjjD-R# O8d۷gXLaaa/_d|DԽ{wB$ʔ)=z bѣgϞU:66ҥKmڴvH$RTTtss#3fx"99y...'N(++k۶-Jmm~~ k֬9pIBB3Mfoܸ)9|f*̙3Ǐ/ }}}E"wQllπ&O|ĉʙ3gΜ9SQQٳIII***k֬:hD_6o:t 2mllOY jٲ%?JNNVRRںukՕY<44t(++kӦͩSomՉ(99ٳgLgϞ3as]pLAAaӦM Zb肂իWƚ/JJJ;wLJJjѢűcc>e˖^|)'@-Ľ,99Yu}pkkkfmH"***p8ݺu<7,,X,vJ@p֭gϞhii{ܥ_&" &$2__r333wwwWݺu+33SOOA<yyynzMQQkD"Q֭ǎkii Dd``,IDT[[[̙3o߾UTT055eollzv&L ^zTmmmOOϚ?,@,u@D&M $ H4@.h\ @ rD&M $ H4@.h\ @ rD&M $ H4@.&^|)UFDD|ΜϏ-""~~=7oޔUm),,l(R|||NNG%x>JAAAhhH$SRR>\.^˳Aerssccc?*fa͘?????3g߿(..޻wT|/^\vc;p@nn8zhFFF]P ?Uǵk^xQ)xW \ɣG߿_јꎊo?Ԧ6q N\'?#?//Oqm!C 4c;pӜݺukر\QQաOXh$ǽUVqqqѽ{h-ȕ8}A$5  F>^GGͭ}BꨥSٳrJ//A]p᫯JJJjݺ-3={lyy_"{ʛ7oRRRJJJ׭[sʕvM>޽{wʕbGGG^WHtO={D$_x[n>>>|>igΜתU+٫GFF&&&VVVhjjN6LHFRˋJRYY+gkk;uT~0Ϟmaa1c ==;wvUiDϞ=wtt,((=z߿ybN4m۶L [YYٹs碣tbhhhnnީSD^^^\.w׮]+V`R?Dt֭-[?|RRR,߿w^II˗dÖ}"V#EEEWWWQ#W*s?E#Fx捻;SáCƏoll,{]5p'O,_˫27߽{=mڴ.""޽{'fggQBB‰'w~˗/+((pܧO2%ܹQ^^qF++e˖l޼QxxxEEEii?ةS'2رcIII-;vp»yԩS=<<={FD3oܸ?ݽ{n߾}m>/n޼ygg^vӳW^k׮޽;3ޠ|}}'M7]t>f͚ݻ޽[*o:8rH55'2ĉ hݺulllvv6sVVVse1b~\r%##cر;vptt\|9۹sH$[`All۷o+W͛7111U~</00ѣG}ݤI9/^W?B;tp!%%%{"VJpŋyGy|$EEE8qBIIiom755e}:u4aɐ"##͛`iiLZzzzFFF\.W6lg/ݻ&Mb)̙q>rByff&I=E֡ `X49.TVVd%{ƉG/633spppvv}}}z啝eddOd~3͙m4>>^(nذYVV!`x񥭬B666LG9880 2)߮]vQyy={; ==ԩSϟ'">_XX(fϞ}q___ÇKI(I7YUFA&&&̅cbb@ du"RVV611AAA}yx:@S~+))yxx}իIIIRdIt-((L..PVV.jQQ-^xall{n&BٵN O)((hiiQii)3 eee={TRR#"&YTSSTTTN>sL0>dd]v޽T+++[[[eeefH$2Ν;߻wfk׮/"h֬YqqqZ3f䚔A0 ~['-S)R7'00옘owѣG!Dٮ];fHt蚿_YLxU^S$}Eiii400xQQQRCfcbb,X۶m;a„BbtԉCr̰`1c&rA666U>o|>ݻwD Mq Tm۶III8Ȃ*î2 /Ν;W|S|GkB"kkSNegg7>GkѬAo߾j*--%K|vvvrttTTT$"++1cƬY"!!aĉsYW|ET 98 H4@*hT @ RD'5@ѡ" d2ե Pf CZ>|a$rʘ$H"Cሦ\{𡑑ŋ ! Ϟ=u`0HKKspp7niPP۝711199`0֬YCiiiIHHy;4g9;;_~g8##! 3f0!,,Đĉ#Gu]``K,9r~ԩ+W{>C--0B\lʕ+^@έXBCCŋK.-**/`kkfkk+ jjjV"/J9Ds`xijj*!ŋǏ;vlVVɓ'kkk'OzjUUҥK>>>III,>ѭAAAnȋoرc/+===553((j˖-茌]vfff?~dʕ cΝӦMkjjy󦕕զM W.]WWrWBHNNNJJJVVVyy/6nݺc~W2ꫯ233#,^ʕ+=8wSRR :::!]]]ۭ[͛GxQQQzzz˗/4i+44Z544E?c33+V?3g^>nܸP###4ché󁡥d2oݺ m۶QBQQQ||+.^흕uʕ>˗nȅLsssjBTTTSۿP(ȈgXO>4… ~a}}}SSS||M9RRRrj;O>,+>>>##?yP]]Dyf||<.l6!D]]!!!,/////'|_|EiiinnŋO_VB`,|HSSwM>jϞ=L&+*****vcaav֭TWWW+ &oVPP6l޽{N KB}F}QZ9s&%% !M=zt~~~2K,inn裏  !=o`~Ds@hiJ˗UdP9oƅIII}ԩS !ԿPH-_uׯ_E|ahѢ(nݺ7oȫLzMApEfRU!x<^Ae˖_۶m?ePQⷷoii2e\WW^뻺---Ԓutt***LÇe˖M2~~~Æ ۻwh T666ʉmmmL&aڵ@O:5))B5L9|0!ʕ+ USVV 555-((UUajjJٴiӍ7mۦ4i$++NCCR#88O?-..;wˋ/ !ԍ>[&OL333{y055-++122RRR:s޽{ !^^^l6{醆i+ |͓'O,--ɰlhѢcǎY[[O8͛3gΔuMA.[vǎ#FXx2e ˵rpp|RB#OUUUX,VnnP(-++[tQ={8ydjgϞUVV0L&9~xmmmQUU5a---Y7hxⅶP8Bs 6mii9wofŊnnn'..˗:::/^pvvVQQILLsqqqvv.))333}wFEmR)iiiٳg>㬬,CCCkkkBHzz͛7MB~k>|xҥ***{\ya[[ۤIЬ'=}t̘1eݻs玲ͩ~~~Ի:#Ν;Æ ?l._wyLJU$66nϟ?RTTrC@ hmm511hC'є?wNNNYYP4Mh[Td#((b}C!hl1@6e zH4@*hT @ RD&HM ~x]]իWs80555119x`AR\pB5kֈl6Fp|纺}eHMBP( l6믿^lYeew`0/^,qՍ7|˗] plW&Oʕ+{ݳg7sݲeKnnǏnJHH|rbb]z Pe˖ׇSᤧ/^AT櫯*))oΝ[]][P1QUU nkk;~xyyyXXX[[!ŋׯ߽{ϩ|>?::zϟ}9rZvZaa!iӦJwɶ6-Z){+**ʺ"Oݸqcɒ%666Ç `DR={vɁ;w3#&&fڵNNNNNN'O-C͍7 455wءOE #bccΝ;'1دAMBHaaaSSIcc͛,X h4ƍnjeeӉ'|iaaq#GP[غui111___CCV''>vtt\paҥ)))?5!Ox񢪪+uBBB]]222RMMHI&Q˓&Mjjjb2VÇa>vu !FxO?$^ٳfgggnQQL&ˋёl2WWڄ)S444DEEB|||:`J0;;>ve˖GΛ7rsrr.]nݺn%yΟ?zjidgժUsvv޼ysHHȑ#%ljj7n@}% P˺A Ajmccѱj*:.dIMMMYYYT:63(yL4uttBCC !4r„ T\II͍RRRbll,LKK=z3%4mƌmf?yݝzyBHo=G7oLNB 0()))|7+V(++spp(,,1bĒnN8333**֭[N:wܟ)dF |x\CCceB@ ũ+c/xU>5EJTΙ3G_____Ϟ=mysʕ===++g٥H,ijj*ǢᘚV:2*1CѣG !zzzyyyݮ{vuuxBĠZz1|%ڂejj݃\>/thw}BN=ztjj*U 00СCwtѣGر//w1f̘7n \lllrr%ӓX=%%lggGNիWaٶm[EEBĒ@ hhhT>uhU+lڴgٲeEEE111 ,6mZ@@͛7i4U%$$?))А egg744ܺu+""ŋQQQ!!!uhѢEN9 t}Qii)Xb@ 9sĒ۳gہ;F6na'' 6h .dggB$a/̙O> k׮M6~yuΝn{*jaaq7 bǎz葬HLL̙3׮]WZZJ%vqzzuuuW^-HDDDr Yb:ue|纺}eI( <OxjfGEE >`]ׯ݂w֦9Nllaêne``ٲ oߦ/_߲e9˕XKbb "##}]a/]\UUE CCCmFFFYYYYYYFFFϟ-(QYYT[ 2aÆO> *//tvv^rN>`ނ=uvv풻#TUU544ڎ?^^^Fxws<Ϗ^~=Tȑ#---k 匌M6WVVx'OSYY?>|xYY JbbEv؈׍7,Ybcc3|6-Ϟ=;y@ss;w |bbb֮]zނ0ܸq#,,@SSsǎT/]t…}@nnnv9~m^rhB LLL7o޼`@@6nܸuV++ON8˗H Ǐ9r֭[嘘 BHBBakkSeeeo 5MMMtuun{jȶJƬDTSS&M&Mjjjb2VÇa>vu۩]gϞ-*yYssxAioJݽDL&ˋёl2WWڄ)S444DEEB|||:`J0;;>ve˖GΛ7rsrr.]nݺn%[ZZE/~``-[bff&*ս{7o2rH]4n8*@}%Qttte]]݆ނ0߿7::ƦcժUt:=33YYY׮]{455)++ PzYDSGG'44B,--'L@ŕ!%%%Ƣ?iOOϴѣG;;;S]Bf̘l'Oݩ MMMrIIܹs VZ6 ڴi?3YWޜRLL7|bŊ2#Fb%%%MbM J Pcllu֭SN;w˗/?~x#Y}#c1qB@ ũ+c/ 4:::DE;;;][__t$@ioowww0aǏd]G\䤧geeui??]ljjZ]]M-755q8SSSM9rdoAj=q1{"aJKK0]]]/^044&~D666TGGG;;xSRR4߿OGNMM :tu޽;vط"<8r~ Y ,zb$v{JJJWW!$99NOOtR^JNNN-CͶm***ej;;.pN>p%@󵵵|>2jGhΦM|||-[VTTTPP`iӦܼySt8%$$?))J !AAA n݊hkk{ETTTHHڨKqB!ɴ ܺyfvv1cD/?^U7G2+V3gɓ+W HѨLEEѣogUWW?x@SSۛ"1(C}ܹs7n PSS뭋Y,։'jkkΝB9r !dB,Y":})1Syy2wÇXիWϙ3GJz&H9`8Nff3N'dff&%%1bK<%ꪫƪT] [H4AJh;w$^RRRkkŋeU~K4s)חm C9sd]~ H4@*hT @ RD&HM $ yeyy9I Ⱥ ߒ UBP(ÓNeJ<uRg+//u-`0u;& $ H4@*hT @ RDBͮ._\o㽭Z555444 |jkku-`ͽ{k.LHHPe||lg׮]6mz,Ν;= .4005kٳߠ>0Xٳg̘1FFF-zⅬHLL̙3׮]WZZJ%vqzzuuuW^pzn*""}aHr… ׬Yb!/477755ݱcp|纺}eI( <OxjfGEE >`]ׯ=~̙3BaCCϟw+HEE͖u-`x񢩩iVVV}}}@@… {+YYY؟u+11q„ ~~~.qqq c顡6uy##,##L YڰaC```DDď?'SAww|kkcǎ _cN>`ނ=uvvDo[U(^p!,,l׮]555Tɮ?aaaΝD_~inn \zZw_sNr7mڤ?֭[ HYY-Uh߲f͚oZNMM511$M~ߵ- !!!,Kb۷ӓ ޾}[GGG o{Ν;#!233m۶ B## S{= ־srƌX~K4y7MMM&&&7o^`@ h7nܺuӧO'NKBddǏ9Bma֭111___CCV''J{ONN1c(beeUPP!fqС;wBx<ŋd]#xs @GFFII&Q&Md27խÇ{ PC.033۾};!f+))QTUUɫ̳gϚ H Kz$Kd2!999˖-suuMHH2eJCCCTTTqq9!СC ,HMM c[l9zy!\.7''gҥqqq֭/VSScjj*Ͷ`n::~-YܪUݻ쬭y搐#GRuqSSӸqUjjj WIGGZե%f666VgN^5`ԔEcs=8 񈦎Nhhhhh_y1*F)))166I{zz<|ٙ6cƌ޶fBhHw}BN=ztjj*U 00СCwp–{"GsttZ` 9sɓ'e*:dK'SRR!vvvzzz䯤~U]aٶm[EELjժh*7{lˀ M?T>uo8yFttt6mlٲmm L6- ͛4*dhhHÃnݺŋю455Ϟ=;4GGǧO;wNt. q_|ܹs_x͛7˺RBCC?Rb @0sLMM͞]ބAI<,m555Æ ˗ Ct}{'w544\h!D(&$$;88LM>}u0m۶gB)ql#fwwwygĈ~!ƀINN3fnrr2wnUUUo#33̌\i˗iiiOdGY~_QQ]vC7yL4988蔕|288ʕ+ aaa~ש555K,qpp eXTO>=駟Bp޽^^^l6{ݺu ,2޽{\4 ̧~aY'O)))B###onң/_o߾NCC߿.&&?y@ RUU=~\vMtfeeUVVBvq 6|'yyy!!!}]Uz:::JJJp@"##e]>D@f@@ O."""^D-x<Ç]755nWU\\ BYy|~*..f27o,KCCZVTT魭/EAҥK_uJJʭ[vڥݳXKKf͚zOOϤ{#VTb)**'1c;;[֕7^PP@QWW ΖţF*++UUU%,,,7%^֐?looo߾K,ijjJ !333*]{033STT]!LW.Yt!:uѣGZj-!dϞ=#TWWTdф@|{Qwbjkkccc;vPD\5j| IDATp۷oNJJ"Ξ=[֕7d2ϟ?O-s8G;Vbϝ;իǏ{zzRǍ^ZZZJ;wɓ']bbb{ `E>@ntuuLK:I/`PL:bBܹ8m4UU3fB\"aS(<666= C]]]zzz|_ggP(TWW6m5 }||̙- srr'Olcc3}t.[UU/SjM5v0&*<ZEEջ,[yyyQASSvWWWGGG'''777[P"̣98l߾}ȑcƌ9sY^^h޽{300M ===Ѥ eq{MMTinn~葡OBcccQ0??EtY'!f婪:88PG(?>cƌR+ + ёuE/iiiw_.\TTT[[J{WWWꂹނ=r0 <|Ջ/&1M[[ۃ mmmE'N_9`?^XX8n8beff1bܸq p H4AJhAAA2$66ӓH~[)wȊlLd,Y"*ҀM $ H4@*hT @ RDB6.䇢bWWWWW+ FxZ:h4 HUWW@ BǼȊ@ O P _ mBP(ÓNesDSYY:gY-,,d] ̨gÎ &HM $ H4@*hT <}ͥ fmmfs=}sܸq2?8q?, &l6[ L:UWW}DSuuuuuu7UZZ* nj b۶m[xxBY\\kjjJE\hP=`KKKG. BCC#F]BYxWǫ(++] v?_݂UUUSq K5>Qz+VYY؟XT[[$11Kݻwt qQ积[P2WZZysΈ#F& :$]tI&99YWWw̘1T‚N޽uvvVUUIb1ѴUPPfAAi hݽD%%f;C"$/**ۻjѢEzzz|>_bhhhPϟmS8q"p8'NܿoAh`ĈyaaρBuxxP(dӧOoB_|ytvv _5`\3gB3g \P(?~ppP(,---DSޯtpp)++{epp+WZ[[>ׯSkjj,Yb'|R[[K-OTaPw^WWW//D6nݺ Ȥ0@YZZiiiiiiɓ'nnnJJJGGH'/_cG ///UUǏ߿ȵkDIgVVVee%!dǎϟڰa'|w,fȹS;ϯu}"|}C"}ۍ4""`۶myyyrn޼y/_駟L͛%v1РޥH[[[7%^@KKZ+1إK디[nڵK[[ZUTTfyfB@ bccsrr 0kEX,#H<&cƌy!Fijjʖ2333)'&&&?:Linn0arҥꓔNPPPPPSPP '+ ~9sV\9{EeffJb55vѻ\n8Vb1SSSN{xx>|8((ٳ <<<""bk׮򖢢"-^^^k׮{tT5556-9asEEE,":$777t 6662*XRRR\\[CAaaaCC.>G ,uu//l]tuuq8ꩤopa#@:::d] :;;|~?H6/g>O0u܅~`ii)]戦2u :)CC~~[T @ RD&HM $ G555;h $ aȒ"( ւ T?("z.VU[-jpmu V­Ԃl @X ||y!5$kr9d|yҤIӦMsvv~<~X,{yyH2CCCw?>L~tŲXuo98tqq1119a0D"Q1 sss{bjz{{׬Yp8#J&Olkk;vPc0M`"HT2O"6oػwoBBӏp8lmmEA ls& % 5`bgeec-%D"|hff/]djjejjzMw W\9rȞ={WXpΟ?%""B&899=zHff,..njjB۷履~:}֭[׬YSVVi&={NΝ;q;|iӦ-[@,XpĉtLZraiiױc֬Y4uT==:OOO]bb)nJqGmm x,\?~L&355@}g|o Q,+PcSFnBL4 !$JͿ{77sι455ݻwPӧ&''/[̙3YYYcĉ~~~H$000=ȑ#x>5ky睮Ç?zyΝώׯ_ III_" OqSLMMJU7޽?v֭`n߾}t:O>a2~#dF4|xhh!}$!d2i4J3fHOOohhx_{*Uܼy%v%KDGG߿_OOoIIIɓ'?zL& 5<<ӱ L& BLOPC_s"hjjjjje"{zzq>onn>"=zxo{{{`MMͣG^QXJJݴiSppL"eԴN3L<*Fħ8bM:UUjV^_pI@fˌFd FD59.U|"ׯ#/_<9sTTT|-B!fܹsB2,66_м~ _pww qcNNH$ rE222Baaa.\=|xx xݽ{_Aم]|0Е+W|M===#~^## ?!nܸ4CōÝ=FrT*U2--rΑbðSNQy988DDDmݺ*""744499ð{{szxxXBq0+7χJFŚ6mZPP'>G a_mllz-KKk׮xloo_]];a@@@̙3̙#TtXFFٳϟ?aX__̙3=<]'X]]@PFoJ&ݿ! Ȑh {:ѣ}&TH$<Ă߷U|888Sf74@Mќ(RSS׭[yEEEB000PS [wbbb. fϞɄh?h4Z@ MhF4@-j e2АD"ࠦS:ð!.TZbT:;#(Y,B8ZE&(NIR0dP*@T*'j&Dg:j:OYY]?|v0F4@-j&P h4Z@ B3h_4iҴiӞo.Ǐb//OI&ݽ{hܹnnn/M.ioorSNXuo9O>444*$I__!p8 J7U__a؈O Av3!ōˀ B&]0SNRT*!==ðw}wfJJ a ˋb`ddղeUb2j֬Y!"aAAA#^Z` BQQQzzz"(333>>!D/^}FSX,p W\ٳgqxx"""  Fpp믿gЙ9b333о}222N>iӦ={(&p޽ H$`ttxݷ~+_ _J&!V\655pɒ%:OOO<.Y,ִixxx֪ ]ejj`0֭[d2G?s̙3gJ$]>?...55599Y` B@ L6N666555DTjnn߻555;wť޽{JN>099yٲegΜc'N×E"ⰾ>]]]ӧOǗ}||D"9qW_}?k:y睮Ç?zyΝ*XgϞ_~)e"HP78_4twؑuݕ+W~7ٮ6o; `2,;ML:wssr\.x8@>N3L|U&OqŚ:u U{ŗ}||9(9<۟X0UUU^^^m@ H$)= hh5FsKMMUuFS\xqѢEZ4HhjFh:FqWЄh?h4Z@ MhF4@-j e2@ ;c0l``@"h:kd2p P+L6>φL){{{5kƆ7BPӉ]#JBCwwS:N&^4hH$x9Ns&s4eaGp&P h4Z@ MhF4@-lkkǏ_0 HOOOff nclGRf'$$˺Z,+9NyyT*UǏ?MݻwhHbqyyykk\.Y12v (RiyyyGGNj%`fE"Ud29(((((ߟD"m޼9vwބp<8"XVV344||DbBomiikM2HȦ <+H8::988c&bcc---  ˋb`ddղeUb2:H0rssMffffoo;?<[[[:nee5~xD2wm۶/X0nݲpssudX ٙB$&&M,VFh"h4ZnnnnnSN{]]]ǏW^:ٳ|>fWTT_~֭d7oaXUUU۶mG~7>dX #6w߱XNU* bbb.\M$ 6o\__,/˾} F$^̙3uuugΜYzH$B%$$[,Ç|8tPcFS9ڸq7|||x<^__ߖ-[|}}~۷oV^/5kg>0СCB>r˗/a&7H$ЬYL3ϯnΜ93g:uJ$555tcccЬYX,B(--mt:!9[ׯ]D"Hkצ ]g͚"mnn޸q#Bhٲe´իW˷0vEEE! E"Qff&NdCVJ3:Jb… |>G(^rfϞ=fffϟ/++(,,d0zJJJvvg}Cgff~B8}tgggLLLFFƦM*++3"Lv-:z#:;;+++5x~ ,X~~ʕ+B~}܎9.Y,ִiRQ[[*t)XnǓd aXFFB?...55599Y ݝ@ ´ijkkbw?ml4kjj&MJ[SSSoos\\\ݻpT -[{}}}__߬1vq Oĉ"gHLW__۽{d2o߮\{w>ѣ;wzzz^r !$s!"HP78_4twؑuݕ+W~7.Puu7HsN͛cccG4!cZ@@&Dw?ml4܊BD'H...!&IѨT*1cFzzzCCkG|!\7CUUU)=Et˗/_~ΝK)K\\\hhڵk,Y}gϚVVV=x7lhh Ɋd(* x7Ο?̙3֭-ɾ'Nܹsٹqqqmmmųf`F!>L& BL]O$#~Y9B===8777e<7s555=zGx|󇆆4xn_5~}JݴiSpp˃m???SSZ:.U&9;;+nJqŚ:u U{ŗ}||9 oߞ]^^?;6<I222\.B(%%eѢEyzPXX؅ ]Ο?*tB9s _'OLJJJl6fx{Z|yLLիWilly7Ann.B(//{޼yFFF .<g%sssϞ=o7}tş`uuuGGG@@B)Lv}P@@ͻh }111˖-344|ַ?`۫@p}[[[///U[H$YSzV@jDחn: .xElmm52n6uhfLc`MțF4@-j&P h4Z@ M]*-4ðaM't a-c#|>_Y]&JR8H3D"ȮhDM'tT*0OӉ ð^MgtL&h$HsY@MY544899i: gÎkhF4@-j&P h40P,+q޽~ tN첲Çggggggmmm>_0՝;wN6& >ORaWd2TK"`V-'6m4k,[[[<(ܹcjjjeeRkn߾miiiaa1zS|>ŋ<醆cG)WuZzАDƒiii---t:]p˗/;99d<Ă˻vX,Vxd^xCSe2@ 011yG֝ѬMIIRT*U*&&&Λ7O"}:F}+V9} B`ܾ};33׷ =E8p :::&&x0777 4111<<ð=Q0M`"HTn#x$::a͛7ѣGGljK.ŗ.]cUAL>80D"BڰaCMM֭[w-H$Ruu5aR~0,::zcbbN:=`zzz JKK1 +++300ٳg;v ð V5";9a___KK̙3weeeC:nffg|;w]\\kjj NgX~x srr|~HHH{{ԩS5rK(ƞ>}ZӉ%_nZYY뗕[x0$$999 ***WTNNΊ+娨UAD"T*__lٲE(~g!===###@044tڵ?yM6'L^^/BLJFEEE!(ʒ%K4^fh ۷o_]&UUUuvvvuuY[[GGGx_ʕ_}UOOٳg|k}}}pB!֭[~~-++ή^c nݺbŊٳgk:bbb|ёH$:99Byʔ)x^OOYqSh4Zcc U %22200JZZZgǎ?EP-[$222 ѣG-]0kZZZDwgfp8x@pqq}uSSH$:x𠙙Yuuugg-[B...qqqׯ_'666!U0իzzz׮]P(pe9?|ԩS|>_ӹ㓗t}o?;wnͭ[ B~2U:,%%~j*vʕӧBS(J$ׯs+VƎ]0k w?m޽;**9::ʪ>--mʔ)---]]]oΝ;1 cXT*_-ڵ+77ð/..~%UAs3y䂂 6TWWmF IDATS5_|Y*9;;_rðXPd2t1SPP}v äRiӎ;&N<.J1 [v+LLL7nwk]f͚񎎎%K_־d26)) 0 }}}oo#G xE@ OoooPPࠪhjX;;;*:uTy#c*J&7n(rɓ)Jhh(ǃQQQl5m۶o nR666\.|7H.o[YY۷OsͰ0|Ç L&3r<JR'OwJ[I41g[[?|E*~D"$!AL8c>a kllǷ~G 9!+J?\9OFKipWWgh'$$S=S,Ԉ m)}ԛY?6]&7o<"H w*\is0v tχ~8{^)Vmo_)h]MhF4@-j&P h4ZhfvX@;j: kb@ SC x<L&qؑfM Æ> ͒dCCCDӉ]C RP(t"`0 jaݫF,Pcc\Ӊ QY]&H88j&P h4Z@ MhF+jppP&i: ^2)X 6,_<::Dqչs/|O?aXTTAEL&͛vvvD"q aˌf̚5'Y^^^qqo*3;Y[[BRTT*MLL7os< 77dzX1:t-<<|ΝvڵkשS4x*III/nmm_Of~O>D/---==ϯ]UPQnnn@@@iiibbbxx8AÔٕ+W>]zRQO,DGGWWW8pj]afE"U$)''Gx2 _H$#Ӄa޽{N_FeeBco% 50:::d!%D"Btuumذf֭w0d[YYo߾}ҥҥKwء*hǎ0l``!##CUP)&h2۰aÁF VZcYOOAii)aeeexe&[[[_!+ug4G055544kii9s]:;;>|Cكs玣wMM , _/\xaaaNNNvvv1 ioo:uF0A1̩S֊bMH$J [lA%%%_Rb |9***''GUP(** !DP,Y4̘L&Ng2*U1v999"|||h4Z~~66B0?????qqqD"_dUUU]]]ѱ<<99__rW_}s_~Z__"\P(B[nꪫ_~,;;z6`b2ӧOwh:#d %22200JZZZ"|||777O2_hr---D"NqҠh2c2#""tˇUeiqicpwmkkkH$:x𠥥eMMMgg'K\\޽kccP} î^k.=== k׮yyytիW M',%%eӦMݫVb0Fd2yppPUP-AqK?.Uق WTT477?~رcje&_̴tqq)------))g̘d2~U{{KٹF7tR&MnݺElڴIH33|RT|@ _JP|2̙277_v;wTLiqictppo'_6559::˯D1L2-W---! CCæ&ݻ좢"@ܵkP(d}T*E )իR4%%e܏֮]!J6 ?\]] B2ٳAAA/\.;y{ァ*r7ofDʕ+8 WX48^G 4@iڵٳXǏZJUm(-;v?'Yftcɒ%򗵵o&LMJJƒ C__ȑ#'O0ҥKy&a]]]K.Rffft===vvv;-,,wqq~IGLoH$ڰaBP(!!!,KHHdffzzzRT.+_U[[+Sm6cc۷dAAA􄆆Rɓ'_r4Look?~6F͛72 2_:F&flkkܤR)%') d2! $謔F+x" d2ؿ(u~OO'g/QPTG#444>1+0!(-gUL"p8'DuJ#~lAi ]&`l~QLD~S~*G@)-U]Sfڒ05}xMțF4@-j&P h4Z@ M]$x'NvH$NX'H4BggL"qؑƞ $HZHOOo|W @0L$i:0`0l|vFZЬF###M'tMss@CCL"p8qSj&P h4Z@ MhF+jppP&i: ^2ӺFl>_ϱLq݊GiNō7\πbEDD$''XuܹG|~rr?nd?~իRt aʬ#>;v=ŠV5)))T*JJy= rss~<Ŋd'O777 4111<<?=4tevK.?"2;p@tttuuuLĹ֕ l6[$)]!M"rrr'垞D2b ===ݻ7!!a4iTVV:::gff/9r޾vmb BMg&HSSSPeeÚ-+0HDP6lPSSuݻwcd2䃕o߾tR|yҥ;vٳg;v ð UALK;Z!,--!+ ]f===SX,nmm}Ǭ֝аe̙v|𡏏N733۳g>Ν;...555xNX,|?pBㅅ999}|>?$$}ԩJ8~CrssML${౥H$J [lA%%%_R4b |9***''GqmQQQTTBB,Y$''GiPm4OU͝;7%%`,// oO}||h4Z~~fu>6Px"H|ׅBaUUլY֭̓[b+WaW^ݵkŵk׼T ;ydZZډ'_w)))6m^jxa9l2<888bj~| j.3/R̴tqq)------))g̘dBFO%Aqvve B݃|}}T%c``'^Z?0/nҤI֭[hQAAAHHȦMfff===r?٤V bJ/|@k66;Kv"eSSZLɔ/cr044ljjƒiiinRSCCC[[[Ю]T;^!w%%%￯x;`0>ė+++'h4J/t@ FUU~QaYfєswwwqqꫯRimmr@>$o߾} |ݻwBEEE!k.Pf?#|1v…gfeekqqqaa!BH&={6((虶r<ɓBn޼fĕ+W8p@,gggXBiPGʬ?5k,SNavi ٳgkcÝ1QNNΚ5kF;::,Y"Y[[od[[ۤ$d0d2>eFL3yY[[nRtD_J2Lu}ӧ_z_oݺU=rم }۶ĦGڵX-**Nzݴi~[nM6ݻwݎGGgϞ/Yð`f/^tqqyyBBUUUѾuҥjivq__Ǐǃ f<466|&L@eff!e&) dbv޻fn=[, x0RSSr 0d>}^ `VSS[-Z[[w@:>TQQm۶}aVUUꪬ>L&;99qܲӧϙ3'00p֭555frpppuu񉌌ϟ={ƍB$\.B۶mR---,kgϾw… ߼y#ǁM6ϟEꪦ++++ И2eJZ= ?dP}}1cرckkk%wihh DϟK p@zJ~ o?"޼y{!V"^lnn޼y͛wf߿ORB|>ĉ}YEEF533oo޼c###ҥK{:>a7nػwAJJʤIkpa… oVUUww@߮\iӦV???kk>?=z4m4uE#lI$dP0=a.]ðrLTh̎=**++WWWuY@p4ǏB!w^.S$!>(** ðh{{{L3ø L"_pI3SSSׯ_wM81<<)uȑ;v8;;9r!{u)++,ZbK>JWWwƌDgĉ2 >W\!"蛞^lll@@@CCCjj̙3GbYeP8a„"h{ cx)J?A&uO!y3P|PhB@&2& (4L@ dB>l---}>a)PގޑH˻`8D|>N$7a$I޽F"ב| M* / vĈn뵵0TWW9R޽ÙP(lnn@&2& (4L@ d M PhDuvvby sx<8geZZZR_R\\|Ɍ}vĉό2++ϗ/_8qBMMԔVVV?~[ ,BC^A1̔lMMMCCÞ#ZGMMͪU,--$7_NNN.--566P(xb?}t*>>~„ ě?d2ᑫÃ4_ƏOT8%%%)))555DgeeeqX,JpW4+++\BP(H$ wqq {}MMw`uuudd%111%I&%$$ɻG_Ξ=p·o޾}ֶѣ]vݳȘ8q˗/B޽6m/r֭iӦ{|xŊr\\ɓ{jYWW:XZZZ---AAA۶m۷oaUUU#F ϝ;7::_ؼy3a;vƒ^^^;wv {{3g`pLLL{ JUUU5r!5|Zyy9a"2))djhhAP8}+͘Lg0 +..VUU~@ x 'ٍz{{{CCԩS;bVRR2eʔ߿oᅬ=/+**kjj倀z7nY,֗_~; nZpaJJ ZXX7 7oƗ:::|>_$3d:eٳgccc%/Y_&333WXL]lvAA_)5(qf\.wϞ='ND)))ihhtttTTThkkA2<,++kܸq_|Bhʔ)cǎV4ϻ{rBd2ɉ喕M>E__Μ9[n5kOdd~~ٳ7n܈joo'&r\>ڶmJmiiaXӧO={{.\͛n:WXQTT4x?BݼyÇ#7---oooWWW55W^YYY3/544Lm^/}JBIII @JJJ_w_@\reӦM~~~}~wvvx|OHOOdl6D xT@f׿nܸ1cƌ'O"/\`ddk׮իWϯ3͈HL ͞ ~;ZWW7zQFs1BUUU2-W !uu:feeeL 3͆RI233;zH$|||\]]Y,ٳg:::?Fedd H$޽{\ncc?OH ,(--z*|o4}3gh4@Lޝ}077/,,| BH,_|yΜ9R[M0!<>>4{Ν;BӧO7220,::^llP/7\f͇߻Κ#G<{,ɱVVV9uԅ 0 ,Yrر_ð/// ?Ղd9RO|P(MBRbX Bx%'^> abXaÆP2CIL^RTWW+0$HMU L(677IoRKJ vg#HPe{ S@@@??h!ϽK&5rϽ' sppwِ(>(4L@ d M PhB@&2!>v---0D"Q[[˕wG$.  H>&6,IYY^F #ɪx/##cŊà f<466|&L@ B4>_^^ՕՅaXSSSjjjNNH$"WVV644\\\|Y[[766*++O:u„ ^^^\.#͈HL MHDt:]~}vv:BHIIi͚5/_jjj"|}}lmmBK.B0++kʕ!$9'駟pa <<|˖-wGٺukaaG,,,60ƍbbYEEOl%HH `fO>=|VVMxx8 'Oolld0'N@H3UM3e^*##ӧOTUUEkjjq===pX8fE"K/^p8Sߛ,X#<==} e0VVV&Mo>r䈏χ-333E"Q||< T*NtCCCɽT*p8 h 5()KfE%&&Kpp0BHCCcʕIII>ӌ؊8f,,,[ZZ?|ϟ?#Dʼnƥo``3<I,Xm۶`vZXXݻ |۷ow@***/^LZYYtgԨQw׿{e˖޽[WW>;;om/n ~l@aHM/_._x3}ڵv*//+**066^z 233ϟ ~:QEDD0GH2kk{ԩ' C3`0BnnnZZZrɓ9αc^zuɞ&PihhUXt|u3g$HgΜ_B -JJJ ٹs'BͭEI JjYXX|2 A&l7߄}… 騇4KIIɱ;w BCCϟ?jee/l---ɉdhhaN"BK,yM\\\KKŋmllH$9bjjjaa1s۷o'''O6-00ՕVVVFDD̚5KGG>`|_|BŅd^|̙3_RӬKEEoɓXSSӨ(~X,  0YCMMMT*>ˁ522j zmmmƍCCC@ \޽C1L(677DCs @v>4B'JOOO]'fCs2& (4L@ d M PhBȄ|^AYSSC& G H$eex`|>_II R WUUw/paP(433+OIIICC M;@!!C0cN$BSEEEOO>ˁbٺ+ ---}}}yw mmm}{3PDpM@&2& (4L@ d M#^aO3{GŽ{***VVVv0aҥKl6{۶mE$qqq?CEEǞ={>?*,,bˣFںu|C$ׯwtt$6anݺ˗/㫭V%K Ϝ9aXhhHHH~O A0\}f߿?yd}}={\~[[[L 8q`v"OPipW4L&Fܷosuu%~_SSSCCCۗ] IDAT~߲e˶m _~moo Kb]]]BP(D"yիFijjlٲ<<.;v-eYYY||Ob!TTTfgg7uԹs>}񣢢v% WH aLj %޽{!tΝq}_FFƊ+߿.0yhllR7%$$L0X :::iii|>+%% ðԜHDLMMmhh8x`hh(a/^xZ/gee HdhhX\\,ٙǏXpBASSSr 0de]]]kkhhh .aVZZJR)ʈ#?w#!!!&''˶W\)(UUU!P=N<1su;BiV[[K&i4a4L&bN3@g_f7l6㩩555yxxxxx߿ڵk666W^oϟFĉW\qsss~777ݻSSSB%%%۷owvvniinoo?|-_|ĉDD"ݻ755s~V]]maaqŢ"yw􋪪*Dz5g5F{dѣG'&&Ox077w޼yy Zܹse5BzJ3¾}V\ZZZ/_qf666T*!DRmll3Фaaaaaa{={ Bŋ7oNNNNII)..fX111 x͛7򪫫{9xZZړ'OdrzzsF,$ ISLUUU>pSUUOΛ7Or2PX***Gutt}v|||ﳡbbb222'O#h41h4UUU]]]R?60zOPbgϞs4iH$t:_>;;[]]!f˗/555]]]Bjjjyyyvvv!Kt|PrJD L aG|wMMM߿yw m֭=HLL5krss7n8pSQQI!I$RR9$xzI3<!geef fX->}ø*B]SSX,MuuuA#?n6-ttt𠆆FO=4iҳgϺ(Ǎ 0M2X6mAyy9g0PX\.`XYYM4)444//ȑ#>>>Rk.XLRt:醆PTp( @jPV# 4kiiIKKp[h^fViW4daaQ__O\6(..Ǐs>DYVV700 *Ȱ'ڴiݻwsrrۿʕ+MLioogXW⫨Xx1jeeU üivuuuƍSRRƃ{5Ĥ[P(?<|===|˗˗/'YQWW=_xO,--W4S+}3fڵkwU^^WTTdaaallz 6dffϟ?xu6  `0="Hmmmeee2---=:]v͜9FEDD())4,nҤI6mƑ˖-3f;0ydsرW^y$664** 44B!a&s|Jg9P@FFFP W__ ՃBٸqchh(~HTWWaC1L(677DCs @v>4B'lHu@&2& (4L@ d M Ph+(kjjd@%%^W _󕔔5o|>_UUU޽aBL'ϯ<2@1Luuuyw 7|>L&kjjʻ#`K l6{N$BSYYYGG>ˁbX:::n8BחwGb>Y p"@&2& (4L@ d M#^aO3+4ݻg'''kVTT\tԩSH$a0DgwС:yH$zUBCC$7a  ꫯ~G"XXXjժ+WH=EBBwpppsssA0\fUUUaaaZD4aaaK.=z@ f Wh2Lo>b>8MMM o_VVfjj-( _,^8++c;ݻ)_rV^6rHSSe˖E@ 8vح[MMM3f>zKBEEEnnnvvvSN;wӧO?**jΝ^^^Bѱ zJ3&cǎb;w/_YVVf~~~+VT4䡱Kݔ0abU(褥򮮮. ÚRSSsrrD"Ѿ255x[kkk ֖%D"QRRaqqdg޿z=ؾ}BrJ,--񗸔Ҭuzzp444|~PPPEEŅ 0 +--R eĈD˿C0  !!!Dirr2lkk{ʕRUUU Hf?ˉƳg&ܹsIIIX_iV[[K&i4a4L&bN3@ہT wE6Ԛ<<<<<}P(+--ȘѣGFdbbSo&''kkk~4o`hhEhDAٌ(Yccrpppvv6qqqv횦fiFl%(`)MHDt:]~}vv:BHIIi͚5/_jjj"|}}lmmBK.B0++kʕ!$9AV:bf͚?|` `mݺѣG=mmm . DbP(E,Hn rH@3|P(Dʼnƥo``3<3x W/&VzcggԄ/755QT%%%{{l< ˨QLLL5AE4333ӓL#G"zO3{{/^lPgggii"^Ә1c׮]k׮򸸸" ccիWoذ!33o|ׯipppPPPDDxDjkk+++ɓ9αc^zu^&PmݺO___GGgǎ[lAm޼}̙$̙3+BaѢEIIIVVV!!!;wP(!A0\?d-[曰o^p!==f)))999sݰaChh]]]V6E&?D" ?,I$ dɒ7oŵ\xƆD"-_ˁ522j zmmmƍCCC@ \޽C1L(677򼅁2$:px*O<͠_L}i6$: M PhB@&2& (4LR_t B%%%O0D"BR P(T&d}HEEB(+{¡ZZZn ڧ&: @޽ÙH$jooɧ# EEEE.g C[[[CCC ёwG@ӵ 0 ŽA82& (4L@ d M PhB'Ȼ`L {iڵ8.]:uG킿CW^uqqR[linn  W/^ ꫯlE$]zuժUyyy0  V8d" WZrʂHHHԐÕ4r/_a?@  [tѣGW4SBdh}x_ꦄ &BPGG'--痗wuutuuaԔ#  0ŋ<Z[[`0嶶,@  %;SXXV^^NDb OMM ˕w/qKo Iuuu5#󃂂***.\aXii)JP(#FO?aHH 499_rJOA"fD" bcc宮.;;;fd2FaFdrmm-4o߾1KpW4a<OMMc׮]z~;|:q℃Õ+Wܹ͍{TPIIutt۝[ZZ>,y{ĉDD"۷/--So 899mٲ_VRRRRR 蓪*Dz5g5F{Խn߾`0B{sssmm-`ܹyyyR>48L~𡾾>Bݻw2Bh׮]zO\*R666fXh{Ξ=!TSS uu͛7'''X<~͛yyyսb˖-۶mKKK{ LNOO?w܈#%~ں۾SN /̙p8666胊ѣGo߾.BpǎǏWi4lhh{4MUUUWWW (i>{lЊ+&L0{lOOOݻwsrr'y>ӌ؊8Dt:Nsggg#֬Yz򥦦+BHMM7;;;//!d``tҞ/ V\"H3!^PUU0LYYy 򒒒&L@&o޼)タ~ٺukaaG,,,{okk)SbؤB,Hn `$@f!!!;wsÇtMbccUTT$w3$W6Z222:}qMMMUUUP{{&cXG[[Jށl6[$A zbmm3bU$䬬,MMM 26q?#11q֬Y .`0&M|^v:vJRt:L %STp( @jp4sww......?ܹsl?OPEEһwL3b+R4S+}oiiW??|=Qq! 2,,,&&F6mڄ_WO<k׮5k%/URQQxbbʪ>ō , "r~~:ШQLLL5$5JJJf͚E\׮]۽{ݻMqFWۿxZgggii"^Ә1c׮]k׮򸸸" ccիWoذ!33o|ׯipppPPPDDxDjkk+++iaaq޽{ƌ}ف|~|||FP0IIIJJJDd޽ƍc@&Op;ի'O4 w]ggg%͛gΜI"Μ9믿"-Zdee1JPrss+**|}}џߖv Jj͘1CSS388GeeO?tΝQF5 ͛R,%%%222''r IDATܹ6l =R4#Y1k,򄄄kJ933355vӦM ,ػwo``40lX, m ==zӧKN!2W 2흖vݲ˗رN"%/Q{̌3:***???<<W,lggg rbbbFd7#!Jj)++/] ̙3NNN{H$KKǣҬKEE!ɓXSSӨ(~X,  dzT,gXzzzZ###ֆAlܸ144P 003̈́BassO4$:;2`@v>4B' Aِ(>(4L@ d M PhB@&2!WPb$II L,# @D"H kbxt*7)++S(eex/P8t:][[u\KK;gɻ`8Dp"zd2B`hiiA ҒwGa{3P1'+@&2& (4L@ d M PhDp8y sx)\y=?999]/ҥKN?n: v܉w0hd2677zpA(S BÕ3g3L++燇㑑ˌJJHH`"!!+c,##twwX,iiijժUV>|ƍfff[lqqqaXofW^uvv58;;m~_|񅃃ûwbcc"##GOss ۲e˞={i "񀱘2e @x >8p!djj#dmmBWfaa.BK..]:{ss3J%,Y$''G`P; Dm2{n^~DDyfff! 333,3qlZ[[B}}}wޝ5kŋkjj8g1GGGeoo?9r$''ܼ} ,n{ٽ{7aiiigΜYbLjoo/"}L,&&&w:u$==]#:v옝DRWW G=joo?}tJ||###~< ^>"+<?qӧOoii {o~5|G,[nnnYf wԇ@ HKKlYYY"hkkS< B:::?~"֮]{bmmʕ+oܸ_~vvv;v@\f_Ư+..2#6mʕ+7oQZZzڵ|ccSm߾_AAm۶_~כ~AAA'Olkk;yǏ BgggIIollt|ϴq#G׿iܹ==='N쬬oGj۶m/n݊ Yr=@SSSBo߾׿L޶m̙3NWQQqE)))&%%m޼NNNE!uuu.t!ʊD"?yd…OƯSZZzku8Xfͽ{KJJ֮]w^ޕmAQQMrqqr999>>>aڴiΝ{|\nww…  Flllgg?`0 ,3III// .XZZ@ ̜9!$̘LBٳgqqqΝ{130IFihhr TtSTTAر#,, ?$V E= agLSwq ^fh"He6!:M hF4@(B& h4P555^, G@qa=0FP*`|{y3feeex9eeeD=0h4mmmQLfc6$FH$B ēG& %%Bf~B& h4P@ M hFfbz?Ȑ8Nuu5Bp8d͛7[ZZD= 0LM2'XOtttDD{{{N'饤`^EEJooƄFmٲ%(( od~3f;z(/{̙g2AAA=!&eFPl/wwwatttN8[eVWWl2[<(ne&Ĥ !wU{{3fuT*uÆ '\MM333Biii~y:200qF:.ꁀrssp87nܷo7|w} !3\Nmmm{{x NbT^^aXUU:/YKK0 sww?v裌 <ѣgϞaY~~<0d˿zje600P__w8bw|]]{yyq\~!CC7oXYY{!}9}}W^x_áCZ[[ϟ#dի555kkknܼ~۶mΝ=L?-ꁀRVVVRRr˗ nݺ'3 IOVV?VTTdkkmmm ?[:nccß 0(ĝ6\=zD"566VVV7oZYY-XVfEEE!iii333,3qP; >󠠠sĜJ +((y٠ CCéSWWW#$%%y6r_K;evȑ\.f=z!iӦ .L2S犊.!$##C$BD"?0 !$))O-% g#/^|E__ߟo"`xɾ}Bgwޕ H[nq7 ɝ366F544 4mڴicټ' B= F(rD#Y 42-Eb\fhĤ̜7oynn.p8RBH^^833O9{ qSNGaV]] x L&'AQ0^55ᒷnz|:11qʕ!''4<rmmmxy0evu777)))|VOO ''}Ⅹ)X,V{{;BhѢEUUU555J1,3q*OOOxxu=~@ NMMăQQQ۶mkkk{ILLLwwwKKKlllpp0oC[nMNN677_bbVVV[[wZ _DRRٳMLLz{{O:5\5k6l@P+**B{챶޳g@HIICXXXDFF644*))Jec?6lغuk}}b,!!!<>>9/644DFFo޻w/??_RRrΜ9DRdeeE=0O.^g:EEEq8'O.^xӦMVVVE===EEE .Erss`]]]bb"B?;d2srrlllB999rrr644~q5\eeej ٳ_jHP555Q(E k׮j,efbh Zh!FS >|8 @ [:h4',qk4AxMțF4@(B& h4P@ M h+( @M02.+!I 0cD$‘ Dxg`` jjjL v޾}!###ꁀɆFɑH$QLuuuzzzlvkk8lH4@F!(N `0bccLBR&배 T]]u `"a00LDrr۷o߾2kkkqh`$;}M-,,~g Î=GխXb%''kii|˗ZZZ8::RDyyQ(!<w=zh͚5Ν={6P(/_VTT<{,/l {133!8r'&&RTGGǐC PX785552O?Q(]vuuuaML6}Л7o9ro4/\@񄴴b|ٳg;vJeX?QA&Ktuuǒ 鲲'&&bfkk{5<'77WAA0wwcǎGzxx p8$)++ ]tw}'08ќp455bv1OOO---^///d21 c2^fN>O***\.W`pǭS烔ttt궷߿ˋCyݻw!oos_zŋ:{g||KD IDATBd2y՚]]]ֵAFPTUU"sBuZBEEE!iii33BQkfPvtt wG$R/S@655 Ɩ͘1!yY//ZPss6qK._(,+??/11q׮]㳏ɁB}VSSGJJFHRB!!!.]ButtqUUն<rrrxӀ'M`lݺٳg666$iӦM_#?<=lڴWUU!d=== bdd$qQ899QT___]]ݰhPmm-[ZZZn߾=ÄJHH _K^#))_n޼BXZZhkk Z Q3Թ;DDHw0 CIJJAxx AH&w!mmmMMM&!Q566޽{WBBD"mݺƍMJKK\]] .!ЀOh40 =8 Oqr=fhh/gdd/W# :::LӿJQ455㳙377=8@ _x766|||Ξ=+L|އƧtܹsE;$0*:;`۫ ۿݻ999\n[[~pwXPZ`,Dra< hF4@(B& k4lvX,{g``o0AݼyEԣ?Į$ 100HJJzDGGGDD=7++kPLAA"1rRQF۲eKPPӧ ՝:uj@@@{{;/`!&&FOOOWW̙3Cd2TUUMMM=z4BLbˬqڵƑL}F.e˖H$oAq+3k4B&&&a`0_[[+R 6{+'//N&ܹsh2wիW/^СCt||Bd2y՚]]]p0Yݸq֭[+eee%%8.Z|9~nnnxBDݺuo_CQQ->mkk[XXȿ۷t:Ɔ?A`P; DM`III=\WWᕙǭ[6o̿ˬ\ZZ!$--mff&e&:ǯ9@655 Ɩ͘1!yY//ZPss6qK._(,+??/11q׮]㳏D())ϯJz{{#,,,xKCBBsuttӪgrrrx'M?n2̤BL&d29;;{Zf1,3ql4UTTBBBB KJJ.X!T^^w!?tt`0*++!$ ɉJꆅDGG#jkklrm>.)){ tR^+ f+ǏoٲeܹyyyӦM㓣Թ;DDHD1%%%xU~__o/a!M2!ĿbATccݻw%$$H$֭[oܸ?ޤյ`.!ǻǂF l66x7 6+D;w\>b[fhĤ̜7oynn.p8RӃBH^^833O9{ VJMMڞ::;`۫ ۿݻG=䔖O;;;#\n[[!Hxy2c0!!!|ɨkXf, ֢EjjjBbXfx|T***$k֭{1֭{{{"mۖɓ`ކ$%%Ϝ9qFӧ?}סfϞmbbۛ) Þ -4xٸ59 =/ y3hF4@(B& h4P@ M yeuuo1"DObLѼRFFu q:B& h4P@ M hF5l6O,3007`0l67olii($/3k4dŸddd c=c |7˖-{&DMMmٲe_ph-[>}p]]ݩSD9sfLfPPGFIL`l۶m#G.e˖H$oAq+3k4B&&&a`0_[[+R 6 &''LNN^~(v7TVVΟ?KԩS Bĉ__x$QQQwܹ{ntt4L{z $&p)))/_ttPp2suu533+--Xj2D_ࢤ$^SSS#]]]?BٵkWWWa)))4 dٗ/_ y#G0 pNҊgϞ۷رcT*bEDD(++fX***iiilMMDccASSS`0D= 0aݻ700r/_Y[[>Câ鲲'&&bfkk{5<'77WAAacѣG=<tN`pR(@4+3 fΜzp^e///d21 c2^{ 8WRRѡ޾~///.K :dhh++w!ϝ;Ջ/k8tPkk+>sL^zfWWpGLL駟޸q%NNNBmcǎ#G4djhhvH`TJJJqqq\.!|r˗ 9\۷t:Ɔ?A`P{ Dh20رcdˬ\ZZ!$--mff&e&) _smjj" .lkk-++1cBٳ^^^***#l.]¿;X,V~~_bb]eZOVV699900Ph x <ӧvH`,Tj``7B‚4$$ҥK;::TTT𸪪j[[;::O {7h ,ӧOkiiy{{LQˌ e& ~ @000033㒒 ,@]&BÇ666@ ,]t3J'''|G /ࠪjoo+//ɡ7"""999** (TnXXXAAAtt4Bv˖----ovpp%%%yr\ /% {7h -3Ͽ|?xhM2FSQQch\FFH$"D"~ aBHRR  5y@ lܸƍ˖-zzz***E=0&$i֭nnn7o.--]dIDDĮ]xxXhiӦ_OOfg0Quu5~ AݺukCUUU>b[f~@&&&MMMlffysssGUq8 |)@Ax!$//oll'={v]zum3gL6~.saaajjj޽ SZZ>rmmmxyx1ee˖&d2wر{ A4LX,[-AWVV:88aQDDDxzzǓH$//ŋ[ǼÙNMM|PTTԶmڞ>ԩS=y򤬬wANN`hpϞ={!)))yyyccも \%%%ׇ @B$D">+0(;::444BCC=<<|}}_sN2#pXxh4E޽R۬xX,Vnn.~zXad2ޞ`uvvŵ㷍奧hii!.^9tTUUU]]]? T&B ̺:EEEFLp8'O.^xӦMVVV\.ٳg9D"nh!TWWN2̜yyyPNNNjjv@@q ?N6VUUAЃCˬB,ZOHNN.((\v-o%c)36] hA M1tက1lќLijƭќO),>xMțF4@(B& h4P@ M h+(g^)WP΁xw!wwau>S@(B& h4P@ M hFF)##Jz޼ySZZ7[*lvv`hhh(++c٢kꫡ_o޼p8éYUU͛VpF M`UUUUVVGlviizzz zzzUf(444 \$''4|ii;w&배7777{ŧtĺuxK555\c⬦`z``2|򉚚ܹsM;\fmmm{{x Ç}Dqss0ZCCȨðʙ3gL>}YF]]]]]}Ԙ?~|@ E( Ɨ2NNNSNOX,9uԹs*++UUUgΜXfBKh"OÇ<ܹs^F߽{w̙A%K<}7uԌ \ ,_:%o IDAT۷ٳG#0lÆ ׮][~}ffŋBԤhUUUk׮ݱcBVQRR:}4B… 555T*… 6FGGd5\EFF544Դ\~bļ~ƍ=BY+++ϟ?ߏįıgiiBP޽{cǎ{YXXuuuZZZ~'LZZZZZ>sאъ+޽+08;Ɠ2p8qqq$222iii+V());mm 6,;;H$~O?H$>{L L4:k׮t qƍÇ+**HOOgϞ.[l…W^| , /_tppȸqF]]o`l8 /B---Ǐ_~GFljjm۶6.;{l<˹Bڵk! ĘPee%S&&&RfO~Xf555;wr=== CNN!LheVYY9k,"}QEEԩSŭfyy޽{/]4sLPgg?\r|ӦM~~~W\yIgg---4&bbbbbbW\obb2e 4iiEeeeQ(+Vo!h4<GDDDQQђ%KD=0&of0u\[[[PPPll˗y~i&&&^EEE|rWW{{{$$$@䆖Ygg'H >}KVVG}dmmqԨ42-Eb\fhΜ9NmٲKKK (𸕕B;w.~~:jffЕifddĥKzx^啛{u։k7mtm۶;wׯ_;VVVf͚["x2L@r M ZCˌH$r8~)000"""888&&@ Κ5}}}AAAQˌfs-3ql4%$$RRRJGG/NUTTۇ~gg',///++n0K,ߖ-[RVV?cg̘; l|ٙdh4 믿Ƨ-,,N> Н;wBBBܹbX~)ŲeGǭ166_%$$jjj@BH__O>Eoo߿رsʌ)2FsT% oFXׯ;;;/Xϟ?G555KBSLЀB>e{{+W +$={Oݖ@ZZh"VXK.FFF/^״>|::: 4MZZիWn3ҬB׮]ß%ɝK.Gݻw]`P$Ƈ2SUU]paBBBf''';::߿!TQQ$̨T*~ϢEz{{>|joo_x88cuu[n +ӦM9s˧O^PP0000eI>JJJ .9sfEEa===vvvͳ^`Aoo/a= 0 +))qqq1cis4'eaXAAe8?wXfW\!HxV\~ <82h0 FihhN:kMMMU撒^u:B @VViqҥgT`RZZZ0rss\ ~)**o߾aÆիWȌٙG"x\.~(`oooNN9sFU]] ϛYwwwnn)ށ JJJfϞZf%%%sXʌf777~n4h4@)\\\E=ќLijƭh+!^ff B& h4P@ M hFhpl6Kp8&5lPZ`,D"(df\8lH40L[;-?'\.@?Xp\BaaSєw:B:cW]]/Q 8l`B& h4P@ M hF54-OT*͛ҿ9lHAA MCꫯxMEEw8G޼y39NQQQSSӨA0 -36]ZZ: *++G(x& %%%999999͟?_ZZzΝﱉ:,,l|͠cN8$H 6P"ATR-*UZbZk[[mm[ZjZ[m*TmK놸"$IY0oBDl=93s,\tƍbmmӧxPrbG~ :::֠UCB򲲲rtt={D"!ٹoiӦ1cƐ%ܹsmmmmmmcccq\___77733ݻwԈἰCE1giiqF@  :tôiӤR)ч4;ws`L&i!,Kx*zsvv߸q?9iӦ-]yG,4_\]]/JCaaիKKKcbbGʕ+d2A7o0aj~` n3gΚ5k 45BsИfC=uANNNAlذa޼yJR"~7ijL*ٝ>~P(~֭[)InnYivU*qqqT*L?:#LvQ@ ?^^^}v h++#GFFF?.\xw/://#;y󦕕ܹ377񹹹III۾}{1|'O?u%  ƫn:}U|R9r$/,,T駟ωׯW}j+UQQMML&Vo1CAcUTTtttb<O <|U&]VT.[lر4{7B UQQ1tPCK3ChРAM6z|Wp5k֨o.,,,ϖmmm2 @cP{ A4 Zhٳg?~A& B*zj6qeCւ!------/_Çqqq177'ぁϏAֿ@ hii',Y{Ue˖aÆBʊ+^}ղk׮իW=(lΙ eeeV"YYYT*׷uÆ ˗/rJYYY{{+WR)P=IRa0bX5@cPWgQ(gz{{K$իW[YYQTB7߼7oNJJJKKgfxFYZZ4d2\ۻM::G uuZ'#u=!BH+D!BZ&B! ,4B!V`B! MB!Xh"B!0BΟ?_SS AyyyG=tY|BHE,$H=m󗢲BPAԨi+⦦gрQ__~o&lkk{nkk*"J3MfxbUB뻺4:q 7nN_v_Ŏ;֯_<oϞ=݂k׮QYΝƃ .+= ԟڪf֬UC򲲲rtt={D"!ٹq=ME"̝;666\uss333۽{w/A8ViMWWklee䔝vʕ_|jq |Æ dW^Q4@@!gvmffr{ v#^?!,Kx*zsvvlkksvvO\ssG=`P?&z.BȨE Bp(JիW۷ +WFEEd2 6o|GM 3h4G} wMLL422[naX2113gάXN+VdeeՕ ӧO#myAHH|555$//OUt޼yvyԩlذ!!!())i۷o69sL:uÆ }oo!d8\.0aСC̙r="lVjjjR*!!!PXX8gO?޽{#Gtuu}7JUQQMML&Vo1E0eʔl DGG[nĈgϾq==99!444??H;UCoooLr5{2㾟|РAP(L===kkkBC^[[{%gnn>jԨXPnddfϟ?.rss]]],8 @cc_c!Hiiivvv۶m.**hz3gμ[ϟx veeeE[n!Gb|  _{7D" e[[z"`Ҁl1E7{ǏݻÇ[l}O:sg͚u޽gzh43332z_>CC,4i4yiN`2OwF5j~,==]o߾uVGG hѢlyш*:k֬G9rH*N>- MMMÏ9|>?'''::ZcP?ǏÇN"?wvv&''u͏?&3?hoo̍7Ⱥe֬Y---pለ1)td{O}H\ecc3e77s璳Q߿|ҤINNN111F6la3g ێ,kRhGcǎF466XC?i-qz#6sԩ...EEE2H%AMhh1cjjj=ztPPPHHH$" (--uttpuuU1Nop\//#F9He֬Yva+ϟ>dȐ?l1g/^I]\\"##߿KMoD!BmCCR_#JJJhx,Q,..nii7n#bԔfS(~cccxxjjj bjj~CPܾ}[*^7z𡅅P/cccF$ݸq_$R,,,`*UAHTXX{jQ w_z__!C̙7551N.x<''0ҏ M M%XhcǎEDD888{ aO8qBl!Y Zx*S@!BaB! MB!Xh"B!B!Bi!BH+D!BZ&B! LخT*;;;r^Pb rD"@PJ&) H?r@a!T*) &'z JB}T*5?B( T?g4t:&|9|9j777} du# !Bi!BH+D!BZ&B! ,4B!V`B! MB!G w!?4%VYY)|||`9N`XX!4p\ٶm[|||_JRATAmll VUU驱sBQZZjoo{ l=L&Y[[;;;R*^^^݂YGGGUU*hXiFC}}}WWU'N`0aaaaaaƍk׮ رcޞٳ[ajf T\.W,{d#Gw^/mjkk[[[u6$Ի|///+++GGٳgK$ x<^PP{qq1xݺu>|xMM Adܹ\ݻ{ jp^1#Әf/_vpppww} aaaCupp6mT*%fΝ>wcd:mC,4Y,jΝ;T*ϻ-4ݻKv#A yN4 /JCaaիKKKcbbGʕ+d2A7o0aA|> 5k,] n3gΚ5k 45BsxZyyy}Aɓ'oݺ 6̛7OTJ$oxVIR;;'OqI;;;#ccy_QEM 3h4G} wMLL422[n_dmm m̙3+Vt:}ŊYYYwuu%''ӳ5u}H4P(|5k466͛ oݺu+B111͝>}:<+ͮ^JR ..J`=d2ѣGA@@X,>~xyy-,,9RTTSPP9~Ç_pw!輼{͛VVVs477&%%ݻwoGoݺuNBBRR+KKK__UV|R9rH2^XXjO?;w.\;466Θ1]j+UQQMML&Vo1E4H$ rss>|*֮]T*-[6vXxV=xۛBB򪨨:t!,//4hРAtMz|W  7mdee5q͛7G ,,,mmmꝋD"zl1#EzKݿʔ)[l T*ul6%""Ї4SN3C,4===[ZZZZZ_|9Çz*00TWW<---%KzJy<ނ yiӦC!Ι eeeV"YYYT*Tƍz_====55 FGGIgg'P`bR@cP7Ec)ʝ;wEGGT*UP|7͛ҠiZ fXhh4KKKKK D~`2O- MMMÏ9|>?'''::ZcP_i_|g L3>omm=~cǎ\.?uɓ@cԐL0A$˗[[['Mdi'{F*555Ŭ,)S͝;b&Mrrr!7ڰamLL ͞9sfFFAovtt eX'OJuuuFFFWiTIEEE/@7B9NoԏÆ :uKQQL&3666RciiID[[ѣY,֘1c =ztPPPHHH$"JQZZꪚ ZcP#h`fF+:: ";;#FDFF?C,##ʊ?33&**di(A輸;;;եF ۫WZZbU▖qƩϛ/LMMl6ΨPWSS3d| z>|haad2=466&&&ƚRP\~Jl#J|J=88JpyP$:88Fc#FBi~ {{{___,>Yccciizӗ4</XB!mBi رc@biBӠD!gi/B!B MB!Xh"B!B!Bi!BH+D!BZ&B! ,4B!VgvR)h4^P/D BARH$F4GȔJn WPr\P!áT*)W"wr*BP` P( Bo:M::G uuMߣ@s`B!BZ&B! ,4B!V`B! MB!Xh"B!B!Bi gtOee_Ԩ^zC 0%%%DAg۶m=)*+++**TzIUUUee:W(MMM [rt"GzOa]]]W8q`7N]/bǎׯ{{g::: Jmhh #A 7 EBBUffZֶrl^^^VVVgϖH$Ax ;;;wwwwwb lmmnH$sƒrnnnfffw%q#Ҙf_|z:9sF^.nܸ\|f;wܹsdi&^kbpg4%?????ڵks玶w?\e'O0Bˉ'󫪪JJJ233WX! =( A=zt….\hwߵohhzW֬YGCM>/ruuuuuu555_~e]_^rwݵk+1ٲe*fΜdΝY{uuu-^8==/K3C,4ձl&p?~f͚>ֶn:6=mڴ_~lаxb6,`BB޽{A|b7hii7o^1|wK,Y`AffN!oܹs'..=( mmm`̘1@>`{nbbߺu liiiiiT*?䓯Μ9b :NWXWWW^^^rr2O>=;;[cP燎tiip,Ddee-^XCivU*qqqT*̠ MLv!@ ?}v x#G,Z(&&DTFFF>|555$//OUt޼yvyԩlذ!!!())i۷o6_W_?͛7{O!'ݻ|L!g]jUSSR 9sm~@lٲj*GGGxȑ#8ŪPoYSS dAm%ҳ9za|}}˗/?| (a~wQyyA@P0̃zzz C >ҥK<|ԨQB0==Ȉf?]X,q@@@'O ussǏ,FBpr<-->ꫯL̙3o/^`]vYYY|֭[srrG\DgKK˶6E"h 4zH4R2eʱcn߾ꫯ/X`ڵ˖-V<3Tkhzzz>|r2NӇܜr8j???)n---%Kžرc\.#)--;vl^^ޥK='Ι eeeV"YYYT*W?^r%N' 9N9JRƠV4Mlll"##׮]{ĉ .燆^r͛Ї4S`hh4KK˞q4'0'Odv W žP($OPUMUU͛7ϟ?O+"##o߾=zuFFFڵkٲe ꫊ǏرRRRbcc +++999++kرO:~;!ORp\...4庻h jHiL3PXSS:sikk+JR֭[PT\fZբ!|&3gT*|CBBJJJ]MMMZ066~_rfddR\lYAAێI&O0Oj"TY'LAg033KOO{ڶo߾uVGGG򟲡l?{zzwgf͚uQr#GDGGH$:}P(455 ?rhA8%i&ƍWRR SN5k֥?͛7/>>ᅦYMM |τ D"9˗[[['Mdi)z}M3^SScnnZʲ2eܹse2A7774iSLL 9 lmmcbbl̙3322}chh(Ś|haa XG}HT@pp0H$*,,tpp=Suu#wHiL{zzz3ӬGKrWyB!mBi رc4 ́0Lg!> Bi?<@!BaB! MB!Xh"B!B!Bi!BH+D!BZ&B! LخP(5L !"KA AB} d BP`G)4ry{{^vPbXABP*2LAABPߣ@R^Sht|9B!QuuG2]:^A!BZ&B! ,4B!V`B! MB!Xh"B!B!Bimǎk{{FB3544]FFFo_~ibb~W_}N1(**ŋ,YΞ=KA_tŢEŋׯ_H$qqqL&sٲedP}ѲefϞ- 5uuB!+P_qΜ9_[[Xjɓ'~KZZZ={v߾}w%'OZXX:uy۶m!!!W^ݱcGqqѣGHbbb|~TTT]]]WWWbb3RSSR䀀kkkp8PZZ MMM`oo666P__477766WiSS5yV=*B!7s[nmڴi.\xw޷5k֛opB.[RR NNNyyyRt3fXn݌3 h4eeeeJJJ]]ݻwEtkb2JLLT&^\\,J\ɓ R9sn߾d2\.Wuell ]]]A2NWyV ?޾B!5r={?))) o5l0򃇇gT;5]]]EhϳGƍ۹sD"y kvԩssG3j(a2d2CB=T*b1@ P%V=8B!7g"N?>tuuQ( aveII ֭[gBܹ*[oU\\#Co`eeJޔbɓ'~իW`ўPVVߑ#G+**J% {CCg{{;(ٌbi td{O8B!]:q888_&go1bBINN^l9LUUp$$$\^z% ߿&L(**666޹s'ywy[[[?|=00p޽d@N| 0 .P(ohhAvqqP(i&!L#1dȐXXX<~XT_"ԟ +++### N> G^z5B }Z'Mo&BoxРAO?`ll1cƼ/@-^8>>>>>Դݻ (ʌ3׮]={>++J2[A啕O:UטzCC}}}WW^vBh 6m"RaÔJ%|2믓@7=755YZZfff w :~[B!A{hP(vĉUڵE,?Q<8|p322"⭷Reװa(,,477'YZZ޾}[ ,Pd21'{d^ MBH$b0>>> `ƍWd2R)y摋2Lu999G@hhh[[ۏ?H={T]fbb?K/]rE'OLLL>쳧Ç)믿>wol…=ORsimmP(ϗH$4m˖-AL4Ĥƍ3fP_^{m…pu9qx:+4MB5k\. 21bĪU>>~+tPUKcjjjcciӦ)S? k@ll,9&(zLL \|ѣG cȐ!ׯxq97B!֭[*++EH>w\6}QXXX~~>XTTM.;;;/_ ?#%%%QYY9~x d2SRR77/^7n}HDD̚`90deeR(336 r)S[;wnԨQ4zݺuADŋkdw +))!"77w/]tVhRiԆ;;A~!P}'|A}}q=ryvĈ'O|W461b _>$$- jwR TSud= g\.xNNN߄h"B]^>W { V `}iٳ*K O=oNj!24&&&yyy/͛7'{&B!TݦI'K!BH+D!BZ&B! ,4B!V`B! MB!Xh"B!<2L >=B!DP|G2R)t#AHR,4B_I} dmc:>_vիWM&ӫh_~%<<|>>>tzÇ߽{wƌf~Z/]bٺݳgVL&ݻwW%r{aC&XjgP-6lTYև+B5_Κ5r)cO⌋knnةjt{5vt:oݺ%kwts3p@nۏ;&X`tjb)))immR[[[QQޮ>mmm----//Aߏ}`UUU1cƻ_TVVm⩬̜3gfoF=ZTTm6ñy'NQFY۷_|yΝ;ݺukEEݻcbb222Ng}/7&O+SNgZ_{ѨT\2''Gxȱc:71BӭYoQsխ_~֭#GXnϙ3(%%E͂fYyv-]TQXXر_U-]444t޼y]6~茠 SZfѣGW\yĉO?V:uh4~GZ6??~jhh{}iiigϾuX|aÄVJMM6mBkFFF/YDQs.\p3gμsbРABP[[۱;w(JCCCoٲe}]PP˗G|rEQ =y掕>Bx{{{ή:wkjj\.W ұ`0!Gh25EWGYYY6m2dȄ Zm? }NJJZtiDDĮ]̙,YDz.\0֭[7y>}://bǟ={6))iӦMӧOB !nwkkk```<[@l컽 3< V;dȐJ5F !Fѱjnܸ111f׮]˃7oh4Bd2\.WvB&!bBh_+rҳn]]}&66֭[2ec&OwYvmjjӷol2߬h"//Wn޼@A|&<͛z~ԩzCBB333322>3g8p@-XҥK{7Ν{!!DZZK/goo'O !.\(=znw:ofNNNjjjbbbvvĉ ec? @M2eݺu'{yyL=''' @666nܸڵiii)))6-//oʔ)yyy]v}4ql6[o5`!Dll;.mnn2eիէqqq&::СCj-["##5Ͱavܩ6^z5))ImٲEm;w6l0&99G}45} }5/Eq\'Bxyt*OTTTXIq].ztYZ.b 2'C;8t9h4|J#&"""V^. 벱'7xte&A4 AR4 AR4 AR4 E5nwy{p޽e/?AW_@G:HhEno9 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )t=gM^^bBhڰd__^yez'VZִ4OKMMͥKZ +3͛G={iӚ8+/{.ɓ3gܽ{w߾}111QQQYYY21 Å_}t?>88xĉv;w)>>Q)//7 'ONz\@X,/^h4ƍ -))Qʕ+ƍS nܸ4j(!Dqq۷G!uf4dPv;β28uNNNSSSBBBCCCAAȑ##G=999/Ν;].WLOO;vl羚{nIHHHNNnjj*//laaar_& &$$$==](JXX؍7E)//㏵ZÇϜ9#8{Y>|7nDGG? &IDATf!D]]ݥKƏ룢)))1ZVF? -Zӱbdggz//V55+***..B9'}DFFCBBl6[5f̘1c/^4i hH(JnnnFFweeeII_[[0 jh?~|ll… }wh4޹sG}|툈5ǎ NJJBx{{+;-&tܹs~~~%%%nO81;;;&&ŋz^1iҤL4f_Ky7v;vk׮͞=s/w^EQ˗{^®h&555f…  ,--]x?3fLϤlii?4l벦{aGvJHH7]^QFvٳmmm111.1MH  AR4 AR4 AR4 AR4 AR4 AR4 AR4 AR4 AR4 AR4 AR4 06'IENDB`package.json000066400000000000000000000024321516101153300133410ustar00rootroot00000000000000{ "name": "p3x-html-pdf", "version": "2025.4.137", "corifeus": { "prefix": "p3x-", "publish": true, "type": "p3x", "code": "Venture", "nodejs": "v22.13.0", "opencollective": false, "reponame": "html-pdf", "build": true }, "license": "MIT", "description": "📃 Generates PDF from HTML with custom headers and footers with wkhtmltopdf", "main": "src/index.js", "directories": { "test": "test" }, "scripts": { "test": "grunt", "install": "node src/package/install.js" }, "repository": { "type": "git", "url": "git+https://github.com/patrikx3/html-pdf.git" }, "keywords": [ "html", "pdf", "async", "header", "custom", "footer" ], "author": "Patrik Laszlo ", "bugs": { "url": "https://github.com/patrikx3/html-pdf/issues" }, "homepage": "https://corifeus.com/html-pdf", "devDependencies": { "corifeus-builder": "^2025.4.123" }, "dependencies": { "cheerio": "^1.0.0", "corifeus-utils": "^2025.4.117", "fs-extra": "^11.3.0", "progress": "^2.0.3" }, "engines": { "node": ">=12.13.0" } }src/000077500000000000000000000000001516101153300116415ustar00rootroot00000000000000src/base.html000066400000000000000000000006221516101153300134410ustar00rootroot00000000000000 ${settings.html} src/header-footer.html000066400000000000000000000026141516101153300152560ustar00rootroot00000000000000 src/html-template.css000066400000000000000000000003231516101153300151260ustar00rootroot00000000000000@charset "UTF-8"; body { font-family: 'Arrial Narrow', sans-serif; font-size: 14px; margin: 0; padding: 0; color: black; } tr { page-break-inside: avoid; } table { border-collapse: collapse; } src/index.js000066400000000000000000000177531516101153300133230ustar00rootroot00000000000000const utils = require('corifeus-utils'); const path = require('path'); const fs = require('mz/fs'); const fsExtra = require('fs-extra'); const template = require('lodash/template'); const cleanDeep = require('lodash/cloneDeep'); const cheerio = require('cheerio') const startCase = require('lodash/startCase'); const os = require('os'); const isWin = os.platform() === 'win32'; const binPathAddon = isWin ? '' : 'wkhtmltox/'; let binpath = path.resolve(`${__dirname}/../release/${binPathAddon}bin/wkhtmltopdf`); // if we are in arm64, change the binpath if (os.arch() === 'arm64') { binpath = '/usr/local/bin/wkhtmltopdf-arm64' } const generate = async (options) => { const {settings, saveFile, base, debug, title} = options; let {javascriptDelay} = options; //console.log('options', options) const isFixed = () => { return settings.template.fixedWidth > 0 && settings.template.fixedHeight } const save = settings.hasOwnProperty('save') && settings.save === true; // const consoleDebugOriginal = console.debug; if (debug) { console.debug = console.info; } else { console.debug = () => { }; } let tmpHtmlPath; let tmpPdfPath; let tmpHtmlPathFooter; let tmpHtmlPathHeader; try { const baseHtml = (await fs.readFile(`${__dirname}/base.html`)).toString(); const baseHtmlFooterHeader = (await fs.readFile(`${__dirname}/header-footer.html`)).toString(); options.base = options.base || 'file://' + __dirname; options.css = options.css || (await fs.readFile(`${__dirname}/html-template.css`)).toString(); options.jquery = options.jquery || (await fs.readFile(`${__dirname}/jquery-1.12.4.min.js`)).toString(); let html = template(baseHtml)(options) let $ = cheerio.load(html); const $id = $('[id]'); let header = {} let footer = {}; const defaultHeightMargin = '10mm'; let marginTop = defaultHeightMargin; let marginBottom = defaultHeightMargin; $id.each((index, element) => { const $element = $(element) //const $parent = $element.parent(); // console.debug($parent.html()); const id = $element.attr('id'); if (id.startsWith('p3x-header')) { header[id] = `
${$element.html()}
`; marginTop = $element.data('height') || defaultHeightMargin; $element.remove(); } else if (id.startsWith('p3x-footer')) { footer[id] = `
${$element.html()}
`; marginBottom = $element.data('height') || defaultHeightMargin; $element.remove(); } }) // console.debug('marginTop', marginTop); // console.debug('marginBottom', marginBottom); /* page: frompage: topage: = pages webpage: section: subsection: date: isodate: time: title: doctitle: sitepage: sitepages: */ $('.p3x-header').remove(); $('.p3x-footer').remove(); //$('ng-core-pdf-template-include').remove() //$('ng-html-template-include').remove() html = $.html(); html = html.replace(/\${qr}/g, options.settings.qr) const headerOrFooter = (data, type) => { const lodashTemplateHack = ` item = item.replace(/\\$\{page}/g, vars.page); item = item.replace(/\\$\{pages}/g, vars.pages); item = item.replace(/\\$\{qr}/g, qr); `; const mainsSettings = cleanDeep(options) mainsSettings.settings.html = JSON.stringify(data, null, 4); data = template(baseHtmlFooterHeader)(mainsSettings) data = data.replace('// headerOrFooter //', `var headerOrFooter = ${type};`) data = data.replace('// lodash-template-hack //', lodashTemplateHack) data = data.replace('// qr-hack //', ` var qr = ${JSON.stringify(mainsSettings.settings.qr)}; `) return { mainSettings: mainsSettings, data: data } } const headResult = headerOrFooter(header, 1) // const headerSettings = headResult.mainSettings; header = headResult.data; const footResult = headerOrFooter(footer, 2) // const footerSettings = footResult.mainSettings; footer = footResult.data; // console.debug('headerSettings', headerSettings) // console.debug('footerSettings', footerSettings) // console.debug('html', html) // console.debug('header', header) tmpHtmlPath = await utils.fs.ensureTempFile(html, 'html') tmpHtmlPathHeader = await utils.fs.ensureTempFile(header, 'html') tmpHtmlPathFooter = await utils.fs.ensureTempFile(footer, 'html') tmpPdfPath = await utils.fs.tempFileName('pdf'); //console.debug('header', footer) //console.debug('footer', footer) //console.debug('html', footer) // console.debug('tmpHtmlPath', tmpHtmlPath); // console.debug('tmpPdfPath', tmpPdfPath); // --header-html ${tmpHtmlPath} --footer-html ${tmpHtmlPath} /* -B, --margin-bottom Set the page bottom margin -L, --margin-left Set the page left margin (default 10mm) -R, --margin-right Set the page right margin (default 10mm) -T, --margin-top Set the page top margin */ // // if (javascriptDelay === undefined) { javascriptDelay = 1000; } let addOn = ''; if (isFixed()) { marginTop = '0mm'; marginBottom = '0mm'; addOn += ` --margin-left 0mm --margin-right 0mm --disable-smart-shrinking` } else { if (settings.template.marginLeft !== null && settings.template.marginLeft !== undefined) { addOn += ` --margin-left ${settings.template.marginLeft}mm ` } if (settings.template.marginRight != null && settings.template.marginLeft !== undefined) { addOn += ` --margin-right ${settings.template.marginRight}mm ` } } const pageSize = isFixed() ? `--page-width ${settings.template.fixedWidth + 1}mm --page-height ${settings.template.fixedHeight + 1}mm` : `--page-size ${settings.template.format}`; const generatePdfCommand = `${binpath} --javascript-delay ${javascriptDelay} --copies ${settings.template.copies} --margin-bottom ${marginBottom} --margin-top ${marginTop} ${addOn} ${debug ? '--debug-javascript' : ''} --title ${JSON.stringify(title + ' ' + new Date().toLocaleString())} --orientation ${startCase(settings.template.orientation)} ${pageSize} ${tmpHtmlPath} --header-html ${tmpHtmlPathHeader} --footer-html ${tmpHtmlPathFooter} ${tmpPdfPath}`; console.debug('generatePdfCommand', generatePdfCommand); await utils.childProcess.exec(generatePdfCommand, debug); if (save) { await fsExtra.move(tmpPdfPath, saveFile) } else { return fs.readFile(tmpPdfPath); } } finally { if (tmpHtmlPath !== undefined) { await fsExtra.remove(tmpHtmlPath); } if (tmpHtmlPathFooter !== undefined) { await fsExtra.remove(tmpHtmlPathFooter); } if (tmpHtmlPathHeader !== undefined) { await fsExtra.remove(tmpHtmlPathHeader); } if (!save && tmpPdfPath !== undefined) { await fsExtra.remove(tmpPdfPath); } // console.debug = consoleDebugOriginal; } } module.exports.generate = generate; src/jquery-1.12.4.min.js000066400000000000000000002756131516101153300150370ustar00rootroot00000000000000/*! jQuery v1.12.4 | (c) jQuery Foundation | jquery.org/license */ !function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="1.12.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(!l.ownFirst)for(b in a)return k.call(a,b);for(b in a);return void 0===b||k.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(h)return h.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=e.call(arguments,2),d=function(){return a.apply(b||this,c.concat(e.call(arguments)))},d.guid=a.guid=a.guid||n.guid++,d):void 0},now:function(){return+new Date},support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fa.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fa.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ba,ca).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(P," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}if(f=d.getElementById(e[2]),f&&f.parentNode){if(f.id!==e[2])return A.find(a);this.length=1,this[0]=f}return this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||(e=n.uniqueSort(e)),D.test(a)&&(e=e.reverse())),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=!0,c||j.disable(),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.addEventListener?(d.removeEventListener("DOMContentLoaded",K),a.removeEventListener("load",K)):(d.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(d.addEventListener||"load"===a.event.type||"complete"===d.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll)a.setTimeout(n.ready);else if(d.addEventListener)d.addEventListener("DOMContentLoaded",K),a.addEventListener("load",K);else{d.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&d.documentElement}catch(e){}c&&c.doScroll&&!function f(){if(!n.isReady){try{c.doScroll("left")}catch(b){return a.setTimeout(f,50)}J(),n.ready()}}()}return I.promise(b)},n.ready.promise();var L;for(L in n(l))break;l.ownFirst="0"===L,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c,e;c=d.getElementsByTagName("body")[0],c&&c.style&&(b=d.createElement("div"),e=d.createElement("div"),e.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(e).appendChild(b),"undefined"!=typeof b.style.zoom&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",l.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(e))}),function(){var a=d.createElement("div");l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}a=null}();var M=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b},N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0; }return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(M(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),"object"!=typeof b&&"function"!=typeof b||(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f}}function S(a,b,c){if(M(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=void 0)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},Z=/^(?:checkbox|radio)$/i,$=/<([\w:-]+)/,_=/^$|\/(?:java|ecma)script/i,aa=/^\s+/,ba="abbr|article|aside|audio|bdi|canvas|data|datalist|details|dialog|figcaption|figure|footer|header|hgroup|main|mark|meter|nav|output|picture|progress|section|summary|template|time|video";function ca(a){var b=ba.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}!function(){var a=d.createElement("div"),b=d.createDocumentFragment(),c=d.createElement("input");a.innerHTML="
a",l.leadingWhitespace=3===a.firstChild.nodeType,l.tbody=!a.getElementsByTagName("tbody").length,l.htmlSerialize=!!a.getElementsByTagName("link").length,l.html5Clone="<:nav>"!==d.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,b.appendChild(c),l.appendChecked=c.checked,a.innerHTML="",l.noCloneChecked=!!a.cloneNode(!0).lastChild.defaultValue,b.appendChild(a),c=d.createElement("input"),c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),a.appendChild(c),l.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!!a.addEventListener,a[n.expando]=1,l.attributes=!a.getAttribute(n.expando)}();var da={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:l.htmlSerialize?[0,"",""]:[1,"X
","
"]};da.optgroup=da.option,da.tbody=da.tfoot=da.colgroup=da.caption=da.thead,da.th=da.td;function ea(a,b){var c,d,e=0,f="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,ea(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function fa(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}var ga=/<|&#?\w+;/,ha=/r;r++)if(g=a[r],g||0===g)if("object"===n.type(g))n.merge(q,g.nodeType?[g]:g);else if(ga.test(g)){i=i||p.appendChild(b.createElement("div")),j=($.exec(g)||["",""])[1].toLowerCase(),m=da[j]||da._default,i.innerHTML=m[1]+n.htmlPrefilter(g)+m[2],f=m[0];while(f--)i=i.lastChild;if(!l.leadingWhitespace&&aa.test(g)&&q.push(b.createTextNode(aa.exec(g)[0])),!l.tbody){g="table"!==j||ha.test(g)?""!==m[1]||ha.test(g)?0:i:i.firstChild,f=g&&g.childNodes.length;while(f--)n.nodeName(k=g.childNodes[f],"tbody")&&!k.childNodes.length&&g.removeChild(k)}n.merge(q,i.childNodes),i.textContent="";while(i.firstChild)i.removeChild(i.firstChild);i=p.lastChild}else q.push(b.createTextNode(g));i&&p.removeChild(i),l.appendChecked||n.grep(ea(q,"input"),ia),r=0;while(g=q[r++])if(d&&n.inArray(g,d)>-1)e&&e.push(g);else if(h=n.contains(g.ownerDocument,g),i=ea(p.appendChild(g),"script"),h&&fa(i),c){f=0;while(g=i[f++])_.test(g.type||"")&&c.push(g)}return i=null,p}!function(){var b,c,e=d.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b]=c in a)||(e.setAttribute(c,"t"),l[b]=e.attributes[c].expando===!1);e=null}();var ka=/^(?:input|select|textarea)$/i,la=/^key/,ma=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,na=/^(?:focusinfocus|focusoutblur)$/,oa=/^([^.]*)(?:\.(.+)|)/;function pa(){return!0}function qa(){return!1}function ra(){try{return d.activeElement}catch(a){}}function sa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)sa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=qa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return"undefined"==typeof n||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(G)||[""],h=b.length;while(h--)f=oa.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=oa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,e,f){var g,h,i,j,l,m,o,p=[e||d],q=k.call(b,"type")?b.type:b,r=k.call(b,"namespace")?b.namespace.split("."):[];if(i=m=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!na.test(q+n.event.triggered)&&(q.indexOf(".")>-1&&(r=q.split("."),q=r.shift(),r.sort()),h=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=r.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:n.makeArray(c,[b]),l=n.event.special[q]||{},f||!l.trigger||l.trigger.apply(e,c)!==!1)){if(!f&&!l.noBubble&&!n.isWindow(e)){for(j=l.delegateType||q,na.test(j+q)||(i=i.parentNode);i;i=i.parentNode)p.push(i),m=i;m===(e.ownerDocument||d)&&p.push(m.defaultView||m.parentWindow||a)}o=0;while((i=p[o++])&&!b.isPropagationStopped())b.type=o>1?j:l.bindType||q,g=(n._data(i,"events")||{})[b.type]&&n._data(i,"handle"),g&&g.apply(i,c),g=h&&i[h],g&&g.apply&&M(i)&&(b.result=g.apply(i,c),b.result===!1&&b.preventDefault());if(b.type=q,!f&&!b.isDefaultPrevented()&&(!l._default||l._default.apply(p.pop(),c)===!1)&&M(e)&&h&&e[q]&&!n.isWindow(e)){m=e[h],m&&(e[h]=null),n.event.triggered=q;try{e[q]()}catch(s){}n.event.triggered=void 0,m&&(e[h]=m)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())a.rnamespace&&!a.rnamespace.test(g.namespace)||(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]","i"),va=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,wa=/\s*$/g,Aa=ca(d),Ba=Aa.appendChild(d.createElement("div"));function Ca(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function Da(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function Ea(a){var b=ya.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Fa(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Ga(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(Da(b).text=a.text,Ea(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&Z.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}}function Ha(a,b,c,d){b=f.apply([],b);var e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&"string"==typeof q&&!l.checkClone&&xa.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),Ha(f,b,c,d)});if(o&&(k=ja(b,a[0].ownerDocument,!1,a,d),e=k.firstChild,1===k.childNodes.length&&(k=e),e||d)){for(i=n.map(ea(k,"script"),Da),h=i.length;o>m;m++)g=k,m!==p&&(g=n.clone(g,!0,!0),h&&n.merge(i,ea(g,"script"))),c.call(a[m],g,m);if(h)for(j=i[i.length-1].ownerDocument,n.map(i,Ea),m=0;h>m;m++)g=i[m],_.test(g.type||"")&&!n._data(g,"globalEval")&&n.contains(j,g)&&(g.src?n._evalUrl&&n._evalUrl(g.src):n.globalEval((g.text||g.textContent||g.innerHTML||"").replace(za,"")));k=e=null}return a}function Ia(a,b,c){for(var d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(ea(d)),d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&fa(ea(d,"script")),d.parentNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return a.replace(va,"<$1>")},clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!ua.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(Ba.innerHTML=a.outerHTML,Ba.removeChild(f=Ba.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=ea(f),h=ea(a),g=0;null!=(e=h[g]);++g)d[g]&&Ga(e,d[g]);if(b)if(c)for(h=h||ea(a),d=d||ea(f),g=0;null!=(e=h[g]);g++)Fa(e,d[g]);else Fa(a,f);return d=ea(f,"script"),d.length>0&&fa(d,!i&&ea(a,"script")),d=h=e=null,f},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.attributes,m=n.event.special;null!=(d=a[h]);h++)if((b||M(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k||"undefined"==typeof d.removeAttribute?d[i]=void 0:d.removeAttribute(i),c.push(f))}}}),n.fn.extend({domManip:Ha,detach:function(a){return Ia(this,a,!0)},remove:function(a){return Ia(this,a)},text:function(a){return Y(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||d).createTextNode(a))},null,a,arguments.length)},append:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.appendChild(a)}})},prepend:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(ea(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return Y(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(ta,""):void 0;if("string"==typeof a&&!wa.test(a)&&(l.htmlSerialize||!ua.test(a))&&(l.leadingWhitespace||!aa.test(a))&&!da[($.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ea(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ha(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(ea(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],f=n(a),h=f.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(f[d])[b](c),g.apply(e,c.get());return this.pushStack(e)}});var Ja,Ka={HTML:"block",BODY:"block"};function La(a,b){var c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],"display");return c.detach(),d}function Ma(a){var b=d,c=Ka[a];return c||(c=La(a,b),"none"!==c&&c||(Ja=(Ja||n("